Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@users.sourceforge.net>2010-04-09 18:12:59 +0400
committerXhmikosR <xhmikosr@users.sourceforge.net>2010-04-09 18:12:59 +0400
commitefbc9d9043ff8ff92716ddd00a5f61412d535593 (patch)
tree8f3e621f756cf1f5b4d64d97964c7e7abd8aaf08 /include/qt
parentdf6b139a6d9027156f614b68687e039e3a5854db (diff)
revert r1783
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@1785 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'include/qt')
-rw-r--r--include/qt/AE.h12
-rw-r--r--include/qt/AEDataModel.h2425
-rw-r--r--include/qt/AEHelpers.h1034
-rw-r--r--include/qt/AEInteraction.h675
-rw-r--r--include/qt/AEMach.h253
-rw-r--r--include/qt/AEObjects.h1521
-rw-r--r--include/qt/AEPackObject.h174
-rw-r--r--include/qt/AERegistry.h1798
-rw-r--r--include/qt/AEUserTermTypes.h124
-rw-r--r--include/qt/AIFF.h282
-rw-r--r--include/qt/ASDebugging.h557
-rw-r--r--include/qt/ASRegistry.h625
-rw-r--r--include/qt/ATS.h12
-rw-r--r--include/qt/ATSFont.h1983
-rw-r--r--include/qt/ATSLayoutTypes.h1290
-rw-r--r--include/qt/ATSTypes.h610
-rw-r--r--include/qt/ATSUnicode.h5849
-rw-r--r--include/qt/ATSUnicodeDirectAccess.h749
-rw-r--r--include/qt/ATSUnicodeFlattening.h1011
-rw-r--r--include/qt/AVLTree.h1087
-rw-r--r--include/qt/Aliases.h1210
-rw-r--r--include/qt/Appearance.h7474
-rw-r--r--include/qt/AppleDiskPartitions.h172
-rw-r--r--include/qt/AppleEvents.h380
-rw-r--r--include/qt/AppleHelp.h369
-rw-r--r--include/qt/AppleScript.h356
-rw-r--r--include/qt/AppleTalk.h4797
-rw-r--r--include/qt/ApplicationServices.h12
-rw-r--r--include/qt/AssertMacros.h190
-rw-r--r--include/qt/AvailabilityMacros.h336
-rw-r--r--include/qt/Balloons.h1006
-rw-r--r--include/qt/CFArray.h24
-rw-r--r--include/qt/CFBag.h12
-rw-r--r--include/qt/CFBase.h24
-rw-r--r--include/qt/CFBinaryHeap.h12
-rw-r--r--include/qt/CFBitVector.h12
-rw-r--r--include/qt/CFBundle.h12
-rw-r--r--include/qt/CFCharacterSet.h12
-rw-r--r--include/qt/CFData.h12
-rw-r--r--include/qt/CFDate.h12
-rw-r--r--include/qt/CFDictionary.h12
-rw-r--r--include/qt/CFMachPort.h12
-rw-r--r--include/qt/CFMessagePort.h12
-rw-r--r--include/qt/CFNetwork.h12
-rw-r--r--include/qt/CFNotificationCenter.h12
-rw-r--r--include/qt/CFNumber.h12
-rw-r--r--include/qt/CFPlugIn.h12
-rw-r--r--include/qt/CFPlugInCOM.h12
-rw-r--r--include/qt/CFPreferences.h12
-rw-r--r--include/qt/CFPropertyList.h12
-rw-r--r--include/qt/CFRunLoop.h12
-rw-r--r--include/qt/CFSet.h12
-rw-r--r--include/qt/CFSocket.h12
-rw-r--r--include/qt/CFStream.h12
-rw-r--r--include/qt/CFString.h12
-rw-r--r--include/qt/CFStringEncodingExt.h12
-rw-r--r--include/qt/CFTimeZone.h12
-rw-r--r--include/qt/CFTree.h12
-rw-r--r--include/qt/CFURL.h12
-rw-r--r--include/qt/CFURLAccess.h12
-rw-r--r--include/qt/CFUUID.h59
-rw-r--r--include/qt/CFXMLNode.h12
-rw-r--r--include/qt/CFXMLParser.h12
-rw-r--r--include/qt/CGAffineTransform.h417
-rw-r--r--include/qt/CGBase.h16
-rw-r--r--include/qt/CGBitmapContext.h46
-rw-r--r--include/qt/CGColorSpace.h535
-rw-r--r--include/qt/CGContext.h2774
-rw-r--r--include/qt/CGDataConsumer.h161
-rw-r--r--include/qt/CGDataProvider.h288
-rw-r--r--include/qt/CGDirectDisplay.h1691
-rw-r--r--include/qt/CGDirectPalette.h504
-rw-r--r--include/qt/CGError.h77
-rw-r--r--include/qt/CGFont.h134
-rw-r--r--include/qt/CGGeometry.h966
-rw-r--r--include/qt/CGImage.h561
-rw-r--r--include/qt/CGPDFContext.h96
-rw-r--r--include/qt/CGPDFDocument.h328
-rw-r--r--include/qt/CGPattern.h205
-rw-r--r--include/qt/CGRemoteOperation.h887
-rw-r--r--include/qt/CGWindowLevel.h156
-rw-r--r--include/qt/CMApplication.h5005
-rw-r--r--include/qt/CMCalibrator.h681
-rw-r--r--include/qt/CMDeviceIntegration.h959
-rw-r--r--include/qt/CMICCProfile.h1474
-rw-r--r--include/qt/CMMComponent.h921
-rw-r--r--include/qt/CMScriptingPlugin.h395
-rw-r--r--include/qt/CMTypes.h635
-rw-r--r--include/qt/CVBase.h335
-rw-r--r--include/qt/CVBuffer.h223
-rw-r--r--include/qt/CVDirect3DBuffer.h78
-rw-r--r--include/qt/CVDirect3DBufferPool.h138
-rw-r--r--include/qt/CVDirect3DTexture.h114
-rw-r--r--include/qt/CVDirect3DTextureCache.h126
-rw-r--r--include/qt/CVHostTime.h58
-rw-r--r--include/qt/CVImageBuffer.h166
-rw-r--r--include/qt/CVPixelBuffer.h574
-rw-r--r--include/qt/CVPixelBufferPool.h140
-rw-r--r--include/qt/CVPixelFormatDescription.h161
-rw-r--r--include/qt/CVReturn.h120
-rw-r--r--include/qt/Carbon.h12
-rw-r--r--include/qt/CarbonCore.h12
-rw-r--r--include/qt/CarbonEvents.h11062
-rw-r--r--include/qt/CarbonEventsCore.h4117
-rw-r--r--include/qt/CarbonSound.h12
-rw-r--r--include/qt/CodeFragments.h1059
-rw-r--r--include/qt/Collections.h1941
-rw-r--r--include/qt/ColorPicker.h981
-rw-r--r--include/qt/ColorSync.h12
-rw-r--r--include/qt/CommonPanels.h12
-rw-r--r--include/qt/Components.h2573
-rw-r--r--include/qt/ConditionalMacros.h2818
-rw-r--r--include/qt/ControlDefinitions.h12062
-rw-r--r--include/qt/ControlManagerComponent.h943
-rw-r--r--include/qt/Controls.h6639
-rw-r--r--include/qt/CoreAudioTypes.h2153
-rw-r--r--include/qt/CoreFoundation.h12
-rw-r--r--include/qt/CoreFoundation/CFArray.h1247
-rw-r--r--include/qt/CoreFoundation/CFBase.h493
-rw-r--r--include/qt/CoreFoundation/CFCharacterSet.h625
-rw-r--r--include/qt/CoreFoundation/CFData.h66
-rw-r--r--include/qt/CoreFoundation/CFDictionary.h1198
-rw-r--r--include/qt/CoreFoundation/CFLocale.h2
-rw-r--r--include/qt/CoreFoundation/CFNumber.h201
-rw-r--r--include/qt/CoreFoundation/CFString.h1214
-rw-r--r--include/qt/CoreFoundation/CFStringEncodingExt.h301
-rw-r--r--include/qt/CoreFoundation/CFURL.h716
-rw-r--r--include/qt/CoreGraphics.h12
-rw-r--r--include/qt/CoreServices.h12
-rw-r--r--include/qt/CursorDevices.h743
-rw-r--r--include/qt/DateTimeUtils.h1708
-rw-r--r--include/qt/Debugging.h1588
-rw-r--r--include/qt/DeviceControl.h84
-rw-r--r--include/qt/Devices.h2578
-rw-r--r--include/qt/Dialogs.h3864
-rw-r--r--include/qt/Dictionary.h2406
-rw-r--r--include/qt/DigitalHubRegistry.h36
-rw-r--r--include/qt/Displays.h3554
-rw-r--r--include/qt/Drag.h3279
-rw-r--r--include/qt/DrawSprocket.h2037
-rw-r--r--include/qt/DriverServices.h2546
-rw-r--r--include/qt/DriverSynchronization.h594
-rw-r--r--include/qt/Editions.h1648
-rw-r--r--include/qt/Endian.h1265
-rw-r--r--include/qt/Events.h1595
-rw-r--r--include/qt/Files.h13003
-rw-r--r--include/qt/FindByContent.h1944
-rw-r--r--include/qt/Finder.h387
-rw-r--r--include/qt/FinderRegistry.h901
-rw-r--r--include/qt/FixMath.h952
-rw-r--r--include/qt/Folders.h1499
-rw-r--r--include/qt/FontPanel.h413
-rw-r--r--include/qt/FontSync.h1076
-rw-r--r--include/qt/Fonts.h2137
-rw-r--r--include/qt/GNUCompatibility/stdbool.h4
-rw-r--r--include/qt/GNUCompatibility/stdint.h10
-rw-r--r--include/qt/GXFonts.h1438
-rw-r--r--include/qt/GXMath.h1207
-rw-r--r--include/qt/GXTypes.h3767
-rw-r--r--include/qt/Gestalt.h4095
-rw-r--r--include/qt/HFSVolumes.h657
-rw-r--r--include/qt/HIMovieView.h628
-rw-r--r--include/qt/HIObject.h1317
-rw-r--r--include/qt/HIServices.h12
-rw-r--r--include/qt/HIShape.h1202
-rw-r--r--include/qt/HITextUtils.h150
-rw-r--r--include/qt/HIToolbar.h2515
-rw-r--r--include/qt/HIToolbox.h12
-rw-r--r--include/qt/HIView.h4635
-rw-r--r--include/qt/HTMLRendering.h1636
-rw-r--r--include/qt/Help.h12
-rw-r--r--include/qt/IBCarbonRuntime.h236
-rw-r--r--include/qt/ICAApplication.h1892
-rw-r--r--include/qt/ICACamera.h159
-rw-r--r--include/qt/ICADevice.h265
-rw-r--r--include/qt/IconStorage.h132
-rw-r--r--include/qt/Icons.h4657
-rw-r--r--include/qt/ImageCapture.h12
-rw-r--r--include/qt/ImageCodec.h7155
-rw-r--r--include/qt/ImageCompression.h25604
-rw-r--r--include/qt/InternetConfig.h5768
-rw-r--r--include/qt/IntlResources.h523
-rw-r--r--include/qt/IsochronousDataHandler.h1214
-rw-r--r--include/qt/JavaApplet.h686
-rw-r--r--include/qt/JavaControl.h816
-rw-r--r--include/qt/JavaEmbedding.h12
-rw-r--r--include/qt/Keyboards.h1022
-rw-r--r--include/qt/Keychain.h12
-rw-r--r--include/qt/KeychainCore.h1794
-rw-r--r--include/qt/KeychainHI.h562
-rw-r--r--include/qt/LangAnalysis.h12
-rw-r--r--include/qt/LanguageAnalysis.h1095
-rw-r--r--include/qt/LaunchServices.h2045
-rw-r--r--include/qt/ListManagerComponent.h501
-rw-r--r--include/qt/Lists.h2736
-rw-r--r--include/qt/LowMem.h8040
-rw-r--r--include/qt/MacApplication.h949
-rw-r--r--include/qt/MacErrors.h5720
-rw-r--r--include/qt/MacHelp.h1640
-rw-r--r--include/qt/MacLocales.h535
-rw-r--r--include/qt/MacMemory.h3259
-rw-r--r--include/qt/MacTextEditor.h6647
-rw-r--r--include/qt/MacTypes.h1324
-rw-r--r--include/qt/MacWindows.h14779
-rw-r--r--include/qt/MachineExceptions.h491
-rw-r--r--include/qt/Math64.h2309
-rw-r--r--include/qt/MediaHandlers.h4118
-rw-r--r--include/qt/Menus.h11452
-rw-r--r--include/qt/MixedMode.h1231
-rw-r--r--include/qt/Movies.h38572
-rw-r--r--include/qt/MoviesFormat.h1693
-rw-r--r--include/qt/Multiprocessing.h2935
-rw-r--r--include/qt/MultiprocessingInfo.h949
-rw-r--r--include/qt/NSL.h574
-rw-r--r--include/qt/NSLCore.h1849
-rw-r--r--include/qt/NameRegistry.h1557
-rw-r--r--include/qt/Navigation.h2321
-rw-r--r--include/qt/NavigationServices.h12
-rw-r--r--include/qt/Notification.h216
-rw-r--r--include/qt/NumberFormatting.h379
-rw-r--r--include/qt/OSA.h3747
-rw-r--r--include/qt/OSAComp.h100
-rw-r--r--include/qt/OSAGeneric.h247
-rw-r--r--include/qt/OSServices.h12
-rw-r--r--include/qt/OSUtils.h1132
-rw-r--r--include/qt/OT.h12
-rw-r--r--include/qt/OpenScripting.h12
-rw-r--r--include/qt/OpenTransport.h8718
-rw-r--r--include/qt/OpenTransportProtocol.h9125
-rw-r--r--include/qt/OpenTransportProviders.h4210
-rw-r--r--include/qt/PEFBinaryFormat.h432
-rw-r--r--include/qt/PLStringFuncs.h374
-rw-r--r--include/qt/PMApplication.h1000
-rw-r--r--include/qt/PMCore.h3344
-rw-r--r--include/qt/PMDefinitions.h377
-rw-r--r--include/qt/PMErrors.h218
-rw-r--r--include/qt/PMIOModule.h209
-rw-r--r--include/qt/PMPluginHeader.h83
-rw-r--r--include/qt/PMPrinterBrowsers.h473
-rw-r--r--include/qt/PMPrinterModule.h645
-rw-r--r--include/qt/PMPrintingDialogExtensions.h272
-rw-r--r--include/qt/PMRaster.h80
-rw-r--r--include/qt/PMTemplate.h1756
-rw-r--r--include/qt/PMTicket.h3561
-rw-r--r--include/qt/Packages.h88
-rw-r--r--include/qt/Palettes.h984
-rw-r--r--include/qt/Patches.h317
-rw-r--r--include/qt/PictUtils.h857
-rw-r--r--include/qt/Power.h3207
-rw-r--r--include/qt/Print.h12
-rw-r--r--include/qt/PrintCore.h12
-rw-r--r--include/qt/Printing.h1540
-rw-r--r--include/qt/Processes.h1420
-rw-r--r--include/qt/QD.h12
-rw-r--r--include/qt/QD3D.h2777
-rw-r--r--include/qt/QD3DCamera.h1489
-rw-r--r--include/qt/QD3DCustomElements.h380
-rw-r--r--include/qt/QD3DDrawContext.h1821
-rw-r--r--include/qt/QD3DErrors.h672
-rw-r--r--include/qt/QD3DGeometry.h10072
-rw-r--r--include/qt/QD3DGroup.h1651
-rw-r--r--include/qt/QD3DIO.h3471
-rw-r--r--include/qt/QD3DLight.h1479
-rw-r--r--include/qt/QD3DMath.h4298
-rw-r--r--include/qt/QD3DOld.h509
-rw-r--r--include/qt/QD3DPick.h1190
-rw-r--r--include/qt/QD3DRenderer.h3284
-rw-r--r--include/qt/QD3DSet.h897
-rw-r--r--include/qt/QD3DShader.h1219
-rw-r--r--include/qt/QD3DStorage.h904
-rw-r--r--include/qt/QD3DString.h226
-rw-r--r--include/qt/QD3DStyle.h1595
-rw-r--r--include/qt/QD3DTransform.h1567
-rw-r--r--include/qt/QD3DView.h1710
-rw-r--r--include/qt/QD3DViewer.h1989
-rw-r--r--include/qt/QDOffscreen.h898
-rw-r--r--include/qt/QDPictToCGContext.h268
-rw-r--r--include/qt/QTLoadLibraryUtils.h10
-rw-r--r--include/qt/QTML.h1096
-rw-r--r--include/qt/QTSMovie.h378
-rw-r--r--include/qt/QTStreamingComponents.h5127
-rw-r--r--include/qt/QuickTime.h12
-rw-r--r--include/qt/QuickTimeComponents.h28084
-rw-r--r--include/qt/QuickTimeErrors.h79
-rw-r--r--include/qt/QuickTimeMusic.h6314
-rw-r--r--include/qt/QuickTimeStreaming.h5340
-rw-r--r--include/qt/QuickTimeVR.h4707
-rw-r--r--include/qt/QuickTimeVRFormat.h950
-rw-r--r--include/qt/Quickdraw.h15024
-rw-r--r--include/qt/QuickdrawText.h1385
-rw-r--r--include/qt/RAVE.h2959
-rw-r--r--include/qt/ROMDefs.h473
-rw-r--r--include/qt/ResourceForkComponent.h279
-rw-r--r--include/qt/Resources.h2402
-rw-r--r--include/qt/Retrace.h328
-rw-r--r--include/qt/SCSI.h3072
-rw-r--r--include/qt/SFNTLayoutTypes.h1653
-rw-r--r--include/qt/SFNTTypes.h758
-rw-r--r--include/qt/ScalerStreamTypes.h157
-rw-r--r--include/qt/Scrap.h1220
-rw-r--r--include/qt/Script.h2724
-rw-r--r--include/qt/SecurityCore.h12
-rw-r--r--include/qt/SecurityHI.h12
-rw-r--r--include/qt/SegLoad.h231
-rw-r--r--include/qt/Slots.h1601
-rw-r--r--include/qt/Sound.h6149
-rw-r--r--include/qt/SpeechRecognition.h1734
-rw-r--r--include/qt/SpeechSynthesis.h1764
-rw-r--r--include/qt/StandardFile.h1306
-rw-r--r--include/qt/Streaming.h461
-rw-r--r--include/qt/StringCompare.h1069
-rw-r--r--include/qt/Strings.h12
-rw-r--r--include/qt/SystemSound.h238
-rw-r--r--include/qt/TSMTE.h486
-rw-r--r--include/qt/TextCommon.h1808
-rw-r--r--include/qt/TextEdit.h3933
-rw-r--r--include/qt/TextEncodingConverter.h1016
-rw-r--r--include/qt/TextEncodingPlugin.h226
-rw-r--r--include/qt/TextServices.h1808
-rw-r--r--include/qt/TextUtils.h1109
-rw-r--r--include/qt/Threads.h1593
-rw-r--r--include/qt/Timer.h404
-rw-r--r--include/qt/ToolUtils.h347
-rw-r--r--include/qt/Translation.h802
-rw-r--r--include/qt/TranslationExtensions.h346
-rw-r--r--include/qt/Traps.h1996
-rw-r--r--include/qt/TypeSelect.h301
-rw-r--r--include/qt/URLAccess.h1008
-rw-r--r--include/qt/UTCUtils.h296
-rw-r--r--include/qt/UnicodeConverter.h1370
-rw-r--r--include/qt/UnicodeUtilities.h1052
-rw-r--r--include/qt/Video.h1644
-rw-r--r--include/qt/WSMethodInvocation.h1854
-rw-r--r--include/qt/fenv.h693
-rw-r--r--include/qt/fp.h4240
-rw-r--r--include/qt/qt.h12
-rw-r--r--include/qt/vBLAS.h1166
-rw-r--r--include/qt/vBasicOps.h1858
-rw-r--r--include/qt/vBigNum.h2712
-rw-r--r--include/qt/vDSP.h6212
-rw-r--r--include/qt/vecLib.h12
-rw-r--r--include/qt/vectorOps.h1930
-rw-r--r--include/qt/vfp.h1000
343 files changed, 293629 insertions, 302754 deletions
diff --git a/include/qt/AE.h b/include/qt/AE.h
index 64e2697db..45dc01839 100644
--- a/include/qt/AE.h
+++ b/include/qt/AE.h
@@ -1,17 +1,17 @@
/*
File: AE.h
-
+
Contains: Master include for AE private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2000 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 __AE__
#define __AE__
diff --git a/include/qt/AEDataModel.h b/include/qt/AEDataModel.h
index b880e33c1..1ed43b55b 100644
--- a/include/qt/AEDataModel.h
+++ b/include/qt/AEDataModel.h
@@ -1,17 +1,17 @@
/*
File: AEDataModel.h
-
+
Contains: AppleEvent Data Model Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AEDATAMODEL__
#define __AEDATAMODEL__
@@ -39,785 +39,748 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Apple event descriptor types */
- enum {
- typeBoolean = FOUR_CHAR_CODE('bool'),
- typeChar = FOUR_CHAR_CODE('TEXT')
- };
-
- /* Preferred numeric Apple event descriptor types */
- enum
- {
- typeSInt16 = FOUR_CHAR_CODE('shor'),
- typeSInt32 = FOUR_CHAR_CODE('long'),
- typeUInt32 = FOUR_CHAR_CODE('magn'),
- typeSInt64 = FOUR_CHAR_CODE('comp'),
- typeIEEE32BitFloatingPoint = FOUR_CHAR_CODE('sing'),
- typeIEEE64BitFloatingPoint = FOUR_CHAR_CODE('doub'),
- type128BitFloatingPoint = FOUR_CHAR_CODE('ldbl'),
- typeDecimalStruct = FOUR_CHAR_CODE('decm')
- };
-
- /* Non-preferred Apple event descriptor types */
- enum
- {
- typeSMInt = typeSInt16,
- typeShortInteger = typeSInt16,
- typeInteger = typeSInt32,
- typeLongInteger = typeSInt32,
- typeMagnitude = typeUInt32,
- typeComp = typeSInt64,
- typeSMFloat = typeIEEE32BitFloatingPoint,
- typeShortFloat = typeIEEE32BitFloatingPoint,
- typeFloat = typeIEEE64BitFloatingPoint,
- typeLongFloat = typeIEEE64BitFloatingPoint,
- typeExtended = FOUR_CHAR_CODE('exte')
- };
-
- /* More Apple event descriptor types */
- enum
- {
- typeAEList = FOUR_CHAR_CODE('list'),
- typeAERecord = FOUR_CHAR_CODE('reco'),
- typeAppleEvent = FOUR_CHAR_CODE('aevt'),
- typeEventRecord = FOUR_CHAR_CODE('evrc'),
- typeTrue = FOUR_CHAR_CODE('true'),
- typeFalse = FOUR_CHAR_CODE('fals'),
- typeAlias = FOUR_CHAR_CODE('alis'),
- typeEnumerated = FOUR_CHAR_CODE('enum'),
- typeType = FOUR_CHAR_CODE('type'),
- typeAppParameters = FOUR_CHAR_CODE('appa'),
- typeProperty = FOUR_CHAR_CODE('prop'),
- typeFSS = FOUR_CHAR_CODE('fss '),
- typeFSRef = FOUR_CHAR_CODE('fsrf'),
- typeFileURL = FOUR_CHAR_CODE('furl'),
- typeKeyword = FOUR_CHAR_CODE('keyw'),
- typeSectionH = FOUR_CHAR_CODE('sect'),
- typeWildCard = FOUR_CHAR_CODE('****'),
- typeApplSignature = FOUR_CHAR_CODE('sign'),
- typeQDRectangle = FOUR_CHAR_CODE('qdrt'),
- typeFixed = FOUR_CHAR_CODE('fixd'),
- typeProcessSerialNumber = FOUR_CHAR_CODE('psn '),
- typeApplicationURL = FOUR_CHAR_CODE('aprl'),
- typeNull = FOUR_CHAR_CODE('null') /* null or nonexistent data */
- };
+/* Apple event descriptor types */
+enum {
+ typeBoolean = FOUR_CHAR_CODE('bool'),
+ typeChar = FOUR_CHAR_CODE('TEXT')
+};
+
+/* Preferred numeric Apple event descriptor types */
+enum {
+ typeSInt16 = FOUR_CHAR_CODE('shor'),
+ typeSInt32 = FOUR_CHAR_CODE('long'),
+ typeUInt32 = FOUR_CHAR_CODE('magn'),
+ typeSInt64 = FOUR_CHAR_CODE('comp'),
+ typeIEEE32BitFloatingPoint = FOUR_CHAR_CODE('sing'),
+ typeIEEE64BitFloatingPoint = FOUR_CHAR_CODE('doub'),
+ type128BitFloatingPoint = FOUR_CHAR_CODE('ldbl'),
+ typeDecimalStruct = FOUR_CHAR_CODE('decm')
+};
+
+/* Non-preferred Apple event descriptor types */
+enum {
+ typeSMInt = typeSInt16,
+ typeShortInteger = typeSInt16,
+ typeInteger = typeSInt32,
+ typeLongInteger = typeSInt32,
+ typeMagnitude = typeUInt32,
+ typeComp = typeSInt64,
+ typeSMFloat = typeIEEE32BitFloatingPoint,
+ typeShortFloat = typeIEEE32BitFloatingPoint,
+ typeFloat = typeIEEE64BitFloatingPoint,
+ typeLongFloat = typeIEEE64BitFloatingPoint,
+ typeExtended = FOUR_CHAR_CODE('exte')
+};
+
+/* More Apple event descriptor types */
+enum {
+ typeAEList = FOUR_CHAR_CODE('list'),
+ typeAERecord = FOUR_CHAR_CODE('reco'),
+ typeAppleEvent = FOUR_CHAR_CODE('aevt'),
+ typeEventRecord = FOUR_CHAR_CODE('evrc'),
+ typeTrue = FOUR_CHAR_CODE('true'),
+ typeFalse = FOUR_CHAR_CODE('fals'),
+ typeAlias = FOUR_CHAR_CODE('alis'),
+ typeEnumerated = FOUR_CHAR_CODE('enum'),
+ typeType = FOUR_CHAR_CODE('type'),
+ typeAppParameters = FOUR_CHAR_CODE('appa'),
+ typeProperty = FOUR_CHAR_CODE('prop'),
+ typeFSS = FOUR_CHAR_CODE('fss '),
+ typeFSRef = FOUR_CHAR_CODE('fsrf'),
+ typeFileURL = FOUR_CHAR_CODE('furl'),
+ typeKeyword = FOUR_CHAR_CODE('keyw'),
+ typeSectionH = FOUR_CHAR_CODE('sect'),
+ typeWildCard = FOUR_CHAR_CODE('****'),
+ typeApplSignature = FOUR_CHAR_CODE('sign'),
+ typeQDRectangle = FOUR_CHAR_CODE('qdrt'),
+ typeFixed = FOUR_CHAR_CODE('fixd'),
+ typeProcessSerialNumber = FOUR_CHAR_CODE('psn '),
+ typeApplicationURL = FOUR_CHAR_CODE('aprl'),
+ typeNull = FOUR_CHAR_CODE('null') /* null or nonexistent data */
+};
#if CALL_NOT_IN_CARBON
- /* Deprecated addressing modes under Carbon */
- enum
- {
- typeSessionID = FOUR_CHAR_CODE('ssid'),
- typeTargetID = FOUR_CHAR_CODE('targ'),
- typeDispatcherID = FOUR_CHAR_CODE('dspt')
- };
+/* Deprecated addressing modes under Carbon */
+enum {
+ typeSessionID = FOUR_CHAR_CODE('ssid'),
+ typeTargetID = FOUR_CHAR_CODE('targ'),
+ typeDispatcherID = FOUR_CHAR_CODE('dspt')
+};
#endif /* CALL_NOT_IN_CARBON */
- /* Keywords for Apple event attributes */
- enum
- {
- keyTransactionIDAttr = FOUR_CHAR_CODE('tran'),
- keyReturnIDAttr = FOUR_CHAR_CODE('rtid'),
- keyEventClassAttr = FOUR_CHAR_CODE('evcl'),
- keyEventIDAttr = FOUR_CHAR_CODE('evid'),
- keyAddressAttr = FOUR_CHAR_CODE('addr'),
- keyOptionalKeywordAttr = FOUR_CHAR_CODE('optk'),
- keyTimeoutAttr = FOUR_CHAR_CODE('timo'),
- keyInteractLevelAttr = FOUR_CHAR_CODE('inte'), /* this attribute is read only - will be set in AESend */
- keyEventSourceAttr = FOUR_CHAR_CODE('esrc'), /* this attribute is read only - returned as typeShortInteger */
- keyMissedKeywordAttr = FOUR_CHAR_CODE('miss'), /* this attribute is read only */
- keyOriginalAddressAttr = FOUR_CHAR_CODE('from'), /* new in 1.0.1 */
- keyAcceptTimeoutAttr = FOUR_CHAR_CODE('actm') /* new for Mac OS X */
- };
-
-
- /* Constants used for specifying the factoring of AEDescLists. */
- enum
- {
- kAEDescListFactorNone = 0,
- kAEDescListFactorType = 4,
- kAEDescListFactorTypeAndSize = 8
- };
-
- /* Constants used creating an AppleEvent */
- enum
- {
- /* Constant for the returnID param of AECreateAppleEvent */
- kAutoGenerateReturnID = -1, /* AECreateAppleEvent will generate a session-unique ID */
- /* Constant for transaction ID's */
- kAnyTransactionID = 0 /* no transaction is in use */
- };
-
- /* Apple event manager data types */
- typedef ResType DescType;
- typedef FourCharCode AEKeyword;
+/* Keywords for Apple event attributes */
+enum {
+ keyTransactionIDAttr = FOUR_CHAR_CODE('tran'),
+ keyReturnIDAttr = FOUR_CHAR_CODE('rtid'),
+ keyEventClassAttr = FOUR_CHAR_CODE('evcl'),
+ keyEventIDAttr = FOUR_CHAR_CODE('evid'),
+ keyAddressAttr = FOUR_CHAR_CODE('addr'),
+ keyOptionalKeywordAttr = FOUR_CHAR_CODE('optk'),
+ keyTimeoutAttr = FOUR_CHAR_CODE('timo'),
+ keyInteractLevelAttr = FOUR_CHAR_CODE('inte'), /* this attribute is read only - will be set in AESend */
+ keyEventSourceAttr = FOUR_CHAR_CODE('esrc'), /* this attribute is read only - returned as typeShortInteger */
+ keyMissedKeywordAttr = FOUR_CHAR_CODE('miss'), /* this attribute is read only */
+ keyOriginalAddressAttr = FOUR_CHAR_CODE('from'), /* new in 1.0.1 */
+ keyAcceptTimeoutAttr = FOUR_CHAR_CODE('actm') /* new for Mac OS X */
+};
+
+
+/* Constants used for specifying the factoring of AEDescLists. */
+enum {
+ kAEDescListFactorNone = 0,
+ kAEDescListFactorType = 4,
+ kAEDescListFactorTypeAndSize = 8
+};
+
+/* Constants used creating an AppleEvent */
+enum {
+ /* Constant for the returnID param of AECreateAppleEvent */
+ kAutoGenerateReturnID = -1, /* AECreateAppleEvent will generate a session-unique ID */
+ /* Constant for transaction ID's */
+ kAnyTransactionID = 0 /* no transaction is in use */
+};
+
+/* Apple event manager data types */
+typedef ResType DescType;
+typedef FourCharCode AEKeyword;
#if OPAQUE_TOOLBOX_STRUCTS
- typedef struct OpaqueAEDataStorageType* AEDataStorageType;
+typedef struct OpaqueAEDataStorageType* AEDataStorageType;
#else
- typedef Ptr AEDataStorageType;
+typedef Ptr AEDataStorageType;
#endif /* OPAQUE_TOOLBOX_STRUCTS */
- typedef AEDataStorageType * AEDataStorage;
- struct AEDesc
- {
- DescType descriptorType;
- AEDataStorage dataHandle;
- };
- typedef struct AEDesc AEDesc;
- typedef AEDesc * AEDescPtr;
- struct AEKeyDesc
- {
- AEKeyword descKey;
- AEDesc descContent;
- };
- typedef struct AEKeyDesc AEKeyDesc;
- /* a list of AEDesc's is a special kind of AEDesc */
-
- typedef AEDesc AEDescList;
- /* AERecord is a list of keyworded AEDesc's */
- typedef AEDescList AERecord;
- /* an AEDesc which contains address data */
- typedef AEDesc AEAddressDesc;
- /* an AERecord that contains an AppleEvent, and related data types */
- typedef AERecord AppleEvent;
- typedef AppleEvent * AppleEventPtr;
- typedef SInt16 AEReturnID;
- typedef SInt32 AETransactionID;
- typedef FourCharCode AEEventClass;
- typedef FourCharCode AEEventID;
- typedef SInt8 AEArrayType;
- enum
- {
- kAEDataArray = 0,
- kAEPackedArray = 1,
- kAEDescArray = 3,
- kAEKeyDescArray = 4
- };
-
-
- enum
- {
- kAEHandleArray = 2
- };
-
- union AEArrayData
- {
- short kAEDataArray[1];
- char kAEPackedArray[1];
- Handle kAEHandleArray[1];
- AEDesc kAEDescArray[1];
- AEKeyDesc kAEKeyDescArray[1];
- };
- typedef union AEArrayData AEArrayData;
- typedef AEArrayData * AEArrayDataPointer;
- /**************************************************************************
- These constants are used by AEMach and AEInteraction APIs. They are not
- strictly part of the data format, but are declared here due to layering.
- **************************************************************************/
- typedef SInt16 AESendPriority;
- enum
- {
- kAENormalPriority = 0x00000000, /* post message at the end of the event queue */
- kAEHighPriority = 0x00000001 /* post message at the front of the event queue (same as nAttnMsg) */
- };
-
-
- typedef SInt32 AESendMode;
- enum
- {
- kAENoReply = 0x00000001, /* sender doesn't want a reply to event */
- kAEQueueReply = 0x00000002, /* sender wants a reply but won't wait */
- kAEWaitReply = 0x00000003, /* sender wants a reply and will wait */
- kAEDontReconnect = 0x00000080, /* don't reconnect if there is a sessClosedErr from PPCToolbox */
- kAEWantReceipt = 0x00000200, /* (nReturnReceipt) sender wants a receipt of message */
- kAENeverInteract = 0x00000010, /* server should not interact with user */
- kAECanInteract = 0x00000020, /* server may try to interact with user */
- kAEAlwaysInteract = 0x00000030, /* server should always interact with user where appropriate */
- kAECanSwitchLayer = 0x00000040, /* interaction may switch layer */
- kAEDontRecord = 0x00001000, /* don't record this event - available only in vers 1.0.1 and greater */
- kAEDontExecute = 0x00002000, /* don't send the event for recording - available only in vers 1.0.1 and greater */
- kAEProcessNonReplyEvents = 0x00008000 /* allow processing of non-reply events while awaiting synchronous AppleEvent reply */
- };
-
-
- /* Constants for timeout durations */
- enum
- {
- kAEDefaultTimeout = -1, /* timeout value determined by AEM */
- kNoTimeOut = -2 /* wait until reply comes back, however long it takes */
- };
-
-
- /**************************************************************************
- These calls are used to set up and modify the coercion dispatch table.
- **************************************************************************/
- typedef CALLBACK_API(OSErr , AECoerceDescProcPtr)(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc);
- typedef CALLBACK_API(OSErr , AECoercePtrProcPtr)(DescType typeCode, const void *dataPtr, Size dataSize, DescType toType, long handlerRefcon, AEDesc *result);
- typedef STACK_UPP_TYPE(AECoerceDescProcPtr) AECoerceDescUPP;
- typedef STACK_UPP_TYPE(AECoercePtrProcPtr) AECoercePtrUPP;
- /*
- * NewAECoerceDescUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AECoerceDescUPP)
- NewAECoerceDescUPP(AECoerceDescProcPtr userRoutine);
+typedef AEDataStorageType * AEDataStorage;
+struct AEDesc {
+ DescType descriptorType;
+ AEDataStorage dataHandle;
+};
+typedef struct AEDesc AEDesc;
+typedef AEDesc * AEDescPtr;
+struct AEKeyDesc {
+ AEKeyword descKey;
+ AEDesc descContent;
+};
+typedef struct AEKeyDesc AEKeyDesc;
+/* a list of AEDesc's is a special kind of AEDesc */
+
+typedef AEDesc AEDescList;
+/* AERecord is a list of keyworded AEDesc's */
+typedef AEDescList AERecord;
+/* an AEDesc which contains address data */
+typedef AEDesc AEAddressDesc;
+/* an AERecord that contains an AppleEvent, and related data types */
+typedef AERecord AppleEvent;
+typedef AppleEvent * AppleEventPtr;
+typedef SInt16 AEReturnID;
+typedef SInt32 AETransactionID;
+typedef FourCharCode AEEventClass;
+typedef FourCharCode AEEventID;
+typedef SInt8 AEArrayType;
+enum {
+ kAEDataArray = 0,
+ kAEPackedArray = 1,
+ kAEDescArray = 3,
+ kAEKeyDescArray = 4
+};
+
+
+enum {
+ kAEHandleArray = 2
+};
+
+union AEArrayData {
+ short kAEDataArray[1];
+ char kAEPackedArray[1];
+ Handle kAEHandleArray[1];
+ AEDesc kAEDescArray[1];
+ AEKeyDesc kAEKeyDescArray[1];
+};
+typedef union AEArrayData AEArrayData;
+typedef AEArrayData * AEArrayDataPointer;
+/**************************************************************************
+ These constants are used by AEMach and AEInteraction APIs. They are not
+ strictly part of the data format, but are declared here due to layering.
+**************************************************************************/
+typedef SInt16 AESendPriority;
+enum {
+ kAENormalPriority = 0x00000000, /* post message at the end of the event queue */
+ kAEHighPriority = 0x00000001 /* post message at the front of the event queue (same as nAttnMsg) */
+};
+
+
+typedef SInt32 AESendMode;
+enum {
+ kAENoReply = 0x00000001, /* sender doesn't want a reply to event */
+ kAEQueueReply = 0x00000002, /* sender wants a reply but won't wait */
+ kAEWaitReply = 0x00000003, /* sender wants a reply and will wait */
+ kAEDontReconnect = 0x00000080, /* don't reconnect if there is a sessClosedErr from PPCToolbox */
+ kAEWantReceipt = 0x00000200, /* (nReturnReceipt) sender wants a receipt of message */
+ kAENeverInteract = 0x00000010, /* server should not interact with user */
+ kAECanInteract = 0x00000020, /* server may try to interact with user */
+ kAEAlwaysInteract = 0x00000030, /* server should always interact with user where appropriate */
+ kAECanSwitchLayer = 0x00000040, /* interaction may switch layer */
+ kAEDontRecord = 0x00001000, /* don't record this event - available only in vers 1.0.1 and greater */
+ kAEDontExecute = 0x00002000, /* don't send the event for recording - available only in vers 1.0.1 and greater */
+ kAEProcessNonReplyEvents = 0x00008000 /* allow processing of non-reply events while awaiting synchronous AppleEvent reply */
+};
+
+
+/* Constants for timeout durations */
+enum {
+ kAEDefaultTimeout = -1, /* timeout value determined by AEM */
+ kNoTimeOut = -2 /* wait until reply comes back, however long it takes */
+};
+
+
+/**************************************************************************
+ These calls are used to set up and modify the coercion dispatch table.
+**************************************************************************/
+typedef CALLBACK_API( OSErr , AECoerceDescProcPtr )(const AEDesc *fromDesc, DescType toType, long handlerRefcon, AEDesc *toDesc);
+typedef CALLBACK_API( OSErr , AECoercePtrProcPtr )(DescType typeCode, const void *dataPtr, Size dataSize, DescType toType, long handlerRefcon, AEDesc *result);
+typedef STACK_UPP_TYPE(AECoerceDescProcPtr) AECoerceDescUPP;
+typedef STACK_UPP_TYPE(AECoercePtrProcPtr) AECoercePtrUPP;
+/*
+ * NewAECoerceDescUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AECoerceDescUPP )
+NewAECoerceDescUPP(AECoerceDescProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAECoerceDescProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AECoerceDescUPP) NewAECoerceDescUPP(AECoerceDescProcPtr userRoutine)
- {
- return (AECoerceDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAECoerceDescProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAECoerceDescUPP(userRoutine) (AECoerceDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAECoerceDescProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAECoerceDescProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AECoerceDescUPP) NewAECoerceDescUPP(AECoerceDescProcPtr userRoutine) { return (AECoerceDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAECoerceDescProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAECoerceDescUPP(userRoutine) (AECoerceDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAECoerceDescProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewAECoercePtrUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AECoercePtrUPP)
- NewAECoercePtrUPP(AECoercePtrProcPtr userRoutine);
+/*
+ * NewAECoercePtrUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AECoercePtrUPP )
+NewAECoercePtrUPP(AECoercePtrProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAECoercePtrProcInfo = 0x0003FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AECoercePtrUPP) NewAECoercePtrUPP(AECoercePtrProcPtr userRoutine)
- {
- return (AECoercePtrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAECoercePtrProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAECoercePtrUPP(userRoutine) (AECoercePtrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAECoercePtrProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAECoercePtrProcInfo = 0x0003FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AECoercePtrUPP) NewAECoercePtrUPP(AECoercePtrProcPtr userRoutine) { return (AECoercePtrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAECoercePtrProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAECoercePtrUPP(userRoutine) (AECoercePtrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAECoercePtrProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeAECoerceDescUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAECoerceDescUPP(AECoerceDescUPP userUPP);
+/*
+ * DisposeAECoerceDescUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAECoerceDescUPP(AECoerceDescUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAECoerceDescUPP(AECoerceDescUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAECoerceDescUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAECoerceDescUPP(AECoerceDescUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAECoerceDescUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeAECoercePtrUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAECoercePtrUPP(AECoercePtrUPP userUPP);
+/*
+ * DisposeAECoercePtrUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAECoercePtrUPP(AECoercePtrUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAECoercePtrUPP(AECoercePtrUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAECoercePtrUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAECoercePtrUPP(AECoercePtrUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAECoercePtrUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeAECoerceDescUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeAECoerceDescUPP(
- const AEDesc * fromDesc,
- DescType toType,
- long handlerRefcon,
- AEDesc * toDesc,
- AECoerceDescUPP userUPP);
+/*
+ * InvokeAECoerceDescUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeAECoerceDescUPP(
+ const AEDesc * fromDesc,
+ DescType toType,
+ long handlerRefcon,
+ AEDesc * toDesc,
+ AECoerceDescUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeAECoerceDescUPP(const AEDesc * fromDesc, DescType toType, long handlerRefcon, AEDesc * toDesc, AECoerceDescUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppAECoerceDescProcInfo, fromDesc, toType, handlerRefcon, toDesc);
- }
-#else
-#define InvokeAECoerceDescUPP(fromDesc, toType, handlerRefcon, toDesc, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppAECoerceDescProcInfo, (fromDesc), (toType), (handlerRefcon), (toDesc))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeAECoerceDescUPP(const AEDesc * fromDesc, DescType toType, long handlerRefcon, AEDesc * toDesc, AECoerceDescUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppAECoerceDescProcInfo, fromDesc, toType, handlerRefcon, toDesc); }
+ #else
+ #define InvokeAECoerceDescUPP(fromDesc, toType, handlerRefcon, toDesc, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppAECoerceDescProcInfo, (fromDesc), (toType), (handlerRefcon), (toDesc))
+ #endif
#endif
- /*
- * InvokeAECoercePtrUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeAECoercePtrUPP(
- DescType typeCode,
- const void * dataPtr,
- Size dataSize,
- DescType toType,
- long handlerRefcon,
- AEDesc * result,
- AECoercePtrUPP userUPP);
+/*
+ * InvokeAECoercePtrUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeAECoercePtrUPP(
+ DescType typeCode,
+ const void * dataPtr,
+ Size dataSize,
+ DescType toType,
+ long handlerRefcon,
+ AEDesc * result,
+ AECoercePtrUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeAECoercePtrUPP(DescType typeCode, const void * dataPtr, Size dataSize, DescType toType, long handlerRefcon, AEDesc * result, AECoercePtrUPP userUPP)
- {
- return (OSErr)CALL_SIX_PARAMETER_UPP(userUPP, uppAECoercePtrProcInfo, typeCode, dataPtr, dataSize, toType, handlerRefcon, result);
- }
-#else
-#define InvokeAECoercePtrUPP(typeCode, dataPtr, dataSize, toType, handlerRefcon, result, userUPP) (OSErr)CALL_SIX_PARAMETER_UPP((userUPP), uppAECoercePtrProcInfo, (typeCode), (dataPtr), (dataSize), (toType), (handlerRefcon), (result))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeAECoercePtrUPP(DescType typeCode, const void * dataPtr, Size dataSize, DescType toType, long handlerRefcon, AEDesc * result, AECoercePtrUPP userUPP) { return (OSErr)CALL_SIX_PARAMETER_UPP(userUPP, uppAECoercePtrProcInfo, typeCode, dataPtr, dataSize, toType, handlerRefcon, result); }
+ #else
+ #define InvokeAECoercePtrUPP(typeCode, dataPtr, dataSize, toType, handlerRefcon, result, userUPP) (OSErr)CALL_SIX_PARAMETER_UPP((userUPP), uppAECoercePtrProcInfo, (typeCode), (dataPtr), (dataSize), (toType), (handlerRefcon), (result))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewAECoerceDescProc(userRoutine) NewAECoerceDescUPP(userRoutine)
-#define NewAECoercePtrProc(userRoutine) NewAECoercePtrUPP(userRoutine)
-#define CallAECoerceDescProc(userRoutine, fromDesc, toType, handlerRefcon, toDesc) InvokeAECoerceDescUPP(fromDesc, toType, handlerRefcon, toDesc, userRoutine)
-#define CallAECoercePtrProc(userRoutine, typeCode, dataPtr, dataSize, toType, handlerRefcon, result) InvokeAECoercePtrUPP(typeCode, dataPtr, dataSize, toType, handlerRefcon, result, userRoutine)
+ #define NewAECoerceDescProc(userRoutine) NewAECoerceDescUPP(userRoutine)
+ #define NewAECoercePtrProc(userRoutine) NewAECoercePtrUPP(userRoutine)
+ #define CallAECoerceDescProc(userRoutine, fromDesc, toType, handlerRefcon, toDesc) InvokeAECoerceDescUPP(fromDesc, toType, handlerRefcon, toDesc, userRoutine)
+ #define CallAECoercePtrProc(userRoutine, typeCode, dataPtr, dataSize, toType, handlerRefcon, result) InvokeAECoercePtrUPP(typeCode, dataPtr, dataSize, toType, handlerRefcon, result, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* a AECoercionHandlerUPP is by default a AECoerceDescUPP. If you are registering a
- Ptr based coercion handler you will have to add a cast to AECoerceDescUPP from
- your AECoercePtrUPP type. A future release of the interfaces will fix this by
- introducing seperate Desc and Ptr coercion handler installation/remove/query routines. */
- typedef AECoerceDescUPP AECoercionHandlerUPP;
- /*
- * AEInstallCoercionHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEInstallCoercionHandler(
- DescType fromType,
- DescType toType,
- AECoercionHandlerUPP handler,
- long handlerRefcon,
- Boolean fromTypeIsDesc,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0A22, 0xA816);
-
-
- /*
- * AERemoveCoercionHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AERemoveCoercionHandler(
- DescType fromType,
- DescType toType,
- AECoercionHandlerUPP handler,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0723, 0xA816);
-
-
-
- /*
- * AEGetCoercionHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetCoercionHandler(
- DescType fromType,
- DescType toType,
- AECoercionHandlerUPP * handler,
- long * handlerRefcon,
- Boolean * fromTypeIsDesc,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0B24, 0xA816);
-
-
- /**************************************************************************
- The following calls provide for a coercion interface.
- **************************************************************************/
- /*
- * AECoercePtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AECoercePtr(
- DescType typeCode,
- const void * dataPtr,
- Size dataSize,
- DescType toType,
- AEDesc * result) THREEWORDINLINE(0x303C, 0x0A02, 0xA816);
-
-
- /*
- * AECoerceDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AECoerceDesc(
- const AEDesc * theAEDesc,
- DescType toType,
- AEDesc * result) THREEWORDINLINE(0x303C, 0x0603, 0xA816);
-
-
-
- /**************************************************************************
- The following calls apply to any AEDesc. Every 'result' descriptor is
- created for you, so you will be responsible for memory management
- (including disposing) of the descriptors so created.
- **************************************************************************/
- /* because AEDescs are opaque under Carbon, this AEInitializeDesc provides a
- 'clean' way of initializating them to be empty. */
- /*
- * AEInitializeDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- AEInitializeDesc(AEDesc * desc);
+/* a AECoercionHandlerUPP is by default a AECoerceDescUPP. If you are registering a
+ Ptr based coercion handler you will have to add a cast to AECoerceDescUPP from
+ your AECoercePtrUPP type. A future release of the interfaces will fix this by
+ introducing seperate Desc and Ptr coercion handler installation/remove/query routines. */
+typedef AECoerceDescUPP AECoercionHandlerUPP;
+/*
+ * AEInstallCoercionHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEInstallCoercionHandler(
+ DescType fromType,
+ DescType toType,
+ AECoercionHandlerUPP handler,
+ long handlerRefcon,
+ Boolean fromTypeIsDesc,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0A22, 0xA816);
+
+
+/*
+ * AERemoveCoercionHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AERemoveCoercionHandler(
+ DescType fromType,
+ DescType toType,
+ AECoercionHandlerUPP handler,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0723, 0xA816);
+
+
+
+/*
+ * AEGetCoercionHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetCoercionHandler(
+ DescType fromType,
+ DescType toType,
+ AECoercionHandlerUPP * handler,
+ long * handlerRefcon,
+ Boolean * fromTypeIsDesc,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0B24, 0xA816);
+
+
+/**************************************************************************
+ The following calls provide for a coercion interface.
+**************************************************************************/
+/*
+ * AECoercePtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AECoercePtr(
+ DescType typeCode,
+ const void * dataPtr,
+ Size dataSize,
+ DescType toType,
+ AEDesc * result) THREEWORDINLINE(0x303C, 0x0A02, 0xA816);
+
+
+/*
+ * AECoerceDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AECoerceDesc(
+ const AEDesc * theAEDesc,
+ DescType toType,
+ AEDesc * result) THREEWORDINLINE(0x303C, 0x0603, 0xA816);
+
+
+
+/**************************************************************************
+ The following calls apply to any AEDesc. Every 'result' descriptor is
+ created for you, so you will be responsible for memory management
+ (including disposing) of the descriptors so created.
+**************************************************************************/
+/* because AEDescs are opaque under Carbon, this AEInitializeDesc provides a
+ 'clean' way of initializating them to be empty. */
+/*
+ * AEInitializeDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+AEInitializeDesc(AEDesc * desc);
#ifdef __cplusplus
- inline void AEInitializeDescInline(AEDesc* d)
- {
- d->descriptorType = typeNull;
- d->dataHandle = NULL;
- };
+ inline void AEInitializeDescInline(AEDesc* d) { d->descriptorType = typeNull; d->dataHandle = NULL; };
#else
-#define AEInitializeDescInline(__d) do { AEDesc* d = __d; d->descriptorType = typeNull; d->dataHandle = NULL; } while (0)
+ #define AEInitializeDescInline(__d) do { AEDesc* d = __d; d->descriptorType = typeNull; d->dataHandle = NULL; } while (0)
#endif
- /*
- * AECreateDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AECreateDesc(
- DescType typeCode,
- const void * dataPtr,
- Size dataSize,
- AEDesc * result) THREEWORDINLINE(0x303C, 0x0825, 0xA816);
-
-
- /*
- * AEDisposeDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEDisposeDesc(AEDesc * theAEDesc) THREEWORDINLINE(0x303C, 0x0204, 0xA816);
-
-
- /*
- * AEDuplicateDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEDuplicateDesc(
- const AEDesc * theAEDesc,
- AEDesc * result) THREEWORDINLINE(0x303C, 0x0405, 0xA816);
-
-
-
- /*
- * Create an AEDesc with memory "borrowed" from the application. The
- * data passed in *must* be immutable and not freed until the Dispose
- * callback is made.
- * The dispose callback may be made at any time, including during the
- * creation of the descriptor.
- * If possible, the descriptor will be copied to the address space of
- * any recipient process using virtual memory APIs and avoid an
- * actual memory copy.
- */
- typedef CALLBACK_API(void , AEDisposeExternalProcPtr)(const void *dataPtr, Size dataLength, long refcon);
- typedef STACK_UPP_TYPE(AEDisposeExternalProcPtr) AEDisposeExternalUPP;
- /*
- * AECreateDescFromExternalPtr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- AECreateDescFromExternalPtr(
- OSType descriptorType,
- const void * dataPtr,
- Size dataLength,
- AEDisposeExternalUPP disposeCallback,
- long disposeRefcon,
- AEDesc * theDesc);
-
-
-
-
-
- /**************************************************************************
- The following calls apply to AEDescList. Since AEDescList is a subtype of
- AEDesc, the calls in the previous section can also be used for AEDescList.
- All list and array indices are 1-based. If the data was greater than
- maximumSize in the routines below, then actualSize will be greater than
- maximumSize, but only maximumSize bytes will actually be retrieved.
- **************************************************************************/
- /*
- * AECreateList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AECreateList(
- const void * factoringPtr,
- Size factoredSize,
- Boolean isRecord,
- AEDescList * resultList) THREEWORDINLINE(0x303C, 0x0706, 0xA816);
-
-
- /*
- * AECountItems()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AECountItems(
- const AEDescList * theAEDescList,
- long * theCount) THREEWORDINLINE(0x303C, 0x0407, 0xA816);
-
-
- /*
- * AEPutPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEPutPtr(
- AEDescList * theAEDescList,
- long index,
- DescType typeCode,
- const void * dataPtr,
- Size dataSize) THREEWORDINLINE(0x303C, 0x0A08, 0xA816);
-
-
- /*
- * AEPutDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEPutDesc(
- AEDescList * theAEDescList,
- long index,
- const AEDesc * theAEDesc) THREEWORDINLINE(0x303C, 0x0609, 0xA816);
-
-
- /*
- * AEGetNthPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetNthPtr(
- const AEDescList * theAEDescList,
- long index,
- DescType desiredType,
- AEKeyword * theAEKeyword,
- DescType * typeCode,
- void * dataPtr,
- Size maximumSize,
- Size * actualSize) THREEWORDINLINE(0x303C, 0x100A, 0xA816);
-
-
- /*
- * AEGetNthDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetNthDesc(
- const AEDescList * theAEDescList,
- long index,
- DescType desiredType,
- AEKeyword * theAEKeyword,
- AEDesc * result) THREEWORDINLINE(0x303C, 0x0A0B, 0xA816);
-
-
- /*
- * AESizeOfNthItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AESizeOfNthItem(
- const AEDescList * theAEDescList,
- long index,
- DescType * typeCode,
- Size * dataSize) THREEWORDINLINE(0x303C, 0x082A, 0xA816);
-
-
- /*
- * AEGetArray()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetArray(
- const AEDescList * theAEDescList,
- AEArrayType arrayType,
- AEArrayDataPointer arrayPtr,
- Size maximumSize,
- DescType * itemType,
- Size * itemSize,
- long * itemCount) THREEWORDINLINE(0x303C, 0x0D0C, 0xA816);
-
-
- /*
- * AEPutArray()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEPutArray(
- AEDescList * theAEDescList,
- AEArrayType arrayType,
- const AEArrayData * arrayPtr,
- DescType itemType,
- Size itemSize,
- long itemCount) THREEWORDINLINE(0x303C, 0x0B0D, 0xA816);
-
-
- /*
- * AEDeleteItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEDeleteItem(
- AEDescList * theAEDescList,
- long index) THREEWORDINLINE(0x303C, 0x040E, 0xA816);
-
-
-
- /**************************************************************************
- The following calls apply to AERecord. Since AERecord is a subtype of
- AEDescList, the calls in the previous sections can also be used for
- AERecord an AERecord can be created by using AECreateList with isRecord
- set to true.
- **************************************************************************/
- /*************************************************************************
- AERecords can have an abitrary descriptorType. This allows you to
- check if desc is truly an AERecord
- ************************************************************************/
- /*
- * AECheckIsRecord()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- AECheckIsRecord(const AEDesc * theDesc);
-
-
- /*
- Note: The following #defines map "key" calls on AERecords into "param" calls on
- AppleEvents. Although no errors are currently returned if AERecords are
- passed to "param" calls and AppleEvents to "key" calls, the behavior of
- this type of API-mixing is not explicitly documented in Inside Macintosh.
- It just happens that the "key" calls have the same functionality as their
- "param" counterparts. Since none of the "key" calls are currently available
- in the PowerPC IntefaceLib, the #defines exploit the fact that "key" and
- "param" routines can be used interchangeably, and makes sure that every
- invocation of a "key" API becomes an invocation of a "param" API.
- */
+/*
+ * AECreateDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AECreateDesc(
+ DescType typeCode,
+ const void * dataPtr,
+ Size dataSize,
+ AEDesc * result) THREEWORDINLINE(0x303C, 0x0825, 0xA816);
+
+
+/*
+ * AEDisposeDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEDisposeDesc(AEDesc * theAEDesc) THREEWORDINLINE(0x303C, 0x0204, 0xA816);
+
+
+/*
+ * AEDuplicateDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEDuplicateDesc(
+ const AEDesc * theAEDesc,
+ AEDesc * result) THREEWORDINLINE(0x303C, 0x0405, 0xA816);
+
+
+
+/*
+ * Create an AEDesc with memory "borrowed" from the application. The
+ * data passed in *must* be immutable and not freed until the Dispose
+ * callback is made.
+ * The dispose callback may be made at any time, including during the
+ * creation of the descriptor.
+ * If possible, the descriptor will be copied to the address space of
+ * any recipient process using virtual memory APIs and avoid an
+ * actual memory copy.
+ */
+typedef CALLBACK_API( void , AEDisposeExternalProcPtr )(const void *dataPtr, Size dataLength, long refcon);
+typedef STACK_UPP_TYPE(AEDisposeExternalProcPtr) AEDisposeExternalUPP;
+/*
+ * AECreateDescFromExternalPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+AECreateDescFromExternalPtr(
+ OSType descriptorType,
+ const void * dataPtr,
+ Size dataLength,
+ AEDisposeExternalUPP disposeCallback,
+ long disposeRefcon,
+ AEDesc * theDesc);
+
+
+
+
+
+/**************************************************************************
+ The following calls apply to AEDescList. Since AEDescList is a subtype of
+ AEDesc, the calls in the previous section can also be used for AEDescList.
+ All list and array indices are 1-based. If the data was greater than
+ maximumSize in the routines below, then actualSize will be greater than
+ maximumSize, but only maximumSize bytes will actually be retrieved.
+**************************************************************************/
+/*
+ * AECreateList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AECreateList(
+ const void * factoringPtr,
+ Size factoredSize,
+ Boolean isRecord,
+ AEDescList * resultList) THREEWORDINLINE(0x303C, 0x0706, 0xA816);
+
+
+/*
+ * AECountItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AECountItems(
+ const AEDescList * theAEDescList,
+ long * theCount) THREEWORDINLINE(0x303C, 0x0407, 0xA816);
+
+
+/*
+ * AEPutPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEPutPtr(
+ AEDescList * theAEDescList,
+ long index,
+ DescType typeCode,
+ const void * dataPtr,
+ Size dataSize) THREEWORDINLINE(0x303C, 0x0A08, 0xA816);
+
+
+/*
+ * AEPutDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEPutDesc(
+ AEDescList * theAEDescList,
+ long index,
+ const AEDesc * theAEDesc) THREEWORDINLINE(0x303C, 0x0609, 0xA816);
+
+
+/*
+ * AEGetNthPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetNthPtr(
+ const AEDescList * theAEDescList,
+ long index,
+ DescType desiredType,
+ AEKeyword * theAEKeyword,
+ DescType * typeCode,
+ void * dataPtr,
+ Size maximumSize,
+ Size * actualSize) THREEWORDINLINE(0x303C, 0x100A, 0xA816);
+
+
+/*
+ * AEGetNthDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetNthDesc(
+ const AEDescList * theAEDescList,
+ long index,
+ DescType desiredType,
+ AEKeyword * theAEKeyword,
+ AEDesc * result) THREEWORDINLINE(0x303C, 0x0A0B, 0xA816);
+
+
+/*
+ * AESizeOfNthItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AESizeOfNthItem(
+ const AEDescList * theAEDescList,
+ long index,
+ DescType * typeCode,
+ Size * dataSize) THREEWORDINLINE(0x303C, 0x082A, 0xA816);
+
+
+/*
+ * AEGetArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetArray(
+ const AEDescList * theAEDescList,
+ AEArrayType arrayType,
+ AEArrayDataPointer arrayPtr,
+ Size maximumSize,
+ DescType * itemType,
+ Size * itemSize,
+ long * itemCount) THREEWORDINLINE(0x303C, 0x0D0C, 0xA816);
+
+
+/*
+ * AEPutArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEPutArray(
+ AEDescList * theAEDescList,
+ AEArrayType arrayType,
+ const AEArrayData * arrayPtr,
+ DescType itemType,
+ Size itemSize,
+ long itemCount) THREEWORDINLINE(0x303C, 0x0B0D, 0xA816);
+
+
+/*
+ * AEDeleteItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEDeleteItem(
+ AEDescList * theAEDescList,
+ long index) THREEWORDINLINE(0x303C, 0x040E, 0xA816);
+
+
+
+/**************************************************************************
+ The following calls apply to AERecord. Since AERecord is a subtype of
+ AEDescList, the calls in the previous sections can also be used for
+ AERecord an AERecord can be created by using AECreateList with isRecord
+ set to true.
+**************************************************************************/
+/*************************************************************************
+ AERecords can have an abitrary descriptorType. This allows you to
+ check if desc is truly an AERecord
+************************************************************************/
+/*
+ * AECheckIsRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+AECheckIsRecord(const AEDesc * theDesc);
+
+
+/*
+ Note: The following #defines map "key" calls on AERecords into "param" calls on
+ AppleEvents. Although no errors are currently returned if AERecords are
+ passed to "param" calls and AppleEvents to "key" calls, the behavior of
+ this type of API-mixing is not explicitly documented in Inside Macintosh.
+ It just happens that the "key" calls have the same functionality as their
+ "param" counterparts. Since none of the "key" calls are currently available
+ in the PowerPC IntefaceLib, the #defines exploit the fact that "key" and
+ "param" routines can be used interchangeably, and makes sure that every
+ invocation of a "key" API becomes an invocation of a "param" API.
+*/
#define AEPutKeyPtr(theAERecord, theAEKeyword, typeCode, dataPtr, dataSize) \
AEPutParamPtr((theAERecord), (theAEKeyword), (typeCode), (dataPtr), (dataSize))
#define AEPutKeyDesc(theAERecord, theAEKeyword, theAEDesc) \
@@ -830,539 +793,521 @@ extern "C" {
AESizeOfParam((theAERecord), (theAEKeyword), (typeCode), (dataSize))
#define AEDeleteKeyDesc(theAERecord, theAEKeyword) \
AEDeleteParam((theAERecord), (theAEKeyword))
- /**************************************************************************
- The following calls create and manipulate the AppleEvent data type.
- **************************************************************************/
- /*
- * AECreateAppleEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AECreateAppleEvent(
- AEEventClass theAEEventClass,
- AEEventID theAEEventID,
- const AEAddressDesc * target,
- AEReturnID returnID,
- AETransactionID transactionID,
- AppleEvent * result) THREEWORDINLINE(0x303C, 0x0B14, 0xA816);
-
-
-
- /**************************************************************************
- The following calls are used to pack and unpack parameters from records
- of type AppleEvent. Since AppleEvent is a subtype of AERecord, the calls
- in the previous sections can also be used for variables of type
- AppleEvent. The next six calls are in fact identical to the six calls
- for AERecord.
- **************************************************************************/
- /*
- * AEPutParamPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEPutParamPtr(
- AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- DescType typeCode,
- const void * dataPtr,
- Size dataSize) THREEWORDINLINE(0x303C, 0x0A0F, 0xA816);
-
-
- /*
- * AEPutParamDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEPutParamDesc(
- AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- const AEDesc * theAEDesc) THREEWORDINLINE(0x303C, 0x0610, 0xA816);
-
-
- /*
- * AEGetParamPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetParamPtr(
- const AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- DescType desiredType,
- DescType * typeCode,
- void * dataPtr,
- Size maximumSize,
- Size * actualSize) THREEWORDINLINE(0x303C, 0x0E11, 0xA816);
-
-
- /*
- * AEGetParamDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetParamDesc(
- const AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- DescType desiredType,
- AEDesc * result) THREEWORDINLINE(0x303C, 0x0812, 0xA816);
-
-
- /*
- * AESizeOfParam()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AESizeOfParam(
- const AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- DescType * typeCode,
- Size * dataSize) THREEWORDINLINE(0x303C, 0x0829, 0xA816);
-
-
- /*
- * AEDeleteParam()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEDeleteParam(
- AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword) THREEWORDINLINE(0x303C, 0x0413, 0xA816);
-
-
-
-
- /**************************************************************************
- The following calls also apply to type AppleEvent. Message attributes are
- far more restricted, and can only be accessed through the following 5
- calls. The various list and record routines cannot be used to access the
- attributes of an event.
- **************************************************************************/
- /*
- * AEGetAttributePtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetAttributePtr(
- const AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- DescType desiredType,
- DescType * typeCode,
- void * dataPtr,
- Size maximumSize,
- Size * actualSize) THREEWORDINLINE(0x303C, 0x0E15, 0xA816);
-
-
- /*
- * AEGetAttributeDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetAttributeDesc(
- const AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- DescType desiredType,
- AEDesc * result) THREEWORDINLINE(0x303C, 0x0826, 0xA816);
-
-
- /*
- * AESizeOfAttribute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AESizeOfAttribute(
- const AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- DescType * typeCode,
- Size * dataSize) THREEWORDINLINE(0x303C, 0x0828, 0xA816);
-
-
- /*
- * AEPutAttributePtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEPutAttributePtr(
- AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- DescType typeCode,
- const void * dataPtr,
- Size dataSize) THREEWORDINLINE(0x303C, 0x0A16, 0xA816);
-
-
- /*
- * AEPutAttributeDesc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEPutAttributeDesc(
- AppleEvent * theAppleEvent,
- AEKeyword theAEKeyword,
- const AEDesc * theAEDesc) THREEWORDINLINE(0x303C, 0x0627, 0xA816);
-
-
-
- /**************************************************************************
- AppleEvent Serialization Support
-
- AESizeOfFlattenedDesc, AEFlattenDesc, AEUnflattenDesc
-
- These calls will work for all AppleEvent data types and between different
- versions of the OS (including between Mac OS 9 and X)
-
- Basic types, AEDesc, AEList and AERecord are OK, but AppleEvent records
- themselves may not be reliably flattened for storage.
- **************************************************************************/
- /*
- AEFlattenDesc
- Returns the amount of buffer space needed to flatten the
- AEDesc. Call this before AEFlattenDesc to make sure your
- buffer has enough room for the operation.
- */
+/**************************************************************************
+ The following calls create and manipulate the AppleEvent data type.
+**************************************************************************/
+/*
+ * AECreateAppleEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AECreateAppleEvent(
+ AEEventClass theAEEventClass,
+ AEEventID theAEEventID,
+ const AEAddressDesc * target,
+ AEReturnID returnID,
+ AETransactionID transactionID,
+ AppleEvent * result) THREEWORDINLINE(0x303C, 0x0B14, 0xA816);
+
+
+
+/**************************************************************************
+ The following calls are used to pack and unpack parameters from records
+ of type AppleEvent. Since AppleEvent is a subtype of AERecord, the calls
+ in the previous sections can also be used for variables of type
+ AppleEvent. The next six calls are in fact identical to the six calls
+ for AERecord.
+**************************************************************************/
+/*
+ * AEPutParamPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEPutParamPtr(
+ AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ DescType typeCode,
+ const void * dataPtr,
+ Size dataSize) THREEWORDINLINE(0x303C, 0x0A0F, 0xA816);
- /*
- * AESizeOfFlattenedDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Size)
- AESizeOfFlattenedDesc(const AEDesc * theAEDesc);
-
-
- /*
- AEFlattenDesc
- Fills a buffer with a flattened representation of the
- AEDesc and returns the amount of buffer used in actualSize.
- If bufferSize was too small it returns errAEBufferTooSmall
- (-1741) and does not fill in any of the buffer. The resulting
- buffer is only useful with an AEUnflattenDesc call.
-
- Note: if you pass a NULL buffer pointer it returns noErr but
- fills in the actualSize field anyway.
- */
- /*
- * AEFlattenDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEFlattenDesc(
- const AEDesc * theAEDesc,
- Ptr buffer,
- Size bufferSize,
- Size * actualSize);
-
-
- /*
- AEUnflattenDesc
- Allocates an AEDesc (given a Null Desc) given a flattened
- data buffer. It assumes it was given a good buffer filled
- in by AEFlattenDesc. It returns paramErr if it discovers
- something fishy about the buffer.
- */
+/*
+ * AEPutParamDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEPutParamDesc(
+ AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ const AEDesc * theAEDesc) THREEWORDINLINE(0x303C, 0x0610, 0xA816);
+
+
+/*
+ * AEGetParamPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetParamPtr(
+ const AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ DescType desiredType,
+ DescType * typeCode,
+ void * dataPtr,
+ Size maximumSize,
+ Size * actualSize) THREEWORDINLINE(0x303C, 0x0E11, 0xA816);
+
+
+/*
+ * AEGetParamDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetParamDesc(
+ const AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ DescType desiredType,
+ AEDesc * result) THREEWORDINLINE(0x303C, 0x0812, 0xA816);
+
+
+/*
+ * AESizeOfParam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AESizeOfParam(
+ const AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ DescType * typeCode,
+ Size * dataSize) THREEWORDINLINE(0x303C, 0x0829, 0xA816);
+
+
+/*
+ * AEDeleteParam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEDeleteParam(
+ AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword) THREEWORDINLINE(0x303C, 0x0413, 0xA816);
+
+
+
+
+/**************************************************************************
+ The following calls also apply to type AppleEvent. Message attributes are
+ far more restricted, and can only be accessed through the following 5
+ calls. The various list and record routines cannot be used to access the
+ attributes of an event.
+**************************************************************************/
+/*
+ * AEGetAttributePtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetAttributePtr(
+ const AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ DescType desiredType,
+ DescType * typeCode,
+ void * dataPtr,
+ Size maximumSize,
+ Size * actualSize) THREEWORDINLINE(0x303C, 0x0E15, 0xA816);
+
+
+/*
+ * AEGetAttributeDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetAttributeDesc(
+ const AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ DescType desiredType,
+ AEDesc * result) THREEWORDINLINE(0x303C, 0x0826, 0xA816);
+
+
+/*
+ * AESizeOfAttribute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AESizeOfAttribute(
+ const AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ DescType * typeCode,
+ Size * dataSize) THREEWORDINLINE(0x303C, 0x0828, 0xA816);
+
+
+/*
+ * AEPutAttributePtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEPutAttributePtr(
+ AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ DescType typeCode,
+ const void * dataPtr,
+ Size dataSize) THREEWORDINLINE(0x303C, 0x0A16, 0xA816);
+
+
+/*
+ * AEPutAttributeDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEPutAttributeDesc(
+ AppleEvent * theAppleEvent,
+ AEKeyword theAEKeyword,
+ const AEDesc * theAEDesc) THREEWORDINLINE(0x303C, 0x0627, 0xA816);
+
+
+
+/**************************************************************************
+ AppleEvent Serialization Support
+
+ AESizeOfFlattenedDesc, AEFlattenDesc, AEUnflattenDesc
+
+ These calls will work for all AppleEvent data types and between different
+ versions of the OS (including between Mac OS 9 and X)
+
+ Basic types, AEDesc, AEList and AERecord are OK, but AppleEvent records
+ themselves may not be reliably flattened for storage.
+**************************************************************************/
+/*
+ AEFlattenDesc
+ Returns the amount of buffer space needed to flatten the
+ AEDesc. Call this before AEFlattenDesc to make sure your
+ buffer has enough room for the operation.
+*/
+
+/*
+ * AESizeOfFlattenedDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Size )
+AESizeOfFlattenedDesc(const AEDesc * theAEDesc);
+
+
+/*
+ AEFlattenDesc
+ Fills a buffer with a flattened representation of the
+ AEDesc and returns the amount of buffer used in actualSize.
+ If bufferSize was too small it returns errAEBufferTooSmall
+ (-1741) and does not fill in any of the buffer. The resulting
+ buffer is only useful with an AEUnflattenDesc call.
+
+ Note: if you pass a NULL buffer pointer it returns noErr but
+ fills in the actualSize field anyway.
+*/
- /*
- * AEUnflattenDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEUnflattenDesc(
- Ptr buffer,
- AEDesc * result);
-
-
- /**************************************************************************
- The following calls are necessary to deal with opaque data in AEDescs, because the
- traditional way of dealing with a basic AEDesc has been to dereference the dataHandle
- directly. This is not supported under Carbon.
- **************************************************************************/
+/*
+ * AEFlattenDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEFlattenDesc(
+ const AEDesc * theAEDesc,
+ Ptr buffer,
+ Size bufferSize,
+ Size * actualSize);
+
+
+/*
+ AEUnflattenDesc
+ Allocates an AEDesc (given a Null Desc) given a flattened
+ data buffer. It assumes it was given a good buffer filled
+ in by AEFlattenDesc. It returns paramErr if it discovers
+ something fishy about the buffer.
+*/
+
+/*
+ * AEUnflattenDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEUnflattenDesc(
+ Ptr buffer,
+ AEDesc * result);
+
+
+/**************************************************************************
+ The following calls are necessary to deal with opaque data in AEDescs, because the
+ traditional way of dealing with a basic AEDesc has been to dereference the dataHandle
+ directly. This is not supported under Carbon.
+**************************************************************************/
#if ACCESSOR_CALLS_ARE_FUNCTIONS
- /*
- AEGetDescData no longer supports automatic coercion. If you'd like to
- coerce the descriptor use AECoerceDesc.
- */
- /*
- * AEGetDescData()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetDescData(
- const AEDesc * theAEDesc,
- void * dataPtr,
- Size maximumSize);
-
-
- /*
- * AEGetDescDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Size)
- AEGetDescDataSize(const AEDesc * theAEDesc);
-
-
- /*
- * AEReplaceDescData()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEReplaceDescData(
- DescType typeCode,
- const void * dataPtr,
- Size dataSize,
- AEDesc * theAEDesc);
+/*
+ AEGetDescData no longer supports automatic coercion. If you'd like to
+ coerce the descriptor use AECoerceDesc.
+ */
+/*
+ * AEGetDescData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetDescData(
+ const AEDesc * theAEDesc,
+ void * dataPtr,
+ Size maximumSize);
+
+
+/*
+ * AEGetDescDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Size )
+AEGetDescDataSize(const AEDesc * theAEDesc);
+
+
+/*
+ * AEReplaceDescData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEReplaceDescData(
+ DescType typeCode,
+ const void * dataPtr,
+ Size dataSize,
+ AEDesc * theAEDesc);
#endif /* ACCESSOR_CALLS_ARE_FUNCTIONS */
- /*
- * Retrieve a range of bytes from an AEDesc. This obviates the need
- * to retrieve the entire data from the event using AEGetDescData.
- * This is only valid for data type AEDescs. If the requested length
- * and offset are such that they do not fit entirely with the data of the
- * desc, errAEBufferTooSmall is returned.
- */
- /*
- * AEGetDescDataRange()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- AEGetDescDataRange(
- const AEDesc * dataDesc,
- void * buffer,
- Size offset,
- Size length);
-
-
- /**************************************************************************
- A AEEventHandler is installed to process an AppleEvent
- **************************************************************************/
- typedef CALLBACK_API(OSErr , AEEventHandlerProcPtr)(const AppleEvent *theAppleEvent, AppleEvent *reply, long handlerRefcon);
- typedef STACK_UPP_TYPE(AEEventHandlerProcPtr) AEEventHandlerUPP;
- /*
- * NewAEDisposeExternalUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(AEDisposeExternalUPP)
- NewAEDisposeExternalUPP(AEDisposeExternalProcPtr userRoutine);
+/*
+ * Retrieve a range of bytes from an AEDesc. This obviates the need
+ * to retrieve the entire data from the event using AEGetDescData.
+ * This is only valid for data type AEDescs. If the requested length
+ * and offset are such that they do not fit entirely with the data of the
+ * desc, errAEBufferTooSmall is returned.
+ */
+/*
+ * AEGetDescDataRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+AEGetDescDataRange(
+ const AEDesc * dataDesc,
+ void * buffer,
+ Size offset,
+ Size length);
+
+
+/**************************************************************************
+ A AEEventHandler is installed to process an AppleEvent
+**************************************************************************/
+typedef CALLBACK_API( OSErr , AEEventHandlerProcPtr )(const AppleEvent *theAppleEvent, AppleEvent *reply, long handlerRefcon);
+typedef STACK_UPP_TYPE(AEEventHandlerProcPtr) AEEventHandlerUPP;
+/*
+ * NewAEDisposeExternalUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( AEDisposeExternalUPP )
+NewAEDisposeExternalUPP(AEDisposeExternalProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAEDisposeExternalProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AEDisposeExternalUPP) NewAEDisposeExternalUPP(AEDisposeExternalProcPtr userRoutine)
- {
- return (AEDisposeExternalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEDisposeExternalProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAEDisposeExternalUPP(userRoutine) (AEDisposeExternalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEDisposeExternalProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAEDisposeExternalProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AEDisposeExternalUPP) NewAEDisposeExternalUPP(AEDisposeExternalProcPtr userRoutine) { return (AEDisposeExternalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEDisposeExternalProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAEDisposeExternalUPP(userRoutine) (AEDisposeExternalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEDisposeExternalProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewAEEventHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AEEventHandlerUPP)
- NewAEEventHandlerUPP(AEEventHandlerProcPtr userRoutine);
+/*
+ * NewAEEventHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AEEventHandlerUPP )
+NewAEEventHandlerUPP(AEEventHandlerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAEEventHandlerProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AEEventHandlerUPP) NewAEEventHandlerUPP(AEEventHandlerProcPtr userRoutine)
- {
- return (AEEventHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEEventHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAEEventHandlerUPP(userRoutine) (AEEventHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEEventHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAEEventHandlerProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AEEventHandlerUPP) NewAEEventHandlerUPP(AEEventHandlerProcPtr userRoutine) { return (AEEventHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEEventHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAEEventHandlerUPP(userRoutine) (AEEventHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEEventHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeAEDisposeExternalUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- DisposeAEDisposeExternalUPP(AEDisposeExternalUPP userUPP);
+/*
+ * DisposeAEDisposeExternalUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+DisposeAEDisposeExternalUPP(AEDisposeExternalUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAEDisposeExternalUPP(AEDisposeExternalUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAEDisposeExternalUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAEDisposeExternalUPP(AEDisposeExternalUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAEDisposeExternalUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeAEEventHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAEEventHandlerUPP(AEEventHandlerUPP userUPP);
+/*
+ * DisposeAEEventHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAEEventHandlerUPP(AEEventHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAEEventHandlerUPP(AEEventHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAEEventHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAEEventHandlerUPP(AEEventHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAEEventHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeAEDisposeExternalUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- InvokeAEDisposeExternalUPP(
- const void * dataPtr,
- Size dataLength,
- long refcon,
- AEDisposeExternalUPP userUPP);
+/*
+ * InvokeAEDisposeExternalUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+InvokeAEDisposeExternalUPP(
+ const void * dataPtr,
+ Size dataLength,
+ long refcon,
+ AEDisposeExternalUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeAEDisposeExternalUPP(const void * dataPtr, Size dataLength, long refcon, AEDisposeExternalUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppAEDisposeExternalProcInfo, dataPtr, dataLength, refcon);
- }
-#else
-#define InvokeAEDisposeExternalUPP(dataPtr, dataLength, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppAEDisposeExternalProcInfo, (dataPtr), (dataLength), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeAEDisposeExternalUPP(const void * dataPtr, Size dataLength, long refcon, AEDisposeExternalUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppAEDisposeExternalProcInfo, dataPtr, dataLength, refcon); }
+ #else
+ #define InvokeAEDisposeExternalUPP(dataPtr, dataLength, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppAEDisposeExternalProcInfo, (dataPtr), (dataLength), (refcon))
+ #endif
#endif
- /*
- * InvokeAEEventHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeAEEventHandlerUPP(
- const AppleEvent * theAppleEvent,
- AppleEvent * reply,
- long handlerRefcon,
- AEEventHandlerUPP userUPP);
+/*
+ * InvokeAEEventHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeAEEventHandlerUPP(
+ const AppleEvent * theAppleEvent,
+ AppleEvent * reply,
+ long handlerRefcon,
+ AEEventHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeAEEventHandlerUPP(const AppleEvent * theAppleEvent, AppleEvent * reply, long handlerRefcon, AEEventHandlerUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppAEEventHandlerProcInfo, theAppleEvent, reply, handlerRefcon);
- }
-#else
-#define InvokeAEEventHandlerUPP(theAppleEvent, reply, handlerRefcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppAEEventHandlerProcInfo, (theAppleEvent), (reply), (handlerRefcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeAEEventHandlerUPP(const AppleEvent * theAppleEvent, AppleEvent * reply, long handlerRefcon, AEEventHandlerUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppAEEventHandlerProcInfo, theAppleEvent, reply, handlerRefcon); }
+ #else
+ #define InvokeAEEventHandlerUPP(theAppleEvent, reply, handlerRefcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppAEEventHandlerProcInfo, (theAppleEvent), (reply), (handlerRefcon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewAEDisposeExternalProc(userRoutine) NewAEDisposeExternalUPP(userRoutine)
-#define NewAEEventHandlerProc(userRoutine) NewAEEventHandlerUPP(userRoutine)
-#define CallAEDisposeExternalProc(userRoutine, dataPtr, dataLength, refcon) InvokeAEDisposeExternalUPP(dataPtr, dataLength, refcon, userRoutine)
-#define CallAEEventHandlerProc(userRoutine, theAppleEvent, reply, handlerRefcon) InvokeAEEventHandlerUPP(theAppleEvent, reply, handlerRefcon, userRoutine)
+ #define NewAEDisposeExternalProc(userRoutine) NewAEDisposeExternalUPP(userRoutine)
+ #define NewAEEventHandlerProc(userRoutine) NewAEEventHandlerUPP(userRoutine)
+ #define CallAEDisposeExternalProc(userRoutine, dataPtr, dataLength, refcon) InvokeAEDisposeExternalUPP(dataPtr, dataLength, refcon, userRoutine)
+ #define CallAEEventHandlerProc(userRoutine, theAppleEvent, reply, handlerRefcon) InvokeAEEventHandlerUPP(theAppleEvent, reply, handlerRefcon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AEHelpers.h b/include/qt/AEHelpers.h
index 1505aaaf8..1fa33b33b 100644
--- a/include/qt/AEHelpers.h
+++ b/include/qt/AEHelpers.h
@@ -1,17 +1,17 @@
/*
File: AEHelpers.h
-
+
Contains: AEPrint, AEBuild and AEStream for Carbon
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
/*
* Originally from AEGIzmos by Jens Alfke, circa 1992.
@@ -43,528 +43,526 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- * AEBuild:
- *
- * AEBuild provides a very high level abstraction for building
- * complete AppleEvents and complex ObjectSpeciers. Using AEBuild it
- * is easy to produce a textual representation of an AEDesc. The
- * format is similar to the stdio printf call, where meta data is
- * extracted from a format string and used to build the final
- * representation.
- *
- * The structure of the format string is described here:
- *
- * < describe it >
- */
- /* Syntax Error Codes: */
- typedef UInt32 AEBuildErrorCode;
- enum
- {
- aeBuildSyntaxNoErr = 0, /* (No error) */
- aeBuildSyntaxBadToken = 1, /* Illegal character */
- aeBuildSyntaxBadEOF = 2, /* Unexpected end of format string */
- aeBuildSyntaxNoEOF = 3, /* Unexpected extra stuff past end */
- aeBuildSyntaxBadNegative = 4, /* "-" not followed by digits */
- aeBuildSyntaxMissingQuote = 5, /* Missing close "'" */
- aeBuildSyntaxBadHex = 6, /* Non-digit in hex string */
- aeBuildSyntaxOddHex = 7, /* Odd # of hex digits */
- aeBuildSyntaxNoCloseHex = 8, /* Missing "." */
- aeBuildSyntaxUncoercedHex = 9, /* Hex string must be coerced to a type */
- aeBuildSyntaxNoCloseString = 10, /* Missing """ */
- aeBuildSyntaxBadDesc = 11, /* Illegal descriptor */
- aeBuildSyntaxBadData = 12, /* Bad data value inside (...) */
- aeBuildSyntaxNoCloseParen = 13, /* Missing ")" after data value */
- aeBuildSyntaxNoCloseBracket = 14, /* Expected "," or "]" */
- aeBuildSyntaxNoCloseBrace = 15, /* Expected "," or "}" */
- aeBuildSyntaxNoKey = 16, /* Missing keyword in record */
- aeBuildSyntaxNoColon = 17, /* Missing ":" after keyword in record */
- aeBuildSyntaxCoercedList = 18, /* Cannot coerce a list */
- aeBuildSyntaxUncoercedDoubleAt = 19 /* "@@" substitution must be coerced */
- };
-
- /* A structure containing error state.*/
-
- struct AEBuildError
- {
- AEBuildErrorCode fError;
- UInt32 fErrorPos;
- };
- typedef struct AEBuildError AEBuildError;
- /*
- Create an AEDesc from the format string. AEBuildError can be NULL, in which case
- no explicit error information will be returned.
- */
- /*
- * AEBuildDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEBuildDesc(
- AEDesc * dst,
- AEBuildError * error, /* can be NULL */
- const char * src,
- ...);
-
-
- /* varargs version of AEBuildDesc*/
- /*
- * vAEBuildDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- vAEBuildDesc(
- AEDesc * dst,
- AEBuildError * error, /* can be NULL */
- const char * src,
- va_list args);
-
-
-
- /* Append parameters to an existing AppleEvent*/
- /*
- * AEBuildParameters()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEBuildParameters(
- AppleEvent * event,
- AEBuildError * error, /* can be NULL */
- const char * format,
- ...);
-
-
- /* varargs version of AEBuildParameters*/
- /*
- * vAEBuildParameters()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- vAEBuildParameters(
- AppleEvent * event,
- AEBuildError * error, /* can be NULL */
- const char * format,
- va_list args);
-
-
- /* Building an entire Apple event:*/
- /*
- * AEBuildAppleEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEBuildAppleEvent(
- AEEventClass theClass,
- AEEventID theID,
- DescType addressType,
- const void * addressData,
- long addressLength,
- short returnID,
- long transactionID,
- AppleEvent * result,
- AEBuildError * error, /* can be NULL */
- const char * paramsFmt,
- ...);
-
-
- /* varargs version of AEBuildAppleEvent*/
- /*
- * vAEBuildAppleEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- vAEBuildAppleEvent(
- AEEventClass theClass,
- AEEventID theID,
- DescType addressType,
- const void * addressData,
- long addressLength,
- short returnID,
- long transactionID,
- AppleEvent * resultEvt,
- AEBuildError * error, /* can be NULL */
- const char * paramsFmt,
- va_list args);
-
-
- /*
- * AEPrintDescToHandle
- *
- * AEPrintDescToHandle provides a way to turn an AEDesc into a textual
- * representation. This is most useful for debugging calls to
- * AEBuildDesc and friends. The Handle returned should be disposed by
- * the caller. The size of the handle is the actual number of
- * characters in the string.
- */
- /*
- * AEPrintDescToHandle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEPrintDescToHandle(
- const AEDesc * desc,
- Handle * result);
-
-
- /*
- * AEStream:
- *
- * The AEStream interface allows you to build AppleEvents by appending
- * to an opaque structure (an AEStreamRef) and then turning this
- * structure into an AppleEvent. The basic idea is to open the
- * stream, write data, and then close it - closing it produces an
- * AEDesc, which may be partially complete, or may be a complete
- * AppleEvent.
- */
- typedef struct OpaqueAEStreamRef* AEStreamRef;
- /*
- Create and return an AEStreamRef
- Returns NULL on memory allocation failure
- */
- /*
- * AEStreamOpen()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AEStreamRef)
- AEStreamOpen(void);
-
-
- /*
- Closes and disposes of an AEStreamRef, producing
- results in the desc. You must dispose of the desc yourself.
- If you just want to dispose of the AEStreamRef, you can pass NULL for desc.
- */
- /*
- * AEStreamClose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamClose(
- AEStreamRef ref,
- AEDesc * desc);
-
-
- /*
- Prepares an AEStreamRef for appending data to a newly created desc.
- You append data with AEStreamWriteData
- */
- /*
- * AEStreamOpenDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamOpenDesc(
- AEStreamRef ref,
- DescType newType);
-
-
- /* Append data to the previously opened desc.*/
- /*
- * AEStreamWriteData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamWriteData(
- AEStreamRef ref,
- const void * data,
- Size length);
-
-
- /*
- Finish a desc. After this, you can close the stream, or adding new
- descs, if you're assembling a list.
- */
- /*
- * AEStreamCloseDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamCloseDesc(AEStreamRef ref);
-
-
- /* Write data as a desc to the stream*/
- /*
- * AEStreamWriteDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamWriteDesc(
- AEStreamRef ref,
- DescType newType,
- const void * data,
- Size length);
-
-
- /* Write an entire desc to the stream*/
- /*
- * AEStreamWriteAEDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamWriteAEDesc(
- AEStreamRef ref,
- const AEDesc * desc);
-
-
- /*
- Begin a list. You can then append to the list by doing
- AEStreamOpenDesc, or AEStreamWriteDesc.
- */
- /*
- * AEStreamOpenList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamOpenList(AEStreamRef ref);
-
-
- /* Finish a list.*/
- /*
- * AEStreamCloseList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamCloseList(AEStreamRef ref);
-
-
- /*
- Begin a record. A record usually has type 'reco', however, this is
- rather generic, and frequently a different type is used.
- */
- /*
- * AEStreamOpenRecord()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamOpenRecord(
- AEStreamRef ref,
- DescType newType);
-
-
- /* Change the type of a record.*/
- /*
- * AEStreamSetRecordType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamSetRecordType(
- AEStreamRef ref,
- DescType newType);
-
-
- /* Finish a record*/
- /*
- * AEStreamCloseRecord()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamCloseRecord(AEStreamRef ref);
-
-
- /*
- Add a keyed descriptor to a record. This is analogous to AEPutParamDesc.
- it can only be used when writing to a record.
- */
- /*
- * AEStreamWriteKeyDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamWriteKeyDesc(
- AEStreamRef ref,
- AEKeyword key,
- DescType newType,
- const void * data,
- Size length);
-
-
- /*
- OpenDesc for a keyed record entry. You can use AEStreamWriteData
- after opening a keyed desc.
- */
- /*
- * AEStreamOpenKeyDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamOpenKeyDesc(
- AEStreamRef ref,
- AEKeyword key,
- DescType newType);
-
-
- /* Write a key to the stream - you can follow this with an AEWriteDesc.*/
- /*
- * AEStreamWriteKey()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamWriteKey(
- AEStreamRef ref,
- AEKeyword key);
-
-
- /*
- Create a complete AppleEvent. This creates and returns a new stream.
- Use this call to populate the meta fields in an AppleEvent record.
- After this, you can add your records, lists and other parameters.
- */
- /*
- * AEStreamCreateEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AEStreamRef)
- AEStreamCreateEvent(
- AEEventClass clazz,
- AEEventID id,
- DescType targetType,
- const void * targetData,
- long targetLength,
- short returnID,
- long transactionID);
-
-
- /*
- This call lets you augment an existing AppleEvent using the stream
- APIs. This would be useful, for example, in constructing the reply
- record in an AppleEvent handler. Note that AEStreamOpenEvent will
- consume the AppleEvent passed in - you can't access it again until the
- stream is closed. When you're done building the event, AEStreamCloseStream
- will reconstitute it.
- */
- /*
- * AEStreamOpenEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AEStreamRef)
- AEStreamOpenEvent(AppleEvent * event);
-
-
- /* Mark a keyword as being an optional parameter.*/
- /*
- * AEStreamOptionalParam()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEStreamOptionalParam(
- AEStreamRef ref,
- AEKeyword key);
+/*
+ * AEBuild:
+ *
+ * AEBuild provides a very high level abstraction for building
+ * complete AppleEvents and complex ObjectSpeciers. Using AEBuild it
+ * is easy to produce a textual representation of an AEDesc. The
+ * format is similar to the stdio printf call, where meta data is
+ * extracted from a format string and used to build the final
+ * representation.
+ *
+ * The structure of the format string is described here:
+ *
+ * < describe it >
+ */
+/* Syntax Error Codes: */
+typedef UInt32 AEBuildErrorCode;
+enum {
+ aeBuildSyntaxNoErr = 0, /* (No error) */
+ aeBuildSyntaxBadToken = 1, /* Illegal character */
+ aeBuildSyntaxBadEOF = 2, /* Unexpected end of format string */
+ aeBuildSyntaxNoEOF = 3, /* Unexpected extra stuff past end */
+ aeBuildSyntaxBadNegative = 4, /* "-" not followed by digits */
+ aeBuildSyntaxMissingQuote = 5, /* Missing close "'" */
+ aeBuildSyntaxBadHex = 6, /* Non-digit in hex string */
+ aeBuildSyntaxOddHex = 7, /* Odd # of hex digits */
+ aeBuildSyntaxNoCloseHex = 8, /* Missing "." */
+ aeBuildSyntaxUncoercedHex = 9, /* Hex string must be coerced to a type */
+ aeBuildSyntaxNoCloseString = 10, /* Missing """ */
+ aeBuildSyntaxBadDesc = 11, /* Illegal descriptor */
+ aeBuildSyntaxBadData = 12, /* Bad data value inside (...) */
+ aeBuildSyntaxNoCloseParen = 13, /* Missing ")" after data value */
+ aeBuildSyntaxNoCloseBracket = 14, /* Expected "," or "]" */
+ aeBuildSyntaxNoCloseBrace = 15, /* Expected "," or "}" */
+ aeBuildSyntaxNoKey = 16, /* Missing keyword in record */
+ aeBuildSyntaxNoColon = 17, /* Missing ":" after keyword in record */
+ aeBuildSyntaxCoercedList = 18, /* Cannot coerce a list */
+ aeBuildSyntaxUncoercedDoubleAt = 19 /* "@@" substitution must be coerced */
+};
+
+/* A structure containing error state.*/
+
+struct AEBuildError {
+ AEBuildErrorCode fError;
+ UInt32 fErrorPos;
+};
+typedef struct AEBuildError AEBuildError;
+/*
+ Create an AEDesc from the format string. AEBuildError can be NULL, in which case
+ no explicit error information will be returned.
+*/
+/*
+ * AEBuildDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEBuildDesc(
+ AEDesc * dst,
+ AEBuildError * error, /* can be NULL */
+ const char * src,
+ ...);
+
+
+/* varargs version of AEBuildDesc*/
+/*
+ * vAEBuildDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+vAEBuildDesc(
+ AEDesc * dst,
+ AEBuildError * error, /* can be NULL */
+ const char * src,
+ va_list args);
+
+
+
+/* Append parameters to an existing AppleEvent*/
+/*
+ * AEBuildParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEBuildParameters(
+ AppleEvent * event,
+ AEBuildError * error, /* can be NULL */
+ const char * format,
+ ...);
+
+
+/* varargs version of AEBuildParameters*/
+/*
+ * vAEBuildParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+vAEBuildParameters(
+ AppleEvent * event,
+ AEBuildError * error, /* can be NULL */
+ const char * format,
+ va_list args);
+
+
+/* Building an entire Apple event:*/
+/*
+ * AEBuildAppleEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEBuildAppleEvent(
+ AEEventClass theClass,
+ AEEventID theID,
+ DescType addressType,
+ const void * addressData,
+ long addressLength,
+ short returnID,
+ long transactionID,
+ AppleEvent * result,
+ AEBuildError * error, /* can be NULL */
+ const char * paramsFmt,
+ ...);
+
+
+/* varargs version of AEBuildAppleEvent*/
+/*
+ * vAEBuildAppleEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+vAEBuildAppleEvent(
+ AEEventClass theClass,
+ AEEventID theID,
+ DescType addressType,
+ const void * addressData,
+ long addressLength,
+ short returnID,
+ long transactionID,
+ AppleEvent * resultEvt,
+ AEBuildError * error, /* can be NULL */
+ const char * paramsFmt,
+ va_list args);
+
+
+/*
+ * AEPrintDescToHandle
+ *
+ * AEPrintDescToHandle provides a way to turn an AEDesc into a textual
+ * representation. This is most useful for debugging calls to
+ * AEBuildDesc and friends. The Handle returned should be disposed by
+ * the caller. The size of the handle is the actual number of
+ * characters in the string.
+ */
+/*
+ * AEPrintDescToHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEPrintDescToHandle(
+ const AEDesc * desc,
+ Handle * result);
+
+
+/*
+ * AEStream:
+ *
+ * The AEStream interface allows you to build AppleEvents by appending
+ * to an opaque structure (an AEStreamRef) and then turning this
+ * structure into an AppleEvent. The basic idea is to open the
+ * stream, write data, and then close it - closing it produces an
+ * AEDesc, which may be partially complete, or may be a complete
+ * AppleEvent.
+ */
+typedef struct OpaqueAEStreamRef* AEStreamRef;
+/*
+ Create and return an AEStreamRef
+ Returns NULL on memory allocation failure
+*/
+/*
+ * AEStreamOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AEStreamRef )
+AEStreamOpen(void);
+
+
+/*
+ Closes and disposes of an AEStreamRef, producing
+ results in the desc. You must dispose of the desc yourself.
+ If you just want to dispose of the AEStreamRef, you can pass NULL for desc.
+*/
+/*
+ * AEStreamClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamClose(
+ AEStreamRef ref,
+ AEDesc * desc);
+
+
+/*
+ Prepares an AEStreamRef for appending data to a newly created desc.
+ You append data with AEStreamWriteData
+*/
+/*
+ * AEStreamOpenDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamOpenDesc(
+ AEStreamRef ref,
+ DescType newType);
+
+
+/* Append data to the previously opened desc.*/
+/*
+ * AEStreamWriteData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamWriteData(
+ AEStreamRef ref,
+ const void * data,
+ Size length);
+
+
+/*
+ Finish a desc. After this, you can close the stream, or adding new
+ descs, if you're assembling a list.
+*/
+/*
+ * AEStreamCloseDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamCloseDesc(AEStreamRef ref);
+
+
+/* Write data as a desc to the stream*/
+/*
+ * AEStreamWriteDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamWriteDesc(
+ AEStreamRef ref,
+ DescType newType,
+ const void * data,
+ Size length);
+
+
+/* Write an entire desc to the stream*/
+/*
+ * AEStreamWriteAEDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamWriteAEDesc(
+ AEStreamRef ref,
+ const AEDesc * desc);
+
+
+/*
+ Begin a list. You can then append to the list by doing
+ AEStreamOpenDesc, or AEStreamWriteDesc.
+*/
+/*
+ * AEStreamOpenList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamOpenList(AEStreamRef ref);
+
+
+/* Finish a list.*/
+/*
+ * AEStreamCloseList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamCloseList(AEStreamRef ref);
+
+
+/*
+ Begin a record. A record usually has type 'reco', however, this is
+ rather generic, and frequently a different type is used.
+*/
+/*
+ * AEStreamOpenRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamOpenRecord(
+ AEStreamRef ref,
+ DescType newType);
+
+
+/* Change the type of a record.*/
+/*
+ * AEStreamSetRecordType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamSetRecordType(
+ AEStreamRef ref,
+ DescType newType);
+
+
+/* Finish a record*/
+/*
+ * AEStreamCloseRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamCloseRecord(AEStreamRef ref);
+
+
+/*
+ Add a keyed descriptor to a record. This is analogous to AEPutParamDesc.
+ it can only be used when writing to a record.
+*/
+/*
+ * AEStreamWriteKeyDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamWriteKeyDesc(
+ AEStreamRef ref,
+ AEKeyword key,
+ DescType newType,
+ const void * data,
+ Size length);
+
+
+/*
+ OpenDesc for a keyed record entry. You can use AEStreamWriteData
+ after opening a keyed desc.
+*/
+/*
+ * AEStreamOpenKeyDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamOpenKeyDesc(
+ AEStreamRef ref,
+ AEKeyword key,
+ DescType newType);
+
+
+/* Write a key to the stream - you can follow this with an AEWriteDesc.*/
+/*
+ * AEStreamWriteKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamWriteKey(
+ AEStreamRef ref,
+ AEKeyword key);
+
+
+/*
+ Create a complete AppleEvent. This creates and returns a new stream.
+ Use this call to populate the meta fields in an AppleEvent record.
+ After this, you can add your records, lists and other parameters.
+*/
+/*
+ * AEStreamCreateEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AEStreamRef )
+AEStreamCreateEvent(
+ AEEventClass clazz,
+ AEEventID id,
+ DescType targetType,
+ const void * targetData,
+ long targetLength,
+ short returnID,
+ long transactionID);
+
+
+/*
+ This call lets you augment an existing AppleEvent using the stream
+ APIs. This would be useful, for example, in constructing the reply
+ record in an AppleEvent handler. Note that AEStreamOpenEvent will
+ consume the AppleEvent passed in - you can't access it again until the
+ stream is closed. When you're done building the event, AEStreamCloseStream
+ will reconstitute it.
+*/
+/*
+ * AEStreamOpenEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AEStreamRef )
+AEStreamOpenEvent(AppleEvent * event);
+
+
+/* Mark a keyword as being an optional parameter.*/
+/*
+ * AEStreamOptionalParam()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEStreamOptionalParam(
+ AEStreamRef ref,
+ AEKeyword key);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AEInteraction.h b/include/qt/AEInteraction.h
index 4a1fcccab..6e9c5d61d 100644
--- a/include/qt/AEInteraction.h
+++ b/include/qt/AEInteraction.h
@@ -1,17 +1,17 @@
/*
File: AEInteraction.h
-
+
Contains: AppleEvent functions that deal with Events and interacting with user
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AEINTERACTION__
#define __AEINTERACTION__
@@ -44,369 +44,348 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /**************************************************************************
- AppleEvent callbacks.
- **************************************************************************/
- typedef CALLBACK_API(Boolean , AEIdleProcPtr)(EventRecord *theEvent, long *sleepTime, RgnHandle *mouseRgn);
- typedef CALLBACK_API(Boolean , AEFilterProcPtr)(EventRecord *theEvent, long returnID, long transactionID, const AEAddressDesc *sender);
- typedef STACK_UPP_TYPE(AEIdleProcPtr) AEIdleUPP;
- typedef STACK_UPP_TYPE(AEFilterProcPtr) AEFilterUPP;
-
- /**************************************************************************
- The next couple of calls are basic routines used to create, send,
- and process AppleEvents.
- **************************************************************************/
- /*
- * AESend()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AESend(
- const AppleEvent * theAppleEvent,
- AppleEvent * reply,
- AESendMode sendMode,
- AESendPriority sendPriority,
- long timeOutInTicks,
- AEIdleUPP idleProc, /* can be NULL */
- AEFilterUPP filterProc) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0D17, 0xA816);
-
-
- /*
- * AEProcessAppleEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEProcessAppleEvent(const EventRecord * theEventRecord) THREEWORDINLINE(0x303C, 0x021B, 0xA816);
-
-
-
- /*
- Note: during event processing, an event handler may realize that it is likely
- to exceed the client's timeout limit. Passing the reply to this
- routine causes a wait event to be generated that asks the client
- for more time.
- */
- /*
- * AEResetTimer()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEResetTimer(const AppleEvent * reply) THREEWORDINLINE(0x303C, 0x0219, 0xA816);
-
-
-
- /**************************************************************************
- The following three calls are used to allow applications to behave
- courteously when a user interaction such as a dialog box is needed.
- **************************************************************************/
-
- typedef SInt8 AEInteractAllowed;
- enum
- {
- kAEInteractWithSelf = 0,
- kAEInteractWithLocal = 1,
- kAEInteractWithAll = 2
- };
-
- /*
- * AEGetInteractionAllowed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetInteractionAllowed(AEInteractAllowed * level) THREEWORDINLINE(0x303C, 0x021D, 0xA816);
-
-
- /*
- * AESetInteractionAllowed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AESetInteractionAllowed(AEInteractAllowed level) THREEWORDINLINE(0x303C, 0x011E, 0xA816);
-
-
- /*
- * AEInteractWithUser()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEInteractWithUser(
- long timeOutInTicks,
- NMRecPtr nmReqPtr,
- AEIdleUPP idleProc) THREEWORDINLINE(0x303C, 0x061C, 0xA816);
-
-
-
- /**************************************************************************
- The following four calls are available for applications which need more
- sophisticated control over when and how events are processed. Applications
- which implement multi-session servers or which implement their own
- internal event queueing will probably be the major clients of these
- routines. They can be called from within a handler to prevent the AEM from
- disposing of the AppleEvent when the handler returns. They can be used to
- asynchronously process the event (as MacApp does).
- **************************************************************************/
- /*
- * AESuspendTheCurrentEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AESuspendTheCurrentEvent(const AppleEvent * theAppleEvent) THREEWORDINLINE(0x303C, 0x022B, 0xA816);
-
-
- /*
- Note: The following routine tells the AppleEvent manager that processing
- is either about to resume or has been completed on a previously suspended
- event. The procPtr passed in as the dispatcher parameter will be called to
- attempt to redispatch the event. Several constants for the dispatcher
- parameter allow special behavior. They are:
- - kAEUseStandardDispatch means redispatch as if the event was just
- received, using the standard AppleEvent dispatch mechanism.
- - kAENoDispatch means ignore the parameter.
- Use this in the case where the event has been handled and no
- redispatch is needed.
- - non nil means call the routine which the dispatcher points to.
- */
- /* Constants for Refcon in AEResumeTheCurrentEvent with kAEUseStandardDispatch */
- enum
- {
- kAEDoNotIgnoreHandler = 0x00000000,
- kAEIgnoreAppPhacHandler = 0x00000001, /* available only in vers 1.0.1 and greater */
- kAEIgnoreAppEventHandler = 0x00000002, /* available only in vers 1.0.1 and greater */
- kAEIgnoreSysPhacHandler = 0x00000004, /* available only in vers 1.0.1 and greater */
- kAEIgnoreSysEventHandler = 0x00000008, /* available only in vers 1.0.1 and greater */
- kAEIngoreBuiltInEventHandler = 0x00000010, /* available only in vers 1.0.1 and greater */
- kAEDontDisposeOnResume = (long)0x80000000 /* available only in vers 1.0.1 and greater */
- };
-
- /* Constants for AEResumeTheCurrentEvent */
- enum
- {
- kAENoDispatch = 0, /* dispatch parameter to AEResumeTheCurrentEvent takes a pointer to a dispatch */
- kAEUseStandardDispatch = (long)0xFFFFFFFF /* table, or one of these two constants */
- };
-
- /*
- * AEResumeTheCurrentEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEResumeTheCurrentEvent(
- const AppleEvent * theAppleEvent,
- const AppleEvent * reply,
- AEEventHandlerUPP dispatcher, /* can be NULL */
- long handlerRefcon) THREEWORDINLINE(0x303C, 0x0818, 0xA816);
-
-
- /*
- * AEGetTheCurrentEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetTheCurrentEvent(AppleEvent * theAppleEvent) THREEWORDINLINE(0x303C, 0x021A, 0xA816);
-
-
- /*
- * AESetTheCurrentEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AESetTheCurrentEvent(const AppleEvent * theAppleEvent) THREEWORDINLINE(0x303C, 0x022C, 0xA816);
-
-
-
- /**************************************************************************
- AppleEvent callbacks.
- **************************************************************************/
- /*
- * NewAEIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AEIdleUPP)
- NewAEIdleUPP(AEIdleProcPtr userRoutine);
+/**************************************************************************
+ AppleEvent callbacks.
+**************************************************************************/
+typedef CALLBACK_API( Boolean , AEIdleProcPtr )(EventRecord *theEvent, long *sleepTime, RgnHandle *mouseRgn);
+typedef CALLBACK_API( Boolean , AEFilterProcPtr )(EventRecord *theEvent, long returnID, long transactionID, const AEAddressDesc *sender);
+typedef STACK_UPP_TYPE(AEIdleProcPtr) AEIdleUPP;
+typedef STACK_UPP_TYPE(AEFilterProcPtr) AEFilterUPP;
+
+/**************************************************************************
+ The next couple of calls are basic routines used to create, send,
+ and process AppleEvents.
+**************************************************************************/
+/*
+ * AESend()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AESend(
+ const AppleEvent * theAppleEvent,
+ AppleEvent * reply,
+ AESendMode sendMode,
+ AESendPriority sendPriority,
+ long timeOutInTicks,
+ AEIdleUPP idleProc, /* can be NULL */
+ AEFilterUPP filterProc) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0D17, 0xA816);
+
+
+/*
+ * AEProcessAppleEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEProcessAppleEvent(const EventRecord * theEventRecord) THREEWORDINLINE(0x303C, 0x021B, 0xA816);
+
+
+
+/*
+ Note: during event processing, an event handler may realize that it is likely
+ to exceed the client's timeout limit. Passing the reply to this
+ routine causes a wait event to be generated that asks the client
+ for more time.
+*/
+/*
+ * AEResetTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEResetTimer(const AppleEvent * reply) THREEWORDINLINE(0x303C, 0x0219, 0xA816);
+
+
+
+/**************************************************************************
+ The following three calls are used to allow applications to behave
+ courteously when a user interaction such as a dialog box is needed.
+**************************************************************************/
+
+typedef SInt8 AEInteractAllowed;
+enum {
+ kAEInteractWithSelf = 0,
+ kAEInteractWithLocal = 1,
+ kAEInteractWithAll = 2
+};
+
+/*
+ * AEGetInteractionAllowed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetInteractionAllowed(AEInteractAllowed * level) THREEWORDINLINE(0x303C, 0x021D, 0xA816);
+
+
+/*
+ * AESetInteractionAllowed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AESetInteractionAllowed(AEInteractAllowed level) THREEWORDINLINE(0x303C, 0x011E, 0xA816);
+
+
+/*
+ * AEInteractWithUser()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEInteractWithUser(
+ long timeOutInTicks,
+ NMRecPtr nmReqPtr,
+ AEIdleUPP idleProc) THREEWORDINLINE(0x303C, 0x061C, 0xA816);
+
+
+
+/**************************************************************************
+ The following four calls are available for applications which need more
+ sophisticated control over when and how events are processed. Applications
+ which implement multi-session servers or which implement their own
+ internal event queueing will probably be the major clients of these
+ routines. They can be called from within a handler to prevent the AEM from
+ disposing of the AppleEvent when the handler returns. They can be used to
+ asynchronously process the event (as MacApp does).
+**************************************************************************/
+/*
+ * AESuspendTheCurrentEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AESuspendTheCurrentEvent(const AppleEvent * theAppleEvent) THREEWORDINLINE(0x303C, 0x022B, 0xA816);
+
+
+/*
+ Note: The following routine tells the AppleEvent manager that processing
+ is either about to resume or has been completed on a previously suspended
+ event. The procPtr passed in as the dispatcher parameter will be called to
+ attempt to redispatch the event. Several constants for the dispatcher
+ parameter allow special behavior. They are:
+ - kAEUseStandardDispatch means redispatch as if the event was just
+ received, using the standard AppleEvent dispatch mechanism.
+ - kAENoDispatch means ignore the parameter.
+ Use this in the case where the event has been handled and no
+ redispatch is needed.
+ - non nil means call the routine which the dispatcher points to.
+*/
+/* Constants for Refcon in AEResumeTheCurrentEvent with kAEUseStandardDispatch */
+enum {
+ kAEDoNotIgnoreHandler = 0x00000000,
+ kAEIgnoreAppPhacHandler = 0x00000001, /* available only in vers 1.0.1 and greater */
+ kAEIgnoreAppEventHandler = 0x00000002, /* available only in vers 1.0.1 and greater */
+ kAEIgnoreSysPhacHandler = 0x00000004, /* available only in vers 1.0.1 and greater */
+ kAEIgnoreSysEventHandler = 0x00000008, /* available only in vers 1.0.1 and greater */
+ kAEIngoreBuiltInEventHandler = 0x00000010, /* available only in vers 1.0.1 and greater */
+ kAEDontDisposeOnResume = (long)0x80000000 /* available only in vers 1.0.1 and greater */
+};
+
+/* Constants for AEResumeTheCurrentEvent */
+enum {
+ kAENoDispatch = 0, /* dispatch parameter to AEResumeTheCurrentEvent takes a pointer to a dispatch */
+ kAEUseStandardDispatch = (long)0xFFFFFFFF /* table, or one of these two constants */
+};
+
+/*
+ * AEResumeTheCurrentEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEResumeTheCurrentEvent(
+ const AppleEvent * theAppleEvent,
+ const AppleEvent * reply,
+ AEEventHandlerUPP dispatcher, /* can be NULL */
+ long handlerRefcon) THREEWORDINLINE(0x303C, 0x0818, 0xA816);
+
+
+/*
+ * AEGetTheCurrentEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetTheCurrentEvent(AppleEvent * theAppleEvent) THREEWORDINLINE(0x303C, 0x021A, 0xA816);
+
+
+/*
+ * AESetTheCurrentEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AESetTheCurrentEvent(const AppleEvent * theAppleEvent) THREEWORDINLINE(0x303C, 0x022C, 0xA816);
+
+
+
+/**************************************************************************
+ AppleEvent callbacks.
+**************************************************************************/
+/*
+ * NewAEIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AEIdleUPP )
+NewAEIdleUPP(AEIdleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAEIdleProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AEIdleUPP) NewAEIdleUPP(AEIdleProcPtr userRoutine)
- {
- return (AEIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEIdleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAEIdleUPP(userRoutine) (AEIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEIdleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAEIdleProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AEIdleUPP) NewAEIdleUPP(AEIdleProcPtr userRoutine) { return (AEIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEIdleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAEIdleUPP(userRoutine) (AEIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEIdleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewAEFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AEFilterUPP)
- NewAEFilterUPP(AEFilterProcPtr userRoutine);
+/*
+ * NewAEFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AEFilterUPP )
+NewAEFilterUPP(AEFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAEFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AEFilterUPP) NewAEFilterUPP(AEFilterProcPtr userRoutine)
- {
- return (AEFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAEFilterUPP(userRoutine) (AEFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAEFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AEFilterUPP) NewAEFilterUPP(AEFilterProcPtr userRoutine) { return (AEFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAEFilterUPP(userRoutine) (AEFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAEFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeAEIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAEIdleUPP(AEIdleUPP userUPP);
+/*
+ * DisposeAEIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAEIdleUPP(AEIdleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAEIdleUPP(AEIdleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAEIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAEIdleUPP(AEIdleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAEIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeAEFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAEFilterUPP(AEFilterUPP userUPP);
+/*
+ * DisposeAEFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAEFilterUPP(AEFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAEFilterUPP(AEFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAEFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAEFilterUPP(AEFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAEFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeAEIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeAEIdleUPP(
- EventRecord * theEvent,
- long * sleepTime,
- RgnHandle * mouseRgn,
- AEIdleUPP userUPP);
+/*
+ * InvokeAEIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeAEIdleUPP(
+ EventRecord * theEvent,
+ long * sleepTime,
+ RgnHandle * mouseRgn,
+ AEIdleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeAEIdleUPP(EventRecord * theEvent, long * sleepTime, RgnHandle * mouseRgn, AEIdleUPP userUPP)
- {
- return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppAEIdleProcInfo, theEvent, sleepTime, mouseRgn);
- }
-#else
-#define InvokeAEIdleUPP(theEvent, sleepTime, mouseRgn, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppAEIdleProcInfo, (theEvent), (sleepTime), (mouseRgn))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeAEIdleUPP(EventRecord * theEvent, long * sleepTime, RgnHandle * mouseRgn, AEIdleUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppAEIdleProcInfo, theEvent, sleepTime, mouseRgn); }
+ #else
+ #define InvokeAEIdleUPP(theEvent, sleepTime, mouseRgn, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppAEIdleProcInfo, (theEvent), (sleepTime), (mouseRgn))
+ #endif
#endif
- /*
- * InvokeAEFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeAEFilterUPP(
- EventRecord * theEvent,
- long returnID,
- long transactionID,
- const AEAddressDesc * sender,
- AEFilterUPP userUPP);
+/*
+ * InvokeAEFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeAEFilterUPP(
+ EventRecord * theEvent,
+ long returnID,
+ long transactionID,
+ const AEAddressDesc * sender,
+ AEFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeAEFilterUPP(EventRecord * theEvent, long returnID, long transactionID, const AEAddressDesc * sender, AEFilterUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppAEFilterProcInfo, theEvent, returnID, transactionID, sender);
- }
-#else
-#define InvokeAEFilterUPP(theEvent, returnID, transactionID, sender, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppAEFilterProcInfo, (theEvent), (returnID), (transactionID), (sender))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeAEFilterUPP(EventRecord * theEvent, long returnID, long transactionID, const AEAddressDesc * sender, AEFilterUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppAEFilterProcInfo, theEvent, returnID, transactionID, sender); }
+ #else
+ #define InvokeAEFilterUPP(theEvent, returnID, transactionID, sender, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppAEFilterProcInfo, (theEvent), (returnID), (transactionID), (sender))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewAEIdleProc(userRoutine) NewAEIdleUPP(userRoutine)
-#define NewAEFilterProc(userRoutine) NewAEFilterUPP(userRoutine)
-#define CallAEIdleProc(userRoutine, theEvent, sleepTime, mouseRgn) InvokeAEIdleUPP(theEvent, sleepTime, mouseRgn, userRoutine)
-#define CallAEFilterProc(userRoutine, theEvent, returnID, transactionID, sender) InvokeAEFilterUPP(theEvent, returnID, transactionID, sender, userRoutine)
+ #define NewAEIdleProc(userRoutine) NewAEIdleUPP(userRoutine)
+ #define NewAEFilterProc(userRoutine) NewAEFilterUPP(userRoutine)
+ #define CallAEIdleProc(userRoutine, theEvent, sleepTime, mouseRgn) InvokeAEIdleUPP(theEvent, sleepTime, mouseRgn, userRoutine)
+ #define CallAEFilterProc(userRoutine, theEvent, returnID, transactionID, sender) InvokeAEFilterUPP(theEvent, returnID, transactionID, sender, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
@@ -414,11 +393,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AEMach.h b/include/qt/AEMach.h
index 8fec6df64..552758010 100644
--- a/include/qt/AEMach.h
+++ b/include/qt/AEMach.h
@@ -1,17 +1,17 @@
/*
File: AEMach.h
-
+
Contains: AppleEvent over mach_msg interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AEMACH__
#define __AEMACH__
@@ -43,127 +43,126 @@ extern "C" {
#pragma import on
#endif
- /*-
- * AE Mach API --
- *
- * AppleEvents on OS X are implemented in terms of mach messages.
- * To facilitate writing server processes that can send and receive
- * AppleEvents, the following APIs are provided.
- *
- * AppleEvents are directed to a well known port uniquely tied to a
- * process. The AE framework will discover this port based on the
- * keyAddressAttr of the event (as specifed in AECreateAppleEvent by
- * the target parameter.) If a port cannot be found,
- * procNotFound (-600) will be returned on AESend.
- *
- * Of note is a new attribute for an AppleEvent, keyReplyPortAttr.
- * This specifies the mach_port_t to which an AppleEvent reply
- * should be directed. By default, replies are sent to the
- * processes registered port where they are culled from the normal
- * event stream if there is an outstanding AESend + kAEWaitReply.
- * But it may be desirable for a client to specify their own port to
- * receive quued replies.
- * (In the case of AESendMessage with kAEWaitReply specified, an
- * anonymous port will be used to block until the reply is received.)
- *
- * Not supplied is a convenience routine to block a server and
- * process AppleEvents. This implementation will be detailed in a
- * tech note.
- **/
- enum {
- keyReplyPortAttr = FOUR_CHAR_CODE('repp')
- };
-
- /* typeReplyPortAttr was misnamed and is deprecated; use keyReplyPortAttr instead. */
- enum
- {
- typeReplyPortAttr = keyReplyPortAttr
- };
-
- /*-
- * Return the mach_port_t that was registered with the bootstrap
- * server for this process. This port is considered public, and
- * will be used by other applications to target your process. You
- * are free to use this mach_port_t to add to a port set, if and
- * only if, you are not also using routines from HIToolbox. In that
- * case, HIToolbox retains control of this port and AppleEvents are
- * dispatched through the main event loop.
- **/
- /*
- * AEGetRegisteredMachPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(mach_port_t)
- AEGetRegisteredMachPort(void);
-
-
- /*-
- * Decode a mach_msg into an AppleEvent and its related reply. (The
- * reply is set up from fields of the event.) You can call this
- * routine if you wish to dispatch or handle the event yourself. To
- * return a reply to the sender, you should call:
- *
- * AESendMessage(reply, NULL, kAENoReply, kAENormalPriority, kAEDefaultTimeout);
- *
- * The contents of the header are invalid after this call.
- **/
- /*
- * AEDecodeMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEDecodeMessage(
- mach_msg_header_t * header,
- AppleEvent * event,
- AppleEvent * reply); /* can be NULL */
-
-
- /*-
- * Decodes and dispatches an event to an event handler. Handles
- * packaging and returning the reply to the sender.
- *
- * The contents of the header are invalid after this call.
- **/
- /*
- * AEProcessMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AEProcessMessage(mach_msg_header_t * header);
-
-
- /*-
- * Send an AppleEvent to a target process. If the target is the
- * current process (as specified by using typeProcessSerialNumber of
- * { 0, kCurrentProcess } it is dispatched directly to the
- * appropriate event handler in your process and not serialized.
- **/
- /*
- * AESendMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AESendMessage(
- const AppleEvent * event,
- AppleEvent * reply, /* can be NULL */
- AESendMode sendMode,
- long timeOutInTicks);
+/*-
+ * AE Mach API --
+ *
+ * AppleEvents on OS X are implemented in terms of mach messages.
+ * To facilitate writing server processes that can send and receive
+ * AppleEvents, the following APIs are provided.
+ *
+ * AppleEvents are directed to a well known port uniquely tied to a
+ * process. The AE framework will discover this port based on the
+ * keyAddressAttr of the event (as specifed in AECreateAppleEvent by
+ * the target parameter.) If a port cannot be found,
+ * procNotFound (-600) will be returned on AESend.
+ *
+ * Of note is a new attribute for an AppleEvent, keyReplyPortAttr.
+ * This specifies the mach_port_t to which an AppleEvent reply
+ * should be directed. By default, replies are sent to the
+ * processes registered port where they are culled from the normal
+ * event stream if there is an outstanding AESend + kAEWaitReply.
+ * But it may be desirable for a client to specify their own port to
+ * receive quued replies.
+ * (In the case of AESendMessage with kAEWaitReply specified, an
+ * anonymous port will be used to block until the reply is received.)
+ *
+ * Not supplied is a convenience routine to block a server and
+ * process AppleEvents. This implementation will be detailed in a
+ * tech note.
+ **/
+enum {
+ keyReplyPortAttr = FOUR_CHAR_CODE('repp')
+};
+
+/* typeReplyPortAttr was misnamed and is deprecated; use keyReplyPortAttr instead. */
+enum {
+ typeReplyPortAttr = keyReplyPortAttr
+};
+
+/*-
+ * Return the mach_port_t that was registered with the bootstrap
+ * server for this process. This port is considered public, and
+ * will be used by other applications to target your process. You
+ * are free to use this mach_port_t to add to a port set, if and
+ * only if, you are not also using routines from HIToolbox. In that
+ * case, HIToolbox retains control of this port and AppleEvents are
+ * dispatched through the main event loop.
+ **/
+/*
+ * AEGetRegisteredMachPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( mach_port_t )
+AEGetRegisteredMachPort(void);
+
+
+/*-
+ * Decode a mach_msg into an AppleEvent and its related reply. (The
+ * reply is set up from fields of the event.) You can call this
+ * routine if you wish to dispatch or handle the event yourself. To
+ * return a reply to the sender, you should call:
+ *
+ * AESendMessage(reply, NULL, kAENoReply, kAENormalPriority, kAEDefaultTimeout);
+ *
+ * The contents of the header are invalid after this call.
+ **/
+/*
+ * AEDecodeMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEDecodeMessage(
+ mach_msg_header_t * header,
+ AppleEvent * event,
+ AppleEvent * reply); /* can be NULL */
+
+
+/*-
+ * Decodes and dispatches an event to an event handler. Handles
+ * packaging and returning the reply to the sender.
+ *
+ * The contents of the header are invalid after this call.
+ **/
+/*
+ * AEProcessMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AEProcessMessage(mach_msg_header_t * header);
+
+
+/*-
+ * Send an AppleEvent to a target process. If the target is the
+ * current process (as specified by using typeProcessSerialNumber of
+ * { 0, kCurrentProcess } it is dispatched directly to the
+ * appropriate event handler in your process and not serialized.
+ **/
+/*
+ * AESendMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AESendMessage(
+ const AppleEvent * event,
+ AppleEvent * reply, /* can be NULL */
+ AESendMode sendMode,
+ long timeOutInTicks);
diff --git a/include/qt/AEObjects.h b/include/qt/AEObjects.h
index c8689bfed..8bbde4b12 100644
--- a/include/qt/AEObjects.h
+++ b/include/qt/AEObjects.h
@@ -1,17 +1,17 @@
/*
File: AEObjects.h
-
+
Contains: Object Support Library Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AEOBJECTS__
#define __AEOBJECTS__
@@ -44,844 +44,767 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- enum {
- /**** LOGICAL OPERATOR CONSTANTS ****/
- kAEAND = FOUR_CHAR_CODE('AND '), /* 0x414e4420 */
- kAEOR = FOUR_CHAR_CODE('OR '), /* 0x4f522020 */
- kAENOT = FOUR_CHAR_CODE('NOT '), /* 0x4e4f5420 */
- /**** ABSOLUTE ORDINAL CONSTANTS ****/
- kAEFirst = FOUR_CHAR_CODE('firs'), /* 0x66697273 */
- kAELast = FOUR_CHAR_CODE('last'), /* 0x6c617374 */
- kAEMiddle = FOUR_CHAR_CODE('midd'), /* 0x6d696464 */
- kAEAny = FOUR_CHAR_CODE('any '), /* 0x616e7920 */
- kAEAll = FOUR_CHAR_CODE('all '), /* 0x616c6c20 */
- /**** RELATIVE ORDINAL CONSTANTS ****/
- kAENext = FOUR_CHAR_CODE('next'), /* 0x6e657874 */
- kAEPrevious = FOUR_CHAR_CODE('prev'), /* 0x70726576 */
- /**** KEYWORD CONSTANT ****/
- keyAECompOperator = FOUR_CHAR_CODE('relo'), /* 0x72656c6f */
- keyAELogicalTerms = FOUR_CHAR_CODE('term'), /* 0x7465726d */
- keyAELogicalOperator = FOUR_CHAR_CODE('logc'), /* 0x6c6f6763 */
- keyAEObject1 = FOUR_CHAR_CODE('obj1'), /* 0x6f626a31 */
- keyAEObject2 = FOUR_CHAR_CODE('obj2'), /* 0x6f626a32 */
- /* ... for Keywords for getting fields out of object specifier records. */
- keyAEDesiredClass = FOUR_CHAR_CODE('want'), /* 0x77616e74 */
- keyAEContainer = FOUR_CHAR_CODE('from'), /* 0x66726f6d */
- keyAEKeyForm = FOUR_CHAR_CODE('form'), /* 0x666f726d */
- keyAEKeyData = FOUR_CHAR_CODE('seld') /* 0x73656c64 */
- };
-
- enum
- {
- /* ... for Keywords for getting fields out of Range specifier records. */
- keyAERangeStart = FOUR_CHAR_CODE('star'), /* 0x73746172 */
- keyAERangeStop = FOUR_CHAR_CODE('stop'), /* 0x73746f70 */
- /* ... special handler selectors for OSL Callbacks. */
- keyDisposeTokenProc = FOUR_CHAR_CODE('xtok'), /* 0x78746f6b */
- keyAECompareProc = FOUR_CHAR_CODE('cmpr'), /* 0x636d7072 */
- keyAECountProc = FOUR_CHAR_CODE('cont'), /* 0x636f6e74 */
- keyAEMarkTokenProc = FOUR_CHAR_CODE('mkid'), /* 0x6d6b6964 */
- keyAEMarkProc = FOUR_CHAR_CODE('mark'), /* 0x6d61726b */
- keyAEAdjustMarksProc = FOUR_CHAR_CODE('adjm'), /* 0x61646a6d */
- keyAEGetErrDescProc = FOUR_CHAR_CODE('indc') /* 0x696e6463 */
- };
-
- /**** VALUE and TYPE CONSTANTS ****/
- enum
- {
- /* ... possible values for the keyAEKeyForm field of an object specifier. */
- formAbsolutePosition = FOUR_CHAR_CODE('indx'), /* 0x696e6478 */
- formRelativePosition = FOUR_CHAR_CODE('rele'), /* 0x72656c65 */
- formTest = FOUR_CHAR_CODE('test'), /* 0x74657374 */
- formRange = FOUR_CHAR_CODE('rang'), /* 0x72616e67 */
- formPropertyID = FOUR_CHAR_CODE('prop'), /* 0x70726f70 */
- formName = FOUR_CHAR_CODE('name'), /* 0x6e616d65 */
- /* ... relevant types (some of these are often pared with forms above). */
- typeObjectSpecifier = FOUR_CHAR_CODE('obj '), /* 0x6f626a20 */
- typeObjectBeingExamined = FOUR_CHAR_CODE('exmn'), /* 0x65786d6e */
- typeCurrentContainer = FOUR_CHAR_CODE('ccnt'), /* 0x63636e74 */
- typeToken = FOUR_CHAR_CODE('toke'), /* 0x746f6b65 */
- typeRelativeDescriptor = FOUR_CHAR_CODE('rel '), /* 0x72656c20 */
- typeAbsoluteOrdinal = FOUR_CHAR_CODE('abso'), /* 0x6162736f */
- typeIndexDescriptor = FOUR_CHAR_CODE('inde'), /* 0x696e6465 */
- typeRangeDescriptor = FOUR_CHAR_CODE('rang'), /* 0x72616e67 */
- typeLogicalDescriptor = FOUR_CHAR_CODE('logi'), /* 0x6c6f6769 */
- typeCompDescriptor = FOUR_CHAR_CODE('cmpd'), /* 0x636d7064 */
- typeOSLTokenList = FOUR_CHAR_CODE('ostl') /* 0x6F73746C */
- };
-
- /* Possible values for flags parameter to AEResolve. They're additive */
- enum
- {
- kAEIDoMinimum = 0x0000,
- kAEIDoWhose = 0x0001,
- kAEIDoMarking = 0x0004,
- kAEPassSubDescs = 0x0008,
- kAEResolveNestedLists = 0x0010,
- kAEHandleSimpleRanges = 0x0020,
- kAEUseRelativeIterators = 0x0040
- };
-
- /**** SPECIAL CONSTANTS FOR CUSTOM WHOSE-CLAUSE RESOLUTION */
- enum
- {
- typeWhoseDescriptor = FOUR_CHAR_CODE('whos'), /* 0x77686f73 */
- formWhose = FOUR_CHAR_CODE('whos'), /* 0x77686f73 */
- typeWhoseRange = FOUR_CHAR_CODE('wrng'), /* 0x77726e67 */
- keyAEWhoseRangeStart = FOUR_CHAR_CODE('wstr'), /* 0x77737472 */
- keyAEWhoseRangeStop = FOUR_CHAR_CODE('wstp'), /* 0x77737470 */
- keyAEIndex = FOUR_CHAR_CODE('kidx'), /* 0x6b696478 */
- keyAETest = FOUR_CHAR_CODE('ktst') /* 0x6b747374 */
- };
-
- /*
- used for rewriting tokens in place of 'ccnt' descriptors
- This record is only of interest to those who, when they...
- ...get ranges as key data in their accessor procs, choose
- ...to resolve them manually rather than call AEResolve again.
- */
- struct ccntTokenRecord
- {
- DescType tokenClass;
- AEDesc token;
- };
- typedef struct ccntTokenRecord ccntTokenRecord;
- typedef ccntTokenRecord * ccntTokenRecPtr;
- typedef ccntTokenRecPtr * ccntTokenRecHandle;
+ #pragma pack(2)
+#endif
+
+enum {
+ /**** LOGICAL OPERATOR CONSTANTS ****/
+ kAEAND = FOUR_CHAR_CODE('AND '), /* 0x414e4420 */
+ kAEOR = FOUR_CHAR_CODE('OR '), /* 0x4f522020 */
+ kAENOT = FOUR_CHAR_CODE('NOT '), /* 0x4e4f5420 */
+ /**** ABSOLUTE ORDINAL CONSTANTS ****/
+ kAEFirst = FOUR_CHAR_CODE('firs'), /* 0x66697273 */
+ kAELast = FOUR_CHAR_CODE('last'), /* 0x6c617374 */
+ kAEMiddle = FOUR_CHAR_CODE('midd'), /* 0x6d696464 */
+ kAEAny = FOUR_CHAR_CODE('any '), /* 0x616e7920 */
+ kAEAll = FOUR_CHAR_CODE('all '), /* 0x616c6c20 */
+ /**** RELATIVE ORDINAL CONSTANTS ****/
+ kAENext = FOUR_CHAR_CODE('next'), /* 0x6e657874 */
+ kAEPrevious = FOUR_CHAR_CODE('prev'), /* 0x70726576 */
+ /**** KEYWORD CONSTANT ****/
+ keyAECompOperator = FOUR_CHAR_CODE('relo'), /* 0x72656c6f */
+ keyAELogicalTerms = FOUR_CHAR_CODE('term'), /* 0x7465726d */
+ keyAELogicalOperator = FOUR_CHAR_CODE('logc'), /* 0x6c6f6763 */
+ keyAEObject1 = FOUR_CHAR_CODE('obj1'), /* 0x6f626a31 */
+ keyAEObject2 = FOUR_CHAR_CODE('obj2'), /* 0x6f626a32 */
+ /* ... for Keywords for getting fields out of object specifier records. */
+ keyAEDesiredClass = FOUR_CHAR_CODE('want'), /* 0x77616e74 */
+ keyAEContainer = FOUR_CHAR_CODE('from'), /* 0x66726f6d */
+ keyAEKeyForm = FOUR_CHAR_CODE('form'), /* 0x666f726d */
+ keyAEKeyData = FOUR_CHAR_CODE('seld') /* 0x73656c64 */
+};
+
+enum {
+ /* ... for Keywords for getting fields out of Range specifier records. */
+ keyAERangeStart = FOUR_CHAR_CODE('star'), /* 0x73746172 */
+ keyAERangeStop = FOUR_CHAR_CODE('stop'), /* 0x73746f70 */
+ /* ... special handler selectors for OSL Callbacks. */
+ keyDisposeTokenProc = FOUR_CHAR_CODE('xtok'), /* 0x78746f6b */
+ keyAECompareProc = FOUR_CHAR_CODE('cmpr'), /* 0x636d7072 */
+ keyAECountProc = FOUR_CHAR_CODE('cont'), /* 0x636f6e74 */
+ keyAEMarkTokenProc = FOUR_CHAR_CODE('mkid'), /* 0x6d6b6964 */
+ keyAEMarkProc = FOUR_CHAR_CODE('mark'), /* 0x6d61726b */
+ keyAEAdjustMarksProc = FOUR_CHAR_CODE('adjm'), /* 0x61646a6d */
+ keyAEGetErrDescProc = FOUR_CHAR_CODE('indc') /* 0x696e6463 */
+};
+
+/**** VALUE and TYPE CONSTANTS ****/
+enum {
+ /* ... possible values for the keyAEKeyForm field of an object specifier. */
+ formAbsolutePosition = FOUR_CHAR_CODE('indx'), /* 0x696e6478 */
+ formRelativePosition = FOUR_CHAR_CODE('rele'), /* 0x72656c65 */
+ formTest = FOUR_CHAR_CODE('test'), /* 0x74657374 */
+ formRange = FOUR_CHAR_CODE('rang'), /* 0x72616e67 */
+ formPropertyID = FOUR_CHAR_CODE('prop'), /* 0x70726f70 */
+ formName = FOUR_CHAR_CODE('name'), /* 0x6e616d65 */
+ /* ... relevant types (some of these are often pared with forms above). */
+ typeObjectSpecifier = FOUR_CHAR_CODE('obj '), /* 0x6f626a20 */
+ typeObjectBeingExamined = FOUR_CHAR_CODE('exmn'), /* 0x65786d6e */
+ typeCurrentContainer = FOUR_CHAR_CODE('ccnt'), /* 0x63636e74 */
+ typeToken = FOUR_CHAR_CODE('toke'), /* 0x746f6b65 */
+ typeRelativeDescriptor = FOUR_CHAR_CODE('rel '), /* 0x72656c20 */
+ typeAbsoluteOrdinal = FOUR_CHAR_CODE('abso'), /* 0x6162736f */
+ typeIndexDescriptor = FOUR_CHAR_CODE('inde'), /* 0x696e6465 */
+ typeRangeDescriptor = FOUR_CHAR_CODE('rang'), /* 0x72616e67 */
+ typeLogicalDescriptor = FOUR_CHAR_CODE('logi'), /* 0x6c6f6769 */
+ typeCompDescriptor = FOUR_CHAR_CODE('cmpd'), /* 0x636d7064 */
+ typeOSLTokenList = FOUR_CHAR_CODE('ostl') /* 0x6F73746C */
+};
+
+/* Possible values for flags parameter to AEResolve. They're additive */
+enum {
+ kAEIDoMinimum = 0x0000,
+ kAEIDoWhose = 0x0001,
+ kAEIDoMarking = 0x0004,
+ kAEPassSubDescs = 0x0008,
+ kAEResolveNestedLists = 0x0010,
+ kAEHandleSimpleRanges = 0x0020,
+ kAEUseRelativeIterators = 0x0040
+};
+
+/**** SPECIAL CONSTANTS FOR CUSTOM WHOSE-CLAUSE RESOLUTION */
+enum {
+ typeWhoseDescriptor = FOUR_CHAR_CODE('whos'), /* 0x77686f73 */
+ formWhose = FOUR_CHAR_CODE('whos'), /* 0x77686f73 */
+ typeWhoseRange = FOUR_CHAR_CODE('wrng'), /* 0x77726e67 */
+ keyAEWhoseRangeStart = FOUR_CHAR_CODE('wstr'), /* 0x77737472 */
+ keyAEWhoseRangeStop = FOUR_CHAR_CODE('wstp'), /* 0x77737470 */
+ keyAEIndex = FOUR_CHAR_CODE('kidx'), /* 0x6b696478 */
+ keyAETest = FOUR_CHAR_CODE('ktst') /* 0x6b747374 */
+};
+
+/*
+ used for rewriting tokens in place of 'ccnt' descriptors
+ This record is only of interest to those who, when they...
+ ...get ranges as key data in their accessor procs, choose
+ ...to resolve them manually rather than call AEResolve again.
+*/
+struct ccntTokenRecord {
+ DescType tokenClass;
+ AEDesc token;
+};
+typedef struct ccntTokenRecord ccntTokenRecord;
+typedef ccntTokenRecord * ccntTokenRecPtr;
+typedef ccntTokenRecPtr * ccntTokenRecHandle;
#if OLDROUTINENAMES
- typedef AEDesc * DescPtr;
- typedef DescPtr * DescHandle;
+typedef AEDesc * DescPtr;
+typedef DescPtr * DescHandle;
#endif /* OLDROUTINENAMES */
- /* typedefs providing type checking for procedure pointers */
- typedef CALLBACK_API(OSErr , OSLAccessorProcPtr)(DescType desiredClass, const AEDesc *container, DescType containerClass, DescType form, const AEDesc *selectionData, AEDesc *value, long accessorRefcon);
- typedef CALLBACK_API(OSErr , OSLCompareProcPtr)(DescType oper, const AEDesc *obj1, const AEDesc *obj2, Boolean *result);
- typedef CALLBACK_API(OSErr , OSLCountProcPtr)(DescType desiredType, DescType containerClass, const AEDesc *container, long *result);
- typedef CALLBACK_API(OSErr , OSLDisposeTokenProcPtr)(AEDesc * unneededToken);
- typedef CALLBACK_API(OSErr , OSLGetMarkTokenProcPtr)(const AEDesc *dContainerToken, DescType containerClass, AEDesc *result);
- typedef CALLBACK_API(OSErr , OSLGetErrDescProcPtr)(AEDesc ** appDescPtr);
- typedef CALLBACK_API(OSErr , OSLMarkProcPtr)(const AEDesc *dToken, const AEDesc *markToken, long index);
- typedef CALLBACK_API(OSErr , OSLAdjustMarksProcPtr)(long newStart, long newStop, const AEDesc *markToken);
- typedef STACK_UPP_TYPE(OSLAccessorProcPtr) OSLAccessorUPP;
- typedef STACK_UPP_TYPE(OSLCompareProcPtr) OSLCompareUPP;
- typedef STACK_UPP_TYPE(OSLCountProcPtr) OSLCountUPP;
- typedef STACK_UPP_TYPE(OSLDisposeTokenProcPtr) OSLDisposeTokenUPP;
- typedef STACK_UPP_TYPE(OSLGetMarkTokenProcPtr) OSLGetMarkTokenUPP;
- typedef STACK_UPP_TYPE(OSLGetErrDescProcPtr) OSLGetErrDescUPP;
- typedef STACK_UPP_TYPE(OSLMarkProcPtr) OSLMarkUPP;
- typedef STACK_UPP_TYPE(OSLAdjustMarksProcPtr) OSLAdjustMarksUPP;
- /*
- * NewOSLAccessorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSLAccessorUPP)
- NewOSLAccessorUPP(OSLAccessorProcPtr userRoutine);
-#if !OPAQUE_UPP_TYPES
- enum { uppOSLAccessorProcInfo = 0x000FFFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSLAccessorUPP) NewOSLAccessorUPP(OSLAccessorProcPtr userRoutine)
- {
- return (OSLAccessorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAccessorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSLAccessorUPP(userRoutine) (OSLAccessorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAccessorProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewOSLCompareUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSLCompareUPP)
- NewOSLCompareUPP(OSLCompareProcPtr userRoutine);
+/* typedefs providing type checking for procedure pointers */
+typedef CALLBACK_API( OSErr , OSLAccessorProcPtr )(DescType desiredClass, const AEDesc *container, DescType containerClass, DescType form, const AEDesc *selectionData, AEDesc *value, long accessorRefcon);
+typedef CALLBACK_API( OSErr , OSLCompareProcPtr )(DescType oper, const AEDesc *obj1, const AEDesc *obj2, Boolean *result);
+typedef CALLBACK_API( OSErr , OSLCountProcPtr )(DescType desiredType, DescType containerClass, const AEDesc *container, long *result);
+typedef CALLBACK_API( OSErr , OSLDisposeTokenProcPtr )(AEDesc * unneededToken);
+typedef CALLBACK_API( OSErr , OSLGetMarkTokenProcPtr )(const AEDesc *dContainerToken, DescType containerClass, AEDesc *result);
+typedef CALLBACK_API( OSErr , OSLGetErrDescProcPtr )(AEDesc ** appDescPtr);
+typedef CALLBACK_API( OSErr , OSLMarkProcPtr )(const AEDesc *dToken, const AEDesc *markToken, long index);
+typedef CALLBACK_API( OSErr , OSLAdjustMarksProcPtr )(long newStart, long newStop, const AEDesc *markToken);
+typedef STACK_UPP_TYPE(OSLAccessorProcPtr) OSLAccessorUPP;
+typedef STACK_UPP_TYPE(OSLCompareProcPtr) OSLCompareUPP;
+typedef STACK_UPP_TYPE(OSLCountProcPtr) OSLCountUPP;
+typedef STACK_UPP_TYPE(OSLDisposeTokenProcPtr) OSLDisposeTokenUPP;
+typedef STACK_UPP_TYPE(OSLGetMarkTokenProcPtr) OSLGetMarkTokenUPP;
+typedef STACK_UPP_TYPE(OSLGetErrDescProcPtr) OSLGetErrDescUPP;
+typedef STACK_UPP_TYPE(OSLMarkProcPtr) OSLMarkUPP;
+typedef STACK_UPP_TYPE(OSLAdjustMarksProcPtr) OSLAdjustMarksUPP;
+/*
+ * NewOSLAccessorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSLAccessorUPP )
+NewOSLAccessorUPP(OSLAccessorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSLCompareProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSLCompareUPP) NewOSLCompareUPP(OSLCompareProcPtr userRoutine)
- {
- return (OSLCompareUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCompareProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSLCompareUPP(userRoutine) (OSLCompareUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCompareProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewOSLCountUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSLCountUPP)
- NewOSLCountUPP(OSLCountProcPtr userRoutine);
+ enum { uppOSLAccessorProcInfo = 0x000FFFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSLAccessorUPP) NewOSLAccessorUPP(OSLAccessorProcPtr userRoutine) { return (OSLAccessorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAccessorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSLAccessorUPP(userRoutine) (OSLAccessorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAccessorProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewOSLCompareUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSLCompareUPP )
+NewOSLCompareUPP(OSLCompareProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSLCountProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSLCountUPP) NewOSLCountUPP(OSLCountProcPtr userRoutine)
- {
- return (OSLCountUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCountProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSLCountUPP(userRoutine) (OSLCountUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCountProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewOSLDisposeTokenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSLDisposeTokenUPP)
- NewOSLDisposeTokenUPP(OSLDisposeTokenProcPtr userRoutine);
+ enum { uppOSLCompareProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSLCompareUPP) NewOSLCompareUPP(OSLCompareProcPtr userRoutine) { return (OSLCompareUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCompareProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSLCompareUPP(userRoutine) (OSLCompareUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCompareProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewOSLCountUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSLCountUPP )
+NewOSLCountUPP(OSLCountProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSLDisposeTokenProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSLDisposeTokenUPP) NewOSLDisposeTokenUPP(OSLDisposeTokenProcPtr userRoutine)
- {
- return (OSLDisposeTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLDisposeTokenProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSLDisposeTokenUPP(userRoutine) (OSLDisposeTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLDisposeTokenProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewOSLGetMarkTokenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSLGetMarkTokenUPP)
- NewOSLGetMarkTokenUPP(OSLGetMarkTokenProcPtr userRoutine);
+ enum { uppOSLCountProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSLCountUPP) NewOSLCountUPP(OSLCountProcPtr userRoutine) { return (OSLCountUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCountProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSLCountUPP(userRoutine) (OSLCountUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCountProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewOSLDisposeTokenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSLDisposeTokenUPP )
+NewOSLDisposeTokenUPP(OSLDisposeTokenProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSLGetMarkTokenProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSLGetMarkTokenUPP) NewOSLGetMarkTokenUPP(OSLGetMarkTokenProcPtr userRoutine)
- {
- return (OSLGetMarkTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetMarkTokenProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSLGetMarkTokenUPP(userRoutine) (OSLGetMarkTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetMarkTokenProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewOSLGetErrDescUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSLGetErrDescUPP)
- NewOSLGetErrDescUPP(OSLGetErrDescProcPtr userRoutine);
+ enum { uppOSLDisposeTokenProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSLDisposeTokenUPP) NewOSLDisposeTokenUPP(OSLDisposeTokenProcPtr userRoutine) { return (OSLDisposeTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLDisposeTokenProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSLDisposeTokenUPP(userRoutine) (OSLDisposeTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLDisposeTokenProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewOSLGetMarkTokenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSLGetMarkTokenUPP )
+NewOSLGetMarkTokenUPP(OSLGetMarkTokenProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSLGetErrDescProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSLGetErrDescUPP) NewOSLGetErrDescUPP(OSLGetErrDescProcPtr userRoutine)
- {
- return (OSLGetErrDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetErrDescProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSLGetErrDescUPP(userRoutine) (OSLGetErrDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetErrDescProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewOSLMarkUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSLMarkUPP)
- NewOSLMarkUPP(OSLMarkProcPtr userRoutine);
+ enum { uppOSLGetMarkTokenProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSLGetMarkTokenUPP) NewOSLGetMarkTokenUPP(OSLGetMarkTokenProcPtr userRoutine) { return (OSLGetMarkTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetMarkTokenProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSLGetMarkTokenUPP(userRoutine) (OSLGetMarkTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetMarkTokenProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewOSLGetErrDescUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSLGetErrDescUPP )
+NewOSLGetErrDescUPP(OSLGetErrDescProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSLMarkProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSLMarkUPP) NewOSLMarkUPP(OSLMarkProcPtr userRoutine)
- {
- return (OSLMarkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLMarkProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSLMarkUPP(userRoutine) (OSLMarkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLMarkProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewOSLAdjustMarksUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSLAdjustMarksUPP)
- NewOSLAdjustMarksUPP(OSLAdjustMarksProcPtr userRoutine);
+ enum { uppOSLGetErrDescProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSLGetErrDescUPP) NewOSLGetErrDescUPP(OSLGetErrDescProcPtr userRoutine) { return (OSLGetErrDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetErrDescProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSLGetErrDescUPP(userRoutine) (OSLGetErrDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetErrDescProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewOSLMarkUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSLMarkUPP )
+NewOSLMarkUPP(OSLMarkProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSLAdjustMarksProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSLAdjustMarksUPP) NewOSLAdjustMarksUPP(OSLAdjustMarksProcPtr userRoutine)
- {
- return (OSLAdjustMarksUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAdjustMarksProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSLAdjustMarksUPP(userRoutine) (OSLAdjustMarksUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAdjustMarksProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * DisposeOSLAccessorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSLAccessorUPP(OSLAccessorUPP userUPP);
+ enum { uppOSLMarkProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSLMarkUPP) NewOSLMarkUPP(OSLMarkProcPtr userRoutine) { return (OSLMarkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLMarkProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSLMarkUPP(userRoutine) (OSLMarkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLMarkProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewOSLAdjustMarksUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSLAdjustMarksUPP )
+NewOSLAdjustMarksUPP(OSLAdjustMarksProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSLAccessorUPP(OSLAccessorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSLAccessorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeOSLCompareUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSLCompareUPP(OSLCompareUPP userUPP);
+ enum { uppOSLAdjustMarksProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSLAdjustMarksUPP) NewOSLAdjustMarksUPP(OSLAdjustMarksProcPtr userRoutine) { return (OSLAdjustMarksUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAdjustMarksProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSLAdjustMarksUPP(userRoutine) (OSLAdjustMarksUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAdjustMarksProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposeOSLAccessorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSLAccessorUPP(OSLAccessorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSLCompareUPP(OSLCompareUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSLCompareUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeOSLCountUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSLCountUPP(OSLCountUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSLAccessorUPP(OSLAccessorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSLAccessorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeOSLCompareUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSLCompareUPP(OSLCompareUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSLCountUPP(OSLCountUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSLCountUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeOSLDisposeTokenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSLDisposeTokenUPP(OSLDisposeTokenUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSLCompareUPP(OSLCompareUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSLCompareUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeOSLCountUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSLCountUPP(OSLCountUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSLDisposeTokenUPP(OSLDisposeTokenUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSLDisposeTokenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeOSLGetMarkTokenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSLGetMarkTokenUPP(OSLGetMarkTokenUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSLCountUPP(OSLCountUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSLCountUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeOSLDisposeTokenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSLDisposeTokenUPP(OSLDisposeTokenUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSLGetMarkTokenUPP(OSLGetMarkTokenUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSLGetMarkTokenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeOSLGetErrDescUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSLGetErrDescUPP(OSLGetErrDescUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSLDisposeTokenUPP(OSLDisposeTokenUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSLDisposeTokenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeOSLGetMarkTokenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSLGetMarkTokenUPP(OSLGetMarkTokenUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSLGetErrDescUPP(OSLGetErrDescUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSLGetErrDescUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeOSLMarkUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSLMarkUPP(OSLMarkUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSLGetMarkTokenUPP(OSLGetMarkTokenUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSLGetMarkTokenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeOSLGetErrDescUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSLGetErrDescUPP(OSLGetErrDescUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSLMarkUPP(OSLMarkUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSLMarkUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeOSLAdjustMarksUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSLAdjustMarksUPP(OSLAdjustMarksUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSLGetErrDescUPP(OSLGetErrDescUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSLGetErrDescUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeOSLMarkUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSLMarkUPP(OSLMarkUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSLAdjustMarksUPP(OSLAdjustMarksUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSLAdjustMarksUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * InvokeOSLAccessorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSLAccessorUPP(
- DescType desiredClass,
- const AEDesc * container,
- DescType containerClass,
- DescType form,
- const AEDesc * selectionData,
- AEDesc * value,
- long accessorRefcon,
- OSLAccessorUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSLMarkUPP(OSLMarkUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSLMarkUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeOSLAdjustMarksUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSLAdjustMarksUPP(OSLAdjustMarksUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSLAccessorUPP(DescType desiredClass, const AEDesc * container, DescType containerClass, DescType form, const AEDesc * selectionData, AEDesc * value, long accessorRefcon, OSLAccessorUPP userUPP)
- {
- return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppOSLAccessorProcInfo, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon);
- }
-#else
-#define InvokeOSLAccessorUPP(desiredClass, container, containerClass, form, selectionData, value, accessorRefcon, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppOSLAccessorProcInfo, (desiredClass), (container), (containerClass), (form), (selectionData), (value), (accessorRefcon))
-#endif
-#endif
-
- /*
- * InvokeOSLCompareUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSLCompareUPP(
- DescType oper,
- const AEDesc * obj1,
- const AEDesc * obj2,
- Boolean * result,
- OSLCompareUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSLAdjustMarksUPP(OSLAdjustMarksUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSLAdjustMarksUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokeOSLAccessorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSLAccessorUPP(
+ DescType desiredClass,
+ const AEDesc * container,
+ DescType containerClass,
+ DescType form,
+ const AEDesc * selectionData,
+ AEDesc * value,
+ long accessorRefcon,
+ OSLAccessorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSLCompareUPP(DescType oper, const AEDesc * obj1, const AEDesc * obj2, Boolean * result, OSLCompareUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppOSLCompareProcInfo, oper, obj1, obj2, result);
- }
-#else
-#define InvokeOSLCompareUPP(oper, obj1, obj2, result, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppOSLCompareProcInfo, (oper), (obj1), (obj2), (result))
-#endif
-#endif
-
- /*
- * InvokeOSLCountUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSLCountUPP(
- DescType desiredType,
- DescType containerClass,
- const AEDesc * container,
- long * result,
- OSLCountUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSLAccessorUPP(DescType desiredClass, const AEDesc * container, DescType containerClass, DescType form, const AEDesc * selectionData, AEDesc * value, long accessorRefcon, OSLAccessorUPP userUPP) { return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppOSLAccessorProcInfo, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon); }
+ #else
+ #define InvokeOSLAccessorUPP(desiredClass, container, containerClass, form, selectionData, value, accessorRefcon, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppOSLAccessorProcInfo, (desiredClass), (container), (containerClass), (form), (selectionData), (value), (accessorRefcon))
+ #endif
+#endif
+
+/*
+ * InvokeOSLCompareUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSLCompareUPP(
+ DescType oper,
+ const AEDesc * obj1,
+ const AEDesc * obj2,
+ Boolean * result,
+ OSLCompareUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSLCountUPP(DescType desiredType, DescType containerClass, const AEDesc * container, long * result, OSLCountUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppOSLCountProcInfo, desiredType, containerClass, container, result);
- }
-#else
-#define InvokeOSLCountUPP(desiredType, containerClass, container, result, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppOSLCountProcInfo, (desiredType), (containerClass), (container), (result))
-#endif
-#endif
-
- /*
- * InvokeOSLDisposeTokenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSLDisposeTokenUPP(
- AEDesc * unneededToken,
- OSLDisposeTokenUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSLCompareUPP(DescType oper, const AEDesc * obj1, const AEDesc * obj2, Boolean * result, OSLCompareUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppOSLCompareProcInfo, oper, obj1, obj2, result); }
+ #else
+ #define InvokeOSLCompareUPP(oper, obj1, obj2, result, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppOSLCompareProcInfo, (oper), (obj1), (obj2), (result))
+ #endif
+#endif
+
+/*
+ * InvokeOSLCountUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSLCountUPP(
+ DescType desiredType,
+ DescType containerClass,
+ const AEDesc * container,
+ long * result,
+ OSLCountUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSLDisposeTokenUPP(AEDesc * unneededToken, OSLDisposeTokenUPP userUPP)
- {
- return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOSLDisposeTokenProcInfo, unneededToken);
- }
-#else
-#define InvokeOSLDisposeTokenUPP(unneededToken, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOSLDisposeTokenProcInfo, (unneededToken))
-#endif
-#endif
-
- /*
- * InvokeOSLGetMarkTokenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSLGetMarkTokenUPP(
- const AEDesc * dContainerToken,
- DescType containerClass,
- AEDesc * result,
- OSLGetMarkTokenUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSLCountUPP(DescType desiredType, DescType containerClass, const AEDesc * container, long * result, OSLCountUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppOSLCountProcInfo, desiredType, containerClass, container, result); }
+ #else
+ #define InvokeOSLCountUPP(desiredType, containerClass, container, result, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppOSLCountProcInfo, (desiredType), (containerClass), (container), (result))
+ #endif
+#endif
+
+/*
+ * InvokeOSLDisposeTokenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSLDisposeTokenUPP(
+ AEDesc * unneededToken,
+ OSLDisposeTokenUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSLGetMarkTokenUPP(const AEDesc * dContainerToken, DescType containerClass, AEDesc * result, OSLGetMarkTokenUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLGetMarkTokenProcInfo, dContainerToken, containerClass, result);
- }
-#else
-#define InvokeOSLGetMarkTokenUPP(dContainerToken, containerClass, result, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLGetMarkTokenProcInfo, (dContainerToken), (containerClass), (result))
-#endif
-#endif
-
- /*
- * InvokeOSLGetErrDescUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSLGetErrDescUPP(
- AEDesc ** appDescPtr,
- OSLGetErrDescUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSLDisposeTokenUPP(AEDesc * unneededToken, OSLDisposeTokenUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOSLDisposeTokenProcInfo, unneededToken); }
+ #else
+ #define InvokeOSLDisposeTokenUPP(unneededToken, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOSLDisposeTokenProcInfo, (unneededToken))
+ #endif
+#endif
+
+/*
+ * InvokeOSLGetMarkTokenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSLGetMarkTokenUPP(
+ const AEDesc * dContainerToken,
+ DescType containerClass,
+ AEDesc * result,
+ OSLGetMarkTokenUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSLGetErrDescUPP(AEDesc ** appDescPtr, OSLGetErrDescUPP userUPP)
- {
- return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOSLGetErrDescProcInfo, appDescPtr);
- }
-#else
-#define InvokeOSLGetErrDescUPP(appDescPtr, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOSLGetErrDescProcInfo, (appDescPtr))
-#endif
-#endif
-
- /*
- * InvokeOSLMarkUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSLMarkUPP(
- const AEDesc * dToken,
- const AEDesc * markToken,
- long index,
- OSLMarkUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSLGetMarkTokenUPP(const AEDesc * dContainerToken, DescType containerClass, AEDesc * result, OSLGetMarkTokenUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLGetMarkTokenProcInfo, dContainerToken, containerClass, result); }
+ #else
+ #define InvokeOSLGetMarkTokenUPP(dContainerToken, containerClass, result, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLGetMarkTokenProcInfo, (dContainerToken), (containerClass), (result))
+ #endif
+#endif
+
+/*
+ * InvokeOSLGetErrDescUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSLGetErrDescUPP(
+ AEDesc ** appDescPtr,
+ OSLGetErrDescUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSLMarkUPP(const AEDesc * dToken, const AEDesc * markToken, long index, OSLMarkUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLMarkProcInfo, dToken, markToken, index);
- }
-#else
-#define InvokeOSLMarkUPP(dToken, markToken, index, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLMarkProcInfo, (dToken), (markToken), (index))
-#endif
-#endif
-
- /*
- * InvokeOSLAdjustMarksUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSLAdjustMarksUPP(
- long newStart,
- long newStop,
- const AEDesc * markToken,
- OSLAdjustMarksUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSLGetErrDescUPP(AEDesc ** appDescPtr, OSLGetErrDescUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOSLGetErrDescProcInfo, appDescPtr); }
+ #else
+ #define InvokeOSLGetErrDescUPP(appDescPtr, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOSLGetErrDescProcInfo, (appDescPtr))
+ #endif
+#endif
+
+/*
+ * InvokeOSLMarkUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSLMarkUPP(
+ const AEDesc * dToken,
+ const AEDesc * markToken,
+ long index,
+ OSLMarkUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSLAdjustMarksUPP(long newStart, long newStop, const AEDesc * markToken, OSLAdjustMarksUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLAdjustMarksProcInfo, newStart, newStop, markToken);
- }
-#else
-#define InvokeOSLAdjustMarksUPP(newStart, newStop, markToken, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLAdjustMarksProcInfo, (newStart), (newStop), (markToken))
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSLMarkUPP(const AEDesc * dToken, const AEDesc * markToken, long index, OSLMarkUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLMarkProcInfo, dToken, markToken, index); }
+ #else
+ #define InvokeOSLMarkUPP(dToken, markToken, index, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLMarkProcInfo, (dToken), (markToken), (index))
+ #endif
#endif
+
+/*
+ * InvokeOSLAdjustMarksUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSLAdjustMarksUPP(
+ long newStart,
+ long newStop,
+ const AEDesc * markToken,
+ OSLAdjustMarksUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSLAdjustMarksUPP(long newStart, long newStop, const AEDesc * markToken, OSLAdjustMarksUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLAdjustMarksProcInfo, newStart, newStop, markToken); }
+ #else
+ #define InvokeOSLAdjustMarksUPP(newStart, newStop, markToken, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLAdjustMarksProcInfo, (newStart), (newStop), (markToken))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewOSLAccessorProc(userRoutine) NewOSLAccessorUPP(userRoutine)
-#define NewOSLCompareProc(userRoutine) NewOSLCompareUPP(userRoutine)
-#define NewOSLCountProc(userRoutine) NewOSLCountUPP(userRoutine)
-#define NewOSLDisposeTokenProc(userRoutine) NewOSLDisposeTokenUPP(userRoutine)
-#define NewOSLGetMarkTokenProc(userRoutine) NewOSLGetMarkTokenUPP(userRoutine)
-#define NewOSLGetErrDescProc(userRoutine) NewOSLGetErrDescUPP(userRoutine)
-#define NewOSLMarkProc(userRoutine) NewOSLMarkUPP(userRoutine)
-#define NewOSLAdjustMarksProc(userRoutine) NewOSLAdjustMarksUPP(userRoutine)
-#define CallOSLAccessorProc(userRoutine, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon) InvokeOSLAccessorUPP(desiredClass, container, containerClass, form, selectionData, value, accessorRefcon, userRoutine)
-#define CallOSLCompareProc(userRoutine, oper, obj1, obj2, result) InvokeOSLCompareUPP(oper, obj1, obj2, result, userRoutine)
-#define CallOSLCountProc(userRoutine, desiredType, containerClass, container, result) InvokeOSLCountUPP(desiredType, containerClass, container, result, userRoutine)
-#define CallOSLDisposeTokenProc(userRoutine, unneededToken) InvokeOSLDisposeTokenUPP(unneededToken, userRoutine)
-#define CallOSLGetMarkTokenProc(userRoutine, dContainerToken, containerClass, result) InvokeOSLGetMarkTokenUPP(dContainerToken, containerClass, result, userRoutine)
-#define CallOSLGetErrDescProc(userRoutine, appDescPtr) InvokeOSLGetErrDescUPP(appDescPtr, userRoutine)
-#define CallOSLMarkProc(userRoutine, dToken, markToken, index) InvokeOSLMarkUPP(dToken, markToken, index, userRoutine)
-#define CallOSLAdjustMarksProc(userRoutine, newStart, newStop, markToken) InvokeOSLAdjustMarksUPP(newStart, newStop, markToken, userRoutine)
+ #define NewOSLAccessorProc(userRoutine) NewOSLAccessorUPP(userRoutine)
+ #define NewOSLCompareProc(userRoutine) NewOSLCompareUPP(userRoutine)
+ #define NewOSLCountProc(userRoutine) NewOSLCountUPP(userRoutine)
+ #define NewOSLDisposeTokenProc(userRoutine) NewOSLDisposeTokenUPP(userRoutine)
+ #define NewOSLGetMarkTokenProc(userRoutine) NewOSLGetMarkTokenUPP(userRoutine)
+ #define NewOSLGetErrDescProc(userRoutine) NewOSLGetErrDescUPP(userRoutine)
+ #define NewOSLMarkProc(userRoutine) NewOSLMarkUPP(userRoutine)
+ #define NewOSLAdjustMarksProc(userRoutine) NewOSLAdjustMarksUPP(userRoutine)
+ #define CallOSLAccessorProc(userRoutine, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon) InvokeOSLAccessorUPP(desiredClass, container, containerClass, form, selectionData, value, accessorRefcon, userRoutine)
+ #define CallOSLCompareProc(userRoutine, oper, obj1, obj2, result) InvokeOSLCompareUPP(oper, obj1, obj2, result, userRoutine)
+ #define CallOSLCountProc(userRoutine, desiredType, containerClass, container, result) InvokeOSLCountUPP(desiredType, containerClass, container, result, userRoutine)
+ #define CallOSLDisposeTokenProc(userRoutine, unneededToken) InvokeOSLDisposeTokenUPP(unneededToken, userRoutine)
+ #define CallOSLGetMarkTokenProc(userRoutine, dContainerToken, containerClass, result) InvokeOSLGetMarkTokenUPP(dContainerToken, containerClass, result, userRoutine)
+ #define CallOSLGetErrDescProc(userRoutine, appDescPtr) InvokeOSLGetErrDescUPP(appDescPtr, userRoutine)
+ #define CallOSLMarkProc(userRoutine, dToken, markToken, index) InvokeOSLMarkUPP(dToken, markToken, index, userRoutine)
+ #define CallOSLAdjustMarksProc(userRoutine, newStart, newStop, markToken) InvokeOSLAdjustMarksUPP(newStart, newStop, markToken, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * AEObjectInit()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEObjectInit(void);
-
-
- /* Not done by inline, but by direct linking into code. It sets up the pack
- such that further calls can be via inline */
- /*
- * AESetObjectCallbacks()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AESetObjectCallbacks(
- OSLCompareUPP myCompareProc,
- OSLCountUPP myCountProc,
- OSLDisposeTokenUPP myDisposeTokenProc,
- OSLGetMarkTokenUPP myGetMarkTokenProc,
- OSLMarkUPP myMarkProc,
- OSLAdjustMarksUPP myAdjustMarksProc,
- OSLGetErrDescUPP myGetErrDescProcPtr) THREEWORDINLINE(0x303C, 0x0E35, 0xA816);
-
-
- /*
- * AEResolve()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEResolve(
- const AEDesc * objectSpecifier,
- short callbackFlags,
- AEDesc * theToken) THREEWORDINLINE(0x303C, 0x0536, 0xA816);
-
-
- /*
- * AEInstallObjectAccessor()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEInstallObjectAccessor(
- DescType desiredClass,
- DescType containerType,
- OSLAccessorUPP theAccessor,
- long accessorRefcon,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0937, 0xA816);
-
-
- /*
- * AERemoveObjectAccessor()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AERemoveObjectAccessor(
- DescType desiredClass,
- DescType containerType,
- OSLAccessorUPP theAccessor,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0738, 0xA816);
-
-
- /*
- * AEGetObjectAccessor()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetObjectAccessor(
- DescType desiredClass,
- DescType containerType,
- OSLAccessorUPP * accessor,
- long * accessorRefcon,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0939, 0xA816);
-
-
- /*
- * AEDisposeToken()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEDisposeToken(AEDesc * theToken) THREEWORDINLINE(0x303C, 0x023A, 0xA816);
-
-
- /*
- * AECallObjectAccessor()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AECallObjectAccessor(
- DescType desiredClass,
- const AEDesc * containerToken,
- DescType containerClass,
- DescType keyForm,
- const AEDesc * keyData,
- AEDesc * token) THREEWORDINLINE(0x303C, 0x0C3B, 0xA816);
+/*
+ * AEObjectInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEObjectInit(void);
+
+
+/* Not done by inline, but by direct linking into code. It sets up the pack
+ such that further calls can be via inline */
+/*
+ * AESetObjectCallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AESetObjectCallbacks(
+ OSLCompareUPP myCompareProc,
+ OSLCountUPP myCountProc,
+ OSLDisposeTokenUPP myDisposeTokenProc,
+ OSLGetMarkTokenUPP myGetMarkTokenProc,
+ OSLMarkUPP myMarkProc,
+ OSLAdjustMarksUPP myAdjustMarksProc,
+ OSLGetErrDescUPP myGetErrDescProcPtr) THREEWORDINLINE(0x303C, 0x0E35, 0xA816);
+
+
+/*
+ * AEResolve()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEResolve(
+ const AEDesc * objectSpecifier,
+ short callbackFlags,
+ AEDesc * theToken) THREEWORDINLINE(0x303C, 0x0536, 0xA816);
+
+
+/*
+ * AEInstallObjectAccessor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEInstallObjectAccessor(
+ DescType desiredClass,
+ DescType containerType,
+ OSLAccessorUPP theAccessor,
+ long accessorRefcon,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0937, 0xA816);
+
+
+/*
+ * AERemoveObjectAccessor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AERemoveObjectAccessor(
+ DescType desiredClass,
+ DescType containerType,
+ OSLAccessorUPP theAccessor,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0738, 0xA816);
+
+
+/*
+ * AEGetObjectAccessor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetObjectAccessor(
+ DescType desiredClass,
+ DescType containerType,
+ OSLAccessorUPP * accessor,
+ long * accessorRefcon,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0939, 0xA816);
+
+
+/*
+ * AEDisposeToken()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEDisposeToken(AEDesc * theToken) THREEWORDINLINE(0x303C, 0x023A, 0xA816);
+
+
+/*
+ * AECallObjectAccessor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AECallObjectAccessor(
+ DescType desiredClass,
+ const AEDesc * containerToken,
+ DescType containerClass,
+ DescType keyForm,
+ const AEDesc * keyData,
+ AEDesc * token) THREEWORDINLINE(0x303C, 0x0C3B, 0xA816);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AEPackObject.h b/include/qt/AEPackObject.h
index bca5010db..ad43bd0a2 100644
--- a/include/qt/AEPackObject.h
+++ b/include/qt/AEPackObject.h
@@ -1,17 +1,17 @@
/*
File: AEPackObject.h
-
+
Contains: AppleEvents object packing Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AEPACKOBJECT__
#define __AEPACKOBJECT__
@@ -35,87 +35,87 @@ extern "C" {
#pragma import on
#endif
- /* These are the object packing routines. */
- /*
- * CreateOffsetDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CreateOffsetDescriptor(
- long theOffset,
- AEDesc * theDescriptor);
-
-
- /*
- * CreateCompDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CreateCompDescriptor(
- DescType comparisonOperator,
- AEDesc * operand1,
- AEDesc * operand2,
- Boolean disposeInputs,
- AEDesc * theDescriptor);
-
-
- /*
- * CreateLogicalDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CreateLogicalDescriptor(
- AEDescList * theLogicalTerms,
- DescType theLogicOperator,
- Boolean disposeInputs,
- AEDesc * theDescriptor);
-
-
-
- /*
- * CreateObjSpecifier()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CreateObjSpecifier(
- DescType desiredClass,
- AEDesc * theContainer,
- DescType keyForm,
- AEDesc * keyData,
- Boolean disposeInputs,
- AEDesc * objSpecifier);
-
-
- /*
- * CreateRangeDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CreateRangeDescriptor(
- AEDesc * rangeStart,
- AEDesc * rangeStop,
- Boolean disposeInputs,
- AEDesc * theDescriptor);
+/* These are the object packing routines. */
+/*
+ * CreateOffsetDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CreateOffsetDescriptor(
+ long theOffset,
+ AEDesc * theDescriptor);
+
+
+/*
+ * CreateCompDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CreateCompDescriptor(
+ DescType comparisonOperator,
+ AEDesc * operand1,
+ AEDesc * operand2,
+ Boolean disposeInputs,
+ AEDesc * theDescriptor);
+
+
+/*
+ * CreateLogicalDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CreateLogicalDescriptor(
+ AEDescList * theLogicalTerms,
+ DescType theLogicOperator,
+ Boolean disposeInputs,
+ AEDesc * theDescriptor);
+
+
+
+/*
+ * CreateObjSpecifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CreateObjSpecifier(
+ DescType desiredClass,
+ AEDesc * theContainer,
+ DescType keyForm,
+ AEDesc * keyData,
+ Boolean disposeInputs,
+ AEDesc * objSpecifier);
+
+
+/*
+ * CreateRangeDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ObjectSupportLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CreateRangeDescriptor(
+ AEDesc * rangeStart,
+ AEDesc * rangeStop,
+ Boolean disposeInputs,
+ AEDesc * theDescriptor);
diff --git a/include/qt/AERegistry.h b/include/qt/AERegistry.h
index 601b928d1..3f9c0ff37 100644
--- a/include/qt/AERegistry.h
+++ b/include/qt/AERegistry.h
@@ -1,17 +1,17 @@
/*
File: AERegistry.h
-
+
Contains: AppleEvents Registry Interface.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AEREGISTRY__
#define __AEREGISTRY__
@@ -40,1058 +40,1004 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
-enum
-{
- cAEList = FOUR_CHAR_CODE('list'), /* 0x6c697374 */
- cApplication = FOUR_CHAR_CODE('capp'), /* 0x63617070 */
- cArc = FOUR_CHAR_CODE('carc'), /* 0x63617263 */
- cBoolean = FOUR_CHAR_CODE('bool'), /* 0x626f6f6c */
- cCell = FOUR_CHAR_CODE('ccel'), /* 0x6363656c */
- cChar = FOUR_CHAR_CODE('cha '), /* 0x63686120 */
- cColorTable = FOUR_CHAR_CODE('clrt'), /* 0x636c7274 */
- cColumn = FOUR_CHAR_CODE('ccol'), /* 0x63636f6c */
- cDocument = FOUR_CHAR_CODE('docu'), /* 0x646f6375 */
- cDrawingArea = FOUR_CHAR_CODE('cdrw'), /* 0x63647277 */
- cEnumeration = FOUR_CHAR_CODE('enum'), /* 0x656e756d */
- cFile = FOUR_CHAR_CODE('file'), /* 0x66696c65 */
- cFixed = FOUR_CHAR_CODE('fixd'), /* 0x66697864 */
- cFixedPoint = FOUR_CHAR_CODE('fpnt'), /* 0x66706e74 */
- cFixedRectangle = FOUR_CHAR_CODE('frct'), /* 0x66726374 */
- cGraphicLine = FOUR_CHAR_CODE('glin'), /* 0x676c696e */
- cGraphicObject = FOUR_CHAR_CODE('cgob'), /* 0x63676f62 */
- cGraphicShape = FOUR_CHAR_CODE('cgsh'), /* 0x63677368 */
- cGraphicText = FOUR_CHAR_CODE('cgtx'), /* 0x63677478 */
- cGroupedGraphic = FOUR_CHAR_CODE('cpic') /* 0x63706963 */
+enum {
+ cAEList = FOUR_CHAR_CODE('list'), /* 0x6c697374 */
+ cApplication = FOUR_CHAR_CODE('capp'), /* 0x63617070 */
+ cArc = FOUR_CHAR_CODE('carc'), /* 0x63617263 */
+ cBoolean = FOUR_CHAR_CODE('bool'), /* 0x626f6f6c */
+ cCell = FOUR_CHAR_CODE('ccel'), /* 0x6363656c */
+ cChar = FOUR_CHAR_CODE('cha '), /* 0x63686120 */
+ cColorTable = FOUR_CHAR_CODE('clrt'), /* 0x636c7274 */
+ cColumn = FOUR_CHAR_CODE('ccol'), /* 0x63636f6c */
+ cDocument = FOUR_CHAR_CODE('docu'), /* 0x646f6375 */
+ cDrawingArea = FOUR_CHAR_CODE('cdrw'), /* 0x63647277 */
+ cEnumeration = FOUR_CHAR_CODE('enum'), /* 0x656e756d */
+ cFile = FOUR_CHAR_CODE('file'), /* 0x66696c65 */
+ cFixed = FOUR_CHAR_CODE('fixd'), /* 0x66697864 */
+ cFixedPoint = FOUR_CHAR_CODE('fpnt'), /* 0x66706e74 */
+ cFixedRectangle = FOUR_CHAR_CODE('frct'), /* 0x66726374 */
+ cGraphicLine = FOUR_CHAR_CODE('glin'), /* 0x676c696e */
+ cGraphicObject = FOUR_CHAR_CODE('cgob'), /* 0x63676f62 */
+ cGraphicShape = FOUR_CHAR_CODE('cgsh'), /* 0x63677368 */
+ cGraphicText = FOUR_CHAR_CODE('cgtx'), /* 0x63677478 */
+ cGroupedGraphic = FOUR_CHAR_CODE('cpic') /* 0x63706963 */
};
-enum
-{
- cInsertionLoc = FOUR_CHAR_CODE('insl'), /* 0x696e736c */
- cInsertionPoint = FOUR_CHAR_CODE('cins'), /* 0x63696e73 */
- cIntlText = FOUR_CHAR_CODE('itxt'), /* 0x69747874 */
- cIntlWritingCode = FOUR_CHAR_CODE('intl'), /* 0x696e746c */
- cItem = FOUR_CHAR_CODE('citm'), /* 0x6369746d */
- cLine = FOUR_CHAR_CODE('clin'), /* 0x636c696e */
- cLongDateTime = FOUR_CHAR_CODE('ldt '), /* 0x6c647420 */
- cLongFixed = FOUR_CHAR_CODE('lfxd'), /* 0x6c667864 */
- cLongFixedPoint = FOUR_CHAR_CODE('lfpt'), /* 0x6c667074 */
- cLongFixedRectangle = FOUR_CHAR_CODE('lfrc'), /* 0x6c667263 */
- cLongInteger = FOUR_CHAR_CODE('long'), /* 0x6c6f6e67 */
- cLongPoint = FOUR_CHAR_CODE('lpnt'), /* 0x6c706e74 */
- cLongRectangle = FOUR_CHAR_CODE('lrct'), /* 0x6c726374 */
- cMachineLoc = FOUR_CHAR_CODE('mLoc'), /* 0x6d4c6f63 */
- cMenu = FOUR_CHAR_CODE('cmnu'), /* 0x636d6e75 */
- cMenuItem = FOUR_CHAR_CODE('cmen'), /* 0x636d656e */
- cObject = FOUR_CHAR_CODE('cobj'), /* 0x636f626a */
- cObjectSpecifier = FOUR_CHAR_CODE('obj '), /* 0x6f626a20 */
- cOpenableObject = FOUR_CHAR_CODE('coob'), /* 0x636f6f62 */
- cOval = FOUR_CHAR_CODE('covl') /* 0x636f766c */
+enum {
+ cInsertionLoc = FOUR_CHAR_CODE('insl'), /* 0x696e736c */
+ cInsertionPoint = FOUR_CHAR_CODE('cins'), /* 0x63696e73 */
+ cIntlText = FOUR_CHAR_CODE('itxt'), /* 0x69747874 */
+ cIntlWritingCode = FOUR_CHAR_CODE('intl'), /* 0x696e746c */
+ cItem = FOUR_CHAR_CODE('citm'), /* 0x6369746d */
+ cLine = FOUR_CHAR_CODE('clin'), /* 0x636c696e */
+ cLongDateTime = FOUR_CHAR_CODE('ldt '), /* 0x6c647420 */
+ cLongFixed = FOUR_CHAR_CODE('lfxd'), /* 0x6c667864 */
+ cLongFixedPoint = FOUR_CHAR_CODE('lfpt'), /* 0x6c667074 */
+ cLongFixedRectangle = FOUR_CHAR_CODE('lfrc'), /* 0x6c667263 */
+ cLongInteger = FOUR_CHAR_CODE('long'), /* 0x6c6f6e67 */
+ cLongPoint = FOUR_CHAR_CODE('lpnt'), /* 0x6c706e74 */
+ cLongRectangle = FOUR_CHAR_CODE('lrct'), /* 0x6c726374 */
+ cMachineLoc = FOUR_CHAR_CODE('mLoc'), /* 0x6d4c6f63 */
+ cMenu = FOUR_CHAR_CODE('cmnu'), /* 0x636d6e75 */
+ cMenuItem = FOUR_CHAR_CODE('cmen'), /* 0x636d656e */
+ cObject = FOUR_CHAR_CODE('cobj'), /* 0x636f626a */
+ cObjectSpecifier = FOUR_CHAR_CODE('obj '), /* 0x6f626a20 */
+ cOpenableObject = FOUR_CHAR_CODE('coob'), /* 0x636f6f62 */
+ cOval = FOUR_CHAR_CODE('covl') /* 0x636f766c */
};
-enum
-{
- cParagraph = FOUR_CHAR_CODE('cpar'), /* 0x63706172 */
- cPICT = FOUR_CHAR_CODE('PICT'), /* 0x50494354 */
- cPixel = FOUR_CHAR_CODE('cpxl'), /* 0x6370786c */
- cPixelMap = FOUR_CHAR_CODE('cpix'), /* 0x63706978 */
- cPolygon = FOUR_CHAR_CODE('cpgn'), /* 0x6370676e */
- cProperty = FOUR_CHAR_CODE('prop'), /* 0x70726f70 */
- cQDPoint = FOUR_CHAR_CODE('QDpt'), /* 0x51447074 */
- cQDRectangle = FOUR_CHAR_CODE('qdrt'), /* 0x71647274 */
- cRectangle = FOUR_CHAR_CODE('crec'), /* 0x63726563 */
- cRGBColor = FOUR_CHAR_CODE('cRGB'), /* 0x63524742 */
- cRotation = FOUR_CHAR_CODE('trot'), /* 0x74726f74 */
- cRoundedRectangle = FOUR_CHAR_CODE('crrc'), /* 0x63727263 */
- cRow = FOUR_CHAR_CODE('crow'), /* 0x63726f77 */
- cSelection = FOUR_CHAR_CODE('csel'), /* 0x6373656c */
- cShortInteger = FOUR_CHAR_CODE('shor'), /* 0x73686f72 */
- cTable = FOUR_CHAR_CODE('ctbl'), /* 0x6374626c */
- cText = FOUR_CHAR_CODE('ctxt'), /* 0x63747874 */
- cTextFlow = FOUR_CHAR_CODE('cflo'), /* 0x63666c6f */
- cTextStyles = FOUR_CHAR_CODE('tsty'), /* 0x74737479 */
- cType = FOUR_CHAR_CODE('type') /* 0x74797065 */
+enum {
+ cParagraph = FOUR_CHAR_CODE('cpar'), /* 0x63706172 */
+ cPICT = FOUR_CHAR_CODE('PICT'), /* 0x50494354 */
+ cPixel = FOUR_CHAR_CODE('cpxl'), /* 0x6370786c */
+ cPixelMap = FOUR_CHAR_CODE('cpix'), /* 0x63706978 */
+ cPolygon = FOUR_CHAR_CODE('cpgn'), /* 0x6370676e */
+ cProperty = FOUR_CHAR_CODE('prop'), /* 0x70726f70 */
+ cQDPoint = FOUR_CHAR_CODE('QDpt'), /* 0x51447074 */
+ cQDRectangle = FOUR_CHAR_CODE('qdrt'), /* 0x71647274 */
+ cRectangle = FOUR_CHAR_CODE('crec'), /* 0x63726563 */
+ cRGBColor = FOUR_CHAR_CODE('cRGB'), /* 0x63524742 */
+ cRotation = FOUR_CHAR_CODE('trot'), /* 0x74726f74 */
+ cRoundedRectangle = FOUR_CHAR_CODE('crrc'), /* 0x63727263 */
+ cRow = FOUR_CHAR_CODE('crow'), /* 0x63726f77 */
+ cSelection = FOUR_CHAR_CODE('csel'), /* 0x6373656c */
+ cShortInteger = FOUR_CHAR_CODE('shor'), /* 0x73686f72 */
+ cTable = FOUR_CHAR_CODE('ctbl'), /* 0x6374626c */
+ cText = FOUR_CHAR_CODE('ctxt'), /* 0x63747874 */
+ cTextFlow = FOUR_CHAR_CODE('cflo'), /* 0x63666c6f */
+ cTextStyles = FOUR_CHAR_CODE('tsty'), /* 0x74737479 */
+ cType = FOUR_CHAR_CODE('type') /* 0x74797065 */
};
-enum
-{
- cVersion = FOUR_CHAR_CODE('vers'), /* 0x76657273 */
- cWindow = FOUR_CHAR_CODE('cwin'), /* 0x6377696e */
- cWord = FOUR_CHAR_CODE('cwor'), /* 0x63776f72 */
- enumArrows = FOUR_CHAR_CODE('arro'), /* 0x6172726f */
- enumJustification = FOUR_CHAR_CODE('just'), /* 0x6a757374 */
- enumKeyForm = FOUR_CHAR_CODE('kfrm'), /* 0x6b66726d */
- enumPosition = FOUR_CHAR_CODE('posi'), /* 0x706f7369 */
- enumProtection = FOUR_CHAR_CODE('prtn'), /* 0x7072746e */
- enumQuality = FOUR_CHAR_CODE('qual'), /* 0x7175616c */
- enumSaveOptions = FOUR_CHAR_CODE('savo'), /* 0x7361766f */
- enumStyle = FOUR_CHAR_CODE('styl'), /* 0x7374796c */
- enumTransferMode = FOUR_CHAR_CODE('tran'), /* 0x7472616e */
- formUniqueID = FOUR_CHAR_CODE('ID '), /* 0x49442020 */
- kAEAbout = FOUR_CHAR_CODE('abou'), /* 0x61626f75 */
- kAEAfter = FOUR_CHAR_CODE('afte'), /* 0x61667465 */
- kAEAliasSelection = FOUR_CHAR_CODE('sali'), /* 0x73616c69 */
- kAEAllCaps = FOUR_CHAR_CODE('alcp'), /* 0x616c6370 */
- kAEArrowAtEnd = FOUR_CHAR_CODE('aren'), /* 0x6172656e */
- kAEArrowAtStart = FOUR_CHAR_CODE('arst'), /* 0x61727374 */
- kAEArrowBothEnds = FOUR_CHAR_CODE('arbo') /* 0x6172626f */
+enum {
+ cVersion = FOUR_CHAR_CODE('vers'), /* 0x76657273 */
+ cWindow = FOUR_CHAR_CODE('cwin'), /* 0x6377696e */
+ cWord = FOUR_CHAR_CODE('cwor'), /* 0x63776f72 */
+ enumArrows = FOUR_CHAR_CODE('arro'), /* 0x6172726f */
+ enumJustification = FOUR_CHAR_CODE('just'), /* 0x6a757374 */
+ enumKeyForm = FOUR_CHAR_CODE('kfrm'), /* 0x6b66726d */
+ enumPosition = FOUR_CHAR_CODE('posi'), /* 0x706f7369 */
+ enumProtection = FOUR_CHAR_CODE('prtn'), /* 0x7072746e */
+ enumQuality = FOUR_CHAR_CODE('qual'), /* 0x7175616c */
+ enumSaveOptions = FOUR_CHAR_CODE('savo'), /* 0x7361766f */
+ enumStyle = FOUR_CHAR_CODE('styl'), /* 0x7374796c */
+ enumTransferMode = FOUR_CHAR_CODE('tran'), /* 0x7472616e */
+ formUniqueID = FOUR_CHAR_CODE('ID '), /* 0x49442020 */
+ kAEAbout = FOUR_CHAR_CODE('abou'), /* 0x61626f75 */
+ kAEAfter = FOUR_CHAR_CODE('afte'), /* 0x61667465 */
+ kAEAliasSelection = FOUR_CHAR_CODE('sali'), /* 0x73616c69 */
+ kAEAllCaps = FOUR_CHAR_CODE('alcp'), /* 0x616c6370 */
+ kAEArrowAtEnd = FOUR_CHAR_CODE('aren'), /* 0x6172656e */
+ kAEArrowAtStart = FOUR_CHAR_CODE('arst'), /* 0x61727374 */
+ kAEArrowBothEnds = FOUR_CHAR_CODE('arbo') /* 0x6172626f */
};
-enum
-{
- kAEAsk = FOUR_CHAR_CODE('ask '), /* 0x61736b20 */
- kAEBefore = FOUR_CHAR_CODE('befo'), /* 0x6265666f */
- kAEBeginning = FOUR_CHAR_CODE('bgng'), /* 0x62676e67 */
- kAEBeginsWith = FOUR_CHAR_CODE('bgwt'), /* 0x62677774 */
- kAEBeginTransaction = FOUR_CHAR_CODE('begi'), /* 0x62656769 */
- kAEBold = FOUR_CHAR_CODE('bold'), /* 0x626f6c64 */
- kAECaseSensEquals = FOUR_CHAR_CODE('cseq'), /* 0x63736571 */
- kAECentered = FOUR_CHAR_CODE('cent'), /* 0x63656e74 */
- kAEChangeView = FOUR_CHAR_CODE('view'), /* 0x76696577 */
- kAEClone = FOUR_CHAR_CODE('clon'), /* 0x636c6f6e */
- kAEClose = FOUR_CHAR_CODE('clos'), /* 0x636c6f73 */
- kAECondensed = FOUR_CHAR_CODE('cond'), /* 0x636f6e64 */
- kAEContains = FOUR_CHAR_CODE('cont'), /* 0x636f6e74 */
- kAECopy = FOUR_CHAR_CODE('copy'), /* 0x636f7079 */
- kAECoreSuite = FOUR_CHAR_CODE('core'), /* 0x636f7265 */
- kAECountElements = FOUR_CHAR_CODE('cnte'), /* 0x636e7465 */
- kAECreateElement = FOUR_CHAR_CODE('crel'), /* 0x6372656c */
- kAECreatePublisher = FOUR_CHAR_CODE('cpub'), /* 0x63707562 */
- kAECut = FOUR_CHAR_CODE('cut '), /* 0x63757420 */
- kAEDelete = FOUR_CHAR_CODE('delo') /* 0x64656c6f */
+enum {
+ kAEAsk = FOUR_CHAR_CODE('ask '), /* 0x61736b20 */
+ kAEBefore = FOUR_CHAR_CODE('befo'), /* 0x6265666f */
+ kAEBeginning = FOUR_CHAR_CODE('bgng'), /* 0x62676e67 */
+ kAEBeginsWith = FOUR_CHAR_CODE('bgwt'), /* 0x62677774 */
+ kAEBeginTransaction = FOUR_CHAR_CODE('begi'), /* 0x62656769 */
+ kAEBold = FOUR_CHAR_CODE('bold'), /* 0x626f6c64 */
+ kAECaseSensEquals = FOUR_CHAR_CODE('cseq'), /* 0x63736571 */
+ kAECentered = FOUR_CHAR_CODE('cent'), /* 0x63656e74 */
+ kAEChangeView = FOUR_CHAR_CODE('view'), /* 0x76696577 */
+ kAEClone = FOUR_CHAR_CODE('clon'), /* 0x636c6f6e */
+ kAEClose = FOUR_CHAR_CODE('clos'), /* 0x636c6f73 */
+ kAECondensed = FOUR_CHAR_CODE('cond'), /* 0x636f6e64 */
+ kAEContains = FOUR_CHAR_CODE('cont'), /* 0x636f6e74 */
+ kAECopy = FOUR_CHAR_CODE('copy'), /* 0x636f7079 */
+ kAECoreSuite = FOUR_CHAR_CODE('core'), /* 0x636f7265 */
+ kAECountElements = FOUR_CHAR_CODE('cnte'), /* 0x636e7465 */
+ kAECreateElement = FOUR_CHAR_CODE('crel'), /* 0x6372656c */
+ kAECreatePublisher = FOUR_CHAR_CODE('cpub'), /* 0x63707562 */
+ kAECut = FOUR_CHAR_CODE('cut '), /* 0x63757420 */
+ kAEDelete = FOUR_CHAR_CODE('delo') /* 0x64656c6f */
};
-enum
-{
- kAEDoObjectsExist = FOUR_CHAR_CODE('doex'), /* 0x646f6578 */
- kAEDoScript = FOUR_CHAR_CODE('dosc'), /* 0x646f7363 */
- kAEDrag = FOUR_CHAR_CODE('drag'), /* 0x64726167 */
- kAEDuplicateSelection = FOUR_CHAR_CODE('sdup'), /* 0x73647570 */
- kAEEditGraphic = FOUR_CHAR_CODE('edit'), /* 0x65646974 */
- kAEEmptyTrash = FOUR_CHAR_CODE('empt'), /* 0x656d7074 */
- kAEEnd = FOUR_CHAR_CODE('end '), /* 0x656e6420 */
- kAEEndsWith = FOUR_CHAR_CODE('ends'), /* 0x656e6473 */
- kAEEndTransaction = FOUR_CHAR_CODE('endt'), /* 0x656e6474 */
- kAEEquals = FOUR_CHAR_CODE('= '), /* 0x3d202020 */
- kAEExpanded = FOUR_CHAR_CODE('pexp'), /* 0x70657870 */
- kAEFast = FOUR_CHAR_CODE('fast'), /* 0x66617374 */
- kAEFinderEvents = FOUR_CHAR_CODE('FNDR'), /* 0x464e4452 */
- kAEFormulaProtect = FOUR_CHAR_CODE('fpro'), /* 0x6670726f */
- kAEFullyJustified = FOUR_CHAR_CODE('full'), /* 0x66756c6c */
- kAEGetClassInfo = FOUR_CHAR_CODE('qobj'), /* 0x716f626a */
- kAEGetData = FOUR_CHAR_CODE('getd'), /* 0x67657464 */
- kAEGetDataSize = FOUR_CHAR_CODE('dsiz'), /* 0x6473697a */
- kAEGetEventInfo = FOUR_CHAR_CODE('gtei'), /* 0x67746569 */
- kAEGetInfoSelection = FOUR_CHAR_CODE('sinf') /* 0x73696e66 */
+enum {
+ kAEDoObjectsExist = FOUR_CHAR_CODE('doex'), /* 0x646f6578 */
+ kAEDoScript = FOUR_CHAR_CODE('dosc'), /* 0x646f7363 */
+ kAEDrag = FOUR_CHAR_CODE('drag'), /* 0x64726167 */
+ kAEDuplicateSelection = FOUR_CHAR_CODE('sdup'), /* 0x73647570 */
+ kAEEditGraphic = FOUR_CHAR_CODE('edit'), /* 0x65646974 */
+ kAEEmptyTrash = FOUR_CHAR_CODE('empt'), /* 0x656d7074 */
+ kAEEnd = FOUR_CHAR_CODE('end '), /* 0x656e6420 */
+ kAEEndsWith = FOUR_CHAR_CODE('ends'), /* 0x656e6473 */
+ kAEEndTransaction = FOUR_CHAR_CODE('endt'), /* 0x656e6474 */
+ kAEEquals = FOUR_CHAR_CODE('= '), /* 0x3d202020 */
+ kAEExpanded = FOUR_CHAR_CODE('pexp'), /* 0x70657870 */
+ kAEFast = FOUR_CHAR_CODE('fast'), /* 0x66617374 */
+ kAEFinderEvents = FOUR_CHAR_CODE('FNDR'), /* 0x464e4452 */
+ kAEFormulaProtect = FOUR_CHAR_CODE('fpro'), /* 0x6670726f */
+ kAEFullyJustified = FOUR_CHAR_CODE('full'), /* 0x66756c6c */
+ kAEGetClassInfo = FOUR_CHAR_CODE('qobj'), /* 0x716f626a */
+ kAEGetData = FOUR_CHAR_CODE('getd'), /* 0x67657464 */
+ kAEGetDataSize = FOUR_CHAR_CODE('dsiz'), /* 0x6473697a */
+ kAEGetEventInfo = FOUR_CHAR_CODE('gtei'), /* 0x67746569 */
+ kAEGetInfoSelection = FOUR_CHAR_CODE('sinf') /* 0x73696e66 */
};
-enum
-{
- kAEGetPrivilegeSelection = FOUR_CHAR_CODE('sprv'), /* 0x73707276 */
- kAEGetSuiteInfo = FOUR_CHAR_CODE('gtsi'), /* 0x67747369 */
- kAEGreaterThan = FOUR_CHAR_CODE('> '), /* 0x3e202020 */
- kAEGreaterThanEquals = FOUR_CHAR_CODE('>= '), /* 0x3e3d2020 */
- kAEGrow = FOUR_CHAR_CODE('grow'), /* 0x67726f77 */
- kAEHidden = FOUR_CHAR_CODE('hidn'), /* 0x6869646e */
- kAEHiQuality = FOUR_CHAR_CODE('hiqu'), /* 0x68697175 */
- kAEImageGraphic = FOUR_CHAR_CODE('imgr'), /* 0x696d6772 */
- kAEIsUniform = FOUR_CHAR_CODE('isun'), /* 0x6973756e */
- kAEItalic = FOUR_CHAR_CODE('ital'), /* 0x6974616c */
- kAELeftJustified = FOUR_CHAR_CODE('left'), /* 0x6c656674 */
- kAELessThan = FOUR_CHAR_CODE('< '), /* 0x3c202020 */
- kAELessThanEquals = FOUR_CHAR_CODE('<= '), /* 0x3c3d2020 */
- kAELowercase = FOUR_CHAR_CODE('lowc'), /* 0x6c6f7763 */
- kAEMakeObjectsVisible = FOUR_CHAR_CODE('mvis'), /* 0x6d766973 */
- kAEMiscStandards = FOUR_CHAR_CODE('misc'), /* 0x6d697363 */
- kAEModifiable = FOUR_CHAR_CODE('modf'), /* 0x6d6f6466 */
- kAEMove = FOUR_CHAR_CODE('move'), /* 0x6d6f7665 */
- kAENo = FOUR_CHAR_CODE('no '), /* 0x6e6f2020 */
- kAENoArrow = FOUR_CHAR_CODE('arno') /* 0x61726e6f */
+enum {
+ kAEGetPrivilegeSelection = FOUR_CHAR_CODE('sprv'), /* 0x73707276 */
+ kAEGetSuiteInfo = FOUR_CHAR_CODE('gtsi'), /* 0x67747369 */
+ kAEGreaterThan = FOUR_CHAR_CODE('> '), /* 0x3e202020 */
+ kAEGreaterThanEquals = FOUR_CHAR_CODE('>= '), /* 0x3e3d2020 */
+ kAEGrow = FOUR_CHAR_CODE('grow'), /* 0x67726f77 */
+ kAEHidden = FOUR_CHAR_CODE('hidn'), /* 0x6869646e */
+ kAEHiQuality = FOUR_CHAR_CODE('hiqu'), /* 0x68697175 */
+ kAEImageGraphic = FOUR_CHAR_CODE('imgr'), /* 0x696d6772 */
+ kAEIsUniform = FOUR_CHAR_CODE('isun'), /* 0x6973756e */
+ kAEItalic = FOUR_CHAR_CODE('ital'), /* 0x6974616c */
+ kAELeftJustified = FOUR_CHAR_CODE('left'), /* 0x6c656674 */
+ kAELessThan = FOUR_CHAR_CODE('< '), /* 0x3c202020 */
+ kAELessThanEquals = FOUR_CHAR_CODE('<= '), /* 0x3c3d2020 */
+ kAELowercase = FOUR_CHAR_CODE('lowc'), /* 0x6c6f7763 */
+ kAEMakeObjectsVisible = FOUR_CHAR_CODE('mvis'), /* 0x6d766973 */
+ kAEMiscStandards = FOUR_CHAR_CODE('misc'), /* 0x6d697363 */
+ kAEModifiable = FOUR_CHAR_CODE('modf'), /* 0x6d6f6466 */
+ kAEMove = FOUR_CHAR_CODE('move'), /* 0x6d6f7665 */
+ kAENo = FOUR_CHAR_CODE('no '), /* 0x6e6f2020 */
+ kAENoArrow = FOUR_CHAR_CODE('arno') /* 0x61726e6f */
};
-enum
-{
- kAENonmodifiable = FOUR_CHAR_CODE('nmod'), /* 0x6e6d6f64 */
- kAEOpen = FOUR_CHAR_CODE('odoc'), /* 0x6f646f63 */
- kAEOpenSelection = FOUR_CHAR_CODE('sope'), /* 0x736f7065 */
- kAEOutline = FOUR_CHAR_CODE('outl'), /* 0x6f75746c */
- kAEPageSetup = FOUR_CHAR_CODE('pgsu'), /* 0x70677375 */
- kAEPaste = FOUR_CHAR_CODE('past'), /* 0x70617374 */
- kAEPlain = FOUR_CHAR_CODE('plan'), /* 0x706c616e */
- kAEPrint = FOUR_CHAR_CODE('pdoc'), /* 0x70646f63 */
- kAEPrintSelection = FOUR_CHAR_CODE('spri'), /* 0x73707269 */
- kAEPrintWindow = FOUR_CHAR_CODE('pwin'), /* 0x7077696e */
- kAEPutAwaySelection = FOUR_CHAR_CODE('sput'), /* 0x73707574 */
- kAEQDAddOver = FOUR_CHAR_CODE('addo'), /* 0x6164646f */
- kAEQDAddPin = FOUR_CHAR_CODE('addp'), /* 0x61646470 */
- kAEQDAdMax = FOUR_CHAR_CODE('admx'), /* 0x61646d78 */
- kAEQDAdMin = FOUR_CHAR_CODE('admn'), /* 0x61646d6e */
- kAEQDBic = FOUR_CHAR_CODE('bic '), /* 0x62696320 */
- kAEQDBlend = FOUR_CHAR_CODE('blnd'), /* 0x626c6e64 */
- kAEQDCopy = FOUR_CHAR_CODE('cpy '), /* 0x63707920 */
- kAEQDNotBic = FOUR_CHAR_CODE('nbic'), /* 0x6e626963 */
- kAEQDNotCopy = FOUR_CHAR_CODE('ncpy') /* 0x6e637079 */
+enum {
+ kAENonmodifiable = FOUR_CHAR_CODE('nmod'), /* 0x6e6d6f64 */
+ kAEOpen = FOUR_CHAR_CODE('odoc'), /* 0x6f646f63 */
+ kAEOpenSelection = FOUR_CHAR_CODE('sope'), /* 0x736f7065 */
+ kAEOutline = FOUR_CHAR_CODE('outl'), /* 0x6f75746c */
+ kAEPageSetup = FOUR_CHAR_CODE('pgsu'), /* 0x70677375 */
+ kAEPaste = FOUR_CHAR_CODE('past'), /* 0x70617374 */
+ kAEPlain = FOUR_CHAR_CODE('plan'), /* 0x706c616e */
+ kAEPrint = FOUR_CHAR_CODE('pdoc'), /* 0x70646f63 */
+ kAEPrintSelection = FOUR_CHAR_CODE('spri'), /* 0x73707269 */
+ kAEPrintWindow = FOUR_CHAR_CODE('pwin'), /* 0x7077696e */
+ kAEPutAwaySelection = FOUR_CHAR_CODE('sput'), /* 0x73707574 */
+ kAEQDAddOver = FOUR_CHAR_CODE('addo'), /* 0x6164646f */
+ kAEQDAddPin = FOUR_CHAR_CODE('addp'), /* 0x61646470 */
+ kAEQDAdMax = FOUR_CHAR_CODE('admx'), /* 0x61646d78 */
+ kAEQDAdMin = FOUR_CHAR_CODE('admn'), /* 0x61646d6e */
+ kAEQDBic = FOUR_CHAR_CODE('bic '), /* 0x62696320 */
+ kAEQDBlend = FOUR_CHAR_CODE('blnd'), /* 0x626c6e64 */
+ kAEQDCopy = FOUR_CHAR_CODE('cpy '), /* 0x63707920 */
+ kAEQDNotBic = FOUR_CHAR_CODE('nbic'), /* 0x6e626963 */
+ kAEQDNotCopy = FOUR_CHAR_CODE('ncpy') /* 0x6e637079 */
};
-enum
-{
- kAEQDNotOr = FOUR_CHAR_CODE('ntor'), /* 0x6e746f72 */
- kAEQDNotXor = FOUR_CHAR_CODE('nxor'), /* 0x6e786f72 */
- kAEQDOr = FOUR_CHAR_CODE('or '), /* 0x6f722020 */
- kAEQDSubOver = FOUR_CHAR_CODE('subo'), /* 0x7375626f */
- kAEQDSubPin = FOUR_CHAR_CODE('subp'), /* 0x73756270 */
- kAEQDSupplementalSuite = FOUR_CHAR_CODE('qdsp'), /* 0x71647370 */
- kAEQDXor = FOUR_CHAR_CODE('xor '), /* 0x786f7220 */
- kAEQuickdrawSuite = FOUR_CHAR_CODE('qdrw'), /* 0x71647277 */
- kAEQuitAll = FOUR_CHAR_CODE('quia'), /* 0x71756961 */
- kAERedo = FOUR_CHAR_CODE('redo'), /* 0x7265646f */
- kAERegular = FOUR_CHAR_CODE('regl'), /* 0x7265676c */
- kAEReopenApplication = FOUR_CHAR_CODE('rapp'), /* 0x72617070 */
- kAEReplace = FOUR_CHAR_CODE('rplc'), /* 0x72706c63 */
- kAERequiredSuite = FOUR_CHAR_CODE('reqd'), /* 0x72657164 */
- kAERestart = FOUR_CHAR_CODE('rest'), /* 0x72657374 */
- kAERevealSelection = FOUR_CHAR_CODE('srev'), /* 0x73726576 */
- kAERevert = FOUR_CHAR_CODE('rvrt'), /* 0x72767274 */
- kAERightJustified = FOUR_CHAR_CODE('rght'), /* 0x72676874 */
- kAESave = FOUR_CHAR_CODE('save'), /* 0x73617665 */
- kAESelect = FOUR_CHAR_CODE('slct'), /* 0x736c6374 */
- kAESetData = FOUR_CHAR_CODE('setd') /* 0x73657464 */
+enum {
+ kAEQDNotOr = FOUR_CHAR_CODE('ntor'), /* 0x6e746f72 */
+ kAEQDNotXor = FOUR_CHAR_CODE('nxor'), /* 0x6e786f72 */
+ kAEQDOr = FOUR_CHAR_CODE('or '), /* 0x6f722020 */
+ kAEQDSubOver = FOUR_CHAR_CODE('subo'), /* 0x7375626f */
+ kAEQDSubPin = FOUR_CHAR_CODE('subp'), /* 0x73756270 */
+ kAEQDSupplementalSuite = FOUR_CHAR_CODE('qdsp'), /* 0x71647370 */
+ kAEQDXor = FOUR_CHAR_CODE('xor '), /* 0x786f7220 */
+ kAEQuickdrawSuite = FOUR_CHAR_CODE('qdrw'), /* 0x71647277 */
+ kAEQuitAll = FOUR_CHAR_CODE('quia'), /* 0x71756961 */
+ kAERedo = FOUR_CHAR_CODE('redo'), /* 0x7265646f */
+ kAERegular = FOUR_CHAR_CODE('regl'), /* 0x7265676c */
+ kAEReopenApplication = FOUR_CHAR_CODE('rapp'), /* 0x72617070 */
+ kAEReplace = FOUR_CHAR_CODE('rplc'), /* 0x72706c63 */
+ kAERequiredSuite = FOUR_CHAR_CODE('reqd'), /* 0x72657164 */
+ kAERestart = FOUR_CHAR_CODE('rest'), /* 0x72657374 */
+ kAERevealSelection = FOUR_CHAR_CODE('srev'), /* 0x73726576 */
+ kAERevert = FOUR_CHAR_CODE('rvrt'), /* 0x72767274 */
+ kAERightJustified = FOUR_CHAR_CODE('rght'), /* 0x72676874 */
+ kAESave = FOUR_CHAR_CODE('save'), /* 0x73617665 */
+ kAESelect = FOUR_CHAR_CODE('slct'), /* 0x736c6374 */
+ kAESetData = FOUR_CHAR_CODE('setd') /* 0x73657464 */
};
-enum
-{
- kAESetPosition = FOUR_CHAR_CODE('posn'), /* 0x706f736e */
- kAEShadow = FOUR_CHAR_CODE('shad'), /* 0x73686164 */
- kAEShowClipboard = FOUR_CHAR_CODE('shcl'), /* 0x7368636c */
- kAEShutDown = FOUR_CHAR_CODE('shut'), /* 0x73687574 */
- kAESleep = FOUR_CHAR_CODE('slep'), /* 0x736c6570 */
- kAESmallCaps = FOUR_CHAR_CODE('smcp'), /* 0x736d6370 */
- kAESpecialClassProperties = FOUR_CHAR_CODE('c@#!'), /* 0x63402321 */
- kAEStrikethrough = FOUR_CHAR_CODE('strk'), /* 0x7374726b */
- kAESubscript = FOUR_CHAR_CODE('sbsc'), /* 0x73627363 */
- kAESuperscript = FOUR_CHAR_CODE('spsc'), /* 0x73707363 */
- kAETableSuite = FOUR_CHAR_CODE('tbls'), /* 0x74626c73 */
- kAETextSuite = FOUR_CHAR_CODE('TEXT'), /* 0x54455854 */
- kAETransactionTerminated = FOUR_CHAR_CODE('ttrm'), /* 0x7474726d */
- kAEUnderline = FOUR_CHAR_CODE('undl'), /* 0x756e646c */
- kAEUndo = FOUR_CHAR_CODE('undo'), /* 0x756e646f */
- kAEWholeWordEquals = FOUR_CHAR_CODE('wweq'), /* 0x77776571 */
- kAEYes = FOUR_CHAR_CODE('yes '), /* 0x79657320 */
- kAEZoom = FOUR_CHAR_CODE('zoom') /* 0x7a6f6f6d */
+enum {
+ kAESetPosition = FOUR_CHAR_CODE('posn'), /* 0x706f736e */
+ kAEShadow = FOUR_CHAR_CODE('shad'), /* 0x73686164 */
+ kAEShowClipboard = FOUR_CHAR_CODE('shcl'), /* 0x7368636c */
+ kAEShutDown = FOUR_CHAR_CODE('shut'), /* 0x73687574 */
+ kAESleep = FOUR_CHAR_CODE('slep'), /* 0x736c6570 */
+ kAESmallCaps = FOUR_CHAR_CODE('smcp'), /* 0x736d6370 */
+ kAESpecialClassProperties = FOUR_CHAR_CODE('c@#!'), /* 0x63402321 */
+ kAEStrikethrough = FOUR_CHAR_CODE('strk'), /* 0x7374726b */
+ kAESubscript = FOUR_CHAR_CODE('sbsc'), /* 0x73627363 */
+ kAESuperscript = FOUR_CHAR_CODE('spsc'), /* 0x73707363 */
+ kAETableSuite = FOUR_CHAR_CODE('tbls'), /* 0x74626c73 */
+ kAETextSuite = FOUR_CHAR_CODE('TEXT'), /* 0x54455854 */
+ kAETransactionTerminated = FOUR_CHAR_CODE('ttrm'), /* 0x7474726d */
+ kAEUnderline = FOUR_CHAR_CODE('undl'), /* 0x756e646c */
+ kAEUndo = FOUR_CHAR_CODE('undo'), /* 0x756e646f */
+ kAEWholeWordEquals = FOUR_CHAR_CODE('wweq'), /* 0x77776571 */
+ kAEYes = FOUR_CHAR_CODE('yes '), /* 0x79657320 */
+ kAEZoom = FOUR_CHAR_CODE('zoom') /* 0x7a6f6f6d */
};
/* EventRecord Classes and EventIDs */
-enum
-{
- kAEMouseClass = FOUR_CHAR_CODE('mous'),
- kAEDown = FOUR_CHAR_CODE('down'),
- kAEUp = FOUR_CHAR_CODE('up '),
- kAEMoved = FOUR_CHAR_CODE('move'),
- kAEStoppedMoving = FOUR_CHAR_CODE('stop'),
- kAEWindowClass = FOUR_CHAR_CODE('wind'),
- kAEUpdate = FOUR_CHAR_CODE('updt'),
- kAEActivate = FOUR_CHAR_CODE('actv'),
- kAEDeactivate = FOUR_CHAR_CODE('dact'),
- kAECommandClass = FOUR_CHAR_CODE('cmnd'), /* Modern Command Event Class */
- kAEKeyClass = FOUR_CHAR_CODE('keyc'),
- kAERawKey = FOUR_CHAR_CODE('rkey'), /* Modern Raw Key Event */
- kAEVirtualKey = FOUR_CHAR_CODE('keyc'), /* Modern Virtual Key Event */
- kAENavigationKey = FOUR_CHAR_CODE('nave'), /* Modern Navigation Key Event */
- kAEAutoDown = FOUR_CHAR_CODE('auto'),
- kAEApplicationClass = FOUR_CHAR_CODE('appl'),
- kAESuspend = FOUR_CHAR_CODE('susp'),
- kAEResume = FOUR_CHAR_CODE('rsme'),
- kAEDiskEvent = FOUR_CHAR_CODE('disk'),
- kAENullEvent = FOUR_CHAR_CODE('null'),
- kAEWakeUpEvent = FOUR_CHAR_CODE('wake'),
- kAEScrapEvent = FOUR_CHAR_CODE('scrp'),
- kAEHighLevel = FOUR_CHAR_CODE('high')
+enum {
+ kAEMouseClass = FOUR_CHAR_CODE('mous'),
+ kAEDown = FOUR_CHAR_CODE('down'),
+ kAEUp = FOUR_CHAR_CODE('up '),
+ kAEMoved = FOUR_CHAR_CODE('move'),
+ kAEStoppedMoving = FOUR_CHAR_CODE('stop'),
+ kAEWindowClass = FOUR_CHAR_CODE('wind'),
+ kAEUpdate = FOUR_CHAR_CODE('updt'),
+ kAEActivate = FOUR_CHAR_CODE('actv'),
+ kAEDeactivate = FOUR_CHAR_CODE('dact'),
+ kAECommandClass = FOUR_CHAR_CODE('cmnd'), /* Modern Command Event Class */
+ kAEKeyClass = FOUR_CHAR_CODE('keyc'),
+ kAERawKey = FOUR_CHAR_CODE('rkey'), /* Modern Raw Key Event */
+ kAEVirtualKey = FOUR_CHAR_CODE('keyc'), /* Modern Virtual Key Event */
+ kAENavigationKey = FOUR_CHAR_CODE('nave'), /* Modern Navigation Key Event */
+ kAEAutoDown = FOUR_CHAR_CODE('auto'),
+ kAEApplicationClass = FOUR_CHAR_CODE('appl'),
+ kAESuspend = FOUR_CHAR_CODE('susp'),
+ kAEResume = FOUR_CHAR_CODE('rsme'),
+ kAEDiskEvent = FOUR_CHAR_CODE('disk'),
+ kAENullEvent = FOUR_CHAR_CODE('null'),
+ kAEWakeUpEvent = FOUR_CHAR_CODE('wake'),
+ kAEScrapEvent = FOUR_CHAR_CODE('scrp'),
+ kAEHighLevel = FOUR_CHAR_CODE('high')
};
-enum
-{
- keyAEAngle = FOUR_CHAR_CODE('kang'), /* 0x6b616e67 */
- keyAEArcAngle = FOUR_CHAR_CODE('parc') /* 0x70617263 */
+enum {
+ keyAEAngle = FOUR_CHAR_CODE('kang'), /* 0x6b616e67 */
+ keyAEArcAngle = FOUR_CHAR_CODE('parc') /* 0x70617263 */
};
-enum
-{
- keyAEBaseAddr = FOUR_CHAR_CODE('badd'), /* 0x62616464 */
- keyAEBestType = FOUR_CHAR_CODE('pbst'), /* 0x70627374 */
- keyAEBgndColor = FOUR_CHAR_CODE('kbcl'), /* 0x6b62636c */
- keyAEBgndPattern = FOUR_CHAR_CODE('kbpt'), /* 0x6b627074 */
- keyAEBounds = FOUR_CHAR_CODE('pbnd'), /* 0x70626e64 */
- keyAECellList = FOUR_CHAR_CODE('kclt'), /* 0x6b636c74 */
- keyAEClassID = FOUR_CHAR_CODE('clID'), /* 0x636c4944 */
- keyAEColor = FOUR_CHAR_CODE('colr'), /* 0x636f6c72 */
- keyAEColorTable = FOUR_CHAR_CODE('cltb'), /* 0x636c7462 */
- keyAECurveHeight = FOUR_CHAR_CODE('kchd'), /* 0x6b636864 */
- keyAECurveWidth = FOUR_CHAR_CODE('kcwd'), /* 0x6b637764 */
- keyAEDashStyle = FOUR_CHAR_CODE('pdst'), /* 0x70647374 */
- keyAEData = FOUR_CHAR_CODE('data'), /* 0x64617461 */
- keyAEDefaultType = FOUR_CHAR_CODE('deft'), /* 0x64656674 */
- keyAEDefinitionRect = FOUR_CHAR_CODE('pdrt'), /* 0x70647274 */
- keyAEDescType = FOUR_CHAR_CODE('dstp'), /* 0x64737470 */
- keyAEDestination = FOUR_CHAR_CODE('dest'), /* 0x64657374 */
- keyAEDoAntiAlias = FOUR_CHAR_CODE('anta'), /* 0x616e7461 */
- keyAEDoDithered = FOUR_CHAR_CODE('gdit'), /* 0x67646974 */
- keyAEDoRotate = FOUR_CHAR_CODE('kdrt') /* 0x6b647274 */
+enum {
+ keyAEBaseAddr = FOUR_CHAR_CODE('badd'), /* 0x62616464 */
+ keyAEBestType = FOUR_CHAR_CODE('pbst'), /* 0x70627374 */
+ keyAEBgndColor = FOUR_CHAR_CODE('kbcl'), /* 0x6b62636c */
+ keyAEBgndPattern = FOUR_CHAR_CODE('kbpt'), /* 0x6b627074 */
+ keyAEBounds = FOUR_CHAR_CODE('pbnd'), /* 0x70626e64 */
+ keyAECellList = FOUR_CHAR_CODE('kclt'), /* 0x6b636c74 */
+ keyAEClassID = FOUR_CHAR_CODE('clID'), /* 0x636c4944 */
+ keyAEColor = FOUR_CHAR_CODE('colr'), /* 0x636f6c72 */
+ keyAEColorTable = FOUR_CHAR_CODE('cltb'), /* 0x636c7462 */
+ keyAECurveHeight = FOUR_CHAR_CODE('kchd'), /* 0x6b636864 */
+ keyAECurveWidth = FOUR_CHAR_CODE('kcwd'), /* 0x6b637764 */
+ keyAEDashStyle = FOUR_CHAR_CODE('pdst'), /* 0x70647374 */
+ keyAEData = FOUR_CHAR_CODE('data'), /* 0x64617461 */
+ keyAEDefaultType = FOUR_CHAR_CODE('deft'), /* 0x64656674 */
+ keyAEDefinitionRect = FOUR_CHAR_CODE('pdrt'), /* 0x70647274 */
+ keyAEDescType = FOUR_CHAR_CODE('dstp'), /* 0x64737470 */
+ keyAEDestination = FOUR_CHAR_CODE('dest'), /* 0x64657374 */
+ keyAEDoAntiAlias = FOUR_CHAR_CODE('anta'), /* 0x616e7461 */
+ keyAEDoDithered = FOUR_CHAR_CODE('gdit'), /* 0x67646974 */
+ keyAEDoRotate = FOUR_CHAR_CODE('kdrt') /* 0x6b647274 */
};
-enum
-{
- keyAEDoScale = FOUR_CHAR_CODE('ksca'), /* 0x6b736361 */
- keyAEDoTranslate = FOUR_CHAR_CODE('ktra'), /* 0x6b747261 */
- keyAEEditionFileLoc = FOUR_CHAR_CODE('eloc'), /* 0x656c6f63 */
- keyAEElements = FOUR_CHAR_CODE('elms'), /* 0x656c6d73 */
- keyAEEndPoint = FOUR_CHAR_CODE('pend'), /* 0x70656e64 */
- keyAEEventClass = FOUR_CHAR_CODE('evcl'), /* 0x6576636c */
- keyAEEventID = FOUR_CHAR_CODE('evti'), /* 0x65767469 */
- keyAEFile = FOUR_CHAR_CODE('kfil'), /* 0x6b66696c */
- keyAEFileType = FOUR_CHAR_CODE('fltp'), /* 0x666c7470 */
- keyAEFillColor = FOUR_CHAR_CODE('flcl'), /* 0x666c636c */
- keyAEFillPattern = FOUR_CHAR_CODE('flpt'), /* 0x666c7074 */
- keyAEFlipHorizontal = FOUR_CHAR_CODE('kfho'), /* 0x6b66686f */
- keyAEFlipVertical = FOUR_CHAR_CODE('kfvt'), /* 0x6b667674 */
- keyAEFont = FOUR_CHAR_CODE('font'), /* 0x666f6e74 */
- keyAEFormula = FOUR_CHAR_CODE('pfor'), /* 0x70666f72 */
- keyAEGraphicObjects = FOUR_CHAR_CODE('gobs'), /* 0x676f6273 */
- keyAEID = FOUR_CHAR_CODE('ID '), /* 0x49442020 */
- keyAEImageQuality = FOUR_CHAR_CODE('gqua'), /* 0x67717561 */
- keyAEInsertHere = FOUR_CHAR_CODE('insh'), /* 0x696e7368 */
- keyAEKeyForms = FOUR_CHAR_CODE('keyf') /* 0x6b657966 */
+enum {
+ keyAEDoScale = FOUR_CHAR_CODE('ksca'), /* 0x6b736361 */
+ keyAEDoTranslate = FOUR_CHAR_CODE('ktra'), /* 0x6b747261 */
+ keyAEEditionFileLoc = FOUR_CHAR_CODE('eloc'), /* 0x656c6f63 */
+ keyAEElements = FOUR_CHAR_CODE('elms'), /* 0x656c6d73 */
+ keyAEEndPoint = FOUR_CHAR_CODE('pend'), /* 0x70656e64 */
+ keyAEEventClass = FOUR_CHAR_CODE('evcl'), /* 0x6576636c */
+ keyAEEventID = FOUR_CHAR_CODE('evti'), /* 0x65767469 */
+ keyAEFile = FOUR_CHAR_CODE('kfil'), /* 0x6b66696c */
+ keyAEFileType = FOUR_CHAR_CODE('fltp'), /* 0x666c7470 */
+ keyAEFillColor = FOUR_CHAR_CODE('flcl'), /* 0x666c636c */
+ keyAEFillPattern = FOUR_CHAR_CODE('flpt'), /* 0x666c7074 */
+ keyAEFlipHorizontal = FOUR_CHAR_CODE('kfho'), /* 0x6b66686f */
+ keyAEFlipVertical = FOUR_CHAR_CODE('kfvt'), /* 0x6b667674 */
+ keyAEFont = FOUR_CHAR_CODE('font'), /* 0x666f6e74 */
+ keyAEFormula = FOUR_CHAR_CODE('pfor'), /* 0x70666f72 */
+ keyAEGraphicObjects = FOUR_CHAR_CODE('gobs'), /* 0x676f6273 */
+ keyAEID = FOUR_CHAR_CODE('ID '), /* 0x49442020 */
+ keyAEImageQuality = FOUR_CHAR_CODE('gqua'), /* 0x67717561 */
+ keyAEInsertHere = FOUR_CHAR_CODE('insh'), /* 0x696e7368 */
+ keyAEKeyForms = FOUR_CHAR_CODE('keyf') /* 0x6b657966 */
};
-enum
-{
- keyAEKeyword = FOUR_CHAR_CODE('kywd'), /* 0x6b797764 */
- keyAELevel = FOUR_CHAR_CODE('levl'), /* 0x6c65766c */
- keyAELineArrow = FOUR_CHAR_CODE('arro'), /* 0x6172726f */
- keyAEName = FOUR_CHAR_CODE('pnam'), /* 0x706e616d */
- keyAENewElementLoc = FOUR_CHAR_CODE('pnel'), /* 0x706e656c */
- keyAEObject = FOUR_CHAR_CODE('kobj'), /* 0x6b6f626a */
- keyAEObjectClass = FOUR_CHAR_CODE('kocl'), /* 0x6b6f636c */
- keyAEOffStyles = FOUR_CHAR_CODE('ofst'), /* 0x6f667374 */
- keyAEOnStyles = FOUR_CHAR_CODE('onst'), /* 0x6f6e7374 */
- keyAEParameters = FOUR_CHAR_CODE('prms'), /* 0x70726d73 */
- keyAEParamFlags = FOUR_CHAR_CODE('pmfg'), /* 0x706d6667 */
- keyAEPenColor = FOUR_CHAR_CODE('ppcl'), /* 0x7070636c */
- keyAEPenPattern = FOUR_CHAR_CODE('pppa'), /* 0x70707061 */
- keyAEPenWidth = FOUR_CHAR_CODE('ppwd'), /* 0x70707764 */
- keyAEPixelDepth = FOUR_CHAR_CODE('pdpt'), /* 0x70647074 */
- keyAEPixMapMinus = FOUR_CHAR_CODE('kpmm'), /* 0x6b706d6d */
- keyAEPMTable = FOUR_CHAR_CODE('kpmt'), /* 0x6b706d74 */
- keyAEPointList = FOUR_CHAR_CODE('ptlt'), /* 0x70746c74 */
- keyAEPointSize = FOUR_CHAR_CODE('ptsz'), /* 0x7074737a */
- keyAEPosition = FOUR_CHAR_CODE('kpos') /* 0x6b706f73 */
+enum {
+ keyAEKeyword = FOUR_CHAR_CODE('kywd'), /* 0x6b797764 */
+ keyAELevel = FOUR_CHAR_CODE('levl'), /* 0x6c65766c */
+ keyAELineArrow = FOUR_CHAR_CODE('arro'), /* 0x6172726f */
+ keyAEName = FOUR_CHAR_CODE('pnam'), /* 0x706e616d */
+ keyAENewElementLoc = FOUR_CHAR_CODE('pnel'), /* 0x706e656c */
+ keyAEObject = FOUR_CHAR_CODE('kobj'), /* 0x6b6f626a */
+ keyAEObjectClass = FOUR_CHAR_CODE('kocl'), /* 0x6b6f636c */
+ keyAEOffStyles = FOUR_CHAR_CODE('ofst'), /* 0x6f667374 */
+ keyAEOnStyles = FOUR_CHAR_CODE('onst'), /* 0x6f6e7374 */
+ keyAEParameters = FOUR_CHAR_CODE('prms'), /* 0x70726d73 */
+ keyAEParamFlags = FOUR_CHAR_CODE('pmfg'), /* 0x706d6667 */
+ keyAEPenColor = FOUR_CHAR_CODE('ppcl'), /* 0x7070636c */
+ keyAEPenPattern = FOUR_CHAR_CODE('pppa'), /* 0x70707061 */
+ keyAEPenWidth = FOUR_CHAR_CODE('ppwd'), /* 0x70707764 */
+ keyAEPixelDepth = FOUR_CHAR_CODE('pdpt'), /* 0x70647074 */
+ keyAEPixMapMinus = FOUR_CHAR_CODE('kpmm'), /* 0x6b706d6d */
+ keyAEPMTable = FOUR_CHAR_CODE('kpmt'), /* 0x6b706d74 */
+ keyAEPointList = FOUR_CHAR_CODE('ptlt'), /* 0x70746c74 */
+ keyAEPointSize = FOUR_CHAR_CODE('ptsz'), /* 0x7074737a */
+ keyAEPosition = FOUR_CHAR_CODE('kpos') /* 0x6b706f73 */
};
-enum
-{
- keyAEPropData = FOUR_CHAR_CODE('prdt'), /* 0x70726474 */
- keyAEProperties = FOUR_CHAR_CODE('qpro'), /* 0x7170726f */
- keyAEProperty = FOUR_CHAR_CODE('kprp'), /* 0x6b707270 */
- keyAEPropFlags = FOUR_CHAR_CODE('prfg'), /* 0x70726667 */
- keyAEPropID = FOUR_CHAR_CODE('prop'), /* 0x70726f70 */
- keyAEProtection = FOUR_CHAR_CODE('ppro'), /* 0x7070726f */
- keyAERenderAs = FOUR_CHAR_CODE('kren'), /* 0x6b72656e */
- keyAERequestedType = FOUR_CHAR_CODE('rtyp'), /* 0x72747970 */
- keyAEResult = FOUR_CHAR_CODE('----'), /* 0x2d2d2d2d */
- keyAEResultInfo = FOUR_CHAR_CODE('rsin'), /* 0x7273696e */
- keyAERotation = FOUR_CHAR_CODE('prot'), /* 0x70726f74 */
- keyAERotPoint = FOUR_CHAR_CODE('krtp'), /* 0x6b727470 */
- keyAERowList = FOUR_CHAR_CODE('krls'), /* 0x6b726c73 */
- keyAESaveOptions = FOUR_CHAR_CODE('savo'), /* 0x7361766f */
- keyAEScale = FOUR_CHAR_CODE('pscl'), /* 0x7073636c */
- keyAEScriptTag = FOUR_CHAR_CODE('psct'), /* 0x70736374 */
- keyAEShowWhere = FOUR_CHAR_CODE('show'), /* 0x73686f77 */
- keyAEStartAngle = FOUR_CHAR_CODE('pang'), /* 0x70616e67 */
- keyAEStartPoint = FOUR_CHAR_CODE('pstp'), /* 0x70737470 */
- keyAEStyles = FOUR_CHAR_CODE('ksty') /* 0x6b737479 */
+enum {
+ keyAEPropData = FOUR_CHAR_CODE('prdt'), /* 0x70726474 */
+ keyAEProperties = FOUR_CHAR_CODE('qpro'), /* 0x7170726f */
+ keyAEProperty = FOUR_CHAR_CODE('kprp'), /* 0x6b707270 */
+ keyAEPropFlags = FOUR_CHAR_CODE('prfg'), /* 0x70726667 */
+ keyAEPropID = FOUR_CHAR_CODE('prop'), /* 0x70726f70 */
+ keyAEProtection = FOUR_CHAR_CODE('ppro'), /* 0x7070726f */
+ keyAERenderAs = FOUR_CHAR_CODE('kren'), /* 0x6b72656e */
+ keyAERequestedType = FOUR_CHAR_CODE('rtyp'), /* 0x72747970 */
+ keyAEResult = FOUR_CHAR_CODE('----'), /* 0x2d2d2d2d */
+ keyAEResultInfo = FOUR_CHAR_CODE('rsin'), /* 0x7273696e */
+ keyAERotation = FOUR_CHAR_CODE('prot'), /* 0x70726f74 */
+ keyAERotPoint = FOUR_CHAR_CODE('krtp'), /* 0x6b727470 */
+ keyAERowList = FOUR_CHAR_CODE('krls'), /* 0x6b726c73 */
+ keyAESaveOptions = FOUR_CHAR_CODE('savo'), /* 0x7361766f */
+ keyAEScale = FOUR_CHAR_CODE('pscl'), /* 0x7073636c */
+ keyAEScriptTag = FOUR_CHAR_CODE('psct'), /* 0x70736374 */
+ keyAEShowWhere = FOUR_CHAR_CODE('show'), /* 0x73686f77 */
+ keyAEStartAngle = FOUR_CHAR_CODE('pang'), /* 0x70616e67 */
+ keyAEStartPoint = FOUR_CHAR_CODE('pstp'), /* 0x70737470 */
+ keyAEStyles = FOUR_CHAR_CODE('ksty') /* 0x6b737479 */
};
-enum
-{
- keyAESuiteID = FOUR_CHAR_CODE('suit'), /* 0x73756974 */
- keyAEText = FOUR_CHAR_CODE('ktxt'), /* 0x6b747874 */
- keyAETextColor = FOUR_CHAR_CODE('ptxc'), /* 0x70747863 */
- keyAETextFont = FOUR_CHAR_CODE('ptxf'), /* 0x70747866 */
- keyAETextPointSize = FOUR_CHAR_CODE('ptps'), /* 0x70747073 */
- keyAETextStyles = FOUR_CHAR_CODE('txst'), /* 0x74787374 */
- keyAETextLineHeight = FOUR_CHAR_CODE('ktlh'), /* type ShortInteger */
- keyAETextLineAscent = FOUR_CHAR_CODE('ktas'), /* type ShortInteger */
- keyAETheText = FOUR_CHAR_CODE('thtx'), /* 0x74687478 */
- keyAETransferMode = FOUR_CHAR_CODE('pptm'), /* 0x7070746d */
- keyAETranslation = FOUR_CHAR_CODE('ptrs'), /* 0x70747273 */
- keyAETryAsStructGraf = FOUR_CHAR_CODE('toog'), /* 0x746f6f67 */
- keyAEUniformStyles = FOUR_CHAR_CODE('ustl'), /* 0x7573746c */
- keyAEUpdateOn = FOUR_CHAR_CODE('pupd'), /* 0x70757064 */
- keyAEUserTerm = FOUR_CHAR_CODE('utrm'), /* 0x7574726d */
- keyAEWindow = FOUR_CHAR_CODE('wndw'), /* 0x776e6477 */
- keyAEWritingCode = FOUR_CHAR_CODE('wrcd') /* 0x77726364 */
+enum {
+ keyAESuiteID = FOUR_CHAR_CODE('suit'), /* 0x73756974 */
+ keyAEText = FOUR_CHAR_CODE('ktxt'), /* 0x6b747874 */
+ keyAETextColor = FOUR_CHAR_CODE('ptxc'), /* 0x70747863 */
+ keyAETextFont = FOUR_CHAR_CODE('ptxf'), /* 0x70747866 */
+ keyAETextPointSize = FOUR_CHAR_CODE('ptps'), /* 0x70747073 */
+ keyAETextStyles = FOUR_CHAR_CODE('txst'), /* 0x74787374 */
+ keyAETextLineHeight = FOUR_CHAR_CODE('ktlh'), /* type ShortInteger */
+ keyAETextLineAscent = FOUR_CHAR_CODE('ktas'), /* type ShortInteger */
+ keyAETheText = FOUR_CHAR_CODE('thtx'), /* 0x74687478 */
+ keyAETransferMode = FOUR_CHAR_CODE('pptm'), /* 0x7070746d */
+ keyAETranslation = FOUR_CHAR_CODE('ptrs'), /* 0x70747273 */
+ keyAETryAsStructGraf = FOUR_CHAR_CODE('toog'), /* 0x746f6f67 */
+ keyAEUniformStyles = FOUR_CHAR_CODE('ustl'), /* 0x7573746c */
+ keyAEUpdateOn = FOUR_CHAR_CODE('pupd'), /* 0x70757064 */
+ keyAEUserTerm = FOUR_CHAR_CODE('utrm'), /* 0x7574726d */
+ keyAEWindow = FOUR_CHAR_CODE('wndw'), /* 0x776e6477 */
+ keyAEWritingCode = FOUR_CHAR_CODE('wrcd') /* 0x77726364 */
};
-enum
-{
- keyMiscellaneous = FOUR_CHAR_CODE('fmsc'), /* 0x666d7363 */
- keySelection = FOUR_CHAR_CODE('fsel'), /* 0x6673656c */
- keyWindow = FOUR_CHAR_CODE('kwnd'), /* 0x6b776e64 */
- /* EventRecord keys */
- keyWhen = FOUR_CHAR_CODE('when'),
- keyWhere = FOUR_CHAR_CODE('wher'),
- keyModifiers = FOUR_CHAR_CODE('mods'),
- keyKey = FOUR_CHAR_CODE('key '),
- keyKeyCode = FOUR_CHAR_CODE('code'),
- keyKeyboard = FOUR_CHAR_CODE('keyb'),
- keyDriveNumber = FOUR_CHAR_CODE('drv#'),
- keyErrorCode = FOUR_CHAR_CODE('err#'),
- keyHighLevelClass = FOUR_CHAR_CODE('hcls'),
- keyHighLevelID = FOUR_CHAR_CODE('hid ')
+enum {
+ keyMiscellaneous = FOUR_CHAR_CODE('fmsc'), /* 0x666d7363 */
+ keySelection = FOUR_CHAR_CODE('fsel'), /* 0x6673656c */
+ keyWindow = FOUR_CHAR_CODE('kwnd'), /* 0x6b776e64 */
+ /* EventRecord keys */
+ keyWhen = FOUR_CHAR_CODE('when'),
+ keyWhere = FOUR_CHAR_CODE('wher'),
+ keyModifiers = FOUR_CHAR_CODE('mods'),
+ keyKey = FOUR_CHAR_CODE('key '),
+ keyKeyCode = FOUR_CHAR_CODE('code'),
+ keyKeyboard = FOUR_CHAR_CODE('keyb'),
+ keyDriveNumber = FOUR_CHAR_CODE('drv#'),
+ keyErrorCode = FOUR_CHAR_CODE('err#'),
+ keyHighLevelClass = FOUR_CHAR_CODE('hcls'),
+ keyHighLevelID = FOUR_CHAR_CODE('hid ')
};
-enum
-{
- pArcAngle = FOUR_CHAR_CODE('parc'), /* 0x70617263 */
- pBackgroundColor = FOUR_CHAR_CODE('pbcl'), /* 0x7062636c */
- pBackgroundPattern = FOUR_CHAR_CODE('pbpt'), /* 0x70627074 */
- pBestType = FOUR_CHAR_CODE('pbst'), /* 0x70627374 */
- pBounds = FOUR_CHAR_CODE('pbnd'), /* 0x70626e64 */
- pClass = FOUR_CHAR_CODE('pcls'), /* 0x70636c73 */
- pClipboard = FOUR_CHAR_CODE('pcli'), /* 0x70636c69 */
- pColor = FOUR_CHAR_CODE('colr'), /* 0x636f6c72 */
- pColorTable = FOUR_CHAR_CODE('cltb'), /* 0x636c7462 */
- pContents = FOUR_CHAR_CODE('pcnt'), /* 0x70636e74 */
- pCornerCurveHeight = FOUR_CHAR_CODE('pchd'), /* 0x70636864 */
- pCornerCurveWidth = FOUR_CHAR_CODE('pcwd'), /* 0x70637764 */
- pDashStyle = FOUR_CHAR_CODE('pdst'), /* 0x70647374 */
- pDefaultType = FOUR_CHAR_CODE('deft'), /* 0x64656674 */
- pDefinitionRect = FOUR_CHAR_CODE('pdrt'), /* 0x70647274 */
- pEnabled = FOUR_CHAR_CODE('enbl'), /* 0x656e626c */
- pEndPoint = FOUR_CHAR_CODE('pend'), /* 0x70656e64 */
- pFillColor = FOUR_CHAR_CODE('flcl'), /* 0x666c636c */
- pFillPattern = FOUR_CHAR_CODE('flpt'), /* 0x666c7074 */
- pFont = FOUR_CHAR_CODE('font') /* 0x666f6e74 */
+enum {
+ pArcAngle = FOUR_CHAR_CODE('parc'), /* 0x70617263 */
+ pBackgroundColor = FOUR_CHAR_CODE('pbcl'), /* 0x7062636c */
+ pBackgroundPattern = FOUR_CHAR_CODE('pbpt'), /* 0x70627074 */
+ pBestType = FOUR_CHAR_CODE('pbst'), /* 0x70627374 */
+ pBounds = FOUR_CHAR_CODE('pbnd'), /* 0x70626e64 */
+ pClass = FOUR_CHAR_CODE('pcls'), /* 0x70636c73 */
+ pClipboard = FOUR_CHAR_CODE('pcli'), /* 0x70636c69 */
+ pColor = FOUR_CHAR_CODE('colr'), /* 0x636f6c72 */
+ pColorTable = FOUR_CHAR_CODE('cltb'), /* 0x636c7462 */
+ pContents = FOUR_CHAR_CODE('pcnt'), /* 0x70636e74 */
+ pCornerCurveHeight = FOUR_CHAR_CODE('pchd'), /* 0x70636864 */
+ pCornerCurveWidth = FOUR_CHAR_CODE('pcwd'), /* 0x70637764 */
+ pDashStyle = FOUR_CHAR_CODE('pdst'), /* 0x70647374 */
+ pDefaultType = FOUR_CHAR_CODE('deft'), /* 0x64656674 */
+ pDefinitionRect = FOUR_CHAR_CODE('pdrt'), /* 0x70647274 */
+ pEnabled = FOUR_CHAR_CODE('enbl'), /* 0x656e626c */
+ pEndPoint = FOUR_CHAR_CODE('pend'), /* 0x70656e64 */
+ pFillColor = FOUR_CHAR_CODE('flcl'), /* 0x666c636c */
+ pFillPattern = FOUR_CHAR_CODE('flpt'), /* 0x666c7074 */
+ pFont = FOUR_CHAR_CODE('font') /* 0x666f6e74 */
};
-enum
-{
- pFormula = FOUR_CHAR_CODE('pfor'), /* 0x70666f72 */
- pGraphicObjects = FOUR_CHAR_CODE('gobs'), /* 0x676f6273 */
- pHasCloseBox = FOUR_CHAR_CODE('hclb'), /* 0x68636c62 */
- pHasTitleBar = FOUR_CHAR_CODE('ptit'), /* 0x70746974 */
- pID = FOUR_CHAR_CODE('ID '), /* 0x49442020 */
- pIndex = FOUR_CHAR_CODE('pidx'), /* 0x70696478 */
- pInsertionLoc = FOUR_CHAR_CODE('pins'), /* 0x70696e73 */
- pIsFloating = FOUR_CHAR_CODE('isfl'), /* 0x6973666c */
- pIsFrontProcess = FOUR_CHAR_CODE('pisf'), /* 0x70697366 */
- pIsModal = FOUR_CHAR_CODE('pmod'), /* 0x706d6f64 */
- pIsModified = FOUR_CHAR_CODE('imod'), /* 0x696d6f64 */
- pIsResizable = FOUR_CHAR_CODE('prsz'), /* 0x7072737a */
- pIsStationeryPad = FOUR_CHAR_CODE('pspd'), /* 0x70737064 */
- pIsZoomable = FOUR_CHAR_CODE('iszm'), /* 0x69737a6d */
- pIsZoomed = FOUR_CHAR_CODE('pzum'), /* 0x707a756d */
- pItemNumber = FOUR_CHAR_CODE('itmn'), /* 0x69746d6e */
- pJustification = FOUR_CHAR_CODE('pjst'), /* 0x706a7374 */
- pLineArrow = FOUR_CHAR_CODE('arro'), /* 0x6172726f */
- pMenuID = FOUR_CHAR_CODE('mnid'), /* 0x6d6e6964 */
- pName = FOUR_CHAR_CODE('pnam') /* 0x706e616d */
+enum {
+ pFormula = FOUR_CHAR_CODE('pfor'), /* 0x70666f72 */
+ pGraphicObjects = FOUR_CHAR_CODE('gobs'), /* 0x676f6273 */
+ pHasCloseBox = FOUR_CHAR_CODE('hclb'), /* 0x68636c62 */
+ pHasTitleBar = FOUR_CHAR_CODE('ptit'), /* 0x70746974 */
+ pID = FOUR_CHAR_CODE('ID '), /* 0x49442020 */
+ pIndex = FOUR_CHAR_CODE('pidx'), /* 0x70696478 */
+ pInsertionLoc = FOUR_CHAR_CODE('pins'), /* 0x70696e73 */
+ pIsFloating = FOUR_CHAR_CODE('isfl'), /* 0x6973666c */
+ pIsFrontProcess = FOUR_CHAR_CODE('pisf'), /* 0x70697366 */
+ pIsModal = FOUR_CHAR_CODE('pmod'), /* 0x706d6f64 */
+ pIsModified = FOUR_CHAR_CODE('imod'), /* 0x696d6f64 */
+ pIsResizable = FOUR_CHAR_CODE('prsz'), /* 0x7072737a */
+ pIsStationeryPad = FOUR_CHAR_CODE('pspd'), /* 0x70737064 */
+ pIsZoomable = FOUR_CHAR_CODE('iszm'), /* 0x69737a6d */
+ pIsZoomed = FOUR_CHAR_CODE('pzum'), /* 0x707a756d */
+ pItemNumber = FOUR_CHAR_CODE('itmn'), /* 0x69746d6e */
+ pJustification = FOUR_CHAR_CODE('pjst'), /* 0x706a7374 */
+ pLineArrow = FOUR_CHAR_CODE('arro'), /* 0x6172726f */
+ pMenuID = FOUR_CHAR_CODE('mnid'), /* 0x6d6e6964 */
+ pName = FOUR_CHAR_CODE('pnam') /* 0x706e616d */
};
-enum
-{
- pNewElementLoc = FOUR_CHAR_CODE('pnel'), /* 0x706e656c */
- pPenColor = FOUR_CHAR_CODE('ppcl'), /* 0x7070636c */
- pPenPattern = FOUR_CHAR_CODE('pppa'), /* 0x70707061 */
- pPenWidth = FOUR_CHAR_CODE('ppwd'), /* 0x70707764 */
- pPixelDepth = FOUR_CHAR_CODE('pdpt'), /* 0x70647074 */
- pPointList = FOUR_CHAR_CODE('ptlt'), /* 0x70746c74 */
- pPointSize = FOUR_CHAR_CODE('ptsz'), /* 0x7074737a */
- pProtection = FOUR_CHAR_CODE('ppro'), /* 0x7070726f */
- pRotation = FOUR_CHAR_CODE('prot'), /* 0x70726f74 */
- pScale = FOUR_CHAR_CODE('pscl'), /* 0x7073636c */
- pScript = FOUR_CHAR_CODE('scpt'), /* 0x73637074 */
- pScriptTag = FOUR_CHAR_CODE('psct'), /* 0x70736374 */
- pSelected = FOUR_CHAR_CODE('selc'), /* 0x73656c63 */
- pSelection = FOUR_CHAR_CODE('sele'), /* 0x73656c65 */
- pStartAngle = FOUR_CHAR_CODE('pang'), /* 0x70616e67 */
- pStartPoint = FOUR_CHAR_CODE('pstp'), /* 0x70737470 */
- pTextColor = FOUR_CHAR_CODE('ptxc'), /* 0x70747863 */
- pTextFont = FOUR_CHAR_CODE('ptxf'), /* 0x70747866 */
- pTextItemDelimiters = FOUR_CHAR_CODE('txdl'), /* 0x7478646c */
- pTextPointSize = FOUR_CHAR_CODE('ptps') /* 0x70747073 */
+enum {
+ pNewElementLoc = FOUR_CHAR_CODE('pnel'), /* 0x706e656c */
+ pPenColor = FOUR_CHAR_CODE('ppcl'), /* 0x7070636c */
+ pPenPattern = FOUR_CHAR_CODE('pppa'), /* 0x70707061 */
+ pPenWidth = FOUR_CHAR_CODE('ppwd'), /* 0x70707764 */
+ pPixelDepth = FOUR_CHAR_CODE('pdpt'), /* 0x70647074 */
+ pPointList = FOUR_CHAR_CODE('ptlt'), /* 0x70746c74 */
+ pPointSize = FOUR_CHAR_CODE('ptsz'), /* 0x7074737a */
+ pProtection = FOUR_CHAR_CODE('ppro'), /* 0x7070726f */
+ pRotation = FOUR_CHAR_CODE('prot'), /* 0x70726f74 */
+ pScale = FOUR_CHAR_CODE('pscl'), /* 0x7073636c */
+ pScript = FOUR_CHAR_CODE('scpt'), /* 0x73637074 */
+ pScriptTag = FOUR_CHAR_CODE('psct'), /* 0x70736374 */
+ pSelected = FOUR_CHAR_CODE('selc'), /* 0x73656c63 */
+ pSelection = FOUR_CHAR_CODE('sele'), /* 0x73656c65 */
+ pStartAngle = FOUR_CHAR_CODE('pang'), /* 0x70616e67 */
+ pStartPoint = FOUR_CHAR_CODE('pstp'), /* 0x70737470 */
+ pTextColor = FOUR_CHAR_CODE('ptxc'), /* 0x70747863 */
+ pTextFont = FOUR_CHAR_CODE('ptxf'), /* 0x70747866 */
+ pTextItemDelimiters = FOUR_CHAR_CODE('txdl'), /* 0x7478646c */
+ pTextPointSize = FOUR_CHAR_CODE('ptps') /* 0x70747073 */
};
-enum
-{
- pTextStyles = FOUR_CHAR_CODE('txst'), /* 0x74787374 */
- pTransferMode = FOUR_CHAR_CODE('pptm'), /* 0x7070746d */
- pTranslation = FOUR_CHAR_CODE('ptrs'), /* 0x70747273 */
- pUniformStyles = FOUR_CHAR_CODE('ustl'), /* 0x7573746c */
- pUpdateOn = FOUR_CHAR_CODE('pupd'), /* 0x70757064 */
- pUserSelection = FOUR_CHAR_CODE('pusl'), /* 0x7075736c */
- pVersion = FOUR_CHAR_CODE('vers'), /* 0x76657273 */
- pVisible = FOUR_CHAR_CODE('pvis') /* 0x70766973 */
+enum {
+ pTextStyles = FOUR_CHAR_CODE('txst'), /* 0x74787374 */
+ pTransferMode = FOUR_CHAR_CODE('pptm'), /* 0x7070746d */
+ pTranslation = FOUR_CHAR_CODE('ptrs'), /* 0x70747273 */
+ pUniformStyles = FOUR_CHAR_CODE('ustl'), /* 0x7573746c */
+ pUpdateOn = FOUR_CHAR_CODE('pupd'), /* 0x70757064 */
+ pUserSelection = FOUR_CHAR_CODE('pusl'), /* 0x7075736c */
+ pVersion = FOUR_CHAR_CODE('vers'), /* 0x76657273 */
+ pVisible = FOUR_CHAR_CODE('pvis') /* 0x70766973 */
};
-enum
-{
- typeAEText = FOUR_CHAR_CODE('tTXT'), /* 0x74545854 */
- typeArc = FOUR_CHAR_CODE('carc'), /* 0x63617263 */
- typeBest = FOUR_CHAR_CODE('best'), /* 0x62657374 */
- typeCell = FOUR_CHAR_CODE('ccel'), /* 0x6363656c */
- typeClassInfo = FOUR_CHAR_CODE('gcli'), /* 0x67636c69 */
- typeColorTable = FOUR_CHAR_CODE('clrt'), /* 0x636c7274 */
- typeColumn = FOUR_CHAR_CODE('ccol'), /* 0x63636f6c */
- typeDashStyle = FOUR_CHAR_CODE('tdas'), /* 0x74646173 */
- typeData = FOUR_CHAR_CODE('tdta'), /* 0x74647461 */
- typeDrawingArea = FOUR_CHAR_CODE('cdrw'), /* 0x63647277 */
- typeElemInfo = FOUR_CHAR_CODE('elin'), /* 0x656c696e */
- typeEnumeration = FOUR_CHAR_CODE('enum'), /* 0x656e756d */
- typeEPS = FOUR_CHAR_CODE('EPS '), /* 0x45505320 */
- typeEventInfo = FOUR_CHAR_CODE('evin') /* 0x6576696e */
+enum {
+ typeAEText = FOUR_CHAR_CODE('tTXT'), /* 0x74545854 */
+ typeArc = FOUR_CHAR_CODE('carc'), /* 0x63617263 */
+ typeBest = FOUR_CHAR_CODE('best'), /* 0x62657374 */
+ typeCell = FOUR_CHAR_CODE('ccel'), /* 0x6363656c */
+ typeClassInfo = FOUR_CHAR_CODE('gcli'), /* 0x67636c69 */
+ typeColorTable = FOUR_CHAR_CODE('clrt'), /* 0x636c7274 */
+ typeColumn = FOUR_CHAR_CODE('ccol'), /* 0x63636f6c */
+ typeDashStyle = FOUR_CHAR_CODE('tdas'), /* 0x74646173 */
+ typeData = FOUR_CHAR_CODE('tdta'), /* 0x74647461 */
+ typeDrawingArea = FOUR_CHAR_CODE('cdrw'), /* 0x63647277 */
+ typeElemInfo = FOUR_CHAR_CODE('elin'), /* 0x656c696e */
+ typeEnumeration = FOUR_CHAR_CODE('enum'), /* 0x656e756d */
+ typeEPS = FOUR_CHAR_CODE('EPS '), /* 0x45505320 */
+ typeEventInfo = FOUR_CHAR_CODE('evin') /* 0x6576696e */
};
-enum
-{
- typeFinderWindow = FOUR_CHAR_CODE('fwin'), /* 0x6677696e */
- typeFixedPoint = FOUR_CHAR_CODE('fpnt'), /* 0x66706e74 */
- typeFixedRectangle = FOUR_CHAR_CODE('frct'), /* 0x66726374 */
- typeGraphicLine = FOUR_CHAR_CODE('glin'), /* 0x676c696e */
- typeGraphicText = FOUR_CHAR_CODE('cgtx'), /* 0x63677478 */
- typeGroupedGraphic = FOUR_CHAR_CODE('cpic'), /* 0x63706963 */
- typeInsertionLoc = FOUR_CHAR_CODE('insl'), /* 0x696e736c */
- typeIntlText = FOUR_CHAR_CODE('itxt'), /* 0x69747874 */
- typeIntlWritingCode = FOUR_CHAR_CODE('intl'), /* 0x696e746c */
- typeLongDateTime = FOUR_CHAR_CODE('ldt '), /* 0x6c647420 */
- typeISO8601DateTime = FOUR_CHAR_CODE('isot'), /* 0x69736f74 data is ascii text of an ISO8601 date */
- typeLongFixed = FOUR_CHAR_CODE('lfxd'), /* 0x6c667864 */
- typeLongFixedPoint = FOUR_CHAR_CODE('lfpt'), /* 0x6c667074 */
- typeLongFixedRectangle = FOUR_CHAR_CODE('lfrc'), /* 0x6c667263 */
- typeLongPoint = FOUR_CHAR_CODE('lpnt'), /* 0x6c706e74 */
- typeLongRectangle = FOUR_CHAR_CODE('lrct'), /* 0x6c726374 */
- typeMachineLoc = FOUR_CHAR_CODE('mLoc'), /* 0x6d4c6f63 */
- typeOval = FOUR_CHAR_CODE('covl'), /* 0x636f766c */
- typeParamInfo = FOUR_CHAR_CODE('pmin'), /* 0x706d696e */
- typePict = FOUR_CHAR_CODE('PICT') /* 0x50494354 */
+enum {
+ typeFinderWindow = FOUR_CHAR_CODE('fwin'), /* 0x6677696e */
+ typeFixedPoint = FOUR_CHAR_CODE('fpnt'), /* 0x66706e74 */
+ typeFixedRectangle = FOUR_CHAR_CODE('frct'), /* 0x66726374 */
+ typeGraphicLine = FOUR_CHAR_CODE('glin'), /* 0x676c696e */
+ typeGraphicText = FOUR_CHAR_CODE('cgtx'), /* 0x63677478 */
+ typeGroupedGraphic = FOUR_CHAR_CODE('cpic'), /* 0x63706963 */
+ typeInsertionLoc = FOUR_CHAR_CODE('insl'), /* 0x696e736c */
+ typeIntlText = FOUR_CHAR_CODE('itxt'), /* 0x69747874 */
+ typeIntlWritingCode = FOUR_CHAR_CODE('intl'), /* 0x696e746c */
+ typeLongDateTime = FOUR_CHAR_CODE('ldt '), /* 0x6c647420 */
+ typeISO8601DateTime = FOUR_CHAR_CODE('isot'), /* 0x69736f74 data is ascii text of an ISO8601 date */
+ typeLongFixed = FOUR_CHAR_CODE('lfxd'), /* 0x6c667864 */
+ typeLongFixedPoint = FOUR_CHAR_CODE('lfpt'), /* 0x6c667074 */
+ typeLongFixedRectangle = FOUR_CHAR_CODE('lfrc'), /* 0x6c667263 */
+ typeLongPoint = FOUR_CHAR_CODE('lpnt'), /* 0x6c706e74 */
+ typeLongRectangle = FOUR_CHAR_CODE('lrct'), /* 0x6c726374 */
+ typeMachineLoc = FOUR_CHAR_CODE('mLoc'), /* 0x6d4c6f63 */
+ typeOval = FOUR_CHAR_CODE('covl'), /* 0x636f766c */
+ typeParamInfo = FOUR_CHAR_CODE('pmin'), /* 0x706d696e */
+ typePict = FOUR_CHAR_CODE('PICT') /* 0x50494354 */
};
-enum
-{
- typePixelMap = FOUR_CHAR_CODE('cpix'), /* 0x63706978 */
- typePixMapMinus = FOUR_CHAR_CODE('tpmm'), /* 0x74706d6d */
- typePolygon = FOUR_CHAR_CODE('cpgn'), /* 0x6370676e */
- typePropInfo = FOUR_CHAR_CODE('pinf'), /* 0x70696e66 */
- typePtr = FOUR_CHAR_CODE('ptr '), /* 0x70747220 */
- typeQDPoint = FOUR_CHAR_CODE('QDpt'), /* 0x51447074 */
- typeQDRegion = FOUR_CHAR_CODE('Qrgn'), /* 0x51447074 (data is actual region data, including rectangle and size, _not_ region handle or ptr)*/
- typeRectangle = FOUR_CHAR_CODE('crec'), /* 0x63726563 */
- typeRGB16 = FOUR_CHAR_CODE('tr16'), /* 0x74723136 */
- typeRGB96 = FOUR_CHAR_CODE('tr96'), /* 0x74723936 */
- typeRGBColor = FOUR_CHAR_CODE('cRGB'), /* 0x63524742 */
- typeRotation = FOUR_CHAR_CODE('trot'), /* 0x74726f74 */
- typeRoundedRectangle = FOUR_CHAR_CODE('crrc'), /* 0x63727263 */
- typeRow = FOUR_CHAR_CODE('crow'), /* 0x63726f77 */
- typeScrapStyles = FOUR_CHAR_CODE('styl'), /* 0x7374796c */
- typeScript = FOUR_CHAR_CODE('scpt'), /* 0x73637074 */
- typeStyledText = FOUR_CHAR_CODE('STXT'), /* 0x53545854 */
- typeSuiteInfo = FOUR_CHAR_CODE('suin'), /* 0x7375696e */
- typeTable = FOUR_CHAR_CODE('ctbl'), /* 0x6374626c */
- typeTextStyles = FOUR_CHAR_CODE('tsty') /* 0x74737479 */
+enum {
+ typePixelMap = FOUR_CHAR_CODE('cpix'), /* 0x63706978 */
+ typePixMapMinus = FOUR_CHAR_CODE('tpmm'), /* 0x74706d6d */
+ typePolygon = FOUR_CHAR_CODE('cpgn'), /* 0x6370676e */
+ typePropInfo = FOUR_CHAR_CODE('pinf'), /* 0x70696e66 */
+ typePtr = FOUR_CHAR_CODE('ptr '), /* 0x70747220 */
+ typeQDPoint = FOUR_CHAR_CODE('QDpt'), /* 0x51447074 */
+ typeQDRegion = FOUR_CHAR_CODE('Qrgn'), /* 0x51447074 (data is actual region data, including rectangle and size, _not_ region handle or ptr)*/
+ typeRectangle = FOUR_CHAR_CODE('crec'), /* 0x63726563 */
+ typeRGB16 = FOUR_CHAR_CODE('tr16'), /* 0x74723136 */
+ typeRGB96 = FOUR_CHAR_CODE('tr96'), /* 0x74723936 */
+ typeRGBColor = FOUR_CHAR_CODE('cRGB'), /* 0x63524742 */
+ typeRotation = FOUR_CHAR_CODE('trot'), /* 0x74726f74 */
+ typeRoundedRectangle = FOUR_CHAR_CODE('crrc'), /* 0x63727263 */
+ typeRow = FOUR_CHAR_CODE('crow'), /* 0x63726f77 */
+ typeScrapStyles = FOUR_CHAR_CODE('styl'), /* 0x7374796c */
+ typeScript = FOUR_CHAR_CODE('scpt'), /* 0x73637074 */
+ typeStyledText = FOUR_CHAR_CODE('STXT'), /* 0x53545854 */
+ typeSuiteInfo = FOUR_CHAR_CODE('suin'), /* 0x7375696e */
+ typeTable = FOUR_CHAR_CODE('ctbl'), /* 0x6374626c */
+ typeTextStyles = FOUR_CHAR_CODE('tsty') /* 0x74737479 */
};
-enum
-{
- typeTIFF = FOUR_CHAR_CODE('TIFF'), /* 0x54494646 */
- typeVersion = FOUR_CHAR_CODE('vers') /* 0x76657273 */
+enum {
+ typeTIFF = FOUR_CHAR_CODE('TIFF'), /* 0x54494646 */
+ typeVersion = FOUR_CHAR_CODE('vers') /* 0x76657273 */
};
-enum
-{
- kAEMenuClass = FOUR_CHAR_CODE('menu'),
- kAEMenuSelect = FOUR_CHAR_CODE('mhit'),
- kAEMouseDown = FOUR_CHAR_CODE('mdwn'),
- kAEMouseDownInBack = FOUR_CHAR_CODE('mdbk'),
- kAEKeyDown = FOUR_CHAR_CODE('kdwn'),
- kAEResized = FOUR_CHAR_CODE('rsiz'),
- kAEPromise = FOUR_CHAR_CODE('prom')
+enum {
+ kAEMenuClass = FOUR_CHAR_CODE('menu'),
+ kAEMenuSelect = FOUR_CHAR_CODE('mhit'),
+ kAEMouseDown = FOUR_CHAR_CODE('mdwn'),
+ kAEMouseDownInBack = FOUR_CHAR_CODE('mdbk'),
+ kAEKeyDown = FOUR_CHAR_CODE('kdwn'),
+ kAEResized = FOUR_CHAR_CODE('rsiz'),
+ kAEPromise = FOUR_CHAR_CODE('prom')
};
-enum
-{
- keyMenuID = FOUR_CHAR_CODE('mid '),
- keyMenuItem = FOUR_CHAR_CODE('mitm'),
- keyCloseAllWindows = FOUR_CHAR_CODE('caw '),
- keyOriginalBounds = FOUR_CHAR_CODE('obnd'),
- keyNewBounds = FOUR_CHAR_CODE('nbnd'),
- keyLocalWhere = FOUR_CHAR_CODE('lwhr')
+enum {
+ keyMenuID = FOUR_CHAR_CODE('mid '),
+ keyMenuItem = FOUR_CHAR_CODE('mitm'),
+ keyCloseAllWindows = FOUR_CHAR_CODE('caw '),
+ keyOriginalBounds = FOUR_CHAR_CODE('obnd'),
+ keyNewBounds = FOUR_CHAR_CODE('nbnd'),
+ keyLocalWhere = FOUR_CHAR_CODE('lwhr')
};
-enum
-{
- typeHIMenu = FOUR_CHAR_CODE('mobj'),
- typeHIWindow = FOUR_CHAR_CODE('wobj')
+enum {
+ typeHIMenu = FOUR_CHAR_CODE('mobj'),
+ typeHIWindow = FOUR_CHAR_CODE('wobj')
};
-enum
-{
- kBySmallIcon = 0,
- kByIconView = 1,
- kByNameView = 2,
- kByDateView = 3,
- kBySizeView = 4,
- kByKindView = 5,
- kByCommentView = 6,
- kByLabelView = 7,
- kByVersionView = 8
+enum {
+ kBySmallIcon = 0,
+ kByIconView = 1,
+ kByNameView = 2,
+ kByDateView = 3,
+ kBySizeView = 4,
+ kByKindView = 5,
+ kByCommentView = 6,
+ kByLabelView = 7,
+ kByVersionView = 8
};
-enum
-{
- kAEInfo = 11,
- kAEMain = 0,
- kAESharing = 13
+enum {
+ kAEInfo = 11,
+ kAEMain = 0,
+ kAESharing = 13
};
-enum
-{
- kAEZoomIn = 7,
- kAEZoomOut = 8
+enum {
+ kAEZoomIn = 7,
+ kAEZoomOut = 8
};
-enum
-{
- kTextServiceClass = FOUR_CHAR_CODE('tsvc'),
- kUpdateActiveInputArea = FOUR_CHAR_CODE('updt'), /* update the active input area */
- kShowHideInputWindow = FOUR_CHAR_CODE('shiw'), /* show or hide the input window */
- kPos2Offset = FOUR_CHAR_CODE('p2st'), /* converting global coordinates to char position */
- kOffset2Pos = FOUR_CHAR_CODE('st2p'), /* converting char position to global coordinates */
- kUnicodeNotFromInputMethod = FOUR_CHAR_CODE('unim'), /* Unicode text when event not handled by Input Method or no Input Method */
- kGetSelectedText = FOUR_CHAR_CODE('gtxt'), /* Get text for current selection */
- keyAETSMDocumentRefcon = FOUR_CHAR_CODE('refc'), /* TSM document refcon, typeLongInteger */
- keyAEServerInstance = FOUR_CHAR_CODE('srvi'), /* component instance */
- keyAETheData = FOUR_CHAR_CODE('kdat'), /* typeText */
- keyAEFixLength = FOUR_CHAR_CODE('fixl'), /* fix len */
- keyAEUpdateRange = FOUR_CHAR_CODE('udng'), /* typeTextRangeArray */
- keyAECurrentPoint = FOUR_CHAR_CODE('cpos'), /* current point */
- keyAEBufferSize = FOUR_CHAR_CODE('buff'), /* buffer size to get the text */
- keyAEMoveView = FOUR_CHAR_CODE('mvvw'), /* move view flag */
- keyAENextBody = FOUR_CHAR_CODE('nxbd'), /* next or previous body */
- keyAETSMScriptTag = FOUR_CHAR_CODE('sclg'),
- keyAETSMTextFont = FOUR_CHAR_CODE('ktxf'), /* FMFontFamily or FOND ID */
- keyAETSMTextFMFont = FOUR_CHAR_CODE('ktxm'), /* FMFont */
- keyAETSMTextPointSize = FOUR_CHAR_CODE('ktps'),
- keyAETSMEventRecord = FOUR_CHAR_CODE('tevt'), /* Low level Event Record, typeLowLevelEventRecord */
- keyAETSMEventRef = FOUR_CHAR_CODE('tevr'), /* Carbon EventRef, typeEventRef */
- keyAETextServiceEncoding = FOUR_CHAR_CODE('tsen'), /* Text Service encoding, mac or Unicode in UpdateActiveInputArea or GetSelectedText events. */
- keyAETextServiceMacEncoding = FOUR_CHAR_CODE('tmen'), /* Target mac encoding for TSM conversion of text from Unicode text service. */
- keyAETSMGlyphInfoArray = FOUR_CHAR_CODE('tgia'), /* typeGlyphInfoArray */
- typeTextRange = FOUR_CHAR_CODE('txrn'), /* TextRange */
- typeComponentInstance = FOUR_CHAR_CODE('cmpi'), /* server instance */
- typeOffsetArray = FOUR_CHAR_CODE('ofay'), /* offset array */
- typeTextRangeArray = FOUR_CHAR_CODE('tray'),
- typeLowLevelEventRecord = FOUR_CHAR_CODE('evtr'), /* Low Level Event Record */
- typeGlyphInfoArray = FOUR_CHAR_CODE('glia'), /* Glyph/FMFont info array for sub ranges of Unicode text. See GlyphInfoArray in TextServices.h */
- typeEventRef = FOUR_CHAR_CODE('evrf'), /* Carbon EventRef */
- typeText = typeChar /* Plain text */
+enum {
+ kTextServiceClass = FOUR_CHAR_CODE('tsvc'),
+ kUpdateActiveInputArea = FOUR_CHAR_CODE('updt'), /* update the active input area */
+ kShowHideInputWindow = FOUR_CHAR_CODE('shiw'), /* show or hide the input window */
+ kPos2Offset = FOUR_CHAR_CODE('p2st'), /* converting global coordinates to char position */
+ kOffset2Pos = FOUR_CHAR_CODE('st2p'), /* converting char position to global coordinates */
+ kUnicodeNotFromInputMethod = FOUR_CHAR_CODE('unim'), /* Unicode text when event not handled by Input Method or no Input Method */
+ kGetSelectedText = FOUR_CHAR_CODE('gtxt'), /* Get text for current selection */
+ keyAETSMDocumentRefcon = FOUR_CHAR_CODE('refc'), /* TSM document refcon, typeLongInteger */
+ keyAEServerInstance = FOUR_CHAR_CODE('srvi'), /* component instance */
+ keyAETheData = FOUR_CHAR_CODE('kdat'), /* typeText */
+ keyAEFixLength = FOUR_CHAR_CODE('fixl'), /* fix len */
+ keyAEUpdateRange = FOUR_CHAR_CODE('udng'), /* typeTextRangeArray */
+ keyAECurrentPoint = FOUR_CHAR_CODE('cpos'), /* current point */
+ keyAEBufferSize = FOUR_CHAR_CODE('buff'), /* buffer size to get the text */
+ keyAEMoveView = FOUR_CHAR_CODE('mvvw'), /* move view flag */
+ keyAENextBody = FOUR_CHAR_CODE('nxbd'), /* next or previous body */
+ keyAETSMScriptTag = FOUR_CHAR_CODE('sclg'),
+ keyAETSMTextFont = FOUR_CHAR_CODE('ktxf'), /* FMFontFamily or FOND ID */
+ keyAETSMTextFMFont = FOUR_CHAR_CODE('ktxm'), /* FMFont */
+ keyAETSMTextPointSize = FOUR_CHAR_CODE('ktps'),
+ keyAETSMEventRecord = FOUR_CHAR_CODE('tevt'), /* Low level Event Record, typeLowLevelEventRecord */
+ keyAETSMEventRef = FOUR_CHAR_CODE('tevr'), /* Carbon EventRef, typeEventRef */
+ keyAETextServiceEncoding = FOUR_CHAR_CODE('tsen'), /* Text Service encoding, mac or Unicode in UpdateActiveInputArea or GetSelectedText events. */
+ keyAETextServiceMacEncoding = FOUR_CHAR_CODE('tmen'), /* Target mac encoding for TSM conversion of text from Unicode text service. */
+ keyAETSMGlyphInfoArray = FOUR_CHAR_CODE('tgia'), /* typeGlyphInfoArray */
+ typeTextRange = FOUR_CHAR_CODE('txrn'), /* TextRange */
+ typeComponentInstance = FOUR_CHAR_CODE('cmpi'), /* server instance */
+ typeOffsetArray = FOUR_CHAR_CODE('ofay'), /* offset array */
+ typeTextRangeArray = FOUR_CHAR_CODE('tray'),
+ typeLowLevelEventRecord = FOUR_CHAR_CODE('evtr'), /* Low Level Event Record */
+ typeGlyphInfoArray = FOUR_CHAR_CODE('glia'), /* Glyph/FMFont info array for sub ranges of Unicode text. See GlyphInfoArray in TextServices.h */
+ typeEventRef = FOUR_CHAR_CODE('evrf'), /* Carbon EventRef */
+ typeText = typeChar /* Plain text */
};
/* Desc type constants */
-enum
-{
- kTSMOutsideOfBody = 1,
- kTSMInsideOfBody = 2,
- kTSMInsideOfActiveInputArea = 3
+enum {
+ kTSMOutsideOfBody = 1,
+ kTSMInsideOfBody = 2,
+ kTSMInsideOfActiveInputArea = 3
};
-enum
-{
- kNextBody = 1,
- kPreviousBody = 2
+enum {
+ kNextBody = 1,
+ kPreviousBody = 2
};
-struct TextRange
-{
- long fStart;
- long fEnd;
- short fHiliteStyle;
+struct TextRange {
+ long fStart;
+ long fEnd;
+ short fHiliteStyle;
};
typedef struct TextRange TextRange;
typedef TextRange * TextRangePtr;
typedef TextRangePtr * TextRangeHandle;
-struct TextRangeArray
-{
- short fNumOfRanges; /* specify the size of the fRange array */
- TextRange fRange[1]; /* when fNumOfRanges > 1, the size of this array has to be calculated */
+struct TextRangeArray {
+ short fNumOfRanges; /* specify the size of the fRange array */
+ TextRange fRange[1]; /* when fNumOfRanges > 1, the size of this array has to be calculated */
};
typedef struct TextRangeArray TextRangeArray;
typedef TextRangeArray * TextRangeArrayPtr;
typedef TextRangeArrayPtr * TextRangeArrayHandle;
-struct OffsetArray
-{
- short fNumOfOffsets; /* specify the size of the fOffset array */
- long fOffset[1]; /* when fNumOfOffsets > 1, the size of this array has to be calculated */
+struct OffsetArray {
+ short fNumOfOffsets; /* specify the size of the fOffset array */
+ long fOffset[1]; /* when fNumOfOffsets > 1, the size of this array has to be calculated */
};
typedef struct OffsetArray OffsetArray;
typedef OffsetArray * OffsetArrayPtr;
typedef OffsetArrayPtr * OffsetArrayHandle;
-struct WritingCode
-{
- ScriptCode theScriptCode;
- LangCode theLangCode;
+struct WritingCode {
+ ScriptCode theScriptCode;
+ LangCode theLangCode;
};
typedef struct WritingCode WritingCode;
-struct IntlText
-{
- ScriptCode theScriptCode;
- LangCode theLangCode;
- char theText[1]; /* variable length data */
+struct IntlText {
+ ScriptCode theScriptCode;
+ LangCode theLangCode;
+ char theText[1]; /* variable length data */
};
typedef struct IntlText IntlText;
/* Hilite styles */
-enum
-{
- kCaretPosition = 1, /* specify caret position */
- kRawText = 2, /* specify range of raw text */
- kSelectedRawText = 3, /* specify range of selected raw text */
- kConvertedText = 4, /* specify range of converted text */
- kSelectedConvertedText = 5, /* specify range of selected converted text */
- kBlockFillText = 6, /* Block Fill hilite style */
- kOutlineText = 7, /* Outline hilite style */
- kSelectedText = 8 /* Selected hilite style */
+enum {
+ kCaretPosition = 1, /* specify caret position */
+ kRawText = 2, /* specify range of raw text */
+ kSelectedRawText = 3, /* specify range of selected raw text */
+ kConvertedText = 4, /* specify range of converted text */
+ kSelectedConvertedText = 5, /* specify range of selected converted text */
+ kBlockFillText = 6, /* Block Fill hilite style */
+ kOutlineText = 7, /* Outline hilite style */
+ kSelectedText = 8 /* Selected hilite style */
};
-enum
-{
- keyAEHiliteRange = FOUR_CHAR_CODE('hrng'), /* typeTextRangeArray for System 7, typeHiliteRangeArray for System 8 */
- keyAEPinRange = FOUR_CHAR_CODE('pnrg'), /* typeTextRange for System 7, typeTextRegionRange for System 8 */
- keyAEClauseOffsets = FOUR_CHAR_CODE('clau'), /* typeOffsetArray for System 7, typeClauseOffsetArray for System 8 */
- keyAEOffset = FOUR_CHAR_CODE('ofst'), /* typeLongInteger for System 7, typeByteOffset for System 8 */
- keyAEPoint = FOUR_CHAR_CODE('gpos'), /* typePoint for System 7, typeQDPoint for System 8 */
- keyAELeftSide = FOUR_CHAR_CODE('klef'), /* typeBoolean */
- keyAERegionClass = FOUR_CHAR_CODE('rgnc'), /* typeShortInteger for System 7, typeRegionClass for System 8 */
- keyAEDragging = FOUR_CHAR_CODE('bool') /* typeBoolean */
+enum {
+ keyAEHiliteRange = FOUR_CHAR_CODE('hrng'), /* typeTextRangeArray for System 7, typeHiliteRangeArray for System 8 */
+ keyAEPinRange = FOUR_CHAR_CODE('pnrg'), /* typeTextRange for System 7, typeTextRegionRange for System 8 */
+ keyAEClauseOffsets = FOUR_CHAR_CODE('clau'), /* typeOffsetArray for System 7, typeClauseOffsetArray for System 8 */
+ keyAEOffset = FOUR_CHAR_CODE('ofst'), /* typeLongInteger for System 7, typeByteOffset for System 8 */
+ keyAEPoint = FOUR_CHAR_CODE('gpos'), /* typePoint for System 7, typeQDPoint for System 8 */
+ keyAELeftSide = FOUR_CHAR_CODE('klef'), /* typeBoolean */
+ keyAERegionClass = FOUR_CHAR_CODE('rgnc'), /* typeShortInteger for System 7, typeRegionClass for System 8 */
+ keyAEDragging = FOUR_CHAR_CODE('bool') /* typeBoolean */
};
#if OLDROUTINENAMES
-enum
-{
- keyAELeadingEdge = keyAELeftSide
+enum {
+ keyAELeadingEdge = keyAELeftSide
};
#endif /* OLDROUTINENAMES */
-enum
-{
- /* AppleScript 1.3: New Text types */
- typeUnicodeText = FOUR_CHAR_CODE('utxt'),
- typeStyledUnicodeText = FOUR_CHAR_CODE('sutx'),
- typeUTF8Text = FOUR_CHAR_CODE('utf8'),
- typeEncodedString = FOUR_CHAR_CODE('encs'),
- typeCString = FOUR_CHAR_CODE('cstr'),
- typePString = FOUR_CHAR_CODE('pstr')
+enum {
+ /* AppleScript 1.3: New Text types */
+ typeUnicodeText = FOUR_CHAR_CODE('utxt'),
+ typeStyledUnicodeText = FOUR_CHAR_CODE('sutx'),
+ typeUTF8Text = FOUR_CHAR_CODE('utf8'),
+ typeEncodedString = FOUR_CHAR_CODE('encs'),
+ typeCString = FOUR_CHAR_CODE('cstr'),
+ typePString = FOUR_CHAR_CODE('pstr')
};
-enum
-{
- /* AppleScript 1.3: Unit types */
- typeMeters = FOUR_CHAR_CODE('metr'), /* Base Unit */
- typeInches = FOUR_CHAR_CODE('inch'),
- typeFeet = FOUR_CHAR_CODE('feet'),
- typeYards = FOUR_CHAR_CODE('yard'),
- typeMiles = FOUR_CHAR_CODE('mile'),
- typeKilometers = FOUR_CHAR_CODE('kmtr'),
- typeCentimeters = FOUR_CHAR_CODE('cmtr'),
- typeSquareMeters = FOUR_CHAR_CODE('sqrm'), /* Base Unit */
- typeSquareFeet = FOUR_CHAR_CODE('sqft'),
- typeSquareYards = FOUR_CHAR_CODE('sqyd'),
- typeSquareMiles = FOUR_CHAR_CODE('sqmi'),
- typeSquareKilometers = FOUR_CHAR_CODE('sqkm'),
- typeLiters = FOUR_CHAR_CODE('litr'), /* Base Unit */
- typeQuarts = FOUR_CHAR_CODE('qrts'),
- typeGallons = FOUR_CHAR_CODE('galn'),
- typeCubicMeters = FOUR_CHAR_CODE('cmet'), /* Base Unit */
- typeCubicFeet = FOUR_CHAR_CODE('cfet'),
- typeCubicInches = FOUR_CHAR_CODE('cuin'),
- typeCubicCentimeter = FOUR_CHAR_CODE('ccmt'),
- typeCubicYards = FOUR_CHAR_CODE('cyrd'),
- typeKilograms = FOUR_CHAR_CODE('kgrm'), /* Base Unit */
- typeGrams = FOUR_CHAR_CODE('gram'),
- typeOunces = FOUR_CHAR_CODE('ozs '),
- typePounds = FOUR_CHAR_CODE('lbs '),
- typeDegreesC = FOUR_CHAR_CODE('degc'), /* Base Unit */
- typeDegreesF = FOUR_CHAR_CODE('degf'),
- typeDegreesK = FOUR_CHAR_CODE('degk')
+enum {
+ /* AppleScript 1.3: Unit types */
+ typeMeters = FOUR_CHAR_CODE('metr'), /* Base Unit */
+ typeInches = FOUR_CHAR_CODE('inch'),
+ typeFeet = FOUR_CHAR_CODE('feet'),
+ typeYards = FOUR_CHAR_CODE('yard'),
+ typeMiles = FOUR_CHAR_CODE('mile'),
+ typeKilometers = FOUR_CHAR_CODE('kmtr'),
+ typeCentimeters = FOUR_CHAR_CODE('cmtr'),
+ typeSquareMeters = FOUR_CHAR_CODE('sqrm'), /* Base Unit */
+ typeSquareFeet = FOUR_CHAR_CODE('sqft'),
+ typeSquareYards = FOUR_CHAR_CODE('sqyd'),
+ typeSquareMiles = FOUR_CHAR_CODE('sqmi'),
+ typeSquareKilometers = FOUR_CHAR_CODE('sqkm'),
+ typeLiters = FOUR_CHAR_CODE('litr'), /* Base Unit */
+ typeQuarts = FOUR_CHAR_CODE('qrts'),
+ typeGallons = FOUR_CHAR_CODE('galn'),
+ typeCubicMeters = FOUR_CHAR_CODE('cmet'), /* Base Unit */
+ typeCubicFeet = FOUR_CHAR_CODE('cfet'),
+ typeCubicInches = FOUR_CHAR_CODE('cuin'),
+ typeCubicCentimeter = FOUR_CHAR_CODE('ccmt'),
+ typeCubicYards = FOUR_CHAR_CODE('cyrd'),
+ typeKilograms = FOUR_CHAR_CODE('kgrm'), /* Base Unit */
+ typeGrams = FOUR_CHAR_CODE('gram'),
+ typeOunces = FOUR_CHAR_CODE('ozs '),
+ typePounds = FOUR_CHAR_CODE('lbs '),
+ typeDegreesC = FOUR_CHAR_CODE('degc'), /* Base Unit */
+ typeDegreesF = FOUR_CHAR_CODE('degf'),
+ typeDegreesK = FOUR_CHAR_CODE('degk')
};
-enum
-{
- /* AppleScript 1.3: Folder Actions */
- kFAServerApp = FOUR_CHAR_CODE('ssrv'), /* Creator code for Folder Actions Server*/
- kDoFolderActionEvent = FOUR_CHAR_CODE('fola'), /* Event the Finder sends to the Folder Actions FBA*/
- kFolderActionCode = FOUR_CHAR_CODE('actn'), /* Parameter that contains the Folder Action*/
- kFolderOpenedEvent = FOUR_CHAR_CODE('fopn'), /* Value of kFolderActionCode parameter; sent to script as event*/
- kFolderClosedEvent = FOUR_CHAR_CODE('fclo'),
- kFolderWindowMovedEvent = FOUR_CHAR_CODE('fsiz'),
- kFolderItemsAddedEvent = FOUR_CHAR_CODE('fget'),
- kFolderItemsRemovedEvent = FOUR_CHAR_CODE('flos'),
- kItemList = FOUR_CHAR_CODE('flst'), /* List parameter for added and removed items*/
- kNewSizeParameter = FOUR_CHAR_CODE('fnsz'), /* Parameter for moved window*/
- kFASuiteCode = FOUR_CHAR_CODE('faco'), /* Suite code for the following events*/
- kFAAttachCommand = FOUR_CHAR_CODE('atfa'), /* Attach event id*/
- kFARemoveCommand = FOUR_CHAR_CODE('rmfa'), /* Remove event id*/
- kFAEditCommand = FOUR_CHAR_CODE('edfa'), /* Edit event id*/
- kFAFileParam = FOUR_CHAR_CODE('faal'), /* Key for file parameter for Attach*/
- kFAIndexParam = FOUR_CHAR_CODE('indx') /* Key for index (0-based) parameter for Remove and Edit*/
+enum {
+ /* AppleScript 1.3: Folder Actions */
+ kFAServerApp = FOUR_CHAR_CODE('ssrv'), /* Creator code for Folder Actions Server*/
+ kDoFolderActionEvent = FOUR_CHAR_CODE('fola'), /* Event the Finder sends to the Folder Actions FBA*/
+ kFolderActionCode = FOUR_CHAR_CODE('actn'), /* Parameter that contains the Folder Action*/
+ kFolderOpenedEvent = FOUR_CHAR_CODE('fopn'), /* Value of kFolderActionCode parameter; sent to script as event*/
+ kFolderClosedEvent = FOUR_CHAR_CODE('fclo'),
+ kFolderWindowMovedEvent = FOUR_CHAR_CODE('fsiz'),
+ kFolderItemsAddedEvent = FOUR_CHAR_CODE('fget'),
+ kFolderItemsRemovedEvent = FOUR_CHAR_CODE('flos'),
+ kItemList = FOUR_CHAR_CODE('flst'), /* List parameter for added and removed items*/
+ kNewSizeParameter = FOUR_CHAR_CODE('fnsz'), /* Parameter for moved window*/
+ kFASuiteCode = FOUR_CHAR_CODE('faco'), /* Suite code for the following events*/
+ kFAAttachCommand = FOUR_CHAR_CODE('atfa'), /* Attach event id*/
+ kFARemoveCommand = FOUR_CHAR_CODE('rmfa'), /* Remove event id*/
+ kFAEditCommand = FOUR_CHAR_CODE('edfa'), /* Edit event id*/
+ kFAFileParam = FOUR_CHAR_CODE('faal'), /* Key for file parameter for Attach*/
+ kFAIndexParam = FOUR_CHAR_CODE('indx') /* Key for index (0-based) parameter for Remove and Edit*/
};
/* AppleScript 1.3 Internet Suite */
-enum
-{
- /* Suite code */
- kAEInternetSuite = FOUR_CHAR_CODE('gurl'),
- kAEISWebStarSuite = 0x575757BD
+enum {
+ /* Suite code */
+ kAEInternetSuite = FOUR_CHAR_CODE('gurl'),
+ kAEISWebStarSuite = 0x575757BD
};
-enum
-{
- /* Events */
- kAEISGetURL = FOUR_CHAR_CODE('gurl'),
- KAEISHandleCGI = FOUR_CHAR_CODE('sdoc')
+enum {
+ /* Events */
+ kAEISGetURL = FOUR_CHAR_CODE('gurl'),
+ KAEISHandleCGI = FOUR_CHAR_CODE('sdoc')
};
-enum
-{
- /* Classes */
- cURL = FOUR_CHAR_CODE('url '),
- cInternetAddress = FOUR_CHAR_CODE('IPAD'),
- cHTML = FOUR_CHAR_CODE('html'),
- cFTPItem = FOUR_CHAR_CODE('ftp ')
+enum {
+ /* Classes */
+ cURL = FOUR_CHAR_CODE('url '),
+ cInternetAddress = FOUR_CHAR_CODE('IPAD'),
+ cHTML = FOUR_CHAR_CODE('html'),
+ cFTPItem = FOUR_CHAR_CODE('ftp ')
};
-enum
-{
- /* Parameters */
- kAEISHTTPSearchArgs = FOUR_CHAR_CODE('kfor'),
- kAEISPostArgs = FOUR_CHAR_CODE('post'),
- kAEISMethod = FOUR_CHAR_CODE('meth'),
- kAEISClientAddress = FOUR_CHAR_CODE('addr'),
- kAEISUserName = FOUR_CHAR_CODE('user'),
- kAEISPassword = FOUR_CHAR_CODE('pass'),
- kAEISFromUser = FOUR_CHAR_CODE('frmu'),
- kAEISServerName = FOUR_CHAR_CODE('svnm'),
- kAEISServerPort = FOUR_CHAR_CODE('svpt'),
- kAEISScriptName = FOUR_CHAR_CODE('scnm'),
- kAEISContentType = FOUR_CHAR_CODE('ctyp'),
- kAEISReferrer = FOUR_CHAR_CODE('refr'),
- kAEISUserAgent = FOUR_CHAR_CODE('Agnt'),
- kAEISAction = FOUR_CHAR_CODE('Kact'),
- kAEISActionPath = FOUR_CHAR_CODE('Kapt'),
- kAEISClientIP = FOUR_CHAR_CODE('Kcip'),
- kAEISFullRequest = FOUR_CHAR_CODE('Kfrq')
+enum {
+ /* Parameters */
+ kAEISHTTPSearchArgs = FOUR_CHAR_CODE('kfor'),
+ kAEISPostArgs = FOUR_CHAR_CODE('post'),
+ kAEISMethod = FOUR_CHAR_CODE('meth'),
+ kAEISClientAddress = FOUR_CHAR_CODE('addr'),
+ kAEISUserName = FOUR_CHAR_CODE('user'),
+ kAEISPassword = FOUR_CHAR_CODE('pass'),
+ kAEISFromUser = FOUR_CHAR_CODE('frmu'),
+ kAEISServerName = FOUR_CHAR_CODE('svnm'),
+ kAEISServerPort = FOUR_CHAR_CODE('svpt'),
+ kAEISScriptName = FOUR_CHAR_CODE('scnm'),
+ kAEISContentType = FOUR_CHAR_CODE('ctyp'),
+ kAEISReferrer = FOUR_CHAR_CODE('refr'),
+ kAEISUserAgent = FOUR_CHAR_CODE('Agnt'),
+ kAEISAction = FOUR_CHAR_CODE('Kact'),
+ kAEISActionPath = FOUR_CHAR_CODE('Kapt'),
+ kAEISClientIP = FOUR_CHAR_CODE('Kcip'),
+ kAEISFullRequest = FOUR_CHAR_CODE('Kfrq')
};
-enum
-{
- /* Properties */
- pScheme = FOUR_CHAR_CODE('pusc'),
- pHost = FOUR_CHAR_CODE('HOST'),
- pPath = FOUR_CHAR_CODE('FTPc'),
- pUserName = FOUR_CHAR_CODE('RAun'),
- pUserPassword = FOUR_CHAR_CODE('RApw'),
- pDNSForm = FOUR_CHAR_CODE('pDNS'),
- pURL = FOUR_CHAR_CODE('pURL'),
- pTextEncoding = FOUR_CHAR_CODE('ptxe'),
- pFTPKind = FOUR_CHAR_CODE('kind')
+enum {
+ /* Properties */
+ pScheme = FOUR_CHAR_CODE('pusc'),
+ pHost = FOUR_CHAR_CODE('HOST'),
+ pPath = FOUR_CHAR_CODE('FTPc'),
+ pUserName = FOUR_CHAR_CODE('RAun'),
+ pUserPassword = FOUR_CHAR_CODE('RApw'),
+ pDNSForm = FOUR_CHAR_CODE('pDNS'),
+ pURL = FOUR_CHAR_CODE('pURL'),
+ pTextEncoding = FOUR_CHAR_CODE('ptxe'),
+ pFTPKind = FOUR_CHAR_CODE('kind')
};
-enum
-{
- /* Scheme enumerations */
- eScheme = FOUR_CHAR_CODE('esch'),
- eurlHTTP = FOUR_CHAR_CODE('http'), /* RFC 2068 */
- eurlHTTPS = FOUR_CHAR_CODE('htps'),
- eurlFTP = FOUR_CHAR_CODE('ftp '), /* RFC 1738 */
- eurlMail = FOUR_CHAR_CODE('mail'), /* RFC 2638 */
- eurlFile = FOUR_CHAR_CODE('file'), /* RFC 1738 */
- eurlGopher = FOUR_CHAR_CODE('gphr'), /* RFC 1738 */
- eurlTelnet = FOUR_CHAR_CODE('tlnt'), /* RFC 1738 */
- eurlNews = FOUR_CHAR_CODE('news'), /* RFC 1738 */
- eurlSNews = FOUR_CHAR_CODE('snws'),
- eurlNNTP = FOUR_CHAR_CODE('nntp'), /* RFC 1738 */
- eurlMessage = FOUR_CHAR_CODE('mess'),
- eurlMailbox = FOUR_CHAR_CODE('mbox'),
- eurlMulti = FOUR_CHAR_CODE('mult'),
- eurlLaunch = FOUR_CHAR_CODE('laun'),
- eurlAFP = FOUR_CHAR_CODE('afp '),
- eurlAT = FOUR_CHAR_CODE('at '),
- eurlEPPC = FOUR_CHAR_CODE('eppc'),
- eurlRTSP = FOUR_CHAR_CODE('rtsp'), /* RFC 2326 */
- eurlIMAP = FOUR_CHAR_CODE('imap'), /* RFC 2192 */
- eurlNFS = FOUR_CHAR_CODE('unfs'), /* RFC 2224 */
- eurlPOP = FOUR_CHAR_CODE('upop'), /* RFC 2384 */
- eurlLDAP = FOUR_CHAR_CODE('uldp'), /* RFC 2255 */
- eurlUnknown = FOUR_CHAR_CODE('url?')
+enum {
+ /* Scheme enumerations */
+ eScheme = FOUR_CHAR_CODE('esch'),
+ eurlHTTP = FOUR_CHAR_CODE('http'), /* RFC 2068 */
+ eurlHTTPS = FOUR_CHAR_CODE('htps'),
+ eurlFTP = FOUR_CHAR_CODE('ftp '), /* RFC 1738 */
+ eurlMail = FOUR_CHAR_CODE('mail'), /* RFC 2638 */
+ eurlFile = FOUR_CHAR_CODE('file'), /* RFC 1738 */
+ eurlGopher = FOUR_CHAR_CODE('gphr'), /* RFC 1738 */
+ eurlTelnet = FOUR_CHAR_CODE('tlnt'), /* RFC 1738 */
+ eurlNews = FOUR_CHAR_CODE('news'), /* RFC 1738 */
+ eurlSNews = FOUR_CHAR_CODE('snws'),
+ eurlNNTP = FOUR_CHAR_CODE('nntp'), /* RFC 1738 */
+ eurlMessage = FOUR_CHAR_CODE('mess'),
+ eurlMailbox = FOUR_CHAR_CODE('mbox'),
+ eurlMulti = FOUR_CHAR_CODE('mult'),
+ eurlLaunch = FOUR_CHAR_CODE('laun'),
+ eurlAFP = FOUR_CHAR_CODE('afp '),
+ eurlAT = FOUR_CHAR_CODE('at '),
+ eurlEPPC = FOUR_CHAR_CODE('eppc'),
+ eurlRTSP = FOUR_CHAR_CODE('rtsp'), /* RFC 2326 */
+ eurlIMAP = FOUR_CHAR_CODE('imap'), /* RFC 2192 */
+ eurlNFS = FOUR_CHAR_CODE('unfs'), /* RFC 2224 */
+ eurlPOP = FOUR_CHAR_CODE('upop'), /* RFC 2384 */
+ eurlLDAP = FOUR_CHAR_CODE('uldp'), /* RFC 2255 */
+ eurlUnknown = FOUR_CHAR_CODE('url?')
};
-enum
-{
- /* AppleScript 1.3: Connectivity Suite in aeut */
- kConnSuite = FOUR_CHAR_CODE('macc'),
- cDevSpec = FOUR_CHAR_CODE('cdev'),
- cAddressSpec = FOUR_CHAR_CODE('cadr'),
- cADBAddress = FOUR_CHAR_CODE('cadb'),
- cAppleTalkAddress = FOUR_CHAR_CODE('cat '),
- cBusAddress = FOUR_CHAR_CODE('cbus'),
- cEthernetAddress = FOUR_CHAR_CODE('cen '),
- cFireWireAddress = FOUR_CHAR_CODE('cfw '),
- cIPAddress = FOUR_CHAR_CODE('cip '),
- cLocalTalkAddress = FOUR_CHAR_CODE('clt '),
- cSCSIAddress = FOUR_CHAR_CODE('cscs'),
- cTokenRingAddress = FOUR_CHAR_CODE('ctok'),
- cUSBAddress = FOUR_CHAR_CODE('cusb'), /* */
- /* Properties */
- pDeviceType = FOUR_CHAR_CODE('pdvt'),
- pDeviceAddress = FOUR_CHAR_CODE('pdva'),
- pConduit = FOUR_CHAR_CODE('pcon'),
- pProtocol = FOUR_CHAR_CODE('pprt'), /* cde 4/27/98 was 'ppro' conflicted with DB suite */
- pATMachine = FOUR_CHAR_CODE('patm'),
- pATZone = FOUR_CHAR_CODE('patz'),
- pATType = FOUR_CHAR_CODE('patt'),
- pDottedDecimal = FOUR_CHAR_CODE('pipd'),
- pDNS = FOUR_CHAR_CODE('pdns'),
- pPort = FOUR_CHAR_CODE('ppor'),
- pNetwork = FOUR_CHAR_CODE('pnet'),
- pNode = FOUR_CHAR_CODE('pnod'),
- pSocket = FOUR_CHAR_CODE('psoc'),
- pSCSIBus = FOUR_CHAR_CODE('pscb'),
- pSCSILUN = FOUR_CHAR_CODE('pslu'), /* cde 5/22/98 per WWDC developer request */
- /* Enumerations and enumerators */
- eDeviceType = FOUR_CHAR_CODE('edvt'),
- eAddressSpec = FOUR_CHAR_CODE('eads'),
- eConduit = FOUR_CHAR_CODE('econ'),
- eProtocol = FOUR_CHAR_CODE('epro'),
- eADB = FOUR_CHAR_CODE('eadb'),
- eAnalogAudio = FOUR_CHAR_CODE('epau'),
- eAppleTalk = FOUR_CHAR_CODE('epat'),
- eAudioLineIn = FOUR_CHAR_CODE('ecai'),
- eAudioLineOut = FOUR_CHAR_CODE('ecal'), /* cde 4/24/98 changed from 'ecao' to not conflict */
- eAudioOut = FOUR_CHAR_CODE('ecao'),
- eBus = FOUR_CHAR_CODE('ebus'),
- eCDROM = FOUR_CHAR_CODE('ecd '),
- eCommSlot = FOUR_CHAR_CODE('eccm'),
- eDigitalAudio = FOUR_CHAR_CODE('epda'),
- eDisplay = FOUR_CHAR_CODE('edds'),
- eDVD = FOUR_CHAR_CODE('edvd'),
- eEthernet = FOUR_CHAR_CODE('ecen'),
- eFireWire = FOUR_CHAR_CODE('ecfw'),
- eFloppy = FOUR_CHAR_CODE('efd '),
- eHD = FOUR_CHAR_CODE('ehd '),
- eInfrared = FOUR_CHAR_CODE('ecir'),
- eIP = FOUR_CHAR_CODE('epip'),
- eIrDA = FOUR_CHAR_CODE('epir'),
- eIRTalk = FOUR_CHAR_CODE('epit'),
- eKeyboard = FOUR_CHAR_CODE('ekbd'),
- eLCD = FOUR_CHAR_CODE('edlc'),
- eLocalTalk = FOUR_CHAR_CODE('eclt'),
- eMacIP = FOUR_CHAR_CODE('epmi'),
- eMacVideo = FOUR_CHAR_CODE('epmv'),
- eMicrophone = FOUR_CHAR_CODE('ecmi'),
- eModemPort = FOUR_CHAR_CODE('ecmp'),
- eModemPrinterPort = FOUR_CHAR_CODE('empp'),
- eModem = FOUR_CHAR_CODE('edmm'),
- eMonitorOut = FOUR_CHAR_CODE('ecmn'),
- eMouse = FOUR_CHAR_CODE('emou'),
- eNuBusCard = FOUR_CHAR_CODE('ednb'),
- eNuBus = FOUR_CHAR_CODE('enub'),
- ePCcard = FOUR_CHAR_CODE('ecpc'),
- ePCIbus = FOUR_CHAR_CODE('ecpi'),
- ePCIcard = FOUR_CHAR_CODE('edpi'),
- ePDSslot = FOUR_CHAR_CODE('ecpd'),
- ePDScard = FOUR_CHAR_CODE('epds'),
- ePointingDevice = FOUR_CHAR_CODE('edpd'),
- ePostScript = FOUR_CHAR_CODE('epps'),
- ePPP = FOUR_CHAR_CODE('eppp'),
- ePrinterPort = FOUR_CHAR_CODE('ecpp'),
- ePrinter = FOUR_CHAR_CODE('edpr'),
- eSvideo = FOUR_CHAR_CODE('epsv'),
- eSCSI = FOUR_CHAR_CODE('ecsc'),
- eSerial = FOUR_CHAR_CODE('epsr'),
- eSpeakers = FOUR_CHAR_CODE('edsp'),
- eStorageDevice = FOUR_CHAR_CODE('edst'),
- eSVGA = FOUR_CHAR_CODE('epsg'),
- eTokenRing = FOUR_CHAR_CODE('etok'),
- eTrackball = FOUR_CHAR_CODE('etrk'),
- eTrackpad = FOUR_CHAR_CODE('edtp'),
- eUSB = FOUR_CHAR_CODE('ecus'),
- eVideoIn = FOUR_CHAR_CODE('ecvi'),
- eVideoMonitor = FOUR_CHAR_CODE('edvm'),
- eVideoOut = FOUR_CHAR_CODE('ecvo')
+enum {
+ /* AppleScript 1.3: Connectivity Suite in aeut */
+ kConnSuite = FOUR_CHAR_CODE('macc'),
+ cDevSpec = FOUR_CHAR_CODE('cdev'),
+ cAddressSpec = FOUR_CHAR_CODE('cadr'),
+ cADBAddress = FOUR_CHAR_CODE('cadb'),
+ cAppleTalkAddress = FOUR_CHAR_CODE('cat '),
+ cBusAddress = FOUR_CHAR_CODE('cbus'),
+ cEthernetAddress = FOUR_CHAR_CODE('cen '),
+ cFireWireAddress = FOUR_CHAR_CODE('cfw '),
+ cIPAddress = FOUR_CHAR_CODE('cip '),
+ cLocalTalkAddress = FOUR_CHAR_CODE('clt '),
+ cSCSIAddress = FOUR_CHAR_CODE('cscs'),
+ cTokenRingAddress = FOUR_CHAR_CODE('ctok'),
+ cUSBAddress = FOUR_CHAR_CODE('cusb'), /* */
+ /* Properties */
+ pDeviceType = FOUR_CHAR_CODE('pdvt'),
+ pDeviceAddress = FOUR_CHAR_CODE('pdva'),
+ pConduit = FOUR_CHAR_CODE('pcon'),
+ pProtocol = FOUR_CHAR_CODE('pprt'), /* cde 4/27/98 was 'ppro' conflicted with DB suite */
+ pATMachine = FOUR_CHAR_CODE('patm'),
+ pATZone = FOUR_CHAR_CODE('patz'),
+ pATType = FOUR_CHAR_CODE('patt'),
+ pDottedDecimal = FOUR_CHAR_CODE('pipd'),
+ pDNS = FOUR_CHAR_CODE('pdns'),
+ pPort = FOUR_CHAR_CODE('ppor'),
+ pNetwork = FOUR_CHAR_CODE('pnet'),
+ pNode = FOUR_CHAR_CODE('pnod'),
+ pSocket = FOUR_CHAR_CODE('psoc'),
+ pSCSIBus = FOUR_CHAR_CODE('pscb'),
+ pSCSILUN = FOUR_CHAR_CODE('pslu'), /* cde 5/22/98 per WWDC developer request */
+ /* Enumerations and enumerators */
+ eDeviceType = FOUR_CHAR_CODE('edvt'),
+ eAddressSpec = FOUR_CHAR_CODE('eads'),
+ eConduit = FOUR_CHAR_CODE('econ'),
+ eProtocol = FOUR_CHAR_CODE('epro'),
+ eADB = FOUR_CHAR_CODE('eadb'),
+ eAnalogAudio = FOUR_CHAR_CODE('epau'),
+ eAppleTalk = FOUR_CHAR_CODE('epat'),
+ eAudioLineIn = FOUR_CHAR_CODE('ecai'),
+ eAudioLineOut = FOUR_CHAR_CODE('ecal'), /* cde 4/24/98 changed from 'ecao' to not conflict */
+ eAudioOut = FOUR_CHAR_CODE('ecao'),
+ eBus = FOUR_CHAR_CODE('ebus'),
+ eCDROM = FOUR_CHAR_CODE('ecd '),
+ eCommSlot = FOUR_CHAR_CODE('eccm'),
+ eDigitalAudio = FOUR_CHAR_CODE('epda'),
+ eDisplay = FOUR_CHAR_CODE('edds'),
+ eDVD = FOUR_CHAR_CODE('edvd'),
+ eEthernet = FOUR_CHAR_CODE('ecen'),
+ eFireWire = FOUR_CHAR_CODE('ecfw'),
+ eFloppy = FOUR_CHAR_CODE('efd '),
+ eHD = FOUR_CHAR_CODE('ehd '),
+ eInfrared = FOUR_CHAR_CODE('ecir'),
+ eIP = FOUR_CHAR_CODE('epip'),
+ eIrDA = FOUR_CHAR_CODE('epir'),
+ eIRTalk = FOUR_CHAR_CODE('epit'),
+ eKeyboard = FOUR_CHAR_CODE('ekbd'),
+ eLCD = FOUR_CHAR_CODE('edlc'),
+ eLocalTalk = FOUR_CHAR_CODE('eclt'),
+ eMacIP = FOUR_CHAR_CODE('epmi'),
+ eMacVideo = FOUR_CHAR_CODE('epmv'),
+ eMicrophone = FOUR_CHAR_CODE('ecmi'),
+ eModemPort = FOUR_CHAR_CODE('ecmp'),
+ eModemPrinterPort = FOUR_CHAR_CODE('empp'),
+ eModem = FOUR_CHAR_CODE('edmm'),
+ eMonitorOut = FOUR_CHAR_CODE('ecmn'),
+ eMouse = FOUR_CHAR_CODE('emou'),
+ eNuBusCard = FOUR_CHAR_CODE('ednb'),
+ eNuBus = FOUR_CHAR_CODE('enub'),
+ ePCcard = FOUR_CHAR_CODE('ecpc'),
+ ePCIbus = FOUR_CHAR_CODE('ecpi'),
+ ePCIcard = FOUR_CHAR_CODE('edpi'),
+ ePDSslot = FOUR_CHAR_CODE('ecpd'),
+ ePDScard = FOUR_CHAR_CODE('epds'),
+ ePointingDevice = FOUR_CHAR_CODE('edpd'),
+ ePostScript = FOUR_CHAR_CODE('epps'),
+ ePPP = FOUR_CHAR_CODE('eppp'),
+ ePrinterPort = FOUR_CHAR_CODE('ecpp'),
+ ePrinter = FOUR_CHAR_CODE('edpr'),
+ eSvideo = FOUR_CHAR_CODE('epsv'),
+ eSCSI = FOUR_CHAR_CODE('ecsc'),
+ eSerial = FOUR_CHAR_CODE('epsr'),
+ eSpeakers = FOUR_CHAR_CODE('edsp'),
+ eStorageDevice = FOUR_CHAR_CODE('edst'),
+ eSVGA = FOUR_CHAR_CODE('epsg'),
+ eTokenRing = FOUR_CHAR_CODE('etok'),
+ eTrackball = FOUR_CHAR_CODE('etrk'),
+ eTrackpad = FOUR_CHAR_CODE('edtp'),
+ eUSB = FOUR_CHAR_CODE('ecus'),
+ eVideoIn = FOUR_CHAR_CODE('ecvi'),
+ eVideoMonitor = FOUR_CHAR_CODE('edvm'),
+ eVideoOut = FOUR_CHAR_CODE('ecvo')
};
-enum
-{
- /* AppleScript 1.3: Keystroke class */
- cKeystroke = FOUR_CHAR_CODE('kprs'),
- pKeystrokeKey = FOUR_CHAR_CODE('kMsg'),
- pModifiers = FOUR_CHAR_CODE('kMod'),
- pKeyKind = FOUR_CHAR_CODE('kknd'),
- eModifiers = FOUR_CHAR_CODE('eMds'),
- eOptionDown = FOUR_CHAR_CODE('Kopt'),
- eCommandDown = FOUR_CHAR_CODE('Kcmd'),
- eControlDown = FOUR_CHAR_CODE('Kctl'),
- eShiftDown = FOUR_CHAR_CODE('Ksft'),
- eCapsLockDown = FOUR_CHAR_CODE('Kclk'),
- eKeyKind = FOUR_CHAR_CODE('ekst'), /* */
- /* Special keys all start with 'ks' */
- eEscapeKey = 0x6B733500, /* Third byte is virtual key code byte */
- eDeleteKey = 0x6B733300, /* (see IM Mac Toolbox Essentials, pp. 2-43) */
- eTabKey = 0x6B733000,
- eReturnKey = 0x6B732400,
- eClearKey = 0x6B734700,
- eEnterKey = 0x6B734C00,
- eUpArrowKey = 0x6B737E00,
- eDownArrowKey = 0x6B737D00,
- eLeftArrowKey = 0x6B737B00,
- eRightArrowKey = 0x6B737C00,
- eHelpKey = 0x6B737200,
- eHomeKey = 0x6B737300,
- ePageUpKey = 0x6B737400,
- ePageDownKey = 0x6B737900,
- eForwardDelKey = 0x6B737500,
- eEndKey = 0x6B737700,
- eF1Key = 0x6B737A00,
- eF2Key = 0x6B737800,
- eF3Key = 0x6B736300,
- eF4Key = 0x6B737600,
- eF5Key = 0x6B736000,
- eF6Key = 0x6B736100,
- eF7Key = 0x6B736200,
- eF8Key = 0x6B736400,
- eF9Key = 0x6B736500,
- eF10Key = 0x6B736D00,
- eF11Key = 0x6B736700,
- eF12Key = 0x6B736F00,
- eF13Key = 0x6B736900,
- eF14Key = 0x6B736B00,
- eF15Key = 0x6B737100
+enum {
+ /* AppleScript 1.3: Keystroke class */
+ cKeystroke = FOUR_CHAR_CODE('kprs'),
+ pKeystrokeKey = FOUR_CHAR_CODE('kMsg'),
+ pModifiers = FOUR_CHAR_CODE('kMod'),
+ pKeyKind = FOUR_CHAR_CODE('kknd'),
+ eModifiers = FOUR_CHAR_CODE('eMds'),
+ eOptionDown = FOUR_CHAR_CODE('Kopt'),
+ eCommandDown = FOUR_CHAR_CODE('Kcmd'),
+ eControlDown = FOUR_CHAR_CODE('Kctl'),
+ eShiftDown = FOUR_CHAR_CODE('Ksft'),
+ eCapsLockDown = FOUR_CHAR_CODE('Kclk'),
+ eKeyKind = FOUR_CHAR_CODE('ekst'), /* */
+ /* Special keys all start with 'ks' */
+ eEscapeKey = 0x6B733500, /* Third byte is virtual key code byte */
+ eDeleteKey = 0x6B733300, /* (see IM Mac Toolbox Essentials, pp. 2-43) */
+ eTabKey = 0x6B733000,
+ eReturnKey = 0x6B732400,
+ eClearKey = 0x6B734700,
+ eEnterKey = 0x6B734C00,
+ eUpArrowKey = 0x6B737E00,
+ eDownArrowKey = 0x6B737D00,
+ eLeftArrowKey = 0x6B737B00,
+ eRightArrowKey = 0x6B737C00,
+ eHelpKey = 0x6B737200,
+ eHomeKey = 0x6B737300,
+ ePageUpKey = 0x6B737400,
+ ePageDownKey = 0x6B737900,
+ eForwardDelKey = 0x6B737500,
+ eEndKey = 0x6B737700,
+ eF1Key = 0x6B737A00,
+ eF2Key = 0x6B737800,
+ eF3Key = 0x6B736300,
+ eF4Key = 0x6B737600,
+ eF5Key = 0x6B736000,
+ eF6Key = 0x6B736100,
+ eF7Key = 0x6B736200,
+ eF8Key = 0x6B736400,
+ eF9Key = 0x6B736500,
+ eF10Key = 0x6B736D00,
+ eF11Key = 0x6B736700,
+ eF12Key = 0x6B736F00,
+ eF13Key = 0x6B736900,
+ eF14Key = 0x6B736B00,
+ eF15Key = 0x6B737100
};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AEUserTermTypes.h b/include/qt/AEUserTermTypes.h
index 047b8a082..36ed6ed8c 100644
--- a/include/qt/AEUserTermTypes.h
+++ b/include/qt/AEUserTermTypes.h
@@ -1,17 +1,17 @@
/*
File: AEUserTermTypes.h
-
+
Contains: AppleEvents AEUT resource format Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AEUSERTERMTYPES__
#define __AEUSERTERMTYPES__
@@ -35,86 +35,80 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
-enum
-{
- kAEUserTerminology = FOUR_CHAR_CODE('aeut'), /* 0x61657574 */
- kAETerminologyExtension = FOUR_CHAR_CODE('aete'), /* 0x61657465 */
- kAEScriptingSizeResource = FOUR_CHAR_CODE('scsz'), /* 0x7363737a */
- kAEOSAXSizeResource = FOUR_CHAR_CODE('osiz')
+enum {
+ kAEUserTerminology = FOUR_CHAR_CODE('aeut'), /* 0x61657574 */
+ kAETerminologyExtension = FOUR_CHAR_CODE('aete'), /* 0x61657465 */
+ kAEScriptingSizeResource = FOUR_CHAR_CODE('scsz'), /* 0x7363737a */
+ kAEOSAXSizeResource = FOUR_CHAR_CODE('osiz')
};
-enum
-{
- kAEUTHasReturningParam = 31, /* if event has a keyASReturning param */
- kAEUTOptional = 15, /* if something is optional */
- kAEUTlistOfItems = 14, /* if property or reply is a list. */
- kAEUTEnumerated = 13, /* if property or reply is of an enumerated type. */
- kAEUTReadWrite = 12, /* if property is writable. */
- kAEUTChangesState = 12, /* if an event changes state. */
- kAEUTTightBindingFunction = 12, /* if this is a tight-binding precedence function. */
- /* AppleScript 1.3: new bits for reply, direct parameter, parameter, and property flags */
- kAEUTEnumsAreTypes = 11, /* if the enumeration is a list of types, not constants */
- kAEUTEnumListIsExclusive = 10, /* if the list of enumerations is a proper set */
- kAEUTReplyIsReference = 9, /* if the reply is a reference, not a value */
- kAEUTDirectParamIsReference = 9, /* if the direct parameter is a reference, not a value */
- kAEUTParamIsReference = 9, /* if the parameter is a reference, not a value */
- kAEUTPropertyIsReference = 9, /* if the property is a reference, not a value */
- kAEUTNotDirectParamIsTarget = 8, /* if the direct parameter is not the target of the event */
- kAEUTParamIsTarget = 8, /* if the parameter is the target of the event */
- kAEUTApostrophe = 3, /* if a term contains an apostrophe. */
- kAEUTFeminine = 2, /* if a term is feminine gender. */
- kAEUTMasculine = 1, /* if a term is masculine gender. */
- kAEUTPlural = 0 /* if a term is plural. */
+enum {
+ kAEUTHasReturningParam = 31, /* if event has a keyASReturning param */
+ kAEUTOptional = 15, /* if something is optional */
+ kAEUTlistOfItems = 14, /* if property or reply is a list. */
+ kAEUTEnumerated = 13, /* if property or reply is of an enumerated type. */
+ kAEUTReadWrite = 12, /* if property is writable. */
+ kAEUTChangesState = 12, /* if an event changes state. */
+ kAEUTTightBindingFunction = 12, /* if this is a tight-binding precedence function. */
+ /* AppleScript 1.3: new bits for reply, direct parameter, parameter, and property flags */
+ kAEUTEnumsAreTypes = 11, /* if the enumeration is a list of types, not constants */
+ kAEUTEnumListIsExclusive = 10, /* if the list of enumerations is a proper set */
+ kAEUTReplyIsReference = 9, /* if the reply is a reference, not a value */
+ kAEUTDirectParamIsReference = 9, /* if the direct parameter is a reference, not a value */
+ kAEUTParamIsReference = 9, /* if the parameter is a reference, not a value */
+ kAEUTPropertyIsReference = 9, /* if the property is a reference, not a value */
+ kAEUTNotDirectParamIsTarget = 8, /* if the direct parameter is not the target of the event */
+ kAEUTParamIsTarget = 8, /* if the parameter is the target of the event */
+ kAEUTApostrophe = 3, /* if a term contains an apostrophe. */
+ kAEUTFeminine = 2, /* if a term is feminine gender. */
+ kAEUTMasculine = 1, /* if a term is masculine gender. */
+ kAEUTPlural = 0 /* if a term is plural. */
};
-struct TScriptingSizeResource
-{
- short scriptingSizeFlags;
- unsigned long minStackSize;
- unsigned long preferredStackSize;
- unsigned long maxStackSize;
- unsigned long minHeapSize;
- unsigned long preferredHeapSize;
- unsigned long maxHeapSize;
+struct TScriptingSizeResource {
+ short scriptingSizeFlags;
+ unsigned long minStackSize;
+ unsigned long preferredStackSize;
+ unsigned long maxStackSize;
+ unsigned long minHeapSize;
+ unsigned long preferredHeapSize;
+ unsigned long maxHeapSize;
};
typedef struct TScriptingSizeResource TScriptingSizeResource;
-enum
-{
- kLaunchToGetTerminology = (1 << 15), /* If kLaunchToGetTerminology is 0, 'aete' is read directly from res file. If set to 1, then launch and use 'gdut' to get terminology. */
- kDontFindAppBySignature = (1 << 14), /* If kDontFindAppBySignature is 0, then find app with signature if lost. If 1, then don't */
- kAlwaysSendSubject = (1 << 13) /* If kAlwaysSendSubject 0, then send subject when appropriate. If 1, then every event has Subject Attribute */
+enum {
+ kLaunchToGetTerminology = (1 << 15), /* If kLaunchToGetTerminology is 0, 'aete' is read directly from res file. If set to 1, then launch and use 'gdut' to get terminology. */
+ kDontFindAppBySignature = (1 << 14), /* If kDontFindAppBySignature is 0, then find app with signature if lost. If 1, then don't */
+ kAlwaysSendSubject = (1 << 13) /* If kAlwaysSendSubject 0, then send subject when appropriate. If 1, then every event has Subject Attribute */
};
/* old names for above bits. */
-enum
-{
- kReadExtensionTermsMask = (1 << 15)
+enum {
+ kReadExtensionTermsMask = (1 << 15)
};
-enum
-{
- /* AppleScript 1.3: Bit positions for osiz resource */
- /* AppleScript 1.3: Bit masks for osiz resources */
- kOSIZDontOpenResourceFile = 15, /* If set, resource file is not opened when osax is loaded */
- kOSIZdontAcceptRemoteEvents = 14, /* If set, handler will not be called with events from remote machines */
- kOSIZOpenWithReadPermission = 13, /* If set, file will be opened with read permission only */
- kOSIZCodeInSharedLibraries = 11 /* If set, loader will look for handler in shared library, not osax resources */
+enum {
+ /* AppleScript 1.3: Bit positions for osiz resource */
+ /* AppleScript 1.3: Bit masks for osiz resources */
+ kOSIZDontOpenResourceFile = 15, /* If set, resource file is not opened when osax is loaded */
+ kOSIZdontAcceptRemoteEvents = 14, /* If set, handler will not be called with events from remote machines */
+ kOSIZOpenWithReadPermission = 13, /* If set, file will be opened with read permission only */
+ kOSIZCodeInSharedLibraries = 11 /* If set, loader will look for handler in shared library, not osax resources */
};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AIFF.h b/include/qt/AIFF.h
index 328cd88eb..0944f8d68 100644
--- a/include/qt/AIFF.h
+++ b/include/qt/AIFF.h
@@ -1,17 +1,17 @@
/*
File: AIFF.h
-
+
Contains: Definition of AIFF file format components.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AIFF__
#define __AIFF__
@@ -32,44 +32,41 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
-enum
-{
- AIFFID = FOUR_CHAR_CODE('AIFF'),
- AIFCID = FOUR_CHAR_CODE('AIFC'),
- FormatVersionID = FOUR_CHAR_CODE('FVER'),
- CommonID = FOUR_CHAR_CODE('COMM'),
- FORMID = FOUR_CHAR_CODE('FORM'),
- SoundDataID = FOUR_CHAR_CODE('SSND'),
- MarkerID = FOUR_CHAR_CODE('MARK'),
- InstrumentID = FOUR_CHAR_CODE('INST'),
- MIDIDataID = FOUR_CHAR_CODE('MIDI'),
- AudioRecordingID = FOUR_CHAR_CODE('AESD'),
- ApplicationSpecificID = FOUR_CHAR_CODE('APPL'),
- CommentID = FOUR_CHAR_CODE('COMT'),
- NameID = FOUR_CHAR_CODE('NAME'),
- AuthorID = FOUR_CHAR_CODE('AUTH'),
- CopyrightID = FOUR_CHAR_CODE('(c) '),
- AnnotationID = FOUR_CHAR_CODE('ANNO')
-};
-
-enum
-{
- NoLooping = 0,
- ForwardLooping = 1,
- ForwardBackwardLooping = 2
-};
-
-enum
-{
- /* AIFF-C Versions */
- AIFCVersion1 = (long)0xA2805140
+enum {
+ AIFFID = FOUR_CHAR_CODE('AIFF'),
+ AIFCID = FOUR_CHAR_CODE('AIFC'),
+ FormatVersionID = FOUR_CHAR_CODE('FVER'),
+ CommonID = FOUR_CHAR_CODE('COMM'),
+ FORMID = FOUR_CHAR_CODE('FORM'),
+ SoundDataID = FOUR_CHAR_CODE('SSND'),
+ MarkerID = FOUR_CHAR_CODE('MARK'),
+ InstrumentID = FOUR_CHAR_CODE('INST'),
+ MIDIDataID = FOUR_CHAR_CODE('MIDI'),
+ AudioRecordingID = FOUR_CHAR_CODE('AESD'),
+ ApplicationSpecificID = FOUR_CHAR_CODE('APPL'),
+ CommentID = FOUR_CHAR_CODE('COMT'),
+ NameID = FOUR_CHAR_CODE('NAME'),
+ AuthorID = FOUR_CHAR_CODE('AUTH'),
+ CopyrightID = FOUR_CHAR_CODE('(c) '),
+ AnnotationID = FOUR_CHAR_CODE('ANNO')
+};
+
+enum {
+ NoLooping = 0,
+ ForwardLooping = 1,
+ ForwardBackwardLooping = 2
+};
+
+enum {
+ /* AIFF-C Versions */
+ AIFCVersion1 = (long)0xA2805140
};
/* Compression Names */
@@ -78,168 +75,151 @@ enum
#define ACE8to3Name "\pACE 8-to-3"
#define MACE3to1Name "\pMACE 3-to-1"
#define MACE6to1Name "\pMACE 6-to-1"
-enum
-{
- /* Compression Types */
- NoneType = FOUR_CHAR_CODE('NONE'),
- ACE2Type = FOUR_CHAR_CODE('ACE2'),
- ACE8Type = FOUR_CHAR_CODE('ACE8'),
- MACE3Type = FOUR_CHAR_CODE('MAC3'),
- MACE6Type = FOUR_CHAR_CODE('MAC6')
+enum {
+ /* Compression Types */
+ NoneType = FOUR_CHAR_CODE('NONE'),
+ ACE2Type = FOUR_CHAR_CODE('ACE2'),
+ ACE8Type = FOUR_CHAR_CODE('ACE8'),
+ MACE3Type = FOUR_CHAR_CODE('MAC3'),
+ MACE6Type = FOUR_CHAR_CODE('MAC6')
};
typedef unsigned long ID;
typedef short MarkerIdType;
-struct ChunkHeader
-{
- ID ckID;
- long ckSize;
+struct ChunkHeader {
+ ID ckID;
+ long ckSize;
};
typedef struct ChunkHeader ChunkHeader;
-struct ContainerChunk
-{
- ID ckID;
- long ckSize;
- ID formType;
+struct ContainerChunk {
+ ID ckID;
+ long ckSize;
+ ID formType;
};
typedef struct ContainerChunk ContainerChunk;
-struct FormatVersionChunk
-{
- ID ckID;
- long ckSize;
- unsigned long timestamp;
+struct FormatVersionChunk {
+ ID ckID;
+ long ckSize;
+ unsigned long timestamp;
};
typedef struct FormatVersionChunk FormatVersionChunk;
typedef FormatVersionChunk * FormatVersionChunkPtr;
-struct CommonChunk
-{
- ID ckID;
- long ckSize;
- short numChannels;
- unsigned long numSampleFrames;
- short sampleSize;
- extended80 sampleRate;
+struct CommonChunk {
+ ID ckID;
+ long ckSize;
+ short numChannels;
+ unsigned long numSampleFrames;
+ short sampleSize;
+ extended80 sampleRate;
};
typedef struct CommonChunk CommonChunk;
typedef CommonChunk * CommonChunkPtr;
-struct ExtCommonChunk
-{
- ID ckID;
- long ckSize;
- short numChannels;
- unsigned long numSampleFrames;
- short sampleSize;
- extended80 sampleRate;
- ID compressionType;
- char compressionName[1]; /* variable length array, Pascal string */
+struct ExtCommonChunk {
+ ID ckID;
+ long ckSize;
+ short numChannels;
+ unsigned long numSampleFrames;
+ short sampleSize;
+ extended80 sampleRate;
+ ID compressionType;
+ char compressionName[1]; /* variable length array, Pascal string */
};
typedef struct ExtCommonChunk ExtCommonChunk;
typedef ExtCommonChunk * ExtCommonChunkPtr;
-struct SoundDataChunk
-{
- ID ckID;
- long ckSize;
- unsigned long offset;
- unsigned long blockSize;
+struct SoundDataChunk {
+ ID ckID;
+ long ckSize;
+ unsigned long offset;
+ unsigned long blockSize;
};
typedef struct SoundDataChunk SoundDataChunk;
typedef SoundDataChunk * SoundDataChunkPtr;
-struct Marker
-{
- MarkerIdType id;
- unsigned long position;
- Str255 markerName;
+struct Marker {
+ MarkerIdType id;
+ unsigned long position;
+ Str255 markerName;
};
typedef struct Marker Marker;
-struct MarkerChunk
-{
- ID ckID;
- long ckSize;
- unsigned short numMarkers;
- Marker Markers[1]; /* variable length array */
+struct MarkerChunk {
+ ID ckID;
+ long ckSize;
+ unsigned short numMarkers;
+ Marker Markers[1]; /* variable length array */
};
typedef struct MarkerChunk MarkerChunk;
typedef MarkerChunk * MarkerChunkPtr;
-struct AIFFLoop
-{
- short playMode;
- MarkerIdType beginLoop;
- MarkerIdType endLoop;
+struct AIFFLoop {
+ short playMode;
+ MarkerIdType beginLoop;
+ MarkerIdType endLoop;
};
typedef struct AIFFLoop AIFFLoop;
-struct InstrumentChunk
-{
- ID ckID;
- long ckSize;
- UInt8 baseFrequency;
- UInt8 detune;
- UInt8 lowFrequency;
- UInt8 highFrequency;
- UInt8 lowVelocity;
- UInt8 highVelocity;
- short gain;
- AIFFLoop sustainLoop;
- AIFFLoop releaseLoop;
+struct InstrumentChunk {
+ ID ckID;
+ long ckSize;
+ UInt8 baseFrequency;
+ UInt8 detune;
+ UInt8 lowFrequency;
+ UInt8 highFrequency;
+ UInt8 lowVelocity;
+ UInt8 highVelocity;
+ short gain;
+ AIFFLoop sustainLoop;
+ AIFFLoop releaseLoop;
};
typedef struct InstrumentChunk InstrumentChunk;
typedef InstrumentChunk * InstrumentChunkPtr;
-struct MIDIDataChunk
-{
- ID ckID;
- long ckSize;
- UInt8 MIDIdata[1]; /* variable length array */
+struct MIDIDataChunk {
+ ID ckID;
+ long ckSize;
+ UInt8 MIDIdata[1]; /* variable length array */
};
typedef struct MIDIDataChunk MIDIDataChunk;
typedef MIDIDataChunk * MIDIDataChunkPtr;
-struct AudioRecordingChunk
-{
- ID ckID;
- long ckSize;
- UInt8 AESChannelStatus[24];
+struct AudioRecordingChunk {
+ ID ckID;
+ long ckSize;
+ UInt8 AESChannelStatus[24];
};
typedef struct AudioRecordingChunk AudioRecordingChunk;
typedef AudioRecordingChunk * AudioRecordingChunkPtr;
-struct ApplicationSpecificChunk
-{
- ID ckID;
- long ckSize;
- OSType applicationSignature;
- UInt8 data[1]; /* variable length array */
+struct ApplicationSpecificChunk {
+ ID ckID;
+ long ckSize;
+ OSType applicationSignature;
+ UInt8 data[1]; /* variable length array */
};
typedef struct ApplicationSpecificChunk ApplicationSpecificChunk;
typedef ApplicationSpecificChunk * ApplicationSpecificChunkPtr;
-struct Comment
-{
- unsigned long timeStamp;
- MarkerIdType marker;
- unsigned short count;
- char text[1]; /* variable length array, Pascal string */
+struct Comment {
+ unsigned long timeStamp;
+ MarkerIdType marker;
+ unsigned short count;
+ char text[1]; /* variable length array, Pascal string */
};
typedef struct Comment Comment;
-struct CommentsChunk
-{
- ID ckID;
- long ckSize;
- unsigned short numComments;
- Comment comments[1]; /* variable length array */
+struct CommentsChunk {
+ ID ckID;
+ long ckSize;
+ unsigned short numComments;
+ Comment comments[1]; /* variable length array */
};
typedef struct CommentsChunk CommentsChunk;
typedef CommentsChunk * CommentsChunkPtr;
-struct TextChunk
-{
- ID ckID;
- long ckSize;
- char text[1]; /* variable length array, Pascal string */
+struct TextChunk {
+ ID ckID;
+ long ckSize;
+ char text[1]; /* variable length array, Pascal string */
};
typedef struct TextChunk TextChunk;
typedef TextChunk * TextChunkPtr;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ASDebugging.h b/include/qt/ASDebugging.h
index 4b38f366b..33269c100 100644
--- a/include/qt/ASDebugging.h
+++ b/include/qt/ASDebugging.h
@@ -1,17 +1,17 @@
/*
File: ASDebugging.h
-
+
Contains: AppleScript Debugging Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ASDEBUGGING__
#define __ASDEBUGGING__
@@ -52,292 +52,291 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /**************************************************************************
- Mode Flags
- **************************************************************************/
- /* This mode flag can be passed to OSASetProperty or OSASetHandler
- and will prevent properties or handlers from being defined in a context
- that doesn't already have bindings for them. An error is returned if
- a current binding doesn't already exist.
+/**************************************************************************
+ Mode Flags
+**************************************************************************/
+/* This mode flag can be passed to OSASetProperty or OSASetHandler
+ and will prevent properties or handlers from being defined in a context
+ that doesn't already have bindings for them. An error is returned if
+ a current binding doesn't already exist.
+*/
+enum {
+ kOSAModeDontDefine = 0x0001
+};
+
+/**************************************************************************
+ Component Selectors
+**************************************************************************/
+enum {
+ kASSelectSetPropertyObsolete = 0x1101,
+ kASSelectGetPropertyObsolete = 0x1102,
+ kASSelectSetHandlerObsolete = 0x1103,
+ kASSelectGetHandlerObsolete = 0x1104,
+ kASSelectGetAppTerminologyObsolete = 0x1105,
+ kASSelectSetProperty = 0x1106,
+ kASSelectGetProperty = 0x1107,
+ kASSelectSetHandler = 0x1108,
+ kASSelectGetHandler = 0x1109,
+ kASSelectGetAppTerminology = 0x110A,
+ kASSelectGetSysTerminology = 0x110B,
+ kASSelectGetPropertyNames = 0x110C,
+ kASSelectGetHandlerNames = 0x110D
+};
+
+/**************************************************************************
+ Context Accessors
+**************************************************************************/
+/*
+ * OSASetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetProperty(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ OSAID contextID,
+ const AEDesc * variableName,
+ OSAID scriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x1106, 0x7000, 0xA82A);
+
+
+/*
+ * OSAGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetProperty(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ OSAID contextID,
+ const AEDesc * variableName,
+ OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x1107, 0x7000, 0xA82A);
+
+
+/*
+ * OSAGetPropertyNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetPropertyNames(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ OSAID contextID,
+ AEDescList * resultingPropertyNames) FIVEWORDINLINE(0x2F3C, 0x000C, 0x110C, 0x7000, 0xA82A);
+
+
+/*
+ * OSASetHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetHandler(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ OSAID contextID,
+ const AEDesc * handlerName,
+ OSAID compiledScriptID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x1108, 0x7000, 0xA82A);
+
+
+/*
+ * OSAGetHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetHandler(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ OSAID contextID,
+ const AEDesc * handlerName,
+ OSAID * resultingCompiledScriptID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x1109, 0x7000, 0xA82A);
+
+
+/*
+ * OSAGetHandlerNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetHandlerNames(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ OSAID contextID,
+ AEDescList * resultingHandlerNames) FIVEWORDINLINE(0x2F3C, 0x000C, 0x110D, 0x7000, 0xA82A);
+
+
+/*
+ * OSAGetAppTerminology()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetAppTerminology(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ FSSpec * fileSpec,
+ short terminologyID,
+ Boolean * didLaunch,
+ AEDesc * terminologyList) FIVEWORDINLINE(0x2F3C, 0x0012, 0x110A, 0x7000, 0xA82A);
+
+
+/* Errors:
+ errOSASystemError operation failed
*/
- enum {
- kOSAModeDontDefine = 0x0001
- };
-
- /**************************************************************************
- Component Selectors
- **************************************************************************/
- enum
- {
- kASSelectSetPropertyObsolete = 0x1101,
- kASSelectGetPropertyObsolete = 0x1102,
- kASSelectSetHandlerObsolete = 0x1103,
- kASSelectGetHandlerObsolete = 0x1104,
- kASSelectGetAppTerminologyObsolete = 0x1105,
- kASSelectSetProperty = 0x1106,
- kASSelectGetProperty = 0x1107,
- kASSelectSetHandler = 0x1108,
- kASSelectGetHandler = 0x1109,
- kASSelectGetAppTerminology = 0x110A,
- kASSelectGetSysTerminology = 0x110B,
- kASSelectGetPropertyNames = 0x110C,
- kASSelectGetHandlerNames = 0x110D
- };
-
- /**************************************************************************
- Context Accessors
- **************************************************************************/
- /*
- * OSASetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetProperty(
- ComponentInstance scriptingComponent,
- long modeFlags,
- OSAID contextID,
- const AEDesc * variableName,
- OSAID scriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x1106, 0x7000, 0xA82A);
-
-
- /*
- * OSAGetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetProperty(
- ComponentInstance scriptingComponent,
- long modeFlags,
- OSAID contextID,
- const AEDesc * variableName,
- OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x1107, 0x7000, 0xA82A);
-
-
- /*
- * OSAGetPropertyNames()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetPropertyNames(
- ComponentInstance scriptingComponent,
- long modeFlags,
- OSAID contextID,
- AEDescList * resultingPropertyNames) FIVEWORDINLINE(0x2F3C, 0x000C, 0x110C, 0x7000, 0xA82A);
-
-
- /*
- * OSASetHandler()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetHandler(
- ComponentInstance scriptingComponent,
- long modeFlags,
- OSAID contextID,
- const AEDesc * handlerName,
- OSAID compiledScriptID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x1108, 0x7000, 0xA82A);
-
-
- /*
- * OSAGetHandler()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetHandler(
- ComponentInstance scriptingComponent,
- long modeFlags,
- OSAID contextID,
- const AEDesc * handlerName,
- OSAID * resultingCompiledScriptID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x1109, 0x7000, 0xA82A);
-
-
- /*
- * OSAGetHandlerNames()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetHandlerNames(
- ComponentInstance scriptingComponent,
- long modeFlags,
- OSAID contextID,
- AEDescList * resultingHandlerNames) FIVEWORDINLINE(0x2F3C, 0x000C, 0x110D, 0x7000, 0xA82A);
-
-
- /*
- * OSAGetAppTerminology()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetAppTerminology(
- ComponentInstance scriptingComponent,
- long modeFlags,
- FSSpec * fileSpec,
- short terminologyID,
- Boolean * didLaunch,
- AEDesc * terminologyList) FIVEWORDINLINE(0x2F3C, 0x0012, 0x110A, 0x7000, 0xA82A);
-
-
- /* Errors:
- errOSASystemError operation failed
- */
- /*
- * OSAGetSysTerminology()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetSysTerminology(
- ComponentInstance scriptingComponent,
- long modeFlags,
- short terminologyID,
- AEDesc * terminologyList) FIVEWORDINLINE(0x2F3C, 0x000A, 0x110B, 0x7000, 0xA82A);
-
-
- /* Errors:
- errOSASystemError operation failed
- */
- /* Notes on terminology ID
-
- A terminology ID is derived from script code and language code
- as follows;
-
- terminologyID = ((scriptCode & 0x7F) << 8) | (langCode & 0xFF)
+/*
+ * OSAGetSysTerminology()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetSysTerminology(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ short terminologyID,
+ AEDesc * terminologyList) FIVEWORDINLINE(0x2F3C, 0x000A, 0x110B, 0x7000, 0xA82A);
+
+
+/* Errors:
+ errOSASystemError operation failed
*/
- /**************************************************************************
- Obsolete versions provided for backward compatibility:
+/* Notes on terminology ID
+
+ A terminology ID is derived from script code and language code
+ as follows;
+
+ terminologyID = ((scriptCode & 0x7F) << 8) | (langCode & 0xFF)
+*/
+/**************************************************************************
+ Obsolete versions provided for backward compatibility:
+*/
+/*
+ * ASSetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASSetProperty(
+ ComponentInstance scriptingComponent,
+ OSAID contextID,
+ const AEDesc * variableName,
+ OSAID scriptValueID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x1101, 0x7000, 0xA82A);
+
+
+/*
+ * ASGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASGetProperty(
+ ComponentInstance scriptingComponent,
+ OSAID contextID,
+ const AEDesc * variableName,
+ OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x1102, 0x7000, 0xA82A);
+
+
+/*
+ * ASSetHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASSetHandler(
+ ComponentInstance scriptingComponent,
+ OSAID contextID,
+ const AEDesc * handlerName,
+ OSAID compiledScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x1103, 0x7000, 0xA82A);
+
+
+/*
+ * ASGetHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASGetHandler(
+ ComponentInstance scriptingComponent,
+ OSAID contextID,
+ const AEDesc * handlerName,
+ OSAID * resultingCompiledScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x1104, 0x7000, 0xA82A);
+
+
+/*
+ * ASGetAppTerminology()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASGetAppTerminology(
+ ComponentInstance scriptingComponent,
+ FSSpec * fileSpec,
+ short terminologID,
+ Boolean * didLaunch,
+ AEDesc * terminologyList) FIVEWORDINLINE(0x2F3C, 0x000E, 0x1105, 0x7000, 0xA82A);
+
+
+/* Errors:
+ errOSASystemError operation failed
*/
- /*
- * ASSetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASSetProperty(
- ComponentInstance scriptingComponent,
- OSAID contextID,
- const AEDesc * variableName,
- OSAID scriptValueID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x1101, 0x7000, 0xA82A);
-
-
- /*
- * ASGetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASGetProperty(
- ComponentInstance scriptingComponent,
- OSAID contextID,
- const AEDesc * variableName,
- OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x1102, 0x7000, 0xA82A);
-
-
- /*
- * ASSetHandler()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASSetHandler(
- ComponentInstance scriptingComponent,
- OSAID contextID,
- const AEDesc * handlerName,
- OSAID compiledScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x1103, 0x7000, 0xA82A);
-
-
- /*
- * ASGetHandler()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASGetHandler(
- ComponentInstance scriptingComponent,
- OSAID contextID,
- const AEDesc * handlerName,
- OSAID * resultingCompiledScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x1104, 0x7000, 0xA82A);
-
-
- /*
- * ASGetAppTerminology()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASGetAppTerminology(
- ComponentInstance scriptingComponent,
- FSSpec * fileSpec,
- short terminologID,
- Boolean * didLaunch,
- AEDesc * terminologyList) FIVEWORDINLINE(0x2F3C, 0x000E, 0x1105, 0x7000, 0xA82A);
-
-
- /* Errors:
- errOSASystemError operation failed
- */
- /**************************************************************************/
+/**************************************************************************/
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ASRegistry.h b/include/qt/ASRegistry.h
index 9e0c1ebce..db46ad700 100644
--- a/include/qt/ASRegistry.h
+++ b/include/qt/ASRegistry.h
@@ -1,17 +1,17 @@
/*
File: ASRegistry.h
-
+
Contains: AppleScript Registry constants.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ASREGISTRY__
#define __ASREGISTRY__
@@ -39,331 +39,314 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- keyAETarget = FOUR_CHAR_CODE('targ'),
- keySubjectAttr = FOUR_CHAR_CODE('subj'), /* Magic 'returning' parameter: */
- keyASReturning = FOUR_CHAR_CODE('Krtn'), /* AppleScript Specific Codes: */
- kASAppleScriptSuite = FOUR_CHAR_CODE('ascr'),
- kASScriptEditorSuite = FOUR_CHAR_CODE('ToyS'),
- kASTypeNamesSuite = FOUR_CHAR_CODE('tpnm'), /* dynamic terminologies */
- typeAETE = FOUR_CHAR_CODE('aete'),
- typeAEUT = FOUR_CHAR_CODE('aeut'),
- kGetAETE = FOUR_CHAR_CODE('gdte'),
- kGetAEUT = FOUR_CHAR_CODE('gdut'),
- kUpdateAEUT = FOUR_CHAR_CODE('udut'),
- kUpdateAETE = FOUR_CHAR_CODE('udte'),
- kCleanUpAEUT = FOUR_CHAR_CODE('cdut'),
- kASComment = FOUR_CHAR_CODE('cmnt'),
- kASLaunchEvent = FOUR_CHAR_CODE('noop'),
- keyScszResource = FOUR_CHAR_CODE('scsz'),
- typeScszResource = FOUR_CHAR_CODE('scsz'), /* subroutine calls */
- kASSubroutineEvent = FOUR_CHAR_CODE('psbr'),
- keyASSubroutineName = FOUR_CHAR_CODE('snam'),
- kASPrepositionalSubroutine = FOUR_CHAR_CODE('psbr'),
- keyASPositionalArgs = FOUR_CHAR_CODE('parg')
- };
-
- enum
- {
- /* Add this parameter to a Get Data result if your app handled the 'as' parameter */
- keyAppHandledCoercion = FOUR_CHAR_CODE('idas')
- };
-
- enum
- {
- /* Miscellaneous AppleScript commands */
- kASStartLogEvent = FOUR_CHAR_CODE('log1'),
- kASStopLogEvent = FOUR_CHAR_CODE('log0'),
- kASCommentEvent = FOUR_CHAR_CODE('cmnt')
- };
-
-
- /* Operator Events: */
- enum
- {
- /* Binary: */
- kASAdd = FOUR_CHAR_CODE('+ '),
- kASSubtract = FOUR_CHAR_CODE('- '),
- kASMultiply = FOUR_CHAR_CODE('* '),
- kASDivide = FOUR_CHAR_CODE('/ '),
- kASQuotient = FOUR_CHAR_CODE('div '),
- kASRemainder = FOUR_CHAR_CODE('mod '),
- kASPower = FOUR_CHAR_CODE('^ '),
- kASEqual = kAEEquals,
- kASNotEqual = 0xAD202020,
- kASGreaterThan = kAEGreaterThan,
- kASGreaterThanOrEqual = kAEGreaterThanEquals,
- kASLessThan = kAELessThan,
- kASLessThanOrEqual = kAELessThanEquals,
- kASComesBefore = FOUR_CHAR_CODE('cbfr'),
- kASComesAfter = FOUR_CHAR_CODE('cafr'),
- kASConcatenate = FOUR_CHAR_CODE('ccat'),
- kASStartsWith = kAEBeginsWith,
- kASEndsWith = kAEEndsWith,
- kASContains = kAEContains
- };
-
- enum
- {
- kASAnd = kAEAND,
- kASOr = kAEOR, /* Unary: */
- kASNot = kAENOT,
- kASNegate = FOUR_CHAR_CODE('neg '),
- keyASArg = FOUR_CHAR_CODE('arg ')
- };
-
- enum
- {
- /* event code for the 'error' statement */
- kASErrorEventCode = FOUR_CHAR_CODE('err '),
- kOSAErrorArgs = FOUR_CHAR_CODE('erra'),
- keyAEErrorObject = FOUR_CHAR_CODE('erob'), /* Properties: */
- pLength = FOUR_CHAR_CODE('leng'),
- pReverse = FOUR_CHAR_CODE('rvse'),
- pRest = FOUR_CHAR_CODE('rest'),
- pInherits = FOUR_CHAR_CODE('c@#^'),
- pProperties = FOUR_CHAR_CODE('pALL'), /* User-Defined Record Fields: */
- keyASUserRecordFields = FOUR_CHAR_CODE('usrf'),
- typeUserRecordFields = typeAEList
- };
-
- /* Prepositions: */
- enum
- {
- keyASPrepositionAt = FOUR_CHAR_CODE('at '),
- keyASPrepositionIn = FOUR_CHAR_CODE('in '),
- keyASPrepositionFrom = FOUR_CHAR_CODE('from'),
- keyASPrepositionFor = FOUR_CHAR_CODE('for '),
- keyASPrepositionTo = FOUR_CHAR_CODE('to '),
- keyASPrepositionThru = FOUR_CHAR_CODE('thru'),
- keyASPrepositionThrough = FOUR_CHAR_CODE('thgh'),
- keyASPrepositionBy = FOUR_CHAR_CODE('by '),
- keyASPrepositionOn = FOUR_CHAR_CODE('on '),
- keyASPrepositionInto = FOUR_CHAR_CODE('into'),
- keyASPrepositionOnto = FOUR_CHAR_CODE('onto'),
- keyASPrepositionBetween = FOUR_CHAR_CODE('btwn'),
- keyASPrepositionAgainst = FOUR_CHAR_CODE('agst'),
- keyASPrepositionOutOf = FOUR_CHAR_CODE('outo'),
- keyASPrepositionInsteadOf = FOUR_CHAR_CODE('isto'),
- keyASPrepositionAsideFrom = FOUR_CHAR_CODE('asdf'),
- keyASPrepositionAround = FOUR_CHAR_CODE('arnd'),
- keyASPrepositionBeside = FOUR_CHAR_CODE('bsid'),
- keyASPrepositionBeneath = FOUR_CHAR_CODE('bnth'),
- keyASPrepositionUnder = FOUR_CHAR_CODE('undr')
- };
-
- enum
- {
- keyASPrepositionOver = FOUR_CHAR_CODE('over'),
- keyASPrepositionAbove = FOUR_CHAR_CODE('abve'),
- keyASPrepositionBelow = FOUR_CHAR_CODE('belw'),
- keyASPrepositionApartFrom = FOUR_CHAR_CODE('aprt'),
- keyASPrepositionGiven = FOUR_CHAR_CODE('givn'),
- keyASPrepositionWith = FOUR_CHAR_CODE('with'),
- keyASPrepositionWithout = FOUR_CHAR_CODE('wout'),
- keyASPrepositionAbout = FOUR_CHAR_CODE('abou'),
- keyASPrepositionSince = FOUR_CHAR_CODE('snce'),
- keyASPrepositionUntil = FOUR_CHAR_CODE('till')
- };
-
- enum
- {
- /* Terminology & Dialect things: */
- kDialectBundleResType = FOUR_CHAR_CODE('Dbdl'), /* AppleScript Classes and Enums: */
- cConstant = typeEnumerated,
- cClassIdentifier = pClass,
- cObjectBeingExamined = typeObjectBeingExamined,
- cList = typeAEList,
- cSmallReal = typeSMFloat,
- cReal = typeFloat,
- cRecord = typeAERecord,
- cReference = cObjectSpecifier,
- cUndefined = FOUR_CHAR_CODE('undf'),
- cMissingValue = FOUR_CHAR_CODE('msng'),
- cSymbol = FOUR_CHAR_CODE('symb'),
- cLinkedList = FOUR_CHAR_CODE('llst'),
- cVector = FOUR_CHAR_CODE('vect'),
- cEventIdentifier = FOUR_CHAR_CODE('evnt'),
- cKeyIdentifier = FOUR_CHAR_CODE('kyid'),
- cUserIdentifier = FOUR_CHAR_CODE('uid '),
- cPreposition = FOUR_CHAR_CODE('prep'),
- cKeyForm = enumKeyForm,
- cScript = FOUR_CHAR_CODE('scpt'),
- cHandler = FOUR_CHAR_CODE('hand'),
- cProcedure = FOUR_CHAR_CODE('proc')
- };
-
- enum
- {
- cHandleBreakpoint = FOUR_CHAR_CODE('brak')
- };
-
- enum
- {
- cClosure = FOUR_CHAR_CODE('clsr'),
- cRawData = FOUR_CHAR_CODE('rdat'),
- cStringClass = typeChar,
- cNumber = FOUR_CHAR_CODE('nmbr'),
- cListElement = FOUR_CHAR_CODE('celm'),
- cListOrRecord = FOUR_CHAR_CODE('lr '),
- cListOrString = FOUR_CHAR_CODE('ls '),
- cListRecordOrString = FOUR_CHAR_CODE('lrs '),
- cNumberOrString = FOUR_CHAR_CODE('ns '),
- cNumberOrDateTime = FOUR_CHAR_CODE('nd '),
- cNumberDateTimeOrString = FOUR_CHAR_CODE('nds '),
- cAliasOrString = FOUR_CHAR_CODE('sf '),
- cSeconds = FOUR_CHAR_CODE('scnd'),
- typeSound = FOUR_CHAR_CODE('snd '),
- enumBooleanValues = FOUR_CHAR_CODE('boov'), /* Use this instead of typeBoolean to avoid with/without conversion */
- kAETrue = typeTrue,
- kAEFalse = typeFalse,
- enumMiscValues = FOUR_CHAR_CODE('misc'),
- kASCurrentApplication = FOUR_CHAR_CODE('cura'), /* User-defined property ospecs: */
- formUserPropertyID = FOUR_CHAR_CODE('usrp')
- };
-
- enum
- {
- cString = cStringClass /* old name for cStringClass - can't be used in .r files*/
- };
-
- enum
- {
- /* Global properties: */
- pASIt = FOUR_CHAR_CODE('it '),
- pASMe = FOUR_CHAR_CODE('me '),
- pASResult = FOUR_CHAR_CODE('rslt'),
- pASSpace = FOUR_CHAR_CODE('spac'),
- pASReturn = FOUR_CHAR_CODE('ret '),
- pASTab = FOUR_CHAR_CODE('tab '),
- pASPi = FOUR_CHAR_CODE('pi '),
- pASParent = FOUR_CHAR_CODE('pare'),
- kASInitializeEventCode = FOUR_CHAR_CODE('init'),
- pASPrintLength = FOUR_CHAR_CODE('prln'),
- pASPrintDepth = FOUR_CHAR_CODE('prdp'),
- pASTopLevelScript = FOUR_CHAR_CODE('ascr')
- };
-
- enum
- {
- /* Considerations */
- kAECase = FOUR_CHAR_CODE('case'),
- kAEDiacritic = FOUR_CHAR_CODE('diac'),
- kAEWhiteSpace = FOUR_CHAR_CODE('whit'),
- kAEHyphens = FOUR_CHAR_CODE('hyph'),
- kAEExpansion = FOUR_CHAR_CODE('expa'),
- kAEPunctuation = FOUR_CHAR_CODE('punc'),
- kAEZenkakuHankaku = FOUR_CHAR_CODE('zkhk'),
- kAESmallKana = FOUR_CHAR_CODE('skna'),
- kAEKataHiragana = FOUR_CHAR_CODE('hika'),
- kASConsiderReplies = FOUR_CHAR_CODE('rmte'),
- enumConsiderations = FOUR_CHAR_CODE('cons')
- };
-
- /* Considerations bit masks */
- enum
- {
- kAECaseConsiderMask = 0x00000001,
- kAEDiacriticConsiderMask = 0x00000002,
- kAEWhiteSpaceConsiderMask = 0x00000004,
- kAEHyphensConsiderMask = 0x00000008,
- kAEExpansionConsiderMask = 0x00000010,
- kAEPunctuationConsiderMask = 0x00000020,
- kASConsiderRepliesConsiderMask = 0x00000040,
- kAECaseIgnoreMask = 0x00010000,
- kAEDiacriticIgnoreMask = 0x00020000,
- kAEWhiteSpaceIgnoreMask = 0x00040000,
- kAEHyphensIgnoreMask = 0x00080000,
- kAEExpansionIgnoreMask = 0x00100000,
- kAEPunctuationIgnoreMask = 0x00200000,
- kASConsiderRepliesIgnoreMask = 0x00400000,
- enumConsidsAndIgnores = FOUR_CHAR_CODE('csig')
- };
-
- enum
- {
- cCoercion = FOUR_CHAR_CODE('coec'),
- cCoerceUpperCase = FOUR_CHAR_CODE('txup'),
- cCoerceLowerCase = FOUR_CHAR_CODE('txlo'),
- cCoerceRemoveDiacriticals = FOUR_CHAR_CODE('txdc'),
- cCoerceRemovePunctuation = FOUR_CHAR_CODE('txpc'),
- cCoerceRemoveHyphens = FOUR_CHAR_CODE('txhy'),
- cCoerceOneByteToTwoByte = FOUR_CHAR_CODE('txex'),
- cCoerceRemoveWhiteSpace = FOUR_CHAR_CODE('txws'),
- cCoerceSmallKana = FOUR_CHAR_CODE('txsk'),
- cCoerceZenkakuhankaku = FOUR_CHAR_CODE('txze'),
- cCoerceKataHiragana = FOUR_CHAR_CODE('txkh'), /* Lorax things: */
- cZone = FOUR_CHAR_CODE('zone'),
- cMachine = FOUR_CHAR_CODE('mach'),
- cAddress = FOUR_CHAR_CODE('addr'),
- cRunningAddress = FOUR_CHAR_CODE('radd'),
- cStorage = FOUR_CHAR_CODE('stor')
- };
-
- enum
- {
- /* DateTime things: */
- pASWeekday = FOUR_CHAR_CODE('wkdy'),
- pASMonth = FOUR_CHAR_CODE('mnth'),
- pASDay = FOUR_CHAR_CODE('day '),
- pASYear = FOUR_CHAR_CODE('year'),
- pASTime = FOUR_CHAR_CODE('time'),
- pASDateString = FOUR_CHAR_CODE('dstr'),
- pASTimeString = FOUR_CHAR_CODE('tstr'), /* Months */
- cMonth = pASMonth,
- cJanuary = FOUR_CHAR_CODE('jan '),
- cFebruary = FOUR_CHAR_CODE('feb '),
- cMarch = FOUR_CHAR_CODE('mar '),
- cApril = FOUR_CHAR_CODE('apr '),
- cMay = FOUR_CHAR_CODE('may '),
- cJune = FOUR_CHAR_CODE('jun '),
- cJuly = FOUR_CHAR_CODE('jul '),
- cAugust = FOUR_CHAR_CODE('aug '),
- cSeptember = FOUR_CHAR_CODE('sep '),
- cOctober = FOUR_CHAR_CODE('oct '),
- cNovember = FOUR_CHAR_CODE('nov '),
- cDecember = FOUR_CHAR_CODE('dec ')
- };
-
- enum
- {
- /* Weekdays */
- cWeekday = pASWeekday,
- cSunday = FOUR_CHAR_CODE('sun '),
- cMonday = FOUR_CHAR_CODE('mon '),
- cTuesday = FOUR_CHAR_CODE('tue '),
- cWednesday = FOUR_CHAR_CODE('wed '),
- cThursday = FOUR_CHAR_CODE('thu '),
- cFriday = FOUR_CHAR_CODE('fri '),
- cSaturday = FOUR_CHAR_CODE('sat '), /* AS 1.1 Globals: */
- pASQuote = FOUR_CHAR_CODE('quot'),
- pASSeconds = FOUR_CHAR_CODE('secs'),
- pASMinutes = FOUR_CHAR_CODE('min '),
- pASHours = FOUR_CHAR_CODE('hour'),
- pASDays = FOUR_CHAR_CODE('days'),
- pASWeeks = FOUR_CHAR_CODE('week'), /* Writing Code things: */
- cWritingCodeInfo = FOUR_CHAR_CODE('citl'),
- pScriptCode = FOUR_CHAR_CODE('pscd'),
- pLangCode = FOUR_CHAR_CODE('plcd'), /* Magic Tell and End Tell events for logging: */
- kASMagicTellEvent = FOUR_CHAR_CODE('tell'),
- kASMagicEndTellEvent = FOUR_CHAR_CODE('tend')
- };
+enum {
+ keyAETarget = FOUR_CHAR_CODE('targ'),
+ keySubjectAttr = FOUR_CHAR_CODE('subj'), /* Magic 'returning' parameter: */
+ keyASReturning = FOUR_CHAR_CODE('Krtn'), /* AppleScript Specific Codes: */
+ kASAppleScriptSuite = FOUR_CHAR_CODE('ascr'),
+ kASScriptEditorSuite = FOUR_CHAR_CODE('ToyS'),
+ kASTypeNamesSuite = FOUR_CHAR_CODE('tpnm'), /* dynamic terminologies */
+ typeAETE = FOUR_CHAR_CODE('aete'),
+ typeAEUT = FOUR_CHAR_CODE('aeut'),
+ kGetAETE = FOUR_CHAR_CODE('gdte'),
+ kGetAEUT = FOUR_CHAR_CODE('gdut'),
+ kUpdateAEUT = FOUR_CHAR_CODE('udut'),
+ kUpdateAETE = FOUR_CHAR_CODE('udte'),
+ kCleanUpAEUT = FOUR_CHAR_CODE('cdut'),
+ kASComment = FOUR_CHAR_CODE('cmnt'),
+ kASLaunchEvent = FOUR_CHAR_CODE('noop'),
+ keyScszResource = FOUR_CHAR_CODE('scsz'),
+ typeScszResource = FOUR_CHAR_CODE('scsz'), /* subroutine calls */
+ kASSubroutineEvent = FOUR_CHAR_CODE('psbr'),
+ keyASSubroutineName = FOUR_CHAR_CODE('snam'),
+ kASPrepositionalSubroutine = FOUR_CHAR_CODE('psbr'),
+ keyASPositionalArgs = FOUR_CHAR_CODE('parg')
+};
+
+enum {
+ /* Add this parameter to a Get Data result if your app handled the 'as' parameter */
+ keyAppHandledCoercion = FOUR_CHAR_CODE('idas')
+};
+
+enum {
+ /* Miscellaneous AppleScript commands */
+ kASStartLogEvent = FOUR_CHAR_CODE('log1'),
+ kASStopLogEvent = FOUR_CHAR_CODE('log0'),
+ kASCommentEvent = FOUR_CHAR_CODE('cmnt')
+};
+
+
+/* Operator Events: */
+enum {
+ /* Binary: */
+ kASAdd = FOUR_CHAR_CODE('+ '),
+ kASSubtract = FOUR_CHAR_CODE('- '),
+ kASMultiply = FOUR_CHAR_CODE('* '),
+ kASDivide = FOUR_CHAR_CODE('/ '),
+ kASQuotient = FOUR_CHAR_CODE('div '),
+ kASRemainder = FOUR_CHAR_CODE('mod '),
+ kASPower = FOUR_CHAR_CODE('^ '),
+ kASEqual = kAEEquals,
+ kASNotEqual = 0xAD202020,
+ kASGreaterThan = kAEGreaterThan,
+ kASGreaterThanOrEqual = kAEGreaterThanEquals,
+ kASLessThan = kAELessThan,
+ kASLessThanOrEqual = kAELessThanEquals,
+ kASComesBefore = FOUR_CHAR_CODE('cbfr'),
+ kASComesAfter = FOUR_CHAR_CODE('cafr'),
+ kASConcatenate = FOUR_CHAR_CODE('ccat'),
+ kASStartsWith = kAEBeginsWith,
+ kASEndsWith = kAEEndsWith,
+ kASContains = kAEContains
+};
+
+enum {
+ kASAnd = kAEAND,
+ kASOr = kAEOR, /* Unary: */
+ kASNot = kAENOT,
+ kASNegate = FOUR_CHAR_CODE('neg '),
+ keyASArg = FOUR_CHAR_CODE('arg ')
+};
+
+enum {
+ /* event code for the 'error' statement */
+ kASErrorEventCode = FOUR_CHAR_CODE('err '),
+ kOSAErrorArgs = FOUR_CHAR_CODE('erra'),
+ keyAEErrorObject = FOUR_CHAR_CODE('erob'), /* Properties: */
+ pLength = FOUR_CHAR_CODE('leng'),
+ pReverse = FOUR_CHAR_CODE('rvse'),
+ pRest = FOUR_CHAR_CODE('rest'),
+ pInherits = FOUR_CHAR_CODE('c@#^'),
+ pProperties = FOUR_CHAR_CODE('pALL'), /* User-Defined Record Fields: */
+ keyASUserRecordFields = FOUR_CHAR_CODE('usrf'),
+ typeUserRecordFields = typeAEList
+};
+
+/* Prepositions: */
+enum {
+ keyASPrepositionAt = FOUR_CHAR_CODE('at '),
+ keyASPrepositionIn = FOUR_CHAR_CODE('in '),
+ keyASPrepositionFrom = FOUR_CHAR_CODE('from'),
+ keyASPrepositionFor = FOUR_CHAR_CODE('for '),
+ keyASPrepositionTo = FOUR_CHAR_CODE('to '),
+ keyASPrepositionThru = FOUR_CHAR_CODE('thru'),
+ keyASPrepositionThrough = FOUR_CHAR_CODE('thgh'),
+ keyASPrepositionBy = FOUR_CHAR_CODE('by '),
+ keyASPrepositionOn = FOUR_CHAR_CODE('on '),
+ keyASPrepositionInto = FOUR_CHAR_CODE('into'),
+ keyASPrepositionOnto = FOUR_CHAR_CODE('onto'),
+ keyASPrepositionBetween = FOUR_CHAR_CODE('btwn'),
+ keyASPrepositionAgainst = FOUR_CHAR_CODE('agst'),
+ keyASPrepositionOutOf = FOUR_CHAR_CODE('outo'),
+ keyASPrepositionInsteadOf = FOUR_CHAR_CODE('isto'),
+ keyASPrepositionAsideFrom = FOUR_CHAR_CODE('asdf'),
+ keyASPrepositionAround = FOUR_CHAR_CODE('arnd'),
+ keyASPrepositionBeside = FOUR_CHAR_CODE('bsid'),
+ keyASPrepositionBeneath = FOUR_CHAR_CODE('bnth'),
+ keyASPrepositionUnder = FOUR_CHAR_CODE('undr')
+};
+
+enum {
+ keyASPrepositionOver = FOUR_CHAR_CODE('over'),
+ keyASPrepositionAbove = FOUR_CHAR_CODE('abve'),
+ keyASPrepositionBelow = FOUR_CHAR_CODE('belw'),
+ keyASPrepositionApartFrom = FOUR_CHAR_CODE('aprt'),
+ keyASPrepositionGiven = FOUR_CHAR_CODE('givn'),
+ keyASPrepositionWith = FOUR_CHAR_CODE('with'),
+ keyASPrepositionWithout = FOUR_CHAR_CODE('wout'),
+ keyASPrepositionAbout = FOUR_CHAR_CODE('abou'),
+ keyASPrepositionSince = FOUR_CHAR_CODE('snce'),
+ keyASPrepositionUntil = FOUR_CHAR_CODE('till')
+};
+
+enum {
+ /* Terminology & Dialect things: */
+ kDialectBundleResType = FOUR_CHAR_CODE('Dbdl'), /* AppleScript Classes and Enums: */
+ cConstant = typeEnumerated,
+ cClassIdentifier = pClass,
+ cObjectBeingExamined = typeObjectBeingExamined,
+ cList = typeAEList,
+ cSmallReal = typeSMFloat,
+ cReal = typeFloat,
+ cRecord = typeAERecord,
+ cReference = cObjectSpecifier,
+ cUndefined = FOUR_CHAR_CODE('undf'),
+ cMissingValue = FOUR_CHAR_CODE('msng'),
+ cSymbol = FOUR_CHAR_CODE('symb'),
+ cLinkedList = FOUR_CHAR_CODE('llst'),
+ cVector = FOUR_CHAR_CODE('vect'),
+ cEventIdentifier = FOUR_CHAR_CODE('evnt'),
+ cKeyIdentifier = FOUR_CHAR_CODE('kyid'),
+ cUserIdentifier = FOUR_CHAR_CODE('uid '),
+ cPreposition = FOUR_CHAR_CODE('prep'),
+ cKeyForm = enumKeyForm,
+ cScript = FOUR_CHAR_CODE('scpt'),
+ cHandler = FOUR_CHAR_CODE('hand'),
+ cProcedure = FOUR_CHAR_CODE('proc')
+};
+
+enum {
+ cHandleBreakpoint = FOUR_CHAR_CODE('brak')
+};
+
+enum {
+ cClosure = FOUR_CHAR_CODE('clsr'),
+ cRawData = FOUR_CHAR_CODE('rdat'),
+ cStringClass = typeChar,
+ cNumber = FOUR_CHAR_CODE('nmbr'),
+ cListElement = FOUR_CHAR_CODE('celm'),
+ cListOrRecord = FOUR_CHAR_CODE('lr '),
+ cListOrString = FOUR_CHAR_CODE('ls '),
+ cListRecordOrString = FOUR_CHAR_CODE('lrs '),
+ cNumberOrString = FOUR_CHAR_CODE('ns '),
+ cNumberOrDateTime = FOUR_CHAR_CODE('nd '),
+ cNumberDateTimeOrString = FOUR_CHAR_CODE('nds '),
+ cAliasOrString = FOUR_CHAR_CODE('sf '),
+ cSeconds = FOUR_CHAR_CODE('scnd'),
+ typeSound = FOUR_CHAR_CODE('snd '),
+ enumBooleanValues = FOUR_CHAR_CODE('boov'), /* Use this instead of typeBoolean to avoid with/without conversion */
+ kAETrue = typeTrue,
+ kAEFalse = typeFalse,
+ enumMiscValues = FOUR_CHAR_CODE('misc'),
+ kASCurrentApplication = FOUR_CHAR_CODE('cura'), /* User-defined property ospecs: */
+ formUserPropertyID = FOUR_CHAR_CODE('usrp')
+};
+
+enum {
+ cString = cStringClass /* old name for cStringClass - can't be used in .r files*/
+};
+
+enum {
+ /* Global properties: */
+ pASIt = FOUR_CHAR_CODE('it '),
+ pASMe = FOUR_CHAR_CODE('me '),
+ pASResult = FOUR_CHAR_CODE('rslt'),
+ pASSpace = FOUR_CHAR_CODE('spac'),
+ pASReturn = FOUR_CHAR_CODE('ret '),
+ pASTab = FOUR_CHAR_CODE('tab '),
+ pASPi = FOUR_CHAR_CODE('pi '),
+ pASParent = FOUR_CHAR_CODE('pare'),
+ kASInitializeEventCode = FOUR_CHAR_CODE('init'),
+ pASPrintLength = FOUR_CHAR_CODE('prln'),
+ pASPrintDepth = FOUR_CHAR_CODE('prdp'),
+ pASTopLevelScript = FOUR_CHAR_CODE('ascr')
+};
+
+enum {
+ /* Considerations */
+ kAECase = FOUR_CHAR_CODE('case'),
+ kAEDiacritic = FOUR_CHAR_CODE('diac'),
+ kAEWhiteSpace = FOUR_CHAR_CODE('whit'),
+ kAEHyphens = FOUR_CHAR_CODE('hyph'),
+ kAEExpansion = FOUR_CHAR_CODE('expa'),
+ kAEPunctuation = FOUR_CHAR_CODE('punc'),
+ kAEZenkakuHankaku = FOUR_CHAR_CODE('zkhk'),
+ kAESmallKana = FOUR_CHAR_CODE('skna'),
+ kAEKataHiragana = FOUR_CHAR_CODE('hika'),
+ kASConsiderReplies = FOUR_CHAR_CODE('rmte'),
+ enumConsiderations = FOUR_CHAR_CODE('cons')
+};
+
+/* Considerations bit masks */
+enum {
+ kAECaseConsiderMask = 0x00000001,
+ kAEDiacriticConsiderMask = 0x00000002,
+ kAEWhiteSpaceConsiderMask = 0x00000004,
+ kAEHyphensConsiderMask = 0x00000008,
+ kAEExpansionConsiderMask = 0x00000010,
+ kAEPunctuationConsiderMask = 0x00000020,
+ kASConsiderRepliesConsiderMask = 0x00000040,
+ kAECaseIgnoreMask = 0x00010000,
+ kAEDiacriticIgnoreMask = 0x00020000,
+ kAEWhiteSpaceIgnoreMask = 0x00040000,
+ kAEHyphensIgnoreMask = 0x00080000,
+ kAEExpansionIgnoreMask = 0x00100000,
+ kAEPunctuationIgnoreMask = 0x00200000,
+ kASConsiderRepliesIgnoreMask = 0x00400000,
+ enumConsidsAndIgnores = FOUR_CHAR_CODE('csig')
+};
+
+enum {
+ cCoercion = FOUR_CHAR_CODE('coec'),
+ cCoerceUpperCase = FOUR_CHAR_CODE('txup'),
+ cCoerceLowerCase = FOUR_CHAR_CODE('txlo'),
+ cCoerceRemoveDiacriticals = FOUR_CHAR_CODE('txdc'),
+ cCoerceRemovePunctuation = FOUR_CHAR_CODE('txpc'),
+ cCoerceRemoveHyphens = FOUR_CHAR_CODE('txhy'),
+ cCoerceOneByteToTwoByte = FOUR_CHAR_CODE('txex'),
+ cCoerceRemoveWhiteSpace = FOUR_CHAR_CODE('txws'),
+ cCoerceSmallKana = FOUR_CHAR_CODE('txsk'),
+ cCoerceZenkakuhankaku = FOUR_CHAR_CODE('txze'),
+ cCoerceKataHiragana = FOUR_CHAR_CODE('txkh'), /* Lorax things: */
+ cZone = FOUR_CHAR_CODE('zone'),
+ cMachine = FOUR_CHAR_CODE('mach'),
+ cAddress = FOUR_CHAR_CODE('addr'),
+ cRunningAddress = FOUR_CHAR_CODE('radd'),
+ cStorage = FOUR_CHAR_CODE('stor')
+};
+
+enum {
+ /* DateTime things: */
+ pASWeekday = FOUR_CHAR_CODE('wkdy'),
+ pASMonth = FOUR_CHAR_CODE('mnth'),
+ pASDay = FOUR_CHAR_CODE('day '),
+ pASYear = FOUR_CHAR_CODE('year'),
+ pASTime = FOUR_CHAR_CODE('time'),
+ pASDateString = FOUR_CHAR_CODE('dstr'),
+ pASTimeString = FOUR_CHAR_CODE('tstr'), /* Months */
+ cMonth = pASMonth,
+ cJanuary = FOUR_CHAR_CODE('jan '),
+ cFebruary = FOUR_CHAR_CODE('feb '),
+ cMarch = FOUR_CHAR_CODE('mar '),
+ cApril = FOUR_CHAR_CODE('apr '),
+ cMay = FOUR_CHAR_CODE('may '),
+ cJune = FOUR_CHAR_CODE('jun '),
+ cJuly = FOUR_CHAR_CODE('jul '),
+ cAugust = FOUR_CHAR_CODE('aug '),
+ cSeptember = FOUR_CHAR_CODE('sep '),
+ cOctober = FOUR_CHAR_CODE('oct '),
+ cNovember = FOUR_CHAR_CODE('nov '),
+ cDecember = FOUR_CHAR_CODE('dec ')
+};
+
+enum {
+ /* Weekdays */
+ cWeekday = pASWeekday,
+ cSunday = FOUR_CHAR_CODE('sun '),
+ cMonday = FOUR_CHAR_CODE('mon '),
+ cTuesday = FOUR_CHAR_CODE('tue '),
+ cWednesday = FOUR_CHAR_CODE('wed '),
+ cThursday = FOUR_CHAR_CODE('thu '),
+ cFriday = FOUR_CHAR_CODE('fri '),
+ cSaturday = FOUR_CHAR_CODE('sat '), /* AS 1.1 Globals: */
+ pASQuote = FOUR_CHAR_CODE('quot'),
+ pASSeconds = FOUR_CHAR_CODE('secs'),
+ pASMinutes = FOUR_CHAR_CODE('min '),
+ pASHours = FOUR_CHAR_CODE('hour'),
+ pASDays = FOUR_CHAR_CODE('days'),
+ pASWeeks = FOUR_CHAR_CODE('week'), /* Writing Code things: */
+ cWritingCodeInfo = FOUR_CHAR_CODE('citl'),
+ pScriptCode = FOUR_CHAR_CODE('pscd'),
+ pLangCode = FOUR_CHAR_CODE('plcd'), /* Magic Tell and End Tell events for logging: */
+ kASMagicTellEvent = FOUR_CHAR_CODE('tell'),
+ kASMagicEndTellEvent = FOUR_CHAR_CODE('tend')
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ATS.h b/include/qt/ATS.h
index 158b38b7c..16cdf466a 100644
--- a/include/qt/ATS.h
+++ b/include/qt/ATS.h
@@ -1,17 +1,17 @@
/*
File: ATS.h
-
+
Contains: Master include for ATS private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ATS__
#define __ATS__
diff --git a/include/qt/ATSFont.h b/include/qt/ATSFont.h
index 4995754e0..9b39ab5ec 100644
--- a/include/qt/ATSFont.h
+++ b/include/qt/ATSFont.h
@@ -1,17 +1,17 @@
/*
File: ATSFont.h
-
+
Contains: Public interface to the font access and data management functions of ATS.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (C) 2000-2002 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 __ATSFONT__
#define __ATSFONT__
@@ -60,1034 +60,1021 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __ATSFONT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __ATSFONT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __ATSFONT__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __ATSFONT__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- enum {
- kATSOptionFlagsDefault = kNilOptions,
- kATSOptionFlagsComposeFontPostScriptName = 1 << 0, /* ATSFontGetPostScriptName */
- kATSOptionFlagsUseDataForkAsResourceFork = 1 << 8, /* ATSFontActivateFromFileSpecification */
- kATSOptionFlagsUseResourceFork = 2 << 8,
- kATSOptionFlagsUseDataFork = 3 << 8
- };
-
- enum
- {
- kATSIterationCompleted = -980L,
- kATSInvalidFontFamilyAccess = -981L,
- kATSInvalidFontAccess = -982L,
- kATSIterationScopeModified = -983L,
- kATSInvalidFontTableAccess = -984L,
- kATSInvalidFontContainerAccess = -985L
- };
-
- /* Activation Option Flags */
- typedef UInt32 ATSFontContext;
- enum
- {
- kATSFontContextUnspecified = 0,
- kATSFontContextGlobal = 1,
- kATSFontContextLocal = 2
- };
-
- enum
- {
- kATSOptionFlagsDoNotNotify = 0x00000001 << 8, /* Do not notify after global activation/deactivation */
- kATSOptionFlagsIterationScopeMask = 0x00000007 << 12, /* Mask option bits 12-14 for iteration scopes */
- kATSOptionFlagsDefaultScope = 0x00000000 << 12,
- kATSOptionFlagsUnRestrictedScope = 0x00000001 << 12,
- kATSOptionFlagsRestrictedScope = 0x00000002 << 12,
- kATSOptionFlagsProcessSubdirectories = 0x00000001 << 6
- };
-
- /* Iteration Option Flags */
- enum
- {
- kATSOptionFlagsIterateByPrecedenceMask = 0x00000001 << 5
- };
-
- typedef UInt32 ATSFontFormat;
- enum
- {
- kATSFontFormatUnspecified = 0
- };
-
- typedef CALLBACK_API_C(OSStatus , ATSFontFamilyApplierFunction)(ATSFontFamilyRef iFamily, void *iRefCon);
- typedef CALLBACK_API_C(OSStatus , ATSFontApplierFunction)(ATSFontRef iFont, void *iRefCon);
- typedef struct ATSFontFamilyIterator_* ATSFontFamilyIterator;
- typedef struct ATSFontIterator_* ATSFontIterator;
- enum
- {
- kATSFontFilterCurrentVersion = 0
- };
-
- enum ATSFontFilterSelector
- {
- kATSFontFilterSelectorUnspecified = 0,
- kATSFontFilterSelectorGeneration = 3,
- kATSFontFilterSelectorFontFamily = 7,
- kATSFontFilterSelectorFontFamilyApplierFunction = 8,
- kATSFontFilterSelectorFontApplierFunction = 9
- };
- typedef enum ATSFontFilterSelector ATSFontFilterSelector;
-
- struct ATSFontFilter
- {
- UInt32 version;
- ATSFontFilterSelector filterSelector;
- union
- {
- ATSGeneration generationFilter;
- ATSFontFamilyRef fontFamilyFilter;
- ATSFontFamilyApplierFunction fontFamilyApplierFunctionFilter;
- ATSFontApplierFunction fontApplierFunctionFilter;
- } filter;
- };
- typedef struct ATSFontFilter ATSFontFilter;
- /* Notification related */
- typedef struct ATSFontNotificationRef_* ATSFontNotificationRef;
- typedef struct ATSFontNotificationInfoRef_* ATSFontNotificationInfoRef;
-
- /*
- * ATSFontNotifyOption
- *
- * Discussion:
- * Options used with ATSFontNotificationSubscribe. Any of the
- * options that follow may be used together in order to alter the
- * default behavior of ATS notifications.
- */
- enum ATSFontNotifyOption
- {
-
- /*
- * Default behavior of ATSFontNotificationSubscribe.
- */
- kATSFontNotifyOptionDefault = 0,
-
- /*
- * Normally applications will only receive ATS notifications while in
- * the foreground. If suspended, the notification will be delivered
- * when then application comes to the foreground. This is the
- * default. You should set this option if you are a server or tool
- * that performs font management functions and require immediate
- * notification when something changes.
- */
- kATSFontNotifyOptionReceiveWhileSuspended = 1L << 0
- };
- typedef enum ATSFontNotifyOption ATSFontNotifyOption;
-
-
-
-
- /*
- * ATSFontNotifyAction
- *
- * Discussion:
- * Used with ATSFontNotify. The following is a list of actions you
- * might wish the ATS server to perform and notify clients if
- * appropriate.
- */
- enum ATSFontNotifyAction
- {
-
- /*
- * Used after a batch (de)activation of fonts occurs. Typically the
- * caller has exercised multiple global (De)Activation calls with the
- * kATSOptionFlagsDoNotNotify set. Once all calls are completed, one
- * may use ATSFontNotify with this action to ask ATS to notify all
- * clients.
- */
- kATSFontNotifyActionFontsChanged = 1,
-
- /*
- * The ATS system with the help of the Finder keeps track of changes
- * to any of the fonts directories ( System, Local, Network, User, &
- * Classic). However, one may wish to add/remove fonts to these
- * locations programmatically. This action is used to let ATS
- * server to rescan these directories and post notifications if
- * necessary.
- */
- kATSFontNotifyActionDirectoriesChanged = 2
- };
- typedef enum ATSFontNotifyAction ATSFontNotifyAction;
-
-
-
- /*
- * ATSNotificationCallback
- *
- * Discussion:
- * Callback delivered for ATS notifications.
- *
- * Parameters:
- *
- * info:
- * Parameter is placed here for future improvements. Initially
- * the contents of this parameter will be NULL.
- *
- * refCon:
- * User data/state to be supplied to callback function
- */
- typedef CALLBACK_API_C(void , ATSNotificationCallback)(ATSFontNotificationInfoRef info, void *refCon);
- /* ----------------------------------------------------------------------------------------- */
- /* Font container */
- /* ----------------------------------------------------------------------------------------- */
- /*
- * ATSGetGeneration()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSGeneration)
- ATSGetGeneration(void);
-
-
- /*
- * ATSFontActivateFromFileSpecification()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontActivateFromFileSpecification(
- const FSSpec * iFile,
- ATSFontContext iContext,
- ATSFontFormat iFormat,
- void * iReserved,
- ATSOptionFlags iOptions,
- ATSFontContainerRef * oContainer);
-
-
- /*
- * ATSFontActivateFromMemory()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontActivateFromMemory(
- LogicalAddress iData,
- ByteCount iLength,
- ATSFontContext iContext,
- ATSFontFormat iFormat,
- void * iReserved,
- ATSOptionFlags iOptions,
- ATSFontContainerRef * oContainer);
-
-
- /*
- * ATSFontDeactivate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontDeactivate(
- ATSFontContainerRef iContainer,
- void * iRefCon,
- ATSOptionFlags iOptions);
-
-
- /* ----------------------------------------------------------------------------------------- */
- /* Font family */
- /* ----------------------------------------------------------------------------------------- */
- /*
- * ATSFontFamilyApplyFunction()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontFamilyApplyFunction(
- ATSFontFamilyApplierFunction iFunction,
- void * iRefCon);
-
-
- /*
- * ATSFontFamilyIteratorCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontFamilyIteratorCreate(
- ATSFontContext iContext,
- const ATSFontFilter * iFilter, /* can be NULL */
- void * iRefCon,
- ATSOptionFlags iOptions,
- ATSFontFamilyIterator * ioIterator);
-
-
- /*
- * ATSFontFamilyIteratorRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontFamilyIteratorRelease(ATSFontFamilyIterator * ioIterator);
-
-
- /*
- * ATSFontFamilyIteratorReset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontFamilyIteratorReset(
- ATSFontContext iContext,
- const ATSFontFilter * iFilter, /* can be NULL */
- void * iRefCon,
- ATSOptionFlags iOptions,
- ATSFontFamilyIterator * ioIterator);
-
-
- /*
- * ATSFontFamilyIteratorNext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontFamilyIteratorNext(
- ATSFontFamilyIterator iIterator,
- ATSFontFamilyRef * oFamily);
-
-
- /*
- * ATSFontFamilyFindFromName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSFontFamilyRef)
- ATSFontFamilyFindFromName(
- CFStringRef iName,
- ATSOptionFlags iOptions);
-
-
- /*
- * ATSFontFamilyGetGeneration()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSGeneration)
- ATSFontFamilyGetGeneration(ATSFontFamilyRef iFamily);
-
-
- /*
- * ATSFontFamilyGetName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontFamilyGetName(
- ATSFontFamilyRef iFamily,
- ATSOptionFlags iOptions,
- CFStringRef * oName);
-
-
- /*
- * ATSFontFamilyGetEncoding()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TextEncoding)
- ATSFontFamilyGetEncoding(ATSFontFamilyRef iFamily);
-
-
- /* ----------------------------------------------------------------------------------------- */
- /* Font */
- /* ----------------------------------------------------------------------------------------- */
- /*
- * ATSFontApplyFunction()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontApplyFunction(
- ATSFontApplierFunction iFunction,
- void * iRefCon);
-
-
- /*
- * ATSFontIteratorCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontIteratorCreate(
- ATSFontContext iContext,
- const ATSFontFilter * iFilter, /* can be NULL */
- void * iRefCon,
- ATSOptionFlags iOptions,
- ATSFontIterator * ioIterator);
-
-
- /*
- * ATSFontIteratorRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontIteratorRelease(ATSFontIterator * ioIterator);
-
-
- /*
- * ATSFontIteratorReset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontIteratorReset(
- ATSFontContext iContext,
- const ATSFontFilter * iFilter, /* can be NULL */
- void * iRefCon,
- ATSOptionFlags iOptions,
- ATSFontIterator * ioIterator);
-
-
- /*
- * ATSFontIteratorNext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontIteratorNext(
- ATSFontIterator iIterator,
- ATSFontRef * oFont);
-
-
- /*
- * ATSFontFindFromName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSFontRef)
- ATSFontFindFromName(
- CFStringRef iName,
- ATSOptionFlags iOptions);
-
-
- /*
- * ATSFontFindFromPostScriptName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSFontRef)
- ATSFontFindFromPostScriptName(
- CFStringRef iName,
- ATSOptionFlags iOptions);
-
-
- /*
- * ATSFontFindFromContainer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontFindFromContainer(
- ATSFontContainerRef iContainer,
- ATSOptionFlags iOptions,
- ItemCount iCount,
- ATSFontRef ioArray[],
- ItemCount * oCount);
-
-
- /*
- * ATSFontGetGeneration()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSGeneration)
- ATSFontGetGeneration(ATSFontRef iFont);
-
-
- /*
- * ATSFontGetName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontGetName(
- ATSFontRef iFont,
- ATSOptionFlags iOptions,
- CFStringRef * oName);
-
-
- /*
- * ATSFontGetPostScriptName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontGetPostScriptName(
- ATSFontRef iFont,
- ATSOptionFlags iOptions,
- CFStringRef * oName);
-
-
- /*
- * ATSFontGetTableDirectory()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontGetTableDirectory(
- ATSFontRef iFont,
- ByteCount iBufferSize,
- void * ioBuffer,
- ByteCount * oSize); /* can be NULL */
-
-
- /*
- * ATSFontGetTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontGetTable(
- ATSFontRef iFont,
- FourCharCode iTag,
- ByteOffset iOffset,
- ByteCount iBufferSize,
- void * ioBuffer,
- ByteCount * oSize); /* can be NULL */
-
-
- /*
- * ATSFontGetHorizontalMetrics()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontGetHorizontalMetrics(
- ATSFontRef iFont,
- ATSOptionFlags iOptions,
- ATSFontMetrics * oMetrics);
-
-
- /*
- * ATSFontGetVerticalMetrics()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontGetVerticalMetrics(
- ATSFontRef iFont,
- ATSOptionFlags iOptions,
- ATSFontMetrics * oMetrics);
-
-
- /* ----------------------------------------------------------------------------------------- */
- /* Compatibility */
- /* ----------------------------------------------------------------------------------------- */
- /*
- * ATSFontFamilyFindFromQuickDrawName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSFontFamilyRef)
- ATSFontFamilyFindFromQuickDrawName(ConstStr255Param iName);
-
-
- /*
- * ATSFontFamilyGetQuickDrawName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontFamilyGetQuickDrawName(
- ATSFontFamilyRef iFamily,
- Str255 oName);
-
-
- /*
- * ATSFontGetFileSpecification()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontGetFileSpecification(
- ATSFontRef iFont,
- FSSpec * oFile);
-
-
- /*
- * ATSFontGetFontFamilyResource()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontGetFontFamilyResource(
- ATSFontRef iFont,
- ByteCount iBufferSize,
- void * ioBuffer,
- ByteCount * oSize); /* can be NULL */
-
-
-
-
- /* ----------------------------------------------------------------------------------------- */
- /* Notification */
- /* ----------------------------------------------------------------------------------------- */
- /*
- * ATSFontNotify()
- *
- * Summary:
- * Used to alert ATS that an action which may require notification
- * to clients has occurred.
- *
- * Parameters:
- *
- * action:
- * Action that should be taken by the ATS Server
- *
- * info:
- * Any required or optional information that may be required by
- * the action taken.
- *
- * Result:
- * noErr Action successfully reported paramErr Invalid action passed
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontNotify(
- ATSFontNotifyAction action,
- void * info); /* can be NULL */
-
-
-
- /*
- * ATSFontNotificationSubscribe()
- *
- * Summary:
- * Ask the ATS System to notify caller when certain events have
- * occurred. Note that your application must have a CFRunLoop in
- * order to receive notifications. Any Appkit or Carbon event loop
- * based application will have one by default.
- *
- * Parameters:
- *
- * callback:
- * Function that will be called by the ATS system whenever an
- * event of interest takes place.
- *
- * options:
- * Set the wanted ATSFontNotificationOptions to modify the default
- * behavior of ATS Notifications.
- *
- * iRefcon:
- * User data/state which will be passed to the callback funtion
- *
- * oNotificationRef:
- * You may use this reference to un-subscribe to this notification.
- *
- * Result:
- * noErr Subscribed successfully paramErr NULL callback was passed.
- * memFullErr Could not allocate enough memory for internal data
- * structures.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontNotificationSubscribe(
- ATSNotificationCallback callback,
- ATSFontNotifyOption options,
- void * iRefcon, /* can be NULL */
- ATSFontNotificationRef * oNotificationRef); /* can be NULL */
-
-
-
- /*
- * ATSFontNotificationUnsubscribe()
- *
- * Summary:
- * Release subscription and stop receiving notifications for a given
- * reference.
- *
- * Parameters:
- *
- * notificationRef:
- * Notification reference for which you want to stop receiving
- * notifications. Note, if more than one notification has been
- * requested of ATS, you will still receive notifications on those
- * requests.
- *
- * Result:
- * noErr Unsubscribed successfully paramErr NULL/invalid
- * notificationRef passed
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSFontNotificationUnsubscribe(ATSFontNotificationRef notificationRef);
-
-
-
- /* ----------------------------------------------------------------------------------------- */
- /* Font query message hooks */
- /* ----------------------------------------------------------------------------------------- */
-
- /*
- * ATSFontQuerySourceContext
- *
- * Summary:
- * A parameter block for client information to be retained by ATS
- * and passed back to an ATSFontQueryCallback function.
- */
- struct ATSFontQuerySourceContext
- {
-
- /*
- * A 32-bit unsigned integer that indicates the version of this
- * structure. This should be set to 0.
- */
- UInt32 version;
-
- /*
- * A pointer-sized client datum that should be passed back to an
- * ATSFontQueryCallback function.
- */
- void * refCon;
-
- /*
- * The callback used to add a retain to the refCon.
- */
- CFAllocatorRetainCallBack retain;
-
- /*
- * The callback used to remove a retain to the refCon.
- */
- CFAllocatorReleaseCallBack release;
- };
- typedef struct ATSFontQuerySourceContext ATSFontQuerySourceContext;
-
- /*
- * ATSFontQueryMessageID
- *
- * Discussion:
- * Constants for ATS font query message types.
- */
- enum ATSFontQueryMessageID
- {
-
- /*
- * The message ID for a font request query. The data for a message
- * with this ID is a flattened CFDictionaryRef with keys and values
- * as decribed below. A query dictionary may have any or all of these
- * entries.
- */
- kATSQueryActivateFontMessage = FOUR_CHAR_CODE('atsa')
- };
- typedef enum ATSFontQueryMessageID ATSFontQueryMessageID;
-
-
- /*
- * ATSFontQueryCallback
- *
- * Summary:
- * Callback for receiving font-related queries from ATS.
- *
- * Parameters:
- *
- * msgid:
- * An ATSFontQueryMessageID that identifies the message type.
- *
- * data:
- * A CFPropertyListRef that represents the query. The content is
- * message type-specific.
- *
- * refCon:
- * A pointer-sized client datum that was optionally provided to
- * ATSCreateFontQueryRunLoopSource.
- *
- * Result:
- * A CFPropertyListRef that represents the message type-specific
- * response to the query. May be NULL.
- */
- typedef CALLBACK_API_C(CFPropertyListRef , ATSFontQueryCallback)(ATSFontQueryMessageID msgid, CFPropertyListRef data, void *refCon);
- /*
- * ATSCreateFontQueryRunLoopSource()
- *
- * Summary:
- * Creates a CFRunLoopSourceRef that will be used to convey font
- * queries from ATS.
- *
- * Parameters:
- *
- * queryOrder:
- * A CFIndex that specifies the priority of this query receiver
- * relative to others. When ATS makes a font query, it will send
- * the query to each receiver in priority order, from highest to
- * lowest. "Normal" priority is 0.
- *
- * sourceOrder:
- * The order of the created run loop source.
- *
- * callout:
- * A function pointer of type ATSFontQueryCallback that will be
- * called to process a font query.
- *
- * context:
- * An ATSFontQuerySourceContext parameter block that provides a
- * pointer-sized client datum which will be retained by ATS and
- * passed to the callout function. May be NULL.
- *
- * Result:
- * A CFRunLoopSourceRef. To stop receiving queries, invalidate this
- * run loop source.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFRunLoopSourceRef)
- ATSCreateFontQueryRunLoopSource(
- CFIndex queryOrder,
- CFIndex sourceOrder,
- ATSFontQueryCallback callout,
- const ATSFontQuerySourceContext * context); /* can be NULL */
-
-
- /* ----------------------------------------------------------------------------------------- */
- /* Font request query message content */
- /* ----------------------------------------------------------------------------------------- */
- /* Keys in a font request query dictionary. */
- /* These keys appear in the dictionary for a kATSQueryActivateFontMessage query. */
-
- /*
- * kATSQueryClientPID
- *
- * Discussion:
- * The process ID of the application making the query. The
- * corresponding value is a CFNumberRef that contains a pid_t.
- */
+enum {
+ kATSOptionFlagsDefault = kNilOptions,
+ kATSOptionFlagsComposeFontPostScriptName = 1 << 0, /* ATSFontGetPostScriptName */
+ kATSOptionFlagsUseDataForkAsResourceFork = 1 << 8, /* ATSFontActivateFromFileSpecification */
+ kATSOptionFlagsUseResourceFork = 2 << 8,
+ kATSOptionFlagsUseDataFork = 3 << 8
+};
+
+enum {
+ kATSIterationCompleted = -980L,
+ kATSInvalidFontFamilyAccess = -981L,
+ kATSInvalidFontAccess = -982L,
+ kATSIterationScopeModified = -983L,
+ kATSInvalidFontTableAccess = -984L,
+ kATSInvalidFontContainerAccess = -985L
+};
+
+/* Activation Option Flags */
+typedef UInt32 ATSFontContext;
+enum {
+ kATSFontContextUnspecified = 0,
+ kATSFontContextGlobal = 1,
+ kATSFontContextLocal = 2
+};
+
+enum {
+ kATSOptionFlagsDoNotNotify = 0x00000001 << 8, /* Do not notify after global activation/deactivation */
+ kATSOptionFlagsIterationScopeMask = 0x00000007 << 12, /* Mask option bits 12-14 for iteration scopes */
+ kATSOptionFlagsDefaultScope = 0x00000000 << 12,
+ kATSOptionFlagsUnRestrictedScope = 0x00000001 << 12,
+ kATSOptionFlagsRestrictedScope = 0x00000002 << 12,
+ kATSOptionFlagsProcessSubdirectories = 0x00000001 << 6
+};
+
+/* Iteration Option Flags */
+enum {
+ kATSOptionFlagsIterateByPrecedenceMask = 0x00000001 << 5
+};
+
+typedef UInt32 ATSFontFormat;
+enum {
+ kATSFontFormatUnspecified = 0
+};
+
+typedef CALLBACK_API_C( OSStatus , ATSFontFamilyApplierFunction )(ATSFontFamilyRef iFamily, void *iRefCon);
+typedef CALLBACK_API_C( OSStatus , ATSFontApplierFunction )(ATSFontRef iFont, void *iRefCon);
+typedef struct ATSFontFamilyIterator_* ATSFontFamilyIterator;
+typedef struct ATSFontIterator_* ATSFontIterator;
+enum {
+ kATSFontFilterCurrentVersion = 0
+};
+
+enum ATSFontFilterSelector {
+ kATSFontFilterSelectorUnspecified = 0,
+ kATSFontFilterSelectorGeneration = 3,
+ kATSFontFilterSelectorFontFamily = 7,
+ kATSFontFilterSelectorFontFamilyApplierFunction = 8,
+ kATSFontFilterSelectorFontApplierFunction = 9
+};
+typedef enum ATSFontFilterSelector ATSFontFilterSelector;
+
+struct ATSFontFilter {
+ UInt32 version;
+ ATSFontFilterSelector filterSelector;
+ union {
+ ATSGeneration generationFilter;
+ ATSFontFamilyRef fontFamilyFilter;
+ ATSFontFamilyApplierFunction fontFamilyApplierFunctionFilter;
+ ATSFontApplierFunction fontApplierFunctionFilter;
+ } filter;
+};
+typedef struct ATSFontFilter ATSFontFilter;
+/* Notification related */
+typedef struct ATSFontNotificationRef_* ATSFontNotificationRef;
+typedef struct ATSFontNotificationInfoRef_* ATSFontNotificationInfoRef;
+
+/*
+ * ATSFontNotifyOption
+ *
+ * Discussion:
+ * Options used with ATSFontNotificationSubscribe. Any of the
+ * options that follow may be used together in order to alter the
+ * default behavior of ATS notifications.
+ */
+enum ATSFontNotifyOption {
+
+ /*
+ * Default behavior of ATSFontNotificationSubscribe.
+ */
+ kATSFontNotifyOptionDefault = 0,
+
+ /*
+ * Normally applications will only receive ATS notifications while in
+ * the foreground. If suspended, the notification will be delivered
+ * when then application comes to the foreground. This is the
+ * default. You should set this option if you are a server or tool
+ * that performs font management functions and require immediate
+ * notification when something changes.
+ */
+ kATSFontNotifyOptionReceiveWhileSuspended = 1L << 0
+};
+typedef enum ATSFontNotifyOption ATSFontNotifyOption;
+
+
+
+
+/*
+ * ATSFontNotifyAction
+ *
+ * Discussion:
+ * Used with ATSFontNotify. The following is a list of actions you
+ * might wish the ATS server to perform and notify clients if
+ * appropriate.
+ */
+enum ATSFontNotifyAction {
+
+ /*
+ * Used after a batch (de)activation of fonts occurs. Typically the
+ * caller has exercised multiple global (De)Activation calls with the
+ * kATSOptionFlagsDoNotNotify set. Once all calls are completed, one
+ * may use ATSFontNotify with this action to ask ATS to notify all
+ * clients.
+ */
+ kATSFontNotifyActionFontsChanged = 1,
+
+ /*
+ * The ATS system with the help of the Finder keeps track of changes
+ * to any of the fonts directories ( System, Local, Network, User, &
+ * Classic). However, one may wish to add/remove fonts to these
+ * locations programmatically. This action is used to let ATS
+ * server to rescan these directories and post notifications if
+ * necessary.
+ */
+ kATSFontNotifyActionDirectoriesChanged = 2
+};
+typedef enum ATSFontNotifyAction ATSFontNotifyAction;
+
+
+
+/*
+ * ATSNotificationCallback
+ *
+ * Discussion:
+ * Callback delivered for ATS notifications.
+ *
+ * Parameters:
+ *
+ * info:
+ * Parameter is placed here for future improvements. Initially
+ * the contents of this parameter will be NULL.
+ *
+ * refCon:
+ * User data/state to be supplied to callback function
+ */
+typedef CALLBACK_API_C( void , ATSNotificationCallback )(ATSFontNotificationInfoRef info, void *refCon);
+/* ----------------------------------------------------------------------------------------- */
+/* Font container */
+/* ----------------------------------------------------------------------------------------- */
+/*
+ * ATSGetGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSGeneration )
+ATSGetGeneration(void);
+
+
+/*
+ * ATSFontActivateFromFileSpecification()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontActivateFromFileSpecification(
+ const FSSpec * iFile,
+ ATSFontContext iContext,
+ ATSFontFormat iFormat,
+ void * iReserved,
+ ATSOptionFlags iOptions,
+ ATSFontContainerRef * oContainer);
+
+
+/*
+ * ATSFontActivateFromMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontActivateFromMemory(
+ LogicalAddress iData,
+ ByteCount iLength,
+ ATSFontContext iContext,
+ ATSFontFormat iFormat,
+ void * iReserved,
+ ATSOptionFlags iOptions,
+ ATSFontContainerRef * oContainer);
+
+
+/*
+ * ATSFontDeactivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontDeactivate(
+ ATSFontContainerRef iContainer,
+ void * iRefCon,
+ ATSOptionFlags iOptions);
+
+
+/* ----------------------------------------------------------------------------------------- */
+/* Font family */
+/* ----------------------------------------------------------------------------------------- */
+/*
+ * ATSFontFamilyApplyFunction()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontFamilyApplyFunction(
+ ATSFontFamilyApplierFunction iFunction,
+ void * iRefCon);
+
+
+/*
+ * ATSFontFamilyIteratorCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontFamilyIteratorCreate(
+ ATSFontContext iContext,
+ const ATSFontFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ ATSOptionFlags iOptions,
+ ATSFontFamilyIterator * ioIterator);
+
+
+/*
+ * ATSFontFamilyIteratorRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontFamilyIteratorRelease(ATSFontFamilyIterator * ioIterator);
+
+
+/*
+ * ATSFontFamilyIteratorReset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontFamilyIteratorReset(
+ ATSFontContext iContext,
+ const ATSFontFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ ATSOptionFlags iOptions,
+ ATSFontFamilyIterator * ioIterator);
+
+
+/*
+ * ATSFontFamilyIteratorNext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontFamilyIteratorNext(
+ ATSFontFamilyIterator iIterator,
+ ATSFontFamilyRef * oFamily);
+
+
+/*
+ * ATSFontFamilyFindFromName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSFontFamilyRef )
+ATSFontFamilyFindFromName(
+ CFStringRef iName,
+ ATSOptionFlags iOptions);
+
+
+/*
+ * ATSFontFamilyGetGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSGeneration )
+ATSFontFamilyGetGeneration(ATSFontFamilyRef iFamily);
+
+
+/*
+ * ATSFontFamilyGetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontFamilyGetName(
+ ATSFontFamilyRef iFamily,
+ ATSOptionFlags iOptions,
+ CFStringRef * oName);
+
+
+/*
+ * ATSFontFamilyGetEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TextEncoding )
+ATSFontFamilyGetEncoding(ATSFontFamilyRef iFamily);
+
+
+/* ----------------------------------------------------------------------------------------- */
+/* Font */
+/* ----------------------------------------------------------------------------------------- */
+/*
+ * ATSFontApplyFunction()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontApplyFunction(
+ ATSFontApplierFunction iFunction,
+ void * iRefCon);
+
+
+/*
+ * ATSFontIteratorCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontIteratorCreate(
+ ATSFontContext iContext,
+ const ATSFontFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ ATSOptionFlags iOptions,
+ ATSFontIterator * ioIterator);
+
+
+/*
+ * ATSFontIteratorRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontIteratorRelease(ATSFontIterator * ioIterator);
+
+
+/*
+ * ATSFontIteratorReset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontIteratorReset(
+ ATSFontContext iContext,
+ const ATSFontFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ ATSOptionFlags iOptions,
+ ATSFontIterator * ioIterator);
+
+
+/*
+ * ATSFontIteratorNext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontIteratorNext(
+ ATSFontIterator iIterator,
+ ATSFontRef * oFont);
+
+
+/*
+ * ATSFontFindFromName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSFontRef )
+ATSFontFindFromName(
+ CFStringRef iName,
+ ATSOptionFlags iOptions);
+
+
+/*
+ * ATSFontFindFromPostScriptName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSFontRef )
+ATSFontFindFromPostScriptName(
+ CFStringRef iName,
+ ATSOptionFlags iOptions);
+
+
+/*
+ * ATSFontFindFromContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontFindFromContainer(
+ ATSFontContainerRef iContainer,
+ ATSOptionFlags iOptions,
+ ItemCount iCount,
+ ATSFontRef ioArray[],
+ ItemCount * oCount);
+
+
+/*
+ * ATSFontGetGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSGeneration )
+ATSFontGetGeneration(ATSFontRef iFont);
+
+
+/*
+ * ATSFontGetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontGetName(
+ ATSFontRef iFont,
+ ATSOptionFlags iOptions,
+ CFStringRef * oName);
+
+
+/*
+ * ATSFontGetPostScriptName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontGetPostScriptName(
+ ATSFontRef iFont,
+ ATSOptionFlags iOptions,
+ CFStringRef * oName);
+
+
+/*
+ * ATSFontGetTableDirectory()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontGetTableDirectory(
+ ATSFontRef iFont,
+ ByteCount iBufferSize,
+ void * ioBuffer,
+ ByteCount * oSize); /* can be NULL */
+
+
+/*
+ * ATSFontGetTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontGetTable(
+ ATSFontRef iFont,
+ FourCharCode iTag,
+ ByteOffset iOffset,
+ ByteCount iBufferSize,
+ void * ioBuffer,
+ ByteCount * oSize); /* can be NULL */
+
+
+/*
+ * ATSFontGetHorizontalMetrics()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontGetHorizontalMetrics(
+ ATSFontRef iFont,
+ ATSOptionFlags iOptions,
+ ATSFontMetrics * oMetrics);
+
+
+/*
+ * ATSFontGetVerticalMetrics()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontGetVerticalMetrics(
+ ATSFontRef iFont,
+ ATSOptionFlags iOptions,
+ ATSFontMetrics * oMetrics);
+
+
+/* ----------------------------------------------------------------------------------------- */
+/* Compatibility */
+/* ----------------------------------------------------------------------------------------- */
+/*
+ * ATSFontFamilyFindFromQuickDrawName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSFontFamilyRef )
+ATSFontFamilyFindFromQuickDrawName(ConstStr255Param iName);
+
+
+/*
+ * ATSFontFamilyGetQuickDrawName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontFamilyGetQuickDrawName(
+ ATSFontFamilyRef iFamily,
+ Str255 oName);
+
+
+/*
+ * ATSFontGetFileSpecification()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontGetFileSpecification(
+ ATSFontRef iFont,
+ FSSpec * oFile);
+
+
+/*
+ * ATSFontGetFontFamilyResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontGetFontFamilyResource(
+ ATSFontRef iFont,
+ ByteCount iBufferSize,
+ void * ioBuffer,
+ ByteCount * oSize); /* can be NULL */
+
+
+
+
+/* ----------------------------------------------------------------------------------------- */
+/* Notification */
+/* ----------------------------------------------------------------------------------------- */
+/*
+ * ATSFontNotify()
+ *
+ * Summary:
+ * Used to alert ATS that an action which may require notification
+ * to clients has occurred.
+ *
+ * Parameters:
+ *
+ * action:
+ * Action that should be taken by the ATS Server
+ *
+ * info:
+ * Any required or optional information that may be required by
+ * the action taken.
+ *
+ * Result:
+ * noErr Action successfully reported paramErr Invalid action passed
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontNotify(
+ ATSFontNotifyAction action,
+ void * info); /* can be NULL */
+
+
+
+/*
+ * ATSFontNotificationSubscribe()
+ *
+ * Summary:
+ * Ask the ATS System to notify caller when certain events have
+ * occurred. Note that your application must have a CFRunLoop in
+ * order to receive notifications. Any Appkit or Carbon event loop
+ * based application will have one by default.
+ *
+ * Parameters:
+ *
+ * callback:
+ * Function that will be called by the ATS system whenever an
+ * event of interest takes place.
+ *
+ * options:
+ * Set the wanted ATSFontNotificationOptions to modify the default
+ * behavior of ATS Notifications.
+ *
+ * iRefcon:
+ * User data/state which will be passed to the callback funtion
+ *
+ * oNotificationRef:
+ * You may use this reference to un-subscribe to this notification.
+ *
+ * Result:
+ * noErr Subscribed successfully paramErr NULL callback was passed.
+ * memFullErr Could not allocate enough memory for internal data
+ * structures.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontNotificationSubscribe(
+ ATSNotificationCallback callback,
+ ATSFontNotifyOption options,
+ void * iRefcon, /* can be NULL */
+ ATSFontNotificationRef * oNotificationRef); /* can be NULL */
+
+
+
+/*
+ * ATSFontNotificationUnsubscribe()
+ *
+ * Summary:
+ * Release subscription and stop receiving notifications for a given
+ * reference.
+ *
+ * Parameters:
+ *
+ * notificationRef:
+ * Notification reference for which you want to stop receiving
+ * notifications. Note, if more than one notification has been
+ * requested of ATS, you will still receive notifications on those
+ * requests.
+ *
+ * Result:
+ * noErr Unsubscribed successfully paramErr NULL/invalid
+ * notificationRef passed
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSFontNotificationUnsubscribe(ATSFontNotificationRef notificationRef);
+
+
+
+/* ----------------------------------------------------------------------------------------- */
+/* Font query message hooks */
+/* ----------------------------------------------------------------------------------------- */
+
+/*
+ * ATSFontQuerySourceContext
+ *
+ * Summary:
+ * A parameter block for client information to be retained by ATS
+ * and passed back to an ATSFontQueryCallback function.
+ */
+struct ATSFontQuerySourceContext {
+
+ /*
+ * A 32-bit unsigned integer that indicates the version of this
+ * structure. This should be set to 0.
+ */
+ UInt32 version;
+
+ /*
+ * A pointer-sized client datum that should be passed back to an
+ * ATSFontQueryCallback function.
+ */
+ void * refCon;
+
+ /*
+ * The callback used to add a retain to the refCon.
+ */
+ CFAllocatorRetainCallBack retain;
+
+ /*
+ * The callback used to remove a retain to the refCon.
+ */
+ CFAllocatorReleaseCallBack release;
+};
+typedef struct ATSFontQuerySourceContext ATSFontQuerySourceContext;
+
+/*
+ * ATSFontQueryMessageID
+ *
+ * Discussion:
+ * Constants for ATS font query message types.
+ */
+enum ATSFontQueryMessageID {
+
+ /*
+ * The message ID for a font request query. The data for a message
+ * with this ID is a flattened CFDictionaryRef with keys and values
+ * as decribed below. A query dictionary may have any or all of these
+ * entries.
+ */
+ kATSQueryActivateFontMessage = FOUR_CHAR_CODE('atsa')
+};
+typedef enum ATSFontQueryMessageID ATSFontQueryMessageID;
+
+
+/*
+ * ATSFontQueryCallback
+ *
+ * Summary:
+ * Callback for receiving font-related queries from ATS.
+ *
+ * Parameters:
+ *
+ * msgid:
+ * An ATSFontQueryMessageID that identifies the message type.
+ *
+ * data:
+ * A CFPropertyListRef that represents the query. The content is
+ * message type-specific.
+ *
+ * refCon:
+ * A pointer-sized client datum that was optionally provided to
+ * ATSCreateFontQueryRunLoopSource.
+ *
+ * Result:
+ * A CFPropertyListRef that represents the message type-specific
+ * response to the query. May be NULL.
+ */
+typedef CALLBACK_API_C( CFPropertyListRef , ATSFontQueryCallback )(ATSFontQueryMessageID msgid, CFPropertyListRef data, void *refCon);
+/*
+ * ATSCreateFontQueryRunLoopSource()
+ *
+ * Summary:
+ * Creates a CFRunLoopSourceRef that will be used to convey font
+ * queries from ATS.
+ *
+ * Parameters:
+ *
+ * queryOrder:
+ * A CFIndex that specifies the priority of this query receiver
+ * relative to others. When ATS makes a font query, it will send
+ * the query to each receiver in priority order, from highest to
+ * lowest. "Normal" priority is 0.
+ *
+ * sourceOrder:
+ * The order of the created run loop source.
+ *
+ * callout:
+ * A function pointer of type ATSFontQueryCallback that will be
+ * called to process a font query.
+ *
+ * context:
+ * An ATSFontQuerySourceContext parameter block that provides a
+ * pointer-sized client datum which will be retained by ATS and
+ * passed to the callout function. May be NULL.
+ *
+ * Result:
+ * A CFRunLoopSourceRef. To stop receiving queries, invalidate this
+ * run loop source.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFRunLoopSourceRef )
+ATSCreateFontQueryRunLoopSource(
+ CFIndex queryOrder,
+ CFIndex sourceOrder,
+ ATSFontQueryCallback callout,
+ const ATSFontQuerySourceContext * context); /* can be NULL */
+
+
+/* ----------------------------------------------------------------------------------------- */
+/* Font request query message content */
+/* ----------------------------------------------------------------------------------------- */
+/* Keys in a font request query dictionary. */
+/* These keys appear in the dictionary for a kATSQueryActivateFontMessage query. */
+
+/*
+ * kATSQueryClientPID
+ *
+ * Discussion:
+ * The process ID of the application making the query. The
+ * corresponding value is a CFNumberRef that contains a pid_t.
+ */
#define kATSQueryClientPID CFSTR("ATS client pid")
- /*
- * kATSQueryQDFamilyName
- *
- * Discussion:
- * The Quickdraw-style family name of the font being requested, e.g.
- * the name passed to GetFNum. The corresponding value is a
- * CFStringRef.
- */
+/*
+ * kATSQueryQDFamilyName
+ *
+ * Discussion:
+ * The Quickdraw-style family name of the font being requested, e.g.
+ * the name passed to GetFNum. The corresponding value is a
+ * CFStringRef.
+ */
#define kATSQueryQDFamilyName CFSTR("font family name")
- /*
- * kATSQueryFontName
- *
- * Discussion:
- * The name of the font being requested. The corresponding value is
- * a CFStringRef suitable as an argument to ATSFontFindFromName().
- * This should match a candidate font's unique or full name.
- */
+/*
+ * kATSQueryFontName
+ *
+ * Discussion:
+ * The name of the font being requested. The corresponding value is
+ * a CFStringRef suitable as an argument to ATSFontFindFromName().
+ * This should match a candidate font's unique or full name.
+ */
#define kATSQueryFontName CFSTR("font name")
- /*
- * kATSQueryFontPostScriptName
- *
- * Discussion:
- * The PostScript name of the font being requested. The
- * corresponding value is a CFStringRef suitable as an argument to
- * ATSFontFindFromPostScriptName(). This should match either the
- * PostScript name derived from the font's FOND resource or its sfnt
- * name table, with preference given to the FOND PostScript name.
- */
+/*
+ * kATSQueryFontPostScriptName
+ *
+ * Discussion:
+ * The PostScript name of the font being requested. The
+ * corresponding value is a CFStringRef suitable as an argument to
+ * ATSFontFindFromPostScriptName(). This should match either the
+ * PostScript name derived from the font's FOND resource or its sfnt
+ * name table, with preference given to the FOND PostScript name.
+ */
#define kATSQueryFontPostScriptName CFSTR("font PS name")
- /*
- * kATSQueryFontNameTableEntries
- *
- * Discussion:
- * A descriptor for sfnt name table entries that the requested font
- * must have. The corresponding value is a CFArrayRef of
- * CFDictionaryRefs that describe name table entries. A font must
- * have all of the specified entries to be considered a match.
- */
+/*
+ * kATSQueryFontNameTableEntries
+ *
+ * Discussion:
+ * A descriptor for sfnt name table entries that the requested font
+ * must have. The corresponding value is a CFArrayRef of
+ * CFDictionaryRefs that describe name table entries. A font must
+ * have all of the specified entries to be considered a match.
+ */
#define kATSQueryFontNameTableEntries CFSTR("font name table entries")
- /* Keys in a font raw name descriptor dictionary. */
-
- /*
- * kATSFontNameTableCode
- *
- * Discussion:
- * The font name's name code. The corresponding value is a
- * CFNumberRef. If missing, assume kFontNoNameCode.
- */
+/* Keys in a font raw name descriptor dictionary. */
+
+/*
+ * kATSFontNameTableCode
+ *
+ * Discussion:
+ * The font name's name code. The corresponding value is a
+ * CFNumberRef. If missing, assume kFontNoNameCode.
+ */
#define kATSFontNameTableCode CFSTR("font name code")
- /*
- * kATSFontNameTablePlatform
- *
- * Discussion:
- * The font name's platform code. The corresponding value is a
- * CFNumberRef. If missing, assume kFontNoPlatformCode.
- */
+/*
+ * kATSFontNameTablePlatform
+ *
+ * Discussion:
+ * The font name's platform code. The corresponding value is a
+ * CFNumberRef. If missing, assume kFontNoPlatformCode.
+ */
#define kATSFontNameTablePlatform CFSTR("font platform code")
- /*
- * kATSFontNameTableScript
- *
- * Discussion:
- * The font name's script code. The corresponding value is a
- * CFNumberRef. If missing, assume kFontNoScriptCode.
- */
+/*
+ * kATSFontNameTableScript
+ *
+ * Discussion:
+ * The font name's script code. The corresponding value is a
+ * CFNumberRef. If missing, assume kFontNoScriptCode.
+ */
#define kATSFontNameTableScript CFSTR("font script code")
- /*
- * kATSFontNameTableLanguage
- *
- * Discussion:
- * The font name's language code. The corresponding value is a
- * CFNumberRef. If missing, assume kFontNoLanguageCode.
- */
+/*
+ * kATSFontNameTableLanguage
+ *
+ * Discussion:
+ * The font name's language code. The corresponding value is a
+ * CFNumberRef. If missing, assume kFontNoLanguageCode.
+ */
#define kATSFontNameTableLanguage CFSTR("font language code")
- /*
- * kATSFontNameTableBytes
- *
- * Discussion:
- * The raw bytes of the font name. The corresponding value is a
- * CFDataRef that contains the raw name bytes.
- */
+/*
+ * kATSFontNameTableBytes
+ *
+ * Discussion:
+ * The raw bytes of the font name. The corresponding value is a
+ * CFDataRef that contains the raw name bytes.
+ */
#define kATSFontNameTableBytes CFSTR("font name table bytes")
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __ATSFONT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __ATSFONT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__ATSFONT__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ATSLayoutTypes.h b/include/qt/ATSLayoutTypes.h
index 3899fd94f..645e8d0a0 100644
--- a/include/qt/ATSLayoutTypes.h
+++ b/include/qt/ATSLayoutTypes.h
@@ -1,17 +1,17 @@
/*
File: ATSLayoutTypes.h
-
+
Contains: Apple Type Services layout public structures and constants.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ATSLAYOUTTYPES__
#define __ATSLAYOUTTYPES__
@@ -44,671 +44,655 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* --------------------------------------------------------------------------- */
- /* 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 = (long)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 = (unsigned long)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 and passed
- * into the ATSLayoutText function for finer control over the line
- * layout.
- */
- 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 or CGContext settings.
- */
- kATSLineApplyAntiAliasing = 0x00000800,
-
- /*
- * Specifies that ATS turn-off antialiasing glyph imaging despite
- * system preferences or CGContext settings (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 through Quickdraw (default
- * rendering in ATSUI is through CoreGraphics on MacOSX).
- */
- 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,
-
- /*
- * These bits are reserved by Apple and will result in a invalid
- * value error if attemped to set. Obsolete constants:
- */
- kATSLineAppleReserved = (unsigned long)0xFEE00000
- };
-
- /* --------------------------------------------------------------------------- */
-
- /*
- * 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 CGContext settings.
- */
- kATSStyleApplyAntiAliasing = 0x00000002,
-
- /*
- * Specifies that ATS turn-off antialiasing glyph imaging despite
- * system preferences or CGContext settings (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 = (unsigned long)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 = (unsigned long)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];
- /* ---------------------------------------------------------------------------- */
-
- /*
- * 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 kATSULayoutOperationOverrideUPP 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, UInt32 iRefCon, void *iOperationCallbackParameterPtr, ATSULayoutOperationCallbackStatus *oCallbackStatus);
- typedef TVECTOR_UPP_TYPE(ATSUDirectLayoutOperationOverrideProcPtr) ATSUDirectLayoutOperationOverrideUPP;
- /*
- * NewATSUDirectLayoutOperationOverrideUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(ATSUDirectLayoutOperationOverrideUPP)
- NewATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideProcPtr userRoutine);
+/* --------------------------------------------------------------------------- */
+/* 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 = (long)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 = (unsigned long)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 and passed
+ * into the ATSLayoutText function for finer control over the line
+ * layout.
+ */
+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 or CGContext settings.
+ */
+ kATSLineApplyAntiAliasing = 0x00000800,
+
+ /*
+ * Specifies that ATS turn-off antialiasing glyph imaging despite
+ * system preferences or CGContext settings (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 through Quickdraw (default
+ * rendering in ATSUI is through CoreGraphics on MacOSX).
+ */
+ 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,
+
+ /*
+ * These bits are reserved by Apple and will result in a invalid
+ * value error if attemped to set. Obsolete constants:
+ */
+ kATSLineAppleReserved = (unsigned long)0xFEE00000
+};
+
+/* --------------------------------------------------------------------------- */
+
+/*
+ * 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 CGContext settings.
+ */
+ kATSStyleApplyAntiAliasing = 0x00000002,
+
+ /*
+ * Specifies that ATS turn-off antialiasing glyph imaging despite
+ * system preferences or CGContext settings (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 = (unsigned long)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 = (unsigned long)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];
+/* ---------------------------------------------------------------------------- */
+
+/*
+ * 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 kATSULayoutOperationOverrideUPP 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, UInt32 iRefCon, void *iOperationCallbackParameterPtr, ATSULayoutOperationCallbackStatus *oCallbackStatus);
+typedef TVECTOR_UPP_TYPE(ATSUDirectLayoutOperationOverrideProcPtr) ATSUDirectLayoutOperationOverrideUPP;
+/*
+ * NewATSUDirectLayoutOperationOverrideUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( ATSUDirectLayoutOperationOverrideUPP )
+NewATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSUDirectLayoutOperationOverrideProcInfo = 0x0000FFF1 }; /* 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSUDirectLayoutOperationOverrideUPP) NewATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSUDirectLayoutOperationOverrideUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSUDirectLayoutOperationOverrideProcInfo = 0x0000FFF1 }; /* 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSUDirectLayoutOperationOverrideUPP) NewATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSUDirectLayoutOperationOverrideUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeATSUDirectLayoutOperationOverrideUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- DisposeATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideUPP userUPP);
+/*
+ * DisposeATSUDirectLayoutOperationOverrideUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+DisposeATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideUPP) {}
-#else
-#define DisposeATSUDirectLayoutOperationOverrideUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSUDirectLayoutOperationOverrideUPP(ATSUDirectLayoutOperationOverrideUPP) {}
+ #else
+ #define DisposeATSUDirectLayoutOperationOverrideUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeATSUDirectLayoutOperationOverrideUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSUDirectLayoutOperationOverrideUPP(
- ATSULayoutOperationSelector iCurrentOperation,
- ATSULineRef iLineRef,
- UInt32 iRefCon,
- void * iOperationCallbackParameterPtr,
- ATSULayoutOperationCallbackStatus * oCallbackStatus,
- ATSUDirectLayoutOperationOverrideUPP userUPP);
+/*
+ * InvokeATSUDirectLayoutOperationOverrideUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSUDirectLayoutOperationOverrideUPP(
+ ATSULayoutOperationSelector iCurrentOperation,
+ ATSULineRef iLineRef,
+ UInt32 iRefCon,
+ void * iOperationCallbackParameterPtr,
+ ATSULayoutOperationCallbackStatus * oCallbackStatus,
+ ATSUDirectLayoutOperationOverrideUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSUDirectLayoutOperationOverrideUPP(ATSULayoutOperationSelector iCurrentOperation, ATSULineRef iLineRef, UInt32 iRefCon, void * iOperationCallbackParameterPtr, ATSULayoutOperationCallbackStatus * oCallbackStatus, ATSUDirectLayoutOperationOverrideUPP userUPP)
- {
- return (*userUPP)(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus);
- }
-#else
-#define InvokeATSUDirectLayoutOperationOverrideUPP(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus, userUPP) (*userUPP)(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSUDirectLayoutOperationOverrideUPP(ATSULayoutOperationSelector iCurrentOperation, ATSULineRef iLineRef, UInt32 iRefCon, void * iOperationCallbackParameterPtr, ATSULayoutOperationCallbackStatus * oCallbackStatus, ATSUDirectLayoutOperationOverrideUPP userUPP) { return (*userUPP)(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus); }
+ #else
+ #define InvokeATSUDirectLayoutOperationOverrideUPP(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus, userUPP) (*userUPP)(iCurrentOperation, iLineRef, iRefCon, iOperationCallbackParameterPtr, oCallbackStatus)
+ #endif
#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
- * kATSULayoutOperationOverrideUPP 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;
+/*
+ * 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
+ * kATSULayoutOperationOverrideUPP 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;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ATSTypes.h b/include/qt/ATSTypes.h
index 49d9748ea..0e893bf18 100644
--- a/include/qt/ATSTypes.h
+++ b/include/qt/ATSTypes.h
@@ -1,17 +1,17 @@
/*
File: ATSTypes.h
-
+
Contains: Public interfaces for Apple Type Services components.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ATSTYPES__
#define __ATSTYPES__
@@ -43,354 +43,316 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- 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 = 0L,
- kInvalidFontFamily = -1,
- kInvalidFont = 0L
- };
-
- enum
- {
- kFMCurrentFilterFormat = 0L
- };
-
- typedef UInt32 FMFilterSelector;
- enum
- {
- kFMFontTechnologyFilterSelector = 1L,
- kFMFontContainerFilterSelector = 2L,
- kFMGenerationFilterSelector = 3L,
- kFMFontFamilyCallbackFilterSelector = 4L,
- kFMFontCallbackFilterSelector = 5L,
- kFMFontDirectoryFilterSelector = 6L
- };
-
- enum
- {
- kFMTrueTypeFontTechnology = FOUR_CHAR_CODE('true'),
- kFMPostScriptFontTechnology = FOUR_CHAR_CODE('typ1')
- };
-
- 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:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FMFontFamilyCallbackFilterUPP)
- NewFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterProcPtr userRoutine);
+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 = 0L,
+ kInvalidFontFamily = -1,
+ kInvalidFont = 0L
+};
+
+enum {
+ kFMCurrentFilterFormat = 0L
+};
+
+typedef UInt32 FMFilterSelector;
+enum {
+ kFMFontTechnologyFilterSelector = 1L,
+ kFMFontContainerFilterSelector = 2L,
+ kFMGenerationFilterSelector = 3L,
+ kFMFontFamilyCallbackFilterSelector = 4L,
+ kFMFontCallbackFilterSelector = 5L,
+ kFMFontDirectoryFilterSelector = 6L
+};
+
+enum {
+ kFMTrueTypeFontTechnology = FOUR_CHAR_CODE('true'),
+ kFMPostScriptFontTechnology = FOUR_CHAR_CODE('typ1')
+};
+
+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:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FMFontFamilyCallbackFilterUPP )
+NewFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFMFontFamilyCallbackFilterProcInfo = 0x000003B0 }; /* pascal 4_bytes Func(2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FMFontFamilyCallbackFilterUPP) NewFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterProcPtr userRoutine)
- {
- return (FMFontFamilyCallbackFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFMFontFamilyCallbackFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewFMFontFamilyCallbackFilterUPP(userRoutine) (FMFontFamilyCallbackFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFMFontFamilyCallbackFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppFMFontFamilyCallbackFilterProcInfo = 0x000003B0 }; /* pascal 4_bytes Func(2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FMFontFamilyCallbackFilterUPP) NewFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterProcPtr userRoutine) { return (FMFontFamilyCallbackFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFMFontFamilyCallbackFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewFMFontFamilyCallbackFilterUPP(userRoutine) (FMFontFamilyCallbackFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFMFontFamilyCallbackFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewFMFontCallbackFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FMFontCallbackFilterUPP)
- NewFMFontCallbackFilterUPP(FMFontCallbackFilterProcPtr userRoutine);
+/*
+ * NewFMFontCallbackFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FMFontCallbackFilterUPP )
+NewFMFontCallbackFilterUPP(FMFontCallbackFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFMFontCallbackFilterProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FMFontCallbackFilterUPP) NewFMFontCallbackFilterUPP(FMFontCallbackFilterProcPtr userRoutine)
- {
- return (FMFontCallbackFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFMFontCallbackFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewFMFontCallbackFilterUPP(userRoutine) (FMFontCallbackFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFMFontCallbackFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppFMFontCallbackFilterProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FMFontCallbackFilterUPP) NewFMFontCallbackFilterUPP(FMFontCallbackFilterProcPtr userRoutine) { return (FMFontCallbackFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFMFontCallbackFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewFMFontCallbackFilterUPP(userRoutine) (FMFontCallbackFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFMFontCallbackFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeFMFontFamilyCallbackFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterUPP userUPP);
+/*
+ * DisposeFMFontFamilyCallbackFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeFMFontFamilyCallbackFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFMFontFamilyCallbackFilterUPP(FMFontFamilyCallbackFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeFMFontFamilyCallbackFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeFMFontCallbackFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeFMFontCallbackFilterUPP(FMFontCallbackFilterUPP userUPP);
+/*
+ * DisposeFMFontCallbackFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeFMFontCallbackFilterUPP(FMFontCallbackFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFMFontCallbackFilterUPP(FMFontCallbackFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeFMFontCallbackFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFMFontCallbackFilterUPP(FMFontCallbackFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeFMFontCallbackFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeFMFontFamilyCallbackFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeFMFontFamilyCallbackFilterUPP(
- FMFontFamily iFontFamily,
- void * iRefCon,
- FMFontFamilyCallbackFilterUPP userUPP);
+/*
+ * InvokeFMFontFamilyCallbackFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeFMFontFamilyCallbackFilterUPP(
+ FMFontFamily iFontFamily,
+ void * iRefCon,
+ FMFontFamilyCallbackFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeFMFontFamilyCallbackFilterUPP(FMFontFamily iFontFamily, void * iRefCon, FMFontFamilyCallbackFilterUPP userUPP)
- {
- return (OSStatus)CALL_TWO_PARAMETER_UPP(userUPP, uppFMFontFamilyCallbackFilterProcInfo, iFontFamily, iRefCon);
- }
-#else
-#define InvokeFMFontFamilyCallbackFilterUPP(iFontFamily, iRefCon, userUPP) (OSStatus)CALL_TWO_PARAMETER_UPP((userUPP), uppFMFontFamilyCallbackFilterProcInfo, (iFontFamily), (iRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeFMFontFamilyCallbackFilterUPP(FMFontFamily iFontFamily, void * iRefCon, FMFontFamilyCallbackFilterUPP userUPP) { return (OSStatus)CALL_TWO_PARAMETER_UPP(userUPP, uppFMFontFamilyCallbackFilterProcInfo, iFontFamily, iRefCon); }
+ #else
+ #define InvokeFMFontFamilyCallbackFilterUPP(iFontFamily, iRefCon, userUPP) (OSStatus)CALL_TWO_PARAMETER_UPP((userUPP), uppFMFontFamilyCallbackFilterProcInfo, (iFontFamily), (iRefCon))
+ #endif
#endif
- /*
- * InvokeFMFontCallbackFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeFMFontCallbackFilterUPP(
- FMFont iFont,
- void * iRefCon,
- FMFontCallbackFilterUPP userUPP);
+/*
+ * InvokeFMFontCallbackFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeFMFontCallbackFilterUPP(
+ FMFont iFont,
+ void * iRefCon,
+ FMFontCallbackFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeFMFontCallbackFilterUPP(FMFont iFont, void * iRefCon, FMFontCallbackFilterUPP userUPP)
- {
- return (OSStatus)CALL_TWO_PARAMETER_UPP(userUPP, uppFMFontCallbackFilterProcInfo, iFont, iRefCon);
- }
-#else
-#define InvokeFMFontCallbackFilterUPP(iFont, iRefCon, userUPP) (OSStatus)CALL_TWO_PARAMETER_UPP((userUPP), uppFMFontCallbackFilterProcInfo, (iFont), (iRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeFMFontCallbackFilterUPP(FMFont iFont, void * iRefCon, FMFontCallbackFilterUPP userUPP) { return (OSStatus)CALL_TWO_PARAMETER_UPP(userUPP, uppFMFontCallbackFilterProcInfo, iFont, iRefCon); }
+ #else
+ #define InvokeFMFontCallbackFilterUPP(iFont, iRefCon, userUPP) (OSStatus)CALL_TWO_PARAMETER_UPP((userUPP), uppFMFontCallbackFilterProcInfo, (iFont), (iRefCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewFMFontFamilyCallbackFilterProc(userRoutine) NewFMFontFamilyCallbackFilterUPP(userRoutine)
-#define NewFMFontCallbackFilterProc(userRoutine) NewFMFontCallbackFilterUPP(userRoutine)
-#define CallFMFontFamilyCallbackFilterProc(userRoutine, iFontFamily, iRefCon) InvokeFMFontFamilyCallbackFilterUPP(iFontFamily, iRefCon, userRoutine)
-#define CallFMFontCallbackFilterProc(userRoutine, iFont, iRefCon) InvokeFMFontCallbackFilterUPP(iFont, iRefCon, userRoutine)
+ #define NewFMFontFamilyCallbackFilterProc(userRoutine) NewFMFontFamilyCallbackFilterUPP(userRoutine)
+ #define NewFMFontCallbackFilterProc(userRoutine) NewFMFontCallbackFilterUPP(userRoutine)
+ #define CallFMFontFamilyCallbackFilterProc(userRoutine, iFontFamily, iRefCon) InvokeFMFontFamilyCallbackFilterUPP(iFontFamily, iRefCon, userRoutine)
+ #define CallFMFontCallbackFilterProc(userRoutine, iFont, iRefCon) InvokeFMFontCallbackFilterUPP(iFont, iRefCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- struct FMFontDirectoryFilter
- {
- SInt16 fontFolderDomain;
- UInt32 reserved[2];
- };
- typedef struct FMFontDirectoryFilter FMFontDirectoryFilter;
- struct FMFilter
- {
- UInt32 format;
- FMFilterSelector selector;
- union
- {
- FourCharCode fontTechnologyFilter;
- FSSpec fontContainerFilter;
- FMGeneration generationFilter;
- FMFontFamilyCallbackFilterUPP fontFamilyCallbackFilter;
- FMFontCallbackFilterUPP fontCallbackFilter;
- FMFontDirectoryFilter fontDirectoryFilter;
- } filter;
- };
- typedef struct FMFilter FMFilter;
-
- typedef OptionBits ATSOptionFlags;
- typedef UInt32 ATSGeneration;
- typedef UInt32 ATSFontContainerRef;
- typedef UInt32 ATSFontFamilyRef;
- typedef UInt32 ATSFontRef;
- typedef UInt16 ATSGlyphRef;
- typedef Float32 ATSFontSize;
- enum
- {
- kATSGenerationUnspecified = 0L,
- kATSFontContainerRefUnspecified = 0L,
- kATSFontFamilyRefUnspecified = 0L,
- kATSFontRefUnspecified = 0L
- };
-
- struct ATSFontMetrics
- {
- UInt32 version;
- Float32 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 */
- Float32 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 */
- Float32 leading; /* Desired spacing between lines of text */
- Float32 avgAdvanceWidth;
- Float32 maxAdvanceWidth; /* Maximum advance width or height of the glyphs in the font */
- Float32 minLeftSideBearing; /* Minimum left or top side bearing */
- Float32 minRightSideBearing; /* Minimum right or bottom side bearing */
- Float32 stemWidth; /* Width of the dominant vertical stems of the glyphs in the font */
- Float32 stemHeight; /* Vertical width of the dominant horizontal stems of glyphs in the font */
- Float32 capHeight; /* Height of a capital letter from the baseline to the top of the letter */
- Float32 xHeight; /* Height of lowercase characters in a font, specifically the letter x, excluding ascenders and descenders */
- Float32 italicAngle; /* Angle in degrees counterclockwise from the vertical of the dominant vertical strokes of the glyphs in the font */
- Float32 underlinePosition; /* Distance from the baseline for positioning underlining strokes */
- Float32 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];
- Float32Point vector[1];
- };
- typedef struct ATSUCurvePath ATSUCurvePath;
- struct ATSUCurvePaths
- {
- UInt32 contours;
- ATSUCurvePath contour[1];
- };
- typedef struct ATSUCurvePaths ATSUCurvePaths;
- /* Glyph ideal metrics */
- struct ATSGlyphIdealMetrics
- {
- Float32Point advance;
- Float32Point sideBearing;
- Float32Point otherSideBearing;
- };
- typedef struct ATSGlyphIdealMetrics ATSGlyphIdealMetrics;
- /* Glyph screen metrics */
- struct ATSGlyphScreenMetrics
- {
- Float32Point deviceAdvance;
- Float32Point topLeft;
- UInt32 height;
- UInt32 width;
- Float32Point sideBearing;
- Float32Point otherSideBearing;
- };
- typedef struct ATSGlyphScreenMetrics ATSGlyphScreenMetrics;
- /* Glyph References */
-
- typedef ATSGlyphRef GlyphID;
+struct FMFontDirectoryFilter {
+ SInt16 fontFolderDomain;
+ UInt32 reserved[2];
+};
+typedef struct FMFontDirectoryFilter FMFontDirectoryFilter;
+struct FMFilter {
+ UInt32 format;
+ FMFilterSelector selector;
+ union {
+ FourCharCode fontTechnologyFilter;
+ FSSpec fontContainerFilter;
+ FMGeneration generationFilter;
+ FMFontFamilyCallbackFilterUPP fontFamilyCallbackFilter;
+ FMFontCallbackFilterUPP fontCallbackFilter;
+ FMFontDirectoryFilter fontDirectoryFilter;
+ } filter;
+};
+typedef struct FMFilter FMFilter;
+
+typedef OptionBits ATSOptionFlags;
+typedef UInt32 ATSGeneration;
+typedef UInt32 ATSFontContainerRef;
+typedef UInt32 ATSFontFamilyRef;
+typedef UInt32 ATSFontRef;
+typedef UInt16 ATSGlyphRef;
+typedef Float32 ATSFontSize;
+enum {
+ kATSGenerationUnspecified = 0L,
+ kATSFontContainerRefUnspecified = 0L,
+ kATSFontFamilyRefUnspecified = 0L,
+ kATSFontRefUnspecified = 0L
+};
+
+struct ATSFontMetrics {
+ UInt32 version;
+ Float32 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 */
+ Float32 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 */
+ Float32 leading; /* Desired spacing between lines of text */
+ Float32 avgAdvanceWidth;
+ Float32 maxAdvanceWidth; /* Maximum advance width or height of the glyphs in the font */
+ Float32 minLeftSideBearing; /* Minimum left or top side bearing */
+ Float32 minRightSideBearing; /* Minimum right or bottom side bearing */
+ Float32 stemWidth; /* Width of the dominant vertical stems of the glyphs in the font */
+ Float32 stemHeight; /* Vertical width of the dominant horizontal stems of glyphs in the font */
+ Float32 capHeight; /* Height of a capital letter from the baseline to the top of the letter */
+ Float32 xHeight; /* Height of lowercase characters in a font, specifically the letter x, excluding ascenders and descenders */
+ Float32 italicAngle; /* Angle in degrees counterclockwise from the vertical of the dominant vertical strokes of the glyphs in the font */
+ Float32 underlinePosition; /* Distance from the baseline for positioning underlining strokes */
+ Float32 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];
+ Float32Point vector[1];
+};
+typedef struct ATSUCurvePath ATSUCurvePath;
+struct ATSUCurvePaths {
+ UInt32 contours;
+ ATSUCurvePath contour[1];
+};
+typedef struct ATSUCurvePaths ATSUCurvePaths;
+/* Glyph ideal metrics */
+struct ATSGlyphIdealMetrics {
+ Float32Point advance;
+ Float32Point sideBearing;
+ Float32Point otherSideBearing;
+};
+typedef struct ATSGlyphIdealMetrics ATSGlyphIdealMetrics;
+/* Glyph screen metrics */
+struct ATSGlyphScreenMetrics {
+ Float32Point deviceAdvance;
+ Float32Point topLeft;
+ UInt32 height;
+ UInt32 width;
+ Float32Point sideBearing;
+ Float32Point otherSideBearing;
+};
+typedef struct ATSGlyphScreenMetrics ATSGlyphScreenMetrics;
+/* Glyph References */
+
+typedef ATSGlyphRef GlyphID;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ATSUnicode.h b/include/qt/ATSUnicode.h
index 2ae0d9dae..6ef4e82ae 100644
--- a/include/qt/ATSUnicode.h
+++ b/include/qt/ATSUnicode.h
@@ -1,17 +1,17 @@
/*
File: ATSUnicode.h
-
+
Contains: Public interfaces for Apple Type Services for Unicode Imaging
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#include "MacTypes.h"
@@ -69,3054 +69,2983 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /********************************/
- /* Types and related constants */
- /********************************/
- /*
- UniCharArrayHandle and UniCharArrayOffset are defined in the
- TextCommon interface file.
- */
-
- /*
- ATSUTextMeasurement is specific to ATSUI in that measurement
- quantities are in fractional Fixed format instead of shorts
- used in QuickDraw Text. This provides exact outline metrics and
- line specifications such as line width, ascent, descent, and so on.
- */
- typedef Fixed ATSUTextMeasurement;
- /*
- ATSUFontID indicates a particular font family and face.
- ATSUFontID's are not guaranteed to remain constant across
- reboots. Clients should use the font's unique name to
- get a font token to store in documents which is
- guaranteed to remain constant across reboots.
- */
- typedef FMFont ATSUFontID;
- /*
- ATSUFontFeatureType and ATSUFontFeatureSelector are used
- to identify font features.
- */
- typedef UInt16 ATSUFontFeatureType;
- typedef UInt16 ATSUFontFeatureSelector;
- /*
- ATSUFontVariationAxis and ATSUFontVariationValue are used
- in connection with font variations.
- */
- typedef FourCharCode ATSUFontVariationAxis;
- typedef Fixed ATSUFontVariationValue;
- /*
- ATSUTextLayout is used to store the attribute information
- associated with a contiguous block of UniChar's (UInt16's)
- in memory. It's typed to be an opaque structure.
- */
- typedef struct OpaqueATSUTextLayout* ATSUTextLayout;
- /*
- ATSUStyle is used to store a set of individual attributes,
- font features, and font variations. It's typed to be
- an opaque structure.
- */
- typedef struct OpaqueATSUStyle* ATSUStyle;
- /*
- ATSUFontFallbacks is used to store the desired font fallback
- list and associated fallback cache information. It's typed
- to be an opaque structure.
- */
- typedef struct OpaqueATSUFontFallbacks* ATSUFontFallbacks;
- /*
- ATSUAttributeTag is used to indicate the particular type
- of attribute under consideration: font, size, color,
- and so on.
- Each style run may have at most one attribute with a
- given ATSUAttributeTag (i.e., a style run can't have
- more than one font or size) but may have none.
- Note: Apple reserves values 0 to 65,535 (0 to 0x0000FFFF).
- ATSUI clients may create their own tags with any other value.
- */
- typedef UInt32 ATSUAttributeTag;
- enum
- {
- /* Layout and Line Control Attribute Tags*/
- kATSULineWidthTag = 1L, /* Type: ATSUTextMeasurement >= 0*/
- /* Default value: 0*/
- kATSULineRotationTag = 2L, /* Type: Fixed (fixed value in degrees in right-handed coordinate system)*/
- /* Default value: 0*/
- kATSULineDirectionTag = 3L, /* Type: Boolean; values 0 or 1 (see below for value identities)*/
- /* Default value: GetSysDirection() ? kATSURightToLeftBaseDirection : kATSULeftToRightBaseDirection*/
- kATSULineJustificationFactorTag = 4L, /* Type: Fract between 0 and 1*/
- /* Default value: kATSUNoJustification*/
- kATSULineFlushFactorTag = 5L, /* Type: Fract between 0 and 1 */
- /* Default value: kATSUStartAlignment*/
- kATSULineBaselineValuesTag = 6L, /* Type: BslnBaselineRecord*/
- /* Default value: All zeros. Calculated from other style attributes (e.g., font and point size)*/
- kATSULineLayoutOptionsTag = 7L, /* Type: ATSLineLayoutOptions (see ATSLayoutTypes.h)*/
- /* Default value: kATSLineNoLayoutOptions - other options listed in ATSLayoutTypes.h*/
- kATSULineAscentTag = 8L, /* Type: ATSUTextMeasurement >= 0*/
- /* Default value: Maximum typographical ascent of all fonts used on line or textLayout*/
- kATSULineDescentTag = 9L, /* Type: ATSUTextMeasurement >= 0*/
- /* Default value: Maximum typographical descent+leading of all fonts used on line or textLayout*/
- kATSULineLangRegionTag = 10L, /* Type: RegionCode - region values listed in script.h interface file*/
- /* Default value: kTextRegionDontCare*/
- kATSULineTextLocatorTag = 11L, /* Type: TextBreakLocatorRef*/
- /* Default value: NULL - set Region derived locator or the default Text Utilities locator*/
- kATSULineTruncationTag = 12L, /* Type: ATSULineTruncation*/
- /* Default value: kATSUTruncateNone */
- kATSULineFontFallbacksTag = 13L, /* Type: ATSUFontFallbacks*/
- /* Default value: globally set font fallbacks using the ATSUSetFontFallbacks */
- kATSULayoutOperationOverrideTag = 15L, /* Type: ATSULayoutOperationOverrideSpecifier (MacOS 10.2 or later) */
- /* Default value: NULL*/
- kATSUMaxLineTag = 16L, /* This is just for convenience - the upper limit of the ATSUTextLayout attribute tags*/
- /* Obsolete layout tags */
- kATSULineLanguageTag = 10L, /* Use kATSULineLangRegionTag */
- /* Special layout tags */
- kATSUCGContextTag = 32767L, /* Type: CGContextRef (MacOS X systems only)*/
- /* Default value: NULL*/
- /* Run Style Attribute Tags*/
- /* QuickDraw compatibility tags */
- kATSUQDBoldfaceTag = 256L, /* Type: Boolean */
- /* Default value: false*/
- kATSUQDItalicTag = 257L, /* Type: Boolean */
- /* Default value: false*/
- kATSUQDUnderlineTag = 258L, /* Type: Boolean */
- /* Default value: false*/
- kATSUQDCondensedTag = 259L, /* Type: Boolean */
- /* Default value: false*/
- kATSUQDExtendedTag = 260L, /* Type: Boolean */
- /* Default value: false*/
- /* Common run tags */
- kATSUFontTag = 261L, /* Type: ATSUFontID */
- /* Default value: GetScriptVariable( smSystemScript, smScriptAppFond )*/
- kATSUSizeTag = 262L, /* Type: Fixed */
- /* Default value: GetScriptVariable( smSystemScript, smScriptAppFondSize ) */
- kATSUColorTag = 263L, /* Type: RGBColor*/
- /* Default value: (0, 0, 0)*/
- /* Less common run tags */
- kATSULangRegionTag = 264L, /* Type: RegionCode - region values listed in script.h interface file*/
- /* Default value: GetScriptManagerVariable( smRegionCode )*/
- kATSUVerticalCharacterTag = 265L, /* Type: ATSUVerticalCharacterType */
- /* Default value: kATSUStronglyHorizontal*/
- kATSUImposeWidthTag = 266L, /* Type: ATSUTextMeasurement >= 0*/
- /* Default value: kATSUseGlyphAdvance - all glyphs use their own font defined advance widths*/
- kATSUBeforeWithStreamShiftTag = 267L, /* Type: Fixed*/
- /* Default value: 0*/
- kATSUAfterWithStreamShiftTag = 268L, /* Type: Fixed*/
- /* Default value: 0*/
- kATSUCrossStreamShiftTag = 269L, /* Type: Fixed*/
- /* Default value: 0*/
- kATSUTrackingTag = 270L, /* Type: Fixed*/
- /* Default value: kATSNoTracking*/
- kATSUHangingInhibitFactorTag = 271L, /* Type: Fract between 0 and 1*/
- /* Default value: 0*/
- kATSUKerningInhibitFactorTag = 272L, /* Type: Fract between 0 and 1*/
- /* Default value: 0*/
- kATSUDecompositionFactorTag = 273L, /* Type: Fixed (-1.0 -> 1.0)*/
- /* Default value: 0*/
- kATSUBaselineClassTag = 274L, /* Type: BslnBaselineClass (see SFNTLayoutTypes.h)*/
- /* Default value: kBSLNRomanBaseline - set to kBSLNNoBaselineOverride to use intrinsic baselines*/
- kATSUPriorityJustOverrideTag = 275L, /* Type: ATSJustPriorityWidthDeltaOverrides (see ATSLayoutTypes.h)*/
- /* Default value: all zeros*/
- kATSUNoLigatureSplitTag = 276L, /* Type: Boolean*/
- /* Default value: false - ligatures and compound characters have divisable components.*/
- kATSUNoCaretAngleTag = 277L, /* Type: Boolean*/
- /* Default value: false - use the character's angularity to determine its boundaries*/
- kATSUSuppressCrossKerningTag = 278L, /* Type: Boolean*/
- /* Default value: false - do not suppress automatic cross kerning (defined by font)*/
- kATSUNoOpticalAlignmentTag = 279L, /* Type: Boolean*/
- /* Default value: false - do not suppress character's automatic optical positional alignment*/
- kATSUForceHangingTag = 280L, /* Type: Boolean*/
- /* Default value: false - do not force the character's to hang beyond the line boundaries*/
- kATSUNoSpecialJustificationTag = 281L, /* Type: Boolean*/
- /* Default value: false - perform post-compensation justification if needed*/
- kATSUStyleTextLocatorTag = 282L, /* Type: TextBreakLocatorRef*/
- /* Default value: NULL - region derived locator or the default Text Utilities locator*/
- kATSUStyleRenderingOptionsTag = 283L, /* Type: ATSStyleRenderingOptions (see ATSLayoutTypes.h)*/
- /* Default value: kATSStyleNoOptions - other options listed in ATSLayoutTypes.h*/
- kATSUAscentTag = 284L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/
- /* Default value: Ascent value of style's font with current pointSize*/
- kATSUDescentTag = 285L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/
- /* Default value: Descent value of style's font with current pointSize*/
- kATSULeadingTag = 286L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/
- /* Default value: Leading value of style's font with current pointSize (usually value 0)*/
- kATSUGlyphSelectorTag = 287L, /* Type: ATSUGlyphSelector (MacOS 10.2 or later)*/
- /* Default value: 0 - use the glyphs derived by ATSUI layout*/
- kATSURGBAlphaColorTag = 288L, /* Type: ATSURGBAlphaColor (MacOS 10.2 or later)*/
- /* Default value: (0, 0, 0, 1)*/
- kATSUFontMatrixTag = 289L, /* Type: CGAffineTransform (MacOS 10.2 or later)*/
- /* Default value: [1, 0, 0, 1, 0, 0] ==> CGAffineTransformIdentity*/
- kATSUMaxStyleTag = 290L, /* This is just for convenience - the upper limit of the ATSUStyle attribute tags */
- /* obsolete style tags */
- kATSULanguageTag = 264L, /* use kATSULangRegionTag */
- /* max */
- kATSUMaxATSUITagValue = 65535L /* This is the maximum Apple ATSUI reserved tag value. Client defined tags must be larger.*/
- };
-
- /*
- ATSUAttributeValuePtr is used to provide generic access to
- storage of attribute values, which vary in size.
- ConstATSUAttributeValuePtr is a pointer to a const attribute value.
- */
- typedef void * ATSUAttributeValuePtr;
- typedef const void * ConstATSUAttributeValuePtr;
- /*
- ATSUAttributeInfo is used to provide a tag/size pairing.
- This makes it possible to provide the client information
- about all the attributes for a given range of text. This
- structure is only used to return to the client information
- about a complete set of attributes. An array of
- ATSUAttributeInfos is passed as a parameter so that the
- client can find out what attributes are set and what their
- individual sizes are; with that information, they can then
- query about the values of the attributes they're interested
- in. Because arrays of ATSUAttributeInfos are used as parameters
- to functions, they have to be of a fixed size, hence the
- value is not included in the structure.
- */
- struct ATSUAttributeInfo
- {
- ATSUAttributeTag fTag;
- ByteCount fValueSize;
- };
- typedef struct ATSUAttributeInfo ATSUAttributeInfo;
- /*
- ATSUCaret contains the complete information needed to render a
- caret. fX and fY is the position of one of the caret's ends
- relative to the origin position of the line the caret belongs.
- fDeltaX and fDeltaY is the position of the caret's other end.
- Hence, to draw a caret, simply call MoveTo(fX, fY) followed by
- LineTo(fDeltaX, fDeltaY) or equivalent. The ATSUCaret will
- contain the positions needed to draw carets on angled lines
- and reflect angled carets and leading/trailing split caret
- appearances.
- */
- struct ATSUCaret
- {
- Fixed fX;
- Fixed fY;
- Fixed fDeltaX;
- Fixed fDeltaY;
- };
- typedef struct ATSUCaret ATSUCaret;
- /*
- ATSUCursorMovementType is used to indicate how much to move
- the cursor when using the ATSUI cusor movement routines.
- Note that kATSUByCharacterCluster is only available in Mac OS X
- and in CarbonLib versions 1.3 and later.
- */
- typedef UInt16 ATSUCursorMovementType;
- enum
- {
- kATSUByCharacter = 0,
- kATSUByTypographicCluster = 1, /* clusters based on characters or ligatures*/
- kATSUByWord = 2,
- kATSUByCharacterCluster = 3, /* clusters based on characters only*/
- kATSUByCluster = 1 /* obsolete name for kATSUByTypographicCluster*/
- };
-
- /*
- ATSULineTruncation is for identifying where truncation will occur when
- using a ATSUTextLayout with the ATSULineTruncation layout attribute.
- */
- typedef UInt32 ATSULineTruncation;
- enum
- {
- kATSUTruncateNone = 0, /* truncation specification - add to any desired truncFeat bit options listed below*/
- kATSUTruncateStart = 1, /* for instance, kATSUTruncateEnd with kATSUTruncFeatNoSquishing is value 0x0000000A*/
- kATSUTruncateEnd = 2,
- kATSUTruncateMiddle = 3,
- kATSUTruncateSpecificationMask = 0x00000007, /* these bits are reserved for the truncation specification (0 - 7)*/
- /* the following bit-field options can be added to the chosen truncation specification*/
- kATSUTruncFeatNoSquishing = 0x00000008 /* if specified, do not perform any negative justification in lieu of truncation*/
- };
-
- /*
- ATSUVerticalCharacterType currently can take two values
- and is used to indicate whether text is to be laid out
- as vertical glyphs or horizontal glyphs.
- */
- typedef UInt16 ATSUVerticalCharacterType;
- enum
- {
- kATSUStronglyHorizontal = 0,
- kATSUStronglyVertical = 1
- };
-
- /*
- ATSUStyleComparison is an enumeration with four values,
- and is used by ATSUCompareStyles() to indicate if the
- first style parameter contains as a proper subset, is
- equal to, or is contained by the second style parameter.
- */
- typedef UInt16 ATSUStyleComparison;
- enum
- {
- kATSUStyleUnequal = 0,
- kATSUStyleContains = 1,
- kATSUStyleEquals = 2,
- kATSUStyleContainedBy = 3
- };
-
- /*
- ATSUFontFallbackMethod type defines the method by which ATSUI will try to
- find an appropriate font for a character if the assigned font does not
- contain the needed glyph(s) to represent it. This affects ATSUMatchFontsToText
- and font selection during layout and drawing when ATSUSetTransientFontMatching
- is set ON.
- */
- typedef UInt16 ATSUFontFallbackMethod;
- enum
- {
- kATSUDefaultFontFallbacks = 0,
- kATSULastResortOnlyFallback = 1,
- kATSUSequentialFallbacksPreferred = 2,
- kATSUSequentialFallbacksExclusive = 3
- };
-
- /*
- ATSUTabType type defines the characteristic of ATSUI tabs.
- A Left tab type specifies that the left side of affected text is to be
- maintained flush against the tab stop. A Right tab type specifies that
- the right side of affected text is to be maintained flush against the
- tab stop. A Center tab type specifies that the affected text centered
- about the tab stop.
- */
-
- typedef UInt16 ATSUTabType;
- enum
- {
- kATSULeftTab = 0,
- kATSUCenterTab = 1,
- kATSURightTab = 2,
- kATSUNumberTabTypes = 3
- };
-
- /*
- ATSUTab specifies the position and type of tab stop
- to be applied to a ATSUTextLayout set through the ATSUI routine
- ATSUSetTabArray and returned through ATSUGetTabArray.
- */
- struct ATSUTab
- {
- ATSUTextMeasurement tabPosition;
- ATSUTabType tabType;
- };
- typedef struct ATSUTab ATSUTab;
- /*
- GlyphCollection types represent the specific character collection. If
- the value is zero, kGlyphCollectionGID, then this indicates that the
- glyph value represents the actual glyphID of a specific font.
- */
-
- typedef UInt16 GlyphCollection;
- enum
- {
- kGlyphCollectionGID = 0,
- kGlyphCollectionAdobeCNS1 = 1,
- kGlyphCollectionAdobeGB1 = 2,
- kGlyphCollectionAdobeJapan1 = 3,
- kGlyphCollectionAdobeJapan2 = 4,
- kGlyphCollectionAdobeKorea1 = 5,
- kGlyphCollectionUnspecified = 0xFF
- };
-
- /*
- ATSUGlyphSelector can direct ATSUI to use a specific glyph instead of the one that
- ATSUI normally derives. The glyph can be specified either as a glyphID (specific
- to the font used) or CID from a specfic collection defined by the collection entry.
- */
- struct ATSUGlyphSelector
- {
- GlyphCollection collection; /* kGlyphCollectionXXX enum*/
- GlyphID glyphID; /* GID (when collection==0) or CID*/
- };
- typedef struct ATSUGlyphSelector ATSUGlyphSelector;
+/********************************/
+/* Types and related constants */
+/********************************/
+/*
+ UniCharArrayHandle and UniCharArrayOffset are defined in the
+ TextCommon interface file.
+*/
+
+/*
+ ATSUTextMeasurement is specific to ATSUI in that measurement
+ quantities are in fractional Fixed format instead of shorts
+ used in QuickDraw Text. This provides exact outline metrics and
+ line specifications such as line width, ascent, descent, and so on.
+*/
+typedef Fixed ATSUTextMeasurement;
+/*
+ ATSUFontID indicates a particular font family and face.
+ ATSUFontID's are not guaranteed to remain constant across
+ reboots. Clients should use the font's unique name to
+ get a font token to store in documents which is
+ guaranteed to remain constant across reboots.
+*/
+typedef FMFont ATSUFontID;
+/*
+ ATSUFontFeatureType and ATSUFontFeatureSelector are used
+ to identify font features.
+*/
+typedef UInt16 ATSUFontFeatureType;
+typedef UInt16 ATSUFontFeatureSelector;
+/*
+ ATSUFontVariationAxis and ATSUFontVariationValue are used
+ in connection with font variations.
+*/
+typedef FourCharCode ATSUFontVariationAxis;
+typedef Fixed ATSUFontVariationValue;
+/*
+ ATSUTextLayout is used to store the attribute information
+ associated with a contiguous block of UniChar's (UInt16's)
+ in memory. It's typed to be an opaque structure.
+*/
+typedef struct OpaqueATSUTextLayout* ATSUTextLayout;
+/*
+ ATSUStyle is used to store a set of individual attributes,
+ font features, and font variations. It's typed to be
+ an opaque structure.
+*/
+typedef struct OpaqueATSUStyle* ATSUStyle;
+/*
+ ATSUFontFallbacks is used to store the desired font fallback
+ list and associated fallback cache information. It's typed
+ to be an opaque structure.
+*/
+typedef struct OpaqueATSUFontFallbacks* ATSUFontFallbacks;
+/*
+ ATSUAttributeTag is used to indicate the particular type
+ of attribute under consideration: font, size, color,
+ and so on.
+ Each style run may have at most one attribute with a
+ given ATSUAttributeTag (i.e., a style run can't have
+ more than one font or size) but may have none.
+ Note: Apple reserves values 0 to 65,535 (0 to 0x0000FFFF).
+ ATSUI clients may create their own tags with any other value.
+*/
+typedef UInt32 ATSUAttributeTag;
+enum {
+ /* Layout and Line Control Attribute Tags*/
+ kATSULineWidthTag = 1L, /* Type: ATSUTextMeasurement >= 0*/
+ /* Default value: 0*/
+ kATSULineRotationTag = 2L, /* Type: Fixed (fixed value in degrees in right-handed coordinate system)*/
+ /* Default value: 0*/
+ kATSULineDirectionTag = 3L, /* Type: Boolean; values 0 or 1 (see below for value identities)*/
+ /* Default value: GetSysDirection() ? kATSURightToLeftBaseDirection : kATSULeftToRightBaseDirection*/
+ kATSULineJustificationFactorTag = 4L, /* Type: Fract between 0 and 1*/
+ /* Default value: kATSUNoJustification*/
+ kATSULineFlushFactorTag = 5L, /* Type: Fract between 0 and 1 */
+ /* Default value: kATSUStartAlignment*/
+ kATSULineBaselineValuesTag = 6L, /* Type: BslnBaselineRecord*/
+ /* Default value: All zeros. Calculated from other style attributes (e.g., font and point size)*/
+ kATSULineLayoutOptionsTag = 7L, /* Type: ATSLineLayoutOptions (see ATSLayoutTypes.h)*/
+ /* Default value: kATSLineNoLayoutOptions - other options listed in ATSLayoutTypes.h*/
+ kATSULineAscentTag = 8L, /* Type: ATSUTextMeasurement >= 0*/
+ /* Default value: Maximum typographical ascent of all fonts used on line or textLayout*/
+ kATSULineDescentTag = 9L, /* Type: ATSUTextMeasurement >= 0*/
+ /* Default value: Maximum typographical descent+leading of all fonts used on line or textLayout*/
+ kATSULineLangRegionTag = 10L, /* Type: RegionCode - region values listed in script.h interface file*/
+ /* Default value: kTextRegionDontCare*/
+ kATSULineTextLocatorTag = 11L, /* Type: TextBreakLocatorRef*/
+ /* Default value: NULL - set Region derived locator or the default Text Utilities locator*/
+ kATSULineTruncationTag = 12L, /* Type: ATSULineTruncation*/
+ /* Default value: kATSUTruncateNone */
+ kATSULineFontFallbacksTag = 13L, /* Type: ATSUFontFallbacks*/
+ /* Default value: globally set font fallbacks using the ATSUSetFontFallbacks */
+ kATSULayoutOperationOverrideTag = 15L, /* Type: ATSULayoutOperationOverrideSpecifier (MacOS 10.2 or later) */
+ /* Default value: NULL*/
+ kATSUMaxLineTag = 16L, /* This is just for convenience - the upper limit of the ATSUTextLayout attribute tags*/
+ /* Obsolete layout tags */
+ kATSULineLanguageTag = 10L, /* Use kATSULineLangRegionTag */
+ /* Special layout tags */
+ kATSUCGContextTag = 32767L, /* Type: CGContextRef (MacOS X systems only)*/
+ /* Default value: NULL*/
+ /* Run Style Attribute Tags*/
+ /* QuickDraw compatibility tags */
+ kATSUQDBoldfaceTag = 256L, /* Type: Boolean */
+ /* Default value: false*/
+ kATSUQDItalicTag = 257L, /* Type: Boolean */
+ /* Default value: false*/
+ kATSUQDUnderlineTag = 258L, /* Type: Boolean */
+ /* Default value: false*/
+ kATSUQDCondensedTag = 259L, /* Type: Boolean */
+ /* Default value: false*/
+ kATSUQDExtendedTag = 260L, /* Type: Boolean */
+ /* Default value: false*/
+ /* Common run tags */
+ kATSUFontTag = 261L, /* Type: ATSUFontID */
+ /* Default value: GetScriptVariable( smSystemScript, smScriptAppFond )*/
+ kATSUSizeTag = 262L, /* Type: Fixed */
+ /* Default value: GetScriptVariable( smSystemScript, smScriptAppFondSize ) */
+ kATSUColorTag = 263L, /* Type: RGBColor*/
+ /* Default value: (0, 0, 0)*/
+ /* Less common run tags */
+ kATSULangRegionTag = 264L, /* Type: RegionCode - region values listed in script.h interface file*/
+ /* Default value: GetScriptManagerVariable( smRegionCode )*/
+ kATSUVerticalCharacterTag = 265L, /* Type: ATSUVerticalCharacterType */
+ /* Default value: kATSUStronglyHorizontal*/
+ kATSUImposeWidthTag = 266L, /* Type: ATSUTextMeasurement >= 0*/
+ /* Default value: kATSUseGlyphAdvance - all glyphs use their own font defined advance widths*/
+ kATSUBeforeWithStreamShiftTag = 267L, /* Type: Fixed*/
+ /* Default value: 0*/
+ kATSUAfterWithStreamShiftTag = 268L, /* Type: Fixed*/
+ /* Default value: 0*/
+ kATSUCrossStreamShiftTag = 269L, /* Type: Fixed*/
+ /* Default value: 0*/
+ kATSUTrackingTag = 270L, /* Type: Fixed*/
+ /* Default value: kATSNoTracking*/
+ kATSUHangingInhibitFactorTag = 271L, /* Type: Fract between 0 and 1*/
+ /* Default value: 0*/
+ kATSUKerningInhibitFactorTag = 272L, /* Type: Fract between 0 and 1*/
+ /* Default value: 0*/
+ kATSUDecompositionFactorTag = 273L, /* Type: Fixed (-1.0 -> 1.0)*/
+ /* Default value: 0*/
+ kATSUBaselineClassTag = 274L, /* Type: BslnBaselineClass (see SFNTLayoutTypes.h)*/
+ /* Default value: kBSLNRomanBaseline - set to kBSLNNoBaselineOverride to use intrinsic baselines*/
+ kATSUPriorityJustOverrideTag = 275L, /* Type: ATSJustPriorityWidthDeltaOverrides (see ATSLayoutTypes.h)*/
+ /* Default value: all zeros*/
+ kATSUNoLigatureSplitTag = 276L, /* Type: Boolean*/
+ /* Default value: false - ligatures and compound characters have divisable components.*/
+ kATSUNoCaretAngleTag = 277L, /* Type: Boolean*/
+ /* Default value: false - use the character's angularity to determine its boundaries*/
+ kATSUSuppressCrossKerningTag = 278L, /* Type: Boolean*/
+ /* Default value: false - do not suppress automatic cross kerning (defined by font)*/
+ kATSUNoOpticalAlignmentTag = 279L, /* Type: Boolean*/
+ /* Default value: false - do not suppress character's automatic optical positional alignment*/
+ kATSUForceHangingTag = 280L, /* Type: Boolean*/
+ /* Default value: false - do not force the character's to hang beyond the line boundaries*/
+ kATSUNoSpecialJustificationTag = 281L, /* Type: Boolean*/
+ /* Default value: false - perform post-compensation justification if needed*/
+ kATSUStyleTextLocatorTag = 282L, /* Type: TextBreakLocatorRef*/
+ /* Default value: NULL - region derived locator or the default Text Utilities locator*/
+ kATSUStyleRenderingOptionsTag = 283L, /* Type: ATSStyleRenderingOptions (see ATSLayoutTypes.h)*/
+ /* Default value: kATSStyleNoOptions - other options listed in ATSLayoutTypes.h*/
+ kATSUAscentTag = 284L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/
+ /* Default value: Ascent value of style's font with current pointSize*/
+ kATSUDescentTag = 285L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/
+ /* Default value: Descent value of style's font with current pointSize*/
+ kATSULeadingTag = 286L, /* Type: ATSUTextMeasurement >= 0 (MacOS 10.2 or later)*/
+ /* Default value: Leading value of style's font with current pointSize (usually value 0)*/
+ kATSUGlyphSelectorTag = 287L, /* Type: ATSUGlyphSelector (MacOS 10.2 or later)*/
+ /* Default value: 0 - use the glyphs derived by ATSUI layout*/
+ kATSURGBAlphaColorTag = 288L, /* Type: ATSURGBAlphaColor (MacOS 10.2 or later)*/
+ /* Default value: (0, 0, 0, 1)*/
+ kATSUFontMatrixTag = 289L, /* Type: CGAffineTransform (MacOS 10.2 or later)*/
+ /* Default value: [1, 0, 0, 1, 0, 0] ==> CGAffineTransformIdentity*/
+ kATSUMaxStyleTag = 290L, /* This is just for convenience - the upper limit of the ATSUStyle attribute tags */
+ /* obsolete style tags */
+ kATSULanguageTag = 264L, /* use kATSULangRegionTag */
+ /* max */
+ kATSUMaxATSUITagValue = 65535L /* This is the maximum Apple ATSUI reserved tag value. Client defined tags must be larger.*/
+};
+
+/*
+ ATSUAttributeValuePtr is used to provide generic access to
+ storage of attribute values, which vary in size.
+ ConstATSUAttributeValuePtr is a pointer to a const attribute value.
+*/
+typedef void * ATSUAttributeValuePtr;
+typedef const void * ConstATSUAttributeValuePtr;
+/*
+ ATSUAttributeInfo is used to provide a tag/size pairing.
+ This makes it possible to provide the client information
+ about all the attributes for a given range of text. This
+ structure is only used to return to the client information
+ about a complete set of attributes. An array of
+ ATSUAttributeInfos is passed as a parameter so that the
+ client can find out what attributes are set and what their
+ individual sizes are; with that information, they can then
+ query about the values of the attributes they're interested
+ in. Because arrays of ATSUAttributeInfos are used as parameters
+ to functions, they have to be of a fixed size, hence the
+ value is not included in the structure.
+*/
+struct ATSUAttributeInfo {
+ ATSUAttributeTag fTag;
+ ByteCount fValueSize;
+};
+typedef struct ATSUAttributeInfo ATSUAttributeInfo;
+/*
+ ATSUCaret contains the complete information needed to render a
+ caret. fX and fY is the position of one of the caret's ends
+ relative to the origin position of the line the caret belongs.
+ fDeltaX and fDeltaY is the position of the caret's other end.
+ Hence, to draw a caret, simply call MoveTo(fX, fY) followed by
+ LineTo(fDeltaX, fDeltaY) or equivalent. The ATSUCaret will
+ contain the positions needed to draw carets on angled lines
+ and reflect angled carets and leading/trailing split caret
+ appearances.
+*/
+struct ATSUCaret {
+ Fixed fX;
+ Fixed fY;
+ Fixed fDeltaX;
+ Fixed fDeltaY;
+};
+typedef struct ATSUCaret ATSUCaret;
+/*
+ ATSUCursorMovementType is used to indicate how much to move
+ the cursor when using the ATSUI cusor movement routines.
+ Note that kATSUByCharacterCluster is only available in Mac OS X
+ and in CarbonLib versions 1.3 and later.
+*/
+typedef UInt16 ATSUCursorMovementType;
+enum {
+ kATSUByCharacter = 0,
+ kATSUByTypographicCluster = 1, /* clusters based on characters or ligatures*/
+ kATSUByWord = 2,
+ kATSUByCharacterCluster = 3, /* clusters based on characters only*/
+ kATSUByCluster = 1 /* obsolete name for kATSUByTypographicCluster*/
+};
+
+/*
+ ATSULineTruncation is for identifying where truncation will occur when
+ using a ATSUTextLayout with the ATSULineTruncation layout attribute.
+*/
+typedef UInt32 ATSULineTruncation;
+enum {
+ kATSUTruncateNone = 0, /* truncation specification - add to any desired truncFeat bit options listed below*/
+ kATSUTruncateStart = 1, /* for instance, kATSUTruncateEnd with kATSUTruncFeatNoSquishing is value 0x0000000A*/
+ kATSUTruncateEnd = 2,
+ kATSUTruncateMiddle = 3,
+ kATSUTruncateSpecificationMask = 0x00000007, /* these bits are reserved for the truncation specification (0 - 7)*/
+ /* the following bit-field options can be added to the chosen truncation specification*/
+ kATSUTruncFeatNoSquishing = 0x00000008 /* if specified, do not perform any negative justification in lieu of truncation*/
+};
+
+/*
+ ATSUVerticalCharacterType currently can take two values
+ and is used to indicate whether text is to be laid out
+ as vertical glyphs or horizontal glyphs.
+*/
+typedef UInt16 ATSUVerticalCharacterType;
+enum {
+ kATSUStronglyHorizontal = 0,
+ kATSUStronglyVertical = 1
+};
+
+/*
+ ATSUStyleComparison is an enumeration with four values,
+ and is used by ATSUCompareStyles() to indicate if the
+ first style parameter contains as a proper subset, is
+ equal to, or is contained by the second style parameter.
+*/
+typedef UInt16 ATSUStyleComparison;
+enum {
+ kATSUStyleUnequal = 0,
+ kATSUStyleContains = 1,
+ kATSUStyleEquals = 2,
+ kATSUStyleContainedBy = 3
+};
+
+/*
+ ATSUFontFallbackMethod type defines the method by which ATSUI will try to
+ find an appropriate font for a character if the assigned font does not
+ contain the needed glyph(s) to represent it. This affects ATSUMatchFontsToText
+ and font selection during layout and drawing when ATSUSetTransientFontMatching
+ is set ON.
+*/
+typedef UInt16 ATSUFontFallbackMethod;
+enum {
+ kATSUDefaultFontFallbacks = 0,
+ kATSULastResortOnlyFallback = 1,
+ kATSUSequentialFallbacksPreferred = 2,
+ kATSUSequentialFallbacksExclusive = 3
+};
+
+/*
+ ATSUTabType type defines the characteristic of ATSUI tabs.
+ A Left tab type specifies that the left side of affected text is to be
+ maintained flush against the tab stop. A Right tab type specifies that
+ the right side of affected text is to be maintained flush against the
+ tab stop. A Center tab type specifies that the affected text centered
+ about the tab stop.
+*/
+
+typedef UInt16 ATSUTabType;
+enum {
+ kATSULeftTab = 0,
+ kATSUCenterTab = 1,
+ kATSURightTab = 2,
+ kATSUNumberTabTypes = 3
+};
+
+/*
+ ATSUTab specifies the position and type of tab stop
+ to be applied to a ATSUTextLayout set through the ATSUI routine
+ ATSUSetTabArray and returned through ATSUGetTabArray.
+*/
+struct ATSUTab {
+ ATSUTextMeasurement tabPosition;
+ ATSUTabType tabType;
+};
+typedef struct ATSUTab ATSUTab;
+/*
+ GlyphCollection types represent the specific character collection. If
+ the value is zero, kGlyphCollectionGID, then this indicates that the
+ glyph value represents the actual glyphID of a specific font.
+*/
+
+typedef UInt16 GlyphCollection;
+enum {
+ kGlyphCollectionGID = 0,
+ kGlyphCollectionAdobeCNS1 = 1,
+ kGlyphCollectionAdobeGB1 = 2,
+ kGlyphCollectionAdobeJapan1 = 3,
+ kGlyphCollectionAdobeJapan2 = 4,
+ kGlyphCollectionAdobeKorea1 = 5,
+ kGlyphCollectionUnspecified = 0xFF
+};
+
+/*
+ ATSUGlyphSelector can direct ATSUI to use a specific glyph instead of the one that
+ ATSUI normally derives. The glyph can be specified either as a glyphID (specific
+ to the font used) or CID from a specfic collection defined by the collection entry.
+*/
+struct ATSUGlyphSelector {
+ GlyphCollection collection; /* kGlyphCollectionXXX enum*/
+ GlyphID glyphID; /* GID (when collection==0) or CID*/
+};
+typedef struct ATSUGlyphSelector ATSUGlyphSelector;
#if CALL_NOT_IN_CARBON
- /*
- ATSUMemoryCallbacks is a union struct that allows the ATSUI
- client to specify a specific heap for ATSUI use or allocation
- callbacks of which ATSUI is to use each time ATSUI performs a
- memory operation (alloc, grow, free).
- */
- typedef CALLBACK_API_C(void *, ATSUCustomAllocFunc)(void *refCon, ByteCount howMuch);
- typedef CALLBACK_API_C(void , ATSUCustomFreeFunc)(void *refCon, void *doomedBlock);
- typedef CALLBACK_API_C(void *, ATSUCustomGrowFunc)(void *refCon, void *oldBlock, ByteCount oldSize, ByteCount newSize);
- union ATSUMemoryCallbacks
- {
- struct
- {
- ATSUCustomAllocFunc Alloc;
- ATSUCustomFreeFunc Free;
- ATSUCustomGrowFunc Grow;
- void * memoryRefCon;
- } callbacks;
-
- THz heapToUse;
- };
- typedef union ATSUMemoryCallbacks ATSUMemoryCallbacks;
- /*
- ATSUHeapSpec provides the ATSUI client a means of specifying the heap
- from which ATSUI should allocate its dynamic memory or specifying
- that ATSUI should use the memory callback provided by the client.
- */
- typedef UInt16 ATSUHeapSpec;
- enum
- {
- kATSUUseCurrentHeap = 0,
- kATSUUseAppHeap = 1,
- kATSUUseSpecificHeap = 2,
- kATSUUseCallbacks = 3
- };
-
-
- /*
- ATSUMemorySetting is used to store the results from a ATSUSetMemoryAlloc
- or a ATSUGetCurrentMemorySetting call. It can also be used to change the
- current ATSUMemorySetting by passing it into the ATSUSetCurrentMemorySetting
- call.
- */
- typedef struct OpaqueATSUMemorySetting* ATSUMemorySetting;
+/*
+ ATSUMemoryCallbacks is a union struct that allows the ATSUI
+ client to specify a specific heap for ATSUI use or allocation
+ callbacks of which ATSUI is to use each time ATSUI performs a
+ memory operation (alloc, grow, free).
+*/
+typedef CALLBACK_API_C( void *, ATSUCustomAllocFunc )(void *refCon, ByteCount howMuch);
+typedef CALLBACK_API_C( void , ATSUCustomFreeFunc )(void *refCon, void *doomedBlock);
+typedef CALLBACK_API_C( void *, ATSUCustomGrowFunc )(void *refCon, void *oldBlock, ByteCount oldSize, ByteCount newSize);
+union ATSUMemoryCallbacks {
+ struct {
+ ATSUCustomAllocFunc Alloc;
+ ATSUCustomFreeFunc Free;
+ ATSUCustomGrowFunc Grow;
+ void * memoryRefCon;
+ } callbacks;
+
+ THz heapToUse;
+};
+typedef union ATSUMemoryCallbacks ATSUMemoryCallbacks;
+/*
+ ATSUHeapSpec provides the ATSUI client a means of specifying the heap
+ from which ATSUI should allocate its dynamic memory or specifying
+ that ATSUI should use the memory callback provided by the client.
+*/
+typedef UInt16 ATSUHeapSpec;
+enum {
+ kATSUUseCurrentHeap = 0,
+ kATSUUseAppHeap = 1,
+ kATSUUseSpecificHeap = 2,
+ kATSUUseCallbacks = 3
+};
+
+
+/*
+ ATSUMemorySetting is used to store the results from a ATSUSetMemoryAlloc
+ or a ATSUGetCurrentMemorySetting call. It can also be used to change the
+ current ATSUMemorySetting by passing it into the ATSUSetCurrentMemorySetting
+ call.
+*/
+typedef struct OpaqueATSUMemorySetting* ATSUMemorySetting;
#endif /* CALL_NOT_IN_CARBON */
- /* Types for ATSUI Low Level API */
- struct ATSUGlyphInfo
- {
- GlyphID glyphID;
- UInt16 reserved;
- UInt32 layoutFlags;
- UniCharArrayOffset charIndex;
- ATSUStyle style;
- Float32 deltaY;
- Float32 idealX;
- SInt16 screenX;
- SInt16 caretX;
- };
- typedef struct ATSUGlyphInfo ATSUGlyphInfo;
- struct ATSUGlyphInfoArray
- {
- ATSUTextLayout layout;
- ItemCount numGlyphs;
- ATSUGlyphInfo glyphs[1];
- };
- typedef struct ATSUGlyphInfoArray ATSUGlyphInfoArray;
- /********************/
- /* Other constants */
- /********************/
- /* Line direction types (used for kATSULineDirectionTag values) */
- enum
- {
- kATSULeftToRightBaseDirection = 0, /* Impose left-to-right or top-to-bottom dominant direction */
- kATSURightToLeftBaseDirection = 1 /* Impose right-to-left or bottom-to-top dominant direction */
- };
-
- /* LineFlushFactor convenience defined values */
+/* Types for ATSUI Low Level API */
+struct ATSUGlyphInfo {
+ GlyphID glyphID;
+ UInt16 reserved;
+ UInt32 layoutFlags;
+ UniCharArrayOffset charIndex;
+ ATSUStyle style;
+ Float32 deltaY;
+ Float32 idealX;
+ SInt16 screenX;
+ SInt16 caretX;
+};
+typedef struct ATSUGlyphInfo ATSUGlyphInfo;
+struct ATSUGlyphInfoArray {
+ ATSUTextLayout layout;
+ ItemCount numGlyphs;
+ ATSUGlyphInfo glyphs[1];
+};
+typedef struct ATSUGlyphInfoArray ATSUGlyphInfoArray;
+/********************/
+/* Other constants */
+/********************/
+/* Line direction types (used for kATSULineDirectionTag values) */
+enum {
+ kATSULeftToRightBaseDirection = 0, /* Impose left-to-right or top-to-bottom dominant direction */
+ kATSURightToLeftBaseDirection = 1 /* Impose right-to-left or bottom-to-top dominant direction */
+};
+
+/* LineFlushFactor convenience defined values */
#define kATSUStartAlignment ((Fract) 0x00000000L)
#define kATSUEndAlignment ((Fract) 0x40000000L)
#define kATSUCenterAlignment ((Fract) 0x20000000L)
- /* LineJustificationFactor convenience defined values */
+/* LineJustificationFactor convenience defined values */
#define kATSUNoJustification ((Fract) 0x00000000L)
#define kATSUFullJustification ((Fract) 0x40000000L)
- /* Other constants */
- enum
- {
- kATSUInvalidFontID = 0
- };
-
-
- enum
- {
- kATSUUseLineControlWidth = 0x7FFFFFFF
- };
-
-
- enum
- {
- kATSUNoSelector = 0x0000FFFF
- };
-
-
- enum
- {
- kATSUUseGrafPortPenLoc = (unsigned long)0xFFFFFFFF,
- kATSUClearAll = (unsigned long)0xFFFFFFFF
- };
-
-
- enum
- {
- kATSUFromTextBeginning = (unsigned long)0xFFFFFFFF,
- kATSUToTextEnd = (unsigned long)0xFFFFFFFF
- };
-
-
-
- /****************/
- /* Functions */
- /****************/
-
- /* ---------------------------------------------------------------------------- */
- /* Clipboard support, flattened style version 0 */
- /* ---------------------------------------------------------------------------- */
- /*
- Warning: ATSUCopyToHandle & ATSUPasteFromHandle have been deprecated
- Use their replacements, ATSUFlattenStyleRunsToStream and , instead if available or
- perform your own flattening
- */
- /*
- * ATSUCopyToHandle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCopyToHandle(
- ATSUStyle iStyle,
- Handle oStyleHandle);
-
-
- /*
- * ATSUPasteFromHandle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUPasteFromHandle(
- ATSUStyle iStyle,
- Handle iStyleHandle);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Memory allocation specification functions (not in Carbon) */
- /* ---------------------------------------------------------------------------- */
+/* Other constants */
+enum {
+ kATSUInvalidFontID = 0
+};
+
+
+enum {
+ kATSUUseLineControlWidth = 0x7FFFFFFF
+};
+
+
+enum {
+ kATSUNoSelector = 0x0000FFFF
+};
+
+
+enum {
+ kATSUUseGrafPortPenLoc = (unsigned long)0xFFFFFFFF,
+ kATSUClearAll = (unsigned long)0xFFFFFFFF
+};
+
+
+enum {
+ kATSUFromTextBeginning = (unsigned long)0xFFFFFFFF,
+ kATSUToTextEnd = (unsigned long)0xFFFFFFFF
+};
+
+
+
+/****************/
+/* Functions */
+/****************/
+
+/* ---------------------------------------------------------------------------- */
+/* Clipboard support, flattened style version 0 */
+/* ---------------------------------------------------------------------------- */
+/*
+ Warning: ATSUCopyToHandle & ATSUPasteFromHandle have been deprecated
+ Use their replacements, ATSUFlattenStyleRunsToStream and , instead if available or
+ perform your own flattening
+*/
+/*
+ * ATSUCopyToHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCopyToHandle(
+ ATSUStyle iStyle,
+ Handle oStyleHandle);
+
+
+/*
+ * ATSUPasteFromHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUPasteFromHandle(
+ ATSUStyle iStyle,
+ Handle iStyleHandle);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Memory allocation specification functions (not in Carbon) */
+/* ---------------------------------------------------------------------------- */
#if CALL_NOT_IN_CARBON
- /*
- * ATSUCreateMemorySetting()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- ATSUCreateMemorySetting(
- ATSUHeapSpec iHeapSpec,
- ATSUMemoryCallbacks * iMemoryCallbacks,
- ATSUMemorySetting * oMemorySetting);
-
-
- /*
- * ATSUSetCurrentMemorySetting()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- ATSUSetCurrentMemorySetting(ATSUMemorySetting iMemorySetting);
-
-
- /*
- * ATSUGetCurrentMemorySetting()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ATSUMemorySetting)
- ATSUGetCurrentMemorySetting(void);
-
-
- /*
- * ATSUDisposeMemorySetting()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- ATSUDisposeMemorySetting(ATSUMemorySetting iMemorySetting);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font fallback object functions */
- /* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCreateMemorySetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+ATSUCreateMemorySetting(
+ ATSUHeapSpec iHeapSpec,
+ ATSUMemoryCallbacks * iMemoryCallbacks,
+ ATSUMemorySetting * oMemorySetting);
+
+
+/*
+ * ATSUSetCurrentMemorySetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetCurrentMemorySetting(ATSUMemorySetting iMemorySetting);
+
+
+/*
+ * ATSUGetCurrentMemorySetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ATSUMemorySetting )
+ATSUGetCurrentMemorySetting(void);
+
+
+/*
+ * ATSUDisposeMemorySetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+ATSUDisposeMemorySetting(ATSUMemorySetting iMemorySetting);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font fallback object functions */
+/* ---------------------------------------------------------------------------- */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * ATSUCreateFontFallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCreateFontFallbacks(ATSUFontFallbacks * oFontFallback);
-
-
- /*
- * ATSUDisposeFontFallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDisposeFontFallbacks(ATSUFontFallbacks iFontFallbacks);
-
-
- /*
- * ATSUSetObjFontFallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetObjFontFallbacks(
- ATSUFontFallbacks iFontFallbacks,
- ItemCount iFontFallbacksCount,
- const ATSUFontID iFonts[],
- ATSUFontFallbackMethod iFontFallbackMethod);
-
-
- /*
- * ATSUGetObjFontFallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetObjFontFallbacks(
- ATSUFontFallbacks iFontFallbacks,
- ItemCount iMaxFontFallbacksCount,
- ATSUFontID oFonts[],
- ATSUFontFallbackMethod * oFontFallbackMethod,
- ItemCount * oActualFallbacksCount);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Basic style functions */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCreateStyle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCreateStyle(ATSUStyle * oStyle);
-
-
- /*
- * ATSUCreateAndCopyStyle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCreateAndCopyStyle(
- ATSUStyle iStyle,
- ATSUStyle * oStyle);
-
-
- /*
- * ATSUDisposeStyle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDisposeStyle(ATSUStyle iStyle);
-
-
- /*
- * ATSUSetStyleRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetStyleRefCon(
- ATSUStyle iStyle,
- UInt32 iRefCon);
-
-
- /*
- * ATSUGetStyleRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetStyleRefCon(
- ATSUStyle iStyle,
- UInt32 * oRefCon);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Style comparison */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCompareStyles()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCompareStyles(
- ATSUStyle iFirstStyle,
- ATSUStyle iSecondStyle,
- ATSUStyleComparison * oComparison);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Attribute manipulations */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCopyAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCopyAttributes(
- ATSUStyle iSourceStyle,
- ATSUStyle iDestinationStyle);
-
-
- /*
- * ATSUOverwriteAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUOverwriteAttributes(
- ATSUStyle iSourceStyle,
- ATSUStyle iDestinationStyle);
-
-
- /*
- * ATSUUnderwriteAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUUnderwriteAttributes(
- ATSUStyle iSourceStyle,
- ATSUStyle iDestinationStyle);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Empty styles */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUClearStyle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUClearStyle(ATSUStyle iStyle);
-
-
- /*
- * ATSUStyleIsEmpty()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUStyleIsEmpty(
- ATSUStyle iStyle,
- Boolean * oIsClear);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Get and set attributes */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCalculateBaselineDeltas()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCalculateBaselineDeltas(
- ATSUStyle iStyle,
- BslnBaselineClass iBaselineClass,
- BslnBaselineRecord oBaselineDeltas);
-
-
- /*
- * ATSUSetAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetAttributes(
- ATSUStyle iStyle,
- ItemCount iAttributeCount,
- const ATSUAttributeTag iTag[],
- const ByteCount iValueSize[],
- const ATSUAttributeValuePtr iValue[]);
-
-
- /*
- * ATSUGetAttribute()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetAttribute(
- ATSUStyle iStyle,
- ATSUAttributeTag iTag,
- ByteCount iExpectedValueSize,
- ATSUAttributeValuePtr oValue,
- ByteCount * oActualValueSize);
-
-
- /*
- * ATSUGetAllAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetAllAttributes(
- ATSUStyle iStyle,
- ATSUAttributeInfo oAttributeInfoArray[],
- ItemCount iTagValuePairArraySize,
- ItemCount * oTagValuePairCount);
-
-
- /*
- * ATSUClearAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUClearAttributes(
- ATSUStyle iStyle,
- ItemCount iTagCount,
- const ATSUAttributeTag iTag[]);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font features */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUSetFontFeatures()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetFontFeatures(
- ATSUStyle iStyle,
- ItemCount iFeatureCount,
- const ATSUFontFeatureType iType[],
- const ATSUFontFeatureSelector iSelector[]);
-
-
- /*
- * ATSUGetFontFeature()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontFeature(
- ATSUStyle iStyle,
- ItemCount iFeatureIndex,
- ATSUFontFeatureType * oFeatureType,
- ATSUFontFeatureSelector * oFeatureSelector);
-
-
- /*
- * ATSUGetAllFontFeatures()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetAllFontFeatures(
- ATSUStyle iStyle,
- ItemCount iMaximumFeatureCount,
- ATSUFontFeatureType oFeatureType[],
- ATSUFontFeatureSelector oFeatureSelector[],
- ItemCount * oActualFeatureCount);
-
-
- /*
- * ATSUClearFontFeatures()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUClearFontFeatures(
- ATSUStyle iStyle,
- ItemCount iFeatureCount,
- const ATSUFontFeatureType iType[],
- const ATSUFontFeatureSelector iSelector[]);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font variations */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUSetVariations()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetVariations(
- ATSUStyle iStyle,
- ItemCount iVariationCount,
- const ATSUFontVariationAxis iAxes[],
- const ATSUFontVariationValue iValue[]);
-
-
- /*
- * ATSUGetFontVariationValue()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontVariationValue(
- ATSUStyle iStyle,
- ATSUFontVariationAxis iFontVariationAxis,
- ATSUFontVariationValue * oFontVariationValue);
-
-
- /*
- * ATSUGetAllFontVariations()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetAllFontVariations(
- ATSUStyle iStyle,
- ItemCount iVariationCount,
- ATSUFontVariationAxis oVariationAxes[],
- ATSUFontVariationValue oFontVariationValues[],
- ItemCount * oActualVariationCount);
-
-
- /*
- * ATSUClearFontVariations()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUClearFontVariations(
- ATSUStyle iStyle,
- ItemCount iAxisCount,
- const ATSUFontVariationAxis iAxis[]);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Basic text-layout functions */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCreateTextLayout()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCreateTextLayout(ATSUTextLayout * oTextLayout);
-
-
- /*
- * ATSUCreateAndCopyTextLayout()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCreateAndCopyTextLayout(
- ATSUTextLayout iTextLayout,
- ATSUTextLayout * oTextLayout);
-
-
- /*
- * ATSUCreateTextLayoutWithTextPtr()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCreateTextLayoutWithTextPtr(
- ConstUniCharArrayPtr iText,
- UniCharArrayOffset iTextOffset,
- UniCharCount iTextLength,
- UniCharCount iTextTotalLength,
- ItemCount iNumberOfRuns,
- const UniCharCount iRunLengths[],
- ATSUStyle iStyles[],
- ATSUTextLayout * oTextLayout);
-
-
- /*
- * ATSUCreateTextLayoutWithTextHandle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCreateTextLayoutWithTextHandle(
- UniCharArrayHandle iText,
- UniCharArrayOffset iTextOffset,
- UniCharCount iTextLength,
- UniCharCount iTextTotalLength,
- ItemCount iNumberOfRuns,
- const UniCharCount iRunLengths[],
- ATSUStyle iStyles[],
- ATSUTextLayout * oTextLayout);
-
-
- /*
- * ATSUClearLayoutCache()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUClearLayoutCache(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart);
-
-
- /*
- * ATSUDisposeTextLayout()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDisposeTextLayout(ATSUTextLayout iTextLayout);
-
-
- /*
- * ATSUSetTextLayoutRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetTextLayoutRefCon(
- ATSUTextLayout iTextLayout,
- UInt32 iRefCon);
-
-
- /*
- * ATSUGetTextLayoutRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetTextLayoutRefCon(
- ATSUTextLayout iTextLayout,
- UInt32 * oRefCon);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Glyph bounds retrieval */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUGetGlyphBounds()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetGlyphBounds(
- ATSUTextLayout iTextLayout,
- ATSUTextMeasurement iTextBasePointX,
- ATSUTextMeasurement iTextBasePointY,
- UniCharArrayOffset iBoundsCharStart,
- UniCharCount iBoundsCharLength,
- UInt16 iTypeOfBounds,
- ItemCount iMaxNumberOfBounds,
- ATSTrapezoid oGlyphBounds[],
- ItemCount * oActualNumberOfBounds);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Idle processing */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUIdle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUIdle(ATSUTextLayout iTextLayout);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Text location */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUSetTextPointerLocation()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetTextPointerLocation(
- ATSUTextLayout iTextLayout,
- ConstUniCharArrayPtr iText,
- UniCharArrayOffset iTextOffset,
- UniCharCount iTextLength,
- UniCharCount iTextTotalLength);
-
-
- /*
- * ATSUSetTextHandleLocation()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetTextHandleLocation(
- ATSUTextLayout iTextLayout,
- UniCharArrayHandle iText,
- UniCharArrayOffset iTextOffset,
- UniCharCount iTextLength,
- UniCharCount iTextTotalLength);
-
-
- /*
- * ATSUGetTextLocation()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetTextLocation(
- ATSUTextLayout iTextLayout,
- void ** oText,
- Boolean * oTextIsStoredInHandle,
- UniCharArrayOffset * oOffset,
- UniCharCount * oTextLength,
- UniCharCount * oTextTotalLength);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Text manipulation */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUTextDeleted()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUTextDeleted(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iDeletedRangeStart,
- UniCharCount iDeletedRangeLength);
-
-
- /*
- * ATSUTextInserted()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUTextInserted(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iInsertionLocation,
- UniCharCount iInsertionLength);
-
-
- /*
- * ATSUTextMoved()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUTextMoved(
- ATSUTextLayout iTextLayout,
- ConstUniCharArrayPtr iNewLocation);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Layout controls */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCopyLayoutControls()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCopyLayoutControls(
- ATSUTextLayout iSourceTextLayout,
- ATSUTextLayout iDestTextLayout);
-
-
- /*
- * ATSUSetLayoutControls()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetLayoutControls(
- ATSUTextLayout iTextLayout,
- ItemCount iAttributeCount,
- const ATSUAttributeTag iTag[],
- const ByteCount iValueSize[],
- const ATSUAttributeValuePtr iValue[]);
-
-
- /*
- * ATSUGetLayoutControl()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetLayoutControl(
- ATSUTextLayout iTextLayout,
- ATSUAttributeTag iTag,
- ByteCount iExpectedValueSize,
- ATSUAttributeValuePtr oValue,
- ByteCount * oActualValueSize);
-
-
- /*
- * ATSUGetAllLayoutControls()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetAllLayoutControls(
- ATSUTextLayout iTextLayout,
- ATSUAttributeInfo oAttributeInfoArray[],
- ItemCount iTagValuePairArraySize,
- ItemCount * oTagValuePairCount);
-
-
- /*
- * ATSUClearLayoutControls()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUClearLayoutControls(
- ATSUTextLayout iTextLayout,
- ItemCount iTagCount,
- const ATSUAttributeTag iTag[]);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Single line layout controls */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCopyLineControls()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCopyLineControls(
- ATSUTextLayout iSourceTextLayout,
- UniCharArrayOffset iSourceLineStart,
- ATSUTextLayout iDestTextLayout,
- UniCharArrayOffset iDestLineStart);
-
-
- /*
- * ATSUSetLineControls()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetLineControls(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart,
- ItemCount iAttributeCount,
- const ATSUAttributeTag iTag[],
- const ByteCount iValueSize[],
- const ATSUAttributeValuePtr iValue[]);
-
-
- /*
- * ATSUGetLineControl()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetLineControl(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart,
- ATSUAttributeTag iTag,
- ByteCount iExpectedValueSize,
- ATSUAttributeValuePtr oValue,
- ByteCount * oActualValueSize);
-
-
- /*
- * ATSUGetAllLineControls()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetAllLineControls(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart,
- ATSUAttributeInfo oAttributeInfoArray[],
- ItemCount iTagValuePairArraySize,
- ItemCount * oTagValuePairCount);
-
-
- /*
- * ATSUClearLineControls()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUClearLineControls(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart,
- ItemCount iTagCount,
- const ATSUAttributeTag iTag[]);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Style run processing */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUSetRunStyle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetRunStyle(
- ATSUTextLayout iTextLayout,
- ATSUStyle iStyle,
- UniCharArrayOffset iRunStart,
- UniCharCount iRunLength);
-
-
- /*
- * ATSUGetRunStyle()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetRunStyle(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iOffset,
- ATSUStyle * oStyle,
- UniCharArrayOffset * oRunStart,
- UniCharCount * oRunLength);
-
-
- /*
- * ATSUGetContinuousAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetContinuousAttributes(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iOffset,
- UniCharCount iLength,
- ATSUStyle oStyle);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Drawing and measuring */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUDrawText()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDrawText(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineOffset,
- UniCharCount iLineLength,
- ATSUTextMeasurement iLocationX,
- ATSUTextMeasurement iLocationY);
-
-
- /*
- Warning: ATSUMeasureText has been deprecated
- Use its replacement, ATSUGetUnjustifiedBounds, instead if available
- */
- /*
- * ATSUMeasureText()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUMeasureText(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart,
- UniCharCount iLineLength,
- ATSUTextMeasurement * oTextBefore,
- ATSUTextMeasurement * oTextAfter,
- ATSUTextMeasurement * oAscent,
- ATSUTextMeasurement * oDescent);
-
-
- /*
- * ATSUGetUnjustifiedBounds()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetUnjustifiedBounds(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart,
- UniCharCount iLineLength,
- ATSUTextMeasurement * oTextBefore,
- ATSUTextMeasurement * oTextAfter,
- ATSUTextMeasurement * oAscent,
- ATSUTextMeasurement * oDescent);
-
-
- /*
- * ATSUMeasureTextImage()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUMeasureTextImage(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineOffset,
- UniCharCount iLineLength,
- ATSUTextMeasurement iLocationX,
- ATSUTextMeasurement iLocationY,
- Rect * oTextImageRect);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Highlighting */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUHighlightText()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUHighlightText(
- ATSUTextLayout iTextLayout,
- ATSUTextMeasurement iTextBasePointX,
- ATSUTextMeasurement iTextBasePointY,
- UniCharArrayOffset iHighlightStart,
- UniCharCount iHighlightLength);
-
-
- /*
- * ATSUUnhighlightText()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUUnhighlightText(
- ATSUTextLayout iTextLayout,
- ATSUTextMeasurement iTextBasePointX,
- ATSUTextMeasurement iTextBasePointY,
- UniCharArrayOffset iHighlightStart,
- UniCharCount iHighlightLength);
-
-
- /*
- * ATSUGetTextHighlight()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetTextHighlight(
- ATSUTextLayout iTextLayout,
- ATSUTextMeasurement iTextBasePointX,
- ATSUTextMeasurement iTextBasePointY,
- UniCharArrayOffset iHighlightStart,
- UniCharCount iHighlightLength,
- RgnHandle oHighlightRegion);
-
-
- /*
- * ATSUHighlightInactiveText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUHighlightInactiveText(
- ATSUTextLayout iTextLayout,
- ATSUTextMeasurement iTextBasePointX,
- ATSUTextMeasurement iTextBasePointY,
- UniCharArrayOffset iHighlightStart,
- UniCharCount iHighlightLength);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Hit-testing */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUPositionToOffset()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUPositionToOffset(
- ATSUTextLayout iTextLayout,
- ATSUTextMeasurement iLocationX,
- ATSUTextMeasurement iLocationY,
- UniCharArrayOffset * ioPrimaryOffset,
- Boolean * oIsLeading,
- UniCharArrayOffset * oSecondaryOffset);
-
-
- /*
- * ATSUOffsetToPosition()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUOffsetToPosition(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iOffset,
- Boolean iIsLeading,
- ATSUCaret * oMainCaret,
- ATSUCaret * oSecondCaret,
- Boolean * oCaretIsSplit);
-
-
- /*
- * ATSUPositionToCursorOffset()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.2.2 and later
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUPositionToCursorOffset(
- ATSUTextLayout iTextLayout,
- ATSUTextMeasurement iLocationX,
- ATSUTextMeasurement iLocationY,
- ATSUCursorMovementType iMovementType,
- UniCharArrayOffset * ioPrimaryOffset,
- Boolean * oIsLeading,
- UniCharArrayOffset * oSecondaryOffset);
-
-
- /*
- * ATSUOffsetToCursorPosition()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.2.2 and later
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUOffsetToCursorPosition(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iOffset,
- Boolean iIsLeading,
- ATSUCursorMovementType iMovementType,
- ATSUCaret * oMainCaret,
- ATSUCaret * oSecondCaret,
- Boolean * oCaretIsSplit);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Cursor movement */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUNextCursorPosition()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUNextCursorPosition(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iOldOffset,
- ATSUCursorMovementType iMovementType,
- UniCharArrayOffset * oNewOffset);
-
-
- /*
- * ATSUPreviousCursorPosition()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUPreviousCursorPosition(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iOldOffset,
- ATSUCursorMovementType iMovementType,
- UniCharArrayOffset * oNewOffset);
-
-
- /*
- * ATSURightwardCursorPosition()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSURightwardCursorPosition(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iOldOffset,
- ATSUCursorMovementType iMovementType,
- UniCharArrayOffset * oNewOffset);
-
-
- /*
- * ATSULeftwardCursorPosition()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSULeftwardCursorPosition(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iOldOffset,
- ATSUCursorMovementType iMovementType,
- UniCharArrayOffset * oNewOffset);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Line breaking */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUBatchBreakLines()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUBatchBreakLines(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iRangeStart,
- UniCharCount iRangeLength,
- ATSUTextMeasurement iLineWidth,
- ItemCount * oBreakCount);
-
-
- /*
- * ATSUBreakLine()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUBreakLine(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart,
- ATSUTextMeasurement iLineWidth,
- Boolean iUseAsSoftLineBreak,
- UniCharArrayOffset * oLineBreak);
-
-
- /*
- * ATSUSetSoftLineBreak()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetSoftLineBreak(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineBreak);
-
-
- /*
- * ATSUGetSoftLineBreaks()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetSoftLineBreaks(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iRangeStart,
- UniCharCount iRangeLength,
- ItemCount iMaximumBreaks,
- UniCharArrayOffset oBreaks[],
- ItemCount * oBreakCount);
-
-
- /*
- * ATSUClearSoftLineBreaks()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUClearSoftLineBreaks(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iRangeStart,
- UniCharCount iRangeLength);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Tab support */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUSetTabArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetTabArray(
- ATSUTextLayout iTextLayout,
- const ATSUTab iTabs[],
- ItemCount iTabCount);
-
-
- /*
- * ATSUGetTabArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetTabArray(
- ATSUTextLayout iTextLayout,
- ItemCount iMaxTabCount,
- ATSUTab oTabs[],
- ItemCount * oTabCount);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font matching */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUSetFontFallbacks()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetFontFallbacks(
- ItemCount iFontFallbacksCount,
- const ATSUFontID iFontIDs[],
- ATSUFontFallbackMethod iFontFallbackMethod);
-
-
- /*
- * ATSUGetFontFallbacks()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontFallbacks(
- ItemCount iMaxFontFallbacksCount,
- ATSUFontID oFontIDs[],
- ATSUFontFallbackMethod * oFontFallbackMethod,
- ItemCount * oActualFallbacksCount);
-
-
- /*
- * ATSUMatchFontsToText()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUMatchFontsToText(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iTextStart,
- UniCharCount iTextLength,
- ATSUFontID * oFontID,
- UniCharArrayOffset * oChangedOffset,
- UniCharCount * oChangedLength);
-
-
- /*
- * ATSUSetTransientFontMatching()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUSetTransientFontMatching(
- ATSUTextLayout iTextLayout,
- Boolean iTransientFontMatching);
-
-
- /*
- * ATSUGetTransientFontMatching()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetTransientFontMatching(
- ATSUTextLayout iTextLayout,
- Boolean * oTransientFontMatching);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font ID's */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUFontCount()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUFontCount(ItemCount * oFontCount);
-
-
- /*
- * ATSUGetFontIDs()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontIDs(
- ATSUFontID oFontIDs[],
- ItemCount iArraySize,
- ItemCount * oFontCount);
-
-
- /*
- * ATSUFONDtoFontID()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUFONDtoFontID(
- short iFONDNumber,
- Style iFONDStyle,
- ATSUFontID * oFontID);
-
-
- /*
- * ATSUFontIDtoFOND()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUFontIDtoFOND(
- ATSUFontID iFontID,
- short * oFONDNumber,
- Style * oFONDStyle);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font names */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCountFontNames()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCountFontNames(
- ATSUFontID iFontID,
- ItemCount * oFontNameCount);
-
-
- /*
- * ATSUGetIndFontName()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetIndFontName(
- ATSUFontID iFontID,
- ItemCount iFontNameIndex,
- ByteCount iMaximumNameLength,
- Ptr oName,
- ByteCount * oActualNameLength,
- FontNameCode * oFontNameCode,
- FontPlatformCode * oFontNamePlatform,
- FontScriptCode * oFontNameScript,
- FontLanguageCode * oFontNameLanguage);
-
-
- /*
- * ATSUFindFontName()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUFindFontName(
- ATSUFontID iFontID,
- FontNameCode iFontNameCode,
- FontPlatformCode iFontNamePlatform,
- FontScriptCode iFontNameScript,
- FontLanguageCode iFontNameLanguage,
- ByteCount iMaximumNameLength,
- Ptr oName,
- ByteCount * oActualNameLength,
- ItemCount * oFontNameIndex);
-
-
- /*
- * ATSUFindFontFromName()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUFindFontFromName(
- Ptr iName,
- ByteCount iNameLength,
- FontNameCode iFontNameCode,
- FontPlatformCode iFontNamePlatform,
- FontScriptCode iFontNameScript,
- FontLanguageCode iFontNameLanguage,
- ATSUFontID * oFontID);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font features */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCountFontFeatureTypes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCountFontFeatureTypes(
- ATSUFontID iFontID,
- ItemCount * oTypeCount);
-
-
- /*
- * ATSUCountFontFeatureSelectors()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCountFontFeatureSelectors(
- ATSUFontID iFontID,
- ATSUFontFeatureType iType,
- ItemCount * oSelectorCount);
-
-
- /*
- * ATSUGetFontFeatureTypes()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontFeatureTypes(
- ATSUFontID iFontID,
- ItemCount iMaximumTypes,
- ATSUFontFeatureType oTypes[],
- ItemCount * oActualTypeCount);
-
-
- /*
- * ATSUGetFontFeatureSelectors()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontFeatureSelectors(
- ATSUFontID iFontID,
- ATSUFontFeatureType iType,
- ItemCount iMaximumSelectors,
- ATSUFontFeatureSelector oSelectors[],
- Boolean oSelectorIsOnByDefault[],
- ItemCount * oActualSelectorCount,
- Boolean * oIsMutuallyExclusive);
-
-
- /*
- * ATSUGetFontFeatureNameCode()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontFeatureNameCode(
- ATSUFontID iFontID,
- ATSUFontFeatureType iType,
- ATSUFontFeatureSelector iSelector,
- FontNameCode * oNameCode);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font tracking value & names */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCountFontTracking()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCountFontTracking(
- ATSUFontID iFontID,
- ATSUVerticalCharacterType iCharacterOrientation,
- ItemCount * oTrackingCount);
-
-
- /*
- * ATSUGetIndFontTracking()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetIndFontTracking(
- ATSUFontID iFontID,
- ATSUVerticalCharacterType iCharacterOrientation,
- ItemCount iTrackIndex,
- Fixed * oFontTrackingValue,
- FontNameCode * oNameCode);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font variations */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCountFontVariations()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCountFontVariations(
- ATSUFontID iFontID,
- ItemCount * oVariationCount);
-
-
- /*
- * ATSUGetIndFontVariation()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetIndFontVariation(
- ATSUFontID iFontID,
- ItemCount iVariationIndex,
- ATSUFontVariationAxis * oATSUFontVariationAxis,
- ATSUFontVariationValue * oMinimumValue,
- ATSUFontVariationValue * oMaximumValue,
- ATSUFontVariationValue * oDefaultValue);
-
-
- /*
- * ATSUGetFontVariationNameCode()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontVariationNameCode(
- ATSUFontID iFontID,
- ATSUFontVariationAxis iAxis,
- FontNameCode * oNameCode);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font Instances */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUCountFontInstances()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUCountFontInstances(
- ATSUFontID iFontID,
- ItemCount * oInstances);
-
-
- /*
- * ATSUGetFontInstance()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontInstance(
- ATSUFontID iFontID,
- ItemCount iFontInstanceIndex,
- ItemCount iMaximumVariations,
- ATSUFontVariationAxis oAxes[],
- ATSUFontVariationValue oValues[],
- ItemCount * oActualVariationCount);
-
-
- /*
- * ATSUGetFontInstanceNameCode()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetFontInstanceNameCode(
- ATSUFontID iFontID,
- ItemCount iInstanceIndex,
- FontNameCode * oNameCode);
-
-
-
- /********************************************************************************/
- /* ATSUI Low-Level API. For more low-level calls, see ATSUnicodeDirectAccess.h */
- /********************************************************************************/
- /* ---------------------------------------------------------------------------- */
- /* GlyphInfo access */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUGetGlyphInfo()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetGlyphInfo(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineStart,
- UniCharCount iLineLength,
- ByteCount * ioBufferSize,
- ATSUGlyphInfoArray * oGlyphInfoPtr);
-
-
- /*
- * ATSUDrawGlyphInfo()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDrawGlyphInfo(
- ATSUGlyphInfoArray * iGlyphInfoArray,
- Float32Point iLocation);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Font Data Access */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUGlyphGetIdealMetrics()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGlyphGetIdealMetrics(
- ATSUStyle iATSUStyle,
- ItemCount iNumOfGlyphs,
- GlyphID iGlyphIDs[],
- ByteOffset iInputOffset,
- ATSGlyphIdealMetrics oIdealMetrics[]);
-
-
- /*
- * ATSUGetNativeCurveType()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGetNativeCurveType(
- ATSUStyle iATSUStyle,
- ATSCurveType * oCurveType);
-
-
- /* ---------------------------------------------------------------------------- */
- /* Device specific routines */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUGlyphGetScreenMetrics()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGlyphGetScreenMetrics(
- ATSUStyle iATSUStyle,
- ItemCount iNumOfGlyphs,
- GlyphID iGlyphIDs[],
- ByteOffset iInputOffset,
- Boolean iForcingAntiAlias,
- Boolean iAntiAliasSwitch,
- ATSGlyphScreenMetrics oScreenMetrics[]);
-
-
- /* ---------------------------------------------------------------------------- */
- /* ATSUGlyphGetQuadraticPaths callbacks */
- /* ---------------------------------------------------------------------------- */
- typedef CALLBACK_API(OSStatus , ATSQuadraticLineProcPtr)(const Float32Point *pt1, const Float32Point *pt2, void *callBackDataPtr);
- typedef CALLBACK_API(OSStatus , ATSQuadraticCurveProcPtr)(const Float32Point *pt1, const Float32Point *controlPt, const Float32Point *pt2, void *callBackDataPtr);
- typedef CALLBACK_API(OSStatus , ATSQuadraticNewPathProcPtr)(void * callBackDataPtr);
- typedef CALLBACK_API(OSStatus , ATSQuadraticClosePathProcPtr)(void * callBackDataPtr);
- typedef TVECTOR_UPP_TYPE(ATSQuadraticLineProcPtr) ATSQuadraticLineUPP;
- typedef TVECTOR_UPP_TYPE(ATSQuadraticCurveProcPtr) ATSQuadraticCurveUPP;
- typedef TVECTOR_UPP_TYPE(ATSQuadraticNewPathProcPtr) ATSQuadraticNewPathUPP;
- typedef TVECTOR_UPP_TYPE(ATSQuadraticClosePathProcPtr) ATSQuadraticClosePathUPP;
- /*
- * NewATSQuadraticLineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSQuadraticLineUPP)
- NewATSQuadraticLineUPP(ATSQuadraticLineProcPtr userRoutine);
+/*
+ * ATSUCreateFontFallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCreateFontFallbacks(ATSUFontFallbacks * oFontFallback);
+
+
+/*
+ * ATSUDisposeFontFallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDisposeFontFallbacks(ATSUFontFallbacks iFontFallbacks);
+
+
+/*
+ * ATSUSetObjFontFallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetObjFontFallbacks(
+ ATSUFontFallbacks iFontFallbacks,
+ ItemCount iFontFallbacksCount,
+ const ATSUFontID iFonts[],
+ ATSUFontFallbackMethod iFontFallbackMethod);
+
+
+/*
+ * ATSUGetObjFontFallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetObjFontFallbacks(
+ ATSUFontFallbacks iFontFallbacks,
+ ItemCount iMaxFontFallbacksCount,
+ ATSUFontID oFonts[],
+ ATSUFontFallbackMethod * oFontFallbackMethod,
+ ItemCount * oActualFallbacksCount);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Basic style functions */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCreateStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCreateStyle(ATSUStyle * oStyle);
+
+
+/*
+ * ATSUCreateAndCopyStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCreateAndCopyStyle(
+ ATSUStyle iStyle,
+ ATSUStyle * oStyle);
+
+
+/*
+ * ATSUDisposeStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDisposeStyle(ATSUStyle iStyle);
+
+
+/*
+ * ATSUSetStyleRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetStyleRefCon(
+ ATSUStyle iStyle,
+ UInt32 iRefCon);
+
+
+/*
+ * ATSUGetStyleRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetStyleRefCon(
+ ATSUStyle iStyle,
+ UInt32 * oRefCon);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Style comparison */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCompareStyles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCompareStyles(
+ ATSUStyle iFirstStyle,
+ ATSUStyle iSecondStyle,
+ ATSUStyleComparison * oComparison);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Attribute manipulations */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCopyAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCopyAttributes(
+ ATSUStyle iSourceStyle,
+ ATSUStyle iDestinationStyle);
+
+
+/*
+ * ATSUOverwriteAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUOverwriteAttributes(
+ ATSUStyle iSourceStyle,
+ ATSUStyle iDestinationStyle);
+
+
+/*
+ * ATSUUnderwriteAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUUnderwriteAttributes(
+ ATSUStyle iSourceStyle,
+ ATSUStyle iDestinationStyle);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Empty styles */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUClearStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUClearStyle(ATSUStyle iStyle);
+
+
+/*
+ * ATSUStyleIsEmpty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUStyleIsEmpty(
+ ATSUStyle iStyle,
+ Boolean * oIsClear);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Get and set attributes */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCalculateBaselineDeltas()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCalculateBaselineDeltas(
+ ATSUStyle iStyle,
+ BslnBaselineClass iBaselineClass,
+ BslnBaselineRecord oBaselineDeltas);
+
+
+/*
+ * ATSUSetAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetAttributes(
+ ATSUStyle iStyle,
+ ItemCount iAttributeCount,
+ const ATSUAttributeTag iTag[],
+ const ByteCount iValueSize[],
+ const ATSUAttributeValuePtr iValue[]);
+
+
+/*
+ * ATSUGetAttribute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetAttribute(
+ ATSUStyle iStyle,
+ ATSUAttributeTag iTag,
+ ByteCount iExpectedValueSize,
+ ATSUAttributeValuePtr oValue,
+ ByteCount * oActualValueSize);
+
+
+/*
+ * ATSUGetAllAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetAllAttributes(
+ ATSUStyle iStyle,
+ ATSUAttributeInfo oAttributeInfoArray[],
+ ItemCount iTagValuePairArraySize,
+ ItemCount * oTagValuePairCount);
+
+
+/*
+ * ATSUClearAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUClearAttributes(
+ ATSUStyle iStyle,
+ ItemCount iTagCount,
+ const ATSUAttributeTag iTag[]);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font features */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUSetFontFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetFontFeatures(
+ ATSUStyle iStyle,
+ ItemCount iFeatureCount,
+ const ATSUFontFeatureType iType[],
+ const ATSUFontFeatureSelector iSelector[]);
+
+
+/*
+ * ATSUGetFontFeature()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontFeature(
+ ATSUStyle iStyle,
+ ItemCount iFeatureIndex,
+ ATSUFontFeatureType * oFeatureType,
+ ATSUFontFeatureSelector * oFeatureSelector);
+
+
+/*
+ * ATSUGetAllFontFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetAllFontFeatures(
+ ATSUStyle iStyle,
+ ItemCount iMaximumFeatureCount,
+ ATSUFontFeatureType oFeatureType[],
+ ATSUFontFeatureSelector oFeatureSelector[],
+ ItemCount * oActualFeatureCount);
+
+
+/*
+ * ATSUClearFontFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUClearFontFeatures(
+ ATSUStyle iStyle,
+ ItemCount iFeatureCount,
+ const ATSUFontFeatureType iType[],
+ const ATSUFontFeatureSelector iSelector[]);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font variations */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUSetVariations()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetVariations(
+ ATSUStyle iStyle,
+ ItemCount iVariationCount,
+ const ATSUFontVariationAxis iAxes[],
+ const ATSUFontVariationValue iValue[]);
+
+
+/*
+ * ATSUGetFontVariationValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontVariationValue(
+ ATSUStyle iStyle,
+ ATSUFontVariationAxis iFontVariationAxis,
+ ATSUFontVariationValue * oFontVariationValue);
+
+
+/*
+ * ATSUGetAllFontVariations()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetAllFontVariations(
+ ATSUStyle iStyle,
+ ItemCount iVariationCount,
+ ATSUFontVariationAxis oVariationAxes[],
+ ATSUFontVariationValue oFontVariationValues[],
+ ItemCount * oActualVariationCount);
+
+
+/*
+ * ATSUClearFontVariations()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUClearFontVariations(
+ ATSUStyle iStyle,
+ ItemCount iAxisCount,
+ const ATSUFontVariationAxis iAxis[]);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Basic text-layout functions */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCreateTextLayout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCreateTextLayout(ATSUTextLayout * oTextLayout);
+
+
+/*
+ * ATSUCreateAndCopyTextLayout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCreateAndCopyTextLayout(
+ ATSUTextLayout iTextLayout,
+ ATSUTextLayout * oTextLayout);
+
+
+/*
+ * ATSUCreateTextLayoutWithTextPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCreateTextLayoutWithTextPtr(
+ ConstUniCharArrayPtr iText,
+ UniCharArrayOffset iTextOffset,
+ UniCharCount iTextLength,
+ UniCharCount iTextTotalLength,
+ ItemCount iNumberOfRuns,
+ const UniCharCount iRunLengths[],
+ ATSUStyle iStyles[],
+ ATSUTextLayout * oTextLayout);
+
+
+/*
+ * ATSUCreateTextLayoutWithTextHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCreateTextLayoutWithTextHandle(
+ UniCharArrayHandle iText,
+ UniCharArrayOffset iTextOffset,
+ UniCharCount iTextLength,
+ UniCharCount iTextTotalLength,
+ ItemCount iNumberOfRuns,
+ const UniCharCount iRunLengths[],
+ ATSUStyle iStyles[],
+ ATSUTextLayout * oTextLayout);
+
+
+/*
+ * ATSUClearLayoutCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUClearLayoutCache(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart);
+
+
+/*
+ * ATSUDisposeTextLayout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDisposeTextLayout(ATSUTextLayout iTextLayout);
+
+
+/*
+ * ATSUSetTextLayoutRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetTextLayoutRefCon(
+ ATSUTextLayout iTextLayout,
+ UInt32 iRefCon);
+
+
+/*
+ * ATSUGetTextLayoutRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetTextLayoutRefCon(
+ ATSUTextLayout iTextLayout,
+ UInt32 * oRefCon);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Glyph bounds retrieval */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUGetGlyphBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetGlyphBounds(
+ ATSUTextLayout iTextLayout,
+ ATSUTextMeasurement iTextBasePointX,
+ ATSUTextMeasurement iTextBasePointY,
+ UniCharArrayOffset iBoundsCharStart,
+ UniCharCount iBoundsCharLength,
+ UInt16 iTypeOfBounds,
+ ItemCount iMaxNumberOfBounds,
+ ATSTrapezoid oGlyphBounds[],
+ ItemCount * oActualNumberOfBounds);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Idle processing */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUIdle(ATSUTextLayout iTextLayout);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Text location */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUSetTextPointerLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetTextPointerLocation(
+ ATSUTextLayout iTextLayout,
+ ConstUniCharArrayPtr iText,
+ UniCharArrayOffset iTextOffset,
+ UniCharCount iTextLength,
+ UniCharCount iTextTotalLength);
+
+
+/*
+ * ATSUSetTextHandleLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetTextHandleLocation(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayHandle iText,
+ UniCharArrayOffset iTextOffset,
+ UniCharCount iTextLength,
+ UniCharCount iTextTotalLength);
+
+
+/*
+ * ATSUGetTextLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetTextLocation(
+ ATSUTextLayout iTextLayout,
+ void ** oText,
+ Boolean * oTextIsStoredInHandle,
+ UniCharArrayOffset * oOffset,
+ UniCharCount * oTextLength,
+ UniCharCount * oTextTotalLength);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Text manipulation */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUTextDeleted()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUTextDeleted(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iDeletedRangeStart,
+ UniCharCount iDeletedRangeLength);
+
+
+/*
+ * ATSUTextInserted()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUTextInserted(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iInsertionLocation,
+ UniCharCount iInsertionLength);
+
+
+/*
+ * ATSUTextMoved()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUTextMoved(
+ ATSUTextLayout iTextLayout,
+ ConstUniCharArrayPtr iNewLocation);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Layout controls */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCopyLayoutControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCopyLayoutControls(
+ ATSUTextLayout iSourceTextLayout,
+ ATSUTextLayout iDestTextLayout);
+
+
+/*
+ * ATSUSetLayoutControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetLayoutControls(
+ ATSUTextLayout iTextLayout,
+ ItemCount iAttributeCount,
+ const ATSUAttributeTag iTag[],
+ const ByteCount iValueSize[],
+ const ATSUAttributeValuePtr iValue[]);
+
+
+/*
+ * ATSUGetLayoutControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetLayoutControl(
+ ATSUTextLayout iTextLayout,
+ ATSUAttributeTag iTag,
+ ByteCount iExpectedValueSize,
+ ATSUAttributeValuePtr oValue,
+ ByteCount * oActualValueSize);
+
+
+/*
+ * ATSUGetAllLayoutControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetAllLayoutControls(
+ ATSUTextLayout iTextLayout,
+ ATSUAttributeInfo oAttributeInfoArray[],
+ ItemCount iTagValuePairArraySize,
+ ItemCount * oTagValuePairCount);
+
+
+/*
+ * ATSUClearLayoutControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUClearLayoutControls(
+ ATSUTextLayout iTextLayout,
+ ItemCount iTagCount,
+ const ATSUAttributeTag iTag[]);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Single line layout controls */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCopyLineControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCopyLineControls(
+ ATSUTextLayout iSourceTextLayout,
+ UniCharArrayOffset iSourceLineStart,
+ ATSUTextLayout iDestTextLayout,
+ UniCharArrayOffset iDestLineStart);
+
+
+/*
+ * ATSUSetLineControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetLineControls(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart,
+ ItemCount iAttributeCount,
+ const ATSUAttributeTag iTag[],
+ const ByteCount iValueSize[],
+ const ATSUAttributeValuePtr iValue[]);
+
+
+/*
+ * ATSUGetLineControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetLineControl(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart,
+ ATSUAttributeTag iTag,
+ ByteCount iExpectedValueSize,
+ ATSUAttributeValuePtr oValue,
+ ByteCount * oActualValueSize);
+
+
+/*
+ * ATSUGetAllLineControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetAllLineControls(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart,
+ ATSUAttributeInfo oAttributeInfoArray[],
+ ItemCount iTagValuePairArraySize,
+ ItemCount * oTagValuePairCount);
+
+
+/*
+ * ATSUClearLineControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUClearLineControls(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart,
+ ItemCount iTagCount,
+ const ATSUAttributeTag iTag[]);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Style run processing */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUSetRunStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetRunStyle(
+ ATSUTextLayout iTextLayout,
+ ATSUStyle iStyle,
+ UniCharArrayOffset iRunStart,
+ UniCharCount iRunLength);
+
+
+/*
+ * ATSUGetRunStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetRunStyle(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iOffset,
+ ATSUStyle * oStyle,
+ UniCharArrayOffset * oRunStart,
+ UniCharCount * oRunLength);
+
+
+/*
+ * ATSUGetContinuousAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetContinuousAttributes(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iOffset,
+ UniCharCount iLength,
+ ATSUStyle oStyle);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Drawing and measuring */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUDrawText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDrawText(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineOffset,
+ UniCharCount iLineLength,
+ ATSUTextMeasurement iLocationX,
+ ATSUTextMeasurement iLocationY);
+
+
+/*
+ Warning: ATSUMeasureText has been deprecated
+ Use its replacement, ATSUGetUnjustifiedBounds, instead if available
+*/
+/*
+ * ATSUMeasureText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUMeasureText(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart,
+ UniCharCount iLineLength,
+ ATSUTextMeasurement * oTextBefore,
+ ATSUTextMeasurement * oTextAfter,
+ ATSUTextMeasurement * oAscent,
+ ATSUTextMeasurement * oDescent);
+
+
+/*
+ * ATSUGetUnjustifiedBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetUnjustifiedBounds(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart,
+ UniCharCount iLineLength,
+ ATSUTextMeasurement * oTextBefore,
+ ATSUTextMeasurement * oTextAfter,
+ ATSUTextMeasurement * oAscent,
+ ATSUTextMeasurement * oDescent);
+
+
+/*
+ * ATSUMeasureTextImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUMeasureTextImage(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineOffset,
+ UniCharCount iLineLength,
+ ATSUTextMeasurement iLocationX,
+ ATSUTextMeasurement iLocationY,
+ Rect * oTextImageRect);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Highlighting */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUHighlightText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUHighlightText(
+ ATSUTextLayout iTextLayout,
+ ATSUTextMeasurement iTextBasePointX,
+ ATSUTextMeasurement iTextBasePointY,
+ UniCharArrayOffset iHighlightStart,
+ UniCharCount iHighlightLength);
+
+
+/*
+ * ATSUUnhighlightText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUUnhighlightText(
+ ATSUTextLayout iTextLayout,
+ ATSUTextMeasurement iTextBasePointX,
+ ATSUTextMeasurement iTextBasePointY,
+ UniCharArrayOffset iHighlightStart,
+ UniCharCount iHighlightLength);
+
+
+/*
+ * ATSUGetTextHighlight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetTextHighlight(
+ ATSUTextLayout iTextLayout,
+ ATSUTextMeasurement iTextBasePointX,
+ ATSUTextMeasurement iTextBasePointY,
+ UniCharArrayOffset iHighlightStart,
+ UniCharCount iHighlightLength,
+ RgnHandle oHighlightRegion);
+
+
+/*
+ * ATSUHighlightInactiveText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUHighlightInactiveText(
+ ATSUTextLayout iTextLayout,
+ ATSUTextMeasurement iTextBasePointX,
+ ATSUTextMeasurement iTextBasePointY,
+ UniCharArrayOffset iHighlightStart,
+ UniCharCount iHighlightLength);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Hit-testing */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUPositionToOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUPositionToOffset(
+ ATSUTextLayout iTextLayout,
+ ATSUTextMeasurement iLocationX,
+ ATSUTextMeasurement iLocationY,
+ UniCharArrayOffset * ioPrimaryOffset,
+ Boolean * oIsLeading,
+ UniCharArrayOffset * oSecondaryOffset);
+
+
+/*
+ * ATSUOffsetToPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUOffsetToPosition(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iOffset,
+ Boolean iIsLeading,
+ ATSUCaret * oMainCaret,
+ ATSUCaret * oSecondCaret,
+ Boolean * oCaretIsSplit);
+
+
+/*
+ * ATSUPositionToCursorOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.2.2 and later
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUPositionToCursorOffset(
+ ATSUTextLayout iTextLayout,
+ ATSUTextMeasurement iLocationX,
+ ATSUTextMeasurement iLocationY,
+ ATSUCursorMovementType iMovementType,
+ UniCharArrayOffset * ioPrimaryOffset,
+ Boolean * oIsLeading,
+ UniCharArrayOffset * oSecondaryOffset);
+
+
+/*
+ * ATSUOffsetToCursorPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.2.2 and later
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUOffsetToCursorPosition(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iOffset,
+ Boolean iIsLeading,
+ ATSUCursorMovementType iMovementType,
+ ATSUCaret * oMainCaret,
+ ATSUCaret * oSecondCaret,
+ Boolean * oCaretIsSplit);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Cursor movement */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUNextCursorPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUNextCursorPosition(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iOldOffset,
+ ATSUCursorMovementType iMovementType,
+ UniCharArrayOffset * oNewOffset);
+
+
+/*
+ * ATSUPreviousCursorPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUPreviousCursorPosition(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iOldOffset,
+ ATSUCursorMovementType iMovementType,
+ UniCharArrayOffset * oNewOffset);
+
+
+/*
+ * ATSURightwardCursorPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSURightwardCursorPosition(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iOldOffset,
+ ATSUCursorMovementType iMovementType,
+ UniCharArrayOffset * oNewOffset);
+
+
+/*
+ * ATSULeftwardCursorPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSULeftwardCursorPosition(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iOldOffset,
+ ATSUCursorMovementType iMovementType,
+ UniCharArrayOffset * oNewOffset);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Line breaking */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUBatchBreakLines()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUBatchBreakLines(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iRangeStart,
+ UniCharCount iRangeLength,
+ ATSUTextMeasurement iLineWidth,
+ ItemCount * oBreakCount);
+
+
+/*
+ * ATSUBreakLine()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUBreakLine(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart,
+ ATSUTextMeasurement iLineWidth,
+ Boolean iUseAsSoftLineBreak,
+ UniCharArrayOffset * oLineBreak);
+
+
+/*
+ * ATSUSetSoftLineBreak()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetSoftLineBreak(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineBreak);
+
+
+/*
+ * ATSUGetSoftLineBreaks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetSoftLineBreaks(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iRangeStart,
+ UniCharCount iRangeLength,
+ ItemCount iMaximumBreaks,
+ UniCharArrayOffset oBreaks[],
+ ItemCount * oBreakCount);
+
+
+/*
+ * ATSUClearSoftLineBreaks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUClearSoftLineBreaks(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iRangeStart,
+ UniCharCount iRangeLength);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Tab support */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUSetTabArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetTabArray(
+ ATSUTextLayout iTextLayout,
+ const ATSUTab iTabs[],
+ ItemCount iTabCount);
+
+
+/*
+ * ATSUGetTabArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetTabArray(
+ ATSUTextLayout iTextLayout,
+ ItemCount iMaxTabCount,
+ ATSUTab oTabs[],
+ ItemCount * oTabCount);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font matching */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUSetFontFallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetFontFallbacks(
+ ItemCount iFontFallbacksCount,
+ const ATSUFontID iFontIDs[],
+ ATSUFontFallbackMethod iFontFallbackMethod);
+
+
+/*
+ * ATSUGetFontFallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontFallbacks(
+ ItemCount iMaxFontFallbacksCount,
+ ATSUFontID oFontIDs[],
+ ATSUFontFallbackMethod * oFontFallbackMethod,
+ ItemCount * oActualFallbacksCount);
+
+
+/*
+ * ATSUMatchFontsToText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUMatchFontsToText(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iTextStart,
+ UniCharCount iTextLength,
+ ATSUFontID * oFontID,
+ UniCharArrayOffset * oChangedOffset,
+ UniCharCount * oChangedLength);
+
+
+/*
+ * ATSUSetTransientFontMatching()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUSetTransientFontMatching(
+ ATSUTextLayout iTextLayout,
+ Boolean iTransientFontMatching);
+
+
+/*
+ * ATSUGetTransientFontMatching()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetTransientFontMatching(
+ ATSUTextLayout iTextLayout,
+ Boolean * oTransientFontMatching);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font ID's */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUFontCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUFontCount(ItemCount * oFontCount);
+
+
+/*
+ * ATSUGetFontIDs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontIDs(
+ ATSUFontID oFontIDs[],
+ ItemCount iArraySize,
+ ItemCount * oFontCount);
+
+
+/*
+ * ATSUFONDtoFontID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUFONDtoFontID(
+ short iFONDNumber,
+ Style iFONDStyle,
+ ATSUFontID * oFontID);
+
+
+/*
+ * ATSUFontIDtoFOND()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUFontIDtoFOND(
+ ATSUFontID iFontID,
+ short * oFONDNumber,
+ Style * oFONDStyle);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font names */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCountFontNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCountFontNames(
+ ATSUFontID iFontID,
+ ItemCount * oFontNameCount);
+
+
+/*
+ * ATSUGetIndFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetIndFontName(
+ ATSUFontID iFontID,
+ ItemCount iFontNameIndex,
+ ByteCount iMaximumNameLength,
+ Ptr oName,
+ ByteCount * oActualNameLength,
+ FontNameCode * oFontNameCode,
+ FontPlatformCode * oFontNamePlatform,
+ FontScriptCode * oFontNameScript,
+ FontLanguageCode * oFontNameLanguage);
+
+
+/*
+ * ATSUFindFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUFindFontName(
+ ATSUFontID iFontID,
+ FontNameCode iFontNameCode,
+ FontPlatformCode iFontNamePlatform,
+ FontScriptCode iFontNameScript,
+ FontLanguageCode iFontNameLanguage,
+ ByteCount iMaximumNameLength,
+ Ptr oName,
+ ByteCount * oActualNameLength,
+ ItemCount * oFontNameIndex);
+
+
+/*
+ * ATSUFindFontFromName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUFindFontFromName(
+ Ptr iName,
+ ByteCount iNameLength,
+ FontNameCode iFontNameCode,
+ FontPlatformCode iFontNamePlatform,
+ FontScriptCode iFontNameScript,
+ FontLanguageCode iFontNameLanguage,
+ ATSUFontID * oFontID);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font features */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCountFontFeatureTypes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCountFontFeatureTypes(
+ ATSUFontID iFontID,
+ ItemCount * oTypeCount);
+
+
+/*
+ * ATSUCountFontFeatureSelectors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCountFontFeatureSelectors(
+ ATSUFontID iFontID,
+ ATSUFontFeatureType iType,
+ ItemCount * oSelectorCount);
+
+
+/*
+ * ATSUGetFontFeatureTypes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontFeatureTypes(
+ ATSUFontID iFontID,
+ ItemCount iMaximumTypes,
+ ATSUFontFeatureType oTypes[],
+ ItemCount * oActualTypeCount);
+
+
+/*
+ * ATSUGetFontFeatureSelectors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontFeatureSelectors(
+ ATSUFontID iFontID,
+ ATSUFontFeatureType iType,
+ ItemCount iMaximumSelectors,
+ ATSUFontFeatureSelector oSelectors[],
+ Boolean oSelectorIsOnByDefault[],
+ ItemCount * oActualSelectorCount,
+ Boolean * oIsMutuallyExclusive);
+
+
+/*
+ * ATSUGetFontFeatureNameCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontFeatureNameCode(
+ ATSUFontID iFontID,
+ ATSUFontFeatureType iType,
+ ATSUFontFeatureSelector iSelector,
+ FontNameCode * oNameCode);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font tracking value & names */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCountFontTracking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCountFontTracking(
+ ATSUFontID iFontID,
+ ATSUVerticalCharacterType iCharacterOrientation,
+ ItemCount * oTrackingCount);
+
+
+/*
+ * ATSUGetIndFontTracking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetIndFontTracking(
+ ATSUFontID iFontID,
+ ATSUVerticalCharacterType iCharacterOrientation,
+ ItemCount iTrackIndex,
+ Fixed * oFontTrackingValue,
+ FontNameCode * oNameCode);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font variations */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCountFontVariations()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCountFontVariations(
+ ATSUFontID iFontID,
+ ItemCount * oVariationCount);
+
+
+/*
+ * ATSUGetIndFontVariation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetIndFontVariation(
+ ATSUFontID iFontID,
+ ItemCount iVariationIndex,
+ ATSUFontVariationAxis * oATSUFontVariationAxis,
+ ATSUFontVariationValue * oMinimumValue,
+ ATSUFontVariationValue * oMaximumValue,
+ ATSUFontVariationValue * oDefaultValue);
+
+
+/*
+ * ATSUGetFontVariationNameCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontVariationNameCode(
+ ATSUFontID iFontID,
+ ATSUFontVariationAxis iAxis,
+ FontNameCode * oNameCode);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font Instances */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUCountFontInstances()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUCountFontInstances(
+ ATSUFontID iFontID,
+ ItemCount * oInstances);
+
+
+/*
+ * ATSUGetFontInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontInstance(
+ ATSUFontID iFontID,
+ ItemCount iFontInstanceIndex,
+ ItemCount iMaximumVariations,
+ ATSUFontVariationAxis oAxes[],
+ ATSUFontVariationValue oValues[],
+ ItemCount * oActualVariationCount);
+
+
+/*
+ * ATSUGetFontInstanceNameCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetFontInstanceNameCode(
+ ATSUFontID iFontID,
+ ItemCount iInstanceIndex,
+ FontNameCode * oNameCode);
+
+
+
+/********************************************************************************/
+/* ATSUI Low-Level API. For more low-level calls, see ATSUnicodeDirectAccess.h */
+/********************************************************************************/
+/* ---------------------------------------------------------------------------- */
+/* GlyphInfo access */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUGetGlyphInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetGlyphInfo(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineStart,
+ UniCharCount iLineLength,
+ ByteCount * ioBufferSize,
+ ATSUGlyphInfoArray * oGlyphInfoPtr);
+
+
+/*
+ * ATSUDrawGlyphInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDrawGlyphInfo(
+ ATSUGlyphInfoArray * iGlyphInfoArray,
+ Float32Point iLocation);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Font Data Access */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUGlyphGetIdealMetrics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGlyphGetIdealMetrics(
+ ATSUStyle iATSUStyle,
+ ItemCount iNumOfGlyphs,
+ GlyphID iGlyphIDs[],
+ ByteOffset iInputOffset,
+ ATSGlyphIdealMetrics oIdealMetrics[]);
+
+
+/*
+ * ATSUGetNativeCurveType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGetNativeCurveType(
+ ATSUStyle iATSUStyle,
+ ATSCurveType * oCurveType);
+
+
+/* ---------------------------------------------------------------------------- */
+/* Device specific routines */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUGlyphGetScreenMetrics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGlyphGetScreenMetrics(
+ ATSUStyle iATSUStyle,
+ ItemCount iNumOfGlyphs,
+ GlyphID iGlyphIDs[],
+ ByteOffset iInputOffset,
+ Boolean iForcingAntiAlias,
+ Boolean iAntiAliasSwitch,
+ ATSGlyphScreenMetrics oScreenMetrics[]);
+
+
+/* ---------------------------------------------------------------------------- */
+/* ATSUGlyphGetQuadraticPaths callbacks */
+/* ---------------------------------------------------------------------------- */
+typedef CALLBACK_API( OSStatus , ATSQuadraticLineProcPtr )(const Float32Point *pt1, const Float32Point *pt2, void *callBackDataPtr);
+typedef CALLBACK_API( OSStatus , ATSQuadraticCurveProcPtr )(const Float32Point *pt1, const Float32Point *controlPt, const Float32Point *pt2, void *callBackDataPtr);
+typedef CALLBACK_API( OSStatus , ATSQuadraticNewPathProcPtr )(void * callBackDataPtr);
+typedef CALLBACK_API( OSStatus , ATSQuadraticClosePathProcPtr )(void * callBackDataPtr);
+typedef TVECTOR_UPP_TYPE(ATSQuadraticLineProcPtr) ATSQuadraticLineUPP;
+typedef TVECTOR_UPP_TYPE(ATSQuadraticCurveProcPtr) ATSQuadraticCurveUPP;
+typedef TVECTOR_UPP_TYPE(ATSQuadraticNewPathProcPtr) ATSQuadraticNewPathUPP;
+typedef TVECTOR_UPP_TYPE(ATSQuadraticClosePathProcPtr) ATSQuadraticClosePathUPP;
+/*
+ * NewATSQuadraticLineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSQuadraticLineUPP )
+NewATSQuadraticLineUPP(ATSQuadraticLineProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSQuadraticLineProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSQuadraticLineUPP) NewATSQuadraticLineUPP(ATSQuadraticLineProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSQuadraticLineUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSQuadraticLineProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSQuadraticLineUPP) NewATSQuadraticLineUPP(ATSQuadraticLineProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSQuadraticLineUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewATSQuadraticCurveUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSQuadraticCurveUPP)
- NewATSQuadraticCurveUPP(ATSQuadraticCurveProcPtr userRoutine);
+/*
+ * NewATSQuadraticCurveUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSQuadraticCurveUPP )
+NewATSQuadraticCurveUPP(ATSQuadraticCurveProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSQuadraticCurveProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSQuadraticCurveUPP) NewATSQuadraticCurveUPP(ATSQuadraticCurveProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSQuadraticCurveUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSQuadraticCurveProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSQuadraticCurveUPP) NewATSQuadraticCurveUPP(ATSQuadraticCurveProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSQuadraticCurveUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewATSQuadraticNewPathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSQuadraticNewPathUPP)
- NewATSQuadraticNewPathUPP(ATSQuadraticNewPathProcPtr userRoutine);
+/*
+ * NewATSQuadraticNewPathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSQuadraticNewPathUPP )
+NewATSQuadraticNewPathUPP(ATSQuadraticNewPathProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSQuadraticNewPathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSQuadraticNewPathUPP) NewATSQuadraticNewPathUPP(ATSQuadraticNewPathProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSQuadraticNewPathUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSQuadraticNewPathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSQuadraticNewPathUPP) NewATSQuadraticNewPathUPP(ATSQuadraticNewPathProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSQuadraticNewPathUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewATSQuadraticClosePathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSQuadraticClosePathUPP)
- NewATSQuadraticClosePathUPP(ATSQuadraticClosePathProcPtr userRoutine);
+/*
+ * NewATSQuadraticClosePathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSQuadraticClosePathUPP )
+NewATSQuadraticClosePathUPP(ATSQuadraticClosePathProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSQuadraticClosePathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSQuadraticClosePathUPP) NewATSQuadraticClosePathUPP(ATSQuadraticClosePathProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSQuadraticClosePathUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSQuadraticClosePathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSQuadraticClosePathUPP) NewATSQuadraticClosePathUPP(ATSQuadraticClosePathProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSQuadraticClosePathUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeATSQuadraticLineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeATSQuadraticLineUPP(ATSQuadraticLineUPP userUPP);
+/*
+ * DisposeATSQuadraticLineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeATSQuadraticLineUPP(ATSQuadraticLineUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSQuadraticLineUPP(ATSQuadraticLineUPP) {}
-#else
-#define DisposeATSQuadraticLineUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSQuadraticLineUPP(ATSQuadraticLineUPP) {}
+ #else
+ #define DisposeATSQuadraticLineUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeATSQuadraticCurveUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeATSQuadraticCurveUPP(ATSQuadraticCurveUPP userUPP);
+/*
+ * DisposeATSQuadraticCurveUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeATSQuadraticCurveUPP(ATSQuadraticCurveUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSQuadraticCurveUPP(ATSQuadraticCurveUPP) {}
-#else
-#define DisposeATSQuadraticCurveUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSQuadraticCurveUPP(ATSQuadraticCurveUPP) {}
+ #else
+ #define DisposeATSQuadraticCurveUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeATSQuadraticNewPathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeATSQuadraticNewPathUPP(ATSQuadraticNewPathUPP userUPP);
+/*
+ * DisposeATSQuadraticNewPathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeATSQuadraticNewPathUPP(ATSQuadraticNewPathUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSQuadraticNewPathUPP(ATSQuadraticNewPathUPP) {}
-#else
-#define DisposeATSQuadraticNewPathUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSQuadraticNewPathUPP(ATSQuadraticNewPathUPP) {}
+ #else
+ #define DisposeATSQuadraticNewPathUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeATSQuadraticClosePathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeATSQuadraticClosePathUPP(ATSQuadraticClosePathUPP userUPP);
+/*
+ * DisposeATSQuadraticClosePathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeATSQuadraticClosePathUPP(ATSQuadraticClosePathUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSQuadraticClosePathUPP(ATSQuadraticClosePathUPP) {}
-#else
-#define DisposeATSQuadraticClosePathUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSQuadraticClosePathUPP(ATSQuadraticClosePathUPP) {}
+ #else
+ #define DisposeATSQuadraticClosePathUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeATSQuadraticLineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSQuadraticLineUPP(
- const Float32Point * pt1,
- const Float32Point * pt2,
- void * callBackDataPtr,
- ATSQuadraticLineUPP userUPP);
+/*
+ * InvokeATSQuadraticLineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSQuadraticLineUPP(
+ const Float32Point * pt1,
+ const Float32Point * pt2,
+ void * callBackDataPtr,
+ ATSQuadraticLineUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSQuadraticLineUPP(const Float32Point * pt1, const Float32Point * pt2, void * callBackDataPtr, ATSQuadraticLineUPP userUPP)
- {
- return (*userUPP)(pt1, pt2, callBackDataPtr);
- }
-#else
-#define InvokeATSQuadraticLineUPP(pt1, pt2, callBackDataPtr, userUPP) (*userUPP)(pt1, pt2, callBackDataPtr)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSQuadraticLineUPP(const Float32Point * pt1, const Float32Point * pt2, void * callBackDataPtr, ATSQuadraticLineUPP userUPP) { return (*userUPP)(pt1, pt2, callBackDataPtr); }
+ #else
+ #define InvokeATSQuadraticLineUPP(pt1, pt2, callBackDataPtr, userUPP) (*userUPP)(pt1, pt2, callBackDataPtr)
+ #endif
#endif
- /*
- * InvokeATSQuadraticCurveUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSQuadraticCurveUPP(
- const Float32Point * pt1,
- const Float32Point * controlPt,
- const Float32Point * pt2,
- void * callBackDataPtr,
- ATSQuadraticCurveUPP userUPP);
+/*
+ * InvokeATSQuadraticCurveUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSQuadraticCurveUPP(
+ const Float32Point * pt1,
+ const Float32Point * controlPt,
+ const Float32Point * pt2,
+ void * callBackDataPtr,
+ ATSQuadraticCurveUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSQuadraticCurveUPP(const Float32Point * pt1, const Float32Point * controlPt, const Float32Point * pt2, void * callBackDataPtr, ATSQuadraticCurveUPP userUPP)
- {
- return (*userUPP)(pt1, controlPt, pt2, callBackDataPtr);
- }
-#else
-#define InvokeATSQuadraticCurveUPP(pt1, controlPt, pt2, callBackDataPtr, userUPP) (*userUPP)(pt1, controlPt, pt2, callBackDataPtr)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSQuadraticCurveUPP(const Float32Point * pt1, const Float32Point * controlPt, const Float32Point * pt2, void * callBackDataPtr, ATSQuadraticCurveUPP userUPP) { return (*userUPP)(pt1, controlPt, pt2, callBackDataPtr); }
+ #else
+ #define InvokeATSQuadraticCurveUPP(pt1, controlPt, pt2, callBackDataPtr, userUPP) (*userUPP)(pt1, controlPt, pt2, callBackDataPtr)
+ #endif
#endif
- /*
- * InvokeATSQuadraticNewPathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSQuadraticNewPathUPP(
- void * callBackDataPtr,
- ATSQuadraticNewPathUPP userUPP);
+/*
+ * InvokeATSQuadraticNewPathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSQuadraticNewPathUPP(
+ void * callBackDataPtr,
+ ATSQuadraticNewPathUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSQuadraticNewPathUPP(void * callBackDataPtr, ATSQuadraticNewPathUPP userUPP)
- {
- return (*userUPP)(callBackDataPtr);
- }
-#else
-#define InvokeATSQuadraticNewPathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSQuadraticNewPathUPP(void * callBackDataPtr, ATSQuadraticNewPathUPP userUPP) { return (*userUPP)(callBackDataPtr); }
+ #else
+ #define InvokeATSQuadraticNewPathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr)
+ #endif
#endif
- /*
- * InvokeATSQuadraticClosePathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSQuadraticClosePathUPP(
- void * callBackDataPtr,
- ATSQuadraticClosePathUPP userUPP);
+/*
+ * InvokeATSQuadraticClosePathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSQuadraticClosePathUPP(
+ void * callBackDataPtr,
+ ATSQuadraticClosePathUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSQuadraticClosePathUPP(void * callBackDataPtr, ATSQuadraticClosePathUPP userUPP)
- {
- return (*userUPP)(callBackDataPtr);
- }
-#else
-#define InvokeATSQuadraticClosePathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSQuadraticClosePathUPP(void * callBackDataPtr, ATSQuadraticClosePathUPP userUPP) { return (*userUPP)(callBackDataPtr); }
+ #else
+ #define InvokeATSQuadraticClosePathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr)
+ #endif
#endif
- /*
- * ATSUGlyphGetQuadraticPaths()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGlyphGetQuadraticPaths(
- ATSUStyle iATSUStyle,
- GlyphID iGlyphID,
- ATSQuadraticNewPathUPP iNewPathProc,
- ATSQuadraticLineUPP iLineProc,
- ATSQuadraticCurveUPP iCurveProc,
- ATSQuadraticClosePathUPP iClosePathProc,
- void * iCallbackDataPtr,
- OSStatus * oCallbackResult);
-
-
- /* ATSUGlyphGetCubicPaths callbacks */
- typedef CALLBACK_API(OSStatus , ATSCubicMoveToProcPtr)(const Float32Point *pt, void *callBackDataPtr);
- typedef CALLBACK_API(OSStatus , ATSCubicLineToProcPtr)(const Float32Point *pt, void *callBackDataPtr);
- typedef CALLBACK_API(OSStatus , ATSCubicCurveToProcPtr)(const Float32Point *pt1, const Float32Point *pt2, const Float32Point *pt3, void *callBackDataPtr);
- typedef CALLBACK_API(OSStatus , ATSCubicClosePathProcPtr)(void * callBackDataPtr);
- typedef TVECTOR_UPP_TYPE(ATSCubicMoveToProcPtr) ATSCubicMoveToUPP;
- typedef TVECTOR_UPP_TYPE(ATSCubicLineToProcPtr) ATSCubicLineToUPP;
- typedef TVECTOR_UPP_TYPE(ATSCubicCurveToProcPtr) ATSCubicCurveToUPP;
- typedef TVECTOR_UPP_TYPE(ATSCubicClosePathProcPtr) ATSCubicClosePathUPP;
- /*
- * NewATSCubicMoveToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSCubicMoveToUPP)
- NewATSCubicMoveToUPP(ATSCubicMoveToProcPtr userRoutine);
+/*
+ * ATSUGlyphGetQuadraticPaths()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGlyphGetQuadraticPaths(
+ ATSUStyle iATSUStyle,
+ GlyphID iGlyphID,
+ ATSQuadraticNewPathUPP iNewPathProc,
+ ATSQuadraticLineUPP iLineProc,
+ ATSQuadraticCurveUPP iCurveProc,
+ ATSQuadraticClosePathUPP iClosePathProc,
+ void * iCallbackDataPtr,
+ OSStatus * oCallbackResult);
+
+
+/* ATSUGlyphGetCubicPaths callbacks */
+typedef CALLBACK_API( OSStatus , ATSCubicMoveToProcPtr )(const Float32Point *pt, void *callBackDataPtr);
+typedef CALLBACK_API( OSStatus , ATSCubicLineToProcPtr )(const Float32Point *pt, void *callBackDataPtr);
+typedef CALLBACK_API( OSStatus , ATSCubicCurveToProcPtr )(const Float32Point *pt1, const Float32Point *pt2, const Float32Point *pt3, void *callBackDataPtr);
+typedef CALLBACK_API( OSStatus , ATSCubicClosePathProcPtr )(void * callBackDataPtr);
+typedef TVECTOR_UPP_TYPE(ATSCubicMoveToProcPtr) ATSCubicMoveToUPP;
+typedef TVECTOR_UPP_TYPE(ATSCubicLineToProcPtr) ATSCubicLineToUPP;
+typedef TVECTOR_UPP_TYPE(ATSCubicCurveToProcPtr) ATSCubicCurveToUPP;
+typedef TVECTOR_UPP_TYPE(ATSCubicClosePathProcPtr) ATSCubicClosePathUPP;
+/*
+ * NewATSCubicMoveToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSCubicMoveToUPP )
+NewATSCubicMoveToUPP(ATSCubicMoveToProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSCubicMoveToProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSCubicMoveToUPP) NewATSCubicMoveToUPP(ATSCubicMoveToProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSCubicMoveToUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSCubicMoveToProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSCubicMoveToUPP) NewATSCubicMoveToUPP(ATSCubicMoveToProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSCubicMoveToUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewATSCubicLineToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSCubicLineToUPP)
- NewATSCubicLineToUPP(ATSCubicLineToProcPtr userRoutine);
+/*
+ * NewATSCubicLineToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSCubicLineToUPP )
+NewATSCubicLineToUPP(ATSCubicLineToProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSCubicLineToProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSCubicLineToUPP) NewATSCubicLineToUPP(ATSCubicLineToProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSCubicLineToUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSCubicLineToProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSCubicLineToUPP) NewATSCubicLineToUPP(ATSCubicLineToProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSCubicLineToUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewATSCubicCurveToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSCubicCurveToUPP)
- NewATSCubicCurveToUPP(ATSCubicCurveToProcPtr userRoutine);
+/*
+ * NewATSCubicCurveToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSCubicCurveToUPP )
+NewATSCubicCurveToUPP(ATSCubicCurveToProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSCubicCurveToProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSCubicCurveToUPP) NewATSCubicCurveToUPP(ATSCubicCurveToProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSCubicCurveToUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSCubicCurveToProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSCubicCurveToUPP) NewATSCubicCurveToUPP(ATSCubicCurveToProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSCubicCurveToUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewATSCubicClosePathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ATSCubicClosePathUPP)
- NewATSCubicClosePathUPP(ATSCubicClosePathProcPtr userRoutine);
+/*
+ * NewATSCubicClosePathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ATSCubicClosePathUPP )
+NewATSCubicClosePathUPP(ATSCubicClosePathProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATSCubicClosePathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATSCubicClosePathUPP) NewATSCubicClosePathUPP(ATSCubicClosePathProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewATSCubicClosePathUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppATSCubicClosePathProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATSCubicClosePathUPP) NewATSCubicClosePathUPP(ATSCubicClosePathProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewATSCubicClosePathUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeATSCubicMoveToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeATSCubicMoveToUPP(ATSCubicMoveToUPP userUPP);
+/*
+ * DisposeATSCubicMoveToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeATSCubicMoveToUPP(ATSCubicMoveToUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSCubicMoveToUPP(ATSCubicMoveToUPP) {}
-#else
-#define DisposeATSCubicMoveToUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSCubicMoveToUPP(ATSCubicMoveToUPP) {}
+ #else
+ #define DisposeATSCubicMoveToUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeATSCubicLineToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeATSCubicLineToUPP(ATSCubicLineToUPP userUPP);
+/*
+ * DisposeATSCubicLineToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeATSCubicLineToUPP(ATSCubicLineToUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSCubicLineToUPP(ATSCubicLineToUPP) {}
-#else
-#define DisposeATSCubicLineToUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSCubicLineToUPP(ATSCubicLineToUPP) {}
+ #else
+ #define DisposeATSCubicLineToUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeATSCubicCurveToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeATSCubicCurveToUPP(ATSCubicCurveToUPP userUPP);
+/*
+ * DisposeATSCubicCurveToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeATSCubicCurveToUPP(ATSCubicCurveToUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSCubicCurveToUPP(ATSCubicCurveToUPP) {}
-#else
-#define DisposeATSCubicCurveToUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSCubicCurveToUPP(ATSCubicCurveToUPP) {}
+ #else
+ #define DisposeATSCubicCurveToUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeATSCubicClosePathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeATSCubicClosePathUPP(ATSCubicClosePathUPP userUPP);
+/*
+ * DisposeATSCubicClosePathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeATSCubicClosePathUPP(ATSCubicClosePathUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATSCubicClosePathUPP(ATSCubicClosePathUPP) {}
-#else
-#define DisposeATSCubicClosePathUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATSCubicClosePathUPP(ATSCubicClosePathUPP) {}
+ #else
+ #define DisposeATSCubicClosePathUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeATSCubicMoveToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSCubicMoveToUPP(
- const Float32Point * pt,
- void * callBackDataPtr,
- ATSCubicMoveToUPP userUPP);
+/*
+ * InvokeATSCubicMoveToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSCubicMoveToUPP(
+ const Float32Point * pt,
+ void * callBackDataPtr,
+ ATSCubicMoveToUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSCubicMoveToUPP(const Float32Point * pt, void * callBackDataPtr, ATSCubicMoveToUPP userUPP)
- {
- return (*userUPP)(pt, callBackDataPtr);
- }
-#else
-#define InvokeATSCubicMoveToUPP(pt, callBackDataPtr, userUPP) (*userUPP)(pt, callBackDataPtr)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSCubicMoveToUPP(const Float32Point * pt, void * callBackDataPtr, ATSCubicMoveToUPP userUPP) { return (*userUPP)(pt, callBackDataPtr); }
+ #else
+ #define InvokeATSCubicMoveToUPP(pt, callBackDataPtr, userUPP) (*userUPP)(pt, callBackDataPtr)
+ #endif
#endif
- /*
- * InvokeATSCubicLineToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSCubicLineToUPP(
- const Float32Point * pt,
- void * callBackDataPtr,
- ATSCubicLineToUPP userUPP);
+/*
+ * InvokeATSCubicLineToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSCubicLineToUPP(
+ const Float32Point * pt,
+ void * callBackDataPtr,
+ ATSCubicLineToUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSCubicLineToUPP(const Float32Point * pt, void * callBackDataPtr, ATSCubicLineToUPP userUPP)
- {
- return (*userUPP)(pt, callBackDataPtr);
- }
-#else
-#define InvokeATSCubicLineToUPP(pt, callBackDataPtr, userUPP) (*userUPP)(pt, callBackDataPtr)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSCubicLineToUPP(const Float32Point * pt, void * callBackDataPtr, ATSCubicLineToUPP userUPP) { return (*userUPP)(pt, callBackDataPtr); }
+ #else
+ #define InvokeATSCubicLineToUPP(pt, callBackDataPtr, userUPP) (*userUPP)(pt, callBackDataPtr)
+ #endif
#endif
- /*
- * InvokeATSCubicCurveToUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSCubicCurveToUPP(
- const Float32Point * pt1,
- const Float32Point * pt2,
- const Float32Point * pt3,
- void * callBackDataPtr,
- ATSCubicCurveToUPP userUPP);
+/*
+ * InvokeATSCubicCurveToUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSCubicCurveToUPP(
+ const Float32Point * pt1,
+ const Float32Point * pt2,
+ const Float32Point * pt3,
+ void * callBackDataPtr,
+ ATSCubicCurveToUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSCubicCurveToUPP(const Float32Point * pt1, const Float32Point * pt2, const Float32Point * pt3, void * callBackDataPtr, ATSCubicCurveToUPP userUPP)
- {
- return (*userUPP)(pt1, pt2, pt3, callBackDataPtr);
- }
-#else
-#define InvokeATSCubicCurveToUPP(pt1, pt2, pt3, callBackDataPtr, userUPP) (*userUPP)(pt1, pt2, pt3, callBackDataPtr)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSCubicCurveToUPP(const Float32Point * pt1, const Float32Point * pt2, const Float32Point * pt3, void * callBackDataPtr, ATSCubicCurveToUPP userUPP) { return (*userUPP)(pt1, pt2, pt3, callBackDataPtr); }
+ #else
+ #define InvokeATSCubicCurveToUPP(pt1, pt2, pt3, callBackDataPtr, userUPP) (*userUPP)(pt1, pt2, pt3, callBackDataPtr)
+ #endif
#endif
- /*
- * InvokeATSCubicClosePathUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeATSCubicClosePathUPP(
- void * callBackDataPtr,
- ATSCubicClosePathUPP userUPP);
+/*
+ * InvokeATSCubicClosePathUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeATSCubicClosePathUPP(
+ void * callBackDataPtr,
+ ATSCubicClosePathUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeATSCubicClosePathUPP(void * callBackDataPtr, ATSCubicClosePathUPP userUPP)
- {
- return (*userUPP)(callBackDataPtr);
- }
-#else
-#define InvokeATSCubicClosePathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeATSCubicClosePathUPP(void * callBackDataPtr, ATSCubicClosePathUPP userUPP) { return (*userUPP)(callBackDataPtr); }
+ #else
+ #define InvokeATSCubicClosePathUPP(callBackDataPtr, userUPP) (*userUPP)(callBackDataPtr)
+ #endif
#endif
- /*
- * ATSUGlyphGetCubicPaths()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGlyphGetCubicPaths(
- ATSUStyle iATSUStyle,
- GlyphID iGlyphID,
- ATSCubicMoveToUPP iMoveToProc,
- ATSCubicLineToUPP iLineToProc,
- ATSCubicCurveToUPP iCurveToProc,
- ATSCubicClosePathUPP iClosePathProc,
- void * iCallbackDataPtr,
- OSStatus * oCallbackResult);
-
-
- /*
- * ATSUGlyphGetCurvePaths()
- *
- * Availability:
- * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUGlyphGetCurvePaths(
- ATSUStyle iATSUStyle,
- GlyphID iGlyphID,
- ByteCount * ioBufferSize,
- ATSUCurvePaths * oPaths);
+/*
+ * ATSUGlyphGetCubicPaths()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGlyphGetCubicPaths(
+ ATSUStyle iATSUStyle,
+ GlyphID iGlyphID,
+ ATSCubicMoveToUPP iMoveToProc,
+ ATSCubicLineToUPP iLineToProc,
+ ATSCubicCurveToUPP iCurveToProc,
+ ATSCubicClosePathUPP iClosePathProc,
+ void * iCallbackDataPtr,
+ OSStatus * oCallbackResult);
+
+
+/*
+ * ATSUGlyphGetCurvePaths()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ATSUnicodeLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUGlyphGetCurvePaths(
+ ATSUStyle iATSUStyle,
+ GlyphID iGlyphID,
+ ByteCount * ioBufferSize,
+ ATSUCurvePaths * oPaths);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ATSUnicodeDirectAccess.h b/include/qt/ATSUnicodeDirectAccess.h
index 7564de95d..ea93043c9 100644
--- a/include/qt/ATSUnicodeDirectAccess.h
+++ b/include/qt/ATSUnicodeDirectAccess.h
@@ -1,17 +1,17 @@
/*
File: ATSUnicodeDirectAccess.h
-
+
Contains: Public Interfaces/Types for Low Level ATSUI
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2002 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 __ATSUNICODEDIRECTACCESS__
#define __ATSUNICODEDIRECTACCESS__
@@ -35,377 +35,376 @@ extern "C" {
#pragma import on
#endif
- /* ---------------------------------------------------------------------------- */
- /* Constants */
- /* ---------------------------------------------------------------------------- */
-
- /*
- * 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 = 0L,
-
- /*
- * 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 = 1L,
-
- /*
- * 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 = 2L,
-
- /*
- * 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 = 3L,
-
- /*
- * 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 = 4L,
-
- /*
- * 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 = 100L,
-
- /*
- * 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 ATSStyleSetting* ATSUStyleSettingRef;
- /* ---------------------------------------------------------------------------- */
- /* Direct Accessors */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUDirectGetLayoutDataArrayPtrFromLineRef()
- *
- * Summary:
- * Returns the data pointer specified by iDataSelector and
- * referenced by iLineRef.
- *
- * Discussion:
- * This function simply returns the data pointer specified by
- * iDataSelector and referenced by iLineRef. This data pointer
- * should not be freed directly after it's been used. Rather, it
- * should be released using ATSUDirectReleaseLayoutDataArrayPtr.
- * Doing so serves as a signal to ATSUI that the caller is done with
- * the data and that it can merge it in smoothly and adjust its
- * internal processes. Furthermore, it may be the case that the
- * pointer returned may be dynamically allocated one or contain
- * dynamically allocated data. If it's not properly freed, a memory
- * leak may result. This function may only be called within the
- * context of an ATSUDirectLayoutOperationOverrideUPP callback. The
- * pointer returned points to the exact data referenced by the
- * ATSUTextLayout object that triggered the callback call. This is
- * by far the most efficient way to use the direct access calls
- * because for most requested data, no allocation and copy is done.
- * Furthermore, because this a direct pointer to the data that ATSUI
- * will use for it's layout, the data arrays returned by this can be
- * tweaked and edited. Many of the requested arrays are created by
- * ATSUI only when necessary. If these arrays are to be altered,
- * then be sure to set iCreate to true. This will ensure that this
- * array is created. If the arrays are not created, ATSUI
- * automatically assumes that all entries in the array are zero. The
- * pointer returned by this function is only valid within the
- * context of the callback. Do not attempt to retain it for later
- * use.
- *
- * Parameters:
- *
- * iLineRef:
- * The ATSULineRef which was passed into a
- * ATSUDirectLayoutOperationOverrideUPP callback function as a
- * parameter.
- *
- * iDataSelector:
- * The selector for the data that is being requested.
- *
- * iCreate:
- * If the ATSULineRef passed in iLineRef does not reference the
- * requested array, then a zero-filled one will be created and
- * returned in oLayoutDataArray if this is set to true. For some
- * ATSUDirectDataSelectors, these cannot be simply created. Thus,
- * this flag will have no affect on these few
- * ATSUDirectDataSelectors.
- *
- * oLayoutDataArrayPtr:
- * Upon sucessful return, this parameter will contain a pointer to
- * an array of the requested values if the ATSULineRef passed in
- * iLineRef references those values. If this is not the case, then
- * NULL will be returned, unless iCreate is set to true and the
- * array can be created. This parameter itself may be set to NULL
- * if only a count of the entries is needed.
- *
- * oLayoutDataCount:
- * Upon sucessful return, this parameter will contain a count of
- * the entries in the array returned in oLayoutDataArray.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDirectGetLayoutDataArrayPtrFromLineRef(
- ATSULineRef iLineRef,
- ATSUDirectDataSelector iDataSelector,
- Boolean iCreate,
- void * oLayoutDataArrayPtr[], /* can be NULL */
- ItemCount * oLayoutDataCount);
-
-
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUDirectGetLayoutDataArrayPtrFromTextLayout()
- *
- * Summary:
- * Returns the data pointer specified by iDataSelector and
- * referenced by iTextLayout for the line starting at iLineOffset.
- *
- * Discussion:
- * This function simply returns the data pointer specified by
- * iDataSelector and referenced by iTextLayout for the line starting
- * at iLineOffset. This data pointer should not be freed directly
- * after it's been used. Rather, it should be released using
- * ATSUDirectReleaseLayoutDataArrayPtr. Doing so serves as a signal
- * to ATSUI that the caller is done with the data. Furthermore, it
- * may be the case that the pointer returned may be dynamically
- * allocated one or contain dynamically allocated data. If it's not
- * properly freed, a memory leak may result. This function may not
- * be called inside the context of an
- * ATSUDirectLayoutOperationOverrideUPP callback for the
- * ATSUTextLayout data that triggered the callback. All data
- * returned will be a copy of the data in the object requested. This
- * means two things: first of all, this means that it's a very
- * inefficient way of using the data. All of the selectors that
- * would have returned in constant time now would be forced to
- * return in order-n time. Second of all, this means that the
- * developer cannot change any of the data. Any changes the
- * developer makes to the arrays returned by this API will have no
- * effect on the layout. Using the
- * kATSULayoutOperationPostLayoutAdjustment operation selector
- * override and the ATSUDirectGetLayoutDataArrayPtrFromLineRef is a
- * great alternative to using this API. Many of the requested arrays
- * are created by ATSUI only when necessary. This means that it's
- * possible that this API will return NULL pointer and a count of 0.
- * In this case, if there's no error returned, the array simply
- * doesn't exist and the caller should treat all of the entries in
- * the array that they would have recieved as being 0.
- *
- * Parameters:
- *
- * iTextLayout:
- * The ATSUTextLayout object from which the requested data will
- * come from.
- *
- * iLineOffset:
- * The edge offset that corresponds to the beginning of the range
- * of text of the line of the requested data. If the text has
- * multiple lines, then ATSUDirectGetLayoutDataArrayPtrFromLineRef
- * will need to be called for each of the lines in which the
- * requested data is needed.
- *
- * iDataSelector:
- * The selector for the data that is being requested.
- *
- * oLayoutDataArrayPtr:
- * Upon sucessful return, this parameter will contain a pointer to
- * an array of the requested values if the ATSUTextLayout passed
- * in iTextLayout references those values for the line offset
- * iLineOffset. If this is not the case, then NULL will be
- * returned. This parameter itself may be set to NULL if only a
- * count of the entries is needed.
- *
- * oLayoutDataCount:
- * Upon sucessful return, this parameter will contain a count of
- * the entries in the array returned in oLayoutDataArray.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDirectGetLayoutDataArrayPtrFromTextLayout(
- ATSUTextLayout iTextLayout,
- UniCharArrayOffset iLineOffset,
- ATSUDirectDataSelector iDataSelector,
- void * oLayoutDataArrayPtr[], /* can be NULL */
- ItemCount * oLayoutDataCount);
-
-
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUDirectReleaseLayoutDataArrayPtr()
- *
- * Summary:
- * Properly releases of an array pointer returned by
- * ATSUDirectGetLayoutDataArrayPtrFromLineRef() or
- * ATSUDirectGetLayoutDataArrayPtrFromTextLayout.
- *
- * Discussion:
- * This function is needed to let ATSUI know that the caller is
- * finished with the pointer that was previously requested by
- * ATSUDirectGetLayoutDataArrayPtrFromLineRef() or
- * ATSUDirectGetLayoutDataArrayPtrFromTextLayout(). This is needed
- * in case ATSUI needs to make any internal adjustments to it's
- * internal structures.
- *
- * Parameters:
- *
- * iLineRef:
- * The lineRef from which the layout data array pointer came from.
- * If the layout data array pointer did not come from a lineRef,
- * then set this to NULL.
- *
- * iDataSelector:
- * The selector for which iLayoutDataArrayPtr was obtained.
- *
- * iLayoutDataArrayPtr:
- * A pointer to the layout data array which is to be disposed of.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDirectReleaseLayoutDataArrayPtr(
- ATSULineRef iLineRef, /* can be NULL */
- ATSUDirectDataSelector iDataSelector,
- void * iLayoutDataArrayPtr[]);
+/* ---------------------------------------------------------------------------- */
+/* Constants */
+/* ---------------------------------------------------------------------------- */
+/*
+ * 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 = 0L,
+
+ /*
+ * 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 = 1L,
+
+ /*
+ * 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 = 2L,
+
+ /*
+ * 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 = 3L,
+
+ /*
+ * 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 = 4L,
+
+ /*
+ * 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 = 100L,
+
+ /*
+ * 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 */
+/* ---------------------------------------------------------------------------- */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUDirectAddStyleSettingRef()
- *
- * Summary:
- * This function will fetch a style index for the
- * ATSUStyleSettingRef passed in.
- *
- * Discussion:
- * This function allows for glyph replacement or substitution from
- * one layout or line to another layout or line. Not only will it
- * look up the style index for iStyleSettingRef, but if the
- * ATSUStyleSettingRef passed in iStyleSettingRef is not yet part of
- * the line referenced by iLineRef, it will add it. If there is an
- * outstanding ATSUStyleSettingRef array obtained by using the
- * kATSUDirectDataStyleSettingATSUStyleSettingRefArray selector, the
- * pointer obtained for this may no longer be valid after this
- * function has been called. These pointers should be freed before
- * calling this function and re-obtained afterwards.
- *
- * Parameters:
- *
- * iLineRef:
- * An ATSULineRef which was passed into a
- * ATSUDirectLayoutOperationOverrideUPP callback function as a
- * parameter.
- *
- * iStyleSettingRef:
- * The ATSUStyleSettingRef to be looked up or added to the
- * ATSUTextLayout referenced by iTextLayout for the line starting
- * at the offset iLineOffset.
- *
- * oStyleIndex:
- * Upon sucessful return, this will parameter will be set to the
- * index of the ATSUStyleSettingRef passed in iStyleSettingRef for
- * the line referenced by iLineRef. If the ATSUStyleSettingRef
- * does not exist, in that context, then it will be added and the
- * new index will be returned here.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUDirectAddStyleSettingRef(
- ATSULineRef iLineRef,
- ATSUStyleSettingRef iStyleSettingRef,
- UInt16 * oStyleIndex);
+/*
+ * ATSUStyleSettingRef
+ *
+ * Summary:
+ * A reference to a style setting object that represents an
+ * ATSUStyle plus any cached/set information about that style.
+ */
+typedef struct ATSStyleSetting* ATSUStyleSettingRef;
+/* ---------------------------------------------------------------------------- */
+/* Direct Accessors */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUDirectGetLayoutDataArrayPtrFromLineRef()
+ *
+ * Summary:
+ * Returns the data pointer specified by iDataSelector and
+ * referenced by iLineRef.
+ *
+ * Discussion:
+ * This function simply returns the data pointer specified by
+ * iDataSelector and referenced by iLineRef. This data pointer
+ * should not be freed directly after it's been used. Rather, it
+ * should be released using ATSUDirectReleaseLayoutDataArrayPtr.
+ * Doing so serves as a signal to ATSUI that the caller is done with
+ * the data and that it can merge it in smoothly and adjust its
+ * internal processes. Furthermore, it may be the case that the
+ * pointer returned may be dynamically allocated one or contain
+ * dynamically allocated data. If it's not properly freed, a memory
+ * leak may result. This function may only be called within the
+ * context of an ATSUDirectLayoutOperationOverrideUPP callback. The
+ * pointer returned points to the exact data referenced by the
+ * ATSUTextLayout object that triggered the callback call. This is
+ * by far the most efficient way to use the direct access calls
+ * because for most requested data, no allocation and copy is done.
+ * Furthermore, because this a direct pointer to the data that ATSUI
+ * will use for it's layout, the data arrays returned by this can be
+ * tweaked and edited. Many of the requested arrays are created by
+ * ATSUI only when necessary. If these arrays are to be altered,
+ * then be sure to set iCreate to true. This will ensure that this
+ * array is created. If the arrays are not created, ATSUI
+ * automatically assumes that all entries in the array are zero. The
+ * pointer returned by this function is only valid within the
+ * context of the callback. Do not attempt to retain it for later
+ * use.
+ *
+ * Parameters:
+ *
+ * iLineRef:
+ * The ATSULineRef which was passed into a
+ * ATSUDirectLayoutOperationOverrideUPP callback function as a
+ * parameter.
+ *
+ * iDataSelector:
+ * The selector for the data that is being requested.
+ *
+ * iCreate:
+ * If the ATSULineRef passed in iLineRef does not reference the
+ * requested array, then a zero-filled one will be created and
+ * returned in oLayoutDataArray if this is set to true. For some
+ * ATSUDirectDataSelectors, these cannot be simply created. Thus,
+ * this flag will have no affect on these few
+ * ATSUDirectDataSelectors.
+ *
+ * oLayoutDataArrayPtr:
+ * Upon sucessful return, this parameter will contain a pointer to
+ * an array of the requested values if the ATSULineRef passed in
+ * iLineRef references those values. If this is not the case, then
+ * NULL will be returned, unless iCreate is set to true and the
+ * array can be created. This parameter itself may be set to NULL
+ * if only a count of the entries is needed.
+ *
+ * oLayoutDataCount:
+ * Upon sucessful return, this parameter will contain a count of
+ * the entries in the array returned in oLayoutDataArray.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDirectGetLayoutDataArrayPtrFromLineRef(
+ ATSULineRef iLineRef,
+ ATSUDirectDataSelector iDataSelector,
+ Boolean iCreate,
+ void * oLayoutDataArrayPtr[], /* can be NULL */
+ ItemCount * oLayoutDataCount);
+
+
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUDirectGetLayoutDataArrayPtrFromTextLayout()
+ *
+ * Summary:
+ * Returns the data pointer specified by iDataSelector and
+ * referenced by iTextLayout for the line starting at iLineOffset.
+ *
+ * Discussion:
+ * This function simply returns the data pointer specified by
+ * iDataSelector and referenced by iTextLayout for the line starting
+ * at iLineOffset. This data pointer should not be freed directly
+ * after it's been used. Rather, it should be released using
+ * ATSUDirectReleaseLayoutDataArrayPtr. Doing so serves as a signal
+ * to ATSUI that the caller is done with the data. Furthermore, it
+ * may be the case that the pointer returned may be dynamically
+ * allocated one or contain dynamically allocated data. If it's not
+ * properly freed, a memory leak may result. This function may not
+ * be called inside the context of an
+ * ATSUDirectLayoutOperationOverrideUPP callback for the
+ * ATSUTextLayout data that triggered the callback. All data
+ * returned will be a copy of the data in the object requested. This
+ * means two things: first of all, this means that it's a very
+ * inefficient way of using the data. All of the selectors that
+ * would have returned in constant time now would be forced to
+ * return in order-n time. Second of all, this means that the
+ * developer cannot change any of the data. Any changes the
+ * developer makes to the arrays returned by this API will have no
+ * effect on the layout. Using the
+ * kATSULayoutOperationPostLayoutAdjustment operation selector
+ * override and the ATSUDirectGetLayoutDataArrayPtrFromLineRef is a
+ * great alternative to using this API. Many of the requested arrays
+ * are created by ATSUI only when necessary. This means that it's
+ * possible that this API will return NULL pointer and a count of 0.
+ * In this case, if there's no error returned, the array simply
+ * doesn't exist and the caller should treat all of the entries in
+ * the array that they would have recieved as being 0.
+ *
+ * Parameters:
+ *
+ * iTextLayout:
+ * The ATSUTextLayout object from which the requested data will
+ * come from.
+ *
+ * iLineOffset:
+ * The edge offset that corresponds to the beginning of the range
+ * of text of the line of the requested data. If the text has
+ * multiple lines, then ATSUDirectGetLayoutDataArrayPtrFromLineRef
+ * will need to be called for each of the lines in which the
+ * requested data is needed.
+ *
+ * iDataSelector:
+ * The selector for the data that is being requested.
+ *
+ * oLayoutDataArrayPtr:
+ * Upon sucessful return, this parameter will contain a pointer to
+ * an array of the requested values if the ATSUTextLayout passed
+ * in iTextLayout references those values for the line offset
+ * iLineOffset. If this is not the case, then NULL will be
+ * returned. This parameter itself may be set to NULL if only a
+ * count of the entries is needed.
+ *
+ * oLayoutDataCount:
+ * Upon sucessful return, this parameter will contain a count of
+ * the entries in the array returned in oLayoutDataArray.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDirectGetLayoutDataArrayPtrFromTextLayout(
+ ATSUTextLayout iTextLayout,
+ UniCharArrayOffset iLineOffset,
+ ATSUDirectDataSelector iDataSelector,
+ void * oLayoutDataArrayPtr[], /* can be NULL */
+ ItemCount * oLayoutDataCount);
+
+
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUDirectReleaseLayoutDataArrayPtr()
+ *
+ * Summary:
+ * Properly releases of an array pointer returned by
+ * ATSUDirectGetLayoutDataArrayPtrFromLineRef() or
+ * ATSUDirectGetLayoutDataArrayPtrFromTextLayout.
+ *
+ * Discussion:
+ * This function is needed to let ATSUI know that the caller is
+ * finished with the pointer that was previously requested by
+ * ATSUDirectGetLayoutDataArrayPtrFromLineRef() or
+ * ATSUDirectGetLayoutDataArrayPtrFromTextLayout(). This is needed
+ * in case ATSUI needs to make any internal adjustments to it's
+ * internal structures.
+ *
+ * Parameters:
+ *
+ * iLineRef:
+ * The lineRef from which the layout data array pointer came from.
+ * If the layout data array pointer did not come from a lineRef,
+ * then set this to NULL.
+ *
+ * iDataSelector:
+ * The selector for which iLayoutDataArrayPtr was obtained.
+ *
+ * iLayoutDataArrayPtr:
+ * A pointer to the layout data array which is to be disposed of.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDirectReleaseLayoutDataArrayPtr(
+ ATSULineRef iLineRef, /* can be NULL */
+ ATSUDirectDataSelector iDataSelector,
+ void * iLayoutDataArrayPtr[]);
+
+
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUDirectAddStyleSettingRef()
+ *
+ * Summary:
+ * This function will fetch a style index for the
+ * ATSUStyleSettingRef passed in.
+ *
+ * Discussion:
+ * This function allows for glyph replacement or substitution from
+ * one layout or line to another layout or line. Not only will it
+ * look up the style index for iStyleSettingRef, but if the
+ * ATSUStyleSettingRef passed in iStyleSettingRef is not yet part of
+ * the line referenced by iLineRef, it will add it. If there is an
+ * outstanding ATSUStyleSettingRef array obtained by using the
+ * kATSUDirectDataStyleSettingATSUStyleSettingRefArray selector, the
+ * pointer obtained for this may no longer be valid after this
+ * function has been called. These pointers should be freed before
+ * calling this function and re-obtained afterwards.
+ *
+ * Parameters:
+ *
+ * iLineRef:
+ * An ATSULineRef which was passed into a
+ * ATSUDirectLayoutOperationOverrideUPP callback function as a
+ * parameter.
+ *
+ * iStyleSettingRef:
+ * The ATSUStyleSettingRef to be looked up or added to the
+ * ATSUTextLayout referenced by iTextLayout for the line starting
+ * at the offset iLineOffset.
+ *
+ * oStyleIndex:
+ * Upon sucessful return, this will parameter will be set to the
+ * index of the ATSUStyleSettingRef passed in iStyleSettingRef for
+ * the line referenced by iLineRef. If the ATSUStyleSettingRef
+ * does not exist, in that context, then it will be added and the
+ * new index will be returned here.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUDirectAddStyleSettingRef(
+ ATSULineRef iLineRef,
+ ATSUStyleSettingRef iStyleSettingRef,
+ UInt16 * oStyleIndex);
diff --git a/include/qt/ATSUnicodeFlattening.h b/include/qt/ATSUnicodeFlattening.h
index 6516bce13..5821a3402 100644
--- a/include/qt/ATSUnicodeFlattening.h
+++ b/include/qt/ATSUnicodeFlattening.h
@@ -1,17 +1,17 @@
/*
File: ATSUnicodeFlattening.h
-
+
Contains: Public interfaces for Apple Type Services for Unicode Imaging
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2002 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 __ATSUNICODEFLATTENING__
#define __ATSUNICODEFLATTENING__
@@ -36,525 +36,506 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#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.
- */
- typedef UInt32 ATSUFlattenedDataStreamFormat;
- enum
- {
- kATSUDataStreamUnicodeStyledText = FOUR_CHAR_CODE('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 contrains 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
- {
- UniCharCount runLength;
- ItemCount 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*/
- ByteCount 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.*/
- ByteCount 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*/
- ByteCount offsetToStyleRuns;
-
- /* offset to the flattened style list data. This can be set to 0 if there*/
- /* is no flattened style list data*/
- ByteCount 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 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 ATSFlatDataTextLayoutDataHeader
- {
-
- /* the total size of this particular flattened text layout, including any*/
- /* padding bytes and such. */
- ByteCount sizeOfLayoutData;
-
- /* the number of characters covered by this flattened text layout*/
- ByteCount 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.*/
- ByteCount 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.*/
- ByteCount 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 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*/
- ItemCount 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*/
- UniCharCount 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.*/
- ItemCount 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.*/
- ItemCount 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*/
- ItemCount 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.*/
- ByteCount 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.*/
- ItemCount 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. */
- ItemCount 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.*/
- ItemCount 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*/
- ItemCount 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 = FOUR_CHAR_CODE('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.*/
- ByteCount 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'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*/
- ByteCount 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.*/
- ItemCount 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 */
- /* ---------------------------------------------------------------------------- */
- /*
- * ATSUFlattenStyleRunsToStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUFlattenStyleRunsToStream(
- ATSUFlattenedDataStreamFormat iStreamFormat,
- ATSUFlattenStyleRunOptions iFlattenOptions,
- ItemCount iNumberOfRunInfo,
- const ATSUStyleRunInfo iRunInfoArray[],
- ItemCount iNumberOfStyleObjects,
- const ATSUStyle iStyleArray[],
- ByteCount iStreamBufferSize,
- void * oStreamBuffer,
- ByteCount * oActualStreamBufferSize);
-
-
- /*
- * ATSUUnflattenStyleRunsFromStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ATSUUnflattenStyleRunsFromStream(
- ATSUFlattenedDataStreamFormat iStreamFormat,
- ATSUUnFlattenStyleRunOptions iUnflattenOptions,
- ByteCount iStreamBufferSize,
- const void * iStreamBuffer,
- ItemCount iNumberOfRunInfo,
- ItemCount iNumberOfStyleObjects,
- ATSUStyleRunInfo oRunInfoArray[],
- ATSUStyle oStyleArray[],
- ItemCount * oActualNumberOfRunInfo,
- ItemCount * oActualNumberOfStyleObjects);
+/* ---------------------------------------------------------------------------- */
+/* 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.
+*/
+typedef UInt32 ATSUFlattenedDataStreamFormat;
+enum {
+ kATSUDataStreamUnicodeStyledText = FOUR_CHAR_CODE('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 contrains 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 {
+ UniCharCount runLength;
+ ItemCount 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*/
+ ByteCount 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.*/
+ ByteCount 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*/
+ ByteCount offsetToStyleRuns;
+
+ /* offset to the flattened style list data. This can be set to 0 if there*/
+ /* is no flattened style list data*/
+ ByteCount 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 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 ATSFlatDataTextLayoutDataHeader {
+
+ /* the total size of this particular flattened text layout, including any*/
+ /* padding bytes and such. */
+ ByteCount sizeOfLayoutData;
+
+ /* the number of characters covered by this flattened text layout*/
+ ByteCount 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.*/
+ ByteCount 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.*/
+ ByteCount 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 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*/
+ ItemCount 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*/
+ UniCharCount 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.*/
+ ItemCount 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.*/
+ ItemCount 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*/
+ ItemCount 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.*/
+ ByteCount 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.*/
+ ItemCount 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. */
+ ItemCount 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.*/
+ ItemCount 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*/
+ ItemCount 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 = FOUR_CHAR_CODE('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.*/
+ ByteCount 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'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*/
+ ByteCount 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.*/
+ ItemCount 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 */
+/* ---------------------------------------------------------------------------- */
+/*
+ * ATSUFlattenStyleRunsToStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUFlattenStyleRunsToStream(
+ ATSUFlattenedDataStreamFormat iStreamFormat,
+ ATSUFlattenStyleRunOptions iFlattenOptions,
+ ItemCount iNumberOfRunInfo,
+ const ATSUStyleRunInfo iRunInfoArray[],
+ ItemCount iNumberOfStyleObjects,
+ const ATSUStyle iStyleArray[],
+ ByteCount iStreamBufferSize,
+ void * oStreamBuffer,
+ ByteCount * oActualStreamBufferSize);
+
+
+/*
+ * ATSUUnflattenStyleRunsFromStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ATSUUnflattenStyleRunsFromStream(
+ ATSUFlattenedDataStreamFormat iStreamFormat,
+ ATSUUnFlattenStyleRunOptions iUnflattenOptions,
+ ByteCount iStreamBufferSize,
+ const void * iStreamBuffer,
+ ItemCount iNumberOfRunInfo,
+ ItemCount iNumberOfStyleObjects,
+ ATSUStyleRunInfo oRunInfoArray[],
+ ATSUStyle oStyleArray[],
+ ItemCount * oActualNumberOfRunInfo,
+ ItemCount * oActualNumberOfStyleObjects);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AVLTree.h b/include/qt/AVLTree.h
index 1cbec3314..e62d9bc7f 100644
--- a/include/qt/AVLTree.h
+++ b/include/qt/AVLTree.h
@@ -1,17 +1,17 @@
/*
File: AVLTree.h
-
+
Contains: Interfaces for AVL balanced trees.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __AVLTREE__
#define __AVLTREE__
@@ -41,615 +41,574 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- * AVLTree
- *
- * Discussion:
- * Prototypes for routines which create, destroy, allow for
- * insertion, deleting, and iteration of routines in an AVL balanced
- * binary tree.
- *
- * An AVL tree is a balanced, binary tree which is fairly fast for
- * finds and acceptably fast for insertion and deletion. The tree
- * is kept balanced, so that the heights of any given node's left
- * and right branches never differ by more than 1, which keeps
- * performance from being too horribe in the degenerate case.
- *
- *
- * Very loosely based on some public domain source code for doing
- * avl trees and on the discussion in Sedgewick "Algorithms" book.
- */
- typedef UInt16 AVLVisitStage;
- enum
- {
- kAVLPreOrder = 0,
- kAVLInOrder = 1,
- kAVLPostOrder = 2
- };
-
- /* The order the tree is walked or disposed of. */
- typedef UInt16 AVLOrder;
- enum
- {
- kLeftToRight = 0,
- kRightToLeft = 1
- };
-
- /* The type of the node being passed to a callback proc. */
- typedef UInt16 AVLNodeType;
- enum
- {
- kAVLIsTree = 0,
- kAVLIsLeftBranch = 1,
- kAVLIsRightBranch = 2,
- kAVLIsLeaf = 3,
- kAVLNullNode = 4
- };
-
- enum
- {
- errItemAlreadyInTree = -960,
- errNotValidTree = -961,
- errItemNotFoundInTree = -962,
- errCanNotInsertWhileWalkProcInProgress = -963,
- errTreeIsLocked = -964
- };
-
- /* The structure of a tree. It's opaque; don't assume it's 36 bytes in size.*/
- struct AVLTreeStruct
- {
- OSType signature;
- unsigned long privateStuff[8];
- };
- typedef struct AVLTreeStruct AVLTreeStruct;
- typedef AVLTreeStruct * AVLTreePtr;
- /*
- Every tree must have a function which compares the data for two items and returns < 0, 0, or >0
- for the items - < 0 if the first item is 'before' the second item according to some criteria,
- == 0 if the two items are identical according to the criteria, or > 0 if the first item is
- 'after' the second item according to the criteria. The comparison function is also passed the
- node type, but most of the time this can be ignored.
- */
- typedef CALLBACK_API(SInt32 , AVLCompareItemsProcPtr)(AVLTreePtr tree, const void *i1, const void *i2, AVLNodeType nd_typ);
- /*
- Every tree must have a itemSizeProc; this routine gets passed a pointer to the item's data and
- returns the size of the data. If a tree contains records of a fixed size, this function can
- just return sizeof( that-struct ); otherwise it should calculate the size of the item based on
- the data for the item.
- */
- typedef CALLBACK_API(UInt32 , AVLItemSizeProcPtr)(AVLTreePtr tree, const void *itemPtr);
- /*
- A tree may have an optional disposeItemProc, which gets called whenever an item is removed
- from the tree ( via AVLRemove() or when AVLDispose() deletes all of the items in the tree ).
- This might be useful if the nodes in the tree own 'resources' ( like, open files ) which
- should be released before the item is removed.
- */
- typedef CALLBACK_API(void , AVLDisposeItemProcPtr)(AVLTreePtr tree, const void *dataP);
- /*
- The common way to iterate across all of the items in a tree is via AVLWalk(), which takes
- a walkProcPtr. This function will get called for every item in the tree three times, as
- the tree is being walked across. First, the walkProc will get called with visitStage ==
- kAVLPreOrder, at which point internally the node of the tree for the given data has just
- been reached. Later, this function will get called with visitStage == kAVLInOrder, and
- lastly this function will get called with visitStage == kAVLPostOrder.
- The 'minimum' item in the tree will get called with visitStage == kInOrder first, followed
- by the 'next' item in the tree, up until the last item in the tree structure is called.
- In general, you'll only care about calls to this function when visitStage == kAVLInOrder.
- */
- typedef CALLBACK_API(OSErr , AVLWalkProcPtr)(AVLTreePtr tree, const void *dataP, AVLVisitStage visitStage, AVLNodeType node, UInt32 level, SInt32 balance, void *refCon);
- typedef STACK_UPP_TYPE(AVLCompareItemsProcPtr) AVLCompareItemsUPP;
- typedef STACK_UPP_TYPE(AVLItemSizeProcPtr) AVLItemSizeUPP;
- typedef STACK_UPP_TYPE(AVLDisposeItemProcPtr) AVLDisposeItemUPP;
- typedef STACK_UPP_TYPE(AVLWalkProcPtr) AVLWalkUPP;
- /*
- * NewAVLCompareItemsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AVLCompareItemsUPP)
- NewAVLCompareItemsUPP(AVLCompareItemsProcPtr userRoutine);
+/*
+ * AVLTree
+ *
+ * Discussion:
+ * Prototypes for routines which create, destroy, allow for
+ * insertion, deleting, and iteration of routines in an AVL balanced
+ * binary tree.
+ *
+ * An AVL tree is a balanced, binary tree which is fairly fast for
+ * finds and acceptably fast for insertion and deletion. The tree
+ * is kept balanced, so that the heights of any given node's left
+ * and right branches never differ by more than 1, which keeps
+ * performance from being too horribe in the degenerate case.
+ *
+ *
+ * Very loosely based on some public domain source code for doing
+ * avl trees and on the discussion in Sedgewick "Algorithms" book.
+ */
+typedef UInt16 AVLVisitStage;
+enum {
+ kAVLPreOrder = 0,
+ kAVLInOrder = 1,
+ kAVLPostOrder = 2
+};
+
+/* The order the tree is walked or disposed of. */
+typedef UInt16 AVLOrder;
+enum {
+ kLeftToRight = 0,
+ kRightToLeft = 1
+};
+
+/* The type of the node being passed to a callback proc. */
+typedef UInt16 AVLNodeType;
+enum {
+ kAVLIsTree = 0,
+ kAVLIsLeftBranch = 1,
+ kAVLIsRightBranch = 2,
+ kAVLIsLeaf = 3,
+ kAVLNullNode = 4
+};
+
+enum {
+ errItemAlreadyInTree = -960,
+ errNotValidTree = -961,
+ errItemNotFoundInTree = -962,
+ errCanNotInsertWhileWalkProcInProgress = -963,
+ errTreeIsLocked = -964
+};
+
+/* The structure of a tree. It's opaque; don't assume it's 36 bytes in size.*/
+struct AVLTreeStruct {
+ OSType signature;
+ unsigned long privateStuff[8];
+};
+typedef struct AVLTreeStruct AVLTreeStruct;
+typedef AVLTreeStruct * AVLTreePtr;
+/*
+ Every tree must have a function which compares the data for two items and returns < 0, 0, or >0
+ for the items - < 0 if the first item is 'before' the second item according to some criteria,
+ == 0 if the two items are identical according to the criteria, or > 0 if the first item is
+ 'after' the second item according to the criteria. The comparison function is also passed the
+ node type, but most of the time this can be ignored.
+*/
+typedef CALLBACK_API( SInt32 , AVLCompareItemsProcPtr )(AVLTreePtr tree, const void *i1, const void *i2, AVLNodeType nd_typ);
+/*
+ Every tree must have a itemSizeProc; this routine gets passed a pointer to the item's data and
+ returns the size of the data. If a tree contains records of a fixed size, this function can
+ just return sizeof( that-struct ); otherwise it should calculate the size of the item based on
+ the data for the item.
+*/
+typedef CALLBACK_API( UInt32 , AVLItemSizeProcPtr )(AVLTreePtr tree, const void *itemPtr);
+/*
+ A tree may have an optional disposeItemProc, which gets called whenever an item is removed
+ from the tree ( via AVLRemove() or when AVLDispose() deletes all of the items in the tree ).
+ This might be useful if the nodes in the tree own 'resources' ( like, open files ) which
+ should be released before the item is removed.
+*/
+typedef CALLBACK_API( void , AVLDisposeItemProcPtr )(AVLTreePtr tree, const void *dataP);
+/*
+ The common way to iterate across all of the items in a tree is via AVLWalk(), which takes
+ a walkProcPtr. This function will get called for every item in the tree three times, as
+ the tree is being walked across. First, the walkProc will get called with visitStage ==
+ kAVLPreOrder, at which point internally the node of the tree for the given data has just
+ been reached. Later, this function will get called with visitStage == kAVLInOrder, and
+ lastly this function will get called with visitStage == kAVLPostOrder.
+ The 'minimum' item in the tree will get called with visitStage == kInOrder first, followed
+ by the 'next' item in the tree, up until the last item in the tree structure is called.
+ In general, you'll only care about calls to this function when visitStage == kAVLInOrder.
+*/
+typedef CALLBACK_API( OSErr , AVLWalkProcPtr )(AVLTreePtr tree, const void *dataP, AVLVisitStage visitStage, AVLNodeType node, UInt32 level, SInt32 balance, void *refCon);
+typedef STACK_UPP_TYPE(AVLCompareItemsProcPtr) AVLCompareItemsUPP;
+typedef STACK_UPP_TYPE(AVLItemSizeProcPtr) AVLItemSizeUPP;
+typedef STACK_UPP_TYPE(AVLDisposeItemProcPtr) AVLDisposeItemUPP;
+typedef STACK_UPP_TYPE(AVLWalkProcPtr) AVLWalkUPP;
+/*
+ * NewAVLCompareItemsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AVLCompareItemsUPP )
+NewAVLCompareItemsUPP(AVLCompareItemsProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAVLCompareItemsProcInfo = 0x00002FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AVLCompareItemsUPP) NewAVLCompareItemsUPP(AVLCompareItemsProcPtr userRoutine)
- {
- return (AVLCompareItemsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLCompareItemsProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAVLCompareItemsUPP(userRoutine) (AVLCompareItemsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLCompareItemsProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAVLCompareItemsProcInfo = 0x00002FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AVLCompareItemsUPP) NewAVLCompareItemsUPP(AVLCompareItemsProcPtr userRoutine) { return (AVLCompareItemsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLCompareItemsProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAVLCompareItemsUPP(userRoutine) (AVLCompareItemsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLCompareItemsProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewAVLItemSizeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AVLItemSizeUPP)
- NewAVLItemSizeUPP(AVLItemSizeProcPtr userRoutine);
+/*
+ * NewAVLItemSizeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AVLItemSizeUPP )
+NewAVLItemSizeUPP(AVLItemSizeProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAVLItemSizeProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AVLItemSizeUPP) NewAVLItemSizeUPP(AVLItemSizeProcPtr userRoutine)
- {
- return (AVLItemSizeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLItemSizeProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAVLItemSizeUPP(userRoutine) (AVLItemSizeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLItemSizeProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAVLItemSizeProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AVLItemSizeUPP) NewAVLItemSizeUPP(AVLItemSizeProcPtr userRoutine) { return (AVLItemSizeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLItemSizeProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAVLItemSizeUPP(userRoutine) (AVLItemSizeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLItemSizeProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewAVLDisposeItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AVLDisposeItemUPP)
- NewAVLDisposeItemUPP(AVLDisposeItemProcPtr userRoutine);
+/*
+ * NewAVLDisposeItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AVLDisposeItemUPP )
+NewAVLDisposeItemUPP(AVLDisposeItemProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAVLDisposeItemProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AVLDisposeItemUPP) NewAVLDisposeItemUPP(AVLDisposeItemProcPtr userRoutine)
- {
- return (AVLDisposeItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLDisposeItemProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAVLDisposeItemUPP(userRoutine) (AVLDisposeItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLDisposeItemProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAVLDisposeItemProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AVLDisposeItemUPP) NewAVLDisposeItemUPP(AVLDisposeItemProcPtr userRoutine) { return (AVLDisposeItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLDisposeItemProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAVLDisposeItemUPP(userRoutine) (AVLDisposeItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLDisposeItemProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewAVLWalkUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AVLWalkUPP)
- NewAVLWalkUPP(AVLWalkProcPtr userRoutine);
+/*
+ * NewAVLWalkUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AVLWalkUPP )
+NewAVLWalkUPP(AVLWalkProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAVLWalkProcInfo = 0x000FEBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AVLWalkUPP) NewAVLWalkUPP(AVLWalkProcPtr userRoutine)
- {
- return (AVLWalkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLWalkProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAVLWalkUPP(userRoutine) (AVLWalkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLWalkProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAVLWalkProcInfo = 0x000FEBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AVLWalkUPP) NewAVLWalkUPP(AVLWalkProcPtr userRoutine) { return (AVLWalkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLWalkProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAVLWalkUPP(userRoutine) (AVLWalkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAVLWalkProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeAVLCompareItemsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAVLCompareItemsUPP(AVLCompareItemsUPP userUPP);
+/*
+ * DisposeAVLCompareItemsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAVLCompareItemsUPP(AVLCompareItemsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAVLCompareItemsUPP(AVLCompareItemsUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAVLCompareItemsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAVLCompareItemsUPP(AVLCompareItemsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAVLCompareItemsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeAVLItemSizeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAVLItemSizeUPP(AVLItemSizeUPP userUPP);
+/*
+ * DisposeAVLItemSizeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAVLItemSizeUPP(AVLItemSizeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAVLItemSizeUPP(AVLItemSizeUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAVLItemSizeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAVLItemSizeUPP(AVLItemSizeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAVLItemSizeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeAVLDisposeItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAVLDisposeItemUPP(AVLDisposeItemUPP userUPP);
+/*
+ * DisposeAVLDisposeItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAVLDisposeItemUPP(AVLDisposeItemUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAVLDisposeItemUPP(AVLDisposeItemUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAVLDisposeItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAVLDisposeItemUPP(AVLDisposeItemUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAVLDisposeItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeAVLWalkUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAVLWalkUPP(AVLWalkUPP userUPP);
+/*
+ * DisposeAVLWalkUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAVLWalkUPP(AVLWalkUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAVLWalkUPP(AVLWalkUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAVLWalkUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAVLWalkUPP(AVLWalkUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAVLWalkUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeAVLCompareItemsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt32)
- InvokeAVLCompareItemsUPP(
- AVLTreePtr tree,
- const void * i1,
- const void * i2,
- AVLNodeType nd_typ,
- AVLCompareItemsUPP userUPP);
+/*
+ * InvokeAVLCompareItemsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt32 )
+InvokeAVLCompareItemsUPP(
+ AVLTreePtr tree,
+ const void * i1,
+ const void * i2,
+ AVLNodeType nd_typ,
+ AVLCompareItemsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt32) InvokeAVLCompareItemsUPP(AVLTreePtr tree, const void * i1, const void * i2, AVLNodeType nd_typ, AVLCompareItemsUPP userUPP)
- {
- return (SInt32)CALL_FOUR_PARAMETER_UPP(userUPP, uppAVLCompareItemsProcInfo, tree, i1, i2, nd_typ);
- }
-#else
-#define InvokeAVLCompareItemsUPP(tree, i1, i2, nd_typ, userUPP) (SInt32)CALL_FOUR_PARAMETER_UPP((userUPP), uppAVLCompareItemsProcInfo, (tree), (i1), (i2), (nd_typ))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt32) InvokeAVLCompareItemsUPP(AVLTreePtr tree, const void * i1, const void * i2, AVLNodeType nd_typ, AVLCompareItemsUPP userUPP) { return (SInt32)CALL_FOUR_PARAMETER_UPP(userUPP, uppAVLCompareItemsProcInfo, tree, i1, i2, nd_typ); }
+ #else
+ #define InvokeAVLCompareItemsUPP(tree, i1, i2, nd_typ, userUPP) (SInt32)CALL_FOUR_PARAMETER_UPP((userUPP), uppAVLCompareItemsProcInfo, (tree), (i1), (i2), (nd_typ))
+ #endif
#endif
- /*
- * InvokeAVLItemSizeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- InvokeAVLItemSizeUPP(
- AVLTreePtr tree,
- const void * itemPtr,
- AVLItemSizeUPP userUPP);
+/*
+ * InvokeAVLItemSizeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+InvokeAVLItemSizeUPP(
+ AVLTreePtr tree,
+ const void * itemPtr,
+ AVLItemSizeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt32) InvokeAVLItemSizeUPP(AVLTreePtr tree, const void * itemPtr, AVLItemSizeUPP userUPP)
- {
- return (UInt32)CALL_TWO_PARAMETER_UPP(userUPP, uppAVLItemSizeProcInfo, tree, itemPtr);
- }
-#else
-#define InvokeAVLItemSizeUPP(tree, itemPtr, userUPP) (UInt32)CALL_TWO_PARAMETER_UPP((userUPP), uppAVLItemSizeProcInfo, (tree), (itemPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt32) InvokeAVLItemSizeUPP(AVLTreePtr tree, const void * itemPtr, AVLItemSizeUPP userUPP) { return (UInt32)CALL_TWO_PARAMETER_UPP(userUPP, uppAVLItemSizeProcInfo, tree, itemPtr); }
+ #else
+ #define InvokeAVLItemSizeUPP(tree, itemPtr, userUPP) (UInt32)CALL_TWO_PARAMETER_UPP((userUPP), uppAVLItemSizeProcInfo, (tree), (itemPtr))
+ #endif
#endif
- /*
- * InvokeAVLDisposeItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeAVLDisposeItemUPP(
- AVLTreePtr tree,
- const void * dataP,
- AVLDisposeItemUPP userUPP);
+/*
+ * InvokeAVLDisposeItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeAVLDisposeItemUPP(
+ AVLTreePtr tree,
+ const void * dataP,
+ AVLDisposeItemUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeAVLDisposeItemUPP(AVLTreePtr tree, const void * dataP, AVLDisposeItemUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppAVLDisposeItemProcInfo, tree, dataP);
- }
-#else
-#define InvokeAVLDisposeItemUPP(tree, dataP, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppAVLDisposeItemProcInfo, (tree), (dataP))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeAVLDisposeItemUPP(AVLTreePtr tree, const void * dataP, AVLDisposeItemUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppAVLDisposeItemProcInfo, tree, dataP); }
+ #else
+ #define InvokeAVLDisposeItemUPP(tree, dataP, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppAVLDisposeItemProcInfo, (tree), (dataP))
+ #endif
#endif
- /*
- * InvokeAVLWalkUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeAVLWalkUPP(
- AVLTreePtr tree,
- const void * dataP,
- AVLVisitStage visitStage,
- AVLNodeType node,
- UInt32 level,
- SInt32 balance,
- void * refCon,
- AVLWalkUPP userUPP);
+/*
+ * InvokeAVLWalkUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeAVLWalkUPP(
+ AVLTreePtr tree,
+ const void * dataP,
+ AVLVisitStage visitStage,
+ AVLNodeType node,
+ UInt32 level,
+ SInt32 balance,
+ void * refCon,
+ AVLWalkUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeAVLWalkUPP(AVLTreePtr tree, const void * dataP, AVLVisitStage visitStage, AVLNodeType node, UInt32 level, SInt32 balance, void * refCon, AVLWalkUPP userUPP)
- {
- return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppAVLWalkProcInfo, tree, dataP, visitStage, node, level, balance, refCon);
- }
-#else
-#define InvokeAVLWalkUPP(tree, dataP, visitStage, node, level, balance, refCon, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppAVLWalkProcInfo, (tree), (dataP), (visitStage), (node), (level), (balance), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeAVLWalkUPP(AVLTreePtr tree, const void * dataP, AVLVisitStage visitStage, AVLNodeType node, UInt32 level, SInt32 balance, void * refCon, AVLWalkUPP userUPP) { return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppAVLWalkProcInfo, tree, dataP, visitStage, node, level, balance, refCon); }
+ #else
+ #define InvokeAVLWalkUPP(tree, dataP, visitStage, node, level, balance, refCon, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppAVLWalkProcInfo, (tree), (dataP), (visitStage), (node), (level), (balance), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewAVLCompareItemsProc(userRoutine) NewAVLCompareItemsUPP(userRoutine)
-#define NewAVLItemSizeProc(userRoutine) NewAVLItemSizeUPP(userRoutine)
-#define NewAVLDisposeItemProc(userRoutine) NewAVLDisposeItemUPP(userRoutine)
-#define NewAVLWalkProc(userRoutine) NewAVLWalkUPP(userRoutine)
-#define CallAVLCompareItemsProc(userRoutine, tree, i1, i2, nd_typ) InvokeAVLCompareItemsUPP(tree, i1, i2, nd_typ, userRoutine)
-#define CallAVLItemSizeProc(userRoutine, tree, itemPtr) InvokeAVLItemSizeUPP(tree, itemPtr, userRoutine)
-#define CallAVLDisposeItemProc(userRoutine, tree, dataP) InvokeAVLDisposeItemUPP(tree, dataP, userRoutine)
-#define CallAVLWalkProc(userRoutine, tree, dataP, visitStage, node, level, balance, refCon) InvokeAVLWalkUPP(tree, dataP, visitStage, node, level, balance, refCon, userRoutine)
+ #define NewAVLCompareItemsProc(userRoutine) NewAVLCompareItemsUPP(userRoutine)
+ #define NewAVLItemSizeProc(userRoutine) NewAVLItemSizeUPP(userRoutine)
+ #define NewAVLDisposeItemProc(userRoutine) NewAVLDisposeItemUPP(userRoutine)
+ #define NewAVLWalkProc(userRoutine) NewAVLWalkUPP(userRoutine)
+ #define CallAVLCompareItemsProc(userRoutine, tree, i1, i2, nd_typ) InvokeAVLCompareItemsUPP(tree, i1, i2, nd_typ, userRoutine)
+ #define CallAVLItemSizeProc(userRoutine, tree, itemPtr) InvokeAVLItemSizeUPP(tree, itemPtr, userRoutine)
+ #define CallAVLDisposeItemProc(userRoutine, tree, dataP) InvokeAVLDisposeItemUPP(tree, dataP, userRoutine)
+ #define CallAVLWalkProc(userRoutine, tree, dataP, visitStage, node, level, balance, refCon) InvokeAVLWalkUPP(tree, dataP, visitStage, node, level, balance, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- Create an AVL tree. The compareItemsProc and the sizeItemProc are required; disposeItemProc is
- optional and can be nil. The refCon is stored with the list, and is passed back to the
- compareItemsProc, sizeItemProc, and disposeItemsProc calls. The allocation of the tree ( and all
- nodes later added to the list with AVLInsert ) will be created in what is the current zone at the
- time AVLInit() is called. Always call AVLDispose() to dispose of a list created with AVLInit().
- */
- /*
- * AVLInit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLInit(
- UInt32 flags,
- AVLCompareItemsUPP compareItemsProc,
- AVLItemSizeUPP sizeItemProc,
- AVLDisposeItemUPP disposeItemProc,
- void * refCon,
- AVLTreePtr * tree) THREEWORDINLINE(0x303C, 0x0C01, 0xAA80);
-
-
- /*
- Dispose of an AVL tree. This will dispose of each item in the tree in the order specified,
- call the tree's disposeProc proc for each item, and then dispose of the space allocated for
- the tree itself.
- */
- /*
- * AVLDispose()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLDispose(
- AVLTreePtr * tree,
- AVLOrder order) THREEWORDINLINE(0x303C, 0x0302, 0xAA80);
-
-
- /*
- Iterate across all of the items in the tree, in the order specified. kLeftToRight is
- basically lowest-to-highest order, kRightToLeft is highest-to-lowest order. For each
- node in the tree, it will call the walkProc with three messages ( at the appropriate
- time ). First, with kAVLPreOrder when the walking gets to this node in the tree,
- before handling either the left or right subtree, secondly, with kAVLInOrder after
- handling one subtree but before handling the other, and lastly with kAVLPostOrder after
- handling both subtrees. If you want to handle items in order, then only do something
- if the visit stage is kAVLInOrder. You can only call AVLRemove() from inside a walkProc
- if visit stage is kAVLPostOrder ( because if you remove a node during the pre or in order
- stages you will corrupt the list ) OR if you return a non-zero result from the walkProc
- call which called AVLRemove() to immediately terminate the walkProc. Do not call AVLInsert()
- to insert a node into the tree from inside a walkProc.
- The walkProc function gets called with the AVLTreePtr, a pointer to the data for the
- current node ( which you can change in place as long as you do not affect the order within
- the tree ), the visit stage, the type of the current node ( leaf node, right or left branch,
- or full tree ), the level within the tree ( the root is level 1 ), the balance for the
- current node, and the refCon passed to AVLWalk(). This refCon is different from the one passed
- into AVLInit(); use AVLGetRefCon() to get that refCon if you want it inside a walkProc.
- ( Most walkProcs will not care about the values for node type, level, or balance. )
- */
- /*
- * AVLWalk()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLWalk(
- AVLTreePtr tree,
- AVLWalkUPP walkProc,
- AVLOrder order,
- void * walkRefCon) THREEWORDINLINE(0x303C, 0x0703, 0xAA80);
-
-
- /* Return the number of items in the given tree.*/
- /*
- * AVLCount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLCount(
- AVLTreePtr tree,
- UInt32 * count) THREEWORDINLINE(0x303C, 0x0804, 0xAA80);
-
-
- /*
- Return the one-based index-th item from the tree by putting it's data at dataPtr
- if dataPtr is non-nil, and it's size into *itemSize if itemSize is non-nil.
- If index is out of range, return errItemNotFoundInTree. ( Internally, this does
- an AVLWalk(), so the tree can not be modified while this call is in progress ).
- */
- /*
- * AVLGetIndItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLGetIndItem(
- AVLTreePtr tree,
- UInt32 index,
- void * dataPtr,
- UInt32 * itemSize) THREEWORDINLINE(0x303C, 0x0805, 0xAA80);
-
-
- /*
- Insert the given item into the tree. This will call the tree's sizeItemProc
- to determine how big the item at data is, and then will make a copy of the
- item and insert it into the tree in the appropriate place. If an item already
- exists in the tree with the same key ( so that the compareItemsUPP returns 0
- when asked to compare this item to an existing one ), then it will return
- errItemNotFoundInTree.
- */
- /*
- * AVLInsert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLInsert(
- AVLTreePtr tree,
- const void * data) THREEWORDINLINE(0x303C, 0x0406, 0xAA80);
-
-
- /*
- Remove any item from the tree with the given key. If dataPtr != nil, then
- copy the item's data to dataPtr before removing it from the tree. Before
- removing the item, call the tree's disposeItemProc to let it release anything
- used by the data in the tree. It is not necessary to fill in a complete
- record for key, only that the compareItemsProc return 0 when asked to compare
- the data at key with the node in the tree to be deleted. If the item cannot
- be found in the tree, this will return errItemNotFoundInTree.
- */
- /*
- * AVLRemove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLRemove(
- AVLTreePtr tree,
- const void * key,
- void * dataPtr,
- UInt32 * itemSize) THREEWORDINLINE(0x303C, 0x0807, 0xAA80);
-
-
- /*
- Find the item in the tree with the given key, and return it's data in
- dataPtr ( if dataPtr != nil ), and it's size in *itemSize ( if itemSize
- != nil ). It is not necessary to fill in a complete record for key,
- only that the compareItemsProc return 0 when asked to compare the data
- at key with the node in the tree to be deleted. If the item cannot
- be found in the tree, this will return errItemNotFoundInTree.
- */
- /*
- * AVLFind()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLFind(
- AVLTreePtr tree,
- const void * key,
- void * dataPtr,
- UInt32 * itemSize) THREEWORDINLINE(0x303C, 0x0808, 0xAA80);
-
-
- /*
- Get the refCon for the given tree ( set in AVLInit ) and return it.
- If the given tree is invalid, then return nil.
- */
- /*
- * AVLGetRefcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AVLGetRefcon(
- AVLTreePtr tree,
- void ** refCon) THREEWORDINLINE(0x303C, 0x0409, 0xAA80);
+/*
+ Create an AVL tree. The compareItemsProc and the sizeItemProc are required; disposeItemProc is
+ optional and can be nil. The refCon is stored with the list, and is passed back to the
+ compareItemsProc, sizeItemProc, and disposeItemsProc calls. The allocation of the tree ( and all
+ nodes later added to the list with AVLInsert ) will be created in what is the current zone at the
+ time AVLInit() is called. Always call AVLDispose() to dispose of a list created with AVLInit().
+*/
+/*
+ * AVLInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLInit(
+ UInt32 flags,
+ AVLCompareItemsUPP compareItemsProc,
+ AVLItemSizeUPP sizeItemProc,
+ AVLDisposeItemUPP disposeItemProc,
+ void * refCon,
+ AVLTreePtr * tree) THREEWORDINLINE(0x303C, 0x0C01, 0xAA80);
+
+
+/*
+ Dispose of an AVL tree. This will dispose of each item in the tree in the order specified,
+ call the tree's disposeProc proc for each item, and then dispose of the space allocated for
+ the tree itself.
+*/
+/*
+ * AVLDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLDispose(
+ AVLTreePtr * tree,
+ AVLOrder order) THREEWORDINLINE(0x303C, 0x0302, 0xAA80);
+
+
+/*
+ Iterate across all of the items in the tree, in the order specified. kLeftToRight is
+ basically lowest-to-highest order, kRightToLeft is highest-to-lowest order. For each
+ node in the tree, it will call the walkProc with three messages ( at the appropriate
+ time ). First, with kAVLPreOrder when the walking gets to this node in the tree,
+ before handling either the left or right subtree, secondly, with kAVLInOrder after
+ handling one subtree but before handling the other, and lastly with kAVLPostOrder after
+ handling both subtrees. If you want to handle items in order, then only do something
+ if the visit stage is kAVLInOrder. You can only call AVLRemove() from inside a walkProc
+ if visit stage is kAVLPostOrder ( because if you remove a node during the pre or in order
+ stages you will corrupt the list ) OR if you return a non-zero result from the walkProc
+ call which called AVLRemove() to immediately terminate the walkProc. Do not call AVLInsert()
+ to insert a node into the tree from inside a walkProc.
+ The walkProc function gets called with the AVLTreePtr, a pointer to the data for the
+ current node ( which you can change in place as long as you do not affect the order within
+ the tree ), the visit stage, the type of the current node ( leaf node, right or left branch,
+ or full tree ), the level within the tree ( the root is level 1 ), the balance for the
+ current node, and the refCon passed to AVLWalk(). This refCon is different from the one passed
+ into AVLInit(); use AVLGetRefCon() to get that refCon if you want it inside a walkProc.
+ ( Most walkProcs will not care about the values for node type, level, or balance. )
+*/
+/*
+ * AVLWalk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLWalk(
+ AVLTreePtr tree,
+ AVLWalkUPP walkProc,
+ AVLOrder order,
+ void * walkRefCon) THREEWORDINLINE(0x303C, 0x0703, 0xAA80);
+
+
+/* Return the number of items in the given tree.*/
+/*
+ * AVLCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLCount(
+ AVLTreePtr tree,
+ UInt32 * count) THREEWORDINLINE(0x303C, 0x0804, 0xAA80);
+
+
+/*
+ Return the one-based index-th item from the tree by putting it's data at dataPtr
+ if dataPtr is non-nil, and it's size into *itemSize if itemSize is non-nil.
+ If index is out of range, return errItemNotFoundInTree. ( Internally, this does
+ an AVLWalk(), so the tree can not be modified while this call is in progress ).
+*/
+/*
+ * AVLGetIndItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLGetIndItem(
+ AVLTreePtr tree,
+ UInt32 index,
+ void * dataPtr,
+ UInt32 * itemSize) THREEWORDINLINE(0x303C, 0x0805, 0xAA80);
+
+
+/*
+ Insert the given item into the tree. This will call the tree's sizeItemProc
+ to determine how big the item at data is, and then will make a copy of the
+ item and insert it into the tree in the appropriate place. If an item already
+ exists in the tree with the same key ( so that the compareItemsUPP returns 0
+ when asked to compare this item to an existing one ), then it will return
+ errItemNotFoundInTree.
+*/
+/*
+ * AVLInsert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLInsert(
+ AVLTreePtr tree,
+ const void * data) THREEWORDINLINE(0x303C, 0x0406, 0xAA80);
+
+
+/*
+ Remove any item from the tree with the given key. If dataPtr != nil, then
+ copy the item's data to dataPtr before removing it from the tree. Before
+ removing the item, call the tree's disposeItemProc to let it release anything
+ used by the data in the tree. It is not necessary to fill in a complete
+ record for key, only that the compareItemsProc return 0 when asked to compare
+ the data at key with the node in the tree to be deleted. If the item cannot
+ be found in the tree, this will return errItemNotFoundInTree.
+*/
+/*
+ * AVLRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLRemove(
+ AVLTreePtr tree,
+ const void * key,
+ void * dataPtr,
+ UInt32 * itemSize) THREEWORDINLINE(0x303C, 0x0807, 0xAA80);
+
+
+/*
+ Find the item in the tree with the given key, and return it's data in
+ dataPtr ( if dataPtr != nil ), and it's size in *itemSize ( if itemSize
+ != nil ). It is not necessary to fill in a complete record for key,
+ only that the compareItemsProc return 0 when asked to compare the data
+ at key with the node in the tree to be deleted. If the item cannot
+ be found in the tree, this will return errItemNotFoundInTree.
+*/
+/*
+ * AVLFind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLFind(
+ AVLTreePtr tree,
+ const void * key,
+ void * dataPtr,
+ UInt32 * itemSize) THREEWORDINLINE(0x303C, 0x0808, 0xAA80);
+
+
+/*
+ Get the refCon for the given tree ( set in AVLInit ) and return it.
+ If the given tree is invalid, then return nil.
+*/
+/*
+ * AVLGetRefcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AVLGetRefcon(
+ AVLTreePtr tree,
+ void ** refCon) THREEWORDINLINE(0x303C, 0x0409, 0xAA80);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Aliases.h b/include/qt/Aliases.h
index 9ff8f8bf4..592bba886 100644
--- a/include/qt/Aliases.h
+++ b/include/qt/Aliases.h
@@ -1,17 +1,17 @@
/*
File: Aliases.h
-
+
Contains: Alias Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ALIASES__
#define __ALIASES__
@@ -40,637 +40,621 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef UInt32 FSAliasInfoBitmap;
- enum
- {
- kFSAliasInfoNone = 0x00000000, /* no valid info*/
- kFSAliasInfoVolumeCreateDate = 0x00000001, /* volume creation date is valid*/
- kFSAliasInfoTargetCreateDate = 0x00000002, /* target creation date is valid*/
- kFSAliasInfoFinderInfo = 0x00000004, /* file type and creator are valid*/
- kFSAliasInfoIsDirectory = 0x00000008, /* isDirectory boolean is valid*/
- kFSAliasInfoIDs = 0x00000010, /* parentDirID and nodeID are valid*/
- kFSAliasInfoFSInfo = 0x00000020, /* filesystemID and signature are valid*/
- kFSAliasInfoVolumeFlags = 0x00000040 /* volumeIsBootVolume, volumeIsAutomounted, volumeIsEjectable and volumeHasPersistentFileIDs are valid*/
- };
-
- enum
- {
- rAliasType = FOUR_CHAR_CODE('alis') /* Aliases are stored as resources of this type */
- };
-
- enum
- {
- /* define alias resolution action rules mask */
- kARMMountVol = 0x00000001, /* mount the volume automatically */
- kARMNoUI = 0x00000002, /* no user interface allowed during resolution */
- kARMMultVols = 0x00000008, /* search on multiple volumes */
- kARMSearch = 0x00000100, /* search quickly */
- kARMSearchMore = 0x00000200, /* search further */
- kARMSearchRelFirst = 0x00000400, /* search target on a relative path first */
- kARMTryFileIDFirst = 0x00000800 /* search by file id before path */
- };
-
- enum
- {
- /* define alias record information types */
- asiZoneName = -3, /* get zone name */
- asiServerName = -2, /* get server name */
- asiVolumeName = -1, /* get volume name */
- asiAliasName = 0, /* get aliased file/folder/volume name */
- asiParentName = 1 /* get parent folder name */
- };
-
- /* ResolveAliasFileWithMountFlags options */
- enum
- {
- kResolveAliasFileNoUI = 0x00000001, /* no user interaction during resolution */
- kResolveAliasTryFileIDFirst = 0x00000002 /* search by file id before path */
- };
-
- /* define the alias record that will be the blackbox for the caller */
- struct AliasRecord
- {
- OSType userType; /* appl stored type like creator type */
- unsigned short aliasSize; /* alias record size in bytes, for appl usage */
- };
- typedef struct AliasRecord AliasRecord;
- typedef AliasRecord * AliasPtr;
- typedef AliasPtr * AliasHandle;
- /* info block to pass to FSCopyAliasInfo */
- struct FSAliasInfo
- {
- UTCDateTime volumeCreateDate;
- UTCDateTime targetCreateDate;
- OSType fileType;
- OSType fileCreator;
- UInt32 parentDirID;
- UInt32 nodeID;
- UInt16 filesystemID;
- UInt16 signature;
- Boolean volumeIsBootVolume;
- Boolean volumeIsAutomounted;
- Boolean volumeIsEjectable;
- Boolean volumeHasPersistentFileIDs;
- Boolean isDirectory;
- };
- typedef struct FSAliasInfo FSAliasInfo;
- typedef FSAliasInfo * FSAliasInfoPtr;
- /* alias record information type */
- typedef short AliasInfoType;
- /*
- * NewAlias()
- *
- * Summary:
- * create a new alias between fromFile and target, returns alias
- * record handle
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewAlias(
- const FSSpec * fromFile, /* can be NULL */
- const FSSpec * target,
- AliasHandle * alias) TWOWORDINLINE(0x7002, 0xA823);
-
-
- /*
- * NewAliasMinimal()
- *
- * Summary:
- * create a minimal new alias for a target and return alias record
- * handle
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewAliasMinimal(
- const FSSpec * target,
- AliasHandle * alias) TWOWORDINLINE(0x7008, 0xA823);
-
-
- /*
- * NewAliasMinimalFromFullPath()
- *
- * Summary:
- * create a minimal new alias from a target fullpath (optional zone
- * and server name) and return alias record handle
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewAliasMinimalFromFullPath(
- short fullPathLength,
- const void * fullPath,
- ConstStr32Param zoneName,
- ConstStr31Param serverName,
- AliasHandle * alias) TWOWORDINLINE(0x7009, 0xA823);
-
-
- /*
- * ResolveAlias()
- *
- * Summary:
- * given an alias handle and fromFile, resolve the alias, update the
- * alias record and return aliased filename and wasChanged flag.
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ResolveAlias(
- const FSSpec * fromFile, /* can be NULL */
- AliasHandle alias,
- FSSpec * target,
- Boolean * wasChanged) TWOWORDINLINE(0x7003, 0xA823);
-
-
- /*
- * GetAliasInfo()
- *
- * Summary:
- * given an alias handle and an index specifying requested alias
- * information type, return the information from alias record as a
- * string.
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetAliasInfo(
- AliasHandle alias,
- AliasInfoType index,
- Str63 theString) TWOWORDINLINE(0x7007, 0xA823);
-
-
-
- /*
- * IsAliasFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IsAliasFile(
- const FSSpec * fileFSSpec,
- Boolean * aliasFileFlag,
- Boolean * folderFlag) TWOWORDINLINE(0x702A, 0xA823);
-
-
- /*
- * ResolveAliasWithMountFlags()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ResolveAliasWithMountFlags(
- const FSSpec * fromFile, /* can be NULL */
- AliasHandle alias,
- FSSpec * target,
- Boolean * wasChanged,
- unsigned long mountFlags) TWOWORDINLINE(0x702B, 0xA823);
-
-
- /*
- * ResolveAliasFile()
- *
- * Summary:
- * Given a file spec, return target file spec if input file spec is
- * an alias. It resolves the entire alias chain or one step of the
- * chain. It returns info about whether the target is a folder or
- * file; and whether the input file spec was an alias or not.
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ResolveAliasFile(
- FSSpec * theSpec,
- Boolean resolveAliasChains,
- Boolean * targetIsFolder,
- Boolean * wasAliased) TWOWORDINLINE(0x700C, 0xA823);
-
-
-
- /*
- * ResolveAliasFileWithMountFlags()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ResolveAliasFileWithMountFlags(
- FSSpec * theSpec,
- Boolean resolveAliasChains,
- Boolean * targetIsFolder,
- Boolean * wasAliased,
- unsigned long mountFlags) TWOWORDINLINE(0x7029, 0xA823);
-
-
- /*
- * FollowFinderAlias()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FollowFinderAlias(
- const FSSpec * fromFile, /* can be NULL */
- AliasHandle alias,
- Boolean logon,
- FSSpec * target,
- Boolean * wasChanged) TWOWORDINLINE(0x700F, 0xA823);
-
-
- /*
- Low Level Routines
- */
- /*
- * UpdateAlias()
- *
- * Summary:
- * given a fromFile-target pair and an alias handle, update the
- * alias record pointed to by alias handle to represent target as
- * the new alias.
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UpdateAlias(
- const FSSpec * fromFile, /* can be NULL */
- const FSSpec * target,
- AliasHandle alias,
- Boolean * wasChanged) TWOWORDINLINE(0x7006, 0xA823);
-
-
-
- typedef CALLBACK_API(Boolean , AliasFilterProcPtr)(CInfoPBPtr cpbPtr, Boolean *quitFlag, Ptr myDataPtr);
- typedef STACK_UPP_TYPE(AliasFilterProcPtr) AliasFilterUPP;
- /*
- * NewAliasFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AliasFilterUPP)
- NewAliasFilterUPP(AliasFilterProcPtr userRoutine);
+typedef UInt32 FSAliasInfoBitmap;
+enum {
+ kFSAliasInfoNone = 0x00000000, /* no valid info*/
+ kFSAliasInfoVolumeCreateDate = 0x00000001, /* volume creation date is valid*/
+ kFSAliasInfoTargetCreateDate = 0x00000002, /* target creation date is valid*/
+ kFSAliasInfoFinderInfo = 0x00000004, /* file type and creator are valid*/
+ kFSAliasInfoIsDirectory = 0x00000008, /* isDirectory boolean is valid*/
+ kFSAliasInfoIDs = 0x00000010, /* parentDirID and nodeID are valid*/
+ kFSAliasInfoFSInfo = 0x00000020, /* filesystemID and signature are valid*/
+ kFSAliasInfoVolumeFlags = 0x00000040 /* volumeIsBootVolume, volumeIsAutomounted, volumeIsEjectable and volumeHasPersistentFileIDs are valid*/
+};
+
+enum {
+ rAliasType = FOUR_CHAR_CODE('alis') /* Aliases are stored as resources of this type */
+};
+
+enum {
+ /* define alias resolution action rules mask */
+ kARMMountVol = 0x00000001, /* mount the volume automatically */
+ kARMNoUI = 0x00000002, /* no user interface allowed during resolution */
+ kARMMultVols = 0x00000008, /* search on multiple volumes */
+ kARMSearch = 0x00000100, /* search quickly */
+ kARMSearchMore = 0x00000200, /* search further */
+ kARMSearchRelFirst = 0x00000400, /* search target on a relative path first */
+ kARMTryFileIDFirst = 0x00000800 /* search by file id before path */
+};
+
+enum {
+ /* define alias record information types */
+ asiZoneName = -3, /* get zone name */
+ asiServerName = -2, /* get server name */
+ asiVolumeName = -1, /* get volume name */
+ asiAliasName = 0, /* get aliased file/folder/volume name */
+ asiParentName = 1 /* get parent folder name */
+};
+
+/* ResolveAliasFileWithMountFlags options */
+enum {
+ kResolveAliasFileNoUI = 0x00000001, /* no user interaction during resolution */
+ kResolveAliasTryFileIDFirst = 0x00000002 /* search by file id before path */
+};
+
+/* define the alias record that will be the blackbox for the caller */
+struct AliasRecord {
+ OSType userType; /* appl stored type like creator type */
+ unsigned short aliasSize; /* alias record size in bytes, for appl usage */
+};
+typedef struct AliasRecord AliasRecord;
+typedef AliasRecord * AliasPtr;
+typedef AliasPtr * AliasHandle;
+/* info block to pass to FSCopyAliasInfo */
+struct FSAliasInfo {
+ UTCDateTime volumeCreateDate;
+ UTCDateTime targetCreateDate;
+ OSType fileType;
+ OSType fileCreator;
+ UInt32 parentDirID;
+ UInt32 nodeID;
+ UInt16 filesystemID;
+ UInt16 signature;
+ Boolean volumeIsBootVolume;
+ Boolean volumeIsAutomounted;
+ Boolean volumeIsEjectable;
+ Boolean volumeHasPersistentFileIDs;
+ Boolean isDirectory;
+};
+typedef struct FSAliasInfo FSAliasInfo;
+typedef FSAliasInfo * FSAliasInfoPtr;
+/* alias record information type */
+typedef short AliasInfoType;
+/*
+ * NewAlias()
+ *
+ * Summary:
+ * create a new alias between fromFile and target, returns alias
+ * record handle
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewAlias(
+ const FSSpec * fromFile, /* can be NULL */
+ const FSSpec * target,
+ AliasHandle * alias) TWOWORDINLINE(0x7002, 0xA823);
+
+
+/*
+ * NewAliasMinimal()
+ *
+ * Summary:
+ * create a minimal new alias for a target and return alias record
+ * handle
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewAliasMinimal(
+ const FSSpec * target,
+ AliasHandle * alias) TWOWORDINLINE(0x7008, 0xA823);
+
+
+/*
+ * NewAliasMinimalFromFullPath()
+ *
+ * Summary:
+ * create a minimal new alias from a target fullpath (optional zone
+ * and server name) and return alias record handle
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewAliasMinimalFromFullPath(
+ short fullPathLength,
+ const void * fullPath,
+ ConstStr32Param zoneName,
+ ConstStr31Param serverName,
+ AliasHandle * alias) TWOWORDINLINE(0x7009, 0xA823);
+
+
+/*
+ * ResolveAlias()
+ *
+ * Summary:
+ * given an alias handle and fromFile, resolve the alias, update the
+ * alias record and return aliased filename and wasChanged flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ResolveAlias(
+ const FSSpec * fromFile, /* can be NULL */
+ AliasHandle alias,
+ FSSpec * target,
+ Boolean * wasChanged) TWOWORDINLINE(0x7003, 0xA823);
+
+
+/*
+ * GetAliasInfo()
+ *
+ * Summary:
+ * given an alias handle and an index specifying requested alias
+ * information type, return the information from alias record as a
+ * string.
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetAliasInfo(
+ AliasHandle alias,
+ AliasInfoType index,
+ Str63 theString) TWOWORDINLINE(0x7007, 0xA823);
+
+
+
+/*
+ * IsAliasFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IsAliasFile(
+ const FSSpec * fileFSSpec,
+ Boolean * aliasFileFlag,
+ Boolean * folderFlag) TWOWORDINLINE(0x702A, 0xA823);
+
+
+/*
+ * ResolveAliasWithMountFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ResolveAliasWithMountFlags(
+ const FSSpec * fromFile, /* can be NULL */
+ AliasHandle alias,
+ FSSpec * target,
+ Boolean * wasChanged,
+ unsigned long mountFlags) TWOWORDINLINE(0x702B, 0xA823);
+
+
+/*
+ * ResolveAliasFile()
+ *
+ * Summary:
+ * Given a file spec, return target file spec if input file spec is
+ * an alias. It resolves the entire alias chain or one step of the
+ * chain. It returns info about whether the target is a folder or
+ * file; and whether the input file spec was an alias or not.
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ResolveAliasFile(
+ FSSpec * theSpec,
+ Boolean resolveAliasChains,
+ Boolean * targetIsFolder,
+ Boolean * wasAliased) TWOWORDINLINE(0x700C, 0xA823);
+
+
+
+/*
+ * ResolveAliasFileWithMountFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ResolveAliasFileWithMountFlags(
+ FSSpec * theSpec,
+ Boolean resolveAliasChains,
+ Boolean * targetIsFolder,
+ Boolean * wasAliased,
+ unsigned long mountFlags) TWOWORDINLINE(0x7029, 0xA823);
+
+
+/*
+ * FollowFinderAlias()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FollowFinderAlias(
+ const FSSpec * fromFile, /* can be NULL */
+ AliasHandle alias,
+ Boolean logon,
+ FSSpec * target,
+ Boolean * wasChanged) TWOWORDINLINE(0x700F, 0xA823);
+
+
+/*
+ Low Level Routines
+*/
+/*
+ * UpdateAlias()
+ *
+ * Summary:
+ * given a fromFile-target pair and an alias handle, update the
+ * alias record pointed to by alias handle to represent target as
+ * the new alias.
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UpdateAlias(
+ const FSSpec * fromFile, /* can be NULL */
+ const FSSpec * target,
+ AliasHandle alias,
+ Boolean * wasChanged) TWOWORDINLINE(0x7006, 0xA823);
+
+
+
+typedef CALLBACK_API( Boolean , AliasFilterProcPtr )(CInfoPBPtr cpbPtr, Boolean *quitFlag, Ptr myDataPtr);
+typedef STACK_UPP_TYPE(AliasFilterProcPtr) AliasFilterUPP;
+/*
+ * NewAliasFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AliasFilterUPP )
+NewAliasFilterUPP(AliasFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAliasFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AliasFilterUPP) NewAliasFilterUPP(AliasFilterProcPtr userRoutine)
- {
- return (AliasFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAliasFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAliasFilterUPP(userRoutine) (AliasFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAliasFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAliasFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AliasFilterUPP) NewAliasFilterUPP(AliasFilterProcPtr userRoutine) { return (AliasFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAliasFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAliasFilterUPP(userRoutine) (AliasFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAliasFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeAliasFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeAliasFilterUPP(AliasFilterUPP userUPP);
+/*
+ * DisposeAliasFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeAliasFilterUPP(AliasFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAliasFilterUPP(AliasFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAliasFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAliasFilterUPP(AliasFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAliasFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeAliasFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeAliasFilterUPP(
- CInfoPBPtr cpbPtr,
- Boolean * quitFlag,
- Ptr myDataPtr,
- AliasFilterUPP userUPP);
+/*
+ * InvokeAliasFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeAliasFilterUPP(
+ CInfoPBPtr cpbPtr,
+ Boolean * quitFlag,
+ Ptr myDataPtr,
+ AliasFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeAliasFilterUPP(CInfoPBPtr cpbPtr, Boolean * quitFlag, Ptr myDataPtr, AliasFilterUPP userUPP)
- {
- return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppAliasFilterProcInfo, cpbPtr, quitFlag, myDataPtr);
- }
-#else
-#define InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppAliasFilterProcInfo, (cpbPtr), (quitFlag), (myDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeAliasFilterUPP(CInfoPBPtr cpbPtr, Boolean * quitFlag, Ptr myDataPtr, AliasFilterUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppAliasFilterProcInfo, cpbPtr, quitFlag, myDataPtr); }
+ #else
+ #define InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppAliasFilterProcInfo, (cpbPtr), (quitFlag), (myDataPtr))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewAliasFilterProc(userRoutine) NewAliasFilterUPP(userRoutine)
-#define CallAliasFilterProc(userRoutine, cpbPtr, quitFlag, myDataPtr) InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userRoutine)
+ #define NewAliasFilterProc(userRoutine) NewAliasFilterUPP(userRoutine)
+ #define CallAliasFilterProc(userRoutine, cpbPtr, quitFlag, myDataPtr) InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * MatchAlias()
- *
- * Summary:
- * Given an alias handle and fromFile, match the alias and return
- * FSSpecs to the aliased file(s) and needsUpdate flag
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- MatchAlias(
- const FSSpec * fromFile, /* can be NULL */
- unsigned long rulesMask,
- AliasHandle alias,
- short * aliasCount,
- FSSpecArrayPtr aliasList,
- Boolean * needsUpdate,
- AliasFilterUPP aliasFilter,
- void * yourDataPtr) TWOWORDINLINE(0x7005, 0xA823);
-
-
-
-
- /*
- * ResolveAliasFileWithMountFlagsNoUI()
- *
- * Summary:
- * variation on ResolveAliasFile that does not prompt user with a
- * dialog
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ResolveAliasFileWithMountFlagsNoUI(
- FSSpec * theSpec,
- Boolean resolveAliasChains,
- Boolean * targetIsFolder,
- Boolean * wasAliased,
- unsigned long mountFlags);
-
-
- /*
- * MatchAliasNoUI()
- *
- * Summary:
- * variation on MatchAlias that does not prompt user with a dialog
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- MatchAliasNoUI(
- const FSSpec * fromFile, /* can be NULL */
- unsigned long rulesMask,
- AliasHandle alias,
- short * aliasCount,
- FSSpecArrayPtr aliasList,
- Boolean * needsUpdate,
- AliasFilterUPP aliasFilter,
- void * yourDataPtr);
-
-
- /*
- * FSNewAliasUnicode()
- *
- * Summary:
- * Creates an alias given a ref to the target's parent directory and
- * the target's unicode name. If the target does not exist fnfErr
- * will be returned but the alias will still be created. This
- * allows the creation of aliases to targets that do not exist.
- *
- * Parameters:
- *
- * fromFile:
- * The starting point for a relative search.
- *
- * targetParentRef:
- * An FSRef to the parent directory of the target.
- *
- * targetNameLength:
- * Number of Unicode characters in the target's name.
- *
- * targetName:
- * A pointer to the Unicode name.
- *
- * inAlias:
- * A Handle to the newly created alias record.
- *
- * isDirectory:
- * On input, if target does not exist, a flag to indicate whether
- * or not the target is a directory. On output, if the target did
- * exist, an flag indicating if the target is a directory. Pass
- * NULL in the non-existant case if unsure.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSErr)
- FSNewAliasUnicode(
- const FSRef * fromFile, /* can be NULL */
- const FSRef * targetParentRef,
- UniCharCount targetNameLength,
- const UniChar * targetName,
- AliasHandle * inAlias,
- Boolean * isDirectory); /* can be NULL */
-
-
- /*
- * FSNewAliasMinimalUnicode()
- *
- * Summary:
- * Creates a minimal alias given a ref to the target's parent
- * directory and the target's unicode name. If the target does not
- * exist fnfErr will be returned but the alias will still be created.
- *
- * Parameters:
- *
- * targetParentRef:
- * An FSRef to the parent directory of the target.
- *
- * targetNameLength:
- * Number of Unicode characters in the target's name.
- *
- * targetName:
- * A pointer to the Unicode name.
- *
- * inAlias:
- * A Handle to the newly created alias record.
- *
- * isDirectory:
- * On input, if target does not exist, a flag to indicate whether
- * or not the
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSErr)
- FSNewAliasMinimalUnicode(
- const FSRef * targetParentRef,
- UniCharCount targetNameLength,
- const UniChar * targetName,
- AliasHandle * inAlias,
- Boolean * isDirectory); /* can be NULL */
-
-
- /*
- * FSMatchAlias()
- *
- * Summary:
- * Given an alias handle and fromFile, match the alias and return
- * FSRefs to the aliased file(s) and needsUpdate flag
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSErr)
- FSMatchAlias(
- const FSRef * fromFile, /* can be NULL */
- unsigned long rulesMask,
- AliasHandle inAlias,
- short * aliasCount,
- FSRef * aliasList,
- Boolean * needsUpdate,
- AliasFilterUPP aliasFilter,
- void * yourDataPtr);
-
-
- /*
- * FSMatchAliasNoUI()
- *
- * Summary:
- * variation on FSMatchAlias that does not prompt user with a dialog
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSErr)
- FSMatchAliasNoUI(
- const FSRef * fromFile, /* can be NULL */
- unsigned long rulesMask,
- AliasHandle inAlias,
- short * aliasCount,
- FSRef * aliasList,
- Boolean * needsUpdate,
- AliasFilterUPP aliasFilter,
- void * yourDataPtr);
-
-
- /*
- * FSCopyAliasInfo()
- *
- * Discussion:
- * This routine will return the requested information from the
- * passed in aliasHandle. The information is gathered only from the
- * alias record so it may not match what is on disk (no disk i/o is
- * performed). The whichInfo paramter is an output parameter that
- * signifies which fields in the info record contain valid data.
- *
- * Parameters:
- *
- * inAlias:
- * A handle to the alias record to get the information from.
- *
- * targetName:
- * The name of the target item.
- *
- * volumeName:
- * The name of the volume the target resides on.
- *
- * pathString:
- * POSIX path to target.
- *
- * whichInfo:
- * An indication of which fields in the info block contain valid
- * data.
- *
- * info:
- * Returned information about the alias.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FSCopyAliasInfo(
- AliasHandle inAlias,
- HFSUniStr255 * targetName, /* can be NULL */
- HFSUniStr255 * volumeName, /* can be NULL */
- CFStringRef * pathString, /* can be NULL */
- FSAliasInfoBitmap * whichInfo, /* can be NULL */
- FSAliasInfo * info); /* can be NULL */
+/*
+ * MatchAlias()
+ *
+ * Summary:
+ * Given an alias handle and fromFile, match the alias and return
+ * FSSpecs to the aliased file(s) and needsUpdate flag
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+MatchAlias(
+ const FSSpec * fromFile, /* can be NULL */
+ unsigned long rulesMask,
+ AliasHandle alias,
+ short * aliasCount,
+ FSSpecArrayPtr aliasList,
+ Boolean * needsUpdate,
+ AliasFilterUPP aliasFilter,
+ void * yourDataPtr) TWOWORDINLINE(0x7005, 0xA823);
+
+
+
+
+/*
+ * ResolveAliasFileWithMountFlagsNoUI()
+ *
+ * Summary:
+ * variation on ResolveAliasFile that does not prompt user with a
+ * dialog
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ResolveAliasFileWithMountFlagsNoUI(
+ FSSpec * theSpec,
+ Boolean resolveAliasChains,
+ Boolean * targetIsFolder,
+ Boolean * wasAliased,
+ unsigned long mountFlags);
+
+
+/*
+ * MatchAliasNoUI()
+ *
+ * Summary:
+ * variation on MatchAlias that does not prompt user with a dialog
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+MatchAliasNoUI(
+ const FSSpec * fromFile, /* can be NULL */
+ unsigned long rulesMask,
+ AliasHandle alias,
+ short * aliasCount,
+ FSSpecArrayPtr aliasList,
+ Boolean * needsUpdate,
+ AliasFilterUPP aliasFilter,
+ void * yourDataPtr);
+
+
+/*
+ * FSNewAliasUnicode()
+ *
+ * Summary:
+ * Creates an alias given a ref to the target's parent directory and
+ * the target's unicode name. If the target does not exist fnfErr
+ * will be returned but the alias will still be created. This
+ * allows the creation of aliases to targets that do not exist.
+ *
+ * Parameters:
+ *
+ * fromFile:
+ * The starting point for a relative search.
+ *
+ * targetParentRef:
+ * An FSRef to the parent directory of the target.
+ *
+ * targetNameLength:
+ * Number of Unicode characters in the target's name.
+ *
+ * targetName:
+ * A pointer to the Unicode name.
+ *
+ * inAlias:
+ * A Handle to the newly created alias record.
+ *
+ * isDirectory:
+ * On input, if target does not exist, a flag to indicate whether
+ * or not the target is a directory. On output, if the target did
+ * exist, an flag indicating if the target is a directory. Pass
+ * NULL in the non-existant case if unsure.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSErr )
+FSNewAliasUnicode(
+ const FSRef * fromFile, /* can be NULL */
+ const FSRef * targetParentRef,
+ UniCharCount targetNameLength,
+ const UniChar * targetName,
+ AliasHandle * inAlias,
+ Boolean * isDirectory); /* can be NULL */
+
+
+/*
+ * FSNewAliasMinimalUnicode()
+ *
+ * Summary:
+ * Creates a minimal alias given a ref to the target's parent
+ * directory and the target's unicode name. If the target does not
+ * exist fnfErr will be returned but the alias will still be created.
+ *
+ * Parameters:
+ *
+ * targetParentRef:
+ * An FSRef to the parent directory of the target.
+ *
+ * targetNameLength:
+ * Number of Unicode characters in the target's name.
+ *
+ * targetName:
+ * A pointer to the Unicode name.
+ *
+ * inAlias:
+ * A Handle to the newly created alias record.
+ *
+ * isDirectory:
+ * On input, if target does not exist, a flag to indicate whether
+ * or not the
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSErr )
+FSNewAliasMinimalUnicode(
+ const FSRef * targetParentRef,
+ UniCharCount targetNameLength,
+ const UniChar * targetName,
+ AliasHandle * inAlias,
+ Boolean * isDirectory); /* can be NULL */
+
+
+/*
+ * FSMatchAlias()
+ *
+ * Summary:
+ * Given an alias handle and fromFile, match the alias and return
+ * FSRefs to the aliased file(s) and needsUpdate flag
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSErr )
+FSMatchAlias(
+ const FSRef * fromFile, /* can be NULL */
+ unsigned long rulesMask,
+ AliasHandle inAlias,
+ short * aliasCount,
+ FSRef * aliasList,
+ Boolean * needsUpdate,
+ AliasFilterUPP aliasFilter,
+ void * yourDataPtr);
+
+
+/*
+ * FSMatchAliasNoUI()
+ *
+ * Summary:
+ * variation on FSMatchAlias that does not prompt user with a dialog
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSErr )
+FSMatchAliasNoUI(
+ const FSRef * fromFile, /* can be NULL */
+ unsigned long rulesMask,
+ AliasHandle inAlias,
+ short * aliasCount,
+ FSRef * aliasList,
+ Boolean * needsUpdate,
+ AliasFilterUPP aliasFilter,
+ void * yourDataPtr);
+
+
+/*
+ * FSCopyAliasInfo()
+ *
+ * Discussion:
+ * This routine will return the requested information from the
+ * passed in aliasHandle. The information is gathered only from the
+ * alias record so it may not match what is on disk (no disk i/o is
+ * performed). The whichInfo paramter is an output parameter that
+ * signifies which fields in the info record contain valid data.
+ *
+ * Parameters:
+ *
+ * inAlias:
+ * A handle to the alias record to get the information from.
+ *
+ * targetName:
+ * The name of the target item.
+ *
+ * volumeName:
+ * The name of the volume the target resides on.
+ *
+ * pathString:
+ * POSIX path to target.
+ *
+ * whichInfo:
+ * An indication of which fields in the info block contain valid
+ * data.
+ *
+ * info:
+ * Returned information about the alias.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FSCopyAliasInfo(
+ AliasHandle inAlias,
+ HFSUniStr255 * targetName, /* can be NULL */
+ HFSUniStr255 * volumeName, /* can be NULL */
+ CFStringRef * pathString, /* can be NULL */
+ FSAliasInfoBitmap * whichInfo, /* can be NULL */
+ FSAliasInfo * info); /* can be NULL */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Appearance.h b/include/qt/Appearance.h
index 3e4802c86..d99f16a43 100644
--- a/include/qt/Appearance.h
+++ b/include/qt/Appearance.h
@@ -1,17 +1,17 @@
/*
File: Appearance.h
-
+
Contains: Appearance Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __APPEARANCE__
#define __APPEARANCE__
@@ -68,3890 +68,3756 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kAppearanceEventClass = FOUR_CHAR_CODE('appr'), /* Event Class */
- kAEAppearanceChanged = FOUR_CHAR_CODE('thme'), /* Appearance changed (e.g. platinum to hi-tech) */
- kAESystemFontChanged = FOUR_CHAR_CODE('sysf'), /* system font changed */
- kAESmallSystemFontChanged = FOUR_CHAR_CODE('ssfn'), /* small system font changed */
- kAEViewsFontChanged = FOUR_CHAR_CODE('vfnt') /* views font changed */
- };
-
- /*----------------------------------------------------------------------------------*/
- /* Appearance Manager file types */
- /*----------------------------------------------------------------------------------*/
- enum
- {
- kThemeDataFileType = FOUR_CHAR_CODE('thme'), /* file type for theme files */
- kThemePlatinumFileType = FOUR_CHAR_CODE('pltn'), /* file type for platinum appearance */
- kThemeCustomThemesFileType = FOUR_CHAR_CODE('scen'), /* file type for user themes */
- kThemeSoundTrackFileType = FOUR_CHAR_CODE('tsnd')
- };
-
- /*----------------------------------------------------------------------------------*/
- /* Appearance Manager Supported Themes */
- /* Use CopyThemeIdentifier to get the current theme ID */
- /*----------------------------------------------------------------------------------*/
+enum {
+ kAppearanceEventClass = FOUR_CHAR_CODE('appr'), /* Event Class */
+ kAEAppearanceChanged = FOUR_CHAR_CODE('thme'), /* Appearance changed (e.g. platinum to hi-tech) */
+ kAESystemFontChanged = FOUR_CHAR_CODE('sysf'), /* system font changed */
+ kAESmallSystemFontChanged = FOUR_CHAR_CODE('ssfn'), /* small system font changed */
+ kAEViewsFontChanged = FOUR_CHAR_CODE('vfnt') /* views font changed */
+};
+
+/*----------------------------------------------------------------------------------*/
+/* Appearance Manager file types */
+/*----------------------------------------------------------------------------------*/
+enum {
+ kThemeDataFileType = FOUR_CHAR_CODE('thme'), /* file type for theme files */
+ kThemePlatinumFileType = FOUR_CHAR_CODE('pltn'), /* file type for platinum appearance */
+ kThemeCustomThemesFileType = FOUR_CHAR_CODE('scen'), /* file type for user themes */
+ kThemeSoundTrackFileType = FOUR_CHAR_CODE('tsnd')
+};
+
+/*----------------------------------------------------------------------------------*/
+/* Appearance Manager Supported Themes */
+/* Use CopyThemeIdentifier to get the current theme ID */
+/*----------------------------------------------------------------------------------*/
#define kThemeAppearancePlatinum CFSTR( "com.apple.theme.appearance.platinum" )
#define kThemeAppearanceAqua CFSTR( "com.apple.theme.appearance.aqua" )
#define kThemeAppearanceAquaBlue CFSTR( "com.apple.theme.appearance.aqua.blue" )
#define kThemeAppearanceAquaGraphite CFSTR( "com.apple.theme.appearance.aqua.graphite" )
- enum
- {
- kThemeBrushDialogBackgroundActive = 1, /* use with kModalWindowClass */
- kThemeBrushDialogBackgroundInactive = 2, /* use with kModalWindowClass */
- kThemeBrushAlertBackgroundActive = 3, /* use with kAlertWindowClass and kMovableAlertWindowClass */
- kThemeBrushAlertBackgroundInactive = 4, /* use with kAlertWindowClass and kMovableAlertWindowClass */
- kThemeBrushModelessDialogBackgroundActive = 5, /* use with kDocumentWindowClass */
- kThemeBrushModelessDialogBackgroundInactive = 6, /* use with kDocumentWindowClass */
- kThemeBrushUtilityWindowBackgroundActive = 7, /* use with kFloatingWindowClass and kUtilityWindowClass */
- kThemeBrushUtilityWindowBackgroundInactive = 8, /* use with kFloatingWindowClass and kUtilityWindowClass */
- kThemeBrushListViewSortColumnBackground = 9, /* Finder list views */
- kThemeBrushListViewBackground = 10,
- kThemeBrushIconLabelBackground = 11,
- kThemeBrushListViewSeparator = 12,
- kThemeBrushChasingArrows = 13,
- kThemeBrushDragHilite = 14,
- kThemeBrushDocumentWindowBackground = 15, /* use with kDocumentWindowClass */
- kThemeBrushFinderWindowBackground = 16
- };
-
- /* Brushes introduced in Appearance 1.1 (Mac OS 8.5) and later */
- enum
- {
- kThemeBrushScrollBarDelimiterActive = 17,
- kThemeBrushScrollBarDelimiterInactive = 18,
- kThemeBrushFocusHighlight = 19,
- kThemeBrushPopupArrowActive = 20,
- kThemeBrushPopupArrowPressed = 21,
- kThemeBrushPopupArrowInactive = 22,
- kThemeBrushAppleGuideCoachmark = 23,
- kThemeBrushIconLabelBackgroundSelected = 24,
- kThemeBrushStaticAreaFill = 25,
- kThemeBrushActiveAreaFill = 26,
- kThemeBrushButtonFrameActive = 27,
- kThemeBrushButtonFrameInactive = 28,
- kThemeBrushButtonFaceActive = 29,
- kThemeBrushButtonFaceInactive = 30,
- kThemeBrushButtonFacePressed = 31,
- kThemeBrushButtonActiveDarkShadow = 32,
- kThemeBrushButtonActiveDarkHighlight = 33,
- kThemeBrushButtonActiveLightShadow = 34,
- kThemeBrushButtonActiveLightHighlight = 35,
- kThemeBrushButtonInactiveDarkShadow = 36,
- kThemeBrushButtonInactiveDarkHighlight = 37,
- kThemeBrushButtonInactiveLightShadow = 38,
- kThemeBrushButtonInactiveLightHighlight = 39,
- kThemeBrushButtonPressedDarkShadow = 40,
- kThemeBrushButtonPressedDarkHighlight = 41,
- kThemeBrushButtonPressedLightShadow = 42,
- kThemeBrushButtonPressedLightHighlight = 43,
- kThemeBrushBevelActiveLight = 44,
- kThemeBrushBevelActiveDark = 45,
- kThemeBrushBevelInactiveLight = 46,
- kThemeBrushBevelInactiveDark = 47
- };
-
- /* Brushes introduced in Appearance 1.1.1 (Mac OS 9.0) and later */
- enum
- {
- kThemeBrushNotificationWindowBackground = 48
- };
-
- /* Brushes introduced in Carbon */
- enum
- {
- kThemeBrushMovableModalBackground = 49, /* use with kMovableModalWindowClass; available in Mac OS X, and CarbonLib 1.3 and later */
- kThemeBrushSheetBackgroundOpaque = 50, /* use with kSheetWindowClass and kSheetAlertWindowClass; available in Mac OS X, and CarbonLib 1.3 and later */
- kThemeBrushDrawerBackground = 51, /* use with kDrawerWindowClass; available in Mac OS X, and CarbonLib 1.3 and later */
- kThemeBrushToolbarBackground = 52, /* use with kToolbarWindowClass; available in Mac OS X, and CarbonLib 1.6 and later */
- kThemeBrushSheetBackgroundTransparent = 53, /* use with kSheetWindowClass and kSheetAlertWindowClass; available in Mac OS X 10.1 and CarbonLib 1.6, and later */
- kThemeBrushMenuBackground = 54, /* available in Mac OS X 10.1 and CarbonLib 1.6, and later */
- kThemeBrushMenuBackgroundSelected = 55 /* available in Mac OS X 10.1 and CarbonLib 1.6, and later */
- };
-
- /* Appearance X or later theme brush compatibility synonyms */
- enum
- {
- kThemeBrushSheetBackground = kThemeBrushSheetBackgroundOpaque
- };
-
- /* These values are meta-brushes, specific colors that do not */
- /* change from theme to theme. You can use them instead of using */
- /* direct RGB values. */
- enum
- {
- kThemeBrushBlack = -1,
- kThemeBrushWhite = -2,
- kThemeBrushPrimaryHighlightColor = -3, /* available in Mac OS 10.1 and CarbonLib 1.6, and later*/
- kThemeBrushSecondaryHighlightColor = -4 /* available in Mac OS 10.1 and CarbonLib 1.6, and later*/
- };
-
- typedef SInt16 ThemeBrush;
- enum
- {
- kThemeTextColorDialogActive = 1,
- kThemeTextColorDialogInactive = 2,
- kThemeTextColorAlertActive = 3,
- kThemeTextColorAlertInactive = 4,
- kThemeTextColorModelessDialogActive = 5,
- kThemeTextColorModelessDialogInactive = 6,
- kThemeTextColorWindowHeaderActive = 7,
- kThemeTextColorWindowHeaderInactive = 8,
- kThemeTextColorPlacardActive = 9,
- kThemeTextColorPlacardInactive = 10,
- kThemeTextColorPlacardPressed = 11,
- kThemeTextColorPushButtonActive = 12,
- kThemeTextColorPushButtonInactive = 13,
- kThemeTextColorPushButtonPressed = 14,
- kThemeTextColorBevelButtonActive = 15,
- kThemeTextColorBevelButtonInactive = 16,
- kThemeTextColorBevelButtonPressed = 17,
- kThemeTextColorPopupButtonActive = 18,
- kThemeTextColorPopupButtonInactive = 19,
- kThemeTextColorPopupButtonPressed = 20,
- kThemeTextColorIconLabel = 21,
- kThemeTextColorListView = 22
- };
-
- /* Text Colors available in Appearance 1.0.1 or later */
- enum
- {
- kThemeTextColorDocumentWindowTitleActive = 23,
- kThemeTextColorDocumentWindowTitleInactive = 24,
- kThemeTextColorMovableModalWindowTitleActive = 25,
- kThemeTextColorMovableModalWindowTitleInactive = 26,
- kThemeTextColorUtilityWindowTitleActive = 27,
- kThemeTextColorUtilityWindowTitleInactive = 28,
- kThemeTextColorPopupWindowTitleActive = 29,
- kThemeTextColorPopupWindowTitleInactive = 30,
- kThemeTextColorRootMenuActive = 31,
- kThemeTextColorRootMenuSelected = 32,
- kThemeTextColorRootMenuDisabled = 33,
- kThemeTextColorMenuItemActive = 34,
- kThemeTextColorMenuItemSelected = 35,
- kThemeTextColorMenuItemDisabled = 36,
- kThemeTextColorPopupLabelActive = 37,
- kThemeTextColorPopupLabelInactive = 38
- };
-
-
- /* Text colors available in Appearance 1.1 or later */
- enum
- {
- kThemeTextColorTabFrontActive = 39,
- kThemeTextColorTabNonFrontActive = 40,
- kThemeTextColorTabNonFrontPressed = 41,
- kThemeTextColorTabFrontInactive = 42,
- kThemeTextColorTabNonFrontInactive = 43,
- kThemeTextColorIconLabelSelected = 44,
- kThemeTextColorBevelButtonStickyActive = 45,
- kThemeTextColorBevelButtonStickyInactive = 46
- };
-
- /* Text colors available in Appearance 1.1.1 or later */
- enum
- {
- kThemeTextColorNotification = 47
- };
-
-
- /* Text colors only available later than OS X 10.1.3 */
- enum
- {
- kThemeTextColorSystemDetail = 48
- };
-
- /* These values are specific colors that do not change from */
- /* theme to theme. You can use them instead of using direct RGB values. */
- enum
- {
- kThemeTextColorBlack = -1,
- kThemeTextColorWhite = -2
- };
-
- typedef SInt16 ThemeTextColor;
- /* States to draw primitives: disabled, active, and pressed (hilited) */
- enum
- {
- kThemeStateInactive = 0,
- kThemeStateActive = 1,
- kThemeStatePressed = 2,
- kThemeStateRollover = 6,
- kThemeStateUnavailable = 7,
- kThemeStateUnavailableInactive = 8
- };
-
- /* obsolete name */
- enum
- {
- kThemeStateDisabled = 0
- };
-
- enum
- {
- kThemeStatePressedUp = 2, /* draw with up pressed (increment/decrement buttons) */
- kThemeStatePressedDown = 3 /* draw with down pressed (increment/decrement buttons) */
- };
-
- typedef UInt32 ThemeDrawState;
- /*----------------------------------------------------------------------------------*/
- /* Theme cursor selectors available in Appearance 1.1 or later */
- /*----------------------------------------------------------------------------------*/
- enum
- {
- kThemeArrowCursor = 0,
- kThemeCopyArrowCursor = 1,
- kThemeAliasArrowCursor = 2,
- kThemeContextualMenuArrowCursor = 3,
- kThemeIBeamCursor = 4,
- kThemeCrossCursor = 5,
- kThemePlusCursor = 6,
- kThemeWatchCursor = 7, /* Can Animate */
- kThemeClosedHandCursor = 8,
- kThemeOpenHandCursor = 9,
- kThemePointingHandCursor = 10,
- kThemeCountingUpHandCursor = 11, /* Can Animate */
- kThemeCountingDownHandCursor = 12, /* Can Animate */
- kThemeCountingUpAndDownHandCursor = 13, /* Can Animate */
- kThemeSpinningCursor = 14, /* Can Animate */
- kThemeResizeLeftCursor = 15,
- kThemeResizeRightCursor = 16,
- kThemeResizeLeftRightCursor = 17,
- kThemeNotAllowedCursor = 18 /* Jaguar or Later */
- };
-
- typedef UInt32 ThemeCursor;
- /*----------------------------------------------------------------------------------*/
- /* Theme menu bar drawing states */
- /*----------------------------------------------------------------------------------*/
- enum
- {
- kThemeMenuBarNormal = 0,
- kThemeMenuBarSelected = 1
- };
-
- typedef UInt16 ThemeMenuBarState;
- /* attributes */
- enum
- {
- kThemeMenuSquareMenuBar = (1 << 0)
- };
-
- /*----------------------------------------------------------------------------------*/
- /* Theme menu drawing states */
- /*----------------------------------------------------------------------------------*/
- enum
- {
- kThemeMenuActive = 0,
- kThemeMenuSelected = 1,
- kThemeMenuDisabled = 3
- };
-
- typedef UInt16 ThemeMenuState;
- /*------------------------------------------------------------------------------------------*/
- /* MenuType: add kThemeMenuTypeInactive to menu type for DrawThemeMenuBackground if entire */
- /* menu is inactive */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeMenuTypePullDown = 0,
- kThemeMenuTypePopUp = 1,
- kThemeMenuTypeHierarchical = 2,
- kThemeMenuTypeInactive = 0x0100
- };
-
- typedef UInt16 ThemeMenuType;
- enum
- {
- kThemeMenuItemPlain = 0,
- kThemeMenuItemHierarchical = 1, /* item has hierarchical arrow*/
- kThemeMenuItemScrollUpArrow = 2, /* for scrollable menus, indicates item is scroller*/
- kThemeMenuItemScrollDownArrow = 3,
- kThemeMenuItemAtTop = 0x0100, /* indicates item is being drawn at top of menu*/
- kThemeMenuItemAtBottom = 0x0200, /* indicates item is being drawn at bottom of menu*/
- kThemeMenuItemHierBackground = 0x0400, /* item is within a hierarchical menu*/
- kThemeMenuItemPopUpBackground = 0x0800, /* item is within a popped up menu*/
- kThemeMenuItemHasIcon = 0x8000, /* add into non-arrow type when icon present*/
- kThemeMenuItemNoBackground = 0x4000 /* don't draw the menu background while drawing this item (Mac OS X only)*/
- };
-
- typedef UInt16 ThemeMenuItemType;
- /*------------------------------------------------------------------------------------------*/
- /* Theme Backgrounds */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeBackgroundTabPane = 1,
- kThemeBackgroundPlacard = 2,
- kThemeBackgroundWindowHeader = 3,
- kThemeBackgroundListViewWindowHeader = 4,
- kThemeBackgroundSecondaryGroupBox = 5
- };
-
- typedef UInt32 ThemeBackgroundKind;
- /*------------------------------------------------------------------------------------------*/
- /* Theme Collection tags for Get/SetTheme */
- /* */
- /* X ALERT: Please note that Get/SetTheme are severely neutered under Mac OS X at present. */
- /* The first group of tags below are available to get under both 9 and X. The */
- /* second group is 9 only. None of the tags can be used in SetTheme on X, as it */
- /* is completely inert on X, and will return unimpErr. */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeNameTag = FOUR_CHAR_CODE('name'), /* Str255*/
- kThemeVariantNameTag = FOUR_CHAR_CODE('varn'), /* Str255*/
- kThemeVariantBaseTintTag = FOUR_CHAR_CODE('tint'), /* RGBColor (10.1 and later)*/
- kThemeHighlightColorTag = FOUR_CHAR_CODE('hcol'), /* RGBColor*/
- kThemeScrollBarArrowStyleTag = FOUR_CHAR_CODE('sbar'), /* ThemeScrollBarArrowStyle*/
- kThemeScrollBarThumbStyleTag = FOUR_CHAR_CODE('sbth'), /* ThemeScrollBarThumbStyle*/
- kThemeSoundsEnabledTag = FOUR_CHAR_CODE('snds'), /* Boolean*/
- kThemeDblClickCollapseTag = FOUR_CHAR_CODE('coll') /* Boolean*/
- };
-
- enum
- {
- kThemeAppearanceFileNameTag = FOUR_CHAR_CODE('thme'), /* Str255*/
- kThemeSystemFontTag = FOUR_CHAR_CODE('lgsf'), /* Str255*/
- kThemeSmallSystemFontTag = FOUR_CHAR_CODE('smsf'), /* Str255*/
- kThemeViewsFontTag = FOUR_CHAR_CODE('vfnt'), /* Str255*/
- kThemeViewsFontSizeTag = FOUR_CHAR_CODE('vfsz'), /* SInt16*/
- kThemeDesktopPatternNameTag = FOUR_CHAR_CODE('patn'), /* Str255*/
- kThemeDesktopPatternTag = FOUR_CHAR_CODE('patt'), /* <variable-length data> (flattened pattern)*/
- kThemeDesktopPictureNameTag = FOUR_CHAR_CODE('dpnm'), /* Str255*/
- kThemeDesktopPictureAliasTag = FOUR_CHAR_CODE('dpal'), /* <alias handle>*/
- kThemeDesktopPictureAlignmentTag = FOUR_CHAR_CODE('dpan'), /* UInt32 (see the Picture Alignments below)*/
- kThemeHighlightColorNameTag = FOUR_CHAR_CODE('hcnm'), /* Str255*/
- kThemeExamplePictureIDTag = FOUR_CHAR_CODE('epic'), /* SInt16*/
- kThemeSoundTrackNameTag = FOUR_CHAR_CODE('sndt'), /* Str255*/
- kThemeSoundMaskTag = FOUR_CHAR_CODE('smsk'), /* UInt32*/
- kThemeUserDefinedTag = FOUR_CHAR_CODE('user'), /* Boolean (this should _always_ be true if present - used by Control Panel).*/
- kThemeSmoothFontEnabledTag = FOUR_CHAR_CODE('smoo'), /* Boolean*/
- kThemeSmoothFontMinSizeTag = FOUR_CHAR_CODE('smos') /* UInt16 (must be >= 12 and <= 24)*/
- };
-
- /* Picture Aligmnents that might be reported in the data for kThemeDesktopPictureAlignmentTag*/
- enum
- {
- kTiledOnScreen = 1, /* draws picture repeatedly*/
- kCenterOnScreen = 2, /* "actual size", shows pattern on sides or clips picture if necessary*/
- kFitToScreen = 3, /* shrinks if necessary*/
- kFillScreen = 4, /* messes up aspect ratio if necessary*/
- kUseBestGuess = 5 /* heuristically determines the best way to display the picture based on picture and monitor sizes*/
- };
-
- /*------------------------------------------------------------------------------------------*/
- /* Theme Control Settings */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeCheckBoxClassicX = 0, /* check box with an 'X'*/
- kThemeCheckBoxCheckMark = 1 /* check box with a real check mark*/
- };
-
- typedef UInt16 ThemeCheckBoxStyle;
- enum
- {
- kThemeScrollBarArrowsSingle = 0, /* single arrow on each end*/
- kThemeScrollBarArrowsLowerRight = 1 /* double arrows only on right or bottom*/
- };
-
- typedef UInt16 ThemeScrollBarArrowStyle;
- enum
- {
- kThemeScrollBarThumbNormal = 0, /* normal, classic thumb size*/
- kThemeScrollBarThumbProportional = 1 /* proportional thumbs*/
- };
-
- typedef UInt16 ThemeScrollBarThumbStyle;
- /*------------------------------------------------------------------------------------------*/
- /* Font constants */
- /*------------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * A ThemeFontID value is a virtual font ID which can be passed to
- * one of the Appearance Manager's text-related routines. Within
- * those routines, the ThemeFontID is mapped into the appropriate
- * real font (or fonts), size, and style based on the system
- * appearance (Platinum on Mac OS 9, Aqua on Mac OS X), the string
- * to be rendered (if any), the language/ script that the app is
- * running in, and possibly other factors. The ThemeFontIDs allow
- * you to get the correct text appearance for the platform your app
- * is currently running on.
- */
- enum
- {
-
- /*
- * The font used to draw most interface elements. If you can't find a
- * more appropriate font from the list below, you should use this
- * one. This font is suitable for drawing titles on most custom
- * widgets/buttons, as well as most static text in dialogs and
- * windows.
- */
- kThemeSystemFont = 0,
-
- /*
- * The font used to draw interface elements when space is at a
- * premium. It draws a slightly smaller font compared to
- * kThemeSystemFont.
- */
- kThemeSmallSystemFont = 1,
-
- /*
- * Identical to kThemeSmallSystemFont, except it draws bolded (or
- * otherwise emphasized in some fashion appropriate to your
- * application's language/script).
- */
- kThemeSmallEmphasizedSystemFont = 2,
-
- /*
- * The font used to draw file and folder names in Finder windows or
- * other browsable lists.
- */
- kThemeViewsFont = 3, /* The following ID's are only available with MacOS X or CarbonLib 1.3 and later*/
-
- /*
- * Identical to kThemeSystemFont, except it draws bolded (or
- * otherwise emphasized in some fashion appropriate to your
- * application's language/script). Only available on Mac OS X or
- * CarbonLib 1.3 or later.
- */
- kThemeEmphasizedSystemFont = 4,
-
- /*
- * An analog to the Script Manager's notion of the Application Font.
- * This font is a suitable default choice for your application's
- * document-style text editing areas. Only available on Mac OS X or
- * CarbonLib 1.3 or later.
- */
- kThemeApplicationFont = 5,
-
- /*
- * Generally smaller than kThemeSmallSystemFont, this font is
- * appropriate for drawing text labels next to image content that
- * reinforces the text's meaning (such as on a bevel button). Only
- * available on Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeLabelFont = 6,
-
- /*
- * The font used to draw menu titles in the menu bar. Only available
- * on Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeMenuTitleFont = 100,
-
- /*
- * The font used to draw menu items in the menus. Only available on
- * Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeMenuItemFont = 101,
-
- /*
- * The font used to draw menu item marks in the menus. Only available
- * on Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeMenuItemMarkFont = 102,
-
- /*
- * The font used to draw menu item command key equivalents in the
- * menus. Only available on Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeMenuItemCmdKeyFont = 103,
-
- /*
- * The font used to draw text in most window title bars. Only
- * available on Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeWindowTitleFont = 104,
-
- /*
- * The font used to draw text labels on push buttons. Only available
- * on Mac OS X or CarbonLib 1.3 or later.
- */
- kThemePushButtonFont = 105,
-
- /*
- * The font used to draw text in utility window title bars. Only
- * available on Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeUtilityWindowTitleFont = 106,
-
- /*
- * The font used to draw the first (and most important) message of an
- * alert window. Only available on Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeAlertHeaderFont = 107,
- kThemeSystemFontDetail = 7,
- kThemeSystemFontDetailEmphasized = 8,
-
- /*
- * Unlike the other ThemeFontIDs, this one doesn't map to a font
- * appropriate to your application's language or script. It maps
- * directly to the font, size, and style of the current Quickdraw
- * port. This allows you to get somewhat customized behavior out of
- * the APIs which take ThemeFontIDs. Note, however, that
- * kThemeCurrentPortFont does not (and will never) support all
- * Quickdraw styles on all platforms; in particular, outline and
- * shadow style are not supported on Mac OS X. Additionally,
- * kThemeCurrentPortFont is not (and will never be) completely
- * unicode savvy; use of kThemeCurrentPortFont may result in errors
- * having to do with the current port's font not being appropriate
- * for rendering or measuring all glyphs in a given unicode string.
- * Because of overhead associated with gathering Quickdraw font
- * information and converting it to the native font format on Mac OS
- * X, use of kThemeCurrentPortFont may slow down your text drawing
- * and measuring significantly compared to other ThemeFontIDs.
- * Instead of using kThemeCurrentPortFont, your application will
- * probably be better served by using one of the other ThemeFontIDs;
- * use kThemeCurrentPortFont only as a last resort. Only available on
- * Mac OS X or CarbonLib 1.3 or later.
- */
- kThemeCurrentPortFont = 200, /* Available in JAGUAR or later*/
-
- /*
- * The font used to draw the label of a toolbar item. Available in
- * Mac OS X 10.2 or later.
- */
- kThemeToolbarFont = 108
- };
-
- /* This is the total of the PUBLIC ThemeFontIDs!*/
- enum
- {
- kPublicThemeFontCount = 17
- };
-
- typedef UInt16 ThemeFontID;
- /*------------------------------------------------------------------------------------------*/
- /* Tab constants */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeTabNonFront = 0,
- kThemeTabNonFrontPressed = 1,
- kThemeTabNonFrontInactive = 2,
- kThemeTabFront = 3,
- kThemeTabFrontInactive = 4,
- kThemeTabNonFrontUnavailable = 5,
- kThemeTabFrontUnavailable = 6
- };
-
- typedef UInt16 ThemeTabStyle;
- enum
- {
- kThemeTabNorth = 0,
- kThemeTabSouth = 1,
- kThemeTabEast = 2,
- kThemeTabWest = 3
- };
-
- typedef UInt16 ThemeTabDirection;
- /* NOTE ON TAB HEIGHT */
- /* Use the kThemeSmallTabHeightMax and kThemeLargeTabHeightMax when calculating the rects */
- /* to draw tabs into. This height includes the tab frame overlap. Tabs that are not in the */
- /* front are only drawn down to where they meet the frame, as if the height was just */
- /* kThemeLargeTabHeight, for example, as opposed to the ...Max constant. Remember that for */
- /* East and West tabs, the height referred to below is actually the width. */
- enum
- {
- kThemeSmallTabHeight = 16, /* amount small tabs protrude from frame.*/
- kThemeLargeTabHeight = 21, /* amount large tabs protrude from frame.*/
- kThemeTabPaneOverlap = 3, /* amount tabs overlap frame.*/
- kThemeSmallTabHeightMax = 19, /* small tab height + overlap*/
- kThemeLargeTabHeightMax = 24 /* large tab height + overlap*/
- };
-
- /*------------------------------------------------------------------------------------------*/
- /* Track kinds */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeMediumScrollBar = 0,
- kThemeSmallScrollBar = 1,
- kThemeMediumSlider = 2,
- kThemeMediumProgressBar = 3,
- kThemeMediumIndeterminateBar = 4,
- kThemeRelevanceBar = 5,
- kThemeSmallSlider = 6,
- kThemeLargeProgressBar = 7,
- kThemeLargeIndeterminateBar = 8
- };
-
- typedef UInt16 ThemeTrackKind;
- /*------------------------------------------------------------------------------------------*/
- /* Track enable states */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- /* track states */
- kThemeTrackActive = 0,
- kThemeTrackDisabled = 1,
- kThemeTrackNothingToScroll = 2,
- kThemeTrackInactive = 3
- };
-
- typedef UInt8 ThemeTrackEnableState;
- /*------------------------------------------------------------------------------------------*/
- /* Track pressed states */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- /* press states (ignored unless track is active) */
- kThemeLeftOutsideArrowPressed = 0x01,
- kThemeLeftInsideArrowPressed = 0x02,
- kThemeLeftTrackPressed = 0x04,
- kThemeThumbPressed = 0x08,
- kThemeRightTrackPressed = 0x10,
- kThemeRightInsideArrowPressed = 0x20,
- kThemeRightOutsideArrowPressed = 0x40,
- kThemeTopOutsideArrowPressed = kThemeLeftOutsideArrowPressed,
- kThemeTopInsideArrowPressed = kThemeLeftInsideArrowPressed,
- kThemeTopTrackPressed = kThemeLeftTrackPressed,
- kThemeBottomTrackPressed = kThemeRightTrackPressed,
- kThemeBottomInsideArrowPressed = kThemeRightInsideArrowPressed,
- kThemeBottomOutsideArrowPressed = kThemeRightOutsideArrowPressed
- };
-
- typedef UInt8 ThemeTrackPressState;
- /*------------------------------------------------------------------------------------------*/
- /* Thumb directions */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- /* thumb direction */
- kThemeThumbPlain = 0,
- kThemeThumbUpward = 1,
- kThemeThumbDownward = 2
- };
-
- typedef UInt8 ThemeThumbDirection;
- /*------------------------------------------------------------------------------------------*/
- /* Track attributes */
- /*------------------------------------------------------------------------------------------*/
-
- /*
- * Discussion:
- * Theme track attributes control the look of the track elements as
- * drawn by the DrawThemeTrackFoo as well as the region returned by
- * GetThemeTrackFoo.
- */
- enum
- {
-
- /*
- * The track is drawn horizontally.
- */
- kThemeTrackHorizontal = (1 << 0),
-
- /*
- * The track progresses from right to left.
- */
- kThemeTrackRightToLeft = (1 << 1),
-
- /*
- * The track's thumb should be drawn.
- */
- kThemeTrackShowThumb = (1 << 2),
-
- /*
- * The provided thumbRgn should be drawn opaque, not as a ghost.
- */
- kThemeTrackThumbRgnIsNotGhost = (1 << 3),
-
- /*
- * The track scroll bar doesn't have arrows. This attribute
- * currently has no effect
- */
- kThemeTrackNoScrollBarArrows = (1 << 4),
-
- /*
- * The thumb has focus. This attribute currently has effect only on
- * sliders. Available only in Mac OS X after 10.1.
- */
- kThemeTrackHasFocus = (1 << 5)
- };
-
- typedef UInt16 ThemeTrackAttributes;
- /*------------------------------------------------------------------------------------------*/
- /* Track info block */
- /*------------------------------------------------------------------------------------------*/
- struct ScrollBarTrackInfo
- {
- SInt32 viewsize; /* current view range size */
- ThemeTrackPressState pressState; /* pressed parts state */
- };
- typedef struct ScrollBarTrackInfo ScrollBarTrackInfo;
- struct SliderTrackInfo
- {
- ThemeThumbDirection thumbDir; /* thumb direction */
- ThemeTrackPressState pressState; /* pressed parts state */
- };
- typedef struct SliderTrackInfo SliderTrackInfo;
- struct ProgressTrackInfo
- {
- UInt8 phase; /* phase for indeterminate progress */
- };
- typedef struct ProgressTrackInfo ProgressTrackInfo;
- struct ThemeTrackDrawInfo
- {
- ThemeTrackKind kind; /* what kind of track this info is for */
- Rect bounds; /* track basis rectangle */
- SInt32 min; /* min track value */
- SInt32 max; /* max track value */
- SInt32 value; /* current thumb value */
- UInt32 reserved;
-
- ThemeTrackAttributes attributes; /* various track attributes */
- ThemeTrackEnableState enableState; /* enable state */
- UInt8 filler1;
-
- union
- {
- ScrollBarTrackInfo scrollbar;
- SliderTrackInfo slider;
- ProgressTrackInfo progress;
- } trackInfo;
- };
- typedef struct ThemeTrackDrawInfo ThemeTrackDrawInfo;
- /*------------------------------------------------------------------------------------------*/
- /* ThemeWindowAttributes */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeWindowHasGrow = (1 << 0), /* can the size of the window be changed by the user? */
- kThemeWindowHasHorizontalZoom = (1 << 3), /* window can zoom only horizontally */
- kThemeWindowHasVerticalZoom = (1 << 4), /* window can zoom only vertically */
- kThemeWindowHasFullZoom = kThemeWindowHasHorizontalZoom + kThemeWindowHasVerticalZoom, /* window zooms in all directions */
- kThemeWindowHasCloseBox = (1 << 5), /* window has a close box */
- kThemeWindowHasCollapseBox = (1 << 6), /* window has a collapse box */
- kThemeWindowHasTitleText = (1 << 7), /* window has a title/title icon */
- kThemeWindowIsCollapsed = (1 << 8), /* window is in the collapsed state */
- kThemeWindowHasDirty = (1 << 9)
- };
-
-
- typedef UInt32 ThemeWindowAttributes;
- /*------------------------------------------------------------------------------------------*/
- /* Window Types Supported by the Appearance Manager */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeDocumentWindow = 0,
- kThemeDialogWindow = 1,
- kThemeMovableDialogWindow = 2,
- kThemeAlertWindow = 3,
- kThemeMovableAlertWindow = 4,
- kThemePlainDialogWindow = 5,
- kThemeShadowDialogWindow = 6,
- kThemePopupWindow = 7,
- kThemeUtilityWindow = 8,
- kThemeUtilitySideWindow = 9,
- kThemeSheetWindow = 10,
- kThemeDrawerWindow = 11
- };
-
- typedef UInt16 ThemeWindowType;
- /*------------------------------------------------------------------------------------------*/
- /* Window Widgets Supported by the Appearance Manager */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeWidgetCloseBox = 0,
- kThemeWidgetZoomBox = 1,
- kThemeWidgetCollapseBox = 2,
- kThemeWidgetDirtyCloseBox = 6
- };
-
- typedef UInt16 ThemeTitleBarWidget;
- /*------------------------------------------------------------------------------------------*/
- /* Popup arrow orientations */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeArrowLeft = 0,
- kThemeArrowDown = 1,
- kThemeArrowRight = 2,
- kThemeArrowUp = 3
- };
-
- typedef UInt16 ThemeArrowOrientation;
- /*------------------------------------------------------------------------------------------*/
- /* Popup arrow sizes */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeArrow3pt = 0,
- kThemeArrow5pt = 1,
- kThemeArrow7pt = 2,
- kThemeArrow9pt = 3
- };
-
- typedef UInt16 ThemePopupArrowSize;
- /*------------------------------------------------------------------------------------------*/
- /* Grow box directions */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeGrowLeft = (1 << 0), /* can grow to the left */
- kThemeGrowRight = (1 << 1), /* can grow to the right */
- kThemeGrowUp = (1 << 2), /* can grow up */
- kThemeGrowDown = (1 << 3) /* can grow down */
- };
-
- typedef UInt16 ThemeGrowDirection;
- /*------------------------------------------------------------------------------------------*/
- /* Button kinds */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemePushButton = 0,
- kThemeCheckBox = 1,
- kThemeRadioButton = 2,
- kThemeBevelButton = 3, /* bevel button (obsolete) */
- kThemeArrowButton = 4, /* popup button without text (no label). See ThemeButtonAdornment for glyphs. */
- kThemePopupButton = 5, /* popup button */
- kThemeDisclosureButton = 6,
- kThemeIncDecButton = 7, /* increment/decrement buttons (no label) */
- kThemeSmallBevelButton = 8, /* small-shadow bevel button */
- kThemeMediumBevelButton = 3, /* med-shadow bevel button */
- kThemeLargeBevelButton = 9, /* large-shadow bevel button */
- kThemeListHeaderButton = 10, /* sort button for top of list */
- kThemeRoundButton = 11, /* round button */
- kThemeLargeRoundButton = 12, /* large round button */
- kThemeSmallCheckBox = 13, /* small checkbox */
- kThemeSmallRadioButton = 14, /* small radio button */
- kThemeRoundedBevelButton = 15, /* rounded bevel button */
- kThemeNormalCheckBox = kThemeCheckBox,
- kThemeNormalRadioButton = kThemeRadioButton
- };
-
- typedef UInt16 ThemeButtonKind;
- /*------------------------------------------------------------------------------------------*/
- /* Common button values */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeButtonOff = 0,
- kThemeButtonOn = 1,
- kThemeButtonMixed = 2,
- kThemeDisclosureRight = 0,
- kThemeDisclosureDown = 1,
- kThemeDisclosureLeft = 2
- };
-
- typedef UInt16 ThemeButtonValue;
- /*------------------------------------------------------------------------------------------*/
- /* Button adornment types */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeAdornmentNone = 0,
- kThemeAdornmentDefault = (1 << 0), /* if set, draw default ornamentation ( for push button and generic well ) */
- kThemeAdornmentFocus = (1 << 2), /* if set, draw focus */
- kThemeAdornmentRightToLeft = (1 << 4), /* if set, draw right to left label */
- kThemeAdornmentDrawIndicatorOnly = (1 << 5), /* if set, don't draw or erase label ( radio, check, disclosure ) */
- kThemeAdornmentHeaderButtonLeftNeighborSelected = (1 << 6), /* if set, draw the left border of the button as selected ( list header button only ) */
- kThemeAdornmentHeaderButtonRightNeighborSelected = (1 << 7), /* if set, draw the right border of the button ( list header button only ) */
- kThemeAdornmentHeaderButtonSortUp = (1 << 8), /* if set, draw the sort indicator pointing upward ( list header button only ) */
- kThemeAdornmentHeaderMenuButton = (1 << 9), /* if set, draw as a header menu button ( list header button only ) */
- kThemeAdornmentHeaderButtonNoShadow = (1 << 10), /* if set, draw the non-shadow area of the button ( list header button only ) */
- kThemeAdornmentHeaderButtonShadowOnly = (1 << 11), /* if set, draw the only the shadow area of the button ( list header button only ) */
- kThemeAdornmentNoShadow = kThemeAdornmentHeaderButtonNoShadow, /* old name */
- kThemeAdornmentShadowOnly = kThemeAdornmentHeaderButtonShadowOnly, /* old name */
- kThemeAdornmentArrowLeftArrow = (1 << 6), /* If set, draw a left arrow on the arrow button */
- kThemeAdornmentArrowDownArrow = (1 << 7), /* If set, draw a down arrow on the arrow button */
- kThemeAdornmentArrowDoubleArrow = (1 << 8), /* If set, draw a double arrow on the arrow button */
- kThemeAdornmentArrowUpArrow = (1 << 9) /* If set, draw a up arrow on the arrow button */
- };
-
- typedef UInt16 ThemeButtonAdornment;
- /*------------------------------------------------------------------------------------------*/
- /* Button drawing info block */
- /*------------------------------------------------------------------------------------------*/
- struct ThemeButtonDrawInfo
- {
- ThemeDrawState state;
- ThemeButtonValue value;
- ThemeButtonAdornment adornment;
- };
- typedef struct ThemeButtonDrawInfo ThemeButtonDrawInfo;
- typedef ThemeButtonDrawInfo * ThemeButtonDrawInfoPtr;
- /*------------------------------------------------------------------------------------------*/
- /* Sound Support */
- /* */
- /* X ALERT: Please note that none of the theme sound APIs currently function on X. */
- /*------------------------------------------------------------------------------------------*/
- /*------------------------------------------------------------------------------------------*/
- /* Sound classes */
- /* */
- /* You can use the constants below to set what sounds are active using the SetTheme API. */
- /* Use these with the kThemeSoundMask tag. */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeNoSounds = 0,
- kThemeWindowSoundsMask = (1 << 0),
- kThemeMenuSoundsMask = (1 << 1),
- kThemeControlSoundsMask = (1 << 2),
- kThemeFinderSoundsMask = (1 << 3)
- };
-
-
- /*------------------------------------------------------------------------------------------*/
- /* Drag Sounds */
- /* */
- /* Drag sounds are looped for the duration of the drag. */
- /* */
- /* Call BeginThemeDragSound at the start of the drag. */
- /* Call EndThemeDragSound when the drag has finished. */
- /* */
- /* Note that in order to maintain a consistent user experience, only one drag sound may */
- /* occur at a time. The sound should be attached to a mouse action, start after the */
- /* mouse goes down and stop when the mouse is released. */
- /*------------------------------------------------------------------------------------------*/
- enum
- {
- kThemeDragSoundNone = 0,
- kThemeDragSoundMoveWindow = FOUR_CHAR_CODE('wmov'),
- kThemeDragSoundGrowWindow = FOUR_CHAR_CODE('wgro'),
- kThemeDragSoundMoveUtilWindow = FOUR_CHAR_CODE('umov'),
- kThemeDragSoundGrowUtilWindow = FOUR_CHAR_CODE('ugro'),
- kThemeDragSoundMoveDialog = FOUR_CHAR_CODE('dmov'),
- kThemeDragSoundMoveAlert = FOUR_CHAR_CODE('amov'),
- kThemeDragSoundMoveIcon = FOUR_CHAR_CODE('imov'),
- kThemeDragSoundSliderThumb = FOUR_CHAR_CODE('slth'),
- kThemeDragSoundSliderGhost = FOUR_CHAR_CODE('slgh'),
- kThemeDragSoundScrollBarThumb = FOUR_CHAR_CODE('sbth'),
- kThemeDragSoundScrollBarGhost = FOUR_CHAR_CODE('sbgh'),
- kThemeDragSoundScrollBarArrowDecreasing = FOUR_CHAR_CODE('sbad'),
- kThemeDragSoundScrollBarArrowIncreasing = FOUR_CHAR_CODE('sbai'),
- kThemeDragSoundDragging = FOUR_CHAR_CODE('drag')
- };
-
- typedef OSType ThemeDragSoundKind;
- /*--------------------------------------------------------------------------*/
- /* State-change sounds */
- /* */
- /* State-change sounds are played asynchonously as a one-shot. */
- /* */
- /* Call PlayThemeSound to play the sound. The sound will play */
- /* asynchronously until complete, then stop automatically. */
- /*--------------------------------------------------------------------------*/
- enum
- {
- kThemeSoundNone = 0,
- kThemeSoundMenuOpen = FOUR_CHAR_CODE('mnuo'), /* menu sounds */
- kThemeSoundMenuClose = FOUR_CHAR_CODE('mnuc'),
- kThemeSoundMenuItemHilite = FOUR_CHAR_CODE('mnui'),
- kThemeSoundMenuItemRelease = FOUR_CHAR_CODE('mnus'),
- kThemeSoundWindowClosePress = FOUR_CHAR_CODE('wclp'), /* window sounds */
- kThemeSoundWindowCloseEnter = FOUR_CHAR_CODE('wcle'),
- kThemeSoundWindowCloseExit = FOUR_CHAR_CODE('wclx'),
- kThemeSoundWindowCloseRelease = FOUR_CHAR_CODE('wclr'),
- kThemeSoundWindowZoomPress = FOUR_CHAR_CODE('wzmp'),
- kThemeSoundWindowZoomEnter = FOUR_CHAR_CODE('wzme'),
- kThemeSoundWindowZoomExit = FOUR_CHAR_CODE('wzmx'),
- kThemeSoundWindowZoomRelease = FOUR_CHAR_CODE('wzmr'),
- kThemeSoundWindowCollapsePress = FOUR_CHAR_CODE('wcop'),
- kThemeSoundWindowCollapseEnter = FOUR_CHAR_CODE('wcoe'),
- kThemeSoundWindowCollapseExit = FOUR_CHAR_CODE('wcox'),
- kThemeSoundWindowCollapseRelease = FOUR_CHAR_CODE('wcor'),
- kThemeSoundWindowDragBoundary = FOUR_CHAR_CODE('wdbd'),
- kThemeSoundUtilWinClosePress = FOUR_CHAR_CODE('uclp'), /* utility window sounds */
- kThemeSoundUtilWinCloseEnter = FOUR_CHAR_CODE('ucle'),
- kThemeSoundUtilWinCloseExit = FOUR_CHAR_CODE('uclx'),
- kThemeSoundUtilWinCloseRelease = FOUR_CHAR_CODE('uclr'),
- kThemeSoundUtilWinZoomPress = FOUR_CHAR_CODE('uzmp'),
- kThemeSoundUtilWinZoomEnter = FOUR_CHAR_CODE('uzme'),
- kThemeSoundUtilWinZoomExit = FOUR_CHAR_CODE('uzmx'),
- kThemeSoundUtilWinZoomRelease = FOUR_CHAR_CODE('uzmr'),
- kThemeSoundUtilWinCollapsePress = FOUR_CHAR_CODE('ucop'),
- kThemeSoundUtilWinCollapseEnter = FOUR_CHAR_CODE('ucoe'),
- kThemeSoundUtilWinCollapseExit = FOUR_CHAR_CODE('ucox'),
- kThemeSoundUtilWinCollapseRelease = FOUR_CHAR_CODE('ucor'),
- kThemeSoundUtilWinDragBoundary = FOUR_CHAR_CODE('udbd'),
- kThemeSoundWindowOpen = FOUR_CHAR_CODE('wopn'), /* window close and zoom action */
- kThemeSoundWindowClose = FOUR_CHAR_CODE('wcls'),
- kThemeSoundWindowZoomIn = FOUR_CHAR_CODE('wzmi'),
- kThemeSoundWindowZoomOut = FOUR_CHAR_CODE('wzmo'),
- kThemeSoundWindowCollapseUp = FOUR_CHAR_CODE('wcol'),
- kThemeSoundWindowCollapseDown = FOUR_CHAR_CODE('wexp'),
- kThemeSoundWindowActivate = FOUR_CHAR_CODE('wact'),
- kThemeSoundUtilWindowOpen = FOUR_CHAR_CODE('uopn'),
- kThemeSoundUtilWindowClose = FOUR_CHAR_CODE('ucls'),
- kThemeSoundUtilWindowZoomIn = FOUR_CHAR_CODE('uzmi'),
- kThemeSoundUtilWindowZoomOut = FOUR_CHAR_CODE('uzmo'),
- kThemeSoundUtilWindowCollapseUp = FOUR_CHAR_CODE('ucol'),
- kThemeSoundUtilWindowCollapseDown = FOUR_CHAR_CODE('uexp'),
- kThemeSoundUtilWindowActivate = FOUR_CHAR_CODE('uact'),
- kThemeSoundDialogOpen = FOUR_CHAR_CODE('dopn'),
- kThemeSoundDialogClose = FOUR_CHAR_CODE('dlgc'),
- kThemeSoundAlertOpen = FOUR_CHAR_CODE('aopn'),
- kThemeSoundAlertClose = FOUR_CHAR_CODE('altc'),
- kThemeSoundPopupWindowOpen = FOUR_CHAR_CODE('pwop'),
- kThemeSoundPopupWindowClose = FOUR_CHAR_CODE('pwcl'),
- kThemeSoundButtonPress = FOUR_CHAR_CODE('btnp'), /* button */
- kThemeSoundButtonEnter = FOUR_CHAR_CODE('btne'),
- kThemeSoundButtonExit = FOUR_CHAR_CODE('btnx'),
- kThemeSoundButtonRelease = FOUR_CHAR_CODE('btnr'),
- kThemeSoundDefaultButtonPress = FOUR_CHAR_CODE('dbtp'), /* default button */
- kThemeSoundDefaultButtonEnter = FOUR_CHAR_CODE('dbte'),
- kThemeSoundDefaultButtonExit = FOUR_CHAR_CODE('dbtx'),
- kThemeSoundDefaultButtonRelease = FOUR_CHAR_CODE('dbtr'),
- kThemeSoundCancelButtonPress = FOUR_CHAR_CODE('cbtp'), /* cancel button */
- kThemeSoundCancelButtonEnter = FOUR_CHAR_CODE('cbte'),
- kThemeSoundCancelButtonExit = FOUR_CHAR_CODE('cbtx'),
- kThemeSoundCancelButtonRelease = FOUR_CHAR_CODE('cbtr'),
- kThemeSoundCheckboxPress = FOUR_CHAR_CODE('chkp'), /* checkboxes */
- kThemeSoundCheckboxEnter = FOUR_CHAR_CODE('chke'),
- kThemeSoundCheckboxExit = FOUR_CHAR_CODE('chkx'),
- kThemeSoundCheckboxRelease = FOUR_CHAR_CODE('chkr'),
- kThemeSoundRadioPress = FOUR_CHAR_CODE('radp'), /* radio buttons */
- kThemeSoundRadioEnter = FOUR_CHAR_CODE('rade'),
- kThemeSoundRadioExit = FOUR_CHAR_CODE('radx'),
- kThemeSoundRadioRelease = FOUR_CHAR_CODE('radr'),
- kThemeSoundScrollArrowPress = FOUR_CHAR_CODE('sbap'), /* scroll bars */
- kThemeSoundScrollArrowEnter = FOUR_CHAR_CODE('sbae'),
- kThemeSoundScrollArrowExit = FOUR_CHAR_CODE('sbax'),
- kThemeSoundScrollArrowRelease = FOUR_CHAR_CODE('sbar'),
- kThemeSoundScrollEndOfTrack = FOUR_CHAR_CODE('sbte'),
- kThemeSoundScrollTrackPress = FOUR_CHAR_CODE('sbtp'),
- kThemeSoundSliderEndOfTrack = FOUR_CHAR_CODE('slte'), /* sliders */
- kThemeSoundSliderTrackPress = FOUR_CHAR_CODE('sltp'),
- kThemeSoundBalloonOpen = FOUR_CHAR_CODE('blno'), /* help balloons */
- kThemeSoundBalloonClose = FOUR_CHAR_CODE('blnc'),
- kThemeSoundBevelPress = FOUR_CHAR_CODE('bevp'), /* Bevel buttons */
- kThemeSoundBevelEnter = FOUR_CHAR_CODE('beve'),
- kThemeSoundBevelExit = FOUR_CHAR_CODE('bevx'),
- kThemeSoundBevelRelease = FOUR_CHAR_CODE('bevr'),
- kThemeSoundLittleArrowUpPress = FOUR_CHAR_CODE('laup'), /* Little Arrows */
- kThemeSoundLittleArrowDnPress = FOUR_CHAR_CODE('ladp'),
- kThemeSoundLittleArrowEnter = FOUR_CHAR_CODE('lare'),
- kThemeSoundLittleArrowExit = FOUR_CHAR_CODE('larx'),
- kThemeSoundLittleArrowUpRelease = FOUR_CHAR_CODE('laur'),
- kThemeSoundLittleArrowDnRelease = FOUR_CHAR_CODE('ladr'),
- kThemeSoundPopupPress = FOUR_CHAR_CODE('popp'), /* Popup Buttons */
- kThemeSoundPopupEnter = FOUR_CHAR_CODE('pope'),
- kThemeSoundPopupExit = FOUR_CHAR_CODE('popx'),
- kThemeSoundPopupRelease = FOUR_CHAR_CODE('popr'),
- kThemeSoundDisclosurePress = FOUR_CHAR_CODE('dscp'), /* Disclosure Buttons */
- kThemeSoundDisclosureEnter = FOUR_CHAR_CODE('dsce'),
- kThemeSoundDisclosureExit = FOUR_CHAR_CODE('dscx'),
- kThemeSoundDisclosureRelease = FOUR_CHAR_CODE('dscr'),
- kThemeSoundTabPressed = FOUR_CHAR_CODE('tabp'), /* Tabs */
- kThemeSoundTabEnter = FOUR_CHAR_CODE('tabe'),
- kThemeSoundTabExit = FOUR_CHAR_CODE('tabx'),
- kThemeSoundTabRelease = FOUR_CHAR_CODE('tabr'),
- kThemeSoundDragTargetHilite = FOUR_CHAR_CODE('dthi'), /* drag manager */
- kThemeSoundDragTargetUnhilite = FOUR_CHAR_CODE('dtuh'),
- kThemeSoundDragTargetDrop = FOUR_CHAR_CODE('dtdr'),
- kThemeSoundEmptyTrash = FOUR_CHAR_CODE('ftrs'), /* finder */
- kThemeSoundSelectItem = FOUR_CHAR_CODE('fsel'),
- kThemeSoundNewItem = FOUR_CHAR_CODE('fnew'),
- kThemeSoundReceiveDrop = FOUR_CHAR_CODE('fdrp'),
- kThemeSoundCopyDone = FOUR_CHAR_CODE('fcpd'),
- kThemeSoundResolveAlias = FOUR_CHAR_CODE('fral'),
- kThemeSoundLaunchApp = FOUR_CHAR_CODE('flap'),
- kThemeSoundDiskInsert = FOUR_CHAR_CODE('dski'),
- kThemeSoundDiskEject = FOUR_CHAR_CODE('dske'),
- kThemeSoundFinderDragOnIcon = FOUR_CHAR_CODE('fdon'),
- kThemeSoundFinderDragOffIcon = FOUR_CHAR_CODE('fdof')
- };
-
- typedef OSType ThemeSoundKind;
- /*------------------------------------------------------------------------------------------*/
- /* Window Metrics */
- /*------------------------------------------------------------------------------------------*/
- /* Window metrics are used by the Appearance manager to fill in the blanks necessary to */
- /* draw windows. If a value is not appropriate for the type of window, be sure to fill in */
- /* the slot in the structure with zero. For the popupTabOffset parameter, you can pass a*/
- /* real value based on the left edge of the window. This value might be interpreted in a */
- /* different manner when depending on the value of the popupTabPosition field. The values */
- /* you can pass into popupTabPosition are: */
- /* */
- /* kThemePopupTabNormalPosition */
- /* Starts the tab left edge at the position indicated by the popupTabOffset field. */
- /* */
- /* kThemePopupTabCenterOnWindow */
- /* tells us to ignore the offset field and instead simply center the width of the */
- /* handle on the window. */
- /* */
- /* kThemePopupTabCenterOnOffset */
- /* tells us to center the width of the handle around the value passed in offset. */
- /* */
- /* The Appearance Manager will try its best to accomodate the requested placement, but may */
- /* move the handle slightly to make it fit correctly. */
- /* */
- enum
- {
- kThemePopupTabNormalPosition = 0,
- kThemePopupTabCenterOnWindow = 1,
- kThemePopupTabCenterOnOffset = 2
- };
-
- struct ThemeWindowMetrics
- {
- UInt16 metricSize; /* should be always be sizeof( ThemeWindowMetrics )*/
- SInt16 titleHeight;
- SInt16 titleWidth;
- SInt16 popupTabOffset;
- SInt16 popupTabWidth;
- UInt16 popupTabPosition;
- };
- typedef struct ThemeWindowMetrics ThemeWindowMetrics;
- typedef ThemeWindowMetrics * ThemeWindowMetricsPtr;
- /*------------------------------------------------------------------------------------------*/
- /* Theme Metrics */
- /*------------------------------------------------------------------------------------------*/
-
- /*
- * Discussion:
- * Theme metrics allow you to find out sizes of things in the
- * current environment, such as how wide a scroll bar is, etc.
- */
- enum
- {
-
- /*
- * The width (or height if horizontal) of a scroll bar.
- */
- kThemeMetricScrollBarWidth = 0,
-
- /*
- * The width (or height if horizontal) of a small scroll bar.
- */
- kThemeMetricSmallScrollBarWidth = 1,
-
- /*
- * The height of the non-label part of a check box control.
- */
- kThemeMetricCheckBoxHeight = 2,
-
- /*
- * The height of the non-label part of a radio button control.
- */
- kThemeMetricRadioButtonHeight = 3,
-
- /*
- * The amount of white space surrounding the text Rect of the text
- * inside of an Edit Text control. If you select all of the text in
- * an Edit Text control, you can see the white space. The metric is
- * the number of pixels, per side, that the text Rect is outset to
- * create the whitespace Rect.
- */
- kThemeMetricEditTextWhitespace = 4,
-
- /*
- * The thickness of the Edit Text frame that surrounds the whitespace
- * Rect (that is surrounding the text Rect). The metric is the number
- * of pixels, per side, that the frame Rect is outset from the
- * whitespace Rect.
- */
- kThemeMetricEditTextFrameOutset = 5,
-
- /*
- * The number of pixels that the list box frame is outset from the
- * content of the list box.
- */
- kThemeMetricListBoxFrameOutset = 6,
-
- /*
- * This is a deprecated metric. Don't use it. It used to describe
- * how far the focus rect used to draw from a control, but control
- * focus drawing no longer uses this information to draw its focus.
- */
- kThemeMetricFocusRectOutset = 7,
-
- /*
- * The thickness of the frame drawn by DrawThemeGenericWell.
- */
- kThemeMetricImageWellThickness = 8,
-
- /*
- * The number of pixels a scrollbar should overlap (actually
- * underlap) any bounding box which surrounds it and scrollable
- * content. This also includes the window frame when a scrolbar is
- * along an edge of the window.
- */
- kThemeMetricScrollBarOverlap = 9,
-
- /*
- * The height of the large tab of a tab control.
- */
- kThemeMetricLargeTabHeight = 10,
-
- /*
- * The width of the caps (end pieces) of the large tabs of a tab
- * control.
- */
- kThemeMetricLargeTabCapsWidth = 11,
-
- /*
- * The amount to add to the tab height (kThemeMetricLargeTabHeight)
- * to find out the rectangle height to use with the various Tab
- * drawing primitives. This amount is also the amount that each tab
- * overlaps the tab pane.
- */
- kThemeMetricTabFrameOverlap = 12,
-
- /*
- * If less than zero, this indicates that the text should be centered
- * on each tab. If greater than zero, the text should be justified
- * (according to the system script direction) and the amount is the
- * offset from the appropriate edge at which the text should start
- * drawing.
- */
- kThemeMetricTabIndentOrStyle = 13,
-
- /*
- * The amount of space that every tab's drawing rectangle overlaps
- * the one on either side of it.
- */
- kThemeMetricTabOverlap = 14,
-
- /*
- * The height of the small tab of a tab control. This includes the
- * pixels that overlap the tab pane and/or tab pane bar.
- */
- kThemeMetricSmallTabHeight = 15,
-
- /*
- * The width of the caps (end pieces) of the small tabs of a tab
- * control.
- */
- kThemeMetricSmallTabCapsWidth = 16,
-
- /*
- * The height and the width of the push button control.
- */
- kThemeMetricPushButtonHeight = 19,
-
- /*
- * The height of the list header field of the data browser control.
- */
- kThemeMetricListHeaderHeight = 20,
-
- /*
- * The height of a disclosure triangle control. This triangle is the
- * not the center of the disclosure button, but its own control.
- */
- kThemeMetricDisclosureTriangleHeight = 25,
-
- /*
- * The width of a disclosure triangle control.
- */
- kThemeMetricDisclosureTriangleWidth = 26,
-
- /*
- * The height of a little arrows control.
- */
- kThemeMetricLittleArrowsHeight = 27,
-
- /*
- * The width of a little arrows control.
- */
- kThemeMetricLittleArrowsWidth = 28,
-
- /*
- * The height of a popup button control.
- */
- kThemeMetricPopupButtonHeight = 30,
-
- /*
- * The height of a small popup button control.
- */
- kThemeMetricSmallPopupButtonHeight = 31,
-
- /*
- * The height of the large progress bar, not including its shadow.
- */
- kThemeMetricLargeProgressBarThickness = 32,
-
- /*
- * This metric is not used.
- */
- kThemeMetricPullDownHeight = 33,
-
- /*
- * This metric is not used.
- */
- kThemeMetricSmallPullDownHeight = 34,
-
- /*
- * The height of the window grow box control.
- */
- kThemeMetricResizeControlHeight = 38,
-
- /*
- * The width of the window grow box control.
- */
- kThemeMetricSmallResizeControlHeight = 39,
-
- /*
- * The height of the horizontal slider control.
- */
- kThemeMetricHSliderHeight = 41,
-
- /*
- * The height of the tick marks for a horizontal slider control.
- */
- kThemeMetricHSliderTickHeight = 42,
-
- /*
- * The width of the vertical slider control.
- */
- kThemeMetricVSliderWidth = 45,
-
- /*
- * The width of the tick marks for a vertical slider control.
- */
- kThemeMetricVSliderTickWidth = 46,
-
- /*
- * The height of the title bar widgets (grow, close, and zoom boxes)
- * for a document window.
- */
- kThemeMetricTitleBarControlsHeight = 49,
-
- /*
- * The width of the non-label part of a check box control.
- */
- kThemeMetricCheckBoxWidth = 50,
-
- /*
- * The width of the non-label part of a radio button control.
- */
- kThemeMetricRadioButtonWidth = 52,
-
- /*
- * The height of the normal bar, not including its shadow.
- */
- kThemeMetricNormalProgressBarThickness = 58,
-
- /*
- * The number of pixels of shadow depth drawn below the progress bar.
- */
- kThemeMetricProgressBarShadowOutset = 59,
-
- /*
- * The number of pixels of shadow depth drawn below the small
- * progress bar.
- */
- kThemeMetricSmallProgressBarShadowOutset = 60,
-
- /*
- * The number of pixels that the content of a primary group box is
- * from the bounds of the control.
- */
- kThemeMetricPrimaryGroupBoxContentInset = 61,
-
- /*
- * The number of pixels that the content of a secondary group box is
- * from the bounds of the control.
- */
- kThemeMetricSecondaryGroupBoxContentInset = 62,
-
- /*
- * Width allocated to draw the mark character in a menu.
- */
- kThemeMetricMenuMarkColumnWidth = 63,
-
- /*
- * Width allocated for the mark character in a menu item when the
- * menu has kMenuAttrExcludesMarkColumn.
- */
- kThemeMetricMenuExcludedMarkColumnWidth = 64,
-
- /*
- * Indent into the interior of the mark column at which the mark
- * character is drawn.
- */
- kThemeMetricMenuMarkIndent = 65,
-
- /*
- * Whitespace at the leading edge of menu item text.
- */
- kThemeMetricMenuTextLeadingEdgeMargin = 66,
-
- /*
- * Whitespace at the trailing edge of menu item text.
- */
- kThemeMetricMenuTextTrailingEdgeMargin = 67,
-
- /*
- * Width per indent level (set by SetMenuItemIndent) of a menu item.
- */
- kThemeMetricMenuIndentWidth = 68,
-
- /*
- * Whitespace at the trailing edge of a menu icon (if the item also
- * has text).
- */
- kThemeMetricMenuIconTrailingEdgeMargin = 69
- };
-
-
- /*
- * Discussion:
- * The following metrics are only available in OS X.
- */
- enum
- {
-
- /*
- * The height of a disclosure button.
- */
- kThemeMetricDisclosureButtonHeight = 17,
-
- /*
- * The height and the width of the round button control.
- */
- kThemeMetricRoundButtonSize = 18,
-
- /*
- * The height of the non-label part of a small check box control.
- */
- kThemeMetricSmallCheckBoxHeight = 21,
-
- /*
- * The width of a disclosure button.
- */
- kThemeMetricDisclosureButtonWidth = 22,
-
- /*
- * The height of a small disclosure button.
- */
- kThemeMetricSmallDisclosureButtonHeight = 23,
-
- /*
- * The width of a small disclosure button.
- */
- kThemeMetricSmallDisclosureButtonWidth = 24,
-
- /*
- * The height (or width if vertical) of a pane splitter.
- */
- kThemeMetricPaneSplitterHeight = 29,
-
- /*
- * The height of the small push button control.
- */
- kThemeMetricSmallPushButtonHeight = 35,
-
- /*
- * The height of the non-label part of a small radio button control.
- */
- kThemeMetricSmallRadioButtonHeight = 36,
-
- /*
- * The height of the relevance indicator control.
- */
- kThemeMetricRelevanceIndicatorHeight = 37,
-
- /*
- * The height and the width of the large round button control.
- */
- kThemeMetricLargeRoundButtonSize = 40,
-
- /*
- * The height of the small, horizontal slider control.
- */
- kThemeMetricSmallHSliderHeight = 43,
-
- /*
- * The height of the tick marks for a small, horizontal slider
- * control.
- */
- kThemeMetricSmallHSliderTickHeight = 44,
-
- /*
- * The width of the small, vertical slider control.
- */
- kThemeMetricSmallVSliderWidth = 47,
-
- /*
- * The width of the tick marks for a small, vertical slider control.
- */
- kThemeMetricSmallVSliderTickWidth = 48,
-
- /*
- * The width of the non-label part of a small check box control.
- */
- kThemeMetricSmallCheckBoxWidth = 51,
-
- /*
- * The width of the non-label part of a small radio button control.
- */
- kThemeMetricSmallRadioButtonWidth = 53,
-
- /*
- * The minimum width of the thumb of a small, horizontal slider
- * control.
- */
- kThemeMetricSmallHSliderMinThumbWidth = 54,
-
- /*
- * The minimum width of the thumb of a small, vertical slider control.
- */
- kThemeMetricSmallVSliderMinThumbHeight = 55,
-
- /*
- * The offset of the tick marks from the appropriate side of a small
- * horizontal slider control.
- */
- kThemeMetricSmallHSliderTickOffset = 56,
-
- /*
- * The offset of the tick marks from the appropriate side of a small
- * vertical slider control.
- */
- kThemeMetricSmallVSliderTickOffset = 57
- };
-
- typedef UInt32 ThemeMetric;
- /*------------------------------------------------------------------------------------------*/
- /* Drawing State */
- /*------------------------------------------------------------------------------------------*/
- typedef struct OpaqueThemeDrawingState* ThemeDrawingState;
- /*------------------------------------------------------------------------------------------*/
- /* Callback procs */
- /*------------------------------------------------------------------------------------------*/
- typedef CALLBACK_API(void , ThemeTabTitleDrawProcPtr)(const Rect *bounds, ThemeTabStyle style, ThemeTabDirection direction, SInt16 depth, Boolean isColorDev, UInt32 userData);
- typedef CALLBACK_API(void , ThemeEraseProcPtr)(const Rect *bounds, UInt32 eraseData, SInt16 depth, Boolean isColorDev);
- typedef CALLBACK_API(void , ThemeButtonDrawProcPtr)(const Rect *bounds, ThemeButtonKind kind, const ThemeButtonDrawInfo *info, UInt32 userData, SInt16 depth, Boolean isColorDev);
- typedef CALLBACK_API(void , WindowTitleDrawingProcPtr)(const Rect *bounds, SInt16 depth, Boolean colorDevice, UInt32 userData);
- typedef CALLBACK_API(Boolean , ThemeIteratorProcPtr)(ConstStr255Param inFileName, SInt16 resID, Collection inThemeSettings, void *inUserData);
- typedef STACK_UPP_TYPE(ThemeTabTitleDrawProcPtr) ThemeTabTitleDrawUPP;
- typedef STACK_UPP_TYPE(ThemeEraseProcPtr) ThemeEraseUPP;
- typedef STACK_UPP_TYPE(ThemeButtonDrawProcPtr) ThemeButtonDrawUPP;
- typedef STACK_UPP_TYPE(WindowTitleDrawingProcPtr) WindowTitleDrawingUPP;
- typedef STACK_UPP_TYPE(ThemeIteratorProcPtr) ThemeIteratorUPP;
- /*
- * NewThemeTabTitleDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThemeTabTitleDrawUPP)
- NewThemeTabTitleDrawUPP(ThemeTabTitleDrawProcPtr userRoutine);
+enum {
+ kThemeBrushDialogBackgroundActive = 1, /* use with kModalWindowClass */
+ kThemeBrushDialogBackgroundInactive = 2, /* use with kModalWindowClass */
+ kThemeBrushAlertBackgroundActive = 3, /* use with kAlertWindowClass and kMovableAlertWindowClass */
+ kThemeBrushAlertBackgroundInactive = 4, /* use with kAlertWindowClass and kMovableAlertWindowClass */
+ kThemeBrushModelessDialogBackgroundActive = 5, /* use with kDocumentWindowClass */
+ kThemeBrushModelessDialogBackgroundInactive = 6, /* use with kDocumentWindowClass */
+ kThemeBrushUtilityWindowBackgroundActive = 7, /* use with kFloatingWindowClass and kUtilityWindowClass */
+ kThemeBrushUtilityWindowBackgroundInactive = 8, /* use with kFloatingWindowClass and kUtilityWindowClass */
+ kThemeBrushListViewSortColumnBackground = 9, /* Finder list views */
+ kThemeBrushListViewBackground = 10,
+ kThemeBrushIconLabelBackground = 11,
+ kThemeBrushListViewSeparator = 12,
+ kThemeBrushChasingArrows = 13,
+ kThemeBrushDragHilite = 14,
+ kThemeBrushDocumentWindowBackground = 15, /* use with kDocumentWindowClass */
+ kThemeBrushFinderWindowBackground = 16
+};
+
+/* Brushes introduced in Appearance 1.1 (Mac OS 8.5) and later */
+enum {
+ kThemeBrushScrollBarDelimiterActive = 17,
+ kThemeBrushScrollBarDelimiterInactive = 18,
+ kThemeBrushFocusHighlight = 19,
+ kThemeBrushPopupArrowActive = 20,
+ kThemeBrushPopupArrowPressed = 21,
+ kThemeBrushPopupArrowInactive = 22,
+ kThemeBrushAppleGuideCoachmark = 23,
+ kThemeBrushIconLabelBackgroundSelected = 24,
+ kThemeBrushStaticAreaFill = 25,
+ kThemeBrushActiveAreaFill = 26,
+ kThemeBrushButtonFrameActive = 27,
+ kThemeBrushButtonFrameInactive = 28,
+ kThemeBrushButtonFaceActive = 29,
+ kThemeBrushButtonFaceInactive = 30,
+ kThemeBrushButtonFacePressed = 31,
+ kThemeBrushButtonActiveDarkShadow = 32,
+ kThemeBrushButtonActiveDarkHighlight = 33,
+ kThemeBrushButtonActiveLightShadow = 34,
+ kThemeBrushButtonActiveLightHighlight = 35,
+ kThemeBrushButtonInactiveDarkShadow = 36,
+ kThemeBrushButtonInactiveDarkHighlight = 37,
+ kThemeBrushButtonInactiveLightShadow = 38,
+ kThemeBrushButtonInactiveLightHighlight = 39,
+ kThemeBrushButtonPressedDarkShadow = 40,
+ kThemeBrushButtonPressedDarkHighlight = 41,
+ kThemeBrushButtonPressedLightShadow = 42,
+ kThemeBrushButtonPressedLightHighlight = 43,
+ kThemeBrushBevelActiveLight = 44,
+ kThemeBrushBevelActiveDark = 45,
+ kThemeBrushBevelInactiveLight = 46,
+ kThemeBrushBevelInactiveDark = 47
+};
+
+/* Brushes introduced in Appearance 1.1.1 (Mac OS 9.0) and later */
+enum {
+ kThemeBrushNotificationWindowBackground = 48
+};
+
+/* Brushes introduced in Carbon */
+enum {
+ kThemeBrushMovableModalBackground = 49, /* use with kMovableModalWindowClass; available in Mac OS X, and CarbonLib 1.3 and later */
+ kThemeBrushSheetBackgroundOpaque = 50, /* use with kSheetWindowClass and kSheetAlertWindowClass; available in Mac OS X, and CarbonLib 1.3 and later */
+ kThemeBrushDrawerBackground = 51, /* use with kDrawerWindowClass; available in Mac OS X, and CarbonLib 1.3 and later */
+ kThemeBrushToolbarBackground = 52, /* use with kToolbarWindowClass; available in Mac OS X, and CarbonLib 1.6 and later */
+ kThemeBrushSheetBackgroundTransparent = 53, /* use with kSheetWindowClass and kSheetAlertWindowClass; available in Mac OS X 10.1 and CarbonLib 1.6, and later */
+ kThemeBrushMenuBackground = 54, /* available in Mac OS X 10.1 and CarbonLib 1.6, and later */
+ kThemeBrushMenuBackgroundSelected = 55 /* available in Mac OS X 10.1 and CarbonLib 1.6, and later */
+};
+
+/* Appearance X or later theme brush compatibility synonyms */
+enum {
+ kThemeBrushSheetBackground = kThemeBrushSheetBackgroundOpaque
+};
+
+/* These values are meta-brushes, specific colors that do not */
+/* change from theme to theme. You can use them instead of using */
+/* direct RGB values. */
+enum {
+ kThemeBrushBlack = -1,
+ kThemeBrushWhite = -2,
+ kThemeBrushPrimaryHighlightColor = -3, /* available in Mac OS 10.1 and CarbonLib 1.6, and later*/
+ kThemeBrushSecondaryHighlightColor = -4 /* available in Mac OS 10.1 and CarbonLib 1.6, and later*/
+};
+
+typedef SInt16 ThemeBrush;
+enum {
+ kThemeTextColorDialogActive = 1,
+ kThemeTextColorDialogInactive = 2,
+ kThemeTextColorAlertActive = 3,
+ kThemeTextColorAlertInactive = 4,
+ kThemeTextColorModelessDialogActive = 5,
+ kThemeTextColorModelessDialogInactive = 6,
+ kThemeTextColorWindowHeaderActive = 7,
+ kThemeTextColorWindowHeaderInactive = 8,
+ kThemeTextColorPlacardActive = 9,
+ kThemeTextColorPlacardInactive = 10,
+ kThemeTextColorPlacardPressed = 11,
+ kThemeTextColorPushButtonActive = 12,
+ kThemeTextColorPushButtonInactive = 13,
+ kThemeTextColorPushButtonPressed = 14,
+ kThemeTextColorBevelButtonActive = 15,
+ kThemeTextColorBevelButtonInactive = 16,
+ kThemeTextColorBevelButtonPressed = 17,
+ kThemeTextColorPopupButtonActive = 18,
+ kThemeTextColorPopupButtonInactive = 19,
+ kThemeTextColorPopupButtonPressed = 20,
+ kThemeTextColorIconLabel = 21,
+ kThemeTextColorListView = 22
+};
+
+/* Text Colors available in Appearance 1.0.1 or later */
+enum {
+ kThemeTextColorDocumentWindowTitleActive = 23,
+ kThemeTextColorDocumentWindowTitleInactive = 24,
+ kThemeTextColorMovableModalWindowTitleActive = 25,
+ kThemeTextColorMovableModalWindowTitleInactive = 26,
+ kThemeTextColorUtilityWindowTitleActive = 27,
+ kThemeTextColorUtilityWindowTitleInactive = 28,
+ kThemeTextColorPopupWindowTitleActive = 29,
+ kThemeTextColorPopupWindowTitleInactive = 30,
+ kThemeTextColorRootMenuActive = 31,
+ kThemeTextColorRootMenuSelected = 32,
+ kThemeTextColorRootMenuDisabled = 33,
+ kThemeTextColorMenuItemActive = 34,
+ kThemeTextColorMenuItemSelected = 35,
+ kThemeTextColorMenuItemDisabled = 36,
+ kThemeTextColorPopupLabelActive = 37,
+ kThemeTextColorPopupLabelInactive = 38
+};
+
+
+/* Text colors available in Appearance 1.1 or later */
+enum {
+ kThemeTextColorTabFrontActive = 39,
+ kThemeTextColorTabNonFrontActive = 40,
+ kThemeTextColorTabNonFrontPressed = 41,
+ kThemeTextColorTabFrontInactive = 42,
+ kThemeTextColorTabNonFrontInactive = 43,
+ kThemeTextColorIconLabelSelected = 44,
+ kThemeTextColorBevelButtonStickyActive = 45,
+ kThemeTextColorBevelButtonStickyInactive = 46
+};
+
+/* Text colors available in Appearance 1.1.1 or later */
+enum {
+ kThemeTextColorNotification = 47
+};
+
+
+/* Text colors only available later than OS X 10.1.3 */
+enum {
+ kThemeTextColorSystemDetail = 48
+};
+
+/* These values are specific colors that do not change from */
+/* theme to theme. You can use them instead of using direct RGB values. */
+enum {
+ kThemeTextColorBlack = -1,
+ kThemeTextColorWhite = -2
+};
+
+typedef SInt16 ThemeTextColor;
+/* States to draw primitives: disabled, active, and pressed (hilited) */
+enum {
+ kThemeStateInactive = 0,
+ kThemeStateActive = 1,
+ kThemeStatePressed = 2,
+ kThemeStateRollover = 6,
+ kThemeStateUnavailable = 7,
+ kThemeStateUnavailableInactive = 8
+};
+
+/* obsolete name */
+enum {
+ kThemeStateDisabled = 0
+};
+
+enum {
+ kThemeStatePressedUp = 2, /* draw with up pressed (increment/decrement buttons) */
+ kThemeStatePressedDown = 3 /* draw with down pressed (increment/decrement buttons) */
+};
+
+typedef UInt32 ThemeDrawState;
+/*----------------------------------------------------------------------------------*/
+/* Theme cursor selectors available in Appearance 1.1 or later */
+/*----------------------------------------------------------------------------------*/
+enum {
+ kThemeArrowCursor = 0,
+ kThemeCopyArrowCursor = 1,
+ kThemeAliasArrowCursor = 2,
+ kThemeContextualMenuArrowCursor = 3,
+ kThemeIBeamCursor = 4,
+ kThemeCrossCursor = 5,
+ kThemePlusCursor = 6,
+ kThemeWatchCursor = 7, /* Can Animate */
+ kThemeClosedHandCursor = 8,
+ kThemeOpenHandCursor = 9,
+ kThemePointingHandCursor = 10,
+ kThemeCountingUpHandCursor = 11, /* Can Animate */
+ kThemeCountingDownHandCursor = 12, /* Can Animate */
+ kThemeCountingUpAndDownHandCursor = 13, /* Can Animate */
+ kThemeSpinningCursor = 14, /* Can Animate */
+ kThemeResizeLeftCursor = 15,
+ kThemeResizeRightCursor = 16,
+ kThemeResizeLeftRightCursor = 17,
+ kThemeNotAllowedCursor = 18 /* Jaguar or Later */
+};
+
+typedef UInt32 ThemeCursor;
+/*----------------------------------------------------------------------------------*/
+/* Theme menu bar drawing states */
+/*----------------------------------------------------------------------------------*/
+enum {
+ kThemeMenuBarNormal = 0,
+ kThemeMenuBarSelected = 1
+};
+
+typedef UInt16 ThemeMenuBarState;
+/* attributes */
+enum {
+ kThemeMenuSquareMenuBar = (1 << 0)
+};
+
+/*----------------------------------------------------------------------------------*/
+/* Theme menu drawing states */
+/*----------------------------------------------------------------------------------*/
+enum {
+ kThemeMenuActive = 0,
+ kThemeMenuSelected = 1,
+ kThemeMenuDisabled = 3
+};
+
+typedef UInt16 ThemeMenuState;
+/*------------------------------------------------------------------------------------------*/
+/* MenuType: add kThemeMenuTypeInactive to menu type for DrawThemeMenuBackground if entire */
+/* menu is inactive */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeMenuTypePullDown = 0,
+ kThemeMenuTypePopUp = 1,
+ kThemeMenuTypeHierarchical = 2,
+ kThemeMenuTypeInactive = 0x0100
+};
+
+typedef UInt16 ThemeMenuType;
+enum {
+ kThemeMenuItemPlain = 0,
+ kThemeMenuItemHierarchical = 1, /* item has hierarchical arrow*/
+ kThemeMenuItemScrollUpArrow = 2, /* for scrollable menus, indicates item is scroller*/
+ kThemeMenuItemScrollDownArrow = 3,
+ kThemeMenuItemAtTop = 0x0100, /* indicates item is being drawn at top of menu*/
+ kThemeMenuItemAtBottom = 0x0200, /* indicates item is being drawn at bottom of menu*/
+ kThemeMenuItemHierBackground = 0x0400, /* item is within a hierarchical menu*/
+ kThemeMenuItemPopUpBackground = 0x0800, /* item is within a popped up menu*/
+ kThemeMenuItemHasIcon = 0x8000, /* add into non-arrow type when icon present*/
+ kThemeMenuItemNoBackground = 0x4000 /* don't draw the menu background while drawing this item (Mac OS X only)*/
+};
+
+typedef UInt16 ThemeMenuItemType;
+/*------------------------------------------------------------------------------------------*/
+/* Theme Backgrounds */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeBackgroundTabPane = 1,
+ kThemeBackgroundPlacard = 2,
+ kThemeBackgroundWindowHeader = 3,
+ kThemeBackgroundListViewWindowHeader = 4,
+ kThemeBackgroundSecondaryGroupBox = 5
+};
+
+typedef UInt32 ThemeBackgroundKind;
+/*------------------------------------------------------------------------------------------*/
+/* Theme Collection tags for Get/SetTheme */
+/* */
+/* X ALERT: Please note that Get/SetTheme are severely neutered under Mac OS X at present. */
+/* The first group of tags below are available to get under both 9 and X. The */
+/* second group is 9 only. None of the tags can be used in SetTheme on X, as it */
+/* is completely inert on X, and will return unimpErr. */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeNameTag = FOUR_CHAR_CODE('name'), /* Str255*/
+ kThemeVariantNameTag = FOUR_CHAR_CODE('varn'), /* Str255*/
+ kThemeVariantBaseTintTag = FOUR_CHAR_CODE('tint'), /* RGBColor (10.1 and later)*/
+ kThemeHighlightColorTag = FOUR_CHAR_CODE('hcol'), /* RGBColor*/
+ kThemeScrollBarArrowStyleTag = FOUR_CHAR_CODE('sbar'), /* ThemeScrollBarArrowStyle*/
+ kThemeScrollBarThumbStyleTag = FOUR_CHAR_CODE('sbth'), /* ThemeScrollBarThumbStyle*/
+ kThemeSoundsEnabledTag = FOUR_CHAR_CODE('snds'), /* Boolean*/
+ kThemeDblClickCollapseTag = FOUR_CHAR_CODE('coll') /* Boolean*/
+};
+
+enum {
+ kThemeAppearanceFileNameTag = FOUR_CHAR_CODE('thme'), /* Str255*/
+ kThemeSystemFontTag = FOUR_CHAR_CODE('lgsf'), /* Str255*/
+ kThemeSmallSystemFontTag = FOUR_CHAR_CODE('smsf'), /* Str255*/
+ kThemeViewsFontTag = FOUR_CHAR_CODE('vfnt'), /* Str255*/
+ kThemeViewsFontSizeTag = FOUR_CHAR_CODE('vfsz'), /* SInt16*/
+ kThemeDesktopPatternNameTag = FOUR_CHAR_CODE('patn'), /* Str255*/
+ kThemeDesktopPatternTag = FOUR_CHAR_CODE('patt'), /* <variable-length data> (flattened pattern)*/
+ kThemeDesktopPictureNameTag = FOUR_CHAR_CODE('dpnm'), /* Str255*/
+ kThemeDesktopPictureAliasTag = FOUR_CHAR_CODE('dpal'), /* <alias handle>*/
+ kThemeDesktopPictureAlignmentTag = FOUR_CHAR_CODE('dpan'), /* UInt32 (see the Picture Alignments below)*/
+ kThemeHighlightColorNameTag = FOUR_CHAR_CODE('hcnm'), /* Str255*/
+ kThemeExamplePictureIDTag = FOUR_CHAR_CODE('epic'), /* SInt16*/
+ kThemeSoundTrackNameTag = FOUR_CHAR_CODE('sndt'), /* Str255*/
+ kThemeSoundMaskTag = FOUR_CHAR_CODE('smsk'), /* UInt32*/
+ kThemeUserDefinedTag = FOUR_CHAR_CODE('user'), /* Boolean (this should _always_ be true if present - used by Control Panel).*/
+ kThemeSmoothFontEnabledTag = FOUR_CHAR_CODE('smoo'), /* Boolean*/
+ kThemeSmoothFontMinSizeTag = FOUR_CHAR_CODE('smos') /* UInt16 (must be >= 12 and <= 24)*/
+};
+
+/* Picture Aligmnents that might be reported in the data for kThemeDesktopPictureAlignmentTag*/
+enum {
+ kTiledOnScreen = 1, /* draws picture repeatedly*/
+ kCenterOnScreen = 2, /* "actual size", shows pattern on sides or clips picture if necessary*/
+ kFitToScreen = 3, /* shrinks if necessary*/
+ kFillScreen = 4, /* messes up aspect ratio if necessary*/
+ kUseBestGuess = 5 /* heuristically determines the best way to display the picture based on picture and monitor sizes*/
+};
+
+/*------------------------------------------------------------------------------------------*/
+/* Theme Control Settings */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeCheckBoxClassicX = 0, /* check box with an 'X'*/
+ kThemeCheckBoxCheckMark = 1 /* check box with a real check mark*/
+};
+
+typedef UInt16 ThemeCheckBoxStyle;
+enum {
+ kThemeScrollBarArrowsSingle = 0, /* single arrow on each end*/
+ kThemeScrollBarArrowsLowerRight = 1 /* double arrows only on right or bottom*/
+};
+
+typedef UInt16 ThemeScrollBarArrowStyle;
+enum {
+ kThemeScrollBarThumbNormal = 0, /* normal, classic thumb size*/
+ kThemeScrollBarThumbProportional = 1 /* proportional thumbs*/
+};
+
+typedef UInt16 ThemeScrollBarThumbStyle;
+/*------------------------------------------------------------------------------------------*/
+/* Font constants */
+/*------------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * A ThemeFontID value is a virtual font ID which can be passed to
+ * one of the Appearance Manager's text-related routines. Within
+ * those routines, the ThemeFontID is mapped into the appropriate
+ * real font (or fonts), size, and style based on the system
+ * appearance (Platinum on Mac OS 9, Aqua on Mac OS X), the string
+ * to be rendered (if any), the language/ script that the app is
+ * running in, and possibly other factors. The ThemeFontIDs allow
+ * you to get the correct text appearance for the platform your app
+ * is currently running on.
+ */
+enum {
+
+ /*
+ * The font used to draw most interface elements. If you can't find a
+ * more appropriate font from the list below, you should use this
+ * one. This font is suitable for drawing titles on most custom
+ * widgets/buttons, as well as most static text in dialogs and
+ * windows.
+ */
+ kThemeSystemFont = 0,
+
+ /*
+ * The font used to draw interface elements when space is at a
+ * premium. It draws a slightly smaller font compared to
+ * kThemeSystemFont.
+ */
+ kThemeSmallSystemFont = 1,
+
+ /*
+ * Identical to kThemeSmallSystemFont, except it draws bolded (or
+ * otherwise emphasized in some fashion appropriate to your
+ * application's language/script).
+ */
+ kThemeSmallEmphasizedSystemFont = 2,
+
+ /*
+ * The font used to draw file and folder names in Finder windows or
+ * other browsable lists.
+ */
+ kThemeViewsFont = 3, /* The following ID's are only available with MacOS X or CarbonLib 1.3 and later*/
+
+ /*
+ * Identical to kThemeSystemFont, except it draws bolded (or
+ * otherwise emphasized in some fashion appropriate to your
+ * application's language/script). Only available on Mac OS X or
+ * CarbonLib 1.3 or later.
+ */
+ kThemeEmphasizedSystemFont = 4,
+
+ /*
+ * An analog to the Script Manager's notion of the Application Font.
+ * This font is a suitable default choice for your application's
+ * document-style text editing areas. Only available on Mac OS X or
+ * CarbonLib 1.3 or later.
+ */
+ kThemeApplicationFont = 5,
+
+ /*
+ * Generally smaller than kThemeSmallSystemFont, this font is
+ * appropriate for drawing text labels next to image content that
+ * reinforces the text's meaning (such as on a bevel button). Only
+ * available on Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeLabelFont = 6,
+
+ /*
+ * The font used to draw menu titles in the menu bar. Only available
+ * on Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeMenuTitleFont = 100,
+
+ /*
+ * The font used to draw menu items in the menus. Only available on
+ * Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeMenuItemFont = 101,
+
+ /*
+ * The font used to draw menu item marks in the menus. Only available
+ * on Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeMenuItemMarkFont = 102,
+
+ /*
+ * The font used to draw menu item command key equivalents in the
+ * menus. Only available on Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeMenuItemCmdKeyFont = 103,
+
+ /*
+ * The font used to draw text in most window title bars. Only
+ * available on Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeWindowTitleFont = 104,
+
+ /*
+ * The font used to draw text labels on push buttons. Only available
+ * on Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemePushButtonFont = 105,
+
+ /*
+ * The font used to draw text in utility window title bars. Only
+ * available on Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeUtilityWindowTitleFont = 106,
+
+ /*
+ * The font used to draw the first (and most important) message of an
+ * alert window. Only available on Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeAlertHeaderFont = 107,
+ kThemeSystemFontDetail = 7,
+ kThemeSystemFontDetailEmphasized = 8,
+
+ /*
+ * Unlike the other ThemeFontIDs, this one doesn't map to a font
+ * appropriate to your application's language or script. It maps
+ * directly to the font, size, and style of the current Quickdraw
+ * port. This allows you to get somewhat customized behavior out of
+ * the APIs which take ThemeFontIDs. Note, however, that
+ * kThemeCurrentPortFont does not (and will never) support all
+ * Quickdraw styles on all platforms; in particular, outline and
+ * shadow style are not supported on Mac OS X. Additionally,
+ * kThemeCurrentPortFont is not (and will never be) completely
+ * unicode savvy; use of kThemeCurrentPortFont may result in errors
+ * having to do with the current port's font not being appropriate
+ * for rendering or measuring all glyphs in a given unicode string.
+ * Because of overhead associated with gathering Quickdraw font
+ * information and converting it to the native font format on Mac OS
+ * X, use of kThemeCurrentPortFont may slow down your text drawing
+ * and measuring significantly compared to other ThemeFontIDs.
+ * Instead of using kThemeCurrentPortFont, your application will
+ * probably be better served by using one of the other ThemeFontIDs;
+ * use kThemeCurrentPortFont only as a last resort. Only available on
+ * Mac OS X or CarbonLib 1.3 or later.
+ */
+ kThemeCurrentPortFont = 200, /* Available in JAGUAR or later*/
+
+ /*
+ * The font used to draw the label of a toolbar item. Available in
+ * Mac OS X 10.2 or later.
+ */
+ kThemeToolbarFont = 108
+};
+
+/* This is the total of the PUBLIC ThemeFontIDs!*/
+enum {
+ kPublicThemeFontCount = 17
+};
+
+typedef UInt16 ThemeFontID;
+/*------------------------------------------------------------------------------------------*/
+/* Tab constants */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeTabNonFront = 0,
+ kThemeTabNonFrontPressed = 1,
+ kThemeTabNonFrontInactive = 2,
+ kThemeTabFront = 3,
+ kThemeTabFrontInactive = 4,
+ kThemeTabNonFrontUnavailable = 5,
+ kThemeTabFrontUnavailable = 6
+};
+
+typedef UInt16 ThemeTabStyle;
+enum {
+ kThemeTabNorth = 0,
+ kThemeTabSouth = 1,
+ kThemeTabEast = 2,
+ kThemeTabWest = 3
+};
+
+typedef UInt16 ThemeTabDirection;
+/* NOTE ON TAB HEIGHT */
+/* Use the kThemeSmallTabHeightMax and kThemeLargeTabHeightMax when calculating the rects */
+/* to draw tabs into. This height includes the tab frame overlap. Tabs that are not in the */
+/* front are only drawn down to where they meet the frame, as if the height was just */
+/* kThemeLargeTabHeight, for example, as opposed to the ...Max constant. Remember that for */
+/* East and West tabs, the height referred to below is actually the width. */
+enum {
+ kThemeSmallTabHeight = 16, /* amount small tabs protrude from frame.*/
+ kThemeLargeTabHeight = 21, /* amount large tabs protrude from frame.*/
+ kThemeTabPaneOverlap = 3, /* amount tabs overlap frame.*/
+ kThemeSmallTabHeightMax = 19, /* small tab height + overlap*/
+ kThemeLargeTabHeightMax = 24 /* large tab height + overlap*/
+};
+
+/*------------------------------------------------------------------------------------------*/
+/* Track kinds */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeMediumScrollBar = 0,
+ kThemeSmallScrollBar = 1,
+ kThemeMediumSlider = 2,
+ kThemeMediumProgressBar = 3,
+ kThemeMediumIndeterminateBar = 4,
+ kThemeRelevanceBar = 5,
+ kThemeSmallSlider = 6,
+ kThemeLargeProgressBar = 7,
+ kThemeLargeIndeterminateBar = 8
+};
+
+typedef UInt16 ThemeTrackKind;
+/*------------------------------------------------------------------------------------------*/
+/* Track enable states */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ /* track states */
+ kThemeTrackActive = 0,
+ kThemeTrackDisabled = 1,
+ kThemeTrackNothingToScroll = 2,
+ kThemeTrackInactive = 3
+};
+
+typedef UInt8 ThemeTrackEnableState;
+/*------------------------------------------------------------------------------------------*/
+/* Track pressed states */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ /* press states (ignored unless track is active) */
+ kThemeLeftOutsideArrowPressed = 0x01,
+ kThemeLeftInsideArrowPressed = 0x02,
+ kThemeLeftTrackPressed = 0x04,
+ kThemeThumbPressed = 0x08,
+ kThemeRightTrackPressed = 0x10,
+ kThemeRightInsideArrowPressed = 0x20,
+ kThemeRightOutsideArrowPressed = 0x40,
+ kThemeTopOutsideArrowPressed = kThemeLeftOutsideArrowPressed,
+ kThemeTopInsideArrowPressed = kThemeLeftInsideArrowPressed,
+ kThemeTopTrackPressed = kThemeLeftTrackPressed,
+ kThemeBottomTrackPressed = kThemeRightTrackPressed,
+ kThemeBottomInsideArrowPressed = kThemeRightInsideArrowPressed,
+ kThemeBottomOutsideArrowPressed = kThemeRightOutsideArrowPressed
+};
+
+typedef UInt8 ThemeTrackPressState;
+/*------------------------------------------------------------------------------------------*/
+/* Thumb directions */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ /* thumb direction */
+ kThemeThumbPlain = 0,
+ kThemeThumbUpward = 1,
+ kThemeThumbDownward = 2
+};
+
+typedef UInt8 ThemeThumbDirection;
+/*------------------------------------------------------------------------------------------*/
+/* Track attributes */
+/*------------------------------------------------------------------------------------------*/
+
+/*
+ * Discussion:
+ * Theme track attributes control the look of the track elements as
+ * drawn by the DrawThemeTrackFoo as well as the region returned by
+ * GetThemeTrackFoo.
+ */
+enum {
+
+ /*
+ * The track is drawn horizontally.
+ */
+ kThemeTrackHorizontal = (1 << 0),
+
+ /*
+ * The track progresses from right to left.
+ */
+ kThemeTrackRightToLeft = (1 << 1),
+
+ /*
+ * The track's thumb should be drawn.
+ */
+ kThemeTrackShowThumb = (1 << 2),
+
+ /*
+ * The provided thumbRgn should be drawn opaque, not as a ghost.
+ */
+ kThemeTrackThumbRgnIsNotGhost = (1 << 3),
+
+ /*
+ * The track scroll bar doesn't have arrows. This attribute
+ * currently has no effect
+ */
+ kThemeTrackNoScrollBarArrows = (1 << 4),
+
+ /*
+ * The thumb has focus. This attribute currently has effect only on
+ * sliders. Available only in Mac OS X after 10.1.
+ */
+ kThemeTrackHasFocus = (1 << 5)
+};
+
+typedef UInt16 ThemeTrackAttributes;
+/*------------------------------------------------------------------------------------------*/
+/* Track info block */
+/*------------------------------------------------------------------------------------------*/
+struct ScrollBarTrackInfo {
+ SInt32 viewsize; /* current view range size */
+ ThemeTrackPressState pressState; /* pressed parts state */
+};
+typedef struct ScrollBarTrackInfo ScrollBarTrackInfo;
+struct SliderTrackInfo {
+ ThemeThumbDirection thumbDir; /* thumb direction */
+ ThemeTrackPressState pressState; /* pressed parts state */
+};
+typedef struct SliderTrackInfo SliderTrackInfo;
+struct ProgressTrackInfo {
+ UInt8 phase; /* phase for indeterminate progress */
+};
+typedef struct ProgressTrackInfo ProgressTrackInfo;
+struct ThemeTrackDrawInfo {
+ ThemeTrackKind kind; /* what kind of track this info is for */
+ Rect bounds; /* track basis rectangle */
+ SInt32 min; /* min track value */
+ SInt32 max; /* max track value */
+ SInt32 value; /* current thumb value */
+ UInt32 reserved;
+
+ ThemeTrackAttributes attributes; /* various track attributes */
+ ThemeTrackEnableState enableState; /* enable state */
+ UInt8 filler1;
+
+ union {
+ ScrollBarTrackInfo scrollbar;
+ SliderTrackInfo slider;
+ ProgressTrackInfo progress;
+ } trackInfo;
+};
+typedef struct ThemeTrackDrawInfo ThemeTrackDrawInfo;
+/*------------------------------------------------------------------------------------------*/
+/* ThemeWindowAttributes */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeWindowHasGrow = (1 << 0), /* can the size of the window be changed by the user? */
+ kThemeWindowHasHorizontalZoom = (1 << 3), /* window can zoom only horizontally */
+ kThemeWindowHasVerticalZoom = (1 << 4), /* window can zoom only vertically */
+ kThemeWindowHasFullZoom = kThemeWindowHasHorizontalZoom + kThemeWindowHasVerticalZoom, /* window zooms in all directions */
+ kThemeWindowHasCloseBox = (1 << 5), /* window has a close box */
+ kThemeWindowHasCollapseBox = (1 << 6), /* window has a collapse box */
+ kThemeWindowHasTitleText = (1 << 7), /* window has a title/title icon */
+ kThemeWindowIsCollapsed = (1 << 8), /* window is in the collapsed state */
+ kThemeWindowHasDirty = (1 << 9)
+};
+
+
+typedef UInt32 ThemeWindowAttributes;
+/*------------------------------------------------------------------------------------------*/
+/* Window Types Supported by the Appearance Manager */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeDocumentWindow = 0,
+ kThemeDialogWindow = 1,
+ kThemeMovableDialogWindow = 2,
+ kThemeAlertWindow = 3,
+ kThemeMovableAlertWindow = 4,
+ kThemePlainDialogWindow = 5,
+ kThemeShadowDialogWindow = 6,
+ kThemePopupWindow = 7,
+ kThemeUtilityWindow = 8,
+ kThemeUtilitySideWindow = 9,
+ kThemeSheetWindow = 10,
+ kThemeDrawerWindow = 11
+};
+
+typedef UInt16 ThemeWindowType;
+/*------------------------------------------------------------------------------------------*/
+/* Window Widgets Supported by the Appearance Manager */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeWidgetCloseBox = 0,
+ kThemeWidgetZoomBox = 1,
+ kThemeWidgetCollapseBox = 2,
+ kThemeWidgetDirtyCloseBox = 6
+};
+
+typedef UInt16 ThemeTitleBarWidget;
+/*------------------------------------------------------------------------------------------*/
+/* Popup arrow orientations */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeArrowLeft = 0,
+ kThemeArrowDown = 1,
+ kThemeArrowRight = 2,
+ kThemeArrowUp = 3
+};
+
+typedef UInt16 ThemeArrowOrientation;
+/*------------------------------------------------------------------------------------------*/
+/* Popup arrow sizes */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeArrow3pt = 0,
+ kThemeArrow5pt = 1,
+ kThemeArrow7pt = 2,
+ kThemeArrow9pt = 3
+};
+
+typedef UInt16 ThemePopupArrowSize;
+/*------------------------------------------------------------------------------------------*/
+/* Grow box directions */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeGrowLeft = (1 << 0), /* can grow to the left */
+ kThemeGrowRight = (1 << 1), /* can grow to the right */
+ kThemeGrowUp = (1 << 2), /* can grow up */
+ kThemeGrowDown = (1 << 3) /* can grow down */
+};
+
+typedef UInt16 ThemeGrowDirection;
+/*------------------------------------------------------------------------------------------*/
+/* Button kinds */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemePushButton = 0,
+ kThemeCheckBox = 1,
+ kThemeRadioButton = 2,
+ kThemeBevelButton = 3, /* bevel button (obsolete) */
+ kThemeArrowButton = 4, /* popup button without text (no label). See ThemeButtonAdornment for glyphs. */
+ kThemePopupButton = 5, /* popup button */
+ kThemeDisclosureButton = 6,
+ kThemeIncDecButton = 7, /* increment/decrement buttons (no label) */
+ kThemeSmallBevelButton = 8, /* small-shadow bevel button */
+ kThemeMediumBevelButton = 3, /* med-shadow bevel button */
+ kThemeLargeBevelButton = 9, /* large-shadow bevel button */
+ kThemeListHeaderButton = 10, /* sort button for top of list */
+ kThemeRoundButton = 11, /* round button */
+ kThemeLargeRoundButton = 12, /* large round button */
+ kThemeSmallCheckBox = 13, /* small checkbox */
+ kThemeSmallRadioButton = 14, /* small radio button */
+ kThemeRoundedBevelButton = 15, /* rounded bevel button */
+ kThemeNormalCheckBox = kThemeCheckBox,
+ kThemeNormalRadioButton = kThemeRadioButton
+};
+
+typedef UInt16 ThemeButtonKind;
+/*------------------------------------------------------------------------------------------*/
+/* Common button values */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeButtonOff = 0,
+ kThemeButtonOn = 1,
+ kThemeButtonMixed = 2,
+ kThemeDisclosureRight = 0,
+ kThemeDisclosureDown = 1,
+ kThemeDisclosureLeft = 2
+};
+
+typedef UInt16 ThemeButtonValue;
+/*------------------------------------------------------------------------------------------*/
+/* Button adornment types */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeAdornmentNone = 0,
+ kThemeAdornmentDefault = (1 << 0), /* if set, draw default ornamentation ( for push button and generic well ) */
+ kThemeAdornmentFocus = (1 << 2), /* if set, draw focus */
+ kThemeAdornmentRightToLeft = (1 << 4), /* if set, draw right to left label */
+ kThemeAdornmentDrawIndicatorOnly = (1 << 5), /* if set, don't draw or erase label ( radio, check, disclosure ) */
+ kThemeAdornmentHeaderButtonLeftNeighborSelected = (1 << 6), /* if set, draw the left border of the button as selected ( list header button only ) */
+ kThemeAdornmentHeaderButtonRightNeighborSelected = (1 << 7), /* if set, draw the right border of the button ( list header button only ) */
+ kThemeAdornmentHeaderButtonSortUp = (1 << 8), /* if set, draw the sort indicator pointing upward ( list header button only ) */
+ kThemeAdornmentHeaderMenuButton = (1 << 9), /* if set, draw as a header menu button ( list header button only ) */
+ kThemeAdornmentHeaderButtonNoShadow = (1 << 10), /* if set, draw the non-shadow area of the button ( list header button only ) */
+ kThemeAdornmentHeaderButtonShadowOnly = (1 << 11), /* if set, draw the only the shadow area of the button ( list header button only ) */
+ kThemeAdornmentNoShadow = kThemeAdornmentHeaderButtonNoShadow, /* old name */
+ kThemeAdornmentShadowOnly = kThemeAdornmentHeaderButtonShadowOnly, /* old name */
+ kThemeAdornmentArrowLeftArrow = (1 << 6), /* If set, draw a left arrow on the arrow button */
+ kThemeAdornmentArrowDownArrow = (1 << 7), /* If set, draw a down arrow on the arrow button */
+ kThemeAdornmentArrowDoubleArrow = (1 << 8), /* If set, draw a double arrow on the arrow button */
+ kThemeAdornmentArrowUpArrow = (1 << 9) /* If set, draw a up arrow on the arrow button */
+};
+
+typedef UInt16 ThemeButtonAdornment;
+/*------------------------------------------------------------------------------------------*/
+/* Button drawing info block */
+/*------------------------------------------------------------------------------------------*/
+struct ThemeButtonDrawInfo {
+ ThemeDrawState state;
+ ThemeButtonValue value;
+ ThemeButtonAdornment adornment;
+};
+typedef struct ThemeButtonDrawInfo ThemeButtonDrawInfo;
+typedef ThemeButtonDrawInfo * ThemeButtonDrawInfoPtr;
+/*------------------------------------------------------------------------------------------*/
+/* Sound Support */
+/* */
+/* X ALERT: Please note that none of the theme sound APIs currently function on X. */
+/*------------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------------------*/
+/* Sound classes */
+/* */
+/* You can use the constants below to set what sounds are active using the SetTheme API. */
+/* Use these with the kThemeSoundMask tag. */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeNoSounds = 0,
+ kThemeWindowSoundsMask = (1 << 0),
+ kThemeMenuSoundsMask = (1 << 1),
+ kThemeControlSoundsMask = (1 << 2),
+ kThemeFinderSoundsMask = (1 << 3)
+};
+
+
+/*------------------------------------------------------------------------------------------*/
+/* Drag Sounds */
+/* */
+/* Drag sounds are looped for the duration of the drag. */
+/* */
+/* Call BeginThemeDragSound at the start of the drag. */
+/* Call EndThemeDragSound when the drag has finished. */
+/* */
+/* Note that in order to maintain a consistent user experience, only one drag sound may */
+/* occur at a time. The sound should be attached to a mouse action, start after the */
+/* mouse goes down and stop when the mouse is released. */
+/*------------------------------------------------------------------------------------------*/
+enum {
+ kThemeDragSoundNone = 0,
+ kThemeDragSoundMoveWindow = FOUR_CHAR_CODE('wmov'),
+ kThemeDragSoundGrowWindow = FOUR_CHAR_CODE('wgro'),
+ kThemeDragSoundMoveUtilWindow = FOUR_CHAR_CODE('umov'),
+ kThemeDragSoundGrowUtilWindow = FOUR_CHAR_CODE('ugro'),
+ kThemeDragSoundMoveDialog = FOUR_CHAR_CODE('dmov'),
+ kThemeDragSoundMoveAlert = FOUR_CHAR_CODE('amov'),
+ kThemeDragSoundMoveIcon = FOUR_CHAR_CODE('imov'),
+ kThemeDragSoundSliderThumb = FOUR_CHAR_CODE('slth'),
+ kThemeDragSoundSliderGhost = FOUR_CHAR_CODE('slgh'),
+ kThemeDragSoundScrollBarThumb = FOUR_CHAR_CODE('sbth'),
+ kThemeDragSoundScrollBarGhost = FOUR_CHAR_CODE('sbgh'),
+ kThemeDragSoundScrollBarArrowDecreasing = FOUR_CHAR_CODE('sbad'),
+ kThemeDragSoundScrollBarArrowIncreasing = FOUR_CHAR_CODE('sbai'),
+ kThemeDragSoundDragging = FOUR_CHAR_CODE('drag')
+};
+
+typedef OSType ThemeDragSoundKind;
+/*--------------------------------------------------------------------------*/
+/* State-change sounds */
+/* */
+/* State-change sounds are played asynchonously as a one-shot. */
+/* */
+/* Call PlayThemeSound to play the sound. The sound will play */
+/* asynchronously until complete, then stop automatically. */
+/*--------------------------------------------------------------------------*/
+enum {
+ kThemeSoundNone = 0,
+ kThemeSoundMenuOpen = FOUR_CHAR_CODE('mnuo'), /* menu sounds */
+ kThemeSoundMenuClose = FOUR_CHAR_CODE('mnuc'),
+ kThemeSoundMenuItemHilite = FOUR_CHAR_CODE('mnui'),
+ kThemeSoundMenuItemRelease = FOUR_CHAR_CODE('mnus'),
+ kThemeSoundWindowClosePress = FOUR_CHAR_CODE('wclp'), /* window sounds */
+ kThemeSoundWindowCloseEnter = FOUR_CHAR_CODE('wcle'),
+ kThemeSoundWindowCloseExit = FOUR_CHAR_CODE('wclx'),
+ kThemeSoundWindowCloseRelease = FOUR_CHAR_CODE('wclr'),
+ kThemeSoundWindowZoomPress = FOUR_CHAR_CODE('wzmp'),
+ kThemeSoundWindowZoomEnter = FOUR_CHAR_CODE('wzme'),
+ kThemeSoundWindowZoomExit = FOUR_CHAR_CODE('wzmx'),
+ kThemeSoundWindowZoomRelease = FOUR_CHAR_CODE('wzmr'),
+ kThemeSoundWindowCollapsePress = FOUR_CHAR_CODE('wcop'),
+ kThemeSoundWindowCollapseEnter = FOUR_CHAR_CODE('wcoe'),
+ kThemeSoundWindowCollapseExit = FOUR_CHAR_CODE('wcox'),
+ kThemeSoundWindowCollapseRelease = FOUR_CHAR_CODE('wcor'),
+ kThemeSoundWindowDragBoundary = FOUR_CHAR_CODE('wdbd'),
+ kThemeSoundUtilWinClosePress = FOUR_CHAR_CODE('uclp'), /* utility window sounds */
+ kThemeSoundUtilWinCloseEnter = FOUR_CHAR_CODE('ucle'),
+ kThemeSoundUtilWinCloseExit = FOUR_CHAR_CODE('uclx'),
+ kThemeSoundUtilWinCloseRelease = FOUR_CHAR_CODE('uclr'),
+ kThemeSoundUtilWinZoomPress = FOUR_CHAR_CODE('uzmp'),
+ kThemeSoundUtilWinZoomEnter = FOUR_CHAR_CODE('uzme'),
+ kThemeSoundUtilWinZoomExit = FOUR_CHAR_CODE('uzmx'),
+ kThemeSoundUtilWinZoomRelease = FOUR_CHAR_CODE('uzmr'),
+ kThemeSoundUtilWinCollapsePress = FOUR_CHAR_CODE('ucop'),
+ kThemeSoundUtilWinCollapseEnter = FOUR_CHAR_CODE('ucoe'),
+ kThemeSoundUtilWinCollapseExit = FOUR_CHAR_CODE('ucox'),
+ kThemeSoundUtilWinCollapseRelease = FOUR_CHAR_CODE('ucor'),
+ kThemeSoundUtilWinDragBoundary = FOUR_CHAR_CODE('udbd'),
+ kThemeSoundWindowOpen = FOUR_CHAR_CODE('wopn'), /* window close and zoom action */
+ kThemeSoundWindowClose = FOUR_CHAR_CODE('wcls'),
+ kThemeSoundWindowZoomIn = FOUR_CHAR_CODE('wzmi'),
+ kThemeSoundWindowZoomOut = FOUR_CHAR_CODE('wzmo'),
+ kThemeSoundWindowCollapseUp = FOUR_CHAR_CODE('wcol'),
+ kThemeSoundWindowCollapseDown = FOUR_CHAR_CODE('wexp'),
+ kThemeSoundWindowActivate = FOUR_CHAR_CODE('wact'),
+ kThemeSoundUtilWindowOpen = FOUR_CHAR_CODE('uopn'),
+ kThemeSoundUtilWindowClose = FOUR_CHAR_CODE('ucls'),
+ kThemeSoundUtilWindowZoomIn = FOUR_CHAR_CODE('uzmi'),
+ kThemeSoundUtilWindowZoomOut = FOUR_CHAR_CODE('uzmo'),
+ kThemeSoundUtilWindowCollapseUp = FOUR_CHAR_CODE('ucol'),
+ kThemeSoundUtilWindowCollapseDown = FOUR_CHAR_CODE('uexp'),
+ kThemeSoundUtilWindowActivate = FOUR_CHAR_CODE('uact'),
+ kThemeSoundDialogOpen = FOUR_CHAR_CODE('dopn'),
+ kThemeSoundDialogClose = FOUR_CHAR_CODE('dlgc'),
+ kThemeSoundAlertOpen = FOUR_CHAR_CODE('aopn'),
+ kThemeSoundAlertClose = FOUR_CHAR_CODE('altc'),
+ kThemeSoundPopupWindowOpen = FOUR_CHAR_CODE('pwop'),
+ kThemeSoundPopupWindowClose = FOUR_CHAR_CODE('pwcl'),
+ kThemeSoundButtonPress = FOUR_CHAR_CODE('btnp'), /* button */
+ kThemeSoundButtonEnter = FOUR_CHAR_CODE('btne'),
+ kThemeSoundButtonExit = FOUR_CHAR_CODE('btnx'),
+ kThemeSoundButtonRelease = FOUR_CHAR_CODE('btnr'),
+ kThemeSoundDefaultButtonPress = FOUR_CHAR_CODE('dbtp'), /* default button */
+ kThemeSoundDefaultButtonEnter = FOUR_CHAR_CODE('dbte'),
+ kThemeSoundDefaultButtonExit = FOUR_CHAR_CODE('dbtx'),
+ kThemeSoundDefaultButtonRelease = FOUR_CHAR_CODE('dbtr'),
+ kThemeSoundCancelButtonPress = FOUR_CHAR_CODE('cbtp'), /* cancel button */
+ kThemeSoundCancelButtonEnter = FOUR_CHAR_CODE('cbte'),
+ kThemeSoundCancelButtonExit = FOUR_CHAR_CODE('cbtx'),
+ kThemeSoundCancelButtonRelease = FOUR_CHAR_CODE('cbtr'),
+ kThemeSoundCheckboxPress = FOUR_CHAR_CODE('chkp'), /* checkboxes */
+ kThemeSoundCheckboxEnter = FOUR_CHAR_CODE('chke'),
+ kThemeSoundCheckboxExit = FOUR_CHAR_CODE('chkx'),
+ kThemeSoundCheckboxRelease = FOUR_CHAR_CODE('chkr'),
+ kThemeSoundRadioPress = FOUR_CHAR_CODE('radp'), /* radio buttons */
+ kThemeSoundRadioEnter = FOUR_CHAR_CODE('rade'),
+ kThemeSoundRadioExit = FOUR_CHAR_CODE('radx'),
+ kThemeSoundRadioRelease = FOUR_CHAR_CODE('radr'),
+ kThemeSoundScrollArrowPress = FOUR_CHAR_CODE('sbap'), /* scroll bars */
+ kThemeSoundScrollArrowEnter = FOUR_CHAR_CODE('sbae'),
+ kThemeSoundScrollArrowExit = FOUR_CHAR_CODE('sbax'),
+ kThemeSoundScrollArrowRelease = FOUR_CHAR_CODE('sbar'),
+ kThemeSoundScrollEndOfTrack = FOUR_CHAR_CODE('sbte'),
+ kThemeSoundScrollTrackPress = FOUR_CHAR_CODE('sbtp'),
+ kThemeSoundSliderEndOfTrack = FOUR_CHAR_CODE('slte'), /* sliders */
+ kThemeSoundSliderTrackPress = FOUR_CHAR_CODE('sltp'),
+ kThemeSoundBalloonOpen = FOUR_CHAR_CODE('blno'), /* help balloons */
+ kThemeSoundBalloonClose = FOUR_CHAR_CODE('blnc'),
+ kThemeSoundBevelPress = FOUR_CHAR_CODE('bevp'), /* Bevel buttons */
+ kThemeSoundBevelEnter = FOUR_CHAR_CODE('beve'),
+ kThemeSoundBevelExit = FOUR_CHAR_CODE('bevx'),
+ kThemeSoundBevelRelease = FOUR_CHAR_CODE('bevr'),
+ kThemeSoundLittleArrowUpPress = FOUR_CHAR_CODE('laup'), /* Little Arrows */
+ kThemeSoundLittleArrowDnPress = FOUR_CHAR_CODE('ladp'),
+ kThemeSoundLittleArrowEnter = FOUR_CHAR_CODE('lare'),
+ kThemeSoundLittleArrowExit = FOUR_CHAR_CODE('larx'),
+ kThemeSoundLittleArrowUpRelease = FOUR_CHAR_CODE('laur'),
+ kThemeSoundLittleArrowDnRelease = FOUR_CHAR_CODE('ladr'),
+ kThemeSoundPopupPress = FOUR_CHAR_CODE('popp'), /* Popup Buttons */
+ kThemeSoundPopupEnter = FOUR_CHAR_CODE('pope'),
+ kThemeSoundPopupExit = FOUR_CHAR_CODE('popx'),
+ kThemeSoundPopupRelease = FOUR_CHAR_CODE('popr'),
+ kThemeSoundDisclosurePress = FOUR_CHAR_CODE('dscp'), /* Disclosure Buttons */
+ kThemeSoundDisclosureEnter = FOUR_CHAR_CODE('dsce'),
+ kThemeSoundDisclosureExit = FOUR_CHAR_CODE('dscx'),
+ kThemeSoundDisclosureRelease = FOUR_CHAR_CODE('dscr'),
+ kThemeSoundTabPressed = FOUR_CHAR_CODE('tabp'), /* Tabs */
+ kThemeSoundTabEnter = FOUR_CHAR_CODE('tabe'),
+ kThemeSoundTabExit = FOUR_CHAR_CODE('tabx'),
+ kThemeSoundTabRelease = FOUR_CHAR_CODE('tabr'),
+ kThemeSoundDragTargetHilite = FOUR_CHAR_CODE('dthi'), /* drag manager */
+ kThemeSoundDragTargetUnhilite = FOUR_CHAR_CODE('dtuh'),
+ kThemeSoundDragTargetDrop = FOUR_CHAR_CODE('dtdr'),
+ kThemeSoundEmptyTrash = FOUR_CHAR_CODE('ftrs'), /* finder */
+ kThemeSoundSelectItem = FOUR_CHAR_CODE('fsel'),
+ kThemeSoundNewItem = FOUR_CHAR_CODE('fnew'),
+ kThemeSoundReceiveDrop = FOUR_CHAR_CODE('fdrp'),
+ kThemeSoundCopyDone = FOUR_CHAR_CODE('fcpd'),
+ kThemeSoundResolveAlias = FOUR_CHAR_CODE('fral'),
+ kThemeSoundLaunchApp = FOUR_CHAR_CODE('flap'),
+ kThemeSoundDiskInsert = FOUR_CHAR_CODE('dski'),
+ kThemeSoundDiskEject = FOUR_CHAR_CODE('dske'),
+ kThemeSoundFinderDragOnIcon = FOUR_CHAR_CODE('fdon'),
+ kThemeSoundFinderDragOffIcon = FOUR_CHAR_CODE('fdof')
+};
+
+typedef OSType ThemeSoundKind;
+/*------------------------------------------------------------------------------------------*/
+/* Window Metrics */
+/*------------------------------------------------------------------------------------------*/
+/* Window metrics are used by the Appearance manager to fill in the blanks necessary to */
+/* draw windows. If a value is not appropriate for the type of window, be sure to fill in */
+/* the slot in the structure with zero. For the popupTabOffset parameter, you can pass a*/
+/* real value based on the left edge of the window. This value might be interpreted in a */
+/* different manner when depending on the value of the popupTabPosition field. The values */
+/* you can pass into popupTabPosition are: */
+/* */
+/* kThemePopupTabNormalPosition */
+/* Starts the tab left edge at the position indicated by the popupTabOffset field. */
+/* */
+/* kThemePopupTabCenterOnWindow */
+/* tells us to ignore the offset field and instead simply center the width of the */
+/* handle on the window. */
+/* */
+/* kThemePopupTabCenterOnOffset */
+/* tells us to center the width of the handle around the value passed in offset. */
+/* */
+/* The Appearance Manager will try its best to accomodate the requested placement, but may */
+/* move the handle slightly to make it fit correctly. */
+/* */
+enum {
+ kThemePopupTabNormalPosition = 0,
+ kThemePopupTabCenterOnWindow = 1,
+ kThemePopupTabCenterOnOffset = 2
+};
+
+struct ThemeWindowMetrics {
+ UInt16 metricSize; /* should be always be sizeof( ThemeWindowMetrics )*/
+ SInt16 titleHeight;
+ SInt16 titleWidth;
+ SInt16 popupTabOffset;
+ SInt16 popupTabWidth;
+ UInt16 popupTabPosition;
+};
+typedef struct ThemeWindowMetrics ThemeWindowMetrics;
+typedef ThemeWindowMetrics * ThemeWindowMetricsPtr;
+/*------------------------------------------------------------------------------------------*/
+/* Theme Metrics */
+/*------------------------------------------------------------------------------------------*/
+
+/*
+ * Discussion:
+ * Theme metrics allow you to find out sizes of things in the
+ * current environment, such as how wide a scroll bar is, etc.
+ */
+enum {
+
+ /*
+ * The width (or height if horizontal) of a scroll bar.
+ */
+ kThemeMetricScrollBarWidth = 0,
+
+ /*
+ * The width (or height if horizontal) of a small scroll bar.
+ */
+ kThemeMetricSmallScrollBarWidth = 1,
+
+ /*
+ * The height of the non-label part of a check box control.
+ */
+ kThemeMetricCheckBoxHeight = 2,
+
+ /*
+ * The height of the non-label part of a radio button control.
+ */
+ kThemeMetricRadioButtonHeight = 3,
+
+ /*
+ * The amount of white space surrounding the text Rect of the text
+ * inside of an Edit Text control. If you select all of the text in
+ * an Edit Text control, you can see the white space. The metric is
+ * the number of pixels, per side, that the text Rect is outset to
+ * create the whitespace Rect.
+ */
+ kThemeMetricEditTextWhitespace = 4,
+
+ /*
+ * The thickness of the Edit Text frame that surrounds the whitespace
+ * Rect (that is surrounding the text Rect). The metric is the number
+ * of pixels, per side, that the frame Rect is outset from the
+ * whitespace Rect.
+ */
+ kThemeMetricEditTextFrameOutset = 5,
+
+ /*
+ * The number of pixels that the list box frame is outset from the
+ * content of the list box.
+ */
+ kThemeMetricListBoxFrameOutset = 6,
+
+ /*
+ * This is a deprecated metric. Don't use it. It used to describe
+ * how far the focus rect used to draw from a control, but control
+ * focus drawing no longer uses this information to draw its focus.
+ */
+ kThemeMetricFocusRectOutset = 7,
+
+ /*
+ * The thickness of the frame drawn by DrawThemeGenericWell.
+ */
+ kThemeMetricImageWellThickness = 8,
+
+ /*
+ * The number of pixels a scrollbar should overlap (actually
+ * underlap) any bounding box which surrounds it and scrollable
+ * content. This also includes the window frame when a scrolbar is
+ * along an edge of the window.
+ */
+ kThemeMetricScrollBarOverlap = 9,
+
+ /*
+ * The height of the large tab of a tab control.
+ */
+ kThemeMetricLargeTabHeight = 10,
+
+ /*
+ * The width of the caps (end pieces) of the large tabs of a tab
+ * control.
+ */
+ kThemeMetricLargeTabCapsWidth = 11,
+
+ /*
+ * The amount to add to the tab height (kThemeMetricLargeTabHeight)
+ * to find out the rectangle height to use with the various Tab
+ * drawing primitives. This amount is also the amount that each tab
+ * overlaps the tab pane.
+ */
+ kThemeMetricTabFrameOverlap = 12,
+
+ /*
+ * If less than zero, this indicates that the text should be centered
+ * on each tab. If greater than zero, the text should be justified
+ * (according to the system script direction) and the amount is the
+ * offset from the appropriate edge at which the text should start
+ * drawing.
+ */
+ kThemeMetricTabIndentOrStyle = 13,
+
+ /*
+ * The amount of space that every tab's drawing rectangle overlaps
+ * the one on either side of it.
+ */
+ kThemeMetricTabOverlap = 14,
+
+ /*
+ * The height of the small tab of a tab control. This includes the
+ * pixels that overlap the tab pane and/or tab pane bar.
+ */
+ kThemeMetricSmallTabHeight = 15,
+
+ /*
+ * The width of the caps (end pieces) of the small tabs of a tab
+ * control.
+ */
+ kThemeMetricSmallTabCapsWidth = 16,
+
+ /*
+ * The height and the width of the push button control.
+ */
+ kThemeMetricPushButtonHeight = 19,
+
+ /*
+ * The height of the list header field of the data browser control.
+ */
+ kThemeMetricListHeaderHeight = 20,
+
+ /*
+ * The height of a disclosure triangle control. This triangle is the
+ * not the center of the disclosure button, but its own control.
+ */
+ kThemeMetricDisclosureTriangleHeight = 25,
+
+ /*
+ * The width of a disclosure triangle control.
+ */
+ kThemeMetricDisclosureTriangleWidth = 26,
+
+ /*
+ * The height of a little arrows control.
+ */
+ kThemeMetricLittleArrowsHeight = 27,
+
+ /*
+ * The width of a little arrows control.
+ */
+ kThemeMetricLittleArrowsWidth = 28,
+
+ /*
+ * The height of a popup button control.
+ */
+ kThemeMetricPopupButtonHeight = 30,
+
+ /*
+ * The height of a small popup button control.
+ */
+ kThemeMetricSmallPopupButtonHeight = 31,
+
+ /*
+ * The height of the large progress bar, not including its shadow.
+ */
+ kThemeMetricLargeProgressBarThickness = 32,
+
+ /*
+ * This metric is not used.
+ */
+ kThemeMetricPullDownHeight = 33,
+
+ /*
+ * This metric is not used.
+ */
+ kThemeMetricSmallPullDownHeight = 34,
+
+ /*
+ * The height of the window grow box control.
+ */
+ kThemeMetricResizeControlHeight = 38,
+
+ /*
+ * The width of the window grow box control.
+ */
+ kThemeMetricSmallResizeControlHeight = 39,
+
+ /*
+ * The height of the horizontal slider control.
+ */
+ kThemeMetricHSliderHeight = 41,
+
+ /*
+ * The height of the tick marks for a horizontal slider control.
+ */
+ kThemeMetricHSliderTickHeight = 42,
+
+ /*
+ * The width of the vertical slider control.
+ */
+ kThemeMetricVSliderWidth = 45,
+
+ /*
+ * The width of the tick marks for a vertical slider control.
+ */
+ kThemeMetricVSliderTickWidth = 46,
+
+ /*
+ * The height of the title bar widgets (grow, close, and zoom boxes)
+ * for a document window.
+ */
+ kThemeMetricTitleBarControlsHeight = 49,
+
+ /*
+ * The width of the non-label part of a check box control.
+ */
+ kThemeMetricCheckBoxWidth = 50,
+
+ /*
+ * The width of the non-label part of a radio button control.
+ */
+ kThemeMetricRadioButtonWidth = 52,
+
+ /*
+ * The height of the normal bar, not including its shadow.
+ */
+ kThemeMetricNormalProgressBarThickness = 58,
+
+ /*
+ * The number of pixels of shadow depth drawn below the progress bar.
+ */
+ kThemeMetricProgressBarShadowOutset = 59,
+
+ /*
+ * The number of pixels of shadow depth drawn below the small
+ * progress bar.
+ */
+ kThemeMetricSmallProgressBarShadowOutset = 60,
+
+ /*
+ * The number of pixels that the content of a primary group box is
+ * from the bounds of the control.
+ */
+ kThemeMetricPrimaryGroupBoxContentInset = 61,
+
+ /*
+ * The number of pixels that the content of a secondary group box is
+ * from the bounds of the control.
+ */
+ kThemeMetricSecondaryGroupBoxContentInset = 62,
+
+ /*
+ * Width allocated to draw the mark character in a menu.
+ */
+ kThemeMetricMenuMarkColumnWidth = 63,
+
+ /*
+ * Width allocated for the mark character in a menu item when the
+ * menu has kMenuAttrExcludesMarkColumn.
+ */
+ kThemeMetricMenuExcludedMarkColumnWidth = 64,
+
+ /*
+ * Indent into the interior of the mark column at which the mark
+ * character is drawn.
+ */
+ kThemeMetricMenuMarkIndent = 65,
+
+ /*
+ * Whitespace at the leading edge of menu item text.
+ */
+ kThemeMetricMenuTextLeadingEdgeMargin = 66,
+
+ /*
+ * Whitespace at the trailing edge of menu item text.
+ */
+ kThemeMetricMenuTextTrailingEdgeMargin = 67,
+
+ /*
+ * Width per indent level (set by SetMenuItemIndent) of a menu item.
+ */
+ kThemeMetricMenuIndentWidth = 68,
+
+ /*
+ * Whitespace at the trailing edge of a menu icon (if the item also
+ * has text).
+ */
+ kThemeMetricMenuIconTrailingEdgeMargin = 69
+};
+
+
+/*
+ * Discussion:
+ * The following metrics are only available in OS X.
+ */
+enum {
+
+ /*
+ * The height of a disclosure button.
+ */
+ kThemeMetricDisclosureButtonHeight = 17,
+
+ /*
+ * The height and the width of the round button control.
+ */
+ kThemeMetricRoundButtonSize = 18,
+
+ /*
+ * The height of the non-label part of a small check box control.
+ */
+ kThemeMetricSmallCheckBoxHeight = 21,
+
+ /*
+ * The width of a disclosure button.
+ */
+ kThemeMetricDisclosureButtonWidth = 22,
+
+ /*
+ * The height of a small disclosure button.
+ */
+ kThemeMetricSmallDisclosureButtonHeight = 23,
+
+ /*
+ * The width of a small disclosure button.
+ */
+ kThemeMetricSmallDisclosureButtonWidth = 24,
+
+ /*
+ * The height (or width if vertical) of a pane splitter.
+ */
+ kThemeMetricPaneSplitterHeight = 29,
+
+ /*
+ * The height of the small push button control.
+ */
+ kThemeMetricSmallPushButtonHeight = 35,
+
+ /*
+ * The height of the non-label part of a small radio button control.
+ */
+ kThemeMetricSmallRadioButtonHeight = 36,
+
+ /*
+ * The height of the relevance indicator control.
+ */
+ kThemeMetricRelevanceIndicatorHeight = 37,
+
+ /*
+ * The height and the width of the large round button control.
+ */
+ kThemeMetricLargeRoundButtonSize = 40,
+
+ /*
+ * The height of the small, horizontal slider control.
+ */
+ kThemeMetricSmallHSliderHeight = 43,
+
+ /*
+ * The height of the tick marks for a small, horizontal slider
+ * control.
+ */
+ kThemeMetricSmallHSliderTickHeight = 44,
+
+ /*
+ * The width of the small, vertical slider control.
+ */
+ kThemeMetricSmallVSliderWidth = 47,
+
+ /*
+ * The width of the tick marks for a small, vertical slider control.
+ */
+ kThemeMetricSmallVSliderTickWidth = 48,
+
+ /*
+ * The width of the non-label part of a small check box control.
+ */
+ kThemeMetricSmallCheckBoxWidth = 51,
+
+ /*
+ * The width of the non-label part of a small radio button control.
+ */
+ kThemeMetricSmallRadioButtonWidth = 53,
+
+ /*
+ * The minimum width of the thumb of a small, horizontal slider
+ * control.
+ */
+ kThemeMetricSmallHSliderMinThumbWidth = 54,
+
+ /*
+ * The minimum width of the thumb of a small, vertical slider control.
+ */
+ kThemeMetricSmallVSliderMinThumbHeight = 55,
+
+ /*
+ * The offset of the tick marks from the appropriate side of a small
+ * horizontal slider control.
+ */
+ kThemeMetricSmallHSliderTickOffset = 56,
+
+ /*
+ * The offset of the tick marks from the appropriate side of a small
+ * vertical slider control.
+ */
+ kThemeMetricSmallVSliderTickOffset = 57
+};
+
+typedef UInt32 ThemeMetric;
+/*------------------------------------------------------------------------------------------*/
+/* Drawing State */
+/*------------------------------------------------------------------------------------------*/
+typedef struct OpaqueThemeDrawingState* ThemeDrawingState;
+/*------------------------------------------------------------------------------------------*/
+/* Callback procs */
+/*------------------------------------------------------------------------------------------*/
+typedef CALLBACK_API( void , ThemeTabTitleDrawProcPtr )(const Rect *bounds, ThemeTabStyle style, ThemeTabDirection direction, SInt16 depth, Boolean isColorDev, UInt32 userData);
+typedef CALLBACK_API( void , ThemeEraseProcPtr )(const Rect *bounds, UInt32 eraseData, SInt16 depth, Boolean isColorDev);
+typedef CALLBACK_API( void , ThemeButtonDrawProcPtr )(const Rect *bounds, ThemeButtonKind kind, const ThemeButtonDrawInfo *info, UInt32 userData, SInt16 depth, Boolean isColorDev);
+typedef CALLBACK_API( void , WindowTitleDrawingProcPtr )(const Rect *bounds, SInt16 depth, Boolean colorDevice, UInt32 userData);
+typedef CALLBACK_API( Boolean , ThemeIteratorProcPtr )(ConstStr255Param inFileName, SInt16 resID, Collection inThemeSettings, void *inUserData);
+typedef STACK_UPP_TYPE(ThemeTabTitleDrawProcPtr) ThemeTabTitleDrawUPP;
+typedef STACK_UPP_TYPE(ThemeEraseProcPtr) ThemeEraseUPP;
+typedef STACK_UPP_TYPE(ThemeButtonDrawProcPtr) ThemeButtonDrawUPP;
+typedef STACK_UPP_TYPE(WindowTitleDrawingProcPtr) WindowTitleDrawingUPP;
+typedef STACK_UPP_TYPE(ThemeIteratorProcPtr) ThemeIteratorUPP;
+/*
+ * NewThemeTabTitleDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThemeTabTitleDrawUPP )
+NewThemeTabTitleDrawUPP(ThemeTabTitleDrawProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppThemeTabTitleDrawProcInfo = 0x00036AC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 2_bytes, 2_bytes, 1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ThemeTabTitleDrawUPP) NewThemeTabTitleDrawUPP(ThemeTabTitleDrawProcPtr userRoutine)
- {
- return (ThemeTabTitleDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeTabTitleDrawProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewThemeTabTitleDrawUPP(userRoutine) (ThemeTabTitleDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeTabTitleDrawProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppThemeTabTitleDrawProcInfo = 0x00036AC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 2_bytes, 2_bytes, 1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThemeTabTitleDrawUPP) NewThemeTabTitleDrawUPP(ThemeTabTitleDrawProcPtr userRoutine) { return (ThemeTabTitleDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeTabTitleDrawProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewThemeTabTitleDrawUPP(userRoutine) (ThemeTabTitleDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeTabTitleDrawProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewThemeEraseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThemeEraseUPP)
- NewThemeEraseUPP(ThemeEraseProcPtr userRoutine);
+/*
+ * NewThemeEraseUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThemeEraseUPP )
+NewThemeEraseUPP(ThemeEraseProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppThemeEraseProcInfo = 0x00001BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 1_byte) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ThemeEraseUPP) NewThemeEraseUPP(ThemeEraseProcPtr userRoutine)
- {
- return (ThemeEraseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeEraseProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewThemeEraseUPP(userRoutine) (ThemeEraseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeEraseProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppThemeEraseProcInfo = 0x00001BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 1_byte) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThemeEraseUPP) NewThemeEraseUPP(ThemeEraseProcPtr userRoutine) { return (ThemeEraseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeEraseProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewThemeEraseUPP(userRoutine) (ThemeEraseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeEraseProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewThemeButtonDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThemeButtonDrawUPP)
- NewThemeButtonDrawUPP(ThemeButtonDrawProcPtr userRoutine);
+/*
+ * NewThemeButtonDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThemeButtonDrawUPP )
+NewThemeButtonDrawUPP(ThemeButtonDrawProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppThemeButtonDrawProcInfo = 0x0001BEC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 2_bytes, 1_byte) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ThemeButtonDrawUPP) NewThemeButtonDrawUPP(ThemeButtonDrawProcPtr userRoutine)
- {
- return (ThemeButtonDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeButtonDrawProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewThemeButtonDrawUPP(userRoutine) (ThemeButtonDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeButtonDrawProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppThemeButtonDrawProcInfo = 0x0001BEC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 2_bytes, 1_byte) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThemeButtonDrawUPP) NewThemeButtonDrawUPP(ThemeButtonDrawProcPtr userRoutine) { return (ThemeButtonDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeButtonDrawProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewThemeButtonDrawUPP(userRoutine) (ThemeButtonDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeButtonDrawProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewWindowTitleDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowTitleDrawingUPP)
- NewWindowTitleDrawingUPP(WindowTitleDrawingProcPtr userRoutine);
+/*
+ * NewWindowTitleDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowTitleDrawingUPP )
+NewWindowTitleDrawingUPP(WindowTitleDrawingProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppWindowTitleDrawingProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(WindowTitleDrawingUPP) NewWindowTitleDrawingUPP(WindowTitleDrawingProcPtr userRoutine)
- {
- return (WindowTitleDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowTitleDrawingProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewWindowTitleDrawingUPP(userRoutine) (WindowTitleDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowTitleDrawingProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppWindowTitleDrawingProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(WindowTitleDrawingUPP) NewWindowTitleDrawingUPP(WindowTitleDrawingProcPtr userRoutine) { return (WindowTitleDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowTitleDrawingProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewWindowTitleDrawingUPP(userRoutine) (WindowTitleDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowTitleDrawingProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewThemeIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThemeIteratorUPP)
- NewThemeIteratorUPP(ThemeIteratorProcPtr userRoutine);
+/*
+ * NewThemeIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThemeIteratorUPP )
+NewThemeIteratorUPP(ThemeIteratorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppThemeIteratorProcInfo = 0x00003ED0 }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ThemeIteratorUPP) NewThemeIteratorUPP(ThemeIteratorProcPtr userRoutine)
- {
- return (ThemeIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeIteratorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewThemeIteratorUPP(userRoutine) (ThemeIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeIteratorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppThemeIteratorProcInfo = 0x00003ED0 }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThemeIteratorUPP) NewThemeIteratorUPP(ThemeIteratorProcPtr userRoutine) { return (ThemeIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeIteratorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewThemeIteratorUPP(userRoutine) (ThemeIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppThemeIteratorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeThemeTabTitleDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeThemeTabTitleDrawUPP(ThemeTabTitleDrawUPP userUPP);
+/*
+ * DisposeThemeTabTitleDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeThemeTabTitleDrawUPP(ThemeTabTitleDrawUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeThemeTabTitleDrawUPP(ThemeTabTitleDrawUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeThemeTabTitleDrawUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeThemeTabTitleDrawUPP(ThemeTabTitleDrawUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeThemeTabTitleDrawUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeThemeEraseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeThemeEraseUPP(ThemeEraseUPP userUPP);
+/*
+ * DisposeThemeEraseUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeThemeEraseUPP(ThemeEraseUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeThemeEraseUPP(ThemeEraseUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeThemeEraseUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeThemeEraseUPP(ThemeEraseUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeThemeEraseUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeThemeButtonDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeThemeButtonDrawUPP(ThemeButtonDrawUPP userUPP);
+/*
+ * DisposeThemeButtonDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeThemeButtonDrawUPP(ThemeButtonDrawUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeThemeButtonDrawUPP(ThemeButtonDrawUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeThemeButtonDrawUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeThemeButtonDrawUPP(ThemeButtonDrawUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeThemeButtonDrawUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeWindowTitleDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeWindowTitleDrawingUPP(WindowTitleDrawingUPP userUPP);
+/*
+ * DisposeWindowTitleDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeWindowTitleDrawingUPP(WindowTitleDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeWindowTitleDrawingUPP(WindowTitleDrawingUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeWindowTitleDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeWindowTitleDrawingUPP(WindowTitleDrawingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeWindowTitleDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeThemeIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeThemeIteratorUPP(ThemeIteratorUPP userUPP);
+/*
+ * DisposeThemeIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeThemeIteratorUPP(ThemeIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeThemeIteratorUPP(ThemeIteratorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeThemeIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeThemeIteratorUPP(ThemeIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeThemeIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeThemeTabTitleDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeThemeTabTitleDrawUPP(
- const Rect * bounds,
- ThemeTabStyle style,
- ThemeTabDirection direction,
- SInt16 depth,
- Boolean isColorDev,
- UInt32 userData,
- ThemeTabTitleDrawUPP userUPP);
+/*
+ * InvokeThemeTabTitleDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeThemeTabTitleDrawUPP(
+ const Rect * bounds,
+ ThemeTabStyle style,
+ ThemeTabDirection direction,
+ SInt16 depth,
+ Boolean isColorDev,
+ UInt32 userData,
+ ThemeTabTitleDrawUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeThemeTabTitleDrawUPP(const Rect * bounds, ThemeTabStyle style, ThemeTabDirection direction, SInt16 depth, Boolean isColorDev, UInt32 userData, ThemeTabTitleDrawUPP userUPP)
- {
- CALL_SIX_PARAMETER_UPP(userUPP, uppThemeTabTitleDrawProcInfo, bounds, style, direction, depth, isColorDev, userData);
- }
-#else
-#define InvokeThemeTabTitleDrawUPP(bounds, style, direction, depth, isColorDev, userData, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppThemeTabTitleDrawProcInfo, (bounds), (style), (direction), (depth), (isColorDev), (userData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeThemeTabTitleDrawUPP(const Rect * bounds, ThemeTabStyle style, ThemeTabDirection direction, SInt16 depth, Boolean isColorDev, UInt32 userData, ThemeTabTitleDrawUPP userUPP) { CALL_SIX_PARAMETER_UPP(userUPP, uppThemeTabTitleDrawProcInfo, bounds, style, direction, depth, isColorDev, userData); }
+ #else
+ #define InvokeThemeTabTitleDrawUPP(bounds, style, direction, depth, isColorDev, userData, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppThemeTabTitleDrawProcInfo, (bounds), (style), (direction), (depth), (isColorDev), (userData))
+ #endif
#endif
- /*
- * InvokeThemeEraseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeThemeEraseUPP(
- const Rect * bounds,
- UInt32 eraseData,
- SInt16 depth,
- Boolean isColorDev,
- ThemeEraseUPP userUPP);
+/*
+ * InvokeThemeEraseUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeThemeEraseUPP(
+ const Rect * bounds,
+ UInt32 eraseData,
+ SInt16 depth,
+ Boolean isColorDev,
+ ThemeEraseUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeThemeEraseUPP(const Rect * bounds, UInt32 eraseData, SInt16 depth, Boolean isColorDev, ThemeEraseUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppThemeEraseProcInfo, bounds, eraseData, depth, isColorDev);
- }
-#else
-#define InvokeThemeEraseUPP(bounds, eraseData, depth, isColorDev, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppThemeEraseProcInfo, (bounds), (eraseData), (depth), (isColorDev))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeThemeEraseUPP(const Rect * bounds, UInt32 eraseData, SInt16 depth, Boolean isColorDev, ThemeEraseUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppThemeEraseProcInfo, bounds, eraseData, depth, isColorDev); }
+ #else
+ #define InvokeThemeEraseUPP(bounds, eraseData, depth, isColorDev, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppThemeEraseProcInfo, (bounds), (eraseData), (depth), (isColorDev))
+ #endif
#endif
- /*
- * InvokeThemeButtonDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeThemeButtonDrawUPP(
- const Rect * bounds,
- ThemeButtonKind kind,
- const ThemeButtonDrawInfo * info,
- UInt32 userData,
- SInt16 depth,
- Boolean isColorDev,
- ThemeButtonDrawUPP userUPP);
+/*
+ * InvokeThemeButtonDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeThemeButtonDrawUPP(
+ const Rect * bounds,
+ ThemeButtonKind kind,
+ const ThemeButtonDrawInfo * info,
+ UInt32 userData,
+ SInt16 depth,
+ Boolean isColorDev,
+ ThemeButtonDrawUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeThemeButtonDrawUPP(const Rect * bounds, ThemeButtonKind kind, const ThemeButtonDrawInfo * info, UInt32 userData, SInt16 depth, Boolean isColorDev, ThemeButtonDrawUPP userUPP)
- {
- CALL_SIX_PARAMETER_UPP(userUPP, uppThemeButtonDrawProcInfo, bounds, kind, info, userData, depth, isColorDev);
- }
-#else
-#define InvokeThemeButtonDrawUPP(bounds, kind, info, userData, depth, isColorDev, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppThemeButtonDrawProcInfo, (bounds), (kind), (info), (userData), (depth), (isColorDev))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeThemeButtonDrawUPP(const Rect * bounds, ThemeButtonKind kind, const ThemeButtonDrawInfo * info, UInt32 userData, SInt16 depth, Boolean isColorDev, ThemeButtonDrawUPP userUPP) { CALL_SIX_PARAMETER_UPP(userUPP, uppThemeButtonDrawProcInfo, bounds, kind, info, userData, depth, isColorDev); }
+ #else
+ #define InvokeThemeButtonDrawUPP(bounds, kind, info, userData, depth, isColorDev, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppThemeButtonDrawProcInfo, (bounds), (kind), (info), (userData), (depth), (isColorDev))
+ #endif
#endif
- /*
- * InvokeWindowTitleDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeWindowTitleDrawingUPP(
- const Rect * bounds,
- SInt16 depth,
- Boolean colorDevice,
- UInt32 userData,
- WindowTitleDrawingUPP userUPP);
+/*
+ * InvokeWindowTitleDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeWindowTitleDrawingUPP(
+ const Rect * bounds,
+ SInt16 depth,
+ Boolean colorDevice,
+ UInt32 userData,
+ WindowTitleDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeWindowTitleDrawingUPP(const Rect * bounds, SInt16 depth, Boolean colorDevice, UInt32 userData, WindowTitleDrawingUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppWindowTitleDrawingProcInfo, bounds, depth, colorDevice, userData);
- }
-#else
-#define InvokeWindowTitleDrawingUPP(bounds, depth, colorDevice, userData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppWindowTitleDrawingProcInfo, (bounds), (depth), (colorDevice), (userData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeWindowTitleDrawingUPP(const Rect * bounds, SInt16 depth, Boolean colorDevice, UInt32 userData, WindowTitleDrawingUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppWindowTitleDrawingProcInfo, bounds, depth, colorDevice, userData); }
+ #else
+ #define InvokeWindowTitleDrawingUPP(bounds, depth, colorDevice, userData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppWindowTitleDrawingProcInfo, (bounds), (depth), (colorDevice), (userData))
+ #endif
#endif
- /*
- * InvokeThemeIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeThemeIteratorUPP(
- ConstStr255Param inFileName,
- SInt16 resID,
- Collection inThemeSettings,
- void * inUserData,
- ThemeIteratorUPP userUPP);
+/*
+ * InvokeThemeIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeThemeIteratorUPP(
+ ConstStr255Param inFileName,
+ SInt16 resID,
+ Collection inThemeSettings,
+ void * inUserData,
+ ThemeIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeThemeIteratorUPP(ConstStr255Param inFileName, SInt16 resID, Collection inThemeSettings, void * inUserData, ThemeIteratorUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppThemeIteratorProcInfo, inFileName, resID, inThemeSettings, inUserData);
- }
-#else
-#define InvokeThemeIteratorUPP(inFileName, resID, inThemeSettings, inUserData, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppThemeIteratorProcInfo, (inFileName), (resID), (inThemeSettings), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeThemeIteratorUPP(ConstStr255Param inFileName, SInt16 resID, Collection inThemeSettings, void * inUserData, ThemeIteratorUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppThemeIteratorProcInfo, inFileName, resID, inThemeSettings, inUserData); }
+ #else
+ #define InvokeThemeIteratorUPP(inFileName, resID, inThemeSettings, inUserData, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppThemeIteratorProcInfo, (inFileName), (resID), (inThemeSettings), (inUserData))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewThemeTabTitleDrawProc(userRoutine) NewThemeTabTitleDrawUPP(userRoutine)
-#define NewThemeEraseProc(userRoutine) NewThemeEraseUPP(userRoutine)
-#define NewThemeButtonDrawProc(userRoutine) NewThemeButtonDrawUPP(userRoutine)
-#define NewWindowTitleDrawingProc(userRoutine) NewWindowTitleDrawingUPP(userRoutine)
-#define NewThemeIteratorProc(userRoutine) NewThemeIteratorUPP(userRoutine)
-#define CallThemeTabTitleDrawProc(userRoutine, bounds, style, direction, depth, isColorDev, userData) InvokeThemeTabTitleDrawUPP(bounds, style, direction, depth, isColorDev, userData, userRoutine)
-#define CallThemeEraseProc(userRoutine, bounds, eraseData, depth, isColorDev) InvokeThemeEraseUPP(bounds, eraseData, depth, isColorDev, userRoutine)
-#define CallThemeButtonDrawProc(userRoutine, bounds, kind, info, userData, depth, isColorDev) InvokeThemeButtonDrawUPP(bounds, kind, info, userData, depth, isColorDev, userRoutine)
-#define CallWindowTitleDrawingProc(userRoutine, bounds, depth, colorDevice, userData) InvokeWindowTitleDrawingUPP(bounds, depth, colorDevice, userData, userRoutine)
-#define CallThemeIteratorProc(userRoutine, inFileName, resID, inThemeSettings, inUserData) InvokeThemeIteratorUPP(inFileName, resID, inThemeSettings, inUserData, userRoutine)
+ #define NewThemeTabTitleDrawProc(userRoutine) NewThemeTabTitleDrawUPP(userRoutine)
+ #define NewThemeEraseProc(userRoutine) NewThemeEraseUPP(userRoutine)
+ #define NewThemeButtonDrawProc(userRoutine) NewThemeButtonDrawUPP(userRoutine)
+ #define NewWindowTitleDrawingProc(userRoutine) NewWindowTitleDrawingUPP(userRoutine)
+ #define NewThemeIteratorProc(userRoutine) NewThemeIteratorUPP(userRoutine)
+ #define CallThemeTabTitleDrawProc(userRoutine, bounds, style, direction, depth, isColorDev, userData) InvokeThemeTabTitleDrawUPP(bounds, style, direction, depth, isColorDev, userData, userRoutine)
+ #define CallThemeEraseProc(userRoutine, bounds, eraseData, depth, isColorDev) InvokeThemeEraseUPP(bounds, eraseData, depth, isColorDev, userRoutine)
+ #define CallThemeButtonDrawProc(userRoutine, bounds, kind, info, userData, depth, isColorDev) InvokeThemeButtonDrawUPP(bounds, kind, info, userData, depth, isColorDev, userRoutine)
+ #define CallWindowTitleDrawingProc(userRoutine, bounds, depth, colorDevice, userData) InvokeWindowTitleDrawingUPP(bounds, depth, colorDevice, userData, userRoutine)
+ #define CallThemeIteratorProc(userRoutine, inFileName, resID, inThemeSettings, inUserData) InvokeThemeIteratorUPP(inFileName, resID, inThemeSettings, inUserData, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*----------------------------------------------------------------------------------*/
- /* Menu Drawing callbacks */
- /*----------------------------------------------------------------------------------*/
- typedef CALLBACK_API(void , MenuTitleDrawingProcPtr)(const Rect *inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData);
- typedef CALLBACK_API(void , MenuItemDrawingProcPtr)(const Rect *inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData);
- typedef STACK_UPP_TYPE(MenuTitleDrawingProcPtr) MenuTitleDrawingUPP;
- typedef STACK_UPP_TYPE(MenuItemDrawingProcPtr) MenuItemDrawingUPP;
- /*
- * NewMenuTitleDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MenuTitleDrawingUPP)
- NewMenuTitleDrawingUPP(MenuTitleDrawingProcPtr userRoutine);
+/*----------------------------------------------------------------------------------*/
+/* Menu Drawing callbacks */
+/*----------------------------------------------------------------------------------*/
+typedef CALLBACK_API( void , MenuTitleDrawingProcPtr )(const Rect *inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData);
+typedef CALLBACK_API( void , MenuItemDrawingProcPtr )(const Rect *inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData);
+typedef STACK_UPP_TYPE(MenuTitleDrawingProcPtr) MenuTitleDrawingUPP;
+typedef STACK_UPP_TYPE(MenuItemDrawingProcPtr) MenuItemDrawingUPP;
+/*
+ * NewMenuTitleDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MenuTitleDrawingUPP )
+NewMenuTitleDrawingUPP(MenuTitleDrawingProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMenuTitleDrawingProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MenuTitleDrawingUPP) NewMenuTitleDrawingUPP(MenuTitleDrawingProcPtr userRoutine)
- {
- return (MenuTitleDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuTitleDrawingProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMenuTitleDrawingUPP(userRoutine) (MenuTitleDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuTitleDrawingProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMenuTitleDrawingProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MenuTitleDrawingUPP) NewMenuTitleDrawingUPP(MenuTitleDrawingProcPtr userRoutine) { return (MenuTitleDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuTitleDrawingProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMenuTitleDrawingUPP(userRoutine) (MenuTitleDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuTitleDrawingProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMenuItemDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MenuItemDrawingUPP)
- NewMenuItemDrawingUPP(MenuItemDrawingProcPtr userRoutine);
+/*
+ * NewMenuItemDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MenuItemDrawingUPP )
+NewMenuItemDrawingUPP(MenuItemDrawingProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMenuItemDrawingProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MenuItemDrawingUPP) NewMenuItemDrawingUPP(MenuItemDrawingProcPtr userRoutine)
- {
- return (MenuItemDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuItemDrawingProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMenuItemDrawingUPP(userRoutine) (MenuItemDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuItemDrawingProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMenuItemDrawingProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MenuItemDrawingUPP) NewMenuItemDrawingUPP(MenuItemDrawingProcPtr userRoutine) { return (MenuItemDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuItemDrawingProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMenuItemDrawingUPP(userRoutine) (MenuItemDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuItemDrawingProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeMenuTitleDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMenuTitleDrawingUPP(MenuTitleDrawingUPP userUPP);
+/*
+ * DisposeMenuTitleDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMenuTitleDrawingUPP(MenuTitleDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMenuTitleDrawingUPP(MenuTitleDrawingUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMenuTitleDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMenuTitleDrawingUPP(MenuTitleDrawingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMenuTitleDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMenuItemDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMenuItemDrawingUPP(MenuItemDrawingUPP userUPP);
+/*
+ * DisposeMenuItemDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMenuItemDrawingUPP(MenuItemDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMenuItemDrawingUPP(MenuItemDrawingUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMenuItemDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMenuItemDrawingUPP(MenuItemDrawingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMenuItemDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeMenuTitleDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeMenuTitleDrawingUPP(
- const Rect * inBounds,
- SInt16 inDepth,
- Boolean inIsColorDevice,
- SInt32 inUserData,
- MenuTitleDrawingUPP userUPP);
+/*
+ * InvokeMenuTitleDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeMenuTitleDrawingUPP(
+ const Rect * inBounds,
+ SInt16 inDepth,
+ Boolean inIsColorDevice,
+ SInt32 inUserData,
+ MenuTitleDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeMenuTitleDrawingUPP(const Rect * inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData, MenuTitleDrawingUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppMenuTitleDrawingProcInfo, inBounds, inDepth, inIsColorDevice, inUserData);
- }
-#else
-#define InvokeMenuTitleDrawingUPP(inBounds, inDepth, inIsColorDevice, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppMenuTitleDrawingProcInfo, (inBounds), (inDepth), (inIsColorDevice), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeMenuTitleDrawingUPP(const Rect * inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData, MenuTitleDrawingUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppMenuTitleDrawingProcInfo, inBounds, inDepth, inIsColorDevice, inUserData); }
+ #else
+ #define InvokeMenuTitleDrawingUPP(inBounds, inDepth, inIsColorDevice, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppMenuTitleDrawingProcInfo, (inBounds), (inDepth), (inIsColorDevice), (inUserData))
+ #endif
#endif
- /*
- * InvokeMenuItemDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeMenuItemDrawingUPP(
- const Rect * inBounds,
- SInt16 inDepth,
- Boolean inIsColorDevice,
- SInt32 inUserData,
- MenuItemDrawingUPP userUPP);
+/*
+ * InvokeMenuItemDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeMenuItemDrawingUPP(
+ const Rect * inBounds,
+ SInt16 inDepth,
+ Boolean inIsColorDevice,
+ SInt32 inUserData,
+ MenuItemDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeMenuItemDrawingUPP(const Rect * inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData, MenuItemDrawingUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppMenuItemDrawingProcInfo, inBounds, inDepth, inIsColorDevice, inUserData);
- }
-#else
-#define InvokeMenuItemDrawingUPP(inBounds, inDepth, inIsColorDevice, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppMenuItemDrawingProcInfo, (inBounds), (inDepth), (inIsColorDevice), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeMenuItemDrawingUPP(const Rect * inBounds, SInt16 inDepth, Boolean inIsColorDevice, SInt32 inUserData, MenuItemDrawingUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppMenuItemDrawingProcInfo, inBounds, inDepth, inIsColorDevice, inUserData); }
+ #else
+ #define InvokeMenuItemDrawingUPP(inBounds, inDepth, inIsColorDevice, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppMenuItemDrawingProcInfo, (inBounds), (inDepth), (inIsColorDevice), (inUserData))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewMenuTitleDrawingProc(userRoutine) NewMenuTitleDrawingUPP(userRoutine)
-#define NewMenuItemDrawingProc(userRoutine) NewMenuItemDrawingUPP(userRoutine)
-#define CallMenuTitleDrawingProc(userRoutine, inBounds, inDepth, inIsColorDevice, inUserData) InvokeMenuTitleDrawingUPP(inBounds, inDepth, inIsColorDevice, inUserData, userRoutine)
-#define CallMenuItemDrawingProc(userRoutine, inBounds, inDepth, inIsColorDevice, inUserData) InvokeMenuItemDrawingUPP(inBounds, inDepth, inIsColorDevice, inUserData, userRoutine)
+ #define NewMenuTitleDrawingProc(userRoutine) NewMenuTitleDrawingUPP(userRoutine)
+ #define NewMenuItemDrawingProc(userRoutine) NewMenuItemDrawingUPP(userRoutine)
+ #define CallMenuTitleDrawingProc(userRoutine, inBounds, inDepth, inIsColorDevice, inUserData) InvokeMenuTitleDrawingUPP(inBounds, inDepth, inIsColorDevice, inUserData, userRoutine)
+ #define CallMenuItemDrawingProc(userRoutine, inBounds, inDepth, inIsColorDevice, inUserData) InvokeMenuItemDrawingUPP(inBounds, inDepth, inIsColorDevice, inUserData, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*----------------------------------------------------------------------------------*/
- /* Appearance Manager APIs */
- /*----------------------------------------------------------------------------------*/
- /* Registering Appearance-Savvy Applications */
- /*
- * RegisterAppearanceClient()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RegisterAppearanceClient(void) THREEWORDINLINE(0x303C, 0x0015, 0xAA74);
-
-
- /*
- * UnregisterAppearanceClient()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UnregisterAppearanceClient(void) THREEWORDINLINE(0x303C, 0x0016, 0xAA74);
-
-
- /*
- * IsAppearanceClient()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsAppearanceClient(const ProcessSerialNumber * process) THREEWORDINLINE(0x303C, 0xFFFF, 0xAA74);
-
-
- /*****************************************************************************
- NOTES ON THEME BRUSHES
- Theme brushes can be either colors or patterns, depending on the theme.
- Because of this, you should be prepared to handle the case where a brush
- is a pattern and save and restore the pnPixPat and bkPixPat fields of
- your GrafPorts when saving the fore and back colors. Also, since patterns
- in bkPixPat override the background color of the window, you should use
- BackPat to set your background pattern to a normal white pattern. This
- will ensure that you can use RGBBackColor to set your back color to white,
- call EraseRect and get the expected results.
- *****************************************************************************/
-
- /*
- * SetThemePen()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetThemePen(
- ThemeBrush inBrush,
- SInt16 inDepth,
- Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x0001, 0xAA74);
-
-
- /*
- * SetThemeBackground()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetThemeBackground(
- ThemeBrush inBrush,
- SInt16 inDepth,
- Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x0002, 0xAA74);
-
-
- /*
- * SetThemeTextColor()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetThemeTextColor(
- ThemeTextColor inColor,
- SInt16 inDepth,
- Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x0003, 0xAA74);
-
-
- /*
- * SetThemeWindowBackground()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetThemeWindowBackground(
- WindowRef inWindow,
- ThemeBrush inBrush,
- Boolean inUpdate) THREEWORDINLINE(0x303C, 0x0004, 0xAA74);
-
-
- /* Window Placards, Headers and Frames */
- /*
- * DrawThemeWindowHeader()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeWindowHeader(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0005, 0xAA74);
-
-
- /*
- * DrawThemeWindowListViewHeader()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeWindowListViewHeader(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0006, 0xAA74);
-
-
- /*
- * DrawThemePlacard()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemePlacard(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0007, 0xAA74);
-
-
- /*
- * DrawThemeEditTextFrame()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeEditTextFrame(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0009, 0xAA74);
-
-
- /*
- * DrawThemeListBoxFrame()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeListBoxFrame(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x000A, 0xAA74);
-
-
- /* Keyboard Focus Drawing */
- /*
- * DrawThemeFocusRect()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeFocusRect(
- const Rect * inRect,
- Boolean inHasFocus) THREEWORDINLINE(0x303C, 0x000B, 0xAA74);
-
-
- /* Dialog Group Boxes and Separators */
- /*
- * DrawThemePrimaryGroup()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemePrimaryGroup(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x000C, 0xAA74);
-
-
- /*
- * DrawThemeSecondaryGroup()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeSecondaryGroup(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x000D, 0xAA74);
-
-
- /*
- * DrawThemeSeparator()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeSeparator(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x000E, 0xAA74);
-
-
- /*------------------------------ BEGIN APPEARANCE 1.0.1 --------------------------------------------*/
- /* The following Appearance Manager APIs are only available */
- /* in Appearance 1.0.1 or later */
- /*
- * DrawThemeModelessDialogFrame()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeModelessDialogFrame(
- const Rect * inRect,
- ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0008, 0xAA74);
-
-
- /*
- * DrawThemeGenericWell()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeGenericWell(
- const Rect * inRect,
- ThemeDrawState inState,
- Boolean inFillCenter) THREEWORDINLINE(0x303C, 0x0022, 0xAA74);
-
-
- /*
- * DrawThemeFocusRegion()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeFocusRegion(
- RgnHandle inRegion,
- Boolean inHasFocus) THREEWORDINLINE(0x303C, 0x0023, 0xAA74);
-
-
- /*
- * IsThemeInColor()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsThemeInColor(
- SInt16 inDepth,
- Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x0024, 0xAA74);
-
-
- /* IMPORTANT: GetThemeAccentColors will only work in the platinum theme. Any other theme will */
- /* most likely return an error */
- /*
- * GetThemeAccentColors()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeAccentColors(CTabHandle * outColors) THREEWORDINLINE(0x303C, 0x0025, 0xAA74);
-
-
- /*
- * DrawThemeMenuBarBackground()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeMenuBarBackground(
- const Rect * inBounds,
- ThemeMenuBarState inState,
- UInt32 inAttributes) THREEWORDINLINE(0x303C, 0x0018, 0xAA74);
-
-
- /*
- * DrawThemeMenuTitle()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeMenuTitle(
- const Rect * inMenuBarRect,
- const Rect * inTitleRect,
- ThemeMenuState inState,
- UInt32 inAttributes,
- MenuTitleDrawingUPP inTitleProc, /* can be NULL */
- UInt32 inTitleData) THREEWORDINLINE(0x303C, 0x0019, 0xAA74);
-
-
-
- /*
- * GetThemeMenuBarHeight()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeMenuBarHeight(SInt16 * outHeight) THREEWORDINLINE(0x303C, 0x001A, 0xAA74);
-
-
- /*
- * DrawThemeMenuBackground()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeMenuBackground(
- const Rect * inMenuRect,
- ThemeMenuType inMenuType) THREEWORDINLINE(0x303C, 0x001B, 0xAA74);
-
-
- /*
- * GetThemeMenuBackgroundRegion()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeMenuBackgroundRegion(
- const Rect * inMenuRect,
- ThemeMenuType menuType,
- RgnHandle region) THREEWORDINLINE(0x303C, 0x001C, 0xAA74);
-
-
- /*
- * DrawThemeMenuItem()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeMenuItem(
- const Rect * inMenuRect,
- const Rect * inItemRect,
- SInt16 inVirtualMenuTop,
- SInt16 inVirtualMenuBottom,
- ThemeMenuState inState,
- ThemeMenuItemType inItemType,
- MenuItemDrawingUPP inDrawProc, /* can be NULL */
- UInt32 inUserData) THREEWORDINLINE(0x303C, 0x001D, 0xAA74);
-
-
- /*
- * DrawThemeMenuSeparator()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeMenuSeparator(const Rect * inItemRect) THREEWORDINLINE(0x303C, 0x001E, 0xAA74);
-
-
- /*
- * GetThemeMenuSeparatorHeight()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeMenuSeparatorHeight(SInt16 * outHeight) THREEWORDINLINE(0x303C, 0x001F, 0xAA74);
-
-
- /*
- * GetThemeMenuItemExtra()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeMenuItemExtra(
- ThemeMenuItemType inItemType,
- SInt16 * outHeight,
- SInt16 * outWidth) THREEWORDINLINE(0x303C, 0x0020, 0xAA74);
-
-
- /*
- * GetThemeMenuTitleExtra()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeMenuTitleExtra(
- SInt16 * outWidth,
- Boolean inIsSquished) THREEWORDINLINE(0x303C, 0x0021, 0xAA74);
-
-
- /*------------------------------- BEGIN APPEARANCE 1.1 ---------------------------------------------*/
- /*---------------------------------- THEME SWITCHING -----------------------------------------------*/
- /* */
- /* X ALERT: Please note that Get/SetTheme are severely neutered under Mac OS X at present. */
- /* See the note above regarding what collection tags are supported under X. */
-
- /*
- * GetTheme()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetTheme(Collection ioCollection);
-
-
- /*
- * SetTheme()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetTheme(Collection ioCollection);
-
-
- /*
- * IterateThemes()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- IterateThemes(
- ThemeIteratorUPP inProc,
- void * inUserData); /* can be NULL */
-
-
- /*---------------------------------------- TABS ----------------------------------------------------*/
- /*
- * DrawThemeTabPane()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeTabPane(
- const Rect * inRect,
- ThemeDrawState inState);
-
-
- /*
- * DrawThemeTab()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeTab(
- const Rect * inRect,
- ThemeTabStyle inStyle,
- ThemeTabDirection inDirection,
- ThemeTabTitleDrawUPP labelProc, /* can be NULL */
- UInt32 userData);
-
-
- /*
- * GetThemeTabRegion()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTabRegion(
- const Rect * inRect,
- ThemeTabStyle inStyle,
- ThemeTabDirection inDirection,
- RgnHandle ioRgn);
-
-
- /*--------------------------------------- CURSORS --------------------------------------------------*/
- /*
- * SetThemeCursor()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetThemeCursor(ThemeCursor inCursor);
-
-
- /*
- * SetAnimatedThemeCursor()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetAnimatedThemeCursor(
- ThemeCursor inCursor,
- UInt32 inAnimationStep);
-
-
- /*-------------------------------- CONTROL STYLE SETTINGS ------------------------------------------*/
- /*
- * GetThemeScrollBarThumbStyle()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeScrollBarThumbStyle(ThemeScrollBarThumbStyle * outStyle);
-
-
- /*
- * GetThemeScrollBarArrowStyle()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeScrollBarArrowStyle(ThemeScrollBarArrowStyle * outStyle);
-
-
- /*
- * GetThemeCheckBoxStyle()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeCheckBoxStyle(ThemeCheckBoxStyle * outStyle);
-
-
- /*---------------------------------------- FONTS/TEXT ----------------------------------------------*/
- /*
- * UseThemeFont()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UseThemeFont(
- ThemeFontID inFontID,
- ScriptCode inScript);
-
-
- /*
- * GetThemeFont()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeFont(
- ThemeFontID inFontID,
- ScriptCode inScript,
- Str255 outFontName, /* can be NULL */
- SInt16 * outFontSize,
- Style * outStyle);
-
-
- /*
- * DrawThemeTextBox()
- *
- * Summary:
- * Draws text into the area you specify.
- *
- * Discussion:
- * DrawThemeTextBox allows you to draw theme-savvy (ie. Aqua-savvy
- * on Mac OS X) text. It is unicode savvy (although only partially
- * so under CarbonLib), and allows you to customize certain text
- * rendering characteristics such as the font, wrapping behavior,
- * and justification. The text is drawn into the CGContextRef you
- * provide, or into the current Quickdraw port if no CGContextRef is
- * provided. None of DrawThemeTextBox's parameters imply a color, so
- * you must set up the desired text color separately before calling
- * DrawThemeTextBox. If you provide a CGContextRef, its fill color
- * will be used to draw the text. If you do not provide a
- * CGContextRef, a color based on the current Quickdraw port's
- * foreground color and the grayishTextOr mode (if set) will be used
- * to draw the text.
- *
- * Parameters:
- *
- * inString:
- * A CFStringRef containing the unicode characters you wish to
- * render. You MUST NOT pass in a CFStringRef that was allocated
- * with any of the "NoCopy" CFString creation APIs; a string
- * created with a "NoCopy" API has transient storage which is
- * incompatible with DrawThemeTextBox's caches.
- *
- * inFontID:
- * The ThemeFontID describing the font you'd like to render the
- * text with. See the discussion of ThemeFontIDs elsewhere in this
- * header.
- *
- * inState:
- * The ThemeDrawState describing the the state of the interface
- * element you are drawing the text for. If, for example, you are
- * drawing text for an inactive window, you would pass
- * kThemeStateInactive. The ThemeDrawState is generally only used
- * to determine the shadow characteristics for the text on Mac OS
- * X. Note that the ThemeDrawState does NOT imply a color. It is
- * NOT used as a mechanism for graying the text. If you wish to
- * draw grayed text, you must set up the desired gray color and
- * apply it to either the current Quickdraw port or the
- * CGContextRef as appropriate.
- *
- * inWrapToWidth:
- * A Boolean indicating whether you want to draw multiple lines of
- * text wrapped to a bounding box. False indicates that only one
- * line of text should be drawn without any sort of wrapping.
- *
- * inBoundingBox:
- * The rectangle (in coordinates relative to the current Quickdraw
- * port) describing the area to draw the text within. The first
- * line of text will be top-justified to this rectangle. Wrapping
- * (if desired) will happen at the horizontal extent of this
- * rectangle. Regardless of the amount of text in your
- * CFStringRef, all drawn text will be clipped to this rectangle.
- *
- * inJust:
- * The horizontal justification you would like for your text. You
- * can use one of the standard justification constants from
- * TextEdit.h.
- *
- * inContext:
- * The CGContextRef into which you would like to draw the text. On
- * Mac OS X, all text drawing happens in CGContextRefs; if you
- * pass NULL, a transient CGContextRef will be allocated and
- * deallocated for use within the single API call. Relying on the
- * system behavior if transiently createing CGContextRefs may
- * result in performance problems. On Mac OS 9, the CGContextRef
- * parameter is ignored.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeTextBox(
- CFStringRef inString,
- ThemeFontID inFontID,
- ThemeDrawState inState,
- Boolean inWrapToWidth,
- const Rect * inBoundingBox,
- SInt16 inJust,
- void * inContext);
-
-
- /*
- * TruncateThemeText()
- *
- * Summary:
- * Truncates text to fit within the width you specify.
- *
- * Discussion:
- * TruncateThemeText alters a unicode string to fit within a width
- * that you specify. It is unicode savvy (although only partially so
- * under CarbonLib), and makes its calculations (and any subsequent
- * string alteration) based on the font and state you specify. If
- * the string needs to be truncated, it will be reduced to the
- * maximum number of characters which (with the addition of an
- * ellipsis character) fits within the specified width.
- *
- * Parameters:
- *
- * inString:
- * A CFMutableStringRef containing the unicode characters you wish
- * to truncate. On output, inString may have been altered to fit
- * within the specified width. You MUST NOT pass in a CFStringRef
- * that was allocated with any of the "NoCopy" CFString creation
- * APIs (see note in DrawThemeTextBox above).
- *
- * inFontID:
- * The ThemeFontID to use for text measurements. See the
- * discussion of ThemeFontIDs elsewhere in this header.
- *
- * inState:
- * The ThemeDrawState which matches the state you will ultimately
- * render the string width. This may affect text measurement
- * during truncation, so you should be sure the value you pass to
- * TruncateThemeText matches the value you will eventually use for
- * drawing.
- *
- * inPixelWidthLimit:
- * The maximum width (in pixels) that the resulting truncated
- * string may have.
- *
- * inTruncWhere:
- * A TruncCode indicating where you would like truncation to occur.
- *
- * outTruncated:
- * On output, this Boolean value indicates whether the string was
- * truncated. True means the string was truncated. False means the
- * string was not (and did not need to be) truncated.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TruncateThemeText(
- CFMutableStringRef inString,
- ThemeFontID inFontID,
- ThemeDrawState inState,
- SInt16 inPixelWidthLimit,
- TruncCode inTruncWhere,
- Boolean * outTruncated); /* can be NULL */
-
-
- /*
- * GetThemeTextDimensions()
- *
- * Summary:
- * Tells you the height, width, and baseline for a string.
- *
- * Discussion:
- * GetThemeTextDimensions measures the given string using a font and
- * state you specify. It always reports the actual height and
- * baseline. It sometimes reports the actual width (see below). It
- * can measure a string that wraps. It is unicode savvy (although
- * only partially so under CarbonLib).
- *
- * Parameters:
- *
- * inString:
- * A CFStringRef containing the unicode characters you wish to
- * measure. You MUST NOT pass in a CFStringRef that was allocated
- * with any of the "NoCopy" CFString creation APIs (see note in
- * DrawThemeTextBox above).
- *
- * inFontID:
- * The ThemeFontID describing the font you'd like to measure the
- * text with. See the discussion of ThemeFontIDs elsewhere in this
- * header.
- *
- * inState:
- * The ThemeDrawState which matches the state you will ultimately
- * render the string width. This may affect text measurement, so
- * you should be sure the value you pass to TruncateThemeText
- * matches the value you will eventually use for drawing.
- *
- * inWrapToWidth:
- * A Boolean indicating whether you want the measurements based on
- * wrapping the text to a specific width. If you pass true, you
- * must specify the desired width in ioBounds->h.
- *
- * ioBounds:
- * On output, ioBounds->v contains the height of the text. If you
- * pass false to inWrapToWidth, ioBounds->h will contain the width
- * of the text on output. If you pass true to inWrapToWidth,
- * ioBounds->h must (on input) contain the desired width for
- * wrapping; on output, ioBounds->h contains the same value you
- * specified on input.
- *
- * outBaseline:
- * On output, outBaseline contains the offset (in Quickdraw space)
- * from the bottom edge of the last line of text to the baseline
- * of the first line of text. outBaseline will generally be a
- * negative value.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTextDimensions(
- CFStringRef inString,
- ThemeFontID inFontID,
- ThemeDrawState inState,
- Boolean inWrapToWidth,
- Point * ioBounds,
- SInt16 * outBaseline);
-
-
- /*
- * GetThemeTextShadowOutset()
- *
- * Summary:
- * Tells you the amount of space taken up by the shadow for a given
- * font/state combination.
- *
- * Discussion:
- * GetThemeTextShadowOutset passes back the maximum amount of space
- * the shadow will take up for text drawn in the specified font and
- * state. While GetThemeTextDimensions tells you how much space is
- * taken up by the character glyphs themselves, it does not
- * incorporate the font/state shadow into its calculations. If you
- * need to know how much total space including the shadow will be
- * taken up, call GetThemeTextDimensions followed by
- * GetThemeTextShadowOutset.
- *
- * Parameters:
- *
- * inFontID:
- * The ThemeFontID describing the font you'd like the shadow
- * characteristics of. Font and state both determine the amount of
- * shadow that will be used on rendered text. See the discussion
- * of ThemeFontIDs elsewhere in this header.
- *
- * inState:
- * The ThemeDrawState which matches the state you'd like the
- * shadow characteristics of. Font and state both determine the
- * amount of shadow that will be used on rendered text.
- *
- * outOutset:
- * On output, outOutset contains the amount of space the shadow
- * will take up beyond each edge of the text bounding rectangle
- * returned by GetThemeTextDimensions. The fields of outOutset
- * will either be positive values or zero.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTextShadowOutset(
- ThemeFontID inFontID,
- ThemeDrawState inState,
- Rect * outOutset);
-
-
- /*---------------------------------------- TRACKS --------------------------------------------------*/
- /*
- * DrawThemeTrack()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeTrack(
- const ThemeTrackDrawInfo * drawInfo,
- RgnHandle rgnGhost, /* can be NULL */
- ThemeEraseUPP eraseProc, /* can be NULL */
- UInt32 eraseData);
-
-
- /*
- * HitTestThemeTrack()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- HitTestThemeTrack(
- const ThemeTrackDrawInfo * drawInfo,
- Point mousePoint,
- ControlPartCode * partHit);
-
-
- /*
- * GetThemeTrackBounds()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTrackBounds(
- const ThemeTrackDrawInfo * drawInfo,
- Rect * bounds);
-
-
- /*
- * GetThemeTrackThumbRgn()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTrackThumbRgn(
- const ThemeTrackDrawInfo * drawInfo,
- RgnHandle thumbRgn);
-
-
- /*
- * GetThemeTrackDragRect()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTrackDragRect(
- const ThemeTrackDrawInfo * drawInfo,
- Rect * dragRect);
-
-
- /*
- * DrawThemeTrackTickMarks()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeTrackTickMarks(
- const ThemeTrackDrawInfo * drawInfo,
- ItemCount numTicks,
- ThemeEraseUPP eraseProc, /* can be NULL */
- UInt32 eraseData);
-
-
- /*
- * GetThemeTrackThumbPositionFromOffset()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTrackThumbPositionFromOffset(
- const ThemeTrackDrawInfo * drawInfo,
- Point thumbOffset,
- SInt32 * relativePosition);
-
-
- /*
- * GetThemeTrackThumbPositionFromRegion()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTrackThumbPositionFromRegion(
- const ThemeTrackDrawInfo * drawInfo,
- RgnHandle thumbRgn,
- SInt32 * relativePosition);
-
-
- /*
- * GetThemeTrackLiveValue()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTrackLiveValue(
- const ThemeTrackDrawInfo * drawInfo,
- SInt32 relativePosition,
- SInt32 * value);
-
-
- /*----------------------------------- SCROLLBAR ARROWS ---------------------------------------------*/
- /*
- * DrawThemeScrollBarArrows()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeScrollBarArrows(
- const Rect * bounds,
- ThemeTrackEnableState enableState,
- ThemeTrackPressState pressState,
- Boolean isHoriz,
- Rect * trackBounds);
-
-
- /*
- * GetThemeScrollBarTrackRect()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeScrollBarTrackRect(
- const Rect * bounds,
- ThemeTrackEnableState enableState,
- ThemeTrackPressState pressState,
- Boolean isHoriz,
- Rect * trackBounds);
-
-
- /*
- * HitTestThemeScrollBarArrows()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- HitTestThemeScrollBarArrows(
- const Rect * scrollBarBounds,
- ThemeTrackEnableState enableState,
- ThemeTrackPressState pressState,
- Boolean isHoriz,
- Point ptHit,
- Rect * trackBounds,
- ControlPartCode * partcode);
-
-
- /*---------------------------------------- WINDOWS -------------------------------------------------*/
- /*
- * GetThemeWindowRegion()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeWindowRegion(
- ThemeWindowType flavor,
- const Rect * contRect,
- ThemeDrawState state,
- const ThemeWindowMetrics * metrics,
- ThemeWindowAttributes attributes,
- WindowRegionCode winRegion,
- RgnHandle rgn);
-
-
- /*
- * DrawThemeWindowFrame()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeWindowFrame(
- ThemeWindowType flavor,
- const Rect * contRect,
- ThemeDrawState state,
- const ThemeWindowMetrics * metrics,
- ThemeWindowAttributes attributes,
- WindowTitleDrawingUPP titleProc, /* can be NULL */
- UInt32 titleData);
-
-
- /*
- * DrawThemeTitleBarWidget()
- *
- * Summary:
- * Draws the requested theme title bar widget.
- *
- * Discussion:
- * DrawThemeTitleBarWidget renders the requested theme title bar
- * widget in the proper location of a window. A common
- * misconception when using this API is that the client must specify
- * the exact location of the widget in the window. The widget will
- * locate itself in the window based relative to the content rect
- * passed in content rectangle -- the contRect parameter. Another
- * common problem is to ignore the window's attributes. The
- * attributes must be set up properly to describe the window for
- * which the widget is to be drawn.
- *
- * Parameters:
- *
- * flavor:
- * A valid ThemeWindowtype describing the type of theme window for
- * which you would like to draw a widget.
- *
- * contRect:
- * A rectangle describing the window's content area. The widget
- * is drawn relative to the content rectangle of the window, so
- * this parameter does not describe the actual widget bounds, it
- * describes the window's content rectangle.
- *
- * state:
- * A valid ThemeDrawState which describes the state of the window
- * for which the widget is to be drawn.
- *
- * metrics:
- * A pointer to a set of valid ThemeWindowMetrics. At this time,
- * none of the fields of the metrics are pertinent to the widgets,
- * so the only important field is the metricSize field to mark the
- * structure as valid.
- *
- * attributes:
- * A valid ThemeWindowAttributes set which describes the window
- * for which the widget is to be drawn.
- *
- * widget:
- * A valid ThemeTitleBarWidget set which describes which widget to
- * draw.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeTitleBarWidget(
- ThemeWindowType flavor,
- const Rect * contRect,
- ThemeDrawState state,
- const ThemeWindowMetrics * metrics,
- ThemeWindowAttributes attributes,
- ThemeTitleBarWidget widget);
-
-
- /*
- * GetThemeWindowRegionHit()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- GetThemeWindowRegionHit(
- ThemeWindowType flavor,
- const Rect * inContRect,
- ThemeDrawState state,
- const ThemeWindowMetrics * metrics,
- ThemeWindowAttributes inAttributes,
- Point inPoint,
- WindowRegionCode * outRegionHit);
-
-
- /*
- * DrawThemeScrollBarDelimiters()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeScrollBarDelimiters(
- ThemeWindowType flavor,
- const Rect * inContRect,
- ThemeDrawState state,
- ThemeWindowAttributes attributes);
-
-
-
- /*---------------------------------------- BUTTONS -------------------------------------------------*/
- /*
- * DrawThemeButton()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeButton(
- const Rect * inBounds,
- ThemeButtonKind inKind,
- const ThemeButtonDrawInfo * inNewInfo,
- const ThemeButtonDrawInfo * inPrevInfo, /* can be NULL */
- ThemeEraseUPP inEraseProc, /* can be NULL */
- ThemeButtonDrawUPP inLabelProc, /* can be NULL */
- UInt32 inUserData);
-
-
- /*
- * GetThemeButtonRegion()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeButtonRegion(
- const Rect * inBounds,
- ThemeButtonKind inKind,
- const ThemeButtonDrawInfo * inNewInfo,
- RgnHandle outRegion);
-
-
- /*
- * GetThemeButtonContentBounds()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeButtonContentBounds(
- const Rect * inBounds,
- ThemeButtonKind inKind,
- const ThemeButtonDrawInfo * inDrawInfo,
- Rect * outBounds);
-
-
- /*
- * GetThemeButtonBackgroundBounds()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeButtonBackgroundBounds(
- const Rect * inBounds,
- ThemeButtonKind inKind,
- const ThemeButtonDrawInfo * inDrawInfo,
- Rect * outBounds);
-
-
-
- /*------------------------------------- INTERFACE SOUNDS -------------------------------------------*/
- /* */
- /* X ALERT: Please note that the sound APIs do not work on Mac OS X at present. */
- /*
- * PlayThemeSound()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PlayThemeSound(ThemeSoundKind kind) THREEWORDINLINE(0x303C, 0x0026, 0xAA74);
-
-
- /*
- * BeginThemeDragSound()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- BeginThemeDragSound(ThemeDragSoundKind kind) THREEWORDINLINE(0x303C, 0x0027, 0xAA74);
-
-
- /*
- * EndThemeDragSound()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- EndThemeDragSound(void) THREEWORDINLINE(0x303C, 0x0028, 0xAA74);
-
-
- /*-------------------------------------- PRIMITIVES ------------------------------------------------*/
- /*
- * DrawThemeTickMark()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeTickMark(
- const Rect * bounds,
- ThemeDrawState state);
-
-
- /*
- * DrawThemeChasingArrows()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeChasingArrows(
- const Rect * bounds,
- UInt32 index,
- ThemeDrawState state,
- ThemeEraseUPP eraseProc, /* can be NULL */
- UInt32 eraseData);
-
-
- /*
- * DrawThemePopupArrow()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemePopupArrow(
- const Rect * bounds,
- ThemeArrowOrientation orientation,
- ThemePopupArrowSize size,
- ThemeDrawState state,
- ThemeEraseUPP eraseProc, /* can be NULL */
- UInt32 eraseData);
-
-
- /*
- * DrawThemeStandaloneGrowBox()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeStandaloneGrowBox(
- Point origin,
- ThemeGrowDirection growDirection,
- Boolean isSmall,
- ThemeDrawState state);
-
-
- /*
- * DrawThemeStandaloneNoGrowBox()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DrawThemeStandaloneNoGrowBox(
- Point origin,
- ThemeGrowDirection growDirection,
- Boolean isSmall,
- ThemeDrawState state);
-
-
- /*
- * GetThemeStandaloneGrowBoxBounds()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeStandaloneGrowBoxBounds(
- Point origin,
- ThemeGrowDirection growDirection,
- Boolean isSmall,
- Rect * bounds);
-
-
- /*------------------------------------- DRAWING STATE ----------------------------------------------*/
- /* The following routines help you save and restore the drawing state in a theme-savvy manner. With */
- /* these weapons in your arsenal, there is no grafport you cannot tame. Use ThemeGetDrawingState to */
- /* get the current drawing settings for the current port. It will return an opaque object for you */
- /* to pass into SetThemeDrawingState later on. When you are finished with the state, call the */
- /* DisposeThemeDrawingState routine. You can alternatively pass true into the inDisposeNow */
- /* parameter of the SetThemeDrawingState routine. You can use this routine to copy the drawing */
- /* state from one port to another as well. */
- /* */
- /* As of this writing (Mac OS 9.1 and Mac OS X), Get/SetThemeDrawingState will save and restore */
- /* this data in the port: */
- /* */
- /* pen size */
- /* pen location */
- /* pen mode */
- /* pen Pattern and PixPat */
- /* background Pattern and PixPat */
- /* RGB foreground and background colors */
- /* text mode */
- /* pattern origin */
- /* */
- /* Get/SetThemeDrawingState may save and restore additional port state in the future, but you can */
- /* rely on them to always save at least this port state. */
- /*
- * NormalizeThemeDrawingState()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NormalizeThemeDrawingState(void);
-
-
- /*
- * GetThemeDrawingState()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeDrawingState(ThemeDrawingState * outState);
-
-
- /*
- * SetThemeDrawingState()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetThemeDrawingState(
- ThemeDrawingState inState,
- Boolean inDisposeNow);
-
-
- /*
- * DisposeThemeDrawingState()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DisposeThemeDrawingState(ThemeDrawingState inState);
-
-
- /*------------------------------------- MISCELLANEOUS ----------------------------------------------*/
- /* ApplyThemeBackground is used to set up the background for embedded controls */
- /* It is normally called by controls that are embedders. The standard controls */
- /* call this API to ensure a correct background for the current theme. You pass */
- /* in the same rectangle you would if you were calling the drawing primitive. */
- /*
- * ApplyThemeBackground()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ApplyThemeBackground(
- ThemeBackgroundKind inKind,
- const Rect * bounds,
- ThemeDrawState inState,
- SInt16 inDepth,
- Boolean inColorDev);
-
-
- /*
- * SetThemeTextColorForWindow()
- *
- * Summary:
- * Sets a text color which contrasts with a theme brush.
- *
- * Discussion:
- * SetThemeTextColorForWindow sets a text color in the specified
- * window's port which contrasts with the specified brush and also
- * matches the inActive parameter. Only a subset of the theme
- * brushes have theme text colors: currently (as of Mac OS 9 and Mac
- * OS X 10.1), the Alert, Dialog, ModelessDialog, and Notification
- * brushes have corresponding text colors. For any other brush,
- * SetThemeTextColorForWindow returns themeNoAppropriateBrushErr and
- * does not modify the text color.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose text color to change.
- *
- * inActive:
- * Whether the text color should indicate an active or inactive
- * state.
- *
- * inDepth:
- * The bit depth of the window's port.
- *
- * inColorDev:
- * Whether the window's port is color or black&white.
- *
- * Result:
- * An operating system result code, including
- * themeNoAppropriateBrushErr if the specified theme brush does not
- * have a corresponding theme text color.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetThemeTextColorForWindow(
- WindowRef inWindow,
- Boolean inActive,
- SInt16 inDepth,
- Boolean inColorDev);
-
-
- /*
- * IsValidAppearanceFileType()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsValidAppearanceFileType(OSType fileType);
-
-
- /*
- * GetThemeBrushAsColor()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeBrushAsColor(
- ThemeBrush inBrush,
- SInt16 inDepth,
- Boolean inColorDev,
- RGBColor * outColor);
-
-
- /*
- * GetThemeTextColor()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeTextColor(
- ThemeTextColor inColor,
- SInt16 inDepth,
- Boolean inColorDev,
- RGBColor * outColor);
-
-
- /*--------------------------------------- BEGIN CARBON ---------------------------------------------*/
- /*
- * GetThemeMetric()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetThemeMetric(
- ThemeMetric inMetric,
- SInt32 * outMetric);
-
-
- /*
- * CopyThemeIdentifier()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- CopyThemeIdentifier(CFStringRef * outIdentifier);
-
-
- /*--------------------------------------------------------------------------------------------------*/
- /* Obsolete symbolic names */
- /*--------------------------------------------------------------------------------------------------*/
- /* Obsolete error codes - use the new ones, s'il vous plait / kudasai */
- enum
- {
- appearanceBadBrushIndexErr = themeInvalidBrushErr, /* pattern index invalid */
- appearanceProcessRegisteredErr = themeProcessRegisteredErr,
- appearanceProcessNotRegisteredErr = themeProcessNotRegisteredErr,
- appearanceBadTextColorIndexErr = themeBadTextColorErr,
- appearanceThemeHasNoAccents = themeHasNoAccentsErr,
- appearanceBadCursorIndexErr = themeBadCursorIndexErr
- };
-
- enum
- {
- kThemeActiveDialogBackgroundBrush = kThemeBrushDialogBackgroundActive,
- kThemeInactiveDialogBackgroundBrush = kThemeBrushDialogBackgroundInactive,
- kThemeActiveAlertBackgroundBrush = kThemeBrushAlertBackgroundActive,
- kThemeInactiveAlertBackgroundBrush = kThemeBrushAlertBackgroundInactive,
- kThemeActiveModelessDialogBackgroundBrush = kThemeBrushModelessDialogBackgroundActive,
- kThemeInactiveModelessDialogBackgroundBrush = kThemeBrushModelessDialogBackgroundInactive,
- kThemeActiveUtilityWindowBackgroundBrush = kThemeBrushUtilityWindowBackgroundActive,
- kThemeInactiveUtilityWindowBackgroundBrush = kThemeBrushUtilityWindowBackgroundInactive,
- kThemeListViewSortColumnBackgroundBrush = kThemeBrushListViewSortColumnBackground,
- kThemeListViewBackgroundBrush = kThemeBrushListViewBackground,
- kThemeIconLabelBackgroundBrush = kThemeBrushIconLabelBackground,
- kThemeListViewSeparatorBrush = kThemeBrushListViewSeparator,
- kThemeChasingArrowsBrush = kThemeBrushChasingArrows,
- kThemeDragHiliteBrush = kThemeBrushDragHilite,
- kThemeDocumentWindowBackgroundBrush = kThemeBrushDocumentWindowBackground,
- kThemeFinderWindowBackgroundBrush = kThemeBrushFinderWindowBackground
- };
-
- enum
- {
- kThemeActiveScrollBarDelimiterBrush = kThemeBrushScrollBarDelimiterActive,
- kThemeInactiveScrollBarDelimiterBrush = kThemeBrushScrollBarDelimiterInactive,
- kThemeFocusHighlightBrush = kThemeBrushFocusHighlight,
- kThemeActivePopupArrowBrush = kThemeBrushPopupArrowActive,
- kThemePressedPopupArrowBrush = kThemeBrushPopupArrowPressed,
- kThemeInactivePopupArrowBrush = kThemeBrushPopupArrowInactive,
- kThemeAppleGuideCoachmarkBrush = kThemeBrushAppleGuideCoachmark
- };
-
- enum
- {
- kThemeActiveDialogTextColor = kThemeTextColorDialogActive,
- kThemeInactiveDialogTextColor = kThemeTextColorDialogInactive,
- kThemeActiveAlertTextColor = kThemeTextColorAlertActive,
- kThemeInactiveAlertTextColor = kThemeTextColorAlertInactive,
- kThemeActiveModelessDialogTextColor = kThemeTextColorModelessDialogActive,
- kThemeInactiveModelessDialogTextColor = kThemeTextColorModelessDialogInactive,
- kThemeActiveWindowHeaderTextColor = kThemeTextColorWindowHeaderActive,
- kThemeInactiveWindowHeaderTextColor = kThemeTextColorWindowHeaderInactive,
- kThemeActivePlacardTextColor = kThemeTextColorPlacardActive,
- kThemeInactivePlacardTextColor = kThemeTextColorPlacardInactive,
- kThemePressedPlacardTextColor = kThemeTextColorPlacardPressed,
- kThemeActivePushButtonTextColor = kThemeTextColorPushButtonActive,
- kThemeInactivePushButtonTextColor = kThemeTextColorPushButtonInactive,
- kThemePressedPushButtonTextColor = kThemeTextColorPushButtonPressed,
- kThemeActiveBevelButtonTextColor = kThemeTextColorBevelButtonActive,
- kThemeInactiveBevelButtonTextColor = kThemeTextColorBevelButtonInactive,
- kThemePressedBevelButtonTextColor = kThemeTextColorBevelButtonPressed,
- kThemeActivePopupButtonTextColor = kThemeTextColorPopupButtonActive,
- kThemeInactivePopupButtonTextColor = kThemeTextColorPopupButtonInactive,
- kThemePressedPopupButtonTextColor = kThemeTextColorPopupButtonPressed,
- kThemeIconLabelTextColor = kThemeTextColorIconLabel,
- kThemeListViewTextColor = kThemeTextColorListView
- };
-
- enum
- {
- kThemeActiveDocumentWindowTitleTextColor = kThemeTextColorDocumentWindowTitleActive,
- kThemeInactiveDocumentWindowTitleTextColor = kThemeTextColorDocumentWindowTitleInactive,
- kThemeActiveMovableModalWindowTitleTextColor = kThemeTextColorMovableModalWindowTitleActive,
- kThemeInactiveMovableModalWindowTitleTextColor = kThemeTextColorMovableModalWindowTitleInactive,
- kThemeActiveUtilityWindowTitleTextColor = kThemeTextColorUtilityWindowTitleActive,
- kThemeInactiveUtilityWindowTitleTextColor = kThemeTextColorUtilityWindowTitleInactive,
- kThemeActivePopupWindowTitleColor = kThemeTextColorPopupWindowTitleActive,
- kThemeInactivePopupWindowTitleColor = kThemeTextColorPopupWindowTitleInactive,
- kThemeActiveRootMenuTextColor = kThemeTextColorRootMenuActive,
- kThemeSelectedRootMenuTextColor = kThemeTextColorRootMenuSelected,
- kThemeDisabledRootMenuTextColor = kThemeTextColorRootMenuDisabled,
- kThemeActiveMenuItemTextColor = kThemeTextColorMenuItemActive,
- kThemeSelectedMenuItemTextColor = kThemeTextColorMenuItemSelected,
- kThemeDisabledMenuItemTextColor = kThemeTextColorMenuItemDisabled,
- kThemeActivePopupLabelTextColor = kThemeTextColorPopupLabelActive,
- kThemeInactivePopupLabelTextColor = kThemeTextColorPopupLabelInactive
- };
-
- enum
- {
- kAEThemeSwitch = kAEAppearanceChanged /* Event ID's: Theme Switched */
- };
-
- enum
- {
- kThemeNoAdornment = kThemeAdornmentNone,
- kThemeDefaultAdornment = kThemeAdornmentDefault,
- kThemeFocusAdornment = kThemeAdornmentFocus,
- kThemeRightToLeftAdornment = kThemeAdornmentRightToLeft,
- kThemeDrawIndicatorOnly = kThemeAdornmentDrawIndicatorOnly
- };
-
- enum
- {
- kThemeBrushPassiveAreaFill = kThemeBrushStaticAreaFill
- };
-
- enum
- {
- kThemeMetricCheckBoxGlyphHeight = kThemeMetricCheckBoxHeight,
- kThemeMetricRadioButtonGlyphHeight = kThemeMetricRadioButtonHeight,
- kThemeMetricDisclosureButtonSize = kThemeMetricDisclosureButtonHeight,
- kThemeMetricBestListHeaderHeight = kThemeMetricListHeaderHeight,
- kThemeMetricSmallProgressBarThickness = kThemeMetricNormalProgressBarThickness, /* obsolete */
- kThemeMetricProgressBarThickness = kThemeMetricLargeProgressBarThickness /* obsolete */
- };
-
- enum
- {
- kThemeScrollBar = kThemeMediumScrollBar,
- kThemeSlider = kThemeMediumSlider,
- kThemeProgressBar = kThemeMediumProgressBar,
- kThemeIndeterminateBar = kThemeMediumIndeterminateBar
- };
+/*----------------------------------------------------------------------------------*/
+/* Appearance Manager APIs */
+/*----------------------------------------------------------------------------------*/
+/* Registering Appearance-Savvy Applications */
+/*
+ * RegisterAppearanceClient()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RegisterAppearanceClient(void) THREEWORDINLINE(0x303C, 0x0015, 0xAA74);
+
+
+/*
+ * UnregisterAppearanceClient()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UnregisterAppearanceClient(void) THREEWORDINLINE(0x303C, 0x0016, 0xAA74);
+
+
+/*
+ * IsAppearanceClient()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsAppearanceClient(const ProcessSerialNumber * process) THREEWORDINLINE(0x303C, 0xFFFF, 0xAA74);
+
+
+/*****************************************************************************
+ NOTES ON THEME BRUSHES
+ Theme brushes can be either colors or patterns, depending on the theme.
+ Because of this, you should be prepared to handle the case where a brush
+ is a pattern and save and restore the pnPixPat and bkPixPat fields of
+ your GrafPorts when saving the fore and back colors. Also, since patterns
+ in bkPixPat override the background color of the window, you should use
+ BackPat to set your background pattern to a normal white pattern. This
+ will ensure that you can use RGBBackColor to set your back color to white,
+ call EraseRect and get the expected results.
+*****************************************************************************/
+
+/*
+ * SetThemePen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetThemePen(
+ ThemeBrush inBrush,
+ SInt16 inDepth,
+ Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x0001, 0xAA74);
+
+
+/*
+ * SetThemeBackground()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetThemeBackground(
+ ThemeBrush inBrush,
+ SInt16 inDepth,
+ Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x0002, 0xAA74);
+
+
+/*
+ * SetThemeTextColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetThemeTextColor(
+ ThemeTextColor inColor,
+ SInt16 inDepth,
+ Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x0003, 0xAA74);
+
+
+/*
+ * SetThemeWindowBackground()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetThemeWindowBackground(
+ WindowRef inWindow,
+ ThemeBrush inBrush,
+ Boolean inUpdate) THREEWORDINLINE(0x303C, 0x0004, 0xAA74);
+
+
+/* Window Placards, Headers and Frames */
+/*
+ * DrawThemeWindowHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeWindowHeader(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0005, 0xAA74);
+
+
+/*
+ * DrawThemeWindowListViewHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeWindowListViewHeader(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0006, 0xAA74);
+
+
+/*
+ * DrawThemePlacard()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemePlacard(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0007, 0xAA74);
+
+
+/*
+ * DrawThemeEditTextFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeEditTextFrame(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0009, 0xAA74);
+
+
+/*
+ * DrawThemeListBoxFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeListBoxFrame(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x000A, 0xAA74);
+
+
+/* Keyboard Focus Drawing */
+/*
+ * DrawThemeFocusRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeFocusRect(
+ const Rect * inRect,
+ Boolean inHasFocus) THREEWORDINLINE(0x303C, 0x000B, 0xAA74);
+
+
+/* Dialog Group Boxes and Separators */
+/*
+ * DrawThemePrimaryGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemePrimaryGroup(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x000C, 0xAA74);
+
+
+/*
+ * DrawThemeSecondaryGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeSecondaryGroup(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x000D, 0xAA74);
+
+
+/*
+ * DrawThemeSeparator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeSeparator(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x000E, 0xAA74);
+
+
+/*------------------------------ BEGIN APPEARANCE 1.0.1 --------------------------------------------*/
+/* The following Appearance Manager APIs are only available */
+/* in Appearance 1.0.1 or later */
+/*
+ * DrawThemeModelessDialogFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeModelessDialogFrame(
+ const Rect * inRect,
+ ThemeDrawState inState) THREEWORDINLINE(0x303C, 0x0008, 0xAA74);
+
+
+/*
+ * DrawThemeGenericWell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeGenericWell(
+ const Rect * inRect,
+ ThemeDrawState inState,
+ Boolean inFillCenter) THREEWORDINLINE(0x303C, 0x0022, 0xAA74);
+
+
+/*
+ * DrawThemeFocusRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeFocusRegion(
+ RgnHandle inRegion,
+ Boolean inHasFocus) THREEWORDINLINE(0x303C, 0x0023, 0xAA74);
+
+
+/*
+ * IsThemeInColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsThemeInColor(
+ SInt16 inDepth,
+ Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x0024, 0xAA74);
+
+
+/* IMPORTANT: GetThemeAccentColors will only work in the platinum theme. Any other theme will */
+/* most likely return an error */
+/*
+ * GetThemeAccentColors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeAccentColors(CTabHandle * outColors) THREEWORDINLINE(0x303C, 0x0025, 0xAA74);
+
+
+/*
+ * DrawThemeMenuBarBackground()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeMenuBarBackground(
+ const Rect * inBounds,
+ ThemeMenuBarState inState,
+ UInt32 inAttributes) THREEWORDINLINE(0x303C, 0x0018, 0xAA74);
+
+
+/*
+ * DrawThemeMenuTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeMenuTitle(
+ const Rect * inMenuBarRect,
+ const Rect * inTitleRect,
+ ThemeMenuState inState,
+ UInt32 inAttributes,
+ MenuTitleDrawingUPP inTitleProc, /* can be NULL */
+ UInt32 inTitleData) THREEWORDINLINE(0x303C, 0x0019, 0xAA74);
+
+
+
+/*
+ * GetThemeMenuBarHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeMenuBarHeight(SInt16 * outHeight) THREEWORDINLINE(0x303C, 0x001A, 0xAA74);
+
+
+/*
+ * DrawThemeMenuBackground()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeMenuBackground(
+ const Rect * inMenuRect,
+ ThemeMenuType inMenuType) THREEWORDINLINE(0x303C, 0x001B, 0xAA74);
+
+
+/*
+ * GetThemeMenuBackgroundRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeMenuBackgroundRegion(
+ const Rect * inMenuRect,
+ ThemeMenuType menuType,
+ RgnHandle region) THREEWORDINLINE(0x303C, 0x001C, 0xAA74);
+
+
+/*
+ * DrawThemeMenuItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeMenuItem(
+ const Rect * inMenuRect,
+ const Rect * inItemRect,
+ SInt16 inVirtualMenuTop,
+ SInt16 inVirtualMenuBottom,
+ ThemeMenuState inState,
+ ThemeMenuItemType inItemType,
+ MenuItemDrawingUPP inDrawProc, /* can be NULL */
+ UInt32 inUserData) THREEWORDINLINE(0x303C, 0x001D, 0xAA74);
+
+
+/*
+ * DrawThemeMenuSeparator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeMenuSeparator(const Rect * inItemRect) THREEWORDINLINE(0x303C, 0x001E, 0xAA74);
+
+
+/*
+ * GetThemeMenuSeparatorHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeMenuSeparatorHeight(SInt16 * outHeight) THREEWORDINLINE(0x303C, 0x001F, 0xAA74);
+
+
+/*
+ * GetThemeMenuItemExtra()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeMenuItemExtra(
+ ThemeMenuItemType inItemType,
+ SInt16 * outHeight,
+ SInt16 * outWidth) THREEWORDINLINE(0x303C, 0x0020, 0xAA74);
+
+
+/*
+ * GetThemeMenuTitleExtra()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeMenuTitleExtra(
+ SInt16 * outWidth,
+ Boolean inIsSquished) THREEWORDINLINE(0x303C, 0x0021, 0xAA74);
+
+
+/*------------------------------- BEGIN APPEARANCE 1.1 ---------------------------------------------*/
+/*---------------------------------- THEME SWITCHING -----------------------------------------------*/
+/* */
+/* X ALERT: Please note that Get/SetTheme are severely neutered under Mac OS X at present. */
+/* See the note above regarding what collection tags are supported under X. */
+
+/*
+ * GetTheme()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetTheme(Collection ioCollection);
+
+
+/*
+ * SetTheme()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetTheme(Collection ioCollection);
+
+
+/*
+ * IterateThemes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+IterateThemes(
+ ThemeIteratorUPP inProc,
+ void * inUserData); /* can be NULL */
+
+
+/*---------------------------------------- TABS ----------------------------------------------------*/
+/*
+ * DrawThemeTabPane()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeTabPane(
+ const Rect * inRect,
+ ThemeDrawState inState);
+
+
+/*
+ * DrawThemeTab()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeTab(
+ const Rect * inRect,
+ ThemeTabStyle inStyle,
+ ThemeTabDirection inDirection,
+ ThemeTabTitleDrawUPP labelProc, /* can be NULL */
+ UInt32 userData);
+
+
+/*
+ * GetThemeTabRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTabRegion(
+ const Rect * inRect,
+ ThemeTabStyle inStyle,
+ ThemeTabDirection inDirection,
+ RgnHandle ioRgn);
+
+
+/*--------------------------------------- CURSORS --------------------------------------------------*/
+/*
+ * SetThemeCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetThemeCursor(ThemeCursor inCursor);
+
+
+/*
+ * SetAnimatedThemeCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetAnimatedThemeCursor(
+ ThemeCursor inCursor,
+ UInt32 inAnimationStep);
+
+
+/*-------------------------------- CONTROL STYLE SETTINGS ------------------------------------------*/
+/*
+ * GetThemeScrollBarThumbStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeScrollBarThumbStyle(ThemeScrollBarThumbStyle * outStyle);
+
+
+/*
+ * GetThemeScrollBarArrowStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeScrollBarArrowStyle(ThemeScrollBarArrowStyle * outStyle);
+
+
+/*
+ * GetThemeCheckBoxStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeCheckBoxStyle(ThemeCheckBoxStyle * outStyle);
+
+
+/*---------------------------------------- FONTS/TEXT ----------------------------------------------*/
+/*
+ * UseThemeFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UseThemeFont(
+ ThemeFontID inFontID,
+ ScriptCode inScript);
+
+
+/*
+ * GetThemeFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeFont(
+ ThemeFontID inFontID,
+ ScriptCode inScript,
+ Str255 outFontName, /* can be NULL */
+ SInt16 * outFontSize,
+ Style * outStyle);
+
+
+/*
+ * DrawThemeTextBox()
+ *
+ * Summary:
+ * Draws text into the area you specify.
+ *
+ * Discussion:
+ * DrawThemeTextBox allows you to draw theme-savvy (ie. Aqua-savvy
+ * on Mac OS X) text. It is unicode savvy (although only partially
+ * so under CarbonLib), and allows you to customize certain text
+ * rendering characteristics such as the font, wrapping behavior,
+ * and justification. The text is drawn into the CGContextRef you
+ * provide, or into the current Quickdraw port if no CGContextRef is
+ * provided. None of DrawThemeTextBox's parameters imply a color, so
+ * you must set up the desired text color separately before calling
+ * DrawThemeTextBox. If you provide a CGContextRef, its fill color
+ * will be used to draw the text. If you do not provide a
+ * CGContextRef, a color based on the current Quickdraw port's
+ * foreground color and the grayishTextOr mode (if set) will be used
+ * to draw the text.
+ *
+ * Parameters:
+ *
+ * inString:
+ * A CFStringRef containing the unicode characters you wish to
+ * render. You MUST NOT pass in a CFStringRef that was allocated
+ * with any of the "NoCopy" CFString creation APIs; a string
+ * created with a "NoCopy" API has transient storage which is
+ * incompatible with DrawThemeTextBox's caches.
+ *
+ * inFontID:
+ * The ThemeFontID describing the font you'd like to render the
+ * text with. See the discussion of ThemeFontIDs elsewhere in this
+ * header.
+ *
+ * inState:
+ * The ThemeDrawState describing the the state of the interface
+ * element you are drawing the text for. If, for example, you are
+ * drawing text for an inactive window, you would pass
+ * kThemeStateInactive. The ThemeDrawState is generally only used
+ * to determine the shadow characteristics for the text on Mac OS
+ * X. Note that the ThemeDrawState does NOT imply a color. It is
+ * NOT used as a mechanism for graying the text. If you wish to
+ * draw grayed text, you must set up the desired gray color and
+ * apply it to either the current Quickdraw port or the
+ * CGContextRef as appropriate.
+ *
+ * inWrapToWidth:
+ * A Boolean indicating whether you want to draw multiple lines of
+ * text wrapped to a bounding box. False indicates that only one
+ * line of text should be drawn without any sort of wrapping.
+ *
+ * inBoundingBox:
+ * The rectangle (in coordinates relative to the current Quickdraw
+ * port) describing the area to draw the text within. The first
+ * line of text will be top-justified to this rectangle. Wrapping
+ * (if desired) will happen at the horizontal extent of this
+ * rectangle. Regardless of the amount of text in your
+ * CFStringRef, all drawn text will be clipped to this rectangle.
+ *
+ * inJust:
+ * The horizontal justification you would like for your text. You
+ * can use one of the standard justification constants from
+ * TextEdit.h.
+ *
+ * inContext:
+ * The CGContextRef into which you would like to draw the text. On
+ * Mac OS X, all text drawing happens in CGContextRefs; if you
+ * pass NULL, a transient CGContextRef will be allocated and
+ * deallocated for use within the single API call. Relying on the
+ * system behavior if transiently createing CGContextRefs may
+ * result in performance problems. On Mac OS 9, the CGContextRef
+ * parameter is ignored.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeTextBox(
+ CFStringRef inString,
+ ThemeFontID inFontID,
+ ThemeDrawState inState,
+ Boolean inWrapToWidth,
+ const Rect * inBoundingBox,
+ SInt16 inJust,
+ void * inContext);
+
+
+/*
+ * TruncateThemeText()
+ *
+ * Summary:
+ * Truncates text to fit within the width you specify.
+ *
+ * Discussion:
+ * TruncateThemeText alters a unicode string to fit within a width
+ * that you specify. It is unicode savvy (although only partially so
+ * under CarbonLib), and makes its calculations (and any subsequent
+ * string alteration) based on the font and state you specify. If
+ * the string needs to be truncated, it will be reduced to the
+ * maximum number of characters which (with the addition of an
+ * ellipsis character) fits within the specified width.
+ *
+ * Parameters:
+ *
+ * inString:
+ * A CFMutableStringRef containing the unicode characters you wish
+ * to truncate. On output, inString may have been altered to fit
+ * within the specified width. You MUST NOT pass in a CFStringRef
+ * that was allocated with any of the "NoCopy" CFString creation
+ * APIs (see note in DrawThemeTextBox above).
+ *
+ * inFontID:
+ * The ThemeFontID to use for text measurements. See the
+ * discussion of ThemeFontIDs elsewhere in this header.
+ *
+ * inState:
+ * The ThemeDrawState which matches the state you will ultimately
+ * render the string width. This may affect text measurement
+ * during truncation, so you should be sure the value you pass to
+ * TruncateThemeText matches the value you will eventually use for
+ * drawing.
+ *
+ * inPixelWidthLimit:
+ * The maximum width (in pixels) that the resulting truncated
+ * string may have.
+ *
+ * inTruncWhere:
+ * A TruncCode indicating where you would like truncation to occur.
+ *
+ * outTruncated:
+ * On output, this Boolean value indicates whether the string was
+ * truncated. True means the string was truncated. False means the
+ * string was not (and did not need to be) truncated.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TruncateThemeText(
+ CFMutableStringRef inString,
+ ThemeFontID inFontID,
+ ThemeDrawState inState,
+ SInt16 inPixelWidthLimit,
+ TruncCode inTruncWhere,
+ Boolean * outTruncated); /* can be NULL */
+
+
+/*
+ * GetThemeTextDimensions()
+ *
+ * Summary:
+ * Tells you the height, width, and baseline for a string.
+ *
+ * Discussion:
+ * GetThemeTextDimensions measures the given string using a font and
+ * state you specify. It always reports the actual height and
+ * baseline. It sometimes reports the actual width (see below). It
+ * can measure a string that wraps. It is unicode savvy (although
+ * only partially so under CarbonLib).
+ *
+ * Parameters:
+ *
+ * inString:
+ * A CFStringRef containing the unicode characters you wish to
+ * measure. You MUST NOT pass in a CFStringRef that was allocated
+ * with any of the "NoCopy" CFString creation APIs (see note in
+ * DrawThemeTextBox above).
+ *
+ * inFontID:
+ * The ThemeFontID describing the font you'd like to measure the
+ * text with. See the discussion of ThemeFontIDs elsewhere in this
+ * header.
+ *
+ * inState:
+ * The ThemeDrawState which matches the state you will ultimately
+ * render the string width. This may affect text measurement, so
+ * you should be sure the value you pass to TruncateThemeText
+ * matches the value you will eventually use for drawing.
+ *
+ * inWrapToWidth:
+ * A Boolean indicating whether you want the measurements based on
+ * wrapping the text to a specific width. If you pass true, you
+ * must specify the desired width in ioBounds->h.
+ *
+ * ioBounds:
+ * On output, ioBounds->v contains the height of the text. If you
+ * pass false to inWrapToWidth, ioBounds->h will contain the width
+ * of the text on output. If you pass true to inWrapToWidth,
+ * ioBounds->h must (on input) contain the desired width for
+ * wrapping; on output, ioBounds->h contains the same value you
+ * specified on input.
+ *
+ * outBaseline:
+ * On output, outBaseline contains the offset (in Quickdraw space)
+ * from the bottom edge of the last line of text to the baseline
+ * of the first line of text. outBaseline will generally be a
+ * negative value.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTextDimensions(
+ CFStringRef inString,
+ ThemeFontID inFontID,
+ ThemeDrawState inState,
+ Boolean inWrapToWidth,
+ Point * ioBounds,
+ SInt16 * outBaseline);
+
+
+/*
+ * GetThemeTextShadowOutset()
+ *
+ * Summary:
+ * Tells you the amount of space taken up by the shadow for a given
+ * font/state combination.
+ *
+ * Discussion:
+ * GetThemeTextShadowOutset passes back the maximum amount of space
+ * the shadow will take up for text drawn in the specified font and
+ * state. While GetThemeTextDimensions tells you how much space is
+ * taken up by the character glyphs themselves, it does not
+ * incorporate the font/state shadow into its calculations. If you
+ * need to know how much total space including the shadow will be
+ * taken up, call GetThemeTextDimensions followed by
+ * GetThemeTextShadowOutset.
+ *
+ * Parameters:
+ *
+ * inFontID:
+ * The ThemeFontID describing the font you'd like the shadow
+ * characteristics of. Font and state both determine the amount of
+ * shadow that will be used on rendered text. See the discussion
+ * of ThemeFontIDs elsewhere in this header.
+ *
+ * inState:
+ * The ThemeDrawState which matches the state you'd like the
+ * shadow characteristics of. Font and state both determine the
+ * amount of shadow that will be used on rendered text.
+ *
+ * outOutset:
+ * On output, outOutset contains the amount of space the shadow
+ * will take up beyond each edge of the text bounding rectangle
+ * returned by GetThemeTextDimensions. The fields of outOutset
+ * will either be positive values or zero.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTextShadowOutset(
+ ThemeFontID inFontID,
+ ThemeDrawState inState,
+ Rect * outOutset);
+
+
+/*---------------------------------------- TRACKS --------------------------------------------------*/
+/*
+ * DrawThemeTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeTrack(
+ const ThemeTrackDrawInfo * drawInfo,
+ RgnHandle rgnGhost, /* can be NULL */
+ ThemeEraseUPP eraseProc, /* can be NULL */
+ UInt32 eraseData);
+
+
+/*
+ * HitTestThemeTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+HitTestThemeTrack(
+ const ThemeTrackDrawInfo * drawInfo,
+ Point mousePoint,
+ ControlPartCode * partHit);
+
+
+/*
+ * GetThemeTrackBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTrackBounds(
+ const ThemeTrackDrawInfo * drawInfo,
+ Rect * bounds);
+
+
+/*
+ * GetThemeTrackThumbRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTrackThumbRgn(
+ const ThemeTrackDrawInfo * drawInfo,
+ RgnHandle thumbRgn);
+
+
+/*
+ * GetThemeTrackDragRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTrackDragRect(
+ const ThemeTrackDrawInfo * drawInfo,
+ Rect * dragRect);
+
+
+/*
+ * DrawThemeTrackTickMarks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeTrackTickMarks(
+ const ThemeTrackDrawInfo * drawInfo,
+ ItemCount numTicks,
+ ThemeEraseUPP eraseProc, /* can be NULL */
+ UInt32 eraseData);
+
+
+/*
+ * GetThemeTrackThumbPositionFromOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTrackThumbPositionFromOffset(
+ const ThemeTrackDrawInfo * drawInfo,
+ Point thumbOffset,
+ SInt32 * relativePosition);
+
+
+/*
+ * GetThemeTrackThumbPositionFromRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTrackThumbPositionFromRegion(
+ const ThemeTrackDrawInfo * drawInfo,
+ RgnHandle thumbRgn,
+ SInt32 * relativePosition);
+
+
+/*
+ * GetThemeTrackLiveValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTrackLiveValue(
+ const ThemeTrackDrawInfo * drawInfo,
+ SInt32 relativePosition,
+ SInt32 * value);
+
+
+/*----------------------------------- SCROLLBAR ARROWS ---------------------------------------------*/
+/*
+ * DrawThemeScrollBarArrows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeScrollBarArrows(
+ const Rect * bounds,
+ ThemeTrackEnableState enableState,
+ ThemeTrackPressState pressState,
+ Boolean isHoriz,
+ Rect * trackBounds);
+
+
+/*
+ * GetThemeScrollBarTrackRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeScrollBarTrackRect(
+ const Rect * bounds,
+ ThemeTrackEnableState enableState,
+ ThemeTrackPressState pressState,
+ Boolean isHoriz,
+ Rect * trackBounds);
+
+
+/*
+ * HitTestThemeScrollBarArrows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+HitTestThemeScrollBarArrows(
+ const Rect * scrollBarBounds,
+ ThemeTrackEnableState enableState,
+ ThemeTrackPressState pressState,
+ Boolean isHoriz,
+ Point ptHit,
+ Rect * trackBounds,
+ ControlPartCode * partcode);
+
+
+/*---------------------------------------- WINDOWS -------------------------------------------------*/
+/*
+ * GetThemeWindowRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeWindowRegion(
+ ThemeWindowType flavor,
+ const Rect * contRect,
+ ThemeDrawState state,
+ const ThemeWindowMetrics * metrics,
+ ThemeWindowAttributes attributes,
+ WindowRegionCode winRegion,
+ RgnHandle rgn);
+
+
+/*
+ * DrawThemeWindowFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeWindowFrame(
+ ThemeWindowType flavor,
+ const Rect * contRect,
+ ThemeDrawState state,
+ const ThemeWindowMetrics * metrics,
+ ThemeWindowAttributes attributes,
+ WindowTitleDrawingUPP titleProc, /* can be NULL */
+ UInt32 titleData);
+
+
+/*
+ * DrawThemeTitleBarWidget()
+ *
+ * Summary:
+ * Draws the requested theme title bar widget.
+ *
+ * Discussion:
+ * DrawThemeTitleBarWidget renders the requested theme title bar
+ * widget in the proper location of a window. A common
+ * misconception when using this API is that the client must specify
+ * the exact location of the widget in the window. The widget will
+ * locate itself in the window based relative to the content rect
+ * passed in content rectangle -- the contRect parameter. Another
+ * common problem is to ignore the window's attributes. The
+ * attributes must be set up properly to describe the window for
+ * which the widget is to be drawn.
+ *
+ * Parameters:
+ *
+ * flavor:
+ * A valid ThemeWindowtype describing the type of theme window for
+ * which you would like to draw a widget.
+ *
+ * contRect:
+ * A rectangle describing the window's content area. The widget
+ * is drawn relative to the content rectangle of the window, so
+ * this parameter does not describe the actual widget bounds, it
+ * describes the window's content rectangle.
+ *
+ * state:
+ * A valid ThemeDrawState which describes the state of the window
+ * for which the widget is to be drawn.
+ *
+ * metrics:
+ * A pointer to a set of valid ThemeWindowMetrics. At this time,
+ * none of the fields of the metrics are pertinent to the widgets,
+ * so the only important field is the metricSize field to mark the
+ * structure as valid.
+ *
+ * attributes:
+ * A valid ThemeWindowAttributes set which describes the window
+ * for which the widget is to be drawn.
+ *
+ * widget:
+ * A valid ThemeTitleBarWidget set which describes which widget to
+ * draw.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeTitleBarWidget(
+ ThemeWindowType flavor,
+ const Rect * contRect,
+ ThemeDrawState state,
+ const ThemeWindowMetrics * metrics,
+ ThemeWindowAttributes attributes,
+ ThemeTitleBarWidget widget);
+
+
+/*
+ * GetThemeWindowRegionHit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetThemeWindowRegionHit(
+ ThemeWindowType flavor,
+ const Rect * inContRect,
+ ThemeDrawState state,
+ const ThemeWindowMetrics * metrics,
+ ThemeWindowAttributes inAttributes,
+ Point inPoint,
+ WindowRegionCode * outRegionHit);
+
+
+/*
+ * DrawThemeScrollBarDelimiters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeScrollBarDelimiters(
+ ThemeWindowType flavor,
+ const Rect * inContRect,
+ ThemeDrawState state,
+ ThemeWindowAttributes attributes);
+
+
+
+/*---------------------------------------- BUTTONS -------------------------------------------------*/
+/*
+ * DrawThemeButton()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeButton(
+ const Rect * inBounds,
+ ThemeButtonKind inKind,
+ const ThemeButtonDrawInfo * inNewInfo,
+ const ThemeButtonDrawInfo * inPrevInfo, /* can be NULL */
+ ThemeEraseUPP inEraseProc, /* can be NULL */
+ ThemeButtonDrawUPP inLabelProc, /* can be NULL */
+ UInt32 inUserData);
+
+
+/*
+ * GetThemeButtonRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeButtonRegion(
+ const Rect * inBounds,
+ ThemeButtonKind inKind,
+ const ThemeButtonDrawInfo * inNewInfo,
+ RgnHandle outRegion);
+
+
+/*
+ * GetThemeButtonContentBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeButtonContentBounds(
+ const Rect * inBounds,
+ ThemeButtonKind inKind,
+ const ThemeButtonDrawInfo * inDrawInfo,
+ Rect * outBounds);
+
+
+/*
+ * GetThemeButtonBackgroundBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeButtonBackgroundBounds(
+ const Rect * inBounds,
+ ThemeButtonKind inKind,
+ const ThemeButtonDrawInfo * inDrawInfo,
+ Rect * outBounds);
+
+
+
+/*------------------------------------- INTERFACE SOUNDS -------------------------------------------*/
+/* */
+/* X ALERT: Please note that the sound APIs do not work on Mac OS X at present. */
+/*
+ * PlayThemeSound()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PlayThemeSound(ThemeSoundKind kind) THREEWORDINLINE(0x303C, 0x0026, 0xAA74);
+
+
+/*
+ * BeginThemeDragSound()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+BeginThemeDragSound(ThemeDragSoundKind kind) THREEWORDINLINE(0x303C, 0x0027, 0xAA74);
+
+
+/*
+ * EndThemeDragSound()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+EndThemeDragSound(void) THREEWORDINLINE(0x303C, 0x0028, 0xAA74);
+
+
+/*-------------------------------------- PRIMITIVES ------------------------------------------------*/
+/*
+ * DrawThemeTickMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeTickMark(
+ const Rect * bounds,
+ ThemeDrawState state);
+
+
+/*
+ * DrawThemeChasingArrows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeChasingArrows(
+ const Rect * bounds,
+ UInt32 index,
+ ThemeDrawState state,
+ ThemeEraseUPP eraseProc, /* can be NULL */
+ UInt32 eraseData);
+
+
+/*
+ * DrawThemePopupArrow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemePopupArrow(
+ const Rect * bounds,
+ ThemeArrowOrientation orientation,
+ ThemePopupArrowSize size,
+ ThemeDrawState state,
+ ThemeEraseUPP eraseProc, /* can be NULL */
+ UInt32 eraseData);
+
+
+/*
+ * DrawThemeStandaloneGrowBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeStandaloneGrowBox(
+ Point origin,
+ ThemeGrowDirection growDirection,
+ Boolean isSmall,
+ ThemeDrawState state);
+
+
+/*
+ * DrawThemeStandaloneNoGrowBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DrawThemeStandaloneNoGrowBox(
+ Point origin,
+ ThemeGrowDirection growDirection,
+ Boolean isSmall,
+ ThemeDrawState state);
+
+
+/*
+ * GetThemeStandaloneGrowBoxBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeStandaloneGrowBoxBounds(
+ Point origin,
+ ThemeGrowDirection growDirection,
+ Boolean isSmall,
+ Rect * bounds);
+
+
+/*------------------------------------- DRAWING STATE ----------------------------------------------*/
+/* The following routines help you save and restore the drawing state in a theme-savvy manner. With */
+/* these weapons in your arsenal, there is no grafport you cannot tame. Use ThemeGetDrawingState to */
+/* get the current drawing settings for the current port. It will return an opaque object for you */
+/* to pass into SetThemeDrawingState later on. When you are finished with the state, call the */
+/* DisposeThemeDrawingState routine. You can alternatively pass true into the inDisposeNow */
+/* parameter of the SetThemeDrawingState routine. You can use this routine to copy the drawing */
+/* state from one port to another as well. */
+/* */
+/* As of this writing (Mac OS 9.1 and Mac OS X), Get/SetThemeDrawingState will save and restore */
+/* this data in the port: */
+/* */
+/* pen size */
+/* pen location */
+/* pen mode */
+/* pen Pattern and PixPat */
+/* background Pattern and PixPat */
+/* RGB foreground and background colors */
+/* text mode */
+/* pattern origin */
+/* */
+/* Get/SetThemeDrawingState may save and restore additional port state in the future, but you can */
+/* rely on them to always save at least this port state. */
+/*
+ * NormalizeThemeDrawingState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NormalizeThemeDrawingState(void);
+
+
+/*
+ * GetThemeDrawingState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeDrawingState(ThemeDrawingState * outState);
+
+
+/*
+ * SetThemeDrawingState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetThemeDrawingState(
+ ThemeDrawingState inState,
+ Boolean inDisposeNow);
+
+
+/*
+ * DisposeThemeDrawingState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DisposeThemeDrawingState(ThemeDrawingState inState);
+
+
+/*------------------------------------- MISCELLANEOUS ----------------------------------------------*/
+/* ApplyThemeBackground is used to set up the background for embedded controls */
+/* It is normally called by controls that are embedders. The standard controls */
+/* call this API to ensure a correct background for the current theme. You pass */
+/* in the same rectangle you would if you were calling the drawing primitive. */
+/*
+ * ApplyThemeBackground()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ApplyThemeBackground(
+ ThemeBackgroundKind inKind,
+ const Rect * bounds,
+ ThemeDrawState inState,
+ SInt16 inDepth,
+ Boolean inColorDev);
+
+
+/*
+ * SetThemeTextColorForWindow()
+ *
+ * Summary:
+ * Sets a text color which contrasts with a theme brush.
+ *
+ * Discussion:
+ * SetThemeTextColorForWindow sets a text color in the specified
+ * window's port which contrasts with the specified brush and also
+ * matches the inActive parameter. Only a subset of the theme
+ * brushes have theme text colors: currently (as of Mac OS 9 and Mac
+ * OS X 10.1), the Alert, Dialog, ModelessDialog, and Notification
+ * brushes have corresponding text colors. For any other brush,
+ * SetThemeTextColorForWindow returns themeNoAppropriateBrushErr and
+ * does not modify the text color.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose text color to change.
+ *
+ * inActive:
+ * Whether the text color should indicate an active or inactive
+ * state.
+ *
+ * inDepth:
+ * The bit depth of the window's port.
+ *
+ * inColorDev:
+ * Whether the window's port is color or black&white.
+ *
+ * Result:
+ * An operating system result code, including
+ * themeNoAppropriateBrushErr if the specified theme brush does not
+ * have a corresponding theme text color.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetThemeTextColorForWindow(
+ WindowRef inWindow,
+ Boolean inActive,
+ SInt16 inDepth,
+ Boolean inColorDev);
+
+
+/*
+ * IsValidAppearanceFileType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsValidAppearanceFileType(OSType fileType);
+
+
+/*
+ * GetThemeBrushAsColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeBrushAsColor(
+ ThemeBrush inBrush,
+ SInt16 inDepth,
+ Boolean inColorDev,
+ RGBColor * outColor);
+
+
+/*
+ * GetThemeTextColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeTextColor(
+ ThemeTextColor inColor,
+ SInt16 inDepth,
+ Boolean inColorDev,
+ RGBColor * outColor);
+
+
+/*--------------------------------------- BEGIN CARBON ---------------------------------------------*/
+/*
+ * GetThemeMetric()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetThemeMetric(
+ ThemeMetric inMetric,
+ SInt32 * outMetric);
+
+
+/*
+ * CopyThemeIdentifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+CopyThemeIdentifier(CFStringRef * outIdentifier);
+
+
+/*--------------------------------------------------------------------------------------------------*/
+/* Obsolete symbolic names */
+/*--------------------------------------------------------------------------------------------------*/
+/* Obsolete error codes - use the new ones, s'il vous plait / kudasai */
+enum {
+ appearanceBadBrushIndexErr = themeInvalidBrushErr, /* pattern index invalid */
+ appearanceProcessRegisteredErr = themeProcessRegisteredErr,
+ appearanceProcessNotRegisteredErr = themeProcessNotRegisteredErr,
+ appearanceBadTextColorIndexErr = themeBadTextColorErr,
+ appearanceThemeHasNoAccents = themeHasNoAccentsErr,
+ appearanceBadCursorIndexErr = themeBadCursorIndexErr
+};
+
+enum {
+ kThemeActiveDialogBackgroundBrush = kThemeBrushDialogBackgroundActive,
+ kThemeInactiveDialogBackgroundBrush = kThemeBrushDialogBackgroundInactive,
+ kThemeActiveAlertBackgroundBrush = kThemeBrushAlertBackgroundActive,
+ kThemeInactiveAlertBackgroundBrush = kThemeBrushAlertBackgroundInactive,
+ kThemeActiveModelessDialogBackgroundBrush = kThemeBrushModelessDialogBackgroundActive,
+ kThemeInactiveModelessDialogBackgroundBrush = kThemeBrushModelessDialogBackgroundInactive,
+ kThemeActiveUtilityWindowBackgroundBrush = kThemeBrushUtilityWindowBackgroundActive,
+ kThemeInactiveUtilityWindowBackgroundBrush = kThemeBrushUtilityWindowBackgroundInactive,
+ kThemeListViewSortColumnBackgroundBrush = kThemeBrushListViewSortColumnBackground,
+ kThemeListViewBackgroundBrush = kThemeBrushListViewBackground,
+ kThemeIconLabelBackgroundBrush = kThemeBrushIconLabelBackground,
+ kThemeListViewSeparatorBrush = kThemeBrushListViewSeparator,
+ kThemeChasingArrowsBrush = kThemeBrushChasingArrows,
+ kThemeDragHiliteBrush = kThemeBrushDragHilite,
+ kThemeDocumentWindowBackgroundBrush = kThemeBrushDocumentWindowBackground,
+ kThemeFinderWindowBackgroundBrush = kThemeBrushFinderWindowBackground
+};
+
+enum {
+ kThemeActiveScrollBarDelimiterBrush = kThemeBrushScrollBarDelimiterActive,
+ kThemeInactiveScrollBarDelimiterBrush = kThemeBrushScrollBarDelimiterInactive,
+ kThemeFocusHighlightBrush = kThemeBrushFocusHighlight,
+ kThemeActivePopupArrowBrush = kThemeBrushPopupArrowActive,
+ kThemePressedPopupArrowBrush = kThemeBrushPopupArrowPressed,
+ kThemeInactivePopupArrowBrush = kThemeBrushPopupArrowInactive,
+ kThemeAppleGuideCoachmarkBrush = kThemeBrushAppleGuideCoachmark
+};
+
+enum {
+ kThemeActiveDialogTextColor = kThemeTextColorDialogActive,
+ kThemeInactiveDialogTextColor = kThemeTextColorDialogInactive,
+ kThemeActiveAlertTextColor = kThemeTextColorAlertActive,
+ kThemeInactiveAlertTextColor = kThemeTextColorAlertInactive,
+ kThemeActiveModelessDialogTextColor = kThemeTextColorModelessDialogActive,
+ kThemeInactiveModelessDialogTextColor = kThemeTextColorModelessDialogInactive,
+ kThemeActiveWindowHeaderTextColor = kThemeTextColorWindowHeaderActive,
+ kThemeInactiveWindowHeaderTextColor = kThemeTextColorWindowHeaderInactive,
+ kThemeActivePlacardTextColor = kThemeTextColorPlacardActive,
+ kThemeInactivePlacardTextColor = kThemeTextColorPlacardInactive,
+ kThemePressedPlacardTextColor = kThemeTextColorPlacardPressed,
+ kThemeActivePushButtonTextColor = kThemeTextColorPushButtonActive,
+ kThemeInactivePushButtonTextColor = kThemeTextColorPushButtonInactive,
+ kThemePressedPushButtonTextColor = kThemeTextColorPushButtonPressed,
+ kThemeActiveBevelButtonTextColor = kThemeTextColorBevelButtonActive,
+ kThemeInactiveBevelButtonTextColor = kThemeTextColorBevelButtonInactive,
+ kThemePressedBevelButtonTextColor = kThemeTextColorBevelButtonPressed,
+ kThemeActivePopupButtonTextColor = kThemeTextColorPopupButtonActive,
+ kThemeInactivePopupButtonTextColor = kThemeTextColorPopupButtonInactive,
+ kThemePressedPopupButtonTextColor = kThemeTextColorPopupButtonPressed,
+ kThemeIconLabelTextColor = kThemeTextColorIconLabel,
+ kThemeListViewTextColor = kThemeTextColorListView
+};
+
+enum {
+ kThemeActiveDocumentWindowTitleTextColor = kThemeTextColorDocumentWindowTitleActive,
+ kThemeInactiveDocumentWindowTitleTextColor = kThemeTextColorDocumentWindowTitleInactive,
+ kThemeActiveMovableModalWindowTitleTextColor = kThemeTextColorMovableModalWindowTitleActive,
+ kThemeInactiveMovableModalWindowTitleTextColor = kThemeTextColorMovableModalWindowTitleInactive,
+ kThemeActiveUtilityWindowTitleTextColor = kThemeTextColorUtilityWindowTitleActive,
+ kThemeInactiveUtilityWindowTitleTextColor = kThemeTextColorUtilityWindowTitleInactive,
+ kThemeActivePopupWindowTitleColor = kThemeTextColorPopupWindowTitleActive,
+ kThemeInactivePopupWindowTitleColor = kThemeTextColorPopupWindowTitleInactive,
+ kThemeActiveRootMenuTextColor = kThemeTextColorRootMenuActive,
+ kThemeSelectedRootMenuTextColor = kThemeTextColorRootMenuSelected,
+ kThemeDisabledRootMenuTextColor = kThemeTextColorRootMenuDisabled,
+ kThemeActiveMenuItemTextColor = kThemeTextColorMenuItemActive,
+ kThemeSelectedMenuItemTextColor = kThemeTextColorMenuItemSelected,
+ kThemeDisabledMenuItemTextColor = kThemeTextColorMenuItemDisabled,
+ kThemeActivePopupLabelTextColor = kThemeTextColorPopupLabelActive,
+ kThemeInactivePopupLabelTextColor = kThemeTextColorPopupLabelInactive
+};
+
+enum {
+ kAEThemeSwitch = kAEAppearanceChanged /* Event ID's: Theme Switched */
+};
+
+enum {
+ kThemeNoAdornment = kThemeAdornmentNone,
+ kThemeDefaultAdornment = kThemeAdornmentDefault,
+ kThemeFocusAdornment = kThemeAdornmentFocus,
+ kThemeRightToLeftAdornment = kThemeAdornmentRightToLeft,
+ kThemeDrawIndicatorOnly = kThemeAdornmentDrawIndicatorOnly
+};
+
+enum {
+ kThemeBrushPassiveAreaFill = kThemeBrushStaticAreaFill
+};
+
+enum {
+ kThemeMetricCheckBoxGlyphHeight = kThemeMetricCheckBoxHeight,
+ kThemeMetricRadioButtonGlyphHeight = kThemeMetricRadioButtonHeight,
+ kThemeMetricDisclosureButtonSize = kThemeMetricDisclosureButtonHeight,
+ kThemeMetricBestListHeaderHeight = kThemeMetricListHeaderHeight,
+ kThemeMetricSmallProgressBarThickness = kThemeMetricNormalProgressBarThickness, /* obsolete */
+ kThemeMetricProgressBarThickness = kThemeMetricLargeProgressBarThickness /* obsolete */
+};
+
+enum {
+ kThemeScrollBar = kThemeMediumScrollBar,
+ kThemeSlider = kThemeMediumSlider,
+ kThemeProgressBar = kThemeMediumProgressBar,
+ kThemeIndeterminateBar = kThemeMediumIndeterminateBar
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AppleDiskPartitions.h b/include/qt/AppleDiskPartitions.h
index d276394d4..28191580b 100644
--- a/include/qt/AppleDiskPartitions.h
+++ b/include/qt/AppleDiskPartitions.h
@@ -1,17 +1,17 @@
/*
File: AppleDiskPartitions.h
-
+
Contains: The Apple disk partition scheme as defined in Inside Macintosh: Volume V.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __APPLEDISKPARTITIONS__
#define __APPLEDISKPARTITIONS__
@@ -32,129 +32,121 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/* Block 0 Definitions */
-enum
-{
- sbSIGWord = 0x4552, /* signature word for Block 0 ('ER') */
- sbMac = 1 /* system type for Mac */
+enum {
+ sbSIGWord = 0x4552, /* signature word for Block 0 ('ER') */
+ sbMac = 1 /* system type for Mac */
};
/* Partition Map Signatures */
-enum
-{
- pMapSIG = 0x504D, /* partition map signature ('PM') */
- pdSigWord = 0x5453, /* partition map signature ('TS') */
- oldPMSigWord = pdSigWord,
- newPMSigWord = pMapSIG
+enum {
+ pMapSIG = 0x504D, /* partition map signature ('PM') */
+ pdSigWord = 0x5453, /* partition map signature ('TS') */
+ oldPMSigWord = pdSigWord,
+ newPMSigWord = pMapSIG
};
/* Driver Descriptor Map */
-struct Block0
-{
- UInt16 sbSig; /* unique value for SCSI block 0 */
- UInt16 sbBlkSize; /* block size of device */
- UInt32 sbBlkCount; /* number of blocks on device */
- UInt16 sbDevType; /* device type */
- UInt16 sbDevId; /* device id */
- UInt32 sbData; /* not used */
- UInt16 sbDrvrCount; /* driver descriptor count */
- UInt32 ddBlock; /* 1st driver's starting block */
- UInt16 ddSize; /* size of 1st driver (512-byte blks) */
- UInt16 ddType; /* system type (1 for Mac+) */
- UInt16 ddPad[243]; /* ARRAY[0..242] OF INTEGER; not used */
+struct Block0 {
+ UInt16 sbSig; /* unique value for SCSI block 0 */
+ UInt16 sbBlkSize; /* block size of device */
+ UInt32 sbBlkCount; /* number of blocks on device */
+ UInt16 sbDevType; /* device type */
+ UInt16 sbDevId; /* device id */
+ UInt32 sbData; /* not used */
+ UInt16 sbDrvrCount; /* driver descriptor count */
+ UInt32 ddBlock; /* 1st driver's starting block */
+ UInt16 ddSize; /* size of 1st driver (512-byte blks) */
+ UInt16 ddType; /* system type (1 for Mac+) */
+ UInt16 ddPad[243]; /* ARRAY[0..242] OF INTEGER; not used */
};
typedef struct Block0 Block0;
/* Driver descriptor */
-struct DDMap
-{
- UInt32 ddBlock; /* 1st driver's starting block */
- UInt16 ddSize; /* size of 1st driver (512-byte blks) */
- UInt16 ddType; /* system type (1 for Mac+) */
+struct DDMap {
+ UInt32 ddBlock; /* 1st driver's starting block */
+ UInt16 ddSize; /* size of 1st driver (512-byte blks) */
+ UInt16 ddType; /* system type (1 for Mac+) */
};
typedef struct DDMap DDMap;
/* Constants for the ddType field of the DDMap structure. */
-enum
-{
- kDriverTypeMacSCSI = 0x0001,
- kDriverTypeMacATA = 0x0701,
- kDriverTypeMacSCSIChained = 0xFFFF,
- kDriverTypeMacATAChained = 0xF8FF
+enum {
+ kDriverTypeMacSCSI = 0x0001,
+ kDriverTypeMacATA = 0x0701,
+ kDriverTypeMacSCSIChained = 0xFFFF,
+ kDriverTypeMacATAChained = 0xF8FF
};
/* Partition Map Entry */
-struct Partition
-{
- UInt16 pmSig; /* unique value for map entry blk */
- UInt16 pmSigPad; /* currently unused */
- UInt32 pmMapBlkCnt; /* # of blks in partition map */
- UInt32 pmPyPartStart; /* physical start blk of partition */
- UInt32 pmPartBlkCnt; /* # of blks in this partition */
- UInt8 pmPartName[32]; /* ASCII partition name */
- UInt8 pmParType[32]; /* ASCII partition type */
- UInt32 pmLgDataStart; /* log. # of partition's 1st data blk */
- UInt32 pmDataCnt; /* # of blks in partition's data area */
- UInt32 pmPartStatus; /* bit field for partition status */
- UInt32 pmLgBootStart; /* log. blk of partition's boot code */
- UInt32 pmBootSize; /* number of bytes in boot code */
- UInt32 pmBootAddr; /* memory load address of boot code */
- UInt32 pmBootAddr2; /* currently unused */
- UInt32 pmBootEntry; /* entry point of boot code */
- UInt32 pmBootEntry2; /* currently unused */
- UInt32 pmBootCksum; /* checksum of boot code */
- UInt8 pmProcessor[16]; /* ASCII for the processor type */
- UInt16 pmPad[188]; /* ARRAY[0..187] OF INTEGER; not used */
+struct Partition {
+ UInt16 pmSig; /* unique value for map entry blk */
+ UInt16 pmSigPad; /* currently unused */
+ UInt32 pmMapBlkCnt; /* # of blks in partition map */
+ UInt32 pmPyPartStart; /* physical start blk of partition */
+ UInt32 pmPartBlkCnt; /* # of blks in this partition */
+ UInt8 pmPartName[32]; /* ASCII partition name */
+ UInt8 pmParType[32]; /* ASCII partition type */
+ UInt32 pmLgDataStart; /* log. # of partition's 1st data blk */
+ UInt32 pmDataCnt; /* # of blks in partition's data area */
+ UInt32 pmPartStatus; /* bit field for partition status */
+ UInt32 pmLgBootStart; /* log. blk of partition's boot code */
+ UInt32 pmBootSize; /* number of bytes in boot code */
+ UInt32 pmBootAddr; /* memory load address of boot code */
+ UInt32 pmBootAddr2; /* currently unused */
+ UInt32 pmBootEntry; /* entry point of boot code */
+ UInt32 pmBootEntry2; /* currently unused */
+ UInt32 pmBootCksum; /* checksum of boot code */
+ UInt8 pmProcessor[16]; /* ASCII for the processor type */
+ UInt16 pmPad[188]; /* ARRAY[0..187] OF INTEGER; not used */
};
typedef struct Partition Partition;
/* Flags for the pmPartStatus field of the Partition data structure. */
-enum
-{
- kPartitionAUXIsValid = 0x00000001,
- kPartitionAUXIsAllocated = 0x00000002,
- kPartitionAUXIsInUse = 0x00000004,
- kPartitionAUXIsBootValid = 0x00000008,
- kPartitionAUXIsReadable = 0x00000010,
- kPartitionAUXIsWriteable = 0x00000020,
- kPartitionAUXIsBootCodePositionIndependent = 0x00000040,
- kPartitionIsWriteable = 0x00000020,
- kPartitionIsMountedAtStartup = 0x40000000,
- kPartitionIsStartup = (long)0x80000000,
- kPartitionIsChainCompatible = 0x00000100,
- kPartitionIsRealDeviceDriver = 0x00000200,
- kPartitionCanChainToNext = 0x00000400
+enum {
+ kPartitionAUXIsValid = 0x00000001,
+ kPartitionAUXIsAllocated = 0x00000002,
+ kPartitionAUXIsInUse = 0x00000004,
+ kPartitionAUXIsBootValid = 0x00000008,
+ kPartitionAUXIsReadable = 0x00000010,
+ kPartitionAUXIsWriteable = 0x00000020,
+ kPartitionAUXIsBootCodePositionIndependent = 0x00000040,
+ kPartitionIsWriteable = 0x00000020,
+ kPartitionIsMountedAtStartup = 0x40000000,
+ kPartitionIsStartup = (long)0x80000000,
+ kPartitionIsChainCompatible = 0x00000100,
+ kPartitionIsRealDeviceDriver = 0x00000200,
+ kPartitionCanChainToNext = 0x00000400
};
/* Well known driver signatures, stored in the first four byte of pmPad. */
-enum
-{
- kPatchDriverSignature = FOUR_CHAR_CODE('ptDR'), /* SCSI and ATA[PI] patch driver */
- kSCSIDriverSignature = 0x00010600, /* SCSI hard disk driver */
- kATADriverSignature = FOUR_CHAR_CODE('wiki'), /* ATA hard disk driver */
- kSCSICDDriverSignature = FOUR_CHAR_CODE('CDvr'), /* SCSI CD-ROM driver */
- kATAPIDriverSignature = FOUR_CHAR_CODE('ATPI'), /* ATAPI CD-ROM driver */
- kDriveSetupHFSSignature = FOUR_CHAR_CODE('DSU1') /* Drive Setup HFS partition */
+enum {
+ kPatchDriverSignature = FOUR_CHAR_CODE('ptDR'), /* SCSI and ATA[PI] patch driver */
+ kSCSIDriverSignature = 0x00010600, /* SCSI hard disk driver */
+ kATADriverSignature = FOUR_CHAR_CODE('wiki'), /* ATA hard disk driver */
+ kSCSICDDriverSignature = FOUR_CHAR_CODE('CDvr'), /* SCSI CD-ROM driver */
+ kATAPIDriverSignature = FOUR_CHAR_CODE('ATPI'), /* ATAPI CD-ROM driver */
+ kDriveSetupHFSSignature = FOUR_CHAR_CODE('DSU1') /* Drive Setup HFS partition */
};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AppleEvents.h b/include/qt/AppleEvents.h
index 1da79fedd..454dedd24 100644
--- a/include/qt/AppleEvents.h
+++ b/include/qt/AppleEvents.h
@@ -1,17 +1,17 @@
/*
File: AppleEvents.h
-
+
Contains: AppleEvent Package Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __APPLEEVENTS__
#define __APPLEEVENTS__
@@ -25,7 +25,7 @@
#endif
/*
- Note: The functions and types for the building and parsing AppleEvent
+ Note: The functions and types for the building and parsing AppleEvent
messages has moved to AEDataModel.h
*/
#ifndef __AEDATAMODEL__
@@ -48,191 +48,187 @@ extern "C" {
#pragma import on
#endif
- enum {
- /* Keywords for Apple event parameters */
- keyDirectObject = FOUR_CHAR_CODE('----'),
- keyErrorNumber = FOUR_CHAR_CODE('errn'),
- keyErrorString = FOUR_CHAR_CODE('errs'),
- keyProcessSerialNumber = FOUR_CHAR_CODE('psn '), /* Keywords for special handlers */
- keyPreDispatch = FOUR_CHAR_CODE('phac'), /* preHandler accessor call */
- keySelectProc = FOUR_CHAR_CODE('selh'), /* more selector call */
- /* Keyword for recording */
- keyAERecorderCount = FOUR_CHAR_CODE('recr'), /* available only in vers 1.0.1 and greater */
- /* Keyword for version information */
- keyAEVersion = FOUR_CHAR_CODE('vers') /* available only in vers 1.0.1 and greater */
- };
-
- /* Event Class */
- enum
- {
- kCoreEventClass = FOUR_CHAR_CODE('aevt')
- };
-
- /* Event ID's */
- enum
- {
- kAEOpenApplication = FOUR_CHAR_CODE('oapp'),
- kAEOpenDocuments = FOUR_CHAR_CODE('odoc'),
- kAEPrintDocuments = FOUR_CHAR_CODE('pdoc'),
- kAEQuitApplication = FOUR_CHAR_CODE('quit'),
- kAEAnswer = FOUR_CHAR_CODE('ansr'),
- kAEApplicationDied = FOUR_CHAR_CODE('obit'),
- kAEShowPreferences = FOUR_CHAR_CODE('pref') /* sent by Mac OS X when the user chooses the Preferences item */
- };
-
- /* Constants for recording */
- enum
- {
- kAEStartRecording = FOUR_CHAR_CODE('reca'), /* available only in vers 1.0.1 and greater */
- kAEStopRecording = FOUR_CHAR_CODE('recc'), /* available only in vers 1.0.1 and greater */
- kAENotifyStartRecording = FOUR_CHAR_CODE('rec1'), /* available only in vers 1.0.1 and greater */
- kAENotifyStopRecording = FOUR_CHAR_CODE('rec0'), /* available only in vers 1.0.1 and greater */
- kAENotifyRecording = FOUR_CHAR_CODE('recr') /* available only in vers 1.0.1 and greater */
- };
-
-
-
-
-
- /*
- * AEEventSource is defined as an SInt8 for compatability with pascal.
- * Important note: keyEventSourceAttr is returned by AttributePtr as a typeShortInteger.
- * Be sure to pass at least two bytes of storage to AEGetAttributePtr - the result can be
- * compared directly against the following enums.
- */
- typedef SInt8 AEEventSource;
- enum
- {
- kAEUnknownSource = 0,
- kAEDirectCall = 1,
- kAESameProcess = 2,
- kAELocalProcess = 3,
- kAERemoteProcess = 4
- };
-
- /**************************************************************************
- These calls are used to set up and modify the event dispatch table.
- **************************************************************************/
- /*
- * AEInstallEventHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEInstallEventHandler(
- AEEventClass theAEEventClass,
- AEEventID theAEEventID,
- AEEventHandlerUPP handler,
- long handlerRefcon,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x091F, 0xA816);
-
-
- /*
- * AERemoveEventHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AERemoveEventHandler(
- AEEventClass theAEEventClass,
- AEEventID theAEEventID,
- AEEventHandlerUPP handler,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0720, 0xA816);
-
-
- /*
- * AEGetEventHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetEventHandler(
- AEEventClass theAEEventClass,
- AEEventID theAEEventID,
- AEEventHandlerUPP * handler,
- long * handlerRefcon,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0921, 0xA816);
-
-
-
-
- /**************************************************************************
- These calls are used to set up and modify special hooks into the
- AppleEvent manager.
- **************************************************************************/
- /*
- * AEInstallSpecialHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEInstallSpecialHandler(
- AEKeyword functionClass,
- AEEventHandlerUPP handler,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0500, 0xA816);
-
-
- /*
- * AERemoveSpecialHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AERemoveSpecialHandler(
- AEKeyword functionClass,
- AEEventHandlerUPP handler,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0501, 0xA816);
-
-
- /*
- * AEGetSpecialHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEGetSpecialHandler(
- AEKeyword functionClass,
- AEEventHandlerUPP * handler,
- Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x052D, 0xA816);
-
-
-
- /**************************************************************************
- This call was added in version 1.0.1. If called with the keyword
- keyAERecorderCount ('recr'), the number of recorders that are
- currently active is returned in 'result'
- (available only in vers 1.0.1 and greater).
- **************************************************************************/
- /*
- * AEManagerInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AEManagerInfo(
- AEKeyword keyWord,
- long * result) THREEWORDINLINE(0x303C, 0x0441, 0xA816);
+enum {
+ /* Keywords for Apple event parameters */
+ keyDirectObject = FOUR_CHAR_CODE('----'),
+ keyErrorNumber = FOUR_CHAR_CODE('errn'),
+ keyErrorString = FOUR_CHAR_CODE('errs'),
+ keyProcessSerialNumber = FOUR_CHAR_CODE('psn '), /* Keywords for special handlers */
+ keyPreDispatch = FOUR_CHAR_CODE('phac'), /* preHandler accessor call */
+ keySelectProc = FOUR_CHAR_CODE('selh'), /* more selector call */
+ /* Keyword for recording */
+ keyAERecorderCount = FOUR_CHAR_CODE('recr'), /* available only in vers 1.0.1 and greater */
+ /* Keyword for version information */
+ keyAEVersion = FOUR_CHAR_CODE('vers') /* available only in vers 1.0.1 and greater */
+};
+
+/* Event Class */
+enum {
+ kCoreEventClass = FOUR_CHAR_CODE('aevt')
+};
+
+/* Event ID's */
+enum {
+ kAEOpenApplication = FOUR_CHAR_CODE('oapp'),
+ kAEOpenDocuments = FOUR_CHAR_CODE('odoc'),
+ kAEPrintDocuments = FOUR_CHAR_CODE('pdoc'),
+ kAEQuitApplication = FOUR_CHAR_CODE('quit'),
+ kAEAnswer = FOUR_CHAR_CODE('ansr'),
+ kAEApplicationDied = FOUR_CHAR_CODE('obit'),
+ kAEShowPreferences = FOUR_CHAR_CODE('pref') /* sent by Mac OS X when the user chooses the Preferences item */
+};
+
+/* Constants for recording */
+enum {
+ kAEStartRecording = FOUR_CHAR_CODE('reca'), /* available only in vers 1.0.1 and greater */
+ kAEStopRecording = FOUR_CHAR_CODE('recc'), /* available only in vers 1.0.1 and greater */
+ kAENotifyStartRecording = FOUR_CHAR_CODE('rec1'), /* available only in vers 1.0.1 and greater */
+ kAENotifyStopRecording = FOUR_CHAR_CODE('rec0'), /* available only in vers 1.0.1 and greater */
+ kAENotifyRecording = FOUR_CHAR_CODE('recr') /* available only in vers 1.0.1 and greater */
+};
+
+
+
+
+
+/*
+ * AEEventSource is defined as an SInt8 for compatability with pascal.
+ * Important note: keyEventSourceAttr is returned by AttributePtr as a typeShortInteger.
+ * Be sure to pass at least two bytes of storage to AEGetAttributePtr - the result can be
+ * compared directly against the following enums.
+ */
+typedef SInt8 AEEventSource;
+enum {
+ kAEUnknownSource = 0,
+ kAEDirectCall = 1,
+ kAESameProcess = 2,
+ kAELocalProcess = 3,
+ kAERemoteProcess = 4
+};
+
+/**************************************************************************
+ These calls are used to set up and modify the event dispatch table.
+**************************************************************************/
+/*
+ * AEInstallEventHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEInstallEventHandler(
+ AEEventClass theAEEventClass,
+ AEEventID theAEEventID,
+ AEEventHandlerUPP handler,
+ long handlerRefcon,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x091F, 0xA816);
+
+
+/*
+ * AERemoveEventHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AERemoveEventHandler(
+ AEEventClass theAEEventClass,
+ AEEventID theAEEventID,
+ AEEventHandlerUPP handler,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0720, 0xA816);
+
+
+/*
+ * AEGetEventHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetEventHandler(
+ AEEventClass theAEEventClass,
+ AEEventID theAEEventID,
+ AEEventHandlerUPP * handler,
+ long * handlerRefcon,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0921, 0xA816);
+
+
+
+
+/**************************************************************************
+ These calls are used to set up and modify special hooks into the
+ AppleEvent manager.
+**************************************************************************/
+/*
+ * AEInstallSpecialHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEInstallSpecialHandler(
+ AEKeyword functionClass,
+ AEEventHandlerUPP handler,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0500, 0xA816);
+
+
+/*
+ * AERemoveSpecialHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AERemoveSpecialHandler(
+ AEKeyword functionClass,
+ AEEventHandlerUPP handler,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0501, 0xA816);
+
+
+/*
+ * AEGetSpecialHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEGetSpecialHandler(
+ AEKeyword functionClass,
+ AEEventHandlerUPP * handler,
+ Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x052D, 0xA816);
+
+
+
+/**************************************************************************
+ This call was added in version 1.0.1. If called with the keyword
+ keyAERecorderCount ('recr'), the number of recorders that are
+ currently active is returned in 'result'
+ (available only in vers 1.0.1 and greater).
+**************************************************************************/
+/*
+ * AEManagerInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AEManagerInfo(
+ AEKeyword keyWord,
+ long * result) THREEWORDINLINE(0x303C, 0x0441, 0xA816);
diff --git a/include/qt/AppleHelp.h b/include/qt/AppleHelp.h
index 147d7008a..80652a228 100644
--- a/include/qt/AppleHelp.h
+++ b/include/qt/AppleHelp.h
@@ -1,17 +1,17 @@
/*
File: AppleHelp.h
-
+
Contains: Apple Help
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __APPLEHELP__
#define __APPLEHELP__
@@ -43,207 +43,206 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* AppleHelp Error Codes */
- enum {
- kAHInternalErr = -10790,
- kAHInternetConfigPrefErr = -10791
- };
+/* AppleHelp Error Codes */
+enum {
+ kAHInternalErr = -10790,
+ kAHInternetConfigPrefErr = -10791
+};
- typedef SInt16 AHTOCType;
- enum
- {
- kAHTOCTypeUser = 0,
- kAHTOCTypeDeveloper = 1
- };
+typedef SInt16 AHTOCType;
+enum {
+ kAHTOCTypeUser = 0,
+ kAHTOCTypeDeveloper = 1
+};
- /*
- * AHSearch()
- *
- * Discussion:
- * Delivers a request to perform the specified search to the Help
- * Viewer application.
- *
- * Parameters:
- *
- * bookname:
- * Optionally, the AppleTitle of the Help book to be searched. If
- * NULL, all installed Help books are searched.
- *
- * query:
- * The query to be made. This string can, if desired, have boolean
- * operators or be a natural language phrase.
- *
- * Result:
- * An operating system result code that indicates whether the
- * request was successfully sent to the Help Viewer application.
- * Possible values: noErr, paramErr, kAHInternalErr,
- * kAHInternetConfigPrefErr.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AHSearch(
- CFStringRef bookname,
- CFStringRef query);
+/*
+ * AHSearch()
+ *
+ * Discussion:
+ * Delivers a request to perform the specified search to the Help
+ * Viewer application.
+ *
+ * Parameters:
+ *
+ * bookname:
+ * Optionally, the AppleTitle of the Help book to be searched. If
+ * NULL, all installed Help books are searched.
+ *
+ * query:
+ * The query to be made. This string can, if desired, have boolean
+ * operators or be a natural language phrase.
+ *
+ * Result:
+ * An operating system result code that indicates whether the
+ * request was successfully sent to the Help Viewer application.
+ * Possible values: noErr, paramErr, kAHInternalErr,
+ * kAHInternetConfigPrefErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AHSearch(
+ CFStringRef bookname,
+ CFStringRef query);
- /*
- * AHGotoMainTOC()
- *
- * Discussion:
- * Delivers a request to load the main table of contents of
- * installed help books to the Help Viewer application.
- *
- * Parameters:
- *
- * toctype:
- * The type of table of contents to be loaded: user or developer.
- *
- * Result:
- * An operating system result code that indicates whether the
- * request was successfully sent to the Help Viewer application.
- * Possible values: noErr, paramErr, kAHInternalErr,
- * kAHInternetConfigPrefErr.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AHGotoMainTOC(AHTOCType toctype);
+/*
+ * AHGotoMainTOC()
+ *
+ * Discussion:
+ * Delivers a request to load the main table of contents of
+ * installed help books to the Help Viewer application.
+ *
+ * Parameters:
+ *
+ * toctype:
+ * The type of table of contents to be loaded: user or developer.
+ *
+ * Result:
+ * An operating system result code that indicates whether the
+ * request was successfully sent to the Help Viewer application.
+ * Possible values: noErr, paramErr, kAHInternalErr,
+ * kAHInternetConfigPrefErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AHGotoMainTOC(AHTOCType toctype);
- /*
- * AHGotoPage()
- *
- * Discussion:
- * Delivers a request to load a specific text/html file to the Help
- * Viewer application.
- *
- * Parameters:
- *
- * bookname:
- * Optionally, the AppleTitle of an installed Help book. If NULL,
- * the path parameter must be a full file: URL to the file to be
- * opened.
- *
- * path:
- * Optionally, one of two types of paths: 1) a URL-style path to a
- * file that is relative to the main folder of the book supplied
- * in the bookname parameter, or 2) if bookname is NULL, a full
- * file: URL to the file to be opened. If this parameter is NULL,
- * then bookname must not be NULL, and is used to open the Help
- * Viewer to the main page of Help content for the specified book.
- *
- * anchor:
- * Optionally, the name of anchor tag to scroll to in the newly
- * opened file. Can be NULL.
- *
- * Result:
- * An operating system result code that indicates whether the
- * request was successfully sent to the Help Viewer application.
- * Possible values: noErr, paramErr, kAHInternalErr,
- * kAHInternetConfigPrefErr.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AHGotoPage(
- CFStringRef bookname,
- CFStringRef path,
- CFStringRef anchor);
+/*
+ * AHGotoPage()
+ *
+ * Discussion:
+ * Delivers a request to load a specific text/html file to the Help
+ * Viewer application.
+ *
+ * Parameters:
+ *
+ * bookname:
+ * Optionally, the AppleTitle of an installed Help book. If NULL,
+ * the path parameter must be a full file: URL to the file to be
+ * opened.
+ *
+ * path:
+ * Optionally, one of two types of paths: 1) a URL-style path to a
+ * file that is relative to the main folder of the book supplied
+ * in the bookname parameter, or 2) if bookname is NULL, a full
+ * file: URL to the file to be opened. If this parameter is NULL,
+ * then bookname must not be NULL, and is used to open the Help
+ * Viewer to the main page of Help content for the specified book.
+ *
+ * anchor:
+ * Optionally, the name of anchor tag to scroll to in the newly
+ * opened file. Can be NULL.
+ *
+ * Result:
+ * An operating system result code that indicates whether the
+ * request was successfully sent to the Help Viewer application.
+ * Possible values: noErr, paramErr, kAHInternalErr,
+ * kAHInternetConfigPrefErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AHGotoPage(
+ CFStringRef bookname,
+ CFStringRef path,
+ CFStringRef anchor);
- /*
- * AHLookupAnchor()
- *
- * Discussion:
- * Delivers a request to perform an anchor lookup to the Help Viewer
- * application. Note: anchor lookups will fail unless you have
- * indexed your help content with anchor indexing turned on in the
- * indexing tool's preferences panel.
- *
- * Parameters:
- *
- * bookname:
- * Optionally, the AppleTitle of the Help book to searched. If
- * NULL, the anchor lookup is performed using all installed Help
- * books.
- *
- * anchor:
- * The name of the anchor tag to look up.
- *
- * Result:
- * An operating system result code that indicates whether the
- * request was successfully sent to the Help Viewer application.
- * Possible values: noErr, paramErr, kAHInternalErr,
- * kAHInternetConfigPrefErr.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AHLookupAnchor(
- CFStringRef bookname,
- CFStringRef anchor);
+/*
+ * AHLookupAnchor()
+ *
+ * Discussion:
+ * Delivers a request to perform an anchor lookup to the Help Viewer
+ * application. Note: anchor lookups will fail unless you have
+ * indexed your help content with anchor indexing turned on in the
+ * indexing tool's preferences panel.
+ *
+ * Parameters:
+ *
+ * bookname:
+ * Optionally, the AppleTitle of the Help book to searched. If
+ * NULL, the anchor lookup is performed using all installed Help
+ * books.
+ *
+ * anchor:
+ * The name of the anchor tag to look up.
+ *
+ * Result:
+ * An operating system result code that indicates whether the
+ * request was successfully sent to the Help Viewer application.
+ * Possible values: noErr, paramErr, kAHInternalErr,
+ * kAHInternetConfigPrefErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AHLookupAnchor(
+ CFStringRef bookname,
+ CFStringRef anchor);
- /*
- * AHRegisterHelpBook()
- *
- * Discussion:
- * Registers a book of Help content such that the book will appear
- * in the current user's main table of contents (Help Center) in the
- * Help Viewer application. To be used when help books reside
- * outside of the known help folders (i.e. help books that are kept
- * inside of application bundles).
- *
- * Parameters:
- *
- * appBundleRef:
- * An FSRef pointer to the bundle within which one or more Help
- * books is stored. This is likely an FSRef to your application's
- * main bundle.
- *
- * Result:
- * An operating system result code that indicates whether all help
- * books contained within the specified bundle were registered.
- * Possible values: noErr, paramErr, kAHInternalErr, dirNFErr.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- AHRegisterHelpBook(const FSRef * appBundleRef);
+/*
+ * AHRegisterHelpBook()
+ *
+ * Discussion:
+ * Registers a book of Help content such that the book will appear
+ * in the current user's main table of contents (Help Center) in the
+ * Help Viewer application. To be used when help books reside
+ * outside of the known help folders (i.e. help books that are kept
+ * inside of application bundles).
+ *
+ * Parameters:
+ *
+ * appBundleRef:
+ * An FSRef pointer to the bundle within which one or more Help
+ * books is stored. This is likely an FSRef to your application's
+ * main bundle.
+ *
+ * Result:
+ * An operating system result code that indicates whether all help
+ * books contained within the specified bundle were registered.
+ * Possible values: noErr, paramErr, kAHInternalErr, dirNFErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+AHRegisterHelpBook(const FSRef * appBundleRef);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AppleScript.h b/include/qt/AppleScript.h
index c2a85c780..d2c796feb 100644
--- a/include/qt/AppleScript.h
+++ b/include/qt/AppleScript.h
@@ -1,17 +1,17 @@
/*
File: AppleScript.h
-
+
Contains: AppleScript Specific Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2000 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 __APPLESCRIPT__
#define __APPLESCRIPT__
@@ -44,193 +44,189 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /**************************************************************************
- Types and Constants
- **************************************************************************/
- /*
- The specific type for the AppleScript instance of the
- Open Scripting Architecture type.
+/**************************************************************************
+ Types and Constants
+**************************************************************************/
+/*
+ The specific type for the AppleScript instance of the
+ Open Scripting Architecture type.
+*/
+enum {
+ typeAppleScript = FOUR_CHAR_CODE('ascr'),
+ kAppleScriptSubtype = typeAppleScript,
+ typeASStorage = typeAppleScript
+};
+
+/**************************************************************************
+ Component Selectors
+**************************************************************************/
+
+enum {
+ kASSelectInit = 0x1001,
+ kASSelectSetSourceStyles = 0x1002,
+ kASSelectGetSourceStyles = 0x1003,
+ kASSelectGetSourceStyleNames = 0x1004
+};
+
+
+/**************************************************************************
+ OSAGetScriptInfo Selectors
+**************************************************************************/
+enum {
+ kASHasOpenHandler = FOUR_CHAR_CODE('hsod')
+};
+
+/*
+ This selector is used to query a context as to whether it contains
+ a handler for the kAEOpenDocuments event. This allows "applets" to be
+ distinguished from "droplets." OSAGetScriptInfo returns false if
+ there is no kAEOpenDocuments handler, and returns the error value
+ errOSAInvalidAccess if the input is not a context.
+ */
+/**************************************************************************
+ Initialization
+**************************************************************************/
+/*
+ * ASInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASInit(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ long minStackSize,
+ long preferredStackSize,
+ long maxStackSize,
+ long minHeapSize,
+ long preferredHeapSize,
+ long maxHeapSize) FIVEWORDINLINE(0x2F3C, 0x001C, 0x1001, 0x7000, 0xA82A);
+
+
+/*
+ ComponentCallNow(kASSelectInit, 28);
+ This call can be used to explicitly initialize AppleScript. If it is
+ not called, the a scripting size resource is looked for and used. If
+ there is no scripting size resource, then the constants listed below
+ are used. If at any stage (the init call, the size resource, the
+ defaults) any of these parameters are zero, then parameters from the
+ next stage are used. ModeFlags are not currently used.
+ Errors:
+ errOSASystemError initialization failed
+ */
+/*
+ These values will be used if ASInit is not called explicitly, or if any
+ of ASInit's parameters are zero:
+*/
+enum {
+ kASDefaultMinStackSize = 4 * 1024,
+ kASDefaultPreferredStackSize = 16 * 1024,
+ kASDefaultMaxStackSize = 16 * 1024,
+ kASDefaultMinHeapSize = 4 * 1024,
+ kASDefaultPreferredHeapSize = 16 * 1024,
+ kASDefaultMaxHeapSize = 32L * 1024 * 1024
+};
+
+/**************************************************************************
+ Source Styles
+**************************************************************************/
+/*
+ * ASSetSourceStyles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASSetSourceStyles(
+ ComponentInstance scriptingComponent,
+ STHandle sourceStyles) FIVEWORDINLINE(0x2F3C, 0x0004, 0x1002, 0x7000, 0xA82A);
+
+
+/*
+ ComponentCallNow(kASSelectSetSourceStyles, 4);
+ Errors:
+ errOSASystemError operation failed
*/
- enum {
- typeAppleScript = FOUR_CHAR_CODE('ascr'),
- kAppleScriptSubtype = typeAppleScript,
- typeASStorage = typeAppleScript
- };
-
- /**************************************************************************
- Component Selectors
- **************************************************************************/
-
- enum
- {
- kASSelectInit = 0x1001,
- kASSelectSetSourceStyles = 0x1002,
- kASSelectGetSourceStyles = 0x1003,
- kASSelectGetSourceStyleNames = 0x1004
- };
-
-
- /**************************************************************************
- OSAGetScriptInfo Selectors
- **************************************************************************/
- enum
- {
- kASHasOpenHandler = FOUR_CHAR_CODE('hsod')
- };
-
- /*
- This selector is used to query a context as to whether it contains
- a handler for the kAEOpenDocuments event. This allows "applets" to be
- distinguished from "droplets." OSAGetScriptInfo returns false if
- there is no kAEOpenDocuments handler, and returns the error value
- errOSAInvalidAccess if the input is not a context.
- */
- /**************************************************************************
- Initialization
- **************************************************************************/
- /*
- * ASInit()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASInit(
- ComponentInstance scriptingComponent,
- long modeFlags,
- long minStackSize,
- long preferredStackSize,
- long maxStackSize,
- long minHeapSize,
- long preferredHeapSize,
- long maxHeapSize) FIVEWORDINLINE(0x2F3C, 0x001C, 0x1001, 0x7000, 0xA82A);
-
-
- /*
- ComponentCallNow(kASSelectInit, 28);
- This call can be used to explicitly initialize AppleScript. If it is
- not called, the a scripting size resource is looked for and used. If
- there is no scripting size resource, then the constants listed below
- are used. If at any stage (the init call, the size resource, the
- defaults) any of these parameters are zero, then parameters from the
- next stage are used. ModeFlags are not currently used.
- Errors:
- errOSASystemError initialization failed
- */
- /*
- These values will be used if ASInit is not called explicitly, or if any
- of ASInit's parameters are zero:
+/*
+ * ASGetSourceStyles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASGetSourceStyles(
+ ComponentInstance scriptingComponent,
+ STHandle * resultingSourceStyles) FIVEWORDINLINE(0x2F3C, 0x0004, 0x1003, 0x7000, 0xA82A);
+
+
+/*
+ ComponentCallNow(kASSelectGetSourceStyles, 4);
+ Errors:
+ errOSASystemError operation failed
*/
- enum
- {
- kASDefaultMinStackSize = 4 * 1024,
- kASDefaultPreferredStackSize = 16 * 1024,
- kASDefaultMaxStackSize = 16 * 1024,
- kASDefaultMinHeapSize = 4 * 1024,
- kASDefaultPreferredHeapSize = 16 * 1024,
- kASDefaultMaxHeapSize = 32L * 1024 * 1024
- };
-
- /**************************************************************************
- Source Styles
- **************************************************************************/
- /*
- * ASSetSourceStyles()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASSetSourceStyles(
- ComponentInstance scriptingComponent,
- STHandle sourceStyles) FIVEWORDINLINE(0x2F3C, 0x0004, 0x1002, 0x7000, 0xA82A);
-
-
- /*
- ComponentCallNow(kASSelectSetSourceStyles, 4);
- Errors:
- errOSASystemError operation failed
- */
- /*
- * ASGetSourceStyles()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASGetSourceStyles(
- ComponentInstance scriptingComponent,
- STHandle * resultingSourceStyles) FIVEWORDINLINE(0x2F3C, 0x0004, 0x1003, 0x7000, 0xA82A);
-
-
- /*
- ComponentCallNow(kASSelectGetSourceStyles, 4);
- Errors:
- errOSASystemError operation failed
- */
- /*
- * ASGetSourceStyleNames()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- ASGetSourceStyleNames(
- ComponentInstance scriptingComponent,
- long modeFlags,
- AEDescList * resultingSourceStyleNamesList) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1004, 0x7000, 0xA82A);
-
-
- /*
- ComponentCallNow(kASSelectGetSourceStyleNames, 8);
- This call returns an AEList of styled text descriptors the names of the
- source styles in the current dialect. The order of the names corresponds
- to the order of the source style constants, below. The style of each
- name is the same as the styles returned by ASGetSourceStyles.
-
- Errors:
- errOSASystemError operation failed
- */
- /*
- Elements of STHandle correspond to following categories of tokens, and
- accessed through following index constants:
+/*
+ * ASGetSourceStyleNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+ASGetSourceStyleNames(
+ ComponentInstance scriptingComponent,
+ long modeFlags,
+ AEDescList * resultingSourceStyleNamesList) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1004, 0x7000, 0xA82A);
+
+
+/*
+ ComponentCallNow(kASSelectGetSourceStyleNames, 8);
+ This call returns an AEList of styled text descriptors the names of the
+ source styles in the current dialect. The order of the names corresponds
+ to the order of the source style constants, below. The style of each
+ name is the same as the styles returned by ASGetSourceStyles.
+
+ Errors:
+ errOSASystemError operation failed
*/
- enum
- {
- kASSourceStyleUncompiledText = 0,
- kASSourceStyleNormalText = 1,
- kASSourceStyleLanguageKeyword = 2,
- kASSourceStyleApplicationKeyword = 3,
- kASSourceStyleComment = 4,
- kASSourceStyleLiteral = 5,
- kASSourceStyleUserSymbol = 6,
- kASSourceStyleObjectSpecifier = 7,
- kASNumberOfSourceStyles = 8
- };
+/*
+ Elements of STHandle correspond to following categories of tokens, and
+ accessed through following index constants:
+*/
+enum {
+ kASSourceStyleUncompiledText = 0,
+ kASSourceStyleNormalText = 1,
+ kASSourceStyleLanguageKeyword = 2,
+ kASSourceStyleApplicationKeyword = 3,
+ kASSourceStyleComment = 4,
+ kASSourceStyleLiteral = 5,
+ kASSourceStyleUserSymbol = 6,
+ kASSourceStyleObjectSpecifier = 7,
+ kASNumberOfSourceStyles = 8
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/AppleTalk.h b/include/qt/AppleTalk.h
index 37191b682..d15b7097c 100644
--- a/include/qt/AppleTalk.h
+++ b/include/qt/AppleTalk.h
@@ -1,18 +1,18 @@
/*
File: AppleTalk.h
-
+
Contains: AppleTalk Interfaces.
-
+
Version: Technology: System 8.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-1999 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 __APPLETALK__
#define __APPLETALK__
@@ -41,190 +41,177 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- /* Driver unit numbers (ADSP is dynamic) */
- mppUnitNum = 9, /* MPP unit number */
- atpUnitNum = 10, /* ATP unit number */
- xppUnitNum = 40 /* XPP unit number */
- };
-
- enum
- {
- /* Driver refNums (ADSP is dynamic) */
- mppRefNum = -10, /* MPP reference number */
- atpRefNum = -11, /* ATP reference number */
- xppRefNum = -41 /* XPP reference number */
- };
-
- enum
- {
- /* .MPP csCodes */
- lookupReply = 242, /* This command queued to ourself */
- writeLAP = 243, /* Write out LAP packet */
- detachPH = 244, /* Detach LAP protocol handler */
- attachPH = 245, /* Attach LAP protocol handler */
- writeDDP = 246, /* Write out DDP packet */
- closeSkt = 247, /* Close DDP socket */
- openSkt = 248, /* Open DDP socket */
- loadNBP = 249, /* Load NBP command-executing code */
- lastResident = 249, /* Last resident command */
- confirmName = 250, /* Confirm name */
- lookupName = 251, /* Look up name on internet */
- removeName = 252, /* Remove name from Names Table */
- registerName = 253, /* Register name in Names Table */
- killNBP = 254, /* Kill outstanding NBP request */
- unloadNBP = 255, /* Unload NBP command code */
- setSelfSend = 256, /* MPP: Set to allow writes to self */
- SetMyZone = 257, /* Set my zone name */
- GetATalkInfo = 258, /* get AppleTalk information */
- ATalkClosePrep = 259 /* AppleTalk close query */
- };
-
- enum
- {
- /* .ATP csCodes */
- nSendRequest = 248, /* NSendRequest code */
- relRspCB = 249, /* Release RspCB */
- closeATPSkt = 250, /* Close ATP socket */
- addResponse = 251, /* Add response code | Require open skt */
- sendResponse = 252, /* Send response code */
- getRequest = 253, /* Get request code */
- openATPSkt = 254, /* Open ATP socket */
- sendRequest = 255, /* Send request code */
- relTCB = 256, /* Release TCB */
- killGetReq = 257, /* Kill GetRequest */
- killSendReq = 258, /* Kill SendRequest */
- killAllGetReq = 259 /* Kill all getRequests for a skt */
- };
-
- enum
- {
- /* .XPP csCodes */
- openSess = 255, /* Open session */
- closeSess = 254, /* Close session */
- userCommand = 253, /* User command */
- userWrite = 252, /* User write */
- getStatus = 251, /* Get status */
- afpCall = 250, /* AFP command (buffer has command code) */
- getParms = 249, /* Get parameters */
- abortOS = 248, /* Abort open session request */
- closeAll = 247, /* Close all open sessions */
- xCall = 246 /* .XPP extended calls */
- };
-
- enum
- {
- /* Transition Queue transition types */
- ATTransOpen = 0, /*AppleTalk has opened*/
- ATTransClose = 2, /*AppleTalk is about to close*/
- ATTransClosePrep = 3, /*Is it OK to close AppleTalk ?*/
- ATTransCancelClose = 4 /*Cancel the ClosePrep transition*/
- };
-
- enum
- {
- afpByteRangeLock = 1, /*AFPCall command codes*/
- afpVolClose = 2, /*AFPCall command codes*/
- afpDirClose = 3, /*AFPCall command codes*/
- afpForkClose = 4, /*AFPCall command codes*/
- afpCopyFile = 5, /*AFPCall command codes*/
- afpDirCreate = 6, /*AFPCall command codes*/
- afpFileCreate = 7, /*AFPCall command codes*/
- afpDelete = 8, /*AFPCall command codes*/
- afpEnumerate = 9, /*AFPCall command codes*/
- afpFlush = 10, /*AFPCall command codes*/
- afpForkFlush = 11, /*AFPCall command codes*/
- afpGetDirParms = 12, /*AFPCall command codes*/
- afpGetFileParms = 13, /*AFPCall command codes*/
- afpGetForkParms = 14, /*AFPCall command codes*/
- afpGetSInfo = 15, /*AFPCall command codes*/
- afpGetSParms = 16, /*AFPCall command codes*/
- afpGetVolParms = 17, /*AFPCall command codes*/
- afpLogin = 18, /*AFPCall command codes*/
- afpContLogin = 19, /*AFPCall command codes*/
- afpLogout = 20, /*AFPCall command codes*/
- afpMapID = 21, /*AFPCall command codes*/
- afpMapName = 22, /*AFPCall command codes*/
- afpMove = 23, /*AFPCall command codes*/
- afpOpenVol = 24, /*AFPCall command codes*/
- afpOpenDir = 25, /*AFPCall command codes*/
- afpOpenFork = 26, /*AFPCall command codes*/
- afpRead = 27, /*AFPCall command codes*/
- afpRename = 28, /*AFPCall command codes*/
- afpSetDirParms = 29, /*AFPCall command codes*/
- afpSetFileParms = 30, /*AFPCall command codes*/
- afpSetForkParms = 31, /*AFPCall command codes*/
- afpSetVolParms = 32, /*AFPCall command codes*/
- afpWrite = 33, /*AFPCall command codes*/
- afpGetFlDrParms = 34, /*AFPCall command codes*/
- afpSetFlDrParms = 35, /*AFPCall command codes*/
- afpDTOpen = 48, /*AFPCall command codes*/
- afpDTClose = 49, /*AFPCall command codes*/
- afpGetIcon = 51, /*AFPCall command codes*/
- afpGtIcnInfo = 52, /*AFPCall command codes*/
- afpAddAPPL = 53, /*AFPCall command codes*/
- afpRmvAPPL = 54, /*AFPCall command codes*/
- afpGetAPPL = 55, /*AFPCall command codes*/
- afpAddCmt = 56, /*AFPCall command codes*/
- afpRmvCmt = 57, /*AFPCall command codes*/
- afpGetCmt = 58, /*AFPCall command codes*/
- afpAddIcon = 192 /*Special code for ASP Write commands*/
- };
-
- enum
- {
- xppLoadedBit = 5, /* XPP bit in PortBUse */
- scbMemSize = 192, /* Size of memory for SCB */
- xppFlagClr = 0 /* Cs for AFPCommandBlock */
- };
-
- enum
- {
- xppFlagSet = 128 /* StartEndFlag & NewLineFlag fields. */
- };
-
- enum
- {
- lapSize = 20,
- ddpSize = 26,
- nbpSize = 26,
- atpSize = 56
- };
-
- enum
- {
- atpXOvalue = 32, /*ATP exactly-once bit */
- atpEOMvalue = 16, /*ATP End-Of-Message bit */
- atpSTSvalue = 8, /*ATP Send-Transmission-Status bit */
- atpTIDValidvalue = 2, /*ATP trans. ID valid bit */
- atpSendChkvalue = 1 /*ATP send checksum bit */
- };
-
- enum
- {
- zipGetLocalZones = 5,
- zipGetZoneList = 6,
- zipGetMyZone = 7
- };
-
- enum
- {
- LAPMgrPtr = 0x0B18 /*Entry point for LAP Manager*/
- };
-
- enum
- {
- LAPMgrCall = 2, /*Offset to LAP routines*/
- LAddAEQ = 23, /*LAPAddATQ routine selector*/
- LRmvAEQ = 24 /*LAPRmvATQ routine selector*/
- };
+enum {
+ /* Driver unit numbers (ADSP is dynamic) */
+ mppUnitNum = 9, /* MPP unit number */
+ atpUnitNum = 10, /* ATP unit number */
+ xppUnitNum = 40 /* XPP unit number */
+};
+
+enum {
+ /* Driver refNums (ADSP is dynamic) */
+ mppRefNum = -10, /* MPP reference number */
+ atpRefNum = -11, /* ATP reference number */
+ xppRefNum = -41 /* XPP reference number */
+};
+
+enum {
+ /* .MPP csCodes */
+ lookupReply = 242, /* This command queued to ourself */
+ writeLAP = 243, /* Write out LAP packet */
+ detachPH = 244, /* Detach LAP protocol handler */
+ attachPH = 245, /* Attach LAP protocol handler */
+ writeDDP = 246, /* Write out DDP packet */
+ closeSkt = 247, /* Close DDP socket */
+ openSkt = 248, /* Open DDP socket */
+ loadNBP = 249, /* Load NBP command-executing code */
+ lastResident = 249, /* Last resident command */
+ confirmName = 250, /* Confirm name */
+ lookupName = 251, /* Look up name on internet */
+ removeName = 252, /* Remove name from Names Table */
+ registerName = 253, /* Register name in Names Table */
+ killNBP = 254, /* Kill outstanding NBP request */
+ unloadNBP = 255, /* Unload NBP command code */
+ setSelfSend = 256, /* MPP: Set to allow writes to self */
+ SetMyZone = 257, /* Set my zone name */
+ GetATalkInfo = 258, /* get AppleTalk information */
+ ATalkClosePrep = 259 /* AppleTalk close query */
+};
+
+enum {
+ /* .ATP csCodes */
+ nSendRequest = 248, /* NSendRequest code */
+ relRspCB = 249, /* Release RspCB */
+ closeATPSkt = 250, /* Close ATP socket */
+ addResponse = 251, /* Add response code | Require open skt */
+ sendResponse = 252, /* Send response code */
+ getRequest = 253, /* Get request code */
+ openATPSkt = 254, /* Open ATP socket */
+ sendRequest = 255, /* Send request code */
+ relTCB = 256, /* Release TCB */
+ killGetReq = 257, /* Kill GetRequest */
+ killSendReq = 258, /* Kill SendRequest */
+ killAllGetReq = 259 /* Kill all getRequests for a skt */
+};
+
+enum {
+ /* .XPP csCodes */
+ openSess = 255, /* Open session */
+ closeSess = 254, /* Close session */
+ userCommand = 253, /* User command */
+ userWrite = 252, /* User write */
+ getStatus = 251, /* Get status */
+ afpCall = 250, /* AFP command (buffer has command code) */
+ getParms = 249, /* Get parameters */
+ abortOS = 248, /* Abort open session request */
+ closeAll = 247, /* Close all open sessions */
+ xCall = 246 /* .XPP extended calls */
+};
+
+enum {
+ /* Transition Queue transition types */
+ ATTransOpen = 0, /*AppleTalk has opened*/
+ ATTransClose = 2, /*AppleTalk is about to close*/
+ ATTransClosePrep = 3, /*Is it OK to close AppleTalk ?*/
+ ATTransCancelClose = 4 /*Cancel the ClosePrep transition*/
+};
+
+enum {
+ afpByteRangeLock = 1, /*AFPCall command codes*/
+ afpVolClose = 2, /*AFPCall command codes*/
+ afpDirClose = 3, /*AFPCall command codes*/
+ afpForkClose = 4, /*AFPCall command codes*/
+ afpCopyFile = 5, /*AFPCall command codes*/
+ afpDirCreate = 6, /*AFPCall command codes*/
+ afpFileCreate = 7, /*AFPCall command codes*/
+ afpDelete = 8, /*AFPCall command codes*/
+ afpEnumerate = 9, /*AFPCall command codes*/
+ afpFlush = 10, /*AFPCall command codes*/
+ afpForkFlush = 11, /*AFPCall command codes*/
+ afpGetDirParms = 12, /*AFPCall command codes*/
+ afpGetFileParms = 13, /*AFPCall command codes*/
+ afpGetForkParms = 14, /*AFPCall command codes*/
+ afpGetSInfo = 15, /*AFPCall command codes*/
+ afpGetSParms = 16, /*AFPCall command codes*/
+ afpGetVolParms = 17, /*AFPCall command codes*/
+ afpLogin = 18, /*AFPCall command codes*/
+ afpContLogin = 19, /*AFPCall command codes*/
+ afpLogout = 20, /*AFPCall command codes*/
+ afpMapID = 21, /*AFPCall command codes*/
+ afpMapName = 22, /*AFPCall command codes*/
+ afpMove = 23, /*AFPCall command codes*/
+ afpOpenVol = 24, /*AFPCall command codes*/
+ afpOpenDir = 25, /*AFPCall command codes*/
+ afpOpenFork = 26, /*AFPCall command codes*/
+ afpRead = 27, /*AFPCall command codes*/
+ afpRename = 28, /*AFPCall command codes*/
+ afpSetDirParms = 29, /*AFPCall command codes*/
+ afpSetFileParms = 30, /*AFPCall command codes*/
+ afpSetForkParms = 31, /*AFPCall command codes*/
+ afpSetVolParms = 32, /*AFPCall command codes*/
+ afpWrite = 33, /*AFPCall command codes*/
+ afpGetFlDrParms = 34, /*AFPCall command codes*/
+ afpSetFlDrParms = 35, /*AFPCall command codes*/
+ afpDTOpen = 48, /*AFPCall command codes*/
+ afpDTClose = 49, /*AFPCall command codes*/
+ afpGetIcon = 51, /*AFPCall command codes*/
+ afpGtIcnInfo = 52, /*AFPCall command codes*/
+ afpAddAPPL = 53, /*AFPCall command codes*/
+ afpRmvAPPL = 54, /*AFPCall command codes*/
+ afpGetAPPL = 55, /*AFPCall command codes*/
+ afpAddCmt = 56, /*AFPCall command codes*/
+ afpRmvCmt = 57, /*AFPCall command codes*/
+ afpGetCmt = 58, /*AFPCall command codes*/
+ afpAddIcon = 192 /*Special code for ASP Write commands*/
+};
+
+enum {
+ xppLoadedBit = 5, /* XPP bit in PortBUse */
+ scbMemSize = 192, /* Size of memory for SCB */
+ xppFlagClr = 0 /* Cs for AFPCommandBlock */
+};
+
+enum {
+ xppFlagSet = 128 /* StartEndFlag & NewLineFlag fields. */
+};
+
+enum {
+ lapSize = 20,
+ ddpSize = 26,
+ nbpSize = 26,
+ atpSize = 56
+};
+
+enum {
+ atpXOvalue = 32, /*ATP exactly-once bit */
+ atpEOMvalue = 16, /*ATP End-Of-Message bit */
+ atpSTSvalue = 8, /*ATP Send-Transmission-Status bit */
+ atpTIDValidvalue = 2, /*ATP trans. ID valid bit */
+ atpSendChkvalue = 1 /*ATP send checksum bit */
+};
+
+enum {
+ zipGetLocalZones = 5,
+ zipGetZoneList = 6,
+ zipGetMyZone = 7
+};
+
+enum {
+ LAPMgrPtr = 0x0B18 /*Entry point for LAP Manager*/
+};
+
+enum {
+ LAPMgrCall = 2, /*Offset to LAP routines*/
+ LAddAEQ = 23, /*LAPAddATQ routine selector*/
+ LRmvAEQ = 24 /*LAPRmvATQ routine selector*/
+};
#define MPPioCompletion MPP.ioCompletion
#define MPPioResult MPP.ioResult
@@ -270,2370 +257,2262 @@ extern "C" {
#define ATPbdsSize OTH2.bdsSize
#define ATPtransID OTH2.transID
#define ATPaKillQEl KILL.aKillQEl
- enum
- {
- tLAPRead = 0,
- tLAPWrite = 1,
- tDDPRead = 2,
- tDDPWrite = 3,
- tNBPLookup = 4,
- tNBPConfirm = 5,
- tNBPRegister = 6,
- tATPSndRequest = 7,
- tATPGetRequest = 8,
- tATPSdRsp = 9,
- tATPAddRsp = 10,
- tATPRequest = 11,
- tATPResponse = 12
- };
-
- typedef SInt8 ABCallType;
- enum
- {
- lapProto = 0,
- ddpProto = 1,
- nbpProto = 2,
- atpProto = 3
- };
-
- typedef UInt8 ABProtoType;
- typedef Byte ABByte;
- struct LAPAdrBlock
- {
- UInt8 dstNodeID;
- UInt8 srcNodeID;
- ABByte lapProtType;
- UInt8 filler; /* Filler for proper byte alignment*/
- };
- typedef struct LAPAdrBlock LAPAdrBlock;
- typedef struct ATQEntry ATQEntry;
-
- typedef ATQEntry * ATQEntryPtr;
- typedef CALLBACK_API_C(long , ATalkTransitionEventProcPtr)(long eventCode, ATQEntryPtr qElem, void *eventParameter);
- typedef STACK_UPP_TYPE(ATalkTransitionEventProcPtr) ATalkTransitionEventUPP;
- typedef ATalkTransitionEventUPP ATalkTransitionEvent;
- struct ATQEntry
- {
- struct ATQEntry * qLink; /*next queue entry*/
- short qType; /*queue type*/
- ATalkTransitionEventUPP CallAddr; /*your routine descriptor*/
- };
-
- /*
- Real definition of EntityName is 3 PACKED strings of any length (32 is just an example). No
- offests for Asm since each String address must be calculated by adding length byte to last string ptr.
- In Pascal, String(32) will be 34 bytes long since fields never start on an odd byte unless they are
- only a byte long. So this will generate correct looking interfaces for Pascal and C, but they will not
- be the same, which is OK since they are not used.
- */
- struct EntityName
- {
- Str32Field objStr;
- Str32Field typeStr;
- Str32Field zoneStr;
- };
- typedef struct EntityName EntityName;
- typedef EntityName * EntityPtr;
- struct AddrBlock
- {
- UInt16 aNet;
- UInt8 aNode;
- UInt8 aSocket;
- };
- typedef struct AddrBlock AddrBlock;
- struct RetransType
- {
- UInt8 retransInterval;
- UInt8 retransCount;
- };
- typedef struct RetransType RetransType;
- struct BDSElement
- {
- short buffSize;
- void * buffPtr;
- short dataSize;
- long userBytes;
- };
- typedef struct BDSElement BDSElement;
- typedef BDSElement BDSType[8];
- typedef BDSElement * BDSPtr;
- typedef char BitMapType;
- struct ATLAPRec
- {
- ABCallType abOpcode;
- SInt8 filler; /* Filler for proper byte alignment*/
- short abResult;
- long abUserReference;
- LAPAdrBlock lapAddress;
- short lapReqCount;
- short lapActCount;
- void * lapDataPtr;
- };
- typedef struct ATLAPRec ATLAPRec;
- typedef ATLAPRec * ATLAPRecPtr;
- typedef ATLAPRecPtr * ATLAPRecHandle;
- struct ATDDPRec
- {
- ABCallType abOpcode;
- SInt8 filler; /* Filler for proper byte alignment*/
- short abResult;
- long abUserReference;
- short ddpType;
- short ddpSocket;
- AddrBlock ddpAddress;
- short ddpReqCount;
- short ddpActCount;
- void * ddpDataPtr;
- short ddpNodeID;
- };
- typedef struct ATDDPRec ATDDPRec;
- typedef ATDDPRec * ATDDPRecPtr;
- typedef ATDDPRecPtr * ATDDPRecHandle;
- struct ATNBPRec
- {
- ABCallType abOpcode;
- SInt8 filler; /* Filler for proper byte alignment*/
- short abResult;
- long abUserReference;
- EntityPtr nbpEntityPtr;
- void * nbpBufPtr;
- short nbpBufSize;
- short nbpDataField;
- AddrBlock nbpAddress;
- RetransType nbpRetransmitInfo;
- };
- typedef struct ATNBPRec ATNBPRec;
- typedef ATNBPRec * ATNBPRecPtr;
- typedef ATNBPRecPtr * ATNBPRecHandle;
- struct ATATPRec
- {
- ABCallType abOpcode;
- SInt8 filler1; /* Filler for proper byte alignment*/
- short abResult;
- long abUserReference;
- short atpSocket;
- AddrBlock atpAddress;
- short atpReqCount;
- void * atpDataPtr;
- BDSPtr atpRspBDSPtr;
- BitMapType atpBitMap;
- SInt8 filler2; /* Filler for proper byte alignment*/
- short atpTransID;
- short atpActCount;
- long atpUserData;
- Boolean atpXO;
- Boolean atpEOM;
- short atpTimeOut;
- short atpRetries;
- short atpNumBufs;
- short atpNumRsp;
- short atpBDSSize;
- long atpRspUData;
- void * atpRspBuf;
- short atpRspSize;
- };
- typedef struct ATATPRec ATATPRec;
- typedef ATATPRec * ATATPRecPtr;
- typedef ATATPRecPtr * ATATPRecHandle;
- struct AFPCommandBlock
- {
- UInt8 cmdByte;
- UInt8 startEndFlag;
- short forkRefNum;
- long rwOffset;
- long reqCount;
- UInt8 newLineFlag;
- char newLineChar;
- };
- typedef struct AFPCommandBlock AFPCommandBlock;
- typedef union MPPParamBlock MPPParamBlock;
- typedef union ATPParamBlock ATPParamBlock;
- typedef union XPPParamBlock XPPParamBlock;
-
- typedef MPPParamBlock * MPPPBPtr;
- typedef ATPParamBlock * ATPPBPtr;
- typedef XPPParamBlock * XPPParmBlkPtr;
- typedef CALLBACK_API_REGISTER68K(void , MPPCompletionProcPtr, (MPPPBPtr thePBptr));
- typedef CALLBACK_API_REGISTER68K(void , ATPCompletionProcPtr, (ATPPBPtr thePBptr));
- typedef CALLBACK_API_REGISTER68K(void , XPPCompletionProcPtr, (XPPParmBlkPtr thePBptr));
- typedef CALLBACK_API_REGISTER68K(void , AttnRoutineProcPtr, (short sessRefnum, short attnBytes));
- typedef REGISTER_UPP_TYPE(MPPCompletionProcPtr) MPPCompletionUPP;
- typedef REGISTER_UPP_TYPE(ATPCompletionProcPtr) ATPCompletionUPP;
- typedef REGISTER_UPP_TYPE(XPPCompletionProcPtr) XPPCompletionUPP;
- typedef REGISTER_UPP_TYPE(AttnRoutineProcPtr) AttnRoutineUPP;
-
- struct WDSElement
- {
- short entryLength;
- Ptr entryPtr;
- };
- typedef struct WDSElement WDSElement;
- struct NTElement
- {
- AddrBlock nteAddress; /*network address of entity*/
- SInt8 filler;
- SInt8 entityData[99]; /*Object, Type & Zone*/
- };
- typedef struct NTElement NTElement;
- struct NamesTableEntry
- {
- Ptr qNext; /*ptr to next NTE*/
- NTElement nt;
- };
- typedef struct NamesTableEntry NamesTableEntry;
- typedef CALLBACK_API_REGISTER68K(Boolean , MPPProtocolHandlerProcPtr, (Ptr SCCAddr1, Ptr SCCAddr2, Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, short numBytesLeftToReadInPacket));
- typedef CALLBACK_API_REGISTER68K(Boolean , DDPSocketListenerProcPtr, (Ptr SCCAddr1, Ptr SCCAddr2, Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, UInt8 packetDestinationNumber, short numBytesLeftToReadInPacket));
- typedef REGISTER_UPP_TYPE(MPPProtocolHandlerProcPtr) MPPProtocolHandlerUPP;
- typedef REGISTER_UPP_TYPE(DDPSocketListenerProcPtr) DDPSocketListenerUPP;
- /*
- MPPProtocolHandlerProcs and DDPSocketListenerProcs cannot be written
- in or called from a high-level language without the help of mixed mode
- or assembly glue because they use the following parameter-passing conventions:
-
- typedef Boolean (*MPPProtocolHandlerProcPtr)(Ptr SCCAddr1, Ptr SCCAddr2,
- Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr,
- short numBytesLeftToReadInPacket);
-
- In:
- => SCCAddr1 A0.L
- => SCCAddr2 A1.L
- => MPPLocalVars A2.L
- => nextFreeByteInRHA A3.L
- => ReadPacketAndReadRestPtr A4.L
- => numBytesLeftToReadInPacket D1.W
- Out:
- <= Boolean Z bit of CCR
-
- typedef Boolean (*DDPSocketListenerProcPtr)(Ptr SCCAddr1, Ptr SCCAddr2,
- Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr,
- UInt8 packetDestinationNumber, short numBytesLeftToReadInPacket);
-
- In:
- => SCCAddr1 A0.L
- => SCCAddr2 A1.L
- => MPPLocalVars A2.L
- => nextFreeByteInRHA A3.L
- => ReadPacketAndReadRestPtr A4.L
- => packetDestinationNumber D0.B
- => numBytesLeftToReadInPacket D1.W
- Out:
- <= Boolean Z bit of CCR
-
- */
- struct MPPparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- };
- typedef struct MPPparms MPPparms;
- struct LAPparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 protType; /*ALAP protocol Type */
- UInt8 filler;
- union
- {
- void * wdsPointer; /*-> write data structure*/
- MPPProtocolHandlerUPP handler; /*-> protocol handler routine*/
- } u;
- };
- typedef struct LAPparms LAPparms;
- struct DDPparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 socket; /*socket number */
- UInt8 checksumFlag; /*check sum flag */
- union
- {
- void * wdsPointer; /*-> write data structure*/
- DDPSocketListenerUPP listener; /*->write data structure or -> Listener*/
- } u;
- };
- typedef struct DDPparms DDPparms;
- union NBPPtrs
- {
- Ptr ntQElPtr;
- Ptr entityPtr;
- };
- typedef union NBPPtrs NBPPtrs;
- union LookupConfirmParams
- {
- UInt8 verifyFlag;
- struct
- {
- void * retBuffPtr;
- short retBuffSize;
- short maxToGet;
- short numGotten;
- } Lookup;
- struct
- {
- AddrBlock confirmAddr;
- UInt8 newSocket;
- SInt8 filler; /* Filler for proper byte alignment*/
- } Confirm;
- };
- typedef union LookupConfirmParams LookupConfirmParams;
- struct NBPparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 interval; /*retry interval */
- UInt8 count; /*retry count */
- NBPPtrs nbpPtrs;
- LookupConfirmParams parm;
- };
- typedef struct NBPparms NBPparms;
- struct SetSelfparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 newSelfFlag; /*self-send toggle flag */
- UInt8 oldSelfFlag; /*previous self-send state */
- };
- typedef struct SetSelfparms SetSelfparms;
- struct NBPKillparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- void * nKillQEl; /*ptr to i/o queue element to cancel */
- };
- typedef struct NBPKillparms NBPKillparms;
-
- struct GetAppleTalkInfoParm
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- /*max. concurrent NBP requests*/
- short version; /*requested info version*/
- void * varsPtr; /*pointer to well known MPP vars*/
- void * DCEPtr; /*pointer to MPP DCE*/
- short portID; /*port number [0..7]*/
- long configuration; /*32-bit configuration word*/
- short selfSend; /*non zero if SelfSend enabled*/
- short netLo; /*low value of network range*/
- short netHi; /*high value of network range*/
- long ourAdd; /*our 24-bit AppleTalk address*/
- long routerAddr; /*24-bit address of (last) router*/
- short numOfPHs; /*max. number of protocol handlers*/
- short numOfSkts; /*max. number of static sockets*/
- short numNBPEs; /*max. concurrent NBP requests*/
- void * nTQueue; /*pointer to registered name queue*/
- short LAlength; /*length in bytes of data link addr*/
- void * linkAddr; /*data link address returned*/
- Ptr zoneName; /*zone name returned*/
- };
- typedef struct GetAppleTalkInfoParm GetAppleTalkInfoParm;
- struct ATalkClosePrepParm
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- Ptr appName; /*pointer to application name in buffer*/
- };
- typedef struct ATalkClosePrepParm ATalkClosePrepParm;
- union MPPParamBlock
- {
- MPPparms MPP; /*General MPP parms*/
- LAPparms LAP; /*ALAP calls*/
- DDPparms DDP; /*DDP calls*/
- NBPparms NBP; /*NBP calls*/
- SetSelfparms SETSELF;
- NBPKillparms NBPKILL;
- GetAppleTalkInfoParm GAIINFO;
- ATalkClosePrepParm ATALKCLOSE;
- };
-
- struct XPPPrmBlk
- {
- QElem * qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- XPPCompletionUPP ioCompletion;
- OSErr ioResult;
- long cmdResult;
- short ioVRefNum;
- short ioRefNum;
- short csCode;
- short sessRefnum; /*Offset to session refnum */
- UInt8 aspTimeout; /*Timeout for ATP */
- UInt8 aspRetry; /*Retry count for ATP */
- short cbSize; /*Command block size */
- Ptr cbPtr; /*Command block pointer */
- short rbSize; /*Reply buffer size */
- Ptr rbPtr; /*Reply buffer pointer */
- short wdSize; /*Write Data size*/
- Ptr wdPtr; /*Write Data pointer*/
- UInt8 ccbStart[296]; /*CCB memory allocated for driver afpWrite max size(CCB)=296 all other calls=150*/
- };
- typedef struct XPPPrmBlk XPPPrmBlk;
- struct ASPGetparmsBlk
- {
- QElem * qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- XPPCompletionUPP ioCompletion;
- OSErr ioResult;
- long cmdResult;
- short ioVRefNum;
- short ioRefNum;
- short csCode;
- short aspMaxCmdSize; /*For SPGetParms*/
- short aspQuantumSize;
- short numSesss;
- };
- typedef struct ASPGetparmsBlk ASPGetparmsBlk;
- struct ASPAbortPrm
- {
- QElem * qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- XPPCompletionUPP ioCompletion;
- OSErr ioResult;
- long cmdResult;
- short ioVRefNum;
- short ioRefNum;
- short csCode;
- Ptr abortSCBPtr; /*SCB pointer for AbortOS */
- };
- typedef struct ASPAbortPrm ASPAbortPrm;
- struct ASPOpenPrm
- {
- QElem * qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- XPPCompletionUPP ioCompletion;
- OSErr ioResult;
- long cmdResult;
- short ioVRefNum;
- short ioRefNum;
- short csCode;
- short sessRefnum; /*Offset to session refnum */
- UInt8 aspTimeout; /*Timeout for ATP */
- UInt8 aspRetry; /*Retry count for ATP */
- AddrBlock serverAddr; /*Server address block */
- Ptr scbPointer; /*SCB pointer */
- AttnRoutineUPP attnRoutine; /*Attention routine pointer*/
- };
- typedef struct ASPOpenPrm ASPOpenPrm;
- typedef ASPOpenPrm * ASPOpenPrmPtr;
- struct AFPLoginPrm
- {
- QElem * qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- XPPCompletionUPP ioCompletion;
- OSErr ioResult;
- long cmdResult;
- short ioVRefNum;
- short ioRefNum;
- short csCode;
- short sessRefnum; /*Offset to session refnum */
- UInt8 aspTimeout; /*Timeout for ATP */
- UInt8 aspRetry; /*Retry count for ATP */
- short cbSize; /*Command block size */
- void * cbPtr; /*Command block pointer */
- short rbSize; /*Reply buffer size */
- void * rbPtr; /*Reply buffer pointer */
- AddrBlock afpAddrBlock; /*block in AFP login */
- void * afpSCBPtr; /*SCB pointer in AFP login */
- AttnRoutineUPP afpAttnRoutine; /*routine pointer in AFP login */
- UInt8 ccbFill[144]; /*CCB memory allocated for driver Login needs only 150 bytes BUT CCB really starts in the middle of AFPSCBPtr and also clobbers AFPAttnRoutine. */
- };
- typedef struct AFPLoginPrm AFPLoginPrm;
- struct XCallParam
- {
- QElem * qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- XPPCompletionUPP ioCompletion;
- OSErr ioResult;
- long cmdResult;
- short ioVRefNum;
- short ioRefNum;
- short csCode;
- short xppSubCode;
- UInt8 xppTimeout; /*retry interval (seconds)*/
- UInt8 xppRetry; /*retry count*/
- short filler1;
- void * zipBuffPtr; /*pointer to buffer (must be 578 bytes)*/
- short zipNumZones; /*no. of zone names in this response*/
- UInt8 zipLastFlag; /*non-zero if no more zones*/
- UInt8 filler2; /*filler*/
- UInt8 zipInfoField[70]; /*on initial call, set first word to zero*/
- };
- typedef struct XCallParam XCallParam;
- union XPPParamBlock
- {
- XPPPrmBlk XPP;
- ASPGetparmsBlk GETPARM;
- ASPAbortPrm ABORT;
- ASPOpenPrm OPEN;
- AFPLoginPrm LOGIN;
- XCallParam XCALL;
- };
-
-
- struct ATPparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
- UInt8 atpFlags; /*control information*/
- AddrBlock addrBlock; /*source/dest. socket address*/
- short reqLength; /*request/response length*/
- void * reqPointer; /*->request/response Data*/
- void * bdsPointer; /*->response BDS */
- };
- typedef struct ATPparms ATPparms;
- struct SendReqparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
- UInt8 atpFlags; /*control information*/
- AddrBlock addrBlock; /*source/dest. socket address*/
- short reqLength; /*request/response length*/
- void * reqPointer; /*->request/response Data*/
- void * bdsPointer; /*->response BDS */
- UInt8 numOfBuffs; /*numOfBuffs */
- UInt8 timeOutVal; /*timeout interval */
- UInt8 numOfResps; /*number of responses actually received */
- UInt8 retryCount; /*number of retries */
- short intBuff; /*used internally for NSendRequest */
- UInt8 TRelTime; /*TRelease time for extended send request */
- SInt8 filler0;
- };
- typedef struct SendReqparms SendReqparms;
-
- struct ATPmisc1
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
- UInt8 atpFlags; /*control information*/
- AddrBlock addrBlock; /*source/dest. socket address*/
- short reqLength; /*request/response length*/
- void * reqPointer; /*->request/response Data*/
- void * bdsPointer; /*->response BDS */
- union
- {
- UInt8 bitMap; /*bitmap received */
- UInt8 numOfBuffs; /*number of responses being sent*/
- UInt8 rspNum; /*sequence number*/
- } u;
- };
- typedef struct ATPmisc1 ATPmisc1;
- struct ATPmisc2
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
- UInt8 atpFlags; /*control information*/
- AddrBlock addrBlock; /*source/dest. socket address*/
- short reqLength; /*request/response length*/
- void * reqPointer; /*->request/response Data*/
- void * bdsPointer; /*->response BDS */
- UInt8 filler;
- UInt8 bdsSize; /*number of BDS elements */
- short transID; /*transaction ID recd. */
- };
- typedef struct ATPmisc2 ATPmisc2;
- struct Killparms
- {
- QElem * qLink; /*next queue entry*/
- short qType; /*queue type*/
- short ioTrap; /*routine trap*/
- Ptr ioCmdAddr; /*routine address*/
- ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
- OSErr ioResult; /*result code*/
- long userData; /*Command result (ATP user bytes)*/
- short reqTID; /*request transaction ID*/
- short ioRefNum; /*driver reference number*/
- short csCode; /*Call command code*/
- UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
- UInt8 atpFlags; /*control information*/
- AddrBlock addrBlock; /*source/dest. socket address*/
- short reqLength; /*request/response length*/
- void * reqPointer; /*->request/response Data*/
- void * bdsPointer; /*->response BDS */
- void * aKillQEl; /*ptr to i/o queue element to cancel*/
- };
- typedef struct Killparms Killparms;
- union ATPParamBlock
- {
- ATPparms ATP; /*General ATP parms*/
- SendReqparms SREQ; /*sendrequest parms*/
- ATPmisc1 OTH1; /*and a few others*/
- ATPmisc2 OTH2; /*and a few others*/
- Killparms KILL; /*and a few others*/
- };
+enum {
+ tLAPRead = 0,
+ tLAPWrite = 1,
+ tDDPRead = 2,
+ tDDPWrite = 3,
+ tNBPLookup = 4,
+ tNBPConfirm = 5,
+ tNBPRegister = 6,
+ tATPSndRequest = 7,
+ tATPGetRequest = 8,
+ tATPSdRsp = 9,
+ tATPAddRsp = 10,
+ tATPRequest = 11,
+ tATPResponse = 12
+};
+
+typedef SInt8 ABCallType;
+enum {
+ lapProto = 0,
+ ddpProto = 1,
+ nbpProto = 2,
+ atpProto = 3
+};
+
+typedef UInt8 ABProtoType;
+typedef Byte ABByte;
+struct LAPAdrBlock {
+ UInt8 dstNodeID;
+ UInt8 srcNodeID;
+ ABByte lapProtType;
+ UInt8 filler; /* Filler for proper byte alignment*/
+};
+typedef struct LAPAdrBlock LAPAdrBlock;
+typedef struct ATQEntry ATQEntry;
+
+typedef ATQEntry * ATQEntryPtr;
+typedef CALLBACK_API_C( long , ATalkTransitionEventProcPtr )(long eventCode, ATQEntryPtr qElem, void *eventParameter);
+typedef STACK_UPP_TYPE(ATalkTransitionEventProcPtr) ATalkTransitionEventUPP;
+typedef ATalkTransitionEventUPP ATalkTransitionEvent;
+struct ATQEntry {
+ struct ATQEntry * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ ATalkTransitionEventUPP CallAddr; /*your routine descriptor*/
+};
+
+/*
+ Real definition of EntityName is 3 PACKED strings of any length (32 is just an example). No
+ offests for Asm since each String address must be calculated by adding length byte to last string ptr.
+ In Pascal, String(32) will be 34 bytes long since fields never start on an odd byte unless they are
+ only a byte long. So this will generate correct looking interfaces for Pascal and C, but they will not
+ be the same, which is OK since they are not used.
+*/
+struct EntityName {
+ Str32Field objStr;
+ Str32Field typeStr;
+ Str32Field zoneStr;
+};
+typedef struct EntityName EntityName;
+typedef EntityName * EntityPtr;
+struct AddrBlock {
+ UInt16 aNet;
+ UInt8 aNode;
+ UInt8 aSocket;
+};
+typedef struct AddrBlock AddrBlock;
+struct RetransType {
+ UInt8 retransInterval;
+ UInt8 retransCount;
+};
+typedef struct RetransType RetransType;
+struct BDSElement {
+ short buffSize;
+ void * buffPtr;
+ short dataSize;
+ long userBytes;
+};
+typedef struct BDSElement BDSElement;
+typedef BDSElement BDSType[8];
+typedef BDSElement * BDSPtr;
+typedef char BitMapType;
+struct ATLAPRec {
+ ABCallType abOpcode;
+ SInt8 filler; /* Filler for proper byte alignment*/
+ short abResult;
+ long abUserReference;
+ LAPAdrBlock lapAddress;
+ short lapReqCount;
+ short lapActCount;
+ void * lapDataPtr;
+};
+typedef struct ATLAPRec ATLAPRec;
+typedef ATLAPRec * ATLAPRecPtr;
+typedef ATLAPRecPtr * ATLAPRecHandle;
+struct ATDDPRec {
+ ABCallType abOpcode;
+ SInt8 filler; /* Filler for proper byte alignment*/
+ short abResult;
+ long abUserReference;
+ short ddpType;
+ short ddpSocket;
+ AddrBlock ddpAddress;
+ short ddpReqCount;
+ short ddpActCount;
+ void * ddpDataPtr;
+ short ddpNodeID;
+};
+typedef struct ATDDPRec ATDDPRec;
+typedef ATDDPRec * ATDDPRecPtr;
+typedef ATDDPRecPtr * ATDDPRecHandle;
+struct ATNBPRec {
+ ABCallType abOpcode;
+ SInt8 filler; /* Filler for proper byte alignment*/
+ short abResult;
+ long abUserReference;
+ EntityPtr nbpEntityPtr;
+ void * nbpBufPtr;
+ short nbpBufSize;
+ short nbpDataField;
+ AddrBlock nbpAddress;
+ RetransType nbpRetransmitInfo;
+};
+typedef struct ATNBPRec ATNBPRec;
+typedef ATNBPRec * ATNBPRecPtr;
+typedef ATNBPRecPtr * ATNBPRecHandle;
+struct ATATPRec {
+ ABCallType abOpcode;
+ SInt8 filler1; /* Filler for proper byte alignment*/
+ short abResult;
+ long abUserReference;
+ short atpSocket;
+ AddrBlock atpAddress;
+ short atpReqCount;
+ void * atpDataPtr;
+ BDSPtr atpRspBDSPtr;
+ BitMapType atpBitMap;
+ SInt8 filler2; /* Filler for proper byte alignment*/
+ short atpTransID;
+ short atpActCount;
+ long atpUserData;
+ Boolean atpXO;
+ Boolean atpEOM;
+ short atpTimeOut;
+ short atpRetries;
+ short atpNumBufs;
+ short atpNumRsp;
+ short atpBDSSize;
+ long atpRspUData;
+ void * atpRspBuf;
+ short atpRspSize;
+};
+typedef struct ATATPRec ATATPRec;
+typedef ATATPRec * ATATPRecPtr;
+typedef ATATPRecPtr * ATATPRecHandle;
+struct AFPCommandBlock {
+ UInt8 cmdByte;
+ UInt8 startEndFlag;
+ short forkRefNum;
+ long rwOffset;
+ long reqCount;
+ UInt8 newLineFlag;
+ char newLineChar;
+};
+typedef struct AFPCommandBlock AFPCommandBlock;
+typedef union MPPParamBlock MPPParamBlock;
+typedef union ATPParamBlock ATPParamBlock;
+typedef union XPPParamBlock XPPParamBlock;
+
+typedef MPPParamBlock * MPPPBPtr;
+typedef ATPParamBlock * ATPPBPtr;
+typedef XPPParamBlock * XPPParmBlkPtr;
+typedef CALLBACK_API_REGISTER68K( void , MPPCompletionProcPtr, (MPPPBPtr thePBptr) );
+typedef CALLBACK_API_REGISTER68K( void , ATPCompletionProcPtr, (ATPPBPtr thePBptr) );
+typedef CALLBACK_API_REGISTER68K( void , XPPCompletionProcPtr, (XPPParmBlkPtr thePBptr) );
+typedef CALLBACK_API_REGISTER68K( void , AttnRoutineProcPtr, (short sessRefnum, short attnBytes) );
+typedef REGISTER_UPP_TYPE(MPPCompletionProcPtr) MPPCompletionUPP;
+typedef REGISTER_UPP_TYPE(ATPCompletionProcPtr) ATPCompletionUPP;
+typedef REGISTER_UPP_TYPE(XPPCompletionProcPtr) XPPCompletionUPP;
+typedef REGISTER_UPP_TYPE(AttnRoutineProcPtr) AttnRoutineUPP;
+
+struct WDSElement {
+ short entryLength;
+ Ptr entryPtr;
+};
+typedef struct WDSElement WDSElement;
+struct NTElement {
+ AddrBlock nteAddress; /*network address of entity*/
+ SInt8 filler;
+ SInt8 entityData[99]; /*Object, Type & Zone*/
+};
+typedef struct NTElement NTElement;
+struct NamesTableEntry {
+ Ptr qNext; /*ptr to next NTE*/
+ NTElement nt;
+};
+typedef struct NamesTableEntry NamesTableEntry;
+typedef CALLBACK_API_REGISTER68K( Boolean , MPPProtocolHandlerProcPtr, (Ptr SCCAddr1, Ptr SCCAddr2, Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, short numBytesLeftToReadInPacket) );
+typedef CALLBACK_API_REGISTER68K( Boolean , DDPSocketListenerProcPtr, (Ptr SCCAddr1, Ptr SCCAddr2, Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, UInt8 packetDestinationNumber, short numBytesLeftToReadInPacket) );
+typedef REGISTER_UPP_TYPE(MPPProtocolHandlerProcPtr) MPPProtocolHandlerUPP;
+typedef REGISTER_UPP_TYPE(DDPSocketListenerProcPtr) DDPSocketListenerUPP;
+/*
+ MPPProtocolHandlerProcs and DDPSocketListenerProcs cannot be written
+ in or called from a high-level language without the help of mixed mode
+ or assembly glue because they use the following parameter-passing conventions:
+
+ typedef Boolean (*MPPProtocolHandlerProcPtr)(Ptr SCCAddr1, Ptr SCCAddr2,
+ Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr,
+ short numBytesLeftToReadInPacket);
+
+ In:
+ => SCCAddr1 A0.L
+ => SCCAddr2 A1.L
+ => MPPLocalVars A2.L
+ => nextFreeByteInRHA A3.L
+ => ReadPacketAndReadRestPtr A4.L
+ => numBytesLeftToReadInPacket D1.W
+ Out:
+ <= Boolean Z bit of CCR
+
+ typedef Boolean (*DDPSocketListenerProcPtr)(Ptr SCCAddr1, Ptr SCCAddr2,
+ Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr,
+ UInt8 packetDestinationNumber, short numBytesLeftToReadInPacket);
+
+ In:
+ => SCCAddr1 A0.L
+ => SCCAddr2 A1.L
+ => MPPLocalVars A2.L
+ => nextFreeByteInRHA A3.L
+ => ReadPacketAndReadRestPtr A4.L
+ => packetDestinationNumber D0.B
+ => numBytesLeftToReadInPacket D1.W
+ Out:
+ <= Boolean Z bit of CCR
+
+*/
+struct MPPparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+};
+typedef struct MPPparms MPPparms;
+struct LAPparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 protType; /*ALAP protocol Type */
+ UInt8 filler;
+ union {
+ void * wdsPointer; /*-> write data structure*/
+ MPPProtocolHandlerUPP handler; /*-> protocol handler routine*/
+ } u;
+};
+typedef struct LAPparms LAPparms;
+struct DDPparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 socket; /*socket number */
+ UInt8 checksumFlag; /*check sum flag */
+ union {
+ void * wdsPointer; /*-> write data structure*/
+ DDPSocketListenerUPP listener; /*->write data structure or -> Listener*/
+ } u;
+};
+typedef struct DDPparms DDPparms;
+union NBPPtrs {
+ Ptr ntQElPtr;
+ Ptr entityPtr;
+};
+typedef union NBPPtrs NBPPtrs;
+union LookupConfirmParams {
+ UInt8 verifyFlag;
+ struct {
+ void * retBuffPtr;
+ short retBuffSize;
+ short maxToGet;
+ short numGotten;
+ } Lookup;
+ struct {
+ AddrBlock confirmAddr;
+ UInt8 newSocket;
+ SInt8 filler; /* Filler for proper byte alignment*/
+ } Confirm;
+};
+typedef union LookupConfirmParams LookupConfirmParams;
+struct NBPparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 interval; /*retry interval */
+ UInt8 count; /*retry count */
+ NBPPtrs nbpPtrs;
+ LookupConfirmParams parm;
+};
+typedef struct NBPparms NBPparms;
+struct SetSelfparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 newSelfFlag; /*self-send toggle flag */
+ UInt8 oldSelfFlag; /*previous self-send state */
+};
+typedef struct SetSelfparms SetSelfparms;
+struct NBPKillparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ void * nKillQEl; /*ptr to i/o queue element to cancel */
+};
+typedef struct NBPKillparms NBPKillparms;
+
+struct GetAppleTalkInfoParm {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ /*max. concurrent NBP requests*/
+ short version; /*requested info version*/
+ void * varsPtr; /*pointer to well known MPP vars*/
+ void * DCEPtr; /*pointer to MPP DCE*/
+ short portID; /*port number [0..7]*/
+ long configuration; /*32-bit configuration word*/
+ short selfSend; /*non zero if SelfSend enabled*/
+ short netLo; /*low value of network range*/
+ short netHi; /*high value of network range*/
+ long ourAdd; /*our 24-bit AppleTalk address*/
+ long routerAddr; /*24-bit address of (last) router*/
+ short numOfPHs; /*max. number of protocol handlers*/
+ short numOfSkts; /*max. number of static sockets*/
+ short numNBPEs; /*max. concurrent NBP requests*/
+ void * nTQueue; /*pointer to registered name queue*/
+ short LAlength; /*length in bytes of data link addr*/
+ void * linkAddr; /*data link address returned*/
+ Ptr zoneName; /*zone name returned*/
+};
+typedef struct GetAppleTalkInfoParm GetAppleTalkInfoParm;
+struct ATalkClosePrepParm {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ Ptr appName; /*pointer to application name in buffer*/
+};
+typedef struct ATalkClosePrepParm ATalkClosePrepParm;
+union MPPParamBlock {
+ MPPparms MPP; /*General MPP parms*/
+ LAPparms LAP; /*ALAP calls*/
+ DDPparms DDP; /*DDP calls*/
+ NBPparms NBP; /*NBP calls*/
+ SetSelfparms SETSELF;
+ NBPKillparms NBPKILL;
+ GetAppleTalkInfoParm GAIINFO;
+ ATalkClosePrepParm ATALKCLOSE;
+};
+
+struct XPPPrmBlk {
+ QElem * qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ XPPCompletionUPP ioCompletion;
+ OSErr ioResult;
+ long cmdResult;
+ short ioVRefNum;
+ short ioRefNum;
+ short csCode;
+ short sessRefnum; /*Offset to session refnum */
+ UInt8 aspTimeout; /*Timeout for ATP */
+ UInt8 aspRetry; /*Retry count for ATP */
+ short cbSize; /*Command block size */
+ Ptr cbPtr; /*Command block pointer */
+ short rbSize; /*Reply buffer size */
+ Ptr rbPtr; /*Reply buffer pointer */
+ short wdSize; /*Write Data size*/
+ Ptr wdPtr; /*Write Data pointer*/
+ UInt8 ccbStart[296]; /*CCB memory allocated for driver afpWrite max size(CCB)=296 all other calls=150*/
+};
+typedef struct XPPPrmBlk XPPPrmBlk;
+struct ASPGetparmsBlk {
+ QElem * qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ XPPCompletionUPP ioCompletion;
+ OSErr ioResult;
+ long cmdResult;
+ short ioVRefNum;
+ short ioRefNum;
+ short csCode;
+ short aspMaxCmdSize; /*For SPGetParms*/
+ short aspQuantumSize;
+ short numSesss;
+};
+typedef struct ASPGetparmsBlk ASPGetparmsBlk;
+struct ASPAbortPrm {
+ QElem * qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ XPPCompletionUPP ioCompletion;
+ OSErr ioResult;
+ long cmdResult;
+ short ioVRefNum;
+ short ioRefNum;
+ short csCode;
+ Ptr abortSCBPtr; /*SCB pointer for AbortOS */
+};
+typedef struct ASPAbortPrm ASPAbortPrm;
+struct ASPOpenPrm {
+ QElem * qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ XPPCompletionUPP ioCompletion;
+ OSErr ioResult;
+ long cmdResult;
+ short ioVRefNum;
+ short ioRefNum;
+ short csCode;
+ short sessRefnum; /*Offset to session refnum */
+ UInt8 aspTimeout; /*Timeout for ATP */
+ UInt8 aspRetry; /*Retry count for ATP */
+ AddrBlock serverAddr; /*Server address block */
+ Ptr scbPointer; /*SCB pointer */
+ AttnRoutineUPP attnRoutine; /*Attention routine pointer*/
+};
+typedef struct ASPOpenPrm ASPOpenPrm;
+typedef ASPOpenPrm * ASPOpenPrmPtr;
+struct AFPLoginPrm {
+ QElem * qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ XPPCompletionUPP ioCompletion;
+ OSErr ioResult;
+ long cmdResult;
+ short ioVRefNum;
+ short ioRefNum;
+ short csCode;
+ short sessRefnum; /*Offset to session refnum */
+ UInt8 aspTimeout; /*Timeout for ATP */
+ UInt8 aspRetry; /*Retry count for ATP */
+ short cbSize; /*Command block size */
+ void * cbPtr; /*Command block pointer */
+ short rbSize; /*Reply buffer size */
+ void * rbPtr; /*Reply buffer pointer */
+ AddrBlock afpAddrBlock; /*block in AFP login */
+ void * afpSCBPtr; /*SCB pointer in AFP login */
+ AttnRoutineUPP afpAttnRoutine; /*routine pointer in AFP login */
+ UInt8 ccbFill[144]; /*CCB memory allocated for driver Login needs only 150 bytes BUT CCB really starts in the middle of AFPSCBPtr and also clobbers AFPAttnRoutine. */
+};
+typedef struct AFPLoginPrm AFPLoginPrm;
+struct XCallParam {
+ QElem * qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ XPPCompletionUPP ioCompletion;
+ OSErr ioResult;
+ long cmdResult;
+ short ioVRefNum;
+ short ioRefNum;
+ short csCode;
+ short xppSubCode;
+ UInt8 xppTimeout; /*retry interval (seconds)*/
+ UInt8 xppRetry; /*retry count*/
+ short filler1;
+ void * zipBuffPtr; /*pointer to buffer (must be 578 bytes)*/
+ short zipNumZones; /*no. of zone names in this response*/
+ UInt8 zipLastFlag; /*non-zero if no more zones*/
+ UInt8 filler2; /*filler*/
+ UInt8 zipInfoField[70]; /*on initial call, set first word to zero*/
+};
+typedef struct XCallParam XCallParam;
+union XPPParamBlock {
+ XPPPrmBlk XPP;
+ ASPGetparmsBlk GETPARM;
+ ASPAbortPrm ABORT;
+ ASPOpenPrm OPEN;
+ AFPLoginPrm LOGIN;
+ XCallParam XCALL;
+};
+
+
+struct ATPparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
+ UInt8 atpFlags; /*control information*/
+ AddrBlock addrBlock; /*source/dest. socket address*/
+ short reqLength; /*request/response length*/
+ void * reqPointer; /*->request/response Data*/
+ void * bdsPointer; /*->response BDS */
+};
+typedef struct ATPparms ATPparms;
+struct SendReqparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
+ UInt8 atpFlags; /*control information*/
+ AddrBlock addrBlock; /*source/dest. socket address*/
+ short reqLength; /*request/response length*/
+ void * reqPointer; /*->request/response Data*/
+ void * bdsPointer; /*->response BDS */
+ UInt8 numOfBuffs; /*numOfBuffs */
+ UInt8 timeOutVal; /*timeout interval */
+ UInt8 numOfResps; /*number of responses actually received */
+ UInt8 retryCount; /*number of retries */
+ short intBuff; /*used internally for NSendRequest */
+ UInt8 TRelTime; /*TRelease time for extended send request */
+ SInt8 filler0;
+};
+typedef struct SendReqparms SendReqparms;
+
+struct ATPmisc1 {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
+ UInt8 atpFlags; /*control information*/
+ AddrBlock addrBlock; /*source/dest. socket address*/
+ short reqLength; /*request/response length*/
+ void * reqPointer; /*->request/response Data*/
+ void * bdsPointer; /*->response BDS */
+ union {
+ UInt8 bitMap; /*bitmap received */
+ UInt8 numOfBuffs; /*number of responses being sent*/
+ UInt8 rspNum; /*sequence number*/
+ } u;
+};
+typedef struct ATPmisc1 ATPmisc1;
+struct ATPmisc2 {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
+ UInt8 atpFlags; /*control information*/
+ AddrBlock addrBlock; /*source/dest. socket address*/
+ short reqLength; /*request/response length*/
+ void * reqPointer; /*->request/response Data*/
+ void * bdsPointer; /*->response BDS */
+ UInt8 filler;
+ UInt8 bdsSize; /*number of BDS elements */
+ short transID; /*transaction ID recd. */
+};
+typedef struct ATPmisc2 ATPmisc2;
+struct Killparms {
+ QElem * qLink; /*next queue entry*/
+ short qType; /*queue type*/
+ short ioTrap; /*routine trap*/
+ Ptr ioCmdAddr; /*routine address*/
+ ATPCompletionUPP ioCompletion; /*ATPCompletionUPP or MPPCompletionUPP*/
+ OSErr ioResult; /*result code*/
+ long userData; /*Command result (ATP user bytes)*/
+ short reqTID; /*request transaction ID*/
+ short ioRefNum; /*driver reference number*/
+ short csCode; /*Call command code*/
+ UInt8 atpSocket; /*currbitmap for requests or ATP socket number*/
+ UInt8 atpFlags; /*control information*/
+ AddrBlock addrBlock; /*source/dest. socket address*/
+ short reqLength; /*request/response length*/
+ void * reqPointer; /*->request/response Data*/
+ void * bdsPointer; /*->response BDS */
+ void * aKillQEl; /*ptr to i/o queue element to cancel*/
+};
+typedef struct Killparms Killparms;
+union ATPParamBlock {
+ ATPparms ATP; /*General ATP parms*/
+ SendReqparms SREQ; /*sendrequest parms*/
+ ATPmisc1 OTH1; /*and a few others*/
+ ATPmisc2 OTH2; /*and a few others*/
+ Killparms KILL; /*and a few others*/
+};
#if CALL_NOT_IN_CARBON
- /*
- * NewATalkTransitionEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ATalkTransitionEventUPP)
- NewATalkTransitionEventUPP(ATalkTransitionEventProcPtr userRoutine);
+/*
+ * NewATalkTransitionEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ATalkTransitionEventUPP )
+NewATalkTransitionEventUPP(ATalkTransitionEventProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATalkTransitionEventProcInfo = 0x00000FF1 }; /* 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATalkTransitionEventUPP) NewATalkTransitionEventUPP(ATalkTransitionEventProcPtr userRoutine)
- {
- return (ATalkTransitionEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppATalkTransitionEventProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewATalkTransitionEventUPP(userRoutine) (ATalkTransitionEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppATalkTransitionEventProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppATalkTransitionEventProcInfo = 0x00000FF1 }; /* 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATalkTransitionEventUPP) NewATalkTransitionEventUPP(ATalkTransitionEventProcPtr userRoutine) { return (ATalkTransitionEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppATalkTransitionEventProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewATalkTransitionEventUPP(userRoutine) (ATalkTransitionEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppATalkTransitionEventProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMPPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(MPPCompletionUPP)
- NewMPPCompletionUPP(MPPCompletionProcPtr userRoutine);
+/*
+ * NewMPPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( MPPCompletionUPP )
+NewMPPCompletionUPP(MPPCompletionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMPPCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MPPCompletionUPP) NewMPPCompletionUPP(MPPCompletionProcPtr userRoutine)
- {
- return (MPPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMPPCompletionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMPPCompletionUPP(userRoutine) (MPPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMPPCompletionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMPPCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MPPCompletionUPP) NewMPPCompletionUPP(MPPCompletionProcPtr userRoutine) { return (MPPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMPPCompletionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMPPCompletionUPP(userRoutine) (MPPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMPPCompletionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewATPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ATPCompletionUPP)
- NewATPCompletionUPP(ATPCompletionProcPtr userRoutine);
+/*
+ * NewATPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ATPCompletionUPP )
+NewATPCompletionUPP(ATPCompletionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppATPCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ATPCompletionUPP) NewATPCompletionUPP(ATPCompletionProcPtr userRoutine)
- {
- return (ATPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppATPCompletionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewATPCompletionUPP(userRoutine) (ATPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppATPCompletionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppATPCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ATPCompletionUPP) NewATPCompletionUPP(ATPCompletionProcPtr userRoutine) { return (ATPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppATPCompletionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewATPCompletionUPP(userRoutine) (ATPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppATPCompletionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewXPPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(XPPCompletionUPP)
- NewXPPCompletionUPP(XPPCompletionProcPtr userRoutine);
+/*
+ * NewXPPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( XPPCompletionUPP )
+NewXPPCompletionUPP(XPPCompletionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppXPPCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(XPPCompletionUPP) NewXPPCompletionUPP(XPPCompletionProcPtr userRoutine)
- {
- return (XPPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppXPPCompletionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewXPPCompletionUPP(userRoutine) (XPPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppXPPCompletionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppXPPCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(XPPCompletionUPP) NewXPPCompletionUPP(XPPCompletionProcPtr userRoutine) { return (XPPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppXPPCompletionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewXPPCompletionUPP(userRoutine) (XPPCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppXPPCompletionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewAttnRoutineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(AttnRoutineUPP)
- NewAttnRoutineUPP(AttnRoutineProcPtr userRoutine);
+/*
+ * NewAttnRoutineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( AttnRoutineUPP )
+NewAttnRoutineUPP(AttnRoutineProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAttnRoutineProcInfo = 0x00061002 }; /* register no_return_value Func(2_bytes:D0, 2_bytes:D1) */
-#ifdef __cplusplus
- inline DEFINE_API_C(AttnRoutineUPP) NewAttnRoutineUPP(AttnRoutineProcPtr userRoutine)
- {
- return (AttnRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAttnRoutineProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAttnRoutineUPP(userRoutine) (AttnRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAttnRoutineProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAttnRoutineProcInfo = 0x00061002 }; /* register no_return_value Func(2_bytes:D0, 2_bytes:D1) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AttnRoutineUPP) NewAttnRoutineUPP(AttnRoutineProcPtr userRoutine) { return (AttnRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAttnRoutineProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAttnRoutineUPP(userRoutine) (AttnRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAttnRoutineProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMPPProtocolHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(MPPProtocolHandlerUPP)
- NewMPPProtocolHandlerUPP(MPPProtocolHandlerProcPtr userRoutine);
+/*
+ * NewMPPProtocolHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( MPPProtocolHandlerUPP )
+NewMPPProtocolHandlerUPP(MPPProtocolHandlerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMPPProtocolHandlerProcInfo = 0x0000007F }; /* SPECIAL_CASE_PROCINFO(7) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MPPProtocolHandlerUPP) NewMPPProtocolHandlerUPP(MPPProtocolHandlerProcPtr userRoutine)
- {
- return (MPPProtocolHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMPPProtocolHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMPPProtocolHandlerUPP(userRoutine) (MPPProtocolHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMPPProtocolHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMPPProtocolHandlerProcInfo = 0x0000007F }; /* SPECIAL_CASE_PROCINFO(7) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MPPProtocolHandlerUPP) NewMPPProtocolHandlerUPP(MPPProtocolHandlerProcPtr userRoutine) { return (MPPProtocolHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMPPProtocolHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMPPProtocolHandlerUPP(userRoutine) (MPPProtocolHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMPPProtocolHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDDPSocketListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DDPSocketListenerUPP)
- NewDDPSocketListenerUPP(DDPSocketListenerProcPtr userRoutine);
+/*
+ * NewDDPSocketListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DDPSocketListenerUPP )
+NewDDPSocketListenerUPP(DDPSocketListenerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDDPSocketListenerProcInfo = 0x0000008F }; /* SPECIAL_CASE_PROCINFO(8) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DDPSocketListenerUPP) NewDDPSocketListenerUPP(DDPSocketListenerProcPtr userRoutine)
- {
- return (DDPSocketListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDDPSocketListenerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDDPSocketListenerUPP(userRoutine) (DDPSocketListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDDPSocketListenerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDDPSocketListenerProcInfo = 0x0000008F }; /* SPECIAL_CASE_PROCINFO(8) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DDPSocketListenerUPP) NewDDPSocketListenerUPP(DDPSocketListenerProcPtr userRoutine) { return (DDPSocketListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDDPSocketListenerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDDPSocketListenerUPP(userRoutine) (DDPSocketListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDDPSocketListenerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeATalkTransitionEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeATalkTransitionEventUPP(ATalkTransitionEventUPP userUPP);
+/*
+ * DisposeATalkTransitionEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeATalkTransitionEventUPP(ATalkTransitionEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATalkTransitionEventUPP(ATalkTransitionEventUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeATalkTransitionEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATalkTransitionEventUPP(ATalkTransitionEventUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeATalkTransitionEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMPPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeMPPCompletionUPP(MPPCompletionUPP userUPP);
+/*
+ * DisposeMPPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeMPPCompletionUPP(MPPCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMPPCompletionUPP(MPPCompletionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMPPCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMPPCompletionUPP(MPPCompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMPPCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeATPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeATPCompletionUPP(ATPCompletionUPP userUPP);
+/*
+ * DisposeATPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeATPCompletionUPP(ATPCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeATPCompletionUPP(ATPCompletionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeATPCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeATPCompletionUPP(ATPCompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeATPCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeXPPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeXPPCompletionUPP(XPPCompletionUPP userUPP);
+/*
+ * DisposeXPPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeXPPCompletionUPP(XPPCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeXPPCompletionUPP(XPPCompletionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeXPPCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeXPPCompletionUPP(XPPCompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeXPPCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeAttnRoutineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeAttnRoutineUPP(AttnRoutineUPP userUPP);
+/*
+ * DisposeAttnRoutineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeAttnRoutineUPP(AttnRoutineUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAttnRoutineUPP(AttnRoutineUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAttnRoutineUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAttnRoutineUPP(AttnRoutineUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAttnRoutineUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMPPProtocolHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeMPPProtocolHandlerUPP(MPPProtocolHandlerUPP userUPP);
+/*
+ * DisposeMPPProtocolHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeMPPProtocolHandlerUPP(MPPProtocolHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMPPProtocolHandlerUPP(MPPProtocolHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMPPProtocolHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMPPProtocolHandlerUPP(MPPProtocolHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMPPProtocolHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDDPSocketListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeDDPSocketListenerUPP(DDPSocketListenerUPP userUPP);
+/*
+ * DisposeDDPSocketListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeDDPSocketListenerUPP(DDPSocketListenerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDDPSocketListenerUPP(DDPSocketListenerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDDPSocketListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDDPSocketListenerUPP(DDPSocketListenerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDDPSocketListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeATalkTransitionEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- InvokeATalkTransitionEventUPP(
- long eventCode,
- ATQEntryPtr qElem,
- void * eventParameter,
- ATalkTransitionEventUPP userUPP);
+/*
+ * InvokeATalkTransitionEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+InvokeATalkTransitionEventUPP(
+ long eventCode,
+ ATQEntryPtr qElem,
+ void * eventParameter,
+ ATalkTransitionEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(long) InvokeATalkTransitionEventUPP(long eventCode, ATQEntryPtr qElem, void * eventParameter, ATalkTransitionEventUPP userUPP)
- {
- return (long)CALL_THREE_PARAMETER_UPP(userUPP, uppATalkTransitionEventProcInfo, eventCode, qElem, eventParameter);
- }
-#else
-#define InvokeATalkTransitionEventUPP(eventCode, qElem, eventParameter, userUPP) (long)CALL_THREE_PARAMETER_UPP((userUPP), uppATalkTransitionEventProcInfo, (eventCode), (qElem), (eventParameter))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long) InvokeATalkTransitionEventUPP(long eventCode, ATQEntryPtr qElem, void * eventParameter, ATalkTransitionEventUPP userUPP) { return (long)CALL_THREE_PARAMETER_UPP(userUPP, uppATalkTransitionEventProcInfo, eventCode, qElem, eventParameter); }
+ #else
+ #define InvokeATalkTransitionEventUPP(eventCode, qElem, eventParameter, userUPP) (long)CALL_THREE_PARAMETER_UPP((userUPP), uppATalkTransitionEventProcInfo, (eventCode), (qElem), (eventParameter))
+ #endif
#endif
- /*
- * InvokeMPPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InvokeMPPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeMPPCompletionUPP(__A0, __A1)
#endif
- EXTERN_API_C(void)
- InvokeMPPCompletionUPP(
- MPPPBPtr thePBptr,
- MPPCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( void )
+InvokeMPPCompletionUPP(
+ MPPPBPtr thePBptr,
+ MPPCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeMPPCompletionUPP(MPPPBPtr thePBptr, MPPCompletionUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppMPPCompletionProcInfo, thePBptr);
- }
-#else
-#define InvokeMPPCompletionUPP(thePBptr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppMPPCompletionProcInfo, (thePBptr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeMPPCompletionUPP(MPPPBPtr thePBptr, MPPCompletionUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppMPPCompletionProcInfo, thePBptr); }
+ #else
+ #define InvokeMPPCompletionUPP(thePBptr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppMPPCompletionProcInfo, (thePBptr))
+ #endif
#endif
- /*
- * InvokeATPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InvokeATPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeATPCompletionUPP(__A0, __A1)
#endif
- EXTERN_API_C(void)
- InvokeATPCompletionUPP(
- ATPPBPtr thePBptr,
- ATPCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( void )
+InvokeATPCompletionUPP(
+ ATPPBPtr thePBptr,
+ ATPCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeATPCompletionUPP(ATPPBPtr thePBptr, ATPCompletionUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppATPCompletionProcInfo, thePBptr);
- }
-#else
-#define InvokeATPCompletionUPP(thePBptr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppATPCompletionProcInfo, (thePBptr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeATPCompletionUPP(ATPPBPtr thePBptr, ATPCompletionUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppATPCompletionProcInfo, thePBptr); }
+ #else
+ #define InvokeATPCompletionUPP(thePBptr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppATPCompletionProcInfo, (thePBptr))
+ #endif
#endif
- /*
- * InvokeXPPCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InvokeXPPCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeXPPCompletionUPP(__A0, __A1)
#endif
- EXTERN_API_C(void)
- InvokeXPPCompletionUPP(
- XPPParmBlkPtr thePBptr,
- XPPCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( void )
+InvokeXPPCompletionUPP(
+ XPPParmBlkPtr thePBptr,
+ XPPCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeXPPCompletionUPP(XPPParmBlkPtr thePBptr, XPPCompletionUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppXPPCompletionProcInfo, thePBptr);
- }
-#else
-#define InvokeXPPCompletionUPP(thePBptr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppXPPCompletionProcInfo, (thePBptr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeXPPCompletionUPP(XPPParmBlkPtr thePBptr, XPPCompletionUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppXPPCompletionProcInfo, thePBptr); }
+ #else
+ #define InvokeXPPCompletionUPP(thePBptr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppXPPCompletionProcInfo, (thePBptr))
+ #endif
#endif
- /*
- * InvokeAttnRoutineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InvokeAttnRoutineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeAttnRoutineUPP(__D0, __D1, __A0)
#endif
- EXTERN_API_C(void)
- InvokeAttnRoutineUPP(
- short sessRefnum,
- short attnBytes,
- AttnRoutineUPP userUPP) ONEWORDINLINE(0x4E90);
+EXTERN_API_C( void )
+InvokeAttnRoutineUPP(
+ short sessRefnum,
+ short attnBytes,
+ AttnRoutineUPP userUPP) ONEWORDINLINE(0x4E90);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeAttnRoutineUPP(short sessRefnum, short attnBytes, AttnRoutineUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppAttnRoutineProcInfo, sessRefnum, attnBytes);
- }
-#else
-#define InvokeAttnRoutineUPP(sessRefnum, attnBytes, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppAttnRoutineProcInfo, (sessRefnum), (attnBytes))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeAttnRoutineUPP(short sessRefnum, short attnBytes, AttnRoutineUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppAttnRoutineProcInfo, sessRefnum, attnBytes); }
+ #else
+ #define InvokeAttnRoutineUPP(sessRefnum, attnBytes, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppAttnRoutineProcInfo, (sessRefnum), (attnBytes))
+ #endif
#endif
- /*
- * InvokeMPPProtocolHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeMPPProtocolHandlerUPP(
- Ptr SCCAddr1,
- Ptr SCCAddr2,
- Ptr MPPLocalVars,
- Ptr nextFreeByteInRHA,
- Ptr ReadPacketAndReadRestPtr,
- short numBytesLeftToReadInPacket,
- MPPProtocolHandlerUPP userUPP);
+/*
+ * InvokeMPPProtocolHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeMPPProtocolHandlerUPP(
+ Ptr SCCAddr1,
+ Ptr SCCAddr2,
+ Ptr MPPLocalVars,
+ Ptr nextFreeByteInRHA,
+ Ptr ReadPacketAndReadRestPtr,
+ short numBytesLeftToReadInPacket,
+ MPPProtocolHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeMPPProtocolHandlerUPP(Ptr SCCAddr1, Ptr SCCAddr2, Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, short numBytesLeftToReadInPacket, MPPProtocolHandlerUPP userUPP)
- {
- return (Boolean)CALL_SIX_PARAMETER_UPP(userUPP, uppMPPProtocolHandlerProcInfo, SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, numBytesLeftToReadInPacket);
- }
-#else
-#define InvokeMPPProtocolHandlerUPP(SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, numBytesLeftToReadInPacket, userUPP) (Boolean)CALL_SIX_PARAMETER_UPP((userUPP), uppMPPProtocolHandlerProcInfo, (SCCAddr1), (SCCAddr2), (MPPLocalVars), (nextFreeByteInRHA), (ReadPacketAndReadRestPtr), (numBytesLeftToReadInPacket))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeMPPProtocolHandlerUPP(Ptr SCCAddr1, Ptr SCCAddr2, Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, short numBytesLeftToReadInPacket, MPPProtocolHandlerUPP userUPP) { return (Boolean)CALL_SIX_PARAMETER_UPP(userUPP, uppMPPProtocolHandlerProcInfo, SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, numBytesLeftToReadInPacket); }
+ #else
+ #define InvokeMPPProtocolHandlerUPP(SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, numBytesLeftToReadInPacket, userUPP) (Boolean)CALL_SIX_PARAMETER_UPP((userUPP), uppMPPProtocolHandlerProcInfo, (SCCAddr1), (SCCAddr2), (MPPLocalVars), (nextFreeByteInRHA), (ReadPacketAndReadRestPtr), (numBytesLeftToReadInPacket))
+ #endif
#endif
- /*
- * InvokeDDPSocketListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeDDPSocketListenerUPP(
- Ptr SCCAddr1,
- Ptr SCCAddr2,
- Ptr MPPLocalVars,
- Ptr nextFreeByteInRHA,
- Ptr ReadPacketAndReadRestPtr,
- UInt8 packetDestinationNumber,
- short numBytesLeftToReadInPacket,
- DDPSocketListenerUPP userUPP);
+/*
+ * InvokeDDPSocketListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeDDPSocketListenerUPP(
+ Ptr SCCAddr1,
+ Ptr SCCAddr2,
+ Ptr MPPLocalVars,
+ Ptr nextFreeByteInRHA,
+ Ptr ReadPacketAndReadRestPtr,
+ UInt8 packetDestinationNumber,
+ short numBytesLeftToReadInPacket,
+ DDPSocketListenerUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeDDPSocketListenerUPP(Ptr SCCAddr1, Ptr SCCAddr2, Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, UInt8 packetDestinationNumber, short numBytesLeftToReadInPacket, DDPSocketListenerUPP userUPP)
- {
- return (Boolean)CALL_SEVEN_PARAMETER_UPP(userUPP, uppDDPSocketListenerProcInfo, SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, packetDestinationNumber, numBytesLeftToReadInPacket);
- }
-#else
-#define InvokeDDPSocketListenerUPP(SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, packetDestinationNumber, numBytesLeftToReadInPacket, userUPP) (Boolean)CALL_SEVEN_PARAMETER_UPP((userUPP), uppDDPSocketListenerProcInfo, (SCCAddr1), (SCCAddr2), (MPPLocalVars), (nextFreeByteInRHA), (ReadPacketAndReadRestPtr), (packetDestinationNumber), (numBytesLeftToReadInPacket))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeDDPSocketListenerUPP(Ptr SCCAddr1, Ptr SCCAddr2, Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, UInt8 packetDestinationNumber, short numBytesLeftToReadInPacket, DDPSocketListenerUPP userUPP) { return (Boolean)CALL_SEVEN_PARAMETER_UPP(userUPP, uppDDPSocketListenerProcInfo, SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, packetDestinationNumber, numBytesLeftToReadInPacket); }
+ #else
+ #define InvokeDDPSocketListenerUPP(SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, packetDestinationNumber, numBytesLeftToReadInPacket, userUPP) (Boolean)CALL_SEVEN_PARAMETER_UPP((userUPP), uppDDPSocketListenerProcInfo, (SCCAddr1), (SCCAddr2), (MPPLocalVars), (nextFreeByteInRHA), (ReadPacketAndReadRestPtr), (packetDestinationNumber), (numBytesLeftToReadInPacket))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewATalkTransitionEventProc(userRoutine) NewATalkTransitionEventUPP(userRoutine)
-#define NewMPPCompletionProc(userRoutine) NewMPPCompletionUPP(userRoutine)
-#define NewATPCompletionProc(userRoutine) NewATPCompletionUPP(userRoutine)
-#define NewXPPCompletionProc(userRoutine) NewXPPCompletionUPP(userRoutine)
-#define NewAttnRoutineProc(userRoutine) NewAttnRoutineUPP(userRoutine)
-#define NewMPPProtocolHandlerProc(userRoutine) NewMPPProtocolHandlerUPP(userRoutine)
-#define NewDDPSocketListenerProc(userRoutine) NewDDPSocketListenerUPP(userRoutine)
-#define CallATalkTransitionEventProc(userRoutine, eventCode, qElem, eventParameter) InvokeATalkTransitionEventUPP(eventCode, qElem, eventParameter, userRoutine)
-#define CallMPPCompletionProc(userRoutine, thePBptr) InvokeMPPCompletionUPP(thePBptr, userRoutine)
-#define CallATPCompletionProc(userRoutine, thePBptr) InvokeATPCompletionUPP(thePBptr, userRoutine)
-#define CallXPPCompletionProc(userRoutine, thePBptr) InvokeXPPCompletionUPP(thePBptr, userRoutine)
-#define CallAttnRoutineProc(userRoutine, sessRefnum, attnBytes) InvokeAttnRoutineUPP(sessRefnum, attnBytes, userRoutine)
-#define CallMPPProtocolHandlerProc(userRoutine, SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, numBytesLeftToReadInPacket) InvokeMPPProtocolHandlerUPP(SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, numBytesLeftToReadInPacket, userRoutine)
-#define CallDDPSocketListenerProc(userRoutine, SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, packetDestinationNumber, numBytesLeftToReadInPacket) InvokeDDPSocketListenerUPP(SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, packetDestinationNumber, numBytesLeftToReadInPacket, userRoutine)
+ #define NewATalkTransitionEventProc(userRoutine) NewATalkTransitionEventUPP(userRoutine)
+ #define NewMPPCompletionProc(userRoutine) NewMPPCompletionUPP(userRoutine)
+ #define NewATPCompletionProc(userRoutine) NewATPCompletionUPP(userRoutine)
+ #define NewXPPCompletionProc(userRoutine) NewXPPCompletionUPP(userRoutine)
+ #define NewAttnRoutineProc(userRoutine) NewAttnRoutineUPP(userRoutine)
+ #define NewMPPProtocolHandlerProc(userRoutine) NewMPPProtocolHandlerUPP(userRoutine)
+ #define NewDDPSocketListenerProc(userRoutine) NewDDPSocketListenerUPP(userRoutine)
+ #define CallATalkTransitionEventProc(userRoutine, eventCode, qElem, eventParameter) InvokeATalkTransitionEventUPP(eventCode, qElem, eventParameter, userRoutine)
+ #define CallMPPCompletionProc(userRoutine, thePBptr) InvokeMPPCompletionUPP(thePBptr, userRoutine)
+ #define CallATPCompletionProc(userRoutine, thePBptr) InvokeATPCompletionUPP(thePBptr, userRoutine)
+ #define CallXPPCompletionProc(userRoutine, thePBptr) InvokeXPPCompletionUPP(thePBptr, userRoutine)
+ #define CallAttnRoutineProc(userRoutine, sessRefnum, attnBytes) InvokeAttnRoutineUPP(sessRefnum, attnBytes, userRoutine)
+ #define CallMPPProtocolHandlerProc(userRoutine, SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, numBytesLeftToReadInPacket) InvokeMPPProtocolHandlerUPP(SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, numBytesLeftToReadInPacket, userRoutine)
+ #define CallDDPSocketListenerProc(userRoutine, SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, packetDestinationNumber, numBytesLeftToReadInPacket) InvokeDDPSocketListenerUPP(SCCAddr1, SCCAddr2, MPPLocalVars, nextFreeByteInRHA, ReadPacketAndReadRestPtr, packetDestinationNumber, numBytesLeftToReadInPacket, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * OpenXPP()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- OpenXPP(short * xppRefnum);
-
-
- /*
- * ASPOpenSession()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ASPOpenSession(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * ASPCloseSession()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ASPCloseSession(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * ASPAbortOS()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ASPAbortOS(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * ASPGetParms()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ASPGetParms(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * ASPCloseAll()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ASPCloseAll(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * ASPUserWrite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ASPUserWrite(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * ASPUserCommand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ASPUserCommand(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * ASPGetStatus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ASPGetStatus(
- XPPParmBlkPtr thePBptr,
- Boolean async);
+/*
+ * OpenXPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+OpenXPP(short * xppRefnum);
+
+
+/*
+ * ASPOpenSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ASPOpenSession(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * ASPCloseSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ASPCloseSession(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * ASPAbortOS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ASPAbortOS(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * ASPGetParms()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ASPGetParms(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * ASPCloseAll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ASPCloseAll(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * ASPUserWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ASPUserWrite(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * ASPUserCommand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ASPUserCommand(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * ASPGetStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ASPGetStatus(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
#define ASPGetStatusSync(paramBlock) ASPGetStatus((paramBlock), false)
- /*
- * AFPCommand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- AFPCommand(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * GetLocalZones()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetLocalZones(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * GetZoneList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetZoneList(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * GetMyZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetMyZone(
- XPPParmBlkPtr thePBptr,
- Boolean async);
-
-
- /*
- * PAttachPH()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PAttachPH(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PDetachPH()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PDetachPH(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PWriteLAP()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PWriteLAP(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * POpenSkt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- POpenSkt(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PCloseSkt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PCloseSkt(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PWriteDDP()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PWriteDDP(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PRegisterName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PRegisterName(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PLookupName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PLookupName(
- MPPPBPtr thePBptr,
- Boolean async);
+/*
+ * AFPCommand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+AFPCommand(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * GetLocalZones()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetLocalZones(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * GetZoneList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetZoneList(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * GetMyZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetMyZone(
+ XPPParmBlkPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PAttachPH()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PAttachPH(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PDetachPH()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PDetachPH(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PWriteLAP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PWriteLAP(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * POpenSkt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+POpenSkt(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PCloseSkt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PCloseSkt(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PWriteDDP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PWriteDDP(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PRegisterName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PRegisterName(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PLookupName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PLookupName(
+ MPPPBPtr thePBptr,
+ Boolean async);
#define PLookupNameSync(paramBlock) PLookupName((paramBlock), false)
- /*
- * PConfirmName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PConfirmName(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PRemoveName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PRemoveName(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PSetSelfSend()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PSetSelfSend(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PKillNBP()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PKillNBP(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PGetAppleTalkInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PGetAppleTalkInfo(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PATalkClosePrep()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PATalkClosePrep(
- MPPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * POpenATPSkt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- POpenATPSkt(
- ATPPBPtr thePBptr,
- Boolean async);
-
-
- /*
- * PCloseATPSkt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PCloseATPSkt(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PSendRequest()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PSendRequest(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PGetRequest()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PGetRequest(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PSendResponse()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PSendResponse(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PAddResponse()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PAddResponse(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PRelTCB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PRelTCB(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PRelRspCB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PRelRspCB(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PNSendRequest()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PNSendRequest(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PKillSendReq()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PKillSendReq(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * PKillGetReq()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PKillGetReq(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * ATPKillAllGetReq()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPKillAllGetReq(
- ATPPBPtr thePBPtr,
- Boolean async);
-
-
- /*
- * BuildLAPwds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- BuildLAPwds(
- Ptr wdsPtr,
- Ptr dataPtr,
- short destHost,
- short prototype,
- short frameLen);
-
-
- /*
- * BuildDDPwds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- BuildDDPwds(
- Ptr wdsPtr,
- Ptr headerPtr,
- Ptr dataPtr,
- AddrBlock netAddr,
- short ddpType,
- short dataLen);
-
-
- /*
- * NBPSetEntity()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- NBPSetEntity(
- Ptr buffer,
- ConstStr32Param nbpObject,
- ConstStr32Param nbpType,
- ConstStr32Param nbpZone);
-
-
- /*
- * NBPSetNTE()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- NBPSetNTE(
- Ptr ntePtr,
- ConstStr32Param nbpObject,
- ConstStr32Param nbpType,
- ConstStr32Param nbpZone,
- short socket);
-
-
- /*
- * GetBridgeAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetBridgeAddress(void);
-
-
- /*
- * BuildBDS()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- BuildBDS(
- Ptr buffPtr,
- Ptr bdsPtr,
- short buffSize);
-
-
- /*
- * MPPOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- MPPOpen(void);
-
-
- /*
- * LAPAddATQ()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LAPAddATQ(ATQEntryPtr theATQEntry);
-
-
- /*
- * LAPRmvATQ()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LAPRmvATQ(ATQEntryPtr theATQEntry);
-
-
- /*
- * ATPLoad()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPLoad(void);
-
-
- /*
- * ATPUnload()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPUnload(void);
-
-
- /*
- * NBPExtract()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NBPExtract(
- Ptr theBuffer,
- short numInBuf,
- short whichOne,
- EntityName * abEntity,
- AddrBlock * address);
-
-
- /*
- * GetNodeAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetNodeAddress(
- short * myNode,
- short * myNet);
-
-
- /*
- * IsMPPOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- IsMPPOpen(void);
-
-
- /*
- * IsATPOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- IsATPOpen(void);
-
-
- /*
- * ATEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- ATEvent(
- long event,
- Ptr infoPtr);
-
-
- /*
- * ATPreFlightEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPreFlightEvent(
- long event,
- long cancel,
- Ptr infoPtr);
-
-
- /*
- The following routines are obsolete and will not be supported on
- PowerPC. Equivalent functionality is provided by the routines
- above.
- */
+/*
+ * PConfirmName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PConfirmName(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PRemoveName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PRemoveName(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PSetSelfSend()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PSetSelfSend(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PKillNBP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PKillNBP(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PGetAppleTalkInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PGetAppleTalkInfo(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PATalkClosePrep()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PATalkClosePrep(
+ MPPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * POpenATPSkt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+POpenATPSkt(
+ ATPPBPtr thePBptr,
+ Boolean async);
+
+
+/*
+ * PCloseATPSkt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PCloseATPSkt(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PSendRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PSendRequest(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PGetRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PGetRequest(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PSendResponse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PSendResponse(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PAddResponse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PAddResponse(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PRelTCB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PRelTCB(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PRelRspCB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PRelRspCB(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PNSendRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PNSendRequest(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PKillSendReq()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PKillSendReq(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * PKillGetReq()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PKillGetReq(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * ATPKillAllGetReq()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPKillAllGetReq(
+ ATPPBPtr thePBPtr,
+ Boolean async);
+
+
+/*
+ * BuildLAPwds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+BuildLAPwds(
+ Ptr wdsPtr,
+ Ptr dataPtr,
+ short destHost,
+ short prototype,
+ short frameLen);
+
+
+/*
+ * BuildDDPwds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+BuildDDPwds(
+ Ptr wdsPtr,
+ Ptr headerPtr,
+ Ptr dataPtr,
+ AddrBlock netAddr,
+ short ddpType,
+ short dataLen);
+
+
+/*
+ * NBPSetEntity()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+NBPSetEntity(
+ Ptr buffer,
+ ConstStr32Param nbpObject,
+ ConstStr32Param nbpType,
+ ConstStr32Param nbpZone);
+
+
+/*
+ * NBPSetNTE()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+NBPSetNTE(
+ Ptr ntePtr,
+ ConstStr32Param nbpObject,
+ ConstStr32Param nbpType,
+ ConstStr32Param nbpZone,
+ short socket);
+
+
+/*
+ * GetBridgeAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetBridgeAddress(void);
+
+
+/*
+ * BuildBDS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+BuildBDS(
+ Ptr buffPtr,
+ Ptr bdsPtr,
+ short buffSize);
+
+
+/*
+ * MPPOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+MPPOpen(void);
+
+
+/*
+ * LAPAddATQ()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LAPAddATQ(ATQEntryPtr theATQEntry);
+
+
+/*
+ * LAPRmvATQ()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LAPRmvATQ(ATQEntryPtr theATQEntry);
+
+
+/*
+ * ATPLoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPLoad(void);
+
+
+/*
+ * ATPUnload()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPUnload(void);
+
+
+/*
+ * NBPExtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NBPExtract(
+ Ptr theBuffer,
+ short numInBuf,
+ short whichOne,
+ EntityName * abEntity,
+ AddrBlock * address);
+
+
+/*
+ * GetNodeAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetNodeAddress(
+ short * myNode,
+ short * myNet);
+
+
+/*
+ * IsMPPOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+IsMPPOpen(void);
+
+
+/*
+ * IsATPOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+IsATPOpen(void);
+
+
+/*
+ * ATEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+ATEvent(
+ long event,
+ Ptr infoPtr);
+
+
+/*
+ * ATPreFlightEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPreFlightEvent(
+ long event,
+ long cancel,
+ Ptr infoPtr);
+
+
+/*
+ The following routines are obsolete and will not be supported on
+ PowerPC. Equivalent functionality is provided by the routines
+ above.
+*/
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_CPU_68K
#if CALL_NOT_IN_CARBON
- /*
- * MPPClose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- MPPClose(void);
-
-
- /*
- * LAPOpenProtocol()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LAPOpenProtocol(
- ABByte theLAPType,
- Ptr protoPtr);
-
-
- /*
- * LAPCloseProtocol()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LAPCloseProtocol(ABByte theLAPType);
-
-
- /*
- * LAPWrite()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LAPWrite(
- ATLAPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * LAPRead()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LAPRead(
- ATLAPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * LAPRdCancel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LAPRdCancel(ATLAPRecHandle abRecord);
-
-
- /*
- * DDPOpenSocket()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DDPOpenSocket(
- short * theSocket,
- Ptr sktListener);
-
-
- /*
- * DDPCloseSocket()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DDPCloseSocket(short theSocket);
-
-
- /*
- * DDPRead()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DDPRead(
- ATDDPRecHandle abRecord,
- Boolean retCksumErrs,
- Boolean async);
-
-
- /*
- * DDPWrite()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DDPWrite(
- ATDDPRecHandle abRecord,
- Boolean doChecksum,
- Boolean async);
-
-
- /*
- * DDPRdCancel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DDPRdCancel(ATDDPRecHandle abRecord);
-
-
- /*
- * ATPOpenSocket()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPOpenSocket(
- AddrBlock addrRcvd,
- short * atpSocket);
-
-
- /*
- * ATPCloseSocket()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPCloseSocket(short atpSocket);
-
-
- /*
- * ATPSndRequest()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPSndRequest(
- ATATPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * ATPRequest()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPRequest(
- ATATPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * ATPReqCancel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPReqCancel(
- ATATPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * ATPGetRequest()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPGetRequest(
- ATATPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * ATPSndRsp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPSndRsp(
- ATATPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * ATPAddRsp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPAddRsp(ATATPRecHandle abRecord);
-
-
- /*
- * ATPResponse()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPResponse(
- ATATPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * ATPRspCancel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ATPRspCancel(
- ATATPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * NBPRegister()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NBPRegister(
- ATNBPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * NBPLookup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NBPLookup(
- ATNBPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * NBPConfirm()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NBPConfirm(
- ATNBPRecHandle abRecord,
- Boolean async);
-
-
- /*
- * NBPRemove()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NBPRemove(EntityPtr abEntity);
-
-
- /*
- * NBPLoad()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NBPLoad(void);
-
-
- /*
- * NBPUnload()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NBPUnload(void);
+/*
+ * MPPClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+MPPClose(void);
+
+
+/*
+ * LAPOpenProtocol()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LAPOpenProtocol(
+ ABByte theLAPType,
+ Ptr protoPtr);
+
+
+/*
+ * LAPCloseProtocol()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LAPCloseProtocol(ABByte theLAPType);
+
+
+/*
+ * LAPWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LAPWrite(
+ ATLAPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * LAPRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LAPRead(
+ ATLAPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * LAPRdCancel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LAPRdCancel(ATLAPRecHandle abRecord);
+
+
+/*
+ * DDPOpenSocket()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DDPOpenSocket(
+ short * theSocket,
+ Ptr sktListener);
+
+
+/*
+ * DDPCloseSocket()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DDPCloseSocket(short theSocket);
+
+
+/*
+ * DDPRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DDPRead(
+ ATDDPRecHandle abRecord,
+ Boolean retCksumErrs,
+ Boolean async);
+
+
+/*
+ * DDPWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DDPWrite(
+ ATDDPRecHandle abRecord,
+ Boolean doChecksum,
+ Boolean async);
+
+
+/*
+ * DDPRdCancel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DDPRdCancel(ATDDPRecHandle abRecord);
+
+
+/*
+ * ATPOpenSocket()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPOpenSocket(
+ AddrBlock addrRcvd,
+ short * atpSocket);
+
+
+/*
+ * ATPCloseSocket()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPCloseSocket(short atpSocket);
+
+
+/*
+ * ATPSndRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPSndRequest(
+ ATATPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * ATPRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPRequest(
+ ATATPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * ATPReqCancel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPReqCancel(
+ ATATPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * ATPGetRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPGetRequest(
+ ATATPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * ATPSndRsp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPSndRsp(
+ ATATPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * ATPAddRsp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPAddRsp(ATATPRecHandle abRecord);
+
+
+/*
+ * ATPResponse()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPResponse(
+ ATATPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * ATPRspCancel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ATPRspCancel(
+ ATATPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * NBPRegister()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NBPRegister(
+ ATNBPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * NBPLookup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NBPLookup(
+ ATNBPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * NBPConfirm()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NBPConfirm(
+ ATNBPRecHandle abRecord,
+ Boolean async);
+
+
+/*
+ * NBPRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NBPRemove(EntityPtr abEntity);
+
+
+/*
+ * NBPLoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NBPLoad(void);
+
+
+/*
+ * NBPUnload()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NBPUnload(void);
#endif /* CALL_NOT_IN_CARBON */
@@ -2642,11 +2521,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ApplicationServices.h b/include/qt/ApplicationServices.h
index 99f0f06a7..069040850 100644
--- a/include/qt/ApplicationServices.h
+++ b/include/qt/ApplicationServices.h
@@ -1,17 +1,17 @@
/*
File: ApplicationServices.h
-
+
Contains: Master include for ApplicationServices public framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __APPLICATIONSERVICES__
#define __APPLICATIONSERVICES__
diff --git a/include/qt/AssertMacros.h b/include/qt/AssertMacros.h
index d6ebd606d..18f103ec3 100644
--- a/include/qt/AssertMacros.h
+++ b/include/qt/AssertMacros.h
@@ -1,6 +1,6 @@
/*
File: AssertMacros.h
-
+
Contains: This file defines structured error handling and assertion macros for
programming in C. Originally used in QuickDraw GX and later enhanced.
These macros are used throughout Apple's software.
@@ -11,11 +11,11 @@
for the methodology behind these error handling and assertion macros.
Copyright: © 2002 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/
+
+ http://developer.apple.com/bugreporter/
*/
#ifndef __ASSERTMACROS__
#define __ASSERTMACROS__
@@ -23,34 +23,34 @@
/*
* Macro overview:
- *
+ *
* check(assertion)
- * In production builds, pre-processed away
+ * In production builds, pre-processed away
* In debug builds, if assertion evaluates to false, calls DEBUG_ASSERT_MESSAGE
- *
+ *
* verify(assertion)
* In production builds, evaluates assertion and does nothing
* In debug builds, if assertion evaluates to false, calls DEBUG_ASSERT_MESSAGE
- *
+ *
* require(assertion, exceptionLabel)
* In production builds, if the assertion expression evaluates to false, goto exceptionLabel
* In debug builds, if the assertion expression evaluates to false, calls DEBUG_ASSERT_MESSAGE
* and jumps to exceptionLabel
- *
+ *
* In addition the following suffixes are available:
- *
+ *
* _noerr Adds "!= 0" to assertion. Useful for asserting and OSStatus or OSErr is noErr (zero)
* _action Adds statement to be executued if assertion fails
* _quiet Suppress call to DEBUG_ASSERT_MESSAGE
* _string Allows you to add explanitory message to DEBUG_ASSERT_MESSAGE
- *
- * For instance, require_noerr_string(resultCode, label, msg) will do nothing if
+ *
+ * For instance, require_noerr_string(resultCode, label, msg) will do nothing if
* resultCode is zero, otherwise it will call DEBUG_ASSERT_MESSAGE with msg
* and jump to label.
*
* Configuration:
*
- * By default all macros generate "production code" (i.e non-debug). If
+ * By default all macros generate "production code" (i.e non-debug). If
* DEBUG_ASSERT_PRODUCTION_CODE is defined to zero or DEBUG is defined to non-zero
* while this header is included, the macros will generated debug code.
*
@@ -73,7 +73,7 @@
* the assertion macros.
*/
#ifndef DEBUG_ASSERT_COMPONENT_NAME_STRING
-#define DEBUG_ASSERT_COMPONENT_NAME_STRING ""
+ #define DEBUG_ASSERT_COMPONENT_NAME_STRING ""
#endif
@@ -85,7 +85,7 @@
* (production code = no assertion code and no messages).
*/
#ifndef DEBUG_ASSERT_PRODUCTION_CODE
-#define DEBUG_ASSERT_PRODUCTION_CODE !DEBUG
+ #define DEBUG_ASSERT_PRODUCTION_CODE !DEBUG
#endif
@@ -110,23 +110,23 @@
* This must be a string constant (and not a string variable or
* NULL) because the Preprocessor concatenates it with other
* string constants.
- *
+ *
* exceptionLabelString:
* A pointer to a string containing the exceptionLabel, or NULL.
- *
+ *
* errorString:
* A pointer to the error string, or NULL. DEBUG_ASSERT_MESSAGE macros
* must not attempt to concatenate this string with constant
* character strings.
- *
+ *
* fileName:
* A pointer to the fileName or pathname (generated by the
* preprocessor __FILE__ identifier), or NULL.
- *
+ *
* lineNumber:
* The line number in the file (generated by the preprocessor
* __LINE__ identifier), or 0 (zero).
- *
+ *
* errorCode:
* A value associated with the assertion, or 0.
*
@@ -141,8 +141,8 @@
* exceptionLabelString, errorString, fileName, lineNumber, errorCode)
*
* static void
- * MyProgramDebugAssert(const char *componentNameString, const char *assertionString,
- * const char *exceptionLabelString, const char *errorString,
+ * MyProgramDebugAssert(const char *componentNameString, const char *assertionString,
+ * const char *exceptionLabelString, const char *errorString,
* const char *fileName, long lineNumber, int errorCode)
* {
* if ( (assertionString != NULL) && (*assertionString != \'0') )
@@ -164,15 +164,15 @@
* If you do not define DEBUG_ASSERT_MESSAGE, a simple printf to stderr will be used.
*/
#ifndef DEBUG_ASSERT_MESSAGE
-#ifdef KERNEL
-#include "syslog.h"
-#define DEBUG_ASSERT_MESSAGE(name, assertion, label, message, file, line, value) \
+ #ifdef KERNEL
+ #include "syslog.h"
+ #define DEBUG_ASSERT_MESSAGE(name, assertion, label, message, file, line, value) \
syslog(LOG_ERR, "AssertMacros: %s, %s file: %s, line: %d\n", assertion, (message!=0) ? message : "", file, line);
-#else
-#include "stdio.h"
-#define DEBUG_ASSERT_MESSAGE(name, assertion, label, message, file, line, value) \
+ #else
+ #include "stdio.h"
+ #define DEBUG_ASSERT_MESSAGE(name, assertion, label, message, file, line, value) \
fprintf(stderr, "AssertMacros: %s, %s file: %s, line: %d\n", assertion, (message!=0) ? message : "", file, line);
-#endif
+ #endif
#endif
@@ -194,9 +194,9 @@
*
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define debug_string(message)
+ #define debug_string(message)
#else
-#define debug_string(message) \
+ #define debug_string(message) \
do \
{ \
DEBUG_ASSERT_MESSAGE( \
@@ -226,9 +226,9 @@
* The assertion expression.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define check(assertion)
+ #define check(assertion)
#else
-#define check(assertion) \
+ #define check(assertion) \
do \
{ \
if ( !(assertion) ) \
@@ -267,9 +267,9 @@
* The C string to display.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define check_string(assertion, message)
+ #define check_string(assertion, message)
#else
-#define check_string(assertion, message) \
+ #define check_string(assertion, message) \
do \
{ \
if ( !(assertion) ) \
@@ -305,9 +305,9 @@
* The errorCode expression to compare with 0.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define check_noerr(errorCode)
+ #define check_noerr(errorCode)
#else
-#define check_noerr(errorCode) \
+ #define check_noerr(errorCode) \
do \
{ \
int evalOnceErrorCode = (errorCode); \
@@ -316,13 +316,13 @@
DEBUG_ASSERT_MESSAGE( \
DEBUG_ASSERT_COMPONENT_NAME_STRING, \
#errorCode " == 0 ", \
-0, \
-0, \
-__FILE__, \
-__LINE__, \
-evalOnceErrorCode); \
-} \
-} while(0)
+ 0, \
+ 0, \
+ __FILE__, \
+ __LINE__, \
+ evalOnceErrorCode); \
+ } \
+ } while ( 0 )
#endif
@@ -345,9 +345,9 @@ evalOnceErrorCode); \
* The C string to display.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define check_noerr_string(errorCode, message)
+ #define check_noerr_string(errorCode, message)
#else
-#define check_noerr_string(errorCode, message) \
+ #define check_noerr_string(errorCode, message) \
do \
{ \
int evalOnceErrorCode = (errorCode); \
@@ -356,13 +356,13 @@ evalOnceErrorCode); \
DEBUG_ASSERT_MESSAGE( \
DEBUG_ASSERT_COMPONENT_NAME_STRING, \
#errorCode " == 0 ", \
-0, \
-message, \
-__FILE__, \
-__LINE__, \
-evalOnceErrorCode); \
-} \
-} while(0)
+ 0, \
+ message, \
+ __FILE__, \
+ __LINE__, \
+ evalOnceErrorCode); \
+ } \
+ } while ( 0 )
#endif
@@ -382,7 +382,7 @@ evalOnceErrorCode); \
* The assertion expression.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define verify(assertion) \
+ #define verify(assertion) \
do \
{ \
if ( !(assertion) ) \
@@ -390,7 +390,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define verify(assertion) \
+ #define verify(assertion) \
do \
{ \
if ( !(assertion) ) \
@@ -430,7 +430,7 @@ evalOnceErrorCode); \
* The C string to display.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define verify_string(assertion, message) \
+ #define verify_string(assertion, message) \
do \
{ \
if ( !(assertion) ) \
@@ -438,7 +438,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define verify_string(assertion, message) \
+ #define verify_string(assertion, message) \
do \
{ \
if ( !(assertion) ) \
@@ -475,7 +475,7 @@ evalOnceErrorCode); \
* The expression to compare to 0.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define verify_noerr(errorCode) \
+ #define verify_noerr(errorCode) \
do \
{ \
if ( 0 != (errorCode) ) \
@@ -483,7 +483,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define verify_noerr(errorCode) \
+ #define verify_noerr(errorCode) \
do \
{ \
int evalOnceErrorCode = (errorCode); \
@@ -492,13 +492,13 @@ evalOnceErrorCode); \
DEBUG_ASSERT_MESSAGE( \
DEBUG_ASSERT_COMPONENT_NAME_STRING, \
#errorCode " == 0 ", \
-0, \
-0, \
-__FILE__, \
-__LINE__, \
-evalOnceErrorCode); \
-} \
-} while(0)
+ 0, \
+ 0, \
+ __FILE__, \
+ __LINE__, \
+ evalOnceErrorCode); \
+ } \
+ } while ( 0 )
#endif
@@ -521,7 +521,7 @@ evalOnceErrorCode); \
* The C string to display.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define verify_noerr_string(errorCode, message) \
+ #define verify_noerr_string(errorCode, message) \
do \
{ \
if ( 0 != (errorCode) ) \
@@ -529,7 +529,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define verify_noerr_string(errorCode, message) \
+ #define verify_noerr_string(errorCode, message) \
do \
{ \
int evalOnceErrorCode = (errorCode); \
@@ -538,13 +538,13 @@ evalOnceErrorCode); \
DEBUG_ASSERT_MESSAGE( \
DEBUG_ASSERT_COMPONENT_NAME_STRING, \
#errorCode " == 0 ", \
-0, \
-message, \
-__FILE__, \
-__LINE__, \
-evalOnceErrorCode); \
-} \
-} while(0)
+ 0, \
+ message, \
+ __FILE__, \
+ __LINE__, \
+ evalOnceErrorCode); \
+ } \
+ } while ( 0 )
#endif
@@ -567,7 +567,7 @@ evalOnceErrorCode); \
* The label.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define require(assertion, exceptionLabel) \
+ #define require(assertion, exceptionLabel) \
do \
{ \
if ( !(assertion) ) \
@@ -576,7 +576,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define require(assertion, exceptionLabel) \
+ #define require(assertion, exceptionLabel) \
do \
{ \
if ( !(assertion) ) \
@@ -622,7 +622,7 @@ evalOnceErrorCode); \
* The statement or compound statement (block).
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define require_action(assertion, exceptionLabel, action) \
+ #define require_action(assertion, exceptionLabel, action) \
do \
{ \
if ( !(assertion) ) \
@@ -634,7 +634,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define require_action(assertion, exceptionLabel, action) \
+ #define require_action(assertion, exceptionLabel, action) \
do \
{ \
if ( !(assertion) ) \
@@ -742,7 +742,7 @@ evalOnceErrorCode); \
* The C string to display.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define require_string(assertion, exceptionLabel, message) \
+ #define require_string(assertion, exceptionLabel, message) \
do \
{ \
if ( !(assertion) ) \
@@ -751,7 +751,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define require_string(assertion, exceptionLabel, message) \
+ #define require_string(assertion, exceptionLabel, message) \
do \
{ \
if ( !(assertion) ) \
@@ -800,7 +800,7 @@ evalOnceErrorCode); \
* The C string to display.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define require_action_string(assertion, exceptionLabel, action, message) \
+ #define require_action_string(assertion, exceptionLabel, action, message) \
do \
{ \
if ( !(assertion) ) \
@@ -812,7 +812,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define require_action_string(assertion, exceptionLabel, action, message) \
+ #define require_action_string(assertion, exceptionLabel, action, message) \
do \
{ \
if ( !(assertion) ) \
@@ -856,7 +856,7 @@ evalOnceErrorCode); \
* The label.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define require_noerr(errorCode, exceptionLabel) \
+ #define require_noerr(errorCode, exceptionLabel) \
do \
{ \
if ( 0 != (errorCode) ) \
@@ -865,7 +865,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define require_noerr(errorCode, exceptionLabel) \
+ #define require_noerr(errorCode, exceptionLabel) \
do \
{ \
int evalOnceErrorCode = (errorCode); \
@@ -874,7 +874,7 @@ evalOnceErrorCode); \
DEBUG_ASSERT_MESSAGE( \
DEBUG_ASSERT_COMPONENT_NAME_STRING, \
#errorCode " == 0 ", \
-#exceptionLabel, \
+ #exceptionLabel, \
0, \
__FILE__, \
__LINE__, \
@@ -908,7 +908,7 @@ evalOnceErrorCode); \
* The statement or compound statement (block).
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define require_noerr_action(errorCode, exceptionLabel, action) \
+ #define require_noerr_action(errorCode, exceptionLabel, action) \
do \
{ \
if ( 0 != (errorCode) ) \
@@ -920,7 +920,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define require_noerr_action(errorCode, exceptionLabel, action) \
+ #define require_noerr_action(errorCode, exceptionLabel, action) \
do \
{ \
int evalOnceErrorCode = (errorCode); \
@@ -929,7 +929,7 @@ evalOnceErrorCode); \
DEBUG_ASSERT_MESSAGE( \
DEBUG_ASSERT_COMPONENT_NAME_STRING, \
#errorCode " == 0 ", \
-#exceptionLabel, \
+ #exceptionLabel, \
0, \
__FILE__, \
__LINE__, \
@@ -1022,7 +1022,7 @@ evalOnceErrorCode); \
* The C string to display.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define require_noerr_string(errorCode, exceptionLabel, message) \
+ #define require_noerr_string(errorCode, exceptionLabel, message) \
do \
{ \
if ( 0 != (errorCode) ) \
@@ -1031,7 +1031,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define require_noerr_string(errorCode, exceptionLabel, message) \
+ #define require_noerr_string(errorCode, exceptionLabel, message) \
do \
{ \
int evalOnceErrorCode = (errorCode); \
@@ -1040,7 +1040,7 @@ evalOnceErrorCode); \
DEBUG_ASSERT_MESSAGE( \
DEBUG_ASSERT_COMPONENT_NAME_STRING, \
#errorCode " == 0 ", \
-#exceptionLabel, \
+ #exceptionLabel, \
message, \
__FILE__, \
__LINE__, \
@@ -1078,7 +1078,7 @@ evalOnceErrorCode); \
* The C string to display.
*/
#if DEBUG_ASSERT_PRODUCTION_CODE
-#define require_noerr_action_string(errorCode, exceptionLabel, action, message)\
+ #define require_noerr_action_string(errorCode, exceptionLabel, action, message)\
do \
{ \
if ( 0 != (errorCode) ) \
@@ -1090,7 +1090,7 @@ evalOnceErrorCode); \
} \
} while ( 0 )
#else
-#define require_noerr_action_string(errorCode, exceptionLabel, action, message) \
+ #define require_noerr_action_string(errorCode, exceptionLabel, action, message) \
do \
{ \
int evalOnceErrorCode = (errorCode); \
@@ -1099,7 +1099,7 @@ evalOnceErrorCode); \
DEBUG_ASSERT_MESSAGE( \
DEBUG_ASSERT_COMPONENT_NAME_STRING, \
#errorCode " == 0 ", \
-#exceptionLabel, \
+ #exceptionLabel, \
message, \
__FILE__, \
__LINE__, \
diff --git a/include/qt/AvailabilityMacros.h b/include/qt/AvailabilityMacros.h
index f4a1241a9..baa7b4aa4 100644
--- a/include/qt/AvailabilityMacros.h
+++ b/include/qt/AvailabilityMacros.h
@@ -1,6 +1,6 @@
/*
File: AvailabilityMacros.h
-
+
Copyright: (c) 2001-2005 by Apple Computer, Inc., all rights reserved.
More Info: See TechNote 2064
@@ -11,23 +11,23 @@
constraints on what Mac OS X versions the resulting
application will be run. There are two bounds a developer
can specify:
-
+
MAC_OS_X_VERSION_MIN_REQUIRED
MAC_OS_X_VERSION_MAX_ALLOWED
-
- The lower bound controls which calls to OS functions will
+
+ The lower bound controls which calls to OS functions will
be weak-importing (allowed to be unresolved at launch time).
The upper bound controls which OS functionality, if used,
will result in a compiler error because that functionality is
not available on on any OS is the specifed range.
-
+
For example, suppose an application is compiled with:
-
+
MAC_OS_X_VERSION_MIN_REQUIRED = MAC_OS_X_VERSION_10_2
MAC_OS_X_VERSION_MAX_ALLOWED = MAC_OS_X_VERSION_10_3
-
+
and an OS header contains:
-
+
extern void funcA(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER;
extern void funcB(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2;
extern void funcC(void) AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3;
@@ -35,7 +35,7 @@
extern void funcE(void) AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER;
extern void funcF(void) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
extern void funcG(void) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
+
typedef long TypeA DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER;
typedef long TypeB DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER;
typedef long TypeC DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER;
@@ -43,8 +43,8 @@
typedef long TypeE DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER;
Any application code which uses these declarations will get the following:
-
- compile link run
+
+ compile link run
------- ------ -------
funcA: normal normal normal
funcB: warning normal normal
@@ -58,8 +58,8 @@
typeC: warning
typeD: normal
typeE: normal
-
-
+
+
*/
#ifndef __AVAILABILITYMACROS__
#define __AVAILABILITYMACROS__
@@ -76,93 +76,93 @@
#define MAC_OS_X_VERSION_10_5 1050
-/*
+/*
* If min OS not specified, assume 10.1
* Note: gcc driver may set _ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED_ based on MACOSX_DEPLOYMENT_TARGET environment variable
*/
#ifndef MAC_OS_X_VERSION_MIN_REQUIRED
-#ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
-#define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
-#else
-#if __ppc64__ || __i386__ || __x86_64__
-#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_4
-#else
-#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_1
-#endif
-#endif
+ #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+ #define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+ #else
+ #if __ppc64__ || __i386__ || __x86_64__
+ #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_4
+ #else
+ #define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_1
+ #endif
+ #endif
#endif
/*
* if max OS not specified, assume largerof(10.5, min)
*/
#ifndef MAC_OS_X_VERSION_MAX_ALLOWED
-#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5
-#define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_MIN_REQUIRED
-#else
-#define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_5
-#endif
+ #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5
+ #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_MIN_REQUIRED
+ #else
+ #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_5
+ #endif
#endif
/*
* Error on bad values
*/
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_MIN_REQUIRED
-#error MAC_OS_X_VERSION_MAX_ALLOWED must be >= MAC_OS_X_VERSION_MIN_REQUIRED
+ #error MAC_OS_X_VERSION_MAX_ALLOWED must be >= MAC_OS_X_VERSION_MIN_REQUIRED
#endif
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_0
-#error MAC_OS_X_VERSION_MIN_REQUIRED must be >= MAC_OS_X_VERSION_10_0
+ #error MAC_OS_X_VERSION_MIN_REQUIRED must be >= MAC_OS_X_VERSION_10_0
#endif
/*
* only certain compilers support __attribute__((weak_import))
*/
#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020)
-#define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import))
+ #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import))
#elif defined(__MWERKS__) && (__MWERKS__ >= 0x3205) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1020)
-#define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import))
+ #define WEAK_IMPORT_ATTRIBUTE __attribute__((weak_import))
#else
-#define WEAK_IMPORT_ATTRIBUTE
+ #define WEAK_IMPORT_ATTRIBUTE
#endif
/*
* only certain compilers support __attribute__((deprecated))
*/
#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
-#define DEPRECATED_ATTRIBUTE __attribute__((deprecated))
+ #define DEPRECATED_ATTRIBUTE __attribute__((deprecated))
#else
-#define DEPRECATED_ATTRIBUTE
+ #define DEPRECATED_ATTRIBUTE
#endif
/*
* only certain compilers support __attribute__((unavailable))
*/
#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
-#define UNAVAILABLE_ATTRIBUTE __attribute__((unavailable))
+ #define UNAVAILABLE_ATTRIBUTE __attribute__((unavailable))
#else
-#define UNAVAILABLE_ATTRIBUTE
+ #define UNAVAILABLE_ATTRIBUTE
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
- *
- * Used on functions introduced in Mac OS X 10.0
+ *
+ * Used on functions introduced in Mac OS X 10.0
*/
#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
/*
* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED
- *
- * Used on functions introduced in Mac OS X 10.0,
+ *
+ * Used on functions introduced in Mac OS X 10.0,
* and deprecated in Mac OS X 10.0
*/
#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
/*
* DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER
- *
- * Used on types deprecated in Mac OS X 10.0
+ *
+ * Used on types deprecated in Mac OS X 10.0
*/
#define DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER DEPRECATED_ATTRIBUTE
@@ -173,50 +173,50 @@
/*
* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
- *
- * Used on declarations introduced in Mac OS X 10.1
+ *
+ * Used on declarations introduced in Mac OS X 10.1
*/
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_1
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER UNAVAILABLE_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER UNAVAILABLE_ATTRIBUTE
#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_1
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER WEAK_IMPORT_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER WEAK_IMPORT_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED
- *
- * Used on declarations introduced in Mac OS X 10.1,
+ *
+ * Used on declarations introduced in Mac OS X 10.1,
* and deprecated in Mac OS X 10.1
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1
- *
- * Used on declarations introduced in Mac OS X 10.0,
+ *
+ * Used on declarations introduced in Mac OS X 10.0,
* but later deprecated in Mac OS X 10.1
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
#endif
/*
* DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER
- *
- * Used on types deprecated in Mac OS X 10.1
+ *
+ * Used on types deprecated in Mac OS X 10.1
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_1
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER DEPRECATED_ATTRIBUTE
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER DEPRECATED_ATTRIBUTE
#else
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER
#endif
@@ -227,62 +227,62 @@
/*
* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
- *
- * Used on declarations introduced in Mac OS X 10.2
+ *
+ * Used on declarations introduced in Mac OS X 10.2
*/
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_2
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER UNAVAILABLE_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER UNAVAILABLE_ATTRIBUTE
#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_2
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER WEAK_IMPORT_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER WEAK_IMPORT_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED
- *
- * Used on declarations introduced in Mac OS X 10.2,
+ *
+ * Used on declarations introduced in Mac OS X 10.2,
* and deprecated in Mac OS X 10.2
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2
- *
- * Used on declarations introduced in Mac OS X 10.0,
+ *
+ * Used on declarations introduced in Mac OS X 10.0,
* but later deprecated in Mac OS X 10.2
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2
- *
- * Used on declarations introduced in Mac OS X 10.1,
+ *
+ * Used on declarations introduced in Mac OS X 10.1,
* but later deprecated in Mac OS X 10.2
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
#endif
/*
* DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER
- *
- * Used on types deprecated in Mac OS X 10.2
+ *
+ * Used on types deprecated in Mac OS X 10.2
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_2
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER DEPRECATED_ATTRIBUTE
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER DEPRECATED_ATTRIBUTE
#else
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER
#endif
@@ -291,74 +291,74 @@
/*
* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
- *
- * Used on declarations introduced in Mac OS X 10.3
+ *
+ * Used on declarations introduced in Mac OS X 10.3
*/
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_3
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER UNAVAILABLE_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER UNAVAILABLE_ATTRIBUTE
#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_3
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER WEAK_IMPORT_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER WEAK_IMPORT_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED
- *
- * Used on declarations introduced in Mac OS X 10.3,
+ *
+ * Used on declarations introduced in Mac OS X 10.3,
* and deprecated in Mac OS X 10.3
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3
- *
- * Used on declarations introduced in Mac OS X 10.0,
+ *
+ * Used on declarations introduced in Mac OS X 10.0,
* but later deprecated in Mac OS X 10.3
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3
- *
- * Used on declarations introduced in Mac OS X 10.1,
+ *
+ * Used on declarations introduced in Mac OS X 10.1,
* but later deprecated in Mac OS X 10.3
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3
- *
- * Used on declarations introduced in Mac OS X 10.2,
+ *
+ * Used on declarations introduced in Mac OS X 10.2,
* but later deprecated in Mac OS X 10.3
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
#endif
/*
* DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER
- *
- * Used on types deprecated in Mac OS X 10.3
+ *
+ * Used on types deprecated in Mac OS X 10.3
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER DEPRECATED_ATTRIBUTE
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER DEPRECATED_ATTRIBUTE
#else
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER
#endif
@@ -368,86 +368,86 @@
/*
* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
- *
- * Used on declarations introduced in Mac OS X 10.4
+ *
+ * Used on declarations introduced in Mac OS X 10.4
*/
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_4
-#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER UNAVAILABLE_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER UNAVAILABLE_ATTRIBUTE
#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
-#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER WEAK_IMPORT_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER WEAK_IMPORT_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED
- *
- * Used on declarations introduced in Mac OS X 10.4,
+ *
+ * Used on declarations introduced in Mac OS X 10.4,
* and deprecated in Mac OS X 10.4
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4
- *
- * Used on declarations introduced in Mac OS X 10.0,
+ *
+ * Used on declarations introduced in Mac OS X 10.0,
* but later deprecated in Mac OS X 10.4
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4
- *
- * Used on declarations introduced in Mac OS X 10.1,
+ *
+ * Used on declarations introduced in Mac OS X 10.1,
* but later deprecated in Mac OS X 10.4
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4
- *
- * Used on declarations introduced in Mac OS X 10.2,
+ *
+ * Used on declarations introduced in Mac OS X 10.2,
* but later deprecated in Mac OS X 10.4
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4
- *
- * Used on declarations introduced in Mac OS X 10.3,
+ *
+ * Used on declarations introduced in Mac OS X 10.3,
* but later deprecated in Mac OS X 10.4
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
#endif
/*
* DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER
- *
- * Used on types deprecated in Mac OS X 10.4
+ *
+ * Used on types deprecated in Mac OS X 10.4
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER DEPRECATED_ATTRIBUTE
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER DEPRECATED_ATTRIBUTE
#else
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER
#endif
@@ -456,98 +456,98 @@
/*
* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
- *
- * Used on declarations introduced in Mac OS X 10.5
+ *
+ * Used on declarations introduced in Mac OS X 10.5
*/
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
-#define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER UNAVAILABLE_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER UNAVAILABLE_ATTRIBUTE
#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
-#define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER WEAK_IMPORT_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER WEAK_IMPORT_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED
- *
- * Used on declarations introduced in Mac OS X 10.5,
+ *
+ * Used on declarations introduced in Mac OS X 10.5,
* and deprecated in Mac OS X 10.5
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-#define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
- *
- * Used on declarations introduced in Mac OS X 10.0,
+ *
+ * Used on declarations introduced in Mac OS X 10.0,
* but later deprecated in Mac OS X 10.5
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
- *
- * Used on declarations introduced in Mac OS X 10.1,
+ *
+ * Used on declarations introduced in Mac OS X 10.1,
* but later deprecated in Mac OS X 10.5
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
- *
- * Used on declarations introduced in Mac OS X 10.2,
+ *
+ * Used on declarations introduced in Mac OS X 10.2,
* but later deprecated in Mac OS X 10.5
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
- *
- * Used on declarations introduced in Mac OS X 10.3,
+ *
+ * Used on declarations introduced in Mac OS X 10.3,
* but later deprecated in Mac OS X 10.5
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
#endif
/*
* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5
- *
- * Used on declarations introduced in Mac OS X 10.4,
+ *
+ * Used on declarations introduced in Mac OS X 10.4,
* but later deprecated in Mac OS X 10.5
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 DEPRECATED_ATTRIBUTE
#else
-#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
#endif
/*
* DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER
- *
- * Used on types deprecated in Mac OS X 10.5
+ *
+ * Used on types deprecated in Mac OS X 10.5
*/
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER DEPRECATED_ATTRIBUTE
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER DEPRECATED_ATTRIBUTE
#else
-#define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER
+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER
#endif
#endif /* __AVAILABILITYMACROS__ */
diff --git a/include/qt/Balloons.h b/include/qt/Balloons.h
index 2f6c12a18..936444afb 100644
--- a/include/qt/Balloons.h
+++ b/include/qt/Balloons.h
@@ -1,17 +1,17 @@
/*
File: Balloons.h
-
+
Contains: Balloon Help Package Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __BALLOONS__
#define __BALLOONS__
@@ -52,541 +52,517 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- Carbon clients should use MacHelp. The definitions below will NOT work for Carbon and
- are only defined for those files that need to build pre-Carbon applications.
- */
- /* o.constants*/
-
- typedef SInt16 BalloonVariant;
- enum
- {
- kTopLeftTipPointsLeftVariant = 0,
- kTopLeftTipPointsUpVariant = 1,
- kTopRightTipPointsUpVariant = 2,
- kTopRightTipPointsRightVariant = 3,
- kBottomRightTipPointsRightVariant = 4,
- kBottomRightTipPointsDownVariant = 5,
- kBottomLeftTipPointsDownVariant = 6,
- kBottomLeftTipPointsLeftVariant = 7,
- kBalloonVariantCount = 8
- };
-
-
- enum
- {
- hmBalloonHelpVersion = 0x0002 /* The real version of the Help Manager */
- };
-
- enum
- {
- kHMHelpMenuID = -16490, /* Resource ID and menu ID of help menu */
- kHMAboutHelpItem = 1, /* help menu item number of About Balloon Help... */
- kHMShowBalloonsItem = 3 /* help menu item number of Show/Hide Balloons */
- };
-
- enum
- {
- kHMHelpID = -5696, /* ID of various Help Mgr package resources (in Pack14 range) */
- kBalloonWDEFID = 126 /* Resource ID of the WDEF proc used in standard balloons */
- };
-
- enum
- {
- /* Dialog item template type constant */
- helpItem = 1 /* key value in DITL template that corresponds to the help item */
- };
-
- enum
- {
- /* Options for Help Manager resources in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources */
- hmDefaultOptions = 0, /* default options for help manager resources */
- hmUseSubIDBit = 0,
- hmAbsoluteCoordsBit = 1,
- hmSaveBitsNoWindowBit = 2,
- hmSaveBitsWindowBit = 3,
- hmMatchInTitleBit = 4,
- hmUseSubIDMask = (1 << hmUseSubIDBit), /* treat resID's in resources as subID's of driver base ID (for Desk Accessories) */
- hmAbsoluteCoordsMask = (1 << hmAbsoluteCoordsBit), /* ignore window port origin and treat rectangles as absolute coords (local to window) */
- hmSaveBitsNoWindowMask = (1 << hmSaveBitsNoWindowBit), /* don't create a window, just blast bits on screen. No update event is generated */
- hmSaveBitsWindowMask = (1 << hmSaveBitsWindowBit), /* create a window, but restore bits behind window when window goes away & generate update event */
- hmMatchInTitleMask = (1 << hmMatchInTitleBit) /* for hwin resources, match string anywhere in window title string */
- };
+/*
+ Carbon clients should use MacHelp. The definitions below will NOT work for Carbon and
+ are only defined for those files that need to build pre-Carbon applications.
+*/
+/* o.constants*/
+
+typedef SInt16 BalloonVariant;
+enum {
+ kTopLeftTipPointsLeftVariant = 0,
+ kTopLeftTipPointsUpVariant = 1,
+ kTopRightTipPointsUpVariant = 2,
+ kTopRightTipPointsRightVariant = 3,
+ kBottomRightTipPointsRightVariant = 4,
+ kBottomRightTipPointsDownVariant = 5,
+ kBottomLeftTipPointsDownVariant = 6,
+ kBottomLeftTipPointsLeftVariant = 7,
+ kBalloonVariantCount = 8
+};
+
+
+enum {
+ hmBalloonHelpVersion = 0x0002 /* The real version of the Help Manager */
+};
+
+enum {
+ kHMHelpMenuID = -16490, /* Resource ID and menu ID of help menu */
+ kHMAboutHelpItem = 1, /* help menu item number of About Balloon Help... */
+ kHMShowBalloonsItem = 3 /* help menu item number of Show/Hide Balloons */
+};
+
+enum {
+ kHMHelpID = -5696, /* ID of various Help Mgr package resources (in Pack14 range) */
+ kBalloonWDEFID = 126 /* Resource ID of the WDEF proc used in standard balloons */
+};
+
+enum {
+ /* Dialog item template type constant */
+ helpItem = 1 /* key value in DITL template that corresponds to the help item */
+};
+
+enum {
+ /* Options for Help Manager resources in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources */
+ hmDefaultOptions = 0, /* default options for help manager resources */
+ hmUseSubIDBit = 0,
+ hmAbsoluteCoordsBit = 1,
+ hmSaveBitsNoWindowBit = 2,
+ hmSaveBitsWindowBit = 3,
+ hmMatchInTitleBit = 4,
+ hmUseSubIDMask = (1 << hmUseSubIDBit), /* treat resID's in resources as subID's of driver base ID (for Desk Accessories) */
+ hmAbsoluteCoordsMask = (1 << hmAbsoluteCoordsBit), /* ignore window port origin and treat rectangles as absolute coords (local to window) */
+ hmSaveBitsNoWindowMask = (1 << hmSaveBitsNoWindowBit), /* don't create a window, just blast bits on screen. No update event is generated */
+ hmSaveBitsWindowMask = (1 << hmSaveBitsWindowBit), /* create a window, but restore bits behind window when window goes away & generate update event */
+ hmMatchInTitleMask = (1 << hmMatchInTitleBit) /* for hwin resources, match string anywhere in window title string */
+};
#if OLDROUTINENAMES
- enum
- {
- hmUseSubID = hmUseSubIDMask,
- hmAbsoluteCoords = hmAbsoluteCoordsMask,
- hmSaveBitsNoWindow = hmSaveBitsNoWindowMask,
- hmSaveBitsWindow = hmSaveBitsWindowMask,
- hmMatchInTitle = hmMatchInTitleMask
- };
+enum {
+ hmUseSubID = hmUseSubIDMask,
+ hmAbsoluteCoords = hmAbsoluteCoordsMask,
+ hmSaveBitsNoWindow = hmSaveBitsNoWindowMask,
+ hmSaveBitsWindow = hmSaveBitsWindowMask,
+ hmMatchInTitle = hmMatchInTitleMask
+};
#endif /* OLDROUTINENAMES */
- enum
- {
- /* Constants for Help Types in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources */
- kHMStringItem = 1, /* pstring used in resource */
- kHMPictItem = 2, /* 'PICT' ResID used in resource */
- kHMStringResItem = 3, /* 'STR#' ResID & index used in resource */
- kHMTEResItem = 6, /* Styled Text Edit ResID used in resource ('TEXT' & 'styl') */
- kHMSTRResItem = 7, /* 'STR ' ResID used in resource */
- kHMSkipItem = 256, /* don't display a balloon */
- kHMCompareItem = 512, /* Compare pstring in menu item w/ PString in resource item ('hmnu' only) */
- kHMNamedResourceItem = 1024, /* Use pstring in menu item to get 'STR#', 'PICT', or 'STR ' resource ('hmnu' only) */
- kHMTrackCntlItem = 2048 /* Reserved */
- };
-
- enum
- {
- /* Constants for hmmHelpType's when filling out HMMessageRecord */
- khmmString = 1, /* help message contains a PString */
- khmmPict = 2, /* help message contains a resource ID to a 'PICT' resource */
- khmmStringRes = 3, /* help message contains a res ID & index to a 'STR#' resource */
- khmmTEHandle = 4, /* help message contains a Text Edit handle */
- khmmPictHandle = 5, /* help message contains a Picture handle */
- khmmTERes = 6, /* help message contains a res ID to 'TEXT' & 'styl' resources */
- khmmSTRRes = 7, /* help message contains a res ID to a 'STR ' resource */
- kHMEnabledItem = 0 /* item is enabled, but not checked or control value = 0 */
- };
-
- enum
- {
- /* ResTypes for Styled TE Handles in Resources */
- kHMTETextResType = FOUR_CHAR_CODE('TEXT'), /* Resource Type of text data for styled TE record w/o style info */
- kHMTEStyleResType = FOUR_CHAR_CODE('styl') /* Resource Type of style information for styled TE record */
- };
-
- enum
- {
- kHMDisabledItem = 1, /* item is disabled, grayed in menus or disabled in dialogs */
- kHMCheckedItem = 2, /* item is enabled, and checked or control value = 1 */
- kHMOtherItem = 3, /* item is enabled, and control value > 1 */
- /* Method parameters to pass to HMShowBalloon */
- kHMRegularWindow = 0, /* Create a regular window floating above all windows */
- kHMSaveBitsNoWindow = 1, /* Just save the bits and draw (for MDEF calls) */
- kHMSaveBitsWindow = 2 /* Regular window, save bits behind, AND generate update event */
- };
-
- enum
- {
- /* Resource Types for whichType parameter used when extracting 'hmnu' & 'hdlg' messages */
- kHMMenuResType = FOUR_CHAR_CODE('hmnu'), /* ResType of help resource for supporting menus */
- kHMDialogResType = FOUR_CHAR_CODE('hdlg'), /* ResType of help resource for supporting dialogs */
- kHMWindListResType = FOUR_CHAR_CODE('hwin'), /* ResType of help resource for supporting windows */
- kHMRectListResType = FOUR_CHAR_CODE('hrct'), /* ResType of help resource for rectangles in windows */
- kHMOverrideResType = FOUR_CHAR_CODE('hovr'), /* ResType of help resource for overriding system balloons */
- kHMFinderApplResType = FOUR_CHAR_CODE('hfdr') /* ResType of help resource for custom balloon in Finder */
- };
-
- struct HMStringResType
- {
- short hmmResID;
- short hmmIndex;
- };
- typedef struct HMStringResType HMStringResType;
- struct HMMessageRecord
- {
- SInt16 hmmHelpType;
- union
- {
- Str255 hmmString;
- SInt16 hmmPict;
- TEHandle hmmTEHandle;
- HMStringResType hmmStringRes;
- SInt16 hmmPictRes;
- PicHandle hmmPictHandle;
- SInt16 hmmTERes;
- SInt16 hmmSTRRes;
- } u;
- };
- typedef struct HMMessageRecord HMMessageRecord;
- typedef HMMessageRecord * HMMessageRecPtr;
- typedef CALLBACK_API(OSErr , TipFunctionProcPtr)(Point tip, RgnHandle structure, Rect *r, BalloonVariant *balloonVariant);
- typedef STACK_UPP_TYPE(TipFunctionProcPtr) TipFunctionUPP;
+enum {
+ /* Constants for Help Types in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources */
+ kHMStringItem = 1, /* pstring used in resource */
+ kHMPictItem = 2, /* 'PICT' ResID used in resource */
+ kHMStringResItem = 3, /* 'STR#' ResID & index used in resource */
+ kHMTEResItem = 6, /* Styled Text Edit ResID used in resource ('TEXT' & 'styl') */
+ kHMSTRResItem = 7, /* 'STR ' ResID used in resource */
+ kHMSkipItem = 256, /* don't display a balloon */
+ kHMCompareItem = 512, /* Compare pstring in menu item w/ PString in resource item ('hmnu' only) */
+ kHMNamedResourceItem = 1024, /* Use pstring in menu item to get 'STR#', 'PICT', or 'STR ' resource ('hmnu' only) */
+ kHMTrackCntlItem = 2048 /* Reserved */
+};
+
+enum {
+ /* Constants for hmmHelpType's when filling out HMMessageRecord */
+ khmmString = 1, /* help message contains a PString */
+ khmmPict = 2, /* help message contains a resource ID to a 'PICT' resource */
+ khmmStringRes = 3, /* help message contains a res ID & index to a 'STR#' resource */
+ khmmTEHandle = 4, /* help message contains a Text Edit handle */
+ khmmPictHandle = 5, /* help message contains a Picture handle */
+ khmmTERes = 6, /* help message contains a res ID to 'TEXT' & 'styl' resources */
+ khmmSTRRes = 7, /* help message contains a res ID to a 'STR ' resource */
+ kHMEnabledItem = 0 /* item is enabled, but not checked or control value = 0 */
+};
+
+enum {
+ /* ResTypes for Styled TE Handles in Resources */
+ kHMTETextResType = FOUR_CHAR_CODE('TEXT'), /* Resource Type of text data for styled TE record w/o style info */
+ kHMTEStyleResType = FOUR_CHAR_CODE('styl') /* Resource Type of style information for styled TE record */
+};
+
+enum {
+ kHMDisabledItem = 1, /* item is disabled, grayed in menus or disabled in dialogs */
+ kHMCheckedItem = 2, /* item is enabled, and checked or control value = 1 */
+ kHMOtherItem = 3, /* item is enabled, and control value > 1 */
+ /* Method parameters to pass to HMShowBalloon */
+ kHMRegularWindow = 0, /* Create a regular window floating above all windows */
+ kHMSaveBitsNoWindow = 1, /* Just save the bits and draw (for MDEF calls) */
+ kHMSaveBitsWindow = 2 /* Regular window, save bits behind, AND generate update event */
+};
+
+enum {
+ /* Resource Types for whichType parameter used when extracting 'hmnu' & 'hdlg' messages */
+ kHMMenuResType = FOUR_CHAR_CODE('hmnu'), /* ResType of help resource for supporting menus */
+ kHMDialogResType = FOUR_CHAR_CODE('hdlg'), /* ResType of help resource for supporting dialogs */
+ kHMWindListResType = FOUR_CHAR_CODE('hwin'), /* ResType of help resource for supporting windows */
+ kHMRectListResType = FOUR_CHAR_CODE('hrct'), /* ResType of help resource for rectangles in windows */
+ kHMOverrideResType = FOUR_CHAR_CODE('hovr'), /* ResType of help resource for overriding system balloons */
+ kHMFinderApplResType = FOUR_CHAR_CODE('hfdr') /* ResType of help resource for custom balloon in Finder */
+};
+
+struct HMStringResType {
+ short hmmResID;
+ short hmmIndex;
+};
+typedef struct HMStringResType HMStringResType;
+struct HMMessageRecord {
+ SInt16 hmmHelpType;
+ union {
+ Str255 hmmString;
+ SInt16 hmmPict;
+ TEHandle hmmTEHandle;
+ HMStringResType hmmStringRes;
+ SInt16 hmmPictRes;
+ PicHandle hmmPictHandle;
+ SInt16 hmmTERes;
+ SInt16 hmmSTRRes;
+ } u;
+};
+typedef struct HMMessageRecord HMMessageRecord;
+typedef HMMessageRecord * HMMessageRecPtr;
+typedef CALLBACK_API( OSErr , TipFunctionProcPtr )(Point tip, RgnHandle structure, Rect *r, BalloonVariant *balloonVariant);
+typedef STACK_UPP_TYPE(TipFunctionProcPtr) TipFunctionUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewTipFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TipFunctionUPP)
- NewTipFunctionUPP(TipFunctionProcPtr userRoutine);
+/*
+ * NewTipFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TipFunctionUPP )
+NewTipFunctionUPP(TipFunctionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTipFunctionProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TipFunctionUPP) NewTipFunctionUPP(TipFunctionProcPtr userRoutine)
- {
- return (TipFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTipFunctionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTipFunctionUPP(userRoutine) (TipFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTipFunctionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTipFunctionProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TipFunctionUPP) NewTipFunctionUPP(TipFunctionProcPtr userRoutine) { return (TipFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTipFunctionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTipFunctionUPP(userRoutine) (TipFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTipFunctionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeTipFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeTipFunctionUPP(TipFunctionUPP userUPP);
+/*
+ * DisposeTipFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeTipFunctionUPP(TipFunctionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTipFunctionUPP(TipFunctionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTipFunctionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTipFunctionUPP(TipFunctionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTipFunctionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeTipFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InvokeTipFunctionUPP(
- Point tip,
- RgnHandle structure,
- Rect * r,
- BalloonVariant * balloonVariant,
- TipFunctionUPP userUPP);
+/*
+ * InvokeTipFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InvokeTipFunctionUPP(
+ Point tip,
+ RgnHandle structure,
+ Rect * r,
+ BalloonVariant * balloonVariant,
+ TipFunctionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeTipFunctionUPP(Point tip, RgnHandle structure, Rect * r, BalloonVariant * balloonVariant, TipFunctionUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppTipFunctionProcInfo, tip, structure, r, balloonVariant);
- }
-#else
-#define InvokeTipFunctionUPP(tip, structure, r, balloonVariant, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppTipFunctionProcInfo, (tip), (structure), (r), (balloonVariant))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeTipFunctionUPP(Point tip, RgnHandle structure, Rect * r, BalloonVariant * balloonVariant, TipFunctionUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppTipFunctionProcInfo, tip, structure, r, balloonVariant); }
+ #else
+ #define InvokeTipFunctionUPP(tip, structure, r, balloonVariant, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppTipFunctionProcInfo, (tip), (structure), (r), (balloonVariant))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewTipFunctionProc(userRoutine) NewTipFunctionUPP(userRoutine)
-#define CallTipFunctionProc(userRoutine, tip, structure, r, balloonVariant) InvokeTipFunctionUPP(tip, structure, r, balloonVariant, userRoutine)
+ #define NewTipFunctionProc(userRoutine) NewTipFunctionUPP(userRoutine)
+ #define CallTipFunctionProc(userRoutine, tip, structure, r, balloonVariant) InvokeTipFunctionUPP(tip, structure, r, balloonVariant, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* Public Interfaces */
+/* Public Interfaces */
#if CALL_NOT_IN_CARBON
- /*
- * HMGetHelpMenuHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMGetHelpMenuHandle(MenuRef * mh) THREEWORDINLINE(0x303C, 0x0200, 0xA830);
+/*
+ * HMGetHelpMenuHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMGetHelpMenuHandle(MenuRef * mh) THREEWORDINLINE(0x303C, 0x0200, 0xA830);
#define HMGetHelpMenuRef HMGetHelpMenuHandle
- /*
- * HMShowBalloon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMShowBalloon(
- const HMMessageRecord * inHelpMessage,
- Point inTip,
- Rect * inHotRect, /* can be NULL */
- TipFunctionUPP inTipProc,
- SInt16 inWindowProcID,
- BalloonVariant inBalloonVariant,
- SInt16 inMethod) THREEWORDINLINE(0x303C, 0x0B01, 0xA830);
-
-
- /*
- * HMShowMenuBalloon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMShowMenuBalloon(
- SInt16 itemNum,
- SInt16 itemMenuID,
- SInt32 itemFlags,
- SInt32 itemReserved,
- Point tip,
- Rect * alternateRect, /* can be NULL */
- TipFunctionUPP tipProc,
- SInt16 theProc,
- BalloonVariant balloonVariant) THREEWORDINLINE(0x303C, 0x0E05, 0xA830);
-
-
- /*
- * HMRemoveBalloon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMRemoveBalloon(void) THREEWORDINLINE(0x303C, 0x0002, 0xA830);
-
-
- /*
- * HMGetIndHelpMsg()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMGetIndHelpMsg(
- ResType inWhichResType,
- SInt16 inWhichResID,
- SInt16 inMessageIndex,
- SInt16 inMessageState,
- UInt32 * outOptions,
- Point * outTip,
- Rect * outHotRect,
- SInt16 * outWindowProcID,
- BalloonVariant * outBalloonVariant,
- HMMessageRecord * outHelpMessage,
- SInt16 * outMessageCount) THREEWORDINLINE(0x303C, 0x1306, 0xA830);
-
-
- /*
- * HMIsBalloon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- HMIsBalloon(void) THREEWORDINLINE(0x303C, 0x0007, 0xA830);
-
-
- /*
- * HMGetBalloons()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- HMGetBalloons(void) THREEWORDINLINE(0x303C, 0x0003, 0xA830);
-
-
- /*
- * HMSetBalloons()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMSetBalloons(Boolean flag) THREEWORDINLINE(0x303C, 0x0104, 0xA830);
-
-
- /*
- * HMSetFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMSetFont(SInt16 font) THREEWORDINLINE(0x303C, 0x0108, 0xA830);
-
-
- /*
- * HMSetFontSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMSetFontSize(UInt16 fontSize) THREEWORDINLINE(0x303C, 0x0109, 0xA830);
-
-
- /*
- * HMGetFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMGetFont(SInt16 * font) THREEWORDINLINE(0x303C, 0x020A, 0xA830);
-
-
- /*
- * HMGetFontSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMGetFontSize(UInt16 * fontSize) THREEWORDINLINE(0x303C, 0x020B, 0xA830);
-
-
- /*
- * HMSetDialogResID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMSetDialogResID(SInt16 resID) THREEWORDINLINE(0x303C, 0x010C, 0xA830);
-
-
- /*
- * HMSetMenuResID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMSetMenuResID(
- SInt16 menuID,
- SInt16 resID) THREEWORDINLINE(0x303C, 0x020D, 0xA830);
-
-
- /*
- * HMBalloonRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMBalloonRect(
- const HMMessageRecord * inMessage,
- Rect * outRect) THREEWORDINLINE(0x303C, 0x040E, 0xA830);
-
-
- /*
- * HMBalloonPict()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMBalloonPict(
- const HMMessageRecord * inMessage,
- PicHandle * outPict) THREEWORDINLINE(0x303C, 0x040F, 0xA830);
-
-
- /*
- * HMScanTemplateItems()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMScanTemplateItems(
- SInt16 whichID,
- SInt16 whichResFile,
- ResType whichType) THREEWORDINLINE(0x303C, 0x0410, 0xA830);
-
-
- /*
- * HMExtractHelpMsg()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMExtractHelpMsg(
- ResType inType,
- SInt16 inResID,
- SInt16 inMessageIndex,
- SInt16 inMessageState,
- HMMessageRecord * outMessage) THREEWORDINLINE(0x303C, 0x0711, 0xA830);
-
-
- /*
- * HMGetDialogResID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMGetDialogResID(SInt16 * resID) THREEWORDINLINE(0x303C, 0x0213, 0xA830);
-
-
- /*
- * HMGetMenuResID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMGetMenuResID(
- SInt16 menuID,
- SInt16 * resID) THREEWORDINLINE(0x303C, 0x0314, 0xA830);
-
-
- /*
- * HMGetBalloonWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- HMGetBalloonWindow(WindowRef * window) THREEWORDINLINE(0x303C, 0x0215, 0xA830);
+/*
+ * HMShowBalloon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMShowBalloon(
+ const HMMessageRecord * inHelpMessage,
+ Point inTip,
+ Rect * inHotRect, /* can be NULL */
+ TipFunctionUPP inTipProc,
+ SInt16 inWindowProcID,
+ BalloonVariant inBalloonVariant,
+ SInt16 inMethod) THREEWORDINLINE(0x303C, 0x0B01, 0xA830);
+
+
+/*
+ * HMShowMenuBalloon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMShowMenuBalloon(
+ SInt16 itemNum,
+ SInt16 itemMenuID,
+ SInt32 itemFlags,
+ SInt32 itemReserved,
+ Point tip,
+ Rect * alternateRect, /* can be NULL */
+ TipFunctionUPP tipProc,
+ SInt16 theProc,
+ BalloonVariant balloonVariant) THREEWORDINLINE(0x303C, 0x0E05, 0xA830);
+
+
+/*
+ * HMRemoveBalloon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMRemoveBalloon(void) THREEWORDINLINE(0x303C, 0x0002, 0xA830);
+
+
+/*
+ * HMGetIndHelpMsg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMGetIndHelpMsg(
+ ResType inWhichResType,
+ SInt16 inWhichResID,
+ SInt16 inMessageIndex,
+ SInt16 inMessageState,
+ UInt32 * outOptions,
+ Point * outTip,
+ Rect * outHotRect,
+ SInt16 * outWindowProcID,
+ BalloonVariant * outBalloonVariant,
+ HMMessageRecord * outHelpMessage,
+ SInt16 * outMessageCount) THREEWORDINLINE(0x303C, 0x1306, 0xA830);
+
+
+/*
+ * HMIsBalloon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+HMIsBalloon(void) THREEWORDINLINE(0x303C, 0x0007, 0xA830);
+
+
+/*
+ * HMGetBalloons()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+HMGetBalloons(void) THREEWORDINLINE(0x303C, 0x0003, 0xA830);
+
+
+/*
+ * HMSetBalloons()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMSetBalloons(Boolean flag) THREEWORDINLINE(0x303C, 0x0104, 0xA830);
+
+
+/*
+ * HMSetFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMSetFont(SInt16 font) THREEWORDINLINE(0x303C, 0x0108, 0xA830);
+
+
+/*
+ * HMSetFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMSetFontSize(UInt16 fontSize) THREEWORDINLINE(0x303C, 0x0109, 0xA830);
+
+
+/*
+ * HMGetFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMGetFont(SInt16 * font) THREEWORDINLINE(0x303C, 0x020A, 0xA830);
+
+
+/*
+ * HMGetFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMGetFontSize(UInt16 * fontSize) THREEWORDINLINE(0x303C, 0x020B, 0xA830);
+
+
+/*
+ * HMSetDialogResID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMSetDialogResID(SInt16 resID) THREEWORDINLINE(0x303C, 0x010C, 0xA830);
+
+
+/*
+ * HMSetMenuResID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMSetMenuResID(
+ SInt16 menuID,
+ SInt16 resID) THREEWORDINLINE(0x303C, 0x020D, 0xA830);
+
+
+/*
+ * HMBalloonRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMBalloonRect(
+ const HMMessageRecord * inMessage,
+ Rect * outRect) THREEWORDINLINE(0x303C, 0x040E, 0xA830);
+
+
+/*
+ * HMBalloonPict()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMBalloonPict(
+ const HMMessageRecord * inMessage,
+ PicHandle * outPict) THREEWORDINLINE(0x303C, 0x040F, 0xA830);
+
+
+/*
+ * HMScanTemplateItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMScanTemplateItems(
+ SInt16 whichID,
+ SInt16 whichResFile,
+ ResType whichType) THREEWORDINLINE(0x303C, 0x0410, 0xA830);
+
+
+/*
+ * HMExtractHelpMsg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMExtractHelpMsg(
+ ResType inType,
+ SInt16 inResID,
+ SInt16 inMessageIndex,
+ SInt16 inMessageState,
+ HMMessageRecord * outMessage) THREEWORDINLINE(0x303C, 0x0711, 0xA830);
+
+
+/*
+ * HMGetDialogResID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMGetDialogResID(SInt16 * resID) THREEWORDINLINE(0x303C, 0x0213, 0xA830);
+
+
+/*
+ * HMGetMenuResID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMGetMenuResID(
+ SInt16 menuID,
+ SInt16 * resID) THREEWORDINLINE(0x303C, 0x0314, 0xA830);
+
+
+/*
+ * HMGetBalloonWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+HMGetBalloonWindow(WindowRef * window) THREEWORDINLINE(0x303C, 0x0215, 0xA830);
#endif /* CALL_NOT_IN_CARBON */
@@ -596,11 +572,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CFArray.h b/include/qt/CFArray.h
index 91d2b7cd9..97212a2df 100644
--- a/include/qt/CFArray.h
+++ b/include/qt/CFArray.h
@@ -1,17 +1,17 @@
/*
File: CFArray.h
-
+
Contains: CoreFoundation array collection
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
@@ -21,21 +21,21 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#include "CoreFoundation/CFArray.h"
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CFBag.h b/include/qt/CFBag.h
index 0f4e0cf7a..996557261 100644
--- a/include/qt/CFBag.h
+++ b/include/qt/CFBag.h
@@ -1,17 +1,17 @@
/*
File: CFBag.h
-
+
Contains: CoreFoundation bag collection
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFBase.h b/include/qt/CFBase.h
index fa72b1441..22f5ec072 100644
--- a/include/qt/CFBase.h
+++ b/include/qt/CFBase.h
@@ -1,17 +1,17 @@
/*
File: CFBase.h
-
+
Contains: CoreFoundation base types
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
@@ -21,21 +21,21 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#include "CoreFoundation/CFBase.h"
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CFBinaryHeap.h b/include/qt/CFBinaryHeap.h
index ee201c544..f54079c8d 100644
--- a/include/qt/CFBinaryHeap.h
+++ b/include/qt/CFBinaryHeap.h
@@ -1,17 +1,17 @@
/*
File: CFBinaryHeap.h
-
+
Contains: CoreFoundation binary heap
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFBitVector.h b/include/qt/CFBitVector.h
index d6427b6e3..c3cbcad88 100644
--- a/include/qt/CFBitVector.h
+++ b/include/qt/CFBitVector.h
@@ -1,17 +1,17 @@
/*
File: CFBitVector.h
-
+
Contains: CoreFoundation bit vectors
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFBundle.h b/include/qt/CFBundle.h
index d892f058f..c5deeb555 100644
--- a/include/qt/CFBundle.h
+++ b/include/qt/CFBundle.h
@@ -1,17 +1,17 @@
/*
File: CFBundle.h
-
+
Contains: CoreFoundation bundle
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CFBUNDLE__
#define __CFBUNDLE__
diff --git a/include/qt/CFCharacterSet.h b/include/qt/CFCharacterSet.h
index e099352cc..9908f9cb6 100644
--- a/include/qt/CFCharacterSet.h
+++ b/include/qt/CFCharacterSet.h
@@ -1,17 +1,17 @@
/*
File: CFCharacterSet.h
-
+
Contains: CoreFoundation character sets
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFData.h b/include/qt/CFData.h
index 99965cd01..e3b92c802 100644
--- a/include/qt/CFData.h
+++ b/include/qt/CFData.h
@@ -1,17 +1,17 @@
/*
File: CFData.h
-
+
Contains: CoreFoundation block of bytes
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFDate.h b/include/qt/CFDate.h
index b2dc2f1ad..af6348bb9 100644
--- a/include/qt/CFDate.h
+++ b/include/qt/CFDate.h
@@ -1,17 +1,17 @@
/*
File: CFDate.h
-
+
Contains: CoreFoundation date
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CFDATE__
#define __CFDATE__
diff --git a/include/qt/CFDictionary.h b/include/qt/CFDictionary.h
index 7497a4b43..b867f8c33 100644
--- a/include/qt/CFDictionary.h
+++ b/include/qt/CFDictionary.h
@@ -1,17 +1,17 @@
/*
File: CFDictionary.h
-
+
Contains: CoreFoundation dictionary collection
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFMachPort.h b/include/qt/CFMachPort.h
index ffe379d0a..c224e698b 100644
--- a/include/qt/CFMachPort.h
+++ b/include/qt/CFMachPort.h
@@ -1,17 +1,17 @@
/*
File: CFMachPort.h
-
+
Contains: CoreFoundation bit vectors
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFMessagePort.h b/include/qt/CFMessagePort.h
index 576efac57..255b1e670 100644
--- a/include/qt/CFMessagePort.h
+++ b/include/qt/CFMessagePort.h
@@ -1,17 +1,17 @@
/*
File: CFMessagePort.h
-
+
Contains: CoreFoundation Message Port
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFNetwork.h b/include/qt/CFNetwork.h
index 047159b28..c1b4e3b31 100644
--- a/include/qt/CFNetwork.h
+++ b/include/qt/CFNetwork.h
@@ -1,15 +1,15 @@
/*
File: CFNetwork.h
-
+
Contains: CoreFoundation Network header
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFNotificationCenter.h b/include/qt/CFNotificationCenter.h
index d6c51ba6a..20292ebfd 100644
--- a/include/qt/CFNotificationCenter.h
+++ b/include/qt/CFNotificationCenter.h
@@ -1,15 +1,15 @@
/*
File: CFNotificationCenter.h
-
+
Contains: CoreFoundation Notification Center
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFNumber.h b/include/qt/CFNumber.h
index 1d064f04c..2b9bb5fd8 100644
--- a/include/qt/CFNumber.h
+++ b/include/qt/CFNumber.h
@@ -1,17 +1,17 @@
/*
File: CFNumber.h
-
+
Contains: CoreFoundation numbers
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFPlugIn.h b/include/qt/CFPlugIn.h
index e01d31a21..5e9a47b6c 100644
--- a/include/qt/CFPlugIn.h
+++ b/include/qt/CFPlugIn.h
@@ -1,17 +1,17 @@
/*
File: CFPlugIn.h
-
+
Contains: CoreFoundation plugins
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFPlugInCOM.h b/include/qt/CFPlugInCOM.h
index 59fe03eb9..6f3db50b3 100644
--- a/include/qt/CFPlugInCOM.h
+++ b/include/qt/CFPlugInCOM.h
@@ -1,17 +1,17 @@
/*
File: CFPlugInCOM.h
-
+
Contains: CoreFoundation plugins
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFPreferences.h b/include/qt/CFPreferences.h
index 5c04a2854..80dd4e4fc 100644
--- a/include/qt/CFPreferences.h
+++ b/include/qt/CFPreferences.h
@@ -1,17 +1,17 @@
/*
File: CFPreferences.h
-
+
Contains: CoreFoundation preferences
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFPropertyList.h b/include/qt/CFPropertyList.h
index cbc85b574..5024b379e 100644
--- a/include/qt/CFPropertyList.h
+++ b/include/qt/CFPropertyList.h
@@ -1,17 +1,17 @@
/*
File: CFPropertyList.h
-
+
Contains: CoreFoundation PropertyList
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFRunLoop.h b/include/qt/CFRunLoop.h
index 6f3bd7eee..1d1649080 100644
--- a/include/qt/CFRunLoop.h
+++ b/include/qt/CFRunLoop.h
@@ -1,17 +1,17 @@
/*
File: CFRunLoop.h
-
+
Contains: CoreFoundation binary heap
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CFRUNLOOP__
#define __CFRUNLOOP__
diff --git a/include/qt/CFSet.h b/include/qt/CFSet.h
index fee276993..f081014fb 100644
--- a/include/qt/CFSet.h
+++ b/include/qt/CFSet.h
@@ -1,17 +1,17 @@
/*
File: CFSet.h
-
+
Contains: CoreFoundation set collection
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFSocket.h b/include/qt/CFSocket.h
index 9f137b284..3dcde1947 100644
--- a/include/qt/CFSocket.h
+++ b/include/qt/CFSocket.h
@@ -1,17 +1,17 @@
/*
File: CFSocket.h
-
+
Contains: CoreFoundation streams header
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFStream.h b/include/qt/CFStream.h
index 4c45e9dd0..afc8a3ef1 100644
--- a/include/qt/CFStream.h
+++ b/include/qt/CFStream.h
@@ -1,17 +1,17 @@
/*
File: CFStream.h
-
+
Contains: CoreFoundation streams header
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFString.h b/include/qt/CFString.h
index 70a75bc7e..9868f94f2 100644
--- a/include/qt/CFString.h
+++ b/include/qt/CFString.h
@@ -1,17 +1,17 @@
/*
File: CFString.h
-
+
Contains: CoreFoundation strings
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFStringEncodingExt.h b/include/qt/CFStringEncodingExt.h
index d0668eb22..65fbd57ed 100644
--- a/include/qt/CFStringEncodingExt.h
+++ b/include/qt/CFStringEncodingExt.h
@@ -1,17 +1,17 @@
/*
File: CFStringEncodingExt.h
-
+
Contains: CoreFoundation string encodings
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFTimeZone.h b/include/qt/CFTimeZone.h
index b0460ae71..049e16e1f 100644
--- a/include/qt/CFTimeZone.h
+++ b/include/qt/CFTimeZone.h
@@ -1,17 +1,17 @@
/*
File: CFTimeZone.h
-
+
Contains: CoreFoundation time zone
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFTree.h b/include/qt/CFTree.h
index 48d4b5254..2e6910e2c 100644
--- a/include/qt/CFTree.h
+++ b/include/qt/CFTree.h
@@ -1,17 +1,17 @@
/*
File: CFTree.h
-
+
Contains: CoreFoundation tree collection
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CFTREE__
#define __CFTREE__
diff --git a/include/qt/CFURL.h b/include/qt/CFURL.h
index 2838d298b..e2dced4a5 100644
--- a/include/qt/CFURL.h
+++ b/include/qt/CFURL.h
@@ -1,17 +1,17 @@
/*
File: CFURL.h
-
+
Contains: CoreFoundation urls
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFURLAccess.h b/include/qt/CFURLAccess.h
index 9e8a7fdee..8e15d4e69 100644
--- a/include/qt/CFURLAccess.h
+++ b/include/qt/CFURLAccess.h
@@ -1,17 +1,17 @@
/*
File: CFURLAccess.h
-
+
Contains: CoreFoundation url access
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CFUUID.h b/include/qt/CFUUID.h
index f499b73bf..1a34cd5bc 100644
--- a/include/qt/CFUUID.h
+++ b/include/qt/CFUUID.h
@@ -1,17 +1,17 @@
/*
File: CFUUID.h
-
+
Contains: CoreFoundation UUIDs
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CFUUID__
#define __CFUUID__
@@ -27,34 +27,33 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#include "CFBase.h"
typedef struct __CFUUID* CFUUIDRef;
-struct CFUUIDBytes
-{
- UInt8 byte0;
- UInt8 byte1;
- UInt8 byte2;
- UInt8 byte3;
- UInt8 byte4;
- UInt8 byte5;
- UInt8 byte6;
- UInt8 byte7;
- UInt8 byte8;
- UInt8 byte9;
- UInt8 byte10;
- UInt8 byte11;
- UInt8 byte12;
- UInt8 byte13;
- UInt8 byte14;
- UInt8 byte15;
+struct CFUUIDBytes {
+ UInt8 byte0;
+ UInt8 byte1;
+ UInt8 byte2;
+ UInt8 byte3;
+ UInt8 byte4;
+ UInt8 byte5;
+ UInt8 byte6;
+ UInt8 byte7;
+ UInt8 byte8;
+ UInt8 byte9;
+ UInt8 byte10;
+ UInt8 byte11;
+ UInt8 byte12;
+ UInt8 byte13;
+ UInt8 byte14;
+ UInt8 byte15;
};
typedef struct CFUUIDBytes CFUUIDBytes;
/* The CFUUIDBytes struct is a 128-bit struct that contains the
@@ -64,11 +63,11 @@ passing to APIs that expect a raw UUID.
*/
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CFXMLNode.h b/include/qt/CFXMLNode.h
index a7ff65a71..9802309eb 100644
--- a/include/qt/CFXMLNode.h
+++ b/include/qt/CFXMLNode.h
@@ -1,17 +1,17 @@
/*
File: CFXMLNode.h
-
+
Contains: CoreFoundation XML Node and XML Tree
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CFXMLNODE__
#define __CFXMLNODE__
diff --git a/include/qt/CFXMLParser.h b/include/qt/CFXMLParser.h
index f3b630584..1a0a4027e 100644
--- a/include/qt/CFXMLParser.h
+++ b/include/qt/CFXMLParser.h
@@ -1,17 +1,17 @@
/*
File: CFXMLParser.h
-
+
Contains: CoreFoundation XML parser
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
diff --git a/include/qt/CGAffineTransform.h b/include/qt/CGAffineTransform.h
index 44acbec01..ac1a6014f 100644
--- a/include/qt/CGAffineTransform.h
+++ b/include/qt/CGAffineTransform.h
@@ -1,17 +1,17 @@
/*
File: CGAffineTransform.h
-
+
Contains: CoreGraphics affine transforms
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGAFFINETRANSFORM_H_
#define CGAFFINETRANSFORM_H_
@@ -40,221 +40,220 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- struct CGAffineTransform
- {
- float a;
- float b;
- float c;
- float d;
- float tx;
- float ty;
- };
- typedef struct CGAffineTransform CGAffineTransform;
- /* The identity transform: [ 1 0 0 1 0 0 ]. */
- /*
- * CGAffineTransformIdentity
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern const CGAffineTransform CGAffineTransformIdentity;
- /* Return the transform [ a b c d tx ty ]. */
- /*
- * CGAffineTransformMake()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformMake(
- float a,
- float b,
- float c,
- float d,
- float tx,
- float ty);
-
-
- /* Return a transform which translates by `(tx, ty)':
- * t' = [ 1 0 0 1 tx ty ] */
- /*
- * CGAffineTransformMakeTranslation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformMakeTranslation(
- float tx,
- float ty);
-
-
- /* Return a transform which scales by `(sx, sy)':
- * t' = [ sx 0 0 sy 0 0 ] */
- /*
- * CGAffineTransformMakeScale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformMakeScale(
- float sx,
- float sy);
-
-
- /* Return a transform which rotates by `angle' radians:
- * t' = [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] */
- /*
- * CGAffineTransformMakeRotation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformMakeRotation(float angle);
-
-
- /* Translate `t' by `(tx, ty)' and return the result:
- * t' = [ 1 0 0 1 tx ty ] * t */
- /*
- * CGAffineTransformTranslate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformTranslate(
- CGAffineTransform t,
- float tx,
- float ty);
-
-
- /* Scale `t' by `(sx, sy)' and return the result:
- * t' = [ sx 0 0 sy 0 0 ] * t */
- /*
- * CGAffineTransformScale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformScale(
- CGAffineTransform t,
- float sx,
- float sy);
-
-
- /* Rotate `t' by `angle' radians and return the result:
- * t' = [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] * t */
- /*
- * CGAffineTransformRotate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformRotate(
- CGAffineTransform t,
- float angle);
-
-
- /* Invert `t' and return the result. If `t' has zero determinant, then `t'
- * is returned unchanged. */
- /*
- * CGAffineTransformInvert()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformInvert(CGAffineTransform t);
-
-
- /* Concatenate `t2' to `t1' and returne the result:
- * t' = t1 * t2 */
- /*
- * CGAffineTransformConcat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGAffineTransformConcat(
- CGAffineTransform t1,
- CGAffineTransform t2);
-
-
- /* Transform `point' by `t' and return the result:
- * p' = p * t
- * where p = [ x y 1 ]. */
- /*
- * CGPointApplyAffineTransform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGPoint)
- CGPointApplyAffineTransform(
- CGPoint point,
- CGAffineTransform t);
-
-
- /* Transform `size' by `t' and return the result:
- * s' = s * t
- * where s = [ width height 0 ]. */
- /*
- * CGSizeApplyAffineTransform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGSize)
- CGSizeApplyAffineTransform(
- CGSize size,
- CGAffineTransform t);
+struct CGAffineTransform {
+ float a;
+ float b;
+ float c;
+ float d;
+ float tx;
+ float ty;
+};
+typedef struct CGAffineTransform CGAffineTransform;
+/* The identity transform: [ 1 0 0 1 0 0 ]. */
+/*
+ * CGAffineTransformIdentity
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern const CGAffineTransform CGAffineTransformIdentity;
+/* Return the transform [ a b c d tx ty ]. */
+/*
+ * CGAffineTransformMake()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformMake(
+ float a,
+ float b,
+ float c,
+ float d,
+ float tx,
+ float ty);
+
+
+/* Return a transform which translates by `(tx, ty)':
+ * t' = [ 1 0 0 1 tx ty ] */
+/*
+ * CGAffineTransformMakeTranslation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformMakeTranslation(
+ float tx,
+ float ty);
+
+
+/* Return a transform which scales by `(sx, sy)':
+ * t' = [ sx 0 0 sy 0 0 ] */
+/*
+ * CGAffineTransformMakeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformMakeScale(
+ float sx,
+ float sy);
+
+
+/* Return a transform which rotates by `angle' radians:
+ * t' = [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] */
+/*
+ * CGAffineTransformMakeRotation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformMakeRotation(float angle);
+
+
+/* Translate `t' by `(tx, ty)' and return the result:
+ * t' = [ 1 0 0 1 tx ty ] * t */
+/*
+ * CGAffineTransformTranslate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformTranslate(
+ CGAffineTransform t,
+ float tx,
+ float ty);
+
+
+/* Scale `t' by `(sx, sy)' and return the result:
+ * t' = [ sx 0 0 sy 0 0 ] * t */
+/*
+ * CGAffineTransformScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformScale(
+ CGAffineTransform t,
+ float sx,
+ float sy);
+
+
+/* Rotate `t' by `angle' radians and return the result:
+ * t' = [ cos(angle) sin(angle) -sin(angle) cos(angle) 0 0 ] * t */
+/*
+ * CGAffineTransformRotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformRotate(
+ CGAffineTransform t,
+ float angle);
+
+
+/* Invert `t' and return the result. If `t' has zero determinant, then `t'
+ * is returned unchanged. */
+/*
+ * CGAffineTransformInvert()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformInvert(CGAffineTransform t);
+
+
+/* Concatenate `t2' to `t1' and returne the result:
+ * t' = t1 * t2 */
+/*
+ * CGAffineTransformConcat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGAffineTransformConcat(
+ CGAffineTransform t1,
+ CGAffineTransform t2);
+
+
+/* Transform `point' by `t' and return the result:
+ * p' = p * t
+ * where p = [ x y 1 ]. */
+/*
+ * CGPointApplyAffineTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPoint )
+CGPointApplyAffineTransform(
+ CGPoint point,
+ CGAffineTransform t);
+
+
+/* Transform `size' by `t' and return the result:
+ * s' = s * t
+ * where s = [ width height 0 ]. */
+/*
+ * CGSizeApplyAffineTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGSize )
+CGSizeApplyAffineTransform(
+ CGSize size,
+ CGAffineTransform t);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGBase.h b/include/qt/CGBase.h
index e91e20949..cb4cb58cd 100644
--- a/include/qt/CGBase.h
+++ b/include/qt/CGBase.h
@@ -1,17 +1,17 @@
/*
File: CGBase.h
-
+
Contains: CoreGraphics base types
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGBASE_H_
#define CGBASE_H_
@@ -21,7 +21,7 @@
#endif
#include "stddef.h"
-#if __MWERKS__ > 0x2300
+#if __MWERKS__ > 0x2300
#include "stdint.h"
#endif
@@ -59,7 +59,7 @@ typedef unsigned long uint32_t;
# elif defined(__MWERKS__)
# define CG_INLINE static inline
# else
-# define CG_INLINE static
+# define CG_INLINE static
# endif
#endif
diff --git a/include/qt/CGBitmapContext.h b/include/qt/CGBitmapContext.h
index ac84e59f9..782784318 100644
--- a/include/qt/CGBitmapContext.h
+++ b/include/qt/CGBitmapContext.h
@@ -1,17 +1,17 @@
/*
File: CGBitmapContext.h
-
+
Contains: CoreGraphics BitMapContext
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGBITMAPCONTEXT_H_
#define CGBITMAPCONTEXT_H_
@@ -51,23 +51,23 @@ extern "C" {
#pragma import on
#endif
- /*
- * CGBitmapContextCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGContextRef)
- CGBitmapContextCreate(
- void * data,
- size_t width,
- size_t height,
- size_t bitsPerComponent,
- size_t bytesPerRow,
- CGColorSpaceRef colorspace,
- CGImageAlphaInfo alphaInfo);
+/*
+ * CGBitmapContextCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGContextRef )
+CGBitmapContextCreate(
+ void * data,
+ size_t width,
+ size_t height,
+ size_t bitsPerComponent,
+ size_t bytesPerRow,
+ CGColorSpaceRef colorspace,
+ CGImageAlphaInfo alphaInfo);
diff --git a/include/qt/CGColorSpace.h b/include/qt/CGColorSpace.h
index f7d4e66d7..b8fff5727 100644
--- a/include/qt/CGColorSpace.h
+++ b/include/qt/CGColorSpace.h
@@ -1,17 +1,17 @@
/*
File: CGColorSpace.h
-
+
Contains: CoreGraphics color space
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGCOLORSPACE_H_
@@ -41,278 +41,277 @@ extern "C" {
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGCOLORSPACE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGCOLORSPACE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGCOLORSPACE__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGCOLORSPACE__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- typedef struct CGColorSpace* CGColorSpaceRef;
- enum CGColorRenderingIntent
- {
- kCGRenderingIntentDefault = 0,
- kCGRenderingIntentAbsoluteColorimetric = 1,
- kCGRenderingIntentRelativeColorimetric = 2,
- kCGRenderingIntentPerceptual = 3,
- kCGRenderingIntentSaturation = 4
- };
- typedef enum CGColorRenderingIntent CGColorRenderingIntent;
-
-
- /** Device-dependent color spaces. **/
- /* Create a DeviceGray colorspace. */
- /*
- * CGColorSpaceCreateDeviceGray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateDeviceGray(void);
-
-
- /* Create a DeviceRGB colorspace. */
- /*
- * CGColorSpaceCreateDeviceRGB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateDeviceRGB(void);
-
-
- /* Create a DeviceCMYK colorspace. */
- /*
- * CGColorSpaceCreateDeviceCMYK()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateDeviceCMYK(void);
-
-
- /** Device-independent color spaces. **/
- /* Create a calibrated gray colorspace. `whitePoint' is an array of 3
- * numbers specifying the tristimulus value, in the CIE 1931 XYZ-space, of
- * the diffuse white point. `blackPoint' is an array of 3 numbers
- * specifying the tristimulus value, in CIE 1931 XYZ-space, of the diffuse
- * black point. `gamma' defines the gamma for the gray component. */
- /*
- * CGColorSpaceCreateCalibratedGray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateCalibratedGray(
- const float whitePoint[3],
- const float blackPoint[3],
- float gamma);
-
-
- /* Create a calibrated RGB colorspace. `whitePoint' is an array of 3
- * numbers specifying the tristimulus value, in the CIE 1931 XYZ-space, of
- * the diffuse white point. `blackPoint' is an array of 3 numbers
- * specifying the tristimulus value, in CIE 1931 XYZ-space, of the diffuse
- * black point. `gamma' is an array of 3 numbers specifying the gamma for
- * the red, green, and blue components of the color space. `matrix' is an
- * array of 9 numbers specifying the linear interpretation of the
- * gamma-modified RGB values of the colorspace with respect to the final
- * XYZ representation. */
- /*
- * CGColorSpaceCreateCalibratedRGB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateCalibratedRGB(
- const float whitePoint[3],
- const float blackPoint[3],
- const float gamma[3],
- const float matrix[9]);
-
-
- /* Create an L*a*b* colorspace. `whitePoint' is an array of 3 numbers
- * specifying the tristimulus value, in the CIE 1931 XYZ-space, of the
- * diffuse white point. `blackPoint' is an array of 3 numbers specifying
- * the tristimulus value, in CIE 1931 XYZ-space, of the diffuse black
- * point. `range' is an array of four numbers specifying the range of valid
- * values for the a* and b* components of the color space. */
- /*
- * CGColorSpaceCreateLab()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateLab(
- const float whitePoint[3],
- const float blackPoint[3],
- const float range[4]);
-
-
- /* Create an ICC-based colorspace. `nComponents' specifies the number of
- * color components in the color space defined by the ICC profile data.
- * This must match the number of components actually in the ICC profile,
- * and must be 1, 3, or 4. `range' is an array of 2*nComponents numbers
- * specifying the minimum and maximum valid values of the corresponding
- * color components, so that for color component k, range[2*k] <= c[k] <=
- * range[2*k+1], where c[k] is the k'th color component. `profile' is a
- * data provider specifying the ICC profile. `alternate' specifies an
- * alternate colorspace to be used in case the ICC profile is not
- * supported. It must have `nComponents' color components. If `alternate'
- * is NULL, then the color space used will be DeviceGray, DeviceRGB, or
- * DeviceCMYK, depending on whether `nComponents' is 1, 3, or 4,
- * respectively. */
- /*
- * CGColorSpaceCreateICCBased()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateICCBased(
- size_t nComponents,
- const float * range,
- CGDataProviderRef profile,
- CGColorSpaceRef alternateSpace);
-
-
- /** Special colorspaces. **/
- /* Create an indexed colorspace. A sample value in an indexed color space
- * is treated as an index into the color table of the color space. `base'
- * specifies the base color space in which the values in the color table
- * are to be interpreted. `lastIndex' is an integer which specifies the
- * maximum valid index value; it must be less than or equal to 255.
- * `colorTable' is an array of m * (lastIndex + 1) bytes, where m is
- * the number of color components in the base color space. Each byte
- * is an unsigned integer in the range 0 to 255 that is scaled to the
- * range of the corresponding color component in the base color space. */
- /*
- * CGColorSpaceCreateIndexed()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateIndexed(
- CGColorSpaceRef baseSpace,
- size_t lastIndex,
- const unsigned char * colorTable);
-
-
- /* Create a pattern colorspace. `baseSpace' is the underlying colorspace of
- * the pattern colorspace. For colored patterns, `baseSpace' should be
- * NULL; for uncolored patterns, `baseSpace' specifies the colorspace of
- * colors which will be painted through the pattern. */
- /*
- * CGColorSpaceCreatePattern()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreatePattern(CGColorSpaceRef baseSpace);
-
-
- /* Create a CGColorSpace using `platformColorSpaceReference', a pointer to
- * a platform-specific color space reference. For MacOS X,
- * `platformColorSpaceReference' should be a pointer to a CMProfileRef. */
- /*
- * CGColorSpaceCreateWithPlatformColorSpace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceCreateWithPlatformColorSpace(void * platformColorSpaceReference);
-
-
-
- /** Colorspace information. **/
- /* Return the number of color components supported by the colorspace `cs'. */
- /*
- * CGColorSpaceGetNumberOfComponents()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGColorSpaceGetNumberOfComponents(CGColorSpaceRef cs);
-
-
- /** Retaining & releasing colorspaces. **/
- /* Increment the retain count of `cs' and return it. All colorspaces are
- * created with an initial retain count of 1. */
- /*
- * CGColorSpaceRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGColorSpaceRetain(CGColorSpaceRef cs);
-
-
- /* Decrement the retain count of `cs'. If the retain count reaches 0, then
- * release it and any associated resources. */
- /*
- * CGColorSpaceRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGColorSpaceRelease(CGColorSpaceRef cs);
+typedef struct CGColorSpace* CGColorSpaceRef;
+enum CGColorRenderingIntent {
+ kCGRenderingIntentDefault = 0,
+ kCGRenderingIntentAbsoluteColorimetric = 1,
+ kCGRenderingIntentRelativeColorimetric = 2,
+ kCGRenderingIntentPerceptual = 3,
+ kCGRenderingIntentSaturation = 4
+};
+typedef enum CGColorRenderingIntent CGColorRenderingIntent;
+
+
+/** Device-dependent color spaces. **/
+/* Create a DeviceGray colorspace. */
+/*
+ * CGColorSpaceCreateDeviceGray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateDeviceGray(void);
+
+
+/* Create a DeviceRGB colorspace. */
+/*
+ * CGColorSpaceCreateDeviceRGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateDeviceRGB(void);
+
+
+/* Create a DeviceCMYK colorspace. */
+/*
+ * CGColorSpaceCreateDeviceCMYK()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateDeviceCMYK(void);
+
+
+/** Device-independent color spaces. **/
+/* Create a calibrated gray colorspace. `whitePoint' is an array of 3
+ * numbers specifying the tristimulus value, in the CIE 1931 XYZ-space, of
+ * the diffuse white point. `blackPoint' is an array of 3 numbers
+ * specifying the tristimulus value, in CIE 1931 XYZ-space, of the diffuse
+ * black point. `gamma' defines the gamma for the gray component. */
+/*
+ * CGColorSpaceCreateCalibratedGray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateCalibratedGray(
+ const float whitePoint[3],
+ const float blackPoint[3],
+ float gamma);
+
+
+/* Create a calibrated RGB colorspace. `whitePoint' is an array of 3
+ * numbers specifying the tristimulus value, in the CIE 1931 XYZ-space, of
+ * the diffuse white point. `blackPoint' is an array of 3 numbers
+ * specifying the tristimulus value, in CIE 1931 XYZ-space, of the diffuse
+ * black point. `gamma' is an array of 3 numbers specifying the gamma for
+ * the red, green, and blue components of the color space. `matrix' is an
+ * array of 9 numbers specifying the linear interpretation of the
+ * gamma-modified RGB values of the colorspace with respect to the final
+ * XYZ representation. */
+/*
+ * CGColorSpaceCreateCalibratedRGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateCalibratedRGB(
+ const float whitePoint[3],
+ const float blackPoint[3],
+ const float gamma[3],
+ const float matrix[9]);
+
+
+/* Create an L*a*b* colorspace. `whitePoint' is an array of 3 numbers
+ * specifying the tristimulus value, in the CIE 1931 XYZ-space, of the
+ * diffuse white point. `blackPoint' is an array of 3 numbers specifying
+ * the tristimulus value, in CIE 1931 XYZ-space, of the diffuse black
+ * point. `range' is an array of four numbers specifying the range of valid
+ * values for the a* and b* components of the color space. */
+/*
+ * CGColorSpaceCreateLab()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateLab(
+ const float whitePoint[3],
+ const float blackPoint[3],
+ const float range[4]);
+
+
+/* Create an ICC-based colorspace. `nComponents' specifies the number of
+ * color components in the color space defined by the ICC profile data.
+ * This must match the number of components actually in the ICC profile,
+ * and must be 1, 3, or 4. `range' is an array of 2*nComponents numbers
+ * specifying the minimum and maximum valid values of the corresponding
+ * color components, so that for color component k, range[2*k] <= c[k] <=
+ * range[2*k+1], where c[k] is the k'th color component. `profile' is a
+ * data provider specifying the ICC profile. `alternate' specifies an
+ * alternate colorspace to be used in case the ICC profile is not
+ * supported. It must have `nComponents' color components. If `alternate'
+ * is NULL, then the color space used will be DeviceGray, DeviceRGB, or
+ * DeviceCMYK, depending on whether `nComponents' is 1, 3, or 4,
+ * respectively. */
+/*
+ * CGColorSpaceCreateICCBased()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateICCBased(
+ size_t nComponents,
+ const float * range,
+ CGDataProviderRef profile,
+ CGColorSpaceRef alternateSpace);
+
+
+/** Special colorspaces. **/
+/* Create an indexed colorspace. A sample value in an indexed color space
+ * is treated as an index into the color table of the color space. `base'
+ * specifies the base color space in which the values in the color table
+ * are to be interpreted. `lastIndex' is an integer which specifies the
+ * maximum valid index value; it must be less than or equal to 255.
+ * `colorTable' is an array of m * (lastIndex + 1) bytes, where m is
+ * the number of color components in the base color space. Each byte
+ * is an unsigned integer in the range 0 to 255 that is scaled to the
+ * range of the corresponding color component in the base color space. */
+/*
+ * CGColorSpaceCreateIndexed()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateIndexed(
+ CGColorSpaceRef baseSpace,
+ size_t lastIndex,
+ const unsigned char * colorTable);
+
+
+/* Create a pattern colorspace. `baseSpace' is the underlying colorspace of
+ * the pattern colorspace. For colored patterns, `baseSpace' should be
+ * NULL; for uncolored patterns, `baseSpace' specifies the colorspace of
+ * colors which will be painted through the pattern. */
+/*
+ * CGColorSpaceCreatePattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreatePattern(CGColorSpaceRef baseSpace);
+
+
+/* Create a CGColorSpace using `platformColorSpaceReference', a pointer to
+ * a platform-specific color space reference. For MacOS X,
+ * `platformColorSpaceReference' should be a pointer to a CMProfileRef. */
+/*
+ * CGColorSpaceCreateWithPlatformColorSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceCreateWithPlatformColorSpace(void * platformColorSpaceReference);
+
+
+
+/** Colorspace information. **/
+/* Return the number of color components supported by the colorspace `cs'. */
+/*
+ * CGColorSpaceGetNumberOfComponents()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGColorSpaceGetNumberOfComponents(CGColorSpaceRef cs);
+
+
+/** Retaining & releasing colorspaces. **/
+/* Increment the retain count of `cs' and return it. All colorspaces are
+ * created with an initial retain count of 1. */
+/*
+ * CGColorSpaceRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGColorSpaceRetain(CGColorSpaceRef cs);
+
+
+/* Decrement the retain count of `cs'. If the retain count reaches 0, then
+ * release it and any associated resources. */
+/*
+ * CGColorSpaceRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGColorSpaceRelease(CGColorSpaceRef cs);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGCOLORSPACE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGCOLORSPACE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGCOLORSPACE__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGContext.h b/include/qt/CGContext.h
index b9be6e2c8..aee7877db 100644
--- a/include/qt/CGContext.h
+++ b/include/qt/CGContext.h
@@ -1,17 +1,17 @@
/*
File: CGContext.h
-
+
Contains: CoreGraphics context
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGCONTEXT_H_
#define CGCONTEXT_H_
@@ -56,1400 +56,1394 @@ extern "C" {
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGCONTEXT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGCONTEXT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGCONTEXT__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGCONTEXT__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- typedef struct CGContext* CGContextRef;
- typedef struct CGPattern* CGPatternRef;
- /* Line join styles. */
- enum CGLineJoin
- {
- kCGLineJoinMiter = 0,
- kCGLineJoinRound = 1,
- kCGLineJoinBevel = 2
- };
- typedef enum CGLineJoin CGLineJoin;
-
- /* Line cap styles. */
- enum CGLineCap
- {
- kCGLineCapButt = 0,
- kCGLineCapRound = 1,
- kCGLineCapSquare = 2
- };
- typedef enum CGLineCap CGLineCap;
-
- /* Drawing modes for paths. */
- enum CGPathDrawingMode
- {
- kCGPathFill = 0,
- kCGPathEOFill = 1,
- kCGPathStroke = 2,
- kCGPathFillStroke = 3,
- kCGPathEOFillStroke = 4
- };
- typedef enum CGPathDrawingMode CGPathDrawingMode;
-
- /* Drawing modes for text. */
- enum CGTextDrawingMode
- {
- kCGTextFill = 0,
- kCGTextStroke = 1,
- kCGTextFillStroke = 2,
- kCGTextInvisible = 3,
- kCGTextFillClip = 4,
- kCGTextStrokeClip = 5,
- kCGTextFillStrokeClip = 6,
- kCGTextClip = 7
- };
- typedef enum CGTextDrawingMode CGTextDrawingMode;
-
- /* Text encodings. */
- enum CGTextEncoding
- {
- kCGEncodingFontSpecific = 0,
- kCGEncodingMacRoman = 1
- };
- typedef enum CGTextEncoding CGTextEncoding;
-
- enum CGInterpolationQuality
- {
- kCGInterpolationDefault = 0, /* Let the context decide. */
- kCGInterpolationNone = 1, /* Never interpolate. */
- kCGInterpolationLow = 2, /* Fast, low quality. */
- kCGInterpolationHigh = 3 /* Slow, high quality. */
- };
- typedef enum CGInterpolationQuality CGInterpolationQuality;
-
-
- /** Graphics state functions. **/
- /* Push a copy of the current graphics state onto the graphics state
- * stack. Note that the path is not considered part of the gstate, and is
- * not saved. */
- /*
- * CGContextSaveGState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSaveGState(CGContextRef ctx);
-
-
- /* Restore the current graphics state from the one on the top of the
- * graphics state stack, popping the graphics state stack in the
- * process. */
- /*
- * CGContextRestoreGState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextRestoreGState(CGContextRef ctx);
-
-
- /** Coordinate space transformations. **/
- /* Scale the current graphics state's transformation matrix (the CTM) by
- * `(sx, sy)'. */
- /*
- * CGContextScaleCTM()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextScaleCTM(
- CGContextRef ctx,
- float sx,
- float sy);
-
-
- /* Translate the current graphics state's transformation matrix (the CTM)
- * by `(tx, ty)'. */
- /*
- * CGContextTranslateCTM()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextTranslateCTM(
- CGContextRef ctx,
- float tx,
- float ty);
-
-
- /* Rotate the current graphics state's transformation matrix (the CTM) by
- * `angle' radians. */
- /*
- * CGContextRotateCTM()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextRotateCTM(
- CGContextRef ctx,
- float angle);
-
-
- /* Concatenate the current graphics state's transformation matrix (the CTM)
- * with the affine transform `transform'. */
- /*
- * CGContextConcatCTM()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextConcatCTM(
- CGContextRef ctx,
- CGAffineTransform transform);
-
-
- /* Return the current graphics state's transformation matrix. */
- /*
- * CGContextGetCTM()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGContextGetCTM(CGContextRef ctx);
-
-
- /** Drawing attribute functions. **/
- /* Set the line width in the current graphics state to `width'. */
- /*
- * CGContextSetLineWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetLineWidth(
- CGContextRef ctx,
- float width);
-
-
- /* Set the line cap in the current graphics state to `cap'. */
- /*
- * CGContextSetLineCap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetLineCap(
- CGContextRef ctx,
- CGLineCap cap);
-
-
- /* Set the line join in the current graphics state to `join'. */
- /*
- * CGContextSetLineJoin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetLineJoin(
- CGContextRef ctx,
- CGLineJoin join);
-
-
- /* Set the miter limit in the current graphics state to `limit'. */
- /*
- * CGContextSetMiterLimit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetMiterLimit(
- CGContextRef ctx,
- float limit);
-
-
- /* Set the line dash patttern in the current graphics state. */
- /*
- * CGContextSetLineDash()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetLineDash(
- CGContextRef ctx,
- float phase,
- const float lengths[],
- size_t count);
-
-
- /* Set the path flatness parameter in the current graphics state to
- * `flatness'. */
- /*
- * CGContextSetFlatness()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetFlatness(
- CGContextRef ctx,
- float flatness);
-
-
- /* Set the alpha value in the current graphics state to `alpha'. */
- /*
- * CGContextSetAlpha()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetAlpha(
- CGContextRef ctx,
- float alpha);
-
-
- /** Path construction functions. **/
- /* Note that a context has a single path in use at any time: a path is not
- * part of the graphics state. */
- /* Begin a new path. The old path is discarded. */
- /*
- * CGContextBeginPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextBeginPath(CGContextRef ctx);
-
-
- /* Start a new subpath at point `(x, y)' in the context's path. */
- /*
- * CGContextMoveToPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextMoveToPoint(
- CGContextRef ctx,
- float x,
- float y);
-
-
- /* Append a straight line segment from the current point to `(x, y)'. */
- /*
- * CGContextAddLineToPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextAddLineToPoint(
- CGContextRef ctx,
- float x,
- float y);
-
-
- /* Append a cubic Bezier curve from the current point to `(x,y)', with
- * control points `(cp1x, cp1y)' and `(cp2x, cp2y)'. */
- /*
- * CGContextAddCurveToPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextAddCurveToPoint(
- CGContextRef ctx,
- float cp1x,
- float cp1y,
- float cp2x,
- float cp2y,
- float x,
- float y);
-
-
- /* Append a quadratic curve from the current point to `(x, y)', with
- * control point `(cpx, cpy)'. */
- /*
- * CGContextAddQuadCurveToPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextAddQuadCurveToPoint(
- CGContextRef ctx,
- float cpx,
- float cpy,
- float x,
- float y);
-
-
- /* Close the current subpath of the context's path. */
- /*
- * CGContextClosePath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextClosePath(CGContextRef ctx);
-
-
- /** Path construction convenience functions. **/
- /* Add a single rect to the context's path. */
- /*
- * CGContextAddRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextAddRect(
- CGContextRef ctx,
- CGRect rect);
-
-
- /* Add a set of rects to the context's path. */
- /*
- * CGContextAddRects()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextAddRects(
- CGContextRef ctx,
- const CGRect rects[],
- size_t count);
-
-
- /* Add a set of lines to the context's path. */
- /*
- * CGContextAddLines()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextAddLines(
- CGContextRef ctx,
- const CGPoint points[],
- size_t count);
-
-
- /* Add an arc of a circle to the context's path, possibly preceded by a
- * straight line segment. `(x, y)' is the center of the arc; `radius' is
- * its radius; `startAngle' is the angle to the first endpoint of the arc;
- * `endAngle' is the angle to the second endpoint of the arc; and
- * `clockwise' is 1 if the arc is to be drawn clockwise, 0 otherwise.
- * `startAngle' and `endAngle' are measured in radians. */
- /*
- * CGContextAddArc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextAddArc(
- CGContextRef ctx,
- float x,
- float y,
- float radius,
- float startAngle,
- float endAngle,
- int clockwise);
-
-
- /* Add an arc of a circle to the context's path, possibly preceded by a
- * straight line segment. `radius' is the radius of the arc. The arc is
- * tangent to the line from the current point to `(x1, y1)', and the line
- * from `(x1, y1)' to `(x2, y2)'. */
- /*
- * CGContextAddArcToPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextAddArcToPoint(
- CGContextRef ctx,
- float x1,
- float y1,
- float x2,
- float y2,
- float radius);
-
-
- /** Path information functions. **/
- /* Return 1 if the context's path contains no elements, 0 otherwise. */
- /*
- * CGContextIsPathEmpty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGContextIsPathEmpty(CGContextRef ctx);
-
-
- /* Return the current point of the current subpath of the context's
- * path. */
- /*
- * CGContextGetPathCurrentPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGPoint)
- CGContextGetPathCurrentPoint(CGContextRef ctx);
-
-
- /* Return the bounding box of the context's path. The bounding box is the
- * smallest rectangle completely enclosing all points in the path,
- * including control points for Bezier and quadratic curves. */
- /*
- * CGContextGetPathBoundingBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGContextGetPathBoundingBox(CGContextRef ctx);
-
-
- /** Path drawing functions. **/
- /* Draw the context's path using drawing mode `mode'. */
- /*
- * CGContextDrawPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextDrawPath(
- CGContextRef ctx,
- CGPathDrawingMode mode);
-
-
- /** Path drawing convenience functions. **/
- /* Fill the context's path using the winding-number fill rule. Any open
- * subpath of the path is implicitly closed. */
- /*
- * CGContextFillPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextFillPath(CGContextRef ctx);
-
-
- /* Fill the context's path using the even-odd fill rule. Any open subpath
- * of the path is implicitly closed. */
- /*
- * CGContextEOFillPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextEOFillPath(CGContextRef ctx);
-
-
- /* Stroke the context's path. */
- /*
- * CGContextStrokePath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextStrokePath(CGContextRef ctx);
-
-
- /* Fill `rect' with the current fill color. */
- /*
- * CGContextFillRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextFillRect(
- CGContextRef ctx,
- CGRect rect);
-
-
- /* Fill `rects', an array of `count' CGRects, with the current fill
- * color. */
- /*
- * CGContextFillRects()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextFillRects(
- CGContextRef ctx,
- const CGRect rects[],
- size_t count);
-
-
- /* Stroke `rect' with the current stroke color and the current linewidth. */
- /*
- * CGContextStrokeRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextStrokeRect(
- CGContextRef ctx,
- CGRect rect);
-
-
- /* Stroke `rect' with the current stroke color, using `width' as the the
- * line width. */
- /*
- * CGContextStrokeRectWithWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextStrokeRectWithWidth(
- CGContextRef ctx,
- CGRect rect,
- float width);
-
-
- /* Clear `rect' (that is, set the region within the rect to
- * transparent). */
- /*
- * CGContextClearRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextClearRect(
- CGContextRef c,
- CGRect rect);
-
-
- /** Clipping functions. **/
- /* Intersect the context's path with the current clip path and use the
- * resulting path as the clip path for subsequent rendering operations.
- * Use the winding-number fill rule for deciding what's inside the path. */
- /*
- * CGContextClip()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextClip(CGContextRef ctx);
-
-
- /* Intersect the context's path with the current clip path and use the
- * resulting path as the clip path for subsequent rendering operations.
- * Use the even-odd fill rule for deciding what's inside the path. */
- /*
- * CGContextEOClip()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextEOClip(CGContextRef ctx);
-
-
- /** Clipping convenience functions. **/
- /* Intersect the current clipping path with `rect'. Note that this
- * function resets the context's path to the empty path. */
- /*
- * CGContextClipToRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextClipToRect(
- CGContextRef ctx,
- CGRect rect);
-
-
- /* Intersect the current clipping path with the clipping region formed by
- * creating a path consisting of all rects in `rects'. Note that this
- * function resets the context's path to the empty path. */
- /*
- * CGContextClipToRects()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextClipToRects(
- CGContextRef ctx,
- const CGRect rects[],
- size_t count);
-
-
- /** Colorspace functions. **/
- /* Set the components of the current fill color in the context `ctx' to the
- * values specifed by `components'. The number of elements in `components'
- * must be one greater than the number of components in the current fill
- * colorspace (N color components + 1 alpha component). The current fill
- * colorspace must not be a pattern colorspace. */
- /*
- * CGContextSetFillColorSpace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetFillColorSpace(
- CGContextRef ctx,
- CGColorSpaceRef colorspace);
-
-
- /* Set the components of the current fill color in the context `ctx' to the
- * values specifed by `components'. The number of elements in `components'
- * must be one greater than the number of components in the current fill
- * colorspace (N color components + 1 alpha component). The current fill
- * colorspace must not be a pattern colorspace. */
- /*
- * CGContextSetStrokeColorSpace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetStrokeColorSpace(
- CGContextRef ctx,
- CGColorSpaceRef colorspace);
-
-
- /** Color functions. **/
- /* Set the components of the current fill color in the context `c' to the
- * values specifed by `components'. The number of elements in `components'
- * must be one greater than the number of components in the current fill
- * colorspace (N color components + 1 alpha component). The current fill
- * colorspace must not be a pattern colorspace. */
- /*
- * CGContextSetFillColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetFillColor(
- CGContextRef c,
- const float components[]);
-
-
- /* Set the components of the current stroke color in the context `c' to the
- * values specifed by `components'. The number of elements in `components'
- * must be one greater than the number of components in the current stroke
- * colorspace (N color components + 1 alpha component). The current stroke
- * colorspace must not be a pattern colorspace. */
- /*
- * CGContextSetStrokeColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetStrokeColor(
- CGContextRef c,
- const float components[]);
-
-
- /** Pattern functions. **/
- /* Set the components of the current fill color in the context `c' to the
- * values specifed by `components', and set the current fill pattern to
- * `pattern'. The number of elements in `components' must be one greater
- * than the number of components in the current fill colorspace (N color
- * components + 1 alpha component). The current fill colorspace must be a
- * pattern colorspace. */
- /*
- * CGContextSetFillPattern()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- CGContextSetFillPattern(
- CGContextRef c,
- CGPatternRef pattern,
- const float components[]);
-
-
- /* Set the components of the current stroke color in the context `c' to the
- * values specifed by `components', and set the current stroke pattern to
- * `pattern'. The number of elements in `components' must be one greater
- * than the number of components in the current stroke colorspace (N color
- * components + 1 alpha component). The current stroke colorspace must be
- * a pattern colorspace. */
- /*
- * CGContextSetStrokePattern()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- CGContextSetStrokePattern(
- CGContextRef c,
- CGPatternRef pattern,
- const float components[]);
-
-
-
- /** Color convenience functions. **/
- /* Set the current fill colorspace in the context `c' to `DeviceGray' and
- * set the components of the current fill color to `(gray, alpha)'. */
- /*
- * CGContextSetGrayFillColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetGrayFillColor(
- CGContextRef ctx,
- float gray,
- float alpha);
-
-
- /* Set the current stroke colorspace in the context `c' to `DeviceGray' and
- * set the components of the current stroke color to `(gray, alpha)'. */
- /*
- * CGContextSetGrayStrokeColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetGrayStrokeColor(
- CGContextRef ctx,
- float gray,
- float alpha);
-
-
- /* Set the current fill colorspace in the context `c' to `DeviceRGB' and
- * set the components of the current fill color to `(red, green, blue,
- * alpha)'. */
- /*
- * CGContextSetRGBFillColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetRGBFillColor(
- CGContextRef ctx,
- float red,
- float green,
- float blue,
- float alpha);
-
-
- /* Set the current stroke colorspace in the context `c' to `DeviceRGB' and
- * set the components of the current stroke color to `(red, green, blue,
- * alpha)'. */
- /*
- * CGContextSetRGBStrokeColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetRGBStrokeColor(
- CGContextRef ctx,
- float red,
- float green,
- float blue,
- float alpha);
-
-
- /* Set the current fill colorspace in the context `c' to `DeviceCMYK' and
- * set the components of the current fill color to `(cyan, magenta, yellow,
- * black, alpha)'. */
- /*
- * CGContextSetCMYKFillColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetCMYKFillColor(
- CGContextRef ctx,
- float cyan,
- float magenta,
- float yellow,
- float black,
- float alpha);
-
-
- /* Set the current stroke colorspace in the context `c' to `DeviceCMYK' and
- * set the components of the current stroke color to `(cyan, magenta,
- * yellow, black, alpha)'. */
- /*
- * CGContextSetCMYKStrokeColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetCMYKStrokeColor(
- CGContextRef ctx,
- float cyan,
- float magenta,
- float yellow,
- float black,
- float alpha);
-
-
- /** Rendering intent. **/
- /* Set the rendering intent in the graphics state to `intent'. */
- /*
- * CGContextSetRenderingIntent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetRenderingIntent(
- CGContextRef c,
- CGColorRenderingIntent intent);
-
-
- /** Image functions. **/
- /* Draw `image' in the rectangular area specified by `rect'. The image is
- * scaled, if necessary, to fit into `rect'. */
- /*
- * CGContextDrawImage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextDrawImage(
- CGContextRef ctx,
- CGRect rect,
- CGImageRef image);
-
-
- /* Return the interpolation quality for image rendering of the context `c'.
- * The interpolation quality is a gstate-parameter which controls the level
- * of interpolation performed when an image is interpolated (for example,
- * when scaling the image). Note that it is merely a hint to the context:
- * not all contexts support all interpolation quality levels. */
- /*
- * CGContextGetInterpolationQuality()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGInterpolationQuality)
- CGContextGetInterpolationQuality(CGContextRef c);
-
-
- /* Set the interpolation quality of the context `c' to `quality'. */
- /*
- * CGContextSetInterpolationQuality()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- CGContextSetInterpolationQuality(
- CGContextRef c,
- CGInterpolationQuality quality);
-
-
-
- /** Text functions. **/
- /* Set the current character spacing in the context `ctx' to `spacing'. The
- * character spacing is added to the displacement between the origin of one
- * character and the origin of the next. */
- /*
- * CGContextSetCharacterSpacing()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetCharacterSpacing(
- CGContextRef ctx,
- float spacing);
-
-
- /* Set the user-space point at which text will be drawn to (x,y). */
- /*
- * CGContextSetTextPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetTextPosition(
- CGContextRef ctx,
- float x,
- float y);
-
-
- /* Return the current user-space point at which text will be drawn to (x,y). */
- /*
- * CGContextGetTextPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGPoint)
- CGContextGetTextPosition(CGContextRef ctx);
-
-
- /* Set the text matrix to `transform'. */
- /*
- * CGContextSetTextMatrix()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetTextMatrix(
- CGContextRef ctx,
- CGAffineTransform transform);
-
-
- /* Return the text matrix. */
- /*
- * CGContextGetTextMatrix()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGAffineTransform)
- CGContextGetTextMatrix(CGContextRef ctx);
-
-
- /* Set the text drawing mode to `mode'. */
- /*
- * CGContextSetTextDrawingMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetTextDrawingMode(
- CGContextRef ctx,
- CGTextDrawingMode mode);
-
-
- /* Set the current font to `font'. */
- /*
- * CGContextSetFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetFont(
- CGContextRef ctx,
- CGFontRef font);
-
-
- /* Set the current font size to `size'. */
- /*
- * CGContextSetFontSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetFontSize(
- CGContextRef ctx,
- float size);
-
-
-
- /* Attempts to find the font named `name'. If successful, scales it to
- * `size' units in user space. `textEncoding' specifies how to translate
- * from bytes to glyphs. */
- /*
- * CGContextSelectFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSelectFont(
- CGContextRef ctx,
- const char * name,
- float size,
- CGTextEncoding textEncoding);
-
-
- /* Draw `string', a string of `length' bytes, at the point specified by the
- * current text matrix. Each byte of the string is mapped through the
- * encoding vector of the current font to obtain the glyph to display. */
- /*
- * CGContextShowText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextShowText(
- CGContextRef ctx,
- const char * cstring,
- size_t length);
-
-
- /* Draw the glyphs pointed to by `g', an array of `count' glyphs, at the
- * point specified by the current text matrix. */
- /*
- * CGContextShowGlyphs()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextShowGlyphs(
- CGContextRef ctx,
- const CGGlyph g[],
- size_t count);
-
-
-
- /** Text convenience functions. **/
- /* Draw `string', a string of `length' bytes, at the point `(x, y)',
- * specified in user space. Each byte of the string is mapped through the
- * encoding vector of the current font to obtain the glyph to display. */
- /*
- * CGContextShowTextAtPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextShowTextAtPoint(
- CGContextRef ctx,
- float x,
- float y,
- const char * cstring,
- size_t length);
-
-
- /* Display the glyphs pointed to by `g', an array of `count' glyph ids, at
- * the point `(x, y)', specified in user space. */
- /*
- * CGContextShowGlyphsAtPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextShowGlyphsAtPoint(
- CGContextRef ctx,
- float x,
- float y,
- const CGGlyph g[],
- size_t count);
-
-
-
- /** PDF document functions. **/
- /* Draw `page' in `document' in the rectangular area specified by `rect'.
- * The media box of the page is scaled, if necessary, to fit into
- * `rect'. */
- /*
- * CGContextDrawPDFDocument()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextDrawPDFDocument(
- CGContextRef ctx,
- CGRect rect,
- CGPDFDocumentRef document,
- int page);
-
-
- /** Page functions. **/
- /* Begin a new page. */
- /*
- * CGContextBeginPage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextBeginPage(
- CGContextRef ctx,
- const CGRect * mediaBox);
-
-
- /* End the current page. */
- /*
- * CGContextEndPage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextEndPage(CGContextRef ctx);
-
-
- /** Context functions. **/
- /* Increment the retain count of `ctx' and return it. All contexts are
- * created with an initial retain count of 1. */
- /*
- * CGContextRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGContextRef)
- CGContextRetain(CGContextRef ctx);
-
-
- /* Decrement the retain count of `ctx'. If the retain count reaches 0,
- * then free `ctx' and any associated resources. */
- /*
- * CGContextRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextRelease(CGContextRef ctx);
-
-
- /* Flush all drawing to the destination. */
- /*
- * CGContextFlush()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextFlush(CGContextRef ctx);
-
-
- /* Synchronized drawing. */
- /*
- * CGContextSynchronize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSynchronize(CGContextRef ctx);
-
-
- /** Antialiasing functions. **/
- /* Turn off antialiasing if `shouldAntialias' is zero; turn it on
- * otherwise. This parameter is part of the graphics state. */
- /*
- * CGContextSetShouldAntialias()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGContextSetShouldAntialias(
- CGContextRef ctx,
- int shouldAntialias);
+typedef struct CGContext* CGContextRef;
+typedef struct CGPattern* CGPatternRef;
+/* Line join styles. */
+enum CGLineJoin {
+ kCGLineJoinMiter = 0,
+ kCGLineJoinRound = 1,
+ kCGLineJoinBevel = 2
+};
+typedef enum CGLineJoin CGLineJoin;
+
+/* Line cap styles. */
+enum CGLineCap {
+ kCGLineCapButt = 0,
+ kCGLineCapRound = 1,
+ kCGLineCapSquare = 2
+};
+typedef enum CGLineCap CGLineCap;
+
+/* Drawing modes for paths. */
+enum CGPathDrawingMode {
+ kCGPathFill = 0,
+ kCGPathEOFill = 1,
+ kCGPathStroke = 2,
+ kCGPathFillStroke = 3,
+ kCGPathEOFillStroke = 4
+};
+typedef enum CGPathDrawingMode CGPathDrawingMode;
+
+/* Drawing modes for text. */
+enum CGTextDrawingMode {
+ kCGTextFill = 0,
+ kCGTextStroke = 1,
+ kCGTextFillStroke = 2,
+ kCGTextInvisible = 3,
+ kCGTextFillClip = 4,
+ kCGTextStrokeClip = 5,
+ kCGTextFillStrokeClip = 6,
+ kCGTextClip = 7
+};
+typedef enum CGTextDrawingMode CGTextDrawingMode;
+
+/* Text encodings. */
+enum CGTextEncoding {
+ kCGEncodingFontSpecific = 0,
+ kCGEncodingMacRoman = 1
+};
+typedef enum CGTextEncoding CGTextEncoding;
+
+enum CGInterpolationQuality {
+ kCGInterpolationDefault = 0, /* Let the context decide. */
+ kCGInterpolationNone = 1, /* Never interpolate. */
+ kCGInterpolationLow = 2, /* Fast, low quality. */
+ kCGInterpolationHigh = 3 /* Slow, high quality. */
+};
+typedef enum CGInterpolationQuality CGInterpolationQuality;
+
+
+/** Graphics state functions. **/
+/* Push a copy of the current graphics state onto the graphics state
+ * stack. Note that the path is not considered part of the gstate, and is
+ * not saved. */
+/*
+ * CGContextSaveGState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSaveGState(CGContextRef ctx);
+
+
+/* Restore the current graphics state from the one on the top of the
+ * graphics state stack, popping the graphics state stack in the
+ * process. */
+/*
+ * CGContextRestoreGState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextRestoreGState(CGContextRef ctx);
+
+
+/** Coordinate space transformations. **/
+/* Scale the current graphics state's transformation matrix (the CTM) by
+ * `(sx, sy)'. */
+/*
+ * CGContextScaleCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextScaleCTM(
+ CGContextRef ctx,
+ float sx,
+ float sy);
+
+
+/* Translate the current graphics state's transformation matrix (the CTM)
+ * by `(tx, ty)'. */
+/*
+ * CGContextTranslateCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextTranslateCTM(
+ CGContextRef ctx,
+ float tx,
+ float ty);
+
+
+/* Rotate the current graphics state's transformation matrix (the CTM) by
+ * `angle' radians. */
+/*
+ * CGContextRotateCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextRotateCTM(
+ CGContextRef ctx,
+ float angle);
+
+
+/* Concatenate the current graphics state's transformation matrix (the CTM)
+ * with the affine transform `transform'. */
+/*
+ * CGContextConcatCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextConcatCTM(
+ CGContextRef ctx,
+ CGAffineTransform transform);
+
+
+/* Return the current graphics state's transformation matrix. */
+/*
+ * CGContextGetCTM()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGContextGetCTM(CGContextRef ctx);
+
+
+/** Drawing attribute functions. **/
+/* Set the line width in the current graphics state to `width'. */
+/*
+ * CGContextSetLineWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetLineWidth(
+ CGContextRef ctx,
+ float width);
+
+
+/* Set the line cap in the current graphics state to `cap'. */
+/*
+ * CGContextSetLineCap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetLineCap(
+ CGContextRef ctx,
+ CGLineCap cap);
+
+
+/* Set the line join in the current graphics state to `join'. */
+/*
+ * CGContextSetLineJoin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetLineJoin(
+ CGContextRef ctx,
+ CGLineJoin join);
+
+
+/* Set the miter limit in the current graphics state to `limit'. */
+/*
+ * CGContextSetMiterLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetMiterLimit(
+ CGContextRef ctx,
+ float limit);
+
+
+/* Set the line dash patttern in the current graphics state. */
+/*
+ * CGContextSetLineDash()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetLineDash(
+ CGContextRef ctx,
+ float phase,
+ const float lengths[],
+ size_t count);
+
+
+/* Set the path flatness parameter in the current graphics state to
+ * `flatness'. */
+/*
+ * CGContextSetFlatness()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFlatness(
+ CGContextRef ctx,
+ float flatness);
+
+
+/* Set the alpha value in the current graphics state to `alpha'. */
+/*
+ * CGContextSetAlpha()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetAlpha(
+ CGContextRef ctx,
+ float alpha);
+
+
+/** Path construction functions. **/
+/* Note that a context has a single path in use at any time: a path is not
+ * part of the graphics state. */
+/* Begin a new path. The old path is discarded. */
+/*
+ * CGContextBeginPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextBeginPath(CGContextRef ctx);
+
+
+/* Start a new subpath at point `(x, y)' in the context's path. */
+/*
+ * CGContextMoveToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextMoveToPoint(
+ CGContextRef ctx,
+ float x,
+ float y);
+
+
+/* Append a straight line segment from the current point to `(x, y)'. */
+/*
+ * CGContextAddLineToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddLineToPoint(
+ CGContextRef ctx,
+ float x,
+ float y);
+
+
+/* Append a cubic Bezier curve from the current point to `(x,y)', with
+ * control points `(cp1x, cp1y)' and `(cp2x, cp2y)'. */
+/*
+ * CGContextAddCurveToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddCurveToPoint(
+ CGContextRef ctx,
+ float cp1x,
+ float cp1y,
+ float cp2x,
+ float cp2y,
+ float x,
+ float y);
+
+
+/* Append a quadratic curve from the current point to `(x, y)', with
+ * control point `(cpx, cpy)'. */
+/*
+ * CGContextAddQuadCurveToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddQuadCurveToPoint(
+ CGContextRef ctx,
+ float cpx,
+ float cpy,
+ float x,
+ float y);
+
+
+/* Close the current subpath of the context's path. */
+/*
+ * CGContextClosePath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClosePath(CGContextRef ctx);
+
+
+/** Path construction convenience functions. **/
+/* Add a single rect to the context's path. */
+/*
+ * CGContextAddRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddRect(
+ CGContextRef ctx,
+ CGRect rect);
+
+
+/* Add a set of rects to the context's path. */
+/*
+ * CGContextAddRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddRects(
+ CGContextRef ctx,
+ const CGRect rects[],
+ size_t count);
+
+
+/* Add a set of lines to the context's path. */
+/*
+ * CGContextAddLines()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddLines(
+ CGContextRef ctx,
+ const CGPoint points[],
+ size_t count);
+
+
+/* Add an arc of a circle to the context's path, possibly preceded by a
+ * straight line segment. `(x, y)' is the center of the arc; `radius' is
+ * its radius; `startAngle' is the angle to the first endpoint of the arc;
+ * `endAngle' is the angle to the second endpoint of the arc; and
+ * `clockwise' is 1 if the arc is to be drawn clockwise, 0 otherwise.
+ * `startAngle' and `endAngle' are measured in radians. */
+/*
+ * CGContextAddArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddArc(
+ CGContextRef ctx,
+ float x,
+ float y,
+ float radius,
+ float startAngle,
+ float endAngle,
+ int clockwise);
+
+
+/* Add an arc of a circle to the context's path, possibly preceded by a
+ * straight line segment. `radius' is the radius of the arc. The arc is
+ * tangent to the line from the current point to `(x1, y1)', and the line
+ * from `(x1, y1)' to `(x2, y2)'. */
+/*
+ * CGContextAddArcToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextAddArcToPoint(
+ CGContextRef ctx,
+ float x1,
+ float y1,
+ float x2,
+ float y2,
+ float radius);
+
+
+/** Path information functions. **/
+/* Return 1 if the context's path contains no elements, 0 otherwise. */
+/*
+ * CGContextIsPathEmpty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGContextIsPathEmpty(CGContextRef ctx);
+
+
+/* Return the current point of the current subpath of the context's
+ * path. */
+/*
+ * CGContextGetPathCurrentPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPoint )
+CGContextGetPathCurrentPoint(CGContextRef ctx);
+
+
+/* Return the bounding box of the context's path. The bounding box is the
+ * smallest rectangle completely enclosing all points in the path,
+ * including control points for Bezier and quadratic curves. */
+/*
+ * CGContextGetPathBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGContextGetPathBoundingBox(CGContextRef ctx);
+
+
+/** Path drawing functions. **/
+/* Draw the context's path using drawing mode `mode'. */
+/*
+ * CGContextDrawPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextDrawPath(
+ CGContextRef ctx,
+ CGPathDrawingMode mode);
+
+
+/** Path drawing convenience functions. **/
+/* Fill the context's path using the winding-number fill rule. Any open
+ * subpath of the path is implicitly closed. */
+/*
+ * CGContextFillPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextFillPath(CGContextRef ctx);
+
+
+/* Fill the context's path using the even-odd fill rule. Any open subpath
+ * of the path is implicitly closed. */
+/*
+ * CGContextEOFillPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextEOFillPath(CGContextRef ctx);
+
+
+/* Stroke the context's path. */
+/*
+ * CGContextStrokePath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextStrokePath(CGContextRef ctx);
+
+
+/* Fill `rect' with the current fill color. */
+/*
+ * CGContextFillRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextFillRect(
+ CGContextRef ctx,
+ CGRect rect);
+
+
+/* Fill `rects', an array of `count' CGRects, with the current fill
+ * color. */
+/*
+ * CGContextFillRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextFillRects(
+ CGContextRef ctx,
+ const CGRect rects[],
+ size_t count);
+
+
+/* Stroke `rect' with the current stroke color and the current linewidth. */
+/*
+ * CGContextStrokeRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextStrokeRect(
+ CGContextRef ctx,
+ CGRect rect);
+
+
+/* Stroke `rect' with the current stroke color, using `width' as the the
+ * line width. */
+/*
+ * CGContextStrokeRectWithWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextStrokeRectWithWidth(
+ CGContextRef ctx,
+ CGRect rect,
+ float width);
+
+
+/* Clear `rect' (that is, set the region within the rect to
+ * transparent). */
+/*
+ * CGContextClearRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClearRect(
+ CGContextRef c,
+ CGRect rect);
+
+
+/** Clipping functions. **/
+/* Intersect the context's path with the current clip path and use the
+ * resulting path as the clip path for subsequent rendering operations.
+ * Use the winding-number fill rule for deciding what's inside the path. */
+/*
+ * CGContextClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClip(CGContextRef ctx);
+
+
+/* Intersect the context's path with the current clip path and use the
+ * resulting path as the clip path for subsequent rendering operations.
+ * Use the even-odd fill rule for deciding what's inside the path. */
+/*
+ * CGContextEOClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextEOClip(CGContextRef ctx);
+
+
+/** Clipping convenience functions. **/
+/* Intersect the current clipping path with `rect'. Note that this
+ * function resets the context's path to the empty path. */
+/*
+ * CGContextClipToRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClipToRect(
+ CGContextRef ctx,
+ CGRect rect);
+
+
+/* Intersect the current clipping path with the clipping region formed by
+ * creating a path consisting of all rects in `rects'. Note that this
+ * function resets the context's path to the empty path. */
+/*
+ * CGContextClipToRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextClipToRects(
+ CGContextRef ctx,
+ const CGRect rects[],
+ size_t count);
+
+
+/** Colorspace functions. **/
+/* Set the components of the current fill color in the context `ctx' to the
+ * values specifed by `components'. The number of elements in `components'
+ * must be one greater than the number of components in the current fill
+ * colorspace (N color components + 1 alpha component). The current fill
+ * colorspace must not be a pattern colorspace. */
+/*
+ * CGContextSetFillColorSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFillColorSpace(
+ CGContextRef ctx,
+ CGColorSpaceRef colorspace);
+
+
+/* Set the components of the current fill color in the context `ctx' to the
+ * values specifed by `components'. The number of elements in `components'
+ * must be one greater than the number of components in the current fill
+ * colorspace (N color components + 1 alpha component). The current fill
+ * colorspace must not be a pattern colorspace. */
+/*
+ * CGContextSetStrokeColorSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetStrokeColorSpace(
+ CGContextRef ctx,
+ CGColorSpaceRef colorspace);
+
+
+/** Color functions. **/
+/* Set the components of the current fill color in the context `c' to the
+ * values specifed by `components'. The number of elements in `components'
+ * must be one greater than the number of components in the current fill
+ * colorspace (N color components + 1 alpha component). The current fill
+ * colorspace must not be a pattern colorspace. */
+/*
+ * CGContextSetFillColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFillColor(
+ CGContextRef c,
+ const float components[]);
+
+
+/* Set the components of the current stroke color in the context `c' to the
+ * values specifed by `components'. The number of elements in `components'
+ * must be one greater than the number of components in the current stroke
+ * colorspace (N color components + 1 alpha component). The current stroke
+ * colorspace must not be a pattern colorspace. */
+/*
+ * CGContextSetStrokeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetStrokeColor(
+ CGContextRef c,
+ const float components[]);
+
+
+/** Pattern functions. **/
+/* Set the components of the current fill color in the context `c' to the
+ * values specifed by `components', and set the current fill pattern to
+ * `pattern'. The number of elements in `components' must be one greater
+ * than the number of components in the current fill colorspace (N color
+ * components + 1 alpha component). The current fill colorspace must be a
+ * pattern colorspace. */
+/*
+ * CGContextSetFillPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFillPattern(
+ CGContextRef c,
+ CGPatternRef pattern,
+ const float components[]);
+
+
+/* Set the components of the current stroke color in the context `c' to the
+ * values specifed by `components', and set the current stroke pattern to
+ * `pattern'. The number of elements in `components' must be one greater
+ * than the number of components in the current stroke colorspace (N color
+ * components + 1 alpha component). The current stroke colorspace must be
+ * a pattern colorspace. */
+/*
+ * CGContextSetStrokePattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+CGContextSetStrokePattern(
+ CGContextRef c,
+ CGPatternRef pattern,
+ const float components[]);
+
+
+
+/** Color convenience functions. **/
+/* Set the current fill colorspace in the context `c' to `DeviceGray' and
+ * set the components of the current fill color to `(gray, alpha)'. */
+/*
+ * CGContextSetGrayFillColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetGrayFillColor(
+ CGContextRef ctx,
+ float gray,
+ float alpha);
+
+
+/* Set the current stroke colorspace in the context `c' to `DeviceGray' and
+ * set the components of the current stroke color to `(gray, alpha)'. */
+/*
+ * CGContextSetGrayStrokeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetGrayStrokeColor(
+ CGContextRef ctx,
+ float gray,
+ float alpha);
+
+
+/* Set the current fill colorspace in the context `c' to `DeviceRGB' and
+ * set the components of the current fill color to `(red, green, blue,
+ * alpha)'. */
+/*
+ * CGContextSetRGBFillColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetRGBFillColor(
+ CGContextRef ctx,
+ float red,
+ float green,
+ float blue,
+ float alpha);
+
+
+/* Set the current stroke colorspace in the context `c' to `DeviceRGB' and
+ * set the components of the current stroke color to `(red, green, blue,
+ * alpha)'. */
+/*
+ * CGContextSetRGBStrokeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetRGBStrokeColor(
+ CGContextRef ctx,
+ float red,
+ float green,
+ float blue,
+ float alpha);
+
+
+/* Set the current fill colorspace in the context `c' to `DeviceCMYK' and
+ * set the components of the current fill color to `(cyan, magenta, yellow,
+ * black, alpha)'. */
+/*
+ * CGContextSetCMYKFillColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetCMYKFillColor(
+ CGContextRef ctx,
+ float cyan,
+ float magenta,
+ float yellow,
+ float black,
+ float alpha);
+
+
+/* Set the current stroke colorspace in the context `c' to `DeviceCMYK' and
+ * set the components of the current stroke color to `(cyan, magenta,
+ * yellow, black, alpha)'. */
+/*
+ * CGContextSetCMYKStrokeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetCMYKStrokeColor(
+ CGContextRef ctx,
+ float cyan,
+ float magenta,
+ float yellow,
+ float black,
+ float alpha);
+
+
+/** Rendering intent. **/
+/* Set the rendering intent in the graphics state to `intent'. */
+/*
+ * CGContextSetRenderingIntent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetRenderingIntent(
+ CGContextRef c,
+ CGColorRenderingIntent intent);
+
+
+/** Image functions. **/
+/* Draw `image' in the rectangular area specified by `rect'. The image is
+ * scaled, if necessary, to fit into `rect'. */
+/*
+ * CGContextDrawImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextDrawImage(
+ CGContextRef ctx,
+ CGRect rect,
+ CGImageRef image);
+
+
+/* Return the interpolation quality for image rendering of the context `c'.
+ * The interpolation quality is a gstate-parameter which controls the level
+ * of interpolation performed when an image is interpolated (for example,
+ * when scaling the image). Note that it is merely a hint to the context:
+ * not all contexts support all interpolation quality levels. */
+/*
+ * CGContextGetInterpolationQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGInterpolationQuality )
+CGContextGetInterpolationQuality(CGContextRef c);
+
+
+/* Set the interpolation quality of the context `c' to `quality'. */
+/*
+ * CGContextSetInterpolationQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+CGContextSetInterpolationQuality(
+ CGContextRef c,
+ CGInterpolationQuality quality);
+
+
+
+/** Text functions. **/
+/* Set the current character spacing in the context `ctx' to `spacing'. The
+ * character spacing is added to the displacement between the origin of one
+ * character and the origin of the next. */
+/*
+ * CGContextSetCharacterSpacing()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetCharacterSpacing(
+ CGContextRef ctx,
+ float spacing);
+
+
+/* Set the user-space point at which text will be drawn to (x,y). */
+/*
+ * CGContextSetTextPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetTextPosition(
+ CGContextRef ctx,
+ float x,
+ float y);
+
+
+/* Return the current user-space point at which text will be drawn to (x,y). */
+/*
+ * CGContextGetTextPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPoint )
+CGContextGetTextPosition(CGContextRef ctx);
+
+
+/* Set the text matrix to `transform'. */
+/*
+ * CGContextSetTextMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetTextMatrix(
+ CGContextRef ctx,
+ CGAffineTransform transform);
+
+
+/* Return the text matrix. */
+/*
+ * CGContextGetTextMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGAffineTransform )
+CGContextGetTextMatrix(CGContextRef ctx);
+
+
+/* Set the text drawing mode to `mode'. */
+/*
+ * CGContextSetTextDrawingMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetTextDrawingMode(
+ CGContextRef ctx,
+ CGTextDrawingMode mode);
+
+
+/* Set the current font to `font'. */
+/*
+ * CGContextSetFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFont(
+ CGContextRef ctx,
+ CGFontRef font);
+
+
+/* Set the current font size to `size'. */
+/*
+ * CGContextSetFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetFontSize(
+ CGContextRef ctx,
+ float size);
+
+
+
+/* Attempts to find the font named `name'. If successful, scales it to
+ * `size' units in user space. `textEncoding' specifies how to translate
+ * from bytes to glyphs. */
+/*
+ * CGContextSelectFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSelectFont(
+ CGContextRef ctx,
+ const char * name,
+ float size,
+ CGTextEncoding textEncoding);
+
+
+/* Draw `string', a string of `length' bytes, at the point specified by the
+ * current text matrix. Each byte of the string is mapped through the
+ * encoding vector of the current font to obtain the glyph to display. */
+/*
+ * CGContextShowText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextShowText(
+ CGContextRef ctx,
+ const char * cstring,
+ size_t length);
+
+
+/* Draw the glyphs pointed to by `g', an array of `count' glyphs, at the
+ * point specified by the current text matrix. */
+/*
+ * CGContextShowGlyphs()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextShowGlyphs(
+ CGContextRef ctx,
+ const CGGlyph g[],
+ size_t count);
+
+
+
+/** Text convenience functions. **/
+/* Draw `string', a string of `length' bytes, at the point `(x, y)',
+ * specified in user space. Each byte of the string is mapped through the
+ * encoding vector of the current font to obtain the glyph to display. */
+/*
+ * CGContextShowTextAtPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextShowTextAtPoint(
+ CGContextRef ctx,
+ float x,
+ float y,
+ const char * cstring,
+ size_t length);
+
+
+/* Display the glyphs pointed to by `g', an array of `count' glyph ids, at
+ * the point `(x, y)', specified in user space. */
+/*
+ * CGContextShowGlyphsAtPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextShowGlyphsAtPoint(
+ CGContextRef ctx,
+ float x,
+ float y,
+ const CGGlyph g[],
+ size_t count);
+
+
+
+/** PDF document functions. **/
+/* Draw `page' in `document' in the rectangular area specified by `rect'.
+ * The media box of the page is scaled, if necessary, to fit into
+ * `rect'. */
+/*
+ * CGContextDrawPDFDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextDrawPDFDocument(
+ CGContextRef ctx,
+ CGRect rect,
+ CGPDFDocumentRef document,
+ int page);
+
+
+/** Page functions. **/
+/* Begin a new page. */
+/*
+ * CGContextBeginPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextBeginPage(
+ CGContextRef ctx,
+ const CGRect * mediaBox);
+
+
+/* End the current page. */
+/*
+ * CGContextEndPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextEndPage(CGContextRef ctx);
+
+
+/** Context functions. **/
+/* Increment the retain count of `ctx' and return it. All contexts are
+ * created with an initial retain count of 1. */
+/*
+ * CGContextRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGContextRef )
+CGContextRetain(CGContextRef ctx);
+
+
+/* Decrement the retain count of `ctx'. If the retain count reaches 0,
+ * then free `ctx' and any associated resources. */
+/*
+ * CGContextRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextRelease(CGContextRef ctx);
+
+
+/* Flush all drawing to the destination. */
+/*
+ * CGContextFlush()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextFlush(CGContextRef ctx);
+
+
+/* Synchronized drawing. */
+/*
+ * CGContextSynchronize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSynchronize(CGContextRef ctx);
+
+
+/** Antialiasing functions. **/
+/* Turn off antialiasing if `shouldAntialias' is zero; turn it on
+ * otherwise. This parameter is part of the graphics state. */
+/*
+ * CGContextSetShouldAntialias()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGContextSetShouldAntialias(
+ CGContextRef ctx,
+ int shouldAntialias);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGCONTEXT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGCONTEXT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGCONTEXT__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGDataConsumer.h b/include/qt/CGDataConsumer.h
index ee39c72a4..ad94ad715 100644
--- a/include/qt/CGDataConsumer.h
+++ b/include/qt/CGDataConsumer.h
@@ -1,17 +1,17 @@
/*
File: CGDataConsumer.h
-
+
Contains: CoreGraphics data consumer
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGDATACONSUMER_H_
#define CGDATACONSUMER_H_
@@ -40,91 +40,90 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct CGDataConsumer* CGDataConsumerRef;
- typedef CALLBACK_API_C(size_t , CGPutBytesProcPtr)(void *info, const void *buffer, size_t count);
- typedef CALLBACK_API_C(void , CGReleaseConsumerProcPtr)(void * info);
- /* Callbacks for accessing data.
- * `putBytes' copies `count' bytes from `buffer' to the consumer, and
- * returns the number of bytes copied. It should return 0 if no more data
- * can be written to the consumer.
- * `releaseConsumer', if non-NULL, is called when the consumer is freed. */
- struct CGDataConsumerCallbacks
- {
- CGPutBytesProcPtr putBytes;
- CGReleaseConsumerProcPtr releaseConsumer;
- };
- typedef struct CGDataConsumerCallbacks CGDataConsumerCallbacks;
- /* Create a data consumer using `callbacks' to handle the data. `info' is
- * passed to each of the callback functions. */
- /*
- * CGDataConsumerCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataConsumerRef)
- CGDataConsumerCreate(
- void * info,
- const CGDataConsumerCallbacks * callbacks);
-
-
- /* Create a data consumer which writes data to `url'. */
- /*
- * CGDataConsumerCreateWithURL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataConsumerRef)
- CGDataConsumerCreateWithURL(CFURLRef url);
-
-
- /* Increment the retain count of `consumer' and return it. All data
- * consumers are created with an initial retain count of 1. */
- /*
- * CGDataConsumerRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataConsumerRef)
- CGDataConsumerRetain(CGDataConsumerRef consumer);
-
-
- /* Decrement the retain count of `consumer'. If the retain count reaches
- * 0, then release it and any associated resources. */
- /*
- * CGDataConsumerRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGDataConsumerRelease(CGDataConsumerRef consumer);
+typedef struct CGDataConsumer* CGDataConsumerRef;
+typedef CALLBACK_API_C( size_t , CGPutBytesProcPtr )(void *info, const void *buffer, size_t count);
+typedef CALLBACK_API_C( void , CGReleaseConsumerProcPtr )(void * info);
+/* Callbacks for accessing data.
+ * `putBytes' copies `count' bytes from `buffer' to the consumer, and
+ * returns the number of bytes copied. It should return 0 if no more data
+ * can be written to the consumer.
+ * `releaseConsumer', if non-NULL, is called when the consumer is freed. */
+struct CGDataConsumerCallbacks {
+ CGPutBytesProcPtr putBytes;
+ CGReleaseConsumerProcPtr releaseConsumer;
+};
+typedef struct CGDataConsumerCallbacks CGDataConsumerCallbacks;
+/* Create a data consumer using `callbacks' to handle the data. `info' is
+ * passed to each of the callback functions. */
+/*
+ * CGDataConsumerCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataConsumerRef )
+CGDataConsumerCreate(
+ void * info,
+ const CGDataConsumerCallbacks * callbacks);
+
+
+/* Create a data consumer which writes data to `url'. */
+/*
+ * CGDataConsumerCreateWithURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataConsumerRef )
+CGDataConsumerCreateWithURL(CFURLRef url);
+
+
+/* Increment the retain count of `consumer' and return it. All data
+ * consumers are created with an initial retain count of 1. */
+/*
+ * CGDataConsumerRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataConsumerRef )
+CGDataConsumerRetain(CGDataConsumerRef consumer);
+
+
+/* Decrement the retain count of `consumer'. If the retain count reaches
+ * 0, then release it and any associated resources. */
+/*
+ * CGDataConsumerRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGDataConsumerRelease(CGDataConsumerRef consumer);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGDataProvider.h b/include/qt/CGDataProvider.h
index 128619faa..f3fa8a743 100644
--- a/include/qt/CGDataProvider.h
+++ b/include/qt/CGDataProvider.h
@@ -1,17 +1,17 @@
/*
File: CGDataProvider.h
-
+
Contains: CoreGraphics data provider
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGDATAPROVIDER_H_
#define CGDATAPROVIDER_H_
@@ -40,155 +40,153 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct CGDataProvider* CGDataProviderRef;
- typedef CALLBACK_API_C(size_t , CGGetBytesProcPtr)(void *info, void *buffer, size_t count);
- typedef CALLBACK_API_C(void , CGSkipBytesProcPtr)(void *info, size_t count);
- typedef CALLBACK_API_C(void , CGRewindProcPtr)(void * info);
- typedef CALLBACK_API_C(void , CGReleaseProviderProcPtr)(void * info);
- /* Callbacks for sequentially accessing data.
- * `getBytes' is called to copy `count' bytes from the provider's data to
- * `buffer'. It should return the number of bytes copied, or 0 if there's
- * no more data.
- * `skipBytes' is called to skip ahead in the provider's data by `count' bytes.
- * `rewind' is called to rewind the provider to the beginning of the data.
- * `releaseProvider', if non-NULL, is called when the provider is freed. */
- struct CGDataProviderCallbacks
- {
- CGGetBytesProcPtr getBytes;
- CGSkipBytesProcPtr skipBytes;
- CGRewindProcPtr rewind;
- CGReleaseProviderProcPtr releaseProvider;
- };
- typedef struct CGDataProviderCallbacks CGDataProviderCallbacks;
- typedef CALLBACK_API_C(void *, CGGetBytePointerProcPtr)(void * info);
- typedef CALLBACK_API_C(void , CGReleaseByteProcPtr)(void *info, const void *pointer);
- typedef CALLBACK_API_C(size_t , CGGetBytesDirectProcPtr)(void *info, void *buffer, size_t offset, size_t count);
- /* Callbacks for directly accessing data.
- * `getBytePointer', if non-NULL, is called to return a pointer to the
- * provider's entire block of data.
- * `releaseBytePointer', if non-NULL, is called to release a pointer to
- * the provider's entire block of data.
- * `getBytes', if non-NULL, is called to copy `count' bytes at offset
- * `offset' from the provider's data to `buffer'. It should return the
- * number of bytes copied, or 0 if there's no more data.
- * `releaseProvider', if non-NULL, is called when the provider is freed.
- * At least one of `getBytePointer' or `getBytes' must be non-NULL. */
- struct CGDataProviderDirectAccessCallbacks
- {
- CGGetBytePointerProcPtr getBytePointer;
- CGReleaseByteProcPtr releaseBytePointer;
- CGGetBytesDirectProcPtr getBytes;
- CGReleaseProviderProcPtr releaseProvider;
- };
- typedef struct CGDataProviderDirectAccessCallbacks CGDataProviderDirectAccessCallbacks;
- typedef CALLBACK_API_C(void , CGReleaseDataProcPtr)(void *info, const void *data, size_t size);
- /* Create a sequential-access data provider using `callbacks' to provide
- * the data. `info' is passed to each of the callback functions. */
- /*
- * CGDataProviderCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataProviderRef)
- CGDataProviderCreate(
- void * info,
- const CGDataProviderCallbacks * callbacks);
-
-
- /* Create a direct-access data provider using `callbacks' to supply `size'
- * bytes of data. `info' is passed to each of the callback functions. */
- /*
- * CGDataProviderCreateDirectAccess()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataProviderRef)
- CGDataProviderCreateDirectAccess(
- void * info,
- size_t size,
- const CGDataProviderDirectAccessCallbacks * callbacks);
-
-
- /* Create a direct-access data provider using `data', an array of `size'
- * bytes. `releaseData' is called when the data provider is freed, and is
- * passed `info' as its first argument. */
- /*
- * CGDataProviderCreateWithData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataProviderRef)
- CGDataProviderCreateWithData(
- void * info,
- const void * data,
- size_t size,
- CGReleaseDataProcPtr releaseData);
-
-
- /* Create a data provider using `url'. */
- /*
- * CGDataProviderCreateWithURL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataProviderRef)
- CGDataProviderCreateWithURL(CFURLRef url);
-
-
- /* Increment the retain count of `provider' and return it. All data
- * providers are created with an initial retain count of 1. */
- /*
- * CGDataProviderRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataProviderRef)
- CGDataProviderRetain(CGDataProviderRef provider);
-
-
- /* Decrement the retain count of `provider'. If the retain count reaches
- * 0, then free `provider' and any associated resources. */
- /*
- * CGDataProviderRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGDataProviderRelease(CGDataProviderRef provider);
+typedef struct CGDataProvider* CGDataProviderRef;
+typedef CALLBACK_API_C( size_t , CGGetBytesProcPtr )(void *info, void *buffer, size_t count);
+typedef CALLBACK_API_C( void , CGSkipBytesProcPtr )(void *info, size_t count);
+typedef CALLBACK_API_C( void , CGRewindProcPtr )(void * info);
+typedef CALLBACK_API_C( void , CGReleaseProviderProcPtr )(void * info);
+/* Callbacks for sequentially accessing data.
+ * `getBytes' is called to copy `count' bytes from the provider's data to
+ * `buffer'. It should return the number of bytes copied, or 0 if there's
+ * no more data.
+ * `skipBytes' is called to skip ahead in the provider's data by `count' bytes.
+ * `rewind' is called to rewind the provider to the beginning of the data.
+ * `releaseProvider', if non-NULL, is called when the provider is freed. */
+struct CGDataProviderCallbacks {
+ CGGetBytesProcPtr getBytes;
+ CGSkipBytesProcPtr skipBytes;
+ CGRewindProcPtr rewind;
+ CGReleaseProviderProcPtr releaseProvider;
+};
+typedef struct CGDataProviderCallbacks CGDataProviderCallbacks;
+typedef CALLBACK_API_C( void *, CGGetBytePointerProcPtr )(void * info);
+typedef CALLBACK_API_C( void , CGReleaseByteProcPtr )(void *info, const void *pointer);
+typedef CALLBACK_API_C( size_t , CGGetBytesDirectProcPtr )(void *info, void *buffer, size_t offset, size_t count);
+/* Callbacks for directly accessing data.
+ * `getBytePointer', if non-NULL, is called to return a pointer to the
+ * provider's entire block of data.
+ * `releaseBytePointer', if non-NULL, is called to release a pointer to
+ * the provider's entire block of data.
+ * `getBytes', if non-NULL, is called to copy `count' bytes at offset
+ * `offset' from the provider's data to `buffer'. It should return the
+ * number of bytes copied, or 0 if there's no more data.
+ * `releaseProvider', if non-NULL, is called when the provider is freed.
+ * At least one of `getBytePointer' or `getBytes' must be non-NULL. */
+struct CGDataProviderDirectAccessCallbacks {
+ CGGetBytePointerProcPtr getBytePointer;
+ CGReleaseByteProcPtr releaseBytePointer;
+ CGGetBytesDirectProcPtr getBytes;
+ CGReleaseProviderProcPtr releaseProvider;
+};
+typedef struct CGDataProviderDirectAccessCallbacks CGDataProviderDirectAccessCallbacks;
+typedef CALLBACK_API_C( void , CGReleaseDataProcPtr )(void *info, const void *data, size_t size);
+/* Create a sequential-access data provider using `callbacks' to provide
+ * the data. `info' is passed to each of the callback functions. */
+/*
+ * CGDataProviderCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataProviderRef )
+CGDataProviderCreate(
+ void * info,
+ const CGDataProviderCallbacks * callbacks);
+
+
+/* Create a direct-access data provider using `callbacks' to supply `size'
+ * bytes of data. `info' is passed to each of the callback functions. */
+/*
+ * CGDataProviderCreateDirectAccess()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataProviderRef )
+CGDataProviderCreateDirectAccess(
+ void * info,
+ size_t size,
+ const CGDataProviderDirectAccessCallbacks * callbacks);
+
+
+/* Create a direct-access data provider using `data', an array of `size'
+ * bytes. `releaseData' is called when the data provider is freed, and is
+ * passed `info' as its first argument. */
+/*
+ * CGDataProviderCreateWithData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataProviderRef )
+CGDataProviderCreateWithData(
+ void * info,
+ const void * data,
+ size_t size,
+ CGReleaseDataProcPtr releaseData);
+
+
+/* Create a data provider using `url'. */
+/*
+ * CGDataProviderCreateWithURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataProviderRef )
+CGDataProviderCreateWithURL(CFURLRef url);
+
+
+/* Increment the retain count of `provider' and return it. All data
+ * providers are created with an initial retain count of 1. */
+/*
+ * CGDataProviderRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataProviderRef )
+CGDataProviderRetain(CGDataProviderRef provider);
+
+
+/* Decrement the retain count of `provider'. If the retain count reaches
+ * 0, then free `provider' and any associated resources. */
+/*
+ * CGDataProviderRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGDataProviderRelease(CGDataProviderRef provider);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGDirectDisplay.h b/include/qt/CGDirectDisplay.h
index ab01208c8..a3f2fe3a1 100644
--- a/include/qt/CGDirectDisplay.h
+++ b/include/qt/CGDirectDisplay.h
@@ -1,17 +1,17 @@
/*
File: CGDirectDisplay.h
-
+
Contains: CoreGraphics direct display
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGDIRECTDISPLAY_H_
#define CGDIRECTDISPLAY_H_
@@ -55,848 +55,847 @@ extern "C" {
#pragma import on
#endif
- typedef struct _CGDirectDisplayID* CGDirectDisplayID;
- typedef struct _CGDirectPaletteRef* CGDirectPaletteRef;
- typedef uint32_t CGDisplayCount;
- typedef uint32_t CGTableCount;
- typedef int32_t CGDisplayCoord;
- typedef uint8_t CGByteValue;
- typedef uint32_t CGOpenGLDisplayMask;
- typedef uint32_t CGBeamPosition;
- typedef int32_t CGMouseDelta;
- typedef double CGRefreshRate;
- typedef CGError CGDisplayErr;
- enum
- {
- CGDisplayNoErr = kCGErrorSuccess
- };
-
- /* A NULL value points to the main display device as a programming convention */
+typedef struct _CGDirectDisplayID* CGDirectDisplayID;
+typedef struct _CGDirectPaletteRef* CGDirectPaletteRef;
+typedef uint32_t CGDisplayCount;
+typedef uint32_t CGTableCount;
+typedef int32_t CGDisplayCoord;
+typedef uint8_t CGByteValue;
+typedef uint32_t CGOpenGLDisplayMask;
+typedef uint32_t CGBeamPosition;
+typedef int32_t CGMouseDelta;
+typedef double CGRefreshRate;
+typedef CGError CGDisplayErr;
+enum {
+ CGDisplayNoErr = kCGErrorSuccess
+};
+
+/* A NULL value points to the main display device as a programming convention */
#define kCGDirectMainDisplay ((CGDirectDisplayID)NULL)
- /*
- * Mechanisms used to find screen IDs
- * An array length (maxDisplays) and array of CGDirectDisplayIDs are passed in.
- * Up to maxDisplays of the array are filled in with the displays meeting the
- * specified criteria. The actual number of displays filled in is returned in
- * dspyCnt.
- *
- * If the dspys array is NULL, maxDisplays is ignored, and *dspyCnt is filled
- * in with the number of displays meeting the function's requirements.
- */
- /*
- * CGGetDisplaysWithPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGGetDisplaysWithPoint(
- CGPoint point,
- CGDisplayCount maxDisplays,
- CGDirectDisplayID * dspys,
- CGDisplayCount * dspyCnt);
-
-
- /*
- * CGGetDisplaysWithRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGGetDisplaysWithRect(
- CGRect rect,
- CGDisplayCount maxDisplays,
- CGDirectDisplayID * dspys,
- CGDisplayCount * dspyCnt);
-
-
- /*
- * CGGetDisplaysWithOpenGLDisplayMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGGetDisplaysWithOpenGLDisplayMask(
- CGOpenGLDisplayMask mask,
- CGDisplayCount maxDisplays,
- CGDirectDisplayID * dspys,
- CGDisplayCount * dspyCnt);
-
-
- /*
- * Get lists of displays. Use this to determine display IDs
- *
- * If the activeDspys array is NULL, maxDisplays is ignored, and *dspyCnt is filled
- * in with the number of displays meeting the function's requirements.
- *
- * The first display returned in the list is the main display,
- * the one with the menu bar.
- * When mirroring, this will be the largest display,
- * or if all are the same size, the one with the deepest pixel depth.
- */
- /*
- * CGGetActiveDisplayList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGGetActiveDisplayList(
- CGDisplayCount maxDisplays,
- CGDirectDisplayID * activeDspys,
- CGDisplayCount * dspyCnt);
-
-
- /* Map a display to an OpenGL display mask; returns 0 on invalid display */
- /*
- * CGDisplayIDToOpenGLDisplayMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGOpenGLDisplayMask)
- CGDisplayIDToOpenGLDisplayMask(CGDirectDisplayID display);
-
-
- /* Return screen size and origin in global coords; Empty rect if display is invalid */
- /*
- * CGDisplayBounds()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGDisplayBounds(CGDirectDisplayID display);
-
-
- /*
- * CGDisplayPixelsWide()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGDisplayPixelsWide(CGDirectDisplayID display);
-
-
- /*
- * CGDisplayPixelsHigh()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGDisplayPixelsHigh(CGDirectDisplayID display);
-
-
- /*
- * Display mode selection
- * Display modes are represented as CFDictionaries
- * All dictionaries and arrays returned via these mechanisms are
- * owned by the framework and should not be released. The framework
- * will not release them out from under your application.
- *
- * Values associated with the following keys are CFNumber types.
- * With CFNumberGetValue(), use kCFNumberLongType for best results.
- */
- /*
- * Keys used in mode dictionaries. Source C strings shown won't change.
- * Some CFM environments cannot import data variables, and so
- * duplicate these CFStringRefs locally.
- */
- /*
- * kCGDisplayWidth
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplayWidth;
- /*
- * kCGDisplayHeight
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplayHeight;
- /*
- * kCGDisplayMode
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplayMode;
- /*
- * kCGDisplayBitsPerPixel
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplayBitsPerPixel;
- /*
- * kCGDisplayBitsPerSample
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplayBitsPerSample;
- /*
- * kCGDisplaySamplesPerPixel
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplaySamplesPerPixel;
- /*
- * kCGDisplayRefreshRate
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplayRefreshRate;
- /*
- * kCGDisplayModeUsableForDesktopGUI
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplayModeUsableForDesktopGUI;
- /*
- * kCGDisplayIOFlags
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern CFStringRef kCGDisplayIOFlags;
- /*
- * Return a CFArray of CFDictionaries describing all display modes.
- * Returns NULL if the display is invalid.
- */
- /*
- * CGDisplayAvailableModes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CFArrayRef)
- CGDisplayAvailableModes(CGDirectDisplayID display);
-
-
- /*
- * Try to find a display mode of specified depth with dimensions equal or greater than
- * specified.
- * If no depth match is found, try for the next larger depth with dimensions equal or greater
- * than specified. If no luck, then just return the current mode.
- *
- * exactmatch, if not NULL, is set to 'true' if an exact match in width, height, and depth is found,
- * and 'false' otherwise.
- * Returns NULL if display is invalid.
- */
- /*
- * CGDisplayBestModeForParameters()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CFDictionaryRef)
- CGDisplayBestModeForParameters(
- CGDirectDisplayID display,
- size_t bitsPerPixel,
- size_t width,
- size_t height,
- boolean_t * exactMatch);
-
-
- /*
- * CGDisplayBestModeForParametersAndRefreshRate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CFDictionaryRef)
- CGDisplayBestModeForParametersAndRefreshRate(
- CGDirectDisplayID display,
- size_t bitsPerPixel,
- size_t width,
- size_t height,
- CGRefreshRate refresh,
- boolean_t * exactMatch);
-
-
- /*
- * Return a CFDictionary describing the current display mode.
- * Returns NULL if display is invalid.
- */
- /*
- * CGDisplayCurrentMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CFDictionaryRef)
- CGDisplayCurrentMode(CGDirectDisplayID display);
-
-
- /*
- * Switch display mode. Note that after switching,
- * display parameters and addresses may change.
- * The selected display mode persists for the life of the program, and automatically
- * reverts to the permanent setting made by Preferences when the program terminates.
- * The mode dictionary passed in must be a dictionary vended by other CGDirectDisplay
- * APIs such as CGDisplayBestModeForParameters() and CGDisplayAvailableModes().
- */
- /*
- * CGDisplaySwitchToMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGDisplaySwitchToMode(
- CGDirectDisplayID display,
- CFDictionaryRef mode);
-
-
- /* Query parameters for current mode */
- /*
- * CGDisplayBitsPerPixel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGDisplayBitsPerPixel(CGDirectDisplayID display);
-
-
- /*
- * CGDisplayBitsPerSample()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGDisplayBitsPerSample(CGDirectDisplayID display);
-
-
- /*
- * CGDisplaySamplesPerPixel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGDisplaySamplesPerPixel(CGDirectDisplayID display);
-
-
- /*
- * CGDisplayBytesPerRow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGDisplayBytesPerRow(CGDirectDisplayID display);
-
-
- /*
- * Set a display gamma/transfer function from a formula specifying
- * min and max values and a gamma for each channel.
- * Gamma values must be greater than 0.0.
- * To get an antigamma of 1.6, one would specify a value of (1.0 / 1.6)
- * Min values must be greater than or equal to 0.0 and less than 1.0.
- * Max values must be greater than 0.0 and less than or equal to 1.0.
- * Out of range values, or Max greater than or equal to Min result
- * in a kCGSRangeCheck error.
- *
- * Values are computed by sampling a function for a range of indices from 0 through 1:
- * value = Min + ((Max - Min) * pow(index, Gamma))
- * The resulting values are converted to a machine specific format
- * and loaded into hardware.
- */
- typedef float CGGammaValue;
- /*
- * CGSetDisplayTransferByFormula()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGSetDisplayTransferByFormula(
- CGDirectDisplayID display,
- CGGammaValue redMin,
- CGGammaValue redMax,
- CGGammaValue redGamma,
- CGGammaValue greenMin,
- CGGammaValue greenMax,
- CGGammaValue greenGamma,
- CGGammaValue blueMin,
- CGGammaValue blueMax,
- CGGammaValue blueGamma);
-
-
- /*
- * CGGetDisplayTransferByFormula()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGGetDisplayTransferByFormula(
- CGDirectDisplayID display,
- CGGammaValue * redMin,
- CGGammaValue * redMax,
- CGGammaValue * redGamma,
- CGGammaValue * greenMin,
- CGGammaValue * greenMax,
- CGGammaValue * greenGamma,
- CGGammaValue * blueMin,
- CGGammaValue * blueMax,
- CGGammaValue * blueGamma);
-
-
- /*
- * Set a display gamma/transfer function using tables of data for each channel.
- * Values within each table should have values in the range of 0.0 through 1.0.
- * The same table may be passed in for red, green, and blue channels. 'tableSize'
- * indicates the number of entries in each table.
- * The tables are interpolated as needed to generate the number of samples needed
- * by hardware.
- */
- /*
- * CGSetDisplayTransferByTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGSetDisplayTransferByTable(
- CGDirectDisplayID display,
- CGTableCount tableSize,
- const CGGammaValue * redTable,
- const CGGammaValue * greenTable,
- const CGGammaValue * blueTable);
-
-
- /*
- * Get transfer tables. Capacity should contain the number of samples each
- * array can hold, and *sampleCount is filled in with the number of samples
- * actually copied in.
- */
- /*
- * CGGetDisplayTransferByTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGGetDisplayTransferByTable(
- CGDirectDisplayID display,
- CGTableCount capacity,
- CGGammaValue * redTable,
- CGGammaValue * greenTable,
- CGGammaValue * blueTable,
- CGTableCount * sampleCount);
-
-
- /* As a convenience, allow setting of the gamma table by byte values */
- /*
- * CGSetDisplayTransferByByteTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGSetDisplayTransferByByteTable(
- CGDirectDisplayID display,
- CGTableCount tableSize,
- const CGByteValue * redTable,
- const CGByteValue * greenTable,
- const CGByteValue * blueTable);
-
-
- /* Restore gamma tables of system displays to the user's ColorSync specified values */
- /*
- * CGDisplayRestoreColorSyncSettings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGDisplayRestoreColorSyncSettings(void);
-
-
- /* Display capture and release */
- /*
- * CGDisplayIsCaptured()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(boolean_t)
- CGDisplayIsCaptured(CGDirectDisplayID display);
-
-
- /*
- * CGDisplayCapture()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGDisplayCapture(CGDirectDisplayID display);
-
-
- /*
- * CGDisplayRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGDisplayRelease(CGDirectDisplayID display);
-
-
-
- /*
- * Capture all displays; this has the nice effect of providing an immersive
- * environment, and preventing other apps from trying to adjust themselves
- * to display changes only needed by your app.
- */
- /*
- * CGCaptureAllDisplays()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGCaptureAllDisplays(void);
-
-
- /*
- * Release all captured displays, and restore the display modes to the
- * user's preferences. May be used in conjunction with CGDisplayCapture()
- * or CGCaptureAllDisplays().
- */
- /*
- * CGReleaseAllDisplays()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGReleaseAllDisplays(void);
-
-
-
- /*
- * Returns CoreGraphics raw shield window ID or NULL if not shielded
- * This value may be used with drawing surface APIs.
- */
- /*
- * CGShieldingWindowID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void *)
- CGShieldingWindowID(CGDirectDisplayID display);
-
-
- /*
- * Returns the window level used for the shield window.
- * This value may be used with Cocoa windows to position the
- * Cocoa window in the same window level as the shield window.
- */
- /*
- * CGShieldingWindowLevel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int32_t)
- CGShieldingWindowLevel(void);
-
-
- /*
- * Returns base address of display or NULL for an invalid display.
- * If the display has not been captured, the returned address may refer
- * to read-only memory.
- */
- /*
- * CGDisplayBaseAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void *)
- CGDisplayBaseAddress(CGDirectDisplayID display);
-
-
- /*
- * return address for X,Y in screen coordinates;
- * (0,0) represents the upper left corner of the display.
- * returns NULL for an invalid display or out of bounds coordinates
- * If the display has not been captured, the returned address may refer
- * to read-only memory.
- */
- /*
- * CGDisplayAddressForPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void *)
- CGDisplayAddressForPosition(
- CGDirectDisplayID display,
- CGDisplayCoord x,
- CGDisplayCoord y);
-
-
-
- /* Mouse Cursor controls */
- /*
- * CGDisplayHideCursor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGDisplayHideCursor(CGDirectDisplayID display);
-
-
- /* increments hide cursor count */
- /*
- * CGDisplayShowCursor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGDisplayShowCursor(CGDirectDisplayID display);
-
-
- /* decrements hide cursor count */
- /*
- * Move the cursor to the specified point relative to the display origin
- * (the upper left corner of the display). Returns CGDisplayNoErr on success.
- * No events are generated as a result of this move.
- * Points that would lie outside the desktop are clipped to the desktop.
- */
- /*
- * CGDisplayMoveCursorToPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGDisplayMoveCursorToPoint(
- CGDirectDisplayID display,
- CGPoint point);
-
-
- /*
- * Report the mouse position change associated with the last mouse move event
- * recieved by this application.
- */
- /*
- * CGGetLastMouseDelta()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGGetLastMouseDelta(
- CGMouseDelta * deltaX,
- CGMouseDelta * deltaY);
-
-
-
- /* Palette controls (8 bit pseudocolor only) */
- /*
- * Returns TRUE if the current display mode supports palettes
- */
- /*
- * CGDisplayCanSetPalette()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(boolean_t)
- CGDisplayCanSetPalette(CGDirectDisplayID display);
-
-
- /*
- * Set a palette. The current gamma function is applied to the palette
- * elements before being loaded into hardware.
- */
- /*
- * CGDisplaySetPalette()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGDisplaySetPalette(
- CGDirectDisplayID display,
- CGDirectPaletteRef palette);
-
-
- /*
- * Wait until the beam position is outside the range specified by upperScanLine and lowerScanLine.
- * Note that if upperScanLine and lowerScanLine encompass the entire display height,
- * the function returns an error.
- * lowerScanLine must be greater than or equal to upperScanLine.
- *
- * Some display systems may not conventional video vertical and horizontal sweep in painting.
- * These displays report a kCGDisplayRefreshRate of 0 in the CFDictionaryRef returned by
- * CGDisplayCurrentMode(). On such displays, this function returns at once.
- *
- * Some drivers may not implement support for this mechanism.
- * On such displays, this function returns at once.
- *
- * Returns CGDisplayNoErr on success, and an error if display or upperScanLine and
- * lowerScanLine are invalid.
- *
- * The app should set the values of upperScanLine and lowerScanLine to allow enough lead time
- * for the drawing operation to complete. A common strategy is to wait for the beam to pass
- * the bottom of the drawing area, allowing almost a full vertical sweep period to perform drawing.
- * To do this, set upperScanLine to 0, and set lowerScanLine to the bottom of the bounding box:
- * lowerScanLine = (CGBeamPosition)(cgrect.origin.y + cgrect.size.height);
- *
- * IOKit may implement this as a spin-loop on the beam position call used for CGDisplayBeamPosition().
- * On such system the function is CPU bound, and subject to all the usual scheduling pre-emption.
- * In particular, attempting to wait for the beam to hit a specific scanline may be an exercise in frustration.
- *
- * These functions are advisary in nature, and depend on IOKit and hardware specific drivers to implement
- * support. If you need extremely precise timing, or access to vertical blanking interrupts,
- * you should consider writing a device driver to tie into hardware-specific capabilities.
- */
- /*
- * CGDisplayWaitForBeamPositionOutsideLines()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDisplayErr)
- CGDisplayWaitForBeamPositionOutsideLines(
- CGDirectDisplayID display,
- CGBeamPosition upperScanLine,
- CGBeamPosition lowerScanLine);
-
-
- /*
- * Returns the current beam position on the display. If display is invalid,
- * or the display does not implement conventional video vertical and horizontal
- * sweep in painting, or the driver does not implement this functionality, 0 is returned.
- */
- /*
- * CGDisplayBeamPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGBeamPosition)
- CGDisplayBeamPosition(CGDirectDisplayID display);
+/*
+ * Mechanisms used to find screen IDs
+ * An array length (maxDisplays) and array of CGDirectDisplayIDs are passed in.
+ * Up to maxDisplays of the array are filled in with the displays meeting the
+ * specified criteria. The actual number of displays filled in is returned in
+ * dspyCnt.
+ *
+ * If the dspys array is NULL, maxDisplays is ignored, and *dspyCnt is filled
+ * in with the number of displays meeting the function's requirements.
+ */
+/*
+ * CGGetDisplaysWithPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGGetDisplaysWithPoint(
+ CGPoint point,
+ CGDisplayCount maxDisplays,
+ CGDirectDisplayID * dspys,
+ CGDisplayCount * dspyCnt);
+
+
+/*
+ * CGGetDisplaysWithRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGGetDisplaysWithRect(
+ CGRect rect,
+ CGDisplayCount maxDisplays,
+ CGDirectDisplayID * dspys,
+ CGDisplayCount * dspyCnt);
+
+
+/*
+ * CGGetDisplaysWithOpenGLDisplayMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGGetDisplaysWithOpenGLDisplayMask(
+ CGOpenGLDisplayMask mask,
+ CGDisplayCount maxDisplays,
+ CGDirectDisplayID * dspys,
+ CGDisplayCount * dspyCnt);
+
+
+/*
+ * Get lists of displays. Use this to determine display IDs
+ *
+ * If the activeDspys array is NULL, maxDisplays is ignored, and *dspyCnt is filled
+ * in with the number of displays meeting the function's requirements.
+ *
+ * The first display returned in the list is the main display,
+ * the one with the menu bar.
+ * When mirroring, this will be the largest display,
+ * or if all are the same size, the one with the deepest pixel depth.
+ */
+/*
+ * CGGetActiveDisplayList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGGetActiveDisplayList(
+ CGDisplayCount maxDisplays,
+ CGDirectDisplayID * activeDspys,
+ CGDisplayCount * dspyCnt);
+
+
+/* Map a display to an OpenGL display mask; returns 0 on invalid display */
+/*
+ * CGDisplayIDToOpenGLDisplayMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGOpenGLDisplayMask )
+CGDisplayIDToOpenGLDisplayMask(CGDirectDisplayID display);
+
+
+/* Return screen size and origin in global coords; Empty rect if display is invalid */
+/*
+ * CGDisplayBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGDisplayBounds(CGDirectDisplayID display);
+
+
+/*
+ * CGDisplayPixelsWide()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGDisplayPixelsWide(CGDirectDisplayID display);
+
+
+/*
+ * CGDisplayPixelsHigh()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGDisplayPixelsHigh(CGDirectDisplayID display);
+
+
+/*
+ * Display mode selection
+ * Display modes are represented as CFDictionaries
+ * All dictionaries and arrays returned via these mechanisms are
+ * owned by the framework and should not be released. The framework
+ * will not release them out from under your application.
+ *
+ * Values associated with the following keys are CFNumber types.
+ * With CFNumberGetValue(), use kCFNumberLongType for best results.
+ */
+/*
+ * Keys used in mode dictionaries. Source C strings shown won't change.
+ * Some CFM environments cannot import data variables, and so
+ * duplicate these CFStringRefs locally.
+ */
+/*
+ * kCGDisplayWidth
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplayWidth;
+/*
+ * kCGDisplayHeight
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplayHeight;
+/*
+ * kCGDisplayMode
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplayMode;
+/*
+ * kCGDisplayBitsPerPixel
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplayBitsPerPixel;
+/*
+ * kCGDisplayBitsPerSample
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplayBitsPerSample;
+/*
+ * kCGDisplaySamplesPerPixel
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplaySamplesPerPixel;
+/*
+ * kCGDisplayRefreshRate
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplayRefreshRate;
+/*
+ * kCGDisplayModeUsableForDesktopGUI
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplayModeUsableForDesktopGUI;
+/*
+ * kCGDisplayIOFlags
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern CFStringRef kCGDisplayIOFlags;
+/*
+ * Return a CFArray of CFDictionaries describing all display modes.
+ * Returns NULL if the display is invalid.
+ */
+/*
+ * CGDisplayAvailableModes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFArrayRef )
+CGDisplayAvailableModes(CGDirectDisplayID display);
+
+
+/*
+ * Try to find a display mode of specified depth with dimensions equal or greater than
+ * specified.
+ * If no depth match is found, try for the next larger depth with dimensions equal or greater
+ * than specified. If no luck, then just return the current mode.
+ *
+ * exactmatch, if not NULL, is set to 'true' if an exact match in width, height, and depth is found,
+ * and 'false' otherwise.
+ * Returns NULL if display is invalid.
+ */
+/*
+ * CGDisplayBestModeForParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFDictionaryRef )
+CGDisplayBestModeForParameters(
+ CGDirectDisplayID display,
+ size_t bitsPerPixel,
+ size_t width,
+ size_t height,
+ boolean_t * exactMatch);
+
+
+/*
+ * CGDisplayBestModeForParametersAndRefreshRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFDictionaryRef )
+CGDisplayBestModeForParametersAndRefreshRate(
+ CGDirectDisplayID display,
+ size_t bitsPerPixel,
+ size_t width,
+ size_t height,
+ CGRefreshRate refresh,
+ boolean_t * exactMatch);
+
+
+/*
+ * Return a CFDictionary describing the current display mode.
+ * Returns NULL if display is invalid.
+ */
+/*
+ * CGDisplayCurrentMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFDictionaryRef )
+CGDisplayCurrentMode(CGDirectDisplayID display);
+
+
+/*
+ * Switch display mode. Note that after switching,
+ * display parameters and addresses may change.
+ * The selected display mode persists for the life of the program, and automatically
+ * reverts to the permanent setting made by Preferences when the program terminates.
+ * The mode dictionary passed in must be a dictionary vended by other CGDirectDisplay
+ * APIs such as CGDisplayBestModeForParameters() and CGDisplayAvailableModes().
+ */
+/*
+ * CGDisplaySwitchToMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGDisplaySwitchToMode(
+ CGDirectDisplayID display,
+ CFDictionaryRef mode);
+
+
+/* Query parameters for current mode */
+/*
+ * CGDisplayBitsPerPixel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGDisplayBitsPerPixel(CGDirectDisplayID display);
+
+
+/*
+ * CGDisplayBitsPerSample()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGDisplayBitsPerSample(CGDirectDisplayID display);
+
+
+/*
+ * CGDisplaySamplesPerPixel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGDisplaySamplesPerPixel(CGDirectDisplayID display);
+
+
+/*
+ * CGDisplayBytesPerRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGDisplayBytesPerRow(CGDirectDisplayID display);
+
+
+/*
+ * Set a display gamma/transfer function from a formula specifying
+ * min and max values and a gamma for each channel.
+ * Gamma values must be greater than 0.0.
+ * To get an antigamma of 1.6, one would specify a value of (1.0 / 1.6)
+ * Min values must be greater than or equal to 0.0 and less than 1.0.
+ * Max values must be greater than 0.0 and less than or equal to 1.0.
+ * Out of range values, or Max greater than or equal to Min result
+ * in a kCGSRangeCheck error.
+ *
+ * Values are computed by sampling a function for a range of indices from 0 through 1:
+ * value = Min + ((Max - Min) * pow(index, Gamma))
+ * The resulting values are converted to a machine specific format
+ * and loaded into hardware.
+ */
+typedef float CGGammaValue;
+/*
+ * CGSetDisplayTransferByFormula()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGSetDisplayTransferByFormula(
+ CGDirectDisplayID display,
+ CGGammaValue redMin,
+ CGGammaValue redMax,
+ CGGammaValue redGamma,
+ CGGammaValue greenMin,
+ CGGammaValue greenMax,
+ CGGammaValue greenGamma,
+ CGGammaValue blueMin,
+ CGGammaValue blueMax,
+ CGGammaValue blueGamma);
+
+
+/*
+ * CGGetDisplayTransferByFormula()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGGetDisplayTransferByFormula(
+ CGDirectDisplayID display,
+ CGGammaValue * redMin,
+ CGGammaValue * redMax,
+ CGGammaValue * redGamma,
+ CGGammaValue * greenMin,
+ CGGammaValue * greenMax,
+ CGGammaValue * greenGamma,
+ CGGammaValue * blueMin,
+ CGGammaValue * blueMax,
+ CGGammaValue * blueGamma);
+
+
+/*
+ * Set a display gamma/transfer function using tables of data for each channel.
+ * Values within each table should have values in the range of 0.0 through 1.0.
+ * The same table may be passed in for red, green, and blue channels. 'tableSize'
+ * indicates the number of entries in each table.
+ * The tables are interpolated as needed to generate the number of samples needed
+ * by hardware.
+ */
+/*
+ * CGSetDisplayTransferByTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGSetDisplayTransferByTable(
+ CGDirectDisplayID display,
+ CGTableCount tableSize,
+ const CGGammaValue * redTable,
+ const CGGammaValue * greenTable,
+ const CGGammaValue * blueTable);
+
+
+/*
+ * Get transfer tables. Capacity should contain the number of samples each
+ * array can hold, and *sampleCount is filled in with the number of samples
+ * actually copied in.
+ */
+/*
+ * CGGetDisplayTransferByTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGGetDisplayTransferByTable(
+ CGDirectDisplayID display,
+ CGTableCount capacity,
+ CGGammaValue * redTable,
+ CGGammaValue * greenTable,
+ CGGammaValue * blueTable,
+ CGTableCount * sampleCount);
+
+
+/* As a convenience, allow setting of the gamma table by byte values */
+/*
+ * CGSetDisplayTransferByByteTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGSetDisplayTransferByByteTable(
+ CGDirectDisplayID display,
+ CGTableCount tableSize,
+ const CGByteValue * redTable,
+ const CGByteValue * greenTable,
+ const CGByteValue * blueTable);
+
+
+/* Restore gamma tables of system displays to the user's ColorSync specified values */
+/*
+ * CGDisplayRestoreColorSyncSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGDisplayRestoreColorSyncSettings(void);
+
+
+/* Display capture and release */
+/*
+ * CGDisplayIsCaptured()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( boolean_t )
+CGDisplayIsCaptured(CGDirectDisplayID display);
+
+
+/*
+ * CGDisplayCapture()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGDisplayCapture(CGDirectDisplayID display);
+
+
+/*
+ * CGDisplayRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGDisplayRelease(CGDirectDisplayID display);
+
+
+
+/*
+ * Capture all displays; this has the nice effect of providing an immersive
+ * environment, and preventing other apps from trying to adjust themselves
+ * to display changes only needed by your app.
+ */
+/*
+ * CGCaptureAllDisplays()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGCaptureAllDisplays(void);
+
+
+/*
+ * Release all captured displays, and restore the display modes to the
+ * user's preferences. May be used in conjunction with CGDisplayCapture()
+ * or CGCaptureAllDisplays().
+ */
+/*
+ * CGReleaseAllDisplays()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGReleaseAllDisplays(void);
+
+
+
+/*
+ * Returns CoreGraphics raw shield window ID or NULL if not shielded
+ * This value may be used with drawing surface APIs.
+ */
+/*
+ * CGShieldingWindowID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void * )
+CGShieldingWindowID(CGDirectDisplayID display);
+
+
+/*
+ * Returns the window level used for the shield window.
+ * This value may be used with Cocoa windows to position the
+ * Cocoa window in the same window level as the shield window.
+ */
+/*
+ * CGShieldingWindowLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int32_t )
+CGShieldingWindowLevel(void);
+
+
+/*
+ * Returns base address of display or NULL for an invalid display.
+ * If the display has not been captured, the returned address may refer
+ * to read-only memory.
+ */
+/*
+ * CGDisplayBaseAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void * )
+CGDisplayBaseAddress(CGDirectDisplayID display);
+
+
+/*
+ * return address for X,Y in screen coordinates;
+ * (0,0) represents the upper left corner of the display.
+ * returns NULL for an invalid display or out of bounds coordinates
+ * If the display has not been captured, the returned address may refer
+ * to read-only memory.
+ */
+/*
+ * CGDisplayAddressForPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void * )
+CGDisplayAddressForPosition(
+ CGDirectDisplayID display,
+ CGDisplayCoord x,
+ CGDisplayCoord y);
+
+
+
+/* Mouse Cursor controls */
+/*
+ * CGDisplayHideCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGDisplayHideCursor(CGDirectDisplayID display);
+
+
+/* increments hide cursor count */
+/*
+ * CGDisplayShowCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGDisplayShowCursor(CGDirectDisplayID display);
+
+
+/* decrements hide cursor count */
+/*
+ * Move the cursor to the specified point relative to the display origin
+ * (the upper left corner of the display). Returns CGDisplayNoErr on success.
+ * No events are generated as a result of this move.
+ * Points that would lie outside the desktop are clipped to the desktop.
+ */
+/*
+ * CGDisplayMoveCursorToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGDisplayMoveCursorToPoint(
+ CGDirectDisplayID display,
+ CGPoint point);
+
+
+/*
+ * Report the mouse position change associated with the last mouse move event
+ * recieved by this application.
+ */
+/*
+ * CGGetLastMouseDelta()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGGetLastMouseDelta(
+ CGMouseDelta * deltaX,
+ CGMouseDelta * deltaY);
+
+
+
+/* Palette controls (8 bit pseudocolor only) */
+/*
+ * Returns TRUE if the current display mode supports palettes
+ */
+/*
+ * CGDisplayCanSetPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( boolean_t )
+CGDisplayCanSetPalette(CGDirectDisplayID display);
+
+
+/*
+ * Set a palette. The current gamma function is applied to the palette
+ * elements before being loaded into hardware.
+ */
+/*
+ * CGDisplaySetPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGDisplaySetPalette(
+ CGDirectDisplayID display,
+ CGDirectPaletteRef palette);
+
+
+/*
+ * Wait until the beam position is outside the range specified by upperScanLine and lowerScanLine.
+ * Note that if upperScanLine and lowerScanLine encompass the entire display height,
+ * the function returns an error.
+ * lowerScanLine must be greater than or equal to upperScanLine.
+ *
+ * Some display systems may not conventional video vertical and horizontal sweep in painting.
+ * These displays report a kCGDisplayRefreshRate of 0 in the CFDictionaryRef returned by
+ * CGDisplayCurrentMode(). On such displays, this function returns at once.
+ *
+ * Some drivers may not implement support for this mechanism.
+ * On such displays, this function returns at once.
+ *
+ * Returns CGDisplayNoErr on success, and an error if display or upperScanLine and
+ * lowerScanLine are invalid.
+ *
+ * The app should set the values of upperScanLine and lowerScanLine to allow enough lead time
+ * for the drawing operation to complete. A common strategy is to wait for the beam to pass
+ * the bottom of the drawing area, allowing almost a full vertical sweep period to perform drawing.
+ * To do this, set upperScanLine to 0, and set lowerScanLine to the bottom of the bounding box:
+ * lowerScanLine = (CGBeamPosition)(cgrect.origin.y + cgrect.size.height);
+ *
+ * IOKit may implement this as a spin-loop on the beam position call used for CGDisplayBeamPosition().
+ * On such system the function is CPU bound, and subject to all the usual scheduling pre-emption.
+ * In particular, attempting to wait for the beam to hit a specific scanline may be an exercise in frustration.
+ *
+ * These functions are advisary in nature, and depend on IOKit and hardware specific drivers to implement
+ * support. If you need extremely precise timing, or access to vertical blanking interrupts,
+ * you should consider writing a device driver to tie into hardware-specific capabilities.
+ */
+/*
+ * CGDisplayWaitForBeamPositionOutsideLines()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDisplayErr )
+CGDisplayWaitForBeamPositionOutsideLines(
+ CGDirectDisplayID display,
+ CGBeamPosition upperScanLine,
+ CGBeamPosition lowerScanLine);
+
+
+/*
+ * Returns the current beam position on the display. If display is invalid,
+ * or the display does not implement conventional video vertical and horizontal
+ * sweep in painting, or the driver does not implement this functionality, 0 is returned.
+ */
+/*
+ * CGDisplayBeamPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGBeamPosition )
+CGDisplayBeamPosition(CGDirectDisplayID display);
diff --git a/include/qt/CGDirectPalette.h b/include/qt/CGDirectPalette.h
index 812e3f2f3..a6b3276ac 100644
--- a/include/qt/CGDirectPalette.h
+++ b/include/qt/CGDirectPalette.h
@@ -1,17 +1,17 @@
/*
File: CGDirectPalette.h
-
+
Contains: CoreGraphics direct palette
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGDIRECTPALETTE_H_
#define CGDIRECTPALETTE_H_
@@ -36,263 +36,261 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef float CGPaletteBlendFraction;
- /*
- * Convenient device color representation
- *
- * Values should be in the range from 0.0 to 1.0, where 0.0 is black, and 1.0
- * is full on for each channel.
- */
- struct CGDeviceColor
- {
- float red;
- float green;
- float blue;
- };
- typedef struct CGDeviceColor CGDeviceColor;
- struct CGDeviceByteColor
- {
- CGByteValue red;
- CGByteValue green;
- CGByteValue blue;
- };
- typedef struct CGDeviceByteColor CGDeviceByteColor;
- /*
- * Create a new palette object representing the default 8 bit color palette.
- * Release the palette using CGPaletteRelease().
- */
- /*
- * CGPaletteCreateDefaultColorPalette()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDirectPaletteRef)
- CGPaletteCreateDefaultColorPalette(void);
-
-
- /*
- * Create a copy of the display's current palette, if any.
- * Returns NULL if the current display mode does not support a palette.
- * Release the palette using CGPaletteRelease().
- */
- /*
- * CGPaletteCreateWithDisplay()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDirectPaletteRef)
- CGPaletteCreateWithDisplay(CGDirectDisplayID display);
-
-
- /*
- * Create a new palette with a capacity as specified. Entries are initialized from
- * the default color palette. Release the palette using CGPaletteRelease().
- */
- /*
- * CGPaletteCreateWithCapacity()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDirectPaletteRef)
- CGPaletteCreateWithCapacity(CGTableCount capacity);
-
-
- /*
- * Create a new palette with a capacity and contents as specified.
- * Release the palette using CGPaletteRelease().
- */
- /*
- * CGPaletteCreateWithSamples()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDirectPaletteRef)
- CGPaletteCreateWithSamples(
- CGDeviceColor * sampleTable,
- CGTableCount sampleCount);
-
-
- /*
- * Convenience function:
- * Create a new palette with a capacity and contents as specified.
- * Release the palette using CGPaletteRelease().
- */
- /*
- * CGPaletteCreateWithByteSamples()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDirectPaletteRef)
- CGPaletteCreateWithByteSamples(
- CGDeviceByteColor * sampleTable,
- CGTableCount sampleCount);
-
-
- /*
- * Release a palette
- */
- /*
- * CGPaletteRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGPaletteRelease(CGDirectPaletteRef palette);
-
-
- /*
- * Get the color value at the specified index
- */
- /*
- * CGPaletteGetColorAtIndex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDeviceColor)
- CGPaletteGetColorAtIndex(
- CGDirectPaletteRef palette,
- CGTableCount index);
-
-
- /*
- * Get the index for the specified color value
- * The index returned is for a palette color with the
- * lowest RMS error to the specified color.
- */
- /*
- * CGPaletteGetIndexForColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGTableCount)
- CGPaletteGetIndexForColor(
- CGDirectPaletteRef palette,
- CGDeviceColor color);
-
-
- /*
- * Get the number of samples in the palette
- */
- /*
- * CGPaletteGetNumberOfSamples()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGTableCount)
- CGPaletteGetNumberOfSamples(CGDirectPaletteRef palette);
-
-
-
- /*
- * Set the color value at the specified index
- */
- /*
- * CGPaletteSetColorAtIndex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGPaletteSetColorAtIndex(
- CGDirectPaletteRef palette,
- CGDeviceColor color,
- CGTableCount index);
-
-
- /*
- * Copy a palette
- */
- /*
- * CGPaletteCreateCopy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDirectPaletteRef)
- CGPaletteCreateCopy(CGDirectPaletteRef palette);
-
-
- /*
- * Compare two palettes
- */
- /*
- * CGPaletteIsEqualToPalette()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- CGPaletteIsEqualToPalette(
- CGDirectPaletteRef palette1,
- CGDirectPaletteRef palette2);
-
-
- /*
- * Create a new palette blended with a fraction of a device color.
- * Free the resulting palette with CGPaletteRelease()
- */
- /*
- * CGPaletteCreateFromPaletteBlendedWithColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDirectPaletteRef)
- CGPaletteCreateFromPaletteBlendedWithColor(
- CGDirectPaletteRef palette,
- CGPaletteBlendFraction fraction,
- CGDeviceColor color);
+typedef float CGPaletteBlendFraction;
+/*
+ * Convenient device color representation
+ *
+ * Values should be in the range from 0.0 to 1.0, where 0.0 is black, and 1.0
+ * is full on for each channel.
+ */
+struct CGDeviceColor {
+ float red;
+ float green;
+ float blue;
+};
+typedef struct CGDeviceColor CGDeviceColor;
+struct CGDeviceByteColor {
+ CGByteValue red;
+ CGByteValue green;
+ CGByteValue blue;
+};
+typedef struct CGDeviceByteColor CGDeviceByteColor;
+/*
+ * Create a new palette object representing the default 8 bit color palette.
+ * Release the palette using CGPaletteRelease().
+ */
+/*
+ * CGPaletteCreateDefaultColorPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDirectPaletteRef )
+CGPaletteCreateDefaultColorPalette(void);
+
+
+/*
+ * Create a copy of the display's current palette, if any.
+ * Returns NULL if the current display mode does not support a palette.
+ * Release the palette using CGPaletteRelease().
+ */
+/*
+ * CGPaletteCreateWithDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDirectPaletteRef )
+CGPaletteCreateWithDisplay(CGDirectDisplayID display);
+
+
+/*
+ * Create a new palette with a capacity as specified. Entries are initialized from
+ * the default color palette. Release the palette using CGPaletteRelease().
+ */
+/*
+ * CGPaletteCreateWithCapacity()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDirectPaletteRef )
+CGPaletteCreateWithCapacity(CGTableCount capacity);
+
+
+/*
+ * Create a new palette with a capacity and contents as specified.
+ * Release the palette using CGPaletteRelease().
+ */
+/*
+ * CGPaletteCreateWithSamples()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDirectPaletteRef )
+CGPaletteCreateWithSamples(
+ CGDeviceColor * sampleTable,
+ CGTableCount sampleCount);
+
+
+/*
+ * Convenience function:
+ * Create a new palette with a capacity and contents as specified.
+ * Release the palette using CGPaletteRelease().
+ */
+/*
+ * CGPaletteCreateWithByteSamples()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDirectPaletteRef )
+CGPaletteCreateWithByteSamples(
+ CGDeviceByteColor * sampleTable,
+ CGTableCount sampleCount);
+
+
+/*
+ * Release a palette
+ */
+/*
+ * CGPaletteRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGPaletteRelease(CGDirectPaletteRef palette);
+
+
+/*
+ * Get the color value at the specified index
+ */
+/*
+ * CGPaletteGetColorAtIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDeviceColor )
+CGPaletteGetColorAtIndex(
+ CGDirectPaletteRef palette,
+ CGTableCount index);
+
+
+/*
+ * Get the index for the specified color value
+ * The index returned is for a palette color with the
+ * lowest RMS error to the specified color.
+ */
+/*
+ * CGPaletteGetIndexForColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGTableCount )
+CGPaletteGetIndexForColor(
+ CGDirectPaletteRef palette,
+ CGDeviceColor color);
+
+
+/*
+ * Get the number of samples in the palette
+ */
+/*
+ * CGPaletteGetNumberOfSamples()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGTableCount )
+CGPaletteGetNumberOfSamples(CGDirectPaletteRef palette);
+
+
+
+/*
+ * Set the color value at the specified index
+ */
+/*
+ * CGPaletteSetColorAtIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGPaletteSetColorAtIndex(
+ CGDirectPaletteRef palette,
+ CGDeviceColor color,
+ CGTableCount index);
+
+
+/*
+ * Copy a palette
+ */
+/*
+ * CGPaletteCreateCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDirectPaletteRef )
+CGPaletteCreateCopy(CGDirectPaletteRef palette);
+
+
+/*
+ * Compare two palettes
+ */
+/*
+ * CGPaletteIsEqualToPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+CGPaletteIsEqualToPalette(
+ CGDirectPaletteRef palette1,
+ CGDirectPaletteRef palette2);
+
+
+/*
+ * Create a new palette blended with a fraction of a device color.
+ * Free the resulting palette with CGPaletteRelease()
+ */
+/*
+ * CGPaletteCreateFromPaletteBlendedWithColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDirectPaletteRef )
+CGPaletteCreateFromPaletteBlendedWithColor(
+ CGDirectPaletteRef palette,
+ CGPaletteBlendFraction fraction,
+ CGDeviceColor color);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGError.h b/include/qt/CGError.h
index 76c63d67a..02ac5b334 100644
--- a/include/qt/CGError.h
+++ b/include/qt/CGError.h
@@ -1,17 +1,17 @@
/*
File: CGError.h
-
+
Contains: CoreGraphics error codes
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGERROR_H_
@@ -33,51 +33,50 @@
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGERROR__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGERROR__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGERROR__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGERROR__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
/* Types used for error and error handler */
-enum CGError
-{
- kCGErrorSuccess = 0,
- kCGErrorFirst = 1000,
- kCGErrorFailure = kCGErrorFirst,
- kCGErrorIllegalArgument = 1001,
- kCGErrorInvalidConnection = 1002,
- kCGErrorInvalidContext = 1003,
- kCGErrorCannotComplete = 1004,
- kCGErrorNameTooLong = 1005,
- kCGErrorNotImplemented = 1006,
- kCGErrorRangeCheck = 1007,
- kCGErrorTypeCheck = 1008,
- kCGErrorNoCurrentPoint = 1009,
- kCGErrorInvalidOperation = 1010,
- kCGErrorNoneAvailable = 1011,
- kCGErrorLast = kCGErrorNoneAvailable
+enum CGError {
+ kCGErrorSuccess = 0,
+ kCGErrorFirst = 1000,
+ kCGErrorFailure = kCGErrorFirst,
+ kCGErrorIllegalArgument = 1001,
+ kCGErrorInvalidConnection = 1002,
+ kCGErrorInvalidContext = 1003,
+ kCGErrorCannotComplete = 1004,
+ kCGErrorNameTooLong = 1005,
+ kCGErrorNotImplemented = 1006,
+ kCGErrorRangeCheck = 1007,
+ kCGErrorTypeCheck = 1008,
+ kCGErrorNoCurrentPoint = 1009,
+ kCGErrorInvalidOperation = 1010,
+ kCGErrorNoneAvailable = 1011,
+ kCGErrorLast = kCGErrorNoneAvailable
};
typedef enum CGError CGError;
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGERROR__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGERROR__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGERROR__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGFont.h b/include/qt/CGFont.h
index 2b2d6f667..d9ed6410a 100644
--- a/include/qt/CGFont.h
+++ b/include/qt/CGFont.h
@@ -1,17 +1,17 @@
/*
File: CGFont.h
-
+
Contains: CoreGraphics font
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGFONT_H_
@@ -37,65 +37,65 @@ extern "C" {
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGFONT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGFONT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGFONT__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGFONT__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- typedef struct CGFont* CGFontRef;
- typedef unsigned short CGGlyph;
- /*** Font creation. ***/
- /* Create a CGFont using `platformFontReference', a pointer to a
- * platform-specific font reference. For MacOS X, `platformFontReference'
- * should be a pointer to an ATSFontRef. */
- /*
- * CGFontCreateWithPlatformFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGFontRef)
- CGFontCreateWithPlatformFont(void * platformFontReference);
-
-
- /*** Retain & release. ***/
- /* Increment the retain count of `font' and return it. All fonts are
- * created with an initial retain count of 1. */
- /*
- * CGFontRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGFontRef)
- CGFontRetain(CGFontRef font);
-
-
- /* Decrement the retain count of `font'. If the retain count reaches 0,
- * then release it and any associated resources. */
- /*
- * CGFontRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGFontRelease(CGFontRef font);
+typedef struct CGFont* CGFontRef;
+typedef unsigned short CGGlyph;
+/*** Font creation. ***/
+/* Create a CGFont using `platformFontReference', a pointer to a
+ * platform-specific font reference. For MacOS X, `platformFontReference'
+ * should be a pointer to an ATSFontRef. */
+/*
+ * CGFontCreateWithPlatformFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGFontRef )
+CGFontCreateWithPlatformFont(void * platformFontReference);
+
+
+/*** Retain & release. ***/
+/* Increment the retain count of `font' and return it. All fonts are
+ * created with an initial retain count of 1. */
+/*
+ * CGFontRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGFontRef )
+CGFontRetain(CGFontRef font);
+
+
+/* Decrement the retain count of `font'. If the retain count reaches 0,
+ * then release it and any associated resources. */
+/*
+ * CGFontRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGFontRelease(CGFontRef font);
@@ -103,14 +103,14 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGFONT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGFONT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGFONT__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGGeometry.h b/include/qt/CGGeometry.h
index 20d8e0eee..9863a3790 100644
--- a/include/qt/CGGeometry.h
+++ b/include/qt/CGGeometry.h
@@ -1,17 +1,17 @@
/*
File: CGGeometry.h
-
+
Contains: CoreGraphics geometry
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGGEOMETRY_H_
#define CGGEOMETRY_H_
@@ -36,103 +36,99 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGGEOMETRY__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGGEOMETRY__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGGEOMETRY__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGGEOMETRY__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /* Points. */
- struct CGPoint
- {
- float x;
- float y;
- };
- typedef struct CGPoint CGPoint;
- /* Sizes. */
- struct CGSize
- {
- float width;
- float height;
- };
- typedef struct CGSize CGSize;
- /* Rectangles. */
- struct CGRect
- {
- CGPoint origin;
- CGSize size;
- };
- typedef struct CGRect CGRect;
- /* Rectangle edges. */
- enum CGRectEdge
- {
- CGRectMinXEdge = 0,
- CGRectMinYEdge = 1,
- CGRectMaxXEdge = 2,
- CGRectMaxYEdge = 3
- };
- typedef enum CGRectEdge CGRectEdge;
+/* Points. */
+struct CGPoint {
+ float x;
+ float y;
+};
+typedef struct CGPoint CGPoint;
+/* Sizes. */
+struct CGSize {
+ float width;
+ float height;
+};
+typedef struct CGSize CGSize;
+/* Rectangles. */
+struct CGRect {
+ CGPoint origin;
+ CGSize size;
+};
+typedef struct CGRect CGRect;
+/* Rectangle edges. */
+enum CGRectEdge {
+ CGRectMinXEdge = 0,
+ CGRectMinYEdge = 1,
+ CGRectMaxXEdge = 2,
+ CGRectMaxYEdge = 3
+};
+typedef enum CGRectEdge CGRectEdge;
#if TARGET_OS_MAC
- /* The "zero" point -- equivalent to CGPointMake(0, 0). */
- /*
- * CGPointZero
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern const CGPoint CGPointZero;
- /* The "zero" size -- equivalent to CGSizeMake(0, 0). */
- /*
- * CGSizeZero
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern const CGSize CGSizeZero;
- /* The "zero" rectangle -- equivalent to CGRectMake(0, 0, 0, 0). */
- /*
- * CGRectZero
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern const CGRect CGRectZero;
- /* The "empty" rect. This is the rectangle returned when, for example, we
- * intersect two disjoint rectangles. Note that the null rect is not the
- * same as the zero rect. */
- /*
- * CGRectNull
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- extern const CGRect CGRectNull;
+/* The "zero" point -- equivalent to CGPointMake(0, 0). */
+/*
+ * CGPointZero
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern const CGPoint CGPointZero;
+/* The "zero" size -- equivalent to CGSizeMake(0, 0). */
+/*
+ * CGSizeZero
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern const CGSize CGSizeZero;
+/* The "zero" rectangle -- equivalent to CGRectMake(0, 0, 0, 0). */
+/*
+ * CGRectZero
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern const CGRect CGRectZero;
+/* The "empty" rect. This is the rectangle returned when, for example, we
+ * intersect two disjoint rectangles. Note that the null rect is not the
+ * same as the zero rect. */
+/*
+ * CGRectNull
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+extern const CGRect CGRectNull;
#else
@@ -144,413 +140,413 @@ extern "C" {
#endif
- /* Make a point from `(x, y)'. */
- /*
- * CGPointMake()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGPoint)
- CGPointMake(
- float x,
- float y);
-
-
- /* Make a size from `(width, height)'. */
- /*
- * CGSizeMake()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGSize)
- CGSizeMake(
- float width,
- float height);
-
-
- /* Make a rect from `(x, y; width, height)'. */
- /*
- * CGRectMake()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGRectMake(
- float x,
- float y,
- float width,
- float height);
-
-
- /* Return the leftmost x-value of `rect'. */
- /*
- * CGRectGetMinX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- CGRectGetMinX(CGRect rect);
-
-
- /* Return the midpoint x-value of `rect'. */
- /*
- * CGRectGetMidX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- CGRectGetMidX(CGRect rect);
-
-
- /* Return the rightmost x-value of `rect'. */
- /*
- * CGRectGetMaxX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- CGRectGetMaxX(CGRect rect);
-
-
- /* Return the bottommost y-value of `rect'. */
- /*
- * CGRectGetMinY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- CGRectGetMinY(CGRect rect);
-
-
- /* Return the midpoint y-value of `rect'. */
- /*
- * CGRectGetMidY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- CGRectGetMidY(CGRect rect);
-
-
- /* Return the topmost y-value of `rect'. */
- /*
- * CGRectGetMaxY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- CGRectGetMaxY(CGRect rect);
-
-
- /* Return the width of `rect'. */
- /*
- * CGRectGetWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- CGRectGetWidth(CGRect rect);
-
-
- /* Return the height of `rect'. */
- /*
- * CGRectGetHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- CGRectGetHeight(CGRect rect);
-
-
- /* Return 1 if `point1' and `point2' are the same, 0 otherwise. */
- /*
- * CGPointEqualToPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGPointEqualToPoint(
- CGPoint point1,
- CGPoint point2);
-
-
- /* Return 1 if `size1' and `size2' are the same, 0 otherwise. */
- /*
- * CGSizeEqualToSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGSizeEqualToSize(
- CGSize size1,
- CGSize size2);
-
-
- /* Return 1 if `rect1' and `rect2' are the same, 0 otherwise. */
- /*
- * CGRectEqualToRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGRectEqualToRect(
- CGRect rect1,
- CGRect rect2);
-
-
- /* Standardize `rect' -- i.e., convert it to an equivalent rect which has
- * positive width and height. */
- /*
- * CGRectStandardize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGRectStandardize(CGRect rect);
-
-
- /* Return 1 if `rect' is empty -- i.e., if it has zero width or height. A
- * null rect is defined to be empty. */
- /*
- * CGRectIsEmpty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGRectIsEmpty(CGRect rect);
-
-
- /* Return 1 if `rect' is null -- e.g., the result of intersecting two
- * disjoint rectangles is a null rect. */
- /*
- * CGRectIsNull()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGRectIsNull(CGRect rect);
-
-
- /* Inset `rect' by `(dx, dy)' -- i.e., offset its origin by `(dx, dy)', and
- * decrease its size by `(2*dx, 2*dy)'. */
- /*
- * CGRectInset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGRectInset(
- CGRect rect,
- float dx,
- float dy);
-
-
- /* Expand `rect' to the smallest rect containing it with integral origin
- * and size. */
- /*
- * CGRectIntegral()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGRectIntegral(CGRect rect);
-
-
- /* Return the union of `r1' and `r2'. */
- /*
- * CGRectUnion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGRectUnion(
- CGRect r1,
- CGRect r2);
-
-
- /* Return the intersection of `r1' and `r2'. This may return a null
- * rect. */
- /*
- * CGRectIntersection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGRectIntersection(
- CGRect r1,
- CGRect r2);
-
-
- /* Offset `rect' by `(dx, dy)'. */
- /*
- * CGRectOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGRectOffset(
- CGRect rect,
- float dx,
- float dy);
-
-
- /* Make two new rectangles, `slice' and `remainder', by dividing `rect'
- * with a line that's parallel to one of its sides, specified by `edge' --
- * either `CGRectMinXEdge', `CGRectMinYEdge', `CGRectMaxXEdge', or
- * `CGRectMaxYEdge'. The size of `slice' is determined by `amount', which
- * measures the distance from the specified edge. */
- /*
- * CGRectDivide()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGRectDivide(
- CGRect rect,
- CGRect * slice,
- CGRect * remainder,
- float amount,
- CGRectEdge edge);
-
-
- /* Return 1 if `point' is contained in `rect', 0 otherwise. */
- /*
- * CGRectContainsPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGRectContainsPoint(
- CGRect rect,
- CGPoint point);
-
-
- /* Return 1 if `rect2' is contained in `rect1', 0 otherwise. `rect2' is
- * contained in `rect1' if the union of `rect1' and `rect2' is equal to
- * `rect1'. */
- /*
- * CGRectContainsRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGRectContainsRect(
- CGRect rect1,
- CGRect rect2);
-
-
- /* Return 1 if `rect1' intersects `rect2', 0 otherwise. `rect1' intersects
- * `rect2' if the intersection of `rect1' and `rect2' is not the null
- * rect. */
- /*
- * CGRectIntersectsRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGRectIntersectsRect(
- CGRect rect1,
- CGRect rect2);
+/* Make a point from `(x, y)'. */
+/*
+ * CGPointMake()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPoint )
+CGPointMake(
+ float x,
+ float y);
+
+
+/* Make a size from `(width, height)'. */
+/*
+ * CGSizeMake()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGSize )
+CGSizeMake(
+ float width,
+ float height);
+
+
+/* Make a rect from `(x, y; width, height)'. */
+/*
+ * CGRectMake()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGRectMake(
+ float x,
+ float y,
+ float width,
+ float height);
+
+
+/* Return the leftmost x-value of `rect'. */
+/*
+ * CGRectGetMinX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+CGRectGetMinX(CGRect rect);
+
+
+/* Return the midpoint x-value of `rect'. */
+/*
+ * CGRectGetMidX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+CGRectGetMidX(CGRect rect);
+
+
+/* Return the rightmost x-value of `rect'. */
+/*
+ * CGRectGetMaxX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+CGRectGetMaxX(CGRect rect);
+
+
+/* Return the bottommost y-value of `rect'. */
+/*
+ * CGRectGetMinY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+CGRectGetMinY(CGRect rect);
+
+
+/* Return the midpoint y-value of `rect'. */
+/*
+ * CGRectGetMidY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+CGRectGetMidY(CGRect rect);
+
+
+/* Return the topmost y-value of `rect'. */
+/*
+ * CGRectGetMaxY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+CGRectGetMaxY(CGRect rect);
+
+
+/* Return the width of `rect'. */
+/*
+ * CGRectGetWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+CGRectGetWidth(CGRect rect);
+
+
+/* Return the height of `rect'. */
+/*
+ * CGRectGetHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+CGRectGetHeight(CGRect rect);
+
+
+/* Return 1 if `point1' and `point2' are the same, 0 otherwise. */
+/*
+ * CGPointEqualToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGPointEqualToPoint(
+ CGPoint point1,
+ CGPoint point2);
+
+
+/* Return 1 if `size1' and `size2' are the same, 0 otherwise. */
+/*
+ * CGSizeEqualToSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGSizeEqualToSize(
+ CGSize size1,
+ CGSize size2);
+
+
+/* Return 1 if `rect1' and `rect2' are the same, 0 otherwise. */
+/*
+ * CGRectEqualToRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGRectEqualToRect(
+ CGRect rect1,
+ CGRect rect2);
+
+
+/* Standardize `rect' -- i.e., convert it to an equivalent rect which has
+ * positive width and height. */
+/*
+ * CGRectStandardize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGRectStandardize(CGRect rect);
+
+
+/* Return 1 if `rect' is empty -- i.e., if it has zero width or height. A
+ * null rect is defined to be empty. */
+/*
+ * CGRectIsEmpty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGRectIsEmpty(CGRect rect);
+
+
+/* Return 1 if `rect' is null -- e.g., the result of intersecting two
+ * disjoint rectangles is a null rect. */
+/*
+ * CGRectIsNull()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGRectIsNull(CGRect rect);
+
+
+/* Inset `rect' by `(dx, dy)' -- i.e., offset its origin by `(dx, dy)', and
+ * decrease its size by `(2*dx, 2*dy)'. */
+/*
+ * CGRectInset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGRectInset(
+ CGRect rect,
+ float dx,
+ float dy);
+
+
+/* Expand `rect' to the smallest rect containing it with integral origin
+ * and size. */
+/*
+ * CGRectIntegral()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGRectIntegral(CGRect rect);
+
+
+/* Return the union of `r1' and `r2'. */
+/*
+ * CGRectUnion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGRectUnion(
+ CGRect r1,
+ CGRect r2);
+
+
+/* Return the intersection of `r1' and `r2'. This may return a null
+ * rect. */
+/*
+ * CGRectIntersection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGRectIntersection(
+ CGRect r1,
+ CGRect r2);
+
+
+/* Offset `rect' by `(dx, dy)'. */
+/*
+ * CGRectOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGRectOffset(
+ CGRect rect,
+ float dx,
+ float dy);
+
+
+/* Make two new rectangles, `slice' and `remainder', by dividing `rect'
+ * with a line that's parallel to one of its sides, specified by `edge' --
+ * either `CGRectMinXEdge', `CGRectMinYEdge', `CGRectMaxXEdge', or
+ * `CGRectMaxYEdge'. The size of `slice' is determined by `amount', which
+ * measures the distance from the specified edge. */
+/*
+ * CGRectDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGRectDivide(
+ CGRect rect,
+ CGRect * slice,
+ CGRect * remainder,
+ float amount,
+ CGRectEdge edge);
+
+
+/* Return 1 if `point' is contained in `rect', 0 otherwise. */
+/*
+ * CGRectContainsPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGRectContainsPoint(
+ CGRect rect,
+ CGPoint point);
+
+
+/* Return 1 if `rect2' is contained in `rect1', 0 otherwise. `rect2' is
+ * contained in `rect1' if the union of `rect1' and `rect2' is equal to
+ * `rect1'. */
+/*
+ * CGRectContainsRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGRectContainsRect(
+ CGRect rect1,
+ CGRect rect2);
+
+
+/* Return 1 if `rect1' intersects `rect2', 0 otherwise. `rect1' intersects
+ * `rect2' if the intersection of `rect1' and `rect2' is not the null
+ * rect. */
+/*
+ * CGRectIntersectsRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGRectIntersectsRect(
+ CGRect rect1,
+ CGRect rect2);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGGEOMETRY__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGGEOMETRY__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGGEOMETRY__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGImage.h b/include/qt/CGImage.h
index 1d16340ab..6585c7cf7 100644
--- a/include/qt/CGImage.h
+++ b/include/qt/CGImage.h
@@ -1,17 +1,17 @@
/*
File: CGImage.h
-
+
Contains: CoreGraphics images
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGIMAGE_H_
#define CGIMAGE_H_
@@ -44,291 +44,290 @@ extern "C" {
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGIMAGE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGIMAGE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGIMAGE__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGIMAGE__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- typedef struct CGImage* CGImageRef;
- enum CGImageAlphaInfo
- {
- kCGImageAlphaNone = 0,
- kCGImageAlphaPremultipliedLast = 1, /* For example, premultiplied RGBA */
- kCGImageAlphaPremultipliedFirst = 2, /* For example, premultiplied ARGB */
- kCGImageAlphaLast = 3, /* For example, non-premultiplied RGBA */
- kCGImageAlphaFirst = 4, /* For example, non-premultiplied ARGB */
- kCGImageAlphaNoneSkipLast = 5, /* Equivalent to kCGImageAlphaNone. */
- kCGImageAlphaNoneSkipFirst = 6
- };
- typedef enum CGImageAlphaInfo CGImageAlphaInfo;
-
-
- /* Create an image. */
- /*
- * CGImageCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGImageRef)
- CGImageCreate(
- size_t width,
- size_t height,
- size_t bitsPerComponent,
- size_t bitsPerPixel,
- size_t bytesPerRow,
- CGColorSpaceRef colorspace,
- CGImageAlphaInfo alphaInfo,
- CGDataProviderRef provider,
- const float decode[],
- int shouldInterpolate,
- CGColorRenderingIntent intent);
-
-
- /* Create an image mask. */
- /*
- * CGImageMaskCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGImageRef)
- CGImageMaskCreate(
- size_t width,
- size_t height,
- size_t bitsPerComponent,
- size_t bitsPerPixel,
- size_t bytesPerRow,
- CGDataProviderRef provider,
- const float decode[],
- int shouldInterpolate);
-
-
- /* Create an image from `source', a data provider of JPEG-encoded data. */
- /*
- * CGImageCreateWithJPEGDataProvider()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGImageRef)
- CGImageCreateWithJPEGDataProvider(
- CGDataProviderRef source,
- const float decode[],
- int shouldInterpolate,
- CGColorRenderingIntent intent);
-
-
- /* Increment the retain count of `image' and return it. All images are
- * created with an initial retain count of 1. */
- /*
- * CGImageRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGImageRef)
- CGImageRetain(CGImageRef image);
-
-
- /* Decrement the retain count of `image'. If the retain count reaches 0,
- * then release it and any associated resources. */
- /*
- * CGImageRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGImageRelease(CGImageRef image);
-
-
- /* Return 1 if `image' is an image mask, 0 otherwise. */
- /*
- * CGImageIsMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGImageIsMask(CGImageRef image);
-
-
- /* Return the width of `image'. */
- /*
- * CGImageGetWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGImageGetWidth(CGImageRef image);
-
-
- /* Return the height of `image'. */
- /*
- * CGImageGetHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGImageGetHeight(CGImageRef image);
-
-
- /* Return the number of bits/component of `image'. */
- /*
- * CGImageGetBitsPerComponent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGImageGetBitsPerComponent(CGImageRef image);
-
-
- /* Return the number of bits/pixel of `image'. */
- /*
- * CGImageGetBitsPerPixel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGImageGetBitsPerPixel(CGImageRef image);
-
-
- /* Return the number of bytes/row of `image'. */
- /*
- * CGImageGetBytesPerRow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(size_t)
- CGImageGetBytesPerRow(CGImageRef image);
-
-
- /* Return the colorspace of `image', or NULL if `image' is an image
- * mask. */
- /*
- * CGImageGetColorSpace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorSpaceRef)
- CGImageGetColorSpace(CGImageRef image);
-
-
- /* Return the alpha info of `image'. */
- /*
- * CGImageGetAlphaInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGImageAlphaInfo)
- CGImageGetAlphaInfo(CGImageRef image);
-
-
- /*Return the data provider of `image'. */
- /*
- * CGImageGetDataProvider()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGDataProviderRef)
- CGImageGetDataProvider(CGImageRef image);
-
-
- /* Return the decode array of `image'. */
- /*
- * CGImageGetDecode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(const float *)
- CGImageGetDecode(CGImageRef image);
-
-
- /* Return the interpolation parameter of `image'. */
- /*
- * CGImageGetShouldInterpolate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGImageGetShouldInterpolate(CGImageRef image);
-
-
- /* Return the rendering intent of `image'. */
- /*
- * CGImageGetRenderingIntent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGColorRenderingIntent)
- CGImageGetRenderingIntent(CGImageRef image);
+typedef struct CGImage* CGImageRef;
+enum CGImageAlphaInfo {
+ kCGImageAlphaNone = 0,
+ kCGImageAlphaPremultipliedLast = 1, /* For example, premultiplied RGBA */
+ kCGImageAlphaPremultipliedFirst = 2, /* For example, premultiplied ARGB */
+ kCGImageAlphaLast = 3, /* For example, non-premultiplied RGBA */
+ kCGImageAlphaFirst = 4, /* For example, non-premultiplied ARGB */
+ kCGImageAlphaNoneSkipLast = 5, /* Equivalent to kCGImageAlphaNone. */
+ kCGImageAlphaNoneSkipFirst = 6
+};
+typedef enum CGImageAlphaInfo CGImageAlphaInfo;
+
+
+/* Create an image. */
+/*
+ * CGImageCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGImageRef )
+CGImageCreate(
+ size_t width,
+ size_t height,
+ size_t bitsPerComponent,
+ size_t bitsPerPixel,
+ size_t bytesPerRow,
+ CGColorSpaceRef colorspace,
+ CGImageAlphaInfo alphaInfo,
+ CGDataProviderRef provider,
+ const float decode[],
+ int shouldInterpolate,
+ CGColorRenderingIntent intent);
+
+
+/* Create an image mask. */
+/*
+ * CGImageMaskCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGImageRef )
+CGImageMaskCreate(
+ size_t width,
+ size_t height,
+ size_t bitsPerComponent,
+ size_t bitsPerPixel,
+ size_t bytesPerRow,
+ CGDataProviderRef provider,
+ const float decode[],
+ int shouldInterpolate);
+
+
+/* Create an image from `source', a data provider of JPEG-encoded data. */
+/*
+ * CGImageCreateWithJPEGDataProvider()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGImageRef )
+CGImageCreateWithJPEGDataProvider(
+ CGDataProviderRef source,
+ const float decode[],
+ int shouldInterpolate,
+ CGColorRenderingIntent intent);
+
+
+/* Increment the retain count of `image' and return it. All images are
+ * created with an initial retain count of 1. */
+/*
+ * CGImageRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGImageRef )
+CGImageRetain(CGImageRef image);
+
+
+/* Decrement the retain count of `image'. If the retain count reaches 0,
+ * then release it and any associated resources. */
+/*
+ * CGImageRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGImageRelease(CGImageRef image);
+
+
+/* Return 1 if `image' is an image mask, 0 otherwise. */
+/*
+ * CGImageIsMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGImageIsMask(CGImageRef image);
+
+
+/* Return the width of `image'. */
+/*
+ * CGImageGetWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGImageGetWidth(CGImageRef image);
+
+
+/* Return the height of `image'. */
+/*
+ * CGImageGetHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGImageGetHeight(CGImageRef image);
+
+
+/* Return the number of bits/component of `image'. */
+/*
+ * CGImageGetBitsPerComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGImageGetBitsPerComponent(CGImageRef image);
+
+
+/* Return the number of bits/pixel of `image'. */
+/*
+ * CGImageGetBitsPerPixel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGImageGetBitsPerPixel(CGImageRef image);
+
+
+/* Return the number of bytes/row of `image'. */
+/*
+ * CGImageGetBytesPerRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( size_t )
+CGImageGetBytesPerRow(CGImageRef image);
+
+
+/* Return the colorspace of `image', or NULL if `image' is an image
+ * mask. */
+/*
+ * CGImageGetColorSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorSpaceRef )
+CGImageGetColorSpace(CGImageRef image);
+
+
+/* Return the alpha info of `image'. */
+/*
+ * CGImageGetAlphaInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGImageAlphaInfo )
+CGImageGetAlphaInfo(CGImageRef image);
+
+
+/*Return the data provider of `image'. */
+/*
+ * CGImageGetDataProvider()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGDataProviderRef )
+CGImageGetDataProvider(CGImageRef image);
+
+
+/* Return the decode array of `image'. */
+/*
+ * CGImageGetDecode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( const float * )
+CGImageGetDecode(CGImageRef image);
+
+
+/* Return the interpolation parameter of `image'. */
+/*
+ * CGImageGetShouldInterpolate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGImageGetShouldInterpolate(CGImageRef image);
+
+
+/* Return the rendering intent of `image'. */
+/*
+ * CGImageGetRenderingIntent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGColorRenderingIntent )
+CGImageGetRenderingIntent(CGImageRef image);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGIMAGE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGIMAGE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGIMAGE__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGPDFContext.h b/include/qt/CGPDFContext.h
index 33d4b041d..2c1728bad 100644
--- a/include/qt/CGPDFContext.h
+++ b/include/qt/CGPDFContext.h
@@ -1,17 +1,17 @@
/*
File: CGPDFContext.h
-
+
Contains: CoreGraphics PDF context
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGPDFCONTEXT_H_
#define CGPDFCONTEXT_H_
@@ -47,48 +47,48 @@ extern "C" {
#pragma import on
#endif
- /* Create a PDF context, using `consumer' for output. `mediaBox' is the
- * default page media bounding box; if NULL, then a default page size is
- * used. `auxiliaryInfo' specifies additional information used by the PDF
- * context when generating the PDF file. The keys and values in
- * `auxiliaryInfo' must be CFStrings. The following keys are recognized:
- * Key Value
- * -------- --------
- * Title The document's title.
- * Author The name of the person who created the document.
- * Creator If the document was converted to PDF from another format,
- * the name of the application that created the original
- * document from which it was converted.
- */
- /*
- * CGPDFContextCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGContextRef)
- CGPDFContextCreate(
- CGDataConsumerRef consumer,
- const CGRect * mediaBox,
- CFDictionaryRef auxiliaryInfo);
-
-
- /* Convenience function: create a PDF context, writing to `url'. */
- /*
- * CGPDFContextCreateWithURL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGContextRef)
- CGPDFContextCreateWithURL(
- CFURLRef url,
- const CGRect * mediaBox,
- CFDictionaryRef auxiliaryInfo);
+/* Create a PDF context, using `consumer' for output. `mediaBox' is the
+ * default page media bounding box; if NULL, then a default page size is
+ * used. `auxiliaryInfo' specifies additional information used by the PDF
+ * context when generating the PDF file. The keys and values in
+ * `auxiliaryInfo' must be CFStrings. The following keys are recognized:
+ * Key Value
+ * -------- --------
+ * Title The document's title.
+ * Author The name of the person who created the document.
+ * Creator If the document was converted to PDF from another format,
+ * the name of the application that created the original
+ * document from which it was converted.
+ */
+/*
+ * CGPDFContextCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGContextRef )
+CGPDFContextCreate(
+ CGDataConsumerRef consumer,
+ const CGRect * mediaBox,
+ CFDictionaryRef auxiliaryInfo);
+
+
+/* Convenience function: create a PDF context, writing to `url'. */
+/*
+ * CGPDFContextCreateWithURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGContextRef )
+CGPDFContextCreateWithURL(
+ CFURLRef url,
+ const CGRect * mediaBox,
+ CFDictionaryRef auxiliaryInfo);
diff --git a/include/qt/CGPDFDocument.h b/include/qt/CGPDFDocument.h
index 3b6bf4fef..8008b7c1f 100644
--- a/include/qt/CGPDFDocument.h
+++ b/include/qt/CGPDFDocument.h
@@ -1,17 +1,17 @@
/*
File: CGPDFDocument.h
-
+
Contains: CoreGraphics PDF document
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGPDFDOCUMENT_H_
#define CGPDFDOCUMENT_H_
@@ -47,164 +47,164 @@ extern "C" {
#pragma import on
#endif
- typedef struct CGPDFDocument* CGPDFDocumentRef;
- /* Create a PDF document, using `provider' to obtain the document's
- * data. */
- /*
- * CGPDFDocumentCreateWithProvider()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGPDFDocumentRef)
- CGPDFDocumentCreateWithProvider(CGDataProviderRef provider);
-
-
- /* Create a PDF document from `url'. */
- /*
- * CGPDFDocumentCreateWithURL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGPDFDocumentRef)
- CGPDFDocumentCreateWithURL(CFURLRef url);
-
-
- /* Increment the retain count of `document' and return it. All PDF
- * documents are created with an initial retain count of 1. */
- /*
- * CGPDFDocumentRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGPDFDocumentRef)
- CGPDFDocumentRetain(CGPDFDocumentRef document);
-
-
- /* Decrement the retain count of `document'. If the retain count reaches 0,
- * then free it and any associated resources. */
- /*
- * CGPDFDocumentRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGPDFDocumentRelease(CGPDFDocumentRef document);
-
-
- /* Return the number of pages in `document'. */
- /*
- * CGPDFDocumentGetNumberOfPages()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGPDFDocumentGetNumberOfPages(CGPDFDocumentRef document);
-
-
- /* Return the media box of page number `page' in `document'. */
- /*
- * CGPDFDocumentGetMediaBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGPDFDocumentGetMediaBox(
- CGPDFDocumentRef document,
- int page);
-
-
- /* Return the crop box of page number `page' in `document'. */
- /*
- * CGPDFDocumentGetCropBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGPDFDocumentGetCropBox(
- CGPDFDocumentRef document,
- int page);
-
-
- /* Return the bleed box of page number `page' in `document'. */
- /*
- * CGPDFDocumentGetBleedBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGPDFDocumentGetBleedBox(
- CGPDFDocumentRef document,
- int page);
-
-
- /* Return the trim box of page number `page' in `document'. */
- /*
- * CGPDFDocumentGetTrimBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGPDFDocumentGetTrimBox(
- CGPDFDocumentRef document,
- int page);
-
-
- /* Return the art box of page number `page' in `document'. */
- /*
- * CGPDFDocumentGetArtBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGRect)
- CGPDFDocumentGetArtBox(
- CGPDFDocumentRef document,
- int page);
-
-
- /* Return the rotation angle (in degrees) of page number `page' in
- * `document'. */
- /*
- * CGPDFDocumentGetRotationAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- CGPDFDocumentGetRotationAngle(
- CGPDFDocumentRef document,
- int page);
+typedef struct CGPDFDocument* CGPDFDocumentRef;
+/* Create a PDF document, using `provider' to obtain the document's
+ * data. */
+/*
+ * CGPDFDocumentCreateWithProvider()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPDFDocumentRef )
+CGPDFDocumentCreateWithProvider(CGDataProviderRef provider);
+
+
+/* Create a PDF document from `url'. */
+/*
+ * CGPDFDocumentCreateWithURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPDFDocumentRef )
+CGPDFDocumentCreateWithURL(CFURLRef url);
+
+
+/* Increment the retain count of `document' and return it. All PDF
+ * documents are created with an initial retain count of 1. */
+/*
+ * CGPDFDocumentRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGPDFDocumentRef )
+CGPDFDocumentRetain(CGPDFDocumentRef document);
+
+
+/* Decrement the retain count of `document'. If the retain count reaches 0,
+ * then free it and any associated resources. */
+/*
+ * CGPDFDocumentRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGPDFDocumentRelease(CGPDFDocumentRef document);
+
+
+/* Return the number of pages in `document'. */
+/*
+ * CGPDFDocumentGetNumberOfPages()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGPDFDocumentGetNumberOfPages(CGPDFDocumentRef document);
+
+
+/* Return the media box of page number `page' in `document'. */
+/*
+ * CGPDFDocumentGetMediaBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGPDFDocumentGetMediaBox(
+ CGPDFDocumentRef document,
+ int page);
+
+
+/* Return the crop box of page number `page' in `document'. */
+/*
+ * CGPDFDocumentGetCropBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGPDFDocumentGetCropBox(
+ CGPDFDocumentRef document,
+ int page);
+
+
+/* Return the bleed box of page number `page' in `document'. */
+/*
+ * CGPDFDocumentGetBleedBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGPDFDocumentGetBleedBox(
+ CGPDFDocumentRef document,
+ int page);
+
+
+/* Return the trim box of page number `page' in `document'. */
+/*
+ * CGPDFDocumentGetTrimBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGPDFDocumentGetTrimBox(
+ CGPDFDocumentRef document,
+ int page);
+
+
+/* Return the art box of page number `page' in `document'. */
+/*
+ * CGPDFDocumentGetArtBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGRect )
+CGPDFDocumentGetArtBox(
+ CGPDFDocumentRef document,
+ int page);
+
+
+/* Return the rotation angle (in degrees) of page number `page' in
+ * `document'. */
+/*
+ * CGPDFDocumentGetRotationAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+CGPDFDocumentGetRotationAngle(
+ CGPDFDocumentRef document,
+ int page);
diff --git a/include/qt/CGPattern.h b/include/qt/CGPattern.h
index 5aa2f7b90..1ee345b52 100644
--- a/include/qt/CGPattern.h
+++ b/include/qt/CGPattern.h
@@ -1,17 +1,17 @@
/*
File: CGPattern.h
-
+
Contains: CoreGraphics base types
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGPATTERN_H_
#define CGPATTERN_H_
@@ -54,123 +54,122 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGPATTERN__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGPATTERN__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGPATTERN__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGPATTERN__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- enum CGPatternTiling {
- kCGPatternTilingNoDistortion = 0,
- kCGPatternTilingConstantSpacingMinimalDistortion = 1,
- kCGPatternTilingConstantSpacing = 2
- };
- typedef enum CGPatternTiling CGPatternTiling;
-
-
- /* The drawing of the pattern is delegated to the callbacks. The callbacks
- * may be called one or many times to draw the pattern.
- *
- * `version' is the version number of the structure passed in as a
- * parameter to the CGPattern creation functions. The structure defined
- * below is version 0.
- *
- * `drawPattern' should draw the pattern in the context `c'. `info' is the
- * parameter originally passed to the CGPattern creation functions.
- *
- * `releaseInfo' is called when the pattern is deallocated. */
- typedef CALLBACK_API_C(void , CGDrawPatternProcPtr)(void *info, CGContextRef c);
- typedef CALLBACK_API_C(void , CGReleaseInfoProcPtr)(void * info);
- struct CGPatternCallbacks
- {
- unsigned int version;
- CGDrawPatternProcPtr drawPattern;
- CGReleaseInfoProcPtr releaseInfo;
- };
- typedef struct CGPatternCallbacks CGPatternCallbacks;
- /* Create a pattern. */
- /*
- * CGPatternCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGPatternRef)
- CGPatternCreate(
- void * info,
- CGRect bounds,
- CGAffineTransform matrix,
- float xStep,
- float yStep,
- CGPatternTiling tiling,
- int isColored,
- const CGPatternCallbacks * callbacks);
-
-
- /* Increment the retain count of `pattern' and return it. All patterns are
- * created with an initial retain count of 1. */
- /*
- * CGPatternRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGPatternRef)
- CGPatternRetain(CGPatternRef pattern);
-
-
- /* Decrement the retain count of `pattern'. If the retain count reaches 0,
- * then free it and release any associated resources. */
- /*
- * CGPatternRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- CGPatternRelease(CGPatternRef pattern);
+enum CGPatternTiling {
+ kCGPatternTilingNoDistortion = 0,
+ kCGPatternTilingConstantSpacingMinimalDistortion = 1,
+ kCGPatternTilingConstantSpacing = 2
+};
+typedef enum CGPatternTiling CGPatternTiling;
+
+
+/* The drawing of the pattern is delegated to the callbacks. The callbacks
+ * may be called one or many times to draw the pattern.
+ *
+ * `version' is the version number of the structure passed in as a
+ * parameter to the CGPattern creation functions. The structure defined
+ * below is version 0.
+ *
+ * `drawPattern' should draw the pattern in the context `c'. `info' is the
+ * parameter originally passed to the CGPattern creation functions.
+ *
+ * `releaseInfo' is called when the pattern is deallocated. */
+typedef CALLBACK_API_C( void , CGDrawPatternProcPtr )(void *info, CGContextRef c);
+typedef CALLBACK_API_C( void , CGReleaseInfoProcPtr )(void * info);
+struct CGPatternCallbacks {
+ unsigned int version;
+ CGDrawPatternProcPtr drawPattern;
+ CGReleaseInfoProcPtr releaseInfo;
+};
+typedef struct CGPatternCallbacks CGPatternCallbacks;
+/* Create a pattern. */
+/*
+ * CGPatternCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGPatternRef )
+CGPatternCreate(
+ void * info,
+ CGRect bounds,
+ CGAffineTransform matrix,
+ float xStep,
+ float yStep,
+ CGPatternTiling tiling,
+ int isColored,
+ const CGPatternCallbacks * callbacks);
+
+
+/* Increment the retain count of `pattern' and return it. All patterns are
+ * created with an initial retain count of 1. */
+/*
+ * CGPatternRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGPatternRef )
+CGPatternRetain(CGPatternRef pattern);
+
+
+/* Decrement the retain count of `pattern'. If the retain count reaches 0,
+ * then free it and release any associated resources. */
+/*
+ * CGPatternRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+CGPatternRelease(CGPatternRef pattern);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGPATTERN__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGPATTERN__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGPATTERN__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGRemoteOperation.h b/include/qt/CGRemoteOperation.h
index 0f03935f7..1e5690227 100644
--- a/include/qt/CGRemoteOperation.h
+++ b/include/qt/CGRemoteOperation.h
@@ -1,17 +1,17 @@
/*
File: CGRemoteOperation.h
-
+
Contains: CoreGraphics remote operation
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGREMOTEOPERATION_H_
#define CGREMOTEOPERATION_H_
@@ -52,455 +52,452 @@ extern "C" {
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGREMOTEOPERATION__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGREMOTEOPERATION__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGREMOTEOPERATION__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGREMOTEOPERATION__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- typedef CGError CGEventErr;
- enum
- {
- CGEventNoErr = kCGErrorSuccess
- };
-
-
- /* Screen refresh or drawing notification */
- /*
- * Callback function pointer;
- * Declare your callback function in this form. When an area of the display is
- * modified or refreshed, your callback function will be invoked with a count
- * of the number of rectangles in the refreshed areas, and a list of the refreshed
- * rectangles. The rectangles are in global coordinates.
- *
- * Your function should not modify, deallocate or free memory pointed to by rectArray.
- *
- * The system continues to accumulate refreshed areas constantly. Whenever new
- * information is available, your callback function is invoked.The list of rects
- * passed to the callback function are cleared from the accumulated refreshed area
- * when the callback is made.
- *
- * This callback may be triggered by drawing operations, window movement, and
- * display reconfiguration.
- *
- * Bear in mind that a single rectangle may occupy multiple displays,
- * either by overlapping the displays, or by residing on coincident displays
- * when mirroring is active. Use the CGGetDisplaysWithRect() to determine
- * the displays a rectangle occupies.
- */
- typedef u_int32_t CGRectCount;
- typedef CALLBACK_API_C(void , CGScreenRefreshCallback)(CGRectCount count, const CGRect *rectArray, void *userParameter);
- /*
- * Register a callback function to be invoked when an area of the display
- * is refreshed, or modified. The function is invoked on the same thread
- * of execution that is processing events within your application.
- * userParameter is passed back with each invocation of the callback function.
- */
- /*
- * CGRegisterScreenRefreshCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGRegisterScreenRefreshCallback(
- CGScreenRefreshCallback callback,
- void * userParameter);
-
-
- /*
- * Remove a previously registered calback function.
- * Both the function and the userParameter must match the registered entry to be removed.
- */
- /*
- * CGUnregisterScreenRefreshCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGUnregisterScreenRefreshCallback(
- CGScreenRefreshCallback callback,
- void * userParameter);
-
-
-
- /*
- * In some applications it may be preferable to have a seperate thread wait for screen refresh data.
- * This function should be called on a thread seperate from the event processing thread.
- * If screen refresh callback functions are registered, this function should not be used.
- * The mechanisms are mutually exclusive.
- *
- * Deallocate screen refresh rects using CGReleaseScreenRefreshRects().
- *
- * Returns an error code if parameters are invalid or an error occurs in retrieving
- * dirty screen rects from the server.
- */
- /*
- * CGWaitForScreenRefreshRects()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGEventErr)
- CGWaitForScreenRefreshRects(
- CGRect ** pRectArray,
- CGRectCount * pCount);
-
-
- /*
- * Deallocate the list of rects recieved from CGWaitForScreenRefreshRects()
- */
- /*
- * CGReleaseScreenRefreshRects()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CGReleaseScreenRefreshRects(CGRect * rectArray);
-
-
- /*
- * Posting events: These functions post events into the system. Use for remote
- * operation and virtualization.
- *
- * Note that remote operation requires a valid connection to the server, which
- * must be owned by either the root/Administrator user or the logged in console
- * user. This means that your application must be running as root/Administrator
- * user or the logged in console user.
- */
-
- /*
- * Synthesize mouse events.
- * mouseCursorPosition should be the global coordinates the mouse is at for the event.
- * updateMouseCursor should be TRUE if the on-screen cursor
- * should be moved to mouseCursorPosition.
- *
- * Based on the values entered, the appropriate mouse-down, mouse-up, mouse-move,
- * or mouse-drag events are generated, by comparing the new state with the current state.
- *
- * The current implemementation of the event system supports a maximum of thirty-two buttons.
- * The buttonCount parameter should be followed by 'buttonCount' boolean_t values
- * indicating button state. The first value should reflect the state of the primary
- * button on the mouse. The second value, if any, should reflect the state of the secondary
- * mouse button (right), if any. A third value woule be the center button, and the remaining
- * buttons would be in USB device order.
- */
- typedef u_int32_t CGButtonCount;
- /*
- * CGPostMouseEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGEventErr)
- CGPostMouseEvent(
- CGPoint mouseCursorPosition,
- boolean_t updateMouseCursorPosition,
- CGButtonCount buttonCount,
- boolean_t mouseButtonDown,
- ...);
-
-
- /*
- * Synthesize scroll wheel events.
- *
- * The current implemementation of the event system supports a maximum of three wheels.
- *
- * The wheelCount parameter should be followed by 'wheelCount' 32 bit integer values
- * indicating wheel movements. The first value should reflect the state of the primary
- * wheel on the mouse. The second value, if any, should reflect the state of a secondary
- * mouse wheel, if any.
- *
- * Wheel movement is represented by small signed integer values,
- * typically in a range from -10 to +10. Large values may have unexpected results,
- * depending on the application that processes the event.
- */
- typedef u_int32_t CGWheelCount;
- /*
- * CGPostScrollWheelEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGEventErr)
- CGPostScrollWheelEvent(
- CGWheelCount wheelCount,
- int32_t wheel1,
- ...);
-
-
- /*
- * Synthesize keyboard events. Based on the values entered,
- * the appropriate key down, key up, and flags changed events are generated.
- * If keyChar is NUL (0), an apropriate value will be guessed at, based on the
- * default keymapping.
- *
- * All keystrokes needed to generate a character must be entered, including
- * SHIFT, CONTROL, OPTION, and COMMAND keys. For example, to produce a 'Z',
- * the SHIFT key must be down, the 'z' key must go down, and then the SHIFT
- * and 'z' key must be released:
- * CGPostKeyboardEvent( (CGCharCode)0, (CGKeyCode)56, true ); // shift down
- * CGPostKeyboardEvent( (CGCharCode)'Z', (CGKeyCode)6, true ); // 'z' down
- * CGPostKeyboardEvent( (CGCharCode)'Z', (CGKeyCode)6, false ); // 'z' up
- * CGPostKeyboardEvent( (CGCharCode)0, (CGKeyCode)56, false ); // 'shift up
- */
- typedef u_int16_t CGCharCode;
- typedef u_int16_t CGKeyCode;
- /*
- * CGPostKeyboardEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGEventErr)
- CGPostKeyboardEvent(
- CGCharCode keyChar,
- CGKeyCode virtualKey,
- boolean_t keyDown);
-
-
- /*
- * Warp the mouse cursor to the desired position in global
- * coordinates without generating events
- */
- /*
- * CGWarpMouseCursorPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGEventErr)
- CGWarpMouseCursorPosition(CGPoint newCursorPosition);
-
-
- /*
- * Remote operation may want to inhibit local events (events from
- * the machine's keyboard and mouse). This may be done either as a
- * explicit request (tracked per app) or as a short term side effect of
- * posting an event.
- *
- * CGInhibitLocalEvents() is typically used for long term remote operation
- * of a system, as in automated system testing or telecommuting applications.
- * Local device state changes are discarded.
- *
- * Local event inhibition is turned off if the app that requested it terminates.
- */
- /*
- * CGInhibitLocalEvents()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGEventErr)
- CGInhibitLocalEvents(boolean_t doInhibit);
-
-
- /*
- * Set the period of time in seconds that local hardware events (keyboard and mouse)
- * are supressed after posting an event. Defaults to 0.25 second.
- */
- /*
- * CGSetLocalEventsSuppressionInterval()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGEventErr)
- CGSetLocalEventsSuppressionInterval(CFTimeInterval seconds);
-
-
- /*
- * By default, the flags that indicate modifier key state (Command, Alt, Shift, etc.)
- * from the system's keyboard and from other event sources are ORed together as an event is
- * posted into the system, and current key and mouse button state is considered in generating new events.
- * This function allows your application to enable or disable the
- * merging of event state. When combining is turned off, the event state propagated in the events
- * posted by your app reflect state built up only by your app. The state within your app's generated
- * event will not be combined with the system's current state, so the system-wide state reflecting key
- * and mouse button state will remain unchanged
- *
- * When called with doCombineState equal to FALSE, this function initializes local (per application)
- * state tracking information to a state of all keys, modifiers, and mouse buttons up.
- *
- * When called with doCombineState equal to TRUE, the current global state of keys, modifiers,
- * and mouse buttons are used in generating events.
- */
- /*
- * CGEnableEventStateCombining()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGEventErr)
- CGEnableEventStateCombining(boolean_t doCombineState);
-
-
- /*
- * By default the system supresses local hardware events from the keyboard and mouse during
- * a short interval after a synthetic event is posted (see CGSetLocalEventsSuppressionInterval())
- * and while a synthetic mouse drag (mouse movement with the left/only mouse button down).
- * Some classes of applications may want to enable events from some of the local hardware.
- * For example, an app may want to post only mouse events, and so may wish to permit local
- * keyboard hardware events to pass through.
- *
- * This interface lets an app specify a state (event supression interval, or mouse drag), and
- * a mask of event categories to be passed through.
- */
- enum CGEventFilterMask
- {
- kCGEventFilterMaskPermitLocalMouseEvents = 0x00000001, /* Mouse, scroll wheel */
- kCGEventFilterMaskPermitLocalKeyboardEvents = 0x00000002, /* Alphanumeric keys and Command, Option, Control, Shift, AlphaLock */
- kCGEventFilterMaskPermitSystemDefinedEvents = 0x00000004, /* Power key, bezel buttons, sticky keys */
- kCGEventFilterMaskPermitAllEvents = kCGEventFilterMaskPermitLocalMouseEvents | kCGEventFilterMaskPermitLocalKeyboardEvents | kCGEventFilterMaskPermitSystemDefinedEvents
- };
- typedef enum CGEventFilterMask CGEventFilterMask;
-
- enum CGEventSupressionState
- {
- kCGEventSupressionStateSupressionInterval = 0,
- kCGEventSupressionStateRemoteMouseDrag = 1,
- kCGNumberOfEventSupressionStates = 2
- };
- typedef enum CGEventSupressionState CGEventSupressionState;
-
- /*
- * CGSetLocalEventsFilterDuringSupressionState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGEventErr)
- CGSetLocalEventsFilterDuringSupressionState(
- CGEventFilterMask filter,
- CGEventSupressionState state);
-
-
- /*
- * Helper function to connect or disconnect the mouse and mouse cursor.
- * CGAssociateMouseAndMouseCursorPosition(false) has the same effect
- * as the following, without actually modifying the supression interval:
- *
- * CGSetLocalEventsSuppressionInterval(MAX_DOUBLE);
- * CGWarpMouseCursorPosition(currentPosition);
- *
- * While disconnected, mouse move and drag events will reflect the current position of
- * the mouse cursor position, which will not change with mouse movement. Use the
- * <CoreGraphics/CGDirectDisplay.h" function:
- *
- * void CGGetLastMouseDelta( CGMouseDelta * deltaX, CGMouseDelta * deltaY );
- *
- * This will report mouse movement associated with the last mouse move or drag event.
- *
- * To update the display cursor position, use the function defined in this module:
- *
- * CGEventErr CGWarpMouseCursorPosition( CGPoint newCursorPosition );
- */
- /*
- * CGAssociateMouseAndMouseCursorPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGEventErr)
- CGAssociateMouseAndMouseCursorPosition(boolean_t connected);
-
-
- /*
- * Some classes of applications need to detect when the window server process dies, or
- * is not running. The easiest way to do this is to use a CFMachPortRef.
- *
- * If the CoreGraphics window server is not running, this function returns NULL.
- * If the server is running, a CFMachPortRef is returned.
- *
- * A program can register a callback function to use a CFMachPortRef to determine
- * when the CoreGraphics window server exits:
- *
- * static void handleWindowServerDeath( CFMachPortRef port, void *info )
- * {
- * printf( "Window Server port death detected!\n" );
- * CFRelease( port );
- * exit( 1 );
- * }
- *
- * static void watchForServerDeath()
- * {
- * CFMachPortRef port;
- *
- * port = CGWindowServerCFMachPort();
- * CFMachPortSetInvalidationCallBack( port, handleWindowServerDeath );
- * }
- *
- * Note that when the window server exits, there may be a few seconds during which
- * no window server is running, until the operating system starts a new
- * window server/loginwindow pair of processes. This function will return NULL
- * until a new window server is running.
- *
- * Multiple calls to this function may return multiple CFMachPortRefs, each referring
- * to the same Mach port. Multiple callbacks registered on multiple CFMachPortRefs
- * obtained in this way may fire in a nondetermanistic manner.
- *
- * Your program will need to run a CFRunLoop for the port death
- * callback to function. A program which does not use a CFRunLoop may use
- * CFMachPortIsValid(CFMachPortRef port) periodically to check if the port is valid.
- */
- /*
- * CGWindowServerCFMachPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CFMachPortRef)
- CGWindowServerCFMachPort(void);
+typedef CGError CGEventErr;
+enum {
+ CGEventNoErr = kCGErrorSuccess
+};
+
+
+/* Screen refresh or drawing notification */
+/*
+ * Callback function pointer;
+ * Declare your callback function in this form. When an area of the display is
+ * modified or refreshed, your callback function will be invoked with a count
+ * of the number of rectangles in the refreshed areas, and a list of the refreshed
+ * rectangles. The rectangles are in global coordinates.
+ *
+ * Your function should not modify, deallocate or free memory pointed to by rectArray.
+ *
+ * The system continues to accumulate refreshed areas constantly. Whenever new
+ * information is available, your callback function is invoked.The list of rects
+ * passed to the callback function are cleared from the accumulated refreshed area
+ * when the callback is made.
+ *
+ * This callback may be triggered by drawing operations, window movement, and
+ * display reconfiguration.
+ *
+ * Bear in mind that a single rectangle may occupy multiple displays,
+ * either by overlapping the displays, or by residing on coincident displays
+ * when mirroring is active. Use the CGGetDisplaysWithRect() to determine
+ * the displays a rectangle occupies.
+ */
+typedef u_int32_t CGRectCount;
+typedef CALLBACK_API_C( void , CGScreenRefreshCallback )(CGRectCount count, const CGRect *rectArray, void *userParameter);
+/*
+ * Register a callback function to be invoked when an area of the display
+ * is refreshed, or modified. The function is invoked on the same thread
+ * of execution that is processing events within your application.
+ * userParameter is passed back with each invocation of the callback function.
+ */
+/*
+ * CGRegisterScreenRefreshCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGRegisterScreenRefreshCallback(
+ CGScreenRefreshCallback callback,
+ void * userParameter);
+
+
+/*
+ * Remove a previously registered calback function.
+ * Both the function and the userParameter must match the registered entry to be removed.
+ */
+/*
+ * CGUnregisterScreenRefreshCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGUnregisterScreenRefreshCallback(
+ CGScreenRefreshCallback callback,
+ void * userParameter);
+
+
+
+/*
+ * In some applications it may be preferable to have a seperate thread wait for screen refresh data.
+ * This function should be called on a thread seperate from the event processing thread.
+ * If screen refresh callback functions are registered, this function should not be used.
+ * The mechanisms are mutually exclusive.
+ *
+ * Deallocate screen refresh rects using CGReleaseScreenRefreshRects().
+ *
+ * Returns an error code if parameters are invalid or an error occurs in retrieving
+ * dirty screen rects from the server.
+ */
+/*
+ * CGWaitForScreenRefreshRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGWaitForScreenRefreshRects(
+ CGRect ** pRectArray,
+ CGRectCount * pCount);
+
+
+/*
+ * Deallocate the list of rects recieved from CGWaitForScreenRefreshRects()
+ */
+/*
+ * CGReleaseScreenRefreshRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CGReleaseScreenRefreshRects(CGRect * rectArray);
+
+
+/*
+ * Posting events: These functions post events into the system. Use for remote
+ * operation and virtualization.
+ *
+ * Note that remote operation requires a valid connection to the server, which
+ * must be owned by either the root/Administrator user or the logged in console
+ * user. This means that your application must be running as root/Administrator
+ * user or the logged in console user.
+ */
+
+/*
+ * Synthesize mouse events.
+ * mouseCursorPosition should be the global coordinates the mouse is at for the event.
+ * updateMouseCursor should be TRUE if the on-screen cursor
+ * should be moved to mouseCursorPosition.
+ *
+ * Based on the values entered, the appropriate mouse-down, mouse-up, mouse-move,
+ * or mouse-drag events are generated, by comparing the new state with the current state.
+ *
+ * The current implemementation of the event system supports a maximum of thirty-two buttons.
+ * The buttonCount parameter should be followed by 'buttonCount' boolean_t values
+ * indicating button state. The first value should reflect the state of the primary
+ * button on the mouse. The second value, if any, should reflect the state of the secondary
+ * mouse button (right), if any. A third value woule be the center button, and the remaining
+ * buttons would be in USB device order.
+ */
+typedef u_int32_t CGButtonCount;
+/*
+ * CGPostMouseEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGPostMouseEvent(
+ CGPoint mouseCursorPosition,
+ boolean_t updateMouseCursorPosition,
+ CGButtonCount buttonCount,
+ boolean_t mouseButtonDown,
+ ...);
+
+
+/*
+ * Synthesize scroll wheel events.
+ *
+ * The current implemementation of the event system supports a maximum of three wheels.
+ *
+ * The wheelCount parameter should be followed by 'wheelCount' 32 bit integer values
+ * indicating wheel movements. The first value should reflect the state of the primary
+ * wheel on the mouse. The second value, if any, should reflect the state of a secondary
+ * mouse wheel, if any.
+ *
+ * Wheel movement is represented by small signed integer values,
+ * typically in a range from -10 to +10. Large values may have unexpected results,
+ * depending on the application that processes the event.
+ */
+typedef u_int32_t CGWheelCount;
+/*
+ * CGPostScrollWheelEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGPostScrollWheelEvent(
+ CGWheelCount wheelCount,
+ int32_t wheel1,
+ ...);
+
+
+/*
+ * Synthesize keyboard events. Based on the values entered,
+ * the appropriate key down, key up, and flags changed events are generated.
+ * If keyChar is NUL (0), an apropriate value will be guessed at, based on the
+ * default keymapping.
+ *
+ * All keystrokes needed to generate a character must be entered, including
+ * SHIFT, CONTROL, OPTION, and COMMAND keys. For example, to produce a 'Z',
+ * the SHIFT key must be down, the 'z' key must go down, and then the SHIFT
+ * and 'z' key must be released:
+ * CGPostKeyboardEvent( (CGCharCode)0, (CGKeyCode)56, true ); // shift down
+ * CGPostKeyboardEvent( (CGCharCode)'Z', (CGKeyCode)6, true ); // 'z' down
+ * CGPostKeyboardEvent( (CGCharCode)'Z', (CGKeyCode)6, false ); // 'z' up
+ * CGPostKeyboardEvent( (CGCharCode)0, (CGKeyCode)56, false ); // 'shift up
+ */
+typedef u_int16_t CGCharCode;
+typedef u_int16_t CGKeyCode;
+/*
+ * CGPostKeyboardEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGPostKeyboardEvent(
+ CGCharCode keyChar,
+ CGKeyCode virtualKey,
+ boolean_t keyDown);
+
+
+/*
+ * Warp the mouse cursor to the desired position in global
+ * coordinates without generating events
+ */
+/*
+ * CGWarpMouseCursorPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGWarpMouseCursorPosition(CGPoint newCursorPosition);
+
+
+/*
+ * Remote operation may want to inhibit local events (events from
+ * the machine's keyboard and mouse). This may be done either as a
+ * explicit request (tracked per app) or as a short term side effect of
+ * posting an event.
+ *
+ * CGInhibitLocalEvents() is typically used for long term remote operation
+ * of a system, as in automated system testing or telecommuting applications.
+ * Local device state changes are discarded.
+ *
+ * Local event inhibition is turned off if the app that requested it terminates.
+ */
+/*
+ * CGInhibitLocalEvents()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGInhibitLocalEvents(boolean_t doInhibit);
+
+
+/*
+ * Set the period of time in seconds that local hardware events (keyboard and mouse)
+ * are supressed after posting an event. Defaults to 0.25 second.
+ */
+/*
+ * CGSetLocalEventsSuppressionInterval()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGSetLocalEventsSuppressionInterval(CFTimeInterval seconds);
+
+
+/*
+ * By default, the flags that indicate modifier key state (Command, Alt, Shift, etc.)
+ * from the system's keyboard and from other event sources are ORed together as an event is
+ * posted into the system, and current key and mouse button state is considered in generating new events.
+ * This function allows your application to enable or disable the
+ * merging of event state. When combining is turned off, the event state propagated in the events
+ * posted by your app reflect state built up only by your app. The state within your app's generated
+ * event will not be combined with the system's current state, so the system-wide state reflecting key
+ * and mouse button state will remain unchanged
+ *
+ * When called with doCombineState equal to FALSE, this function initializes local (per application)
+ * state tracking information to a state of all keys, modifiers, and mouse buttons up.
+ *
+ * When called with doCombineState equal to TRUE, the current global state of keys, modifiers,
+ * and mouse buttons are used in generating events.
+ */
+/*
+ * CGEnableEventStateCombining()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGEnableEventStateCombining(boolean_t doCombineState);
+
+
+/*
+ * By default the system supresses local hardware events from the keyboard and mouse during
+ * a short interval after a synthetic event is posted (see CGSetLocalEventsSuppressionInterval())
+ * and while a synthetic mouse drag (mouse movement with the left/only mouse button down).
+ * Some classes of applications may want to enable events from some of the local hardware.
+ * For example, an app may want to post only mouse events, and so may wish to permit local
+ * keyboard hardware events to pass through.
+ *
+ * This interface lets an app specify a state (event supression interval, or mouse drag), and
+ * a mask of event categories to be passed through.
+ */
+enum CGEventFilterMask {
+ kCGEventFilterMaskPermitLocalMouseEvents = 0x00000001, /* Mouse, scroll wheel */
+ kCGEventFilterMaskPermitLocalKeyboardEvents = 0x00000002, /* Alphanumeric keys and Command, Option, Control, Shift, AlphaLock */
+ kCGEventFilterMaskPermitSystemDefinedEvents = 0x00000004, /* Power key, bezel buttons, sticky keys */
+ kCGEventFilterMaskPermitAllEvents = kCGEventFilterMaskPermitLocalMouseEvents | kCGEventFilterMaskPermitLocalKeyboardEvents | kCGEventFilterMaskPermitSystemDefinedEvents
+};
+typedef enum CGEventFilterMask CGEventFilterMask;
+
+enum CGEventSupressionState {
+ kCGEventSupressionStateSupressionInterval = 0,
+ kCGEventSupressionStateRemoteMouseDrag = 1,
+ kCGNumberOfEventSupressionStates = 2
+};
+typedef enum CGEventSupressionState CGEventSupressionState;
+
+/*
+ * CGSetLocalEventsFilterDuringSupressionState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGSetLocalEventsFilterDuringSupressionState(
+ CGEventFilterMask filter,
+ CGEventSupressionState state);
+
+
+/*
+ * Helper function to connect or disconnect the mouse and mouse cursor.
+ * CGAssociateMouseAndMouseCursorPosition(false) has the same effect
+ * as the following, without actually modifying the supression interval:
+ *
+ * CGSetLocalEventsSuppressionInterval(MAX_DOUBLE);
+ * CGWarpMouseCursorPosition(currentPosition);
+ *
+ * While disconnected, mouse move and drag events will reflect the current position of
+ * the mouse cursor position, which will not change with mouse movement. Use the
+ * <CoreGraphics/CGDirectDisplay.h" function:
+ *
+ * void CGGetLastMouseDelta( CGMouseDelta * deltaX, CGMouseDelta * deltaY );
+ *
+ * This will report mouse movement associated with the last mouse move or drag event.
+ *
+ * To update the display cursor position, use the function defined in this module:
+ *
+ * CGEventErr CGWarpMouseCursorPosition( CGPoint newCursorPosition );
+ */
+/*
+ * CGAssociateMouseAndMouseCursorPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGEventErr )
+CGAssociateMouseAndMouseCursorPosition(boolean_t connected);
+
+
+/*
+ * Some classes of applications need to detect when the window server process dies, or
+ * is not running. The easiest way to do this is to use a CFMachPortRef.
+ *
+ * If the CoreGraphics window server is not running, this function returns NULL.
+ * If the server is running, a CFMachPortRef is returned.
+ *
+ * A program can register a callback function to use a CFMachPortRef to determine
+ * when the CoreGraphics window server exits:
+ *
+ * static void handleWindowServerDeath( CFMachPortRef port, void *info )
+ * {
+ * printf( "Window Server port death detected!\n" );
+ * CFRelease( port );
+ * exit( 1 );
+ * }
+ *
+ * static void watchForServerDeath()
+ * {
+ * CFMachPortRef port;
+ *
+ * port = CGWindowServerCFMachPort();
+ * CFMachPortSetInvalidationCallBack( port, handleWindowServerDeath );
+ * }
+ *
+ * Note that when the window server exits, there may be a few seconds during which
+ * no window server is running, until the operating system starts a new
+ * window server/loginwindow pair of processes. This function will return NULL
+ * until a new window server is running.
+ *
+ * Multiple calls to this function may return multiple CFMachPortRefs, each referring
+ * to the same Mach port. Multiple callbacks registered on multiple CFMachPortRefs
+ * obtained in this way may fire in a nondetermanistic manner.
+ *
+ * Your program will need to run a CFRunLoop for the port death
+ * callback to function. A program which does not use a CFRunLoop may use
+ * CFMachPortIsValid(CFMachPortRef port) periodically to check if the port is valid.
+ */
+/*
+ * CGWindowServerCFMachPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CFMachPortRef )
+CGWindowServerCFMachPort(void);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGREMOTEOPERATION__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGREMOTEOPERATION__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGREMOTEOPERATION__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CGWindowLevel.h b/include/qt/CGWindowLevel.h
index d243138c7..9dfec8201 100644
--- a/include/qt/CGWindowLevel.h
+++ b/include/qt/CGWindowLevel.h
@@ -1,17 +1,17 @@
/*
File: CGWindowLevel.h
-
+
Contains: CoreGraphics window levels
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef CGWINDOWLEVEL_H_
@@ -37,77 +37,75 @@ extern "C" {
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __CGWINDOWLEVEL__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __CGWINDOWLEVEL__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __CGWINDOWLEVEL__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __CGWINDOWLEVEL__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /*
- * Windows may be assigned to a particular level. When assigned to a level,
- * the window is ordered relative to all other windows in that level.
- * Windows with a higher level are sorted in front of windows with a lower
- * level.
- *
- * A common set of window levels is defined here for use within higher
- * level frameworks. The levels are accessed via a key and function,
- * so that levels may be changed or adjusted in future releases without
- * breaking binary compatability.
- */
- typedef int32_t CGWindowLevel;
- typedef int32_t CGWindowLevelKey;
- enum _CGCommonWindowLevelKey
- {
- kCGBaseWindowLevelKey = 0,
- kCGMinimumWindowLevelKey = 1,
- kCGDesktopWindowLevelKey = 2,
- kCGBackstopMenuLevelKey = 3,
- kCGNormalWindowLevelKey = 4,
- kCGFloatingWindowLevelKey = 5,
- kCGTornOffMenuWindowLevelKey = 6,
- kCGDockWindowLevelKey = 7,
- kCGMainMenuWindowLevelKey = 8,
- kCGStatusWindowLevelKey = 9,
- kCGModalPanelWindowLevelKey = 10,
- kCGPopUpMenuWindowLevelKey = 11,
- kCGDraggingWindowLevelKey = 12,
- kCGScreenSaverWindowLevelKey = 13,
- kCGMaximumWindowLevelKey = 14,
- kCGOverlayWindowLevelKey = 15,
- kCGHelpWindowLevelKey = 16,
- kCGUtilityWindowLevelKey = 17,
- kCGDesktopIconWindowLevelKey = 18,
- kCGNumberOfWindowLevelKeys = 19 /* Internal bookkeeping; must be last */
- };
- typedef enum _CGCommonWindowLevelKey _CGCommonWindowLevelKey;
-
- /*
- * CGWindowLevelForKey()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGWindowLevel)
- CGWindowLevelForKey(CGWindowLevelKey key);
-
-
- /* number of levels above kCGMaximumWindowLevel reserved for internal use */
- enum
- {
- kCGNumReservedWindowLevels = 16
- };
-
- /* Definitions of older constant values as calls */
+/*
+ * Windows may be assigned to a particular level. When assigned to a level,
+ * the window is ordered relative to all other windows in that level.
+ * Windows with a higher level are sorted in front of windows with a lower
+ * level.
+ *
+ * A common set of window levels is defined here for use within higher
+ * level frameworks. The levels are accessed via a key and function,
+ * so that levels may be changed or adjusted in future releases without
+ * breaking binary compatability.
+ */
+typedef int32_t CGWindowLevel;
+typedef int32_t CGWindowLevelKey;
+enum _CGCommonWindowLevelKey {
+ kCGBaseWindowLevelKey = 0,
+ kCGMinimumWindowLevelKey = 1,
+ kCGDesktopWindowLevelKey = 2,
+ kCGBackstopMenuLevelKey = 3,
+ kCGNormalWindowLevelKey = 4,
+ kCGFloatingWindowLevelKey = 5,
+ kCGTornOffMenuWindowLevelKey = 6,
+ kCGDockWindowLevelKey = 7,
+ kCGMainMenuWindowLevelKey = 8,
+ kCGStatusWindowLevelKey = 9,
+ kCGModalPanelWindowLevelKey = 10,
+ kCGPopUpMenuWindowLevelKey = 11,
+ kCGDraggingWindowLevelKey = 12,
+ kCGScreenSaverWindowLevelKey = 13,
+ kCGMaximumWindowLevelKey = 14,
+ kCGOverlayWindowLevelKey = 15,
+ kCGHelpWindowLevelKey = 16,
+ kCGUtilityWindowLevelKey = 17,
+ kCGDesktopIconWindowLevelKey = 18,
+ kCGNumberOfWindowLevelKeys = 19 /* Internal bookkeeping; must be last */
+};
+typedef enum _CGCommonWindowLevelKey _CGCommonWindowLevelKey;
+
+/*
+ * CGWindowLevelForKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGWindowLevel )
+CGWindowLevelForKey(CGWindowLevelKey key);
+
+
+/* number of levels above kCGMaximumWindowLevel reserved for internal use */
+enum {
+ kCGNumReservedWindowLevels = 16
+};
+
+/* Definitions of older constant values as calls */
#define kCGBaseWindowLevel CGWindowLevelForKey(kCGBaseWindowLevelKey) /* LONG_MIN */
#define kCGMinimumWindowLevel CGWindowLevelForKey(kCGMinimumWindowLevelKey) /* (kCGBaseWindowLevel + 1) */
#define kCGDesktopWindowLevel CGWindowLevelForKey(kCGDesktopWindowLevelKey) /* kCGMinimumWindowLevel */
@@ -129,14 +127,14 @@ extern "C" {
#define kCGMaximumWindowLevel CGWindowLevelForKey(kCGMaximumWindowLevelKey) /* LONG_MAX - kCGNumReservedWindowLevels */
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __CGWINDOWLEVEL__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __CGWINDOWLEVEL__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__CGWINDOWLEVEL__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CMApplication.h b/include/qt/CMApplication.h
index 0818d3ee1..407c1582d 100644
--- a/include/qt/CMApplication.h
+++ b/include/qt/CMApplication.h
@@ -1,17 +1,17 @@
/*
File: CMApplication.h
-
+
Contains: Color Matching Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CMAPPLICATION__
#define __CMAPPLICATION__
@@ -68,2614 +68,2534 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kDefaultCMMSignature = FOUR_CHAR_CODE('appl')
- };
-
- /* Macintosh 68K trap word */
- enum
- {
- cmTrap = 0xABEE
- };
-
-
- /* PicComment IDs */
- enum
- {
- cmBeginProfile = 220,
- cmEndProfile = 221,
- cmEnableMatching = 222,
- cmDisableMatching = 223,
- cmComment = 224
- };
-
- /* PicComment selectors for cmComment */
- enum
- {
- cmBeginProfileSel = 0,
- cmContinueProfileSel = 1,
- cmEndProfileSel = 2,
- cmProfileIdentifierSel = 3
- };
-
-
- /* Defines for version 1.0 CMProfileSearchRecord.fieldMask */
- enum
- {
- cmMatchCMMType = 0x00000001,
- cmMatchApplProfileVersion = 0x00000002,
- cmMatchDataType = 0x00000004,
- cmMatchDeviceType = 0x00000008,
- cmMatchDeviceManufacturer = 0x00000010,
- cmMatchDeviceModel = 0x00000020,
- cmMatchDeviceAttributes = 0x00000040,
- cmMatchFlags = 0x00000080,
- cmMatchOptions = 0x00000100,
- cmMatchWhite = 0x00000200,
- cmMatchBlack = 0x00000400
- };
-
- /* Defines for version 2.0 CMSearchRecord.searchMask */
- enum
- {
- cmMatchAnyProfile = 0x00000000,
- cmMatchProfileCMMType = 0x00000001,
- cmMatchProfileClass = 0x00000002,
- cmMatchDataColorSpace = 0x00000004,
- cmMatchProfileConnectionSpace = 0x00000008,
- cmMatchManufacturer = 0x00000010,
- cmMatchModel = 0x00000020,
- cmMatchAttributes = 0x00000040,
- cmMatchProfileFlags = 0x00000080
- };
-
-
- /* Flags for PostScript-related functions */
- enum
- {
- cmPS7bit = 1,
- cmPS8bit = 2
- };
-
- /* Flags for profile embedding functions */
- enum
- {
- cmEmbedWholeProfile = 0x00000000,
- cmEmbedProfileIdentifier = 0x00000001
- };
-
- /* Commands for CMFlattenUPP() */
- enum
- {
- cmOpenReadSpool = 1,
- cmOpenWriteSpool = 2,
- cmReadSpool = 3,
- cmWriteSpool = 4,
- cmCloseSpool = 5
- };
-
- /* Commands for CMAccessUPP() */
- enum
- {
- cmOpenReadAccess = 1,
- cmOpenWriteAccess = 2,
- cmReadAccess = 3,
- cmWriteAccess = 4,
- cmCloseAccess = 5,
- cmCreateNewAccess = 6,
- cmAbortWriteAccess = 7,
- cmBeginAccess = 8,
- cmEndAccess = 9
- };
-
-
- /* Use types for CMGet/SetDefaultProfileByUse() */
- enum
- {
- cmInputUse = FOUR_CHAR_CODE('inpt'),
- cmOutputUse = FOUR_CHAR_CODE('outp'),
- cmDisplayUse = FOUR_CHAR_CODE('dply'),
- cmProofUse = FOUR_CHAR_CODE('pruf')
- };
-
-
- /* Union of 1.0 2.0, and 4.0 profile header variants */
- union CMAppleProfileHeader
- {
- CMHeader cm1;
- CM2Header cm2;
- CM4Header cm4;
- };
- typedef union CMAppleProfileHeader CMAppleProfileHeader;
- /* CWConcatColorWorld() definitions */
- struct CMConcatProfileSet
- {
- UInt16 keyIndex; /* Zero-based */
- UInt16 count; /* Min 1 */
- CMProfileRef profileSet[1]; /* Variable. Ordered from Source -> Dest */
- };
- typedef struct CMConcatProfileSet CMConcatProfileSet;
- /* NCWConcatColorWorld() definitions */
- struct NCMConcatProfileSpec
- {
- UInt32 renderingIntent; /* renderingIntent override */
- UInt32 transformTag; /* transform enumerations defined below */
- CMProfileRef profile; /* profile */
- };
- typedef struct NCMConcatProfileSpec NCMConcatProfileSpec;
- struct NCMConcatProfileSet
- {
- OSType cmm; /* e.g. 'KCMS', 'appl', ... uniquely ids the cmm, or 0000 */
- UInt32 flags; /* specify quality, lookup only, no gamut checking ... */
- UInt32 flagsMask; /* which bits of 'flags' to use to override profile */
- UInt32 profileCount; /* how many ProfileSpecs in the following set */
- NCMConcatProfileSpec profileSpecs[1]; /* Variable. Ordered from Source -> Dest */
- };
- typedef struct NCMConcatProfileSet NCMConcatProfileSet;
- enum
- {
- kNoTransform = 0, /* Not used */
- kUseAtoB = 1, /* Use 'A2B*' tag from this profile or equivalent */
- kUseBtoA = 2, /* Use 'B2A*' tag from this profile or equivalent */
- kUseBtoB = 3, /* Use 'pre*' tag from this profile or equivalent */
- /* For typical device profiles the following synonyms may be useful */
- kDeviceToPCS = kUseAtoB, /* Device Dependent to Device Independent */
- kPCSToDevice = kUseBtoA, /* Device Independent to Device Dependent */
- kPCSToPCS = kUseBtoB, /* Independent, through device's gamut */
- kUseProfileIntent = (long)0xFFFFFFFF /* For renderingIntent in NCMConcatProfileSpec */
- };
-
-
- /* ColorSync color data types */
- struct CMRGBColor
- {
- UInt16 red; /* 0..65535 */
- UInt16 green;
- UInt16 blue;
- };
- typedef struct CMRGBColor CMRGBColor;
- struct CMCMYKColor
- {
- UInt16 cyan; /* 0..65535 */
- UInt16 magenta;
- UInt16 yellow;
- UInt16 black;
- };
- typedef struct CMCMYKColor CMCMYKColor;
- struct CMCMYColor
- {
- UInt16 cyan; /* 0..65535 */
- UInt16 magenta;
- UInt16 yellow;
- };
- typedef struct CMCMYColor CMCMYColor;
- struct CMHLSColor
- {
- UInt16 hue; /* 0..65535. Fraction of circle. Red at 0 */
- UInt16 lightness; /* 0..65535 */
- UInt16 saturation; /* 0..65535 */
- };
- typedef struct CMHLSColor CMHLSColor;
- struct CMHSVColor
- {
- UInt16 hue; /* 0..65535. Fraction of circle. Red at 0 */
- UInt16 saturation; /* 0..65535 */
- UInt16 value; /* 0..65535 */
- };
- typedef struct CMHSVColor CMHSVColor;
- struct CMLabColor
- {
- UInt16 L; /* 0..65535 maps to 0..100 */
- UInt16 a; /* 0..65535 maps to -128..127.996 */
- UInt16 b; /* 0..65535 maps to -128..127.996 */
- };
- typedef struct CMLabColor CMLabColor;
- struct CMLuvColor
- {
- UInt16 L; /* 0..65535 maps to 0..100 */
- UInt16 u; /* 0..65535 maps to -128..127.996 */
- UInt16 v; /* 0..65535 maps to -128..127.996 */
- };
- typedef struct CMLuvColor CMLuvColor;
- struct CMYxyColor
- {
- UInt16 capY; /* 0..65535 maps to 0..1 */
- UInt16 x; /* 0..65535 maps to 0..1 */
- UInt16 y; /* 0..65535 maps to 0..1 */
- };
- typedef struct CMYxyColor CMYxyColor;
- struct CMGrayColor
- {
- UInt16 gray; /* 0..65535 */
- };
- typedef struct CMGrayColor CMGrayColor;
- struct CMMultichannel5Color
- {
- UInt8 components[5]; /* 0..255 */
- };
- typedef struct CMMultichannel5Color CMMultichannel5Color;
- struct CMMultichannel6Color
- {
- UInt8 components[6]; /* 0..255 */
- };
- typedef struct CMMultichannel6Color CMMultichannel6Color;
- struct CMMultichannel7Color
- {
- UInt8 components[7]; /* 0..255 */
- };
- typedef struct CMMultichannel7Color CMMultichannel7Color;
- struct CMMultichannel8Color
- {
- UInt8 components[8]; /* 0..255 */
- };
- typedef struct CMMultichannel8Color CMMultichannel8Color;
- struct CMNamedColor
- {
- UInt32 namedColorIndex; /* 0..a lot */
- };
- typedef struct CMNamedColor CMNamedColor;
- union CMColor
- {
- CMRGBColor rgb;
- CMHSVColor hsv;
- CMHLSColor hls;
- CMXYZColor XYZ;
- CMLabColor Lab;
- CMLuvColor Luv;
- CMYxyColor Yxy;
- CMCMYKColor cmyk;
- CMCMYColor cmy;
- CMGrayColor gray;
- CMMultichannel5Color mc5;
- CMMultichannel6Color mc6;
- CMMultichannel7Color mc7;
- CMMultichannel8Color mc8;
- CMNamedColor namedColor;
- };
- typedef union CMColor CMColor;
- /* GetIndexedProfile() search definition */
- struct CMProfileSearchRecord
- {
- CMHeader header;
- UInt32 fieldMask;
- UInt32 reserved[2];
- };
- typedef struct CMProfileSearchRecord CMProfileSearchRecord;
- typedef CMProfileSearchRecord * CMProfileSearchRecordPtr;
- typedef CMProfileSearchRecordPtr * CMProfileSearchRecordHandle;
- /* CMNewProfileSearch() search definition */
- struct CMSearchRecord
- {
- OSType CMMType;
- OSType profileClass;
- OSType dataColorSpace;
- OSType profileConnectionSpace;
- UInt32 deviceManufacturer;
- UInt32 deviceModel;
- UInt32 deviceAttributes[2];
- UInt32 profileFlags;
- UInt32 searchMask;
- CMProfileFilterUPP filter;
- };
- typedef struct CMSearchRecord CMSearchRecord;
- /* CMMIterateUPP() structure */
- struct CMMInfo
- {
- UInt32 dataSize; /* Size of this structure - compatibility*/
- OSType CMMType; /* Signature, e.g. 'appl', 'HDM ' or 'KCMS'*/
- OSType CMMMfr; /* Vendor, e.g. 'appl'*/
- UInt32 CMMVersion; /* CMM version number*/
- unsigned char ASCIIName[32]; /* pascal string - name*/
- unsigned char ASCIIDesc[256]; /* pascal string - description or copyright*/
- UniCharCount UniCodeNameCount; /* count of UniChars in following array*/
- UniChar UniCodeName[32]; /* the name in UniCode chars*/
- UniCharCount UniCodeDescCount; /* count of UniChars in following array*/
- UniChar UniCodeDesc[256]; /* the description in UniCode chars*/
- };
- typedef struct CMMInfo CMMInfo;
- /* GetCWInfo() structures */
- struct CMMInfoRecord
- {
- OSType CMMType;
- long CMMVersion;
- };
- typedef struct CMMInfoRecord CMMInfoRecord;
- struct CMCWInfoRecord
- {
- UInt32 cmmCount;
- CMMInfoRecord cmmInfo[2];
- };
- typedef struct CMCWInfoRecord CMCWInfoRecord;
- /* profile identifier structures */
- struct CMProfileIdentifier
- {
- CM2Header profileHeader;
- CMDateTime calibrationDate;
- UInt32 ASCIIProfileDescriptionLen;
- char ASCIIProfileDescription[1]; /* variable length */
- };
- typedef struct CMProfileIdentifier CMProfileIdentifier;
- typedef CMProfileIdentifier * CMProfileIdentifierPtr;
- /* colorspace masks */
- enum
- {
- cmColorSpaceSpaceMask = 0x0000003F,
- cmColorSpacePremulAlphaMask = 0x00000040,
- cmColorSpaceAlphaMask = 0x00000080,
- cmColorSpaceSpaceAndAlphaMask = 0x000000FF,
- cmColorSpacePackingMask = 0x0000FF00,
- cmColorSpaceEncodingMask = 0x000F0000,
- cmColorSpaceReservedMask = (long)0xFFF00000
- };
-
- /* packing formats */
- enum
- {
- cmNoColorPacking = 0x0000,
- cmWord5ColorPacking = 0x0500,
- cmWord565ColorPacking = 0x0600,
- cmLong8ColorPacking = 0x0800,
- cmLong10ColorPacking = 0x0A00,
- cmAlphaFirstPacking = 0x1000,
- cmOneBitDirectPacking = 0x0B00,
- cmAlphaLastPacking = 0x0000,
- cm8_8ColorPacking = 0x2800,
- cm16_8ColorPacking = 0x2000,
- cm24_8ColorPacking = 0x2100,
- cm32_8ColorPacking = cmLong8ColorPacking,
- cm40_8ColorPacking = 0x2200,
- cm48_8ColorPacking = 0x2300,
- cm56_8ColorPacking = 0x2400,
- cm64_8ColorPacking = 0x2500,
- cm32_16ColorPacking = 0x2600,
- cm48_16ColorPacking = 0x2900,
- cm64_16ColorPacking = 0x2A00,
- cm32_32ColorPacking = 0x2700,
- cmLittleEndianPacking = 0x4000,
- cmReverseChannelPacking = 0x8000
- };
-
- /* channel encoding format */
- enum
- {
- cmSRGB16ChannelEncoding = 0x00010000 /* used for sRGB64 encoding ( .3.12 format)*/
- };
-
- /* general colorspaces */
- enum
- {
- cmNoSpace = 0x0000,
- cmRGBSpace = 0x0001,
- cmCMYKSpace = 0x0002,
- cmHSVSpace = 0x0003,
- cmHLSSpace = 0x0004,
- cmYXYSpace = 0x0005,
- cmXYZSpace = 0x0006,
- cmLUVSpace = 0x0007,
- cmLABSpace = 0x0008,
- cmReservedSpace1 = 0x0009,
- cmGraySpace = 0x000A,
- cmReservedSpace2 = 0x000B,
- cmGamutResultSpace = 0x000C,
- cmNamedIndexedSpace = 0x0010,
- cmMCFiveSpace = 0x0011,
- cmMCSixSpace = 0x0012,
- cmMCSevenSpace = 0x0013,
- cmMCEightSpace = 0x0014,
- cmAlphaPmulSpace = 0x0040,
- cmAlphaSpace = 0x0080,
- cmRGBASpace = cmRGBSpace + cmAlphaSpace,
- cmGrayASpace = cmGraySpace + cmAlphaSpace,
- cmRGBAPmulSpace = cmRGBASpace + cmAlphaPmulSpace,
- cmGrayAPmulSpace = cmGrayASpace + cmAlphaPmulSpace
- };
-
- /* supported CMBitmapColorSpaces - Each of the following is a */
- /* combination of a general colospace and a packing formats. */
- /* Each can also be or'd with cmReverseChannelPacking. */
- enum
- {
- cmGray8Space = cmGraySpace + cm8_8ColorPacking,
- cmGray16Space = cmGraySpace,
- cmGray16LSpace = cmGraySpace + cmLittleEndianPacking,
- cmGrayA16Space = cmGrayASpace + cm16_8ColorPacking,
- cmGrayA32Space = cmGrayASpace,
- cmGrayA32LSpace = cmGrayASpace + cmLittleEndianPacking,
- cmGrayA16PmulSpace = cmGrayAPmulSpace + cm16_8ColorPacking,
- cmGrayA32PmulSpace = cmGrayAPmulSpace,
- cmGrayA32LPmulSpace = cmGrayAPmulSpace + cmLittleEndianPacking,
- cmRGB16Space = cmRGBSpace + cmWord5ColorPacking,
- cmRGB16LSpace = cmRGBSpace + cmWord5ColorPacking + cmLittleEndianPacking,
- cmRGB565Space = cmRGBSpace + cmWord565ColorPacking,
- cmRGB565LSpace = cmRGBSpace + cmWord565ColorPacking + cmLittleEndianPacking,
- cmRGB24Space = cmRGBSpace + cm24_8ColorPacking,
- cmRGB32Space = cmRGBSpace + cm32_8ColorPacking,
- cmRGB48Space = cmRGBSpace + cm48_16ColorPacking,
- cmRGB48LSpace = cmRGBSpace + cm48_16ColorPacking + cmLittleEndianPacking,
- cmARGB32Space = cmRGBASpace + cm32_8ColorPacking + cmAlphaFirstPacking,
- cmARGB64Space = cmRGBASpace + cm64_16ColorPacking + cmAlphaFirstPacking,
- cmARGB64LSpace = cmRGBASpace + cm64_16ColorPacking + cmAlphaFirstPacking + cmLittleEndianPacking,
- cmRGBA32Space = cmRGBASpace + cm32_8ColorPacking + cmAlphaLastPacking,
- cmRGBA64Space = cmRGBASpace + cm64_16ColorPacking + cmAlphaLastPacking,
- cmRGBA64LSpace = cmRGBASpace + cm64_16ColorPacking + cmAlphaLastPacking + cmLittleEndianPacking,
- cmARGB32PmulSpace = cmRGBAPmulSpace + cm32_8ColorPacking + cmAlphaFirstPacking,
- cmARGB64PmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaFirstPacking,
- cmARGB64LPmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaFirstPacking + cmLittleEndianPacking,
- cmRGBA32PmulSpace = cmRGBAPmulSpace + cm32_8ColorPacking + cmAlphaLastPacking,
- cmRGBA64PmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaLastPacking,
- cmRGBA64LPmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaLastPacking + cmLittleEndianPacking,
- cmCMYK32Space = cmCMYKSpace + cm32_8ColorPacking,
- cmCMYK64Space = cmCMYKSpace + cm64_16ColorPacking,
- cmCMYK64LSpace = cmCMYKSpace + cm64_16ColorPacking + cmLittleEndianPacking,
- cmHSV32Space = cmHSVSpace + cmLong10ColorPacking,
- cmHLS32Space = cmHLSSpace + cmLong10ColorPacking,
- cmYXY32Space = cmYXYSpace + cmLong10ColorPacking,
- cmXYZ24Space = cmXYZSpace + cm24_8ColorPacking,
- cmXYZ32Space = cmXYZSpace + cmLong10ColorPacking,
- cmXYZ48Space = cmXYZSpace + cm48_16ColorPacking,
- cmXYZ48LSpace = cmXYZSpace + cm48_16ColorPacking + cmLittleEndianPacking,
- cmLUV32Space = cmLUVSpace + cmLong10ColorPacking,
- cmLAB24Space = cmLABSpace + cm24_8ColorPacking,
- cmLAB32Space = cmLABSpace + cmLong10ColorPacking,
- cmLAB48Space = cmLABSpace + cm48_16ColorPacking,
- cmLAB48LSpace = cmLABSpace + cm48_16ColorPacking + cmLittleEndianPacking,
- cmGamutResult1Space = cmOneBitDirectPacking + cmGamutResultSpace,
- cmNamedIndexed32Space = cm32_32ColorPacking + cmNamedIndexedSpace,
- cmNamedIndexed32LSpace = cm32_32ColorPacking + cmNamedIndexedSpace + cmLittleEndianPacking,
- cmMCFive8Space = cm40_8ColorPacking + cmMCFiveSpace,
- cmMCSix8Space = cm48_8ColorPacking + cmMCSixSpace,
- cmMCSeven8Space = cm56_8ColorPacking + cmMCSevenSpace,
- cmMCEight8Space = cm64_8ColorPacking + cmMCEightSpace
- };
-
-
- typedef UInt32 CMBitmapColorSpace;
- struct CMBitmap
- {
- char * image;
- long width;
- long height;
- long rowBytes;
- long pixelSize;
- CMBitmapColorSpace space;
- long user1;
- long user2;
- };
- typedef struct CMBitmap CMBitmap;
- /* CMConvertXYZToXYZ() definitions */
-
- typedef UInt32 CMChromaticAdaptation;
- enum
- {
- cmUseDefaultChromaticAdaptation = 0,
- cmLinearChromaticAdaptation = 1,
- cmVonKriesChromaticAdaptation = 2,
- cmBradfordChromaticAdaptation = 3
- };
-
-
- /* Profile Locations */
- enum
- {
- CS_MAX_PATH = 256
- };
-
- enum
- {
- cmNoProfileBase = 0,
- cmFileBasedProfile = 1,
- cmHandleBasedProfile = 2,
- cmPtrBasedProfile = 3,
- cmProcedureBasedProfile = 4,
- cmPathBasedProfile = 5,
- cmBufferBasedProfile = 6
- };
-
- struct CMFileLocation
- {
- FSSpec spec;
- };
- typedef struct CMFileLocation CMFileLocation;
- struct CMHandleLocation
- {
- Handle h;
- };
- typedef struct CMHandleLocation CMHandleLocation;
- struct CMPtrLocation
- {
- Ptr p;
- };
- typedef struct CMPtrLocation CMPtrLocation;
- struct CMProcedureLocation
- {
- CMProfileAccessUPP proc;
- void * refCon;
- };
- typedef struct CMProcedureLocation CMProcedureLocation;
- struct CMPathLocation
- {
- char path[256];
- };
- typedef struct CMPathLocation CMPathLocation;
- struct CMBufferLocation
- {
- void * buffer;
- UInt32 size;
- };
- typedef struct CMBufferLocation CMBufferLocation;
- union CMProfLoc
- {
- CMFileLocation fileLoc;
- CMHandleLocation handleLoc;
- CMPtrLocation ptrLoc;
- CMProcedureLocation procLoc;
- CMPathLocation pathLoc;
- CMBufferLocation bufferLoc;
- };
- typedef union CMProfLoc CMProfLoc;
- struct CMProfileLocation
- {
- short locType;
- CMProfLoc u;
- };
- typedef struct CMProfileLocation CMProfileLocation;
+enum {
+ kDefaultCMMSignature = FOUR_CHAR_CODE('appl')
+};
+
+/* Macintosh 68K trap word */
+enum {
+ cmTrap = 0xABEE
+};
+
+
+/* PicComment IDs */
+enum {
+ cmBeginProfile = 220,
+ cmEndProfile = 221,
+ cmEnableMatching = 222,
+ cmDisableMatching = 223,
+ cmComment = 224
+};
+
+/* PicComment selectors for cmComment */
+enum {
+ cmBeginProfileSel = 0,
+ cmContinueProfileSel = 1,
+ cmEndProfileSel = 2,
+ cmProfileIdentifierSel = 3
+};
+
+
+/* Defines for version 1.0 CMProfileSearchRecord.fieldMask */
+enum {
+ cmMatchCMMType = 0x00000001,
+ cmMatchApplProfileVersion = 0x00000002,
+ cmMatchDataType = 0x00000004,
+ cmMatchDeviceType = 0x00000008,
+ cmMatchDeviceManufacturer = 0x00000010,
+ cmMatchDeviceModel = 0x00000020,
+ cmMatchDeviceAttributes = 0x00000040,
+ cmMatchFlags = 0x00000080,
+ cmMatchOptions = 0x00000100,
+ cmMatchWhite = 0x00000200,
+ cmMatchBlack = 0x00000400
+};
+
+/* Defines for version 2.0 CMSearchRecord.searchMask */
+enum {
+ cmMatchAnyProfile = 0x00000000,
+ cmMatchProfileCMMType = 0x00000001,
+ cmMatchProfileClass = 0x00000002,
+ cmMatchDataColorSpace = 0x00000004,
+ cmMatchProfileConnectionSpace = 0x00000008,
+ cmMatchManufacturer = 0x00000010,
+ cmMatchModel = 0x00000020,
+ cmMatchAttributes = 0x00000040,
+ cmMatchProfileFlags = 0x00000080
+};
+
+
+/* Flags for PostScript-related functions */
+enum {
+ cmPS7bit = 1,
+ cmPS8bit = 2
+};
+
+/* Flags for profile embedding functions */
+enum {
+ cmEmbedWholeProfile = 0x00000000,
+ cmEmbedProfileIdentifier = 0x00000001
+};
+
+/* Commands for CMFlattenUPP() */
+enum {
+ cmOpenReadSpool = 1,
+ cmOpenWriteSpool = 2,
+ cmReadSpool = 3,
+ cmWriteSpool = 4,
+ cmCloseSpool = 5
+};
+
+/* Commands for CMAccessUPP() */
+enum {
+ cmOpenReadAccess = 1,
+ cmOpenWriteAccess = 2,
+ cmReadAccess = 3,
+ cmWriteAccess = 4,
+ cmCloseAccess = 5,
+ cmCreateNewAccess = 6,
+ cmAbortWriteAccess = 7,
+ cmBeginAccess = 8,
+ cmEndAccess = 9
+};
+
+
+/* Use types for CMGet/SetDefaultProfileByUse() */
+enum {
+ cmInputUse = FOUR_CHAR_CODE('inpt'),
+ cmOutputUse = FOUR_CHAR_CODE('outp'),
+ cmDisplayUse = FOUR_CHAR_CODE('dply'),
+ cmProofUse = FOUR_CHAR_CODE('pruf')
+};
+
+
+/* Union of 1.0 2.0, and 4.0 profile header variants */
+union CMAppleProfileHeader {
+ CMHeader cm1;
+ CM2Header cm2;
+ CM4Header cm4;
+};
+typedef union CMAppleProfileHeader CMAppleProfileHeader;
+/* CWConcatColorWorld() definitions */
+struct CMConcatProfileSet {
+ UInt16 keyIndex; /* Zero-based */
+ UInt16 count; /* Min 1 */
+ CMProfileRef profileSet[1]; /* Variable. Ordered from Source -> Dest */
+};
+typedef struct CMConcatProfileSet CMConcatProfileSet;
+/* NCWConcatColorWorld() definitions */
+struct NCMConcatProfileSpec {
+ UInt32 renderingIntent; /* renderingIntent override */
+ UInt32 transformTag; /* transform enumerations defined below */
+ CMProfileRef profile; /* profile */
+};
+typedef struct NCMConcatProfileSpec NCMConcatProfileSpec;
+struct NCMConcatProfileSet {
+ OSType cmm; /* e.g. 'KCMS', 'appl', ... uniquely ids the cmm, or 0000 */
+ UInt32 flags; /* specify quality, lookup only, no gamut checking ... */
+ UInt32 flagsMask; /* which bits of 'flags' to use to override profile */
+ UInt32 profileCount; /* how many ProfileSpecs in the following set */
+ NCMConcatProfileSpec profileSpecs[1]; /* Variable. Ordered from Source -> Dest */
+};
+typedef struct NCMConcatProfileSet NCMConcatProfileSet;
+enum {
+ kNoTransform = 0, /* Not used */
+ kUseAtoB = 1, /* Use 'A2B*' tag from this profile or equivalent */
+ kUseBtoA = 2, /* Use 'B2A*' tag from this profile or equivalent */
+ kUseBtoB = 3, /* Use 'pre*' tag from this profile or equivalent */
+ /* For typical device profiles the following synonyms may be useful */
+ kDeviceToPCS = kUseAtoB, /* Device Dependent to Device Independent */
+ kPCSToDevice = kUseBtoA, /* Device Independent to Device Dependent */
+ kPCSToPCS = kUseBtoB, /* Independent, through device's gamut */
+ kUseProfileIntent = (long)0xFFFFFFFF /* For renderingIntent in NCMConcatProfileSpec */
+};
+
+
+/* ColorSync color data types */
+struct CMRGBColor {
+ UInt16 red; /* 0..65535 */
+ UInt16 green;
+ UInt16 blue;
+};
+typedef struct CMRGBColor CMRGBColor;
+struct CMCMYKColor {
+ UInt16 cyan; /* 0..65535 */
+ UInt16 magenta;
+ UInt16 yellow;
+ UInt16 black;
+};
+typedef struct CMCMYKColor CMCMYKColor;
+struct CMCMYColor {
+ UInt16 cyan; /* 0..65535 */
+ UInt16 magenta;
+ UInt16 yellow;
+};
+typedef struct CMCMYColor CMCMYColor;
+struct CMHLSColor {
+ UInt16 hue; /* 0..65535. Fraction of circle. Red at 0 */
+ UInt16 lightness; /* 0..65535 */
+ UInt16 saturation; /* 0..65535 */
+};
+typedef struct CMHLSColor CMHLSColor;
+struct CMHSVColor {
+ UInt16 hue; /* 0..65535. Fraction of circle. Red at 0 */
+ UInt16 saturation; /* 0..65535 */
+ UInt16 value; /* 0..65535 */
+};
+typedef struct CMHSVColor CMHSVColor;
+struct CMLabColor {
+ UInt16 L; /* 0..65535 maps to 0..100 */
+ UInt16 a; /* 0..65535 maps to -128..127.996 */
+ UInt16 b; /* 0..65535 maps to -128..127.996 */
+};
+typedef struct CMLabColor CMLabColor;
+struct CMLuvColor {
+ UInt16 L; /* 0..65535 maps to 0..100 */
+ UInt16 u; /* 0..65535 maps to -128..127.996 */
+ UInt16 v; /* 0..65535 maps to -128..127.996 */
+};
+typedef struct CMLuvColor CMLuvColor;
+struct CMYxyColor {
+ UInt16 capY; /* 0..65535 maps to 0..1 */
+ UInt16 x; /* 0..65535 maps to 0..1 */
+ UInt16 y; /* 0..65535 maps to 0..1 */
+};
+typedef struct CMYxyColor CMYxyColor;
+struct CMGrayColor {
+ UInt16 gray; /* 0..65535 */
+};
+typedef struct CMGrayColor CMGrayColor;
+struct CMMultichannel5Color {
+ UInt8 components[5]; /* 0..255 */
+};
+typedef struct CMMultichannel5Color CMMultichannel5Color;
+struct CMMultichannel6Color {
+ UInt8 components[6]; /* 0..255 */
+};
+typedef struct CMMultichannel6Color CMMultichannel6Color;
+struct CMMultichannel7Color {
+ UInt8 components[7]; /* 0..255 */
+};
+typedef struct CMMultichannel7Color CMMultichannel7Color;
+struct CMMultichannel8Color {
+ UInt8 components[8]; /* 0..255 */
+};
+typedef struct CMMultichannel8Color CMMultichannel8Color;
+struct CMNamedColor {
+ UInt32 namedColorIndex; /* 0..a lot */
+};
+typedef struct CMNamedColor CMNamedColor;
+union CMColor {
+ CMRGBColor rgb;
+ CMHSVColor hsv;
+ CMHLSColor hls;
+ CMXYZColor XYZ;
+ CMLabColor Lab;
+ CMLuvColor Luv;
+ CMYxyColor Yxy;
+ CMCMYKColor cmyk;
+ CMCMYColor cmy;
+ CMGrayColor gray;
+ CMMultichannel5Color mc5;
+ CMMultichannel6Color mc6;
+ CMMultichannel7Color mc7;
+ CMMultichannel8Color mc8;
+ CMNamedColor namedColor;
+};
+typedef union CMColor CMColor;
+/* GetIndexedProfile() search definition */
+struct CMProfileSearchRecord {
+ CMHeader header;
+ UInt32 fieldMask;
+ UInt32 reserved[2];
+};
+typedef struct CMProfileSearchRecord CMProfileSearchRecord;
+typedef CMProfileSearchRecord * CMProfileSearchRecordPtr;
+typedef CMProfileSearchRecordPtr * CMProfileSearchRecordHandle;
+/* CMNewProfileSearch() search definition */
+struct CMSearchRecord {
+ OSType CMMType;
+ OSType profileClass;
+ OSType dataColorSpace;
+ OSType profileConnectionSpace;
+ UInt32 deviceManufacturer;
+ UInt32 deviceModel;
+ UInt32 deviceAttributes[2];
+ UInt32 profileFlags;
+ UInt32 searchMask;
+ CMProfileFilterUPP filter;
+};
+typedef struct CMSearchRecord CMSearchRecord;
+/* CMMIterateUPP() structure */
+struct CMMInfo {
+ UInt32 dataSize; /* Size of this structure - compatibility*/
+ OSType CMMType; /* Signature, e.g. 'appl', 'HDM ' or 'KCMS'*/
+ OSType CMMMfr; /* Vendor, e.g. 'appl'*/
+ UInt32 CMMVersion; /* CMM version number*/
+ unsigned char ASCIIName[32]; /* pascal string - name*/
+ unsigned char ASCIIDesc[256]; /* pascal string - description or copyright*/
+ UniCharCount UniCodeNameCount; /* count of UniChars in following array*/
+ UniChar UniCodeName[32]; /* the name in UniCode chars*/
+ UniCharCount UniCodeDescCount; /* count of UniChars in following array*/
+ UniChar UniCodeDesc[256]; /* the description in UniCode chars*/
+};
+typedef struct CMMInfo CMMInfo;
+/* GetCWInfo() structures */
+struct CMMInfoRecord {
+ OSType CMMType;
+ long CMMVersion;
+};
+typedef struct CMMInfoRecord CMMInfoRecord;
+struct CMCWInfoRecord {
+ UInt32 cmmCount;
+ CMMInfoRecord cmmInfo[2];
+};
+typedef struct CMCWInfoRecord CMCWInfoRecord;
+/* profile identifier structures */
+struct CMProfileIdentifier {
+ CM2Header profileHeader;
+ CMDateTime calibrationDate;
+ UInt32 ASCIIProfileDescriptionLen;
+ char ASCIIProfileDescription[1]; /* variable length */
+};
+typedef struct CMProfileIdentifier CMProfileIdentifier;
+typedef CMProfileIdentifier * CMProfileIdentifierPtr;
+/* colorspace masks */
+enum {
+ cmColorSpaceSpaceMask = 0x0000003F,
+ cmColorSpacePremulAlphaMask = 0x00000040,
+ cmColorSpaceAlphaMask = 0x00000080,
+ cmColorSpaceSpaceAndAlphaMask = 0x000000FF,
+ cmColorSpacePackingMask = 0x0000FF00,
+ cmColorSpaceEncodingMask = 0x000F0000,
+ cmColorSpaceReservedMask = (long)0xFFF00000
+};
+
+/* packing formats */
+enum {
+ cmNoColorPacking = 0x0000,
+ cmWord5ColorPacking = 0x0500,
+ cmWord565ColorPacking = 0x0600,
+ cmLong8ColorPacking = 0x0800,
+ cmLong10ColorPacking = 0x0A00,
+ cmAlphaFirstPacking = 0x1000,
+ cmOneBitDirectPacking = 0x0B00,
+ cmAlphaLastPacking = 0x0000,
+ cm8_8ColorPacking = 0x2800,
+ cm16_8ColorPacking = 0x2000,
+ cm24_8ColorPacking = 0x2100,
+ cm32_8ColorPacking = cmLong8ColorPacking,
+ cm40_8ColorPacking = 0x2200,
+ cm48_8ColorPacking = 0x2300,
+ cm56_8ColorPacking = 0x2400,
+ cm64_8ColorPacking = 0x2500,
+ cm32_16ColorPacking = 0x2600,
+ cm48_16ColorPacking = 0x2900,
+ cm64_16ColorPacking = 0x2A00,
+ cm32_32ColorPacking = 0x2700,
+ cmLittleEndianPacking = 0x4000,
+ cmReverseChannelPacking = 0x8000
+};
+
+/* channel encoding format */
+enum {
+ cmSRGB16ChannelEncoding = 0x00010000 /* used for sRGB64 encoding ( .3.12 format)*/
+};
+
+/* general colorspaces */
+enum {
+ cmNoSpace = 0x0000,
+ cmRGBSpace = 0x0001,
+ cmCMYKSpace = 0x0002,
+ cmHSVSpace = 0x0003,
+ cmHLSSpace = 0x0004,
+ cmYXYSpace = 0x0005,
+ cmXYZSpace = 0x0006,
+ cmLUVSpace = 0x0007,
+ cmLABSpace = 0x0008,
+ cmReservedSpace1 = 0x0009,
+ cmGraySpace = 0x000A,
+ cmReservedSpace2 = 0x000B,
+ cmGamutResultSpace = 0x000C,
+ cmNamedIndexedSpace = 0x0010,
+ cmMCFiveSpace = 0x0011,
+ cmMCSixSpace = 0x0012,
+ cmMCSevenSpace = 0x0013,
+ cmMCEightSpace = 0x0014,
+ cmAlphaPmulSpace = 0x0040,
+ cmAlphaSpace = 0x0080,
+ cmRGBASpace = cmRGBSpace + cmAlphaSpace,
+ cmGrayASpace = cmGraySpace + cmAlphaSpace,
+ cmRGBAPmulSpace = cmRGBASpace + cmAlphaPmulSpace,
+ cmGrayAPmulSpace = cmGrayASpace + cmAlphaPmulSpace
+};
+
+/* supported CMBitmapColorSpaces - Each of the following is a */
+/* combination of a general colospace and a packing formats. */
+/* Each can also be or'd with cmReverseChannelPacking. */
+enum {
+ cmGray8Space = cmGraySpace + cm8_8ColorPacking,
+ cmGray16Space = cmGraySpace,
+ cmGray16LSpace = cmGraySpace + cmLittleEndianPacking,
+ cmGrayA16Space = cmGrayASpace + cm16_8ColorPacking,
+ cmGrayA32Space = cmGrayASpace,
+ cmGrayA32LSpace = cmGrayASpace + cmLittleEndianPacking,
+ cmGrayA16PmulSpace = cmGrayAPmulSpace + cm16_8ColorPacking,
+ cmGrayA32PmulSpace = cmGrayAPmulSpace,
+ cmGrayA32LPmulSpace = cmGrayAPmulSpace + cmLittleEndianPacking,
+ cmRGB16Space = cmRGBSpace + cmWord5ColorPacking,
+ cmRGB16LSpace = cmRGBSpace + cmWord5ColorPacking + cmLittleEndianPacking,
+ cmRGB565Space = cmRGBSpace + cmWord565ColorPacking,
+ cmRGB565LSpace = cmRGBSpace + cmWord565ColorPacking + cmLittleEndianPacking,
+ cmRGB24Space = cmRGBSpace + cm24_8ColorPacking,
+ cmRGB32Space = cmRGBSpace + cm32_8ColorPacking,
+ cmRGB48Space = cmRGBSpace + cm48_16ColorPacking,
+ cmRGB48LSpace = cmRGBSpace + cm48_16ColorPacking + cmLittleEndianPacking,
+ cmARGB32Space = cmRGBASpace + cm32_8ColorPacking + cmAlphaFirstPacking,
+ cmARGB64Space = cmRGBASpace + cm64_16ColorPacking + cmAlphaFirstPacking,
+ cmARGB64LSpace = cmRGBASpace + cm64_16ColorPacking + cmAlphaFirstPacking + cmLittleEndianPacking,
+ cmRGBA32Space = cmRGBASpace + cm32_8ColorPacking + cmAlphaLastPacking,
+ cmRGBA64Space = cmRGBASpace + cm64_16ColorPacking + cmAlphaLastPacking,
+ cmRGBA64LSpace = cmRGBASpace + cm64_16ColorPacking + cmAlphaLastPacking + cmLittleEndianPacking,
+ cmARGB32PmulSpace = cmRGBAPmulSpace + cm32_8ColorPacking + cmAlphaFirstPacking,
+ cmARGB64PmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaFirstPacking,
+ cmARGB64LPmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaFirstPacking + cmLittleEndianPacking,
+ cmRGBA32PmulSpace = cmRGBAPmulSpace + cm32_8ColorPacking + cmAlphaLastPacking,
+ cmRGBA64PmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaLastPacking,
+ cmRGBA64LPmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaLastPacking + cmLittleEndianPacking,
+ cmCMYK32Space = cmCMYKSpace + cm32_8ColorPacking,
+ cmCMYK64Space = cmCMYKSpace + cm64_16ColorPacking,
+ cmCMYK64LSpace = cmCMYKSpace + cm64_16ColorPacking + cmLittleEndianPacking,
+ cmHSV32Space = cmHSVSpace + cmLong10ColorPacking,
+ cmHLS32Space = cmHLSSpace + cmLong10ColorPacking,
+ cmYXY32Space = cmYXYSpace + cmLong10ColorPacking,
+ cmXYZ24Space = cmXYZSpace + cm24_8ColorPacking,
+ cmXYZ32Space = cmXYZSpace + cmLong10ColorPacking,
+ cmXYZ48Space = cmXYZSpace + cm48_16ColorPacking,
+ cmXYZ48LSpace = cmXYZSpace + cm48_16ColorPacking + cmLittleEndianPacking,
+ cmLUV32Space = cmLUVSpace + cmLong10ColorPacking,
+ cmLAB24Space = cmLABSpace + cm24_8ColorPacking,
+ cmLAB32Space = cmLABSpace + cmLong10ColorPacking,
+ cmLAB48Space = cmLABSpace + cm48_16ColorPacking,
+ cmLAB48LSpace = cmLABSpace + cm48_16ColorPacking + cmLittleEndianPacking,
+ cmGamutResult1Space = cmOneBitDirectPacking + cmGamutResultSpace,
+ cmNamedIndexed32Space = cm32_32ColorPacking + cmNamedIndexedSpace,
+ cmNamedIndexed32LSpace = cm32_32ColorPacking + cmNamedIndexedSpace + cmLittleEndianPacking,
+ cmMCFive8Space = cm40_8ColorPacking + cmMCFiveSpace,
+ cmMCSix8Space = cm48_8ColorPacking + cmMCSixSpace,
+ cmMCSeven8Space = cm56_8ColorPacking + cmMCSevenSpace,
+ cmMCEight8Space = cm64_8ColorPacking + cmMCEightSpace
+};
+
+
+typedef UInt32 CMBitmapColorSpace;
+struct CMBitmap {
+ char * image;
+ long width;
+ long height;
+ long rowBytes;
+ long pixelSize;
+ CMBitmapColorSpace space;
+ long user1;
+ long user2;
+};
+typedef struct CMBitmap CMBitmap;
+/* CMConvertXYZToXYZ() definitions */
+
+typedef UInt32 CMChromaticAdaptation;
+enum {
+ cmUseDefaultChromaticAdaptation = 0,
+ cmLinearChromaticAdaptation = 1,
+ cmVonKriesChromaticAdaptation = 2,
+ cmBradfordChromaticAdaptation = 3
+};
+
+
+/* Profile Locations */
+enum {
+ CS_MAX_PATH = 256
+};
+
+enum {
+ cmNoProfileBase = 0,
+ cmFileBasedProfile = 1,
+ cmHandleBasedProfile = 2,
+ cmPtrBasedProfile = 3,
+ cmProcedureBasedProfile = 4,
+ cmPathBasedProfile = 5,
+ cmBufferBasedProfile = 6
+};
+
+struct CMFileLocation {
+ FSSpec spec;
+};
+typedef struct CMFileLocation CMFileLocation;
+struct CMHandleLocation {
+ Handle h;
+};
+typedef struct CMHandleLocation CMHandleLocation;
+struct CMPtrLocation {
+ Ptr p;
+};
+typedef struct CMPtrLocation CMPtrLocation;
+struct CMProcedureLocation {
+ CMProfileAccessUPP proc;
+ void * refCon;
+};
+typedef struct CMProcedureLocation CMProcedureLocation;
+struct CMPathLocation {
+ char path[256];
+};
+typedef struct CMPathLocation CMPathLocation;
+struct CMBufferLocation {
+ void * buffer;
+ UInt32 size;
+};
+typedef struct CMBufferLocation CMBufferLocation;
+union CMProfLoc {
+ CMFileLocation fileLoc;
+ CMHandleLocation handleLoc;
+ CMPtrLocation ptrLoc;
+ CMProcedureLocation procLoc;
+ CMPathLocation pathLoc;
+ CMBufferLocation bufferLoc;
+};
+typedef union CMProfLoc CMProfLoc;
+struct CMProfileLocation {
+ short locType;
+ CMProfLoc u;
+};
+typedef struct CMProfileLocation CMProfileLocation;
#if TARGET_OS_MAC
- enum
- {
- cmOriginalProfileLocationSize = 72,
- cmCurrentProfileLocationSize = 2 + CS_MAX_PATH
- };
+enum {
+ cmOriginalProfileLocationSize = 72,
+ cmCurrentProfileLocationSize = 2 + CS_MAX_PATH
+};
#else
- enum
- {
- cmOriginalProfileLocationSize = 2 + CS_MAX_PATH,
- cmCurrentProfileLocationSize = 2 + CS_MAX_PATH
- };
+enum {
+ cmOriginalProfileLocationSize = 2 + CS_MAX_PATH,
+ cmCurrentProfileLocationSize = 2 + CS_MAX_PATH
+};
#endif /* TARGET_OS_MAC */
- /* Struct and enums used for Profile iteration */
- enum
- {
- cmProfileIterateDataVersion1 = 0x00010000,
- cmProfileIterateDataVersion2 = 0x00020000, /* Added makeAndModel*/
- cmProfileIterateDataVersion3 = 0x00030000 /* Added MD5 digest*/
- };
-
- struct CMProfileIterateData
- {
- UInt32 dataVersion; /* cmProfileIterateDataVersion2 */
- CM2Header header;
- ScriptCode code;
- Str255 name;
- CMProfileLocation location;
- UniCharCount uniCodeNameCount;
- UniChar * uniCodeName;
- unsigned char * asciiName;
- CMMakeAndModel * makeAndModel;
- CMProfileMD5 * digest; /* Derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm */
- };
- typedef struct CMProfileIterateData CMProfileIterateData;
- /* Caller-supplied callback function for Profile & CMM iteration */
- typedef CALLBACK_API(OSErr , CMProfileIterateProcPtr)(CMProfileIterateData *iterateData, void *refCon);
- typedef CALLBACK_API(OSErr , CMMIterateProcPtr)(CMMInfo *iterateData, void *refCon);
- typedef STACK_UPP_TYPE(CMProfileIterateProcPtr) CMProfileIterateUPP;
- typedef STACK_UPP_TYPE(CMMIterateProcPtr) CMMIterateUPP;
- /*
- * NewCMProfileIterateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CMProfileIterateUPP)
- NewCMProfileIterateUPP(CMProfileIterateProcPtr userRoutine);
+/* Struct and enums used for Profile iteration */
+enum {
+ cmProfileIterateDataVersion1 = 0x00010000,
+ cmProfileIterateDataVersion2 = 0x00020000, /* Added makeAndModel*/
+ cmProfileIterateDataVersion3 = 0x00030000 /* Added MD5 digest*/
+};
+
+struct CMProfileIterateData {
+ UInt32 dataVersion; /* cmProfileIterateDataVersion2 */
+ CM2Header header;
+ ScriptCode code;
+ Str255 name;
+ CMProfileLocation location;
+ UniCharCount uniCodeNameCount;
+ UniChar * uniCodeName;
+ unsigned char * asciiName;
+ CMMakeAndModel * makeAndModel;
+ CMProfileMD5 * digest; /* Derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm */
+};
+typedef struct CMProfileIterateData CMProfileIterateData;
+/* Caller-supplied callback function for Profile & CMM iteration */
+typedef CALLBACK_API( OSErr , CMProfileIterateProcPtr )(CMProfileIterateData *iterateData, void *refCon);
+typedef CALLBACK_API( OSErr , CMMIterateProcPtr )(CMMInfo *iterateData, void *refCon);
+typedef STACK_UPP_TYPE(CMProfileIterateProcPtr) CMProfileIterateUPP;
+typedef STACK_UPP_TYPE(CMMIterateProcPtr) CMMIterateUPP;
+/*
+ * NewCMProfileIterateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CMProfileIterateUPP )
+NewCMProfileIterateUPP(CMProfileIterateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCMProfileIterateProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CMProfileIterateUPP) NewCMProfileIterateUPP(CMProfileIterateProcPtr userRoutine)
- {
- return (CMProfileIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileIterateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCMProfileIterateUPP(userRoutine) (CMProfileIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileIterateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCMProfileIterateProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CMProfileIterateUPP) NewCMProfileIterateUPP(CMProfileIterateProcPtr userRoutine) { return (CMProfileIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileIterateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCMProfileIterateUPP(userRoutine) (CMProfileIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileIterateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCMMIterateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CMMIterateUPP)
- NewCMMIterateUPP(CMMIterateProcPtr userRoutine);
+/*
+ * NewCMMIterateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CMMIterateUPP )
+NewCMMIterateUPP(CMMIterateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCMMIterateProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CMMIterateUPP) NewCMMIterateUPP(CMMIterateProcPtr userRoutine)
- {
- return (CMMIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMMIterateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCMMIterateUPP(userRoutine) (CMMIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMMIterateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCMMIterateProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CMMIterateUPP) NewCMMIterateUPP(CMMIterateProcPtr userRoutine) { return (CMMIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMMIterateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCMMIterateUPP(userRoutine) (CMMIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMMIterateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeCMProfileIterateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCMProfileIterateUPP(CMProfileIterateUPP userUPP);
+/*
+ * DisposeCMProfileIterateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCMProfileIterateUPP(CMProfileIterateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCMProfileIterateUPP(CMProfileIterateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCMProfileIterateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCMProfileIterateUPP(CMProfileIterateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCMProfileIterateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCMMIterateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCMMIterateUPP(CMMIterateUPP userUPP);
+/*
+ * DisposeCMMIterateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCMMIterateUPP(CMMIterateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCMMIterateUPP(CMMIterateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCMMIterateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCMMIterateUPP(CMMIterateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCMMIterateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeCMProfileIterateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeCMProfileIterateUPP(
- CMProfileIterateData * iterateData,
- void * refCon,
- CMProfileIterateUPP userUPP);
+/*
+ * InvokeCMProfileIterateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeCMProfileIterateUPP(
+ CMProfileIterateData * iterateData,
+ void * refCon,
+ CMProfileIterateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeCMProfileIterateUPP(CMProfileIterateData * iterateData, void * refCon, CMProfileIterateUPP userUPP)
- {
- return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCMProfileIterateProcInfo, iterateData, refCon);
- }
-#else
-#define InvokeCMProfileIterateUPP(iterateData, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppCMProfileIterateProcInfo, (iterateData), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeCMProfileIterateUPP(CMProfileIterateData * iterateData, void * refCon, CMProfileIterateUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCMProfileIterateProcInfo, iterateData, refCon); }
+ #else
+ #define InvokeCMProfileIterateUPP(iterateData, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppCMProfileIterateProcInfo, (iterateData), (refCon))
+ #endif
#endif
- /*
- * InvokeCMMIterateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeCMMIterateUPP(
- CMMInfo * iterateData,
- void * refCon,
- CMMIterateUPP userUPP);
+/*
+ * InvokeCMMIterateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeCMMIterateUPP(
+ CMMInfo * iterateData,
+ void * refCon,
+ CMMIterateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeCMMIterateUPP(CMMInfo * iterateData, void * refCon, CMMIterateUPP userUPP)
- {
- return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCMMIterateProcInfo, iterateData, refCon);
- }
-#else
-#define InvokeCMMIterateUPP(iterateData, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppCMMIterateProcInfo, (iterateData), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeCMMIterateUPP(CMMInfo * iterateData, void * refCon, CMMIterateUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCMMIterateProcInfo, iterateData, refCon); }
+ #else
+ #define InvokeCMMIterateUPP(iterateData, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppCMMIterateProcInfo, (iterateData), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewCMProfileIterateProc(userRoutine) NewCMProfileIterateUPP(userRoutine)
-#define NewCMMIterateProc(userRoutine) NewCMMIterateUPP(userRoutine)
-#define CallCMProfileIterateProc(userRoutine, iterateData, refCon) InvokeCMProfileIterateUPP(iterateData, refCon, userRoutine)
-#define CallCMMIterateProc(userRoutine, iterateData, refCon) InvokeCMMIterateUPP(iterateData, refCon, userRoutine)
+ #define NewCMProfileIterateProc(userRoutine) NewCMProfileIterateUPP(userRoutine)
+ #define NewCMMIterateProc(userRoutine) NewCMMIterateUPP(userRoutine)
+ #define CallCMProfileIterateProc(userRoutine, iterateData, refCon) InvokeCMProfileIterateUPP(iterateData, refCon, userRoutine)
+ #define CallCMMIterateProc(userRoutine, iterateData, refCon) InvokeCMMIterateUPP(iterateData, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- Clients can register for notifications of ColorSync preference changes by
- using the kCMPrefsChangedNotification key. This notification will be sent if the
- user changes ColorSync preferences such as:
- the default profile by colors space, (CMSetDefaultProfileBySpace)
- the default profile by device useage, (CMSetDefaultProfileByUse)
- or the preferred CMM.
- See <CMDeviceIntegration.h" for more notifications that can be sent.
- */
+/*
+ Clients can register for notifications of ColorSync preference changes by
+ using the kCMPrefsChangedNotification key. This notification will be sent if the
+ user changes ColorSync preferences such as:
+ the default profile by colors space, (CMSetDefaultProfileBySpace)
+ the default profile by device useage, (CMSetDefaultProfileByUse)
+ or the preferred CMM.
+ See <CMDeviceIntegration.h" for more notifications that can be sent.
+*/
#define kCMPrefsChangedNotification CFSTR("AppleColorSyncPreferencesChangedNotification")
- /* Profile file and element access */
- /*
- * CMNewProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMNewProfile(
- CMProfileRef * prof,
- const CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x001B, 0xABEE);
-
-
- /*
- * CMOpenProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMOpenProfile(
- CMProfileRef * prof,
- const CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x001C, 0xABEE);
-
-
- /*
- * CMCloseProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMCloseProfile(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x001D, 0xABEE);
-
-
- /*
- * CMUpdateProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMUpdateProfile(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x0034, 0xABEE);
-
-
- /*
- * CMCopyProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMCopyProfile(
- CMProfileRef * targetProf,
- const CMProfileLocation * targetLocation,
- CMProfileRef srcProf) FOURWORDINLINE(0x203C, 0x000C, 0x0025, 0xABEE);
-
-
- /*
- * CMValidateProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMValidateProfile(
- CMProfileRef prof,
- Boolean * valid,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x000C, 0x0026, 0xABEE);
-
-
- /*
- * CMGetProfileLocation()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetProfileLocation(
- CMProfileRef prof,
- CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x003C, 0xABEE);
-
-
- /*
- * NCMGetProfileLocation()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- NCMGetProfileLocation(
- CMProfileRef prof,
- CMProfileLocation * theProfile,
- UInt32 * locationSize) FOURWORDINLINE(0x203C, 0x000C, 0x0059, 0xABEE);
-
-
- /*
- * CMFlattenProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMFlattenProfile(
- CMProfileRef prof,
- UInt32 flags,
- CMFlattenUPP proc,
- void * refCon,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x0031, 0xABEE);
+/* Profile file and element access */
+/*
+ * CMNewProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMNewProfile(
+ CMProfileRef * prof,
+ const CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x001B, 0xABEE);
+
+
+/*
+ * CMOpenProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMOpenProfile(
+ CMProfileRef * prof,
+ const CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x001C, 0xABEE);
+
+
+/*
+ * CMCloseProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMCloseProfile(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x001D, 0xABEE);
+
+
+/*
+ * CMUpdateProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMUpdateProfile(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x0034, 0xABEE);
+
+
+/*
+ * CMCopyProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMCopyProfile(
+ CMProfileRef * targetProf,
+ const CMProfileLocation * targetLocation,
+ CMProfileRef srcProf) FOURWORDINLINE(0x203C, 0x000C, 0x0025, 0xABEE);
+
+
+/*
+ * CMValidateProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMValidateProfile(
+ CMProfileRef prof,
+ Boolean * valid,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x000C, 0x0026, 0xABEE);
+
+
+/*
+ * CMGetProfileLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetProfileLocation(
+ CMProfileRef prof,
+ CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x003C, 0xABEE);
+
+
+/*
+ * NCMGetProfileLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+NCMGetProfileLocation(
+ CMProfileRef prof,
+ CMProfileLocation * theProfile,
+ UInt32 * locationSize) FOURWORDINLINE(0x203C, 0x000C, 0x0059, 0xABEE);
+
+
+/*
+ * CMFlattenProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMFlattenProfile(
+ CMProfileRef prof,
+ UInt32 flags,
+ CMFlattenUPP proc,
+ void * refCon,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x0031, 0xABEE);
#if TARGET_OS_MAC
#if CALL_NOT_IN_CARBON
- /*
- * CMUnflattenProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMUnflattenProfile(
- FSSpec * resultFileSpec,
- CMFlattenUPP proc,
- void * refCon,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x0032, 0xABEE);
+/*
+ * CMUnflattenProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMUnflattenProfile(
+ FSSpec * resultFileSpec,
+ CMFlattenUPP proc,
+ void * refCon,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x0032, 0xABEE);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_OS_MAC */
- /*
- * CMGetProfileHeader()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetProfileHeader(
- CMProfileRef prof,
- CMAppleProfileHeader * header) FOURWORDINLINE(0x203C, 0x0008, 0x0039, 0xABEE);
-
-
- /*
- * CMSetProfileHeader()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetProfileHeader(
- CMProfileRef prof,
- const CMAppleProfileHeader * header) FOURWORDINLINE(0x203C, 0x0008, 0x003A, 0xABEE);
-
-
- /*
- * CMProfileElementExists()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMProfileElementExists(
- CMProfileRef prof,
- OSType tag,
- Boolean * found) FOURWORDINLINE(0x203C, 0x000C, 0x001E, 0xABEE);
-
-
- /*
- * CMCountProfileElements()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMCountProfileElements(
- CMProfileRef prof,
- UInt32 * elementCount) FOURWORDINLINE(0x203C, 0x0008, 0x001F, 0xABEE);
-
-
- /*
- * CMGetProfileElement()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetProfileElement(
- CMProfileRef prof,
- OSType tag,
- UInt32 * elementSize,
- void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0020, 0xABEE);
-
-
- /*
- * CMSetProfileElement()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetProfileElement(
- CMProfileRef prof,
- OSType tag,
- UInt32 elementSize,
- const void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0023, 0xABEE);
-
-
- /*
- * CMSetProfileElementSize()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetProfileElementSize(
- CMProfileRef prof,
- OSType tag,
- UInt32 elementSize) FOURWORDINLINE(0x203C, 0x000C, 0x0038, 0xABEE);
-
-
- /*
- * CMSetProfileElementReference()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetProfileElementReference(
- CMProfileRef prof,
- OSType elementTag,
- OSType referenceTag) FOURWORDINLINE(0x203C, 0x000C, 0x0035, 0xABEE);
-
-
- /*
- * CMGetPartialProfileElement()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetPartialProfileElement(
- CMProfileRef prof,
- OSType tag,
- UInt32 offset,
- UInt32 * byteCount,
- void * elementData) FOURWORDINLINE(0x203C, 0x0014, 0x0036, 0xABEE);
-
-
- /*
- * CMSetPartialProfileElement()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetPartialProfileElement(
- CMProfileRef prof,
- OSType tag,
- UInt32 offset,
- UInt32 byteCount,
- const void * elementData) FOURWORDINLINE(0x203C, 0x0014, 0x0037, 0xABEE);
-
-
- /*
- * CMGetIndProfileElementInfo()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetIndProfileElementInfo(
- CMProfileRef prof,
- UInt32 index,
- OSType * tag,
- UInt32 * elementSize,
- Boolean * refs) FOURWORDINLINE(0x203C, 0x0014, 0x0021, 0xABEE);
-
-
- /*
- * CMGetIndProfileElement()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetIndProfileElement(
- CMProfileRef prof,
- UInt32 index,
- UInt32 * elementSize,
- void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0022, 0xABEE);
-
-
- /*
- * CMRemoveProfileElement()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMRemoveProfileElement(
- CMProfileRef prof,
- OSType tag) FOURWORDINLINE(0x203C, 0x0008, 0x0024, 0xABEE);
-
-
- /*
- * CMGetScriptProfileDescription()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetScriptProfileDescription(
- CMProfileRef prof,
- Str255 name,
- ScriptCode * code) FOURWORDINLINE(0x203C, 0x000C, 0x003E, 0xABEE);
-
-
- /*
- * CMGetProfileDescriptions()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetProfileDescriptions(
- CMProfileRef prof,
- char * aName,
- UInt32 * aCount,
- Str255 mName,
- ScriptCode * mCode,
- UniChar * uName,
- UniCharCount * uCount) FOURWORDINLINE(0x203C, 0x001A, 0x0067, 0xABEE);
-
-
- /*
- * CMSetProfileDescriptions()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetProfileDescriptions(
- CMProfileRef prof,
- const char * aName,
- UInt32 aCount,
- ConstStr255Param mName,
- ScriptCode mCode,
- const UniChar * uName,
- UniCharCount uCount) FOURWORDINLINE(0x203C, 0x001A, 0x0068, 0xABEE);
-
-
- /*
- * CMCopyProfileLocalizedStringDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 3.1 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMCopyProfileLocalizedStringDictionary(
- CMProfileRef prof,
- OSType tag,
- CFDictionaryRef * theDict);
-
-
- /*
- * CMSetProfileLocalizedStringDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 3.1 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMSetProfileLocalizedStringDictionary(
- CMProfileRef prof,
- OSType tag,
- CFDictionaryRef theDict);
-
-
- /*
- * CMCopyProfileLocalizedString()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 3.1 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMCopyProfileLocalizedString(
- CMProfileRef prof,
- OSType tag,
- CFStringRef reqLocale,
- CFStringRef * locale,
- CFStringRef * str);
-
-
- /*
- * CMCloneProfileRef()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMCloneProfileRef(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x0042, 0xABEE);
-
-
- /*
- * CMGetProfileRefCount()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetProfileRefCount(
- CMProfileRef prof,
- long * count) FOURWORDINLINE(0x203C, 0x0008, 0x0043, 0xABEE);
-
-
- /*
- * CMProfileModified()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMProfileModified(
- CMProfileRef prof,
- Boolean * modified) FOURWORDINLINE(0x203C, 0x0008, 0x0044, 0xABEE);
-
-
- /*
- * CMGetProfileMD5()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMGetProfileMD5(
- CMProfileRef prof,
- CMProfileMD5 digest);
-
-
-
- /* named Color access functions */
- /*
- * CMGetNamedColorInfo()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetNamedColorInfo(
- CMProfileRef prof,
- UInt32 * deviceChannels,
- OSType * deviceColorSpace,
- OSType * PCSColorSpace,
- UInt32 * count,
- StringPtr prefix,
- StringPtr suffix) FOURWORDINLINE(0x203C, 0x001C, 0x0046, 0xABEE);
-
-
- /*
- * CMGetNamedColorValue()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetNamedColorValue(
- CMProfileRef prof,
- StringPtr name,
- CMColor * deviceColor,
- CMColor * PCSColor) FOURWORDINLINE(0x203C, 0x0010, 0x0047, 0xABEE);
-
-
- /*
- * CMGetIndNamedColorValue()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetIndNamedColorValue(
- CMProfileRef prof,
- UInt32 index,
- CMColor * deviceColor,
- CMColor * PCSColor) FOURWORDINLINE(0x203C, 0x0010, 0x0048, 0xABEE);
-
-
- /*
- * CMGetNamedColorIndex()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetNamedColorIndex(
- CMProfileRef prof,
- StringPtr name,
- UInt32 * index) FOURWORDINLINE(0x203C, 0x000C, 0x0049, 0xABEE);
-
-
- /*
- * CMGetNamedColorName()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetNamedColorName(
- CMProfileRef prof,
- UInt32 index,
- StringPtr name) FOURWORDINLINE(0x203C, 0x000C, 0x004A, 0xABEE);
-
-
-
- /* General-purpose matching functions */
- /*
- * NCWNewColorWorld()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- NCWNewColorWorld(
- CMWorldRef * cw,
- CMProfileRef src,
- CMProfileRef dst) FOURWORDINLINE(0x203C, 0x000C, 0x0014, 0xABEE);
-
-
- /*
- * CWConcatColorWorld()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CWConcatColorWorld(
- CMWorldRef * cw,
- CMConcatProfileSet * profileSet) FOURWORDINLINE(0x203C, 0x0008, 0x0015, 0xABEE);
-
-
- /*
- * CWNewLinkProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CWNewLinkProfile(
- CMProfileRef * prof,
- const CMProfileLocation * targetLocation,
- CMConcatProfileSet * profileSet) FOURWORDINLINE(0x203C, 0x000C, 0x0033, 0xABEE);
-
-
- /*
- * NCWConcatColorWorld()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- NCWConcatColorWorld(
- CMWorldRef * cw,
- NCMConcatProfileSet * profileSet,
- CMConcatCallBackUPP proc,
- void * refCon) FOURWORDINLINE(0x203C, 0x0008, 0x0061, 0xABEE);
-
-
- /*
- * NCWNewLinkProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- NCWNewLinkProfile(
- CMProfileRef * prof,
- const CMProfileLocation * targetLocation,
- NCMConcatProfileSet * profileSet,
- CMConcatCallBackUPP proc,
- void * refCon) FOURWORDINLINE(0x203C, 0x000C, 0x0062, 0xABEE);
-
-
- /*
- * CWDisposeColorWorld()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CWDisposeColorWorld(CMWorldRef cw) FOURWORDINLINE(0x203C, 0x0004, 0x0001, 0xABEE);
-
-
- /*
- * CWMatchColors()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CWMatchColors(
- CMWorldRef cw,
- CMColor * myColors,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0002, 0xABEE);
-
-
- /*
- * CWCheckColors()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CWCheckColors(
- CMWorldRef cw,
- CMColor * myColors,
- UInt32 count,
- UInt32 * result) FOURWORDINLINE(0x203C, 0x0010, 0x0003, 0xABEE);
-
-
- /*
- * CWMatchBitmap()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CWMatchBitmap(
- CMWorldRef cw,
- CMBitmap * bitmap,
- CMBitmapCallBackUPP progressProc,
- void * refCon,
- CMBitmap * matchedBitmap) FOURWORDINLINE(0x203C, 0x0010, 0x002C, 0xABEE);
-
-
- /*
- * CWCheckBitmap()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CWCheckBitmap(
- CMWorldRef cw,
- const CMBitmap * bitmap,
- CMBitmapCallBackUPP progressProc,
- void * refCon,
- CMBitmap * resultBitmap) FOURWORDINLINE(0x203C, 0x0014, 0x002D, 0xABEE);
-
-
- /* Quickdraw-specific matching */
+/*
+ * CMGetProfileHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetProfileHeader(
+ CMProfileRef prof,
+ CMAppleProfileHeader * header) FOURWORDINLINE(0x203C, 0x0008, 0x0039, 0xABEE);
+
+
+/*
+ * CMSetProfileHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetProfileHeader(
+ CMProfileRef prof,
+ const CMAppleProfileHeader * header) FOURWORDINLINE(0x203C, 0x0008, 0x003A, 0xABEE);
+
+
+/*
+ * CMProfileElementExists()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMProfileElementExists(
+ CMProfileRef prof,
+ OSType tag,
+ Boolean * found) FOURWORDINLINE(0x203C, 0x000C, 0x001E, 0xABEE);
+
+
+/*
+ * CMCountProfileElements()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMCountProfileElements(
+ CMProfileRef prof,
+ UInt32 * elementCount) FOURWORDINLINE(0x203C, 0x0008, 0x001F, 0xABEE);
+
+
+/*
+ * CMGetProfileElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetProfileElement(
+ CMProfileRef prof,
+ OSType tag,
+ UInt32 * elementSize,
+ void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0020, 0xABEE);
+
+
+/*
+ * CMSetProfileElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetProfileElement(
+ CMProfileRef prof,
+ OSType tag,
+ UInt32 elementSize,
+ const void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0023, 0xABEE);
+
+
+/*
+ * CMSetProfileElementSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetProfileElementSize(
+ CMProfileRef prof,
+ OSType tag,
+ UInt32 elementSize) FOURWORDINLINE(0x203C, 0x000C, 0x0038, 0xABEE);
+
+
+/*
+ * CMSetProfileElementReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetProfileElementReference(
+ CMProfileRef prof,
+ OSType elementTag,
+ OSType referenceTag) FOURWORDINLINE(0x203C, 0x000C, 0x0035, 0xABEE);
+
+
+/*
+ * CMGetPartialProfileElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetPartialProfileElement(
+ CMProfileRef prof,
+ OSType tag,
+ UInt32 offset,
+ UInt32 * byteCount,
+ void * elementData) FOURWORDINLINE(0x203C, 0x0014, 0x0036, 0xABEE);
+
+
+/*
+ * CMSetPartialProfileElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetPartialProfileElement(
+ CMProfileRef prof,
+ OSType tag,
+ UInt32 offset,
+ UInt32 byteCount,
+ const void * elementData) FOURWORDINLINE(0x203C, 0x0014, 0x0037, 0xABEE);
+
+
+/*
+ * CMGetIndProfileElementInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetIndProfileElementInfo(
+ CMProfileRef prof,
+ UInt32 index,
+ OSType * tag,
+ UInt32 * elementSize,
+ Boolean * refs) FOURWORDINLINE(0x203C, 0x0014, 0x0021, 0xABEE);
+
+
+/*
+ * CMGetIndProfileElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetIndProfileElement(
+ CMProfileRef prof,
+ UInt32 index,
+ UInt32 * elementSize,
+ void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0022, 0xABEE);
+
+
+/*
+ * CMRemoveProfileElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMRemoveProfileElement(
+ CMProfileRef prof,
+ OSType tag) FOURWORDINLINE(0x203C, 0x0008, 0x0024, 0xABEE);
+
+
+/*
+ * CMGetScriptProfileDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetScriptProfileDescription(
+ CMProfileRef prof,
+ Str255 name,
+ ScriptCode * code) FOURWORDINLINE(0x203C, 0x000C, 0x003E, 0xABEE);
+
+
+/*
+ * CMGetProfileDescriptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetProfileDescriptions(
+ CMProfileRef prof,
+ char * aName,
+ UInt32 * aCount,
+ Str255 mName,
+ ScriptCode * mCode,
+ UniChar * uName,
+ UniCharCount * uCount) FOURWORDINLINE(0x203C, 0x001A, 0x0067, 0xABEE);
+
+
+/*
+ * CMSetProfileDescriptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetProfileDescriptions(
+ CMProfileRef prof,
+ const char * aName,
+ UInt32 aCount,
+ ConstStr255Param mName,
+ ScriptCode mCode,
+ const UniChar * uName,
+ UniCharCount uCount) FOURWORDINLINE(0x203C, 0x001A, 0x0068, 0xABEE);
+
+
+/*
+ * CMCopyProfileLocalizedStringDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 3.1 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMCopyProfileLocalizedStringDictionary(
+ CMProfileRef prof,
+ OSType tag,
+ CFDictionaryRef * theDict);
+
+
+/*
+ * CMSetProfileLocalizedStringDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 3.1 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMSetProfileLocalizedStringDictionary(
+ CMProfileRef prof,
+ OSType tag,
+ CFDictionaryRef theDict);
+
+
+/*
+ * CMCopyProfileLocalizedString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 3.1 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMCopyProfileLocalizedString(
+ CMProfileRef prof,
+ OSType tag,
+ CFStringRef reqLocale,
+ CFStringRef * locale,
+ CFStringRef * str);
+
+
+/*
+ * CMCloneProfileRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMCloneProfileRef(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x0042, 0xABEE);
+
+
+/*
+ * CMGetProfileRefCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetProfileRefCount(
+ CMProfileRef prof,
+ long * count) FOURWORDINLINE(0x203C, 0x0008, 0x0043, 0xABEE);
+
+
+/*
+ * CMProfileModified()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMProfileModified(
+ CMProfileRef prof,
+ Boolean * modified) FOURWORDINLINE(0x203C, 0x0008, 0x0044, 0xABEE);
+
+
+/*
+ * CMGetProfileMD5()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMGetProfileMD5(
+ CMProfileRef prof,
+ CMProfileMD5 digest);
+
+
+
+/* named Color access functions */
+/*
+ * CMGetNamedColorInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetNamedColorInfo(
+ CMProfileRef prof,
+ UInt32 * deviceChannels,
+ OSType * deviceColorSpace,
+ OSType * PCSColorSpace,
+ UInt32 * count,
+ StringPtr prefix,
+ StringPtr suffix) FOURWORDINLINE(0x203C, 0x001C, 0x0046, 0xABEE);
+
+
+/*
+ * CMGetNamedColorValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetNamedColorValue(
+ CMProfileRef prof,
+ StringPtr name,
+ CMColor * deviceColor,
+ CMColor * PCSColor) FOURWORDINLINE(0x203C, 0x0010, 0x0047, 0xABEE);
+
+
+/*
+ * CMGetIndNamedColorValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetIndNamedColorValue(
+ CMProfileRef prof,
+ UInt32 index,
+ CMColor * deviceColor,
+ CMColor * PCSColor) FOURWORDINLINE(0x203C, 0x0010, 0x0048, 0xABEE);
+
+
+/*
+ * CMGetNamedColorIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetNamedColorIndex(
+ CMProfileRef prof,
+ StringPtr name,
+ UInt32 * index) FOURWORDINLINE(0x203C, 0x000C, 0x0049, 0xABEE);
+
+
+/*
+ * CMGetNamedColorName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetNamedColorName(
+ CMProfileRef prof,
+ UInt32 index,
+ StringPtr name) FOURWORDINLINE(0x203C, 0x000C, 0x004A, 0xABEE);
+
+
+
+/* General-purpose matching functions */
+/*
+ * NCWNewColorWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+NCWNewColorWorld(
+ CMWorldRef * cw,
+ CMProfileRef src,
+ CMProfileRef dst) FOURWORDINLINE(0x203C, 0x000C, 0x0014, 0xABEE);
+
+
+/*
+ * CWConcatColorWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CWConcatColorWorld(
+ CMWorldRef * cw,
+ CMConcatProfileSet * profileSet) FOURWORDINLINE(0x203C, 0x0008, 0x0015, 0xABEE);
+
+
+/*
+ * CWNewLinkProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CWNewLinkProfile(
+ CMProfileRef * prof,
+ const CMProfileLocation * targetLocation,
+ CMConcatProfileSet * profileSet) FOURWORDINLINE(0x203C, 0x000C, 0x0033, 0xABEE);
+
+
+/*
+ * NCWConcatColorWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+NCWConcatColorWorld(
+ CMWorldRef * cw,
+ NCMConcatProfileSet * profileSet,
+ CMConcatCallBackUPP proc,
+ void * refCon) FOURWORDINLINE(0x203C, 0x0008, 0x0061, 0xABEE);
+
+
+/*
+ * NCWNewLinkProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+NCWNewLinkProfile(
+ CMProfileRef * prof,
+ const CMProfileLocation * targetLocation,
+ NCMConcatProfileSet * profileSet,
+ CMConcatCallBackUPP proc,
+ void * refCon) FOURWORDINLINE(0x203C, 0x000C, 0x0062, 0xABEE);
+
+
+/*
+ * CWDisposeColorWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CWDisposeColorWorld(CMWorldRef cw) FOURWORDINLINE(0x203C, 0x0004, 0x0001, 0xABEE);
+
+
+/*
+ * CWMatchColors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CWMatchColors(
+ CMWorldRef cw,
+ CMColor * myColors,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0002, 0xABEE);
+
+
+/*
+ * CWCheckColors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CWCheckColors(
+ CMWorldRef cw,
+ CMColor * myColors,
+ UInt32 count,
+ UInt32 * result) FOURWORDINLINE(0x203C, 0x0010, 0x0003, 0xABEE);
+
+
+/*
+ * CWMatchBitmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CWMatchBitmap(
+ CMWorldRef cw,
+ CMBitmap * bitmap,
+ CMBitmapCallBackUPP progressProc,
+ void * refCon,
+ CMBitmap * matchedBitmap) FOURWORDINLINE(0x203C, 0x0010, 0x002C, 0xABEE);
+
+
+/*
+ * CWCheckBitmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CWCheckBitmap(
+ CMWorldRef cw,
+ const CMBitmap * bitmap,
+ CMBitmapCallBackUPP progressProc,
+ void * refCon,
+ CMBitmap * resultBitmap) FOURWORDINLINE(0x203C, 0x0014, 0x002D, 0xABEE);
+
+
+/* Quickdraw-specific matching */
#if TARGET_OS_MAC && _DECLARE_CS_QD_API_
- /*
- * CWMatchPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CWMatchPixMap(
- CMWorldRef cw,
- PixMap * myPixMap,
- CMBitmapCallBackUPP progressProc,
- void * refCon) FOURWORDINLINE(0x203C, 0x0010, 0x0004, 0xABEE);
-
-
- /*
- * CWCheckPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CWCheckPixMap(
- CMWorldRef cw,
- PixMap * myPixMap,
- CMBitmapCallBackUPP progressProc,
- void * refCon,
- BitMap * resultBitMap) FOURWORDINLINE(0x203C, 0x0014, 0x0007, 0xABEE);
-
-
- /*
- * NCMBeginMatching()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- NCMBeginMatching(
- CMProfileRef src,
- CMProfileRef dst,
- CMMatchRef * myRef) FOURWORDINLINE(0x203C, 0x000C, 0x0016, 0xABEE);
-
-
- /*
- * CMEndMatching()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CMEndMatching(CMMatchRef myRef) FOURWORDINLINE(0x203C, 0x0004, 0x000B, 0xABEE);
-
-
- /*
- * NCMDrawMatchedPicture()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- NCMDrawMatchedPicture(
- PicHandle myPicture,
- CMProfileRef dst,
- Rect * myRect) FOURWORDINLINE(0x203C, 0x000C, 0x0017, 0xABEE);
-
-
- /*
- * CMEnableMatchingComment()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CMEnableMatchingComment(Boolean enableIt) FOURWORDINLINE(0x203C, 0x0002, 0x000D, 0xABEE);
-
-
- /*
- * NCMUseProfileComment()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- NCMUseProfileComment(
- CMProfileRef prof,
- UInt32 flags) FOURWORDINLINE(0x203C, 0x0008, 0x003B, 0xABEE);
+/*
+ * CWMatchPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CWMatchPixMap(
+ CMWorldRef cw,
+ PixMap * myPixMap,
+ CMBitmapCallBackUPP progressProc,
+ void * refCon) FOURWORDINLINE(0x203C, 0x0010, 0x0004, 0xABEE);
+
+
+/*
+ * CWCheckPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CWCheckPixMap(
+ CMWorldRef cw,
+ PixMap * myPixMap,
+ CMBitmapCallBackUPP progressProc,
+ void * refCon,
+ BitMap * resultBitMap) FOURWORDINLINE(0x203C, 0x0014, 0x0007, 0xABEE);
+
+
+/*
+ * NCMBeginMatching()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+NCMBeginMatching(
+ CMProfileRef src,
+ CMProfileRef dst,
+ CMMatchRef * myRef) FOURWORDINLINE(0x203C, 0x000C, 0x0016, 0xABEE);
+
+
+/*
+ * CMEndMatching()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CMEndMatching(CMMatchRef myRef) FOURWORDINLINE(0x203C, 0x0004, 0x000B, 0xABEE);
+
+
+/*
+ * NCMDrawMatchedPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+NCMDrawMatchedPicture(
+ PicHandle myPicture,
+ CMProfileRef dst,
+ Rect * myRect) FOURWORDINLINE(0x203C, 0x000C, 0x0017, 0xABEE);
+
+
+/*
+ * CMEnableMatchingComment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CMEnableMatchingComment(Boolean enableIt) FOURWORDINLINE(0x203C, 0x0002, 0x000D, 0xABEE);
+
+
+/*
+ * NCMUseProfileComment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+NCMUseProfileComment(
+ CMProfileRef prof,
+ UInt32 flags) FOURWORDINLINE(0x203C, 0x0008, 0x003B, 0xABEE);
#endif /* TARGET_OS_MAC && _DECLARE_CS_QD_API_ */
#if TARGET_OS_WIN32
#if CALL_NOT_IN_CARBON
- /*
- * CWMatchHBITMAP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CWMatchHBITMAP(
- CMWorldRef cw,
- void * hBitmap,
- CMBitmapCallBackUPP progressProc,
- void * refCon);
+/*
+ * CWMatchHBITMAP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CWMatchHBITMAP(
+ CMWorldRef cw,
+ void * hBitmap,
+ CMBitmapCallBackUPP progressProc,
+ void * refCon);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_OS_WIN32 */
- /*
- * CMCreateProfileIdentifier()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMCreateProfileIdentifier(
- CMProfileRef prof,
- CMProfileIdentifierPtr ident,
- UInt32 * size) FOURWORDINLINE(0x203C, 0x000C, 0x0041, 0xABEE);
-
-
-
- /* System Profile access */
- /*
- * CMGetSystemProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetSystemProfile(CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0004, 0x0018, 0xABEE);
-
-
- /*
- * CMSetSystemProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetSystemProfile(const FSSpec * profileFileSpec) FOURWORDINLINE(0x203C, 0x0004, 0x0019, 0xABEE);
-
-
- /*
- * NCMSetSystemProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- NCMSetSystemProfile(const CMProfileLocation * profLoc) FOURWORDINLINE(0x203C, 0x0004, 0x0064, 0xABEE);
-
-
- /*
- * CMGetDefaultProfileBySpace()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetDefaultProfileBySpace(
- OSType dataColorSpace,
- CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x005A, 0xABEE);
-
-
- /*
- * CMSetDefaultProfileBySpace()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetDefaultProfileBySpace(
- OSType dataColorSpace,
- CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x005B, 0xABEE);
+/*
+ * CMCreateProfileIdentifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMCreateProfileIdentifier(
+ CMProfileRef prof,
+ CMProfileIdentifierPtr ident,
+ UInt32 * size) FOURWORDINLINE(0x203C, 0x000C, 0x0041, 0xABEE);
+
+
+
+/* System Profile access */
+/*
+ * CMGetSystemProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetSystemProfile(CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0004, 0x0018, 0xABEE);
+
+
+/*
+ * CMSetSystemProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetSystemProfile(const FSSpec * profileFileSpec) FOURWORDINLINE(0x203C, 0x0004, 0x0019, 0xABEE);
+
+
+/*
+ * NCMSetSystemProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+NCMSetSystemProfile(const CMProfileLocation * profLoc) FOURWORDINLINE(0x203C, 0x0004, 0x0064, 0xABEE);
+
+
+/*
+ * CMGetDefaultProfileBySpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetDefaultProfileBySpace(
+ OSType dataColorSpace,
+ CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x005A, 0xABEE);
+
+
+/*
+ * CMSetDefaultProfileBySpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetDefaultProfileBySpace(
+ OSType dataColorSpace,
+ CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x005B, 0xABEE);
#if TARGET_OS_MAC
- /*
- * CMGetProfileByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetProfileByAVID(
- CMDisplayIDType theID,
- CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x005C, 0xABEE);
-
-
- /*
- * CMSetProfileByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetProfileByAVID(
- CMDisplayIDType theID,
- CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x005D, 0xABEE);
-
-
- /*
- * CMGetGammaByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetGammaByAVID(
- CMDisplayIDType theID,
- CMVideoCardGamma * gamma,
- UInt32 * size);
-
-
- /*
- * CMSetGammaByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetGammaByAVID(
- CMDisplayIDType theID,
- CMVideoCardGamma * gamma);
+/*
+ * CMGetProfileByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetProfileByAVID(
+ CMDisplayIDType theID,
+ CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x005C, 0xABEE);
+
+
+/*
+ * CMSetProfileByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetProfileByAVID(
+ CMDisplayIDType theID,
+ CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x005D, 0xABEE);
+
+
+/*
+ * CMGetGammaByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetGammaByAVID(
+ CMDisplayIDType theID,
+ CMVideoCardGamma * gamma,
+ UInt32 * size);
+
+
+/*
+ * CMSetGammaByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetGammaByAVID(
+ CMDisplayIDType theID,
+ CMVideoCardGamma * gamma);
#endif /* TARGET_OS_MAC */
- /* Profile access by Use */
- /*
- * CMGetDefaultProfileByUse()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetDefaultProfileByUse(
- OSType use,
- CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x0069, 0xABEE);
-
-
- /*
- * CMSetDefaultProfileByUse()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSetDefaultProfileByUse(
- OSType use,
- CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x0079, 0xABEE);
-
-
- /* Profile Management */
- /*
- * CMNewProfileSearch()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMNewProfileSearch(
- CMSearchRecord * searchSpec,
- void * refCon,
- UInt32 * count,
- CMProfileSearchRef * searchResult) FOURWORDINLINE(0x203C, 0x0010, 0x0027, 0xABEE);
-
-
- /*
- * CMUpdateProfileSearch()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMUpdateProfileSearch(
- CMProfileSearchRef search,
- void * refCon,
- UInt32 * count) FOURWORDINLINE(0x203C, 0x000C, 0x0028, 0xABEE);
-
-
- /*
- * CMDisposeProfileSearch()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CMDisposeProfileSearch(CMProfileSearchRef search) FOURWORDINLINE(0x203C, 0x0004, 0x0029, 0xABEE);
-
-
- /*
- * CMSearchGetIndProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSearchGetIndProfile(
- CMProfileSearchRef search,
- UInt32 index,
- CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x000C, 0x002A, 0xABEE);
-
-
- /*
- * CMSearchGetIndProfileFileSpec()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMSearchGetIndProfileFileSpec(
- CMProfileSearchRef search,
- UInt32 index,
- FSSpec * profileFile) FOURWORDINLINE(0x203C, 0x000C, 0x002B, 0xABEE);
-
-
- /*
- * CMProfileIdentifierFolderSearch()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMProfileIdentifierFolderSearch(
- CMProfileIdentifierPtr ident,
- UInt32 * matchedCount,
- CMProfileSearchRef * searchResult) FOURWORDINLINE(0x203C, 0x000C, 0x003F, 0xABEE);
-
-
- /*
- * CMProfileIdentifierListSearch()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMProfileIdentifierListSearch(
- CMProfileIdentifierPtr ident,
- CMProfileRef * profileList,
- UInt32 listSize,
- UInt32 * matchedCount,
- CMProfileRef * matchedList) FOURWORDINLINE(0x203C, 0x0014, 0x0040, 0xABEE);
-
-
- /*
- * CMIterateColorSyncFolder()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMIterateColorSyncFolder(
- CMProfileIterateUPP proc,
- UInt32 * seed,
- UInt32 * count,
- void * refCon) FOURWORDINLINE(0x203C, 0x0010, 0x0058, 0xABEE);
-
-
- /*
- * NCMUnflattenProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- NCMUnflattenProfile(
- CMProfileLocation * targetLocation,
- CMFlattenUPP proc,
- void * refCon,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x0065, 0xABEE);
-
-
- /* Utilities */
+/* Profile access by Use */
+/*
+ * CMGetDefaultProfileByUse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetDefaultProfileByUse(
+ OSType use,
+ CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x0069, 0xABEE);
+
+
+/*
+ * CMSetDefaultProfileByUse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSetDefaultProfileByUse(
+ OSType use,
+ CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x0079, 0xABEE);
+
+
+/* Profile Management */
+/*
+ * CMNewProfileSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMNewProfileSearch(
+ CMSearchRecord * searchSpec,
+ void * refCon,
+ UInt32 * count,
+ CMProfileSearchRef * searchResult) FOURWORDINLINE(0x203C, 0x0010, 0x0027, 0xABEE);
+
+
+/*
+ * CMUpdateProfileSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMUpdateProfileSearch(
+ CMProfileSearchRef search,
+ void * refCon,
+ UInt32 * count) FOURWORDINLINE(0x203C, 0x000C, 0x0028, 0xABEE);
+
+
+/*
+ * CMDisposeProfileSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CMDisposeProfileSearch(CMProfileSearchRef search) FOURWORDINLINE(0x203C, 0x0004, 0x0029, 0xABEE);
+
+
+/*
+ * CMSearchGetIndProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSearchGetIndProfile(
+ CMProfileSearchRef search,
+ UInt32 index,
+ CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x000C, 0x002A, 0xABEE);
+
+
+/*
+ * CMSearchGetIndProfileFileSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMSearchGetIndProfileFileSpec(
+ CMProfileSearchRef search,
+ UInt32 index,
+ FSSpec * profileFile) FOURWORDINLINE(0x203C, 0x000C, 0x002B, 0xABEE);
+
+
+/*
+ * CMProfileIdentifierFolderSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMProfileIdentifierFolderSearch(
+ CMProfileIdentifierPtr ident,
+ UInt32 * matchedCount,
+ CMProfileSearchRef * searchResult) FOURWORDINLINE(0x203C, 0x000C, 0x003F, 0xABEE);
+
+
+/*
+ * CMProfileIdentifierListSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMProfileIdentifierListSearch(
+ CMProfileIdentifierPtr ident,
+ CMProfileRef * profileList,
+ UInt32 listSize,
+ UInt32 * matchedCount,
+ CMProfileRef * matchedList) FOURWORDINLINE(0x203C, 0x0014, 0x0040, 0xABEE);
+
+
+/*
+ * CMIterateColorSyncFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMIterateColorSyncFolder(
+ CMProfileIterateUPP proc,
+ UInt32 * seed,
+ UInt32 * count,
+ void * refCon) FOURWORDINLINE(0x203C, 0x0010, 0x0058, 0xABEE);
+
+
+/*
+ * NCMUnflattenProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+NCMUnflattenProfile(
+ CMProfileLocation * targetLocation,
+ CMFlattenUPP proc,
+ void * refCon,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x0065, 0xABEE);
+
+
+/* Utilities */
#if TARGET_OS_MAC
- /*
- * CMGetColorSyncFolderSpec()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetColorSyncFolderSpec(
- short vRefNum,
- Boolean createFolder,
- short * foundVRefNum,
- long * foundDirID) FOURWORDINLINE(0x203C, 0x000C, 0x0011, 0xABEE);
+/*
+ * CMGetColorSyncFolderSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetColorSyncFolderSpec(
+ short vRefNum,
+ Boolean createFolder,
+ short * foundVRefNum,
+ long * foundDirID) FOURWORDINLINE(0x203C, 0x000C, 0x0011, 0xABEE);
#endif /* TARGET_OS_MAC */
#if TARGET_OS_WIN32 || TARGET_OS_UNIX
#if CALL_NOT_IN_CARBON
- /*
- * CMGetColorSyncFolderPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMGetColorSyncFolderPath(
- Boolean createFolder,
- char * lpBuffer,
- UInt32 uSize);
+/*
+ * CMGetColorSyncFolderPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMGetColorSyncFolderPath(
+ Boolean createFolder,
+ char * lpBuffer,
+ UInt32 uSize);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_OS_WIN32 || TARGET_OS_UNIX */
- /*
- * CMGetCWInfo()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetCWInfo(
- CMWorldRef cw,
- CMCWInfoRecord * info) FOURWORDINLINE(0x203C, 0x0008, 0x001A, 0xABEE);
+/*
+ * CMGetCWInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetCWInfo(
+ CMWorldRef cw,
+ CMCWInfoRecord * info) FOURWORDINLINE(0x203C, 0x0008, 0x001A, 0xABEE);
#if TARGET_API_MAC_OS8
#if CALL_NOT_IN_CARBON
- /*
- * CMConvertProfile2to1()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMConvertProfile2to1(
- CMProfileRef profv2,
- CMProfileHandle * profv1) FOURWORDINLINE(0x203C, 0x0008, 0x0045, 0xABEE);
+/*
+ * CMConvertProfile2to1()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMConvertProfile2to1(
+ CMProfileRef profv2,
+ CMProfileHandle * profv1) FOURWORDINLINE(0x203C, 0x0008, 0x0045, 0xABEE);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_API_MAC_OS8 */
- /*
- * CMGetPreferredCMM()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetPreferredCMM(
- OSType * cmmType,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0008, 0x005E, 0xABEE);
-
-
- /*
- * CMIterateCMMInfo()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMIterateCMMInfo(
- CMMIterateUPP proc,
- UInt32 * count,
- void * refCon) FOURWORDINLINE(0x203C, 0x000C, 0x0063, 0xABEE);
-
-
- /*
- * CMGetColorSyncVersion()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetColorSyncVersion(UInt32 * version) FOURWORDINLINE(0x203C, 0x0004, 0x0066, 0xABEE);
-
-
- /*
- * CMLaunchControlPanel()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMLaunchControlPanel(UInt32 flags);
-
-
- /* ColorSpace conversion functions */
- /*
- * CMConvertXYZToLab()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertXYZToLab(
- const CMColor * src,
- const CMXYZColor * white,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004B, 0xABEE);
-
-
- /*
- * CMConvertLabToXYZ()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertLabToXYZ(
- const CMColor * src,
- const CMXYZColor * white,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004C, 0xABEE);
-
-
- /*
- * CMConvertXYZToLuv()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertXYZToLuv(
- const CMColor * src,
- const CMXYZColor * white,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004D, 0xABEE);
-
-
- /*
- * CMConvertLuvToXYZ()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertLuvToXYZ(
- const CMColor * src,
- const CMXYZColor * white,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004E, 0xABEE);
-
-
- /*
- * CMConvertXYZToYxy()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertXYZToYxy(
- const CMColor * src,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x004F, 0xABEE);
-
-
- /*
- * CMConvertYxyToXYZ()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertYxyToXYZ(
- const CMColor * src,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0050, 0xABEE);
-
-
- /*
- * CMConvertRGBToHLS()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertRGBToHLS(
- const CMColor * src,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0051, 0xABEE);
-
-
- /*
- * CMConvertHLSToRGB()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertHLSToRGB(
- const CMColor * src,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0052, 0xABEE);
-
-
- /*
- * CMConvertRGBToHSV()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertRGBToHSV(
- const CMColor * src,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0053, 0xABEE);
-
-
- /*
- * CMConvertHSVToRGB()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertHSVToRGB(
- const CMColor * src,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0054, 0xABEE);
-
-
- /*
- * CMConvertRGBToGray()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertRGBToGray(
- const CMColor * src,
- CMColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0055, 0xABEE);
-
-
- /*
- * CMConvertXYZToFixedXYZ()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertXYZToFixedXYZ(
- const CMXYZColor * src,
- CMFixedXYZColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0056, 0xABEE);
-
-
- /*
- * CMConvertFixedXYZToXYZ()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMConvertFixedXYZToXYZ(
- const CMFixedXYZColor * src,
- CMXYZColor * dst,
- UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0057, 0xABEE);
-
-
- /*
- * CMConvertXYZToXYZ()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMConvertXYZToXYZ(
- const CMColor * src,
- const CMXYZColor * srcIlluminant,
- CMColor * dst,
- const CMXYZColor * dstIlluminant,
- CMChromaticAdaptation method,
- UInt32 count);
-
-
-
- /* PS-related */
- /*
- * CMGetPS2ColorSpace()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetPS2ColorSpace(
- CMProfileRef srcProf,
- UInt32 flags,
- CMFlattenUPP proc,
- void * refCon,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x002E, 0xABEE);
-
-
- /*
- * CMGetPS2ColorRenderingIntent()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetPS2ColorRenderingIntent(
- CMProfileRef srcProf,
- UInt32 flags,
- CMFlattenUPP proc,
- void * refCon,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x002F, 0xABEE);
-
-
- /*
- * CMGetPS2ColorRendering()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetPS2ColorRendering(
- CMProfileRef srcProf,
- CMProfileRef dstProf,
- UInt32 flags,
- CMFlattenUPP proc,
- void * refCon,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0018, 0x0030, 0xABEE);
-
-
- /*
- * CMGetPS2ColorRenderingVMSize()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CMError)
- CMGetPS2ColorRenderingVMSize(
- CMProfileRef srcProf,
- CMProfileRef dstProf,
- UInt32 * vmSize,
- Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x003D, 0xABEE);
-
-
-
- /* ColorSync 1.0 functions which have parallel 2.0 counterparts */
+/*
+ * CMGetPreferredCMM()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetPreferredCMM(
+ OSType * cmmType,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0008, 0x005E, 0xABEE);
+
+
+/*
+ * CMIterateCMMInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMIterateCMMInfo(
+ CMMIterateUPP proc,
+ UInt32 * count,
+ void * refCon) FOURWORDINLINE(0x203C, 0x000C, 0x0063, 0xABEE);
+
+
+/*
+ * CMGetColorSyncVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetColorSyncVersion(UInt32 * version) FOURWORDINLINE(0x203C, 0x0004, 0x0066, 0xABEE);
+
+
+/*
+ * CMLaunchControlPanel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMLaunchControlPanel(UInt32 flags);
+
+
+/* ColorSpace conversion functions */
+/*
+ * CMConvertXYZToLab()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertXYZToLab(
+ const CMColor * src,
+ const CMXYZColor * white,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004B, 0xABEE);
+
+
+/*
+ * CMConvertLabToXYZ()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertLabToXYZ(
+ const CMColor * src,
+ const CMXYZColor * white,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004C, 0xABEE);
+
+
+/*
+ * CMConvertXYZToLuv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertXYZToLuv(
+ const CMColor * src,
+ const CMXYZColor * white,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004D, 0xABEE);
+
+
+/*
+ * CMConvertLuvToXYZ()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertLuvToXYZ(
+ const CMColor * src,
+ const CMXYZColor * white,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004E, 0xABEE);
+
+
+/*
+ * CMConvertXYZToYxy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertXYZToYxy(
+ const CMColor * src,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x004F, 0xABEE);
+
+
+/*
+ * CMConvertYxyToXYZ()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertYxyToXYZ(
+ const CMColor * src,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0050, 0xABEE);
+
+
+/*
+ * CMConvertRGBToHLS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertRGBToHLS(
+ const CMColor * src,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0051, 0xABEE);
+
+
+/*
+ * CMConvertHLSToRGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertHLSToRGB(
+ const CMColor * src,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0052, 0xABEE);
+
+
+/*
+ * CMConvertRGBToHSV()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertRGBToHSV(
+ const CMColor * src,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0053, 0xABEE);
+
+
+/*
+ * CMConvertHSVToRGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertHSVToRGB(
+ const CMColor * src,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0054, 0xABEE);
+
+
+/*
+ * CMConvertRGBToGray()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertRGBToGray(
+ const CMColor * src,
+ CMColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0055, 0xABEE);
+
+
+/*
+ * CMConvertXYZToFixedXYZ()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertXYZToFixedXYZ(
+ const CMXYZColor * src,
+ CMFixedXYZColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0056, 0xABEE);
+
+
+/*
+ * CMConvertFixedXYZToXYZ()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMConvertFixedXYZToXYZ(
+ const CMFixedXYZColor * src,
+ CMXYZColor * dst,
+ UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0057, 0xABEE);
+
+
+/*
+ * CMConvertXYZToXYZ()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMConvertXYZToXYZ(
+ const CMColor * src,
+ const CMXYZColor * srcIlluminant,
+ CMColor * dst,
+ const CMXYZColor * dstIlluminant,
+ CMChromaticAdaptation method,
+ UInt32 count);
+
+
+
+/* PS-related */
+/*
+ * CMGetPS2ColorSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetPS2ColorSpace(
+ CMProfileRef srcProf,
+ UInt32 flags,
+ CMFlattenUPP proc,
+ void * refCon,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x002E, 0xABEE);
+
+
+/*
+ * CMGetPS2ColorRenderingIntent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetPS2ColorRenderingIntent(
+ CMProfileRef srcProf,
+ UInt32 flags,
+ CMFlattenUPP proc,
+ void * refCon,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x002F, 0xABEE);
+
+
+/*
+ * CMGetPS2ColorRendering()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetPS2ColorRendering(
+ CMProfileRef srcProf,
+ CMProfileRef dstProf,
+ UInt32 flags,
+ CMFlattenUPP proc,
+ void * refCon,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0018, 0x0030, 0xABEE);
+
+
+/*
+ * CMGetPS2ColorRenderingVMSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CMError )
+CMGetPS2ColorRenderingVMSize(
+ CMProfileRef srcProf,
+ CMProfileRef dstProf,
+ UInt32 * vmSize,
+ Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x003D, 0xABEE);
+
+
+
+/* ColorSync 1.0 functions which have parallel 2.0 counterparts */
#if TARGET_API_MAC_OS8
#if CALL_NOT_IN_CARBON
- /*
- * CWNewColorWorld()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CWNewColorWorld(
- CMWorldRef * cw,
- CMProfileHandle src,
- CMProfileHandle dst) FOURWORDINLINE(0x203C, 0x000C, 0x0000, 0xABEE);
-
-
- /*
- * ConcatenateProfiles()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- ConcatenateProfiles(
- CMProfileHandle thru,
- CMProfileHandle dst,
- CMProfileHandle * newDst) FOURWORDINLINE(0x203C, 0x000C, 0x000C, 0xABEE);
-
-
- /*
- * CMBeginMatching()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMBeginMatching(
- CMProfileHandle src,
- CMProfileHandle dst,
- CMMatchRef * myRef) FOURWORDINLINE(0x203C, 0x000C, 0x000A, 0xABEE);
-
-
- /*
- * CMDrawMatchedPicture()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CMDrawMatchedPicture(
- PicHandle myPicture,
- CMProfileHandle dst,
- Rect * myRect) FOURWORDINLINE(0x203C, 0x000C, 0x0009, 0xABEE);
-
-
- /*
- * CMUseProfileComment()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMUseProfileComment(CMProfileHandle profile) FOURWORDINLINE(0x203C, 0x0004, 0x0008, 0xABEE);
-
-
- /*
- * CMGetProfileName()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CMGetProfileName(
- CMProfileHandle myProfile,
- CMIString * IStringResult) FOURWORDINLINE(0x203C, 0x0008, 0x000E, 0xABEE);
-
-
- /*
- * CMGetProfileAdditionalDataOffset()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long)
- CMGetProfileAdditionalDataOffset(CMProfileHandle myProfile) FOURWORDINLINE(0x203C, 0x0004, 0x000F, 0xABEE);
-
-
-
- /* ProfileResponder definitions */
+/*
+ * CWNewColorWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CWNewColorWorld(
+ CMWorldRef * cw,
+ CMProfileHandle src,
+ CMProfileHandle dst) FOURWORDINLINE(0x203C, 0x000C, 0x0000, 0xABEE);
+
+
+/*
+ * ConcatenateProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+ConcatenateProfiles(
+ CMProfileHandle thru,
+ CMProfileHandle dst,
+ CMProfileHandle * newDst) FOURWORDINLINE(0x203C, 0x000C, 0x000C, 0xABEE);
+
+
+/*
+ * CMBeginMatching()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMBeginMatching(
+ CMProfileHandle src,
+ CMProfileHandle dst,
+ CMMatchRef * myRef) FOURWORDINLINE(0x203C, 0x000C, 0x000A, 0xABEE);
+
+
+/*
+ * CMDrawMatchedPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CMDrawMatchedPicture(
+ PicHandle myPicture,
+ CMProfileHandle dst,
+ Rect * myRect) FOURWORDINLINE(0x203C, 0x000C, 0x0009, 0xABEE);
+
+
+/*
+ * CMUseProfileComment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMUseProfileComment(CMProfileHandle profile) FOURWORDINLINE(0x203C, 0x0004, 0x0008, 0xABEE);
+
+
+/*
+ * CMGetProfileName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CMGetProfileName(
+ CMProfileHandle myProfile,
+ CMIString * IStringResult) FOURWORDINLINE(0x203C, 0x0008, 0x000E, 0xABEE);
+
+
+/*
+ * CMGetProfileAdditionalDataOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long )
+CMGetProfileAdditionalDataOffset(CMProfileHandle myProfile) FOURWORDINLINE(0x203C, 0x0004, 0x000F, 0xABEE);
+
+
+
+/* ProfileResponder definitions */
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- cmSystemDevice = FOUR_CHAR_CODE('sys '),
- cmGDevice = FOUR_CHAR_CODE('gdev')
- };
+enum {
+ cmSystemDevice = FOUR_CHAR_CODE('sys '),
+ cmGDevice = FOUR_CHAR_CODE('gdev')
+};
- /* ProfileResponder functions */
+/* ProfileResponder functions */
#if CALL_NOT_IN_CARBON
- /*
- * GetProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- GetProfile(
- OSType deviceType,
- long refNum,
- CMProfileHandle aProfile,
- CMProfileHandle * returnedProfile) FOURWORDINLINE(0x203C, 0x0010, 0x0005, 0xABEE);
-
-
- /*
- * SetProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- SetProfile(
- OSType deviceType,
- long refNum,
- CMProfileHandle newProfile) FOURWORDINLINE(0x203C, 0x000C, 0x0006, 0xABEE);
-
-
- /*
- * SetProfileDescription()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- SetProfileDescription(
- OSType deviceType,
- long refNum,
- long deviceData,
- CMProfileHandle hProfile) FOURWORDINLINE(0x203C, 0x0010, 0x0010, 0xABEE);
-
-
- /*
- * GetIndexedProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- GetIndexedProfile(
- OSType deviceType,
- long refNum,
- CMProfileSearchRecordHandle search,
- CMProfileHandle * returnProfile,
- long * index) FOURWORDINLINE(0x203C, 0x0014, 0x0012, 0xABEE);
-
-
- /*
- * DeleteDeviceProfile()
- *
- * Availability:
- * Non-Carbon CFM: in ColorSyncLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- DeleteDeviceProfile(
- OSType deviceType,
- long refNum,
- CMProfileHandle deleteMe) FOURWORDINLINE(0x203C, 0x000C, 0x0013, 0xABEE);
+/*
+ * GetProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+GetProfile(
+ OSType deviceType,
+ long refNum,
+ CMProfileHandle aProfile,
+ CMProfileHandle * returnedProfile) FOURWORDINLINE(0x203C, 0x0010, 0x0005, 0xABEE);
+
+
+/*
+ * SetProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+SetProfile(
+ OSType deviceType,
+ long refNum,
+ CMProfileHandle newProfile) FOURWORDINLINE(0x203C, 0x000C, 0x0006, 0xABEE);
+
+
+/*
+ * SetProfileDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+SetProfileDescription(
+ OSType deviceType,
+ long refNum,
+ long deviceData,
+ CMProfileHandle hProfile) FOURWORDINLINE(0x203C, 0x0010, 0x0010, 0xABEE);
+
+
+/*
+ * GetIndexedProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+GetIndexedProfile(
+ OSType deviceType,
+ long refNum,
+ CMProfileSearchRecordHandle search,
+ CMProfileHandle * returnProfile,
+ long * index) FOURWORDINLINE(0x203C, 0x0014, 0x0012, 0xABEE);
+
+
+/*
+ * DeleteDeviceProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorSyncLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+DeleteDeviceProfile(
+ OSType deviceType,
+ long refNum,
+ CMProfileHandle deleteMe) FOURWORDINLINE(0x203C, 0x000C, 0x0013, 0xABEE);
#endif /* CALL_NOT_IN_CARBON */
#if OLDROUTINENAMES
- /* old constants */
-
- typedef CMFlattenProcPtr CMFlattenProc;
- typedef CMBitmapCallBackProcPtr CMBitmapCallBackProc;
- typedef CMProfileFilterProcPtr CMProfileFilterProc;
- enum
- {
- CMTrap = cmTrap,
- CMBeginProfile = cmBeginProfile,
- CMEndProfile = cmEndProfile,
- CMEnableMatching = cmEnableMatching,
- CMDisableMatching = cmDisableMatching
- };
-
- /* 1.0 Error codes, for compatibility with older applications. 1.0 CMM's may return obsolete error codes */
- enum
- {
- CMNoError = 0, /* obsolete name, use noErr */
- CMProfileError = cmProfileError,
- CMMethodError = cmMethodError,
- CMMemFullError = -172, /* obsolete, 2.0 uses memFullErr */
- CMUnimplementedError = -173, /* obsolete, 2.0 uses unimpErr */
- CMParamError = -174, /* obsolete, 2.0 uses paramErr */
- CMMethodNotFound = cmMethodNotFound,
- CMProfileNotFound = cmProfileNotFound,
- CMProfilesIdentical = cmProfilesIdentical,
- CMCantConcatenateError = cmCantConcatenateError,
- CMCantXYZ = cmCantXYZ,
- CMCantDeleteProfile = cmCantDeleteProfile,
- CMUnsupportedDataType = cmUnsupportedDataType,
- CMNoCurrentProfile = cmNoCurrentProfile
- };
-
- enum
- {
- qdSystemDevice = cmSystemDevice,
- qdGDevice = cmGDevice
- };
-
-
- enum
- {
- kMatchCMMType = cmMatchCMMType,
- kMatchApplProfileVersion = cmMatchApplProfileVersion,
- kMatchDataType = cmMatchDataType,
- kMatchDeviceType = cmMatchDeviceType,
- kMatchDeviceManufacturer = cmMatchDeviceManufacturer,
- kMatchDeviceModel = cmMatchDeviceModel,
- kMatchDeviceAttributes = cmMatchDeviceAttributes,
- kMatchFlags = cmMatchFlags,
- kMatchOptions = cmMatchOptions,
- kMatchWhite = cmMatchWhite,
- kMatchBlack = cmMatchBlack
- };
-
- /* old types */
- typedef CMCMYKColor CMYKColor;
- typedef CMWorldRef CWorld;
- typedef long * CMGamutResult;
- /* old functions */
+/* old constants */
+
+typedef CMFlattenProcPtr CMFlattenProc;
+typedef CMBitmapCallBackProcPtr CMBitmapCallBackProc;
+typedef CMProfileFilterProcPtr CMProfileFilterProc;
+enum {
+ CMTrap = cmTrap,
+ CMBeginProfile = cmBeginProfile,
+ CMEndProfile = cmEndProfile,
+ CMEnableMatching = cmEnableMatching,
+ CMDisableMatching = cmDisableMatching
+};
+
+/* 1.0 Error codes, for compatibility with older applications. 1.0 CMM's may return obsolete error codes */
+enum {
+ CMNoError = 0, /* obsolete name, use noErr */
+ CMProfileError = cmProfileError,
+ CMMethodError = cmMethodError,
+ CMMemFullError = -172, /* obsolete, 2.0 uses memFullErr */
+ CMUnimplementedError = -173, /* obsolete, 2.0 uses unimpErr */
+ CMParamError = -174, /* obsolete, 2.0 uses paramErr */
+ CMMethodNotFound = cmMethodNotFound,
+ CMProfileNotFound = cmProfileNotFound,
+ CMProfilesIdentical = cmProfilesIdentical,
+ CMCantConcatenateError = cmCantConcatenateError,
+ CMCantXYZ = cmCantXYZ,
+ CMCantDeleteProfile = cmCantDeleteProfile,
+ CMUnsupportedDataType = cmUnsupportedDataType,
+ CMNoCurrentProfile = cmNoCurrentProfile
+};
+
+enum {
+ qdSystemDevice = cmSystemDevice,
+ qdGDevice = cmGDevice
+};
+
+
+enum {
+ kMatchCMMType = cmMatchCMMType,
+ kMatchApplProfileVersion = cmMatchApplProfileVersion,
+ kMatchDataType = cmMatchDataType,
+ kMatchDeviceType = cmMatchDeviceType,
+ kMatchDeviceManufacturer = cmMatchDeviceManufacturer,
+ kMatchDeviceModel = cmMatchDeviceModel,
+ kMatchDeviceAttributes = cmMatchDeviceAttributes,
+ kMatchFlags = cmMatchFlags,
+ kMatchOptions = cmMatchOptions,
+ kMatchWhite = cmMatchWhite,
+ kMatchBlack = cmMatchBlack
+};
+
+/* old types */
+typedef CMCMYKColor CMYKColor;
+typedef CMWorldRef CWorld;
+typedef long * CMGamutResult;
+/* old functions */
#define EndMatching(myRef) CMEndMatching(myRef)
#define EnableMatching(enableIt) CMEnableMatchingComment(enableIt)
#define GetColorSyncFolderSpec(vRefNum, createFolder, foundVRefNum, foundDirID) CMGetColorSyncFolderSpec(vRefNum, createFolder, foundVRefNum, foundDirID)
@@ -2686,43 +2606,40 @@ extern "C" {
#define GetProfileAdditionalDataOffset(myProfile) CMGetProfileAdditionalDataOffset(myProfile)
#endif /* OLDROUTINENAMES */
- /* Deprecated stuff*/
- /* PrGeneral parameter blocks */
- enum
- {
- enableColorMatchingOp = 12,
- registerProfileOp = 13
- };
-
- struct TEnableColorMatchingBlk
- {
- short iOpCode;
- short iError;
- long lReserved;
- void * hPrint; /* THPrint*/
- Boolean fEnableIt;
- SInt8 filler;
- };
- typedef struct TEnableColorMatchingBlk TEnableColorMatchingBlk;
- struct TRegisterProfileBlk
- {
- short iOpCode;
- short iError;
- long lReserved;
- void * hPrint; /* THPrint*/
- Boolean fRegisterIt;
- SInt8 filler;
- };
- typedef struct TRegisterProfileBlk TRegisterProfileBlk;
+/* Deprecated stuff*/
+/* PrGeneral parameter blocks */
+enum {
+ enableColorMatchingOp = 12,
+ registerProfileOp = 13
+};
+
+struct TEnableColorMatchingBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ void * hPrint; /* THPrint*/
+ Boolean fEnableIt;
+ SInt8 filler;
+};
+typedef struct TEnableColorMatchingBlk TEnableColorMatchingBlk;
+struct TRegisterProfileBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ void * hPrint; /* THPrint*/
+ Boolean fRegisterIt;
+ SInt8 filler;
+};
+typedef struct TRegisterProfileBlk TRegisterProfileBlk;
#endif /* TARGET_API_MAC_OS8 */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CMCalibrator.h b/include/qt/CMCalibrator.h
index 0c62a0178..abe7e3d4e 100644
--- a/include/qt/CMCalibrator.h
+++ b/include/qt/CMCalibrator.h
@@ -1,17 +1,17 @@
/*
File: CMCalibrator.h
-
+
Contains: ColorSync Calibration API
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1998-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CMCALIBRATOR__
#define __CMCALIBRATOR__
@@ -41,433 +41,384 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- typedef CALLBACK_API(void , CalibrateEventProcPtr)(EventRecord * event);
- typedef STACK_UPP_TYPE(CalibrateEventProcPtr) CalibrateEventUPP;
-
- /* Interface for new ColorSync monitor calibrators (ColorSync 2.6 and greater) */
-
- enum
- {
- kCalibratorNamePrefix = FOUR_CHAR_CODE('cali')
- };
-
- struct CalibratorInfo
- {
- UInt32 dataSize; /* Size of this structure - compatibility */
- CMDisplayIDType displayID; /* Contains an hDC on Win32 */
- UInt32 profileLocationSize; /* Max size for returned profile location */
- CMProfileLocation * profileLocationPtr; /* For returning the profile */
- CalibrateEventUPP eventProc; /* Ignored on Win32 */
- Boolean isGood; /* true or false */
- };
- typedef struct CalibratorInfo CalibratorInfo;
- typedef CALLBACK_API(Boolean , CanCalibrateProcPtr)(CMDisplayIDType displayID, Str255 errMessage);
- typedef CALLBACK_API(OSErr , CalibrateProcPtr)(CalibratorInfo * theInfo);
- typedef STACK_UPP_TYPE(CanCalibrateProcPtr) CanCalibrateUPP;
- typedef STACK_UPP_TYPE(CalibrateProcPtr) CalibrateUPP;
- /*
- * NewCalibrateEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CalibrateEventUPP)
- NewCalibrateEventUPP(CalibrateEventProcPtr userRoutine);
+ #pragma pack(2)
+#endif
+
+typedef CALLBACK_API( void , CalibrateEventProcPtr )(EventRecord * event);
+typedef STACK_UPP_TYPE(CalibrateEventProcPtr) CalibrateEventUPP;
+
+/* Interface for new ColorSync monitor calibrators (ColorSync 2.6 and greater) */
+
+enum {
+ kCalibratorNamePrefix = FOUR_CHAR_CODE('cali')
+};
+
+struct CalibratorInfo {
+ UInt32 dataSize; /* Size of this structure - compatibility */
+ CMDisplayIDType displayID; /* Contains an hDC on Win32 */
+ UInt32 profileLocationSize; /* Max size for returned profile location */
+ CMProfileLocation * profileLocationPtr; /* For returning the profile */
+ CalibrateEventUPP eventProc; /* Ignored on Win32 */
+ Boolean isGood; /* true or false */
+};
+typedef struct CalibratorInfo CalibratorInfo;
+typedef CALLBACK_API( Boolean , CanCalibrateProcPtr )(CMDisplayIDType displayID, Str255 errMessage);
+typedef CALLBACK_API( OSErr , CalibrateProcPtr )(CalibratorInfo * theInfo);
+typedef STACK_UPP_TYPE(CanCalibrateProcPtr) CanCalibrateUPP;
+typedef STACK_UPP_TYPE(CalibrateProcPtr) CalibrateUPP;
+/*
+ * NewCalibrateEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CalibrateEventUPP )
+NewCalibrateEventUPP(CalibrateEventProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCalibrateEventProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CalibrateEventUPP) NewCalibrateEventUPP(CalibrateEventProcPtr userRoutine)
- {
- return (CalibrateEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateEventProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCalibrateEventUPP(userRoutine) (CalibrateEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateEventProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCalibrateEventProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CalibrateEventUPP) NewCalibrateEventUPP(CalibrateEventProcPtr userRoutine) { return (CalibrateEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateEventProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCalibrateEventUPP(userRoutine) (CalibrateEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateEventProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCanCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(CanCalibrateUPP)
- NewCanCalibrateUPP(CanCalibrateProcPtr userRoutine);
+/*
+ * NewCanCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( CanCalibrateUPP )
+NewCanCalibrateUPP(CanCalibrateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCanCalibrateProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CanCalibrateUPP) NewCanCalibrateUPP(CanCalibrateProcPtr userRoutine)
- {
- return (CanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCanCalibrateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCanCalibrateUPP(userRoutine) (CanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCanCalibrateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCanCalibrateProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CanCalibrateUPP) NewCanCalibrateUPP(CanCalibrateProcPtr userRoutine) { return (CanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCanCalibrateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCanCalibrateUPP(userRoutine) (CanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCanCalibrateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(CalibrateUPP)
- NewCalibrateUPP(CalibrateProcPtr userRoutine);
+/*
+ * NewCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( CalibrateUPP )
+NewCalibrateUPP(CalibrateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCalibrateProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CalibrateUPP) NewCalibrateUPP(CalibrateProcPtr userRoutine)
- {
- return (CalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCalibrateUPP(userRoutine) (CalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCalibrateProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CalibrateUPP) NewCalibrateUPP(CalibrateProcPtr userRoutine) { return (CalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCalibrateUPP(userRoutine) (CalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalibrateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeCalibrateEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCalibrateEventUPP(CalibrateEventUPP userUPP);
+/*
+ * DisposeCalibrateEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCalibrateEventUPP(CalibrateEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCalibrateEventUPP(CalibrateEventUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCalibrateEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCalibrateEventUPP(CalibrateEventUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCalibrateEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCanCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeCanCalibrateUPP(CanCalibrateUPP userUPP);
+/*
+ * DisposeCanCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeCanCalibrateUPP(CanCalibrateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCanCalibrateUPP(CanCalibrateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCanCalibrateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCanCalibrateUPP(CanCalibrateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCanCalibrateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeCalibrateUPP(CalibrateUPP userUPP);
+/*
+ * DisposeCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeCalibrateUPP(CalibrateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCalibrateUPP(CalibrateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCalibrateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCalibrateUPP(CalibrateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCalibrateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeCalibrateEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeCalibrateEventUPP(
- EventRecord * event,
- CalibrateEventUPP userUPP);
+/*
+ * InvokeCalibrateEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeCalibrateEventUPP(
+ EventRecord * event,
+ CalibrateEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeCalibrateEventUPP(EventRecord * event, CalibrateEventUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppCalibrateEventProcInfo, event);
- }
-#else
-#define InvokeCalibrateEventUPP(event, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppCalibrateEventProcInfo, (event))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeCalibrateEventUPP(EventRecord * event, CalibrateEventUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppCalibrateEventProcInfo, event); }
+ #else
+ #define InvokeCalibrateEventUPP(event, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppCalibrateEventProcInfo, (event))
+ #endif
#endif
- /*
- * InvokeCanCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeCanCalibrateUPP(
- CMDisplayIDType displayID,
- Str255 errMessage,
- CanCalibrateUPP userUPP);
+/*
+ * InvokeCanCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeCanCalibrateUPP(
+ CMDisplayIDType displayID,
+ Str255 errMessage,
+ CanCalibrateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeCanCalibrateUPP(CMDisplayIDType displayID, Str255 errMessage, CanCalibrateUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppCanCalibrateProcInfo, displayID, errMessage);
- }
-#else
-#define InvokeCanCalibrateUPP(displayID, errMessage, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppCanCalibrateProcInfo, (displayID), (errMessage))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeCanCalibrateUPP(CMDisplayIDType displayID, Str255 errMessage, CanCalibrateUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppCanCalibrateProcInfo, displayID, errMessage); }
+ #else
+ #define InvokeCanCalibrateUPP(displayID, errMessage, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppCanCalibrateProcInfo, (displayID), (errMessage))
+ #endif
#endif
- /*
- * InvokeCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InvokeCalibrateUPP(
- CalibratorInfo * theInfo,
- CalibrateUPP userUPP);
+/*
+ * InvokeCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InvokeCalibrateUPP(
+ CalibratorInfo * theInfo,
+ CalibrateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeCalibrateUPP(CalibratorInfo * theInfo, CalibrateUPP userUPP)
- {
- return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppCalibrateProcInfo, theInfo);
- }
-#else
-#define InvokeCalibrateUPP(theInfo, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppCalibrateProcInfo, (theInfo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeCalibrateUPP(CalibratorInfo * theInfo, CalibrateUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppCalibrateProcInfo, theInfo); }
+ #else
+ #define InvokeCalibrateUPP(theInfo, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppCalibrateProcInfo, (theInfo))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewCalibrateEventProc(userRoutine) NewCalibrateEventUPP(userRoutine)
-#define NewCanCalibrateProc(userRoutine) NewCanCalibrateUPP(userRoutine)
-#define NewCalibrateProc(userRoutine) NewCalibrateUPP(userRoutine)
-#define CallCalibrateEventProc(userRoutine, event) InvokeCalibrateEventUPP(event, userRoutine)
-#define CallCanCalibrateProc(userRoutine, displayID, errMessage) InvokeCanCalibrateUPP(displayID, errMessage, userRoutine)
-#define CallCalibrateProc(userRoutine, theInfo) InvokeCalibrateUPP(theInfo, userRoutine)
+ #define NewCalibrateEventProc(userRoutine) NewCalibrateEventUPP(userRoutine)
+ #define NewCanCalibrateProc(userRoutine) NewCanCalibrateUPP(userRoutine)
+ #define NewCalibrateProc(userRoutine) NewCalibrateUPP(userRoutine)
+ #define CallCalibrateEventProc(userRoutine, event) InvokeCalibrateEventUPP(event, userRoutine)
+ #define CallCanCalibrateProc(userRoutine, displayID, errMessage) InvokeCanCalibrateUPP(displayID, errMessage, userRoutine)
+ #define CallCalibrateProc(userRoutine, theInfo) InvokeCalibrateUPP(theInfo, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * CMCalibrateDisplay()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CMCalibrateDisplay(CalibratorInfo * theInfo);
+/*
+ * CMCalibrateDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CMCalibrateDisplay(CalibratorInfo * theInfo);
#if OLDROUTINENAMES
- /* Interface for original ColorSync monitor calibrators (ColorSync 2.5.x) */
- enum
- {
- kOldCalibratorNamePrefix = FOUR_CHAR_CODE('Cali')
- };
-
- struct OldCalibratorInfo
- {
- CMDisplayIDType displayID; /* Contains an hDC on Win32 */
- CMProfileLocation profileLocation;
- CalibrateEventUPP eventProc; /* Ignored on Win32 */
- UInt32 reserved; /* Unused */
- UInt32 flags; /* Unused */
- Boolean isGood; /* true or false */
- SInt8 byteFiller; /* Unused */
- };
- typedef struct OldCalibratorInfo OldCalibratorInfo;
- typedef CALLBACK_API(Boolean , OldCanCalibrateProcPtr)(CMDisplayIDType displayID);
- typedef CALLBACK_API(OSErr , OldCalibrateProcPtr)(OldCalibratorInfo * theInfo);
- typedef STACK_UPP_TYPE(OldCanCalibrateProcPtr) OldCanCalibrateUPP;
- typedef STACK_UPP_TYPE(OldCalibrateProcPtr) OldCalibrateUPP;
+/* Interface for original ColorSync monitor calibrators (ColorSync 2.5.x) */
+enum {
+ kOldCalibratorNamePrefix = FOUR_CHAR_CODE('Cali')
+};
+
+struct OldCalibratorInfo {
+ CMDisplayIDType displayID; /* Contains an hDC on Win32 */
+ CMProfileLocation profileLocation;
+ CalibrateEventUPP eventProc; /* Ignored on Win32 */
+ UInt32 reserved; /* Unused */
+ UInt32 flags; /* Unused */
+ Boolean isGood; /* true or false */
+ SInt8 byteFiller; /* Unused */
+};
+typedef struct OldCalibratorInfo OldCalibratorInfo;
+typedef CALLBACK_API( Boolean , OldCanCalibrateProcPtr )(CMDisplayIDType displayID);
+typedef CALLBACK_API( OSErr , OldCalibrateProcPtr )(OldCalibratorInfo * theInfo);
+typedef STACK_UPP_TYPE(OldCanCalibrateProcPtr) OldCanCalibrateUPP;
+typedef STACK_UPP_TYPE(OldCalibrateProcPtr) OldCalibrateUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewOldCanCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OldCanCalibrateUPP)
- NewOldCanCalibrateUPP(OldCanCalibrateProcPtr userRoutine);
+/*
+ * NewOldCanCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OldCanCalibrateUPP )
+NewOldCanCalibrateUPP(OldCanCalibrateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOldCanCalibrateProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OldCanCalibrateUPP) NewOldCanCalibrateUPP(OldCanCalibrateProcPtr userRoutine)
- {
- return (OldCanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCanCalibrateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOldCanCalibrateUPP(userRoutine) (OldCanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCanCalibrateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppOldCanCalibrateProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OldCanCalibrateUPP) NewOldCanCalibrateUPP(OldCanCalibrateProcPtr userRoutine) { return (OldCanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCanCalibrateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOldCanCalibrateUPP(userRoutine) (OldCanCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCanCalibrateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewOldCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OldCalibrateUPP)
- NewOldCalibrateUPP(OldCalibrateProcPtr userRoutine);
+/*
+ * NewOldCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OldCalibrateUPP )
+NewOldCalibrateUPP(OldCalibrateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOldCalibrateProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OldCalibrateUPP) NewOldCalibrateUPP(OldCalibrateProcPtr userRoutine)
- {
- return (OldCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCalibrateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOldCalibrateUPP(userRoutine) (OldCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCalibrateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppOldCalibrateProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OldCalibrateUPP) NewOldCalibrateUPP(OldCalibrateProcPtr userRoutine) { return (OldCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCalibrateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOldCalibrateUPP(userRoutine) (OldCalibrateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOldCalibrateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeOldCanCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeOldCanCalibrateUPP(OldCanCalibrateUPP userUPP);
+/*
+ * DisposeOldCanCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeOldCanCalibrateUPP(OldCanCalibrateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOldCanCalibrateUPP(OldCanCalibrateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOldCanCalibrateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOldCanCalibrateUPP(OldCanCalibrateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOldCanCalibrateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeOldCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeOldCalibrateUPP(OldCalibrateUPP userUPP);
+/*
+ * DisposeOldCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeOldCalibrateUPP(OldCalibrateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOldCalibrateUPP(OldCalibrateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOldCalibrateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOldCalibrateUPP(OldCalibrateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOldCalibrateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeOldCanCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeOldCanCalibrateUPP(
- CMDisplayIDType displayID,
- OldCanCalibrateUPP userUPP);
+/*
+ * InvokeOldCanCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeOldCanCalibrateUPP(
+ CMDisplayIDType displayID,
+ OldCanCalibrateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeOldCanCalibrateUPP(CMDisplayIDType displayID, OldCanCalibrateUPP userUPP)
- {
- return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppOldCanCalibrateProcInfo, displayID);
- }
-#else
-#define InvokeOldCanCalibrateUPP(displayID, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppOldCanCalibrateProcInfo, (displayID))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeOldCanCalibrateUPP(CMDisplayIDType displayID, OldCanCalibrateUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppOldCanCalibrateProcInfo, displayID); }
+ #else
+ #define InvokeOldCanCalibrateUPP(displayID, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppOldCanCalibrateProcInfo, (displayID))
+ #endif
#endif
- /*
- * InvokeOldCalibrateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InvokeOldCalibrateUPP(
- OldCalibratorInfo * theInfo,
- OldCalibrateUPP userUPP);
+/*
+ * InvokeOldCalibrateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InvokeOldCalibrateUPP(
+ OldCalibratorInfo * theInfo,
+ OldCalibrateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOldCalibrateUPP(OldCalibratorInfo * theInfo, OldCalibrateUPP userUPP)
- {
- return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOldCalibrateProcInfo, theInfo);
- }
-#else
-#define InvokeOldCalibrateUPP(theInfo, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOldCalibrateProcInfo, (theInfo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOldCalibrateUPP(OldCalibratorInfo * theInfo, OldCalibrateUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOldCalibrateProcInfo, theInfo); }
+ #else
+ #define InvokeOldCalibrateUPP(theInfo, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOldCalibrateProcInfo, (theInfo))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewOldCanCalibrateProc(userRoutine) NewOldCanCalibrateUPP(userRoutine)
-#define NewOldCalibrateProc(userRoutine) NewOldCalibrateUPP(userRoutine)
-#define CallOldCanCalibrateProc(userRoutine, displayID) InvokeOldCanCalibrateUPP(displayID, userRoutine)
-#define CallOldCalibrateProc(userRoutine, theInfo) InvokeOldCalibrateUPP(theInfo, userRoutine)
+ #define NewOldCanCalibrateProc(userRoutine) NewOldCanCalibrateUPP(userRoutine)
+ #define NewOldCalibrateProc(userRoutine) NewOldCalibrateUPP(userRoutine)
+ #define CallOldCanCalibrateProc(userRoutine, displayID) InvokeOldCanCalibrateUPP(displayID, userRoutine)
+ #define CallOldCalibrateProc(userRoutine, theInfo) InvokeOldCalibrateUPP(theInfo, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#endif /* OLDROUTINENAMES */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CMDeviceIntegration.h b/include/qt/CMDeviceIntegration.h
index b52700ea2..dca0f1274 100644
--- a/include/qt/CMDeviceIntegration.h
+++ b/include/qt/CMDeviceIntegration.h
@@ -1,17 +1,17 @@
/*
File: CMDeviceIntegration.h
-
+
Contains: Color Management Device Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CMDEVICEINTEGRATION__
#define __CMDEVICEINTEGRATION__
@@ -48,115 +48,110 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- The current versions of the data structure
- containing information on registered devices.
- */
- enum {
- cmDeviceInfoVersion1 = 0x00010000,
- cmDeviceProfileInfoVersion1 = 0x00010000,
- cmDeviceProfileInfoVersion2 = 0x00020000
- };
-
- enum
- {
- cmCurrentDeviceInfoVersion = cmDeviceInfoVersion1,
- cmCurrentProfileInfoVersion = cmDeviceProfileInfoVersion1
- };
-
- /*
- Certain APIs require a device ID or profile ID.
- In some cases, a "default ID" can be used.
- */
- enum
- {
- cmDefaultDeviceID = 0,
- cmDefaultProfileID = 0
- };
-
- /*
- Possible values for device states accessible by the
- CMGetDeviceState() and CMSetDeviceState() APIs.
- */
- enum
- {
- cmDeviceStateDefault = 0x00000000,
- cmDeviceStateOffline = 0x00000001,
- cmDeviceStateBusy = 0x00000002,
- cmDeviceStateForceNotify = (long)0x80000000,
- cmDeviceStateDeviceRsvdBits = 0x00FF0000,
- cmDeviceStateAppleRsvdBits = (long)0xFF00FFFF
- };
-
- /*
- Possible values for flags passed to the
- CMIterateDeviceProfiles() API.
-
- "Factory" profiles are registered via the
- CMSetDeviceFactoryProfiles() API.
-
- "Custom" profiles are those which are meant to take
- the place of the factory profiles, as a result of
- customization or calibration. These profiles are
- registered via the CMSetDeviceProfiles() API.
-
- To retrieve all of the the former for all devices,
- use cmIterateFactoryDeviceProfiles as the flags
- value when calling CMIterateDeviceProfiles().
-
- To retrieve only the latter for all devices, use
- the cmIterateCustomDeviceProfiles, as the flags
- value when calling CMIterateDeviceProfiles().
-
- To get the profiles in use for all devices, use
- cmIterateCurrentDeviceProfiles as the flags value.
- This will replace the factory profiles with any
- overrides, yielding the currently used set.
-
- To get all profiles, without replacement, use
- cmIterateAllDeviceProfiles.
- */
- enum
- {
- cmIterateFactoryDeviceProfiles = 0x00000001,
- cmIterateCustomDeviceProfiles = 0x00000002,
- cmIterateCurrentDeviceProfiles = 0x00000003,
- cmIterateAllDeviceProfiles = 0x00000004,
- cmIterateDeviceProfilesMask = 0x0000000F
- };
-
- /*
- Errors returned by CMDeviceIntegration APIs
- */
- enum
- {
- cmDeviceDBNotFoundErr = -4227, /* Prefs not found/loaded */
- cmDeviceAlreadyRegistered = -4228, /* Re-registration of device */
- cmDeviceNotRegistered = -4229, /* Device not found */
- cmDeviceProfilesNotFound = -4230, /* Profiles not found */
- cmInternalCFErr = -4231 /* CoreFoundation failure */
- };
-
-
- /*
- Clients can register for notifications of device evolutions:
-
- DeviceRegistered A new device was registered
- DeviceUnregistered A device was unregistered
- DeviceOnline Change to Online as a result of CMSetDeviceState
- DeviceOffline Change to Offline as a result of CMSetDeviceState
- DeviceState Any change to a device state
- DefaultDevice A default device for any device class changed
- DeviceProfiles Any change to any device's profiles
- DefaultDeviceProfile The default profile for any device changed
- */
+/*
+ The current versions of the data structure
+ containing information on registered devices.
+*/
+enum {
+ cmDeviceInfoVersion1 = 0x00010000,
+ cmDeviceProfileInfoVersion1 = 0x00010000,
+ cmDeviceProfileInfoVersion2 = 0x00020000
+};
+
+enum {
+ cmCurrentDeviceInfoVersion = cmDeviceInfoVersion1,
+ cmCurrentProfileInfoVersion = cmDeviceProfileInfoVersion1
+};
+
+/*
+ Certain APIs require a device ID or profile ID.
+ In some cases, a "default ID" can be used.
+*/
+enum {
+ cmDefaultDeviceID = 0,
+ cmDefaultProfileID = 0
+};
+
+/*
+ Possible values for device states accessible by the
+ CMGetDeviceState() and CMSetDeviceState() APIs.
+*/
+enum {
+ cmDeviceStateDefault = 0x00000000,
+ cmDeviceStateOffline = 0x00000001,
+ cmDeviceStateBusy = 0x00000002,
+ cmDeviceStateForceNotify = (long)0x80000000,
+ cmDeviceStateDeviceRsvdBits = 0x00FF0000,
+ cmDeviceStateAppleRsvdBits = (long)0xFF00FFFF
+};
+
+/*
+ Possible values for flags passed to the
+ CMIterateDeviceProfiles() API.
+
+ "Factory" profiles are registered via the
+ CMSetDeviceFactoryProfiles() API.
+
+ "Custom" profiles are those which are meant to take
+ the place of the factory profiles, as a result of
+ customization or calibration. These profiles are
+ registered via the CMSetDeviceProfiles() API.
+
+ To retrieve all of the the former for all devices,
+ use cmIterateFactoryDeviceProfiles as the flags
+ value when calling CMIterateDeviceProfiles().
+
+ To retrieve only the latter for all devices, use
+ the cmIterateCustomDeviceProfiles, as the flags
+ value when calling CMIterateDeviceProfiles().
+
+ To get the profiles in use for all devices, use
+ cmIterateCurrentDeviceProfiles as the flags value.
+ This will replace the factory profiles with any
+ overrides, yielding the currently used set.
+
+ To get all profiles, without replacement, use
+ cmIterateAllDeviceProfiles.
+*/
+enum {
+ cmIterateFactoryDeviceProfiles = 0x00000001,
+ cmIterateCustomDeviceProfiles = 0x00000002,
+ cmIterateCurrentDeviceProfiles = 0x00000003,
+ cmIterateAllDeviceProfiles = 0x00000004,
+ cmIterateDeviceProfilesMask = 0x0000000F
+};
+
+/*
+ Errors returned by CMDeviceIntegration APIs
+*/
+enum {
+ cmDeviceDBNotFoundErr = -4227, /* Prefs not found/loaded */
+ cmDeviceAlreadyRegistered = -4228, /* Re-registration of device */
+ cmDeviceNotRegistered = -4229, /* Device not found */
+ cmDeviceProfilesNotFound = -4230, /* Profiles not found */
+ cmInternalCFErr = -4231 /* CoreFoundation failure */
+};
+
+
+/*
+ Clients can register for notifications of device evolutions:
+
+ DeviceRegistered A new device was registered
+ DeviceUnregistered A device was unregistered
+ DeviceOnline Change to Online as a result of CMSetDeviceState
+ DeviceOffline Change to Offline as a result of CMSetDeviceState
+ DeviceState Any change to a device state
+ DefaultDevice A default device for any device class changed
+ DeviceProfiles Any change to any device's profiles
+ DefaultDeviceProfile The default profile for any device changed
+*/
#define kCMDeviceRegisteredNotification CFSTR("CMDeviceRegisteredNotification")
#define kCMDeviceUnregisteredNotification CFSTR("CMDeviceUnregisteredNotification")
#define kCMDeviceOnlineNotification CFSTR("CMDeviceOnlineNotification")
@@ -166,386 +161,380 @@ extern "C" {
#define kCMDeviceProfilesNotification CFSTR("CMDeviceProfilesNotification")
#define kCMDefaultDeviceProfileNotification CFSTR("CMDefaultDeviceProfileNotification")
- /*
- Device state data.
- */
- typedef UInt32 CMDeviceState;
- /*
- A CMDeviceID must be unique within a device's class.
- */
- typedef UInt32 CMDeviceID;
- /*
- A CMDeviceProfileID must only be unique per device.
- */
- typedef UInt32 CMDeviceProfileID;
- /*
- DeviceClass type.
- */
- enum
- {
- cmScannerDeviceClass = FOUR_CHAR_CODE('scnr'),
- cmCameraDeviceClass = FOUR_CHAR_CODE('cmra'),
- cmDisplayDeviceClass = FOUR_CHAR_CODE('mntr'),
- cmPrinterDeviceClass = FOUR_CHAR_CODE('prtr'),
- cmProofDeviceClass = FOUR_CHAR_CODE('pruf')
- };
-
- typedef OSType CMDeviceClass;
- /*
- CMDeviceScope
- Structure specifying a device's or a device setting's scope.
- */
- struct CMDeviceScope
- {
- CFStringRef deviceUser; /* kCFPreferencesCurrentUser | _AnyUser */
- CFStringRef deviceHost; /* kCFPreferencesCurrentHost | _AnyHost */
- };
- typedef struct CMDeviceScope CMDeviceScope;
- typedef CMDeviceScope CMDeviceProfileScope;
- /*
- CMDeviceInfo
- Structure containing information on a given device.
- */
- struct CMDeviceInfo
- {
- UInt32 dataVersion; /* cmDeviceInfoVersion1 */
- CMDeviceClass deviceClass; /* device class */
- CMDeviceID deviceID; /* device ID */
- CMDeviceScope deviceScope; /* device's scope */
- CMDeviceState deviceState; /* Device State flags */
- CMDeviceProfileID defaultProfileID; /* Can change */
- CFDictionaryRef * deviceName; /* Ptr to storage for CFDictionary of */
- /* localized device names (could be nil) */
- UInt32 profileCount; /* Count of registered profiles */
- UInt32 reserved; /* Reserved for use by ColorSync */
- };
- typedef struct CMDeviceInfo CMDeviceInfo;
- typedef CMDeviceInfo * CMDeviceInfoPtr;
- /*
- CMDeviceProfileInfo
- Structure containing information on a device profile.
- */
- struct CMDeviceProfileInfo
- {
- UInt32 dataVersion; /* cmDeviceProfileInfoVersion1 */
- CMDeviceProfileID profileID; /* The identifier for this profile */
- CMProfileLocation profileLoc; /* The profile's location */
- CFDictionaryRef profileName; /* CFDictionary of localized profile names */
- UInt32 reserved; /* Reserved for use by ColorSync */
- };
- typedef struct CMDeviceProfileInfo CMDeviceProfileInfo;
- struct NCMDeviceProfileInfo
- {
- UInt32 dataVersion; /* cmDeviceProfileInfoVersion2 */
- CMDeviceProfileID profileID; /* The identifier for this profile */
- CMProfileLocation profileLoc; /* The profile's location */
- CFDictionaryRef profileName; /* CFDictionary of localized profile names */
- CMDeviceProfileScope profileScope; /* The scope this profile applies to */
- UInt32 reserved; /* Reserved for use by ColorSync */
- };
- typedef struct NCMDeviceProfileInfo NCMDeviceProfileInfo;
- /*
- CMDeviceProfileArray
- Structure containing the profiles for a device.
- */
- struct CMDeviceProfileArray
- {
- UInt32 profileCount; /* Count of profiles in array */
- CMDeviceProfileInfo profiles[1]; /* The profile info records */
- };
- typedef struct CMDeviceProfileArray CMDeviceProfileArray;
- typedef CMDeviceProfileArray * CMDeviceProfileArrayPtr;
- /*
- Caller-supplied iterator functions
- */
- typedef CALLBACK_API_C(OSErr , CMIterateDeviceInfoProcPtr)(const CMDeviceInfo *deviceInfo, void *refCon);
- typedef CALLBACK_API_C(OSErr , CMIterateDeviceProfileProcPtr)(const CMDeviceInfo *deviceInfo, const NCMDeviceProfileInfo *profileInfo, void *refCon);
- /*
- Device Registration
- */
- /*
- * CMRegisterColorDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMRegisterColorDevice(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CFDictionaryRef deviceName,
- const CMDeviceScope * deviceScope);
-
-
- /*
- * CMUnregisterColorDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMUnregisterColorDevice(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID);
-
-
- /*
- Default Device accessors
- */
- /*
- * CMSetDefaultDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMSetDefaultDevice(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID);
-
-
- /*
- * CMGetDefaultDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMGetDefaultDevice(
- CMDeviceClass deviceClass,
- CMDeviceID * deviceID);
-
-
- /*
- Device Profile Registration & Access
- */
- /*
- * CMSetDeviceFactoryProfiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMSetDeviceFactoryProfiles(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CMDeviceProfileID defaultProfID,
- const CMDeviceProfileArray * deviceProfiles);
-
-
- /*
- * CMGetDeviceFactoryProfiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMGetDeviceFactoryProfiles(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CMDeviceProfileID * defaultProfID,
- UInt32 * arraySize,
- CMDeviceProfileArray * deviceProfiles);
-
-
- /*
- * CMSetDeviceProfiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMSetDeviceProfiles(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- const CMDeviceProfileScope * profileScope,
- const CMDeviceProfileArray * deviceProfiles);
-
-
- /*
- * CMGetDeviceProfiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMGetDeviceProfiles(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- UInt32 * arraySize,
- CMDeviceProfileArray * deviceProfiles);
-
-
- /*
- * CMSetDeviceDefaultProfileID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMSetDeviceDefaultProfileID(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CMDeviceProfileID defaultProfID);
-
-
- /*
- * CMGetDeviceDefaultProfileID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMGetDeviceDefaultProfileID(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CMDeviceProfileID * defaultProfID);
-
-
- /*
- * CMGetDeviceProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMGetDeviceProfile(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CMDeviceProfileID profileID,
- CMProfileLocation * deviceProfLoc);
-
-
- /*
- * CMSetDeviceProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMSetDeviceProfile(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- const CMDeviceProfileScope * profileScope,
- CMDeviceProfileID profileID,
- const CMProfileLocation * deviceProfLoc);
-
-
- /*
- Other Device State/Info accessors
- */
- /*
- * CMSetDeviceState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMSetDeviceState(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CMDeviceState deviceState);
-
-
- /*
- * CMGetDeviceState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMGetDeviceState(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CMDeviceState * deviceState);
-
-
- /*
- * CMGetDeviceInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMGetDeviceInfo(
- CMDeviceClass deviceClass,
- CMDeviceID deviceID,
- CMDeviceInfo * deviceInfo);
-
-
- /*
- Device Info & Profile Iterators
- */
- /*
- * CMIterateColorDevices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMIterateColorDevices(
- CMIterateDeviceInfoProcPtr proc,
- UInt32 * seed,
- UInt32 * count,
- void * refCon);
-
-
- /*
- * CMIterateDeviceProfiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CMError)
- CMIterateDeviceProfiles(
- CMIterateDeviceProfileProcPtr proc,
- UInt32 * seed,
- UInt32 * count,
- UInt32 flags,
- void * refCon);
+/*
+ Device state data.
+*/
+typedef UInt32 CMDeviceState;
+/*
+ A CMDeviceID must be unique within a device's class.
+*/
+typedef UInt32 CMDeviceID;
+/*
+ A CMDeviceProfileID must only be unique per device.
+*/
+typedef UInt32 CMDeviceProfileID;
+/*
+ DeviceClass type.
+*/
+enum {
+ cmScannerDeviceClass = FOUR_CHAR_CODE('scnr'),
+ cmCameraDeviceClass = FOUR_CHAR_CODE('cmra'),
+ cmDisplayDeviceClass = FOUR_CHAR_CODE('mntr'),
+ cmPrinterDeviceClass = FOUR_CHAR_CODE('prtr'),
+ cmProofDeviceClass = FOUR_CHAR_CODE('pruf')
+};
+
+typedef OSType CMDeviceClass;
+/*
+ CMDeviceScope
+ Structure specifying a device's or a device setting's scope.
+*/
+struct CMDeviceScope {
+ CFStringRef deviceUser; /* kCFPreferencesCurrentUser | _AnyUser */
+ CFStringRef deviceHost; /* kCFPreferencesCurrentHost | _AnyHost */
+};
+typedef struct CMDeviceScope CMDeviceScope;
+typedef CMDeviceScope CMDeviceProfileScope;
+/*
+ CMDeviceInfo
+ Structure containing information on a given device.
+*/
+struct CMDeviceInfo {
+ UInt32 dataVersion; /* cmDeviceInfoVersion1 */
+ CMDeviceClass deviceClass; /* device class */
+ CMDeviceID deviceID; /* device ID */
+ CMDeviceScope deviceScope; /* device's scope */
+ CMDeviceState deviceState; /* Device State flags */
+ CMDeviceProfileID defaultProfileID; /* Can change */
+ CFDictionaryRef * deviceName; /* Ptr to storage for CFDictionary of */
+ /* localized device names (could be nil) */
+ UInt32 profileCount; /* Count of registered profiles */
+ UInt32 reserved; /* Reserved for use by ColorSync */
+};
+typedef struct CMDeviceInfo CMDeviceInfo;
+typedef CMDeviceInfo * CMDeviceInfoPtr;
+/*
+ CMDeviceProfileInfo
+ Structure containing information on a device profile.
+*/
+struct CMDeviceProfileInfo {
+ UInt32 dataVersion; /* cmDeviceProfileInfoVersion1 */
+ CMDeviceProfileID profileID; /* The identifier for this profile */
+ CMProfileLocation profileLoc; /* The profile's location */
+ CFDictionaryRef profileName; /* CFDictionary of localized profile names */
+ UInt32 reserved; /* Reserved for use by ColorSync */
+};
+typedef struct CMDeviceProfileInfo CMDeviceProfileInfo;
+struct NCMDeviceProfileInfo {
+ UInt32 dataVersion; /* cmDeviceProfileInfoVersion2 */
+ CMDeviceProfileID profileID; /* The identifier for this profile */
+ CMProfileLocation profileLoc; /* The profile's location */
+ CFDictionaryRef profileName; /* CFDictionary of localized profile names */
+ CMDeviceProfileScope profileScope; /* The scope this profile applies to */
+ UInt32 reserved; /* Reserved for use by ColorSync */
+};
+typedef struct NCMDeviceProfileInfo NCMDeviceProfileInfo;
+/*
+ CMDeviceProfileArray
+ Structure containing the profiles for a device.
+*/
+struct CMDeviceProfileArray {
+ UInt32 profileCount; /* Count of profiles in array */
+ CMDeviceProfileInfo profiles[1]; /* The profile info records */
+};
+typedef struct CMDeviceProfileArray CMDeviceProfileArray;
+typedef CMDeviceProfileArray * CMDeviceProfileArrayPtr;
+/*
+ Caller-supplied iterator functions
+*/
+typedef CALLBACK_API_C( OSErr , CMIterateDeviceInfoProcPtr )(const CMDeviceInfo *deviceInfo, void *refCon);
+typedef CALLBACK_API_C( OSErr , CMIterateDeviceProfileProcPtr )(const CMDeviceInfo *deviceInfo, const NCMDeviceProfileInfo *profileInfo, void *refCon);
+/*
+ Device Registration
+*/
+/*
+ * CMRegisterColorDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMRegisterColorDevice(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CFDictionaryRef deviceName,
+ const CMDeviceScope * deviceScope);
+
+
+/*
+ * CMUnregisterColorDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMUnregisterColorDevice(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID);
+
+
+/*
+ Default Device accessors
+*/
+/*
+ * CMSetDefaultDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMSetDefaultDevice(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID);
+
+
+/*
+ * CMGetDefaultDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMGetDefaultDevice(
+ CMDeviceClass deviceClass,
+ CMDeviceID * deviceID);
+
+
+/*
+ Device Profile Registration & Access
+*/
+/*
+ * CMSetDeviceFactoryProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMSetDeviceFactoryProfiles(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CMDeviceProfileID defaultProfID,
+ const CMDeviceProfileArray * deviceProfiles);
+
+
+/*
+ * CMGetDeviceFactoryProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMGetDeviceFactoryProfiles(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CMDeviceProfileID * defaultProfID,
+ UInt32 * arraySize,
+ CMDeviceProfileArray * deviceProfiles);
+
+
+/*
+ * CMSetDeviceProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMSetDeviceProfiles(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ const CMDeviceProfileScope * profileScope,
+ const CMDeviceProfileArray * deviceProfiles);
+
+
+/*
+ * CMGetDeviceProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMGetDeviceProfiles(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ UInt32 * arraySize,
+ CMDeviceProfileArray * deviceProfiles);
+
+
+/*
+ * CMSetDeviceDefaultProfileID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMSetDeviceDefaultProfileID(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CMDeviceProfileID defaultProfID);
+
+
+/*
+ * CMGetDeviceDefaultProfileID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMGetDeviceDefaultProfileID(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CMDeviceProfileID * defaultProfID);
+
+
+/*
+ * CMGetDeviceProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMGetDeviceProfile(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CMDeviceProfileID profileID,
+ CMProfileLocation * deviceProfLoc);
+
+
+/*
+ * CMSetDeviceProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMSetDeviceProfile(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ const CMDeviceProfileScope * profileScope,
+ CMDeviceProfileID profileID,
+ const CMProfileLocation * deviceProfLoc);
+
+
+/*
+ Other Device State/Info accessors
+*/
+/*
+ * CMSetDeviceState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMSetDeviceState(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CMDeviceState deviceState);
+
+
+/*
+ * CMGetDeviceState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMGetDeviceState(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CMDeviceState * deviceState);
+
+
+/*
+ * CMGetDeviceInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMGetDeviceInfo(
+ CMDeviceClass deviceClass,
+ CMDeviceID deviceID,
+ CMDeviceInfo * deviceInfo);
+
+
+/*
+ Device Info & Profile Iterators
+*/
+/*
+ * CMIterateColorDevices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMIterateColorDevices(
+ CMIterateDeviceInfoProcPtr proc,
+ UInt32 * seed,
+ UInt32 * count,
+ void * refCon);
+
+
+/*
+ * CMIterateDeviceProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CMError )
+CMIterateDeviceProfiles(
+ CMIterateDeviceProfileProcPtr proc,
+ UInt32 * seed,
+ UInt32 * count,
+ UInt32 flags,
+ void * refCon);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CMICCProfile.h b/include/qt/CMICCProfile.h
index 4c83367fa..169c50640 100644
--- a/include/qt/CMICCProfile.h
+++ b/include/qt/CMICCProfile.h
@@ -1,17 +1,17 @@
/*
File: CMICCProfile.h
-
+
Contains: ICC Profile Format Definitions
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CMICCPROFILE__
#define __CMICCPROFILE__
@@ -31,34 +31,31 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/* ICC Profile version constants */
-enum
-{
- cmICCProfileVersion4 = 0x04000000,
- cmICCProfileVersion2 = 0x02000000,
- cmICCProfileVersion21 = 0x02100000,
- cmCS2ProfileVersion = cmICCProfileVersion2,
- cmCS1ProfileVersion = 0x00000100 /* ColorSync 1.0 profile version */
+enum {
+ cmICCProfileVersion4 = 0x04000000,
+ cmICCProfileVersion2 = 0x02000000,
+ cmICCProfileVersion21 = 0x02100000,
+ cmCS2ProfileVersion = cmICCProfileVersion2,
+ cmCS1ProfileVersion = 0x00000100 /* ColorSync 1.0 profile version */
};
/* Current Major version number */
-enum
-{
- cmProfileMajorVersionMask = (long)0xFF000000,
- cmCurrentProfileMajorVersion = 0x02000000
+enum {
+ cmProfileMajorVersionMask = (long)0xFF000000,
+ cmCurrentProfileMajorVersion = 0x02000000
};
/* magic cookie number for anonymous file ID */
-enum
-{
- cmMagicNumber = FOUR_CHAR_CODE('acsp')
+enum {
+ cmMagicNumber = FOUR_CHAR_CODE('acsp')
};
@@ -66,30 +63,27 @@ enum
/*************** ColorSync 2.0 profile specification ********************/
/************************************************************************/
/**** flags field ****/
-enum
-{
- cmICCReservedFlagsMask = 0x0000FFFF, /* these bits of the flags field are defined and reserved by ICC */
- cmEmbeddedMask = 0x00000001, /* if bit 0 is 0 then not embedded profile, if 1 then embedded profile */
- cmEmbeddedUseMask = 0x00000002, /* if bit 1 is 0 then ok to use anywhere, if 1 then ok to use as embedded profile only */
- cmCMSReservedFlagsMask = (long)0xFFFF0000, /* these bits of the flags field are defined and reserved by CMS vendor */
- cmQualityMask = 0x00030000, /* if bits 16-17 is 0 then normal, if 1 then draft, if 2 then best */
- cmInterpolationMask = 0x00040000, /* if bit 18 is 0 then interpolation, if 1 then lookup only */
- cmGamutCheckingMask = 0x00080000 /* if bit 19 is 0 then create gamut checking info, if 1 then no gamut checking info */
+enum {
+ cmICCReservedFlagsMask = 0x0000FFFF, /* these bits of the flags field are defined and reserved by ICC */
+ cmEmbeddedMask = 0x00000001, /* if bit 0 is 0 then not embedded profile, if 1 then embedded profile */
+ cmEmbeddedUseMask = 0x00000002, /* if bit 1 is 0 then ok to use anywhere, if 1 then ok to use as embedded profile only */
+ cmCMSReservedFlagsMask = (long)0xFFFF0000, /* these bits of the flags field are defined and reserved by CMS vendor */
+ cmQualityMask = 0x00030000, /* if bits 16-17 is 0 then normal, if 1 then draft, if 2 then best */
+ cmInterpolationMask = 0x00040000, /* if bit 18 is 0 then interpolation, if 1 then lookup only */
+ cmGamutCheckingMask = 0x00080000 /* if bit 19 is 0 then create gamut checking info, if 1 then no gamut checking info */
};
/* copyright-protection flag options */
-enum
-{
- cmEmbeddedProfile = 0, /* 0 is not embedded profile, 1 is embedded profile */
- cmEmbeddedUse = 1 /* 0 is to use anywhere, 1 is to use as embedded profile only */
+enum {
+ cmEmbeddedProfile = 0, /* 0 is not embedded profile, 1 is embedded profile */
+ cmEmbeddedUse = 1 /* 0 is to use anywhere, 1 is to use as embedded profile only */
};
/* speed and quality flag options */
-enum
-{
- cmNormalMode = 0, /* it uses the least significent two bits in the high word of flag */
- cmDraftMode = 1, /* it should be evaulated like this: right shift 16 bits first, mask off the */
- cmBestMode = 2 /* high 14 bits, and then compare with the enum to determine the option value */
+enum {
+ cmNormalMode = 0, /* it uses the least significent two bits in the high word of flag */
+ cmDraftMode = 1, /* it should be evaulated like this: right shift 16 bits first, mask off the */
+ cmBestMode = 2 /* high 14 bits, and then compare with the enum to determine the option value */
};
@@ -97,340 +91,315 @@ enum
/* deviceAttributes[0] is defined by and reserved for device vendors */
/* deviceAttributes[1] is defined by and reserved for ICC */
/* The following bits of deviceAttributes[1] are currently defined */
-enum
-{
- cmReflectiveTransparentMask = 0x00000001, /* if bit 0 is 0 then reflective media, if 1 then transparency media */
- cmGlossyMatteMask = 0x00000002 /* if bit 1 is 0 then glossy, if 1 then matte */
+enum {
+ cmReflectiveTransparentMask = 0x00000001, /* if bit 0 is 0 then reflective media, if 1 then transparency media */
+ cmGlossyMatteMask = 0x00000002 /* if bit 1 is 0 then glossy, if 1 then matte */
};
/* device/media attributes element values */
-enum
-{
- cmReflective = 0, /* if bit 0 is 0 then reflective media, if 1 then transparency media */
- cmGlossy = 1 /* if bit 1 is 0 then glossy, if 1 then matte */
+enum {
+ cmReflective = 0, /* if bit 0 is 0 then reflective media, if 1 then transparency media */
+ cmGlossy = 1 /* if bit 1 is 0 then glossy, if 1 then matte */
};
/**** renderingIntent field ****/
-enum
-{
- cmPerceptual = 0, /* Photographic images */
- cmRelativeColorimetric = 1, /* Logo Colors */
- cmSaturation = 2, /* Business graphics */
- cmAbsoluteColorimetric = 3 /* Logo Colors */
+enum {
+ cmPerceptual = 0, /* Photographic images */
+ cmRelativeColorimetric = 1, /* Logo Colors */
+ cmSaturation = 2, /* Business graphics */
+ cmAbsoluteColorimetric = 3 /* Logo Colors */
};
/* data type element values */
-enum
-{
- cmAsciiData = 0,
- cmBinaryData = 1
+enum {
+ cmAsciiData = 0,
+ cmBinaryData = 1
};
/* screen encodings */
-enum
-{
- cmPrtrDefaultScreens = 0, /* Use printer default screens. 0 is false, 1 is ture */
- cmLinesPer = 1 /* 0 is LinesPerCm, 1 is LinesPerInch */
+enum {
+ cmPrtrDefaultScreens = 0, /* Use printer default screens. 0 is false, 1 is ture */
+ cmLinesPer = 1 /* 0 is LinesPerCm, 1 is LinesPerInch */
};
/* 2.0 tag type information */
-enum
-{
- cmNumHeaderElements = 10
+enum {
+ cmNumHeaderElements = 10
};
/* public tags */
-enum
-{
- cmAToB0Tag = FOUR_CHAR_CODE('A2B0'),
- cmAToB1Tag = FOUR_CHAR_CODE('A2B1'),
- cmAToB2Tag = FOUR_CHAR_CODE('A2B2'),
- cmBlueColorantTag = FOUR_CHAR_CODE('bXYZ'),
- cmBlueTRCTag = FOUR_CHAR_CODE('bTRC'),
- cmBToA0Tag = FOUR_CHAR_CODE('B2A0'),
- cmBToA1Tag = FOUR_CHAR_CODE('B2A1'),
- cmBToA2Tag = FOUR_CHAR_CODE('B2A2'),
- cmCalibrationDateTimeTag = FOUR_CHAR_CODE('calt'),
- cmChromaticAdaptationTag = FOUR_CHAR_CODE('chad'),
- cmCharTargetTag = FOUR_CHAR_CODE('targ'),
- cmCopyrightTag = FOUR_CHAR_CODE('cprt'),
- cmDeviceMfgDescTag = FOUR_CHAR_CODE('dmnd'),
- cmDeviceModelDescTag = FOUR_CHAR_CODE('dmdd'),
- cmGamutTag = FOUR_CHAR_CODE('gamt'),
- cmGrayTRCTag = FOUR_CHAR_CODE('kTRC'),
- cmGreenColorantTag = FOUR_CHAR_CODE('gXYZ'),
- cmGreenTRCTag = FOUR_CHAR_CODE('gTRC'),
- cmLuminanceTag = FOUR_CHAR_CODE('lumi'),
- cmMeasurementTag = FOUR_CHAR_CODE('meas'),
- cmMediaBlackPointTag = FOUR_CHAR_CODE('bkpt'),
- cmMediaWhitePointTag = FOUR_CHAR_CODE('wtpt'),
- cmNamedColorTag = FOUR_CHAR_CODE('ncol'),
- cmNamedColor2Tag = FOUR_CHAR_CODE('ncl2'),
- cmPreview0Tag = FOUR_CHAR_CODE('pre0'),
- cmPreview1Tag = FOUR_CHAR_CODE('pre1'),
- cmPreview2Tag = FOUR_CHAR_CODE('pre2'),
- cmProfileDescriptionTag = FOUR_CHAR_CODE('desc'),
- cmProfileSequenceDescTag = FOUR_CHAR_CODE('pseq'),
- cmPS2CRD0Tag = FOUR_CHAR_CODE('psd0'),
- cmPS2CRD1Tag = FOUR_CHAR_CODE('psd1'),
- cmPS2CRD2Tag = FOUR_CHAR_CODE('psd2'),
- cmPS2CRD3Tag = FOUR_CHAR_CODE('psd3'),
- cmPS2CSATag = FOUR_CHAR_CODE('ps2s'),
- cmPS2RenderingIntentTag = FOUR_CHAR_CODE('ps2i'),
- cmRedColorantTag = FOUR_CHAR_CODE('rXYZ'),
- cmRedTRCTag = FOUR_CHAR_CODE('rTRC'),
- cmScreeningDescTag = FOUR_CHAR_CODE('scrd'),
- cmScreeningTag = FOUR_CHAR_CODE('scrn'),
- cmTechnologyTag = FOUR_CHAR_CODE('tech'),
- cmUcrBgTag = FOUR_CHAR_CODE('bfd '),
- cmViewingConditionsDescTag = FOUR_CHAR_CODE('vued'),
- cmViewingConditionsTag = FOUR_CHAR_CODE('view')
+enum {
+ cmAToB0Tag = FOUR_CHAR_CODE('A2B0'),
+ cmAToB1Tag = FOUR_CHAR_CODE('A2B1'),
+ cmAToB2Tag = FOUR_CHAR_CODE('A2B2'),
+ cmBlueColorantTag = FOUR_CHAR_CODE('bXYZ'),
+ cmBlueTRCTag = FOUR_CHAR_CODE('bTRC'),
+ cmBToA0Tag = FOUR_CHAR_CODE('B2A0'),
+ cmBToA1Tag = FOUR_CHAR_CODE('B2A1'),
+ cmBToA2Tag = FOUR_CHAR_CODE('B2A2'),
+ cmCalibrationDateTimeTag = FOUR_CHAR_CODE('calt'),
+ cmChromaticAdaptationTag = FOUR_CHAR_CODE('chad'),
+ cmCharTargetTag = FOUR_CHAR_CODE('targ'),
+ cmCopyrightTag = FOUR_CHAR_CODE('cprt'),
+ cmDeviceMfgDescTag = FOUR_CHAR_CODE('dmnd'),
+ cmDeviceModelDescTag = FOUR_CHAR_CODE('dmdd'),
+ cmGamutTag = FOUR_CHAR_CODE('gamt'),
+ cmGrayTRCTag = FOUR_CHAR_CODE('kTRC'),
+ cmGreenColorantTag = FOUR_CHAR_CODE('gXYZ'),
+ cmGreenTRCTag = FOUR_CHAR_CODE('gTRC'),
+ cmLuminanceTag = FOUR_CHAR_CODE('lumi'),
+ cmMeasurementTag = FOUR_CHAR_CODE('meas'),
+ cmMediaBlackPointTag = FOUR_CHAR_CODE('bkpt'),
+ cmMediaWhitePointTag = FOUR_CHAR_CODE('wtpt'),
+ cmNamedColorTag = FOUR_CHAR_CODE('ncol'),
+ cmNamedColor2Tag = FOUR_CHAR_CODE('ncl2'),
+ cmPreview0Tag = FOUR_CHAR_CODE('pre0'),
+ cmPreview1Tag = FOUR_CHAR_CODE('pre1'),
+ cmPreview2Tag = FOUR_CHAR_CODE('pre2'),
+ cmProfileDescriptionTag = FOUR_CHAR_CODE('desc'),
+ cmProfileSequenceDescTag = FOUR_CHAR_CODE('pseq'),
+ cmPS2CRD0Tag = FOUR_CHAR_CODE('psd0'),
+ cmPS2CRD1Tag = FOUR_CHAR_CODE('psd1'),
+ cmPS2CRD2Tag = FOUR_CHAR_CODE('psd2'),
+ cmPS2CRD3Tag = FOUR_CHAR_CODE('psd3'),
+ cmPS2CSATag = FOUR_CHAR_CODE('ps2s'),
+ cmPS2RenderingIntentTag = FOUR_CHAR_CODE('ps2i'),
+ cmRedColorantTag = FOUR_CHAR_CODE('rXYZ'),
+ cmRedTRCTag = FOUR_CHAR_CODE('rTRC'),
+ cmScreeningDescTag = FOUR_CHAR_CODE('scrd'),
+ cmScreeningTag = FOUR_CHAR_CODE('scrn'),
+ cmTechnologyTag = FOUR_CHAR_CODE('tech'),
+ cmUcrBgTag = FOUR_CHAR_CODE('bfd '),
+ cmViewingConditionsDescTag = FOUR_CHAR_CODE('vued'),
+ cmViewingConditionsTag = FOUR_CHAR_CODE('view')
};
/* custom tags */
-enum
-{
- cmPS2CRDVMSizeTag = FOUR_CHAR_CODE('psvm'),
- cmVideoCardGammaTag = FOUR_CHAR_CODE('vcgt'),
- cmMakeAndModelTag = FOUR_CHAR_CODE('mmod'),
- cmProfileDescriptionMLTag = FOUR_CHAR_CODE('dscm'),
- cmNativeDisplayInfoTag = FOUR_CHAR_CODE('ndin')
+enum {
+ cmPS2CRDVMSizeTag = FOUR_CHAR_CODE('psvm'),
+ cmVideoCardGammaTag = FOUR_CHAR_CODE('vcgt'),
+ cmMakeAndModelTag = FOUR_CHAR_CODE('mmod'),
+ cmProfileDescriptionMLTag = FOUR_CHAR_CODE('dscm'),
+ cmNativeDisplayInfoTag = FOUR_CHAR_CODE('ndin')
};
/* public type signatures */
-enum
-{
- cmSigCrdInfoType = FOUR_CHAR_CODE('crdi'),
- cmSigCurveType = FOUR_CHAR_CODE('curv'),
- cmSigDataType = FOUR_CHAR_CODE('data'),
- cmSigDateTimeType = FOUR_CHAR_CODE('dtim'),
- cmSigLut16Type = FOUR_CHAR_CODE('mft2'),
- cmSigLut8Type = FOUR_CHAR_CODE('mft1'),
- cmSigMeasurementType = FOUR_CHAR_CODE('meas'),
- cmSigMultiFunctA2BType = FOUR_CHAR_CODE('mAB '),
- cmSigMultiFunctB2AType = FOUR_CHAR_CODE('mBA '),
- cmSigNamedColorType = FOUR_CHAR_CODE('ncol'),
- cmSigNamedColor2Type = FOUR_CHAR_CODE('ncl2'),
- cmSigParametricCurveType = FOUR_CHAR_CODE('para'),
- cmSigProfileDescriptionType = FOUR_CHAR_CODE('desc'),
- cmSigProfileSequenceDescType = FOUR_CHAR_CODE('pseq'),
- cmSigScreeningType = FOUR_CHAR_CODE('scrn'),
- cmSigS15Fixed16Type = FOUR_CHAR_CODE('sf32'),
- cmSigSignatureType = FOUR_CHAR_CODE('sig '),
- cmSigTextType = FOUR_CHAR_CODE('text'),
- cmSigU16Fixed16Type = FOUR_CHAR_CODE('uf32'),
- cmSigU1Fixed15Type = FOUR_CHAR_CODE('uf16'),
- cmSigUInt8Type = FOUR_CHAR_CODE('ui08'),
- cmSigUInt16Type = FOUR_CHAR_CODE('ui16'),
- cmSigUInt32Type = FOUR_CHAR_CODE('ui32'),
- cmSigUInt64Type = FOUR_CHAR_CODE('ui64'),
- cmSigUcrBgType = FOUR_CHAR_CODE('bfd '),
- cmSigUnicodeTextType = FOUR_CHAR_CODE('utxt'),
- cmSigViewingConditionsType = FOUR_CHAR_CODE('view'),
- cmSigXYZType = FOUR_CHAR_CODE('XYZ ')
+enum {
+ cmSigCrdInfoType = FOUR_CHAR_CODE('crdi'),
+ cmSigCurveType = FOUR_CHAR_CODE('curv'),
+ cmSigDataType = FOUR_CHAR_CODE('data'),
+ cmSigDateTimeType = FOUR_CHAR_CODE('dtim'),
+ cmSigLut16Type = FOUR_CHAR_CODE('mft2'),
+ cmSigLut8Type = FOUR_CHAR_CODE('mft1'),
+ cmSigMeasurementType = FOUR_CHAR_CODE('meas'),
+ cmSigMultiFunctA2BType = FOUR_CHAR_CODE('mAB '),
+ cmSigMultiFunctB2AType = FOUR_CHAR_CODE('mBA '),
+ cmSigNamedColorType = FOUR_CHAR_CODE('ncol'),
+ cmSigNamedColor2Type = FOUR_CHAR_CODE('ncl2'),
+ cmSigParametricCurveType = FOUR_CHAR_CODE('para'),
+ cmSigProfileDescriptionType = FOUR_CHAR_CODE('desc'),
+ cmSigProfileSequenceDescType = FOUR_CHAR_CODE('pseq'),
+ cmSigScreeningType = FOUR_CHAR_CODE('scrn'),
+ cmSigS15Fixed16Type = FOUR_CHAR_CODE('sf32'),
+ cmSigSignatureType = FOUR_CHAR_CODE('sig '),
+ cmSigTextType = FOUR_CHAR_CODE('text'),
+ cmSigU16Fixed16Type = FOUR_CHAR_CODE('uf32'),
+ cmSigU1Fixed15Type = FOUR_CHAR_CODE('uf16'),
+ cmSigUInt8Type = FOUR_CHAR_CODE('ui08'),
+ cmSigUInt16Type = FOUR_CHAR_CODE('ui16'),
+ cmSigUInt32Type = FOUR_CHAR_CODE('ui32'),
+ cmSigUInt64Type = FOUR_CHAR_CODE('ui64'),
+ cmSigUcrBgType = FOUR_CHAR_CODE('bfd '),
+ cmSigUnicodeTextType = FOUR_CHAR_CODE('utxt'),
+ cmSigViewingConditionsType = FOUR_CHAR_CODE('view'),
+ cmSigXYZType = FOUR_CHAR_CODE('XYZ ')
};
/* custom type signatures */
-enum
-{
- cmSigPS2CRDVMSizeType = FOUR_CHAR_CODE('psvm'),
- cmSigVideoCardGammaType = FOUR_CHAR_CODE('vcgt'),
- cmSigMakeAndModelType = FOUR_CHAR_CODE('mmod'),
- cmSigNativeDisplayInfoType = FOUR_CHAR_CODE('ndin'),
- cmSigMultiLocalizedUniCodeType = FOUR_CHAR_CODE('mluc')
+enum {
+ cmSigPS2CRDVMSizeType = FOUR_CHAR_CODE('psvm'),
+ cmSigVideoCardGammaType = FOUR_CHAR_CODE('vcgt'),
+ cmSigMakeAndModelType = FOUR_CHAR_CODE('mmod'),
+ cmSigNativeDisplayInfoType = FOUR_CHAR_CODE('ndin'),
+ cmSigMultiLocalizedUniCodeType = FOUR_CHAR_CODE('mluc')
};
/* technology tag descriptions */
-enum
-{
- cmTechnologyDigitalCamera = FOUR_CHAR_CODE('dcam'),
- cmTechnologyFilmScanner = FOUR_CHAR_CODE('fscn'),
- cmTechnologyReflectiveScanner = FOUR_CHAR_CODE('rscn'),
- cmTechnologyInkJetPrinter = FOUR_CHAR_CODE('ijet'),
- cmTechnologyThermalWaxPrinter = FOUR_CHAR_CODE('twax'),
- cmTechnologyElectrophotographicPrinter = FOUR_CHAR_CODE('epho'),
- cmTechnologyElectrostaticPrinter = FOUR_CHAR_CODE('esta'),
- cmTechnologyDyeSublimationPrinter = FOUR_CHAR_CODE('dsub'),
- cmTechnologyPhotographicPaperPrinter = FOUR_CHAR_CODE('rpho'),
- cmTechnologyFilmWriter = FOUR_CHAR_CODE('fprn'),
- cmTechnologyVideoMonitor = FOUR_CHAR_CODE('vidm'),
- cmTechnologyVideoCamera = FOUR_CHAR_CODE('vidc'),
- cmTechnologyProjectionTelevision = FOUR_CHAR_CODE('pjtv'),
- cmTechnologyCRTDisplay = FOUR_CHAR_CODE('CRT '),
- cmTechnologyPMDisplay = FOUR_CHAR_CODE('PMD '),
- cmTechnologyAMDisplay = FOUR_CHAR_CODE('AMD '),
- cmTechnologyPhotoCD = FOUR_CHAR_CODE('KPCD'),
- cmTechnologyPhotoImageSetter = FOUR_CHAR_CODE('imgs'),
- cmTechnologyGravure = FOUR_CHAR_CODE('grav'),
- cmTechnologyOffsetLithography = FOUR_CHAR_CODE('offs'),
- cmTechnologySilkscreen = FOUR_CHAR_CODE('silk'),
- cmTechnologyFlexography = FOUR_CHAR_CODE('flex')
+enum {
+ cmTechnologyDigitalCamera = FOUR_CHAR_CODE('dcam'),
+ cmTechnologyFilmScanner = FOUR_CHAR_CODE('fscn'),
+ cmTechnologyReflectiveScanner = FOUR_CHAR_CODE('rscn'),
+ cmTechnologyInkJetPrinter = FOUR_CHAR_CODE('ijet'),
+ cmTechnologyThermalWaxPrinter = FOUR_CHAR_CODE('twax'),
+ cmTechnologyElectrophotographicPrinter = FOUR_CHAR_CODE('epho'),
+ cmTechnologyElectrostaticPrinter = FOUR_CHAR_CODE('esta'),
+ cmTechnologyDyeSublimationPrinter = FOUR_CHAR_CODE('dsub'),
+ cmTechnologyPhotographicPaperPrinter = FOUR_CHAR_CODE('rpho'),
+ cmTechnologyFilmWriter = FOUR_CHAR_CODE('fprn'),
+ cmTechnologyVideoMonitor = FOUR_CHAR_CODE('vidm'),
+ cmTechnologyVideoCamera = FOUR_CHAR_CODE('vidc'),
+ cmTechnologyProjectionTelevision = FOUR_CHAR_CODE('pjtv'),
+ cmTechnologyCRTDisplay = FOUR_CHAR_CODE('CRT '),
+ cmTechnologyPMDisplay = FOUR_CHAR_CODE('PMD '),
+ cmTechnologyAMDisplay = FOUR_CHAR_CODE('AMD '),
+ cmTechnologyPhotoCD = FOUR_CHAR_CODE('KPCD'),
+ cmTechnologyPhotoImageSetter = FOUR_CHAR_CODE('imgs'),
+ cmTechnologyGravure = FOUR_CHAR_CODE('grav'),
+ cmTechnologyOffsetLithography = FOUR_CHAR_CODE('offs'),
+ cmTechnologySilkscreen = FOUR_CHAR_CODE('silk'),
+ cmTechnologyFlexography = FOUR_CHAR_CODE('flex')
};
/* Measurement type encodings */
/* Measurement Flare */
-enum
-{
- cmFlare0 = 0x00000000,
- cmFlare100 = 0x00000001
+enum {
+ cmFlare0 = 0x00000000,
+ cmFlare100 = 0x00000001
};
/* Measurement Geometry */
-enum
-{
- cmGeometryUnknown = 0x00000000,
- cmGeometry045or450 = 0x00000001,
- cmGeometry0dord0 = 0x00000002
+enum {
+ cmGeometryUnknown = 0x00000000,
+ cmGeometry045or450 = 0x00000001,
+ cmGeometry0dord0 = 0x00000002
};
/* Standard Observer */
-enum
-{
- cmStdobsUnknown = 0x00000000,
- cmStdobs1931TwoDegrees = 0x00000001,
- cmStdobs1964TenDegrees = 0x00000002
+enum {
+ cmStdobsUnknown = 0x00000000,
+ cmStdobs1931TwoDegrees = 0x00000001,
+ cmStdobs1964TenDegrees = 0x00000002
};
/* Standard Illuminant */
-enum
-{
- cmIlluminantUnknown = 0x00000000,
- cmIlluminantD50 = 0x00000001,
- cmIlluminantD65 = 0x00000002,
- cmIlluminantD93 = 0x00000003,
- cmIlluminantF2 = 0x00000004,
- cmIlluminantD55 = 0x00000005,
- cmIlluminantA = 0x00000006,
- cmIlluminantEquiPower = 0x00000007,
- cmIlluminantF8 = 0x00000008
+enum {
+ cmIlluminantUnknown = 0x00000000,
+ cmIlluminantD50 = 0x00000001,
+ cmIlluminantD65 = 0x00000002,
+ cmIlluminantD93 = 0x00000003,
+ cmIlluminantF2 = 0x00000004,
+ cmIlluminantD55 = 0x00000005,
+ cmIlluminantA = 0x00000006,
+ cmIlluminantEquiPower = 0x00000007,
+ cmIlluminantF8 = 0x00000008
};
/* Spot Function Value */
-enum
-{
- cmSpotFunctionUnknown = 0,
- cmSpotFunctionDefault = 1,
- cmSpotFunctionRound = 2,
- cmSpotFunctionDiamond = 3,
- cmSpotFunctionEllipse = 4,
- cmSpotFunctionLine = 5,
- cmSpotFunctionSquare = 6,
- cmSpotFunctionCross = 7
+enum {
+ cmSpotFunctionUnknown = 0,
+ cmSpotFunctionDefault = 1,
+ cmSpotFunctionRound = 2,
+ cmSpotFunctionDiamond = 3,
+ cmSpotFunctionEllipse = 4,
+ cmSpotFunctionLine = 5,
+ cmSpotFunctionSquare = 6,
+ cmSpotFunctionCross = 7
};
/* Color Space Signatures */
-enum
-{
- cmXYZData = FOUR_CHAR_CODE('XYZ '),
- cmLabData = FOUR_CHAR_CODE('Lab '),
- cmLuvData = FOUR_CHAR_CODE('Luv '),
- cmYCbCrData = FOUR_CHAR_CODE('YCbr'),
- cmYxyData = FOUR_CHAR_CODE('Yxy '),
- cmRGBData = FOUR_CHAR_CODE('RGB '),
- cmSRGBData = FOUR_CHAR_CODE('sRGB'),
- cmGrayData = FOUR_CHAR_CODE('GRAY'),
- cmHSVData = FOUR_CHAR_CODE('HSV '),
- cmHLSData = FOUR_CHAR_CODE('HLS '),
- cmCMYKData = FOUR_CHAR_CODE('CMYK'),
- cmCMYData = FOUR_CHAR_CODE('CMY '),
- cmMCH5Data = FOUR_CHAR_CODE('MCH5'),
- cmMCH6Data = FOUR_CHAR_CODE('MCH6'),
- cmMCH7Data = FOUR_CHAR_CODE('MCH7'),
- cmMCH8Data = FOUR_CHAR_CODE('MCH8'),
- cm3CLRData = FOUR_CHAR_CODE('3CLR'),
- cm4CLRData = FOUR_CHAR_CODE('4CLR'),
- cm5CLRData = FOUR_CHAR_CODE('5CLR'),
- cm6CLRData = FOUR_CHAR_CODE('6CLR'),
- cm7CLRData = FOUR_CHAR_CODE('7CLR'),
- cm8CLRData = FOUR_CHAR_CODE('8CLR'),
- cm9CLRData = FOUR_CHAR_CODE('9CLR'),
- cm10CLRData = FOUR_CHAR_CODE('ACLR'),
- cm11CLRData = FOUR_CHAR_CODE('BCLR'),
- cm12CLRData = FOUR_CHAR_CODE('CCLR'),
- cm13CLRData = FOUR_CHAR_CODE('DCLR'),
- cm14CLRData = FOUR_CHAR_CODE('ECLR'),
- cm15CLRData = FOUR_CHAR_CODE('FCLR'),
- cmNamedData = FOUR_CHAR_CODE('NAME')
+enum {
+ cmXYZData = FOUR_CHAR_CODE('XYZ '),
+ cmLabData = FOUR_CHAR_CODE('Lab '),
+ cmLuvData = FOUR_CHAR_CODE('Luv '),
+ cmYCbCrData = FOUR_CHAR_CODE('YCbr'),
+ cmYxyData = FOUR_CHAR_CODE('Yxy '),
+ cmRGBData = FOUR_CHAR_CODE('RGB '),
+ cmSRGBData = FOUR_CHAR_CODE('sRGB'),
+ cmGrayData = FOUR_CHAR_CODE('GRAY'),
+ cmHSVData = FOUR_CHAR_CODE('HSV '),
+ cmHLSData = FOUR_CHAR_CODE('HLS '),
+ cmCMYKData = FOUR_CHAR_CODE('CMYK'),
+ cmCMYData = FOUR_CHAR_CODE('CMY '),
+ cmMCH5Data = FOUR_CHAR_CODE('MCH5'),
+ cmMCH6Data = FOUR_CHAR_CODE('MCH6'),
+ cmMCH7Data = FOUR_CHAR_CODE('MCH7'),
+ cmMCH8Data = FOUR_CHAR_CODE('MCH8'),
+ cm3CLRData = FOUR_CHAR_CODE('3CLR'),
+ cm4CLRData = FOUR_CHAR_CODE('4CLR'),
+ cm5CLRData = FOUR_CHAR_CODE('5CLR'),
+ cm6CLRData = FOUR_CHAR_CODE('6CLR'),
+ cm7CLRData = FOUR_CHAR_CODE('7CLR'),
+ cm8CLRData = FOUR_CHAR_CODE('8CLR'),
+ cm9CLRData = FOUR_CHAR_CODE('9CLR'),
+ cm10CLRData = FOUR_CHAR_CODE('ACLR'),
+ cm11CLRData = FOUR_CHAR_CODE('BCLR'),
+ cm12CLRData = FOUR_CHAR_CODE('CCLR'),
+ cm13CLRData = FOUR_CHAR_CODE('DCLR'),
+ cm14CLRData = FOUR_CHAR_CODE('ECLR'),
+ cm15CLRData = FOUR_CHAR_CODE('FCLR'),
+ cmNamedData = FOUR_CHAR_CODE('NAME')
};
/* profileClass enumerations */
-enum
-{
- cmInputClass = FOUR_CHAR_CODE('scnr'),
- cmDisplayClass = FOUR_CHAR_CODE('mntr'),
- cmOutputClass = FOUR_CHAR_CODE('prtr'),
- cmLinkClass = FOUR_CHAR_CODE('link'),
- cmAbstractClass = FOUR_CHAR_CODE('abst'),
- cmColorSpaceClass = FOUR_CHAR_CODE('spac'),
- cmNamedColorClass = FOUR_CHAR_CODE('nmcl')
+enum {
+ cmInputClass = FOUR_CHAR_CODE('scnr'),
+ cmDisplayClass = FOUR_CHAR_CODE('mntr'),
+ cmOutputClass = FOUR_CHAR_CODE('prtr'),
+ cmLinkClass = FOUR_CHAR_CODE('link'),
+ cmAbstractClass = FOUR_CHAR_CODE('abst'),
+ cmColorSpaceClass = FOUR_CHAR_CODE('spac'),
+ cmNamedColorClass = FOUR_CHAR_CODE('nmcl')
};
/* platform enumerations */
-enum
-{
- cmMacintosh = FOUR_CHAR_CODE('APPL'),
- cmMicrosoft = FOUR_CHAR_CODE('MSFT'),
- cmSolaris = FOUR_CHAR_CODE('SUNW'),
- cmSiliconGraphics = FOUR_CHAR_CODE('SGI '),
- cmTaligent = FOUR_CHAR_CODE('TGNT')
+enum {
+ cmMacintosh = FOUR_CHAR_CODE('APPL'),
+ cmMicrosoft = FOUR_CHAR_CODE('MSFT'),
+ cmSolaris = FOUR_CHAR_CODE('SUNW'),
+ cmSiliconGraphics = FOUR_CHAR_CODE('SGI '),
+ cmTaligent = FOUR_CHAR_CODE('TGNT')
};
/* parametric curve type enumerations */
-enum
-{
- cmParametricType0 = 0, /* Y = X^gamma */
- cmParametricType1 = 1, /* Y = (aX+b)^gamma [X>=-b/a], Y = 0 [X<-b/a] */
- cmParametricType2 = 2, /* Y = (aX+b)^gamma + c [X>=-b/a], Y = c [X<-b/a] */
- cmParametricType3 = 3, /* Y = (aX+b)^gamma [X>=d], Y = cX [X<d] */
- cmParametricType4 = 4 /* Y = (aX+b)^gamma + e [X>=d], Y = cX+f [X<d] */
+enum {
+ cmParametricType0 = 0, /* Y = X^gamma */
+ cmParametricType1 = 1, /* Y = (aX+b)^gamma [X>=-b/a], Y = 0 [X<-b/a] */
+ cmParametricType2 = 2, /* Y = (aX+b)^gamma + c [X>=-b/a], Y = c [X<-b/a] */
+ cmParametricType3 = 3, /* Y = (aX+b)^gamma [X>=d], Y = cX [X<d] */
+ cmParametricType4 = 4 /* Y = (aX+b)^gamma + e [X>=d], Y = cX+f [X<d] */
};
/* ColorSync 1.0 elements */
-enum
-{
- cmCS1ChromTag = FOUR_CHAR_CODE('chrm'),
- cmCS1TRCTag = FOUR_CHAR_CODE('trc '),
- cmCS1NameTag = FOUR_CHAR_CODE('name'),
- cmCS1CustTag = FOUR_CHAR_CODE('cust')
+enum {
+ cmCS1ChromTag = FOUR_CHAR_CODE('chrm'),
+ cmCS1TRCTag = FOUR_CHAR_CODE('trc '),
+ cmCS1NameTag = FOUR_CHAR_CODE('name'),
+ cmCS1CustTag = FOUR_CHAR_CODE('cust')
};
/* General element data types */
-struct CMDateTime
-{
- UInt16 year;
- UInt16 month;
- UInt16 dayOfTheMonth;
- UInt16 hours;
- UInt16 minutes;
- UInt16 seconds;
+struct CMDateTime {
+ UInt16 year;
+ UInt16 month;
+ UInt16 dayOfTheMonth;
+ UInt16 hours;
+ UInt16 minutes;
+ UInt16 seconds;
};
typedef struct CMDateTime CMDateTime;
-struct CMFixedXYColor
-{
- Fixed x;
- Fixed y;
+struct CMFixedXYColor {
+ Fixed x;
+ Fixed y;
};
typedef struct CMFixedXYColor CMFixedXYColor;
-struct CMFixedXYZColor
-{
- Fixed X;
- Fixed Y;
- Fixed Z;
+struct CMFixedXYZColor {
+ Fixed X;
+ Fixed Y;
+ Fixed Z;
};
typedef struct CMFixedXYZColor CMFixedXYZColor;
typedef UInt16 CMXYZComponent;
-struct CMXYZColor
-{
- CMXYZComponent X;
- CMXYZComponent Y;
- CMXYZComponent Z;
+struct CMXYZColor {
+ CMXYZComponent X;
+ CMXYZComponent Y;
+ CMXYZComponent Z;
};
typedef struct CMXYZColor CMXYZColor;
/* Typedef for Profile MD5 message digest */
@@ -441,655 +410,590 @@ typedef CMProfileMD5 * CMProfileMD5Ptr;
/*
* CMProfileMD5AreEqual()
- *
+ *
* Availability: available as macro/inline
*/
#ifdef __cplusplus
-inline Boolean CMProfileMD5AreEqual(CMProfileMD5 a, CMProfileMD5 b)
-{
- return ((long*)a)[0] == ((long*)b)[0] && ((long*)a)[1] == ((long*)b)[1] &&
- ((long*)a)[2] == ((long*)b)[2] && ((long*)a)[3] == ((long*)b)[3];
-}
+ inline Boolean CMProfileMD5AreEqual(CMProfileMD5 a, CMProfileMD5 b)
+ {
+ return ((long*)a)[0]==((long*)b)[0] && ((long*)a)[1]==((long*)b)[1] &&
+ ((long*)a)[2]==((long*)b)[2] && ((long*)a)[3]==((long*)b)[3];
+ }
#else
-#define CMProfileMD5AreEqual(a, b) (\
+ #define CMProfileMD5AreEqual(a, b) (\
((long*)a)[0]==((long*)b)[0] && ((long*)a)[1]==((long*)b)[1] && \
((long*)a)[2]==((long*)b)[2] && ((long*)a)[3]==((long*)b)[3])
#endif
-struct CM2Header
-{
- UInt32 size; /* This is the total size of the Profile */
- OSType CMMType; /* CMM signature, Registered with CS2 consortium */
- UInt32 profileVersion; /* Version of CMProfile format */
- OSType profileClass; /* input, display, output, devicelink, abstract, or color conversion profile type */
- OSType dataColorSpace; /* color space of data */
- OSType profileConnectionSpace; /* profile connection color space */
- CMDateTime dateTime; /* date and time of profile creation */
- OSType CS2profileSignature; /* 'acsp' constant ColorSync 2.0 file ID */
- OSType platform; /* primary profile platform, Registered with CS2 consortium */
- UInt32 flags; /* profile flags */
- OSType deviceManufacturer; /* Registered with ICC consortium */
- UInt32 deviceModel; /* Registered with ICC consortium */
- UInt32 deviceAttributes[2]; /* Attributes[0] is for device vendors, [1] is for ICC */
- UInt32 renderingIntent; /* preferred rendering intent of tagged object */
- CMFixedXYZColor white; /* profile illuminant */
- OSType creator; /* profile creator */
- char reserved[44]; /* reserved for future use */
+struct CM2Header {
+ UInt32 size; /* This is the total size of the Profile */
+ OSType CMMType; /* CMM signature, Registered with CS2 consortium */
+ UInt32 profileVersion; /* Version of CMProfile format */
+ OSType profileClass; /* input, display, output, devicelink, abstract, or color conversion profile type */
+ OSType dataColorSpace; /* color space of data */
+ OSType profileConnectionSpace; /* profile connection color space */
+ CMDateTime dateTime; /* date and time of profile creation */
+ OSType CS2profileSignature; /* 'acsp' constant ColorSync 2.0 file ID */
+ OSType platform; /* primary profile platform, Registered with CS2 consortium */
+ UInt32 flags; /* profile flags */
+ OSType deviceManufacturer; /* Registered with ICC consortium */
+ UInt32 deviceModel; /* Registered with ICC consortium */
+ UInt32 deviceAttributes[2]; /* Attributes[0] is for device vendors, [1] is for ICC */
+ UInt32 renderingIntent; /* preferred rendering intent of tagged object */
+ CMFixedXYZColor white; /* profile illuminant */
+ OSType creator; /* profile creator */
+ char reserved[44]; /* reserved for future use */
};
typedef struct CM2Header CM2Header;
-struct CM4Header
-{
- UInt32 size; /* This is the total size of the Profile */
- OSType CMMType; /* CMM signature, Registered with CS2 consortium */
- UInt32 profileVersion; /* Version of CMProfile format */
- OSType profileClass; /* input, display, output, devicelink, abstract, or color conversion profile type */
- OSType dataColorSpace; /* color space of data */
- OSType profileConnectionSpace; /* profile connection color space */
- CMDateTime dateTime; /* date and time of profile creation */
- OSType CS2profileSignature; /* 'acsp' constant ColorSync 2.0 file ID */
- OSType platform; /* primary profile platform, Registered with CS2 consortium */
- UInt32 flags; /* profile flags */
- OSType deviceManufacturer; /* Registered with ICC consortium */
- UInt32 deviceModel; /* Registered with ICC consortium */
- UInt32 deviceAttributes[2]; /* Attributes[0] is for device vendors, [1] is for ICC */
- UInt32 renderingIntent; /* preferred rendering intent of tagged object */
- CMFixedXYZColor white; /* profile illuminant */
- OSType creator; /* profile creator */
- CMProfileMD5 digest; /* Profile message digest */
- char reserved[28]; /* reserved for future use */
+struct CM4Header {
+ UInt32 size; /* This is the total size of the Profile */
+ OSType CMMType; /* CMM signature, Registered with CS2 consortium */
+ UInt32 profileVersion; /* Version of CMProfile format */
+ OSType profileClass; /* input, display, output, devicelink, abstract, or color conversion profile type */
+ OSType dataColorSpace; /* color space of data */
+ OSType profileConnectionSpace; /* profile connection color space */
+ CMDateTime dateTime; /* date and time of profile creation */
+ OSType CS2profileSignature; /* 'acsp' constant ColorSync 2.0 file ID */
+ OSType platform; /* primary profile platform, Registered with CS2 consortium */
+ UInt32 flags; /* profile flags */
+ OSType deviceManufacturer; /* Registered with ICC consortium */
+ UInt32 deviceModel; /* Registered with ICC consortium */
+ UInt32 deviceAttributes[2]; /* Attributes[0] is for device vendors, [1] is for ICC */
+ UInt32 renderingIntent; /* preferred rendering intent of tagged object */
+ CMFixedXYZColor white; /* profile illuminant */
+ OSType creator; /* profile creator */
+ CMProfileMD5 digest; /* Profile message digest */
+ char reserved[28]; /* reserved for future use */
};
typedef struct CM4Header CM4Header;
-struct CMTagRecord
-{
- OSType tag; /* Registered with CS2 consortium */
- UInt32 elementOffset; /* Relative to start of CMProfile */
- UInt32 elementSize;
+struct CMTagRecord {
+ OSType tag; /* Registered with CS2 consortium */
+ UInt32 elementOffset; /* Relative to start of CMProfile */
+ UInt32 elementSize;
};
typedef struct CMTagRecord CMTagRecord;
-struct CMTagElemTable
-{
- UInt32 count;
- CMTagRecord tagList[1]; /* variable size, determined by count */
+struct CMTagElemTable {
+ UInt32 count;
+ CMTagRecord tagList[1]; /* variable size, determined by count */
};
typedef struct CMTagElemTable CMTagElemTable;
-struct CM2Profile
-{
- CM2Header header;
- CMTagElemTable tagTable;
- char elemData[1]; /* variable size data for tagged element storage */
+struct CM2Profile {
+ CM2Header header;
+ CMTagElemTable tagTable;
+ char elemData[1]; /* variable size data for tagged element storage */
};
typedef struct CM2Profile CM2Profile;
typedef CM2Profile * CM2ProfilePtr;
typedef CM2ProfilePtr * CM2ProfileHandle;
/* Tag Type Definitions */
-struct CMAdaptationMatrixType
-{
- OSType typeDescriptor; /* 'sf32' = cmSigS15Fixed16Type */
- unsigned long reserved; /* fill with 0x00 */
- Fixed adaptationMatrix[9]; /* fixed size of nine matrix entries */
+struct CMAdaptationMatrixType {
+ OSType typeDescriptor; /* 'sf32' = cmSigS15Fixed16Type */
+ unsigned long reserved; /* fill with 0x00 */
+ Fixed adaptationMatrix[9]; /* fixed size of nine matrix entries */
};
typedef struct CMAdaptationMatrixType CMAdaptationMatrixType;
-struct CMCurveType
-{
- OSType typeDescriptor; /* 'curv' = cmSigCurveType */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 countValue; /* number of entries in table that follows */
- UInt16 data[1]; /* variable size, determined by countValue */
+struct CMCurveType {
+ OSType typeDescriptor; /* 'curv' = cmSigCurveType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 countValue; /* number of entries in table that follows */
+ UInt16 data[1]; /* variable size, determined by countValue */
};
typedef struct CMCurveType CMCurveType;
-struct CMDataType
-{
- OSType typeDescriptor; /* 'data' = cmSigDataType*/
- UInt32 reserved; /* fill with 0x00 */
- UInt32 dataFlag; /* 0 = ASCII, 1 = binary */
- char data[1]; /* variable size, determined by tag element size */
+struct CMDataType {
+ OSType typeDescriptor; /* 'data' = cmSigDataType*/
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 dataFlag; /* 0 = ASCII, 1 = binary */
+ char data[1]; /* variable size, determined by tag element size */
};
typedef struct CMDataType CMDataType;
-struct CMDateTimeType
-{
- OSType typeDescriptor; /* 'dtim' = cmSigDateTimeType */
- UInt32 reserved; /* fill with 0x00 */
- CMDateTime dateTime; /* */
+struct CMDateTimeType {
+ OSType typeDescriptor; /* 'dtim' = cmSigDateTimeType */
+ UInt32 reserved; /* fill with 0x00 */
+ CMDateTime dateTime; /* */
};
typedef struct CMDateTimeType CMDateTimeType;
-struct CMLut16Type
-{
- OSType typeDescriptor; /* 'mft2' = cmSigLut16Type */
- UInt32 reserved; /* fill with 0x00 */
- UInt8 inputChannels; /* Number of input channels */
- UInt8 outputChannels; /* Number of output channels */
- UInt8 gridPoints; /* Number of clutTable grid points */
- UInt8 reserved2; /* fill with 0x00 */
- Fixed matrix[3][3]; /* */
- UInt16 inputTableEntries; /* Number of entries in 1-D input luts */
- UInt16 outputTableEntries; /* Number of entries in 1-D output luts */
- UInt16 inputTable[1]; /* variable size, determined by inputChannels*inputTableEntries */
+struct CMLut16Type {
+ OSType typeDescriptor; /* 'mft2' = cmSigLut16Type */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt8 inputChannels; /* Number of input channels */
+ UInt8 outputChannels; /* Number of output channels */
+ UInt8 gridPoints; /* Number of clutTable grid points */
+ UInt8 reserved2; /* fill with 0x00 */
+ Fixed matrix[3][3]; /* */
+ UInt16 inputTableEntries; /* Number of entries in 1-D input luts */
+ UInt16 outputTableEntries; /* Number of entries in 1-D output luts */
+ UInt16 inputTable[1]; /* variable size, determined by inputChannels*inputTableEntries */
#if 0 /* NOTE: Field offsets are variable from here on. */
- /* In order to correctly reflect the actual format of this tag, some of the fields in */
- /* this structure have been removed because they follow an array field of variable size. */
- /* As a result, the size of this structure has changed from previous versions of this interface. */
- /* Code that relies on sizeof(CMLut16Type) should be changed. */
- UInt16 CLUT[]; /* variable size, determined by (gridPoints^inputChannels)*outputChannels */
- UInt16 outputTable[]; /* variable size, determined by outputChannels*outputTableEntries */
+ /* In order to correctly reflect the actual format of this tag, some of the fields in */
+ /* this structure have been removed because they follow an array field of variable size. */
+ /* As a result, the size of this structure has changed from previous versions of this interface. */
+ /* Code that relies on sizeof(CMLut16Type) should be changed. */
+ UInt16 CLUT[]; /* variable size, determined by (gridPoints^inputChannels)*outputChannels */
+ UInt16 outputTable[]; /* variable size, determined by outputChannels*outputTableEntries */
#endif
};
typedef struct CMLut16Type CMLut16Type;
-struct CMLut8Type
-{
- OSType typeDescriptor; /* 'mft1' = cmSigLut8Type */
- UInt32 reserved; /* fill with 0x00 */
- UInt8 inputChannels; /* Number of input channels */
- UInt8 outputChannels; /* Number of output channels */
- UInt8 gridPoints; /* Number of clutTable grid points */
- UInt8 reserved2; /* fill with 0x00 */
- Fixed matrix[3][3]; /* */
- UInt8 inputTable[1]; /* variable size, determined by inputChannels*256 */
+struct CMLut8Type {
+ OSType typeDescriptor; /* 'mft1' = cmSigLut8Type */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt8 inputChannels; /* Number of input channels */
+ UInt8 outputChannels; /* Number of output channels */
+ UInt8 gridPoints; /* Number of clutTable grid points */
+ UInt8 reserved2; /* fill with 0x00 */
+ Fixed matrix[3][3]; /* */
+ UInt8 inputTable[1]; /* variable size, determined by inputChannels*256 */
#if 0 /* NOTE: Field offsets are variable from here on. */
- /* In order to correctly reflect the actual format of this tag, some of the fields in */
- /* this structure have been removed because they follow an array field of variable size. */
- /* As a result, the size of this structure has changed from previous versions of this interface. */
- /* Code that relies on sizeof(CMLut8Type) should be changed. */
- UInt8 CLUT[]; /* variable size, determined by (gridPoints^inputChannels)*outputChannels */
- UInt8 outputTable[]; /* variable size, determined by outputChannels*256 */
+ /* In order to correctly reflect the actual format of this tag, some of the fields in */
+ /* this structure have been removed because they follow an array field of variable size. */
+ /* As a result, the size of this structure has changed from previous versions of this interface. */
+ /* Code that relies on sizeof(CMLut8Type) should be changed. */
+ UInt8 CLUT[]; /* variable size, determined by (gridPoints^inputChannels)*outputChannels */
+ UInt8 outputTable[]; /* variable size, determined by outputChannels*256 */
#endif
};
typedef struct CMLut8Type CMLut8Type;
-struct CMMultiFunctLutType
-{
- OSType typeDescriptor; /* 'mAB ' = cmSigMultiFunctA2BType or 'mBA ' = cmSigMultiFunctB2AType */
- UInt32 reserved; /* fill with 0x00 */
- UInt8 inputChannels; /* Number of input channels */
- UInt8 outputChannels; /* Number of output channels */
- UInt16 reserved2; /* fill with 0x00 */
- UInt32 offsetBcurves; /* offset to first "B" curve */
- UInt32 offsetMatrix; /* offset to 3x4 matrix */
- UInt32 offsetMcurves; /* offset to first "M" curve */
- UInt32 offsetCLUT; /* offset to multi-dimensional LUT of type CMMultiFunctCLUTType */
- UInt32 offsetAcurves; /* offset to first "A" curve */
- UInt8 data[1]; /* variable size */
+struct CMMultiFunctLutType {
+ OSType typeDescriptor; /* 'mAB ' = cmSigMultiFunctA2BType or 'mBA ' = cmSigMultiFunctB2AType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt8 inputChannels; /* Number of input channels */
+ UInt8 outputChannels; /* Number of output channels */
+ UInt16 reserved2; /* fill with 0x00 */
+ UInt32 offsetBcurves; /* offset to first "B" curve */
+ UInt32 offsetMatrix; /* offset to 3x4 matrix */
+ UInt32 offsetMcurves; /* offset to first "M" curve */
+ UInt32 offsetCLUT; /* offset to multi-dimensional LUT of type CMMultiFunctCLUTType */
+ UInt32 offsetAcurves; /* offset to first "A" curve */
+ UInt8 data[1]; /* variable size */
};
typedef struct CMMultiFunctLutType CMMultiFunctLutType;
typedef CMMultiFunctLutType CMMultiFunctLutA2BType;
typedef CMMultiFunctLutType CMMultiFunctLutB2AType;
-struct CMMultiFunctCLUTType
-{
- UInt8 gridPoints[16]; /* grigpoints for each input channel dimension (remaining are 0) */
- UInt8 entrySize; /* bytes per lut enrty (1 or 2) */
- UInt8 reserved[3]; /* fill with 0x00 */
- UInt8 data[1]; /* variable size, determined by above */
+struct CMMultiFunctCLUTType {
+ UInt8 gridPoints[16]; /* grigpoints for each input channel dimension (remaining are 0) */
+ UInt8 entrySize; /* bytes per lut enrty (1 or 2) */
+ UInt8 reserved[3]; /* fill with 0x00 */
+ UInt8 data[1]; /* variable size, determined by above */
};
typedef struct CMMultiFunctCLUTType CMMultiFunctCLUTType;
-struct CMMeasurementType
-{
- OSType typeDescriptor; /* 'meas' = cmSigMeasurementType */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 standardObserver; /* cmStdobsUnknown, cmStdobs1931TwoDegrees, cmStdobs1964TenDegrees */
- CMFixedXYZColor backingXYZ; /* absolute XYZ values of backing */
- UInt32 geometry; /* cmGeometryUnknown, cmGeometry045or450 (0/45), cmGeometry0dord0 (0/d or d/0) */
- UInt32 flare; /* cmFlare0, cmFlare100 */
- UInt32 illuminant; /* cmIlluminantUnknown, cmIlluminantD50, ... */
+struct CMMeasurementType {
+ OSType typeDescriptor; /* 'meas' = cmSigMeasurementType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 standardObserver; /* cmStdobsUnknown, cmStdobs1931TwoDegrees, cmStdobs1964TenDegrees */
+ CMFixedXYZColor backingXYZ; /* absolute XYZ values of backing */
+ UInt32 geometry; /* cmGeometryUnknown, cmGeometry045or450 (0/45), cmGeometry0dord0 (0/d or d/0) */
+ UInt32 flare; /* cmFlare0, cmFlare100 */
+ UInt32 illuminant; /* cmIlluminantUnknown, cmIlluminantD50, ... */
};
typedef struct CMMeasurementType CMMeasurementType;
-struct CMNamedColorType
-{
- OSType typeDescriptor; /* 'ncol' = cmSigNamedColorType */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 vendorFlag; /* */
- UInt32 count; /* count of named colors in array that follows */
- UInt8 prefixName[1]; /* variable size, max = 32 */
+struct CMNamedColorType {
+ OSType typeDescriptor; /* 'ncol' = cmSigNamedColorType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 vendorFlag; /* */
+ UInt32 count; /* count of named colors in array that follows */
+ UInt8 prefixName[1]; /* variable size, max = 32 */
#if 0 /* NOTE: Field offsets are variable from here on. */
- /* In order to correctly reflect the actual format of this tag, some of the fields in */
- /* this structure have been removed because they follow an array field of variable size. */
- /* As a result, the size of this structure has changed from previous versions of this interface. */
- /* Code that relies on sizeof(CMNamedColorType) should be changed. */
- UInt8 suffixName[]; /* variable size, max = 32 */
- struct
- {
- UInt8 rootName[]; /* variable size, max = 32 */
- UInt8 colorCoords[]; /* variable size */
- } colorName[]; /* variable size */
+ /* In order to correctly reflect the actual format of this tag, some of the fields in */
+ /* this structure have been removed because they follow an array field of variable size. */
+ /* As a result, the size of this structure has changed from previous versions of this interface. */
+ /* Code that relies on sizeof(CMNamedColorType) should be changed. */
+ UInt8 suffixName[]; /* variable size, max = 32 */
+ struct {
+ UInt8 rootName[]; /* variable size, max = 32 */
+ UInt8 colorCoords[]; /* variable size */
+ } colorName[]; /* variable size */
#endif
};
typedef struct CMNamedColorType CMNamedColorType;
-struct CMNamedColor2EntryType
-{
- UInt8 rootName[32]; /* 32 byte field. 7 bit ASCII null terminated */
- UInt16 PCSColorCoords[3]; /* Lab or XYZ color */
- UInt16 DeviceColorCoords[1]; /* variable size */
+struct CMNamedColor2EntryType {
+ UInt8 rootName[32]; /* 32 byte field. 7 bit ASCII null terminated */
+ UInt16 PCSColorCoords[3]; /* Lab or XYZ color */
+ UInt16 DeviceColorCoords[1]; /* variable size */
};
typedef struct CMNamedColor2EntryType CMNamedColor2EntryType;
-struct CMNamedColor2Type
-{
- OSType typeDescriptor; /* 'ncl2' = cmSigNamedColor2Type */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 vendorFlag; /* lower 16 bits reserved for ICC use */
- UInt32 count; /* count of named colors in array that follows */
- UInt32 deviceChannelCount; /* number of device channels, 0 indicates no device value available */
- UInt8 prefixName[32]; /* Fixed 32 byte size. 7 bit ASCII null terminated */
- UInt8 suffixName[32]; /* Fixed 32 byte size. 7 bit ASCII null terminated */
- char data[1]; /* variable size data for CMNamedColor2EntryType */
+struct CMNamedColor2Type {
+ OSType typeDescriptor; /* 'ncl2' = cmSigNamedColor2Type */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 vendorFlag; /* lower 16 bits reserved for ICC use */
+ UInt32 count; /* count of named colors in array that follows */
+ UInt32 deviceChannelCount; /* number of device channels, 0 indicates no device value available */
+ UInt8 prefixName[32]; /* Fixed 32 byte size. 7 bit ASCII null terminated */
+ UInt8 suffixName[32]; /* Fixed 32 byte size. 7 bit ASCII null terminated */
+ char data[1]; /* variable size data for CMNamedColor2EntryType */
};
typedef struct CMNamedColor2Type CMNamedColor2Type;
-struct CMNativeDisplayInfo
-{
- UInt32 dataSize; /* Size of this structure */
- CMFixedXYColor redPhosphor; /* Phosphors - native cromaticity values of the display */
- CMFixedXYColor greenPhosphor;
- CMFixedXYColor bluePhosphor;
- CMFixedXYColor whitePoint;
- Fixed redGammaValue; /* Gammas - native gamma values of the display */
- Fixed greenGammaValue;
- Fixed blueGammaValue;
- /* Gamma tables - if if gammaChannels is not zero, */
- /* native gamma tables are preferred over values */
- /* redGammaValue, greenGammaValue, blueGammaValue */
- UInt16 gammaChannels; /* # of gamma channels (1 or 3) */
- UInt16 gammaEntryCount; /* 1-based number of entries per channel */
- UInt16 gammaEntrySize; /* size in bytes of each entry */
- char gammaData[1]; /* variable size, determined by channels*entryCount*entrySize */
+struct CMNativeDisplayInfo {
+ UInt32 dataSize; /* Size of this structure */
+ CMFixedXYColor redPhosphor; /* Phosphors - native cromaticity values of the display */
+ CMFixedXYColor greenPhosphor;
+ CMFixedXYColor bluePhosphor;
+ CMFixedXYColor whitePoint;
+ Fixed redGammaValue; /* Gammas - native gamma values of the display */
+ Fixed greenGammaValue;
+ Fixed blueGammaValue;
+ /* Gamma tables - if if gammaChannels is not zero, */
+ /* native gamma tables are preferred over values */
+ /* redGammaValue, greenGammaValue, blueGammaValue */
+ UInt16 gammaChannels; /* # of gamma channels (1 or 3) */
+ UInt16 gammaEntryCount; /* 1-based number of entries per channel */
+ UInt16 gammaEntrySize; /* size in bytes of each entry */
+ char gammaData[1]; /* variable size, determined by channels*entryCount*entrySize */
};
typedef struct CMNativeDisplayInfo CMNativeDisplayInfo;
-struct CMNativeDisplayInfoType
-{
- OSType typeDescriptor; /* 'ndin' = cmSigNativeDisplayInfoType */
- unsigned long reserved; /* fill with 0x00 */
- CMNativeDisplayInfo nativeDisplayInfo; /* data of type CMNativeDisplayInfo */
+struct CMNativeDisplayInfoType {
+ OSType typeDescriptor; /* 'ndin' = cmSigNativeDisplayInfoType */
+ unsigned long reserved; /* fill with 0x00 */
+ CMNativeDisplayInfo nativeDisplayInfo; /* data of type CMNativeDisplayInfo */
};
typedef struct CMNativeDisplayInfoType CMNativeDisplayInfoType;
-struct CMParametricCurveType
-{
- OSType typeDescriptor; /* 'para' = cmSigParametricCurveType */
- UInt32 reserved; /* fill with 0x00 */
- UInt16 functionType; /* cmParametricType0, cmParametricType1, etc. */
- UInt16 reserved2; /* fill with 0x00 */
- Fixed value[1]; /* variable size, determined by functionType */
+struct CMParametricCurveType {
+ OSType typeDescriptor; /* 'para' = cmSigParametricCurveType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt16 functionType; /* cmParametricType0, cmParametricType1, etc. */
+ UInt16 reserved2; /* fill with 0x00 */
+ Fixed value[1]; /* variable size, determined by functionType */
};
typedef struct CMParametricCurveType CMParametricCurveType;
-struct CMTextDescriptionType
-{
- OSType typeDescriptor; /* 'desc' = cmSigProfileDescriptionType */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 ASCIICount; /* Count of bytes (including null terminator) */
- UInt8 ASCIIName[2]; /* variable size, determined by ASCIICount. 7 bit ASCII null terminated */
+struct CMTextDescriptionType {
+ OSType typeDescriptor; /* 'desc' = cmSigProfileDescriptionType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 ASCIICount; /* Count of bytes (including null terminator) */
+ UInt8 ASCIIName[2]; /* variable size, determined by ASCIICount. 7 bit ASCII null terminated */
#if 0 /* NOTE: Field offsets are variable from here on. */
- /* In order to correctly reflect the actual format of this tag, some of the fields in */
- /* this structure have been removed because they follow an array field of variable size. */
- /* As a result, the size of this structure has changed from previous versions of this interface. */
- /* Code that relies on sizeof(CMTextDescriptionType) should be changed. */
- UInt32 UniCodeCode; /* Unused */
- UInt32 UniCodeCount; /* Count of 2-byte characters (including null terminator) */
- UInt8 UniCodeName[]; /* variable size, determined by UniCodeCount */
- SInt16 ScriptCodeCode; /* Mac-defined script code */
- UInt8 ScriptCodeCount; /* Count of bytes (including null terminator) */
- UInt8 ScriptCodeName[]; /* variable size, determined by ScriptCodeCount */
+ /* In order to correctly reflect the actual format of this tag, some of the fields in */
+ /* this structure have been removed because they follow an array field of variable size. */
+ /* As a result, the size of this structure has changed from previous versions of this interface. */
+ /* Code that relies on sizeof(CMTextDescriptionType) should be changed. */
+ UInt32 UniCodeCode; /* Unused */
+ UInt32 UniCodeCount; /* Count of 2-byte characters (including null terminator) */
+ UInt8 UniCodeName[]; /* variable size, determined by UniCodeCount */
+ SInt16 ScriptCodeCode; /* Mac-defined script code */
+ UInt8 ScriptCodeCount; /* Count of bytes (including null terminator) */
+ UInt8 ScriptCodeName[]; /* variable size, determined by ScriptCodeCount */
#endif
};
typedef struct CMTextDescriptionType CMTextDescriptionType;
-struct CMTextType
-{
- OSType typeDescriptor; /* 'text' = cmSigTextType */
- UInt32 reserved; /* fill with 0x00 */
- UInt8 text[1]; /* variable size, determined by tag element size */
+struct CMTextType {
+ OSType typeDescriptor; /* 'text' = cmSigTextType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt8 text[1]; /* variable size, determined by tag element size */
};
typedef struct CMTextType CMTextType;
-struct CMUnicodeTextType
-{
- OSType typeDescriptor; /* 'utxt' = cmSigUnicodeTextType */
- UInt32 reserved; /* fill with 0x00 */
- UniChar text[1]; /* variable size, determined by tag element size */
+struct CMUnicodeTextType {
+ OSType typeDescriptor; /* 'utxt' = cmSigUnicodeTextType */
+ UInt32 reserved; /* fill with 0x00 */
+ UniChar text[1]; /* variable size, determined by tag element size */
};
typedef struct CMUnicodeTextType CMUnicodeTextType;
-struct CMScreeningChannelRec
-{
- Fixed frequency;
- Fixed angle;
- UInt32 spotFunction;
+struct CMScreeningChannelRec {
+ Fixed frequency;
+ Fixed angle;
+ UInt32 spotFunction;
};
typedef struct CMScreeningChannelRec CMScreeningChannelRec;
-struct CMScreeningType
-{
- OSType typeDescriptor; /* 'scrn' = cmSigScreeningType */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 screeningFlag; /* bit 0 : use printer default screens, bit 1 : inch/cm */
- UInt32 channelCount; /* */
- CMScreeningChannelRec channelInfo[1]; /* variable size, determined by channelCount */
+struct CMScreeningType {
+ OSType typeDescriptor; /* 'scrn' = cmSigScreeningType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 screeningFlag; /* bit 0 : use printer default screens, bit 1 : inch/cm */
+ UInt32 channelCount; /* */
+ CMScreeningChannelRec channelInfo[1]; /* variable size, determined by channelCount */
};
typedef struct CMScreeningType CMScreeningType;
-struct CMSignatureType
-{
- OSType typeDescriptor; /* 'sig ' = cmSigSignatureType */
- UInt32 reserved; /* fill with 0x00 */
- OSType signature;
+struct CMSignatureType {
+ OSType typeDescriptor; /* 'sig ' = cmSigSignatureType */
+ UInt32 reserved; /* fill with 0x00 */
+ OSType signature;
};
typedef struct CMSignatureType CMSignatureType;
-struct CMS15Fixed16ArrayType
-{
- OSType typeDescriptor; /* 'sf32' = cmSigS15Fixed16Type */
- UInt32 reserved; /* fill with 0x00 */
- Fixed value[1]; /* variable size, determined by tag element size */
+struct CMS15Fixed16ArrayType {
+ OSType typeDescriptor; /* 'sf32' = cmSigS15Fixed16Type */
+ UInt32 reserved; /* fill with 0x00 */
+ Fixed value[1]; /* variable size, determined by tag element size */
};
typedef struct CMS15Fixed16ArrayType CMS15Fixed16ArrayType;
-struct CMU16Fixed16ArrayType
-{
- OSType typeDescriptor; /* 'uf32' = cmSigU16Fixed16Type */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 value[1]; /* variable size, determined by tag element size */
+struct CMU16Fixed16ArrayType {
+ OSType typeDescriptor; /* 'uf32' = cmSigU16Fixed16Type */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 value[1]; /* variable size, determined by tag element size */
};
typedef struct CMU16Fixed16ArrayType CMU16Fixed16ArrayType;
-struct CMUInt8ArrayType
-{
- OSType typeDescriptor; /* 'ui08' = cmSigUInt8Type */
- UInt32 reserved; /* fill with 0x00 */
- UInt8 value[1]; /* variable size, determined by tag element size */
+struct CMUInt8ArrayType {
+ OSType typeDescriptor; /* 'ui08' = cmSigUInt8Type */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt8 value[1]; /* variable size, determined by tag element size */
};
typedef struct CMUInt8ArrayType CMUInt8ArrayType;
-struct CMUInt16ArrayType
-{
- OSType typeDescriptor; /* 'ui16' = cmSigUInt16Type */
- UInt32 reserved; /* fill with 0x00 */
- UInt16 value[1]; /* variable size, determined by tag element size */
+struct CMUInt16ArrayType {
+ OSType typeDescriptor; /* 'ui16' = cmSigUInt16Type */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt16 value[1]; /* variable size, determined by tag element size */
};
typedef struct CMUInt16ArrayType CMUInt16ArrayType;
-struct CMUInt32ArrayType
-{
- OSType typeDescriptor; /* 'ui32' = cmSigUInt32Type */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 value[1]; /* variable size, determined by tag element size */
+struct CMUInt32ArrayType {
+ OSType typeDescriptor; /* 'ui32' = cmSigUInt32Type */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 value[1]; /* variable size, determined by tag element size */
};
typedef struct CMUInt32ArrayType CMUInt32ArrayType;
-struct CMUInt64ArrayType
-{
- OSType typeDescriptor; /* 'ui64' = cmSigUInt64Type */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 value[1]; /* variable size, determined by tag element size */
+struct CMUInt64ArrayType {
+ OSType typeDescriptor; /* 'ui64' = cmSigUInt64Type */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 value[1]; /* variable size, determined by tag element size */
};
typedef struct CMUInt64ArrayType CMUInt64ArrayType;
-struct CMViewingConditionsType
-{
- OSType typeDescriptor; /* 'view' = cmSigViewingConditionsType */
- UInt32 reserved; /* fill with 0x00 */
- CMFixedXYZColor illuminant; /* absolute XYZs of illuminant in cd/m^2 */
- CMFixedXYZColor surround; /* absolute XYZs of surround in cd/m^2 */
- UInt32 stdIlluminant; /* see definitions of std illuminants */
+struct CMViewingConditionsType {
+ OSType typeDescriptor; /* 'view' = cmSigViewingConditionsType */
+ UInt32 reserved; /* fill with 0x00 */
+ CMFixedXYZColor illuminant; /* absolute XYZs of illuminant in cd/m^2 */
+ CMFixedXYZColor surround; /* absolute XYZs of surround in cd/m^2 */
+ UInt32 stdIlluminant; /* see definitions of std illuminants */
};
typedef struct CMViewingConditionsType CMViewingConditionsType;
-struct CMXYZType
-{
- OSType typeDescriptor; /* 'XYZ ' = cmSigXYZType */
- UInt32 reserved; /* fill with 0x00 */
- CMFixedXYZColor XYZ[1]; /* variable size, determined by tag element size */
+struct CMXYZType {
+ OSType typeDescriptor; /* 'XYZ ' = cmSigXYZType */
+ UInt32 reserved; /* fill with 0x00 */
+ CMFixedXYZColor XYZ[1]; /* variable size, determined by tag element size */
};
typedef struct CMXYZType CMXYZType;
-struct CMProfileSequenceDescType
-{
- OSType typeDescriptor; /* 'pseq' = cmProfileSequenceDescTag */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 count; /* Number of descriptions */
- char data[1]; /* variable size data explained in ICC spec */
+struct CMProfileSequenceDescType {
+ OSType typeDescriptor; /* 'pseq' = cmProfileSequenceDescTag */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 count; /* Number of descriptions */
+ char data[1]; /* variable size data explained in ICC spec */
};
typedef struct CMProfileSequenceDescType CMProfileSequenceDescType;
-struct CMUcrBgType
-{
- OSType typeDescriptor; /* 'bfd ' = cmSigUcrBgType */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 ucrCount; /* Number of UCR entries */
- UInt16 ucrValues[1]; /* variable size, determined by ucrCount */
+struct CMUcrBgType {
+ OSType typeDescriptor; /* 'bfd ' = cmSigUcrBgType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 ucrCount; /* Number of UCR entries */
+ UInt16 ucrValues[1]; /* variable size, determined by ucrCount */
#if 0 /* NOTE: Field offsets are variable from here on. */
- /* In order to correctly reflect the actual format of this tag, some of the fields in */
- /* this structure have been removed because they follow an array field of variable size. */
- /* As a result, the size of this structure has changed from previous versions of this interface. */
- /* Code that relies on sizeof(CMUcrBgType) should be changed. */
- UInt32 bgCount; /* Number of BG entries */
- UInt16 bgValues[]; /* variable size, determined by bgCount */
- UInt8 ucrbgASCII[]; /* null terminated ASCII string */
+ /* In order to correctly reflect the actual format of this tag, some of the fields in */
+ /* this structure have been removed because they follow an array field of variable size. */
+ /* As a result, the size of this structure has changed from previous versions of this interface. */
+ /* Code that relies on sizeof(CMUcrBgType) should be changed. */
+ UInt32 bgCount; /* Number of BG entries */
+ UInt16 bgValues[]; /* variable size, determined by bgCount */
+ UInt8 ucrbgASCII[]; /* null terminated ASCII string */
#endif
};
typedef struct CMUcrBgType CMUcrBgType;
/* Private Tag Type Definitions */
-struct CMIntentCRDVMSize
-{
- long renderingIntent; /* rendering intent */
- UInt32 VMSize; /* VM size taken up by the CRD */
+struct CMIntentCRDVMSize {
+ long renderingIntent; /* rendering intent */
+ UInt32 VMSize; /* VM size taken up by the CRD */
};
typedef struct CMIntentCRDVMSize CMIntentCRDVMSize;
-struct CMPS2CRDVMSizeType
-{
- OSType typeDescriptor; /* 'psvm' = cmSigPS2CRDVMSizeType */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 count; /* number of intent entries */
- CMIntentCRDVMSize intentCRD[1]; /* variable size, determined by count */
+struct CMPS2CRDVMSizeType {
+ OSType typeDescriptor; /* 'psvm' = cmSigPS2CRDVMSizeType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 count; /* number of intent entries */
+ CMIntentCRDVMSize intentCRD[1]; /* variable size, determined by count */
};
typedef struct CMPS2CRDVMSizeType CMPS2CRDVMSizeType;
-enum
-{
- cmVideoCardGammaTableType = 0,
- cmVideoCardGammaFormulaType = 1
+enum {
+ cmVideoCardGammaTableType = 0,
+ cmVideoCardGammaFormulaType = 1
};
-struct CMVideoCardGammaTable
-{
- UInt16 channels; /* # of gamma channels (1 or 3) */
- UInt16 entryCount; /* 1-based number of entries per channel */
- UInt16 entrySize; /* size in bytes of each entry */
- char data[1]; /* variable size, determined by channels*entryCount*entrySize */
+struct CMVideoCardGammaTable {
+ UInt16 channels; /* # of gamma channels (1 or 3) */
+ UInt16 entryCount; /* 1-based number of entries per channel */
+ UInt16 entrySize; /* size in bytes of each entry */
+ char data[1]; /* variable size, determined by channels*entryCount*entrySize */
};
typedef struct CMVideoCardGammaTable CMVideoCardGammaTable;
-struct CMVideoCardGammaFormula
-{
- Fixed redGamma; /* must be > 0.0 */
- Fixed redMin; /* must be > 0.0 and < 1.0 */
- Fixed redMax; /* must be > 0.0 and < 1.0 */
- Fixed greenGamma; /* must be > 0.0 */
- Fixed greenMin; /* must be > 0.0 and < 1.0 */
- Fixed greenMax; /* must be > 0.0 and < 1.0 */
- Fixed blueGamma; /* must be > 0.0 */
- Fixed blueMin; /* must be > 0.0 and < 1.0 */
- Fixed blueMax; /* must be > 0.0 and < 1.0 */
+struct CMVideoCardGammaFormula {
+ Fixed redGamma; /* must be > 0.0 */
+ Fixed redMin; /* must be > 0.0 and < 1.0 */
+ Fixed redMax; /* must be > 0.0 and < 1.0 */
+ Fixed greenGamma; /* must be > 0.0 */
+ Fixed greenMin; /* must be > 0.0 and < 1.0 */
+ Fixed greenMax; /* must be > 0.0 and < 1.0 */
+ Fixed blueGamma; /* must be > 0.0 */
+ Fixed blueMin; /* must be > 0.0 and < 1.0 */
+ Fixed blueMax; /* must be > 0.0 and < 1.0 */
};
typedef struct CMVideoCardGammaFormula CMVideoCardGammaFormula;
-struct CMVideoCardGamma
-{
- UInt32 tagType;
- union
- {
- CMVideoCardGammaTable table;
- CMVideoCardGammaFormula formula;
- } u;
+struct CMVideoCardGamma {
+ UInt32 tagType;
+ union {
+ CMVideoCardGammaTable table;
+ CMVideoCardGammaFormula formula;
+ } u;
};
typedef struct CMVideoCardGamma CMVideoCardGamma;
-struct CMVideoCardGammaType
-{
- OSType typeDescriptor; /* 'vcgt' = cmSigVideoCardGammaType */
- UInt32 reserved; /* fill with 0x00 */
- CMVideoCardGamma gamma;
+struct CMVideoCardGammaType {
+ OSType typeDescriptor; /* 'vcgt' = cmSigVideoCardGammaType */
+ UInt32 reserved; /* fill with 0x00 */
+ CMVideoCardGamma gamma;
};
typedef struct CMVideoCardGammaType CMVideoCardGammaType;
-struct CMMakeAndModel
-{
- OSType manufacturer;
- UInt32 model;
- UInt32 serialNumber;
- UInt32 manufactureDate;
- UInt32 reserved1; /* fill with 0x00 */
- UInt32 reserved2; /* fill with 0x00 */
- UInt32 reserved3; /* fill with 0x00 */
- UInt32 reserved4; /* fill with 0x00 */
+struct CMMakeAndModel {
+ OSType manufacturer;
+ UInt32 model;
+ UInt32 serialNumber;
+ UInt32 manufactureDate;
+ UInt32 reserved1; /* fill with 0x00 */
+ UInt32 reserved2; /* fill with 0x00 */
+ UInt32 reserved3; /* fill with 0x00 */
+ UInt32 reserved4; /* fill with 0x00 */
};
typedef struct CMMakeAndModel CMMakeAndModel;
-struct CMMakeAndModelType
-{
- OSType typeDescriptor; /* 'mmod' = cmSigMakeAndModelType */
- UInt32 reserved; /* fill with 0x00 */
- CMMakeAndModel makeAndModel;
+struct CMMakeAndModelType {
+ OSType typeDescriptor; /* 'mmod' = cmSigMakeAndModelType */
+ UInt32 reserved; /* fill with 0x00 */
+ CMMakeAndModel makeAndModel;
};
typedef struct CMMakeAndModelType CMMakeAndModelType;
-struct CMMultiLocalizedUniCodeEntryRec
-{
- char languageCode[2]; /* language code from ISO-639 */
- char regionCode[2]; /* region code from ISO-3166 */
- UInt32 textLength; /* the length in bytes of the string */
- UInt32 textOffset; /* the offset from the start of tag in bytes */
+struct CMMultiLocalizedUniCodeEntryRec {
+ char languageCode[2]; /* language code from ISO-639 */
+ char regionCode[2]; /* region code from ISO-3166 */
+ UInt32 textLength; /* the length in bytes of the string */
+ UInt32 textOffset; /* the offset from the start of tag in bytes */
};
typedef struct CMMultiLocalizedUniCodeEntryRec CMMultiLocalizedUniCodeEntryRec;
-struct CMMultiLocalizedUniCodeType
-{
- OSType typeDescriptor; /* 'mluc' = cmSigMultiLocalizedUniCodeType */
- UInt32 reserved; /* fill with 0x00 */
- UInt32 entryCount; /* 1-based number of name records that follow */
- UInt32 entrySize; /* size in bytes of name records that follow */
+struct CMMultiLocalizedUniCodeType {
+ OSType typeDescriptor; /* 'mluc' = cmSigMultiLocalizedUniCodeType */
+ UInt32 reserved; /* fill with 0x00 */
+ UInt32 entryCount; /* 1-based number of name records that follow */
+ UInt32 entrySize; /* size in bytes of name records that follow */
- /* variable-length data for storage of CMMultiLocalizedUniCodeEntryRec */
+ /* variable-length data for storage of CMMultiLocalizedUniCodeEntryRec */
- /* variable-length data for storage of Unicode strings*/
+ /* variable-length data for storage of Unicode strings*/
};
typedef struct CMMultiLocalizedUniCodeType CMMultiLocalizedUniCodeType;
/************************************************************************/
/*************** ColorSync 1.0 profile specification ********************/
/************************************************************************/
-enum
-{
- cmGrayResponse = 0,
- cmRedResponse = 1,
- cmGreenResponse = 2,
- cmBlueResponse = 3,
- cmCyanResponse = 4,
- cmMagentaResponse = 5,
- cmYellowResponse = 6,
- cmUcrResponse = 7,
- cmBgResponse = 8,
- cmOnePlusLastResponse = 9
+enum {
+ cmGrayResponse = 0,
+ cmRedResponse = 1,
+ cmGreenResponse = 2,
+ cmBlueResponse = 3,
+ cmCyanResponse = 4,
+ cmMagentaResponse = 5,
+ cmYellowResponse = 6,
+ cmUcrResponse = 7,
+ cmBgResponse = 8,
+ cmOnePlusLastResponse = 9
};
/* Device types */
-enum
-{
- cmMonitorDevice = FOUR_CHAR_CODE('mntr'),
- cmScannerDevice = FOUR_CHAR_CODE('scnr'),
- cmPrinterDevice = FOUR_CHAR_CODE('prtr')
+enum {
+ cmMonitorDevice = FOUR_CHAR_CODE('mntr'),
+ cmScannerDevice = FOUR_CHAR_CODE('scnr'),
+ cmPrinterDevice = FOUR_CHAR_CODE('prtr')
};
-struct CMIString
-{
- ScriptCode theScript;
- Str63 theString;
+struct CMIString {
+ ScriptCode theScript;
+ Str63 theString;
};
typedef struct CMIString CMIString;
/* Profile options */
-enum
-{
- cmPerceptualMatch = 0x0000, /* Default. For photographic images */
- cmColorimetricMatch = 0x0001, /* Exact matching when possible */
- cmSaturationMatch = 0x0002 /* For solid colors */
+enum {
+ cmPerceptualMatch = 0x0000, /* Default. For photographic images */
+ cmColorimetricMatch = 0x0001, /* Exact matching when possible */
+ cmSaturationMatch = 0x0002 /* For solid colors */
};
/* Profile flags */
-enum
-{
- cmNativeMatchingPreferred = 0x00000001, /* Default to native not preferred */
- cmTurnOffCache = 0x00000002 /* Default to turn on CMM cache */
+enum {
+ cmNativeMatchingPreferred = 0x00000001, /* Default to native not preferred */
+ cmTurnOffCache = 0x00000002 /* Default to turn on CMM cache */
};
typedef long CMMatchOption;
typedef long CMMatchFlag;
-struct CMHeader
-{
- UInt32 size;
- OSType CMMType;
- UInt32 applProfileVersion;
- OSType dataType;
- OSType deviceType;
- OSType deviceManufacturer;
- UInt32 deviceModel;
- UInt32 deviceAttributes[2];
- UInt32 profileNameOffset;
- UInt32 customDataOffset;
- CMMatchFlag flags;
- CMMatchOption options;
- CMXYZColor white;
- CMXYZColor black;
+struct CMHeader {
+ UInt32 size;
+ OSType CMMType;
+ UInt32 applProfileVersion;
+ OSType dataType;
+ OSType deviceType;
+ OSType deviceManufacturer;
+ UInt32 deviceModel;
+ UInt32 deviceAttributes[2];
+ UInt32 profileNameOffset;
+ UInt32 customDataOffset;
+ CMMatchFlag flags;
+ CMMatchOption options;
+ CMXYZColor white;
+ CMXYZColor black;
};
typedef struct CMHeader CMHeader;
-struct CMProfileChromaticities
-{
- CMXYZColor red;
- CMXYZColor green;
- CMXYZColor blue;
- CMXYZColor cyan;
- CMXYZColor magenta;
- CMXYZColor yellow;
+struct CMProfileChromaticities {
+ CMXYZColor red;
+ CMXYZColor green;
+ CMXYZColor blue;
+ CMXYZColor cyan;
+ CMXYZColor magenta;
+ CMXYZColor yellow;
};
typedef struct CMProfileChromaticities CMProfileChromaticities;
-struct CMProfileResponse
-{
- UInt16 counts[9];
- UInt16 data[1]; /* Variable size */
+struct CMProfileResponse {
+ UInt16 counts[9];
+ UInt16 data[1]; /* Variable size */
};
typedef struct CMProfileResponse CMProfileResponse;
-struct CMProfile
-{
- CMHeader header;
- CMProfileChromaticities profile;
- CMProfileResponse response;
- CMIString profileName;
- char customData[1]; /* Variable size */
+struct CMProfile {
+ CMHeader header;
+ CMProfileChromaticities profile;
+ CMProfileResponse response;
+ CMIString profileName;
+ char customData[1]; /* Variable size */
};
typedef struct CMProfile CMProfile;
typedef CMProfile * CMProfilePtr;
typedef CMProfilePtr * CMProfileHandle;
#if OLDROUTINENAMES
-enum
-{
- kCMApplProfileVersion = cmCS1ProfileVersion
+enum {
+ kCMApplProfileVersion = cmCS1ProfileVersion
};
-enum
-{
- grayResponse = cmGrayResponse,
- redResponse = cmRedResponse,
- greenResponse = cmGreenResponse,
- blueResponse = cmBlueResponse,
- cyanResponse = cmCyanResponse,
- magentaResponse = cmMagentaResponse,
- yellowResponse = cmYellowResponse,
- ucrResponse = cmUcrResponse,
- bgResponse = cmBgResponse,
- onePlusLastResponse = cmOnePlusLastResponse
+enum {
+ grayResponse = cmGrayResponse,
+ redResponse = cmRedResponse,
+ greenResponse = cmGreenResponse,
+ blueResponse = cmBlueResponse,
+ cyanResponse = cmCyanResponse,
+ magentaResponse = cmMagentaResponse,
+ yellowResponse = cmYellowResponse,
+ ucrResponse = cmUcrResponse,
+ bgResponse = cmBgResponse,
+ onePlusLastResponse = cmOnePlusLastResponse
};
-enum
-{
- rgbData = cmRGBData,
- cmykData = cmCMYKData,
- grayData = cmGrayData,
- xyzData = cmXYZData
+enum {
+ rgbData = cmRGBData,
+ cmykData = cmCMYKData,
+ grayData = cmGrayData,
+ xyzData = cmXYZData
};
-enum
-{
- XYZData = cmXYZData
+enum {
+ XYZData = cmXYZData
};
-enum
-{
- monitorDevice = cmMonitorDevice,
- scannerDevice = cmScannerDevice,
- printerDevice = cmPrinterDevice
+enum {
+ monitorDevice = cmMonitorDevice,
+ scannerDevice = cmScannerDevice,
+ printerDevice = cmPrinterDevice
};
-enum
-{
- CMNativeMatchingPreferred = cmNativeMatchingPreferred, /* Default to native not preferred */
- CMTurnOffCache = cmTurnOffCache /* Default to turn on CMM cache */
+enum {
+ CMNativeMatchingPreferred = cmNativeMatchingPreferred, /* Default to native not preferred */
+ CMTurnOffCache = cmTurnOffCache /* Default to turn on CMM cache */
};
-enum
-{
- CMPerceptualMatch = cmPerceptualMatch, /* Default. For photographic images */
- CMColorimetricMatch = cmColorimetricMatch, /* Exact matching when possible */
- CMSaturationMatch = cmSaturationMatch /* For solid colors */
+enum {
+ CMPerceptualMatch = cmPerceptualMatch, /* Default. For photographic images */
+ CMColorimetricMatch = cmColorimetricMatch, /* Exact matching when possible */
+ CMSaturationMatch = cmSaturationMatch /* For solid colors */
};
typedef UInt16 XYZComponent;
@@ -1103,11 +1007,11 @@ typedef CMResponseColor responseColor;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CMMComponent.h b/include/qt/CMMComponent.h
index 286346d1a..5907f5219 100644
--- a/include/qt/CMMComponent.h
+++ b/include/qt/CMMComponent.h
@@ -1,17 +1,17 @@
/*
File: CMMComponent.h
-
+
Contains: ColorSync CMM Component API
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CMMCOMPONENT__
#define __CMMCOMPONENT__
@@ -44,465 +44,464 @@ extern "C" {
#pragma import on
#endif
- /* Component-based CMM interface version */
- enum {
- CMMInterfaceVersion = 1
- };
-
-
- /* Component-based CMM function selectors */
- enum
- {
- /* Required */
- kCMMOpen = -1, /* kComponentOpenSelect,*/
- kCMMClose = -2, /* kComponentCloseSelect,*/
- kCMMGetInfo = -4, /* kComponentVersionSelect*/
- kNCMMInit = 6,
- kCMMMatchColors = 1,
- kCMMCheckColors = 2,
-
- /* Optional */
- kCMMValidateProfile = 8,
- kCMMMatchBitmap = 9,
- kCMMCheckBitmap = 10,
- kCMMConcatenateProfiles = 5,
- kCMMConcatInit = 7,
- kCMMNewLinkProfile = 16,
- kNCMMConcatInit = 18,
- kNCMMNewLinkProfile = 19,
- kCMMGetPS2ColorSpace = 11,
- kCMMGetPS2ColorRenderingIntent = 12,
- kCMMGetPS2ColorRendering = 13,
- kCMMGetPS2ColorRenderingVMSize = 17,
-
- /* obsolete with ColorSync 2.5 */
- kCMMFlattenProfile = 14,
- kCMMUnflattenProfile = 15,
-
- /* obsolete with ColorSync 2.6 */
- kCMMInit = 0,
- kCMMGetNamedColorInfo = 70,
- kCMMGetNamedColorValue = 71,
- kCMMGetIndNamedColorValue = 72,
- kCMMGetNamedColorIndex = 73,
- kCMMGetNamedColorName = 74,
-
- /* obsolete with ColorSync 3.0 */
- kCMMMatchPixMap = 3,
- kCMMCheckPixMap = 4
- };
+/* Component-based CMM interface version */
+enum {
+ CMMInterfaceVersion = 1
+};
+
+
+/* Component-based CMM function selectors */
+enum {
+ /* Required */
+ kCMMOpen = -1, /* kComponentOpenSelect,*/
+ kCMMClose = -2, /* kComponentCloseSelect,*/
+ kCMMGetInfo = -4, /* kComponentVersionSelect*/
+ kNCMMInit = 6,
+ kCMMMatchColors = 1,
+ kCMMCheckColors = 2,
+
+ /* Optional */
+ kCMMValidateProfile = 8,
+ kCMMMatchBitmap = 9,
+ kCMMCheckBitmap = 10,
+ kCMMConcatenateProfiles = 5,
+ kCMMConcatInit = 7,
+ kCMMNewLinkProfile = 16,
+ kNCMMConcatInit = 18,
+ kNCMMNewLinkProfile = 19,
+ kCMMGetPS2ColorSpace = 11,
+ kCMMGetPS2ColorRenderingIntent = 12,
+ kCMMGetPS2ColorRendering = 13,
+ kCMMGetPS2ColorRenderingVMSize = 17,
+
+ /* obsolete with ColorSync 2.5 */
+ kCMMFlattenProfile = 14,
+ kCMMUnflattenProfile = 15,
+
+ /* obsolete with ColorSync 2.6 */
+ kCMMInit = 0,
+ kCMMGetNamedColorInfo = 70,
+ kCMMGetNamedColorValue = 71,
+ kCMMGetIndNamedColorValue = 72,
+ kCMMGetNamedColorIndex = 73,
+ kCMMGetNamedColorName = 74,
+
+ /* obsolete with ColorSync 3.0 */
+ kCMMMatchPixMap = 3,
+ kCMMCheckPixMap = 4
+};
#if TARGET_API_MAC_OS8
- typedef ComponentInstance CMMComponentInst;
+typedef ComponentInstance CMMComponentInst;
#if CALL_NOT_IN_CARBON
- /*
- * NCMMInit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- NCMMInit(
- CMMComponentInst cmm,
- CMProfileRef srcProfile,
- CMProfileRef dstProfile) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * CMMInit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMInit(
- CMMComponentInst cmm,
- CMProfileHandle srcProfile,
- CMProfileHandle dstProfile) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0000, 0x7000, 0xA82A);
-
-
- /*
- * CMMMatchColors()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMMatchColors(
- CMMComponentInst cmm,
- CMColor * colors,
- UInt32 count) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * CMMCheckColors()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMCheckColors(
- CMMComponentInst cmm,
- CMColor * colors,
- UInt32 count,
- UInt32 * result) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * CMMValidateProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMValidateProfile(
- CMMComponentInst cmm,
- CMProfileRef prof,
- Boolean * valid) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * CMMFlattenProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMFlattenProfile(
- CMMComponentInst cmm,
- CMProfileRef prof,
- UInt32 flags,
- CMFlattenUPP proc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * CMMUnflattenProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMUnflattenProfile(
- CMMComponentInst cmm,
- FSSpec * resultFileSpec,
- CMFlattenUPP proc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * CMMMatchBitmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMMatchBitmap(
- CMMComponentInst cmm,
- CMBitmap * bitmap,
- CMBitmapCallBackUPP progressProc,
- void * refCon,
- CMBitmap * matchedBitmap) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * CMMCheckBitmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMCheckBitmap(
- CMMComponentInst cmm,
- const CMBitmap * bitmap,
- CMBitmapCallBackUPP progressProc,
- void * refCon,
- CMBitmap * resultBitmap) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * CMMMatchPixMap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMMatchPixMap(
- CMMComponentInst cmm,
- PixMap * pixMap,
- CMBitmapCallBackUPP progressProc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * CMMCheckPixMap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMCheckPixMap(
- CMMComponentInst cmm,
- const PixMap * pixMap,
- CMBitmapCallBackUPP progressProc,
- BitMap * bitMap,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * CMMConcatInit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMConcatInit(
- CMMComponentInst cmm,
- CMConcatProfileSet * profileSet) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * NCMMConcatInit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- NCMMConcatInit(
- CMMComponentInst cmm,
- NCMConcatProfileSet * profileSet,
- CMConcatCallBackUPP proc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * CMMNewLinkProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMNewLinkProfile(
- CMMComponentInst cmm,
- CMProfileRef * prof,
- const CMProfileLocation * targetLocation,
- CMConcatProfileSet * profileSet) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * NCMMNewLinkProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- NCMMNewLinkProfile(
- CMMComponentInst cmm,
- CMProfileRef prof,
- NCMConcatProfileSet * profileSet,
- CMConcatCallBackUPP proc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetPS2ColorSpace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetPS2ColorSpace(
- CMMComponentInst cmm,
- CMProfileRef srcProf,
- UInt32 flags,
- CMFlattenUPP proc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetPS2ColorRenderingIntent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetPS2ColorRenderingIntent(
- CMMComponentInst cmm,
- CMProfileRef srcProf,
- UInt32 flags,
- CMFlattenUPP proc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetPS2ColorRendering()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetPS2ColorRendering(
- CMMComponentInst cmm,
- CMProfileRef srcProf,
- CMProfileRef dstProf,
- UInt32 flags,
- CMFlattenUPP proc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetPS2ColorRenderingVMSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetPS2ColorRenderingVMSize(
- CMMComponentInst cmm,
- CMProfileRef srcProf,
- CMProfileRef dstProf,
- UInt32 * vmSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * CMMConcatenateProfiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMConcatenateProfiles(
- CMMComponentInst cmm,
- CMProfileHandle thru,
- CMProfileHandle dst,
- CMProfileHandle * newDst) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetNamedColorInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetNamedColorInfo(
- CMMComponentInst cmm,
- CMProfileRef srcProf,
- UInt32 * deviceChannels,
- OSType * deviceColorSpace,
- OSType * PCSColorSpace,
- UInt32 * count,
- StringPtr prefix,
- StringPtr suffix) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0046, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetNamedColorValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetNamedColorValue(
- CMMComponentInst cmm,
- CMProfileRef prof,
- StringPtr name,
- CMColor * deviceColor,
- CMColor * PCSColor) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0047, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetIndNamedColorValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetIndNamedColorValue(
- CMMComponentInst cmm,
- CMProfileRef prof,
- UInt32 index,
- CMColor * deviceColor,
- CMColor * PCSColor) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0048, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetNamedColorIndex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetNamedColorIndex(
- CMMComponentInst cmm,
- CMProfileRef prof,
- StringPtr name,
- UInt32 * index) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0049, 0x7000, 0xA82A);
-
-
- /*
- * CMMGetNamedColorName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(CMError)
- CMMGetNamedColorName(
- CMMComponentInst cmm,
- CMProfileRef prof,
- UInt32 index,
- StringPtr name) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004A, 0x7000, 0xA82A);
+/*
+ * NCMMInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+NCMMInit(
+ CMMComponentInst cmm,
+ CMProfileRef srcProfile,
+ CMProfileRef dstProfile) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * CMMInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMInit(
+ CMMComponentInst cmm,
+ CMProfileHandle srcProfile,
+ CMProfileHandle dstProfile) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0000, 0x7000, 0xA82A);
+
+
+/*
+ * CMMMatchColors()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMMatchColors(
+ CMMComponentInst cmm,
+ CMColor * colors,
+ UInt32 count) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * CMMCheckColors()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMCheckColors(
+ CMMComponentInst cmm,
+ CMColor * colors,
+ UInt32 count,
+ UInt32 * result) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * CMMValidateProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMValidateProfile(
+ CMMComponentInst cmm,
+ CMProfileRef prof,
+ Boolean * valid) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * CMMFlattenProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMFlattenProfile(
+ CMMComponentInst cmm,
+ CMProfileRef prof,
+ UInt32 flags,
+ CMFlattenUPP proc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * CMMUnflattenProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMUnflattenProfile(
+ CMMComponentInst cmm,
+ FSSpec * resultFileSpec,
+ CMFlattenUPP proc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * CMMMatchBitmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMMatchBitmap(
+ CMMComponentInst cmm,
+ CMBitmap * bitmap,
+ CMBitmapCallBackUPP progressProc,
+ void * refCon,
+ CMBitmap * matchedBitmap) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * CMMCheckBitmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMCheckBitmap(
+ CMMComponentInst cmm,
+ const CMBitmap * bitmap,
+ CMBitmapCallBackUPP progressProc,
+ void * refCon,
+ CMBitmap * resultBitmap) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * CMMMatchPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMMatchPixMap(
+ CMMComponentInst cmm,
+ PixMap * pixMap,
+ CMBitmapCallBackUPP progressProc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * CMMCheckPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMCheckPixMap(
+ CMMComponentInst cmm,
+ const PixMap * pixMap,
+ CMBitmapCallBackUPP progressProc,
+ BitMap * bitMap,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * CMMConcatInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMConcatInit(
+ CMMComponentInst cmm,
+ CMConcatProfileSet * profileSet) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * NCMMConcatInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+NCMMConcatInit(
+ CMMComponentInst cmm,
+ NCMConcatProfileSet * profileSet,
+ CMConcatCallBackUPP proc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * CMMNewLinkProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMNewLinkProfile(
+ CMMComponentInst cmm,
+ CMProfileRef * prof,
+ const CMProfileLocation * targetLocation,
+ CMConcatProfileSet * profileSet) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * NCMMNewLinkProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+NCMMNewLinkProfile(
+ CMMComponentInst cmm,
+ CMProfileRef prof,
+ NCMConcatProfileSet * profileSet,
+ CMConcatCallBackUPP proc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetPS2ColorSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetPS2ColorSpace(
+ CMMComponentInst cmm,
+ CMProfileRef srcProf,
+ UInt32 flags,
+ CMFlattenUPP proc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetPS2ColorRenderingIntent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetPS2ColorRenderingIntent(
+ CMMComponentInst cmm,
+ CMProfileRef srcProf,
+ UInt32 flags,
+ CMFlattenUPP proc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetPS2ColorRendering()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetPS2ColorRendering(
+ CMMComponentInst cmm,
+ CMProfileRef srcProf,
+ CMProfileRef dstProf,
+ UInt32 flags,
+ CMFlattenUPP proc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetPS2ColorRenderingVMSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetPS2ColorRenderingVMSize(
+ CMMComponentInst cmm,
+ CMProfileRef srcProf,
+ CMProfileRef dstProf,
+ UInt32 * vmSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * CMMConcatenateProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMConcatenateProfiles(
+ CMMComponentInst cmm,
+ CMProfileHandle thru,
+ CMProfileHandle dst,
+ CMProfileHandle * newDst) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetNamedColorInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetNamedColorInfo(
+ CMMComponentInst cmm,
+ CMProfileRef srcProf,
+ UInt32 * deviceChannels,
+ OSType * deviceColorSpace,
+ OSType * PCSColorSpace,
+ UInt32 * count,
+ StringPtr prefix,
+ StringPtr suffix) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0046, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetNamedColorValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetNamedColorValue(
+ CMMComponentInst cmm,
+ CMProfileRef prof,
+ StringPtr name,
+ CMColor * deviceColor,
+ CMColor * PCSColor) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0047, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetIndNamedColorValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetIndNamedColorValue(
+ CMMComponentInst cmm,
+ CMProfileRef prof,
+ UInt32 index,
+ CMColor * deviceColor,
+ CMColor * PCSColor) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0048, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetNamedColorIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetNamedColorIndex(
+ CMMComponentInst cmm,
+ CMProfileRef prof,
+ StringPtr name,
+ UInt32 * index) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0049, 0x7000, 0xA82A);
+
+
+/*
+ * CMMGetNamedColorName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( CMError )
+CMMGetNamedColorName(
+ CMMComponentInst cmm,
+ CMProfileRef prof,
+ UInt32 index,
+ StringPtr name) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004A, 0x7000, 0xA82A);
#endif /* CALL_NOT_IN_CARBON */
diff --git a/include/qt/CMScriptingPlugin.h b/include/qt/CMScriptingPlugin.h
index 829d7194a..aafa0a824 100644
--- a/include/qt/CMScriptingPlugin.h
+++ b/include/qt/CMScriptingPlugin.h
@@ -1,17 +1,17 @@
/*
File: CMScriptingPlugin.h
-
+
Contains: ColorSync Scripting Plugin API
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1998-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FILES__
#include "Files.h"
@@ -38,198 +38,197 @@ extern "C" {
#pragma import on
#endif
- enum {
- /* ColorSync Scripting AppleEvent Errors */
- cmspInvalidImageFile = -4220, /* Plugin cannot handle this image file type */
- cmspInvalidImageSpace = -4221, /* Plugin cannot create an image file of this colorspace */
- cmspInvalidProfileEmbed = -4222, /* Specific invalid profile errors */
- cmspInvalidProfileSource = -4223,
- cmspInvalidProfileDest = -4224,
- cmspInvalidProfileProof = -4225,
- cmspInvalidProfileLink = -4226
- };
-
-
- /**** embedFlags field ****/
- /* reserved for future use: currently 0 */
-
- /**** matchFlags field ****/
- enum
- {
- cmspFavorEmbeddedMask = 0x00000001 /* if bit 0 is 0 then use srcProf profile, if 1 then use profile embedded in image if present*/
- };
-
-
- /**** scripting plugin entry points ****/
- typedef CALLBACK_API_C(CMError , ValidateImageProcPtr)(const FSSpec * spec);
- typedef CALLBACK_API_C(CMError , GetImageSpaceProcPtr)(const FSSpec *spec, OSType *space);
- typedef CALLBACK_API_C(CMError , ValidateSpaceProcPtr)(const FSSpec *spec, OSType *space);
- typedef CALLBACK_API_C(CMError , EmbedImageProcPtr)(const FSSpec *specFrom, const FSSpec *specInto, CMProfileRef embedProf, UInt32 embedFlags);
- typedef CALLBACK_API_C(CMError , UnembedImageProcPtr)(const FSSpec *specFrom, const FSSpec *specInto);
- typedef CALLBACK_API_C(CMError , MatchImageProcPtr)(const FSSpec *specFrom, const FSSpec *specInto, UInt32 qual, UInt32 srcIntent, CMProfileRef srcProf, CMProfileRef dstProf, CMProfileRef prfProf, UInt32 matchFlags);
- typedef CALLBACK_API_C(CMError , CountImageProfilesProcPtr)(const FSSpec *spec, UInt32 *count);
- typedef CALLBACK_API_C(CMError , GetIndImageProfileProcPtr)(const FSSpec *spec, UInt32 index, CMProfileRef *prof);
- typedef CALLBACK_API_C(CMError , SetIndImageProfileProcPtr)(const FSSpec *specFrom, const FSSpec *specInto, UInt32 index, CMProfileRef prof, UInt32 embedFlags);
- /**** CSScriptingLib API ****/
-
- /*
- * CMValidImage()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMValidImage(const FSSpec * spec);
-
-
- /*
- * CMGetImageSpace()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMGetImageSpace(
- const FSSpec * spec,
- OSType * space);
-
-
- /*
- * CMEmbedImage()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMEmbedImage(
- const FSSpec * specFrom,
- const FSSpec * specInto,
- Boolean repl,
- CMProfileRef embProf);
-
-
- /*
- * CMUnembedImage()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMUnembedImage(
- const FSSpec * specFrom,
- const FSSpec * specInto,
- Boolean repl);
-
-
- /*
- * CMMatchImage()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMMatchImage(
- const FSSpec * specFrom,
- const FSSpec * specInto,
- Boolean repl,
- UInt32 qual,
- CMProfileRef srcProf,
- UInt32 srcIntent,
- CMProfileRef dstProf);
-
-
- /*
- * CMProofImage()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMProofImage(
- const FSSpec * specFrom,
- const FSSpec * specInto,
- Boolean repl,
- UInt32 qual,
- CMProfileRef srcProf,
- UInt32 srcIntent,
- CMProfileRef dstProf,
- CMProfileRef prfProf);
-
-
- /*
- * CMLinkImage()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMLinkImage(
- const FSSpec * specFrom,
- const FSSpec * specInto,
- Boolean repl,
- UInt32 qual,
- CMProfileRef lnkProf,
- UInt32 lnkIntent);
-
-
- /*
- * CMCountImageProfiles()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMCountImageProfiles(
- const FSSpec * spec,
- UInt32 * count);
-
-
- /*
- * CMGetIndImageProfile()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMGetIndImageProfile(
- const FSSpec * spec,
- UInt32 index,
- CMProfileRef * prof);
-
-
- /*
- * CMSetIndImageProfile()
- *
- * Availability:
- * Non-Carbon CFM: in CSScriptingLib 2.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in 3.0 and later
- */
- EXTERN_API_C(CMError)
- CMSetIndImageProfile(
- const FSSpec * specFrom,
- const FSSpec * specInto,
- Boolean repl,
- UInt32 index,
- CMProfileRef prof);
+enum {
+ /* ColorSync Scripting AppleEvent Errors */
+ cmspInvalidImageFile = -4220, /* Plugin cannot handle this image file type */
+ cmspInvalidImageSpace = -4221, /* Plugin cannot create an image file of this colorspace */
+ cmspInvalidProfileEmbed = -4222, /* Specific invalid profile errors */
+ cmspInvalidProfileSource = -4223,
+ cmspInvalidProfileDest = -4224,
+ cmspInvalidProfileProof = -4225,
+ cmspInvalidProfileLink = -4226
+};
+
+
+/**** embedFlags field ****/
+/* reserved for future use: currently 0 */
+
+/**** matchFlags field ****/
+enum {
+ cmspFavorEmbeddedMask = 0x00000001 /* if bit 0 is 0 then use srcProf profile, if 1 then use profile embedded in image if present*/
+};
+
+
+/**** scripting plugin entry points ****/
+typedef CALLBACK_API_C( CMError , ValidateImageProcPtr )(const FSSpec * spec);
+typedef CALLBACK_API_C( CMError , GetImageSpaceProcPtr )(const FSSpec *spec, OSType *space);
+typedef CALLBACK_API_C( CMError , ValidateSpaceProcPtr )(const FSSpec *spec, OSType *space);
+typedef CALLBACK_API_C( CMError , EmbedImageProcPtr )(const FSSpec *specFrom, const FSSpec *specInto, CMProfileRef embedProf, UInt32 embedFlags);
+typedef CALLBACK_API_C( CMError , UnembedImageProcPtr )(const FSSpec *specFrom, const FSSpec *specInto);
+typedef CALLBACK_API_C( CMError , MatchImageProcPtr )(const FSSpec *specFrom, const FSSpec *specInto, UInt32 qual, UInt32 srcIntent, CMProfileRef srcProf, CMProfileRef dstProf, CMProfileRef prfProf, UInt32 matchFlags);
+typedef CALLBACK_API_C( CMError , CountImageProfilesProcPtr )(const FSSpec *spec, UInt32 *count);
+typedef CALLBACK_API_C( CMError , GetIndImageProfileProcPtr )(const FSSpec *spec, UInt32 index, CMProfileRef *prof);
+typedef CALLBACK_API_C( CMError , SetIndImageProfileProcPtr )(const FSSpec *specFrom, const FSSpec *specInto, UInt32 index, CMProfileRef prof, UInt32 embedFlags);
+/**** CSScriptingLib API ****/
+
+/*
+ * CMValidImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMValidImage(const FSSpec * spec);
+
+
+/*
+ * CMGetImageSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMGetImageSpace(
+ const FSSpec * spec,
+ OSType * space);
+
+
+/*
+ * CMEmbedImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMEmbedImage(
+ const FSSpec * specFrom,
+ const FSSpec * specInto,
+ Boolean repl,
+ CMProfileRef embProf);
+
+
+/*
+ * CMUnembedImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMUnembedImage(
+ const FSSpec * specFrom,
+ const FSSpec * specInto,
+ Boolean repl);
+
+
+/*
+ * CMMatchImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMMatchImage(
+ const FSSpec * specFrom,
+ const FSSpec * specInto,
+ Boolean repl,
+ UInt32 qual,
+ CMProfileRef srcProf,
+ UInt32 srcIntent,
+ CMProfileRef dstProf);
+
+
+/*
+ * CMProofImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMProofImage(
+ const FSSpec * specFrom,
+ const FSSpec * specInto,
+ Boolean repl,
+ UInt32 qual,
+ CMProfileRef srcProf,
+ UInt32 srcIntent,
+ CMProfileRef dstProf,
+ CMProfileRef prfProf);
+
+
+/*
+ * CMLinkImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMLinkImage(
+ const FSSpec * specFrom,
+ const FSSpec * specInto,
+ Boolean repl,
+ UInt32 qual,
+ CMProfileRef lnkProf,
+ UInt32 lnkIntent);
+
+
+/*
+ * CMCountImageProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMCountImageProfiles(
+ const FSSpec * spec,
+ UInt32 * count);
+
+
+/*
+ * CMGetIndImageProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMGetIndImageProfile(
+ const FSSpec * spec,
+ UInt32 index,
+ CMProfileRef * prof);
+
+
+/*
+ * CMSetIndImageProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CSScriptingLib 2.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in 3.0 and later
+ */
+EXTERN_API_C( CMError )
+CMSetIndImageProfile(
+ const FSSpec * specFrom,
+ const FSSpec * specInto,
+ Boolean repl,
+ UInt32 index,
+ CMProfileRef prof);
diff --git a/include/qt/CMTypes.h b/include/qt/CMTypes.h
index 87f6e663b..e28d774a6 100644
--- a/include/qt/CMTypes.h
+++ b/include/qt/CMTypes.h
@@ -1,17 +1,17 @@
/*
File: CMTypes.h
-
+
Contains: ColorSync types
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
@@ -42,387 +42,342 @@ extern "C" {
#pragma import on
#endif
- typedef long CMError;
- /* Abstract data type for memory-based Profile */
- typedef struct OpaqueCMProfileRef* CMProfileRef;
- /* Abstract data type for Profile search result */
- typedef struct OpaqueCMProfileSearchRef* CMProfileSearchRef;
- /* Abstract data type for BeginMatching(...) reference */
- typedef struct OpaqueCMMatchRef* CMMatchRef;
- /* Abstract data type for ColorWorld reference */
- typedef struct OpaqueCMWorldRef* CMWorldRef;
- /* Data type for ColorSync DisplayID reference */
- /* On 8 & 9 this is a AVIDType */
- /* On X this is a CGSDisplayID */
- typedef UInt32 CMDisplayIDType;
-
- /* Caller-supplied flatten function */
- typedef CALLBACK_API(OSErr , CMFlattenProcPtr)(long command, long *size, void *data, void *refCon);
- /* Caller-supplied progress function for Bitmap & PixMap matching routines */
- typedef CALLBACK_API(Boolean , CMBitmapCallBackProcPtr)(long progress, void *refCon);
- /* Caller-supplied progress function for NCMMConcatInit & NCMMNewLinkProfile routines */
- typedef CALLBACK_API(Boolean , CMConcatCallBackProcPtr)(long progress, void *refCon);
- /* Caller-supplied filter function for Profile search */
- typedef CALLBACK_API(Boolean , CMProfileFilterProcPtr)(CMProfileRef prof, void *refCon);
- /* Caller-supplied function for profile access */
- typedef CALLBACK_API(OSErr , CMProfileAccessProcPtr)(long command, long offset, long *size, void *data, void *refCon);
- typedef STACK_UPP_TYPE(CMFlattenProcPtr) CMFlattenUPP;
- typedef STACK_UPP_TYPE(CMBitmapCallBackProcPtr) CMBitmapCallBackUPP;
- typedef STACK_UPP_TYPE(CMConcatCallBackProcPtr) CMConcatCallBackUPP;
- typedef STACK_UPP_TYPE(CMProfileFilterProcPtr) CMProfileFilterUPP;
- typedef STACK_UPP_TYPE(CMProfileAccessProcPtr) CMProfileAccessUPP;
- /*
- * NewCMFlattenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CMFlattenUPP)
- NewCMFlattenUPP(CMFlattenProcPtr userRoutine);
+typedef long CMError;
+/* Abstract data type for memory-based Profile */
+typedef struct OpaqueCMProfileRef* CMProfileRef;
+/* Abstract data type for Profile search result */
+typedef struct OpaqueCMProfileSearchRef* CMProfileSearchRef;
+/* Abstract data type for BeginMatching(...) reference */
+typedef struct OpaqueCMMatchRef* CMMatchRef;
+/* Abstract data type for ColorWorld reference */
+typedef struct OpaqueCMWorldRef* CMWorldRef;
+/* Data type for ColorSync DisplayID reference */
+/* On 8 & 9 this is a AVIDType */
+/* On X this is a CGSDisplayID */
+typedef UInt32 CMDisplayIDType;
+
+/* Caller-supplied flatten function */
+typedef CALLBACK_API( OSErr , CMFlattenProcPtr )(long command, long *size, void *data, void *refCon);
+/* Caller-supplied progress function for Bitmap & PixMap matching routines */
+typedef CALLBACK_API( Boolean , CMBitmapCallBackProcPtr )(long progress, void *refCon);
+/* Caller-supplied progress function for NCMMConcatInit & NCMMNewLinkProfile routines */
+typedef CALLBACK_API( Boolean , CMConcatCallBackProcPtr )(long progress, void *refCon);
+/* Caller-supplied filter function for Profile search */
+typedef CALLBACK_API( Boolean , CMProfileFilterProcPtr )(CMProfileRef prof, void *refCon);
+/* Caller-supplied function for profile access */
+typedef CALLBACK_API( OSErr , CMProfileAccessProcPtr )(long command, long offset, long *size, void *data, void *refCon);
+typedef STACK_UPP_TYPE(CMFlattenProcPtr) CMFlattenUPP;
+typedef STACK_UPP_TYPE(CMBitmapCallBackProcPtr) CMBitmapCallBackUPP;
+typedef STACK_UPP_TYPE(CMConcatCallBackProcPtr) CMConcatCallBackUPP;
+typedef STACK_UPP_TYPE(CMProfileFilterProcPtr) CMProfileFilterUPP;
+typedef STACK_UPP_TYPE(CMProfileAccessProcPtr) CMProfileAccessUPP;
+/*
+ * NewCMFlattenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CMFlattenUPP )
+NewCMFlattenUPP(CMFlattenProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCMFlattenProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CMFlattenUPP) NewCMFlattenUPP(CMFlattenProcPtr userRoutine)
- {
- return (CMFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMFlattenProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCMFlattenUPP(userRoutine) (CMFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMFlattenProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCMFlattenProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CMFlattenUPP) NewCMFlattenUPP(CMFlattenProcPtr userRoutine) { return (CMFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMFlattenProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCMFlattenUPP(userRoutine) (CMFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMFlattenProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCMBitmapCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CMBitmapCallBackUPP)
- NewCMBitmapCallBackUPP(CMBitmapCallBackProcPtr userRoutine);
+/*
+ * NewCMBitmapCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CMBitmapCallBackUPP )
+NewCMBitmapCallBackUPP(CMBitmapCallBackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCMBitmapCallBackProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CMBitmapCallBackUPP) NewCMBitmapCallBackUPP(CMBitmapCallBackProcPtr userRoutine)
- {
- return (CMBitmapCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMBitmapCallBackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCMBitmapCallBackUPP(userRoutine) (CMBitmapCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMBitmapCallBackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCMBitmapCallBackProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CMBitmapCallBackUPP) NewCMBitmapCallBackUPP(CMBitmapCallBackProcPtr userRoutine) { return (CMBitmapCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMBitmapCallBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCMBitmapCallBackUPP(userRoutine) (CMBitmapCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMBitmapCallBackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCMConcatCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CMConcatCallBackUPP)
- NewCMConcatCallBackUPP(CMConcatCallBackProcPtr userRoutine);
+/*
+ * NewCMConcatCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CMConcatCallBackUPP )
+NewCMConcatCallBackUPP(CMConcatCallBackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCMConcatCallBackProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CMConcatCallBackUPP) NewCMConcatCallBackUPP(CMConcatCallBackProcPtr userRoutine)
- {
- return (CMConcatCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMConcatCallBackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCMConcatCallBackUPP(userRoutine) (CMConcatCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMConcatCallBackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCMConcatCallBackProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CMConcatCallBackUPP) NewCMConcatCallBackUPP(CMConcatCallBackProcPtr userRoutine) { return (CMConcatCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMConcatCallBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCMConcatCallBackUPP(userRoutine) (CMConcatCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMConcatCallBackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCMProfileFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CMProfileFilterUPP)
- NewCMProfileFilterUPP(CMProfileFilterProcPtr userRoutine);
+/*
+ * NewCMProfileFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CMProfileFilterUPP )
+NewCMProfileFilterUPP(CMProfileFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCMProfileFilterProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CMProfileFilterUPP) NewCMProfileFilterUPP(CMProfileFilterProcPtr userRoutine)
- {
- return (CMProfileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCMProfileFilterUPP(userRoutine) (CMProfileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCMProfileFilterProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CMProfileFilterUPP) NewCMProfileFilterUPP(CMProfileFilterProcPtr userRoutine) { return (CMProfileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCMProfileFilterUPP(userRoutine) (CMProfileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCMProfileAccessUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CMProfileAccessUPP)
- NewCMProfileAccessUPP(CMProfileAccessProcPtr userRoutine);
+/*
+ * NewCMProfileAccessUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CMProfileAccessUPP )
+NewCMProfileAccessUPP(CMProfileAccessProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCMProfileAccessProcInfo = 0x0000FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CMProfileAccessUPP) NewCMProfileAccessUPP(CMProfileAccessProcPtr userRoutine)
- {
- return (CMProfileAccessUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileAccessProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCMProfileAccessUPP(userRoutine) (CMProfileAccessUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileAccessProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCMProfileAccessProcInfo = 0x0000FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CMProfileAccessUPP) NewCMProfileAccessUPP(CMProfileAccessProcPtr userRoutine) { return (CMProfileAccessUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileAccessProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCMProfileAccessUPP(userRoutine) (CMProfileAccessUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileAccessProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeCMFlattenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCMFlattenUPP(CMFlattenUPP userUPP);
+/*
+ * DisposeCMFlattenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCMFlattenUPP(CMFlattenUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCMFlattenUPP(CMFlattenUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCMFlattenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCMFlattenUPP(CMFlattenUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCMFlattenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCMBitmapCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCMBitmapCallBackUPP(CMBitmapCallBackUPP userUPP);
+/*
+ * DisposeCMBitmapCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCMBitmapCallBackUPP(CMBitmapCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCMBitmapCallBackUPP(CMBitmapCallBackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCMBitmapCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCMBitmapCallBackUPP(CMBitmapCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCMBitmapCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCMConcatCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCMConcatCallBackUPP(CMConcatCallBackUPP userUPP);
+/*
+ * DisposeCMConcatCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCMConcatCallBackUPP(CMConcatCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCMConcatCallBackUPP(CMConcatCallBackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCMConcatCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCMConcatCallBackUPP(CMConcatCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCMConcatCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCMProfileFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCMProfileFilterUPP(CMProfileFilterUPP userUPP);
+/*
+ * DisposeCMProfileFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCMProfileFilterUPP(CMProfileFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCMProfileFilterUPP(CMProfileFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCMProfileFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCMProfileFilterUPP(CMProfileFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCMProfileFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCMProfileAccessUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCMProfileAccessUPP(CMProfileAccessUPP userUPP);
+/*
+ * DisposeCMProfileAccessUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCMProfileAccessUPP(CMProfileAccessUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCMProfileAccessUPP(CMProfileAccessUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCMProfileAccessUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCMProfileAccessUPP(CMProfileAccessUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCMProfileAccessUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeCMFlattenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeCMFlattenUPP(
- long command,
- long * size,
- void * data,
- void * refCon,
- CMFlattenUPP userUPP);
+/*
+ * InvokeCMFlattenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeCMFlattenUPP(
+ long command,
+ long * size,
+ void * data,
+ void * refCon,
+ CMFlattenUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeCMFlattenUPP(long command, long * size, void * data, void * refCon, CMFlattenUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppCMFlattenProcInfo, command, size, data, refCon);
- }
-#else
-#define InvokeCMFlattenUPP(command, size, data, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppCMFlattenProcInfo, (command), (size), (data), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeCMFlattenUPP(long command, long * size, void * data, void * refCon, CMFlattenUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppCMFlattenProcInfo, command, size, data, refCon); }
+ #else
+ #define InvokeCMFlattenUPP(command, size, data, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppCMFlattenProcInfo, (command), (size), (data), (refCon))
+ #endif
#endif
- /*
- * InvokeCMBitmapCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeCMBitmapCallBackUPP(
- long progress,
- void * refCon,
- CMBitmapCallBackUPP userUPP);
+/*
+ * InvokeCMBitmapCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeCMBitmapCallBackUPP(
+ long progress,
+ void * refCon,
+ CMBitmapCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeCMBitmapCallBackUPP(long progress, void * refCon, CMBitmapCallBackUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppCMBitmapCallBackProcInfo, progress, refCon);
- }
-#else
-#define InvokeCMBitmapCallBackUPP(progress, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppCMBitmapCallBackProcInfo, (progress), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeCMBitmapCallBackUPP(long progress, void * refCon, CMBitmapCallBackUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppCMBitmapCallBackProcInfo, progress, refCon); }
+ #else
+ #define InvokeCMBitmapCallBackUPP(progress, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppCMBitmapCallBackProcInfo, (progress), (refCon))
+ #endif
#endif
- /*
- * InvokeCMConcatCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeCMConcatCallBackUPP(
- long progress,
- void * refCon,
- CMConcatCallBackUPP userUPP);
+/*
+ * InvokeCMConcatCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeCMConcatCallBackUPP(
+ long progress,
+ void * refCon,
+ CMConcatCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeCMConcatCallBackUPP(long progress, void * refCon, CMConcatCallBackUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppCMConcatCallBackProcInfo, progress, refCon);
- }
-#else
-#define InvokeCMConcatCallBackUPP(progress, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppCMConcatCallBackProcInfo, (progress), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeCMConcatCallBackUPP(long progress, void * refCon, CMConcatCallBackUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppCMConcatCallBackProcInfo, progress, refCon); }
+ #else
+ #define InvokeCMConcatCallBackUPP(progress, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppCMConcatCallBackProcInfo, (progress), (refCon))
+ #endif
#endif
- /*
- * InvokeCMProfileFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeCMProfileFilterUPP(
- CMProfileRef prof,
- void * refCon,
- CMProfileFilterUPP userUPP);
+/*
+ * InvokeCMProfileFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeCMProfileFilterUPP(
+ CMProfileRef prof,
+ void * refCon,
+ CMProfileFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeCMProfileFilterUPP(CMProfileRef prof, void * refCon, CMProfileFilterUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppCMProfileFilterProcInfo, prof, refCon);
- }
-#else
-#define InvokeCMProfileFilterUPP(prof, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppCMProfileFilterProcInfo, (prof), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeCMProfileFilterUPP(CMProfileRef prof, void * refCon, CMProfileFilterUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppCMProfileFilterProcInfo, prof, refCon); }
+ #else
+ #define InvokeCMProfileFilterUPP(prof, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppCMProfileFilterProcInfo, (prof), (refCon))
+ #endif
#endif
- /*
- * InvokeCMProfileAccessUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeCMProfileAccessUPP(
- long command,
- long offset,
- long * size,
- void * data,
- void * refCon,
- CMProfileAccessUPP userUPP);
+/*
+ * InvokeCMProfileAccessUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeCMProfileAccessUPP(
+ long command,
+ long offset,
+ long * size,
+ void * data,
+ void * refCon,
+ CMProfileAccessUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeCMProfileAccessUPP(long command, long offset, long * size, void * data, void * refCon, CMProfileAccessUPP userUPP)
- {
- return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppCMProfileAccessProcInfo, command, offset, size, data, refCon);
- }
-#else
-#define InvokeCMProfileAccessUPP(command, offset, size, data, refCon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppCMProfileAccessProcInfo, (command), (offset), (size), (data), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeCMProfileAccessUPP(long command, long offset, long * size, void * data, void * refCon, CMProfileAccessUPP userUPP) { return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppCMProfileAccessProcInfo, command, offset, size, data, refCon); }
+ #else
+ #define InvokeCMProfileAccessUPP(command, offset, size, data, refCon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppCMProfileAccessProcInfo, (command), (offset), (size), (data), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewCMFlattenProc(userRoutine) NewCMFlattenUPP(userRoutine)
-#define NewCMBitmapCallBackProc(userRoutine) NewCMBitmapCallBackUPP(userRoutine)
-#define NewCMConcatCallBackProc(userRoutine) NewCMConcatCallBackUPP(userRoutine)
-#define NewCMProfileFilterProc(userRoutine) NewCMProfileFilterUPP(userRoutine)
-#define NewCMProfileAccessProc(userRoutine) NewCMProfileAccessUPP(userRoutine)
-#define CallCMFlattenProc(userRoutine, command, size, data, refCon) InvokeCMFlattenUPP(command, size, data, refCon, userRoutine)
-#define CallCMBitmapCallBackProc(userRoutine, progress, refCon) InvokeCMBitmapCallBackUPP(progress, refCon, userRoutine)
-#define CallCMConcatCallBackProc(userRoutine, progress, refCon) InvokeCMConcatCallBackUPP(progress, refCon, userRoutine)
-#define CallCMProfileFilterProc(userRoutine, prof, refCon) InvokeCMProfileFilterUPP(prof, refCon, userRoutine)
-#define CallCMProfileAccessProc(userRoutine, command, offset, size, data, refCon) InvokeCMProfileAccessUPP(command, offset, size, data, refCon, userRoutine)
+ #define NewCMFlattenProc(userRoutine) NewCMFlattenUPP(userRoutine)
+ #define NewCMBitmapCallBackProc(userRoutine) NewCMBitmapCallBackUPP(userRoutine)
+ #define NewCMConcatCallBackProc(userRoutine) NewCMConcatCallBackUPP(userRoutine)
+ #define NewCMProfileFilterProc(userRoutine) NewCMProfileFilterUPP(userRoutine)
+ #define NewCMProfileAccessProc(userRoutine) NewCMProfileAccessUPP(userRoutine)
+ #define CallCMFlattenProc(userRoutine, command, size, data, refCon) InvokeCMFlattenUPP(command, size, data, refCon, userRoutine)
+ #define CallCMBitmapCallBackProc(userRoutine, progress, refCon) InvokeCMBitmapCallBackUPP(progress, refCon, userRoutine)
+ #define CallCMConcatCallBackProc(userRoutine, progress, refCon) InvokeCMConcatCallBackUPP(progress, refCon, userRoutine)
+ #define CallCMProfileFilterProc(userRoutine, prof, refCon) InvokeCMProfileFilterUPP(prof, refCon, userRoutine)
+ #define CallCMProfileAccessProc(userRoutine, command, offset, size, data, refCon) InvokeCMProfileAccessUPP(command, offset, size, data, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
diff --git a/include/qt/CVBase.h b/include/qt/CVBase.h
index a04f51e6b..84d4fbe2f 100644
--- a/include/qt/CVBase.h
+++ b/include/qt/CVBase.h
@@ -5,14 +5,14 @@
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
*
*/
-
-/*! @header CVBase.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
-@availability Mac OS X 10.4 or later
- @discussion Here you can find the type declarations for CoreVideo. CoreVideo uses a CVTimeStamp structure to store video display time stamps.
+
+ /*! @header CVBase.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @availability Mac OS X 10.4 or later
+ @discussion Here you can find the type declarations for CoreVideo. CoreVideo uses a CVTimeStamp structure to store video display time stamps.
*/
-
+
#if !defined(__COREVIDEO_CVBASE_H__)
#define __COREVIDEO_CVBASE_H__ 1
@@ -30,7 +30,7 @@
extern "C" {
#endif
-#define CV_EXPORT CF_EXPORT
+#define CV_EXPORT CF_EXPORT
#define CV_INLINE CF_INLINE
#if TARGET_OS_WIN32
@@ -40,171 +40,170 @@ extern "C" {
#define CVDIRECT3D LPDIRECT3D9
#endif //TARGET_OS_WIN32
- /*!
- @typedef CVOptionFlags
- @abstract Flags to be used for the display and render call back functions.
- @discussion ***Values to be defined***
- */
- typedef uint64_t CVOptionFlags;
-
- /*!
- @struct CVSMPTETime
- @abstract A structure for holding a SMPTE time.
- @field subframes
- The number of subframes in the full message.
- @field subframeDivisor
- The number of subframes per frame (typically 80).
- @field counter
- The total number of messages received.
- @field type
- The kind of SMPTE time using the SMPTE time type constants.
- @field flags
- A set of flags that indicate the SMPTE state.
- @field hours
- The number of hourse in the full message.
- @field minutes
- The number of minutes in the full message.
- @field seconds
- The number of seconds in the full message.
- @field frames
- The number of frames in the full message.
- */
- struct CVSMPTETime
- {
- SInt16 subframes;
- SInt16 subframeDivisor;
- UInt32 counter;
- UInt32 type;
- UInt32 flags;
- SInt16 hours;
- SInt16 minutes;
- SInt16 seconds;
- SInt16 frames;
- };
- typedef struct CVSMPTETime CVSMPTETime;
-
- /*!
- @enum SMPTE Time Types
- @abstract Constants that describe the type of SMPTE time.
- @constant kCVSMPTETimeType24
- 24 Frame
- @constant kCVSMPTETimeType25
- 25 Frame
- @constant kCVSMPTETimeType30Drop
- 30 Drop Frame
- @constant kCVSMPTETimeType30
- 30 Frame
- @constant kCVSMPTETimeType2997
- 29.97 Frame
- @constant kCVSMPTETimeType2997Drop
- 29.97 Drop Frame
- @constant kCVSMPTETimeType60
- 60 Frame
- @constant kCVSMPTETimeType5994
- 59.94 Frame
- */
- enum
- {
- kCVSMPTETimeType24 = 0,
- kCVSMPTETimeType25 = 1,
- kCVSMPTETimeType30Drop = 2,
- kCVSMPTETimeType30 = 3,
- kCVSMPTETimeType2997 = 4,
- kCVSMPTETimeType2997Drop = 5,
- kCVSMPTETimeType60 = 6,
- kCVSMPTETimeType5994 = 7
- };
-
- /*!
- @enum SMPTE State Flags
- @abstract Flags that describe the SMPTE time state.
- @constant kCVSMPTETimeValid
- The full time is valid.
- @constant kCVSMPTETimeRunning
- Time is running.
- */
- enum
- {
- kCVSMPTETimeValid = (1L << 0),
- kCVSMPTETimeRunning = (1L << 1)
- };
-
-
- enum
- {
- kCVTimeIsIndefinite = 1 << 0
- };
-
- typedef struct
- {
- int64_t timeValue;
- int32_t timeScale;
- int32_t flags;
- } CVTime;
-
- /*!
- @struct CVTimeStamp
- @abstract CoreVideo uses a CVTimeStamp structure to store video display time stamps.
- @discussion This structure is purposely very similar to AudioTimeStamp defined in the CoreAudio framework.
- Most of the CVTimeStamp struct should be fairly self-explanatory. However, it is probably worth pointing out that unlike the audio time stamps, floats are not used to represent the video equivalent of sample times. This was done partly to avoid precision issues, and partly because QuickTime still uses integers for time values and time scales. In the actual implementation it has turned out to be very convenient to use integers, and we can represent framerates like NTSC (30000/1001 fps) exactly. The mHostTime structure field uses the same Mach absolute time base that is used in CoreAudio, so that clients of the CoreVideo API can synchronize between the two subsystems.
- @field videoTimeScale The scale (in units per second) of the videoTime and videoPeriod values
- @field videoTime This represents the start of a frame (or field for interlaced)
- @field hostTime Host root timebase time
- @field rateScalar This is the current rate of the device as measured by the timestamps, divided by the nominal rate
- @field videoPeriod This is the nominal update period of the current output device
- @field smpteTime SMPTE time representation of the time stamp.
- @field flags Possible values are:
- kCVTimeStampVideoTimeValid
- kCVTimeStampHostTimeValid
- kCVTimeStampSMPTETimeValid
- kCVTimeStampVideoPeriodValid
- kCVTimeStampRateScalarValid
- There are flags for each field to make it easier to detect interlaced vs progressive output
- kCVTimeStampTopField
- kCVTimeStampBottomField
- Some commonly used combinations of timestamp flags
- kCVTimeStampVideoHostTimeValid
- kCVTimeStampIsInterlaced
- @field version The current CVTimeStamp is version 0.
- @field reserved Reserved. Do not use.
-
- */
- typedef struct
- {
- uint32_t version; // Currently will be 0.
- int32_t videoTimeScale; // Video timescale (units per second)
- int64_t videoTime; // This represents the start of a frame (or field for interlaced) .. think vsync - still not 100% sure on the name
- uint64_t hostTime; // Host root timebase time
- double rateScalar; // Current rate as measured by the timestamps divided by the nominal rate
- int64_t videoRefreshPeriod; // Hint for nominal output rate
- CVSMPTETime smpteTime;
- uint64_t flags;
- uint64_t reserved;
- } CVTimeStamp;
+/*!
+ @typedef CVOptionFlags
+ @abstract Flags to be used for the display and render call back functions.
+ @discussion ***Values to be defined***
+*/
+typedef uint64_t CVOptionFlags;
+
+/*!
+ @struct CVSMPTETime
+ @abstract A structure for holding a SMPTE time.
+ @field subframes
+ The number of subframes in the full message.
+ @field subframeDivisor
+ The number of subframes per frame (typically 80).
+ @field counter
+ The total number of messages received.
+ @field type
+ The kind of SMPTE time using the SMPTE time type constants.
+ @field flags
+ A set of flags that indicate the SMPTE state.
+ @field hours
+ The number of hourse in the full message.
+ @field minutes
+ The number of minutes in the full message.
+ @field seconds
+ The number of seconds in the full message.
+ @field frames
+ The number of frames in the full message.
+*/
+struct CVSMPTETime
+{
+ SInt16 subframes;
+ SInt16 subframeDivisor;
+ UInt32 counter;
+ UInt32 type;
+ UInt32 flags;
+ SInt16 hours;
+ SInt16 minutes;
+ SInt16 seconds;
+ SInt16 frames;
+};
+typedef struct CVSMPTETime CVSMPTETime;
+
+/*!
+ @enum SMPTE Time Types
+ @abstract Constants that describe the type of SMPTE time.
+ @constant kCVSMPTETimeType24
+ 24 Frame
+ @constant kCVSMPTETimeType25
+ 25 Frame
+ @constant kCVSMPTETimeType30Drop
+ 30 Drop Frame
+ @constant kCVSMPTETimeType30
+ 30 Frame
+ @constant kCVSMPTETimeType2997
+ 29.97 Frame
+ @constant kCVSMPTETimeType2997Drop
+ 29.97 Drop Frame
+ @constant kCVSMPTETimeType60
+ 60 Frame
+ @constant kCVSMPTETimeType5994
+ 59.94 Frame
+*/
+enum
+{
+ kCVSMPTETimeType24 = 0,
+ kCVSMPTETimeType25 = 1,
+ kCVSMPTETimeType30Drop = 2,
+ kCVSMPTETimeType30 = 3,
+ kCVSMPTETimeType2997 = 4,
+ kCVSMPTETimeType2997Drop = 5,
+ kCVSMPTETimeType60 = 6,
+ kCVSMPTETimeType5994 = 7
+};
+
+/*!
+ @enum SMPTE State Flags
+ @abstract Flags that describe the SMPTE time state.
+ @constant kCVSMPTETimeValid
+ The full time is valid.
+ @constant kCVSMPTETimeRunning
+ Time is running.
+*/
+enum
+{
+ kCVSMPTETimeValid = (1L << 0),
+ kCVSMPTETimeRunning = (1L << 1)
+};
+
+
+enum {
+ kCVTimeIsIndefinite = 1 << 0
+};
+
+typedef struct
+{
+ int64_t timeValue;
+ int32_t timeScale;
+ int32_t flags;
+} CVTime;
+
+/*!
+ @struct CVTimeStamp
+ @abstract CoreVideo uses a CVTimeStamp structure to store video display time stamps.
+ @discussion This structure is purposely very similar to AudioTimeStamp defined in the CoreAudio framework.
+ Most of the CVTimeStamp struct should be fairly self-explanatory. However, it is probably worth pointing out that unlike the audio time stamps, floats are not used to represent the video equivalent of sample times. This was done partly to avoid precision issues, and partly because QuickTime still uses integers for time values and time scales. In the actual implementation it has turned out to be very convenient to use integers, and we can represent framerates like NTSC (30000/1001 fps) exactly. The mHostTime structure field uses the same Mach absolute time base that is used in CoreAudio, so that clients of the CoreVideo API can synchronize between the two subsystems.
+ @field videoTimeScale The scale (in units per second) of the videoTime and videoPeriod values
+ @field videoTime This represents the start of a frame (or field for interlaced)
+ @field hostTime Host root timebase time
+ @field rateScalar This is the current rate of the device as measured by the timestamps, divided by the nominal rate
+ @field videoPeriod This is the nominal update period of the current output device
+ @field smpteTime SMPTE time representation of the time stamp.
+ @field flags Possible values are:
+ kCVTimeStampVideoTimeValid
+ kCVTimeStampHostTimeValid
+ kCVTimeStampSMPTETimeValid
+ kCVTimeStampVideoPeriodValid
+ kCVTimeStampRateScalarValid
+ There are flags for each field to make it easier to detect interlaced vs progressive output
+ kCVTimeStampTopField
+ kCVTimeStampBottomField
+ Some commonly used combinations of timestamp flags
+ kCVTimeStampVideoHostTimeValid
+ kCVTimeStampIsInterlaced
+ @field version The current CVTimeStamp is version 0.
+ @field reserved Reserved. Do not use.
+
+*/
+typedef struct
+{
+ uint32_t version; // Currently will be 0.
+ int32_t videoTimeScale; // Video timescale (units per second)
+ int64_t videoTime; // This represents the start of a frame (or field for interlaced) .. think vsync - still not 100% sure on the name
+ uint64_t hostTime; // Host root timebase time
+ double rateScalar; // Current rate as measured by the timestamps divided by the nominal rate
+ int64_t videoRefreshPeriod; // Hint for nominal output rate
+ CVSMPTETime smpteTime;
+ uint64_t flags;
+ uint64_t reserved;
+} CVTimeStamp;
// Flags for the CVTimeStamp structure
- enum
- {
- kCVTimeStampVideoTimeValid = (1L << 0),
- kCVTimeStampHostTimeValid = (1L << 1),
- kCVTimeStampSMPTETimeValid = (1L << 2),
- kCVTimeStampVideoRefreshPeriodValid = (1L << 3),
- kCVTimeStampRateScalarValid = (1L << 4),
-
- // There are flags for each field to make it easier to detect interlaced vs progressive output
- kCVTimeStampTopField = (1L << 16),
- kCVTimeStampBottomField = (1L << 17)
- };
+enum
+{
+ kCVTimeStampVideoTimeValid = (1L << 0),
+ kCVTimeStampHostTimeValid = (1L << 1),
+ kCVTimeStampSMPTETimeValid = (1L << 2),
+ kCVTimeStampVideoRefreshPeriodValid = (1L << 3),
+ kCVTimeStampRateScalarValid = (1L << 4),
+
+ // There are flags for each field to make it easier to detect interlaced vs progressive output
+ kCVTimeStampTopField = (1L << 16),
+ kCVTimeStampBottomField = (1L << 17)
+};
// Some commonly used combinations of timestamp flags
- enum
- {
- kCVTimeStampVideoHostTimeValid = (kCVTimeStampVideoTimeValid | kCVTimeStampHostTimeValid),
- kCVTimeStampIsInterlaced = (kCVTimeStampTopField | kCVTimeStampBottomField)
- };
-
- CV_EXPORT const CVTime kCVZeroTime;
- CV_EXPORT const CVTime kCVIndefiniteTime;
+enum
+{
+ kCVTimeStampVideoHostTimeValid = (kCVTimeStampVideoTimeValid | kCVTimeStampHostTimeValid),
+ kCVTimeStampIsInterlaced = (kCVTimeStampTopField | kCVTimeStampBottomField)
+};
+
+CV_EXPORT const CVTime kCVZeroTime;
+CV_EXPORT const CVTime kCVIndefiniteTime;
#if defined(__cplusplus)
}
diff --git a/include/qt/CVBuffer.h b/include/qt/CVBuffer.h
index 3fc875336..1874bff54 100644
--- a/include/qt/CVBuffer.h
+++ b/include/qt/CVBuffer.h
@@ -5,14 +5,14 @@
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
*
*/
-
-/*! @header CVBuffer.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
-@availability Mac OS X 10.4 or later
- @discussion CVBufferRef types are abstract and only define ways to attach meta data to buffers (such as timestamps,
- colorspace information, etc.). CVBufferRefs do not imply any particular kind of data storage. It could
- be compressed data, image data, etc.
-
+
+ /*! @header CVBuffer.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @availability Mac OS X 10.4 or later
+ @discussion CVBufferRef types are abstract and only define ways to attach meta data to buffers (such as timestamps,
+ colorspace information, etc.). CVBufferRefs do not imply any particular kind of data storage. It could
+ be compressed data, image data, etc.
+
*/
#if !defined(__COREVIDEO_CVBUFFER_H__)
@@ -39,11 +39,11 @@ extern "C" {
#pragma mark CVBufferRef attribute keys
- /* The following two keys are useful with the CoreVideo pool and texture cache APIs so that you can specify
- an initial set of default buffer attachments to automatically be attached to the buffer when it is created. */
+/* The following two keys are useful with the CoreVideo pool and texture cache APIs so that you can specify
+ an initial set of default buffer attachments to automatically be attached to the buffer when it is created. */
#if TARGET_OS_MAC
- CV_EXPORT const CFStringRef kCVBufferPropagatedAttachmentsKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVBufferNonPropagatedAttachmentsKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVBufferPropagatedAttachmentsKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVBufferNonPropagatedAttachmentsKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#else
#define kCVBufferPropagatedAttachmentsKey CFSTR("PropagatedAttachments")
#define kCVBufferNonPropagatedAttachmentsKey CFSTR("NonPropagatedAttachments")
@@ -52,9 +52,9 @@ extern "C" {
#pragma mark CVBufferRef attachment keys
#if TARGET_OS_MAC
- CV_EXPORT const CFStringRef kCVBufferMovieTimeKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // Generally only available for frames emitted by QuickTime; CFDictionary containing these two keys:
- CV_EXPORT const CFStringRef kCVBufferTimeValueKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVBufferTimeScaleKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVBufferMovieTimeKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // Generally only available for frames emitted by QuickTime; CFDictionary containing these two keys:
+CV_EXPORT const CFStringRef kCVBufferTimeValueKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVBufferTimeScaleKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#else
#define kCVBufferMovieTimeKey CFSTR("QTMovieTime")
#define kCVBufferTimeValueKey CFSTR("TimeValue")
@@ -64,106 +64,105 @@ extern "C" {
#pragma mark CVBufferRef
- enum
- {
- kCVAttachmentMode_ShouldNotPropagate = 0,
- kCVAttachmentMode_ShouldPropagate = 1,
- };
- typedef uint32_t CVAttachmentMode;
-
- /*!
- @typedef CVBufferRef
- @abstract Base type for all CoreVideo buffers
-
- */
- typedef struct __CVBuffer *CVBufferRef;
-
- /*!
- @function CVBufferRetain
- @abstract Retains a CVBuffer object
- @discussion Like CFRetain CVBufferRetain increments the retain count of a CVBuffer object. In contrast to the CF call it is NULL safe.
- @param buffer A CVBuffer object that you want to retain.
- @result A CVBuffer object that is the same as the passed in buffer.
- */
- CV_EXPORT CVBufferRef CVBufferRetain(CVBufferRef buffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- /*!
- @function CVBufferRelease
- @abstract Release a CVBuffer object
- @discussion Like CFRetain CVBufferRetain decrements the retain count of a CVBuffer object. If that count consequently becomes zero the memory allocated to the object is deallocated and the object is destroyed. In contrast to the CF call it is NULL safe.
- @param buffer A CVBuffer object that you want to release.
- */
- CV_EXPORT void CVBufferRelease(CVBufferRef buffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+enum {
+ kCVAttachmentMode_ShouldNotPropagate = 0,
+ kCVAttachmentMode_ShouldPropagate = 1,
+};
+typedef uint32_t CVAttachmentMode;
+
+/*!
+ @typedef CVBufferRef
+ @abstract Base type for all CoreVideo buffers
+
+*/
+typedef struct __CVBuffer *CVBufferRef;
+
+/*!
+ @function CVBufferRetain
+ @abstract Retains a CVBuffer object
+ @discussion Like CFRetain CVBufferRetain increments the retain count of a CVBuffer object. In contrast to the CF call it is NULL safe.
+ @param buffer A CVBuffer object that you want to retain.
+ @result A CVBuffer object that is the same as the passed in buffer.
+*/
+CV_EXPORT CVBufferRef CVBufferRetain(CVBufferRef buffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/*!
+ @function CVBufferRelease
+ @abstract Release a CVBuffer object
+ @discussion Like CFRetain CVBufferRetain decrements the retain count of a CVBuffer object. If that count consequently becomes zero the memory allocated to the object is deallocated and the object is destroyed. In contrast to the CF call it is NULL safe.
+ @param buffer A CVBuffer object that you want to release.
+*/
+CV_EXPORT void CVBufferRelease(CVBufferRef buffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#pragma mark CVBufferAttachment
- /*!
- @function CVBufferSetAttachment
- @abstract Sets or adds a attachment of a CVBuffer object
- @discussion You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment stores an attachement identified by a key. If the key doesn't exist, the attachment will be added. If the key does exist, the existing attachment will be replaced. In bouth cases the retain count of the attachment will be incremented. The value can be any CFType but nil has no defined behavior.
- @param buffer Target CVBuffer object.
- @param key Key in form of a CFString identifying the desired attachment.
- @param value Attachment in form af a CF object.
- @param attachmentMode Specifies which attachment mode is desired for this attachment. A particular attachment key may only exist in
- a single mode at a time.
- */
- CV_EXPORT void CVBufferSetAttachment(CVBufferRef buffer, CFStringRef key, CFTypeRef value, CVAttachmentMode attachmentMode) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
-
- /*!
- @function CVBufferGetAttachment
- @abstract Returns a specific attachment of a CVBuffer object
- @discussion You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment retrieves an attachement identified by a key.
- @param buffer Target CVBuffer object.
- @param key Key in form of a CFString identifying the desired attachment.
- @param attachmentMode. Returns the mode of the attachment, if desired. May be NULL.
- @result If found the attachment object
- */
- CV_EXPORT CFTypeRef CVBufferGetAttachment(CVBufferRef buffer, CFStringRef key, CVAttachmentMode *attachmentMode) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVBufferRemoveAttachment
- @abstract Removes a specific attachment of a CVBuffer object
- @discussion CVBufferRemoveAttachment removes an attachement identified by a key. If found the attachement is removed and the retain count decremented.
- @param buffer Target CVBuffer object.
- @param key Key in form of a CFString identifying the desired attachment.
- */
- CV_EXPORT void CVBufferRemoveAttachment(CVBufferRef buffer, CFStringRef key) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVBufferRemoveAllAttachments
- @abstract Removes all attachments of a CVBuffer object
- @discussion While CVBufferRemoveAttachment removes a specific attachement identified by a key CVBufferRemoveAllAttachments removes all attachments of a buffer and decrements their retain counts.
- @param buffer Target CVBuffer object.
- */
- CV_EXPORT void CVBufferRemoveAllAttachments(CVBufferRef buffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVBufferGetAttachments
- @abstract Returns all attachments of a CVBuffer object
- @discussion CVBufferGetAttachments is a convenience call that returns all attachments with their corresponding keys in a CFDictionary.
- @param buffer Target CVBuffer object.
- @result A CFDictionary with all buffer attachments identified by there keys. If no attachment is present, the dictionary is empty. Returns NULL
- for invalid attachment mode.
- */
- CV_EXPORT CFDictionaryRef CVBufferGetAttachments(CVBufferRef buffer, CVAttachmentMode attachmentMode) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVBufferSetAttachments
- @abstract Sets a set of attachments for a CVBuffer
- @discussion CVBufferSetAttachments is a convenience call that in turn calls CVBufferSetAttachment for each key and value in the given dictionary. All key value pairs must be in the root level of the dictionary.
- @param buffer Target CVBuffer object.
- */
- CV_EXPORT void CVBufferSetAttachments(CVBufferRef buffer, CFDictionaryRef theAttachments, CVAttachmentMode attachmentMode) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVBufferPropagateAttachments
- @abstract Copy all propagatable attachments from one buffer to another.
- @discussion CVBufferPropagateAttachments is a convenience call that copies all attachments with a mode of kCVAttachmentMode_ShouldPropagate from one
- buffer to another.
- @param sourceBuffer CVBuffer to copy attachments from.
- @param destinationBuffer CVBuffer to copy attachments to.
- */
- CV_EXPORT void CVBufferPropagateAttachments(CVBufferRef sourceBuffer, CVBufferRef destinationBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/*!
+ @function CVBufferSetAttachment
+ @abstract Sets or adds a attachment of a CVBuffer object
+ @discussion You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment stores an attachement identified by a key. If the key doesn't exist, the attachment will be added. If the key does exist, the existing attachment will be replaced. In bouth cases the retain count of the attachment will be incremented. The value can be any CFType but nil has no defined behavior.
+ @param buffer Target CVBuffer object.
+ @param key Key in form of a CFString identifying the desired attachment.
+ @param value Attachment in form af a CF object.
+ @param attachmentMode Specifies which attachment mode is desired for this attachment. A particular attachment key may only exist in
+ a single mode at a time.
+*/
+CV_EXPORT void CVBufferSetAttachment(CVBufferRef buffer, CFStringRef key, CFTypeRef value, CVAttachmentMode attachmentMode) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+
+/*!
+ @function CVBufferGetAttachment
+ @abstract Returns a specific attachment of a CVBuffer object
+ @discussion You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment retrieves an attachement identified by a key.
+ @param buffer Target CVBuffer object.
+ @param key Key in form of a CFString identifying the desired attachment.
+ @param attachmentMode. Returns the mode of the attachment, if desired. May be NULL.
+ @result If found the attachment object
+*/
+CV_EXPORT CFTypeRef CVBufferGetAttachment(CVBufferRef buffer, CFStringRef key, CVAttachmentMode *attachmentMode) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVBufferRemoveAttachment
+ @abstract Removes a specific attachment of a CVBuffer object
+ @discussion CVBufferRemoveAttachment removes an attachement identified by a key. If found the attachement is removed and the retain count decremented.
+ @param buffer Target CVBuffer object.
+ @param key Key in form of a CFString identifying the desired attachment.
+*/
+CV_EXPORT void CVBufferRemoveAttachment(CVBufferRef buffer, CFStringRef key) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVBufferRemoveAllAttachments
+ @abstract Removes all attachments of a CVBuffer object
+ @discussion While CVBufferRemoveAttachment removes a specific attachement identified by a key CVBufferRemoveAllAttachments removes all attachments of a buffer and decrements their retain counts.
+ @param buffer Target CVBuffer object.
+*/
+CV_EXPORT void CVBufferRemoveAllAttachments(CVBufferRef buffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVBufferGetAttachments
+ @abstract Returns all attachments of a CVBuffer object
+ @discussion CVBufferGetAttachments is a convenience call that returns all attachments with their corresponding keys in a CFDictionary.
+ @param buffer Target CVBuffer object.
+ @result A CFDictionary with all buffer attachments identified by there keys. If no attachment is present, the dictionary is empty. Returns NULL
+ for invalid attachment mode.
+*/
+CV_EXPORT CFDictionaryRef CVBufferGetAttachments(CVBufferRef buffer, CVAttachmentMode attachmentMode) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVBufferSetAttachments
+ @abstract Sets a set of attachments for a CVBuffer
+ @discussion CVBufferSetAttachments is a convenience call that in turn calls CVBufferSetAttachment for each key and value in the given dictionary. All key value pairs must be in the root level of the dictionary.
+ @param buffer Target CVBuffer object.
+*/
+CV_EXPORT void CVBufferSetAttachments(CVBufferRef buffer, CFDictionaryRef theAttachments, CVAttachmentMode attachmentMode) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVBufferPropagateAttachments
+ @abstract Copy all propagatable attachments from one buffer to another.
+ @discussion CVBufferPropagateAttachments is a convenience call that copies all attachments with a mode of kCVAttachmentMode_ShouldPropagate from one
+ buffer to another.
+ @param sourceBuffer CVBuffer to copy attachments from.
+ @param destinationBuffer CVBuffer to copy attachments to.
+*/
+CV_EXPORT void CVBufferPropagateAttachments(CVBufferRef sourceBuffer, CVBufferRef destinationBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#if defined(__cplusplus)
}
diff --git a/include/qt/CVDirect3DBuffer.h b/include/qt/CVDirect3DBuffer.h
index 7df37f1f1..6bc18c701 100644
--- a/include/qt/CVDirect3DBuffer.h
+++ b/include/qt/CVDirect3DBuffer.h
@@ -5,11 +5,11 @@
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
*
*/
-
-/*! @header CVDirect3DBuffer.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
- @discussion A CoreVideo buffer derives from a generic buffer and can be an ImageBuffer or PixelBuffer.
-
+
+ /*! @header CVDirect3DBuffer.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @discussion A CoreVideo buffer derives from a generic buffer and can be an ImageBuffer or PixelBuffer.
+
*/
#if !defined(__COREVIDEO_CVDIRECT3DBUFFER_H__)
@@ -27,45 +27,45 @@ extern "C" {
#define kCVDirect3DBufferInternalFormat CFSTR("Direct3DInternalFormat")
#define kCVDirect3DBufferMaximumMipmapLevel CFSTR("MaximumMipmapLevel")
- typedef CVImageBufferRef CVDirect3DBufferRef;
+typedef CVImageBufferRef CVDirect3DBufferRef;
- CV_EXPORT CFTypeID CVDirect3DBufferGetTypeID();
+CV_EXPORT CFTypeID CVDirect3DBufferGetTypeID();
- /*!
- @function CVDirect3DBufferRetain
- @abstract Retains a CVDirect3DBuffer object
- @discussion Equivalent to CFRetain, but NULL safe
- @param buffer A CVDirect3DBuffer object that you want to retain.
- @result A CVDirect3DBuffer object that is the same as the passed in buffer.
- */
- CV_EXPORT CVDirect3DBufferRef CVDirect3DBufferRetain(CVDirect3DBufferRef texture);
+/*!
+ @function CVDirect3DBufferRetain
+ @abstract Retains a CVDirect3DBuffer object
+ @discussion Equivalent to CFRetain, but NULL safe
+ @param buffer A CVDirect3DBuffer object that you want to retain.
+ @result A CVDirect3DBuffer object that is the same as the passed in buffer.
+*/
+CV_EXPORT CVDirect3DBufferRef CVDirect3DBufferRetain( CVDirect3DBufferRef texture );
- /*!
- @function CVDirect3DBufferRelease
- @abstract Releases a CVDirect3DBuffer object
- @discussion Equivalent to CFRelease, but NULL safe
- @param buffer A CVDirect3DBuffer object that you want to release.
- */
- CV_EXPORT void CVDirect3DBufferRelease(CVDirect3DBufferRef texture);
+/*!
+ @function CVDirect3DBufferRelease
+ @abstract Releases a CVDirect3DBuffer object
+ @discussion Equivalent to CFRelease, but NULL safe
+ @param buffer A CVDirect3DBuffer object that you want to release.
+*/
+CV_EXPORT void CVDirect3DBufferRelease( CVDirect3DBufferRef texture );
- /*!
- @function CVDirect3DBufferCreate
- @abstract Create a new CVDirect3DBuffer that may be used for D3D rendering purposes
- @param width The width of the buffer in pixels
- @param height The height of the buffer in pixels
- @param attributes A CFDictionaryRef containing other desired attributes of the buffer (texture format, max mipmap level, etc.).
- May be NULL.
- @param bufferOut The newly created buffer will be placed here.
- @result kCVReturnSuccess if the attachment succeeded
- */
- CV_EXPORT CVReturn CVDirect3DBufferCreate(CFAllocatorRef allocator, size_t width, size_t height, void *d3dDevice, CFDictionaryRef attributes, CVDirect3DBufferRef *bufferOut);
+/*!
+ @function CVDirect3DBufferCreate
+ @abstract Create a new CVDirect3DBuffer that may be used for D3D rendering purposes
+ @param width The width of the buffer in pixels
+ @param height The height of the buffer in pixels
+ @param attributes A CFDictionaryRef containing other desired attributes of the buffer (texture format, max mipmap level, etc.).
+ May be NULL.
+ @param bufferOut The newly created buffer will be placed here.
+ @result kCVReturnSuccess if the attachment succeeded
+*/
+CV_EXPORT CVReturn CVDirect3DBufferCreate(CFAllocatorRef allocator, size_t width, size_t height, void *d3dDevice, CFDictionaryRef attributes, CVDirect3DBufferRef *bufferOut);
- /*!
- @function CVDirect3DBufferGetAttributes
- @param openGLBuffer Target D3D Buffer.
- @result CVDirect3DBuffer attributes dictionary, NULL if not set.
- */
- CV_EXPORT CFDictionaryRef CVDirect3DBufferGetAttributes(CVDirect3DBufferRef d3DBuffer);
+/*!
+ @function CVDirect3DBufferGetAttributes
+ @param openGLBuffer Target D3D Buffer.
+ @result CVDirect3DBuffer attributes dictionary, NULL if not set.
+*/
+CV_EXPORT CFDictionaryRef CVDirect3DBufferGetAttributes(CVDirect3DBufferRef d3DBuffer);
#if defined(__cplusplus)
diff --git a/include/qt/CVDirect3DBufferPool.h b/include/qt/CVDirect3DBufferPool.h
index defebed65..7033300ad 100644
--- a/include/qt/CVDirect3DBufferPool.h
+++ b/include/qt/CVDirect3DBufferPool.h
@@ -7,10 +7,10 @@
*
*/
-/*! @header CVDirect3DBufferPool.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
- @discussion CVDirect3DBufferPool is a utility object for managing a set of CVDirect3DBuffer objects that are going to be recycled.
-
+ /*! @header CVDirect3DBufferPool.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @discussion CVDirect3DBufferPool is a utility object for managing a set of CVDirect3DBuffer objects that are going to be recycled.
+
*/
#if !defined(__COREVIDEO__CVDIRECT3DBUFFERPOOL_H__)
@@ -24,77 +24,77 @@
extern "C" {
#endif
- typedef struct __CVDirect3DBufferPool *CVDirect3DBufferPoolRef;
+typedef struct __CVDirect3DBufferPool *CVDirect3DBufferPoolRef;
#define kCVDirect3DBufferPoolMinimumBufferCountKey CFSTR("MinimumBufferCount")
#define kCVDirect3DBufferPoolMaximumBufferAgeKey CFSTR("MaximumBufferAge")
- CV_EXPORT CFTypeID CVDirect3DBufferPoolGetTypeID();
-
- /*!
- @function CVDirect3DBufferPoolRetain
- @abstract Retains a CVDirect3DBufferPoolRef object
- @discussion Equivalent to CFRetain, but NULL safe
- @param buffer A CVDirect3DBufferPoolRef object that you want to retain.
- @result A CVDirect3DBufferPoolRef object that is the same as the passed in buffer.
- */
- CV_EXPORT CVDirect3DBufferPoolRef CVDirect3DBufferPoolRetain(CVDirect3DBufferPoolRef pixelBufferPool); // NULL-safe
-
- /*!
- @function CVDirect3DBufferPoolRelease
- @abstract Releases a CVDirect3DBufferPoolRef object
- @discussion Equivalent to CFRelease, but NULL safe
- @param buffer A CVDirect3DBufferPoolRef object that you want to release.
- */
- CV_EXPORT void CVDirect3DBufferPoolRelease(CVDirect3DBufferPoolRef pixelBufferPool); // NULL-safe
+CV_EXPORT CFTypeID CVDirect3DBufferPoolGetTypeID();
- /*!
- @function CVDirect3DBufferPoolCreate
- @abstract Creates a new Pixel Buffer pool.
- @discussion Equivalent to CFRelease, but NULL safe
- @param allocator The CFAllocatorRef to use for allocating this buffer pool. May be NULL.
- @param poolAttributes A CFDictionaryRef containing the attributes to be used for the pool itself.
- @param pixelBufferAttributes A CFDictionaryRef containing the attributes to be used for creating new D3DBuffers within the pool.
- @param d3dDevice the LPDIRECT3DDEVICE9 to be used for allocation of buffers for this pool
- @param poolOut The newly created pool will be placed here
- @result Returns kCVReturnSuccess on success
- */
- CV_EXPORT CVReturn CVDirect3DBufferPoolCreate(CFAllocatorRef allocator,
- CFDictionaryRef poolAttributes,
- CFDictionaryRef pixelBufferAttributes,
- void *d3dDevice,
- CVDirect3DBufferPoolRef *poolOut);
-
- /*!
- @function CVDirect3DBufferPoolGetAttributes
- @abstract Returns the pool attributes dictionary for a CVDirect3DBufferPool
- @param pool The CVDirect3DBufferPoolRef to retrieve the attributes from
- @result Returns the pool attributes dictionary, or NULL on failure.
- */
- CV_EXPORT CFDictionaryRef CVDirect3DBufferPoolGetAttributes(CVDirect3DBufferPoolRef pool);
-
- /*!
- @function CVDirect3DBufferPoolGetDirect3DBufferAttributes
- @abstract Returns the attributes of pixel buffers that will be created from this pool.
- @discussion This function is provided for those cases where you may need to know some information about the buffers that
- will be created up front.
- @param pool The CVDirect3DBufferPoolRef to retrieve the attributes from
- @result Returns the pixel buffer attributes dictionary, or NULL on failure.
- */
- CV_EXPORT CFDictionaryRef CVDirect3DBufferPoolGetDirect3DBufferAttributes(CVDirect3DBufferPoolRef pool);
+/*!
+ @function CVDirect3DBufferPoolRetain
+ @abstract Retains a CVDirect3DBufferPoolRef object
+ @discussion Equivalent to CFRetain, but NULL safe
+ @param buffer A CVDirect3DBufferPoolRef object that you want to retain.
+ @result A CVDirect3DBufferPoolRef object that is the same as the passed in buffer.
+*/
+CV_EXPORT CVDirect3DBufferPoolRef CVDirect3DBufferPoolRetain( CVDirect3DBufferPoolRef pixelBufferPool ); // NULL-safe
- /*!
- @function CVDirect3DBufferPoolCreateDirect3DBuffer
- @abstract Creates a new D3DBuffer object from the pool.
- @discussion The function creates a new (attachment-free) CVDirect3DBuffer using the pixel buffer attributes specifed during pool creation.
- @param allocator The CFAllocatorRef to use for creating the pixel buffer. May be NULL.
- @param pool The CVDirect3DBufferPool that should create the new CVDirect3DBuffer.
- @param pixelBufferOut The newly created pixel buffer will be placed here
- @result Returns kCVReturnSuccess on success
- */
- CV_EXPORT CVReturn CVDirect3DBufferPoolCreateDirect3DBuffer(CFAllocatorRef allocator,
- CVDirect3DBufferPoolRef pixelBufferPool,
- CVDirect3DBufferRef *pixelBufferOut);
+/*!
+ @function CVDirect3DBufferPoolRelease
+ @abstract Releases a CVDirect3DBufferPoolRef object
+ @discussion Equivalent to CFRelease, but NULL safe
+ @param buffer A CVDirect3DBufferPoolRef object that you want to release.
+*/
+CV_EXPORT void CVDirect3DBufferPoolRelease( CVDirect3DBufferPoolRef pixelBufferPool ); // NULL-safe
+
+/*!
+ @function CVDirect3DBufferPoolCreate
+ @abstract Creates a new Pixel Buffer pool.
+ @discussion Equivalent to CFRelease, but NULL safe
+ @param allocator The CFAllocatorRef to use for allocating this buffer pool. May be NULL.
+ @param poolAttributes A CFDictionaryRef containing the attributes to be used for the pool itself.
+ @param pixelBufferAttributes A CFDictionaryRef containing the attributes to be used for creating new D3DBuffers within the pool.
+ @param d3dDevice the LPDIRECT3DDEVICE9 to be used for allocation of buffers for this pool
+ @param poolOut The newly created pool will be placed here
+ @result Returns kCVReturnSuccess on success
+*/
+CV_EXPORT CVReturn CVDirect3DBufferPoolCreate(CFAllocatorRef allocator,
+ CFDictionaryRef poolAttributes,
+ CFDictionaryRef pixelBufferAttributes,
+ void *d3dDevice,
+ CVDirect3DBufferPoolRef *poolOut);
+
+/*!
+ @function CVDirect3DBufferPoolGetAttributes
+ @abstract Returns the pool attributes dictionary for a CVDirect3DBufferPool
+ @param pool The CVDirect3DBufferPoolRef to retrieve the attributes from
+ @result Returns the pool attributes dictionary, or NULL on failure.
+*/
+CV_EXPORT CFDictionaryRef CVDirect3DBufferPoolGetAttributes(CVDirect3DBufferPoolRef pool);
+
+/*!
+ @function CVDirect3DBufferPoolGetDirect3DBufferAttributes
+ @abstract Returns the attributes of pixel buffers that will be created from this pool.
+ @discussion This function is provided for those cases where you may need to know some information about the buffers that
+ will be created up front.
+ @param pool The CVDirect3DBufferPoolRef to retrieve the attributes from
+ @result Returns the pixel buffer attributes dictionary, or NULL on failure.
+*/
+CV_EXPORT CFDictionaryRef CVDirect3DBufferPoolGetDirect3DBufferAttributes(CVDirect3DBufferPoolRef pool);
+
+/*!
+ @function CVDirect3DBufferPoolCreateDirect3DBuffer
+ @abstract Creates a new D3DBuffer object from the pool.
+ @discussion The function creates a new (attachment-free) CVDirect3DBuffer using the pixel buffer attributes specifed during pool creation.
+ @param allocator The CFAllocatorRef to use for creating the pixel buffer. May be NULL.
+ @param pool The CVDirect3DBufferPool that should create the new CVDirect3DBuffer.
+ @param pixelBufferOut The newly created pixel buffer will be placed here
+ @result Returns kCVReturnSuccess on success
+*/
+CV_EXPORT CVReturn CVDirect3DBufferPoolCreateDirect3DBuffer(CFAllocatorRef allocator,
+ CVDirect3DBufferPoolRef pixelBufferPool,
+ CVDirect3DBufferRef *pixelBufferOut);
#if defined(__cplusplus)
}
diff --git a/include/qt/CVDirect3DTexture.h b/include/qt/CVDirect3DTexture.h
index fa25a97cc..3435558b3 100644
--- a/include/qt/CVDirect3DTexture.h
+++ b/include/qt/CVDirect3DTexture.h
@@ -5,11 +5,11 @@
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
*
*/
-
-/*! @header CVDirect3DTexture.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
- @discussion A CoreVideo Texture derives from an ImageBuffer, and is used for supplying source image data to Direct3D.
-
+
+ /*! @header CVDirect3DTexture.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @discussion A CoreVideo Texture derives from an ImageBuffer, and is used for supplying source image data to Direct3D.
+
*/
#if !defined(__COREVIDEO_CVDIRECT3DTEXTURE_H__)
@@ -25,64 +25,64 @@ extern "C" {
#pragma mark CVDirect3DTexture
- /*!
- @typedef CVDirect3DTextureRef
- @abstract Direct3D texture based image buffer
-
- */
- typedef CVImageBufferRef CVDirect3DTextureRef;
+/*!
+ @typedef CVDirect3DTextureRef
+ @abstract Direct3D texture based image buffer
- CV_EXPORT CFTypeID CVDirect3DTextureGetTypeID();
+*/
+typedef CVImageBufferRef CVDirect3DTextureRef;
- /*!
- @function CVDirect3DTextureRetain
- @abstract Retains a CVDirect3DTexture object
- @discussion Equivalent to CFRetain, but NULL safe
- @param buffer A CVDirect3DTexture object that you want to retain.
- @result A CVDirect3DTexture object that is the same as the passed in buffer.
- */
- CV_EXPORT CVDirect3DTextureRef CVDirect3DTextureRetain(CVDirect3DTextureRef texture);
+CV_EXPORT CFTypeID CVDirect3DTextureGetTypeID();
- /*!
- @function CVDirect3DTextureRelease
- @abstract Releases a CVDirect3DTexture object
- @discussion Equivalent to CFRelease, but NULL safe
- @param buffer A CVDirect3DTexture object that you want to release.
- */
- CV_EXPORT void CVDirect3DTextureRelease(CVDirect3DTextureRef texture);
+/*!
+ @function CVDirect3DTextureRetain
+ @abstract Retains a CVDirect3DTexture object
+ @discussion Equivalent to CFRetain, but NULL safe
+ @param buffer A CVDirect3DTexture object that you want to retain.
+ @result A CVDirect3DTexture object that is the same as the passed in buffer.
+*/
+CV_EXPORT CVDirect3DTextureRef CVDirect3DTextureRetain( CVDirect3DTextureRef texture );
- /*!
- @function CVDirect3DTextureGetName
- @abstract Returns the raw texture associated with the CVDirect3DTexture
- @param image Target CVDirect3DTexture
- @result an LPDIRECT3DTEXTURE9 pointing to the texture
- */
- CV_EXPORT void* CVDirect3DTextureGetName(CVDirect3DTextureRef image);
+/*!
+ @function CVDirect3DTextureRelease
+ @abstract Releases a CVDirect3DTexture object
+ @discussion Equivalent to CFRelease, but NULL safe
+ @param buffer A CVDirect3DTexture object that you want to release.
+*/
+CV_EXPORT void CVDirect3DTextureRelease( CVDirect3DTextureRef texture );
- /*!
- @function CVDirect3DTextureIsFlipped
- @abstract Returns whether the image is flipped vertically or not.
- @param image Target CVDirect3DTexture
- @result True if 0,0 in the texture is upper left, false if 0,0 is lower left
- */
- CV_EXPORT Boolean CVDirect3DTextureIsFlipped(CVDirect3DTextureRef image);
+/*!
+ @function CVDirect3DTextureGetName
+ @abstract Returns the raw texture associated with the CVDirect3DTexture
+ @param image Target CVDirect3DTexture
+ @result an LPDIRECT3DTEXTURE9 pointing to the texture
+*/
+CV_EXPORT void* CVDirect3DTextureGetName( CVDirect3DTextureRef image);
- /*!
- @function CVDirect3DTextureGetCleanTexCoords
- @abstract Returns convenient texture coordinates for the part of the image that should be displayed
- @discussion This function automatically takes into account whether or not the texture is flipped. It returns
- texture coordinate values from 0.0 to 1.0 ready for use in a Direct3D VertexBuffer.
- @param image Target CVDirect3DTexture
- @param lowerLeft - array of two floats where the s and t texture coordinates of the lower left corner of the image will be stored
- @param lowerRight - array of two floats where the s and t texture coordinates of the lower right corner of the image will be stored
- @param upperRight - array of two floats where the s and t texture coordinates of the upper right corner of the image will be stored
- @param upperLeft - array of two floats where the s and t texture coordinates of the upper right corner of the image will be stored
- */
- CV_EXPORT void CVDirect3DTextureGetCleanTexCoords(CVDirect3DTextureRef image,
- float lowerLeft[2],
- float lowerRight[2],
- float upperRight[2],
- float upperLeft[2]);
+/*!
+ @function CVDirect3DTextureIsFlipped
+ @abstract Returns whether the image is flipped vertically or not.
+ @param image Target CVDirect3DTexture
+ @result True if 0,0 in the texture is upper left, false if 0,0 is lower left
+*/
+CV_EXPORT Boolean CVDirect3DTextureIsFlipped( CVDirect3DTextureRef image);
+
+/*!
+ @function CVDirect3DTextureGetCleanTexCoords
+ @abstract Returns convenient texture coordinates for the part of the image that should be displayed
+ @discussion This function automatically takes into account whether or not the texture is flipped. It returns
+ texture coordinate values from 0.0 to 1.0 ready for use in a Direct3D VertexBuffer.
+ @param image Target CVDirect3DTexture
+ @param lowerLeft - array of two floats where the s and t texture coordinates of the lower left corner of the image will be stored
+ @param lowerRight - array of two floats where the s and t texture coordinates of the lower right corner of the image will be stored
+ @param upperRight - array of two floats where the s and t texture coordinates of the upper right corner of the image will be stored
+ @param upperLeft - array of two floats where the s and t texture coordinates of the upper right corner of the image will be stored
+*/
+CV_EXPORT void CVDirect3DTextureGetCleanTexCoords( CVDirect3DTextureRef image,
+ float lowerLeft[2],
+ float lowerRight[2],
+ float upperRight[2],
+ float upperLeft[2]);
#if defined(__cplusplus)
}
diff --git a/include/qt/CVDirect3DTextureCache.h b/include/qt/CVDirect3DTextureCache.h
index 137c79923..c246f78ca 100644
--- a/include/qt/CVDirect3DTextureCache.h
+++ b/include/qt/CVDirect3DTextureCache.h
@@ -18,76 +18,76 @@
extern "C" {
#endif
- /*!
- @typedef CVDirect3DTextureCacheRef
- @abstract CoreVideo Direct3D Texture Cache
+/*!
+ @typedef CVDirect3DTextureCacheRef
+ @abstract CoreVideo Direct3D Texture Cache
- */
- typedef struct __CVDirect3DTextureCache *CVDirect3DTextureCacheRef;
+*/
+typedef struct __CVDirect3DTextureCache *CVDirect3DTextureCacheRef;
- CV_EXPORT CFTypeID CVDirect3DTextureCacheGetTypeID();
+CV_EXPORT CFTypeID CVDirect3DTextureCacheGetTypeID();
- /*!
- @function CVDirect3DTextureCacheRetain
- @abstract Retains a CVDirect3DTextureCache object
- @discussion Equivalent to CFRetain, but NULL safe
- @param buffer A CVDirect3DTextureCache object that you want to retain.
- @result A CVDirect3DTextureCache object that is the same as the passed in buffer.
- */
- CV_EXPORT CVDirect3DTextureCacheRef CVDirect3DTextureCacheRetain(CVDirect3DTextureCacheRef textureCache); // NULL-safe
+/*!
+ @function CVDirect3DTextureCacheRetain
+ @abstract Retains a CVDirect3DTextureCache object
+ @discussion Equivalent to CFRetain, but NULL safe
+ @param buffer A CVDirect3DTextureCache object that you want to retain.
+ @result A CVDirect3DTextureCache object that is the same as the passed in buffer.
+*/
+CV_EXPORT CVDirect3DTextureCacheRef CVDirect3DTextureCacheRetain( CVDirect3DTextureCacheRef textureCache ); // NULL-safe
- /*!
- @function CVDirect3DTextureCacheRelease
- @abstract Releases a CVDirect3DTextureCache object
- @discussion Equivalent to CFRelease, but NULL safe
- @param buffer A CVDirect3DTextureCache object that you want to release.
- */
- CV_EXPORT void CVDirect3DTextureCacheRelease(CVDirect3DTextureCacheRef textureCache); // NULL-safe
+/*!
+ @function CVDirect3DTextureCacheRelease
+ @abstract Releases a CVDirect3DTextureCache object
+ @discussion Equivalent to CFRelease, but NULL safe
+ @param buffer A CVDirect3DTextureCache object that you want to release.
+*/
+CV_EXPORT void CVDirect3DTextureCacheRelease( CVDirect3DTextureCacheRef textureCache ); // NULL-safe
- /*!
- @function CVDirect3DTextureCacheCreate
- @abstract Creates a new Texture Cache.
- @param allocator The CFAllocatorRef to use for allocating the cache. May be NULL.
- @param cacheAttributes A CFDictionaryRef containing the attributes of the cache itself. May be NULL.
- @param cglContext The D3D context into which the texture objects will be created
- @param cglPixelFormat The D3D pixel format object used to create the passed in D3D context
- @param textureAttributes A CFDictionaryRef containing the attributes to be used for creating the CVDirect3DTexture objects. May be NULL.
- @param cacheOut The newly created texture cache will be placed here
- @result Returns kCVReturnSuccess on success
- */
- CV_EXPORT CVReturn CVDirect3DTextureCacheCreate(
- CFAllocatorRef allocator,
- CFDictionaryRef cacheAttributes,
- void *d3dDevice, /*CVDIRECT3DDEVICE*/
- UInt32 d3dFormat, /*D3DFORMAT*/
- CFDictionaryRef textureAttributes,
- CVDirect3DTextureCacheRef *cacheOut);
+/*!
+ @function CVDirect3DTextureCacheCreate
+ @abstract Creates a new Texture Cache.
+ @param allocator The CFAllocatorRef to use for allocating the cache. May be NULL.
+ @param cacheAttributes A CFDictionaryRef containing the attributes of the cache itself. May be NULL.
+ @param cglContext The D3D context into which the texture objects will be created
+ @param cglPixelFormat The D3D pixel format object used to create the passed in D3D context
+ @param textureAttributes A CFDictionaryRef containing the attributes to be used for creating the CVDirect3DTexture objects. May be NULL.
+ @param cacheOut The newly created texture cache will be placed here
+ @result Returns kCVReturnSuccess on success
+*/
+CV_EXPORT CVReturn CVDirect3DTextureCacheCreate(
+ CFAllocatorRef allocator,
+ CFDictionaryRef cacheAttributes,
+ void *d3dDevice, /*CVDIRECT3DDEVICE*/
+ UInt32 d3dFormat, /*D3DFORMAT*/
+ CFDictionaryRef textureAttributes,
+ CVDirect3DTextureCacheRef *cacheOut);
- /*!
- @function CVDirect3DTextureCacheCreateTextureFromImage
- @abstract Creates a CVDirect3DTexture object from an existing CVImageBuffer
- @param allocator The CFAllocatorRef to use for allocating the CVDirect3DTexture object. May be NULL.
- @param sourceImage The CVImageBuffer that you want to create a CVDirect3DTexture from.
- @param attribuse The desired buffer attributes for the CVDirect3DTexture.
- @param textureOut The newly created texture object will be placed here.
- @result Returns kCVReturnSuccess on success
- */
- CV_EXPORT CVReturn CVDirect3DTextureCacheCreateTextureFromImage(CFAllocatorRef allocator,
- CVDirect3DTextureCacheRef textureCache,
- CVImageBufferRef sourceImage,
- CFDictionaryRef *attribs,
- CVDirect3DTextureRef *textureOut);
+/*!
+ @function CVDirect3DTextureCacheCreateTextureFromImage
+ @abstract Creates a CVDirect3DTexture object from an existing CVImageBuffer
+ @param allocator The CFAllocatorRef to use for allocating the CVDirect3DTexture object. May be NULL.
+ @param sourceImage The CVImageBuffer that you want to create a CVDirect3DTexture from.
+ @param attribuse The desired buffer attributes for the CVDirect3DTexture.
+ @param textureOut The newly created texture object will be placed here.
+ @result Returns kCVReturnSuccess on success
+*/
+CV_EXPORT CVReturn CVDirect3DTextureCacheCreateTextureFromImage(CFAllocatorRef allocator,
+ CVDirect3DTextureCacheRef textureCache,
+ CVImageBufferRef sourceImage,
+ CFDictionaryRef *attribs,
+ CVDirect3DTextureRef *textureOut);
- /*!
- @function CVDirect3DTextureCacheFlush
- @abstract Performs internal housekeeping/recycling operations
- @discussion This call must be made periodically to give the texture cache a chance to make D3D calls
- on the Direct3D context used to create it in order to do housekeeping operations.
- @param textureCache The texture cache object to flush
- @param options Currently unused, set to 0.
- @result Returns kCVReturnSuccess on success
- */
- CV_EXPORT void CVDirect3DTextureCacheFlush(CVDirect3DTextureCacheRef textureCache, CVOptionFlags options);
+/*!
+ @function CVDirect3DTextureCacheFlush
+ @abstract Performs internal housekeeping/recycling operations
+ @discussion This call must be made periodically to give the texture cache a chance to make D3D calls
+ on the Direct3D context used to create it in order to do housekeeping operations.
+ @param textureCache The texture cache object to flush
+ @param options Currently unused, set to 0.
+ @result Returns kCVReturnSuccess on success
+*/
+CV_EXPORT void CVDirect3DTextureCacheFlush(CVDirect3DTextureCacheRef textureCache, CVOptionFlags options);
#if defined(__cplusplus)
}
diff --git a/include/qt/CVHostTime.h b/include/qt/CVHostTime.h
index 087718beb..0824337e2 100644
--- a/include/qt/CVHostTime.h
+++ b/include/qt/CVHostTime.h
@@ -5,11 +5,11 @@
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
*
*/
-
-/*! @header CVHostTime.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
-@availability Mac OS X 10.4 or later
- @discussion Utility functions for retrieving and working with the host time.
+
+ /*! @header CVHostTime.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @availability Mac OS X 10.4 or later
+ @discussion Utility functions for retrieving and working with the host time.
*/
#if !defined(__COREVIDEO_CVHOSTTIME_H__)
@@ -27,30 +27,30 @@
extern "C" {
#endif
- /*!
- @function CVGetCurrentHostTime
- @abstract Retrieve the current value of the host time base.
- @discussion On Mac OS X, the host time base for CoreVideo and CoreAudio are identical, and the values returned from either API
- may be used interchangeably.
- @result The current host time.
- */
- extern uint64_t CVGetCurrentHostTime() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVGetHostClockFrequency
- @abstract Retrieve the frequency of the host time base.
- @discussion On Mac OS X, the host time base for CoreVideo and CoreAudio are identical, and the values returned from either API
- may be used interchangeably.
- @result The current host frequency.
- */
- extern double CVGetHostClockFrequency() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVGetHostClockMinimumTimeDelta
- @abstract Retrieve the smallest possible increment in the host time base.
- @result The smallest valid increment in the host time base.
- */
- extern uint32_t CVGetHostClockMinimumTimeDelta() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/*!
+ @function CVGetCurrentHostTime
+ @abstract Retrieve the current value of the host time base.
+ @discussion On Mac OS X, the host time base for CoreVideo and CoreAudio are identical, and the values returned from either API
+ may be used interchangeably.
+ @result The current host time.
+*/
+extern uint64_t CVGetCurrentHostTime() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVGetHostClockFrequency
+ @abstract Retrieve the frequency of the host time base.
+ @discussion On Mac OS X, the host time base for CoreVideo and CoreAudio are identical, and the values returned from either API
+ may be used interchangeably.
+ @result The current host frequency.
+*/
+extern double CVGetHostClockFrequency() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVGetHostClockMinimumTimeDelta
+ @abstract Retrieve the smallest possible increment in the host time base.
+ @result The smallest valid increment in the host time base.
+*/
+extern uint32_t CVGetHostClockMinimumTimeDelta() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#if defined(__cplusplus)
}
diff --git a/include/qt/CVImageBuffer.h b/include/qt/CVImageBuffer.h
index 5cee8f137..a103593f4 100644
--- a/include/qt/CVImageBuffer.h
+++ b/include/qt/CVImageBuffer.h
@@ -5,13 +5,13 @@
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
*
*/
-
-/*! @header CVImageBuffer.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
-@availability Mac OS X 10.4 or later
- @discussion CVImageBufferRef types are abstract and define various attachments and convenience
- calls for retreiving image related bits of data.
-
+
+ /*! @header CVImageBuffer.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @availability Mac OS X 10.4 or later
+ @discussion CVImageBufferRef types are abstract and define various attachments and convenience
+ calls for retreiving image related bits of data.
+
*/
#if !defined(__COREVIDEO_CVIMAGEBUFFER_H__)
@@ -35,35 +35,35 @@ extern "C" {
#pragma mark CVImageBufferRef attachment keys
#if TARGET_OS_MAC
- CV_EXPORT const CFStringRef kCVImageBufferCGColorSpaceKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CGColorSpaceRef
-
- CV_EXPORT const CFStringRef kCVImageBufferCleanApertureKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionary containing the following four keys
- CV_EXPORT const CFStringRef kCVImageBufferCleanApertureWidthKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVImageBufferCleanApertureHeightKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVImageBufferCleanApertureHorizontalOffsetKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVImageBufferCleanApertureVerticalOffsetKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVImageBufferPreferredCleanApertureKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionary containing same keys as kCVImageBufferCleanApertureKey
-
- CV_EXPORT const CFStringRef kCVImageBufferFieldCountKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVImageBufferFieldDetailKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString with one of the following four values
- CV_EXPORT const CFStringRef kCVImageBufferFieldDetailTemporalTopFirst AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
- CV_EXPORT const CFStringRef kCVImageBufferFieldDetailTemporalBottomFirst AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
- CV_EXPORT const CFStringRef kCVImageBufferFieldDetailSpatialFirstLineEarly AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
- CV_EXPORT const CFStringRef kCVImageBufferFieldDetailSpatialFirstLineLate AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
-
- CV_EXPORT const CFStringRef kCVImageBufferPixelAspectRatioKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionary with the following two keys
- CV_EXPORT const CFStringRef kCVImageBufferPixelAspectRatioHorizontalSpacingKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVImageBufferPixelAspectRatioVerticalSpacingKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
-
- CV_EXPORT const CFStringRef kCVImageBufferDisplayDimensionsKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionary with the following two keys
- CV_EXPORT const CFStringRef kCVImageBufferDisplayWidthKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVImageBufferDisplayHeightKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
-
- CV_EXPORT const CFStringRef kCVImageBufferGammaLevelKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber describing the gamma level
- CV_EXPORT const CFStringRef kCVImageBufferYCbCrMatrixKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString describing the color matrix for YCbCr->RGB. This key can be one of the following values:
- CV_EXPORT const CFStringRef kCVImageBufferYCbCrMatrix_ITU_R_709_2 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
- CV_EXPORT const CFStringRef kCVImageBufferYCbCrMatrix_ITU_R_601_4 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
- CV_EXPORT const CFStringRef kCVImageBufferYCbCrMatrix_SMPTE_240M_1995 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
+CV_EXPORT const CFStringRef kCVImageBufferCGColorSpaceKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CGColorSpaceRef
+
+CV_EXPORT const CFStringRef kCVImageBufferCleanApertureKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionary containing the following four keys
+CV_EXPORT const CFStringRef kCVImageBufferCleanApertureWidthKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVImageBufferCleanApertureHeightKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVImageBufferCleanApertureHorizontalOffsetKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVImageBufferCleanApertureVerticalOffsetKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVImageBufferPreferredCleanApertureKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionary containing same keys as kCVImageBufferCleanApertureKey
+
+CV_EXPORT const CFStringRef kCVImageBufferFieldCountKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVImageBufferFieldDetailKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString with one of the following four values
+CV_EXPORT const CFStringRef kCVImageBufferFieldDetailTemporalTopFirst AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
+CV_EXPORT const CFStringRef kCVImageBufferFieldDetailTemporalBottomFirst AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
+CV_EXPORT const CFStringRef kCVImageBufferFieldDetailSpatialFirstLineEarly AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
+CV_EXPORT const CFStringRef kCVImageBufferFieldDetailSpatialFirstLineLate AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
+
+CV_EXPORT const CFStringRef kCVImageBufferPixelAspectRatioKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionary with the following two keys
+CV_EXPORT const CFStringRef kCVImageBufferPixelAspectRatioHorizontalSpacingKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVImageBufferPixelAspectRatioVerticalSpacingKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+
+CV_EXPORT const CFStringRef kCVImageBufferDisplayDimensionsKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFDictionary with the following two keys
+CV_EXPORT const CFStringRef kCVImageBufferDisplayWidthKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVImageBufferDisplayHeightKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+
+CV_EXPORT const CFStringRef kCVImageBufferGammaLevelKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber describing the gamma level
+CV_EXPORT const CFStringRef kCVImageBufferYCbCrMatrixKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString describing the color matrix for YCbCr->RGB. This key can be one of the following values:
+CV_EXPORT const CFStringRef kCVImageBufferYCbCrMatrix_ITU_R_709_2 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
+CV_EXPORT const CFStringRef kCVImageBufferYCbCrMatrix_ITU_R_601_4 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
+CV_EXPORT const CFStringRef kCVImageBufferYCbCrMatrix_SMPTE_240M_1995 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFString
#else
#define kCVImageBufferCGColorSpaceKey CFSTR("CGColorSpace")
@@ -101,55 +101,55 @@ extern "C" {
#pragma mark CVImageBufferRef
- /*!
- @typedef CVImageBufferRef
- @abstract Base type for all CoreVideo image buffers
-
- */
- typedef CVBufferRef CVImageBufferRef;
-
- /*!
- @function CVImageBufferGetEncodedSize
- @abstract Returns the full encoded dimensions of a CVImageBuffer. For example, for an NTSC DV frame this would be 720x480
- @discussion Note: When creating a CIImage from a CVImageBuffer, this is the call you should use for retrieving the image size.
- @param imageBuffer A CVImageBuffer that you wish to retrieve the encoded size from.
- @result A CGSize returning the full encoded size of the buffer
- Returns zero size if called with a non-CVImageBufferRef type or NULL.
- */
- CV_EXPORT CGSize CVImageBufferGetEncodedSize(CVImageBufferRef imageBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVImageBufferGetDisplaySize
- @abstract Returns the nominal output display size (in square pixels) of a CVImageBuffer.
- For example, for an NTSC DV frame this would be 640x480
- @param imageBuffer A CVImageBuffer that you wish to retrieve the display size from.
- @result A CGSize returning the nominal display size of the buffer
- Returns zero size if called with a non-CVImageBufferRef type or NULL.
- */
- CV_EXPORT CGSize CVImageBufferGetDisplaySize(CVImageBufferRef imageBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVImageBufferGetCleanRect
- @abstract Returns the source rectangle of a CVImageBuffer that represents the clean aperture
- of the buffer in encoded pixels. For example, an NTSC DV frame would return a CGRect with an
- origin of 8,0 and a size of 704,480.
- Note that the origin of this rect always the lower left corner. This is the same coordinate system as
- used by CoreImage.
- @param imageBuffer A CVImageBuffer that you wish to retrieve the display size from.
- @result A CGSize returning the nominal display size of the buffer
- Returns zero rect if called with a non-CVImageBufferRef type or NULL.
- */
- CV_EXPORT CGRect CVImageBufferGetCleanRect(CVImageBufferRef imageBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/*!
+ @typedef CVImageBufferRef
+ @abstract Base type for all CoreVideo image buffers
+
+*/
+typedef CVBufferRef CVImageBufferRef;
+
+/*!
+ @function CVImageBufferGetEncodedSize
+ @abstract Returns the full encoded dimensions of a CVImageBuffer. For example, for an NTSC DV frame this would be 720x480
+ @discussion Note: When creating a CIImage from a CVImageBuffer, this is the call you should use for retrieving the image size.
+ @param imageBuffer A CVImageBuffer that you wish to retrieve the encoded size from.
+ @result A CGSize returning the full encoded size of the buffer
+ Returns zero size if called with a non-CVImageBufferRef type or NULL.
+*/
+CV_EXPORT CGSize CVImageBufferGetEncodedSize(CVImageBufferRef imageBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVImageBufferGetDisplaySize
+ @abstract Returns the nominal output display size (in square pixels) of a CVImageBuffer.
+ For example, for an NTSC DV frame this would be 640x480
+ @param imageBuffer A CVImageBuffer that you wish to retrieve the display size from.
+ @result A CGSize returning the nominal display size of the buffer
+ Returns zero size if called with a non-CVImageBufferRef type or NULL.
+*/
+CV_EXPORT CGSize CVImageBufferGetDisplaySize(CVImageBufferRef imageBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVImageBufferGetCleanRect
+ @abstract Returns the source rectangle of a CVImageBuffer that represents the clean aperture
+ of the buffer in encoded pixels. For example, an NTSC DV frame would return a CGRect with an
+ origin of 8,0 and a size of 704,480.
+ Note that the origin of this rect always the lower left corner. This is the same coordinate system as
+ used by CoreImage.
+ @param imageBuffer A CVImageBuffer that you wish to retrieve the display size from.
+ @result A CGSize returning the nominal display size of the buffer
+ Returns zero rect if called with a non-CVImageBufferRef type or NULL.
+*/
+CV_EXPORT CGRect CVImageBufferGetCleanRect(CVImageBufferRef imageBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#if TARGET_OS_MAC
- /*!
- @function CVImageBufferGetColorSpace
- @abstract Returns the color space of a CVImageBuffer.
- @param imageBuffer A CVImageBuffer that you wish to retrieve the color space from.
- @result A CGColorSpaceRef representing the color space of the buffer.
- Returns NULL if called with a non-CVImageBufferRef type or NULL.
- */
- CV_EXPORT CGColorSpaceRef CVImageBufferGetColorSpace(CVImageBufferRef imageBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/*!
+ @function CVImageBufferGetColorSpace
+ @abstract Returns the color space of a CVImageBuffer.
+ @param imageBuffer A CVImageBuffer that you wish to retrieve the color space from.
+ @result A CGColorSpaceRef representing the color space of the buffer.
+ Returns NULL if called with a non-CVImageBufferRef type or NULL.
+*/
+CV_EXPORT CGColorSpaceRef CVImageBufferGetColorSpace(CVImageBufferRef imageBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#endif
#if defined(__cplusplus)
diff --git a/include/qt/CVPixelBuffer.h b/include/qt/CVPixelBuffer.h
index eed7f1784..ca9cf9e4d 100644
--- a/include/qt/CVPixelBuffer.h
+++ b/include/qt/CVPixelBuffer.h
@@ -5,12 +5,12 @@
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
*
*/
-
-/*! @header CVPixelBuffer.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
-@availability Mac OS X 10.4 or later
- @discussion CVPixelBuffers are CVImageBuffers that hold the pixels in main memory
-
+
+ /*! @header CVPixelBuffer.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @availability Mac OS X 10.4 or later
+ @discussion CVPixelBuffers are CVImageBuffers that hold the pixels in main memory
+
*/
#if !defined(__COREVIDEO_CVPIXELBUFFER_H__)
@@ -33,18 +33,18 @@ extern "C" {
#pragma mark BufferAttributeKeys
#if TARGET_OS_MAC
- CV_EXPORT const CFStringRef kCVPixelBufferPixelFormatTypeKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // A single CFNumber or a CFArray of CFNumbers (OSTypes)
- CV_EXPORT const CFStringRef kCVPixelBufferMemoryAllocatorKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFAllocatorRef
- CV_EXPORT const CFStringRef kCVPixelBufferWidthKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVPixelBufferHeightKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVPixelBufferExtendedPixelsLeftKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVPixelBufferExtendedPixelsTopKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVPixelBufferExtendedPixelsRightKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVPixelBufferExtendedPixelsBottomKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVPixelBufferBytesPerRowAlignmentKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
- CV_EXPORT const CFStringRef kCVPixelBufferCGBitmapContextCompatibilityKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFBoolean
- CV_EXPORT const CFStringRef kCVPixelBufferCGImageCompatibilityKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFBoolean
- CV_EXPORT const CFStringRef kCVPixelBufferOpenGLCompatibilityKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFBoolean
+CV_EXPORT const CFStringRef kCVPixelBufferPixelFormatTypeKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // A single CFNumber or a CFArray of CFNumbers (OSTypes)
+CV_EXPORT const CFStringRef kCVPixelBufferMemoryAllocatorKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFAllocatorRef
+CV_EXPORT const CFStringRef kCVPixelBufferWidthKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVPixelBufferHeightKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVPixelBufferExtendedPixelsLeftKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVPixelBufferExtendedPixelsTopKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVPixelBufferExtendedPixelsRightKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVPixelBufferExtendedPixelsBottomKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVPixelBufferBytesPerRowAlignmentKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFNumber
+CV_EXPORT const CFStringRef kCVPixelBufferCGBitmapContextCompatibilityKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFBoolean
+CV_EXPORT const CFStringRef kCVPixelBufferCGImageCompatibilityKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFBoolean
+CV_EXPORT const CFStringRef kCVPixelBufferOpenGLCompatibilityKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // CFBoolean
#else
#define kCVPixelBufferPixelFormatTypeKey CFSTR("PixelFormatType")
#define kCVPixelBufferMemoryAllocatorKey CFSTR("MemoryAllocator")
@@ -59,275 +59,275 @@ extern "C" {
#define kCVPixelBufferCGImageCompatibilityKey CFSTR("CGImageCompatibility")
#define kCVPixelBufferOpenGLCompatibilityKey CFSTR("OpenGLCompatibility")
#endif
- /*!
- @typedef CVPixelBufferRef
- @abstract Based on the image buffer type. The pixel buffer implements the memory storage for an image buffer.
-
- */
- typedef CVImageBufferRef CVPixelBufferRef;
-
- CV_EXPORT CFTypeID CVPixelBufferGetTypeID() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferRetain
- @abstract Retains a CVPixelBuffer object
- @discussion Equivalent to CFRetain, but NULL safe
- @param buffer A CVPixelBuffer object that you want to retain.
- @result A CVPixelBuffer object that is the same as the passed in buffer.
- */
- CV_EXPORT CVPixelBufferRef CVPixelBufferRetain(CVPixelBufferRef texture) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferRelease
- @abstract Releases a CVPixelBuffer object
- @discussion Equivalent to CFRelease, but NULL safe
- @param buffer A CVPixelBuffer object that you want to release.
- */
- CV_EXPORT void CVPixelBufferRelease(CVPixelBufferRef texture) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferCreateResolvedAttributesDictionary
- @abstract Takes a CFArray of CFDictionary objects describing various pixel buffer attributes and tries to resolve them into a
- single dictionary.
- @discussion This is useful when you need to resolve multiple requirements between different potential clients of a buffer.
- @param attributes CFArray of CFDictionaries containing kCVPixelBuffer key/value pairs.
- @param resolvedDictionaryOut The resulting dictionary will be placed here.
- @result Return value that may be useful in discovering why resolution failed.
- */
- CV_EXPORT CVReturn CVPixelBufferCreateResolvedAttributesDictionary(CFAllocatorRef allocator, CFArrayRef attributes, CFDictionaryRef *resolvedDictionaryOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
-
- /*!
- @function CVPixelBufferCreate
- @abstract Call to create a single PixelBuffer for a given size and pixelFormatType.
- @discussion Creates a single PixelBuffer for a given size and pixelFormatType. It allocates the necessary memory based on the pixel dimensions, pixelFormatType and extended pixels described in the pixelBufferAttributes. Not all parameters of the pixelBufferAttributes will be used here.
- @param width Width of the PixelBuffer in pixels.
- @param height Height of the PixelBuffer in pixels.
- @param pixelFormatType Pixel format indentified by its respective OSType.
- @param pixelBufferAttributes A dictionary with additonal attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
- @param pixelBufferOut The new pixel buffer will be returned here
- @result returns kCVReturnSuccess on success.
- */
- CV_EXPORT CVReturn CVPixelBufferCreate(CFAllocatorRef allocator,
- size_t width,
- size_t height,
- OSType pixelFormatType,
- CFDictionaryRef pixelBufferAttributes,
- CVPixelBufferRef *pixelBufferOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- typedef void (*CVPixelBufferReleaseBytesCallback)(void *releaseRefCon, const void *baseAddress);
-
- /*!
- @function CVPixelBufferCreateWithBytes
- @abstract Call to create a single PixelBuffer for a given size and pixelFormatType based on a passed in piece of memory.
- @discussion Creates a single PixelBuffer for a given size and pixelFormatType. Not all parameters of the pixelBufferAttributes will be used here. It requires a release callback function that will be called, when the PixelBuffer gets destroyed so that the owner of the pixels can free the memory.
- @param width Width of the PixelBuffer in pixels
- @param height Height of the PixelBuffer in pixels
- @param pixelFormatType Pixel format indentified by its respective OSType.
- @param baseAddress Address of the memory storing the pixels.
- @param bytesPerRow Row bytes of the pixel storage memory.
- @param releaseCallback CVPixelBufferReleaseBytePointerCallback function that gets called when the PixelBuffer gets destroyed.
- @param releaseRefCon User data identifying the PixelBuffer for the release callback.
- @param pixelBufferAttributes A dictionary with additonal attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
- @param pixelBufferOut The new pixel buffer will be returned here
- @result returns kCVReturnSuccess on success.
- */
- CV_EXPORT CVReturn CVPixelBufferCreateWithBytes(CFAllocatorRef allocator,
- size_t width,
- size_t height,
- OSType pixelFormatType,
- void *baseAddress,
- size_t bytesPerRow,
- CVPixelBufferReleaseBytesCallback releaseCallback,
- void *releaseRefCon,
- CFDictionaryRef pixelBufferAttributes,
- CVPixelBufferRef *pixelBufferOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- typedef void (*CVPixelBufferReleasePlanarBytesCallback)(void *releaseRefCon, const void *dataPtr, size_t dataSize, size_t numberOfPlanes, const void *planeAddresses[]);
-
- /*!
- @function CVPixelBufferCreateWithPlanarBytes
- @abstract Call to create a single PixelBuffer in planar format for a given size and pixelFormatType based on a passed in piece of memory.
- @discussion Creates a single PixelBuffer for a given size and pixelFormatType. Not all parameters of the pixelBufferAttributes will be used here. It requires a release callback function that will be called, when the PixelBuffer gets destroyed so that the owner of the pixels can free the memory.
- @param width Width of the PixelBuffer in pixels
- @param height Height of the PixelBuffer in pixels
- @param pixelFormatType Pixel format indentified by its respective OSType.
- @param dataPtr Pass a pointer to a plane descriptor block, or NULL.
- @param dataSize pass size if planes are contiguous, NULL if not.
- @param numberOfPlanes Number of planes.
- @param planeBaseAddress Array of base addresses for the planes.
- @param planeWidth Array of plane widths.
- @param planeHeight Array of plane heights.
- @param planeBytesPerRow Array of plane bytesPerRow values.
- @param releaseCallback CVPixelBufferReleaseBytePointerCallback function that gets called when the PixelBuffer gets destroyed.
- @param releaseRefCon User data identifying the PixelBuffer for the release callback.
- @param pixelBufferAttributes A dictionary with additonal attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
- @param pixelBufferOut The new pixel buffer will be returned here
- @result returns kCVReturnSuccess on success.
- */
- CV_EXPORT CVReturn CVPixelBufferCreateWithPlanarBytes(CFAllocatorRef allocator,
- size_t width,
- size_t height,
- OSType pixelFormatType,
- void *dataPtr, // pass a pointer to a plane descriptor block, or NULL
- size_t dataSize, // pass size if planes are contiguous, NULL if not
- size_t numberOfPlanes,
- void *planeBaseAddress[],
- size_t planeWidth[],
- size_t planeHeight[],
- size_t planeBytesPerRow[],
- CVPixelBufferReleasePlanarBytesCallback releaseCallback,
- void *releaseRefCon,
- CFDictionaryRef pixelBufferAttributes,
- CVPixelBufferRef *pixelBufferOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
-
- /*!
- @function CVPixelBufferLockBaseAddress
- @abstract Description Locks the BaseAddress of the PixelBuffer to ensure that the is available.
- @param pixelBuffer Target PixelBuffer.
- @param lockFlags No options currently defined, pass 0.
- @result kCVReturnSuccess if the lock succeeded, or error code on failure
- */
- CV_EXPORT CVReturn CVPixelBufferLockBaseAddress(CVPixelBufferRef pixelBuffer, CVOptionFlags lockFlags) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferUnlockBaseAddress
- @abstract Description Unlocks the BaseAddress of the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @param unlockFlags No options currently defined, pass 0.
- @result kCVReturnSuccess if the unlock succeeded, or error code on failure
- */
- CV_EXPORT CVReturn CVPixelBufferUnlockBaseAddress(CVPixelBufferRef pixelBuffer, CVOptionFlags unlockFlags) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetWidth
- @abstract Returns the width of the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @result Width in pixels.
- */
- CV_EXPORT size_t CVPixelBufferGetWidth(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetHeight
- @abstract Returns the height of the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @result Height in pixels.
- */
- CV_EXPORT size_t CVPixelBufferGetHeight(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetPixelFormatType
- @abstract Returns the PixelFormatType of the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @result OSType identifying the pixel format by its type.
- */
- CV_EXPORT OSType CVPixelBufferGetPixelFormatType(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetBaseAddress
- @abstract Returns the base address of the PixelBuffer.
- @discussion Retrieving the base address for a PixelBuffer requires that the buffer base address be locked
- via a successful call to CVPixelBufferLockBaseAddress.
- @param pixelBuffer Target PixelBuffer.
- @result Base address of the pixels.
- For chunky buffers, this will return a pointer to the pixel at 0,0 in the buffer
- For planar buffers this will return a pointer to a PlanarComponentInfo struct (defined in QuickTime).
- */
- CV_EXPORT void *CVPixelBufferGetBaseAddress(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetBytesPerRow
- @abstract Returns the rowBytes of the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @result Bytes per row of the image data. For planar buffers this will return a rowBytes value such that bytesPerRow * height
- will cover the entire image including all planes.
- */
- CV_EXPORT size_t CVPixelBufferGetBytesPerRow(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetDataSize
- @abstract Returns the data size for contigous planes of the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @result Data size used in CVPixelBufferCreateWithPlanarBytes.
- */
- CV_EXPORT size_t CVPixelBufferGetDataSize(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferIsPlanar
- @abstract Returns if the PixelBuffer is planar.
- @param pixelBuffer Target PixelBuffer.
- @result True if the PixelBuffer was created using CVPixelBufferCreateWithPlanarBytes.
- */
- CV_EXPORT Boolean CVPixelBufferIsPlanar(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetPlaneCount
- @abstract Returns number of planes of the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @result Number of planes. Returns 0 for non-planar CVPixelBufferRefs.
- */
- CV_EXPORT size_t CVPixelBufferGetPlaneCount(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetWidthOfPlane
- @abstract Returns the width of the plane at planeIndex in the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @param planeIndex Identifying the plane.
- @result Width in pixels, or 0 for non-planar CVPixelBufferRefs.
- */
- CV_EXPORT size_t CVPixelBufferGetWidthOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetHeightOfPlane
- @abstract Returns the height of the plane at planeIndex in the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @param planeIndex Identifying the plane.
- @result Height in pixels, or 0 for non-planar CVPixelBufferRefs.
- */
- CV_EXPORT size_t CVPixelBufferGetHeightOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetBaseAddressOfPlane
- @abstract Returns the base address of the plane at planeIndex in the PixelBuffer.
- @discussion Retrieving the base address for a PixelBuffer requires that the buffer base address be locked
- via a successful call to CVPixelBufferLockBaseAddress.
- @param pixelBuffer Target PixelBuffer.
- @param planeIndex Identifying the plane.
- @result Base address of the plane, or NULL for non-planar CVPixelBufferRefs.
- */
- CV_EXPORT void *CVPixelBufferGetBaseAddressOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetBytesPerRowOfPlane
- @abstract Returns the row bytes of the plane at planeIndex in the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @param planeIndex Identifying the plane.
- @result Row bytes of the plane, or NULL for non-planar CVPixelBufferRefs.
- */
- CV_EXPORT size_t CVPixelBufferGetBytesPerRowOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferGetExtendedPixels
- @abstract Returns the size of extended pixels of the PixelBuffer.
- @param pixelBuffer Target PixelBuffer.
- @param extraColumnsOnLeft Returns the pixel row padding to the left. May be NULL.
- @param extraRowsOnTop Returns the pixel row padding to the top. May be NULL.
- @param extraColumnsOnRight Returns the pixel row padding to the right. May be NULL.
- @param extraRowsOnBottom Returns the pixel row padding to the bottom. May be NULL.
- */
- CV_EXPORT void CVPixelBufferGetExtendedPixels(CVPixelBufferRef pixelBuffer,
- size_t *extraColumnsOnLeft,
- size_t *extraColumnsOnRight,
- size_t *extraRowsOnTop,
- size_t *extraRowsOnBottom) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferFillExtendedPixels
- @abstract Fills the extended pixels of the PixelBuffer with Zero. This function replicates edge pixels to fill the entire extended region of the image.
- @param pixelBuffer Target PixelBuffer.
- */
- CV_EXPORT CVReturn CVPixelBufferFillExtendedPixels(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/*!
+ @typedef CVPixelBufferRef
+ @abstract Based on the image buffer type. The pixel buffer implements the memory storage for an image buffer.
+
+*/
+typedef CVImageBufferRef CVPixelBufferRef;
+
+CV_EXPORT CFTypeID CVPixelBufferGetTypeID() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferRetain
+ @abstract Retains a CVPixelBuffer object
+ @discussion Equivalent to CFRetain, but NULL safe
+ @param buffer A CVPixelBuffer object that you want to retain.
+ @result A CVPixelBuffer object that is the same as the passed in buffer.
+*/
+CV_EXPORT CVPixelBufferRef CVPixelBufferRetain( CVPixelBufferRef texture ) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferRelease
+ @abstract Releases a CVPixelBuffer object
+ @discussion Equivalent to CFRelease, but NULL safe
+ @param buffer A CVPixelBuffer object that you want to release.
+*/
+CV_EXPORT void CVPixelBufferRelease( CVPixelBufferRef texture ) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferCreateResolvedAttributesDictionary
+ @abstract Takes a CFArray of CFDictionary objects describing various pixel buffer attributes and tries to resolve them into a
+ single dictionary.
+ @discussion This is useful when you need to resolve multiple requirements between different potential clients of a buffer.
+ @param attributes CFArray of CFDictionaries containing kCVPixelBuffer key/value pairs.
+ @param resolvedDictionaryOut The resulting dictionary will be placed here.
+ @result Return value that may be useful in discovering why resolution failed.
+*/
+CV_EXPORT CVReturn CVPixelBufferCreateResolvedAttributesDictionary(CFAllocatorRef allocator, CFArrayRef attributes, CFDictionaryRef *resolvedDictionaryOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+
+/*!
+ @function CVPixelBufferCreate
+ @abstract Call to create a single PixelBuffer for a given size and pixelFormatType.
+ @discussion Creates a single PixelBuffer for a given size and pixelFormatType. It allocates the necessary memory based on the pixel dimensions, pixelFormatType and extended pixels described in the pixelBufferAttributes. Not all parameters of the pixelBufferAttributes will be used here.
+ @param width Width of the PixelBuffer in pixels.
+ @param height Height of the PixelBuffer in pixels.
+ @param pixelFormatType Pixel format indentified by its respective OSType.
+ @param pixelBufferAttributes A dictionary with additonal attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
+ @param pixelBufferOut The new pixel buffer will be returned here
+ @result returns kCVReturnSuccess on success.
+*/
+CV_EXPORT CVReturn CVPixelBufferCreate(CFAllocatorRef allocator,
+ size_t width,
+ size_t height,
+ OSType pixelFormatType,
+ CFDictionaryRef pixelBufferAttributes,
+ CVPixelBufferRef *pixelBufferOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+typedef void (*CVPixelBufferReleaseBytesCallback)( void *releaseRefCon, const void *baseAddress );
+
+/*!
+ @function CVPixelBufferCreateWithBytes
+ @abstract Call to create a single PixelBuffer for a given size and pixelFormatType based on a passed in piece of memory.
+ @discussion Creates a single PixelBuffer for a given size and pixelFormatType. Not all parameters of the pixelBufferAttributes will be used here. It requires a release callback function that will be called, when the PixelBuffer gets destroyed so that the owner of the pixels can free the memory.
+ @param width Width of the PixelBuffer in pixels
+ @param height Height of the PixelBuffer in pixels
+ @param pixelFormatType Pixel format indentified by its respective OSType.
+ @param baseAddress Address of the memory storing the pixels.
+ @param bytesPerRow Row bytes of the pixel storage memory.
+ @param releaseCallback CVPixelBufferReleaseBytePointerCallback function that gets called when the PixelBuffer gets destroyed.
+ @param releaseRefCon User data identifying the PixelBuffer for the release callback.
+ @param pixelBufferAttributes A dictionary with additonal attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
+ @param pixelBufferOut The new pixel buffer will be returned here
+ @result returns kCVReturnSuccess on success.
+*/
+CV_EXPORT CVReturn CVPixelBufferCreateWithBytes(CFAllocatorRef allocator,
+ size_t width,
+ size_t height,
+ OSType pixelFormatType,
+ void *baseAddress,
+ size_t bytesPerRow,
+ CVPixelBufferReleaseBytesCallback releaseCallback,
+ void *releaseRefCon,
+ CFDictionaryRef pixelBufferAttributes,
+ CVPixelBufferRef *pixelBufferOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+typedef void (*CVPixelBufferReleasePlanarBytesCallback)( void *releaseRefCon, const void *dataPtr, size_t dataSize, size_t numberOfPlanes, const void *planeAddresses[] );
+
+/*!
+ @function CVPixelBufferCreateWithPlanarBytes
+ @abstract Call to create a single PixelBuffer in planar format for a given size and pixelFormatType based on a passed in piece of memory.
+ @discussion Creates a single PixelBuffer for a given size and pixelFormatType. Not all parameters of the pixelBufferAttributes will be used here. It requires a release callback function that will be called, when the PixelBuffer gets destroyed so that the owner of the pixels can free the memory.
+ @param width Width of the PixelBuffer in pixels
+ @param height Height of the PixelBuffer in pixels
+ @param pixelFormatType Pixel format indentified by its respective OSType.
+ @param dataPtr Pass a pointer to a plane descriptor block, or NULL.
+ @param dataSize pass size if planes are contiguous, NULL if not.
+ @param numberOfPlanes Number of planes.
+ @param planeBaseAddress Array of base addresses for the planes.
+ @param planeWidth Array of plane widths.
+ @param planeHeight Array of plane heights.
+ @param planeBytesPerRow Array of plane bytesPerRow values.
+ @param releaseCallback CVPixelBufferReleaseBytePointerCallback function that gets called when the PixelBuffer gets destroyed.
+ @param releaseRefCon User data identifying the PixelBuffer for the release callback.
+ @param pixelBufferAttributes A dictionary with additonal attributes for a a pixel buffer. This parameter is optional. See PixelBufferAttributes for more details.
+ @param pixelBufferOut The new pixel buffer will be returned here
+ @result returns kCVReturnSuccess on success.
+*/
+CV_EXPORT CVReturn CVPixelBufferCreateWithPlanarBytes(CFAllocatorRef allocator,
+ size_t width,
+ size_t height,
+ OSType pixelFormatType,
+ void *dataPtr, // pass a pointer to a plane descriptor block, or NULL
+ size_t dataSize, // pass size if planes are contiguous, NULL if not
+ size_t numberOfPlanes,
+ void *planeBaseAddress[],
+ size_t planeWidth[],
+ size_t planeHeight[],
+ size_t planeBytesPerRow[],
+ CVPixelBufferReleasePlanarBytesCallback releaseCallback,
+ void *releaseRefCon,
+ CFDictionaryRef pixelBufferAttributes,
+ CVPixelBufferRef *pixelBufferOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+
+/*!
+ @function CVPixelBufferLockBaseAddress
+ @abstract Description Locks the BaseAddress of the PixelBuffer to ensure that the is available.
+ @param pixelBuffer Target PixelBuffer.
+ @param lockFlags No options currently defined, pass 0.
+ @result kCVReturnSuccess if the lock succeeded, or error code on failure
+*/
+CV_EXPORT CVReturn CVPixelBufferLockBaseAddress(CVPixelBufferRef pixelBuffer, CVOptionFlags lockFlags) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferUnlockBaseAddress
+ @abstract Description Unlocks the BaseAddress of the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @param unlockFlags No options currently defined, pass 0.
+ @result kCVReturnSuccess if the unlock succeeded, or error code on failure
+*/
+CV_EXPORT CVReturn CVPixelBufferUnlockBaseAddress(CVPixelBufferRef pixelBuffer, CVOptionFlags unlockFlags) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetWidth
+ @abstract Returns the width of the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @result Width in pixels.
+*/
+CV_EXPORT size_t CVPixelBufferGetWidth(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetHeight
+ @abstract Returns the height of the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @result Height in pixels.
+*/
+CV_EXPORT size_t CVPixelBufferGetHeight(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetPixelFormatType
+ @abstract Returns the PixelFormatType of the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @result OSType identifying the pixel format by its type.
+*/
+CV_EXPORT OSType CVPixelBufferGetPixelFormatType(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetBaseAddress
+ @abstract Returns the base address of the PixelBuffer.
+ @discussion Retrieving the base address for a PixelBuffer requires that the buffer base address be locked
+ via a successful call to CVPixelBufferLockBaseAddress.
+ @param pixelBuffer Target PixelBuffer.
+ @result Base address of the pixels.
+ For chunky buffers, this will return a pointer to the pixel at 0,0 in the buffer
+ For planar buffers this will return a pointer to a PlanarComponentInfo struct (defined in QuickTime).
+*/
+CV_EXPORT void *CVPixelBufferGetBaseAddress(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetBytesPerRow
+ @abstract Returns the rowBytes of the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @result Bytes per row of the image data. For planar buffers this will return a rowBytes value such that bytesPerRow * height
+ will cover the entire image including all planes.
+*/
+CV_EXPORT size_t CVPixelBufferGetBytesPerRow(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetDataSize
+ @abstract Returns the data size for contigous planes of the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @result Data size used in CVPixelBufferCreateWithPlanarBytes.
+*/
+CV_EXPORT size_t CVPixelBufferGetDataSize(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferIsPlanar
+ @abstract Returns if the PixelBuffer is planar.
+ @param pixelBuffer Target PixelBuffer.
+ @result True if the PixelBuffer was created using CVPixelBufferCreateWithPlanarBytes.
+*/
+CV_EXPORT Boolean CVPixelBufferIsPlanar(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetPlaneCount
+ @abstract Returns number of planes of the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @result Number of planes. Returns 0 for non-planar CVPixelBufferRefs.
+*/
+CV_EXPORT size_t CVPixelBufferGetPlaneCount(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetWidthOfPlane
+ @abstract Returns the width of the plane at planeIndex in the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @param planeIndex Identifying the plane.
+ @result Width in pixels, or 0 for non-planar CVPixelBufferRefs.
+*/
+CV_EXPORT size_t CVPixelBufferGetWidthOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetHeightOfPlane
+ @abstract Returns the height of the plane at planeIndex in the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @param planeIndex Identifying the plane.
+ @result Height in pixels, or 0 for non-planar CVPixelBufferRefs.
+*/
+CV_EXPORT size_t CVPixelBufferGetHeightOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetBaseAddressOfPlane
+ @abstract Returns the base address of the plane at planeIndex in the PixelBuffer.
+ @discussion Retrieving the base address for a PixelBuffer requires that the buffer base address be locked
+ via a successful call to CVPixelBufferLockBaseAddress.
+ @param pixelBuffer Target PixelBuffer.
+ @param planeIndex Identifying the plane.
+ @result Base address of the plane, or NULL for non-planar CVPixelBufferRefs.
+*/
+CV_EXPORT void *CVPixelBufferGetBaseAddressOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetBytesPerRowOfPlane
+ @abstract Returns the row bytes of the plane at planeIndex in the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @param planeIndex Identifying the plane.
+ @result Row bytes of the plane, or NULL for non-planar CVPixelBufferRefs.
+*/
+CV_EXPORT size_t CVPixelBufferGetBytesPerRowOfPlane(CVPixelBufferRef pixelBuffer, size_t planeIndex) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferGetExtendedPixels
+ @abstract Returns the size of extended pixels of the PixelBuffer.
+ @param pixelBuffer Target PixelBuffer.
+ @param extraColumnsOnLeft Returns the pixel row padding to the left. May be NULL.
+ @param extraRowsOnTop Returns the pixel row padding to the top. May be NULL.
+ @param extraColumnsOnRight Returns the pixel row padding to the right. May be NULL.
+ @param extraRowsOnBottom Returns the pixel row padding to the bottom. May be NULL.
+*/
+CV_EXPORT void CVPixelBufferGetExtendedPixels(CVPixelBufferRef pixelBuffer,
+ size_t *extraColumnsOnLeft,
+ size_t *extraColumnsOnRight,
+ size_t *extraRowsOnTop,
+ size_t *extraRowsOnBottom) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferFillExtendedPixels
+ @abstract Fills the extended pixels of the PixelBuffer with Zero. This function replicates edge pixels to fill the entire extended region of the image.
+ @param pixelBuffer Target PixelBuffer.
+*/
+CV_EXPORT CVReturn CVPixelBufferFillExtendedPixels(CVPixelBufferRef pixelBuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#if defined(__cplusplus)
}
diff --git a/include/qt/CVPixelBufferPool.h b/include/qt/CVPixelBufferPool.h
index 772babee2..74882a5d0 100644
--- a/include/qt/CVPixelBufferPool.h
+++ b/include/qt/CVPixelBufferPool.h
@@ -6,11 +6,11 @@
*
*/
-/*! @header CVPixelBufferPool.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
-@availability Mac OS X 10.4 or later
- @discussion CVPixelBufferPool is a utility object for managing a set of CVPixelBuffer objects that are going to be recycled.
-
+ /*! @header CVPixelBufferPool.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @availability Mac OS X 10.4 or later
+ @discussion CVPixelBufferPool is a utility object for managing a set of CVPixelBuffer objects that are going to be recycled.
+
*/
#if !defined(__COREVIDEO__CVPIXELBUFFERPOOL_H__)
@@ -32,81 +32,81 @@
extern "C" {
#endif
- typedef struct __CVPixelBufferPool *CVPixelBufferPoolRef;
+typedef struct __CVPixelBufferPool *CVPixelBufferPoolRef;
// By default, buffers will age out after one second. If required, setting an age of zero will disable
// the age-out mechanism completely.
#if TARGET_OS_MAC
- CV_EXPORT const CFStringRef kCVPixelBufferPoolMinimumBufferCountKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelBufferPoolMaximumBufferAgeKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelBufferPoolMinimumBufferCountKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelBufferPoolMaximumBufferAgeKey AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#else
#define kCVPixelBufferPoolMinimumBufferCountKey CFSTR("MinimumBufferCount")
#define kCVPixelBufferPoolMaximumBufferAgeKey CFSTR("MaximumBufferAge")
#endif
- CV_EXPORT CFTypeID CVPixelBufferPoolGetTypeID() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferPoolRetain
- @abstract Retains a CVPixelBufferPoolRef object
- @discussion Equivalent to CFRetain, but NULL safe
- @param buffer A CVPixelBufferPoolRef object that you want to retain.
- @result A CVPixelBufferPoolRef object that is the same as the passed in buffer.
- */
- CV_EXPORT CVPixelBufferPoolRef CVPixelBufferPoolRetain(CVPixelBufferPoolRef pixelBufferPool) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // NULL-safe
-
- /*!
- @function CVPixelBufferPoolRelease
- @abstract Releases a CVPixelBufferPoolRef object
- @discussion Equivalent to CFRelease, but NULL safe
- @param buffer A CVPixelBufferPoolRef object that you want to release.
- */
- CV_EXPORT void CVPixelBufferPoolRelease(CVPixelBufferPoolRef pixelBufferPool) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // NULL-safe
-
- /*!
- @function CVPixelBufferPoolCreate
- @abstract Creates a new Pixel Buffer pool.
- @param allocator The CFAllocatorRef to use for allocating this buffer pool. May be NULL.
- @param attributes A CFDictionaryRef containing the attributes to be used for creating new PixelBuffers within the pool.
- @param poolOut The newly created pool will be placed here
- @result Returns kCVReturnSuccess on success
- */
- CV_EXPORT CVReturn CVPixelBufferPoolCreate(CFAllocatorRef allocator,
- CFDictionaryRef poolAttributes,
- CFDictionaryRef pixelBufferAttributes,
- CVPixelBufferPoolRef *poolOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferPoolGetAttributes
- @abstract Returns the pool attributes dictionary for a CVPixelBufferPool
- @param pool The CVPixelBufferPoolRef to retrieve the attributes from
- @result Returns the pool attributes dictionary, or NULL on failure.
- */
- CV_EXPORT CFDictionaryRef CVPixelBufferPoolGetAttributes(CVPixelBufferPoolRef pool) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferPoolGetPixelBufferAttributes
- @abstract Returns the attributes of pixel buffers that will be created from this pool.
- @discussion This function is provided for those cases where you may need to know some information about the buffers that
- will be created up front.
- @param pool The CVPixelBufferPoolRef to retrieve the attributes from
- @result Returns the pixel buffer attributes dictionary, or NULL on failure.
- */
- CV_EXPORT CFDictionaryRef CVPixelBufferPoolGetPixelBufferAttributes(CVPixelBufferPoolRef pool) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /*!
- @function CVPixelBufferPoolCreatePixelBuffer
- @abstract Creates a new PixelBuffer object from the pool.
- @discussion The function creates a new (attachment-free) CVPixelBuffer using the pixel buffer attributes specifed during pool creation.
- @param allocator The CFAllocatorRef to use for creating the pixel buffer. May be NULL.
- @param pool The CVPixelBufferPool that should create the new CVPixelBuffer.
- @param pixelBufferOut The newly created pixel buffer will be placed here
- @result Returns kCVReturnSuccess on success
- */
- CV_EXPORT CVReturn CVPixelBufferPoolCreatePixelBuffer(CFAllocatorRef allocator,
- CVPixelBufferPoolRef pixelBufferPool,
- CVPixelBufferRef *pixelBufferOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT CFTypeID CVPixelBufferPoolGetTypeID() AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferPoolRetain
+ @abstract Retains a CVPixelBufferPoolRef object
+ @discussion Equivalent to CFRetain, but NULL safe
+ @param buffer A CVPixelBufferPoolRef object that you want to retain.
+ @result A CVPixelBufferPoolRef object that is the same as the passed in buffer.
+*/
+CV_EXPORT CVPixelBufferPoolRef CVPixelBufferPoolRetain( CVPixelBufferPoolRef pixelBufferPool ) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // NULL-safe
+
+/*!
+ @function CVPixelBufferPoolRelease
+ @abstract Releases a CVPixelBufferPoolRef object
+ @discussion Equivalent to CFRelease, but NULL safe
+ @param buffer A CVPixelBufferPoolRef object that you want to release.
+*/
+CV_EXPORT void CVPixelBufferPoolRelease( CVPixelBufferPoolRef pixelBufferPool ) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER; // NULL-safe
+
+/*!
+ @function CVPixelBufferPoolCreate
+ @abstract Creates a new Pixel Buffer pool.
+ @param allocator The CFAllocatorRef to use for allocating this buffer pool. May be NULL.
+ @param attributes A CFDictionaryRef containing the attributes to be used for creating new PixelBuffers within the pool.
+ @param poolOut The newly created pool will be placed here
+ @result Returns kCVReturnSuccess on success
+*/
+CV_EXPORT CVReturn CVPixelBufferPoolCreate(CFAllocatorRef allocator,
+ CFDictionaryRef poolAttributes,
+ CFDictionaryRef pixelBufferAttributes,
+ CVPixelBufferPoolRef *poolOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferPoolGetAttributes
+ @abstract Returns the pool attributes dictionary for a CVPixelBufferPool
+ @param pool The CVPixelBufferPoolRef to retrieve the attributes from
+ @result Returns the pool attributes dictionary, or NULL on failure.
+*/
+CV_EXPORT CFDictionaryRef CVPixelBufferPoolGetAttributes(CVPixelBufferPoolRef pool) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferPoolGetPixelBufferAttributes
+ @abstract Returns the attributes of pixel buffers that will be created from this pool.
+ @discussion This function is provided for those cases where you may need to know some information about the buffers that
+ will be created up front.
+ @param pool The CVPixelBufferPoolRef to retrieve the attributes from
+ @result Returns the pixel buffer attributes dictionary, or NULL on failure.
+*/
+CV_EXPORT CFDictionaryRef CVPixelBufferPoolGetPixelBufferAttributes(CVPixelBufferPoolRef pool) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/*!
+ @function CVPixelBufferPoolCreatePixelBuffer
+ @abstract Creates a new PixelBuffer object from the pool.
+ @discussion The function creates a new (attachment-free) CVPixelBuffer using the pixel buffer attributes specifed during pool creation.
+ @param allocator The CFAllocatorRef to use for creating the pixel buffer. May be NULL.
+ @param pool The CVPixelBufferPool that should create the new CVPixelBuffer.
+ @param pixelBufferOut The newly created pixel buffer will be placed here
+ @result Returns kCVReturnSuccess on success
+*/
+CV_EXPORT CVReturn CVPixelBufferPoolCreatePixelBuffer(CFAllocatorRef allocator,
+ CVPixelBufferPoolRef pixelBufferPool,
+ CVPixelBufferRef *pixelBufferOut) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#if defined(__cplusplus)
}
diff --git a/include/qt/CVPixelFormatDescription.h b/include/qt/CVPixelFormatDescription.h
index 3fab4ca6a..bf3768de5 100644
--- a/include/qt/CVPixelFormatDescription.h
+++ b/include/qt/CVPixelFormatDescription.h
@@ -25,96 +25,95 @@
extern "C" {
#endif
- /* This document is influenced by Ice Floe #19: http://developer.apple.com/quicktime/icefloe/dispatch019.html */
+/* This document is influenced by Ice Floe #19: http://developer.apple.com/quicktime/icefloe/dispatch019.html */
#if TARGET_OS_MAC
- /* The canonical name for the format. This should bethe same as the codec name you'd use in QT */
- CV_EXPORT const CFStringRef kCVPixelFormatName AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* QuickTime/QuickDraw Pixel Format Type constant (OSType) */
- CV_EXPORT const CFStringRef kCVPixelFormatConstant AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* This is the codec type constant, i.e. '2vuy' or k422YpCbCr8CodecType */
- CV_EXPORT const CFStringRef kCVPixelFormatCodecType AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* This is the equivalent Microsoft FourCC code for this pixel format */
- CV_EXPORT const CFStringRef kCVPixelFormatFourCC AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* All buffers have one or more image planes. Each plane may contain a single or an interleaved set of components */
- /* For simplicity sake, pixel formats that are not planar may place the required format keys at the top
- level dictionary. */
- CV_EXPORT const CFStringRef kCVPixelFormatPlanes AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* The following keys describe the requirements/layout of a a single image plane. */
-
- /* Used to assist with allocating memory for pixel formats that don't have an integer value for
- bytes per pixel */
- /* Block width is essentially the width in pixels of the smallest "byte addressable" group of pixels */
- /* This works in close conjunction with BitsPerBlock */
- /* Examples:
- 8-bit luminance only, BlockWidth would be 1, BitsPerBlock would be 8
- 16-bit 1555 RGB, BlockWidth would be 1, BitsPerBlock would be 16
- 32-bit 8888 ARGB, BlockWidth would be 1, BitsPerBlock would be 32
- 2vuy (CbYCrY), BlockWidth would be 2, BitsPerBlock would be 32
- 1-bit bitmap, BlockWidth would be 8, BitsPerBlock would be 8
- v210, BlockWidth would be 6, BitsPerBlock would be 128 */
- /* Values assumed to 1 be one if not present */
- CV_EXPORT const CFStringRef kCVPixelFormatBlockWidth AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelFormatBlockHeight AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* This value must be present. For simple pixel formats this will be equivalent to the traditional
- bitsPerPixel value. */
- CV_EXPORT const CFStringRef kCVPixelFormatBitsPerBlock AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* Used to state requirements on block multiples. v210 would be '8' here for the horizontal case,
- to match the standard v210 row alignment value of 48.
- These may be assumed as 1 if not present. */
- CV_EXPORT const CFStringRef kCVPixelFormatBlockHorizontalAlignment AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelFormatBlockVerticalAlignment AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* Subsampling information for this plane. Assumed to be '1' if not present. */
- CV_EXPORT const CFStringRef kCVPixelFormatHorizontalSubsampling AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelFormatVerticalSubsampling AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* If present, these two keys describe the OpenGL format and type enums you would use to describe this
- image plane to OpenGL */
- CV_EXPORT const CFStringRef kCVPixelFormatOpenGLFormat AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelFormatOpenGLType AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelFormatOpenGLInternalFormat AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* CGBitmapInfo value, if required */
- CV_EXPORT const CFStringRef kCVPixelFormatCGBitmapInfo AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
-
- /* Pixel format compatibility flags */
- CV_EXPORT const CFStringRef kCVPixelFormatQDCompatibility AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelFormatCGBitmapContextCompatibility AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelFormatCGImageCompatibility AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- CV_EXPORT const CFStringRef kCVPixelFormatOpenGLCompatibility AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/* The canonical name for the format. This should bethe same as the codec name you'd use in QT */
+CV_EXPORT const CFStringRef kCVPixelFormatName AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* QuickTime/QuickDraw Pixel Format Type constant (OSType) */
+CV_EXPORT const CFStringRef kCVPixelFormatConstant AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* This is the codec type constant, i.e. '2vuy' or k422YpCbCr8CodecType */
+CV_EXPORT const CFStringRef kCVPixelFormatCodecType AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* This is the equivalent Microsoft FourCC code for this pixel format */
+CV_EXPORT const CFStringRef kCVPixelFormatFourCC AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* All buffers have one or more image planes. Each plane may contain a single or an interleaved set of components */
+/* For simplicity sake, pixel formats that are not planar may place the required format keys at the top
+ level dictionary. */
+CV_EXPORT const CFStringRef kCVPixelFormatPlanes AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* The following keys describe the requirements/layout of a a single image plane. */
+
+/* Used to assist with allocating memory for pixel formats that don't have an integer value for
+ bytes per pixel */
+/* Block width is essentially the width in pixels of the smallest "byte addressable" group of pixels */
+/* This works in close conjunction with BitsPerBlock */
+/* Examples:
+ 8-bit luminance only, BlockWidth would be 1, BitsPerBlock would be 8
+ 16-bit 1555 RGB, BlockWidth would be 1, BitsPerBlock would be 16
+ 32-bit 8888 ARGB, BlockWidth would be 1, BitsPerBlock would be 32
+ 2vuy (CbYCrY), BlockWidth would be 2, BitsPerBlock would be 32
+ 1-bit bitmap, BlockWidth would be 8, BitsPerBlock would be 8
+ v210, BlockWidth would be 6, BitsPerBlock would be 128 */
+/* Values assumed to 1 be one if not present */
+CV_EXPORT const CFStringRef kCVPixelFormatBlockWidth AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelFormatBlockHeight AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* This value must be present. For simple pixel formats this will be equivalent to the traditional
+ bitsPerPixel value. */
+CV_EXPORT const CFStringRef kCVPixelFormatBitsPerBlock AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* Used to state requirements on block multiples. v210 would be '8' here for the horizontal case,
+ to match the standard v210 row alignment value of 48.
+ These may be assumed as 1 if not present. */
+CV_EXPORT const CFStringRef kCVPixelFormatBlockHorizontalAlignment AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelFormatBlockVerticalAlignment AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* Subsampling information for this plane. Assumed to be '1' if not present. */
+CV_EXPORT const CFStringRef kCVPixelFormatHorizontalSubsampling AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelFormatVerticalSubsampling AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* If present, these two keys describe the OpenGL format and type enums you would use to describe this
+ image plane to OpenGL */
+CV_EXPORT const CFStringRef kCVPixelFormatOpenGLFormat AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelFormatOpenGLType AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelFormatOpenGLInternalFormat AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* CGBitmapInfo value, if required */
+CV_EXPORT const CFStringRef kCVPixelFormatCGBitmapInfo AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+
+/* Pixel format compatibility flags */
+CV_EXPORT const CFStringRef kCVPixelFormatQDCompatibility AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelFormatCGBitmapContextCompatibility AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelFormatCGImageCompatibility AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+CV_EXPORT const CFStringRef kCVPixelFormatOpenGLCompatibility AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#endif
- /* This callback routine implements code to handle the functionality of CVPixelBufferFillExtendedPixels.
- For custom pixel formats where you will never need to use that call, this is not required. */
- typedef Boolean(*CVFillExtendedPixelsCallBack)(CVPixelBufferRef pixelBuffer, void *refCon);
- typedef struct
- {
- CFIndex version;
- CVFillExtendedPixelsCallBack fillCallBack;
- void *refCon;
- } CVFillExtendedPixelsCallBackData;
+/* This callback routine implements code to handle the functionality of CVPixelBufferFillExtendedPixels.
+ For custom pixel formats where you will never need to use that call, this is not required. */
+typedef Boolean (*CVFillExtendedPixelsCallBack)( CVPixelBufferRef pixelBuffer, void *refCon);
+typedef struct {
+ CFIndex version;
+ CVFillExtendedPixelsCallBack fillCallBack;
+ void *refCon;
+} CVFillExtendedPixelsCallBackData;
#if TARGET_OS_MAC
- /* The value for this key is a CFData containing a CVFillExtendedPixelsCallBackData struct */
- CV_EXPORT const CFStringRef kCVPixelFormatFillExtendedPixelsCallback AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/* The value for this key is a CFData containing a CVFillExtendedPixelsCallBackData struct */
+CV_EXPORT const CFStringRef kCVPixelFormatFillExtendedPixelsCallback AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#endif
- /* Create a description of a pixel format from a provided OSType */
- CV_EXPORT CFDictionaryRef CVPixelFormatDescriptionCreateWithPixelFormatType(CFAllocatorRef allocator, OSType pixelFormat) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/* Create a description of a pixel format from a provided OSType */
+CV_EXPORT CFDictionaryRef CVPixelFormatDescriptionCreateWithPixelFormatType(CFAllocatorRef allocator, OSType pixelFormat) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- /* Get an array containing all known pixel format description dictionaries */
- CV_EXPORT CFArrayRef CVPixelFormatDescriptionArrayCreateWithAllPixelFormatTypes(CFAllocatorRef allocator) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/* Get an array containing all known pixel format description dictionaries */
+CV_EXPORT CFArrayRef CVPixelFormatDescriptionArrayCreateWithAllPixelFormatTypes(CFAllocatorRef allocator) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
- /* Register a new pixel format with CoreVideo */
- CV_EXPORT void CVPixelFormatDescriptionRegisterDescriptionWithPixelFormatType(CFDictionaryRef description, OSType pixelFormat) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
+/* Register a new pixel format with CoreVideo */
+CV_EXPORT void CVPixelFormatDescriptionRegisterDescriptionWithPixelFormatType(CFDictionaryRef description, OSType pixelFormat) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
#if TARGET_OS_WIN32
#define kCVPixelFormatName CFSTR("Name")
@@ -123,7 +122,7 @@ extern "C" {
#define kCVPixelFormatConstant CFSTR("PixelFormat")
#define kCVPixelFormatCodecType CFSTR("CodecType")
#define kCVPixelFormatFourCC CFSTR("FourCC")
-#define kCVPixelFormatPlanes CFSTR("Planes")
+#define kCVPixelFormatPlanes CFSTR("Planes")
#define kCVPixelFormatComponents CFSTR("ComponentLayout")
#define kCVPixelFormatBlockWidth CFSTR("BlockWidth")
#define kCVPixelFormatBlockHeight CFSTR("BlockHeight")
diff --git a/include/qt/CVReturn.h b/include/qt/CVReturn.h
index bab6d7ac8..3772075e8 100644
--- a/include/qt/CVReturn.h
+++ b/include/qt/CVReturn.h
@@ -5,12 +5,12 @@
* Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
*
*/
-
-/*! @header CVReturn.h
-@copyright 2004 Apple Computer, Inc. All rights reserved.
-@availability Mac OS X 10.4 or later
- @discussion Here you can find all the CoreVideo specific error codes.
-
+
+ /*! @header CVReturn.h
+ @copyright 2004 Apple Computer, Inc. All rights reserved.
+ @availability Mac OS X 10.4 or later
+ @discussion Here you can find all the CoreVideo specific error codes.
+
*/
#if !defined(__COREVIDEO_CVRETURN_H__)
@@ -27,61 +27,61 @@
#if defined(__cplusplus)
extern "C" {
#endif
- /*!
- @enum CVReturn
- @abstract CoreVideo specific error codes
-
- @constant kCVReturnSuccess Function executed successfully without errors.
- @constant kCVReturnFirst Placeholder to mark the beginning of the range of CVReturn codes.
- @constant kCVReturnLast Placeholder to mark the end of the range of CVReturn codes.
-
- @constant kCVReturnInvalidArgument At least one of the arguments passed in is not valid. Either out of range or the wrong type.
- @constant kCVReturnAllocationFailed The allocation for a buffer or buffer pool failed. Most likely because of lack of resources.
-
- @constant kCVReturnInvalidDisplay A CVDisplayLink cannot be created for the given DisplayRef.
- @constant kCVReturnDisplayLinkAlreadyRunning The CVDisplayLink is already started and running.
- @constant kCVReturnDisplayLinkNotRunning The CVDisplayLink has not been started.
- @constant kCVReturnDisplayLinkCallbacksNotSet The render and display callbacks or the output callback is not set. You have to set either the render/display pair or the single output callback.
-
- @constant kCVReturnInvalidPixelFormat The requested pixelformat is not supported for the CVBuffer type.
- @constant kCVReturnInvalidSize The requested size (most likely too big) is not supported for the CVBuffer type.
- @constant kCVReturnInvalidPixelBufferAttributes A CVBuffer cannot be created with the given attributes.
- @constant kCVReturnPixelBufferNotOpenGLCompatible The Buffer cannot be used with OpenGL as either its size, pixelformat or attributes are not supported by OpenGL.
-
- @constant kCVReturnPoolAllocationFailed The allocation for the buffer pool failed. Most likely because of lack of resources. Check if your parameters are in range.
- @constant kCVReturnInvalidPoolAttributes A CVBufferPool cannot be created with the given attributes.
- */
-
- enum _CVReturn
- {
- kCVReturnSuccess = 0,
-
- kCVReturnFirst = -6660,
-
- kCVReturnError = kCVReturnFirst,
- kCVReturnInvalidArgument = -6661,
- kCVReturnAllocationFailed = -6662,
-
- // DisplayLink related errors
- kCVReturnInvalidDisplay = -6670,
- kCVReturnDisplayLinkAlreadyRunning = -6671,
- kCVReturnDisplayLinkNotRunning = -6672,
- kCVReturnDisplayLinkCallbacksNotSet = -6673,
-
- // Buffer related errors
- kCVReturnInvalidPixelFormat = -6680,
- kCVReturnInvalidSize = -6681,
- kCVReturnInvalidPixelBufferAttributes = -6682,
- kCVReturnPixelBufferNotOpenGLCompatible = -6683,
-
- // Buffer Pool related errors
- kCVReturnPoolAllocationFailed = -6690,
- kCVReturnInvalidPoolAttributes = -6691,
-
- kCVReturnLast = -6699
+/*!
+ @enum CVReturn
+ @abstract CoreVideo specific error codes
+
+ @constant kCVReturnSuccess Function executed successfully without errors.
+ @constant kCVReturnFirst Placeholder to mark the beginning of the range of CVReturn codes.
+ @constant kCVReturnLast Placeholder to mark the end of the range of CVReturn codes.
+
+ @constant kCVReturnInvalidArgument At least one of the arguments passed in is not valid. Either out of range or the wrong type.
+ @constant kCVReturnAllocationFailed The allocation for a buffer or buffer pool failed. Most likely because of lack of resources.
+
+ @constant kCVReturnInvalidDisplay A CVDisplayLink cannot be created for the given DisplayRef.
+ @constant kCVReturnDisplayLinkAlreadyRunning The CVDisplayLink is already started and running.
+ @constant kCVReturnDisplayLinkNotRunning The CVDisplayLink has not been started.
+ @constant kCVReturnDisplayLinkCallbacksNotSet The render and display callbacks or the output callback is not set. You have to set either the render/display pair or the single output callback.
+
+ @constant kCVReturnInvalidPixelFormat The requested pixelformat is not supported for the CVBuffer type.
+ @constant kCVReturnInvalidSize The requested size (most likely too big) is not supported for the CVBuffer type.
+ @constant kCVReturnInvalidPixelBufferAttributes A CVBuffer cannot be created with the given attributes.
+ @constant kCVReturnPixelBufferNotOpenGLCompatible The Buffer cannot be used with OpenGL as either its size, pixelformat or attributes are not supported by OpenGL.
+
+ @constant kCVReturnPoolAllocationFailed The allocation for the buffer pool failed. Most likely because of lack of resources. Check if your parameters are in range.
+ @constant kCVReturnInvalidPoolAttributes A CVBufferPool cannot be created with the given attributes.
+*/
- };
- typedef int32_t CVReturn;
+enum _CVReturn
+{
+ kCVReturnSuccess = 0,
+
+ kCVReturnFirst = -6660,
+
+ kCVReturnError = kCVReturnFirst,
+ kCVReturnInvalidArgument = -6661,
+ kCVReturnAllocationFailed = -6662,
+
+ // DisplayLink related errors
+ kCVReturnInvalidDisplay = -6670,
+ kCVReturnDisplayLinkAlreadyRunning = -6671,
+ kCVReturnDisplayLinkNotRunning = -6672,
+ kCVReturnDisplayLinkCallbacksNotSet = -6673,
+
+ // Buffer related errors
+ kCVReturnInvalidPixelFormat = -6680,
+ kCVReturnInvalidSize = -6681,
+ kCVReturnInvalidPixelBufferAttributes = -6682,
+ kCVReturnPixelBufferNotOpenGLCompatible = -6683,
+
+ // Buffer Pool related errors
+ kCVReturnPoolAllocationFailed = -6690,
+ kCVReturnInvalidPoolAttributes = -6691,
+
+ kCVReturnLast = -6699
+
+};
+typedef int32_t CVReturn;
#if defined(__cplusplus)
}
diff --git a/include/qt/Carbon.h b/include/qt/Carbon.h
index 9556345ca..b7fa23d9d 100644
--- a/include/qt/Carbon.h
+++ b/include/qt/Carbon.h
@@ -1,17 +1,17 @@
/*
File: Carbon.h
-
+
Contains: Master include for all of Carbon
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CARBON__
#define __CARBON__
diff --git a/include/qt/CarbonCore.h b/include/qt/CarbonCore.h
index 5a75c6728..e4235b6c8 100644
--- a/include/qt/CarbonCore.h
+++ b/include/qt/CarbonCore.h
@@ -1,17 +1,17 @@
/*
File: CarbonCore.h
-
+
Contains: Master include for CarbonCore private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CARBONCORE__
#define __CARBONCORE__
diff --git a/include/qt/CarbonEvents.h b/include/qt/CarbonEvents.h
index 2c13264de..d0a776853 100644
--- a/include/qt/CarbonEvents.h
+++ b/include/qt/CarbonEvents.h
@@ -1,17 +1,17 @@
/*
File: CarbonEvents.h
-
+
Contains: Carbon Event Manager
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2002 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 __CARBONEVENTS__
#define __CARBONEVENTS__
@@ -64,4578 +64,4521 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- * Discussion:
- * These are returned from calls to TrackMouseLocation and
- * TrackMouseRegion. Those routines are designed as replacements to
- * calls such as StillDown and WaitMouseUp. The advantage over those
- * routines is that TrackMouseLocation and TrackMouseRegion will
- * block if the user is not moving the mouse, whereas mouse tracking
- * loops based on StillDown and WaitMouseUp will spin, chewing up
- * valuable CPU time that could be better spent elsewhere. It is
- * highly recommended that any tracking loops in your application
- * stop using StillDown and WaitMouseUp and start using
- * TrackMouseLocation/Region. See the notes on those routines for
- * more information.
- */
- enum {
- kTrackMouseLocationOptionDontConsumeMouseUp = (1 << 0)
- };
-
- typedef UInt16 MouseTrackingResult;
- enum
- {
- kMouseTrackingMouseDown = 1,
- kMouseTrackingMouseUp = 2,
- kMouseTrackingMouseExited = 3,
- kMouseTrackingMouseEntered = 4,
- kMouseTrackingMouseDragged = 5,
- kMouseTrackingKeyModifiersChanged = 6,
- kMouseTrackingUserCancelled = 7,
- kMouseTrackingTimedOut = 8,
- kMouseTrackingMouseMoved = 9
- };
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Helpful utilities */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * IsUserCancelEventRef()
- *
- * Discussion:
- * Tests the event given to see whether the event represents a 'user
- * cancel' event. Currently this is defined to be either the escape
- * key being pressed, or command-period being pressed.
- *
- * Result:
- * A boolean value indicating whether the event is a user cancel
- * event.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsUserCancelEventRef(EventRef event);
-
-
- /*
- * TrackMouseLocation()
- *
- * Discussion:
- * Once entered, this routine waits for certain mouse events (move,
- * mouse down, mouse up). When one of these events occurs, the
- * function returns and tells the caller what happened and where the
- * mouse is currently located. While there is no activity, the
- * current event loop is run, effectively blocking the current
- * thread (save for any timers that fire). This helps to minimize
- * CPU usage when there is nothing going on.
- *
- * On Mac OS X 10.1 and earlier, and CarbonLib 1.5 and earlier,
- * TrackMouseLocation, TrackMouseLocationWithOptions, and
- * TrackMouseRegion only support mouse-tracking when a mouse button
- * is pressed. They cannot be used for mouse-tracking when no mouse
- * button is pressed; if called when no button is pressed, they will
- * simply block until a button is pressed and will not return when
- * the mouse is moved. On Mac OS X 10.2 and CarbonLib 1.6 and later,
- * TrackMouseLocation, TrackMouseLocationWithOptions, and
- * TrackMouseRegion support mouse-tracking without a pressed mouse
- * button; TrackMouseLocation and TrackMouseLocationWithOptions
- * return kMouseTrackingMouseMoved if the mouse is moved while no
- * button is pressed, and TrackMouseRegion returns
- * kMouseTrackingMouseEntered/Exited if the mouse moves into or out
- * of the specified region while no button is pressed.
- *
- * Parameters:
- *
- * inPort:
- * The grafport to consider for mouse coordinates. You can pass
- * NULL for this parameter to indicate the current port. The mouse
- * location is returned in terms of local coordinates of this
- * port. You can pass -1 for this parameter to indicate that the
- * mouse location should be returned in global coordinates instead
- * of local coordinates.
- *
- * outPt:
- * On exit, this parameter receives the mouse location from the
- * last mouse event that caused this function to exit.
- *
- * outResult:
- * On exit, this parameter receives a value representing what kind
- * of event was received that cause the function to exit, such as
- * kMouseTrackingMouseUp.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TrackMouseLocation(
- GrafPtr inPort, /* can be NULL */
- Point * outPt,
- MouseTrackingResult * outResult);
-
-
- /*
- * TrackMouseLocationWithOptions()
- *
- * Discussion:
- * This routine is largely identical to TrackMouseLocation. Please
- * read the notes on that function as well.
- * TrackMouseLocationWithOptions supports additional parameters for
- * leaving mouse-up events in the event queue, specifying a timeout,
- * and retrieving the current mouse position and keyboard modifiers.
- *
- * Parameters:
- *
- * inPort:
- * The grafport to consider for mouse coordinates. You can pass
- * NULL for this parameter to indicate the current port. The mouse
- * location is returned in terms of local coordinates of this
- * port. You can pass -1 for this parameter to indicate that the
- * mouse location should be returned in global coordinates instead
- * of local coordinates.
- *
- * inOptions:
- * The only option supported by this routine at present is
- * kTrackMouseLocationOptionDontConsumeMouseUp, which indicates
- * that the toolbox should leave mouse-up events in the queue. You
- * may also pass zero for this parameter to get the default
- * behavior, which is to remove mouse-up events from the queue
- * before returning.
- *
- * inTimeout:
- * The amount of time to wait for an event. If no events arrive
- * within this time, kMouseTrackingTimedOut is returned in
- * outResult.
- *
- * outPt:
- * On exit, this parameter receives the mouse location from the
- * last mouse event that caused this function to exit. If a
- * timeout or key modifiers changed event caused this function to
- * exit, the current mouse position at the time is returned.
- *
- * outModifiers:
- * On exit, this parameter receives the most recent state of the
- * keyboard modifiers. If a timeout caused this function to exit,
- * the current keyboard modifiers at the time are returned.
- *
- * outResult:
- * On exit, this parameter receives a value representing what kind
- * of event was received that cause the function to exit, such as
- * kMouseTrackingMouseUp.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TrackMouseLocationWithOptions(
- GrafPtr inPort, /* can be NULL */
- OptionBits inOptions,
- EventTimeout inTimeout,
- Point * outPt,
- UInt32 * outModifiers, /* can be NULL */
- MouseTrackingResult * outResult);
-
-
- /*
- * TrackMouseRegion()
- *
- * Discussion:
- * This routine is largely identical to TrackMouseLocation. Please
- * read the notes on that function as well. TrackMouseRegion differs
- * from TrackMouseLocation by only returning when the mouse enters
- * or exits a specified region that you pass in to the function, as
- * opposed to whenever the mouse moves (it also returns for mouse
- * up/down events). This is useful if you don't need to know
- * intermediate mouse events, but rather just if the mouse enters or
- * leaves an area.
- *
- * Parameters:
- *
- * inPort:
- * The grafport to consider for mouse coordinates. You can pass
- * NULL for this parameter to indicate the current port. You can
- * pass -1 for this parameter to indicate that the mouse region
- * should be interpreted in global coordinates instead of local
- * coordinates.
- *
- * inRegion:
- * The region to consider. This should be in the coordinates of
- * the port you passed to inPort, or global coordinates if you
- * passed -1 for the inPort parameter.
- *
- * ioWasInRgn:
- * On entry, this parameter should be set to true if the mouse is
- * currently inside the region passed in inRegion, or false if the
- * mouse is currently outside the region. On exit, this parameter
- * is updated to reflect the current reality; e.g. if the
- * outResult parameter returns kMouseTrackingMouseExited,
- * ioWasInRgn will be set to false when this function exits.
- * Because it is updated from within, you should only need to set
- * this yourself before the first call to this function in your
- * tracking loop.
- *
- * outResult:
- * On exit, this parameter receives a value representing what kind
- * of event was received that cause the function to exit, such as
- * kMouseTrackingMouseEntered.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TrackMouseRegion(
- GrafPtr inPort, /* can be NULL */
- RgnHandle inRegion,
- Boolean * ioWasInRgn,
- MouseTrackingResult * outResult);
-
-
- /*
- * ConvertEventRefToEventRecord()
- *
- * Discussion:
- * This is a convenience routine to help you if there are places in
- * your application where you need an EventRecord and all you have
- * is an EventRef. If the event can be converted, outEvent is filled
- * in and the function returns true. If not, false is returned and
- * outEvent will contain a nullEvent.
- *
- * Parameters:
- *
- * inEvent:
- * The EventRef to convert into an EventRecord.
- *
- * outEvent:
- * The EventRecord to fill out.
- *
- * Result:
- * A boolean indicating if the conversion was successful (true) or
- * not (false).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- ConvertEventRefToEventRecord(
- EventRef inEvent,
- EventRecord * outEvent);
-
-
- /*
- * IsEventInMask()
- *
- * Discussion:
- * This is a companion function for ConvertEventRefToEventRecord,
- * and is provided as a convenience routine to help you if there are
- * places in your application where you want to check an EventRef to
- * see if it matches a classic EventMask bitfield. If the event
- * matches, the function returns true.
- *
- * Parameters:
- *
- * inEvent:
- * The EventRef to convert into an EventRecord.
- *
- * inMask:
- * The mask to consider.
- *
- * Result:
- * A boolean indicating if the event was considered to be in the
- * mask provided.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsEventInMask(
- EventRef inEvent,
- EventMask inMask);
-
-
- /*
- * GetLastUserEventTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventTime)
- GetLastUserEventTime(void);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Mouse Coalescing */
- /*--------------------------------------------------------------------------------------*/
- /*
- * IsMouseCoalescingEnabled()
- *
- * Discussion:
- * Returns true if mouse coalescing is current enabled. When
- * enabled, we coalesce mouse moved and mouse dragged events. By
- * default, coalescing is on, but you can use
- * SetMouseCoalescingEnabled to disable it if you want finer-grained
- * mouse movement events, which is useful for drawing with tablets.
- *
- * Result:
- * A boolean indicating if coalescing is enabled.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(Boolean)
- IsMouseCoalescingEnabled(void);
-
-
- /*
- * SetMouseCoalescingEnabled()
- *
- * Discussion:
- * Allows you to set mouse move/drag event coalescing on or off. By
- * default, coalescing is on, but you can use this function to
- * disable it if you want finer-grained mouse movement events, which
- * is useful for drawing with tablets.
- *
- * Parameters:
- *
- * inNewState:
- * A boolean indicating if coalescing should be enabled (true) or
- * disabled (false).
- *
- * outOldState:
- * A boolean which receives the prior state of mouse coalescing
- * for restoration later. You can pass NULL for this parameter if
- * you don't care.
- *
- * Result:
- * An operating system status result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- SetMouseCoalescingEnabled(
- Boolean inNewState,
- Boolean * outOldState); /* can be NULL */
-
-
-
- /*======================================================================================*/
- /* EVENT CLASSES */
- /*======================================================================================*/
-
- /*
- * Discussion:
- * Event classes
- */
- enum
- {
-
- /*
- * Events related to the mouse (mouse down/up/moved).
- */
- kEventClassMouse = FOUR_CHAR_CODE('mous'),
-
- /*
- * Events related to the keyboard.
- */
- kEventClassKeyboard = FOUR_CHAR_CODE('keyb'),
-
- /*
- * Events related to text input (by keyboard, or by input method).
- */
- kEventClassTextInput = FOUR_CHAR_CODE('text'),
-
- /*
- * Application-level events (launch, quit, etc.).
- */
- kEventClassApplication = FOUR_CHAR_CODE('appl'),
-
- /*
- * Apple Events.
- */
- kEventClassAppleEvent = FOUR_CHAR_CODE('eppc'),
-
- /*
- * Menu-related events.
- */
- kEventClassMenu = FOUR_CHAR_CODE('menu'),
-
- /*
- * Window-related events.
- */
- kEventClassWindow = FOUR_CHAR_CODE('wind'),
-
- /*
- * Control-related events.
- */
- kEventClassControl = FOUR_CHAR_CODE('cntl'),
-
- /*
- * Command events (HICommands).
- */
- kEventClassCommand = FOUR_CHAR_CODE('cmds'),
-
- /*
- * Events related to tablets.
- */
- kEventClassTablet = FOUR_CHAR_CODE('tblt'),
-
- /*
- * Events related to File Manager volumes.
- */
- kEventClassVolume = FOUR_CHAR_CODE('vol '),
-
- /*
- * Events related to the Appearance Manager.
- */
- kEventClassAppearance = FOUR_CHAR_CODE('appm'),
-
- /*
- * Events related to the Services Manager.
- */
- kEventClassService = FOUR_CHAR_CODE('serv'),
-
- /*
- * Events related to toolbars.
- */
- kEventClassToolbar = FOUR_CHAR_CODE('tbar'),
-
- /*
- * Events related to toolbar items.
- */
- kEventClassToolbarItem = FOUR_CHAR_CODE('tbit'),
-
- /*
- * Events related application accessibility.
- */
- kEventClassAccessibility = FOUR_CHAR_CODE('acce')
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* Mouse Events */
- /*--------------------------------------------------------------------------------------*/
- /* Mouse Events */
-
- /*
- * Discussion:
- * Mouse events (kEventClassMouse)
- */
- enum
- {
-
- /*
- * A mouse button was pressed.
- */
- kEventMouseDown = 1,
-
- /*
- * A mouse button was released.
- */
- kEventMouseUp = 2,
-
- /*
- * The mouse was moved.
- */
- kEventMouseMoved = 5,
-
- /*
- * The mouse was moved, and a button was down.
- */
- kEventMouseDragged = 6,
-
- /*
- * The mouse entered a tracking area.
- */
- kEventMouseEntered = 8,
-
- /*
- * The mouse exited a tracking area.
- */
- kEventMouseExited = 9,
-
- /*
- * The mouse wheel was moved. (Mac OS X only)
- */
- kEventMouseWheelMoved = 10
- };
-
- /*
- Parameters for mouse events:
-
- // NOTE: As of Mac OS X 10.1, mouse events carry more information which allow you
- // to do less work and gain accuracy of hit testing. First, there is the
- // kEventParamWindowRef parameter. This parameter tells you what window the
- // mouse click/move/etc occurred over. In mouse dragged events, this is the
- // window the mouse went down in, NOT the window the mouse is currently over.
- // Next, there is the kEventParamWindowMouseLocation parameter. This is the
- // window-relative position of the mouse in the window given in the
- // kEventParamWindowRef parameter. 0, 0 is at the top left of the structure
- // of the window.
-
- kEventMouseDown
- --> kEventParamMouseLocation typeHIPoint
- --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
- --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamMouseButton typeMouseButton
- --> kEventParamClickCount typeUInt32
- --> kEventParamMouseChord typeUInt32 (Mac OS X only)
- --> kEventParamTabletEventType typeUInt32 (Mac OS X 10.1, CarbonLib 1.5, and later)
- --> kEventParamTabletPointRec typeTabletPointRec (if kEventParamTabletEventType is kEventTabletPoint)
- --> kEventParamTabletProximityRec typeTabletProximityRec (if kEventParamTabletEventType is kEventTabletProximity)
-
- kEventMouseUp
- --> kEventParamMouseLocation typeHIPoint
- --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
- --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamMouseButton typeMouseButton
- --> kEventParamClickCount typeUInt32
- --> kEventParamMouseChord typeUInt32 (Mac OS X only)
- --> kEventParamTabletEventType typeUInt32 (Mac OS X 10.1, CarbonLib 1.5, and later)
- --> kEventParamTabletPointRec typeTabletPointRec (if kEventParamTabletEventType is kEventTabletPoint)
- --> kEventParamTabletProximityRec typeTabletProximityRec (if kEventParamTabletEventType is kEventTabletProximity)
-
- kEventMouseMoved
- --> kEventParamMouseLocation typeHIPoint
- --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
- --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
- --> kEventParamMouseDelta typeHIPoint (Mac OS X only)
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamTabletEventType typeUInt32 (Mac OS X 10.1, CarbonLib 1.5, and later)
- --> kEventParamTabletPointRec typeTabletPointRec (if kEventParamTabletEventType is kEventTabletPoint)
- --> kEventParamTabletProximityRec typeTabletProximityRec (if kEventParamTabletEventType is kEventTabletProximity)
-
- kEventMouseDragged
- --> kEventParamMouseLocation typeHIPoint
- --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
- --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
- --> kEventParamMouseDelta typeHIPoint (Mac OS X only)
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamMouseButton typeMouseButton
- --> kEventParamMouseChord typeUInt32 (Mac OS X only)
- --> kEventParamTabletEventType typeUInt32 (Mac OS X 10.1, CarbonLib 1.5, and later)
- --> kEventParamTabletPointRec typeTabletPointRec (if kEventParamTabletEventType is kEventTabletPoint)
- --> kEventParamTabletProximityRec typeTabletProximityRec (if kEventParamTabletEventType is kEventTabletProximity)
-
- kEventMouseEntered
- --> kEventParamMouseTrackingRef typeMouseTrackingRef
- --> kEventParamWindowRef typeWindowRef
- --> kEventParamMouseLocation typeHIPoint
- --> kEventParamWindowMouseLocation typeHIPoint
- --> kEventParamKeyModifiers typeUInt32
-
- kEventMouseExited
- --> kEventParamMouseTrackingRef typeMouseTrackingRef
- --> kEventParamWindowRef typeWindowRef
- --> kEventParamMouseLocation typeHIPoint
- --> kEventParamWindowMouseLocation typeHIPoint
- --> kEventParamKeyModifiers typeUInt32
-
- kEventMouseWheelMoved
- --> kEventParamMouseLocation typeHIPoint
- --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
- --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamMouseWheelAxis typeMouseWheelAxis
- --> kEventParamMouseWheelDelta typeLongInteger
- */
-
- /*
- * EventMouseButton
- *
- */
- typedef UInt16 EventMouseButton;
- enum
- {
-
- /*
- * Only button for a one-button mouse (usually left button for
- * multi-button mouse)
- */
- kEventMouseButtonPrimary = 1,
-
- /*
- * Usually right button for a multi-button mouse
- */
- kEventMouseButtonSecondary = 2,
-
- /*
- * Usually middle button for a three-button mouse
- */
- kEventMouseButtonTertiary = 3
- };
-
-
-
- /*
- * EventMouseWheelAxis
- *
- */
- typedef UInt16 EventMouseWheelAxis;
- enum
- {
-
- /*
- * The X axis (left or right)
- */
- kEventMouseWheelAxisX = 0,
-
- /*
- * The Y axis (up or down)
- */
- kEventMouseWheelAxisY = 1
- };
-
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* Text Input Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Text input events (kEventClassTextInput)
- *
- * Discussion:
- * The following TextInput events reimplement the AppleEvents
- * defined in Inside Mac Text - Text Services Manager, and provide
- * the benefits of Carbon Event targeting, dispatching and
- * propagation to applications that have formerly handled the TSM
- * suite of AppleEvents. TextInput handlers may be installed on
- * controls, windows, or the application event target (equivalent to
- * AppleEvent-based handling). In all cases, if a given TextInput
- * handler is not installed, TSM will convert that TextInput to an
- * AppleEvent and redispatch via AESend to the current process,
- * making adoption as gradual as is desired.
- */
- enum
- {
-
- /*
- * Tells the application/text engine to initiate/terminate or manage
- * the content of inline input session.
- */
- kEventTextInputUpdateActiveInputArea = 1,
-
- /*
- * Unicode text resulting from a key event originated by TSM (not by
- * an input method). A client need not be fully TSM-aware to process
- * or receive this event, which has become the standard way of
- * getting Unicode text from key events. You can also get Mac
- * encoding characters from the raw keyboard event contained in this
- * event. If no UnicodeForKeyEvent handler is installed, and no
- * kUnicodeNotFromInputMethod AppleEvent handler is installed (or the
- * application has not created a Unicode TSMDocument), the Mac
- * encoding charCodes (if these can be converted from the Unicodes)
- * are provided to WaitNextEvent.
- */
- kEventTextInputUnicodeForKeyEvent = 2,
-
- /*
- * Convert from inline session text offset to global QD Point. This
- * event is typically be produced by an Input Method so that it can
- * best position a palette "near" the text being operated on by the
- * user.
- */
- kEventTextInputOffsetToPos = 3,
-
- /*
- * Convert from global QD point to inline session text offset. This
- * event is typically produced by an input method to perform proper
- * cursor management as the cursor moves over various subranges, or
- * clauses of text (or the boundaries between these) in the inline
- * input session.
- */
- kEventTextInputPosToOffset = 4,
-
- /*
- * Show/Hide the bottom line input window. This event is produced by
- * Input Methods to control the Text Services Manager bottom-line
- * input window, and is not normally handled by an application.
- */
- kEventTextInputShowHideBottomWindow = 5,
-
- /*
- * Get the text selected (or character before/after insertion point
- * based on leadingEdge parameter) from the application's text engine.
- */
- kEventTextInputGetSelectedText = 6,
- kEventTextInputUnicodeText = 7
- };
-
- /*
- Parameters for TextInput events:
-
- kEventTextInputUpdateActiveInputArea
- Required parameters:
- --> kEventParamTextInputSendComponentInstance typeComponentInstance
- --> kEventParamTextInputSendRefCon typeLongInteger
- --> kEventParamTextInputSendSLRec typeIntlWritingCode
- --> kEventParamTextInputSendFixLen typeLongInteger
- --> kEventParamTextInputSendText typeUnicodeText, typeChar
- (data type depends on TSMDocument type created via NewTSMDocument...
- typeChar for kTextService document, typeUnicodeText for kUnicodeDocument)
-
- Optional parameters:
- --> kEventParamTextInputSendUpdateRng typeTextRangeArray
- --> kEventParamTextInputSendHiliteRng typeTextRangeArray
- --> kEventParamTextInputSendClauseRng typeOffsetArray
- --> kEventParamTextInputSendPinRng typeTextRange
- --> kEventParamTextInputSendPinRng typeTextRange
- --> kEventParamTextInputSendTextServiceEncoding typeUInt32
- --> kEventParamTextInputSendTextServiceMacEncoding typeUInt32
- --> kEventParamTextInputGlyphInfoArray typeGlyphInfoArray
-
- kEventTextInputUnicodeForKeyEvent
- Required parameters:
- --> kEventParamTextInputSendComponentInstance typeComponentInstance
- --> kEventParamTextInputSendRefCon typeLongInteger
- --> kEventParamTextInputSendSLRec typeIntlWritingCode
- --> kEventParamTextInputSendText typeUnicodeText
- --> kEventParamTextInputSendKeyboardEvent typeEventRef
- (This parameter is the original raw keyboard event that produced the
- text. It enables access to kEventParamKeyModifiers and
- kEventParamKeyCode parameters.
- You can also extract from this event either Unicodes or Mac encoding
- characters as follows:
- kEventParamKeyUnicodes typeUnicodeText
- kEventParamKeyMacCharCodes typeChar (if available)
- The kEventParamKeyUnicodes parameter of the raw keyboard event is
- identical to the TextInput event's kEventParamTextInputSendText
- parameter. Note that when contents of TSM's bottom-line input
- window (i.e. during typing Chinese, Korean, or Japanese) are confirmed,
- the raw keyboard event's keyCode and modifiers are set to default values.)
- --> kEventParamTextInputGlyphInfoArray typeGlyphInfoArray
-
- kEventTextInputOffsetToPos
- Required parameters:
- --> kEventParamTextInputSendComponentInstance typeComponentInstance
- --> kEventParamTextInputSendRefCon typeLongInteger
- --> kEventParamTextInputSendTextOffset typeLongInteger
- <-- kEventParamTextInputReplyPoint typeQDPoint
-
- Optional parameters:
- --> kEventParamTextInputSendSLRec typeIntlWritingCode
- --> kEventParamTextInputSendLeadingEdge typeBoolean
- <-- kEventParamTextInputReplySLRec typeIntlWritingCode
- <-- kEventParamTextInputReplyFont typeLongInteger
- <-- kEventParamTextInputReplyFMFont typeUInt32
- <-- kEventParamTextInputReplyPointSize typeFixed
- <-- kEventParamTextInputReplyLineHeight typeShortInteger
- <-- kEventParamTextInputReplyLineAscent typeShortInteger
- <-- kEventParamTextInputReplyTextAngle typeFixed
-
- kEventTextInputPosToOffset
- Required parameters:
- --> kEventParamTextInputSendComponentInstance typeComponentInstance
- --> kEventParamTextInputSendRefCon typeLongInteger
- --> kEventParamTextInputSendCurrentPoint typeQDPoint
- <-- kEventParamTextInputReplyRegionClass typeLongInteger
- <-- kEventParamTextInputReplyTextOffset typeLongInteger
- (required if the position is inside the document's body)
-
- Optional parameters:
- --> kEventParamTextInputSendDraggingMode typeBoolean
- <-- kEventParamTextInputReplyLeadingEdge typeBoolean
- <-- kEventParamTextInputReplySLRec typeIntlWritingCode
-
- kEventTextInputShowHideBottomWindow
- Required parameters:
- --> kEventParamTextInputSendComponentInstance typeComponentInstance
- --> kEventParamTextInputSendRefCon typeLongInteger
-
- Optional parameters:
- --> kEventParamTextInputSendShowHide typeBoolean
- <-- kEventParamTextInputReplyShowHide typeBoolean
-
- kEventTextInputGetSelectedText
- Required parameters:
- --> kEventParamTextInputSendComponentInstance typeComponentInstance
- --> kEventParamTextInputSendRefCon typeLongInteger
-
- Optional parameters:
- --> kEventParamTextInputSendLeadingEdge typeBoolean
- --> kEventParamTextInputSendTextServiceEncoding typeUInt32
- --> kEventParamTextInputSendTextServiceMacEncoding typeUInt32
- <-- kEventParamTextInputReplyText typeUnicodeText, typeChar
- (data type depends on TSMDocument. See kEventTextInputUpdateActiveInputArea Notes)
- <-- kEventParamTextInputReplySLRec typeIntlWritingCode
- <-- kEventParamTextInputGlyphInfoArray typeGlyphInfoArray
-
- kEventTextInputUnicodeText
- Required parameters:
- --> kEventParamTextInputSendComponentInstance typeComponentInstance
- --> kEventParamTextInputSendSLRec typeIntlWritingCode
- --> kEventParamTextInputSendText typeUnicodeText
-
- Optional parameters:
- --> kEventParamTextInputSendTextServiceEncoding typeUInt32
- --> kEventParamTextInputSendTextServiceMacEncoding typeUInt32
- --> kEventParamTextInputGlyphInfoArray typeGlyphInfoArray
-
- */
- /*--------------------------------------------------------------------------------------*/
- /* Raw Keyboard Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Keyboard events (kEventClassKeyboard)
- *
- * Discussion:
- * These events are the lowest-level keyboard events.
- */
- enum
- {
-
- /*
- * A key was pressed.
- */
- kEventRawKeyDown = 1, /* hardware-level events*/
-
- /*
- * Sent periodically as a key is held down by the user.
- */
- kEventRawKeyRepeat = 2,
-
- /*
- * A key was released.
- */
- kEventRawKeyUp = 3,
-
- /*
- * The keyboard modifiers (bucky bits) have changed.
- */
- kEventRawKeyModifiersChanged = 4,
-
- /*
- * A registered Hot Key was pressed.
- */
- kEventHotKeyPressed = 5,
-
- /*
- * A registered Hot Key was released (this is only sent on Mac OS X).
- */
- kEventHotKeyReleased = 6 /* Mac OS X only*/
- };
-
-
-
- /*
- * Summary:
- * Key modifier change event bits and masks
- *
- * Discussion:
- * From bit 8, cmdKeyBit, to bit 15, rightControlKeyBit, are
- * compatible with Event Manager modifiers.
- */
- enum
- {
-
- /*
- * The Num Lock state bit (Mac OS X only).
- */
- kEventKeyModifierNumLockBit = 16, /* Num Lock is on? (Mac OS X only)*/
-
- /*
- * The Fn key state bit (Mac OS X only).
- */
- kEventKeyModifierFnBit = 17 /* Fn key is down? (Mac OS X only)*/
- };
-
- enum
- {
- kEventKeyModifierNumLockMask = 1L << kEventKeyModifierNumLockBit,
- kEventKeyModifierFnMask = 1L << kEventKeyModifierFnBit
- };
-
- /*
- Parameters for keyboard events:
-
- kEventRawKeyDown
- --> kEventParamKeyMacCharCodes typeChar
- --> kEventParamKeyCode typeUInt32
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamKeyboardType typeUInt32
-
- kEventRawKeyRepeat
- --> kEventParamKeyMacCharCodes typeChar
- --> kEventParamKeyCode typeUInt32
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamKeyboardType typeUInt32
-
- kEventRawKeyUp
- --> kEventParamKeyMacCharCodes typeChar
- --> kEventParamKeyCode typeUInt32
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamKeyboardType typeUInt32
-
- kEventRawKeyModifiersChanged
- --> kEventParamKeyModifiers typeUInt32
-
- kEventHotKeyPressed
- --> kEventParamDirectObject typeEventHotKeyID
-
- kEventHotKeyReleased
- --> kEventParamDirectObject typeEventHotKeyID
- */
-
- /*--------------------------------------------------------------------------------------*/
- /* Application Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Application events (kEventClassApplication)
- */
- enum
- {
-
- /*
- * The current app has been activated (resume event). May optionally
- * contain a kEventParamWindowRef parameter if a click on an
- * application window was the cause of the app activation.
- */
- kEventAppActivated = 1,
-
- /*
- * The current app has just been deactivated (suspend event).
- */
- kEventAppDeactivated = 2,
-
- /*
- * Request to quit. Sent by QuitApplicationEventLoop to the
- * application target. In response, the event handler installed by
- * RunApplicationEventLoop will cause RunApplicationEventLoop to
- * exit. Most applications will not need to handle this event;
- * instead, an application should install an AppleEvent handler for
- * the kAEQuitApplication event handler if it needs to check for
- * unsaved documents or do other cleanup before quitting.
- */
- kEventAppQuit = 3,
-
- /*
- * An async launch request response. This event is received when you
- * use LaunchServices to launch a process asynchronously. It is only
- * received on Mac OS X.
- */
- kEventAppLaunchNotification = 4,
-
- /*
- * Another app was launched. Available on Mac OS X and CarbonLib
- * 1.3.1 and later.
- */
- kEventAppLaunched = 5,
-
- /*
- * Another app terminated. Available on Mac OS X and CarbonLib 1.3.1
- * and later.
- */
- kEventAppTerminated = 6,
-
- /*
- * The front (active) application has changed. Available on Mac OS X
- * and CarbonLib 1.3.1 and later.
- */
- kEventAppFrontSwitched = 7,
-
- /*
- * The user has requested keyboard focus on the menubar. This event
- * is handled automatically by the default application event handler
- * installed by the Carbon Event Manager. Sent on Mac OS X 10.2 and
- * later.
- */
- kEventAppFocusMenuBar = 8,
-
- /*
- * The user has requested keyboard focus on a document window. The
- * application should cycle to the next (or previous, if the shift
- * key is down) document window, or if there are no more windows to
- * activate in the application's window list, to the next or previous
- * document window in the next or previous process. User focus (see
- * SetUserFocusWindow) should be applied to the new front document
- * window. If something other than a document window has the focus at
- * the time you receive this event, the frontmost document window
- * should be given the user focus instead, and no z-order change
- * should be made. Additionally, the keyboard focus should be moved
- * to the main control in the newly focused window if no keyboard
- * focus exists within the window. This event is handled
- * automatically by the default application event handler installed
- * by the Carbon Event Manager. An application which chooses to
- * handle this event should never override it entirely; if necessary,
- * it should only check if the user focus is somewhere other than a
- * document window, and if so, set the focus on the active document
- * window. If the focus is already on a document window, a handler
- * for this event should always return eventNotHandledErr so that the
- * default handler can rotate to the next window across all
- * processes. Sent on Mac OS X 10.2 and later.
- */
- kEventAppFocusNextDocumentWindow = 9,
-
- /*
- * The application should cycle to the next (or previous, if the
- * shift key is down) floating window in the application. User focus
- * (see SetUserFocusWindow) should be applied to the new front
- * floating window. If something other than a floating window has the
- * focus at the time you receive this event, the frontmost floating
- * window should be given the user focus instead, and no z-order
- * change should be made. Additionally, the keyboard focus should be
- * moved to the main control in the newly focused window if no
- * keyboard focus exists within the window. This event is handled
- * automatically by the default application event handler installed
- * by the Carbon Event Manager. The default handler sends a
- * kEventCommandProcess event containing
- * kHICommandRotateFloatingWindowsForward/Backward when it detects
- * that floating windows should be cycled. Sent on Mac OS X 10.2 and
- * later.
- */
- kEventAppFocusNextFloatingWindow = 10,
-
- /*
- * The application should put focus on the first control in the
- * toolbar in the focused window, if a toolbar is present. For
- * windows that use the standard Toolbar control, this event is
- * handled automatically by the default application event handler
- * installed by the Carbon Event Manager. Sent on Mac OS X 10.2 and
- * later.
- */
- kEventAppFocusToolbar = 11,
-
- /*
- * A request for a menu to be displayed by the application's dock
- * tile. The default handler will return the menu, if any, that was
- * provided by the SetApplicationDockTileMenu API. The sender of this
- * event will release the menu after the Dock has displayed it, so if
- * you return a permanently allocated MenuRef, you should call
- * RetainMenu on it before returning from your event handler. For
- * most applications, it will be easier to use the
- * SetApplicationDockTileMenu API directly rather than installing a
- * handler for this event. Available in Mac OS X 10.1 and later.
- */
- kEventAppGetDockTileMenu = 20,
-
- /*
- * The application was just hidden. Sent on Mac OS X 10.2 and later.
- */
- kEventAppHidden = 107,
-
- /*
- * The application was just shown. It was previously hidden. Sent on
- * Mac OS X 10.2 and later.
- */
- kEventAppShown = 108,
-
- /*
- * The system UI mode of the frontmost application has changed. Sent
- * on Mac OS X 10.2 and later.
- */
- kEventAppSystemUIModeChanged = 109
- };
-
- /*
- Parameters for application events:
-
- kEventAppActivated
- --> kEventParamWindowRef typeWindowRef
-
- kEventAppDeactivated
- (no parameters)
-
- kEventAppQuit
- (no parameters)
-
- kEventAppLaunchNotification
- --> kEventParamProcessID typeProcessSerialNumber
- --> kEventParamLaunchRefCon typeUInt32
- --> kEventParamLaunchErr typeOSStatus
-
- kEventAppLaunched
- --> kEventParamProcessID typeProcessSerialNumber
-
- kEventAppTerminated
- --> kEventParamProcessID typeProcessSerialNumber
-
- kEventAppFrontSwitched
- --> kEventParamProcessID typeProcessSerialNumber
-
- kEventAppFocusMenuBar
- --> kEventParamKeyModifiers typeUInt32
-
- kEventAppFocusNextDocumentWindow
- --> kEventParamKeyModifiers typeUInt32
-
- kEventAppFocusNextFloatingWindow
- --> kEventParamKeyModifiers typeUInt32
-
- kEventAppFocusToolbar
- --> kEventParamKeyModifiers typeUInt32
-
- kEventAppGetDockTileMenu
- <-- kEventParamMenuRef typeMenuRef
-
- kEventAppHidden
- (no parameters)
-
- kEventAppShown
- (no parameters)
-
- kEventAppSystemUIModeChanged
- --> kEventParamSystemUIMode typeUInt32
- */
- /*--------------------------------------------------------------------------------------*/
- /* Apple Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Apple events (kEventClassAppleEvent)
- */
- enum
- {
-
- /*
- * Sent when a high-level event is received. The default handler will
- * call AEProcessAppleEvent.
- */
- kEventAppleEvent = 1
- };
-
-
- /*
- Parameters for Apple events:
-
- kEventAppleEvent
- --> kEventParamAEEventClass typeType // the eventClass of the Apple event
- --> kEventParamAEEventID typeType // the eventID of the Apple event
- */
- /*--------------------------------------------------------------------------------------*/
- /* Window Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Window refresh events (kEventClassWindow)
- *
- * Discussion:
- * Events related to drawing a window's content.
- */
- enum
- {
-
- /*
- * Low-level update event. Sent to any window that needs updating
- * regardless of whether the window has the standard handler
- * installed. You must call BeginUpdate, call SetPort, draw your
- * window content, and then call EndUpdate.
- */
- kEventWindowUpdate = 1,
-
- /*
- * Only sent to windows with the standard handler installed.
- * BeginUpdate, SetPort, and EndUpdate are called for you; all you do
- * is draw. No, really.
- */
- kEventWindowDrawContent = 2
- };
-
- /*
- Parameters for window refresh events:
-
- kEventWindowUpdate
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowDrawContent
- --> kEventParamDirectObject typeWindowRef
- */
-
- /*
- * Summary:
- * Window activation events (kEventClassWindow)
- *
- * Discussion:
- * Events related to activating and deactivating a window.
- */
- enum
- {
-
- /*
- * The window is active now. Sent to any window that is activated,
- * regardless of whether the window has the standard handler
- * installed.
- */
- kEventWindowActivated = 5,
-
- /*
- * The window is inactive now. Sent to any window that is
- * deactivated, regardless of whether the window has the standard
- * handler installed.
- */
- kEventWindowDeactivated = 6,
-
- /*
- * Sent when a click occurs in a background window. Only sent to
- * windows with the standard handler installed. The default behavior
- * is to bring the window forward and eat the click. You have the
- * option of overriding the behavior to support click-thru or
- * select-and-click.
- */
- kEventWindowGetClickActivation = 7
- };
-
- /*
- Parameters for window activation events:
-
- kEventWindowActivated
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowDeactivated
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowGetClickActivation
- --> kEventParamDirectObject typeWindowRef
- --> kEventParamMouseLocation typeQDPoint
- --> kEventParamKeyModifiers typeUInt32
- --> kEventParamWindowDefPart typeWindowDefPartCode
- --> kEventParamControlRef typeControlRef (only present if the click was on a control)
- <-- kEventParamClickActivation typeClickActivationResult
- */
-
- /*
- * Summary:
- * Window state change events (kEventClassWindow)
- *
- * Discussion:
- * Events that notify of a change in the window's state. These
- * events are sent to all windows, regardless of whether the window
- * has the standard handler installed.
- */
- enum
- {
-
- /*
- * A window is being shown. This is sent inside ShowHide.
- */
- kEventWindowShowing = 22,
-
- /*
- * A window is being hidden. This is sent inside ShowHide.
- */
- kEventWindowHiding = 23,
-
- /*
- * Indicates that the window has been shown.
- */
- kEventWindowShown = 24,
-
- /*
- * Indicates that the window has been hidden.
- */
- kEventWindowHidden = 25,
-
- /*
- * Notification that the window is about to collapse. Available in
- * Mac OS X 10.1 and later.
- */
- kEventWindowCollapsing = 86,
-
- /*
- * Notification that the window has successfully collapsed.
- */
- kEventWindowCollapsed = 67,
-
- /*
- * Notification that the window is about to expand. Available in Mac
- * OS X 10.1 and later.
- */
- kEventWindowExpanding = 87,
-
- /*
- * Notification that the window has successfully expanded.
- */
- kEventWindowExpanded = 70,
-
- /*
- * Notification that the window has been successfully zoomed. In
- * CarbonLib 1.1 through CarbonLib 1.4, and Mac OS X 10.0 through
- * 10.1.x, this event is only sent by the standard window event
- * handler after handling kEventWindowZoom; starting with CarbonLib
- * 1.5 and Mac OS X 10.2, this event is sent by ZoomWindow and
- * ZoomWindowIdeal.
- */
- kEventWindowZoomed = 76,
-
- /*
- * Sent during DragWindow or ResizeWindow, before the window is
- * actually moved or resized. Alter the current bounds
- * (kEventParamCurrentBounds) in the event to change the eventual
- * location of the window. You may change the size, origin, or both
- * of the window's bounds. Do not, however, call SizeWindow or
- * SetWindowBounds yourself from inside a handler for this event.
- *
- * In Mac OS X 10.1 and later, kEventWindowBoundsChanging is sent
- * before all changes to a window's bounds, regardless of whether the
- * change is initiated by the user or by a direct call to a Window
- * Manager API. Applications may intercept the event and modify the
- * bounds. When the event is sent because of a direct call to the
- * Window Manager, the kWindowBoundsChangeUserDrag/Resize attribute
- * bits will not be set.
- */
- kEventWindowBoundsChanging = 26,
-
- /*
- * Indicates that the window has been moved or resized (or both). Do
- * not call SizeWindow or SetWindowBounds from inside a handler for
- * this event; if you need to enforce a certain window bounds,
- * install a kEventWindowBoundsChanging handler instead.
- */
- kEventWindowBoundsChanged = 27,
-
- /*
- * Indicates that the user has just started to resize a window.
- */
- kEventWindowResizeStarted = 28,
-
- /*
- * Indicates that the user has just finished resizing a window.
- */
- kEventWindowResizeCompleted = 29,
-
- /*
- * Indicates that the user has just started to drag a window.
- */
- kEventWindowDragStarted = 30,
-
- /*
- * Indicates that the user has just finished dragging a window.
- */
- kEventWindowDragCompleted = 31,
-
- /*
- * Dispatched by DisposeWindow before the window is disposed.
- */
- kEventWindowClosed = 73
- };
-
-
- /*
- * Summary:
- * Window bounds change event attributes
- *
- * Discussion:
- * When the toolbox sends out a kEventWindowBoundsChanging or
- * kEventWindowBoundsChanged event, it also sends along a parameter
- * containing attributes of the event. These attributes can be used
- * to determine what aspect of the window changed (origin, size, or
- * both), and whether or not some user action is driving the change
- * (drag or resize).
- */
- enum
- {
-
- /*
- * The bounds is changing because the user is dragging the window
- * around.
- */
- kWindowBoundsChangeUserDrag = (1 << 0),
-
- /*
- * The bounds is changing because the user is resizing the window.
- */
- kWindowBoundsChangeUserResize = (1 << 1),
-
- /*
- * The dimensions of the window (width and height) are changing.
- */
- kWindowBoundsChangeSizeChanged = (1 << 2),
-
- /*
- * The top left corner (origin) is changing.
- */
- kWindowBoundsChangeOriginChanged = (1 << 3),
-
- /*
- * The bounds is changing because ZoomWindow or ZoomWindowIdeal was
- * called. Note that this flag does not imply any user interaction;
- * if the application calls ZoomWindow itself without user request,
- * this flag will still be set. Available in Mac OS X 10.2 and
- * CarbonLib 1.6, and later.
- */
- kWindowBoundsChangeZoom = (1 << 4)
- };
-
-
- /*
- Parameters for window state change events:
-
- kEventWindowShowing
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowHiding
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowShown
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowHidden
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowBoundsChanging
- --> kEventParamDirectObject typeWindowRef
- --> kEventParamAttributes typeUInt32
- --> kEventParamOriginalBounds typeQDRectangle
- --> kEventParamPreviousBounds typeQDRectangle
- <-> kEventParamCurrentBounds typeQDRectangle
-
- kEventWindowBoundsChanged
- --> kEventParamDirectObject typeWindowRef
- --> kEventParamAttributes typeUInt32
- --> kEventParamOriginalBounds typeQDRectangle
- --> kEventParamPreviousBounds typeQDRectangle
- --> kEventParamCurrentBounds typeQDRectangle
-
- kEventWindowResizeStarted
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowResizeCompleted
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowDragStarted
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowDragCompleted
- --> kEventParamDirectObject typeWindowRef
- */
-
- /*
- * Summary:
- * Window click events (kEventClassWindow)
- *
- * Discussion:
- * Low-level events which generate higher-level "action" events.
- * These events are only generated for windows with the standard
- * window handler installed. Most clients should allow the standard
- * handler to implement these events.
- *
- * Window click events are generated from lower-level
- * kEventMouseDown events by copying the mouse event and changing
- * the class and kind, so window click events will have all of the
- * parameters of the mouse down event, in addition to those
- * parameters documented here that are specific to the window events.
- */
- enum
- {
-
- /*
- * Sent when the mouse is down in the drag region. The standard
- * handler calls DragWindow.
- */
- kEventWindowClickDragRgn = 32,
-
- /*
- * Sent when the mouse is down in the resize area. The standard
- * handler calls ResizeWindow.
- */
- kEventWindowClickResizeRgn = 33,
-
- /*
- * Sent when the mouse is down in the collapse widget. The standard
- * handler calls CollapseWindow, and then generates
- * kEventWindowExpand or kEventWindowCollapse (whichever is the
- * opposite of the window's original collapse state).
- */
- kEventWindowClickCollapseRgn = 34,
-
- /*
- * Sent when the mouse is down in the close widget. The standard
- * handler calls TrackGoAway, and then generates kEventWindowClose.
- */
- kEventWindowClickCloseRgn = 35,
-
- /*
- * Sent when the mouse is down in the zoom widget. The standard
- * handler calls TrackBox, and then generates kEventWindowZoom.
- */
- kEventWindowClickZoomRgn = 36,
-
- /*
- * Sent when the mouse is down in the content region. The standard
- * handler checks for contextual menu clicks and clicks on controls,
- * and sends kEventWindowContextualMenuSelect, kEventControlClick,
- * and kEventWindowHandleContentClick events as appropriate.
- */
- kEventWindowClickContentRgn = 37,
-
- /*
- * Sent when the mouse is down in the proxy icon. The standard
- * handler handles proxy icon dragging, and generates proxy icon
- * events.
- */
- kEventWindowClickProxyIconRgn = 38,
-
- /*
- * Sent when the mouse is down in the toolbar button. The standard
- * handler calls TrackBox, and then generates
- * kEventWindowToolbarSwitchMode. (Mac OS X only)
- */
- kEventWindowClickToolbarButtonRgn = 41,
-
- /*
- * Sent when the mouse is down in some part of the window structure
- * other than the window widgets, drag region, or resize region.
- */
- kEventWindowClickStructureRgn = 42
- };
-
-
-
-
- /*
- * Summary:
- * Window cursor change events (kEventClassWindow)
- */
- enum
- {
-
- /*
- * Sent when the mouse is moving over the content region. Available
- * in Mac OS X and in CarbonLib 1.5 and later. This event is used to
- * manage ownership of the cursor. You should only change the cursor
- * if you receive this event; otherwise, someone else needed to
- * adjust the cursor and handled the event (e.g., a TSM Input Method
- * when the mouse is over an inline input region). This event is only
- * sent to the window itself; it is not propagated to controls in the
- * window.
- */
- kEventWindowCursorChange = 40
- };
-
- /*
- Parameters for window cursor change events:
-
- kEventWindowCursorChange
- --> kEventParamDirectObject typeWindowRef
- --> kEventParamMouseLocation typeQDPoint
- --> kEventParamKeyModifiers typeUInt32
- */
-
- /*
- * Summary:
- * Window action events
- *
- * Discussion:
- * Events which indicate that certain changes have been made to the
- * window. These events have greater semantic meaning than the
- * low-level window click events and are usually prefered for
- * overriding.
- */
- enum
- {
-
- /*
- * If the window is not collapsed, this event is sent by the standard
- * window handler after it has received kEventWindowClickCollapseRgn
- * and received true from a call to TrackBox. The standard window
- * handler calls CollapseWindow, which sends kEventWindowCollapsing
- * and kEventWindowCollapsed.
- */
- kEventWindowCollapse = 66,
-
- /*
- * Sent by the standard window handler (when the option key is down)
- * after it has received kEventWindowClickCollapseRgn and then
- * received true from a call to TrackBox. The standard window
- * handler's response is to send each window of the same class as the
- * clicked window a kEventWindowCollapse event.
- */
- kEventWindowCollapseAll = 68,
-
- /*
- * If the window is collapsed, this event is sent by the standard
- * window handler after it has received kEventWindowClickCollapseRgn
- * and received true from a call to TrackBox. The standard window
- * handler's response is to call CollapseWindow, which sends
- * kEventWindowExpanding and kEventWindowExpanded. Note that you will
- * not receive this event before a window is expanded from the dock,
- * since minimized windows in the dock don't uses collapse boxes to
- * unminimize. However, you will still receive kEventWindowExpanding
- * and kEventWindowExpanded in that case.
- */
- kEventWindowExpand = 69,
-
- /*
- * Sent by the standard window handler (when the option key is down)
- * after it has received kEventWindowClickCollapseRgn and then
- * received true from a call to TrackBox. The standard window
- * handler's response is to send each window of the same class as the
- * clicked window a kEventWindowExpand event.
- */
- kEventWindowExpandAll = 71,
-
- /*
- * Sent by the standard window handler after it has received
- * kEventWindowClickCloseRgn and successfully called TrackBox. Your
- * application might intercept this event to check if the document is
- * dirty, and display a Save/Don'tSave/Cancel alert.
- */
- kEventWindowClose = 72,
-
- /*
- * Sent by the standard window handler (when the option key is down)
- * after it has received kEventWindowClickCloseRgn and received true
- * from a call to TrackGoAway. The standard window handler's
- * response is to send each window with the same class as the clicked
- * window a kEventWindowClose event.
- */
- kEventWindowCloseAll = 74,
-
- /*
- * Sent by the standard window handler upon receiving
- * kEventWindowClickZoomRgn and then receiving true from a call to
- * TrackBox. The standard window handler's response is to zoom the
- * window using ZoomWindowIdeal. Upon successful zoom,
- * kEventWindowZoomed is sent.
- */
- kEventWindowZoom = 75,
-
- /*
- * Sent by the standard window handler (when the option key is down)
- * after it has received kEventObjectClickZoomRgn and received true
- * from a call to TrackBox. The standard window handler's response
- * is to send each window with the same class as the clicked window a
- * kEventObjectZoom event and then to reposition all zoomed windows
- * using the kWindowCascadeOnParentWindowScreen positioning method.
- */
- kEventWindowZoomAll = 77,
-
- /*
- * Sent when either the right mouse button is pressed, or the control
- * key is held down and the left mouse button is pressed. The
- * standard window handler ignores this event.
- */
- kEventWindowContextualMenuSelect = 78,
-
- /*
- * Sent when IsWindowPathSelectClick would return true. Set the
- * MenuRef in the event if you wish to customize the menu passed to
- * WindowPathSelect.
- */
- kEventWindowPathSelect = 79,
-
- /*
- * Sent by the standard window handler to determine the ideal size of
- * the window's content region (used during window zooming).
- */
- kEventWindowGetIdealSize = 80,
-
- /*
- * Sent by the standard window handler to determine the minimum size
- * of the window's content region (used during window resizing). On
- * Mac OS X 10.2 and CarbonLib 1.6 and later, this event is also sent
- * by ResizeWindow and GrowWindow if the sizeConstraints parameter is
- * NULL.
- */
- kEventWindowGetMinimumSize = 81,
-
- /*
- * Sent by the standard window handler to determine the maximum size
- * of the window's content region (used during window resizing). On
- * Mac OS X 10.2 and CarbonLib 1.6 and later, this event is also sent
- * by ResizeWindow and GrowWindow if the sizeConstraints parameter is
- * NULL.
- */
- kEventWindowGetMaximumSize = 82,
-
- /*
- * Sent by the Window Manager to warn of a change in the available
- * window positioning bounds on the window (i.e., screen resolution
- * or Dock size change). Available only in Mac OS X. In Mac OS
- * 10.0.x, the standard window handler always constrains the window
- * to the rect returned by GetAvailableWindowPositioningBounds for
- * the window's device. In Mac OS 10.1 and later, event handlers may
- * change the rect in the kEventParamAvailableBounds parameter, and
- * the standard window handler will constrain the window to that
- * rectangle. In Mac OS X 10.2, this event may optionally contain a
- * kEventParamAttributes parameter; if present, this parameter should
- * be formed from constants in the WindowConstrainOptions
- * enumeration. The standard window handler will pass these
- * attributes to ConstrainWindowToScreen. If this event parameter is
- * not present, the standard window handler passes
- * kWindowConstrainMoveRegardlessOfFit to ConstrainWindowToScreen in
- * 10.0.x, and kWindowConstrainMoveRegardlessOfFit |
- * kWindowConstrainAllowPartial in Mac OS 10.1 and later. In Mac OS X
- * 10.2, this event may optionally contain a
- * kEventParamWindowRegionCode parameter; if present, this parameter
- * should be a WindowRegionCode. The standard window handler will
- * pass this code to ConstrainWindowToScreen. If this event parameter
- * is not present, the standard window handler passes kWindowDragRgn
- * to ContrainWindowToScreen. In Mac OS X 10.2, this event may
- * optionally contain a kEventParamRgnHandle parameter; if present,
- * this parameter is a RgnHandle containing the GrayRgn before a
- * GDevice configuration change. An event handler may compare this
- * region with the current GrayRgn to more intelligently determine
- * whether the window should be constrained to current GrayRgn. The
- * standard window handler in Mac OS X 10.2 will not constrain
- * windows that were not onscreen before the device configuration
- * change. In Mac OS X 10.2, this event may optionally contain
- * kEventParamPreviousDockRect and kEventParamCurrentDockRect
- * parameters; if present, these parameters contain the previous and
- * current bounds of the Dock.
- */
- kEventWindowConstrain = 83,
-
- /*
- * Sent by the standard window handler in response to
- * kEventWindowClickContentRgn when a mouse click is in the content
- * region but is not a contextual menu invocation or a click on a
- * control. Available starting with Mac OS X and CarbonLib 1.3.1.
- */
- kEventWindowHandleContentClick = 85,
-
- /*
- * A request for a menu to be displayed by a window's dock tile. The
- * basic window handler will return the menu, if any, that was
- * provided by the SetWindowDockTileMenu API. The sender of this
- * event will release the menu after the Dock has displayed it, so if
- * you return a permanently allocated MenuRef, you should call
- * RetainMenu on it before returning from your event handler. For
- * most applications, it will be easier to use the
- * SetWindowDockTileMenu API directly rather than installing a
- * handler for this event. Available in Mac OS X 10.2 and later.
- */
- kEventWindowGetDockTileMenu = 90,
-
- /*
- * Sent before a proxy icon drag; you can attach data to the DragRef
- * in the event.
- */
- kEventWindowProxyBeginDrag = 128,
-
- /*
- * Sent after the proxy icon drag is complete, whether successful or
- * not.
- */
- kEventWindowProxyEndDrag = 129,
-
- /*
- * Sent by the standard window handler in response to
- * kEventWindowClickToolbarButtonRgn and then receiving true from a
- * call to TrackBox. You actually DO NOT need to use the standard
- * window event handler to receive this event. Any window with the
- * toolbar button will receive this event if the toolbar button is
- * clicked. The Toolbox does not track the state of the toolbar. We
- * only report that the button was clicked. The application should
- * react accordingly. Available in Mac OS X only.
- */
- kEventWindowToolbarSwitchMode = 150
- };
-
- /*
- Parameters for window action events:
-
- kEventWindowCollapse
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowCollapsed
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowCollapseAll
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowExpand
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowExpanded
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowExpandAll
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowClose
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowClosed
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowCloseAll
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowZoom
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowZoomed
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowZoomAll
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowContextualMenuSelect
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowPathSelect
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowGetIdealSize
- --> kEventParamDirectObject typeWindowRef
- <-- kEventParamDimensions typeQDPoint
-
- kEventWindowGetMinimumSize
- --> kEventParamDirectObject typeWindowRef
- <-- kEventParamDimensions typeQDPoint
-
- kEventWindowGetMaximumSize
- --> kEventParamDirectObject typeWindowRef
- <-- kEventParamDimensions typeQDPoint
-
- kEventWindowConstrain
- --> kEventParamDirectObject typeWindowRef
- --> kEventParamAvailableBounds typeQDRectangle
- --> kEventParamAttributes typeUInt32 (optional; available in Jaguar)
- --> kEventParamWindowRegionCode typeWindowRegionCode (optional; available in Jaguar)
- --> kEventParamRgnHandle typeQDRgnHandle (optional; available in Jaguar)
- --> kEventParamPreviousDockRect typeHIRect (available in Jaguar)
- --> kEventParamCurrentDockRect typeHIRect (available in Jaguar)
-
- kEventWindowHandleContentClick
- --> kEventParamDirectObject typeWindowRef
- --> [other parameters from kEventMouseDown]
-
- kEventWindowGetDockTileMenu
- --> kEventParamDirectObject typeWindowRef
- <-- kEventParamMenuRef typeMenuRef
-
- kEventWindowProxyBeginDrag
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowProxyEndDrag
- --> kEventParamDirectObject typeWindowRef
- */
-
- /*
- * Summary:
- * Window focus events (kEventClassWindow)
- *
- * Discussion:
- * Events related to focus changes between windows. These events are
- * generated by SetUserFocusWindow; since that API is only called by
- * default by the standard window handler, these events are normally
- * only sent to windows with the standard handler installed.
- */
- enum
- {
-
- /*
- * The user (or some other action) has caused the focus to shift to
- * your window. In response to this, you should focus any control
- * that might need to be focused. The standard window handler calls
- * SetKeyboardFocus to hilite the first control in the window.
- */
- kEventWindowFocusAcquired = 200,
-
- /*
- * The toolbox is notifying you of a focus change. You should make
- * sure to unhilite the focus, etc. The standard window handler
- * clears the current keyboard focus.
- */
- kEventWindowFocusRelinquish = 201,
-
- /*
- * If the content area of your window is not already focused, you
- * should set the focus to the main part/control/view of the window.
- * If the content area of your window is already focused, do nothing.
- * Sent on Mac OS X 10.2 and later.
- */
- kEventWindowFocusContent = 202,
-
- /*
- * If your window's toolbar is not already focused, you should set
- * the focus to the first item in the toolbar. If your window's
- * toolbar is already focused, do nothing. Sent on Mac OS X 10.2 and
- * later.
- */
- kEventWindowFocusToolbar = 203
- };
-
- /*
- Parameters for window focus events:
-
- kEventWindowFocusAcquire
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowFocusRelinquish
- --> kEventParamDirectObject typeWindowRef
- */
-
- /*
- * Summary:
- * Carbon events related to drawers.
- */
- enum
- {
-
- /*
- * Sent to the drawer and its parent window when the drawer begins
- * opening. An event handler for this event may return
- * userCanceledErr if the drawer should not open.
- */
- kEventWindowDrawerOpening = 220,
-
- /*
- * Sent to the drawer and its parent window when the drawer is fully
- * open.
- */
- kEventWindowDrawerOpened = 221,
-
- /*
- * Sent to the drawer and its parent window when the drawer begins
- * closing. An event handler for this event may return
- * userCanceledErr if the drawer should not close.
- */
- kEventWindowDrawerClosing = 222,
-
- /*
- * Sent to the drawer and its parent window when the drawer is fully
- * closed.
- */
- kEventWindowDrawerClosed = 223
- };
-
- /*
- Parameters for window drawer events:
-
- kEventWindowDrawerOpening
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowDrawerOpened
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowDrawerClosing
- --> kEventParamDirectObject typeWindowRef
-
- kEventWindowDrawerClosed
- --> kEventParamDirectObject typeWindowRef
- */
-
- /*
- * Summary:
- * Window definition events (kEventClassWindow)
- *
- * Discussion:
- * Events that correspond to WDEF messages. Sent to all windows,
- * regardless of whether they have the standard window handler
- * installed.
- */
- enum
- {
-
- /*
- * Sent by the Window Manager when it's time to draw a window's
- * structure. This is the replacement to the old wDraw defProc
- * message (though it is a special case of the 0 part code indicating
- * to draw the entire window frame).
- */
- kEventWindowDrawFrame = 1000,
-
- /*
- * Sent by the Window Manager when it's time to draw a specific part
- * of a window's structure, such as the close box. This is typically
- * sent during window tracking.
- */
- kEventWindowDrawPart = 1001,
-
- /*
- * Sent by the Window Manager when it needs to get a specific region
- * from a window, or when the GetWindowRegion API is called. The
- * region you should modify is sent in the kEventParamRgnHandle
- * parameter.
- */
- kEventWindowGetRegion = 1002,
-
- /*
- * Sent when the Window Manager needs to determine what part of a
- * window would be 'hit' with a given mouse location in global
- * coordinates. If you handle this event, you should set the
- * kEventParamWindowDefPart parameter to reflect the part code hit.
- */
- kEventWindowHitTest = 1003,
-
- /*
- * Sent by the Window Manager when the window is being created. This
- * is a hook to allow your window definition to do any initialization
- * you might need to do. However, see the note under
- * kEventWindowDispose; this event can be sent more than once to a
- * window if the window definition function for the window is changed.
- */
- kEventWindowInit = 1004,
-
- /*
- * Sent by the Window Manager to notify the window definition that it
- * should dispose of any private data structures attached to the
- * window. Note that this event does not directly correspond with
- * destruction of the window; the Window Manager occasionally needs
- * to change the window definition of a window (for example, when
- * ChangeWindowAttributes is used to change the visual appearance of
- * a window), and in that case, the window will receive a
- * kEventWindowDispose followed by a kEventWindowInit so that the old
- * and new window definitions can disconnect and connect to the
- * window. If you need to know when a window is really being
- * destroyed, install a handler for kEventWindowClosed.
- */
- kEventWindowDispose = 1005,
-
- /*
- * Sent by the Window Manager when it is time to draw/erase any drag
- * hilite in the window structure. This is typically sent from within
- * HiliteWindowFrameForDrag.
- */
- kEventWindowDragHilite = 1006,
-
- /*
- * Sent by the Window Manager when it is time to redraw window
- * structure to account for a change in the document modified state.
- * This is typically sent from within SetWindowModified.
- */
- kEventWindowModified = 1007,
-
- /*
- * Sent by the Window Manager when it is time to generate a drag
- * image for the window proxy. This is typically sent from within
- * BeginWindowProxyDrag.
- */
- kEventWindowSetupProxyDragImage = 1008,
-
- /*
- * Sent by the Window Manager when a particular window state changes.
- * See the state-change flags in MacWindows.h.
- */
- kEventWindowStateChanged = 1009,
-
- /*
- * Sent when the Window Manager needs to know how much space the
- * window's title area takes up.
- */
- kEventWindowMeasureTitle = 1010,
-
- /*
- * This is a compatibility event harkening back to the old days
- * before Mac OS 8. Not very useful these days. When the DrawGrowIcon
- * API is called, this event is sent to the window to tell it to draw
- * the grow box. This is only really needed for windows that do not
- * have the grow box integrated into the window frame. Scroll bar
- * delimiter lines are also drawn.
- */
- kEventWindowDrawGrowBox = 1011,
-
- /*
- * This is a special way for a window to override the standard resize
- * outline for windows that do not do live resizing. As the user
- * resizes the window, this event is sent with the current size the
- * user has chosen expressed as a rectangle. You should calculate
- * your window outline and modify the kEventParamRgnHandle parameter
- * to reflect your desired outline.
- */
- kEventWindowGetGrowImageRegion = 1012,
-
- /*
- * When the Window Manager needs to paint a window (e.g, when a
- * window is first displayed), the kEventWindowPaint event is sent to
- * allow the window to control all aspect of painting, including the
- * window frame. If a window does not respond to this event, the
- * Window Manager ends up sending kEventWindowDrawFrame and then
- * erasing the window to the window content color as usual. This is
- * mostly used for specialty windows, such as help tags or appliance
- * apps might have. (Mac OS X only)
- */
- kEventWindowPaint = 1013
- };
-
- /*
- Parameters for window definition events:
-
- kEventWindowDrawFrame
- --> kEventParamDirectObject typeWindowRef the window
-
- kEventWindowDrawPart
- --> kEventParamDirectObject typeWindowRef the window
- --> kEventParamWindowDefPart typeWindowDefPartCode the part to draw
-
- kEventWindowGetRegion
- --> kEventParamDirectObject typeWindowRef the window
- --> kEventParamWindowRegionCode typeWindowRegionCode the region to get
- --> kEventParamRgnHandle typeQDRgnHandle the region to munge
-
- kEventWindowHitTest
- --> kEventParamDirectObject typeWindowRef the window
- --> kEventParamMouseLocation typeQDPoint the mouse location
- <-- kEventParamWindowDefPart typeWindowDefPartCode the part hit
-
- kEventWindowInit
- --> kEventParamDirectObject typeWindowRef the window
- <-- kEventParamWindowFeatures typeUInt32 the window features
-
- kEventWindowDispose
- --> kEventParamDirectObject typeWindowRef the window
-
- kEventWindowDragHilite
- --> kEventParamDirectObject typeWindowRef the window
- --> kEventParamWindowDragHiliteFlag typeBoolean whether to draw (true) or
- erase (false) the hilite
-
- kEventWindowModified
- --> kEventParamDirectObject typeWindowRef the window
- --> kEventParamWindowModifiedFlag typeBoolean the new modified state
-
- kEventWindowSetupProxyDragImage
- --> kEventParamDirectObject typeWindowRef the window
- --> kEventParamWindowProxyImageRgn typeQDRgnHandle the region you modify
- to contain the clip
- region for the GWorld.
- --> kEventParamWindowProxyOutlineRgn typeQDRgnHandle the region you modify
- to contain the drag
- outline used when the
- GWorld cannot be used.
- <-- kEventParamWindowProxyGWorldPtr typeGWorldPtr a GWorld you allocate
- which contains the
- drag image.
-
- kEventWindowStateChanged
- --> kEventParamDirectObject typeWindowRef the window
- --> kEventParamWindowStateChangedFlags typeUInt32 the state change flags
-
- kEventWindowMeasureTitle
- --> kEventParamDirectObject typeWindowRef the window
- <-- kEventParamWindowTitleFullWidth typeSInt16 the length of the whole title area
- <-- kEventParamWindowTitleTextWidth typeSInt16 the length just the title text
-
- kEventWindowDrawGrowBox
- --> kEventParamDirectObject typeWindowRef the window
-
- kEventWindowGetGrowImageRegion
- --> kEventParamDirectObject typeWindowRef the window
- --> kEventParamWindowGrowRect typeQDRectangle the global rect
- --> kEventParamRgnHandle typeQDRgnHandle the region to modify
-
- kEventWindowPaint
- --> kEventParamDirectObject typeWindowRef the window
- */
- /*--------------------------------------------------------------------------------------*/
- /* Menu Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Menu events (kEventClassMenu)
- */
- enum
- {
-
- /*
- * The user has begun tracking the menubar or a pop-up menu. If
- * tracking a popup menu, the direct object parameter is the pop-up;
- * if tracking the menubar, the direct object parameter is the root
- * menu on Mac OS X, but will be NULL in CarbonLib. The
- * kEventParamCurrentMenuTrackingMode parameter indicates whether the
- * user is tracking the menus using the mouse or the keyboard.
- * The handler may return userCanceledErr to stop menu tracking.
- */
- kEventMenuBeginTracking = 1,
-
- /*
- * The user has finished tracking the menubar or a pop-up menu.
- */
- kEventMenuEndTracking = 2,
-
- /*
- * The user has switched from selecting a menu with the mouse to
- * selecting with the keyboard, or from selecting with the keyboard
- * to selecting with the mouse. Only available on post-10.0.x
- * versions of Mac OS X.
- */
- kEventMenuChangeTrackingMode = 3,
-
- /*
- * A menu is opening. This event is sent each time that the menu is
- * opened (i.e., more than once during a given tracking session if
- * the user opens the menu multiple times). It is sent before the
- * menu is actually drawn, so you can update the menu contents
- * (including making changes that will alter the menu size) and the
- * new contents will be drawn correctly.
- *
- * The kEventParamMenuFirstOpen parameter indicates whether this is
- * the first time this menu has been opened during this menu tracking
- * session.
- *
- * The handler may return userCanceledErr to prevent this menu from
- * opening (Mac OS X only).
- */
- kEventMenuOpening = 4,
-
- /*
- * A menu has been closed. Sent after the menu is hidden.
- */
- kEventMenuClosed = 5,
-
- /*
- * The mouse is moving over a particular menu item. This event is
- * sent for both enabled and disabled items.
- */
- kEventMenuTargetItem = 6,
-
- /*
- * A menu is about to be examined for items that match a command key
- * event. A handler for this event may perform its own command key
- * matching and override the Menu Manager's default matching
- * algorithms. Returning noErr from your handler indicates that you
- * have found a match. The handler for this event should not examine
- * submenus of this menu for a match; a separate event will be sent
- * for each submenu.
- *
- * Handlers for this event must be installed directly on the menu
- * containing the item to be matched. To improve performance of
- * command key matching, the Menu Manager only sends this event if
- * the menu itself has a handler; if a handler for this event is
- * installed on any other event target, it will not be sent the
- * event.
- *
- * When called from IsMenuKeyEvent, the kEventParamEventRef parameter
- * contains the EventRef that was passed to IsMenuKeyEvent, for your
- * handler to examine; when called from MenuKey or MenuEvent, the
- * EventRef parameter contains an event created from the information
- * passed to MenuKey or MenuEvent. Note that in the MenuKey case, no
- * virtual keycode (kEventParamKeyCode) or key modifiers
- * (kEventParamKeyModifiers) will be available.
- *
- * The kEventParamMenuEventOptions parameter contains a copy of the
- * options that were passed to IsMenuKeyEvent, or 0 if called from
- * MenuKey or MenuEvent. The only option that your handler will need
- * to obey is kMenuEventIncludeDisabledItems.
- *
- * If your handler finds a match, it should set the
- * kEventParamMenuItemIndex parameter to contain the item index of
- * the matching item, and return noErr. If it does not find a match,
- * it should return menuItemNotFoundErr. Any other return value will
- * cause the Menu Manager to use its default command key matching
- * algorithm for this menu.
- * This event is sent after kEventMenuEnableItems.
- */
- kEventMenuMatchKey = 7,
-
- /*
- * A request that the items in the menu be properly enabled or
- * disabled according to the current state of the application. This
- * event is sent from inside MenuKey, MenuEvent, and IsMenuKeyEvent
- * before those APIs examine the menu for an item that matches a
- * keyboard event. It is also sent during menu tracking before a menu
- * is first made visible; it is sent right after kEventMenuOpening,
- * once per menu per menu tracking session. It is also sent to the
- * top-level menus in the menubar when the application is idle after
- * user input has occurred, to allow the menu titles to be enabled or
- * disabled appropriately according to the current user focus. You
- * can distinquish between all these cases by examining the contents
- * of the kEventParamMenuContext parameter.
- *
- * If you install an event handler for kEventProcessCommand, you
- * should also install a handler for either kEventMenuEnableItems or
- * kEventCommandUpdateStatus. This is necessary because the Carbon
- * event system will attempt to match command keys against the
- * available menus before returning the keyboard event to your
- * application via WaitNextEvent. If you have menu command event
- * handlers installed for your menu items, your handlers will be
- * called without your ever receiving the keyboard event or calling
- * MenuKey/MenuEvent/IsMenuKeyEvent yourself. Therefore, you have no
- * opportunity to enable your menu items properly other than from a
- * kEventMenuEnableItems or kEventCommandUpdateStatus handler.
- * It is not necessary to handle this event if you do not install
- * kEventProcessCommand handlers for your menu items; in that case,
- * the command key event will be returned from WaitNextEvent or
- * ReceiveNextEvent as normal, and you can set up your menus before
- * calling MenuKey/MenuEvent/ IsMenuKeyEvent.
- *
- * The kEventParamEnableMenuForKeyEvent parameter indicates whether
- * this menu should be enabled for key event matching (true) or
- * because the menu itself is about to become visible (false). If
- * true, only the item enable state, command key, command key
- * modifiers, and (optionally) the command key glyph need to be
- * correct. If false, the entire menu item contents must be correct.
- * This may be useful if you have custom menu content that is
- * expensive to prepare.
- */
- kEventMenuEnableItems = 8,
-
- /*
- * kEventMenuPopulate is intended to be handled by applications that
- * dynamically create their menu contents just-in-time before the
- * menu is displayed. Previously, kEventMenuOpening was recommended
- * for this purpose. kEventMenuPopulate is now recommended because it
- * will be sent by the Menu Manager before it searches a menu for a
- * matching command key, to allow a handler to dynamically add menu
- * items that may have command key equivalents to the menu;
- * kEventMenuOpening is only sent before the menu is displayed.
- * kEventMenuPopulate is also sent just before kEventMenuOpening as a
- * menu is being displayed. Finally, kEventMenuPopulate is only sent
- * once per menu tracking session for a given menu, even if that menu
- * is closed and opened multiple times by the user; kEventMenuOpening
- * is sent each time that the menu is displayed.
- *
- * You can distinguish the command-key case from the
- * menu-being-displayed case by examining the contents of the
- * kEventParamMenuContext parameter; the kMenuContextKeyMatching flag
- * will be set if the event is sent during command key matching, and
- * either the kMenuContextMenuBarTracking or
- * kMenuContextPopUpTracking flags will be sent if the event is sent
- * before actual display of the menu.
- *
- * In Mac OS X 10.2 and CarbonLib 1.6, kEventMenuPopulate is also
- * sent to menus before the menu is searched for a command ID by the
- * CountMenuItemsWithCommandID and GetIndMenuItemWithCommandID APIs.
- * You can distinguish this case by checking for the
- * kMenuContextCommandIDSearch flag in the kEventParamMenuContext
- * parameter. In this case, the event also includes a
- * kEventParamMenuCommand parameter with the command ID being
- * searched for as the event parameter data.
- *
- * kEventMenuPopulate is available on Mac OS X 10.1 and later, and in
- * CarbonLib 1.5 and later.
- */
- kEventMenuPopulate = 9,
-
- /*
- * Sent by the standard menu definition when a menu item has the
- * kMenuItemAttrCustomDraw attribute. Handlers for this event should
- * be installed directly on the menu. A handler for this event may
- * respond by providing a customized width for the menu item. If no
- * handler is installed, the standard menu definition provides a
- * default handler that will return the standard width for the item.
- */
- kEventMenuMeasureItemWidth = 100,
-
- /*
- * Sent by the standard menu definition when a menu item has the
- * kMenuItemAttrCustomDraw attribute. Handlers for this event should
- * be installed directly on the menu. A handler for this event may
- * respond by providing a customized height for the menu item. If no
- * handler is installed, the standard menu definition provides a
- * default handler that will return the standard height for the item.
- */
- kEventMenuMeasureItemHeight = 101,
-
- /*
- * Sent by the standard menu definition when a menu item has the
- * kMenuItemAttrCustomDraw attribute. Handlers for this event should
- * be installed directly on the menu. A handler for this event may
- * respond by completely overriding the drawing of the menu item. If
- * no handler is installed, the standard menu definition provides a
- * default handler that calls DrawThemeMenuItem to draw the menu item
- * background and content.
- */
- kEventMenuDrawItem = 102,
-
- /*
- * Sent by the standard menu definition when a menu item has the
- * kMenuItemAttrCustomDraw attribute. Handlers for this event should
- * be installed directly on the menu. A handler for this event may
- * respond by overriding the drawing of the menu item content: the
- * mark character, icon, text, and command key information. At the
- * time when this event is sent, the background of the menu item has
- * already been drawn using the standard system appearance, and if
- * the item is selected, the background is drawn with a hilite. If no
- * handler is installed, the standard menu definition provides a
- * default handler that draws the standard menu item content. The
- * standard handler also adds event parameters to the event
- * indicating the bounding boxes of the different portions of the
- * menu item content (mark, icon, text, and command keys), and an
- * event parameter with the baseline of the menu item text; this
- * allows handlers to use CallNextEventHandler to call through to the
- * standard system handler, and then modify the system appearance by
- * drawing on top of the standard content.
- */
- kEventMenuDrawItemContent = 103,
-
- /*
- * Sent when the menu is being destroyed.
- */
- kEventMenuDispose = 1001
- };
-
-
- /*
- * Discussion:
- * Menu context flags indicate the context or usage of a
- * menu-related Carbon event.
- */
- enum
- {
- /* menu location*/
-
- /*
- * Indicates that this menu is inserted in the menubar, or is a
- * (directly or indirectly) a submenu of a menu that is inserted in
- * the menubar.
- */
- kMenuContextMenuBar = 1 << 0, /* menu type*/
-
- /*
- * Indicates that this menu is a pull-down menu inserted in the
- * menubar.
- */
- kMenuContextPullDown = 1 << 8,
-
- /*
- * Indicates that this menu is a popup menu being displayed by
- * PopUpMenuSelect.
- */
- kMenuContextPopUp = 1 << 9,
-
- /*
- * Indicates that this menu is a submenu of some other pull-down or
- * popup menu.
- */
- kMenuContextSubmenu = 1 << 10, /* menu usage*/
-
- /*
- * Indicates that this Carbon event has been sent during a menubar
- * tracking session.
- */
- kMenuContextMenuBarTracking = 1 << 16,
-
- /*
- * Indicates that this Carbon event has been sent during a popup menu
- * tracking session.
- */
- kMenuContextPopUpTracking = 1 << 17,
-
- /*
- * Indicates that this Carbon event has been sent during command key
- * matching.
- */
- kMenuContextKeyMatching = 1 << 18,
-
- /*
- * Indicates that this Carbon event has been sent at idle time to
- * update the enabled state of the menus. Available on Mac OS X 10.1
- * and later, and in CarbonLib 1.5 and later; on earlier releases,
- * the kMenuContextKeyMatching flag is set when an event is sent
- * during menu enabling.
- */
- kMenuContextMenuEnabling = 1 << 19,
-
- /*
- * Indicates that this Carbon event has been sent during during a
- * search for a menu item command ID by the
- * CountMenuItemsWithCommandID or GetIndMenuItemWithCommandID APIs.
- * Available on Mac OS X 10.2 and CarbonLib 1.6.
- */
- kMenuContextCommandIDSearch = 1 << 20
- };
-
- /*
- Parameters for menu events:
-
- kEventMenuBeginTracking
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamCurrentMenuTrackingMode typeMenuTrackingMode
- --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
-
- kEventMenuEndTracking
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
-
- kEventMenuChangeTrackingMode
- --> kEventParamCurrentMenuTrackingMode typeMenuTrackingMode
- --> kEventParamNewMenuTrackingMode typeMenuTrackingMode
- --> kEventParamMenuContext typeUInt32
-
- kEventMenuOpening
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamMenuFirstOpen typeBoolean
- --> kEventParamMenuContext typeUInt32 (in CarbonLib 1.5 and later)
-
- kEventMenuClosed
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
-
- kEventMenuTargetItem
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamMenuItemIndex typeMenuItemIndex
- --> kEventParamMenuCommand typeMenuCommand
- --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
-
- kEventMenuMatchKey
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamEventRef typeEventRef
- --> kEventParamMenuEventOptions typeMenuEventOptions
- --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
- <-- kEventParamMenuItemIndex typeMenuItemIndex
-
- kEventMenuEnableItems
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamEnableMenuForKeyEvent typeBoolean
- --> kEventParamMenuContext typeUInt32 (in CarbonLib 1.3.1 and later)
-
- kEventMenuPopulate (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamMenuContext typeUInt32
- --> kEventParamMenuCommand typeMenuCommand (Jaguar and CarbonLib 1.6, for kMenuContextCommandIDSearch)
-
- kEventMenuMeasureItemWidth (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamMenuItemIndex typeMenuItemIndex
- <-- kEventParamMenuItemWidth typeShortInteger
-
- kEventMenuMeasureItemHeight (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamMenuItemIndex typeMenuItemIndex
- <-- kEventParamMenuItemHeight typeShortInteger
-
- kEventMenuDrawItem (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamCurrentBounds typeQDRectangle
- --> kEventParamMenuItemIndex typeMenuItemIndex
- --> kEventParamMenuItemBounds typeQDRectangle
- --> kEventParamMenuVirtualTop typeLongInteger
- --> kEventParamMenuVirtualBottom typeLongInteger
- --> kEventParamMenuDrawState typeThemeMenuState
- --> kEventParamMenuItemType typeThemeMenuItemType
- --> kEventParamCGContextRef typeCGContextRef
- <-- kEventParamMenuMarkBounds typeQDRectangle (added to event by the default event handler)
- <-- kEventParamMenuIconBounds typeQDRectangle (added to event by the default event handler)
- <-- kEventParamMenuTextBounds typeQDRectangle (added to event by the default event handler)
- <-- kEventParamMenuTextBaseline typeShortInteger (added to event by the default event handler)
- <-- kEventParamMenuCommandKeyBounds typeQDRectangle (added to event by the default event handler)
-
- kEventMenuDrawItemContent (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
- --> kEventParamDirectObject typeMenuRef
- --> kEventParamMenuItemIndex typeMenuItemIndex
- --> kEventParamMenuItemBounds typeQDRectangle
- --> kEventParamDeviceDepth typeShortInteger
- --> kEventParamDeviceColor typeBoolean
- --> kEventParamCGContextRef typeCGContextRef
- <-- kEventParamMenuMarkBounds typeQDRectangle (added to event by the default event handler)
- <-- kEventParamMenuIconBounds typeQDRectangle (added to event by the default event handler)
- <-- kEventParamMenuTextBounds typeQDRectangle (added to event by the default event handler)
- <-- kEventParamMenuTextBaseline typeShortInteger (added to event by the default event handler)
- <-- kEventParamMenuCommandKeyBounds typeQDRectangle (added to event by the default event handler)
-
- kEventMenuDispose
- --> kEventParamDirectObject typeMenuRef
- */
- /*--------------------------------------------------------------------------------------*/
- /* Command Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Command events (kEventClassCommand)
- */
- enum
- {
- kEventProcessCommand = 1,
-
- /*
- * A command has been invoked and the application should handle it.
- * This event is sent when the user chooses a menu item or clicks a
- * control. Any menu item selection, from either the menubar, a popup
- * or contextual menu, or a popup or bevel button control, will cause
- * this event to be sent; if the menu item does not have a command
- * ID, the commandID field of the HICommand parameter will be zero,
- * but the event will still contain a valid MenuRef and
- * MenuItemIndex. Controls will send this event only if the control
- * has a non-zero command ID set with SetControlCommandID.
- *
- * Some senders of this event will also include the modifier keys
- * that were pressed by the user when the command was invoked, but
- * this parameter is optional.
- *
- * When a command event is sent from a menu, a MenuContext parameter
- * will be included on Mac OS X 10.2 and CarbonLib 1.6, indicating
- * whether the command was sent from a menu in the menubar
- * (kMenuContextMenuBar will be set) or from a popup menu
- * (kMenuContextMenuBar will not be set). The MenuContext parameter
- * also indicates whether the event was sent by a selection of a menu
- * item with the mouse (kMenuContextMenuBarTracking or
- * kMenuContextPopUpTracking will be set), or by a command key press
- * (kMenuContextKeyMatching will be set).
- *
- * It is essential that your event handler for this event return
- * eventNotHandledErr for any command events that you do not handle,
- * especially for commands that are sent from menus attached to popup
- * or bevel button controls; if, for example, you return noErr for
- * command events sent in response to a menu selection from a popup
- * button, the Menu Manager will return zero from PopUpMenuSelect,
- * and the popup button control will not know that an item was
- * selected from the popup menu and will not redraw with the new
- * selection.
- */
- kEventCommandProcess = 1,
-
- /*
- * The status of a command is in question. When you receive this
- * event, you should update the necessary UI elements in your
- * application to reflect the current status of the command. For
- * example, if the command has the kHICommandFromMenu bit set, you
- * should update the menu item state, text, etc. to reflect the
- * current reality in your application.
- */
- kEventCommandUpdateStatus = 2
- };
-
- /*
- Parameters for command events:
-
- kEventCommandProcess
- --> kEventParamDirectObject typeHICommand
- --> kEventParamKeyModifiers typeUInt32 (optional)
- --> kEventParamMenuContext typeUInt32 (optional, in Jaguar and CarbonLib 1.6)
-
- kEventCommandUpdateStatus
- --> kEventParamDirectObject typeHICommand
- --> kEventParamMenuContext typeUInt32
- */
- /* HI Commands */
-
- /*
- * Summary:
- * Common command IDs
- */
- enum
- {
-
- /*
- * The OK button in a dialog or alert.
- */
- kHICommandOK = FOUR_CHAR_CODE('ok '),
-
- /*
- * The Cancel button in a dialog or alert.
- */
- kHICommandCancel = FOUR_CHAR_CODE('not!'),
-
- /*
- * The application should quit.
- */
- kHICommandQuit = FOUR_CHAR_CODE('quit'),
-
- /*
- * The last editing operation should be undone.
- */
- kHICommandUndo = FOUR_CHAR_CODE('undo'),
-
- /*
- * The last editing operation should be redone.
- */
- kHICommandRedo = FOUR_CHAR_CODE('redo'),
-
- /*
- * The selected items should be cut.
- */
- kHICommandCut = FOUR_CHAR_CODE('cut '),
-
- /*
- * The selected items should be copied.
- */
- kHICommandCopy = FOUR_CHAR_CODE('copy'),
-
- /*
- * The contents of the clipboard should be pasted.
- */
- kHICommandPaste = FOUR_CHAR_CODE('past'),
-
- /*
- * The selected items should be deleted.
- */
- kHICommandClear = FOUR_CHAR_CODE('clea'),
-
- /*
- * All items in the active window should be selected.
- */
- kHICommandSelectAll = FOUR_CHAR_CODE('sall'),
-
- /*
- * The application should be hidden. The Menu Manager will respond to
- * this command automatically; your application does not need to
- * handle it.
- */
- kHICommandHide = FOUR_CHAR_CODE('hide'),
-
- /*
- * Other applications should be hidden. The Menu Manager will respond
- * to this command automatically; your application does not need to
- * handle it.
- */
- kHICommandHideOthers = FOUR_CHAR_CODE('hido'),
-
- /*
- * All applications should become visible. The Menu Manager will
- * respond to this command automatically; your application does not
- * need to handle it.
- */
- kHICommandShowAll = FOUR_CHAR_CODE('shal'),
-
- /*
- * The Preferences menu item has been selected.
- */
- kHICommandPreferences = FOUR_CHAR_CODE('pref'),
-
- /*
- * The active window should be zoomed in or out. The Window Manager
- * will respond to this event automatically; your application does
- * not need to handle it, but you may want to install a Carbon event
- * handler for kEventWindowGetIdealSize to return the ideal size for
- * your document windows.
- */
- kHICommandZoomWindow = FOUR_CHAR_CODE('zoom'),
-
- /*
- * The active window should be minimized. The Window Manager will
- * respond to this event automatically; your application does not
- * need to handle it.
- */
- kHICommandMinimizeWindow = FOUR_CHAR_CODE('mini'),
-
- /*
- * All windows of the same class as the active window that have
- * collapse boxes should be minimized. The Window Manager will
- * respond to this event automatically; your application does not
- * need to handle it.
- */
- kHICommandMinimizeAll = FOUR_CHAR_CODE('mina'),
-
- /*
- * The active window should be maximized. Only sent on Mac OS 9. The
- * Window Manager will respond to this event automatically; your
- * application does not need to handle it.
- */
- kHICommandMaximizeWindow = FOUR_CHAR_CODE('maxi'),
-
- /*
- * All windows of the same class as the active window that have
- * collapse boxes should be maximized. The Window Manager will
- * respond to this event automatically; your application does not
- * need to handle it.
- */
- kHICommandMaximizeAll = FOUR_CHAR_CODE('maxa'),
-
- /*
- * All document-class windows should be arranged in a stack. The
- * Window Manager will respond to this event automatically; your
- * application does not need to handle it.
- */
- kHICommandArrangeInFront = FOUR_CHAR_CODE('frnt'),
-
- /*
- * All windows of this application should be brought in front of
- * windows from other applications. Only sent on Mac OS X. The Window
- * Manager will respond to this event automatically; your application
- * does not need to handle it.
- */
- kHICommandBringAllToFront = FOUR_CHAR_CODE('bfrt'),
-
- /*
- * This command ID is used as a placeholder to mark the separator
- * item dividing the Zoom/Minimize/Maximize/Arrange menu items in the
- * standard Window menu from the menu items listing the visible
- * windows. If you need to add your own menu items to the standard
- * Window menu before the window list section, you can look for the
- * menu item with this command ID using GetIndMenuItemWithCommandID,
- * and insert your menu items before the item with this ID.
- */
- kHICommandWindowListSeparator = FOUR_CHAR_CODE('wldv'),
-
- /*
- * This command ID is used as a placeholder to mark the end of the
- * window list section of the standard Window menu. If you need to
- * add your own menu items to the standard Window menu after the
- * window list section, you can look for the menu item with this
- * command ID using GetIndMenuItemWithCommandID, and insert your
- * items after the item with this ID.
- */
- kHICommandWindowListTerminator = FOUR_CHAR_CODE('wlst'),
-
- /*
- * A window in the standard Window menu has been selected and should
- * be activated. The Window Manager will respond to this event
- * automatically; your application does not need to handle it.
- */
- kHICommandSelectWindow = FOUR_CHAR_CODE('swin'),
-
- /*
- * The Rotate Windows hotkey (cmd-~ by default) has been pressed, and
- * non-floating windows should be rotated so that the window after
- * the active window is activated. The Window Manager will respond to
- * this event automatically; your application does not need to handle
- * it.
- */
- kHICommandRotateWindowsForward = FOUR_CHAR_CODE('rotw'),
-
- /*
- * The Rotate Windows hotkey (cmd-~ by default) has been pressed, and
- * non-floating windows should be rotated so that the window before
- * the active window is activated. The Window Manager will respond to
- * this event automatically; your application does not need to handle
- * it.
- */
- kHICommandRotateWindowsBackward = FOUR_CHAR_CODE('rotb'),
-
- /*
- * The floating window focus hotkey (ctl-F6 by default) has been
- * pressed, and floating windows should be rotated so that the window
- * after the focused window is activated. The Window Manager will
- * respond to this event automatically; your application does not
- * need to handle it.
- */
- kHICommandRotateFloatingWindowsForward = FOUR_CHAR_CODE('rtfw'),
-
- /*
- * The floating window focus hotkey (ctl-F6 by default) has been
- * pressed, and floating windows should be rotated so that the window
- * before the focused window is activated. The Window Manager will
- * respond to this event automatically; your application does not
- * need to handle it.
- */
- kHICommandRotateFloatingWindowsBackward = FOUR_CHAR_CODE('rtfb'),
-
- /*
- * The About menu item has been selected.
- */
- kHICommandAbout = FOUR_CHAR_CODE('abou'),
-
- /*
- * A new document or item should be created.
- */
- kHICommandNew = FOUR_CHAR_CODE('new '),
-
- /*
- * The user wants to open an existing document.
- */
- kHICommandOpen = FOUR_CHAR_CODE('open'),
-
- /*
- * The active window should be closed.
- */
- kHICommandClose = FOUR_CHAR_CODE('clos'),
-
- /*
- * The active document should be saved.
- */
- kHICommandSave = FOUR_CHAR_CODE('save'),
-
- /*
- * The user wants to save the active document under a new name.
- */
- kHICommandSaveAs = FOUR_CHAR_CODE('svas'),
-
- /*
- * The contents of the active document should be reverted to the last
- * saved version.
- */
- kHICommandRevert = FOUR_CHAR_CODE('rvrt'),
-
- /*
- * The active window should be printed.
- */
- kHICommandPrint = FOUR_CHAR_CODE('prnt'),
-
- /*
- * The user wants to configure the current page margins, formatting,
- * and print options.
- */
- kHICommandPageSetup = FOUR_CHAR_CODE('page'),
-
- /*
- * The application's help book should be displayed. Used by the Help
- * Manager when it adds the "<AppName> Help" menu item to the Help
- * menu. The Help Manager will respond to this event automatically;
- * your application does not need to handle it.
- */
- kHICommandAppHelp = FOUR_CHAR_CODE('ahlp')
- };
-
-
- /*
- * Summary:
- * Values for the attributes field of the HICommand and
- * HICommandExtended structures.
- *
- * Discussion:
- * These bit masks are mutually exclusive; only one should be set at
- * any given time. Some HICommand and HICommandExtended structures
- * will have an attributes value of zero; in this case, there is no
- * information available about the source of the command.
- */
- enum
- {
-
- /*
- * Indicates that the command originates from a menu item. The
- * HICommand.menu and HICommandExtended.source.menu fields are valid.
- */
- kHICommandFromMenu = (1L << 0),
-
- /*
- * Indicates that the command originates from a control. The
- * HICommandExtended.source.control field is valid.
- */
- kHICommandFromControl = (1L << 1),
-
- /*
- * Indicates that the command originates from a window. The
- * HICommandExtended.source.window field is valid.
- */
- kHICommandFromWindow = (1L << 2)
- };
-
- struct HICommand
- {
- UInt32 attributes;
- UInt32 commandID;
- struct
- {
- MenuRef menuRef;
- MenuItemIndex menuItemIndex;
- } menu;
- };
- typedef struct HICommand HICommand;
- struct HICommandExtended
- {
- UInt32 attributes;
- UInt32 commandID;
- union
- {
- ControlRef control;
- WindowRef window;
- struct
- {
- MenuRef menuRef;
- MenuItemIndex menuItemIndex;
- } menu;
- } source;
- };
- typedef struct HICommandExtended HICommandExtended;
- /*--------------------------------------------------------------------------------------*/
- /* Control Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Control events (kEventClassControl)
- */
- enum
- {
-
- /*
- * Allows the control to initialize private data.
- */
- kEventControlInitialize = 1000,
-
- /*
- * Allows the control to dispose of private data.
- */
- kEventControlDispose = 1001,
-
- /*
- * Allows the control to report its best size and its text baseline
- * based on its current settings. You should set the
- * kEventParamControlOptimalBounds parameter to an appropriate
- * rectangle. You should also set the
- * kEventParamControlOptimalBaselineOffset parameter to be the offset
- * from the top of your optimal bounds of a text baseline, if any.
- * (Mac OS X only)
- */
- kEventControlGetOptimalBounds = 1003,
- kEventControlDefInitialize = kEventControlInitialize,
- kEventControlDefDispose = kEventControlDispose,
-
- /*
- * Sent by TrackControl and HandleControlClick after handling a click
- * in a control.
- */
- kEventControlHit = 1,
-
- /*
- * Sent when your control should simulate a click in response to some
- * other action, such as a return key for a default button. The event
- * contains the part code the control should simulate a click for.
- * The control may modify this on output to reflect the same sort of
- * part code it would pass back while handling kEventControlTrack.
- * (Mac OS X only)
- */
- kEventControlSimulateHit = 2,
-
- /*
- * Sent when someone wants to find out what part of your control is
- * at a given point in local coordinates. You should set the
- * kEventParamControlPart parameter to the appropriate part. (Mac OS
- * X only)
- */
- kEventControlHitTest = 3,
-
- /*
- * Sent when your control should draw itself. The event can
- * optionally contain a port in which to draw and a part to constrain
- * drawing to. (Mac OS X only)
- */
- kEventControlDraw = 4,
-
- /*
- * Sent when your control should apply its background color/pattern
- * to the port specified so the subcontrol can properly erase. The
- * port is optional; if it does not exist you should apply the
- * background to the current port. (Mac OS X only)
- */
- kEventControlApplyBackground = 5,
-
- /*
- * Sent when your control should apply a color/pattern to the
- * specified port and context so a subcontrol can draw text which
- * looks appropriate for your control's background. The port is
- * optional; if it does not exist, you should apply the text color to
- * the current port. The context context is also optional. (Mac OS X
- * only)
- */
- kEventControlApplyTextColor = 6,
-
- /*
- * Sent when your control is gaining, losing, or changing the focus.
- * Set the kEventParamControlPart param to the resulting focused
- * part. If the kEventParamControlFocusEverything param is present,
- * use its value as an indication of whether to advance the focus
- * onto a part that isn't one that accepts general keyboard input;
- * regardless of the param's value, the control must always allow the
- * focus to be removed. (Mac OS X only)
- */
- kEventControlSetFocusPart = 7,
-
- /*
- * Sent when your the Control Manager wants to know what part of your
- * control is currently focused. Set the kEventParamControlPart param
- * to your currently focused part. (Mac OS X only)
- */
- kEventControlGetFocusPart = 8,
-
- /*
- * Sent when your control becomes active as a result of a call to
- * ActivateControl. (Mac OS X only)
- */
- kEventControlActivate = 9,
-
- /*
- * Sent when your control becomes inactive as a result of a call to
- * DeactivateControl. (Mac OS X only)
- */
- kEventControlDeactivate = 10,
-
- /*
- * Sent when your control is asked to change the cursor as a result
- * of a call to HandleControlSetCursor. (Mac OS X only)
- */
- kEventControlSetCursor = 11,
-
- /*
- * Sent when your control is asked to display a contextual menu as a
- * result of a call to HandleControlContextualMenuClick. (Mac OS X
- * only)
- */
- kEventControlContextualMenuClick = 12,
-
- /*
- * A mouse down occurred in a control. The standard window handler
- * sets the keyboard focus to the control if it takes focus on
- * clicks, and calls HandleControlClick. Available on Mac OS X and
- * CarbonLib 1.3.1 and later.
- */
- kEventControlClick = 13,
-
- /*
- * Sent so that a given control can customize the focus order of its
- * subcontrols. The recipient will receive a start subcontrol in the
- * kEventParamStartControl parameter and a focusing direction in the
- * kEventParamControlPart parameter. The part code stored in the
- * kEventParamControlPart parameter will be one of the focusing meta
- * part codes, such as kControlFocusNextPart and
- * kControlFocusPrevPart. The kEventParamStartControl parameter may
- * be non-existent or NULL; this is a request to find the *first*
- * subcontrol in the appropriate focusing direction. The recipient
- * must store the next subcontrol in the kEventParamNextControl
- * parameter of the event before returning; if there is no next
- * subcontrol in the given focusing direction, the recipient must
- * either exclude the kEventParamNextControl parameter or set it to
- * NULL. This event is sent in Mac OS X 10.2 or later.
- */
- kEventControlGetNextFocusCandidate = 14, /* Available in Jaguar or later*/
-
- /*
- * This event is send when we are going to autotoggle a control. You
- * can specify the value use based on the current value of your
- * control. This event is available in Mac OS X 10.2 or later.
- */
- kEventControlGetAutoToggleValue = 15, /* Available in Jaguar or later */
-
- /*
- * This is sent when the HIViewGetViewForMouseEvent API is called.
- * The control manager calls it before decending into any subviews.
- * Controls can override this to intercept clicks which would
- * normally be destined for their children. For example, the Toolbar
- * control intercepts cmd-clicks to handle dragging its children. To
- * accomplish this, it overrides this event, looking for the cmd key.
- * When it's down, it just returns noErr as the result from its event
- * handler. This tells the control manager to stop decending and
- * return the view that it called as the event target. The standard
- * window handler calls GetViewForMouseEvent and then HIViewClick
- * with the resultant view. This event is available in Mac OS X 10.2
- * or later.
- */
- kEventControlInterceptSubviewClick = 16, /* Available in Jaguar or later*/
-
- /*
- * This is very much like the window class version of this event. The
- * difference is that the mouse location is view-relative, and there
- * is no window part code passed to you. This event is actually a
- * copy of the mouse down event, and so it has all the parameters
- * that such an event would have (modifiers, button number, etc.)
- */
- kEventControlGetClickActivation = 17, /* Available in Jaguar or later*/
-
- /*
- * A drag has entered your control. If you at all wish to handle it,
- * you must return noErr from your event handler in response to this
- * event. If you return eventNotHandledErr, you will not receive
- * 'within' or 'leave' messages, nor will you be eligible to receive
- * the drag. This is done to try to be as efficient as possible wrt
- * sending events during the drag operation.
- */
- kEventControlDragEnter = 18, /* Available in Jaguar or later*/
-
- /*
- * A drag has moved with your airspace (but not on any subcontrol).
- * If the user moves into a subcontrol, it becomes the target of the
- * drag and your control will not receive 'within' messages any
- * longer.
- */
- kEventControlDragWithin = 19, /* Available in Jaguar or later*/
-
- /*
- * A drag is leaving your view. You might want to do things like
- * unhighlight yourself, etc.
- */
- kEventControlDragLeave = 20, /* Available in Jaguar or later*/
-
- /*
- * Congratulations, you are the lucky recipient of a drag. Enjoy it.
- */
- kEventControlDragReceive = 21, /* Available in Jaguar or later*/
-
- /*
- * Sent to allow your control to completely replace the normal
- * tracking that is part of a call to TrackControl or
- * HandleControlClick. Set the kEventParamControlPart to the part hit
- * during tracking. (Mac OS X only)
- */
- kEventControlTrack = 51,
-
- /*
- * Sent so your control can support Scroll To Here behavior during
- * tracking. Set the kEventParamMouseLocation parameter to the mouse
- * location in local coordinates which represents where a click would
- * have needed to be to cause your indicator to be dragged to the
- * incoming mouse location. (Mac OS X only)
- */
- kEventControlGetScrollToHereStartPoint = 52,
-
- /*
- * Sent so your control can constrain the movement of its indicator
- * during tracking. Set the kEventParamControlIndicatorDragConstraint
- * parameter to the appropriate constraint. (Mac OS X only)
- */
- kEventControlGetIndicatorDragConstraint = 53,
-
- /*
- * Sent during live-tracking of the indicator so your control can
- * update its value based on the new indicator position. During
- * non-live tracking, this event lets you redraw the indicator ghost
- * at the appropriate place. (Mac OS X only)
- */
- kEventControlIndicatorMoved = 54,
-
- /*
- * Sent at the end of non-live indicator tracking so your control can
- * update its value based on the final ghost location. (Mac OS X only)
- */
- kEventControlGhostingFinished = 55,
-
- /*
- * Sent during tracking so your control can alter the part that is
- * passed to its action proc based on modifier keys, etc. Set the
- * kEventParamControlPart to the part you want to have sent. (Mac OS
- * X only)
- */
- kEventControlGetActionProcPart = 56,
-
- /*
- * Sent when a client wants to get a particular region of your
- * control. See the GetControlRegion API. The
- * kEventParamControlRegion contains a region for you to modify. (Mac
- * OS X only)
- */
- kEventControlGetPartRegion = 101,
-
- /*
- * Sent when a client wants to get a particular rectangle of your
- * control when it may be more efficient than asking for a region.
- * Set the kEventParamControlPartBounds parameter to the appropriate
- * rectangle. (Mac OS X only)
- */
- kEventControlGetPartBounds = 102,
-
- /*
- * Sent when a client wants to change an arbitrary setting of your
- * control. See the SetControlData API. (Mac OS X only)
- */
- kEventControlSetData = 103,
-
- /*
- * Sent when a client wants to get an arbitrary setting of your
- * control. See the GetControlData API. (Mac OS X only)
- */
- kEventControlGetData = 104,
-
- /*
- * This event is sent when the HIViewGetSizeConstraints API is
- * called. It allows your custom control/view to specify its minimum
- * and maximum size. This is different from the optimal size event
- * above. The optimal size might be larger than a view's minimum
- * size. A parent view can use this information to help it lay out
- * subviews. The toolbar control uses this information to help lay
- * out toolbar items, for example.
- */
- kEventControlGetSizeConstraints = 105, /* Available in Jaguar or later*/
-
- /*
- * Sent when your control's value, min, max, or view size has
- * changed. Useful so other entities can watch for your control's
- * value to change. (Mac OS X only)
- */
- kEventControlValueFieldChanged = 151,
-
- /*
- * Sent when a control was embedded within your control. (Mac OS X
- * only)
- */
- kEventControlAddedSubControl = 152,
-
- /*
- * Sent when one of your child controls will be removed from your
- * control. (Mac OS X only)
- */
- kEventControlRemovingSubControl = 153,
-
- /*
- * Sent when one your control's bounding rectangle has changed. (Mac
- * OS X only)
- */
- kEventControlBoundsChanged = 154,
-
- /*
- * Sent when the title of your control changes. Available in Mac OS X
- * 10.2 or later.
- */
- kEventControlTitleChanged = 158, /* Available in Jaguar or later*/
-
- /*
- * Sent when one your control's owning window has changed. Useful to
- * udpate any dependencies that your control has on its owning
- * window. (Mac OS X only)
- */
- kEventControlOwningWindowChanged = 159,
-
- /*
- * Sent when the hilite state changes in a control. This is here to
- * support custom views/controls which need to update information
- * when the hilite state changes. This event is available in Mac OS X
- * 10.2 or later.
- */
- kEventControlHiliteChanged = 160, /* Available in Jaguar or later*/
-
- /*
- * Sent when the enabled state changes in a control. This is here to
- * support custom views/controls which need to update information
- * when the enabled state changes. This event is available in Mac OS
- * X 10.2 or later.
- */
- kEventControlEnabledStateChanged = 161, /* Available in Jaguar or later*/
-
- /*
- * Sent when someone is trying to send an old-style CDEF message to
- * your control. (Mac OS X only)
- */
- kEventControlArbitraryMessage = 201
- };
-
-
- /*
- * Summary:
- * Control bounds change event attributes
- *
- * Discussion:
- * When the toolbox sends out a kEventControlBoundsChanged event, it
- * also sends along a parameter containing attributes of the event.
- * These attributes can be used to determine what aspect of the
- * control changed (position, size, or both).
- */
- enum
- {
-
- /*
- * The dimensions of the control (width and height) changed.
- */
- kControlBoundsChangeSizeChanged = (1 << 2),
-
- /*
- * The top left corner (position) changed.
- */
- kControlBoundsChangePositionChanged = (1 << 3)
- };
-
- /*
- Parameters for control events:
-
- kEventControlInitialize
- --> kEventParamDirectObject typeControlRef
- --> kEventParamInitCollection typeCollection
- <-- kEventParamControlFeatures typeUInt32
-
- kEventControlDispose
- --> kEventParamDirectObject typeControlRef
-
- kEventControlGetOptimalBounds
- Required parameters:
- --> kEventParamDirectObject typeControlRef
- <-- kEventParamControlOptimalBounds typeQDRectangle
-
- Optional parameters:
- <-- kEventParamControlOptimalBaselineOffset typeShortInteger (optional)
-
- kEventControlHit
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlPart typeControlPartCode
- --> kEventParamKeyModifiers typeUInt32
-
- kEventControlSimulateHit
- --> kEventParamDirectObject typeControlRef
- <-> kEventParamKeyModifiers typeUInt32
- <-> kEventParamControlPart typeControlPartCode
-
- kEventControlHitTest
- --> kEventParamDirectObject typeControlRef
- --> kEventParamMouseLocation typeQDPoint
- <-- kEventParamControlPart typeControlPartCode
-
- kEventControlDraw
- Required parameters:
- --> kEventParamDirectObject typeControlRef
-
- Optional parameters:
- --> kEventParamControlPart typeControlPartCode
- (draw the entire control if kEventParamControlPart is not present)
- --> kEventParamGrafPort typeGrafPtr
- (draw into the current port if kEventParamGrafPort is not present)
- --> kEventParamRgnHandle typeQDRgnHandle
- Sent only on Jaguar and in certain situations in compositing mode
- (when view is visible, etc.) Allows you to constrain your drawing
- to the region the Toolbox has clipped you to.
- --> kEventParamCGContextRef typeCGContextRef
- Sent to your control when in compositing mode. It is already
- transformed and clipped appropriately. You should use this instead
- of creating your own CGContext. This will be extremely important
- for printing, etc.
-
- kEventControlApplyBackground
- Required parameters:
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlSubControl typeControlRef
- --> kEventParamControlDrawDepth typeShortInteger
- --> kEventParamControlDrawInColor typeBoolean
-
- Optional parameters:
- --> kEventParamGrafPort typeGrafPtr
- (apply to the current port if kEventParamGrafPort is not present)
-
- kEventControlApplyTextColor
- Required parameters:
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlSubControl typeControlRef
- --> kEventParamControlDrawDepth typeShortInteger
- --> kEventParamControlDrawInColor typeBoolean
-
- Optional parameters:
- --> kEventParamCGContextRef typeCGContextRef
- --> kEventParamGrafPort typeGrafPtr
- (apply to the current port if kEventParamGrafPort is not present)
-
- kEventControlGetNextFocusCandidate
- Required parameters:
- --> kEventParamControlPart typeControlPartCode
- <-- kEventParamNextControl typeControlRef
-
- Optional parameters:
- --> kEventParamStartControl typeControlRef
- (find the first/last subcontrol of yourself if kEventParamStartControl is not present)
-
- kEventControlGetAutoToggleValue:
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlPart typeControlPartCode
- <-- kEventParamControlValue typeLongInteger
-
- kEventControlInterceptSubviewClick
- --> kEventParamEventRef typeEventRef
-
- kEventControlGetClickActivation
- This event is a copy of the actual mouse down event. The only
- difference is the mouse location parameter is in view coordinates,
- and there is a direct object parameter which is the control ref.
- For mouse down event parameters, see the kEventMouseDown comments.
-
- <-- kEventParamClickActivation typeClickActivationResult
-
- kEventControlDragEnter
- --> kEventParamDirectObject typeControlRef
- --> kEventParamDragRef typeDragRef
-
- kEventControlDragWithin
- --> kEventParamDirectObject typeControlRef
- --> kEventParamDragRef typeDragRef
-
- kEventControlDragLeave
- --> kEventParamDirectObject typeControlRef
- --> kEventParamDragRef typeDragRef
-
- kEventControlDragReceive
- --> kEventParamDirectObject typeControlRef
- --> kEventParamDragRef typeDragRef
-
- kEventControlSetFocusPart
- Required parameters:
- --> kEventParamDirectObject typeControlRef
- <-> kEventParamControlPart typeControlPartCode
-
- Optional parameters:
- --> kEventParamControlFocusEverything typeBoolean
-
- kEventControlGetFocusPart
- --> kEventParamDirectObject typeControlRef
- <-- kEventParamControlPart typeControlPartCode
-
- kEventControlActivate
- --> kEventParamDirectObject typeControlRef
-
- kEventControlDeactivate
- --> kEventParamDirectObject typeControlRef
-
- kEventControlSetCursor
- --> kEventParamDirectObject typeControlRef
- --> kEventParamMouseLocation typeQDPoint
- --> kEventParamKeyModifiers typeUInt32
-
- kEventControlContextualMenuClick
- --> kEventParamDirectObject typeControlRef
- --> kEventParamMouseLocation typeQDPoint
-
- kEventControlClick
- --> kEventParamDirectObject typeControlRef
- --> [other parameters from kEventMouseDown]
-
- kEventControlTrack
- --> kEventParamDirectObject typeControlRef
- --> kEventParamMouseLocation typeQDPoint
- <-> kEventParamKeyModifiers typeUInt32
- --> kEventParamControlAction typeControlActionUPP
- <-- kEventParamControlPart typeControlPartCode
-
- kEventControlGetScrollToHereStartPoint
- --> kEventParamDirectObject typeControlRef
- <-> kEventParamMouseLocation typeQDPoint
- --> kEventParamKeyModifiers typeUInt32
-
- kEventControlGetIndicatorDragConstraint
- --> kEventParamDirectObject typeControlRef
- --> kEventParamMouseLocation typeQDPoint
- --> kEventParamKeyModifiers typeUInt32
- <-- kEventParamControlIndicatorDragConstraint typeIndicatorDragConstraint
-
- kEventControlIndicatorMoved
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlIndicatorRegion typeQDRgnHandle
- --> kEventParamControlIsGhosting typeBoolean
-
- kEventControlGhostingFinished
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlIndicatorOffset typeQDPoint
-
- kEventControlGetActionProcPart
- --> kEventParamDirectObject typeControlRef
- --> kEventParamKeyModifiers typeUInt32
- <-> kEventParamControlPart typeControlPartCode
-
- kEventControlGetPartRegion
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlPart typeControlPartCode
- --> kEventParamControlRegion typeQDRgnHandle
-
- kEventControlGetPartBounds
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlPart typeControlPartCode
- <-- kEventParamControlPartBounds typeQDRectangle
-
- kEventControlSetData
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlPart typeControlPartCode
- --> kEventParamControlDataTag typeEnumeration
- --> kEventParamControlDataBuffer typePtr
- --> kEventParamControlDataBufferSize typeLongInteger
-
- kEventControlGetData
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlPart typeControlPartCode
- --> kEventParamControlDataTag typeEnumeration
- --> kEventParamControlDataBuffer typePtr
- <-> kEventParamControlDataBufferSize typeLongInteger
-
- kEventControlGetSizeConstraints
- --> kEventParamDirectObject typeControlRef
- <-- kEventParamMinimumSize typeHISize
- <-- kEventParamMaximumSize typeHISize
-
- kEventControlValueFieldChanged
- --> kEventParamDirectObject typeControlRef
-
- kEventControlAddedSubControl
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlSubControl typeControlRef
-
- kEventControlRemovingSubControl
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlSubControl typeControlRef
-
- kEventControlBoundsChanged
- --> kEventParamDirectObject typeControlRef
- --> kEventParamAttributes typeUInt32
- --> kEventParamOriginalBounds typeQDRectangle
- --> kEventParamPreviousBounds typeQDRectangle
- --> kEventParamCurrentBounds typeQDRectangle
-
- kEventControlTitleChanged
- --> kEventParamDirectObject typeControlRef
-
- kEventControlOwningWindowChanged
- --> kEventParamDirectObject typeControlRef
- --> kEventParamAttributes typeUInt32
- --> kEventParamControlOriginalOwningWindow typeWindowRef
- --> kEventParamControlCurrentOwningWindow typeWindowRef
-
- kEventControlHiliteStateChanged
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlPreviousPart typeControlPartCode
- --> kEventParamControlCurrentPart typeControlPartCode
-
- kEventControlEnabledStateChanged
- --> kEventParamDirectObject typeControlRef
-
- kEventControlArbitraryMessage
- --> kEventParamDirectObject typeControlRef
- --> kEventParamControlMessage typeShortInteger
- --> kEventParamControlParam typeLongInteger
- <-- kEventParamControlResult typeLongInteger
- */
- /*--------------------------------------------------------------------------------------*/
- /* Tablet Events (and tablet data in mouse events) */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Tablet events (kEventClassTablet)
- */
- enum
- {
-
- /*
- * Indicates that the pen has moved on or near a tablet. Same as
- * deprecated kEventTabletPointer. Available in Mac OS X only.
- */
- kEventTabletPoint = 1,
-
- /*
- * Indicates that the pen has entered or exited proximity of a
- * tablet. Available in Mac OS X only.
- */
- kEventTabletProximity = 2,
- kEventTabletPointer = 1 /* deprecated form for compatibility only, use kEventTabletPoint*/
- };
-
- struct TabletPointRec
- {
- SInt32 absX; /* absolute x coordinate in tablet space at full tablet resolution */
- SInt32 absY; /* absolute y coordinate in tablet space at full tablet resolution */
- SInt32 absZ; /* absolute z coordinate in tablet space at full tablet resolution */
- UInt16 buttons; /* one bit per button - bit 0 is first button - 1 = closed */
- UInt16 pressure; /* scaled pressure value; MAXPRESSURE=(2^16)-1, MINPRESSURE=0 */
- SInt16 tiltX; /* scaled tilt x value; range is -((2^15)-1) to (2^15)-1 (-32767 to 32767) */
- SInt16 tiltY; /* scaled tilt y value; range is -((2^15)-1) to (2^15)-1 (-32767 to 32767) */
- UInt16 rotation; /* Fixed-point representation of device rotation in a 10.6 format */
- SInt16 tangentialPressure; /* tangential pressure on the device; range same as tilt */
- UInt16 deviceID; /* system-assigned unique device ID - matches to deviceID field in proximity event */
- SInt16 vendor1; /* vendor-defined signed 16-bit integer */
- SInt16 vendor2; /* vendor-defined signed 16-bit integer */
- SInt16 vendor3; /* vendor-defined signed 16-bit integer */
- };
- typedef struct TabletPointRec TabletPointRec;
- typedef TabletPointRec TabletPointerRec;
- struct TabletProximityRec
- {
- UInt16 vendorID; /* vendor-defined ID - typically will be USB vendor ID */
- UInt16 tabletID; /* vendor-defined tablet ID - typically will be USB product ID for the tablet */
- UInt16 pointerID; /* vendor-defined ID of the specific pointing device */
- UInt16 deviceID; /* system-assigned unique device ID - matches to deviceID field in tablet event */
- UInt16 systemTabletID; /* system-assigned unique tablet ID */
- UInt16 vendorPointerType; /* vendor-defined pointer type */
- UInt32 pointerSerialNumber; /* vendor-defined serial number of the specific pointing device */
- UInt64 uniqueID; /* vendor-defined unique ID for this pointer */
- UInt32 capabilityMask; /* mask representing the capabilities of the device */
- UInt8 pointerType; /* type of pointing device - enum to be defined */
- UInt8 enterProximity; /* non-zero = entering; zero = leaving */
- };
- typedef struct TabletProximityRec TabletProximityRec;
- /*--------------------------------------------------------------------------------------*/
- /* Volume Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Volume events (kEventClassVolume)
- */
- enum
- {
-
- /*
- * A new volume has been mounted (or new media inserted). Available
- * on Mac OS X and CarbonLib 1.3.1 and later.
- */
- kEventVolumeMounted = 1, /* new volume mounted*/
-
- /*
- * An existing volume has been unmounted (or media ejected).
- * Available on Mac OS X and CarbonLib 1.3.1 and later.
- */
- kEventVolumeUnmounted = 2 /* volume has been ejected or unmounted*/
- };
-
- /*
- Parameters for volume events:
-
- kEventVolumeMounted
- --> kEventParamDirectObject typeFSVolumeRefNum
-
- kEventVolumeUnmounted
- --> kEventParamDirectObject typeFSVolumeRefNum
- */
-
- /* types for volume events*/
-
- enum
- {
- typeFSVolumeRefNum = FOUR_CHAR_CODE('voln') /* FSVolumeRefNum*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* Appearance Events */
- /*--------------------------------------------------------------------------------------*/
- /* Appearance Events */
-
- /*
- * Discussion:
- * Appearance events (kEventClassAppearance)
- */
- enum
- {
-
- /*
- * The scroll bar variant has changed. Available on Mac OS X 10.1 and
- * later.
- */
- kEventAppearanceScrollBarVariantChanged = 1
- };
-
- /*
- Parameters for appearance events:
-
- kEventAppearanceScrollBarVariantChanged
- --> kEventParamNewScrollBarVariant typeShortInteger
- */
- /*--------------------------------------------------------------------------------------*/
- /* Services Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Services events (kEventClassService)
- *
- * Discussion:
- * Services are a feature by which applications can communicate with
- * one another to request and provide services. This communication
- * happens through the Scrap Manager. When an event is sent that
- * requires communication for processing or servicing a request, you
- * will need to use the scrap that is given in the
- * kEventParamScrapRef parameter of the event in order to
- * communicate. When your app requests a service, it is usually
- * acting on data that is currently selected or in focus. Therefore
- * all of the Services events are sent to the UserFocus event
- * target.
- * Service events are available on Mac OS X 10.1 and later.
- */
- enum
- {
-
- /*
- * The user has invoked a service that requires the application to
- * update the given scrap in the kEventParamScrapRef parameter with
- * appropriate data from the focus.
- */
- kEventServiceCopy = 1,
-
- /*
- * The user has invoked a service that requires the application to
- * update the current focus with data from the scrap that is given in
- * the kEventParamScrapRef parameter.
- */
- kEventServicePaste = 2,
-
- /*
- * The Services Manager needs to know what types of data the
- * application can copy and paste to and from the scrap in order to
- * update the Services menu to enable items that the user can select.
- * This event sends two CFMutableArrayRefs for the application to add
- * the types to: the kEventParamServiceCopyTypes and the
- * kEventParamServicePasteTypes parameters. The types that are added
- * are CFStringRefs. There is a convenience function,
- * CreateTypeStringWithOSType(), which takes an OSType and will
- * create a CFStringRef that you can add to the array(s).
- */
- kEventServiceGetTypes = 3,
-
- /*
- * If the application is a service provider, this event will get sent
- * when a Service is requested of the app. The scrap that should be
- * used to send and receive data from the requester is provided in
- * the kEventParamScrapRef parameter. The
- * kEventParamServiceMessageName parameter contains a CFStringRef
- * that indicates which advertised service was invoked.
- */
- kEventServicePerform = 4
- };
-
- /*
- Parameters for service events:
-
- kEventServiceCopy
- --> kEventParamScrapRef typeScrapRef
-
- kEventServicePaste
- --> kEventParamScrapRef typeScrapRef
-
- kEventServiceGetTypes
- --> kEventParamServiceCopyTypes typeCFMutableArrayRef of CFStringRefs
- --> kEventParamServicePasteTypes typeCFMutableArrayRef of CFStringRefs
-
- kEventServicePerform
- --> kEventParamScrapRef typeScrapRef
- --> kEventParamServiceMessageName typeCFStringRef
- --> kEventParamServiceUserData typeCFStringRef
- */
- /*
- * CreateTypeStringWithOSType()
- *
- * Discussion:
- * This routine is used to convert an OSType to a CFStringRef that
- * Services will understand.
- *
- * Parameters:
- *
- * inType:
- * The OSType that needs to be converted to a CFString.
- *
- * Result:
- * A CFStringRef that contains the string that corresponds to the
- * given OSType. This follows CoreFoundation semantics in that it
- * will return NULL for failure, and because it is a "Create"
- * function you will need to CFRelease() this string when it is no
- * longer needed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CFStringRef)
- CreateTypeStringWithOSType(OSType inType);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* Accessibility Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Discussion:
- * Accessibility events (kEventClassAccessibility)
- */
- enum
- {
-
- /*
- * The kEventParamMouseLocation parameter will contain a global
- * point. Find the child of yourself which is underneath that point
- * and return it in the kEventParamAccessibleChild parameter. If
- * there is no child at the given point, you should still return
- * noErr, but leave the parameter empty. Only return immediate
- * children; do not return grandchildren of yourself.
- */
- kEventAccessibleGetChildAtPoint = 1,
-
- /*
- * Find the child of yourself which is part of the focus chain and
- * return it in the kEventParamAccessibleChild parameter. If there is
- * no child in the focus chain, you should still return noErr, but
- * leave the parameter empty. Only return immediate children; do not
- * return grandchildren of yourself.
- */
- kEventAccessibleGetFocusedChild = 2,
-
- /*
- * The kEventParamAccessibleAttributeNames parameter will contain a
- * CFMutableArrayRef. Add each of the attribute names you support to
- * this array in the form of a CFStringRef.
- */
- kEventAccessibleGetAllAttributeNames = 21,
-
- /*
- * The kEventParamAccessibleAttributeName parameter will contain an
- * attribute name in the form of a CFStringRef. If you support the
- * named attribute, return the attribute's value in the
- * kEventParamAccessibleAttributeValue parameter.
- */
- kEventAccessibleGetNamedAttribute = 22,
-
- /*
- * The kEventParamAccessibleAttributeName parameter will contain an
- * attribute name in the form of a CFStringRef. The
- * kEventParamAccessibleAttributeValue parameter will contain data in
- * an arbitrary format. If you support the named attribute, set the
- * named attribute's value to the data provided in the event.
- */
- kEventAccessibleSetNamedAttribute = 23,
-
- /*
- * The kEventParamAccessibleAttributeName parameter will contain an
- * attribute name in the form of a CFStringRef. If you support the
- * named attribute, set the kEventParamAccessibleAttributeSettable
- * attribute to a Boolean indicating whether the named attribute can
- * have its value changed via the kEventAccessibleSetNamedAttribute
- * event.
- */
- kEventAccessibleIsNamedAttributeSettable = 24,
-
- /*
- * The kEventParamAccessibleActionNames parameter will contain a
- * CFMutableArrayRef. Add each of the action names you support to
- * this array in the form of a CFStringRef.
- */
- kEventAccessibleGetAllActionNames = 41,
-
- /*
- * The kEventParamAccessibleActionName parameter will contain an
- * attribute name in the form of a CFStringRef. If you support the
- * named action, perform the action.
- */
- kEventAccessiblePerformNamedAction = 42,
-
- /*
- * The kEventParamAccessibleActionName parameter will contain an
- * attribute name in the form of a CFStringRef. The
- * kEventParamAccessibleActionDescription parameter will contain a
- * CFMutableStringRef. If you support the named action, alter the
- * mutable string to contain a textual description of the action's
- * significance.
- */
- kEventAccessibleGetNamedActionDescription = 44
- };
-
-
- /*
- Parameters for Accessibility events:
-
- kEventAccessibleGetChildAtPoint
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- --> kEventParamMouseLocation typeHIPoint
- <-- kEventParamAccessibleChild typeCFTypeRef with an AXUIElementRef
-
- kEventAccessibleGetFocusedChild
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- <-- kEventParamAccessibleChild typeCFTypeRef with an AXUIElementRef
-
- kEventAccessibleGetAllAttributeNames
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- <-> kEventParamAccessibleAttributeNames typeCFMutableArrayRef
-
- kEventAccessibleGetNamedAttribute
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- --> kEventParamAccessibleAttributeName typeCFStringRef
- <-- kEventParamAccessibleAttributeValue variable
-
- kEventAccessibleSetNamedAttribute
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- --> kEventParamAccessibleAttributeName typeCFStringRef
- --> kEventParamAccessibleAttributeValue variable
-
- kEventAccessibleIsNamedAttributeSettable
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- --> kEventParamAccessibleAttributeName typeCFStringRef
- <-- kEventParamAccessibleAttributeSettable typeBoolean
-
- kEventAccessibleGetAllActionNames
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- <-> kEventParamAccessibleActionNames typeCFMutableArrayRef
-
- kEventAccessiblePerformNamedAction
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- --> kEventParamAccessibleActionName typeCFStringRef
-
- kEventAccessibleGetNamedActionDescription
- --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
- --> kEventParamAccessibleActionName typeCFStringRef
- <-> kEventParamAccessibleActionDescription typeCFMutableStringRef
- */
- typedef struct __AXUIElement* AXUIElementRef;
- /*
- * AXUIElementCreateWithHIObjectAndIdentifier()
- *
- * Discussion:
- * This routine creates an AXUIElementRef to represent an accessible
- * object for a Carbon application. A Carbon accessible object is
- * comprised of an HIObjectRef and a 64-bit identifier. The
- * resulting AXUIElementRef is a CFTypeRef, and must be managed as
- * such.
- *
- * Parameters:
- *
- * inHIObject:
- * The HIObjectRef of the accessible object.
- *
- * inIdentifier:
- * The 64-bit identifier of the accessible object.
- *
- * Result:
- * An AXUIElementRef that represents the Carbon accessible object
- * identified by the given HIObjectRef and 64-bit identifier. This
- * follows CoreFoundation semantics in that it will return NULL for
- * failure, and because it is a "Create" function you will need to
- * CFRelease() this AXUIElementRef when it is no longer needed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(AXUIElementRef)
- AXUIElementCreateWithHIObjectAndIdentifier(
- HIObjectRef inHIObject,
- UInt64 inIdentifier);
-
-
- /*
- * AXUIElementGetHIObject()
- *
- * Discussion:
- * If the incoming AXUIElementRef is a Carbon accessible object,
- * this routine will return the HIObjectRef of the accessible object.
- *
- * Parameters:
- *
- * inUIElement:
- * The AXUIElementRef of whom you'd like to get the HIObjectRef.
- *
- * Result:
- * The HIObjectRef of the AXUIElementRef. If the incoming
- * AXUIElementRef is not a Carbon accessible object, this routine
- * will return NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIObjectRef)
- AXUIElementGetHIObject(AXUIElementRef inUIElement);
-
-
- /*
- * AXUIElementGetIdentifier()
- *
- * Discussion:
- * If the incoming AXUIElementRef is a Carbon accessible object,
- * this routine will pass back the 64-bit identifier of the
- * accessible object.
- *
- * Parameters:
- *
- * inUIElement:
- * The AXUIElementRef of whom you'd like to get the 64-bit
- * identifier.
- *
- * outIdentifier:
- * The 64-bit identifier of the AXUIElementRef. If the incoming
- * AXUIElementRef is not a Carbon accessible object, this routine
- * will pass back zero. Note that zero is often a legal value for
- * Carbon accessible object, so do not assume that the accessible
- * object is not a Carbon accessible object just because you get a
- * result of zero.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- AXUIElementGetIdentifier(
- AXUIElementRef inUIElement,
- UInt64 * outIdentifier);
-
-
- /*
- * AXNotificationHIObjectNotify()
- *
- * Discussion:
- * Posts a notification for the given pseudo-AXUIElementRef. Though
- * an actual AXUIElementRef is not actually passed in to this
- * function, its component parts are. This saves the implementation
- * the hassle of dismantling the AXUIElementRef into its component
- * parts.
- *
- * Parameters:
- *
- * inNotification:
- * The notification name string.
- *
- * inHIObject:
- * The HIObjectRef component of the AXUIElementRef to whom the
- * notification applies.
- *
- * inIdentifier:
- * The 64-bit identifier component of the AXUIElementRef to whom
- * the notification applies.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- AXNotificationHIObjectNotify(
- CFStringRef inNotification,
- HIObjectRef inHIObject,
- UInt64 inIdentifier);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* Parameter names and types */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kEventParamDirectObject = FOUR_CHAR_CODE('----') /* type varies depending on event*/
- };
-
-
- /*
- */
- enum
- {
-
- /*
- * This event parameter may be added to any event that is posted to
- * the main event queue. When the event is removed from the queue and
- * sent to the event dispatcher, the dispatcher will retrieve the
- * EventTargetRef contained in this parameter and send the event
- * directly to that event target. If this parameter is not available
- * in the event, the dispatcher will send the event to a suitable
- * target, or to the application target if no more specific target is
- * appropriate. Available in CarbonLib 1.3.1 and later, and Mac OS X.
- */
- kEventParamPostTarget = FOUR_CHAR_CODE('ptrg'), /* typeEventTargetRef*/
-
- /*
- * Indicates an event parameter of type EventTargetRef.
- */
- typeEventTargetRef = FOUR_CHAR_CODE('etrg') /* EventTargetRef*/
- };
-
- /* Generic toolbox parameters and types*/
-
- enum
- {
- kEventParamWindowRef = FOUR_CHAR_CODE('wind'), /* typeWindowRef*/
- kEventParamGrafPort = FOUR_CHAR_CODE('graf'), /* typeGrafPtr*/
- kEventParamDragRef = FOUR_CHAR_CODE('drag'), /* typeDragRef*/
- kEventParamMenuRef = FOUR_CHAR_CODE('menu'), /* typeMenuRef*/
- kEventParamEventRef = FOUR_CHAR_CODE('evnt'), /* typeEventRef*/
- kEventParamControlRef = FOUR_CHAR_CODE('ctrl'), /* typeControlRef*/
- kEventParamRgnHandle = FOUR_CHAR_CODE('rgnh'), /* typeQDRgnHandle*/
- kEventParamEnabled = FOUR_CHAR_CODE('enab'), /* typeBoolean*/
- kEventParamDimensions = FOUR_CHAR_CODE('dims'), /* typeQDPoint*/
- kEventParamAvailableBounds = FOUR_CHAR_CODE('avlb'), /* typeQDRectangle*/
- kEventParamAEEventID = keyAEEventID, /* typeType*/
- kEventParamAEEventClass = keyAEEventClass, /* typeType*/
- kEventParamCGContextRef = FOUR_CHAR_CODE('cntx'), /* typeCGContextRef*/
- kEventParamDeviceDepth = FOUR_CHAR_CODE('devd'), /* typeShortInteger*/
- kEventParamDeviceColor = FOUR_CHAR_CODE('devc'), /* typeBoolean*/
- kEventParamMutableArray = FOUR_CHAR_CODE('marr'), /* typeCFMutableArrayRef*/
- kEventParamResult = FOUR_CHAR_CODE('ansr'), /* any type - depends on event like direct object*/
- kEventParamMinimumSize = FOUR_CHAR_CODE('mnsz'), /* typeHISize*/
- kEventParamMaximumSize = FOUR_CHAR_CODE('mxsz'), /* typeHISize*/
- typeWindowRef = FOUR_CHAR_CODE('wind'), /* WindowRef*/
- typeGrafPtr = FOUR_CHAR_CODE('graf'), /* CGrafPtr*/
- typeGWorldPtr = FOUR_CHAR_CODE('gwld'), /* GWorldPtr*/
- typeDragRef = FOUR_CHAR_CODE('drag'), /* DragRef*/
- typeMenuRef = FOUR_CHAR_CODE('menu'), /* MenuRef*/
- typeControlRef = FOUR_CHAR_CODE('ctrl'), /* ControlRef*/
- typeCollection = FOUR_CHAR_CODE('cltn'), /* Collection*/
- typeQDRgnHandle = FOUR_CHAR_CODE('rgnh'), /* RgnHandle*/
- typeOSStatus = FOUR_CHAR_CODE('osst'), /* OSStatus*/
- typeCFStringRef = FOUR_CHAR_CODE('cfst'), /* CFStringRef*/
- typeCFMutableStringRef = FOUR_CHAR_CODE('cfms'), /* CFMutableStringRef*/
- typeCFIndex = FOUR_CHAR_CODE('cfix'), /* CFIndex*/
- typeCFTypeRef = FOUR_CHAR_CODE('cfty'), /* CFTypeRef*/
- typeCGContextRef = FOUR_CHAR_CODE('cntx'), /* CGContextRef*/
- typeHIPoint = FOUR_CHAR_CODE('hipt'), /* HIPoint*/
- typeHISize = FOUR_CHAR_CODE('hisz'), /* HISize*/
- typeHIRect = FOUR_CHAR_CODE('hirc'), /* HIRect*/
- typeVoidPtr = FOUR_CHAR_CODE('void') /* void * (used for hiobject fun)*/
- };
-
- /* Mouse event parameters and types*/
-
- enum
- {
- kEventParamMouseLocation = FOUR_CHAR_CODE('mloc'), /* typeHIPoint*/
- kEventParamWindowMouseLocation = FOUR_CHAR_CODE('wmou'), /* typeHIPoint (Mac OS X 10.1 or later)*/
- kEventParamMouseButton = FOUR_CHAR_CODE('mbtn'), /* typeMouseButton*/
- kEventParamClickCount = FOUR_CHAR_CODE('ccnt'), /* typeUInt32*/
- kEventParamMouseWheelAxis = FOUR_CHAR_CODE('mwax'), /* typeMouseWheelAxis*/
- kEventParamMouseWheelDelta = FOUR_CHAR_CODE('mwdl'), /* typeSInt32*/
- kEventParamMouseDelta = FOUR_CHAR_CODE('mdta'), /* typeQDPoint*/
- kEventParamMouseChord = FOUR_CHAR_CODE('chor'), /* typeUInt32*/
- kEventParamTabletEventType = FOUR_CHAR_CODE('tblt'), /* typeUInt32*/
- kEventParamMouseTrackingRef = FOUR_CHAR_CODE('mtrf'), /* typeMouseTrackingRef*/
- typeMouseButton = FOUR_CHAR_CODE('mbtn'), /* EventMouseButton*/
- typeMouseWheelAxis = FOUR_CHAR_CODE('mwax'), /* EventMouseWheelAxis*/
- typeMouseTrackingRef = FOUR_CHAR_CODE('mtrf') /* MouseTrackingRef*/
- };
-
- /* Keyboard event parameter and types*/
-
- enum
- {
- kEventParamKeyCode = FOUR_CHAR_CODE('kcod'), /* typeUInt32*/
- kEventParamKeyMacCharCodes = FOUR_CHAR_CODE('kchr'), /* typeChar*/
- kEventParamKeyModifiers = FOUR_CHAR_CODE('kmod'), /* typeUInt32*/
- kEventParamKeyUnicodes = FOUR_CHAR_CODE('kuni'), /* typeUnicodeText*/
- kEventParamKeyboardType = FOUR_CHAR_CODE('kbdt'), /* typeUInt32*/
- typeEventHotKeyID = FOUR_CHAR_CODE('hkid') /* EventHotKeyID*/
- };
-
- /* TextInput event parameters*/
-
- enum
- {
- kEventParamTextInputSendRefCon = FOUR_CHAR_CODE('tsrc'), /* typeLongInteger*/
- kEventParamTextInputSendComponentInstance = FOUR_CHAR_CODE('tsci'), /* typeComponentInstance*/
- kEventParamTextInputSendSLRec = FOUR_CHAR_CODE('tssl'), /* typeIntlWritingCode*/
- kEventParamTextInputReplySLRec = FOUR_CHAR_CODE('trsl'), /* typeIntlWritingCode*/
- kEventParamTextInputSendText = FOUR_CHAR_CODE('tstx'), /* typeUnicodeText (if TSMDocument is Unicode), otherwise typeChar*/
- kEventParamTextInputReplyText = FOUR_CHAR_CODE('trtx'), /* typeUnicodeText (if TSMDocument is Unicode), otherwise typeChar*/
- kEventParamTextInputSendUpdateRng = FOUR_CHAR_CODE('tsup'), /* typeTextRangeArray*/
- kEventParamTextInputSendHiliteRng = FOUR_CHAR_CODE('tshi'), /* typeTextRangeArray*/
- kEventParamTextInputSendClauseRng = FOUR_CHAR_CODE('tscl'), /* typeOffsetArray*/
- kEventParamTextInputSendPinRng = FOUR_CHAR_CODE('tspn'), /* typeTextRange*/
- kEventParamTextInputSendFixLen = FOUR_CHAR_CODE('tsfx'), /* typeLongInteger*/
- kEventParamTextInputSendLeadingEdge = FOUR_CHAR_CODE('tsle'), /* typeBoolean*/
- kEventParamTextInputReplyLeadingEdge = FOUR_CHAR_CODE('trle'), /* typeBoolean*/
- kEventParamTextInputSendTextOffset = FOUR_CHAR_CODE('tsto'), /* typeLongInteger*/
- kEventParamTextInputReplyTextOffset = FOUR_CHAR_CODE('trto'), /* typeLongInteger*/
- kEventParamTextInputReplyRegionClass = FOUR_CHAR_CODE('trrg'), /* typeLongInteger*/
- kEventParamTextInputSendCurrentPoint = FOUR_CHAR_CODE('tscp'), /* typeQDPoint*/
- kEventParamTextInputSendDraggingMode = FOUR_CHAR_CODE('tsdm'), /* typeBoolean*/
- kEventParamTextInputReplyPoint = FOUR_CHAR_CODE('trpt'), /* typeQDPoint*/
- kEventParamTextInputReplyFont = FOUR_CHAR_CODE('trft'), /* typeLongInteger*/
- kEventParamTextInputReplyFMFont = FOUR_CHAR_CODE('trfm'), /* typeUInt32*/
- kEventParamTextInputReplyPointSize = FOUR_CHAR_CODE('trpz'), /* typeFixed*/
- kEventParamTextInputReplyLineHeight = FOUR_CHAR_CODE('trlh'), /* typeShortInteger*/
- kEventParamTextInputReplyLineAscent = FOUR_CHAR_CODE('trla'), /* typeShortInteger*/
- kEventParamTextInputReplyTextAngle = FOUR_CHAR_CODE('trta'), /* typeFixed*/
- kEventParamTextInputSendShowHide = FOUR_CHAR_CODE('tssh'), /* typeBoolean*/
- kEventParamTextInputReplyShowHide = FOUR_CHAR_CODE('trsh'), /* typeBoolean*/
- kEventParamTextInputSendKeyboardEvent = FOUR_CHAR_CODE('tske'), /* typeEventRef*/
- kEventParamTextInputSendTextServiceEncoding = FOUR_CHAR_CODE('tsse'), /* typeUInt32*/
- kEventParamTextInputSendTextServiceMacEncoding = FOUR_CHAR_CODE('tssm'), /* typeUInt32*/
- kEventParamTextInputGlyphInfoArray = FOUR_CHAR_CODE('glph') /* typeGlyphInfoArray*/
- };
-
- /* Command event parameters and types*/
-
- enum
- {
- kEventParamHICommand = FOUR_CHAR_CODE('hcmd'), /* typeHICommand*/
- typeHICommand = FOUR_CHAR_CODE('hcmd') /* HICommand*/
- };
-
- /* Window event parameters and types*/
-
- enum
- {
- kEventParamWindowFeatures = FOUR_CHAR_CODE('wftr'), /* typeUInt32*/
- kEventParamWindowDefPart = FOUR_CHAR_CODE('wdpc'), /* typeWindowDefPartCode*/
- kEventParamCurrentBounds = FOUR_CHAR_CODE('crct'), /* typeQDRectangle*/
- kEventParamOriginalBounds = FOUR_CHAR_CODE('orct'), /* typeQDRectangle*/
- kEventParamPreviousBounds = FOUR_CHAR_CODE('prct'), /* typeQDRectangle*/
- kEventParamClickActivation = FOUR_CHAR_CODE('clac'), /* typeClickActivationResult*/
- kEventParamWindowRegionCode = FOUR_CHAR_CODE('wshp'), /* typeWindowRegionCode*/
- kEventParamWindowDragHiliteFlag = FOUR_CHAR_CODE('wdhf'), /* typeBoolean*/
- kEventParamWindowModifiedFlag = FOUR_CHAR_CODE('wmff'), /* typeBoolean*/
- kEventParamWindowProxyGWorldPtr = FOUR_CHAR_CODE('wpgw'), /* typeGWorldPtr*/
- kEventParamWindowProxyImageRgn = FOUR_CHAR_CODE('wpir'), /* typeQDRgnHandle*/
- kEventParamWindowProxyOutlineRgn = FOUR_CHAR_CODE('wpor'), /* typeQDRgnHandle*/
- kEventParamWindowStateChangedFlags = FOUR_CHAR_CODE('wscf'), /* typeUInt32 */
- kEventParamWindowTitleFullWidth = FOUR_CHAR_CODE('wtfw'), /* typeSInt16*/
- kEventParamWindowTitleTextWidth = FOUR_CHAR_CODE('wttw'), /* typeSInt16*/
- kEventParamWindowGrowRect = FOUR_CHAR_CODE('grct'), /* typeQDRectangle*/
- kEventParamAttributes = FOUR_CHAR_CODE('attr'), /* typeUInt32*/
- kEventParamPreviousDockRect = FOUR_CHAR_CODE('pdrc'), /* typeHIRect*/
- kEventParamCurrentDockRect = FOUR_CHAR_CODE('cdrc'), /* typeHIRect*/
- typeWindowRegionCode = FOUR_CHAR_CODE('wshp'), /* WindowRegionCode*/
- typeWindowDefPartCode = FOUR_CHAR_CODE('wdpt'), /* WindowDefPartCode*/
- typeClickActivationResult = FOUR_CHAR_CODE('clac') /* ClickActivationResult*/
- };
-
- /* Control event parameters and types*/
-
- enum
- {
- kEventParamControlPart = FOUR_CHAR_CODE('cprt'), /* typeControlPartCode*/
- kEventParamInitCollection = FOUR_CHAR_CODE('icol'), /* typeCollection*/
- kEventParamControlMessage = FOUR_CHAR_CODE('cmsg'), /* typeShortInteger*/
- kEventParamControlParam = FOUR_CHAR_CODE('cprm'), /* typeLongInteger*/
- kEventParamControlResult = FOUR_CHAR_CODE('crsl'), /* typeLongInteger*/
- kEventParamControlRegion = FOUR_CHAR_CODE('crgn'), /* typeQDRgnHandle*/
- kEventParamControlAction = FOUR_CHAR_CODE('caup'), /* typeControlActionUPP*/
- kEventParamControlIndicatorDragConstraint = FOUR_CHAR_CODE('cidc'), /* typeIndicatorDragConstraint*/
- kEventParamControlIndicatorRegion = FOUR_CHAR_CODE('cirn'), /* typeQDRgnHandle*/
- kEventParamControlIsGhosting = FOUR_CHAR_CODE('cgst'), /* typeBoolean*/
- kEventParamControlIndicatorOffset = FOUR_CHAR_CODE('ciof'), /* typeQDPoint*/
- kEventParamControlClickActivationResult = FOUR_CHAR_CODE('ccar'), /* typeClickActivationResult*/
- kEventParamControlSubControl = FOUR_CHAR_CODE('csub'), /* typeControlRef*/
- kEventParamControlOptimalBounds = FOUR_CHAR_CODE('cobn'), /* typeQDRectangle*/
- kEventParamControlOptimalBaselineOffset = FOUR_CHAR_CODE('cobo'), /* typeShortInteger*/
- kEventParamControlDataTag = FOUR_CHAR_CODE('cdtg'), /* typeEnumeration*/
- kEventParamControlDataBuffer = FOUR_CHAR_CODE('cdbf'), /* typePtr*/
- kEventParamControlDataBufferSize = FOUR_CHAR_CODE('cdbs'), /* typeLongInteger*/
- kEventParamControlDrawDepth = FOUR_CHAR_CODE('cddp'), /* typeShortInteger*/
- kEventParamControlDrawInColor = FOUR_CHAR_CODE('cdic'), /* typeBoolean*/
- kEventParamControlFeatures = FOUR_CHAR_CODE('cftr'), /* typeUInt32*/
- kEventParamControlPartBounds = FOUR_CHAR_CODE('cpbd'), /* typeQDRectangle*/
- kEventParamControlOriginalOwningWindow = FOUR_CHAR_CODE('coow'), /* typeWindowRef*/
- kEventParamControlCurrentOwningWindow = FOUR_CHAR_CODE('ccow'), /* typeWindowRef*/
- kEventParamControlFocusEverything = FOUR_CHAR_CODE('cfev'), /* typeBoolean*/
- kEventParamNextControl = FOUR_CHAR_CODE('cnxc'), /* typeControlRef*/
- kEventParamStartControl = FOUR_CHAR_CODE('cstc'), /* typeControlRef*/
- kEventParamControlSubview = FOUR_CHAR_CODE('csvw'), /* typeControlRef*/
- kEventParamControlPreviousPart = FOUR_CHAR_CODE('copc'), /* typeControlPartCode*/
- kEventParamControlCurrentPart = FOUR_CHAR_CODE('cnpc'), /* typeControlPartCode*/
- kEventParamControlInvalRgn = FOUR_CHAR_CODE('civr'), /* typeQDRgnHandle*/
- kEventParamControlValue = FOUR_CHAR_CODE('cval'), /* typeLongInteger*/
- typeControlActionUPP = FOUR_CHAR_CODE('caup'), /* ControlActionUPP*/
- typeIndicatorDragConstraint = FOUR_CHAR_CODE('cidc'), /* IndicatorDragConstraint*/
- typeControlPartCode = FOUR_CHAR_CODE('cprt') /* ControlPartCode*/
- };
-
- /* Menu event parameters and types*/
-
- enum
- {
- kEventParamCurrentMenuTrackingMode = FOUR_CHAR_CODE('cmtm'), /* typeMenuTrackingMode*/
- kEventParamNewMenuTrackingMode = FOUR_CHAR_CODE('nmtm'), /* typeMenuTrackingMode*/
- kEventParamMenuFirstOpen = FOUR_CHAR_CODE('1sto'), /* typeBoolean*/
- kEventParamMenuItemIndex = FOUR_CHAR_CODE('item'), /* typeMenuItemIndex*/
- kEventParamMenuCommand = FOUR_CHAR_CODE('mcmd'), /* typeMenuCommand*/
- kEventParamEnableMenuForKeyEvent = FOUR_CHAR_CODE('fork'), /* typeBoolean*/
- kEventParamMenuEventOptions = FOUR_CHAR_CODE('meop'), /* typeMenuEventOptions*/
- kEventParamMenuContext = FOUR_CHAR_CODE('mctx'), /* typeUInt32*/
- kEventParamMenuItemBounds = FOUR_CHAR_CODE('mitb'), /* typeQDRectangle*/
- kEventParamMenuMarkBounds = FOUR_CHAR_CODE('mmkb'), /* typeQDRectangle*/
- kEventParamMenuIconBounds = FOUR_CHAR_CODE('micb'), /* typeQDRectangle*/
- kEventParamMenuTextBounds = FOUR_CHAR_CODE('mtxb'), /* typeQDRectangle*/
- kEventParamMenuTextBaseline = FOUR_CHAR_CODE('mtbl'), /* typeShortInteger*/
- kEventParamMenuCommandKeyBounds = FOUR_CHAR_CODE('mcmb'), /* typeQDRectangle*/
- kEventParamMenuVirtualTop = FOUR_CHAR_CODE('mvrt'), /* typeLongInteger*/
- kEventParamMenuVirtualBottom = FOUR_CHAR_CODE('mvrb'), /* typeLongInteger*/
- kEventParamMenuDrawState = FOUR_CHAR_CODE('mdrs'), /* typeThemeDrawState*/
- kEventParamMenuItemType = FOUR_CHAR_CODE('mitp'), /* typeThemeMenuItemType*/
- kEventParamMenuItemWidth = FOUR_CHAR_CODE('mitw'), /* typeShortInteger*/
- kEventParamMenuItemHeight = FOUR_CHAR_CODE('mith'), /* typeShortInteger*/
- typeMenuItemIndex = FOUR_CHAR_CODE('midx'), /* MenuItemIndex*/
- typeMenuCommand = FOUR_CHAR_CODE('mcmd'), /* MenuCommand*/
- typeMenuTrackingMode = FOUR_CHAR_CODE('mtmd'), /* MenuTrackingMode*/
- typeMenuEventOptions = FOUR_CHAR_CODE('meop'), /* MenuEventOptions*/
- typeThemeMenuState = FOUR_CHAR_CODE('tmns'), /* ThemeMenuState*/
- typeThemeMenuItemType = FOUR_CHAR_CODE('tmit') /* ThemeMenuItemType*/
- };
-
- /* Application event parameters*/
-
- enum
- {
- kEventParamProcessID = FOUR_CHAR_CODE('psn '), /* typeProcessSerialNumber*/
- kEventParamLaunchRefCon = FOUR_CHAR_CODE('lref'), /* typeUInt32*/
- kEventParamLaunchErr = FOUR_CHAR_CODE('err '), /* typeOSStatus*/
- kEventParamSystemUIMode = FOUR_CHAR_CODE('uimd') /* typeUInt32*/
- };
-
- /* Tablet event parameters and types*/
-
- enum
- {
- kEventParamTabletPointRec = FOUR_CHAR_CODE('tbrc'), /* typeTabletPointRec*/
- kEventParamTabletProximityRec = FOUR_CHAR_CODE('tbpx'), /* typeTabletProximityRec*/
- typeTabletPointRec = FOUR_CHAR_CODE('tbrc'), /* kEventParamTabletPointRec*/
- typeTabletProximityRec = FOUR_CHAR_CODE('tbpx'), /* kEventParamTabletProximityRec*/
- kEventParamTabletPointerRec = FOUR_CHAR_CODE('tbrc'), /* typeTabletPointerRec -- deprecated, for compatibility only*/
- typeTabletPointerRec = FOUR_CHAR_CODE('tbrc') /* kEventParamTabletPointerRec -- deprecated, for compatibility only*/
- };
-
- /* Appearance event parameters*/
-
- enum
- {
- kEventParamNewScrollBarVariant = FOUR_CHAR_CODE('nsbv') /* typeShortInteger*/
- };
-
- /* Service event parameters*/
-
- enum
- {
- kEventParamScrapRef = FOUR_CHAR_CODE('scrp'), /* typeScrapRef*/
- kEventParamServiceCopyTypes = FOUR_CHAR_CODE('svsd'), /* typeCFMutableArrayRef*/
- kEventParamServicePasteTypes = FOUR_CHAR_CODE('svpt'), /* typeCFMutableArrayRef*/
- kEventParamServiceMessageName = FOUR_CHAR_CODE('svmg'), /* typeCFStringRef*/
- kEventParamServiceUserData = FOUR_CHAR_CODE('svud'), /* typeCFStringRef*/
- typeScrapRef = FOUR_CHAR_CODE('scrp'), /* ScrapRef*/
- typeCFMutableArrayRef = FOUR_CHAR_CODE('cfma') /* CFMutableArrayRef*/
- };
-
- /* Toolbar event parameters and types*/
-
- enum
- {
- kEventParamToolbar = FOUR_CHAR_CODE('tbar'), /* typeHIToolbarRef*/
- kEventParamToolbarItem = FOUR_CHAR_CODE('tbit'), /* typeHIToolbarItemRef*/
- kEventParamToolbarItemIdentifier = FOUR_CHAR_CODE('tbii'), /* typeCFStringRef*/
- kEventParamToolbarItemConfigData = FOUR_CHAR_CODE('tbid'), /* typeCFTypeRef*/
- typeHIToolbarRef = FOUR_CHAR_CODE('tbar'), /* HIToolbarRef*/
- typeHIToolbarItemRef = FOUR_CHAR_CODE('tbit') /* HIToolbarItemRef*/
- };
-
- /* Accessibility event parameters*/
-
- enum
- {
- kEventParamAccessibleObject = FOUR_CHAR_CODE('aobj'), /* typeCFTypeRef with an AXUIElementRef*/
- kEventParamAccessibleChild = FOUR_CHAR_CODE('achl'), /* typeCFTypeRef with an AXUIElementRef*/
- kEventParamAccessibleAttributeName = FOUR_CHAR_CODE('atnm'), /* typeCFStringRef*/
- kEventParamAccessibleAttributeNames = FOUR_CHAR_CODE('atns'), /* typeCFMutableArrayRef of CFStringRefs*/
- kEventParamAccessibleAttributeValue = FOUR_CHAR_CODE('atvl'), /* variable*/
- kEventParamAccessibleAttributeSettable = FOUR_CHAR_CODE('atst'), /* typeBoolean*/
- kEventParamAccessibleActionName = FOUR_CHAR_CODE('acnm'), /* typeCFStringRef*/
- kEventParamAccessibleActionNames = FOUR_CHAR_CODE('acns'), /* typeCFMutableArrayRef of CFStringRefs*/
- kEventParamAccessibleActionDescription = FOUR_CHAR_CODE('acds') /* typeCFMutableStringRef*/
- };
-
-
- /*
- * GetWindowEventTarget()
- *
- * Discussion:
- * Returns the EventTargetRef for the specified window. Once you
- * obtain this reference, you can send events to the target and
- * install an event handler on it.
- *
- * Parameters:
- *
- * inWindow:
- * The window to return the target for.
- *
- * Result:
- * An EventTargetRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventTargetRef)
- GetWindowEventTarget(WindowRef inWindow);
-
-
- /*
- * GetControlEventTarget()
- *
- * Discussion:
- * Returns the EventTargetRef for the specified control. Once you
- * obtain this reference, you can send events to the target and
- * install event handler on it.
- *
- * Parameters:
- *
- * inControl:
- * The control to return the target for.
- *
- * Result:
- * An EventTargetRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventTargetRef)
- GetControlEventTarget(ControlRef inControl);
-
-
- /*
- * GetMenuEventTarget()
- *
- * Discussion:
- * Returns the EventTargetRef for the specified menu. Once you
- * obtain this reference, you can send events to the target and
- * install event handler on it.
- *
- * Parameters:
- *
- * inMenu:
- * The menu to return the target for.
- *
- * Result:
- * An EventTargetRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventTargetRef)
- GetMenuEventTarget(MenuRef inMenu);
-
-
- /*
- * GetApplicationEventTarget()
- *
- * Discussion:
- * Returns the EventTargetRef for the application. Once you obtain
- * this reference, you can send events to the target and install
- * event handler on it.
- *
- * Result:
- * An EventTargetRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventTargetRef)
- GetApplicationEventTarget(void);
-
-
- /*
- * GetUserFocusEventTarget()
- *
- * Discussion:
- * Returns the EventTargetRef for the current user focus at the time
- * of the call. Keyboard events are always sent to this target.
- *
- * Result:
- * An EventTargetRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventTargetRef)
- GetUserFocusEventTarget(void);
-
-
- /*
- * GetEventDispatcherTarget()
- *
- * Discussion:
- * Returns the EventTargetRef for the standard toolbox dispatcher.
- * You typically would never need to use this, but there are some
- * exotic apps that need to pick events off the event queue and call
- * the dispatcher themselves. This allows you to do just that
- * instead of calling RunApplicationEventLoop to handle it all.
- *
- * Result:
- * An EventTargetRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EventTargetRef)
- GetEventDispatcherTarget(void);
+/*
+ * Discussion:
+ * These are returned from calls to TrackMouseLocation and
+ * TrackMouseRegion. Those routines are designed as replacements to
+ * calls such as StillDown and WaitMouseUp. The advantage over those
+ * routines is that TrackMouseLocation and TrackMouseRegion will
+ * block if the user is not moving the mouse, whereas mouse tracking
+ * loops based on StillDown and WaitMouseUp will spin, chewing up
+ * valuable CPU time that could be better spent elsewhere. It is
+ * highly recommended that any tracking loops in your application
+ * stop using StillDown and WaitMouseUp and start using
+ * TrackMouseLocation/Region. See the notes on those routines for
+ * more information.
+ */
+enum {
+ kTrackMouseLocationOptionDontConsumeMouseUp = (1 << 0)
+};
+
+typedef UInt16 MouseTrackingResult;
+enum {
+ kMouseTrackingMouseDown = 1,
+ kMouseTrackingMouseUp = 2,
+ kMouseTrackingMouseExited = 3,
+ kMouseTrackingMouseEntered = 4,
+ kMouseTrackingMouseDragged = 5,
+ kMouseTrackingKeyModifiersChanged = 6,
+ kMouseTrackingUserCancelled = 7,
+ kMouseTrackingTimedOut = 8,
+ kMouseTrackingMouseMoved = 9
+};
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Helpful utilities */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * IsUserCancelEventRef()
+ *
+ * Discussion:
+ * Tests the event given to see whether the event represents a 'user
+ * cancel' event. Currently this is defined to be either the escape
+ * key being pressed, or command-period being pressed.
+ *
+ * Result:
+ * A boolean value indicating whether the event is a user cancel
+ * event.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsUserCancelEventRef(EventRef event);
+
+
+/*
+ * TrackMouseLocation()
+ *
+ * Discussion:
+ * Once entered, this routine waits for certain mouse events (move,
+ * mouse down, mouse up). When one of these events occurs, the
+ * function returns and tells the caller what happened and where the
+ * mouse is currently located. While there is no activity, the
+ * current event loop is run, effectively blocking the current
+ * thread (save for any timers that fire). This helps to minimize
+ * CPU usage when there is nothing going on.
+ *
+ * On Mac OS X 10.1 and earlier, and CarbonLib 1.5 and earlier,
+ * TrackMouseLocation, TrackMouseLocationWithOptions, and
+ * TrackMouseRegion only support mouse-tracking when a mouse button
+ * is pressed. They cannot be used for mouse-tracking when no mouse
+ * button is pressed; if called when no button is pressed, they will
+ * simply block until a button is pressed and will not return when
+ * the mouse is moved. On Mac OS X 10.2 and CarbonLib 1.6 and later,
+ * TrackMouseLocation, TrackMouseLocationWithOptions, and
+ * TrackMouseRegion support mouse-tracking without a pressed mouse
+ * button; TrackMouseLocation and TrackMouseLocationWithOptions
+ * return kMouseTrackingMouseMoved if the mouse is moved while no
+ * button is pressed, and TrackMouseRegion returns
+ * kMouseTrackingMouseEntered/Exited if the mouse moves into or out
+ * of the specified region while no button is pressed.
+ *
+ * Parameters:
+ *
+ * inPort:
+ * The grafport to consider for mouse coordinates. You can pass
+ * NULL for this parameter to indicate the current port. The mouse
+ * location is returned in terms of local coordinates of this
+ * port. You can pass -1 for this parameter to indicate that the
+ * mouse location should be returned in global coordinates instead
+ * of local coordinates.
+ *
+ * outPt:
+ * On exit, this parameter receives the mouse location from the
+ * last mouse event that caused this function to exit.
+ *
+ * outResult:
+ * On exit, this parameter receives a value representing what kind
+ * of event was received that cause the function to exit, such as
+ * kMouseTrackingMouseUp.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TrackMouseLocation(
+ GrafPtr inPort, /* can be NULL */
+ Point * outPt,
+ MouseTrackingResult * outResult);
+
+
+/*
+ * TrackMouseLocationWithOptions()
+ *
+ * Discussion:
+ * This routine is largely identical to TrackMouseLocation. Please
+ * read the notes on that function as well.
+ * TrackMouseLocationWithOptions supports additional parameters for
+ * leaving mouse-up events in the event queue, specifying a timeout,
+ * and retrieving the current mouse position and keyboard modifiers.
+ *
+ * Parameters:
+ *
+ * inPort:
+ * The grafport to consider for mouse coordinates. You can pass
+ * NULL for this parameter to indicate the current port. The mouse
+ * location is returned in terms of local coordinates of this
+ * port. You can pass -1 for this parameter to indicate that the
+ * mouse location should be returned in global coordinates instead
+ * of local coordinates.
+ *
+ * inOptions:
+ * The only option supported by this routine at present is
+ * kTrackMouseLocationOptionDontConsumeMouseUp, which indicates
+ * that the toolbox should leave mouse-up events in the queue. You
+ * may also pass zero for this parameter to get the default
+ * behavior, which is to remove mouse-up events from the queue
+ * before returning.
+ *
+ * inTimeout:
+ * The amount of time to wait for an event. If no events arrive
+ * within this time, kMouseTrackingTimedOut is returned in
+ * outResult.
+ *
+ * outPt:
+ * On exit, this parameter receives the mouse location from the
+ * last mouse event that caused this function to exit. If a
+ * timeout or key modifiers changed event caused this function to
+ * exit, the current mouse position at the time is returned.
+ *
+ * outModifiers:
+ * On exit, this parameter receives the most recent state of the
+ * keyboard modifiers. If a timeout caused this function to exit,
+ * the current keyboard modifiers at the time are returned.
+ *
+ * outResult:
+ * On exit, this parameter receives a value representing what kind
+ * of event was received that cause the function to exit, such as
+ * kMouseTrackingMouseUp.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TrackMouseLocationWithOptions(
+ GrafPtr inPort, /* can be NULL */
+ OptionBits inOptions,
+ EventTimeout inTimeout,
+ Point * outPt,
+ UInt32 * outModifiers, /* can be NULL */
+ MouseTrackingResult * outResult);
+
+
+/*
+ * TrackMouseRegion()
+ *
+ * Discussion:
+ * This routine is largely identical to TrackMouseLocation. Please
+ * read the notes on that function as well. TrackMouseRegion differs
+ * from TrackMouseLocation by only returning when the mouse enters
+ * or exits a specified region that you pass in to the function, as
+ * opposed to whenever the mouse moves (it also returns for mouse
+ * up/down events). This is useful if you don't need to know
+ * intermediate mouse events, but rather just if the mouse enters or
+ * leaves an area.
+ *
+ * Parameters:
+ *
+ * inPort:
+ * The grafport to consider for mouse coordinates. You can pass
+ * NULL for this parameter to indicate the current port. You can
+ * pass -1 for this parameter to indicate that the mouse region
+ * should be interpreted in global coordinates instead of local
+ * coordinates.
+ *
+ * inRegion:
+ * The region to consider. This should be in the coordinates of
+ * the port you passed to inPort, or global coordinates if you
+ * passed -1 for the inPort parameter.
+ *
+ * ioWasInRgn:
+ * On entry, this parameter should be set to true if the mouse is
+ * currently inside the region passed in inRegion, or false if the
+ * mouse is currently outside the region. On exit, this parameter
+ * is updated to reflect the current reality; e.g. if the
+ * outResult parameter returns kMouseTrackingMouseExited,
+ * ioWasInRgn will be set to false when this function exits.
+ * Because it is updated from within, you should only need to set
+ * this yourself before the first call to this function in your
+ * tracking loop.
+ *
+ * outResult:
+ * On exit, this parameter receives a value representing what kind
+ * of event was received that cause the function to exit, such as
+ * kMouseTrackingMouseEntered.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TrackMouseRegion(
+ GrafPtr inPort, /* can be NULL */
+ RgnHandle inRegion,
+ Boolean * ioWasInRgn,
+ MouseTrackingResult * outResult);
+
+
+/*
+ * ConvertEventRefToEventRecord()
+ *
+ * Discussion:
+ * This is a convenience routine to help you if there are places in
+ * your application where you need an EventRecord and all you have
+ * is an EventRef. If the event can be converted, outEvent is filled
+ * in and the function returns true. If not, false is returned and
+ * outEvent will contain a nullEvent.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The EventRef to convert into an EventRecord.
+ *
+ * outEvent:
+ * The EventRecord to fill out.
+ *
+ * Result:
+ * A boolean indicating if the conversion was successful (true) or
+ * not (false).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+ConvertEventRefToEventRecord(
+ EventRef inEvent,
+ EventRecord * outEvent);
+
+
+/*
+ * IsEventInMask()
+ *
+ * Discussion:
+ * This is a companion function for ConvertEventRefToEventRecord,
+ * and is provided as a convenience routine to help you if there are
+ * places in your application where you want to check an EventRef to
+ * see if it matches a classic EventMask bitfield. If the event
+ * matches, the function returns true.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The EventRef to convert into an EventRecord.
+ *
+ * inMask:
+ * The mask to consider.
+ *
+ * Result:
+ * A boolean indicating if the event was considered to be in the
+ * mask provided.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsEventInMask(
+ EventRef inEvent,
+ EventMask inMask);
+
+
+/*
+ * GetLastUserEventTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventTime )
+GetLastUserEventTime(void);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Mouse Coalescing */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * IsMouseCoalescingEnabled()
+ *
+ * Discussion:
+ * Returns true if mouse coalescing is current enabled. When
+ * enabled, we coalesce mouse moved and mouse dragged events. By
+ * default, coalescing is on, but you can use
+ * SetMouseCoalescingEnabled to disable it if you want finer-grained
+ * mouse movement events, which is useful for drawing with tablets.
+ *
+ * Result:
+ * A boolean indicating if coalescing is enabled.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( Boolean )
+IsMouseCoalescingEnabled(void);
+
+
+/*
+ * SetMouseCoalescingEnabled()
+ *
+ * Discussion:
+ * Allows you to set mouse move/drag event coalescing on or off. By
+ * default, coalescing is on, but you can use this function to
+ * disable it if you want finer-grained mouse movement events, which
+ * is useful for drawing with tablets.
+ *
+ * Parameters:
+ *
+ * inNewState:
+ * A boolean indicating if coalescing should be enabled (true) or
+ * disabled (false).
+ *
+ * outOldState:
+ * A boolean which receives the prior state of mouse coalescing
+ * for restoration later. You can pass NULL for this parameter if
+ * you don't care.
+ *
+ * Result:
+ * An operating system status result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+SetMouseCoalescingEnabled(
+ Boolean inNewState,
+ Boolean * outOldState); /* can be NULL */
+
+
+
+/*======================================================================================*/
+/* EVENT CLASSES */
+/*======================================================================================*/
+
+/*
+ * Discussion:
+ * Event classes
+ */
+enum {
+
+ /*
+ * Events related to the mouse (mouse down/up/moved).
+ */
+ kEventClassMouse = FOUR_CHAR_CODE('mous'),
+
+ /*
+ * Events related to the keyboard.
+ */
+ kEventClassKeyboard = FOUR_CHAR_CODE('keyb'),
+
+ /*
+ * Events related to text input (by keyboard, or by input method).
+ */
+ kEventClassTextInput = FOUR_CHAR_CODE('text'),
+
+ /*
+ * Application-level events (launch, quit, etc.).
+ */
+ kEventClassApplication = FOUR_CHAR_CODE('appl'),
+
+ /*
+ * Apple Events.
+ */
+ kEventClassAppleEvent = FOUR_CHAR_CODE('eppc'),
+
+ /*
+ * Menu-related events.
+ */
+ kEventClassMenu = FOUR_CHAR_CODE('menu'),
+
+ /*
+ * Window-related events.
+ */
+ kEventClassWindow = FOUR_CHAR_CODE('wind'),
+
+ /*
+ * Control-related events.
+ */
+ kEventClassControl = FOUR_CHAR_CODE('cntl'),
+
+ /*
+ * Command events (HICommands).
+ */
+ kEventClassCommand = FOUR_CHAR_CODE('cmds'),
+
+ /*
+ * Events related to tablets.
+ */
+ kEventClassTablet = FOUR_CHAR_CODE('tblt'),
+
+ /*
+ * Events related to File Manager volumes.
+ */
+ kEventClassVolume = FOUR_CHAR_CODE('vol '),
+
+ /*
+ * Events related to the Appearance Manager.
+ */
+ kEventClassAppearance = FOUR_CHAR_CODE('appm'),
+
+ /*
+ * Events related to the Services Manager.
+ */
+ kEventClassService = FOUR_CHAR_CODE('serv'),
+
+ /*
+ * Events related to toolbars.
+ */
+ kEventClassToolbar = FOUR_CHAR_CODE('tbar'),
+
+ /*
+ * Events related to toolbar items.
+ */
+ kEventClassToolbarItem = FOUR_CHAR_CODE('tbit'),
+
+ /*
+ * Events related application accessibility.
+ */
+ kEventClassAccessibility = FOUR_CHAR_CODE('acce')
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* Mouse Events */
+/*--------------------------------------------------------------------------------------*/
+/* Mouse Events */
+
+/*
+ * Discussion:
+ * Mouse events (kEventClassMouse)
+ */
+enum {
+
+ /*
+ * A mouse button was pressed.
+ */
+ kEventMouseDown = 1,
+
+ /*
+ * A mouse button was released.
+ */
+ kEventMouseUp = 2,
+
+ /*
+ * The mouse was moved.
+ */
+ kEventMouseMoved = 5,
+
+ /*
+ * The mouse was moved, and a button was down.
+ */
+ kEventMouseDragged = 6,
+
+ /*
+ * The mouse entered a tracking area.
+ */
+ kEventMouseEntered = 8,
+
+ /*
+ * The mouse exited a tracking area.
+ */
+ kEventMouseExited = 9,
+
+ /*
+ * The mouse wheel was moved. (Mac OS X only)
+ */
+ kEventMouseWheelMoved = 10
+};
+
+/*
+ Parameters for mouse events:
+
+ // NOTE: As of Mac OS X 10.1, mouse events carry more information which allow you
+ // to do less work and gain accuracy of hit testing. First, there is the
+ // kEventParamWindowRef parameter. This parameter tells you what window the
+ // mouse click/move/etc occurred over. In mouse dragged events, this is the
+ // window the mouse went down in, NOT the window the mouse is currently over.
+ // Next, there is the kEventParamWindowMouseLocation parameter. This is the
+ // window-relative position of the mouse in the window given in the
+ // kEventParamWindowRef parameter. 0, 0 is at the top left of the structure
+ // of the window.
+
+ kEventMouseDown
+ --> kEventParamMouseLocation typeHIPoint
+ --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
+ --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamMouseButton typeMouseButton
+ --> kEventParamClickCount typeUInt32
+ --> kEventParamMouseChord typeUInt32 (Mac OS X only)
+ --> kEventParamTabletEventType typeUInt32 (Mac OS X 10.1, CarbonLib 1.5, and later)
+ --> kEventParamTabletPointRec typeTabletPointRec (if kEventParamTabletEventType is kEventTabletPoint)
+ --> kEventParamTabletProximityRec typeTabletProximityRec (if kEventParamTabletEventType is kEventTabletProximity)
+
+ kEventMouseUp
+ --> kEventParamMouseLocation typeHIPoint
+ --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
+ --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamMouseButton typeMouseButton
+ --> kEventParamClickCount typeUInt32
+ --> kEventParamMouseChord typeUInt32 (Mac OS X only)
+ --> kEventParamTabletEventType typeUInt32 (Mac OS X 10.1, CarbonLib 1.5, and later)
+ --> kEventParamTabletPointRec typeTabletPointRec (if kEventParamTabletEventType is kEventTabletPoint)
+ --> kEventParamTabletProximityRec typeTabletProximityRec (if kEventParamTabletEventType is kEventTabletProximity)
+
+ kEventMouseMoved
+ --> kEventParamMouseLocation typeHIPoint
+ --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
+ --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
+ --> kEventParamMouseDelta typeHIPoint (Mac OS X only)
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamTabletEventType typeUInt32 (Mac OS X 10.1, CarbonLib 1.5, and later)
+ --> kEventParamTabletPointRec typeTabletPointRec (if kEventParamTabletEventType is kEventTabletPoint)
+ --> kEventParamTabletProximityRec typeTabletProximityRec (if kEventParamTabletEventType is kEventTabletProximity)
+
+ kEventMouseDragged
+ --> kEventParamMouseLocation typeHIPoint
+ --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
+ --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
+ --> kEventParamMouseDelta typeHIPoint (Mac OS X only)
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamMouseButton typeMouseButton
+ --> kEventParamMouseChord typeUInt32 (Mac OS X only)
+ --> kEventParamTabletEventType typeUInt32 (Mac OS X 10.1, CarbonLib 1.5, and later)
+ --> kEventParamTabletPointRec typeTabletPointRec (if kEventParamTabletEventType is kEventTabletPoint)
+ --> kEventParamTabletProximityRec typeTabletProximityRec (if kEventParamTabletEventType is kEventTabletProximity)
+
+ kEventMouseEntered
+ --> kEventParamMouseTrackingRef typeMouseTrackingRef
+ --> kEventParamWindowRef typeWindowRef
+ --> kEventParamMouseLocation typeHIPoint
+ --> kEventParamWindowMouseLocation typeHIPoint
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventMouseExited
+ --> kEventParamMouseTrackingRef typeMouseTrackingRef
+ --> kEventParamWindowRef typeWindowRef
+ --> kEventParamMouseLocation typeHIPoint
+ --> kEventParamWindowMouseLocation typeHIPoint
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventMouseWheelMoved
+ --> kEventParamMouseLocation typeHIPoint
+ --> kEventParamWindowRef typeWindowRef (Mac OS X 10.1 or later)
+ --> kEventParamWindowMouseLocation typeHIPoint (Mac OS X 10.1 or later)
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamMouseWheelAxis typeMouseWheelAxis
+ --> kEventParamMouseWheelDelta typeLongInteger
+*/
+
+/*
+ * EventMouseButton
+ *
+ */
+typedef UInt16 EventMouseButton;
+enum {
+
+ /*
+ * Only button for a one-button mouse (usually left button for
+ * multi-button mouse)
+ */
+ kEventMouseButtonPrimary = 1,
+
+ /*
+ * Usually right button for a multi-button mouse
+ */
+ kEventMouseButtonSecondary = 2,
+
+ /*
+ * Usually middle button for a three-button mouse
+ */
+ kEventMouseButtonTertiary = 3
+};
+
+
+
+/*
+ * EventMouseWheelAxis
+ *
+ */
+typedef UInt16 EventMouseWheelAxis;
+enum {
+
+ /*
+ * The X axis (left or right)
+ */
+ kEventMouseWheelAxisX = 0,
+
+ /*
+ * The Y axis (up or down)
+ */
+ kEventMouseWheelAxisY = 1
+};
+
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Text Input Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Text input events (kEventClassTextInput)
+ *
+ * Discussion:
+ * The following TextInput events reimplement the AppleEvents
+ * defined in Inside Mac Text - Text Services Manager, and provide
+ * the benefits of Carbon Event targeting, dispatching and
+ * propagation to applications that have formerly handled the TSM
+ * suite of AppleEvents. TextInput handlers may be installed on
+ * controls, windows, or the application event target (equivalent to
+ * AppleEvent-based handling). In all cases, if a given TextInput
+ * handler is not installed, TSM will convert that TextInput to an
+ * AppleEvent and redispatch via AESend to the current process,
+ * making adoption as gradual as is desired.
+ */
+enum {
+
+ /*
+ * Tells the application/text engine to initiate/terminate or manage
+ * the content of inline input session.
+ */
+ kEventTextInputUpdateActiveInputArea = 1,
+
+ /*
+ * Unicode text resulting from a key event originated by TSM (not by
+ * an input method). A client need not be fully TSM-aware to process
+ * or receive this event, which has become the standard way of
+ * getting Unicode text from key events. You can also get Mac
+ * encoding characters from the raw keyboard event contained in this
+ * event. If no UnicodeForKeyEvent handler is installed, and no
+ * kUnicodeNotFromInputMethod AppleEvent handler is installed (or the
+ * application has not created a Unicode TSMDocument), the Mac
+ * encoding charCodes (if these can be converted from the Unicodes)
+ * are provided to WaitNextEvent.
+ */
+ kEventTextInputUnicodeForKeyEvent = 2,
+
+ /*
+ * Convert from inline session text offset to global QD Point. This
+ * event is typically be produced by an Input Method so that it can
+ * best position a palette "near" the text being operated on by the
+ * user.
+ */
+ kEventTextInputOffsetToPos = 3,
+
+ /*
+ * Convert from global QD point to inline session text offset. This
+ * event is typically produced by an input method to perform proper
+ * cursor management as the cursor moves over various subranges, or
+ * clauses of text (or the boundaries between these) in the inline
+ * input session.
+ */
+ kEventTextInputPosToOffset = 4,
+
+ /*
+ * Show/Hide the bottom line input window. This event is produced by
+ * Input Methods to control the Text Services Manager bottom-line
+ * input window, and is not normally handled by an application.
+ */
+ kEventTextInputShowHideBottomWindow = 5,
+
+ /*
+ * Get the text selected (or character before/after insertion point
+ * based on leadingEdge parameter) from the application's text engine.
+ */
+ kEventTextInputGetSelectedText = 6,
+ kEventTextInputUnicodeText = 7
+};
+
+/*
+ Parameters for TextInput events:
+
+ kEventTextInputUpdateActiveInputArea
+ Required parameters:
+ --> kEventParamTextInputSendComponentInstance typeComponentInstance
+ --> kEventParamTextInputSendRefCon typeLongInteger
+ --> kEventParamTextInputSendSLRec typeIntlWritingCode
+ --> kEventParamTextInputSendFixLen typeLongInteger
+ --> kEventParamTextInputSendText typeUnicodeText, typeChar
+ (data type depends on TSMDocument type created via NewTSMDocument...
+ typeChar for kTextService document, typeUnicodeText for kUnicodeDocument)
+
+ Optional parameters:
+ --> kEventParamTextInputSendUpdateRng typeTextRangeArray
+ --> kEventParamTextInputSendHiliteRng typeTextRangeArray
+ --> kEventParamTextInputSendClauseRng typeOffsetArray
+ --> kEventParamTextInputSendPinRng typeTextRange
+ --> kEventParamTextInputSendPinRng typeTextRange
+ --> kEventParamTextInputSendTextServiceEncoding typeUInt32
+ --> kEventParamTextInputSendTextServiceMacEncoding typeUInt32
+ --> kEventParamTextInputGlyphInfoArray typeGlyphInfoArray
+
+ kEventTextInputUnicodeForKeyEvent
+ Required parameters:
+ --> kEventParamTextInputSendComponentInstance typeComponentInstance
+ --> kEventParamTextInputSendRefCon typeLongInteger
+ --> kEventParamTextInputSendSLRec typeIntlWritingCode
+ --> kEventParamTextInputSendText typeUnicodeText
+ --> kEventParamTextInputSendKeyboardEvent typeEventRef
+ (This parameter is the original raw keyboard event that produced the
+ text. It enables access to kEventParamKeyModifiers and
+ kEventParamKeyCode parameters.
+ You can also extract from this event either Unicodes or Mac encoding
+ characters as follows:
+ kEventParamKeyUnicodes typeUnicodeText
+ kEventParamKeyMacCharCodes typeChar (if available)
+ The kEventParamKeyUnicodes parameter of the raw keyboard event is
+ identical to the TextInput event's kEventParamTextInputSendText
+ parameter. Note that when contents of TSM's bottom-line input
+ window (i.e. during typing Chinese, Korean, or Japanese) are confirmed,
+ the raw keyboard event's keyCode and modifiers are set to default values.)
+ --> kEventParamTextInputGlyphInfoArray typeGlyphInfoArray
+
+ kEventTextInputOffsetToPos
+ Required parameters:
+ --> kEventParamTextInputSendComponentInstance typeComponentInstance
+ --> kEventParamTextInputSendRefCon typeLongInteger
+ --> kEventParamTextInputSendTextOffset typeLongInteger
+ <-- kEventParamTextInputReplyPoint typeQDPoint
+
+ Optional parameters:
+ --> kEventParamTextInputSendSLRec typeIntlWritingCode
+ --> kEventParamTextInputSendLeadingEdge typeBoolean
+ <-- kEventParamTextInputReplySLRec typeIntlWritingCode
+ <-- kEventParamTextInputReplyFont typeLongInteger
+ <-- kEventParamTextInputReplyFMFont typeUInt32
+ <-- kEventParamTextInputReplyPointSize typeFixed
+ <-- kEventParamTextInputReplyLineHeight typeShortInteger
+ <-- kEventParamTextInputReplyLineAscent typeShortInteger
+ <-- kEventParamTextInputReplyTextAngle typeFixed
+
+ kEventTextInputPosToOffset
+ Required parameters:
+ --> kEventParamTextInputSendComponentInstance typeComponentInstance
+ --> kEventParamTextInputSendRefCon typeLongInteger
+ --> kEventParamTextInputSendCurrentPoint typeQDPoint
+ <-- kEventParamTextInputReplyRegionClass typeLongInteger
+ <-- kEventParamTextInputReplyTextOffset typeLongInteger
+ (required if the position is inside the document's body)
+
+ Optional parameters:
+ --> kEventParamTextInputSendDraggingMode typeBoolean
+ <-- kEventParamTextInputReplyLeadingEdge typeBoolean
+ <-- kEventParamTextInputReplySLRec typeIntlWritingCode
+
+ kEventTextInputShowHideBottomWindow
+ Required parameters:
+ --> kEventParamTextInputSendComponentInstance typeComponentInstance
+ --> kEventParamTextInputSendRefCon typeLongInteger
+
+ Optional parameters:
+ --> kEventParamTextInputSendShowHide typeBoolean
+ <-- kEventParamTextInputReplyShowHide typeBoolean
+
+ kEventTextInputGetSelectedText
+ Required parameters:
+ --> kEventParamTextInputSendComponentInstance typeComponentInstance
+ --> kEventParamTextInputSendRefCon typeLongInteger
+
+ Optional parameters:
+ --> kEventParamTextInputSendLeadingEdge typeBoolean
+ --> kEventParamTextInputSendTextServiceEncoding typeUInt32
+ --> kEventParamTextInputSendTextServiceMacEncoding typeUInt32
+ <-- kEventParamTextInputReplyText typeUnicodeText, typeChar
+ (data type depends on TSMDocument. See kEventTextInputUpdateActiveInputArea Notes)
+ <-- kEventParamTextInputReplySLRec typeIntlWritingCode
+ <-- kEventParamTextInputGlyphInfoArray typeGlyphInfoArray
+
+ kEventTextInputUnicodeText
+ Required parameters:
+ --> kEventParamTextInputSendComponentInstance typeComponentInstance
+ --> kEventParamTextInputSendSLRec typeIntlWritingCode
+ --> kEventParamTextInputSendText typeUnicodeText
+
+ Optional parameters:
+ --> kEventParamTextInputSendTextServiceEncoding typeUInt32
+ --> kEventParamTextInputSendTextServiceMacEncoding typeUInt32
+ --> kEventParamTextInputGlyphInfoArray typeGlyphInfoArray
+
+*/
+/*--------------------------------------------------------------------------------------*/
+/* Raw Keyboard Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Keyboard events (kEventClassKeyboard)
+ *
+ * Discussion:
+ * These events are the lowest-level keyboard events.
+ */
+enum {
+
+ /*
+ * A key was pressed.
+ */
+ kEventRawKeyDown = 1, /* hardware-level events*/
+
+ /*
+ * Sent periodically as a key is held down by the user.
+ */
+ kEventRawKeyRepeat = 2,
+
+ /*
+ * A key was released.
+ */
+ kEventRawKeyUp = 3,
+
+ /*
+ * The keyboard modifiers (bucky bits) have changed.
+ */
+ kEventRawKeyModifiersChanged = 4,
+
+ /*
+ * A registered Hot Key was pressed.
+ */
+ kEventHotKeyPressed = 5,
+
+ /*
+ * A registered Hot Key was released (this is only sent on Mac OS X).
+ */
+ kEventHotKeyReleased = 6 /* Mac OS X only*/
+};
+
+
+
+/*
+ * Summary:
+ * Key modifier change event bits and masks
+ *
+ * Discussion:
+ * From bit 8, cmdKeyBit, to bit 15, rightControlKeyBit, are
+ * compatible with Event Manager modifiers.
+ */
+enum {
+
+ /*
+ * The Num Lock state bit (Mac OS X only).
+ */
+ kEventKeyModifierNumLockBit = 16, /* Num Lock is on? (Mac OS X only)*/
+
+ /*
+ * The Fn key state bit (Mac OS X only).
+ */
+ kEventKeyModifierFnBit = 17 /* Fn key is down? (Mac OS X only)*/
+};
+
+enum {
+ kEventKeyModifierNumLockMask = 1L << kEventKeyModifierNumLockBit,
+ kEventKeyModifierFnMask = 1L << kEventKeyModifierFnBit
+};
+
+/*
+ Parameters for keyboard events:
+
+ kEventRawKeyDown
+ --> kEventParamKeyMacCharCodes typeChar
+ --> kEventParamKeyCode typeUInt32
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamKeyboardType typeUInt32
+
+ kEventRawKeyRepeat
+ --> kEventParamKeyMacCharCodes typeChar
+ --> kEventParamKeyCode typeUInt32
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamKeyboardType typeUInt32
+
+ kEventRawKeyUp
+ --> kEventParamKeyMacCharCodes typeChar
+ --> kEventParamKeyCode typeUInt32
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamKeyboardType typeUInt32
+
+ kEventRawKeyModifiersChanged
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventHotKeyPressed
+ --> kEventParamDirectObject typeEventHotKeyID
+
+ kEventHotKeyReleased
+ --> kEventParamDirectObject typeEventHotKeyID
+*/
+
+/*--------------------------------------------------------------------------------------*/
+/* Application Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Application events (kEventClassApplication)
+ */
+enum {
+
+ /*
+ * The current app has been activated (resume event). May optionally
+ * contain a kEventParamWindowRef parameter if a click on an
+ * application window was the cause of the app activation.
+ */
+ kEventAppActivated = 1,
+
+ /*
+ * The current app has just been deactivated (suspend event).
+ */
+ kEventAppDeactivated = 2,
+
+ /*
+ * Request to quit. Sent by QuitApplicationEventLoop to the
+ * application target. In response, the event handler installed by
+ * RunApplicationEventLoop will cause RunApplicationEventLoop to
+ * exit. Most applications will not need to handle this event;
+ * instead, an application should install an AppleEvent handler for
+ * the kAEQuitApplication event handler if it needs to check for
+ * unsaved documents or do other cleanup before quitting.
+ */
+ kEventAppQuit = 3,
+
+ /*
+ * An async launch request response. This event is received when you
+ * use LaunchServices to launch a process asynchronously. It is only
+ * received on Mac OS X.
+ */
+ kEventAppLaunchNotification = 4,
+
+ /*
+ * Another app was launched. Available on Mac OS X and CarbonLib
+ * 1.3.1 and later.
+ */
+ kEventAppLaunched = 5,
+
+ /*
+ * Another app terminated. Available on Mac OS X and CarbonLib 1.3.1
+ * and later.
+ */
+ kEventAppTerminated = 6,
+
+ /*
+ * The front (active) application has changed. Available on Mac OS X
+ * and CarbonLib 1.3.1 and later.
+ */
+ kEventAppFrontSwitched = 7,
+
+ /*
+ * The user has requested keyboard focus on the menubar. This event
+ * is handled automatically by the default application event handler
+ * installed by the Carbon Event Manager. Sent on Mac OS X 10.2 and
+ * later.
+ */
+ kEventAppFocusMenuBar = 8,
+
+ /*
+ * The user has requested keyboard focus on a document window. The
+ * application should cycle to the next (or previous, if the shift
+ * key is down) document window, or if there are no more windows to
+ * activate in the application's window list, to the next or previous
+ * document window in the next or previous process. User focus (see
+ * SetUserFocusWindow) should be applied to the new front document
+ * window. If something other than a document window has the focus at
+ * the time you receive this event, the frontmost document window
+ * should be given the user focus instead, and no z-order change
+ * should be made. Additionally, the keyboard focus should be moved
+ * to the main control in the newly focused window if no keyboard
+ * focus exists within the window. This event is handled
+ * automatically by the default application event handler installed
+ * by the Carbon Event Manager. An application which chooses to
+ * handle this event should never override it entirely; if necessary,
+ * it should only check if the user focus is somewhere other than a
+ * document window, and if so, set the focus on the active document
+ * window. If the focus is already on a document window, a handler
+ * for this event should always return eventNotHandledErr so that the
+ * default handler can rotate to the next window across all
+ * processes. Sent on Mac OS X 10.2 and later.
+ */
+ kEventAppFocusNextDocumentWindow = 9,
+
+ /*
+ * The application should cycle to the next (or previous, if the
+ * shift key is down) floating window in the application. User focus
+ * (see SetUserFocusWindow) should be applied to the new front
+ * floating window. If something other than a floating window has the
+ * focus at the time you receive this event, the frontmost floating
+ * window should be given the user focus instead, and no z-order
+ * change should be made. Additionally, the keyboard focus should be
+ * moved to the main control in the newly focused window if no
+ * keyboard focus exists within the window. This event is handled
+ * automatically by the default application event handler installed
+ * by the Carbon Event Manager. The default handler sends a
+ * kEventCommandProcess event containing
+ * kHICommandRotateFloatingWindowsForward/Backward when it detects
+ * that floating windows should be cycled. Sent on Mac OS X 10.2 and
+ * later.
+ */
+ kEventAppFocusNextFloatingWindow = 10,
+
+ /*
+ * The application should put focus on the first control in the
+ * toolbar in the focused window, if a toolbar is present. For
+ * windows that use the standard Toolbar control, this event is
+ * handled automatically by the default application event handler
+ * installed by the Carbon Event Manager. Sent on Mac OS X 10.2 and
+ * later.
+ */
+ kEventAppFocusToolbar = 11,
+
+ /*
+ * A request for a menu to be displayed by the application's dock
+ * tile. The default handler will return the menu, if any, that was
+ * provided by the SetApplicationDockTileMenu API. The sender of this
+ * event will release the menu after the Dock has displayed it, so if
+ * you return a permanently allocated MenuRef, you should call
+ * RetainMenu on it before returning from your event handler. For
+ * most applications, it will be easier to use the
+ * SetApplicationDockTileMenu API directly rather than installing a
+ * handler for this event. Available in Mac OS X 10.1 and later.
+ */
+ kEventAppGetDockTileMenu = 20,
+
+ /*
+ * The application was just hidden. Sent on Mac OS X 10.2 and later.
+ */
+ kEventAppHidden = 107,
+
+ /*
+ * The application was just shown. It was previously hidden. Sent on
+ * Mac OS X 10.2 and later.
+ */
+ kEventAppShown = 108,
+
+ /*
+ * The system UI mode of the frontmost application has changed. Sent
+ * on Mac OS X 10.2 and later.
+ */
+ kEventAppSystemUIModeChanged = 109
+};
+
+/*
+ Parameters for application events:
+
+ kEventAppActivated
+ --> kEventParamWindowRef typeWindowRef
+
+ kEventAppDeactivated
+ (no parameters)
+
+ kEventAppQuit
+ (no parameters)
+
+ kEventAppLaunchNotification
+ --> kEventParamProcessID typeProcessSerialNumber
+ --> kEventParamLaunchRefCon typeUInt32
+ --> kEventParamLaunchErr typeOSStatus
+
+ kEventAppLaunched
+ --> kEventParamProcessID typeProcessSerialNumber
+
+ kEventAppTerminated
+ --> kEventParamProcessID typeProcessSerialNumber
+
+ kEventAppFrontSwitched
+ --> kEventParamProcessID typeProcessSerialNumber
+
+ kEventAppFocusMenuBar
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventAppFocusNextDocumentWindow
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventAppFocusNextFloatingWindow
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventAppFocusToolbar
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventAppGetDockTileMenu
+ <-- kEventParamMenuRef typeMenuRef
+
+ kEventAppHidden
+ (no parameters)
+
+ kEventAppShown
+ (no parameters)
+
+ kEventAppSystemUIModeChanged
+ --> kEventParamSystemUIMode typeUInt32
+*/
+/*--------------------------------------------------------------------------------------*/
+/* Apple Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Apple events (kEventClassAppleEvent)
+ */
+enum {
+
+ /*
+ * Sent when a high-level event is received. The default handler will
+ * call AEProcessAppleEvent.
+ */
+ kEventAppleEvent = 1
+};
+
+
+/*
+ Parameters for Apple events:
+
+ kEventAppleEvent
+ --> kEventParamAEEventClass typeType // the eventClass of the Apple event
+ --> kEventParamAEEventID typeType // the eventID of the Apple event
+*/
+/*--------------------------------------------------------------------------------------*/
+/* Window Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Window refresh events (kEventClassWindow)
+ *
+ * Discussion:
+ * Events related to drawing a window's content.
+ */
+enum {
+
+ /*
+ * Low-level update event. Sent to any window that needs updating
+ * regardless of whether the window has the standard handler
+ * installed. You must call BeginUpdate, call SetPort, draw your
+ * window content, and then call EndUpdate.
+ */
+ kEventWindowUpdate = 1,
+
+ /*
+ * Only sent to windows with the standard handler installed.
+ * BeginUpdate, SetPort, and EndUpdate are called for you; all you do
+ * is draw. No, really.
+ */
+ kEventWindowDrawContent = 2
+};
+
+/*
+ Parameters for window refresh events:
+
+ kEventWindowUpdate
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowDrawContent
+ --> kEventParamDirectObject typeWindowRef
+*/
+
+/*
+ * Summary:
+ * Window activation events (kEventClassWindow)
+ *
+ * Discussion:
+ * Events related to activating and deactivating a window.
+ */
+enum {
+
+ /*
+ * The window is active now. Sent to any window that is activated,
+ * regardless of whether the window has the standard handler
+ * installed.
+ */
+ kEventWindowActivated = 5,
+
+ /*
+ * The window is inactive now. Sent to any window that is
+ * deactivated, regardless of whether the window has the standard
+ * handler installed.
+ */
+ kEventWindowDeactivated = 6,
+
+ /*
+ * Sent when a click occurs in a background window. Only sent to
+ * windows with the standard handler installed. The default behavior
+ * is to bring the window forward and eat the click. You have the
+ * option of overriding the behavior to support click-thru or
+ * select-and-click.
+ */
+ kEventWindowGetClickActivation = 7
+};
+
+/*
+ Parameters for window activation events:
+
+ kEventWindowActivated
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowDeactivated
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowGetClickActivation
+ --> kEventParamDirectObject typeWindowRef
+ --> kEventParamMouseLocation typeQDPoint
+ --> kEventParamKeyModifiers typeUInt32
+ --> kEventParamWindowDefPart typeWindowDefPartCode
+ --> kEventParamControlRef typeControlRef (only present if the click was on a control)
+ <-- kEventParamClickActivation typeClickActivationResult
+*/
+
+/*
+ * Summary:
+ * Window state change events (kEventClassWindow)
+ *
+ * Discussion:
+ * Events that notify of a change in the window's state. These
+ * events are sent to all windows, regardless of whether the window
+ * has the standard handler installed.
+ */
+enum {
+
+ /*
+ * A window is being shown. This is sent inside ShowHide.
+ */
+ kEventWindowShowing = 22,
+
+ /*
+ * A window is being hidden. This is sent inside ShowHide.
+ */
+ kEventWindowHiding = 23,
+
+ /*
+ * Indicates that the window has been shown.
+ */
+ kEventWindowShown = 24,
+
+ /*
+ * Indicates that the window has been hidden.
+ */
+ kEventWindowHidden = 25,
+
+ /*
+ * Notification that the window is about to collapse. Available in
+ * Mac OS X 10.1 and later.
+ */
+ kEventWindowCollapsing = 86,
+
+ /*
+ * Notification that the window has successfully collapsed.
+ */
+ kEventWindowCollapsed = 67,
+
+ /*
+ * Notification that the window is about to expand. Available in Mac
+ * OS X 10.1 and later.
+ */
+ kEventWindowExpanding = 87,
+
+ /*
+ * Notification that the window has successfully expanded.
+ */
+ kEventWindowExpanded = 70,
+
+ /*
+ * Notification that the window has been successfully zoomed. In
+ * CarbonLib 1.1 through CarbonLib 1.4, and Mac OS X 10.0 through
+ * 10.1.x, this event is only sent by the standard window event
+ * handler after handling kEventWindowZoom; starting with CarbonLib
+ * 1.5 and Mac OS X 10.2, this event is sent by ZoomWindow and
+ * ZoomWindowIdeal.
+ */
+ kEventWindowZoomed = 76,
+
+ /*
+ * Sent during DragWindow or ResizeWindow, before the window is
+ * actually moved or resized. Alter the current bounds
+ * (kEventParamCurrentBounds) in the event to change the eventual
+ * location of the window. You may change the size, origin, or both
+ * of the window's bounds. Do not, however, call SizeWindow or
+ * SetWindowBounds yourself from inside a handler for this event.
+ *
+ * In Mac OS X 10.1 and later, kEventWindowBoundsChanging is sent
+ * before all changes to a window's bounds, regardless of whether the
+ * change is initiated by the user or by a direct call to a Window
+ * Manager API. Applications may intercept the event and modify the
+ * bounds. When the event is sent because of a direct call to the
+ * Window Manager, the kWindowBoundsChangeUserDrag/Resize attribute
+ * bits will not be set.
+ */
+ kEventWindowBoundsChanging = 26,
+
+ /*
+ * Indicates that the window has been moved or resized (or both). Do
+ * not call SizeWindow or SetWindowBounds from inside a handler for
+ * this event; if you need to enforce a certain window bounds,
+ * install a kEventWindowBoundsChanging handler instead.
+ */
+ kEventWindowBoundsChanged = 27,
+
+ /*
+ * Indicates that the user has just started to resize a window.
+ */
+ kEventWindowResizeStarted = 28,
+
+ /*
+ * Indicates that the user has just finished resizing a window.
+ */
+ kEventWindowResizeCompleted = 29,
+
+ /*
+ * Indicates that the user has just started to drag a window.
+ */
+ kEventWindowDragStarted = 30,
+
+ /*
+ * Indicates that the user has just finished dragging a window.
+ */
+ kEventWindowDragCompleted = 31,
+
+ /*
+ * Dispatched by DisposeWindow before the window is disposed.
+ */
+ kEventWindowClosed = 73
+};
+
+
+/*
+ * Summary:
+ * Window bounds change event attributes
+ *
+ * Discussion:
+ * When the toolbox sends out a kEventWindowBoundsChanging or
+ * kEventWindowBoundsChanged event, it also sends along a parameter
+ * containing attributes of the event. These attributes can be used
+ * to determine what aspect of the window changed (origin, size, or
+ * both), and whether or not some user action is driving the change
+ * (drag or resize).
+ */
+enum {
+
+ /*
+ * The bounds is changing because the user is dragging the window
+ * around.
+ */
+ kWindowBoundsChangeUserDrag = (1 << 0),
+
+ /*
+ * The bounds is changing because the user is resizing the window.
+ */
+ kWindowBoundsChangeUserResize = (1 << 1),
+
+ /*
+ * The dimensions of the window (width and height) are changing.
+ */
+ kWindowBoundsChangeSizeChanged = (1 << 2),
+
+ /*
+ * The top left corner (origin) is changing.
+ */
+ kWindowBoundsChangeOriginChanged = (1 << 3),
+
+ /*
+ * The bounds is changing because ZoomWindow or ZoomWindowIdeal was
+ * called. Note that this flag does not imply any user interaction;
+ * if the application calls ZoomWindow itself without user request,
+ * this flag will still be set. Available in Mac OS X 10.2 and
+ * CarbonLib 1.6, and later.
+ */
+ kWindowBoundsChangeZoom = (1 << 4)
+};
+
+
+/*
+ Parameters for window state change events:
+
+ kEventWindowShowing
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowHiding
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowShown
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowHidden
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowBoundsChanging
+ --> kEventParamDirectObject typeWindowRef
+ --> kEventParamAttributes typeUInt32
+ --> kEventParamOriginalBounds typeQDRectangle
+ --> kEventParamPreviousBounds typeQDRectangle
+ <-> kEventParamCurrentBounds typeQDRectangle
+
+ kEventWindowBoundsChanged
+ --> kEventParamDirectObject typeWindowRef
+ --> kEventParamAttributes typeUInt32
+ --> kEventParamOriginalBounds typeQDRectangle
+ --> kEventParamPreviousBounds typeQDRectangle
+ --> kEventParamCurrentBounds typeQDRectangle
+
+ kEventWindowResizeStarted
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowResizeCompleted
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowDragStarted
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowDragCompleted
+ --> kEventParamDirectObject typeWindowRef
+*/
+
+/*
+ * Summary:
+ * Window click events (kEventClassWindow)
+ *
+ * Discussion:
+ * Low-level events which generate higher-level "action" events.
+ * These events are only generated for windows with the standard
+ * window handler installed. Most clients should allow the standard
+ * handler to implement these events.
+ *
+ * Window click events are generated from lower-level
+ * kEventMouseDown events by copying the mouse event and changing
+ * the class and kind, so window click events will have all of the
+ * parameters of the mouse down event, in addition to those
+ * parameters documented here that are specific to the window events.
+ */
+enum {
+
+ /*
+ * Sent when the mouse is down in the drag region. The standard
+ * handler calls DragWindow.
+ */
+ kEventWindowClickDragRgn = 32,
+
+ /*
+ * Sent when the mouse is down in the resize area. The standard
+ * handler calls ResizeWindow.
+ */
+ kEventWindowClickResizeRgn = 33,
+
+ /*
+ * Sent when the mouse is down in the collapse widget. The standard
+ * handler calls CollapseWindow, and then generates
+ * kEventWindowExpand or kEventWindowCollapse (whichever is the
+ * opposite of the window's original collapse state).
+ */
+ kEventWindowClickCollapseRgn = 34,
+
+ /*
+ * Sent when the mouse is down in the close widget. The standard
+ * handler calls TrackGoAway, and then generates kEventWindowClose.
+ */
+ kEventWindowClickCloseRgn = 35,
+
+ /*
+ * Sent when the mouse is down in the zoom widget. The standard
+ * handler calls TrackBox, and then generates kEventWindowZoom.
+ */
+ kEventWindowClickZoomRgn = 36,
+
+ /*
+ * Sent when the mouse is down in the content region. The standard
+ * handler checks for contextual menu clicks and clicks on controls,
+ * and sends kEventWindowContextualMenuSelect, kEventControlClick,
+ * and kEventWindowHandleContentClick events as appropriate.
+ */
+ kEventWindowClickContentRgn = 37,
+
+ /*
+ * Sent when the mouse is down in the proxy icon. The standard
+ * handler handles proxy icon dragging, and generates proxy icon
+ * events.
+ */
+ kEventWindowClickProxyIconRgn = 38,
+
+ /*
+ * Sent when the mouse is down in the toolbar button. The standard
+ * handler calls TrackBox, and then generates
+ * kEventWindowToolbarSwitchMode. (Mac OS X only)
+ */
+ kEventWindowClickToolbarButtonRgn = 41,
+
+ /*
+ * Sent when the mouse is down in some part of the window structure
+ * other than the window widgets, drag region, or resize region.
+ */
+ kEventWindowClickStructureRgn = 42
+};
+
+
+
+
+/*
+ * Summary:
+ * Window cursor change events (kEventClassWindow)
+ */
+enum {
+
+ /*
+ * Sent when the mouse is moving over the content region. Available
+ * in Mac OS X and in CarbonLib 1.5 and later. This event is used to
+ * manage ownership of the cursor. You should only change the cursor
+ * if you receive this event; otherwise, someone else needed to
+ * adjust the cursor and handled the event (e.g., a TSM Input Method
+ * when the mouse is over an inline input region). This event is only
+ * sent to the window itself; it is not propagated to controls in the
+ * window.
+ */
+ kEventWindowCursorChange = 40
+};
+
+/*
+ Parameters for window cursor change events:
+
+ kEventWindowCursorChange
+ --> kEventParamDirectObject typeWindowRef
+ --> kEventParamMouseLocation typeQDPoint
+ --> kEventParamKeyModifiers typeUInt32
+*/
+
+/*
+ * Summary:
+ * Window action events
+ *
+ * Discussion:
+ * Events which indicate that certain changes have been made to the
+ * window. These events have greater semantic meaning than the
+ * low-level window click events and are usually prefered for
+ * overriding.
+ */
+enum {
+
+ /*
+ * If the window is not collapsed, this event is sent by the standard
+ * window handler after it has received kEventWindowClickCollapseRgn
+ * and received true from a call to TrackBox. The standard window
+ * handler calls CollapseWindow, which sends kEventWindowCollapsing
+ * and kEventWindowCollapsed.
+ */
+ kEventWindowCollapse = 66,
+
+ /*
+ * Sent by the standard window handler (when the option key is down)
+ * after it has received kEventWindowClickCollapseRgn and then
+ * received true from a call to TrackBox. The standard window
+ * handler's response is to send each window of the same class as the
+ * clicked window a kEventWindowCollapse event.
+ */
+ kEventWindowCollapseAll = 68,
+
+ /*
+ * If the window is collapsed, this event is sent by the standard
+ * window handler after it has received kEventWindowClickCollapseRgn
+ * and received true from a call to TrackBox. The standard window
+ * handler's response is to call CollapseWindow, which sends
+ * kEventWindowExpanding and kEventWindowExpanded. Note that you will
+ * not receive this event before a window is expanded from the dock,
+ * since minimized windows in the dock don't uses collapse boxes to
+ * unminimize. However, you will still receive kEventWindowExpanding
+ * and kEventWindowExpanded in that case.
+ */
+ kEventWindowExpand = 69,
+
+ /*
+ * Sent by the standard window handler (when the option key is down)
+ * after it has received kEventWindowClickCollapseRgn and then
+ * received true from a call to TrackBox. The standard window
+ * handler's response is to send each window of the same class as the
+ * clicked window a kEventWindowExpand event.
+ */
+ kEventWindowExpandAll = 71,
+
+ /*
+ * Sent by the standard window handler after it has received
+ * kEventWindowClickCloseRgn and successfully called TrackBox. Your
+ * application might intercept this event to check if the document is
+ * dirty, and display a Save/Don'tSave/Cancel alert.
+ */
+ kEventWindowClose = 72,
+
+ /*
+ * Sent by the standard window handler (when the option key is down)
+ * after it has received kEventWindowClickCloseRgn and received true
+ * from a call to TrackGoAway. The standard window handler's
+ * response is to send each window with the same class as the clicked
+ * window a kEventWindowClose event.
+ */
+ kEventWindowCloseAll = 74,
+
+ /*
+ * Sent by the standard window handler upon receiving
+ * kEventWindowClickZoomRgn and then receiving true from a call to
+ * TrackBox. The standard window handler's response is to zoom the
+ * window using ZoomWindowIdeal. Upon successful zoom,
+ * kEventWindowZoomed is sent.
+ */
+ kEventWindowZoom = 75,
+
+ /*
+ * Sent by the standard window handler (when the option key is down)
+ * after it has received kEventObjectClickZoomRgn and received true
+ * from a call to TrackBox. The standard window handler's response
+ * is to send each window with the same class as the clicked window a
+ * kEventObjectZoom event and then to reposition all zoomed windows
+ * using the kWindowCascadeOnParentWindowScreen positioning method.
+ */
+ kEventWindowZoomAll = 77,
+
+ /*
+ * Sent when either the right mouse button is pressed, or the control
+ * key is held down and the left mouse button is pressed. The
+ * standard window handler ignores this event.
+ */
+ kEventWindowContextualMenuSelect = 78,
+
+ /*
+ * Sent when IsWindowPathSelectClick would return true. Set the
+ * MenuRef in the event if you wish to customize the menu passed to
+ * WindowPathSelect.
+ */
+ kEventWindowPathSelect = 79,
+
+ /*
+ * Sent by the standard window handler to determine the ideal size of
+ * the window's content region (used during window zooming).
+ */
+ kEventWindowGetIdealSize = 80,
+
+ /*
+ * Sent by the standard window handler to determine the minimum size
+ * of the window's content region (used during window resizing). On
+ * Mac OS X 10.2 and CarbonLib 1.6 and later, this event is also sent
+ * by ResizeWindow and GrowWindow if the sizeConstraints parameter is
+ * NULL.
+ */
+ kEventWindowGetMinimumSize = 81,
+
+ /*
+ * Sent by the standard window handler to determine the maximum size
+ * of the window's content region (used during window resizing). On
+ * Mac OS X 10.2 and CarbonLib 1.6 and later, this event is also sent
+ * by ResizeWindow and GrowWindow if the sizeConstraints parameter is
+ * NULL.
+ */
+ kEventWindowGetMaximumSize = 82,
+
+ /*
+ * Sent by the Window Manager to warn of a change in the available
+ * window positioning bounds on the window (i.e., screen resolution
+ * or Dock size change). Available only in Mac OS X. In Mac OS
+ * 10.0.x, the standard window handler always constrains the window
+ * to the rect returned by GetAvailableWindowPositioningBounds for
+ * the window's device. In Mac OS 10.1 and later, event handlers may
+ * change the rect in the kEventParamAvailableBounds parameter, and
+ * the standard window handler will constrain the window to that
+ * rectangle. In Mac OS X 10.2, this event may optionally contain a
+ * kEventParamAttributes parameter; if present, this parameter should
+ * be formed from constants in the WindowConstrainOptions
+ * enumeration. The standard window handler will pass these
+ * attributes to ConstrainWindowToScreen. If this event parameter is
+ * not present, the standard window handler passes
+ * kWindowConstrainMoveRegardlessOfFit to ConstrainWindowToScreen in
+ * 10.0.x, and kWindowConstrainMoveRegardlessOfFit |
+ * kWindowConstrainAllowPartial in Mac OS 10.1 and later. In Mac OS X
+ * 10.2, this event may optionally contain a
+ * kEventParamWindowRegionCode parameter; if present, this parameter
+ * should be a WindowRegionCode. The standard window handler will
+ * pass this code to ConstrainWindowToScreen. If this event parameter
+ * is not present, the standard window handler passes kWindowDragRgn
+ * to ContrainWindowToScreen. In Mac OS X 10.2, this event may
+ * optionally contain a kEventParamRgnHandle parameter; if present,
+ * this parameter is a RgnHandle containing the GrayRgn before a
+ * GDevice configuration change. An event handler may compare this
+ * region with the current GrayRgn to more intelligently determine
+ * whether the window should be constrained to current GrayRgn. The
+ * standard window handler in Mac OS X 10.2 will not constrain
+ * windows that were not onscreen before the device configuration
+ * change. In Mac OS X 10.2, this event may optionally contain
+ * kEventParamPreviousDockRect and kEventParamCurrentDockRect
+ * parameters; if present, these parameters contain the previous and
+ * current bounds of the Dock.
+ */
+ kEventWindowConstrain = 83,
+
+ /*
+ * Sent by the standard window handler in response to
+ * kEventWindowClickContentRgn when a mouse click is in the content
+ * region but is not a contextual menu invocation or a click on a
+ * control. Available starting with Mac OS X and CarbonLib 1.3.1.
+ */
+ kEventWindowHandleContentClick = 85,
+
+ /*
+ * A request for a menu to be displayed by a window's dock tile. The
+ * basic window handler will return the menu, if any, that was
+ * provided by the SetWindowDockTileMenu API. The sender of this
+ * event will release the menu after the Dock has displayed it, so if
+ * you return a permanently allocated MenuRef, you should call
+ * RetainMenu on it before returning from your event handler. For
+ * most applications, it will be easier to use the
+ * SetWindowDockTileMenu API directly rather than installing a
+ * handler for this event. Available in Mac OS X 10.2 and later.
+ */
+ kEventWindowGetDockTileMenu = 90,
+
+ /*
+ * Sent before a proxy icon drag; you can attach data to the DragRef
+ * in the event.
+ */
+ kEventWindowProxyBeginDrag = 128,
+
+ /*
+ * Sent after the proxy icon drag is complete, whether successful or
+ * not.
+ */
+ kEventWindowProxyEndDrag = 129,
+
+ /*
+ * Sent by the standard window handler in response to
+ * kEventWindowClickToolbarButtonRgn and then receiving true from a
+ * call to TrackBox. You actually DO NOT need to use the standard
+ * window event handler to receive this event. Any window with the
+ * toolbar button will receive this event if the toolbar button is
+ * clicked. The Toolbox does not track the state of the toolbar. We
+ * only report that the button was clicked. The application should
+ * react accordingly. Available in Mac OS X only.
+ */
+ kEventWindowToolbarSwitchMode = 150
+};
+
+/*
+ Parameters for window action events:
+
+ kEventWindowCollapse
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowCollapsed
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowCollapseAll
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowExpand
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowExpanded
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowExpandAll
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowClose
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowClosed
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowCloseAll
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowZoom
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowZoomed
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowZoomAll
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowContextualMenuSelect
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowPathSelect
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowGetIdealSize
+ --> kEventParamDirectObject typeWindowRef
+ <-- kEventParamDimensions typeQDPoint
+
+ kEventWindowGetMinimumSize
+ --> kEventParamDirectObject typeWindowRef
+ <-- kEventParamDimensions typeQDPoint
+
+ kEventWindowGetMaximumSize
+ --> kEventParamDirectObject typeWindowRef
+ <-- kEventParamDimensions typeQDPoint
+
+ kEventWindowConstrain
+ --> kEventParamDirectObject typeWindowRef
+ --> kEventParamAvailableBounds typeQDRectangle
+ --> kEventParamAttributes typeUInt32 (optional; available in Jaguar)
+ --> kEventParamWindowRegionCode typeWindowRegionCode (optional; available in Jaguar)
+ --> kEventParamRgnHandle typeQDRgnHandle (optional; available in Jaguar)
+ --> kEventParamPreviousDockRect typeHIRect (available in Jaguar)
+ --> kEventParamCurrentDockRect typeHIRect (available in Jaguar)
+
+ kEventWindowHandleContentClick
+ --> kEventParamDirectObject typeWindowRef
+ --> [other parameters from kEventMouseDown]
+
+ kEventWindowGetDockTileMenu
+ --> kEventParamDirectObject typeWindowRef
+ <-- kEventParamMenuRef typeMenuRef
+
+ kEventWindowProxyBeginDrag
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowProxyEndDrag
+ --> kEventParamDirectObject typeWindowRef
+*/
+
+/*
+ * Summary:
+ * Window focus events (kEventClassWindow)
+ *
+ * Discussion:
+ * Events related to focus changes between windows. These events are
+ * generated by SetUserFocusWindow; since that API is only called by
+ * default by the standard window handler, these events are normally
+ * only sent to windows with the standard handler installed.
+ */
+enum {
+
+ /*
+ * The user (or some other action) has caused the focus to shift to
+ * your window. In response to this, you should focus any control
+ * that might need to be focused. The standard window handler calls
+ * SetKeyboardFocus to hilite the first control in the window.
+ */
+ kEventWindowFocusAcquired = 200,
+
+ /*
+ * The toolbox is notifying you of a focus change. You should make
+ * sure to unhilite the focus, etc. The standard window handler
+ * clears the current keyboard focus.
+ */
+ kEventWindowFocusRelinquish = 201,
+
+ /*
+ * If the content area of your window is not already focused, you
+ * should set the focus to the main part/control/view of the window.
+ * If the content area of your window is already focused, do nothing.
+ * Sent on Mac OS X 10.2 and later.
+ */
+ kEventWindowFocusContent = 202,
+
+ /*
+ * If your window's toolbar is not already focused, you should set
+ * the focus to the first item in the toolbar. If your window's
+ * toolbar is already focused, do nothing. Sent on Mac OS X 10.2 and
+ * later.
+ */
+ kEventWindowFocusToolbar = 203
+};
+
+/*
+ Parameters for window focus events:
+
+ kEventWindowFocusAcquire
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowFocusRelinquish
+ --> kEventParamDirectObject typeWindowRef
+*/
+
+/*
+ * Summary:
+ * Carbon events related to drawers.
+ */
+enum {
+
+ /*
+ * Sent to the drawer and its parent window when the drawer begins
+ * opening. An event handler for this event may return
+ * userCanceledErr if the drawer should not open.
+ */
+ kEventWindowDrawerOpening = 220,
+
+ /*
+ * Sent to the drawer and its parent window when the drawer is fully
+ * open.
+ */
+ kEventWindowDrawerOpened = 221,
+
+ /*
+ * Sent to the drawer and its parent window when the drawer begins
+ * closing. An event handler for this event may return
+ * userCanceledErr if the drawer should not close.
+ */
+ kEventWindowDrawerClosing = 222,
+
+ /*
+ * Sent to the drawer and its parent window when the drawer is fully
+ * closed.
+ */
+ kEventWindowDrawerClosed = 223
+};
+
+/*
+ Parameters for window drawer events:
+
+ kEventWindowDrawerOpening
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowDrawerOpened
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowDrawerClosing
+ --> kEventParamDirectObject typeWindowRef
+
+ kEventWindowDrawerClosed
+ --> kEventParamDirectObject typeWindowRef
+*/
+
+/*
+ * Summary:
+ * Window definition events (kEventClassWindow)
+ *
+ * Discussion:
+ * Events that correspond to WDEF messages. Sent to all windows,
+ * regardless of whether they have the standard window handler
+ * installed.
+ */
+enum {
+
+ /*
+ * Sent by the Window Manager when it's time to draw a window's
+ * structure. This is the replacement to the old wDraw defProc
+ * message (though it is a special case of the 0 part code indicating
+ * to draw the entire window frame).
+ */
+ kEventWindowDrawFrame = 1000,
+
+ /*
+ * Sent by the Window Manager when it's time to draw a specific part
+ * of a window's structure, such as the close box. This is typically
+ * sent during window tracking.
+ */
+ kEventWindowDrawPart = 1001,
+
+ /*
+ * Sent by the Window Manager when it needs to get a specific region
+ * from a window, or when the GetWindowRegion API is called. The
+ * region you should modify is sent in the kEventParamRgnHandle
+ * parameter.
+ */
+ kEventWindowGetRegion = 1002,
+
+ /*
+ * Sent when the Window Manager needs to determine what part of a
+ * window would be 'hit' with a given mouse location in global
+ * coordinates. If you handle this event, you should set the
+ * kEventParamWindowDefPart parameter to reflect the part code hit.
+ */
+ kEventWindowHitTest = 1003,
+
+ /*
+ * Sent by the Window Manager when the window is being created. This
+ * is a hook to allow your window definition to do any initialization
+ * you might need to do. However, see the note under
+ * kEventWindowDispose; this event can be sent more than once to a
+ * window if the window definition function for the window is changed.
+ */
+ kEventWindowInit = 1004,
+
+ /*
+ * Sent by the Window Manager to notify the window definition that it
+ * should dispose of any private data structures attached to the
+ * window. Note that this event does not directly correspond with
+ * destruction of the window; the Window Manager occasionally needs
+ * to change the window definition of a window (for example, when
+ * ChangeWindowAttributes is used to change the visual appearance of
+ * a window), and in that case, the window will receive a
+ * kEventWindowDispose followed by a kEventWindowInit so that the old
+ * and new window definitions can disconnect and connect to the
+ * window. If you need to know when a window is really being
+ * destroyed, install a handler for kEventWindowClosed.
+ */
+ kEventWindowDispose = 1005,
+
+ /*
+ * Sent by the Window Manager when it is time to draw/erase any drag
+ * hilite in the window structure. This is typically sent from within
+ * HiliteWindowFrameForDrag.
+ */
+ kEventWindowDragHilite = 1006,
+
+ /*
+ * Sent by the Window Manager when it is time to redraw window
+ * structure to account for a change in the document modified state.
+ * This is typically sent from within SetWindowModified.
+ */
+ kEventWindowModified = 1007,
+
+ /*
+ * Sent by the Window Manager when it is time to generate a drag
+ * image for the window proxy. This is typically sent from within
+ * BeginWindowProxyDrag.
+ */
+ kEventWindowSetupProxyDragImage = 1008,
+
+ /*
+ * Sent by the Window Manager when a particular window state changes.
+ * See the state-change flags in MacWindows.h.
+ */
+ kEventWindowStateChanged = 1009,
+
+ /*
+ * Sent when the Window Manager needs to know how much space the
+ * window's title area takes up.
+ */
+ kEventWindowMeasureTitle = 1010,
+
+ /*
+ * This is a compatibility event harkening back to the old days
+ * before Mac OS 8. Not very useful these days. When the DrawGrowIcon
+ * API is called, this event is sent to the window to tell it to draw
+ * the grow box. This is only really needed for windows that do not
+ * have the grow box integrated into the window frame. Scroll bar
+ * delimiter lines are also drawn.
+ */
+ kEventWindowDrawGrowBox = 1011,
+
+ /*
+ * This is a special way for a window to override the standard resize
+ * outline for windows that do not do live resizing. As the user
+ * resizes the window, this event is sent with the current size the
+ * user has chosen expressed as a rectangle. You should calculate
+ * your window outline and modify the kEventParamRgnHandle parameter
+ * to reflect your desired outline.
+ */
+ kEventWindowGetGrowImageRegion = 1012,
+
+ /*
+ * When the Window Manager needs to paint a window (e.g, when a
+ * window is first displayed), the kEventWindowPaint event is sent to
+ * allow the window to control all aspect of painting, including the
+ * window frame. If a window does not respond to this event, the
+ * Window Manager ends up sending kEventWindowDrawFrame and then
+ * erasing the window to the window content color as usual. This is
+ * mostly used for specialty windows, such as help tags or appliance
+ * apps might have. (Mac OS X only)
+ */
+ kEventWindowPaint = 1013
+};
+
+/*
+ Parameters for window definition events:
+
+ kEventWindowDrawFrame
+ --> kEventParamDirectObject typeWindowRef the window
+
+ kEventWindowDrawPart
+ --> kEventParamDirectObject typeWindowRef the window
+ --> kEventParamWindowDefPart typeWindowDefPartCode the part to draw
+
+ kEventWindowGetRegion
+ --> kEventParamDirectObject typeWindowRef the window
+ --> kEventParamWindowRegionCode typeWindowRegionCode the region to get
+ --> kEventParamRgnHandle typeQDRgnHandle the region to munge
+
+ kEventWindowHitTest
+ --> kEventParamDirectObject typeWindowRef the window
+ --> kEventParamMouseLocation typeQDPoint the mouse location
+ <-- kEventParamWindowDefPart typeWindowDefPartCode the part hit
+
+ kEventWindowInit
+ --> kEventParamDirectObject typeWindowRef the window
+ <-- kEventParamWindowFeatures typeUInt32 the window features
+
+ kEventWindowDispose
+ --> kEventParamDirectObject typeWindowRef the window
+
+ kEventWindowDragHilite
+ --> kEventParamDirectObject typeWindowRef the window
+ --> kEventParamWindowDragHiliteFlag typeBoolean whether to draw (true) or
+ erase (false) the hilite
+
+ kEventWindowModified
+ --> kEventParamDirectObject typeWindowRef the window
+ --> kEventParamWindowModifiedFlag typeBoolean the new modified state
+
+ kEventWindowSetupProxyDragImage
+ --> kEventParamDirectObject typeWindowRef the window
+ --> kEventParamWindowProxyImageRgn typeQDRgnHandle the region you modify
+ to contain the clip
+ region for the GWorld.
+ --> kEventParamWindowProxyOutlineRgn typeQDRgnHandle the region you modify
+ to contain the drag
+ outline used when the
+ GWorld cannot be used.
+ <-- kEventParamWindowProxyGWorldPtr typeGWorldPtr a GWorld you allocate
+ which contains the
+ drag image.
+
+ kEventWindowStateChanged
+ --> kEventParamDirectObject typeWindowRef the window
+ --> kEventParamWindowStateChangedFlags typeUInt32 the state change flags
+
+ kEventWindowMeasureTitle
+ --> kEventParamDirectObject typeWindowRef the window
+ <-- kEventParamWindowTitleFullWidth typeSInt16 the length of the whole title area
+ <-- kEventParamWindowTitleTextWidth typeSInt16 the length just the title text
+
+ kEventWindowDrawGrowBox
+ --> kEventParamDirectObject typeWindowRef the window
+
+ kEventWindowGetGrowImageRegion
+ --> kEventParamDirectObject typeWindowRef the window
+ --> kEventParamWindowGrowRect typeQDRectangle the global rect
+ --> kEventParamRgnHandle typeQDRgnHandle the region to modify
+
+ kEventWindowPaint
+ --> kEventParamDirectObject typeWindowRef the window
+*/
+/*--------------------------------------------------------------------------------------*/
+/* Menu Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Menu events (kEventClassMenu)
+ */
+enum {
+
+ /*
+ * The user has begun tracking the menubar or a pop-up menu. If
+ * tracking a popup menu, the direct object parameter is the pop-up;
+ * if tracking the menubar, the direct object parameter is the root
+ * menu on Mac OS X, but will be NULL in CarbonLib. The
+ * kEventParamCurrentMenuTrackingMode parameter indicates whether the
+ * user is tracking the menus using the mouse or the keyboard.
+ * The handler may return userCanceledErr to stop menu tracking.
+ */
+ kEventMenuBeginTracking = 1,
+
+ /*
+ * The user has finished tracking the menubar or a pop-up menu.
+ */
+ kEventMenuEndTracking = 2,
+
+ /*
+ * The user has switched from selecting a menu with the mouse to
+ * selecting with the keyboard, or from selecting with the keyboard
+ * to selecting with the mouse. Only available on post-10.0.x
+ * versions of Mac OS X.
+ */
+ kEventMenuChangeTrackingMode = 3,
+
+ /*
+ * A menu is opening. This event is sent each time that the menu is
+ * opened (i.e., more than once during a given tracking session if
+ * the user opens the menu multiple times). It is sent before the
+ * menu is actually drawn, so you can update the menu contents
+ * (including making changes that will alter the menu size) and the
+ * new contents will be drawn correctly.
+ *
+ * The kEventParamMenuFirstOpen parameter indicates whether this is
+ * the first time this menu has been opened during this menu tracking
+ * session.
+ *
+ * The handler may return userCanceledErr to prevent this menu from
+ * opening (Mac OS X only).
+ */
+ kEventMenuOpening = 4,
+
+ /*
+ * A menu has been closed. Sent after the menu is hidden.
+ */
+ kEventMenuClosed = 5,
+
+ /*
+ * The mouse is moving over a particular menu item. This event is
+ * sent for both enabled and disabled items.
+ */
+ kEventMenuTargetItem = 6,
+
+ /*
+ * A menu is about to be examined for items that match a command key
+ * event. A handler for this event may perform its own command key
+ * matching and override the Menu Manager's default matching
+ * algorithms. Returning noErr from your handler indicates that you
+ * have found a match. The handler for this event should not examine
+ * submenus of this menu for a match; a separate event will be sent
+ * for each submenu.
+ *
+ * Handlers for this event must be installed directly on the menu
+ * containing the item to be matched. To improve performance of
+ * command key matching, the Menu Manager only sends this event if
+ * the menu itself has a handler; if a handler for this event is
+ * installed on any other event target, it will not be sent the
+ * event.
+ *
+ * When called from IsMenuKeyEvent, the kEventParamEventRef parameter
+ * contains the EventRef that was passed to IsMenuKeyEvent, for your
+ * handler to examine; when called from MenuKey or MenuEvent, the
+ * EventRef parameter contains an event created from the information
+ * passed to MenuKey or MenuEvent. Note that in the MenuKey case, no
+ * virtual keycode (kEventParamKeyCode) or key modifiers
+ * (kEventParamKeyModifiers) will be available.
+ *
+ * The kEventParamMenuEventOptions parameter contains a copy of the
+ * options that were passed to IsMenuKeyEvent, or 0 if called from
+ * MenuKey or MenuEvent. The only option that your handler will need
+ * to obey is kMenuEventIncludeDisabledItems.
+ *
+ * If your handler finds a match, it should set the
+ * kEventParamMenuItemIndex parameter to contain the item index of
+ * the matching item, and return noErr. If it does not find a match,
+ * it should return menuItemNotFoundErr. Any other return value will
+ * cause the Menu Manager to use its default command key matching
+ * algorithm for this menu.
+ * This event is sent after kEventMenuEnableItems.
+ */
+ kEventMenuMatchKey = 7,
+
+ /*
+ * A request that the items in the menu be properly enabled or
+ * disabled according to the current state of the application. This
+ * event is sent from inside MenuKey, MenuEvent, and IsMenuKeyEvent
+ * before those APIs examine the menu for an item that matches a
+ * keyboard event. It is also sent during menu tracking before a menu
+ * is first made visible; it is sent right after kEventMenuOpening,
+ * once per menu per menu tracking session. It is also sent to the
+ * top-level menus in the menubar when the application is idle after
+ * user input has occurred, to allow the menu titles to be enabled or
+ * disabled appropriately according to the current user focus. You
+ * can distinquish between all these cases by examining the contents
+ * of the kEventParamMenuContext parameter.
+ *
+ * If you install an event handler for kEventProcessCommand, you
+ * should also install a handler for either kEventMenuEnableItems or
+ * kEventCommandUpdateStatus. This is necessary because the Carbon
+ * event system will attempt to match command keys against the
+ * available menus before returning the keyboard event to your
+ * application via WaitNextEvent. If you have menu command event
+ * handlers installed for your menu items, your handlers will be
+ * called without your ever receiving the keyboard event or calling
+ * MenuKey/MenuEvent/IsMenuKeyEvent yourself. Therefore, you have no
+ * opportunity to enable your menu items properly other than from a
+ * kEventMenuEnableItems or kEventCommandUpdateStatus handler.
+ * It is not necessary to handle this event if you do not install
+ * kEventProcessCommand handlers for your menu items; in that case,
+ * the command key event will be returned from WaitNextEvent or
+ * ReceiveNextEvent as normal, and you can set up your menus before
+ * calling MenuKey/MenuEvent/ IsMenuKeyEvent.
+ *
+ * The kEventParamEnableMenuForKeyEvent parameter indicates whether
+ * this menu should be enabled for key event matching (true) or
+ * because the menu itself is about to become visible (false). If
+ * true, only the item enable state, command key, command key
+ * modifiers, and (optionally) the command key glyph need to be
+ * correct. If false, the entire menu item contents must be correct.
+ * This may be useful if you have custom menu content that is
+ * expensive to prepare.
+ */
+ kEventMenuEnableItems = 8,
+
+ /*
+ * kEventMenuPopulate is intended to be handled by applications that
+ * dynamically create their menu contents just-in-time before the
+ * menu is displayed. Previously, kEventMenuOpening was recommended
+ * for this purpose. kEventMenuPopulate is now recommended because it
+ * will be sent by the Menu Manager before it searches a menu for a
+ * matching command key, to allow a handler to dynamically add menu
+ * items that may have command key equivalents to the menu;
+ * kEventMenuOpening is only sent before the menu is displayed.
+ * kEventMenuPopulate is also sent just before kEventMenuOpening as a
+ * menu is being displayed. Finally, kEventMenuPopulate is only sent
+ * once per menu tracking session for a given menu, even if that menu
+ * is closed and opened multiple times by the user; kEventMenuOpening
+ * is sent each time that the menu is displayed.
+ *
+ * You can distinguish the command-key case from the
+ * menu-being-displayed case by examining the contents of the
+ * kEventParamMenuContext parameter; the kMenuContextKeyMatching flag
+ * will be set if the event is sent during command key matching, and
+ * either the kMenuContextMenuBarTracking or
+ * kMenuContextPopUpTracking flags will be sent if the event is sent
+ * before actual display of the menu.
+ *
+ * In Mac OS X 10.2 and CarbonLib 1.6, kEventMenuPopulate is also
+ * sent to menus before the menu is searched for a command ID by the
+ * CountMenuItemsWithCommandID and GetIndMenuItemWithCommandID APIs.
+ * You can distinguish this case by checking for the
+ * kMenuContextCommandIDSearch flag in the kEventParamMenuContext
+ * parameter. In this case, the event also includes a
+ * kEventParamMenuCommand parameter with the command ID being
+ * searched for as the event parameter data.
+ *
+ * kEventMenuPopulate is available on Mac OS X 10.1 and later, and in
+ * CarbonLib 1.5 and later.
+ */
+ kEventMenuPopulate = 9,
+
+ /*
+ * Sent by the standard menu definition when a menu item has the
+ * kMenuItemAttrCustomDraw attribute. Handlers for this event should
+ * be installed directly on the menu. A handler for this event may
+ * respond by providing a customized width for the menu item. If no
+ * handler is installed, the standard menu definition provides a
+ * default handler that will return the standard width for the item.
+ */
+ kEventMenuMeasureItemWidth = 100,
+
+ /*
+ * Sent by the standard menu definition when a menu item has the
+ * kMenuItemAttrCustomDraw attribute. Handlers for this event should
+ * be installed directly on the menu. A handler for this event may
+ * respond by providing a customized height for the menu item. If no
+ * handler is installed, the standard menu definition provides a
+ * default handler that will return the standard height for the item.
+ */
+ kEventMenuMeasureItemHeight = 101,
+
+ /*
+ * Sent by the standard menu definition when a menu item has the
+ * kMenuItemAttrCustomDraw attribute. Handlers for this event should
+ * be installed directly on the menu. A handler for this event may
+ * respond by completely overriding the drawing of the menu item. If
+ * no handler is installed, the standard menu definition provides a
+ * default handler that calls DrawThemeMenuItem to draw the menu item
+ * background and content.
+ */
+ kEventMenuDrawItem = 102,
+
+ /*
+ * Sent by the standard menu definition when a menu item has the
+ * kMenuItemAttrCustomDraw attribute. Handlers for this event should
+ * be installed directly on the menu. A handler for this event may
+ * respond by overriding the drawing of the menu item content: the
+ * mark character, icon, text, and command key information. At the
+ * time when this event is sent, the background of the menu item has
+ * already been drawn using the standard system appearance, and if
+ * the item is selected, the background is drawn with a hilite. If no
+ * handler is installed, the standard menu definition provides a
+ * default handler that draws the standard menu item content. The
+ * standard handler also adds event parameters to the event
+ * indicating the bounding boxes of the different portions of the
+ * menu item content (mark, icon, text, and command keys), and an
+ * event parameter with the baseline of the menu item text; this
+ * allows handlers to use CallNextEventHandler to call through to the
+ * standard system handler, and then modify the system appearance by
+ * drawing on top of the standard content.
+ */
+ kEventMenuDrawItemContent = 103,
+
+ /*
+ * Sent when the menu is being destroyed.
+ */
+ kEventMenuDispose = 1001
+};
+
+
+/*
+ * Discussion:
+ * Menu context flags indicate the context or usage of a
+ * menu-related Carbon event.
+ */
+enum {
+ /* menu location*/
+
+ /*
+ * Indicates that this menu is inserted in the menubar, or is a
+ * (directly or indirectly) a submenu of a menu that is inserted in
+ * the menubar.
+ */
+ kMenuContextMenuBar = 1 << 0, /* menu type*/
+
+ /*
+ * Indicates that this menu is a pull-down menu inserted in the
+ * menubar.
+ */
+ kMenuContextPullDown = 1 << 8,
+
+ /*
+ * Indicates that this menu is a popup menu being displayed by
+ * PopUpMenuSelect.
+ */
+ kMenuContextPopUp = 1 << 9,
+
+ /*
+ * Indicates that this menu is a submenu of some other pull-down or
+ * popup menu.
+ */
+ kMenuContextSubmenu = 1 << 10, /* menu usage*/
+
+ /*
+ * Indicates that this Carbon event has been sent during a menubar
+ * tracking session.
+ */
+ kMenuContextMenuBarTracking = 1 << 16,
+
+ /*
+ * Indicates that this Carbon event has been sent during a popup menu
+ * tracking session.
+ */
+ kMenuContextPopUpTracking = 1 << 17,
+
+ /*
+ * Indicates that this Carbon event has been sent during command key
+ * matching.
+ */
+ kMenuContextKeyMatching = 1 << 18,
+
+ /*
+ * Indicates that this Carbon event has been sent at idle time to
+ * update the enabled state of the menus. Available on Mac OS X 10.1
+ * and later, and in CarbonLib 1.5 and later; on earlier releases,
+ * the kMenuContextKeyMatching flag is set when an event is sent
+ * during menu enabling.
+ */
+ kMenuContextMenuEnabling = 1 << 19,
+
+ /*
+ * Indicates that this Carbon event has been sent during during a
+ * search for a menu item command ID by the
+ * CountMenuItemsWithCommandID or GetIndMenuItemWithCommandID APIs.
+ * Available on Mac OS X 10.2 and CarbonLib 1.6.
+ */
+ kMenuContextCommandIDSearch = 1 << 20
+};
+
+/*
+ Parameters for menu events:
+
+ kEventMenuBeginTracking
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamCurrentMenuTrackingMode typeMenuTrackingMode
+ --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+
+ kEventMenuEndTracking
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+
+ kEventMenuChangeTrackingMode
+ --> kEventParamCurrentMenuTrackingMode typeMenuTrackingMode
+ --> kEventParamNewMenuTrackingMode typeMenuTrackingMode
+ --> kEventParamMenuContext typeUInt32
+
+ kEventMenuOpening
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamMenuFirstOpen typeBoolean
+ --> kEventParamMenuContext typeUInt32 (in CarbonLib 1.5 and later)
+
+ kEventMenuClosed
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+
+ kEventMenuTargetItem
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamMenuItemIndex typeMenuItemIndex
+ --> kEventParamMenuCommand typeMenuCommand
+ --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+
+ kEventMenuMatchKey
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamEventRef typeEventRef
+ --> kEventParamMenuEventOptions typeMenuEventOptions
+ --> kEventParamMenuContext typeUInt32 (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+ <-- kEventParamMenuItemIndex typeMenuItemIndex
+
+ kEventMenuEnableItems
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamEnableMenuForKeyEvent typeBoolean
+ --> kEventParamMenuContext typeUInt32 (in CarbonLib 1.3.1 and later)
+
+ kEventMenuPopulate (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamMenuContext typeUInt32
+ --> kEventParamMenuCommand typeMenuCommand (Jaguar and CarbonLib 1.6, for kMenuContextCommandIDSearch)
+
+ kEventMenuMeasureItemWidth (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamMenuItemIndex typeMenuItemIndex
+ <-- kEventParamMenuItemWidth typeShortInteger
+
+ kEventMenuMeasureItemHeight (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamMenuItemIndex typeMenuItemIndex
+ <-- kEventParamMenuItemHeight typeShortInteger
+
+ kEventMenuDrawItem (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamCurrentBounds typeQDRectangle
+ --> kEventParamMenuItemIndex typeMenuItemIndex
+ --> kEventParamMenuItemBounds typeQDRectangle
+ --> kEventParamMenuVirtualTop typeLongInteger
+ --> kEventParamMenuVirtualBottom typeLongInteger
+ --> kEventParamMenuDrawState typeThemeMenuState
+ --> kEventParamMenuItemType typeThemeMenuItemType
+ --> kEventParamCGContextRef typeCGContextRef
+ <-- kEventParamMenuMarkBounds typeQDRectangle (added to event by the default event handler)
+ <-- kEventParamMenuIconBounds typeQDRectangle (added to event by the default event handler)
+ <-- kEventParamMenuTextBounds typeQDRectangle (added to event by the default event handler)
+ <-- kEventParamMenuTextBaseline typeShortInteger (added to event by the default event handler)
+ <-- kEventParamMenuCommandKeyBounds typeQDRectangle (added to event by the default event handler)
+
+ kEventMenuDrawItemContent (on Mac OS X 10.1 and later, and CarbonLib 1.5 and later)
+ --> kEventParamDirectObject typeMenuRef
+ --> kEventParamMenuItemIndex typeMenuItemIndex
+ --> kEventParamMenuItemBounds typeQDRectangle
+ --> kEventParamDeviceDepth typeShortInteger
+ --> kEventParamDeviceColor typeBoolean
+ --> kEventParamCGContextRef typeCGContextRef
+ <-- kEventParamMenuMarkBounds typeQDRectangle (added to event by the default event handler)
+ <-- kEventParamMenuIconBounds typeQDRectangle (added to event by the default event handler)
+ <-- kEventParamMenuTextBounds typeQDRectangle (added to event by the default event handler)
+ <-- kEventParamMenuTextBaseline typeShortInteger (added to event by the default event handler)
+ <-- kEventParamMenuCommandKeyBounds typeQDRectangle (added to event by the default event handler)
+
+ kEventMenuDispose
+ --> kEventParamDirectObject typeMenuRef
+*/
+/*--------------------------------------------------------------------------------------*/
+/* Command Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Command events (kEventClassCommand)
+ */
+enum {
+ kEventProcessCommand = 1,
+
+ /*
+ * A command has been invoked and the application should handle it.
+ * This event is sent when the user chooses a menu item or clicks a
+ * control. Any menu item selection, from either the menubar, a popup
+ * or contextual menu, or a popup or bevel button control, will cause
+ * this event to be sent; if the menu item does not have a command
+ * ID, the commandID field of the HICommand parameter will be zero,
+ * but the event will still contain a valid MenuRef and
+ * MenuItemIndex. Controls will send this event only if the control
+ * has a non-zero command ID set with SetControlCommandID.
+ *
+ * Some senders of this event will also include the modifier keys
+ * that were pressed by the user when the command was invoked, but
+ * this parameter is optional.
+ *
+ * When a command event is sent from a menu, a MenuContext parameter
+ * will be included on Mac OS X 10.2 and CarbonLib 1.6, indicating
+ * whether the command was sent from a menu in the menubar
+ * (kMenuContextMenuBar will be set) or from a popup menu
+ * (kMenuContextMenuBar will not be set). The MenuContext parameter
+ * also indicates whether the event was sent by a selection of a menu
+ * item with the mouse (kMenuContextMenuBarTracking or
+ * kMenuContextPopUpTracking will be set), or by a command key press
+ * (kMenuContextKeyMatching will be set).
+ *
+ * It is essential that your event handler for this event return
+ * eventNotHandledErr for any command events that you do not handle,
+ * especially for commands that are sent from menus attached to popup
+ * or bevel button controls; if, for example, you return noErr for
+ * command events sent in response to a menu selection from a popup
+ * button, the Menu Manager will return zero from PopUpMenuSelect,
+ * and the popup button control will not know that an item was
+ * selected from the popup menu and will not redraw with the new
+ * selection.
+ */
+ kEventCommandProcess = 1,
+
+ /*
+ * The status of a command is in question. When you receive this
+ * event, you should update the necessary UI elements in your
+ * application to reflect the current status of the command. For
+ * example, if the command has the kHICommandFromMenu bit set, you
+ * should update the menu item state, text, etc. to reflect the
+ * current reality in your application.
+ */
+ kEventCommandUpdateStatus = 2
+};
+
+/*
+ Parameters for command events:
+
+ kEventCommandProcess
+ --> kEventParamDirectObject typeHICommand
+ --> kEventParamKeyModifiers typeUInt32 (optional)
+ --> kEventParamMenuContext typeUInt32 (optional, in Jaguar and CarbonLib 1.6)
+
+ kEventCommandUpdateStatus
+ --> kEventParamDirectObject typeHICommand
+ --> kEventParamMenuContext typeUInt32
+*/
+/* HI Commands */
+
+/*
+ * Summary:
+ * Common command IDs
+ */
+enum {
+
+ /*
+ * The OK button in a dialog or alert.
+ */
+ kHICommandOK = FOUR_CHAR_CODE('ok '),
+
+ /*
+ * The Cancel button in a dialog or alert.
+ */
+ kHICommandCancel = FOUR_CHAR_CODE('not!'),
+
+ /*
+ * The application should quit.
+ */
+ kHICommandQuit = FOUR_CHAR_CODE('quit'),
+
+ /*
+ * The last editing operation should be undone.
+ */
+ kHICommandUndo = FOUR_CHAR_CODE('undo'),
+
+ /*
+ * The last editing operation should be redone.
+ */
+ kHICommandRedo = FOUR_CHAR_CODE('redo'),
+
+ /*
+ * The selected items should be cut.
+ */
+ kHICommandCut = FOUR_CHAR_CODE('cut '),
+
+ /*
+ * The selected items should be copied.
+ */
+ kHICommandCopy = FOUR_CHAR_CODE('copy'),
+
+ /*
+ * The contents of the clipboard should be pasted.
+ */
+ kHICommandPaste = FOUR_CHAR_CODE('past'),
+
+ /*
+ * The selected items should be deleted.
+ */
+ kHICommandClear = FOUR_CHAR_CODE('clea'),
+
+ /*
+ * All items in the active window should be selected.
+ */
+ kHICommandSelectAll = FOUR_CHAR_CODE('sall'),
+
+ /*
+ * The application should be hidden. The Menu Manager will respond to
+ * this command automatically; your application does not need to
+ * handle it.
+ */
+ kHICommandHide = FOUR_CHAR_CODE('hide'),
+
+ /*
+ * Other applications should be hidden. The Menu Manager will respond
+ * to this command automatically; your application does not need to
+ * handle it.
+ */
+ kHICommandHideOthers = FOUR_CHAR_CODE('hido'),
+
+ /*
+ * All applications should become visible. The Menu Manager will
+ * respond to this command automatically; your application does not
+ * need to handle it.
+ */
+ kHICommandShowAll = FOUR_CHAR_CODE('shal'),
+
+ /*
+ * The Preferences menu item has been selected.
+ */
+ kHICommandPreferences = FOUR_CHAR_CODE('pref'),
+
+ /*
+ * The active window should be zoomed in or out. The Window Manager
+ * will respond to this event automatically; your application does
+ * not need to handle it, but you may want to install a Carbon event
+ * handler for kEventWindowGetIdealSize to return the ideal size for
+ * your document windows.
+ */
+ kHICommandZoomWindow = FOUR_CHAR_CODE('zoom'),
+
+ /*
+ * The active window should be minimized. The Window Manager will
+ * respond to this event automatically; your application does not
+ * need to handle it.
+ */
+ kHICommandMinimizeWindow = FOUR_CHAR_CODE('mini'),
+
+ /*
+ * All windows of the same class as the active window that have
+ * collapse boxes should be minimized. The Window Manager will
+ * respond to this event automatically; your application does not
+ * need to handle it.
+ */
+ kHICommandMinimizeAll = FOUR_CHAR_CODE('mina'),
+
+ /*
+ * The active window should be maximized. Only sent on Mac OS 9. The
+ * Window Manager will respond to this event automatically; your
+ * application does not need to handle it.
+ */
+ kHICommandMaximizeWindow = FOUR_CHAR_CODE('maxi'),
+
+ /*
+ * All windows of the same class as the active window that have
+ * collapse boxes should be maximized. The Window Manager will
+ * respond to this event automatically; your application does not
+ * need to handle it.
+ */
+ kHICommandMaximizeAll = FOUR_CHAR_CODE('maxa'),
+
+ /*
+ * All document-class windows should be arranged in a stack. The
+ * Window Manager will respond to this event automatically; your
+ * application does not need to handle it.
+ */
+ kHICommandArrangeInFront = FOUR_CHAR_CODE('frnt'),
+
+ /*
+ * All windows of this application should be brought in front of
+ * windows from other applications. Only sent on Mac OS X. The Window
+ * Manager will respond to this event automatically; your application
+ * does not need to handle it.
+ */
+ kHICommandBringAllToFront = FOUR_CHAR_CODE('bfrt'),
+
+ /*
+ * This command ID is used as a placeholder to mark the separator
+ * item dividing the Zoom/Minimize/Maximize/Arrange menu items in the
+ * standard Window menu from the menu items listing the visible
+ * windows. If you need to add your own menu items to the standard
+ * Window menu before the window list section, you can look for the
+ * menu item with this command ID using GetIndMenuItemWithCommandID,
+ * and insert your menu items before the item with this ID.
+ */
+ kHICommandWindowListSeparator = FOUR_CHAR_CODE('wldv'),
+
+ /*
+ * This command ID is used as a placeholder to mark the end of the
+ * window list section of the standard Window menu. If you need to
+ * add your own menu items to the standard Window menu after the
+ * window list section, you can look for the menu item with this
+ * command ID using GetIndMenuItemWithCommandID, and insert your
+ * items after the item with this ID.
+ */
+ kHICommandWindowListTerminator = FOUR_CHAR_CODE('wlst'),
+
+ /*
+ * A window in the standard Window menu has been selected and should
+ * be activated. The Window Manager will respond to this event
+ * automatically; your application does not need to handle it.
+ */
+ kHICommandSelectWindow = FOUR_CHAR_CODE('swin'),
+
+ /*
+ * The Rotate Windows hotkey (cmd-~ by default) has been pressed, and
+ * non-floating windows should be rotated so that the window after
+ * the active window is activated. The Window Manager will respond to
+ * this event automatically; your application does not need to handle
+ * it.
+ */
+ kHICommandRotateWindowsForward = FOUR_CHAR_CODE('rotw'),
+
+ /*
+ * The Rotate Windows hotkey (cmd-~ by default) has been pressed, and
+ * non-floating windows should be rotated so that the window before
+ * the active window is activated. The Window Manager will respond to
+ * this event automatically; your application does not need to handle
+ * it.
+ */
+ kHICommandRotateWindowsBackward = FOUR_CHAR_CODE('rotb'),
+
+ /*
+ * The floating window focus hotkey (ctl-F6 by default) has been
+ * pressed, and floating windows should be rotated so that the window
+ * after the focused window is activated. The Window Manager will
+ * respond to this event automatically; your application does not
+ * need to handle it.
+ */
+ kHICommandRotateFloatingWindowsForward = FOUR_CHAR_CODE('rtfw'),
+
+ /*
+ * The floating window focus hotkey (ctl-F6 by default) has been
+ * pressed, and floating windows should be rotated so that the window
+ * before the focused window is activated. The Window Manager will
+ * respond to this event automatically; your application does not
+ * need to handle it.
+ */
+ kHICommandRotateFloatingWindowsBackward = FOUR_CHAR_CODE('rtfb'),
+
+ /*
+ * The About menu item has been selected.
+ */
+ kHICommandAbout = FOUR_CHAR_CODE('abou'),
+
+ /*
+ * A new document or item should be created.
+ */
+ kHICommandNew = FOUR_CHAR_CODE('new '),
+
+ /*
+ * The user wants to open an existing document.
+ */
+ kHICommandOpen = FOUR_CHAR_CODE('open'),
+
+ /*
+ * The active window should be closed.
+ */
+ kHICommandClose = FOUR_CHAR_CODE('clos'),
+
+ /*
+ * The active document should be saved.
+ */
+ kHICommandSave = FOUR_CHAR_CODE('save'),
+
+ /*
+ * The user wants to save the active document under a new name.
+ */
+ kHICommandSaveAs = FOUR_CHAR_CODE('svas'),
+
+ /*
+ * The contents of the active document should be reverted to the last
+ * saved version.
+ */
+ kHICommandRevert = FOUR_CHAR_CODE('rvrt'),
+
+ /*
+ * The active window should be printed.
+ */
+ kHICommandPrint = FOUR_CHAR_CODE('prnt'),
+
+ /*
+ * The user wants to configure the current page margins, formatting,
+ * and print options.
+ */
+ kHICommandPageSetup = FOUR_CHAR_CODE('page'),
+
+ /*
+ * The application's help book should be displayed. Used by the Help
+ * Manager when it adds the "<AppName> Help" menu item to the Help
+ * menu. The Help Manager will respond to this event automatically;
+ * your application does not need to handle it.
+ */
+ kHICommandAppHelp = FOUR_CHAR_CODE('ahlp')
+};
+
+
+/*
+ * Summary:
+ * Values for the attributes field of the HICommand and
+ * HICommandExtended structures.
+ *
+ * Discussion:
+ * These bit masks are mutually exclusive; only one should be set at
+ * any given time. Some HICommand and HICommandExtended structures
+ * will have an attributes value of zero; in this case, there is no
+ * information available about the source of the command.
+ */
+enum {
+
+ /*
+ * Indicates that the command originates from a menu item. The
+ * HICommand.menu and HICommandExtended.source.menu fields are valid.
+ */
+ kHICommandFromMenu = (1L << 0),
+
+ /*
+ * Indicates that the command originates from a control. The
+ * HICommandExtended.source.control field is valid.
+ */
+ kHICommandFromControl = (1L << 1),
+
+ /*
+ * Indicates that the command originates from a window. The
+ * HICommandExtended.source.window field is valid.
+ */
+ kHICommandFromWindow = (1L << 2)
+};
+
+struct HICommand {
+ UInt32 attributes;
+ UInt32 commandID;
+ struct {
+ MenuRef menuRef;
+ MenuItemIndex menuItemIndex;
+ } menu;
+};
+typedef struct HICommand HICommand;
+struct HICommandExtended {
+ UInt32 attributes;
+ UInt32 commandID;
+ union {
+ ControlRef control;
+ WindowRef window;
+ struct {
+ MenuRef menuRef;
+ MenuItemIndex menuItemIndex;
+ } menu;
+ } source;
+};
+typedef struct HICommandExtended HICommandExtended;
+/*--------------------------------------------------------------------------------------*/
+/* Control Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Control events (kEventClassControl)
+ */
+enum {
+
+ /*
+ * Allows the control to initialize private data.
+ */
+ kEventControlInitialize = 1000,
+
+ /*
+ * Allows the control to dispose of private data.
+ */
+ kEventControlDispose = 1001,
+
+ /*
+ * Allows the control to report its best size and its text baseline
+ * based on its current settings. You should set the
+ * kEventParamControlOptimalBounds parameter to an appropriate
+ * rectangle. You should also set the
+ * kEventParamControlOptimalBaselineOffset parameter to be the offset
+ * from the top of your optimal bounds of a text baseline, if any.
+ * (Mac OS X only)
+ */
+ kEventControlGetOptimalBounds = 1003,
+ kEventControlDefInitialize = kEventControlInitialize,
+ kEventControlDefDispose = kEventControlDispose,
+
+ /*
+ * Sent by TrackControl and HandleControlClick after handling a click
+ * in a control.
+ */
+ kEventControlHit = 1,
+
+ /*
+ * Sent when your control should simulate a click in response to some
+ * other action, such as a return key for a default button. The event
+ * contains the part code the control should simulate a click for.
+ * The control may modify this on output to reflect the same sort of
+ * part code it would pass back while handling kEventControlTrack.
+ * (Mac OS X only)
+ */
+ kEventControlSimulateHit = 2,
+
+ /*
+ * Sent when someone wants to find out what part of your control is
+ * at a given point in local coordinates. You should set the
+ * kEventParamControlPart parameter to the appropriate part. (Mac OS
+ * X only)
+ */
+ kEventControlHitTest = 3,
+
+ /*
+ * Sent when your control should draw itself. The event can
+ * optionally contain a port in which to draw and a part to constrain
+ * drawing to. (Mac OS X only)
+ */
+ kEventControlDraw = 4,
+
+ /*
+ * Sent when your control should apply its background color/pattern
+ * to the port specified so the subcontrol can properly erase. The
+ * port is optional; if it does not exist you should apply the
+ * background to the current port. (Mac OS X only)
+ */
+ kEventControlApplyBackground = 5,
+
+ /*
+ * Sent when your control should apply a color/pattern to the
+ * specified port and context so a subcontrol can draw text which
+ * looks appropriate for your control's background. The port is
+ * optional; if it does not exist, you should apply the text color to
+ * the current port. The context context is also optional. (Mac OS X
+ * only)
+ */
+ kEventControlApplyTextColor = 6,
+
+ /*
+ * Sent when your control is gaining, losing, or changing the focus.
+ * Set the kEventParamControlPart param to the resulting focused
+ * part. If the kEventParamControlFocusEverything param is present,
+ * use its value as an indication of whether to advance the focus
+ * onto a part that isn't one that accepts general keyboard input;
+ * regardless of the param's value, the control must always allow the
+ * focus to be removed. (Mac OS X only)
+ */
+ kEventControlSetFocusPart = 7,
+
+ /*
+ * Sent when your the Control Manager wants to know what part of your
+ * control is currently focused. Set the kEventParamControlPart param
+ * to your currently focused part. (Mac OS X only)
+ */
+ kEventControlGetFocusPart = 8,
+
+ /*
+ * Sent when your control becomes active as a result of a call to
+ * ActivateControl. (Mac OS X only)
+ */
+ kEventControlActivate = 9,
+
+ /*
+ * Sent when your control becomes inactive as a result of a call to
+ * DeactivateControl. (Mac OS X only)
+ */
+ kEventControlDeactivate = 10,
+
+ /*
+ * Sent when your control is asked to change the cursor as a result
+ * of a call to HandleControlSetCursor. (Mac OS X only)
+ */
+ kEventControlSetCursor = 11,
+
+ /*
+ * Sent when your control is asked to display a contextual menu as a
+ * result of a call to HandleControlContextualMenuClick. (Mac OS X
+ * only)
+ */
+ kEventControlContextualMenuClick = 12,
+
+ /*
+ * A mouse down occurred in a control. The standard window handler
+ * sets the keyboard focus to the control if it takes focus on
+ * clicks, and calls HandleControlClick. Available on Mac OS X and
+ * CarbonLib 1.3.1 and later.
+ */
+ kEventControlClick = 13,
+
+ /*
+ * Sent so that a given control can customize the focus order of its
+ * subcontrols. The recipient will receive a start subcontrol in the
+ * kEventParamStartControl parameter and a focusing direction in the
+ * kEventParamControlPart parameter. The part code stored in the
+ * kEventParamControlPart parameter will be one of the focusing meta
+ * part codes, such as kControlFocusNextPart and
+ * kControlFocusPrevPart. The kEventParamStartControl parameter may
+ * be non-existent or NULL; this is a request to find the *first*
+ * subcontrol in the appropriate focusing direction. The recipient
+ * must store the next subcontrol in the kEventParamNextControl
+ * parameter of the event before returning; if there is no next
+ * subcontrol in the given focusing direction, the recipient must
+ * either exclude the kEventParamNextControl parameter or set it to
+ * NULL. This event is sent in Mac OS X 10.2 or later.
+ */
+ kEventControlGetNextFocusCandidate = 14, /* Available in Jaguar or later*/
+
+ /*
+ * This event is send when we are going to autotoggle a control. You
+ * can specify the value use based on the current value of your
+ * control. This event is available in Mac OS X 10.2 or later.
+ */
+ kEventControlGetAutoToggleValue = 15, /* Available in Jaguar or later */
+
+ /*
+ * This is sent when the HIViewGetViewForMouseEvent API is called.
+ * The control manager calls it before decending into any subviews.
+ * Controls can override this to intercept clicks which would
+ * normally be destined for their children. For example, the Toolbar
+ * control intercepts cmd-clicks to handle dragging its children. To
+ * accomplish this, it overrides this event, looking for the cmd key.
+ * When it's down, it just returns noErr as the result from its event
+ * handler. This tells the control manager to stop decending and
+ * return the view that it called as the event target. The standard
+ * window handler calls GetViewForMouseEvent and then HIViewClick
+ * with the resultant view. This event is available in Mac OS X 10.2
+ * or later.
+ */
+ kEventControlInterceptSubviewClick = 16, /* Available in Jaguar or later*/
+
+ /*
+ * This is very much like the window class version of this event. The
+ * difference is that the mouse location is view-relative, and there
+ * is no window part code passed to you. This event is actually a
+ * copy of the mouse down event, and so it has all the parameters
+ * that such an event would have (modifiers, button number, etc.)
+ */
+ kEventControlGetClickActivation = 17, /* Available in Jaguar or later*/
+
+ /*
+ * A drag has entered your control. If you at all wish to handle it,
+ * you must return noErr from your event handler in response to this
+ * event. If you return eventNotHandledErr, you will not receive
+ * 'within' or 'leave' messages, nor will you be eligible to receive
+ * the drag. This is done to try to be as efficient as possible wrt
+ * sending events during the drag operation.
+ */
+ kEventControlDragEnter = 18, /* Available in Jaguar or later*/
+
+ /*
+ * A drag has moved with your airspace (but not on any subcontrol).
+ * If the user moves into a subcontrol, it becomes the target of the
+ * drag and your control will not receive 'within' messages any
+ * longer.
+ */
+ kEventControlDragWithin = 19, /* Available in Jaguar or later*/
+
+ /*
+ * A drag is leaving your view. You might want to do things like
+ * unhighlight yourself, etc.
+ */
+ kEventControlDragLeave = 20, /* Available in Jaguar or later*/
+
+ /*
+ * Congratulations, you are the lucky recipient of a drag. Enjoy it.
+ */
+ kEventControlDragReceive = 21, /* Available in Jaguar or later*/
+
+ /*
+ * Sent to allow your control to completely replace the normal
+ * tracking that is part of a call to TrackControl or
+ * HandleControlClick. Set the kEventParamControlPart to the part hit
+ * during tracking. (Mac OS X only)
+ */
+ kEventControlTrack = 51,
+
+ /*
+ * Sent so your control can support Scroll To Here behavior during
+ * tracking. Set the kEventParamMouseLocation parameter to the mouse
+ * location in local coordinates which represents where a click would
+ * have needed to be to cause your indicator to be dragged to the
+ * incoming mouse location. (Mac OS X only)
+ */
+ kEventControlGetScrollToHereStartPoint = 52,
+
+ /*
+ * Sent so your control can constrain the movement of its indicator
+ * during tracking. Set the kEventParamControlIndicatorDragConstraint
+ * parameter to the appropriate constraint. (Mac OS X only)
+ */
+ kEventControlGetIndicatorDragConstraint = 53,
+
+ /*
+ * Sent during live-tracking of the indicator so your control can
+ * update its value based on the new indicator position. During
+ * non-live tracking, this event lets you redraw the indicator ghost
+ * at the appropriate place. (Mac OS X only)
+ */
+ kEventControlIndicatorMoved = 54,
+
+ /*
+ * Sent at the end of non-live indicator tracking so your control can
+ * update its value based on the final ghost location. (Mac OS X only)
+ */
+ kEventControlGhostingFinished = 55,
+
+ /*
+ * Sent during tracking so your control can alter the part that is
+ * passed to its action proc based on modifier keys, etc. Set the
+ * kEventParamControlPart to the part you want to have sent. (Mac OS
+ * X only)
+ */
+ kEventControlGetActionProcPart = 56,
+
+ /*
+ * Sent when a client wants to get a particular region of your
+ * control. See the GetControlRegion API. The
+ * kEventParamControlRegion contains a region for you to modify. (Mac
+ * OS X only)
+ */
+ kEventControlGetPartRegion = 101,
+
+ /*
+ * Sent when a client wants to get a particular rectangle of your
+ * control when it may be more efficient than asking for a region.
+ * Set the kEventParamControlPartBounds parameter to the appropriate
+ * rectangle. (Mac OS X only)
+ */
+ kEventControlGetPartBounds = 102,
+
+ /*
+ * Sent when a client wants to change an arbitrary setting of your
+ * control. See the SetControlData API. (Mac OS X only)
+ */
+ kEventControlSetData = 103,
+
+ /*
+ * Sent when a client wants to get an arbitrary setting of your
+ * control. See the GetControlData API. (Mac OS X only)
+ */
+ kEventControlGetData = 104,
+
+ /*
+ * This event is sent when the HIViewGetSizeConstraints API is
+ * called. It allows your custom control/view to specify its minimum
+ * and maximum size. This is different from the optimal size event
+ * above. The optimal size might be larger than a view's minimum
+ * size. A parent view can use this information to help it lay out
+ * subviews. The toolbar control uses this information to help lay
+ * out toolbar items, for example.
+ */
+ kEventControlGetSizeConstraints = 105, /* Available in Jaguar or later*/
+
+ /*
+ * Sent when your control's value, min, max, or view size has
+ * changed. Useful so other entities can watch for your control's
+ * value to change. (Mac OS X only)
+ */
+ kEventControlValueFieldChanged = 151,
+
+ /*
+ * Sent when a control was embedded within your control. (Mac OS X
+ * only)
+ */
+ kEventControlAddedSubControl = 152,
+
+ /*
+ * Sent when one of your child controls will be removed from your
+ * control. (Mac OS X only)
+ */
+ kEventControlRemovingSubControl = 153,
+
+ /*
+ * Sent when one your control's bounding rectangle has changed. (Mac
+ * OS X only)
+ */
+ kEventControlBoundsChanged = 154,
+
+ /*
+ * Sent when the title of your control changes. Available in Mac OS X
+ * 10.2 or later.
+ */
+ kEventControlTitleChanged = 158, /* Available in Jaguar or later*/
+
+ /*
+ * Sent when one your control's owning window has changed. Useful to
+ * udpate any dependencies that your control has on its owning
+ * window. (Mac OS X only)
+ */
+ kEventControlOwningWindowChanged = 159,
+
+ /*
+ * Sent when the hilite state changes in a control. This is here to
+ * support custom views/controls which need to update information
+ * when the hilite state changes. This event is available in Mac OS X
+ * 10.2 or later.
+ */
+ kEventControlHiliteChanged = 160, /* Available in Jaguar or later*/
+
+ /*
+ * Sent when the enabled state changes in a control. This is here to
+ * support custom views/controls which need to update information
+ * when the enabled state changes. This event is available in Mac OS
+ * X 10.2 or later.
+ */
+ kEventControlEnabledStateChanged = 161, /* Available in Jaguar or later*/
+
+ /*
+ * Sent when someone is trying to send an old-style CDEF message to
+ * your control. (Mac OS X only)
+ */
+ kEventControlArbitraryMessage = 201
+};
+
+
+/*
+ * Summary:
+ * Control bounds change event attributes
+ *
+ * Discussion:
+ * When the toolbox sends out a kEventControlBoundsChanged event, it
+ * also sends along a parameter containing attributes of the event.
+ * These attributes can be used to determine what aspect of the
+ * control changed (position, size, or both).
+ */
+enum {
+
+ /*
+ * The dimensions of the control (width and height) changed.
+ */
+ kControlBoundsChangeSizeChanged = (1 << 2),
+
+ /*
+ * The top left corner (position) changed.
+ */
+ kControlBoundsChangePositionChanged = (1 << 3)
+};
+
+/*
+ Parameters for control events:
+
+ kEventControlInitialize
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamInitCollection typeCollection
+ <-- kEventParamControlFeatures typeUInt32
+
+ kEventControlDispose
+ --> kEventParamDirectObject typeControlRef
+
+ kEventControlGetOptimalBounds
+ Required parameters:
+ --> kEventParamDirectObject typeControlRef
+ <-- kEventParamControlOptimalBounds typeQDRectangle
+
+ Optional parameters:
+ <-- kEventParamControlOptimalBaselineOffset typeShortInteger (optional)
+
+ kEventControlHit
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlPart typeControlPartCode
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventControlSimulateHit
+ --> kEventParamDirectObject typeControlRef
+ <-> kEventParamKeyModifiers typeUInt32
+ <-> kEventParamControlPart typeControlPartCode
+
+ kEventControlHitTest
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamMouseLocation typeQDPoint
+ <-- kEventParamControlPart typeControlPartCode
+
+ kEventControlDraw
+ Required parameters:
+ --> kEventParamDirectObject typeControlRef
+
+ Optional parameters:
+ --> kEventParamControlPart typeControlPartCode
+ (draw the entire control if kEventParamControlPart is not present)
+ --> kEventParamGrafPort typeGrafPtr
+ (draw into the current port if kEventParamGrafPort is not present)
+ --> kEventParamRgnHandle typeQDRgnHandle
+ Sent only on Jaguar and in certain situations in compositing mode
+ (when view is visible, etc.) Allows you to constrain your drawing
+ to the region the Toolbox has clipped you to.
+ --> kEventParamCGContextRef typeCGContextRef
+ Sent to your control when in compositing mode. It is already
+ transformed and clipped appropriately. You should use this instead
+ of creating your own CGContext. This will be extremely important
+ for printing, etc.
+
+ kEventControlApplyBackground
+ Required parameters:
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlSubControl typeControlRef
+ --> kEventParamControlDrawDepth typeShortInteger
+ --> kEventParamControlDrawInColor typeBoolean
+
+ Optional parameters:
+ --> kEventParamGrafPort typeGrafPtr
+ (apply to the current port if kEventParamGrafPort is not present)
+
+ kEventControlApplyTextColor
+ Required parameters:
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlSubControl typeControlRef
+ --> kEventParamControlDrawDepth typeShortInteger
+ --> kEventParamControlDrawInColor typeBoolean
+
+ Optional parameters:
+ --> kEventParamCGContextRef typeCGContextRef
+ --> kEventParamGrafPort typeGrafPtr
+ (apply to the current port if kEventParamGrafPort is not present)
+
+ kEventControlGetNextFocusCandidate
+ Required parameters:
+ --> kEventParamControlPart typeControlPartCode
+ <-- kEventParamNextControl typeControlRef
+
+ Optional parameters:
+ --> kEventParamStartControl typeControlRef
+ (find the first/last subcontrol of yourself if kEventParamStartControl is not present)
+
+ kEventControlGetAutoToggleValue:
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlPart typeControlPartCode
+ <-- kEventParamControlValue typeLongInteger
+
+ kEventControlInterceptSubviewClick
+ --> kEventParamEventRef typeEventRef
+
+ kEventControlGetClickActivation
+ This event is a copy of the actual mouse down event. The only
+ difference is the mouse location parameter is in view coordinates,
+ and there is a direct object parameter which is the control ref.
+ For mouse down event parameters, see the kEventMouseDown comments.
+
+ <-- kEventParamClickActivation typeClickActivationResult
+
+ kEventControlDragEnter
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamDragRef typeDragRef
+
+ kEventControlDragWithin
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamDragRef typeDragRef
+
+ kEventControlDragLeave
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamDragRef typeDragRef
+
+ kEventControlDragReceive
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamDragRef typeDragRef
+
+ kEventControlSetFocusPart
+ Required parameters:
+ --> kEventParamDirectObject typeControlRef
+ <-> kEventParamControlPart typeControlPartCode
+
+ Optional parameters:
+ --> kEventParamControlFocusEverything typeBoolean
+
+ kEventControlGetFocusPart
+ --> kEventParamDirectObject typeControlRef
+ <-- kEventParamControlPart typeControlPartCode
+
+ kEventControlActivate
+ --> kEventParamDirectObject typeControlRef
+
+ kEventControlDeactivate
+ --> kEventParamDirectObject typeControlRef
+
+ kEventControlSetCursor
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamMouseLocation typeQDPoint
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventControlContextualMenuClick
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamMouseLocation typeQDPoint
+
+ kEventControlClick
+ --> kEventParamDirectObject typeControlRef
+ --> [other parameters from kEventMouseDown]
+
+ kEventControlTrack
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamMouseLocation typeQDPoint
+ <-> kEventParamKeyModifiers typeUInt32
+ --> kEventParamControlAction typeControlActionUPP
+ <-- kEventParamControlPart typeControlPartCode
+
+ kEventControlGetScrollToHereStartPoint
+ --> kEventParamDirectObject typeControlRef
+ <-> kEventParamMouseLocation typeQDPoint
+ --> kEventParamKeyModifiers typeUInt32
+
+ kEventControlGetIndicatorDragConstraint
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamMouseLocation typeQDPoint
+ --> kEventParamKeyModifiers typeUInt32
+ <-- kEventParamControlIndicatorDragConstraint typeIndicatorDragConstraint
+
+ kEventControlIndicatorMoved
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlIndicatorRegion typeQDRgnHandle
+ --> kEventParamControlIsGhosting typeBoolean
+
+ kEventControlGhostingFinished
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlIndicatorOffset typeQDPoint
+
+ kEventControlGetActionProcPart
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamKeyModifiers typeUInt32
+ <-> kEventParamControlPart typeControlPartCode
+
+ kEventControlGetPartRegion
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlPart typeControlPartCode
+ --> kEventParamControlRegion typeQDRgnHandle
+
+ kEventControlGetPartBounds
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlPart typeControlPartCode
+ <-- kEventParamControlPartBounds typeQDRectangle
+
+ kEventControlSetData
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlPart typeControlPartCode
+ --> kEventParamControlDataTag typeEnumeration
+ --> kEventParamControlDataBuffer typePtr
+ --> kEventParamControlDataBufferSize typeLongInteger
+
+ kEventControlGetData
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlPart typeControlPartCode
+ --> kEventParamControlDataTag typeEnumeration
+ --> kEventParamControlDataBuffer typePtr
+ <-> kEventParamControlDataBufferSize typeLongInteger
+
+ kEventControlGetSizeConstraints
+ --> kEventParamDirectObject typeControlRef
+ <-- kEventParamMinimumSize typeHISize
+ <-- kEventParamMaximumSize typeHISize
+
+ kEventControlValueFieldChanged
+ --> kEventParamDirectObject typeControlRef
+
+ kEventControlAddedSubControl
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlSubControl typeControlRef
+
+ kEventControlRemovingSubControl
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlSubControl typeControlRef
+
+ kEventControlBoundsChanged
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamAttributes typeUInt32
+ --> kEventParamOriginalBounds typeQDRectangle
+ --> kEventParamPreviousBounds typeQDRectangle
+ --> kEventParamCurrentBounds typeQDRectangle
+
+ kEventControlTitleChanged
+ --> kEventParamDirectObject typeControlRef
+
+ kEventControlOwningWindowChanged
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamAttributes typeUInt32
+ --> kEventParamControlOriginalOwningWindow typeWindowRef
+ --> kEventParamControlCurrentOwningWindow typeWindowRef
+
+ kEventControlHiliteStateChanged
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlPreviousPart typeControlPartCode
+ --> kEventParamControlCurrentPart typeControlPartCode
+
+ kEventControlEnabledStateChanged
+ --> kEventParamDirectObject typeControlRef
+
+ kEventControlArbitraryMessage
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamControlMessage typeShortInteger
+ --> kEventParamControlParam typeLongInteger
+ <-- kEventParamControlResult typeLongInteger
+*/
+/*--------------------------------------------------------------------------------------*/
+/* Tablet Events (and tablet data in mouse events) */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Tablet events (kEventClassTablet)
+ */
+enum {
+
+ /*
+ * Indicates that the pen has moved on or near a tablet. Same as
+ * deprecated kEventTabletPointer. Available in Mac OS X only.
+ */
+ kEventTabletPoint = 1,
+
+ /*
+ * Indicates that the pen has entered or exited proximity of a
+ * tablet. Available in Mac OS X only.
+ */
+ kEventTabletProximity = 2,
+ kEventTabletPointer = 1 /* deprecated form for compatibility only, use kEventTabletPoint*/
+};
+
+struct TabletPointRec {
+ SInt32 absX; /* absolute x coordinate in tablet space at full tablet resolution */
+ SInt32 absY; /* absolute y coordinate in tablet space at full tablet resolution */
+ SInt32 absZ; /* absolute z coordinate in tablet space at full tablet resolution */
+ UInt16 buttons; /* one bit per button - bit 0 is first button - 1 = closed */
+ UInt16 pressure; /* scaled pressure value; MAXPRESSURE=(2^16)-1, MINPRESSURE=0 */
+ SInt16 tiltX; /* scaled tilt x value; range is -((2^15)-1) to (2^15)-1 (-32767 to 32767) */
+ SInt16 tiltY; /* scaled tilt y value; range is -((2^15)-1) to (2^15)-1 (-32767 to 32767) */
+ UInt16 rotation; /* Fixed-point representation of device rotation in a 10.6 format */
+ SInt16 tangentialPressure; /* tangential pressure on the device; range same as tilt */
+ UInt16 deviceID; /* system-assigned unique device ID - matches to deviceID field in proximity event */
+ SInt16 vendor1; /* vendor-defined signed 16-bit integer */
+ SInt16 vendor2; /* vendor-defined signed 16-bit integer */
+ SInt16 vendor3; /* vendor-defined signed 16-bit integer */
+};
+typedef struct TabletPointRec TabletPointRec;
+typedef TabletPointRec TabletPointerRec;
+struct TabletProximityRec {
+ UInt16 vendorID; /* vendor-defined ID - typically will be USB vendor ID */
+ UInt16 tabletID; /* vendor-defined tablet ID - typically will be USB product ID for the tablet */
+ UInt16 pointerID; /* vendor-defined ID of the specific pointing device */
+ UInt16 deviceID; /* system-assigned unique device ID - matches to deviceID field in tablet event */
+ UInt16 systemTabletID; /* system-assigned unique tablet ID */
+ UInt16 vendorPointerType; /* vendor-defined pointer type */
+ UInt32 pointerSerialNumber; /* vendor-defined serial number of the specific pointing device */
+ UInt64 uniqueID; /* vendor-defined unique ID for this pointer */
+ UInt32 capabilityMask; /* mask representing the capabilities of the device */
+ UInt8 pointerType; /* type of pointing device - enum to be defined */
+ UInt8 enterProximity; /* non-zero = entering; zero = leaving */
+};
+typedef struct TabletProximityRec TabletProximityRec;
+/*--------------------------------------------------------------------------------------*/
+/* Volume Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Volume events (kEventClassVolume)
+ */
+enum {
+
+ /*
+ * A new volume has been mounted (or new media inserted). Available
+ * on Mac OS X and CarbonLib 1.3.1 and later.
+ */
+ kEventVolumeMounted = 1, /* new volume mounted*/
+
+ /*
+ * An existing volume has been unmounted (or media ejected).
+ * Available on Mac OS X and CarbonLib 1.3.1 and later.
+ */
+ kEventVolumeUnmounted = 2 /* volume has been ejected or unmounted*/
+};
+
+/*
+ Parameters for volume events:
+
+ kEventVolumeMounted
+ --> kEventParamDirectObject typeFSVolumeRefNum
+
+ kEventVolumeUnmounted
+ --> kEventParamDirectObject typeFSVolumeRefNum
+*/
+
+/* types for volume events*/
+
+enum {
+ typeFSVolumeRefNum = FOUR_CHAR_CODE('voln') /* FSVolumeRefNum*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* Appearance Events */
+/*--------------------------------------------------------------------------------------*/
+/* Appearance Events */
+
+/*
+ * Discussion:
+ * Appearance events (kEventClassAppearance)
+ */
+enum {
+
+ /*
+ * The scroll bar variant has changed. Available on Mac OS X 10.1 and
+ * later.
+ */
+ kEventAppearanceScrollBarVariantChanged = 1
+};
+
+/*
+ Parameters for appearance events:
+
+ kEventAppearanceScrollBarVariantChanged
+ --> kEventParamNewScrollBarVariant typeShortInteger
+*/
+/*--------------------------------------------------------------------------------------*/
+/* Services Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Services events (kEventClassService)
+ *
+ * Discussion:
+ * Services are a feature by which applications can communicate with
+ * one another to request and provide services. This communication
+ * happens through the Scrap Manager. When an event is sent that
+ * requires communication for processing or servicing a request, you
+ * will need to use the scrap that is given in the
+ * kEventParamScrapRef parameter of the event in order to
+ * communicate. When your app requests a service, it is usually
+ * acting on data that is currently selected or in focus. Therefore
+ * all of the Services events are sent to the UserFocus event
+ * target.
+ * Service events are available on Mac OS X 10.1 and later.
+ */
+enum {
+
+ /*
+ * The user has invoked a service that requires the application to
+ * update the given scrap in the kEventParamScrapRef parameter with
+ * appropriate data from the focus.
+ */
+ kEventServiceCopy = 1,
+
+ /*
+ * The user has invoked a service that requires the application to
+ * update the current focus with data from the scrap that is given in
+ * the kEventParamScrapRef parameter.
+ */
+ kEventServicePaste = 2,
+
+ /*
+ * The Services Manager needs to know what types of data the
+ * application can copy and paste to and from the scrap in order to
+ * update the Services menu to enable items that the user can select.
+ * This event sends two CFMutableArrayRefs for the application to add
+ * the types to: the kEventParamServiceCopyTypes and the
+ * kEventParamServicePasteTypes parameters. The types that are added
+ * are CFStringRefs. There is a convenience function,
+ * CreateTypeStringWithOSType(), which takes an OSType and will
+ * create a CFStringRef that you can add to the array(s).
+ */
+ kEventServiceGetTypes = 3,
+
+ /*
+ * If the application is a service provider, this event will get sent
+ * when a Service is requested of the app. The scrap that should be
+ * used to send and receive data from the requester is provided in
+ * the kEventParamScrapRef parameter. The
+ * kEventParamServiceMessageName parameter contains a CFStringRef
+ * that indicates which advertised service was invoked.
+ */
+ kEventServicePerform = 4
+};
+
+/*
+ Parameters for service events:
+
+ kEventServiceCopy
+ --> kEventParamScrapRef typeScrapRef
+
+ kEventServicePaste
+ --> kEventParamScrapRef typeScrapRef
+
+ kEventServiceGetTypes
+ --> kEventParamServiceCopyTypes typeCFMutableArrayRef of CFStringRefs
+ --> kEventParamServicePasteTypes typeCFMutableArrayRef of CFStringRefs
+
+ kEventServicePerform
+ --> kEventParamScrapRef typeScrapRef
+ --> kEventParamServiceMessageName typeCFStringRef
+ --> kEventParamServiceUserData typeCFStringRef
+*/
+/*
+ * CreateTypeStringWithOSType()
+ *
+ * Discussion:
+ * This routine is used to convert an OSType to a CFStringRef that
+ * Services will understand.
+ *
+ * Parameters:
+ *
+ * inType:
+ * The OSType that needs to be converted to a CFString.
+ *
+ * Result:
+ * A CFStringRef that contains the string that corresponds to the
+ * given OSType. This follows CoreFoundation semantics in that it
+ * will return NULL for failure, and because it is a "Create"
+ * function you will need to CFRelease() this string when it is no
+ * longer needed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CFStringRef )
+CreateTypeStringWithOSType(OSType inType);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Accessibility Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Discussion:
+ * Accessibility events (kEventClassAccessibility)
+ */
+enum {
+
+ /*
+ * The kEventParamMouseLocation parameter will contain a global
+ * point. Find the child of yourself which is underneath that point
+ * and return it in the kEventParamAccessibleChild parameter. If
+ * there is no child at the given point, you should still return
+ * noErr, but leave the parameter empty. Only return immediate
+ * children; do not return grandchildren of yourself.
+ */
+ kEventAccessibleGetChildAtPoint = 1,
+
+ /*
+ * Find the child of yourself which is part of the focus chain and
+ * return it in the kEventParamAccessibleChild parameter. If there is
+ * no child in the focus chain, you should still return noErr, but
+ * leave the parameter empty. Only return immediate children; do not
+ * return grandchildren of yourself.
+ */
+ kEventAccessibleGetFocusedChild = 2,
+
+ /*
+ * The kEventParamAccessibleAttributeNames parameter will contain a
+ * CFMutableArrayRef. Add each of the attribute names you support to
+ * this array in the form of a CFStringRef.
+ */
+ kEventAccessibleGetAllAttributeNames = 21,
+
+ /*
+ * The kEventParamAccessibleAttributeName parameter will contain an
+ * attribute name in the form of a CFStringRef. If you support the
+ * named attribute, return the attribute's value in the
+ * kEventParamAccessibleAttributeValue parameter.
+ */
+ kEventAccessibleGetNamedAttribute = 22,
+
+ /*
+ * The kEventParamAccessibleAttributeName parameter will contain an
+ * attribute name in the form of a CFStringRef. The
+ * kEventParamAccessibleAttributeValue parameter will contain data in
+ * an arbitrary format. If you support the named attribute, set the
+ * named attribute's value to the data provided in the event.
+ */
+ kEventAccessibleSetNamedAttribute = 23,
+
+ /*
+ * The kEventParamAccessibleAttributeName parameter will contain an
+ * attribute name in the form of a CFStringRef. If you support the
+ * named attribute, set the kEventParamAccessibleAttributeSettable
+ * attribute to a Boolean indicating whether the named attribute can
+ * have its value changed via the kEventAccessibleSetNamedAttribute
+ * event.
+ */
+ kEventAccessibleIsNamedAttributeSettable = 24,
+
+ /*
+ * The kEventParamAccessibleActionNames parameter will contain a
+ * CFMutableArrayRef. Add each of the action names you support to
+ * this array in the form of a CFStringRef.
+ */
+ kEventAccessibleGetAllActionNames = 41,
+
+ /*
+ * The kEventParamAccessibleActionName parameter will contain an
+ * attribute name in the form of a CFStringRef. If you support the
+ * named action, perform the action.
+ */
+ kEventAccessiblePerformNamedAction = 42,
+
+ /*
+ * The kEventParamAccessibleActionName parameter will contain an
+ * attribute name in the form of a CFStringRef. The
+ * kEventParamAccessibleActionDescription parameter will contain a
+ * CFMutableStringRef. If you support the named action, alter the
+ * mutable string to contain a textual description of the action's
+ * significance.
+ */
+ kEventAccessibleGetNamedActionDescription = 44
+};
+
+
+/*
+ Parameters for Accessibility events:
+
+ kEventAccessibleGetChildAtPoint
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ --> kEventParamMouseLocation typeHIPoint
+ <-- kEventParamAccessibleChild typeCFTypeRef with an AXUIElementRef
+
+ kEventAccessibleGetFocusedChild
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ <-- kEventParamAccessibleChild typeCFTypeRef with an AXUIElementRef
+
+ kEventAccessibleGetAllAttributeNames
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ <-> kEventParamAccessibleAttributeNames typeCFMutableArrayRef
+
+ kEventAccessibleGetNamedAttribute
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ --> kEventParamAccessibleAttributeName typeCFStringRef
+ <-- kEventParamAccessibleAttributeValue variable
+
+ kEventAccessibleSetNamedAttribute
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ --> kEventParamAccessibleAttributeName typeCFStringRef
+ --> kEventParamAccessibleAttributeValue variable
+
+ kEventAccessibleIsNamedAttributeSettable
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ --> kEventParamAccessibleAttributeName typeCFStringRef
+ <-- kEventParamAccessibleAttributeSettable typeBoolean
+
+ kEventAccessibleGetAllActionNames
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ <-> kEventParamAccessibleActionNames typeCFMutableArrayRef
+
+ kEventAccessiblePerformNamedAction
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ --> kEventParamAccessibleActionName typeCFStringRef
+
+ kEventAccessibleGetNamedActionDescription
+ --> kEventParamAccessibleObject typeCFTypeRef with an AXUIElementRef
+ --> kEventParamAccessibleActionName typeCFStringRef
+ <-> kEventParamAccessibleActionDescription typeCFMutableStringRef
+*/
+typedef struct __AXUIElement* AXUIElementRef;
+/*
+ * AXUIElementCreateWithHIObjectAndIdentifier()
+ *
+ * Discussion:
+ * This routine creates an AXUIElementRef to represent an accessible
+ * object for a Carbon application. A Carbon accessible object is
+ * comprised of an HIObjectRef and a 64-bit identifier. The
+ * resulting AXUIElementRef is a CFTypeRef, and must be managed as
+ * such.
+ *
+ * Parameters:
+ *
+ * inHIObject:
+ * The HIObjectRef of the accessible object.
+ *
+ * inIdentifier:
+ * The 64-bit identifier of the accessible object.
+ *
+ * Result:
+ * An AXUIElementRef that represents the Carbon accessible object
+ * identified by the given HIObjectRef and 64-bit identifier. This
+ * follows CoreFoundation semantics in that it will return NULL for
+ * failure, and because it is a "Create" function you will need to
+ * CFRelease() this AXUIElementRef when it is no longer needed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( AXUIElementRef )
+AXUIElementCreateWithHIObjectAndIdentifier(
+ HIObjectRef inHIObject,
+ UInt64 inIdentifier);
+
+
+/*
+ * AXUIElementGetHIObject()
+ *
+ * Discussion:
+ * If the incoming AXUIElementRef is a Carbon accessible object,
+ * this routine will return the HIObjectRef of the accessible object.
+ *
+ * Parameters:
+ *
+ * inUIElement:
+ * The AXUIElementRef of whom you'd like to get the HIObjectRef.
+ *
+ * Result:
+ * The HIObjectRef of the AXUIElementRef. If the incoming
+ * AXUIElementRef is not a Carbon accessible object, this routine
+ * will return NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIObjectRef )
+AXUIElementGetHIObject(AXUIElementRef inUIElement);
+
+
+/*
+ * AXUIElementGetIdentifier()
+ *
+ * Discussion:
+ * If the incoming AXUIElementRef is a Carbon accessible object,
+ * this routine will pass back the 64-bit identifier of the
+ * accessible object.
+ *
+ * Parameters:
+ *
+ * inUIElement:
+ * The AXUIElementRef of whom you'd like to get the 64-bit
+ * identifier.
+ *
+ * outIdentifier:
+ * The 64-bit identifier of the AXUIElementRef. If the incoming
+ * AXUIElementRef is not a Carbon accessible object, this routine
+ * will pass back zero. Note that zero is often a legal value for
+ * Carbon accessible object, so do not assume that the accessible
+ * object is not a Carbon accessible object just because you get a
+ * result of zero.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+AXUIElementGetIdentifier(
+ AXUIElementRef inUIElement,
+ UInt64 * outIdentifier);
+
+
+/*
+ * AXNotificationHIObjectNotify()
+ *
+ * Discussion:
+ * Posts a notification for the given pseudo-AXUIElementRef. Though
+ * an actual AXUIElementRef is not actually passed in to this
+ * function, its component parts are. This saves the implementation
+ * the hassle of dismantling the AXUIElementRef into its component
+ * parts.
+ *
+ * Parameters:
+ *
+ * inNotification:
+ * The notification name string.
+ *
+ * inHIObject:
+ * The HIObjectRef component of the AXUIElementRef to whom the
+ * notification applies.
+ *
+ * inIdentifier:
+ * The 64-bit identifier component of the AXUIElementRef to whom
+ * the notification applies.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+AXNotificationHIObjectNotify(
+ CFStringRef inNotification,
+ HIObjectRef inHIObject,
+ UInt64 inIdentifier);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Parameter names and types */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kEventParamDirectObject = FOUR_CHAR_CODE('----') /* type varies depending on event*/
+};
+
+
+/*
+ */
+enum {
+
+ /*
+ * This event parameter may be added to any event that is posted to
+ * the main event queue. When the event is removed from the queue and
+ * sent to the event dispatcher, the dispatcher will retrieve the
+ * EventTargetRef contained in this parameter and send the event
+ * directly to that event target. If this parameter is not available
+ * in the event, the dispatcher will send the event to a suitable
+ * target, or to the application target if no more specific target is
+ * appropriate. Available in CarbonLib 1.3.1 and later, and Mac OS X.
+ */
+ kEventParamPostTarget = FOUR_CHAR_CODE('ptrg'), /* typeEventTargetRef*/
+
+ /*
+ * Indicates an event parameter of type EventTargetRef.
+ */
+ typeEventTargetRef = FOUR_CHAR_CODE('etrg') /* EventTargetRef*/
+};
+
+/* Generic toolbox parameters and types*/
+
+enum {
+ kEventParamWindowRef = FOUR_CHAR_CODE('wind'), /* typeWindowRef*/
+ kEventParamGrafPort = FOUR_CHAR_CODE('graf'), /* typeGrafPtr*/
+ kEventParamDragRef = FOUR_CHAR_CODE('drag'), /* typeDragRef*/
+ kEventParamMenuRef = FOUR_CHAR_CODE('menu'), /* typeMenuRef*/
+ kEventParamEventRef = FOUR_CHAR_CODE('evnt'), /* typeEventRef*/
+ kEventParamControlRef = FOUR_CHAR_CODE('ctrl'), /* typeControlRef*/
+ kEventParamRgnHandle = FOUR_CHAR_CODE('rgnh'), /* typeQDRgnHandle*/
+ kEventParamEnabled = FOUR_CHAR_CODE('enab'), /* typeBoolean*/
+ kEventParamDimensions = FOUR_CHAR_CODE('dims'), /* typeQDPoint*/
+ kEventParamAvailableBounds = FOUR_CHAR_CODE('avlb'), /* typeQDRectangle*/
+ kEventParamAEEventID = keyAEEventID, /* typeType*/
+ kEventParamAEEventClass = keyAEEventClass, /* typeType*/
+ kEventParamCGContextRef = FOUR_CHAR_CODE('cntx'), /* typeCGContextRef*/
+ kEventParamDeviceDepth = FOUR_CHAR_CODE('devd'), /* typeShortInteger*/
+ kEventParamDeviceColor = FOUR_CHAR_CODE('devc'), /* typeBoolean*/
+ kEventParamMutableArray = FOUR_CHAR_CODE('marr'), /* typeCFMutableArrayRef*/
+ kEventParamResult = FOUR_CHAR_CODE('ansr'), /* any type - depends on event like direct object*/
+ kEventParamMinimumSize = FOUR_CHAR_CODE('mnsz'), /* typeHISize*/
+ kEventParamMaximumSize = FOUR_CHAR_CODE('mxsz'), /* typeHISize*/
+ typeWindowRef = FOUR_CHAR_CODE('wind'), /* WindowRef*/
+ typeGrafPtr = FOUR_CHAR_CODE('graf'), /* CGrafPtr*/
+ typeGWorldPtr = FOUR_CHAR_CODE('gwld'), /* GWorldPtr*/
+ typeDragRef = FOUR_CHAR_CODE('drag'), /* DragRef*/
+ typeMenuRef = FOUR_CHAR_CODE('menu'), /* MenuRef*/
+ typeControlRef = FOUR_CHAR_CODE('ctrl'), /* ControlRef*/
+ typeCollection = FOUR_CHAR_CODE('cltn'), /* Collection*/
+ typeQDRgnHandle = FOUR_CHAR_CODE('rgnh'), /* RgnHandle*/
+ typeOSStatus = FOUR_CHAR_CODE('osst'), /* OSStatus*/
+ typeCFStringRef = FOUR_CHAR_CODE('cfst'), /* CFStringRef*/
+ typeCFMutableStringRef = FOUR_CHAR_CODE('cfms'), /* CFMutableStringRef*/
+ typeCFIndex = FOUR_CHAR_CODE('cfix'), /* CFIndex*/
+ typeCFTypeRef = FOUR_CHAR_CODE('cfty'), /* CFTypeRef*/
+ typeCGContextRef = FOUR_CHAR_CODE('cntx'), /* CGContextRef*/
+ typeHIPoint = FOUR_CHAR_CODE('hipt'), /* HIPoint*/
+ typeHISize = FOUR_CHAR_CODE('hisz'), /* HISize*/
+ typeHIRect = FOUR_CHAR_CODE('hirc'), /* HIRect*/
+ typeVoidPtr = FOUR_CHAR_CODE('void') /* void * (used for hiobject fun)*/
+};
+
+/* Mouse event parameters and types*/
+
+enum {
+ kEventParamMouseLocation = FOUR_CHAR_CODE('mloc'), /* typeHIPoint*/
+ kEventParamWindowMouseLocation = FOUR_CHAR_CODE('wmou'), /* typeHIPoint (Mac OS X 10.1 or later)*/
+ kEventParamMouseButton = FOUR_CHAR_CODE('mbtn'), /* typeMouseButton*/
+ kEventParamClickCount = FOUR_CHAR_CODE('ccnt'), /* typeUInt32*/
+ kEventParamMouseWheelAxis = FOUR_CHAR_CODE('mwax'), /* typeMouseWheelAxis*/
+ kEventParamMouseWheelDelta = FOUR_CHAR_CODE('mwdl'), /* typeSInt32*/
+ kEventParamMouseDelta = FOUR_CHAR_CODE('mdta'), /* typeQDPoint*/
+ kEventParamMouseChord = FOUR_CHAR_CODE('chor'), /* typeUInt32*/
+ kEventParamTabletEventType = FOUR_CHAR_CODE('tblt'), /* typeUInt32*/
+ kEventParamMouseTrackingRef = FOUR_CHAR_CODE('mtrf'), /* typeMouseTrackingRef*/
+ typeMouseButton = FOUR_CHAR_CODE('mbtn'), /* EventMouseButton*/
+ typeMouseWheelAxis = FOUR_CHAR_CODE('mwax'), /* EventMouseWheelAxis*/
+ typeMouseTrackingRef = FOUR_CHAR_CODE('mtrf') /* MouseTrackingRef*/
+};
+
+/* Keyboard event parameter and types*/
+
+enum {
+ kEventParamKeyCode = FOUR_CHAR_CODE('kcod'), /* typeUInt32*/
+ kEventParamKeyMacCharCodes = FOUR_CHAR_CODE('kchr'), /* typeChar*/
+ kEventParamKeyModifiers = FOUR_CHAR_CODE('kmod'), /* typeUInt32*/
+ kEventParamKeyUnicodes = FOUR_CHAR_CODE('kuni'), /* typeUnicodeText*/
+ kEventParamKeyboardType = FOUR_CHAR_CODE('kbdt'), /* typeUInt32*/
+ typeEventHotKeyID = FOUR_CHAR_CODE('hkid') /* EventHotKeyID*/
+};
+
+/* TextInput event parameters*/
+
+enum {
+ kEventParamTextInputSendRefCon = FOUR_CHAR_CODE('tsrc'), /* typeLongInteger*/
+ kEventParamTextInputSendComponentInstance = FOUR_CHAR_CODE('tsci'), /* typeComponentInstance*/
+ kEventParamTextInputSendSLRec = FOUR_CHAR_CODE('tssl'), /* typeIntlWritingCode*/
+ kEventParamTextInputReplySLRec = FOUR_CHAR_CODE('trsl'), /* typeIntlWritingCode*/
+ kEventParamTextInputSendText = FOUR_CHAR_CODE('tstx'), /* typeUnicodeText (if TSMDocument is Unicode), otherwise typeChar*/
+ kEventParamTextInputReplyText = FOUR_CHAR_CODE('trtx'), /* typeUnicodeText (if TSMDocument is Unicode), otherwise typeChar*/
+ kEventParamTextInputSendUpdateRng = FOUR_CHAR_CODE('tsup'), /* typeTextRangeArray*/
+ kEventParamTextInputSendHiliteRng = FOUR_CHAR_CODE('tshi'), /* typeTextRangeArray*/
+ kEventParamTextInputSendClauseRng = FOUR_CHAR_CODE('tscl'), /* typeOffsetArray*/
+ kEventParamTextInputSendPinRng = FOUR_CHAR_CODE('tspn'), /* typeTextRange*/
+ kEventParamTextInputSendFixLen = FOUR_CHAR_CODE('tsfx'), /* typeLongInteger*/
+ kEventParamTextInputSendLeadingEdge = FOUR_CHAR_CODE('tsle'), /* typeBoolean*/
+ kEventParamTextInputReplyLeadingEdge = FOUR_CHAR_CODE('trle'), /* typeBoolean*/
+ kEventParamTextInputSendTextOffset = FOUR_CHAR_CODE('tsto'), /* typeLongInteger*/
+ kEventParamTextInputReplyTextOffset = FOUR_CHAR_CODE('trto'), /* typeLongInteger*/
+ kEventParamTextInputReplyRegionClass = FOUR_CHAR_CODE('trrg'), /* typeLongInteger*/
+ kEventParamTextInputSendCurrentPoint = FOUR_CHAR_CODE('tscp'), /* typeQDPoint*/
+ kEventParamTextInputSendDraggingMode = FOUR_CHAR_CODE('tsdm'), /* typeBoolean*/
+ kEventParamTextInputReplyPoint = FOUR_CHAR_CODE('trpt'), /* typeQDPoint*/
+ kEventParamTextInputReplyFont = FOUR_CHAR_CODE('trft'), /* typeLongInteger*/
+ kEventParamTextInputReplyFMFont = FOUR_CHAR_CODE('trfm'), /* typeUInt32*/
+ kEventParamTextInputReplyPointSize = FOUR_CHAR_CODE('trpz'), /* typeFixed*/
+ kEventParamTextInputReplyLineHeight = FOUR_CHAR_CODE('trlh'), /* typeShortInteger*/
+ kEventParamTextInputReplyLineAscent = FOUR_CHAR_CODE('trla'), /* typeShortInteger*/
+ kEventParamTextInputReplyTextAngle = FOUR_CHAR_CODE('trta'), /* typeFixed*/
+ kEventParamTextInputSendShowHide = FOUR_CHAR_CODE('tssh'), /* typeBoolean*/
+ kEventParamTextInputReplyShowHide = FOUR_CHAR_CODE('trsh'), /* typeBoolean*/
+ kEventParamTextInputSendKeyboardEvent = FOUR_CHAR_CODE('tske'), /* typeEventRef*/
+ kEventParamTextInputSendTextServiceEncoding = FOUR_CHAR_CODE('tsse'), /* typeUInt32*/
+ kEventParamTextInputSendTextServiceMacEncoding = FOUR_CHAR_CODE('tssm'), /* typeUInt32*/
+ kEventParamTextInputGlyphInfoArray = FOUR_CHAR_CODE('glph') /* typeGlyphInfoArray*/
+};
+
+/* Command event parameters and types*/
+
+enum {
+ kEventParamHICommand = FOUR_CHAR_CODE('hcmd'), /* typeHICommand*/
+ typeHICommand = FOUR_CHAR_CODE('hcmd') /* HICommand*/
+};
+
+/* Window event parameters and types*/
+
+enum {
+ kEventParamWindowFeatures = FOUR_CHAR_CODE('wftr'), /* typeUInt32*/
+ kEventParamWindowDefPart = FOUR_CHAR_CODE('wdpc'), /* typeWindowDefPartCode*/
+ kEventParamCurrentBounds = FOUR_CHAR_CODE('crct'), /* typeQDRectangle*/
+ kEventParamOriginalBounds = FOUR_CHAR_CODE('orct'), /* typeQDRectangle*/
+ kEventParamPreviousBounds = FOUR_CHAR_CODE('prct'), /* typeQDRectangle*/
+ kEventParamClickActivation = FOUR_CHAR_CODE('clac'), /* typeClickActivationResult*/
+ kEventParamWindowRegionCode = FOUR_CHAR_CODE('wshp'), /* typeWindowRegionCode*/
+ kEventParamWindowDragHiliteFlag = FOUR_CHAR_CODE('wdhf'), /* typeBoolean*/
+ kEventParamWindowModifiedFlag = FOUR_CHAR_CODE('wmff'), /* typeBoolean*/
+ kEventParamWindowProxyGWorldPtr = FOUR_CHAR_CODE('wpgw'), /* typeGWorldPtr*/
+ kEventParamWindowProxyImageRgn = FOUR_CHAR_CODE('wpir'), /* typeQDRgnHandle*/
+ kEventParamWindowProxyOutlineRgn = FOUR_CHAR_CODE('wpor'), /* typeQDRgnHandle*/
+ kEventParamWindowStateChangedFlags = FOUR_CHAR_CODE('wscf'), /* typeUInt32 */
+ kEventParamWindowTitleFullWidth = FOUR_CHAR_CODE('wtfw'), /* typeSInt16*/
+ kEventParamWindowTitleTextWidth = FOUR_CHAR_CODE('wttw'), /* typeSInt16*/
+ kEventParamWindowGrowRect = FOUR_CHAR_CODE('grct'), /* typeQDRectangle*/
+ kEventParamAttributes = FOUR_CHAR_CODE('attr'), /* typeUInt32*/
+ kEventParamPreviousDockRect = FOUR_CHAR_CODE('pdrc'), /* typeHIRect*/
+ kEventParamCurrentDockRect = FOUR_CHAR_CODE('cdrc'), /* typeHIRect*/
+ typeWindowRegionCode = FOUR_CHAR_CODE('wshp'), /* WindowRegionCode*/
+ typeWindowDefPartCode = FOUR_CHAR_CODE('wdpt'), /* WindowDefPartCode*/
+ typeClickActivationResult = FOUR_CHAR_CODE('clac') /* ClickActivationResult*/
+};
+
+/* Control event parameters and types*/
+
+enum {
+ kEventParamControlPart = FOUR_CHAR_CODE('cprt'), /* typeControlPartCode*/
+ kEventParamInitCollection = FOUR_CHAR_CODE('icol'), /* typeCollection*/
+ kEventParamControlMessage = FOUR_CHAR_CODE('cmsg'), /* typeShortInteger*/
+ kEventParamControlParam = FOUR_CHAR_CODE('cprm'), /* typeLongInteger*/
+ kEventParamControlResult = FOUR_CHAR_CODE('crsl'), /* typeLongInteger*/
+ kEventParamControlRegion = FOUR_CHAR_CODE('crgn'), /* typeQDRgnHandle*/
+ kEventParamControlAction = FOUR_CHAR_CODE('caup'), /* typeControlActionUPP*/
+ kEventParamControlIndicatorDragConstraint = FOUR_CHAR_CODE('cidc'), /* typeIndicatorDragConstraint*/
+ kEventParamControlIndicatorRegion = FOUR_CHAR_CODE('cirn'), /* typeQDRgnHandle*/
+ kEventParamControlIsGhosting = FOUR_CHAR_CODE('cgst'), /* typeBoolean*/
+ kEventParamControlIndicatorOffset = FOUR_CHAR_CODE('ciof'), /* typeQDPoint*/
+ kEventParamControlClickActivationResult = FOUR_CHAR_CODE('ccar'), /* typeClickActivationResult*/
+ kEventParamControlSubControl = FOUR_CHAR_CODE('csub'), /* typeControlRef*/
+ kEventParamControlOptimalBounds = FOUR_CHAR_CODE('cobn'), /* typeQDRectangle*/
+ kEventParamControlOptimalBaselineOffset = FOUR_CHAR_CODE('cobo'), /* typeShortInteger*/
+ kEventParamControlDataTag = FOUR_CHAR_CODE('cdtg'), /* typeEnumeration*/
+ kEventParamControlDataBuffer = FOUR_CHAR_CODE('cdbf'), /* typePtr*/
+ kEventParamControlDataBufferSize = FOUR_CHAR_CODE('cdbs'), /* typeLongInteger*/
+ kEventParamControlDrawDepth = FOUR_CHAR_CODE('cddp'), /* typeShortInteger*/
+ kEventParamControlDrawInColor = FOUR_CHAR_CODE('cdic'), /* typeBoolean*/
+ kEventParamControlFeatures = FOUR_CHAR_CODE('cftr'), /* typeUInt32*/
+ kEventParamControlPartBounds = FOUR_CHAR_CODE('cpbd'), /* typeQDRectangle*/
+ kEventParamControlOriginalOwningWindow = FOUR_CHAR_CODE('coow'), /* typeWindowRef*/
+ kEventParamControlCurrentOwningWindow = FOUR_CHAR_CODE('ccow'), /* typeWindowRef*/
+ kEventParamControlFocusEverything = FOUR_CHAR_CODE('cfev'), /* typeBoolean*/
+ kEventParamNextControl = FOUR_CHAR_CODE('cnxc'), /* typeControlRef*/
+ kEventParamStartControl = FOUR_CHAR_CODE('cstc'), /* typeControlRef*/
+ kEventParamControlSubview = FOUR_CHAR_CODE('csvw'), /* typeControlRef*/
+ kEventParamControlPreviousPart = FOUR_CHAR_CODE('copc'), /* typeControlPartCode*/
+ kEventParamControlCurrentPart = FOUR_CHAR_CODE('cnpc'), /* typeControlPartCode*/
+ kEventParamControlInvalRgn = FOUR_CHAR_CODE('civr'), /* typeQDRgnHandle*/
+ kEventParamControlValue = FOUR_CHAR_CODE('cval'), /* typeLongInteger*/
+ typeControlActionUPP = FOUR_CHAR_CODE('caup'), /* ControlActionUPP*/
+ typeIndicatorDragConstraint = FOUR_CHAR_CODE('cidc'), /* IndicatorDragConstraint*/
+ typeControlPartCode = FOUR_CHAR_CODE('cprt') /* ControlPartCode*/
+};
+
+/* Menu event parameters and types*/
+
+enum {
+ kEventParamCurrentMenuTrackingMode = FOUR_CHAR_CODE('cmtm'), /* typeMenuTrackingMode*/
+ kEventParamNewMenuTrackingMode = FOUR_CHAR_CODE('nmtm'), /* typeMenuTrackingMode*/
+ kEventParamMenuFirstOpen = FOUR_CHAR_CODE('1sto'), /* typeBoolean*/
+ kEventParamMenuItemIndex = FOUR_CHAR_CODE('item'), /* typeMenuItemIndex*/
+ kEventParamMenuCommand = FOUR_CHAR_CODE('mcmd'), /* typeMenuCommand*/
+ kEventParamEnableMenuForKeyEvent = FOUR_CHAR_CODE('fork'), /* typeBoolean*/
+ kEventParamMenuEventOptions = FOUR_CHAR_CODE('meop'), /* typeMenuEventOptions*/
+ kEventParamMenuContext = FOUR_CHAR_CODE('mctx'), /* typeUInt32*/
+ kEventParamMenuItemBounds = FOUR_CHAR_CODE('mitb'), /* typeQDRectangle*/
+ kEventParamMenuMarkBounds = FOUR_CHAR_CODE('mmkb'), /* typeQDRectangle*/
+ kEventParamMenuIconBounds = FOUR_CHAR_CODE('micb'), /* typeQDRectangle*/
+ kEventParamMenuTextBounds = FOUR_CHAR_CODE('mtxb'), /* typeQDRectangle*/
+ kEventParamMenuTextBaseline = FOUR_CHAR_CODE('mtbl'), /* typeShortInteger*/
+ kEventParamMenuCommandKeyBounds = FOUR_CHAR_CODE('mcmb'), /* typeQDRectangle*/
+ kEventParamMenuVirtualTop = FOUR_CHAR_CODE('mvrt'), /* typeLongInteger*/
+ kEventParamMenuVirtualBottom = FOUR_CHAR_CODE('mvrb'), /* typeLongInteger*/
+ kEventParamMenuDrawState = FOUR_CHAR_CODE('mdrs'), /* typeThemeDrawState*/
+ kEventParamMenuItemType = FOUR_CHAR_CODE('mitp'), /* typeThemeMenuItemType*/
+ kEventParamMenuItemWidth = FOUR_CHAR_CODE('mitw'), /* typeShortInteger*/
+ kEventParamMenuItemHeight = FOUR_CHAR_CODE('mith'), /* typeShortInteger*/
+ typeMenuItemIndex = FOUR_CHAR_CODE('midx'), /* MenuItemIndex*/
+ typeMenuCommand = FOUR_CHAR_CODE('mcmd'), /* MenuCommand*/
+ typeMenuTrackingMode = FOUR_CHAR_CODE('mtmd'), /* MenuTrackingMode*/
+ typeMenuEventOptions = FOUR_CHAR_CODE('meop'), /* MenuEventOptions*/
+ typeThemeMenuState = FOUR_CHAR_CODE('tmns'), /* ThemeMenuState*/
+ typeThemeMenuItemType = FOUR_CHAR_CODE('tmit') /* ThemeMenuItemType*/
+};
+
+/* Application event parameters*/
+
+enum {
+ kEventParamProcessID = FOUR_CHAR_CODE('psn '), /* typeProcessSerialNumber*/
+ kEventParamLaunchRefCon = FOUR_CHAR_CODE('lref'), /* typeUInt32*/
+ kEventParamLaunchErr = FOUR_CHAR_CODE('err '), /* typeOSStatus*/
+ kEventParamSystemUIMode = FOUR_CHAR_CODE('uimd') /* typeUInt32*/
+};
+
+/* Tablet event parameters and types*/
+
+enum {
+ kEventParamTabletPointRec = FOUR_CHAR_CODE('tbrc'), /* typeTabletPointRec*/
+ kEventParamTabletProximityRec = FOUR_CHAR_CODE('tbpx'), /* typeTabletProximityRec*/
+ typeTabletPointRec = FOUR_CHAR_CODE('tbrc'), /* kEventParamTabletPointRec*/
+ typeTabletProximityRec = FOUR_CHAR_CODE('tbpx'), /* kEventParamTabletProximityRec*/
+ kEventParamTabletPointerRec = FOUR_CHAR_CODE('tbrc'), /* typeTabletPointerRec -- deprecated, for compatibility only*/
+ typeTabletPointerRec = FOUR_CHAR_CODE('tbrc') /* kEventParamTabletPointerRec -- deprecated, for compatibility only*/
+};
+
+/* Appearance event parameters*/
+
+enum {
+ kEventParamNewScrollBarVariant = FOUR_CHAR_CODE('nsbv') /* typeShortInteger*/
+};
+
+/* Service event parameters*/
+
+enum {
+ kEventParamScrapRef = FOUR_CHAR_CODE('scrp'), /* typeScrapRef*/
+ kEventParamServiceCopyTypes = FOUR_CHAR_CODE('svsd'), /* typeCFMutableArrayRef*/
+ kEventParamServicePasteTypes = FOUR_CHAR_CODE('svpt'), /* typeCFMutableArrayRef*/
+ kEventParamServiceMessageName = FOUR_CHAR_CODE('svmg'), /* typeCFStringRef*/
+ kEventParamServiceUserData = FOUR_CHAR_CODE('svud'), /* typeCFStringRef*/
+ typeScrapRef = FOUR_CHAR_CODE('scrp'), /* ScrapRef*/
+ typeCFMutableArrayRef = FOUR_CHAR_CODE('cfma') /* CFMutableArrayRef*/
+};
+
+/* Toolbar event parameters and types*/
+
+enum {
+ kEventParamToolbar = FOUR_CHAR_CODE('tbar'), /* typeHIToolbarRef*/
+ kEventParamToolbarItem = FOUR_CHAR_CODE('tbit'), /* typeHIToolbarItemRef*/
+ kEventParamToolbarItemIdentifier = FOUR_CHAR_CODE('tbii'), /* typeCFStringRef*/
+ kEventParamToolbarItemConfigData = FOUR_CHAR_CODE('tbid'), /* typeCFTypeRef*/
+ typeHIToolbarRef = FOUR_CHAR_CODE('tbar'), /* HIToolbarRef*/
+ typeHIToolbarItemRef = FOUR_CHAR_CODE('tbit') /* HIToolbarItemRef*/
+};
+
+/* Accessibility event parameters*/
+
+enum {
+ kEventParamAccessibleObject = FOUR_CHAR_CODE('aobj'), /* typeCFTypeRef with an AXUIElementRef*/
+ kEventParamAccessibleChild = FOUR_CHAR_CODE('achl'), /* typeCFTypeRef with an AXUIElementRef*/
+ kEventParamAccessibleAttributeName = FOUR_CHAR_CODE('atnm'), /* typeCFStringRef*/
+ kEventParamAccessibleAttributeNames = FOUR_CHAR_CODE('atns'), /* typeCFMutableArrayRef of CFStringRefs*/
+ kEventParamAccessibleAttributeValue = FOUR_CHAR_CODE('atvl'), /* variable*/
+ kEventParamAccessibleAttributeSettable = FOUR_CHAR_CODE('atst'), /* typeBoolean*/
+ kEventParamAccessibleActionName = FOUR_CHAR_CODE('acnm'), /* typeCFStringRef*/
+ kEventParamAccessibleActionNames = FOUR_CHAR_CODE('acns'), /* typeCFMutableArrayRef of CFStringRefs*/
+ kEventParamAccessibleActionDescription = FOUR_CHAR_CODE('acds') /* typeCFMutableStringRef*/
+};
+
+
+/*
+ * GetWindowEventTarget()
+ *
+ * Discussion:
+ * Returns the EventTargetRef for the specified window. Once you
+ * obtain this reference, you can send events to the target and
+ * install an event handler on it.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to return the target for.
+ *
+ * Result:
+ * An EventTargetRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventTargetRef )
+GetWindowEventTarget(WindowRef inWindow);
+
+
+/*
+ * GetControlEventTarget()
+ *
+ * Discussion:
+ * Returns the EventTargetRef for the specified control. Once you
+ * obtain this reference, you can send events to the target and
+ * install event handler on it.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * The control to return the target for.
+ *
+ * Result:
+ * An EventTargetRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventTargetRef )
+GetControlEventTarget(ControlRef inControl);
+
+
+/*
+ * GetMenuEventTarget()
+ *
+ * Discussion:
+ * Returns the EventTargetRef for the specified menu. Once you
+ * obtain this reference, you can send events to the target and
+ * install event handler on it.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu to return the target for.
+ *
+ * Result:
+ * An EventTargetRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventTargetRef )
+GetMenuEventTarget(MenuRef inMenu);
+
+
+/*
+ * GetApplicationEventTarget()
+ *
+ * Discussion:
+ * Returns the EventTargetRef for the application. Once you obtain
+ * this reference, you can send events to the target and install
+ * event handler on it.
+ *
+ * Result:
+ * An EventTargetRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventTargetRef )
+GetApplicationEventTarget(void);
+
+
+/*
+ * GetUserFocusEventTarget()
+ *
+ * Discussion:
+ * Returns the EventTargetRef for the current user focus at the time
+ * of the call. Keyboard events are always sent to this target.
+ *
+ * Result:
+ * An EventTargetRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventTargetRef )
+GetUserFocusEventTarget(void);
+
+
+/*
+ * GetEventDispatcherTarget()
+ *
+ * Discussion:
+ * Returns the EventTargetRef for the standard toolbox dispatcher.
+ * You typically would never need to use this, but there are some
+ * exotic apps that need to pick events off the event queue and call
+ * the dispatcher themselves. This allows you to do just that
+ * instead of calling RunApplicationEventLoop to handle it all.
+ *
+ * Result:
+ * An EventTargetRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EventTargetRef )
+GetEventDispatcherTarget(void);
@@ -4655,11 +4598,11 @@ extern "C" {
InstallEventHandler( GetMenuEventTarget( t ), (h), (n), (l), (u), (r) )
- /*
- You can use the following macro in your code to allow you to set up an
- event handler lazily. You pass the name of your event handler in. You should
- use this with caution on Mac OS 9 systems since it could cause heap fragmentation.
- */
+/*
+ You can use the following macro in your code to allow you to set up an
+ event handler lazily. You pass the name of your event handler in. You should
+ use this with caution on Mac OS 9 systems since it could cause heap fragmentation.
+*/
#define DEFINE_ONE_SHOT_HANDLER_GETTER( x ) \
EventHandlerUPP Get ## x ## UPP() \
{ \
@@ -4692,996 +4635,991 @@ EventHandlerUPP Get ## x ## UPP() \
#define SendEventToUserFocus( e ) \
SendEventToEventTarget( (e), GetUserFocusEventTarget() )
- /*======================================================================================*/
- /* EVENT-BASED OBJECT CLASSES */
- /* */
- /* Here it is - the replacement for classic defprocs. This is also a convenient way */
- /* to create toolbox objects (windows, etc.) that have a specific behavior without */
- /* installing handlers on each instance of the object. With a toolbox object class, */
- /* you register your class, then use special creation routines to create objects of */
- /* that class. The event handlers are automatically installed and ready to go. */
- /*======================================================================================*/
-
- typedef struct OpaqueToolboxObjectClassRef* ToolboxObjectClassRef;
-
- /*
- * RegisterToolboxObjectClass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RegisterToolboxObjectClass(
- CFStringRef inClassID,
- ToolboxObjectClassRef inBaseClass, /* can be NULL */
- UInt32 inNumEvents,
- const EventTypeSpec * inEventList,
- EventHandlerUPP inEventHandler,
- void * inEventHandlerData,
- ToolboxObjectClassRef * outClassRef);
-
-
- /*
- * UnregisterToolboxObjectClass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UnregisterToolboxObjectClass(ToolboxObjectClassRef inClassRef);
-
-
- /*======================================================================================*/
- /* o Command Routines */
- /*======================================================================================*/
-
- /*
- * ProcessHICommand()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ProcessHICommand(const HICommand * inCommand);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Event Loop Routines */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * RunApplicationEventLoop()
- *
- * Discussion:
- * This routine is used as the main event loop for a Carbon
- * Event-based application. Once entered, this function waits for
- * events to arrive and dispatches them to your event handlers
- * automatically.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RunApplicationEventLoop(void);
-
-
- /*
- * QuitApplicationEventLoop()
- *
- * Discussion:
- * This routine is used to quit the RunApplicationEventLoop
- * function. Typically, your application doesn't need to call this.
- * If your application has the Quit menu item tagged with the
- * kHICommandQuit Menu Command ID, the toolbox will automatically
- * call this for your application, automatically terminating your
- * event loop. If your application wants to do pre-processing before
- * the event loop exits, it should intercept either the
- * kHICommandQuit menu command, or the kEventApplicationQuit event.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- QuitApplicationEventLoop(void);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Event Modality routines */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * RunAppModalLoopForWindow()
- *
- * Discussion:
- * This routine is used as a replacement to ModalDialog to drive a
- * Carbon Event-based modal dialog. Once called, this routine will
- * not exit until QuitAppModalLoopForWindow is called. Calls to
- * RunAppModalLoopForWindow can be nested, as long as each call is
- * made on a different window. In Mac OS X 10.0.x,
- * RunAppModalLoopForWindow will fail to re-enable the menubar
- * before exiting if you dispose of the window during the modal loop
- * (for example, from a Carbon event handler). You can work around
- * this bug by retaining the window before calling
- * RunAppModalLoopForWindow, and releasing it afterwards.
- *
- * Parameters:
- *
- * inWindow:
- * The window you wish to behave modally.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- RunAppModalLoopForWindow(WindowRef inWindow);
-
-
- /*
- * QuitAppModalLoopForWindow()
- *
- * Discussion:
- * This routine is used to quit a currently running call to
- * RunAppModalLoopForWindow, i.e. it terminates a modal loop.
- * Typically this would be called from a handler you have installed
- * on the modal window in question when the user clicks the
- * appropriate button, etc.
- *
- * Parameters:
- *
- * inWindow:
- * The window for which to quit the modal state.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- QuitAppModalLoopForWindow(WindowRef inWindow);
-
-
- /*
- * BeginAppModalStateForWindow()
- *
- * Discussion:
- * This routine is a lower level routine than
- * RunAppModalLoopForWindow. It can be used if you wish to enter an
- * app modal state for a window, but need to control the event loop
- * yourself for whatever reason. In most cases, you would use
- * RunAppModalLoopForWindow. Once you begin your app modal state,
- * the menu bar will disable and prepare for the modal situation.
- * The window must be visible when calling
- * BeginAppModalStateForWindow; otherwise, windowWrongStateErr is
- * returned. Calls to BeginAppModalStateForWindow can be nested, as
- * long as each call is made on a different window. In Mac OS 10.0.x
- * and CarbonLib 1.3.1, BeginAppModalStateForWindow can only be
- * called on a window once; future calls will return an error. This
- * bug is fixed in Mac OS 10.1 and CarbonLib 1.4.
- *
- * Parameters:
- *
- * inWindow:
- * The window you wish to behave modally.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- BeginAppModalStateForWindow(WindowRef inWindow);
-
-
- /*
- * EndAppModalStateForWindow()
- *
- * Discussion:
- * This routine ends an app modal state started with
- * BeginAppModalStateForWindow.
- *
- * Parameters:
- *
- * inWindow:
- * The window you wish to stop acting as app modal.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- EndAppModalStateForWindow(WindowRef inWindow);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o User Focus */
- /* */
- /* The 'user focus' is where keyboard input goes. We also use the term 'key' applied */
- /* to windows to mean this. The user focus window is normally the active non-floating */
- /* window or dialog. It is possible to make a floater get the focus, however, by calling*/
- /* SetUserFocusWindow. After that call, the event model will automatically route key */
- /* input to the active keyboard focus of that window, if any. Passing kUserFocusAuto */
- /* into the window parameter tells the toolbox to pick what it considers to be the best */
- /* candidate for focus. You should call this to restore focus, rather than getting the */
- /* focus, setting it to a special window, and then restoring to the saved focus. There */
- /* are cases, however, when you might want to restore to an explicit window, but the */
- /* typical usage should just be to restore to the kUserFocusAuto focus. */
- /* */
- /* Keep in mind that setting the focus will only last until you restore focus, or the */
- /* user starts clicking in other windows. When that happens, the toolbox will auto- */
- /* redirect the user focus to a newly selected window. */
- /*--------------------------------------------------------------------------------------*/
- /* pick the most appropriate window for focus*/
+/*======================================================================================*/
+/* EVENT-BASED OBJECT CLASSES */
+/* */
+/* Here it is - the replacement for classic defprocs. This is also a convenient way */
+/* to create toolbox objects (windows, etc.) that have a specific behavior without */
+/* installing handlers on each instance of the object. With a toolbox object class, */
+/* you register your class, then use special creation routines to create objects of */
+/* that class. The event handlers are automatically installed and ready to go. */
+/*======================================================================================*/
+
+typedef struct OpaqueToolboxObjectClassRef* ToolboxObjectClassRef;
+
+/*
+ * RegisterToolboxObjectClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RegisterToolboxObjectClass(
+ CFStringRef inClassID,
+ ToolboxObjectClassRef inBaseClass, /* can be NULL */
+ UInt32 inNumEvents,
+ const EventTypeSpec * inEventList,
+ EventHandlerUPP inEventHandler,
+ void * inEventHandlerData,
+ ToolboxObjectClassRef * outClassRef);
+
+
+/*
+ * UnregisterToolboxObjectClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UnregisterToolboxObjectClass(ToolboxObjectClassRef inClassRef);
+
+
+/*======================================================================================*/
+/* o Command Routines */
+/*======================================================================================*/
+
+/*
+ * ProcessHICommand()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ProcessHICommand(const HICommand * inCommand);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Event Loop Routines */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * RunApplicationEventLoop()
+ *
+ * Discussion:
+ * This routine is used as the main event loop for a Carbon
+ * Event-based application. Once entered, this function waits for
+ * events to arrive and dispatches them to your event handlers
+ * automatically.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RunApplicationEventLoop(void);
+
+
+/*
+ * QuitApplicationEventLoop()
+ *
+ * Discussion:
+ * This routine is used to quit the RunApplicationEventLoop
+ * function. Typically, your application doesn't need to call this.
+ * If your application has the Quit menu item tagged with the
+ * kHICommandQuit Menu Command ID, the toolbox will automatically
+ * call this for your application, automatically terminating your
+ * event loop. If your application wants to do pre-processing before
+ * the event loop exits, it should intercept either the
+ * kHICommandQuit menu command, or the kEventApplicationQuit event.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+QuitApplicationEventLoop(void);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Event Modality routines */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * RunAppModalLoopForWindow()
+ *
+ * Discussion:
+ * This routine is used as a replacement to ModalDialog to drive a
+ * Carbon Event-based modal dialog. Once called, this routine will
+ * not exit until QuitAppModalLoopForWindow is called. Calls to
+ * RunAppModalLoopForWindow can be nested, as long as each call is
+ * made on a different window. In Mac OS X 10.0.x,
+ * RunAppModalLoopForWindow will fail to re-enable the menubar
+ * before exiting if you dispose of the window during the modal loop
+ * (for example, from a Carbon event handler). You can work around
+ * this bug by retaining the window before calling
+ * RunAppModalLoopForWindow, and releasing it afterwards.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window you wish to behave modally.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+RunAppModalLoopForWindow(WindowRef inWindow);
+
+
+/*
+ * QuitAppModalLoopForWindow()
+ *
+ * Discussion:
+ * This routine is used to quit a currently running call to
+ * RunAppModalLoopForWindow, i.e. it terminates a modal loop.
+ * Typically this would be called from a handler you have installed
+ * on the modal window in question when the user clicks the
+ * appropriate button, etc.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window for which to quit the modal state.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+QuitAppModalLoopForWindow(WindowRef inWindow);
+
+
+/*
+ * BeginAppModalStateForWindow()
+ *
+ * Discussion:
+ * This routine is a lower level routine than
+ * RunAppModalLoopForWindow. It can be used if you wish to enter an
+ * app modal state for a window, but need to control the event loop
+ * yourself for whatever reason. In most cases, you would use
+ * RunAppModalLoopForWindow. Once you begin your app modal state,
+ * the menu bar will disable and prepare for the modal situation.
+ * The window must be visible when calling
+ * BeginAppModalStateForWindow; otherwise, windowWrongStateErr is
+ * returned. Calls to BeginAppModalStateForWindow can be nested, as
+ * long as each call is made on a different window. In Mac OS 10.0.x
+ * and CarbonLib 1.3.1, BeginAppModalStateForWindow can only be
+ * called on a window once; future calls will return an error. This
+ * bug is fixed in Mac OS 10.1 and CarbonLib 1.4.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window you wish to behave modally.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+BeginAppModalStateForWindow(WindowRef inWindow);
+
+
+/*
+ * EndAppModalStateForWindow()
+ *
+ * Discussion:
+ * This routine ends an app modal state started with
+ * BeginAppModalStateForWindow.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window you wish to stop acting as app modal.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+EndAppModalStateForWindow(WindowRef inWindow);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o User Focus */
+/* */
+/* The 'user focus' is where keyboard input goes. We also use the term 'key' applied */
+/* to windows to mean this. The user focus window is normally the active non-floating */
+/* window or dialog. It is possible to make a floater get the focus, however, by calling*/
+/* SetUserFocusWindow. After that call, the event model will automatically route key */
+/* input to the active keyboard focus of that window, if any. Passing kUserFocusAuto */
+/* into the window parameter tells the toolbox to pick what it considers to be the best */
+/* candidate for focus. You should call this to restore focus, rather than getting the */
+/* focus, setting it to a special window, and then restoring to the saved focus. There */
+/* are cases, however, when you might want to restore to an explicit window, but the */
+/* typical usage should just be to restore to the kUserFocusAuto focus. */
+/* */
+/* Keep in mind that setting the focus will only last until you restore focus, or the */
+/* user starts clicking in other windows. When that happens, the toolbox will auto- */
+/* redirect the user focus to a newly selected window. */
+/*--------------------------------------------------------------------------------------*/
+/* pick the most appropriate window for focus*/
#define kUserFocusAuto ((WindowRef)(-1))
- /*
- * SetUserFocusWindow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetUserFocusWindow(WindowRef inWindow);
-
-
- /*
- * GetUserFocusWindow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetUserFocusWindow(void);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Default/Cancel buttons */
- /* */
- /* In our quest to eliminate the need for dialogs when using the new event model, we */
- /* have added the following routines which add dialog-like button control to normal */
- /* windows. With these routines, you can set the default and cancel buttons for a */
- /* window; these work just like the corresponding concepts in dialogs, and when */
- /* present, the standard toolbox handlers will handle keyboard input mapping to these */
- /* buttons. This means that pressing return or enter will 'press' the default button */
- /* and escape or command-period will 'press' the cancel button. */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * SetWindowDefaultButton()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowDefaultButton(
- WindowRef inWindow,
- ControlRef inControl); /* can be NULL */
-
-
- /*
- * SetWindowCancelButton()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowCancelButton(
- WindowRef inWindow,
- ControlRef inControl); /* can be NULL */
-
-
- /*
- * GetWindowDefaultButton()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowDefaultButton(
- WindowRef inWindow,
- ControlRef * outControl);
-
-
- /*
- * GetWindowCancelButton()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowCancelButton(
- WindowRef inWindow,
- ControlRef * outControl);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Global HotKey API */
- /*--------------------------------------------------------------------------------------*/
- struct EventHotKeyID
- {
- OSType signature;
- UInt32 id;
- };
- typedef struct EventHotKeyID EventHotKeyID;
- typedef struct OpaqueEventHotKeyRef* EventHotKeyRef;
- /*
- * RegisterEventHotKey()
- *
- * Discussion:
- * Registers a global hot key based on the virtual key code and
- * modifiers you pass in. Only one such combination can exist for
- * the current application, i.e. multiple entities in the same
- * application cannot register for the same hot key combination. The
- * same hot key can, however, be registered by multiple
- * applications. This means that multiple applications can
- * potentially be notified when a particular hot key is requested.
- * This might not necessarily be desirable, but it is how it works
- * at present.
- *
- * Parameters:
- *
- * inHotKeyCode:
- * The virtual key code of the key to watch
- *
- * inHotKeyModifiers:
- * The keyboard modifiers to look for. There must be a modifier
- * specified, or this function will return paramErr.
- *
- * inHotKeyID:
- * The application-specified hot key ID. You will receive this in
- * the kEventHotKeyPressed event as the direct object parameter.
- *
- * inTarget:
- * The target to notify when the hot key is pressed.
- *
- * inOptions:
- * Currently unused. Pass 0 or face the consequences.
- *
- * outRef:
- * The EventHotKeyRef that represents your new, shiny hot key. You
- * need this if you later wish to unregister it.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- RegisterEventHotKey(
- UInt32 inHotKeyCode,
- UInt32 inHotKeyModifiers,
- EventHotKeyID inHotKeyID,
- EventTargetRef inTarget,
- OptionBits inOptions,
- EventHotKeyRef * outRef);
-
-
- /*
- * UnregisterEventHotKey()
- *
- * Discussion:
- * Unregisters a global hot key that was previously registered with
- * the RegisterEventHotKey API. You do not need to unregister a hot
- * key when your application terminates, the system will take care
- * of that for you. This would be used if the user changes a hot key
- * for something in your application - you would unregister the
- * previous key and register your new key.
- *
- * Parameters:
- *
- * inHotKey:
- * The EventHotKeyRef to unregister.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UnregisterEventHotKey(EventHotKeyRef inHotKey);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o MouseTrackingRegions */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * MouseTrackingRef
- *
- * Discussion:
- * A MouseTrackingRef is an object that controls the generation of
- * mouse-enter and mouse-exit events. When the user moves the mouse
- * into a tracking region, a kEventClassMouse/kEventMouseEntered
- * event is sent to the app. When the user moves the mouse out of a
- * tracking region, an event of type
- * kEventClassMouse/kEventMouseExited is sent. Mouse tracking
- * regions are uniquely identified within the scope of a window by a
- * MouseTrackingRegionID which is a client signature/id pair. The
- * client signature is the usual DTS-registered creator OSType.
- * Mouse tracking regions can overlap, but are not exclusive. Mouse
- * motion events are generated for each of the tracking areas
- * intersected by the mouse. Mouse tracking regions are initially
- * enabled. You can explicitly disable a mouse tracking area to
- * prevent mouse-enter/exit events from being generated. Unlike
- * global mouse-moved events, mouse-enter and mouse-exit events are
- * generated while your app is in the background. If this is not
- * considered desirable, disable the tracking areas while the
- * application is in the background. MouseTrackingRefs become
- * invalid when the window that they are bound to is disposed of.
- */
- typedef struct OpaqueMouseTrackingRef* MouseTrackingRef;
-
-
- /*
- * MouseTrackingOptions
- *
- * Discussion:
- * These values define how the user's region is handled by the Mouse
- * Tracking Region API. They define the behavior throughout the life
- * of the Mouse Tracking Region. For example, if a region is created
- * with the option of kMouseTrackingOptionsGlobalClip then all
- * operations on this region will be interpreted in global
- * coordinates and will be clipped to the owning window's structure.
- */
- typedef UInt32 MouseTrackingOptions;
- enum
- {
-
- /*
- * The region is expected in local coordinates and mouse movement
- * tracking is clipped to the owning window's content region.
- */
- kMouseTrackingOptionsLocalClip = 0,
-
- /*
- * The region is expected in global coordinates and mouse movement
- * tracking is clipped to the owning window's structure region.
- */
- kMouseTrackingOptionsGlobalClip = 1,
-
- /*
- * Standard options. The region will be handled in local coordinates
- * and remain clipped against the windows content region.
- */
- kMouseTrackingOptionsStandard = kMouseTrackingOptionsLocalClip
- };
-
- struct MouseTrackingRegionID
- {
- OSType signature;
- SInt32 id;
- };
- typedef struct MouseTrackingRegionID MouseTrackingRegionID;
- /* Creation*/
-
- /*
- * CreateMouseTrackingRegion()
- *
- * Discussion:
- * Creates a mouse tracking region and installs it into the window
- * system.
- *
- * Parameters:
- *
- * inWindow:
- * The window that will contain the created region.
- *
- * inRegion:
- * The region for which you will receive entered/exit events.
- *
- * inClip:
- * A region to clip inRegion against (can be NULL).
- *
- * inOptions:
- * The options which define whether inRegion is given in global or
- * local coordinates.
- *
- * inID:
- * The signature/id pair which uniquely defines this region.
- *
- * inRefCon:
- * Any user defined value.
- *
- * inTargetToNotify:
- * The event target that should receive kEventMouseEntered/Exited
- * events for this tracking region. If NULL, the window's event
- * target receives these events.
- *
- * outTrackingRef:
- * A reference to the newly created mouse tracking region.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- CreateMouseTrackingRegion(
- WindowRef inWindow,
- RgnHandle inRegion,
- RgnHandle inClip, /* can be NULL */
- MouseTrackingOptions inOptions,
- MouseTrackingRegionID inID,
- void * inRefCon,
- EventTargetRef inTargetToNotify, /* can be NULL */
- MouseTrackingRef * outTrackingRef);
-
-
-
- /*
- * RetainMouseTrackingRegion()
- *
- * Discussion:
- * Retains the MouseTrackingRef.
- *
- * Parameters:
- *
- * inMouseRef:
- * A valid MouseTrackingRef to retain.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- RetainMouseTrackingRegion(MouseTrackingRef inMouseRef);
-
-
-
- /*
- * ReleaseMouseTrackingRegion()
- *
- * Discussion:
- * Releases the MouseTrackingRef. Since mouse tracking regions are
- * bound to a window, they are automatically released when the
- * window is disposed of.
- *
- * Parameters:
- *
- * inMouseRef:
- * A valid MouseTrackingRef to release.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ReleaseMouseTrackingRegion(MouseTrackingRef inMouseRef);
-
-
-
- /*
- * ChangeMouseTrackingRegion()
- *
- * Discussion:
- * Changes the MouseTrackingRefs region and optionally, its clip.
- * This will not change the enabled state or options of the region.
- *
- * Parameters:
- *
- * inMouseRef:
- * A valid MouseTrackingRef to modify.
- *
- * inRegion:
- * The region to set as the mouse tracking region.
- *
- * inClip:
- * An optional clip to clip inRegion against (may be NULL).
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ChangeMouseTrackingRegion(
- MouseTrackingRef inMouseRef,
- RgnHandle inRegion,
- RgnHandle inClip); /* can be NULL */
-
-
-
- /*
- * ClipMouseTrackingRegion()
- *
- * Discussion:
- * Adjust the region to clip the MouseTrackingRef against. This can
- * be used in the case where a window is resized or when a
- * previously obscured region becomes exposed.
- *
- * Parameters:
- *
- * inMouseRef:
- * A valid MouseTrackingRef to adjust.
- *
- * inRegion:
- * A new region to clip inMouseRef against (can be NULL). If NULL,
- * standard clipping will be provided.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ClipMouseTrackingRegion(
- MouseTrackingRef inMouseRef,
- RgnHandle inRegion);
-
-
- /* Accessors*/
-
- /*
- * GetMouseTrackingRegionID()
- *
- * Discussion:
- * Retrieves the MouseTrackingRegionID of the given
- * MouseTrackingRef. Can be used to determine if the region belongs
- * to your app, and if so, which region it is.
- *
- * Parameters:
- *
- * inMouseRef:
- * A valid MouseTrackingRef from which to obtain the
- * MouseTrackingRegionID.
- *
- * outID:
- * Receives the MouseTrackingRegionID.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- GetMouseTrackingRegionID(
- MouseTrackingRef inMouseRef,
- MouseTrackingRegionID * outID);
-
-
-
- /*
- * GetMouseTrackingRegionRefCon()
- *
- * Discussion:
- * Retrieves the RefCon from the given mouse tracking region.
- *
- * Parameters:
- *
- * inMouseRef:
- * A valid MouseTrackingRef from which to obtain the refcon.
- *
- * outRefCon:
- * Receives the refcon.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- GetMouseTrackingRegionRefCon(
- MouseTrackingRef inMouseRef,
- void ** outRefCon);
-
-
-
- /* Geometry*/
-
- /*
- * MoveMouseTrackingRegion()
- *
- * Discussion:
- * Moves the given mouse tracking region by the specified delta. It
- * can also optionally reclip the region, such as if the region is
- * scrolled within a pane.
- *
- * Parameters:
- *
- * inMouseRef:
- * A valid MouseTrackingRef to move.
- *
- * deltaH:
- * The horizontal delta to move the MouseTrackingRef.
- *
- * deltaV:
- * The vertical delta to move the MouseTrackingRef.
- *
- * inClip:
- * A region to optionally clip against (can be NULL).
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- MoveMouseTrackingRegion(
- MouseTrackingRef inMouseRef,
- SInt16 deltaH,
- SInt16 deltaV,
- RgnHandle inClip); /* can be NULL */
-
-
-
- /* Enable/disable*/
-
- /*
- * SetMouseTrackingRegionEnabled()
- *
- * Discussion:
- * Set the enabled state of the mouse tracking region
- *
- * Parameters:
- *
- * inMouseRef:
- * A valid MouseTrackingRef to modify.
- *
- * inEnabled:
- * Indicate whether this region should be enabled (true) or
- * disabled (false).
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetMouseTrackingRegionEnabled(
- MouseTrackingRef inMouseRef,
- Boolean inEnabled);
-
-
-
- /*
-
- Namespace operators
- */
-
- /*
- * ClipWindowMouseTrackingRegions()
- *
- * Discussion:
- * Bulk clip operation to modify the region that all mouse tracking
- * regions with the given signature will be clipped against.
- *
- * Parameters:
- *
- * inWindow:
- * The window that contains the regions with the given signature
- * that you are interested in updating.
- *
- * inSignature:
- * The signature of the mouse tracking regions that will be
- * reclipped.
- *
- * inClip:
- * The region to clip all of the regions against (can be NULL). If
- * NULL, standard clipping will be provided.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ClipWindowMouseTrackingRegions(
- WindowRef inWindow,
- OSType inSignature,
- RgnHandle inClip); /* can be NULL */
-
-
-
- /*
- * MoveWindowMouseTrackingRegions()
- *
- * Discussion:
- * Bulk move operation to move all regions with the given signature
- * the specified delta. An optional clip can be provided to reclip
- * the regions against, such as in the case of the regions are being
- * scrolled within a pane.
- *
- * Parameters:
- *
- * inWindow:
- * The window that contains the regions with the given signature
- * that you are interested in moving.
- *
- * inSignature:
- * The signature of the mouse tracking regions that will be moved.
- *
- * deltaH:
- * The horizontal delta to move all of the regions.
- *
- * deltaV:
- * The vertical delta to move all of the regions.
- *
- * inClip:
- * An optional clipping region to clip against (can be NULL). If
- * NULL, standard clipping will be provided.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- MoveWindowMouseTrackingRegions(
- WindowRef inWindow,
- OSType inSignature,
- SInt16 deltaH,
- SInt16 deltaV,
- RgnHandle inClip); /* can be NULL */
-
-
-
- /*
- * SetWindowMouseTrackingRegionsEnabled()
- *
- * Discussion:
- * Bulk set the enabled state of the mouse tracking regions of the
- * given signature belonging to the given window.
- *
- * Parameters:
- *
- * inWindow:
- * The window which contains the mouse tracking regions that you
- * are interested in modifying.
- *
- * inSignature:
- * The signature of the mouse tracking regions whose enabled state
- * you wish to modify.
- *
- * inEnabled:
- * Indicates whether the regions should be enabled (true) or
- * disabled (false).
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowMouseTrackingRegionsEnabled(
- WindowRef inWindow,
- OSType inSignature,
- Boolean inEnabled);
-
-
-
- /*
- * ReleaseWindowMouseTrackingRegions()
- *
- * Discussion:
- * Bulk release the mouse tracking regions with the given signature.
- *
- * Parameters:
- *
- * inWindow:
- * The window to which the regions to be released belong.
- *
- * inSignature:
- * The signature of the regions to be released.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ReleaseWindowMouseTrackingRegions(
- WindowRef inWindow,
- OSType inSignature);
-
-
-
- /* OBSOLETE CONSTANTS*/
-
-
- enum
- {
- kMouseTrackingMousePressed = kMouseTrackingMouseDown,
- kMouseTrackingMouseReleased = kMouseTrackingMouseUp
- };
-
- enum
- {
- kEventControlGetSubviewForMouseEvent = kEventControlInterceptSubviewClick
- };
+/*
+ * SetUserFocusWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetUserFocusWindow(WindowRef inWindow);
+
+
+/*
+ * GetUserFocusWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetUserFocusWindow(void);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Default/Cancel buttons */
+/* */
+/* In our quest to eliminate the need for dialogs when using the new event model, we */
+/* have added the following routines which add dialog-like button control to normal */
+/* windows. With these routines, you can set the default and cancel buttons for a */
+/* window; these work just like the corresponding concepts in dialogs, and when */
+/* present, the standard toolbox handlers will handle keyboard input mapping to these */
+/* buttons. This means that pressing return or enter will 'press' the default button */
+/* and escape or command-period will 'press' the cancel button. */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * SetWindowDefaultButton()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowDefaultButton(
+ WindowRef inWindow,
+ ControlRef inControl); /* can be NULL */
+
+
+/*
+ * SetWindowCancelButton()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowCancelButton(
+ WindowRef inWindow,
+ ControlRef inControl); /* can be NULL */
+
+
+/*
+ * GetWindowDefaultButton()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowDefaultButton(
+ WindowRef inWindow,
+ ControlRef * outControl);
+
+
+/*
+ * GetWindowCancelButton()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowCancelButton(
+ WindowRef inWindow,
+ ControlRef * outControl);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Global HotKey API */
+/*--------------------------------------------------------------------------------------*/
+struct EventHotKeyID {
+ OSType signature;
+ UInt32 id;
+};
+typedef struct EventHotKeyID EventHotKeyID;
+typedef struct OpaqueEventHotKeyRef* EventHotKeyRef;
+/*
+ * RegisterEventHotKey()
+ *
+ * Discussion:
+ * Registers a global hot key based on the virtual key code and
+ * modifiers you pass in. Only one such combination can exist for
+ * the current application, i.e. multiple entities in the same
+ * application cannot register for the same hot key combination. The
+ * same hot key can, however, be registered by multiple
+ * applications. This means that multiple applications can
+ * potentially be notified when a particular hot key is requested.
+ * This might not necessarily be desirable, but it is how it works
+ * at present.
+ *
+ * Parameters:
+ *
+ * inHotKeyCode:
+ * The virtual key code of the key to watch
+ *
+ * inHotKeyModifiers:
+ * The keyboard modifiers to look for. There must be a modifier
+ * specified, or this function will return paramErr.
+ *
+ * inHotKeyID:
+ * The application-specified hot key ID. You will receive this in
+ * the kEventHotKeyPressed event as the direct object parameter.
+ *
+ * inTarget:
+ * The target to notify when the hot key is pressed.
+ *
+ * inOptions:
+ * Currently unused. Pass 0 or face the consequences.
+ *
+ * outRef:
+ * The EventHotKeyRef that represents your new, shiny hot key. You
+ * need this if you later wish to unregister it.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+RegisterEventHotKey(
+ UInt32 inHotKeyCode,
+ UInt32 inHotKeyModifiers,
+ EventHotKeyID inHotKeyID,
+ EventTargetRef inTarget,
+ OptionBits inOptions,
+ EventHotKeyRef * outRef);
+
+
+/*
+ * UnregisterEventHotKey()
+ *
+ * Discussion:
+ * Unregisters a global hot key that was previously registered with
+ * the RegisterEventHotKey API. You do not need to unregister a hot
+ * key when your application terminates, the system will take care
+ * of that for you. This would be used if the user changes a hot key
+ * for something in your application - you would unregister the
+ * previous key and register your new key.
+ *
+ * Parameters:
+ *
+ * inHotKey:
+ * The EventHotKeyRef to unregister.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UnregisterEventHotKey(EventHotKeyRef inHotKey);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o MouseTrackingRegions */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * MouseTrackingRef
+ *
+ * Discussion:
+ * A MouseTrackingRef is an object that controls the generation of
+ * mouse-enter and mouse-exit events. When the user moves the mouse
+ * into a tracking region, a kEventClassMouse/kEventMouseEntered
+ * event is sent to the app. When the user moves the mouse out of a
+ * tracking region, an event of type
+ * kEventClassMouse/kEventMouseExited is sent. Mouse tracking
+ * regions are uniquely identified within the scope of a window by a
+ * MouseTrackingRegionID which is a client signature/id pair. The
+ * client signature is the usual DTS-registered creator OSType.
+ * Mouse tracking regions can overlap, but are not exclusive. Mouse
+ * motion events are generated for each of the tracking areas
+ * intersected by the mouse. Mouse tracking regions are initially
+ * enabled. You can explicitly disable a mouse tracking area to
+ * prevent mouse-enter/exit events from being generated. Unlike
+ * global mouse-moved events, mouse-enter and mouse-exit events are
+ * generated while your app is in the background. If this is not
+ * considered desirable, disable the tracking areas while the
+ * application is in the background. MouseTrackingRefs become
+ * invalid when the window that they are bound to is disposed of.
+ */
+typedef struct OpaqueMouseTrackingRef* MouseTrackingRef;
+
+
+/*
+ * MouseTrackingOptions
+ *
+ * Discussion:
+ * These values define how the user's region is handled by the Mouse
+ * Tracking Region API. They define the behavior throughout the life
+ * of the Mouse Tracking Region. For example, if a region is created
+ * with the option of kMouseTrackingOptionsGlobalClip then all
+ * operations on this region will be interpreted in global
+ * coordinates and will be clipped to the owning window's structure.
+ */
+typedef UInt32 MouseTrackingOptions;
+enum {
+
+ /*
+ * The region is expected in local coordinates and mouse movement
+ * tracking is clipped to the owning window's content region.
+ */
+ kMouseTrackingOptionsLocalClip = 0,
+
+ /*
+ * The region is expected in global coordinates and mouse movement
+ * tracking is clipped to the owning window's structure region.
+ */
+ kMouseTrackingOptionsGlobalClip = 1,
+
+ /*
+ * Standard options. The region will be handled in local coordinates
+ * and remain clipped against the windows content region.
+ */
+ kMouseTrackingOptionsStandard = kMouseTrackingOptionsLocalClip
+};
+
+struct MouseTrackingRegionID {
+ OSType signature;
+ SInt32 id;
+};
+typedef struct MouseTrackingRegionID MouseTrackingRegionID;
+/* Creation*/
+
+/*
+ * CreateMouseTrackingRegion()
+ *
+ * Discussion:
+ * Creates a mouse tracking region and installs it into the window
+ * system.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window that will contain the created region.
+ *
+ * inRegion:
+ * The region for which you will receive entered/exit events.
+ *
+ * inClip:
+ * A region to clip inRegion against (can be NULL).
+ *
+ * inOptions:
+ * The options which define whether inRegion is given in global or
+ * local coordinates.
+ *
+ * inID:
+ * The signature/id pair which uniquely defines this region.
+ *
+ * inRefCon:
+ * Any user defined value.
+ *
+ * inTargetToNotify:
+ * The event target that should receive kEventMouseEntered/Exited
+ * events for this tracking region. If NULL, the window's event
+ * target receives these events.
+ *
+ * outTrackingRef:
+ * A reference to the newly created mouse tracking region.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateMouseTrackingRegion(
+ WindowRef inWindow,
+ RgnHandle inRegion,
+ RgnHandle inClip, /* can be NULL */
+ MouseTrackingOptions inOptions,
+ MouseTrackingRegionID inID,
+ void * inRefCon,
+ EventTargetRef inTargetToNotify, /* can be NULL */
+ MouseTrackingRef * outTrackingRef);
+
+
+
+/*
+ * RetainMouseTrackingRegion()
+ *
+ * Discussion:
+ * Retains the MouseTrackingRef.
+ *
+ * Parameters:
+ *
+ * inMouseRef:
+ * A valid MouseTrackingRef to retain.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+RetainMouseTrackingRegion(MouseTrackingRef inMouseRef);
+
+
+
+/*
+ * ReleaseMouseTrackingRegion()
+ *
+ * Discussion:
+ * Releases the MouseTrackingRef. Since mouse tracking regions are
+ * bound to a window, they are automatically released when the
+ * window is disposed of.
+ *
+ * Parameters:
+ *
+ * inMouseRef:
+ * A valid MouseTrackingRef to release.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ReleaseMouseTrackingRegion(MouseTrackingRef inMouseRef);
+
+
+
+/*
+ * ChangeMouseTrackingRegion()
+ *
+ * Discussion:
+ * Changes the MouseTrackingRefs region and optionally, its clip.
+ * This will not change the enabled state or options of the region.
+ *
+ * Parameters:
+ *
+ * inMouseRef:
+ * A valid MouseTrackingRef to modify.
+ *
+ * inRegion:
+ * The region to set as the mouse tracking region.
+ *
+ * inClip:
+ * An optional clip to clip inRegion against (may be NULL).
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ChangeMouseTrackingRegion(
+ MouseTrackingRef inMouseRef,
+ RgnHandle inRegion,
+ RgnHandle inClip); /* can be NULL */
+
+
+
+/*
+ * ClipMouseTrackingRegion()
+ *
+ * Discussion:
+ * Adjust the region to clip the MouseTrackingRef against. This can
+ * be used in the case where a window is resized or when a
+ * previously obscured region becomes exposed.
+ *
+ * Parameters:
+ *
+ * inMouseRef:
+ * A valid MouseTrackingRef to adjust.
+ *
+ * inRegion:
+ * A new region to clip inMouseRef against (can be NULL). If NULL,
+ * standard clipping will be provided.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ClipMouseTrackingRegion(
+ MouseTrackingRef inMouseRef,
+ RgnHandle inRegion);
+
+
+/* Accessors*/
+
+/*
+ * GetMouseTrackingRegionID()
+ *
+ * Discussion:
+ * Retrieves the MouseTrackingRegionID of the given
+ * MouseTrackingRef. Can be used to determine if the region belongs
+ * to your app, and if so, which region it is.
+ *
+ * Parameters:
+ *
+ * inMouseRef:
+ * A valid MouseTrackingRef from which to obtain the
+ * MouseTrackingRegionID.
+ *
+ * outID:
+ * Receives the MouseTrackingRegionID.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+GetMouseTrackingRegionID(
+ MouseTrackingRef inMouseRef,
+ MouseTrackingRegionID * outID);
+
+
+
+/*
+ * GetMouseTrackingRegionRefCon()
+ *
+ * Discussion:
+ * Retrieves the RefCon from the given mouse tracking region.
+ *
+ * Parameters:
+ *
+ * inMouseRef:
+ * A valid MouseTrackingRef from which to obtain the refcon.
+ *
+ * outRefCon:
+ * Receives the refcon.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+GetMouseTrackingRegionRefCon(
+ MouseTrackingRef inMouseRef,
+ void ** outRefCon);
+
+
+
+/* Geometry*/
+
+/*
+ * MoveMouseTrackingRegion()
+ *
+ * Discussion:
+ * Moves the given mouse tracking region by the specified delta. It
+ * can also optionally reclip the region, such as if the region is
+ * scrolled within a pane.
+ *
+ * Parameters:
+ *
+ * inMouseRef:
+ * A valid MouseTrackingRef to move.
+ *
+ * deltaH:
+ * The horizontal delta to move the MouseTrackingRef.
+ *
+ * deltaV:
+ * The vertical delta to move the MouseTrackingRef.
+ *
+ * inClip:
+ * A region to optionally clip against (can be NULL).
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+MoveMouseTrackingRegion(
+ MouseTrackingRef inMouseRef,
+ SInt16 deltaH,
+ SInt16 deltaV,
+ RgnHandle inClip); /* can be NULL */
+
+
+
+/* Enable/disable*/
+
+/*
+ * SetMouseTrackingRegionEnabled()
+ *
+ * Discussion:
+ * Set the enabled state of the mouse tracking region
+ *
+ * Parameters:
+ *
+ * inMouseRef:
+ * A valid MouseTrackingRef to modify.
+ *
+ * inEnabled:
+ * Indicate whether this region should be enabled (true) or
+ * disabled (false).
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetMouseTrackingRegionEnabled(
+ MouseTrackingRef inMouseRef,
+ Boolean inEnabled);
+
+
+
+/*
+
+ Namespace operators
+*/
+
+/*
+ * ClipWindowMouseTrackingRegions()
+ *
+ * Discussion:
+ * Bulk clip operation to modify the region that all mouse tracking
+ * regions with the given signature will be clipped against.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window that contains the regions with the given signature
+ * that you are interested in updating.
+ *
+ * inSignature:
+ * The signature of the mouse tracking regions that will be
+ * reclipped.
+ *
+ * inClip:
+ * The region to clip all of the regions against (can be NULL). If
+ * NULL, standard clipping will be provided.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ClipWindowMouseTrackingRegions(
+ WindowRef inWindow,
+ OSType inSignature,
+ RgnHandle inClip); /* can be NULL */
+
+
+
+/*
+ * MoveWindowMouseTrackingRegions()
+ *
+ * Discussion:
+ * Bulk move operation to move all regions with the given signature
+ * the specified delta. An optional clip can be provided to reclip
+ * the regions against, such as in the case of the regions are being
+ * scrolled within a pane.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window that contains the regions with the given signature
+ * that you are interested in moving.
+ *
+ * inSignature:
+ * The signature of the mouse tracking regions that will be moved.
+ *
+ * deltaH:
+ * The horizontal delta to move all of the regions.
+ *
+ * deltaV:
+ * The vertical delta to move all of the regions.
+ *
+ * inClip:
+ * An optional clipping region to clip against (can be NULL). If
+ * NULL, standard clipping will be provided.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+MoveWindowMouseTrackingRegions(
+ WindowRef inWindow,
+ OSType inSignature,
+ SInt16 deltaH,
+ SInt16 deltaV,
+ RgnHandle inClip); /* can be NULL */
+
+
+
+/*
+ * SetWindowMouseTrackingRegionsEnabled()
+ *
+ * Discussion:
+ * Bulk set the enabled state of the mouse tracking regions of the
+ * given signature belonging to the given window.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window which contains the mouse tracking regions that you
+ * are interested in modifying.
+ *
+ * inSignature:
+ * The signature of the mouse tracking regions whose enabled state
+ * you wish to modify.
+ *
+ * inEnabled:
+ * Indicates whether the regions should be enabled (true) or
+ * disabled (false).
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowMouseTrackingRegionsEnabled(
+ WindowRef inWindow,
+ OSType inSignature,
+ Boolean inEnabled);
+
+
+
+/*
+ * ReleaseWindowMouseTrackingRegions()
+ *
+ * Discussion:
+ * Bulk release the mouse tracking regions with the given signature.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to which the regions to be released belong.
+ *
+ * inSignature:
+ * The signature of the regions to be released.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ReleaseWindowMouseTrackingRegions(
+ WindowRef inWindow,
+ OSType inSignature);
+
+
+
+/* OBSOLETE CONSTANTS*/
+
+
+enum {
+ kMouseTrackingMousePressed = kMouseTrackingMouseDown,
+ kMouseTrackingMouseReleased = kMouseTrackingMouseUp
+};
+
+enum {
+ kEventControlGetSubviewForMouseEvent = kEventControlInterceptSubviewClick
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CarbonEventsCore.h b/include/qt/CarbonEventsCore.h
index 2eaed0907..a4481dfbb 100644
--- a/include/qt/CarbonEventsCore.h
+++ b/include/qt/CarbonEventsCore.h
@@ -1,17 +1,17 @@
/*
File: CarbonEventsCore.h
-
+
Contains: Carbon Event Manager
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CARBONEVENTSCORE__
#define __CARBONEVENTSCORE__
@@ -43,160 +43,157 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*======================================================================================*/
- /* The core data structure of the Carbon Event system */
- /*======================================================================================*/
- typedef struct OpaqueEventRef* EventRef;
- /*======================================================================================*/
- /* EVENT COMMON */
- /*======================================================================================*/
-
-
- /*
- * Discussion:
- * The following are all errors which can be returned from the
- * routines contained in this file.
- */
- enum
- {
-
- /*
- * This is returned from PostEventToQueue if the event in question is
- * already in the queue you are posting it to (or any other queue).
- */
- eventAlreadyPostedErr = -9860,
-
- /*
- * You are attemtping to modify a target that is currently in use,
- * such as when dispatching.
- */
- eventTargetBusyErr = -9861,
-
- /*
- * This is obsolete and will be removed.
- */
- eventClassInvalidErr = -9862,
-
- /*
- * This is obsolete and will be removed.
- */
- eventClassIncorrectErr = -9864,
-
- /*
- * Returned from InstallEventHandler if the handler proc you pass is
- * already installed for a given event type you are trying to
- * register.
- */
- eventHandlerAlreadyInstalledErr = -9866,
-
- /*
- * A generic error.
- */
- eventInternalErr = -9868,
-
- /*
- * This is obsolete and will be removed.
- */
- eventKindIncorrectErr = -9869,
-
- /*
- * The piece of data you are requesting from an event is not present.
- */
- eventParameterNotFoundErr = -9870,
-
- /*
- * This is what you should return from an event handler when your
- * handler has received an event it doesn't currently want to (or
- * isn't able to) handle. If you handle an event, you should return
- * noErr from your event handler. Any return value other than
- * eventNotHandledErr will cause event handling to stop; the event
- * will not be sent to any other event handler, and the return value
- * will be provided to the original caller of SendEventToTarget.
- */
- eventNotHandledErr = -9874,
-
- /*
- * The event loop has timed out. This can be returned from calls to
- * ReceiveNextEvent or RunCurrentEventLoop.
- */
- eventLoopTimedOutErr = -9875,
-
- /*
- * The event loop was quit, probably by a call to QuitEventLoop. This
- * can be returned from ReceiveNextEvent or RunCurrentEventLoop.
- */
- eventLoopQuitErr = -9876,
-
- /*
- * Returned from RemoveEventFromQueue when trying to remove an event
- * that's not in any queue.
- */
- eventNotInQueueErr = -9877,
- eventHotKeyExistsErr = -9878,
- eventHotKeyInvalidErr = -9879
- };
-
- /*======================================================================================*/
- /* EVENT CORE */
- /*======================================================================================*/
- /*--------------------------------------------------------------------------------------*/
- /* o Event Flags, options */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * EventPriority
- *
- * Discussion:
- * These values define the relative priority of an event, and are
- * used when posting events with PostEventToQueue. In general events
- * are pulled from the queue in order of first posted to last
- * posted. These priorities are a way to alter that when posting
- * events. You can post a standard priority event and then a high
- * priority event and the high priority event will be pulled from
- * the queue first.
- */
- typedef SInt16 EventPriority;
- enum
- {
-
- /*
- * Lowest priority. Currently only window update events are posted at
- * this priority.
- */
- kEventPriorityLow = 0,
-
- /*
- * Normal priority of events. Most events are standard priority.
- */
- kEventPriorityStandard = 1,
-
- /*
- * Highest priority.
- */
- kEventPriorityHigh = 2
- };
-
- enum
- {
- kEventLeaveInQueue = false,
- kEventRemoveFromQueue = true
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Event Times */
- /* */
- /* EventTime is in seconds since boot. Use the constants to make life easy. */
- /*--------------------------------------------------------------------------------------*/
- typedef double EventTime;
- typedef EventTime EventTimeout;
- typedef EventTime EventTimerInterval;
+/*======================================================================================*/
+/* The core data structure of the Carbon Event system */
+/*======================================================================================*/
+typedef struct OpaqueEventRef* EventRef;
+/*======================================================================================*/
+/* EVENT COMMON */
+/*======================================================================================*/
+
+
+/*
+ * Discussion:
+ * The following are all errors which can be returned from the
+ * routines contained in this file.
+ */
+enum {
+
+ /*
+ * This is returned from PostEventToQueue if the event in question is
+ * already in the queue you are posting it to (or any other queue).
+ */
+ eventAlreadyPostedErr = -9860,
+
+ /*
+ * You are attemtping to modify a target that is currently in use,
+ * such as when dispatching.
+ */
+ eventTargetBusyErr = -9861,
+
+ /*
+ * This is obsolete and will be removed.
+ */
+ eventClassInvalidErr = -9862,
+
+ /*
+ * This is obsolete and will be removed.
+ */
+ eventClassIncorrectErr = -9864,
+
+ /*
+ * Returned from InstallEventHandler if the handler proc you pass is
+ * already installed for a given event type you are trying to
+ * register.
+ */
+ eventHandlerAlreadyInstalledErr = -9866,
+
+ /*
+ * A generic error.
+ */
+ eventInternalErr = -9868,
+
+ /*
+ * This is obsolete and will be removed.
+ */
+ eventKindIncorrectErr = -9869,
+
+ /*
+ * The piece of data you are requesting from an event is not present.
+ */
+ eventParameterNotFoundErr = -9870,
+
+ /*
+ * This is what you should return from an event handler when your
+ * handler has received an event it doesn't currently want to (or
+ * isn't able to) handle. If you handle an event, you should return
+ * noErr from your event handler. Any return value other than
+ * eventNotHandledErr will cause event handling to stop; the event
+ * will not be sent to any other event handler, and the return value
+ * will be provided to the original caller of SendEventToTarget.
+ */
+ eventNotHandledErr = -9874,
+
+ /*
+ * The event loop has timed out. This can be returned from calls to
+ * ReceiveNextEvent or RunCurrentEventLoop.
+ */
+ eventLoopTimedOutErr = -9875,
+
+ /*
+ * The event loop was quit, probably by a call to QuitEventLoop. This
+ * can be returned from ReceiveNextEvent or RunCurrentEventLoop.
+ */
+ eventLoopQuitErr = -9876,
+
+ /*
+ * Returned from RemoveEventFromQueue when trying to remove an event
+ * that's not in any queue.
+ */
+ eventNotInQueueErr = -9877,
+ eventHotKeyExistsErr = -9878,
+ eventHotKeyInvalidErr = -9879
+};
+
+/*======================================================================================*/
+/* EVENT CORE */
+/*======================================================================================*/
+/*--------------------------------------------------------------------------------------*/
+/* o Event Flags, options */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * EventPriority
+ *
+ * Discussion:
+ * These values define the relative priority of an event, and are
+ * used when posting events with PostEventToQueue. In general events
+ * are pulled from the queue in order of first posted to last
+ * posted. These priorities are a way to alter that when posting
+ * events. You can post a standard priority event and then a high
+ * priority event and the high priority event will be pulled from
+ * the queue first.
+ */
+typedef SInt16 EventPriority;
+enum {
+
+ /*
+ * Lowest priority. Currently only window update events are posted at
+ * this priority.
+ */
+ kEventPriorityLow = 0,
+
+ /*
+ * Normal priority of events. Most events are standard priority.
+ */
+ kEventPriorityStandard = 1,
+
+ /*
+ * Highest priority.
+ */
+ kEventPriorityHigh = 2
+};
+
+enum {
+ kEventLeaveInQueue = false,
+ kEventRemoveFromQueue = true
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Event Times */
+/* */
+/* EventTime is in seconds since boot. Use the constants to make life easy. */
+/*--------------------------------------------------------------------------------------*/
+typedef double EventTime;
+typedef EventTime EventTimeout;
+typedef EventTime EventTimerInterval;
#define kEventDurationSecond ((EventTime)1.0)
#define kEventDurationMillisecond ((EventTime)(kEventDurationSecond/1000))
#define kEventDurationMicrosecond ((EventTime)(kEventDurationSecond/1000000))
@@ -207,2006 +204,1960 @@ extern "C" {
#define kEventDurationNoWait ((EventTime)0.0)
#define kEventDurationForever ((EventTime)(-1.0))
- /* Helpful doodads to convert to and from ticks and event times*/
+/* Helpful doodads to convert to and from ticks and event times*/
#ifdef __cplusplus
- inline EventTime TicksToEventTime(UInt32 t)
- {
- return ((t) / 60.0);
- }
- inline UInt32 EventTimeToTicks(EventTime t)
- {
- return (UInt32)(((t) * 60) + 0.5);
- }
+ inline EventTime TicksToEventTime( UInt32 t ) { return ( (t) / 60.0 ); }
+ inline UInt32 EventTimeToTicks( EventTime t ) { return (UInt32)( ((t) * 60) + 0.5 ); }
#else
-#define TicksToEventTime( t ) ((EventTime)( (t) / 60.0 ))
-#define EventTimeToTicks( t ) ((UInt32)( ((t) * 60) + 0.5 ))
+ #define TicksToEventTime( t ) ((EventTime)( (t) / 60.0 ))
+ #define EventTimeToTicks( t ) ((UInt32)( ((t) * 60) + 0.5 ))
#endif /* defined(__cplusplus) */
- /*--------------------------------------------------------------------------------------*/
- /* EventTypeSpec structure */
- /* */
- /* This structure is used in many routines to pass a list of event types to a function. */
- /* You typically would declare a const array of these types to pass in. */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * EventTypeSpec
- *
- * Discussion:
- * This structure is used to specify an event. Typically, a static
- * array of EventTypeSpecs are passed into functions such as
- * InstallEventHandler, as well as routines such as
- * FlushEventsMatchingListFromQueue.
- */
- struct EventTypeSpec
- {
- UInt32 eventClass;
- UInt32 eventKind;
- };
- typedef struct EventTypeSpec EventTypeSpec;
- /*A helpful macro for dealing with EventTypeSpecs */
+/*--------------------------------------------------------------------------------------*/
+/* EventTypeSpec structure */
+/* */
+/* This structure is used in many routines to pass a list of event types to a function. */
+/* You typically would declare a const array of these types to pass in. */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * EventTypeSpec
+ *
+ * Discussion:
+ * This structure is used to specify an event. Typically, a static
+ * array of EventTypeSpecs are passed into functions such as
+ * InstallEventHandler, as well as routines such as
+ * FlushEventsMatchingListFromQueue.
+ */
+struct EventTypeSpec {
+ UInt32 eventClass;
+ UInt32 eventKind;
+};
+typedef struct EventTypeSpec EventTypeSpec;
+/*A helpful macro for dealing with EventTypeSpecs */
#define GetEventTypeCount( t ) (sizeof( (t) ) / sizeof( EventTypeSpec ))
- typedef OSType EventParamName;
- typedef OSType EventParamType;
- /*--------------------------------------------------------------------------------------*/
- /* o EventLoop */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * EventLoopRef
- *
- * Discussion:
- * An EventLoopRef represents an 'event loop', which is the
- * conceptual entity that you 'run' to fetch events from hardware
- * and other sources and also fires timers that might be installed
- * with InstallEventLoopTimer. The term 'run' is a bit of a
- * misnomer, as the event loop's goal is to stay as blocked as
- * possible to minimize CPU usage for the current application. The
- * event loop is run implicitly thru APIs like ReceiveNextEvent,
- * RunApplicationEventLoop, or even WaitNextEvent. It can also be
- * run explicitly thru a call to RunCurrentEventLoop. Each
- * preemptive thread can have an event loop. Cooperative threads
- * share the main thread's event loop.
- */
- typedef struct OpaqueEventLoopRef* EventLoopRef;
- /*
- * GetCurrentEventLoop()
- *
- * Discussion:
- * Returns the current event loop for the current thread. If the
- * current thread is a cooperative thread, the main event loop is
- * returned.
- *
- * Result:
- * An event loop reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventLoopRef)
- GetCurrentEventLoop(void);
-
-
- /*
- * GetMainEventLoop()
- *
- * Discussion:
- * Returns the event loop object for the main application thread.
- *
- * Result:
- * An event loop reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventLoopRef)
- GetMainEventLoop(void);
-
-
-
- /*
- * RunCurrentEventLoop()
- *
- * Discussion:
- * This routine 'runs' the event loop, returning only if aborted or
- * the timeout specified is reached. The event loop is mostly
- * blocked while in this function, occasionally waking up to fire
- * timers or pick up events. The typical use of this function is to
- * cause the current thread to wait for some operation to complete,
- * most likely on another thread of execution.
- *
- * Parameters:
- *
- * inTimeout:
- * The time to wait until returning (can be kEventDurationForever).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RunCurrentEventLoop(EventTimeout inTimeout);
-
-
- /*
- * QuitEventLoop()
- *
- * Discussion:
- * Causes a specific event loop to terminate. Usage of this is
- * similar to WakeUpProcess, in that it causes the eventloop
- * specified to return immediately (as opposed to timing out).
- * Typically this call is used in conjunction with
- * RunCurrentEventLoop.
- *
- * Parameters:
- *
- * inEventLoop:
- * The event loop to terminate.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- QuitEventLoop(EventLoopRef inEventLoop);
-
-
- /*
- * GetCFRunLoopFromEventLoop()
- *
- * Discussion:
- * Returns the corresponding CFRunLoopRef for the given EventLoop.
- * This is not necessarily a one-to-one mapping, hence the need for
- * this function. In Carbon, all cooperative threads use the same
- * run loop under the covers, so using CFRunLoopGetCurrent might
- * yield the wrong result. In general, you would only need to use
- * this function if you wished to add your own sources to the run
- * loop. If you don't know what I'm talking about, then you probably
- * don't need to use this.
- *
- * Parameters:
- *
- * inEventLoop:
- * The event loop to get the CFRunLoop for.
- *
- * Result:
- * The CFRunLoopRef for inEventLoop.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CFTypeRef)
- GetCFRunLoopFromEventLoop(EventLoopRef inEventLoop);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Low-level event fetching */
- /*--------------------------------------------------------------------------------------*/
- /*
- * ReceiveNextEvent()
- *
- * Discussion:
- * This routine tries to fetch the next event of a specified type.
- * If no events in the event queue match, this routine will run the
- * current event loop until an event that matches arrives, or the
- * timeout expires. Except for timers firing, your application is
- * blocked waiting for events to arrive when inside this function.
- *
- * Parameters:
- *
- * inNumTypes:
- * The number of event types we are waiting for (0 if any event
- * should cause this routine to return).
- *
- * inList:
- * The list of event types we are waiting for (pass NULL if any
- * event should cause this routine to return).
- *
- * inTimeout:
- * The time to wait (passing kEventDurationForever is preferred).
- *
- * inPullEvent:
- * Pass true for this parameter to actually remove the next
- * matching event from the queue.
- *
- * outEvent:
- * The next event that matches the list passed in. If inPullEvent
- * is true, the event is owned by you, and you will need to
- * release it when done.
- *
- * Result:
- * A result indicating whether an event was received, the timeout
- * expired, or the current event loop was quit.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ReceiveNextEvent(
- UInt32 inNumTypes,
- const EventTypeSpec * inList,
- EventTimeout inTimeout,
- Boolean inPullEvent,
- EventRef * outEvent);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Core event lifetime APIs */
- /*--------------------------------------------------------------------------------------*/
- typedef UInt32 EventAttributes;
- enum
- {
- kEventAttributeNone = 0,
- kEventAttributeUserEvent = (1 << 0)
- };
-
- /*
- * [Mac]CreateEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
+typedef OSType EventParamName;
+typedef OSType EventParamType;
+/*--------------------------------------------------------------------------------------*/
+/* o EventLoop */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * EventLoopRef
+ *
+ * Discussion:
+ * An EventLoopRef represents an 'event loop', which is the
+ * conceptual entity that you 'run' to fetch events from hardware
+ * and other sources and also fires timers that might be installed
+ * with InstallEventLoopTimer. The term 'run' is a bit of a
+ * misnomer, as the event loop's goal is to stay as blocked as
+ * possible to minimize CPU usage for the current application. The
+ * event loop is run implicitly thru APIs like ReceiveNextEvent,
+ * RunApplicationEventLoop, or even WaitNextEvent. It can also be
+ * run explicitly thru a call to RunCurrentEventLoop. Each
+ * preemptive thread can have an event loop. Cooperative threads
+ * share the main thread's event loop.
+ */
+typedef struct OpaqueEventLoopRef* EventLoopRef;
+/*
+ * GetCurrentEventLoop()
+ *
+ * Discussion:
+ * Returns the current event loop for the current thread. If the
+ * current thread is a cooperative thread, the main event loop is
+ * returned.
+ *
+ * Result:
+ * An event loop reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventLoopRef )
+GetCurrentEventLoop(void);
+
+
+/*
+ * GetMainEventLoop()
+ *
+ * Discussion:
+ * Returns the event loop object for the main application thread.
+ *
+ * Result:
+ * An event loop reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventLoopRef )
+GetMainEventLoop(void);
+
+
+
+/*
+ * RunCurrentEventLoop()
+ *
+ * Discussion:
+ * This routine 'runs' the event loop, returning only if aborted or
+ * the timeout specified is reached. The event loop is mostly
+ * blocked while in this function, occasionally waking up to fire
+ * timers or pick up events. The typical use of this function is to
+ * cause the current thread to wait for some operation to complete,
+ * most likely on another thread of execution.
+ *
+ * Parameters:
+ *
+ * inTimeout:
+ * The time to wait until returning (can be kEventDurationForever).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RunCurrentEventLoop(EventTimeout inTimeout);
+
+
+/*
+ * QuitEventLoop()
+ *
+ * Discussion:
+ * Causes a specific event loop to terminate. Usage of this is
+ * similar to WakeUpProcess, in that it causes the eventloop
+ * specified to return immediately (as opposed to timing out).
+ * Typically this call is used in conjunction with
+ * RunCurrentEventLoop.
+ *
+ * Parameters:
+ *
+ * inEventLoop:
+ * The event loop to terminate.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+QuitEventLoop(EventLoopRef inEventLoop);
+
+
+/*
+ * GetCFRunLoopFromEventLoop()
+ *
+ * Discussion:
+ * Returns the corresponding CFRunLoopRef for the given EventLoop.
+ * This is not necessarily a one-to-one mapping, hence the need for
+ * this function. In Carbon, all cooperative threads use the same
+ * run loop under the covers, so using CFRunLoopGetCurrent might
+ * yield the wrong result. In general, you would only need to use
+ * this function if you wished to add your own sources to the run
+ * loop. If you don't know what I'm talking about, then you probably
+ * don't need to use this.
+ *
+ * Parameters:
+ *
+ * inEventLoop:
+ * The event loop to get the CFRunLoop for.
+ *
+ * Result:
+ * The CFRunLoopRef for inEventLoop.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CFTypeRef )
+GetCFRunLoopFromEventLoop(EventLoopRef inEventLoop);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Low-level event fetching */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * ReceiveNextEvent()
+ *
+ * Discussion:
+ * This routine tries to fetch the next event of a specified type.
+ * If no events in the event queue match, this routine will run the
+ * current event loop until an event that matches arrives, or the
+ * timeout expires. Except for timers firing, your application is
+ * blocked waiting for events to arrive when inside this function.
+ *
+ * Parameters:
+ *
+ * inNumTypes:
+ * The number of event types we are waiting for (0 if any event
+ * should cause this routine to return).
+ *
+ * inList:
+ * The list of event types we are waiting for (pass NULL if any
+ * event should cause this routine to return).
+ *
+ * inTimeout:
+ * The time to wait (passing kEventDurationForever is preferred).
+ *
+ * inPullEvent:
+ * Pass true for this parameter to actually remove the next
+ * matching event from the queue.
+ *
+ * outEvent:
+ * The next event that matches the list passed in. If inPullEvent
+ * is true, the event is owned by you, and you will need to
+ * release it when done.
+ *
+ * Result:
+ * A result indicating whether an event was received, the timeout
+ * expired, or the current event loop was quit.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ReceiveNextEvent(
+ UInt32 inNumTypes,
+ const EventTypeSpec * inList,
+ EventTimeout inTimeout,
+ Boolean inPullEvent,
+ EventRef * outEvent);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Core event lifetime APIs */
+/*--------------------------------------------------------------------------------------*/
+typedef UInt32 EventAttributes;
+enum {
+ kEventAttributeNone = 0,
+ kEventAttributeUserEvent = (1 << 0)
+};
+
+/*
+ * [Mac]CreateEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacCreateEvent CreateEvent
+ #define MacCreateEvent CreateEvent
#endif
- EXTERN_API(OSStatus)
- MacCreateEvent(
- CFAllocatorRef inAllocator, /* can be NULL */
- UInt32 inClassID,
- UInt32 kind,
- EventTime when,
- EventAttributes flags,
- EventRef * outEvent);
-
-
- /*
- * CopyEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventRef)
- CopyEvent(EventRef inOther);
-
-
- /*
- * RetainEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventRef)
- RetainEvent(EventRef inEvent);
-
-
- /*
- * GetEventRetainCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- GetEventRetainCount(EventRef inEvent);
-
-
- /*
- * ReleaseEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ReleaseEvent(EventRef inEvent);
-
-
- /*
- * SetEventParameter()
- *
- * Discussion:
- * Sets a piece of data for the given event.
- *
- * Parameters:
- *
- * inEvent:
- * The event to set the data for.
- *
- * inName:
- * The symbolic name of the parameter.
- *
- * inType:
- * The symbolic type of the parameter.
- *
- * inSize:
- * The size of the parameter data.
- *
- * inDataPtr:
- * The pointer to the parameter data.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetEventParameter(
- EventRef inEvent,
- EventParamName inName,
- EventParamType inType,
- UInt32 inSize,
- const void * inDataPtr);
-
-
-
- /*
- * GetEventParameter()
- *
- * Discussion:
- * Gets a piece of data from the given event, if it exists.
- *
- * Parameters:
- *
- * inEvent:
- * The event to get the parameter from.
- *
- * inName:
- * The symbolic name of the parameter.
- *
- * inDesiredType:
- * The desired type of the parameter. At present we do not support
- * coercion, so this parameter must be the actual type of data
- * stored in the event, or an error will be returned.
- *
- * outActualType:
- * The actual type of the parameter, can be NULL if you are not
- * interested in receiving this information.
- *
- * inBufferSize:
- * The size of the output buffer specified by ioBuffer.
- *
- * outActualSize:
- * The actual size of the data, or NULL if you don't want this
- * information.
- *
- * outData:
- * The pointer to the buffer which will receive the parameter data.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetEventParameter(
- EventRef inEvent,
- EventParamName inName,
- EventParamType inDesiredType,
- EventParamType * outActualType, /* can be NULL */
- UInt32 inBufferSize,
- UInt32 * outActualSize, /* can be NULL */
- void * outData);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Getters for 'base-class' event info */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetEventClass()
- *
- * Discussion:
- * Returns the class of the given event, such as mouse, keyboard,
- * etc.
- *
- * Parameters:
- *
- * inEvent:
- * The event in question.
- *
- * Result:
- * The class ID of the event.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- GetEventClass(EventRef inEvent);
-
-
- /*
- * GetEventKind()
- *
- * Discussion:
- * Returns the kind of the given event (mousedown, etc.). Event
- * kinds overlap between event classes, e.g. kEventMouseDown and
- * kEventAppActivated have the same value (1). The combination of
- * class and kind is what determines an event signature.
- *
- * Parameters:
- *
- * inEvent:
- * The event in question.
- *
- * Result:
- * The kind of the event.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- GetEventKind(EventRef inEvent);
-
-
- /*
- * GetEventTime()
- *
- * Discussion:
- * Returns the time the event specified occurred, specified in
- * EventTime, which is a floating point number representing seconds
- * since the last system startup.
- *
- * Parameters:
- *
- * inEvent:
- * The event in question.
- *
- * Result:
- * The time the event occurred.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventTime)
- GetEventTime(EventRef inEvent);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Setters for 'base-class' event info */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * SetEventTime()
- *
- * Discussion:
- * This routine allows you to set the time of a given event, if you
- * so desire. In general, you would never use this routine, except
- * for those special cases where you reuse an event from time to
- * time instead of creating a new event each time.
- *
- * Parameters:
- *
- * inEvent:
- * The event in question.
- *
- * inTime:
- * The new time.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetEventTime(
- EventRef inEvent,
- EventTime inTime);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Event Queue routines (posting, finding, flushing) */
- /*--------------------------------------------------------------------------------------*/
-
- typedef struct OpaqueEventQueueRef* EventQueueRef;
- /*
- * GetCurrentEventQueue()
- *
- * Discussion:
- * Returns the current event queue for the current thread. If the
- * current thread is a cooperative thread, the main event queue is
- * returned.
- *
- * Result:
- * An event queue reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventQueueRef)
- GetCurrentEventQueue(void);
-
-
- /*
- * GetMainEventQueue()
- *
- * Discussion:
- * Returns the event queue object for the main application thread.
- *
- * Result:
- * An event queue reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventQueueRef)
- GetMainEventQueue(void);
-
-
-
- /*
- * EventComparatorProcPtr
- *
- * Discussion:
- * Type of a callback function used by queue searches.
- *
- * Parameters:
- *
- * inEvent:
- * The event to compare.
- *
- * inCompareData:
- * The data used to compare the event.
- *
- * Result:
- * A boolean value indicating whether the event matches (true) or
- * not (false).
- */
- typedef CALLBACK_API(Boolean , EventComparatorProcPtr)(EventRef inEvent, void *inCompareData);
- typedef STACK_UPP_TYPE(EventComparatorProcPtr) EventComparatorUPP;
- /*
- * NewEventComparatorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EventComparatorUPP)
- NewEventComparatorUPP(EventComparatorProcPtr userRoutine);
+EXTERN_API( OSStatus )
+MacCreateEvent(
+ CFAllocatorRef inAllocator, /* can be NULL */
+ UInt32 inClassID,
+ UInt32 kind,
+ EventTime when,
+ EventAttributes flags,
+ EventRef * outEvent);
+
+
+/*
+ * CopyEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventRef )
+CopyEvent(EventRef inOther);
+
+
+/*
+ * RetainEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventRef )
+RetainEvent(EventRef inEvent);
+
+
+/*
+ * GetEventRetainCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+GetEventRetainCount(EventRef inEvent);
+
+
+/*
+ * ReleaseEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ReleaseEvent(EventRef inEvent);
+
+
+/*
+ * SetEventParameter()
+ *
+ * Discussion:
+ * Sets a piece of data for the given event.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event to set the data for.
+ *
+ * inName:
+ * The symbolic name of the parameter.
+ *
+ * inType:
+ * The symbolic type of the parameter.
+ *
+ * inSize:
+ * The size of the parameter data.
+ *
+ * inDataPtr:
+ * The pointer to the parameter data.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetEventParameter(
+ EventRef inEvent,
+ EventParamName inName,
+ EventParamType inType,
+ UInt32 inSize,
+ const void * inDataPtr);
+
+
+
+/*
+ * GetEventParameter()
+ *
+ * Discussion:
+ * Gets a piece of data from the given event, if it exists.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event to get the parameter from.
+ *
+ * inName:
+ * The symbolic name of the parameter.
+ *
+ * inDesiredType:
+ * The desired type of the parameter. At present we do not support
+ * coercion, so this parameter must be the actual type of data
+ * stored in the event, or an error will be returned.
+ *
+ * outActualType:
+ * The actual type of the parameter, can be NULL if you are not
+ * interested in receiving this information.
+ *
+ * inBufferSize:
+ * The size of the output buffer specified by ioBuffer.
+ *
+ * outActualSize:
+ * The actual size of the data, or NULL if you don't want this
+ * information.
+ *
+ * outData:
+ * The pointer to the buffer which will receive the parameter data.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetEventParameter(
+ EventRef inEvent,
+ EventParamName inName,
+ EventParamType inDesiredType,
+ EventParamType * outActualType, /* can be NULL */
+ UInt32 inBufferSize,
+ UInt32 * outActualSize, /* can be NULL */
+ void * outData);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Getters for 'base-class' event info */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetEventClass()
+ *
+ * Discussion:
+ * Returns the class of the given event, such as mouse, keyboard,
+ * etc.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event in question.
+ *
+ * Result:
+ * The class ID of the event.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+GetEventClass(EventRef inEvent);
+
+
+/*
+ * GetEventKind()
+ *
+ * Discussion:
+ * Returns the kind of the given event (mousedown, etc.). Event
+ * kinds overlap between event classes, e.g. kEventMouseDown and
+ * kEventAppActivated have the same value (1). The combination of
+ * class and kind is what determines an event signature.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event in question.
+ *
+ * Result:
+ * The kind of the event.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+GetEventKind(EventRef inEvent);
+
+
+/*
+ * GetEventTime()
+ *
+ * Discussion:
+ * Returns the time the event specified occurred, specified in
+ * EventTime, which is a floating point number representing seconds
+ * since the last system startup.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event in question.
+ *
+ * Result:
+ * The time the event occurred.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventTime )
+GetEventTime(EventRef inEvent);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Setters for 'base-class' event info */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * SetEventTime()
+ *
+ * Discussion:
+ * This routine allows you to set the time of a given event, if you
+ * so desire. In general, you would never use this routine, except
+ * for those special cases where you reuse an event from time to
+ * time instead of creating a new event each time.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event in question.
+ *
+ * inTime:
+ * The new time.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetEventTime(
+ EventRef inEvent,
+ EventTime inTime);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Event Queue routines (posting, finding, flushing) */
+/*--------------------------------------------------------------------------------------*/
+
+typedef struct OpaqueEventQueueRef* EventQueueRef;
+/*
+ * GetCurrentEventQueue()
+ *
+ * Discussion:
+ * Returns the current event queue for the current thread. If the
+ * current thread is a cooperative thread, the main event queue is
+ * returned.
+ *
+ * Result:
+ * An event queue reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventQueueRef )
+GetCurrentEventQueue(void);
+
+
+/*
+ * GetMainEventQueue()
+ *
+ * Discussion:
+ * Returns the event queue object for the main application thread.
+ *
+ * Result:
+ * An event queue reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventQueueRef )
+GetMainEventQueue(void);
+
+
+
+/*
+ * EventComparatorProcPtr
+ *
+ * Discussion:
+ * Type of a callback function used by queue searches.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event to compare.
+ *
+ * inCompareData:
+ * The data used to compare the event.
+ *
+ * Result:
+ * A boolean value indicating whether the event matches (true) or
+ * not (false).
+ */
+typedef CALLBACK_API( Boolean , EventComparatorProcPtr )(EventRef inEvent, void *inCompareData);
+typedef STACK_UPP_TYPE(EventComparatorProcPtr) EventComparatorUPP;
+/*
+ * NewEventComparatorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EventComparatorUPP )
+NewEventComparatorUPP(EventComparatorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppEventComparatorProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(EventComparatorUPP) NewEventComparatorUPP(EventComparatorProcPtr userRoutine)
- {
- return (EventComparatorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventComparatorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewEventComparatorUPP(userRoutine) (EventComparatorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventComparatorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppEventComparatorProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EventComparatorUPP) NewEventComparatorUPP(EventComparatorProcPtr userRoutine) { return (EventComparatorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventComparatorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEventComparatorUPP(userRoutine) (EventComparatorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventComparatorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeEventComparatorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeEventComparatorUPP(EventComparatorUPP userUPP);
+/*
+ * DisposeEventComparatorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEventComparatorUPP(EventComparatorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeEventComparatorUPP(EventComparatorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeEventComparatorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeEventComparatorUPP(EventComparatorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeEventComparatorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeEventComparatorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeEventComparatorUPP(
- EventRef inEvent,
- void * inCompareData,
- EventComparatorUPP userUPP);
+/*
+ * InvokeEventComparatorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeEventComparatorUPP(
+ EventRef inEvent,
+ void * inCompareData,
+ EventComparatorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeEventComparatorUPP(EventRef inEvent, void * inCompareData, EventComparatorUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppEventComparatorProcInfo, inEvent, inCompareData);
- }
-#else
-#define InvokeEventComparatorUPP(inEvent, inCompareData, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppEventComparatorProcInfo, (inEvent), (inCompareData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeEventComparatorUPP(EventRef inEvent, void * inCompareData, EventComparatorUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppEventComparatorProcInfo, inEvent, inCompareData); }
+ #else
+ #define InvokeEventComparatorUPP(inEvent, inCompareData, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppEventComparatorProcInfo, (inEvent), (inCompareData))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewEventComparatorProc(userRoutine) NewEventComparatorUPP(userRoutine)
-#define CallEventComparatorProc(userRoutine, inEvent, inCompareData) InvokeEventComparatorUPP(inEvent, inCompareData, userRoutine)
+ #define NewEventComparatorProc(userRoutine) NewEventComparatorUPP(userRoutine)
+ #define CallEventComparatorProc(userRoutine, inEvent, inCompareData) InvokeEventComparatorUPP(inEvent, inCompareData, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PostEventToQueue()
- *
- * Discussion:
- * Posts an event to the queue specified. This automatically wakes
- * up the event loop of the thread the queue belongs to. After
- * posting the event, you should release the event. The event queue
- * retains it.
- *
- * Parameters:
- *
- * inQueue:
- * The event queue to post the event onto.
- *
- * inEvent:
- * The event to post.
- *
- * inPriority:
- * The priority of the event.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PostEventToQueue(
- EventQueueRef inQueue,
- EventRef inEvent,
- EventPriority inPriority);
-
-
- /*
- * FlushEventsMatchingListFromQueue()
- *
- * Discussion:
- * Flushes events matching a specified list of classes and kinds
- * from an event queue.
- *
- * Parameters:
- *
- * inQueue:
- * The event queue to flush events from.
- *
- * inNumTypes:
- * The number of event kinds to flush.
- *
- * inList:
- * The list of event classes and kinds to flush from the queue.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- FlushEventsMatchingListFromQueue(
- EventQueueRef inQueue,
- UInt32 inNumTypes,
- const EventTypeSpec * inList);
-
-
- /*
- * FlushSpecificEventsFromQueue()
- *
- * Discussion:
- * Flushes events that match a comparator function.
- *
- * Parameters:
- *
- * inQueue:
- * The event queue to flush events from.
- *
- * inComparator:
- * The comparison function to invoke for each event in the queue.
- *
- * inCompareData:
- * The data you wish to pass to your comparison function.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- FlushSpecificEventsFromQueue(
- EventQueueRef inQueue,
- EventComparatorUPP inComparator,
- void * inCompareData);
-
-
- /*
- * FlushEventQueue()
- *
- * Discussion:
- * Flushes all events from an event queue.
- *
- * Parameters:
- *
- * inQueue:
- * The event queue to flush.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- FlushEventQueue(EventQueueRef inQueue);
-
-
- /*
- * FindSpecificEventInQueue()
- *
- * Discussion:
- * Returns the first event that matches a comparator function, or
- * NULL if no events match.
- *
- * Parameters:
- *
- * inQueue:
- * The event queue to search.
- *
- * inComparator:
- * The comparison function to invoke for each event in the queue.
- *
- * inCompareData:
- * The data you wish to pass to your comparison function.
- *
- * Result:
- * An event reference. The event is still in the queue when
- * FindSpecificEventInQueue returns; you can remove it from the
- * queue with RemoveEventFromQueue. The returned event does not need
- * to be released by the caller.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventRef)
- FindSpecificEventInQueue(
- EventQueueRef inQueue,
- EventComparatorUPP inComparator,
- void * inCompareData);
-
-
- /*
- * GetNumEventsInQueue()
- *
- * Discussion:
- * Returns the number of events in an event queue.
- *
- * Parameters:
- *
- * inQueue:
- * The event queue to query.
- *
- * Result:
- * The number of items in the queue.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- GetNumEventsInQueue(EventQueueRef inQueue);
-
-
- /*
- * RemoveEventFromQueue()
- *
- * Discussion:
- * Removes the given event from the queue which it was posted. When
- * you call this function, the event ownership is transferred to
- * you, the caller, at no charge. You must release the event when
- * you are through with it.
- *
- * Parameters:
- *
- * inQueue:
- * The queue to remove the event from.
- *
- * inEvent:
- * The event to remove.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveEventFromQueue(
- EventQueueRef inQueue,
- EventRef inEvent);
-
-
- /*
- * IsEventInQueue()
- *
- * Discussion:
- * Returns true if the specified event is posted to a queue.
- *
- * Parameters:
- *
- * inQueue:
- * The queue to check.
- *
- * inEvent:
- * The event in question.
- *
- * Result:
- * A boolean value.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsEventInQueue(
- EventQueueRef inQueue,
- EventRef inEvent);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* Queue-synchronized event state */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetCurrentEvent()
- *
- * Summary:
- * Returns the user input event currently being handled.
- *
- * Discussion:
- * When an event with kEventAttributeUserEvent is dispatched by the
- * event dispatcher target, it is recorded internally by the Event
- * Manager. At any time during the handling of that event,
- * GetCurrentEvent may be used to retrieve the original EventRef.
- *
- * Result:
- * The user input (mouse or keyboard) event currently being handled.
- * May be NULL if no event is currently being handled, or if the
- * current event was not a user input event. The returned event is
- * not retained, and its lifetime should be considered to be no
- * longer than the current function; if you need to keep the event
- * alive past that time, you should retain it.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(EventRef)
- GetCurrentEvent(void);
-
-
- /*
- * GetCurrentEventButtonState()
- *
- * Summary:
- * Returns the current queue-synchronized mouse button state on the
- * primary input device.
- *
- * Discussion:
- * At any point in the handling of user input, there are two
- * different mouse button states: the queue-synchronized state and
- * the hardware state. The hardware state reflects the actual
- * current state of the mouse attached to the user's machine. The
- * queue-synchronized state reflects the state according to the
- * events that have been processed at that point by the application.
- * These two states may be different if there are unprocessed events
- * in the event queue, or if events are being artificially
- * introduced into the event queue from an outside source.
- * GetCurrentEventButtonState returns the queue-synchronized button
- * state. It is generally better to use this API than to use the
- * Button function or the GetCurrentButtonState function (which
- * return the hardware state). This gives a more consistent user
- * experience when the user input queue is being remoted controlled
- * or manipulated via non-hardware event sources such as speech or
- * AppleEvents; using GetCurrentEventButtonState is also much faster
- * than using Button or GetCurrentButtonState.
- *
- * Note that GetCurrentEventButtonState only returns a valid button
- * state if your application is the active application. If your
- * application is not active, then user input events are not flowing
- * through the event dispatcher and the queue-synchronized state is
- * not updated.
- *
- * Result:
- * The queue-synchronized state of the mouse buttons. Bit zero
- * indicates the state of the primary button, bit one the state of
- * the secondary button, and so on.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(UInt32)
- GetCurrentEventButtonState(void);
-
-
- /*
- * GetCurrentEventKeyModifiers()
- *
- * Summary:
- * Returns the current queue-synchronized keyboard modifier state.
- *
- * Discussion:
- * At any point in the handling of user input, there are two
- * different keyboard modifier states: the queue-synchronized state
- * and the hardware state. The hardware state reflects the actual
- * current state of the keyboard attached to the user's machine. The
- * queue-synchronized state reflects the state according to the
- * events that have been processed at that point by the application.
- * These two states may be different if there are unprocessed events
- * in the event queue, or if events are being artificially
- * introduced into the event queue from an outside source.
- * GetCurrentEventKeyModifiers returns the queue-synchronized
- * modifier state. It is generally better to use this API than to
- * use the GetCurrentKeyModifiers API (which returns the hardware
- * state). This gives a more consistent user experience when the
- * user input queue is being remoted controlled or manipulated via
- * non-hardware event sources such as speech or AppleEvents; using
- * GetCurrentEventKeyModifiers is also much faster than using
- * EventAvail(0, &eventRecord) or GetCurrentKeyModifiers.
- *
- * Note that GetCurrentEventKeyModifiers only returns a valid
- * modifier state if your application is the active application. If
- * your application is not active, then user input events are not
- * flowing through the event dispatcher and the queue-synchronized
- * state is not updated.
- *
- * Result:
- * The queue-synchronized state of the keyboard modifiers. The
- * format of the return value is the same as the modifiers field of
- * an EventRecord (but only includes keyboard modifiers and not the
- * other modifier flags included in an EventRecord).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(UInt32)
- GetCurrentEventKeyModifiers(void);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* Multiple-button support */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetCurrentButtonState()
- *
- * Summary:
- * Returns the current hardware mouse button state on the primary
- * input device.
- *
- * Discussion:
- * In most cases, you should not use GetCurrentButtonState, but
- * should use the GetCurrentEventButtonState function instead.
- * GetCurrentEventButtonState is much faster than
- * GetCurrentButtonState because it returns the locally cached
- * button state; GetCurrentButtonState must get the mouse button
- * state from the window server, which is slower. Using
- * GetCurrentButtonState also can prevent your application from
- * being operated by remote posting of events, since the hardware
- * input device is not actually changing state in that case. Most
- * commonly, you might need to use GetCurrentButtonState when your
- * application is not the active application (as determined by the
- * Process Manager function GetFrontProcess). In that case, the
- * cached button state returned by GetCurrentEventButtonState is not
- * valid because mouse button events are not flowing to your
- * application, and you must use GetCurrentButtonState to determine
- * the current hardware state.
- *
- * Result:
- * The state of the mouse buttons on the mouse hardware. Bit zero
- * indicates the state of the primary button, bit one the state of
- * the secondary button, and so on.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(UInt32)
- GetCurrentButtonState(void);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Helpful utilities */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * GetCurrentEventTime()
- *
- * Discussion:
- * Returns the current time since last system startup in seconds.
- *
- * Result:
- * EventTime.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EventTime)
- GetCurrentEventTime(void);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Timers */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * EventLoopTimerRef
- *
- * Discussion:
- * An EventLoopTimerRef represents what we term a 'timer'. A timer
- * is a function that is called either once or at regular intervals.
- * It executes at task level and should not be confused with Time
- * Manager Tasks or any other interrupt-level callback. This means
- * you can call Toolbox routines, allocate memory and draw. When a
- * timer 'fires', it calls a callback that you specify when the
- * timer is installed. Timers in general have two uses - as a
- * timeout mechanism and as a periodic task. An everyday example of
- * using a timer for a timeout might be a light that goes out if no
- * motion is detected in a room for 5 minutes. For this, you might
- * install a timer which will fire in 5 minutes. If motion is
- * detected, you would reset the timer fire time and let the clock
- * start over. If no motion is detected for the full 5 minutes, the
- * timer will fire and you could power off the light. A periodic
- * timer is one that fires at regular intervals (say every second or
- * so). You might use such a timer to blink the insertion point in
- * your editor, etc. One advantage of timers is that you can install
- * the timer right from the code that wants the time. For example,
- * the standard Toolbox Edit Text control can install a timer to
- * blink the cursor when it's active, meaning that IdleControls is a
- * no-op for that control and doesn't need to be called. When the
- * control is inactive, it removes its timer and doesn't waste CPU
- * time in that state. NOTE: Currently, if you do decide to draw
- * when your timer is called, be sure to save and restore the
- * current port so that calling your timer doesn't inadvertently
- * change the port out from under someone.
- */
- typedef struct __EventLoopTimer* EventLoopTimerRef;
-
- /*
- * EventLoopTimerProcPtr
- *
- * Discussion:
- * Called when a timer fires.
- *
- * Parameters:
- *
- * inTimer:
- * The timer that fired.
- *
- * inUserData:
- * The data passed into InstallEventLoopTimer.
- */
- typedef CALLBACK_API(void , EventLoopTimerProcPtr)(EventLoopTimerRef inTimer, void *inUserData);
-
- /*
- * Discussion:
- * Event Loop Idle Timer Messages
- */
- enum
- {
-
- /*
- * The user has gone idle (not touched an input device) for the
- * duration specified in your idle timer. This is the first message
- * you will receive. Start your engines!
- */
- kEventLoopIdleTimerStarted = 1,
-
- /*
- * If you specified an interval on your idle timer, your idle timer
- * proc will be called with this message, letting you know it is
- * merely firing at the interval specified. If you did not specify an
- * interval, this message is not sent.
- */
- kEventLoopIdleTimerIdling = 2,
-
- /*
- * The user is back! Stop everything! This is your cue to stop any
- * processing if you need to.
- */
- kEventLoopIdleTimerStopped = 3
- };
-
- typedef UInt16 EventLoopIdleTimerMessage;
-
- /*
- * EventLoopIdleTimerProcPtr
- *
- * Discussion:
- * Called when an idle timer fires.
- *
- * Parameters:
- *
- * inTimer:
- * The timer that fired.
- *
- * inState:
- * The current state of the timer.
- *
- * inUserData:
- * The data passed into InstallEventLoopTimer.
- */
- typedef CALLBACK_API(void , EventLoopIdleTimerProcPtr)(EventLoopTimerRef inTimer, EventLoopIdleTimerMessage inState, void *inUserData);
- typedef STACK_UPP_TYPE(EventLoopTimerProcPtr) EventLoopTimerUPP;
- typedef STACK_UPP_TYPE(EventLoopIdleTimerProcPtr) EventLoopIdleTimerUPP;
- /*
- * NewEventLoopTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EventLoopTimerUPP)
- NewEventLoopTimerUPP(EventLoopTimerProcPtr userRoutine);
+/*
+ * PostEventToQueue()
+ *
+ * Discussion:
+ * Posts an event to the queue specified. This automatically wakes
+ * up the event loop of the thread the queue belongs to. After
+ * posting the event, you should release the event. The event queue
+ * retains it.
+ *
+ * Parameters:
+ *
+ * inQueue:
+ * The event queue to post the event onto.
+ *
+ * inEvent:
+ * The event to post.
+ *
+ * inPriority:
+ * The priority of the event.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PostEventToQueue(
+ EventQueueRef inQueue,
+ EventRef inEvent,
+ EventPriority inPriority);
+
+
+/*
+ * FlushEventsMatchingListFromQueue()
+ *
+ * Discussion:
+ * Flushes events matching a specified list of classes and kinds
+ * from an event queue.
+ *
+ * Parameters:
+ *
+ * inQueue:
+ * The event queue to flush events from.
+ *
+ * inNumTypes:
+ * The number of event kinds to flush.
+ *
+ * inList:
+ * The list of event classes and kinds to flush from the queue.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+FlushEventsMatchingListFromQueue(
+ EventQueueRef inQueue,
+ UInt32 inNumTypes,
+ const EventTypeSpec * inList);
+
+
+/*
+ * FlushSpecificEventsFromQueue()
+ *
+ * Discussion:
+ * Flushes events that match a comparator function.
+ *
+ * Parameters:
+ *
+ * inQueue:
+ * The event queue to flush events from.
+ *
+ * inComparator:
+ * The comparison function to invoke for each event in the queue.
+ *
+ * inCompareData:
+ * The data you wish to pass to your comparison function.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+FlushSpecificEventsFromQueue(
+ EventQueueRef inQueue,
+ EventComparatorUPP inComparator,
+ void * inCompareData);
+
+
+/*
+ * FlushEventQueue()
+ *
+ * Discussion:
+ * Flushes all events from an event queue.
+ *
+ * Parameters:
+ *
+ * inQueue:
+ * The event queue to flush.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+FlushEventQueue(EventQueueRef inQueue);
+
+
+/*
+ * FindSpecificEventInQueue()
+ *
+ * Discussion:
+ * Returns the first event that matches a comparator function, or
+ * NULL if no events match.
+ *
+ * Parameters:
+ *
+ * inQueue:
+ * The event queue to search.
+ *
+ * inComparator:
+ * The comparison function to invoke for each event in the queue.
+ *
+ * inCompareData:
+ * The data you wish to pass to your comparison function.
+ *
+ * Result:
+ * An event reference. The event is still in the queue when
+ * FindSpecificEventInQueue returns; you can remove it from the
+ * queue with RemoveEventFromQueue. The returned event does not need
+ * to be released by the caller.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventRef )
+FindSpecificEventInQueue(
+ EventQueueRef inQueue,
+ EventComparatorUPP inComparator,
+ void * inCompareData);
+
+
+/*
+ * GetNumEventsInQueue()
+ *
+ * Discussion:
+ * Returns the number of events in an event queue.
+ *
+ * Parameters:
+ *
+ * inQueue:
+ * The event queue to query.
+ *
+ * Result:
+ * The number of items in the queue.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+GetNumEventsInQueue(EventQueueRef inQueue);
+
+
+/*
+ * RemoveEventFromQueue()
+ *
+ * Discussion:
+ * Removes the given event from the queue which it was posted. When
+ * you call this function, the event ownership is transferred to
+ * you, the caller, at no charge. You must release the event when
+ * you are through with it.
+ *
+ * Parameters:
+ *
+ * inQueue:
+ * The queue to remove the event from.
+ *
+ * inEvent:
+ * The event to remove.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveEventFromQueue(
+ EventQueueRef inQueue,
+ EventRef inEvent);
+
+
+/*
+ * IsEventInQueue()
+ *
+ * Discussion:
+ * Returns true if the specified event is posted to a queue.
+ *
+ * Parameters:
+ *
+ * inQueue:
+ * The queue to check.
+ *
+ * inEvent:
+ * The event in question.
+ *
+ * Result:
+ * A boolean value.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsEventInQueue(
+ EventQueueRef inQueue,
+ EventRef inEvent);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Queue-synchronized event state */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetCurrentEvent()
+ *
+ * Summary:
+ * Returns the user input event currently being handled.
+ *
+ * Discussion:
+ * When an event with kEventAttributeUserEvent is dispatched by the
+ * event dispatcher target, it is recorded internally by the Event
+ * Manager. At any time during the handling of that event,
+ * GetCurrentEvent may be used to retrieve the original EventRef.
+ *
+ * Result:
+ * The user input (mouse or keyboard) event currently being handled.
+ * May be NULL if no event is currently being handled, or if the
+ * current event was not a user input event. The returned event is
+ * not retained, and its lifetime should be considered to be no
+ * longer than the current function; if you need to keep the event
+ * alive past that time, you should retain it.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( EventRef )
+GetCurrentEvent(void);
+
+
+/*
+ * GetCurrentEventButtonState()
+ *
+ * Summary:
+ * Returns the current queue-synchronized mouse button state on the
+ * primary input device.
+ *
+ * Discussion:
+ * At any point in the handling of user input, there are two
+ * different mouse button states: the queue-synchronized state and
+ * the hardware state. The hardware state reflects the actual
+ * current state of the mouse attached to the user's machine. The
+ * queue-synchronized state reflects the state according to the
+ * events that have been processed at that point by the application.
+ * These two states may be different if there are unprocessed events
+ * in the event queue, or if events are being artificially
+ * introduced into the event queue from an outside source.
+ * GetCurrentEventButtonState returns the queue-synchronized button
+ * state. It is generally better to use this API than to use the
+ * Button function or the GetCurrentButtonState function (which
+ * return the hardware state). This gives a more consistent user
+ * experience when the user input queue is being remoted controlled
+ * or manipulated via non-hardware event sources such as speech or
+ * AppleEvents; using GetCurrentEventButtonState is also much faster
+ * than using Button or GetCurrentButtonState.
+ *
+ * Note that GetCurrentEventButtonState only returns a valid button
+ * state if your application is the active application. If your
+ * application is not active, then user input events are not flowing
+ * through the event dispatcher and the queue-synchronized state is
+ * not updated.
+ *
+ * Result:
+ * The queue-synchronized state of the mouse buttons. Bit zero
+ * indicates the state of the primary button, bit one the state of
+ * the secondary button, and so on.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( UInt32 )
+GetCurrentEventButtonState(void);
+
+
+/*
+ * GetCurrentEventKeyModifiers()
+ *
+ * Summary:
+ * Returns the current queue-synchronized keyboard modifier state.
+ *
+ * Discussion:
+ * At any point in the handling of user input, there are two
+ * different keyboard modifier states: the queue-synchronized state
+ * and the hardware state. The hardware state reflects the actual
+ * current state of the keyboard attached to the user's machine. The
+ * queue-synchronized state reflects the state according to the
+ * events that have been processed at that point by the application.
+ * These two states may be different if there are unprocessed events
+ * in the event queue, or if events are being artificially
+ * introduced into the event queue from an outside source.
+ * GetCurrentEventKeyModifiers returns the queue-synchronized
+ * modifier state. It is generally better to use this API than to
+ * use the GetCurrentKeyModifiers API (which returns the hardware
+ * state). This gives a more consistent user experience when the
+ * user input queue is being remoted controlled or manipulated via
+ * non-hardware event sources such as speech or AppleEvents; using
+ * GetCurrentEventKeyModifiers is also much faster than using
+ * EventAvail(0, &eventRecord) or GetCurrentKeyModifiers.
+ *
+ * Note that GetCurrentEventKeyModifiers only returns a valid
+ * modifier state if your application is the active application. If
+ * your application is not active, then user input events are not
+ * flowing through the event dispatcher and the queue-synchronized
+ * state is not updated.
+ *
+ * Result:
+ * The queue-synchronized state of the keyboard modifiers. The
+ * format of the return value is the same as the modifiers field of
+ * an EventRecord (but only includes keyboard modifiers and not the
+ * other modifier flags included in an EventRecord).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( UInt32 )
+GetCurrentEventKeyModifiers(void);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Multiple-button support */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetCurrentButtonState()
+ *
+ * Summary:
+ * Returns the current hardware mouse button state on the primary
+ * input device.
+ *
+ * Discussion:
+ * In most cases, you should not use GetCurrentButtonState, but
+ * should use the GetCurrentEventButtonState function instead.
+ * GetCurrentEventButtonState is much faster than
+ * GetCurrentButtonState because it returns the locally cached
+ * button state; GetCurrentButtonState must get the mouse button
+ * state from the window server, which is slower. Using
+ * GetCurrentButtonState also can prevent your application from
+ * being operated by remote posting of events, since the hardware
+ * input device is not actually changing state in that case. Most
+ * commonly, you might need to use GetCurrentButtonState when your
+ * application is not the active application (as determined by the
+ * Process Manager function GetFrontProcess). In that case, the
+ * cached button state returned by GetCurrentEventButtonState is not
+ * valid because mouse button events are not flowing to your
+ * application, and you must use GetCurrentButtonState to determine
+ * the current hardware state.
+ *
+ * Result:
+ * The state of the mouse buttons on the mouse hardware. Bit zero
+ * indicates the state of the primary button, bit one the state of
+ * the secondary button, and so on.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( UInt32 )
+GetCurrentButtonState(void);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Helpful utilities */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * GetCurrentEventTime()
+ *
+ * Discussion:
+ * Returns the current time since last system startup in seconds.
+ *
+ * Result:
+ * EventTime.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EventTime )
+GetCurrentEventTime(void);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Timers */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * EventLoopTimerRef
+ *
+ * Discussion:
+ * An EventLoopTimerRef represents what we term a 'timer'. A timer
+ * is a function that is called either once or at regular intervals.
+ * It executes at task level and should not be confused with Time
+ * Manager Tasks or any other interrupt-level callback. This means
+ * you can call Toolbox routines, allocate memory and draw. When a
+ * timer 'fires', it calls a callback that you specify when the
+ * timer is installed. Timers in general have two uses - as a
+ * timeout mechanism and as a periodic task. An everyday example of
+ * using a timer for a timeout might be a light that goes out if no
+ * motion is detected in a room for 5 minutes. For this, you might
+ * install a timer which will fire in 5 minutes. If motion is
+ * detected, you would reset the timer fire time and let the clock
+ * start over. If no motion is detected for the full 5 minutes, the
+ * timer will fire and you could power off the light. A periodic
+ * timer is one that fires at regular intervals (say every second or
+ * so). You might use such a timer to blink the insertion point in
+ * your editor, etc. One advantage of timers is that you can install
+ * the timer right from the code that wants the time. For example,
+ * the standard Toolbox Edit Text control can install a timer to
+ * blink the cursor when it's active, meaning that IdleControls is a
+ * no-op for that control and doesn't need to be called. When the
+ * control is inactive, it removes its timer and doesn't waste CPU
+ * time in that state. NOTE: Currently, if you do decide to draw
+ * when your timer is called, be sure to save and restore the
+ * current port so that calling your timer doesn't inadvertently
+ * change the port out from under someone.
+ */
+typedef struct __EventLoopTimer* EventLoopTimerRef;
+
+/*
+ * EventLoopTimerProcPtr
+ *
+ * Discussion:
+ * Called when a timer fires.
+ *
+ * Parameters:
+ *
+ * inTimer:
+ * The timer that fired.
+ *
+ * inUserData:
+ * The data passed into InstallEventLoopTimer.
+ */
+typedef CALLBACK_API( void , EventLoopTimerProcPtr )(EventLoopTimerRef inTimer, void *inUserData);
+
+/*
+ * Discussion:
+ * Event Loop Idle Timer Messages
+ */
+enum {
+
+ /*
+ * The user has gone idle (not touched an input device) for the
+ * duration specified in your idle timer. This is the first message
+ * you will receive. Start your engines!
+ */
+ kEventLoopIdleTimerStarted = 1,
+
+ /*
+ * If you specified an interval on your idle timer, your idle timer
+ * proc will be called with this message, letting you know it is
+ * merely firing at the interval specified. If you did not specify an
+ * interval, this message is not sent.
+ */
+ kEventLoopIdleTimerIdling = 2,
+
+ /*
+ * The user is back! Stop everything! This is your cue to stop any
+ * processing if you need to.
+ */
+ kEventLoopIdleTimerStopped = 3
+};
+
+typedef UInt16 EventLoopIdleTimerMessage;
+
+/*
+ * EventLoopIdleTimerProcPtr
+ *
+ * Discussion:
+ * Called when an idle timer fires.
+ *
+ * Parameters:
+ *
+ * inTimer:
+ * The timer that fired.
+ *
+ * inState:
+ * The current state of the timer.
+ *
+ * inUserData:
+ * The data passed into InstallEventLoopTimer.
+ */
+typedef CALLBACK_API( void , EventLoopIdleTimerProcPtr )(EventLoopTimerRef inTimer, EventLoopIdleTimerMessage inState, void *inUserData);
+typedef STACK_UPP_TYPE(EventLoopTimerProcPtr) EventLoopTimerUPP;
+typedef STACK_UPP_TYPE(EventLoopIdleTimerProcPtr) EventLoopIdleTimerUPP;
+/*
+ * NewEventLoopTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EventLoopTimerUPP )
+NewEventLoopTimerUPP(EventLoopTimerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppEventLoopTimerProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(EventLoopTimerUPP) NewEventLoopTimerUPP(EventLoopTimerProcPtr userRoutine)
- {
- return (EventLoopTimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventLoopTimerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewEventLoopTimerUPP(userRoutine) (EventLoopTimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventLoopTimerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppEventLoopTimerProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EventLoopTimerUPP) NewEventLoopTimerUPP(EventLoopTimerProcPtr userRoutine) { return (EventLoopTimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventLoopTimerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEventLoopTimerUPP(userRoutine) (EventLoopTimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventLoopTimerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * NewEventLoopIdleTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EventLoopIdleTimerUPP)
- NewEventLoopIdleTimerUPP(EventLoopIdleTimerProcPtr userRoutine);
+/*
+ * NewEventLoopIdleTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EventLoopIdleTimerUPP )
+NewEventLoopIdleTimerUPP(EventLoopIdleTimerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppEventLoopIdleTimerProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(EventLoopIdleTimerUPP) NewEventLoopIdleTimerUPP(EventLoopIdleTimerProcPtr userRoutine)
- {
- return (EventLoopIdleTimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventLoopIdleTimerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewEventLoopIdleTimerUPP(userRoutine) (EventLoopIdleTimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventLoopIdleTimerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppEventLoopIdleTimerProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EventLoopIdleTimerUPP) NewEventLoopIdleTimerUPP(EventLoopIdleTimerProcPtr userRoutine) { return (EventLoopIdleTimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventLoopIdleTimerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEventLoopIdleTimerUPP(userRoutine) (EventLoopIdleTimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventLoopIdleTimerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DisposeEventLoopTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeEventLoopTimerUPP(EventLoopTimerUPP userUPP);
+/*
+ * DisposeEventLoopTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEventLoopTimerUPP(EventLoopTimerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeEventLoopTimerUPP(EventLoopTimerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeEventLoopTimerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeEventLoopTimerUPP(EventLoopTimerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeEventLoopTimerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * DisposeEventLoopIdleTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeEventLoopIdleTimerUPP(EventLoopIdleTimerUPP userUPP);
+/*
+ * DisposeEventLoopIdleTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEventLoopIdleTimerUPP(EventLoopIdleTimerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeEventLoopIdleTimerUPP(EventLoopIdleTimerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeEventLoopIdleTimerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeEventLoopIdleTimerUPP(EventLoopIdleTimerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeEventLoopIdleTimerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * InvokeEventLoopTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeEventLoopTimerUPP(
- EventLoopTimerRef inTimer,
- void * inUserData,
- EventLoopTimerUPP userUPP);
+/*
+ * InvokeEventLoopTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeEventLoopTimerUPP(
+ EventLoopTimerRef inTimer,
+ void * inUserData,
+ EventLoopTimerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeEventLoopTimerUPP(EventLoopTimerRef inTimer, void * inUserData, EventLoopTimerUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppEventLoopTimerProcInfo, inTimer, inUserData);
- }
-#else
-#define InvokeEventLoopTimerUPP(inTimer, inUserData, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppEventLoopTimerProcInfo, (inTimer), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeEventLoopTimerUPP(EventLoopTimerRef inTimer, void * inUserData, EventLoopTimerUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppEventLoopTimerProcInfo, inTimer, inUserData); }
+ #else
+ #define InvokeEventLoopTimerUPP(inTimer, inUserData, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppEventLoopTimerProcInfo, (inTimer), (inUserData))
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * InvokeEventLoopIdleTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeEventLoopIdleTimerUPP(
- EventLoopTimerRef inTimer,
- EventLoopIdleTimerMessage inState,
- void * inUserData,
- EventLoopIdleTimerUPP userUPP);
+/*
+ * InvokeEventLoopIdleTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeEventLoopIdleTimerUPP(
+ EventLoopTimerRef inTimer,
+ EventLoopIdleTimerMessage inState,
+ void * inUserData,
+ EventLoopIdleTimerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeEventLoopIdleTimerUPP(EventLoopTimerRef inTimer, EventLoopIdleTimerMessage inState, void * inUserData, EventLoopIdleTimerUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppEventLoopIdleTimerProcInfo, inTimer, inState, inUserData);
- }
-#else
-#define InvokeEventLoopIdleTimerUPP(inTimer, inState, inUserData, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppEventLoopIdleTimerProcInfo, (inTimer), (inState), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeEventLoopIdleTimerUPP(EventLoopTimerRef inTimer, EventLoopIdleTimerMessage inState, void * inUserData, EventLoopIdleTimerUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppEventLoopIdleTimerProcInfo, inTimer, inState, inUserData); }
+ #else
+ #define InvokeEventLoopIdleTimerUPP(inTimer, inState, inUserData, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppEventLoopIdleTimerProcInfo, (inTimer), (inState), (inUserData))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewEventLoopTimerProc(userRoutine) NewEventLoopTimerUPP(userRoutine)
-#define NewEventLoopIdleTimerProc(userRoutine) NewEventLoopIdleTimerUPP(userRoutine)
-#define CallEventLoopTimerProc(userRoutine, inTimer, inUserData) InvokeEventLoopTimerUPP(inTimer, inUserData, userRoutine)
-#define CallEventLoopIdleTimerProc(userRoutine, inTimer, inState, inUserData) InvokeEventLoopIdleTimerUPP(inTimer, inState, inUserData, userRoutine)
+ #define NewEventLoopTimerProc(userRoutine) NewEventLoopTimerUPP(userRoutine)
+ #define NewEventLoopIdleTimerProc(userRoutine) NewEventLoopIdleTimerUPP(userRoutine)
+ #define CallEventLoopTimerProc(userRoutine, inTimer, inUserData) InvokeEventLoopTimerUPP(inTimer, inUserData, userRoutine)
+ #define CallEventLoopIdleTimerProc(userRoutine, inTimer, inState, inUserData) InvokeEventLoopIdleTimerUPP(inTimer, inState, inUserData, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * InstallEventLoopTimer()
- *
- * Discussion:
- * Installs a timer onto the event loop specified. The timer can
- * either fire once or repeatedly at a specified interval depending
- * on the parameters passed to this function.
- *
- * Parameters:
- *
- * inEventLoop:
- * The event loop to add the timer.
- *
- * inFireDelay:
- * The delay before first firing this timer (can be 0, to request
- * that the timer be fired as soon as control returns to your
- * event loop). In Mac OS X and CarbonLib 1.5 and later, you may
- * pass kEventDurationForever to stop the timer from firing at all
- * until SetEventLoopTimerNextFireTime is used to start it; in
- * earlier CarbonLibs, to achieve the same effect, just pass zero
- * and then immediately call SetEventLoopTimerNextFireTime( timer,
- * kEventDurationForever ) before returning control to your event
- * loop.
- *
- * inInterval:
- * The timer interval (pass 0 for a one-shot timer, which executes
- * once but does not repeat). In Mac OS X and CarbonLib 1.5 and
- * later, you may also pass kEventDurationForever to create a
- * one-shot timer.
- *
- * inTimerProc:
- * The routine to call when the timer fires.
- *
- * inTimerData:
- * Data to pass to the timer proc when called.
- *
- * outTimer:
- * A reference to the newly installed timer.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InstallEventLoopTimer(
- EventLoopRef inEventLoop,
- EventTimerInterval inFireDelay,
- EventTimerInterval inInterval,
- EventLoopTimerUPP inTimerProc,
- void * inTimerData,
- EventLoopTimerRef * outTimer);
-
-
- /*
- * InstallEventLoopIdleTimer()
- *
- * Discussion:
- * Installs a timer onto the event loop specified. Idle timers are
- * only called when there is no user activity occuring in the
- * application. This means that the user is not actively
- * clicking/typing, and is also not in the middle of tracking a
- * control, menu, or window. TrackMouseLocation actually disables
- * all idle timers automatically for you.
- *
- * Parameters:
- *
- * inEventLoop:
- * The event loop to add the timer.
- *
- * inDelay:
- * The delay before firing this timer after a user input event has
- * come in. For example, if you want to start your timer 2 seconds
- * after the user stops typing, etc. you would pass 2.0 into this
- * parameter. Each time the user types a key (or whatever), this
- * timer is reset. If we are considered to be idle when an idle
- * timer is installed, the first time it fires will be inDelay
- * seconds from the time it is installed. So if you installed it
- * in the middle of control tracking, say, it wouldn't fire until
- * the user stopped tracking. But if you installed it at app
- * startup and the user hasn't typed/clicked, it would fire in
- * inDelay seconds.
- *
- * inInterval:
- * The timer interval (pass 0 for a one-shot timer, which executes
- * once but does not repeat). You may also pass
- * kEventDurationForever to create a one-shot timer.
- *
- * inTimerProc:
- * The routine to call when the timer fires.
- *
- * inTimerData:
- * Data to pass to the timer proc when called.
- *
- * outTimer:
- * A reference to the newly installed timer.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InstallEventLoopIdleTimer(
- EventLoopRef inEventLoop,
- EventTimerInterval inDelay,
- EventTimerInterval inInterval,
- EventLoopIdleTimerUPP inTimerProc,
- void * inTimerData,
- EventLoopTimerRef * outTimer);
-
-
- /* GOING AWAY!!!! DO NOT CALL THIS API!!!!! USE INSTALLEVENTLOOPIDLETIMER ABOVE!!!! */
- /*
- * InstallIdleTimer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InstallIdleTimer(
- EventLoopRef inEventLoop,
- EventTimerInterval inDelay,
- EventTimerInterval inInterval,
- EventLoopTimerUPP inTimerProc,
- void * inTimerData,
- EventLoopTimerRef * outTimer);
-
-
- /*
- * RemoveEventLoopTimer()
- *
- * Discussion:
- * Removes a timer that was previously installed by a call to
- * InstallEventLoopTimer. You call this function when you are done
- * using a timer.
- *
- * Parameters:
- *
- * inTimer:
- * The timer to remove.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveEventLoopTimer(EventLoopTimerRef inTimer);
-
-
- /*
- * SetEventLoopTimerNextFireTime()
- *
- * Discussion:
- * This routine is used to 'reset' a timer. It controls the next
- * time the timer fires. This will override any interval you might
- * have set. For example, if you have a timer that fires every
- * second, and you call this function setting the next time to five
- * seconds from now, the timer will sleep for five seconds, then
- * fire. It will then resume its one-second interval after that. It
- * is as if you removed the timer and reinstalled it with a new
- * first-fire delay.
- *
- * Parameters:
- *
- * inTimer:
- * The timer to adjust
- *
- * inNextFire:
- * The interval from the current time to wait until firing the
- * timer again. You may pass kEventDurationForever to stop the
- * timer from firing at all.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetEventLoopTimerNextFireTime(
- EventLoopTimerRef inTimer,
- EventTimerInterval inNextFire);
-
-
-
-
- /*======================================================================================*/
- /* EVENT HANDLERS */
- /*======================================================================================*/
-
- typedef struct OpaqueEventHandlerRef* EventHandlerRef;
- typedef struct OpaqueEventHandlerCallRef* EventHandlerCallRef;
-
- /*--------------------------------------------------------------------------------------*/
- /* o EventHandler specification */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * EventHandlerProcPtr
- *
- * Discussion:
- * Callback for receiving events sent to a target this callback is
- * installed on.
- *
- * Parameters:
- *
- * inHandlerCallRef:
- * A reference to the current handler call chain. This is sent to
- * your handler so that you can call CallNextEventHandler if you
- * need to.
- *
- * inEvent:
- * The Event.
- *
- * inUserData:
- * The app-specified data you passed in a call to
- * InstallEventHandler.
- *
- * Result:
- * An operating system result code. Returning noErr indicates you
- * handled the event. Returning eventNotHandledErr indicates you did
- * not handle the event and perhaps the toolbox should take other
- * action.
- */
- typedef CALLBACK_API(OSStatus , EventHandlerProcPtr)(EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *inUserData);
- typedef STACK_UPP_TYPE(EventHandlerProcPtr) EventHandlerUPP;
- /*
- * NewEventHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EventHandlerUPP)
- NewEventHandlerUPP(EventHandlerProcPtr userRoutine);
+/*
+ * InstallEventLoopTimer()
+ *
+ * Discussion:
+ * Installs a timer onto the event loop specified. The timer can
+ * either fire once or repeatedly at a specified interval depending
+ * on the parameters passed to this function.
+ *
+ * Parameters:
+ *
+ * inEventLoop:
+ * The event loop to add the timer.
+ *
+ * inFireDelay:
+ * The delay before first firing this timer (can be 0, to request
+ * that the timer be fired as soon as control returns to your
+ * event loop). In Mac OS X and CarbonLib 1.5 and later, you may
+ * pass kEventDurationForever to stop the timer from firing at all
+ * until SetEventLoopTimerNextFireTime is used to start it; in
+ * earlier CarbonLibs, to achieve the same effect, just pass zero
+ * and then immediately call SetEventLoopTimerNextFireTime( timer,
+ * kEventDurationForever ) before returning control to your event
+ * loop.
+ *
+ * inInterval:
+ * The timer interval (pass 0 for a one-shot timer, which executes
+ * once but does not repeat). In Mac OS X and CarbonLib 1.5 and
+ * later, you may also pass kEventDurationForever to create a
+ * one-shot timer.
+ *
+ * inTimerProc:
+ * The routine to call when the timer fires.
+ *
+ * inTimerData:
+ * Data to pass to the timer proc when called.
+ *
+ * outTimer:
+ * A reference to the newly installed timer.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InstallEventLoopTimer(
+ EventLoopRef inEventLoop,
+ EventTimerInterval inFireDelay,
+ EventTimerInterval inInterval,
+ EventLoopTimerUPP inTimerProc,
+ void * inTimerData,
+ EventLoopTimerRef * outTimer);
+
+
+/*
+ * InstallEventLoopIdleTimer()
+ *
+ * Discussion:
+ * Installs a timer onto the event loop specified. Idle timers are
+ * only called when there is no user activity occuring in the
+ * application. This means that the user is not actively
+ * clicking/typing, and is also not in the middle of tracking a
+ * control, menu, or window. TrackMouseLocation actually disables
+ * all idle timers automatically for you.
+ *
+ * Parameters:
+ *
+ * inEventLoop:
+ * The event loop to add the timer.
+ *
+ * inDelay:
+ * The delay before firing this timer after a user input event has
+ * come in. For example, if you want to start your timer 2 seconds
+ * after the user stops typing, etc. you would pass 2.0 into this
+ * parameter. Each time the user types a key (or whatever), this
+ * timer is reset. If we are considered to be idle when an idle
+ * timer is installed, the first time it fires will be inDelay
+ * seconds from the time it is installed. So if you installed it
+ * in the middle of control tracking, say, it wouldn't fire until
+ * the user stopped tracking. But if you installed it at app
+ * startup and the user hasn't typed/clicked, it would fire in
+ * inDelay seconds.
+ *
+ * inInterval:
+ * The timer interval (pass 0 for a one-shot timer, which executes
+ * once but does not repeat). You may also pass
+ * kEventDurationForever to create a one-shot timer.
+ *
+ * inTimerProc:
+ * The routine to call when the timer fires.
+ *
+ * inTimerData:
+ * Data to pass to the timer proc when called.
+ *
+ * outTimer:
+ * A reference to the newly installed timer.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InstallEventLoopIdleTimer(
+ EventLoopRef inEventLoop,
+ EventTimerInterval inDelay,
+ EventTimerInterval inInterval,
+ EventLoopIdleTimerUPP inTimerProc,
+ void * inTimerData,
+ EventLoopTimerRef * outTimer);
+
+
+/* GOING AWAY!!!! DO NOT CALL THIS API!!!!! USE INSTALLEVENTLOOPIDLETIMER ABOVE!!!! */
+/*
+ * InstallIdleTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InstallIdleTimer(
+ EventLoopRef inEventLoop,
+ EventTimerInterval inDelay,
+ EventTimerInterval inInterval,
+ EventLoopTimerUPP inTimerProc,
+ void * inTimerData,
+ EventLoopTimerRef * outTimer);
+
+
+/*
+ * RemoveEventLoopTimer()
+ *
+ * Discussion:
+ * Removes a timer that was previously installed by a call to
+ * InstallEventLoopTimer. You call this function when you are done
+ * using a timer.
+ *
+ * Parameters:
+ *
+ * inTimer:
+ * The timer to remove.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveEventLoopTimer(EventLoopTimerRef inTimer);
+
+
+/*
+ * SetEventLoopTimerNextFireTime()
+ *
+ * Discussion:
+ * This routine is used to 'reset' a timer. It controls the next
+ * time the timer fires. This will override any interval you might
+ * have set. For example, if you have a timer that fires every
+ * second, and you call this function setting the next time to five
+ * seconds from now, the timer will sleep for five seconds, then
+ * fire. It will then resume its one-second interval after that. It
+ * is as if you removed the timer and reinstalled it with a new
+ * first-fire delay.
+ *
+ * Parameters:
+ *
+ * inTimer:
+ * The timer to adjust
+ *
+ * inNextFire:
+ * The interval from the current time to wait until firing the
+ * timer again. You may pass kEventDurationForever to stop the
+ * timer from firing at all.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetEventLoopTimerNextFireTime(
+ EventLoopTimerRef inTimer,
+ EventTimerInterval inNextFire);
+
+
+
+
+/*======================================================================================*/
+/* EVENT HANDLERS */
+/*======================================================================================*/
+
+typedef struct OpaqueEventHandlerRef* EventHandlerRef;
+typedef struct OpaqueEventHandlerCallRef* EventHandlerCallRef;
+
+/*--------------------------------------------------------------------------------------*/
+/* o EventHandler specification */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * EventHandlerProcPtr
+ *
+ * Discussion:
+ * Callback for receiving events sent to a target this callback is
+ * installed on.
+ *
+ * Parameters:
+ *
+ * inHandlerCallRef:
+ * A reference to the current handler call chain. This is sent to
+ * your handler so that you can call CallNextEventHandler if you
+ * need to.
+ *
+ * inEvent:
+ * The Event.
+ *
+ * inUserData:
+ * The app-specified data you passed in a call to
+ * InstallEventHandler.
+ *
+ * Result:
+ * An operating system result code. Returning noErr indicates you
+ * handled the event. Returning eventNotHandledErr indicates you did
+ * not handle the event and perhaps the toolbox should take other
+ * action.
+ */
+typedef CALLBACK_API( OSStatus , EventHandlerProcPtr )(EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *inUserData);
+typedef STACK_UPP_TYPE(EventHandlerProcPtr) EventHandlerUPP;
+/*
+ * NewEventHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EventHandlerUPP )
+NewEventHandlerUPP(EventHandlerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppEventHandlerProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(EventHandlerUPP) NewEventHandlerUPP(EventHandlerProcPtr userRoutine)
- {
- return (EventHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewEventHandlerUPP(userRoutine) (EventHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppEventHandlerProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EventHandlerUPP) NewEventHandlerUPP(EventHandlerProcPtr userRoutine) { return (EventHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEventHandlerUPP(userRoutine) (EventHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEventHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeEventHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeEventHandlerUPP(EventHandlerUPP userUPP);
+/*
+ * DisposeEventHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEventHandlerUPP(EventHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeEventHandlerUPP(EventHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeEventHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeEventHandlerUPP(EventHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeEventHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeEventHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeEventHandlerUPP(
- EventHandlerCallRef inHandlerCallRef,
- EventRef inEvent,
- void * inUserData,
- EventHandlerUPP userUPP);
+/*
+ * InvokeEventHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeEventHandlerUPP(
+ EventHandlerCallRef inHandlerCallRef,
+ EventRef inEvent,
+ void * inUserData,
+ EventHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeEventHandlerUPP(EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void * inUserData, EventHandlerUPP userUPP)
- {
- return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppEventHandlerProcInfo, inHandlerCallRef, inEvent, inUserData);
- }
-#else
-#define InvokeEventHandlerUPP(inHandlerCallRef, inEvent, inUserData, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppEventHandlerProcInfo, (inHandlerCallRef), (inEvent), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeEventHandlerUPP(EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void * inUserData, EventHandlerUPP userUPP) { return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppEventHandlerProcInfo, inHandlerCallRef, inEvent, inUserData); }
+ #else
+ #define InvokeEventHandlerUPP(inHandlerCallRef, inEvent, inUserData, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppEventHandlerProcInfo, (inHandlerCallRef), (inEvent), (inUserData))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewEventHandlerProc(userRoutine) NewEventHandlerUPP(userRoutine)
-#define CallEventHandlerProc(userRoutine, inHandlerCallRef, inEvent, inUserData) InvokeEventHandlerUPP(inHandlerCallRef, inEvent, inUserData, userRoutine)
+ #define NewEventHandlerProc(userRoutine) NewEventHandlerUPP(userRoutine)
+ #define CallEventHandlerProc(userRoutine, inHandlerCallRef, inEvent, inUserData) InvokeEventHandlerUPP(inHandlerCallRef, inEvent, inUserData, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef struct OpaqueEventTargetRef* EventTargetRef;
- /*--------------------------------------------------------------------------------------*/
- /* o Installing Event Handlers */
- /* */
- /* Use these routines to install event handlers for a specific toolbox object. You may */
- /* pass zero for inNumTypes and NULL for inList if you need to be in a situation where */
- /* you know you will be receiving events, but not exactly which ones at the time you */
- /* are installing the handler. Later, your application can call the Add/Remove routines */
- /* listed below this section. */
- /* */
- /* You can only install a specific handler once. The combination of inHandler and */
- /* inUserData is considered the 'signature' of a handler. Any attempt to install a new */
- /* handler with the same proc and user data as an already-installed handler will result */
- /* in eventHandlerAlreadyInstalledErr. Installing the same proc and user data on a */
- /* different object is legal. */
- /* */
- /* Upon successful completion of this routine, you are returned an EventHandlerRef, */
- /* which you can use in various other calls, and is passed to your event handler. You */
- /* use it to extract information about the handler, such as the target (window, etc.) */
- /* if you have the same handler installed for different objects and need to perform */
- /* actions on the current target (say, call a window manager function). */
- /*--------------------------------------------------------------------------------------*/
- /*
- * InstallEventHandler()
- *
- * Discussion:
- * Installs an event handler on a specified target. Your handler
- * proc will be called with the events you registered with when an
- * event of the corresponding type and class are send to the target
- * you are installing your handler on.
- *
- * Parameters:
- *
- * inTarget:
- * The target to register your handler with.
- *
- * inHandler:
- * A pointer to your handler function.
- *
- * inNumTypes:
- * The number of events you are registering for.
- *
- * inList:
- * A pointer to an array of EventTypeSpec entries representing the
- * events you are interested in.
- *
- * inUserData:
- * The value passed in this parameter is passed on to your event
- * handler proc when it is called.
- *
- * outRef:
- * Receives an EventHandlerRef, which you can use later to remove
- * the handler. You can pass null if you don't want the reference
- * - when the target is disposed, the handler will be disposed as
- * well.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InstallEventHandler(
- EventTargetRef inTarget,
- EventHandlerUPP inHandler,
- UInt32 inNumTypes,
- const EventTypeSpec * inList,
- void * inUserData,
- EventHandlerRef * outRef); /* can be NULL */
-
-
- /*
- * InstallStandardEventHandler()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InstallStandardEventHandler(EventTargetRef inTarget);
-
-
- /*
- * RemoveEventHandler()
- *
- * Discussion:
- * Removes an event handler from the target it was bound to.
- *
- * Parameters:
- *
- * inHandlerRef:
- * The handler ref to remove (returned in a call to
- * InstallEventHandler). After you call this function, the handler
- * ref is considered to be invalid and can no longer be used.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveEventHandler(EventHandlerRef inHandlerRef);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Adjusting set of event types after a handler is created */
- /* */
- /* After installing a handler with the routine above, you can adjust the event type */
- /* list telling the toolbox what events to send to that handler by calling the two */
- /* routines below. If you add an event type twice for the same handler, your handler */
- /* will only be called once, but it will take two RemoveEventType calls to stop your */
- /* handler from being called with that event type. In other words, the install count */
- /* for each event type is maintained by the toolbox. This might allow you, for example */
- /* to have subclasses of a window object register for types without caring if the base */
- /* class has already registered for that type. When the subclass removes its types, it */
- /* can successfully do so without affecting the base class's reception of its event */
- /* types, yielding eternal bliss. */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * AddEventTypesToHandler()
- *
- * Discussion:
- * Adds additional events to an event handler that has already been
- * installed.
- *
- * Parameters:
- *
- * inHandlerRef:
- * The event handler to add the additional events to.
- *
- * inNumTypes:
- * The number of events to add.
- *
- * inList:
- * A pointer to an array of EventTypeSpec entries.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- AddEventTypesToHandler(
- EventHandlerRef inHandlerRef,
- UInt32 inNumTypes,
- const EventTypeSpec * inList);
-
-
- /*
- * RemoveEventTypesFromHandler()
- *
- * Discussion:
- * Removes events from an event handler that has already been
- * installed.
- *
- * Parameters:
- *
- * inHandlerRef:
- * The event handler to remove the events from.
- *
- * inNumTypes:
- * The number of events to remove.
- *
- * inList:
- * A pointer to an array of EventTypeSpec entries.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveEventTypesFromHandler(
- EventHandlerRef inHandlerRef,
- UInt32 inNumTypes,
- const EventTypeSpec * inList);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Explicit Propogation */
- /* */
- /* CallNextEventHandler can be used to call thru to all handlers below the current */
- /* handler being called. You pass the EventHandlerCallRef passed to your EventHandler */
- /* into this call so that we know how to properly forward the event. The result of */
- /* this function should normally be the result of your own handler that you called */
- /* this API from. The typical use of this routine would be to allow the toolbox to do */
- /* its standard processing and then follow up with some type of embellishment. */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * CallNextEventHandler()
- *
- * Discussion:
- * Calls thru to the event handlers below you in the event handler
- * stack of the target to which your handler is bound. You might use
- * this to call thru to the default toolbox handling in order to
- * post-process the event. You can only call this routine from
- * within an event handler.
- *
- * Parameters:
- *
- * inCallRef:
- * The event handler call ref passed into your event handler.
- *
- * inEvent:
- * The event to pass thru.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CallNextEventHandler(
- EventHandlerCallRef inCallRef,
- EventRef inEvent);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Sending Events */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Discussion:
- * EventTarget Send Options
- */
- enum
- {
-
- /*
- * The event should be sent to the target given only, and should not
- * propagate to any other target. CallNextEventHandler will do
- * nothing in a handler which has received an event sent in this
- * manner.
- */
- kEventTargetDontPropagate = (1 << 0),
-
- /*
- * The event is a notification-style event, and should be received by
- * all handlers. The result is usually meaningless when sent in this
- * manner, though we do maintain the strongest result code while the
- * event falls through each handler. This means that if the first
- * handler to receive the event returned noErr, and the next returned
- * eventNotHandledErr, the result returned would actually be noErr.
- * No handler can stop this event from propagating, i.e. the result
- * code does not alter event flow.
- */
- kEventTargetSendToAllHandlers = (1 << 1)
- };
-
- /*
- * SendEventToEventTarget()
- *
- * Discussion:
- * Sends an event to the specified event target.
- *
- * Parameters:
- *
- * inEvent:
- * The event to send.
- *
- * inTarget:
- * The target to send it to.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SendEventToEventTarget(
- EventRef inEvent,
- EventTargetRef inTarget);
-
-
- /*
- * SendEventToEventTargetWithOptions()
- *
- * Discussion:
- * Sends an event to the specified event target, optionally
- * controlling how the event propagates. See the discussion of the
- * event send options above for more detail.
- *
- * Parameters:
- *
- * inEvent:
- * The event to send.
- *
- * inTarget:
- * The target to send it to.
- *
- * inOptions:
- * The options to modify the send behavior. Passing zero for this
- * makes it behave just like SendEventToEventTarget.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SendEventToEventTargetWithOptions(
- EventRef inEvent,
- EventTargetRef inTarget,
- OptionBits inOptions);
+typedef struct OpaqueEventTargetRef* EventTargetRef;
+/*--------------------------------------------------------------------------------------*/
+/* o Installing Event Handlers */
+/* */
+/* Use these routines to install event handlers for a specific toolbox object. You may */
+/* pass zero for inNumTypes and NULL for inList if you need to be in a situation where */
+/* you know you will be receiving events, but not exactly which ones at the time you */
+/* are installing the handler. Later, your application can call the Add/Remove routines */
+/* listed below this section. */
+/* */
+/* You can only install a specific handler once. The combination of inHandler and */
+/* inUserData is considered the 'signature' of a handler. Any attempt to install a new */
+/* handler with the same proc and user data as an already-installed handler will result */
+/* in eventHandlerAlreadyInstalledErr. Installing the same proc and user data on a */
+/* different object is legal. */
+/* */
+/* Upon successful completion of this routine, you are returned an EventHandlerRef, */
+/* which you can use in various other calls, and is passed to your event handler. You */
+/* use it to extract information about the handler, such as the target (window, etc.) */
+/* if you have the same handler installed for different objects and need to perform */
+/* actions on the current target (say, call a window manager function). */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * InstallEventHandler()
+ *
+ * Discussion:
+ * Installs an event handler on a specified target. Your handler
+ * proc will be called with the events you registered with when an
+ * event of the corresponding type and class are send to the target
+ * you are installing your handler on.
+ *
+ * Parameters:
+ *
+ * inTarget:
+ * The target to register your handler with.
+ *
+ * inHandler:
+ * A pointer to your handler function.
+ *
+ * inNumTypes:
+ * The number of events you are registering for.
+ *
+ * inList:
+ * A pointer to an array of EventTypeSpec entries representing the
+ * events you are interested in.
+ *
+ * inUserData:
+ * The value passed in this parameter is passed on to your event
+ * handler proc when it is called.
+ *
+ * outRef:
+ * Receives an EventHandlerRef, which you can use later to remove
+ * the handler. You can pass null if you don't want the reference
+ * - when the target is disposed, the handler will be disposed as
+ * well.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InstallEventHandler(
+ EventTargetRef inTarget,
+ EventHandlerUPP inHandler,
+ UInt32 inNumTypes,
+ const EventTypeSpec * inList,
+ void * inUserData,
+ EventHandlerRef * outRef); /* can be NULL */
+
+
+/*
+ * InstallStandardEventHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InstallStandardEventHandler(EventTargetRef inTarget);
+
+
+/*
+ * RemoveEventHandler()
+ *
+ * Discussion:
+ * Removes an event handler from the target it was bound to.
+ *
+ * Parameters:
+ *
+ * inHandlerRef:
+ * The handler ref to remove (returned in a call to
+ * InstallEventHandler). After you call this function, the handler
+ * ref is considered to be invalid and can no longer be used.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveEventHandler(EventHandlerRef inHandlerRef);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Adjusting set of event types after a handler is created */
+/* */
+/* After installing a handler with the routine above, you can adjust the event type */
+/* list telling the toolbox what events to send to that handler by calling the two */
+/* routines below. If you add an event type twice for the same handler, your handler */
+/* will only be called once, but it will take two RemoveEventType calls to stop your */
+/* handler from being called with that event type. In other words, the install count */
+/* for each event type is maintained by the toolbox. This might allow you, for example */
+/* to have subclasses of a window object register for types without caring if the base */
+/* class has already registered for that type. When the subclass removes its types, it */
+/* can successfully do so without affecting the base class's reception of its event */
+/* types, yielding eternal bliss. */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * AddEventTypesToHandler()
+ *
+ * Discussion:
+ * Adds additional events to an event handler that has already been
+ * installed.
+ *
+ * Parameters:
+ *
+ * inHandlerRef:
+ * The event handler to add the additional events to.
+ *
+ * inNumTypes:
+ * The number of events to add.
+ *
+ * inList:
+ * A pointer to an array of EventTypeSpec entries.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+AddEventTypesToHandler(
+ EventHandlerRef inHandlerRef,
+ UInt32 inNumTypes,
+ const EventTypeSpec * inList);
+
+
+/*
+ * RemoveEventTypesFromHandler()
+ *
+ * Discussion:
+ * Removes events from an event handler that has already been
+ * installed.
+ *
+ * Parameters:
+ *
+ * inHandlerRef:
+ * The event handler to remove the events from.
+ *
+ * inNumTypes:
+ * The number of events to remove.
+ *
+ * inList:
+ * A pointer to an array of EventTypeSpec entries.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveEventTypesFromHandler(
+ EventHandlerRef inHandlerRef,
+ UInt32 inNumTypes,
+ const EventTypeSpec * inList);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Explicit Propogation */
+/* */
+/* CallNextEventHandler can be used to call thru to all handlers below the current */
+/* handler being called. You pass the EventHandlerCallRef passed to your EventHandler */
+/* into this call so that we know how to properly forward the event. The result of */
+/* this function should normally be the result of your own handler that you called */
+/* this API from. The typical use of this routine would be to allow the toolbox to do */
+/* its standard processing and then follow up with some type of embellishment. */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * CallNextEventHandler()
+ *
+ * Discussion:
+ * Calls thru to the event handlers below you in the event handler
+ * stack of the target to which your handler is bound. You might use
+ * this to call thru to the default toolbox handling in order to
+ * post-process the event. You can only call this routine from
+ * within an event handler.
+ *
+ * Parameters:
+ *
+ * inCallRef:
+ * The event handler call ref passed into your event handler.
+ *
+ * inEvent:
+ * The event to pass thru.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CallNextEventHandler(
+ EventHandlerCallRef inCallRef,
+ EventRef inEvent);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Sending Events */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Discussion:
+ * EventTarget Send Options
+ */
+enum {
+
+ /*
+ * The event should be sent to the target given only, and should not
+ * propagate to any other target. CallNextEventHandler will do
+ * nothing in a handler which has received an event sent in this
+ * manner.
+ */
+ kEventTargetDontPropagate = (1 << 0),
+
+ /*
+ * The event is a notification-style event, and should be received by
+ * all handlers. The result is usually meaningless when sent in this
+ * manner, though we do maintain the strongest result code while the
+ * event falls through each handler. This means that if the first
+ * handler to receive the event returned noErr, and the next returned
+ * eventNotHandledErr, the result returned would actually be noErr.
+ * No handler can stop this event from propagating, i.e. the result
+ * code does not alter event flow.
+ */
+ kEventTargetSendToAllHandlers = (1 << 1)
+};
+
+/*
+ * SendEventToEventTarget()
+ *
+ * Discussion:
+ * Sends an event to the specified event target.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event to send.
+ *
+ * inTarget:
+ * The target to send it to.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SendEventToEventTarget(
+ EventRef inEvent,
+ EventTargetRef inTarget);
+
+
+/*
+ * SendEventToEventTargetWithOptions()
+ *
+ * Discussion:
+ * Sends an event to the specified event target, optionally
+ * controlling how the event propagates. See the discussion of the
+ * event send options above for more detail.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event to send.
+ *
+ * inTarget:
+ * The target to send it to.
+ *
+ * inOptions:
+ * The options to modify the send behavior. Passing zero for this
+ * makes it behave just like SendEventToEventTarget.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SendEventToEventTargetWithOptions(
+ EventRef inEvent,
+ EventTargetRef inTarget,
+ OptionBits inOptions);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CarbonSound.h b/include/qt/CarbonSound.h
index 00deab0d4..556a34ebe 100644
--- a/include/qt/CarbonSound.h
+++ b/include/qt/CarbonSound.h
@@ -1,17 +1,17 @@
/*
File: CarbonSound.h
-
+
Contains: Master include for CarbonSound private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CARBONSOUND__
#define __CARBONSOUND__
diff --git a/include/qt/CodeFragments.h b/include/qt/CodeFragments.h
index f86ed090f..018de0ee9 100644
--- a/include/qt/CodeFragments.h
+++ b/include/qt/CodeFragments.h
@@ -1,17 +1,17 @@
/*
File: CodeFragments.h
-
+
Contains: Public Code Fragment Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
/*
o
@@ -58,212 +58,192 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- .
- ===========================================================================================
- General Types and Constants
- ===========================
- */
+/*
+ .
+ ===========================================================================================
+ General Types and Constants
+ ===========================
+*/
- enum {
- kCFragResourceType = FOUR_CHAR_CODE('cfrg'),
- kCFragResourceID = 0,
- kCFragLibraryFileType = FOUR_CHAR_CODE('shlb'),
- kCFragAllFileTypes = (long)0xFFFFFFFF
- };
+enum {
+ kCFragResourceType = FOUR_CHAR_CODE('cfrg'),
+ kCFragResourceID = 0,
+ kCFragLibraryFileType = FOUR_CHAR_CODE('shlb'),
+ kCFragAllFileTypes = (long)0xFFFFFFFF
+};
- typedef OSType CFragArchitecture;
- enum
- {
- /* Values for type CFragArchitecture.*/
- kPowerPCCFragArch = FOUR_CHAR_CODE('pwpc'),
- kMotorola68KCFragArch = FOUR_CHAR_CODE('m68k'),
- kAnyCFragArch = 0x3F3F3F3F
- };
+typedef OSType CFragArchitecture;
+enum {
+ /* Values for type CFragArchitecture.*/
+ kPowerPCCFragArch = FOUR_CHAR_CODE('pwpc'),
+ kMotorola68KCFragArch = FOUR_CHAR_CODE('m68k'),
+ kAnyCFragArch = 0x3F3F3F3F
+};
#if TARGET_CPU_PPC
- enum
- {
- kCompiledCFragArch = kPowerPCCFragArch
- };
+enum {
+ kCompiledCFragArch = kPowerPCCFragArch
+};
#endif /* TARGET_CPU_PPC */
#if TARGET_CPU_68K
- enum
- {
- kCompiledCFragArch = kMotorola68KCFragArch
- };
+enum {
+ kCompiledCFragArch = kMotorola68KCFragArch
+};
#endif /* TARGET_CPU_68K */
- typedef UInt32 CFragVersionNumber;
- enum
- {
- kNullCFragVersion = 0,
- kWildcardCFragVersion = (long)0xFFFFFFFF
- };
-
-
- typedef UInt8 CFragUsage;
- enum
- {
- /* Values for type CFragUsage.*/
- kImportLibraryCFrag = 0, /* Standard CFM import library.*/
- kApplicationCFrag = 1, /* MacOS application.*/
- kDropInAdditionCFrag = 2, /* Application or library private extension/plug-in*/
- kStubLibraryCFrag = 3, /* Import library used for linking only*/
- kWeakStubLibraryCFrag = 4 /* Import library used for linking only and will be automatically weak linked*/
- };
-
-
- enum
- {
- kIsCompleteCFrag = 0, /* A "base" fragment, not an update.*/
- kFirstCFragUpdate = 1 /* The first update, others are numbered 2, 3, ...*/
- };
-
-
- enum
- {
- kCFragGoesToEOF = 0
- };
-
-
-
-
- typedef UInt8 CFragLocatorKind;
- enum
- {
- /* Values for type CFragLocatorKind.*/
- kMemoryCFragLocator = 0, /* Container is in memory.*/
- kDataForkCFragLocator = 1, /* Container is in a file's data fork.*/
- kResourceCFragLocator = 2, /* Container is in a file's resource fork.*/
- kNamedFragmentCFragLocator = 4, /* ! Reserved for possible future use!*/
- kCFBundleCFragLocator = 5, /* Container is in the executable of a CFBundle*/
- kCFBundlePreCFragLocator = 6 /* passed to init routines in lieu of kCFBundleCFragLocator*/
- };
-
-
- /*
- --------------------------------------------------------------------------------------
- A 'cfrg' resource consists of a header followed by a sequence of variable length
- members. The constant kDefaultCFragNameLen only provides for a legal ANSI declaration
- and for a reasonable display in a debugger. The actual name field is cut to fit.
- There may be "extensions" after the name, the memberSize field includes them. The
- general form of an extension is a 16 bit type code followed by a 16 bit size in bytes.
- Only one standard extension type is defined at present, it is used by SOM's searching
- mechanism.
- */
-
-
- union CFragUsage1Union /* ! Meaning differs depending on value of "usage".*/
- {
- UInt32 appStackSize; /* If the fragment is an application. (Not used by CFM!)*/
- };
- typedef union CFragUsage1Union CFragUsage1Union;
- union CFragUsage2Union /* ! Meaning differs depending on value of "usage".*/
- {
- SInt16 appSubdirID; /* If the fragment is an application.*/
- UInt16 libFlags; /* If the fragment is an import library.*/
- };
- typedef union CFragUsage2Union CFragUsage2Union;
- enum
- {
- /* Bit masks for the CFragUsage2Union libFlags variant.*/
- kCFragLibUsageMapPrivatelyMask = 0x0001 /* Put container in app heap if necessary.*/
- };
-
- union CFragWhere1Union /* ! Meaning differs depending on value of "where".*/
- {
- UInt32 spaceID; /* If the fragment is in memory. (Actually an AddressSpaceID.)*/
- };
- typedef union CFragWhere1Union CFragWhere1Union;
- union CFragWhere2Union /* ! Meaning differs depending on value of "where".*/
- {
- UInt16 reserved;
- };
- typedef union CFragWhere2Union CFragWhere2Union;
- enum
- {
- kDefaultCFragNameLen = 16
- };
-
-
- struct CFragResourceMember
- {
- CFragArchitecture architecture;
- UInt16 reservedA; /* ! Must be zero!*/
- UInt8 reservedB; /* ! Must be zero!*/
- UInt8 updateLevel;
- CFragVersionNumber currentVersion;
- CFragVersionNumber oldDefVersion;
- CFragUsage1Union uUsage1;
- CFragUsage2Union uUsage2;
- CFragUsage usage;
- CFragLocatorKind where;
- UInt32 offset;
- UInt32 length;
- CFragWhere1Union uWhere1;
- CFragWhere2Union uWhere2;
- UInt16 extensionCount; /* The number of extensions beyond the name.*/
- UInt16 memberSize; /* Size in bytes, includes all extensions.*/
- unsigned char name[16]; /* ! Actually a sized PString.*/
- };
- typedef struct CFragResourceMember CFragResourceMember;
- typedef CFragResourceMember * CFragResourceMemberPtr;
- struct CFragResourceExtensionHeader
- {
- UInt16 extensionKind;
- UInt16 extensionSize;
- };
- typedef struct CFragResourceExtensionHeader CFragResourceExtensionHeader;
- typedef CFragResourceExtensionHeader * CFragResourceExtensionHeaderPtr;
- struct CFragResourceSearchExtension
- {
- CFragResourceExtensionHeader header;
- OSType libKind;
- unsigned char qualifiers[1]; /* ! Actually four PStrings.*/
- };
- typedef struct CFragResourceSearchExtension CFragResourceSearchExtension;
- typedef CFragResourceSearchExtension * CFragResourceSearchExtensionPtr;
- enum
- {
- kCFragResourceSearchExtensionKind = 0x30EE
- };
-
-
- struct CFragResource
- {
- UInt32 reservedA; /* ! Must be zero!*/
- UInt32 reservedB; /* ! Must be zero!*/
- UInt16 reservedC; /* ! Must be zero!*/
- UInt16 version;
- UInt32 reservedD; /* ! Must be zero!*/
- UInt32 reservedE; /* ! Must be zero!*/
- UInt32 reservedF; /* ! Must be zero!*/
- UInt32 reservedG; /* ! Must be zero!*/
- UInt16 reservedH; /* ! Must be zero!*/
- UInt16 memberCount;
- CFragResourceMember firstMember;
- };
- typedef struct CFragResource CFragResource;
- typedef CFragResource * CFragResourcePtr;
- typedef CFragResourcePtr * CFragResourceHandle;
- enum
- {
- kCurrCFragResourceVersion = 1
- };
+typedef UInt32 CFragVersionNumber;
+enum {
+ kNullCFragVersion = 0,
+ kWildcardCFragVersion = (long)0xFFFFFFFF
+};
+
+
+typedef UInt8 CFragUsage;
+enum {
+ /* Values for type CFragUsage.*/
+ kImportLibraryCFrag = 0, /* Standard CFM import library.*/
+ kApplicationCFrag = 1, /* MacOS application.*/
+ kDropInAdditionCFrag = 2, /* Application or library private extension/plug-in*/
+ kStubLibraryCFrag = 3, /* Import library used for linking only*/
+ kWeakStubLibraryCFrag = 4 /* Import library used for linking only and will be automatically weak linked*/
+};
+
+
+enum {
+ kIsCompleteCFrag = 0, /* A "base" fragment, not an update.*/
+ kFirstCFragUpdate = 1 /* The first update, others are numbered 2, 3, ...*/
+};
+
+
+enum {
+ kCFragGoesToEOF = 0
+};
+
+
+
+
+typedef UInt8 CFragLocatorKind;
+enum {
+ /* Values for type CFragLocatorKind.*/
+ kMemoryCFragLocator = 0, /* Container is in memory.*/
+ kDataForkCFragLocator = 1, /* Container is in a file's data fork.*/
+ kResourceCFragLocator = 2, /* Container is in a file's resource fork.*/
+ kNamedFragmentCFragLocator = 4, /* ! Reserved for possible future use!*/
+ kCFBundleCFragLocator = 5, /* Container is in the executable of a CFBundle*/
+ kCFBundlePreCFragLocator = 6 /* passed to init routines in lieu of kCFBundleCFragLocator*/
+};
+
+
+/*
+ --------------------------------------------------------------------------------------
+ A 'cfrg' resource consists of a header followed by a sequence of variable length
+ members. The constant kDefaultCFragNameLen only provides for a legal ANSI declaration
+ and for a reasonable display in a debugger. The actual name field is cut to fit.
+ There may be "extensions" after the name, the memberSize field includes them. The
+ general form of an extension is a 16 bit type code followed by a 16 bit size in bytes.
+ Only one standard extension type is defined at present, it is used by SOM's searching
+ mechanism.
+*/
+
+
+union CFragUsage1Union { /* ! Meaning differs depending on value of "usage".*/
+ UInt32 appStackSize; /* If the fragment is an application. (Not used by CFM!)*/
+};
+typedef union CFragUsage1Union CFragUsage1Union;
+union CFragUsage2Union { /* ! Meaning differs depending on value of "usage".*/
+ SInt16 appSubdirID; /* If the fragment is an application.*/
+ UInt16 libFlags; /* If the fragment is an import library.*/
+};
+typedef union CFragUsage2Union CFragUsage2Union;
+enum {
+ /* Bit masks for the CFragUsage2Union libFlags variant.*/
+ kCFragLibUsageMapPrivatelyMask = 0x0001 /* Put container in app heap if necessary.*/
+};
+
+union CFragWhere1Union { /* ! Meaning differs depending on value of "where".*/
+ UInt32 spaceID; /* If the fragment is in memory. (Actually an AddressSpaceID.)*/
+};
+typedef union CFragWhere1Union CFragWhere1Union;
+union CFragWhere2Union { /* ! Meaning differs depending on value of "where".*/
+ UInt16 reserved;
+};
+typedef union CFragWhere2Union CFragWhere2Union;
+enum {
+ kDefaultCFragNameLen = 16
+};
+
+
+struct CFragResourceMember {
+ CFragArchitecture architecture;
+ UInt16 reservedA; /* ! Must be zero!*/
+ UInt8 reservedB; /* ! Must be zero!*/
+ UInt8 updateLevel;
+ CFragVersionNumber currentVersion;
+ CFragVersionNumber oldDefVersion;
+ CFragUsage1Union uUsage1;
+ CFragUsage2Union uUsage2;
+ CFragUsage usage;
+ CFragLocatorKind where;
+ UInt32 offset;
+ UInt32 length;
+ CFragWhere1Union uWhere1;
+ CFragWhere2Union uWhere2;
+ UInt16 extensionCount; /* The number of extensions beyond the name.*/
+ UInt16 memberSize; /* Size in bytes, includes all extensions.*/
+ unsigned char name[16]; /* ! Actually a sized PString.*/
+};
+typedef struct CFragResourceMember CFragResourceMember;
+typedef CFragResourceMember * CFragResourceMemberPtr;
+struct CFragResourceExtensionHeader {
+ UInt16 extensionKind;
+ UInt16 extensionSize;
+};
+typedef struct CFragResourceExtensionHeader CFragResourceExtensionHeader;
+typedef CFragResourceExtensionHeader * CFragResourceExtensionHeaderPtr;
+struct CFragResourceSearchExtension {
+ CFragResourceExtensionHeader header;
+ OSType libKind;
+ unsigned char qualifiers[1]; /* ! Actually four PStrings.*/
+};
+typedef struct CFragResourceSearchExtension CFragResourceSearchExtension;
+typedef CFragResourceSearchExtension * CFragResourceSearchExtensionPtr;
+enum {
+ kCFragResourceSearchExtensionKind = 0x30EE
+};
+
+
+struct CFragResource {
+ UInt32 reservedA; /* ! Must be zero!*/
+ UInt32 reservedB; /* ! Must be zero!*/
+ UInt16 reservedC; /* ! Must be zero!*/
+ UInt16 version;
+ UInt32 reservedD; /* ! Must be zero!*/
+ UInt32 reservedE; /* ! Must be zero!*/
+ UInt32 reservedF; /* ! Must be zero!*/
+ UInt32 reservedG; /* ! Must be zero!*/
+ UInt16 reservedH; /* ! Must be zero!*/
+ UInt16 memberCount;
+ CFragResourceMember firstMember;
+};
+typedef struct CFragResource CFragResource;
+typedef CFragResource * CFragResourcePtr;
+typedef CFragResourcePtr * CFragResourceHandle;
+enum {
+ kCurrCFragResourceVersion = 1
+};
#define AlignToFour(aValue) (((aValue) + 3) & ~3)
@@ -285,363 +265,350 @@ extern "C" {
#define NextCFragResourceSearchQualifier(searchQualifierPtr) \
((StringPtr) ((BytePtr)searchQualifierPtr + searchQualifierPtr[0] + 1))
- typedef MPProcessID CFragContextID;
- typedef struct OpaqueCFragConnectionID* CFragConnectionID;
- typedef struct OpaqueCFragClosureID* CFragClosureID;
- typedef struct OpaqueCFragContainerID* CFragContainerID;
- typedef OptionBits CFragLoadOptions;
- enum
- {
- /* Values for type CFragLoadOptions.*/
- kReferenceCFrag = 0x0001, /* Try to use existing copy, increment reference counts.*/
- kFindCFrag = 0x0002, /* Try find an existing copy, do not increment reference counts.*/
- kPrivateCFragCopy = 0x0005 /* Prepare a new private copy. (kReferenceCFrag | 0x0004)*/
- };
-
-
- enum
- {
- kUnresolvedCFragSymbolAddress = 0
- };
-
-
- typedef UInt8 CFragSymbolClass;
- enum
- {
- /* Values for type CFragSymbolClass.*/
- kCodeCFragSymbol = 0,
- kDataCFragSymbol = 1,
- kTVectorCFragSymbol = 2,
- kTOCCFragSymbol = 3,
- kGlueCFragSymbol = 4
- };
-
-
- /*
- .
- ===========================================================================================
- Macros and Functions
- ====================
- */
+typedef MPProcessID CFragContextID;
+typedef struct OpaqueCFragConnectionID* CFragConnectionID;
+typedef struct OpaqueCFragClosureID* CFragClosureID;
+typedef struct OpaqueCFragContainerID* CFragContainerID;
+typedef OptionBits CFragLoadOptions;
+enum {
+ /* Values for type CFragLoadOptions.*/
+ kReferenceCFrag = 0x0001, /* Try to use existing copy, increment reference counts.*/
+ kFindCFrag = 0x0002, /* Try find an existing copy, do not increment reference counts.*/
+ kPrivateCFragCopy = 0x0005 /* Prepare a new private copy. (kReferenceCFrag | 0x0004)*/
+};
+
+
+enum {
+ kUnresolvedCFragSymbolAddress = 0
+};
+
+
+typedef UInt8 CFragSymbolClass;
+enum {
+ /* Values for type CFragSymbolClass.*/
+ kCodeCFragSymbol = 0,
+ kDataCFragSymbol = 1,
+ kTVectorCFragSymbol = 2,
+ kTOCCFragSymbol = 3,
+ kGlueCFragSymbol = 4
+};
+
+
+/*
+ .
+ ===========================================================================================
+ Macros and Functions
+ ====================
+*/
#define CFragHasFileLocation(where) \
( ((where) == kDataForkCFragLocator) || ((where) == kResourceCFragLocator) )
- /*
- * GetSharedLibrary()
- *
- * Discussion:
- * The connID, mainAddr, and errMessage parameters may be NULL with
- * MacOS 8.5 and later. Passing NULL as those parameters when
- * running Mac OS 8.1 and earlier systems will corrupt low-memory.
- *
- * Availability:
- * Non-Carbon CFM: in CFragManager 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSharedLibrary(
- ConstStr63Param libName,
- CFragArchitecture archType,
- CFragLoadOptions options,
- CFragConnectionID * connID,
- Ptr * mainAddr,
- Str255 errMessage) THREEWORDINLINE(0x3F3C, 0x0001, 0xAA5A);
-
-
- /*
- * GetDiskFragment()
- *
- * Availability:
- * Non-Carbon CFM: in CFragManager 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDiskFragment(
- const FSSpec * fileSpec,
- UInt32 offset,
- UInt32 length,
- ConstStr63Param fragName, /* can be NULL */
- CFragLoadOptions options,
- CFragConnectionID * connID, /* can be NULL */
- Ptr * mainAddr, /* can be NULL */
- Str255 errMessage) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0002, 0xAA5A);
-
-
- /*
- * GetMemFragment()
- *
- * Availability:
- * Non-Carbon CFM: in CFragManager 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMemFragment(
- void * memAddr,
- UInt32 length,
- ConstStr63Param fragName, /* can be NULL */
- CFragLoadOptions options,
- CFragConnectionID * connID, /* can be NULL */
- Ptr * mainAddr, /* can be NULL */
- Str255 errMessage) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0003, 0xAA5A);
-
-
- /*
- * CloseConnection()
- *
- * Availability:
- * Non-Carbon CFM: in CFragManager 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CloseConnection(CFragConnectionID * connID) THREEWORDINLINE(0x3F3C, 0x0004, 0xAA5A);
-
-
- /*
- * FindSymbol()
- *
- * Availability:
- * Non-Carbon CFM: in CFragManager 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FindSymbol(
- CFragConnectionID connID,
- ConstStr255Param symName,
- Ptr * symAddr, /* can be NULL */
- CFragSymbolClass * symClass) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0005, 0xAA5A);
-
-
- /*
- * CountSymbols()
- *
- * Availability:
- * Non-Carbon CFM: in CFragManager 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CountSymbols(
- CFragConnectionID connID,
- long * symCount) THREEWORDINLINE(0x3F3C, 0x0006, 0xAA5A);
-
-
- /*
- * GetIndSymbol()
- *
- * Availability:
- * Non-Carbon CFM: in CFragManager 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIndSymbol(
- CFragConnectionID connID,
- long symIndex,
- Str255 symName, /* can be NULL */
- Ptr * symAddr, /* can be NULL */
- CFragSymbolClass * symClass) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0007, 0xAA5A);
-
-
- /*
- .
- ===========================================================================================
- Initialization & Termination Routines
- =====================================
- */
-
-
- /*
- -----------------------------------------------------------------------------------------
- A fragment's initialization and termination routines are called when a new incarnation of
- the fragment is created or destroyed, respectively. Exactly when this occurs depends on
- what kinds of section sharing the fragment has and how the fragment is prepared. Import
- libraries have at most one incarnation per process. Fragments prepared with option
- kPrivateCFragCopy may have many incarnations per process.
- The initialization function is passed a pointer to an initialization information structure
- and returns an OSErr. If an initialization function returns a non-zero value the entire
- closure of which it is a part fails. The C prototype for an initialization function is:
- OSErr CFragInitFunction ( const CFragInitBlock * initBlock );
- The termination procedure takes no parameters and returns nothing. The C prototype for a
- termination procedure is:
- void CFragTermProcedure ( void );
- Note that since the initialization and termination routines are themselves "CFM"-style
- routines whether or not they have the "pascal" keyword is irrelevant.
- */
-
-
- /*
- -----------------------------------------------------------------------------------------
- ! Note:
- ! The "System7" portion of these type names was introduced during the evolution towards
- ! the now defunct Copland version of Mac OS. Copland was to be called System 8 and there
- ! were slightly different types for System 7 and System 8. The "generic" type names were
- ! conditionally defined for the desired target system.
- ! Always use the generic types, e.g. CFragInitBlock! The "System7" names have been kept
- ! only to avoid perturbing code that (improperly) used the target specific type.
- */
-
-
- struct CFragSystem7MemoryLocator
- {
- LogicalAddress address;
- UInt32 length;
- Boolean inPlace;
- UInt8 reservedA; /* ! Must be zero!*/
- UInt16 reservedB; /* ! Must be zero!*/
- };
- typedef struct CFragSystem7MemoryLocator CFragSystem7MemoryLocator;
- struct CFragSystem7DiskFlatLocator
- {
- FSSpec * fileSpec;
- UInt32 offset;
- UInt32 length;
- };
- typedef struct CFragSystem7DiskFlatLocator CFragSystem7DiskFlatLocator;
- /* ! This must have a file specification at the same offset as a disk flat locator!*/
- struct CFragSystem7SegmentedLocator
- {
- FSSpec * fileSpec;
- OSType rsrcType;
- SInt16 rsrcID;
- UInt16 reservedA; /* ! Must be zero!*/
- };
- typedef struct CFragSystem7SegmentedLocator CFragSystem7SegmentedLocator;
- /*
- The offset and length for a "Bundle" locator refers to the offset in
- the CFM executable contained by the bundle.
- */
- struct CFragCFBundleLocator
- {
- CFBundleRef fragmentBundle; /* Do not call CFRelease on this bundle!*/
- UInt32 offset;
- UInt32 length;
- };
- typedef struct CFragCFBundleLocator CFragCFBundleLocator;
- struct CFragSystem7Locator
- {
- SInt32 where;
- union
- {
- CFragSystem7DiskFlatLocator onDisk;
- CFragSystem7MemoryLocator inMem;
- CFragSystem7SegmentedLocator inSegs;
- CFragCFBundleLocator inBundle;
- } u;
- };
- typedef struct CFragSystem7Locator CFragSystem7Locator;
- typedef CFragSystem7Locator * CFragSystem7LocatorPtr;
- struct CFragSystem7InitBlock
- {
- CFragContextID contextID;
- CFragClosureID closureID;
- CFragConnectionID connectionID;
- CFragSystem7Locator fragLocator;
- StringPtr libName;
- UInt32 reservedA; /* ! Must be zero!*/
- };
- typedef struct CFragSystem7InitBlock CFragSystem7InitBlock;
- typedef CFragSystem7InitBlock * CFragSystem7InitBlockPtr;
- typedef CFragSystem7InitBlock CFragInitBlock;
- typedef CFragSystem7InitBlockPtr CFragInitBlockPtr;
- /* These init/term routine types are only of value to CFM itself.*/
- typedef CALLBACK_API_C(OSErr , CFragInitFunction)(const CFragInitBlock * initBlock);
- typedef CALLBACK_API_C(void , CFragTermProcedure)(void);
- /* For use by init routines. If you get a BundlePreLocator, convert it to a CFBundleLocator with this*/
- /*
- * ConvertBundlePreLocator()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ConvertBundlePreLocator(CFragSystem7LocatorPtr initBlockLocator);
-
-
-
-
- /*
- .
- ===========================================================================================
- Old Name Spellings
- ==================
- */
-
-
- /*
- -------------------------------------------------------------------------------------------
- We've tried to reduce the risk of name collisions in the future by introducing the phrase
- "CFrag" into constant and type names. The old names are defined below in terms of the new.
- */
-
-
- enum
- {
- kLoadCFrag = kReferenceCFrag
- };
+/*
+ * GetSharedLibrary()
+ *
+ * Discussion:
+ * The connID, mainAddr, and errMessage parameters may be NULL with
+ * MacOS 8.5 and later. Passing NULL as those parameters when
+ * running Mac OS 8.1 and earlier systems will corrupt low-memory.
+ *
+ * Availability:
+ * Non-Carbon CFM: in CFragManager 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSharedLibrary(
+ ConstStr63Param libName,
+ CFragArchitecture archType,
+ CFragLoadOptions options,
+ CFragConnectionID * connID,
+ Ptr * mainAddr,
+ Str255 errMessage) THREEWORDINLINE(0x3F3C, 0x0001, 0xAA5A);
+
+
+/*
+ * GetDiskFragment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CFragManager 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDiskFragment(
+ const FSSpec * fileSpec,
+ UInt32 offset,
+ UInt32 length,
+ ConstStr63Param fragName, /* can be NULL */
+ CFragLoadOptions options,
+ CFragConnectionID * connID, /* can be NULL */
+ Ptr * mainAddr, /* can be NULL */
+ Str255 errMessage) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0002, 0xAA5A);
+
+
+/*
+ * GetMemFragment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CFragManager 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMemFragment(
+ void * memAddr,
+ UInt32 length,
+ ConstStr63Param fragName, /* can be NULL */
+ CFragLoadOptions options,
+ CFragConnectionID * connID, /* can be NULL */
+ Ptr * mainAddr, /* can be NULL */
+ Str255 errMessage) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0003, 0xAA5A);
+
+
+/*
+ * CloseConnection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CFragManager 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CloseConnection(CFragConnectionID * connID) THREEWORDINLINE(0x3F3C, 0x0004, 0xAA5A);
+
+
+/*
+ * FindSymbol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CFragManager 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FindSymbol(
+ CFragConnectionID connID,
+ ConstStr255Param symName,
+ Ptr * symAddr, /* can be NULL */
+ CFragSymbolClass * symClass) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0005, 0xAA5A);
+
+
+/*
+ * CountSymbols()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CFragManager 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CountSymbols(
+ CFragConnectionID connID,
+ long * symCount) THREEWORDINLINE(0x3F3C, 0x0006, 0xAA5A);
+
+
+/*
+ * GetIndSymbol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CFragManager 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIndSymbol(
+ CFragConnectionID connID,
+ long symIndex,
+ Str255 symName, /* can be NULL */
+ Ptr * symAddr, /* can be NULL */
+ CFragSymbolClass * symClass) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0007, 0xAA5A);
+
+
+/*
+ .
+ ===========================================================================================
+ Initialization & Termination Routines
+ =====================================
+*/
+
+
+/*
+ -----------------------------------------------------------------------------------------
+ A fragment's initialization and termination routines are called when a new incarnation of
+ the fragment is created or destroyed, respectively. Exactly when this occurs depends on
+ what kinds of section sharing the fragment has and how the fragment is prepared. Import
+ libraries have at most one incarnation per process. Fragments prepared with option
+ kPrivateCFragCopy may have many incarnations per process.
+ The initialization function is passed a pointer to an initialization information structure
+ and returns an OSErr. If an initialization function returns a non-zero value the entire
+ closure of which it is a part fails. The C prototype for an initialization function is:
+ OSErr CFragInitFunction ( const CFragInitBlock * initBlock );
+ The termination procedure takes no parameters and returns nothing. The C prototype for a
+ termination procedure is:
+ void CFragTermProcedure ( void );
+ Note that since the initialization and termination routines are themselves "CFM"-style
+ routines whether or not they have the "pascal" keyword is irrelevant.
+*/
+
+
+/*
+ -----------------------------------------------------------------------------------------
+ ! Note:
+ ! The "System7" portion of these type names was introduced during the evolution towards
+ ! the now defunct Copland version of Mac OS. Copland was to be called System 8 and there
+ ! were slightly different types for System 7 and System 8. The "generic" type names were
+ ! conditionally defined for the desired target system.
+ ! Always use the generic types, e.g. CFragInitBlock! The "System7" names have been kept
+ ! only to avoid perturbing code that (improperly) used the target specific type.
+*/
+
+
+struct CFragSystem7MemoryLocator {
+ LogicalAddress address;
+ UInt32 length;
+ Boolean inPlace;
+ UInt8 reservedA; /* ! Must be zero!*/
+ UInt16 reservedB; /* ! Must be zero!*/
+};
+typedef struct CFragSystem7MemoryLocator CFragSystem7MemoryLocator;
+struct CFragSystem7DiskFlatLocator {
+ FSSpec * fileSpec;
+ UInt32 offset;
+ UInt32 length;
+};
+typedef struct CFragSystem7DiskFlatLocator CFragSystem7DiskFlatLocator;
+/* ! This must have a file specification at the same offset as a disk flat locator!*/
+struct CFragSystem7SegmentedLocator {
+ FSSpec * fileSpec;
+ OSType rsrcType;
+ SInt16 rsrcID;
+ UInt16 reservedA; /* ! Must be zero!*/
+};
+typedef struct CFragSystem7SegmentedLocator CFragSystem7SegmentedLocator;
+/*
+ The offset and length for a "Bundle" locator refers to the offset in
+ the CFM executable contained by the bundle.
+*/
+struct CFragCFBundleLocator {
+ CFBundleRef fragmentBundle; /* Do not call CFRelease on this bundle!*/
+ UInt32 offset;
+ UInt32 length;
+};
+typedef struct CFragCFBundleLocator CFragCFBundleLocator;
+struct CFragSystem7Locator {
+ SInt32 where;
+ union {
+ CFragSystem7DiskFlatLocator onDisk;
+ CFragSystem7MemoryLocator inMem;
+ CFragSystem7SegmentedLocator inSegs;
+ CFragCFBundleLocator inBundle;
+ } u;
+};
+typedef struct CFragSystem7Locator CFragSystem7Locator;
+typedef CFragSystem7Locator * CFragSystem7LocatorPtr;
+struct CFragSystem7InitBlock {
+ CFragContextID contextID;
+ CFragClosureID closureID;
+ CFragConnectionID connectionID;
+ CFragSystem7Locator fragLocator;
+ StringPtr libName;
+ UInt32 reservedA; /* ! Must be zero!*/
+};
+typedef struct CFragSystem7InitBlock CFragSystem7InitBlock;
+typedef CFragSystem7InitBlock * CFragSystem7InitBlockPtr;
+typedef CFragSystem7InitBlock CFragInitBlock;
+typedef CFragSystem7InitBlockPtr CFragInitBlockPtr;
+/* These init/term routine types are only of value to CFM itself.*/
+typedef CALLBACK_API_C( OSErr , CFragInitFunction )(const CFragInitBlock * initBlock);
+typedef CALLBACK_API_C( void , CFragTermProcedure )(void);
+/* For use by init routines. If you get a BundlePreLocator, convert it to a CFBundleLocator with this*/
+/*
+ * ConvertBundlePreLocator()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ConvertBundlePreLocator(CFragSystem7LocatorPtr initBlockLocator);
+
+
+
+
+/*
+ .
+ ===========================================================================================
+ Old Name Spellings
+ ==================
+*/
+
+
+/*
+ -------------------------------------------------------------------------------------------
+ We've tried to reduce the risk of name collisions in the future by introducing the phrase
+ "CFrag" into constant and type names. The old names are defined below in terms of the new.
+*/
+
+
+enum {
+ kLoadCFrag = kReferenceCFrag
+};
#if OLDROUTINENAMES
#define IsFileLocation CFragHasFileLocation
- typedef CFragConnectionID ConnectionID;
- typedef CFragLoadOptions LoadFlags;
- typedef CFragSymbolClass SymClass;
- typedef CFragInitBlock InitBlock;
- typedef CFragInitBlockPtr InitBlockPtr;
- typedef CFragSystem7MemoryLocator MemFragment;
- typedef CFragSystem7DiskFlatLocator DiskFragment;
- typedef CFragSystem7SegmentedLocator SegmentedFragment;
- typedef CFragSystem7Locator FragmentLocator;
- typedef CFragSystem7LocatorPtr FragmentLocatorPtr;
- typedef CFragSystem7MemoryLocator CFragHFSMemoryLocator;
- typedef CFragSystem7DiskFlatLocator CFragHFSDiskFlatLocator;
- typedef CFragSystem7SegmentedLocator CFragHFSSegmentedLocator;
- typedef CFragSystem7Locator CFragHFSLocator;
- typedef CFragSystem7LocatorPtr CFragHFSLocatorPtr;
- enum
- {
- kPowerPCArch = kPowerPCCFragArch,
- kMotorola68KArch = kMotorola68KCFragArch,
- kAnyArchType = kAnyCFragArch,
- kNoLibName = 0,
- kNoConnectionID = 0,
- kLoadLib = kLoadCFrag,
- kFindLib = kFindCFrag,
- kNewCFragCopy = kPrivateCFragCopy,
- kLoadNewCopy = kPrivateCFragCopy,
- kUseInPlace = 0x80,
- kCodeSym = kCodeCFragSymbol,
- kDataSym = kDataCFragSymbol,
- kTVectSym = kTVectorCFragSymbol,
- kTOCSym = kTOCCFragSymbol,
- kGlueSym = kGlueCFragSymbol,
- kInMem = kMemoryCFragLocator,
- kOnDiskFlat = kDataForkCFragLocator,
- kOnDiskSegmented = kResourceCFragLocator,
- kIsLib = kImportLibraryCFrag,
- kIsApp = kApplicationCFrag,
- kIsDropIn = kDropInAdditionCFrag,
- kFullLib = kIsCompleteCFrag,
- kUpdateLib = kFirstCFragUpdate,
- kWholeFork = kCFragGoesToEOF,
- kCFMRsrcType = kCFragResourceType,
- kCFMRsrcID = kCFragResourceID,
- kSHLBFileType = kCFragLibraryFileType,
- kUnresolvedSymbolAddress = kUnresolvedCFragSymbolAddress
- };
-
- enum
- {
- kPowerPC = kPowerPCCFragArch,
- kMotorola68K = kMotorola68KCFragArch
- };
+typedef CFragConnectionID ConnectionID;
+typedef CFragLoadOptions LoadFlags;
+typedef CFragSymbolClass SymClass;
+typedef CFragInitBlock InitBlock;
+typedef CFragInitBlockPtr InitBlockPtr;
+typedef CFragSystem7MemoryLocator MemFragment;
+typedef CFragSystem7DiskFlatLocator DiskFragment;
+typedef CFragSystem7SegmentedLocator SegmentedFragment;
+typedef CFragSystem7Locator FragmentLocator;
+typedef CFragSystem7LocatorPtr FragmentLocatorPtr;
+typedef CFragSystem7MemoryLocator CFragHFSMemoryLocator;
+typedef CFragSystem7DiskFlatLocator CFragHFSDiskFlatLocator;
+typedef CFragSystem7SegmentedLocator CFragHFSSegmentedLocator;
+typedef CFragSystem7Locator CFragHFSLocator;
+typedef CFragSystem7LocatorPtr CFragHFSLocatorPtr;
+enum {
+ kPowerPCArch = kPowerPCCFragArch,
+ kMotorola68KArch = kMotorola68KCFragArch,
+ kAnyArchType = kAnyCFragArch,
+ kNoLibName = 0,
+ kNoConnectionID = 0,
+ kLoadLib = kLoadCFrag,
+ kFindLib = kFindCFrag,
+ kNewCFragCopy = kPrivateCFragCopy,
+ kLoadNewCopy = kPrivateCFragCopy,
+ kUseInPlace = 0x80,
+ kCodeSym = kCodeCFragSymbol,
+ kDataSym = kDataCFragSymbol,
+ kTVectSym = kTVectorCFragSymbol,
+ kTOCSym = kTOCCFragSymbol,
+ kGlueSym = kGlueCFragSymbol,
+ kInMem = kMemoryCFragLocator,
+ kOnDiskFlat = kDataForkCFragLocator,
+ kOnDiskSegmented = kResourceCFragLocator,
+ kIsLib = kImportLibraryCFrag,
+ kIsApp = kApplicationCFrag,
+ kIsDropIn = kDropInAdditionCFrag,
+ kFullLib = kIsCompleteCFrag,
+ kUpdateLib = kFirstCFragUpdate,
+ kWholeFork = kCFragGoesToEOF,
+ kCFMRsrcType = kCFragResourceType,
+ kCFMRsrcID = kCFragResourceID,
+ kSHLBFileType = kCFragLibraryFileType,
+ kUnresolvedSymbolAddress = kUnresolvedCFragSymbolAddress
+};
+
+enum {
+ kPowerPC = kPowerPCCFragArch,
+ kMotorola68K = kMotorola68KCFragArch
+};
#endif /* OLDROUTINENAMES */
@@ -652,11 +619,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Collections.h b/include/qt/Collections.h
index df6205c21..8ab30c57d 100644
--- a/include/qt/Collections.h
+++ b/include/qt/Collections.h
@@ -1,17 +1,17 @@
/*
File: Collections.h
-
+
Contains: Collection Manager Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __COLLECTIONS__
#define __COLLECTIONS__
@@ -39,1009 +39,984 @@ extern "C" {
#pragma import on
#endif
- /*************/
- /* Constants */
- /*************/
- /* Convenience constants for functions which optionally return values */
- enum {
- kCollectionDontWantTag = 0L,
- kCollectionDontWantId = 0L,
- kCollectionDontWantSize = 0L,
- kCollectionDontWantAttributes = 0L,
- kCollectionDontWantIndex = 0L,
- kCollectionDontWantData = 0L
- };
-
-
- /* attributes bits */
- enum
- {
- kCollectionNoAttributes = 0x00000000, /* no attributes bits set */
- kCollectionAllAttributes = (long)0xFFFFFFFF, /* all attributes bits set */
- kCollectionUserAttributes = 0x0000FFFF, /* user attributes bits */
- kCollectionDefaultAttributes = 0x40000000 /* default attributes - unlocked, persistent */
- };
-
-
- /*
- Attribute bits 0 through 15 (entire low word) are reserved for use by the application.
- Attribute bits 16 through 31 (entire high word) are reserved for use by the Collection Manager.
- Only bits 31 (kCollectionLockBit) and 30 (kCollectionPersistenceBit) currently have meaning.
- */
- enum
- {
- kCollectionUser0Bit = 0,
- kCollectionUser1Bit = 1,
- kCollectionUser2Bit = 2,
- kCollectionUser3Bit = 3,
- kCollectionUser4Bit = 4,
- kCollectionUser5Bit = 5,
- kCollectionUser6Bit = 6,
- kCollectionUser7Bit = 7,
- kCollectionUser8Bit = 8,
- kCollectionUser9Bit = 9,
- kCollectionUser10Bit = 10,
- kCollectionUser11Bit = 11,
- kCollectionUser12Bit = 12,
- kCollectionUser13Bit = 13,
- kCollectionUser14Bit = 14,
- kCollectionUser15Bit = 15,
- kCollectionReserved0Bit = 16,
- kCollectionReserved1Bit = 17,
- kCollectionReserved2Bit = 18,
- kCollectionReserved3Bit = 19,
- kCollectionReserved4Bit = 20,
- kCollectionReserved5Bit = 21,
- kCollectionReserved6Bit = 22,
- kCollectionReserved7Bit = 23,
- kCollectionReserved8Bit = 24,
- kCollectionReserved9Bit = 25,
- kCollectionReserved10Bit = 26,
- kCollectionReserved11Bit = 27,
- kCollectionReserved12Bit = 28,
- kCollectionReserved13Bit = 29,
- kCollectionPersistenceBit = 30,
- kCollectionLockBit = 31
- };
-
-
- /* attribute masks */
- enum
- {
- kCollectionUser0Mask = 1L << kCollectionUser0Bit,
- kCollectionUser1Mask = 1L << kCollectionUser1Bit,
- kCollectionUser2Mask = 1L << kCollectionUser2Bit,
- kCollectionUser3Mask = 1L << kCollectionUser3Bit,
- kCollectionUser4Mask = 1L << kCollectionUser4Bit,
- kCollectionUser5Mask = 1L << kCollectionUser5Bit,
- kCollectionUser6Mask = 1L << kCollectionUser6Bit,
- kCollectionUser7Mask = 1L << kCollectionUser7Bit,
- kCollectionUser8Mask = 1L << kCollectionUser8Bit,
- kCollectionUser9Mask = 1L << kCollectionUser9Bit,
- kCollectionUser10Mask = 1L << kCollectionUser10Bit,
- kCollectionUser11Mask = 1L << kCollectionUser11Bit,
- kCollectionUser12Mask = 1L << kCollectionUser12Bit,
- kCollectionUser13Mask = 1L << kCollectionUser13Bit,
- kCollectionUser14Mask = 1L << kCollectionUser14Bit,
- kCollectionUser15Mask = 1L << kCollectionUser15Bit,
- kCollectionReserved0Mask = 1L << kCollectionReserved0Bit,
- kCollectionReserved1Mask = 1L << kCollectionReserved1Bit,
- kCollectionReserved2Mask = 1L << kCollectionReserved2Bit,
- kCollectionReserved3Mask = 1L << kCollectionReserved3Bit,
- kCollectionReserved4Mask = 1L << kCollectionReserved4Bit,
- kCollectionReserved5Mask = 1L << kCollectionReserved5Bit,
- kCollectionReserved6Mask = 1L << kCollectionReserved6Bit,
- kCollectionReserved7Mask = 1L << kCollectionReserved7Bit,
- kCollectionReserved8Mask = 1L << kCollectionReserved8Bit,
- kCollectionReserved9Mask = 1L << kCollectionReserved9Bit,
- kCollectionReserved10Mask = 1L << kCollectionReserved10Bit,
- kCollectionReserved11Mask = 1L << kCollectionReserved11Bit,
- kCollectionReserved12Mask = 1L << kCollectionReserved12Bit,
- kCollectionReserved13Mask = 1L << kCollectionReserved13Bit,
- kCollectionPersistenceMask = 1L << kCollectionPersistenceBit,
- kCollectionLockMask = 1L << kCollectionLockBit
- };
-
-
- /***********/
- /* Types */
- /***********/
- /* abstract data type for a collection */
- typedef struct OpaqueCollection* Collection;
- /* collection member 4 byte tag */
- typedef FourCharCode CollectionTag;
- typedef CALLBACK_API(OSErr , CollectionFlattenProcPtr)(SInt32 size, void *data, void *refCon);
- typedef CALLBACK_API(OSErr , CollectionExceptionProcPtr)(Collection c, OSErr status);
- typedef STACK_UPP_TYPE(CollectionFlattenProcPtr) CollectionFlattenUPP;
- typedef STACK_UPP_TYPE(CollectionExceptionProcPtr) CollectionExceptionUPP;
- /*
- * NewCollectionFlattenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CollectionFlattenUPP)
- NewCollectionFlattenUPP(CollectionFlattenProcPtr userRoutine);
+/*************/
+/* Constants */
+/*************/
+/* Convenience constants for functions which optionally return values */
+enum {
+ kCollectionDontWantTag = 0L,
+ kCollectionDontWantId = 0L,
+ kCollectionDontWantSize = 0L,
+ kCollectionDontWantAttributes = 0L,
+ kCollectionDontWantIndex = 0L,
+ kCollectionDontWantData = 0L
+};
+
+
+/* attributes bits */
+enum {
+ kCollectionNoAttributes = 0x00000000, /* no attributes bits set */
+ kCollectionAllAttributes = (long)0xFFFFFFFF, /* all attributes bits set */
+ kCollectionUserAttributes = 0x0000FFFF, /* user attributes bits */
+ kCollectionDefaultAttributes = 0x40000000 /* default attributes - unlocked, persistent */
+};
+
+
+/*
+ Attribute bits 0 through 15 (entire low word) are reserved for use by the application.
+ Attribute bits 16 through 31 (entire high word) are reserved for use by the Collection Manager.
+ Only bits 31 (kCollectionLockBit) and 30 (kCollectionPersistenceBit) currently have meaning.
+*/
+enum {
+ kCollectionUser0Bit = 0,
+ kCollectionUser1Bit = 1,
+ kCollectionUser2Bit = 2,
+ kCollectionUser3Bit = 3,
+ kCollectionUser4Bit = 4,
+ kCollectionUser5Bit = 5,
+ kCollectionUser6Bit = 6,
+ kCollectionUser7Bit = 7,
+ kCollectionUser8Bit = 8,
+ kCollectionUser9Bit = 9,
+ kCollectionUser10Bit = 10,
+ kCollectionUser11Bit = 11,
+ kCollectionUser12Bit = 12,
+ kCollectionUser13Bit = 13,
+ kCollectionUser14Bit = 14,
+ kCollectionUser15Bit = 15,
+ kCollectionReserved0Bit = 16,
+ kCollectionReserved1Bit = 17,
+ kCollectionReserved2Bit = 18,
+ kCollectionReserved3Bit = 19,
+ kCollectionReserved4Bit = 20,
+ kCollectionReserved5Bit = 21,
+ kCollectionReserved6Bit = 22,
+ kCollectionReserved7Bit = 23,
+ kCollectionReserved8Bit = 24,
+ kCollectionReserved9Bit = 25,
+ kCollectionReserved10Bit = 26,
+ kCollectionReserved11Bit = 27,
+ kCollectionReserved12Bit = 28,
+ kCollectionReserved13Bit = 29,
+ kCollectionPersistenceBit = 30,
+ kCollectionLockBit = 31
+};
+
+
+/* attribute masks */
+enum {
+ kCollectionUser0Mask = 1L << kCollectionUser0Bit,
+ kCollectionUser1Mask = 1L << kCollectionUser1Bit,
+ kCollectionUser2Mask = 1L << kCollectionUser2Bit,
+ kCollectionUser3Mask = 1L << kCollectionUser3Bit,
+ kCollectionUser4Mask = 1L << kCollectionUser4Bit,
+ kCollectionUser5Mask = 1L << kCollectionUser5Bit,
+ kCollectionUser6Mask = 1L << kCollectionUser6Bit,
+ kCollectionUser7Mask = 1L << kCollectionUser7Bit,
+ kCollectionUser8Mask = 1L << kCollectionUser8Bit,
+ kCollectionUser9Mask = 1L << kCollectionUser9Bit,
+ kCollectionUser10Mask = 1L << kCollectionUser10Bit,
+ kCollectionUser11Mask = 1L << kCollectionUser11Bit,
+ kCollectionUser12Mask = 1L << kCollectionUser12Bit,
+ kCollectionUser13Mask = 1L << kCollectionUser13Bit,
+ kCollectionUser14Mask = 1L << kCollectionUser14Bit,
+ kCollectionUser15Mask = 1L << kCollectionUser15Bit,
+ kCollectionReserved0Mask = 1L << kCollectionReserved0Bit,
+ kCollectionReserved1Mask = 1L << kCollectionReserved1Bit,
+ kCollectionReserved2Mask = 1L << kCollectionReserved2Bit,
+ kCollectionReserved3Mask = 1L << kCollectionReserved3Bit,
+ kCollectionReserved4Mask = 1L << kCollectionReserved4Bit,
+ kCollectionReserved5Mask = 1L << kCollectionReserved5Bit,
+ kCollectionReserved6Mask = 1L << kCollectionReserved6Bit,
+ kCollectionReserved7Mask = 1L << kCollectionReserved7Bit,
+ kCollectionReserved8Mask = 1L << kCollectionReserved8Bit,
+ kCollectionReserved9Mask = 1L << kCollectionReserved9Bit,
+ kCollectionReserved10Mask = 1L << kCollectionReserved10Bit,
+ kCollectionReserved11Mask = 1L << kCollectionReserved11Bit,
+ kCollectionReserved12Mask = 1L << kCollectionReserved12Bit,
+ kCollectionReserved13Mask = 1L << kCollectionReserved13Bit,
+ kCollectionPersistenceMask = 1L << kCollectionPersistenceBit,
+ kCollectionLockMask = 1L << kCollectionLockBit
+};
+
+
+/***********/
+/* Types */
+/***********/
+/* abstract data type for a collection */
+typedef struct OpaqueCollection* Collection;
+/* collection member 4 byte tag */
+typedef FourCharCode CollectionTag;
+typedef CALLBACK_API( OSErr , CollectionFlattenProcPtr )(SInt32 size, void *data, void *refCon);
+typedef CALLBACK_API( OSErr , CollectionExceptionProcPtr )(Collection c, OSErr status);
+typedef STACK_UPP_TYPE(CollectionFlattenProcPtr) CollectionFlattenUPP;
+typedef STACK_UPP_TYPE(CollectionExceptionProcPtr) CollectionExceptionUPP;
+/*
+ * NewCollectionFlattenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CollectionFlattenUPP )
+NewCollectionFlattenUPP(CollectionFlattenProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCollectionFlattenProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CollectionFlattenUPP) NewCollectionFlattenUPP(CollectionFlattenProcPtr userRoutine)
- {
- return (CollectionFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionFlattenProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCollectionFlattenUPP(userRoutine) (CollectionFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionFlattenProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCollectionFlattenProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CollectionFlattenUPP) NewCollectionFlattenUPP(CollectionFlattenProcPtr userRoutine) { return (CollectionFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionFlattenProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCollectionFlattenUPP(userRoutine) (CollectionFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionFlattenProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCollectionExceptionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CollectionExceptionUPP)
- NewCollectionExceptionUPP(CollectionExceptionProcPtr userRoutine);
+/*
+ * NewCollectionExceptionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CollectionExceptionUPP )
+NewCollectionExceptionUPP(CollectionExceptionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCollectionExceptionProcInfo = 0x000002E0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CollectionExceptionUPP) NewCollectionExceptionUPP(CollectionExceptionProcPtr userRoutine)
- {
- return (CollectionExceptionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionExceptionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCollectionExceptionUPP(userRoutine) (CollectionExceptionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionExceptionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCollectionExceptionProcInfo = 0x000002E0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CollectionExceptionUPP) NewCollectionExceptionUPP(CollectionExceptionProcPtr userRoutine) { return (CollectionExceptionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionExceptionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCollectionExceptionUPP(userRoutine) (CollectionExceptionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionExceptionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeCollectionFlattenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCollectionFlattenUPP(CollectionFlattenUPP userUPP);
+/*
+ * DisposeCollectionFlattenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCollectionFlattenUPP(CollectionFlattenUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCollectionFlattenUPP(CollectionFlattenUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCollectionFlattenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCollectionFlattenUPP(CollectionFlattenUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCollectionFlattenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCollectionExceptionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCollectionExceptionUPP(CollectionExceptionUPP userUPP);
+/*
+ * DisposeCollectionExceptionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCollectionExceptionUPP(CollectionExceptionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCollectionExceptionUPP(CollectionExceptionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCollectionExceptionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCollectionExceptionUPP(CollectionExceptionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCollectionExceptionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeCollectionFlattenUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeCollectionFlattenUPP(
- SInt32 size,
- void * data,
- void * refCon,
- CollectionFlattenUPP userUPP);
+/*
+ * InvokeCollectionFlattenUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeCollectionFlattenUPP(
+ SInt32 size,
+ void * data,
+ void * refCon,
+ CollectionFlattenUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeCollectionFlattenUPP(SInt32 size, void * data, void * refCon, CollectionFlattenUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppCollectionFlattenProcInfo, size, data, refCon);
- }
-#else
-#define InvokeCollectionFlattenUPP(size, data, refCon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppCollectionFlattenProcInfo, (size), (data), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeCollectionFlattenUPP(SInt32 size, void * data, void * refCon, CollectionFlattenUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppCollectionFlattenProcInfo, size, data, refCon); }
+ #else
+ #define InvokeCollectionFlattenUPP(size, data, refCon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppCollectionFlattenProcInfo, (size), (data), (refCon))
+ #endif
#endif
- /*
- * InvokeCollectionExceptionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeCollectionExceptionUPP(
- Collection c,
- OSErr status,
- CollectionExceptionUPP userUPP);
+/*
+ * InvokeCollectionExceptionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeCollectionExceptionUPP(
+ Collection c,
+ OSErr status,
+ CollectionExceptionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeCollectionExceptionUPP(Collection c, OSErr status, CollectionExceptionUPP userUPP)
- {
- return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCollectionExceptionProcInfo, c, status);
- }
-#else
-#define InvokeCollectionExceptionUPP(c, status, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppCollectionExceptionProcInfo, (c), (status))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeCollectionExceptionUPP(Collection c, OSErr status, CollectionExceptionUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCollectionExceptionProcInfo, c, status); }
+ #else
+ #define InvokeCollectionExceptionUPP(c, status, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppCollectionExceptionProcInfo, (c), (status))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewCollectionFlattenProc(userRoutine) NewCollectionFlattenUPP(userRoutine)
-#define NewCollectionExceptionProc(userRoutine) NewCollectionExceptionUPP(userRoutine)
-#define CallCollectionFlattenProc(userRoutine, size, data, refCon) InvokeCollectionFlattenUPP(size, data, refCon, userRoutine)
-#define CallCollectionExceptionProc(userRoutine, c, status) InvokeCollectionExceptionUPP(c, status, userRoutine)
+ #define NewCollectionFlattenProc(userRoutine) NewCollectionFlattenUPP(userRoutine)
+ #define NewCollectionExceptionProc(userRoutine) NewCollectionExceptionUPP(userRoutine)
+ #define CallCollectionFlattenProc(userRoutine, size, data, refCon) InvokeCollectionFlattenUPP(size, data, refCon, userRoutine)
+ #define CallCollectionExceptionProc(userRoutine, c, status) InvokeCollectionExceptionUPP(c, status, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*********************************************/
- /************* Public interfaces *************/
- /*********************************************/
- /*
- * NewCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Collection)
- NewCollection(void) TWOWORDINLINE(0x7000, 0xABF6);
-
-
-
- /*
- * DisposeCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeCollection(Collection c) TWOWORDINLINE(0x7001, 0xABF6);
-
-
-
- /*
- * CloneCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Collection)
- CloneCollection(Collection c) TWOWORDINLINE(0x7002, 0xABF6);
-
-
-
- /*
- * CountCollectionOwners()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- CountCollectionOwners(Collection c) TWOWORDINLINE(0x7003, 0xABF6);
-
-
-
- /*
- * RetainCollection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- RetainCollection(Collection c);
-
-
-
- /*
- * ReleaseCollection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- ReleaseCollection(Collection c);
-
-
-
- /*
- * GetCollectionRetainCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(ItemCount)
- GetCollectionRetainCount(Collection c);
-
-
-
- /*
- * CopyCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Collection)
- CopyCollection(
- Collection srcCollection,
- Collection dstCollection) TWOWORDINLINE(0x7004, 0xABF6);
-
-
-
- /*
- * GetCollectionDefaultAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetCollectionDefaultAttributes(Collection c) TWOWORDINLINE(0x7005, 0xABF6);
-
-
-
- /*
- * SetCollectionDefaultAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetCollectionDefaultAttributes(
- Collection c,
- SInt32 whichAttributes,
- SInt32 newAttributes) TWOWORDINLINE(0x7006, 0xABF6);
-
-
-
- /*
- * CountCollectionItems()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- CountCollectionItems(Collection c) TWOWORDINLINE(0x7007, 0xABF6);
-
-
-
- /*
- * AddCollectionItem()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AddCollectionItem(
- Collection c,
- CollectionTag tag,
- SInt32 id,
- SInt32 itemSize,
- const void * itemData) TWOWORDINLINE(0x7008, 0xABF6);
-
-
-
- /*
- * GetCollectionItem()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetCollectionItem(
- Collection c,
- CollectionTag tag,
- SInt32 id,
- SInt32 * itemSize,
- void * itemData) TWOWORDINLINE(0x7009, 0xABF6);
-
-
-
- /*
- * RemoveCollectionItem()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RemoveCollectionItem(
- Collection c,
- CollectionTag tag,
- SInt32 id) TWOWORDINLINE(0x700A, 0xABF6);
-
-
-
- /*
- * SetCollectionItemInfo()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetCollectionItemInfo(
- Collection c,
- CollectionTag tag,
- SInt32 id,
- SInt32 whichAttributes,
- SInt32 newAttributes) TWOWORDINLINE(0x700B, 0xABF6);
-
-
-
- /*
- * GetCollectionItemInfo()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetCollectionItemInfo(
- Collection c,
- CollectionTag tag,
- SInt32 id,
- SInt32 * index,
- SInt32 * itemSize,
- SInt32 * attributes) TWOWORDINLINE(0x700C, 0xABF6);
-
-
-
- /*
- * ReplaceIndexedCollectionItem()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ReplaceIndexedCollectionItem(
- Collection c,
- SInt32 index,
- SInt32 itemSize,
- const void * itemData) TWOWORDINLINE(0x700D, 0xABF6);
-
-
-
- /*
- * GetIndexedCollectionItem()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIndexedCollectionItem(
- Collection c,
- SInt32 index,
- SInt32 * itemSize,
- void * itemData) TWOWORDINLINE(0x700E, 0xABF6);
-
-
-
- /*
- * RemoveIndexedCollectionItem()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RemoveIndexedCollectionItem(
- Collection c,
- SInt32 index) TWOWORDINLINE(0x700F, 0xABF6);
-
-
-
- /*
- * SetIndexedCollectionItemInfo()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetIndexedCollectionItemInfo(
- Collection c,
- SInt32 index,
- SInt32 whichAttributes,
- SInt32 newAttributes) TWOWORDINLINE(0x7010, 0xABF6);
-
-
-
- /*
- * GetIndexedCollectionItemInfo()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIndexedCollectionItemInfo(
- Collection c,
- SInt32 index,
- CollectionTag * tag,
- SInt32 * id,
- SInt32 * itemSize,
- SInt32 * attributes) TWOWORDINLINE(0x7011, 0xABF6);
-
-
-
- /*
- * CollectionTagExists()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- CollectionTagExists(
- Collection c,
- CollectionTag tag) TWOWORDINLINE(0x7012, 0xABF6);
-
-
-
- /*
- * CountCollectionTags()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- CountCollectionTags(Collection c) TWOWORDINLINE(0x7013, 0xABF6);
-
-
-
- /*
- * GetIndexedCollectionTag()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIndexedCollectionTag(
- Collection c,
- SInt32 tagIndex,
- CollectionTag * tag) TWOWORDINLINE(0x7014, 0xABF6);
-
-
-
- /*
- * CountTaggedCollectionItems()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- CountTaggedCollectionItems(
- Collection c,
- CollectionTag tag) TWOWORDINLINE(0x7015, 0xABF6);
-
-
-
- /*
- * GetTaggedCollectionItem()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetTaggedCollectionItem(
- Collection c,
- CollectionTag tag,
- SInt32 whichItem,
- SInt32 * itemSize,
- void * itemData) TWOWORDINLINE(0x7016, 0xABF6);
-
-
-
- /*
- * GetTaggedCollectionItemInfo()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetTaggedCollectionItemInfo(
- Collection c,
- CollectionTag tag,
- SInt32 whichItem,
- SInt32 * id,
- SInt32 * index,
- SInt32 * itemSize,
- SInt32 * attributes) TWOWORDINLINE(0x7017, 0xABF6);
-
-
-
- /*
- * PurgeCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PurgeCollection(
- Collection c,
- SInt32 whichAttributes,
- SInt32 matchingAttributes) TWOWORDINLINE(0x7018, 0xABF6);
-
-
-
- /*
- * PurgeCollectionTag()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PurgeCollectionTag(
- Collection c,
- CollectionTag tag) TWOWORDINLINE(0x7019, 0xABF6);
-
-
-
- /*
- * EmptyCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EmptyCollection(Collection c) TWOWORDINLINE(0x701A, 0xABF6);
-
-
- /*
- * FlattenCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FlattenCollection(
- Collection c,
- CollectionFlattenUPP flattenProc,
- void * refCon) TWOWORDINLINE(0x701B, 0xABF6);
-
-
-
- /*
- * FlattenPartialCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FlattenPartialCollection(
- Collection c,
- CollectionFlattenUPP flattenProc,
- void * refCon,
- SInt32 whichAttributes,
- SInt32 matchingAttributes) TWOWORDINLINE(0x701C, 0xABF6);
-
-
-
- /*
- * UnflattenCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UnflattenCollection(
- Collection c,
- CollectionFlattenUPP flattenProc,
- void * refCon) TWOWORDINLINE(0x701D, 0xABF6);
-
-
-
- /*
- * GetCollectionExceptionProc()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CollectionExceptionUPP)
- GetCollectionExceptionProc(Collection c) TWOWORDINLINE(0x701E, 0xABF6);
-
-
-
- /*
- * SetCollectionExceptionProc()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetCollectionExceptionProc(
- Collection c,
- CollectionExceptionUPP exceptionProc) TWOWORDINLINE(0x701F, 0xABF6);
-
-
-
- /*
- * GetNewCollection()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Collection)
- GetNewCollection(SInt16 collectionID) TWOWORDINLINE(0x7020, 0xABF6);
-
-
-
- /**********************************************************************/
- /************** Utility routines for handle-based access **************/
- /**********************************************************************/
- /*
- * AddCollectionItemHdl()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AddCollectionItemHdl(
- Collection aCollection,
- CollectionTag tag,
- SInt32 id,
- Handle itemData) TWOWORDINLINE(0x7021, 0xABF6);
-
-
-
- /*
- * GetCollectionItemHdl()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetCollectionItemHdl(
- Collection aCollection,
- CollectionTag tag,
- SInt32 id,
- Handle itemData) TWOWORDINLINE(0x7022, 0xABF6);
-
-
-
- /*
- * ReplaceIndexedCollectionItemHdl()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ReplaceIndexedCollectionItemHdl(
- Collection aCollection,
- SInt32 index,
- Handle itemData) TWOWORDINLINE(0x7023, 0xABF6);
-
-
-
- /*
- * GetIndexedCollectionItemHdl()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIndexedCollectionItemHdl(
- Collection aCollection,
- SInt32 index,
- Handle itemData) TWOWORDINLINE(0x7024, 0xABF6);
-
-
-
- /*
- * FlattenCollectionToHdl()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FlattenCollectionToHdl(
- Collection aCollection,
- Handle flattened) TWOWORDINLINE(0x7025, 0xABF6);
-
-
-
- /*
- * UnflattenCollectionFromHdl()
- *
- * Availability:
- * Non-Carbon CFM: in CollectionsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UnflattenCollectionFromHdl(
- Collection aCollection,
- Handle flattened) TWOWORDINLINE(0x7026, 0xABF6);
+/*********************************************/
+/************* Public interfaces *************/
+/*********************************************/
+/*
+ * NewCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Collection )
+NewCollection(void) TWOWORDINLINE(0x7000, 0xABF6);
+
+
+
+/*
+ * DisposeCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeCollection(Collection c) TWOWORDINLINE(0x7001, 0xABF6);
+
+
+
+/*
+ * CloneCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Collection )
+CloneCollection(Collection c) TWOWORDINLINE(0x7002, 0xABF6);
+
+
+
+/*
+ * CountCollectionOwners()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+CountCollectionOwners(Collection c) TWOWORDINLINE(0x7003, 0xABF6);
+
+
+
+/*
+ * RetainCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+RetainCollection(Collection c);
+
+
+
+/*
+ * ReleaseCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+ReleaseCollection(Collection c);
+
+
+
+/*
+ * GetCollectionRetainCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( ItemCount )
+GetCollectionRetainCount(Collection c);
+
+
+
+/*
+ * CopyCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Collection )
+CopyCollection(
+ Collection srcCollection,
+ Collection dstCollection) TWOWORDINLINE(0x7004, 0xABF6);
+
+
+
+/*
+ * GetCollectionDefaultAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetCollectionDefaultAttributes(Collection c) TWOWORDINLINE(0x7005, 0xABF6);
+
+
+
+/*
+ * SetCollectionDefaultAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetCollectionDefaultAttributes(
+ Collection c,
+ SInt32 whichAttributes,
+ SInt32 newAttributes) TWOWORDINLINE(0x7006, 0xABF6);
+
+
+
+/*
+ * CountCollectionItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+CountCollectionItems(Collection c) TWOWORDINLINE(0x7007, 0xABF6);
+
+
+
+/*
+ * AddCollectionItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AddCollectionItem(
+ Collection c,
+ CollectionTag tag,
+ SInt32 id,
+ SInt32 itemSize,
+ const void * itemData) TWOWORDINLINE(0x7008, 0xABF6);
+
+
+
+/*
+ * GetCollectionItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetCollectionItem(
+ Collection c,
+ CollectionTag tag,
+ SInt32 id,
+ SInt32 * itemSize,
+ void * itemData) TWOWORDINLINE(0x7009, 0xABF6);
+
+
+
+/*
+ * RemoveCollectionItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveCollectionItem(
+ Collection c,
+ CollectionTag tag,
+ SInt32 id) TWOWORDINLINE(0x700A, 0xABF6);
+
+
+
+/*
+ * SetCollectionItemInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetCollectionItemInfo(
+ Collection c,
+ CollectionTag tag,
+ SInt32 id,
+ SInt32 whichAttributes,
+ SInt32 newAttributes) TWOWORDINLINE(0x700B, 0xABF6);
+
+
+
+/*
+ * GetCollectionItemInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetCollectionItemInfo(
+ Collection c,
+ CollectionTag tag,
+ SInt32 id,
+ SInt32 * index,
+ SInt32 * itemSize,
+ SInt32 * attributes) TWOWORDINLINE(0x700C, 0xABF6);
+
+
+
+/*
+ * ReplaceIndexedCollectionItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ReplaceIndexedCollectionItem(
+ Collection c,
+ SInt32 index,
+ SInt32 itemSize,
+ const void * itemData) TWOWORDINLINE(0x700D, 0xABF6);
+
+
+
+/*
+ * GetIndexedCollectionItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIndexedCollectionItem(
+ Collection c,
+ SInt32 index,
+ SInt32 * itemSize,
+ void * itemData) TWOWORDINLINE(0x700E, 0xABF6);
+
+
+
+/*
+ * RemoveIndexedCollectionItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveIndexedCollectionItem(
+ Collection c,
+ SInt32 index) TWOWORDINLINE(0x700F, 0xABF6);
+
+
+
+/*
+ * SetIndexedCollectionItemInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetIndexedCollectionItemInfo(
+ Collection c,
+ SInt32 index,
+ SInt32 whichAttributes,
+ SInt32 newAttributes) TWOWORDINLINE(0x7010, 0xABF6);
+
+
+
+/*
+ * GetIndexedCollectionItemInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIndexedCollectionItemInfo(
+ Collection c,
+ SInt32 index,
+ CollectionTag * tag,
+ SInt32 * id,
+ SInt32 * itemSize,
+ SInt32 * attributes) TWOWORDINLINE(0x7011, 0xABF6);
+
+
+
+/*
+ * CollectionTagExists()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+CollectionTagExists(
+ Collection c,
+ CollectionTag tag) TWOWORDINLINE(0x7012, 0xABF6);
+
+
+
+/*
+ * CountCollectionTags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+CountCollectionTags(Collection c) TWOWORDINLINE(0x7013, 0xABF6);
+
+
+
+/*
+ * GetIndexedCollectionTag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIndexedCollectionTag(
+ Collection c,
+ SInt32 tagIndex,
+ CollectionTag * tag) TWOWORDINLINE(0x7014, 0xABF6);
+
+
+
+/*
+ * CountTaggedCollectionItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+CountTaggedCollectionItems(
+ Collection c,
+ CollectionTag tag) TWOWORDINLINE(0x7015, 0xABF6);
+
+
+
+/*
+ * GetTaggedCollectionItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetTaggedCollectionItem(
+ Collection c,
+ CollectionTag tag,
+ SInt32 whichItem,
+ SInt32 * itemSize,
+ void * itemData) TWOWORDINLINE(0x7016, 0xABF6);
+
+
+
+/*
+ * GetTaggedCollectionItemInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetTaggedCollectionItemInfo(
+ Collection c,
+ CollectionTag tag,
+ SInt32 whichItem,
+ SInt32 * id,
+ SInt32 * index,
+ SInt32 * itemSize,
+ SInt32 * attributes) TWOWORDINLINE(0x7017, 0xABF6);
+
+
+
+/*
+ * PurgeCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PurgeCollection(
+ Collection c,
+ SInt32 whichAttributes,
+ SInt32 matchingAttributes) TWOWORDINLINE(0x7018, 0xABF6);
+
+
+
+/*
+ * PurgeCollectionTag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PurgeCollectionTag(
+ Collection c,
+ CollectionTag tag) TWOWORDINLINE(0x7019, 0xABF6);
+
+
+
+/*
+ * EmptyCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EmptyCollection(Collection c) TWOWORDINLINE(0x701A, 0xABF6);
+
+
+/*
+ * FlattenCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FlattenCollection(
+ Collection c,
+ CollectionFlattenUPP flattenProc,
+ void * refCon) TWOWORDINLINE(0x701B, 0xABF6);
+
+
+
+/*
+ * FlattenPartialCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FlattenPartialCollection(
+ Collection c,
+ CollectionFlattenUPP flattenProc,
+ void * refCon,
+ SInt32 whichAttributes,
+ SInt32 matchingAttributes) TWOWORDINLINE(0x701C, 0xABF6);
+
+
+
+/*
+ * UnflattenCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UnflattenCollection(
+ Collection c,
+ CollectionFlattenUPP flattenProc,
+ void * refCon) TWOWORDINLINE(0x701D, 0xABF6);
+
+
+
+/*
+ * GetCollectionExceptionProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CollectionExceptionUPP )
+GetCollectionExceptionProc(Collection c) TWOWORDINLINE(0x701E, 0xABF6);
+
+
+
+/*
+ * SetCollectionExceptionProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetCollectionExceptionProc(
+ Collection c,
+ CollectionExceptionUPP exceptionProc) TWOWORDINLINE(0x701F, 0xABF6);
+
+
+
+/*
+ * GetNewCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Collection )
+GetNewCollection(SInt16 collectionID) TWOWORDINLINE(0x7020, 0xABF6);
+
+
+
+/**********************************************************************/
+/************** Utility routines for handle-based access **************/
+/**********************************************************************/
+/*
+ * AddCollectionItemHdl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AddCollectionItemHdl(
+ Collection aCollection,
+ CollectionTag tag,
+ SInt32 id,
+ Handle itemData) TWOWORDINLINE(0x7021, 0xABF6);
+
+
+
+/*
+ * GetCollectionItemHdl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetCollectionItemHdl(
+ Collection aCollection,
+ CollectionTag tag,
+ SInt32 id,
+ Handle itemData) TWOWORDINLINE(0x7022, 0xABF6);
+
+
+
+/*
+ * ReplaceIndexedCollectionItemHdl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ReplaceIndexedCollectionItemHdl(
+ Collection aCollection,
+ SInt32 index,
+ Handle itemData) TWOWORDINLINE(0x7023, 0xABF6);
+
+
+
+/*
+ * GetIndexedCollectionItemHdl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIndexedCollectionItemHdl(
+ Collection aCollection,
+ SInt32 index,
+ Handle itemData) TWOWORDINLINE(0x7024, 0xABF6);
+
+
+
+/*
+ * FlattenCollectionToHdl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FlattenCollectionToHdl(
+ Collection aCollection,
+ Handle flattened) TWOWORDINLINE(0x7025, 0xABF6);
+
+
+
+/*
+ * UnflattenCollectionFromHdl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CollectionsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UnflattenCollectionFromHdl(
+ Collection aCollection,
+ Handle flattened) TWOWORDINLINE(0x7026, 0xABF6);
#if OLDROUTINENAMES
- enum
- {
- dontWantTag = kCollectionDontWantTag,
- dontWantId = kCollectionDontWantId,
- dontWantSize = kCollectionDontWantSize,
- dontWantAttributes = kCollectionDontWantAttributes,
- dontWantIndex = kCollectionDontWantIndex,
- dontWantData = kCollectionDontWantData
- };
-
- enum
- {
- noCollectionAttributes = kCollectionNoAttributes,
- allCollectionAttributes = kCollectionAllAttributes,
- userCollectionAttributes = kCollectionUserAttributes,
- defaultCollectionAttributes = kCollectionDefaultAttributes
- };
-
- enum
- {
- collectionUser0Bit = kCollectionUser0Bit,
- collectionUser1Bit = kCollectionUser1Bit,
- collectionUser2Bit = kCollectionUser2Bit,
- collectionUser3Bit = kCollectionUser3Bit,
- collectionUser4Bit = kCollectionUser4Bit,
- collectionUser5Bit = kCollectionUser5Bit,
- collectionUser6Bit = kCollectionUser6Bit,
- collectionUser7Bit = kCollectionUser7Bit,
- collectionUser8Bit = kCollectionUser8Bit,
- collectionUser9Bit = kCollectionUser9Bit,
- collectionUser10Bit = kCollectionUser10Bit,
- collectionUser11Bit = kCollectionUser11Bit,
- collectionUser12Bit = kCollectionUser12Bit,
- collectionUser13Bit = kCollectionUser13Bit,
- collectionUser14Bit = kCollectionUser14Bit,
- collectionUser15Bit = kCollectionUser15Bit,
- collectionReserved0Bit = kCollectionReserved0Bit,
- collectionReserved1Bit = kCollectionReserved1Bit,
- collectionReserved2Bit = kCollectionReserved2Bit,
- collectionReserved3Bit = kCollectionReserved3Bit,
- collectionReserved4Bit = kCollectionReserved4Bit,
- collectionReserved5Bit = kCollectionReserved5Bit,
- collectionReserved6Bit = kCollectionReserved6Bit,
- collectionReserved7Bit = kCollectionReserved7Bit,
- collectionReserved8Bit = kCollectionReserved8Bit,
- collectionReserved9Bit = kCollectionReserved9Bit,
- collectionReserved10Bit = kCollectionReserved10Bit,
- collectionReserved11Bit = kCollectionReserved11Bit,
- collectionReserved12Bit = kCollectionReserved12Bit,
- collectionReserved13Bit = kCollectionReserved13Bit,
- collectionPersistenceBit = kCollectionPersistenceBit,
- collectionLockBit = kCollectionLockBit
- };
-
- enum
- {
- collectionUser0Mask = kCollectionUser0Mask,
- collectionUser1Mask = kCollectionUser1Mask,
- collectionUser2Mask = kCollectionUser2Mask,
- collectionUser3Mask = kCollectionUser3Mask,
- collectionUser4Mask = kCollectionUser4Mask,
- collectionUser5Mask = kCollectionUser5Mask,
- collectionUser6Mask = kCollectionUser6Mask,
- collectionUser7Mask = kCollectionUser7Mask,
- collectionUser8Mask = kCollectionUser8Mask,
- collectionUser9Mask = kCollectionUser9Mask,
- collectionUser10Mask = kCollectionUser10Mask,
- collectionUser11Mask = kCollectionUser11Mask,
- collectionUser12Mask = kCollectionUser12Mask,
- collectionUser13Mask = kCollectionUser13Mask,
- collectionUser14Mask = kCollectionUser14Mask,
- collectionUser15Mask = kCollectionUser15Mask,
- collectionReserved0Mask = kCollectionReserved0Mask,
- collectionReserved1Mask = kCollectionReserved1Mask,
- collectionReserved2Mask = kCollectionReserved2Mask,
- collectionReserved3Mask = kCollectionReserved3Mask,
- collectionReserved4Mask = kCollectionReserved4Mask,
- collectionReserved5Mask = kCollectionReserved5Mask,
- collectionReserved6Mask = kCollectionReserved6Mask,
- collectionReserved7Mask = kCollectionReserved7Mask,
- collectionReserved8Mask = kCollectionReserved8Mask,
- collectionReserved9Mask = kCollectionReserved9Mask,
- collectionReserved10Mask = kCollectionReserved10Mask,
- collectionReserved11Mask = kCollectionReserved11Mask,
- collectionReserved12Mask = kCollectionReserved12Mask,
- collectionReserved13Mask = kCollectionReserved13Mask,
- collectionPersistenceMask = kCollectionPersistenceMask,
- collectionLockMask = kCollectionLockMask
- };
+enum {
+ dontWantTag = kCollectionDontWantTag,
+ dontWantId = kCollectionDontWantId,
+ dontWantSize = kCollectionDontWantSize,
+ dontWantAttributes = kCollectionDontWantAttributes,
+ dontWantIndex = kCollectionDontWantIndex,
+ dontWantData = kCollectionDontWantData
+};
+
+enum {
+ noCollectionAttributes = kCollectionNoAttributes,
+ allCollectionAttributes = kCollectionAllAttributes,
+ userCollectionAttributes = kCollectionUserAttributes,
+ defaultCollectionAttributes = kCollectionDefaultAttributes
+};
+
+enum {
+ collectionUser0Bit = kCollectionUser0Bit,
+ collectionUser1Bit = kCollectionUser1Bit,
+ collectionUser2Bit = kCollectionUser2Bit,
+ collectionUser3Bit = kCollectionUser3Bit,
+ collectionUser4Bit = kCollectionUser4Bit,
+ collectionUser5Bit = kCollectionUser5Bit,
+ collectionUser6Bit = kCollectionUser6Bit,
+ collectionUser7Bit = kCollectionUser7Bit,
+ collectionUser8Bit = kCollectionUser8Bit,
+ collectionUser9Bit = kCollectionUser9Bit,
+ collectionUser10Bit = kCollectionUser10Bit,
+ collectionUser11Bit = kCollectionUser11Bit,
+ collectionUser12Bit = kCollectionUser12Bit,
+ collectionUser13Bit = kCollectionUser13Bit,
+ collectionUser14Bit = kCollectionUser14Bit,
+ collectionUser15Bit = kCollectionUser15Bit,
+ collectionReserved0Bit = kCollectionReserved0Bit,
+ collectionReserved1Bit = kCollectionReserved1Bit,
+ collectionReserved2Bit = kCollectionReserved2Bit,
+ collectionReserved3Bit = kCollectionReserved3Bit,
+ collectionReserved4Bit = kCollectionReserved4Bit,
+ collectionReserved5Bit = kCollectionReserved5Bit,
+ collectionReserved6Bit = kCollectionReserved6Bit,
+ collectionReserved7Bit = kCollectionReserved7Bit,
+ collectionReserved8Bit = kCollectionReserved8Bit,
+ collectionReserved9Bit = kCollectionReserved9Bit,
+ collectionReserved10Bit = kCollectionReserved10Bit,
+ collectionReserved11Bit = kCollectionReserved11Bit,
+ collectionReserved12Bit = kCollectionReserved12Bit,
+ collectionReserved13Bit = kCollectionReserved13Bit,
+ collectionPersistenceBit = kCollectionPersistenceBit,
+ collectionLockBit = kCollectionLockBit
+};
+
+enum {
+ collectionUser0Mask = kCollectionUser0Mask,
+ collectionUser1Mask = kCollectionUser1Mask,
+ collectionUser2Mask = kCollectionUser2Mask,
+ collectionUser3Mask = kCollectionUser3Mask,
+ collectionUser4Mask = kCollectionUser4Mask,
+ collectionUser5Mask = kCollectionUser5Mask,
+ collectionUser6Mask = kCollectionUser6Mask,
+ collectionUser7Mask = kCollectionUser7Mask,
+ collectionUser8Mask = kCollectionUser8Mask,
+ collectionUser9Mask = kCollectionUser9Mask,
+ collectionUser10Mask = kCollectionUser10Mask,
+ collectionUser11Mask = kCollectionUser11Mask,
+ collectionUser12Mask = kCollectionUser12Mask,
+ collectionUser13Mask = kCollectionUser13Mask,
+ collectionUser14Mask = kCollectionUser14Mask,
+ collectionUser15Mask = kCollectionUser15Mask,
+ collectionReserved0Mask = kCollectionReserved0Mask,
+ collectionReserved1Mask = kCollectionReserved1Mask,
+ collectionReserved2Mask = kCollectionReserved2Mask,
+ collectionReserved3Mask = kCollectionReserved3Mask,
+ collectionReserved4Mask = kCollectionReserved4Mask,
+ collectionReserved5Mask = kCollectionReserved5Mask,
+ collectionReserved6Mask = kCollectionReserved6Mask,
+ collectionReserved7Mask = kCollectionReserved7Mask,
+ collectionReserved8Mask = kCollectionReserved8Mask,
+ collectionReserved9Mask = kCollectionReserved9Mask,
+ collectionReserved10Mask = kCollectionReserved10Mask,
+ collectionReserved11Mask = kCollectionReserved11Mask,
+ collectionReserved12Mask = kCollectionReserved12Mask,
+ collectionReserved13Mask = kCollectionReserved13Mask,
+ collectionPersistenceMask = kCollectionPersistenceMask,
+ collectionLockMask = kCollectionLockMask
+};
#endif /* OLDROUTINENAMES */
diff --git a/include/qt/ColorPicker.h b/include/qt/ColorPicker.h
index 939f39b96..b095bb48b 100644
--- a/include/qt/ColorPicker.h
+++ b/include/qt/ColorPicker.h
@@ -1,17 +1,17 @@
/*
File: ColorPicker.h
-
+
Contains: Color Picker package Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1987-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __COLORPICKER__
#define __COLORPICKER__
@@ -48,557 +48,516 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- /*Maximum small fract value, as long*/
- kMaximumSmallFract = 0x0000FFFF
- };
-
- enum
- {
- kDefaultColorPickerWidth = 383,
- kDefaultColorPickerHeight = 238
- };
-
- typedef SInt16 DialogPlacementSpec;
- enum
- {
- kAtSpecifiedOrigin = 0,
- kDeepestColorScreen = 1,
- kCenterOnMainScreen = 2
- };
-
-
- /* These are for the flags field in the structs below (for example ColorPickerInfo). */
- enum
- {
- kColorPickerDialogIsMoveable = 1,
- kColorPickerDialogIsModal = 2,
- kColorPickerCanModifyPalette = 4,
- kColorPickerCanAnimatePalette = 8,
- kColorPickerAppIsColorSyncAware = 16,
- kColorPickerInSystemDialog = 32,
- kColorPickerInApplicationDialog = 64,
- kColorPickerInPickerDialog = 128,
- kColorPickerDetachedFromChoices = 256,
- kColorPickerCallColorProcLive = 512
- };
+enum {
+ /*Maximum small fract value, as long*/
+ kMaximumSmallFract = 0x0000FFFF
+};
+
+enum {
+ kDefaultColorPickerWidth = 383,
+ kDefaultColorPickerHeight = 238
+};
+
+typedef SInt16 DialogPlacementSpec;
+enum {
+ kAtSpecifiedOrigin = 0,
+ kDeepestColorScreen = 1,
+ kCenterOnMainScreen = 2
+};
+
+
+/* These are for the flags field in the structs below (for example ColorPickerInfo). */
+enum {
+ kColorPickerDialogIsMoveable = 1,
+ kColorPickerDialogIsModal = 2,
+ kColorPickerCanModifyPalette = 4,
+ kColorPickerCanAnimatePalette = 8,
+ kColorPickerAppIsColorSyncAware = 16,
+ kColorPickerInSystemDialog = 32,
+ kColorPickerInApplicationDialog = 64,
+ kColorPickerInPickerDialog = 128,
+ kColorPickerDetachedFromChoices = 256,
+ kColorPickerCallColorProcLive = 512
+};
#if OLDROUTINENAMES
- enum
- {
- /*Maximum small fract value, as long*/
- MaxSmallFract = 0x0000FFFF
- };
-
- enum
- {
- kDefaultWidth = 383,
- kDefaultHeight = 238
- };
-
- /* These are for the flags field in the structs below (for example ColorPickerInfo). */
- enum
- {
- DialogIsMoveable = 1,
- DialogIsModal = 2,
- CanModifyPalette = 4,
- CanAnimatePalette = 8,
- AppIsColorSyncAware = 16,
- InSystemDialog = 32,
- InApplicationDialog = 64,
- InPickerDialog = 128,
- DetachedFromChoices = 256,
- CallColorProcLive = 512
- };
+enum {
+ /*Maximum small fract value, as long*/
+ MaxSmallFract = 0x0000FFFF
+};
+
+enum {
+ kDefaultWidth = 383,
+ kDefaultHeight = 238
+};
+
+/* These are for the flags field in the structs below (for example ColorPickerInfo). */
+enum {
+ DialogIsMoveable = 1,
+ DialogIsModal = 2,
+ CanModifyPalette = 4,
+ CanAnimatePalette = 8,
+ AppIsColorSyncAware = 16,
+ InSystemDialog = 32,
+ InApplicationDialog = 64,
+ InPickerDialog = 128,
+ DetachedFromChoices = 256,
+ CallColorProcLive = 512
+};
#endif /* OLDROUTINENAMES */
- /* A SmallFract value is just the fractional part of a Fixed number,
- which is the low order word. SmallFracts are used to save room,
- and to be compatible with Quickdraw's RGBColor. They can be
- assigned directly to and from INTEGERs. */
- /* Unsigned fraction between 0 and 1 */
- typedef unsigned short SmallFract;
- /* For developmental simplicity in switching between the HLS and HSV
- models, HLS is reordered into HSL. Thus both models start with
- hue and saturation values; value/lightness/brightness is last. */
-
- struct HSVColor
- {
- SmallFract hue; /*Fraction of circle, red at 0*/
- SmallFract saturation; /*0-1, 0 for gray, 1 for pure color*/
- SmallFract value; /*0-1, 0 for black, 1 for max intensity*/
- };
- typedef struct HSVColor HSVColor;
- struct HSLColor
- {
- SmallFract hue; /*Fraction of circle, red at 0*/
- SmallFract saturation; /*0-1, 0 for gray, 1 for pure color*/
- SmallFract lightness; /*0-1, 0 for black, 1 for white*/
- };
- typedef struct HSLColor HSLColor;
- struct CMYColor
- {
- SmallFract cyan;
- SmallFract magenta;
- SmallFract yellow;
- };
- typedef struct CMYColor CMYColor;
- struct PMColor
- {
- CMProfileHandle profile;
- CMColor color;
- };
- typedef struct PMColor PMColor;
- typedef PMColor * PMColorPtr;
- struct NPMColor
- {
- CMProfileRef profile;
- CMColor color;
- };
- typedef struct NPMColor NPMColor;
- typedef NPMColor * NPMColorPtr;
- typedef struct OpaquePicker* Picker;
- typedef Picker picker;
- struct PickerMenuItemInfo
- {
- short editMenuID;
- short cutItem;
- short copyItem;
- short pasteItem;
- short clearItem;
- short undoItem;
- };
- typedef struct PickerMenuItemInfo PickerMenuItemInfo;
- /* Structs related to deprecated API's have been pulled from this file. */
- /* Those structs necessary for developers writing their own color pickers... */
- /* have been moved to ColorPickerComponents.h. */
-
- typedef CALLBACK_API(void , ColorChangedProcPtr)(long userData, PMColor *newColor);
- typedef CALLBACK_API(void , NColorChangedProcPtr)(long userData, NPMColor *newColor);
- typedef CALLBACK_API(Boolean , UserEventProcPtr)(EventRecord * event);
- typedef STACK_UPP_TYPE(ColorChangedProcPtr) ColorChangedUPP;
- typedef STACK_UPP_TYPE(NColorChangedProcPtr) NColorChangedUPP;
- typedef STACK_UPP_TYPE(UserEventProcPtr) UserEventUPP;
- struct ColorPickerInfo
- {
- PMColor theColor;
- CMProfileHandle dstProfile;
- UInt32 flags;
- DialogPlacementSpec placeWhere;
- Point dialogOrigin;
- OSType pickerType;
- UserEventUPP eventProc;
- ColorChangedUPP colorProc;
- UInt32 colorProcData;
- Str255 prompt;
- PickerMenuItemInfo mInfo;
- Boolean newColorChosen;
- SInt8 filler;
- };
- typedef struct ColorPickerInfo ColorPickerInfo;
- struct NColorPickerInfo
- {
- NPMColor theColor;
- CMProfileRef dstProfile;
- UInt32 flags;
- DialogPlacementSpec placeWhere;
- Point dialogOrigin;
- OSType pickerType;
- UserEventUPP eventProc;
- NColorChangedUPP colorProc;
- UInt32 colorProcData;
- Str255 prompt;
- PickerMenuItemInfo mInfo;
- Boolean newColorChosen;
- UInt8 reserved; /*Must be 0*/
- };
- typedef struct NColorPickerInfo NColorPickerInfo;
-
- /* Below are the color conversion routines.*/
- /*
- * Fix2SmallFract()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(SmallFract)
- Fix2SmallFract(Fixed f) THREEWORDINLINE(0x3F3C, 0x0001, 0xA82E);
-
-
- /*
- * SmallFract2Fix()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(Fixed)
- SmallFract2Fix(SmallFract s) THREEWORDINLINE(0x3F3C, 0x0002, 0xA82E);
-
-
- /*
- * CMY2RGB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CMY2RGB(
- const CMYColor * cColor,
- RGBColor * rColor) THREEWORDINLINE(0x3F3C, 0x0003, 0xA82E);
-
-
- /*
- * RGB2CMY()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- RGB2CMY(
- const RGBColor * rColor,
- CMYColor * cColor) THREEWORDINLINE(0x3F3C, 0x0004, 0xA82E);
-
-
- /*
- * HSL2RGB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- HSL2RGB(
- const HSLColor * hColor,
- RGBColor * rColor) THREEWORDINLINE(0x3F3C, 0x0005, 0xA82E);
-
-
- /*
- * RGB2HSL()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- RGB2HSL(
- const RGBColor * rColor,
- HSLColor * hColor) THREEWORDINLINE(0x3F3C, 0x0006, 0xA82E);
-
-
- /*
- * HSV2RGB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- HSV2RGB(
- const HSVColor * hColor,
- RGBColor * rColor) THREEWORDINLINE(0x3F3C, 0x0007, 0xA82E);
-
-
- /*
- * RGB2HSV()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(void)
- RGB2HSV(
- const RGBColor * rColor,
- HSVColor * hColor) THREEWORDINLINE(0x3F3C, 0x0008, 0xA82E);
-
-
-
- /* GetColor() works with or without the Color Picker extension.*/
- /*
- * GetColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- GetColor(
- Point where,
- ConstStr255Param prompt,
- const RGBColor * inColor,
- RGBColor * outColor) THREEWORDINLINE(0x3F3C, 0x0009, 0xA82E);
-
-
-
- /* PickColor() requires the Color Picker extension (version 2.0 or greater).*/
- /*
- * PickColor()
- *
- * Availability:
- * Non-Carbon CFM: in ColorPickerLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- PickColor(ColorPickerInfo * theColorInfo) THREEWORDINLINE(0x3F3C, 0x0213, 0xA82E);
-
-
- /* NPickColor() requires the Color Picker extension (version 2.1 or greater).*/
- /*
- * NPickColor()
- *
- * Availability:
- * Non-Carbon CFM: in ColorPickerLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NPickColor(NColorPickerInfo * theColorInfo) THREEWORDINLINE(0x3F3C, 0x0227, 0xA82E);
-
-
-
- /* A suite of mid-level API calls have been deprecated. Likely you never... */
- /* used them anyway. They were removed from this file and should not be... */
- /* used in the future as they are not gauranteed to be supported. */
- /*
- * NewColorChangedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(ColorChangedUPP)
- NewColorChangedUPP(ColorChangedProcPtr userRoutine);
+/* A SmallFract value is just the fractional part of a Fixed number,
+which is the low order word. SmallFracts are used to save room,
+and to be compatible with Quickdraw's RGBColor. They can be
+assigned directly to and from INTEGERs. */
+/* Unsigned fraction between 0 and 1 */
+typedef unsigned short SmallFract;
+/* For developmental simplicity in switching between the HLS and HSV
+models, HLS is reordered into HSL. Thus both models start with
+hue and saturation values; value/lightness/brightness is last. */
+
+struct HSVColor {
+ SmallFract hue; /*Fraction of circle, red at 0*/
+ SmallFract saturation; /*0-1, 0 for gray, 1 for pure color*/
+ SmallFract value; /*0-1, 0 for black, 1 for max intensity*/
+};
+typedef struct HSVColor HSVColor;
+struct HSLColor {
+ SmallFract hue; /*Fraction of circle, red at 0*/
+ SmallFract saturation; /*0-1, 0 for gray, 1 for pure color*/
+ SmallFract lightness; /*0-1, 0 for black, 1 for white*/
+};
+typedef struct HSLColor HSLColor;
+struct CMYColor {
+ SmallFract cyan;
+ SmallFract magenta;
+ SmallFract yellow;
+};
+typedef struct CMYColor CMYColor;
+struct PMColor {
+ CMProfileHandle profile;
+ CMColor color;
+};
+typedef struct PMColor PMColor;
+typedef PMColor * PMColorPtr;
+struct NPMColor {
+ CMProfileRef profile;
+ CMColor color;
+};
+typedef struct NPMColor NPMColor;
+typedef NPMColor * NPMColorPtr;
+typedef struct OpaquePicker* Picker;
+typedef Picker picker;
+struct PickerMenuItemInfo {
+ short editMenuID;
+ short cutItem;
+ short copyItem;
+ short pasteItem;
+ short clearItem;
+ short undoItem;
+};
+typedef struct PickerMenuItemInfo PickerMenuItemInfo;
+/* Structs related to deprecated API's have been pulled from this file. */
+/* Those structs necessary for developers writing their own color pickers... */
+/* have been moved to ColorPickerComponents.h. */
+
+typedef CALLBACK_API( void , ColorChangedProcPtr )(long userData, PMColor *newColor);
+typedef CALLBACK_API( void , NColorChangedProcPtr )(long userData, NPMColor *newColor);
+typedef CALLBACK_API( Boolean , UserEventProcPtr )(EventRecord * event);
+typedef STACK_UPP_TYPE(ColorChangedProcPtr) ColorChangedUPP;
+typedef STACK_UPP_TYPE(NColorChangedProcPtr) NColorChangedUPP;
+typedef STACK_UPP_TYPE(UserEventProcPtr) UserEventUPP;
+struct ColorPickerInfo {
+ PMColor theColor;
+ CMProfileHandle dstProfile;
+ UInt32 flags;
+ DialogPlacementSpec placeWhere;
+ Point dialogOrigin;
+ OSType pickerType;
+ UserEventUPP eventProc;
+ ColorChangedUPP colorProc;
+ UInt32 colorProcData;
+ Str255 prompt;
+ PickerMenuItemInfo mInfo;
+ Boolean newColorChosen;
+ SInt8 filler;
+};
+typedef struct ColorPickerInfo ColorPickerInfo;
+struct NColorPickerInfo {
+ NPMColor theColor;
+ CMProfileRef dstProfile;
+ UInt32 flags;
+ DialogPlacementSpec placeWhere;
+ Point dialogOrigin;
+ OSType pickerType;
+ UserEventUPP eventProc;
+ NColorChangedUPP colorProc;
+ UInt32 colorProcData;
+ Str255 prompt;
+ PickerMenuItemInfo mInfo;
+ Boolean newColorChosen;
+ UInt8 reserved; /*Must be 0*/
+};
+typedef struct NColorPickerInfo NColorPickerInfo;
+
+/* Below are the color conversion routines.*/
+/*
+ * Fix2SmallFract()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( SmallFract )
+Fix2SmallFract(Fixed f) THREEWORDINLINE(0x3F3C, 0x0001, 0xA82E);
+
+
+/*
+ * SmallFract2Fix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( Fixed )
+SmallFract2Fix(SmallFract s) THREEWORDINLINE(0x3F3C, 0x0002, 0xA82E);
+
+
+/*
+ * CMY2RGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CMY2RGB(
+ const CMYColor * cColor,
+ RGBColor * rColor) THREEWORDINLINE(0x3F3C, 0x0003, 0xA82E);
+
+
+/*
+ * RGB2CMY()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+RGB2CMY(
+ const RGBColor * rColor,
+ CMYColor * cColor) THREEWORDINLINE(0x3F3C, 0x0004, 0xA82E);
+
+
+/*
+ * HSL2RGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+HSL2RGB(
+ const HSLColor * hColor,
+ RGBColor * rColor) THREEWORDINLINE(0x3F3C, 0x0005, 0xA82E);
+
+
+/*
+ * RGB2HSL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+RGB2HSL(
+ const RGBColor * rColor,
+ HSLColor * hColor) THREEWORDINLINE(0x3F3C, 0x0006, 0xA82E);
+
+
+/*
+ * HSV2RGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+HSV2RGB(
+ const HSVColor * hColor,
+ RGBColor * rColor) THREEWORDINLINE(0x3F3C, 0x0007, 0xA82E);
+
+
+/*
+ * RGB2HSV()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+RGB2HSV(
+ const RGBColor * rColor,
+ HSVColor * hColor) THREEWORDINLINE(0x3F3C, 0x0008, 0xA82E);
+
+
+
+/* GetColor() works with or without the Color Picker extension.*/
+/*
+ * GetColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+GetColor(
+ Point where,
+ ConstStr255Param prompt,
+ const RGBColor * inColor,
+ RGBColor * outColor) THREEWORDINLINE(0x3F3C, 0x0009, 0xA82E);
+
+
+
+/* PickColor() requires the Color Picker extension (version 2.0 or greater).*/
+/*
+ * PickColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorPickerLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+PickColor(ColorPickerInfo * theColorInfo) THREEWORDINLINE(0x3F3C, 0x0213, 0xA82E);
+
+
+/* NPickColor() requires the Color Picker extension (version 2.1 or greater).*/
+/*
+ * NPickColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ColorPickerLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NPickColor(NColorPickerInfo * theColorInfo) THREEWORDINLINE(0x3F3C, 0x0227, 0xA82E);
+
+
+
+/* A suite of mid-level API calls have been deprecated. Likely you never... */
+/* used them anyway. They were removed from this file and should not be... */
+/* used in the future as they are not gauranteed to be supported. */
+/*
+ * NewColorChangedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ColorChangedUPP )
+NewColorChangedUPP(ColorChangedProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppColorChangedProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ColorChangedUPP) NewColorChangedUPP(ColorChangedProcPtr userRoutine)
- {
- return (ColorChangedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorChangedProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewColorChangedUPP(userRoutine) (ColorChangedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorChangedProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppColorChangedProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ColorChangedUPP) NewColorChangedUPP(ColorChangedProcPtr userRoutine) { return (ColorChangedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorChangedProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewColorChangedUPP(userRoutine) (ColorChangedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorChangedProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewNColorChangedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(NColorChangedUPP)
- NewNColorChangedUPP(NColorChangedProcPtr userRoutine);
+/*
+ * NewNColorChangedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( NColorChangedUPP )
+NewNColorChangedUPP(NColorChangedProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNColorChangedProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NColorChangedUPP) NewNColorChangedUPP(NColorChangedProcPtr userRoutine)
- {
- return (NColorChangedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNColorChangedProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNColorChangedUPP(userRoutine) (NColorChangedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNColorChangedProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNColorChangedProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NColorChangedUPP) NewNColorChangedUPP(NColorChangedProcPtr userRoutine) { return (NColorChangedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNColorChangedProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNColorChangedUPP(userRoutine) (NColorChangedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNColorChangedProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewUserEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(UserEventUPP)
- NewUserEventUPP(UserEventProcPtr userRoutine);
+/*
+ * NewUserEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UserEventUPP )
+NewUserEventUPP(UserEventProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppUserEventProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(UserEventUPP) NewUserEventUPP(UserEventProcPtr userRoutine)
- {
- return (UserEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserEventProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewUserEventUPP(userRoutine) (UserEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserEventProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppUserEventProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UserEventUPP) NewUserEventUPP(UserEventProcPtr userRoutine) { return (UserEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserEventProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewUserEventUPP(userRoutine) (UserEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserEventProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeColorChangedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeColorChangedUPP(ColorChangedUPP userUPP);
+/*
+ * DisposeColorChangedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeColorChangedUPP(ColorChangedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeColorChangedUPP(ColorChangedUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeColorChangedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeColorChangedUPP(ColorChangedUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeColorChangedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeNColorChangedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeNColorChangedUPP(NColorChangedUPP userUPP);
+/*
+ * DisposeNColorChangedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeNColorChangedUPP(NColorChangedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNColorChangedUPP(NColorChangedUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNColorChangedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNColorChangedUPP(NColorChangedUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNColorChangedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeUserEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeUserEventUPP(UserEventUPP userUPP);
+/*
+ * DisposeUserEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeUserEventUPP(UserEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeUserEventUPP(UserEventUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeUserEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeUserEventUPP(UserEventUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeUserEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeColorChangedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeColorChangedUPP(
- long userData,
- PMColor * newColor,
- ColorChangedUPP userUPP);
+/*
+ * InvokeColorChangedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeColorChangedUPP(
+ long userData,
+ PMColor * newColor,
+ ColorChangedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeColorChangedUPP(long userData, PMColor * newColor, ColorChangedUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppColorChangedProcInfo, userData, newColor);
- }
-#else
-#define InvokeColorChangedUPP(userData, newColor, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppColorChangedProcInfo, (userData), (newColor))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeColorChangedUPP(long userData, PMColor * newColor, ColorChangedUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppColorChangedProcInfo, userData, newColor); }
+ #else
+ #define InvokeColorChangedUPP(userData, newColor, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppColorChangedProcInfo, (userData), (newColor))
+ #endif
#endif
- /*
- * InvokeNColorChangedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeNColorChangedUPP(
- long userData,
- NPMColor * newColor,
- NColorChangedUPP userUPP);
+/*
+ * InvokeNColorChangedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeNColorChangedUPP(
+ long userData,
+ NPMColor * newColor,
+ NColorChangedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeNColorChangedUPP(long userData, NPMColor * newColor, NColorChangedUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppNColorChangedProcInfo, userData, newColor);
- }
-#else
-#define InvokeNColorChangedUPP(userData, newColor, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppNColorChangedProcInfo, (userData), (newColor))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeNColorChangedUPP(long userData, NPMColor * newColor, NColorChangedUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppNColorChangedProcInfo, userData, newColor); }
+ #else
+ #define InvokeNColorChangedUPP(userData, newColor, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppNColorChangedProcInfo, (userData), (newColor))
+ #endif
#endif
- /*
- * InvokeUserEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeUserEventUPP(
- EventRecord * event,
- UserEventUPP userUPP);
+/*
+ * InvokeUserEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeUserEventUPP(
+ EventRecord * event,
+ UserEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeUserEventUPP(EventRecord * event, UserEventUPP userUPP)
- {
- return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppUserEventProcInfo, event);
- }
-#else
-#define InvokeUserEventUPP(event, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppUserEventProcInfo, (event))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeUserEventUPP(EventRecord * event, UserEventUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppUserEventProcInfo, event); }
+ #else
+ #define InvokeUserEventUPP(event, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppUserEventProcInfo, (event))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewColorChangedProc(userRoutine) NewColorChangedUPP(userRoutine)
-#define NewNColorChangedProc(userRoutine) NewNColorChangedUPP(userRoutine)
-#define NewUserEventProc(userRoutine) NewUserEventUPP(userRoutine)
-#define CallColorChangedProc(userRoutine, userData, newColor) InvokeColorChangedUPP(userData, newColor, userRoutine)
-#define CallNColorChangedProc(userRoutine, userData, newColor) InvokeNColorChangedUPP(userData, newColor, userRoutine)
-#define CallUserEventProc(userRoutine, event) InvokeUserEventUPP(event, userRoutine)
+ #define NewColorChangedProc(userRoutine) NewColorChangedUPP(userRoutine)
+ #define NewNColorChangedProc(userRoutine) NewNColorChangedUPP(userRoutine)
+ #define NewUserEventProc(userRoutine) NewUserEventUPP(userRoutine)
+ #define CallColorChangedProc(userRoutine, userData, newColor) InvokeColorChangedUPP(userData, newColor, userRoutine)
+ #define CallNColorChangedProc(userRoutine, userData, newColor) InvokeNColorChangedUPP(userData, newColor, userRoutine)
+ #define CallUserEventProc(userRoutine, event) InvokeUserEventUPP(event, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ColorSync.h b/include/qt/ColorSync.h
index d3f6299bd..8b1a9e0b4 100644
--- a/include/qt/ColorSync.h
+++ b/include/qt/ColorSync.h
@@ -1,17 +1,17 @@
/*
File: ColorSync.h
-
+
Contains: Master include for ColorSync private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __COLORSYNC__
#define __COLORSYNC__
diff --git a/include/qt/CommonPanels.h b/include/qt/CommonPanels.h
index 56f0d8366..69d9c6ac8 100644
--- a/include/qt/CommonPanels.h
+++ b/include/qt/CommonPanels.h
@@ -1,17 +1,17 @@
/*
File: CommonPanels.h
-
+
Contains: Master include for CommonPanels framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __COMMONPANELS__
#define __COMMONPANELS__
diff --git a/include/qt/Components.h b/include/qt/Components.h
index 046c9182e..b24534fdc 100644
--- a/include/qt/Components.h
+++ b/include/qt/Components.h
@@ -1,17 +1,17 @@
/*
File: Components.h
-
+
Contains: Component Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2003 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 __COMPONENTS__
#define __COMPONENTS__
@@ -48,810 +48,781 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kAppleManufacturer = FOUR_CHAR_CODE('appl'), /* Apple supplied components */
- kComponentResourceType = FOUR_CHAR_CODE('thng'), /* a components resource type */
- kComponentAliasResourceType = FOUR_CHAR_CODE('thga') /* component alias resource type */
- };
-
- enum
- {
- kAnyComponentType = 0,
- kAnyComponentSubType = 0,
- kAnyComponentManufacturer = 0,
- kAnyComponentFlagsMask = 0
- };
-
- enum
- {
- cmpIsMissing = 1L << 29,
- cmpWantsRegisterMessage = 1L << 31
- };
-
- enum
- {
- kComponentOpenSelect = -1, /* ComponentInstance for this open */
- kComponentCloseSelect = -2, /* ComponentInstance for this close */
- kComponentCanDoSelect = -3, /* selector # being queried */
- kComponentVersionSelect = -4, /* no params */
- kComponentRegisterSelect = -5, /* no params */
- kComponentTargetSelect = -6, /* ComponentInstance for top of call chain */
- kComponentUnregisterSelect = -7, /* no params */
- kComponentGetMPWorkFunctionSelect = -8, /* some params */
- kComponentExecuteWiredActionSelect = -9, /* QTAtomContainer actionContainer, QTAtom actionAtom, QTCustomActionTargetPtr target, QTEventRecordPtr event */
- kComponentGetPublicResourceSelect = -10 /* OSType resourceType, short resourceId, Handle *resource */
- };
-
- /* Component Resource Extension flags */
- enum
- {
- componentDoAutoVersion = (1 << 0),
- componentWantsUnregister = (1 << 1),
- componentAutoVersionIncludeFlags = (1 << 2),
- componentHasMultiplePlatforms = (1 << 3),
- componentLoadResident = (1 << 4)
- };
-
-
-
- /* Set Default Component flags */
- enum
- {
- defaultComponentIdentical = 0,
- defaultComponentAnyFlags = 1,
- defaultComponentAnyManufacturer = 2,
- defaultComponentAnySubType = 4,
- defaultComponentAnyFlagsAnyManufacturer = (defaultComponentAnyFlags + defaultComponentAnyManufacturer),
- defaultComponentAnyFlagsAnyManufacturerAnySubType = (defaultComponentAnyFlags + defaultComponentAnyManufacturer + defaultComponentAnySubType)
- };
-
- /* RegisterComponentResource flags */
- enum
- {
- registerComponentGlobal = 1,
- registerComponentNoDuplicates = 2,
- registerComponentAfterExisting = 4,
- registerComponentAliasesOnly = 8
- };
-
-
- struct ComponentDescription
- {
- OSType componentType; /* A unique 4-byte code indentifying the command set */
- OSType componentSubType; /* Particular flavor of this instance */
- OSType componentManufacturer; /* Vendor indentification */
- unsigned long componentFlags; /* 8 each for Component,Type,SubType,Manuf/revision */
- unsigned long componentFlagsMask; /* Mask for specifying which flags to consider in search, zero during registration */
- };
- typedef struct ComponentDescription ComponentDescription;
-
- struct ResourceSpec
- {
- OSType resType; /* 4-byte code */
- short resID; /* */
- };
- typedef struct ResourceSpec ResourceSpec;
- struct ComponentResource
- {
- ComponentDescription cd; /* Registration parameters */
- ResourceSpec component; /* resource where Component code is found */
- ResourceSpec componentName; /* name string resource */
- ResourceSpec componentInfo; /* info string resource */
- ResourceSpec componentIcon; /* icon resource */
- };
- typedef struct ComponentResource ComponentResource;
- typedef ComponentResource * ComponentResourcePtr;
- typedef ComponentResourcePtr * ComponentResourceHandle;
- struct ComponentPlatformInfo
- {
- long componentFlags; /* flags of Component */
- ResourceSpec component; /* resource where Component code is found */
- short platformType; /* gestaltSysArchitecture result */
- };
- typedef struct ComponentPlatformInfo ComponentPlatformInfo;
- struct ComponentResourceExtension
- {
- long componentVersion; /* version of Component */
- long componentRegisterFlags; /* flags for registration */
- short componentIconFamily; /* resource id of Icon Family */
- };
- typedef struct ComponentResourceExtension ComponentResourceExtension;
- struct ComponentPlatformInfoArray
- {
- long count;
- ComponentPlatformInfo platformArray[1];
- };
- typedef struct ComponentPlatformInfoArray ComponentPlatformInfoArray;
- struct ExtComponentResource
- {
- ComponentDescription cd; /* registration parameters */
- ResourceSpec component; /* resource where Component code is found */
- ResourceSpec componentName; /* name string resource */
- ResourceSpec componentInfo; /* info string resource */
- ResourceSpec componentIcon; /* icon resource */
- long componentVersion; /* version of Component */
- long componentRegisterFlags; /* flags for registration */
- short componentIconFamily; /* resource id of Icon Family */
- long count; /* elements in platformArray */
- ComponentPlatformInfo platformArray[1];
- };
- typedef struct ExtComponentResource ExtComponentResource;
- typedef ExtComponentResource * ExtComponentResourcePtr;
- typedef ExtComponentResourcePtr * ExtComponentResourceHandle;
- struct ComponentAliasResource
- {
- ComponentResource cr; /* Registration parameters */
- ComponentDescription aliasCD; /* component alias description */
- };
- typedef struct ComponentAliasResource ComponentAliasResource;
- /* Structure received by Component: */
- struct ComponentParameters
- {
- UInt8 flags; /* call modifiers: sync/async, deferred, immed, etc */
- UInt8 paramSize; /* size in bytes of actual parameters passed to this call */
- short what; /* routine selector, negative for Component management calls */
- long params[1]; /* actual parameters for the indicated routine */
- };
- typedef struct ComponentParameters ComponentParameters;
- struct ComponentRecord
- {
- long data[1];
- };
- typedef struct ComponentRecord ComponentRecord;
- typedef ComponentRecord * Component;
- struct ComponentInstanceRecord
- {
- long data[1];
- };
- typedef struct ComponentInstanceRecord ComponentInstanceRecord;
- typedef ComponentInstanceRecord * ComponentInstance;
- struct RegisteredComponentRecord
- {
- long data[1];
- };
- typedef struct RegisteredComponentRecord RegisteredComponentRecord;
- typedef RegisteredComponentRecord * RegisteredComponentRecordPtr;
- struct RegisteredComponentInstanceRecord
- {
- long data[1];
- };
- typedef struct RegisteredComponentInstanceRecord RegisteredComponentInstanceRecord;
- typedef RegisteredComponentInstanceRecord * RegisteredComponentInstanceRecordPtr;
- typedef long ComponentResult;
- enum
- {
- platform68k = 1, /* platform type (response from gestaltComponentPlatform) */
- platformPowerPC = 2, /* (when gestaltComponentPlatform is not implemented, use */
- platformInterpreted = 3, /* gestaltSysArchitecture) */
- platformWin32 = 4,
- platformPowerPCNativeEntryPoint = 5
- };
-
- enum
- {
- mpWorkFlagDoWork = (1 << 0),
- mpWorkFlagDoCompletion = (1 << 1),
- mpWorkFlagCopyWorkBlock = (1 << 2),
- mpWorkFlagDontBlock = (1 << 3),
- mpWorkFlagGetProcessorCount = (1 << 4),
- mpWorkFlagGetIsRunning = (1 << 6)
- };
-
- enum
- {
- cmpAliasNoFlags = 0,
- cmpAliasOnlyThisFile = 1
- };
-
- struct ComponentMPWorkFunctionHeaderRecord
- {
- UInt32 headerSize;
- UInt32 recordSize;
- UInt32 workFlags;
- UInt16 processorCount;
- UInt8 unused;
- UInt8 isRunning;
- };
- typedef struct ComponentMPWorkFunctionHeaderRecord ComponentMPWorkFunctionHeaderRecord;
- typedef ComponentMPWorkFunctionHeaderRecord * ComponentMPWorkFunctionHeaderRecordPtr;
- typedef CALLBACK_API(ComponentResult , ComponentMPWorkFunctionProcPtr)(void *globalRefCon, ComponentMPWorkFunctionHeaderRecordPtr header);
- typedef CALLBACK_API(ComponentResult , ComponentRoutineProcPtr)(ComponentParameters *cp, Handle componentStorage);
- typedef CALLBACK_API(OSErr , GetMissingComponentResourceProcPtr)(Component c, OSType resType, short resID, void *refCon, Handle *resource);
- typedef STACK_UPP_TYPE(ComponentMPWorkFunctionProcPtr) ComponentMPWorkFunctionUPP;
- typedef STACK_UPP_TYPE(ComponentRoutineProcPtr) ComponentRoutineUPP;
- typedef STACK_UPP_TYPE(GetMissingComponentResourceProcPtr) GetMissingComponentResourceUPP;
- /*
- The parameter list for each ComponentFunction is unique. It is
- therefore up to users to create the appropriate procInfo for their
- own ComponentFunctions where necessary.
- */
- typedef UniversalProcPtr ComponentFunctionUPP;
- /*
- * NewComponentFunctionUPP()
- *
- * Discussion:
- * For use in writing a Carbon compliant Component. It is used to
- * create a ComponentFunctionUPP needed to call
- * CallComponentFunction in the Components dispatch routine.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentFunctionUPP)
- NewComponentFunctionUPP(
- ProcPtr userRoutine,
- ProcInfoType procInfo);
+enum {
+ kAppleManufacturer = FOUR_CHAR_CODE('appl'), /* Apple supplied components */
+ kComponentResourceType = FOUR_CHAR_CODE('thng'), /* a components resource type */
+ kComponentAliasResourceType = FOUR_CHAR_CODE('thga') /* component alias resource type */
+};
+
+enum {
+ kAnyComponentType = 0,
+ kAnyComponentSubType = 0,
+ kAnyComponentManufacturer = 0,
+ kAnyComponentFlagsMask = 0
+};
+
+enum {
+ cmpIsMissing = 1L << 29,
+ cmpWantsRegisterMessage = 1L << 31
+};
+
+enum {
+ kComponentOpenSelect = -1, /* ComponentInstance for this open */
+ kComponentCloseSelect = -2, /* ComponentInstance for this close */
+ kComponentCanDoSelect = -3, /* selector # being queried */
+ kComponentVersionSelect = -4, /* no params */
+ kComponentRegisterSelect = -5, /* no params */
+ kComponentTargetSelect = -6, /* ComponentInstance for top of call chain */
+ kComponentUnregisterSelect = -7, /* no params */
+ kComponentGetMPWorkFunctionSelect = -8, /* some params */
+ kComponentExecuteWiredActionSelect = -9, /* QTAtomContainer actionContainer, QTAtom actionAtom, QTCustomActionTargetPtr target, QTEventRecordPtr event */
+ kComponentGetPublicResourceSelect = -10 /* OSType resourceType, short resourceId, Handle *resource */
+};
+
+/* Component Resource Extension flags */
+enum {
+ componentDoAutoVersion = (1 << 0),
+ componentWantsUnregister = (1 << 1),
+ componentAutoVersionIncludeFlags = (1 << 2),
+ componentHasMultiplePlatforms = (1 << 3),
+ componentLoadResident = (1 << 4)
+};
+
+
+
+/* Set Default Component flags */
+enum {
+ defaultComponentIdentical = 0,
+ defaultComponentAnyFlags = 1,
+ defaultComponentAnyManufacturer = 2,
+ defaultComponentAnySubType = 4,
+ defaultComponentAnyFlagsAnyManufacturer = (defaultComponentAnyFlags + defaultComponentAnyManufacturer),
+ defaultComponentAnyFlagsAnyManufacturerAnySubType = (defaultComponentAnyFlags + defaultComponentAnyManufacturer + defaultComponentAnySubType)
+};
+
+/* RegisterComponentResource flags */
+enum {
+ registerComponentGlobal = 1,
+ registerComponentNoDuplicates = 2,
+ registerComponentAfterExisting = 4,
+ registerComponentAliasesOnly = 8
+};
+
+
+struct ComponentDescription {
+ OSType componentType; /* A unique 4-byte code indentifying the command set */
+ OSType componentSubType; /* Particular flavor of this instance */
+ OSType componentManufacturer; /* Vendor indentification */
+ unsigned long componentFlags; /* 8 each for Component,Type,SubType,Manuf/revision */
+ unsigned long componentFlagsMask; /* Mask for specifying which flags to consider in search, zero during registration */
+};
+typedef struct ComponentDescription ComponentDescription;
+
+struct ResourceSpec {
+ OSType resType; /* 4-byte code */
+ short resID; /* */
+};
+typedef struct ResourceSpec ResourceSpec;
+struct ComponentResource {
+ ComponentDescription cd; /* Registration parameters */
+ ResourceSpec component; /* resource where Component code is found */
+ ResourceSpec componentName; /* name string resource */
+ ResourceSpec componentInfo; /* info string resource */
+ ResourceSpec componentIcon; /* icon resource */
+};
+typedef struct ComponentResource ComponentResource;
+typedef ComponentResource * ComponentResourcePtr;
+typedef ComponentResourcePtr * ComponentResourceHandle;
+struct ComponentPlatformInfo {
+ long componentFlags; /* flags of Component */
+ ResourceSpec component; /* resource where Component code is found */
+ short platformType; /* gestaltSysArchitecture result */
+};
+typedef struct ComponentPlatformInfo ComponentPlatformInfo;
+struct ComponentResourceExtension {
+ long componentVersion; /* version of Component */
+ long componentRegisterFlags; /* flags for registration */
+ short componentIconFamily; /* resource id of Icon Family */
+};
+typedef struct ComponentResourceExtension ComponentResourceExtension;
+struct ComponentPlatformInfoArray {
+ long count;
+ ComponentPlatformInfo platformArray[1];
+};
+typedef struct ComponentPlatformInfoArray ComponentPlatformInfoArray;
+struct ExtComponentResource {
+ ComponentDescription cd; /* registration parameters */
+ ResourceSpec component; /* resource where Component code is found */
+ ResourceSpec componentName; /* name string resource */
+ ResourceSpec componentInfo; /* info string resource */
+ ResourceSpec componentIcon; /* icon resource */
+ long componentVersion; /* version of Component */
+ long componentRegisterFlags; /* flags for registration */
+ short componentIconFamily; /* resource id of Icon Family */
+ long count; /* elements in platformArray */
+ ComponentPlatformInfo platformArray[1];
+};
+typedef struct ExtComponentResource ExtComponentResource;
+typedef ExtComponentResource * ExtComponentResourcePtr;
+typedef ExtComponentResourcePtr * ExtComponentResourceHandle;
+struct ComponentAliasResource {
+ ComponentResource cr; /* Registration parameters */
+ ComponentDescription aliasCD; /* component alias description */
+};
+typedef struct ComponentAliasResource ComponentAliasResource;
+/* Structure received by Component: */
+struct ComponentParameters {
+ UInt8 flags; /* call modifiers: sync/async, deferred, immed, etc */
+ UInt8 paramSize; /* size in bytes of actual parameters passed to this call */
+ short what; /* routine selector, negative for Component management calls */
+ long params[1]; /* actual parameters for the indicated routine */
+};
+typedef struct ComponentParameters ComponentParameters;
+struct ComponentRecord {
+ long data[1];
+};
+typedef struct ComponentRecord ComponentRecord;
+typedef ComponentRecord * Component;
+struct ComponentInstanceRecord {
+ long data[1];
+};
+typedef struct ComponentInstanceRecord ComponentInstanceRecord;
+typedef ComponentInstanceRecord * ComponentInstance;
+struct RegisteredComponentRecord {
+ long data[1];
+};
+typedef struct RegisteredComponentRecord RegisteredComponentRecord;
+typedef RegisteredComponentRecord * RegisteredComponentRecordPtr;
+struct RegisteredComponentInstanceRecord {
+ long data[1];
+};
+typedef struct RegisteredComponentInstanceRecord RegisteredComponentInstanceRecord;
+typedef RegisteredComponentInstanceRecord * RegisteredComponentInstanceRecordPtr;
+typedef long ComponentResult;
+enum {
+ platform68k = 1, /* platform type (response from gestaltComponentPlatform) */
+ platformPowerPC = 2, /* (when gestaltComponentPlatform is not implemented, use */
+ platformInterpreted = 3, /* gestaltSysArchitecture) */
+ platformWin32 = 4,
+ platformPowerPCNativeEntryPoint = 5
+};
+
+enum {
+ mpWorkFlagDoWork = (1 << 0),
+ mpWorkFlagDoCompletion = (1 << 1),
+ mpWorkFlagCopyWorkBlock = (1 << 2),
+ mpWorkFlagDontBlock = (1 << 3),
+ mpWorkFlagGetProcessorCount = (1 << 4),
+ mpWorkFlagGetIsRunning = (1 << 6)
+};
+
+enum {
+ cmpAliasNoFlags = 0,
+ cmpAliasOnlyThisFile = 1
+};
+
+struct ComponentMPWorkFunctionHeaderRecord {
+ UInt32 headerSize;
+ UInt32 recordSize;
+ UInt32 workFlags;
+ UInt16 processorCount;
+ UInt8 unused;
+ UInt8 isRunning;
+};
+typedef struct ComponentMPWorkFunctionHeaderRecord ComponentMPWorkFunctionHeaderRecord;
+typedef ComponentMPWorkFunctionHeaderRecord * ComponentMPWorkFunctionHeaderRecordPtr;
+typedef CALLBACK_API( ComponentResult , ComponentMPWorkFunctionProcPtr )(void *globalRefCon, ComponentMPWorkFunctionHeaderRecordPtr header);
+typedef CALLBACK_API( ComponentResult , ComponentRoutineProcPtr )(ComponentParameters *cp, Handle componentStorage);
+typedef CALLBACK_API( OSErr , GetMissingComponentResourceProcPtr )(Component c, OSType resType, short resID, void *refCon, Handle *resource);
+typedef STACK_UPP_TYPE(ComponentMPWorkFunctionProcPtr) ComponentMPWorkFunctionUPP;
+typedef STACK_UPP_TYPE(ComponentRoutineProcPtr) ComponentRoutineUPP;
+typedef STACK_UPP_TYPE(GetMissingComponentResourceProcPtr) GetMissingComponentResourceUPP;
+/*
+ The parameter list for each ComponentFunction is unique. It is
+ therefore up to users to create the appropriate procInfo for their
+ own ComponentFunctions where necessary.
+*/
+typedef UniversalProcPtr ComponentFunctionUPP;
+/*
+ * NewComponentFunctionUPP()
+ *
+ * Discussion:
+ * For use in writing a Carbon compliant Component. It is used to
+ * create a ComponentFunctionUPP needed to call
+ * CallComponentFunction in the Components dispatch routine.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentFunctionUPP )
+NewComponentFunctionUPP(
+ ProcPtr userRoutine,
+ ProcInfoType procInfo);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API(ComponentFunctionUPP) NewComponentFunctionUPP(ProcPtr userRoutine, ProcInfoType procInfo)
- {
- return (ComponentFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), (ProcInfoType)procInfo, GetCurrentArchitecture());
- }
-#else
-#define NewComponentFunctionUPP(userRoutine, procInfo) ((ComponentFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), (ProcInfoType)procInfo, GetCurrentArchitecture()))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(ComponentFunctionUPP ) NewComponentFunctionUPP(ProcPtr userRoutine, ProcInfoType procInfo) { return (ComponentFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), (ProcInfoType)procInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewComponentFunctionUPP(userRoutine, procInfo) ((ComponentFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), (ProcInfoType)procInfo, GetCurrentArchitecture()))
+ #endif
#endif
- /*
- * DisposeComponentFunctionUPP()
- *
- * Discussion:
- * For use in writing a Carbon compliant Component. It is used to
- * dispose of a ComponentFunctionUPP created by
- * NewComponentFunctionUPP.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeComponentFunctionUPP(ComponentFunctionUPP userUPP);
+/*
+ * DisposeComponentFunctionUPP()
+ *
+ * Discussion:
+ * For use in writing a Carbon compliant Component. It is used to
+ * dispose of a ComponentFunctionUPP created by
+ * NewComponentFunctionUPP.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeComponentFunctionUPP(ComponentFunctionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API(void) DisposeComponentFunctionUPP(ComponentFunctionUPP userUPP)
- {
- DisposeRoutineDescriptor(userUPP);
- }
-#else
-#define DisposeComponentFunctionUPP(userUPP) (DisposeRoutineDescriptor(userUPP))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(void) DisposeComponentFunctionUPP(ComponentFunctionUPP userUPP) { DisposeRoutineDescriptor(userUPP); }
+ #else
+ #define DisposeComponentFunctionUPP(userUPP) (DisposeRoutineDescriptor(userUPP))
+ #endif
#endif
#if TARGET_RT_MAC_CFM
- /*
- CallComponentUPP is a global variable exported from InterfaceLib.
- It is the ProcPtr passed to CallUniversalProc to manually call a component function.
- */
- /*
- * CallComponentUPP
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- extern UniversalProcPtr CallComponentUPP;
+/*
+ CallComponentUPP is a global variable exported from InterfaceLib.
+ It is the ProcPtr passed to CallUniversalProc to manually call a component function.
+*/
+/*
+ * CallComponentUPP
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+extern UniversalProcPtr CallComponentUPP;
#endif
#define ComponentCallNow( callNumber, paramSize ) \
FIVEWORDINLINE( 0x2F3C,paramSize,callNumber,0x7000,0xA82A )
- /********************************************************
- * *
- * APPLICATION LEVEL CALLS *
- * *
- ********************************************************/
- /********************************************************
- * Component Database Add, Delete, and Query Routines
- ********************************************************/
- /*
- * RegisterComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Component)
- RegisterComponent(
- ComponentDescription * cd,
- ComponentRoutineUPP componentEntryPoint,
- short global,
- Handle componentName,
- Handle componentInfo,
- Handle componentIcon) TWOWORDINLINE(0x7001, 0xA82A);
-
-
- /*
- * RegisterComponentResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Component)
- RegisterComponentResource(
- ComponentResourceHandle cr,
- short global) TWOWORDINLINE(0x7012, 0xA82A);
-
-
- /*
- * UnregisterComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- UnregisterComponent(Component aComponent) TWOWORDINLINE(0x7002, 0xA82A);
-
-
- /*
- * FindNextComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Component)
- FindNextComponent(
- Component aComponent,
- ComponentDescription * looking) TWOWORDINLINE(0x7004, 0xA82A);
-
-
- /*
- * CountComponents()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- CountComponents(ComponentDescription * looking) TWOWORDINLINE(0x7003, 0xA82A);
-
-
- /*
- * GetComponentInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetComponentInfo(
- Component aComponent,
- ComponentDescription * cd,
- Handle componentName,
- Handle componentInfo,
- Handle componentIcon) TWOWORDINLINE(0x7005, 0xA82A);
-
-
- /*
- * GetComponentListModSeed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetComponentListModSeed(void) TWOWORDINLINE(0x7006, 0xA82A);
-
-
- /*
- * GetComponentTypeModSeed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetComponentTypeModSeed(OSType componentType) TWOWORDINLINE(0x702C, 0xA82A);
-
-
- /********************************************************
- * Component Instance Allocation and dispatch routines
- ********************************************************/
- /*
- * OpenAComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- OpenAComponent(
- Component aComponent,
- ComponentInstance * ci) TWOWORDINLINE(0x702D, 0xA82A);
-
-
- /*
- * OpenComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentInstance)
- OpenComponent(Component aComponent) TWOWORDINLINE(0x7007, 0xA82A);
-
-
- /*
- * CloseComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CloseComponent(ComponentInstance aComponentInstance) TWOWORDINLINE(0x7008, 0xA82A);
-
-
- /*
- * GetComponentInstanceError()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetComponentInstanceError(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700A, 0xA82A);
-
-
- /********************************************************
- * Component aliases
- ********************************************************/
- /*
- * ResolveComponentAlias()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Component)
- ResolveComponentAlias(Component aComponent) TWOWORDINLINE(0x7020, 0xA82A);
-
-
- /********************************************************
- * Component public resources and public string lists
- ********************************************************/
- /* Note: GetComponentPublicResource returns a Handle, not a resource. The caller must dispose it with DisposeHandle. */
- /*
- * GetComponentPublicResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetComponentPublicResource(
- Component aComponent,
- OSType resourceType,
- short resourceID,
- Handle * theResource) TWOWORDINLINE(0x7038, 0xA82A);
-
-
- /*
- * GetComponentPublicResourceList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetComponentPublicResourceList(
- OSType resourceType,
- short resourceID,
- long flags,
- ComponentDescription * cd,
- GetMissingComponentResourceUPP missingProc,
- void * refCon,
- void * atomContainerPtr) TWOWORDINLINE(0x7039, 0xA82A);
-
-
- /*
- * GetComponentPublicIndString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetComponentPublicIndString(
- Component aComponent,
- Str255 theString,
- short strListID,
- short index) TWOWORDINLINE(0x703A, 0xA82A);
-
-
- /********************************************************
- * *
- * CALLS MADE BY COMPONENTS *
- * *
- ********************************************************/
- /********************************************************
- * Component Management routines
- ********************************************************/
- /*
- * SetComponentInstanceError()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetComponentInstanceError(
- ComponentInstance aComponentInstance,
- OSErr theError) TWOWORDINLINE(0x700B, 0xA82A);
-
-
- /*
- * GetComponentRefcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetComponentRefcon(Component aComponent) TWOWORDINLINE(0x7010, 0xA82A);
-
-
- /*
- * SetComponentRefcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetComponentRefcon(
- Component aComponent,
- long theRefcon) TWOWORDINLINE(0x7011, 0xA82A);
-
-
- /*
- * OpenComponentResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- OpenComponentResFile(Component aComponent) TWOWORDINLINE(0x7015, 0xA82A);
-
-
- /*
- * OpenAComponentResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- OpenAComponentResFile(
- Component aComponent,
- short * resRef) TWOWORDINLINE(0x702F, 0xA82A);
-
-
- /*
- * CloseComponentResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CloseComponentResFile(short refnum) TWOWORDINLINE(0x7018, 0xA82A);
-
-
- /* Note: GetComponentResource returns a Handle, not a resource. The caller must dispose it with DisposeHandle. */
- /*
- * GetComponentResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetComponentResource(
- Component aComponent,
- OSType resType,
- short resID,
- Handle * theResource) TWOWORDINLINE(0x7035, 0xA82A);
-
-
- /*
- * GetComponentIndString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetComponentIndString(
- Component aComponent,
- Str255 theString,
- short strListID,
- short index) TWOWORDINLINE(0x7036, 0xA82A);
-
-
- /********************************************************
- * Component Instance Management routines
- ********************************************************/
- /*
- * GetComponentInstanceStorage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Handle)
- GetComponentInstanceStorage(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700C, 0xA82A);
-
-
- /*
- * SetComponentInstanceStorage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetComponentInstanceStorage(
- ComponentInstance aComponentInstance,
- Handle theStorage) TWOWORDINLINE(0x700D, 0xA82A);
+/********************************************************
+* *
+* APPLICATION LEVEL CALLS *
+* *
+********************************************************/
+/********************************************************
+* Component Database Add, Delete, and Query Routines
+********************************************************/
+/*
+ * RegisterComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Component )
+RegisterComponent(
+ ComponentDescription * cd,
+ ComponentRoutineUPP componentEntryPoint,
+ short global,
+ Handle componentName,
+ Handle componentInfo,
+ Handle componentIcon) TWOWORDINLINE(0x7001, 0xA82A);
+
+
+/*
+ * RegisterComponentResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Component )
+RegisterComponentResource(
+ ComponentResourceHandle cr,
+ short global) TWOWORDINLINE(0x7012, 0xA82A);
+
+
+/*
+ * UnregisterComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+UnregisterComponent(Component aComponent) TWOWORDINLINE(0x7002, 0xA82A);
+
+
+/*
+ * FindNextComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Component )
+FindNextComponent(
+ Component aComponent,
+ ComponentDescription * looking) TWOWORDINLINE(0x7004, 0xA82A);
+
+
+/*
+ * CountComponents()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+CountComponents(ComponentDescription * looking) TWOWORDINLINE(0x7003, 0xA82A);
+
+
+/*
+ * GetComponentInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetComponentInfo(
+ Component aComponent,
+ ComponentDescription * cd,
+ Handle componentName,
+ Handle componentInfo,
+ Handle componentIcon) TWOWORDINLINE(0x7005, 0xA82A);
+
+
+/*
+ * GetComponentListModSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetComponentListModSeed(void) TWOWORDINLINE(0x7006, 0xA82A);
+
+
+/*
+ * GetComponentTypeModSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetComponentTypeModSeed(OSType componentType) TWOWORDINLINE(0x702C, 0xA82A);
+
+
+/********************************************************
+* Component Instance Allocation and dispatch routines
+********************************************************/
+/*
+ * OpenAComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+OpenAComponent(
+ Component aComponent,
+ ComponentInstance * ci) TWOWORDINLINE(0x702D, 0xA82A);
+
+
+/*
+ * OpenComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentInstance )
+OpenComponent(Component aComponent) TWOWORDINLINE(0x7007, 0xA82A);
+
+
+/*
+ * CloseComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CloseComponent(ComponentInstance aComponentInstance) TWOWORDINLINE(0x7008, 0xA82A);
+
+
+/*
+ * GetComponentInstanceError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetComponentInstanceError(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700A, 0xA82A);
+
+
+/********************************************************
+* Component aliases
+********************************************************/
+/*
+ * ResolveComponentAlias()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Component )
+ResolveComponentAlias(Component aComponent) TWOWORDINLINE(0x7020, 0xA82A);
+
+
+/********************************************************
+* Component public resources and public string lists
+********************************************************/
+/* Note: GetComponentPublicResource returns a Handle, not a resource. The caller must dispose it with DisposeHandle. */
+/*
+ * GetComponentPublicResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetComponentPublicResource(
+ Component aComponent,
+ OSType resourceType,
+ short resourceID,
+ Handle * theResource) TWOWORDINLINE(0x7038, 0xA82A);
+
+
+/*
+ * GetComponentPublicResourceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetComponentPublicResourceList(
+ OSType resourceType,
+ short resourceID,
+ long flags,
+ ComponentDescription * cd,
+ GetMissingComponentResourceUPP missingProc,
+ void * refCon,
+ void * atomContainerPtr) TWOWORDINLINE(0x7039, 0xA82A);
+
+
+/*
+ * GetComponentPublicIndString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetComponentPublicIndString(
+ Component aComponent,
+ Str255 theString,
+ short strListID,
+ short index) TWOWORDINLINE(0x703A, 0xA82A);
+
+
+/********************************************************
+* *
+* CALLS MADE BY COMPONENTS *
+* *
+********************************************************/
+/********************************************************
+* Component Management routines
+********************************************************/
+/*
+ * SetComponentInstanceError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetComponentInstanceError(
+ ComponentInstance aComponentInstance,
+ OSErr theError) TWOWORDINLINE(0x700B, 0xA82A);
+
+
+/*
+ * GetComponentRefcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetComponentRefcon(Component aComponent) TWOWORDINLINE(0x7010, 0xA82A);
+
+
+/*
+ * SetComponentRefcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetComponentRefcon(
+ Component aComponent,
+ long theRefcon) TWOWORDINLINE(0x7011, 0xA82A);
+
+
+/*
+ * OpenComponentResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+OpenComponentResFile(Component aComponent) TWOWORDINLINE(0x7015, 0xA82A);
+
+
+/*
+ * OpenAComponentResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+OpenAComponentResFile(
+ Component aComponent,
+ short * resRef) TWOWORDINLINE(0x702F, 0xA82A);
+
+
+/*
+ * CloseComponentResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CloseComponentResFile(short refnum) TWOWORDINLINE(0x7018, 0xA82A);
+
+
+/* Note: GetComponentResource returns a Handle, not a resource. The caller must dispose it with DisposeHandle. */
+/*
+ * GetComponentResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetComponentResource(
+ Component aComponent,
+ OSType resType,
+ short resID,
+ Handle * theResource) TWOWORDINLINE(0x7035, 0xA82A);
+
+
+/*
+ * GetComponentIndString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetComponentIndString(
+ Component aComponent,
+ Str255 theString,
+ short strListID,
+ short index) TWOWORDINLINE(0x7036, 0xA82A);
+
+
+/********************************************************
+* Component Instance Management routines
+********************************************************/
+/*
+ * GetComponentInstanceStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Handle )
+GetComponentInstanceStorage(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700C, 0xA82A);
+
+
+/*
+ * SetComponentInstanceStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetComponentInstanceStorage(
+ ComponentInstance aComponentInstance,
+ Handle theStorage) TWOWORDINLINE(0x700D, 0xA82A);
#if CALL_NOT_IN_CARBON
- /*
- * GetComponentInstanceA5()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetComponentInstanceA5(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700E, 0xA82A);
-
-
- /*
- * SetComponentInstanceA5()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetComponentInstanceA5(
- ComponentInstance aComponentInstance,
- long theA5) TWOWORDINLINE(0x700F, 0xA82A);
+/*
+ * GetComponentInstanceA5()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetComponentInstanceA5(ComponentInstance aComponentInstance) TWOWORDINLINE(0x700E, 0xA82A);
+
+
+/*
+ * SetComponentInstanceA5()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetComponentInstanceA5(
+ ComponentInstance aComponentInstance,
+ long theA5) TWOWORDINLINE(0x700F, 0xA82A);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * CountComponentInstances()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- CountComponentInstances(Component aComponent) TWOWORDINLINE(0x7013, 0xA82A);
-
-
- /* useful helper routines for convenient method dispatching */
- /*
- * CallComponentFunction()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- CallComponentFunction(
- ComponentParameters * params,
- ComponentFunctionUPP func) TWOWORDINLINE(0x70FF, 0xA82A);
-
-
- /*
- * CallComponentFunctionWithStorage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- CallComponentFunctionWithStorage(
- Handle storage,
- ComponentParameters * params,
- ComponentFunctionUPP func) TWOWORDINLINE(0x70FF, 0xA82A);
+/*
+ * CountComponentInstances()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+CountComponentInstances(Component aComponent) TWOWORDINLINE(0x7013, 0xA82A);
+
+
+/* useful helper routines for convenient method dispatching */
+/*
+ * CallComponentFunction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+CallComponentFunction(
+ ComponentParameters * params,
+ ComponentFunctionUPP func) TWOWORDINLINE(0x70FF, 0xA82A);
+
+
+/*
+ * CallComponentFunctionWithStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+CallComponentFunctionWithStorage(
+ Handle storage,
+ ComponentParameters * params,
+ ComponentFunctionUPP func) TWOWORDINLINE(0x70FF, 0xA82A);
#if TARGET_OS_MAC && !TARGET_CPU_68K
- /*
- * CallComponentFunctionWithStorageProcInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- CallComponentFunctionWithStorageProcInfo(
- Handle storage,
- ComponentParameters * params,
- ProcPtr func,
- ProcInfoType funcProcInfo);
+/*
+ * CallComponentFunctionWithStorageProcInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+CallComponentFunctionWithStorageProcInfo(
+ Handle storage,
+ ComponentParameters * params,
+ ProcPtr func,
+ ProcInfoType funcProcInfo);
#else
@@ -859,583 +830,555 @@ extern "C" {
#endif /* TARGET_OS_MAC && !TARGET_CPU_68K */
- /*
- * DelegateComponentCall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- DelegateComponentCall(
- ComponentParameters * originalParams,
- ComponentInstance ci) TWOWORDINLINE(0x7024, 0xA82A);
-
-
- /*
- * SetDefaultComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDefaultComponent(
- Component aComponent,
- short flags) TWOWORDINLINE(0x701E, 0xA82A);
-
-
- /*
- * OpenDefaultComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentInstance)
- OpenDefaultComponent(
- OSType componentType,
- OSType componentSubType) TWOWORDINLINE(0x7021, 0xA82A);
-
-
- /*
- * OpenADefaultComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- OpenADefaultComponent(
- OSType componentType,
- OSType componentSubType,
- ComponentInstance * ci) TWOWORDINLINE(0x702E, 0xA82A);
-
-
- /*
- * CaptureComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Component)
- CaptureComponent(
- Component capturedComponent,
- Component capturingComponent) TWOWORDINLINE(0x701C, 0xA82A);
-
-
- /*
- * UncaptureComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- UncaptureComponent(Component aComponent) TWOWORDINLINE(0x701D, 0xA82A);
-
-
- /*
- * RegisterComponentResourceFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- RegisterComponentResourceFile(
- short resRefNum,
- short global) TWOWORDINLINE(0x7014, 0xA82A);
-
-
- /*
- * GetComponentIconSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetComponentIconSuite(
- Component aComponent,
- Handle * iconSuite) TWOWORDINLINE(0x7029, 0xA82A);
-
-
- /********************************************************
- * *
- * Direct calls to the Components *
- * *
- ********************************************************/
- /* Old style names*/
-
- /*
- * ComponentFunctionImplemented()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- ComponentFunctionImplemented(
- ComponentInstance ci,
- short ftnNumber) FIVEWORDINLINE(0x2F3C, 0x0002, 0xFFFD, 0x7000, 0xA82A);
-
-
- /*
- * GetComponentVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetComponentVersion(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFC, 0x7000, 0xA82A);
-
-
- /*
- * ComponentSetTarget()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- ComponentSetTarget(
- ComponentInstance ci,
- ComponentInstance target) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFA, 0x7000, 0xA82A);
-
-
- /* New style names*/
-
- /*
- * CallComponentOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentOpen(
- ComponentInstance ci,
- ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFF, 0x7000, 0xA82A);
-
-
- /*
- * CallComponentClose()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentClose(
- ComponentInstance ci,
- ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFE, 0x7000, 0xA82A);
-
-
- /*
- * CallComponentCanDo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentCanDo(
- ComponentInstance ci,
- short ftnNumber) FIVEWORDINLINE(0x2F3C, 0x0002, 0xFFFD, 0x7000, 0xA82A);
-
-
- /*
- * CallComponentVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentVersion(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFC, 0x7000, 0xA82A);
-
-
- /*
- * CallComponentRegister()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentRegister(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFB, 0x7000, 0xA82A);
-
-
- /*
- * CallComponentTarget()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentTarget(
- ComponentInstance ci,
- ComponentInstance target) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFA, 0x7000, 0xA82A);
-
-
- /*
- * CallComponentUnregister()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentUnregister(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFF9, 0x7000, 0xA82A);
-
-
- /*
- * CallComponentGetMPWorkFunction()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentGetMPWorkFunction(
- ComponentInstance ci,
- ComponentMPWorkFunctionUPP * workFunction,
- void ** refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0xFFF8, 0x7000, 0xA82A);
-
-
- /*
- * CallComponentGetPublicResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentGetPublicResource(
- ComponentInstance ci,
- OSType resourceType,
- short resourceID,
- Handle * resource) FIVEWORDINLINE(0x2F3C, 0x000A, 0xFFF6, 0x7000, 0xA82A);
+/*
+ * DelegateComponentCall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+DelegateComponentCall(
+ ComponentParameters * originalParams,
+ ComponentInstance ci) TWOWORDINLINE(0x7024, 0xA82A);
+
+
+/*
+ * SetDefaultComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDefaultComponent(
+ Component aComponent,
+ short flags) TWOWORDINLINE(0x701E, 0xA82A);
+
+
+/*
+ * OpenDefaultComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentInstance )
+OpenDefaultComponent(
+ OSType componentType,
+ OSType componentSubType) TWOWORDINLINE(0x7021, 0xA82A);
+
+
+/*
+ * OpenADefaultComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+OpenADefaultComponent(
+ OSType componentType,
+ OSType componentSubType,
+ ComponentInstance * ci) TWOWORDINLINE(0x702E, 0xA82A);
+
+
+/*
+ * CaptureComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Component )
+CaptureComponent(
+ Component capturedComponent,
+ Component capturingComponent) TWOWORDINLINE(0x701C, 0xA82A);
+
+
+/*
+ * UncaptureComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+UncaptureComponent(Component aComponent) TWOWORDINLINE(0x701D, 0xA82A);
+
+
+/*
+ * RegisterComponentResourceFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+RegisterComponentResourceFile(
+ short resRefNum,
+ short global) TWOWORDINLINE(0x7014, 0xA82A);
+
+
+/*
+ * GetComponentIconSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetComponentIconSuite(
+ Component aComponent,
+ Handle * iconSuite) TWOWORDINLINE(0x7029, 0xA82A);
+
+
+/********************************************************
+* *
+* Direct calls to the Components *
+* *
+********************************************************/
+/* Old style names*/
+
+/*
+ * ComponentFunctionImplemented()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+ComponentFunctionImplemented(
+ ComponentInstance ci,
+ short ftnNumber) FIVEWORDINLINE(0x2F3C, 0x0002, 0xFFFD, 0x7000, 0xA82A);
+
+
+/*
+ * GetComponentVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetComponentVersion(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFC, 0x7000, 0xA82A);
+
+
+/*
+ * ComponentSetTarget()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+ComponentSetTarget(
+ ComponentInstance ci,
+ ComponentInstance target) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFA, 0x7000, 0xA82A);
+
+
+/* New style names*/
+
+/*
+ * CallComponentOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentOpen(
+ ComponentInstance ci,
+ ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFF, 0x7000, 0xA82A);
+
+
+/*
+ * CallComponentClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentClose(
+ ComponentInstance ci,
+ ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFE, 0x7000, 0xA82A);
+
+
+/*
+ * CallComponentCanDo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentCanDo(
+ ComponentInstance ci,
+ short ftnNumber) FIVEWORDINLINE(0x2F3C, 0x0002, 0xFFFD, 0x7000, 0xA82A);
+
+
+/*
+ * CallComponentVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentVersion(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFC, 0x7000, 0xA82A);
+
+
+/*
+ * CallComponentRegister()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentRegister(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFFB, 0x7000, 0xA82A);
+
+
+/*
+ * CallComponentTarget()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentTarget(
+ ComponentInstance ci,
+ ComponentInstance target) FIVEWORDINLINE(0x2F3C, 0x0004, 0xFFFA, 0x7000, 0xA82A);
+
+
+/*
+ * CallComponentUnregister()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentUnregister(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0xFFF9, 0x7000, 0xA82A);
+
+
+/*
+ * CallComponentGetMPWorkFunction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentGetMPWorkFunction(
+ ComponentInstance ci,
+ ComponentMPWorkFunctionUPP * workFunction,
+ void ** refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0xFFF8, 0x7000, 0xA82A);
+
+
+/*
+ * CallComponentGetPublicResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib via QuickTime 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentGetPublicResource(
+ ComponentInstance ci,
+ OSType resourceType,
+ short resourceID,
+ Handle * resource) FIVEWORDINLINE(0x2F3C, 0x000A, 0xFFF6, 0x7000, 0xA82A);
#if !TARGET_OS_MAC
- /*
- CallComponent is used by ComponentGlue routines to manually call a component function.
- */
-#if CALL_NOT_IN_CARBON
- /*
- * CallComponent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
+/*
+ CallComponent is used by ComponentGlue routines to manually call a component function.
*/
- EXTERN_API(ComponentResult)
- CallComponent(
- ComponentInstance ci,
- ComponentParameters * cp);
+#if CALL_NOT_IN_CARBON
+/*
+ * CallComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponent(
+ ComponentInstance ci,
+ ComponentParameters * cp);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !TARGET_OS_MAC */
- /*
- CallComponentDispatch is a CarbonLib routine that replaces CallComponent inline glue
- to call a component function.
- */
- /*
- * CallComponentDispatch()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentDispatch(ComponentParameters * cp);
+/*
+ CallComponentDispatch is a CarbonLib routine that replaces CallComponent inline glue
+ to call a component function.
+ */
+/*
+ * CallComponentDispatch()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentDispatch(ComponentParameters * cp);
- /* UPP call backs */
- /*
- * NewComponentMPWorkFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentMPWorkFunctionUPP)
- NewComponentMPWorkFunctionUPP(ComponentMPWorkFunctionProcPtr userRoutine);
+/* UPP call backs */
+/*
+ * NewComponentMPWorkFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentMPWorkFunctionUPP )
+NewComponentMPWorkFunctionUPP(ComponentMPWorkFunctionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppComponentMPWorkFunctionProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentMPWorkFunctionUPP) NewComponentMPWorkFunctionUPP(ComponentMPWorkFunctionProcPtr userRoutine)
- {
- return (ComponentMPWorkFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentMPWorkFunctionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewComponentMPWorkFunctionUPP(userRoutine) (ComponentMPWorkFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentMPWorkFunctionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppComponentMPWorkFunctionProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentMPWorkFunctionUPP) NewComponentMPWorkFunctionUPP(ComponentMPWorkFunctionProcPtr userRoutine) { return (ComponentMPWorkFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentMPWorkFunctionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewComponentMPWorkFunctionUPP(userRoutine) (ComponentMPWorkFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentMPWorkFunctionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewComponentRoutineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentRoutineUPP)
- NewComponentRoutineUPP(ComponentRoutineProcPtr userRoutine);
+/*
+ * NewComponentRoutineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentRoutineUPP )
+NewComponentRoutineUPP(ComponentRoutineProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppComponentRoutineProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentRoutineUPP) NewComponentRoutineUPP(ComponentRoutineProcPtr userRoutine)
- {
- return (ComponentRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentRoutineProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewComponentRoutineUPP(userRoutine) (ComponentRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentRoutineProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppComponentRoutineProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentRoutineUPP) NewComponentRoutineUPP(ComponentRoutineProcPtr userRoutine) { return (ComponentRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentRoutineProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewComponentRoutineUPP(userRoutine) (ComponentRoutineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppComponentRoutineProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewGetMissingComponentResourceUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(GetMissingComponentResourceUPP)
- NewGetMissingComponentResourceUPP(GetMissingComponentResourceProcPtr userRoutine);
+/*
+ * NewGetMissingComponentResourceUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( GetMissingComponentResourceUPP )
+NewGetMissingComponentResourceUPP(GetMissingComponentResourceProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppGetMissingComponentResourceProcInfo = 0x0000FBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(GetMissingComponentResourceUPP) NewGetMissingComponentResourceUPP(GetMissingComponentResourceProcPtr userRoutine)
- {
- return (GetMissingComponentResourceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMissingComponentResourceProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewGetMissingComponentResourceUPP(userRoutine) (GetMissingComponentResourceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMissingComponentResourceProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppGetMissingComponentResourceProcInfo = 0x0000FBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(GetMissingComponentResourceUPP) NewGetMissingComponentResourceUPP(GetMissingComponentResourceProcPtr userRoutine) { return (GetMissingComponentResourceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMissingComponentResourceProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewGetMissingComponentResourceUPP(userRoutine) (GetMissingComponentResourceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMissingComponentResourceProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeComponentMPWorkFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeComponentMPWorkFunctionUPP(ComponentMPWorkFunctionUPP userUPP);
+/*
+ * DisposeComponentMPWorkFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeComponentMPWorkFunctionUPP(ComponentMPWorkFunctionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeComponentMPWorkFunctionUPP(ComponentMPWorkFunctionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeComponentMPWorkFunctionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeComponentMPWorkFunctionUPP(ComponentMPWorkFunctionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeComponentMPWorkFunctionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeComponentRoutineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeComponentRoutineUPP(ComponentRoutineUPP userUPP);
+/*
+ * DisposeComponentRoutineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeComponentRoutineUPP(ComponentRoutineUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeComponentRoutineUPP(ComponentRoutineUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeComponentRoutineUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeComponentRoutineUPP(ComponentRoutineUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeComponentRoutineUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeGetMissingComponentResourceUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeGetMissingComponentResourceUPP(GetMissingComponentResourceUPP userUPP);
+/*
+ * DisposeGetMissingComponentResourceUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeGetMissingComponentResourceUPP(GetMissingComponentResourceUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeGetMissingComponentResourceUPP(GetMissingComponentResourceUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeGetMissingComponentResourceUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeGetMissingComponentResourceUPP(GetMissingComponentResourceUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeGetMissingComponentResourceUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeComponentMPWorkFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeComponentMPWorkFunctionUPP(
- void * globalRefCon,
- ComponentMPWorkFunctionHeaderRecordPtr header,
- ComponentMPWorkFunctionUPP userUPP);
+/*
+ * InvokeComponentMPWorkFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeComponentMPWorkFunctionUPP(
+ void * globalRefCon,
+ ComponentMPWorkFunctionHeaderRecordPtr header,
+ ComponentMPWorkFunctionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeComponentMPWorkFunctionUPP(void * globalRefCon, ComponentMPWorkFunctionHeaderRecordPtr header, ComponentMPWorkFunctionUPP userUPP)
- {
- return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppComponentMPWorkFunctionProcInfo, globalRefCon, header);
- }
-#else
-#define InvokeComponentMPWorkFunctionUPP(globalRefCon, header, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppComponentMPWorkFunctionProcInfo, (globalRefCon), (header))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeComponentMPWorkFunctionUPP(void * globalRefCon, ComponentMPWorkFunctionHeaderRecordPtr header, ComponentMPWorkFunctionUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppComponentMPWorkFunctionProcInfo, globalRefCon, header); }
+ #else
+ #define InvokeComponentMPWorkFunctionUPP(globalRefCon, header, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppComponentMPWorkFunctionProcInfo, (globalRefCon), (header))
+ #endif
#endif
- /*
- * InvokeComponentRoutineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeComponentRoutineUPP(
- ComponentParameters * cp,
- Handle componentStorage,
- ComponentRoutineUPP userUPP);
+/*
+ * InvokeComponentRoutineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeComponentRoutineUPP(
+ ComponentParameters * cp,
+ Handle componentStorage,
+ ComponentRoutineUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeComponentRoutineUPP(ComponentParameters * cp, Handle componentStorage, ComponentRoutineUPP userUPP)
- {
- return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppComponentRoutineProcInfo, cp, componentStorage);
- }
-#else
-#define InvokeComponentRoutineUPP(cp, componentStorage, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppComponentRoutineProcInfo, (cp), (componentStorage))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeComponentRoutineUPP(ComponentParameters * cp, Handle componentStorage, ComponentRoutineUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppComponentRoutineProcInfo, cp, componentStorage); }
+ #else
+ #define InvokeComponentRoutineUPP(cp, componentStorage, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppComponentRoutineProcInfo, (cp), (componentStorage))
+ #endif
#endif
- /*
- * InvokeGetMissingComponentResourceUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeGetMissingComponentResourceUPP(
- Component c,
- OSType resType,
- short resID,
- void * refCon,
- Handle * resource,
- GetMissingComponentResourceUPP userUPP);
+/*
+ * InvokeGetMissingComponentResourceUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeGetMissingComponentResourceUPP(
+ Component c,
+ OSType resType,
+ short resID,
+ void * refCon,
+ Handle * resource,
+ GetMissingComponentResourceUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeGetMissingComponentResourceUPP(Component c, OSType resType, short resID, void * refCon, Handle * resource, GetMissingComponentResourceUPP userUPP)
- {
- return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppGetMissingComponentResourceProcInfo, c, resType, resID, refCon, resource);
- }
-#else
-#define InvokeGetMissingComponentResourceUPP(c, resType, resID, refCon, resource, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppGetMissingComponentResourceProcInfo, (c), (resType), (resID), (refCon), (resource))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeGetMissingComponentResourceUPP(Component c, OSType resType, short resID, void * refCon, Handle * resource, GetMissingComponentResourceUPP userUPP) { return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppGetMissingComponentResourceProcInfo, c, resType, resID, refCon, resource); }
+ #else
+ #define InvokeGetMissingComponentResourceUPP(c, resType, resID, refCon, resource, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppGetMissingComponentResourceProcInfo, (c), (resType), (resID), (refCon), (resource))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewComponentMPWorkFunctionProc(userRoutine) NewComponentMPWorkFunctionUPP(userRoutine)
-#define NewComponentRoutineProc(userRoutine) NewComponentRoutineUPP(userRoutine)
-#define NewGetMissingComponentResourceProc(userRoutine) NewGetMissingComponentResourceUPP(userRoutine)
-#define CallComponentMPWorkFunctionProc(userRoutine, globalRefCon, header) InvokeComponentMPWorkFunctionUPP(globalRefCon, header, userRoutine)
-#define CallComponentRoutineProc(userRoutine, cp, componentStorage) InvokeComponentRoutineUPP(cp, componentStorage, userRoutine)
-#define CallGetMissingComponentResourceProc(userRoutine, c, resType, resID, refCon, resource) InvokeGetMissingComponentResourceUPP(c, resType, resID, refCon, resource, userRoutine)
+ #define NewComponentMPWorkFunctionProc(userRoutine) NewComponentMPWorkFunctionUPP(userRoutine)
+ #define NewComponentRoutineProc(userRoutine) NewComponentRoutineUPP(userRoutine)
+ #define NewGetMissingComponentResourceProc(userRoutine) NewGetMissingComponentResourceUPP(userRoutine)
+ #define CallComponentMPWorkFunctionProc(userRoutine, globalRefCon, header) InvokeComponentMPWorkFunctionUPP(globalRefCon, header, userRoutine)
+ #define CallComponentRoutineProc(userRoutine, cp, componentStorage) InvokeComponentRoutineUPP(cp, componentStorage, userRoutine)
+ #define CallGetMissingComponentResourceProc(userRoutine, c, resType, resID, refCon, resource) InvokeGetMissingComponentResourceUPP(c, resType, resID, refCon, resource, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* ProcInfos */
+/* ProcInfos */
- /* MixedMode ProcInfo constants for component calls */
- enum
- {
- uppComponentFunctionImplementedProcInfo = 0x000002F0,
- uppGetComponentVersionProcInfo = 0x000000F0,
- uppComponentSetTargetProcInfo = 0x000003F0,
- uppCallComponentOpenProcInfo = 0x000003F0,
- uppCallComponentCloseProcInfo = 0x000003F0,
- uppCallComponentCanDoProcInfo = 0x000002F0,
- uppCallComponentVersionProcInfo = 0x000000F0,
- uppCallComponentRegisterProcInfo = 0x000000F0,
- uppCallComponentTargetProcInfo = 0x000003F0,
- uppCallComponentUnregisterProcInfo = 0x000000F0,
- uppCallComponentGetMPWorkFunctionProcInfo = 0x00000FF0,
- uppCallComponentGetPublicResourceProcInfo = 0x00003BF0
- };
+/* MixedMode ProcInfo constants for component calls */
+enum {
+ uppComponentFunctionImplementedProcInfo = 0x000002F0,
+ uppGetComponentVersionProcInfo = 0x000000F0,
+ uppComponentSetTargetProcInfo = 0x000003F0,
+ uppCallComponentOpenProcInfo = 0x000003F0,
+ uppCallComponentCloseProcInfo = 0x000003F0,
+ uppCallComponentCanDoProcInfo = 0x000002F0,
+ uppCallComponentVersionProcInfo = 0x000000F0,
+ uppCallComponentRegisterProcInfo = 0x000000F0,
+ uppCallComponentTargetProcInfo = 0x000003F0,
+ uppCallComponentUnregisterProcInfo = 0x000000F0,
+ uppCallComponentGetMPWorkFunctionProcInfo = 0x00000FF0,
+ uppCallComponentGetPublicResourceProcInfo = 0x00003BF0
+};
@@ -1444,11 +1387,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ConditionalMacros.h b/include/qt/ConditionalMacros.h
index 19e7264c3..8c8857ead 100644
--- a/include/qt/ConditionalMacros.h
+++ b/include/qt/ConditionalMacros.h
@@ -1,26 +1,26 @@
/*
File: ConditionalMacros.h
-
+
Contains: Set up for compiler independent conditionals
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CONDITIONALMACROS__
#define __CONDITIONALMACROS__
/****************************************************************************************************
UNIVERSAL_INTERFACES_VERSION
-
+
0x0400 --> version 4.0 (Mac OS X only)
- 0x0335 --> version 3.4
+ 0x0335 --> version 3.4
0x0331 --> version 3.3.1
0x0330 --> version 3.3
0x0320 --> version 3.2
@@ -36,7 +36,7 @@
/****************************************************************************************************
- TARGET_CPU_*
+ TARGET_CPU_*
These conditionals specify which microprocessor instruction set is being
generated. At most one of these is true, the rest are false.
@@ -48,35 +48,35 @@
TARGET_CPU_ALPHA - Compiler is generating Dec Alpha instructions
- TARGET_OS_*
+ TARGET_OS_*
These conditionals specify in which Operating System the generated code will
run. At most one of the these is true, the rest are false.
TARGET_OS_MAC - Generate code will run under Mac OS
TARGET_OS_WIN32 - Generate code will run under 32-bit Windows
- TARGET_OS_UNIX - Generate code will run under some unix
+ TARGET_OS_UNIX - Generate code will run under some unix
- TARGET_RT_*
+ TARGET_RT_*
These conditionals specify in which runtime the generated code will
run. This is needed when the OS and CPU support more than one runtime
(e.g. MacOS on 68K supports CFM68K and Classic 68k).
TARGET_RT_LITTLE_ENDIAN - Generated code uses little endian format for integers
- TARGET_RT_BIG_ENDIAN - Generated code uses big endian format for integers
+ TARGET_RT_BIG_ENDIAN - Generated code uses big endian format for integers
TARGET_RT_MAC_CFM - TARGET_OS_MAC is true and CFM68K or PowerPC CFM (TVectors) are used
TARGET_RT_MAC_MACHO - TARGET_OS_MAC is true and Mach-O style runtime
- TARGET_RT_MAC_68881 - TARGET_OS_MAC is true and 68881 floating point instructions used
+ TARGET_RT_MAC_68881 - TARGET_OS_MAC is true and 68881 floating point instructions used
- TARGET__API_*_*
+ TARGET__API_*_*
These conditionals are used to differentiate between sets of API's on the same
processor under the same OS. The first section after _API_ is the OS. The
second section is the API set. Unlike TARGET_OS_ and TARGET_CPU_, these
conditionals are not mutally exclusive. This file will attempt to auto-configure
all TARGET_API_*_* values, but will often need a TARGET_API_*_* value predefined
in order to disambiguate.
-
+
TARGET_API_MAC_OS8 - Code is being compiled to run on System 7 through Mac OS 8.x
TARGET_API_MAC_CARBON - Code is being compiled to run on Mac OS 8 and Mac OS X via CarbonLib
TARGET_API_MAC_OSX - Code is being compiled to run on Mac OS X
@@ -84,7 +84,7 @@
PRAGMA_*
These conditionals specify whether the compiler supports particular #pragma's
-
+
PRAGMA_IMPORT - Compiler supports: #pragma import on/off/reset
PRAGMA_ONCE - Compiler supports: #pragma once
PRAGMA_STRUCT_ALIGN - Compiler supports: #pragma options align=mac68k/power/reset
@@ -122,1336 +122,1336 @@
****************************************************************************************************/
#if defined(__MRC__)
-/*
- MrC[pp] compiler from Apple Computer, Inc.
+ /*
+ MrC[pp] compiler from Apple Computer, Inc.
*/
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#if (__MRC__ > 0x0200) && (__MRC__ < 0x0700)
-#define PRAGMA_IMPORT 1
-#else
-#define PRAGMA_IMPORT 0
-#endif
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_ONCE 1
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 1
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-
-#if (__MRC__ > 0x0300) && (__MRC__ < 0x0700)
-#if __option(longlong)
-
-
-#define TYPE_LONGLONG 1
-
-
-#else
-#define TYPE_LONGLONG 0
-#endif
-#if __option(bool)
-#define TYPE_BOOL 1
-#else
-#define TYPE_BOOL 0
-#endif
-#define SLASH_INCLUDES_UNSUPPORTED !__option(unix_includes)
-#else
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define SLASH_INCLUDES_UNSUPPORTED 1
-#endif
-#define TYPE_EXTENDED 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 0
-
-#define FUNCTION_PASCAL 1
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #if (__MRC__ > 0x0200) && (__MRC__ < 0x0700)
+ #define PRAGMA_IMPORT 1
+ #else
+ #define PRAGMA_IMPORT 0
+ #endif
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_ONCE 1
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 1
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #if (__MRC__ > 0x0300) && (__MRC__ < 0x0700)
+ #if __option(longlong)
+
+
+ #define TYPE_LONGLONG 1
+
+
+ #else
+ #define TYPE_LONGLONG 0
+ #endif
+ #if __option(bool)
+ #define TYPE_BOOL 1
+ #else
+ #define TYPE_BOOL 0
+ #endif
+ #define SLASH_INCLUDES_UNSUPPORTED !__option(unix_includes)
+ #else
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define SLASH_INCLUDES_UNSUPPORTED 1
+ #endif
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 0
+
+ #define FUNCTION_PASCAL 1
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+
#elif defined(__SC__) && (defined(MPW_CPLUS) || defined(MPW_C))
-/*
- SC[pp] compiler from Apple Computer, Inc.
+ /*
+ SC[pp] compiler from Apple Computer, Inc.
*/
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#if defined(__CFM68K__)
-#define TARGET_RT_MAC_CFM 1
-#else
-#define TARGET_RT_MAC_CFM 0
-#endif
-#define TARGET_RT_MAC_MACHO 0
-#if defined(mc68881)
-#define TARGET_RT_MAC_68881 1
-#else
-#define TARGET_RT_MAC_68881 0
-#endif
-#if TARGET_RT_MAC_CFM
-#define PRAGMA_IMPORT 1
-#if (__SC__ <= 0x0810)
-/* old versions of SC don't support #pragma import resetΣ */
-#define PRAGMA_IMPORT_OFF 1
-#endif
-#else
-#define PRAGMA_IMPORT 0
-#endif
-#if (__SC__ >= 0x0801)
-#define PRAGMA_STRUCT_ALIGN 1
-#else
-#define PRAGMA_STRUCT_ALIGN 0
-#endif
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 1
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-
-#define TYPE_LONGLONG 0
-#define TYPE_EXTENDED 1
-#define TYPE_LONGDOUBLE_IS_DOUBLE 0
-#if (__SC__ > 0x0810)
-#if __option(bool)
-#define TYPE_BOOL 1
-#else
-#define TYPE_BOOL 0
-#endif
-#else
-#define TYPE_BOOL 0
-#endif
-#if TARGET_RT_MAC_CFM
-#define FUNCTION_PASCAL 0
-#else
-#define FUNCTION_PASCAL 1
-#endif
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-#define SLASH_INCLUDES_UNSUPPORTED !__option(unix_includes)
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #if defined(__CFM68K__)
+ #define TARGET_RT_MAC_CFM 1
+ #else
+ #define TARGET_RT_MAC_CFM 0
+ #endif
+ #define TARGET_RT_MAC_MACHO 0
+ #if defined(mc68881)
+ #define TARGET_RT_MAC_68881 1
+ #else
+ #define TARGET_RT_MAC_68881 0
+ #endif
+ #if TARGET_RT_MAC_CFM
+ #define PRAGMA_IMPORT 1
+ #if (__SC__ <= 0x0810)
+ /* old versions of SC don't support #pragma import resetΣ */
+ #define PRAGMA_IMPORT_OFF 1
+ #endif
+ #else
+ #define PRAGMA_IMPORT 0
+ #endif
+ #if (__SC__ >= 0x0801)
+ #define PRAGMA_STRUCT_ALIGN 1
+ #else
+ #define PRAGMA_STRUCT_ALIGN 0
+ #endif
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 1
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #define TYPE_LONGLONG 0
+ #define TYPE_EXTENDED 1
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 0
+ #if (__SC__ > 0x0810)
+ #if __option(bool)
+ #define TYPE_BOOL 1
+ #else
+ #define TYPE_BOOL 0
+ #endif
+ #else
+ #define TYPE_BOOL 0
+ #endif
+ #if TARGET_RT_MAC_CFM
+ #define FUNCTION_PASCAL 0
+ #else
+ #define FUNCTION_PASCAL 1
+ #endif
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+ #define SLASH_INCLUDES_UNSUPPORTED !__option(unix_includes)
#elif defined(__MWERKS__)
-/*
- CodeWarrior compiler from Metrowerks, Inc.
-*/
-#if (__MWERKS__ < 0x0900) || macintosh
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#if powerc
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#else
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#if defined(__CFM68K__)
-#define TARGET_RT_MAC_CFM 1
-#else
-#define TARGET_RT_MAC_CFM 0
-#endif
-#define TARGET_RT_MAC_MACHO 0
-#if __MC68881__
-#define TARGET_RT_MAC_68881 1
-#else
-#define TARGET_RT_MAC_68881 0
-#endif
-#if __option(IEEEdoubles)
-#define TYPE_LONGDOUBLE_IS_DOUBLE 0
-#else
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#endif
-#endif
-#define PRAGMA_ONCE 1
-#if (__MWERKS__ >= 0x0700)
-#define PRAGMA_IMPORT TARGET_RT_MAC_CFM
-#else
-#define PRAGMA_IMPORT 0
-#endif
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 1
-#define PRAGMA_ENUM_OPTIONS 0
-#if __option(enumsalwaysint) && __option(ANSI_strict)
-#define FOUR_CHAR_CODE(x) ((long)(x)) /* otherwise compiler will complain about values with high bit set */
-#else
-#define FOUR_CHAR_CODE(x) (x)
-#endif
-#if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
-#define FUNCTION_PASCAL 1
-#else
-#define FUNCTION_PASCAL 1
-#endif
-#if (__MWERKS__ >= 0x2000)
-#define FUNCTION_DECLSPEC 1
-#else
-#define FUNCTION_DECLSPEC 0
-#endif
-#define FUNCTION_WIN32CC 0
-
-
-#elif (__MWERKS__ >= 0x0900) && __INTEL__
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 1
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 1
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#define __COREAUDIO_USE_FLAT_INCLUDES__ 1
-#define PRAGMA_ONCE 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 1
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 1
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define FUNCTION_PASCAL 0
-#ifndef FUNCTION_DECLSPEC /* allow use of __declspec(dllimport) to be enabled */
-#define FUNCTION_DECLSPEC 0 /* QuickTime for Windows cannot use dllimport */
-#endif
-#ifndef FUNCTION_WIN32CC /* allow calling convention to be overriddden */
-#define FUNCTION_WIN32CC 1
-#endif
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-
-
-#elif (__MWERKS__ >= 0x1900) && __MIPS__
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 1
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 1
-#if __option(little_endian)
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#else
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#endif
-#define PRAGMA_ONCE 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 1
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-
-
-#elif (__MWERKS__ >= 0x2110) && __MACH__
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#if __option(little_endian)
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#else
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#endif
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 1
-#define TARGET_RT_MAC_68881 0
-#define PRAGMA_ONCE 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 1
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define FUNCTION_PASCAL 1
-#define FUNCTION_DECLSPEC 1
-#define FUNCTION_WIN32CC 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#else
-#error unknown Metrowerks compiler
-#endif
-
-
-#if (__MWERKS__ >= 0x1100)
-#if __option(longlong)
-#define TYPE_LONGLONG 1
-#else
-#define TYPE_LONGLONG 0
-#endif
-#else
-#define TYPE_LONGLONG 0
-#endif
-#if (__MWERKS__ >= 0x1000)
-#if __option(bool)
-#define TYPE_BOOL 1
-#else
-#define TYPE_BOOL 0
-#endif
-#else
-#define TYPE_BOOL 0
-#endif
-#define TYPE_EXTENDED 0
-#define SLASH_INCLUDES_UNSUPPORTED 1
+ /*
+ CodeWarrior compiler from Metrowerks, Inc.
+ */
+ #if (__MWERKS__ < 0x0900) || macintosh
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #if powerc
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #else
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #if defined(__CFM68K__)
+ #define TARGET_RT_MAC_CFM 1
+ #else
+ #define TARGET_RT_MAC_CFM 0
+ #endif
+ #define TARGET_RT_MAC_MACHO 0
+ #if __MC68881__
+ #define TARGET_RT_MAC_68881 1
+ #else
+ #define TARGET_RT_MAC_68881 0
+ #endif
+ #if __option(IEEEdoubles)
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 0
+ #else
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #endif
+ #endif
+ #define PRAGMA_ONCE 1
+ #if (__MWERKS__ >= 0x0700)
+ #define PRAGMA_IMPORT TARGET_RT_MAC_CFM
+ #else
+ #define PRAGMA_IMPORT 0
+ #endif
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 1
+ #define PRAGMA_ENUM_OPTIONS 0
+ #if __option(enumsalwaysint) && __option(ANSI_strict)
+ #define FOUR_CHAR_CODE(x) ((long)(x)) /* otherwise compiler will complain about values with high bit set */
+ #else
+ #define FOUR_CHAR_CODE(x) (x)
+ #endif
+ #if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+ #define FUNCTION_PASCAL 1
+ #else
+ #define FUNCTION_PASCAL 1
+ #endif
+ #if (__MWERKS__ >= 0x2000)
+ #define FUNCTION_DECLSPEC 1
+ #else
+ #define FUNCTION_DECLSPEC 0
+ #endif
+ #define FUNCTION_WIN32CC 0
+
+
+ #elif (__MWERKS__ >= 0x0900) && __INTEL__
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 1
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 1
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #define __COREAUDIO_USE_FLAT_INCLUDES__ 1
+ #define PRAGMA_ONCE 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 1
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 1
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define FUNCTION_PASCAL 0
+ #ifndef FUNCTION_DECLSPEC /* allow use of __declspec(dllimport) to be enabled */
+ #define FUNCTION_DECLSPEC 0 /* QuickTime for Windows cannot use dllimport */
+ #endif
+ #ifndef FUNCTION_WIN32CC /* allow calling convention to be overriddden */
+ #define FUNCTION_WIN32CC 1
+ #endif
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+
+
+ #elif (__MWERKS__ >= 0x1900) && __MIPS__
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 1
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 1
+ #if __option(little_endian)
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #else
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #endif
+ #define PRAGMA_ONCE 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 1
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+
+
+ #elif (__MWERKS__ >= 0x2110) && __MACH__
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #if __option(little_endian)
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #else
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #endif
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 1
+ #define TARGET_RT_MAC_68881 0
+ #define PRAGMA_ONCE 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 1
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define FUNCTION_PASCAL 1
+ #define FUNCTION_DECLSPEC 1
+ #define FUNCTION_WIN32CC 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #else
+ #error unknown Metrowerks compiler
+ #endif
+
+
+ #if (__MWERKS__ >= 0x1100)
+ #if __option(longlong)
+ #define TYPE_LONGLONG 1
+ #else
+ #define TYPE_LONGLONG 0
+ #endif
+ #else
+ #define TYPE_LONGLONG 0
+ #endif
+ #if (__MWERKS__ >= 0x1000)
+ #if __option(bool)
+ #define TYPE_BOOL 1
+ #else
+ #define TYPE_BOOL 0
+ #endif
+ #else
+ #define TYPE_BOOL 0
+ #endif
+ #define TYPE_EXTENDED 0
+ #define SLASH_INCLUDES_UNSUPPORTED 1
#elif defined(SYMANTEC_CPLUS) || defined(SYMANTEC_C)
-/*
- C and C++ compiler from Symantec, Inc.
+ /*
+ C and C++ compiler from Symantec, Inc.
*/
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#if powerc
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#else
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#if defined(__CFM68K)
-#define TARGET_RT_MAC_CFM 1
-#else
-#define TARGET_RT_MAC_CFM 0
-#endif
-#define TARGET_RT_MAC_MACHO 0
-#if mc68881
-#define TARGET_RT_MAC_68881 1
-#else
-#define TARGET_RT_MAC_68881 0
-#endif
-#endif
-#define PRAGMA_IMPORT 0
-#define PRAGMA_ONCE 1
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 1
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-
-#if __useAppleExts__
-#define TYPE_EXTENDED 1
-#else
-#define TYPE_EXTENDED 0
-#endif
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-#define SLASH_INCLUDES_UNSUPPORTED 1
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #if powerc
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #else
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #if defined(__CFM68K)
+ #define TARGET_RT_MAC_CFM 1
+ #else
+ #define TARGET_RT_MAC_CFM 0
+ #endif
+ #define TARGET_RT_MAC_MACHO 0
+ #if mc68881
+ #define TARGET_RT_MAC_68881 1
+ #else
+ #define TARGET_RT_MAC_68881 0
+ #endif
+ #endif
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_ONCE 1
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 1
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #if __useAppleExts__
+ #define TYPE_EXTENDED 1
+ #else
+ #define TYPE_EXTENDED 0
+ #endif
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+ #define SLASH_INCLUDES_UNSUPPORTED 1
#elif defined(THINK_C)
-/*
- THINK C compiler from Symantec, Inc. << WARNING: Unsupported Compiler >>
-*/
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 0
-#if defined(mc68881)
-#define TARGET_RT_MAC_68881 1
-#else
-#define TARGET_RT_MAC_68881 0
-#endif
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 1
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 1
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-
-#define TYPE_EXTENDED 1
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-
-#define FUNCTION_PASCAL 1
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-#define SLASH_INCLUDES_UNSUPPORTED 1
+ /*
+ THINK C compiler from Symantec, Inc. << WARNING: Unsupported Compiler >>
+ */
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 0
+ #if defined(mc68881)
+ #define TARGET_RT_MAC_68881 1
+ #else
+ #define TARGET_RT_MAC_68881 0
+ #endif
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 1
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 1
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #define TYPE_EXTENDED 1
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+
+ #define FUNCTION_PASCAL 1
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+ #define SLASH_INCLUDES_UNSUPPORTED 1
#elif defined(__PPCC__)
-/*
- PPCC compiler from Apple Computer, Inc. << WARNING: Unsupported Compiler >>
- */
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-
-#define TYPE_EXTENDED 0
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-#define SLASH_INCLUDES_UNSUPPORTED 1
+ /*
+ PPCC compiler from Apple Computer, Inc. << WARNING: Unsupported Compiler >>
+ */
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+ #define SLASH_INCLUDES_UNSUPPORTED 1
#elif defined(applec) && !defined(__SC__)
-/*
- MPW C compiler from Apple Computer, Inc. << WARNING: Unsupported Compiler >>
- */
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 0
-#if defined(mc68881)
-#define TARGET_RT_MAC_68881 1
-#else
-#define TARGET_RT_MAC_68881 0
-#endif
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-/* Note: MPW C 3.2 had a bug where MACRO('xx ') would cause 'xx ' to be misevaluated */
-#define FOUR_CHAR_CODE
-
-#define TYPE_EXTENDED 1
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 0
-
-#define FUNCTION_PASCAL 1
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-#define SLASH_INCLUDES_UNSUPPORTED 1
+ /*
+ MPW C compiler from Apple Computer, Inc. << WARNING: Unsupported Compiler >>
+ */
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 0
+ #if defined(mc68881)
+ #define TARGET_RT_MAC_68881 1
+ #else
+ #define TARGET_RT_MAC_68881 0
+ #endif
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ /* Note: MPW C 3.2 had a bug where MACRO('xx ') would cause 'xx ' to be misevaluated */
+ #define FOUR_CHAR_CODE
+
+ #define TYPE_EXTENDED 1
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 0
+
+ #define FUNCTION_PASCAL 1
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+ #define SLASH_INCLUDES_UNSUPPORTED 1
#elif defined(__GNUC__) && (defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__NEXT_CPP__))
-/*
- gcc based compilers used on OpenStep -> Rhapsody -> Mac OS X
- */
-#if defined(__ppc__) || defined(powerpc) || defined(ppc)
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_68881 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#ifdef __MACH__
-#define TARGET_RT_MAC_MACHO 1
-#define TARGET_RT_MAC_CFM 0
-#else
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_CFM 1
-#endif
-#elif defined(m68k)
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 1
-#define TARGET_RT_MAC_68881 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#elif defined(sparc)
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 1
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 1
-#define TARGET_RT_MAC_68881 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#elif defined(__i386__) || defined(i386) || defined(intel)
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 1
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 1
-#define TARGET_RT_MAC_68881 0
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#else
-#error unrecognized GNU C compiler
-#endif
+ /*
+ gcc based compilers used on OpenStep -> Rhapsody -> Mac OS X
+ */
+ #if defined(__ppc__) || defined(powerpc) || defined(ppc)
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_68881 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #ifdef __MACH__
+ #define TARGET_RT_MAC_MACHO 1
+ #define TARGET_RT_MAC_CFM 0
+ #else
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_CFM 1
+ #endif
+ #elif defined(m68k)
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 1
+ #define TARGET_RT_MAC_68881 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #elif defined(sparc)
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 1
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 1
+ #define TARGET_RT_MAC_68881 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #elif defined(__i386__) || defined(i386) || defined(intel)
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 1
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 1
+ #define TARGET_RT_MAC_68881 0
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #else
+ #error unrecognized GNU C compiler
+ #endif
#ifndef TARGET_OS_MAC
-#define TARGET_OS_MAC 1
+ #define TARGET_OS_MAC 1
#endif
#ifndef TARGET_OS_WIN32
-#define TARGET_OS_WIN32 0
+ #define TARGET_OS_WIN32 0
#endif
#ifndef TARGET_OS_UNIX
-#define TARGET_OS_UNIX 0
-#endif
-
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_EXTENDED 0
-#if __GNUC__ >= 2
-#define TYPE_LONGLONG 1
-#else
-#define TYPE_LONGLONG 0
-#endif
-#ifdef __cplusplus
-#define TYPE_BOOL 1
-#else
-#define TYPE_BOOL 0
-#endif
-
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
+ #define TARGET_OS_UNIX 0
+#endif
+
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_EXTENDED 0
+ #if __GNUC__ >= 2
+ #define TYPE_LONGLONG 1
+ #else
+ #define TYPE_LONGLONG 0
+ #endif
+ #ifdef __cplusplus
+ #define TYPE_BOOL 1
+ #else
+ #define TYPE_BOOL 0
+ #endif
+
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
#elif defined(__GNUC__) && defined(__linux__)
-/*
- gcc (egcs, really) for MkLinux. << WARNING: Unsupported Compiler >>
- */
-#if #cpu(powerpc)
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#elif #cpu(m68k)
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#else
-#error unsupported GNU C compiler
-#endif
-
-#if #system(macos)
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#elif #system(unix)
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 1
-#else
-#error unsupported GNU C compiler
-#endif
-
-
-
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_EXTENDED 0
-#ifdef _LONG_LONG
-#define TYPE_LONGLONG 1
-#else
-#define TYPE_LONGLONG 0
-#endif
-#define TYPE_BOOL 0
-
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
+ /*
+ gcc (egcs, really) for MkLinux. << WARNING: Unsupported Compiler >>
+ */
+ #if #cpu(powerpc)
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #elif #cpu(m68k)
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #else
+ #error unsupported GNU C compiler
+ #endif
+
+ #if #system(macos)
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #elif #system(unix)
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 1
+ #else
+ #error unsupported GNU C compiler
+ #endif
+
+
+
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_EXTENDED 0
+ #ifdef _LONG_LONG
+ #define TYPE_LONGLONG 1
+ #else
+ #define TYPE_LONGLONG 0
+ #endif
+ #define TYPE_BOOL 0
+
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
#elif defined(__GNUC__) && defined(__MINGW32__)
-/*
- Mingw gnu gcc/egcs compiler for Win32 systems (http://www.mingw.org).
+ /*
+ Mingw gnu gcc/egcs compiler for Win32 systems (http://www.mingw.org).
*/
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 1
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 1
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#define __COREAUDIO_USE_FLAT_INCLUDES__ 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define TYPE_EXTENDED 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_LONGLONG 1
-#define TYPE_BOOL 1
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 1
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 1
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #define __COREAUDIO_USE_FLAT_INCLUDES__ 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_LONGLONG 1
+ #define TYPE_BOOL 1
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
#elif defined(__GNUC__)
-/*
- gC for MPW from Free Software Foundation, Inc.
+ /*
+ gC for MPW from Free Software Foundation, Inc.
*/
-#if #cpu(powerpc)
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#elif #cpu(m68k)
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#else
-#error unsupported GNU C compiler
-#endif
-
-#if #system(macos)
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#elif #system(unix)
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 1
-#else
-#error unsupported GNU C compiler
-#endif
-
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_EXTENDED 0
-#ifdef _LONG_LONG
-#define TYPE_LONGLONG 1
-#else
-#define TYPE_LONGLONG 0
-#endif
-#define TYPE_BOOL 0
-
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
+ #if #cpu(powerpc)
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #elif #cpu(m68k)
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #else
+ #error unsupported GNU C compiler
+ #endif
+
+ #if #system(macos)
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #elif #system(unix)
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 1
+ #else
+ #error unsupported GNU C compiler
+ #endif
+
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_EXTENDED 0
+ #ifdef _LONG_LONG
+ #define TYPE_LONGLONG 1
+ #else
+ #define TYPE_LONGLONG 0
+ #endif
+ #define TYPE_BOOL 0
+
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
#elif defined(__xlc) || defined(__xlC) || defined(__xlC__) || defined(__XLC121__)
-/*
- xlc and xlC on RS/6000 from IBM, Inc.
- */
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#if defined(_AIX)
-#define TARGET_OS_MAC 0
-#define TARGET_OS_UNIX 1
-#else
-#define TARGET_OS_MAC 1
-#define TARGET_OS_UNIX 0
-#endif
-#define TARGET_OS_WIN32 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 1
-#define FOUR_CHAR_CODE(x) (x)
-
-#define TYPE_LONGDOUBLE_IS_DOUBLE 0
-#define TYPE_EXTENDED 0
-#ifdef _LONG_LONG
-#define TYPE_LONGLONG 1
-#else
-#define TYPE_LONGLONG 0
-#endif
-#define TYPE_BOOL 0
-
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-
-
-#elif defined(_MSC_VER) && !defined(__MWERKS__)
-/*
- Visual Studio C/C++ from Microsoft, Inc.
- */
-#if defined(_M_M68K) /* Visual C++ with Macintosh 68K target */
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 1
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define TARGET_RT_MAC_CFM 0
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 1
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_EXTENDED 0
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define FUNCTION_PASCAL 1
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-
-#elif defined(_M_MPPC) /* Visual C++ with Macintosh PowerPC target */
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 1
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 1
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_EXTENDED 0
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-
-#elif defined(_M_IX86) /* Visual Studio with Intel x86 target */
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 1
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 1
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#define __COREAUDIO_USE_FLAT_INCLUDES__ 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 1
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_EXTENDED 0
-#define TYPE_LONGLONG 1 /* note: uses __int64 instead of long long */
-#define LONGLONG_TYPENAME __int64
-
-#define LONGLONG_SIGNED_MAX (9223372036854775807i64)
-#define LONGLONG_SIGNED_MIN (-9223372036854775807i64 - 1)
-#define LONGLONG_UNSIGNED_MAX (0xffffffffffffffffui64)
-
-#if defined(__cplusplus) && (_MSC_VER >= 1100)
-#define TYPE_BOOL 1
-#else
-#define TYPE_BOOL 0
-#endif
-#define FUNCTION_PASCAL 0
-#ifndef FUNCTION_DECLSPEC /* allow use of __declspec(dllimport) to be enabled */
-#define FUNCTION_DECLSPEC 0 /* QuickTime for Windows cannot use dllimport */
-#endif
-#ifndef FUNCTION_WIN32CC /* allow calling convention to be overriddden */
-#define FUNCTION_WIN32CC 1
-#endif
-/* Warning: This macros away the pascal word in source code. */
-/* Very useful for code that needs to compile on Mac 68k and Windows */
-/* but can silently change code */
-#undef pascal
-#define pascal
-
-#elif defined(_M_ALPHA) /* Visual C++ with Dec Alpha target */
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 1
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 1
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#define __COREAUDIO_USE_FLAT_INCLUDES__ 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 1
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (((unsigned long) ((x) & 0x000000FF)) << 24) \
+ /*
+ xlc and xlC on RS/6000 from IBM, Inc.
+ */
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #if defined(_AIX)
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_UNIX 1
+ #else
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_UNIX 0
+ #endif
+ #define TARGET_OS_WIN32 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 1
+ #define FOUR_CHAR_CODE(x) (x)
+
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 0
+ #define TYPE_EXTENDED 0
+ #ifdef _LONG_LONG
+ #define TYPE_LONGLONG 1
+ #else
+ #define TYPE_LONGLONG 0
+ #endif
+ #define TYPE_BOOL 0
+
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+
+
+#elif defined(_MSC_VER) && !defined(__MWERKS__)
+ /*
+ Visual Studio C/C++ from Microsoft, Inc.
+ */
+ #if defined(_M_M68K) /* Visual C++ with Macintosh 68K target */
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 1
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define TARGET_RT_MAC_CFM 0
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 1
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define FUNCTION_PASCAL 1
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+
+ #elif defined(_M_MPPC) /* Visual C++ with Macintosh PowerPC target */
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 1
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 1
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+
+ #elif defined(_M_IX86) /* Visual Studio with Intel x86 target */
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 1
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 1
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #define __COREAUDIO_USE_FLAT_INCLUDES__ 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 1
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGLONG 1 /* note: uses __int64 instead of long long */
+ #define LONGLONG_TYPENAME __int64
+
+ #define LONGLONG_SIGNED_MAX (9223372036854775807i64)
+ #define LONGLONG_SIGNED_MIN (-9223372036854775807i64 - 1)
+ #define LONGLONG_UNSIGNED_MAX (0xffffffffffffffffui64)
+
+ #if defined(__cplusplus) && (_MSC_VER >= 1100)
+ #define TYPE_BOOL 1
+ #else
+ #define TYPE_BOOL 0
+ #endif
+ #define FUNCTION_PASCAL 0
+ #ifndef FUNCTION_DECLSPEC /* allow use of __declspec(dllimport) to be enabled */
+ #define FUNCTION_DECLSPEC 0 /* QuickTime for Windows cannot use dllimport */
+ #endif
+ #ifndef FUNCTION_WIN32CC /* allow calling convention to be overriddden */
+ #define FUNCTION_WIN32CC 1
+ #endif
+ /* Warning: This macros away the pascal word in source code. */
+ /* Very useful for code that needs to compile on Mac 68k and Windows */
+ /* but can silently change code */
+ #undef pascal
+ #define pascal
+
+ #elif defined(_M_ALPHA) /* Visual C++ with Dec Alpha target */
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 1
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 1
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #define __COREAUDIO_USE_FLAT_INCLUDES__ 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 1
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (((unsigned long) ((x) & 0x000000FF)) << 24) \
| (((unsigned long) ((x) & 0x0000FF00)) << 8) \
| (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
| (((unsigned long) ((x) & 0xFF000000)) >> 24)
-#define TYPE_EXTENDED 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-
-#elif defined(_M_PPC) /* Visual C++ for Windows NT on PowerPC target */
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 1
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#define __COREAUDIO_USE_FLAT_INCLUDES__ 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 1
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (((unsigned long) ((x) & 0x000000FF)) << 24) \
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+
+ #elif defined(_M_PPC) /* Visual C++ for Windows NT on PowerPC target */
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 1
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #define __COREAUDIO_USE_FLAT_INCLUDES__ 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 1
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (((unsigned long) ((x) & 0x000000FF)) << 24) \
| (((unsigned long) ((x) & 0x0000FF00)) << 8) \
| (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
| (((unsigned long) ((x) & 0xFF000000)) >> 24)
-#define TYPE_EXTENDED 0
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-
-#elif defined(_M_MRX000) /* Visual C++ for Windows NT on MIPS target */
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 1
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 1
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#define __COREAUDIO_USE_FLAT_INCLUDES__ 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 1
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (((unsigned long) ((x) & 0x000000FF)) << 24) \
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+
+ #elif defined(_M_MRX000) /* Visual C++ for Windows NT on MIPS target */
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 1
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 1
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #define __COREAUDIO_USE_FLAT_INCLUDES__ 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 1
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (((unsigned long) ((x) & 0x000000FF)) << 24) \
| (((unsigned long) ((x) & 0x0000FF00)) << 8) \
| (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
| (((unsigned long) ((x) & 0xFF000000)) >> 24)
-#define TYPE_EXTENDED 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
-#endif
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
+ #endif
#elif defined(__MOTO__)
-/*
- mcc from Motorola, Inc.
-*/
-#define TARGET_CPU_PPC 1
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define TARGET_RT_MAC_CFM 1
-#define TARGET_RT_MAC_MACHO 0
-#define TARGET_RT_MAC_68881 0
-#define PRAGMA_IMPORT 0 /* how is this detected ?? */
-#define PRAGMA_STRUCT_ALIGN 1
-#if __MOTO__ >= 40702 /* MCC version 4.7.2 */
-#define PRAGMA_ONCE 1
-#else
-#define PRAGMA_ONCE 0
-#endif
-#define PRAGMA_STRUCT_PACK 0
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define TYPE_LONGLONG 0 /* how is this detected ?? */
-#ifdef _BOOL
-#define TYPE_BOOL 1
-#else
-#define TYPE_BOOL 0
-#endif
-#define TYPE_EXTENDED 0
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
+ /*
+ mcc from Motorola, Inc.
+ */
+ #define TARGET_CPU_PPC 1
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define TARGET_RT_MAC_CFM 1
+ #define TARGET_RT_MAC_MACHO 0
+ #define TARGET_RT_MAC_68881 0
+ #define PRAGMA_IMPORT 0 /* how is this detected ?? */
+ #define PRAGMA_STRUCT_ALIGN 1
+ #if __MOTO__ >= 40702 /* MCC version 4.7.2 */
+ #define PRAGMA_ONCE 1
+ #else
+ #define PRAGMA_ONCE 0
+ #endif
+ #define PRAGMA_STRUCT_PACK 0
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define TYPE_LONGLONG 0 /* how is this detected ?? */
+ #ifdef _BOOL
+ #define TYPE_BOOL 1
+ #else
+ #define TYPE_BOOL 0
+ #endif
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
#elif defined(_MIPS_ISA)
-/*
- MIPSpro compiler from Silicon Graphics Inc.
- */
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 1
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 1
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (x)
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_EXTENDED 0
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
+ /*
+ MIPSpro compiler from Silicon Graphics Inc.
+ */
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 1
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 1
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (x)
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
#elif defined(__sparc)
-/*
- SPARCompiler compiler from Sun Microsystems Inc.
+ /*
+ SPARCompiler compiler from Sun Microsystems Inc.
*/
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 1
-#define TARGET_CPU_ALPHA 0
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 1
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#define PRAGMA_IMPORT 0
-#define PRAGMA_STRUCT_ALIGN 0
-#define PRAGMA_ONCE 0
-#define PRAGMA_STRUCT_PACK 1
-#define PRAGMA_STRUCT_PACKPUSH 0
-#define PRAGMA_ENUM_PACK 0
-#define PRAGMA_ENUM_ALWAYSINT 0
-#define PRAGMA_ENUM_OPTIONS 0
-#define FOUR_CHAR_CODE(x) (((unsigned long) ((x) & 0x000000FF)) << 24) \
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 1
+ #define TARGET_CPU_ALPHA 0
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 1
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #define PRAGMA_IMPORT 0
+ #define PRAGMA_STRUCT_ALIGN 0
+ #define PRAGMA_ONCE 0
+ #define PRAGMA_STRUCT_PACK 1
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #define PRAGMA_ENUM_PACK 0
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #define PRAGMA_ENUM_OPTIONS 0
+ #define FOUR_CHAR_CODE(x) (((unsigned long) ((x) & 0x000000FF)) << 24) \
| (((unsigned long) ((x) & 0x0000FF00)) << 8) \
| (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
| (((unsigned long) ((x) & 0xFF000000)) >> 24)
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#define TYPE_EXTENDED 0
-#define TYPE_LONGLONG 0
-#define TYPE_BOOL 0
-#define FUNCTION_PASCAL 0
-#define FUNCTION_DECLSPEC 0
-#define FUNCTION_WIN32CC 0
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #define TYPE_EXTENDED 0
+ #define TYPE_LONGLONG 0
+ #define TYPE_BOOL 0
+ #define FUNCTION_PASCAL 0
+ #define FUNCTION_DECLSPEC 0
+ #define FUNCTION_WIN32CC 0
#else
-/*
- Unknown compiler, perhaps set up from the command line (e.g. -d TARGET_CPU_MIPS , etc.)
- */
-#if defined(TARGET_CPU_PPC) && TARGET_CPU_PPC
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#elif defined(TARGET_CPU_68K) && TARGET_CPU_68K
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#elif defined(TARGET_CPU_X86) && TARGET_CPU_X86
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#elif defined(TARGET_CPU_MIPS) && TARGET_CPU_MIPS
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#elif defined(TARGET_CPU_SPARC) && TARGET_CPU_SPARC
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_ALPHA 0
-#elif defined(TARGET_CPU_ALPHA) && TARGET_CPU_ALPHA
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-
-
-#else
-/*
- NOTE: If your compiler errors out here then support for your compiler
- has not yet been added to ConditionalMacros.h.
-
- ConditionalMacros.h is designed to be plug-and-play. It auto detects
- which compiler is being run and configures the TARGET_ conditionals
- appropriately.
-
- The short term work around is to set the TARGET_CPU_ and TARGET_OS_
- on the command line to the compiler (e.g. d TARGET_CPU_MIPS -d TARGET_OS_UNIX)
-
- The long term solution is to add a new case to this file which
- auto detects your compiler and sets up the TARGET_ conditionals.
- If you do this, send the changes you made to devsupport@apple.com
- to get it integrated into the next release of ConditionalMacros.h.
+ /*
+ Unknown compiler, perhaps set up from the command line (e.g. -d TARGET_CPU_MIPS , etc.)
+ */
+ #if defined(TARGET_CPU_PPC) && TARGET_CPU_PPC
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #elif defined(TARGET_CPU_68K) && TARGET_CPU_68K
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #elif defined(TARGET_CPU_X86) && TARGET_CPU_X86
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #elif defined(TARGET_CPU_MIPS) && TARGET_CPU_MIPS
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #elif defined(TARGET_CPU_SPARC) && TARGET_CPU_SPARC
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_ALPHA 0
+ #elif defined(TARGET_CPU_ALPHA) && TARGET_CPU_ALPHA
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+
+
+ #else
+ /*
+ NOTE: If your compiler errors out here then support for your compiler
+ has not yet been added to ConditionalMacros.h.
+
+ ConditionalMacros.h is designed to be plug-and-play. It auto detects
+ which compiler is being run and configures the TARGET_ conditionals
+ appropriately.
+
+ The short term work around is to set the TARGET_CPU_ and TARGET_OS_
+ on the command line to the compiler (e.g. d TARGET_CPU_MIPS -d TARGET_OS_UNIX)
+
+ The long term solution is to add a new case to this file which
+ auto detects your compiler and sets up the TARGET_ conditionals.
+ If you do this, send the changes you made to devsupport@apple.com
+ to get it integrated into the next release of ConditionalMacros.h.
*/
-#error ConditionalMacros.h: unknown compiler (see comment above)
-#define TARGET_CPU_PPC 0
-#define TARGET_CPU_68K 0
-#define TARGET_CPU_X86 0
-#define TARGET_CPU_MIPS 0
-#define TARGET_CPU_SPARC 0
-#define TARGET_CPU_ALPHA 0
-#endif
-
-
-
-#if defined(TARGET_OS_MAC) && TARGET_OS_MAC
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#elif defined(TARGET_OS_WIN32) && TARGET_OS_WIN32
-#define TARGET_OS_MAC 0
-#define TARGET_OS_UNIX 0
-#elif defined(TARGET_OS_UNIX) && TARGET_OS_UNIX
-#define TARGET_OS_MAC 0
-#define TARGET_OS_WIN32 0
-#elif TARGET_CPU_PPC || TARGET_CPU_68K
-#define TARGET_OS_MAC 1
-#define TARGET_OS_WIN32 0
-#define TARGET_OS_UNIX 0
-#else
-#error ConditionalMacros.h: unknown target OS (see comment above)
-#endif
-
-#if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
-#if TARGET_OS_MAC
-#define TARGET_RT_LITTLE_ENDIAN 0
-#define TARGET_RT_BIG_ENDIAN 1
-#elif TARGET_OS_WIN32
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN 0
-#endif
-#endif
-
-#if defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
-#define TARGET_RT_LITTLE_ENDIAN !TARGET_RT_BIG_ENDIAN
-#elif !defined(TARGET_RT_BIG_ENDIAN) && defined(TARGET_RT_LITTLE_ENDIAN)
-#define TARGET_RT_BIG_ENDIAN !TARGET_RT_LITTLE_ENDIAN
-#endif
-
-#if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
-#error unknown endianess of target processor
-#endif
-
-#if TARGET_OS_MAC
-#ifndef TARGET_RT_MAC_CFM
-#define TARGET_RT_MAC_CFM TARGET_CPU_PPC
-#endif
-#ifndef TARGET_RT_MAC_68881
-#define TARGET_RT_MAC_68881 0
-#endif
-#ifndef TARGET_RT_MAC_MACHO
-#define TARGET_RT_MAC_MACHO !TARGET_RT_MAC_CFM
-#endif
-#endif
-
-
-
-#ifndef PRAGMA_IMPORT
-#define PRAGMA_IMPORT 0
-#endif
-#ifndef PRAGMA_STRUCT_ALIGN
-#define PRAGMA_STRUCT_ALIGN 0
-#endif
-#ifndef PRAGMA_ONCE
-#define PRAGMA_ONCE 0
-#endif
-#ifndef PRAGMA_STRUCT_PACK
-#define PRAGMA_STRUCT_PACK 0
-#endif
-#ifndef PRAGMA_STRUCT_PACKPUSH
-#define PRAGMA_STRUCT_PACKPUSH 0
-#endif
-#ifndef PRAGMA_ENUM_PACK
-#define PRAGMA_ENUM_PACK 0
-#endif
-#ifndef PRAGMA_ENUM_ALWAYSINT
-#define PRAGMA_ENUM_ALWAYSINT 0
-#endif
-#ifndef PRAGMA_ENUM_OPTIONS
-#define PRAGMA_ENUM_OPTIONS 0
-#endif
-#ifndef FOUR_CHAR_CODE
-#define FOUR_CHAR_CODE(x) (x)
-#endif
-
-#ifndef TYPE_LONGDOUBLE_IS_DOUBLE
-#define TYPE_LONGDOUBLE_IS_DOUBLE 1
-#endif
-#ifndef TYPE_EXTENDED
-#define TYPE_EXTENDED 0
-#endif
-#ifndef TYPE_LONGLONG
-#define TYPE_LONGLONG 0
-#endif
-#ifndef TYPE_BOOL
-#define TYPE_BOOL 0
-#endif
-#ifndef FUNCTION_PASCAL
-#define FUNCTION_PASCAL 0
-#endif
-#ifndef FUNCTION_DECLSPEC
-#define FUNCTION_DECLSPEC 0
-#endif
-#ifndef FUNCTION_WIN32CC
-#define FUNCTION_WIN32CC 0
-#endif
+ #error ConditionalMacros.h: unknown compiler (see comment above)
+ #define TARGET_CPU_PPC 0
+ #define TARGET_CPU_68K 0
+ #define TARGET_CPU_X86 0
+ #define TARGET_CPU_MIPS 0
+ #define TARGET_CPU_SPARC 0
+ #define TARGET_CPU_ALPHA 0
+ #endif
+
+
+
+ #if defined(TARGET_OS_MAC) && TARGET_OS_MAC
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #elif defined(TARGET_OS_WIN32) && TARGET_OS_WIN32
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_UNIX 0
+ #elif defined(TARGET_OS_UNIX) && TARGET_OS_UNIX
+ #define TARGET_OS_MAC 0
+ #define TARGET_OS_WIN32 0
+ #elif TARGET_CPU_PPC || TARGET_CPU_68K
+ #define TARGET_OS_MAC 1
+ #define TARGET_OS_WIN32 0
+ #define TARGET_OS_UNIX 0
+ #else
+ #error ConditionalMacros.h: unknown target OS (see comment above)
+ #endif
+
+ #if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
+ #if TARGET_OS_MAC
+ #define TARGET_RT_LITTLE_ENDIAN 0
+ #define TARGET_RT_BIG_ENDIAN 1
+ #elif TARGET_OS_WIN32
+ #define TARGET_RT_LITTLE_ENDIAN 1
+ #define TARGET_RT_BIG_ENDIAN 0
+ #endif
+ #endif
+
+ #if defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
+ #define TARGET_RT_LITTLE_ENDIAN !TARGET_RT_BIG_ENDIAN
+ #elif !defined(TARGET_RT_BIG_ENDIAN) && defined(TARGET_RT_LITTLE_ENDIAN)
+ #define TARGET_RT_BIG_ENDIAN !TARGET_RT_LITTLE_ENDIAN
+ #endif
+
+ #if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
+ #error unknown endianess of target processor
+ #endif
+
+ #if TARGET_OS_MAC
+ #ifndef TARGET_RT_MAC_CFM
+ #define TARGET_RT_MAC_CFM TARGET_CPU_PPC
+ #endif
+ #ifndef TARGET_RT_MAC_68881
+ #define TARGET_RT_MAC_68881 0
+ #endif
+ #ifndef TARGET_RT_MAC_MACHO
+ #define TARGET_RT_MAC_MACHO !TARGET_RT_MAC_CFM
+ #endif
+ #endif
+
+
+
+ #ifndef PRAGMA_IMPORT
+ #define PRAGMA_IMPORT 0
+ #endif
+ #ifndef PRAGMA_STRUCT_ALIGN
+ #define PRAGMA_STRUCT_ALIGN 0
+ #endif
+ #ifndef PRAGMA_ONCE
+ #define PRAGMA_ONCE 0
+ #endif
+ #ifndef PRAGMA_STRUCT_PACK
+ #define PRAGMA_STRUCT_PACK 0
+ #endif
+ #ifndef PRAGMA_STRUCT_PACKPUSH
+ #define PRAGMA_STRUCT_PACKPUSH 0
+ #endif
+ #ifndef PRAGMA_ENUM_PACK
+ #define PRAGMA_ENUM_PACK 0
+ #endif
+ #ifndef PRAGMA_ENUM_ALWAYSINT
+ #define PRAGMA_ENUM_ALWAYSINT 0
+ #endif
+ #ifndef PRAGMA_ENUM_OPTIONS
+ #define PRAGMA_ENUM_OPTIONS 0
+ #endif
+ #ifndef FOUR_CHAR_CODE
+ #define FOUR_CHAR_CODE(x) (x)
+ #endif
+
+ #ifndef TYPE_LONGDOUBLE_IS_DOUBLE
+ #define TYPE_LONGDOUBLE_IS_DOUBLE 1
+ #endif
+ #ifndef TYPE_EXTENDED
+ #define TYPE_EXTENDED 0
+ #endif
+ #ifndef TYPE_LONGLONG
+ #define TYPE_LONGLONG 0
+ #endif
+ #ifndef TYPE_BOOL
+ #define TYPE_BOOL 0
+ #endif
+ #ifndef FUNCTION_PASCAL
+ #define FUNCTION_PASCAL 0
+ #endif
+ #ifndef FUNCTION_DECLSPEC
+ #define FUNCTION_DECLSPEC 0
+ #endif
+ #ifndef FUNCTION_WIN32CC
+ #define FUNCTION_WIN32CC 0
+ #endif
#endif
@@ -1463,7 +1463,7 @@
Headers and implementation files can use the following macros to make their
source more portable by hiding the calling convention details:
- EXTERN_API*
+ EXTERN_API*
These macros are used to specify the calling convention on a function prototype.
EXTERN_API - Classic 68k: pascal, Win32: __cdecl
@@ -1472,7 +1472,7 @@
EXTERN_API_C_STDCALL - Classic 68k: C, Win32: __stdcall
- DEFINE_API*
+ DEFINE_API*
These macros are used to specify the calling convention on a function definition.
DEFINE_API - Classic 68k: pascal, Win32: __cdecl
@@ -1481,7 +1481,7 @@
DEFINE_API_C_STDCALL - Classic 68k: C, Win32: __stdcall
- CALLBACK_API*
+ CALLBACK_API*
These macros are used to specify the calling convention of a function pointer.
CALLBACK_API - Classic 68k: pascal, Win32: __stdcall
@@ -1492,120 +1492,120 @@
****************************************************************************************************/
#if FUNCTION_PASCAL && !FUNCTION_DECLSPEC && !FUNCTION_WIN32CC
-/* compiler supports pascal keyword only */
-#define EXTERN_API(_type) extern pascal _type
-#define EXTERN_API_C(_type) extern _type
-#define EXTERN_API_STDCALL(_type) extern pascal _type
-#define EXTERN_API_C_STDCALL(_type) extern _type
-
-#define DEFINE_API(_type) pascal _type
-#define DEFINE_API_C(_type) _type
-#define DEFINE_API_STDCALL(_type) pascal _type
-#define DEFINE_API_C_STDCALL(_type) _type
-
-#define CALLBACK_API(_type, _name) pascal _type (*_name)
-#define CALLBACK_API_C(_type, _name) _type (*_name)
-#define CALLBACK_API_STDCALL(_type, _name) pascal _type (*_name)
-#define CALLBACK_API_C_STDCALL(_type, _name) _type (*_name)
+ /* compiler supports pascal keyword only */
+ #define EXTERN_API(_type) extern pascal _type
+ #define EXTERN_API_C(_type) extern _type
+ #define EXTERN_API_STDCALL(_type) extern pascal _type
+ #define EXTERN_API_C_STDCALL(_type) extern _type
+
+ #define DEFINE_API(_type) pascal _type
+ #define DEFINE_API_C(_type) _type
+ #define DEFINE_API_STDCALL(_type) pascal _type
+ #define DEFINE_API_C_STDCALL(_type) _type
+
+ #define CALLBACK_API(_type, _name) pascal _type (*_name)
+ #define CALLBACK_API_C(_type, _name) _type (*_name)
+ #define CALLBACK_API_STDCALL(_type, _name) pascal _type (*_name)
+ #define CALLBACK_API_C_STDCALL(_type, _name) _type (*_name)
#elif FUNCTION_PASCAL && FUNCTION_DECLSPEC && !FUNCTION_WIN32CC
-/* compiler supports pascal and __declspec() */
-#define EXTERN_API(_type) extern pascal __declspec(dllimport) _type
-#define EXTERN_API_C(_type) extern __declspec(dllimport) _type
-#define EXTERN_API_STDCALL(_type) extern pascal __declspec(dllimport) _type
-#define EXTERN_API_C_STDCALL(_type) extern __declspec(dllimport) _type
-
-#define DEFINE_API(_type) pascal __declspec(dllexport) _type
-#define DEFINE_API_C(_type) __declspec(dllexport) _type
-#define DEFINE_API_STDCALL(_type) pascal __declspec(dllexport) _type
-#define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type
-
-#define CALLBACK_API(_type, _name) pascal _type (*_name)
-#define CALLBACK_API_C(_type, _name) _type (*_name)
-#define CALLBACK_API_STDCALL(_type, _name) pascal _type (*_name)
-#define CALLBACK_API_C_STDCALL(_type, _name) _type (*_name)
+ /* compiler supports pascal and __declspec() */
+ #define EXTERN_API(_type) extern pascal __declspec(dllimport) _type
+ #define EXTERN_API_C(_type) extern __declspec(dllimport) _type
+ #define EXTERN_API_STDCALL(_type) extern pascal __declspec(dllimport) _type
+ #define EXTERN_API_C_STDCALL(_type) extern __declspec(dllimport) _type
+
+ #define DEFINE_API(_type) pascal __declspec(dllexport) _type
+ #define DEFINE_API_C(_type) __declspec(dllexport) _type
+ #define DEFINE_API_STDCALL(_type) pascal __declspec(dllexport) _type
+ #define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type
+
+ #define CALLBACK_API(_type, _name) pascal _type (*_name)
+ #define CALLBACK_API_C(_type, _name) _type (*_name)
+ #define CALLBACK_API_STDCALL(_type, _name) pascal _type (*_name)
+ #define CALLBACK_API_C_STDCALL(_type, _name) _type (*_name)
#elif !FUNCTION_PASCAL && FUNCTION_DECLSPEC && !FUNCTION_WIN32CC
-/* compiler supports __declspec() */
-#define EXTERN_API(_type) extern __declspec(dllimport) _type
-#define EXTERN_API_C(_type) extern __declspec(dllimport) _type
-#define EXTERN_API_STDCALL(_type) extern __declspec(dllimport) _type
-#define EXTERN_API_C_STDCALL(_type) extern __declspec(dllimport) _type
-
-#define DEFINE_API(_type) __declspec(dllexport) _type
-#define DEFINE_API_C(_type) __declspec(dllexport) _type
-#define DEFINE_API_STDCALL(_type) __declspec(dllexport) _type
-#define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type
-
-#define CALLBACK_API(_type, _name) _type ( * _name)
-#define CALLBACK_API_C(_type, _name) _type ( * _name)
-#define CALLBACK_API_STDCALL(_type, _name) _type ( * _name)
-#define CALLBACK_API_C_STDCALL(_type, _name) _type ( * _name)
+ /* compiler supports __declspec() */
+ #define EXTERN_API(_type) extern __declspec(dllimport) _type
+ #define EXTERN_API_C(_type) extern __declspec(dllimport) _type
+ #define EXTERN_API_STDCALL(_type) extern __declspec(dllimport) _type
+ #define EXTERN_API_C_STDCALL(_type) extern __declspec(dllimport) _type
+
+ #define DEFINE_API(_type) __declspec(dllexport) _type
+ #define DEFINE_API_C(_type) __declspec(dllexport) _type
+ #define DEFINE_API_STDCALL(_type) __declspec(dllexport) _type
+ #define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type
+
+ #define CALLBACK_API(_type, _name) _type ( * _name)
+ #define CALLBACK_API_C(_type, _name) _type ( * _name)
+ #define CALLBACK_API_STDCALL(_type, _name) _type ( * _name)
+ #define CALLBACK_API_C_STDCALL(_type, _name) _type ( * _name)
#elif !FUNCTION_PASCAL && FUNCTION_DECLSPEC && FUNCTION_WIN32CC
-/* compiler supports __declspec() and __cdecl */
-#define EXTERN_API(_type) __declspec(dllimport) _type __cdecl
-#define EXTERN_API_C(_type) __declspec(dllimport) _type __cdecl
-#define EXTERN_API_STDCALL(_type) __declspec(dllimport) _type __stdcall
-#define EXTERN_API_C_STDCALL(_type) __declspec(dllimport) _type __stdcall
-
-#define DEFINE_API(_type) __declspec(dllexport) _type __cdecl
-#define DEFINE_API_C(_type) __declspec(dllexport) _type __cdecl
-#define DEFINE_API_STDCALL(_type) __declspec(dllexport) _type __stdcall
-#define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type __stdcall
-
-#define CALLBACK_API(_type, _name) _type (__cdecl * _name)
-#define CALLBACK_API_C(_type, _name) _type (__cdecl * _name)
-#define CALLBACK_API_STDCALL(_type, _name) _type (__stdcall * _name)
-#define CALLBACK_API_C_STDCALL(_type, _name) _type (__stdcall * _name)
+ /* compiler supports __declspec() and __cdecl */
+ #define EXTERN_API(_type) __declspec(dllimport) _type __cdecl
+ #define EXTERN_API_C(_type) __declspec(dllimport) _type __cdecl
+ #define EXTERN_API_STDCALL(_type) __declspec(dllimport) _type __stdcall
+ #define EXTERN_API_C_STDCALL(_type) __declspec(dllimport) _type __stdcall
+
+ #define DEFINE_API(_type) __declspec(dllexport) _type __cdecl
+ #define DEFINE_API_C(_type) __declspec(dllexport) _type __cdecl
+ #define DEFINE_API_STDCALL(_type) __declspec(dllexport) _type __stdcall
+ #define DEFINE_API_C_STDCALL(_type) __declspec(dllexport) _type __stdcall
+
+ #define CALLBACK_API(_type, _name) _type (__cdecl * _name)
+ #define CALLBACK_API_C(_type, _name) _type (__cdecl * _name)
+ #define CALLBACK_API_STDCALL(_type, _name) _type (__stdcall * _name)
+ #define CALLBACK_API_C_STDCALL(_type, _name) _type (__stdcall * _name)
#elif !FUNCTION_PASCAL && !FUNCTION_DECLSPEC && FUNCTION_WIN32CC
-/* compiler supports __cdecl */
-#define EXTERN_API(_type) _type __cdecl
-#define EXTERN_API_C(_type) _type __cdecl
-#define EXTERN_API_STDCALL(_type) _type __stdcall
-#define EXTERN_API_C_STDCALL(_type) _type __stdcall
-
-#define DEFINE_API(_type) _type __cdecl
-#define DEFINE_API_C(_type) _type __cdecl
-#define DEFINE_API_STDCALL(_type) _type __stdcall
-#define DEFINE_API_C_STDCALL(_type) _type __stdcall
-
-#define CALLBACK_API(_type, _name) _type (__cdecl * _name)
-#define CALLBACK_API_C(_type, _name) _type (__cdecl * _name)
-#define CALLBACK_API_STDCALL(_type, _name) _type (__stdcall * _name)
-#define CALLBACK_API_C_STDCALL(_type, _name) _type (__stdcall * _name)
-
-#else
-/* compiler supports no extensions */
-#define EXTERN_API(_type) extern _type
-#define EXTERN_API_C(_type) extern _type
-#define EXTERN_API_STDCALL(_type) extern _type
-#define EXTERN_API_C_STDCALL(_type) extern _type
-
-#define DEFINE_API(_type) _type
-#define DEFINE_API_C(_type) _type
-#define DEFINE_API_STDCALL(_type) _type
-#define DEFINE_API_C_STDCALL(_type) _type
-
-#define CALLBACK_API(_type, _name) _type ( * _name)
-#define CALLBACK_API_C(_type, _name) _type ( * _name)
-#define CALLBACK_API_STDCALL(_type, _name) _type ( * _name)
-#define CALLBACK_API_C_STDCALL(_type, _name) _type ( * _name)
-#undef pascal
-#define pascal
+ /* compiler supports __cdecl */
+ #define EXTERN_API(_type) _type __cdecl
+ #define EXTERN_API_C(_type) _type __cdecl
+ #define EXTERN_API_STDCALL(_type) _type __stdcall
+ #define EXTERN_API_C_STDCALL(_type) _type __stdcall
+
+ #define DEFINE_API(_type) _type __cdecl
+ #define DEFINE_API_C(_type) _type __cdecl
+ #define DEFINE_API_STDCALL(_type) _type __stdcall
+ #define DEFINE_API_C_STDCALL(_type) _type __stdcall
+
+ #define CALLBACK_API(_type, _name) _type (__cdecl * _name)
+ #define CALLBACK_API_C(_type, _name) _type (__cdecl * _name)
+ #define CALLBACK_API_STDCALL(_type, _name) _type (__stdcall * _name)
+ #define CALLBACK_API_C_STDCALL(_type, _name) _type (__stdcall * _name)
+
+#else
+ /* compiler supports no extensions */
+ #define EXTERN_API(_type) extern _type
+ #define EXTERN_API_C(_type) extern _type
+ #define EXTERN_API_STDCALL(_type) extern _type
+ #define EXTERN_API_C_STDCALL(_type) extern _type
+
+ #define DEFINE_API(_type) _type
+ #define DEFINE_API_C(_type) _type
+ #define DEFINE_API_STDCALL(_type) _type
+ #define DEFINE_API_C_STDCALL(_type) _type
+
+ #define CALLBACK_API(_type, _name) _type ( * _name)
+ #define CALLBACK_API_C(_type, _name) _type ( * _name)
+ #define CALLBACK_API_STDCALL(_type, _name) _type ( * _name)
+ #define CALLBACK_API_C_STDCALL(_type, _name) _type ( * _name)
+ #undef pascal
+ #define pascal
#endif
/* On classic 68k, some callbacks are register based. The only way to */
/* write them in C is to make a function with no parameters and a void */
/* return. Inside the function you manually get and set registers. */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
-#define CALLBACK_API_REGISTER68K(_type, _name, _params) CALLBACK_API(void, _name)()
+ #define CALLBACK_API_REGISTER68K(_type, _name, _params) CALLBACK_API(void, _name)()
#else
-#define CALLBACK_API_REGISTER68K(_type, _name, _params) CALLBACK_API(_type, _name)_params
+ #define CALLBACK_API_REGISTER68K(_type, _name, _params) CALLBACK_API(_type, _name)_params
#endif
/****************************************************************************************************
-
+
Set up TARGET_API_*_* values
****************************************************************************************************/
@@ -1723,15 +1723,15 @@
OLDROUTINENAMES - "Old" names for Macintosh system calls are allowed in source code.
(e.g. DisposPtr instead of DisposePtr). The names of system routine
- are now more sensitive to change because CFM binds by name. In the
- past, system routine names were compiled out to just an A-Trap.
- Macros have been added that each map an old name to its new name.
+ are now more sensitive to change because CFM binds by name. In the
+ past, system routine names were compiled out to just an A-Trap.
+ Macros have been added that each map an old name to its new name.
This allows old routine names to be used in existing source files,
but the macros only work if OLDROUTINENAMES is true. This support
- will be removed in the near future. Thus, all source code should
+ will be removed in the near future. Thus, all source code should
be changed to use the new names! You can set OLDROUTINENAMES to false
to see if your code has any old names left in it.
-
+
****************************************************************************************************/
#ifndef OLDROUTINENAMES
#define OLDROUTINENAMES 0
@@ -1746,38 +1746,38 @@
of a JSR. Under Classic 68K on the Mac OS, this macro will put the opcodes
in the right syntax. For all other OS's and runtimes the macro suppress the opcodes.
Example:
-
+
EXTERN_P void DrawPicture(PicHandle myPicture, const Rect *dstRect)
ONEWORDINLINE(0xA8F6);
-
+
****************************************************************************************************/
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
-#define ONEWORDINLINE(w1) = w1
-#define TWOWORDINLINE(w1,w2) = {w1,w2}
-#define THREEWORDINLINE(w1,w2,w3) = {w1,w2,w3}
-#define FOURWORDINLINE(w1,w2,w3,w4) = {w1,w2,w3,w4}
-#define FIVEWORDINLINE(w1,w2,w3,w4,w5) = {w1,w2,w3,w4,w5}
-#define SIXWORDINLINE(w1,w2,w3,w4,w5,w6) = {w1,w2,w3,w4,w5,w6}
-#define SEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7) = {w1,w2,w3,w4,w5,w6,w7}
-#define EIGHTWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8) = {w1,w2,w3,w4,w5,w6,w7,w8}
-#define NINEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9) = {w1,w2,w3,w4,w5,w6,w7,w8,w9}
-#define TENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10) = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10}
-#define ELEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11) = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11}
-#define TWELVEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12) = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12}
+ #define ONEWORDINLINE(w1) = w1
+ #define TWOWORDINLINE(w1,w2) = {w1,w2}
+ #define THREEWORDINLINE(w1,w2,w3) = {w1,w2,w3}
+ #define FOURWORDINLINE(w1,w2,w3,w4) = {w1,w2,w3,w4}
+ #define FIVEWORDINLINE(w1,w2,w3,w4,w5) = {w1,w2,w3,w4,w5}
+ #define SIXWORDINLINE(w1,w2,w3,w4,w5,w6) = {w1,w2,w3,w4,w5,w6}
+ #define SEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7) = {w1,w2,w3,w4,w5,w6,w7}
+ #define EIGHTWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8) = {w1,w2,w3,w4,w5,w6,w7,w8}
+ #define NINEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9) = {w1,w2,w3,w4,w5,w6,w7,w8,w9}
+ #define TENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10) = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10}
+ #define ELEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11) = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11}
+ #define TWELVEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12) = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12}
#else
-#define ONEWORDINLINE(w1)
-#define TWOWORDINLINE(w1,w2)
-#define THREEWORDINLINE(w1,w2,w3)
-#define FOURWORDINLINE(w1,w2,w3,w4)
-#define FIVEWORDINLINE(w1,w2,w3,w4,w5)
-#define SIXWORDINLINE(w1,w2,w3,w4,w5,w6)
-#define SEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7)
-#define EIGHTWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8)
-#define NINEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9)
-#define TENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10)
-#define ELEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11)
-#define TWELVEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12)
+ #define ONEWORDINLINE(w1)
+ #define TWOWORDINLINE(w1,w2)
+ #define THREEWORDINLINE(w1,w2,w3)
+ #define FOURWORDINLINE(w1,w2,w3,w4)
+ #define FIVEWORDINLINE(w1,w2,w3,w4,w5)
+ #define SIXWORDINLINE(w1,w2,w3,w4,w5,w6)
+ #define SEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7)
+ #define EIGHTWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8)
+ #define NINEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9)
+ #define TENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10)
+ #define ELEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11)
+ #define TWELVEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12)
#endif
@@ -1793,12 +1793,12 @@
OPAQUE_UPP_TYPES - default: false. True for Carbon builds, UPP types are unique and opaque.
ACCESSOR_CALLS_ARE_FUNCTIONS - default: false. True for Carbon builds, enables accessor functions.
CALL_NOT_IN_CARBON - default: true. False for Carbon builds, hides calls not supported in Carbon.
-
+
Specifically, if you are building a non-Carbon application (one that links against InterfaceLib)
but you wish to use some of the accessor functions, you can set ACCESSOR_CALLS_ARE_FUNCTIONS to 1
and link with CarbonAccessors.o, which implements just the accessor functions. This will help you
preserve source compatibility between your Carbon and non-Carbon application targets.
-
+
MIXEDMODE_CALLS_ARE_FUNCTIONS - deprecated.
****************************************************************************************************/
@@ -1857,7 +1857,7 @@
#if TARGET_RT_MAC_MACHO && TARGET_RT_LITTLE_ENDIAN
#define OLD_COMPONENT_GLUE 1
-#endif
+#endif
diff --git a/include/qt/ControlDefinitions.h b/include/qt/ControlDefinitions.h
index 48af0694f..9859f92f5 100644
--- a/include/qt/ControlDefinitions.h
+++ b/include/qt/ControlDefinitions.h
@@ -1,17 +1,17 @@
/*
File: ControlDefinitions.h
-
+
Contains: Definitions of controls provided by the Control Manager
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CONTROLDEFINITIONS__
#define __CONTROLDEFINITIONS__
@@ -66,6259 +66,6013 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- * ControlDefinitions.h
- *
- * Discussion:
- * System software supplies a variety of controls for your
- * applications to use. They are described herein.
- */
- /*------------------------------------------------------------------------------------------------------*/
- /* o Resource Types */
- /*------------------------------------------------------------------------------------------------------*/
-
- enum {
- kControlTabListResType = FOUR_CHAR_CODE('tab#'), /* used for tab control (Appearance 1.0 and later)*/
- kControlListDescResType = FOUR_CHAR_CODE('ldes') /* used for list box control (Appearance 1.0 and later)*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Check Box Values */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kControlCheckBoxUncheckedValue = 0,
- kControlCheckBoxCheckedValue = 1,
- kControlCheckBoxMixedValue = 2
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Radio Button Values */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kControlRadioButtonUncheckedValue = 0,
- kControlRadioButtonCheckedValue = 1,
- kControlRadioButtonMixedValue = 2
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Pop-Up Menu Control Constants */
- /*--------------------------------------------------------------------------------------*/
- /* Variant codes for the System 7 pop-up menu*/
- enum
- {
- popupFixedWidth = 1 << 0,
- popupVariableWidth = 1 << 1,
- popupUseAddResMenu = 1 << 2,
- popupUseWFont = 1 << 3
- };
-
- /* Menu label styles for the System 7 pop-up menu*/
- enum
- {
- popupTitleBold = 1 << 8,
- popupTitleItalic = 1 << 9,
- popupTitleUnderline = 1 << 10,
- popupTitleOutline = 1 << 11,
- popupTitleShadow = 1 << 12,
- popupTitleCondense = 1 << 13,
- popupTitleExtend = 1 << 14,
- popupTitleNoStyle = 1 << 15
- };
-
- /* Menu label justifications for the System 7 pop-up menu*/
- enum
- {
- popupTitleLeftJust = 0x00000000,
- popupTitleCenterJust = 0x00000001,
- popupTitleRightJust = 0x000000FF
- };
-
- /*------------------------------------------------------------------------------------------------------*/
- /* o PopUp Menu Private Data Structure */
- /*------------------------------------------------------------------------------------------------------*/
+/*
+ * ControlDefinitions.h
+ *
+ * Discussion:
+ * System software supplies a variety of controls for your
+ * applications to use. They are described herein.
+ */
+/*------------------------------------------------------------------------------------------------------*/
+/* o Resource Types */
+/*------------------------------------------------------------------------------------------------------*/
+
+enum {
+ kControlTabListResType = FOUR_CHAR_CODE('tab#'), /* used for tab control (Appearance 1.0 and later)*/
+ kControlListDescResType = FOUR_CHAR_CODE('ldes') /* used for list box control (Appearance 1.0 and later)*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Check Box Values */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kControlCheckBoxUncheckedValue = 0,
+ kControlCheckBoxCheckedValue = 1,
+ kControlCheckBoxMixedValue = 2
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Radio Button Values */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kControlRadioButtonUncheckedValue = 0,
+ kControlRadioButtonCheckedValue = 1,
+ kControlRadioButtonMixedValue = 2
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Pop-Up Menu Control Constants */
+/*--------------------------------------------------------------------------------------*/
+/* Variant codes for the System 7 pop-up menu*/
+enum {
+ popupFixedWidth = 1 << 0,
+ popupVariableWidth = 1 << 1,
+ popupUseAddResMenu = 1 << 2,
+ popupUseWFont = 1 << 3
+};
+
+/* Menu label styles for the System 7 pop-up menu*/
+enum {
+ popupTitleBold = 1 << 8,
+ popupTitleItalic = 1 << 9,
+ popupTitleUnderline = 1 << 10,
+ popupTitleOutline = 1 << 11,
+ popupTitleShadow = 1 << 12,
+ popupTitleCondense = 1 << 13,
+ popupTitleExtend = 1 << 14,
+ popupTitleNoStyle = 1 << 15
+};
+
+/* Menu label justifications for the System 7 pop-up menu*/
+enum {
+ popupTitleLeftJust = 0x00000000,
+ popupTitleCenterJust = 0x00000001,
+ popupTitleRightJust = 0x000000FF
+};
+
+/*------------------------------------------------------------------------------------------------------*/
+/* o PopUp Menu Private Data Structure */
+/*------------------------------------------------------------------------------------------------------*/
#if !OPAQUE_TOOLBOX_STRUCTS
- struct PopupPrivateData
- {
- MenuRef mHandle;
- SInt16 mID;
- };
- typedef struct PopupPrivateData PopupPrivateData;
- typedef PopupPrivateData * PopupPrivateDataPtr;
- typedef PopupPrivateDataPtr * PopupPrivateDataHandle;
+struct PopupPrivateData {
+ MenuRef mHandle;
+ SInt16 mID;
+};
+typedef struct PopupPrivateData PopupPrivateData;
+typedef PopupPrivateData * PopupPrivateDataPtr;
+typedef PopupPrivateDataPtr * PopupPrivateDataHandle;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Definition ID's */
- /*------------------------------------------------------------------------------------------------------*/
- /* Standard System 7 procIDs*/
-
- enum
- {
- pushButProc = 0,
- checkBoxProc = 1,
- radioButProc = 2,
- scrollBarProc = 16,
- popupMenuProc = 1008
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Part Codes */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kControlLabelPart = 1,
- kControlMenuPart = 2,
- kControlTrianglePart = 4,
- kControlEditTextPart = 5, /* Appearance 1.0 and later*/
- kControlPicturePart = 6, /* Appearance 1.0 and later*/
- kControlIconPart = 7, /* Appearance 1.0 and later*/
- kControlClockPart = 8, /* Appearance 1.0 and later*/
- kControlListBoxPart = 24, /* Appearance 1.0 and later*/
- kControlListBoxDoubleClickPart = 25, /* Appearance 1.0 and later*/
- kControlImageWellPart = 26, /* Appearance 1.0 and later*/
- kControlRadioGroupPart = 27, /* Appearance 1.0.2 and later*/
- kControlButtonPart = 10,
- kControlCheckBoxPart = 11,
- kControlRadioButtonPart = 11,
- kControlUpButtonPart = 20,
- kControlDownButtonPart = 21,
- kControlPageUpPart = 22,
- kControlPageDownPart = 23,
- kControlClockHourDayPart = 9, /* Appearance 1.1 and later*/
- kControlClockMinuteMonthPart = 10, /* Appearance 1.1 and later*/
- kControlClockSecondYearPart = 11, /* Appearance 1.1 and later*/
- kControlClockAMPMPart = 12, /* Appearance 1.1 and later*/
- kControlDataBrowserPart = 24, /* CarbonLib 1.0 and later*/
- kControlDataBrowserDraggedPart = 25 /* CarbonLib 1.0 and later*/
- };
-
-
-
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Types and ID's available only with Appearance 1.0 and later */
- /*------------------------------------------------------------------------------------------------------*/
- /*--------------------------------------------------------------------------------------*/
- /* o BEVEL BUTTON INTERFACE (CDEF 2) */
- /*--------------------------------------------------------------------------------------*/
- /* Bevel buttons allow you to control the content type (pict/icon/etc.), the behavior */
- /* (pushbutton/toggle/sticky), and the bevel size. You also have the option of */
- /* attaching a menu to it. When a menu is present, you can specify which way the */
- /* popup arrow is facing (down or right). */
- /* */
- /* This is all made possible by overloading the Min, Max, and Value parameters for the */
- /* control, as well as adjusting the variant. Here's the breakdown of what goes where: */
- /* */
- /* Parameter What Goes Here */
- /* ------------------- ---------------------------------------------------- */
- /* Min Hi Byte = Behavior, Lo Byte = content type. */
- /* Max ResID for resource-based content types. */
- /* Value MenuID to attach, 0 = no menu, please. */
- /* */
- /* The variant is broken down into two halfs. The low 2 bits control the bevel type. */
- /* Bit 2 controls the popup arrow direction (if a menu is present) and bit 3 controls */
- /* whether or not to use the control's owning window's font. */
- /* */
- /* Constants for all you need to put this together are below. The values for behaviors */
- /* are set up so that you can simply add them to the content type and pass them into */
- /* the Min parameter of NewControl. */
- /* */
- /* An example call: */
- /* */
- /* control = NewControl( window, &bounds, "\p", true, 0, kControlContentIconSuiteRes + */
- /* kBehaviorToggles, myIconSuiteID, bevelButtonSmallBevelProc, */
- /* 0L ); */
- /* */
- /* Attaching a menu: */
- /* */
- /* control = NewControl( window, &bounds, "\p", true, kMyMenuID, */
- /* kControlContentIconSuiteRes, myIconSuiteID, bevelButtonSmallBevelProc + */
- /* kBevelButtonMenuOnRight, 0L ); */
- /* */
- /* This will attach menu ID kMyMenuID to the button, with the popup arrow facing right.*/
- /* This also puts the menu up to the right of the button. You can also specify that a */
- /* menu can have multiple items checked at once by adding kBehaviorMultiValueMenus */
- /* into the Min parameter. If you do use multivalue menus, the GetBevelButtonMenuValue */
- /* helper function will return the last item chosen from the menu, whether or not it */
- /* was checked. */
- /* */
- /* NOTE: Bevel buttons with menus actually have *two* values. The value of the */
- /* button (on/off), and the value of the menu. The menu value can be gotten */
- /* with the GetBevelButtonMenuValue helper function. */
- /* */
- /* Handle-based Content */
- /* -------------------- */
- /* You can create your control and then set the content to an existing handle to an */
- /* icon suite, etc. using the macros below. Please keep in mind that resource-based */
- /* content is owned by the control, handle-based content is owned by you. The CDEF will*/
- /* not try to dispose of handle-based content. If you are changing the content type of */
- /* the button on the fly, you must make sure that if you are replacing a handle- */
- /* based content with a resource-based content to properly dispose of the handle, */
- /* else a memory leak will ensue. */
- /* */
- /* Bevel Button Proc IDs */
- enum
- {
- kControlBevelButtonSmallBevelProc = 32,
- kControlBevelButtonNormalBevelProc = 33,
- kControlBevelButtonLargeBevelProc = 34
- };
-
- /* Add these variant codes to kBevelButtonSmallBevelProc to change the type of button */
- enum
- {
- kControlBevelButtonSmallBevelVariant = 0,
- kControlBevelButtonNormalBevelVariant = (1 << 0),
- kControlBevelButtonLargeBevelVariant = (1 << 1),
- kControlBevelButtonMenuOnRightVariant = (1 << 2)
- };
-
- /* Bevel Thicknesses */
- typedef UInt16 ControlBevelThickness;
- enum
- {
- kControlBevelButtonSmallBevel = 0,
- kControlBevelButtonNormalBevel = 1,
- kControlBevelButtonLargeBevel = 2
- };
-
- /* Behaviors of bevel buttons. These are set up so you can add */
- /* them together with the content types. */
- enum
- {
- kControlBehaviorPushbutton = 0,
- kControlBehaviorToggles = 0x0100,
- kControlBehaviorSticky = 0x0200,
- kControlBehaviorSingleValueMenu = 0,
- kControlBehaviorMultiValueMenu = 0x4000, /* only makes sense when a menu is attached.*/
- kControlBehaviorOffsetContents = 0x8000
- };
-
- /* Behaviors for 1.0.1 or later */
- enum
- {
- kControlBehaviorCommandMenu = 0x2000 /* menu holds commands, not choices. Overrides multi-value bit.*/
- };
-
- typedef UInt16 ControlBevelButtonBehavior;
- typedef UInt16 ControlBevelButtonMenuBehavior;
- /* Bevel Button Menu Placements */
- typedef UInt16 ControlBevelButtonMenuPlacement;
- enum
- {
- kControlBevelButtonMenuOnBottom = 0,
- kControlBevelButtonMenuOnRight = (1 << 2)
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindBevelButton = FOUR_CHAR_CODE('bevl')
- };
-
- /* Creation API: Carbon Only */
- /*
- * CreateBevelButtonControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateBevelButtonControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- ControlBevelThickness thickness,
- ControlBevelButtonBehavior behavior,
- ControlButtonContentInfoPtr info,
- SInt16 menuID,
- ControlBevelButtonMenuBehavior menuBehavior,
- ControlBevelButtonMenuPlacement menuPlacement,
- ControlRef * outControl);
-
-
-
-
- /* Graphic Alignments */
- typedef SInt16 ControlButtonGraphicAlignment;
- enum
- {
- kControlBevelButtonAlignSysDirection = -1, /* only left or right*/
- kControlBevelButtonAlignCenter = 0,
- kControlBevelButtonAlignLeft = 1,
- kControlBevelButtonAlignRight = 2,
- kControlBevelButtonAlignTop = 3,
- kControlBevelButtonAlignBottom = 4,
- kControlBevelButtonAlignTopLeft = 5,
- kControlBevelButtonAlignBottomLeft = 6,
- kControlBevelButtonAlignTopRight = 7,
- kControlBevelButtonAlignBottomRight = 8
- };
-
- /* Text Alignments */
- typedef SInt16 ControlButtonTextAlignment;
- enum
- {
- kControlBevelButtonAlignTextSysDirection = teFlushDefault,
- kControlBevelButtonAlignTextCenter = teCenter,
- kControlBevelButtonAlignTextFlushRight = teFlushRight,
- kControlBevelButtonAlignTextFlushLeft = teFlushLeft
- };
-
- /* Text Placements */
- typedef SInt16 ControlButtonTextPlacement;
- enum
- {
- kControlBevelButtonPlaceSysDirection = -1, /* if graphic on right, then on left*/
- kControlBevelButtonPlaceNormally = 0,
- kControlBevelButtonPlaceToRightOfGraphic = 1,
- kControlBevelButtonPlaceToLeftOfGraphic = 2,
- kControlBevelButtonPlaceBelowGraphic = 3,
- kControlBevelButtonPlaceAboveGraphic = 4
- };
-
-
- /* Data tags supported by the bevel button controls */
- enum
- {
- kControlBevelButtonContentTag = FOUR_CHAR_CODE('cont'), /* ButtonContentInfo*/
- kControlBevelButtonTransformTag = FOUR_CHAR_CODE('tran'), /* IconTransformType*/
- kControlBevelButtonTextAlignTag = FOUR_CHAR_CODE('tali'), /* ButtonTextAlignment*/
- kControlBevelButtonTextOffsetTag = FOUR_CHAR_CODE('toff'), /* SInt16*/
- kControlBevelButtonGraphicAlignTag = FOUR_CHAR_CODE('gali'), /* ButtonGraphicAlignment*/
- kControlBevelButtonGraphicOffsetTag = FOUR_CHAR_CODE('goff'), /* Point*/
- kControlBevelButtonTextPlaceTag = FOUR_CHAR_CODE('tplc'), /* ButtonTextPlacement*/
- kControlBevelButtonMenuValueTag = FOUR_CHAR_CODE('mval'), /* SInt16*/
- kControlBevelButtonMenuHandleTag = FOUR_CHAR_CODE('mhnd'), /* MenuRef*/
- kControlBevelButtonMenuRefTag = FOUR_CHAR_CODE('mhnd'), /* MenuRef*/
- kControlBevelButtonCenterPopupGlyphTag = FOUR_CHAR_CODE('pglc') /* Boolean: true = center, false = bottom right*/
- };
-
- /* These are tags in 1.0.1 or later */
- enum
- {
- kControlBevelButtonLastMenuTag = FOUR_CHAR_CODE('lmnu'), /* SInt16: menuID of last menu item selected from*/
- kControlBevelButtonMenuDelayTag = FOUR_CHAR_CODE('mdly') /* SInt32: ticks to delay before menu appears*/
- };
-
- /* tags available with Appearance 1.1 or later */
- enum
- {
- /* Boolean: True = if an icon of the ideal size for*/
- /* the button isn't available, scale a larger or*/
- /* smaller icon to the ideal size. False = don't*/
- /* scale; draw a smaller icon or clip a larger icon.*/
- /* Default is false. Only applies to IconSuites and*/
- kControlBevelButtonScaleIconTag = FOUR_CHAR_CODE('scal') /* IconRefs.*/
- };
-
- /* tags available in Mac OS X and later */
- enum
- {
- kControlBevelButtonOwnedMenuRefTag = FOUR_CHAR_CODE('omrf'), /* MenuRef (control will dispose)*/
- kControlBevelButtonKindTag = FOUR_CHAR_CODE('bebk') /* ThemeButtonKind ( kTheme[Small,Medium,Large,Rounded]BevelButton )*/
- };
-
- /* Helper routines are available only thru the shared library/glue. */
- /*
- * GetBevelButtonMenuValue()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetBevelButtonMenuValue(
- ControlRef inButton,
- SInt16 * outValue);
-
-
- /*
- * SetBevelButtonMenuValue()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetBevelButtonMenuValue(
- ControlRef inButton,
- SInt16 inValue);
-
-
- /*
- * GetBevelButtonMenuHandle()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetBevelButtonMenuHandle(
- ControlRef inButton,
- MenuHandle * outHandle);
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Definition ID's */
+/*------------------------------------------------------------------------------------------------------*/
+/* Standard System 7 procIDs*/
+
+enum {
+ pushButProc = 0,
+ checkBoxProc = 1,
+ radioButProc = 2,
+ scrollBarProc = 16,
+ popupMenuProc = 1008
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Part Codes */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kControlLabelPart = 1,
+ kControlMenuPart = 2,
+ kControlTrianglePart = 4,
+ kControlEditTextPart = 5, /* Appearance 1.0 and later*/
+ kControlPicturePart = 6, /* Appearance 1.0 and later*/
+ kControlIconPart = 7, /* Appearance 1.0 and later*/
+ kControlClockPart = 8, /* Appearance 1.0 and later*/
+ kControlListBoxPart = 24, /* Appearance 1.0 and later*/
+ kControlListBoxDoubleClickPart = 25, /* Appearance 1.0 and later*/
+ kControlImageWellPart = 26, /* Appearance 1.0 and later*/
+ kControlRadioGroupPart = 27, /* Appearance 1.0.2 and later*/
+ kControlButtonPart = 10,
+ kControlCheckBoxPart = 11,
+ kControlRadioButtonPart = 11,
+ kControlUpButtonPart = 20,
+ kControlDownButtonPart = 21,
+ kControlPageUpPart = 22,
+ kControlPageDownPart = 23,
+ kControlClockHourDayPart = 9, /* Appearance 1.1 and later*/
+ kControlClockMinuteMonthPart = 10, /* Appearance 1.1 and later*/
+ kControlClockSecondYearPart = 11, /* Appearance 1.1 and later*/
+ kControlClockAMPMPart = 12, /* Appearance 1.1 and later*/
+ kControlDataBrowserPart = 24, /* CarbonLib 1.0 and later*/
+ kControlDataBrowserDraggedPart = 25 /* CarbonLib 1.0 and later*/
+};
+
+
+
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Types and ID's available only with Appearance 1.0 and later */
+/*------------------------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o BEVEL BUTTON INTERFACE (CDEF 2) */
+/*--------------------------------------------------------------------------------------*/
+/* Bevel buttons allow you to control the content type (pict/icon/etc.), the behavior */
+/* (pushbutton/toggle/sticky), and the bevel size. You also have the option of */
+/* attaching a menu to it. When a menu is present, you can specify which way the */
+/* popup arrow is facing (down or right). */
+/* */
+/* This is all made possible by overloading the Min, Max, and Value parameters for the */
+/* control, as well as adjusting the variant. Here's the breakdown of what goes where: */
+/* */
+/* Parameter What Goes Here */
+/* ------------------- ---------------------------------------------------- */
+/* Min Hi Byte = Behavior, Lo Byte = content type. */
+/* Max ResID for resource-based content types. */
+/* Value MenuID to attach, 0 = no menu, please. */
+/* */
+/* The variant is broken down into two halfs. The low 2 bits control the bevel type. */
+/* Bit 2 controls the popup arrow direction (if a menu is present) and bit 3 controls */
+/* whether or not to use the control's owning window's font. */
+/* */
+/* Constants for all you need to put this together are below. The values for behaviors */
+/* are set up so that you can simply add them to the content type and pass them into */
+/* the Min parameter of NewControl. */
+/* */
+/* An example call: */
+/* */
+/* control = NewControl( window, &bounds, "\p", true, 0, kControlContentIconSuiteRes + */
+/* kBehaviorToggles, myIconSuiteID, bevelButtonSmallBevelProc, */
+/* 0L ); */
+/* */
+/* Attaching a menu: */
+/* */
+/* control = NewControl( window, &bounds, "\p", true, kMyMenuID, */
+/* kControlContentIconSuiteRes, myIconSuiteID, bevelButtonSmallBevelProc + */
+/* kBevelButtonMenuOnRight, 0L ); */
+/* */
+/* This will attach menu ID kMyMenuID to the button, with the popup arrow facing right.*/
+/* This also puts the menu up to the right of the button. You can also specify that a */
+/* menu can have multiple items checked at once by adding kBehaviorMultiValueMenus */
+/* into the Min parameter. If you do use multivalue menus, the GetBevelButtonMenuValue */
+/* helper function will return the last item chosen from the menu, whether or not it */
+/* was checked. */
+/* */
+/* NOTE: Bevel buttons with menus actually have *two* values. The value of the */
+/* button (on/off), and the value of the menu. The menu value can be gotten */
+/* with the GetBevelButtonMenuValue helper function. */
+/* */
+/* Handle-based Content */
+/* -------------------- */
+/* You can create your control and then set the content to an existing handle to an */
+/* icon suite, etc. using the macros below. Please keep in mind that resource-based */
+/* content is owned by the control, handle-based content is owned by you. The CDEF will*/
+/* not try to dispose of handle-based content. If you are changing the content type of */
+/* the button on the fly, you must make sure that if you are replacing a handle- */
+/* based content with a resource-based content to properly dispose of the handle, */
+/* else a memory leak will ensue. */
+/* */
+/* Bevel Button Proc IDs */
+enum {
+ kControlBevelButtonSmallBevelProc = 32,
+ kControlBevelButtonNormalBevelProc = 33,
+ kControlBevelButtonLargeBevelProc = 34
+};
+
+/* Add these variant codes to kBevelButtonSmallBevelProc to change the type of button */
+enum {
+ kControlBevelButtonSmallBevelVariant = 0,
+ kControlBevelButtonNormalBevelVariant = (1 << 0),
+ kControlBevelButtonLargeBevelVariant = (1 << 1),
+ kControlBevelButtonMenuOnRightVariant = (1 << 2)
+};
+
+/* Bevel Thicknesses */
+typedef UInt16 ControlBevelThickness;
+enum {
+ kControlBevelButtonSmallBevel = 0,
+ kControlBevelButtonNormalBevel = 1,
+ kControlBevelButtonLargeBevel = 2
+};
+
+/* Behaviors of bevel buttons. These are set up so you can add */
+/* them together with the content types. */
+enum {
+ kControlBehaviorPushbutton = 0,
+ kControlBehaviorToggles = 0x0100,
+ kControlBehaviorSticky = 0x0200,
+ kControlBehaviorSingleValueMenu = 0,
+ kControlBehaviorMultiValueMenu = 0x4000, /* only makes sense when a menu is attached.*/
+ kControlBehaviorOffsetContents = 0x8000
+};
+
+/* Behaviors for 1.0.1 or later */
+enum {
+ kControlBehaviorCommandMenu = 0x2000 /* menu holds commands, not choices. Overrides multi-value bit.*/
+};
+
+typedef UInt16 ControlBevelButtonBehavior;
+typedef UInt16 ControlBevelButtonMenuBehavior;
+/* Bevel Button Menu Placements */
+typedef UInt16 ControlBevelButtonMenuPlacement;
+enum {
+ kControlBevelButtonMenuOnBottom = 0,
+ kControlBevelButtonMenuOnRight = (1 << 2)
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindBevelButton = FOUR_CHAR_CODE('bevl')
+};
+
+/* Creation API: Carbon Only */
+/*
+ * CreateBevelButtonControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateBevelButtonControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ ControlBevelThickness thickness,
+ ControlBevelButtonBehavior behavior,
+ ControlButtonContentInfoPtr info,
+ SInt16 menuID,
+ ControlBevelButtonMenuBehavior menuBehavior,
+ ControlBevelButtonMenuPlacement menuPlacement,
+ ControlRef * outControl);
+
+
+
+
+/* Graphic Alignments */
+typedef SInt16 ControlButtonGraphicAlignment;
+enum {
+ kControlBevelButtonAlignSysDirection = -1, /* only left or right*/
+ kControlBevelButtonAlignCenter = 0,
+ kControlBevelButtonAlignLeft = 1,
+ kControlBevelButtonAlignRight = 2,
+ kControlBevelButtonAlignTop = 3,
+ kControlBevelButtonAlignBottom = 4,
+ kControlBevelButtonAlignTopLeft = 5,
+ kControlBevelButtonAlignBottomLeft = 6,
+ kControlBevelButtonAlignTopRight = 7,
+ kControlBevelButtonAlignBottomRight = 8
+};
+
+/* Text Alignments */
+typedef SInt16 ControlButtonTextAlignment;
+enum {
+ kControlBevelButtonAlignTextSysDirection = teFlushDefault,
+ kControlBevelButtonAlignTextCenter = teCenter,
+ kControlBevelButtonAlignTextFlushRight = teFlushRight,
+ kControlBevelButtonAlignTextFlushLeft = teFlushLeft
+};
+
+/* Text Placements */
+typedef SInt16 ControlButtonTextPlacement;
+enum {
+ kControlBevelButtonPlaceSysDirection = -1, /* if graphic on right, then on left*/
+ kControlBevelButtonPlaceNormally = 0,
+ kControlBevelButtonPlaceToRightOfGraphic = 1,
+ kControlBevelButtonPlaceToLeftOfGraphic = 2,
+ kControlBevelButtonPlaceBelowGraphic = 3,
+ kControlBevelButtonPlaceAboveGraphic = 4
+};
+
+
+/* Data tags supported by the bevel button controls */
+enum {
+ kControlBevelButtonContentTag = FOUR_CHAR_CODE('cont'), /* ButtonContentInfo*/
+ kControlBevelButtonTransformTag = FOUR_CHAR_CODE('tran'), /* IconTransformType*/
+ kControlBevelButtonTextAlignTag = FOUR_CHAR_CODE('tali'), /* ButtonTextAlignment*/
+ kControlBevelButtonTextOffsetTag = FOUR_CHAR_CODE('toff'), /* SInt16*/
+ kControlBevelButtonGraphicAlignTag = FOUR_CHAR_CODE('gali'), /* ButtonGraphicAlignment*/
+ kControlBevelButtonGraphicOffsetTag = FOUR_CHAR_CODE('goff'), /* Point*/
+ kControlBevelButtonTextPlaceTag = FOUR_CHAR_CODE('tplc'), /* ButtonTextPlacement*/
+ kControlBevelButtonMenuValueTag = FOUR_CHAR_CODE('mval'), /* SInt16*/
+ kControlBevelButtonMenuHandleTag = FOUR_CHAR_CODE('mhnd'), /* MenuRef*/
+ kControlBevelButtonMenuRefTag = FOUR_CHAR_CODE('mhnd'), /* MenuRef*/
+ kControlBevelButtonCenterPopupGlyphTag = FOUR_CHAR_CODE('pglc') /* Boolean: true = center, false = bottom right*/
+};
+
+/* These are tags in 1.0.1 or later */
+enum {
+ kControlBevelButtonLastMenuTag = FOUR_CHAR_CODE('lmnu'), /* SInt16: menuID of last menu item selected from*/
+ kControlBevelButtonMenuDelayTag = FOUR_CHAR_CODE('mdly') /* SInt32: ticks to delay before menu appears*/
+};
+
+/* tags available with Appearance 1.1 or later */
+enum {
+ /* Boolean: True = if an icon of the ideal size for*/
+ /* the button isn't available, scale a larger or*/
+ /* smaller icon to the ideal size. False = don't*/
+ /* scale; draw a smaller icon or clip a larger icon.*/
+ /* Default is false. Only applies to IconSuites and*/
+ kControlBevelButtonScaleIconTag = FOUR_CHAR_CODE('scal') /* IconRefs.*/
+};
+
+/* tags available in Mac OS X and later */
+enum {
+ kControlBevelButtonOwnedMenuRefTag = FOUR_CHAR_CODE('omrf'), /* MenuRef (control will dispose)*/
+ kControlBevelButtonKindTag = FOUR_CHAR_CODE('bebk') /* ThemeButtonKind ( kTheme[Small,Medium,Large,Rounded]BevelButton )*/
+};
+
+/* Helper routines are available only thru the shared library/glue. */
+/*
+ * GetBevelButtonMenuValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetBevelButtonMenuValue(
+ ControlRef inButton,
+ SInt16 * outValue);
+
+
+/*
+ * SetBevelButtonMenuValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetBevelButtonMenuValue(
+ ControlRef inButton,
+ SInt16 inValue);
+
+
+/*
+ * GetBevelButtonMenuHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetBevelButtonMenuHandle(
+ ControlRef inButton,
+ MenuHandle * outHandle);
#define GetBevelButtonMenuRef GetBevelButtonMenuHandle
- /*
- * GetBevelButtonContentInfo()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetBevelButtonContentInfo(
- ControlRef inButton,
- ControlButtonContentInfoPtr outContent);
-
-
- /*
- * SetBevelButtonContentInfo()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetBevelButtonContentInfo(
- ControlRef inButton,
- ControlButtonContentInfoPtr inContent);
-
-
- /*
- * SetBevelButtonTransform()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetBevelButtonTransform(
- ControlRef inButton,
- IconTransformType transform);
-
-
- /*
- * SetBevelButtonGraphicAlignment()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetBevelButtonGraphicAlignment(
- ControlRef inButton,
- ControlButtonGraphicAlignment inAlign,
- SInt16 inHOffset,
- SInt16 inVOffset);
-
-
- /*
- * SetBevelButtonTextAlignment()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetBevelButtonTextAlignment(
- ControlRef inButton,
- ControlButtonTextAlignment inAlign,
- SInt16 inHOffset);
-
-
- /*
- * SetBevelButtonTextPlacement()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetBevelButtonTextPlacement(
- ControlRef inButton,
- ControlButtonTextPlacement inWhere);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o SLIDER (CDEF 3) */
- /*--------------------------------------------------------------------------------------*/
- /* There are several variants that control the behavior of the slider control. Any */
- /* combination of the following three constants can be added to the basic CDEF ID */
- /* (kSliderProc). */
- /* */
- /* Variants: */
- /* */
- /* kSliderLiveFeedback Slider does not use "ghosted" indicator when tracking. */
- /* ActionProc is called (set via SetControlAction) as the */
- /* indicator is dragged. The value is updated so that the */
- /* actionproc can adjust some other property based on the */
- /* value each time the action proc is called. If no action */
- /* proc is installed, it reverts to the ghost indicator. */
- /* */
- /* kSliderHasTickMarks Slider is drawn with 'tick marks'. The control */
- /* rectangle must be large enough to accomidate the tick */
- /* marks. */
- /* */
- /* kSliderReverseDirection Slider thumb points in opposite direction than normal. */
- /* If the slider is vertical, the thumb will point to the */
- /* left, if the slider is horizontal, the thumb will point */
- /* upwards. */
- /* */
- /* kSliderNonDirectional This option overrides the kSliderReverseDirection and */
- /* kSliderHasTickMarks variants. It creates an indicator */
- /* which is rectangular and doesn't point in any direction */
- /* like the normal indicator does. */
- /* Slider proc ID and variants */
- enum
- {
- kControlSliderProc = 48,
- kControlSliderLiveFeedback = (1 << 0),
- kControlSliderHasTickMarks = (1 << 1),
- kControlSliderReverseDirection = (1 << 2),
- kControlSliderNonDirectional = (1 << 3)
- };
-
- /* Slider Orientation */
- typedef UInt16 ControlSliderOrientation;
- enum
- {
- kControlSliderPointsDownOrRight = 0,
- kControlSliderPointsUpOrLeft = 1,
- kControlSliderDoesNotPoint = 2
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindSlider = FOUR_CHAR_CODE('sldr')
- };
-
- /* Creation API: Carbon Only */
- /*
- * CreateSliderControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateSliderControl(
- WindowRef window,
- const Rect * boundsRect,
- SInt32 value,
- SInt32 minimum,
- SInt32 maximum,
- ControlSliderOrientation orientation,
- UInt16 numTickMarks,
- Boolean liveTracking,
- ControlActionUPP liveTrackingProc,
- ControlRef * outControl);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o DISCLOSURE TRIANGLE (CDEF 4) */
- /*--------------------------------------------------------------------------------------*/
- /* This control can be used as either left or right facing. It can also handle its own */
- /* tracking if you wish. This means that when the 'autotoggle' variant is used, if the */
- /* user clicks the control, it's state will change automatically from open to closed */
- /* and vice-versa depending on its initial state. After a successful call to Track- */
- /* Control, you can just check the current value to see what state it was switched to. */
- /* Triangle proc IDs */
- enum
- {
- kControlTriangleProc = 64,
- kControlTriangleLeftFacingProc = 65,
- kControlTriangleAutoToggleProc = 66,
- kControlTriangleLeftFacingAutoToggleProc = 67
- };
-
- typedef UInt16 ControlDisclosureTriangleOrientation;
- enum
- {
- kControlDisclosureTrianglePointDefault = 0, /* points right on a left-to-right script system (Mac OS X and later or CarbonLib 1.5 and later only)*/
- kControlDisclosureTrianglePointRight = 1,
- kControlDisclosureTrianglePointLeft = 2
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindDisclosureTriangle = FOUR_CHAR_CODE('dist')
- };
-
- /*
- * CreateDisclosureTriangleControl()
- *
- * Summary:
- * Creates a Disclosure Triangle control at a specific position in
- * the specified window.
- *
- * Discussion:
- * Disclosure Triangles are small controls that give the user a way
- * to toggle the visibility of information or other user interface.
- * When information is in a hidden state, a Disclosure Triangle is
- * considered "closed" and should point to the right (or sometimes
- * to the left). When the user clicks on it, the Disclosure Triangle
- * rotates downwards into the "open" state. The application should
- * repond by revealing the appropriate information or interface. On
- * Mac OS X, a root control will be created for the window if one
- * does not already exist. If a root control exists for the window,
- * the Disclosure Triangle control will be embedded into it.
- *
- * Parameters:
- *
- * inWindow:
- * The WindowRef into which the Disclosure Triangle will be
- * created.
- *
- * inBoundsRect:
- * The desired position (in coordinates local to the window's
- * port) for the Disclosure Triangle.
- *
- * inOrientation:
- * The direction the Disclosure Triangle should point when it is
- * "closed". Passing kControlDisclosureTrianglePointDefault is
- * only legal as of Mac OS X and CarbonLib 1.5.
- *
- * inTitle:
- * The title for the Disclosure Triangle. The title will only be
- * displayed if the inDrawTitle parameter is true. Title display
- * only works on Mac OS X.
- *
- * inInitialValue:
- * The starting value determines whether the Disclosure Triangle
- * is initially in its "open" or "closed" state. The value 0
- * represents the "closed" state and 1 represents the "open" state.
- *
- * inDrawTitle:
- * A Boolean indicating whether the Disclosure Triangle should
- * draw its title next to the widget. Title display only works on
- * Mac OS X.
- *
- * inAutoToggles:
- * A Boolean indicating whether the Disclosure Triangle should
- * change its own value (from "open" to "closed" and vice-versa)
- * automatically when it is clicked on.
- *
- * outControl:
- * On successful output, outControl will contain a reference to
- * the Disclosure Triangle control.
- *
- * Result:
- * An OSStatus code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateDisclosureTriangleControl(
- WindowRef inWindow,
- const Rect * inBoundsRect,
- ControlDisclosureTriangleOrientation inOrientation,
- CFStringRef inTitle,
- SInt32 inInitialValue,
- Boolean inDrawTitle,
- Boolean inAutoToggles,
- ControlRef * outControl);
-
-
-
- /* Tagged data supported by disclosure triangles */
- enum
- {
- kControlTriangleLastValueTag = FOUR_CHAR_CODE('last') /* SInt16*/
- };
-
- /* Helper routines are available only thru the shared library/glue. */
- /*
- * SetDisclosureTriangleLastValue()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDisclosureTriangleLastValue(
- ControlRef inTabControl,
- SInt16 inValue);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o PROGRESS INDICATOR (CDEF 5) */
- /*--------------------------------------------------------------------------------------*/
- /* This CDEF implements both determinate and indeterminate progress bars. To switch, */
- /* just use SetControlData to set the indeterminate flag to make it indeterminate call */
- /* IdleControls to step thru the animation. IdleControls should be called at least */
- /* once during your event loop. */
- /* */
- /* We also use this same CDEF for Relevance bars. At this time this control does not */
- /* idle. */
- /* Progress Bar proc IDs */
- enum
- {
- kControlProgressBarProc = 80,
- kControlRelevanceBarProc = 81
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindProgressBar = FOUR_CHAR_CODE('prgb'),
- kControlKindRelevanceBar = FOUR_CHAR_CODE('relb')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateProgressBarControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateProgressBarControl(
- WindowRef window,
- const Rect * boundsRect,
- SInt32 value,
- SInt32 minimum,
- SInt32 maximum,
- Boolean indeterminate,
- ControlRef * outControl);
-
-
- /*
- * CreateRelevanceBarControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateRelevanceBarControl(
- WindowRef window,
- const Rect * boundsRect,
- SInt32 value,
- SInt32 minimum,
- SInt32 maximum,
- ControlRef * outControl);
-
-
- /* Tagged data supported by progress bars */
- enum
- {
- kControlProgressBarIndeterminateTag = FOUR_CHAR_CODE('inde'), /* Boolean*/
- kControlProgressBarAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o LITTLE ARROWS (CDEF 6) */
- /*--------------------------------------------------------------------------------------*/
- /* This control implements the little up and down arrows you'd see in the Memory */
- /* control panel for adjusting the cache size. */
- /* Little Arrows proc IDs */
- enum
- {
- kControlLittleArrowsProc = 96
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindLittleArrows = FOUR_CHAR_CODE('larr')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateLittleArrowsControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateLittleArrowsControl(
- WindowRef window,
- const Rect * boundsRect,
- SInt32 value,
- SInt32 minimum,
- SInt32 maximum,
- SInt32 increment,
- ControlRef * outControl);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o CHASING ARROWS (CDEF 7) */
- /*--------------------------------------------------------------------------------------*/
- /* To animate this control, make sure to call IdleControls repeatedly. */
- /* */
- /* Chasing Arrows proc IDs */
- enum
- {
- kControlChasingArrowsProc = 112
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindChasingArrows = FOUR_CHAR_CODE('carr')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateChasingArrowsControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateChasingArrowsControl(
- WindowRef window,
- const Rect * boundsRect,
- ControlRef * outControl);
-
-
- /* Tagged data supported by the Chasing Arrows control */
- enum
- {
- kControlChasingArrowsAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o TABS (CDEF 8) */
- /*--------------------------------------------------------------------------------------*/
- /* Tabs use an auxiliary resource (tab#) to hold tab information such as the tab name */
- /* and an icon suite ID for each tab. */
- /* */
- /* The ID of the tab# resource that you wish to associate with a tab control should */
- /* be passed in as the Value parameter of the control. If you are using GetNewControl, */
- /* then the Value slot in the CNTL resource should have the ID of the 'tab#' resource */
- /* on creation. */
- /* */
- /* Passing zero in for the tab# resource tells the control not to read in a tab# res. */
- /* You can then use SetControlMaximum to add tabs, followed by a call to SetControlData*/
- /* with the kControlTabInfoTag, passing in a pointer to a ControlTabInfoRec. This sets */
- /* the name and optionally an icon for a tab. */
- /* Tabs proc IDs */
- enum
- {
- kControlTabLargeProc = 128, /* Large tab size, north facing */
- kControlTabSmallProc = 129, /* Small tab size, north facing */
- kControlTabLargeNorthProc = 128, /* Large tab size, north facing */
- kControlTabSmallNorthProc = 129, /* Small tab size, north facing */
- kControlTabLargeSouthProc = 130, /* Large tab size, south facing */
- kControlTabSmallSouthProc = 131, /* Small tab size, south facing */
- kControlTabLargeEastProc = 132, /* Large tab size, east facing */
- kControlTabSmallEastProc = 133, /* Small tab size, east facing */
- kControlTabLargeWestProc = 134, /* Large tab size, west facing */
- kControlTabSmallWestProc = 135 /* Small tab size, west facing */
- };
-
- /* Tab Directions */
- typedef UInt16 ControlTabDirection;
- enum
- {
- kControlTabDirectionNorth = 0,
- kControlTabDirectionSouth = 1,
- kControlTabDirectionEast = 2,
- kControlTabDirectionWest = 3
- };
-
- /* Tab Sizes */
- typedef UInt16 ControlTabSize;
- enum
- {
- kControlTabSizeLarge = kControlSizeNormal,
- kControlTabSizeSmall = kControlSizeSmall
- };
-
- /* Control Tab Entry - used during creation */
- /* Note that the client is responsible for allocating/providing */
- /* the ControlButtonContentInfo and string storage for this */
- /* structure. */
- struct ControlTabEntry
- {
- ControlButtonContentInfo * icon;
- CFStringRef name;
- Boolean enabled;
- };
- typedef struct ControlTabEntry ControlTabEntry;
- /* Control Kind Tag */
- enum
- {
- kControlKindTabs = FOUR_CHAR_CODE('tabs')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateTabsControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateTabsControl(
- WindowRef window,
- const Rect * boundsRect,
- ControlTabSize size,
- ControlTabDirection direction,
- UInt16 numTabs,
- const ControlTabEntry * tabArray,
- ControlRef * outControl);
-
-
-
- /* Tagged data supported by tabs */
- enum
- {
- kControlTabContentRectTag = FOUR_CHAR_CODE('rect'), /* Rect*/
- kControlTabEnabledFlagTag = FOUR_CHAR_CODE('enab'), /* Boolean*/
- kControlTabFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/
- };
-
- /* New tags in 1.0.1 or later */
- enum
- {
- kControlTabInfoTag = FOUR_CHAR_CODE('tabi') /* ControlTabInfoRec*/
- };
-
- /* New tags in X 10.1 or later */
- enum
- {
- kControlTabImageContentTag = FOUR_CHAR_CODE('cont') /* ControlButtonContentInfo*/
- };
-
- enum
- {
- kControlTabInfoVersionZero = 0, /* ControlTabInfoRec*/
- kControlTabInfoVersionOne = 1 /* ControlTabInfoRecV1*/
- };
-
- struct ControlTabInfoRec
- {
- SInt16 version; /* version of this structure.*/
- SInt16 iconSuiteID; /* icon suite to use. Zero indicates no icon*/
- Str255 name; /* name to be displayed on the tab*/
- };
- typedef struct ControlTabInfoRec ControlTabInfoRec;
- struct ControlTabInfoRecV1
- {
- SInt16 version; /* version of this structure. == kControlTabInfoVersionOne*/
- SInt16 iconSuiteID; /* icon suite to use. Zero indicates no icon*/
- CFStringRef name; /* name to be displayed on the tab. Will be retained so caller*/
- /* should always release it.*/
- };
- typedef struct ControlTabInfoRecV1 ControlTabInfoRecV1;
- /* Helper routines are available only thru the shared library/glue. */
- /*
- * GetTabContentRect()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetTabContentRect(
- ControlRef inTabControl,
- Rect * outContentRect);
-
-
- /*
- * SetTabEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetTabEnabled(
- ControlRef inTabControl,
- SInt16 inTabToHilite,
- Boolean inEnabled);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o VISUAL SEPARATOR (CDEF 9) */
- /*--------------------------------------------------------------------------------------*/
- /* Separator lines determine their orientation (horizontal or vertical) automatically */
- /* based on the relative height and width of their contrlRect. */
- /* Visual separator proc IDs */
- enum
- {
- kControlSeparatorLineProc = 144
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindSeparator = FOUR_CHAR_CODE('sepa')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateSeparatorControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateSeparatorControl(
- WindowRef window,
- const Rect * boundsRect,
- ControlRef * outControl);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o GROUP BOX (CDEF 10) */
- /*--------------------------------------------------------------------------------------*/
- /* The group box CDEF can be use in several ways. It can have no title, a text title, */
- /* a check box as the title, or a popup button as a title. There are two versions of */
- /* group boxes, primary and secondary, which look slightly different. */
- /* Group Box proc IDs */
- enum
- {
- kControlGroupBoxTextTitleProc = 160,
- kControlGroupBoxCheckBoxProc = 161,
- kControlGroupBoxPopupButtonProc = 162,
- kControlGroupBoxSecondaryTextTitleProc = 164,
- kControlGroupBoxSecondaryCheckBoxProc = 165,
- kControlGroupBoxSecondaryPopupButtonProc = 166
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindGroupBox = FOUR_CHAR_CODE('grpb'),
- kControlKindCheckGroupBox = FOUR_CHAR_CODE('cgrp'),
- kControlKindPopupGroupBox = FOUR_CHAR_CODE('pgrp')
- };
-
- /* Creation APIs: Carbon only */
- /*
- * CreateGroupBoxControl()
- *
- * Summary:
- * Creates a group box control.
- *
- * Parameters:
- *
- * window:
- * The window that should contain the control.
- *
- * boundsRect:
- * The bounding box of the control.
- *
- * title:
- * The title of the control.
- *
- * primary:
- * Whether to create a primary or secondary group box.
- *
- * outControl:
- * On exit, contains the new control.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateGroupBoxControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- Boolean primary,
- ControlRef * outControl);
-
-
- /*
- * CreateCheckGroupBoxControl()
- *
- * Summary:
- * Creates a group box control that has a check box as its title.
- *
- * Parameters:
- *
- * window:
- * The window that should contain the control.
- *
- * boundsRect:
- * The bounding box of the control.
- *
- * title:
- * The title of the control (used as the title of the check box).
- *
- * initialValue:
- * The initial value of the check box.
- *
- * primary:
- * Whether to create a primary or secondary group box.
- *
- * autoToggle:
- * Whether to create an auto-toggling check box. Auto-toggling
- * check box titles are only supported on Mac OS X; this parameter
- * must be false when used with CarbonLib.
- *
- * outControl:
- * On exit, contains the new control.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateCheckGroupBoxControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- SInt32 initialValue,
- Boolean primary,
- Boolean autoToggle,
- ControlRef * outControl);
-
-
- /*
- * CreatePopupGroupBoxControl()
- *
- * Summary:
- * Creates a group box control that has a popup button as its title.
- *
- * Parameters:
- *
- * window:
- * The window that should contain the control.
- *
- * boundsRect:
- * The bounding box of the control.
- *
- * title:
- * The title of the control (used as the title of the popup
- * button).
- *
- * primary:
- * Whether to create a primary or secondary group box.
- *
- * menuID:
- * The menu ID of the menu to be displayed by the popup button.
- *
- * variableWidth:
- * Whether the popup button should have a variable-width title.
- * Fixed-width titles are only supported by Mac OS X; this
- * parameter must be true when used with CarbonLib.
- *
- * titleWidth:
- * The width in pixels of the popup button title.
- *
- * titleJustification:
- * The justification of the popup button title. Use one of the
- * TextEdit justification constants here (teFlushDefault,
- * teCenter, teFlushRight, or teFlushLeft).
- *
- * titleStyle:
- * The QuickDraw text style of the popup button title.
- *
- * outControl:
- * On exit, contains the new control.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreatePopupGroupBoxControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- Boolean primary,
- SInt16 menuID,
- Boolean variableWidth,
- SInt16 titleWidth,
- SInt16 titleJustification,
- Style titleStyle,
- ControlRef * outControl);
-
-
-
- /* Tagged data supported by group box */
- enum
- {
- kControlGroupBoxMenuHandleTag = FOUR_CHAR_CODE('mhan'), /* MenuRef (popup title only)*/
- kControlGroupBoxMenuRefTag = FOUR_CHAR_CODE('mhan'), /* MenuRef (popup title only)*/
- kControlGroupBoxFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/
- };
-
- /* tags available with Appearance 1.1 or later */
- enum
- {
- kControlGroupBoxTitleRectTag = FOUR_CHAR_CODE('trec') /* Rect. Rectangle that the title text/control is drawn in. (get only)*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o IMAGE WELL (CDEF 11) */
- /*--------------------------------------------------------------------------------------*/
- /* Image Wells allow you to control the content type (pict/icon/etc.) shown in the */
- /* well. */
- /* */
- /* This is made possible by overloading the Min and Value parameters for the control. */
- /* */
- /* Parameter What Goes Here */
- /* ------------------- -------------------------------------------------- */
- /* Min content type (see constants for bevel buttons) */
- /* Value Resource ID of content type, if resource-based. */
- /* */
- /* */
- /* Handle-based Content */
- /* -------------------- */
- /* You can create your control and then set the content to an existing handle to an */
- /* icon suite, etc. using the macros below. Please keep in mind that resource-based */
- /* content is owned by the control, handle-based content is owned by you. The CDEF will*/
- /* not try to dispose of handle-based content. If you are changing the content type of */
- /* the button on the fly, you must make sure that if you are replacing a handle- */
- /* based content with a resource-based content to properly dispose of the handle, */
- /* else a memory leak will ensue. */
- /* */
- /* Image Well proc IDs */
- enum
- {
- kControlImageWellProc = 176
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindImageWell = FOUR_CHAR_CODE('well')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateImageWellControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateImageWellControl(
- WindowRef window,
- const Rect * boundsRect,
- const ControlButtonContentInfo * info,
- ControlRef * outControl);
-
-
- /* Tagged data supported by image wells */
- enum
- {
- kControlImageWellContentTag = FOUR_CHAR_CODE('cont'), /* ButtonContentInfo*/
- kControlImageWellTransformTag = FOUR_CHAR_CODE('tran'), /* IconTransformType*/
- kControlImageWellIsDragDestinationTag = FOUR_CHAR_CODE('drag') /* Boolean*/
- };
-
- /* Helper routines are available only thru the shared library/glue. */
- /*
- * GetImageWellContentInfo()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetImageWellContentInfo(
- ControlRef inButton,
- ControlButtonContentInfoPtr outContent);
-
-
- /*
- * SetImageWellContentInfo()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetImageWellContentInfo(
- ControlRef inButton,
- ControlButtonContentInfoPtr inContent);
-
-
- /*
- * SetImageWellTransform()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetImageWellTransform(
- ControlRef inButton,
- IconTransformType inTransform);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o POPUP ARROW (CDEF 12) */
- /*--------------------------------------------------------------------------------------*/
- /* The popup arrow CDEF is used to draw the small arrow normally associated with a */
- /* popup control. The arrow can point in four directions, and a small or large version */
- /* can be used. This control is provided to allow clients to draw the arrow in a */
- /* normalized fashion which will take advantage of themes automatically. */
- /* */
- /* Popup Arrow proc IDs */
- enum
- {
- kControlPopupArrowEastProc = 192,
- kControlPopupArrowWestProc = 193,
- kControlPopupArrowNorthProc = 194,
- kControlPopupArrowSouthProc = 195,
- kControlPopupArrowSmallEastProc = 196,
- kControlPopupArrowSmallWestProc = 197,
- kControlPopupArrowSmallNorthProc = 198,
- kControlPopupArrowSmallSouthProc = 199
- };
-
- /* Popup Arrow Orientations */
- enum
- {
- kControlPopupArrowOrientationEast = 0,
- kControlPopupArrowOrientationWest = 1,
- kControlPopupArrowOrientationNorth = 2,
- kControlPopupArrowOrientationSouth = 3
- };
-
-
- typedef UInt16 ControlPopupArrowOrientation;
- /* Popup Arrow Size */
- enum
- {
- kControlPopupArrowSizeNormal = 0,
- kControlPopupArrowSizeSmall = 1
- };
-
- typedef UInt16 ControlPopupArrowSize;
- /* Control Kind Tag */
- enum
- {
- kControlKindPopupArrow = FOUR_CHAR_CODE('parr')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreatePopupArrowControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreatePopupArrowControl(
- WindowRef window,
- const Rect * boundsRect,
- ControlPopupArrowOrientation orientation,
- ControlPopupArrowSize size,
- ControlRef * outControl);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o PLACARD (CDEF 14) */
- /*--------------------------------------------------------------------------------------*/
- /* Placard proc IDs */
- enum
- {
- kControlPlacardProc = 224
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindPlacard = FOUR_CHAR_CODE('plac')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreatePlacardControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreatePlacardControl(
- WindowRef window,
- const Rect * boundsRect,
- ControlRef * outControl);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o CLOCK (CDEF 15) */
- /*--------------------------------------------------------------------------------------*/
- /* NOTE: You can specify more options in the Value paramter when creating the clock. */
- /* See below. */
- /* */
- /* NOTE: Under Appearance 1.1, the clock control knows and returns more part codes. */
- /* The new clock-specific part codes are defined with the other control parts. */
- /* Besides these clock-specific parts, we also return kControlUpButtonPart */
- /* and kControlDownButtonPart when they hit the up and down arrows. */
- /* The new part codes give you more flexibility for focusing and hit testing. */
- /* */
- /* The original kControlClockPart is still valid. When hit testing, it means */
- /* that some non-editable area of the clock's whitespace has been clicked. */
- /* When focusing a currently unfocused clock, it changes the focus to the */
- /* first part; it is the same as passing kControlFocusNextPart. When */
- /* re-focusing a focused clock, it will not change the focus at all. */
- /* Clock proc IDs */
- enum
- {
- kControlClockTimeProc = 240,
- kControlClockTimeSecondsProc = 241,
- kControlClockDateProc = 242,
- kControlClockMonthYearProc = 243
- };
-
- /* Clock Types */
- typedef UInt16 ControlClockType;
- enum
- {
- kControlClockTypeHourMinute = 0,
- kControlClockTypeHourMinuteSecond = 1,
- kControlClockTypeMonthDayYear = 2,
- kControlClockTypeMonthYear = 3
- };
-
- /* Clock Flags */
- /* These flags can be passed into 'value' field on creation of the control. */
- /* Value is set to 0 after control is created. */
- typedef UInt32 ControlClockFlags;
- enum
- {
- kControlClockFlagStandard = 0, /* editable, non-live*/
- kControlClockNoFlags = 0,
- kControlClockFlagDisplayOnly = 1, /* add this to become non-editable*/
- kControlClockIsDisplayOnly = 1,
- kControlClockFlagLive = 2, /* automatically shows current time on idle. only valid with display only.*/
- kControlClockIsLive = 2
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindClock = FOUR_CHAR_CODE('clck')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateClockControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateClockControl(
- WindowRef window,
- const Rect * boundsRect,
- ControlClockType clockType,
- ControlClockFlags clockFlags,
- ControlRef * outControl);
-
-
- /* Tagged data supported by clocks */
- enum
- {
- kControlClockLongDateTag = FOUR_CHAR_CODE('date'), /* LongDateRec*/
- kControlClockFontStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/
- kControlClockAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o USER PANE (CDEF 16) */
- /*--------------------------------------------------------------------------------------*/
- /* User panes have two primary purposes: to allow easy implementation of a custom */
- /* control by the developer, and to provide a generic container for embedding other */
- /* controls. */
- /* */
- /* In Carbon, with the advent of Carbon-event-based controls, you may find it easier */
- /* to simply write a new control from scratch than to customize a user pane control. */
- /* The set of callbacks provided by the user pane will not be extended to support */
- /* new Control Manager features; instead, you should just write a real control. */
- /* */
- /* User panes do not, by default, support embedding. If you try to embed a control */
- /* into a user pane, you will get back errControlIsNotEmbedder. You can make a user */
- /* pane support embedding by passing the kControlSupportsEmbedding flag in the 'value' */
- /* parameter when you create the control. */
- /* */
- /* User panes support the following overloaded control initialization options: */
- /* */
- /* Parameter What Goes Here */
- /* ------------------- -------------------------------------------------- */
- /* Value Control feature flags */
-
- /* User Pane proc IDs */
- enum
- {
- kControlUserPaneProc = 256
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindUserPane = FOUR_CHAR_CODE('upan')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateUserPaneControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateUserPaneControl(
- WindowRef window,
- const Rect * boundsRect,
- UInt32 features,
- ControlRef * outControl);
-
-
- /* Tagged data supported by user panes */
- /* Currently, they are all proc ptrs for doing things like drawing and hit testing, etc. */
- enum
- {
- kControlUserItemDrawProcTag = FOUR_CHAR_CODE('uidp'), /* UserItemUPP*/
- kControlUserPaneDrawProcTag = FOUR_CHAR_CODE('draw'), /* ControlUserPaneDrawingUPP*/
- kControlUserPaneHitTestProcTag = FOUR_CHAR_CODE('hitt'), /* ControlUserPaneHitTestUPP*/
- kControlUserPaneTrackingProcTag = FOUR_CHAR_CODE('trak'), /* ControlUserPaneTrackingUPP*/
- kControlUserPaneIdleProcTag = FOUR_CHAR_CODE('idle'), /* ControlUserPaneIdleUPP*/
- kControlUserPaneKeyDownProcTag = FOUR_CHAR_CODE('keyd'), /* ControlUserPaneKeyDownUPP*/
- kControlUserPaneActivateProcTag = FOUR_CHAR_CODE('acti'), /* ControlUserPaneActivateUPP*/
- kControlUserPaneFocusProcTag = FOUR_CHAR_CODE('foci'), /* ControlUserPaneFocusUPP*/
- kControlUserPaneBackgroundProcTag = FOUR_CHAR_CODE('back') /* ControlUserPaneBackgroundUPP*/
- };
-
- typedef CALLBACK_API(void , ControlUserPaneDrawProcPtr)(ControlRef control, SInt16 part);
- typedef CALLBACK_API(ControlPartCode , ControlUserPaneHitTestProcPtr)(ControlRef control, Point where);
- typedef CALLBACK_API(ControlPartCode , ControlUserPaneTrackingProcPtr)(ControlRef control, Point startPt, ControlActionUPP actionProc);
- typedef CALLBACK_API(void , ControlUserPaneIdleProcPtr)(ControlRef control);
- typedef CALLBACK_API(ControlPartCode , ControlUserPaneKeyDownProcPtr)(ControlRef control, SInt16 keyCode, SInt16 charCode, SInt16 modifiers);
- typedef CALLBACK_API(void , ControlUserPaneActivateProcPtr)(ControlRef control, Boolean activating);
- typedef CALLBACK_API(ControlPartCode , ControlUserPaneFocusProcPtr)(ControlRef control, ControlFocusPart action);
- typedef CALLBACK_API(void , ControlUserPaneBackgroundProcPtr)(ControlRef control, ControlBackgroundPtr info);
- typedef STACK_UPP_TYPE(ControlUserPaneDrawProcPtr) ControlUserPaneDrawUPP;
- typedef STACK_UPP_TYPE(ControlUserPaneHitTestProcPtr) ControlUserPaneHitTestUPP;
- typedef STACK_UPP_TYPE(ControlUserPaneTrackingProcPtr) ControlUserPaneTrackingUPP;
- typedef STACK_UPP_TYPE(ControlUserPaneIdleProcPtr) ControlUserPaneIdleUPP;
- typedef STACK_UPP_TYPE(ControlUserPaneKeyDownProcPtr) ControlUserPaneKeyDownUPP;
- typedef STACK_UPP_TYPE(ControlUserPaneActivateProcPtr) ControlUserPaneActivateUPP;
- typedef STACK_UPP_TYPE(ControlUserPaneFocusProcPtr) ControlUserPaneFocusUPP;
- typedef STACK_UPP_TYPE(ControlUserPaneBackgroundProcPtr) ControlUserPaneBackgroundUPP;
- /*
- * NewControlUserPaneDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlUserPaneDrawUPP)
- NewControlUserPaneDrawUPP(ControlUserPaneDrawProcPtr userRoutine);
+/*
+ * GetBevelButtonContentInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetBevelButtonContentInfo(
+ ControlRef inButton,
+ ControlButtonContentInfoPtr outContent);
+
+
+/*
+ * SetBevelButtonContentInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetBevelButtonContentInfo(
+ ControlRef inButton,
+ ControlButtonContentInfoPtr inContent);
+
+
+/*
+ * SetBevelButtonTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetBevelButtonTransform(
+ ControlRef inButton,
+ IconTransformType transform);
+
+
+/*
+ * SetBevelButtonGraphicAlignment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetBevelButtonGraphicAlignment(
+ ControlRef inButton,
+ ControlButtonGraphicAlignment inAlign,
+ SInt16 inHOffset,
+ SInt16 inVOffset);
+
+
+/*
+ * SetBevelButtonTextAlignment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetBevelButtonTextAlignment(
+ ControlRef inButton,
+ ControlButtonTextAlignment inAlign,
+ SInt16 inHOffset);
+
+
+/*
+ * SetBevelButtonTextPlacement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetBevelButtonTextPlacement(
+ ControlRef inButton,
+ ControlButtonTextPlacement inWhere);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o SLIDER (CDEF 3) */
+/*--------------------------------------------------------------------------------------*/
+/* There are several variants that control the behavior of the slider control. Any */
+/* combination of the following three constants can be added to the basic CDEF ID */
+/* (kSliderProc). */
+/* */
+/* Variants: */
+/* */
+/* kSliderLiveFeedback Slider does not use "ghosted" indicator when tracking. */
+/* ActionProc is called (set via SetControlAction) as the */
+/* indicator is dragged. The value is updated so that the */
+/* actionproc can adjust some other property based on the */
+/* value each time the action proc is called. If no action */
+/* proc is installed, it reverts to the ghost indicator. */
+/* */
+/* kSliderHasTickMarks Slider is drawn with 'tick marks'. The control */
+/* rectangle must be large enough to accomidate the tick */
+/* marks. */
+/* */
+/* kSliderReverseDirection Slider thumb points in opposite direction than normal. */
+/* If the slider is vertical, the thumb will point to the */
+/* left, if the slider is horizontal, the thumb will point */
+/* upwards. */
+/* */
+/* kSliderNonDirectional This option overrides the kSliderReverseDirection and */
+/* kSliderHasTickMarks variants. It creates an indicator */
+/* which is rectangular and doesn't point in any direction */
+/* like the normal indicator does. */
+/* Slider proc ID and variants */
+enum {
+ kControlSliderProc = 48,
+ kControlSliderLiveFeedback = (1 << 0),
+ kControlSliderHasTickMarks = (1 << 1),
+ kControlSliderReverseDirection = (1 << 2),
+ kControlSliderNonDirectional = (1 << 3)
+};
+
+/* Slider Orientation */
+typedef UInt16 ControlSliderOrientation;
+enum {
+ kControlSliderPointsDownOrRight = 0,
+ kControlSliderPointsUpOrLeft = 1,
+ kControlSliderDoesNotPoint = 2
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindSlider = FOUR_CHAR_CODE('sldr')
+};
+
+/* Creation API: Carbon Only */
+/*
+ * CreateSliderControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateSliderControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ SInt32 value,
+ SInt32 minimum,
+ SInt32 maximum,
+ ControlSliderOrientation orientation,
+ UInt16 numTickMarks,
+ Boolean liveTracking,
+ ControlActionUPP liveTrackingProc,
+ ControlRef * outControl);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o DISCLOSURE TRIANGLE (CDEF 4) */
+/*--------------------------------------------------------------------------------------*/
+/* This control can be used as either left or right facing. It can also handle its own */
+/* tracking if you wish. This means that when the 'autotoggle' variant is used, if the */
+/* user clicks the control, it's state will change automatically from open to closed */
+/* and vice-versa depending on its initial state. After a successful call to Track- */
+/* Control, you can just check the current value to see what state it was switched to. */
+/* Triangle proc IDs */
+enum {
+ kControlTriangleProc = 64,
+ kControlTriangleLeftFacingProc = 65,
+ kControlTriangleAutoToggleProc = 66,
+ kControlTriangleLeftFacingAutoToggleProc = 67
+};
+
+typedef UInt16 ControlDisclosureTriangleOrientation;
+enum {
+ kControlDisclosureTrianglePointDefault = 0, /* points right on a left-to-right script system (Mac OS X and later or CarbonLib 1.5 and later only)*/
+ kControlDisclosureTrianglePointRight = 1,
+ kControlDisclosureTrianglePointLeft = 2
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindDisclosureTriangle = FOUR_CHAR_CODE('dist')
+};
+
+/*
+ * CreateDisclosureTriangleControl()
+ *
+ * Summary:
+ * Creates a Disclosure Triangle control at a specific position in
+ * the specified window.
+ *
+ * Discussion:
+ * Disclosure Triangles are small controls that give the user a way
+ * to toggle the visibility of information or other user interface.
+ * When information is in a hidden state, a Disclosure Triangle is
+ * considered "closed" and should point to the right (or sometimes
+ * to the left). When the user clicks on it, the Disclosure Triangle
+ * rotates downwards into the "open" state. The application should
+ * repond by revealing the appropriate information or interface. On
+ * Mac OS X, a root control will be created for the window if one
+ * does not already exist. If a root control exists for the window,
+ * the Disclosure Triangle control will be embedded into it.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The WindowRef into which the Disclosure Triangle will be
+ * created.
+ *
+ * inBoundsRect:
+ * The desired position (in coordinates local to the window's
+ * port) for the Disclosure Triangle.
+ *
+ * inOrientation:
+ * The direction the Disclosure Triangle should point when it is
+ * "closed". Passing kControlDisclosureTrianglePointDefault is
+ * only legal as of Mac OS X and CarbonLib 1.5.
+ *
+ * inTitle:
+ * The title for the Disclosure Triangle. The title will only be
+ * displayed if the inDrawTitle parameter is true. Title display
+ * only works on Mac OS X.
+ *
+ * inInitialValue:
+ * The starting value determines whether the Disclosure Triangle
+ * is initially in its "open" or "closed" state. The value 0
+ * represents the "closed" state and 1 represents the "open" state.
+ *
+ * inDrawTitle:
+ * A Boolean indicating whether the Disclosure Triangle should
+ * draw its title next to the widget. Title display only works on
+ * Mac OS X.
+ *
+ * inAutoToggles:
+ * A Boolean indicating whether the Disclosure Triangle should
+ * change its own value (from "open" to "closed" and vice-versa)
+ * automatically when it is clicked on.
+ *
+ * outControl:
+ * On successful output, outControl will contain a reference to
+ * the Disclosure Triangle control.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateDisclosureTriangleControl(
+ WindowRef inWindow,
+ const Rect * inBoundsRect,
+ ControlDisclosureTriangleOrientation inOrientation,
+ CFStringRef inTitle,
+ SInt32 inInitialValue,
+ Boolean inDrawTitle,
+ Boolean inAutoToggles,
+ ControlRef * outControl);
+
+
+
+/* Tagged data supported by disclosure triangles */
+enum {
+ kControlTriangleLastValueTag = FOUR_CHAR_CODE('last') /* SInt16*/
+};
+
+/* Helper routines are available only thru the shared library/glue. */
+/*
+ * SetDisclosureTriangleLastValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDisclosureTriangleLastValue(
+ ControlRef inTabControl,
+ SInt16 inValue);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o PROGRESS INDICATOR (CDEF 5) */
+/*--------------------------------------------------------------------------------------*/
+/* This CDEF implements both determinate and indeterminate progress bars. To switch, */
+/* just use SetControlData to set the indeterminate flag to make it indeterminate call */
+/* IdleControls to step thru the animation. IdleControls should be called at least */
+/* once during your event loop. */
+/* */
+/* We also use this same CDEF for Relevance bars. At this time this control does not */
+/* idle. */
+/* Progress Bar proc IDs */
+enum {
+ kControlProgressBarProc = 80,
+ kControlRelevanceBarProc = 81
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindProgressBar = FOUR_CHAR_CODE('prgb'),
+ kControlKindRelevanceBar = FOUR_CHAR_CODE('relb')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateProgressBarControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateProgressBarControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ SInt32 value,
+ SInt32 minimum,
+ SInt32 maximum,
+ Boolean indeterminate,
+ ControlRef * outControl);
+
+
+/*
+ * CreateRelevanceBarControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateRelevanceBarControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ SInt32 value,
+ SInt32 minimum,
+ SInt32 maximum,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by progress bars */
+enum {
+ kControlProgressBarIndeterminateTag = FOUR_CHAR_CODE('inde'), /* Boolean*/
+ kControlProgressBarAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o LITTLE ARROWS (CDEF 6) */
+/*--------------------------------------------------------------------------------------*/
+/* This control implements the little up and down arrows you'd see in the Memory */
+/* control panel for adjusting the cache size. */
+/* Little Arrows proc IDs */
+enum {
+ kControlLittleArrowsProc = 96
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindLittleArrows = FOUR_CHAR_CODE('larr')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateLittleArrowsControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateLittleArrowsControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ SInt32 value,
+ SInt32 minimum,
+ SInt32 maximum,
+ SInt32 increment,
+ ControlRef * outControl);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o CHASING ARROWS (CDEF 7) */
+/*--------------------------------------------------------------------------------------*/
+/* To animate this control, make sure to call IdleControls repeatedly. */
+/* */
+/* Chasing Arrows proc IDs */
+enum {
+ kControlChasingArrowsProc = 112
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindChasingArrows = FOUR_CHAR_CODE('carr')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateChasingArrowsControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateChasingArrowsControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by the Chasing Arrows control */
+enum {
+ kControlChasingArrowsAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o TABS (CDEF 8) */
+/*--------------------------------------------------------------------------------------*/
+/* Tabs use an auxiliary resource (tab#) to hold tab information such as the tab name */
+/* and an icon suite ID for each tab. */
+/* */
+/* The ID of the tab# resource that you wish to associate with a tab control should */
+/* be passed in as the Value parameter of the control. If you are using GetNewControl, */
+/* then the Value slot in the CNTL resource should have the ID of the 'tab#' resource */
+/* on creation. */
+/* */
+/* Passing zero in for the tab# resource tells the control not to read in a tab# res. */
+/* You can then use SetControlMaximum to add tabs, followed by a call to SetControlData*/
+/* with the kControlTabInfoTag, passing in a pointer to a ControlTabInfoRec. This sets */
+/* the name and optionally an icon for a tab. */
+/* Tabs proc IDs */
+enum {
+ kControlTabLargeProc = 128, /* Large tab size, north facing */
+ kControlTabSmallProc = 129, /* Small tab size, north facing */
+ kControlTabLargeNorthProc = 128, /* Large tab size, north facing */
+ kControlTabSmallNorthProc = 129, /* Small tab size, north facing */
+ kControlTabLargeSouthProc = 130, /* Large tab size, south facing */
+ kControlTabSmallSouthProc = 131, /* Small tab size, south facing */
+ kControlTabLargeEastProc = 132, /* Large tab size, east facing */
+ kControlTabSmallEastProc = 133, /* Small tab size, east facing */
+ kControlTabLargeWestProc = 134, /* Large tab size, west facing */
+ kControlTabSmallWestProc = 135 /* Small tab size, west facing */
+};
+
+/* Tab Directions */
+typedef UInt16 ControlTabDirection;
+enum {
+ kControlTabDirectionNorth = 0,
+ kControlTabDirectionSouth = 1,
+ kControlTabDirectionEast = 2,
+ kControlTabDirectionWest = 3
+};
+
+/* Tab Sizes */
+typedef UInt16 ControlTabSize;
+enum {
+ kControlTabSizeLarge = kControlSizeNormal,
+ kControlTabSizeSmall = kControlSizeSmall
+};
+
+/* Control Tab Entry - used during creation */
+/* Note that the client is responsible for allocating/providing */
+/* the ControlButtonContentInfo and string storage for this */
+/* structure. */
+struct ControlTabEntry {
+ ControlButtonContentInfo * icon;
+ CFStringRef name;
+ Boolean enabled;
+};
+typedef struct ControlTabEntry ControlTabEntry;
+/* Control Kind Tag */
+enum {
+ kControlKindTabs = FOUR_CHAR_CODE('tabs')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateTabsControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateTabsControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ ControlTabSize size,
+ ControlTabDirection direction,
+ UInt16 numTabs,
+ const ControlTabEntry * tabArray,
+ ControlRef * outControl);
+
+
+
+/* Tagged data supported by tabs */
+enum {
+ kControlTabContentRectTag = FOUR_CHAR_CODE('rect'), /* Rect*/
+ kControlTabEnabledFlagTag = FOUR_CHAR_CODE('enab'), /* Boolean*/
+ kControlTabFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/
+};
+
+/* New tags in 1.0.1 or later */
+enum {
+ kControlTabInfoTag = FOUR_CHAR_CODE('tabi') /* ControlTabInfoRec*/
+};
+
+/* New tags in X 10.1 or later */
+enum {
+ kControlTabImageContentTag = FOUR_CHAR_CODE('cont') /* ControlButtonContentInfo*/
+};
+
+enum {
+ kControlTabInfoVersionZero = 0, /* ControlTabInfoRec*/
+ kControlTabInfoVersionOne = 1 /* ControlTabInfoRecV1*/
+};
+
+struct ControlTabInfoRec {
+ SInt16 version; /* version of this structure.*/
+ SInt16 iconSuiteID; /* icon suite to use. Zero indicates no icon*/
+ Str255 name; /* name to be displayed on the tab*/
+};
+typedef struct ControlTabInfoRec ControlTabInfoRec;
+struct ControlTabInfoRecV1 {
+ SInt16 version; /* version of this structure. == kControlTabInfoVersionOne*/
+ SInt16 iconSuiteID; /* icon suite to use. Zero indicates no icon*/
+ CFStringRef name; /* name to be displayed on the tab. Will be retained so caller*/
+ /* should always release it.*/
+};
+typedef struct ControlTabInfoRecV1 ControlTabInfoRecV1;
+/* Helper routines are available only thru the shared library/glue. */
+/*
+ * GetTabContentRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetTabContentRect(
+ ControlRef inTabControl,
+ Rect * outContentRect);
+
+
+/*
+ * SetTabEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetTabEnabled(
+ ControlRef inTabControl,
+ SInt16 inTabToHilite,
+ Boolean inEnabled);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o VISUAL SEPARATOR (CDEF 9) */
+/*--------------------------------------------------------------------------------------*/
+/* Separator lines determine their orientation (horizontal or vertical) automatically */
+/* based on the relative height and width of their contrlRect. */
+/* Visual separator proc IDs */
+enum {
+ kControlSeparatorLineProc = 144
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindSeparator = FOUR_CHAR_CODE('sepa')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateSeparatorControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateSeparatorControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ ControlRef * outControl);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o GROUP BOX (CDEF 10) */
+/*--------------------------------------------------------------------------------------*/
+/* The group box CDEF can be use in several ways. It can have no title, a text title, */
+/* a check box as the title, or a popup button as a title. There are two versions of */
+/* group boxes, primary and secondary, which look slightly different. */
+/* Group Box proc IDs */
+enum {
+ kControlGroupBoxTextTitleProc = 160,
+ kControlGroupBoxCheckBoxProc = 161,
+ kControlGroupBoxPopupButtonProc = 162,
+ kControlGroupBoxSecondaryTextTitleProc = 164,
+ kControlGroupBoxSecondaryCheckBoxProc = 165,
+ kControlGroupBoxSecondaryPopupButtonProc = 166
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindGroupBox = FOUR_CHAR_CODE('grpb'),
+ kControlKindCheckGroupBox = FOUR_CHAR_CODE('cgrp'),
+ kControlKindPopupGroupBox = FOUR_CHAR_CODE('pgrp')
+};
+
+/* Creation APIs: Carbon only */
+/*
+ * CreateGroupBoxControl()
+ *
+ * Summary:
+ * Creates a group box control.
+ *
+ * Parameters:
+ *
+ * window:
+ * The window that should contain the control.
+ *
+ * boundsRect:
+ * The bounding box of the control.
+ *
+ * title:
+ * The title of the control.
+ *
+ * primary:
+ * Whether to create a primary or secondary group box.
+ *
+ * outControl:
+ * On exit, contains the new control.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateGroupBoxControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ Boolean primary,
+ ControlRef * outControl);
+
+
+/*
+ * CreateCheckGroupBoxControl()
+ *
+ * Summary:
+ * Creates a group box control that has a check box as its title.
+ *
+ * Parameters:
+ *
+ * window:
+ * The window that should contain the control.
+ *
+ * boundsRect:
+ * The bounding box of the control.
+ *
+ * title:
+ * The title of the control (used as the title of the check box).
+ *
+ * initialValue:
+ * The initial value of the check box.
+ *
+ * primary:
+ * Whether to create a primary or secondary group box.
+ *
+ * autoToggle:
+ * Whether to create an auto-toggling check box. Auto-toggling
+ * check box titles are only supported on Mac OS X; this parameter
+ * must be false when used with CarbonLib.
+ *
+ * outControl:
+ * On exit, contains the new control.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateCheckGroupBoxControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ SInt32 initialValue,
+ Boolean primary,
+ Boolean autoToggle,
+ ControlRef * outControl);
+
+
+/*
+ * CreatePopupGroupBoxControl()
+ *
+ * Summary:
+ * Creates a group box control that has a popup button as its title.
+ *
+ * Parameters:
+ *
+ * window:
+ * The window that should contain the control.
+ *
+ * boundsRect:
+ * The bounding box of the control.
+ *
+ * title:
+ * The title of the control (used as the title of the popup
+ * button).
+ *
+ * primary:
+ * Whether to create a primary or secondary group box.
+ *
+ * menuID:
+ * The menu ID of the menu to be displayed by the popup button.
+ *
+ * variableWidth:
+ * Whether the popup button should have a variable-width title.
+ * Fixed-width titles are only supported by Mac OS X; this
+ * parameter must be true when used with CarbonLib.
+ *
+ * titleWidth:
+ * The width in pixels of the popup button title.
+ *
+ * titleJustification:
+ * The justification of the popup button title. Use one of the
+ * TextEdit justification constants here (teFlushDefault,
+ * teCenter, teFlushRight, or teFlushLeft).
+ *
+ * titleStyle:
+ * The QuickDraw text style of the popup button title.
+ *
+ * outControl:
+ * On exit, contains the new control.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreatePopupGroupBoxControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ Boolean primary,
+ SInt16 menuID,
+ Boolean variableWidth,
+ SInt16 titleWidth,
+ SInt16 titleJustification,
+ Style titleStyle,
+ ControlRef * outControl);
+
+
+
+/* Tagged data supported by group box */
+enum {
+ kControlGroupBoxMenuHandleTag = FOUR_CHAR_CODE('mhan'), /* MenuRef (popup title only)*/
+ kControlGroupBoxMenuRefTag = FOUR_CHAR_CODE('mhan'), /* MenuRef (popup title only)*/
+ kControlGroupBoxFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/
+};
+
+/* tags available with Appearance 1.1 or later */
+enum {
+ kControlGroupBoxTitleRectTag = FOUR_CHAR_CODE('trec') /* Rect. Rectangle that the title text/control is drawn in. (get only)*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o IMAGE WELL (CDEF 11) */
+/*--------------------------------------------------------------------------------------*/
+/* Image Wells allow you to control the content type (pict/icon/etc.) shown in the */
+/* well. */
+/* */
+/* This is made possible by overloading the Min and Value parameters for the control. */
+/* */
+/* Parameter What Goes Here */
+/* ------------------- -------------------------------------------------- */
+/* Min content type (see constants for bevel buttons) */
+/* Value Resource ID of content type, if resource-based. */
+/* */
+/* */
+/* Handle-based Content */
+/* -------------------- */
+/* You can create your control and then set the content to an existing handle to an */
+/* icon suite, etc. using the macros below. Please keep in mind that resource-based */
+/* content is owned by the control, handle-based content is owned by you. The CDEF will*/
+/* not try to dispose of handle-based content. If you are changing the content type of */
+/* the button on the fly, you must make sure that if you are replacing a handle- */
+/* based content with a resource-based content to properly dispose of the handle, */
+/* else a memory leak will ensue. */
+/* */
+/* Image Well proc IDs */
+enum {
+ kControlImageWellProc = 176
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindImageWell = FOUR_CHAR_CODE('well')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateImageWellControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateImageWellControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ const ControlButtonContentInfo * info,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by image wells */
+enum {
+ kControlImageWellContentTag = FOUR_CHAR_CODE('cont'), /* ButtonContentInfo*/
+ kControlImageWellTransformTag = FOUR_CHAR_CODE('tran'), /* IconTransformType*/
+ kControlImageWellIsDragDestinationTag = FOUR_CHAR_CODE('drag') /* Boolean*/
+};
+
+/* Helper routines are available only thru the shared library/glue. */
+/*
+ * GetImageWellContentInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetImageWellContentInfo(
+ ControlRef inButton,
+ ControlButtonContentInfoPtr outContent);
+
+
+/*
+ * SetImageWellContentInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetImageWellContentInfo(
+ ControlRef inButton,
+ ControlButtonContentInfoPtr inContent);
+
+
+/*
+ * SetImageWellTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetImageWellTransform(
+ ControlRef inButton,
+ IconTransformType inTransform);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o POPUP ARROW (CDEF 12) */
+/*--------------------------------------------------------------------------------------*/
+/* The popup arrow CDEF is used to draw the small arrow normally associated with a */
+/* popup control. The arrow can point in four directions, and a small or large version */
+/* can be used. This control is provided to allow clients to draw the arrow in a */
+/* normalized fashion which will take advantage of themes automatically. */
+/* */
+/* Popup Arrow proc IDs */
+enum {
+ kControlPopupArrowEastProc = 192,
+ kControlPopupArrowWestProc = 193,
+ kControlPopupArrowNorthProc = 194,
+ kControlPopupArrowSouthProc = 195,
+ kControlPopupArrowSmallEastProc = 196,
+ kControlPopupArrowSmallWestProc = 197,
+ kControlPopupArrowSmallNorthProc = 198,
+ kControlPopupArrowSmallSouthProc = 199
+};
+
+/* Popup Arrow Orientations */
+enum {
+ kControlPopupArrowOrientationEast = 0,
+ kControlPopupArrowOrientationWest = 1,
+ kControlPopupArrowOrientationNorth = 2,
+ kControlPopupArrowOrientationSouth = 3
+};
+
+
+typedef UInt16 ControlPopupArrowOrientation;
+/* Popup Arrow Size */
+enum {
+ kControlPopupArrowSizeNormal = 0,
+ kControlPopupArrowSizeSmall = 1
+};
+
+typedef UInt16 ControlPopupArrowSize;
+/* Control Kind Tag */
+enum {
+ kControlKindPopupArrow = FOUR_CHAR_CODE('parr')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreatePopupArrowControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreatePopupArrowControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ ControlPopupArrowOrientation orientation,
+ ControlPopupArrowSize size,
+ ControlRef * outControl);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o PLACARD (CDEF 14) */
+/*--------------------------------------------------------------------------------------*/
+/* Placard proc IDs */
+enum {
+ kControlPlacardProc = 224
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindPlacard = FOUR_CHAR_CODE('plac')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreatePlacardControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreatePlacardControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ ControlRef * outControl);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o CLOCK (CDEF 15) */
+/*--------------------------------------------------------------------------------------*/
+/* NOTE: You can specify more options in the Value paramter when creating the clock. */
+/* See below. */
+/* */
+/* NOTE: Under Appearance 1.1, the clock control knows and returns more part codes. */
+/* The new clock-specific part codes are defined with the other control parts. */
+/* Besides these clock-specific parts, we also return kControlUpButtonPart */
+/* and kControlDownButtonPart when they hit the up and down arrows. */
+/* The new part codes give you more flexibility for focusing and hit testing. */
+/* */
+/* The original kControlClockPart is still valid. When hit testing, it means */
+/* that some non-editable area of the clock's whitespace has been clicked. */
+/* When focusing a currently unfocused clock, it changes the focus to the */
+/* first part; it is the same as passing kControlFocusNextPart. When */
+/* re-focusing a focused clock, it will not change the focus at all. */
+/* Clock proc IDs */
+enum {
+ kControlClockTimeProc = 240,
+ kControlClockTimeSecondsProc = 241,
+ kControlClockDateProc = 242,
+ kControlClockMonthYearProc = 243
+};
+
+/* Clock Types */
+typedef UInt16 ControlClockType;
+enum {
+ kControlClockTypeHourMinute = 0,
+ kControlClockTypeHourMinuteSecond = 1,
+ kControlClockTypeMonthDayYear = 2,
+ kControlClockTypeMonthYear = 3
+};
+
+/* Clock Flags */
+/* These flags can be passed into 'value' field on creation of the control. */
+/* Value is set to 0 after control is created. */
+typedef UInt32 ControlClockFlags;
+enum {
+ kControlClockFlagStandard = 0, /* editable, non-live*/
+ kControlClockNoFlags = 0,
+ kControlClockFlagDisplayOnly = 1, /* add this to become non-editable*/
+ kControlClockIsDisplayOnly = 1,
+ kControlClockFlagLive = 2, /* automatically shows current time on idle. only valid with display only.*/
+ kControlClockIsLive = 2
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindClock = FOUR_CHAR_CODE('clck')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateClockControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateClockControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ ControlClockType clockType,
+ ControlClockFlags clockFlags,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by clocks */
+enum {
+ kControlClockLongDateTag = FOUR_CHAR_CODE('date'), /* LongDateRec*/
+ kControlClockFontStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/
+ kControlClockAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o USER PANE (CDEF 16) */
+/*--------------------------------------------------------------------------------------*/
+/* User panes have two primary purposes: to allow easy implementation of a custom */
+/* control by the developer, and to provide a generic container for embedding other */
+/* controls. */
+/* */
+/* In Carbon, with the advent of Carbon-event-based controls, you may find it easier */
+/* to simply write a new control from scratch than to customize a user pane control. */
+/* The set of callbacks provided by the user pane will not be extended to support */
+/* new Control Manager features; instead, you should just write a real control. */
+/* */
+/* User panes do not, by default, support embedding. If you try to embed a control */
+/* into a user pane, you will get back errControlIsNotEmbedder. You can make a user */
+/* pane support embedding by passing the kControlSupportsEmbedding flag in the 'value' */
+/* parameter when you create the control. */
+/* */
+/* User panes support the following overloaded control initialization options: */
+/* */
+/* Parameter What Goes Here */
+/* ------------------- -------------------------------------------------- */
+/* Value Control feature flags */
+
+/* User Pane proc IDs */
+enum {
+ kControlUserPaneProc = 256
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindUserPane = FOUR_CHAR_CODE('upan')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateUserPaneControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateUserPaneControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ UInt32 features,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by user panes */
+/* Currently, they are all proc ptrs for doing things like drawing and hit testing, etc. */
+enum {
+ kControlUserItemDrawProcTag = FOUR_CHAR_CODE('uidp'), /* UserItemUPP*/
+ kControlUserPaneDrawProcTag = FOUR_CHAR_CODE('draw'), /* ControlUserPaneDrawingUPP*/
+ kControlUserPaneHitTestProcTag = FOUR_CHAR_CODE('hitt'), /* ControlUserPaneHitTestUPP*/
+ kControlUserPaneTrackingProcTag = FOUR_CHAR_CODE('trak'), /* ControlUserPaneTrackingUPP*/
+ kControlUserPaneIdleProcTag = FOUR_CHAR_CODE('idle'), /* ControlUserPaneIdleUPP*/
+ kControlUserPaneKeyDownProcTag = FOUR_CHAR_CODE('keyd'), /* ControlUserPaneKeyDownUPP*/
+ kControlUserPaneActivateProcTag = FOUR_CHAR_CODE('acti'), /* ControlUserPaneActivateUPP*/
+ kControlUserPaneFocusProcTag = FOUR_CHAR_CODE('foci'), /* ControlUserPaneFocusUPP*/
+ kControlUserPaneBackgroundProcTag = FOUR_CHAR_CODE('back') /* ControlUserPaneBackgroundUPP*/
+};
+
+typedef CALLBACK_API( void , ControlUserPaneDrawProcPtr )(ControlRef control, SInt16 part);
+typedef CALLBACK_API( ControlPartCode , ControlUserPaneHitTestProcPtr )(ControlRef control, Point where);
+typedef CALLBACK_API( ControlPartCode , ControlUserPaneTrackingProcPtr )(ControlRef control, Point startPt, ControlActionUPP actionProc);
+typedef CALLBACK_API( void , ControlUserPaneIdleProcPtr )(ControlRef control);
+typedef CALLBACK_API( ControlPartCode , ControlUserPaneKeyDownProcPtr )(ControlRef control, SInt16 keyCode, SInt16 charCode, SInt16 modifiers);
+typedef CALLBACK_API( void , ControlUserPaneActivateProcPtr )(ControlRef control, Boolean activating);
+typedef CALLBACK_API( ControlPartCode , ControlUserPaneFocusProcPtr )(ControlRef control, ControlFocusPart action);
+typedef CALLBACK_API( void , ControlUserPaneBackgroundProcPtr )(ControlRef control, ControlBackgroundPtr info);
+typedef STACK_UPP_TYPE(ControlUserPaneDrawProcPtr) ControlUserPaneDrawUPP;
+typedef STACK_UPP_TYPE(ControlUserPaneHitTestProcPtr) ControlUserPaneHitTestUPP;
+typedef STACK_UPP_TYPE(ControlUserPaneTrackingProcPtr) ControlUserPaneTrackingUPP;
+typedef STACK_UPP_TYPE(ControlUserPaneIdleProcPtr) ControlUserPaneIdleUPP;
+typedef STACK_UPP_TYPE(ControlUserPaneKeyDownProcPtr) ControlUserPaneKeyDownUPP;
+typedef STACK_UPP_TYPE(ControlUserPaneActivateProcPtr) ControlUserPaneActivateUPP;
+typedef STACK_UPP_TYPE(ControlUserPaneFocusProcPtr) ControlUserPaneFocusUPP;
+typedef STACK_UPP_TYPE(ControlUserPaneBackgroundProcPtr) ControlUserPaneBackgroundUPP;
+/*
+ * NewControlUserPaneDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlUserPaneDrawUPP )
+NewControlUserPaneDrawUPP(ControlUserPaneDrawProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlUserPaneDrawProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlUserPaneDrawUPP) NewControlUserPaneDrawUPP(ControlUserPaneDrawProcPtr userRoutine)
- {
- return (ControlUserPaneDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneDrawProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlUserPaneDrawUPP(userRoutine) (ControlUserPaneDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneDrawProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlUserPaneDrawProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlUserPaneDrawUPP) NewControlUserPaneDrawUPP(ControlUserPaneDrawProcPtr userRoutine) { return (ControlUserPaneDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneDrawProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlUserPaneDrawUPP(userRoutine) (ControlUserPaneDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneDrawProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewControlUserPaneHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlUserPaneHitTestUPP)
- NewControlUserPaneHitTestUPP(ControlUserPaneHitTestProcPtr userRoutine);
+/*
+ * NewControlUserPaneHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlUserPaneHitTestUPP )
+NewControlUserPaneHitTestUPP(ControlUserPaneHitTestProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlUserPaneHitTestProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlUserPaneHitTestUPP) NewControlUserPaneHitTestUPP(ControlUserPaneHitTestProcPtr userRoutine)
- {
- return (ControlUserPaneHitTestUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneHitTestProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlUserPaneHitTestUPP(userRoutine) (ControlUserPaneHitTestUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneHitTestProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlUserPaneHitTestProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlUserPaneHitTestUPP) NewControlUserPaneHitTestUPP(ControlUserPaneHitTestProcPtr userRoutine) { return (ControlUserPaneHitTestUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneHitTestProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlUserPaneHitTestUPP(userRoutine) (ControlUserPaneHitTestUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneHitTestProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewControlUserPaneTrackingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlUserPaneTrackingUPP)
- NewControlUserPaneTrackingUPP(ControlUserPaneTrackingProcPtr userRoutine);
+/*
+ * NewControlUserPaneTrackingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlUserPaneTrackingUPP )
+NewControlUserPaneTrackingUPP(ControlUserPaneTrackingProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlUserPaneTrackingProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlUserPaneTrackingUPP) NewControlUserPaneTrackingUPP(ControlUserPaneTrackingProcPtr userRoutine)
- {
- return (ControlUserPaneTrackingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneTrackingProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlUserPaneTrackingUPP(userRoutine) (ControlUserPaneTrackingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneTrackingProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlUserPaneTrackingProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlUserPaneTrackingUPP) NewControlUserPaneTrackingUPP(ControlUserPaneTrackingProcPtr userRoutine) { return (ControlUserPaneTrackingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneTrackingProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlUserPaneTrackingUPP(userRoutine) (ControlUserPaneTrackingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneTrackingProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewControlUserPaneIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlUserPaneIdleUPP)
- NewControlUserPaneIdleUPP(ControlUserPaneIdleProcPtr userRoutine);
+/*
+ * NewControlUserPaneIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlUserPaneIdleUPP )
+NewControlUserPaneIdleUPP(ControlUserPaneIdleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlUserPaneIdleProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlUserPaneIdleUPP) NewControlUserPaneIdleUPP(ControlUserPaneIdleProcPtr userRoutine)
- {
- return (ControlUserPaneIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneIdleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlUserPaneIdleUPP(userRoutine) (ControlUserPaneIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneIdleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlUserPaneIdleProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlUserPaneIdleUPP) NewControlUserPaneIdleUPP(ControlUserPaneIdleProcPtr userRoutine) { return (ControlUserPaneIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneIdleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlUserPaneIdleUPP(userRoutine) (ControlUserPaneIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneIdleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewControlUserPaneKeyDownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlUserPaneKeyDownUPP)
- NewControlUserPaneKeyDownUPP(ControlUserPaneKeyDownProcPtr userRoutine);
+/*
+ * NewControlUserPaneKeyDownUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlUserPaneKeyDownUPP )
+NewControlUserPaneKeyDownUPP(ControlUserPaneKeyDownProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlUserPaneKeyDownProcInfo = 0x00002AE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 2_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlUserPaneKeyDownUPP) NewControlUserPaneKeyDownUPP(ControlUserPaneKeyDownProcPtr userRoutine)
- {
- return (ControlUserPaneKeyDownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneKeyDownProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlUserPaneKeyDownUPP(userRoutine) (ControlUserPaneKeyDownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneKeyDownProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlUserPaneKeyDownProcInfo = 0x00002AE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 2_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlUserPaneKeyDownUPP) NewControlUserPaneKeyDownUPP(ControlUserPaneKeyDownProcPtr userRoutine) { return (ControlUserPaneKeyDownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneKeyDownProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlUserPaneKeyDownUPP(userRoutine) (ControlUserPaneKeyDownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneKeyDownProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewControlUserPaneActivateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlUserPaneActivateUPP)
- NewControlUserPaneActivateUPP(ControlUserPaneActivateProcPtr userRoutine);
+/*
+ * NewControlUserPaneActivateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlUserPaneActivateUPP )
+NewControlUserPaneActivateUPP(ControlUserPaneActivateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlUserPaneActivateProcInfo = 0x000001C0 }; /* pascal no_return_value Func(4_bytes, 1_byte) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlUserPaneActivateUPP) NewControlUserPaneActivateUPP(ControlUserPaneActivateProcPtr userRoutine)
- {
- return (ControlUserPaneActivateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneActivateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlUserPaneActivateUPP(userRoutine) (ControlUserPaneActivateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneActivateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlUserPaneActivateProcInfo = 0x000001C0 }; /* pascal no_return_value Func(4_bytes, 1_byte) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlUserPaneActivateUPP) NewControlUserPaneActivateUPP(ControlUserPaneActivateProcPtr userRoutine) { return (ControlUserPaneActivateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneActivateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlUserPaneActivateUPP(userRoutine) (ControlUserPaneActivateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneActivateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewControlUserPaneFocusUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlUserPaneFocusUPP)
- NewControlUserPaneFocusUPP(ControlUserPaneFocusProcPtr userRoutine);
+/*
+ * NewControlUserPaneFocusUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlUserPaneFocusUPP )
+NewControlUserPaneFocusUPP(ControlUserPaneFocusProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlUserPaneFocusProcInfo = 0x000002E0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlUserPaneFocusUPP) NewControlUserPaneFocusUPP(ControlUserPaneFocusProcPtr userRoutine)
- {
- return (ControlUserPaneFocusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneFocusProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlUserPaneFocusUPP(userRoutine) (ControlUserPaneFocusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneFocusProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlUserPaneFocusProcInfo = 0x000002E0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlUserPaneFocusUPP) NewControlUserPaneFocusUPP(ControlUserPaneFocusProcPtr userRoutine) { return (ControlUserPaneFocusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneFocusProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlUserPaneFocusUPP(userRoutine) (ControlUserPaneFocusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneFocusProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewControlUserPaneBackgroundUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlUserPaneBackgroundUPP)
- NewControlUserPaneBackgroundUPP(ControlUserPaneBackgroundProcPtr userRoutine);
+/*
+ * NewControlUserPaneBackgroundUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlUserPaneBackgroundUPP )
+NewControlUserPaneBackgroundUPP(ControlUserPaneBackgroundProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlUserPaneBackgroundProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlUserPaneBackgroundUPP) NewControlUserPaneBackgroundUPP(ControlUserPaneBackgroundProcPtr userRoutine)
- {
- return (ControlUserPaneBackgroundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneBackgroundProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlUserPaneBackgroundUPP(userRoutine) (ControlUserPaneBackgroundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneBackgroundProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlUserPaneBackgroundProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlUserPaneBackgroundUPP) NewControlUserPaneBackgroundUPP(ControlUserPaneBackgroundProcPtr userRoutine) { return (ControlUserPaneBackgroundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneBackgroundProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlUserPaneBackgroundUPP(userRoutine) (ControlUserPaneBackgroundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneBackgroundProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeControlUserPaneDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlUserPaneDrawUPP(ControlUserPaneDrawUPP userUPP);
+/*
+ * DisposeControlUserPaneDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlUserPaneDrawUPP(ControlUserPaneDrawUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlUserPaneDrawUPP(ControlUserPaneDrawUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlUserPaneDrawUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlUserPaneDrawUPP(ControlUserPaneDrawUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlUserPaneDrawUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeControlUserPaneHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlUserPaneHitTestUPP(ControlUserPaneHitTestUPP userUPP);
+/*
+ * DisposeControlUserPaneHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlUserPaneHitTestUPP(ControlUserPaneHitTestUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlUserPaneHitTestUPP(ControlUserPaneHitTestUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlUserPaneHitTestUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlUserPaneHitTestUPP(ControlUserPaneHitTestUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlUserPaneHitTestUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeControlUserPaneTrackingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlUserPaneTrackingUPP(ControlUserPaneTrackingUPP userUPP);
+/*
+ * DisposeControlUserPaneTrackingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlUserPaneTrackingUPP(ControlUserPaneTrackingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlUserPaneTrackingUPP(ControlUserPaneTrackingUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlUserPaneTrackingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlUserPaneTrackingUPP(ControlUserPaneTrackingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlUserPaneTrackingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeControlUserPaneIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlUserPaneIdleUPP(ControlUserPaneIdleUPP userUPP);
+/*
+ * DisposeControlUserPaneIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlUserPaneIdleUPP(ControlUserPaneIdleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlUserPaneIdleUPP(ControlUserPaneIdleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlUserPaneIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlUserPaneIdleUPP(ControlUserPaneIdleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlUserPaneIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeControlUserPaneKeyDownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlUserPaneKeyDownUPP(ControlUserPaneKeyDownUPP userUPP);
+/*
+ * DisposeControlUserPaneKeyDownUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlUserPaneKeyDownUPP(ControlUserPaneKeyDownUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlUserPaneKeyDownUPP(ControlUserPaneKeyDownUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlUserPaneKeyDownUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlUserPaneKeyDownUPP(ControlUserPaneKeyDownUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlUserPaneKeyDownUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeControlUserPaneActivateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlUserPaneActivateUPP(ControlUserPaneActivateUPP userUPP);
+/*
+ * DisposeControlUserPaneActivateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlUserPaneActivateUPP(ControlUserPaneActivateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlUserPaneActivateUPP(ControlUserPaneActivateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlUserPaneActivateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlUserPaneActivateUPP(ControlUserPaneActivateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlUserPaneActivateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeControlUserPaneFocusUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlUserPaneFocusUPP(ControlUserPaneFocusUPP userUPP);
+/*
+ * DisposeControlUserPaneFocusUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlUserPaneFocusUPP(ControlUserPaneFocusUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlUserPaneFocusUPP(ControlUserPaneFocusUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlUserPaneFocusUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlUserPaneFocusUPP(ControlUserPaneFocusUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlUserPaneFocusUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeControlUserPaneBackgroundUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlUserPaneBackgroundUPP(ControlUserPaneBackgroundUPP userUPP);
+/*
+ * DisposeControlUserPaneBackgroundUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlUserPaneBackgroundUPP(ControlUserPaneBackgroundUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlUserPaneBackgroundUPP(ControlUserPaneBackgroundUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlUserPaneBackgroundUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlUserPaneBackgroundUPP(ControlUserPaneBackgroundUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlUserPaneBackgroundUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeControlUserPaneDrawUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeControlUserPaneDrawUPP(
- ControlRef control,
- SInt16 part,
- ControlUserPaneDrawUPP userUPP);
+/*
+ * InvokeControlUserPaneDrawUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeControlUserPaneDrawUPP(
+ ControlRef control,
+ SInt16 part,
+ ControlUserPaneDrawUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeControlUserPaneDrawUPP(ControlRef control, SInt16 part, ControlUserPaneDrawUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneDrawProcInfo, control, part);
- }
-#else
-#define InvokeControlUserPaneDrawUPP(control, part, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneDrawProcInfo, (control), (part))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeControlUserPaneDrawUPP(ControlRef control, SInt16 part, ControlUserPaneDrawUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneDrawProcInfo, control, part); }
+ #else
+ #define InvokeControlUserPaneDrawUPP(control, part, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneDrawProcInfo, (control), (part))
+ #endif
#endif
- /*
- * InvokeControlUserPaneHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlPartCode)
- InvokeControlUserPaneHitTestUPP(
- ControlRef control,
- Point where,
- ControlUserPaneHitTestUPP userUPP);
+/*
+ * InvokeControlUserPaneHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlPartCode )
+InvokeControlUserPaneHitTestUPP(
+ ControlRef control,
+ Point where,
+ ControlUserPaneHitTestUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneHitTestUPP(ControlRef control, Point where, ControlUserPaneHitTestUPP userUPP)
- {
- return (ControlPartCode)CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneHitTestProcInfo, control, where);
- }
-#else
-#define InvokeControlUserPaneHitTestUPP(control, where, userUPP) (ControlPartCode)CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneHitTestProcInfo, (control), (where))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneHitTestUPP(ControlRef control, Point where, ControlUserPaneHitTestUPP userUPP) { return (ControlPartCode)CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneHitTestProcInfo, control, where); }
+ #else
+ #define InvokeControlUserPaneHitTestUPP(control, where, userUPP) (ControlPartCode)CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneHitTestProcInfo, (control), (where))
+ #endif
#endif
- /*
- * InvokeControlUserPaneTrackingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlPartCode)
- InvokeControlUserPaneTrackingUPP(
- ControlRef control,
- Point startPt,
- ControlActionUPP actionProc,
- ControlUserPaneTrackingUPP userUPP);
+/*
+ * InvokeControlUserPaneTrackingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlPartCode )
+InvokeControlUserPaneTrackingUPP(
+ ControlRef control,
+ Point startPt,
+ ControlActionUPP actionProc,
+ ControlUserPaneTrackingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneTrackingUPP(ControlRef control, Point startPt, ControlActionUPP actionProc, ControlUserPaneTrackingUPP userUPP)
- {
- return (ControlPartCode)CALL_THREE_PARAMETER_UPP(userUPP, uppControlUserPaneTrackingProcInfo, control, startPt, actionProc);
- }
-#else
-#define InvokeControlUserPaneTrackingUPP(control, startPt, actionProc, userUPP) (ControlPartCode)CALL_THREE_PARAMETER_UPP((userUPP), uppControlUserPaneTrackingProcInfo, (control), (startPt), (actionProc))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneTrackingUPP(ControlRef control, Point startPt, ControlActionUPP actionProc, ControlUserPaneTrackingUPP userUPP) { return (ControlPartCode)CALL_THREE_PARAMETER_UPP(userUPP, uppControlUserPaneTrackingProcInfo, control, startPt, actionProc); }
+ #else
+ #define InvokeControlUserPaneTrackingUPP(control, startPt, actionProc, userUPP) (ControlPartCode)CALL_THREE_PARAMETER_UPP((userUPP), uppControlUserPaneTrackingProcInfo, (control), (startPt), (actionProc))
+ #endif
#endif
- /*
- * InvokeControlUserPaneIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeControlUserPaneIdleUPP(
- ControlRef control,
- ControlUserPaneIdleUPP userUPP);
+/*
+ * InvokeControlUserPaneIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeControlUserPaneIdleUPP(
+ ControlRef control,
+ ControlUserPaneIdleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeControlUserPaneIdleUPP(ControlRef control, ControlUserPaneIdleUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppControlUserPaneIdleProcInfo, control);
- }
-#else
-#define InvokeControlUserPaneIdleUPP(control, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppControlUserPaneIdleProcInfo, (control))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeControlUserPaneIdleUPP(ControlRef control, ControlUserPaneIdleUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppControlUserPaneIdleProcInfo, control); }
+ #else
+ #define InvokeControlUserPaneIdleUPP(control, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppControlUserPaneIdleProcInfo, (control))
+ #endif
#endif
- /*
- * InvokeControlUserPaneKeyDownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlPartCode)
- InvokeControlUserPaneKeyDownUPP(
- ControlRef control,
- SInt16 keyCode,
- SInt16 charCode,
- SInt16 modifiers,
- ControlUserPaneKeyDownUPP userUPP);
+/*
+ * InvokeControlUserPaneKeyDownUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlPartCode )
+InvokeControlUserPaneKeyDownUPP(
+ ControlRef control,
+ SInt16 keyCode,
+ SInt16 charCode,
+ SInt16 modifiers,
+ ControlUserPaneKeyDownUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneKeyDownUPP(ControlRef control, SInt16 keyCode, SInt16 charCode, SInt16 modifiers, ControlUserPaneKeyDownUPP userUPP)
- {
- return (ControlPartCode)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlUserPaneKeyDownProcInfo, control, keyCode, charCode, modifiers);
- }
-#else
-#define InvokeControlUserPaneKeyDownUPP(control, keyCode, charCode, modifiers, userUPP) (ControlPartCode)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlUserPaneKeyDownProcInfo, (control), (keyCode), (charCode), (modifiers))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneKeyDownUPP(ControlRef control, SInt16 keyCode, SInt16 charCode, SInt16 modifiers, ControlUserPaneKeyDownUPP userUPP) { return (ControlPartCode)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlUserPaneKeyDownProcInfo, control, keyCode, charCode, modifiers); }
+ #else
+ #define InvokeControlUserPaneKeyDownUPP(control, keyCode, charCode, modifiers, userUPP) (ControlPartCode)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlUserPaneKeyDownProcInfo, (control), (keyCode), (charCode), (modifiers))
+ #endif
#endif
- /*
- * InvokeControlUserPaneActivateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeControlUserPaneActivateUPP(
- ControlRef control,
- Boolean activating,
- ControlUserPaneActivateUPP userUPP);
+/*
+ * InvokeControlUserPaneActivateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeControlUserPaneActivateUPP(
+ ControlRef control,
+ Boolean activating,
+ ControlUserPaneActivateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeControlUserPaneActivateUPP(ControlRef control, Boolean activating, ControlUserPaneActivateUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneActivateProcInfo, control, activating);
- }
-#else
-#define InvokeControlUserPaneActivateUPP(control, activating, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneActivateProcInfo, (control), (activating))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeControlUserPaneActivateUPP(ControlRef control, Boolean activating, ControlUserPaneActivateUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneActivateProcInfo, control, activating); }
+ #else
+ #define InvokeControlUserPaneActivateUPP(control, activating, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneActivateProcInfo, (control), (activating))
+ #endif
#endif
- /*
- * InvokeControlUserPaneFocusUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlPartCode)
- InvokeControlUserPaneFocusUPP(
- ControlRef control,
- ControlFocusPart action,
- ControlUserPaneFocusUPP userUPP);
+/*
+ * InvokeControlUserPaneFocusUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlPartCode )
+InvokeControlUserPaneFocusUPP(
+ ControlRef control,
+ ControlFocusPart action,
+ ControlUserPaneFocusUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneFocusUPP(ControlRef control, ControlFocusPart action, ControlUserPaneFocusUPP userUPP)
- {
- return (ControlPartCode)CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneFocusProcInfo, control, action);
- }
-#else
-#define InvokeControlUserPaneFocusUPP(control, action, userUPP) (ControlPartCode)CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneFocusProcInfo, (control), (action))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneFocusUPP(ControlRef control, ControlFocusPart action, ControlUserPaneFocusUPP userUPP) { return (ControlPartCode)CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneFocusProcInfo, control, action); }
+ #else
+ #define InvokeControlUserPaneFocusUPP(control, action, userUPP) (ControlPartCode)CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneFocusProcInfo, (control), (action))
+ #endif
#endif
- /*
- * InvokeControlUserPaneBackgroundUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeControlUserPaneBackgroundUPP(
- ControlRef control,
- ControlBackgroundPtr info,
- ControlUserPaneBackgroundUPP userUPP);
+/*
+ * InvokeControlUserPaneBackgroundUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeControlUserPaneBackgroundUPP(
+ ControlRef control,
+ ControlBackgroundPtr info,
+ ControlUserPaneBackgroundUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeControlUserPaneBackgroundUPP(ControlRef control, ControlBackgroundPtr info, ControlUserPaneBackgroundUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneBackgroundProcInfo, control, info);
- }
-#else
-#define InvokeControlUserPaneBackgroundUPP(control, info, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneBackgroundProcInfo, (control), (info))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeControlUserPaneBackgroundUPP(ControlRef control, ControlBackgroundPtr info, ControlUserPaneBackgroundUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneBackgroundProcInfo, control, info); }
+ #else
+ #define InvokeControlUserPaneBackgroundUPP(control, info, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneBackgroundProcInfo, (control), (info))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewControlUserPaneDrawProc(userRoutine) NewControlUserPaneDrawUPP(userRoutine)
-#define NewControlUserPaneHitTestProc(userRoutine) NewControlUserPaneHitTestUPP(userRoutine)
-#define NewControlUserPaneTrackingProc(userRoutine) NewControlUserPaneTrackingUPP(userRoutine)
-#define NewControlUserPaneIdleProc(userRoutine) NewControlUserPaneIdleUPP(userRoutine)
-#define NewControlUserPaneKeyDownProc(userRoutine) NewControlUserPaneKeyDownUPP(userRoutine)
-#define NewControlUserPaneActivateProc(userRoutine) NewControlUserPaneActivateUPP(userRoutine)
-#define NewControlUserPaneFocusProc(userRoutine) NewControlUserPaneFocusUPP(userRoutine)
-#define NewControlUserPaneBackgroundProc(userRoutine) NewControlUserPaneBackgroundUPP(userRoutine)
-#define CallControlUserPaneDrawProc(userRoutine, control, part) InvokeControlUserPaneDrawUPP(control, part, userRoutine)
-#define CallControlUserPaneHitTestProc(userRoutine, control, where) InvokeControlUserPaneHitTestUPP(control, where, userRoutine)
-#define CallControlUserPaneTrackingProc(userRoutine, control, startPt, actionProc) InvokeControlUserPaneTrackingUPP(control, startPt, actionProc, userRoutine)
-#define CallControlUserPaneIdleProc(userRoutine, control) InvokeControlUserPaneIdleUPP(control, userRoutine)
-#define CallControlUserPaneKeyDownProc(userRoutine, control, keyCode, charCode, modifiers) InvokeControlUserPaneKeyDownUPP(control, keyCode, charCode, modifiers, userRoutine)
-#define CallControlUserPaneActivateProc(userRoutine, control, activating) InvokeControlUserPaneActivateUPP(control, activating, userRoutine)
-#define CallControlUserPaneFocusProc(userRoutine, control, action) InvokeControlUserPaneFocusUPP(control, action, userRoutine)
-#define CallControlUserPaneBackgroundProc(userRoutine, control, info) InvokeControlUserPaneBackgroundUPP(control, info, userRoutine)
+ #define NewControlUserPaneDrawProc(userRoutine) NewControlUserPaneDrawUPP(userRoutine)
+ #define NewControlUserPaneHitTestProc(userRoutine) NewControlUserPaneHitTestUPP(userRoutine)
+ #define NewControlUserPaneTrackingProc(userRoutine) NewControlUserPaneTrackingUPP(userRoutine)
+ #define NewControlUserPaneIdleProc(userRoutine) NewControlUserPaneIdleUPP(userRoutine)
+ #define NewControlUserPaneKeyDownProc(userRoutine) NewControlUserPaneKeyDownUPP(userRoutine)
+ #define NewControlUserPaneActivateProc(userRoutine) NewControlUserPaneActivateUPP(userRoutine)
+ #define NewControlUserPaneFocusProc(userRoutine) NewControlUserPaneFocusUPP(userRoutine)
+ #define NewControlUserPaneBackgroundProc(userRoutine) NewControlUserPaneBackgroundUPP(userRoutine)
+ #define CallControlUserPaneDrawProc(userRoutine, control, part) InvokeControlUserPaneDrawUPP(control, part, userRoutine)
+ #define CallControlUserPaneHitTestProc(userRoutine, control, where) InvokeControlUserPaneHitTestUPP(control, where, userRoutine)
+ #define CallControlUserPaneTrackingProc(userRoutine, control, startPt, actionProc) InvokeControlUserPaneTrackingUPP(control, startPt, actionProc, userRoutine)
+ #define CallControlUserPaneIdleProc(userRoutine, control) InvokeControlUserPaneIdleUPP(control, userRoutine)
+ #define CallControlUserPaneKeyDownProc(userRoutine, control, keyCode, charCode, modifiers) InvokeControlUserPaneKeyDownUPP(control, keyCode, charCode, modifiers, userRoutine)
+ #define CallControlUserPaneActivateProc(userRoutine, control, activating) InvokeControlUserPaneActivateUPP(control, activating, userRoutine)
+ #define CallControlUserPaneFocusProc(userRoutine, control, action) InvokeControlUserPaneFocusUPP(control, action, userRoutine)
+ #define CallControlUserPaneBackgroundProc(userRoutine, control, info) InvokeControlUserPaneBackgroundUPP(control, info, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- ------------------------------------------------------------------------------------------
- o EDIT TEXT (CDEF 17)
- ------------------------------------------------------------------------------------------
- */
- /* Edit Text proc IDs */
- enum
- {
- kControlEditTextProc = 272,
- kControlEditTextPasswordProc = 274
- };
-
- /* proc IDs available with Appearance 1.1 or later */
- enum
- {
- kControlEditTextInlineInputProc = 276 /* Can't combine with the other variants*/
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindEditText = FOUR_CHAR_CODE('etxt')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateEditTextControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateEditTextControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef text,
- Boolean isPassword,
- Boolean useInlineInput,
- const ControlFontStyleRec * style, /* can be NULL */
- ControlRef * outControl);
-
-
-
- /* Tagged data supported by edit text */
- enum
- {
- kControlEditTextStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/
- kControlEditTextTextTag = FOUR_CHAR_CODE('text'), /* Buffer of chars - you supply the buffer*/
- kControlEditTextTEHandleTag = FOUR_CHAR_CODE('than'), /* The TEHandle of the text edit record*/
- kControlEditTextKeyFilterTag = kControlKeyFilterTag,
- kControlEditTextSelectionTag = FOUR_CHAR_CODE('sele'), /* ControlEditTextSelectionRec*/
- kControlEditTextPasswordTag = FOUR_CHAR_CODE('pass') /* The clear text password text*/
- };
-
- /* tags available with Appearance 1.1 or later */
- enum
- {
- kControlEditTextKeyScriptBehaviorTag = FOUR_CHAR_CODE('kscr'), /* ControlKeyScriptBehavior. Defaults to "PrefersRoman" for password fields,*/
- /* or "AllowAnyScript" for non-password fields.*/
- kControlEditTextLockedTag = FOUR_CHAR_CODE('lock'), /* Boolean. Locking disables editability.*/
- kControlEditTextFixedTextTag = FOUR_CHAR_CODE('ftxt'), /* Like the normal text tag, but fixes inline input first*/
- kControlEditTextValidationProcTag = FOUR_CHAR_CODE('vali'), /* ControlEditTextValidationUPP. Called when a key filter can't be: after cut, paste, etc.*/
- kControlEditTextInlinePreUpdateProcTag = FOUR_CHAR_CODE('prup'), /* TSMTEPreUpdateUPP and TSMTEPostUpdateUpp. For use with inline input variant...*/
- kControlEditTextInlinePostUpdateProcTag = FOUR_CHAR_CODE('poup') /* ...The refCon parameter will contain the ControlRef.*/
- };
-
-
- /*
- * Discussion:
- * EditText ControlData tags available with MacOSX and later.
- */
- enum
- {
-
- /*
- * Extract the content of the edit text field as a CFString. Don't
- * forget that you own the returned CFStringRef and are responsible
- * for CFReleasing it.
- */
- kControlEditTextCFStringTag = FOUR_CHAR_CODE('cfst'), /* CFStringRef (Also available on CarbonLib 1.5)*/
-
- /*
- * Extract the content of the edit text field as a CFString, if it is
- * a password field. Don't forget that you own the returned
- * CFStringRef and are responsible for CFReleasing it.
- */
- kControlEditTextPasswordCFStringTag = FOUR_CHAR_CODE('pwcf') /* CFStringRef*/
- };
-
-
-
-
- /* Structure for getting the edit text selection */
- struct ControlEditTextSelectionRec
- {
- SInt16 selStart;
- SInt16 selEnd;
- };
- typedef struct ControlEditTextSelectionRec ControlEditTextSelectionRec;
- typedef ControlEditTextSelectionRec * ControlEditTextSelectionPtr;
- typedef CALLBACK_API(void , ControlEditTextValidationProcPtr)(ControlRef control);
- typedef STACK_UPP_TYPE(ControlEditTextValidationProcPtr) ControlEditTextValidationUPP;
- /*
- * NewControlEditTextValidationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlEditTextValidationUPP)
- NewControlEditTextValidationUPP(ControlEditTextValidationProcPtr userRoutine);
+/*
+ ------------------------------------------------------------------------------------------
+ o EDIT TEXT (CDEF 17)
+ ------------------------------------------------------------------------------------------
+*/
+/* Edit Text proc IDs */
+enum {
+ kControlEditTextProc = 272,
+ kControlEditTextPasswordProc = 274
+};
+
+/* proc IDs available with Appearance 1.1 or later */
+enum {
+ kControlEditTextInlineInputProc = 276 /* Can't combine with the other variants*/
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindEditText = FOUR_CHAR_CODE('etxt')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateEditTextControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateEditTextControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef text,
+ Boolean isPassword,
+ Boolean useInlineInput,
+ const ControlFontStyleRec * style, /* can be NULL */
+ ControlRef * outControl);
+
+
+
+/* Tagged data supported by edit text */
+enum {
+ kControlEditTextStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/
+ kControlEditTextTextTag = FOUR_CHAR_CODE('text'), /* Buffer of chars - you supply the buffer*/
+ kControlEditTextTEHandleTag = FOUR_CHAR_CODE('than'), /* The TEHandle of the text edit record*/
+ kControlEditTextKeyFilterTag = kControlKeyFilterTag,
+ kControlEditTextSelectionTag = FOUR_CHAR_CODE('sele'), /* ControlEditTextSelectionRec*/
+ kControlEditTextPasswordTag = FOUR_CHAR_CODE('pass') /* The clear text password text*/
+};
+
+/* tags available with Appearance 1.1 or later */
+enum {
+ kControlEditTextKeyScriptBehaviorTag = FOUR_CHAR_CODE('kscr'), /* ControlKeyScriptBehavior. Defaults to "PrefersRoman" for password fields,*/
+ /* or "AllowAnyScript" for non-password fields.*/
+ kControlEditTextLockedTag = FOUR_CHAR_CODE('lock'), /* Boolean. Locking disables editability.*/
+ kControlEditTextFixedTextTag = FOUR_CHAR_CODE('ftxt'), /* Like the normal text tag, but fixes inline input first*/
+ kControlEditTextValidationProcTag = FOUR_CHAR_CODE('vali'), /* ControlEditTextValidationUPP. Called when a key filter can't be: after cut, paste, etc.*/
+ kControlEditTextInlinePreUpdateProcTag = FOUR_CHAR_CODE('prup'), /* TSMTEPreUpdateUPP and TSMTEPostUpdateUpp. For use with inline input variant...*/
+ kControlEditTextInlinePostUpdateProcTag = FOUR_CHAR_CODE('poup') /* ...The refCon parameter will contain the ControlRef.*/
+};
+
+
+/*
+ * Discussion:
+ * EditText ControlData tags available with MacOSX and later.
+ */
+enum {
+
+ /*
+ * Extract the content of the edit text field as a CFString. Don't
+ * forget that you own the returned CFStringRef and are responsible
+ * for CFReleasing it.
+ */
+ kControlEditTextCFStringTag = FOUR_CHAR_CODE('cfst'), /* CFStringRef (Also available on CarbonLib 1.5)*/
+
+ /*
+ * Extract the content of the edit text field as a CFString, if it is
+ * a password field. Don't forget that you own the returned
+ * CFStringRef and are responsible for CFReleasing it.
+ */
+ kControlEditTextPasswordCFStringTag = FOUR_CHAR_CODE('pwcf') /* CFStringRef*/
+};
+
+
+
+
+/* Structure for getting the edit text selection */
+struct ControlEditTextSelectionRec {
+ SInt16 selStart;
+ SInt16 selEnd;
+};
+typedef struct ControlEditTextSelectionRec ControlEditTextSelectionRec;
+typedef ControlEditTextSelectionRec * ControlEditTextSelectionPtr;
+typedef CALLBACK_API( void , ControlEditTextValidationProcPtr )(ControlRef control);
+typedef STACK_UPP_TYPE(ControlEditTextValidationProcPtr) ControlEditTextValidationUPP;
+/*
+ * NewControlEditTextValidationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlEditTextValidationUPP )
+NewControlEditTextValidationUPP(ControlEditTextValidationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlEditTextValidationProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlEditTextValidationUPP) NewControlEditTextValidationUPP(ControlEditTextValidationProcPtr userRoutine)
- {
- return (ControlEditTextValidationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlEditTextValidationProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlEditTextValidationUPP(userRoutine) (ControlEditTextValidationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlEditTextValidationProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlEditTextValidationProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlEditTextValidationUPP) NewControlEditTextValidationUPP(ControlEditTextValidationProcPtr userRoutine) { return (ControlEditTextValidationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlEditTextValidationProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlEditTextValidationUPP(userRoutine) (ControlEditTextValidationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlEditTextValidationProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeControlEditTextValidationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlEditTextValidationUPP(ControlEditTextValidationUPP userUPP);
+/*
+ * DisposeControlEditTextValidationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlEditTextValidationUPP(ControlEditTextValidationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlEditTextValidationUPP(ControlEditTextValidationUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlEditTextValidationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlEditTextValidationUPP(ControlEditTextValidationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlEditTextValidationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeControlEditTextValidationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeControlEditTextValidationUPP(
- ControlRef control,
- ControlEditTextValidationUPP userUPP);
+/*
+ * InvokeControlEditTextValidationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeControlEditTextValidationUPP(
+ ControlRef control,
+ ControlEditTextValidationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeControlEditTextValidationUPP(ControlRef control, ControlEditTextValidationUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppControlEditTextValidationProcInfo, control);
- }
-#else
-#define InvokeControlEditTextValidationUPP(control, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppControlEditTextValidationProcInfo, (control))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeControlEditTextValidationUPP(ControlRef control, ControlEditTextValidationUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppControlEditTextValidationProcInfo, control); }
+ #else
+ #define InvokeControlEditTextValidationUPP(control, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppControlEditTextValidationProcInfo, (control))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewControlEditTextValidationProc(userRoutine) NewControlEditTextValidationUPP(userRoutine)
-#define CallControlEditTextValidationProc(userRoutine, control) InvokeControlEditTextValidationUPP(control, userRoutine)
+ #define NewControlEditTextValidationProc(userRoutine) NewControlEditTextValidationUPP(userRoutine)
+ #define CallControlEditTextValidationProc(userRoutine, control) InvokeControlEditTextValidationUPP(control, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*--------------------------------------------------------------------------------------*/
- /* o STATIC TEXT (CDEF 18) */
- /*--------------------------------------------------------------------------------------*/
- /* Static Text proc IDs */
- enum
- {
- kControlStaticTextProc = 288
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindStaticText = FOUR_CHAR_CODE('stxt')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreateStaticTextControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateStaticTextControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef text,
- const ControlFontStyleRec * style,
- ControlRef * outControl);
-
-
-
- /* Tagged data supported by static text */
- enum
- {
- kControlStaticTextStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/
- kControlStaticTextTextTag = FOUR_CHAR_CODE('text'), /* Copy of text*/
- kControlStaticTextTextHeightTag = FOUR_CHAR_CODE('thei') /* SInt16*/
- };
-
- /* Tags available with appearance 1.1 or later */
- enum
- {
- kControlStaticTextTruncTag = FOUR_CHAR_CODE('trun') /* TruncCode (-1 means no truncation)*/
- };
-
- /* Tags available with Mac OS X or later */
- enum
- {
- kControlStaticTextCFStringTag = FOUR_CHAR_CODE('cfst') /* CFStringRef (Also available on CarbonLib 1.5)*/
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o PICTURE CONTROL (CDEF 19) */
- /*--------------------------------------------------------------------------------------*/
- /* Value parameter should contain the ID of the picture you wish to display when */
- /* creating controls of this type. If you don't want the control tracked at all, use */
- /* the 'no track' variant. */
- /* Picture control proc IDs */
- enum
- {
- kControlPictureProc = 304,
- kControlPictureNoTrackProc = 305 /* immediately returns kControlPicturePart*/
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindPicture = FOUR_CHAR_CODE('pict')
- };
-
- /* Creation API: Carbon only */
- /*
- * CreatePictureControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreatePictureControl(
- WindowRef window,
- const Rect * boundsRect,
- const ControlButtonContentInfo * content,
- Boolean dontTrack,
- ControlRef * outControl);
-
-
- /* Tagged data supported by picture controls */
- enum
- {
- kControlPictureHandleTag = FOUR_CHAR_CODE('pich') /* PicHandle*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o ICON CONTROL (CDEF 20) */
- /*--------------------------------------------------------------------------------------*/
- /* Value parameter should contain the ID of the ICON or cicn you wish to display when */
- /* creating controls of this type. If you don't want the control tracked at all, use */
- /* the 'no track' variant. */
- /* Icon control proc IDs */
- enum
- {
- kControlIconProc = 320,
- kControlIconNoTrackProc = 321, /* immediately returns kControlIconPart*/
- kControlIconSuiteProc = 322,
- kControlIconSuiteNoTrackProc = 323 /* immediately returns kControlIconPart*/
- };
-
- enum
- {
- /* icon ref controls may have either an icon, color icon, icon suite, or icon ref.*/
- /* for data other than icon, you must set the data by passing a*/
- /* ControlButtonContentInfo to SetControlData*/
- kControlIconRefProc = 324,
- kControlIconRefNoTrackProc = 325 /* immediately returns kControlIconPart*/
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindIcon = FOUR_CHAR_CODE('icon')
- };
-
- /*
- * CreateIconControl()
- *
- * Summary:
- * Creates an Icon control at a specific position in the specified
- * window.
- *
- * Discussion:
- * Icon controls display an icon that (optionally) hilites when
- * clicked on. On Mac OS X, a root control will be created for the
- * window if one does not already exist. If a root control exists
- * for the window, the Icon control will be embedded into it.
- *
- * Parameters:
- *
- * inWindow:
- * The WindowRef into which the Icon control will be created.
- *
- * inBoundsRect:
- * The desired position (in coordinates local to the window's
- * port) for the Icon control.
- *
- * inIconContent:
- * The descriptor for the icon you want the control to display.
- * Mac OS X and CarbonLib 1.5 (and beyond) support all of the icon
- * content types. Prior to CarbonLib 1.5, the only content types
- * that are properly respected are kControlContentIconSuiteRes,
- * kControlContentCIconRes, and kControlContentICONRes.
- *
- * inDontTrack:
- * A Boolean value indicating whether the control should hilite
- * when it is clicked on. False means hilite and track the mouse.
- *
- * outControl:
- * On successful output, outControl will contain a reference to
- * the Icon control.
- *
- * Result:
- * An OSStatus code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateIconControl(
- WindowRef inWindow,
- const Rect * inBoundsRect,
- const ControlButtonContentInfo * inIconContent,
- Boolean inDontTrack,
- ControlRef * outControl);
-
-
- /* Tagged data supported by icon controls */
- enum
- {
- kControlIconTransformTag = FOUR_CHAR_CODE('trfm'), /* IconTransformType*/
- kControlIconAlignmentTag = FOUR_CHAR_CODE('algn') /* IconAlignmentType*/
- };
-
- /* Tags available with appearance 1.1 or later */
- enum
- {
- kControlIconResourceIDTag = FOUR_CHAR_CODE('ires'), /* SInt16 resource ID of icon to use*/
- kControlIconContentTag = FOUR_CHAR_CODE('cont') /* accepts a ControlButtonContentInfo*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o WINDOW HEADER (CDEF 21) */
- /*--------------------------------------------------------------------------------------*/
- /* Window Header proc IDs */
- enum
- {
- kControlWindowHeaderProc = 336, /* normal header*/
- kControlWindowListViewHeaderProc = 337 /* variant for list views - no bottom line*/
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindWindowHeader = FOUR_CHAR_CODE('whed')
- };
-
- /* Creation API: Carbon Only */
- /*
- * CreateWindowHeaderControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateWindowHeaderControl(
- WindowRef window,
- const Rect * boundsRect,
- Boolean isListHeader,
- ControlRef * outControl);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o LIST BOX (CDEF 22) */
- /*--------------------------------------------------------------------------------------*/
- /* Lists use an auxiliary resource to define their format. The resource type used is */
- /* 'ldes' and a definition for it can be found in Appearance.r. The resource ID for */
- /* the ldes is passed in the 'value' parameter when creating the control. You may pass */
- /* zero in value. This tells the List Box control to not use a resource. The list will */
- /* be created with default values, and will use the standard LDEF (0). You can change */
- /* the list by getting the list handle. You can set the LDEF to use by using the tag */
- /* below (kControlListBoxLDEFTag) */
- /* List Box proc IDs */
- enum
- {
- kControlListBoxProc = 352,
- kControlListBoxAutoSizeProc = 353
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindListBox = FOUR_CHAR_CODE('lbox')
- };
-
- /* Creation API: Carbon Only */
- /*
- * CreateListBoxControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateListBoxControl(
- WindowRef window,
- const Rect * boundsRect,
- Boolean autoSize,
- SInt16 numRows,
- SInt16 numColumns,
- Boolean horizScroll,
- Boolean vertScroll,
- SInt16 cellHeight,
- SInt16 cellWidth,
- Boolean hasGrowSpace,
- const ListDefSpec * listDef,
- ControlRef * outControl);
-
-
- /* Tagged data supported by list box */
- enum
- {
- kControlListBoxListHandleTag = FOUR_CHAR_CODE('lhan'), /* ListHandle*/
- kControlListBoxKeyFilterTag = kControlKeyFilterTag, /* ControlKeyFilterUPP*/
- kControlListBoxFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/
- };
-
- /* New tags in 1.0.1 or later */
- enum
- {
- kControlListBoxDoubleClickTag = FOUR_CHAR_CODE('dblc'), /* Boolean. Was last click a double-click?*/
- kControlListBoxLDEFTag = FOUR_CHAR_CODE('ldef') /* SInt16. ID of LDEF to use.*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o PUSH BUTTON (CDEF 23) */
- /*--------------------------------------------------------------------------------------*/
- /* The new standard checkbox and radio button controls support a "mixed" value that */
- /* indicates that the current setting contains a mixed set of on and off values. The */
- /* control value used to display this indication is defined in Controls.h: */
- /* */
- /* kControlCheckBoxMixedValue = 2 */
- /* */
- /* Two new variants of the standard pushbutton have been added to the standard control */
- /* suite that draw a color icon next to the control title. One variant draws the icon */
- /* on the left side, the other draws it on the right side (when the system justifica- */
- /* tion is right to left, these are reversed). */
- /* */
- /* When either of the icon pushbuttons are created, the contrlMax field of the control */
- /* record is used to determine the ID of the 'cicn' resource drawn in the pushbutton. */
- /* */
- /* In addition, a push button can now be told to draw with a default outline using the */
- /* SetControlData routine with the kControlPushButtonDefaultTag below. */
- /* */
- /* A push button may also be marked using the kControlPushButtonCancelTag. This has */
- /* no visible representation, but does cause the button to play the CancelButton theme */
- /* sound instead of the regular pushbutton theme sound when pressed. */
- /* */
- /* Theme Push Button/Check Box/Radio Button proc IDs */
- enum
- {
- kControlPushButtonProc = 368,
- kControlCheckBoxProc = 369,
- kControlRadioButtonProc = 370,
- kControlPushButLeftIconProc = 374, /* Standard pushbutton with left-side icon*/
- kControlPushButRightIconProc = 375 /* Standard pushbutton with right-side icon*/
- };
-
- /* Variants with Appearance 1.1 or later */
- enum
- {
- kControlCheckBoxAutoToggleProc = 371,
- kControlRadioButtonAutoToggleProc = 372
- };
-
- /* Push Button Icon Alignments */
- typedef UInt16 ControlPushButtonIconAlignment;
- enum
- {
- kControlPushButtonIconOnLeft = 6,
- kControlPushButtonIconOnRight = 7
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindPushButton = FOUR_CHAR_CODE('push'),
- kControlKindPushIconButton = FOUR_CHAR_CODE('picn'),
- kControlKindRadioButton = FOUR_CHAR_CODE('rdio'),
- kControlKindCheckBox = FOUR_CHAR_CODE('cbox')
- };
-
- /* Creation APIs: Carbon Only */
- /*
- * CreatePushButtonControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreatePushButtonControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- ControlRef * outControl);
-
-
- /*
- * CreatePushButtonWithIconControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreatePushButtonWithIconControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- ControlButtonContentInfo * icon,
- ControlPushButtonIconAlignment iconAlignment,
- ControlRef * outControl);
-
-
- /*
- * CreateRadioButtonControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateRadioButtonControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- SInt32 initialValue,
- Boolean autoToggle,
- ControlRef * outControl);
-
-
- /*
- * CreateCheckBoxControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateCheckBoxControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- SInt32 initialValue,
- Boolean autoToggle,
- ControlRef * outControl);
-
-
-
-
- /* Tagged data supported by standard buttons */
- enum
- {
- kControlPushButtonDefaultTag = FOUR_CHAR_CODE('dflt'), /* default ring flag*/
- kControlPushButtonCancelTag = FOUR_CHAR_CODE('cncl') /* cancel button flag (1.1 and later)*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o SCROLL BAR (CDEF 24) */
- /*--------------------------------------------------------------------------------------*/
- /* This is the new Appearance scroll bar. */
- /* */
- /* Theme Scroll Bar proc IDs */
- enum
- {
- kControlScrollBarProc = 384, /* normal scroll bar*/
- kControlScrollBarLiveProc = 386 /* live scrolling variant*/
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindScrollBar = FOUR_CHAR_CODE('sbar')
- };
-
- /* Creation API: Carbon Only */
- /*
- * CreateScrollBarControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateScrollBarControl(
- WindowRef window,
- const Rect * boundsRect,
- SInt32 value,
- SInt32 minimum,
- SInt32 maximum,
- SInt32 viewSize,
- Boolean liveTracking,
- ControlActionUPP liveTrackingProc,
- ControlRef * outControl);
-
-
- /* These tags are available in Mac OS X or later */
- enum
- {
- kControlScrollBarShowsArrowsTag = FOUR_CHAR_CODE('arro') /* Boolean whether or not to draw the scroll arrows*/
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o POPUP BUTTON (CDEF 25) */
- /*--------------------------------------------------------------------------------------*/
- /* This is the new Appearance Popup Button. It takes the same variants and does the */
- /* same overloading as the previous popup menu control. There are some differences: */
- /* */
- /* Passing in a menu ID of -12345 causes the popup not to try and get the menu from a */
- /* resource. Instead, you can build the menu and later stuff the MenuRef field in */
- /* the popup data information. */
- /* */
- /* You can pass -1 in the Max parameter to have the control calculate the width of the */
- /* title on its own instead of guessing and then tweaking to get it right. It adds the */
- /* appropriate amount of space between the title and the popup. */
- /* */
- /* Theme Popup Button proc IDs */
- enum
- {
- kControlPopupButtonProc = 400,
- kControlPopupFixedWidthVariant = 1 << 0,
- kControlPopupVariableWidthVariant = 1 << 1,
- kControlPopupUseAddResMenuVariant = 1 << 2,
- kControlPopupUseWFontVariant = kControlUsesOwningWindowsFontVariant
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindPopupButton = FOUR_CHAR_CODE('popb')
- };
-
- /* Creation API: Carbon Only */
- /*
- * CreatePopupButtonControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreatePopupButtonControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef title,
- SInt16 menuID,
- Boolean variableWidth,
- SInt16 titleWidth,
- SInt16 titleJustification,
- Style titleStyle,
- ControlRef * outControl);
-
-
-
-
- /* These tags are available in 1.0.1 or later of Appearance */
- enum
- {
- kControlPopupButtonMenuHandleTag = FOUR_CHAR_CODE('mhan'), /* MenuRef*/
- kControlPopupButtonMenuRefTag = FOUR_CHAR_CODE('mhan'), /* MenuRef*/
- kControlPopupButtonMenuIDTag = FOUR_CHAR_CODE('mnid') /* SInt16*/
- };
-
- /* These tags are available in 1.1 or later of Appearance */
- enum
- {
- kControlPopupButtonExtraHeightTag = FOUR_CHAR_CODE('exht'), /* SInt16 - extra vertical whitespace within the button*/
- kControlPopupButtonOwnedMenuRefTag = FOUR_CHAR_CODE('omrf') /* MenuRef*/
- };
-
- /* These tags are available in Mac OS X */
- enum
- {
- kControlPopupButtonCheckCurrentTag = FOUR_CHAR_CODE('chck') /* Boolean - whether the popup puts a checkmark next to the current item (defaults to true)*/
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o RADIO GROUP (CDEF 26) */
- /*--------------------------------------------------------------------------------------*/
- /* This control implements a radio group. It is an embedding control and can therefore */
- /* only be used when a control hierarchy is established for its owning window. You */
- /* should only embed radio buttons within it. As radio buttons are embedded into it, */
- /* the group sets up its value, min, and max to represent the number of embedded items.*/
- /* The current value of the control is the index of the sub-control that is the current*/
- /* 'on' radio button. To get the current radio button control handle, you can use the */
- /* control manager call GetIndSubControl, passing in the value of the radio group. */
- /* */
- /* NOTE: This control is only available with Appearance 1.0.1. */
- /* Radio Group Proc ID */
- enum
- {
- kControlRadioGroupProc = 416
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindRadioGroup = FOUR_CHAR_CODE('rgrp')
- };
-
- /* Creation API: Carbon Only */
- /*
- * CreateRadioGroupControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateRadioGroupControl(
- WindowRef window,
- const Rect * boundsRect,
- ControlRef * outControl);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o SCROLL TEXT BOX (CDEF 27) */
- /*--------------------------------------------------------------------------------------*/
- /* This control implements a scrolling box of (non-editable) text. This is useful for */
- /* credits in about boxes, etc. */
- /* The standard version of this control has a scroll bar, but the autoscrolling */
- /* variant does not. The autoscrolling variant needs two pieces of information to */
- /* work: delay (in ticks) before the scrolling starts, and time (in ticks) between */
- /* scrolls. It will scroll one pixel at a time, unless changed via SetControlData. */
- /* */
- /* Parameter What Goes Here */
- /* ------------------- ---------------------------------------------------- */
- /* Value Resource ID of 'TEXT'/'styl' content. */
- /* Min Scroll start delay (in ticks) . */
- /* Max Delay (in ticks) between scrolls. */
- /* */
- /* NOTE: This control is only available with Appearance 1.1. */
- /* Scroll Text Box Proc IDs */
- enum
- {
- kControlScrollTextBoxProc = 432,
- kControlScrollTextBoxAutoScrollProc = 433
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindScrollingTextBox = FOUR_CHAR_CODE('stbx')
- };
-
- /* Creation API: Carbon Only */
- /*
- * CreateScrollingTextBoxControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateScrollingTextBoxControl(
- WindowRef window,
- const Rect * boundsRect,
- SInt16 contentResID,
- Boolean autoScroll,
- UInt32 delayBeforeAutoScroll,
- UInt32 delayBetweenAutoScroll,
- UInt16 autoScrollAmount,
- ControlRef * outControl);
-
-
- /* Tagged data supported by Scroll Text Box */
- enum
- {
- kControlScrollTextBoxDelayBeforeAutoScrollTag = FOUR_CHAR_CODE('stdl'), /* UInt32 (ticks until autoscrolling starts)*/
- kControlScrollTextBoxDelayBetweenAutoScrollTag = FOUR_CHAR_CODE('scdl'), /* UInt32 (ticks between scrolls)*/
- kControlScrollTextBoxAutoScrollAmountTag = FOUR_CHAR_CODE('samt'), /* UInt16 (pixels per scroll) -- defaults to 1*/
- kControlScrollTextBoxContentsTag = FOUR_CHAR_CODE('tres'), /* SInt16 (resource ID of 'TEXT'/'styl') -- write only!*/
- kControlScrollTextBoxAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean (whether the text box should auto-scroll)*/
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o DISCLOSURE BUTTON */
- /*--------------------------------------------------------------------------------------*/
- /*
- * CreateDisclosureButtonControl()
- *
- * Summary:
- * Creates a new instance of the Disclosure Button Control.
- *
- * Discussion:
- * CreateDisclosureButtonControl is preferred over NewControl
- * because it allows you to specify the exact set of parameters
- * required to create the control without overloading parameter
- * semantics. The initial minimum of the Disclosure Button will be
- * kControlDisclosureButtonClosed, and the maximum will be
- * kControlDisclosureButtonDisclosed.
- *
- * Parameters:
- *
- * inWindow:
- * The WindowRef in which to create the control.
- *
- * inBoundsRect:
- * The bounding rectangle for the control. The height of the
- * control is fixed and the control will be centered vertically
- * within the rectangle you specify.
- *
- * inValue:
- * The initial value; either kControlDisclosureButtonClosed or
- * kControlDisclosureButtonDisclosed.
- *
- * inAutoToggles:
- * A boolean value indicating whether its value should change
- * automatically after tracking the mouse.
- *
- * outControl:
- * On successful exit, this will contain the new control.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateDisclosureButtonControl(
- WindowRef inWindow,
- const Rect * inBoundsRect,
- SInt32 inValue,
- Boolean inAutoToggles,
- ControlRef * outControl);
-
-
-
- /* Control Kind Tag */
- enum
- {
- kControlKindDisclosureButton = FOUR_CHAR_CODE('disb')
- };
-
-
- /*
- * Discussion:
- * Disclosure Button Values
- */
- enum
- {
-
- /*
- * The control be drawn suggesting a closed state.
- */
- kControlDisclosureButtonClosed = 0,
-
- /*
- * The control will be drawn suggesting an open state.
- */
- kControlDisclosureButtonDisclosed = 1
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o ROUND BUTTON */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * ControlRoundButtonSize
- *
- * Discussion:
- * Button Sizes
- */
- typedef SInt16 ControlRoundButtonSize;
- enum
- {
-
- /*
- * A 20 pixel diameter button.
- */
- kControlRoundButtonNormalSize = kControlSizeNormal,
-
- /*
- * A 25 pixel diameter button.
- */
- kControlRoundButtonLargeSize = kControlSizeLarge
- };
-
- /* Data tags supported by the round button controls */
- enum
- {
- kControlRoundButtonContentTag = FOUR_CHAR_CODE('cont'), /* ControlButtonContentInfo*/
- kControlRoundButtonSizeTag = kControlSizeTag /* ControlRoundButtonSize*/
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindRoundButton = FOUR_CHAR_CODE('rndb')
- };
-
- /*
- * CreateRoundButtonControl()
- *
- * Summary:
- * Creates a new instance of the Round Button Control.
- *
- * Discussion:
- * CreateRoundButtonControl is preferred over NewControl because it
- * allows you to specify the exact set of parameters required to
- * create the control without overloading parameter semantics.
- *
- * Parameters:
- *
- * inWindow:
- * The WindowRef in which to create the control.
- *
- * inBoundsRect:
- * The bounding rectangle for the control. The height and width of
- * the control is fixed (specified by the ControlRoundButtonSize
- * parameter) and the control will be centered within the
- * rectangle you specify.
- *
- * inSize:
- * The button size; either kControlRoundButtonNormalSize or
- * kControlRoundButtonLargeSize.
- *
- * inContent:
- * Any optional content displayed in the button. Currently only
- * kControlContentIconRef is supported.
- *
- * outControl:
- * On successful exit, this will contain the new control.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateRoundButtonControl(
- WindowRef inWindow,
- const Rect * inBoundsRect,
- ControlRoundButtonSize inSize,
- ControlButtonContentInfo * inContent,
- ControlRef * outControl);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o DATA BROWSER */
- /* (CDEF 29) */
- /*--------------------------------------------------------------------------------------*/
- /* This control implements a user interface component for browsing (optionally) */
- /* hiearchical data structures. The browser supports multiple presentation styles */
- /* including, but not limited to: */
- /* */
- /* kDataBrowserListView - items and item properties in */
- /* multi-column (optionally outline) format */
- /* kDataBrowserColumnView - in-place browsing using fixed navigation columns */
- /* */
- /* The browser manages all view styles through a single high-level interface. */
- /* The high-level interface makes the following assumptions: */
- /* */
- /* - Items have unique 32-bit identifiers (0 is reserved) */
- /* */
- /* - Items have two kinds of named and typed properties: */
- /* - Predefined attribute properties ( < 1024 ) */
- /* (including some display properties) */
- /* - Client-defined display properties ( >= 1024 ) */
- /* */
- /* - Some items are containers of other items */
- /* - Items may be sorted by any property */
- /* */
- /* Because a browser doesn't know all details about the type of objects it manages, */
- /* some implementation responsibility is best handled by its client. The client must */
- /* provide a set of callback routines which define the item hierarchy and help to */
- /* populate the browser with items. The client may also provide callbacks for handling */
- /* custom data types and doing low-level event management. */
- /* */
- /* The API is subdivided into a "universal" set of routines that applies to all view */
- /* styles, and a set of routines unique to each view style. kDataBrowserListView and */
- /* kDataBrowserColumnView share an (internal) TableView abstract base class. The */
- /* TableView formatting options and API applies to both of these view styles. */
- /* */
- /* NOTE: This control is only available with CarbonLib 1.1. */
- /* */
- /* NOTE: This control must be created with the CreateDataBrowserControl API in */
- /* CarbonLib 1.1 through 1.4. In Mac OS X and CarbonLib 1.5 and later, you */
- /* may use the control's procID (29) to create the control with NewControl */
- /* or with a 'CNTL' resource. */
- /* Control Kind Tag */
- enum
- {
- kControlKindDataBrowser = FOUR_CHAR_CODE('datb')
- };
-
- /* Error Codes */
- enum
- {
- errDataBrowserNotConfigured = -4970,
- errDataBrowserItemNotFound = -4971,
- errDataBrowserItemNotAdded = -4975,
- errDataBrowserPropertyNotFound = -4972,
- errDataBrowserInvalidPropertyPart = -4973,
- errDataBrowserInvalidPropertyData = -4974,
- errDataBrowserPropertyNotSupported = -4979 /* Return from DataBrowserGetSetItemDataProc */
- };
-
- enum
- {
- /* Generic Control Tags */
- kControlDataBrowserIncludesFrameAndFocusTag = FOUR_CHAR_CODE('brdr'), /* Boolean */
- kControlDataBrowserKeyFilterTag = kControlEditTextKeyFilterTag,
- kControlDataBrowserEditTextKeyFilterTag = kControlDataBrowserKeyFilterTag,
- kControlDataBrowserEditTextValidationProcTag = kControlEditTextValidationProcTag
- };
-
- /* Data Browser View Styles */
- typedef OSType DataBrowserViewStyle;
- enum
- {
- kDataBrowserNoView = 0x3F3F3F3F, /* Error State */
- kDataBrowserListView = FOUR_CHAR_CODE('lstv'),
- kDataBrowserColumnView = FOUR_CHAR_CODE('clmv')
- };
-
- /* Selection Flags */
- typedef UInt32 DataBrowserSelectionFlags;
- enum
- {
- kDataBrowserDragSelect = 1 << 0, /* * ListMgr lNoRect */
- kDataBrowserSelectOnlyOne = 1 << 1, /* * ListMgr lOnlyOne */
- kDataBrowserResetSelection = 1 << 2, /* * ListMgr lNoExtend */
- kDataBrowserCmdTogglesSelection = 1 << 3, /* * ListMgr lUseSense */
- kDataBrowserNoDisjointSelection = 1 << 4, /* * ListMgr lNoDisjoint */
- kDataBrowserAlwaysExtendSelection = 1 << 5, /* * ListMgr lExtendDrag */
- kDataBrowserNeverEmptySelectionSet = 1 << 6 /* * ListMgr lNoNilHilite */
- };
-
- /* Data Browser Sorting */
- typedef UInt16 DataBrowserSortOrder;
- enum
- {
- kDataBrowserOrderUndefined = 0, /* Not currently supported */
- kDataBrowserOrderIncreasing = 1,
- kDataBrowserOrderDecreasing = 2
- };
-
- /* Data Browser Item Management */
- typedef UInt32 DataBrowserItemID;
- enum
- {
- kDataBrowserNoItem = 0L /* Reserved DataBrowserItemID */
- };
-
- typedef UInt32 DataBrowserItemState;
- enum
- {
- kDataBrowserItemNoState = 0,
- kDataBrowserItemAnyState = (unsigned long)(-1),
- kDataBrowserItemIsSelected = 1 << 0,
- kDataBrowserContainerIsOpen = 1 << 1,
- kDataBrowserItemIsDragTarget = 1 << 2 /* During a drag operation */
- };
-
- /* Options for use with RevealDataBrowserItem */
- typedef UInt8 DataBrowserRevealOptions;
- enum
- {
- kDataBrowserRevealOnly = 0,
- kDataBrowserRevealAndCenterInView = 1 << 0,
- kDataBrowserRevealWithoutSelecting = 1 << 1
- };
-
- /* Set operations for use with SetDataBrowserSelectedItems */
- typedef UInt32 DataBrowserSetOption;
- enum
- {
- kDataBrowserItemsAdd = 0, /* add specified items to existing set */
- kDataBrowserItemsAssign = 1, /* assign destination set to specified items */
- kDataBrowserItemsToggle = 2, /* toggle membership state of specified items */
- kDataBrowserItemsRemove = 3 /* remove specified items from existing set */
- };
-
- /* Commands for use with MoveDataBrowserSelectionAnchor */
- typedef UInt32 DataBrowserSelectionAnchorDirection;
- enum
- {
- kDataBrowserSelectionAnchorUp = 0,
- kDataBrowserSelectionAnchorDown = 1,
- kDataBrowserSelectionAnchorLeft = 2,
- kDataBrowserSelectionAnchorRight = 3
- };
-
- /* Edit menu command IDs for use with Enable/ExecuteDataBrowserEditCommand */
- typedef UInt32 DataBrowserEditCommand;
- enum
- {
- kDataBrowserEditMsgUndo = kHICommandUndo,
- kDataBrowserEditMsgRedo = kHICommandRedo,
- kDataBrowserEditMsgCut = kHICommandCut,
- kDataBrowserEditMsgCopy = kHICommandCopy,
- kDataBrowserEditMsgPaste = kHICommandPaste,
- kDataBrowserEditMsgClear = kHICommandClear,
- kDataBrowserEditMsgSelectAll = kHICommandSelectAll
- };
-
- /* Notifications used in DataBrowserItemNotificationProcPtr */
- typedef UInt32 DataBrowserItemNotification;
- enum
- {
- kDataBrowserItemAdded = 1, /* The specified item has been added to the browser */
- kDataBrowserItemRemoved = 2, /* The specified item has been removed from the browser */
- kDataBrowserEditStarted = 3, /* Starting an EditText session for specified item */
- kDataBrowserEditStopped = 4, /* Stopping an EditText session for specified item */
- kDataBrowserItemSelected = 5, /* Item has just been added to the selection set */
- kDataBrowserItemDeselected = 6, /* Item has just been removed from the selection set */
- kDataBrowserItemDoubleClicked = 7,
- kDataBrowserContainerOpened = 8, /* Container is open */
- kDataBrowserContainerClosing = 9, /* Container is about to close (and will real soon now, y'all) */
- kDataBrowserContainerClosed = 10, /* Container is closed (y'all come back now!) */
- kDataBrowserContainerSorting = 11, /* Container is about to be sorted (lock any volatile properties) */
- kDataBrowserContainerSorted = 12, /* Container has been sorted (you may release any property locks) */
- kDataBrowserUserToggledContainer = 16, /* _User_ requested container open/close state to be toggled */
- kDataBrowserTargetChanged = 15, /* The target has changed to the specified item */
- kDataBrowserUserStateChanged = 13, /* The user has reformatted the view for the target */
- kDataBrowserSelectionSetChanged = 14 /* The selection set has been modified (net result may be the same) */
- };
-
- /* DataBrowser Property Management */
- /* 0-1023 reserved; >= 1024 for client use */
- typedef UInt32 DataBrowserPropertyID;
- enum
- {
- /* Predefined attribute properties, optional & non-display unless otherwise stated */
- kDataBrowserItemNoProperty = 0L, /* The anti-property (no associated data) */
- kDataBrowserItemIsActiveProperty = 1L, /* Boolean typed data (defaults to true) */
- kDataBrowserItemIsSelectableProperty = 2L, /* Boolean typed data (defaults to true) */
- kDataBrowserItemIsEditableProperty = 3L, /* Boolean typed data (defaults to false, used for editable properties) */
- kDataBrowserItemIsContainerProperty = 4L, /* Boolean typed data (defaults to false) */
- kDataBrowserContainerIsOpenableProperty = 5L, /* Boolean typed data (defaults to true) */
- kDataBrowserContainerIsClosableProperty = 6L, /* Boolean typed data (defaults to true) */
- kDataBrowserContainerIsSortableProperty = 7L, /* Boolean typed data (defaults to true) */
- kDataBrowserItemSelfIdentityProperty = 8L, /* kDataBrowserIconAndTextType (display property; ColumnView only) */
- kDataBrowserContainerAliasIDProperty = 9L, /* DataBrowserItemID (alias/symlink an item to a container item) */
- kDataBrowserColumnViewPreviewProperty = 10L, /* kDataBrowserCustomType (display property; ColumnView only) */
- kDataBrowserItemParentContainerProperty = 11L /* DataBrowserItemID (the parent of the specified item, used by ColumnView) */
- };
-
- /* DataBrowser Property Types (for display properties; i.e. ListView columns) */
- /* These are primarily presentation types (or styles) although */
- /* they also imply a particular set of primitive types or structures. */
- typedef OSType DataBrowserPropertyType;
- enum
- {
- /* == Corresponding data type or structure == */
- kDataBrowserCustomType = 0x3F3F3F3F, /* No associated data, custom callbacks used */
- kDataBrowserIconType = FOUR_CHAR_CODE('icnr'), /* IconRef, IconTransformType, RGBColor */
- kDataBrowserTextType = FOUR_CHAR_CODE('text'), /* CFStringRef */
- kDataBrowserDateTimeType = FOUR_CHAR_CODE('date'), /* DateTime or LongDateTime */
- kDataBrowserSliderType = FOUR_CHAR_CODE('sldr'), /* Min, Max, Value */
- kDataBrowserCheckboxType = FOUR_CHAR_CODE('chbx'), /* ThemeButtonValue */
- kDataBrowserProgressBarType = FOUR_CHAR_CODE('prog'), /* Min, Max, Value */
- kDataBrowserRelevanceRankType = FOUR_CHAR_CODE('rank'), /* Min, Max, Value */
- kDataBrowserPopupMenuType = FOUR_CHAR_CODE('menu'), /* MenuRef, Value */
- kDataBrowserIconAndTextType = FOUR_CHAR_CODE('ticn') /* IconRef, CFStringRef, etc */
- };
-
- /* DataBrowser Property Parts */
- /* Visual components of a property type. */
- /* For use with GetDataBrowserItemPartBounds. */
- typedef OSType DataBrowserPropertyPart;
- enum
- {
- kDataBrowserPropertyEnclosingPart = 0L,
- kDataBrowserPropertyContentPart = FOUR_CHAR_CODE('----'),
- kDataBrowserPropertyDisclosurePart = FOUR_CHAR_CODE('disc'),
- kDataBrowserPropertyTextPart = kDataBrowserTextType,
- kDataBrowserPropertyIconPart = kDataBrowserIconType,
- kDataBrowserPropertySliderPart = kDataBrowserSliderType,
- kDataBrowserPropertyCheckboxPart = kDataBrowserCheckboxType,
- kDataBrowserPropertyProgressBarPart = kDataBrowserProgressBarType,
- kDataBrowserPropertyRelevanceRankPart = kDataBrowserRelevanceRankType
- };
-
- /* Modify appearance/behavior of display properties */
- typedef unsigned long DataBrowserPropertyFlags;
- /* Low 8 bits apply to all property types */
- enum
- {
- kDataBrowserUniversalPropertyFlagsMask = 0xFF,
- kDataBrowserPropertyIsMutable = 1 << 0,
- kDataBrowserDefaultPropertyFlags = 0 << 0,
- kDataBrowserUniversalPropertyFlags = kDataBrowserUniversalPropertyFlagsMask, /* support for an old name*/
- kDataBrowserPropertyIsEditable = kDataBrowserPropertyIsMutable /* support for an old name*/
- };
-
- /* Next 8 bits contain property-specific modifiers */
- enum
- {
- kDataBrowserPropertyFlagsOffset = 8,
- kDataBrowserPropertyFlagsMask = 0xFF << kDataBrowserPropertyFlagsOffset,
- kDataBrowserCheckboxTriState = 1 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserCheckboxType*/
- kDataBrowserDateTimeRelative = 1 << (kDataBrowserPropertyFlagsOffset), /* kDataBrowserDateTimeType */
- kDataBrowserDateTimeDateOnly = 1 << (kDataBrowserPropertyFlagsOffset + 1), /* kDataBrowserDateTimeType */
- kDataBrowserDateTimeTimeOnly = 1 << (kDataBrowserPropertyFlagsOffset + 2), /* kDataBrowserDateTimeType */
- kDataBrowserDateTimeSecondsToo = 1 << (kDataBrowserPropertyFlagsOffset + 3), /* kDataBrowserDateTimeType */
- kDataBrowserSliderPlainThumb = kThemeThumbPlain << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */
- kDataBrowserSliderUpwardThumb = kThemeThumbUpward << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */
- kDataBrowserSliderDownwardThumb = kThemeThumbDownward << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */
- kDataBrowserDoNotTruncateText = 3 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */
- kDataBrowserTruncateTextAtEnd = 2 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */
- kDataBrowserTruncateTextMiddle = 0 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */
- kDataBrowserTruncateTextAtStart = 1 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */
- kDataBrowserPropertyModificationFlags = kDataBrowserPropertyFlagsMask, /* support for an old name*/
- kDataBrowserRelativeDateTime = kDataBrowserDateTimeRelative /* support for an old name*/
- };
-
- /*
- Next 8 bits contain viewStyle-specific modifiers
- See individual ViewStyle sections below for flag definitions
- */
- enum
- {
- kDataBrowserViewSpecificFlagsOffset = 16,
- kDataBrowserViewSpecificFlagsMask = 0xFF << kDataBrowserViewSpecificFlagsOffset,
- kDataBrowserViewSpecificPropertyFlags = kDataBrowserViewSpecificFlagsMask /* support for an old name*/
- };
-
- /* High 8 bits are reserved for client application use */
- enum
- {
- kDataBrowserClientPropertyFlagsOffset = 24,
- kDataBrowserClientPropertyFlagsMask = (unsigned long)(0xFF << kDataBrowserClientPropertyFlagsOffset)
- };
-
- /* Client defined property description */
- struct DataBrowserPropertyDesc
- {
- DataBrowserPropertyID propertyID;
- DataBrowserPropertyType propertyType;
- DataBrowserPropertyFlags propertyFlags;
- };
- typedef struct DataBrowserPropertyDesc DataBrowserPropertyDesc;
- /* Callback definition for use with ForEachDataBrowserItem */
- typedef CALLBACK_API(void , DataBrowserItemProcPtr)(DataBrowserItemID item, DataBrowserItemState state, void *clientData);
- typedef STACK_UPP_TYPE(DataBrowserItemProcPtr) DataBrowserItemUPP;
- /*
- * NewDataBrowserItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserItemUPP)
- NewDataBrowserItemUPP(DataBrowserItemProcPtr userRoutine);
-
- /*
- * DisposeDataBrowserItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemUPP(DataBrowserItemUPP userUPP);
-
- /*
- * InvokeDataBrowserItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserItemUPP(
- DataBrowserItemID item,
- DataBrowserItemState state,
- void * clientData,
- DataBrowserItemUPP userUPP);
-
- /* Creation/Configuration */
- /*
- * CreateDataBrowserControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateDataBrowserControl(
- WindowRef window,
- const Rect * boundsRect,
- DataBrowserViewStyle style,
- ControlRef * outControl);
-
-
- /*
- * GetDataBrowserViewStyle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserViewStyle(
- ControlRef browser,
- DataBrowserViewStyle * style);
-
-
- /*
- * SetDataBrowserViewStyle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserViewStyle(
- ControlRef browser,
- DataBrowserViewStyle style);
-
-
- /* Item Manipulation */
- /* Passing NULL for "items" argument to RemoveDataBrowserItems and */
- /* UpdateDataBrowserItems refers to all items in the specified container. */
- /* Passing NULL for "items" argument to AddDataBrowserItems means */
- /* "generate IDs starting from 1." */
- /*
- * AddDataBrowserItems()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- AddDataBrowserItems(
- ControlRef browser,
- DataBrowserItemID container,
- UInt32 numItems,
- const DataBrowserItemID * items, /* can be NULL */
- DataBrowserPropertyID preSortProperty);
-
-
- /*
- * RemoveDataBrowserItems()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveDataBrowserItems(
- ControlRef browser,
- DataBrowserItemID container,
- UInt32 numItems,
- const DataBrowserItemID * items, /* can be NULL */
- DataBrowserPropertyID preSortProperty);
-
-
- /*
- * UpdateDataBrowserItems()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UpdateDataBrowserItems(
- ControlRef browser,
- DataBrowserItemID container,
- UInt32 numItems,
- const DataBrowserItemID * items, /* can be NULL */
- DataBrowserPropertyID preSortProperty,
- DataBrowserPropertyID propertyID);
-
-
- /* Edit Menu Enabling and Handling */
- /*
- * EnableDataBrowserEditCommand()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- EnableDataBrowserEditCommand(
- ControlRef browser,
- DataBrowserEditCommand command);
-
-
- /*
- * ExecuteDataBrowserEditCommand()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ExecuteDataBrowserEditCommand(
- ControlRef browser,
- DataBrowserEditCommand command);
-
-
- /*
- * GetDataBrowserSelectionAnchor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserSelectionAnchor(
- ControlRef browser,
- DataBrowserItemID * first,
- DataBrowserItemID * last);
-
-
- /*
- * MoveDataBrowserSelectionAnchor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- MoveDataBrowserSelectionAnchor(
- ControlRef browser,
- DataBrowserSelectionAnchorDirection direction,
- Boolean extendSelection);
-
-
- /* Container Manipulation */
- /*
- * OpenDataBrowserContainer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OpenDataBrowserContainer(
- ControlRef browser,
- DataBrowserItemID container);
-
-
- /*
- * CloseDataBrowserContainer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CloseDataBrowserContainer(
- ControlRef browser,
- DataBrowserItemID container);
-
-
- /*
- * SortDataBrowserContainer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SortDataBrowserContainer(
- ControlRef browser,
- DataBrowserItemID container,
- Boolean sortChildren);
-
-
- /* Aggregate Item Access and Iteration */
- /*
- * GetDataBrowserItems()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItems(
- ControlRef browser,
- DataBrowserItemID container,
- Boolean recurse,
- DataBrowserItemState state,
- Handle items);
-
-
- /*
- * GetDataBrowserItemCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemCount(
- ControlRef browser,
- DataBrowserItemID container,
- Boolean recurse,
- DataBrowserItemState state,
- UInt32 * numItems);
-
-
- /*
- * ForEachDataBrowserItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ForEachDataBrowserItem(
- ControlRef browser,
- DataBrowserItemID container,
- Boolean recurse,
- DataBrowserItemState state,
- DataBrowserItemUPP callback,
- void * clientData);
-
-
- /* Individual Item Access and Display */
- /*
- * IsDataBrowserItemSelected()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsDataBrowserItemSelected(
- ControlRef browser,
- DataBrowserItemID item);
-
-
- /*
- * GetDataBrowserItemState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemState(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserItemState * state);
-
-
- /*
- * RevealDataBrowserItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RevealDataBrowserItem(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserPropertyID propertyID,
- DataBrowserRevealOptions options);
-
-
- /* Selection Set Manipulation */
- /*
- * SetDataBrowserSelectedItems()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserSelectedItems(
- ControlRef browser,
- UInt32 numItems,
- const DataBrowserItemID * items,
- DataBrowserSetOption operation);
-
-
-
- /* DataBrowser Attribute Manipulation */
- /* The user customizable portion of the current view style settings */
- /*
- * SetDataBrowserUserState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserUserState(
- ControlRef browser,
- CFDataRef stateInfo);
-
-
- /*
- * GetDataBrowserUserState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserUserState(
- ControlRef browser,
- CFDataRef * stateInfo);
-
-
- /* All items are active/enabled or not */
- /*
- * SetDataBrowserActiveItems()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserActiveItems(
- ControlRef browser,
- Boolean active);
-
-
- /*
- * GetDataBrowserActiveItems()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserActiveItems(
- ControlRef browser,
- Boolean * active);
-
-
- /* Inset the scrollbars within the DataBrowser bounds */
- /*
- * SetDataBrowserScrollBarInset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserScrollBarInset(
- ControlRef browser,
- Rect * insetRect);
-
-
- /*
- * GetDataBrowserScrollBarInset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserScrollBarInset(
- ControlRef browser,
- Rect * insetRect);
-
-
- /* The "user focused" item */
- /* For the ListView, this means the root container */
- /* For the ColumnView, this means the rightmost container column */
- /*
- * SetDataBrowserTarget()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTarget(
- ControlRef browser,
- DataBrowserItemID target);
-
-
- /*
- * GetDataBrowserTarget()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTarget(
- ControlRef browser,
- DataBrowserItemID * target);
-
-
- /* Current sort ordering */
- /* ListView tracks this per-column */
- /*
- * SetDataBrowserSortOrder()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserSortOrder(
- ControlRef browser,
- DataBrowserSortOrder order);
-
-
- /*
- * GetDataBrowserSortOrder()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserSortOrder(
- ControlRef browser,
- DataBrowserSortOrder * order);
-
-
- /* Scrollbar values */
- /*
- * SetDataBrowserScrollPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserScrollPosition(
- ControlRef browser,
- UInt32 top,
- UInt32 left);
-
-
- /*
- * GetDataBrowserScrollPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserScrollPosition(
- ControlRef browser,
- UInt32 * top,
- UInt32 * left);
-
-
- /* Show/Hide each scrollbar */
- /*
- * SetDataBrowserHasScrollBars()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserHasScrollBars(
- ControlRef browser,
- Boolean horiz,
- Boolean vert);
-
-
- /*
- * GetDataBrowserHasScrollBars()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserHasScrollBars(
- ControlRef browser,
- Boolean * horiz,
- Boolean * vert);
-
-
- /* Property passed to sort callback (ListView sort column) */
- /*
- * SetDataBrowserSortProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserSortProperty(
- ControlRef browser,
- DataBrowserPropertyID property);
-
-
- /*
- * GetDataBrowserSortProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserSortProperty(
- ControlRef browser,
- DataBrowserPropertyID * property);
-
-
- /* Modify selection behavior */
- /*
- * SetDataBrowserSelectionFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserSelectionFlags(
- ControlRef browser,
- DataBrowserSelectionFlags selectionFlags);
-
-
- /*
- * GetDataBrowserSelectionFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserSelectionFlags(
- ControlRef browser,
- DataBrowserSelectionFlags * selectionFlags);
-
-
- /* Dynamically modify property appearance/behavior */
- /*
- * SetDataBrowserPropertyFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserPropertyFlags(
- ControlRef browser,
- DataBrowserPropertyID property,
- DataBrowserPropertyFlags flags);
-
-
- /*
- * GetDataBrowserPropertyFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserPropertyFlags(
- ControlRef browser,
- DataBrowserPropertyID property,
- DataBrowserPropertyFlags * flags);
-
-
- /* Text of current in-place edit session */
- /*
- * SetDataBrowserEditText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserEditText(
- ControlRef browser,
- CFStringRef text);
-
-
- /*
- * CopyDataBrowserEditText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CopyDataBrowserEditText(
- ControlRef browser,
- CFStringRef * text);
-
-
- /*
- * GetDataBrowserEditText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserEditText(
- ControlRef browser,
- CFMutableStringRef text);
-
-
- /* Item/property currently being edited */
- /*
- * SetDataBrowserEditItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserEditItem(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserPropertyID property);
-
-
- /*
- * GetDataBrowserEditItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserEditItem(
- ControlRef browser,
- DataBrowserItemID * item,
- DataBrowserPropertyID * property);
-
-
- /* Get the current bounds of a visual part of an item's property */
- /*
- * GetDataBrowserItemPartBounds()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemPartBounds(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserPropertyID property,
- DataBrowserPropertyPart part,
- Rect * bounds);
-
-
-
- /* DataBrowser ItemData Accessors (used within DataBrowserItemData callback) */
-
- typedef void * DataBrowserItemDataRef;
- /*
- * SetDataBrowserItemDataIcon()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataIcon(
- DataBrowserItemDataRef itemData,
- IconRef theData);
-
-
- /*
- * GetDataBrowserItemDataIcon()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataIcon(
- DataBrowserItemDataRef itemData,
- IconRef * theData);
-
-
- /*
- * SetDataBrowserItemDataText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataText(
- DataBrowserItemDataRef itemData,
- CFStringRef theData);
-
-
- /*
- * GetDataBrowserItemDataText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataText(
- DataBrowserItemDataRef itemData,
- CFStringRef * theData);
-
-
-
- /*
- * SetDataBrowserItemDataValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataValue(
- DataBrowserItemDataRef itemData,
- SInt32 theData);
-
-
- /*
- * GetDataBrowserItemDataValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataValue(
- DataBrowserItemDataRef itemData,
- SInt32 * theData);
-
-
- /*
- * SetDataBrowserItemDataMinimum()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataMinimum(
- DataBrowserItemDataRef itemData,
- SInt32 theData);
-
-
- /*
- * GetDataBrowserItemDataMinimum()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataMinimum(
- DataBrowserItemDataRef itemData,
- SInt32 * theData);
-
-
- /*
- * SetDataBrowserItemDataMaximum()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataMaximum(
- DataBrowserItemDataRef itemData,
- SInt32 theData);
-
-
- /*
- * GetDataBrowserItemDataMaximum()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataMaximum(
- DataBrowserItemDataRef itemData,
- SInt32 * theData);
-
-
- /*
- * SetDataBrowserItemDataBooleanValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataBooleanValue(
- DataBrowserItemDataRef itemData,
- Boolean theData);
-
-
- /*
- * GetDataBrowserItemDataBooleanValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataBooleanValue(
- DataBrowserItemDataRef itemData,
- Boolean * theData);
-
-
- /*
- * SetDataBrowserItemDataMenuRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataMenuRef(
- DataBrowserItemDataRef itemData,
- MenuRef theData);
-
-
- /*
- * GetDataBrowserItemDataMenuRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataMenuRef(
- DataBrowserItemDataRef itemData,
- MenuRef * theData);
-
-
- /*
- * SetDataBrowserItemDataRGBColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataRGBColor(
- DataBrowserItemDataRef itemData,
- const RGBColor * theData);
-
-
- /*
- * GetDataBrowserItemDataRGBColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataRGBColor(
- DataBrowserItemDataRef itemData,
- RGBColor * theData);
-
-
-
- /*
- * SetDataBrowserItemDataDrawState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataDrawState(
- DataBrowserItemDataRef itemData,
- ThemeDrawState theData);
-
-
- /*
- * GetDataBrowserItemDataDrawState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataDrawState(
- DataBrowserItemDataRef itemData,
- ThemeDrawState * theData);
-
-
- /*
- * SetDataBrowserItemDataButtonValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataButtonValue(
- DataBrowserItemDataRef itemData,
- ThemeButtonValue theData);
-
-
- /*
- * GetDataBrowserItemDataButtonValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataButtonValue(
- DataBrowserItemDataRef itemData,
- ThemeButtonValue * theData);
-
-
- /*
- * SetDataBrowserItemDataIconTransform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataIconTransform(
- DataBrowserItemDataRef itemData,
- IconTransformType theData);
-
-
- /*
- * GetDataBrowserItemDataIconTransform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataIconTransform(
- DataBrowserItemDataRef itemData,
- IconTransformType * theData);
-
-
-
- /*
- * SetDataBrowserItemDataDateTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataDateTime(
- DataBrowserItemDataRef itemData,
- long theData);
-
-
- /*
- * GetDataBrowserItemDataDateTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataDateTime(
- DataBrowserItemDataRef itemData,
- long * theData);
-
-
- /*
- * SetDataBrowserItemDataLongDateTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataLongDateTime(
- DataBrowserItemDataRef itemData,
- const LongDateTime * theData);
-
-
- /*
- * GetDataBrowserItemDataLongDateTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataLongDateTime(
- DataBrowserItemDataRef itemData,
- LongDateTime * theData);
-
-
-
- /*
- * SetDataBrowserItemDataItemID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserItemDataItemID(
- DataBrowserItemDataRef itemData,
- DataBrowserItemID theData);
-
-
- /*
- * GetDataBrowserItemDataItemID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataItemID(
- DataBrowserItemDataRef itemData,
- DataBrowserItemID * theData);
-
-
- /*
- * GetDataBrowserItemDataProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserItemDataProperty(
- DataBrowserItemDataRef itemData,
- DataBrowserPropertyID * theData);
-
-
-
- /* Standard DataBrowser Callbacks */
-
- /* Basic Item Management & Manipulation */
- typedef CALLBACK_API(OSStatus , DataBrowserItemDataProcPtr)(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserItemDataRef itemData, Boolean setValue);
- typedef STACK_UPP_TYPE(DataBrowserItemDataProcPtr) DataBrowserItemDataUPP;
-
- /* Item Comparison */
- typedef CALLBACK_API(Boolean , DataBrowserItemCompareProcPtr)(ControlRef browser, DataBrowserItemID itemOne, DataBrowserItemID itemTwo, DataBrowserPropertyID sortProperty);
- typedef STACK_UPP_TYPE(DataBrowserItemCompareProcPtr) DataBrowserItemCompareUPP;
-
- /* ItemEvent Notification */
- /* A Very Important Note about DataBrowserItemNotificationProcPtr: */
- /* */
- /* Under all currently shipping versions of CarbonLib (eg. up through 1.3), your callback is called */
- /* just as the prototype appears in this header. It should only be expecting three parameters because */
- /* DataBrowser will only pass three parameters. */
- /* */
- /* Under Mac OS X, your callback is called with an additional parameter. If you wish to interpret */
- /* the additional parameter, your callback should have the same prototype as the */
- /* DataBrowserItemNotificationWithItemProcPtr (below). You may freely take a callback with this */
- /* prototype and pass it to NewDataBrowserItemNotificationUPP in order to generate a */
- /* DataBrowserItemNotificationUPP that you can use just like any other DataBrowserItemNotificationUPP. */
- /* */
- /* If you use this technique under CarbonLib, you will *not* receive valid data in the fourth */
- /* parameter, and any attempt to use the invalid data will probably result in a crash. */
- typedef CALLBACK_API(void , DataBrowserItemNotificationWithItemProcPtr)(ControlRef browser, DataBrowserItemID item, DataBrowserItemNotification message, DataBrowserItemDataRef itemData);
- typedef CALLBACK_API(void , DataBrowserItemNotificationProcPtr)(ControlRef browser, DataBrowserItemID item, DataBrowserItemNotification message);
- typedef STACK_UPP_TYPE(DataBrowserItemNotificationWithItemProcPtr) DataBrowserItemNotificationWithItemUPP;
- typedef STACK_UPP_TYPE(DataBrowserItemNotificationProcPtr) DataBrowserItemNotificationUPP;
-
-
- /* Drag & Drop Processing */
- typedef CALLBACK_API(Boolean , DataBrowserAddDragItemProcPtr)(ControlRef browser, DragReference theDrag, DataBrowserItemID item, ItemReference *itemRef);
- typedef CALLBACK_API(Boolean , DataBrowserAcceptDragProcPtr)(ControlRef browser, DragReference theDrag, DataBrowserItemID item);
- typedef CALLBACK_API(Boolean , DataBrowserReceiveDragProcPtr)(ControlRef browser, DragReference theDrag, DataBrowserItemID item);
- typedef CALLBACK_API(void , DataBrowserPostProcessDragProcPtr)(ControlRef browser, DragReference theDrag, OSStatus trackDragResult);
- typedef STACK_UPP_TYPE(DataBrowserAddDragItemProcPtr) DataBrowserAddDragItemUPP;
- typedef STACK_UPP_TYPE(DataBrowserAcceptDragProcPtr) DataBrowserAcceptDragUPP;
- typedef STACK_UPP_TYPE(DataBrowserReceiveDragProcPtr) DataBrowserReceiveDragUPP;
- typedef STACK_UPP_TYPE(DataBrowserPostProcessDragProcPtr) DataBrowserPostProcessDragUPP;
-
- /* Contextual Menu Support */
- typedef CALLBACK_API(void , DataBrowserGetContextualMenuProcPtr)(ControlRef browser, MenuRef *menu, UInt32 *helpType, CFStringRef *helpItemString, AEDesc *selection);
- typedef CALLBACK_API(void , DataBrowserSelectContextualMenuProcPtr)(ControlRef browser, MenuRef menu, UInt32 selectionType, SInt16 menuID, MenuItemIndex menuItem);
- typedef STACK_UPP_TYPE(DataBrowserGetContextualMenuProcPtr) DataBrowserGetContextualMenuUPP;
- typedef STACK_UPP_TYPE(DataBrowserSelectContextualMenuProcPtr) DataBrowserSelectContextualMenuUPP;
-
- /* Help Manager Support */
- typedef CALLBACK_API(void , DataBrowserItemHelpContentProcPtr)(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
- typedef STACK_UPP_TYPE(DataBrowserItemHelpContentProcPtr) DataBrowserItemHelpContentUPP;
- /*
- * NewDataBrowserItemDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserItemDataUPP)
- NewDataBrowserItemDataUPP(DataBrowserItemDataProcPtr userRoutine);
-
- /*
- * NewDataBrowserItemCompareUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserItemCompareUPP)
- NewDataBrowserItemCompareUPP(DataBrowserItemCompareProcPtr userRoutine);
-
- /*
- * NewDataBrowserItemNotificationWithItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserItemNotificationWithItemUPP)
- NewDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationWithItemProcPtr userRoutine);
-
- /*
- * NewDataBrowserItemNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserItemNotificationUPP)
- NewDataBrowserItemNotificationUPP(DataBrowserItemNotificationProcPtr userRoutine);
-
- /*
- * NewDataBrowserAddDragItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserAddDragItemUPP)
- NewDataBrowserAddDragItemUPP(DataBrowserAddDragItemProcPtr userRoutine);
-
- /*
- * NewDataBrowserAcceptDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserAcceptDragUPP)
- NewDataBrowserAcceptDragUPP(DataBrowserAcceptDragProcPtr userRoutine);
-
- /*
- * NewDataBrowserReceiveDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserReceiveDragUPP)
- NewDataBrowserReceiveDragUPP(DataBrowserReceiveDragProcPtr userRoutine);
-
- /*
- * NewDataBrowserPostProcessDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserPostProcessDragUPP)
- NewDataBrowserPostProcessDragUPP(DataBrowserPostProcessDragProcPtr userRoutine);
-
- /*
- * NewDataBrowserGetContextualMenuUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserGetContextualMenuUPP)
- NewDataBrowserGetContextualMenuUPP(DataBrowserGetContextualMenuProcPtr userRoutine);
-
- /*
- * NewDataBrowserSelectContextualMenuUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserSelectContextualMenuUPP)
- NewDataBrowserSelectContextualMenuUPP(DataBrowserSelectContextualMenuProcPtr userRoutine);
-
- /*
- * NewDataBrowserItemHelpContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataBrowserItemHelpContentUPP)
- NewDataBrowserItemHelpContentUPP(DataBrowserItemHelpContentProcPtr userRoutine);
-
- /*
- * DisposeDataBrowserItemDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemDataUPP(DataBrowserItemDataUPP userUPP);
-
- /*
- * DisposeDataBrowserItemCompareUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemCompareUPP(DataBrowserItemCompareUPP userUPP);
-
- /*
- * DisposeDataBrowserItemNotificationWithItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationWithItemUPP userUPP);
-
- /*
- * DisposeDataBrowserItemNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemNotificationUPP(DataBrowserItemNotificationUPP userUPP);
-
- /*
- * DisposeDataBrowserAddDragItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserAddDragItemUPP(DataBrowserAddDragItemUPP userUPP);
-
- /*
- * DisposeDataBrowserAcceptDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserAcceptDragUPP(DataBrowserAcceptDragUPP userUPP);
-
- /*
- * DisposeDataBrowserReceiveDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserReceiveDragUPP(DataBrowserReceiveDragUPP userUPP);
-
- /*
- * DisposeDataBrowserPostProcessDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserPostProcessDragUPP(DataBrowserPostProcessDragUPP userUPP);
-
- /*
- * DisposeDataBrowserGetContextualMenuUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserGetContextualMenuUPP(DataBrowserGetContextualMenuUPP userUPP);
-
- /*
- * DisposeDataBrowserSelectContextualMenuUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserSelectContextualMenuUPP(DataBrowserSelectContextualMenuUPP userUPP);
-
- /*
- * DisposeDataBrowserItemHelpContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemHelpContentUPP(DataBrowserItemHelpContentUPP userUPP);
-
- /*
- * InvokeDataBrowserItemDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeDataBrowserItemDataUPP(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserPropertyID property,
- DataBrowserItemDataRef itemData,
- Boolean setValue,
- DataBrowserItemDataUPP userUPP);
-
- /*
- * InvokeDataBrowserItemCompareUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeDataBrowserItemCompareUPP(
- ControlRef browser,
- DataBrowserItemID itemOne,
- DataBrowserItemID itemTwo,
- DataBrowserPropertyID sortProperty,
- DataBrowserItemCompareUPP userUPP);
-
- /*
- * InvokeDataBrowserItemNotificationWithItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserItemNotificationWithItemUPP(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserItemNotification message,
- DataBrowserItemDataRef itemData,
- DataBrowserItemNotificationWithItemUPP userUPP);
-
- /*
- * InvokeDataBrowserItemNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserItemNotificationUPP(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserItemNotification message,
- DataBrowserItemNotificationUPP userUPP);
-
- /*
- * InvokeDataBrowserAddDragItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeDataBrowserAddDragItemUPP(
- ControlRef browser,
- DragReference theDrag,
- DataBrowserItemID item,
- ItemReference * itemRef,
- DataBrowserAddDragItemUPP userUPP);
-
- /*
- * InvokeDataBrowserAcceptDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeDataBrowserAcceptDragUPP(
- ControlRef browser,
- DragReference theDrag,
- DataBrowserItemID item,
- DataBrowserAcceptDragUPP userUPP);
-
- /*
- * InvokeDataBrowserReceiveDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeDataBrowserReceiveDragUPP(
- ControlRef browser,
- DragReference theDrag,
- DataBrowserItemID item,
- DataBrowserReceiveDragUPP userUPP);
-
- /*
- * InvokeDataBrowserPostProcessDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserPostProcessDragUPP(
- ControlRef browser,
- DragReference theDrag,
- OSStatus trackDragResult,
- DataBrowserPostProcessDragUPP userUPP);
-
- /*
- * InvokeDataBrowserGetContextualMenuUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserGetContextualMenuUPP(
- ControlRef browser,
- MenuRef * menu,
- UInt32 * helpType,
- CFStringRef * helpItemString,
- AEDesc * selection,
- DataBrowserGetContextualMenuUPP userUPP);
-
- /*
- * InvokeDataBrowserSelectContextualMenuUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserSelectContextualMenuUPP(
- ControlRef browser,
- MenuRef menu,
- UInt32 selectionType,
- SInt16 menuID,
- MenuItemIndex menuItem,
- DataBrowserSelectContextualMenuUPP userUPP);
-
- /*
- * InvokeDataBrowserItemHelpContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserItemHelpContentUPP(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserPropertyID property,
- HMContentRequest inRequest,
- HMContentProvidedType * outContentProvided,
- HMHelpContentPtr ioHelpContent,
- DataBrowserItemHelpContentUPP userUPP);
-
- /* Standard Callback (vtable) Structure */
- enum
- {
- kDataBrowserLatestCallbacks = 0
- };
-
- struct DataBrowserCallbacks
- {
- UInt32 version; /* Use kDataBrowserLatestCallbacks */
-
- union
- {
- struct
- {
- DataBrowserItemDataUPP itemDataCallback;
- DataBrowserItemCompareUPP itemCompareCallback;
- DataBrowserItemNotificationUPP itemNotificationCallback;
-
- DataBrowserAddDragItemUPP addDragItemCallback;
- DataBrowserAcceptDragUPP acceptDragCallback;
- DataBrowserReceiveDragUPP receiveDragCallback;
- DataBrowserPostProcessDragUPP postProcessDragCallback;
-
- DataBrowserItemHelpContentUPP itemHelpContentCallback;
- DataBrowserGetContextualMenuUPP getContextualMenuCallback;
- DataBrowserSelectContextualMenuUPP selectContextualMenuCallback;
- } v1;
- } u;
- };
- typedef struct DataBrowserCallbacks DataBrowserCallbacks;
- /*
- * InitDataBrowserCallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InitDataBrowserCallbacks(DataBrowserCallbacks * callbacks);
-
-
- /* Macro for initializing callback structure */
+/*--------------------------------------------------------------------------------------*/
+/* o STATIC TEXT (CDEF 18) */
+/*--------------------------------------------------------------------------------------*/
+/* Static Text proc IDs */
+enum {
+ kControlStaticTextProc = 288
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindStaticText = FOUR_CHAR_CODE('stxt')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreateStaticTextControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateStaticTextControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef text,
+ const ControlFontStyleRec * style,
+ ControlRef * outControl);
+
+
+
+/* Tagged data supported by static text */
+enum {
+ kControlStaticTextStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/
+ kControlStaticTextTextTag = FOUR_CHAR_CODE('text'), /* Copy of text*/
+ kControlStaticTextTextHeightTag = FOUR_CHAR_CODE('thei') /* SInt16*/
+};
+
+/* Tags available with appearance 1.1 or later */
+enum {
+ kControlStaticTextTruncTag = FOUR_CHAR_CODE('trun') /* TruncCode (-1 means no truncation)*/
+};
+
+/* Tags available with Mac OS X or later */
+enum {
+ kControlStaticTextCFStringTag = FOUR_CHAR_CODE('cfst') /* CFStringRef (Also available on CarbonLib 1.5)*/
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o PICTURE CONTROL (CDEF 19) */
+/*--------------------------------------------------------------------------------------*/
+/* Value parameter should contain the ID of the picture you wish to display when */
+/* creating controls of this type. If you don't want the control tracked at all, use */
+/* the 'no track' variant. */
+/* Picture control proc IDs */
+enum {
+ kControlPictureProc = 304,
+ kControlPictureNoTrackProc = 305 /* immediately returns kControlPicturePart*/
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindPicture = FOUR_CHAR_CODE('pict')
+};
+
+/* Creation API: Carbon only */
+/*
+ * CreatePictureControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreatePictureControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ const ControlButtonContentInfo * content,
+ Boolean dontTrack,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by picture controls */
+enum {
+ kControlPictureHandleTag = FOUR_CHAR_CODE('pich') /* PicHandle*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o ICON CONTROL (CDEF 20) */
+/*--------------------------------------------------------------------------------------*/
+/* Value parameter should contain the ID of the ICON or cicn you wish to display when */
+/* creating controls of this type. If you don't want the control tracked at all, use */
+/* the 'no track' variant. */
+/* Icon control proc IDs */
+enum {
+ kControlIconProc = 320,
+ kControlIconNoTrackProc = 321, /* immediately returns kControlIconPart*/
+ kControlIconSuiteProc = 322,
+ kControlIconSuiteNoTrackProc = 323 /* immediately returns kControlIconPart*/
+};
+
+enum {
+ /* icon ref controls may have either an icon, color icon, icon suite, or icon ref.*/
+ /* for data other than icon, you must set the data by passing a*/
+ /* ControlButtonContentInfo to SetControlData*/
+ kControlIconRefProc = 324,
+ kControlIconRefNoTrackProc = 325 /* immediately returns kControlIconPart*/
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindIcon = FOUR_CHAR_CODE('icon')
+};
+
+/*
+ * CreateIconControl()
+ *
+ * Summary:
+ * Creates an Icon control at a specific position in the specified
+ * window.
+ *
+ * Discussion:
+ * Icon controls display an icon that (optionally) hilites when
+ * clicked on. On Mac OS X, a root control will be created for the
+ * window if one does not already exist. If a root control exists
+ * for the window, the Icon control will be embedded into it.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The WindowRef into which the Icon control will be created.
+ *
+ * inBoundsRect:
+ * The desired position (in coordinates local to the window's
+ * port) for the Icon control.
+ *
+ * inIconContent:
+ * The descriptor for the icon you want the control to display.
+ * Mac OS X and CarbonLib 1.5 (and beyond) support all of the icon
+ * content types. Prior to CarbonLib 1.5, the only content types
+ * that are properly respected are kControlContentIconSuiteRes,
+ * kControlContentCIconRes, and kControlContentICONRes.
+ *
+ * inDontTrack:
+ * A Boolean value indicating whether the control should hilite
+ * when it is clicked on. False means hilite and track the mouse.
+ *
+ * outControl:
+ * On successful output, outControl will contain a reference to
+ * the Icon control.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateIconControl(
+ WindowRef inWindow,
+ const Rect * inBoundsRect,
+ const ControlButtonContentInfo * inIconContent,
+ Boolean inDontTrack,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by icon controls */
+enum {
+ kControlIconTransformTag = FOUR_CHAR_CODE('trfm'), /* IconTransformType*/
+ kControlIconAlignmentTag = FOUR_CHAR_CODE('algn') /* IconAlignmentType*/
+};
+
+/* Tags available with appearance 1.1 or later */
+enum {
+ kControlIconResourceIDTag = FOUR_CHAR_CODE('ires'), /* SInt16 resource ID of icon to use*/
+ kControlIconContentTag = FOUR_CHAR_CODE('cont') /* accepts a ControlButtonContentInfo*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o WINDOW HEADER (CDEF 21) */
+/*--------------------------------------------------------------------------------------*/
+/* Window Header proc IDs */
+enum {
+ kControlWindowHeaderProc = 336, /* normal header*/
+ kControlWindowListViewHeaderProc = 337 /* variant for list views - no bottom line*/
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindWindowHeader = FOUR_CHAR_CODE('whed')
+};
+
+/* Creation API: Carbon Only */
+/*
+ * CreateWindowHeaderControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateWindowHeaderControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ Boolean isListHeader,
+ ControlRef * outControl);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o LIST BOX (CDEF 22) */
+/*--------------------------------------------------------------------------------------*/
+/* Lists use an auxiliary resource to define their format. The resource type used is */
+/* 'ldes' and a definition for it can be found in Appearance.r. The resource ID for */
+/* the ldes is passed in the 'value' parameter when creating the control. You may pass */
+/* zero in value. This tells the List Box control to not use a resource. The list will */
+/* be created with default values, and will use the standard LDEF (0). You can change */
+/* the list by getting the list handle. You can set the LDEF to use by using the tag */
+/* below (kControlListBoxLDEFTag) */
+/* List Box proc IDs */
+enum {
+ kControlListBoxProc = 352,
+ kControlListBoxAutoSizeProc = 353
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindListBox = FOUR_CHAR_CODE('lbox')
+};
+
+/* Creation API: Carbon Only */
+/*
+ * CreateListBoxControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateListBoxControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ Boolean autoSize,
+ SInt16 numRows,
+ SInt16 numColumns,
+ Boolean horizScroll,
+ Boolean vertScroll,
+ SInt16 cellHeight,
+ SInt16 cellWidth,
+ Boolean hasGrowSpace,
+ const ListDefSpec * listDef,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by list box */
+enum {
+ kControlListBoxListHandleTag = FOUR_CHAR_CODE('lhan'), /* ListHandle*/
+ kControlListBoxKeyFilterTag = kControlKeyFilterTag, /* ControlKeyFilterUPP*/
+ kControlListBoxFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/
+};
+
+/* New tags in 1.0.1 or later */
+enum {
+ kControlListBoxDoubleClickTag = FOUR_CHAR_CODE('dblc'), /* Boolean. Was last click a double-click?*/
+ kControlListBoxLDEFTag = FOUR_CHAR_CODE('ldef') /* SInt16. ID of LDEF to use.*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o PUSH BUTTON (CDEF 23) */
+/*--------------------------------------------------------------------------------------*/
+/* The new standard checkbox and radio button controls support a "mixed" value that */
+/* indicates that the current setting contains a mixed set of on and off values. The */
+/* control value used to display this indication is defined in Controls.h: */
+/* */
+/* kControlCheckBoxMixedValue = 2 */
+/* */
+/* Two new variants of the standard pushbutton have been added to the standard control */
+/* suite that draw a color icon next to the control title. One variant draws the icon */
+/* on the left side, the other draws it on the right side (when the system justifica- */
+/* tion is right to left, these are reversed). */
+/* */
+/* When either of the icon pushbuttons are created, the contrlMax field of the control */
+/* record is used to determine the ID of the 'cicn' resource drawn in the pushbutton. */
+/* */
+/* In addition, a push button can now be told to draw with a default outline using the */
+/* SetControlData routine with the kControlPushButtonDefaultTag below. */
+/* */
+/* A push button may also be marked using the kControlPushButtonCancelTag. This has */
+/* no visible representation, but does cause the button to play the CancelButton theme */
+/* sound instead of the regular pushbutton theme sound when pressed. */
+/* */
+/* Theme Push Button/Check Box/Radio Button proc IDs */
+enum {
+ kControlPushButtonProc = 368,
+ kControlCheckBoxProc = 369,
+ kControlRadioButtonProc = 370,
+ kControlPushButLeftIconProc = 374, /* Standard pushbutton with left-side icon*/
+ kControlPushButRightIconProc = 375 /* Standard pushbutton with right-side icon*/
+};
+
+/* Variants with Appearance 1.1 or later */
+enum {
+ kControlCheckBoxAutoToggleProc = 371,
+ kControlRadioButtonAutoToggleProc = 372
+};
+
+/* Push Button Icon Alignments */
+typedef UInt16 ControlPushButtonIconAlignment;
+enum {
+ kControlPushButtonIconOnLeft = 6,
+ kControlPushButtonIconOnRight = 7
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindPushButton = FOUR_CHAR_CODE('push'),
+ kControlKindPushIconButton = FOUR_CHAR_CODE('picn'),
+ kControlKindRadioButton = FOUR_CHAR_CODE('rdio'),
+ kControlKindCheckBox = FOUR_CHAR_CODE('cbox')
+};
+
+/* Creation APIs: Carbon Only */
+/*
+ * CreatePushButtonControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreatePushButtonControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ ControlRef * outControl);
+
+
+/*
+ * CreatePushButtonWithIconControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreatePushButtonWithIconControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ ControlButtonContentInfo * icon,
+ ControlPushButtonIconAlignment iconAlignment,
+ ControlRef * outControl);
+
+
+/*
+ * CreateRadioButtonControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateRadioButtonControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ SInt32 initialValue,
+ Boolean autoToggle,
+ ControlRef * outControl);
+
+
+/*
+ * CreateCheckBoxControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateCheckBoxControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ SInt32 initialValue,
+ Boolean autoToggle,
+ ControlRef * outControl);
+
+
+
+
+/* Tagged data supported by standard buttons */
+enum {
+ kControlPushButtonDefaultTag = FOUR_CHAR_CODE('dflt'), /* default ring flag*/
+ kControlPushButtonCancelTag = FOUR_CHAR_CODE('cncl') /* cancel button flag (1.1 and later)*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o SCROLL BAR (CDEF 24) */
+/*--------------------------------------------------------------------------------------*/
+/* This is the new Appearance scroll bar. */
+/* */
+/* Theme Scroll Bar proc IDs */
+enum {
+ kControlScrollBarProc = 384, /* normal scroll bar*/
+ kControlScrollBarLiveProc = 386 /* live scrolling variant*/
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindScrollBar = FOUR_CHAR_CODE('sbar')
+};
+
+/* Creation API: Carbon Only */
+/*
+ * CreateScrollBarControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateScrollBarControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ SInt32 value,
+ SInt32 minimum,
+ SInt32 maximum,
+ SInt32 viewSize,
+ Boolean liveTracking,
+ ControlActionUPP liveTrackingProc,
+ ControlRef * outControl);
+
+
+/* These tags are available in Mac OS X or later */
+enum {
+ kControlScrollBarShowsArrowsTag = FOUR_CHAR_CODE('arro') /* Boolean whether or not to draw the scroll arrows*/
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o POPUP BUTTON (CDEF 25) */
+/*--------------------------------------------------------------------------------------*/
+/* This is the new Appearance Popup Button. It takes the same variants and does the */
+/* same overloading as the previous popup menu control. There are some differences: */
+/* */
+/* Passing in a menu ID of -12345 causes the popup not to try and get the menu from a */
+/* resource. Instead, you can build the menu and later stuff the MenuRef field in */
+/* the popup data information. */
+/* */
+/* You can pass -1 in the Max parameter to have the control calculate the width of the */
+/* title on its own instead of guessing and then tweaking to get it right. It adds the */
+/* appropriate amount of space between the title and the popup. */
+/* */
+/* Theme Popup Button proc IDs */
+enum {
+ kControlPopupButtonProc = 400,
+ kControlPopupFixedWidthVariant = 1 << 0,
+ kControlPopupVariableWidthVariant = 1 << 1,
+ kControlPopupUseAddResMenuVariant = 1 << 2,
+ kControlPopupUseWFontVariant = kControlUsesOwningWindowsFontVariant
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindPopupButton = FOUR_CHAR_CODE('popb')
+};
+
+/* Creation API: Carbon Only */
+/*
+ * CreatePopupButtonControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreatePopupButtonControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef title,
+ SInt16 menuID,
+ Boolean variableWidth,
+ SInt16 titleWidth,
+ SInt16 titleJustification,
+ Style titleStyle,
+ ControlRef * outControl);
+
+
+
+
+/* These tags are available in 1.0.1 or later of Appearance */
+enum {
+ kControlPopupButtonMenuHandleTag = FOUR_CHAR_CODE('mhan'), /* MenuRef*/
+ kControlPopupButtonMenuRefTag = FOUR_CHAR_CODE('mhan'), /* MenuRef*/
+ kControlPopupButtonMenuIDTag = FOUR_CHAR_CODE('mnid') /* SInt16*/
+};
+
+/* These tags are available in 1.1 or later of Appearance */
+enum {
+ kControlPopupButtonExtraHeightTag = FOUR_CHAR_CODE('exht'), /* SInt16 - extra vertical whitespace within the button*/
+ kControlPopupButtonOwnedMenuRefTag = FOUR_CHAR_CODE('omrf') /* MenuRef*/
+};
+
+/* These tags are available in Mac OS X */
+enum {
+ kControlPopupButtonCheckCurrentTag = FOUR_CHAR_CODE('chck') /* Boolean - whether the popup puts a checkmark next to the current item (defaults to true)*/
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o RADIO GROUP (CDEF 26) */
+/*--------------------------------------------------------------------------------------*/
+/* This control implements a radio group. It is an embedding control and can therefore */
+/* only be used when a control hierarchy is established for its owning window. You */
+/* should only embed radio buttons within it. As radio buttons are embedded into it, */
+/* the group sets up its value, min, and max to represent the number of embedded items.*/
+/* The current value of the control is the index of the sub-control that is the current*/
+/* 'on' radio button. To get the current radio button control handle, you can use the */
+/* control manager call GetIndSubControl, passing in the value of the radio group. */
+/* */
+/* NOTE: This control is only available with Appearance 1.0.1. */
+/* Radio Group Proc ID */
+enum {
+ kControlRadioGroupProc = 416
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindRadioGroup = FOUR_CHAR_CODE('rgrp')
+};
+
+/* Creation API: Carbon Only */
+/*
+ * CreateRadioGroupControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateRadioGroupControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ ControlRef * outControl);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o SCROLL TEXT BOX (CDEF 27) */
+/*--------------------------------------------------------------------------------------*/
+/* This control implements a scrolling box of (non-editable) text. This is useful for */
+/* credits in about boxes, etc. */
+/* The standard version of this control has a scroll bar, but the autoscrolling */
+/* variant does not. The autoscrolling variant needs two pieces of information to */
+/* work: delay (in ticks) before the scrolling starts, and time (in ticks) between */
+/* scrolls. It will scroll one pixel at a time, unless changed via SetControlData. */
+/* */
+/* Parameter What Goes Here */
+/* ------------------- ---------------------------------------------------- */
+/* Value Resource ID of 'TEXT'/'styl' content. */
+/* Min Scroll start delay (in ticks) . */
+/* Max Delay (in ticks) between scrolls. */
+/* */
+/* NOTE: This control is only available with Appearance 1.1. */
+/* Scroll Text Box Proc IDs */
+enum {
+ kControlScrollTextBoxProc = 432,
+ kControlScrollTextBoxAutoScrollProc = 433
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindScrollingTextBox = FOUR_CHAR_CODE('stbx')
+};
+
+/* Creation API: Carbon Only */
+/*
+ * CreateScrollingTextBoxControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateScrollingTextBoxControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ SInt16 contentResID,
+ Boolean autoScroll,
+ UInt32 delayBeforeAutoScroll,
+ UInt32 delayBetweenAutoScroll,
+ UInt16 autoScrollAmount,
+ ControlRef * outControl);
+
+
+/* Tagged data supported by Scroll Text Box */
+enum {
+ kControlScrollTextBoxDelayBeforeAutoScrollTag = FOUR_CHAR_CODE('stdl'), /* UInt32 (ticks until autoscrolling starts)*/
+ kControlScrollTextBoxDelayBetweenAutoScrollTag = FOUR_CHAR_CODE('scdl'), /* UInt32 (ticks between scrolls)*/
+ kControlScrollTextBoxAutoScrollAmountTag = FOUR_CHAR_CODE('samt'), /* UInt16 (pixels per scroll) -- defaults to 1*/
+ kControlScrollTextBoxContentsTag = FOUR_CHAR_CODE('tres'), /* SInt16 (resource ID of 'TEXT'/'styl') -- write only!*/
+ kControlScrollTextBoxAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean (whether the text box should auto-scroll)*/
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o DISCLOSURE BUTTON */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * CreateDisclosureButtonControl()
+ *
+ * Summary:
+ * Creates a new instance of the Disclosure Button Control.
+ *
+ * Discussion:
+ * CreateDisclosureButtonControl is preferred over NewControl
+ * because it allows you to specify the exact set of parameters
+ * required to create the control without overloading parameter
+ * semantics. The initial minimum of the Disclosure Button will be
+ * kControlDisclosureButtonClosed, and the maximum will be
+ * kControlDisclosureButtonDisclosed.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The WindowRef in which to create the control.
+ *
+ * inBoundsRect:
+ * The bounding rectangle for the control. The height of the
+ * control is fixed and the control will be centered vertically
+ * within the rectangle you specify.
+ *
+ * inValue:
+ * The initial value; either kControlDisclosureButtonClosed or
+ * kControlDisclosureButtonDisclosed.
+ *
+ * inAutoToggles:
+ * A boolean value indicating whether its value should change
+ * automatically after tracking the mouse.
+ *
+ * outControl:
+ * On successful exit, this will contain the new control.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateDisclosureButtonControl(
+ WindowRef inWindow,
+ const Rect * inBoundsRect,
+ SInt32 inValue,
+ Boolean inAutoToggles,
+ ControlRef * outControl);
+
+
+
+/* Control Kind Tag */
+enum {
+ kControlKindDisclosureButton = FOUR_CHAR_CODE('disb')
+};
+
+
+/*
+ * Discussion:
+ * Disclosure Button Values
+ */
+enum {
+
+ /*
+ * The control be drawn suggesting a closed state.
+ */
+ kControlDisclosureButtonClosed = 0,
+
+ /*
+ * The control will be drawn suggesting an open state.
+ */
+ kControlDisclosureButtonDisclosed = 1
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o ROUND BUTTON */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * ControlRoundButtonSize
+ *
+ * Discussion:
+ * Button Sizes
+ */
+typedef SInt16 ControlRoundButtonSize;
+enum {
+
+ /*
+ * A 20 pixel diameter button.
+ */
+ kControlRoundButtonNormalSize = kControlSizeNormal,
+
+ /*
+ * A 25 pixel diameter button.
+ */
+ kControlRoundButtonLargeSize = kControlSizeLarge
+};
+
+/* Data tags supported by the round button controls */
+enum {
+ kControlRoundButtonContentTag = FOUR_CHAR_CODE('cont'), /* ControlButtonContentInfo*/
+ kControlRoundButtonSizeTag = kControlSizeTag /* ControlRoundButtonSize*/
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindRoundButton = FOUR_CHAR_CODE('rndb')
+};
+
+/*
+ * CreateRoundButtonControl()
+ *
+ * Summary:
+ * Creates a new instance of the Round Button Control.
+ *
+ * Discussion:
+ * CreateRoundButtonControl is preferred over NewControl because it
+ * allows you to specify the exact set of parameters required to
+ * create the control without overloading parameter semantics.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The WindowRef in which to create the control.
+ *
+ * inBoundsRect:
+ * The bounding rectangle for the control. The height and width of
+ * the control is fixed (specified by the ControlRoundButtonSize
+ * parameter) and the control will be centered within the
+ * rectangle you specify.
+ *
+ * inSize:
+ * The button size; either kControlRoundButtonNormalSize or
+ * kControlRoundButtonLargeSize.
+ *
+ * inContent:
+ * Any optional content displayed in the button. Currently only
+ * kControlContentIconRef is supported.
+ *
+ * outControl:
+ * On successful exit, this will contain the new control.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateRoundButtonControl(
+ WindowRef inWindow,
+ const Rect * inBoundsRect,
+ ControlRoundButtonSize inSize,
+ ControlButtonContentInfo * inContent,
+ ControlRef * outControl);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o DATA BROWSER */
+/* (CDEF 29) */
+/*--------------------------------------------------------------------------------------*/
+/* This control implements a user interface component for browsing (optionally) */
+/* hiearchical data structures. The browser supports multiple presentation styles */
+/* including, but not limited to: */
+/* */
+/* kDataBrowserListView - items and item properties in */
+/* multi-column (optionally outline) format */
+/* kDataBrowserColumnView - in-place browsing using fixed navigation columns */
+/* */
+/* The browser manages all view styles through a single high-level interface. */
+/* The high-level interface makes the following assumptions: */
+/* */
+/* - Items have unique 32-bit identifiers (0 is reserved) */
+/* */
+/* - Items have two kinds of named and typed properties: */
+/* - Predefined attribute properties ( < 1024 ) */
+/* (including some display properties) */
+/* - Client-defined display properties ( >= 1024 ) */
+/* */
+/* - Some items are containers of other items */
+/* - Items may be sorted by any property */
+/* */
+/* Because a browser doesn't know all details about the type of objects it manages, */
+/* some implementation responsibility is best handled by its client. The client must */
+/* provide a set of callback routines which define the item hierarchy and help to */
+/* populate the browser with items. The client may also provide callbacks for handling */
+/* custom data types and doing low-level event management. */
+/* */
+/* The API is subdivided into a "universal" set of routines that applies to all view */
+/* styles, and a set of routines unique to each view style. kDataBrowserListView and */
+/* kDataBrowserColumnView share an (internal) TableView abstract base class. The */
+/* TableView formatting options and API applies to both of these view styles. */
+/* */
+/* NOTE: This control is only available with CarbonLib 1.1. */
+/* */
+/* NOTE: This control must be created with the CreateDataBrowserControl API in */
+/* CarbonLib 1.1 through 1.4. In Mac OS X and CarbonLib 1.5 and later, you */
+/* may use the control's procID (29) to create the control with NewControl */
+/* or with a 'CNTL' resource. */
+/* Control Kind Tag */
+enum {
+ kControlKindDataBrowser = FOUR_CHAR_CODE('datb')
+};
+
+/* Error Codes */
+enum {
+ errDataBrowserNotConfigured = -4970,
+ errDataBrowserItemNotFound = -4971,
+ errDataBrowserItemNotAdded = -4975,
+ errDataBrowserPropertyNotFound = -4972,
+ errDataBrowserInvalidPropertyPart = -4973,
+ errDataBrowserInvalidPropertyData = -4974,
+ errDataBrowserPropertyNotSupported = -4979 /* Return from DataBrowserGetSetItemDataProc */
+};
+
+enum {
+ /* Generic Control Tags */
+ kControlDataBrowserIncludesFrameAndFocusTag = FOUR_CHAR_CODE('brdr'), /* Boolean */
+ kControlDataBrowserKeyFilterTag = kControlEditTextKeyFilterTag,
+ kControlDataBrowserEditTextKeyFilterTag = kControlDataBrowserKeyFilterTag,
+ kControlDataBrowserEditTextValidationProcTag = kControlEditTextValidationProcTag
+};
+
+/* Data Browser View Styles */
+typedef OSType DataBrowserViewStyle;
+enum {
+ kDataBrowserNoView = 0x3F3F3F3F, /* Error State */
+ kDataBrowserListView = FOUR_CHAR_CODE('lstv'),
+ kDataBrowserColumnView = FOUR_CHAR_CODE('clmv')
+};
+
+/* Selection Flags */
+typedef UInt32 DataBrowserSelectionFlags;
+enum {
+ kDataBrowserDragSelect = 1 << 0, /* * ListMgr lNoRect */
+ kDataBrowserSelectOnlyOne = 1 << 1, /* * ListMgr lOnlyOne */
+ kDataBrowserResetSelection = 1 << 2, /* * ListMgr lNoExtend */
+ kDataBrowserCmdTogglesSelection = 1 << 3, /* * ListMgr lUseSense */
+ kDataBrowserNoDisjointSelection = 1 << 4, /* * ListMgr lNoDisjoint */
+ kDataBrowserAlwaysExtendSelection = 1 << 5, /* * ListMgr lExtendDrag */
+ kDataBrowserNeverEmptySelectionSet = 1 << 6 /* * ListMgr lNoNilHilite */
+};
+
+/* Data Browser Sorting */
+typedef UInt16 DataBrowserSortOrder;
+enum {
+ kDataBrowserOrderUndefined = 0, /* Not currently supported */
+ kDataBrowserOrderIncreasing = 1,
+ kDataBrowserOrderDecreasing = 2
+};
+
+/* Data Browser Item Management */
+typedef UInt32 DataBrowserItemID;
+enum {
+ kDataBrowserNoItem = 0L /* Reserved DataBrowserItemID */
+};
+
+typedef UInt32 DataBrowserItemState;
+enum {
+ kDataBrowserItemNoState = 0,
+ kDataBrowserItemAnyState = (unsigned long)(-1),
+ kDataBrowserItemIsSelected = 1 << 0,
+ kDataBrowserContainerIsOpen = 1 << 1,
+ kDataBrowserItemIsDragTarget = 1 << 2 /* During a drag operation */
+};
+
+/* Options for use with RevealDataBrowserItem */
+typedef UInt8 DataBrowserRevealOptions;
+enum {
+ kDataBrowserRevealOnly = 0,
+ kDataBrowserRevealAndCenterInView = 1 << 0,
+ kDataBrowserRevealWithoutSelecting = 1 << 1
+};
+
+/* Set operations for use with SetDataBrowserSelectedItems */
+typedef UInt32 DataBrowserSetOption;
+enum {
+ kDataBrowserItemsAdd = 0, /* add specified items to existing set */
+ kDataBrowserItemsAssign = 1, /* assign destination set to specified items */
+ kDataBrowserItemsToggle = 2, /* toggle membership state of specified items */
+ kDataBrowserItemsRemove = 3 /* remove specified items from existing set */
+};
+
+/* Commands for use with MoveDataBrowserSelectionAnchor */
+typedef UInt32 DataBrowserSelectionAnchorDirection;
+enum {
+ kDataBrowserSelectionAnchorUp = 0,
+ kDataBrowserSelectionAnchorDown = 1,
+ kDataBrowserSelectionAnchorLeft = 2,
+ kDataBrowserSelectionAnchorRight = 3
+};
+
+/* Edit menu command IDs for use with Enable/ExecuteDataBrowserEditCommand */
+typedef UInt32 DataBrowserEditCommand;
+enum {
+ kDataBrowserEditMsgUndo = kHICommandUndo,
+ kDataBrowserEditMsgRedo = kHICommandRedo,
+ kDataBrowserEditMsgCut = kHICommandCut,
+ kDataBrowserEditMsgCopy = kHICommandCopy,
+ kDataBrowserEditMsgPaste = kHICommandPaste,
+ kDataBrowserEditMsgClear = kHICommandClear,
+ kDataBrowserEditMsgSelectAll = kHICommandSelectAll
+};
+
+/* Notifications used in DataBrowserItemNotificationProcPtr */
+typedef UInt32 DataBrowserItemNotification;
+enum {
+ kDataBrowserItemAdded = 1, /* The specified item has been added to the browser */
+ kDataBrowserItemRemoved = 2, /* The specified item has been removed from the browser */
+ kDataBrowserEditStarted = 3, /* Starting an EditText session for specified item */
+ kDataBrowserEditStopped = 4, /* Stopping an EditText session for specified item */
+ kDataBrowserItemSelected = 5, /* Item has just been added to the selection set */
+ kDataBrowserItemDeselected = 6, /* Item has just been removed from the selection set */
+ kDataBrowserItemDoubleClicked = 7,
+ kDataBrowserContainerOpened = 8, /* Container is open */
+ kDataBrowserContainerClosing = 9, /* Container is about to close (and will real soon now, y'all) */
+ kDataBrowserContainerClosed = 10, /* Container is closed (y'all come back now!) */
+ kDataBrowserContainerSorting = 11, /* Container is about to be sorted (lock any volatile properties) */
+ kDataBrowserContainerSorted = 12, /* Container has been sorted (you may release any property locks) */
+ kDataBrowserUserToggledContainer = 16, /* _User_ requested container open/close state to be toggled */
+ kDataBrowserTargetChanged = 15, /* The target has changed to the specified item */
+ kDataBrowserUserStateChanged = 13, /* The user has reformatted the view for the target */
+ kDataBrowserSelectionSetChanged = 14 /* The selection set has been modified (net result may be the same) */
+};
+
+/* DataBrowser Property Management */
+/* 0-1023 reserved; >= 1024 for client use */
+typedef UInt32 DataBrowserPropertyID;
+enum {
+ /* Predefined attribute properties, optional & non-display unless otherwise stated */
+ kDataBrowserItemNoProperty = 0L, /* The anti-property (no associated data) */
+ kDataBrowserItemIsActiveProperty = 1L, /* Boolean typed data (defaults to true) */
+ kDataBrowserItemIsSelectableProperty = 2L, /* Boolean typed data (defaults to true) */
+ kDataBrowserItemIsEditableProperty = 3L, /* Boolean typed data (defaults to false, used for editable properties) */
+ kDataBrowserItemIsContainerProperty = 4L, /* Boolean typed data (defaults to false) */
+ kDataBrowserContainerIsOpenableProperty = 5L, /* Boolean typed data (defaults to true) */
+ kDataBrowserContainerIsClosableProperty = 6L, /* Boolean typed data (defaults to true) */
+ kDataBrowserContainerIsSortableProperty = 7L, /* Boolean typed data (defaults to true) */
+ kDataBrowserItemSelfIdentityProperty = 8L, /* kDataBrowserIconAndTextType (display property; ColumnView only) */
+ kDataBrowserContainerAliasIDProperty = 9L, /* DataBrowserItemID (alias/symlink an item to a container item) */
+ kDataBrowserColumnViewPreviewProperty = 10L, /* kDataBrowserCustomType (display property; ColumnView only) */
+ kDataBrowserItemParentContainerProperty = 11L /* DataBrowserItemID (the parent of the specified item, used by ColumnView) */
+};
+
+/* DataBrowser Property Types (for display properties; i.e. ListView columns) */
+/* These are primarily presentation types (or styles) although */
+/* they also imply a particular set of primitive types or structures. */
+typedef OSType DataBrowserPropertyType;
+enum {
+ /* == Corresponding data type or structure == */
+ kDataBrowserCustomType = 0x3F3F3F3F, /* No associated data, custom callbacks used */
+ kDataBrowserIconType = FOUR_CHAR_CODE('icnr'), /* IconRef, IconTransformType, RGBColor */
+ kDataBrowserTextType = FOUR_CHAR_CODE('text'), /* CFStringRef */
+ kDataBrowserDateTimeType = FOUR_CHAR_CODE('date'), /* DateTime or LongDateTime */
+ kDataBrowserSliderType = FOUR_CHAR_CODE('sldr'), /* Min, Max, Value */
+ kDataBrowserCheckboxType = FOUR_CHAR_CODE('chbx'), /* ThemeButtonValue */
+ kDataBrowserProgressBarType = FOUR_CHAR_CODE('prog'), /* Min, Max, Value */
+ kDataBrowserRelevanceRankType = FOUR_CHAR_CODE('rank'), /* Min, Max, Value */
+ kDataBrowserPopupMenuType = FOUR_CHAR_CODE('menu'), /* MenuRef, Value */
+ kDataBrowserIconAndTextType = FOUR_CHAR_CODE('ticn') /* IconRef, CFStringRef, etc */
+};
+
+/* DataBrowser Property Parts */
+/* Visual components of a property type. */
+/* For use with GetDataBrowserItemPartBounds. */
+typedef OSType DataBrowserPropertyPart;
+enum {
+ kDataBrowserPropertyEnclosingPart = 0L,
+ kDataBrowserPropertyContentPart = FOUR_CHAR_CODE('----'),
+ kDataBrowserPropertyDisclosurePart = FOUR_CHAR_CODE('disc'),
+ kDataBrowserPropertyTextPart = kDataBrowserTextType,
+ kDataBrowserPropertyIconPart = kDataBrowserIconType,
+ kDataBrowserPropertySliderPart = kDataBrowserSliderType,
+ kDataBrowserPropertyCheckboxPart = kDataBrowserCheckboxType,
+ kDataBrowserPropertyProgressBarPart = kDataBrowserProgressBarType,
+ kDataBrowserPropertyRelevanceRankPart = kDataBrowserRelevanceRankType
+};
+
+/* Modify appearance/behavior of display properties */
+typedef unsigned long DataBrowserPropertyFlags;
+/* Low 8 bits apply to all property types */
+enum {
+ kDataBrowserUniversalPropertyFlagsMask = 0xFF,
+ kDataBrowserPropertyIsMutable = 1 << 0,
+ kDataBrowserDefaultPropertyFlags = 0 << 0,
+ kDataBrowserUniversalPropertyFlags = kDataBrowserUniversalPropertyFlagsMask, /* support for an old name*/
+ kDataBrowserPropertyIsEditable = kDataBrowserPropertyIsMutable /* support for an old name*/
+};
+
+/* Next 8 bits contain property-specific modifiers */
+enum {
+ kDataBrowserPropertyFlagsOffset = 8,
+ kDataBrowserPropertyFlagsMask = 0xFF << kDataBrowserPropertyFlagsOffset,
+ kDataBrowserCheckboxTriState = 1 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserCheckboxType*/
+ kDataBrowserDateTimeRelative = 1 << (kDataBrowserPropertyFlagsOffset), /* kDataBrowserDateTimeType */
+ kDataBrowserDateTimeDateOnly = 1 << (kDataBrowserPropertyFlagsOffset + 1), /* kDataBrowserDateTimeType */
+ kDataBrowserDateTimeTimeOnly = 1 << (kDataBrowserPropertyFlagsOffset + 2), /* kDataBrowserDateTimeType */
+ kDataBrowserDateTimeSecondsToo = 1 << (kDataBrowserPropertyFlagsOffset + 3), /* kDataBrowserDateTimeType */
+ kDataBrowserSliderPlainThumb = kThemeThumbPlain << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */
+ kDataBrowserSliderUpwardThumb = kThemeThumbUpward << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */
+ kDataBrowserSliderDownwardThumb = kThemeThumbDownward << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */
+ kDataBrowserDoNotTruncateText = 3 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */
+ kDataBrowserTruncateTextAtEnd = 2 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */
+ kDataBrowserTruncateTextMiddle = 0 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */
+ kDataBrowserTruncateTextAtStart = 1 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */
+ kDataBrowserPropertyModificationFlags = kDataBrowserPropertyFlagsMask, /* support for an old name*/
+ kDataBrowserRelativeDateTime = kDataBrowserDateTimeRelative /* support for an old name*/
+};
+
+/*
+ Next 8 bits contain viewStyle-specific modifiers
+ See individual ViewStyle sections below for flag definitions
+*/
+enum {
+ kDataBrowserViewSpecificFlagsOffset = 16,
+ kDataBrowserViewSpecificFlagsMask = 0xFF << kDataBrowserViewSpecificFlagsOffset,
+ kDataBrowserViewSpecificPropertyFlags = kDataBrowserViewSpecificFlagsMask /* support for an old name*/
+};
+
+/* High 8 bits are reserved for client application use */
+enum {
+ kDataBrowserClientPropertyFlagsOffset = 24,
+ kDataBrowserClientPropertyFlagsMask = (unsigned long)(0xFF << kDataBrowserClientPropertyFlagsOffset)
+};
+
+/* Client defined property description */
+struct DataBrowserPropertyDesc {
+ DataBrowserPropertyID propertyID;
+ DataBrowserPropertyType propertyType;
+ DataBrowserPropertyFlags propertyFlags;
+};
+typedef struct DataBrowserPropertyDesc DataBrowserPropertyDesc;
+/* Callback definition for use with ForEachDataBrowserItem */
+typedef CALLBACK_API( void , DataBrowserItemProcPtr )(DataBrowserItemID item, DataBrowserItemState state, void *clientData);
+typedef STACK_UPP_TYPE(DataBrowserItemProcPtr) DataBrowserItemUPP;
+/*
+ * NewDataBrowserItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserItemUPP )
+NewDataBrowserItemUPP(DataBrowserItemProcPtr userRoutine);
+
+/*
+ * DisposeDataBrowserItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemUPP(DataBrowserItemUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserItemUPP(
+ DataBrowserItemID item,
+ DataBrowserItemState state,
+ void * clientData,
+ DataBrowserItemUPP userUPP);
+
+/* Creation/Configuration */
+/*
+ * CreateDataBrowserControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateDataBrowserControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ DataBrowserViewStyle style,
+ ControlRef * outControl);
+
+
+/*
+ * GetDataBrowserViewStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserViewStyle(
+ ControlRef browser,
+ DataBrowserViewStyle * style);
+
+
+/*
+ * SetDataBrowserViewStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserViewStyle(
+ ControlRef browser,
+ DataBrowserViewStyle style);
+
+
+/* Item Manipulation */
+/* Passing NULL for "items" argument to RemoveDataBrowserItems and */
+/* UpdateDataBrowserItems refers to all items in the specified container. */
+/* Passing NULL for "items" argument to AddDataBrowserItems means */
+/* "generate IDs starting from 1." */
+/*
+ * AddDataBrowserItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+AddDataBrowserItems(
+ ControlRef browser,
+ DataBrowserItemID container,
+ UInt32 numItems,
+ const DataBrowserItemID * items, /* can be NULL */
+ DataBrowserPropertyID preSortProperty);
+
+
+/*
+ * RemoveDataBrowserItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveDataBrowserItems(
+ ControlRef browser,
+ DataBrowserItemID container,
+ UInt32 numItems,
+ const DataBrowserItemID * items, /* can be NULL */
+ DataBrowserPropertyID preSortProperty);
+
+
+/*
+ * UpdateDataBrowserItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UpdateDataBrowserItems(
+ ControlRef browser,
+ DataBrowserItemID container,
+ UInt32 numItems,
+ const DataBrowserItemID * items, /* can be NULL */
+ DataBrowserPropertyID preSortProperty,
+ DataBrowserPropertyID propertyID);
+
+
+/* Edit Menu Enabling and Handling */
+/*
+ * EnableDataBrowserEditCommand()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+EnableDataBrowserEditCommand(
+ ControlRef browser,
+ DataBrowserEditCommand command);
+
+
+/*
+ * ExecuteDataBrowserEditCommand()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ExecuteDataBrowserEditCommand(
+ ControlRef browser,
+ DataBrowserEditCommand command);
+
+
+/*
+ * GetDataBrowserSelectionAnchor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserSelectionAnchor(
+ ControlRef browser,
+ DataBrowserItemID * first,
+ DataBrowserItemID * last);
+
+
+/*
+ * MoveDataBrowserSelectionAnchor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+MoveDataBrowserSelectionAnchor(
+ ControlRef browser,
+ DataBrowserSelectionAnchorDirection direction,
+ Boolean extendSelection);
+
+
+/* Container Manipulation */
+/*
+ * OpenDataBrowserContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OpenDataBrowserContainer(
+ ControlRef browser,
+ DataBrowserItemID container);
+
+
+/*
+ * CloseDataBrowserContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CloseDataBrowserContainer(
+ ControlRef browser,
+ DataBrowserItemID container);
+
+
+/*
+ * SortDataBrowserContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SortDataBrowserContainer(
+ ControlRef browser,
+ DataBrowserItemID container,
+ Boolean sortChildren);
+
+
+/* Aggregate Item Access and Iteration */
+/*
+ * GetDataBrowserItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItems(
+ ControlRef browser,
+ DataBrowserItemID container,
+ Boolean recurse,
+ DataBrowserItemState state,
+ Handle items);
+
+
+/*
+ * GetDataBrowserItemCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemCount(
+ ControlRef browser,
+ DataBrowserItemID container,
+ Boolean recurse,
+ DataBrowserItemState state,
+ UInt32 * numItems);
+
+
+/*
+ * ForEachDataBrowserItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ForEachDataBrowserItem(
+ ControlRef browser,
+ DataBrowserItemID container,
+ Boolean recurse,
+ DataBrowserItemState state,
+ DataBrowserItemUPP callback,
+ void * clientData);
+
+
+/* Individual Item Access and Display */
+/*
+ * IsDataBrowserItemSelected()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsDataBrowserItemSelected(
+ ControlRef browser,
+ DataBrowserItemID item);
+
+
+/*
+ * GetDataBrowserItemState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemState(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserItemState * state);
+
+
+/*
+ * RevealDataBrowserItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RevealDataBrowserItem(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserPropertyID propertyID,
+ DataBrowserRevealOptions options);
+
+
+/* Selection Set Manipulation */
+/*
+ * SetDataBrowserSelectedItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserSelectedItems(
+ ControlRef browser,
+ UInt32 numItems,
+ const DataBrowserItemID * items,
+ DataBrowserSetOption operation);
+
+
+
+/* DataBrowser Attribute Manipulation */
+/* The user customizable portion of the current view style settings */
+/*
+ * SetDataBrowserUserState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserUserState(
+ ControlRef browser,
+ CFDataRef stateInfo);
+
+
+/*
+ * GetDataBrowserUserState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserUserState(
+ ControlRef browser,
+ CFDataRef * stateInfo);
+
+
+/* All items are active/enabled or not */
+/*
+ * SetDataBrowserActiveItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserActiveItems(
+ ControlRef browser,
+ Boolean active);
+
+
+/*
+ * GetDataBrowserActiveItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserActiveItems(
+ ControlRef browser,
+ Boolean * active);
+
+
+/* Inset the scrollbars within the DataBrowser bounds */
+/*
+ * SetDataBrowserScrollBarInset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserScrollBarInset(
+ ControlRef browser,
+ Rect * insetRect);
+
+
+/*
+ * GetDataBrowserScrollBarInset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserScrollBarInset(
+ ControlRef browser,
+ Rect * insetRect);
+
+
+/* The "user focused" item */
+/* For the ListView, this means the root container */
+/* For the ColumnView, this means the rightmost container column */
+/*
+ * SetDataBrowserTarget()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTarget(
+ ControlRef browser,
+ DataBrowserItemID target);
+
+
+/*
+ * GetDataBrowserTarget()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTarget(
+ ControlRef browser,
+ DataBrowserItemID * target);
+
+
+/* Current sort ordering */
+/* ListView tracks this per-column */
+/*
+ * SetDataBrowserSortOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserSortOrder(
+ ControlRef browser,
+ DataBrowserSortOrder order);
+
+
+/*
+ * GetDataBrowserSortOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserSortOrder(
+ ControlRef browser,
+ DataBrowserSortOrder * order);
+
+
+/* Scrollbar values */
+/*
+ * SetDataBrowserScrollPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserScrollPosition(
+ ControlRef browser,
+ UInt32 top,
+ UInt32 left);
+
+
+/*
+ * GetDataBrowserScrollPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserScrollPosition(
+ ControlRef browser,
+ UInt32 * top,
+ UInt32 * left);
+
+
+/* Show/Hide each scrollbar */
+/*
+ * SetDataBrowserHasScrollBars()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserHasScrollBars(
+ ControlRef browser,
+ Boolean horiz,
+ Boolean vert);
+
+
+/*
+ * GetDataBrowserHasScrollBars()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserHasScrollBars(
+ ControlRef browser,
+ Boolean * horiz,
+ Boolean * vert);
+
+
+/* Property passed to sort callback (ListView sort column) */
+/*
+ * SetDataBrowserSortProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserSortProperty(
+ ControlRef browser,
+ DataBrowserPropertyID property);
+
+
+/*
+ * GetDataBrowserSortProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserSortProperty(
+ ControlRef browser,
+ DataBrowserPropertyID * property);
+
+
+/* Modify selection behavior */
+/*
+ * SetDataBrowserSelectionFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserSelectionFlags(
+ ControlRef browser,
+ DataBrowserSelectionFlags selectionFlags);
+
+
+/*
+ * GetDataBrowserSelectionFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserSelectionFlags(
+ ControlRef browser,
+ DataBrowserSelectionFlags * selectionFlags);
+
+
+/* Dynamically modify property appearance/behavior */
+/*
+ * SetDataBrowserPropertyFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserPropertyFlags(
+ ControlRef browser,
+ DataBrowserPropertyID property,
+ DataBrowserPropertyFlags flags);
+
+
+/*
+ * GetDataBrowserPropertyFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserPropertyFlags(
+ ControlRef browser,
+ DataBrowserPropertyID property,
+ DataBrowserPropertyFlags * flags);
+
+
+/* Text of current in-place edit session */
+/*
+ * SetDataBrowserEditText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserEditText(
+ ControlRef browser,
+ CFStringRef text);
+
+
+/*
+ * CopyDataBrowserEditText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CopyDataBrowserEditText(
+ ControlRef browser,
+ CFStringRef * text);
+
+
+/*
+ * GetDataBrowserEditText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserEditText(
+ ControlRef browser,
+ CFMutableStringRef text);
+
+
+/* Item/property currently being edited */
+/*
+ * SetDataBrowserEditItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserEditItem(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserPropertyID property);
+
+
+/*
+ * GetDataBrowserEditItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserEditItem(
+ ControlRef browser,
+ DataBrowserItemID * item,
+ DataBrowserPropertyID * property);
+
+
+/* Get the current bounds of a visual part of an item's property */
+/*
+ * GetDataBrowserItemPartBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemPartBounds(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserPropertyID property,
+ DataBrowserPropertyPart part,
+ Rect * bounds);
+
+
+
+/* DataBrowser ItemData Accessors (used within DataBrowserItemData callback) */
+
+typedef void * DataBrowserItemDataRef;
+/*
+ * SetDataBrowserItemDataIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataIcon(
+ DataBrowserItemDataRef itemData,
+ IconRef theData);
+
+
+/*
+ * GetDataBrowserItemDataIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataIcon(
+ DataBrowserItemDataRef itemData,
+ IconRef * theData);
+
+
+/*
+ * SetDataBrowserItemDataText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataText(
+ DataBrowserItemDataRef itemData,
+ CFStringRef theData);
+
+
+/*
+ * GetDataBrowserItemDataText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataText(
+ DataBrowserItemDataRef itemData,
+ CFStringRef * theData);
+
+
+
+/*
+ * SetDataBrowserItemDataValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataValue(
+ DataBrowserItemDataRef itemData,
+ SInt32 theData);
+
+
+/*
+ * GetDataBrowserItemDataValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataValue(
+ DataBrowserItemDataRef itemData,
+ SInt32 * theData);
+
+
+/*
+ * SetDataBrowserItemDataMinimum()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataMinimum(
+ DataBrowserItemDataRef itemData,
+ SInt32 theData);
+
+
+/*
+ * GetDataBrowserItemDataMinimum()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataMinimum(
+ DataBrowserItemDataRef itemData,
+ SInt32 * theData);
+
+
+/*
+ * SetDataBrowserItemDataMaximum()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataMaximum(
+ DataBrowserItemDataRef itemData,
+ SInt32 theData);
+
+
+/*
+ * GetDataBrowserItemDataMaximum()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataMaximum(
+ DataBrowserItemDataRef itemData,
+ SInt32 * theData);
+
+
+/*
+ * SetDataBrowserItemDataBooleanValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataBooleanValue(
+ DataBrowserItemDataRef itemData,
+ Boolean theData);
+
+
+/*
+ * GetDataBrowserItemDataBooleanValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataBooleanValue(
+ DataBrowserItemDataRef itemData,
+ Boolean * theData);
+
+
+/*
+ * SetDataBrowserItemDataMenuRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataMenuRef(
+ DataBrowserItemDataRef itemData,
+ MenuRef theData);
+
+
+/*
+ * GetDataBrowserItemDataMenuRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataMenuRef(
+ DataBrowserItemDataRef itemData,
+ MenuRef * theData);
+
+
+/*
+ * SetDataBrowserItemDataRGBColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataRGBColor(
+ DataBrowserItemDataRef itemData,
+ const RGBColor * theData);
+
+
+/*
+ * GetDataBrowserItemDataRGBColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataRGBColor(
+ DataBrowserItemDataRef itemData,
+ RGBColor * theData);
+
+
+
+/*
+ * SetDataBrowserItemDataDrawState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataDrawState(
+ DataBrowserItemDataRef itemData,
+ ThemeDrawState theData);
+
+
+/*
+ * GetDataBrowserItemDataDrawState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataDrawState(
+ DataBrowserItemDataRef itemData,
+ ThemeDrawState * theData);
+
+
+/*
+ * SetDataBrowserItemDataButtonValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataButtonValue(
+ DataBrowserItemDataRef itemData,
+ ThemeButtonValue theData);
+
+
+/*
+ * GetDataBrowserItemDataButtonValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataButtonValue(
+ DataBrowserItemDataRef itemData,
+ ThemeButtonValue * theData);
+
+
+/*
+ * SetDataBrowserItemDataIconTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataIconTransform(
+ DataBrowserItemDataRef itemData,
+ IconTransformType theData);
+
+
+/*
+ * GetDataBrowserItemDataIconTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataIconTransform(
+ DataBrowserItemDataRef itemData,
+ IconTransformType * theData);
+
+
+
+/*
+ * SetDataBrowserItemDataDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataDateTime(
+ DataBrowserItemDataRef itemData,
+ long theData);
+
+
+/*
+ * GetDataBrowserItemDataDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataDateTime(
+ DataBrowserItemDataRef itemData,
+ long * theData);
+
+
+/*
+ * SetDataBrowserItemDataLongDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataLongDateTime(
+ DataBrowserItemDataRef itemData,
+ const LongDateTime * theData);
+
+
+/*
+ * GetDataBrowserItemDataLongDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataLongDateTime(
+ DataBrowserItemDataRef itemData,
+ LongDateTime * theData);
+
+
+
+/*
+ * SetDataBrowserItemDataItemID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserItemDataItemID(
+ DataBrowserItemDataRef itemData,
+ DataBrowserItemID theData);
+
+
+/*
+ * GetDataBrowserItemDataItemID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataItemID(
+ DataBrowserItemDataRef itemData,
+ DataBrowserItemID * theData);
+
+
+/*
+ * GetDataBrowserItemDataProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserItemDataProperty(
+ DataBrowserItemDataRef itemData,
+ DataBrowserPropertyID * theData);
+
+
+
+/* Standard DataBrowser Callbacks */
+
+/* Basic Item Management & Manipulation */
+typedef CALLBACK_API( OSStatus , DataBrowserItemDataProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserItemDataRef itemData, Boolean setValue);
+typedef STACK_UPP_TYPE(DataBrowserItemDataProcPtr) DataBrowserItemDataUPP;
+
+/* Item Comparison */
+typedef CALLBACK_API( Boolean , DataBrowserItemCompareProcPtr )(ControlRef browser, DataBrowserItemID itemOne, DataBrowserItemID itemTwo, DataBrowserPropertyID sortProperty);
+typedef STACK_UPP_TYPE(DataBrowserItemCompareProcPtr) DataBrowserItemCompareUPP;
+
+/* ItemEvent Notification */
+/* A Very Important Note about DataBrowserItemNotificationProcPtr: */
+/* */
+/* Under all currently shipping versions of CarbonLib (eg. up through 1.3), your callback is called */
+/* just as the prototype appears in this header. It should only be expecting three parameters because */
+/* DataBrowser will only pass three parameters. */
+/* */
+/* Under Mac OS X, your callback is called with an additional parameter. If you wish to interpret */
+/* the additional parameter, your callback should have the same prototype as the */
+/* DataBrowserItemNotificationWithItemProcPtr (below). You may freely take a callback with this */
+/* prototype and pass it to NewDataBrowserItemNotificationUPP in order to generate a */
+/* DataBrowserItemNotificationUPP that you can use just like any other DataBrowserItemNotificationUPP. */
+/* */
+/* If you use this technique under CarbonLib, you will *not* receive valid data in the fourth */
+/* parameter, and any attempt to use the invalid data will probably result in a crash. */
+typedef CALLBACK_API( void , DataBrowserItemNotificationWithItemProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserItemNotification message, DataBrowserItemDataRef itemData);
+typedef CALLBACK_API( void , DataBrowserItemNotificationProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserItemNotification message);
+typedef STACK_UPP_TYPE(DataBrowserItemNotificationWithItemProcPtr) DataBrowserItemNotificationWithItemUPP;
+typedef STACK_UPP_TYPE(DataBrowserItemNotificationProcPtr) DataBrowserItemNotificationUPP;
+
+
+/* Drag & Drop Processing */
+typedef CALLBACK_API( Boolean , DataBrowserAddDragItemProcPtr )(ControlRef browser, DragReference theDrag, DataBrowserItemID item, ItemReference *itemRef);
+typedef CALLBACK_API( Boolean , DataBrowserAcceptDragProcPtr )(ControlRef browser, DragReference theDrag, DataBrowserItemID item);
+typedef CALLBACK_API( Boolean , DataBrowserReceiveDragProcPtr )(ControlRef browser, DragReference theDrag, DataBrowserItemID item);
+typedef CALLBACK_API( void , DataBrowserPostProcessDragProcPtr )(ControlRef browser, DragReference theDrag, OSStatus trackDragResult);
+typedef STACK_UPP_TYPE(DataBrowserAddDragItemProcPtr) DataBrowserAddDragItemUPP;
+typedef STACK_UPP_TYPE(DataBrowserAcceptDragProcPtr) DataBrowserAcceptDragUPP;
+typedef STACK_UPP_TYPE(DataBrowserReceiveDragProcPtr) DataBrowserReceiveDragUPP;
+typedef STACK_UPP_TYPE(DataBrowserPostProcessDragProcPtr) DataBrowserPostProcessDragUPP;
+
+/* Contextual Menu Support */
+typedef CALLBACK_API( void , DataBrowserGetContextualMenuProcPtr )(ControlRef browser, MenuRef *menu, UInt32 *helpType, CFStringRef *helpItemString, AEDesc *selection);
+typedef CALLBACK_API( void , DataBrowserSelectContextualMenuProcPtr )(ControlRef browser, MenuRef menu, UInt32 selectionType, SInt16 menuID, MenuItemIndex menuItem);
+typedef STACK_UPP_TYPE(DataBrowserGetContextualMenuProcPtr) DataBrowserGetContextualMenuUPP;
+typedef STACK_UPP_TYPE(DataBrowserSelectContextualMenuProcPtr) DataBrowserSelectContextualMenuUPP;
+
+/* Help Manager Support */
+typedef CALLBACK_API( void , DataBrowserItemHelpContentProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
+typedef STACK_UPP_TYPE(DataBrowserItemHelpContentProcPtr) DataBrowserItemHelpContentUPP;
+/*
+ * NewDataBrowserItemDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserItemDataUPP )
+NewDataBrowserItemDataUPP(DataBrowserItemDataProcPtr userRoutine);
+
+/*
+ * NewDataBrowserItemCompareUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserItemCompareUPP )
+NewDataBrowserItemCompareUPP(DataBrowserItemCompareProcPtr userRoutine);
+
+/*
+ * NewDataBrowserItemNotificationWithItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserItemNotificationWithItemUPP )
+NewDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationWithItemProcPtr userRoutine);
+
+/*
+ * NewDataBrowserItemNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserItemNotificationUPP )
+NewDataBrowserItemNotificationUPP(DataBrowserItemNotificationProcPtr userRoutine);
+
+/*
+ * NewDataBrowserAddDragItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserAddDragItemUPP )
+NewDataBrowserAddDragItemUPP(DataBrowserAddDragItemProcPtr userRoutine);
+
+/*
+ * NewDataBrowserAcceptDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserAcceptDragUPP )
+NewDataBrowserAcceptDragUPP(DataBrowserAcceptDragProcPtr userRoutine);
+
+/*
+ * NewDataBrowserReceiveDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserReceiveDragUPP )
+NewDataBrowserReceiveDragUPP(DataBrowserReceiveDragProcPtr userRoutine);
+
+/*
+ * NewDataBrowserPostProcessDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserPostProcessDragUPP )
+NewDataBrowserPostProcessDragUPP(DataBrowserPostProcessDragProcPtr userRoutine);
+
+/*
+ * NewDataBrowserGetContextualMenuUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserGetContextualMenuUPP )
+NewDataBrowserGetContextualMenuUPP(DataBrowserGetContextualMenuProcPtr userRoutine);
+
+/*
+ * NewDataBrowserSelectContextualMenuUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserSelectContextualMenuUPP )
+NewDataBrowserSelectContextualMenuUPP(DataBrowserSelectContextualMenuProcPtr userRoutine);
+
+/*
+ * NewDataBrowserItemHelpContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataBrowserItemHelpContentUPP )
+NewDataBrowserItemHelpContentUPP(DataBrowserItemHelpContentProcPtr userRoutine);
+
+/*
+ * DisposeDataBrowserItemDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemDataUPP(DataBrowserItemDataUPP userUPP);
+
+/*
+ * DisposeDataBrowserItemCompareUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemCompareUPP(DataBrowserItemCompareUPP userUPP);
+
+/*
+ * DisposeDataBrowserItemNotificationWithItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationWithItemUPP userUPP);
+
+/*
+ * DisposeDataBrowserItemNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemNotificationUPP(DataBrowserItemNotificationUPP userUPP);
+
+/*
+ * DisposeDataBrowserAddDragItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserAddDragItemUPP(DataBrowserAddDragItemUPP userUPP);
+
+/*
+ * DisposeDataBrowserAcceptDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserAcceptDragUPP(DataBrowserAcceptDragUPP userUPP);
+
+/*
+ * DisposeDataBrowserReceiveDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserReceiveDragUPP(DataBrowserReceiveDragUPP userUPP);
+
+/*
+ * DisposeDataBrowserPostProcessDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserPostProcessDragUPP(DataBrowserPostProcessDragUPP userUPP);
+
+/*
+ * DisposeDataBrowserGetContextualMenuUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserGetContextualMenuUPP(DataBrowserGetContextualMenuUPP userUPP);
+
+/*
+ * DisposeDataBrowserSelectContextualMenuUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserSelectContextualMenuUPP(DataBrowserSelectContextualMenuUPP userUPP);
+
+/*
+ * DisposeDataBrowserItemHelpContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemHelpContentUPP(DataBrowserItemHelpContentUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeDataBrowserItemDataUPP(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserPropertyID property,
+ DataBrowserItemDataRef itemData,
+ Boolean setValue,
+ DataBrowserItemDataUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemCompareUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeDataBrowserItemCompareUPP(
+ ControlRef browser,
+ DataBrowserItemID itemOne,
+ DataBrowserItemID itemTwo,
+ DataBrowserPropertyID sortProperty,
+ DataBrowserItemCompareUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemNotificationWithItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserItemNotificationWithItemUPP(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserItemNotification message,
+ DataBrowserItemDataRef itemData,
+ DataBrowserItemNotificationWithItemUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserItemNotificationUPP(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserItemNotification message,
+ DataBrowserItemNotificationUPP userUPP);
+
+/*
+ * InvokeDataBrowserAddDragItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeDataBrowserAddDragItemUPP(
+ ControlRef browser,
+ DragReference theDrag,
+ DataBrowserItemID item,
+ ItemReference * itemRef,
+ DataBrowserAddDragItemUPP userUPP);
+
+/*
+ * InvokeDataBrowserAcceptDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeDataBrowserAcceptDragUPP(
+ ControlRef browser,
+ DragReference theDrag,
+ DataBrowserItemID item,
+ DataBrowserAcceptDragUPP userUPP);
+
+/*
+ * InvokeDataBrowserReceiveDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeDataBrowserReceiveDragUPP(
+ ControlRef browser,
+ DragReference theDrag,
+ DataBrowserItemID item,
+ DataBrowserReceiveDragUPP userUPP);
+
+/*
+ * InvokeDataBrowserPostProcessDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserPostProcessDragUPP(
+ ControlRef browser,
+ DragReference theDrag,
+ OSStatus trackDragResult,
+ DataBrowserPostProcessDragUPP userUPP);
+
+/*
+ * InvokeDataBrowserGetContextualMenuUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserGetContextualMenuUPP(
+ ControlRef browser,
+ MenuRef * menu,
+ UInt32 * helpType,
+ CFStringRef * helpItemString,
+ AEDesc * selection,
+ DataBrowserGetContextualMenuUPP userUPP);
+
+/*
+ * InvokeDataBrowserSelectContextualMenuUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserSelectContextualMenuUPP(
+ ControlRef browser,
+ MenuRef menu,
+ UInt32 selectionType,
+ SInt16 menuID,
+ MenuItemIndex menuItem,
+ DataBrowserSelectContextualMenuUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemHelpContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserItemHelpContentUPP(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserPropertyID property,
+ HMContentRequest inRequest,
+ HMContentProvidedType * outContentProvided,
+ HMHelpContentPtr ioHelpContent,
+ DataBrowserItemHelpContentUPP userUPP);
+
+/* Standard Callback (vtable) Structure */
+enum {
+ kDataBrowserLatestCallbacks = 0
+};
+
+struct DataBrowserCallbacks {
+ UInt32 version; /* Use kDataBrowserLatestCallbacks */
+
+ union {
+ struct {
+ DataBrowserItemDataUPP itemDataCallback;
+ DataBrowserItemCompareUPP itemCompareCallback;
+ DataBrowserItemNotificationUPP itemNotificationCallback;
+
+ DataBrowserAddDragItemUPP addDragItemCallback;
+ DataBrowserAcceptDragUPP acceptDragCallback;
+ DataBrowserReceiveDragUPP receiveDragCallback;
+ DataBrowserPostProcessDragUPP postProcessDragCallback;
+
+ DataBrowserItemHelpContentUPP itemHelpContentCallback;
+ DataBrowserGetContextualMenuUPP getContextualMenuCallback;
+ DataBrowserSelectContextualMenuUPP selectContextualMenuCallback;
+ } v1;
+ } u;
+};
+typedef struct DataBrowserCallbacks DataBrowserCallbacks;
+/*
+ * InitDataBrowserCallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InitDataBrowserCallbacks(DataBrowserCallbacks * callbacks);
+
+
+/* Macro for initializing callback structure */
#define InitializeDataBrowserCallbacks(callbacks, vers) \
{ (callbacks)->version = (vers); InitDataBrowserCallbacks(callbacks); }
- /*
- * GetDataBrowserCallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserCallbacks(
- ControlRef browser,
- DataBrowserCallbacks * callbacks);
-
-
- /*
- * SetDataBrowserCallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserCallbacks(
- ControlRef browser,
- const DataBrowserCallbacks * callbacks);
-
-
-
- /* Custom Format Callbacks (kDataBrowserCustomType display properties) */
-
- typedef unsigned long DataBrowserDragFlags;
- typedef SInt16 DataBrowserTrackingResult;
- enum
- {
- kDataBrowserContentHit = 1,
- kDataBrowserNothingHit = 0,
- kDataBrowserStopTracking = -1
- };
-
- typedef CALLBACK_API(void , DataBrowserDrawItemProcPtr)(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserItemState itemState, const Rect *theRect, SInt16 gdDepth, Boolean colorDevice);
- typedef CALLBACK_API(Boolean , DataBrowserEditItemProcPtr)(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, CFStringRef theString, Rect *maxEditTextRect, Boolean *shrinkToFit);
- typedef CALLBACK_API(Boolean , DataBrowserHitTestProcPtr)(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, const Rect *mouseRect);
- typedef CALLBACK_API(DataBrowserTrackingResult , DataBrowserTrackingProcPtr)(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, Point startPt, EventModifiers modifiers);
- typedef CALLBACK_API(void , DataBrowserItemDragRgnProcPtr)(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, RgnHandle dragRgn);
- typedef CALLBACK_API(DataBrowserDragFlags , DataBrowserItemAcceptDragProcPtr)(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, DragReference theDrag);
- typedef CALLBACK_API(Boolean , DataBrowserItemReceiveDragProcPtr)(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, DataBrowserDragFlags dragFlags, DragReference theDrag);
- typedef STACK_UPP_TYPE(DataBrowserDrawItemProcPtr) DataBrowserDrawItemUPP;
- typedef STACK_UPP_TYPE(DataBrowserEditItemProcPtr) DataBrowserEditItemUPP;
- typedef STACK_UPP_TYPE(DataBrowserHitTestProcPtr) DataBrowserHitTestUPP;
- typedef STACK_UPP_TYPE(DataBrowserTrackingProcPtr) DataBrowserTrackingUPP;
- typedef STACK_UPP_TYPE(DataBrowserItemDragRgnProcPtr) DataBrowserItemDragRgnUPP;
- typedef STACK_UPP_TYPE(DataBrowserItemAcceptDragProcPtr) DataBrowserItemAcceptDragUPP;
- typedef STACK_UPP_TYPE(DataBrowserItemReceiveDragProcPtr) DataBrowserItemReceiveDragUPP;
- /*
- * NewDataBrowserDrawItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserDrawItemUPP)
- NewDataBrowserDrawItemUPP(DataBrowserDrawItemProcPtr userRoutine);
-
- /*
- * NewDataBrowserEditItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserEditItemUPP)
- NewDataBrowserEditItemUPP(DataBrowserEditItemProcPtr userRoutine);
-
- /*
- * NewDataBrowserHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserHitTestUPP)
- NewDataBrowserHitTestUPP(DataBrowserHitTestProcPtr userRoutine);
-
- /*
- * NewDataBrowserTrackingUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserTrackingUPP)
- NewDataBrowserTrackingUPP(DataBrowserTrackingProcPtr userRoutine);
-
- /*
- * NewDataBrowserItemDragRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserItemDragRgnUPP)
- NewDataBrowserItemDragRgnUPP(DataBrowserItemDragRgnProcPtr userRoutine);
-
- /*
- * NewDataBrowserItemAcceptDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserItemAcceptDragUPP)
- NewDataBrowserItemAcceptDragUPP(DataBrowserItemAcceptDragProcPtr userRoutine);
-
- /*
- * NewDataBrowserItemReceiveDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserItemReceiveDragUPP)
- NewDataBrowserItemReceiveDragUPP(DataBrowserItemReceiveDragProcPtr userRoutine);
-
- /*
- * DisposeDataBrowserDrawItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserDrawItemUPP(DataBrowserDrawItemUPP userUPP);
-
- /*
- * DisposeDataBrowserEditItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserEditItemUPP(DataBrowserEditItemUPP userUPP);
-
- /*
- * DisposeDataBrowserHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserHitTestUPP(DataBrowserHitTestUPP userUPP);
-
- /*
- * DisposeDataBrowserTrackingUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserTrackingUPP(DataBrowserTrackingUPP userUPP);
-
- /*
- * DisposeDataBrowserItemDragRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemDragRgnUPP(DataBrowserItemDragRgnUPP userUPP);
-
- /*
- * DisposeDataBrowserItemAcceptDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemAcceptDragUPP(DataBrowserItemAcceptDragUPP userUPP);
-
- /*
- * DisposeDataBrowserItemReceiveDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeDataBrowserItemReceiveDragUPP(DataBrowserItemReceiveDragUPP userUPP);
-
- /*
- * InvokeDataBrowserDrawItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserDrawItemUPP(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserPropertyID property,
- DataBrowserItemState itemState,
- const Rect * theRect,
- SInt16 gdDepth,
- Boolean colorDevice,
- DataBrowserDrawItemUPP userUPP);
-
- /*
- * InvokeDataBrowserEditItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(Boolean)
- InvokeDataBrowserEditItemUPP(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserPropertyID property,
- CFStringRef theString,
- Rect * maxEditTextRect,
- Boolean * shrinkToFit,
- DataBrowserEditItemUPP userUPP);
-
- /*
- * InvokeDataBrowserHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(Boolean)
- InvokeDataBrowserHitTestUPP(
- ControlRef browser,
- DataBrowserItemID itemID,
- DataBrowserPropertyID property,
- const Rect * theRect,
- const Rect * mouseRect,
- DataBrowserHitTestUPP userUPP);
-
- /*
- * InvokeDataBrowserTrackingUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserTrackingResult)
- InvokeDataBrowserTrackingUPP(
- ControlRef browser,
- DataBrowserItemID itemID,
- DataBrowserPropertyID property,
- const Rect * theRect,
- Point startPt,
- EventModifiers modifiers,
- DataBrowserTrackingUPP userUPP);
-
- /*
- * InvokeDataBrowserItemDragRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- InvokeDataBrowserItemDragRgnUPP(
- ControlRef browser,
- DataBrowserItemID itemID,
- DataBrowserPropertyID property,
- const Rect * theRect,
- RgnHandle dragRgn,
- DataBrowserItemDragRgnUPP userUPP);
-
- /*
- * InvokeDataBrowserItemAcceptDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(DataBrowserDragFlags)
- InvokeDataBrowserItemAcceptDragUPP(
- ControlRef browser,
- DataBrowserItemID itemID,
- DataBrowserPropertyID property,
- const Rect * theRect,
- DragReference theDrag,
- DataBrowserItemAcceptDragUPP userUPP);
-
- /*
- * InvokeDataBrowserItemReceiveDragUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(Boolean)
- InvokeDataBrowserItemReceiveDragUPP(
- ControlRef browser,
- DataBrowserItemID itemID,
- DataBrowserPropertyID property,
- DataBrowserDragFlags dragFlags,
- DragReference theDrag,
- DataBrowserItemReceiveDragUPP userUPP);
-
- /* Custom Callback (vtable) Structure */
- enum
- {
- kDataBrowserLatestCustomCallbacks = 0
- };
-
- struct DataBrowserCustomCallbacks
- {
-
- UInt32 version; /* Use kDataBrowserLatestCustomCallbacks */
-
- union
- {
- struct
- {
- DataBrowserDrawItemUPP drawItemCallback;
- DataBrowserEditItemUPP editTextCallback;
- DataBrowserHitTestUPP hitTestCallback;
- DataBrowserTrackingUPP trackingCallback;
-
- DataBrowserItemDragRgnUPP dragRegionCallback;
- DataBrowserItemAcceptDragUPP acceptDragCallback;
- DataBrowserItemReceiveDragUPP receiveDragCallback;
- } v1;
- } u;
- };
- typedef struct DataBrowserCustomCallbacks DataBrowserCustomCallbacks;
- /*
- * InitDataBrowserCustomCallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InitDataBrowserCustomCallbacks(DataBrowserCustomCallbacks * callbacks);
-
-
- /* Macro for initializing custom callback structure */
+/*
+ * GetDataBrowserCallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserCallbacks(
+ ControlRef browser,
+ DataBrowserCallbacks * callbacks);
+
+
+/*
+ * SetDataBrowserCallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserCallbacks(
+ ControlRef browser,
+ const DataBrowserCallbacks * callbacks);
+
+
+
+/* Custom Format Callbacks (kDataBrowserCustomType display properties) */
+
+typedef unsigned long DataBrowserDragFlags;
+typedef SInt16 DataBrowserTrackingResult;
+enum {
+ kDataBrowserContentHit = 1,
+ kDataBrowserNothingHit = 0,
+ kDataBrowserStopTracking = -1
+};
+
+typedef CALLBACK_API( void , DataBrowserDrawItemProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserItemState itemState, const Rect *theRect, SInt16 gdDepth, Boolean colorDevice);
+typedef CALLBACK_API( Boolean , DataBrowserEditItemProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, CFStringRef theString, Rect *maxEditTextRect, Boolean *shrinkToFit);
+typedef CALLBACK_API( Boolean , DataBrowserHitTestProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, const Rect *mouseRect);
+typedef CALLBACK_API( DataBrowserTrackingResult , DataBrowserTrackingProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, Point startPt, EventModifiers modifiers);
+typedef CALLBACK_API( void , DataBrowserItemDragRgnProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, RgnHandle dragRgn);
+typedef CALLBACK_API( DataBrowserDragFlags , DataBrowserItemAcceptDragProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, DragReference theDrag);
+typedef CALLBACK_API( Boolean , DataBrowserItemReceiveDragProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, DataBrowserDragFlags dragFlags, DragReference theDrag);
+typedef STACK_UPP_TYPE(DataBrowserDrawItemProcPtr) DataBrowserDrawItemUPP;
+typedef STACK_UPP_TYPE(DataBrowserEditItemProcPtr) DataBrowserEditItemUPP;
+typedef STACK_UPP_TYPE(DataBrowserHitTestProcPtr) DataBrowserHitTestUPP;
+typedef STACK_UPP_TYPE(DataBrowserTrackingProcPtr) DataBrowserTrackingUPP;
+typedef STACK_UPP_TYPE(DataBrowserItemDragRgnProcPtr) DataBrowserItemDragRgnUPP;
+typedef STACK_UPP_TYPE(DataBrowserItemAcceptDragProcPtr) DataBrowserItemAcceptDragUPP;
+typedef STACK_UPP_TYPE(DataBrowserItemReceiveDragProcPtr) DataBrowserItemReceiveDragUPP;
+/*
+ * NewDataBrowserDrawItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserDrawItemUPP )
+NewDataBrowserDrawItemUPP(DataBrowserDrawItemProcPtr userRoutine);
+
+/*
+ * NewDataBrowserEditItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserEditItemUPP )
+NewDataBrowserEditItemUPP(DataBrowserEditItemProcPtr userRoutine);
+
+/*
+ * NewDataBrowserHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserHitTestUPP )
+NewDataBrowserHitTestUPP(DataBrowserHitTestProcPtr userRoutine);
+
+/*
+ * NewDataBrowserTrackingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserTrackingUPP )
+NewDataBrowserTrackingUPP(DataBrowserTrackingProcPtr userRoutine);
+
+/*
+ * NewDataBrowserItemDragRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserItemDragRgnUPP )
+NewDataBrowserItemDragRgnUPP(DataBrowserItemDragRgnProcPtr userRoutine);
+
+/*
+ * NewDataBrowserItemAcceptDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserItemAcceptDragUPP )
+NewDataBrowserItemAcceptDragUPP(DataBrowserItemAcceptDragProcPtr userRoutine);
+
+/*
+ * NewDataBrowserItemReceiveDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserItemReceiveDragUPP )
+NewDataBrowserItemReceiveDragUPP(DataBrowserItemReceiveDragProcPtr userRoutine);
+
+/*
+ * DisposeDataBrowserDrawItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserDrawItemUPP(DataBrowserDrawItemUPP userUPP);
+
+/*
+ * DisposeDataBrowserEditItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserEditItemUPP(DataBrowserEditItemUPP userUPP);
+
+/*
+ * DisposeDataBrowserHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserHitTestUPP(DataBrowserHitTestUPP userUPP);
+
+/*
+ * DisposeDataBrowserTrackingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserTrackingUPP(DataBrowserTrackingUPP userUPP);
+
+/*
+ * DisposeDataBrowserItemDragRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemDragRgnUPP(DataBrowserItemDragRgnUPP userUPP);
+
+/*
+ * DisposeDataBrowserItemAcceptDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemAcceptDragUPP(DataBrowserItemAcceptDragUPP userUPP);
+
+/*
+ * DisposeDataBrowserItemReceiveDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeDataBrowserItemReceiveDragUPP(DataBrowserItemReceiveDragUPP userUPP);
+
+/*
+ * InvokeDataBrowserDrawItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserDrawItemUPP(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserPropertyID property,
+ DataBrowserItemState itemState,
+ const Rect * theRect,
+ SInt16 gdDepth,
+ Boolean colorDevice,
+ DataBrowserDrawItemUPP userUPP);
+
+/*
+ * InvokeDataBrowserEditItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeDataBrowserEditItemUPP(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserPropertyID property,
+ CFStringRef theString,
+ Rect * maxEditTextRect,
+ Boolean * shrinkToFit,
+ DataBrowserEditItemUPP userUPP);
+
+/*
+ * InvokeDataBrowserHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeDataBrowserHitTestUPP(
+ ControlRef browser,
+ DataBrowserItemID itemID,
+ DataBrowserPropertyID property,
+ const Rect * theRect,
+ const Rect * mouseRect,
+ DataBrowserHitTestUPP userUPP);
+
+/*
+ * InvokeDataBrowserTrackingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserTrackingResult )
+InvokeDataBrowserTrackingUPP(
+ ControlRef browser,
+ DataBrowserItemID itemID,
+ DataBrowserPropertyID property,
+ const Rect * theRect,
+ Point startPt,
+ EventModifiers modifiers,
+ DataBrowserTrackingUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemDragRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+InvokeDataBrowserItemDragRgnUPP(
+ ControlRef browser,
+ DataBrowserItemID itemID,
+ DataBrowserPropertyID property,
+ const Rect * theRect,
+ RgnHandle dragRgn,
+ DataBrowserItemDragRgnUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemAcceptDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( DataBrowserDragFlags )
+InvokeDataBrowserItemAcceptDragUPP(
+ ControlRef browser,
+ DataBrowserItemID itemID,
+ DataBrowserPropertyID property,
+ const Rect * theRect,
+ DragReference theDrag,
+ DataBrowserItemAcceptDragUPP userUPP);
+
+/*
+ * InvokeDataBrowserItemReceiveDragUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeDataBrowserItemReceiveDragUPP(
+ ControlRef browser,
+ DataBrowserItemID itemID,
+ DataBrowserPropertyID property,
+ DataBrowserDragFlags dragFlags,
+ DragReference theDrag,
+ DataBrowserItemReceiveDragUPP userUPP);
+
+/* Custom Callback (vtable) Structure */
+enum {
+ kDataBrowserLatestCustomCallbacks = 0
+};
+
+struct DataBrowserCustomCallbacks {
+
+ UInt32 version; /* Use kDataBrowserLatestCustomCallbacks */
+
+ union {
+ struct {
+ DataBrowserDrawItemUPP drawItemCallback;
+ DataBrowserEditItemUPP editTextCallback;
+ DataBrowserHitTestUPP hitTestCallback;
+ DataBrowserTrackingUPP trackingCallback;
+
+ DataBrowserItemDragRgnUPP dragRegionCallback;
+ DataBrowserItemAcceptDragUPP acceptDragCallback;
+ DataBrowserItemReceiveDragUPP receiveDragCallback;
+ } v1;
+ } u;
+};
+typedef struct DataBrowserCustomCallbacks DataBrowserCustomCallbacks;
+/*
+ * InitDataBrowserCustomCallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InitDataBrowserCustomCallbacks(DataBrowserCustomCallbacks * callbacks);
+
+
+/* Macro for initializing custom callback structure */
#define InitializeDataBrowserCustomCallbacks(callbacks, vers) \
{ (callbacks)->version = (vers); InitDataBrowserCustomCallbacks(callbacks); }
- /*
- * GetDataBrowserCustomCallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserCustomCallbacks(
- ControlRef browser,
- DataBrowserCustomCallbacks * callbacks);
-
-
- /*
- * SetDataBrowserCustomCallbacks()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserCustomCallbacks(
- ControlRef browser,
- const DataBrowserCustomCallbacks * callbacks);
-
-
-
-
-
- /* TableView Formatting */
- typedef UInt32 DataBrowserTableViewHiliteStyle;
- enum
- {
- kDataBrowserTableViewMinimalHilite = 0,
- kDataBrowserTableViewFillHilite = 1
- };
-
- typedef UInt32 DataBrowserTableViewPropertyFlags;
- enum
- {
- /* kDataBrowserTableView DataBrowserPropertyFlags */
- kDataBrowserTableViewSelectionColumn = 1 << kDataBrowserViewSpecificFlagsOffset
- };
-
- /* The row and column indicies are zero-based */
-
- typedef UInt32 DataBrowserTableViewRowIndex;
- typedef UInt32 DataBrowserTableViewColumnIndex;
- typedef DataBrowserPropertyID DataBrowserTableViewColumnID;
- typedef DataBrowserPropertyDesc DataBrowserTableViewColumnDesc;
-
- /* TableView API */
- /* Use when setting column position */
- enum
- {
- kDataBrowserTableViewLastColumn = -1
- };
-
- /*
- * RemoveDataBrowserTableViewColumn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveDataBrowserTableViewColumn(
- ControlRef browser,
- DataBrowserTableViewColumnID column);
-
-
- /*
- * GetDataBrowserTableViewColumnCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewColumnCount(
- ControlRef browser,
- UInt32 * numColumns);
-
-
-
- /*
- * SetDataBrowserTableViewHiliteStyle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTableViewHiliteStyle(
- ControlRef browser,
- DataBrowserTableViewHiliteStyle hiliteStyle);
-
-
- /*
- * GetDataBrowserTableViewHiliteStyle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewHiliteStyle(
- ControlRef browser,
- DataBrowserTableViewHiliteStyle * hiliteStyle);
-
-
-
- /*
- * SetDataBrowserTableViewRowHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTableViewRowHeight(
- ControlRef browser,
- UInt16 height);
-
-
- /*
- * GetDataBrowserTableViewRowHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewRowHeight(
- ControlRef browser,
- UInt16 * height);
-
-
- /*
- * SetDataBrowserTableViewColumnWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTableViewColumnWidth(
- ControlRef browser,
- UInt16 width);
-
-
- /*
- * GetDataBrowserTableViewColumnWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewColumnWidth(
- ControlRef browser,
- UInt16 * width);
-
-
- /*
- * SetDataBrowserTableViewItemRowHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTableViewItemRowHeight(
- ControlRef browser,
- DataBrowserItemID item,
- UInt16 height);
-
-
- /*
- * GetDataBrowserTableViewItemRowHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewItemRowHeight(
- ControlRef browser,
- DataBrowserItemID item,
- UInt16 * height);
-
-
- /*
- * SetDataBrowserTableViewNamedColumnWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTableViewNamedColumnWidth(
- ControlRef browser,
- DataBrowserTableViewColumnID column,
- UInt16 width);
-
-
- /*
- * GetDataBrowserTableViewNamedColumnWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewNamedColumnWidth(
- ControlRef browser,
- DataBrowserTableViewColumnID column,
- UInt16 * width);
-
-
- /*
- * SetDataBrowserTableViewGeometry()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTableViewGeometry(
- ControlRef browser,
- Boolean variableWidthColumns,
- Boolean variableHeightRows);
-
-
- /*
- * GetDataBrowserTableViewGeometry()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewGeometry(
- ControlRef browser,
- Boolean * variableWidthColumns,
- Boolean * variableHeightRows);
-
-
-
- /*
- * GetDataBrowserTableViewItemID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewItemID(
- ControlRef browser,
- DataBrowserTableViewRowIndex row,
- DataBrowserItemID * item);
-
-
- /*
- * SetDataBrowserTableViewItemRow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTableViewItemRow(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserTableViewRowIndex row);
-
-
- /*
- * GetDataBrowserTableViewItemRow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewItemRow(
- ControlRef browser,
- DataBrowserItemID item,
- DataBrowserTableViewRowIndex * row);
-
-
- /*
- * SetDataBrowserTableViewColumnPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserTableViewColumnPosition(
- ControlRef browser,
- DataBrowserTableViewColumnID column,
- DataBrowserTableViewColumnIndex position);
-
-
- /*
- * GetDataBrowserTableViewColumnPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewColumnPosition(
- ControlRef browser,
- DataBrowserTableViewColumnID column,
- DataBrowserTableViewColumnIndex * position);
-
-
- /*
- * GetDataBrowserTableViewColumnProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserTableViewColumnProperty(
- ControlRef browser,
- DataBrowserTableViewColumnIndex column,
- DataBrowserTableViewColumnID * property);
-
-
-
-
-
- /* kDataBrowserListView Formatting */
- typedef UInt32 DataBrowserListViewPropertyFlags;
- enum
- {
- /* kDataBrowserListView DataBrowserPropertyFlags */
- kDataBrowserListViewMovableColumn = 1 << (kDataBrowserViewSpecificFlagsOffset + 1),
- kDataBrowserListViewSortableColumn = 1 << (kDataBrowserViewSpecificFlagsOffset + 2),
- kDataBrowserListViewSelectionColumn = kDataBrowserTableViewSelectionColumn,
- kDataBrowserListViewDefaultColumnFlags = kDataBrowserListViewMovableColumn + kDataBrowserListViewSortableColumn
- };
-
-
- enum
- {
- kDataBrowserListViewLatestHeaderDesc = 0
- };
-
- struct DataBrowserListViewHeaderDesc
- {
- UInt32 version; /* Use kDataBrowserListViewLatestHeaderDesc */
-
- UInt16 minimumWidth;
- UInt16 maximumWidth;
-
- SInt16 titleOffset;
- CFStringRef titleString;
- DataBrowserSortOrder initialOrder;
- ControlFontStyleRec btnFontStyle;
- ControlButtonContentInfo btnContentInfo;
- };
- typedef struct DataBrowserListViewHeaderDesc DataBrowserListViewHeaderDesc;
- struct DataBrowserListViewColumnDesc
- {
- DataBrowserTableViewColumnDesc propertyDesc;
- DataBrowserListViewHeaderDesc headerBtnDesc;
- };
- typedef struct DataBrowserListViewColumnDesc DataBrowserListViewColumnDesc;
- /* kDataBrowserListView API */
- enum
- {
- kDataBrowserListViewAppendColumn = kDataBrowserTableViewLastColumn
- };
-
- /*
- * AutoSizeDataBrowserListViewColumns()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- AutoSizeDataBrowserListViewColumns(ControlRef browser);
-
-
- /*
- * AddDataBrowserListViewColumn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- AddDataBrowserListViewColumn(
- ControlRef browser,
- DataBrowserListViewColumnDesc * columnDesc,
- DataBrowserTableViewColumnIndex position);
-
-
- /*
- * GetDataBrowserListViewHeaderDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserListViewHeaderDesc(
- ControlRef browser,
- DataBrowserTableViewColumnID column,
- DataBrowserListViewHeaderDesc * desc);
-
-
- /*
- * SetDataBrowserListViewHeaderDesc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserListViewHeaderDesc(
- ControlRef browser,
- DataBrowserTableViewColumnID column,
- DataBrowserListViewHeaderDesc * desc);
-
-
- /*
- * SetDataBrowserListViewHeaderBtnHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserListViewHeaderBtnHeight(
- ControlRef browser,
- UInt16 height);
-
-
- /*
- * GetDataBrowserListViewHeaderBtnHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserListViewHeaderBtnHeight(
- ControlRef browser,
- UInt16 * height);
-
-
- /*
- * SetDataBrowserListViewUsePlainBackground()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserListViewUsePlainBackground(
- ControlRef browser,
- Boolean usePlainBackground);
-
-
- /*
- * GetDataBrowserListViewUsePlainBackground()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserListViewUsePlainBackground(
- ControlRef browser,
- Boolean * usePlainBackground);
-
-
- /*
- * SetDataBrowserListViewDisclosureColumn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserListViewDisclosureColumn(
- ControlRef browser,
- DataBrowserTableViewColumnID column,
- Boolean expandableRows);
-
-
- /*
- * GetDataBrowserListViewDisclosureColumn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserListViewDisclosureColumn(
- ControlRef browser,
- DataBrowserTableViewColumnID * column,
- Boolean * expandableRows);
-
-
-
- /* kDataBrowserColumnView API */
- /*
- * GetDataBrowserColumnViewPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserColumnViewPath(
- ControlRef browser,
- Handle path);
-
-
- /*
- * GetDataBrowserColumnViewPathLength()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserColumnViewPathLength(
- ControlRef browser,
- UInt32 * pathLength);
-
-
- /*
- * SetDataBrowserColumnViewPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserColumnViewPath(
- ControlRef browser,
- UInt32 length,
- const DataBrowserItemID * path);
-
-
- /*
- * SetDataBrowserColumnViewDisplayType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDataBrowserColumnViewDisplayType(
- ControlRef browser,
- DataBrowserPropertyType propertyType);
-
-
- /*
- * GetDataBrowserColumnViewDisplayType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDataBrowserColumnViewDisplayType(
- ControlRef browser,
- DataBrowserPropertyType * propertyType);
-
-
-
- /* DataBrowser UPP macros */
- /*---------------------------------------------------------------------------------------*/
- /* EditUnicodeText Control */
- /*---------------------------------------------------------------------------------------*/
- /* This control is only available in Mac OS X. It is super similar to Edit Text control */
- /* Use all the same Get/Set tags. But don't ask for the TEHandle. */
- /*---------------------------------------------------------------------------------------*/
- /* This callback supplies the functionality of the TSMTEPostUpdateProcPtr that is used */
- /* in the EditText control. A client should supply this call if they want to look at */
- /* inline text that has been fixed before it is included in the actual body text */
- /* if the new text (i.e. the text in the handle) should be included in the body text */
- /* the client should return true. If the client wants to block the inclusion of the */
- /* text they should return false. */
- typedef CALLBACK_API(Boolean , EditUnicodePostUpdateProcPtr)(UniCharArrayHandle uniText, UniCharCount uniTextLength, UniCharArrayOffset iStartOffset, UniCharArrayOffset iEndOffset, void *refcon);
- typedef STACK_UPP_TYPE(EditUnicodePostUpdateProcPtr) EditUnicodePostUpdateUPP;
- /*
- * NewEditUnicodePostUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EditUnicodePostUpdateUPP)
- NewEditUnicodePostUpdateUPP(EditUnicodePostUpdateProcPtr userRoutine);
-
- /*
- * DisposeEditUnicodePostUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeEditUnicodePostUpdateUPP(EditUnicodePostUpdateUPP userUPP);
-
- /*
- * InvokeEditUnicodePostUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeEditUnicodePostUpdateUPP(
- UniCharArrayHandle uniText,
- UniCharCount uniTextLength,
- UniCharArrayOffset iStartOffset,
- UniCharArrayOffset iEndOffset,
- void * refcon,
- EditUnicodePostUpdateUPP userUPP);
-
- /* Use this tag when calling ControlSet/GetData to specify the UnicodePostUpdateProcPtr */
- /* tags available with Appearance 1.1 or later */
- enum
- {
- kControlEditUnicodeTextPostUpdateProcTag = FOUR_CHAR_CODE('upup')
- };
-
-
- enum
- {
- kControlEditUnicodeTextProc = 912,
- kControlEditUnicodeTextPasswordProc = 914
- };
-
- /* Control Kind Tag */
- enum
- {
- kControlKindEditUnicodeText = FOUR_CHAR_CODE('eutx')
- };
-
- /* Creation API for X */
- /*
- * CreateEditUnicodeTextControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateEditUnicodeTextControl(
- WindowRef window,
- const Rect * boundsRect,
- CFStringRef text,
- Boolean isPassword,
- const ControlFontStyleRec * style, /* can be NULL */
- ControlRef * outControl);
-
-
- /* Tagged data supported by Unicode text Control only*/
- enum
- {
- kControlEditTextSingleLineTag = FOUR_CHAR_CODE('sglc')
- };
+/*
+ * GetDataBrowserCustomCallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserCustomCallbacks(
+ ControlRef browser,
+ DataBrowserCustomCallbacks * callbacks);
+
+
+/*
+ * SetDataBrowserCustomCallbacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserCustomCallbacks(
+ ControlRef browser,
+ const DataBrowserCustomCallbacks * callbacks);
+
+
+
+
+
+/* TableView Formatting */
+typedef UInt32 DataBrowserTableViewHiliteStyle;
+enum {
+ kDataBrowserTableViewMinimalHilite = 0,
+ kDataBrowserTableViewFillHilite = 1
+};
+
+typedef UInt32 DataBrowserTableViewPropertyFlags;
+enum {
+ /* kDataBrowserTableView DataBrowserPropertyFlags */
+ kDataBrowserTableViewSelectionColumn = 1 << kDataBrowserViewSpecificFlagsOffset
+};
+
+/* The row and column indicies are zero-based */
+
+typedef UInt32 DataBrowserTableViewRowIndex;
+typedef UInt32 DataBrowserTableViewColumnIndex;
+typedef DataBrowserPropertyID DataBrowserTableViewColumnID;
+typedef DataBrowserPropertyDesc DataBrowserTableViewColumnDesc;
+
+/* TableView API */
+/* Use when setting column position */
+enum {
+ kDataBrowserTableViewLastColumn = -1
+};
+
+/*
+ * RemoveDataBrowserTableViewColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveDataBrowserTableViewColumn(
+ ControlRef browser,
+ DataBrowserTableViewColumnID column);
+
+
+/*
+ * GetDataBrowserTableViewColumnCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewColumnCount(
+ ControlRef browser,
+ UInt32 * numColumns);
+
+
+
+/*
+ * SetDataBrowserTableViewHiliteStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTableViewHiliteStyle(
+ ControlRef browser,
+ DataBrowserTableViewHiliteStyle hiliteStyle);
+
+
+/*
+ * GetDataBrowserTableViewHiliteStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewHiliteStyle(
+ ControlRef browser,
+ DataBrowserTableViewHiliteStyle * hiliteStyle);
+
+
+
+/*
+ * SetDataBrowserTableViewRowHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTableViewRowHeight(
+ ControlRef browser,
+ UInt16 height);
+
+
+/*
+ * GetDataBrowserTableViewRowHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewRowHeight(
+ ControlRef browser,
+ UInt16 * height);
+
+
+/*
+ * SetDataBrowserTableViewColumnWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTableViewColumnWidth(
+ ControlRef browser,
+ UInt16 width);
+
+
+/*
+ * GetDataBrowserTableViewColumnWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewColumnWidth(
+ ControlRef browser,
+ UInt16 * width);
+
+
+/*
+ * SetDataBrowserTableViewItemRowHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTableViewItemRowHeight(
+ ControlRef browser,
+ DataBrowserItemID item,
+ UInt16 height);
+
+
+/*
+ * GetDataBrowserTableViewItemRowHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewItemRowHeight(
+ ControlRef browser,
+ DataBrowserItemID item,
+ UInt16 * height);
+
+
+/*
+ * SetDataBrowserTableViewNamedColumnWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTableViewNamedColumnWidth(
+ ControlRef browser,
+ DataBrowserTableViewColumnID column,
+ UInt16 width);
+
+
+/*
+ * GetDataBrowserTableViewNamedColumnWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewNamedColumnWidth(
+ ControlRef browser,
+ DataBrowserTableViewColumnID column,
+ UInt16 * width);
+
+
+/*
+ * SetDataBrowserTableViewGeometry()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTableViewGeometry(
+ ControlRef browser,
+ Boolean variableWidthColumns,
+ Boolean variableHeightRows);
+
+
+/*
+ * GetDataBrowserTableViewGeometry()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewGeometry(
+ ControlRef browser,
+ Boolean * variableWidthColumns,
+ Boolean * variableHeightRows);
+
+
+
+/*
+ * GetDataBrowserTableViewItemID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewItemID(
+ ControlRef browser,
+ DataBrowserTableViewRowIndex row,
+ DataBrowserItemID * item);
+
+
+/*
+ * SetDataBrowserTableViewItemRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTableViewItemRow(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserTableViewRowIndex row);
+
+
+/*
+ * GetDataBrowserTableViewItemRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewItemRow(
+ ControlRef browser,
+ DataBrowserItemID item,
+ DataBrowserTableViewRowIndex * row);
+
+
+/*
+ * SetDataBrowserTableViewColumnPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserTableViewColumnPosition(
+ ControlRef browser,
+ DataBrowserTableViewColumnID column,
+ DataBrowserTableViewColumnIndex position);
+
+
+/*
+ * GetDataBrowserTableViewColumnPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewColumnPosition(
+ ControlRef browser,
+ DataBrowserTableViewColumnID column,
+ DataBrowserTableViewColumnIndex * position);
+
+
+/*
+ * GetDataBrowserTableViewColumnProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserTableViewColumnProperty(
+ ControlRef browser,
+ DataBrowserTableViewColumnIndex column,
+ DataBrowserTableViewColumnID * property);
+
+
+
+
+
+/* kDataBrowserListView Formatting */
+typedef UInt32 DataBrowserListViewPropertyFlags;
+enum {
+ /* kDataBrowserListView DataBrowserPropertyFlags */
+ kDataBrowserListViewMovableColumn = 1 << (kDataBrowserViewSpecificFlagsOffset + 1),
+ kDataBrowserListViewSortableColumn = 1 << (kDataBrowserViewSpecificFlagsOffset + 2),
+ kDataBrowserListViewSelectionColumn = kDataBrowserTableViewSelectionColumn,
+ kDataBrowserListViewDefaultColumnFlags = kDataBrowserListViewMovableColumn + kDataBrowserListViewSortableColumn
+};
+
+
+enum {
+ kDataBrowserListViewLatestHeaderDesc = 0
+};
+
+struct DataBrowserListViewHeaderDesc {
+ UInt32 version; /* Use kDataBrowserListViewLatestHeaderDesc */
+
+ UInt16 minimumWidth;
+ UInt16 maximumWidth;
+
+ SInt16 titleOffset;
+ CFStringRef titleString;
+ DataBrowserSortOrder initialOrder;
+ ControlFontStyleRec btnFontStyle;
+ ControlButtonContentInfo btnContentInfo;
+};
+typedef struct DataBrowserListViewHeaderDesc DataBrowserListViewHeaderDesc;
+struct DataBrowserListViewColumnDesc {
+ DataBrowserTableViewColumnDesc propertyDesc;
+ DataBrowserListViewHeaderDesc headerBtnDesc;
+};
+typedef struct DataBrowserListViewColumnDesc DataBrowserListViewColumnDesc;
+/* kDataBrowserListView API */
+enum {
+ kDataBrowserListViewAppendColumn = kDataBrowserTableViewLastColumn
+};
+
+/*
+ * AutoSizeDataBrowserListViewColumns()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+AutoSizeDataBrowserListViewColumns(ControlRef browser);
+
+
+/*
+ * AddDataBrowserListViewColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+AddDataBrowserListViewColumn(
+ ControlRef browser,
+ DataBrowserListViewColumnDesc * columnDesc,
+ DataBrowserTableViewColumnIndex position);
+
+
+/*
+ * GetDataBrowserListViewHeaderDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserListViewHeaderDesc(
+ ControlRef browser,
+ DataBrowserTableViewColumnID column,
+ DataBrowserListViewHeaderDesc * desc);
+
+
+/*
+ * SetDataBrowserListViewHeaderDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserListViewHeaderDesc(
+ ControlRef browser,
+ DataBrowserTableViewColumnID column,
+ DataBrowserListViewHeaderDesc * desc);
+
+
+/*
+ * SetDataBrowserListViewHeaderBtnHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserListViewHeaderBtnHeight(
+ ControlRef browser,
+ UInt16 height);
+
+
+/*
+ * GetDataBrowserListViewHeaderBtnHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserListViewHeaderBtnHeight(
+ ControlRef browser,
+ UInt16 * height);
+
+
+/*
+ * SetDataBrowserListViewUsePlainBackground()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserListViewUsePlainBackground(
+ ControlRef browser,
+ Boolean usePlainBackground);
+
+
+/*
+ * GetDataBrowserListViewUsePlainBackground()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserListViewUsePlainBackground(
+ ControlRef browser,
+ Boolean * usePlainBackground);
+
+
+/*
+ * SetDataBrowserListViewDisclosureColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserListViewDisclosureColumn(
+ ControlRef browser,
+ DataBrowserTableViewColumnID column,
+ Boolean expandableRows);
+
+
+/*
+ * GetDataBrowserListViewDisclosureColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserListViewDisclosureColumn(
+ ControlRef browser,
+ DataBrowserTableViewColumnID * column,
+ Boolean * expandableRows);
+
+
+
+/* kDataBrowserColumnView API */
+/*
+ * GetDataBrowserColumnViewPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserColumnViewPath(
+ ControlRef browser,
+ Handle path);
+
+
+/*
+ * GetDataBrowserColumnViewPathLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserColumnViewPathLength(
+ ControlRef browser,
+ UInt32 * pathLength);
+
+
+/*
+ * SetDataBrowserColumnViewPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserColumnViewPath(
+ ControlRef browser,
+ UInt32 length,
+ const DataBrowserItemID * path);
+
+
+/*
+ * SetDataBrowserColumnViewDisplayType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDataBrowserColumnViewDisplayType(
+ ControlRef browser,
+ DataBrowserPropertyType propertyType);
+
+
+/*
+ * GetDataBrowserColumnViewDisplayType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDataBrowserColumnViewDisplayType(
+ ControlRef browser,
+ DataBrowserPropertyType * propertyType);
+
+
+
+/* DataBrowser UPP macros */
+/*---------------------------------------------------------------------------------------*/
+/* EditUnicodeText Control */
+/*---------------------------------------------------------------------------------------*/
+/* This control is only available in Mac OS X. It is super similar to Edit Text control */
+/* Use all the same Get/Set tags. But don't ask for the TEHandle. */
+/*---------------------------------------------------------------------------------------*/
+/* This callback supplies the functionality of the TSMTEPostUpdateProcPtr that is used */
+/* in the EditText control. A client should supply this call if they want to look at */
+/* inline text that has been fixed before it is included in the actual body text */
+/* if the new text (i.e. the text in the handle) should be included in the body text */
+/* the client should return true. If the client wants to block the inclusion of the */
+/* text they should return false. */
+typedef CALLBACK_API( Boolean , EditUnicodePostUpdateProcPtr )(UniCharArrayHandle uniText, UniCharCount uniTextLength, UniCharArrayOffset iStartOffset, UniCharArrayOffset iEndOffset, void *refcon);
+typedef STACK_UPP_TYPE(EditUnicodePostUpdateProcPtr) EditUnicodePostUpdateUPP;
+/*
+ * NewEditUnicodePostUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EditUnicodePostUpdateUPP )
+NewEditUnicodePostUpdateUPP(EditUnicodePostUpdateProcPtr userRoutine);
+
+/*
+ * DisposeEditUnicodePostUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEditUnicodePostUpdateUPP(EditUnicodePostUpdateUPP userUPP);
+
+/*
+ * InvokeEditUnicodePostUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeEditUnicodePostUpdateUPP(
+ UniCharArrayHandle uniText,
+ UniCharCount uniTextLength,
+ UniCharArrayOffset iStartOffset,
+ UniCharArrayOffset iEndOffset,
+ void * refcon,
+ EditUnicodePostUpdateUPP userUPP);
+
+/* Use this tag when calling ControlSet/GetData to specify the UnicodePostUpdateProcPtr */
+/* tags available with Appearance 1.1 or later */
+enum {
+ kControlEditUnicodeTextPostUpdateProcTag = FOUR_CHAR_CODE('upup')
+};
+
+
+enum {
+ kControlEditUnicodeTextProc = 912,
+ kControlEditUnicodeTextPasswordProc = 914
+};
+
+/* Control Kind Tag */
+enum {
+ kControlKindEditUnicodeText = FOUR_CHAR_CODE('eutx')
+};
+
+/* Creation API for X */
+/*
+ * CreateEditUnicodeTextControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateEditUnicodeTextControl(
+ WindowRef window,
+ const Rect * boundsRect,
+ CFStringRef text,
+ Boolean isPassword,
+ const ControlFontStyleRec * style, /* can be NULL */
+ ControlRef * outControl);
+
+
+/* Tagged data supported by Unicode text Control only*/
+enum {
+ kControlEditTextSingleLineTag = FOUR_CHAR_CODE('sglc')
+};
#if OLDROUTINENAMES
- /*--------------------------------------------------------------------------------------*/
- /* o OLDROUTINENAMES */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kControlCheckboxUncheckedValue = kControlCheckBoxUncheckedValue,
- kControlCheckboxCheckedValue = kControlCheckBoxCheckedValue,
- kControlCheckboxMixedValue = kControlCheckBoxMixedValue
- };
-
- enum
- {
- inLabel = kControlLabelPart,
- inMenu = kControlMenuPart,
- inTriangle = kControlTrianglePart,
- inButton = kControlButtonPart,
- inCheckBox = kControlCheckBoxPart,
- inUpButton = kControlUpButtonPart,
- inDownButton = kControlDownButtonPart,
- inPageUp = kControlPageUpPart,
- inPageDown = kControlPageDownPart
- };
-
- enum
- {
- kInLabelControlPart = kControlLabelPart,
- kInMenuControlPart = kControlMenuPart,
- kInTriangleControlPart = kControlTrianglePart,
- kInButtonControlPart = kControlButtonPart,
- kInCheckBoxControlPart = kControlCheckBoxPart,
- kInUpButtonControlPart = kControlUpButtonPart,
- kInDownButtonControlPart = kControlDownButtonPart,
- kInPageUpControlPart = kControlPageUpPart,
- kInPageDownControlPart = kControlPageDownPart
- };
+/*--------------------------------------------------------------------------------------*/
+/* o OLDROUTINENAMES */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kControlCheckboxUncheckedValue = kControlCheckBoxUncheckedValue,
+ kControlCheckboxCheckedValue = kControlCheckBoxCheckedValue,
+ kControlCheckboxMixedValue = kControlCheckBoxMixedValue
+};
+
+enum {
+ inLabel = kControlLabelPart,
+ inMenu = kControlMenuPart,
+ inTriangle = kControlTrianglePart,
+ inButton = kControlButtonPart,
+ inCheckBox = kControlCheckBoxPart,
+ inUpButton = kControlUpButtonPart,
+ inDownButton = kControlDownButtonPart,
+ inPageUp = kControlPageUpPart,
+ inPageDown = kControlPageDownPart
+};
+
+enum {
+ kInLabelControlPart = kControlLabelPart,
+ kInMenuControlPart = kControlMenuPart,
+ kInTriangleControlPart = kControlTrianglePart,
+ kInButtonControlPart = kControlButtonPart,
+ kInCheckBoxControlPart = kControlCheckBoxPart,
+ kInUpButtonControlPart = kControlUpButtonPart,
+ kInDownButtonControlPart = kControlDownButtonPart,
+ kInPageUpControlPart = kControlPageUpPart,
+ kInPageDownControlPart = kControlPageDownPart
+};
#endif /* OLDROUTINENAMES */
@@ -6328,11 +6082,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ControlManagerComponent.h b/include/qt/ControlManagerComponent.h
index 2daffa49f..859c455f4 100644
--- a/include/qt/ControlManagerComponent.h
+++ b/include/qt/ControlManagerComponent.h
@@ -1,18 +1,18 @@
/*
File: ControlManagerComponent.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: Technology: QuickTime 6.0
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2002 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 __CONTROLMANAGERCOMPONENT__
#define __CONTROLMANAGERCOMPONENT__
@@ -41,485 +41,484 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kCTRLComponentType = FOUR_CHAR_CODE('ctrl'),
- kCTRLComponentBaseSubType = FOUR_CHAR_CODE('ctrl'),
- kCTRLComponentButtonSubType = FOUR_CHAR_CODE('butn'),
- kCTRLComponentRadioSubType = FOUR_CHAR_CODE('radi'),
- kCTRLComponentCheckSubType = FOUR_CHAR_CODE('chec'),
- kCTRLComponentScrollSubType = FOUR_CHAR_CODE('scro'),
- kCTRLComponentStaticTextSubType = FOUR_CHAR_CODE('stx '),
- kCTRLComponentEditTextSubType = FOUR_CHAR_CODE('edit'),
- kCTRLComponentIconSubType = FOUR_CHAR_CODE('icon'),
- kCTRLComponentPopupMenuSubType = FOUR_CHAR_CODE('popu'),
- kCTRLComponentUserItemSubType = FOUR_CHAR_CODE('user'),
- kCTRLComponentCDEFSubType = FOUR_CHAR_CODE('cdef'),
- kCTRLComponentPICTSubType = FOUR_CHAR_CODE('pict'),
- kCTRLComponentGroupBoxSubType = FOUR_CHAR_CODE('gbox'),
- kCTRLComponentLittleArrowsSubType = FOUR_CHAR_CODE('larw'),
- kCTRLComponentBevelButtonSubType = FOUR_CHAR_CODE('bvbn'),
- kCTRLComponentImageWellSubType = FOUR_CHAR_CODE('imwl'),
- kCTRLComponentProgressBarSubType = FOUR_CHAR_CODE('prog')
- };
+enum {
+ kCTRLComponentType = FOUR_CHAR_CODE('ctrl'),
+ kCTRLComponentBaseSubType = FOUR_CHAR_CODE('ctrl'),
+ kCTRLComponentButtonSubType = FOUR_CHAR_CODE('butn'),
+ kCTRLComponentRadioSubType = FOUR_CHAR_CODE('radi'),
+ kCTRLComponentCheckSubType = FOUR_CHAR_CODE('chec'),
+ kCTRLComponentScrollSubType = FOUR_CHAR_CODE('scro'),
+ kCTRLComponentStaticTextSubType = FOUR_CHAR_CODE('stx '),
+ kCTRLComponentEditTextSubType = FOUR_CHAR_CODE('edit'),
+ kCTRLComponentIconSubType = FOUR_CHAR_CODE('icon'),
+ kCTRLComponentPopupMenuSubType = FOUR_CHAR_CODE('popu'),
+ kCTRLComponentUserItemSubType = FOUR_CHAR_CODE('user'),
+ kCTRLComponentCDEFSubType = FOUR_CHAR_CODE('cdef'),
+ kCTRLComponentPICTSubType = FOUR_CHAR_CODE('pict'),
+ kCTRLComponentGroupBoxSubType = FOUR_CHAR_CODE('gbox'),
+ kCTRLComponentLittleArrowsSubType = FOUR_CHAR_CODE('larw'),
+ kCTRLComponentBevelButtonSubType = FOUR_CHAR_CODE('bvbn'),
+ kCTRLComponentImageWellSubType = FOUR_CHAR_CODE('imwl'),
+ kCTRLComponentProgressBarSubType = FOUR_CHAR_CODE('prog')
+};
#if CALL_NOT_IN_CARBON
- /*
- * CTRLGetCookie()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLGetCookie(
- ComponentInstance ctrl,
- void * cookie) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetCookie()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetCookie(
- ComponentInstance ctrl,
- long cookie) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * CTRLGetCapabilities()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLGetCapabilities(
- ComponentInstance ctrl,
- long * capabilities) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * CTRLCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLCreate(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetControlTitle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetControlTitle(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * CTRLDisposeControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLDisposeControl(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * CTRLHideControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLHideControl(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * CTRLShowControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLShowControl(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * CTRLDraw1Control()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLDraw1Control(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * CTRLHiliteControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLHiliteControl(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * CTRLMoveControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLMoveControl(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSizeControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSizeControl(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetControlValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetControlValue(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetControlMinimum()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetControlMinimum(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetControlMaximum()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetControlMaximum(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * CTRLHaveFocus()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLHaveFocus(
- ComponentInstance ctrl,
- short * haveFocus) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetPreFilterProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetPreFilterProc(
- ComponentInstance ctrl,
- long preFilterProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * CTRLGetPreFilterProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLGetPreFilterProc(
- ComponentInstance ctrl,
- void * preFilterProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
-
-
- /*
- * CTRLSetText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetText(
- ComponentInstance ctrl,
- StringPtr str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * CTRLGetText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLGetText(
- ComponentInstance ctrl,
- StringPtr str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSelectText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSelectText(
- ComponentInstance ctrl,
- short startSel,
- short endSel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetDefaultItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetDefaultItem(ComponentInstance ctrl) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetDrawProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetDrawProc(
- ComponentInstance ctrl,
- short theItem,
- ProcPtr drawProc) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * CTRLTrackControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLTrackControl(
- ComponentInstance ctrl,
- ControlHandle hControl,
- Point localPt,
- ControlActionUPP actionProc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetFocus()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetFocus(
- ComponentInstance ctrl,
- ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * CTRLTestControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLTestControl(
- ComponentInstance ctrl,
- ControlHandle hControl,
- Point localPt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * CTRLSetControlData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLSetControlData(
- ComponentInstance ctrl,
- ControlHandle hControl,
- ControlPartCode part,
- ResType tagName,
- Size size,
- Ptr data) FIVEWORDINLINE(0x2F3C, 0x0012, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * CTRLGetControlData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- CTRLGetControlData(
- ComponentInstance ctrl,
- ControlHandle hControl,
- ControlPartCode part,
- ResType tagName,
- Size bufferSize,
- Ptr buffer,
- Size * actualSize) FIVEWORDINLINE(0x2F3C, 0x0016, 0x001C, 0x7000, 0xA82A);
-
-
-
-
- /* selectors for component calls */
- enum
- {
- kCTRLGetCookieSelect = 0x0001,
- kCTRLSetCookieSelect = 0x0002,
- kCTRLGetCapabilitiesSelect = 0x0003,
- kCTRLCreateSelect = 0x0004,
- kCTRLSetControlTitleSelect = 0x0005,
- kCTRLDisposeControlSelect = 0x0006,
- kCTRLHideControlSelect = 0x0007,
- kCTRLShowControlSelect = 0x0008,
- kCTRLDraw1ControlSelect = 0x0009,
- kCTRLHiliteControlSelect = 0x000A,
- kCTRLMoveControlSelect = 0x000B,
- kCTRLSizeControlSelect = 0x000C,
- kCTRLSetControlValueSelect = 0x000D,
- kCTRLSetControlMinimumSelect = 0x000E,
- kCTRLSetControlMaximumSelect = 0x000F,
- kCTRLHaveFocusSelect = 0x0010,
- kCTRLSetPreFilterProcSelect = 0x0011,
- kCTRLGetPreFilterProcSelect = 0x0012,
- kCTRLSetTextSelect = 0x0013,
- kCTRLGetTextSelect = 0x0014,
- kCTRLSelectTextSelect = 0x0015,
- kCTRLSetDefaultItemSelect = 0x0016,
- kCTRLSetDrawProcSelect = 0x0017,
- kCTRLTrackControlSelect = 0x0018,
- kCTRLSetFocusSelect = 0x0019,
- kCTRLTestControlSelect = 0x001A,
- kCTRLSetControlDataSelect = 0x001B,
- kCTRLGetControlDataSelect = 0x001C
- };
+/*
+ * CTRLGetCookie()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLGetCookie(
+ ComponentInstance ctrl,
+ void * cookie) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetCookie()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetCookie(
+ ComponentInstance ctrl,
+ long cookie) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLGetCapabilities()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLGetCapabilities(
+ ComponentInstance ctrl,
+ long * capabilities) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLCreate(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetControlTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetControlTitle(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLDisposeControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLDisposeControl(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLHideControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLHideControl(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLShowControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLShowControl(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLDraw1Control()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLDraw1Control(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLHiliteControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLHiliteControl(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLMoveControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLMoveControl(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSizeControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSizeControl(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetControlValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetControlValue(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetControlMinimum()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetControlMinimum(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetControlMaximum()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetControlMaximum(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLHaveFocus()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLHaveFocus(
+ ComponentInstance ctrl,
+ short * haveFocus) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetPreFilterProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetPreFilterProc(
+ ComponentInstance ctrl,
+ long preFilterProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLGetPreFilterProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLGetPreFilterProc(
+ ComponentInstance ctrl,
+ void * preFilterProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+
+
+/*
+ * CTRLSetText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetText(
+ ComponentInstance ctrl,
+ StringPtr str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLGetText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLGetText(
+ ComponentInstance ctrl,
+ StringPtr str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSelectText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSelectText(
+ ComponentInstance ctrl,
+ short startSel,
+ short endSel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetDefaultItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetDefaultItem(ComponentInstance ctrl) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetDrawProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetDrawProc(
+ ComponentInstance ctrl,
+ short theItem,
+ ProcPtr drawProc) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLTrackControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLTrackControl(
+ ComponentInstance ctrl,
+ ControlHandle hControl,
+ Point localPt,
+ ControlActionUPP actionProc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetFocus()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetFocus(
+ ComponentInstance ctrl,
+ ControlHandle hControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLTestControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLTestControl(
+ ComponentInstance ctrl,
+ ControlHandle hControl,
+ Point localPt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLSetControlData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLSetControlData(
+ ComponentInstance ctrl,
+ ControlHandle hControl,
+ ControlPartCode part,
+ ResType tagName,
+ Size size,
+ Ptr data) FIVEWORDINLINE(0x2F3C, 0x0012, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * CTRLGetControlData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+CTRLGetControlData(
+ ComponentInstance ctrl,
+ ControlHandle hControl,
+ ControlPartCode part,
+ ResType tagName,
+ Size bufferSize,
+ Ptr buffer,
+ Size * actualSize) FIVEWORDINLINE(0x2F3C, 0x0016, 0x001C, 0x7000, 0xA82A);
+
+
+
+
+/* selectors for component calls */
+enum {
+ kCTRLGetCookieSelect = 0x0001,
+ kCTRLSetCookieSelect = 0x0002,
+ kCTRLGetCapabilitiesSelect = 0x0003,
+ kCTRLCreateSelect = 0x0004,
+ kCTRLSetControlTitleSelect = 0x0005,
+ kCTRLDisposeControlSelect = 0x0006,
+ kCTRLHideControlSelect = 0x0007,
+ kCTRLShowControlSelect = 0x0008,
+ kCTRLDraw1ControlSelect = 0x0009,
+ kCTRLHiliteControlSelect = 0x000A,
+ kCTRLMoveControlSelect = 0x000B,
+ kCTRLSizeControlSelect = 0x000C,
+ kCTRLSetControlValueSelect = 0x000D,
+ kCTRLSetControlMinimumSelect = 0x000E,
+ kCTRLSetControlMaximumSelect = 0x000F,
+ kCTRLHaveFocusSelect = 0x0010,
+ kCTRLSetPreFilterProcSelect = 0x0011,
+ kCTRLGetPreFilterProcSelect = 0x0012,
+ kCTRLSetTextSelect = 0x0013,
+ kCTRLGetTextSelect = 0x0014,
+ kCTRLSelectTextSelect = 0x0015,
+ kCTRLSetDefaultItemSelect = 0x0016,
+ kCTRLSetDrawProcSelect = 0x0017,
+ kCTRLTrackControlSelect = 0x0018,
+ kCTRLSetFocusSelect = 0x0019,
+ kCTRLTestControlSelect = 0x001A,
+ kCTRLSetControlDataSelect = 0x001B,
+ kCTRLGetControlDataSelect = 0x001C
+};
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Controls.h b/include/qt/Controls.h
index e0fa6ab20..d7f561443 100644
--- a/include/qt/Controls.h
+++ b/include/qt/Controls.h
@@ -1,17 +1,17 @@
/*
File: Controls.h
-
+
Contains: Control Manager interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CONTROLS__
#define __CONTROLS__
@@ -73,2448 +73,2354 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*------------------------------------------------------------------------------------------------------*/
- /* o Resource Types */
- /*------------------------------------------------------------------------------------------------------*/
- enum {
- kControlDefProcType = FOUR_CHAR_CODE('CDEF'),
- kControlTemplateResourceType = FOUR_CHAR_CODE('CNTL'),
- kControlColorTableResourceType = FOUR_CHAR_CODE('cctb'),
- kControlDefProcResourceType = FOUR_CHAR_CODE('CDEF')
- };
-
- /*------------------------------------------------------------------------------------------------------*/
- /* o Format of a 'CNTL' resource */
- /*------------------------------------------------------------------------------------------------------*/
- struct ControlTemplate
- {
- Rect controlRect;
- SInt16 controlValue;
- Boolean controlVisible;
- UInt8 fill;
- SInt16 controlMaximum;
- SInt16 controlMinimum;
- SInt16 controlDefProcID;
- SInt32 controlReference;
- Str255 controlTitle;
- };
- typedef struct ControlTemplate ControlTemplate;
- typedef ControlTemplate * ControlTemplatePtr;
- typedef ControlTemplatePtr * ControlTemplateHandle;
+/*------------------------------------------------------------------------------------------------------*/
+/* o Resource Types */
+/*------------------------------------------------------------------------------------------------------*/
+enum {
+ kControlDefProcType = FOUR_CHAR_CODE('CDEF'),
+ kControlTemplateResourceType = FOUR_CHAR_CODE('CNTL'),
+ kControlColorTableResourceType = FOUR_CHAR_CODE('cctb'),
+ kControlDefProcResourceType = FOUR_CHAR_CODE('CDEF')
+};
+
+/*------------------------------------------------------------------------------------------------------*/
+/* o Format of a 'CNTL' resource */
+/*------------------------------------------------------------------------------------------------------*/
+struct ControlTemplate {
+ Rect controlRect;
+ SInt16 controlValue;
+ Boolean controlVisible;
+ UInt8 fill;
+ SInt16 controlMaximum;
+ SInt16 controlMinimum;
+ SInt16 controlDefProcID;
+ SInt32 controlReference;
+ Str255 controlTitle;
+};
+typedef struct ControlTemplate ControlTemplate;
+typedef ControlTemplate * ControlTemplatePtr;
+typedef ControlTemplatePtr * ControlTemplateHandle;
#if !TARGET_OS_MAC
- /*
- ---------------------------------------------------------------------------------------------------------
- o NON-MAC COMPATIBILITY CODES (QuickTime 3.0)
- ---------------------------------------------------------------------------------------------------------
- */
- typedef UInt32 ControlNotification;
- enum
- {
- controlNotifyNothing = FOUR_CHAR_CODE('nada'), /* No (null) notification*/
- controlNotifyClick = FOUR_CHAR_CODE('clik'), /* Control was clicked*/
- controlNotifyFocus = FOUR_CHAR_CODE('focu'), /* Control got keyboard focus*/
- controlNotifyKey = FOUR_CHAR_CODE('key ') /* Control got a keypress*/
- };
-
- typedef UInt32 ControlCapabilities;
- enum
- {
- kControlCanAutoInvalidate = 1L << 0 /* Control component automatically invalidates areas left behind after hide/move operation.*/
- };
-
- /* procID's for our added "controls"*/
- enum
- {
- staticTextProc = 256, /* static text*/
- editTextProc = 272, /* editable text*/
- iconProc = 288, /* icon*/
- userItemProc = 304, /* user drawn item*/
- pictItemProc = 320 /* pict*/
- };
+/*
+ ---------------------------------------------------------------------------------------------------------
+ o NON-MAC COMPATIBILITY CODES (QuickTime 3.0)
+ ---------------------------------------------------------------------------------------------------------
+*/
+typedef UInt32 ControlNotification;
+enum {
+ controlNotifyNothing = FOUR_CHAR_CODE('nada'), /* No (null) notification*/
+ controlNotifyClick = FOUR_CHAR_CODE('clik'), /* Control was clicked*/
+ controlNotifyFocus = FOUR_CHAR_CODE('focu'), /* Control got keyboard focus*/
+ controlNotifyKey = FOUR_CHAR_CODE('key ') /* Control got a keypress*/
+};
+
+typedef UInt32 ControlCapabilities;
+enum {
+ kControlCanAutoInvalidate = 1L << 0 /* Control component automatically invalidates areas left behind after hide/move operation.*/
+};
+
+/* procID's for our added "controls"*/
+enum {
+ staticTextProc = 256, /* static text*/
+ editTextProc = 272, /* editable text*/
+ iconProc = 288, /* icon*/
+ userItemProc = 304, /* user drawn item*/
+ pictItemProc = 320 /* pict*/
+};
#endif /* !TARGET_OS_MAC */
- /*------------------------------------------------------------------------------------------------------*/
- /* o ControlRef */
- /*------------------------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------------------------------*/
+/* o ControlRef */
+/*------------------------------------------------------------------------------------------------------*/
#if !OPAQUE_TOOLBOX_STRUCTS
- typedef struct ControlRecord ControlRecord;
- typedef ControlRecord * ControlPtr;
- typedef ControlPtr * ControlRef;
+typedef struct ControlRecord ControlRecord;
+typedef ControlRecord * ControlPtr;
+typedef ControlPtr * ControlRef;
#else
- typedef struct OpaqueControlRef* ControlRef;
+typedef struct OpaqueControlRef* ControlRef;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /* ControlHandle is obsolete. Use ControlRef.*/
- typedef ControlRef ControlHandle;
- typedef SInt16 ControlPartCode;
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control ActionProcPtr */
- /*------------------------------------------------------------------------------------------------------*/
- typedef CALLBACK_API(void , ControlActionProcPtr)(ControlRef theControl, ControlPartCode partCode);
- typedef STACK_UPP_TYPE(ControlActionProcPtr) ControlActionUPP;
- /*------------------------------------------------------------------------------------------------------*/
- /* o ControlRecord */
- /*------------------------------------------------------------------------------------------------------*/
+/* ControlHandle is obsolete. Use ControlRef.*/
+typedef ControlRef ControlHandle;
+typedef SInt16 ControlPartCode;
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control ActionProcPtr */
+/*------------------------------------------------------------------------------------------------------*/
+typedef CALLBACK_API( void , ControlActionProcPtr )(ControlRef theControl, ControlPartCode partCode);
+typedef STACK_UPP_TYPE(ControlActionProcPtr) ControlActionUPP;
+/*------------------------------------------------------------------------------------------------------*/
+/* o ControlRecord */
+/*------------------------------------------------------------------------------------------------------*/
#if !OPAQUE_TOOLBOX_STRUCTS
- struct ControlRecord
- {
- ControlRef nextControl; /* in Carbon use embedding heirarchy functions*/
- WindowRef contrlOwner; /* in Carbon use GetControlOwner or EmbedControl*/
- Rect contrlRect; /* in Carbon use Get/SetControlBounds*/
- UInt8 contrlVis; /* in Carbon use IsControlVisible, SetControlVisibility*/
- UInt8 contrlHilite; /* in Carbon use GetControlHilite, HiliteControl*/
- SInt16 contrlValue; /* in Carbon use Get/SetControlValue, Get/SetControl32BitValue*/
- SInt16 contrlMin; /* in Carbon use Get/SetControlMinimum, Get/SetControl32BitMinimum*/
- SInt16 contrlMax; /* in Carbon use Get/SetControlMaximum, Get/SetControl32BitMaximum*/
- Handle contrlDefProc; /* not supported in Carbon*/
- Handle contrlData; /* in Carbon use Get/SetControlDataHandle*/
- ControlActionUPP contrlAction; /* in Carbon use Get/SetControlAction*/
- SInt32 contrlRfCon; /* in Carbon use Get/SetControlReference*/
- Str255 contrlTitle; /* in Carbon use Get/SetControlTitle*/
- };
+struct ControlRecord {
+ ControlRef nextControl; /* in Carbon use embedding heirarchy functions*/
+ WindowRef contrlOwner; /* in Carbon use GetControlOwner or EmbedControl*/
+ Rect contrlRect; /* in Carbon use Get/SetControlBounds*/
+ UInt8 contrlVis; /* in Carbon use IsControlVisible, SetControlVisibility*/
+ UInt8 contrlHilite; /* in Carbon use GetControlHilite, HiliteControl*/
+ SInt16 contrlValue; /* in Carbon use Get/SetControlValue, Get/SetControl32BitValue*/
+ SInt16 contrlMin; /* in Carbon use Get/SetControlMinimum, Get/SetControl32BitMinimum*/
+ SInt16 contrlMax; /* in Carbon use Get/SetControlMaximum, Get/SetControl32BitMaximum*/
+ Handle contrlDefProc; /* not supported in Carbon*/
+ Handle contrlData; /* in Carbon use Get/SetControlDataHandle*/
+ ControlActionUPP contrlAction; /* in Carbon use Get/SetControlAction*/
+ SInt32 contrlRfCon; /* in Carbon use Get/SetControlReference*/
+ Str255 contrlTitle; /* in Carbon use Get/SetControlTitle*/
+};
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control ActionProcPtr : Epilogue */
- /*------------------------------------------------------------------------------------------------------*/
- /*
- * NewControlActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlActionUPP)
- NewControlActionUPP(ControlActionProcPtr userRoutine);
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control ActionProcPtr : Epilogue */
+/*------------------------------------------------------------------------------------------------------*/
+/*
+ * NewControlActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlActionUPP )
+NewControlActionUPP(ControlActionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlActionProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlActionUPP) NewControlActionUPP(ControlActionProcPtr userRoutine)
- {
- return (ControlActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlActionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlActionUPP(userRoutine) (ControlActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlActionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlActionProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlActionUPP) NewControlActionUPP(ControlActionProcPtr userRoutine) { return (ControlActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlActionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlActionUPP(userRoutine) (ControlActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlActionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeControlActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlActionUPP(ControlActionUPP userUPP);
+/*
+ * DisposeControlActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlActionUPP(ControlActionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlActionUPP(ControlActionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlActionUPP(ControlActionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeControlActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeControlActionUPP(
- ControlRef theControl,
- ControlPartCode partCode,
- ControlActionUPP userUPP);
+/*
+ * InvokeControlActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeControlActionUPP(
+ ControlRef theControl,
+ ControlPartCode partCode,
+ ControlActionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeControlActionUPP(ControlRef theControl, ControlPartCode partCode, ControlActionUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppControlActionProcInfo, theControl, partCode);
- }
-#else
-#define InvokeControlActionUPP(theControl, partCode, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlActionProcInfo, (theControl), (partCode))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeControlActionUPP(ControlRef theControl, ControlPartCode partCode, ControlActionUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppControlActionProcInfo, theControl, partCode); }
+ #else
+ #define InvokeControlActionUPP(theControl, partCode, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlActionProcInfo, (theControl), (partCode))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewControlActionProc(userRoutine) NewControlActionUPP(userRoutine)
-#define CallControlActionProc(userRoutine, theControl, partCode) InvokeControlActionUPP(theControl, partCode, userRoutine)
+ #define NewControlActionProc(userRoutine) NewControlActionUPP(userRoutine)
+ #define CallControlActionProc(userRoutine, theControl, partCode) InvokeControlActionUPP(theControl, partCode, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Color Table */
- /*------------------------------------------------------------------------------------------------------*/
- enum
- {
- cFrameColor = 0,
- cBodyColor = 1,
- cTextColor = 2,
- cThumbColor = 3,
- kNumberCtlCTabEntries = 4
- };
-
- struct CtlCTab
- {
- SInt32 ccSeed;
- SInt16 ccRider;
- SInt16 ctSize;
- ColorSpec ctTable[4];
- };
- typedef struct CtlCTab CtlCTab;
- typedef CtlCTab * CCTabPtr;
- typedef CCTabPtr * CCTabHandle;
- /*------------------------------------------------------------------------------------------------------*/
- /* o Auxiliary Control Record */
- /*------------------------------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Color Table */
+/*------------------------------------------------------------------------------------------------------*/
+enum {
+ cFrameColor = 0,
+ cBodyColor = 1,
+ cTextColor = 2,
+ cThumbColor = 3,
+ kNumberCtlCTabEntries = 4
+};
+
+struct CtlCTab {
+ SInt32 ccSeed;
+ SInt16 ccRider;
+ SInt16 ctSize;
+ ColorSpec ctTable[4];
+};
+typedef struct CtlCTab CtlCTab;
+typedef CtlCTab * CCTabPtr;
+typedef CCTabPtr * CCTabHandle;
+/*------------------------------------------------------------------------------------------------------*/
+/* o Auxiliary Control Record */
+/*------------------------------------------------------------------------------------------------------*/
#if !OPAQUE_TOOLBOX_STRUCTS
- struct AuxCtlRec
- {
- Handle acNext; /* not supported in Carbon*/
- ControlRef acOwner; /* not supported in Carbon*/
- CCTabHandle acCTable; /* not supported in Carbon*/
- SInt16 acFlags; /* not supported in Carbon*/
- SInt32 acReserved; /* not supported in Carbon*/
- SInt32 acRefCon; /* in Carbon use Get/SetControlProperty if you need more refCons*/
- };
- typedef struct AuxCtlRec AuxCtlRec;
- typedef AuxCtlRec * AuxCtlPtr;
- typedef AuxCtlPtr * AuxCtlHandle;
+struct AuxCtlRec {
+ Handle acNext; /* not supported in Carbon*/
+ ControlRef acOwner; /* not supported in Carbon*/
+ CCTabHandle acCTable; /* not supported in Carbon*/
+ SInt16 acFlags; /* not supported in Carbon*/
+ SInt32 acReserved; /* not supported in Carbon*/
+ SInt32 acRefCon; /* in Carbon use Get/SetControlProperty if you need more refCons*/
+};
+typedef struct AuxCtlRec AuxCtlRec;
+typedef AuxCtlRec * AuxCtlPtr;
+typedef AuxCtlPtr * AuxCtlHandle;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /*--------------------------------------------------------------------------------------*/
- /* o Control Variants */
- /*--------------------------------------------------------------------------------------*/
- typedef SInt16 ControlVariant;
- enum
- {
- kControlNoVariant = 0, /* No variant*/
- kControlUsesOwningWindowsFontVariant = 1 << 3 /* Control uses owning windows font to display text*/
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Part Codes */
- /*--------------------------------------------------------------------------------------*/
- /* Basic part codes */
- enum
- {
- kControlNoPart = 0,
- kControlIndicatorPart = 129,
- kControlDisabledPart = 254,
- kControlInactivePart = 255
- };
-
- /* Use this constant in Get/SetControlData when the data referred to is not */
- /* specific to a part, but rather the entire control, e.g. the list handle of a */
- /* list box control. */
- enum
- {
- kControlEntireControl = 0
- };
-
- /* Meta-Parts */
- /* */
- /* If you haven't guessed from looking at other toolbox headers. We like the word */
- /* 'meta'. It's cool. So here's one more for you. A meta-part is a part used in a call */
- /* to the GetControlRegion API. These parts are parts that might be defined by a */
- /* control, but should not be returned from calls like TestControl, et al. They define */
- /* a region of a control, presently the structure and the content region. The content */
- /* region is only defined by controls that can embed other controls. It is the area */
- /* that embedded content can live. */
- /* */
- /* Along with these parts, you can also pass in normal part codes to get the regions */
- /* of the parts. Not all controls fully support this at the time this was written. */
- enum
- {
- kControlStructureMetaPart = -1,
- kControlContentMetaPart = -2
- };
-
- /* focusing part codes */
- enum
- {
- kControlFocusNoPart = 0, /* tells control to clear its focus*/
- kControlFocusNextPart = -1, /* tells control to focus on the next part*/
- kControlFocusPrevPart = -2 /* tells control to focus on the previous part*/
- };
-
- typedef SInt16 ControlFocusPart;
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Collection Tags */
- /*------------------------------------------------------------------------------------------------------*/
- /* These are standard tags that you will find in the initial data Collection that is passed in the */
- /* 'param' parameter to the initCntl message (Carbon only). */
- /* */
- /* All tags at ID zero in a Control's Collection are reserved for Control Manager use. */
- /* Custom control definitions should use other IDs. */
- /* */
- /* Most of these tags are interpreted when you call CreateCustomControl; the Control Manager will */
- /* put value in the right place before calling the Control Definition with the initialization message. */
- enum
- {
- kControlCollectionTagBounds = FOUR_CHAR_CODE('boun'), /* Rect - the bounding rectangle*/
- kControlCollectionTagValue = FOUR_CHAR_CODE('valu'), /* SInt32 - the value*/
- kControlCollectionTagMinimum = FOUR_CHAR_CODE('min '), /* SInt32 - the minimum*/
- kControlCollectionTagMaximum = FOUR_CHAR_CODE('max '), /* SInt32 - the maximum*/
- kControlCollectionTagViewSize = FOUR_CHAR_CODE('view'), /* SInt32 - the view size*/
- kControlCollectionTagVisibility = FOUR_CHAR_CODE('visi'), /* Boolean - the visible state*/
- kControlCollectionTagRefCon = FOUR_CHAR_CODE('refc'), /* SInt32 - the refCon*/
- kControlCollectionTagTitle = FOUR_CHAR_CODE('titl'), /* arbitrarily sized character array - the title*/
- kControlCollectionTagUnicodeTitle = FOUR_CHAR_CODE('uttl'), /* bytes as received via CFStringCreateExternalRepresentation*/
- kControlCollectionTagIDSignature = FOUR_CHAR_CODE('idsi'), /* OSType - the ControlID signature*/
- kControlCollectionTagIDID = FOUR_CHAR_CODE('idid'), /* SInt32 - the ControlID id*/
- kControlCollectionTagCommand = FOUR_CHAR_CODE('cmd '), /* UInt32 - the command*/
- kControlCollectionTagVarCode = FOUR_CHAR_CODE('varc') /* SInt16 - the variant*/
- };
-
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Image Content */
- /*------------------------------------------------------------------------------------------------------*/
- enum
- {
- kControlContentTextOnly = 0,
- kControlNoContent = 0,
- kControlContentIconSuiteRes = 1,
- kControlContentCIconRes = 2,
- kControlContentPictRes = 3,
- kControlContentICONRes = 4,
- kControlContentIconSuiteHandle = 129,
- kControlContentCIconHandle = 130,
- kControlContentPictHandle = 131,
- kControlContentIconRef = 132,
- kControlContentICON = 133
- };
-
- typedef SInt16 ControlContentType;
- struct ControlButtonContentInfo
- {
- ControlContentType contentType;
- union
- {
- SInt16 resID;
- CIconHandle cIconHandle;
- Handle iconSuite;
- IconRef iconRef;
- PicHandle picture;
- Handle ICONHandle;
- } u;
- };
- typedef struct ControlButtonContentInfo ControlButtonContentInfo;
- typedef ControlButtonContentInfo * ControlButtonContentInfoPtr;
- typedef ControlButtonContentInfo ControlImageContentInfo;
- typedef ControlButtonContentInfo * ControlImageContentInfoPtr;
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Key Script Behavior */
- /*------------------------------------------------------------------------------------------------------*/
- enum
- {
- kControlKeyScriptBehaviorAllowAnyScript = FOUR_CHAR_CODE('any '), /* leaves the current keyboard alone and allows user to change the keyboard.*/
- kControlKeyScriptBehaviorPrefersRoman = FOUR_CHAR_CODE('prmn'), /* switches the keyboard to roman, but allows them to change it as desired.*/
- kControlKeyScriptBehaviorRequiresRoman = FOUR_CHAR_CODE('rrmn') /* switches the keyboard to roman and prevents the user from changing it.*/
- };
-
- typedef UInt32 ControlKeyScriptBehavior;
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Font Style */
- /*------------------------------------------------------------------------------------------------------*/
- /* SPECIAL FONT USAGE NOTES: You can specify the font to use for many control types.
- The constants below are meta-font numbers which you can use to set a particular
- control's font usage. There are essentially two modes you can use: 1) default,
- which is essentially the same as it always has been, i.e. it uses the system font, unless
- directed to use the window font via a control variant. 2) you can specify to use
- the big or small system font in a generic manner. The Big system font is the font
- used in menus, etc. Chicago has filled that role for some time now. Small system
- font is currently Geneva 10. The meta-font number implies the size and style.
-
- NOTE: Not all font attributes are used by all controls. Most, in fact, ignore
- the fore and back color (Static Text is the only one that does, for
- backwards compatibility). Also size, face, and addFontSize are ignored
- when using the meta-font numbering.
- */
- /* Meta-font numbering - see note above */
- enum
- {
- kControlFontBigSystemFont = -1, /* force to big system font*/
- kControlFontSmallSystemFont = -2, /* force to small system font*/
- kControlFontSmallBoldSystemFont = -3, /* force to small bold system font*/
- kControlFontViewSystemFont = -4 /* force to views system font (DataBrowser control only)*/
- };
-
- /* Add these masks together to set the flags field of a ControlFontStyleRec */
- /* They specify which fields to apply to the text. It is important to make */
- /* sure that you specify only the fields that you wish to set. */
- enum
- {
- kControlUseFontMask = 0x0001,
- kControlUseFaceMask = 0x0002,
- kControlUseSizeMask = 0x0004,
- kControlUseForeColorMask = 0x0008,
- kControlUseBackColorMask = 0x0010,
- kControlUseModeMask = 0x0020,
- kControlUseJustMask = 0x0040,
- kControlUseAllMask = 0x00FF,
- kControlAddFontSizeMask = 0x0100
- };
-
- /* AddToMetaFont indicates that we want to start with a standard system */
- /* font, but then we'd like to add the other attributes. Normally, the meta */
- /* font ignores all other flags */
- enum
- {
- kControlAddToMetaFontMask = 0x0200 /* Available in Appearance 1.1 or later*/
- };
-
- /* UseThemeFontID indicates that the font field of the ControlFontStyleRec */
- /* should be interpreted as a ThemeFontID (see Appearance.h). In all other */
- /* ways, specifying a ThemeFontID is just like using one of the control */
- /* meta-fonts IDs. */
- enum
- {
- kControlUseThemeFontIDMask = 0x0080 /* Available in Mac OS X or later*/
- };
-
- struct ControlFontStyleRec
- {
- SInt16 flags;
- SInt16 font;
- SInt16 size;
- SInt16 style;
- SInt16 mode;
- SInt16 just;
- RGBColor foreColor;
- RGBColor backColor;
- };
- typedef struct ControlFontStyleRec ControlFontStyleRec;
- typedef ControlFontStyleRec * ControlFontStylePtr;
- /*------------------------------------------------------------------------------------------------------*/
- /* o Click Activation Results */
- /*------------------------------------------------------------------------------------------------------*/
- /* These are for use with GetControlClickActivation. The enumerated values should be pretty */
- /* self-explanatory, but just in case: */
- /* o Activate/DoNotActivate indicates whether or not to change the owning window's z-ordering before */
- /* processing the click. If activation is requested, you may also want to immediately redraw the */
- /* newly exposed portion of the window. */
- /* o Ignore/Handle Click indicates whether or not to call an appropriate click handling API (like */
- /* HandleControlClick) in respose to the event. */
- enum
- {
- kDoNotActivateAndIgnoreClick = 0, /* probably never used. here for completeness.*/
- kDoNotActivateAndHandleClick = 1, /* let the control handle the click while the window is still in the background.*/
- kActivateAndIgnoreClick = 2, /* control doesn't want to respond directly to the click, but window should still be brought forward.*/
- kActivateAndHandleClick = 3 /* control wants to respond to the click, but only after the window has been activated.*/
- };
-
- typedef UInt32 ClickActivationResult;
- /*------------------------------------------------------------------------------------------------------*/
- /* o Common data tags for Get/SetControlData */
- /*------------------------------------------------------------------------------------------------------*/
-
- /*
- * Discussion:
- * Get/SetControlData Common Tags
- */
- enum
- {
- kControlFontStyleTag = FOUR_CHAR_CODE('font'),
- kControlKeyFilterTag = FOUR_CHAR_CODE('fltr'),
-
- /*
- * Sent with a pointer to a ControlKind record to be filled in. Only
- * valid for GetControlData.
- */
- kControlKindTag = FOUR_CHAR_CODE('kind'),
-
- /*
- * Sent with a pointer to a ControlSize. Only valid with explicitly
- * sizeable controls. Currently supported by the Check Box, Combo
- * Box, Progress Bar, Indeterminate Progress Bar, Radio Button, Round
- * Button, Scroll Bar, Slider and the Tab. Check your return value!
- */
- kControlSizeTag = FOUR_CHAR_CODE('size')
- };
-
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Feature Bits */
- /*------------------------------------------------------------------------------------------------------*/
- enum
- {
- /* Control feature bits - returned by GetControlFeatures */
- kControlSupportsGhosting = 1 << 0,
- kControlSupportsEmbedding = 1 << 1,
- kControlSupportsFocus = 1 << 2,
- kControlWantsIdle = 1 << 3,
- kControlWantsActivate = 1 << 4,
- kControlHandlesTracking = 1 << 5,
- kControlSupportsDataAccess = 1 << 6,
- kControlHasSpecialBackground = 1 << 7,
- kControlGetsFocusOnClick = 1 << 8,
- kControlSupportsCalcBestRect = 1 << 9,
- kControlSupportsLiveFeedback = 1 << 10,
- kControlHasRadioBehavior = 1 << 11, /* Available in Appearance 1.0.1 or later*/
- kControlSupportsDragAndDrop = 1 << 12, /* Available in Carbon*/
- kControlAutoToggles = 1 << 14, /* Available in Appearance 1.1 or later*/
- kControlSupportsGetRegion = 1 << 17, /* Available in Appearance 1.1 or later*/
- kControlSupportsFlattening = 1 << 19, /* Available in Carbon*/
- kControlSupportsSetCursor = 1 << 20, /* Available in Carbon*/
- kControlSupportsContextualMenus = 1 << 21, /* Available in Carbon*/
- kControlSupportsClickActivation = 1 << 22, /* Available in Carbon*/
- kControlIdlesWithTimer = 1 << 23 /* Available in Carbon - this bit indicates that the control animates automatically*/
- };
-
- /*------------------------------------------------------------------------------------------------------*/
- /* o Control Messages */
- /*------------------------------------------------------------------------------------------------------*/
- enum
- {
- drawCntl = 0,
- testCntl = 1,
- calcCRgns = 2,
- initCntl = 3, /* Param is Collection, result is OSStatus*/
- dispCntl = 4,
- posCntl = 5,
- thumbCntl = 6,
- dragCntl = 7,
- autoTrack = 8,
- calcCntlRgn = 10,
- calcThumbRgn = 11,
- drawThumbOutline = 12,
- kControlMsgDrawGhost = 13,
- kControlMsgCalcBestRect = 14, /* Calculate best fitting rectangle for control*/
- kControlMsgHandleTracking = 15,
- kControlMsgFocus = 16, /* param indicates action.*/
- kControlMsgKeyDown = 17,
- kControlMsgIdle = 18,
- kControlMsgGetFeatures = 19,
- kControlMsgSetData = 20,
- kControlMsgGetData = 21,
- kControlMsgActivate = 22,
- kControlMsgSetUpBackground = 23,
- kControlMsgCalcValueFromPos = 26,
- kControlMsgTestNewMsgSupport = 27, /* See if this control supports new messaging*/
- kControlMsgSubValueChanged = 25, /* Available in Appearance 1.0.1 or later*/
- kControlMsgSubControlAdded = 28, /* Available in Appearance 1.0.1 or later*/
- kControlMsgSubControlRemoved = 29, /* Available in Appearance 1.0.1 or later*/
- kControlMsgApplyTextColor = 30, /* Available in Appearance 1.1 or later*/
- kControlMsgGetRegion = 31, /* Available in Appearance 1.1 or later*/
- kControlMsgFlatten = 32, /* Available in Carbon. Param is Collection.*/
- kControlMsgSetCursor = 33, /* Available in Carbon. Param is ControlSetCursorRec*/
- kControlMsgDragEnter = 38, /* Available in Carbon. Param is DragRef, result is boolean indicating acceptibility of drag.*/
- kControlMsgDragLeave = 39, /* Available in Carbon. As above.*/
- kControlMsgDragWithin = 40, /* Available in Carbon. As above.*/
- kControlMsgDragReceive = 41, /* Available in Carbon. Param is DragRef, result is OSStatus indicating success/failure.*/
- kControlMsgDisplayDebugInfo = 46, /* Available in Carbon on X.*/
- kControlMsgContextualMenuClick = 47, /* Available in Carbon. Param is ControlContextualMenuClickRec*/
- kControlMsgGetClickActivation = 48 /* Available in Carbon. Param is ControlClickActivationRec*/
- };
-
- typedef SInt16 ControlDefProcMessage;
- /*--------------------------------------------------------------------------------------*/
- /* o Control Sizes */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Discussion:
- * ControlSize values to be used in conjunction with SetControlData
- * and the kControlSizeTag.
- */
- enum
- {
-
- /*
- * Use the control's default drawing variant. This does not apply to
- * Scroll Bars, for which Normal is Large.
- */
- kControlSizeNormal = 0,
-
- /*
- * Use the control's small drawing variant. Currently supported by
- * the Check Box, Combo Box, Radio Button, Scroll Bar, Slider and Tab
- * controls.
- */
- kControlSizeSmall = 1,
-
- /*
- * Use the control's small drawing variant. Currently supported by
- * the Indeterminate Progress Bar, Progress Bar and Round Button
- * controls.
- */
- kControlSizeLarge = 2,
-
- /*
- * Control drawing variant determined by the control's bounds. This
- * ControlSize is only available with Scroll Bars to support their
- * legacy behavior of drawing differently within different bounds.
- */
- kControlSizeAuto = 0xFFFF
- };
-
- typedef UInt16 ControlSize;
- /*--------------------------------------------------------------------------------------*/
- /* o Constants for drawCntl message (passed in param) */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kDrawControlEntireControl = 0,
- kDrawControlIndicatorOnly = 129
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Constants for dragCntl message (passed in param) */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kDragControlEntireControl = 0,
- kDragControlIndicator = 1
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Drag Constraint Structure for thumbCntl message (passed in param) */
- /*--------------------------------------------------------------------------------------*/
- struct IndicatorDragConstraint
- {
- Rect limitRect;
- Rect slopRect;
- DragConstraint axis;
- };
- typedef struct IndicatorDragConstraint IndicatorDragConstraint;
- typedef IndicatorDragConstraint * IndicatorDragConstraintPtr;
- /*--------------------------------------------------------------------------------------*/
- /* CDEF should return as result of kControlMsgTestNewMsgSupport */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kControlSupportsNewMessages = FOUR_CHAR_CODE(' ok ')
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when called with the kControlMsgHandleTracking */
- /* message */
- /*--------------------------------------------------------------------------------------*/
- struct ControlTrackingRec
- {
- Point startPt;
- EventModifiers modifiers;
- ControlActionUPP action;
- };
- typedef struct ControlTrackingRec ControlTrackingRec;
- typedef ControlTrackingRec * ControlTrackingPtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when called with the kControlMsgKeyDown message */
- /*--------------------------------------------------------------------------------------*/
- struct ControlKeyDownRec
- {
- EventModifiers modifiers;
- SInt16 keyCode;
- SInt16 charCode;
- };
- typedef struct ControlKeyDownRec ControlKeyDownRec;
- typedef ControlKeyDownRec * ControlKeyDownPtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when called with the kControlMsgGetData or */
- /* kControlMsgSetData message */
- /*--------------------------------------------------------------------------------------*/
- struct ControlDataAccessRec
- {
- ResType tag;
- ResType part;
- Size size;
- Ptr dataPtr;
- };
- typedef struct ControlDataAccessRec ControlDataAccessRec;
- typedef ControlDataAccessRec * ControlDataAccessPtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when called with the kControlCalcBestRect msg */
- /*--------------------------------------------------------------------------------------*/
- struct ControlCalcSizeRec
- {
- SInt16 height;
- SInt16 width;
- SInt16 baseLine;
- };
- typedef struct ControlCalcSizeRec ControlCalcSizeRec;
- typedef ControlCalcSizeRec * ControlCalcSizePtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when called with the kControlMsgSetUpBackground */
- /* message is sent */
- /*--------------------------------------------------------------------------------------*/
- struct ControlBackgroundRec
- {
- SInt16 depth;
- Boolean colorDevice;
- };
- typedef struct ControlBackgroundRec ControlBackgroundRec;
- typedef ControlBackgroundRec * ControlBackgroundPtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when called with the kControlMsgApplyTextColor */
- /* message is sent */
- /*--------------------------------------------------------------------------------------*/
- struct ControlApplyTextColorRec
- {
- SInt16 depth;
- Boolean colorDevice;
- Boolean active;
- };
- typedef struct ControlApplyTextColorRec ControlApplyTextColorRec;
- typedef ControlApplyTextColorRec * ControlApplyTextColorPtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when called with the kControlMsgGetRegion */
- /* message is sent */
- /*--------------------------------------------------------------------------------------*/
- struct ControlGetRegionRec
- {
- RgnHandle region;
- ControlPartCode part;
- };
- typedef struct ControlGetRegionRec ControlGetRegionRec;
- typedef ControlGetRegionRec * ControlGetRegionPtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when the kControlMsgSetCursor message is sent */
- /* Only sent on Carbon */
- /*--------------------------------------------------------------------------------------*/
- struct ControlSetCursorRec
- {
- Point localPoint;
- EventModifiers modifiers;
- Boolean cursorWasSet; /* your CDEF must set this to true if you set the cursor, or false otherwise*/
- };
- typedef struct ControlSetCursorRec ControlSetCursorRec;
- typedef ControlSetCursorRec * ControlSetCursorPtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when the kControlMsgContextualMenuClick message */
- /* is sent */
- /* Only sent on Carbon */
- /*--------------------------------------------------------------------------------------*/
- struct ControlContextualMenuClickRec
- {
- Point localPoint;
- Boolean menuDisplayed; /* your CDEF must set this to true if you displayed a menu, or false otherwise*/
- };
- typedef struct ControlContextualMenuClickRec ControlContextualMenuClickRec;
- typedef ControlContextualMenuClickRec * ControlContextualMenuClickPtr;
- /*--------------------------------------------------------------------------------------*/
- /* This structure is passed into a CDEF when the kControlMsgGetClickActivation message */
- /* is sent */
- /* Only sent on Carbon */
- /*--------------------------------------------------------------------------------------*/
- struct ControlClickActivationRec
- {
- Point localPoint;
- EventModifiers modifiers;
- ClickActivationResult result; /* your CDEF must pass the desired result back*/
- };
- typedef struct ControlClickActivationRec ControlClickActivationRec;
- typedef ControlClickActivationRec * ControlClickActivationPtr;
- /*--------------------------------------------------------------------------------------*/
- /* o 'CDEF' entrypoint */
- /*--------------------------------------------------------------------------------------*/
- typedef CALLBACK_API(SInt32 , ControlDefProcPtr)(SInt16 varCode, ControlRef theControl, ControlDefProcMessage message, SInt32 param);
- typedef STACK_UPP_TYPE(ControlDefProcPtr) ControlDefUPP;
- /*
- * NewControlDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlDefUPP)
- NewControlDefUPP(ControlDefProcPtr userRoutine);
+/*--------------------------------------------------------------------------------------*/
+/* o Control Variants */
+/*--------------------------------------------------------------------------------------*/
+typedef SInt16 ControlVariant;
+enum {
+ kControlNoVariant = 0, /* No variant*/
+ kControlUsesOwningWindowsFontVariant = 1 << 3 /* Control uses owning windows font to display text*/
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Part Codes */
+/*--------------------------------------------------------------------------------------*/
+/* Basic part codes */
+enum {
+ kControlNoPart = 0,
+ kControlIndicatorPart = 129,
+ kControlDisabledPart = 254,
+ kControlInactivePart = 255
+};
+
+/* Use this constant in Get/SetControlData when the data referred to is not */
+/* specific to a part, but rather the entire control, e.g. the list handle of a */
+/* list box control. */
+enum {
+ kControlEntireControl = 0
+};
+
+/* Meta-Parts */
+/* */
+/* If you haven't guessed from looking at other toolbox headers. We like the word */
+/* 'meta'. It's cool. So here's one more for you. A meta-part is a part used in a call */
+/* to the GetControlRegion API. These parts are parts that might be defined by a */
+/* control, but should not be returned from calls like TestControl, et al. They define */
+/* a region of a control, presently the structure and the content region. The content */
+/* region is only defined by controls that can embed other controls. It is the area */
+/* that embedded content can live. */
+/* */
+/* Along with these parts, you can also pass in normal part codes to get the regions */
+/* of the parts. Not all controls fully support this at the time this was written. */
+enum {
+ kControlStructureMetaPart = -1,
+ kControlContentMetaPart = -2
+};
+
+/* focusing part codes */
+enum {
+ kControlFocusNoPart = 0, /* tells control to clear its focus*/
+ kControlFocusNextPart = -1, /* tells control to focus on the next part*/
+ kControlFocusPrevPart = -2 /* tells control to focus on the previous part*/
+};
+
+typedef SInt16 ControlFocusPart;
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Collection Tags */
+/*------------------------------------------------------------------------------------------------------*/
+/* These are standard tags that you will find in the initial data Collection that is passed in the */
+/* 'param' parameter to the initCntl message (Carbon only). */
+/* */
+/* All tags at ID zero in a Control's Collection are reserved for Control Manager use. */
+/* Custom control definitions should use other IDs. */
+/* */
+/* Most of these tags are interpreted when you call CreateCustomControl; the Control Manager will */
+/* put value in the right place before calling the Control Definition with the initialization message. */
+enum {
+ kControlCollectionTagBounds = FOUR_CHAR_CODE('boun'), /* Rect - the bounding rectangle*/
+ kControlCollectionTagValue = FOUR_CHAR_CODE('valu'), /* SInt32 - the value*/
+ kControlCollectionTagMinimum = FOUR_CHAR_CODE('min '), /* SInt32 - the minimum*/
+ kControlCollectionTagMaximum = FOUR_CHAR_CODE('max '), /* SInt32 - the maximum*/
+ kControlCollectionTagViewSize = FOUR_CHAR_CODE('view'), /* SInt32 - the view size*/
+ kControlCollectionTagVisibility = FOUR_CHAR_CODE('visi'), /* Boolean - the visible state*/
+ kControlCollectionTagRefCon = FOUR_CHAR_CODE('refc'), /* SInt32 - the refCon*/
+ kControlCollectionTagTitle = FOUR_CHAR_CODE('titl'), /* arbitrarily sized character array - the title*/
+ kControlCollectionTagUnicodeTitle = FOUR_CHAR_CODE('uttl'), /* bytes as received via CFStringCreateExternalRepresentation*/
+ kControlCollectionTagIDSignature = FOUR_CHAR_CODE('idsi'), /* OSType - the ControlID signature*/
+ kControlCollectionTagIDID = FOUR_CHAR_CODE('idid'), /* SInt32 - the ControlID id*/
+ kControlCollectionTagCommand = FOUR_CHAR_CODE('cmd '), /* UInt32 - the command*/
+ kControlCollectionTagVarCode = FOUR_CHAR_CODE('varc') /* SInt16 - the variant*/
+};
+
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Image Content */
+/*------------------------------------------------------------------------------------------------------*/
+enum {
+ kControlContentTextOnly = 0,
+ kControlNoContent = 0,
+ kControlContentIconSuiteRes = 1,
+ kControlContentCIconRes = 2,
+ kControlContentPictRes = 3,
+ kControlContentICONRes = 4,
+ kControlContentIconSuiteHandle = 129,
+ kControlContentCIconHandle = 130,
+ kControlContentPictHandle = 131,
+ kControlContentIconRef = 132,
+ kControlContentICON = 133
+};
+
+typedef SInt16 ControlContentType;
+struct ControlButtonContentInfo {
+ ControlContentType contentType;
+ union {
+ SInt16 resID;
+ CIconHandle cIconHandle;
+ Handle iconSuite;
+ IconRef iconRef;
+ PicHandle picture;
+ Handle ICONHandle;
+ } u;
+};
+typedef struct ControlButtonContentInfo ControlButtonContentInfo;
+typedef ControlButtonContentInfo * ControlButtonContentInfoPtr;
+typedef ControlButtonContentInfo ControlImageContentInfo;
+typedef ControlButtonContentInfo * ControlImageContentInfoPtr;
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Key Script Behavior */
+/*------------------------------------------------------------------------------------------------------*/
+enum {
+ kControlKeyScriptBehaviorAllowAnyScript = FOUR_CHAR_CODE('any '), /* leaves the current keyboard alone and allows user to change the keyboard.*/
+ kControlKeyScriptBehaviorPrefersRoman = FOUR_CHAR_CODE('prmn'), /* switches the keyboard to roman, but allows them to change it as desired.*/
+ kControlKeyScriptBehaviorRequiresRoman = FOUR_CHAR_CODE('rrmn') /* switches the keyboard to roman and prevents the user from changing it.*/
+};
+
+typedef UInt32 ControlKeyScriptBehavior;
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Font Style */
+/*------------------------------------------------------------------------------------------------------*/
+/* SPECIAL FONT USAGE NOTES: You can specify the font to use for many control types.
+ The constants below are meta-font numbers which you can use to set a particular
+ control's font usage. There are essentially two modes you can use: 1) default,
+ which is essentially the same as it always has been, i.e. it uses the system font, unless
+ directed to use the window font via a control variant. 2) you can specify to use
+ the big or small system font in a generic manner. The Big system font is the font
+ used in menus, etc. Chicago has filled that role for some time now. Small system
+ font is currently Geneva 10. The meta-font number implies the size and style.
+
+ NOTE: Not all font attributes are used by all controls. Most, in fact, ignore
+ the fore and back color (Static Text is the only one that does, for
+ backwards compatibility). Also size, face, and addFontSize are ignored
+ when using the meta-font numbering.
+*/
+/* Meta-font numbering - see note above */
+enum {
+ kControlFontBigSystemFont = -1, /* force to big system font*/
+ kControlFontSmallSystemFont = -2, /* force to small system font*/
+ kControlFontSmallBoldSystemFont = -3, /* force to small bold system font*/
+ kControlFontViewSystemFont = -4 /* force to views system font (DataBrowser control only)*/
+};
+
+/* Add these masks together to set the flags field of a ControlFontStyleRec */
+/* They specify which fields to apply to the text. It is important to make */
+/* sure that you specify only the fields that you wish to set. */
+enum {
+ kControlUseFontMask = 0x0001,
+ kControlUseFaceMask = 0x0002,
+ kControlUseSizeMask = 0x0004,
+ kControlUseForeColorMask = 0x0008,
+ kControlUseBackColorMask = 0x0010,
+ kControlUseModeMask = 0x0020,
+ kControlUseJustMask = 0x0040,
+ kControlUseAllMask = 0x00FF,
+ kControlAddFontSizeMask = 0x0100
+};
+
+/* AddToMetaFont indicates that we want to start with a standard system */
+/* font, but then we'd like to add the other attributes. Normally, the meta */
+/* font ignores all other flags */
+enum {
+ kControlAddToMetaFontMask = 0x0200 /* Available in Appearance 1.1 or later*/
+};
+
+/* UseThemeFontID indicates that the font field of the ControlFontStyleRec */
+/* should be interpreted as a ThemeFontID (see Appearance.h). In all other */
+/* ways, specifying a ThemeFontID is just like using one of the control */
+/* meta-fonts IDs. */
+enum {
+ kControlUseThemeFontIDMask = 0x0080 /* Available in Mac OS X or later*/
+};
+
+struct ControlFontStyleRec {
+ SInt16 flags;
+ SInt16 font;
+ SInt16 size;
+ SInt16 style;
+ SInt16 mode;
+ SInt16 just;
+ RGBColor foreColor;
+ RGBColor backColor;
+};
+typedef struct ControlFontStyleRec ControlFontStyleRec;
+typedef ControlFontStyleRec * ControlFontStylePtr;
+/*------------------------------------------------------------------------------------------------------*/
+/* o Click Activation Results */
+/*------------------------------------------------------------------------------------------------------*/
+/* These are for use with GetControlClickActivation. The enumerated values should be pretty */
+/* self-explanatory, but just in case: */
+/* o Activate/DoNotActivate indicates whether or not to change the owning window's z-ordering before */
+/* processing the click. If activation is requested, you may also want to immediately redraw the */
+/* newly exposed portion of the window. */
+/* o Ignore/Handle Click indicates whether or not to call an appropriate click handling API (like */
+/* HandleControlClick) in respose to the event. */
+enum {
+ kDoNotActivateAndIgnoreClick = 0, /* probably never used. here for completeness.*/
+ kDoNotActivateAndHandleClick = 1, /* let the control handle the click while the window is still in the background.*/
+ kActivateAndIgnoreClick = 2, /* control doesn't want to respond directly to the click, but window should still be brought forward.*/
+ kActivateAndHandleClick = 3 /* control wants to respond to the click, but only after the window has been activated.*/
+};
+
+typedef UInt32 ClickActivationResult;
+/*------------------------------------------------------------------------------------------------------*/
+/* o Common data tags for Get/SetControlData */
+/*------------------------------------------------------------------------------------------------------*/
+
+/*
+ * Discussion:
+ * Get/SetControlData Common Tags
+ */
+enum {
+ kControlFontStyleTag = FOUR_CHAR_CODE('font'),
+ kControlKeyFilterTag = FOUR_CHAR_CODE('fltr'),
+
+ /*
+ * Sent with a pointer to a ControlKind record to be filled in. Only
+ * valid for GetControlData.
+ */
+ kControlKindTag = FOUR_CHAR_CODE('kind'),
+
+ /*
+ * Sent with a pointer to a ControlSize. Only valid with explicitly
+ * sizeable controls. Currently supported by the Check Box, Combo
+ * Box, Progress Bar, Indeterminate Progress Bar, Radio Button, Round
+ * Button, Scroll Bar, Slider and the Tab. Check your return value!
+ */
+ kControlSizeTag = FOUR_CHAR_CODE('size')
+};
+
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Feature Bits */
+/*------------------------------------------------------------------------------------------------------*/
+enum {
+ /* Control feature bits - returned by GetControlFeatures */
+ kControlSupportsGhosting = 1 << 0,
+ kControlSupportsEmbedding = 1 << 1,
+ kControlSupportsFocus = 1 << 2,
+ kControlWantsIdle = 1 << 3,
+ kControlWantsActivate = 1 << 4,
+ kControlHandlesTracking = 1 << 5,
+ kControlSupportsDataAccess = 1 << 6,
+ kControlHasSpecialBackground = 1 << 7,
+ kControlGetsFocusOnClick = 1 << 8,
+ kControlSupportsCalcBestRect = 1 << 9,
+ kControlSupportsLiveFeedback = 1 << 10,
+ kControlHasRadioBehavior = 1 << 11, /* Available in Appearance 1.0.1 or later*/
+ kControlSupportsDragAndDrop = 1 << 12, /* Available in Carbon*/
+ kControlAutoToggles = 1 << 14, /* Available in Appearance 1.1 or later*/
+ kControlSupportsGetRegion = 1 << 17, /* Available in Appearance 1.1 or later*/
+ kControlSupportsFlattening = 1 << 19, /* Available in Carbon*/
+ kControlSupportsSetCursor = 1 << 20, /* Available in Carbon*/
+ kControlSupportsContextualMenus = 1 << 21, /* Available in Carbon*/
+ kControlSupportsClickActivation = 1 << 22, /* Available in Carbon*/
+ kControlIdlesWithTimer = 1 << 23 /* Available in Carbon - this bit indicates that the control animates automatically*/
+};
+
+/*------------------------------------------------------------------------------------------------------*/
+/* o Control Messages */
+/*------------------------------------------------------------------------------------------------------*/
+enum {
+ drawCntl = 0,
+ testCntl = 1,
+ calcCRgns = 2,
+ initCntl = 3, /* Param is Collection, result is OSStatus*/
+ dispCntl = 4,
+ posCntl = 5,
+ thumbCntl = 6,
+ dragCntl = 7,
+ autoTrack = 8,
+ calcCntlRgn = 10,
+ calcThumbRgn = 11,
+ drawThumbOutline = 12,
+ kControlMsgDrawGhost = 13,
+ kControlMsgCalcBestRect = 14, /* Calculate best fitting rectangle for control*/
+ kControlMsgHandleTracking = 15,
+ kControlMsgFocus = 16, /* param indicates action.*/
+ kControlMsgKeyDown = 17,
+ kControlMsgIdle = 18,
+ kControlMsgGetFeatures = 19,
+ kControlMsgSetData = 20,
+ kControlMsgGetData = 21,
+ kControlMsgActivate = 22,
+ kControlMsgSetUpBackground = 23,
+ kControlMsgCalcValueFromPos = 26,
+ kControlMsgTestNewMsgSupport = 27, /* See if this control supports new messaging*/
+ kControlMsgSubValueChanged = 25, /* Available in Appearance 1.0.1 or later*/
+ kControlMsgSubControlAdded = 28, /* Available in Appearance 1.0.1 or later*/
+ kControlMsgSubControlRemoved = 29, /* Available in Appearance 1.0.1 or later*/
+ kControlMsgApplyTextColor = 30, /* Available in Appearance 1.1 or later*/
+ kControlMsgGetRegion = 31, /* Available in Appearance 1.1 or later*/
+ kControlMsgFlatten = 32, /* Available in Carbon. Param is Collection.*/
+ kControlMsgSetCursor = 33, /* Available in Carbon. Param is ControlSetCursorRec*/
+ kControlMsgDragEnter = 38, /* Available in Carbon. Param is DragRef, result is boolean indicating acceptibility of drag.*/
+ kControlMsgDragLeave = 39, /* Available in Carbon. As above.*/
+ kControlMsgDragWithin = 40, /* Available in Carbon. As above.*/
+ kControlMsgDragReceive = 41, /* Available in Carbon. Param is DragRef, result is OSStatus indicating success/failure.*/
+ kControlMsgDisplayDebugInfo = 46, /* Available in Carbon on X.*/
+ kControlMsgContextualMenuClick = 47, /* Available in Carbon. Param is ControlContextualMenuClickRec*/
+ kControlMsgGetClickActivation = 48 /* Available in Carbon. Param is ControlClickActivationRec*/
+};
+
+typedef SInt16 ControlDefProcMessage;
+/*--------------------------------------------------------------------------------------*/
+/* o Control Sizes */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Discussion:
+ * ControlSize values to be used in conjunction with SetControlData
+ * and the kControlSizeTag.
+ */
+enum {
+
+ /*
+ * Use the control's default drawing variant. This does not apply to
+ * Scroll Bars, for which Normal is Large.
+ */
+ kControlSizeNormal = 0,
+
+ /*
+ * Use the control's small drawing variant. Currently supported by
+ * the Check Box, Combo Box, Radio Button, Scroll Bar, Slider and Tab
+ * controls.
+ */
+ kControlSizeSmall = 1,
+
+ /*
+ * Use the control's small drawing variant. Currently supported by
+ * the Indeterminate Progress Bar, Progress Bar and Round Button
+ * controls.
+ */
+ kControlSizeLarge = 2,
+
+ /*
+ * Control drawing variant determined by the control's bounds. This
+ * ControlSize is only available with Scroll Bars to support their
+ * legacy behavior of drawing differently within different bounds.
+ */
+ kControlSizeAuto = 0xFFFF
+};
+
+typedef UInt16 ControlSize;
+/*--------------------------------------------------------------------------------------*/
+/* o Constants for drawCntl message (passed in param) */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kDrawControlEntireControl = 0,
+ kDrawControlIndicatorOnly = 129
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Constants for dragCntl message (passed in param) */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kDragControlEntireControl = 0,
+ kDragControlIndicator = 1
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Drag Constraint Structure for thumbCntl message (passed in param) */
+/*--------------------------------------------------------------------------------------*/
+struct IndicatorDragConstraint {
+ Rect limitRect;
+ Rect slopRect;
+ DragConstraint axis;
+};
+typedef struct IndicatorDragConstraint IndicatorDragConstraint;
+typedef IndicatorDragConstraint * IndicatorDragConstraintPtr;
+/*--------------------------------------------------------------------------------------*/
+/* CDEF should return as result of kControlMsgTestNewMsgSupport */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kControlSupportsNewMessages = FOUR_CHAR_CODE(' ok ')
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when called with the kControlMsgHandleTracking */
+/* message */
+/*--------------------------------------------------------------------------------------*/
+struct ControlTrackingRec {
+ Point startPt;
+ EventModifiers modifiers;
+ ControlActionUPP action;
+};
+typedef struct ControlTrackingRec ControlTrackingRec;
+typedef ControlTrackingRec * ControlTrackingPtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when called with the kControlMsgKeyDown message */
+/*--------------------------------------------------------------------------------------*/
+struct ControlKeyDownRec {
+ EventModifiers modifiers;
+ SInt16 keyCode;
+ SInt16 charCode;
+};
+typedef struct ControlKeyDownRec ControlKeyDownRec;
+typedef ControlKeyDownRec * ControlKeyDownPtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when called with the kControlMsgGetData or */
+/* kControlMsgSetData message */
+/*--------------------------------------------------------------------------------------*/
+struct ControlDataAccessRec {
+ ResType tag;
+ ResType part;
+ Size size;
+ Ptr dataPtr;
+};
+typedef struct ControlDataAccessRec ControlDataAccessRec;
+typedef ControlDataAccessRec * ControlDataAccessPtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when called with the kControlCalcBestRect msg */
+/*--------------------------------------------------------------------------------------*/
+struct ControlCalcSizeRec {
+ SInt16 height;
+ SInt16 width;
+ SInt16 baseLine;
+};
+typedef struct ControlCalcSizeRec ControlCalcSizeRec;
+typedef ControlCalcSizeRec * ControlCalcSizePtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when called with the kControlMsgSetUpBackground */
+/* message is sent */
+/*--------------------------------------------------------------------------------------*/
+struct ControlBackgroundRec {
+ SInt16 depth;
+ Boolean colorDevice;
+};
+typedef struct ControlBackgroundRec ControlBackgroundRec;
+typedef ControlBackgroundRec * ControlBackgroundPtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when called with the kControlMsgApplyTextColor */
+/* message is sent */
+/*--------------------------------------------------------------------------------------*/
+struct ControlApplyTextColorRec {
+ SInt16 depth;
+ Boolean colorDevice;
+ Boolean active;
+};
+typedef struct ControlApplyTextColorRec ControlApplyTextColorRec;
+typedef ControlApplyTextColorRec * ControlApplyTextColorPtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when called with the kControlMsgGetRegion */
+/* message is sent */
+/*--------------------------------------------------------------------------------------*/
+struct ControlGetRegionRec {
+ RgnHandle region;
+ ControlPartCode part;
+};
+typedef struct ControlGetRegionRec ControlGetRegionRec;
+typedef ControlGetRegionRec * ControlGetRegionPtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when the kControlMsgSetCursor message is sent */
+/* Only sent on Carbon */
+/*--------------------------------------------------------------------------------------*/
+struct ControlSetCursorRec {
+ Point localPoint;
+ EventModifiers modifiers;
+ Boolean cursorWasSet; /* your CDEF must set this to true if you set the cursor, or false otherwise*/
+};
+typedef struct ControlSetCursorRec ControlSetCursorRec;
+typedef ControlSetCursorRec * ControlSetCursorPtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when the kControlMsgContextualMenuClick message */
+/* is sent */
+/* Only sent on Carbon */
+/*--------------------------------------------------------------------------------------*/
+struct ControlContextualMenuClickRec {
+ Point localPoint;
+ Boolean menuDisplayed; /* your CDEF must set this to true if you displayed a menu, or false otherwise*/
+};
+typedef struct ControlContextualMenuClickRec ControlContextualMenuClickRec;
+typedef ControlContextualMenuClickRec * ControlContextualMenuClickPtr;
+/*--------------------------------------------------------------------------------------*/
+/* This structure is passed into a CDEF when the kControlMsgGetClickActivation message */
+/* is sent */
+/* Only sent on Carbon */
+/*--------------------------------------------------------------------------------------*/
+struct ControlClickActivationRec {
+ Point localPoint;
+ EventModifiers modifiers;
+ ClickActivationResult result; /* your CDEF must pass the desired result back*/
+};
+typedef struct ControlClickActivationRec ControlClickActivationRec;
+typedef ControlClickActivationRec * ControlClickActivationPtr;
+/*--------------------------------------------------------------------------------------*/
+/* o 'CDEF' entrypoint */
+/*--------------------------------------------------------------------------------------*/
+typedef CALLBACK_API( SInt32 , ControlDefProcPtr )(SInt16 varCode, ControlRef theControl, ControlDefProcMessage message, SInt32 param);
+typedef STACK_UPP_TYPE(ControlDefProcPtr) ControlDefUPP;
+/*
+ * NewControlDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlDefUPP )
+NewControlDefUPP(ControlDefProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlDefProcInfo = 0x00003BB0 }; /* pascal 4_bytes Func(2_bytes, 4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlDefUPP) NewControlDefUPP(ControlDefProcPtr userRoutine)
- {
- return (ControlDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlDefProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlDefUPP(userRoutine) (ControlDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlDefProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlDefProcInfo = 0x00003BB0 }; /* pascal 4_bytes Func(2_bytes, 4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlDefUPP) NewControlDefUPP(ControlDefProcPtr userRoutine) { return (ControlDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlDefProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlDefUPP(userRoutine) (ControlDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlDefProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeControlDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlDefUPP(ControlDefUPP userUPP);
+/*
+ * DisposeControlDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlDefUPP(ControlDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlDefUPP(ControlDefUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlDefUPP(ControlDefUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeControlDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt32)
- InvokeControlDefUPP(
- SInt16 varCode,
- ControlRef theControl,
- ControlDefProcMessage message,
- SInt32 param,
- ControlDefUPP userUPP);
+/*
+ * InvokeControlDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt32 )
+InvokeControlDefUPP(
+ SInt16 varCode,
+ ControlRef theControl,
+ ControlDefProcMessage message,
+ SInt32 param,
+ ControlDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt32) InvokeControlDefUPP(SInt16 varCode, ControlRef theControl, ControlDefProcMessage message, SInt32 param, ControlDefUPP userUPP)
- {
- return (SInt32)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlDefProcInfo, varCode, theControl, message, param);
- }
-#else
-#define InvokeControlDefUPP(varCode, theControl, message, param, userUPP) (SInt32)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlDefProcInfo, (varCode), (theControl), (message), (param))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt32) InvokeControlDefUPP(SInt16 varCode, ControlRef theControl, ControlDefProcMessage message, SInt32 param, ControlDefUPP userUPP) { return (SInt32)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlDefProcInfo, varCode, theControl, message, param); }
+ #else
+ #define InvokeControlDefUPP(varCode, theControl, message, param, userUPP) (SInt32)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlDefProcInfo, (varCode), (theControl), (message), (param))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewControlDefProc(userRoutine) NewControlDefUPP(userRoutine)
-#define CallControlDefProc(userRoutine, varCode, theControl, message, param) InvokeControlDefUPP(varCode, theControl, message, param, userRoutine)
+ #define NewControlDefProc(userRoutine) NewControlDefUPP(userRoutine)
+ #define CallControlDefProc(userRoutine, varCode, theControl, message, param) InvokeControlDefUPP(varCode, theControl, message, param, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*--------------------------------------------------------------------------------------*/
- /* Control Key Filter */
- /*--------------------------------------------------------------------------------------*/
- /* Certain controls can have a keyfilter attached to them. */
- /* Definition of a key filter for intercepting and possibly changing keystrokes */
- /* which are destined for a control. */
- /* Key Filter Result Codes */
- /* The filter proc should return one of the two constants below. If */
- /* kKeyFilterBlockKey is returned, the key is blocked and never makes it to the */
- /* control. If kKeyFilterPassKey is returned, the control receives the keystroke. */
- enum
- {
- kControlKeyFilterBlockKey = 0,
- kControlKeyFilterPassKey = 1
- };
-
- typedef SInt16 ControlKeyFilterResult;
- typedef CALLBACK_API(ControlKeyFilterResult , ControlKeyFilterProcPtr)(ControlRef theControl, SInt16 *keyCode, SInt16 *charCode, EventModifiers *modifiers);
- typedef STACK_UPP_TYPE(ControlKeyFilterProcPtr) ControlKeyFilterUPP;
- /*
- * NewControlKeyFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlKeyFilterUPP)
- NewControlKeyFilterUPP(ControlKeyFilterProcPtr userRoutine);
+/*--------------------------------------------------------------------------------------*/
+/* Control Key Filter */
+/*--------------------------------------------------------------------------------------*/
+/* Certain controls can have a keyfilter attached to them. */
+/* Definition of a key filter for intercepting and possibly changing keystrokes */
+/* which are destined for a control. */
+/* Key Filter Result Codes */
+/* The filter proc should return one of the two constants below. If */
+/* kKeyFilterBlockKey is returned, the key is blocked and never makes it to the */
+/* control. If kKeyFilterPassKey is returned, the control receives the keystroke. */
+enum {
+ kControlKeyFilterBlockKey = 0,
+ kControlKeyFilterPassKey = 1
+};
+
+typedef SInt16 ControlKeyFilterResult;
+typedef CALLBACK_API( ControlKeyFilterResult , ControlKeyFilterProcPtr )(ControlRef theControl, SInt16 *keyCode, SInt16 *charCode, EventModifiers *modifiers);
+typedef STACK_UPP_TYPE(ControlKeyFilterProcPtr) ControlKeyFilterUPP;
+/*
+ * NewControlKeyFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlKeyFilterUPP )
+NewControlKeyFilterUPP(ControlKeyFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlKeyFilterProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlKeyFilterUPP) NewControlKeyFilterUPP(ControlKeyFilterProcPtr userRoutine)
- {
- return (ControlKeyFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlKeyFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlKeyFilterUPP(userRoutine) (ControlKeyFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlKeyFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlKeyFilterProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlKeyFilterUPP) NewControlKeyFilterUPP(ControlKeyFilterProcPtr userRoutine) { return (ControlKeyFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlKeyFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlKeyFilterUPP(userRoutine) (ControlKeyFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlKeyFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeControlKeyFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlKeyFilterUPP(ControlKeyFilterUPP userUPP);
+/*
+ * DisposeControlKeyFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlKeyFilterUPP(ControlKeyFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlKeyFilterUPP(ControlKeyFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlKeyFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlKeyFilterUPP(ControlKeyFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlKeyFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeControlKeyFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlKeyFilterResult)
- InvokeControlKeyFilterUPP(
- ControlRef theControl,
- SInt16 * keyCode,
- SInt16 * charCode,
- EventModifiers * modifiers,
- ControlKeyFilterUPP userUPP);
+/*
+ * InvokeControlKeyFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlKeyFilterResult )
+InvokeControlKeyFilterUPP(
+ ControlRef theControl,
+ SInt16 * keyCode,
+ SInt16 * charCode,
+ EventModifiers * modifiers,
+ ControlKeyFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlKeyFilterResult) InvokeControlKeyFilterUPP(ControlRef theControl, SInt16 * keyCode, SInt16 * charCode, EventModifiers * modifiers, ControlKeyFilterUPP userUPP)
- {
- return (ControlKeyFilterResult)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlKeyFilterProcInfo, theControl, keyCode, charCode, modifiers);
- }
-#else
-#define InvokeControlKeyFilterUPP(theControl, keyCode, charCode, modifiers, userUPP) (ControlKeyFilterResult)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlKeyFilterProcInfo, (theControl), (keyCode), (charCode), (modifiers))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlKeyFilterResult) InvokeControlKeyFilterUPP(ControlRef theControl, SInt16 * keyCode, SInt16 * charCode, EventModifiers * modifiers, ControlKeyFilterUPP userUPP) { return (ControlKeyFilterResult)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlKeyFilterProcInfo, theControl, keyCode, charCode, modifiers); }
+ #else
+ #define InvokeControlKeyFilterUPP(theControl, keyCode, charCode, modifiers, userUPP) (ControlKeyFilterResult)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlKeyFilterProcInfo, (theControl), (keyCode), (charCode), (modifiers))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewControlKeyFilterProc(userRoutine) NewControlKeyFilterUPP(userRoutine)
-#define CallControlKeyFilterProc(userRoutine, theControl, keyCode, charCode, modifiers) InvokeControlKeyFilterUPP(theControl, keyCode, charCode, modifiers, userRoutine)
+ #define NewControlKeyFilterProc(userRoutine) NewControlKeyFilterUPP(userRoutine)
+ #define CallControlKeyFilterProc(userRoutine, theControl, keyCode, charCode, modifiers) InvokeControlKeyFilterUPP(theControl, keyCode, charCode, modifiers, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*--------------------------------------------------------------------------------------*/
- /* o DragGrayRgn Constatns */
- /* */
- /* For DragGrayRgnUPP used in TrackControl() */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- noConstraint = kNoConstraint,
- hAxisOnly = 1,
- vAxisOnly = 2
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Creation/Deletion/Persistence */
- /*--------------------------------------------------------------------------------------*/
- /* CreateCustomControl is only available as part of Carbon */
- enum
- {
- kControlDefProcPtr = 0, /* raw proc-ptr based access*/
- kControlDefObjectClass = 1 /* event-based definition (Mac OS X only)*/
- };
-
- typedef UInt32 ControlDefType;
- struct ControlDefSpec
- {
- ControlDefType defType;
- union
- {
- ControlDefUPP defProc;
- void * classRef;
- } u;
- };
- typedef struct ControlDefSpec ControlDefSpec;
- /*
- * CreateCustomControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateCustomControl(
- WindowRef owningWindow,
- const Rect * contBounds,
- const ControlDefSpec * def,
- Collection initData,
- ControlRef * outControl);
-
-
- /*
- * NewControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlRef)
- NewControl(
- WindowRef owningWindow,
- const Rect * boundsRect,
- ConstStr255Param controlTitle,
- Boolean initiallyVisible,
- SInt16 initialValue,
- SInt16 minimumValue,
- SInt16 maximumValue,
- SInt16 procID,
- SInt32 controlReference) ONEWORDINLINE(0xA954);
-
-
- /*
- * GetNewControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlRef)
- GetNewControl(
- SInt16 resourceID,
- WindowRef owningWindow) ONEWORDINLINE(0xA9BE);
-
-
- /*
- * DisposeControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeControl(ControlRef theControl) ONEWORDINLINE(0xA955);
-
-
- /*
- * KillControls()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- KillControls(WindowRef theWindow) ONEWORDINLINE(0xA956);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Definition Registration */
- /*--------------------------------------------------------------------------------------*/
- typedef CALLBACK_API(OSStatus , ControlCNTLToCollectionProcPtr)(const Rect *bounds, SInt16 value, Boolean visible, SInt16 max, SInt16 min, SInt16 procID, SInt32 refCon, ConstStr255Param title, Collection collection);
- typedef STACK_UPP_TYPE(ControlCNTLToCollectionProcPtr) ControlCNTLToCollectionUPP;
- /*
- * NewControlCNTLToCollectionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlCNTLToCollectionUPP)
- NewControlCNTLToCollectionUPP(ControlCNTLToCollectionProcPtr userRoutine);
+/*--------------------------------------------------------------------------------------*/
+/* o DragGrayRgn Constatns */
+/* */
+/* For DragGrayRgnUPP used in TrackControl() */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ noConstraint = kNoConstraint,
+ hAxisOnly = 1,
+ vAxisOnly = 2
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Creation/Deletion/Persistence */
+/*--------------------------------------------------------------------------------------*/
+/* CreateCustomControl is only available as part of Carbon */
+enum {
+ kControlDefProcPtr = 0, /* raw proc-ptr based access*/
+ kControlDefObjectClass = 1 /* event-based definition (Mac OS X only)*/
+};
+
+typedef UInt32 ControlDefType;
+struct ControlDefSpec {
+ ControlDefType defType;
+ union {
+ ControlDefUPP defProc;
+ void * classRef;
+ } u;
+};
+typedef struct ControlDefSpec ControlDefSpec;
+/*
+ * CreateCustomControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateCustomControl(
+ WindowRef owningWindow,
+ const Rect * contBounds,
+ const ControlDefSpec * def,
+ Collection initData,
+ ControlRef * outControl);
+
+
+/*
+ * NewControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlRef )
+NewControl(
+ WindowRef owningWindow,
+ const Rect * boundsRect,
+ ConstStr255Param controlTitle,
+ Boolean initiallyVisible,
+ SInt16 initialValue,
+ SInt16 minimumValue,
+ SInt16 maximumValue,
+ SInt16 procID,
+ SInt32 controlReference) ONEWORDINLINE(0xA954);
+
+
+/*
+ * GetNewControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlRef )
+GetNewControl(
+ SInt16 resourceID,
+ WindowRef owningWindow) ONEWORDINLINE(0xA9BE);
+
+
+/*
+ * DisposeControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeControl(ControlRef theControl) ONEWORDINLINE(0xA955);
+
+
+/*
+ * KillControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+KillControls(WindowRef theWindow) ONEWORDINLINE(0xA956);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Definition Registration */
+/*--------------------------------------------------------------------------------------*/
+typedef CALLBACK_API( OSStatus , ControlCNTLToCollectionProcPtr )(const Rect *bounds, SInt16 value, Boolean visible, SInt16 max, SInt16 min, SInt16 procID, SInt32 refCon, ConstStr255Param title, Collection collection);
+typedef STACK_UPP_TYPE(ControlCNTLToCollectionProcPtr) ControlCNTLToCollectionUPP;
+/*
+ * NewControlCNTLToCollectionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlCNTLToCollectionUPP )
+NewControlCNTLToCollectionUPP(ControlCNTLToCollectionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlCNTLToCollectionProcInfo = 0x00FEA6F0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 1_byte, 2_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlCNTLToCollectionUPP) NewControlCNTLToCollectionUPP(ControlCNTLToCollectionProcPtr userRoutine)
- {
- return (ControlCNTLToCollectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlCNTLToCollectionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlCNTLToCollectionUPP(userRoutine) (ControlCNTLToCollectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlCNTLToCollectionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlCNTLToCollectionProcInfo = 0x00FEA6F0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 1_byte, 2_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlCNTLToCollectionUPP) NewControlCNTLToCollectionUPP(ControlCNTLToCollectionProcPtr userRoutine) { return (ControlCNTLToCollectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlCNTLToCollectionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlCNTLToCollectionUPP(userRoutine) (ControlCNTLToCollectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlCNTLToCollectionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeControlCNTLToCollectionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlCNTLToCollectionUPP(ControlCNTLToCollectionUPP userUPP);
+/*
+ * DisposeControlCNTLToCollectionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlCNTLToCollectionUPP(ControlCNTLToCollectionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlCNTLToCollectionUPP(ControlCNTLToCollectionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlCNTLToCollectionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlCNTLToCollectionUPP(ControlCNTLToCollectionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlCNTLToCollectionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeControlCNTLToCollectionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeControlCNTLToCollectionUPP(
- const Rect * bounds,
- SInt16 value,
- Boolean visible,
- SInt16 max,
- SInt16 min,
- SInt16 procID,
- SInt32 refCon,
- ConstStr255Param title,
- Collection collection,
- ControlCNTLToCollectionUPP userUPP);
+/*
+ * InvokeControlCNTLToCollectionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeControlCNTLToCollectionUPP(
+ const Rect * bounds,
+ SInt16 value,
+ Boolean visible,
+ SInt16 max,
+ SInt16 min,
+ SInt16 procID,
+ SInt32 refCon,
+ ConstStr255Param title,
+ Collection collection,
+ ControlCNTLToCollectionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeControlCNTLToCollectionUPP(const Rect * bounds, SInt16 value, Boolean visible, SInt16 max, SInt16 min, SInt16 procID, SInt32 refCon, ConstStr255Param title, Collection collection, ControlCNTLToCollectionUPP userUPP)
- {
- return (OSStatus)CALL_NINE_PARAMETER_UPP(userUPP, uppControlCNTLToCollectionProcInfo, bounds, value, visible, max, min, procID, refCon, title, collection);
- }
-#else
-#define InvokeControlCNTLToCollectionUPP(bounds, value, visible, max, min, procID, refCon, title, collection, userUPP) (OSStatus)CALL_NINE_PARAMETER_UPP((userUPP), uppControlCNTLToCollectionProcInfo, (bounds), (value), (visible), (max), (min), (procID), (refCon), (title), (collection))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeControlCNTLToCollectionUPP(const Rect * bounds, SInt16 value, Boolean visible, SInt16 max, SInt16 min, SInt16 procID, SInt32 refCon, ConstStr255Param title, Collection collection, ControlCNTLToCollectionUPP userUPP) { return (OSStatus)CALL_NINE_PARAMETER_UPP(userUPP, uppControlCNTLToCollectionProcInfo, bounds, value, visible, max, min, procID, refCon, title, collection); }
+ #else
+ #define InvokeControlCNTLToCollectionUPP(bounds, value, visible, max, min, procID, refCon, title, collection, userUPP) (OSStatus)CALL_NINE_PARAMETER_UPP((userUPP), uppControlCNTLToCollectionProcInfo, (bounds), (value), (visible), (max), (min), (procID), (refCon), (title), (collection))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewControlCNTLToCollectionProc(userRoutine) NewControlCNTLToCollectionUPP(userRoutine)
-#define CallControlCNTLToCollectionProc(userRoutine, bounds, value, visible, max, min, procID, refCon, title, collection) InvokeControlCNTLToCollectionUPP(bounds, value, visible, max, min, procID, refCon, title, collection, userRoutine)
+ #define NewControlCNTLToCollectionProc(userRoutine) NewControlCNTLToCollectionUPP(userRoutine)
+ #define CallControlCNTLToCollectionProc(userRoutine, bounds, value, visible, max, min, procID, refCon, title, collection) InvokeControlCNTLToCollectionUPP(bounds, value, visible, max, min, procID, refCon, title, collection, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * RegisterControlDefinition()
- *
- * Summary:
- * Associates or dissociates a control definition with a virtual
- * CDEF resource ID.
- *
- * Discussion:
- * In GetNewControl or NewControl on Carbon, the Control Manager
- * needs to know how to map the procID to a ControlDefSpec. With
- * RegisterControlDefinition, your application can inform the
- * Control Manager which ControlDefSpec to call when it sees a
- * request to use a 'CDEF' of a particular resource ID. Since custom
- * control definitions receive their initialization data in a
- * Collection passed in the 'param' parameter, you must also provide
- * a procedure to convert the bounds, min, max, and other parameters
- * to NewControl into a Collection. If you don't provide a
- * conversion proc, your control will receive an empty collection
- * when it is sent the initialization message. If you want the
- * value, min, visibility, etc. to be given to the control, you must
- * add the appropriate tagged data to the collection. See the
- * Control Collection Tags above. If you want to unregister a
- * ControlDefSpec that you have already registered, call
- * RegisterControlDefinition with the same CDEF resource ID, but
- * pass NULL for the inControlDef parameter. In this situation,
- * inConversionProc is effectively ignored.
- *
- * Parameters:
- *
- * inCDEFResID:
- * The virtual CDEF resource ID to which you'd like to associate
- * or dissociate the control definition.
- *
- * inControlDef:
- * A pointer to a ControlDefSpec which represents the control
- * definition you want to register, or NULL if you are attempting
- * to unregister a control definition.
- *
- * inConversionProc:
- * The conversion proc which will translate the NewControl
- * parameters into a Collection.
- *
- * Result:
- * An OSStatus code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RegisterControlDefinition(
- SInt16 inCDEFResID,
- const ControlDefSpec * inControlDef,
- ControlCNTLToCollectionUPP inConversionProc);
-
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Visible State */
- /*--------------------------------------------------------------------------------------*/
- /*
- * HiliteControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HiliteControl(
- ControlRef theControl,
- ControlPartCode hiliteState) ONEWORDINLINE(0xA95D);
-
-
- /*
- * ShowControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ShowControl(ControlRef theControl) ONEWORDINLINE(0xA957);
-
-
- /*
- * HideControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HideControl(ControlRef theControl) ONEWORDINLINE(0xA958);
-
-
-
- /* following state routines available only with Appearance 1.0 and later*/
- /*
- * IsControlActive()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsControlActive(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0005, 0xAA73);
-
-
- /*
- * IsControlVisible()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsControlVisible(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0006, 0xAA73);
-
-
- /*
- * ActivateControl()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ActivateControl(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0007, 0xAA73);
-
-
- /*
- * DeactivateControl()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DeactivateControl(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0008, 0xAA73);
-
-
- /*
- * SetControlVisibility()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetControlVisibility(
- ControlRef inControl,
- Boolean inIsVisible,
- Boolean inDoDraw) THREEWORDINLINE(0x303C, 0x001E, 0xAA73);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Imaging */
- /*--------------------------------------------------------------------------------------*/
- /*
- * DrawControls()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DrawControls(WindowRef theWindow) ONEWORDINLINE(0xA969);
-
-
- /*
- * Draw1Control()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Draw1Control(ControlRef theControl) ONEWORDINLINE(0xA96D);
+/*
+ * RegisterControlDefinition()
+ *
+ * Summary:
+ * Associates or dissociates a control definition with a virtual
+ * CDEF resource ID.
+ *
+ * Discussion:
+ * In GetNewControl or NewControl on Carbon, the Control Manager
+ * needs to know how to map the procID to a ControlDefSpec. With
+ * RegisterControlDefinition, your application can inform the
+ * Control Manager which ControlDefSpec to call when it sees a
+ * request to use a 'CDEF' of a particular resource ID. Since custom
+ * control definitions receive their initialization data in a
+ * Collection passed in the 'param' parameter, you must also provide
+ * a procedure to convert the bounds, min, max, and other parameters
+ * to NewControl into a Collection. If you don't provide a
+ * conversion proc, your control will receive an empty collection
+ * when it is sent the initialization message. If you want the
+ * value, min, visibility, etc. to be given to the control, you must
+ * add the appropriate tagged data to the collection. See the
+ * Control Collection Tags above. If you want to unregister a
+ * ControlDefSpec that you have already registered, call
+ * RegisterControlDefinition with the same CDEF resource ID, but
+ * pass NULL for the inControlDef parameter. In this situation,
+ * inConversionProc is effectively ignored.
+ *
+ * Parameters:
+ *
+ * inCDEFResID:
+ * The virtual CDEF resource ID to which you'd like to associate
+ * or dissociate the control definition.
+ *
+ * inControlDef:
+ * A pointer to a ControlDefSpec which represents the control
+ * definition you want to register, or NULL if you are attempting
+ * to unregister a control definition.
+ *
+ * inConversionProc:
+ * The conversion proc which will translate the NewControl
+ * parameters into a Collection.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RegisterControlDefinition(
+ SInt16 inCDEFResID,
+ const ControlDefSpec * inControlDef,
+ ControlCNTLToCollectionUPP inConversionProc);
+
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Visible State */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * HiliteControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HiliteControl(
+ ControlRef theControl,
+ ControlPartCode hiliteState) ONEWORDINLINE(0xA95D);
+
+
+/*
+ * ShowControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ShowControl(ControlRef theControl) ONEWORDINLINE(0xA957);
+
+
+/*
+ * HideControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HideControl(ControlRef theControl) ONEWORDINLINE(0xA958);
+
+
+
+/* following state routines available only with Appearance 1.0 and later*/
+/*
+ * IsControlActive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsControlActive(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0005, 0xAA73);
+
+
+/*
+ * IsControlVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsControlVisible(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0006, 0xAA73);
+
+
+/*
+ * ActivateControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ActivateControl(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0007, 0xAA73);
+
+
+/*
+ * DeactivateControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DeactivateControl(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0008, 0xAA73);
+
+
+/*
+ * SetControlVisibility()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetControlVisibility(
+ ControlRef inControl,
+ Boolean inIsVisible,
+ Boolean inDoDraw) THREEWORDINLINE(0x303C, 0x001E, 0xAA73);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Imaging */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * DrawControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DrawControls(WindowRef theWindow) ONEWORDINLINE(0xA969);
+
+
+/*
+ * Draw1Control()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Draw1Control(ControlRef theControl) ONEWORDINLINE(0xA96D);
#define DrawOneControl(theControl) Draw1Control(theControl)
- /*
- * UpdateControls()
- *
- * Summary:
- * Redraws the controls that intersect a specified region in a
- * window.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose controls to redraw.
- *
- * inUpdateRegion:
- * The region (in local coordinates) describing which controls to
- * redraw. In Mac OS 10.1 and later, and in CarbonLib 1.5 and
- * later, you may pass NULL for this parameter to redraw the
- * controls intersecting the visible region of the window.
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UpdateControls(
- WindowRef inWindow,
- RgnHandle inUpdateRegion) /* can be NULL */ ONEWORDINLINE(0xA953);
-
-
-
- /* following imaging routines available only with Appearance 1.0 and later*/
- /*
- * GetBestControlRect()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetBestControlRect(
- ControlRef inControl,
- Rect * outRect,
- SInt16 * outBaseLineOffset) THREEWORDINLINE(0x303C, 0x001B, 0xAA73);
-
-
- /*
- * SetControlFontStyle()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetControlFontStyle(
- ControlRef inControl,
- const ControlFontStyleRec * inStyle) THREEWORDINLINE(0x303C, 0x001C, 0xAA73);
-
-
- /*
- * DrawControlInCurrentPort()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DrawControlInCurrentPort(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0018, 0xAA73);
-
-
- /*
- * SetUpControlBackground()
- *
- * Summary:
- * Applies the proper background color for the given control to the
- * current port.
- *
- * Discussion:
- * An embedding-savvy control which erases before drawing must
- * ensure that its background color properly matches the body color
- * of any parent controls on top of which it draws. This routine
- * asks the Control Manager to determine and apply the proper
- * background color to the current port. If a ControlColorProc has
- * been provided for the given control, the proc will be called to
- * set up the background color. If no proc exists, or if the proc
- * returns a value other than noErr, the Control Manager ascends the
- * parent chain for the given control looking for a control which
- * has a special background (see the kControlHasSpecialBackground
- * feature bit). The first such parent is asked to set up the
- * background color (see the kControlMsgSetUpBackground message). If
- * no such parent exists, the Control Manager applies any ThemeBrush
- * which has been associated with the owning window (see
- * SetThemeWindowBackground). Available in Appearance 1.0 (Mac OS
- * 8), CarbonLib 1.0, Mac OS X, and later.
- *
- * Parameters:
- *
- * inControl:
- * The ControlRef that wants to erase.
- *
- * inDepth:
- * A short integer indicating the color depth of the device onto
- * which drawing will take place.
- *
- * inIsColorDevice:
- * A Boolean indicating whether the draw device is a color device.
- *
- * Result:
- * An OSStatus code indicating success or failure. The most likely
- * error is a controlHandleInvalidErr, resulting from a bad
- * ControlRef. Any non-noErr result indicates that the color set up
- * failed, and that the caller should probably give up its attempt
- * to draw.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetUpControlBackground(
- ControlRef inControl,
- SInt16 inDepth,
- Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x001D, 0xAA73);
-
-
- /*
- * SetUpControlTextColor()
- *
- * Summary:
- * Applies the proper text color for the given control to the
- * current port.
- *
- * Discussion:
- * An embedding-savvy control which draws text must ensure that its
- * text color properly contrasts the background on which it draws.
- * This routine asks the Control Manager to determine and apply the
- * proper text color to the current port. If a ControlColorProc has
- * been provided for the given control, the proc will be called to
- * set up the text color. If no proc exists, or if the proc returns
- * a value other than noErr, the Control Manager ascends the parent
- * chain for the given control looking for a control which has a
- * special background (see the kControlHasSpecialBackground feature
- * bit). The first such parent is asked to set up the text color
- * (see the kControlMsgApplyTextColor message). If no such parent
- * exists, the Control Manager chooses a text color which contrasts
- * any ThemeBrush which has been associated with the owning window
- * (see SetThemeWindowBackground). Available in Appearance 1.1 (Mac
- * OS 8.5), CarbonLib 1.0, Mac OS X, and later.
- *
- * Parameters:
- *
- * inControl:
- * The ControlRef that wants to draw text.
- *
- * inDepth:
- * A short integer indicating the color depth of the device onto
- * which drawing will take place.
- *
- * inIsColorDevice:
- * A Boolean indicating whether the draw device is a color device.
- *
- * Result:
- * An OSStatus code indicating success or failure. The most likely
- * error is a controlHandleInvalidErr, resulting from a bad
- * ControlRef. Any non-noErr result indicates that the color set up
- * failed, and that the caller should probably give up its attempt
- * to draw.
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetUpControlTextColor(
- ControlRef inControl,
- SInt16 inDepth,
- Boolean inIsColorDevice);
-
-
-
-
- /*
- * ControlColorProcPtr
- *
- * Discussion:
- * Callback allowing clients to specify/override the background
- * color and text color that a Control will use during drawing. Your
- * procedure should make the color changes to the current port. See
- * SetControlColorProc, SetUpControlBackground, and
- * SetUpControlTextColor for more information. Available on Mac OS
- * 8.5, CarbonLib 1.1, Mac OS X, and later.
- *
- * Parameters:
- *
- * inControl:
- * A reference to the Control for whom your proc is setting up
- * colors.
- *
- * inMessage:
- * A ControlDefProcMessage indicating what sort of color your
- * procedure should set up. It will be either
- * kControlMsgApplyTextColor or kControlMsgSetUpBackground.
- * kControlMsgApplyTextColor is a request to set up the
- * appropriate text color (by setting the current port's
- * foreground color, pen information, etc.).
- * kControlMsgSetUpBackground is a request to set up the
- * appropriate background color (the current port's background
- * color, pattern, etc.).
- *
- * inDrawDepth:
- * A short integer indicating the bit depth of the device into
- * which the Control is drawing. The bit depth is typically passed
- * in as a result of someone someone trying to draw properly
- * across multiple monitors with different bit depths. If your
- * procedure wants to handle proper color set up based on bit
- * depth, it should use this parameter to help decide what color
- * to apply.
- *
- * inDrawInColor:
- * A Boolean indicating whether or not the device that the Control
- * is drawing into is a color device. The value is typically
- * passed in as a result of someone trying to draw properly across
- * multiple monitors which may or may not be color devices. If
- * your procedure wants to handle proper color set up for both
- * color and grayscale devices, it should use this parameter to
- * help decide what color to apply.
- *
- * Result:
- * An OSStatus code indicating success or failure. Returning noErr
- * is an indication that your proc completely handled the color set
- * up. If you return any other value, the Control Manager will fall
- * back to the normal color set up mechanism.
- */
- typedef CALLBACK_API(OSStatus , ControlColorProcPtr)(ControlRef inControl, SInt16 inMessage, SInt16 inDrawDepth, Boolean inDrawInColor);
- typedef STACK_UPP_TYPE(ControlColorProcPtr) ControlColorUPP;
- /*
- * NewControlColorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ControlColorUPP)
- NewControlColorUPP(ControlColorProcPtr userRoutine);
+/*
+ * UpdateControls()
+ *
+ * Summary:
+ * Redraws the controls that intersect a specified region in a
+ * window.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose controls to redraw.
+ *
+ * inUpdateRegion:
+ * The region (in local coordinates) describing which controls to
+ * redraw. In Mac OS 10.1 and later, and in CarbonLib 1.5 and
+ * later, you may pass NULL for this parameter to redraw the
+ * controls intersecting the visible region of the window.
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UpdateControls(
+ WindowRef inWindow,
+ RgnHandle inUpdateRegion) /* can be NULL */ ONEWORDINLINE(0xA953);
+
+
+
+/* following imaging routines available only with Appearance 1.0 and later*/
+/*
+ * GetBestControlRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetBestControlRect(
+ ControlRef inControl,
+ Rect * outRect,
+ SInt16 * outBaseLineOffset) THREEWORDINLINE(0x303C, 0x001B, 0xAA73);
+
+
+/*
+ * SetControlFontStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetControlFontStyle(
+ ControlRef inControl,
+ const ControlFontStyleRec * inStyle) THREEWORDINLINE(0x303C, 0x001C, 0xAA73);
+
+
+/*
+ * DrawControlInCurrentPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DrawControlInCurrentPort(ControlRef inControl) THREEWORDINLINE(0x303C, 0x0018, 0xAA73);
+
+
+/*
+ * SetUpControlBackground()
+ *
+ * Summary:
+ * Applies the proper background color for the given control to the
+ * current port.
+ *
+ * Discussion:
+ * An embedding-savvy control which erases before drawing must
+ * ensure that its background color properly matches the body color
+ * of any parent controls on top of which it draws. This routine
+ * asks the Control Manager to determine and apply the proper
+ * background color to the current port. If a ControlColorProc has
+ * been provided for the given control, the proc will be called to
+ * set up the background color. If no proc exists, or if the proc
+ * returns a value other than noErr, the Control Manager ascends the
+ * parent chain for the given control looking for a control which
+ * has a special background (see the kControlHasSpecialBackground
+ * feature bit). The first such parent is asked to set up the
+ * background color (see the kControlMsgSetUpBackground message). If
+ * no such parent exists, the Control Manager applies any ThemeBrush
+ * which has been associated with the owning window (see
+ * SetThemeWindowBackground). Available in Appearance 1.0 (Mac OS
+ * 8), CarbonLib 1.0, Mac OS X, and later.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * The ControlRef that wants to erase.
+ *
+ * inDepth:
+ * A short integer indicating the color depth of the device onto
+ * which drawing will take place.
+ *
+ * inIsColorDevice:
+ * A Boolean indicating whether the draw device is a color device.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure. The most likely
+ * error is a controlHandleInvalidErr, resulting from a bad
+ * ControlRef. Any non-noErr result indicates that the color set up
+ * failed, and that the caller should probably give up its attempt
+ * to draw.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetUpControlBackground(
+ ControlRef inControl,
+ SInt16 inDepth,
+ Boolean inIsColorDevice) THREEWORDINLINE(0x303C, 0x001D, 0xAA73);
+
+
+/*
+ * SetUpControlTextColor()
+ *
+ * Summary:
+ * Applies the proper text color for the given control to the
+ * current port.
+ *
+ * Discussion:
+ * An embedding-savvy control which draws text must ensure that its
+ * text color properly contrasts the background on which it draws.
+ * This routine asks the Control Manager to determine and apply the
+ * proper text color to the current port. If a ControlColorProc has
+ * been provided for the given control, the proc will be called to
+ * set up the text color. If no proc exists, or if the proc returns
+ * a value other than noErr, the Control Manager ascends the parent
+ * chain for the given control looking for a control which has a
+ * special background (see the kControlHasSpecialBackground feature
+ * bit). The first such parent is asked to set up the text color
+ * (see the kControlMsgApplyTextColor message). If no such parent
+ * exists, the Control Manager chooses a text color which contrasts
+ * any ThemeBrush which has been associated with the owning window
+ * (see SetThemeWindowBackground). Available in Appearance 1.1 (Mac
+ * OS 8.5), CarbonLib 1.0, Mac OS X, and later.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * The ControlRef that wants to draw text.
+ *
+ * inDepth:
+ * A short integer indicating the color depth of the device onto
+ * which drawing will take place.
+ *
+ * inIsColorDevice:
+ * A Boolean indicating whether the draw device is a color device.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure. The most likely
+ * error is a controlHandleInvalidErr, resulting from a bad
+ * ControlRef. Any non-noErr result indicates that the color set up
+ * failed, and that the caller should probably give up its attempt
+ * to draw.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetUpControlTextColor(
+ ControlRef inControl,
+ SInt16 inDepth,
+ Boolean inIsColorDevice);
+
+
+
+
+/*
+ * ControlColorProcPtr
+ *
+ * Discussion:
+ * Callback allowing clients to specify/override the background
+ * color and text color that a Control will use during drawing. Your
+ * procedure should make the color changes to the current port. See
+ * SetControlColorProc, SetUpControlBackground, and
+ * SetUpControlTextColor for more information. Available on Mac OS
+ * 8.5, CarbonLib 1.1, Mac OS X, and later.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * A reference to the Control for whom your proc is setting up
+ * colors.
+ *
+ * inMessage:
+ * A ControlDefProcMessage indicating what sort of color your
+ * procedure should set up. It will be either
+ * kControlMsgApplyTextColor or kControlMsgSetUpBackground.
+ * kControlMsgApplyTextColor is a request to set up the
+ * appropriate text color (by setting the current port's
+ * foreground color, pen information, etc.).
+ * kControlMsgSetUpBackground is a request to set up the
+ * appropriate background color (the current port's background
+ * color, pattern, etc.).
+ *
+ * inDrawDepth:
+ * A short integer indicating the bit depth of the device into
+ * which the Control is drawing. The bit depth is typically passed
+ * in as a result of someone someone trying to draw properly
+ * across multiple monitors with different bit depths. If your
+ * procedure wants to handle proper color set up based on bit
+ * depth, it should use this parameter to help decide what color
+ * to apply.
+ *
+ * inDrawInColor:
+ * A Boolean indicating whether or not the device that the Control
+ * is drawing into is a color device. The value is typically
+ * passed in as a result of someone trying to draw properly across
+ * multiple monitors which may or may not be color devices. If
+ * your procedure wants to handle proper color set up for both
+ * color and grayscale devices, it should use this parameter to
+ * help decide what color to apply.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure. Returning noErr
+ * is an indication that your proc completely handled the color set
+ * up. If you return any other value, the Control Manager will fall
+ * back to the normal color set up mechanism.
+ */
+typedef CALLBACK_API( OSStatus , ControlColorProcPtr )(ControlRef inControl, SInt16 inMessage, SInt16 inDrawDepth, Boolean inDrawInColor);
+typedef STACK_UPP_TYPE(ControlColorProcPtr) ControlColorUPP;
+/*
+ * NewControlColorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ControlColorUPP )
+NewControlColorUPP(ControlColorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppControlColorProcInfo = 0x00001AF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 2_bytes, 1_byte) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ControlColorUPP) NewControlColorUPP(ControlColorProcPtr userRoutine)
- {
- return (ControlColorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlColorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewControlColorUPP(userRoutine) (ControlColorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlColorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppControlColorProcInfo = 0x00001AF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 2_bytes, 1_byte) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ControlColorUPP) NewControlColorUPP(ControlColorProcPtr userRoutine) { return (ControlColorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlColorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewControlColorUPP(userRoutine) (ControlColorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlColorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeControlColorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeControlColorUPP(ControlColorUPP userUPP);
+/*
+ * DisposeControlColorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeControlColorUPP(ControlColorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeControlColorUPP(ControlColorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeControlColorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeControlColorUPP(ControlColorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeControlColorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeControlColorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeControlColorUPP(
- ControlRef inControl,
- SInt16 inMessage,
- SInt16 inDrawDepth,
- Boolean inDrawInColor,
- ControlColorUPP userUPP);
+/*
+ * InvokeControlColorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeControlColorUPP(
+ ControlRef inControl,
+ SInt16 inMessage,
+ SInt16 inDrawDepth,
+ Boolean inDrawInColor,
+ ControlColorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeControlColorUPP(ControlRef inControl, SInt16 inMessage, SInt16 inDrawDepth, Boolean inDrawInColor, ControlColorUPP userUPP)
- {
- return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlColorProcInfo, inControl, inMessage, inDrawDepth, inDrawInColor);
- }
-#else
-#define InvokeControlColorUPP(inControl, inMessage, inDrawDepth, inDrawInColor, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlColorProcInfo, (inControl), (inMessage), (inDrawDepth), (inDrawInColor))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeControlColorUPP(ControlRef inControl, SInt16 inMessage, SInt16 inDrawDepth, Boolean inDrawInColor, ControlColorUPP userUPP) { return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlColorProcInfo, inControl, inMessage, inDrawDepth, inDrawInColor); }
+ #else
+ #define InvokeControlColorUPP(inControl, inMessage, inDrawDepth, inDrawInColor, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlColorProcInfo, (inControl), (inMessage), (inDrawDepth), (inDrawInColor))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewControlColorProc(userRoutine) NewControlColorUPP(userRoutine)
-#define CallControlColorProc(userRoutine, inControl, inMessage, inDrawDepth, inDrawInColor) InvokeControlColorUPP(inControl, inMessage, inDrawDepth, inDrawInColor, userRoutine)
+ #define NewControlColorProc(userRoutine) NewControlColorUPP(userRoutine)
+ #define CallControlColorProc(userRoutine, inControl, inMessage, inDrawDepth, inDrawInColor) InvokeControlColorUPP(inControl, inMessage, inDrawDepth, inDrawInColor, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SetControlColorProc()
- *
- * Summary:
- * Associates a ControlColorUPP with a given Control, thereby
- * allowing you to bypass the embedding hierarchy-based color setup
- * of SetUpControlBackground/SetUpControlTextColor and replace it
- * with your own.
- *
- * Discussion:
- * Before an embedded Control can erase, it calls
- * SetUpControlBackground to have its background color set up by any
- * parent controls. Similarly, any Control which draws text calls
- * SetUpControlTextColor to have the appropriate text color set up.
- * This allows certain controls (such as Tabs and Placards) to offer
- * special backgrounds and text colors for any child controls. By
- * default, the SetUp routines only move up the Control Manager
- * embedding hierarchy looking for a parent which has a special
- * background. This is fine in a plain vanilla embedding case, but
- * many application frameworks find it troublesome; if there are
- * interesting views between two Controls in the embedding
- * hierarchy, the framework needs to be in charge of the background
- * and text colors, otherwise drawing defects will occur. You can
- * only associate a single color proc with a given ControlRef.
- * Available on Mac OS 8.5, CarbonLib 1.1, Mac OS X, and later.
- *
- * Parameters:
- *
- * inControl:
- * The ControlRef with whom the color proc should be associated.
- *
- * inProc:
- * The color proc to associate with the ControlRef. If you pass
- * NULL, the ControlRef will be dissociated from any previously
- * installed color proc.
- *
- * Result:
- * An OSStatus code indicating success or failure. The most likely
- * error is a controlHandleInvalidErr resulting from a bad
- * ControlRef.
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetControlColorProc(
- ControlRef inControl,
- ControlColorUPP inProc);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Mousing */
- /*--------------------------------------------------------------------------------------*/
- /*
- NOTE ON CONTROL ACTION PROCS
-
- When using the TrackControl() call when tracking an indicator, the actionProc parameter
- (type ControlActionUPP) should be replaced by a parameter of type DragGrayRgnUPP
- (see Quickdraw.h).
-
- If, however, you are using the live feedback variants of scroll bars or sliders, you
- must pass a ControlActionUPP in when tracking the indicator as well. This functionality
- is available in Appearance 1.0 or later.
- */
- /*
- * TrackControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlPartCode)
- TrackControl(
- ControlRef theControl,
- Point startPoint,
- ControlActionUPP actionProc) /* can be NULL */ ONEWORDINLINE(0xA968);
-
-
- /*
- * DragControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DragControl(
- ControlRef theControl,
- Point startPoint,
- const Rect * limitRect,
- const Rect * slopRect,
- DragConstraint axis) ONEWORDINLINE(0xA967);
-
-
- /*
- * TestControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlPartCode)
- TestControl(
- ControlRef theControl,
- Point testPoint) ONEWORDINLINE(0xA966);
-
-
- /*
- * FindControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlPartCode)
- FindControl(
- Point testPoint,
- WindowRef theWindow,
- ControlRef * theControl) ONEWORDINLINE(0xA96C);
-
-
- /* The following mousing routines available only with Appearance 1.0 and later */
- /* */
- /* HandleControlClick is preferable to TrackControl when running under */
- /* Appearance 1.0 as you can pass in modifiers, which some of the new controls */
- /* use, such as edit text and list boxes. */
- /* NOTE: Passing NULL for the outPart parameter of FindControlUnderMouse is only*/
- /* supported in systems later than 10.1.x */
- /*
- * FindControlUnderMouse()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlRef)
- FindControlUnderMouse(
- Point inWhere,
- WindowRef inWindow,
- ControlPartCode * outPart) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0009, 0xAA73);
-
-
- /*
- * HandleControlClick()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlPartCode)
- HandleControlClick(
- ControlRef inControl,
- Point inWhere,
- EventModifiers inModifiers,
- ControlActionUPP inAction) /* can be NULL */ THREEWORDINLINE(0x303C, 0x000A, 0xAA73);
-
-
- /* Contextual Menu support in the Control Manager is only available on Carbon. */
- /* If the control didn't display a contextual menu (possibly because the point */
- /* was in a non-interesting part), the menuDisplayed output parameter will be */
- /* false. If the control did display a menu, menuDisplayed will be true. */
- /* This in on Carbon only */
- /*
- * HandleControlContextualMenuClick()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HandleControlContextualMenuClick(
- ControlRef inControl,
- Point inWhere,
- Boolean * menuDisplayed);
-
-
- /* Some complex controls (like Data Browser) require proper sequencing of */
- /* window activation and click processing. In some cases, the control might */
- /* want the window to be left inactive yet still handle the click, or vice- */
- /* versa. The GetControlClickActivation routine lets a control client ask the */
- /* control how it wishes to behave for a particular click. */
- /* This in on Carbon only. */
- /*
- * GetControlClickActivation()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetControlClickActivation(
- ControlRef inControl,
- Point inWhere,
- EventModifiers inModifiers,
- ClickActivationResult * outResult);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Events (available only with Appearance 1.0 and later) */
- /*--------------------------------------------------------------------------------------*/
- /*
- * HandleControlKey()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlPartCode)
- HandleControlKey(
- ControlRef inControl,
- SInt16 inKeyCode,
- SInt16 inCharCode,
- EventModifiers inModifiers) THREEWORDINLINE(0x303C, 0x000B, 0xAA73);
-
-
- /*
- * IdleControls()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- IdleControls(WindowRef inWindow) THREEWORDINLINE(0x303C, 0x000C, 0xAA73);
-
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Mouse Tracking (available with Carbon) */
- /*--------------------------------------------------------------------------------------*/
- /* The HandleControlSetCursor routine requests that a given control set the cursor to */
- /* something appropriate based on the mouse location. */
- /* If the control didn't want to set the cursor (because the point was in a */
- /* non-interesting part), the cursorWasSet output parameter will be false. If the */
- /* control did set the cursor, cursorWasSet will be true. */
- /* Carbon only. */
- /*
- * HandleControlSetCursor()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HandleControlSetCursor(
- ControlRef control,
- Point localPoint,
- EventModifiers modifiers,
- Boolean * cursorWasSet);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Positioning */
- /*--------------------------------------------------------------------------------------*/
- /*
- * MoveControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MoveControl(
- ControlRef theControl,
- SInt16 h,
- SInt16 v) ONEWORDINLINE(0xA959);
-
-
- /*
- * SizeControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SizeControl(
- ControlRef theControl,
- SInt16 w,
- SInt16 h) ONEWORDINLINE(0xA95C);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Title */
- /*--------------------------------------------------------------------------------------*/
- /*
- * SetControlTitle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlTitle(
- ControlRef theControl,
- ConstStr255Param title) ONEWORDINLINE(0xA95F);
-
-
- /*
- * GetControlTitle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetControlTitle(
- ControlRef theControl,
- Str255 title) ONEWORDINLINE(0xA95E);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Value */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetControlValue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetControlValue(ControlRef theControl) ONEWORDINLINE(0xA960);
-
-
- /*
- * SetControlValue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlValue(
- ControlRef theControl,
- SInt16 newValue) ONEWORDINLINE(0xA963);
-
-
- /*
- * GetControlMinimum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetControlMinimum(ControlRef theControl) ONEWORDINLINE(0xA961);
-
-
- /*
- * SetControlMinimum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlMinimum(
- ControlRef theControl,
- SInt16 newMinimum) ONEWORDINLINE(0xA964);
-
-
- /*
- * GetControlMaximum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetControlMaximum(ControlRef theControl) ONEWORDINLINE(0xA962);
-
-
- /*
- * SetControlMaximum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlMaximum(
- ControlRef theControl,
- SInt16 newMaximum) ONEWORDINLINE(0xA965);
-
-
-
- /* proportional scrolling/32-bit value support is new with Appearance 1.1*/
-
- /*
- * GetControlViewSize()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetControlViewSize(ControlRef theControl);
-
-
- /*
- * SetControlViewSize()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlViewSize(
- ControlRef theControl,
- SInt32 newViewSize);
-
-
- /*
- * GetControl32BitValue()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetControl32BitValue(ControlRef theControl);
-
-
- /*
- * SetControl32BitValue()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControl32BitValue(
- ControlRef theControl,
- SInt32 newValue);
-
-
- /*
- * GetControl32BitMaximum()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetControl32BitMaximum(ControlRef theControl);
-
-
- /*
- * SetControl32BitMaximum()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControl32BitMaximum(
- ControlRef theControl,
- SInt32 newMaximum);
-
-
- /*
- * GetControl32BitMinimum()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetControl32BitMinimum(ControlRef theControl);
-
-
- /*
- * SetControl32BitMinimum()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControl32BitMinimum(
- ControlRef theControl,
- SInt32 newMinimum);
-
-
- /*
- IsValidControlHandle will tell you if the handle you pass in belongs to a control
- the Control Manager knows about. It does not sanity check the data in the control.
- */
-
- /*
- * IsValidControlHandle()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsValidControlHandle(ControlRef theControl);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control IDs */
- /* Carbon only. */
- /*--------------------------------------------------------------------------------------*/
- struct ControlID
- {
- OSType signature;
- SInt32 id;
- };
- typedef struct ControlID ControlID;
- /*
- * SetControlID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetControlID(
- ControlRef inControl,
- const ControlID * inID);
-
-
- /*
- * GetControlID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetControlID(
- ControlRef inControl,
- ControlID * outID);
-
-
- /*
- * GetControlByID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetControlByID(
- WindowRef inWindow,
- const ControlID * inID,
- ControlRef * outControl);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Command IDs */
- /* Carbon only. */
- /*--------------------------------------------------------------------------------------*/
- /*--------------------------------------------------------------------------------------*/
- /* o Control Identification */
- /* Carbon only. */
- /*--------------------------------------------------------------------------------------*/
- /*--------------------------------------------------------------------------------------*/
- /* o Properties */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kControlPropertyPersistent = 0x00000001 /* whether this property gets saved when flattening the control*/
- };
-
- /*
- * GetControlProperty()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetControlProperty(
- ControlRef control,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 bufferSize,
- UInt32 * actualSize, /* can be NULL */
- void * propertyBuffer);
-
-
- /*
- * GetControlPropertySize()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetControlPropertySize(
- ControlRef control,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 * size);
-
-
- /*
- * SetControlProperty()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetControlProperty(
- ControlRef control,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 propertySize,
- const void * propertyData);
-
-
- /*
- * RemoveControlProperty()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveControlProperty(
- ControlRef control,
- OSType propertyCreator,
- OSType propertyTag);
-
-
- /*
- * GetControlPropertyAttributes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetControlPropertyAttributes(
- ControlRef control,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 * attributes);
-
-
- /*
- * ChangeControlPropertyAttributes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ChangeControlPropertyAttributes(
- ControlRef control,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 attributesToSet,
- UInt32 attributesToClear);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Regions (Appearance 1.1 or later) */
- /* */
- /* See the discussion on meta-parts in this header for more information */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetControlRegion()
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetControlRegion(
- ControlRef inControl,
- ControlPartCode inPart,
- RgnHandle outRegion);
-
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Variant */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetControlVariant()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlVariant)
- GetControlVariant(ControlRef theControl) ONEWORDINLINE(0xA809);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Action */
- /*--------------------------------------------------------------------------------------*/
- /*
- * SetControlAction()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlAction(
- ControlRef theControl,
- ControlActionUPP actionProc) ONEWORDINLINE(0xA96B);
-
-
- /*
- * GetControlAction()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlActionUPP)
- GetControlAction(ControlRef theControl) ONEWORDINLINE(0xA96A);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Accessors */
- /*--------------------------------------------------------------------------------------*/
- /*
- * SetControlReference()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlReference(
- ControlRef theControl,
- SInt32 data) ONEWORDINLINE(0xA95B);
-
-
- /*
- * GetControlReference()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetControlReference(ControlRef theControl) ONEWORDINLINE(0xA95A);
+/*
+ * SetControlColorProc()
+ *
+ * Summary:
+ * Associates a ControlColorUPP with a given Control, thereby
+ * allowing you to bypass the embedding hierarchy-based color setup
+ * of SetUpControlBackground/SetUpControlTextColor and replace it
+ * with your own.
+ *
+ * Discussion:
+ * Before an embedded Control can erase, it calls
+ * SetUpControlBackground to have its background color set up by any
+ * parent controls. Similarly, any Control which draws text calls
+ * SetUpControlTextColor to have the appropriate text color set up.
+ * This allows certain controls (such as Tabs and Placards) to offer
+ * special backgrounds and text colors for any child controls. By
+ * default, the SetUp routines only move up the Control Manager
+ * embedding hierarchy looking for a parent which has a special
+ * background. This is fine in a plain vanilla embedding case, but
+ * many application frameworks find it troublesome; if there are
+ * interesting views between two Controls in the embedding
+ * hierarchy, the framework needs to be in charge of the background
+ * and text colors, otherwise drawing defects will occur. You can
+ * only associate a single color proc with a given ControlRef.
+ * Available on Mac OS 8.5, CarbonLib 1.1, Mac OS X, and later.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * The ControlRef with whom the color proc should be associated.
+ *
+ * inProc:
+ * The color proc to associate with the ControlRef. If you pass
+ * NULL, the ControlRef will be dissociated from any previously
+ * installed color proc.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure. The most likely
+ * error is a controlHandleInvalidErr resulting from a bad
+ * ControlRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetControlColorProc(
+ ControlRef inControl,
+ ControlColorUPP inProc);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Mousing */
+/*--------------------------------------------------------------------------------------*/
+/*
+ NOTE ON CONTROL ACTION PROCS
+
+ When using the TrackControl() call when tracking an indicator, the actionProc parameter
+ (type ControlActionUPP) should be replaced by a parameter of type DragGrayRgnUPP
+ (see Quickdraw.h).
+
+ If, however, you are using the live feedback variants of scroll bars or sliders, you
+ must pass a ControlActionUPP in when tracking the indicator as well. This functionality
+ is available in Appearance 1.0 or later.
+*/
+/*
+ * TrackControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlPartCode )
+TrackControl(
+ ControlRef theControl,
+ Point startPoint,
+ ControlActionUPP actionProc) /* can be NULL */ ONEWORDINLINE(0xA968);
+
+
+/*
+ * DragControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DragControl(
+ ControlRef theControl,
+ Point startPoint,
+ const Rect * limitRect,
+ const Rect * slopRect,
+ DragConstraint axis) ONEWORDINLINE(0xA967);
+
+
+/*
+ * TestControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlPartCode )
+TestControl(
+ ControlRef theControl,
+ Point testPoint) ONEWORDINLINE(0xA966);
+
+
+/*
+ * FindControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlPartCode )
+FindControl(
+ Point testPoint,
+ WindowRef theWindow,
+ ControlRef * theControl) ONEWORDINLINE(0xA96C);
+
+
+/* The following mousing routines available only with Appearance 1.0 and later */
+/* */
+/* HandleControlClick is preferable to TrackControl when running under */
+/* Appearance 1.0 as you can pass in modifiers, which some of the new controls */
+/* use, such as edit text and list boxes. */
+/* NOTE: Passing NULL for the outPart parameter of FindControlUnderMouse is only*/
+/* supported in systems later than 10.1.x */
+/*
+ * FindControlUnderMouse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlRef )
+FindControlUnderMouse(
+ Point inWhere,
+ WindowRef inWindow,
+ ControlPartCode * outPart) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0009, 0xAA73);
+
+
+/*
+ * HandleControlClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlPartCode )
+HandleControlClick(
+ ControlRef inControl,
+ Point inWhere,
+ EventModifiers inModifiers,
+ ControlActionUPP inAction) /* can be NULL */ THREEWORDINLINE(0x303C, 0x000A, 0xAA73);
+
+
+/* Contextual Menu support in the Control Manager is only available on Carbon. */
+/* If the control didn't display a contextual menu (possibly because the point */
+/* was in a non-interesting part), the menuDisplayed output parameter will be */
+/* false. If the control did display a menu, menuDisplayed will be true. */
+/* This in on Carbon only */
+/*
+ * HandleControlContextualMenuClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HandleControlContextualMenuClick(
+ ControlRef inControl,
+ Point inWhere,
+ Boolean * menuDisplayed);
+
+
+/* Some complex controls (like Data Browser) require proper sequencing of */
+/* window activation and click processing. In some cases, the control might */
+/* want the window to be left inactive yet still handle the click, or vice- */
+/* versa. The GetControlClickActivation routine lets a control client ask the */
+/* control how it wishes to behave for a particular click. */
+/* This in on Carbon only. */
+/*
+ * GetControlClickActivation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetControlClickActivation(
+ ControlRef inControl,
+ Point inWhere,
+ EventModifiers inModifiers,
+ ClickActivationResult * outResult);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Events (available only with Appearance 1.0 and later) */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * HandleControlKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlPartCode )
+HandleControlKey(
+ ControlRef inControl,
+ SInt16 inKeyCode,
+ SInt16 inCharCode,
+ EventModifiers inModifiers) THREEWORDINLINE(0x303C, 0x000B, 0xAA73);
+
+
+/*
+ * IdleControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+IdleControls(WindowRef inWindow) THREEWORDINLINE(0x303C, 0x000C, 0xAA73);
+
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Mouse Tracking (available with Carbon) */
+/*--------------------------------------------------------------------------------------*/
+/* The HandleControlSetCursor routine requests that a given control set the cursor to */
+/* something appropriate based on the mouse location. */
+/* If the control didn't want to set the cursor (because the point was in a */
+/* non-interesting part), the cursorWasSet output parameter will be false. If the */
+/* control did set the cursor, cursorWasSet will be true. */
+/* Carbon only. */
+/*
+ * HandleControlSetCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HandleControlSetCursor(
+ ControlRef control,
+ Point localPoint,
+ EventModifiers modifiers,
+ Boolean * cursorWasSet);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Positioning */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * MoveControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MoveControl(
+ ControlRef theControl,
+ SInt16 h,
+ SInt16 v) ONEWORDINLINE(0xA959);
+
+
+/*
+ * SizeControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SizeControl(
+ ControlRef theControl,
+ SInt16 w,
+ SInt16 h) ONEWORDINLINE(0xA95C);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Title */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * SetControlTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlTitle(
+ ControlRef theControl,
+ ConstStr255Param title) ONEWORDINLINE(0xA95F);
+
+
+/*
+ * GetControlTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetControlTitle(
+ ControlRef theControl,
+ Str255 title) ONEWORDINLINE(0xA95E);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Value */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetControlValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetControlValue(ControlRef theControl) ONEWORDINLINE(0xA960);
+
+
+/*
+ * SetControlValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlValue(
+ ControlRef theControl,
+ SInt16 newValue) ONEWORDINLINE(0xA963);
+
+
+/*
+ * GetControlMinimum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetControlMinimum(ControlRef theControl) ONEWORDINLINE(0xA961);
+
+
+/*
+ * SetControlMinimum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlMinimum(
+ ControlRef theControl,
+ SInt16 newMinimum) ONEWORDINLINE(0xA964);
+
+
+/*
+ * GetControlMaximum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetControlMaximum(ControlRef theControl) ONEWORDINLINE(0xA962);
+
+
+/*
+ * SetControlMaximum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlMaximum(
+ ControlRef theControl,
+ SInt16 newMaximum) ONEWORDINLINE(0xA965);
+
+
+
+/* proportional scrolling/32-bit value support is new with Appearance 1.1*/
+
+/*
+ * GetControlViewSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetControlViewSize(ControlRef theControl);
+
+
+/*
+ * SetControlViewSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlViewSize(
+ ControlRef theControl,
+ SInt32 newViewSize);
+
+
+/*
+ * GetControl32BitValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetControl32BitValue(ControlRef theControl);
+
+
+/*
+ * SetControl32BitValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControl32BitValue(
+ ControlRef theControl,
+ SInt32 newValue);
+
+
+/*
+ * GetControl32BitMaximum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetControl32BitMaximum(ControlRef theControl);
+
+
+/*
+ * SetControl32BitMaximum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControl32BitMaximum(
+ ControlRef theControl,
+ SInt32 newMaximum);
+
+
+/*
+ * GetControl32BitMinimum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetControl32BitMinimum(ControlRef theControl);
+
+
+/*
+ * SetControl32BitMinimum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControl32BitMinimum(
+ ControlRef theControl,
+ SInt32 newMinimum);
+
+
+/*
+ IsValidControlHandle will tell you if the handle you pass in belongs to a control
+ the Control Manager knows about. It does not sanity check the data in the control.
+*/
+
+/*
+ * IsValidControlHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsValidControlHandle(ControlRef theControl);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control IDs */
+/* Carbon only. */
+/*--------------------------------------------------------------------------------------*/
+struct ControlID {
+ OSType signature;
+ SInt32 id;
+};
+typedef struct ControlID ControlID;
+/*
+ * SetControlID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetControlID(
+ ControlRef inControl,
+ const ControlID * inID);
+
+
+/*
+ * GetControlID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetControlID(
+ ControlRef inControl,
+ ControlID * outID);
+
+
+/*
+ * GetControlByID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetControlByID(
+ WindowRef inWindow,
+ const ControlID * inID,
+ ControlRef * outControl);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Command IDs */
+/* Carbon only. */
+/*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o Control Identification */
+/* Carbon only. */
+/*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o Properties */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kControlPropertyPersistent = 0x00000001 /* whether this property gets saved when flattening the control*/
+};
+
+/*
+ * GetControlProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetControlProperty(
+ ControlRef control,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 bufferSize,
+ UInt32 * actualSize, /* can be NULL */
+ void * propertyBuffer);
+
+
+/*
+ * GetControlPropertySize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetControlPropertySize(
+ ControlRef control,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 * size);
+
+
+/*
+ * SetControlProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetControlProperty(
+ ControlRef control,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 propertySize,
+ const void * propertyData);
+
+
+/*
+ * RemoveControlProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveControlProperty(
+ ControlRef control,
+ OSType propertyCreator,
+ OSType propertyTag);
+
+
+/*
+ * GetControlPropertyAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetControlPropertyAttributes(
+ ControlRef control,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 * attributes);
+
+
+/*
+ * ChangeControlPropertyAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ChangeControlPropertyAttributes(
+ ControlRef control,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 attributesToSet,
+ UInt32 attributesToClear);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Regions (Appearance 1.1 or later) */
+/* */
+/* See the discussion on meta-parts in this header for more information */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetControlRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetControlRegion(
+ ControlRef inControl,
+ ControlPartCode inPart,
+ RgnHandle outRegion);
+
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Variant */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetControlVariant()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlVariant )
+GetControlVariant(ControlRef theControl) ONEWORDINLINE(0xA809);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Action */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * SetControlAction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlAction(
+ ControlRef theControl,
+ ControlActionUPP actionProc) ONEWORDINLINE(0xA96B);
+
+
+/*
+ * GetControlAction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlActionUPP )
+GetControlAction(ControlRef theControl) ONEWORDINLINE(0xA96A);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Accessors */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * SetControlReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlReference(
+ ControlRef theControl,
+ SInt32 data) ONEWORDINLINE(0xA95B);
+
+
+/*
+ * GetControlReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetControlReference(ControlRef theControl) ONEWORDINLINE(0xA95A);
#if !OPAQUE_TOOLBOX_STRUCTS
#if CALL_NOT_IN_CARBON
- /*
- * GetAuxiliaryControlRecord()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- GetAuxiliaryControlRecord(
- ControlRef theControl,
- AuxCtlHandle * acHndl) ONEWORDINLINE(0xAA44);
+/*
+ * GetAuxiliaryControlRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+GetAuxiliaryControlRecord(
+ ControlRef theControl,
+ AuxCtlHandle * acHndl) ONEWORDINLINE(0xAA44);
#endif /* CALL_NOT_IN_CARBON */
@@ -2522,884 +2428,883 @@ extern "C" {
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
#if CALL_NOT_IN_CARBON
- /*
- * SetControlColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetControlColor(
- ControlRef theControl,
- CCTabHandle newColorTable) ONEWORDINLINE(0xAA43);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Hierarchy (Appearance 1.0 and later only) */
- /*--------------------------------------------------------------------------------------*/
+/*
+ * SetControlColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetControlColor(
+ ControlRef theControl,
+ CCTabHandle newColorTable) ONEWORDINLINE(0xAA43);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Hierarchy (Appearance 1.0 and later only) */
+/*--------------------------------------------------------------------------------------*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SendControlMessage()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- SendControlMessage(
- ControlRef inControl,
- SInt16 inMessage,
- void * inParam) THREEWORDINLINE(0x303C, 0xFFFE, 0xAA73);
-
-
- /*
- * DumpControlHierarchy()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DumpControlHierarchy(
- WindowRef inWindow,
- const FSSpec * inDumpFile) THREEWORDINLINE(0x303C, 0xFFFF, 0xAA73);
-
-
- /*
- * CreateRootControl()
- *
- * Summary:
- * Creates a new root control for a window.
- *
- * Parameters:
- *
- * inWindow:
- * The window for which to create a root control.
- *
- * outControl:
- * On exit, contains the window's root control. In Mac OS 10.1 and
- * CarbonLib 1.5 and later, this parameter may be NULL if you
- * don't need the ControlRef.
- *
- * Result:
- * A result code indicating success or failure. errRootAlreadyExists
- * is returned if the window already has a root control.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CreateRootControl(
- WindowRef inWindow,
- ControlRef * outControl) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0001, 0xAA73);
-
-
- /*
- * GetRootControl()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetRootControl(
- WindowRef inWindow,
- ControlRef * outControl) THREEWORDINLINE(0x303C, 0x0002, 0xAA73);
-
-
- /*
- * EmbedControl()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- EmbedControl(
- ControlRef inControl,
- ControlRef inContainer) THREEWORDINLINE(0x303C, 0x0003, 0xAA73);
-
-
- /*
- * AutoEmbedControl()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AutoEmbedControl(
- ControlRef inControl,
- WindowRef inWindow) THREEWORDINLINE(0x303C, 0x0004, 0xAA73);
-
-
- /*
- * GetSuperControl()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSuperControl(
- ControlRef inControl,
- ControlRef * outParent) THREEWORDINLINE(0x303C, 0x0015, 0xAA73);
-
-
- /*
- * CountSubControls()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CountSubControls(
- ControlRef inControl,
- UInt16 * outNumChildren) THREEWORDINLINE(0x303C, 0x0016, 0xAA73);
-
-
- /*
- * GetIndexedSubControl()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIndexedSubControl(
- ControlRef inControl,
- UInt16 inIndex,
- ControlRef * outSubControl) THREEWORDINLINE(0x303C, 0x0017, 0xAA73);
-
-
- /*
- * SetControlSupervisor()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetControlSupervisor(
- ControlRef inControl,
- ControlRef inBoss) THREEWORDINLINE(0x303C, 0x001A, 0xAA73);
-
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Keyboard Focus (available only with Appearance 1.0 and later) */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetKeyboardFocus()
- *
- * Discussion:
- * Passes back the currently focused control within the given window.
- *
- * Parameters:
- *
- * inWindow:
- * The window to get the focus of.
- *
- * outControl:
- * On output, this will contain the ControlRef that is currently
- * focused in the given window. If there is no currently focused
- * control, outControl will contain NULL.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetKeyboardFocus(
- WindowRef inWindow,
- ControlRef * outControl) THREEWORDINLINE(0x303C, 0x000D, 0xAA73);
-
-
- /*
- * SetKeyboardFocus()
- *
- * Discussion:
- * Focuses the given part of the given control in a particular
- * window. If another control is currently focused in the window,
- * focus will be removed from the other control before focus is
- * given to the desired control. SetKeyboardFocus respects the full
- * keyboard navigation mode.
- *
- * Parameters:
- *
- * inWindow:
- * The window which contains the control you want to focus. If the
- * window does not contain the control, an error will be returned.
- *
- * inControl:
- * The control you want to focus.
- *
- * inPart:
- * The part of the control you wish to focus. You may pass
- * kControlFocusNoPart to clear the focus in the given control.
- * You may pass kControlFocusNextPart or kControlFocusPrevPart to
- * move the focus within the given control.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetKeyboardFocus(
- WindowRef inWindow,
- ControlRef inControl,
- ControlFocusPart inPart) THREEWORDINLINE(0x303C, 0x000E, 0xAA73);
-
-
- /*
- * AdvanceKeyboardFocus()
- *
- * Discussion:
- * Advances the focus to the next most appropriate control. Unless
- * overriden in some fashion (either by overriding certain carbon
- * events or using the HIViewSetNextFocus API), the Toolbox will use
- * a spacially determinant method of focusing, attempting to focus
- * left to right, top to bottom in a window, taking groups of
- * controls into account. AdvanceKeyboardFocus does not respect the
- * full keyboard navigation mode. It will only advance the focus
- * between traditionally focusable controls. If you want to advance
- * the focus in a way that respects the full keyboard navigation
- * mode, use the HIViewAdvanceFocus API.
- *
- * Parameters:
- *
- * inWindow:
- * The window to advance the focus in.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AdvanceKeyboardFocus(WindowRef inWindow) THREEWORDINLINE(0x303C, 0x000F, 0xAA73);
-
-
- /*
- * ReverseKeyboardFocus()
- *
- * Discussion:
- * Reverses the focus to the next most appropriate control. Unless
- * overriden in some fashion (either by overriding certain carbon
- * events or using the HIViewSetNextFocus API), the Toolbox will use
- * a spacially determinant method of focusing, attempting to focus
- * left to right, top to bottom in a window, taking groups of
- * controls into account. ReverseKeyboardFocus does not respect the
- * full keyboard navigation mode. It will only reverse the focus
- * between traditionally focusable controls. If you want to reverse
- * the focus in a way that respects the full keyboard navigation
- * mode, use the HIViewAdvanceFocus API.
- *
- * Parameters:
- *
- * inWindow:
- * The window to reverse the focus in.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ReverseKeyboardFocus(WindowRef inWindow) THREEWORDINLINE(0x303C, 0x0010, 0xAA73);
-
-
- /*
- * ClearKeyboardFocus()
- *
- * Discussion:
- * Clears focus from the currently focused control in a given
- * window. The window will be left such that no control is focused
- * within it.
- *
- * Parameters:
- *
- * inWindow:
- * The window that you want to clear the focus in.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ClearKeyboardFocus(WindowRef inWindow) THREEWORDINLINE(0x303C, 0x0019, 0xAA73);
-
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Data (available only with Appearance 1.0 and later) */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * GetControlFeatures()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetControlFeatures(
- ControlRef inControl,
- UInt32 * outFeatures) THREEWORDINLINE(0x303C, 0x0011, 0xAA73);
-
-
- /*
- * SetControlData()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetControlData(
- ControlRef inControl,
- ControlPartCode inPart,
- ResType inTagName,
- Size inSize,
- const void * inData) THREEWORDINLINE(0x303C, 0x0012, 0xAA73);
-
-
- /*
- * GetControlData()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetControlData(
- ControlRef inControl,
- ControlPartCode inPart,
- ResType inTagName,
- Size inBufferSize,
- void * inBuffer,
- Size * outActualSize) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0013, 0xAA73);
-
-
- /*
- * GetControlDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetControlDataSize(
- ControlRef inControl,
- ControlPartCode inPart,
- ResType inTagName,
- Size * outMaxSize) THREEWORDINLINE(0x303C, 0x0014, 0xAA73);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Control Drag & Drop */
- /* Carbon only. */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * Discussion:
- * DragTrackingMessage values for use with HandleControlDragTracking.
- */
- enum
- {
-
- /*
- * The drag was previously outside the control and it just now
- * entered the control.
- */
- kDragTrackingEnterControl = 2,
-
- /*
- * The drag was previously inside the control and it is still inside
- * the control.
- */
- kDragTrackingInControl = 3,
-
- /*
- * The drag was previously inside the control and it just now left
- * the control.
- */
- kDragTrackingLeaveControl = 4
- };
-
-
- /*
- * HandleControlDragTracking()
- *
- * Summary:
- * Tells a control to respond visually to a drag.
- *
- * Discussion:
- * Call HandleControlDragTracking when a drag is above a control in
- * your window and you want to give that control a chance to draw
- * appropriately in response to the drag. Note that in order for a
- * control to have any chance of responding to this API, you must
- * enable the control's drag and drop support with
- * SetControlDragTrackingEnabled.
- *
- * Parameters:
- *
- * inControl:
- * The control the drag is over. Most controls won't track drags
- * unless you enable drag tracking on it with
- * SetControlDragTrackingEnabled.
- *
- * inMessage:
- * A drag message indicating the state of the drag above the
- * control. The meaning of the value you pass in must be relative
- * to the control, not the whole window. For when the drag first
- * enters the control, you should pass kDragTrackingEnterControl.
- * While the drag stays within the control, pass
- * kDragTrackingInControl. When the drag leaves the control, pass
- * kDragTrackingLeaveControl.
- *
- * inDrag:
- * The drag reference that is over the control.
- *
- * outLikesDrag:
- * On output, this will be a boolean indicating whether the
- * control "likes" the drag. A control "likes" the drag if the
- * data in the drag ref can be accepted by the control. If the
- * control does not like the drag, don't bother calling
- * HandleControlDragReceive if the user drops the dragged object
- * onto the control.
- *
- * Result:
- * A result code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HandleControlDragTracking(
- ControlRef inControl,
- DragTrackingMessage inMessage,
- DragReference inDrag,
- Boolean * outLikesDrag);
-
-
-
- /*
- * HandleControlDragReceive()
- *
- * Summary:
- * Tells a control to accept the data in drag reference.
- *
- * Discussion:
- * Call HandleControlDragReceive when the user dropped a drag on a
- * control in your window. This gives the control the opportunity to
- * pull any interesting data out of the drag and insert the data
- * into itself. Note that in order for a control to have any chance
- * of responding to this API, you must enable the control's drag and
- * drop support with SetControlDragTrackingEnabled.
- *
- * Parameters:
- *
- * inControl:
- * The control who should accept the data. Most controls won't
- * accept drags unless you enable drag tracking on it with
- * SetControlDragTrackingEnabled.
- *
- * inDrag:
- * The drag reference that was dropped on the control.
- *
- * Result:
- * A result code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HandleControlDragReceive(
- ControlRef inControl,
- DragReference inDrag);
-
-
-
- /*
- * SetControlDragTrackingEnabled()
- *
- * Summary:
- * Tells a control that it should track and receive drags.
- *
- * Discussion:
- * Call SetControlDragTrackingEnabled to turn enable a control's
- * support for drag and drop. Controls won't track drags unless you
- * first turn on drag and drop support with this API. Some controls
- * don't support drag and drop at all; these controls won't track or
- * receive drags even if you call this API with true.
- *
- * Parameters:
- *
- * inControl:
- * The control whose drag tracking enabled state you'd like to set.
- *
- * inTracks:
- * A Boolean indicating whether you want this control to track and
- * receive drags.
- *
- * Result:
- * A result code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetControlDragTrackingEnabled(
- ControlRef inControl,
- Boolean inTracks);
-
-
-
- /*
- * IsControlDragTrackingEnabled()
- *
- * Summary:
- * Tells you whether a control's drag track and receive support is
- * enabled.
- *
- * Discussion:
- * Call IsControlDragTrackingEnabled to query a whether a control's
- * drag and drop support is enabled. Some controls don't support
- * drag and drop at all; these controls won't track or receive drags
- * even if you call this API and see a true output value.
- *
- * Parameters:
- *
- * inControl:
- * The control whose drag tracking enabled state you'd like to
- * query.
- *
- * outTracks:
- * On output, this will contain a Boolean value whether the
- * control's drag and drop support is enabled.
- *
- * Result:
- * A result code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- IsControlDragTrackingEnabled(
- ControlRef inControl,
- Boolean * outTracks);
-
-
-
- /*
- * SetAutomaticControlDragTrackingEnabledForWindow()
- *
- * Summary:
- * Enables or disables the Control Manager's automatic drag tracking
- * for a given window.
- *
- * Discussion:
- * Call SetAutomaticControlDragTrackingEnabledForWindow to turn on
- * or off the Control Manager's automatic drag tracking support for
- * a given window. By default, your application code is responsible
- * for installing drag tracking and receive handlers on a given
- * window. The Control Manager, however, has support for
- * automatically tracking and receiving drags over controls. The
- * Control Manager will detect the control the drag is over and call
- * HandleControlDragTracking and HandleControlDragReceive
- * appropriately. By default, this automatic support is turned off.
- * You can turn on this support by calling
- * SetAutomaticControlDragTrackingEnabledForWindow with true. Note
- * that earlier versions of system software incorrectly enable this
- * support by default; do not rely on this buggy behavior. As of Mac
- * OS 10.1.3, Mac OS 9.2, and CarbonLib 1.4, the buggy behavior is
- * fixed, and you must call this routine with true to enable
- * automatic drag tracking.
- *
- * Parameters:
- *
- * inWindow:
- * The window for which you'd like to enable or disable the
- * Control Manager's automatic drag tracking support.
- *
- * inTracks:
- * A Boolean value indicating whether you want to enable the
- * Control Manager's automatic drag tracking support.
- *
- * Result:
- * A result code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetAutomaticControlDragTrackingEnabledForWindow(
- WindowRef inWindow,
- Boolean inTracks);
-
-
-
- /*
- * IsAutomaticControlDragTrackingEnabledForWindow()
- *
- * Summary:
- * Tells you whether the Control Manager's automatic drag tracking
- * is enabled for a given window.
- *
- * Discussion:
- * Call IsAutomaticControlDragTrackingEnabledForWindow to query the
- * enabled state of the Control Manager's automatic drag tracking
- * support for a given window. See the information on
- * SetAutomaticControlDragTrackingEnabledForWindow for more details.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose Control Manager automatic drag tracking enable
- * state you'd like to query.
- *
- * outTracks:
- * On output, this will contain a Boolean value whether the
- * Control Manager's automatic drag tracking is enabled.
- *
- * Result:
- * A result code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: in ControlsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- IsAutomaticControlDragTrackingEnabledForWindow(
- WindowRef inWindow,
- Boolean * outTracks);
+/*
+ * SendControlMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+SendControlMessage(
+ ControlRef inControl,
+ SInt16 inMessage,
+ void * inParam) THREEWORDINLINE(0x303C, 0xFFFE, 0xAA73);
+
+
+/*
+ * DumpControlHierarchy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DumpControlHierarchy(
+ WindowRef inWindow,
+ const FSSpec * inDumpFile) THREEWORDINLINE(0x303C, 0xFFFF, 0xAA73);
+
+
+/*
+ * CreateRootControl()
+ *
+ * Summary:
+ * Creates a new root control for a window.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window for which to create a root control.
+ *
+ * outControl:
+ * On exit, contains the window's root control. In Mac OS 10.1 and
+ * CarbonLib 1.5 and later, this parameter may be NULL if you
+ * don't need the ControlRef.
+ *
+ * Result:
+ * A result code indicating success or failure. errRootAlreadyExists
+ * is returned if the window already has a root control.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CreateRootControl(
+ WindowRef inWindow,
+ ControlRef * outControl) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0001, 0xAA73);
+
+
+/*
+ * GetRootControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetRootControl(
+ WindowRef inWindow,
+ ControlRef * outControl) THREEWORDINLINE(0x303C, 0x0002, 0xAA73);
+
+
+/*
+ * EmbedControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+EmbedControl(
+ ControlRef inControl,
+ ControlRef inContainer) THREEWORDINLINE(0x303C, 0x0003, 0xAA73);
+
+
+/*
+ * AutoEmbedControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AutoEmbedControl(
+ ControlRef inControl,
+ WindowRef inWindow) THREEWORDINLINE(0x303C, 0x0004, 0xAA73);
+
+
+/*
+ * GetSuperControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSuperControl(
+ ControlRef inControl,
+ ControlRef * outParent) THREEWORDINLINE(0x303C, 0x0015, 0xAA73);
+
+
+/*
+ * CountSubControls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CountSubControls(
+ ControlRef inControl,
+ UInt16 * outNumChildren) THREEWORDINLINE(0x303C, 0x0016, 0xAA73);
+
+
+/*
+ * GetIndexedSubControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIndexedSubControl(
+ ControlRef inControl,
+ UInt16 inIndex,
+ ControlRef * outSubControl) THREEWORDINLINE(0x303C, 0x0017, 0xAA73);
+
+
+/*
+ * SetControlSupervisor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetControlSupervisor(
+ ControlRef inControl,
+ ControlRef inBoss) THREEWORDINLINE(0x303C, 0x001A, 0xAA73);
+
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Keyboard Focus (available only with Appearance 1.0 and later) */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetKeyboardFocus()
+ *
+ * Discussion:
+ * Passes back the currently focused control within the given window.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to get the focus of.
+ *
+ * outControl:
+ * On output, this will contain the ControlRef that is currently
+ * focused in the given window. If there is no currently focused
+ * control, outControl will contain NULL.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetKeyboardFocus(
+ WindowRef inWindow,
+ ControlRef * outControl) THREEWORDINLINE(0x303C, 0x000D, 0xAA73);
+
+
+/*
+ * SetKeyboardFocus()
+ *
+ * Discussion:
+ * Focuses the given part of the given control in a particular
+ * window. If another control is currently focused in the window,
+ * focus will be removed from the other control before focus is
+ * given to the desired control. SetKeyboardFocus respects the full
+ * keyboard navigation mode.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window which contains the control you want to focus. If the
+ * window does not contain the control, an error will be returned.
+ *
+ * inControl:
+ * The control you want to focus.
+ *
+ * inPart:
+ * The part of the control you wish to focus. You may pass
+ * kControlFocusNoPart to clear the focus in the given control.
+ * You may pass kControlFocusNextPart or kControlFocusPrevPart to
+ * move the focus within the given control.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetKeyboardFocus(
+ WindowRef inWindow,
+ ControlRef inControl,
+ ControlFocusPart inPart) THREEWORDINLINE(0x303C, 0x000E, 0xAA73);
+
+
+/*
+ * AdvanceKeyboardFocus()
+ *
+ * Discussion:
+ * Advances the focus to the next most appropriate control. Unless
+ * overriden in some fashion (either by overriding certain carbon
+ * events or using the HIViewSetNextFocus API), the Toolbox will use
+ * a spacially determinant method of focusing, attempting to focus
+ * left to right, top to bottom in a window, taking groups of
+ * controls into account. AdvanceKeyboardFocus does not respect the
+ * full keyboard navigation mode. It will only advance the focus
+ * between traditionally focusable controls. If you want to advance
+ * the focus in a way that respects the full keyboard navigation
+ * mode, use the HIViewAdvanceFocus API.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to advance the focus in.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AdvanceKeyboardFocus(WindowRef inWindow) THREEWORDINLINE(0x303C, 0x000F, 0xAA73);
+
+
+/*
+ * ReverseKeyboardFocus()
+ *
+ * Discussion:
+ * Reverses the focus to the next most appropriate control. Unless
+ * overriden in some fashion (either by overriding certain carbon
+ * events or using the HIViewSetNextFocus API), the Toolbox will use
+ * a spacially determinant method of focusing, attempting to focus
+ * left to right, top to bottom in a window, taking groups of
+ * controls into account. ReverseKeyboardFocus does not respect the
+ * full keyboard navigation mode. It will only reverse the focus
+ * between traditionally focusable controls. If you want to reverse
+ * the focus in a way that respects the full keyboard navigation
+ * mode, use the HIViewAdvanceFocus API.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to reverse the focus in.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ReverseKeyboardFocus(WindowRef inWindow) THREEWORDINLINE(0x303C, 0x0010, 0xAA73);
+
+
+/*
+ * ClearKeyboardFocus()
+ *
+ * Discussion:
+ * Clears focus from the currently focused control in a given
+ * window. The window will be left such that no control is focused
+ * within it.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window that you want to clear the focus in.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ClearKeyboardFocus(WindowRef inWindow) THREEWORDINLINE(0x303C, 0x0019, 0xAA73);
+
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Data (available only with Appearance 1.0 and later) */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * GetControlFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetControlFeatures(
+ ControlRef inControl,
+ UInt32 * outFeatures) THREEWORDINLINE(0x303C, 0x0011, 0xAA73);
+
+
+/*
+ * SetControlData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetControlData(
+ ControlRef inControl,
+ ControlPartCode inPart,
+ ResType inTagName,
+ Size inSize,
+ const void * inData) THREEWORDINLINE(0x303C, 0x0012, 0xAA73);
+
+
+/*
+ * GetControlData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetControlData(
+ ControlRef inControl,
+ ControlPartCode inPart,
+ ResType inTagName,
+ Size inBufferSize,
+ void * inBuffer,
+ Size * outActualSize) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0013, 0xAA73);
+
+
+/*
+ * GetControlDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetControlDataSize(
+ ControlRef inControl,
+ ControlPartCode inPart,
+ ResType inTagName,
+ Size * outMaxSize) THREEWORDINLINE(0x303C, 0x0014, 0xAA73);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Control Drag & Drop */
+/* Carbon only. */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * Discussion:
+ * DragTrackingMessage values for use with HandleControlDragTracking.
+ */
+enum {
+
+ /*
+ * The drag was previously outside the control and it just now
+ * entered the control.
+ */
+ kDragTrackingEnterControl = 2,
+
+ /*
+ * The drag was previously inside the control and it is still inside
+ * the control.
+ */
+ kDragTrackingInControl = 3,
+
+ /*
+ * The drag was previously inside the control and it just now left
+ * the control.
+ */
+ kDragTrackingLeaveControl = 4
+};
+
+
+/*
+ * HandleControlDragTracking()
+ *
+ * Summary:
+ * Tells a control to respond visually to a drag.
+ *
+ * Discussion:
+ * Call HandleControlDragTracking when a drag is above a control in
+ * your window and you want to give that control a chance to draw
+ * appropriately in response to the drag. Note that in order for a
+ * control to have any chance of responding to this API, you must
+ * enable the control's drag and drop support with
+ * SetControlDragTrackingEnabled.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * The control the drag is over. Most controls won't track drags
+ * unless you enable drag tracking on it with
+ * SetControlDragTrackingEnabled.
+ *
+ * inMessage:
+ * A drag message indicating the state of the drag above the
+ * control. The meaning of the value you pass in must be relative
+ * to the control, not the whole window. For when the drag first
+ * enters the control, you should pass kDragTrackingEnterControl.
+ * While the drag stays within the control, pass
+ * kDragTrackingInControl. When the drag leaves the control, pass
+ * kDragTrackingLeaveControl.
+ *
+ * inDrag:
+ * The drag reference that is over the control.
+ *
+ * outLikesDrag:
+ * On output, this will be a boolean indicating whether the
+ * control "likes" the drag. A control "likes" the drag if the
+ * data in the drag ref can be accepted by the control. If the
+ * control does not like the drag, don't bother calling
+ * HandleControlDragReceive if the user drops the dragged object
+ * onto the control.
+ *
+ * Result:
+ * A result code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HandleControlDragTracking(
+ ControlRef inControl,
+ DragTrackingMessage inMessage,
+ DragReference inDrag,
+ Boolean * outLikesDrag);
+
+
+
+/*
+ * HandleControlDragReceive()
+ *
+ * Summary:
+ * Tells a control to accept the data in drag reference.
+ *
+ * Discussion:
+ * Call HandleControlDragReceive when the user dropped a drag on a
+ * control in your window. This gives the control the opportunity to
+ * pull any interesting data out of the drag and insert the data
+ * into itself. Note that in order for a control to have any chance
+ * of responding to this API, you must enable the control's drag and
+ * drop support with SetControlDragTrackingEnabled.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * The control who should accept the data. Most controls won't
+ * accept drags unless you enable drag tracking on it with
+ * SetControlDragTrackingEnabled.
+ *
+ * inDrag:
+ * The drag reference that was dropped on the control.
+ *
+ * Result:
+ * A result code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HandleControlDragReceive(
+ ControlRef inControl,
+ DragReference inDrag);
+
+
+
+/*
+ * SetControlDragTrackingEnabled()
+ *
+ * Summary:
+ * Tells a control that it should track and receive drags.
+ *
+ * Discussion:
+ * Call SetControlDragTrackingEnabled to turn enable a control's
+ * support for drag and drop. Controls won't track drags unless you
+ * first turn on drag and drop support with this API. Some controls
+ * don't support drag and drop at all; these controls won't track or
+ * receive drags even if you call this API with true.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * The control whose drag tracking enabled state you'd like to set.
+ *
+ * inTracks:
+ * A Boolean indicating whether you want this control to track and
+ * receive drags.
+ *
+ * Result:
+ * A result code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetControlDragTrackingEnabled(
+ ControlRef inControl,
+ Boolean inTracks);
+
+
+
+/*
+ * IsControlDragTrackingEnabled()
+ *
+ * Summary:
+ * Tells you whether a control's drag track and receive support is
+ * enabled.
+ *
+ * Discussion:
+ * Call IsControlDragTrackingEnabled to query a whether a control's
+ * drag and drop support is enabled. Some controls don't support
+ * drag and drop at all; these controls won't track or receive drags
+ * even if you call this API and see a true output value.
+ *
+ * Parameters:
+ *
+ * inControl:
+ * The control whose drag tracking enabled state you'd like to
+ * query.
+ *
+ * outTracks:
+ * On output, this will contain a Boolean value whether the
+ * control's drag and drop support is enabled.
+ *
+ * Result:
+ * A result code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+IsControlDragTrackingEnabled(
+ ControlRef inControl,
+ Boolean * outTracks);
+
+
+
+/*
+ * SetAutomaticControlDragTrackingEnabledForWindow()
+ *
+ * Summary:
+ * Enables or disables the Control Manager's automatic drag tracking
+ * for a given window.
+ *
+ * Discussion:
+ * Call SetAutomaticControlDragTrackingEnabledForWindow to turn on
+ * or off the Control Manager's automatic drag tracking support for
+ * a given window. By default, your application code is responsible
+ * for installing drag tracking and receive handlers on a given
+ * window. The Control Manager, however, has support for
+ * automatically tracking and receiving drags over controls. The
+ * Control Manager will detect the control the drag is over and call
+ * HandleControlDragTracking and HandleControlDragReceive
+ * appropriately. By default, this automatic support is turned off.
+ * You can turn on this support by calling
+ * SetAutomaticControlDragTrackingEnabledForWindow with true. Note
+ * that earlier versions of system software incorrectly enable this
+ * support by default; do not rely on this buggy behavior. As of Mac
+ * OS 10.1.3, Mac OS 9.2, and CarbonLib 1.4, the buggy behavior is
+ * fixed, and you must call this routine with true to enable
+ * automatic drag tracking.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window for which you'd like to enable or disable the
+ * Control Manager's automatic drag tracking support.
+ *
+ * inTracks:
+ * A Boolean value indicating whether you want to enable the
+ * Control Manager's automatic drag tracking support.
+ *
+ * Result:
+ * A result code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetAutomaticControlDragTrackingEnabledForWindow(
+ WindowRef inWindow,
+ Boolean inTracks);
+
+
+
+/*
+ * IsAutomaticControlDragTrackingEnabledForWindow()
+ *
+ * Summary:
+ * Tells you whether the Control Manager's automatic drag tracking
+ * is enabled for a given window.
+ *
+ * Discussion:
+ * Call IsAutomaticControlDragTrackingEnabledForWindow to query the
+ * enabled state of the Control Manager's automatic drag tracking
+ * support for a given window. See the information on
+ * SetAutomaticControlDragTrackingEnabledForWindow for more details.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose Control Manager automatic drag tracking enable
+ * state you'd like to query.
+ *
+ * outTracks:
+ * On output, this will contain a Boolean value whether the
+ * Control Manager's automatic drag tracking is enabled.
+ *
+ * Result:
+ * A result code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ControlsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+IsAutomaticControlDragTrackingEnabledForWindow(
+ WindowRef inWindow,
+ Boolean * outTracks);
#if !TARGET_OS_MAC
- /*--------------------------------------------------------------------------------------*/
- /* o QuickTime 3.0 Win32/unix notification mechanism */
- /*--------------------------------------------------------------------------------------*/
- /* Proc used to notify window that something happened to the control*/
- typedef CALLBACK_API_C(void , ControlNotificationProcPtr)(WindowRef theWindow, ControlRef theControl, ControlNotification notification, long param1, long param2);
- /*
- Proc used to prefilter events before handled by control. A client of a control calls
- CTRLSetPreFilterProc() to have the control call this proc before handling the event.
- If the proc returns TRUE, the control can go ahead and handle the event.
- */
- typedef CALLBACK_API_C(Boolean , PreFilterEventProc)(ControlRef theControl, EventRecord *theEvent);
+/*--------------------------------------------------------------------------------------*/
+/* o QuickTime 3.0 Win32/unix notification mechanism */
+/*--------------------------------------------------------------------------------------*/
+/* Proc used to notify window that something happened to the control*/
+typedef CALLBACK_API_C( void , ControlNotificationProcPtr )(WindowRef theWindow, ControlRef theControl, ControlNotification notification, long param1, long param2);
+/*
+ Proc used to prefilter events before handled by control. A client of a control calls
+ CTRLSetPreFilterProc() to have the control call this proc before handling the event.
+ If the proc returns TRUE, the control can go ahead and handle the event.
+*/
+typedef CALLBACK_API_C( Boolean , PreFilterEventProc )(ControlRef theControl, EventRecord *theEvent);
#if CALL_NOT_IN_CARBON
- /*
- * GetControlComponentInstance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GetControlComponentInstance(ControlRef theControl);
-
-
- /*
- * GetControlHandleFromCookie()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ControlRef)
- GetControlHandleFromCookie(long cookie);
+/*
+ * GetControlComponentInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GetControlComponentInstance(ControlRef theControl);
+
+
+/*
+ * GetControlHandleFromCookie()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ControlRef )
+GetControlHandleFromCookie(long cookie);
#define GetControlRefFromCookie GetControlHandleFromCookie
- /*
- * SetControlDefProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- SetControlDefProc(
- short resID,
- ControlDefProcPtr proc);
+/*
+ * SetControlDefProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+SetControlDefProc(
+ short resID,
+ ControlDefProcPtr proc);
#endif /* CALL_NOT_IN_CARBON */
- typedef ControlNotificationProcPtr ControlNotificationUPP;
+typedef ControlNotificationProcPtr ControlNotificationUPP;
#endif /* !TARGET_OS_MAC */
- /*--------------------------------------------------------------------------------------*/
- /* o C Glue */
- /*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o C Glue */
+/*--------------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
#if CALL_NOT_IN_CARBON
- /*
- * dragcontrol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- dragcontrol(
- ControlRef theControl,
- Point * startPt,
- const Rect * limitRect,
- const Rect * slopRect,
- short axis);
-
-
- /*
- * newcontrol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ControlRef)
- newcontrol(
- WindowRef theWindow,
- const Rect * boundsRect,
- const char * title,
- Boolean visible,
- short value,
- short min,
- short max,
- short procID,
- long refCon);
-
-
- /*
- * findcontrol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- findcontrol(
- Point * thePoint,
- WindowRef theWindow,
- ControlRef * theControl);
-
-
- /*
- * getcontroltitle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getcontroltitle(
- ControlRef theControl,
- char * title);
-
-
- /*
- * setcontroltitle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- setcontroltitle(
- ControlRef theControl,
- const char * title);
-
-
- /*
- * trackcontrol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- trackcontrol(
- ControlRef theControl,
- Point * thePoint,
- ControlActionUPP actionProc);
-
-
- /*
- * testcontrol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- testcontrol(
- ControlRef theControl,
- Point * thePt);
+/*
+ * dragcontrol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+dragcontrol(
+ ControlRef theControl,
+ Point * startPt,
+ const Rect * limitRect,
+ const Rect * slopRect,
+ short axis);
+
+
+/*
+ * newcontrol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ControlRef )
+newcontrol(
+ WindowRef theWindow,
+ const Rect * boundsRect,
+ const char * title,
+ Boolean visible,
+ short value,
+ short min,
+ short max,
+ short procID,
+ long refCon);
+
+
+/*
+ * findcontrol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+findcontrol(
+ Point * thePoint,
+ WindowRef theWindow,
+ ControlRef * theControl);
+
+
+/*
+ * getcontroltitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getcontroltitle(
+ ControlRef theControl,
+ char * title);
+
+
+/*
+ * setcontroltitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+setcontroltitle(
+ ControlRef theControl,
+ const char * title);
+
+
+/*
+ * trackcontrol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+trackcontrol(
+ ControlRef theControl,
+ Point * thePoint,
+ ControlActionUPP actionProc);
+
+
+/*
+ * testcontrol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+testcontrol(
+ ControlRef theControl,
+ Point * thePt);
#endif /* CALL_NOT_IN_CARBON */
@@ -3407,22 +3312,20 @@ extern "C" {
#endif /* CALL_NOT_IN_CARBON */
#if OLDROUTINENAMES
- /*--------------------------------------------------------------------------------------*/
- /* o OLDROUTINENAMES */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- useWFont = kControlUsesOwningWindowsFontVariant
- };
-
- enum
- {
- inThumb = kControlIndicatorPart,
- kNoHiliteControlPart = kControlNoPart,
- kInIndicatorControlPart = kControlIndicatorPart,
- kReservedControlPart = kControlDisabledPart,
- kControlInactiveControlPart = kControlInactivePart
- };
+/*--------------------------------------------------------------------------------------*/
+/* o OLDROUTINENAMES */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ useWFont = kControlUsesOwningWindowsFontVariant
+};
+
+enum {
+ inThumb = kControlIndicatorPart,
+ kNoHiliteControlPart = kControlNoPart,
+ kInIndicatorControlPart = kControlIndicatorPart,
+ kReservedControlPart = kControlDisabledPart,
+ kControlInactiveControlPart = kControlInactivePart
+};
#define SetCTitle(theControl, title) SetControlTitle(theControl, title)
@@ -3446,150 +3349,150 @@ extern "C" {
#endif /* OLDROUTINENAMES */
#if ACCESSOR_CALLS_ARE_FUNCTIONS
- /* Getters */
- /*
- * GetControlBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- GetControlBounds(
- ControlRef control,
- Rect * bounds);
-
-
- /*
- * IsControlHilited()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsControlHilited(ControlRef control);
-
-
- /*
- * GetControlHilite()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt16)
- GetControlHilite(ControlRef control);
-
-
- /*
- * GetControlOwner()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetControlOwner(ControlRef control);
-
-
- /*
- * GetControlDataHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetControlDataHandle(ControlRef control);
-
-
- /*
- * GetControlPopupMenuHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MenuRef)
- GetControlPopupMenuHandle(ControlRef control);
+/* Getters */
+/*
+ * GetControlBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+GetControlBounds(
+ ControlRef control,
+ Rect * bounds);
+
+
+/*
+ * IsControlHilited()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsControlHilited(ControlRef control);
+
+
+/*
+ * GetControlHilite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt16 )
+GetControlHilite(ControlRef control);
+
+
+/*
+ * GetControlOwner()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetControlOwner(ControlRef control);
+
+
+/*
+ * GetControlDataHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetControlDataHandle(ControlRef control);
+
+
+/*
+ * GetControlPopupMenuHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MenuRef )
+GetControlPopupMenuHandle(ControlRef control);
#define GetControlPopupMenuRef GetControlPopupMenuHandle
- /*
- * GetControlPopupMenuID()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetControlPopupMenuID(ControlRef control);
-
-
- /* Setters */
- /*
- * SetControlDataHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlDataHandle(
- ControlRef control,
- Handle dataHandle);
-
-
- /*
- * SetControlBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlBounds(
- ControlRef control,
- const Rect * bounds);
-
-
- /*
- * SetControlPopupMenuHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlPopupMenuHandle(
- ControlRef control,
- MenuRef popupMenu);
+/*
+ * GetControlPopupMenuID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetControlPopupMenuID(ControlRef control);
+
+
+/* Setters */
+/*
+ * SetControlDataHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlDataHandle(
+ ControlRef control,
+ Handle dataHandle);
+
+
+/*
+ * SetControlBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlBounds(
+ ControlRef control,
+ const Rect * bounds);
+
+
+/*
+ * SetControlPopupMenuHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlPopupMenuHandle(
+ ControlRef control,
+ MenuRef popupMenu);
#define SetControlPopupMenuRef SetControlPopupMenuHandle
- /*
- * SetControlPopupMenuID()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetControlPopupMenuID(
- ControlRef control,
- short menuID);
+/*
+ * SetControlPopupMenuID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetControlPopupMenuID(
+ ControlRef control,
+ short menuID);
#endif /* ACCESSOR_CALLS_ARE_FUNCTIONS */
@@ -3602,11 +3505,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/CoreAudioTypes.h b/include/qt/CoreAudioTypes.h
index 5c1205458..459f327ca 100644
--- a/include/qt/CoreAudioTypes.h
+++ b/include/qt/CoreAudioTypes.h
@@ -28,19 +28,19 @@
#include "TargetConditionals.h"
#if !defined(__COREAUDIO_USE_FLAT_INCLUDES__)
-#include "CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"
+ #include "CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"
#else
-#include "MacTypes.h"
+ #include "MacTypes.h"
#endif
#if defined(__cplusplus)
-#include "string.h"
+ #include "string.h"
#endif
//==================================================================================================
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint off
+ #pragma enumsalwaysint off
#endif
#if defined(__cplusplus)
@@ -50,1140 +50,1099 @@ extern "C"
//==================================================================================================
- /*!
- @struct AudioValueRange
- @abstract This structure holds a pair of numbers that represent a continuous range of
- values.
- @field mMinimum
- The minimum value.
- @field mMaximum
- The maximum value.
- */
- struct AudioValueRange
- {
- Float64 mMinimum;
- Float64 mMaximum;
- };
- typedef struct AudioValueRange AudioValueRange;
-
- /*!
- @struct AudioValueTranslation
- @abstract This stucture holds the buffers necessary for translation operations.
- @field mInputData
- The buffer containing the data to be translated.
- @field mInputDataSize
- The number of bytes in the buffer pointed at by mInputData.
- @field mOutputData
- The buffer to hold the result of the translation.
- @field mOutputDataSize
- The number of bytes in the buffer pointed at by mOutputData.
- */
- struct AudioValueTranslation
- {
- void* mInputData;
- UInt32 mInputDataSize;
- void* mOutputData;
- UInt32 mOutputDataSize;
- };
- typedef struct AudioValueTranslation AudioValueTranslation;
-
- /*!
- @struct AudioBuffer
- @abstract A structure to hold a buffer of audio data.
- @field mNumberChannels
- The number of interleaved channels in the buffer.
- @field mDataByteSize
- The number of bytes in the buffer pointed at by mData.
- @field mData
- A pointer to the buffer of audio data.
- */
- struct AudioBuffer
- {
- UInt32 mNumberChannels;
- UInt32 mDataByteSize;
- void* mData;
- };
- typedef struct AudioBuffer AudioBuffer;
-
- /*!
- @struct AudioBufferList
- @abstract A variable length array of AudioBuffer structures.
- @field mNumberBuffers
- The number of AudioBuffers in the mBuffers array.
- @field mBuffers
- A variable length array of AudioBuffers.
- */
- struct AudioBufferList
- {
- UInt32 mNumberBuffers;
- AudioBuffer mBuffers[kVariableLengthArray];
- };
- typedef struct AudioBufferList AudioBufferList;
-
- /*!
- @typedef AudioSampleType
- @abstract The canonical audio sample type used by the various CoreAudio APIs
- */
- typedef Float32 AudioSampleType;
-
- /*!
- @struct AudioStreamBasicDescription
- @abstract This structure encapsulates all the information for describing the basic
- format properties of a stream of audio data.
- @discussion This structure is sufficient to describe any constant bit rate format that has
- channels that are the same size. Extensions are required for variable bit rate
- data and for constant bit rate data where the channels have unequal sizes.
- However, where applicable, the appropriate fields will be filled out correctly
- for these kinds of formats (the extra data is provided via separate properties).
- In all fields, a value of 0 indicates that the field is either unknown, not
- applicable or otherwise is inapproprate for the format and should be ignored.
- Note that 0 is still a valid value for most formats in the mFormatFlags field.
-
- In audio data a frame is one sample across all channels. In non-interleaved
- audio, the per frame fields identify one channel. In interleaved audio, the per
- frame fields identify the set of n channels. In uncompressed audio, a Packet is
- one frame, (mFramesPerPacket == 1). In compressed audio, a Packet is an
- indivisible chunk of compressed data, for example an AAC packet will contain
- 1024 sample frames.
- @field mSampleRate
- The number of sample frames per second of the data in the stream.
- @field mFormatID
- A four char code indicating the general kind of data in the stream.
- @field mFormatFlags
- Flags specific to each format.
- @field mBytesPerPacket
- The number of bytes in a packet of data.
- @field mFramesPerPacket
- The number of sample frames in each packet of data.
- @field mBytesPerFrame
- The number of bytes in a single sample frame of data.
- @field mChannelsPerFrame
- The number of channels in each frame of data.
- @field mBitsPerChannel
- The number of bits of sample data for each channel in a frame of data.
- @field mReserved
- Pads the structure out to force an even 8 byte alignment.
- */
- struct AudioStreamBasicDescription
- {
- Float64 mSampleRate;
- UInt32 mFormatID;
- UInt32 mFormatFlags;
- UInt32 mBytesPerPacket;
- UInt32 mFramesPerPacket;
- UInt32 mBytesPerFrame;
- UInt32 mChannelsPerFrame;
- UInt32 mBitsPerChannel;
- UInt32 mReserved;
- };
- typedef struct AudioStreamBasicDescription AudioStreamBasicDescription;
-
- /*!
- @enum AudioStreamBasicDescription Constants
- @abstract Constants for use with AudioStreamBasicDescription
- @constant kAudioStreamAnyRate
- The format can use any sample rate. Note that this constant can only appear
- in listings of supported formats. It will never appear in a current format.
- */
- enum
- {
- kAudioStreamAnyRate = 0
- };
-
- /*!
- @enum Format IDs
- @abstract The four char code IDs used to identify individual formats of audio data.
- @constant kAudioFormatLinearPCM
- Linear PCM, uses the standard flags.
- @constant kAudioFormatAC3
- AC-3, has no flags.
- @constant kAudioFormat60958AC3
- AC-3 packaged for transport over an IEC 60958 compliant digital audio
- interface. Uses the standard flags.
- @constant kAudioFormatAppleIMA4
- Apples implementation of IMA 4:1 ADPCM, has no flags.
- @constant kAudioFormatMPEG4AAC
- MPEG-4 Low Complexity AAC audio object, has no flags.
- @constant kAudioFormatMPEG4CELP
- MPEG-4 CELP audio object, has no flags.
- @constant kAudioFormatMPEG4HVXC
- MPEG-4 HVXC audio object, has no flags.
- @constant kAudioFormatMPEG4TwinVQ
- MPEG-4 TwinVQ audio object type, has no flags.
- @constant kAudioFormatMACE3
- MACE 3:1, has no flags.
- @constant kAudioFormatMACE6
- MACE 6:1, has no flags.
- @constant kAudioFormatULaw
- µLaw 2:1, has no flags.
- @constant kAudioFormatALaw
- aLaw 2:1, has no flags.
- @constant kAudioFormatQDesign
- QDesign music, has no flags
- @constant kAudioFormatQDesign2
- QDesign2 music, has no flags
- @constant kAudioFormatQUALCOMM
- QUALCOMM PureVoice, has no flags
- @constant kAudioFormatMPEGLayer1
- MPEG-1/2, Layer 1 audio, has no flags
- @constant kAudioFormatMPEGLayer2
- MPEG-1/2, Layer 2 audio, has no flags
- @constant kAudioFormatMPEGLayer3
- MPEG-1/2, Layer 3 audio, has no flags
- @constant kAudioFormatTimeCode
- A stream of IOAudioTimeStamps, uses the IOAudioTimeStamp flags (see
- IOKit/audio/IOAudioTypes.h).
- @constant kAudioFormatMIDIStream
- A stream of MIDIPacketLists where the time stamps in the MIDIPacketList are
- sample offsets in the stream. The mSampleRate field is used to describe how
- time is passed in this kind of stream and an AudioUnit that receives or
- generates this stream can use this sample rate, the number of frames it is
- rendering and the sample offsets within the MIDIPacketList to define the
- time for any MIDI event within this list. It has no flags.
- @constant kAudioFormatParameterValueStream
- A "side-chain" of Float32 data that can be fed or generated by an AudioUnit
- and is used to send a high density of parameter value control information.
- An AU will typically run a ParameterValueStream at either the sample rate of
- the AudioUnit's audio data, or some integer divisor of this (say a half or a
- third of the sample rate of the audio). The Sample Rate of the ASBD
- describes this relationship. It has no flags.
- @constant kAudioFormatAppleLossless
- Apple Lossless, the flags indicate the bit depth of the source material.
- @constant kAudioFormatMPEG4AAC_HE
- MPEG-4 High Efficiency AAC audio object, has no flags.
- @constant kAudioFormatMPEG4AAC_LD
- MPEG-4 AAC Low Delay audio object, has no flags.
- @constant kAudioFormatMPEG4AAC_HE_V2
- MPEG-4 High Efficiency AAC Version 2 audio object, has no flags.
- @constant kAudioFormatMPEG4AAC_Spatial
- MPEG-4 Spatial Audio audio object, has no flags.
- @constant kAudioFormatAMR
- The AMR Narrow Band speech codec.
- */
- enum
- {
- kAudioFormatLinearPCM = 'lpcm',
- kAudioFormatAC3 = 'ac-3',
- kAudioFormat60958AC3 = 'cac3',
- kAudioFormatAppleIMA4 = 'ima4',
- kAudioFormatMPEG4AAC = 'aac ',
- kAudioFormatMPEG4CELP = 'celp',
- kAudioFormatMPEG4HVXC = 'hvxc',
- kAudioFormatMPEG4TwinVQ = 'twvq',
- kAudioFormatMACE3 = 'MAC3',
- kAudioFormatMACE6 = 'MAC6',
- kAudioFormatULaw = 'ulaw',
- kAudioFormatALaw = 'alaw',
- kAudioFormatQDesign = 'QDMC',
- kAudioFormatQDesign2 = 'QDM2',
- kAudioFormatQUALCOMM = 'Qclp',
- kAudioFormatMPEGLayer1 = '.mp1',
- kAudioFormatMPEGLayer2 = '.mp2',
- kAudioFormatMPEGLayer3 = '.mp3',
- kAudioFormatTimeCode = 'time',
- kAudioFormatMIDIStream = 'midi',
- kAudioFormatParameterValueStream = 'apvs',
- kAudioFormatAppleLossless = 'alac',
- kAudioFormatMPEG4AAC_HE = 'aach',
- kAudioFormatMPEG4AAC_LD = 'aacl',
- kAudioFormatMPEG4AAC_HE_V2 = 'aacp',
- kAudioFormatMPEG4AAC_Spatial = 'aacs',
- kAudioFormatAMR = 'samr'
- };
-
- /*!
- @enum Standard Flag Values for AudioStreamBasicDescription
- @abstract These are the standard flags for use in the mFormatFlags field of the
- AudioStreamBasicDescription structure.
- @discussion Typically, when an ASBD is being used, the fields describe the complete layout
- of the sample data in the buffers that are represented by this description -
- where typically those buffers are represented by an AudioBuffer that is
- contained in an AudioBufferList.
-
- However, when an ASBD has the kAudioFormatFlagIsNonInterleaved flag, the
- AudioBufferList has a different structure and semantic. In this case, the ASBD
- fields will describe the format of ONE of the AudioBuffers that are contained in
- the list, AND each AudioBuffer in the list is determined to have a single (mono)
- channel of audio data. Then, the ASBD's mChannelsPerFrame will indicate the
- total number of AudioBuffers that are contained within the AudioBufferList -
- where each buffer contains one channel. This is used primarily with the
- AudioUnit (and AudioConverter) representation of this list - and won't be found
- in the AudioHardware usage of this structure.
- @constant kAudioFormatFlagIsFloat
- Set for floating point, clear for integer.
- @constant kAudioFormatFlagIsBigEndian
- Set for big endian, clear for little endian.
- @constant kAudioFormatFlagIsSignedInteger
- Set for signed integer, clear for unsigned integer. This is only valid if
- kAudioFormatFlagIsFloat is clear.
- @constant kAudioFormatFlagIsPacked
- Set if the sample bits occupy the entire available bits for the channel,
- clear if they are high or low aligned within the channel.
- @constant kAudioFormatFlagIsAlignedHigh
- Set if the sample bits are placed into the high bits of the channel, clear
- for low bit placement. This is only valid if kAudioFormatFlagIsPacked is
- clear.
- @constant kAudioFormatFlagIsNonInterleaved
- Set if the samples for each channel are located contiguously and the
- channels are layed out end to end, clear if the samples for each frame are
- layed out contiguously and the frames layed out end to end.
- @constant kAudioFormatFlagIsNonMixable
- Set to indicate when a format is non-mixable. Note that this flag is only
- used when interacting with the HAL's stream format information. It is not a
- valid flag for any other uses.
- @constant kAudioFormatFlagsAreAllClear
- Set if all the flags would be clear in order to preserve 0 as the wild card
- value.
- @constant kLinearPCMFormatFlagIsFloat
- Synonym for kAudioFormatFlagIsFloat.
- @constant kLinearPCMFormatFlagIsBigEndian
- Synonym for kAudioFormatFlagIsBigEndian.
- @constant kLinearPCMFormatFlagIsSignedInteger
- Synonym for kAudioFormatFlagIsSignedInteger.
- @constant kLinearPCMFormatFlagIsPacked
- Synonym for kAudioFormatFlagIsPacked.
- @constant kLinearPCMFormatFlagIsAlignedHigh
- Synonym for kAudioFormatFlagIsAlignedHigh.
- @constant kLinearPCMFormatFlagIsNonInterleaved
- Synonym for kAudioFormatFlagIsNonInterleaved.
- @constant kLinearPCMFormatFlagIsNonMixable
- Synonym for kAudioFormatFlagIsNonMixable.
- @constant kLinearPCMFormatFlagsAreAllClear
- Synonym for kAudioFormatFlagsAreAllClear.
- @constant kAppleLosslessFormatFlag_16BitSourceData
- This flag is set for Apple Lossless data that was sourced from 16 bit native
- endian signed integer data.
- @constant kAppleLosslessFormatFlag_20BitSourceData
- This flag is set for Apple Lossless data that was sourced from 20 bit native
- endian signed integer data aligned high in 24 bits.
- @constant kAppleLosslessFormatFlag_24BitSourceData
- This flag is set for Apple Lossless data that was sourced from 24 bit native
- endian signed integer data.
- @constant kAppleLosslessFormatFlag_32BitSourceData
- This flag is set for Apple Lossless data that was sourced from 32 bit native
- endian signed integer data.
- */
- enum
- {
- kAudioFormatFlagIsFloat = (1L << 0),
- kAudioFormatFlagIsBigEndian = (1L << 1),
- kAudioFormatFlagIsSignedInteger = (1L << 2),
- kAudioFormatFlagIsPacked = (1L << 3),
- kAudioFormatFlagIsAlignedHigh = (1L << 4),
- kAudioFormatFlagIsNonInterleaved = (1L << 5),
- kAudioFormatFlagIsNonMixable = (1L << 6),
- kAudioFormatFlagsAreAllClear = (1L << 31),
-
- kLinearPCMFormatFlagIsFloat = kAudioFormatFlagIsFloat,
- kLinearPCMFormatFlagIsBigEndian = kAudioFormatFlagIsBigEndian,
- kLinearPCMFormatFlagIsSignedInteger = kAudioFormatFlagIsSignedInteger,
- kLinearPCMFormatFlagIsPacked = kAudioFormatFlagIsPacked,
- kLinearPCMFormatFlagIsAlignedHigh = kAudioFormatFlagIsAlignedHigh,
- kLinearPCMFormatFlagIsNonInterleaved = kAudioFormatFlagIsNonInterleaved,
- kLinearPCMFormatFlagIsNonMixable = kAudioFormatFlagIsNonMixable,
- kLinearPCMFormatFlagsAreAllClear = kAudioFormatFlagsAreAllClear,
-
- kAppleLosslessFormatFlag_16BitSourceData = 1,
- kAppleLosslessFormatFlag_20BitSourceData = 2,
- kAppleLosslessFormatFlag_24BitSourceData = 3,
- kAppleLosslessFormatFlag_32BitSourceData = 4
- };
-
- /*!
- @enum Commonly Used Combinations of ASBD Flags
- @abstract Some commonly used combinations of flags for AudioStreamBasicDescriptions.
- @constant kAudioFormatFlagsNativeEndian
- Defined to set or clear kAudioFormatFlagIsBigEndian depending on the
- endianness of the processor at build time.
- @constant kAudioFormatFlagsCanonical
- The flags for the canonical audio sample type
- @constant kAudioFormatFlagsNativeFloatPacked
- The flags for fully packed, native endian floating point data.
- */
- enum
- {
+/*!
+ @struct AudioValueRange
+ @abstract This structure holds a pair of numbers that represent a continuous range of
+ values.
+ @field mMinimum
+ The minimum value.
+ @field mMaximum
+ The maximum value.
+*/
+struct AudioValueRange
+{
+ Float64 mMinimum;
+ Float64 mMaximum;
+};
+typedef struct AudioValueRange AudioValueRange;
+
+/*!
+ @struct AudioValueTranslation
+ @abstract This stucture holds the buffers necessary for translation operations.
+ @field mInputData
+ The buffer containing the data to be translated.
+ @field mInputDataSize
+ The number of bytes in the buffer pointed at by mInputData.
+ @field mOutputData
+ The buffer to hold the result of the translation.
+ @field mOutputDataSize
+ The number of bytes in the buffer pointed at by mOutputData.
+*/
+struct AudioValueTranslation
+{
+ void* mInputData;
+ UInt32 mInputDataSize;
+ void* mOutputData;
+ UInt32 mOutputDataSize;
+};
+typedef struct AudioValueTranslation AudioValueTranslation;
+
+/*!
+ @struct AudioBuffer
+ @abstract A structure to hold a buffer of audio data.
+ @field mNumberChannels
+ The number of interleaved channels in the buffer.
+ @field mDataByteSize
+ The number of bytes in the buffer pointed at by mData.
+ @field mData
+ A pointer to the buffer of audio data.
+*/
+struct AudioBuffer
+{
+ UInt32 mNumberChannels;
+ UInt32 mDataByteSize;
+ void* mData;
+};
+typedef struct AudioBuffer AudioBuffer;
+
+/*!
+ @struct AudioBufferList
+ @abstract A variable length array of AudioBuffer structures.
+ @field mNumberBuffers
+ The number of AudioBuffers in the mBuffers array.
+ @field mBuffers
+ A variable length array of AudioBuffers.
+*/
+struct AudioBufferList
+{
+ UInt32 mNumberBuffers;
+ AudioBuffer mBuffers[kVariableLengthArray];
+};
+typedef struct AudioBufferList AudioBufferList;
+
+/*!
+ @typedef AudioSampleType
+ @abstract The canonical audio sample type used by the various CoreAudio APIs
+*/
+typedef Float32 AudioSampleType;
+
+/*!
+ @struct AudioStreamBasicDescription
+ @abstract This structure encapsulates all the information for describing the basic
+ format properties of a stream of audio data.
+ @discussion This structure is sufficient to describe any constant bit rate format that has
+ channels that are the same size. Extensions are required for variable bit rate
+ data and for constant bit rate data where the channels have unequal sizes.
+ However, where applicable, the appropriate fields will be filled out correctly
+ for these kinds of formats (the extra data is provided via separate properties).
+ In all fields, a value of 0 indicates that the field is either unknown, not
+ applicable or otherwise is inapproprate for the format and should be ignored.
+ Note that 0 is still a valid value for most formats in the mFormatFlags field.
+
+ In audio data a frame is one sample across all channels. In non-interleaved
+ audio, the per frame fields identify one channel. In interleaved audio, the per
+ frame fields identify the set of n channels. In uncompressed audio, a Packet is
+ one frame, (mFramesPerPacket == 1). In compressed audio, a Packet is an
+ indivisible chunk of compressed data, for example an AAC packet will contain
+ 1024 sample frames.
+ @field mSampleRate
+ The number of sample frames per second of the data in the stream.
+ @field mFormatID
+ A four char code indicating the general kind of data in the stream.
+ @field mFormatFlags
+ Flags specific to each format.
+ @field mBytesPerPacket
+ The number of bytes in a packet of data.
+ @field mFramesPerPacket
+ The number of sample frames in each packet of data.
+ @field mBytesPerFrame
+ The number of bytes in a single sample frame of data.
+ @field mChannelsPerFrame
+ The number of channels in each frame of data.
+ @field mBitsPerChannel
+ The number of bits of sample data for each channel in a frame of data.
+ @field mReserved
+ Pads the structure out to force an even 8 byte alignment.
+*/
+struct AudioStreamBasicDescription
+{
+ Float64 mSampleRate;
+ UInt32 mFormatID;
+ UInt32 mFormatFlags;
+ UInt32 mBytesPerPacket;
+ UInt32 mFramesPerPacket;
+ UInt32 mBytesPerFrame;
+ UInt32 mChannelsPerFrame;
+ UInt32 mBitsPerChannel;
+ UInt32 mReserved;
+};
+typedef struct AudioStreamBasicDescription AudioStreamBasicDescription;
+
+/*!
+ @enum AudioStreamBasicDescription Constants
+ @abstract Constants for use with AudioStreamBasicDescription
+ @constant kAudioStreamAnyRate
+ The format can use any sample rate. Note that this constant can only appear
+ in listings of supported formats. It will never appear in a current format.
+*/
+enum
+{
+ kAudioStreamAnyRate = 0
+};
+
+/*!
+ @enum Format IDs
+ @abstract The four char code IDs used to identify individual formats of audio data.
+ @constant kAudioFormatLinearPCM
+ Linear PCM, uses the standard flags.
+ @constant kAudioFormatAC3
+ AC-3, has no flags.
+ @constant kAudioFormat60958AC3
+ AC-3 packaged for transport over an IEC 60958 compliant digital audio
+ interface. Uses the standard flags.
+ @constant kAudioFormatAppleIMA4
+ Apples implementation of IMA 4:1 ADPCM, has no flags.
+ @constant kAudioFormatMPEG4AAC
+ MPEG-4 Low Complexity AAC audio object, has no flags.
+ @constant kAudioFormatMPEG4CELP
+ MPEG-4 CELP audio object, has no flags.
+ @constant kAudioFormatMPEG4HVXC
+ MPEG-4 HVXC audio object, has no flags.
+ @constant kAudioFormatMPEG4TwinVQ
+ MPEG-4 TwinVQ audio object type, has no flags.
+ @constant kAudioFormatMACE3
+ MACE 3:1, has no flags.
+ @constant kAudioFormatMACE6
+ MACE 6:1, has no flags.
+ @constant kAudioFormatULaw
+ µLaw 2:1, has no flags.
+ @constant kAudioFormatALaw
+ aLaw 2:1, has no flags.
+ @constant kAudioFormatQDesign
+ QDesign music, has no flags
+ @constant kAudioFormatQDesign2
+ QDesign2 music, has no flags
+ @constant kAudioFormatQUALCOMM
+ QUALCOMM PureVoice, has no flags
+ @constant kAudioFormatMPEGLayer1
+ MPEG-1/2, Layer 1 audio, has no flags
+ @constant kAudioFormatMPEGLayer2
+ MPEG-1/2, Layer 2 audio, has no flags
+ @constant kAudioFormatMPEGLayer3
+ MPEG-1/2, Layer 3 audio, has no flags
+ @constant kAudioFormatTimeCode
+ A stream of IOAudioTimeStamps, uses the IOAudioTimeStamp flags (see
+ IOKit/audio/IOAudioTypes.h).
+ @constant kAudioFormatMIDIStream
+ A stream of MIDIPacketLists where the time stamps in the MIDIPacketList are
+ sample offsets in the stream. The mSampleRate field is used to describe how
+ time is passed in this kind of stream and an AudioUnit that receives or
+ generates this stream can use this sample rate, the number of frames it is
+ rendering and the sample offsets within the MIDIPacketList to define the
+ time for any MIDI event within this list. It has no flags.
+ @constant kAudioFormatParameterValueStream
+ A "side-chain" of Float32 data that can be fed or generated by an AudioUnit
+ and is used to send a high density of parameter value control information.
+ An AU will typically run a ParameterValueStream at either the sample rate of
+ the AudioUnit's audio data, or some integer divisor of this (say a half or a
+ third of the sample rate of the audio). The Sample Rate of the ASBD
+ describes this relationship. It has no flags.
+ @constant kAudioFormatAppleLossless
+ Apple Lossless, the flags indicate the bit depth of the source material.
+ @constant kAudioFormatMPEG4AAC_HE
+ MPEG-4 High Efficiency AAC audio object, has no flags.
+ @constant kAudioFormatMPEG4AAC_LD
+ MPEG-4 AAC Low Delay audio object, has no flags.
+ @constant kAudioFormatMPEG4AAC_HE_V2
+ MPEG-4 High Efficiency AAC Version 2 audio object, has no flags.
+ @constant kAudioFormatMPEG4AAC_Spatial
+ MPEG-4 Spatial Audio audio object, has no flags.
+ @constant kAudioFormatAMR
+ The AMR Narrow Band speech codec.
+*/
+enum
+{
+ kAudioFormatLinearPCM = 'lpcm',
+ kAudioFormatAC3 = 'ac-3',
+ kAudioFormat60958AC3 = 'cac3',
+ kAudioFormatAppleIMA4 = 'ima4',
+ kAudioFormatMPEG4AAC = 'aac ',
+ kAudioFormatMPEG4CELP = 'celp',
+ kAudioFormatMPEG4HVXC = 'hvxc',
+ kAudioFormatMPEG4TwinVQ = 'twvq',
+ kAudioFormatMACE3 = 'MAC3',
+ kAudioFormatMACE6 = 'MAC6',
+ kAudioFormatULaw = 'ulaw',
+ kAudioFormatALaw = 'alaw',
+ kAudioFormatQDesign = 'QDMC',
+ kAudioFormatQDesign2 = 'QDM2',
+ kAudioFormatQUALCOMM = 'Qclp',
+ kAudioFormatMPEGLayer1 = '.mp1',
+ kAudioFormatMPEGLayer2 = '.mp2',
+ kAudioFormatMPEGLayer3 = '.mp3',
+ kAudioFormatTimeCode = 'time',
+ kAudioFormatMIDIStream = 'midi',
+ kAudioFormatParameterValueStream = 'apvs',
+ kAudioFormatAppleLossless = 'alac',
+ kAudioFormatMPEG4AAC_HE = 'aach',
+ kAudioFormatMPEG4AAC_LD = 'aacl',
+ kAudioFormatMPEG4AAC_HE_V2 = 'aacp',
+ kAudioFormatMPEG4AAC_Spatial = 'aacs',
+ kAudioFormatAMR = 'samr'
+};
+
+/*!
+ @enum Standard Flag Values for AudioStreamBasicDescription
+ @abstract These are the standard flags for use in the mFormatFlags field of the
+ AudioStreamBasicDescription structure.
+ @discussion Typically, when an ASBD is being used, the fields describe the complete layout
+ of the sample data in the buffers that are represented by this description -
+ where typically those buffers are represented by an AudioBuffer that is
+ contained in an AudioBufferList.
+
+ However, when an ASBD has the kAudioFormatFlagIsNonInterleaved flag, the
+ AudioBufferList has a different structure and semantic. In this case, the ASBD
+ fields will describe the format of ONE of the AudioBuffers that are contained in
+ the list, AND each AudioBuffer in the list is determined to have a single (mono)
+ channel of audio data. Then, the ASBD's mChannelsPerFrame will indicate the
+ total number of AudioBuffers that are contained within the AudioBufferList -
+ where each buffer contains one channel. This is used primarily with the
+ AudioUnit (and AudioConverter) representation of this list - and won't be found
+ in the AudioHardware usage of this structure.
+ @constant kAudioFormatFlagIsFloat
+ Set for floating point, clear for integer.
+ @constant kAudioFormatFlagIsBigEndian
+ Set for big endian, clear for little endian.
+ @constant kAudioFormatFlagIsSignedInteger
+ Set for signed integer, clear for unsigned integer. This is only valid if
+ kAudioFormatFlagIsFloat is clear.
+ @constant kAudioFormatFlagIsPacked
+ Set if the sample bits occupy the entire available bits for the channel,
+ clear if they are high or low aligned within the channel.
+ @constant kAudioFormatFlagIsAlignedHigh
+ Set if the sample bits are placed into the high bits of the channel, clear
+ for low bit placement. This is only valid if kAudioFormatFlagIsPacked is
+ clear.
+ @constant kAudioFormatFlagIsNonInterleaved
+ Set if the samples for each channel are located contiguously and the
+ channels are layed out end to end, clear if the samples for each frame are
+ layed out contiguously and the frames layed out end to end.
+ @constant kAudioFormatFlagIsNonMixable
+ Set to indicate when a format is non-mixable. Note that this flag is only
+ used when interacting with the HAL's stream format information. It is not a
+ valid flag for any other uses.
+ @constant kAudioFormatFlagsAreAllClear
+ Set if all the flags would be clear in order to preserve 0 as the wild card
+ value.
+ @constant kLinearPCMFormatFlagIsFloat
+ Synonym for kAudioFormatFlagIsFloat.
+ @constant kLinearPCMFormatFlagIsBigEndian
+ Synonym for kAudioFormatFlagIsBigEndian.
+ @constant kLinearPCMFormatFlagIsSignedInteger
+ Synonym for kAudioFormatFlagIsSignedInteger.
+ @constant kLinearPCMFormatFlagIsPacked
+ Synonym for kAudioFormatFlagIsPacked.
+ @constant kLinearPCMFormatFlagIsAlignedHigh
+ Synonym for kAudioFormatFlagIsAlignedHigh.
+ @constant kLinearPCMFormatFlagIsNonInterleaved
+ Synonym for kAudioFormatFlagIsNonInterleaved.
+ @constant kLinearPCMFormatFlagIsNonMixable
+ Synonym for kAudioFormatFlagIsNonMixable.
+ @constant kLinearPCMFormatFlagsAreAllClear
+ Synonym for kAudioFormatFlagsAreAllClear.
+ @constant kAppleLosslessFormatFlag_16BitSourceData
+ This flag is set for Apple Lossless data that was sourced from 16 bit native
+ endian signed integer data.
+ @constant kAppleLosslessFormatFlag_20BitSourceData
+ This flag is set for Apple Lossless data that was sourced from 20 bit native
+ endian signed integer data aligned high in 24 bits.
+ @constant kAppleLosslessFormatFlag_24BitSourceData
+ This flag is set for Apple Lossless data that was sourced from 24 bit native
+ endian signed integer data.
+ @constant kAppleLosslessFormatFlag_32BitSourceData
+ This flag is set for Apple Lossless data that was sourced from 32 bit native
+ endian signed integer data.
+*/
+enum
+{
+ kAudioFormatFlagIsFloat = (1L << 0),
+ kAudioFormatFlagIsBigEndian = (1L << 1),
+ kAudioFormatFlagIsSignedInteger = (1L << 2),
+ kAudioFormatFlagIsPacked = (1L << 3),
+ kAudioFormatFlagIsAlignedHigh = (1L << 4),
+ kAudioFormatFlagIsNonInterleaved = (1L << 5),
+ kAudioFormatFlagIsNonMixable = (1L << 6),
+ kAudioFormatFlagsAreAllClear = (1L << 31),
+
+ kLinearPCMFormatFlagIsFloat = kAudioFormatFlagIsFloat,
+ kLinearPCMFormatFlagIsBigEndian = kAudioFormatFlagIsBigEndian,
+ kLinearPCMFormatFlagIsSignedInteger = kAudioFormatFlagIsSignedInteger,
+ kLinearPCMFormatFlagIsPacked = kAudioFormatFlagIsPacked,
+ kLinearPCMFormatFlagIsAlignedHigh = kAudioFormatFlagIsAlignedHigh,
+ kLinearPCMFormatFlagIsNonInterleaved = kAudioFormatFlagIsNonInterleaved,
+ kLinearPCMFormatFlagIsNonMixable = kAudioFormatFlagIsNonMixable,
+ kLinearPCMFormatFlagsAreAllClear = kAudioFormatFlagsAreAllClear,
+
+ kAppleLosslessFormatFlag_16BitSourceData = 1,
+ kAppleLosslessFormatFlag_20BitSourceData = 2,
+ kAppleLosslessFormatFlag_24BitSourceData = 3,
+ kAppleLosslessFormatFlag_32BitSourceData = 4
+};
+
+/*!
+ @enum Commonly Used Combinations of ASBD Flags
+ @abstract Some commonly used combinations of flags for AudioStreamBasicDescriptions.
+ @constant kAudioFormatFlagsNativeEndian
+ Defined to set or clear kAudioFormatFlagIsBigEndian depending on the
+ endianness of the processor at build time.
+ @constant kAudioFormatFlagsCanonical
+ The flags for the canonical audio sample type
+ @constant kAudioFormatFlagsNativeFloatPacked
+ The flags for fully packed, native endian floating point data.
+*/
+enum
+{
#if TARGET_RT_BIG_ENDIAN
- kAudioFormatFlagsNativeEndian = kAudioFormatFlagIsBigEndian,
+ kAudioFormatFlagsNativeEndian = kAudioFormatFlagIsBigEndian,
#else
- kAudioFormatFlagsNativeEndian = 0,
+ kAudioFormatFlagsNativeEndian = 0,
#endif
- kAudioFormatFlagsCanonical = kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked,
- kAudioFormatFlagsNativeFloatPacked = kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked
- };
-
- /*!
- @defined TestAudioFormatNativeEndian
- @abstract A macro for checking if an ASBD indicates native endian linear PCM data.
- */
+ kAudioFormatFlagsCanonical = kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked,
+ kAudioFormatFlagsNativeFloatPacked = kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked
+};
+
+/*!
+ @defined TestAudioFormatNativeEndian
+ @abstract A macro for checking if an ASBD indicates native endian linear PCM data.
+*/
#define TestAudioFormatNativeEndian(f) ((f.mFormatID == kAudioFormatLinearPCM) && ((f.mFormatFlags & kAudioFormatFlagIsBigEndian) == kAudioFormatFlagsNativeEndian))
- /*!
- @function IsAudioFormatNativeEndian
- @abstract A C++ inline function for checking if an ASBD indicates native endian linear PCM
- data.
- @param f
- The AudioStreamBasicDescription to examine.
- @result Whether or not the ASBD indicates native endian linear PCM data.
- */
+/*!
+ @function IsAudioFormatNativeEndian
+ @abstract A C++ inline function for checking if an ASBD indicates native endian linear PCM
+ data.
+ @param f
+ The AudioStreamBasicDescription to examine.
+ @result Whether or not the ASBD indicates native endian linear PCM data.
+*/
#if defined(__cplusplus)
- inline bool IsAudioFormatNativeEndian(const AudioStreamBasicDescription& f)
- {
- return (f.mFormatID == kAudioFormatLinearPCM) && ((f.mFormatFlags & kAudioFormatFlagIsBigEndian) == kAudioFormatFlagsNativeEndian);
- }
+ inline bool IsAudioFormatNativeEndian(const AudioStreamBasicDescription& f) { return (f.mFormatID == kAudioFormatLinearPCM) && ((f.mFormatFlags & kAudioFormatFlagIsBigEndian) == kAudioFormatFlagsNativeEndian); }
#endif
- /*!
- @function CalculateLPCMFlags
- @abstract A C++ inline function for calculating the mFormatFlags for linear PCM data. Note
- that this function does not support specifying sample formats that are either
- unsigned integer or low-aligned.
- @param inSampleRate
-
- @param inValidBitsPerChannel
- The number of valid bits in each sample.
- @param inTotalBitsPerChannel
- The total number of bits in each sample.
- @param inIsFloat
- Whether or not the samples are represented with floating point numbers.
- @param isIsBigEndian
- Whether the samples are big endian or little endian.
- @result A UInt32 containing the format flags.
- */
+/*!
+ @function CalculateLPCMFlags
+ @abstract A C++ inline function for calculating the mFormatFlags for linear PCM data. Note
+ that this function does not support specifying sample formats that are either
+ unsigned integer or low-aligned.
+ @param inSampleRate
+
+ @param inValidBitsPerChannel
+ The number of valid bits in each sample.
+ @param inTotalBitsPerChannel
+ The total number of bits in each sample.
+ @param inIsFloat
+ Whether or not the samples are represented with floating point numbers.
+ @param isIsBigEndian
+ Whether the samples are big endian or little endian.
+ @result A UInt32 containing the format flags.
+*/
#if defined(__cplusplus)
- inline UInt32 CalculateLPCMFlags(UInt32 inValidBitsPerChannel, UInt32 inTotalBitsPerChannel, bool inIsFloat, bool inIsBigEndian, bool inIsNonInterleaved = false)
- {
- return (inIsFloat ? kAudioFormatFlagIsFloat : kAudioFormatFlagIsSignedInteger) | (inIsBigEndian ? ((UInt32)kAudioFormatFlagIsBigEndian) : 0) | ((!inIsFloat && (inValidBitsPerChannel == inTotalBitsPerChannel)) ? kAudioFormatFlagIsPacked : kAudioFormatFlagIsAlignedHigh) | (inIsNonInterleaved ? ((UInt32)kAudioFormatFlagIsNonInterleaved) : 0);
- }
+inline UInt32 CalculateLPCMFlags(UInt32 inValidBitsPerChannel, UInt32 inTotalBitsPerChannel, bool inIsFloat, bool inIsBigEndian, bool inIsNonInterleaved = false) { return (inIsFloat ? kAudioFormatFlagIsFloat : kAudioFormatFlagIsSignedInteger) | (inIsBigEndian ? ((UInt32)kAudioFormatFlagIsBigEndian) : 0) | ((!inIsFloat && (inValidBitsPerChannel == inTotalBitsPerChannel)) ? kAudioFormatFlagIsPacked : kAudioFormatFlagIsAlignedHigh) | (inIsNonInterleaved ? ((UInt32)kAudioFormatFlagIsNonInterleaved) : 0); }
#endif
- /*!
- @function FillOutASBDForLPCM
- @abstract A C++ inline function for filling out an AudioStreamBasicDescription to describe
- linear PCM data. Note that this function does not support specifying sample formats
- that are either unsigned integer or low-aligned.
- @param outASBD
- The AudioStreamBasicDescription to fill out.
- @param inSampleRate
- The number of sample frames per second of the data in the stream.
- @param inChannelsPerFrame
- The number of channels in each frame of data.
- @param inValidBitsPerChannel
- The number of valid bits in each sample.
- @param inTotalBitsPerChannel
- The total number of bits in each sample.
- @param inIsFloat
- Whether or not the samples are represented with floating point numbers.
- @param isIsBigEndian
- Whether the samples are big endian or little endian.
- */
+/*!
+ @function FillOutASBDForLPCM
+ @abstract A C++ inline function for filling out an AudioStreamBasicDescription to describe
+ linear PCM data. Note that this function does not support specifying sample formats
+ that are either unsigned integer or low-aligned.
+ @param outASBD
+ The AudioStreamBasicDescription to fill out.
+ @param inSampleRate
+ The number of sample frames per second of the data in the stream.
+ @param inChannelsPerFrame
+ The number of channels in each frame of data.
+ @param inValidBitsPerChannel
+ The number of valid bits in each sample.
+ @param inTotalBitsPerChannel
+ The total number of bits in each sample.
+ @param inIsFloat
+ Whether or not the samples are represented with floating point numbers.
+ @param isIsBigEndian
+ Whether the samples are big endian or little endian.
+*/
#if defined(__cplusplus)
- inline void FillOutASBDForLPCM(AudioStreamBasicDescription& outASBD, Float64 inSampleRate, UInt32 inChannelsPerFrame, UInt32 inValidBitsPerChannel, UInt32 inTotalBitsPerChannel, bool inIsFloat, bool inIsBigEndian, bool inIsNonInterleaved = false)
- {
- outASBD.mSampleRate = inSampleRate;
- outASBD.mFormatID = kAudioFormatLinearPCM;
- outASBD.mFormatFlags = CalculateLPCMFlags(inValidBitsPerChannel, inTotalBitsPerChannel, inIsFloat, inIsBigEndian, inIsNonInterleaved);
- outASBD.mBytesPerPacket = inChannelsPerFrame * (inTotalBitsPerChannel / 8);
- outASBD.mFramesPerPacket = 1;
- outASBD.mBytesPerFrame = inChannelsPerFrame * (inTotalBitsPerChannel / 8);
- outASBD.mChannelsPerFrame = inChannelsPerFrame;
- outASBD.mBitsPerChannel = inValidBitsPerChannel;
- }
+inline void FillOutASBDForLPCM(AudioStreamBasicDescription& outASBD, Float64 inSampleRate, UInt32 inChannelsPerFrame, UInt32 inValidBitsPerChannel, UInt32 inTotalBitsPerChannel, bool inIsFloat, bool inIsBigEndian, bool inIsNonInterleaved = false) { outASBD.mSampleRate = inSampleRate; outASBD.mFormatID = kAudioFormatLinearPCM; outASBD.mFormatFlags = CalculateLPCMFlags(inValidBitsPerChannel, inTotalBitsPerChannel, inIsFloat, inIsBigEndian, inIsNonInterleaved); outASBD.mBytesPerPacket = inChannelsPerFrame * (inTotalBitsPerChannel / 8); outASBD.mFramesPerPacket = 1; outASBD.mBytesPerFrame = inChannelsPerFrame * (inTotalBitsPerChannel / 8); outASBD.mChannelsPerFrame = inChannelsPerFrame; outASBD.mBitsPerChannel = inValidBitsPerChannel; }
#endif
- /*!
- @struct AudioStreamPacketDescription
- @abstract This structure describes the packet layout of a buffer of data where the size of
- each packet may not be the same or where there is extraneous data between
- packets.
- @field mStartOffset
- The number of bytes from the start of the buffer to the beginning of the
- packet.
- @field mVariableFramesInPacket
- The number of sample frames of data in the packet. For formats with a
- constant number of frames per packet, this field is set to 0.
- @field mDataByteSize
- The number of bytes in the packet.
- */
- struct AudioStreamPacketDescription
- {
- SInt64 mStartOffset;
- UInt32 mVariableFramesInPacket;
- UInt32 mDataByteSize;
- };
- typedef struct AudioStreamPacketDescription AudioStreamPacketDescription;
+/*!
+ @struct AudioStreamPacketDescription
+ @abstract This structure describes the packet layout of a buffer of data where the size of
+ each packet may not be the same or where there is extraneous data between
+ packets.
+ @field mStartOffset
+ The number of bytes from the start of the buffer to the beginning of the
+ packet.
+ @field mVariableFramesInPacket
+ The number of sample frames of data in the packet. For formats with a
+ constant number of frames per packet, this field is set to 0.
+ @field mDataByteSize
+ The number of bytes in the packet.
+*/
+struct AudioStreamPacketDescription
+{
+ SInt64 mStartOffset;
+ UInt32 mVariableFramesInPacket;
+ UInt32 mDataByteSize;
+};
+typedef struct AudioStreamPacketDescription AudioStreamPacketDescription;
// SMPTETime is also defined in the CoreVideo headers.
#if !defined(__SMPTETime__)
#define __SMPTETime__
- /*!
- @struct SMPTETime
- @abstract A structure for holding a SMPTE time.
- @field mSubframes
- The number of subframes in the full message.
- @field mSubframeDivisor
- The number of subframes per frame (typically 80).
- @field mCounter
- The total number of messages received.
- @field mType
- The kind of SMPTE time using the SMPTE time type constants.
- @field mFlags
- A set of flags that indicate the SMPTE state.
- @field mHours
- The number of hourse in the full message.
- @field mMinutes
- The number of minutes in the full message.
- @field mSeconds
- The number of seconds in the full message.
- @field mFrames
- The number of frames in the full message.
- */
- struct SMPTETime
- {
- SInt16 mSubframes;
- SInt16 mSubframeDivisor;
- UInt32 mCounter;
- UInt32 mType;
- UInt32 mFlags;
- SInt16 mHours;
- SInt16 mMinutes;
- SInt16 mSeconds;
- SInt16 mFrames;
- };
- typedef struct SMPTETime SMPTETime;
-
- /*!
- @enum SMPTE Time Types
- @abstract Constants that describe the type of SMPTE time.
- @constant kSMPTETimeType24
- 24 Frame
- @constant kSMPTETimeType25
- 25 Frame
- @constant kSMPTETimeType30Drop
- 30 Drop Frame
- @constant kSMPTETimeType30
- 30 Frame
- @constant kSMPTETimeType2997
- 29.97 Frame
- @constant kSMPTETimeType2997Drop
- 29.97 Drop Frame
- @constant kSMPTETimeType60
- 60 Frame
- @constant kSMPTETimeType5994
- 59.94 Frame
- @constant kSMPTETimeType60Drop
- 60 Drop Frame
- @constant kSMPTETimeType5994Drop
- 59.94 Drop Frame
- @constant kSMPTETimeType50
- 50 Frame
- @constant kSMPTETimeType2398
- 23.98 Frame
- */
- enum
- {
- kSMPTETimeType24 = 0,
- kSMPTETimeType25 = 1,
- kSMPTETimeType30Drop = 2,
- kSMPTETimeType30 = 3,
- kSMPTETimeType2997 = 4,
- kSMPTETimeType2997Drop = 5,
- kSMPTETimeType60 = 6,
- kSMPTETimeType5994 = 7,
- kSMPTETimeType60Drop = 8,
- kSMPTETimeType5994Drop = 9,
- kSMPTETimeType50 = 10,
- kSMPTETimeType2398 = 11
- };
-
- /*!
- @enum SMPTE State Flags
- @abstract Flags that describe the SMPTE time state.
- @constant kSMPTETimeValid
- The full time is valid.
- @constant kSMPTETimeRunning
- Time is running.
- */
- enum
- {
- kSMPTETimeValid = (1L << 0),
- kSMPTETimeRunning = (1L << 1)
- };
+/*!
+ @struct SMPTETime
+ @abstract A structure for holding a SMPTE time.
+ @field mSubframes
+ The number of subframes in the full message.
+ @field mSubframeDivisor
+ The number of subframes per frame (typically 80).
+ @field mCounter
+ The total number of messages received.
+ @field mType
+ The kind of SMPTE time using the SMPTE time type constants.
+ @field mFlags
+ A set of flags that indicate the SMPTE state.
+ @field mHours
+ The number of hourse in the full message.
+ @field mMinutes
+ The number of minutes in the full message.
+ @field mSeconds
+ The number of seconds in the full message.
+ @field mFrames
+ The number of frames in the full message.
+*/
+struct SMPTETime
+{
+ SInt16 mSubframes;
+ SInt16 mSubframeDivisor;
+ UInt32 mCounter;
+ UInt32 mType;
+ UInt32 mFlags;
+ SInt16 mHours;
+ SInt16 mMinutes;
+ SInt16 mSeconds;
+ SInt16 mFrames;
+};
+typedef struct SMPTETime SMPTETime;
+
+/*!
+ @enum SMPTE Time Types
+ @abstract Constants that describe the type of SMPTE time.
+ @constant kSMPTETimeType24
+ 24 Frame
+ @constant kSMPTETimeType25
+ 25 Frame
+ @constant kSMPTETimeType30Drop
+ 30 Drop Frame
+ @constant kSMPTETimeType30
+ 30 Frame
+ @constant kSMPTETimeType2997
+ 29.97 Frame
+ @constant kSMPTETimeType2997Drop
+ 29.97 Drop Frame
+ @constant kSMPTETimeType60
+ 60 Frame
+ @constant kSMPTETimeType5994
+ 59.94 Frame
+ @constant kSMPTETimeType60Drop
+ 60 Drop Frame
+ @constant kSMPTETimeType5994Drop
+ 59.94 Drop Frame
+ @constant kSMPTETimeType50
+ 50 Frame
+ @constant kSMPTETimeType2398
+ 23.98 Frame
+*/
+enum
+{
+ kSMPTETimeType24 = 0,
+ kSMPTETimeType25 = 1,
+ kSMPTETimeType30Drop = 2,
+ kSMPTETimeType30 = 3,
+ kSMPTETimeType2997 = 4,
+ kSMPTETimeType2997Drop = 5,
+ kSMPTETimeType60 = 6,
+ kSMPTETimeType5994 = 7,
+ kSMPTETimeType60Drop = 8,
+ kSMPTETimeType5994Drop = 9,
+ kSMPTETimeType50 = 10,
+ kSMPTETimeType2398 = 11
+};
+
+/*!
+ @enum SMPTE State Flags
+ @abstract Flags that describe the SMPTE time state.
+ @constant kSMPTETimeValid
+ The full time is valid.
+ @constant kSMPTETimeRunning
+ Time is running.
+*/
+enum
+{
+ kSMPTETimeValid = (1L << 0),
+ kSMPTETimeRunning = (1L << 1)
+};
#endif
- /*!
- @struct AudioTimeStamp
- @abstract A strucutre that holds different representations of the same point in time.
- @field mSampleTime
- The absolute sample frame time.
- @field mHostTime
- The host machine's time base (see <CoreAudio/HostTime.h").
- @field mRateScalar
- The ratio of actual host ticks per sample frame to the nominal host ticks
- per sample frame.
- @field mWordClockTime
- The word clock time.
- @field mSMPTETime
- The SMPTE time.
- @field mFlags
- A set of flags indicating which representations of the time are valid.
- @field mReserved
- Pads the structure out to force an even 8 byte alignment.
- */
- struct AudioTimeStamp
- {
- Float64 mSampleTime;
- UInt64 mHostTime;
- Float64 mRateScalar;
- UInt64 mWordClockTime;
- SMPTETime mSMPTETime;
- UInt32 mFlags;
- UInt32 mReserved;
- };
- typedef struct AudioTimeStamp AudioTimeStamp;
-
- /*!
- @enum AudioTimeStamp Flags
- @abstract The flags that indicate which fields in an AudioTimeStamp structure are valid.
- @constant kAudioTimeStampSampleTimeValid
- The sample frame time is valid.
- @constant kAudioTimeStampHostTimeValid
- The host time is valid.
- @constant kAudioTimeStampRateScalarValid
- The rate scalar is valid.
- @constant kAudioTimeStampWordClockTimeValid
- The word clock time is valid.
- @constant kAudioTimeStampSMPTETimeValid
- The SMPTE time is valid.
- */
- enum
- {
- kAudioTimeStampSampleTimeValid = (1L << 0),
- kAudioTimeStampHostTimeValid = (1L << 1),
- kAudioTimeStampRateScalarValid = (1L << 2),
- kAudioTimeStampWordClockTimeValid = (1L << 3),
- kAudioTimeStampSMPTETimeValid = (1L << 4)
- };
-
- /*!
- @enum Commonly Used Combinations of AudioTimeStamp Flags
- @abstract Some commonly used combinations of AudioTimeStamp flags.
- @constant kAudioTimeStampSampleHostTimeValid
- The sample frame time and the host time are valid.
- */
- enum
- {
- kAudioTimeStampSampleHostTimeValid = (kAudioTimeStampSampleTimeValid | kAudioTimeStampHostTimeValid)
- };
-
- /*!
- @function FillOutAudioTimeStampWithSampleTime
- @abstract A C++ inline function for filling out an AudioTimeStamp with a sample time
- @param outATS
- The AudioTimeStamp to fill out.
- @param inSampleTime
- The sample time to put in the AudioTimeStamp.
- */
+/*!
+ @struct AudioTimeStamp
+ @abstract A strucutre that holds different representations of the same point in time.
+ @field mSampleTime
+ The absolute sample frame time.
+ @field mHostTime
+ The host machine's time base (see <CoreAudio/HostTime.h").
+ @field mRateScalar
+ The ratio of actual host ticks per sample frame to the nominal host ticks
+ per sample frame.
+ @field mWordClockTime
+ The word clock time.
+ @field mSMPTETime
+ The SMPTE time.
+ @field mFlags
+ A set of flags indicating which representations of the time are valid.
+ @field mReserved
+ Pads the structure out to force an even 8 byte alignment.
+*/
+struct AudioTimeStamp
+{
+ Float64 mSampleTime;
+ UInt64 mHostTime;
+ Float64 mRateScalar;
+ UInt64 mWordClockTime;
+ SMPTETime mSMPTETime;
+ UInt32 mFlags;
+ UInt32 mReserved;
+};
+typedef struct AudioTimeStamp AudioTimeStamp;
+
+/*!
+ @enum AudioTimeStamp Flags
+ @abstract The flags that indicate which fields in an AudioTimeStamp structure are valid.
+ @constant kAudioTimeStampSampleTimeValid
+ The sample frame time is valid.
+ @constant kAudioTimeStampHostTimeValid
+ The host time is valid.
+ @constant kAudioTimeStampRateScalarValid
+ The rate scalar is valid.
+ @constant kAudioTimeStampWordClockTimeValid
+ The word clock time is valid.
+ @constant kAudioTimeStampSMPTETimeValid
+ The SMPTE time is valid.
+*/
+enum
+{
+ kAudioTimeStampSampleTimeValid = (1L << 0),
+ kAudioTimeStampHostTimeValid = (1L << 1),
+ kAudioTimeStampRateScalarValid = (1L << 2),
+ kAudioTimeStampWordClockTimeValid = (1L << 3),
+ kAudioTimeStampSMPTETimeValid = (1L << 4)
+};
+
+/*!
+ @enum Commonly Used Combinations of AudioTimeStamp Flags
+ @abstract Some commonly used combinations of AudioTimeStamp flags.
+ @constant kAudioTimeStampSampleHostTimeValid
+ The sample frame time and the host time are valid.
+*/
+enum
+{
+ kAudioTimeStampSampleHostTimeValid = (kAudioTimeStampSampleTimeValid | kAudioTimeStampHostTimeValid)
+};
+
+/*!
+ @function FillOutAudioTimeStampWithSampleTime
+ @abstract A C++ inline function for filling out an AudioTimeStamp with a sample time
+ @param outATS
+ The AudioTimeStamp to fill out.
+ @param inSampleTime
+ The sample time to put in the AudioTimeStamp.
+*/
#if defined(__cplusplus)
- inline void FillOutAudioTimeStampWithSampleTime(AudioTimeStamp& outATS, Float64 inSampleTime)
- {
- outATS.mSampleTime = inSampleTime;
- outATS.mHostTime = 0;
- outATS.mRateScalar = 0;
- outATS.mWordClockTime = 0;
- memset(&outATS.mSMPTETime, 0, sizeof(SMPTETime));
- outATS.mFlags = kAudioTimeStampSampleTimeValid;
- }
+inline void FillOutAudioTimeStampWithSampleTime(AudioTimeStamp& outATS, Float64 inSampleTime) { outATS.mSampleTime = inSampleTime; outATS.mHostTime = 0; outATS.mRateScalar = 0; outATS.mWordClockTime = 0; memset(&outATS.mSMPTETime, 0, sizeof(SMPTETime)); outATS.mFlags = kAudioTimeStampSampleTimeValid; }
#endif
- /*!
- @function FillOutAudioTimeStampWithHostTime
- @abstract A C++ inline function for filling out an AudioTimeStamp with a host time
- @param outATS
- The AudioTimeStamp to fill out.
- @param inHostTime
- The host time to put in the AudioTimeStamp.
- */
+/*!
+ @function FillOutAudioTimeStampWithHostTime
+ @abstract A C++ inline function for filling out an AudioTimeStamp with a host time
+ @param outATS
+ The AudioTimeStamp to fill out.
+ @param inHostTime
+ The host time to put in the AudioTimeStamp.
+*/
#if defined(__cplusplus)
- inline void FillOutAudioTimeStampWithHostTime(AudioTimeStamp& outATS, UInt64 inHostTime)
- {
- outATS.mSampleTime = 0;
- outATS.mHostTime = inHostTime;
- outATS.mRateScalar = 0;
- outATS.mWordClockTime = 0;
- memset(&outATS.mSMPTETime, 0, sizeof(SMPTETime));
- outATS.mFlags = kAudioTimeStampHostTimeValid;
- }
+inline void FillOutAudioTimeStampWithHostTime(AudioTimeStamp& outATS, UInt64 inHostTime) { outATS.mSampleTime = 0; outATS.mHostTime = inHostTime; outATS.mRateScalar = 0; outATS.mWordClockTime = 0; memset(&outATS.mSMPTETime, 0, sizeof(SMPTETime)); outATS.mFlags = kAudioTimeStampHostTimeValid; }
#endif
- /*!
- @function FillOutAudioTimeStampWithSampleAndHostTime
- @abstract A C++ inline function for filling out an AudioTimeStamp with a sample time and a
- host time
- @param outATS
- The AudioTimeStamp to fill out.
- @param inSampleTime
- The sample time to put in the AudioTimeStamp.
- @param inHostTime
- The host time to put in the AudioTimeStamp.
- */
+/*!
+ @function FillOutAudioTimeStampWithSampleAndHostTime
+ @abstract A C++ inline function for filling out an AudioTimeStamp with a sample time and a
+ host time
+ @param outATS
+ The AudioTimeStamp to fill out.
+ @param inSampleTime
+ The sample time to put in the AudioTimeStamp.
+ @param inHostTime
+ The host time to put in the AudioTimeStamp.
+*/
#if defined(__cplusplus)
- inline void FillOutAudioTimeStampWithSampleAndHostTime(AudioTimeStamp& outATS, Float64 inSampleTime, UInt64 inHostTime)
- {
- outATS.mSampleTime = inSampleTime;
- outATS.mHostTime = inHostTime;
- outATS.mRateScalar = 0;
- outATS.mWordClockTime = 0;
- memset(&outATS.mSMPTETime, 0, sizeof(SMPTETime));
- outATS.mFlags = kAudioTimeStampSampleTimeValid | kAudioTimeStampHostTimeValid;
- }
+inline void FillOutAudioTimeStampWithSampleAndHostTime(AudioTimeStamp& outATS, Float64 inSampleTime, UInt64 inHostTime) { outATS.mSampleTime = inSampleTime; outATS.mHostTime = inHostTime; outATS.mRateScalar = 0; outATS.mWordClockTime = 0; memset(&outATS.mSMPTETime, 0, sizeof(SMPTETime)); outATS.mFlags = kAudioTimeStampSampleTimeValid | kAudioTimeStampHostTimeValid; }
#endif
- /*!
- @struct AudioClassDescription
- @abstract This structure is used to describe codecs installed on the system.
- @field mType
- The four char code codec type.
- @field mSubType
- The four char code codec subtype.
- @field mManufacturer
- The four char code codec manufacturer.
- */
- struct AudioClassDescription
- {
- OSType mType;
- OSType mSubType;
- OSType mManufacturer;
- };
- typedef struct AudioClassDescription AudioClassDescription;
-
-
- /*!
- @typedef AudioChannelLabel
- @abstract A tag idenitfying how the channel is to be used.
- */
- typedef UInt32 AudioChannelLabel;
-
- /*!
- @typedef AudioChannelLayoutTag
- @abstract A tag identifying a particular pre-defined channel layout.
- */
- typedef UInt32 AudioChannelLayoutTag;
-
- /*!
- @struct AudioChannelDescription
- @abstract This structure describes a single channel.
- @field mChannelLabel
- The AudioChannelLabel that describes the channel.
- @field mChannelFlags
- Flags that control the interpretation of mCoordinates.
- @field mCoordinates
- An ordered triple that specifies a precise speaker location.
- */
- struct AudioChannelDescription
- {
- AudioChannelLabel mChannelLabel;
- UInt32 mChannelFlags;
- Float32 mCoordinates[3];
- };
- typedef struct AudioChannelDescription AudioChannelDescription;
-
- /*!
- @struct AudioChannelLayout
- @abstract This structure is used to specify channel layouts in files and hardware.
- @field mChannelLayoutTag
- The AudioChannelLayoutTag that indicates the layout.
- @field mChannelBitmap
- If mChannelLayoutTag is set to kAudioChannelLayoutTag_UseChannelBitmap, this
- field is the channel usage bitmap.
- @field mNumberChannelDescriptions
- The number of items in the mChannelDescriptions array.
- @field mChannelDescriptions
- A variable length array of AudioChannelDescriptions that describe the
- layout.
- */
- struct AudioChannelLayout
- {
- AudioChannelLayoutTag mChannelLayoutTag;
- UInt32 mChannelBitmap;
- UInt32 mNumberChannelDescriptions;
- AudioChannelDescription mChannelDescriptions[kVariableLengthArray];
- };
- typedef struct AudioChannelLayout AudioChannelLayout;
-
- /*!
- @enum AudioChannelLabel Constants
- @abstract These constants are for use in the mChannelLabel field of an
- AudioChannelDescription structure.
- @discussion These channel labels attempt to list all labels in common use. Due to the
- ambiguities in channel labeling by various groups, there may be some overlap or
- duplication in the labels below. Use the label which most clearly describes what
- you mean.
-
- WAVE files seem to follow the USB spec for the channel flags. A channel map lets
- you put these channels in any order, however a WAVE file only supports labels
- 1-18 and if present, they must be in the order given below. The integer values
- for the labels below match the bit position of the label in the USB bitmap and
- thus also the WAVE file bitmap.
- */
- enum
- {
- kAudioChannelLabel_Unknown = 0xFFFFFFFF, // unknown or unspecified other use
- kAudioChannelLabel_Unused = 0, // channel is present, but has no intended use or destination
- kAudioChannelLabel_UseCoordinates = 100, // channel is described by the mCoordinates fields.
-
- kAudioChannelLabel_Left = 1,
- kAudioChannelLabel_Right = 2,
- kAudioChannelLabel_Center = 3,
- kAudioChannelLabel_LFEScreen = 4,
- kAudioChannelLabel_LeftSurround = 5, // WAVE: "Back Left"
- kAudioChannelLabel_RightSurround = 6, // WAVE: "Back Right"
- kAudioChannelLabel_LeftCenter = 7,
- kAudioChannelLabel_RightCenter = 8,
- kAudioChannelLabel_CenterSurround = 9, // WAVE: "Back Center" or plain "Rear Surround"
- kAudioChannelLabel_LeftSurroundDirect = 10, // WAVE: "Side Left"
- kAudioChannelLabel_RightSurroundDirect = 11, // WAVE: "Side Right"
- kAudioChannelLabel_TopCenterSurround = 12,
- kAudioChannelLabel_VerticalHeightLeft = 13, // WAVE: "Top Front Left"
- kAudioChannelLabel_VerticalHeightCenter = 14, // WAVE: "Top Front Center"
- kAudioChannelLabel_VerticalHeightRight = 15, // WAVE: "Top Front Right"
-
- kAudioChannelLabel_TopBackLeft = 16,
- kAudioChannelLabel_TopBackCenter = 17,
- kAudioChannelLabel_TopBackRight = 18,
-
- kAudioChannelLabel_RearSurroundLeft = 33,
- kAudioChannelLabel_RearSurroundRight = 34,
- kAudioChannelLabel_LeftWide = 35,
- kAudioChannelLabel_RightWide = 36,
- kAudioChannelLabel_LFE2 = 37,
- kAudioChannelLabel_LeftTotal = 38, // matrix encoded 4 channels
- kAudioChannelLabel_RightTotal = 39, // matrix encoded 4 channels
- kAudioChannelLabel_HearingImpaired = 40,
- kAudioChannelLabel_Narration = 41,
- kAudioChannelLabel_Mono = 42,
- kAudioChannelLabel_DialogCentricMix = 43,
-
- kAudioChannelLabel_CenterSurroundDirect = 44, // back center, non diffuse
-
- kAudioChannelLabel_Haptic = 45,
-
- // first order ambisonic channels
- kAudioChannelLabel_Ambisonic_W = 200,
- kAudioChannelLabel_Ambisonic_X = 201,
- kAudioChannelLabel_Ambisonic_Y = 202,
- kAudioChannelLabel_Ambisonic_Z = 203,
-
- // Mid/Side Recording
- kAudioChannelLabel_MS_Mid = 204,
- kAudioChannelLabel_MS_Side = 205,
-
- // X-Y Recording
- kAudioChannelLabel_XY_X = 206,
- kAudioChannelLabel_XY_Y = 207,
-
- // other
- kAudioChannelLabel_HeadphonesLeft = 301,
- kAudioChannelLabel_HeadphonesRight = 302,
- kAudioChannelLabel_ClickTrack = 304,
- kAudioChannelLabel_ForeignLanguage = 305,
-
- // generic discrete channel
- kAudioChannelLabel_Discrete = 400,
-
- // numbered discrete channel
- kAudioChannelLabel_Discrete_0 = (1L << 16) | 0,
- kAudioChannelLabel_Discrete_1 = (1L << 16) | 1,
- kAudioChannelLabel_Discrete_2 = (1L << 16) | 2,
- kAudioChannelLabel_Discrete_3 = (1L << 16) | 3,
- kAudioChannelLabel_Discrete_4 = (1L << 16) | 4,
- kAudioChannelLabel_Discrete_5 = (1L << 16) | 5,
- kAudioChannelLabel_Discrete_6 = (1L << 16) | 6,
- kAudioChannelLabel_Discrete_7 = (1L << 16) | 7,
- kAudioChannelLabel_Discrete_8 = (1L << 16) | 8,
- kAudioChannelLabel_Discrete_9 = (1L << 16) | 9,
- kAudioChannelLabel_Discrete_10 = (1L << 16) | 10,
- kAudioChannelLabel_Discrete_11 = (1L << 16) | 11,
- kAudioChannelLabel_Discrete_12 = (1L << 16) | 12,
- kAudioChannelLabel_Discrete_13 = (1L << 16) | 13,
- kAudioChannelLabel_Discrete_14 = (1L << 16) | 14,
- kAudioChannelLabel_Discrete_15 = (1L << 16) | 15,
- kAudioChannelLabel_Discrete_65535 = (1L << 16) | 65535
- };
-
- /*!
- @enum Channel Bitmap Constants
- @abstract These constants are for use in the mChannelBitmap field of an
- AudioChannelLayout structure.
- */
- enum
- {
- kAudioChannelBit_Left = (1L << 0),
- kAudioChannelBit_Right = (1L << 1),
- kAudioChannelBit_Center = (1L << 2),
- kAudioChannelBit_LFEScreen = (1L << 3),
- kAudioChannelBit_LeftSurround = (1L << 4), // WAVE: "Back Left"
- kAudioChannelBit_RightSurround = (1L << 5), // WAVE: "Back Right"
- kAudioChannelBit_LeftCenter = (1L << 6),
- kAudioChannelBit_RightCenter = (1L << 7),
- kAudioChannelBit_CenterSurround = (1L << 8), // WAVE: "Back Center"
- kAudioChannelBit_LeftSurroundDirect = (1L << 9), // WAVE: "Side Left"
- kAudioChannelBit_RightSurroundDirect = (1L << 10), // WAVE: "Side Right"
- kAudioChannelBit_TopCenterSurround = (1L << 11),
- kAudioChannelBit_VerticalHeightLeft = (1L << 12), // WAVE: "Top Front Left"
- kAudioChannelBit_VerticalHeightCenter = (1L << 13), // WAVE: "Top Front Center"
- kAudioChannelBit_VerticalHeightRight = (1L << 14), // WAVE: "Top Front Right"
- kAudioChannelBit_TopBackLeft = (1L << 15),
- kAudioChannelBit_TopBackCenter = (1L << 16),
- kAudioChannelBit_TopBackRight = (1L << 17)
- };
-
- /*!
- @enum Channel Coordinate Flags
- @abstract These constants are used in the mChannelFlags field of an
- AudioChannelDescription structure.
- @constant kAudioChannelFlags_RectangularCoordinates
- The channel is specified by the cartesioan coordinates of the speaker
- position. This flag is mutally exclusive with
- kAudioChannelFlags_SphericalCoordinates.
- @constant kAudioChannelFlags_SphericalCoordinates
- The channel is specified by the spherical coordinates of the speaker
- position. This flag is mutally exclusive with
- kAudioChannelFlags_RectangularCoordinates.
- @constant kAudioChannelFlags_Meters
- Set to indicate the units are in meters, clear to indicate the units are
- relative to the unit cube or unit sphere.
- */
- enum
- {
- kAudioChannelFlags_AllOff = 0,
- kAudioChannelFlags_RectangularCoordinates = (1L << 0),
- kAudioChannelFlags_SphericalCoordinates = (1L << 1),
- kAudioChannelFlags_Meters = (1L << 2)
- };
+/*!
+ @struct AudioClassDescription
+ @abstract This structure is used to describe codecs installed on the system.
+ @field mType
+ The four char code codec type.
+ @field mSubType
+ The four char code codec subtype.
+ @field mManufacturer
+ The four char code codec manufacturer.
+*/
+struct AudioClassDescription {
+ OSType mType;
+ OSType mSubType;
+ OSType mManufacturer;
+};
+typedef struct AudioClassDescription AudioClassDescription;
+
+
+/*!
+ @typedef AudioChannelLabel
+ @abstract A tag idenitfying how the channel is to be used.
+*/
+typedef UInt32 AudioChannelLabel;
+
+/*!
+ @typedef AudioChannelLayoutTag
+ @abstract A tag identifying a particular pre-defined channel layout.
+*/
+typedef UInt32 AudioChannelLayoutTag;
+
+/*!
+ @struct AudioChannelDescription
+ @abstract This structure describes a single channel.
+ @field mChannelLabel
+ The AudioChannelLabel that describes the channel.
+ @field mChannelFlags
+ Flags that control the interpretation of mCoordinates.
+ @field mCoordinates
+ An ordered triple that specifies a precise speaker location.
+*/
+struct AudioChannelDescription
+{
+ AudioChannelLabel mChannelLabel;
+ UInt32 mChannelFlags;
+ Float32 mCoordinates[3];
+};
+typedef struct AudioChannelDescription AudioChannelDescription;
+
+/*!
+ @struct AudioChannelLayout
+ @abstract This structure is used to specify channel layouts in files and hardware.
+ @field mChannelLayoutTag
+ The AudioChannelLayoutTag that indicates the layout.
+ @field mChannelBitmap
+ If mChannelLayoutTag is set to kAudioChannelLayoutTag_UseChannelBitmap, this
+ field is the channel usage bitmap.
+ @field mNumberChannelDescriptions
+ The number of items in the mChannelDescriptions array.
+ @field mChannelDescriptions
+ A variable length array of AudioChannelDescriptions that describe the
+ layout.
+*/
+struct AudioChannelLayout
+{
+ AudioChannelLayoutTag mChannelLayoutTag;
+ UInt32 mChannelBitmap;
+ UInt32 mNumberChannelDescriptions;
+ AudioChannelDescription mChannelDescriptions[kVariableLengthArray];
+};
+typedef struct AudioChannelLayout AudioChannelLayout;
+
+/*!
+ @enum AudioChannelLabel Constants
+ @abstract These constants are for use in the mChannelLabel field of an
+ AudioChannelDescription structure.
+ @discussion These channel labels attempt to list all labels in common use. Due to the
+ ambiguities in channel labeling by various groups, there may be some overlap or
+ duplication in the labels below. Use the label which most clearly describes what
+ you mean.
+
+ WAVE files seem to follow the USB spec for the channel flags. A channel map lets
+ you put these channels in any order, however a WAVE file only supports labels
+ 1-18 and if present, they must be in the order given below. The integer values
+ for the labels below match the bit position of the label in the USB bitmap and
+ thus also the WAVE file bitmap.
+*/
+enum
+{
+ kAudioChannelLabel_Unknown = 0xFFFFFFFF, // unknown or unspecified other use
+ kAudioChannelLabel_Unused = 0, // channel is present, but has no intended use or destination
+ kAudioChannelLabel_UseCoordinates = 100, // channel is described by the mCoordinates fields.
+
+ kAudioChannelLabel_Left = 1,
+ kAudioChannelLabel_Right = 2,
+ kAudioChannelLabel_Center = 3,
+ kAudioChannelLabel_LFEScreen = 4,
+ kAudioChannelLabel_LeftSurround = 5, // WAVE: "Back Left"
+ kAudioChannelLabel_RightSurround = 6, // WAVE: "Back Right"
+ kAudioChannelLabel_LeftCenter = 7,
+ kAudioChannelLabel_RightCenter = 8,
+ kAudioChannelLabel_CenterSurround = 9, // WAVE: "Back Center" or plain "Rear Surround"
+ kAudioChannelLabel_LeftSurroundDirect = 10, // WAVE: "Side Left"
+ kAudioChannelLabel_RightSurroundDirect = 11, // WAVE: "Side Right"
+ kAudioChannelLabel_TopCenterSurround = 12,
+ kAudioChannelLabel_VerticalHeightLeft = 13, // WAVE: "Top Front Left"
+ kAudioChannelLabel_VerticalHeightCenter = 14, // WAVE: "Top Front Center"
+ kAudioChannelLabel_VerticalHeightRight = 15, // WAVE: "Top Front Right"
+
+ kAudioChannelLabel_TopBackLeft = 16,
+ kAudioChannelLabel_TopBackCenter = 17,
+ kAudioChannelLabel_TopBackRight = 18,
+
+ kAudioChannelLabel_RearSurroundLeft = 33,
+ kAudioChannelLabel_RearSurroundRight = 34,
+ kAudioChannelLabel_LeftWide = 35,
+ kAudioChannelLabel_RightWide = 36,
+ kAudioChannelLabel_LFE2 = 37,
+ kAudioChannelLabel_LeftTotal = 38, // matrix encoded 4 channels
+ kAudioChannelLabel_RightTotal = 39, // matrix encoded 4 channels
+ kAudioChannelLabel_HearingImpaired = 40,
+ kAudioChannelLabel_Narration = 41,
+ kAudioChannelLabel_Mono = 42,
+ kAudioChannelLabel_DialogCentricMix = 43,
+
+ kAudioChannelLabel_CenterSurroundDirect = 44, // back center, non diffuse
+
+ kAudioChannelLabel_Haptic = 45,
+
+ // first order ambisonic channels
+ kAudioChannelLabel_Ambisonic_W = 200,
+ kAudioChannelLabel_Ambisonic_X = 201,
+ kAudioChannelLabel_Ambisonic_Y = 202,
+ kAudioChannelLabel_Ambisonic_Z = 203,
+
+ // Mid/Side Recording
+ kAudioChannelLabel_MS_Mid = 204,
+ kAudioChannelLabel_MS_Side = 205,
+
+ // X-Y Recording
+ kAudioChannelLabel_XY_X = 206,
+ kAudioChannelLabel_XY_Y = 207,
+
+ // other
+ kAudioChannelLabel_HeadphonesLeft = 301,
+ kAudioChannelLabel_HeadphonesRight = 302,
+ kAudioChannelLabel_ClickTrack = 304,
+ kAudioChannelLabel_ForeignLanguage = 305,
+
+ // generic discrete channel
+ kAudioChannelLabel_Discrete = 400,
+
+ // numbered discrete channel
+ kAudioChannelLabel_Discrete_0 = (1L<<16) | 0,
+ kAudioChannelLabel_Discrete_1 = (1L<<16) | 1,
+ kAudioChannelLabel_Discrete_2 = (1L<<16) | 2,
+ kAudioChannelLabel_Discrete_3 = (1L<<16) | 3,
+ kAudioChannelLabel_Discrete_4 = (1L<<16) | 4,
+ kAudioChannelLabel_Discrete_5 = (1L<<16) | 5,
+ kAudioChannelLabel_Discrete_6 = (1L<<16) | 6,
+ kAudioChannelLabel_Discrete_7 = (1L<<16) | 7,
+ kAudioChannelLabel_Discrete_8 = (1L<<16) | 8,
+ kAudioChannelLabel_Discrete_9 = (1L<<16) | 9,
+ kAudioChannelLabel_Discrete_10 = (1L<<16) | 10,
+ kAudioChannelLabel_Discrete_11 = (1L<<16) | 11,
+ kAudioChannelLabel_Discrete_12 = (1L<<16) | 12,
+ kAudioChannelLabel_Discrete_13 = (1L<<16) | 13,
+ kAudioChannelLabel_Discrete_14 = (1L<<16) | 14,
+ kAudioChannelLabel_Discrete_15 = (1L<<16) | 15,
+ kAudioChannelLabel_Discrete_65535 = (1L<<16) | 65535
+};
+
+/*!
+ @enum Channel Bitmap Constants
+ @abstract These constants are for use in the mChannelBitmap field of an
+ AudioChannelLayout structure.
+*/
+enum
+{
+ kAudioChannelBit_Left = (1L<<0),
+ kAudioChannelBit_Right = (1L<<1),
+ kAudioChannelBit_Center = (1L<<2),
+ kAudioChannelBit_LFEScreen = (1L<<3),
+ kAudioChannelBit_LeftSurround = (1L<<4), // WAVE: "Back Left"
+ kAudioChannelBit_RightSurround = (1L<<5), // WAVE: "Back Right"
+ kAudioChannelBit_LeftCenter = (1L<<6),
+ kAudioChannelBit_RightCenter = (1L<<7),
+ kAudioChannelBit_CenterSurround = (1L<<8), // WAVE: "Back Center"
+ kAudioChannelBit_LeftSurroundDirect = (1L<<9), // WAVE: "Side Left"
+ kAudioChannelBit_RightSurroundDirect = (1L<<10), // WAVE: "Side Right"
+ kAudioChannelBit_TopCenterSurround = (1L<<11),
+ kAudioChannelBit_VerticalHeightLeft = (1L<<12), // WAVE: "Top Front Left"
+ kAudioChannelBit_VerticalHeightCenter = (1L<<13), // WAVE: "Top Front Center"
+ kAudioChannelBit_VerticalHeightRight = (1L<<14), // WAVE: "Top Front Right"
+ kAudioChannelBit_TopBackLeft = (1L<<15),
+ kAudioChannelBit_TopBackCenter = (1L<<16),
+ kAudioChannelBit_TopBackRight = (1L<<17)
+};
+
+/*!
+ @enum Channel Coordinate Flags
+ @abstract These constants are used in the mChannelFlags field of an
+ AudioChannelDescription structure.
+ @constant kAudioChannelFlags_RectangularCoordinates
+ The channel is specified by the cartesioan coordinates of the speaker
+ position. This flag is mutally exclusive with
+ kAudioChannelFlags_SphericalCoordinates.
+ @constant kAudioChannelFlags_SphericalCoordinates
+ The channel is specified by the spherical coordinates of the speaker
+ position. This flag is mutally exclusive with
+ kAudioChannelFlags_RectangularCoordinates.
+ @constant kAudioChannelFlags_Meters
+ Set to indicate the units are in meters, clear to indicate the units are
+ relative to the unit cube or unit sphere.
+*/
+enum
+{
+ kAudioChannelFlags_AllOff = 0,
+ kAudioChannelFlags_RectangularCoordinates = (1L<<0),
+ kAudioChannelFlags_SphericalCoordinates = (1L<<1),
+ kAudioChannelFlags_Meters = (1L<<2)
+};
// these are indices for acessing the mCoordinates array in struct AudioChannelDescription
- /*!
- @enum Channel Coordinate Index Constants
- @abstract Constants for indexing the mCoordinates array in an AudioChannelDescription
- structure.
- @constant kAudioChannelCoordinates_LeftRight
- For rectangulare coordinates, negative is left and positive is right.
- @constant kAudioChannelCoordinates_BackFront
- For rectangulare coordinates, negative is back and positive is front.
- @constant kAudioChannelCoordinates_DownUp
- For rectangulare coordinates, negative is below ground level, 0 is ground
- level, and positive is above ground level.
- @constant kAudioChannelCoordinates_Azimuth
- For spherical coordinates, 0 is front center, positive is right, negative is
- left. This is measured in degrees.
- @constant kAudioChannelCoordinates_Elevation
- For spherical coordinates, +90 is zenith, 0 is horizontal, -90 is nadir.
- This is measured in degrees.
- @constant kAudioChannelCoordinates_Distance
- For spherical coordinates, the units are described by flags.
- */
- enum
- {
- kAudioChannelCoordinates_LeftRight = 0,
- kAudioChannelCoordinates_BackFront = 1,
- kAudioChannelCoordinates_DownUp = 2,
- kAudioChannelCoordinates_Azimuth = 0,
- kAudioChannelCoordinates_Elevation = 1,
- kAudioChannelCoordinates_Distance = 2
- };
-
- /*!
- @function AudioChannelLayoutTag_GetNumberOfChannels
- @abstract A macro to get the number of channels out of an AudioChannelLayoutTag
- @discussion The low 16 bits of an AudioChannelLayoutTag gives the number of channels except
- for kAudioChannelLayoutTag_UseChannelDescriptions and
- kAudioChannelLayoutTag_UseChannelBitmap.
- @param layoutTag
- The AudioChannelLayoutTag to examine.
- @result The number of channels the tag indicates.
- */
+/*!
+ @enum Channel Coordinate Index Constants
+ @abstract Constants for indexing the mCoordinates array in an AudioChannelDescription
+ structure.
+ @constant kAudioChannelCoordinates_LeftRight
+ For rectangulare coordinates, negative is left and positive is right.
+ @constant kAudioChannelCoordinates_BackFront
+ For rectangulare coordinates, negative is back and positive is front.
+ @constant kAudioChannelCoordinates_DownUp
+ For rectangulare coordinates, negative is below ground level, 0 is ground
+ level, and positive is above ground level.
+ @constant kAudioChannelCoordinates_Azimuth
+ For spherical coordinates, 0 is front center, positive is right, negative is
+ left. This is measured in degrees.
+ @constant kAudioChannelCoordinates_Elevation
+ For spherical coordinates, +90 is zenith, 0 is horizontal, -90 is nadir.
+ This is measured in degrees.
+ @constant kAudioChannelCoordinates_Distance
+ For spherical coordinates, the units are described by flags.
+*/
+enum
+{
+ kAudioChannelCoordinates_LeftRight = 0,
+ kAudioChannelCoordinates_BackFront = 1,
+ kAudioChannelCoordinates_DownUp = 2,
+ kAudioChannelCoordinates_Azimuth = 0,
+ kAudioChannelCoordinates_Elevation = 1,
+ kAudioChannelCoordinates_Distance = 2
+};
+
+/*!
+ @function AudioChannelLayoutTag_GetNumberOfChannels
+ @abstract A macro to get the number of channels out of an AudioChannelLayoutTag
+ @discussion The low 16 bits of an AudioChannelLayoutTag gives the number of channels except
+ for kAudioChannelLayoutTag_UseChannelDescriptions and
+ kAudioChannelLayoutTag_UseChannelBitmap.
+ @param layoutTag
+ The AudioChannelLayoutTag to examine.
+ @result The number of channels the tag indicates.
+*/
#define AudioChannelLayoutTag_GetNumberOfChannels(layoutTag) ((UInt32)((layoutTag) & 0x0000FFFF))
- /*!
- @enum AudioChannelLayoutTag Constants
- @abstract These constants are used in the mChannelLayoutTag field of an AudioChannelLayout
- structure.
- */
- enum
- {
- // Some channel abbreviations used below:
- // L - left
- // R - right
- // C - center
- // Ls - left surround
- // Rs - right surround
- // Cs - center surround
- // Rls - rear left surround
- // Rrs - rear right surround
- // Lw - left wide
- // Rw - right wide
- // Lsd - left surround direct
- // Rsd - right surround direct
- // Lc - left center
- // Rc - right center
- // Ts - top surround
- // Vhl - vertical height left
- // Vhc - vertical height center
- // Vhr - vertical height right
- // Lt - left matrix total. for matrix encoded stereo.
- // Rt - right matrix total. for matrix encoded stereo.
-
- // General layouts
- kAudioChannelLayoutTag_UseChannelDescriptions = (0L << 16) | 0, // use the array of AudioChannelDescriptions to define the mapping.
- kAudioChannelLayoutTag_UseChannelBitmap = (1L << 16) | 0, // use the bitmap to define the mapping.
-
- kAudioChannelLayoutTag_Mono = (100L << 16) | 1, // a standard mono stream
- kAudioChannelLayoutTag_Stereo = (101L << 16) | 2, // a standard stereo stream (L R) - implied playback
- kAudioChannelLayoutTag_StereoHeadphones = (102L << 16) | 2, // a standard stereo stream (L R) - implied headphone playbac
- kAudioChannelLayoutTag_MatrixStereo = (103L << 16) | 2, // a matrix encoded stereo stream (Lt, Rt)
- kAudioChannelLayoutTag_MidSide = (104L << 16) | 2, // mid/side recording
- kAudioChannelLayoutTag_XY = (105L << 16) | 2, // coincident mic pair (often 2 figure 8's)
- kAudioChannelLayoutTag_Binaural = (106L << 16) | 2, // binaural stereo (left, right)
- kAudioChannelLayoutTag_Ambisonic_B_Format = (107L << 16) | 4, // W, X, Y, Z
-
- kAudioChannelLayoutTag_Quadraphonic = (108L << 16) | 4, // front left, front right, back left, back right
-
- kAudioChannelLayoutTag_Pentagonal = (109L << 16) | 5, // left, right, rear left, rear right, center
-
- kAudioChannelLayoutTag_Hexagonal = (110L << 16) | 6, // left, right, rear left, rear right, center, rear
-
- kAudioChannelLayoutTag_Octagonal = (111L << 16) | 8, // front left, front right, rear left, rear right,
- // front center, rear center, side left, side right
-
- kAudioChannelLayoutTag_Cube = (112L << 16) | 8, // left, right, rear left, rear right
- // top left, top right, top rear left, top rear right
-
- // MPEG defined layouts
- kAudioChannelLayoutTag_MPEG_1_0 = kAudioChannelLayoutTag_Mono, // C
- kAudioChannelLayoutTag_MPEG_2_0 = kAudioChannelLayoutTag_Stereo, // L R
- kAudioChannelLayoutTag_MPEG_3_0_A = (113L << 16) | 3, // L R C
- kAudioChannelLayoutTag_MPEG_3_0_B = (114L << 16) | 3, // C L R
- kAudioChannelLayoutTag_MPEG_4_0_A = (115L << 16) | 4, // L R C Cs
- kAudioChannelLayoutTag_MPEG_4_0_B = (116L << 16) | 4, // C L R Cs
- kAudioChannelLayoutTag_MPEG_5_0_A = (117L << 16) | 5, // L R C Ls Rs
- kAudioChannelLayoutTag_MPEG_5_0_B = (118L << 16) | 5, // L R Ls Rs C
- kAudioChannelLayoutTag_MPEG_5_0_C = (119L << 16) | 5, // L C R Ls Rs
- kAudioChannelLayoutTag_MPEG_5_0_D = (120L << 16) | 5, // C L R Ls Rs
- kAudioChannelLayoutTag_MPEG_5_1_A = (121L << 16) | 6, // L R C LFE Ls Rs
- kAudioChannelLayoutTag_MPEG_5_1_B = (122L << 16) | 6, // L R Ls Rs C LFE
- kAudioChannelLayoutTag_MPEG_5_1_C = (123L << 16) | 6, // L C R Ls Rs LFE
- kAudioChannelLayoutTag_MPEG_5_1_D = (124L << 16) | 6, // C L R Ls Rs LFE
- kAudioChannelLayoutTag_MPEG_6_1_A = (125L << 16) | 7, // L R C LFE Ls Rs Cs
- kAudioChannelLayoutTag_MPEG_7_1_A = (126L << 16) | 8, // L R C LFE Ls Rs Lc Rc
- kAudioChannelLayoutTag_MPEG_7_1_B = (127L << 16) | 8, // C Lc Rc L R Ls Rs LFE (doc: IS-13818-7 MPEG2-AAC Table 3.1)
- kAudioChannelLayoutTag_MPEG_7_1_C = (128L << 16) | 8, // L R C LFE Ls Rs Rls Rrs
- kAudioChannelLayoutTag_Emagic_Default_7_1 = (129L << 16) | 8, // L R Ls Rs C LFE Lc Rc
- kAudioChannelLayoutTag_SMPTE_DTV = (130L << 16) | 8, // L R C LFE Ls Rs Lt Rt
- // (kAudioChannelLayoutTag_ITU_5_1 plus a matrix encoded stereo mix)
-
- // ITU defined layouts
- kAudioChannelLayoutTag_ITU_1_0 = kAudioChannelLayoutTag_Mono, // C
- kAudioChannelLayoutTag_ITU_2_0 = kAudioChannelLayoutTag_Stereo, // L R
-
- kAudioChannelLayoutTag_ITU_2_1 = (131L << 16) | 3, // L R Cs
- kAudioChannelLayoutTag_ITU_2_2 = (132L << 16) | 4, // L R Ls Rs
- kAudioChannelLayoutTag_ITU_3_0 = kAudioChannelLayoutTag_MPEG_3_0_A, // L R C
- kAudioChannelLayoutTag_ITU_3_1 = kAudioChannelLayoutTag_MPEG_4_0_A, // L R C Cs
-
- kAudioChannelLayoutTag_ITU_3_2 = kAudioChannelLayoutTag_MPEG_5_0_A, // L R C Ls Rs
- kAudioChannelLayoutTag_ITU_3_2_1 = kAudioChannelLayoutTag_MPEG_5_1_A, // L R C LFE Ls Rs
- kAudioChannelLayoutTag_ITU_3_4_1 = kAudioChannelLayoutTag_MPEG_7_1_C, // L R C LFE Ls Rs Rls Rrs
-
- // DVD defined layouts
- kAudioChannelLayoutTag_DVD_0 = kAudioChannelLayoutTag_Mono, // C (mono)
- kAudioChannelLayoutTag_DVD_1 = kAudioChannelLayoutTag_Stereo, // L R
- kAudioChannelLayoutTag_DVD_2 = kAudioChannelLayoutTag_ITU_2_1, // L R Cs
- kAudioChannelLayoutTag_DVD_3 = kAudioChannelLayoutTag_ITU_2_2, // L R Ls Rs
- kAudioChannelLayoutTag_DVD_4 = (133L << 16) | 3, // L R LFE
- kAudioChannelLayoutTag_DVD_5 = (134L << 16) | 4, // L R LFE Cs
- kAudioChannelLayoutTag_DVD_6 = (135L << 16) | 5, // L R LFE Ls Rs
- kAudioChannelLayoutTag_DVD_7 = kAudioChannelLayoutTag_MPEG_3_0_A, // L R C
- kAudioChannelLayoutTag_DVD_8 = kAudioChannelLayoutTag_MPEG_4_0_A, // L R C Cs
- kAudioChannelLayoutTag_DVD_9 = kAudioChannelLayoutTag_MPEG_5_0_A, // L R C Ls Rs
- kAudioChannelLayoutTag_DVD_10 = (136L << 16) | 4, // L R C LFE
- kAudioChannelLayoutTag_DVD_11 = (137L << 16) | 5, // L R C LFE Cs
- kAudioChannelLayoutTag_DVD_12 = kAudioChannelLayoutTag_MPEG_5_1_A, // L R C LFE Ls Rs
- // 13 through 17 are duplicates of 8 through 12.
- kAudioChannelLayoutTag_DVD_13 = kAudioChannelLayoutTag_DVD_8, // L R C Cs
- kAudioChannelLayoutTag_DVD_14 = kAudioChannelLayoutTag_DVD_9, // L R C Ls Rs
- kAudioChannelLayoutTag_DVD_15 = kAudioChannelLayoutTag_DVD_10, // L R C LFE
- kAudioChannelLayoutTag_DVD_16 = kAudioChannelLayoutTag_DVD_11, // L R C LFE Cs
- kAudioChannelLayoutTag_DVD_17 = kAudioChannelLayoutTag_DVD_12, // L R C LFE Ls Rs
- kAudioChannelLayoutTag_DVD_18 = (138L << 16) | 5, // L R Ls Rs LFE
- kAudioChannelLayoutTag_DVD_19 = kAudioChannelLayoutTag_MPEG_5_0_B, // L R Ls Rs C
- kAudioChannelLayoutTag_DVD_20 = kAudioChannelLayoutTag_MPEG_5_1_B, // L R Ls Rs C LFE
-
- // These layouts are recommended for AudioUnit usage
+/*!
+ @enum AudioChannelLayoutTag Constants
+ @abstract These constants are used in the mChannelLayoutTag field of an AudioChannelLayout
+ structure.
+*/
+enum
+{
+ // Some channel abbreviations used below:
+ // L - left
+ // R - right
+ // C - center
+ // Ls - left surround
+ // Rs - right surround
+ // Cs - center surround
+ // Rls - rear left surround
+ // Rrs - rear right surround
+ // Lw - left wide
+ // Rw - right wide
+ // Lsd - left surround direct
+ // Rsd - right surround direct
+ // Lc - left center
+ // Rc - right center
+ // Ts - top surround
+ // Vhl - vertical height left
+ // Vhc - vertical height center
+ // Vhr - vertical height right
+ // Lt - left matrix total. for matrix encoded stereo.
+ // Rt - right matrix total. for matrix encoded stereo.
+
+ // General layouts
+ kAudioChannelLayoutTag_UseChannelDescriptions = (0L<<16) | 0, // use the array of AudioChannelDescriptions to define the mapping.
+ kAudioChannelLayoutTag_UseChannelBitmap = (1L<<16) | 0, // use the bitmap to define the mapping.
+
+ kAudioChannelLayoutTag_Mono = (100L<<16) | 1, // a standard mono stream
+ kAudioChannelLayoutTag_Stereo = (101L<<16) | 2, // a standard stereo stream (L R) - implied playback
+ kAudioChannelLayoutTag_StereoHeadphones = (102L<<16) | 2, // a standard stereo stream (L R) - implied headphone playbac
+ kAudioChannelLayoutTag_MatrixStereo = (103L<<16) | 2, // a matrix encoded stereo stream (Lt, Rt)
+ kAudioChannelLayoutTag_MidSide = (104L<<16) | 2, // mid/side recording
+ kAudioChannelLayoutTag_XY = (105L<<16) | 2, // coincident mic pair (often 2 figure 8's)
+ kAudioChannelLayoutTag_Binaural = (106L<<16) | 2, // binaural stereo (left, right)
+ kAudioChannelLayoutTag_Ambisonic_B_Format = (107L<<16) | 4, // W, X, Y, Z
+
+ kAudioChannelLayoutTag_Quadraphonic = (108L<<16) | 4, // front left, front right, back left, back right
+
+ kAudioChannelLayoutTag_Pentagonal = (109L<<16) | 5, // left, right, rear left, rear right, center
+
+ kAudioChannelLayoutTag_Hexagonal = (110L<<16) | 6, // left, right, rear left, rear right, center, rear
+
+ kAudioChannelLayoutTag_Octagonal = (111L<<16) | 8, // front left, front right, rear left, rear right,
+ // front center, rear center, side left, side right
+
+ kAudioChannelLayoutTag_Cube = (112L<<16) | 8, // left, right, rear left, rear right
+ // top left, top right, top rear left, top rear right
+
+ // MPEG defined layouts
+ kAudioChannelLayoutTag_MPEG_1_0 = kAudioChannelLayoutTag_Mono, // C
+ kAudioChannelLayoutTag_MPEG_2_0 = kAudioChannelLayoutTag_Stereo, // L R
+ kAudioChannelLayoutTag_MPEG_3_0_A = (113L<<16) | 3, // L R C
+ kAudioChannelLayoutTag_MPEG_3_0_B = (114L<<16) | 3, // C L R
+ kAudioChannelLayoutTag_MPEG_4_0_A = (115L<<16) | 4, // L R C Cs
+ kAudioChannelLayoutTag_MPEG_4_0_B = (116L<<16) | 4, // C L R Cs
+ kAudioChannelLayoutTag_MPEG_5_0_A = (117L<<16) | 5, // L R C Ls Rs
+ kAudioChannelLayoutTag_MPEG_5_0_B = (118L<<16) | 5, // L R Ls Rs C
+ kAudioChannelLayoutTag_MPEG_5_0_C = (119L<<16) | 5, // L C R Ls Rs
+ kAudioChannelLayoutTag_MPEG_5_0_D = (120L<<16) | 5, // C L R Ls Rs
+ kAudioChannelLayoutTag_MPEG_5_1_A = (121L<<16) | 6, // L R C LFE Ls Rs
+ kAudioChannelLayoutTag_MPEG_5_1_B = (122L<<16) | 6, // L R Ls Rs C LFE
+ kAudioChannelLayoutTag_MPEG_5_1_C = (123L<<16) | 6, // L C R Ls Rs LFE
+ kAudioChannelLayoutTag_MPEG_5_1_D = (124L<<16) | 6, // C L R Ls Rs LFE
+ kAudioChannelLayoutTag_MPEG_6_1_A = (125L<<16) | 7, // L R C LFE Ls Rs Cs
+ kAudioChannelLayoutTag_MPEG_7_1_A = (126L<<16) | 8, // L R C LFE Ls Rs Lc Rc
+ kAudioChannelLayoutTag_MPEG_7_1_B = (127L<<16) | 8, // C Lc Rc L R Ls Rs LFE (doc: IS-13818-7 MPEG2-AAC Table 3.1)
+ kAudioChannelLayoutTag_MPEG_7_1_C = (128L<<16) | 8, // L R C LFE Ls Rs Rls Rrs
+ kAudioChannelLayoutTag_Emagic_Default_7_1 = (129L<<16) | 8, // L R Ls Rs C LFE Lc Rc
+ kAudioChannelLayoutTag_SMPTE_DTV = (130L<<16) | 8, // L R C LFE Ls Rs Lt Rt
+ // (kAudioChannelLayoutTag_ITU_5_1 plus a matrix encoded stereo mix)
+
+ // ITU defined layouts
+ kAudioChannelLayoutTag_ITU_1_0 = kAudioChannelLayoutTag_Mono, // C
+ kAudioChannelLayoutTag_ITU_2_0 = kAudioChannelLayoutTag_Stereo, // L R
+
+ kAudioChannelLayoutTag_ITU_2_1 = (131L<<16) | 3, // L R Cs
+ kAudioChannelLayoutTag_ITU_2_2 = (132L<<16) | 4, // L R Ls Rs
+ kAudioChannelLayoutTag_ITU_3_0 = kAudioChannelLayoutTag_MPEG_3_0_A, // L R C
+ kAudioChannelLayoutTag_ITU_3_1 = kAudioChannelLayoutTag_MPEG_4_0_A, // L R C Cs
+
+ kAudioChannelLayoutTag_ITU_3_2 = kAudioChannelLayoutTag_MPEG_5_0_A, // L R C Ls Rs
+ kAudioChannelLayoutTag_ITU_3_2_1 = kAudioChannelLayoutTag_MPEG_5_1_A, // L R C LFE Ls Rs
+ kAudioChannelLayoutTag_ITU_3_4_1 = kAudioChannelLayoutTag_MPEG_7_1_C, // L R C LFE Ls Rs Rls Rrs
+
+ // DVD defined layouts
+ kAudioChannelLayoutTag_DVD_0 = kAudioChannelLayoutTag_Mono, // C (mono)
+ kAudioChannelLayoutTag_DVD_1 = kAudioChannelLayoutTag_Stereo, // L R
+ kAudioChannelLayoutTag_DVD_2 = kAudioChannelLayoutTag_ITU_2_1, // L R Cs
+ kAudioChannelLayoutTag_DVD_3 = kAudioChannelLayoutTag_ITU_2_2, // L R Ls Rs
+ kAudioChannelLayoutTag_DVD_4 = (133L<<16) | 3, // L R LFE
+ kAudioChannelLayoutTag_DVD_5 = (134L<<16) | 4, // L R LFE Cs
+ kAudioChannelLayoutTag_DVD_6 = (135L<<16) | 5, // L R LFE Ls Rs
+ kAudioChannelLayoutTag_DVD_7 = kAudioChannelLayoutTag_MPEG_3_0_A, // L R C
+ kAudioChannelLayoutTag_DVD_8 = kAudioChannelLayoutTag_MPEG_4_0_A, // L R C Cs
+ kAudioChannelLayoutTag_DVD_9 = kAudioChannelLayoutTag_MPEG_5_0_A, // L R C Ls Rs
+ kAudioChannelLayoutTag_DVD_10 = (136L<<16) | 4, // L R C LFE
+ kAudioChannelLayoutTag_DVD_11 = (137L<<16) | 5, // L R C LFE Cs
+ kAudioChannelLayoutTag_DVD_12 = kAudioChannelLayoutTag_MPEG_5_1_A, // L R C LFE Ls Rs
+ // 13 through 17 are duplicates of 8 through 12.
+ kAudioChannelLayoutTag_DVD_13 = kAudioChannelLayoutTag_DVD_8, // L R C Cs
+ kAudioChannelLayoutTag_DVD_14 = kAudioChannelLayoutTag_DVD_9, // L R C Ls Rs
+ kAudioChannelLayoutTag_DVD_15 = kAudioChannelLayoutTag_DVD_10, // L R C LFE
+ kAudioChannelLayoutTag_DVD_16 = kAudioChannelLayoutTag_DVD_11, // L R C LFE Cs
+ kAudioChannelLayoutTag_DVD_17 = kAudioChannelLayoutTag_DVD_12, // L R C LFE Ls Rs
+ kAudioChannelLayoutTag_DVD_18 = (138L<<16) | 5, // L R Ls Rs LFE
+ kAudioChannelLayoutTag_DVD_19 = kAudioChannelLayoutTag_MPEG_5_0_B, // L R Ls Rs C
+ kAudioChannelLayoutTag_DVD_20 = kAudioChannelLayoutTag_MPEG_5_1_B, // L R Ls Rs C LFE
+
+ // These layouts are recommended for AudioUnit usage
// These are the symmetrical layouts
- kAudioChannelLayoutTag_AudioUnit_4 = kAudioChannelLayoutTag_Quadraphonic,
- kAudioChannelLayoutTag_AudioUnit_5 = kAudioChannelLayoutTag_Pentagonal,
- kAudioChannelLayoutTag_AudioUnit_6 = kAudioChannelLayoutTag_Hexagonal,
- kAudioChannelLayoutTag_AudioUnit_8 = kAudioChannelLayoutTag_Octagonal,
+ kAudioChannelLayoutTag_AudioUnit_4 = kAudioChannelLayoutTag_Quadraphonic,
+ kAudioChannelLayoutTag_AudioUnit_5 = kAudioChannelLayoutTag_Pentagonal,
+ kAudioChannelLayoutTag_AudioUnit_6 = kAudioChannelLayoutTag_Hexagonal,
+ kAudioChannelLayoutTag_AudioUnit_8 = kAudioChannelLayoutTag_Octagonal,
// These are the surround-based layouts
- kAudioChannelLayoutTag_AudioUnit_5_0 = kAudioChannelLayoutTag_MPEG_5_0_B, // L R Ls Rs C
- kAudioChannelLayoutTag_AudioUnit_6_0 = (139L << 16) | 6, // L R Ls Rs C Cs
- kAudioChannelLayoutTag_AudioUnit_7_0 = (140L << 16) | 7, // L R Ls Rs C Rls Rrs
- kAudioChannelLayoutTag_AudioUnit_7_0_Front = (148L << 16) | 7, // L R Ls Rs C Lc Rc
- kAudioChannelLayoutTag_AudioUnit_5_1 = kAudioChannelLayoutTag_MPEG_5_1_A, // L R C LFE Ls Rs
- kAudioChannelLayoutTag_AudioUnit_6_1 = kAudioChannelLayoutTag_MPEG_6_1_A, // L R C LFE Ls Rs Cs
- kAudioChannelLayoutTag_AudioUnit_7_1 = kAudioChannelLayoutTag_MPEG_7_1_C, // L R C LFE Ls Rs Rls Rrs
- kAudioChannelLayoutTag_AudioUnit_7_1_Front = kAudioChannelLayoutTag_MPEG_7_1_A, // L R C LFE Ls Rs Lc Rc
-
- kAudioChannelLayoutTag_AAC_3_0 = kAudioChannelLayoutTag_MPEG_3_0_B, // C L R
- kAudioChannelLayoutTag_AAC_Quadraphonic = kAudioChannelLayoutTag_Quadraphonic, // L R Ls Rs
- kAudioChannelLayoutTag_AAC_4_0 = kAudioChannelLayoutTag_MPEG_4_0_B, // C L R Cs
- kAudioChannelLayoutTag_AAC_5_0 = kAudioChannelLayoutTag_MPEG_5_0_D, // C L R Ls Rs
- kAudioChannelLayoutTag_AAC_5_1 = kAudioChannelLayoutTag_MPEG_5_1_D, // C L R Ls Rs Lfe
- kAudioChannelLayoutTag_AAC_6_0 = (141L << 16) | 6, // C L R Ls Rs Cs
- kAudioChannelLayoutTag_AAC_6_1 = (142L << 16) | 7, // C L R Ls Rs Cs Lfe
- kAudioChannelLayoutTag_AAC_7_0 = (143L << 16) | 7, // C L R Ls Rs Rls Rrs
- kAudioChannelLayoutTag_AAC_7_1 = kAudioChannelLayoutTag_MPEG_7_1_B, // C Lc Rc L R Ls Rs Lfe
- kAudioChannelLayoutTag_AAC_Octagonal = (144L << 16) | 8, // C L R Ls Rs Rls Rrs Cs
-
- kAudioChannelLayoutTag_TMH_10_2_std = (145L << 16) | 16, // L R C Vhc Lsd Rsd Ls Rs Vhl Vhr Lw Rw Csd Cs LFE1 LFE2
- kAudioChannelLayoutTag_TMH_10_2_full = (146L << 16) | 21, // TMH_10_2_std plus: Lc Rc HI VI Haptic
-
- kAudioChannelLayoutTag_AC3_1_0_1 = (149L << 16) | 2, // C LFE
- kAudioChannelLayoutTag_AC3_3_0 = (150L << 16) | 3, // L C R
- kAudioChannelLayoutTag_AC3_3_1 = (151L << 16) | 4, // L C R Cs
- kAudioChannelLayoutTag_AC3_3_0_1 = (152L << 16) | 4, // L C R LFE
- kAudioChannelLayoutTag_AC3_2_1_1 = (153L << 16) | 4, // L R Cs LFE
- kAudioChannelLayoutTag_AC3_3_1_1 = (154L << 16) | 5, // L C R Cs LFE
-
- kAudioChannelLayoutTag_DiscreteInOrder = (147L << 16) | 0, // needs to be ORed with the actual number of channels
- kAudioChannelLayoutTag_Unknown = 0xFFFF0000 // needs to be ORed with the actual number of channels
- };
+ kAudioChannelLayoutTag_AudioUnit_5_0 = kAudioChannelLayoutTag_MPEG_5_0_B, // L R Ls Rs C
+ kAudioChannelLayoutTag_AudioUnit_6_0 = (139L<<16) | 6, // L R Ls Rs C Cs
+ kAudioChannelLayoutTag_AudioUnit_7_0 = (140L<<16) | 7, // L R Ls Rs C Rls Rrs
+ kAudioChannelLayoutTag_AudioUnit_7_0_Front = (148L<<16) | 7, // L R Ls Rs C Lc Rc
+ kAudioChannelLayoutTag_AudioUnit_5_1 = kAudioChannelLayoutTag_MPEG_5_1_A, // L R C LFE Ls Rs
+ kAudioChannelLayoutTag_AudioUnit_6_1 = kAudioChannelLayoutTag_MPEG_6_1_A, // L R C LFE Ls Rs Cs
+ kAudioChannelLayoutTag_AudioUnit_7_1 = kAudioChannelLayoutTag_MPEG_7_1_C, // L R C LFE Ls Rs Rls Rrs
+ kAudioChannelLayoutTag_AudioUnit_7_1_Front = kAudioChannelLayoutTag_MPEG_7_1_A, // L R C LFE Ls Rs Lc Rc
+
+ kAudioChannelLayoutTag_AAC_3_0 = kAudioChannelLayoutTag_MPEG_3_0_B, // C L R
+ kAudioChannelLayoutTag_AAC_Quadraphonic = kAudioChannelLayoutTag_Quadraphonic, // L R Ls Rs
+ kAudioChannelLayoutTag_AAC_4_0 = kAudioChannelLayoutTag_MPEG_4_0_B, // C L R Cs
+ kAudioChannelLayoutTag_AAC_5_0 = kAudioChannelLayoutTag_MPEG_5_0_D, // C L R Ls Rs
+ kAudioChannelLayoutTag_AAC_5_1 = kAudioChannelLayoutTag_MPEG_5_1_D, // C L R Ls Rs Lfe
+ kAudioChannelLayoutTag_AAC_6_0 = (141L<<16) | 6, // C L R Ls Rs Cs
+ kAudioChannelLayoutTag_AAC_6_1 = (142L<<16) | 7, // C L R Ls Rs Cs Lfe
+ kAudioChannelLayoutTag_AAC_7_0 = (143L<<16) | 7, // C L R Ls Rs Rls Rrs
+ kAudioChannelLayoutTag_AAC_7_1 = kAudioChannelLayoutTag_MPEG_7_1_B, // C Lc Rc L R Ls Rs Lfe
+ kAudioChannelLayoutTag_AAC_Octagonal = (144L<<16) | 8, // C L R Ls Rs Rls Rrs Cs
+
+ kAudioChannelLayoutTag_TMH_10_2_std = (145L<<16) | 16, // L R C Vhc Lsd Rsd Ls Rs Vhl Vhr Lw Rw Csd Cs LFE1 LFE2
+ kAudioChannelLayoutTag_TMH_10_2_full = (146L<<16) | 21, // TMH_10_2_std plus: Lc Rc HI VI Haptic
+
+ kAudioChannelLayoutTag_AC3_1_0_1 = (149L<<16) | 2, // C LFE
+ kAudioChannelLayoutTag_AC3_3_0 = (150L<<16) | 3, // L C R
+ kAudioChannelLayoutTag_AC3_3_1 = (151L<<16) | 4, // L C R Cs
+ kAudioChannelLayoutTag_AC3_3_0_1 = (152L<<16) | 4, // L C R LFE
+ kAudioChannelLayoutTag_AC3_2_1_1 = (153L<<16) | 4, // L R Cs LFE
+ kAudioChannelLayoutTag_AC3_3_1_1 = (154L<<16) | 5, // L C R Cs LFE
+
+ kAudioChannelLayoutTag_DiscreteInOrder = (147L<<16) | 0, // needs to be ORed with the actual number of channels
+ kAudioChannelLayoutTag_Unknown = 0xFFFF0000 // needs to be ORed with the actual number of channels
+};
// Deprecated constants
- /*! @enum MPEG-4 Audio Object IDs
- @deprecated in version 10.5
-
- @abstract Constants that describe the various kinds of MPEG-4 audio data.
- @discussion These constants are used in the flags field of an AudioStreamBasicDescription
- that describes an MPEG-4 audio stream.
- */
- enum
- {
- kMPEG4Object_AAC_Main = 1,
- kMPEG4Object_AAC_LC = 2,
- kMPEG4Object_AAC_SSR = 3,
- kMPEG4Object_AAC_LTP = 4,
- kMPEG4Object_AAC_SBR = 5,
- kMPEG4Object_AAC_Scalable = 6,
- kMPEG4Object_TwinVQ = 7,
- kMPEG4Object_CELP = 8,
- kMPEG4Object_HVXC = 9
- };
+/*! @enum MPEG-4 Audio Object IDs
+ @deprecated in version 10.5
+
+ @abstract Constants that describe the various kinds of MPEG-4 audio data.
+ @discussion These constants are used in the flags field of an AudioStreamBasicDescription
+ that describes an MPEG-4 audio stream.
+*/
+enum
+{
+ kMPEG4Object_AAC_Main = 1,
+ kMPEG4Object_AAC_LC = 2,
+ kMPEG4Object_AAC_SSR = 3,
+ kMPEG4Object_AAC_LTP = 4,
+ kMPEG4Object_AAC_SBR = 5,
+ kMPEG4Object_AAC_Scalable = 6,
+ kMPEG4Object_TwinVQ = 7,
+ kMPEG4Object_CELP = 8,
+ kMPEG4Object_HVXC = 9
+};
//==================================================================================================
@@ -1192,7 +1151,7 @@ extern "C"
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
+ #pragma enumsalwaysint reset
#endif
#endif // __CoreAudioTypes_h__
diff --git a/include/qt/CoreFoundation.h b/include/qt/CoreFoundation.h
index 5fa164333..d4b2fc750 100644
--- a/include/qt/CoreFoundation.h
+++ b/include/qt/CoreFoundation.h
@@ -1,17 +1,17 @@
/*
File: CoreFoundation.h
-
+
Contains: CoreFoundation master header
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __COREFOUNDATION__
diff --git a/include/qt/CoreFoundation/CFArray.h b/include/qt/CoreFoundation/CFArray.h
index 69df27247..13ddf4fe0 100644
--- a/include/qt/CoreFoundation/CFArray.h
+++ b/include/qt/CoreFoundation/CFArray.h
@@ -55,635 +55,634 @@
extern "C" {
#endif
- /*!
- @typedef CFArrayCallBacks
- Structure containing the callbacks of a CFArray.
- @field version The version number of the structure type being passed
- in as a parameter to the CFArray creation functions. This
- structure is version 0.
- @field retain The callback used to add a retain for the array on
- values as they are put into the array. This callback returns
- the value to store in the array, which is usually the value
- parameter passed to this callback, but may be a different
- value if a different value should be stored in the array.
- The array's allocator is passed as the first argument.
- @field release The callback used to remove a retain previously added
- for the array from values as they are removed from the
- array. The array's allocator is passed as the first
- argument.
- @field copyDescription The callback used to create a descriptive
- string representation of each value in the array. This is
- used by the CFCopyDescription() function.
- @field equal The callback used to compare values in the array for
- equality for some operations.
- */
- typedef const void *(*CFArrayRetainCallBack)(CFAllocatorRef allocator, const void *value);
- typedef void (*CFArrayReleaseCallBack)(CFAllocatorRef allocator, const void *value);
- typedef CFStringRef(*CFArrayCopyDescriptionCallBack)(const void *value);
- typedef Boolean(*CFArrayEqualCallBack)(const void *value1, const void *value2);
- typedef struct
- {
- CFIndex version;
- CFArrayRetainCallBack retain;
- CFArrayReleaseCallBack release;
- CFArrayCopyDescriptionCallBack copyDescription;
- CFArrayEqualCallBack equal;
- } CFArrayCallBacks;
-
- /*!
- @constant kCFTypeArrayCallBacks
- Predefined CFArrayCallBacks structure containing a set of callbacks
- appropriate for use when the values in a CFArray are all CFTypes.
- */
+/*!
+ @typedef CFArrayCallBacks
+ Structure containing the callbacks of a CFArray.
+ @field version The version number of the structure type being passed
+ in as a parameter to the CFArray creation functions. This
+ structure is version 0.
+ @field retain The callback used to add a retain for the array on
+ values as they are put into the array. This callback returns
+ the value to store in the array, which is usually the value
+ parameter passed to this callback, but may be a different
+ value if a different value should be stored in the array.
+ The array's allocator is passed as the first argument.
+ @field release The callback used to remove a retain previously added
+ for the array from values as they are removed from the
+ array. The array's allocator is passed as the first
+ argument.
+ @field copyDescription The callback used to create a descriptive
+ string representation of each value in the array. This is
+ used by the CFCopyDescription() function.
+ @field equal The callback used to compare values in the array for
+ equality for some operations.
+*/
+typedef const void * (*CFArrayRetainCallBack)(CFAllocatorRef allocator, const void *value);
+typedef void (*CFArrayReleaseCallBack)(CFAllocatorRef allocator, const void *value);
+typedef CFStringRef (*CFArrayCopyDescriptionCallBack)(const void *value);
+typedef Boolean (*CFArrayEqualCallBack)(const void *value1, const void *value2);
+typedef struct {
+ CFIndex version;
+ CFArrayRetainCallBack retain;
+ CFArrayReleaseCallBack release;
+ CFArrayCopyDescriptionCallBack copyDescription;
+ CFArrayEqualCallBack equal;
+} CFArrayCallBacks;
+
+/*!
+ @constant kCFTypeArrayCallBacks
+ Predefined CFArrayCallBacks structure containing a set of callbacks
+ appropriate for use when the values in a CFArray are all CFTypes.
+*/
#if TARGET_OS_WIN32
#define kCFTypeArrayCallBacks (*((const CFArrayCallBacks *)QTGetCFConstant("kCFTypeArrayCallBacks")))
#else
- CF_EXPORT
- const CFArrayCallBacks kCFTypeArrayCallBacks;
+CF_EXPORT
+const CFArrayCallBacks kCFTypeArrayCallBacks;
#endif
- /*!
- @typedef CFArrayApplierFunction
- Type of the callback function used by the apply functions of
- CFArrays.
- @param value The current value from the array.
- @param context The user-defined context parameter given to the apply
- function.
- */
- typedef void (*CFArrayApplierFunction)(const void *value, void *context);
-
- /*!
- @typedef CFArrayRef
- This is the type of a reference to immutable CFArrays.
- */
- typedef const struct __CFArray * CFArrayRef;
-
- /*!
- @typedef CFMutableArrayRef
- This is the type of a reference to mutable CFArrays.
- */
- typedef struct __CFArray * CFMutableArrayRef;
-
- /*!
- @function CFArrayGetTypeID
- Returns the type identifier of all CFArray instances.
- */
- CF_EXPORT
- CFTypeID CFArrayGetTypeID(void);
-
- /*!
- @function CFArrayCreate
- Creates a new immutable array with the given values.
- @param allocator The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param values A C array of the pointer-sized values to be in the
- array. The values in the array are ordered in the same order
- in which they appear in this C array. This parameter may be
- NULL if the numValues parameter is 0. This C array is not
- changed or freed by this function. If this parameter is not
- a valid pointer to a C array of at least numValues pointers,
- the behavior is undefined.
- @param numValues The number of values to copy from the values C
- array into the CFArray. This number will be the count of the
- array.
- If this parameter is negative, or greater than the number of
- values actually in the value's C array, the behavior is
- undefined.
- @param callBacks A pointer to a CFArrayCallBacks structure
- initialized with the callbacks for the array to use on each
- value in the array. The retain callback will be used within
- this function, for example, to retain all of the new values
- from the values C array. A copy of the contents of the
- callbacks structure is made, so that a pointer to a
- structure on the stack can be passed in, or can be reused
- for multiple array creations. If the version field of this
- callbacks structure is not one of the defined ones for
- CFArray, the behavior is undefined. The retain field may be
- NULL, in which case the CFArray will do nothing to add a
- retain to the contained values for the array. The release
- field may be NULL, in which case the CFArray will do nothing
- to remove the array's retain (if any) on the values when the
- array is destroyed. If the copyDescription field is NULL,
- the array will create a simple description for the value. If
- the equal field is NULL, the array will use pointer equality
- to test for equality of values. This callbacks parameter
- itself may be NULL, which is treated as if a valid structure
- of version 0 with all fields NULL had been passed in.
- Otherwise, if any of the fields are not valid pointers to
- functions of the correct type, or this parameter is not a
- valid pointer to a CFArrayCallBacks callbacks structure,
- the behavior is undefined. If any of the values put into the
- array is not one understood by one of the callback functions
- the behavior when that callback function is used is
- undefined.
- @result A reference to the new immutable CFArray.
- */
- CF_EXPORT
- CFArrayRef CFArrayCreate(CFAllocatorRef allocator, const void **values, CFIndex numValues, const CFArrayCallBacks *callBacks);
-
- /*!
- @function CFArrayCreateCopy
- Creates a new immutable array with the values from the given array.
- @param allocator The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theArray The array which is to be copied. The values from the
- array are copied as pointers into the new array (that is,
- the values themselves are copied, not that which the values
- point to, if anything). However, the values are also
- retained by the new array. The count of the new array will
- be the same as the given array. The new array uses the same
- callbacks as the array to be copied. If this parameter is
- not a valid CFArray, the behavior is undefined.
- @result A reference to the new immutable CFArray.
- */
- CF_EXPORT
- CFArrayRef CFArrayCreateCopy(CFAllocatorRef allocator, CFArrayRef theArray);
-
- /*!
- @function CFArrayCreateMutable
- Creates a new empty mutable array.
- @param allocator The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param capacity The maximum number of values that can be contained
- by the CFArray. The array starts empty, and can grow to this
- number of values (and it can have less). If this parameter
- is 0, the array's maximum capacity is unlimited (or rather,
- only limited by address space and available memory
- constraints). If this parameter is negative, the behavior is
- undefined.
- @param callBacks A pointer to a CFArrayCallBacks structure
- initialized with the callbacks for the array to use on each
- value in the array. A copy of the contents of the
- callbacks structure is made, so that a pointer to a
- structure on the stack can be passed in, or can be reused
- for multiple array creations. If the version field of this
- callbacks structure is not one of the defined ones for
- CFArray, the behavior is undefined. The retain field may be
- NULL, in which case the CFArray will do nothing to add a
- retain to the contained values for the array. The release
- field may be NULL, in which case the CFArray will do nothing
- to remove the arrays retain (if any) on the values when the
- array is destroyed. If the copyDescription field is NULL,
- the array will create a simple description for the value. If
- the equal field is NULL, the array will use pointer equality
- to test for equality of values. This callbacks parameter
- itself may be NULL, which is treated as if a valid structure
- of version 0 with all fields NULL had been passed in.
- Otherwise, if any of the fields are not valid pointers to
- functions of the correct type, or this parameter is not a
- valid pointer to a CFArrayCallBacks callbacks structure,
- the behavior is undefined. If any of the values put into the
- array is not one understood by one of the callback functions
- the behavior when that callback function is used is
- undefined.
- @result A reference to the new mutable CFArray.
- */
- CF_EXPORT
- CFMutableArrayRef CFArrayCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFArrayCallBacks *callBacks);
-
- /*!
- @function CFArrayCreateMutableCopy
- Creates a new mutable array with the values from the given array.
- @param allocator The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param capacity The maximum number of values that can be contained
- by the CFArray. The array starts empty, and can grow to this
- number of values (and it can have less). If this parameter
- is 0, the array's maximum capacity is unlimited (or rather,
- only limited by address space and available memory
- constraints). This parameter must be greater than or equal
- to the count of the array which is to be copied, or the
- behavior is undefined. If this parameter is negative, the
- behavior is undefined.
- @param theArray The array which is to be copied. The values from the
- array are copied as pointers into the new array (that is,
- the values themselves are copied, not that which the values
- point to, if anything). However, the values are also
- retained by the new array. The count of the new array will
- be the same as the given array. The new array uses the same
- callbacks as the array to be copied. If this parameter is
- not a valid CFArray, the behavior is undefined.
- @result A reference to the new mutable CFArray.
- */
- CF_EXPORT
- CFMutableArrayRef CFArrayCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFArrayRef theArray);
-
- /*!
- @function CFArrayGetCount
- Returns the number of values currently in the array.
- @param theArray The array to be queried. If this parameter is not a valid
- CFArray, the behavior is undefined.
- @result The number of values in the array.
- */
- CF_EXPORT
- CFIndex CFArrayGetCount(CFArrayRef theArray);
-
- /*!
- @function CFArrayGetCountOfValue
- Counts the number of times the given value occurs in the array.
- @param theArray The array to be searched. If this parameter is not a
- valid CFArray, the behavior is undefined.
- @param range The range within the array to search. If the range
- location or end point (defined by the location plus length
- minus 1) is outside the index space of the array (0 to
- N-1 inclusive, where N is the count of the array), the
- behavior is undefined. If the range length is negative, the
- behavior is undefined. The range may be empty (length 0).
- @param value The value for which to find matches in the array. The
- equal() callback provided when the array was created is
- used to compare. If the equal() callback was NULL, pointer
- equality (in C, ==) is used. If value, or any of the values
- in the array, are not understood by the equal() callback,
- the behavior is undefined.
- @result The number of times the given value occurs in the array,
- within the specified range.
- */
- CF_EXPORT
- CFIndex CFArrayGetCountOfValue(CFArrayRef theArray, CFRange range, const void *value);
-
- /*!
- @function CFArrayContainsValue
- Reports whether or not the value is in the array.
- @param theArray The array to be searched. If this parameter is not a
- valid CFArray, the behavior is undefined.
- @param range The range within the array to search. If the range
- location or end point (defined by the location plus length
- minus 1) is outside the index space of the array (0 to
- N-1 inclusive, where N is the count of the array), the
- behavior is undefined. If the range length is negative, the
- behavior is undefined. The range may be empty (length 0).
- @param value The value for which to find matches in the array. The
- equal() callback provided when the array was created is
- used to compare. If the equal() callback was NULL, pointer
- equality (in C, ==) is used. If value, or any of the values
- in the array, are not understood by the equal() callback,
- the behavior is undefined.
- @result true, if the value is in the specified range of the array,
- otherwise false.
- */
- CF_EXPORT
- Boolean CFArrayContainsValue(CFArrayRef theArray, CFRange range, const void *value);
-
- /*!
- @function CFArrayGetValueAtIndex
- Retrieves the value at the given index.
- @param theArray The array to be queried. If this parameter is not a
- valid CFArray, the behavior is undefined.
- @param idx The index of the value to retrieve. If the index is
- outside the index space of the array (0 to N-1 inclusive,
- where N is the count of the array), the behavior is
- undefined.
- @result The value with the given index in the array.
- */
- CF_EXPORT
- const void *CFArrayGetValueAtIndex(CFArrayRef theArray, CFIndex idx);
-
- /*!
- @function CFArrayGetValues
- Fills the buffer with values from the array.
- @param theArray The array to be queried. If this parameter is not a
- valid CFArray, the behavior is undefined.
- @param range The range of values within the array to retrieve. If
- the range location or end point (defined by the location
- plus length minus 1) is outside the index space of the
- array (0 to N-1 inclusive, where N is the count of the
- array), the behavior is undefined. If the range length is
- negative, the behavior is undefined. The range may be empty
- (length 0), in which case no values are put into the buffer.
- @param values A C array of pointer-sized values to be filled with
- values from the array. The values in the C array are ordered
- in the same order in which they appear in the array. If this
- parameter is not a valid pointer to a C array of at least
- range.length pointers, the behavior is undefined.
- */
- CF_EXPORT
- void CFArrayGetValues(CFArrayRef theArray, CFRange range, const void **values);
-
- /*!
- @function CFArrayApplyFunction
- Calls a function once for each value in the array.
- @param theArray The array to be operated upon. If this parameter is not
- a valid CFArray, the behavior is undefined.
- @param range The range of values within the array to which to apply
- the function. If the range location or end point (defined by
- the location plus length minus 1) is outside the index
- space of the array (0 to N-1 inclusive, where N is the count
- of the array), the behavior is undefined. If the range
- length is negative, the behavior is undefined. The range may
- be empty (length 0).
- @param applier The callback function to call once for each value in
- the given range in the array. If this parameter is not a
- pointer to a function of the correct prototype, the behavior
- is undefined. If there are values in the range which the
- applier function does not expect or cannot properly apply
- to, the behavior is undefined.
- @param context A pointer-sized user-defined value, which is passed
- as the second parameter to the applier function, but is
- otherwise unused by this function. If the context is not
- what is expected by the applier function, the behavior is
- undefined.
- */
- CF_EXPORT
- void CFArrayApplyFunction(CFArrayRef theArray, CFRange range, CFArrayApplierFunction applier, void *context);
-
- /*!
- @function CFArrayGetFirstIndexOfValue
- Searches the array for the value.
- @param theArray The array to be searched. If this parameter is not a
- valid CFArray, the behavior is undefined.
- @param range The range within the array to search. If the range
- location or end point (defined by the location plus length
- minus 1) is outside the index space of the array (0 to
- N-1 inclusive, where N is the count of the array), the
- behavior is undefined. If the range length is negative, the
- behavior is undefined. The range may be empty (length 0).
- The search progresses from the smallest index defined by
- the range to the largest.
- @param value The value for which to find a match in the array. The
- equal() callback provided when the array was created is
- used to compare. If the equal() callback was NULL, pointer
- equality (in C, ==) is used. If value, or any of the values
- in the array, are not understood by the equal() callback,
- the behavior is undefined.
- @result The lowest index of the matching values in the range, or
- kCFNotFound if no value in the range matched.
- */
- CF_EXPORT
- CFIndex CFArrayGetFirstIndexOfValue(CFArrayRef theArray, CFRange range, const void *value);
-
- /*!
- @function CFArrayGetLastIndexOfValue
- Searches the array for the value.
- @param theArray The array to be searched. If this parameter is not a
- valid CFArray, the behavior is undefined.
- @param range The range within the array to search. If the range
- location or end point (defined by the location plus length
- minus 1) is outside the index space of the array (0 to
- N-1 inclusive, where N is the count of the array), the
- behavior is undefined. If the range length is negative, the
- behavior is undefined. The range may be empty (length 0).
- The search progresses from the largest index defined by the
- range to the smallest.
- @param value The value for which to find a match in the array. The
- equal() callback provided when the array was created is
- used to compare. If the equal() callback was NULL, pointer
- equality (in C, ==) is used. If value, or any of the values
- in the array, are not understood by the equal() callback,
- the behavior is undefined.
- @result The highest index of the matching values in the range, or
- kCFNotFound if no value in the range matched.
- */
- CF_EXPORT
- CFIndex CFArrayGetLastIndexOfValue(CFArrayRef theArray, CFRange range, const void *value);
-
- /*!
- @function CFArrayBSearchValues
- Searches the array for the value using a binary search algorithm.
- @param theArray The array to be searched. If this parameter is not a
- valid CFArray, the behavior is undefined. If the array is
- not sorted from least to greatest according to the
- comparator function, the behavior is undefined.
- @param range The range within the array to search. If the range
- location or end point (defined by the location plus length
- minus 1) is outside the index space of the array (0 to
- N-1 inclusive, where N is the count of the array), the
- behavior is undefined. If the range length is negative, the
- behavior is undefined. The range may be empty (length 0).
- @param value The value for which to find a match in the array. If
- value, or any of the values in the array, are not understood
- by the comparator callback, the behavior is undefined.
- @param comparator The function with the comparator function type
- signature which is used in the binary search operation to
- compare values in the array with the given value. If this
- parameter is not a pointer to a function of the correct
- prototype, the behavior is undefined. If there are values
- in the range which the comparator function does not expect
- or cannot properly compare, the behavior is undefined.
- @param context A pointer-sized user-defined value, which is passed
- as the third parameter to the comparator function, but is
- otherwise unused by this function. If the context is not
- what is expected by the comparator function, the behavior is
- undefined.
- @result The return value is either 1) the index of a value that
- matched, if the target value matches one or more in the
- range, 2) greater than or equal to the end point of the
- range, if the value is greater than all the values in the
- range, or 3) the index of the value greater than the target
- value, if the value lies between two of (or less than all
- of) the values in the range.
- */
- CF_EXPORT
- CFIndex CFArrayBSearchValues(CFArrayRef theArray, CFRange range, const void *value, CFComparatorFunction comparator, void *context);
-
- /*!
- @function CFArrayAppendValue
- Adds the value to the array giving it a new largest index.
- @param theArray The array to which the value is to be added. If this
- parameter is not a valid mutable CFArray, the behavior is
- undefined. If the array is a fixed-capacity array and it
- is full before this operation, the behavior is undefined.
- @param value The value to add to the array. The value is retained by
- the array using the retain callback provided when the array
- was created. If the value is not of the sort expected by the
- retain callback, the behavior is undefined. The value is
- assigned to the index one larger than the previous largest
- index, and the count of the array is increased by one.
- */
- CF_EXPORT
- void CFArrayAppendValue(CFMutableArrayRef theArray, const void *value);
-
- /*!
- @function CFArrayInsertValueAtIndex
- Adds the value to the array, giving it the given index.
- @param theArray The array to which the value is to be added. If this
- parameter is not a valid mutable CFArray, the behavior is
- undefined. If the array is a fixed-capacity array and it
- is full before this operation, the behavior is undefined.
- @param idx The index to which to add the new value. If the index is
- outside the index space of the array (0 to N inclusive,
- where N is the count of the array before the operation), the
- behavior is undefined. If the index is the same as N, this
- function has the same effect as CFArrayAppendValue().
- @param value The value to add to the array. The value is retained by
- the array using the retain callback provided when the array
- was created. If the value is not of the sort expected by the
- retain callback, the behavior is undefined. The value is
- assigned to the given index, and all values with equal and
- larger indices have their indexes increased by one.
- */
- CF_EXPORT
- void CFArrayInsertValueAtIndex(CFMutableArrayRef theArray, CFIndex idx, const void *value);
-
- /*!
- @function CFArraySetValueAtIndex
- Changes the value with the given index in the array.
- @param theArray The array in which the value is to be changed. If this
- parameter is not a valid mutable CFArray, the behavior is
- undefined. If the array is a fixed-capacity array and it
- is full before this operation and the index is the same as
- N, the behavior is undefined.
- @param idx The index to which to set the new value. If the index is
- outside the index space of the array (0 to N inclusive,
- where N is the count of the array before the operation), the
- behavior is undefined. If the index is the same as N, this
- function has the same effect as CFArrayAppendValue().
- @param value The value to set in the array. The value is retained by
- the array using the retain callback provided when the array
- was created, and the previous value with that index is
- released. If the value is not of the sort expected by the
- retain callback, the behavior is undefined. The indices of
- other values is not affected.
- */
- CF_EXPORT
- void CFArraySetValueAtIndex(CFMutableArrayRef theArray, CFIndex idx, const void *value);
-
- /*!
- @function CFArrayRemoveValueAtIndex
- Removes the value with the given index from the array.
- @param theArray The array from which the value is to be removed. If
- this parameter is not a valid mutable CFArray, the behavior
- is undefined.
- @param idx The index from which to remove the value. If the index is
- outside the index space of the array (0 to N-1 inclusive,
- where N is the count of the array before the operation), the
- behavior is undefined.
- */
- CF_EXPORT
- void CFArrayRemoveValueAtIndex(CFMutableArrayRef theArray, CFIndex idx);
-
- /*!
- @function CFArrayRemoveAllValues
- Removes all the values from the array, making it empty.
- @param theArray The array from which all of the values are to be
- removed. If this parameter is not a valid mutable CFArray,
- the behavior is undefined.
- */
- CF_EXPORT
- void CFArrayRemoveAllValues(CFMutableArrayRef theArray);
-
- /*!
- @function CFArrayReplaceValues
- Replaces a range of values in the array.
- @param theArray The array from which all of the values are to be
- removed. If this parameter is not a valid mutable CFArray,
- the behavior is undefined.
- @param range The range of values within the array to replace. If the
- range location or end point (defined by the location plus
- length minus 1) is outside the index space of the array (0
- to N inclusive, where N is the count of the array), the
- behavior is undefined. If the range length is negative, the
- behavior is undefined. The range may be empty (length 0),
- in which case the new values are merely inserted at the
- range location.
- @param newValues A C array of the pointer-sized values to be placed
- into the array. The new values in the array are ordered in
- the same order in which they appear in this C array. This
- parameter may be NULL if the newCount parameter is 0. This
- C array is not changed or freed by this function. If this
- parameter is not a valid pointer to a C array of at least
- newCount pointers, the behavior is undefined.
- @param newCount The number of values to copy from the values C
- array into the CFArray. If this parameter is different than
- the range length, the excess newCount values will be
- inserted after the range, or the excess range values will be
- deleted. This parameter may be 0, in which case no new
- values are replaced into the array and the values in the
- range are simply removed. If this parameter is negative, or
- greater than the number of values actually in the newValues
- C array, the behavior is undefined.
- */
- CF_EXPORT
- void CFArrayReplaceValues(CFMutableArrayRef theArray, CFRange range, const void **newValues, CFIndex newCount);
-
- /*!
- @function CFArrayExchangeValuesAtIndices
- Exchanges the values at two indices of the array.
- @param theArray The array of which the values are to be swapped. If
- this parameter is not a valid mutable CFArray, the behavior
- is undefined.
- @param idx1 The first index whose values should be swapped. If the
- index is outside the index space of the array (0 to N-1
- inclusive, where N is the count of the array before the
- operation), the behavior is undefined.
- @param idx2 The second index whose values should be swapped. If the
- index is outside the index space of the array (0 to N-1
- inclusive, where N is the count of the array before the
- operation), the behavior is undefined.
- */
- CF_EXPORT
- void CFArrayExchangeValuesAtIndices(CFMutableArrayRef theArray, CFIndex idx1, CFIndex idx2);
-
- /*!
- @function CFArraySortValues
- Sorts the values in the array using the given comparison function.
- @param theArray The array whose values are to be sorted. If this
- parameter is not a valid mutable CFArray, the behavior is
- undefined.
- @param range The range of values within the array to sort. If the
- range location or end point (defined by the location plus
- length minus 1) is outside the index space of the array (0
- to N-1 inclusive, where N is the count of the array), the
- behavior is undefined. If the range length is negative, the
- behavior is undefined. The range may be empty (length 0).
- @param comparator The function with the comparator function type
- signature which is used in the sort operation to compare
- values in the array with the given value. If this parameter
- is not a pointer to a function of the correct prototype, the
- the behavior is undefined. If there are values in the array
- which the comparator function does not expect or cannot
- properly compare, the behavior is undefined. The values in
- the range are sorted from least to greatest according to
- this function.
- @param context A pointer-sized user-defined value, which is passed
- as the third parameter to the comparator function, but is
- otherwise unused by this function. If the context is not
- what is expected by the comparator function, the behavior is
- undefined.
- */
- CF_EXPORT
- void CFArraySortValues(CFMutableArrayRef theArray, CFRange range, CFComparatorFunction comparator, void *context);
-
- /*!
- @function CFArrayAppendArray
- Adds the values from an array to another array.
- @param theArray The array to which values from the otherArray are to
- be added. If this parameter is not a valid mutable CFArray,
- the behavior is undefined. If the array is a fixed-capacity
- array and adding range.length values from the otherArray
- exceeds the capacity of the array, the behavior is
- undefined.
- @param otherArray The array providing the values to be added to the
- array. If this parameter is not a valid CFArray, the
- behavior is undefined.
- @param otherRange The range within the otherArray from which to add
- the values to the array. If the range location or end point
- (defined by the location plus length minus 1) is outside
- the index space of the otherArray (0 to N-1 inclusive, where
- N is the count of the otherArray), the behavior is
- undefined. The new values are retained by the array using
- the retain callback provided when the array was created. If
- the values are not of the sort expected by the retain
- callback, the behavior is undefined. The values are assigned
- to the indices one larger than the previous largest index
- in the array, and beyond, and the count of the array is
- increased by range.length. The values are assigned new
- indices in the array from smallest to largest index in the
- order in which they appear in the otherArray.
- */
- CF_EXPORT
- void CFArrayAppendArray(CFMutableArrayRef theArray, CFArrayRef otherArray, CFRange otherRange);
+/*!
+ @typedef CFArrayApplierFunction
+ Type of the callback function used by the apply functions of
+ CFArrays.
+ @param value The current value from the array.
+ @param context The user-defined context parameter given to the apply
+ function.
+*/
+typedef void (*CFArrayApplierFunction)(const void *value, void *context);
+
+/*!
+ @typedef CFArrayRef
+ This is the type of a reference to immutable CFArrays.
+*/
+typedef const struct __CFArray * CFArrayRef;
+
+/*!
+ @typedef CFMutableArrayRef
+ This is the type of a reference to mutable CFArrays.
+*/
+typedef struct __CFArray * CFMutableArrayRef;
+
+/*!
+ @function CFArrayGetTypeID
+ Returns the type identifier of all CFArray instances.
+*/
+CF_EXPORT
+CFTypeID CFArrayGetTypeID(void);
+
+/*!
+ @function CFArrayCreate
+ Creates a new immutable array with the given values.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param values A C array of the pointer-sized values to be in the
+ array. The values in the array are ordered in the same order
+ in which they appear in this C array. This parameter may be
+ NULL if the numValues parameter is 0. This C array is not
+ changed or freed by this function. If this parameter is not
+ a valid pointer to a C array of at least numValues pointers,
+ the behavior is undefined.
+ @param numValues The number of values to copy from the values C
+ array into the CFArray. This number will be the count of the
+ array.
+ If this parameter is negative, or greater than the number of
+ values actually in the value's C array, the behavior is
+ undefined.
+ @param callBacks A pointer to a CFArrayCallBacks structure
+ initialized with the callbacks for the array to use on each
+ value in the array. The retain callback will be used within
+ this function, for example, to retain all of the new values
+ from the values C array. A copy of the contents of the
+ callbacks structure is made, so that a pointer to a
+ structure on the stack can be passed in, or can be reused
+ for multiple array creations. If the version field of this
+ callbacks structure is not one of the defined ones for
+ CFArray, the behavior is undefined. The retain field may be
+ NULL, in which case the CFArray will do nothing to add a
+ retain to the contained values for the array. The release
+ field may be NULL, in which case the CFArray will do nothing
+ to remove the array's retain (if any) on the values when the
+ array is destroyed. If the copyDescription field is NULL,
+ the array will create a simple description for the value. If
+ the equal field is NULL, the array will use pointer equality
+ to test for equality of values. This callbacks parameter
+ itself may be NULL, which is treated as if a valid structure
+ of version 0 with all fields NULL had been passed in.
+ Otherwise, if any of the fields are not valid pointers to
+ functions of the correct type, or this parameter is not a
+ valid pointer to a CFArrayCallBacks callbacks structure,
+ the behavior is undefined. If any of the values put into the
+ array is not one understood by one of the callback functions
+ the behavior when that callback function is used is
+ undefined.
+ @result A reference to the new immutable CFArray.
+*/
+CF_EXPORT
+CFArrayRef CFArrayCreate(CFAllocatorRef allocator, const void **values, CFIndex numValues, const CFArrayCallBacks *callBacks);
+
+/*!
+ @function CFArrayCreateCopy
+ Creates a new immutable array with the values from the given array.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theArray The array which is to be copied. The values from the
+ array are copied as pointers into the new array (that is,
+ the values themselves are copied, not that which the values
+ point to, if anything). However, the values are also
+ retained by the new array. The count of the new array will
+ be the same as the given array. The new array uses the same
+ callbacks as the array to be copied. If this parameter is
+ not a valid CFArray, the behavior is undefined.
+ @result A reference to the new immutable CFArray.
+*/
+CF_EXPORT
+CFArrayRef CFArrayCreateCopy(CFAllocatorRef allocator, CFArrayRef theArray);
+
+/*!
+ @function CFArrayCreateMutable
+ Creates a new empty mutable array.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param capacity The maximum number of values that can be contained
+ by the CFArray. The array starts empty, and can grow to this
+ number of values (and it can have less). If this parameter
+ is 0, the array's maximum capacity is unlimited (or rather,
+ only limited by address space and available memory
+ constraints). If this parameter is negative, the behavior is
+ undefined.
+ @param callBacks A pointer to a CFArrayCallBacks structure
+ initialized with the callbacks for the array to use on each
+ value in the array. A copy of the contents of the
+ callbacks structure is made, so that a pointer to a
+ structure on the stack can be passed in, or can be reused
+ for multiple array creations. If the version field of this
+ callbacks structure is not one of the defined ones for
+ CFArray, the behavior is undefined. The retain field may be
+ NULL, in which case the CFArray will do nothing to add a
+ retain to the contained values for the array. The release
+ field may be NULL, in which case the CFArray will do nothing
+ to remove the arrays retain (if any) on the values when the
+ array is destroyed. If the copyDescription field is NULL,
+ the array will create a simple description for the value. If
+ the equal field is NULL, the array will use pointer equality
+ to test for equality of values. This callbacks parameter
+ itself may be NULL, which is treated as if a valid structure
+ of version 0 with all fields NULL had been passed in.
+ Otherwise, if any of the fields are not valid pointers to
+ functions of the correct type, or this parameter is not a
+ valid pointer to a CFArrayCallBacks callbacks structure,
+ the behavior is undefined. If any of the values put into the
+ array is not one understood by one of the callback functions
+ the behavior when that callback function is used is
+ undefined.
+ @result A reference to the new mutable CFArray.
+*/
+CF_EXPORT
+CFMutableArrayRef CFArrayCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFArrayCallBacks *callBacks);
+
+/*!
+ @function CFArrayCreateMutableCopy
+ Creates a new mutable array with the values from the given array.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param capacity The maximum number of values that can be contained
+ by the CFArray. The array starts empty, and can grow to this
+ number of values (and it can have less). If this parameter
+ is 0, the array's maximum capacity is unlimited (or rather,
+ only limited by address space and available memory
+ constraints). This parameter must be greater than or equal
+ to the count of the array which is to be copied, or the
+ behavior is undefined. If this parameter is negative, the
+ behavior is undefined.
+ @param theArray The array which is to be copied. The values from the
+ array are copied as pointers into the new array (that is,
+ the values themselves are copied, not that which the values
+ point to, if anything). However, the values are also
+ retained by the new array. The count of the new array will
+ be the same as the given array. The new array uses the same
+ callbacks as the array to be copied. If this parameter is
+ not a valid CFArray, the behavior is undefined.
+ @result A reference to the new mutable CFArray.
+*/
+CF_EXPORT
+CFMutableArrayRef CFArrayCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFArrayRef theArray);
+
+/*!
+ @function CFArrayGetCount
+ Returns the number of values currently in the array.
+ @param theArray The array to be queried. If this parameter is not a valid
+ CFArray, the behavior is undefined.
+ @result The number of values in the array.
+*/
+CF_EXPORT
+CFIndex CFArrayGetCount(CFArrayRef theArray);
+
+/*!
+ @function CFArrayGetCountOfValue
+ Counts the number of times the given value occurs in the array.
+ @param theArray The array to be searched. If this parameter is not a
+ valid CFArray, the behavior is undefined.
+ @param range The range within the array to search. If the range
+ location or end point (defined by the location plus length
+ minus 1) is outside the index space of the array (0 to
+ N-1 inclusive, where N is the count of the array), the
+ behavior is undefined. If the range length is negative, the
+ behavior is undefined. The range may be empty (length 0).
+ @param value The value for which to find matches in the array. The
+ equal() callback provided when the array was created is
+ used to compare. If the equal() callback was NULL, pointer
+ equality (in C, ==) is used. If value, or any of the values
+ in the array, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result The number of times the given value occurs in the array,
+ within the specified range.
+*/
+CF_EXPORT
+CFIndex CFArrayGetCountOfValue(CFArrayRef theArray, CFRange range, const void *value);
+
+/*!
+ @function CFArrayContainsValue
+ Reports whether or not the value is in the array.
+ @param theArray The array to be searched. If this parameter is not a
+ valid CFArray, the behavior is undefined.
+ @param range The range within the array to search. If the range
+ location or end point (defined by the location plus length
+ minus 1) is outside the index space of the array (0 to
+ N-1 inclusive, where N is the count of the array), the
+ behavior is undefined. If the range length is negative, the
+ behavior is undefined. The range may be empty (length 0).
+ @param value The value for which to find matches in the array. The
+ equal() callback provided when the array was created is
+ used to compare. If the equal() callback was NULL, pointer
+ equality (in C, ==) is used. If value, or any of the values
+ in the array, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result true, if the value is in the specified range of the array,
+ otherwise false.
+*/
+CF_EXPORT
+Boolean CFArrayContainsValue(CFArrayRef theArray, CFRange range, const void *value);
+
+/*!
+ @function CFArrayGetValueAtIndex
+ Retrieves the value at the given index.
+ @param theArray The array to be queried. If this parameter is not a
+ valid CFArray, the behavior is undefined.
+ @param idx The index of the value to retrieve. If the index is
+ outside the index space of the array (0 to N-1 inclusive,
+ where N is the count of the array), the behavior is
+ undefined.
+ @result The value with the given index in the array.
+*/
+CF_EXPORT
+const void *CFArrayGetValueAtIndex(CFArrayRef theArray, CFIndex idx);
+
+/*!
+ @function CFArrayGetValues
+ Fills the buffer with values from the array.
+ @param theArray The array to be queried. If this parameter is not a
+ valid CFArray, the behavior is undefined.
+ @param range The range of values within the array to retrieve. If
+ the range location or end point (defined by the location
+ plus length minus 1) is outside the index space of the
+ array (0 to N-1 inclusive, where N is the count of the
+ array), the behavior is undefined. If the range length is
+ negative, the behavior is undefined. The range may be empty
+ (length 0), in which case no values are put into the buffer.
+ @param values A C array of pointer-sized values to be filled with
+ values from the array. The values in the C array are ordered
+ in the same order in which they appear in the array. If this
+ parameter is not a valid pointer to a C array of at least
+ range.length pointers, the behavior is undefined.
+*/
+CF_EXPORT
+void CFArrayGetValues(CFArrayRef theArray, CFRange range, const void **values);
+
+/*!
+ @function CFArrayApplyFunction
+ Calls a function once for each value in the array.
+ @param theArray The array to be operated upon. If this parameter is not
+ a valid CFArray, the behavior is undefined.
+ @param range The range of values within the array to which to apply
+ the function. If the range location or end point (defined by
+ the location plus length minus 1) is outside the index
+ space of the array (0 to N-1 inclusive, where N is the count
+ of the array), the behavior is undefined. If the range
+ length is negative, the behavior is undefined. The range may
+ be empty (length 0).
+ @param applier The callback function to call once for each value in
+ the given range in the array. If this parameter is not a
+ pointer to a function of the correct prototype, the behavior
+ is undefined. If there are values in the range which the
+ applier function does not expect or cannot properly apply
+ to, the behavior is undefined.
+ @param context A pointer-sized user-defined value, which is passed
+ as the second parameter to the applier function, but is
+ otherwise unused by this function. If the context is not
+ what is expected by the applier function, the behavior is
+ undefined.
+*/
+CF_EXPORT
+void CFArrayApplyFunction(CFArrayRef theArray, CFRange range, CFArrayApplierFunction applier, void *context);
+
+/*!
+ @function CFArrayGetFirstIndexOfValue
+ Searches the array for the value.
+ @param theArray The array to be searched. If this parameter is not a
+ valid CFArray, the behavior is undefined.
+ @param range The range within the array to search. If the range
+ location or end point (defined by the location plus length
+ minus 1) is outside the index space of the array (0 to
+ N-1 inclusive, where N is the count of the array), the
+ behavior is undefined. If the range length is negative, the
+ behavior is undefined. The range may be empty (length 0).
+ The search progresses from the smallest index defined by
+ the range to the largest.
+ @param value The value for which to find a match in the array. The
+ equal() callback provided when the array was created is
+ used to compare. If the equal() callback was NULL, pointer
+ equality (in C, ==) is used. If value, or any of the values
+ in the array, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result The lowest index of the matching values in the range, or
+ kCFNotFound if no value in the range matched.
+*/
+CF_EXPORT
+CFIndex CFArrayGetFirstIndexOfValue(CFArrayRef theArray, CFRange range, const void *value);
+
+/*!
+ @function CFArrayGetLastIndexOfValue
+ Searches the array for the value.
+ @param theArray The array to be searched. If this parameter is not a
+ valid CFArray, the behavior is undefined.
+ @param range The range within the array to search. If the range
+ location or end point (defined by the location plus length
+ minus 1) is outside the index space of the array (0 to
+ N-1 inclusive, where N is the count of the array), the
+ behavior is undefined. If the range length is negative, the
+ behavior is undefined. The range may be empty (length 0).
+ The search progresses from the largest index defined by the
+ range to the smallest.
+ @param value The value for which to find a match in the array. The
+ equal() callback provided when the array was created is
+ used to compare. If the equal() callback was NULL, pointer
+ equality (in C, ==) is used. If value, or any of the values
+ in the array, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result The highest index of the matching values in the range, or
+ kCFNotFound if no value in the range matched.
+*/
+CF_EXPORT
+CFIndex CFArrayGetLastIndexOfValue(CFArrayRef theArray, CFRange range, const void *value);
+
+/*!
+ @function CFArrayBSearchValues
+ Searches the array for the value using a binary search algorithm.
+ @param theArray The array to be searched. If this parameter is not a
+ valid CFArray, the behavior is undefined. If the array is
+ not sorted from least to greatest according to the
+ comparator function, the behavior is undefined.
+ @param range The range within the array to search. If the range
+ location or end point (defined by the location plus length
+ minus 1) is outside the index space of the array (0 to
+ N-1 inclusive, where N is the count of the array), the
+ behavior is undefined. If the range length is negative, the
+ behavior is undefined. The range may be empty (length 0).
+ @param value The value for which to find a match in the array. If
+ value, or any of the values in the array, are not understood
+ by the comparator callback, the behavior is undefined.
+ @param comparator The function with the comparator function type
+ signature which is used in the binary search operation to
+ compare values in the array with the given value. If this
+ parameter is not a pointer to a function of the correct
+ prototype, the behavior is undefined. If there are values
+ in the range which the comparator function does not expect
+ or cannot properly compare, the behavior is undefined.
+ @param context A pointer-sized user-defined value, which is passed
+ as the third parameter to the comparator function, but is
+ otherwise unused by this function. If the context is not
+ what is expected by the comparator function, the behavior is
+ undefined.
+ @result The return value is either 1) the index of a value that
+ matched, if the target value matches one or more in the
+ range, 2) greater than or equal to the end point of the
+ range, if the value is greater than all the values in the
+ range, or 3) the index of the value greater than the target
+ value, if the value lies between two of (or less than all
+ of) the values in the range.
+*/
+CF_EXPORT
+CFIndex CFArrayBSearchValues(CFArrayRef theArray, CFRange range, const void *value, CFComparatorFunction comparator, void *context);
+
+/*!
+ @function CFArrayAppendValue
+ Adds the value to the array giving it a new largest index.
+ @param theArray The array to which the value is to be added. If this
+ parameter is not a valid mutable CFArray, the behavior is
+ undefined. If the array is a fixed-capacity array and it
+ is full before this operation, the behavior is undefined.
+ @param value The value to add to the array. The value is retained by
+ the array using the retain callback provided when the array
+ was created. If the value is not of the sort expected by the
+ retain callback, the behavior is undefined. The value is
+ assigned to the index one larger than the previous largest
+ index, and the count of the array is increased by one.
+*/
+CF_EXPORT
+void CFArrayAppendValue(CFMutableArrayRef theArray, const void *value);
+
+/*!
+ @function CFArrayInsertValueAtIndex
+ Adds the value to the array, giving it the given index.
+ @param theArray The array to which the value is to be added. If this
+ parameter is not a valid mutable CFArray, the behavior is
+ undefined. If the array is a fixed-capacity array and it
+ is full before this operation, the behavior is undefined.
+ @param idx The index to which to add the new value. If the index is
+ outside the index space of the array (0 to N inclusive,
+ where N is the count of the array before the operation), the
+ behavior is undefined. If the index is the same as N, this
+ function has the same effect as CFArrayAppendValue().
+ @param value The value to add to the array. The value is retained by
+ the array using the retain callback provided when the array
+ was created. If the value is not of the sort expected by the
+ retain callback, the behavior is undefined. The value is
+ assigned to the given index, and all values with equal and
+ larger indices have their indexes increased by one.
+*/
+CF_EXPORT
+void CFArrayInsertValueAtIndex(CFMutableArrayRef theArray, CFIndex idx, const void *value);
+
+/*!
+ @function CFArraySetValueAtIndex
+ Changes the value with the given index in the array.
+ @param theArray The array in which the value is to be changed. If this
+ parameter is not a valid mutable CFArray, the behavior is
+ undefined. If the array is a fixed-capacity array and it
+ is full before this operation and the index is the same as
+ N, the behavior is undefined.
+ @param idx The index to which to set the new value. If the index is
+ outside the index space of the array (0 to N inclusive,
+ where N is the count of the array before the operation), the
+ behavior is undefined. If the index is the same as N, this
+ function has the same effect as CFArrayAppendValue().
+ @param value The value to set in the array. The value is retained by
+ the array using the retain callback provided when the array
+ was created, and the previous value with that index is
+ released. If the value is not of the sort expected by the
+ retain callback, the behavior is undefined. The indices of
+ other values is not affected.
+*/
+CF_EXPORT
+void CFArraySetValueAtIndex(CFMutableArrayRef theArray, CFIndex idx, const void *value);
+
+/*!
+ @function CFArrayRemoveValueAtIndex
+ Removes the value with the given index from the array.
+ @param theArray The array from which the value is to be removed. If
+ this parameter is not a valid mutable CFArray, the behavior
+ is undefined.
+ @param idx The index from which to remove the value. If the index is
+ outside the index space of the array (0 to N-1 inclusive,
+ where N is the count of the array before the operation), the
+ behavior is undefined.
+*/
+CF_EXPORT
+void CFArrayRemoveValueAtIndex(CFMutableArrayRef theArray, CFIndex idx);
+
+/*!
+ @function CFArrayRemoveAllValues
+ Removes all the values from the array, making it empty.
+ @param theArray The array from which all of the values are to be
+ removed. If this parameter is not a valid mutable CFArray,
+ the behavior is undefined.
+*/
+CF_EXPORT
+void CFArrayRemoveAllValues(CFMutableArrayRef theArray);
+
+/*!
+ @function CFArrayReplaceValues
+ Replaces a range of values in the array.
+ @param theArray The array from which all of the values are to be
+ removed. If this parameter is not a valid mutable CFArray,
+ the behavior is undefined.
+ @param range The range of values within the array to replace. If the
+ range location or end point (defined by the location plus
+ length minus 1) is outside the index space of the array (0
+ to N inclusive, where N is the count of the array), the
+ behavior is undefined. If the range length is negative, the
+ behavior is undefined. The range may be empty (length 0),
+ in which case the new values are merely inserted at the
+ range location.
+ @param newValues A C array of the pointer-sized values to be placed
+ into the array. The new values in the array are ordered in
+ the same order in which they appear in this C array. This
+ parameter may be NULL if the newCount parameter is 0. This
+ C array is not changed or freed by this function. If this
+ parameter is not a valid pointer to a C array of at least
+ newCount pointers, the behavior is undefined.
+ @param newCount The number of values to copy from the values C
+ array into the CFArray. If this parameter is different than
+ the range length, the excess newCount values will be
+ inserted after the range, or the excess range values will be
+ deleted. This parameter may be 0, in which case no new
+ values are replaced into the array and the values in the
+ range are simply removed. If this parameter is negative, or
+ greater than the number of values actually in the newValues
+ C array, the behavior is undefined.
+*/
+CF_EXPORT
+void CFArrayReplaceValues(CFMutableArrayRef theArray, CFRange range, const void **newValues, CFIndex newCount);
+
+/*!
+ @function CFArrayExchangeValuesAtIndices
+ Exchanges the values at two indices of the array.
+ @param theArray The array of which the values are to be swapped. If
+ this parameter is not a valid mutable CFArray, the behavior
+ is undefined.
+ @param idx1 The first index whose values should be swapped. If the
+ index is outside the index space of the array (0 to N-1
+ inclusive, where N is the count of the array before the
+ operation), the behavior is undefined.
+ @param idx2 The second index whose values should be swapped. If the
+ index is outside the index space of the array (0 to N-1
+ inclusive, where N is the count of the array before the
+ operation), the behavior is undefined.
+*/
+CF_EXPORT
+void CFArrayExchangeValuesAtIndices(CFMutableArrayRef theArray, CFIndex idx1, CFIndex idx2);
+
+/*!
+ @function CFArraySortValues
+ Sorts the values in the array using the given comparison function.
+ @param theArray The array whose values are to be sorted. If this
+ parameter is not a valid mutable CFArray, the behavior is
+ undefined.
+ @param range The range of values within the array to sort. If the
+ range location or end point (defined by the location plus
+ length minus 1) is outside the index space of the array (0
+ to N-1 inclusive, where N is the count of the array), the
+ behavior is undefined. If the range length is negative, the
+ behavior is undefined. The range may be empty (length 0).
+ @param comparator The function with the comparator function type
+ signature which is used in the sort operation to compare
+ values in the array with the given value. If this parameter
+ is not a pointer to a function of the correct prototype, the
+ the behavior is undefined. If there are values in the array
+ which the comparator function does not expect or cannot
+ properly compare, the behavior is undefined. The values in
+ the range are sorted from least to greatest according to
+ this function.
+ @param context A pointer-sized user-defined value, which is passed
+ as the third parameter to the comparator function, but is
+ otherwise unused by this function. If the context is not
+ what is expected by the comparator function, the behavior is
+ undefined.
+*/
+CF_EXPORT
+void CFArraySortValues(CFMutableArrayRef theArray, CFRange range, CFComparatorFunction comparator, void *context);
+
+/*!
+ @function CFArrayAppendArray
+ Adds the values from an array to another array.
+ @param theArray The array to which values from the otherArray are to
+ be added. If this parameter is not a valid mutable CFArray,
+ the behavior is undefined. If the array is a fixed-capacity
+ array and adding range.length values from the otherArray
+ exceeds the capacity of the array, the behavior is
+ undefined.
+ @param otherArray The array providing the values to be added to the
+ array. If this parameter is not a valid CFArray, the
+ behavior is undefined.
+ @param otherRange The range within the otherArray from which to add
+ the values to the array. If the range location or end point
+ (defined by the location plus length minus 1) is outside
+ the index space of the otherArray (0 to N-1 inclusive, where
+ N is the count of the otherArray), the behavior is
+ undefined. The new values are retained by the array using
+ the retain callback provided when the array was created. If
+ the values are not of the sort expected by the retain
+ callback, the behavior is undefined. The values are assigned
+ to the indices one larger than the previous largest index
+ in the array, and beyond, and the count of the array is
+ increased by range.length. The values are assigned new
+ indices in the array from smallest to largest index in the
+ order in which they appear in the otherArray.
+*/
+CF_EXPORT
+void CFArrayAppendArray(CFMutableArrayRef theArray, CFArrayRef otherArray, CFRange otherRange);
#if defined(__cplusplus)
}
diff --git a/include/qt/CoreFoundation/CFBase.h b/include/qt/CoreFoundation/CFBase.h
index 827a287c2..bfbcf7768 100644
--- a/include/qt/CoreFoundation/CFBase.h
+++ b/include/qt/CoreFoundation/CFBase.h
@@ -26,51 +26,51 @@
#endif
#if TARGET_OS_WIN32
-#define CF_BUILDING_CF_AS_LIB 1
+ #define CF_BUILDING_CF_AS_LIB 1
#endif
#if defined(__GNUC__) || defined(__MWERKS__)
-#include <stdint.h"
-#include <stdbool.h"
+ #include <stdint.h"
+ #include <stdbool.h"
#else
-// mostly for the benefit of MSVC
-#include "..\GNUCompatibility/stdint.h"
-#include "..\GNUCompatibility/stdbool.h"
-#if TARGET_OS_WIN32
-#undef pascal
-#define pascal
-typedef void *HANDLE;
-#endif
+ // mostly for the benefit of MSVC
+ #include "..\GNUCompatibility/stdint.h"
+ #include "..\GNUCompatibility/stdbool.h"
+ #if TARGET_OS_WIN32
+ #undef pascal
+ #define pascal
+ typedef void *HANDLE;
+ #endif
#endif
#include "AvailabilityMacros.h"
-#include "MacTypes.h"
+ #include "MacTypes.h"
#if !defined(__MACTYPES__)
-typedef unsigned char Boolean;
-typedef unsigned char UInt8;
-typedef signed char SInt8;
-typedef unsigned short UInt16;
-typedef signed short SInt16;
-typedef unsigned long UInt32;
-typedef signed long SInt32;
-typedef uint64_t UInt64;
-typedef int64_t SInt64;
-typedef float Float32;
-typedef double Float64;
-typedef unsigned short UniChar;
-typedef unsigned char * StringPtr;
-typedef const unsigned char * ConstStringPtr;
-typedef unsigned char Str255[256];
-typedef const unsigned char * ConstStr255Param;
-typedef SInt16 OSErr;
-typedef SInt32 OSStatus;
+ typedef unsigned char Boolean;
+ typedef unsigned char UInt8;
+ typedef signed char SInt8;
+ typedef unsigned short UInt16;
+ typedef signed short SInt16;
+ typedef unsigned long UInt32;
+ typedef signed long SInt32;
+ typedef uint64_t UInt64;
+ typedef int64_t SInt64;
+ typedef float Float32;
+ typedef double Float64;
+ typedef unsigned short UniChar;
+ typedef unsigned char * StringPtr;
+ typedef const unsigned char * ConstStringPtr;
+ typedef unsigned char Str255[256];
+ typedef const unsigned char * ConstStr255Param;
+ typedef SInt16 OSErr;
+ typedef SInt32 OSStatus;
#endif
#if !defined(__MACTYPES__) || (defined(UNIVERSAL_INTERFACES_VERSION) && UNIVERSAL_INTERFACES_VERSION < 0x0340)
-typedef UInt32 UTF32Char;
-typedef UInt16 UTF16Char;
-typedef UInt8 UTF8Char;
+ typedef UInt32 UTF32Char;
+ typedef UInt16 UTF16Char;
+ typedef UInt8 UTF8Char;
#endif
#if defined(__CYGWIN32__) || defined (D__CYGWIN_)
@@ -82,58 +82,58 @@ extern "C" {
#endif
#if !defined(NULL)
-#define NULL 0
+ #define NULL 0
#endif
#if !defined(TRUE)
-#define TRUE 1
+ #define TRUE 1
#endif
#if !defined(FALSE)
-#define FALSE 0
+ #define FALSE 0
#endif
#if defined(__WIN32__)
-#undef CF_EXPORT
-#if defined(CF_BUILDING_CF_AS_LIB)
+ #undef CF_EXPORT
+ #if defined(CF_BUILDING_CF_AS_LIB)
// we're building CF as a library
-#define CF_EXPORT extern
-#elif defined(CF_BUILDING_CF)
+ #define CF_EXPORT extern
+ #elif defined(CF_BUILDING_CF)
// we're building CF as a DLL
-#define CF_EXPORT __declspec(dllexport) extern
-#else
-#define CF_EXPORT __declspec(dllimport) extern
-#endif
+ #define CF_EXPORT __declspec(dllexport) extern
+ #else
+ #define CF_EXPORT __declspec(dllimport) extern
+ #endif
#elif defined(macintosh)
-#if defined(__MWERKS__)
-#define CF_EXPORT __declspec(export) extern
-#endif
+ #if defined(__MWERKS__)
+ #define CF_EXPORT __declspec(export) extern
+ #endif
#endif
#if !defined(CF_EXPORT)
-#define CF_EXPORT extern
+ #define CF_EXPORT extern
#endif
#if !defined(CF_INLINE)
-#if defined(__GNUC__)
-#define CF_INLINE static __inline__
-#elif defined(__MWERKS__) || defined(__cplusplus)
-#define CF_INLINE static inline
-#elif defined(_MSC_VER)
-#define CF_INLINE static __inline
-#elif defined(__WIN32__)
-#define CF_INLINE static __inline__
-#endif
+ #if defined(__GNUC__)
+ #define CF_INLINE static __inline__
+ #elif defined(__MWERKS__) || defined(__cplusplus)
+ #define CF_INLINE static inline
+ #elif defined(_MSC_VER)
+ #define CF_INLINE static __inline
+ #elif defined(__WIN32__)
+ #define CF_INLINE static __inline__
+ #endif
#endif
- CF_EXPORT double kCFCoreFoundationVersionNumber;
+CF_EXPORT double kCFCoreFoundationVersionNumber;
#define kCFCoreFoundationVersionNumber10_0 196.4
#define kCFCoreFoundationVersionNumber10_0_3 196.5
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
#define kCFCoreFoundationVersionNumber10_1 226.0
- /* Note these do not follow the usual numbering policy from the base release */
+/* Note these do not follow the usual numbering policy from the base release */
#define kCFCoreFoundationVersionNumber10_1_2 227.2
#define kCFCoreFoundationVersionNumber10_1_4 227.3
#endif
@@ -141,100 +141,96 @@ extern "C" {
#define kCFCoreFoundationVersionNumber10_2 263.0
#endif
- typedef UInt32 CFTypeID;
- typedef UInt32 CFOptionFlags;
- typedef UInt32 CFHashCode;
- typedef SInt32 CFIndex;
+typedef UInt32 CFTypeID;
+typedef UInt32 CFOptionFlags;
+typedef UInt32 CFHashCode;
+typedef SInt32 CFIndex;
- /* Base "type" of all "CF objects", and polymorphic functions on them */
- typedef const void * CFTypeRef;
+/* Base "type" of all "CF objects", and polymorphic functions on them */
+typedef const void * CFTypeRef;
- typedef const struct __CFString * CFStringRef;
- typedef struct __CFString * CFMutableStringRef;
+typedef const struct __CFString * CFStringRef;
+typedef struct __CFString * CFMutableStringRef;
- /*
- Type to mean any instance of a property list type;
- currently, CFString, CFData, CFNumber, CFBoolean, CFDate,
- CFArray, and CFDictionary.
- */
- typedef CFTypeRef CFPropertyListRef;
+/*
+ Type to mean any instance of a property list type;
+ currently, CFString, CFData, CFNumber, CFBoolean, CFDate,
+ CFArray, and CFDictionary.
+*/
+typedef CFTypeRef CFPropertyListRef;
- /* Values returned from comparison functions */
- typedef enum
- {
- kCFCompareLessThan = -1,
- kCFCompareEqualTo = 0,
- kCFCompareGreaterThan = 1
- } CFComparisonResult;
+/* Values returned from comparison functions */
+typedef enum {
+ kCFCompareLessThan = -1,
+ kCFCompareEqualTo = 0,
+ kCFCompareGreaterThan = 1
+} CFComparisonResult;
- /* A standard comparison function */
- typedef CFComparisonResult(*CFComparatorFunction)(const void *val1, const void *val2, void *context);
+/* A standard comparison function */
+typedef CFComparisonResult (*CFComparatorFunction)(const void *val1, const void *val2, void *context);
- /* Constant used by some functions to indicate failed searches. */
- /* This is of type CFIndex. */
- enum
- {
- kCFNotFound = -1
- };
+/* Constant used by some functions to indicate failed searches. */
+/* This is of type CFIndex. */
+enum {
+ kCFNotFound = -1
+};
#if TARGET_OS_WIN32
- CF_EXPORT
- void *QTGetCFConstant(const char *cfGlobalConstantKey);
+CF_EXPORT
+void *QTGetCFConstant(const char *cfGlobalConstantKey);
#endif // TARGET_OS_WIN32
- /* Range type */
- typedef struct
- {
- CFIndex location;
- CFIndex length;
- } CFRange;
+/* Range type */
+typedef struct {
+ CFIndex location;
+ CFIndex length;
+} CFRange;
#if defined(CF_INLINE)
- CF_INLINE CFRange CFRangeMake(CFIndex loc, CFIndex len)
- {
- CFRange range;
- range.location = loc;
- range.length = len;
- return range;
- }
+CF_INLINE CFRange CFRangeMake(CFIndex loc, CFIndex len) {
+ CFRange range;
+ range.location = loc;
+ range.length = len;
+ return range;
+}
#else
#define CFRangeMake(LOC, LEN) __CFRangeMake(LOC, LEN)
#endif
- /* Private; do not use */
- CF_EXPORT
- CFRange __CFRangeMake(CFIndex loc, CFIndex len);
+/* Private; do not use */
+CF_EXPORT
+CFRange __CFRangeMake(CFIndex loc, CFIndex len);
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /* Null representant */
+/* Null representant */
- typedef const struct __CFNull * CFNullRef;
+typedef const struct __CFNull * CFNullRef;
- CF_EXPORT
- CFTypeID CFNullGetTypeID(void);
+CF_EXPORT
+CFTypeID CFNullGetTypeID(void);
#if TARGET_OS_WIN32
#define kCFNull (*((const CFNullRef *)QTGetCFConstant("kCFNull")))
#else
- CF_EXPORT
- const CFNullRef kCFNull; // the singleton null instance
+CF_EXPORT
+const CFNullRef kCFNull; // the singleton null instance
#endif
#endif
- /* Allocator API
+/* Allocator API
- Most of the time when specifying an allocator to Create functions, the NULL
- argument indicates "use the default"; this is the same as using kCFAllocatorDefault
- or the return value from CFAllocatorGetDefault(). This assures that you will use
- the allocator in effect at that time.
+ Most of the time when specifying an allocator to Create functions, the NULL
+ argument indicates "use the default"; this is the same as using kCFAllocatorDefault
+ or the return value from CFAllocatorGetDefault(). This assures that you will use
+ the allocator in effect at that time.
- You should rarely use kCFAllocatorSystemDefault, the default default allocator.
- */
- typedef const struct __CFAllocator * CFAllocatorRef;
+ You should rarely use kCFAllocatorSystemDefault, the default default allocator.
+*/
+typedef const struct __CFAllocator * CFAllocatorRef;
#if TARGET_OS_WIN32
#define kCFAllocatorDefault (*((const CFAllocatorRef *)QTGetCFConstant("kCFAllocatorDefault")))
@@ -243,137 +239,136 @@ extern "C" {
#define kCFAllocatorNull (*((const CFAllocatorRef *)QTGetCFConstant("kCFAllocatorNull")))
#define kCFAllocatorUseContext (*((const CFAllocatorRef *)QTGetCFConstant("kCFAllocatorUseContext")))
#else
- /* This is a synonym for NULL, if you'd rather use a named constant. */
- CF_EXPORT
- const CFAllocatorRef kCFAllocatorDefault;
-
- /* Default system allocator; you rarely need to use this. */
- CF_EXPORT
- const CFAllocatorRef kCFAllocatorSystemDefault;
-
- /* This allocator uses malloc(), realloc(), and free(). This should not be
- generally used; stick to kCFAllocatorDefault whenever possible. This
- allocator is useful as the "bytesDeallocator" in CFData or
- "contentsDeallocator" in CFString where the memory was obtained as a
- result of malloc() type functions.
- */
- CF_EXPORT
- const CFAllocatorRef kCFAllocatorMalloc;
-
- /* Null allocator which does nothing and allocates no memory. This allocator
- is useful as the "bytesDeallocator" in CFData or "contentsDeallocator"
- in CFString where the memory should not be freed.
- */
- CF_EXPORT
- const CFAllocatorRef kCFAllocatorNull;
-
- /* Special allocator argument to CFAllocatorCreate() which means
- "use the functions given in the context to allocate the allocator
- itself as well".
- */
- CF_EXPORT
- const CFAllocatorRef kCFAllocatorUseContext;
+/* This is a synonym for NULL, if you'd rather use a named constant. */
+CF_EXPORT
+const CFAllocatorRef kCFAllocatorDefault;
+
+/* Default system allocator; you rarely need to use this. */
+CF_EXPORT
+const CFAllocatorRef kCFAllocatorSystemDefault;
+
+/* This allocator uses malloc(), realloc(), and free(). This should not be
+ generally used; stick to kCFAllocatorDefault whenever possible. This
+ allocator is useful as the "bytesDeallocator" in CFData or
+ "contentsDeallocator" in CFString where the memory was obtained as a
+ result of malloc() type functions.
+*/
+CF_EXPORT
+const CFAllocatorRef kCFAllocatorMalloc;
+
+/* Null allocator which does nothing and allocates no memory. This allocator
+ is useful as the "bytesDeallocator" in CFData or "contentsDeallocator"
+ in CFString where the memory should not be freed.
+*/
+CF_EXPORT
+const CFAllocatorRef kCFAllocatorNull;
+
+/* Special allocator argument to CFAllocatorCreate() which means
+ "use the functions given in the context to allocate the allocator
+ itself as well".
+*/
+CF_EXPORT
+const CFAllocatorRef kCFAllocatorUseContext;
#endif
- typedef const void *(*CFAllocatorRetainCallBack)(const void *info);
- typedef void (*CFAllocatorReleaseCallBack)(const void *info);
- typedef CFStringRef(*CFAllocatorCopyDescriptionCallBack)(const void *info);
- typedef void *(*CFAllocatorAllocateCallBack)(CFIndex allocSize, CFOptionFlags hint, void *info);
- typedef void *(*CFAllocatorReallocateCallBack)(void *ptr, CFIndex newsize, CFOptionFlags hint, void *info);
- typedef void (*CFAllocatorDeallocateCallBack)(void *ptr, void *info);
- typedef CFIndex(*CFAllocatorPreferredSizeCallBack)(CFIndex size, CFOptionFlags hint, void *info);
- typedef struct
- {
- CFIndex version;
- void * info;
- CFAllocatorRetainCallBack retain;
- CFAllocatorReleaseCallBack release;
- CFAllocatorCopyDescriptionCallBack copyDescription;
- CFAllocatorAllocateCallBack allocate;
- CFAllocatorReallocateCallBack reallocate;
- CFAllocatorDeallocateCallBack deallocate;
- CFAllocatorPreferredSizeCallBack preferredSize;
- } CFAllocatorContext;
-
- CF_EXPORT
- CFTypeID CFAllocatorGetTypeID(void);
-
- /*
- CFAllocatorSetDefault() sets the allocator that is used in the current
- thread whenever NULL is specified as an allocator argument. This means
- that most, if not all allocations will go through this allocator. It
- also means that any allocator set as the default needs to be ready to
- deal with arbitrary memory allocation requests; in addition, the size
- and number of requests will change between releases.
-
- An allocator set as the default will never be released, even if later
- another allocator replaces it as the default. Not only is it impractical
- for it to be released (as there might be caches created under the covers
- that refer to the allocator), in general it's also safer and more
- efficient to keep it around.
-
- If you wish to use a custom allocator in a context, it's best to provide
- it as the argument to the various creation functions rather than setting
- it as the default. Setting the default allocator is not encouraged.
-
- If you do set an allocator as the default, either do it for all time in
- your app, or do it in a nested fashion (by restoring the previous allocator
- when you exit your context). The latter might be appropriate for plug-ins
- or libraries that wish to set the default allocator.
- */
- CF_EXPORT
- void CFAllocatorSetDefault(CFAllocatorRef allocator);
-
- CF_EXPORT
- CFAllocatorRef CFAllocatorGetDefault(void);
-
- CF_EXPORT
- CFAllocatorRef CFAllocatorCreate(CFAllocatorRef allocator, CFAllocatorContext *context);
-
- CF_EXPORT
- void *CFAllocatorAllocate(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint);
-
- CF_EXPORT
- void *CFAllocatorReallocate(CFAllocatorRef allocator, void *ptr, CFIndex newsize, CFOptionFlags hint);
-
- CF_EXPORT
- void CFAllocatorDeallocate(CFAllocatorRef allocator, void *ptr);
-
- CF_EXPORT
- CFIndex CFAllocatorGetPreferredSizeForSize(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint);
-
- CF_EXPORT
- void CFAllocatorGetContext(CFAllocatorRef allocator, CFAllocatorContext *context);
-
-
- /* Polymorphic CF functions */
-
- CF_EXPORT
- CFTypeID CFGetTypeID(CFTypeRef cf);
-
- CF_EXPORT
- CFStringRef CFCopyTypeIDDescription(CFTypeID type_id);
-
- CF_EXPORT
- CFTypeRef CFRetain(CFTypeRef cf);
-
- CF_EXPORT
- void CFRelease(CFTypeRef cf);
-
- CF_EXPORT
- CFIndex CFGetRetainCount(CFTypeRef cf);
-
- CF_EXPORT
- Boolean CFEqual(CFTypeRef cf1, CFTypeRef cf2);
-
- CF_EXPORT
- CFHashCode CFHash(CFTypeRef cf);
-
- CF_EXPORT
- CFStringRef CFCopyDescription(CFTypeRef cf);
-
- CF_EXPORT
- CFAllocatorRef CFGetAllocator(CFTypeRef cf);
+typedef const void * (*CFAllocatorRetainCallBack)(const void *info);
+typedef void (*CFAllocatorReleaseCallBack)(const void *info);
+typedef CFStringRef (*CFAllocatorCopyDescriptionCallBack)(const void *info);
+typedef void * (*CFAllocatorAllocateCallBack)(CFIndex allocSize, CFOptionFlags hint, void *info);
+typedef void * (*CFAllocatorReallocateCallBack)(void *ptr, CFIndex newsize, CFOptionFlags hint, void *info);
+typedef void (*CFAllocatorDeallocateCallBack)(void *ptr, void *info);
+typedef CFIndex (*CFAllocatorPreferredSizeCallBack)(CFIndex size, CFOptionFlags hint, void *info);
+typedef struct {
+ CFIndex version;
+ void * info;
+ CFAllocatorRetainCallBack retain;
+ CFAllocatorReleaseCallBack release;
+ CFAllocatorCopyDescriptionCallBack copyDescription;
+ CFAllocatorAllocateCallBack allocate;
+ CFAllocatorReallocateCallBack reallocate;
+ CFAllocatorDeallocateCallBack deallocate;
+ CFAllocatorPreferredSizeCallBack preferredSize;
+} CFAllocatorContext;
+
+CF_EXPORT
+CFTypeID CFAllocatorGetTypeID(void);
+
+/*
+ CFAllocatorSetDefault() sets the allocator that is used in the current
+ thread whenever NULL is specified as an allocator argument. This means
+ that most, if not all allocations will go through this allocator. It
+ also means that any allocator set as the default needs to be ready to
+ deal with arbitrary memory allocation requests; in addition, the size
+ and number of requests will change between releases.
+
+ An allocator set as the default will never be released, even if later
+ another allocator replaces it as the default. Not only is it impractical
+ for it to be released (as there might be caches created under the covers
+ that refer to the allocator), in general it's also safer and more
+ efficient to keep it around.
+
+ If you wish to use a custom allocator in a context, it's best to provide
+ it as the argument to the various creation functions rather than setting
+ it as the default. Setting the default allocator is not encouraged.
+
+ If you do set an allocator as the default, either do it for all time in
+ your app, or do it in a nested fashion (by restoring the previous allocator
+ when you exit your context). The latter might be appropriate for plug-ins
+ or libraries that wish to set the default allocator.
+*/
+CF_EXPORT
+void CFAllocatorSetDefault(CFAllocatorRef allocator);
+
+CF_EXPORT
+CFAllocatorRef CFAllocatorGetDefault(void);
+
+CF_EXPORT
+CFAllocatorRef CFAllocatorCreate(CFAllocatorRef allocator, CFAllocatorContext *context);
+
+CF_EXPORT
+void *CFAllocatorAllocate(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint);
+
+CF_EXPORT
+void *CFAllocatorReallocate(CFAllocatorRef allocator, void *ptr, CFIndex newsize, CFOptionFlags hint);
+
+CF_EXPORT
+void CFAllocatorDeallocate(CFAllocatorRef allocator, void *ptr);
+
+CF_EXPORT
+CFIndex CFAllocatorGetPreferredSizeForSize(CFAllocatorRef allocator, CFIndex size, CFOptionFlags hint);
+
+CF_EXPORT
+void CFAllocatorGetContext(CFAllocatorRef allocator, CFAllocatorContext *context);
+
+
+/* Polymorphic CF functions */
+
+CF_EXPORT
+CFTypeID CFGetTypeID(CFTypeRef cf);
+
+CF_EXPORT
+CFStringRef CFCopyTypeIDDescription(CFTypeID type_id);
+
+CF_EXPORT
+CFTypeRef CFRetain(CFTypeRef cf);
+
+CF_EXPORT
+void CFRelease(CFTypeRef cf);
+
+CF_EXPORT
+CFIndex CFGetRetainCount(CFTypeRef cf);
+
+CF_EXPORT
+Boolean CFEqual(CFTypeRef cf1, CFTypeRef cf2);
+
+CF_EXPORT
+CFHashCode CFHash(CFTypeRef cf);
+
+CF_EXPORT
+CFStringRef CFCopyDescription(CFTypeRef cf);
+
+CF_EXPORT
+CFAllocatorRef CFGetAllocator(CFTypeRef cf);
#if defined(__cplusplus)
}
diff --git a/include/qt/CoreFoundation/CFCharacterSet.h b/include/qt/CoreFoundation/CFCharacterSet.h
index 4d3104a02..836c33767 100644
--- a/include/qt/CoreFoundation/CFCharacterSet.h
+++ b/include/qt/CoreFoundation/CFCharacterSet.h
@@ -38,352 +38,351 @@
extern "C" {
#endif
- /*!
- @typedef CFCharacterSetRef
- This is the type of a reference to immutable CFCharacterSets.
- */
- typedef const struct __CFCharacterSet * CFCharacterSetRef;
+/*!
+ @typedef CFCharacterSetRef
+ This is the type of a reference to immutable CFCharacterSets.
+*/
+typedef const struct __CFCharacterSet * CFCharacterSetRef;
- /*!
- @typedef CFMutableCharacterSetRef
- This is the type of a reference to mutable CFMutableCharacterSets.
- */
- typedef struct __CFCharacterSet * CFMutableCharacterSetRef;
+/*!
+ @typedef CFMutableCharacterSetRef
+ This is the type of a reference to mutable CFMutableCharacterSets.
+*/
+typedef struct __CFCharacterSet * CFMutableCharacterSetRef;
- /*!
- @typedef CFCharacterSetPredefinedSet
- Type of the predefined CFCharacterSet selector values.
- */
- typedef enum
- {
- kCFCharacterSetControl = 1, /* Control character set (Unicode General Category Cc and Cf) */
- kCFCharacterSetWhitespace, /* Whitespace character set (Unicode General Category Zs and U0009 CHARACTER TABULATION) */
- kCFCharacterSetWhitespaceAndNewline, /* Whitespace and Newline character set (Unicode General Category Z*, U000A ~ U000D, and U0085) */
- kCFCharacterSetDecimalDigit, /* Decimal digit character set */
- kCFCharacterSetLetter, /* Letter character set (Unicode General Category L* & M*) */
- kCFCharacterSetLowercaseLetter, /* Lowercase character set (Unicode General Category Ll) */
- kCFCharacterSetUppercaseLetter, /* Uppercase character set (Unicode General Category Lu and Lt) */
- kCFCharacterSetNonBase, /* Non-base character set (Unicode General Category M*) */
- kCFCharacterSetDecomposable, /* Canonically decomposable character set */
- kCFCharacterSetAlphaNumeric, /* Alpha Numeric character set (Unicode General Category L*, M*, & N*) */
- kCFCharacterSetPunctuation, /* Punctuation character set (Unicode General Category P*) */
- kCFCharacterSetIllegal /* Illegal character set */
+/*!
+ @typedef CFCharacterSetPredefinedSet
+ Type of the predefined CFCharacterSet selector values.
+*/
+typedef enum {
+ kCFCharacterSetControl = 1, /* Control character set (Unicode General Category Cc and Cf) */
+ kCFCharacterSetWhitespace, /* Whitespace character set (Unicode General Category Zs and U0009 CHARACTER TABULATION) */
+ kCFCharacterSetWhitespaceAndNewline, /* Whitespace and Newline character set (Unicode General Category Z*, U000A ~ U000D, and U0085) */
+ kCFCharacterSetDecimalDigit, /* Decimal digit character set */
+ kCFCharacterSetLetter, /* Letter character set (Unicode General Category L* & M*) */
+ kCFCharacterSetLowercaseLetter, /* Lowercase character set (Unicode General Category Ll) */
+ kCFCharacterSetUppercaseLetter, /* Uppercase character set (Unicode General Category Lu and Lt) */
+ kCFCharacterSetNonBase, /* Non-base character set (Unicode General Category M*) */
+ kCFCharacterSetDecomposable, /* Canonically decomposable character set */
+ kCFCharacterSetAlphaNumeric, /* Alpha Numeric character set (Unicode General Category L*, M*, & N*) */
+ kCFCharacterSetPunctuation, /* Punctuation character set (Unicode General Category P*) */
+ kCFCharacterSetIllegal /* Illegal character set */
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
- , kCFCharacterSetCapitalizedLetter /* Titlecase character set (Unicode General Category Lt) */
+ , kCFCharacterSetCapitalizedLetter /* Titlecase character set (Unicode General Category Lt) */
#endif
#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
- , kCFCharacterSetSymbol /* Symbol character set (Unicode General Category S*) */
+ , kCFCharacterSetSymbol /* Symbol character set (Unicode General Category S*) */
#endif
- } CFCharacterSetPredefinedSet;
+} CFCharacterSetPredefinedSet;
- /*!
- @function CFCharacterSetGetTypeID
- Returns the type identifier of all CFCharacterSet instances.
- */
- CF_EXPORT
- CFTypeID CFCharacterSetGetTypeID(void);
+/*!
+ @function CFCharacterSetGetTypeID
+ Returns the type identifier of all CFCharacterSet instances.
+*/
+CF_EXPORT
+CFTypeID CFCharacterSetGetTypeID(void);
- /*!
- @function CFCharacterSetGetPredefined
- Returns a predefined CFCharacterSet instance.
- @param theSetIdentifier The CFCharacterSetPredefinedSet selector
- which specifies the predefined character set. If the
- value is not in CFCharacterSetPredefinedSet, the behavior
- is undefined.
- @result A reference to the predefined immutable CFCharacterSet.
- This instance is owned by CF.
- */
- CF_EXPORT
- CFCharacterSetRef CFCharacterSetGetPredefined(CFCharacterSetPredefinedSet theSetIdentifier);
+/*!
+ @function CFCharacterSetGetPredefined
+ Returns a predefined CFCharacterSet instance.
+ @param theSetIdentifier The CFCharacterSetPredefinedSet selector
+ which specifies the predefined character set. If the
+ value is not in CFCharacterSetPredefinedSet, the behavior
+ is undefined.
+ @result A reference to the predefined immutable CFCharacterSet.
+ This instance is owned by CF.
+*/
+CF_EXPORT
+CFCharacterSetRef CFCharacterSetGetPredefined(CFCharacterSetPredefinedSet theSetIdentifier);
- /*!
- @function CFCharacterSetCreateWithCharactersInRange
- Creates a new immutable character set with the values from the given range.
- @param alloc The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theRange The CFRange which should be used to specify the
- Unicode range the character set is filled with. It
- accepts the range in 32-bit in the UTF-32 format. The
- valid character point range is from 0x00000 to 0x10FFFF.
- If the range is outside of the valid Unicode character
- point, the behavior is undefined.
- @result A reference to the new immutable CFCharacterSet.
- */
- CF_EXPORT
- CFCharacterSetRef CFCharacterSetCreateWithCharactersInRange(CFAllocatorRef alloc, CFRange theRange);
+/*!
+ @function CFCharacterSetCreateWithCharactersInRange
+ Creates a new immutable character set with the values from the given range.
+ @param alloc The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theRange The CFRange which should be used to specify the
+ Unicode range the character set is filled with. It
+ accepts the range in 32-bit in the UTF-32 format. The
+ valid character point range is from 0x00000 to 0x10FFFF.
+ If the range is outside of the valid Unicode character
+ point, the behavior is undefined.
+ @result A reference to the new immutable CFCharacterSet.
+*/
+CF_EXPORT
+CFCharacterSetRef CFCharacterSetCreateWithCharactersInRange(CFAllocatorRef alloc, CFRange theRange);
- /*!
- @function CFCharacterSetCreateWithCharactersInString
- Creates a new immutable character set with the values in the given string.
- @param alloc The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theString The CFString which should be used to specify
- the Unicode characters the character set is filled with.
- If this parameter is not a valid CFString, the behavior
- is undefined.
- @result A reference to the new immutable CFCharacterSet.
- */
- CF_EXPORT
- CFCharacterSetRef CFCharacterSetCreateWithCharactersInString(CFAllocatorRef alloc, CFStringRef theString);
+/*!
+ @function CFCharacterSetCreateWithCharactersInString
+ Creates a new immutable character set with the values in the given string.
+ @param alloc The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theString The CFString which should be used to specify
+ the Unicode characters the character set is filled with.
+ If this parameter is not a valid CFString, the behavior
+ is undefined.
+ @result A reference to the new immutable CFCharacterSet.
+*/
+CF_EXPORT
+CFCharacterSetRef CFCharacterSetCreateWithCharactersInString(CFAllocatorRef alloc, CFStringRef theString);
- /*!
- @function CFCharacterSetCreateWithBitmapRepresentation
- Creates a new immutable character set with the bitmap representtion in the given data.
- @param alloc The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theData The CFData which should be used to specify the
- bitmap representation of the Unicode character points
- the character set is filled with. The bitmap
- representation could contain all the Unicode character
- range starting from BMP to Plane 16. The first 8K bytes
- of the data represents the BMP range. The BMP range 8K
- bytes can be followed by zero to sixteen 8K byte
- bitmaps, each one with the plane index byte prepended.
- For example, the bitmap representing the BMP and Plane 2
- has the size of 16385 bytes (8K bytes for BMP, 1 byte
- index + 8K bytes bitmap for Plane 2). The plane index
- byte, in this case, contains the integer value two. If
- this parameter is not a valid CFData or it contains a
- Plane index byte outside of the valid Plane range
- (1 to 16), the behavior is undefined.
- @result A reference to the new immutable CFCharacterSet.
- */
- CF_EXPORT
- CFCharacterSetRef CFCharacterSetCreateWithBitmapRepresentation(CFAllocatorRef alloc, CFDataRef theData);
+/*!
+ @function CFCharacterSetCreateWithBitmapRepresentation
+ Creates a new immutable character set with the bitmap representtion in the given data.
+ @param alloc The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theData The CFData which should be used to specify the
+ bitmap representation of the Unicode character points
+ the character set is filled with. The bitmap
+ representation could contain all the Unicode character
+ range starting from BMP to Plane 16. The first 8K bytes
+ of the data represents the BMP range. The BMP range 8K
+ bytes can be followed by zero to sixteen 8K byte
+ bitmaps, each one with the plane index byte prepended.
+ For example, the bitmap representing the BMP and Plane 2
+ has the size of 16385 bytes (8K bytes for BMP, 1 byte
+ index + 8K bytes bitmap for Plane 2). The plane index
+ byte, in this case, contains the integer value two. If
+ this parameter is not a valid CFData or it contains a
+ Plane index byte outside of the valid Plane range
+ (1 to 16), the behavior is undefined.
+ @result A reference to the new immutable CFCharacterSet.
+*/
+CF_EXPORT
+CFCharacterSetRef CFCharacterSetCreateWithBitmapRepresentation(CFAllocatorRef alloc, CFDataRef theData);
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /*!
- @function CFCharacterSetCreateInvertedSet
- Creates a new immutable character set that is the invert of the specified character set.
- @param alloc The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theSet The CFCharacterSet which is to be inverted. If this
- parameter is not a valid CFCharacterSet, the behavior is
- undefined.
- @result A reference to the new immutable CFCharacterSet.
- */
- CF_EXPORT CFCharacterSetRef CFCharacterSetCreateInvertedSet(CFAllocatorRef alloc, CFCharacterSetRef theSet);
+/*!
+ @function CFCharacterSetCreateInvertedSet
+ Creates a new immutable character set that is the invert of the specified character set.
+ @param alloc The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theSet The CFCharacterSet which is to be inverted. If this
+ parameter is not a valid CFCharacterSet, the behavior is
+ undefined.
+ @result A reference to the new immutable CFCharacterSet.
+*/
+CF_EXPORT CFCharacterSetRef CFCharacterSetCreateInvertedSet(CFAllocatorRef alloc, CFCharacterSetRef theSet);
- /*!
- @function CFCharacterSetIsSupersetOfSet
- Reports whether or not the character set is a superset of the character set specified as the second parameter.
- @param theSet The character set to be checked for the membership of theOtherSet.
- If this parameter is not a valid CFCharacterSet, the behavior is undefined.
- @param theOtherset The character set to be checked whether or not it is a subset of theSet.
- If this parameter is not a valid CFCharacterSet, the behavior is undefined.
- */
- CF_EXPORT Boolean CFCharacterSetIsSupersetOfSet(CFCharacterSetRef theSet, CFCharacterSetRef theOtherset);
+/*!
+ @function CFCharacterSetIsSupersetOfSet
+ Reports whether or not the character set is a superset of the character set specified as the second parameter.
+ @param theSet The character set to be checked for the membership of theOtherSet.
+ If this parameter is not a valid CFCharacterSet, the behavior is undefined.
+ @param theOtherset The character set to be checked whether or not it is a subset of theSet.
+ If this parameter is not a valid CFCharacterSet, the behavior is undefined.
+*/
+CF_EXPORT Boolean CFCharacterSetIsSupersetOfSet(CFCharacterSetRef theSet, CFCharacterSetRef theOtherset);
- /*!
- @function CFCharacterSetHasMemberInPlane
- Reports whether or not the character set contains at least one member character in the specified plane.
- @param theSet The character set to be checked for the membership. If this
- parameter is not a valid CFCharacterSet, the behavior is undefined.
- @param thePlane The plane number to be checked for the membership.
- The valid value range is from 0 to 16. If the value is outside of the valid
- plane number range, the behavior is undefined.
- */
- CF_EXPORT Boolean CFCharacterSetHasMemberInPlane(CFCharacterSetRef theSet, CFIndex thePlane);
+/*!
+ @function CFCharacterSetHasMemberInPlane
+ Reports whether or not the character set contains at least one member character in the specified plane.
+ @param theSet The character set to be checked for the membership. If this
+ parameter is not a valid CFCharacterSet, the behavior is undefined.
+ @param thePlane The plane number to be checked for the membership.
+ The valid value range is from 0 to 16. If the value is outside of the valid
+ plane number range, the behavior is undefined.
+*/
+CF_EXPORT Boolean CFCharacterSetHasMemberInPlane(CFCharacterSetRef theSet, CFIndex thePlane);
#endif
- /*!
- @function CFCharacterSetCreateMutable
- Creates a new empty mutable character set.
- @param allocator The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @result A reference to the new mutable CFCharacterSet.
- */
- CF_EXPORT
- CFMutableCharacterSetRef CFCharacterSetCreateMutable(CFAllocatorRef alloc);
+/*!
+ @function CFCharacterSetCreateMutable
+ Creates a new empty mutable character set.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @result A reference to the new mutable CFCharacterSet.
+*/
+CF_EXPORT
+CFMutableCharacterSetRef CFCharacterSetCreateMutable(CFAllocatorRef alloc);
#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /*!
- @function CFCharacterSetCreateCopy
- Creates a new character set with the values from the given character set. This function tries to compact the backing store where applicable.
- @param allocator The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theSet The CFCharacterSet which is to be copied. If this
- parameter is not a valid CFCharacterSet, the behavior is
- undefined.
- @result A reference to the new CFCharacterSet.
- */
- CF_EXPORT
- CFCharacterSetRef CFCharacterSetCreateCopy(CFAllocatorRef alloc, CFCharacterSetRef theSet) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
+/*!
+ @function CFCharacterSetCreateCopy
+ Creates a new character set with the values from the given character set. This function tries to compact the backing store where applicable.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theSet The CFCharacterSet which is to be copied. If this
+ parameter is not a valid CFCharacterSet, the behavior is
+ undefined.
+ @result A reference to the new CFCharacterSet.
+*/
+CF_EXPORT
+CFCharacterSetRef CFCharacterSetCreateCopy(CFAllocatorRef alloc, CFCharacterSetRef theSet) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
#endif /* MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED */
- /*!
- @function CFCharacterSetCreateMutableCopy
- Creates a new mutable character set with the values from the given character set.
- @param allocator The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theSet The CFCharacterSet which is to be copied. If this
- parameter is not a valid CFCharacterSet, the behavior is
- undefined.
- @result A reference to the new mutable CFCharacterSet.
- */
- CF_EXPORT
- CFMutableCharacterSetRef CFCharacterSetCreateMutableCopy(CFAllocatorRef alloc, CFCharacterSetRef theSet);
+/*!
+ @function CFCharacterSetCreateMutableCopy
+ Creates a new mutable character set with the values from the given character set.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theSet The CFCharacterSet which is to be copied. If this
+ parameter is not a valid CFCharacterSet, the behavior is
+ undefined.
+ @result A reference to the new mutable CFCharacterSet.
+*/
+CF_EXPORT
+CFMutableCharacterSetRef CFCharacterSetCreateMutableCopy(CFAllocatorRef alloc, CFCharacterSetRef theSet);
- /*!
- @function CFCharacterSetIsCharacterMember
- Reports whether or not the Unicode character is in the character set.
- @param theSet The character set to be searched. If this parameter
- is not a valid CFCharacterSet, the behavior is undefined.
- @param theChar The Unicode character for which to test against the
- character set. Note that this function takes 16-bit Unicode
- character value; hence, it does not support access to the
- non-BMP planes.
- @result true, if the value is in the character set, otherwise false.
- */
- CF_EXPORT
- Boolean CFCharacterSetIsCharacterMember(CFCharacterSetRef theSet, UniChar theChar);
+/*!
+ @function CFCharacterSetIsCharacterMember
+ Reports whether or not the Unicode character is in the character set.
+ @param theSet The character set to be searched. If this parameter
+ is not a valid CFCharacterSet, the behavior is undefined.
+ @param theChar The Unicode character for which to test against the
+ character set. Note that this function takes 16-bit Unicode
+ character value; hence, it does not support access to the
+ non-BMP planes.
+ @result true, if the value is in the character set, otherwise false.
+*/
+CF_EXPORT
+Boolean CFCharacterSetIsCharacterMember(CFCharacterSetRef theSet, UniChar theChar);
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /*!
- @function CFCharacterSetIsLongCharacterMember
- Reports whether or not the UTF-32 character is in the character set.
- @param theSet The character set to be searched. If this parameter
- is not a valid CFCharacterSet, the behavior is undefined.
- @param theChar The UTF-32 character for which to test against the
- character set.
- @result true, if the value is in the character set, otherwise false.
- */
- CF_EXPORT Boolean CFCharacterSetIsLongCharacterMember(CFCharacterSetRef theSet, UTF32Char theChar);
+/*!
+ @function CFCharacterSetIsLongCharacterMember
+ Reports whether or not the UTF-32 character is in the character set.
+ @param theSet The character set to be searched. If this parameter
+ is not a valid CFCharacterSet, the behavior is undefined.
+ @param theChar The UTF-32 character for which to test against the
+ character set.
+ @result true, if the value is in the character set, otherwise false.
+*/
+CF_EXPORT Boolean CFCharacterSetIsLongCharacterMember(CFCharacterSetRef theSet, UTF32Char theChar);
#endif
- /*!
- @function CFCharacterSetCreateBitmapRepresentation
- Creates a new immutable data with the bitmap representation from the given character set.
- @param allocator The CFAllocator which should be used to allocate
- memory for the array and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theSet The CFCharacterSet which is to be used create the
- bitmap representation from. Refer to the comments for
- CFCharacterSetCreateWithBitmapRepresentation for the
- detailed discussion of the bitmap representation format.
- If this parameter is not a valid CFCharacterSet, the
- behavior is undefined.
- @result A reference to the new immutable CFData.
- */
- CF_EXPORT
- CFDataRef CFCharacterSetCreateBitmapRepresentation(CFAllocatorRef alloc, CFCharacterSetRef theSet);
+/*!
+ @function CFCharacterSetCreateBitmapRepresentation
+ Creates a new immutable data with the bitmap representation from the given character set.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the array and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theSet The CFCharacterSet which is to be used create the
+ bitmap representation from. Refer to the comments for
+ CFCharacterSetCreateWithBitmapRepresentation for the
+ detailed discussion of the bitmap representation format.
+ If this parameter is not a valid CFCharacterSet, the
+ behavior is undefined.
+ @result A reference to the new immutable CFData.
+*/
+CF_EXPORT
+CFDataRef CFCharacterSetCreateBitmapRepresentation(CFAllocatorRef alloc, CFCharacterSetRef theSet);
- /*!
- @function CFCharacterSetAddCharactersInRange
- Adds the given range to the charaacter set.
- @param theSet The character set to which the range is to be added.
- If this parameter is not a valid mutable CFCharacterSet,
- the behavior is undefined.
- @param theRange The range to add to the character set. It accepts
- the range in 32-bit in the UTF-32 format. The valid
- character point range is from 0x00000 to 0x10FFFF. If the
- range is outside of the valid Unicode character point,
- the behavior is undefined.
- */
- CF_EXPORT
- void CFCharacterSetAddCharactersInRange(CFMutableCharacterSetRef theSet, CFRange theRange);
+/*!
+ @function CFCharacterSetAddCharactersInRange
+ Adds the given range to the charaacter set.
+ @param theSet The character set to which the range is to be added.
+ If this parameter is not a valid mutable CFCharacterSet,
+ the behavior is undefined.
+ @param theRange The range to add to the character set. It accepts
+ the range in 32-bit in the UTF-32 format. The valid
+ character point range is from 0x00000 to 0x10FFFF. If the
+ range is outside of the valid Unicode character point,
+ the behavior is undefined.
+*/
+CF_EXPORT
+void CFCharacterSetAddCharactersInRange(CFMutableCharacterSetRef theSet, CFRange theRange);
- /*!
- @function CFCharacterSetRemoveCharactersInRange
- Removes the given range from the charaacter set.
- @param theSet The character set from which the range is to be
- removed. If this parameter is not a valid mutable
- CFCharacterSet, the behavior is undefined.
- @param theRange The range to remove from the character set.
- It accepts the range in 32-bit in the UTF-32 format.
- The valid character point range is from 0x00000 to 0x10FFFF.
- If the range is outside of the valid Unicode character point,
- the behavior is undefined.
- */
- CF_EXPORT
- void CFCharacterSetRemoveCharactersInRange(CFMutableCharacterSetRef theSet, CFRange theRange);
+/*!
+ @function CFCharacterSetRemoveCharactersInRange
+ Removes the given range from the charaacter set.
+ @param theSet The character set from which the range is to be
+ removed. If this parameter is not a valid mutable
+ CFCharacterSet, the behavior is undefined.
+ @param theRange The range to remove from the character set.
+ It accepts the range in 32-bit in the UTF-32 format.
+ The valid character point range is from 0x00000 to 0x10FFFF.
+ If the range is outside of the valid Unicode character point,
+ the behavior is undefined.
+*/
+CF_EXPORT
+void CFCharacterSetRemoveCharactersInRange(CFMutableCharacterSetRef theSet, CFRange theRange);
- /*!
- @function CFCharacterSetAddCharactersInString
- Adds the characters in the given string to the charaacter set.
- @param theSet The character set to which the characters in the
- string are to be added. If this parameter is not a
- valid mutable CFCharacterSet, the behavior is undefined.
- @param theString The string to add to the character set.
- If this parameter is not a valid CFString, the behavior
- is undefined.
- */
- CF_EXPORT
- void CFCharacterSetAddCharactersInString(CFMutableCharacterSetRef theSet, CFStringRef theString);
+/*!
+ @function CFCharacterSetAddCharactersInString
+ Adds the characters in the given string to the charaacter set.
+ @param theSet The character set to which the characters in the
+ string are to be added. If this parameter is not a
+ valid mutable CFCharacterSet, the behavior is undefined.
+ @param theString The string to add to the character set.
+ If this parameter is not a valid CFString, the behavior
+ is undefined.
+*/
+CF_EXPORT
+void CFCharacterSetAddCharactersInString(CFMutableCharacterSetRef theSet, CFStringRef theString);
- /*!
- @function CFCharacterSetRemoveCharactersInString
- Removes the characters in the given string from the charaacter set.
- @param theSet The character set from which the characters in the
- string are to be remove. If this parameter is not a
- valid mutable CFCharacterSet, the behavior is undefined.
- @param theString The string to remove from the character set.
- If this parameter is not a valid CFString, the behavior
- is undefined.
- */
- CF_EXPORT
- void CFCharacterSetRemoveCharactersInString(CFMutableCharacterSetRef theSet, CFStringRef theString);
+/*!
+ @function CFCharacterSetRemoveCharactersInString
+ Removes the characters in the given string from the charaacter set.
+ @param theSet The character set from which the characters in the
+ string are to be remove. If this parameter is not a
+ valid mutable CFCharacterSet, the behavior is undefined.
+ @param theString The string to remove from the character set.
+ If this parameter is not a valid CFString, the behavior
+ is undefined.
+*/
+CF_EXPORT
+void CFCharacterSetRemoveCharactersInString(CFMutableCharacterSetRef theSet, CFStringRef theString);
- /*!
- @function CFCharacterSetUnion
- Forms the union with the given character set.
- @param theSet The destination character set into which the
- union of the two character sets is stored. If this
- parameter is not a valid mutable CFCharacterSet, the
- behavior is undefined.
- @param theOtherSet The character set with which the union is
- formed. If this parameter is not a valid CFCharacterSet,
- the behavior is undefined.
- */
- CF_EXPORT
- void CFCharacterSetUnion(CFMutableCharacterSetRef theSet, CFCharacterSetRef theOtherSet);
+/*!
+ @function CFCharacterSetUnion
+ Forms the union with the given character set.
+ @param theSet The destination character set into which the
+ union of the two character sets is stored. If this
+ parameter is not a valid mutable CFCharacterSet, the
+ behavior is undefined.
+ @param theOtherSet The character set with which the union is
+ formed. If this parameter is not a valid CFCharacterSet,
+ the behavior is undefined.
+*/
+CF_EXPORT
+void CFCharacterSetUnion(CFMutableCharacterSetRef theSet, CFCharacterSetRef theOtherSet);
- /*!
- @function CFCharacterSetIntersect
- Forms the intersection with the given character set.
- @param theSet The destination character set into which the
- intersection of the two character sets is stored.
- If this parameter is not a valid mutable CFCharacterSet,
- the behavior is undefined.
- @param theOtherSet The character set with which the intersection
- is formed. If this parameter is not a valid CFCharacterSet,
- the behavior is undefined.
- */
- CF_EXPORT
- void CFCharacterSetIntersect(CFMutableCharacterSetRef theSet, CFCharacterSetRef theOtherSet);
+/*!
+ @function CFCharacterSetIntersect
+ Forms the intersection with the given character set.
+ @param theSet The destination character set into which the
+ intersection of the two character sets is stored.
+ If this parameter is not a valid mutable CFCharacterSet,
+ the behavior is undefined.
+ @param theOtherSet The character set with which the intersection
+ is formed. If this parameter is not a valid CFCharacterSet,
+ the behavior is undefined.
+*/
+CF_EXPORT
+void CFCharacterSetIntersect(CFMutableCharacterSetRef theSet, CFCharacterSetRef theOtherSet);
- /*!
- @function CFCharacterSetInvert
- Inverts the content of the given character set.
- @param theSet The character set to be inverted.
- If this parameter is not a valid mutable CFCharacterSet,
- the behavior is undefined.
- */
- CF_EXPORT
- void CFCharacterSetInvert(CFMutableCharacterSetRef theSet);
+/*!
+ @function CFCharacterSetInvert
+ Inverts the content of the given character set.
+ @param theSet The character set to be inverted.
+ If this parameter is not a valid mutable CFCharacterSet,
+ the behavior is undefined.
+*/
+CF_EXPORT
+void CFCharacterSetInvert(CFMutableCharacterSetRef theSet);
#if defined(__cplusplus)
}
diff --git a/include/qt/CoreFoundation/CFData.h b/include/qt/CoreFoundation/CFData.h
index 55db75da1..6deabd1ac 100644
--- a/include/qt/CoreFoundation/CFData.h
+++ b/include/qt/CoreFoundation/CFData.h
@@ -10,55 +10,55 @@
#if defined(__cplusplus)
extern "C" {
#endif
+
+typedef const struct __CFData * CFDataRef;
+typedef struct __CFData * CFMutableDataRef;
- typedef const struct __CFData * CFDataRef;
- typedef struct __CFData * CFMutableDataRef;
+CF_EXPORT
+CFTypeID CFDataGetTypeID(void);
- CF_EXPORT
- CFTypeID CFDataGetTypeID(void);
+CF_EXPORT
+CFDataRef CFDataCreate(CFAllocatorRef allocator, const UInt8 *bytes, CFIndex length);
- CF_EXPORT
- CFDataRef CFDataCreate(CFAllocatorRef allocator, const UInt8 *bytes, CFIndex length);
-
- CF_EXPORT
- CFDataRef CFDataCreateWithBytesNoCopy(CFAllocatorRef allocator, const UInt8 *bytes, CFIndex length, CFAllocatorRef bytesDeallocator);
+CF_EXPORT
+CFDataRef CFDataCreateWithBytesNoCopy(CFAllocatorRef allocator, const UInt8 *bytes, CFIndex length, CFAllocatorRef bytesDeallocator);
/* Pass kCFAllocatorNull as bytesDeallocator to assure the bytes aren't freed */
- CF_EXPORT
- CFDataRef CFDataCreateCopy(CFAllocatorRef allocator, CFDataRef theData);
+CF_EXPORT
+CFDataRef CFDataCreateCopy(CFAllocatorRef allocator, CFDataRef theData);
- CF_EXPORT
- CFMutableDataRef CFDataCreateMutable(CFAllocatorRef allocator, CFIndex capacity);
+CF_EXPORT
+CFMutableDataRef CFDataCreateMutable(CFAllocatorRef allocator, CFIndex capacity);
- CF_EXPORT
- CFMutableDataRef CFDataCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFDataRef theData);
+CF_EXPORT
+CFMutableDataRef CFDataCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFDataRef theData);
- CF_EXPORT
- CFIndex CFDataGetLength(CFDataRef theData);
+CF_EXPORT
+CFIndex CFDataGetLength(CFDataRef theData);
- CF_EXPORT
- const UInt8 *CFDataGetBytePtr(CFDataRef theData);
+CF_EXPORT
+const UInt8 *CFDataGetBytePtr(CFDataRef theData);
- CF_EXPORT
- UInt8 *CFDataGetMutableBytePtr(CFMutableDataRef theData);
+CF_EXPORT
+UInt8 *CFDataGetMutableBytePtr(CFMutableDataRef theData);
- CF_EXPORT
- void CFDataGetBytes(CFDataRef theData, CFRange range, UInt8 *buffer);
+CF_EXPORT
+void CFDataGetBytes(CFDataRef theData, CFRange range, UInt8 *buffer);
- CF_EXPORT
- void CFDataSetLength(CFMutableDataRef theData, CFIndex length);
+CF_EXPORT
+void CFDataSetLength(CFMutableDataRef theData, CFIndex length);
- CF_EXPORT
- void CFDataIncreaseLength(CFMutableDataRef theData, CFIndex extraLength);
+CF_EXPORT
+void CFDataIncreaseLength(CFMutableDataRef theData, CFIndex extraLength);
- CF_EXPORT
- void CFDataAppendBytes(CFMutableDataRef theData, const UInt8 *bytes, CFIndex length);
+CF_EXPORT
+void CFDataAppendBytes(CFMutableDataRef theData, const UInt8 *bytes, CFIndex length);
- CF_EXPORT
- void CFDataReplaceBytes(CFMutableDataRef theData, CFRange range, const UInt8 *newBytes, CFIndex newLength);
+CF_EXPORT
+void CFDataReplaceBytes(CFMutableDataRef theData, CFRange range, const UInt8 *newBytes, CFIndex newLength);
- CF_EXPORT
- void CFDataDeleteBytes(CFMutableDataRef theData, CFRange range);
+CF_EXPORT
+void CFDataDeleteBytes(CFMutableDataRef theData, CFRange range);
#if defined(__cplusplus)
}
diff --git a/include/qt/CoreFoundation/CFDictionary.h b/include/qt/CoreFoundation/CFDictionary.h
index 20e5adc63..25d98cfa5 100644
--- a/include/qt/CoreFoundation/CFDictionary.h
+++ b/include/qt/CoreFoundation/CFDictionary.h
@@ -70,621 +70,619 @@
extern "C" {
#endif
- /*!
- @typedef CFDictionaryKeyCallBacks
- Structure containing the callbacks for keys of a CFDictionary.
- @field version The version number of the structure type being passed
- in as a parameter to the CFDictionary creation functions.
- This structure is version 0.
- @field retain The callback used to add a retain for the dictionary
- on keys as they are used to put values into the dictionary.
- This callback returns the value to use as the key in the
- dictionary, which is usually the value parameter passed to
- this callback, but may be a different value if a different
- value should be used as the key. The dictionary's allocator
- is passed as the first argument.
- @field release The callback used to remove a retain previously added
- for the dictionary from keys as their values are removed from
- the dictionary. The dictionary's allocator is passed as the
- first argument.
- @field copyDescription The callback used to create a descriptive
- string representation of each key in the dictionary. This
- is used by the CFCopyDescription() function.
- @field equal The callback used to compare keys in the dictionary for
- equality.
- @field hash The callback used to compute a hash code for keys as they
- are used to access, add, or remove values in the dictionary.
- */
- typedef const void *(*CFDictionaryRetainCallBack)(CFAllocatorRef allocator, const void *value);
- typedef void (*CFDictionaryReleaseCallBack)(CFAllocatorRef allocator, const void *value);
- typedef CFStringRef(*CFDictionaryCopyDescriptionCallBack)(const void *value);
- typedef Boolean(*CFDictionaryEqualCallBack)(const void *value1, const void *value2);
- typedef CFHashCode(*CFDictionaryHashCallBack)(const void *value);
- typedef struct
- {
- CFIndex version;
- CFDictionaryRetainCallBack retain;
- CFDictionaryReleaseCallBack release;
- CFDictionaryCopyDescriptionCallBack copyDescription;
- CFDictionaryEqualCallBack equal;
- CFDictionaryHashCallBack hash;
- } CFDictionaryKeyCallBacks;
-
- /*!
- @constant kCFTypeDictionaryKeyCallBacks
- Predefined CFDictionaryKeyCallBacks structure containing a
- set of callbacks appropriate for use when the keys of a
- CFDictionary are all CFTypes.
- */
+/*!
+ @typedef CFDictionaryKeyCallBacks
+ Structure containing the callbacks for keys of a CFDictionary.
+ @field version The version number of the structure type being passed
+ in as a parameter to the CFDictionary creation functions.
+ This structure is version 0.
+ @field retain The callback used to add a retain for the dictionary
+ on keys as they are used to put values into the dictionary.
+ This callback returns the value to use as the key in the
+ dictionary, which is usually the value parameter passed to
+ this callback, but may be a different value if a different
+ value should be used as the key. The dictionary's allocator
+ is passed as the first argument.
+ @field release The callback used to remove a retain previously added
+ for the dictionary from keys as their values are removed from
+ the dictionary. The dictionary's allocator is passed as the
+ first argument.
+ @field copyDescription The callback used to create a descriptive
+ string representation of each key in the dictionary. This
+ is used by the CFCopyDescription() function.
+ @field equal The callback used to compare keys in the dictionary for
+ equality.
+ @field hash The callback used to compute a hash code for keys as they
+ are used to access, add, or remove values in the dictionary.
+*/
+typedef const void * (*CFDictionaryRetainCallBack)(CFAllocatorRef allocator, const void *value);
+typedef void (*CFDictionaryReleaseCallBack)(CFAllocatorRef allocator, const void *value);
+typedef CFStringRef (*CFDictionaryCopyDescriptionCallBack)(const void *value);
+typedef Boolean (*CFDictionaryEqualCallBack)(const void *value1, const void *value2);
+typedef CFHashCode (*CFDictionaryHashCallBack)(const void *value);
+typedef struct {
+ CFIndex version;
+ CFDictionaryRetainCallBack retain;
+ CFDictionaryReleaseCallBack release;
+ CFDictionaryCopyDescriptionCallBack copyDescription;
+ CFDictionaryEqualCallBack equal;
+ CFDictionaryHashCallBack hash;
+} CFDictionaryKeyCallBacks;
+
+/*!
+ @constant kCFTypeDictionaryKeyCallBacks
+ Predefined CFDictionaryKeyCallBacks structure containing a
+ set of callbacks appropriate for use when the keys of a
+ CFDictionary are all CFTypes.
+*/
#if TARGET_OS_WIN32
#define kCFTypeDictionaryKeyCallBacks (*((const CFDictionaryKeyCallBacks *)QTGetCFConstant("kCFTypeDictionaryKeyCallBacks")))
#else
- CF_EXPORT
- const CFDictionaryKeyCallBacks kCFTypeDictionaryKeyCallBacks;
+CF_EXPORT
+const CFDictionaryKeyCallBacks kCFTypeDictionaryKeyCallBacks;
#endif
- /*!
- @constant kCFCopyStringDictionaryKeyCallBacks
- Predefined CFDictionaryKeyCallBacks structure containing a
- set of callbacks appropriate for use when the keys of a
- CFDictionary are all CFStrings, which may be mutable and
- need to be copied in order to serve as constant keys for
- the values in the dictionary.
- */
+/*!
+ @constant kCFCopyStringDictionaryKeyCallBacks
+ Predefined CFDictionaryKeyCallBacks structure containing a
+ set of callbacks appropriate for use when the keys of a
+ CFDictionary are all CFStrings, which may be mutable and
+ need to be copied in order to serve as constant keys for
+ the values in the dictionary.
+*/
#if TARGET_OS_WIN32
#define kCFCopyStringDictionaryKeyCallBacks (*((const CFDictionaryKeyCallBacks *)QTGetCFConstant("kCFCopyStringDictionaryKeyCallBacks")))
#else
- CF_EXPORT
- const CFDictionaryKeyCallBacks kCFCopyStringDictionaryKeyCallBacks;
+CF_EXPORT
+const CFDictionaryKeyCallBacks kCFCopyStringDictionaryKeyCallBacks;
#endif
- /*!
- @typedef CFDictionaryValueCallBacks
- Structure containing the callbacks for values of a CFDictionary.
- @field version The version number of the structure type being passed
- in as a parameter to the CFDictionary creation functions.
- This structure is version 0.
- @field retain The callback used to add a retain for the dictionary
- on values as they are put into the dictionary.
- This callback returns the value to use as the value in the
- dictionary, which is usually the value parameter passed to
- this callback, but may be a different value if a different
- value should be added to the dictionary. The dictionary's
- allocator is passed as the first argument.
- @field release The callback used to remove a retain previously added
- for the dictionary from values as they are removed from
- the dictionary. The dictionary's allocator is passed as the
- first argument.
- @field copyDescription The callback used to create a descriptive
- string representation of each value in the dictionary. This
- is used by the CFCopyDescription() function.
- @field equal The callback used to compare values in the dictionary for
- equality in some operations.
- */
- typedef struct
- {
- CFIndex version;
- CFDictionaryRetainCallBack retain;
- CFDictionaryReleaseCallBack release;
- CFDictionaryCopyDescriptionCallBack copyDescription;
- CFDictionaryEqualCallBack equal;
- } CFDictionaryValueCallBacks;
-
- /*!
- @constant kCFTypeDictionaryValueCallBacks
- Predefined CFDictionaryValueCallBacks structure containing a set
- of callbacks appropriate for use when the values in a CFDictionary
- are all CFTypes.
- */
+/*!
+ @typedef CFDictionaryValueCallBacks
+ Structure containing the callbacks for values of a CFDictionary.
+ @field version The version number of the structure type being passed
+ in as a parameter to the CFDictionary creation functions.
+ This structure is version 0.
+ @field retain The callback used to add a retain for the dictionary
+ on values as they are put into the dictionary.
+ This callback returns the value to use as the value in the
+ dictionary, which is usually the value parameter passed to
+ this callback, but may be a different value if a different
+ value should be added to the dictionary. The dictionary's
+ allocator is passed as the first argument.
+ @field release The callback used to remove a retain previously added
+ for the dictionary from values as they are removed from
+ the dictionary. The dictionary's allocator is passed as the
+ first argument.
+ @field copyDescription The callback used to create a descriptive
+ string representation of each value in the dictionary. This
+ is used by the CFCopyDescription() function.
+ @field equal The callback used to compare values in the dictionary for
+ equality in some operations.
+*/
+typedef struct {
+ CFIndex version;
+ CFDictionaryRetainCallBack retain;
+ CFDictionaryReleaseCallBack release;
+ CFDictionaryCopyDescriptionCallBack copyDescription;
+ CFDictionaryEqualCallBack equal;
+} CFDictionaryValueCallBacks;
+
+/*!
+ @constant kCFTypeDictionaryValueCallBacks
+ Predefined CFDictionaryValueCallBacks structure containing a set
+ of callbacks appropriate for use when the values in a CFDictionary
+ are all CFTypes.
+*/
#if TARGET_OS_WIN32
#define kCFTypeDictionaryValueCallBacks (*((const CFDictionaryValueCallBacks *)QTGetCFConstant("kCFTypeDictionaryValueCallBacks")))
#else
- CF_EXPORT
- const CFDictionaryValueCallBacks kCFTypeDictionaryValueCallBacks;
+CF_EXPORT
+const CFDictionaryValueCallBacks kCFTypeDictionaryValueCallBacks;
#endif
- /*!
- @typedef CFDictionaryApplierFunction
- Type of the callback function used by the apply functions of
- CFDictionarys.
- @param key The current key for the value.
- @param value The current value from the dictionary.
- @param context The user-defined context parameter given to the apply
- function.
- */
- typedef void (*CFDictionaryApplierFunction)(const void *key, const void *value, void *context);
-
- /*!
- @typedef CFDictionaryRef
- This is the type of a reference to immutable CFDictionarys.
- */
- typedef const struct __CFDictionary * CFDictionaryRef;
-
- /*!
- @typedef CFMutableDictionaryRef
- This is the type of a reference to mutable CFDictionarys.
- */
- typedef struct __CFDictionary * CFMutableDictionaryRef;
-
- /*!
- @function CFDictionaryGetTypeID
- Returns the type identifier of all CFDictionary instances.
- */
- CF_EXPORT
- CFTypeID CFDictionaryGetTypeID(void);
-
- /*!
- @function CFDictionaryCreate
- Creates a new immutable dictionary with the given values.
- @param allocator The CFAllocator which should be used to allocate
- memory for the dictionary and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param keys A C array of the pointer-sized keys to be used for
- the parallel C array of values to be put into the dictionary.
- This parameter may be NULL if the numValues parameter is 0.
- This C array is not changed or freed by this function. If
- this parameter is not a valid pointer to a C array of at
- least numValues pointers, the behavior is undefined.
- @param values A C array of the pointer-sized values to be in the
- dictionary. This parameter may be NULL if the numValues
- parameter is 0. This C array is not changed or freed by
- this function. If this parameter is not a valid pointer to
- a C array of at least numValues pointers, the behavior is
- undefined.
- @param numValues The number of values to copy from the keys and
- values C arrays into the CFDictionary. This number will be
- the count of the dictionary. If this parameter is
- negative, or greater than the number of values actually
- in the keys or values C arrays, the behavior is undefined.
- @param keyCallBacks A pointer to a CFDictionaryKeyCallBacks structure
- initialized with the callbacks for the dictionary to use on
- each key in the dictionary. The retain callback will be used
- within this function, for example, to retain all of the new
- keys from the keys C array. A copy of the contents of the
- callbacks structure is made, so that a pointer to a structure
- on the stack can be passed in, or can be reused for multiple
- dictionary creations. If the version field of this
- callbacks structure is not one of the defined ones for
- CFDictionary, the behavior is undefined. The retain field may
- be NULL, in which case the CFDictionary will do nothing to add
- a retain to the keys of the contained values. The release field
- may be NULL, in which case the CFDictionary will do nothing
- to remove the dictionary's retain (if any) on the keys when the
- dictionary is destroyed or a key-value pair is removed. If the
- copyDescription field is NULL, the dictionary will create a
- simple description for a key. If the equal field is NULL, the
- dictionary will use pointer equality to test for equality of
- keys. If the hash field is NULL, a key will be converted from
- a pointer to an integer to compute the hash code. This callbacks
- parameter itself may be NULL, which is treated as if a valid
- structure of version 0 with all fields NULL had been passed in.
- Otherwise, if any of the fields are not valid pointers to
- functions of the correct type, or this parameter is not a
- valid pointer to a CFDictionaryKeyCallBacks callbacks structure,
- the behavior is undefined. If any of the keys put into the
- dictionary is not one understood by one of the callback functions
- the behavior when that callback function is used is undefined.
- @param valueCallBacks A pointer to a CFDictionaryValueCallBacks structure
- initialized with the callbacks for the dictionary to use on
- each value in the dictionary. The retain callback will be used
- within this function, for example, to retain all of the new
- values from the values C array. A copy of the contents of the
- callbacks structure is made, so that a pointer to a structure
- on the stack can be passed in, or can be reused for multiple
- dictionary creations. If the version field of this callbacks
- structure is not one of the defined ones for CFDictionary, the
- behavior is undefined. The retain field may be NULL, in which
- case the CFDictionary will do nothing to add a retain to values
- as they are put into the dictionary. The release field may be
- NULL, in which case the CFDictionary will do nothing to remove
- the dictionary's retain (if any) on the values when the
- dictionary is destroyed or a key-value pair is removed. If the
- copyDescription field is NULL, the dictionary will create a
- simple description for a value. If the equal field is NULL, the
- dictionary will use pointer equality to test for equality of
- values. This callbacks parameter itself may be NULL, which is
- treated as if a valid structure of version 0 with all fields
- NULL had been passed in. Otherwise,
- if any of the fields are not valid pointers to functions
- of the correct type, or this parameter is not a valid
- pointer to a CFDictionaryValueCallBacks callbacks structure,
- the behavior is undefined. If any of the values put into the
- dictionary is not one understood by one of the callback functions
- the behavior when that callback function is used is undefined.
- @result A reference to the new immutable CFDictionary.
- */
- CF_EXPORT
- CFDictionaryRef CFDictionaryCreate(CFAllocatorRef allocator, const void **keys, const void **values, CFIndex numValues, const CFDictionaryKeyCallBacks *keyCallBacks, const CFDictionaryValueCallBacks *valueCallBacks);
-
- /*!
- @function CFDictionaryCreateCopy
- Creates a new immutable dictionary with the key-value pairs from
- the given dictionary.
- @param allocator The CFAllocator which should be used to allocate
- memory for the dictionary and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param theDict The dictionary which is to be copied. The keys and values
- from the dictionary are copied as pointers into the new
- dictionary (that is, the values themselves are copied, not
- that which the values point to, if anything). However, the
- keys and values are also retained by the new dictionary using
- the retain function of the original dictionary.
- The count of the new dictionary will be the same as the
- given dictionary. The new dictionary uses the same callbacks
- as the dictionary to be copied. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @result A reference to the new immutable CFDictionary.
- */
- CF_EXPORT
- CFDictionaryRef CFDictionaryCreateCopy(CFAllocatorRef allocator, CFDictionaryRef theDict);
-
- /*!
- @function CFDictionaryCreateMutable
- Creates a new mutable dictionary.
- @param allocator The CFAllocator which should be used to allocate
- memory for the dictionary and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param capacity The maximum number of values that can be contained by
- the CFDictionary. The dictionary starts empty, and can grow
- to this number of values (and it can have less). If this
- parameter is 0, the dictionary's maximum capacity is unlimited
- (or rather, only limited by address space and available memory
- constraints). If this parameter is negative, the behavior is
- undefined.
- @param keyCallBacks A pointer to a CFDictionaryKeyCallBacks structure
- initialized with the callbacks for the dictionary to use on
- each key in the dictionary. A copy of the contents of the
- callbacks structure is made, so that a pointer to a structure
- on the stack can be passed in, or can be reused for multiple
- dictionary creations. If the version field of this
- callbacks structure is not one of the defined ones for
- CFDictionary, the behavior is undefined. The retain field may
- be NULL, in which case the CFDictionary will do nothing to add
- a retain to the keys of the contained values. The release field
- may be NULL, in which case the CFDictionary will do nothing
- to remove the dictionary's retain (if any) on the keys when the
- dictionary is destroyed or a key-value pair is removed. If the
- copyDescription field is NULL, the dictionary will create a
- simple description for a key. If the equal field is NULL, the
- dictionary will use pointer equality to test for equality of
- keys. If the hash field is NULL, a key will be converted from
- a pointer to an integer to compute the hash code. This callbacks
- parameter itself may be NULL, which is treated as if a valid
- structure of version 0 with all fields NULL had been passed in.
- Otherwise, if any of the fields are not valid pointers to
- functions of the correct type, or this parameter is not a
- valid pointer to a CFDictionaryKeyCallBacks callbacks structure,
- the behavior is undefined. If any of the keys put into the
- dictionary is not one understood by one of the callback functions
- the behavior when that callback function is used is undefined.
- @param valueCallBacks A pointer to a CFDictionaryValueCallBacks structure
- initialized with the callbacks for the dictionary to use on
- each value in the dictionary. The retain callback will be used
- within this function, for example, to retain all of the new
- values from the values C array. A copy of the contents of the
- callbacks structure is made, so that a pointer to a structure
- on the stack can be passed in, or can be reused for multiple
- dictionary creations. If the version field of this callbacks
- structure is not one of the defined ones for CFDictionary, the
- behavior is undefined. The retain field may be NULL, in which
- case the CFDictionary will do nothing to add a retain to values
- as they are put into the dictionary. The release field may be
- NULL, in which case the CFDictionary will do nothing to remove
- the dictionary's retain (if any) on the values when the
- dictionary is destroyed or a key-value pair is removed. If the
- copyDescription field is NULL, the dictionary will create a
- simple description for a value. If the equal field is NULL, the
- dictionary will use pointer equality to test for equality of
- values. This callbacks parameter itself may be NULL, which is
- treated as if a valid structure of version 0 with all fields
- NULL had been passed in. Otherwise,
- if any of the fields are not valid pointers to functions
- of the correct type, or this parameter is not a valid
- pointer to a CFDictionaryValueCallBacks callbacks structure,
- the behavior is undefined. If any of the values put into the
- dictionary is not one understood by one of the callback functions
- the behavior when that callback function is used is undefined.
- @result A reference to the new mutable CFDictionary.
- */
- CF_EXPORT
- CFMutableDictionaryRef CFDictionaryCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFDictionaryKeyCallBacks *keyCallBacks, const CFDictionaryValueCallBacks *valueCallBacks);
-
- /*!
- @function CFDictionaryCreateMutableCopy
- Creates a new mutable dictionary with the key-value pairs from
- the given dictionary.
- @param allocator The CFAllocator which should be used to allocate
- memory for the dictionary and its storage for values. This
- parameter may be NULL in which case the current default
- CFAllocator is used. If this reference is not a valid
- CFAllocator, the behavior is undefined.
- @param capacity The maximum number of values that can be contained
- by the CFDictionary. The dictionary starts empty, and can grow
- to this number of values (and it can have less). If this
- parameter is 0, the dictionary's maximum capacity is unlimited
- (or rather, only limited by address space and available memory
- constraints). This parameter must be greater than or equal
- to the count of the dictionary which is to be copied, or the
- behavior is undefined. If this parameter is negative, the
- behavior is undefined.
- @param theDict The dictionary which is to be copied. The keys and values
- from the dictionary are copied as pointers into the new
- dictionary (that is, the values themselves are copied, not
- that which the values point to, if anything). However, the
- keys and values are also retained by the new dictionary using
- the retain function of the original dictionary.
- The count of the new dictionary will be the same as the
- given dictionary. The new dictionary uses the same callbacks
- as the dictionary to be copied. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @result A reference to the new mutable CFDictionary.
- */
- CF_EXPORT
- CFMutableDictionaryRef CFDictionaryCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFDictionaryRef theDict);
-
- /*!
- @function CFDictionaryGetCount
- Returns the number of values currently in the dictionary.
- @param theDict The dictionary to be queried. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @result The number of values in the dictionary.
- */
- CF_EXPORT
- CFIndex CFDictionaryGetCount(CFDictionaryRef theDict);
-
- /*!
- @function CFDictionaryGetCountOfKey
- Counts the number of times the given key occurs in the dictionary.
- @param theDict The dictionary to be searched. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @param key The key for which to find matches in the dictionary. The
- hash() and equal() key callbacks provided when the dictionary
- was created are used to compare. If the hash() key callback
- was NULL, the key is treated as a pointer and converted to
- an integer. If the equal() key callback was NULL, pointer
- equality (in C, ==) is used. If key, or any of the keys in
- the dictionary, are not understood by the equal() callback,
- the behavior is undefined.
- @result Returns 1 if a matching key is used by the dictionary,
- 0 otherwise.
- */
- CF_EXPORT
- CFIndex CFDictionaryGetCountOfKey(CFDictionaryRef theDict, const void *key);
-
- /*!
- @function CFDictionaryGetCountOfValue
- Counts the number of times the given value occurs in the dictionary.
- @param theDict The dictionary to be searched. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @param value The value for which to find matches in the dictionary. The
- equal() callback provided when the dictionary was created is
- used to compare. If the equal() value callback was NULL, pointer
- equality (in C, ==) is used. If value, or any of the values in
- the dictionary, are not understood by the equal() callback,
- the behavior is undefined.
- @result The number of times the given value occurs in the dictionary.
- */
- CF_EXPORT
- CFIndex CFDictionaryGetCountOfValue(CFDictionaryRef theDict, const void *value);
-
- /*!
- @function CFDictionaryContainsKey
- Reports whether or not the key is in the dictionary.
- @param theDict The dictionary to be searched. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @param key The key for which to find matches in the dictionary. The
- hash() and equal() key callbacks provided when the dictionary
- was created are used to compare. If the hash() key callback
- was NULL, the key is treated as a pointer and converted to
- an integer. If the equal() key callback was NULL, pointer
- equality (in C, ==) is used. If key, or any of the keys in
- the dictionary, are not understood by the equal() callback,
- the behavior is undefined.
- @result true, if the key is in the dictionary, otherwise false.
- */
- CF_EXPORT
- Boolean CFDictionaryContainsKey(CFDictionaryRef theDict, const void *key);
-
- /*!
- @function CFDictionaryContainsValue
- Reports whether or not the value is in the dictionary.
- @param theDict The dictionary to be searched. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @param value The value for which to find matches in the dictionary. The
- equal() callback provided when the dictionary was created is
- used to compare. If the equal() callback was NULL, pointer
- equality (in C, ==) is used. If value, or any of the values
- in the dictionary, are not understood by the equal() callback,
- the behavior is undefined.
- @result true, if the value is in the dictionary, otherwise false.
- */
- CF_EXPORT
- Boolean CFDictionaryContainsValue(CFDictionaryRef theDict, const void *value);
-
- /*!
- @function CFDictionaryGetValue
- Retrieves the value associated with the given key.
- @param theDict The dictionary to be queried. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @param key The key for which to find a match in the dictionary. The
- hash() and equal() key callbacks provided when the dictionary
- was created are used to compare. If the hash() key callback
- was NULL, the key is treated as a pointer and converted to
- an integer. If the equal() key callback was NULL, pointer
- equality (in C, ==) is used. If key, or any of the keys in
- the dictionary, are not understood by the equal() callback,
- the behavior is undefined.
- @result The value with the given key in the dictionary, or NULL if
- no key-value pair with a matching key exists. Since NULL
- can be a valid value in some dictionaries, the function
- CFDictionaryGetValueIfPresent() must be used to distinguish
- NULL-no-found from NULL-is-the-value.
- */
- CF_EXPORT
- const void *CFDictionaryGetValue(CFDictionaryRef theDict, const void *key);
-
- /*!
- @function CFDictionaryGetValueIfPresent
- Retrieves the value associated with the given key.
- @param theDict The dictionary to be queried. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @param key The key for which to find a match in the dictionary. The
- hash() and equal() key callbacks provided when the dictionary
- was created are used to compare. If the hash() key callback
- was NULL, the key is treated as a pointer and converted to
- an integer. If the equal() key callback was NULL, pointer
- equality (in C, ==) is used. If key, or any of the keys in
- the dictionary, are not understood by the equal() callback,
- the behavior is undefined.
- @param value A pointer to memory which should be filled with the
- pointer-sized value if a matching key is found. If no key
- match is found, the contents of the storage pointed to by
- this parameter are undefined. This parameter may be NULL,
- in which case the value from the dictionary is not returned
- (but the return value of this function still indicates
- whether or not the key-value pair was present).
- @result true, if a matching key was found, false otherwise.
- */
- CF_EXPORT
- Boolean CFDictionaryGetValueIfPresent(CFDictionaryRef theDict, const void *key, const void **value);
-
- /*!
- @function CFDictionaryGetKeysAndValues
- Fills the two buffers with the keys and values from the dictionary.
- @param theDict The dictionary to be queried. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @param keys A C array of pointer-sized values to be filled with keys
- from the dictionary. The keys and values C arrays are parallel
- to each other (that is, the items at the same indices form a
- key-value pair from the dictionary). This parameter may be NULL
- if the keys are not desired. If this parameter is not a valid
- pointer to a C array of at least CFDictionaryGetCount() pointers,
- or NULL, the behavior is undefined.
- @param values A C array of pointer-sized values to be filled with values
- from the dictionary. The keys and values C arrays are parallel
- to each other (that is, the items at the same indices form a
- key-value pair from the dictionary). This parameter may be NULL
- if the values are not desired. If this parameter is not a valid
- pointer to a C array of at least CFDictionaryGetCount() pointers,
- or NULL, the behavior is undefined.
- */
- CF_EXPORT
- void CFDictionaryGetKeysAndValues(CFDictionaryRef theDict, const void **keys, const void **values);
-
- /*!
- @function CFDictionaryApplyFunction
- Calls a function once for each value in the dictionary.
- @param theDict The dictionary to be queried. If this parameter is
- not a valid CFDictionary, the behavior is undefined.
- @param applier The callback function to call once for each value in
- the dictionary. If this parameter is not a
- pointer to a function of the correct prototype, the behavior
- is undefined. If there are keys or values which the
- applier function does not expect or cannot properly apply
- to, the behavior is undefined.
- @param context A pointer-sized user-defined value, which is passed
- as the third parameter to the applier function, but is
- otherwise unused by this function. If the context is not
- what is expected by the applier function, the behavior is
- undefined.
- */
- CF_EXPORT
- void CFDictionaryApplyFunction(CFDictionaryRef theDict, CFDictionaryApplierFunction applier, void *context);
-
- /*!
- @function CFDictionaryAddValue
- Adds the key-value pair to the dictionary if no such key already exists.
- @param theDict The dictionary to which the value is to be added. If this
- parameter is not a valid mutable CFDictionary, the behavior is
- undefined. If the dictionary is a fixed-capacity dictionary and
- it is full before this operation, the behavior is undefined.
- @param key The key of the value to add to the dictionary. The key is
- retained by the dictionary using the retain callback provided
- when the dictionary was created. If the key is not of the sort
- expected by the retain callback, the behavior is undefined. If
- a key which matches this key is already present in the dictionary,
- this function does nothing ("add if absent").
- @param value The value to add to the dictionary. The value is retained
- by the dictionary using the retain callback provided when the
- dictionary was created. If the value is not of the sort expected
- by the retain callback, the behavior is undefined.
- */
- CF_EXPORT
- void CFDictionaryAddValue(CFMutableDictionaryRef theDict, const void *key, const void *value);
-
- /*!
- @function CFDictionarySetValue
- Sets the value of the key in the dictionary.
- @param theDict The dictionary to which the value is to be set. If this
- parameter is not a valid mutable CFDictionary, the behavior is
- undefined. If the dictionary is a fixed-capacity dictionary and
- it is full before this operation, and the key does not exist in
- the dictionary, the behavior is undefined.
- @param key The key of the value to set into the dictionary. If a key
- which matches this key is already present in the dictionary, only
- the value is changed ("add if absent, replace if present"). If
- no key matches the given key, the key-value pair is added to the
- dictionary. If added, the key is retained by the dictionary,
- using the retain callback provided
- when the dictionary was created. If the key is not of the sort
- expected by the key retain callback, the behavior is undefined.
- @param value The value to add to or replace into the dictionary. The value
- is retained by the dictionary using the retain callback provided
- when the dictionary was created, and the previous value if any is
- released. If the value is not of the sort expected by the
- retain or release callbacks, the behavior is undefined.
- */
- CF_EXPORT
- void CFDictionarySetValue(CFMutableDictionaryRef theDict, const void *key, const void *value);
-
- /*!
- @function CFDictionaryReplaceValue
- Replaces the value of the key in the dictionary.
- @param theDict The dictionary to which the value is to be replaced. If this
- parameter is not a valid mutable CFDictionary, the behavior is
- undefined.
- @param key The key of the value to replace in the dictionary. If a key
- which matches this key is present in the dictionary, the value
- is changed to the given value, otherwise this function does
- nothing ("replace if present").
- @param value The value to replace into the dictionary. The value
- is retained by the dictionary using the retain callback provided
- when the dictionary was created, and the previous value is
- released. If the value is not of the sort expected by the
- retain or release callbacks, the behavior is undefined.
- */
- CF_EXPORT
- void CFDictionaryReplaceValue(CFMutableDictionaryRef theDict, const void *key, const void *value);
-
- /*!
- @function CFDictionaryRemoveValue
- Removes the value of the key from the dictionary.
- @param theDict The dictionary from which the value is to be removed. If this
- parameter is not a valid mutable CFDictionary, the behavior is
- undefined.
- @param key The key of the value to remove from the dictionary. If a key
- which matches this key is present in the dictionary, the key-value
- pair is removed from the dictionary, otherwise this function does
- nothing ("remove if present").
- */
- CF_EXPORT
- void CFDictionaryRemoveValue(CFMutableDictionaryRef theDict, const void *key);
-
- /*!
- @function CFDictionaryRemoveAllValues
- Removes all the values from the dictionary, making it empty.
- @param theDict The dictionary from which all of the values are to be
- removed. If this parameter is not a valid mutable
- CFDictionary, the behavior is undefined.
- */
- CF_EXPORT
- void CFDictionaryRemoveAllValues(CFMutableDictionaryRef theDict);
+/*!
+ @typedef CFDictionaryApplierFunction
+ Type of the callback function used by the apply functions of
+ CFDictionarys.
+ @param key The current key for the value.
+ @param value The current value from the dictionary.
+ @param context The user-defined context parameter given to the apply
+ function.
+*/
+typedef void (*CFDictionaryApplierFunction)(const void *key, const void *value, void *context);
+
+/*!
+ @typedef CFDictionaryRef
+ This is the type of a reference to immutable CFDictionarys.
+*/
+typedef const struct __CFDictionary * CFDictionaryRef;
+
+/*!
+ @typedef CFMutableDictionaryRef
+ This is the type of a reference to mutable CFDictionarys.
+*/
+typedef struct __CFDictionary * CFMutableDictionaryRef;
+
+/*!
+ @function CFDictionaryGetTypeID
+ Returns the type identifier of all CFDictionary instances.
+*/
+CF_EXPORT
+CFTypeID CFDictionaryGetTypeID(void);
+
+/*!
+ @function CFDictionaryCreate
+ Creates a new immutable dictionary with the given values.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the dictionary and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param keys A C array of the pointer-sized keys to be used for
+ the parallel C array of values to be put into the dictionary.
+ This parameter may be NULL if the numValues parameter is 0.
+ This C array is not changed or freed by this function. If
+ this parameter is not a valid pointer to a C array of at
+ least numValues pointers, the behavior is undefined.
+ @param values A C array of the pointer-sized values to be in the
+ dictionary. This parameter may be NULL if the numValues
+ parameter is 0. This C array is not changed or freed by
+ this function. If this parameter is not a valid pointer to
+ a C array of at least numValues pointers, the behavior is
+ undefined.
+ @param numValues The number of values to copy from the keys and
+ values C arrays into the CFDictionary. This number will be
+ the count of the dictionary. If this parameter is
+ negative, or greater than the number of values actually
+ in the keys or values C arrays, the behavior is undefined.
+ @param keyCallBacks A pointer to a CFDictionaryKeyCallBacks structure
+ initialized with the callbacks for the dictionary to use on
+ each key in the dictionary. The retain callback will be used
+ within this function, for example, to retain all of the new
+ keys from the keys C array. A copy of the contents of the
+ callbacks structure is made, so that a pointer to a structure
+ on the stack can be passed in, or can be reused for multiple
+ dictionary creations. If the version field of this
+ callbacks structure is not one of the defined ones for
+ CFDictionary, the behavior is undefined. The retain field may
+ be NULL, in which case the CFDictionary will do nothing to add
+ a retain to the keys of the contained values. The release field
+ may be NULL, in which case the CFDictionary will do nothing
+ to remove the dictionary's retain (if any) on the keys when the
+ dictionary is destroyed or a key-value pair is removed. If the
+ copyDescription field is NULL, the dictionary will create a
+ simple description for a key. If the equal field is NULL, the
+ dictionary will use pointer equality to test for equality of
+ keys. If the hash field is NULL, a key will be converted from
+ a pointer to an integer to compute the hash code. This callbacks
+ parameter itself may be NULL, which is treated as if a valid
+ structure of version 0 with all fields NULL had been passed in.
+ Otherwise, if any of the fields are not valid pointers to
+ functions of the correct type, or this parameter is not a
+ valid pointer to a CFDictionaryKeyCallBacks callbacks structure,
+ the behavior is undefined. If any of the keys put into the
+ dictionary is not one understood by one of the callback functions
+ the behavior when that callback function is used is undefined.
+ @param valueCallBacks A pointer to a CFDictionaryValueCallBacks structure
+ initialized with the callbacks for the dictionary to use on
+ each value in the dictionary. The retain callback will be used
+ within this function, for example, to retain all of the new
+ values from the values C array. A copy of the contents of the
+ callbacks structure is made, so that a pointer to a structure
+ on the stack can be passed in, or can be reused for multiple
+ dictionary creations. If the version field of this callbacks
+ structure is not one of the defined ones for CFDictionary, the
+ behavior is undefined. The retain field may be NULL, in which
+ case the CFDictionary will do nothing to add a retain to values
+ as they are put into the dictionary. The release field may be
+ NULL, in which case the CFDictionary will do nothing to remove
+ the dictionary's retain (if any) on the values when the
+ dictionary is destroyed or a key-value pair is removed. If the
+ copyDescription field is NULL, the dictionary will create a
+ simple description for a value. If the equal field is NULL, the
+ dictionary will use pointer equality to test for equality of
+ values. This callbacks parameter itself may be NULL, which is
+ treated as if a valid structure of version 0 with all fields
+ NULL had been passed in. Otherwise,
+ if any of the fields are not valid pointers to functions
+ of the correct type, or this parameter is not a valid
+ pointer to a CFDictionaryValueCallBacks callbacks structure,
+ the behavior is undefined. If any of the values put into the
+ dictionary is not one understood by one of the callback functions
+ the behavior when that callback function is used is undefined.
+ @result A reference to the new immutable CFDictionary.
+*/
+CF_EXPORT
+CFDictionaryRef CFDictionaryCreate(CFAllocatorRef allocator, const void **keys, const void **values, CFIndex numValues, const CFDictionaryKeyCallBacks *keyCallBacks, const CFDictionaryValueCallBacks *valueCallBacks);
+
+/*!
+ @function CFDictionaryCreateCopy
+ Creates a new immutable dictionary with the key-value pairs from
+ the given dictionary.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the dictionary and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param theDict The dictionary which is to be copied. The keys and values
+ from the dictionary are copied as pointers into the new
+ dictionary (that is, the values themselves are copied, not
+ that which the values point to, if anything). However, the
+ keys and values are also retained by the new dictionary using
+ the retain function of the original dictionary.
+ The count of the new dictionary will be the same as the
+ given dictionary. The new dictionary uses the same callbacks
+ as the dictionary to be copied. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @result A reference to the new immutable CFDictionary.
+*/
+CF_EXPORT
+CFDictionaryRef CFDictionaryCreateCopy(CFAllocatorRef allocator, CFDictionaryRef theDict);
+
+/*!
+ @function CFDictionaryCreateMutable
+ Creates a new mutable dictionary.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the dictionary and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param capacity The maximum number of values that can be contained by
+ the CFDictionary. The dictionary starts empty, and can grow
+ to this number of values (and it can have less). If this
+ parameter is 0, the dictionary's maximum capacity is unlimited
+ (or rather, only limited by address space and available memory
+ constraints). If this parameter is negative, the behavior is
+ undefined.
+ @param keyCallBacks A pointer to a CFDictionaryKeyCallBacks structure
+ initialized with the callbacks for the dictionary to use on
+ each key in the dictionary. A copy of the contents of the
+ callbacks structure is made, so that a pointer to a structure
+ on the stack can be passed in, or can be reused for multiple
+ dictionary creations. If the version field of this
+ callbacks structure is not one of the defined ones for
+ CFDictionary, the behavior is undefined. The retain field may
+ be NULL, in which case the CFDictionary will do nothing to add
+ a retain to the keys of the contained values. The release field
+ may be NULL, in which case the CFDictionary will do nothing
+ to remove the dictionary's retain (if any) on the keys when the
+ dictionary is destroyed or a key-value pair is removed. If the
+ copyDescription field is NULL, the dictionary will create a
+ simple description for a key. If the equal field is NULL, the
+ dictionary will use pointer equality to test for equality of
+ keys. If the hash field is NULL, a key will be converted from
+ a pointer to an integer to compute the hash code. This callbacks
+ parameter itself may be NULL, which is treated as if a valid
+ structure of version 0 with all fields NULL had been passed in.
+ Otherwise, if any of the fields are not valid pointers to
+ functions of the correct type, or this parameter is not a
+ valid pointer to a CFDictionaryKeyCallBacks callbacks structure,
+ the behavior is undefined. If any of the keys put into the
+ dictionary is not one understood by one of the callback functions
+ the behavior when that callback function is used is undefined.
+ @param valueCallBacks A pointer to a CFDictionaryValueCallBacks structure
+ initialized with the callbacks for the dictionary to use on
+ each value in the dictionary. The retain callback will be used
+ within this function, for example, to retain all of the new
+ values from the values C array. A copy of the contents of the
+ callbacks structure is made, so that a pointer to a structure
+ on the stack can be passed in, or can be reused for multiple
+ dictionary creations. If the version field of this callbacks
+ structure is not one of the defined ones for CFDictionary, the
+ behavior is undefined. The retain field may be NULL, in which
+ case the CFDictionary will do nothing to add a retain to values
+ as they are put into the dictionary. The release field may be
+ NULL, in which case the CFDictionary will do nothing to remove
+ the dictionary's retain (if any) on the values when the
+ dictionary is destroyed or a key-value pair is removed. If the
+ copyDescription field is NULL, the dictionary will create a
+ simple description for a value. If the equal field is NULL, the
+ dictionary will use pointer equality to test for equality of
+ values. This callbacks parameter itself may be NULL, which is
+ treated as if a valid structure of version 0 with all fields
+ NULL had been passed in. Otherwise,
+ if any of the fields are not valid pointers to functions
+ of the correct type, or this parameter is not a valid
+ pointer to a CFDictionaryValueCallBacks callbacks structure,
+ the behavior is undefined. If any of the values put into the
+ dictionary is not one understood by one of the callback functions
+ the behavior when that callback function is used is undefined.
+ @result A reference to the new mutable CFDictionary.
+*/
+CF_EXPORT
+CFMutableDictionaryRef CFDictionaryCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFDictionaryKeyCallBacks *keyCallBacks, const CFDictionaryValueCallBacks *valueCallBacks);
+
+/*!
+ @function CFDictionaryCreateMutableCopy
+ Creates a new mutable dictionary with the key-value pairs from
+ the given dictionary.
+ @param allocator The CFAllocator which should be used to allocate
+ memory for the dictionary and its storage for values. This
+ parameter may be NULL in which case the current default
+ CFAllocator is used. If this reference is not a valid
+ CFAllocator, the behavior is undefined.
+ @param capacity The maximum number of values that can be contained
+ by the CFDictionary. The dictionary starts empty, and can grow
+ to this number of values (and it can have less). If this
+ parameter is 0, the dictionary's maximum capacity is unlimited
+ (or rather, only limited by address space and available memory
+ constraints). This parameter must be greater than or equal
+ to the count of the dictionary which is to be copied, or the
+ behavior is undefined. If this parameter is negative, the
+ behavior is undefined.
+ @param theDict The dictionary which is to be copied. The keys and values
+ from the dictionary are copied as pointers into the new
+ dictionary (that is, the values themselves are copied, not
+ that which the values point to, if anything). However, the
+ keys and values are also retained by the new dictionary using
+ the retain function of the original dictionary.
+ The count of the new dictionary will be the same as the
+ given dictionary. The new dictionary uses the same callbacks
+ as the dictionary to be copied. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @result A reference to the new mutable CFDictionary.
+*/
+CF_EXPORT
+CFMutableDictionaryRef CFDictionaryCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFDictionaryRef theDict);
+
+/*!
+ @function CFDictionaryGetCount
+ Returns the number of values currently in the dictionary.
+ @param theDict The dictionary to be queried. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @result The number of values in the dictionary.
+*/
+CF_EXPORT
+CFIndex CFDictionaryGetCount(CFDictionaryRef theDict);
+
+/*!
+ @function CFDictionaryGetCountOfKey
+ Counts the number of times the given key occurs in the dictionary.
+ @param theDict The dictionary to be searched. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @param key The key for which to find matches in the dictionary. The
+ hash() and equal() key callbacks provided when the dictionary
+ was created are used to compare. If the hash() key callback
+ was NULL, the key is treated as a pointer and converted to
+ an integer. If the equal() key callback was NULL, pointer
+ equality (in C, ==) is used. If key, or any of the keys in
+ the dictionary, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result Returns 1 if a matching key is used by the dictionary,
+ 0 otherwise.
+*/
+CF_EXPORT
+CFIndex CFDictionaryGetCountOfKey(CFDictionaryRef theDict, const void *key);
+
+/*!
+ @function CFDictionaryGetCountOfValue
+ Counts the number of times the given value occurs in the dictionary.
+ @param theDict The dictionary to be searched. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @param value The value for which to find matches in the dictionary. The
+ equal() callback provided when the dictionary was created is
+ used to compare. If the equal() value callback was NULL, pointer
+ equality (in C, ==) is used. If value, or any of the values in
+ the dictionary, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result The number of times the given value occurs in the dictionary.
+*/
+CF_EXPORT
+CFIndex CFDictionaryGetCountOfValue(CFDictionaryRef theDict, const void *value);
+
+/*!
+ @function CFDictionaryContainsKey
+ Reports whether or not the key is in the dictionary.
+ @param theDict The dictionary to be searched. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @param key The key for which to find matches in the dictionary. The
+ hash() and equal() key callbacks provided when the dictionary
+ was created are used to compare. If the hash() key callback
+ was NULL, the key is treated as a pointer and converted to
+ an integer. If the equal() key callback was NULL, pointer
+ equality (in C, ==) is used. If key, or any of the keys in
+ the dictionary, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result true, if the key is in the dictionary, otherwise false.
+*/
+CF_EXPORT
+Boolean CFDictionaryContainsKey(CFDictionaryRef theDict, const void *key);
+
+/*!
+ @function CFDictionaryContainsValue
+ Reports whether or not the value is in the dictionary.
+ @param theDict The dictionary to be searched. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @param value The value for which to find matches in the dictionary. The
+ equal() callback provided when the dictionary was created is
+ used to compare. If the equal() callback was NULL, pointer
+ equality (in C, ==) is used. If value, or any of the values
+ in the dictionary, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result true, if the value is in the dictionary, otherwise false.
+*/
+CF_EXPORT
+Boolean CFDictionaryContainsValue(CFDictionaryRef theDict, const void *value);
+
+/*!
+ @function CFDictionaryGetValue
+ Retrieves the value associated with the given key.
+ @param theDict The dictionary to be queried. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @param key The key for which to find a match in the dictionary. The
+ hash() and equal() key callbacks provided when the dictionary
+ was created are used to compare. If the hash() key callback
+ was NULL, the key is treated as a pointer and converted to
+ an integer. If the equal() key callback was NULL, pointer
+ equality (in C, ==) is used. If key, or any of the keys in
+ the dictionary, are not understood by the equal() callback,
+ the behavior is undefined.
+ @result The value with the given key in the dictionary, or NULL if
+ no key-value pair with a matching key exists. Since NULL
+ can be a valid value in some dictionaries, the function
+ CFDictionaryGetValueIfPresent() must be used to distinguish
+ NULL-no-found from NULL-is-the-value.
+*/
+CF_EXPORT
+const void *CFDictionaryGetValue(CFDictionaryRef theDict, const void *key);
+
+/*!
+ @function CFDictionaryGetValueIfPresent
+ Retrieves the value associated with the given key.
+ @param theDict The dictionary to be queried. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @param key The key for which to find a match in the dictionary. The
+ hash() and equal() key callbacks provided when the dictionary
+ was created are used to compare. If the hash() key callback
+ was NULL, the key is treated as a pointer and converted to
+ an integer. If the equal() key callback was NULL, pointer
+ equality (in C, ==) is used. If key, or any of the keys in
+ the dictionary, are not understood by the equal() callback,
+ the behavior is undefined.
+ @param value A pointer to memory which should be filled with the
+ pointer-sized value if a matching key is found. If no key
+ match is found, the contents of the storage pointed to by
+ this parameter are undefined. This parameter may be NULL,
+ in which case the value from the dictionary is not returned
+ (but the return value of this function still indicates
+ whether or not the key-value pair was present).
+ @result true, if a matching key was found, false otherwise.
+*/
+CF_EXPORT
+Boolean CFDictionaryGetValueIfPresent(CFDictionaryRef theDict, const void *key, const void **value);
+
+/*!
+ @function CFDictionaryGetKeysAndValues
+ Fills the two buffers with the keys and values from the dictionary.
+ @param theDict The dictionary to be queried. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @param keys A C array of pointer-sized values to be filled with keys
+ from the dictionary. The keys and values C arrays are parallel
+ to each other (that is, the items at the same indices form a
+ key-value pair from the dictionary). This parameter may be NULL
+ if the keys are not desired. If this parameter is not a valid
+ pointer to a C array of at least CFDictionaryGetCount() pointers,
+ or NULL, the behavior is undefined.
+ @param values A C array of pointer-sized values to be filled with values
+ from the dictionary. The keys and values C arrays are parallel
+ to each other (that is, the items at the same indices form a
+ key-value pair from the dictionary). This parameter may be NULL
+ if the values are not desired. If this parameter is not a valid
+ pointer to a C array of at least CFDictionaryGetCount() pointers,
+ or NULL, the behavior is undefined.
+*/
+CF_EXPORT
+void CFDictionaryGetKeysAndValues(CFDictionaryRef theDict, const void **keys, const void **values);
+
+/*!
+ @function CFDictionaryApplyFunction
+ Calls a function once for each value in the dictionary.
+ @param theDict The dictionary to be queried. If this parameter is
+ not a valid CFDictionary, the behavior is undefined.
+ @param applier The callback function to call once for each value in
+ the dictionary. If this parameter is not a
+ pointer to a function of the correct prototype, the behavior
+ is undefined. If there are keys or values which the
+ applier function does not expect or cannot properly apply
+ to, the behavior is undefined.
+ @param context A pointer-sized user-defined value, which is passed
+ as the third parameter to the applier function, but is
+ otherwise unused by this function. If the context is not
+ what is expected by the applier function, the behavior is
+ undefined.
+*/
+CF_EXPORT
+void CFDictionaryApplyFunction(CFDictionaryRef theDict, CFDictionaryApplierFunction applier, void *context);
+
+/*!
+ @function CFDictionaryAddValue
+ Adds the key-value pair to the dictionary if no such key already exists.
+ @param theDict The dictionary to which the value is to be added. If this
+ parameter is not a valid mutable CFDictionary, the behavior is
+ undefined. If the dictionary is a fixed-capacity dictionary and
+ it is full before this operation, the behavior is undefined.
+ @param key The key of the value to add to the dictionary. The key is
+ retained by the dictionary using the retain callback provided
+ when the dictionary was created. If the key is not of the sort
+ expected by the retain callback, the behavior is undefined. If
+ a key which matches this key is already present in the dictionary,
+ this function does nothing ("add if absent").
+ @param value The value to add to the dictionary. The value is retained
+ by the dictionary using the retain callback provided when the
+ dictionary was created. If the value is not of the sort expected
+ by the retain callback, the behavior is undefined.
+*/
+CF_EXPORT
+void CFDictionaryAddValue(CFMutableDictionaryRef theDict, const void *key, const void *value);
+
+/*!
+ @function CFDictionarySetValue
+ Sets the value of the key in the dictionary.
+ @param theDict The dictionary to which the value is to be set. If this
+ parameter is not a valid mutable CFDictionary, the behavior is
+ undefined. If the dictionary is a fixed-capacity dictionary and
+ it is full before this operation, and the key does not exist in
+ the dictionary, the behavior is undefined.
+ @param key The key of the value to set into the dictionary. If a key
+ which matches this key is already present in the dictionary, only
+ the value is changed ("add if absent, replace if present"). If
+ no key matches the given key, the key-value pair is added to the
+ dictionary. If added, the key is retained by the dictionary,
+ using the retain callback provided
+ when the dictionary was created. If the key is not of the sort
+ expected by the key retain callback, the behavior is undefined.
+ @param value The value to add to or replace into the dictionary. The value
+ is retained by the dictionary using the retain callback provided
+ when the dictionary was created, and the previous value if any is
+ released. If the value is not of the sort expected by the
+ retain or release callbacks, the behavior is undefined.
+*/
+CF_EXPORT
+void CFDictionarySetValue(CFMutableDictionaryRef theDict, const void *key, const void *value);
+
+/*!
+ @function CFDictionaryReplaceValue
+ Replaces the value of the key in the dictionary.
+ @param theDict The dictionary to which the value is to be replaced. If this
+ parameter is not a valid mutable CFDictionary, the behavior is
+ undefined.
+ @param key The key of the value to replace in the dictionary. If a key
+ which matches this key is present in the dictionary, the value
+ is changed to the given value, otherwise this function does
+ nothing ("replace if present").
+ @param value The value to replace into the dictionary. The value
+ is retained by the dictionary using the retain callback provided
+ when the dictionary was created, and the previous value is
+ released. If the value is not of the sort expected by the
+ retain or release callbacks, the behavior is undefined.
+*/
+CF_EXPORT
+void CFDictionaryReplaceValue(CFMutableDictionaryRef theDict, const void *key, const void *value);
+
+/*!
+ @function CFDictionaryRemoveValue
+ Removes the value of the key from the dictionary.
+ @param theDict The dictionary from which the value is to be removed. If this
+ parameter is not a valid mutable CFDictionary, the behavior is
+ undefined.
+ @param key The key of the value to remove from the dictionary. If a key
+ which matches this key is present in the dictionary, the key-value
+ pair is removed from the dictionary, otherwise this function does
+ nothing ("remove if present").
+*/
+CF_EXPORT
+void CFDictionaryRemoveValue(CFMutableDictionaryRef theDict, const void *key);
+
+/*!
+ @function CFDictionaryRemoveAllValues
+ Removes all the values from the dictionary, making it empty.
+ @param theDict The dictionary from which all of the values are to be
+ removed. If this parameter is not a valid mutable
+ CFDictionary, the behavior is undefined.
+*/
+CF_EXPORT
+void CFDictionaryRemoveAllValues(CFMutableDictionaryRef theDict);
#if defined(__cplusplus)
}
diff --git a/include/qt/CoreFoundation/CFLocale.h b/include/qt/CoreFoundation/CFLocale.h
index 3790d43a6..aa43507de 100644
--- a/include/qt/CoreFoundation/CFLocale.h
+++ b/include/qt/CoreFoundation/CFLocale.h
@@ -13,7 +13,7 @@
extern "C" {
#endif
- typedef const struct __CFLocale *CFLocaleRef;
+typedef const struct __CFLocale *CFLocaleRef;
diff --git a/include/qt/CoreFoundation/CFNumber.h b/include/qt/CoreFoundation/CFNumber.h
index d496ecfbf..04772b399 100644
--- a/include/qt/CoreFoundation/CFNumber.h
+++ b/include/qt/CoreFoundation/CFNumber.h
@@ -11,122 +11,121 @@
extern "C" {
#endif
- typedef const struct __CFBoolean * CFBooleanRef;
+typedef const struct __CFBoolean * CFBooleanRef;
#if TARGET_OS_WIN32
#define kCFBooleanTrue (*((const CFBooleanRef *)QTGetCFConstant("kCFBooleanTrue")))
#define kCFBooleanFalse (*((const CFBooleanRef *)QTGetCFConstant("kCFBooleanFalse")))
#else
- CF_EXPORT
- const CFBooleanRef kCFBooleanTrue;
- CF_EXPORT
- const CFBooleanRef kCFBooleanFalse;
+CF_EXPORT
+const CFBooleanRef kCFBooleanTrue;
+CF_EXPORT
+const CFBooleanRef kCFBooleanFalse;
#endif
- CF_EXPORT
- CFTypeID CFBooleanGetTypeID(void);
-
- CF_EXPORT
- Boolean CFBooleanGetValue(CFBooleanRef boolean);
-
- typedef enum
- {
- /* Types from MacTypes.h */
- kCFNumberSInt8Type = 1,
- kCFNumberSInt16Type = 2,
- kCFNumberSInt32Type = 3,
- kCFNumberSInt64Type = 4,
- kCFNumberFloat32Type = 5,
- kCFNumberFloat64Type = 6, /* 64-bit IEEE 754 */
- /* Basic C types */
- kCFNumberCharType = 7,
- kCFNumberShortType = 8,
- kCFNumberIntType = 9,
- kCFNumberLongType = 10,
- kCFNumberLongLongType = 11,
- kCFNumberFloatType = 12,
- kCFNumberDoubleType = 13,
- /* Other */
- kCFNumberCFIndexType = 14,
- kCFNumberMaxType = 14
- } CFNumberType;
-
- typedef const struct __CFNumber * CFNumberRef;
+CF_EXPORT
+CFTypeID CFBooleanGetTypeID(void);
+
+CF_EXPORT
+Boolean CFBooleanGetValue(CFBooleanRef boolean);
+
+typedef enum {
+ /* Types from MacTypes.h */
+ kCFNumberSInt8Type = 1,
+ kCFNumberSInt16Type = 2,
+ kCFNumberSInt32Type = 3,
+ kCFNumberSInt64Type = 4,
+ kCFNumberFloat32Type = 5,
+ kCFNumberFloat64Type = 6, /* 64-bit IEEE 754 */
+ /* Basic C types */
+ kCFNumberCharType = 7,
+ kCFNumberShortType = 8,
+ kCFNumberIntType = 9,
+ kCFNumberLongType = 10,
+ kCFNumberLongLongType = 11,
+ kCFNumberFloatType = 12,
+ kCFNumberDoubleType = 13,
+ /* Other */
+ kCFNumberCFIndexType = 14,
+ kCFNumberMaxType = 14
+} CFNumberType;
+
+typedef const struct __CFNumber * CFNumberRef;
#if TARGET_OS_WIN32
#define kCFNumberPositiveInfinity (*((const CFNumberRef *)QTGetCFConstant("kCFNumberPositiveInfinity")))
#define kCFNumberNegativeInfinity (*((const CFNumberRef *)QTGetCFConstant("kCFNumberNegativeInfinity")))
#define kCFNumberNaN (*((const CFNumberRef *)QTGetCFConstant("kCFNumberNaN")))
#else
- CF_EXPORT
- const CFNumberRef kCFNumberPositiveInfinity;
- CF_EXPORT
- const CFNumberRef kCFNumberNegativeInfinity;
- CF_EXPORT
- const CFNumberRef kCFNumberNaN;
+CF_EXPORT
+const CFNumberRef kCFNumberPositiveInfinity;
+CF_EXPORT
+const CFNumberRef kCFNumberNegativeInfinity;
+CF_EXPORT
+const CFNumberRef kCFNumberNaN;
#endif
- CF_EXPORT
- CFTypeID CFNumberGetTypeID(void);
-
- /*
- Creates a CFNumber with the given value. The type of number pointed
- to by the valuePtr is specified by type. If type is a floating point
- type and the value represents one of the infinities or NaN, the
- well-defined CFNumber for that value is returned. If either of
- valuePtr or type is an invalid value, the result is undefined.
- */
- CF_EXPORT
- CFNumberRef CFNumberCreate(CFAllocatorRef allocator, CFNumberType theType, const void *valuePtr);
-
- /*
- Returns the storage format of the CFNumber's value. Note that
- this is not necessarily the type provided in CFNumberCreate().
- */
- CF_EXPORT
- CFNumberType CFNumberGetType(CFNumberRef number);
-
- /*
- Returns the size in bytes of the type of the number.
- */
- CF_EXPORT
- CFIndex CFNumberGetByteSize(CFNumberRef number);
-
- /*
- Returns true if the type of the CFNumber's value is one of
- the defined floating point types.
- */
- CF_EXPORT
- Boolean CFNumberIsFloatType(CFNumberRef number);
-
- /*
- Copies the CFNumber's value into the space pointed to by
- valuePtr, as the specified type. If conversion needs to take
- place, the conversion rules follow human expectation and not
- C's promotion and truncation rules. If the conversion is
- lossy, or the value is out of range, false is returned. Best
- attempt at conversion will still be in *valuePtr.
- */
- CF_EXPORT
- Boolean CFNumberGetValue(CFNumberRef number, CFNumberType theType, void *valuePtr);
-
- /*
- Compares the two CFNumber instances. If conversion of the
- types of the values is needed, the conversion and comparison
- follow human expectations and not C's promotion and comparison
- rules. Negative zero compares less than positive zero.
- Positive infinity compares greater than everything except
- itself, to which it compares equal. Negative infinity compares
- less than everything except itself, to which it compares equal.
- Unlike standard practice, if both numbers are NaN, then they
- compare equal; if only one of the numbers is NaN, then the NaN
- compares greater than the other number if it is negative, and
- smaller than the other number if it is positive. (Note that in
- CFEqual() with two CFNumbers, if either or both of the numbers
- is NaN, true is returned.)
- */
- CF_EXPORT
- CFComparisonResult CFNumberCompare(CFNumberRef number, CFNumberRef otherNumber, void *context);
+CF_EXPORT
+CFTypeID CFNumberGetTypeID(void);
+
+/*
+ Creates a CFNumber with the given value. The type of number pointed
+ to by the valuePtr is specified by type. If type is a floating point
+ type and the value represents one of the infinities or NaN, the
+ well-defined CFNumber for that value is returned. If either of
+ valuePtr or type is an invalid value, the result is undefined.
+*/
+CF_EXPORT
+CFNumberRef CFNumberCreate(CFAllocatorRef allocator, CFNumberType theType, const void *valuePtr);
+
+/*
+ Returns the storage format of the CFNumber's value. Note that
+ this is not necessarily the type provided in CFNumberCreate().
+*/
+CF_EXPORT
+CFNumberType CFNumberGetType(CFNumberRef number);
+
+/*
+ Returns the size in bytes of the type of the number.
+*/
+CF_EXPORT
+CFIndex CFNumberGetByteSize(CFNumberRef number);
+
+/*
+ Returns true if the type of the CFNumber's value is one of
+ the defined floating point types.
+*/
+CF_EXPORT
+Boolean CFNumberIsFloatType(CFNumberRef number);
+
+/*
+ Copies the CFNumber's value into the space pointed to by
+ valuePtr, as the specified type. If conversion needs to take
+ place, the conversion rules follow human expectation and not
+ C's promotion and truncation rules. If the conversion is
+ lossy, or the value is out of range, false is returned. Best
+ attempt at conversion will still be in *valuePtr.
+*/
+CF_EXPORT
+Boolean CFNumberGetValue(CFNumberRef number, CFNumberType theType, void *valuePtr);
+
+/*
+ Compares the two CFNumber instances. If conversion of the
+ types of the values is needed, the conversion and comparison
+ follow human expectations and not C's promotion and comparison
+ rules. Negative zero compares less than positive zero.
+ Positive infinity compares greater than everything except
+ itself, to which it compares equal. Negative infinity compares
+ less than everything except itself, to which it compares equal.
+ Unlike standard practice, if both numbers are NaN, then they
+ compare equal; if only one of the numbers is NaN, then the NaN
+ compares greater than the other number if it is negative, and
+ smaller than the other number if it is positive. (Note that in
+ CFEqual() with two CFNumbers, if either or both of the numbers
+ is NaN, true is returned.)
+*/
+CF_EXPORT
+CFComparisonResult CFNumberCompare(CFNumberRef number, CFNumberRef otherNumber, void *context);
#if defined(__cplusplus)
}
diff --git a/include/qt/CoreFoundation/CFString.h b/include/qt/CoreFoundation/CFString.h
index 1163c78c3..e511274aa 100644
--- a/include/qt/CoreFoundation/CFString.h
+++ b/include/qt/CoreFoundation/CFString.h
@@ -17,656 +17,648 @@
extern "C" {
#endif
- /*
- Please note: CFStrings are conceptually an array of Unicode characters.
- However, in general, how a CFString stores this array is an implementation
- detail. For instance, CFString might choose to use an array of 8-bit characters;
- to store its contents; or it might use multiple blocks of memory; or whatever.
- Furthermore, the implementation might change depending on the default
- system encoding, the user's language, the OS, or even a given release.
-
- What this means is that you should use the following advanced functions with care:
-
- CFStringGetPascalStringPtr()
- CFStringGetCStringPtr()
- CFStringGetCharactersPtr()
-
- These functions are provided for optimization only. They will either return the desired
- pointer quickly, in constant time, or they return NULL. They might choose to return NULL
- for many reasons; for instance it's possible that for users running in different
- languages these sometimes return NULL; or in a future OS release the first two might
- switch to always returning NULL. Never observing NULL returns in your usages of these
- functions does not mean they won't ever return NULL. (But note the CFStringGetCharactersPtr()
- exception mentioned further below.)
-
- In your usages of these functions, if you get a NULL return, use the non-Ptr version
- of the functions as shown in this example:
-
- Str255 buffer;
- StringPtr ptr = CFStringGetPascalStringPtr(str, encoding);
- if (ptr == NULL) {
- if (CFStringGetPascalString(str, buffer, 256, encoding)) ptr = buffer;
- }
-
- Note that CFStringGetPascalString() or CFStringGetCString() calls might still fail --- but
- that will happen in two circumstances only: The conversion from the UniChar contents of CFString
- to the specified encoding fails, or the buffer is too small. If they fail, that means
- the conversion was not possible.
-
- If you need a copy of the buffer in the above example, you might consider simply
- calling CFStringGetPascalString() in all cases --- CFStringGetPascalStringPtr()
- is simply an optimization.
-
- In addition, the following functions, which create immutable CFStrings from developer
- supplied buffers without copying the buffers, might have to actually copy
- under certain circumstances (If they do copy, the buffer will be dealt with by the
- "contentsDeallocator" argument.):
-
- CFStringCreateWithPascalStringNoCopy()
- CFStringCreateWithCStringNoCopy()
- CFStringCreateWithCharactersNoCopy()
-
- You should of course never depend on the backing store of these CFStrings being
- what you provided, and in other no circumstance should you change the contents
- of that buffer (given that would break the invariant about the CFString being immutable).
-
- Having said all this, there are actually ways to create a CFString where the backing store
- is external, and can be manipulated by the developer or CFString itself:
-
- CFStringCreateMutableWithExternalCharactersNoCopy()
- CFStringSetExternalCharactersNoCopy()
-
- A "contentsAllocator" is used to realloc or free the backing store by CFString.
- kCFAllocatorNull can be provided to assure CFString will never realloc or free the buffer.
- Developer can call CFStringSetExternalCharactersNoCopy() to update
- CFString's idea of what's going on, if the buffer is changed externally. In these
- strings, CFStringGetCharactersPtr() is guaranteed to return the external buffer.
-
- These functions are here to allow wrapping a buffer of UniChar characters in a CFString,
- allowing the buffer to passed into CFString functions and also manipulated via CFString
- mutation functions. In general, developers should not use this technique for all strings,
- as it prevents CFString from using certain optimizations.
- */
-
- /* Identifier for character encoding; the values are the same as Text Encoding Converter TextEncoding.
- */
- typedef UInt32 CFStringEncoding;
-
- /* Platform-independent built-in encodings; always available on all platforms.
- Call CFStringGetSystemEncoding() to get the default system encoding.
- */
+/*
+Please note: CFStrings are conceptually an array of Unicode characters.
+However, in general, how a CFString stores this array is an implementation
+detail. For instance, CFString might choose to use an array of 8-bit characters;
+to store its contents; or it might use multiple blocks of memory; or whatever.
+Furthermore, the implementation might change depending on the default
+system encoding, the user's language, the OS, or even a given release.
+
+What this means is that you should use the following advanced functions with care:
+
+ CFStringGetPascalStringPtr()
+ CFStringGetCStringPtr()
+ CFStringGetCharactersPtr()
+
+These functions are provided for optimization only. They will either return the desired
+pointer quickly, in constant time, or they return NULL. They might choose to return NULL
+for many reasons; for instance it's possible that for users running in different
+languages these sometimes return NULL; or in a future OS release the first two might
+switch to always returning NULL. Never observing NULL returns in your usages of these
+functions does not mean they won't ever return NULL. (But note the CFStringGetCharactersPtr()
+exception mentioned further below.)
+
+In your usages of these functions, if you get a NULL return, use the non-Ptr version
+of the functions as shown in this example:
+
+ Str255 buffer;
+ StringPtr ptr = CFStringGetPascalStringPtr(str, encoding);
+ if (ptr == NULL) {
+ if (CFStringGetPascalString(str, buffer, 256, encoding)) ptr = buffer;
+ }
+
+Note that CFStringGetPascalString() or CFStringGetCString() calls might still fail --- but
+that will happen in two circumstances only: The conversion from the UniChar contents of CFString
+to the specified encoding fails, or the buffer is too small. If they fail, that means
+the conversion was not possible.
+
+If you need a copy of the buffer in the above example, you might consider simply
+calling CFStringGetPascalString() in all cases --- CFStringGetPascalStringPtr()
+is simply an optimization.
+
+In addition, the following functions, which create immutable CFStrings from developer
+supplied buffers without copying the buffers, might have to actually copy
+under certain circumstances (If they do copy, the buffer will be dealt with by the
+"contentsDeallocator" argument.):
+
+ CFStringCreateWithPascalStringNoCopy()
+ CFStringCreateWithCStringNoCopy()
+ CFStringCreateWithCharactersNoCopy()
+
+You should of course never depend on the backing store of these CFStrings being
+what you provided, and in other no circumstance should you change the contents
+of that buffer (given that would break the invariant about the CFString being immutable).
+
+Having said all this, there are actually ways to create a CFString where the backing store
+is external, and can be manipulated by the developer or CFString itself:
+
+ CFStringCreateMutableWithExternalCharactersNoCopy()
+ CFStringSetExternalCharactersNoCopy()
+
+A "contentsAllocator" is used to realloc or free the backing store by CFString.
+kCFAllocatorNull can be provided to assure CFString will never realloc or free the buffer.
+Developer can call CFStringSetExternalCharactersNoCopy() to update
+CFString's idea of what's going on, if the buffer is changed externally. In these
+strings, CFStringGetCharactersPtr() is guaranteed to return the external buffer.
+
+These functions are here to allow wrapping a buffer of UniChar characters in a CFString,
+allowing the buffer to passed into CFString functions and also manipulated via CFString
+mutation functions. In general, developers should not use this technique for all strings,
+as it prevents CFString from using certain optimizations.
+*/
+
+/* Identifier for character encoding; the values are the same as Text Encoding Converter TextEncoding.
+*/
+typedef UInt32 CFStringEncoding;
+
+/* Platform-independent built-in encodings; always available on all platforms.
+ Call CFStringGetSystemEncoding() to get the default system encoding.
+*/
#define kCFStringEncodingInvalidId (0xffffffffU)
- typedef enum
- {
- kCFStringEncodingMacRoman = 0,
- kCFStringEncodingWindowsLatin1 = 0x0500, /* ANSI codepage 1252 */
- kCFStringEncodingISOLatin1 = 0x0201, /* ISO 8859-1 */
- kCFStringEncodingNextStepLatin = 0x0B01, /* NextStep encoding*/
- kCFStringEncodingASCII = 0x0600, /* 0..127 (in creating CFString, values greater than 0x7F are treated as corresponding Unicode value) */
- kCFStringEncodingUnicode = 0x0100, /* kTextEncodingUnicodeDefault + kTextEncodingDefaultFormat (aka kUnicode16BitFormat) */
- kCFStringEncodingUTF8 = 0x08000100, /* kTextEncodingUnicodeDefault + kUnicodeUTF8Format */
- kCFStringEncodingNonLossyASCII = 0x0BFF /* 7bit Unicode variants used by Cocoa & Java */
- } CFStringBuiltInEncodings;
-
- /* CFString type ID */
- CF_EXPORT
- CFTypeID CFStringGetTypeID(void);
-
- /* Macro to allow creation of compile-time constant strings; the argument should be a constant string.
-
- CFSTR(), not being a "Copy" or "Create" function, does not return a new
- reference for you. So, you should not release the return value. This is
- much like constant C or Pascal strings --- when you use "hello world"
- in a program, you do not free it.
-
- However, strings returned from CFSTR() can be retained and released in a
- properly nested fashion, just like any other CF type. That is, if you pass
- a CFSTR() return value to a function such as SetMenuItemWithCFString(), the
- function can retain it, then later, when it's done with it, it can release it.
-
- At this point non-7 bit characters (that is, characters > 127) in CFSTR() are not
- supported and using them will lead to unpredictable results. This includes escaped
- (\nnn) characters whose values are > 127. Even if it works for you in testing,
- it might not work for a user with a different language preference.
- */
+typedef enum {
+ kCFStringEncodingMacRoman = 0,
+ kCFStringEncodingWindowsLatin1 = 0x0500, /* ANSI codepage 1252 */
+ kCFStringEncodingISOLatin1 = 0x0201, /* ISO 8859-1 */
+ kCFStringEncodingNextStepLatin = 0x0B01, /* NextStep encoding*/
+ kCFStringEncodingASCII = 0x0600, /* 0..127 (in creating CFString, values greater than 0x7F are treated as corresponding Unicode value) */
+ kCFStringEncodingUnicode = 0x0100, /* kTextEncodingUnicodeDefault + kTextEncodingDefaultFormat (aka kUnicode16BitFormat) */
+ kCFStringEncodingUTF8 = 0x08000100, /* kTextEncodingUnicodeDefault + kUnicodeUTF8Format */
+ kCFStringEncodingNonLossyASCII = 0x0BFF /* 7bit Unicode variants used by Cocoa & Java */
+} CFStringBuiltInEncodings;
+
+/* CFString type ID */
+CF_EXPORT
+CFTypeID CFStringGetTypeID(void);
+
+/* Macro to allow creation of compile-time constant strings; the argument should be a constant string.
+
+CFSTR(), not being a "Copy" or "Create" function, does not return a new
+reference for you. So, you should not release the return value. This is
+much like constant C or Pascal strings --- when you use "hello world"
+in a program, you do not free it.
+
+However, strings returned from CFSTR() can be retained and released in a
+properly nested fashion, just like any other CF type. That is, if you pass
+a CFSTR() return value to a function such as SetMenuItemWithCFString(), the
+function can retain it, then later, when it's done with it, it can release it.
+
+At this point non-7 bit characters (that is, characters > 127) in CFSTR() are not
+supported and using them will lead to unpredictable results. This includes escaped
+(\nnn) characters whose values are > 127. Even if it works for you in testing,
+it might not work for a user with a different language preference.
+*/
#ifdef __CONSTANT_CFSTRINGS__
#define CFSTR(cStr) ((CFStringRef) __builtin___CFStringMakeConstantString ("" cStr ""))
#else
#define CFSTR(cStr) __CFStringMakeConstantString("" cStr "")
#endif
- /*** Immutable string creation functions ***/
-
- /* Functions to create basic immutable strings. The provided allocator is used for all memory activity in these functions.
- */
-
- /* These functions copy the provided buffer into CFString's internal storage. */
- CF_EXPORT
- CFStringRef CFStringCreateWithPascalString(CFAllocatorRef alloc, ConstStr255Param pStr, CFStringEncoding encoding);
-
- CF_EXPORT
- CFStringRef CFStringCreateWithCString(CFAllocatorRef alloc, const char *cStr, CFStringEncoding encoding);
-
- CF_EXPORT
- CFStringRef CFStringCreateWithCharacters(CFAllocatorRef alloc, const UniChar *chars, CFIndex numChars);
-
- /* These functions try not to copy the provided buffer. The buffer will be deallocated
- with the provided contentsDeallocator when it's no longer needed; to not free
- the buffer, specify kCFAllocatorNull here. As usual, NULL means default allocator.
-
- NOTE: Do not count on these buffers as being used by the string;
- in some cases the CFString might free the buffer and use something else
- (for instance if it decides to always use Unicode encoding internally).
-
- NOTE: If you are not transferring ownership of the buffer to the CFString
- (for instance, you supplied contentsDeallocator = kCFAllocatorNull), it is your
- responsibility to assure the buffer does not go away during the lifetime of the string.
- If the string is retained or copied, its lifetime might extend in ways you cannot
- predict. So, for strings created with buffers whose lifetimes you cannot
- guarantee, you need to be extremely careful --- do not hand it out to any
- APIs which might retain or copy the strings.
- */
- CF_EXPORT
- CFStringRef CFStringCreateWithPascalStringNoCopy(CFAllocatorRef alloc, ConstStr255Param pStr, CFStringEncoding encoding, CFAllocatorRef contentsDeallocator);
-
- CF_EXPORT
- CFStringRef CFStringCreateWithCStringNoCopy(CFAllocatorRef alloc, const char *cStr, CFStringEncoding encoding, CFAllocatorRef contentsDeallocator);
-
- CF_EXPORT
- CFStringRef CFStringCreateWithCharactersNoCopy(CFAllocatorRef alloc, const UniChar *chars, CFIndex numChars, CFAllocatorRef contentsDeallocator);
-
- /* Create copies of part or all of the string.
- */
- CF_EXPORT
- CFStringRef CFStringCreateWithSubstring(CFAllocatorRef alloc, CFStringRef str, CFRange range);
-
- CF_EXPORT
- CFStringRef CFStringCreateCopy(CFAllocatorRef alloc, CFStringRef theString);
-
- /* These functions create a CFString from the provided printf-like format string and arguments.
- */
- CF_EXPORT
- CFStringRef CFStringCreateWithFormat(CFAllocatorRef alloc, CFDictionaryRef formatOptions, CFStringRef format, ...);
-
- CF_EXPORT
- CFStringRef CFStringCreateWithFormatAndArguments(CFAllocatorRef alloc, CFDictionaryRef formatOptions, CFStringRef format, va_list arguments);
-
- /* Functions to create mutable strings. "maxLength", if not 0, is a hard bound on the length of the string. If 0, there is no limit on the length.
- */
- CF_EXPORT
- CFMutableStringRef CFStringCreateMutable(CFAllocatorRef alloc, CFIndex maxLength);
-
- CF_EXPORT
- CFMutableStringRef CFStringCreateMutableCopy(CFAllocatorRef alloc, CFIndex maxLength, CFStringRef theString);
-
- /* This function creates a mutable string that has a developer supplied and directly editable backing store.
- The string will be manipulated within the provided buffer (if any) until it outgrows capacity; then the
- externalCharactersAllocator will be consulted for more memory. When the CFString is deallocated, the
- buffer will be freed with the externalCharactersAllocator. Provide kCFAllocatorNull here to prevent the buffer
- from ever being reallocated or deallocated by CFString. See comments at top of this file for more info.
- */
- CF_EXPORT
- CFMutableStringRef CFStringCreateMutableWithExternalCharactersNoCopy(CFAllocatorRef alloc, UniChar *chars, CFIndex numChars, CFIndex capacity, CFAllocatorRef externalCharactersAllocator);
-
- /*** Basic accessors for the contents ***/
-
- /* Number of 16-bit Unicode characters in the string.
- */
- CF_EXPORT
- CFIndex CFStringGetLength(CFStringRef theString);
-
- /* Extracting the contents of the string. For obtaining multiple characters, calling
- CFStringGetCharacters() is more efficient than multiple calls to CFStringGetCharacterAtIndex().
- If the length of the string is not known (so you can't use a fixed size buffer for CFStringGetCharacters()),
- another method is to use is CFStringGetCharacterFromInlineBuffer() (see further below).
- */
- CF_EXPORT
- UniChar CFStringGetCharacterAtIndex(CFStringRef theString, CFIndex idx);
-
- CF_EXPORT
- void CFStringGetCharacters(CFStringRef theString, CFRange range, UniChar *buffer);
-
- /*** Conversion to other encodings ***/
-
- /* These two convert into the provided buffer; they return false if conversion isn't possible
- (due to conversion error, or not enough space in the provided buffer).
- These functions do zero-terminate or put the length byte; the provided bufferSize should include
- space for this (so pass 256 for Str255). More sophisticated usages can go through CFStringGetBytes().
- These functions are equivalent to calling CFStringGetBytes() with
- the range of the string; lossByte = 0; and isExternalRepresentation = false;
- if successful, they then insert the leading length of terminating zero, as desired.
- */
- CF_EXPORT
- Boolean CFStringGetPascalString(CFStringRef theString, StringPtr buffer, CFIndex bufferSize, CFStringEncoding encoding);
-
- CF_EXPORT
- Boolean CFStringGetCString(CFStringRef theString, char *buffer, CFIndex bufferSize, CFStringEncoding encoding);
-
- /* These functions attempt to return in O(1) time the desired format for the string.
- Note that although this means a pointer to the internal structure is being returned,
- this can't always be counted on. Please see note at the top of the file for more
- details.
- */
- CF_EXPORT
- ConstStringPtr CFStringGetPascalStringPtr(CFStringRef theString, CFStringEncoding encoding); /* May return NULL at any time; be prepared for NULL */
-
- CF_EXPORT
- const char *CFStringGetCStringPtr(CFStringRef theString, CFStringEncoding encoding); /* May return NULL at any time; be prepared for NULL */
-
- CF_EXPORT
- const UniChar *CFStringGetCharactersPtr(CFStringRef theString); /* May return NULL at any time; be prepared for NULL */
-
- /* The primitive conversion routine; allows you to convert a string piece at a time
- into a fixed size buffer. Returns number of characters converted.
- Characters that cannot be converted to the specified encoding are represented
- with the byte specified by lossByte; if lossByte is 0, then lossy conversion
- is not allowed and conversion stops, returning partial results.
- Pass buffer==NULL if you don't care about the converted string (but just the convertability,
- or number of bytes required).
- maxBufLength indicates the maximum number of bytes to generate. It is ignored when buffer==NULL.
- Does not zero-terminate. If you want to create Pascal or C string, allow one extra byte at start or end.
- Setting isExternalRepresentation causes any extra bytes that would allow
- the data to be made persistent to be included; for instance, the Unicode BOM.
- */
- CF_EXPORT
- CFIndex CFStringGetBytes(CFStringRef theString, CFRange range, CFStringEncoding encoding, UInt8 lossByte, Boolean isExternalRepresentation, UInt8 *buffer, CFIndex maxBufLen, CFIndex *usedBufLen);
-
- /* This one goes the other way by creating a CFString from a bag of bytes.
- This is much like CFStringCreateWithPascalString or CFStringCreateWithCString,
- except the length is supplied explicitly. In addition, you can specify whether
- the data is an external format --- that is, whether to pay attention to the
- BOM character (if any) and do byte swapping if necessary
- */
- CF_EXPORT
- CFStringRef CFStringCreateWithBytes(CFAllocatorRef alloc, const UInt8 *bytes, CFIndex numBytes, CFStringEncoding encoding, Boolean isExternalRepresentation);
-
- /* Convenience functions String <-> Data. These generate "external" formats, that is, formats that
- can be written out to disk. For instance, if the encoding is Unicode, CFStringCreateFromExternalRepresentation()
- pays attention to the BOM character (if any) and does byte swapping if necessary.
- Similarly CFStringCreateExternalRepresentation() will always include a BOM character if the encoding is
- Unicode. See above for description of lossByte.
- */
- CF_EXPORT
- CFStringRef CFStringCreateFromExternalRepresentation(CFAllocatorRef alloc, CFDataRef data, CFStringEncoding encoding); /* May return NULL on conversion error */
-
- CF_EXPORT
- CFDataRef CFStringCreateExternalRepresentation(CFAllocatorRef alloc, CFStringRef theString, CFStringEncoding encoding, UInt8 lossByte); /* May return NULL on conversion error */
-
- /* Hints about the contents of a string
- */
- CF_EXPORT
- CFStringEncoding CFStringGetSmallestEncoding(CFStringRef theString); /* Result in O(n) time max */
-
- CF_EXPORT
- CFStringEncoding CFStringGetFastestEncoding(CFStringRef theString); /* Result in O(1) time max */
-
- /* General encoding info
- */
- CF_EXPORT
- CFStringEncoding CFStringGetSystemEncoding(void); /* The default encoding for the system; untagged 8-bit characters are usually in this encoding */
-
- CF_EXPORT
- CFIndex CFStringGetMaximumSizeForEncoding(CFIndex length, CFStringEncoding encoding); /* Max bytes a string of specified length (in UniChars) will take up if encoded */
-
- /*** Comparison functions. ***/
-
- /* Find and compare flags; these are OR'ed together as compareOptions or searchOptions in the various functions.
- This typedef doesn't appear in the functions; instead the argument is CFOptionFlags.
- */
- typedef enum
- {
- kCFCompareCaseInsensitive = 1,
- kCFCompareBackwards = 4, /* Starting from the end of the string */
- kCFCompareAnchored = 8, /* Only at the specified starting point */
- kCFCompareNonliteral = 16, /* If specified, loose equivalence is performed (o-umlaut == o, umlaut) */
- kCFCompareLocalized = 32, /* User's default locale is used for the comparisons */
- kCFCompareNumerically = 64 /* Numeric comparison is used; that is, Foo2.txt < Foo7.txt < Foo25.txt */
- } CFStringCompareFlags;
-
- /* The main comparison routine; compares specified range of the first string to (the full range of) the second string.
- locale == NULL indicates canonical locale.
- kCFCompareNumerically, added in 10.2, does not work if kCFCompareLocalized is specified on systems before 10.3
- kCFCompareBackwards and kCFCompareAnchored are not applicable.
- */
- CF_EXPORT
- CFComparisonResult CFStringCompareWithOptions(CFStringRef theString1, CFStringRef theString2, CFRange rangeToCompare, CFOptionFlags compareOptions);
-
- /* Comparison convenience suitable for passing as sorting functions.
- kCFCompareNumerically, added in 10.2, does not work if kCFCompareLocalized is specified on systems before 10.3
- kCFCompareBackwards and kCFCompareAnchored are not applicable.
- */
- CF_EXPORT
- CFComparisonResult CFStringCompare(CFStringRef theString1, CFStringRef theString2, CFOptionFlags compareOptions);
-
- /* CFStringFindWithOptions() returns the found range in the CFRange * argument; you can pass NULL for simple discovery check.
- If stringToFind is the empty string (zero length), nothing is found.
- Ignores the kCFCompareNumerically option.
- */
- CF_EXPORT
- Boolean CFStringFindWithOptions(CFStringRef theString, CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags searchOptions, CFRange *result);
-
- /* CFStringCreateArrayWithFindResults() returns an array of CFRange pointers, or NULL if there are no matches.
- Overlapping instances are not found; so looking for "AA" in "AAA" finds just one range.
- Post 10.1: If kCFCompareBackwards is provided, the scan is done from the end (which can give a different result), and
- the results are stored in the array backwards (last found range in slot 0).
- If stringToFind is the empty string (zero length), nothing is found.
- kCFCompareAnchored causes just the consecutive instances at start (or end, if kCFCompareBackwards) to be reported. So, searching for "AB" in "ABABXAB..." you just get the first two occurrences.
- Ignores the kCFCompareNumerically option.
- */
- CF_EXPORT
- CFArrayRef CFStringCreateArrayWithFindResults(CFAllocatorRef alloc, CFStringRef theString, CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags compareOptions);
-
- /* Find conveniences; see comments above concerning empty string and options.
- */
- CF_EXPORT
- CFRange CFStringFind(CFStringRef theString, CFStringRef stringToFind, CFOptionFlags compareOptions);
-
- CF_EXPORT
- Boolean CFStringHasPrefix(CFStringRef theString, CFStringRef prefix);
-
- CF_EXPORT
- Boolean CFStringHasSuffix(CFStringRef theString, CFStringRef suffix);
+/*** Immutable string creation functions ***/
+
+/* Functions to create basic immutable strings. The provided allocator is used for all memory activity in these functions.
+*/
+
+/* These functions copy the provided buffer into CFString's internal storage. */
+CF_EXPORT
+CFStringRef CFStringCreateWithPascalString(CFAllocatorRef alloc, ConstStr255Param pStr, CFStringEncoding encoding);
+
+CF_EXPORT
+CFStringRef CFStringCreateWithCString(CFAllocatorRef alloc, const char *cStr, CFStringEncoding encoding);
+
+CF_EXPORT
+CFStringRef CFStringCreateWithCharacters(CFAllocatorRef alloc, const UniChar *chars, CFIndex numChars);
+
+/* These functions try not to copy the provided buffer. The buffer will be deallocated
+with the provided contentsDeallocator when it's no longer needed; to not free
+the buffer, specify kCFAllocatorNull here. As usual, NULL means default allocator.
+
+NOTE: Do not count on these buffers as being used by the string;
+in some cases the CFString might free the buffer and use something else
+(for instance if it decides to always use Unicode encoding internally).
+
+NOTE: If you are not transferring ownership of the buffer to the CFString
+(for instance, you supplied contentsDeallocator = kCFAllocatorNull), it is your
+responsibility to assure the buffer does not go away during the lifetime of the string.
+If the string is retained or copied, its lifetime might extend in ways you cannot
+predict. So, for strings created with buffers whose lifetimes you cannot
+guarantee, you need to be extremely careful --- do not hand it out to any
+APIs which might retain or copy the strings.
+*/
+CF_EXPORT
+CFStringRef CFStringCreateWithPascalStringNoCopy(CFAllocatorRef alloc, ConstStr255Param pStr, CFStringEncoding encoding, CFAllocatorRef contentsDeallocator);
+
+CF_EXPORT
+CFStringRef CFStringCreateWithCStringNoCopy(CFAllocatorRef alloc, const char *cStr, CFStringEncoding encoding, CFAllocatorRef contentsDeallocator);
+
+CF_EXPORT
+CFStringRef CFStringCreateWithCharactersNoCopy(CFAllocatorRef alloc, const UniChar *chars, CFIndex numChars, CFAllocatorRef contentsDeallocator);
+
+/* Create copies of part or all of the string.
+*/
+CF_EXPORT
+CFStringRef CFStringCreateWithSubstring(CFAllocatorRef alloc, CFStringRef str, CFRange range);
+
+CF_EXPORT
+CFStringRef CFStringCreateCopy(CFAllocatorRef alloc, CFStringRef theString);
+
+/* These functions create a CFString from the provided printf-like format string and arguments.
+*/
+CF_EXPORT
+CFStringRef CFStringCreateWithFormat(CFAllocatorRef alloc, CFDictionaryRef formatOptions, CFStringRef format, ...);
+
+CF_EXPORT
+CFStringRef CFStringCreateWithFormatAndArguments(CFAllocatorRef alloc, CFDictionaryRef formatOptions, CFStringRef format, va_list arguments);
+
+/* Functions to create mutable strings. "maxLength", if not 0, is a hard bound on the length of the string. If 0, there is no limit on the length.
+*/
+CF_EXPORT
+CFMutableStringRef CFStringCreateMutable(CFAllocatorRef alloc, CFIndex maxLength);
+
+CF_EXPORT
+CFMutableStringRef CFStringCreateMutableCopy(CFAllocatorRef alloc, CFIndex maxLength, CFStringRef theString);
+
+/* This function creates a mutable string that has a developer supplied and directly editable backing store.
+The string will be manipulated within the provided buffer (if any) until it outgrows capacity; then the
+externalCharactersAllocator will be consulted for more memory. When the CFString is deallocated, the
+buffer will be freed with the externalCharactersAllocator. Provide kCFAllocatorNull here to prevent the buffer
+from ever being reallocated or deallocated by CFString. See comments at top of this file for more info.
+*/
+CF_EXPORT
+CFMutableStringRef CFStringCreateMutableWithExternalCharactersNoCopy(CFAllocatorRef alloc, UniChar *chars, CFIndex numChars, CFIndex capacity, CFAllocatorRef externalCharactersAllocator);
+
+/*** Basic accessors for the contents ***/
+
+/* Number of 16-bit Unicode characters in the string.
+*/
+CF_EXPORT
+CFIndex CFStringGetLength(CFStringRef theString);
+
+/* Extracting the contents of the string. For obtaining multiple characters, calling
+CFStringGetCharacters() is more efficient than multiple calls to CFStringGetCharacterAtIndex().
+If the length of the string is not known (so you can't use a fixed size buffer for CFStringGetCharacters()),
+another method is to use is CFStringGetCharacterFromInlineBuffer() (see further below).
+*/
+CF_EXPORT
+UniChar CFStringGetCharacterAtIndex(CFStringRef theString, CFIndex idx);
+
+CF_EXPORT
+void CFStringGetCharacters(CFStringRef theString, CFRange range, UniChar *buffer);
+
+/*** Conversion to other encodings ***/
+
+/* These two convert into the provided buffer; they return false if conversion isn't possible
+(due to conversion error, or not enough space in the provided buffer).
+These functions do zero-terminate or put the length byte; the provided bufferSize should include
+space for this (so pass 256 for Str255). More sophisticated usages can go through CFStringGetBytes().
+These functions are equivalent to calling CFStringGetBytes() with
+the range of the string; lossByte = 0; and isExternalRepresentation = false;
+if successful, they then insert the leading length of terminating zero, as desired.
+*/
+CF_EXPORT
+Boolean CFStringGetPascalString(CFStringRef theString, StringPtr buffer, CFIndex bufferSize, CFStringEncoding encoding);
+
+CF_EXPORT
+Boolean CFStringGetCString(CFStringRef theString, char *buffer, CFIndex bufferSize, CFStringEncoding encoding);
+
+/* These functions attempt to return in O(1) time the desired format for the string.
+Note that although this means a pointer to the internal structure is being returned,
+this can't always be counted on. Please see note at the top of the file for more
+details.
+*/
+CF_EXPORT
+ConstStringPtr CFStringGetPascalStringPtr(CFStringRef theString, CFStringEncoding encoding); /* May return NULL at any time; be prepared for NULL */
+
+CF_EXPORT
+const char *CFStringGetCStringPtr(CFStringRef theString, CFStringEncoding encoding); /* May return NULL at any time; be prepared for NULL */
+
+CF_EXPORT
+const UniChar *CFStringGetCharactersPtr(CFStringRef theString); /* May return NULL at any time; be prepared for NULL */
+
+/* The primitive conversion routine; allows you to convert a string piece at a time
+ into a fixed size buffer. Returns number of characters converted.
+ Characters that cannot be converted to the specified encoding are represented
+ with the byte specified by lossByte; if lossByte is 0, then lossy conversion
+ is not allowed and conversion stops, returning partial results.
+ Pass buffer==NULL if you don't care about the converted string (but just the convertability,
+ or number of bytes required).
+ maxBufLength indicates the maximum number of bytes to generate. It is ignored when buffer==NULL.
+ Does not zero-terminate. If you want to create Pascal or C string, allow one extra byte at start or end.
+ Setting isExternalRepresentation causes any extra bytes that would allow
+ the data to be made persistent to be included; for instance, the Unicode BOM.
+*/
+CF_EXPORT
+CFIndex CFStringGetBytes(CFStringRef theString, CFRange range, CFStringEncoding encoding, UInt8 lossByte, Boolean isExternalRepresentation, UInt8 *buffer, CFIndex maxBufLen, CFIndex *usedBufLen);
+
+/* This one goes the other way by creating a CFString from a bag of bytes.
+This is much like CFStringCreateWithPascalString or CFStringCreateWithCString,
+except the length is supplied explicitly. In addition, you can specify whether
+the data is an external format --- that is, whether to pay attention to the
+BOM character (if any) and do byte swapping if necessary
+*/
+CF_EXPORT
+CFStringRef CFStringCreateWithBytes(CFAllocatorRef alloc, const UInt8 *bytes, CFIndex numBytes, CFStringEncoding encoding, Boolean isExternalRepresentation);
+
+/* Convenience functions String <-> Data. These generate "external" formats, that is, formats that
+ can be written out to disk. For instance, if the encoding is Unicode, CFStringCreateFromExternalRepresentation()
+ pays attention to the BOM character (if any) and does byte swapping if necessary.
+ Similarly CFStringCreateExternalRepresentation() will always include a BOM character if the encoding is
+ Unicode. See above for description of lossByte.
+*/
+CF_EXPORT
+CFStringRef CFStringCreateFromExternalRepresentation(CFAllocatorRef alloc, CFDataRef data, CFStringEncoding encoding); /* May return NULL on conversion error */
+
+CF_EXPORT
+CFDataRef CFStringCreateExternalRepresentation(CFAllocatorRef alloc, CFStringRef theString, CFStringEncoding encoding, UInt8 lossByte); /* May return NULL on conversion error */
+
+/* Hints about the contents of a string
+*/
+CF_EXPORT
+CFStringEncoding CFStringGetSmallestEncoding(CFStringRef theString); /* Result in O(n) time max */
+
+CF_EXPORT
+CFStringEncoding CFStringGetFastestEncoding(CFStringRef theString); /* Result in O(1) time max */
+
+/* General encoding info
+*/
+CF_EXPORT
+CFStringEncoding CFStringGetSystemEncoding(void); /* The default encoding for the system; untagged 8-bit characters are usually in this encoding */
+
+CF_EXPORT
+CFIndex CFStringGetMaximumSizeForEncoding(CFIndex length, CFStringEncoding encoding); /* Max bytes a string of specified length (in UniChars) will take up if encoded */
+
+/*** Comparison functions. ***/
+
+/* Find and compare flags; these are OR'ed together as compareOptions or searchOptions in the various functions.
+ This typedef doesn't appear in the functions; instead the argument is CFOptionFlags.
+*/
+typedef enum {
+ kCFCompareCaseInsensitive = 1,
+ kCFCompareBackwards = 4, /* Starting from the end of the string */
+ kCFCompareAnchored = 8, /* Only at the specified starting point */
+ kCFCompareNonliteral = 16, /* If specified, loose equivalence is performed (o-umlaut == o, umlaut) */
+ kCFCompareLocalized = 32, /* User's default locale is used for the comparisons */
+ kCFCompareNumerically = 64 /* Numeric comparison is used; that is, Foo2.txt < Foo7.txt < Foo25.txt */
+} CFStringCompareFlags;
+
+/* The main comparison routine; compares specified range of the first string to (the full range of) the second string.
+ locale == NULL indicates canonical locale.
+ kCFCompareNumerically, added in 10.2, does not work if kCFCompareLocalized is specified on systems before 10.3
+ kCFCompareBackwards and kCFCompareAnchored are not applicable.
+*/
+CF_EXPORT
+CFComparisonResult CFStringCompareWithOptions(CFStringRef theString1, CFStringRef theString2, CFRange rangeToCompare, CFOptionFlags compareOptions);
+
+/* Comparison convenience suitable for passing as sorting functions.
+ kCFCompareNumerically, added in 10.2, does not work if kCFCompareLocalized is specified on systems before 10.3
+ kCFCompareBackwards and kCFCompareAnchored are not applicable.
+*/
+CF_EXPORT
+CFComparisonResult CFStringCompare(CFStringRef theString1, CFStringRef theString2, CFOptionFlags compareOptions);
+
+/* CFStringFindWithOptions() returns the found range in the CFRange * argument; you can pass NULL for simple discovery check.
+ If stringToFind is the empty string (zero length), nothing is found.
+ Ignores the kCFCompareNumerically option.
+*/
+CF_EXPORT
+Boolean CFStringFindWithOptions(CFStringRef theString, CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags searchOptions, CFRange *result);
+
+/* CFStringCreateArrayWithFindResults() returns an array of CFRange pointers, or NULL if there are no matches.
+ Overlapping instances are not found; so looking for "AA" in "AAA" finds just one range.
+ Post 10.1: If kCFCompareBackwards is provided, the scan is done from the end (which can give a different result), and
+ the results are stored in the array backwards (last found range in slot 0).
+ If stringToFind is the empty string (zero length), nothing is found.
+ kCFCompareAnchored causes just the consecutive instances at start (or end, if kCFCompareBackwards) to be reported. So, searching for "AB" in "ABABXAB..." you just get the first two occurrences.
+ Ignores the kCFCompareNumerically option.
+*/
+CF_EXPORT
+CFArrayRef CFStringCreateArrayWithFindResults(CFAllocatorRef alloc, CFStringRef theString, CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags compareOptions);
+
+/* Find conveniences; see comments above concerning empty string and options.
+*/
+CF_EXPORT
+CFRange CFStringFind(CFStringRef theString, CFStringRef stringToFind, CFOptionFlags compareOptions);
+
+CF_EXPORT
+Boolean CFStringHasPrefix(CFStringRef theString, CFStringRef prefix);
+
+CF_EXPORT
+Boolean CFStringHasSuffix(CFStringRef theString, CFStringRef suffix);
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /*!
- @function CFStringGetRangeOfComposedCharactersAtIndex
- Returns the range of the composed character sequence at the specified index.
- @param theString The CFString which is to be searched. If this
- parameter is not a valid CFString, the behavior is
- undefined.
- @param theIndex The index of the character contained in the
- composed character sequence. If the index is
- outside the index space of the string (0 to N-1 inclusive,
- where N is the length of the string), the behavior is
- undefined.
- @result The range of the composed character sequence.
- */
- CF_EXPORT CFRange CFStringGetRangeOfComposedCharactersAtIndex(CFStringRef theString, CFIndex theIndex);
-
- /*!
- @function CFStringFindCharacterFromSet
- Query the range of the first character contained in the specified character set.
- @param theString The CFString which is to be searched. If this
- parameter is not a valid CFString, the behavior is
- undefined.
- @param theSet The CFCharacterSet against which the membership
- of characters is checked. If this parameter is not a valid
- CFCharacterSet, the behavior is undefined.
- @param range The range of characters within the string to search. If
- the range location or end point (defined by the location
- plus length minus 1) are outside the index space of the
- string (0 to N-1 inclusive, where N is the length of the
- string), the behavior is undefined. If the range length is
- negative, the behavior is undefined. The range may be empty
- (length 0), in which case no search is performed.
- @param searchOptions The bitwise-or'ed option flags to control
- the search behavior. The supported options are
- kCFCompareBackwards andkCFCompareAnchored.
- If other option flags are specified, the behavior
- is undefined.
- @param result The pointer to a CFRange supplied by the caller in
- which the search result is stored. Note that the length
- of this range could be more than If a pointer to an invalid
- memory is specified, the behavior is undefined.
- @result true, if at least a character which is a member of the character
- set is found and result is filled, otherwise, false.
- */
- CF_EXPORT Boolean CFStringFindCharacterFromSet(CFStringRef theString, CFCharacterSetRef theSet, CFRange rangeToSearch, CFOptionFlags searchOptions, CFRange *result);
+/*!
+ @function CFStringGetRangeOfComposedCharactersAtIndex
+ Returns the range of the composed character sequence at the specified index.
+ @param theString The CFString which is to be searched. If this
+ parameter is not a valid CFString, the behavior is
+ undefined.
+ @param theIndex The index of the character contained in the
+ composed character sequence. If the index is
+ outside the index space of the string (0 to N-1 inclusive,
+ where N is the length of the string), the behavior is
+ undefined.
+ @result The range of the composed character sequence.
+*/
+CF_EXPORT CFRange CFStringGetRangeOfComposedCharactersAtIndex(CFStringRef theString, CFIndex theIndex);
+
+/*!
+ @function CFStringFindCharacterFromSet
+ Query the range of the first character contained in the specified character set.
+ @param theString The CFString which is to be searched. If this
+ parameter is not a valid CFString, the behavior is
+ undefined.
+ @param theSet The CFCharacterSet against which the membership
+ of characters is checked. If this parameter is not a valid
+ CFCharacterSet, the behavior is undefined.
+ @param range The range of characters within the string to search. If
+ the range location or end point (defined by the location
+ plus length minus 1) are outside the index space of the
+ string (0 to N-1 inclusive, where N is the length of the
+ string), the behavior is undefined. If the range length is
+ negative, the behavior is undefined. The range may be empty
+ (length 0), in which case no search is performed.
+ @param searchOptions The bitwise-or'ed option flags to control
+ the search behavior. The supported options are
+ kCFCompareBackwards andkCFCompareAnchored.
+ If other option flags are specified, the behavior
+ is undefined.
+ @param result The pointer to a CFRange supplied by the caller in
+ which the search result is stored. Note that the length
+ of this range could be more than If a pointer to an invalid
+ memory is specified, the behavior is undefined.
+ @result true, if at least a character which is a member of the character
+ set is found and result is filled, otherwise, false.
+*/
+CF_EXPORT Boolean CFStringFindCharacterFromSet(CFStringRef theString, CFCharacterSetRef theSet, CFRange rangeToSearch, CFOptionFlags searchOptions, CFRange *result);
#endif
- /* Find range of bounds of the line(s) that span the indicated range (startIndex, numChars),
- taking into account various possible line separator sequences (CR, CRLF, LF, and Unicode LS, PS).
- All return values are "optional" (provide NULL if you don't want them)
- lineStartIndex: index of first character in line
- lineEndIndex: index of first character of the next line (including terminating line separator characters)
- contentsEndIndex: index of the first line separator character
- Thus, lineEndIndex - lineStartIndex is the number of chars in the line, including the line separators
- contentsEndIndex - lineStartIndex is the number of chars in the line w/out the line separators
- */
- CF_EXPORT
- void CFStringGetLineBounds(CFStringRef theString, CFRange range, CFIndex *lineBeginIndex, CFIndex *lineEndIndex, CFIndex *contentsEndIndex);
+/* Find range of bounds of the line(s) that span the indicated range (startIndex, numChars),
+ taking into account various possible line separator sequences (CR, CRLF, LF, and Unicode LS, PS).
+ All return values are "optional" (provide NULL if you don't want them)
+ lineStartIndex: index of first character in line
+ lineEndIndex: index of first character of the next line (including terminating line separator characters)
+ contentsEndIndex: index of the first line separator character
+ Thus, lineEndIndex - lineStartIndex is the number of chars in the line, including the line separators
+ contentsEndIndex - lineStartIndex is the number of chars in the line w/out the line separators
+*/
+CF_EXPORT
+void CFStringGetLineBounds(CFStringRef theString, CFRange range, CFIndex *lineBeginIndex, CFIndex *lineEndIndex, CFIndex *contentsEndIndex);
- /*** Exploding and joining strings with a separator string ***/
+/*** Exploding and joining strings with a separator string ***/
- CF_EXPORT
- CFStringRef CFStringCreateByCombiningStrings(CFAllocatorRef alloc, CFArrayRef theArray, CFStringRef separatorString); /* Empty array returns empty string; one element array returns the element */
+CF_EXPORT
+CFStringRef CFStringCreateByCombiningStrings(CFAllocatorRef alloc, CFArrayRef theArray, CFStringRef separatorString); /* Empty array returns empty string; one element array returns the element */
- CF_EXPORT
- CFArrayRef CFStringCreateArrayBySeparatingStrings(CFAllocatorRef alloc, CFStringRef theString, CFStringRef separatorString); /* No separators in the string returns array with that string; string == sep returns two empty strings */
+CF_EXPORT
+CFArrayRef CFStringCreateArrayBySeparatingStrings(CFAllocatorRef alloc, CFStringRef theString, CFStringRef separatorString); /* No separators in the string returns array with that string; string == sep returns two empty strings */
- /*** Parsing non-localized numbers from strings ***/
+/*** Parsing non-localized numbers from strings ***/
- CF_EXPORT
- SInt32 CFStringGetIntValue(CFStringRef str); /* Skips whitespace; returns 0 on error, MAX or -MAX on overflow */
+CF_EXPORT
+SInt32 CFStringGetIntValue(CFStringRef str); /* Skips whitespace; returns 0 on error, MAX or -MAX on overflow */
- CF_EXPORT
- double CFStringGetDoubleValue(CFStringRef str); /* Skips whitespace; returns 0.0 on error */
+CF_EXPORT
+double CFStringGetDoubleValue(CFStringRef str); /* Skips whitespace; returns 0.0 on error */
- /*** MutableString functions ***/
+/*** MutableString functions ***/
- /* CFStringAppend("abcdef", "xxxxx") -> "abcdefxxxxx"
- CFStringDelete("abcdef", CFRangeMake(2, 3)) -> "abf"
- CFStringReplace("abcdef", CFRangeMake(2, 3), "xxxxx") -> "abxxxxxf"
- CFStringReplaceAll("abcdef", "xxxxx") -> "xxxxx"
- */
- CF_EXPORT
- void CFStringAppend(CFMutableStringRef theString, CFStringRef appendedString);
+/* CFStringAppend("abcdef", "xxxxx") -> "abcdefxxxxx"
+ CFStringDelete("abcdef", CFRangeMake(2, 3)) -> "abf"
+ CFStringReplace("abcdef", CFRangeMake(2, 3), "xxxxx") -> "abxxxxxf"
+ CFStringReplaceAll("abcdef", "xxxxx") -> "xxxxx"
+*/
+CF_EXPORT
+void CFStringAppend(CFMutableStringRef theString, CFStringRef appendedString);
- CF_EXPORT
- void CFStringAppendCharacters(CFMutableStringRef theString, const UniChar *chars, CFIndex numChars);
+CF_EXPORT
+void CFStringAppendCharacters(CFMutableStringRef theString, const UniChar *chars, CFIndex numChars);
- CF_EXPORT
- void CFStringAppendPascalString(CFMutableStringRef theString, ConstStr255Param pStr, CFStringEncoding encoding);
+CF_EXPORT
+void CFStringAppendPascalString(CFMutableStringRef theString, ConstStr255Param pStr, CFStringEncoding encoding);
- CF_EXPORT
- void CFStringAppendCString(CFMutableStringRef theString, const char *cStr, CFStringEncoding encoding);
+CF_EXPORT
+void CFStringAppendCString(CFMutableStringRef theString, const char *cStr, CFStringEncoding encoding);
- CF_EXPORT
- void CFStringAppendFormat(CFMutableStringRef theString, CFDictionaryRef formatOptions, CFStringRef format, ...);
+CF_EXPORT
+void CFStringAppendFormat(CFMutableStringRef theString, CFDictionaryRef formatOptions, CFStringRef format, ...);
- CF_EXPORT
- void CFStringAppendFormatAndArguments(CFMutableStringRef theString, CFDictionaryRef formatOptions, CFStringRef format, va_list arguments);
+CF_EXPORT
+void CFStringAppendFormatAndArguments(CFMutableStringRef theString, CFDictionaryRef formatOptions, CFStringRef format, va_list arguments);
- CF_EXPORT
- void CFStringInsert(CFMutableStringRef str, CFIndex idx, CFStringRef insertedStr);
+CF_EXPORT
+void CFStringInsert(CFMutableStringRef str, CFIndex idx, CFStringRef insertedStr);
- CF_EXPORT
- void CFStringDelete(CFMutableStringRef theString, CFRange range);
+CF_EXPORT
+void CFStringDelete(CFMutableStringRef theString, CFRange range);
- CF_EXPORT
- void CFStringReplace(CFMutableStringRef theString, CFRange range, CFStringRef replacement);
+CF_EXPORT
+void CFStringReplace(CFMutableStringRef theString, CFRange range, CFStringRef replacement);
- CF_EXPORT
- void CFStringReplaceAll(CFMutableStringRef theString, CFStringRef replacement); /* Replaces whole string */
+CF_EXPORT
+void CFStringReplaceAll(CFMutableStringRef theString, CFStringRef replacement); /* Replaces whole string */
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /* Replace all occurrences of target in rangeToSearch of theString with replacement.
- Pays attention to kCFCompareCaseInsensitive, kCFCompareBackwards, kCFCompareNonliteral, and kCFCompareAnchored.
- kCFCompareBackwards can be used to do the replacement starting from the end, which could give a different result.
- ex. AAAAA, replace AA with B -> BBA or ABB; latter if kCFCompareBackwards
- kCFCompareAnchored assures only anchored but multiple instances are found (the instances must be consecutive at start or end)
- ex. AAXAA, replace A with B -> BBXBB or BBXAA; latter if kCFCompareAnchored
- Returns number of replacements performed.
- */
- CF_EXPORT
- CFIndex CFStringFindAndReplace(CFMutableStringRef theString, CFStringRef stringToFind, CFStringRef replacementString, CFRange rangeToSearch, CFOptionFlags compareOptions);
+/* Replace all occurrences of target in rangeToSearch of theString with replacement.
+ Pays attention to kCFCompareCaseInsensitive, kCFCompareBackwards, kCFCompareNonliteral, and kCFCompareAnchored.
+ kCFCompareBackwards can be used to do the replacement starting from the end, which could give a different result.
+ ex. AAAAA, replace AA with B -> BBA or ABB; latter if kCFCompareBackwards
+ kCFCompareAnchored assures only anchored but multiple instances are found (the instances must be consecutive at start or end)
+ ex. AAXAA, replace A with B -> BBXBB or BBXAA; latter if kCFCompareAnchored
+ Returns number of replacements performed.
+*/
+CF_EXPORT
+CFIndex CFStringFindAndReplace(CFMutableStringRef theString, CFStringRef stringToFind, CFStringRef replacementString, CFRange rangeToSearch, CFOptionFlags compareOptions);
#endif
- /* This function will make the contents of a mutable CFString point directly at the specified UniChar array.
- It works only with CFStrings created with CFStringCreateMutableWithExternalCharactersNoCopy().
- This function does not free the previous buffer.
- The string will be manipulated within the provided buffer (if any) until it outgrows capacity; then the
- externalCharactersAllocator will be consulted for more memory.
- See comments at the top of this file for more info.
- */
- CF_EXPORT
- void CFStringSetExternalCharactersNoCopy(CFMutableStringRef theString, UniChar *chars, CFIndex length, CFIndex capacity); /* Works only on specially created mutable strings! */
-
- /* CFStringPad() will pad or cut down a string to the specified size.
- The pad string is used as the fill string; indexIntoPad specifies which character to start with.
- CFStringPad("abc", " ", 9, 0) -> "abc "
- CFStringPad("abc", ". ", 9, 1) -> "abc . . ."
- CFStringPad("abcdef", ?, 3, ?) -> "abc"
-
- CFStringTrim() will trim the specified string from both ends of the string.
- CFStringTrimWhitespace() will do the same with white space characters (tab, newline, etc)
- CFStringTrim(" abc ", " ") -> "abc"
- CFStringTrim("* * * *abc * ", "* ") -> "*abc "
- */
- CF_EXPORT
- void CFStringPad(CFMutableStringRef theString, CFStringRef padString, CFIndex length, CFIndex indexIntoPad);
-
- CF_EXPORT
- void CFStringTrim(CFMutableStringRef theString, CFStringRef trimString);
-
- CF_EXPORT
- void CFStringTrimWhitespace(CFMutableStringRef theString);
+/* This function will make the contents of a mutable CFString point directly at the specified UniChar array.
+ It works only with CFStrings created with CFStringCreateMutableWithExternalCharactersNoCopy().
+ This function does not free the previous buffer.
+ The string will be manipulated within the provided buffer (if any) until it outgrows capacity; then the
+ externalCharactersAllocator will be consulted for more memory.
+ See comments at the top of this file for more info.
+*/
+CF_EXPORT
+void CFStringSetExternalCharactersNoCopy(CFMutableStringRef theString, UniChar *chars, CFIndex length, CFIndex capacity); /* Works only on specially created mutable strings! */
+
+/* CFStringPad() will pad or cut down a string to the specified size.
+ The pad string is used as the fill string; indexIntoPad specifies which character to start with.
+ CFStringPad("abc", " ", 9, 0) -> "abc "
+ CFStringPad("abc", ". ", 9, 1) -> "abc . . ."
+ CFStringPad("abcdef", ?, 3, ?) -> "abc"
+
+ CFStringTrim() will trim the specified string from both ends of the string.
+ CFStringTrimWhitespace() will do the same with white space characters (tab, newline, etc)
+ CFStringTrim(" abc ", " ") -> "abc"
+ CFStringTrim("* * * *abc * ", "* ") -> "*abc "
+*/
+CF_EXPORT
+void CFStringPad(CFMutableStringRef theString, CFStringRef padString, CFIndex length, CFIndex indexIntoPad);
+
+CF_EXPORT
+void CFStringTrim(CFMutableStringRef theString, CFStringRef trimString);
+
+CF_EXPORT
+void CFStringTrimWhitespace(CFMutableStringRef theString);
#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
- CF_EXPORT
- void CFStringLowercase(CFMutableStringRef theString, CFLocaleRef locale);
+CF_EXPORT
+void CFStringLowercase(CFMutableStringRef theString, CFLocaleRef locale);
- CF_EXPORT
- void CFStringUppercase(CFMutableStringRef theString, CFLocaleRef locale);
+CF_EXPORT
+void CFStringUppercase(CFMutableStringRef theString, CFLocaleRef locale);
- CF_EXPORT
- void CFStringCapitalize(CFMutableStringRef theString, CFLocaleRef locale);
+CF_EXPORT
+void CFStringCapitalize(CFMutableStringRef theString, CFLocaleRef locale);
#else
- CF_EXPORT
- void CFStringLowercase(CFMutableStringRef theString, const void *localeTBD); // localeTBD must be NULL on pre-10.3
+CF_EXPORT
+void CFStringLowercase(CFMutableStringRef theString, const void *localeTBD); // localeTBD must be NULL on pre-10.3
- CF_EXPORT
- void CFStringUppercase(CFMutableStringRef theString, const void *localeTBD); // localeTBD must be NULL on pre-10.3
+CF_EXPORT
+void CFStringUppercase(CFMutableStringRef theString, const void *localeTBD); // localeTBD must be NULL on pre-10.3
- CF_EXPORT
- void CFStringCapitalize(CFMutableStringRef theString, const void *localeTBD); // localeTBD must be NULL on pre-10.3
+CF_EXPORT
+void CFStringCapitalize(CFMutableStringRef theString, const void *localeTBD); // localeTBD must be NULL on pre-10.3
#endif
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /*!
- @typedef CFStringNormalizationForm
- This is the type of Unicode normalization forms as described in
- Unicode Technical Report #15.
- */
- typedef enum
- {
- kCFStringNormalizationFormD = 0, // Canonical Decomposition
- kCFStringNormalizationFormKD, // Compatibility Decomposition
- kCFStringNormalizationFormC, // Canonical Decomposition followed by Canonical Composition
- kCFStringNormalizationFormKC // Compatibility Decomposition followed by Canonical Composition
- } CFStringNormalizationForm;
-
- /*!
- @function CFStringNormalize
- Normalizes the string into the specified form as described in
- Unicode Technical Report #15.
- @param theString The string which is to be normalized. If this
- parameter is not a valid mutable CFString, the behavior is
- undefined.
- @param theForm The form into which the string is to be normalized.
- If this parameter is not a valid CFStringNormalizationForm value,
- the behavior is undefined.
- */
- CF_EXPORT void CFStringNormalize(CFMutableStringRef theString, CFStringNormalizationForm theForm);
+/*!
+ @typedef CFStringNormalizationForm
+ This is the type of Unicode normalization forms as described in
+ Unicode Technical Report #15.
+*/
+typedef enum {
+ kCFStringNormalizationFormD = 0, // Canonical Decomposition
+ kCFStringNormalizationFormKD, // Compatibility Decomposition
+ kCFStringNormalizationFormC, // Canonical Decomposition followed by Canonical Composition
+ kCFStringNormalizationFormKC // Compatibility Decomposition followed by Canonical Composition
+} CFStringNormalizationForm;
+
+/*!
+ @function CFStringNormalize
+ Normalizes the string into the specified form as described in
+ Unicode Technical Report #15.
+ @param theString The string which is to be normalized. If this
+ parameter is not a valid mutable CFString, the behavior is
+ undefined.
+ @param theForm The form into which the string is to be normalized.
+ If this parameter is not a valid CFStringNormalizationForm value,
+ the behavior is undefined.
+*/
+CF_EXPORT void CFStringNormalize(CFMutableStringRef theString, CFStringNormalizationForm theForm);
#endif
- /* This returns availability of the encoding on the system
- */
- CF_EXPORT
- Boolean CFStringIsEncodingAvailable(CFStringEncoding encoding);
-
- /* This function returns list of available encodings. The returned list is terminated with kCFStringEncodingInvalidId and owned by the system.
- */
- CF_EXPORT
- const CFStringEncoding *CFStringGetListOfAvailableEncodings(void);
-
- /* Returns name of the encoding; non-localized.
- */
- CF_EXPORT
- CFStringRef CFStringGetNameOfEncoding(CFStringEncoding encoding);
-
- /* ID mapping functions from/to Cocoa NSStringEncoding. Returns kCFStringEncodingInvalidId if no mapping exists.
- */
- CF_EXPORT
- UInt32 CFStringConvertEncodingToNSStringEncoding(CFStringEncoding encoding);
-
- CF_EXPORT
- CFStringEncoding CFStringConvertNSStringEncodingToEncoding(UInt32 encoding);
-
- /* ID mapping functions from/to Microsoft Windows codepage (covers both OEM & ANSI). Returns kCFStringEncodingInvalidId if no mapping exists.
- */
- CF_EXPORT
- UInt32 CFStringConvertEncodingToWindowsCodepage(CFStringEncoding encoding);
-
- CF_EXPORT
- CFStringEncoding CFStringConvertWindowsCodepageToEncoding(UInt32 codepage);
-
- /* ID mapping functions from/to IANA registery charset names. Returns kCFStringEncodingInvalidId if no mapping exists.
- */
- CF_EXPORT
- CFStringEncoding CFStringConvertIANACharSetNameToEncoding(CFStringRef theString);
-
- CF_EXPORT
- CFStringRef CFStringConvertEncodingToIANACharSetName(CFStringEncoding encoding);
-
- /* Returns the most compatible MacOS script value for the input encoding */
- /* i.e. kCFStringEncodingMacRoman -> kCFStringEncodingMacRoman */
- /* kCFStringEncodingWindowsLatin1 -> kCFStringEncodingMacRoman */
- /* kCFStringEncodingISO_2022_JP -> kCFStringEncodingMacJapanese */
- CF_EXPORT
- CFStringEncoding CFStringGetMostCompatibleMacStringEncoding(CFStringEncoding encoding);
-
- /* The next two functions allow fast access to the contents of a string,
- assuming you are doing sequential or localized accesses. To use, call
- CFStringInitInlineBuffer() with a CFStringInlineBuffer (on the stack, say),
- and a range in the string to look at. Then call CFStringGetCharacterFromInlineBuffer()
- as many times as you want, with a index into that range (relative to the start
- of that range). These are INLINE functions and will end up calling CFString only
- once in a while, to fill a buffer. CFStringGetCharacterFromInlineBuffer() returns 0 if
- a location outside the original range is specified.
- */
+/* This returns availability of the encoding on the system
+*/
+CF_EXPORT
+Boolean CFStringIsEncodingAvailable(CFStringEncoding encoding);
+
+/* This function returns list of available encodings. The returned list is terminated with kCFStringEncodingInvalidId and owned by the system.
+*/
+CF_EXPORT
+const CFStringEncoding *CFStringGetListOfAvailableEncodings(void);
+
+/* Returns name of the encoding; non-localized.
+*/
+CF_EXPORT
+CFStringRef CFStringGetNameOfEncoding(CFStringEncoding encoding);
+
+/* ID mapping functions from/to Cocoa NSStringEncoding. Returns kCFStringEncodingInvalidId if no mapping exists.
+*/
+CF_EXPORT
+UInt32 CFStringConvertEncodingToNSStringEncoding(CFStringEncoding encoding);
+
+CF_EXPORT
+CFStringEncoding CFStringConvertNSStringEncodingToEncoding(UInt32 encoding);
+
+/* ID mapping functions from/to Microsoft Windows codepage (covers both OEM & ANSI). Returns kCFStringEncodingInvalidId if no mapping exists.
+*/
+CF_EXPORT
+UInt32 CFStringConvertEncodingToWindowsCodepage(CFStringEncoding encoding);
+
+CF_EXPORT
+CFStringEncoding CFStringConvertWindowsCodepageToEncoding(UInt32 codepage);
+
+/* ID mapping functions from/to IANA registery charset names. Returns kCFStringEncodingInvalidId if no mapping exists.
+*/
+CF_EXPORT
+CFStringEncoding CFStringConvertIANACharSetNameToEncoding(CFStringRef theString);
+
+CF_EXPORT
+CFStringRef CFStringConvertEncodingToIANACharSetName(CFStringEncoding encoding);
+
+/* Returns the most compatible MacOS script value for the input encoding */
+/* i.e. kCFStringEncodingMacRoman -> kCFStringEncodingMacRoman */
+/* kCFStringEncodingWindowsLatin1 -> kCFStringEncodingMacRoman */
+/* kCFStringEncodingISO_2022_JP -> kCFStringEncodingMacJapanese */
+CF_EXPORT
+CFStringEncoding CFStringGetMostCompatibleMacStringEncoding(CFStringEncoding encoding);
+
+/* The next two functions allow fast access to the contents of a string,
+ assuming you are doing sequential or localized accesses. To use, call
+ CFStringInitInlineBuffer() with a CFStringInlineBuffer (on the stack, say),
+ and a range in the string to look at. Then call CFStringGetCharacterFromInlineBuffer()
+ as many times as you want, with a index into that range (relative to the start
+ of that range). These are INLINE functions and will end up calling CFString only
+ once in a while, to fill a buffer. CFStringGetCharacterFromInlineBuffer() returns 0 if
+ a location outside the original range is specified.
+*/
#define __kCFStringInlineBufferLength 64
- typedef struct
- {
- UniChar buffer[__kCFStringInlineBufferLength];
- CFStringRef theString;
- const UniChar *directBuffer;
- CFRange rangeToBuffer; /* Range in string to buffer */
- CFIndex bufferedRangeStart; /* Start of range currently buffered (relative to rangeToBuffer.location) */
- CFIndex bufferedRangeEnd; /* bufferedRangeStart + number of chars actually buffered */
- } CFStringInlineBuffer;
+typedef struct {
+ UniChar buffer[__kCFStringInlineBufferLength];
+ CFStringRef theString;
+ const UniChar *directBuffer;
+ CFRange rangeToBuffer; /* Range in string to buffer */
+ CFIndex bufferedRangeStart; /* Start of range currently buffered (relative to rangeToBuffer.location) */
+ CFIndex bufferedRangeEnd; /* bufferedRangeStart + number of chars actually buffered */
+} CFStringInlineBuffer;
#if defined(CF_INLINE)
- CF_INLINE void CFStringInitInlineBuffer(CFStringRef str, CFStringInlineBuffer *buf, CFRange range)
- {
- buf->theString = str;
- buf->rangeToBuffer = range;
- buf->directBuffer = CFStringGetCharactersPtr(str);
- buf->bufferedRangeStart = buf->bufferedRangeEnd = 0;
- }
+CF_INLINE void CFStringInitInlineBuffer(CFStringRef str, CFStringInlineBuffer *buf, CFRange range) {
+ buf->theString = str;
+ buf->rangeToBuffer = range;
+ buf->directBuffer = CFStringGetCharactersPtr(str);
+ buf->bufferedRangeStart = buf->bufferedRangeEnd = 0;
+}
- CF_INLINE UniChar CFStringGetCharacterFromInlineBuffer(CFStringInlineBuffer *buf, CFIndex idx)
- {
- if(buf->directBuffer)
- {
- if(idx < 0 || idx >= buf->rangeToBuffer.length) return 0;
- return buf->directBuffer[idx + buf->rangeToBuffer.location];
- }
- if(idx >= buf->bufferedRangeEnd || idx < buf->bufferedRangeStart)
- {
- if(idx < 0 || idx >= buf->rangeToBuffer.length) return 0;
- if((buf->bufferedRangeStart = idx - 4) < 0) buf->bufferedRangeStart = 0;
- buf->bufferedRangeEnd = buf->bufferedRangeStart + __kCFStringInlineBufferLength;
- if(buf->bufferedRangeEnd > buf->rangeToBuffer.length) buf->bufferedRangeEnd = buf->rangeToBuffer.length;
- CFStringGetCharacters(buf->theString, CFRangeMake(buf->rangeToBuffer.location + buf->bufferedRangeStart, buf->bufferedRangeEnd - buf->bufferedRangeStart), buf->buffer);
- }
- return buf->buffer[idx - buf->bufferedRangeStart];
+CF_INLINE UniChar CFStringGetCharacterFromInlineBuffer(CFStringInlineBuffer *buf, CFIndex idx) {
+ if (buf->directBuffer) {
+ if (idx < 0 || idx >= buf->rangeToBuffer.length) return 0;
+ return buf->directBuffer[idx + buf->rangeToBuffer.location];
}
+ if (idx >= buf->bufferedRangeEnd || idx < buf->bufferedRangeStart) {
+ if (idx < 0 || idx >= buf->rangeToBuffer.length) return 0;
+ if ((buf->bufferedRangeStart = idx - 4) < 0) buf->bufferedRangeStart = 0;
+ buf->bufferedRangeEnd = buf->bufferedRangeStart + __kCFStringInlineBufferLength;
+ if (buf->bufferedRangeEnd > buf->rangeToBuffer.length) buf->bufferedRangeEnd = buf->rangeToBuffer.length;
+ CFStringGetCharacters(buf->theString, CFRangeMake(buf->rangeToBuffer.location + buf->bufferedRangeStart, buf->bufferedRangeEnd - buf->bufferedRangeStart), buf->buffer);
+ }
+ return buf->buffer[idx - buf->bufferedRangeStart];
+}
#else
- /* If INLINE functions are not available, we do somewhat less powerful macros that work similarly (except be aware that the buf argument is evaluated multiple times).
- */
+/* If INLINE functions are not available, we do somewhat less powerful macros that work similarly (except be aware that the buf argument is evaluated multiple times).
+*/
#define CFStringInitInlineBuffer(str, buf, range) \
do {(buf)->theString = str; (buf)->rangeToBuffer = range; (buf)->directBuffer = CFStringGetCharactersPtr(str);} while (0)
@@ -676,21 +668,21 @@ extern "C" {
#endif /* CF_INLINE */
- /* Rest of the stuff in this file is private and should not be used directly
- */
- /* For debugging only
- Use CFShow() to printf the description of any CFType;
- Use CFShowStr() to printf detailed info about a CFString
- */
- CF_EXPORT
- void CFShow(CFTypeRef obj);
+/* Rest of the stuff in this file is private and should not be used directly
+*/
+/* For debugging only
+ Use CFShow() to printf the description of any CFType;
+ Use CFShowStr() to printf detailed info about a CFString
+*/
+CF_EXPORT
+void CFShow(CFTypeRef obj);
- CF_EXPORT
- void CFShowStr(CFStringRef str);
+CF_EXPORT
+void CFShowStr(CFStringRef str);
- /* This function is private and should not be used directly */
- CF_EXPORT
- CFStringRef __CFStringMakeConstantString(const char *cStr); /* Private; do not use */
+/* This function is private and should not be used directly */
+CF_EXPORT
+CFStringRef __CFStringMakeConstantString(const char *cStr); /* Private; do not use */
#if defined(__cplusplus)
}
diff --git a/include/qt/CoreFoundation/CFStringEncodingExt.h b/include/qt/CoreFoundation/CFStringEncodingExt.h
index 04dbca442..416a3f213 100644
--- a/include/qt/CoreFoundation/CFStringEncodingExt.h
+++ b/include/qt/CoreFoundation/CFStringEncodingExt.h
@@ -11,157 +11,156 @@
extern "C" {
#endif
- typedef enum {
- /* kCFStringEncodingMacRoman = 0L, defined in CoreFoundation/CFString.h */
- kCFStringEncodingMacJapanese = 1,
- kCFStringEncodingMacChineseTrad = 2,
- kCFStringEncodingMacKorean = 3,
- kCFStringEncodingMacArabic = 4,
- kCFStringEncodingMacHebrew = 5,
- kCFStringEncodingMacGreek = 6,
- kCFStringEncodingMacCyrillic = 7,
- kCFStringEncodingMacDevanagari = 9,
- kCFStringEncodingMacGurmukhi = 10,
- kCFStringEncodingMacGujarati = 11,
- kCFStringEncodingMacOriya = 12,
- kCFStringEncodingMacBengali = 13,
- kCFStringEncodingMacTamil = 14,
- kCFStringEncodingMacTelugu = 15,
- kCFStringEncodingMacKannada = 16,
- kCFStringEncodingMacMalayalam = 17,
- kCFStringEncodingMacSinhalese = 18,
- kCFStringEncodingMacBurmese = 19,
- kCFStringEncodingMacKhmer = 20,
- kCFStringEncodingMacThai = 21,
- kCFStringEncodingMacLaotian = 22,
- kCFStringEncodingMacGeorgian = 23,
- kCFStringEncodingMacArmenian = 24,
- kCFStringEncodingMacChineseSimp = 25,
- kCFStringEncodingMacTibetan = 26,
- kCFStringEncodingMacMongolian = 27,
- kCFStringEncodingMacEthiopic = 28,
- kCFStringEncodingMacCentralEurRoman = 29,
- kCFStringEncodingMacVietnamese = 30,
- kCFStringEncodingMacExtArabic = 31,
- /* The following use script code 0, smRoman */
- kCFStringEncodingMacSymbol = 33,
- kCFStringEncodingMacDingbats = 34,
- kCFStringEncodingMacTurkish = 35,
- kCFStringEncodingMacCroatian = 36,
- kCFStringEncodingMacIcelandic = 37,
- kCFStringEncodingMacRomanian = 38,
- kCFStringEncodingMacCeltic = 39,
- kCFStringEncodingMacGaelic = 40,
- /* The following use script code 4, smArabic */
- kCFStringEncodingMacFarsi = 0x8C, /* Like MacArabic but uses Farsi digits */
- /* The following use script code 7, smCyrillic */
- kCFStringEncodingMacUkrainian = 0x98,
- /* The following use script code 32, smUnimplemented */
- kCFStringEncodingMacInuit = 0xEC,
- kCFStringEncodingMacVT100 = 0xFC, /* VT100/102 font from Comm Toolbox: Latin-1 repertoire + box drawing etc */
- /* Special Mac OS encodings*/
- kCFStringEncodingMacHFS = 0xFF, /* Meta-value, should never appear in a table */
-
- /* Unicode & ISO UCS encodings begin at 0x100 */
- /* We don't use Unicode variations defined in TextEncoding; use the ones in CFString.h, instead. */
-
- /* ISO 8-bit and 7-bit encodings begin at 0x200 */
- /* kCFStringEncodingISOLatin1 = 0x0201, defined in CoreFoundation/CFString.h */
- kCFStringEncodingISOLatin2 = 0x0202, /* ISO 8859-2 */
- kCFStringEncodingISOLatin3 = 0x0203, /* ISO 8859-3 */
- kCFStringEncodingISOLatin4 = 0x0204, /* ISO 8859-4 */
- kCFStringEncodingISOLatinCyrillic = 0x0205, /* ISO 8859-5 */
- kCFStringEncodingISOLatinArabic = 0x0206, /* ISO 8859-6, =ASMO 708, =DOS CP 708 */
- kCFStringEncodingISOLatinGreek = 0x0207, /* ISO 8859-7 */
- kCFStringEncodingISOLatinHebrew = 0x0208, /* ISO 8859-8 */
- kCFStringEncodingISOLatin5 = 0x0209, /* ISO 8859-9 */
- kCFStringEncodingISOLatin6 = 0x020A, /* ISO 8859-10 */
- kCFStringEncodingISOLatinThai = 0x020B, /* ISO 8859-11 */
- kCFStringEncodingISOLatin7 = 0x020D, /* ISO 8859-13 */
- kCFStringEncodingISOLatin8 = 0x020E, /* ISO 8859-14 */
- kCFStringEncodingISOLatin9 = 0x020F, /* ISO 8859-15 */
-
- /* MS-DOS & Windows encodings begin at 0x400 */
- kCFStringEncodingDOSLatinUS = 0x0400, /* code page 437 */
- kCFStringEncodingDOSGreek = 0x0405, /* code page 737 (formerly code page 437G) */
- kCFStringEncodingDOSBalticRim = 0x0406, /* code page 775 */
- kCFStringEncodingDOSLatin1 = 0x0410, /* code page 850, "Multilingual" */
- kCFStringEncodingDOSGreek1 = 0x0411, /* code page 851 */
- kCFStringEncodingDOSLatin2 = 0x0412, /* code page 852, Slavic */
- kCFStringEncodingDOSCyrillic = 0x0413, /* code page 855, IBM Cyrillic */
- kCFStringEncodingDOSTurkish = 0x0414, /* code page 857, IBM Turkish */
- kCFStringEncodingDOSPortuguese = 0x0415, /* code page 860 */
- kCFStringEncodingDOSIcelandic = 0x0416, /* code page 861 */
- kCFStringEncodingDOSHebrew = 0x0417, /* code page 862 */
- kCFStringEncodingDOSCanadianFrench = 0x0418, /* code page 863 */
- kCFStringEncodingDOSArabic = 0x0419, /* code page 864 */
- kCFStringEncodingDOSNordic = 0x041A, /* code page 865 */
- kCFStringEncodingDOSRussian = 0x041B, /* code page 866 */
- kCFStringEncodingDOSGreek2 = 0x041C, /* code page 869, IBM Modern Greek */
- kCFStringEncodingDOSThai = 0x041D, /* code page 874, also for Windows */
- kCFStringEncodingDOSJapanese = 0x0420, /* code page 932, also for Windows */
- kCFStringEncodingDOSChineseSimplif = 0x0421, /* code page 936, also for Windows */
- kCFStringEncodingDOSKorean = 0x0422, /* code page 949, also for Windows; Unified Hangul Code */
- kCFStringEncodingDOSChineseTrad = 0x0423, /* code page 950, also for Windows */
- /* kCFStringEncodingWindowsLatin1 = 0x0500, defined in CoreFoundation/CFString.h */
- kCFStringEncodingWindowsLatin2 = 0x0501, /* code page 1250, Central Europe */
- kCFStringEncodingWindowsCyrillic = 0x0502, /* code page 1251, Slavic Cyrillic */
- kCFStringEncodingWindowsGreek = 0x0503, /* code page 1253 */
- kCFStringEncodingWindowsLatin5 = 0x0504, /* code page 1254, Turkish */
- kCFStringEncodingWindowsHebrew = 0x0505, /* code page 1255 */
- kCFStringEncodingWindowsArabic = 0x0506, /* code page 1256 */
- kCFStringEncodingWindowsBalticRim = 0x0507, /* code page 1257 */
- kCFStringEncodingWindowsKoreanJohab = 0x0510, /* code page 1361, for Windows NT */
- kCFStringEncodingWindowsVietnamese = 0x0508, /* code page 1258 */
-
- /* Various national standards begin at 0x600 */
- /* kCFStringEncodingASCII = 0x0600, defined in CoreFoundation/CFString.h */
- kCFStringEncodingJIS_X0201_76 = 0x0620,
- kCFStringEncodingJIS_X0208_83 = 0x0621,
- kCFStringEncodingJIS_X0208_90 = 0x0622,
- kCFStringEncodingJIS_X0212_90 = 0x0623,
- kCFStringEncodingJIS_C6226_78 = 0x0624,
- kCFStringEncodingShiftJIS_X0213_00 = 0x0628, /* Shift-JIS format encoding of JIS X0213 planes 1 and 2*/
- kCFStringEncodingGB_2312_80 = 0x0630,
- kCFStringEncodingGBK_95 = 0x0631, /* annex to GB 13000-93; for Windows 95 */
- kCFStringEncodingGB_18030_2000 = 0x0632,
- kCFStringEncodingKSC_5601_87 = 0x0640, /* same as KSC 5601-92 without Johab annex */
- kCFStringEncodingKSC_5601_92_Johab = 0x0641, /* KSC 5601-92 Johab annex */
- kCFStringEncodingCNS_11643_92_P1 = 0x0651, /* CNS 11643-1992 plane 1 */
- kCFStringEncodingCNS_11643_92_P2 = 0x0652, /* CNS 11643-1992 plane 2 */
- kCFStringEncodingCNS_11643_92_P3 = 0x0653, /* CNS 11643-1992 plane 3 (was plane 14 in 1986 version) */
-
- /* ISO 2022 collections begin at 0x800 */
- kCFStringEncodingISO_2022_JP = 0x0820,
- kCFStringEncodingISO_2022_JP_2 = 0x0821,
- kCFStringEncodingISO_2022_JP_1 = 0x0822, /* RFC 2237*/
- kCFStringEncodingISO_2022_JP_3 = 0x0823, /* JIS X0213*/
- kCFStringEncodingISO_2022_CN = 0x0830,
- kCFStringEncodingISO_2022_CN_EXT = 0x0831,
- kCFStringEncodingISO_2022_KR = 0x0840,
-
- /* EUC collections begin at 0x900 */
- kCFStringEncodingEUC_JP = 0x0920, /* ISO 646, 1-byte katakana, JIS 208, JIS 212 */
- kCFStringEncodingEUC_CN = 0x0930, /* ISO 646, GB 2312-80 */
- kCFStringEncodingEUC_TW = 0x0931, /* ISO 646, CNS 11643-1992 Planes 1-16 */
- kCFStringEncodingEUC_KR = 0x0940, /* ISO 646, KS C 5601-1987 */
-
- /* Misc standards begin at 0xA00 */
- kCFStringEncodingShiftJIS = 0x0A01, /* plain Shift-JIS */
- kCFStringEncodingKOI8_R = 0x0A02, /* Russian internet standard */
- kCFStringEncodingBig5 = 0x0A03, /* Big-5 (has variants) */
- kCFStringEncodingMacRomanLatin1 = 0x0A04, /* Mac OS Roman permuted to align with ISO Latin-1 */
- kCFStringEncodingHZ_GB_2312 = 0x0A05, /* HZ (RFC 1842, for Chinese mail & news) */
- kCFStringEncodingBig5_HKSCS_1999 = 0x0A06, /* Big-5 with Hong Kong special char set supplement*/
-
- /* Other platform encodings*/
- /* kCFStringEncodingNextStepLatin = 0x0B01, defined in CoreFoundation/CFString.h */
-
- /* EBCDIC & IBM host encodings begin at 0xC00 */
- kCFStringEncodingEBCDIC_US = 0x0C01, /* basic EBCDIC-US */
- kCFStringEncodingEBCDIC_CP037 = 0x0C02 /* code page 037, extended EBCDIC (Latin-1 set) for US,Canada... */
- }
- CFStringEncodings;
+typedef enum {
+/* kCFStringEncodingMacRoman = 0L, defined in CoreFoundation/CFString.h */
+ kCFStringEncodingMacJapanese = 1,
+ kCFStringEncodingMacChineseTrad = 2,
+ kCFStringEncodingMacKorean = 3,
+ kCFStringEncodingMacArabic = 4,
+ kCFStringEncodingMacHebrew = 5,
+ kCFStringEncodingMacGreek = 6,
+ kCFStringEncodingMacCyrillic = 7,
+ kCFStringEncodingMacDevanagari = 9,
+ kCFStringEncodingMacGurmukhi = 10,
+ kCFStringEncodingMacGujarati = 11,
+ kCFStringEncodingMacOriya = 12,
+ kCFStringEncodingMacBengali = 13,
+ kCFStringEncodingMacTamil = 14,
+ kCFStringEncodingMacTelugu = 15,
+ kCFStringEncodingMacKannada = 16,
+ kCFStringEncodingMacMalayalam = 17,
+ kCFStringEncodingMacSinhalese = 18,
+ kCFStringEncodingMacBurmese = 19,
+ kCFStringEncodingMacKhmer = 20,
+ kCFStringEncodingMacThai = 21,
+ kCFStringEncodingMacLaotian = 22,
+ kCFStringEncodingMacGeorgian = 23,
+ kCFStringEncodingMacArmenian = 24,
+ kCFStringEncodingMacChineseSimp = 25,
+ kCFStringEncodingMacTibetan = 26,
+ kCFStringEncodingMacMongolian = 27,
+ kCFStringEncodingMacEthiopic = 28,
+ kCFStringEncodingMacCentralEurRoman = 29,
+ kCFStringEncodingMacVietnamese = 30,
+ kCFStringEncodingMacExtArabic = 31,
+ /* The following use script code 0, smRoman */
+ kCFStringEncodingMacSymbol = 33,
+ kCFStringEncodingMacDingbats = 34,
+ kCFStringEncodingMacTurkish = 35,
+ kCFStringEncodingMacCroatian = 36,
+ kCFStringEncodingMacIcelandic = 37,
+ kCFStringEncodingMacRomanian = 38,
+ kCFStringEncodingMacCeltic = 39,
+ kCFStringEncodingMacGaelic = 40,
+ /* The following use script code 4, smArabic */
+ kCFStringEncodingMacFarsi = 0x8C, /* Like MacArabic but uses Farsi digits */
+ /* The following use script code 7, smCyrillic */
+ kCFStringEncodingMacUkrainian = 0x98,
+ /* The following use script code 32, smUnimplemented */
+ kCFStringEncodingMacInuit = 0xEC,
+ kCFStringEncodingMacVT100 = 0xFC, /* VT100/102 font from Comm Toolbox: Latin-1 repertoire + box drawing etc */
+ /* Special Mac OS encodings*/
+ kCFStringEncodingMacHFS = 0xFF, /* Meta-value, should never appear in a table */
+
+ /* Unicode & ISO UCS encodings begin at 0x100 */
+ /* We don't use Unicode variations defined in TextEncoding; use the ones in CFString.h, instead. */
+
+ /* ISO 8-bit and 7-bit encodings begin at 0x200 */
+/* kCFStringEncodingISOLatin1 = 0x0201, defined in CoreFoundation/CFString.h */
+ kCFStringEncodingISOLatin2 = 0x0202, /* ISO 8859-2 */
+ kCFStringEncodingISOLatin3 = 0x0203, /* ISO 8859-3 */
+ kCFStringEncodingISOLatin4 = 0x0204, /* ISO 8859-4 */
+ kCFStringEncodingISOLatinCyrillic = 0x0205, /* ISO 8859-5 */
+ kCFStringEncodingISOLatinArabic = 0x0206, /* ISO 8859-6, =ASMO 708, =DOS CP 708 */
+ kCFStringEncodingISOLatinGreek = 0x0207, /* ISO 8859-7 */
+ kCFStringEncodingISOLatinHebrew = 0x0208, /* ISO 8859-8 */
+ kCFStringEncodingISOLatin5 = 0x0209, /* ISO 8859-9 */
+ kCFStringEncodingISOLatin6 = 0x020A, /* ISO 8859-10 */
+ kCFStringEncodingISOLatinThai = 0x020B, /* ISO 8859-11 */
+ kCFStringEncodingISOLatin7 = 0x020D, /* ISO 8859-13 */
+ kCFStringEncodingISOLatin8 = 0x020E, /* ISO 8859-14 */
+ kCFStringEncodingISOLatin9 = 0x020F, /* ISO 8859-15 */
+
+ /* MS-DOS & Windows encodings begin at 0x400 */
+ kCFStringEncodingDOSLatinUS = 0x0400, /* code page 437 */
+ kCFStringEncodingDOSGreek = 0x0405, /* code page 737 (formerly code page 437G) */
+ kCFStringEncodingDOSBalticRim = 0x0406, /* code page 775 */
+ kCFStringEncodingDOSLatin1 = 0x0410, /* code page 850, "Multilingual" */
+ kCFStringEncodingDOSGreek1 = 0x0411, /* code page 851 */
+ kCFStringEncodingDOSLatin2 = 0x0412, /* code page 852, Slavic */
+ kCFStringEncodingDOSCyrillic = 0x0413, /* code page 855, IBM Cyrillic */
+ kCFStringEncodingDOSTurkish = 0x0414, /* code page 857, IBM Turkish */
+ kCFStringEncodingDOSPortuguese = 0x0415, /* code page 860 */
+ kCFStringEncodingDOSIcelandic = 0x0416, /* code page 861 */
+ kCFStringEncodingDOSHebrew = 0x0417, /* code page 862 */
+ kCFStringEncodingDOSCanadianFrench = 0x0418, /* code page 863 */
+ kCFStringEncodingDOSArabic = 0x0419, /* code page 864 */
+ kCFStringEncodingDOSNordic = 0x041A, /* code page 865 */
+ kCFStringEncodingDOSRussian = 0x041B, /* code page 866 */
+ kCFStringEncodingDOSGreek2 = 0x041C, /* code page 869, IBM Modern Greek */
+ kCFStringEncodingDOSThai = 0x041D, /* code page 874, also for Windows */
+ kCFStringEncodingDOSJapanese = 0x0420, /* code page 932, also for Windows */
+ kCFStringEncodingDOSChineseSimplif = 0x0421, /* code page 936, also for Windows */
+ kCFStringEncodingDOSKorean = 0x0422, /* code page 949, also for Windows; Unified Hangul Code */
+ kCFStringEncodingDOSChineseTrad = 0x0423, /* code page 950, also for Windows */
+/* kCFStringEncodingWindowsLatin1 = 0x0500, defined in CoreFoundation/CFString.h */
+ kCFStringEncodingWindowsLatin2 = 0x0501, /* code page 1250, Central Europe */
+ kCFStringEncodingWindowsCyrillic = 0x0502, /* code page 1251, Slavic Cyrillic */
+ kCFStringEncodingWindowsGreek = 0x0503, /* code page 1253 */
+ kCFStringEncodingWindowsLatin5 = 0x0504, /* code page 1254, Turkish */
+ kCFStringEncodingWindowsHebrew = 0x0505, /* code page 1255 */
+ kCFStringEncodingWindowsArabic = 0x0506, /* code page 1256 */
+ kCFStringEncodingWindowsBalticRim = 0x0507, /* code page 1257 */
+ kCFStringEncodingWindowsKoreanJohab = 0x0510, /* code page 1361, for Windows NT */
+ kCFStringEncodingWindowsVietnamese = 0x0508, /* code page 1258 */
+
+ /* Various national standards begin at 0x600 */
+/* kCFStringEncodingASCII = 0x0600, defined in CoreFoundation/CFString.h */
+ kCFStringEncodingJIS_X0201_76 = 0x0620,
+ kCFStringEncodingJIS_X0208_83 = 0x0621,
+ kCFStringEncodingJIS_X0208_90 = 0x0622,
+ kCFStringEncodingJIS_X0212_90 = 0x0623,
+ kCFStringEncodingJIS_C6226_78 = 0x0624,
+ kCFStringEncodingShiftJIS_X0213_00 = 0x0628, /* Shift-JIS format encoding of JIS X0213 planes 1 and 2*/
+ kCFStringEncodingGB_2312_80 = 0x0630,
+ kCFStringEncodingGBK_95 = 0x0631, /* annex to GB 13000-93; for Windows 95 */
+ kCFStringEncodingGB_18030_2000 = 0x0632,
+ kCFStringEncodingKSC_5601_87 = 0x0640, /* same as KSC 5601-92 without Johab annex */
+ kCFStringEncodingKSC_5601_92_Johab = 0x0641, /* KSC 5601-92 Johab annex */
+ kCFStringEncodingCNS_11643_92_P1 = 0x0651, /* CNS 11643-1992 plane 1 */
+ kCFStringEncodingCNS_11643_92_P2 = 0x0652, /* CNS 11643-1992 plane 2 */
+ kCFStringEncodingCNS_11643_92_P3 = 0x0653, /* CNS 11643-1992 plane 3 (was plane 14 in 1986 version) */
+
+ /* ISO 2022 collections begin at 0x800 */
+ kCFStringEncodingISO_2022_JP = 0x0820,
+ kCFStringEncodingISO_2022_JP_2 = 0x0821,
+ kCFStringEncodingISO_2022_JP_1 = 0x0822, /* RFC 2237*/
+ kCFStringEncodingISO_2022_JP_3 = 0x0823, /* JIS X0213*/
+ kCFStringEncodingISO_2022_CN = 0x0830,
+ kCFStringEncodingISO_2022_CN_EXT = 0x0831,
+ kCFStringEncodingISO_2022_KR = 0x0840,
+
+ /* EUC collections begin at 0x900 */
+ kCFStringEncodingEUC_JP = 0x0920, /* ISO 646, 1-byte katakana, JIS 208, JIS 212 */
+ kCFStringEncodingEUC_CN = 0x0930, /* ISO 646, GB 2312-80 */
+ kCFStringEncodingEUC_TW = 0x0931, /* ISO 646, CNS 11643-1992 Planes 1-16 */
+ kCFStringEncodingEUC_KR = 0x0940, /* ISO 646, KS C 5601-1987 */
+
+ /* Misc standards begin at 0xA00 */
+ kCFStringEncodingShiftJIS = 0x0A01, /* plain Shift-JIS */
+ kCFStringEncodingKOI8_R = 0x0A02, /* Russian internet standard */
+ kCFStringEncodingBig5 = 0x0A03, /* Big-5 (has variants) */
+ kCFStringEncodingMacRomanLatin1 = 0x0A04, /* Mac OS Roman permuted to align with ISO Latin-1 */
+ kCFStringEncodingHZ_GB_2312 = 0x0A05, /* HZ (RFC 1842, for Chinese mail & news) */
+ kCFStringEncodingBig5_HKSCS_1999 = 0x0A06, /* Big-5 with Hong Kong special char set supplement*/
+
+ /* Other platform encodings*/
+/* kCFStringEncodingNextStepLatin = 0x0B01, defined in CoreFoundation/CFString.h */
+
+ /* EBCDIC & IBM host encodings begin at 0xC00 */
+ kCFStringEncodingEBCDIC_US = 0x0C01, /* basic EBCDIC-US */
+ kCFStringEncodingEBCDIC_CP037 = 0x0C02 /* code page 037, extended EBCDIC (Latin-1 set) for US,Canada... */
+} CFStringEncodings;
#if defined(__cplusplus)
}
diff --git a/include/qt/CoreFoundation/CFURL.h b/include/qt/CoreFoundation/CFURL.h
index 9707e0d1d..4d063cacf 100644
--- a/include/qt/CoreFoundation/CFURL.h
+++ b/include/qt/CoreFoundation/CFURL.h
@@ -13,388 +13,386 @@
extern "C" {
#endif
- typedef enum {
- kCFURLPOSIXPathStyle = 0,
- kCFURLHFSPathStyle,
- kCFURLWindowsPathStyle
- }
- CFURLPathStyle;
-
- typedef const struct __CFURL * CFURLRef;
-
- /* CFURLs are composed of two fundamental pieces - their string, and a */
- /* (possibly NULL) base URL. A relative URL is one in which the string */
- /* by itself does not fully specify the URL (for instance "myDir/image.tiff"); */
- /* an absolute URL is one in which the string does fully specify the URL */
- /* ("file://localhost/myDir/image.tiff"). Absolute URLs always have NULL */
- /* base URLs; however, it is possible for a URL to have a NULL base, and still */
- /* not be absolute. Such a URL has only a relative string, and cannot be */
- /* resolved. Two CFURLs are considered equal if and only if their strings */
- /* are equal and their bases are equal. In other words, */
- /* "file://localhost/myDir/image.tiff" is NOT equal to the URL with relative */
- /* string "myDir/image.tiff" and base URL "file://localhost/". Clients that */
- /* need these less strict form of equality should convert all URLs to their */
- /* absolute form via CFURLCopyAbsoluteURL(), then compare the absolute forms. */
-
- CF_EXPORT
- CFTypeID CFURLGetTypeID(void);
-
- /* encoding will be used both to interpret the bytes of URLBytes, and to */
- /* interpret any percent-escapes within the bytes. */
- CF_EXPORT
- CFURLRef CFURLCreateWithBytes(CFAllocatorRef allocator, const UInt8 *URLBytes, CFIndex length, CFStringEncoding encoding, CFURLRef baseURL);
-
- /* Escapes any character that is not 7-bit ASCII with the byte-code */
- /* for the given encoding. If escapeWhitespace is true, whitespace */
- /* characters (' ', '\t', '\r', '\n') will be escaped also (desirable */
- /* if embedding the URL into a larger text stream like HTML) */
- CF_EXPORT
- CFDataRef CFURLCreateData(CFAllocatorRef allocator, CFURLRef url, CFStringEncoding encoding, Boolean escapeWhitespace);
-
- /* Any escape sequences in URLString will be interpreted via UTF-8. */
- CF_EXPORT
- CFURLRef CFURLCreateWithString(CFAllocatorRef allocator, CFStringRef URLString, CFURLRef baseURL);
+typedef enum {
+ kCFURLPOSIXPathStyle = 0,
+ kCFURLHFSPathStyle,
+ kCFURLWindowsPathStyle
+} CFURLPathStyle;
+
+typedef const struct __CFURL * CFURLRef;
+
+/* CFURLs are composed of two fundamental pieces - their string, and a */
+/* (possibly NULL) base URL. A relative URL is one in which the string */
+/* by itself does not fully specify the URL (for instance "myDir/image.tiff"); */
+/* an absolute URL is one in which the string does fully specify the URL */
+/* ("file://localhost/myDir/image.tiff"). Absolute URLs always have NULL */
+/* base URLs; however, it is possible for a URL to have a NULL base, and still */
+/* not be absolute. Such a URL has only a relative string, and cannot be */
+/* resolved. Two CFURLs are considered equal if and only if their strings */
+/* are equal and their bases are equal. In other words, */
+/* "file://localhost/myDir/image.tiff" is NOT equal to the URL with relative */
+/* string "myDir/image.tiff" and base URL "file://localhost/". Clients that */
+/* need these less strict form of equality should convert all URLs to their */
+/* absolute form via CFURLCopyAbsoluteURL(), then compare the absolute forms. */
+
+CF_EXPORT
+CFTypeID CFURLGetTypeID(void);
+
+/* encoding will be used both to interpret the bytes of URLBytes, and to */
+/* interpret any percent-escapes within the bytes. */
+CF_EXPORT
+CFURLRef CFURLCreateWithBytes(CFAllocatorRef allocator, const UInt8 *URLBytes, CFIndex length, CFStringEncoding encoding, CFURLRef baseURL);
+
+/* Escapes any character that is not 7-bit ASCII with the byte-code */
+/* for the given encoding. If escapeWhitespace is true, whitespace */
+/* characters (' ', '\t', '\r', '\n') will be escaped also (desirable */
+/* if embedding the URL into a larger text stream like HTML) */
+CF_EXPORT
+CFDataRef CFURLCreateData(CFAllocatorRef allocator, CFURLRef url, CFStringEncoding encoding, Boolean escapeWhitespace);
+
+/* Any escape sequences in URLString will be interpreted via UTF-8. */
+CF_EXPORT
+CFURLRef CFURLCreateWithString(CFAllocatorRef allocator, CFStringRef URLString, CFURLRef baseURL);
#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /* Create an absolute URL directly, without requiring the extra step */
- /* of calling CFURLCopyAbsoluteURL(). If useCompatibilityMode is */
- /* true, the rules historically used on the web are used to resolve */
- /* relativeString against baseURL - these rules are generally listed */
- /* in the RFC as optional or alternate interpretations. Otherwise, */
- /* the strict rules from the RFC are used. The major differences are */
- /* that in compatibility mode, we are lenient of the scheme appearing */
- /* in relative portion, leading "../" components are removed from the */
- /* final URL's path, and if the relative portion contains only */
- /* resource specifier pieces (query, parameters, and fragment), then */
- /* the last path component of the base URL will not be deleted */
- CFURLRef CFURLCreateAbsoluteURLWithBytes(CFAllocatorRef alloc, const UInt8 *relativeURLBytes, CFIndex length, CFStringEncoding encoding, CFURLRef baseURL, Boolean useCompatibilityMode) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
+/* Create an absolute URL directly, without requiring the extra step */
+/* of calling CFURLCopyAbsoluteURL(). If useCompatibilityMode is */
+/* true, the rules historically used on the web are used to resolve */
+/* relativeString against baseURL - these rules are generally listed */
+/* in the RFC as optional or alternate interpretations. Otherwise, */
+/* the strict rules from the RFC are used. The major differences are */
+/* that in compatibility mode, we are lenient of the scheme appearing */
+/* in relative portion, leading "../" components are removed from the */
+/* final URL's path, and if the relative portion contains only */
+/* resource specifier pieces (query, parameters, and fragment), then */
+/* the last path component of the base URL will not be deleted */
+CFURLRef CFURLCreateAbsoluteURLWithBytes(CFAllocatorRef alloc, const UInt8 *relativeURLBytes, CFIndex length, CFStringEncoding encoding, CFURLRef baseURL, Boolean useCompatibilityMode) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
#endif
- /* filePath should be the URL's path expressed as a path of the type */
- /* fsType. If filePath is not absolute, the resulting URL will be */
- /* considered relative to the current working directory (evaluated */
- /* at creation time). isDirectory determines whether filePath is */
- /* treated as a directory path when resolving against relative path */
- /* components */
- CF_EXPORT
- CFURLRef CFURLCreateWithFileSystemPath(CFAllocatorRef allocator, CFStringRef filePath, CFURLPathStyle pathStyle, Boolean isDirectory);
-
- CF_EXPORT
- CFURLRef CFURLCreateFromFileSystemRepresentation(CFAllocatorRef allocator, const UInt8 *buffer, CFIndex bufLen, Boolean isDirectory);
-
- CF_EXPORT
- CFURLRef CFURLCreateWithFileSystemPathRelativeToBase(CFAllocatorRef allocator, CFStringRef filePath, CFURLPathStyle pathStyle, Boolean isDirectory, CFURLRef baseURL);
-
- CF_EXPORT
- CFURLRef CFURLCreateFromFileSystemRepresentationRelativeToBase(CFAllocatorRef allocator, const UInt8 *buffer, CFIndex bufLen, Boolean isDirectory, CFURLRef baseURL);
-
- /* Fills buffer with the file system's native representation of */
- /* url's path. No more than maxBufLen bytes are written to buffer. */
- /* The buffer should be at least the maximum path length for */
- /* the file system in question to avoid failures for insufficiently */
- /* large buffers. If resolveAgainstBase is true, the url's relative */
- /* portion is resolved against its base before the path is computed. */
- /* Returns success or failure. */
- CF_EXPORT
- Boolean CFURLGetFileSystemRepresentation(CFURLRef url, Boolean resolveAgainstBase, UInt8 *buffer, CFIndex maxBufLen);
-
- /* Creates a new URL by resolving the relative portion of relativeURL against its base. */
- CF_EXPORT
- CFURLRef CFURLCopyAbsoluteURL(CFURLRef relativeURL);
-
- /* Returns the URL's string. */
- CF_EXPORT
- CFStringRef CFURLGetString(CFURLRef anURL);
-
- /* Returns the base URL if it exists */
- CF_EXPORT
- CFURLRef CFURLGetBaseURL(CFURLRef anURL);
-
- /*
- All URLs can be broken into two pieces - the scheme (preceding the
- first colon) and the resource specifier (following the first colon).
- Most URLs are also "standard" URLs conforming to RFC 1808 (available
- from www.w3c.org). This category includes URLs of the file, http,
- https, and ftp schemes, to name a few. Standard URLs start the
- resource specifier with two slashes ("//"), and can be broken into
- four distinct pieces - the scheme, the net location, the path, and
- further resource specifiers (typically an optional parameter, query,
- and/or fragment). The net location appears immediately following
- the two slashes and goes up to the next slash; it's format is
- scheme-specific, but is usually composed of some or all of a username,
- password, host name, and port. The path is a series of path components
- separated by slashes; if the net location is present, the path always
- begins with a slash. Standard URLs can be relative to another URL,
- in which case at least the scheme and possibly other pieces as well
- come from the base URL (see RFC 1808 for precise details when resolving
- a relative URL against its base). The full URL is therefore
-
- <scheme> "://" <net location> <path, always starting with slash> <add'l resource specifiers>
-
- If a given CFURL can be decomposed (that is, conforms to RFC 1808), you
- can ask for each of the four basic pieces (scheme, net location, path,
- and resource specifer) separately, as well as for its base URL. The
- basic pieces are returned with any percent escape sequences still in
- place (although note that the scheme may not legally include any
- percent escapes); this is to allow the caller to distinguish between
- percent sequences that may have syntactic meaning if replaced by the
- character being escaped (for instance, a '/' in a path component).
- Since only the individual schemes know which characters are
- syntactically significant, CFURL cannot safely replace any percent
- escape sequences. However, you can use
- CFURLCreateStringByReplacingPercentEscapes() to create a new string with
- the percent escapes removed; see below.
-
- If a given CFURL can not be decomposed, you can ask for its scheme and its
- resource specifier; asking it for its net location or path will return NULL.
-
- To get more refined information about the components of a decomposable
- CFURL, you may ask for more specific pieces of the URL, expressed with
- the percent escapes removed. The available functions are CFURLCopyHostName(),
- CFURLGetPortNumber() (returns an Int32), CFURLCopyUserName(),
- CFURLCopyPassword(), CFURLCopyQuery(), CFURLCopyParameters(), and
- CFURLCopyFragment(). Because the parameters, query, and fragment of an
- URL may contain scheme-specific syntaxes, these methods take a second
- argument, giving a list of characters which should NOT be replaced if
- percent escaped. For instance, the ftp parameter syntax gives simple
- key-value pairs as "<key>=<value>;" Clearly if a key or value includes
- either '=' or ';', it must be escaped to avoid corrupting the meaning of
- the parameters, so the caller may request the parameter string as
-
- CFStringRef myParams = CFURLCopyParameters(ftpURL, CFSTR("=;%"));
-
- requesting that all percent escape sequences be replaced by the represented
- characters, except for escaped '=', '%' or ';' characters. Pass the empty
- string (CFSTR("")) to request that all percent escapes be replaced, or NULL
- to request that none be.
- */
-
- /* Returns true if anURL conforms to RFC 1808 */
- CF_EXPORT
- Boolean CFURLCanBeDecomposed(CFURLRef anURL);
-
- /* The next several methods leave any percent escape sequences intact */
-
- CF_EXPORT
- CFStringRef CFURLCopyScheme(CFURLRef anURL);
-
- /* NULL if CFURLCanBeDecomposed(anURL) is false */
- CF_EXPORT
- CFStringRef CFURLCopyNetLocation(CFURLRef anURL);
-
- /* NULL if CFURLCanBeDecomposed(anURL) is false; also does not resolve the URL */
- /* against its base. See also CFURLCopyAbsoluteURL(). Note that, strictly */
- /* speaking, any leading '/' is not considered part of the URL's path, although */
- /* its presence or absence determines whether the path is absolute. */
- /* CFURLCopyPath()'s return value includes any leading slash (giving the path */
- /* the normal POSIX appearance); CFURLCopyStrictPath()'s return value omits any */
- /* leading slash, and uses isAbsolute to report whether the URL's path is absolute. */
-
- /* CFURLCopyFileSystemPath() returns the URL's path as a file system path for the */
- /* given path style. All percent escape sequences are replaced. The URL is not */
- /* resolved against its base before computing the path. */
- CF_EXPORT
- CFStringRef CFURLCopyPath(CFURLRef anURL);
-
- CF_EXPORT
- CFStringRef CFURLCopyStrictPath(CFURLRef anURL, Boolean *isAbsolute);
-
- CF_EXPORT
- CFStringRef CFURLCopyFileSystemPath(CFURLRef anURL, CFURLPathStyle pathStyle);
-
- /* Returns whether anURL's path represents a directory */
- /* (true returned) or a simple file (false returned) */
- CF_EXPORT
- Boolean CFURLHasDirectoryPath(CFURLRef anURL);
-
- /* Any additional resource specifiers after the path. For URLs */
- /* that cannot be decomposed, this is everything except the scheme itself. */
- CF_EXPORT
- CFStringRef CFURLCopyResourceSpecifier(CFURLRef anURL);
-
- CF_EXPORT
- CFStringRef CFURLCopyHostName(CFURLRef anURL);
-
- CF_EXPORT
- SInt32 CFURLGetPortNumber(CFURLRef anURL); /* Returns -1 if no port number is specified */
-
- CF_EXPORT
- CFStringRef CFURLCopyUserName(CFURLRef anURL);
-
- CF_EXPORT
- CFStringRef CFURLCopyPassword(CFURLRef anURL);
-
- /* These remove all percent escape sequences except those for */
- /* characters in charactersToLeaveEscaped. If charactersToLeaveEscaped */
- /* is empty (""), all percent escape sequences are replaced by their */
- /* corresponding characters. If charactersToLeaveEscaped is NULL, */
- /* then no escape sequences are removed at all */
- CF_EXPORT
- CFStringRef CFURLCopyParameterString(CFURLRef anURL, CFStringRef charactersToLeaveEscaped);
-
- CF_EXPORT
- CFStringRef CFURLCopyQueryString(CFURLRef anURL, CFStringRef charactersToLeaveEscaped);
-
- CF_EXPORT
- CFStringRef CFURLCopyFragment(CFURLRef anURL, CFStringRef charactersToLeaveEscaped);
-
- CF_EXPORT
- CFStringRef CFURLCopyLastPathComponent(CFURLRef url);
-
- CF_EXPORT
- CFStringRef CFURLCopyPathExtension(CFURLRef url);
+/* filePath should be the URL's path expressed as a path of the type */
+/* fsType. If filePath is not absolute, the resulting URL will be */
+/* considered relative to the current working directory (evaluated */
+/* at creation time). isDirectory determines whether filePath is */
+/* treated as a directory path when resolving against relative path */
+/* components */
+CF_EXPORT
+CFURLRef CFURLCreateWithFileSystemPath(CFAllocatorRef allocator, CFStringRef filePath, CFURLPathStyle pathStyle, Boolean isDirectory);
+
+CF_EXPORT
+CFURLRef CFURLCreateFromFileSystemRepresentation(CFAllocatorRef allocator, const UInt8 *buffer, CFIndex bufLen, Boolean isDirectory);
+
+CF_EXPORT
+CFURLRef CFURLCreateWithFileSystemPathRelativeToBase(CFAllocatorRef allocator, CFStringRef filePath, CFURLPathStyle pathStyle, Boolean isDirectory, CFURLRef baseURL);
+
+CF_EXPORT
+CFURLRef CFURLCreateFromFileSystemRepresentationRelativeToBase(CFAllocatorRef allocator, const UInt8 *buffer, CFIndex bufLen, Boolean isDirectory, CFURLRef baseURL);
+
+/* Fills buffer with the file system's native representation of */
+/* url's path. No more than maxBufLen bytes are written to buffer. */
+/* The buffer should be at least the maximum path length for */
+/* the file system in question to avoid failures for insufficiently */
+/* large buffers. If resolveAgainstBase is true, the url's relative */
+/* portion is resolved against its base before the path is computed. */
+/* Returns success or failure. */
+CF_EXPORT
+Boolean CFURLGetFileSystemRepresentation(CFURLRef url, Boolean resolveAgainstBase, UInt8 *buffer, CFIndex maxBufLen);
+
+/* Creates a new URL by resolving the relative portion of relativeURL against its base. */
+CF_EXPORT
+CFURLRef CFURLCopyAbsoluteURL(CFURLRef relativeURL);
+
+/* Returns the URL's string. */
+CF_EXPORT
+CFStringRef CFURLGetString(CFURLRef anURL);
+
+/* Returns the base URL if it exists */
+CF_EXPORT
+CFURLRef CFURLGetBaseURL(CFURLRef anURL);
+
+/*
+All URLs can be broken into two pieces - the scheme (preceding the
+first colon) and the resource specifier (following the first colon).
+Most URLs are also "standard" URLs conforming to RFC 1808 (available
+from www.w3c.org). This category includes URLs of the file, http,
+https, and ftp schemes, to name a few. Standard URLs start the
+resource specifier with two slashes ("//"), and can be broken into
+four distinct pieces - the scheme, the net location, the path, and
+further resource specifiers (typically an optional parameter, query,
+and/or fragment). The net location appears immediately following
+the two slashes and goes up to the next slash; it's format is
+scheme-specific, but is usually composed of some or all of a username,
+password, host name, and port. The path is a series of path components
+separated by slashes; if the net location is present, the path always
+begins with a slash. Standard URLs can be relative to another URL,
+in which case at least the scheme and possibly other pieces as well
+come from the base URL (see RFC 1808 for precise details when resolving
+a relative URL against its base). The full URL is therefore
+
+<scheme> "://" <net location> <path, always starting with slash> <add'l resource specifiers>
+
+If a given CFURL can be decomposed (that is, conforms to RFC 1808), you
+can ask for each of the four basic pieces (scheme, net location, path,
+and resource specifer) separately, as well as for its base URL. The
+basic pieces are returned with any percent escape sequences still in
+place (although note that the scheme may not legally include any
+percent escapes); this is to allow the caller to distinguish between
+percent sequences that may have syntactic meaning if replaced by the
+character being escaped (for instance, a '/' in a path component).
+Since only the individual schemes know which characters are
+syntactically significant, CFURL cannot safely replace any percent
+escape sequences. However, you can use
+CFURLCreateStringByReplacingPercentEscapes() to create a new string with
+the percent escapes removed; see below.
+
+If a given CFURL can not be decomposed, you can ask for its scheme and its
+resource specifier; asking it for its net location or path will return NULL.
+
+To get more refined information about the components of a decomposable
+CFURL, you may ask for more specific pieces of the URL, expressed with
+the percent escapes removed. The available functions are CFURLCopyHostName(),
+CFURLGetPortNumber() (returns an Int32), CFURLCopyUserName(),
+CFURLCopyPassword(), CFURLCopyQuery(), CFURLCopyParameters(), and
+CFURLCopyFragment(). Because the parameters, query, and fragment of an
+URL may contain scheme-specific syntaxes, these methods take a second
+argument, giving a list of characters which should NOT be replaced if
+percent escaped. For instance, the ftp parameter syntax gives simple
+key-value pairs as "<key>=<value>;" Clearly if a key or value includes
+either '=' or ';', it must be escaped to avoid corrupting the meaning of
+the parameters, so the caller may request the parameter string as
+
+CFStringRef myParams = CFURLCopyParameters(ftpURL, CFSTR("=;%"));
+
+requesting that all percent escape sequences be replaced by the represented
+characters, except for escaped '=', '%' or ';' characters. Pass the empty
+string (CFSTR("")) to request that all percent escapes be replaced, or NULL
+to request that none be.
+*/
+
+/* Returns true if anURL conforms to RFC 1808 */
+CF_EXPORT
+Boolean CFURLCanBeDecomposed(CFURLRef anURL);
+
+/* The next several methods leave any percent escape sequences intact */
+
+CF_EXPORT
+CFStringRef CFURLCopyScheme(CFURLRef anURL);
+
+/* NULL if CFURLCanBeDecomposed(anURL) is false */
+CF_EXPORT
+CFStringRef CFURLCopyNetLocation(CFURLRef anURL);
+
+/* NULL if CFURLCanBeDecomposed(anURL) is false; also does not resolve the URL */
+/* against its base. See also CFURLCopyAbsoluteURL(). Note that, strictly */
+/* speaking, any leading '/' is not considered part of the URL's path, although */
+/* its presence or absence determines whether the path is absolute. */
+/* CFURLCopyPath()'s return value includes any leading slash (giving the path */
+/* the normal POSIX appearance); CFURLCopyStrictPath()'s return value omits any */
+/* leading slash, and uses isAbsolute to report whether the URL's path is absolute. */
+
+/* CFURLCopyFileSystemPath() returns the URL's path as a file system path for the */
+/* given path style. All percent escape sequences are replaced. The URL is not */
+/* resolved against its base before computing the path. */
+CF_EXPORT
+CFStringRef CFURLCopyPath(CFURLRef anURL);
+
+CF_EXPORT
+CFStringRef CFURLCopyStrictPath(CFURLRef anURL, Boolean *isAbsolute);
+
+CF_EXPORT
+CFStringRef CFURLCopyFileSystemPath(CFURLRef anURL, CFURLPathStyle pathStyle);
+
+/* Returns whether anURL's path represents a directory */
+/* (true returned) or a simple file (false returned) */
+CF_EXPORT
+Boolean CFURLHasDirectoryPath(CFURLRef anURL);
+
+/* Any additional resource specifiers after the path. For URLs */
+/* that cannot be decomposed, this is everything except the scheme itself. */
+CF_EXPORT
+CFStringRef CFURLCopyResourceSpecifier(CFURLRef anURL);
- /* These functions all treat the base URL of the supplied url as */
- /* invariant. In other words, the URL returned will always have */
- /* the same base as the URL supplied as an argument. */
+CF_EXPORT
+CFStringRef CFURLCopyHostName(CFURLRef anURL);
- CF_EXPORT
- CFURLRef CFURLCreateCopyAppendingPathComponent(CFAllocatorRef allocator, CFURLRef url, CFStringRef pathComponent, Boolean isDirectory);
+CF_EXPORT
+SInt32 CFURLGetPortNumber(CFURLRef anURL); /* Returns -1 if no port number is specified */
- CF_EXPORT
- CFURLRef CFURLCreateCopyDeletingLastPathComponent(CFAllocatorRef allocator, CFURLRef url);
+CF_EXPORT
+CFStringRef CFURLCopyUserName(CFURLRef anURL);
- CF_EXPORT
- CFURLRef CFURLCreateCopyAppendingPathExtension(CFAllocatorRef allocator, CFURLRef url, CFStringRef extension);
+CF_EXPORT
+CFStringRef CFURLCopyPassword(CFURLRef anURL);
- CF_EXPORT
- CFURLRef CFURLCreateCopyDeletingPathExtension(CFAllocatorRef allocator, CFURLRef url);
+/* These remove all percent escape sequences except those for */
+/* characters in charactersToLeaveEscaped. If charactersToLeaveEscaped */
+/* is empty (""), all percent escape sequences are replaced by their */
+/* corresponding characters. If charactersToLeaveEscaped is NULL, */
+/* then no escape sequences are removed at all */
+CF_EXPORT
+CFStringRef CFURLCopyParameterString(CFURLRef anURL, CFStringRef charactersToLeaveEscaped);
+
+CF_EXPORT
+CFStringRef CFURLCopyQueryString(CFURLRef anURL, CFStringRef charactersToLeaveEscaped);
+
+CF_EXPORT
+CFStringRef CFURLCopyFragment(CFURLRef anURL, CFStringRef charactersToLeaveEscaped);
+
+CF_EXPORT
+CFStringRef CFURLCopyLastPathComponent(CFURLRef url);
+
+CF_EXPORT
+CFStringRef CFURLCopyPathExtension(CFURLRef url);
+
+/* These functions all treat the base URL of the supplied url as */
+/* invariant. In other words, the URL returned will always have */
+/* the same base as the URL supplied as an argument. */
+
+CF_EXPORT
+CFURLRef CFURLCreateCopyAppendingPathComponent(CFAllocatorRef allocator, CFURLRef url, CFStringRef pathComponent, Boolean isDirectory);
+
+CF_EXPORT
+CFURLRef CFURLCreateCopyDeletingLastPathComponent(CFAllocatorRef allocator, CFURLRef url);
+
+CF_EXPORT
+CFURLRef CFURLCreateCopyAppendingPathExtension(CFAllocatorRef allocator, CFURLRef url, CFStringRef extension);
+
+CF_EXPORT
+CFURLRef CFURLCreateCopyDeletingPathExtension(CFAllocatorRef allocator, CFURLRef url);
#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /* Fills buffer with the bytes for url, returning the number of bytes */
- /* filled. If buffer is of insufficient size, returns -1 and no bytes */
- /* are placed in buffer. If buffer is NULL, the needed length is */
- /* computed and returned. The returned bytes are the original bytes */
- /* from which the URL was created; if the URL was created from a */
- /* string, the bytes will be the bytes of the string encoded via UTF-8 */
- CF_EXPORT
- CFIndex CFURLGetBytes(CFURLRef url, UInt8 *buffer, CFIndex bufferLength) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
-
- typedef enum
- {
- kCFURLComponentScheme = 1,
- kCFURLComponentNetLocation = 2,
- kCFURLComponentPath = 3,
- kCFURLComponentResourceSpecifier = 4,
-
- kCFURLComponentUser = 5,
- kCFURLComponentPassword = 6,
- kCFURLComponentUserInfo = 7,
- kCFURLComponentHost = 8,
- kCFURLComponentPort = 9,
- kCFURLComponentParameterString = 10,
- kCFURLComponentQuery = 11,
- kCFURLComponentFragment = 12
- } CFURLComponentType;
-
- /*
- Gets the range of the requested component in the bytes of url, as
- returned by CFURLGetBytes(). This range is only good for use in the
- bytes returned by CFURLGetBytes!
-
- If non-NULL, rangeIncludingSeparators gives the range of component
- including the sequences that separate component from the previous and
- next components. If there is no previous or next component, that end of
- rangeIncludingSeparators will match the range of the component itself.
- If url does not contain the given component type, (kCFNotFound, 0) is
- returned, and rangeIncludingSeparators is set to the location where the
- component would be inserted. Some examples -
-
- For the URL http://www.apple.com/hotnews/
-
- Component returned range rangeIncludingSeparators
- scheme (0, 4) (0, 7)
- net location (7, 13) (4, 16)
- path (20, 9) (20, 9)
- resource specifier (kCFNotFound, 0) (29, 0)
- user (kCFNotFound, 0) (7, 0)
- password (kCFNotFound, 0) (7, 0)
- user info (kCFNotFound, 0) (7, 0)
- host (7, 13) (4, 16)
- port (kCFNotFound, 0) (20, 0)
- parameter (kCFNotFound, 0) (29, 0)
- query (kCFNotFound, 0) (29, 0)
- fragment (kCFNotFound, 0) (29, 0)
-
-
- For the URL ./relPath/file.html#fragment
-
- Component returned range rangeIncludingSeparators
- scheme (kCFNotFound, 0) (0, 0)
- net location (kCFNotFound, 0) (0, 0)
- path (0, 19) (0, 20)
- resource specifier (20, 8) (19, 9)
- user (kCFNotFound, 0) (0, 0)
- password (kCFNotFound, 0) (0, 0)
- user info (kCFNotFound, 0) (0, 0)
- host (kCFNotFound, 0) (0, 0)
- port (kCFNotFound, 0) (0, 0)
- parameter (kCFNotFound, 0) (19, 0)
- query (kCFNotFound, 0) (19, 0)
- fragment (20, 8) (19, 9)
-
-
- For the URL scheme://user:pass@host:1/path/path2/file.html;params?query#fragment
-
- Component returned range rangeIncludingSeparators
- scheme (0, 6) (0, 9)
- net location (9, 16) (6, 19)
- path (25, 21) (25, 22)
- resource specifier (47, 21) (46, 22)
- user (9, 4) (6, 8)
- password (14, 4) (13, 6)
- user info (9, 9) (6, 13)
- host (19, 4) (18, 6)
- port (24, 1) (23, 2)
- parameter (47, 6) (46, 8)
- query (54, 5) (53, 7)
- fragment (60, 8) (59, 9)
- */
- CF_EXPORT
- CFRange CFURLGetByteRangeForComponent(CFURLRef url, CFURLComponentType component, CFRange *rangeIncludingSeparators) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
+/* Fills buffer with the bytes for url, returning the number of bytes */
+/* filled. If buffer is of insufficient size, returns -1 and no bytes */
+/* are placed in buffer. If buffer is NULL, the needed length is */
+/* computed and returned. The returned bytes are the original bytes */
+/* from which the URL was created; if the URL was created from a */
+/* string, the bytes will be the bytes of the string encoded via UTF-8 */
+CF_EXPORT
+CFIndex CFURLGetBytes(CFURLRef url, UInt8 *buffer, CFIndex bufferLength) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
+
+typedef enum {
+ kCFURLComponentScheme = 1,
+ kCFURLComponentNetLocation = 2,
+ kCFURLComponentPath = 3,
+ kCFURLComponentResourceSpecifier = 4,
+
+ kCFURLComponentUser = 5,
+ kCFURLComponentPassword = 6,
+ kCFURLComponentUserInfo = 7,
+ kCFURLComponentHost = 8,
+ kCFURLComponentPort = 9,
+ kCFURLComponentParameterString = 10,
+ kCFURLComponentQuery = 11,
+ kCFURLComponentFragment = 12
+} CFURLComponentType;
+
+/*
+Gets the range of the requested component in the bytes of url, as
+returned by CFURLGetBytes(). This range is only good for use in the
+bytes returned by CFURLGetBytes!
+
+If non-NULL, rangeIncludingSeparators gives the range of component
+including the sequences that separate component from the previous and
+next components. If there is no previous or next component, that end of
+rangeIncludingSeparators will match the range of the component itself.
+If url does not contain the given component type, (kCFNotFound, 0) is
+returned, and rangeIncludingSeparators is set to the location where the
+component would be inserted. Some examples -
+
+For the URL http://www.apple.com/hotnews/
+
+Component returned range rangeIncludingSeparators
+scheme (0, 4) (0, 7)
+net location (7, 13) (4, 16)
+path (20, 9) (20, 9)
+resource specifier (kCFNotFound, 0) (29, 0)
+user (kCFNotFound, 0) (7, 0)
+password (kCFNotFound, 0) (7, 0)
+user info (kCFNotFound, 0) (7, 0)
+host (7, 13) (4, 16)
+port (kCFNotFound, 0) (20, 0)
+parameter (kCFNotFound, 0) (29, 0)
+query (kCFNotFound, 0) (29, 0)
+fragment (kCFNotFound, 0) (29, 0)
+
+
+For the URL ./relPath/file.html#fragment
+
+Component returned range rangeIncludingSeparators
+scheme (kCFNotFound, 0) (0, 0)
+net location (kCFNotFound, 0) (0, 0)
+path (0, 19) (0, 20)
+resource specifier (20, 8) (19, 9)
+user (kCFNotFound, 0) (0, 0)
+password (kCFNotFound, 0) (0, 0)
+user info (kCFNotFound, 0) (0, 0)
+host (kCFNotFound, 0) (0, 0)
+port (kCFNotFound, 0) (0, 0)
+parameter (kCFNotFound, 0) (19, 0)
+query (kCFNotFound, 0) (19, 0)
+fragment (20, 8) (19, 9)
+
+
+For the URL scheme://user:pass@host:1/path/path2/file.html;params?query#fragment
+
+Component returned range rangeIncludingSeparators
+scheme (0, 6) (0, 9)
+net location (9, 16) (6, 19)
+path (25, 21) (25, 22)
+resource specifier (47, 21) (46, 22)
+user (9, 4) (6, 8)
+password (14, 4) (13, 6)
+user info (9, 9) (6, 13)
+host (19, 4) (18, 6)
+port (24, 1) (23, 2)
+parameter (47, 6) (46, 8)
+query (54, 5) (53, 7)
+fragment (60, 8) (59, 9)
+*/
+CF_EXPORT
+CFRange CFURLGetByteRangeForComponent(CFURLRef url, CFURLComponentType component, CFRange *rangeIncludingSeparators) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
#endif
- /* Returns a string with any percent escape sequences that do NOT */
- /* correspond to characters in charactersToLeaveEscaped with their */
- /* equivalent. Returns NULL on failure (if an invalid percent sequence */
- /* is encountered), or the original string (retained) if no characters */
- /* need to be replaced. Pass NULL to request that no percent escapes be */
- /* replaced, or the empty string (CFSTR("")) to request that all percent */
- /* escapes be replaced. Uses UTF8 to interpret percent escapes. */
- CF_EXPORT
- CFStringRef CFURLCreateStringByReplacingPercentEscapes(CFAllocatorRef allocator, CFStringRef originalString, CFStringRef charactersToLeaveEscaped);
+/* Returns a string with any percent escape sequences that do NOT */
+/* correspond to characters in charactersToLeaveEscaped with their */
+/* equivalent. Returns NULL on failure (if an invalid percent sequence */
+/* is encountered), or the original string (retained) if no characters */
+/* need to be replaced. Pass NULL to request that no percent escapes be */
+/* replaced, or the empty string (CFSTR("")) to request that all percent */
+/* escapes be replaced. Uses UTF8 to interpret percent escapes. */
+CF_EXPORT
+CFStringRef CFURLCreateStringByReplacingPercentEscapes(CFAllocatorRef allocator, CFStringRef originalString, CFStringRef charactersToLeaveEscaped);
#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
- /* As above, but allows you to specify the encoding to use when interpreting percent escapes */
- CF_EXPORT
- CFStringRef CFURLCreateStringByReplacingPercentEscapesUsingEncoding(CFAllocatorRef allocator, CFStringRef origString, CFStringRef charsToLeaveEscaped, CFStringEncoding encoding) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
+/* As above, but allows you to specify the encoding to use when interpreting percent escapes */
+CF_EXPORT
+CFStringRef CFURLCreateStringByReplacingPercentEscapesUsingEncoding(CFAllocatorRef allocator, CFStringRef origString, CFStringRef charsToLeaveEscaped, CFStringEncoding encoding) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
#endif
- /* Creates a copy or originalString, replacing certain characters with */
- /* the equivalent percent escape sequence based on the encoding specified. */
- /* If the originalString does not need to be modified (no percent escape */
- /* sequences are missing), may retain and return originalString. */
- /* If you are uncertain of the correct encoding, you should use UTF-8, */
- /* which is the encoding designated by RFC 2396 as the correct encoding */
- /* for use in URLs. The characters so escaped are all characters that */
- /* are not legal URL characters (based on RFC 2396), plus any characters */
- /* in legalURLCharactersToBeEscaped, less any characters in */
- /* charactersToLeaveUnescaped. To simply correct any non-URL characters */
- /* in an otherwise correct URL string, do: */
+/* Creates a copy or originalString, replacing certain characters with */
+/* the equivalent percent escape sequence based on the encoding specified. */
+/* If the originalString does not need to be modified (no percent escape */
+/* sequences are missing), may retain and return originalString. */
+/* If you are uncertain of the correct encoding, you should use UTF-8, */
+/* which is the encoding designated by RFC 2396 as the correct encoding */
+/* for use in URLs. The characters so escaped are all characters that */
+/* are not legal URL characters (based on RFC 2396), plus any characters */
+/* in legalURLCharactersToBeEscaped, less any characters in */
+/* charactersToLeaveUnescaped. To simply correct any non-URL characters */
+/* in an otherwise correct URL string, do: */
- /* newString = CFURLCreateStringByAddingPercentEscapes(NULL, origString, NULL, NULL, kCFStringEncodingUTF8); */
- CF_EXPORT
- CFStringRef CFURLCreateStringByAddingPercentEscapes(CFAllocatorRef allocator, CFStringRef originalString, CFStringRef charactersToLeaveUnescaped, CFStringRef legalURLCharactersToBeEscaped, CFStringEncoding encoding);
+/* newString = CFURLCreateStringByAddingPercentEscapes(NULL, origString, NULL, NULL, kCFStringEncodingUTF8); */
+CF_EXPORT
+CFStringRef CFURLCreateStringByAddingPercentEscapes(CFAllocatorRef allocator, CFStringRef originalString, CFStringRef charactersToLeaveUnescaped, CFStringRef legalURLCharactersToBeEscaped, CFStringEncoding encoding);
- struct FSRef;
+struct FSRef;
- CF_EXPORT
- CFURLRef CFURLCreateFromFSRef(CFAllocatorRef allocator, const struct FSRef *fsRef);
+CF_EXPORT
+CFURLRef CFURLCreateFromFSRef(CFAllocatorRef allocator, const struct FSRef *fsRef);
- CF_EXPORT
- Boolean CFURLGetFSRef(CFURLRef url, struct FSRef *fsRef);
+CF_EXPORT
+Boolean CFURLGetFSRef(CFURLRef url, struct FSRef *fsRef);
#if defined(__cplusplus)
diff --git a/include/qt/CoreGraphics.h b/include/qt/CoreGraphics.h
index d71ad7564..58f6df396 100644
--- a/include/qt/CoreGraphics.h
+++ b/include/qt/CoreGraphics.h
@@ -1,17 +1,17 @@
/*
File: CoreGraphics.h
-
+
Contains: CoreGraphics master header
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __COREGRAPHICS__
#define __COREGRAPHICS__
diff --git a/include/qt/CoreServices.h b/include/qt/CoreServices.h
index 2855c034f..42221ad68 100644
--- a/include/qt/CoreServices.h
+++ b/include/qt/CoreServices.h
@@ -1,17 +1,17 @@
/*
File: CoreServices.h
-
+
Contains: Master include for CoreServices (non-UI toolbox)
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CORESERVICES__
#define __CORESERVICES__
diff --git a/include/qt/CursorDevices.h b/include/qt/CursorDevices.h
index 1e760b6e2..ce2f09f85 100644
--- a/include/qt/CursorDevices.h
+++ b/include/qt/CursorDevices.h
@@ -1,18 +1,18 @@
/*
File: CursorDevices.h
-
+
Contains: Cursor Devices (mouse/trackball/etc) Interfaces.
-
+
Version: Technology: System 7.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-1999 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 __CURSORDEVICES__
#define __CURSORDEVICES__
@@ -41,401 +41,386 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- * * * I M P O R T A N T * * *
-
- You will need CursorDevicesGlue.o to use CDM from PowerPC
-
-
- In order to use the Cursor Devices Manager (CDM) on PowerPC systems, you must
- link with the file CursorDevicesGlue.o and InterfaceLib 1.1.3. This is necessary
- because the original MixedMode transition code for CDM in InterfaceLib in ROM
- was wrong. The code in CursorDevicesGlue.o will check to see if the ROM has
- been fixed and calls through to it if so. If it detects that the ROM has not
- been fixed, it uses its own implementation of the CDM MixedMode transition
- routines.
-
- */
-
- typedef short ButtonOpcode;
- /* ButtonOpcodes */
- enum
- {
- kButtonNoOp = 0, /* No action for this button */
- kButtonSingleClick = 1, /* Normal mouse button */
- kButtonDoubleClick = 2, /* Click-release-click when pressed */
- kButtonClickLock = 3 /* Click on press, release on next press */
- };
-
- enum
- {
- kButtonCustom = 6 /* Custom behavior, data = CursorDeviceCustomButtonUPP */
- };
-
- /* Device Classes */
- enum
- {
- kDeviceClassAbsolute = 0, /* a flat-response device */
- kDeviceClassMouse = 1, /* mechanical or optical mouse */
- kDeviceClassTrackball = 2, /* trackball */
- kDeviceClassTrackPad = 3
- };
-
- enum
- {
- kDeviceClass3D = 6 /* a 3D pointing device */
- };
-
- /* Structures used in Cursor Device Manager calls */
- struct CursorData
- {
- struct CursorData * nextCursorData; /* next in global list */
- Ptr displayInfo; /* unused (reserved for future) */
- Fixed whereX; /* horizontal position */
- Fixed whereY; /* vertical position */
- Point where; /* the pixel position */
- Boolean isAbs; /* has been stuffed with absolute coords */
- UInt8 buttonCount; /* number of buttons currently pressed */
- long screenRes; /* pixels per inch on the current display */
- short privateFields[22]; /* fields use internally by CDM */
- };
- typedef struct CursorData CursorData;
- typedef CursorData * CursorDataPtr;
- struct CursorDevice
- {
- struct CursorDevice * nextCursorDevice; /* pointer to next record in linked list */
- CursorData * whichCursor; /* pointer to data for target cursor */
- long refCon; /* application-defined */
- long unused; /* reserved for future */
- OSType devID; /* device identifier (from ADB reg 1) */
- Fixed resolution; /* units/inch (orig. from ADB reg 1) */
- UInt8 devClass; /* device class (from ADB reg 1) */
- UInt8 cntButtons; /* number of buttons (from ADB reg 1) */
- UInt8 filler1; /* reserved for future */
- UInt8 buttons; /* state of all buttons */
- UInt8 buttonOp[8]; /* action performed per button */
- unsigned long buttonTicks[8]; /* ticks when button last went up (for debounce) */
- long buttonData[8]; /* data for the button operation */
- unsigned long doubleClickTime; /* device-specific double click speed */
- Fixed acceleration; /* current acceleration */
- short privateFields[15]; /* fields used internally to CDM */
- };
- typedef struct CursorDevice CursorDevice;
- typedef CursorDevice * CursorDevicePtr;
- /* for use with CursorDeviceButtonOp when opcode = kButtonCustom */
- typedef CALLBACK_API_REGISTER68K(void , CursorDeviceCustomButtonProcPtr, (CursorDevicePtr ourDevice, short button));
- typedef REGISTER_UPP_TYPE(CursorDeviceCustomButtonProcPtr) CursorDeviceCustomButtonUPP;
+/*
+ * * * I M P O R T A N T * * *
+
+ You will need CursorDevicesGlue.o to use CDM from PowerPC
+
+
+ In order to use the Cursor Devices Manager (CDM) on PowerPC systems, you must
+ link with the file CursorDevicesGlue.o and InterfaceLib 1.1.3. This is necessary
+ because the original MixedMode transition code for CDM in InterfaceLib in ROM
+ was wrong. The code in CursorDevicesGlue.o will check to see if the ROM has
+ been fixed and calls through to it if so. If it detects that the ROM has not
+ been fixed, it uses its own implementation of the CDM MixedMode transition
+ routines.
+
+*/
+
+typedef short ButtonOpcode;
+/* ButtonOpcodes */
+enum {
+ kButtonNoOp = 0, /* No action for this button */
+ kButtonSingleClick = 1, /* Normal mouse button */
+ kButtonDoubleClick = 2, /* Click-release-click when pressed */
+ kButtonClickLock = 3 /* Click on press, release on next press */
+};
+
+enum {
+ kButtonCustom = 6 /* Custom behavior, data = CursorDeviceCustomButtonUPP */
+};
+
+/* Device Classes */
+enum {
+ kDeviceClassAbsolute = 0, /* a flat-response device */
+ kDeviceClassMouse = 1, /* mechanical or optical mouse */
+ kDeviceClassTrackball = 2, /* trackball */
+ kDeviceClassTrackPad = 3
+};
+
+enum {
+ kDeviceClass3D = 6 /* a 3D pointing device */
+};
+
+/* Structures used in Cursor Device Manager calls */
+struct CursorData {
+ struct CursorData * nextCursorData; /* next in global list */
+ Ptr displayInfo; /* unused (reserved for future) */
+ Fixed whereX; /* horizontal position */
+ Fixed whereY; /* vertical position */
+ Point where; /* the pixel position */
+ Boolean isAbs; /* has been stuffed with absolute coords */
+ UInt8 buttonCount; /* number of buttons currently pressed */
+ long screenRes; /* pixels per inch on the current display */
+ short privateFields[22]; /* fields use internally by CDM */
+};
+typedef struct CursorData CursorData;
+typedef CursorData * CursorDataPtr;
+struct CursorDevice {
+ struct CursorDevice * nextCursorDevice; /* pointer to next record in linked list */
+ CursorData * whichCursor; /* pointer to data for target cursor */
+ long refCon; /* application-defined */
+ long unused; /* reserved for future */
+ OSType devID; /* device identifier (from ADB reg 1) */
+ Fixed resolution; /* units/inch (orig. from ADB reg 1) */
+ UInt8 devClass; /* device class (from ADB reg 1) */
+ UInt8 cntButtons; /* number of buttons (from ADB reg 1) */
+ UInt8 filler1; /* reserved for future */
+ UInt8 buttons; /* state of all buttons */
+ UInt8 buttonOp[8]; /* action performed per button */
+ unsigned long buttonTicks[8]; /* ticks when button last went up (for debounce) */
+ long buttonData[8]; /* data for the button operation */
+ unsigned long doubleClickTime; /* device-specific double click speed */
+ Fixed acceleration; /* current acceleration */
+ short privateFields[15]; /* fields used internally to CDM */
+};
+typedef struct CursorDevice CursorDevice;
+typedef CursorDevice * CursorDevicePtr;
+/* for use with CursorDeviceButtonOp when opcode = kButtonCustom */
+typedef CALLBACK_API_REGISTER68K( void , CursorDeviceCustomButtonProcPtr, (CursorDevicePtr ourDevice, short button) );
+typedef REGISTER_UPP_TYPE(CursorDeviceCustomButtonProcPtr) CursorDeviceCustomButtonUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewCursorDeviceCustomButtonUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(CursorDeviceCustomButtonUPP)
- NewCursorDeviceCustomButtonUPP(CursorDeviceCustomButtonProcPtr userRoutine);
+/*
+ * NewCursorDeviceCustomButtonUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( CursorDeviceCustomButtonUPP )
+NewCursorDeviceCustomButtonUPP(CursorDeviceCustomButtonProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCursorDeviceCustomButtonProcInfo = 0x000ED802 }; /* register no_return_value Func(4_bytes:A2, 2_bytes:D3) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CursorDeviceCustomButtonUPP) NewCursorDeviceCustomButtonUPP(CursorDeviceCustomButtonProcPtr userRoutine)
- {
- return (CursorDeviceCustomButtonUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCursorDeviceCustomButtonProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCursorDeviceCustomButtonUPP(userRoutine) (CursorDeviceCustomButtonUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCursorDeviceCustomButtonProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCursorDeviceCustomButtonProcInfo = 0x000ED802 }; /* register no_return_value Func(4_bytes:A2, 2_bytes:D3) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CursorDeviceCustomButtonUPP) NewCursorDeviceCustomButtonUPP(CursorDeviceCustomButtonProcPtr userRoutine) { return (CursorDeviceCustomButtonUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCursorDeviceCustomButtonProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCursorDeviceCustomButtonUPP(userRoutine) (CursorDeviceCustomButtonUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCursorDeviceCustomButtonProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeCursorDeviceCustomButtonUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeCursorDeviceCustomButtonUPP(CursorDeviceCustomButtonUPP userUPP);
+/*
+ * DisposeCursorDeviceCustomButtonUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeCursorDeviceCustomButtonUPP(CursorDeviceCustomButtonUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCursorDeviceCustomButtonUPP(CursorDeviceCustomButtonUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCursorDeviceCustomButtonUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCursorDeviceCustomButtonUPP(CursorDeviceCustomButtonUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCursorDeviceCustomButtonUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeCursorDeviceCustomButtonUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeCursorDeviceCustomButtonUPP(
- CursorDevicePtr ourDevice,
- short button,
- CursorDeviceCustomButtonUPP userUPP);
+/*
+ * InvokeCursorDeviceCustomButtonUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeCursorDeviceCustomButtonUPP(
+ CursorDevicePtr ourDevice,
+ short button,
+ CursorDeviceCustomButtonUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeCursorDeviceCustomButtonUPP(CursorDevicePtr ourDevice, short button, CursorDeviceCustomButtonUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppCursorDeviceCustomButtonProcInfo, ourDevice, button);
- }
-#else
-#define InvokeCursorDeviceCustomButtonUPP(ourDevice, button, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppCursorDeviceCustomButtonProcInfo, (ourDevice), (button))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeCursorDeviceCustomButtonUPP(CursorDevicePtr ourDevice, short button, CursorDeviceCustomButtonUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppCursorDeviceCustomButtonProcInfo, ourDevice, button); }
+ #else
+ #define InvokeCursorDeviceCustomButtonUPP(ourDevice, button, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppCursorDeviceCustomButtonProcInfo, (ourDevice), (button))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewCursorDeviceCustomButtonProc(userRoutine) NewCursorDeviceCustomButtonUPP(userRoutine)
-#define CallCursorDeviceCustomButtonProc(userRoutine, ourDevice, button) InvokeCursorDeviceCustomButtonUPP(ourDevice, button, userRoutine)
+ #define NewCursorDeviceCustomButtonProc(userRoutine) NewCursorDeviceCustomButtonUPP(userRoutine)
+ #define CallCursorDeviceCustomButtonProc(userRoutine, ourDevice, button) InvokeCursorDeviceCustomButtonUPP(ourDevice, button, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * CursorDeviceMove()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceMove(
- CursorDevicePtr ourDevice,
- long deltaX,
- long deltaY) TWOWORDINLINE(0x7000, 0xAADB);
-
-
- /*
- * CursorDeviceMoveTo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceMoveTo(
- CursorDevicePtr ourDevice,
- long absX,
- long absY) TWOWORDINLINE(0x7001, 0xAADB);
-
-
- /*
- * CursorDeviceFlush()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceFlush(CursorDevicePtr ourDevice) TWOWORDINLINE(0x7002, 0xAADB);
-
-
- /*
- * CursorDeviceButtons()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceButtons(
- CursorDevicePtr ourDevice,
- short buttons) TWOWORDINLINE(0x7003, 0xAADB);
-
-
- /*
- * CursorDeviceButtonDown()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceButtonDown(CursorDevicePtr ourDevice) TWOWORDINLINE(0x7004, 0xAADB);
-
-
- /*
- * CursorDeviceButtonUp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceButtonUp(CursorDevicePtr ourDevice) TWOWORDINLINE(0x7005, 0xAADB);
-
-
- /*
- * CursorDeviceButtonOp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceButtonOp(
- CursorDevicePtr ourDevice,
- short buttonNumber,
- ButtonOpcode opcode,
- long data) TWOWORDINLINE(0x7006, 0xAADB);
-
-
- /*
- * CursorDeviceSetButtons()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceSetButtons(
- CursorDevicePtr ourDevice,
- short numberOfButtons) TWOWORDINLINE(0x7007, 0xAADB);
-
-
- /*
- * CursorDeviceSetAcceleration()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceSetAcceleration(
- CursorDevicePtr ourDevice,
- Fixed acceleration) TWOWORDINLINE(0x7008, 0xAADB);
-
-
- /*
- * CursorDeviceDoubleTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceDoubleTime(
- CursorDevicePtr ourDevice,
- long durationTicks) TWOWORDINLINE(0x7009, 0xAADB);
-
-
- /*
- * CursorDeviceUnitsPerInch()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceUnitsPerInch(
- CursorDevicePtr ourDevice,
- Fixed resolution) TWOWORDINLINE(0x700A, 0xAADB);
-
-
- /*
- * CursorDeviceNextDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceNextDevice(CursorDevicePtr * ourDevice) TWOWORDINLINE(0x700B, 0xAADB);
-
-
- /*
- * CursorDeviceNewDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceNewDevice(CursorDevicePtr * ourDevice) TWOWORDINLINE(0x700C, 0xAADB);
-
-
- /*
- * CursorDeviceDisposeDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CursorDeviceDisposeDevice(CursorDevicePtr ourDevice) TWOWORDINLINE(0x700D, 0xAADB);
-
-
-
- /*
- * * * W A R N I N G * * *
-
- The routines CrsrDevMoveTo and CrsrDevNextDevice are no longer needed.
- They were added as a work around until the glue code CursorDevicesGlue.o
- was created. Please use the functions CursorDeviceMoveTo and
- CursorDeviceNextDevice instead.
-
- */
+/*
+ * CursorDeviceMove()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceMove(
+ CursorDevicePtr ourDevice,
+ long deltaX,
+ long deltaY) TWOWORDINLINE(0x7000, 0xAADB);
+
+
+/*
+ * CursorDeviceMoveTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceMoveTo(
+ CursorDevicePtr ourDevice,
+ long absX,
+ long absY) TWOWORDINLINE(0x7001, 0xAADB);
+
+
+/*
+ * CursorDeviceFlush()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceFlush(CursorDevicePtr ourDevice) TWOWORDINLINE(0x7002, 0xAADB);
+
+
+/*
+ * CursorDeviceButtons()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceButtons(
+ CursorDevicePtr ourDevice,
+ short buttons) TWOWORDINLINE(0x7003, 0xAADB);
+
+
+/*
+ * CursorDeviceButtonDown()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceButtonDown(CursorDevicePtr ourDevice) TWOWORDINLINE(0x7004, 0xAADB);
+
+
+/*
+ * CursorDeviceButtonUp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceButtonUp(CursorDevicePtr ourDevice) TWOWORDINLINE(0x7005, 0xAADB);
+
+
+/*
+ * CursorDeviceButtonOp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceButtonOp(
+ CursorDevicePtr ourDevice,
+ short buttonNumber,
+ ButtonOpcode opcode,
+ long data) TWOWORDINLINE(0x7006, 0xAADB);
+
+
+/*
+ * CursorDeviceSetButtons()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceSetButtons(
+ CursorDevicePtr ourDevice,
+ short numberOfButtons) TWOWORDINLINE(0x7007, 0xAADB);
+
+
+/*
+ * CursorDeviceSetAcceleration()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceSetAcceleration(
+ CursorDevicePtr ourDevice,
+ Fixed acceleration) TWOWORDINLINE(0x7008, 0xAADB);
+
+
+/*
+ * CursorDeviceDoubleTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceDoubleTime(
+ CursorDevicePtr ourDevice,
+ long durationTicks) TWOWORDINLINE(0x7009, 0xAADB);
+
+
+/*
+ * CursorDeviceUnitsPerInch()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceUnitsPerInch(
+ CursorDevicePtr ourDevice,
+ Fixed resolution) TWOWORDINLINE(0x700A, 0xAADB);
+
+
+/*
+ * CursorDeviceNextDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceNextDevice(CursorDevicePtr * ourDevice) TWOWORDINLINE(0x700B, 0xAADB);
+
+
+/*
+ * CursorDeviceNewDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceNewDevice(CursorDevicePtr * ourDevice) TWOWORDINLINE(0x700C, 0xAADB);
+
+
+/*
+ * CursorDeviceDisposeDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CursorDeviceDisposeDevice(CursorDevicePtr ourDevice) TWOWORDINLINE(0x700D, 0xAADB);
+
+
+
+/*
+ * * * W A R N I N G * * *
+
+ The routines CrsrDevMoveTo and CrsrDevNextDevice are no longer needed.
+ They were added as a work around until the glue code CursorDevicesGlue.o
+ was created. Please use the functions CursorDeviceMoveTo and
+ CursorDeviceNextDevice instead.
+
+*/
#endif /* CALL_NOT_IN_CARBON */
#if OLDROUTINENAMES
#if CALL_NOT_IN_CARBON
- /*
- * CrsrDevMoveTo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CrsrDevMoveTo(
- CursorDevicePtr ourDevice,
- long absX,
- long absY) TWOWORDINLINE(0x7001, 0xAADB);
-
-
- /*
- * CrsrDevNextDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CrsrDevNextDevice(CursorDevicePtr * ourDevice) TWOWORDINLINE(0x700B, 0xAADB);
+/*
+ * CrsrDevMoveTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CrsrDevMoveTo(
+ CursorDevicePtr ourDevice,
+ long absX,
+ long absY) TWOWORDINLINE(0x7001, 0xAADB);
+
+
+/*
+ * CrsrDevNextDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CrsrDevNextDevice(CursorDevicePtr * ourDevice) TWOWORDINLINE(0x700B, 0xAADB);
#endif /* CALL_NOT_IN_CARBON */
@@ -445,11 +430,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/DateTimeUtils.h b/include/qt/DateTimeUtils.h
index 70f7526af..07fe8f9a8 100644
--- a/include/qt/DateTimeUtils.h
+++ b/include/qt/DateTimeUtils.h
@@ -1,17 +1,17 @@
/*
File: DateTimeUtils.h
-
+
Contains: International Date and Time Interfaces (previously in TextUtils)
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DATETIMEUTILS__
#define __DATETIMEUTILS__
@@ -48,797 +48,781 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
-
- Here are the current routine names and the translations to the older forms.
- Please use the newer forms in all new code and migrate the older names out of existing
- code as maintainance permits.
-
- New Name Old Name(s)
-
- DateString IUDatePString IUDateString
- InitDateCache
- LongDateString IULDateString
- LongTimeString IULTimeString
- StringToDate String2Date
- StringToTime
- TimeString IUTimeString IUTimePString
- LongDateToSeconds LongDate2Secs
- LongSecondsToDate LongSecs2Date
- DateToSeconds Date2Secs
- SecondsToDate Secs2Date
-
-
- Carbon only supports the new names. The old names are undefined for Carbon targets.
- This is true for C, Assembly and Pascal.
-
- InterfaceLib always has exported the old names. For C macros have been defined to allow
- the use of the new names. For Pascal and Assembly using the new names will result
- in link errors.
-
- */
-
- typedef SInt16 ToggleResults;
- enum
- {
- /* Toggle results */
- toggleUndefined = 0,
- toggleOK = 1,
- toggleBadField = 2,
- toggleBadDelta = 3,
- toggleBadChar = 4,
- toggleUnknown = 5,
- toggleBadNum = 6,
- toggleOutOfRange = 7, /*synonym for toggleErr3*/
- toggleErr3 = 7,
- toggleErr4 = 8,
- toggleErr5 = 9
- };
-
- enum
- {
- /* Date equates */
- smallDateBit = 31, /*Restrict valid date/time to range of Time global*/
- togChar12HourBit = 30, /*If toggling hour by char, accept hours 1..12 only*/
- togCharZCycleBit = 29, /*Modifier for togChar12HourBit: accept hours 0..11 only*/
- togDelta12HourBit = 28, /*If toggling hour up/down, restrict to 12-hour range (am/pm)*/
- genCdevRangeBit = 27, /*Restrict date/time to range used by genl CDEV*/
- validDateFields = -1,
- maxDateField = 10
- };
-
- enum
- {
- eraMask = 0x0001,
- yearMask = 0x0002,
- monthMask = 0x0004,
- dayMask = 0x0008,
- hourMask = 0x0010,
- minuteMask = 0x0020,
- secondMask = 0x0040,
- dayOfWeekMask = 0x0080,
- dayOfYearMask = 0x0100,
- weekOfYearMask = 0x0200,
- pmMask = 0x0400,
- dateStdMask = 0x007F /*default for ValidDate flags and ToggleDate TogglePB.togFlags*/
- };
-
- typedef SInt8 LongDateField;
- enum
- {
- eraField = 0,
- yearField = 1,
- monthField = 2,
- dayField = 3,
- hourField = 4,
- minuteField = 5,
- secondField = 6,
- dayOfWeekField = 7,
- dayOfYearField = 8,
- weekOfYearField = 9,
- pmField = 10,
- res1Field = 11,
- res2Field = 12,
- res3Field = 13
- };
-
- typedef SInt8 DateForm;
- enum
- {
- shortDate = 0,
- longDate = 1,
- abbrevDate = 2
- };
-
- enum
- {
- /* StringToDate status values */
- fatalDateTime = 0x8000, /* StringToDate and String2Time mask to a fatal error */
- longDateFound = 1, /* StringToDate mask to long date found */
- leftOverChars = 2, /* StringToDate & Time mask to warn of left over characters */
- sepNotIntlSep = 4, /* StringToDate & Time mask to warn of non-standard separators */
- fieldOrderNotIntl = 8, /* StringToDate & Time mask to warn of non-standard field order */
- extraneousStrings = 16, /* StringToDate & Time mask to warn of unparsable strings in text */
- tooManySeps = 32, /* StringToDate & Time mask to warn of too many separators */
- sepNotConsistent = 64, /* StringToDate & Time mask to warn of inconsistent separators */
- tokenErr = 0x8100, /* StringToDate & Time mask for 'tokenizer err encountered' */
- cantReadUtilities = 0x8200,
- dateTimeNotFound = 0x8400,
- dateTimeInvalid = 0x8800
- };
-
- typedef short StringToDateStatus;
- typedef StringToDateStatus String2DateStatus;
- struct DateCacheRecord
- {
- short hidden[256]; /* only for temporary use */
- };
- typedef struct DateCacheRecord DateCacheRecord;
- typedef DateCacheRecord * DateCachePtr;
- struct DateTimeRec
- {
- short year;
- short month;
- short day;
- short hour;
- short minute;
- short second;
- short dayOfWeek;
- };
- typedef struct DateTimeRec DateTimeRec;
-
- typedef SInt64 LongDateTime;
+/*
+
+ Here are the current routine names and the translations to the older forms.
+ Please use the newer forms in all new code and migrate the older names out of existing
+ code as maintainance permits.
+
+ New Name Old Name(s)
+
+ DateString IUDatePString IUDateString
+ InitDateCache
+ LongDateString IULDateString
+ LongTimeString IULTimeString
+ StringToDate String2Date
+ StringToTime
+ TimeString IUTimeString IUTimePString
+ LongDateToSeconds LongDate2Secs
+ LongSecondsToDate LongSecs2Date
+ DateToSeconds Date2Secs
+ SecondsToDate Secs2Date
+
+
+ Carbon only supports the new names. The old names are undefined for Carbon targets.
+ This is true for C, Assembly and Pascal.
+
+ InterfaceLib always has exported the old names. For C macros have been defined to allow
+ the use of the new names. For Pascal and Assembly using the new names will result
+ in link errors.
+
+*/
+
+typedef SInt16 ToggleResults;
+enum {
+ /* Toggle results */
+ toggleUndefined = 0,
+ toggleOK = 1,
+ toggleBadField = 2,
+ toggleBadDelta = 3,
+ toggleBadChar = 4,
+ toggleUnknown = 5,
+ toggleBadNum = 6,
+ toggleOutOfRange = 7, /*synonym for toggleErr3*/
+ toggleErr3 = 7,
+ toggleErr4 = 8,
+ toggleErr5 = 9
+};
+
+enum {
+ /* Date equates */
+ smallDateBit = 31, /*Restrict valid date/time to range of Time global*/
+ togChar12HourBit = 30, /*If toggling hour by char, accept hours 1..12 only*/
+ togCharZCycleBit = 29, /*Modifier for togChar12HourBit: accept hours 0..11 only*/
+ togDelta12HourBit = 28, /*If toggling hour up/down, restrict to 12-hour range (am/pm)*/
+ genCdevRangeBit = 27, /*Restrict date/time to range used by genl CDEV*/
+ validDateFields = -1,
+ maxDateField = 10
+};
+
+enum {
+ eraMask = 0x0001,
+ yearMask = 0x0002,
+ monthMask = 0x0004,
+ dayMask = 0x0008,
+ hourMask = 0x0010,
+ minuteMask = 0x0020,
+ secondMask = 0x0040,
+ dayOfWeekMask = 0x0080,
+ dayOfYearMask = 0x0100,
+ weekOfYearMask = 0x0200,
+ pmMask = 0x0400,
+ dateStdMask = 0x007F /*default for ValidDate flags and ToggleDate TogglePB.togFlags*/
+};
+
+typedef SInt8 LongDateField;
+enum {
+ eraField = 0,
+ yearField = 1,
+ monthField = 2,
+ dayField = 3,
+ hourField = 4,
+ minuteField = 5,
+ secondField = 6,
+ dayOfWeekField = 7,
+ dayOfYearField = 8,
+ weekOfYearField = 9,
+ pmField = 10,
+ res1Field = 11,
+ res2Field = 12,
+ res3Field = 13
+};
+
+typedef SInt8 DateForm;
+enum {
+ shortDate = 0,
+ longDate = 1,
+ abbrevDate = 2
+};
+
+enum {
+ /* StringToDate status values */
+ fatalDateTime = 0x8000, /* StringToDate and String2Time mask to a fatal error */
+ longDateFound = 1, /* StringToDate mask to long date found */
+ leftOverChars = 2, /* StringToDate & Time mask to warn of left over characters */
+ sepNotIntlSep = 4, /* StringToDate & Time mask to warn of non-standard separators */
+ fieldOrderNotIntl = 8, /* StringToDate & Time mask to warn of non-standard field order */
+ extraneousStrings = 16, /* StringToDate & Time mask to warn of unparsable strings in text */
+ tooManySeps = 32, /* StringToDate & Time mask to warn of too many separators */
+ sepNotConsistent = 64, /* StringToDate & Time mask to warn of inconsistent separators */
+ tokenErr = 0x8100, /* StringToDate & Time mask for 'tokenizer err encountered' */
+ cantReadUtilities = 0x8200,
+ dateTimeNotFound = 0x8400,
+ dateTimeInvalid = 0x8800
+};
+
+typedef short StringToDateStatus;
+typedef StringToDateStatus String2DateStatus;
+struct DateCacheRecord {
+ short hidden[256]; /* only for temporary use */
+};
+typedef struct DateCacheRecord DateCacheRecord;
+typedef DateCacheRecord * DateCachePtr;
+struct DateTimeRec {
+ short year;
+ short month;
+ short day;
+ short hour;
+ short minute;
+ short second;
+ short dayOfWeek;
+};
+typedef struct DateTimeRec DateTimeRec;
+
+typedef SInt64 LongDateTime;
#if TARGET_RT_BIG_ENDIAN
- union LongDateCvt
- {
- SInt64 c;
- struct
- {
- UInt32 lHigh;
- UInt32 lLow;
- } hl;
- };
- typedef union LongDateCvt LongDateCvt;
+union LongDateCvt {
+ SInt64 c;
+ struct {
+ UInt32 lHigh;
+ UInt32 lLow;
+ } hl;
+};
+typedef union LongDateCvt LongDateCvt;
#else
- union LongDateCvt
- {
- SInt64 c;
- struct
- {
- UInt32 lLow;
- UInt32 lHigh;
- } hl;
- };
- typedef union LongDateCvt LongDateCvt;
+union LongDateCvt {
+ SInt64 c;
+ struct {
+ UInt32 lLow;
+ UInt32 lHigh;
+ } hl;
+};
+typedef union LongDateCvt LongDateCvt;
#endif /* TARGET_RT_BIG_ENDIAN */
- union LongDateRec
- {
- struct
- {
- short era;
- short year;
- short month;
- short day;
- short hour;
- short minute;
- short second;
- short dayOfWeek;
- short dayOfYear;
- short weekOfYear;
- short pm;
- short res1;
- short res2;
- short res3;
- } ld;
- short list[14]; /*Index by LongDateField!*/
- struct
- {
- short eraAlt;
- DateTimeRec oldDate;
- } od;
- };
- typedef union LongDateRec LongDateRec;
-
- typedef SInt8 DateDelta;
- struct TogglePB
- {
- long togFlags; /*caller normally sets low word to dateStdMask=$7F*/
- ResType amChars; /*from 'itl0', but uppercased*/
- ResType pmChars; /*from 'itl0', but uppercased*/
- long reserved[4];
- };
- typedef struct TogglePB TogglePB;
- /*
- Conversion utilities between CF and Carbon time types.
- */
- /*
- * UCConvertUTCDateTimeToCFAbsoluteTime()
- *
- * Discussion:
- * Use UCConvertUTCDateTimeToCFAbsoluteTime to convert from a
- * UTCDDateTime to a CFAbsoluteTime. Remember that the epoch for
- * UTCDateTime is January 1, 1904 while the epoch for CFAbsoluteTime
- * is January 1, 2001.
- *
- * Parameters:
- *
- * iUTCDate:
- * A pointer to a UTCDateTime struct that represents the time you
- * wish to convert from.
- *
- * oCFTime:
- * A pointer to a CFAbsoluteTime. On successful return, this will
- * contain the converted time from the input time type.
- *
- * Result:
- * A result code indicating whether or not conversion was successful.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- UCConvertUTCDateTimeToCFAbsoluteTime(
- const UTCDateTime * iUTCDate,
- CFAbsoluteTime * oCFTime);
-
-
- /*
- * UCConvertSecondsToCFAbsoluteTime()
- *
- * Discussion:
- * Use UCConvertSecondsToCFAbsoluteTime to convert from the normal
- * seconds representation of time to a CFAbsoluteTime. Remember that
- * the epoch for seconds is January 1, 1904 while the epoch for
- * CFAbsoluteTime is January 1, 2001.
- *
- * Parameters:
- *
- * iSeconds:
- * A UInt32 value that represents the time you wish to convert
- * from.
- *
- * oCFTime:
- * A pointer to a CFAbsoluteTime. On successful return, this will
- * contain the converted time from the input time type.
- *
- * Result:
- * A result code indicating whether or not conversion was successful.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- UCConvertSecondsToCFAbsoluteTime(
- UInt32 iSeconds,
- CFAbsoluteTime * oCFTime);
-
-
- /*
- * UCConvertLongDateTimeToCFAbsoluteTime()
- *
- * Discussion:
- * Use UCConvertLongDateTimeToCFAbsoluteTime to convert from a
- * LongDateTime to a CFAbsoluteTime. Remember that the epoch for
- * LongDateTime is January 1, 1904 while the epoch for
- * CFAbsoluteTime is January 1, 2001.
- *
- * Parameters:
- *
- * iLongTime:
- * A LongDateTime value that represents the time you wish to
- * convert from.
- *
- * oCFTime:
- * A pointer to a CFAbsoluteTime. On successful return, this will
- * contain the converted time from the input time type.
- *
- * Result:
- * A result code indicating whether or not conversion was successful.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- UCConvertLongDateTimeToCFAbsoluteTime(
- LongDateTime iLongTime,
- CFAbsoluteTime * oCFTime);
-
-
- /*
- * UCConvertCFAbsoluteTimeToUTCDateTime()
- *
- * Discussion:
- * Use UCConvertCFAbsoluteTimeToUTCDateTime to convert from a
- * CFAbsoluteTime to a UTCDateTime. Remember that the epoch for
- * UTCDateTime is January 1, 1904 while the epoch for CFAbsoluteTime
- * is January 1, 2001.
- *
- * Parameters:
- *
- * iCFTime:
- * A CFAbsoluteTime value that represents the time you wish to
- * convert from.
- *
- * oUTCDate:
- * A pointer to a UTCDateTime. On successful return, this will
- * contain the converted time from the CFAbsoluteTime input.
- *
- * Result:
- * A result code indicating whether or not conversion was successful.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- UCConvertCFAbsoluteTimeToUTCDateTime(
- CFAbsoluteTime iCFTime,
- UTCDateTime * oUTCDate);
-
-
- /*
- * UCConvertCFAbsoluteTimeToSeconds()
- *
- * Discussion:
- * Use UCConvertCFAbsoluteTimeToSeconds to convert from a
- * CFAbsoluteTime to a UInt32 representation of seconds. Remember
- * that the epoch for seconds is January 1, 1904 while the epoch for
- * CFAbsoluteTime is January 1, 2001.
- *
- * Parameters:
- *
- * iCFTime:
- * A CFAbsoluteTime value that represents the time you wish to
- * convert from.
- *
- * oSeconds:
- * A pointer to a UInt32. On successful return, this will contain
- * the converted time from the CFAbsoluteTime input.
- *
- * Result:
- * A result code indicating whether or not conversion was successful.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- UCConvertCFAbsoluteTimeToSeconds(
- CFAbsoluteTime iCFTime,
- UInt32 * oSeconds);
-
-
- /*
- * UCConvertCFAbsoluteTimeToLongDateTime()
- *
- * Discussion:
- * Use UCConvertCFAbsoluteTimeToLongDateTime to convert from a
- * CFAbsoluteTime to a LongDateTime. Remember that the epoch for
- * LongDateTime is January 1, 1904 while the epoch for
- * CFAbsoluteTime is January 1, 2001.
- *
- * Parameters:
- *
- * iCFTime:
- * A CFAbsoluteTime value that represents the time you wish to
- * convert from.
- *
- * oLongDate:
- * A pointer to a LongDateTime. On successful return, this will
- * contain the converted time from the CFAbsoluteTime input.
- *
- * Result:
- * A result code indicating whether or not conversion was successful.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- UCConvertCFAbsoluteTimeToLongDateTime(
- CFAbsoluteTime iCFTime,
- LongDateTime * oLongDate);
-
-
-
- /*
- These routine are available in Carbon with their new name
- */
- /*
- * DateString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DateString(
- long dateTime,
- DateForm longFlag,
- Str255 result,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x000E, 0xA9ED);
-
-
- /*
- * TimeString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TimeString(
- long dateTime,
- Boolean wantSeconds,
- Str255 result,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0010, 0xA9ED);
-
-
- /*
- * LongDateString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LongDateString(
- const LongDateTime * dateTime,
- DateForm longFlag,
- Str255 result,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0014, 0xA9ED);
-
-
- /*
- * LongTimeString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LongTimeString(
- const LongDateTime * dateTime,
- Boolean wantSeconds,
- Str255 result,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0016, 0xA9ED);
-
-
-
- /*
- These routine are available in Carbon and InterfaceLib with their new name
- */
- /*
- * InitDateCache()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- InitDateCache(DateCachePtr theCache) FOURWORDINLINE(0x2F3C, 0x8204, 0xFFF8, 0xA8B5);
-
-
- /*
- * StringToDate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringToDateStatus)
- StringToDate(
- Ptr textPtr,
- long textLen,
- DateCachePtr theCache,
- long * lengthUsed,
- LongDateRec * dateTime) FOURWORDINLINE(0x2F3C, 0x8214, 0xFFF6, 0xA8B5);
-
-
- /*
- * StringToTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringToDateStatus)
- StringToTime(
- Ptr textPtr,
- long textLen,
- DateCachePtr theCache,
- long * lengthUsed,
- LongDateRec * dateTime) FOURWORDINLINE(0x2F3C, 0x8214, 0xFFF4, 0xA8B5);
-
-
- /*
- * LongDateToSeconds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LongDateToSeconds(
- const LongDateRec * lDate,
- LongDateTime * lSecs) FOURWORDINLINE(0x2F3C, 0x8008, 0xFFF2, 0xA8B5);
-
-
- /*
- * LongSecondsToDate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LongSecondsToDate(
- const LongDateTime * lSecs,
- LongDateRec * lDate) FOURWORDINLINE(0x2F3C, 0x8008, 0xFFF0, 0xA8B5);
-
-
- /*
- * ToggleDate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ToggleResults)
- ToggleDate(
- LongDateTime * lSecs,
- LongDateField field,
- DateDelta delta,
- short ch,
- const TogglePB * params) FOURWORDINLINE(0x2F3C, 0x820E, 0xFFEE, 0xA8B5);
-
-
- /*
- * ValidDate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- ValidDate(
- const LongDateRec * vDate,
- long flags,
- LongDateTime * newSecs) FOURWORDINLINE(0x2F3C, 0x820C, 0xFFE4, 0xA8B5);
-
-
- /*
- * ReadDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+union LongDateRec {
+ struct {
+ short era;
+ short year;
+ short month;
+ short day;
+ short hour;
+ short minute;
+ short second;
+ short dayOfWeek;
+ short dayOfYear;
+ short weekOfYear;
+ short pm;
+ short res1;
+ short res2;
+ short res3;
+ } ld;
+ short list[14]; /*Index by LongDateField!*/
+ struct {
+ short eraAlt;
+ DateTimeRec oldDate;
+ } od;
+};
+typedef union LongDateRec LongDateRec;
+
+typedef SInt8 DateDelta;
+struct TogglePB {
+ long togFlags; /*caller normally sets low word to dateStdMask=$7F*/
+ ResType amChars; /*from 'itl0', but uppercased*/
+ ResType pmChars; /*from 'itl0', but uppercased*/
+ long reserved[4];
+};
+typedef struct TogglePB TogglePB;
+/*
+ Conversion utilities between CF and Carbon time types.
+*/
+/*
+ * UCConvertUTCDateTimeToCFAbsoluteTime()
+ *
+ * Discussion:
+ * Use UCConvertUTCDateTimeToCFAbsoluteTime to convert from a
+ * UTCDDateTime to a CFAbsoluteTime. Remember that the epoch for
+ * UTCDateTime is January 1, 1904 while the epoch for CFAbsoluteTime
+ * is January 1, 2001.
+ *
+ * Parameters:
+ *
+ * iUTCDate:
+ * A pointer to a UTCDateTime struct that represents the time you
+ * wish to convert from.
+ *
+ * oCFTime:
+ * A pointer to a CFAbsoluteTime. On successful return, this will
+ * contain the converted time from the input time type.
+ *
+ * Result:
+ * A result code indicating whether or not conversion was successful.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+UCConvertUTCDateTimeToCFAbsoluteTime(
+ const UTCDateTime * iUTCDate,
+ CFAbsoluteTime * oCFTime);
+
+
+/*
+ * UCConvertSecondsToCFAbsoluteTime()
+ *
+ * Discussion:
+ * Use UCConvertSecondsToCFAbsoluteTime to convert from the normal
+ * seconds representation of time to a CFAbsoluteTime. Remember that
+ * the epoch for seconds is January 1, 1904 while the epoch for
+ * CFAbsoluteTime is January 1, 2001.
+ *
+ * Parameters:
+ *
+ * iSeconds:
+ * A UInt32 value that represents the time you wish to convert
+ * from.
+ *
+ * oCFTime:
+ * A pointer to a CFAbsoluteTime. On successful return, this will
+ * contain the converted time from the input time type.
+ *
+ * Result:
+ * A result code indicating whether or not conversion was successful.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+UCConvertSecondsToCFAbsoluteTime(
+ UInt32 iSeconds,
+ CFAbsoluteTime * oCFTime);
+
+
+/*
+ * UCConvertLongDateTimeToCFAbsoluteTime()
+ *
+ * Discussion:
+ * Use UCConvertLongDateTimeToCFAbsoluteTime to convert from a
+ * LongDateTime to a CFAbsoluteTime. Remember that the epoch for
+ * LongDateTime is January 1, 1904 while the epoch for
+ * CFAbsoluteTime is January 1, 2001.
+ *
+ * Parameters:
+ *
+ * iLongTime:
+ * A LongDateTime value that represents the time you wish to
+ * convert from.
+ *
+ * oCFTime:
+ * A pointer to a CFAbsoluteTime. On successful return, this will
+ * contain the converted time from the input time type.
+ *
+ * Result:
+ * A result code indicating whether or not conversion was successful.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+UCConvertLongDateTimeToCFAbsoluteTime(
+ LongDateTime iLongTime,
+ CFAbsoluteTime * oCFTime);
+
+
+/*
+ * UCConvertCFAbsoluteTimeToUTCDateTime()
+ *
+ * Discussion:
+ * Use UCConvertCFAbsoluteTimeToUTCDateTime to convert from a
+ * CFAbsoluteTime to a UTCDateTime. Remember that the epoch for
+ * UTCDateTime is January 1, 1904 while the epoch for CFAbsoluteTime
+ * is January 1, 2001.
+ *
+ * Parameters:
+ *
+ * iCFTime:
+ * A CFAbsoluteTime value that represents the time you wish to
+ * convert from.
+ *
+ * oUTCDate:
+ * A pointer to a UTCDateTime. On successful return, this will
+ * contain the converted time from the CFAbsoluteTime input.
+ *
+ * Result:
+ * A result code indicating whether or not conversion was successful.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+UCConvertCFAbsoluteTimeToUTCDateTime(
+ CFAbsoluteTime iCFTime,
+ UTCDateTime * oUTCDate);
+
+
+/*
+ * UCConvertCFAbsoluteTimeToSeconds()
+ *
+ * Discussion:
+ * Use UCConvertCFAbsoluteTimeToSeconds to convert from a
+ * CFAbsoluteTime to a UInt32 representation of seconds. Remember
+ * that the epoch for seconds is January 1, 1904 while the epoch for
+ * CFAbsoluteTime is January 1, 2001.
+ *
+ * Parameters:
+ *
+ * iCFTime:
+ * A CFAbsoluteTime value that represents the time you wish to
+ * convert from.
+ *
+ * oSeconds:
+ * A pointer to a UInt32. On successful return, this will contain
+ * the converted time from the CFAbsoluteTime input.
+ *
+ * Result:
+ * A result code indicating whether or not conversion was successful.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+UCConvertCFAbsoluteTimeToSeconds(
+ CFAbsoluteTime iCFTime,
+ UInt32 * oSeconds);
+
+
+/*
+ * UCConvertCFAbsoluteTimeToLongDateTime()
+ *
+ * Discussion:
+ * Use UCConvertCFAbsoluteTimeToLongDateTime to convert from a
+ * CFAbsoluteTime to a LongDateTime. Remember that the epoch for
+ * LongDateTime is January 1, 1904 while the epoch for
+ * CFAbsoluteTime is January 1, 2001.
+ *
+ * Parameters:
+ *
+ * iCFTime:
+ * A CFAbsoluteTime value that represents the time you wish to
+ * convert from.
+ *
+ * oLongDate:
+ * A pointer to a LongDateTime. On successful return, this will
+ * contain the converted time from the CFAbsoluteTime input.
+ *
+ * Result:
+ * A result code indicating whether or not conversion was successful.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+UCConvertCFAbsoluteTimeToLongDateTime(
+ CFAbsoluteTime iCFTime,
+ LongDateTime * oLongDate);
+
+
+
+/*
+ These routine are available in Carbon with their new name
+*/
+/*
+ * DateString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DateString(
+ long dateTime,
+ DateForm longFlag,
+ Str255 result,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x000E, 0xA9ED);
+
+
+/*
+ * TimeString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TimeString(
+ long dateTime,
+ Boolean wantSeconds,
+ Str255 result,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0010, 0xA9ED);
+
+
+/*
+ * LongDateString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LongDateString(
+ const LongDateTime * dateTime,
+ DateForm longFlag,
+ Str255 result,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0014, 0xA9ED);
+
+
+/*
+ * LongTimeString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LongTimeString(
+ const LongDateTime * dateTime,
+ Boolean wantSeconds,
+ Str255 result,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0016, 0xA9ED);
+
+
+
+/*
+ These routine are available in Carbon and InterfaceLib with their new name
+*/
+/*
+ * InitDateCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+InitDateCache(DateCachePtr theCache) FOURWORDINLINE(0x2F3C, 0x8204, 0xFFF8, 0xA8B5);
+
+
+/*
+ * StringToDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringToDateStatus )
+StringToDate(
+ Ptr textPtr,
+ long textLen,
+ DateCachePtr theCache,
+ long * lengthUsed,
+ LongDateRec * dateTime) FOURWORDINLINE(0x2F3C, 0x8214, 0xFFF6, 0xA8B5);
+
+
+/*
+ * StringToTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringToDateStatus )
+StringToTime(
+ Ptr textPtr,
+ long textLen,
+ DateCachePtr theCache,
+ long * lengthUsed,
+ LongDateRec * dateTime) FOURWORDINLINE(0x2F3C, 0x8214, 0xFFF4, 0xA8B5);
+
+
+/*
+ * LongDateToSeconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LongDateToSeconds(
+ const LongDateRec * lDate,
+ LongDateTime * lSecs) FOURWORDINLINE(0x2F3C, 0x8008, 0xFFF2, 0xA8B5);
+
+
+/*
+ * LongSecondsToDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LongSecondsToDate(
+ const LongDateTime * lSecs,
+ LongDateRec * lDate) FOURWORDINLINE(0x2F3C, 0x8008, 0xFFF0, 0xA8B5);
+
+
+/*
+ * ToggleDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ToggleResults )
+ToggleDate(
+ LongDateTime * lSecs,
+ LongDateField field,
+ DateDelta delta,
+ short ch,
+ const TogglePB * params) FOURWORDINLINE(0x2F3C, 0x820E, 0xFFEE, 0xA8B5);
+
+
+/*
+ * ValidDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+ValidDate(
+ const LongDateRec * vDate,
+ long flags,
+ LongDateTime * newSecs) FOURWORDINLINE(0x2F3C, 0x820C, 0xFFE4, 0xA8B5);
+
+
+/*
+ * ReadDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 ReadDateTime(__A0)
#endif
- EXTERN_API(OSErr)
- ReadDateTime(unsigned long * time) ONEWORDINLINE(0xA039);
-
-
- /*
- * GetDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+ReadDateTime(unsigned long * time) ONEWORDINLINE(0xA039);
+
+
+/*
+ * GetDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter GetDateTime(__A0)
#endif
- EXTERN_API(void)
- GetDateTime(unsigned long * secs) TWOWORDINLINE(0x20B8, 0x020C);
-
-
- /*
- * SetDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+GetDateTime(unsigned long * secs) TWOWORDINLINE(0x20B8, 0x020C);
+
+
+/*
+ * SetDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SetDateTime(__D0)
#endif
- EXTERN_API(OSErr)
- SetDateTime(unsigned long time) ONEWORDINLINE(0xA03A);
-
-
- /*
- * SetTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+SetDateTime(unsigned long time) ONEWORDINLINE(0xA03A);
+
+
+/*
+ * SetTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetTime(__A0)
#endif
- EXTERN_API(void)
- SetTime(const DateTimeRec * d) TWOWORDINLINE(0xA9C7, 0xA03A);
-
-
- /*
- * GetTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+SetTime(const DateTimeRec * d) TWOWORDINLINE(0xA9C7, 0xA03A);
+
+
+/*
+ * GetTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter GetTime(__A0)
#endif
- EXTERN_API(void)
- GetTime(DateTimeRec * d) THREEWORDINLINE(0x2038, 0x020C, 0xA9C6);
-
-
- /*
- * DateToSeconds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DateToSeconds(
- const DateTimeRec * d,
- unsigned long * secs);
-
-
- /*
- * SecondsToDate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+GetTime(DateTimeRec * d) THREEWORDINLINE(0x2038, 0x020C, 0xA9C6);
+
+
+/*
+ * DateToSeconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DateToSeconds(
+ const DateTimeRec * d,
+ unsigned long * secs);
+
+
+/*
+ * SecondsToDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SecondsToDate(__D0, __A0)
#endif
- EXTERN_API(void)
- SecondsToDate(
- unsigned long secs,
- DateTimeRec * d) ONEWORDINLINE(0xA9C6);
+EXTERN_API( void )
+SecondsToDate(
+ unsigned long secs,
+ DateTimeRec * d) ONEWORDINLINE(0xA9C6);
- /*
- These routine are available in InterfaceLib using their old name.
- Macros allow using the new names in all source code.
- */
+/*
+ These routine are available in InterfaceLib using their old name.
+ Macros allow using the new names in all source code.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * IUDateString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- IUDateString(
- long dateTime,
- DateForm longFlag,
- Str255 result) TWOWORDINLINE(0x4267, 0xA9ED);
-
-
- /*
- * IUTimeString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- IUTimeString(
- long dateTime,
- Boolean wantSeconds,
- Str255 result) THREEWORDINLINE(0x3F3C, 0x0002, 0xA9ED);
-
-
- /*
- * IUDatePString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- IUDatePString(
- long dateTime,
- DateForm longFlag,
- Str255 result,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x000E, 0xA9ED);
-
-
- /*
- * IUTimePString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- IUTimePString(
- long dateTime,
- Boolean wantSeconds,
- Str255 result,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0010, 0xA9ED);
-
-
- /*
- * IULDateString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- IULDateString(
- LongDateTime * dateTime,
- DateForm longFlag,
- Str255 result,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0014, 0xA9ED);
-
-
- /*
- * IULTimeString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- IULTimeString(
- LongDateTime * dateTime,
- Boolean wantSeconds,
- Str255 result,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0016, 0xA9ED);
+/*
+ * IUDateString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+IUDateString(
+ long dateTime,
+ DateForm longFlag,
+ Str255 result) TWOWORDINLINE(0x4267, 0xA9ED);
+
+
+/*
+ * IUTimeString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+IUTimeString(
+ long dateTime,
+ Boolean wantSeconds,
+ Str255 result) THREEWORDINLINE(0x3F3C, 0x0002, 0xA9ED);
+
+
+/*
+ * IUDatePString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+IUDatePString(
+ long dateTime,
+ DateForm longFlag,
+ Str255 result,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x000E, 0xA9ED);
+
+
+/*
+ * IUTimePString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+IUTimePString(
+ long dateTime,
+ Boolean wantSeconds,
+ Str255 result,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0010, 0xA9ED);
+
+
+/*
+ * IULDateString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+IULDateString(
+ LongDateTime * dateTime,
+ DateForm longFlag,
+ Str255 result,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0014, 0xA9ED);
+
+
+/*
+ * IULTimeString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+IULTimeString(
+ LongDateTime * dateTime,
+ Boolean wantSeconds,
+ Str255 result,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0016, 0xA9ED);
@@ -866,98 +850,98 @@ extern "C" {
#endif /* OLDROUTINENAMES */
#if CALL_NOT_IN_CARBON
- /*
- * iudatestring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- iudatestring(
- long dateTime,
- DateForm longFlag,
- char * result);
-
-
- /*
- * iudatepstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- iudatepstring(
- long dateTime,
- DateForm longFlag,
- char * result,
- Handle intlHandle);
-
-
- /*
- * iutimestring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- iutimestring(
- long dateTime,
- Boolean wantSeconds,
- char * result);
-
-
- /*
- * iutimepstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- iutimepstring(
- long dateTime,
- Boolean wantSeconds,
- char * result,
- Handle intlHandle);
-
-
- /*
- * iuldatestring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- iuldatestring(
- LongDateTime * dateTime,
- DateForm longFlag,
- char * result,
- Handle intlHandle);
-
-
- /*
- * iultimestring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- iultimestring(
- LongDateTime * dateTime,
- Boolean wantSeconds,
- char * result,
- Handle intlHandle);
+/*
+ * iudatestring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+iudatestring(
+ long dateTime,
+ DateForm longFlag,
+ char * result);
+
+
+/*
+ * iudatepstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+iudatepstring(
+ long dateTime,
+ DateForm longFlag,
+ char * result,
+ Handle intlHandle);
+
+
+/*
+ * iutimestring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+iutimestring(
+ long dateTime,
+ Boolean wantSeconds,
+ char * result);
+
+
+/*
+ * iutimepstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+iutimepstring(
+ long dateTime,
+ Boolean wantSeconds,
+ char * result,
+ Handle intlHandle);
+
+
+/*
+ * iuldatestring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+iuldatestring(
+ LongDateTime * dateTime,
+ DateForm longFlag,
+ char * result,
+ Handle intlHandle);
+
+
+/*
+ * iultimestring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+iultimestring(
+ LongDateTime * dateTime,
+ Boolean wantSeconds,
+ char * result,
+ Handle intlHandle);
#endif /* CALL_NOT_IN_CARBON */
@@ -967,11 +951,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Debugging.h b/include/qt/Debugging.h
index 5c540090c..81107a3aa 100644
--- a/include/qt/Debugging.h
+++ b/include/qt/Debugging.h
@@ -1,17 +1,17 @@
/*
File: Debugging.h
-
+
Contains: Macros to handle exceptions and assertions.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DEBUGGING__
#define __DEBUGGING__
@@ -47,91 +47,91 @@ extern "C" {
#pragma import on
#endif
- /*
- This file supplies standard debugging routines and macros to Carbon and
- Classic Mac OS programs. Other C programs which wish to use the
- exception handling and assertion macros should include AssertMacros.h
- instead of this file.
-
- To activate debugger breaks, #define DEBUG to 1 (one) before including this
- file. Five further levels of debugging are available, selected by #defining
- one of the following conditionals to 1 after DEBUG is defined to 1.
-
- DEBUG_INTERNAL the default; asserts include file and line number
- information
-
- DEBUG_EXTERNAL used for code which must ship to developers outside
- your organization; no file or line number
- information is included in asserts
-
- DEBUG_BREAK_ONLY where an assertion string would normally be sent to
- the debugger; call Debugger() instead.
-
- PRODUCTION used for shipping code; no debugger breaks are
- emitted
-
- PERFORMANCE same as PRODUCTION
-
- #defining DEBUG to 0 is equivalent to #defining PRODUCTION 1 when
- DEBUG is 1. (No code for debugger breaks is emitted in either case.)
-
- #defining DEBUG to 1 without specifying a level is equivalent to #defining
- DEBUG_INTERNAL 1.
-
- In addition, these macros should also be #defined (they are described in detail below):
- kComponentSignatureString
- COMPONENT_SIGNATURE
- */
- /*
- * Before including this file, #define kComponentSignatureString to a C-string
- * containing the name of your client and #define COMPONENT_SIGNATURE to your
- * client's unique signature (i.e., your program's registered creator type).
- * For example:
- *
- * #define kComponentSignatureString "SurfWriter"
- * #define COMPONENT_SIGNATURE 'WAVE'
- *
- * If you don't define kComponentSignatureString and COMPONENT_SIGNATURE, the
- * default kComponentSignatureString and COMPONENT_SIGNATURE values will be
- * used by the DEBUGASSERTMSG macros below.
- */
+/*
+ This file supplies standard debugging routines and macros to Carbon and
+ Classic Mac OS programs. Other C programs which wish to use the
+ exception handling and assertion macros should include AssertMacros.h
+ instead of this file.
+
+ To activate debugger breaks, #define DEBUG to 1 (one) before including this
+ file. Five further levels of debugging are available, selected by #defining
+ one of the following conditionals to 1 after DEBUG is defined to 1.
+
+ DEBUG_INTERNAL the default; asserts include file and line number
+ information
+
+ DEBUG_EXTERNAL used for code which must ship to developers outside
+ your organization; no file or line number
+ information is included in asserts
+
+ DEBUG_BREAK_ONLY where an assertion string would normally be sent to
+ the debugger; call Debugger() instead.
+
+ PRODUCTION used for shipping code; no debugger breaks are
+ emitted
+
+ PERFORMANCE same as PRODUCTION
+
+ #defining DEBUG to 0 is equivalent to #defining PRODUCTION 1 when
+ DEBUG is 1. (No code for debugger breaks is emitted in either case.)
+
+ #defining DEBUG to 1 without specifying a level is equivalent to #defining
+ DEBUG_INTERNAL 1.
+
+ In addition, these macros should also be #defined (they are described in detail below):
+ kComponentSignatureString
+ COMPONENT_SIGNATURE
+*/
+/*
+ * Before including this file, #define kComponentSignatureString to a C-string
+ * containing the name of your client and #define COMPONENT_SIGNATURE to your
+ * client's unique signature (i.e., your program's registered creator type).
+ * For example:
+ *
+ * #define kComponentSignatureString "SurfWriter"
+ * #define COMPONENT_SIGNATURE 'WAVE'
+ *
+ * If you don't define kComponentSignatureString and COMPONENT_SIGNATURE, the
+ * default kComponentSignatureString and COMPONENT_SIGNATURE values will be
+ * used by the DEBUGASSERTMSG macros below.
+ */
#ifndef kComponentSignatureString
-#define kComponentSignatureString "Third Party Client"
+ #define kComponentSignatureString "Third Party Client"
#endif
#ifndef COMPONENT_SIGNATURE
-#define COMPONENT_SIGNATURE '?*?*'
+ #define COMPONENT_SIGNATURE '?*?*'
#endif
#define QuoteExceptionString(x) #x
- /*
- * The DEBUGLEVEL's
- */
+/*
+ * The DEBUGLEVEL's
+ */
#define DEBUG_LEVEL_PRODUCTION 0
#define DEBUG_LEVEL_BREAK_ONLY 1
#define DEBUG_LEVEL_EXTERNAL 3
#define DEBUG_LEVEL_INTERNAL 4
#define DEBUGFULL DEBUG_LEVEL_INTERNAL
- /*
- * define DEBUGLEVEL
- */
+/*
+ * define DEBUGLEVEL
+ */
#if _DEBUG
-#if PRODUCTION
-#define DEBUGLEVEL DEBUG_LEVEL_PRODUCTION
-#elif PERFORMANCE
-#define DEBUGLEVEL DEBUG_LEVEL_PRODUCTION
-#elif DEBUG_BREAK_ONLY
-#define DEBUGLEVEL DEBUG_LEVEL_BREAK_ONLY
-#elif DEBUG_EXTERNAL
-#define DEBUGLEVEL DEBUG_LEVEL_EXTERNAL
-#elif DEBUG_INTERNAL
-#define DEBUGLEVEL DEBUG_LEVEL_INTERNAL
-#else
- /* default to DEBUG_LEVEL_INTERNAL */
-#define DEBUGLEVEL DEBUG_LEVEL_INTERNAL
-#endif
+ #if PRODUCTION
+ #define DEBUGLEVEL DEBUG_LEVEL_PRODUCTION
+ #elif PERFORMANCE
+ #define DEBUGLEVEL DEBUG_LEVEL_PRODUCTION
+ #elif DEBUG_BREAK_ONLY
+ #define DEBUGLEVEL DEBUG_LEVEL_BREAK_ONLY
+ #elif DEBUG_EXTERNAL
+ #define DEBUGLEVEL DEBUG_LEVEL_EXTERNAL
+ #elif DEBUG_INTERNAL
+ #define DEBUGLEVEL DEBUG_LEVEL_INTERNAL
+ #else
+ /* default to DEBUG_LEVEL_INTERNAL */
+ #define DEBUGLEVEL DEBUG_LEVEL_INTERNAL
+ #endif
#endif
#ifndef DEBUGLEVEL
#define DEBUGLEVEL DEBUG_LEVEL_PRODUCTION
@@ -139,95 +139,95 @@ extern "C" {
- /*
- * The options parameter to DebugAssert and DEBUGASSERTMSG is currently reserved (must be zero).
- */
+/*
+ * The options parameter to DebugAssert and DEBUGASSERTMSG is currently reserved (must be zero).
+ */
#define DEBUG_NO_OPTIONS 0
- /*
- * DEBUGASSERTMSG()
- *
- * Summary:
- * All error reporting is routed through this macro, which calls the system
- * routine DebugAssert(). If you wish to use your own assertion break
- * routine, you can override DEBUGASSERTMSG by defining it before including
- * this file.
- *
- * Parameters:
- *
- * componentSignature:
- * The unique signature of component causing the assertion.
- *
- * options:
- * reserved.
- *
- * assertionString:
- * A pointer to a string constant containing the assertion.
- * This must be a string constant (and not a string variable or
- * NULL) because the Proeprocessor concatenates it with other
- * string constants
- *
- * exceptionLabelString:
- * A pointer to a string containing the exceptionLabel, or NULL.
- *
- * errorString:
- * A pointer to the error string, or NULL. DEBUGASSERTMSG macros
- * must not attempt to concatenate this string with constant
- * character strings.
- *
- * fileName:
- * A pointer to the fileName or pathname (generated by the
- * preprocessor __FILE__ identifier), or NULL.
- *
- * lineNumber:
- * The line number in the file (generated by the preprocessor
- * __LINE__ identifier), or 0 (zero).
- *
- * value:
- * A value associated with the assertion, or NULL.
- */
+/*
+ * DEBUGASSERTMSG()
+ *
+ * Summary:
+ * All error reporting is routed through this macro, which calls the system
+ * routine DebugAssert(). If you wish to use your own assertion break
+ * routine, you can override DEBUGASSERTMSG by defining it before including
+ * this file.
+ *
+ * Parameters:
+ *
+ * componentSignature:
+ * The unique signature of component causing the assertion.
+ *
+ * options:
+ * reserved.
+ *
+ * assertionString:
+ * A pointer to a string constant containing the assertion.
+ * This must be a string constant (and not a string variable or
+ * NULL) because the Proeprocessor concatenates it with other
+ * string constants
+ *
+ * exceptionLabelString:
+ * A pointer to a string containing the exceptionLabel, or NULL.
+ *
+ * errorString:
+ * A pointer to the error string, or NULL. DEBUGASSERTMSG macros
+ * must not attempt to concatenate this string with constant
+ * character strings.
+ *
+ * fileName:
+ * A pointer to the fileName or pathname (generated by the
+ * preprocessor __FILE__ identifier), or NULL.
+ *
+ * lineNumber:
+ * The line number in the file (generated by the preprocessor
+ * __LINE__ identifier), or 0 (zero).
+ *
+ * value:
+ * A value associated with the assertion, or NULL.
+ */
#ifndef DEBUGASSERTMSG
-#if DEBUGLEVEL == DEBUG_LEVEL_PRODUCTION
- /* no debugger message */
-#define DEBUGASSERTMSG(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value)
-#elif DEBUGLEVEL == DEBUG_LEVEL_BREAK_ONLY
- /* call Debugger() if it is available */
-#define DEBUGASSERTMSG(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value) \
+ #if DEBUGLEVEL == DEBUG_LEVEL_PRODUCTION
+ /* no debugger message */
+ #define DEBUGASSERTMSG(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value)
+ #elif DEBUGLEVEL == DEBUG_LEVEL_BREAK_ONLY
+ /* call Debugger() if it is available */
+ #define DEBUGASSERTMSG(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value) \
Debugger()
-#elif DEBUGLEVEL == DEBUG_LEVEL_EXTERNAL
- /* exclude fileName and lineNumber */
-#define DEBUGASSERTMSG(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value) \
+ #elif DEBUGLEVEL == DEBUG_LEVEL_EXTERNAL
+ /* exclude fileName and lineNumber */
+ #define DEBUGASSERTMSG(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value) \
DebugAssert(componentSignature, options, assertionString, exceptionLabelString, errorString, 0, 0, (void*)value)
-#else
- /* include all info */
-#define DEBUGASSERTMSG(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value) \
+ #else
+ /* include all info */
+ #define DEBUGASSERTMSG(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value) \
DebugAssert(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, (void*)value)
-#endif
+ #endif
#endif
- /*
- * Define the three inputs to AssertMacros.h
- */
+/*
+ * Define the three inputs to AssertMacros.h
+ */
#ifndef DEBUG_ASSERT_COMPONENT_NAME_STRING
-#define DEBUG_ASSERT_COMPONENT_NAME_STRING kComponentSignatureString
+ #define DEBUG_ASSERT_COMPONENT_NAME_STRING kComponentSignatureString
#endif
#ifndef DEBUG_ASSERT_PRODUCTION_CODE
-#define DEBUG_ASSERT_PRODUCTION_CODE (DEBUGLEVEL==0)
+ #define DEBUG_ASSERT_PRODUCTION_CODE (DEBUGLEVEL==0)
#endif
#ifndef DEBUG_ASSERT_MESSAGE
-#define DEBUG_ASSERT_MESSAGE(componentNameString, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value) \
+ #define DEBUG_ASSERT_MESSAGE(componentNameString, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value) \
DEBUGASSERTMSG(COMPONENT_SIGNATURE, DEBUG_NO_OPTIONS, componentNameString ": " assertionString, exceptionLabelString, errorString, fileName, lineNumber, value)
#endif
- /*
- * Include AssertMacros.h where all of the check, verify, and require macros are defined
- */
+/*
+ * Include AssertMacros.h where all of the check, verify, and require macros are defined
+ */
#include "AssertMacros.h"
- /*
- * The following check, verify, and require macros assert that TaskLevel is 0.
- */
+/*
+ * The following check, verify, and require macros assert that TaskLevel is 0.
+ */
#define ATTASKLEVEL0() \
(TaskLevel() == 0)
@@ -272,15 +272,15 @@ extern "C" {
#define require_tasklevel0_action_string(exceptionLabel, action, cstring) \
require_action_string(ATTASKLEVEL0(), exceptionLabel, action, cstring)
- /*
- * SafeDebugger and SafeDebugStr work like Debugger and DebugStr in both
- * production and non-preduction builds, but only call the debugger
- * if the debugger is installed.
- */
+/*
+ * SafeDebugger and SafeDebugStr work like Debugger and DebugStr in both
+ * production and non-preduction builds, but only call the debugger
+ * if the debugger is installed.
+ */
#if CALL_NOT_IN_CARBON
/* Make sure a low level debugger is installed on Mac OS 8 or 9 */
-#define SafeDebugger() \
+ #define SafeDebugger() \
do \
{ \
if ( ((*((UInt8 *)0x0BFF)) != (UInt8)0xff) && \
@@ -293,8 +293,8 @@ extern "C" {
} while ( false )
#else
/* Debugger() is always safe on Carbon under Mac OS X */
- /* Otherwise we must make sure a low level debugger is installed */
-#define SafeDebugger() \
+ /* Otherwise we must make sure a low level debugger is installed */
+ #define SafeDebugger() \
do \
{ \
long response; \
@@ -319,7 +319,7 @@ extern "C" {
#if CALL_NOT_IN_CARBON
/* Make sure low level debugger is installed on Mac OS 8 or 9 */
-#define SafeDebugStr(str) \
+ #define SafeDebugStr(str) \
do \
{ \
if ( ((*((UInt8 *)0x0BFF)) != (UInt8)0xff) && \
@@ -332,8 +332,8 @@ extern "C" {
} while ( false )
#else
/* DebugStr() is always safe on Carbon under Mac OS X */
- /* Otherwise we must make sure a low level debugger is installed */
-#define SafeDebugStr(str) \
+ /* Otherwise we must make sure a low level debugger is installed */
+ #define SafeDebugStr(str) \
do \
{ \
long response; \
@@ -355,36 +355,36 @@ extern "C" {
} while ( false )
#endif
- /*
- * DEBUGGER and DEBUGSTR call SafeDebugger and SafeDebugStr only
- * in DEBUG builds.
- *
- * DEBUGGER and DEBUGSTR are defined only if they are not already defined to
- * prevent conflicts with developer code.
- */
+/*
+ * DEBUGGER and DEBUGSTR call SafeDebugger and SafeDebugStr only
+ * in DEBUG builds.
+ *
+ * DEBUGGER and DEBUGSTR are defined only if they are not already defined to
+ * prevent conflicts with developer code.
+ */
#ifndef DEBUGGER
-#if _DEBUG
-#define DEBUGGER() \
+ #if _DEBUG
+ #define DEBUGGER() \
SafeDebugger()
-#else
-#define DEBUGGER()
-#endif
+ #else
+ #define DEBUGGER()
+ #endif
#endif
#ifndef DEBUGSTR
-#if _DEBUG
-#define DEBUGSTR(str) \
+ #if _DEBUG
+ #define DEBUGSTR(str) \
SafeDebugStr(str)
-#else
-#define DEBUGSTR(str)
-#endif
+ #else
+ #define DEBUGSTR(str)
+ #endif
#endif
- /*
- * CapsLockDebugger and CapsLockDebugStr call SafeDebugger and SafeDebugStr
- * only if the Caps Lock key is down.
- */
+/*
+ * CapsLockDebugger and CapsLockDebugStr call SafeDebugger and SafeDebugStr
+ * only if the Caps Lock key is down.
+ */
#define CapsLockDebugger() \
do \
@@ -409,675 +409,653 @@ extern "C" {
} \
} while ( false )
- /*
- * ISCAPSLOCKKEYDOWN and ISLOWLEVELDEBUGGERCALLABLE are convenience macros
- * which are only defined for non-Carbon builds because they access
- * low memory addresses directly. They have been left in this file for
- * use by existing non-Carbon code.
- *
- * ISCAPSLOCKKEYDOWN and ISLOWLEVELDEBUGGERCALLABLE are defined only
- * if they are not already defined to prevent conflicts with developer code.
- */
+/*
+ * ISCAPSLOCKKEYDOWN and ISLOWLEVELDEBUGGERCALLABLE are convenience macros
+ * which are only defined for non-Carbon builds because they access
+ * low memory addresses directly. They have been left in this file for
+ * use by existing non-Carbon code.
+ *
+ * ISCAPSLOCKKEYDOWN and ISLOWLEVELDEBUGGERCALLABLE are defined only
+ * if they are not already defined to prevent conflicts with developer code.
+ */
#if CALL_NOT_IN_CARBON
-#ifndef ISCAPSLOCKKEYDOWN
-#define ISCAPSLOCKKEYDOWN() \
+ #ifndef ISCAPSLOCKKEYDOWN
+ #define ISCAPSLOCKKEYDOWN() \
((((UInt16 *)(0x0174))[3] & 0x0002) == 0x0002)
-#endif
-
-#ifndef ISLOWLEVELDEBUGGERCALLABLE
-#define ISLOWLEVELDEBUGGERCALLABLE() \
+ #endif
+
+ #ifndef ISLOWLEVELDEBUGGERCALLABLE
+ #define ISLOWLEVELDEBUGGERCALLABLE() \
( ((*((UInt8 *)0x0BFF)) != (UInt8)0xff) && \
(((*((UInt8 *)0x0BFF)) & (UInt8)0xe0) == (UInt8)0x60) && \
((*((unsigned long *)0x0120)) != 0) && \
((*((unsigned long *)0x0120)) != (unsigned long)0xffffffff) )
-#endif
+ #endif
#endif
- /*
- * You can use DPRINTF as a dprintf which goes away in production builds.
- * DPRINTF is not supported by Carbon because dprintf
- * is not supported by Carbon.
- *
- * To use it, double-parenthesize the argument - i.e., use:
- *
- * DPRINTF(("formatString %d", 5 ));
- *
- * This is sadly necessary because a macro can not have a variable number
- * of arguments.
- *
- * DPRINTF is defined only if it is not already defined to
- * prevent conflicts with developer code.
- */
+/*
+ * You can use DPRINTF as a dprintf which goes away in production builds.
+ * DPRINTF is not supported by Carbon because dprintf
+ * is not supported by Carbon.
+ *
+ * To use it, double-parenthesize the argument - i.e., use:
+ *
+ * DPRINTF(("formatString %d", 5 ));
+ *
+ * This is sadly necessary because a macro can not have a variable number
+ * of arguments.
+ *
+ * DPRINTF is defined only if it is not already defined to
+ * prevent conflicts with developer code.
+ */
#if _DEBUG
-#define DPRINTF(x) dprintf x
+ #define DPRINTF(x) dprintf x
#else
-#define DPRINTF(x) { }
+ #define DPRINTF(x) { }
#endif
- /*
- * kBlessedBusErrorBait is an address that will never be mapped by
- * Mac OS 8 or 9. It is close to the middle of the 64K range from 0x68F10000
- * to 0x68F1FFFF that is unmapped and cannot be accessed without causing an
- * exception. Thus, it's a good value to use for filling uninitialized
- * pointers, etc.
- *
- * Mac OS X programs should NOT use kBlessedBusErrorBait and should use
- * zero (0) instead, since by default, page 0 is read and write protected
- * for user code.
- */
- enum
- {
- kBlessedBusErrorBait = 0x68F168F1
- };
-
- /*
- * DebugAssert()
- *
- * Summary:
- * DebugAssert is the system routine that the DEBUGASSERTMSG macro
- * calls (by default) to display assertion messsages. The output
- * from DebugAssert can be redirected by installing a
- * DebugAssertOutputHandler with InstallDebugAssertOutputHandler.
- *
- * Parameters:
- *
- * componentSignature:
- * The unique signature of component causing the assertion.
- *
- * options:
- * reserved.
- *
- * assertionString:
- * A pointer to a string containing the assertion, or NULL.
- *
- * exceptionLabelString:
- * A pointer to a string containing the exceptionLabel, or NULL.
- *
- * errorString:
- * A pointer to the error string, or NULL.
- *
- * fileName:
- * A pointer to the fileName or pathname (generated by the
- * preprocessor __FILE__ identifier), or NULL.
- *
- * lineNumber:
- * The line number in the file (generated by the preprocessor
- * __LINE__ identifier), or 0 (zero).
- *
- * value:
- * A value associated with the assertion, or NULL.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DebugAssert(
- OSType componentSignature,
- UInt32 options,
- const char * assertionString,
- const char * exceptionLabelString,
- const char * errorString,
- const char * fileName,
- long lineNumber,
- void * value) TWOWORDINLINE(0x7000, 0xAA7E);
-
-
- /*
- * TaskLevel masks
- */
- enum
- {
- k68kInterruptLevelMask = 0x00000007, /* 68K interrupt levels 0 through 7 */
- kInVBLTaskMask = 0x00000010, /* VBLs are executing */
- kInDeferredTaskMask = 0x00000020, /* Deferred tasks are executing */
- kInSecondaryIntHandlerMask = 0x00000040, /* Secondary interrupt handlers are executing */
- kInNestedInterruptMask = 0x00000080 /* The system is handling an interrupt */
- };
-
- /*
- * TaskLevel()
- *
- * Summary:
- * TaskLevel returns 0 if we're (probably) running at non-interrupt
- * time. There's no way to make this perfect, but this is as close
- * as we can get. If TaskLevel doesn't return 0, then one of the
- * TaskLevel masks can be used to learn more.
- *
- * Result:
- * The current task level.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- TaskLevel(void) TWOWORDINLINE(0x7001, 0xAA7E);
-
-
- /*
- * Constants used by the DebugComponent functions
- */
- enum
- {
- kComponentDebugOption = 0 /* optionSelectorNum to turn breaks for component On or Off*/
- };
-
- enum
- {
- kGetDebugOption = 1, /* get current debug option setting*/
- kSetDebugOption = 2 /* set debug option*/
- };
-
-
- /*
- * DebugComponentCallbackProcPtr
- *
- * Discussion:
- * DebugComponentCallback is the callback into a component that
- * registers with DebugLib. It is called to get the debug option
- * setting, or to turn a debug option on or off.
- *
- * Parameters:
- *
- * optionSelectorNum:
- * The component debug option to set.
- *
- * command:
- * The command the DebugComponentCallbackProc must handle:
- * kGetDebugOption - get current debug option setting
- * kSetDebugOption - set debug option
- *
- * optionSetting:
- * A pointer to a Boolean where the DebugComponentCallbackProc
- * must return the option setting: the current setting if command
- * is kGetDebugOption; the new debug option if command is
- * kSetDebugOption
- */
- typedef CALLBACK_API(void , DebugComponentCallbackProcPtr)(SInt32 optionSelectorNum, UInt32 command, Boolean *optionSetting);
- typedef STACK_UPP_TYPE(DebugComponentCallbackProcPtr) DebugComponentCallbackUPP;
- /*
- * NewDebugComponent()
- *
- * Summary:
- * NewDebugComponent registers a component with DebugLib.
- *
- * Parameters:
- *
- * componentSignature:
- * The unique signature of component.
- *
- * componentName:
- * The displayable string naming the component.
- *
- * componentCallback:
- * The callback into component for working with options.
- *
- * Result:
- * An operating system result code: noErr, memFullErr,
- * debuggingExecutionContextErr, debuggingDuplicateSignatureErr, or
- * debuggingInvalidNameErr.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NewDebugComponent(
- OSType componentSignature,
- ConstStr255Param componentName,
- DebugComponentCallbackUPP componentCallback) TWOWORDINLINE(0x7002, 0xAA7E);
-
-
- /*
- * NewDebugOption()
- *
- * Summary:
- * NewDebugOption registers a debug option with DebugLib.
- *
- * Parameters:
- *
- * componentSignature:
- * The signature of component to register a debug option for.
- *
- * optionSelectorNum:
- * The selector number of this debug option.
- *
- * optionName:
- * The displayable string naming this debug option.
- *
- * Result:
- * An operating system result code: noErr, memFullErr,
- * debuggingExecutionContextErr, debuggingDuplicateOptionErr,
- * debuggingInvalidSignatureErr, debuggingInvalidNameErr, or
- * debuggingNoCallbackErr.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NewDebugOption(
- OSType componentSignature,
- SInt32 optionSelectorNum,
- ConstStr255Param optionName) TWOWORDINLINE(0x7003, 0xAA7E);
-
-
- /*
- * DisposeDebugComponent()
- *
- * Summary:
- * DisposeDebugComponent removes a component registration and all
- * related debug options from DebugLib.
- *
- * Parameters:
- *
- * componentSignature:
- * The unique signature of a component.
- *
- * Result:
- * An operating system result code: noErr,
- * debuggingExecutionContextErr, or debuggingInvalidSignatureErr.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DisposeDebugComponent(OSType componentSignature) TWOWORDINLINE(0x7004, 0xAA7E);
-
-
- /*
- * GetDebugComponentInfo()
- *
- * Summary:
- * GetDebugComponentInfo returns a component registered with
- * DebugLib.
- *
- * Parameters:
- *
- * index:
- * The index into the list of registered components (1-based).
- *
- * componentSignature:
- * A pointer to an OSType where the unique signature of a
- * component is returned.
- *
- * componentName:
- * A pointer to an Str255 where the displayable string naming a
- * component is returned.
- *
- * Result:
- * An operating system result code: noErr or debuggingNoMatchErr.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDebugComponentInfo(
- UInt32 index,
- OSType * componentSignature,
- Str255 componentName) TWOWORDINLINE(0x7005, 0xAA7E);
-
-
- /*
- * GetDebugOptionInfo()
- *
- * Summary:
- * GetDebugOptionInfo returns a debug option registered with
- * DebugLib.
- *
- * Parameters:
- *
- * index:
- * The index into the list of registered debug options (0-based);
- * 0 = kComponentDebugOption.
- *
- * componentSignature:
- * The unique signature of a component.
- *
- * optionSelectorNum:
- * A pointer to an SInt32 where the selector number of this debug
- * option is returned.
- *
- * optionName:
- * A pointer to an Str255 where the displayable string naming this
- * debug option is returned.
- *
- * optionSetting:
- * A pointer to an Boolean where the current debug option setting
- * is returned.
- *
- * Result:
- * An operating system result code: noErr,
- * debuggingInvalidSignatureErr, or debuggingNoMatchErr.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDebugOptionInfo(
- UInt32 index,
- OSType componentSignature,
- SInt32 * optionSelectorNum,
- Str255 optionName,
- Boolean * optionSetting) TWOWORDINLINE(0x7006, 0xAA7E);
-
-
- /*
- * SetDebugOptionValue()
- *
- * Summary:
- * SetDebugOptionValue sets a debug option registered with DebugLib.
- *
- * Parameters:
- *
- * componentSignature:
- * The unique signature of a component.
- *
- * optionSelectorNum:
- * The selector number of this debug option.
- *
- * newOptionSetting:
- * The new debug option setting.
- *
- * Result:
- * An operating system result code: noErr,
- * debuggingInvalidSignatureErr, or debuggingInvalidOptionErr.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDebugOptionValue(
- OSType componentSignature,
- SInt32 optionSelectorNum,
- Boolean newOptionSetting) TWOWORDINLINE(0x7007, 0xAA7E);
-
-
-
- /*
- * DebugAssertOutputHandlerProcPtr
- *
- * Discussion:
- * DebugAssertOutputHandler is the callback that registers with
- * DebugLib to handle the output from DebugAssert. The
- * "componentSignature" through "value" parameters are the raw
- * values passed to DebugAssert when an exception occurs.
- *
- * Parameters:
- *
- * componentSignature:
- * The unique signature of component causing the assertion.
- *
- * options:
- * reserved.
- *
- * assertionString:
- * A pointer to a string containing the assertion, or NULL.
- *
- * exceptionLabelString:
- * A pointer to a string containing the exceptionLabel, or NULL.
- *
- * errorString:
- * A pointer to the error string, or NULL.
- *
- * fileName:
- * A pointer to the fileName or pathname (generated by the
- * preprocessor __FILE__ identifier), or NULL.
- *
- * lineNumber:
- * The line number in the file (generated by the preprocessor
- * __LINE__ identifier), or 0 (zero).
- *
- * value:
- * A value associated with the assertion, or NULL.
- *
- * outputMsg:
- * The string DebugAssert build which would normally be passed to
- * DebugStr if a DebugAssertOutputHandler isn't installed.
- */
- typedef CALLBACK_API(void , DebugAssertOutputHandlerProcPtr)(OSType componentSignature, UInt32 options, const char *assertionString, const char *exceptionLabelString, const char *errorString, const char *fileName, long lineNumber, void *value, ConstStr255Param outputMsg);
- typedef STACK_UPP_TYPE(DebugAssertOutputHandlerProcPtr) DebugAssertOutputHandlerUPP;
- /*
- * InstallDebugAssertOutputHandler()
- *
- * Summary:
- * InstallDebugAssertOutputHandler installs a
- * DebugAssertOutputHandler which DebugAssert calls instead of
- * DebugStr.
- *
- * Parameters:
- *
- * handler:
- * The DebugAssertOutputHandler to install or NULL to switch back
- * to the default handler (DebugStr).
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InstallDebugAssertOutputHandler(DebugAssertOutputHandlerUPP handler) TWOWORDINLINE(0x7008, 0xAA7E);
+/*
+ * kBlessedBusErrorBait is an address that will never be mapped by
+ * Mac OS 8 or 9. It is close to the middle of the 64K range from 0x68F10000
+ * to 0x68F1FFFF that is unmapped and cannot be accessed without causing an
+ * exception. Thus, it's a good value to use for filling uninitialized
+ * pointers, etc.
+ *
+ * Mac OS X programs should NOT use kBlessedBusErrorBait and should use
+ * zero (0) instead, since by default, page 0 is read and write protected
+ * for user code.
+ */
+enum {
+ kBlessedBusErrorBait = 0x68F168F1
+};
+
+/*
+ * DebugAssert()
+ *
+ * Summary:
+ * DebugAssert is the system routine that the DEBUGASSERTMSG macro
+ * calls (by default) to display assertion messsages. The output
+ * from DebugAssert can be redirected by installing a
+ * DebugAssertOutputHandler with InstallDebugAssertOutputHandler.
+ *
+ * Parameters:
+ *
+ * componentSignature:
+ * The unique signature of component causing the assertion.
+ *
+ * options:
+ * reserved.
+ *
+ * assertionString:
+ * A pointer to a string containing the assertion, or NULL.
+ *
+ * exceptionLabelString:
+ * A pointer to a string containing the exceptionLabel, or NULL.
+ *
+ * errorString:
+ * A pointer to the error string, or NULL.
+ *
+ * fileName:
+ * A pointer to the fileName or pathname (generated by the
+ * preprocessor __FILE__ identifier), or NULL.
+ *
+ * lineNumber:
+ * The line number in the file (generated by the preprocessor
+ * __LINE__ identifier), or 0 (zero).
+ *
+ * value:
+ * A value associated with the assertion, or NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DebugAssert(
+ OSType componentSignature,
+ UInt32 options,
+ const char * assertionString,
+ const char * exceptionLabelString,
+ const char * errorString,
+ const char * fileName,
+ long lineNumber,
+ void * value) TWOWORDINLINE(0x7000, 0xAA7E);
+
+
+/*
+ * TaskLevel masks
+ */
+enum {
+ k68kInterruptLevelMask = 0x00000007, /* 68K interrupt levels 0 through 7 */
+ kInVBLTaskMask = 0x00000010, /* VBLs are executing */
+ kInDeferredTaskMask = 0x00000020, /* Deferred tasks are executing */
+ kInSecondaryIntHandlerMask = 0x00000040, /* Secondary interrupt handlers are executing */
+ kInNestedInterruptMask = 0x00000080 /* The system is handling an interrupt */
+};
+
+/*
+ * TaskLevel()
+ *
+ * Summary:
+ * TaskLevel returns 0 if we're (probably) running at non-interrupt
+ * time. There's no way to make this perfect, but this is as close
+ * as we can get. If TaskLevel doesn't return 0, then one of the
+ * TaskLevel masks can be used to learn more.
+ *
+ * Result:
+ * The current task level.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+TaskLevel(void) TWOWORDINLINE(0x7001, 0xAA7E);
+
+
+/*
+ * Constants used by the DebugComponent functions
+ */
+enum {
+ kComponentDebugOption = 0 /* optionSelectorNum to turn breaks for component On or Off*/
+};
+
+enum {
+ kGetDebugOption = 1, /* get current debug option setting*/
+ kSetDebugOption = 2 /* set debug option*/
+};
+
+
+/*
+ * DebugComponentCallbackProcPtr
+ *
+ * Discussion:
+ * DebugComponentCallback is the callback into a component that
+ * registers with DebugLib. It is called to get the debug option
+ * setting, or to turn a debug option on or off.
+ *
+ * Parameters:
+ *
+ * optionSelectorNum:
+ * The component debug option to set.
+ *
+ * command:
+ * The command the DebugComponentCallbackProc must handle:
+ * kGetDebugOption - get current debug option setting
+ * kSetDebugOption - set debug option
+ *
+ * optionSetting:
+ * A pointer to a Boolean where the DebugComponentCallbackProc
+ * must return the option setting: the current setting if command
+ * is kGetDebugOption; the new debug option if command is
+ * kSetDebugOption
+ */
+typedef CALLBACK_API( void , DebugComponentCallbackProcPtr )(SInt32 optionSelectorNum, UInt32 command, Boolean *optionSetting);
+typedef STACK_UPP_TYPE(DebugComponentCallbackProcPtr) DebugComponentCallbackUPP;
+/*
+ * NewDebugComponent()
+ *
+ * Summary:
+ * NewDebugComponent registers a component with DebugLib.
+ *
+ * Parameters:
+ *
+ * componentSignature:
+ * The unique signature of component.
+ *
+ * componentName:
+ * The displayable string naming the component.
+ *
+ * componentCallback:
+ * The callback into component for working with options.
+ *
+ * Result:
+ * An operating system result code: noErr, memFullErr,
+ * debuggingExecutionContextErr, debuggingDuplicateSignatureErr, or
+ * debuggingInvalidNameErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NewDebugComponent(
+ OSType componentSignature,
+ ConstStr255Param componentName,
+ DebugComponentCallbackUPP componentCallback) TWOWORDINLINE(0x7002, 0xAA7E);
+
+
+/*
+ * NewDebugOption()
+ *
+ * Summary:
+ * NewDebugOption registers a debug option with DebugLib.
+ *
+ * Parameters:
+ *
+ * componentSignature:
+ * The signature of component to register a debug option for.
+ *
+ * optionSelectorNum:
+ * The selector number of this debug option.
+ *
+ * optionName:
+ * The displayable string naming this debug option.
+ *
+ * Result:
+ * An operating system result code: noErr, memFullErr,
+ * debuggingExecutionContextErr, debuggingDuplicateOptionErr,
+ * debuggingInvalidSignatureErr, debuggingInvalidNameErr, or
+ * debuggingNoCallbackErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NewDebugOption(
+ OSType componentSignature,
+ SInt32 optionSelectorNum,
+ ConstStr255Param optionName) TWOWORDINLINE(0x7003, 0xAA7E);
+
+
+/*
+ * DisposeDebugComponent()
+ *
+ * Summary:
+ * DisposeDebugComponent removes a component registration and all
+ * related debug options from DebugLib.
+ *
+ * Parameters:
+ *
+ * componentSignature:
+ * The unique signature of a component.
+ *
+ * Result:
+ * An operating system result code: noErr,
+ * debuggingExecutionContextErr, or debuggingInvalidSignatureErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DisposeDebugComponent(OSType componentSignature) TWOWORDINLINE(0x7004, 0xAA7E);
+
+
+/*
+ * GetDebugComponentInfo()
+ *
+ * Summary:
+ * GetDebugComponentInfo returns a component registered with
+ * DebugLib.
+ *
+ * Parameters:
+ *
+ * index:
+ * The index into the list of registered components (1-based).
+ *
+ * componentSignature:
+ * A pointer to an OSType where the unique signature of a
+ * component is returned.
+ *
+ * componentName:
+ * A pointer to an Str255 where the displayable string naming a
+ * component is returned.
+ *
+ * Result:
+ * An operating system result code: noErr or debuggingNoMatchErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDebugComponentInfo(
+ UInt32 index,
+ OSType * componentSignature,
+ Str255 componentName) TWOWORDINLINE(0x7005, 0xAA7E);
+
+
+/*
+ * GetDebugOptionInfo()
+ *
+ * Summary:
+ * GetDebugOptionInfo returns a debug option registered with
+ * DebugLib.
+ *
+ * Parameters:
+ *
+ * index:
+ * The index into the list of registered debug options (0-based);
+ * 0 = kComponentDebugOption.
+ *
+ * componentSignature:
+ * The unique signature of a component.
+ *
+ * optionSelectorNum:
+ * A pointer to an SInt32 where the selector number of this debug
+ * option is returned.
+ *
+ * optionName:
+ * A pointer to an Str255 where the displayable string naming this
+ * debug option is returned.
+ *
+ * optionSetting:
+ * A pointer to an Boolean where the current debug option setting
+ * is returned.
+ *
+ * Result:
+ * An operating system result code: noErr,
+ * debuggingInvalidSignatureErr, or debuggingNoMatchErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDebugOptionInfo(
+ UInt32 index,
+ OSType componentSignature,
+ SInt32 * optionSelectorNum,
+ Str255 optionName,
+ Boolean * optionSetting) TWOWORDINLINE(0x7006, 0xAA7E);
+
+
+/*
+ * SetDebugOptionValue()
+ *
+ * Summary:
+ * SetDebugOptionValue sets a debug option registered with DebugLib.
+ *
+ * Parameters:
+ *
+ * componentSignature:
+ * The unique signature of a component.
+ *
+ * optionSelectorNum:
+ * The selector number of this debug option.
+ *
+ * newOptionSetting:
+ * The new debug option setting.
+ *
+ * Result:
+ * An operating system result code: noErr,
+ * debuggingInvalidSignatureErr, or debuggingInvalidOptionErr.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDebugOptionValue(
+ OSType componentSignature,
+ SInt32 optionSelectorNum,
+ Boolean newOptionSetting) TWOWORDINLINE(0x7007, 0xAA7E);
+
+
+
+/*
+ * DebugAssertOutputHandlerProcPtr
+ *
+ * Discussion:
+ * DebugAssertOutputHandler is the callback that registers with
+ * DebugLib to handle the output from DebugAssert. The
+ * "componentSignature" through "value" parameters are the raw
+ * values passed to DebugAssert when an exception occurs.
+ *
+ * Parameters:
+ *
+ * componentSignature:
+ * The unique signature of component causing the assertion.
+ *
+ * options:
+ * reserved.
+ *
+ * assertionString:
+ * A pointer to a string containing the assertion, or NULL.
+ *
+ * exceptionLabelString:
+ * A pointer to a string containing the exceptionLabel, or NULL.
+ *
+ * errorString:
+ * A pointer to the error string, or NULL.
+ *
+ * fileName:
+ * A pointer to the fileName or pathname (generated by the
+ * preprocessor __FILE__ identifier), or NULL.
+ *
+ * lineNumber:
+ * The line number in the file (generated by the preprocessor
+ * __LINE__ identifier), or 0 (zero).
+ *
+ * value:
+ * A value associated with the assertion, or NULL.
+ *
+ * outputMsg:
+ * The string DebugAssert build which would normally be passed to
+ * DebugStr if a DebugAssertOutputHandler isn't installed.
+ */
+typedef CALLBACK_API( void , DebugAssertOutputHandlerProcPtr )(OSType componentSignature, UInt32 options, const char *assertionString, const char *exceptionLabelString, const char *errorString, const char *fileName, long lineNumber, void *value, ConstStr255Param outputMsg);
+typedef STACK_UPP_TYPE(DebugAssertOutputHandlerProcPtr) DebugAssertOutputHandlerUPP;
+/*
+ * InstallDebugAssertOutputHandler()
+ *
+ * Summary:
+ * InstallDebugAssertOutputHandler installs a
+ * DebugAssertOutputHandler which DebugAssert calls instead of
+ * DebugStr.
+ *
+ * Parameters:
+ *
+ * handler:
+ * The DebugAssertOutputHandler to install or NULL to switch back
+ * to the default handler (DebugStr).
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InstallDebugAssertOutputHandler(DebugAssertOutputHandlerUPP handler) TWOWORDINLINE(0x7008, 0xAA7E);
#if CALL_NOT_IN_CARBON
- /*
- * dprintf()
- *
- * Summary:
- * printf takes a variable argument list and 'prints' that to the
- * debugging output handler. Calling dprintf() from anything but C
- * or C++ is tricky.
- *
- * Parameters:
- *
- * format:
- * The format string.
- *
- * ...:
- * The arguments to the format string.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- dprintf(const char * format, ...) SIXWORDINLINE(0x2057, 0x43EF, 0x0004, 0x303C, 0x000A, 0xAA7E);
-
-
- /*
- * vdprintf()
- *
- * Summary:
- * vdprintf takes a va_args list and 'prints' that to the debugging
- * output handler.
- *
- * Parameters:
- *
- * format:
- * The format string.
- *
- * va_args_list:
- * The va_args list.
- *
- * Availability:
- * Non-Carbon CFM: in DebugLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- vdprintf(
- const char * format,
- char * va_args_list) TWOWORDINLINE(0x7009, 0xAA7E);
+/*
+ * dprintf()
+ *
+ * Summary:
+ * printf takes a variable argument list and 'prints' that to the
+ * debugging output handler. Calling dprintf() from anything but C
+ * or C++ is tricky.
+ *
+ * Parameters:
+ *
+ * format:
+ * The format string.
+ *
+ * ...:
+ * The arguments to the format string.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+dprintf(const char * format, ...) SIXWORDINLINE(0x2057, 0x43EF, 0x0004, 0x303C, 0x000A, 0xAA7E);
+
+
+/*
+ * vdprintf()
+ *
+ * Summary:
+ * vdprintf takes a va_args list and 'prints' that to the debugging
+ * output handler.
+ *
+ * Parameters:
+ *
+ * format:
+ * The format string.
+ *
+ * va_args_list:
+ * The va_args list.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DebugLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+vdprintf(
+ const char * format,
+ char * va_args_list) TWOWORDINLINE(0x7009, 0xAA7E);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewDebugComponentCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DebugComponentCallbackUPP)
- NewDebugComponentCallbackUPP(DebugComponentCallbackProcPtr userRoutine);
+/*
+ * NewDebugComponentCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DebugComponentCallbackUPP )
+NewDebugComponentCallbackUPP(DebugComponentCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDebugComponentCallbackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DebugComponentCallbackUPP) NewDebugComponentCallbackUPP(DebugComponentCallbackProcPtr userRoutine)
- {
- return (DebugComponentCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDebugComponentCallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDebugComponentCallbackUPP(userRoutine) (DebugComponentCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDebugComponentCallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDebugComponentCallbackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DebugComponentCallbackUPP) NewDebugComponentCallbackUPP(DebugComponentCallbackProcPtr userRoutine) { return (DebugComponentCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDebugComponentCallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDebugComponentCallbackUPP(userRoutine) (DebugComponentCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDebugComponentCallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDebugAssertOutputHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DebugAssertOutputHandlerUPP)
- NewDebugAssertOutputHandlerUPP(DebugAssertOutputHandlerProcPtr userRoutine);
+/*
+ * NewDebugAssertOutputHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DebugAssertOutputHandlerUPP )
+NewDebugAssertOutputHandlerUPP(DebugAssertOutputHandlerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDebugAssertOutputHandlerProcInfo = 0x00FFFFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DebugAssertOutputHandlerUPP) NewDebugAssertOutputHandlerUPP(DebugAssertOutputHandlerProcPtr userRoutine)
- {
- return (DebugAssertOutputHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDebugAssertOutputHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDebugAssertOutputHandlerUPP(userRoutine) (DebugAssertOutputHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDebugAssertOutputHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDebugAssertOutputHandlerProcInfo = 0x00FFFFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DebugAssertOutputHandlerUPP) NewDebugAssertOutputHandlerUPP(DebugAssertOutputHandlerProcPtr userRoutine) { return (DebugAssertOutputHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDebugAssertOutputHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDebugAssertOutputHandlerUPP(userRoutine) (DebugAssertOutputHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDebugAssertOutputHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDebugComponentCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDebugComponentCallbackUPP(DebugComponentCallbackUPP userUPP);
+/*
+ * DisposeDebugComponentCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDebugComponentCallbackUPP(DebugComponentCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDebugComponentCallbackUPP(DebugComponentCallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDebugComponentCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDebugComponentCallbackUPP(DebugComponentCallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDebugComponentCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDebugAssertOutputHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDebugAssertOutputHandlerUPP(DebugAssertOutputHandlerUPP userUPP);
+/*
+ * DisposeDebugAssertOutputHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDebugAssertOutputHandlerUPP(DebugAssertOutputHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDebugAssertOutputHandlerUPP(DebugAssertOutputHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDebugAssertOutputHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDebugAssertOutputHandlerUPP(DebugAssertOutputHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDebugAssertOutputHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDebugComponentCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDebugComponentCallbackUPP(
- SInt32 optionSelectorNum,
- UInt32 command,
- Boolean * optionSetting,
- DebugComponentCallbackUPP userUPP);
+/*
+ * InvokeDebugComponentCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDebugComponentCallbackUPP(
+ SInt32 optionSelectorNum,
+ UInt32 command,
+ Boolean * optionSetting,
+ DebugComponentCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDebugComponentCallbackUPP(SInt32 optionSelectorNum, UInt32 command, Boolean * optionSetting, DebugComponentCallbackUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppDebugComponentCallbackProcInfo, optionSelectorNum, command, optionSetting);
- }
-#else
-#define InvokeDebugComponentCallbackUPP(optionSelectorNum, command, optionSetting, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDebugComponentCallbackProcInfo, (optionSelectorNum), (command), (optionSetting))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDebugComponentCallbackUPP(SInt32 optionSelectorNum, UInt32 command, Boolean * optionSetting, DebugComponentCallbackUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDebugComponentCallbackProcInfo, optionSelectorNum, command, optionSetting); }
+ #else
+ #define InvokeDebugComponentCallbackUPP(optionSelectorNum, command, optionSetting, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDebugComponentCallbackProcInfo, (optionSelectorNum), (command), (optionSetting))
+ #endif
#endif
- /*
- * InvokeDebugAssertOutputHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDebugAssertOutputHandlerUPP(
- OSType componentSignature,
- UInt32 options,
- const char * assertionString,
- const char * exceptionLabelString,
- const char * errorString,
- const char * fileName,
- long lineNumber,
- void * value,
- ConstStr255Param outputMsg,
- DebugAssertOutputHandlerUPP userUPP);
+/*
+ * InvokeDebugAssertOutputHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDebugAssertOutputHandlerUPP(
+ OSType componentSignature,
+ UInt32 options,
+ const char * assertionString,
+ const char * exceptionLabelString,
+ const char * errorString,
+ const char * fileName,
+ long lineNumber,
+ void * value,
+ ConstStr255Param outputMsg,
+ DebugAssertOutputHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDebugAssertOutputHandlerUPP(OSType componentSignature, UInt32 options, const char * assertionString, const char * exceptionLabelString, const char * errorString, const char * fileName, long lineNumber, void * value, ConstStr255Param outputMsg, DebugAssertOutputHandlerUPP userUPP)
- {
- CALL_NINE_PARAMETER_UPP(userUPP, uppDebugAssertOutputHandlerProcInfo, componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value, outputMsg);
- }
-#else
-#define InvokeDebugAssertOutputHandlerUPP(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value, outputMsg, userUPP) CALL_NINE_PARAMETER_UPP((userUPP), uppDebugAssertOutputHandlerProcInfo, (componentSignature), (options), (assertionString), (exceptionLabelString), (errorString), (fileName), (lineNumber), (value), (outputMsg))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDebugAssertOutputHandlerUPP(OSType componentSignature, UInt32 options, const char * assertionString, const char * exceptionLabelString, const char * errorString, const char * fileName, long lineNumber, void * value, ConstStr255Param outputMsg, DebugAssertOutputHandlerUPP userUPP) { CALL_NINE_PARAMETER_UPP(userUPP, uppDebugAssertOutputHandlerProcInfo, componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value, outputMsg); }
+ #else
+ #define InvokeDebugAssertOutputHandlerUPP(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value, outputMsg, userUPP) CALL_NINE_PARAMETER_UPP((userUPP), uppDebugAssertOutputHandlerProcInfo, (componentSignature), (options), (assertionString), (exceptionLabelString), (errorString), (fileName), (lineNumber), (value), (outputMsg))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDebugComponentCallbackProc(userRoutine) NewDebugComponentCallbackUPP(userRoutine)
-#define NewDebugAssertOutputHandlerProc(userRoutine) NewDebugAssertOutputHandlerUPP(userRoutine)
-#define CallDebugComponentCallbackProc(userRoutine, optionSelectorNum, command, optionSetting) InvokeDebugComponentCallbackUPP(optionSelectorNum, command, optionSetting, userRoutine)
-#define CallDebugAssertOutputHandlerProc(userRoutine, componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value, outputMsg) InvokeDebugAssertOutputHandlerUPP(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value, outputMsg, userRoutine)
+ #define NewDebugComponentCallbackProc(userRoutine) NewDebugComponentCallbackUPP(userRoutine)
+ #define NewDebugAssertOutputHandlerProc(userRoutine) NewDebugAssertOutputHandlerUPP(userRoutine)
+ #define CallDebugComponentCallbackProc(userRoutine, optionSelectorNum, command, optionSetting) InvokeDebugComponentCallbackUPP(optionSelectorNum, command, optionSetting, userRoutine)
+ #define CallDebugAssertOutputHandlerProc(userRoutine, componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value, outputMsg) InvokeDebugAssertOutputHandlerUPP(componentSignature, options, assertionString, exceptionLabelString, errorString, fileName, lineNumber, value, outputMsg, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
diff --git a/include/qt/DeviceControl.h b/include/qt/DeviceControl.h
index cddc71916..09430b487 100644
--- a/include/qt/DeviceControl.h
+++ b/include/qt/DeviceControl.h
@@ -1,17 +1,17 @@
/*
File: DeviceControl.h
-
+
Contains: Component API for doing AVC transactions.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DEVICECONTROL__
#define __DEVICECONTROL__
@@ -41,51 +41,49 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef CALLBACK_API_C(UInt32 , DCResponseHandler)(UInt32 fwCommandObjectID, Ptr responseBuffer, UInt32 responseLength);
- struct DVCTransactionParams
- {
- Ptr commandBufferPtr;
- UInt32 commandLength;
- Ptr responseBufferPtr;
- UInt32 responseBufferSize;
- DCResponseHandler * responseHandler;
- };
- typedef struct DVCTransactionParams DVCTransactionParams;
- /*
- * DeviceControlDoAVCTransaction()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- DeviceControlDoAVCTransaction(
- ComponentInstance instance,
- DVCTransactionParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
-
-
- /* selectors for component calls */
- enum
- {
- kDeviceControlDoAVCTransactionSelect = 0x0001
- };
+typedef CALLBACK_API_C( UInt32 , DCResponseHandler )(UInt32 fwCommandObjectID, Ptr responseBuffer, UInt32 responseLength);
+struct DVCTransactionParams {
+ Ptr commandBufferPtr;
+ UInt32 commandLength;
+ Ptr responseBufferPtr;
+ UInt32 responseBufferSize;
+ DCResponseHandler * responseHandler;
+};
+typedef struct DVCTransactionParams DVCTransactionParams;
+/*
+ * DeviceControlDoAVCTransaction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+DeviceControlDoAVCTransaction(
+ ComponentInstance instance,
+ DVCTransactionParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+
+
+/* selectors for component calls */
+enum {
+ kDeviceControlDoAVCTransactionSelect = 0x0001
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Devices.h b/include/qt/Devices.h
index f6ac6c730..bc716a0e8 100644
--- a/include/qt/Devices.h
+++ b/include/qt/Devices.h
@@ -1,17 +1,17 @@
/*
File: Devices.h
-
+
Contains: Device Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DEVICES__
#define __DEVICES__
@@ -56,273 +56,253 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Values of the 'message' parameter to a Chooser device package */
- enum {
- chooserInitMsg = 11, /* the user selected this device package */
- newSelMsg = 12, /* the user made new device selections */
- fillListMsg = 13, /* fill the device list with choices */
- getSelMsg = 14, /* mark one or more choices as selected */
- selectMsg = 15, /* the user made a selection */
- deselectMsg = 16, /* the user canceled a selection */
- terminateMsg = 17, /* allows device package to clean up */
- buttonMsg = 19 /* the user selected a button */
- };
-
-
- /* Values of the 'caller' parameter to a Chooser device package */
- enum
- {
- chooserID = 1
- };
-
-
- /* Values of the 'message' parameter to a Monitor 'mntr' */
- enum
- {
- initMsg = 1, /*initialization*/
- okMsg = 2, /*user clicked OK button*/
- cancelMsg = 3, /*user clicked Cancel button*/
- hitMsg = 4, /*user clicked control in Options dialog*/
- nulMsg = 5, /*periodic event*/
- updateMsg = 6, /*update event*/
- activateMsg = 7, /*not used*/
- deactivateMsg = 8, /*not used*/
- keyEvtMsg = 9, /*keyboard event*/
- superMsg = 10, /*show superuser controls*/
- normalMsg = 11, /*show only normal controls*/
- startupMsg = 12 /*code has been loaded*/
- };
-
-
- /* control codes for DeskAccessories */
- enum
- {
- goodbye = -1, /* heap being reinitialized */
- killCode = 1, /* KillIO requested */
- accEvent = 64, /* handle an event */
- accRun = 65, /* time for periodic action */
- accCursor = 66, /* change cursor shape */
- accMenu = 67, /* handle menu item */
- accUndo = 68, /* handle undo command */
- accCut = 70, /* handle cut command */
- accCopy = 71, /* handle copy command */
- accPaste = 72, /* handle paste command */
- accClear = 73 /* handle clear command */
- };
-
- /* Control/Status Call Codes */
- /* drvStsCode, ejectCode and tgBuffCode are now defined in Disks.h/p/a */
-
- /* miscellaneous Device Manager constants */
- enum
- {
- ioInProgress = 1, /* predefined value of ioResult while I/O is pending */
- aRdCmd = 2, /* low byte of ioTrap for Read calls */
- aWrCmd = 3, /* low byte of ioTrap for Write calls */
- asyncTrpBit = 10, /* trap word modifier */
- noQueueBit = 9 /* trap word modifier */
- };
-
- /* flags used in the driver header and device control entry */
- enum
- {
- dReadEnable = 0, /* set if driver responds to read requests */
- dWritEnable = 1, /* set if driver responds to write requests */
- dCtlEnable = 2, /* set if driver responds to control requests */
- dStatEnable = 3, /* set if driver responds to status requests */
- dNeedGoodBye = 4, /* set if driver needs time for performing periodic tasks */
- dNeedTime = 5, /* set if driver needs time for performing periodic tasks */
- dNeedLock = 6 /* set if driver must be locked in memory as soon as it is opened */
- };
-
- enum
- {
- dNeedLockMask = 0x4000, /* set if driver must be locked in memory as soon as it is opened */
- dNeedTimeMask = 0x2000, /* set if driver needs time for performing periodic tasks */
- dNeedGoodByeMask = 0x1000, /* set if driver needs to be called before the application heap is initialized */
- dStatEnableMask = 0x0800, /* set if driver responds to status requests */
- dCtlEnableMask = 0x0400, /* set if driver responds to control requests */
- dWritEnableMask = 0x0200, /* set if driver responds to write requests */
- dReadEnableMask = 0x0100 /* set if driver responds to read requests */
- };
-
-
- /* run-time flags used in the device control entry */
- enum
- {
- dVMImmuneBit = 0, /* driver does not need VM protection */
- dOpened = 5, /* driver is open */
- dRAMBased = 6, /* dCtlDriver is a handle (1) or pointer (0) */
- drvrActive = 7 /* driver is currently processing a request */
- };
-
- enum
- {
- dVMImmuneMask = 0x0001, /* driver does not need VM protection */
- dOpenedMask = 0x0020, /* driver is open */
- dRAMBasedMask = 0x0040, /* dCtlDriver is a handle (1) or pointer (0) */
- drvrActiveMask = 0x0080 /* driver is currently processing a request */
- };
-
- struct DRVRHeader
- {
- short drvrFlags;
- short drvrDelay;
- short drvrEMask;
- short drvrMenu;
- short drvrOpen;
- short drvrPrime;
- short drvrCtl;
- short drvrStatus;
- short drvrClose;
- unsigned char drvrName[1];
- };
- typedef struct DRVRHeader DRVRHeader;
- typedef DRVRHeader * DRVRHeaderPtr;
- typedef DRVRHeaderPtr * DRVRHeaderHandle;
- struct DCtlEntry
- {
- Ptr dCtlDriver;
- volatile short dCtlFlags;
- QHdr dCtlQHdr;
- volatile long dCtlPosition;
- Handle dCtlStorage;
- short dCtlRefNum;
- long dCtlCurTicks;
- GrafPtr dCtlWindow;
- short dCtlDelay;
- short dCtlEMask;
- short dCtlMenu;
- };
- typedef struct DCtlEntry DCtlEntry;
- typedef DCtlEntry * DCtlPtr;
- typedef DCtlPtr * DCtlHandle;
- struct AuxDCE
- {
- Ptr dCtlDriver;
- volatile short dCtlFlags;
- QHdr dCtlQHdr;
- long dCtlPosition;
- Handle dCtlStorage;
- short dCtlRefNum;
- long dCtlCurTicks;
- GrafPtr dCtlWindow;
- short dCtlDelay;
- short dCtlEMask;
- short dCtlMenu;
- SInt8 dCtlSlot;
- SInt8 dCtlSlotId;
- long dCtlDevBase;
- Ptr dCtlOwner;
- SInt8 dCtlExtDev;
- SInt8 fillByte;
- UInt32 dCtlNodeID;
- };
- typedef struct AuxDCE AuxDCE;
- typedef AuxDCE * AuxDCEPtr;
- typedef AuxDCEPtr * AuxDCEHandle;
- /* The NDRV Driver IO Entry Point and Commands */
- typedef UInt16 UnitNumber;
- typedef UInt32 DriverOpenCount;
- typedef SInt16 DriverRefNum;
- typedef SInt16 DriverFlags;
- typedef UInt32 IOCommandCode;
- enum
- {
- kOpenCommand = 0,
- kCloseCommand = 1,
- kReadCommand = 2,
- kWriteCommand = 3,
- kControlCommand = 4,
- kStatusCommand = 5,
- kKillIOCommand = 6,
- kInitializeCommand = 7, /* init driver and device*/
- kFinalizeCommand = 8, /* shutdown driver and device*/
- kReplaceCommand = 9, /* replace an old driver*/
- kSupersededCommand = 10, /* prepare to be replaced by a new driver*/
- kSuspendCommand = 11, /* prepare driver to go to sleep*/
- kResumeCommand = 12 /* wake up sleeping driver*/
- };
-
- typedef MPAddressSpaceID AddressSpaceID;
- typedef struct OpaqueIOCommandID* IOCommandID;
- struct MacDriverType
- {
- long filler[9];
- };
- typedef struct MacDriverType MacDriverType;
- typedef MacDriverType * DriverTypePtr;
- struct DriverDescription
- {
- long filler[32];
- };
- typedef struct DriverDescription DriverDescription;
- typedef DriverDescription * DriverDescriptionPtr;
- typedef UInt32 IOCommandKind;
- enum
- {
- kSynchronousIOCommandKind = 0x00000001,
- kAsynchronousIOCommandKind = 0x00000002,
- kImmediateIOCommandKind = 0x00000004
- };
-
- struct DriverInitInfo
- {
- DriverRefNum refNum;
- RegEntryID deviceEntry;
- };
- typedef struct DriverInitInfo DriverInitInfo;
- typedef DriverInitInfo * DriverInitInfoPtr;
- typedef DriverInitInfo DriverReplaceInfo;
- typedef DriverInitInfo * DriverReplaceInfoPtr;
- struct DriverFinalInfo
- {
- DriverRefNum refNum;
- RegEntryID deviceEntry;
- };
- typedef struct DriverFinalInfo DriverFinalInfo;
- typedef DriverFinalInfo * DriverFinalInfoPtr;
- typedef DriverFinalInfo DriverSupersededInfo;
- typedef DriverFinalInfo * DriverSupersededInfoPtr;
-
- /* Contents are command specific*/
-
- union IOCommandContents
- {
- ParmBlkPtr pb;
- DriverInitInfoPtr initialInfo;
- DriverFinalInfoPtr finalInfo;
- DriverReplaceInfoPtr replaceInfo;
- DriverSupersededInfoPtr supersededInfo;
- };
- typedef union IOCommandContents IOCommandContents;
- typedef CALLBACK_API_C(OSErr , DriverEntryPointPtr)(AddressSpaceID SpaceID, IOCommandID CommandID, IOCommandContents Contents, IOCommandCode Code, IOCommandKind Kind);
- /* Record to describe a file-based driver candidate */
- struct FileBasedDriverRecord
- {
- FSSpec theSpec; /* file specification*/
- MacDriverType theType; /* nameInfoStr + version number*/
- Boolean compatibleProp; /* true if matched using a compatible name*/
- UInt8 pad[3]; /* alignment*/
- };
- typedef struct FileBasedDriverRecord FileBasedDriverRecord;
- typedef FileBasedDriverRecord * FileBasedDriverRecordPtr;
- /* Detailed Record to describe a file-based driver candidate. Includes fragment name */
- struct FileBasedDriverDetailed
- {
- FileBasedDriverRecord fileBasedDriver;
- Str63 fragName;
- };
- typedef struct FileBasedDriverDetailed FileBasedDriverDetailed;
- typedef FileBasedDriverDetailed * FileBasedDriverDetailedPtr;
- /* Driver Loader API */
+/* Values of the 'message' parameter to a Chooser device package */
+enum {
+ chooserInitMsg = 11, /* the user selected this device package */
+ newSelMsg = 12, /* the user made new device selections */
+ fillListMsg = 13, /* fill the device list with choices */
+ getSelMsg = 14, /* mark one or more choices as selected */
+ selectMsg = 15, /* the user made a selection */
+ deselectMsg = 16, /* the user canceled a selection */
+ terminateMsg = 17, /* allows device package to clean up */
+ buttonMsg = 19 /* the user selected a button */
+};
+
+
+/* Values of the 'caller' parameter to a Chooser device package */
+enum {
+ chooserID = 1
+};
+
+
+/* Values of the 'message' parameter to a Monitor 'mntr' */
+enum {
+ initMsg = 1, /*initialization*/
+ okMsg = 2, /*user clicked OK button*/
+ cancelMsg = 3, /*user clicked Cancel button*/
+ hitMsg = 4, /*user clicked control in Options dialog*/
+ nulMsg = 5, /*periodic event*/
+ updateMsg = 6, /*update event*/
+ activateMsg = 7, /*not used*/
+ deactivateMsg = 8, /*not used*/
+ keyEvtMsg = 9, /*keyboard event*/
+ superMsg = 10, /*show superuser controls*/
+ normalMsg = 11, /*show only normal controls*/
+ startupMsg = 12 /*code has been loaded*/
+};
+
+
+/* control codes for DeskAccessories */
+enum {
+ goodbye = -1, /* heap being reinitialized */
+ killCode = 1, /* KillIO requested */
+ accEvent = 64, /* handle an event */
+ accRun = 65, /* time for periodic action */
+ accCursor = 66, /* change cursor shape */
+ accMenu = 67, /* handle menu item */
+ accUndo = 68, /* handle undo command */
+ accCut = 70, /* handle cut command */
+ accCopy = 71, /* handle copy command */
+ accPaste = 72, /* handle paste command */
+ accClear = 73 /* handle clear command */
+};
+
+/* Control/Status Call Codes */
+/* drvStsCode, ejectCode and tgBuffCode are now defined in Disks.h/p/a */
+
+/* miscellaneous Device Manager constants */
+enum {
+ ioInProgress = 1, /* predefined value of ioResult while I/O is pending */
+ aRdCmd = 2, /* low byte of ioTrap for Read calls */
+ aWrCmd = 3, /* low byte of ioTrap for Write calls */
+ asyncTrpBit = 10, /* trap word modifier */
+ noQueueBit = 9 /* trap word modifier */
+};
+
+/* flags used in the driver header and device control entry */
+enum {
+ dReadEnable = 0, /* set if driver responds to read requests */
+ dWritEnable = 1, /* set if driver responds to write requests */
+ dCtlEnable = 2, /* set if driver responds to control requests */
+ dStatEnable = 3, /* set if driver responds to status requests */
+ dNeedGoodBye = 4, /* set if driver needs time for performing periodic tasks */
+ dNeedTime = 5, /* set if driver needs time for performing periodic tasks */
+ dNeedLock = 6 /* set if driver must be locked in memory as soon as it is opened */
+};
+
+enum {
+ dNeedLockMask = 0x4000, /* set if driver must be locked in memory as soon as it is opened */
+ dNeedTimeMask = 0x2000, /* set if driver needs time for performing periodic tasks */
+ dNeedGoodByeMask = 0x1000, /* set if driver needs to be called before the application heap is initialized */
+ dStatEnableMask = 0x0800, /* set if driver responds to status requests */
+ dCtlEnableMask = 0x0400, /* set if driver responds to control requests */
+ dWritEnableMask = 0x0200, /* set if driver responds to write requests */
+ dReadEnableMask = 0x0100 /* set if driver responds to read requests */
+};
+
+
+/* run-time flags used in the device control entry */
+enum {
+ dVMImmuneBit = 0, /* driver does not need VM protection */
+ dOpened = 5, /* driver is open */
+ dRAMBased = 6, /* dCtlDriver is a handle (1) or pointer (0) */
+ drvrActive = 7 /* driver is currently processing a request */
+};
+
+enum {
+ dVMImmuneMask = 0x0001, /* driver does not need VM protection */
+ dOpenedMask = 0x0020, /* driver is open */
+ dRAMBasedMask = 0x0040, /* dCtlDriver is a handle (1) or pointer (0) */
+ drvrActiveMask = 0x0080 /* driver is currently processing a request */
+};
+
+struct DRVRHeader {
+ short drvrFlags;
+ short drvrDelay;
+ short drvrEMask;
+ short drvrMenu;
+ short drvrOpen;
+ short drvrPrime;
+ short drvrCtl;
+ short drvrStatus;
+ short drvrClose;
+ unsigned char drvrName[1];
+};
+typedef struct DRVRHeader DRVRHeader;
+typedef DRVRHeader * DRVRHeaderPtr;
+typedef DRVRHeaderPtr * DRVRHeaderHandle;
+struct DCtlEntry {
+ Ptr dCtlDriver;
+ volatile short dCtlFlags;
+ QHdr dCtlQHdr;
+ volatile long dCtlPosition;
+ Handle dCtlStorage;
+ short dCtlRefNum;
+ long dCtlCurTicks;
+ GrafPtr dCtlWindow;
+ short dCtlDelay;
+ short dCtlEMask;
+ short dCtlMenu;
+};
+typedef struct DCtlEntry DCtlEntry;
+typedef DCtlEntry * DCtlPtr;
+typedef DCtlPtr * DCtlHandle;
+struct AuxDCE {
+ Ptr dCtlDriver;
+ volatile short dCtlFlags;
+ QHdr dCtlQHdr;
+ long dCtlPosition;
+ Handle dCtlStorage;
+ short dCtlRefNum;
+ long dCtlCurTicks;
+ GrafPtr dCtlWindow;
+ short dCtlDelay;
+ short dCtlEMask;
+ short dCtlMenu;
+ SInt8 dCtlSlot;
+ SInt8 dCtlSlotId;
+ long dCtlDevBase;
+ Ptr dCtlOwner;
+ SInt8 dCtlExtDev;
+ SInt8 fillByte;
+ UInt32 dCtlNodeID;
+};
+typedef struct AuxDCE AuxDCE;
+typedef AuxDCE * AuxDCEPtr;
+typedef AuxDCEPtr * AuxDCEHandle;
+/* The NDRV Driver IO Entry Point and Commands */
+typedef UInt16 UnitNumber;
+typedef UInt32 DriverOpenCount;
+typedef SInt16 DriverRefNum;
+typedef SInt16 DriverFlags;
+typedef UInt32 IOCommandCode;
+enum {
+ kOpenCommand = 0,
+ kCloseCommand = 1,
+ kReadCommand = 2,
+ kWriteCommand = 3,
+ kControlCommand = 4,
+ kStatusCommand = 5,
+ kKillIOCommand = 6,
+ kInitializeCommand = 7, /* init driver and device*/
+ kFinalizeCommand = 8, /* shutdown driver and device*/
+ kReplaceCommand = 9, /* replace an old driver*/
+ kSupersededCommand = 10, /* prepare to be replaced by a new driver*/
+ kSuspendCommand = 11, /* prepare driver to go to sleep*/
+ kResumeCommand = 12 /* wake up sleeping driver*/
+};
+
+typedef MPAddressSpaceID AddressSpaceID;
+typedef struct OpaqueIOCommandID* IOCommandID;
+struct MacDriverType {
+ long filler[9];
+};
+typedef struct MacDriverType MacDriverType;
+typedef MacDriverType * DriverTypePtr;
+struct DriverDescription {
+ long filler[32];
+};
+typedef struct DriverDescription DriverDescription;
+typedef DriverDescription * DriverDescriptionPtr;
+typedef UInt32 IOCommandKind;
+enum {
+ kSynchronousIOCommandKind = 0x00000001,
+ kAsynchronousIOCommandKind = 0x00000002,
+ kImmediateIOCommandKind = 0x00000004
+};
+
+struct DriverInitInfo {
+ DriverRefNum refNum;
+ RegEntryID deviceEntry;
+};
+typedef struct DriverInitInfo DriverInitInfo;
+typedef DriverInitInfo * DriverInitInfoPtr;
+typedef DriverInitInfo DriverReplaceInfo;
+typedef DriverInitInfo * DriverReplaceInfoPtr;
+struct DriverFinalInfo {
+ DriverRefNum refNum;
+ RegEntryID deviceEntry;
+};
+typedef struct DriverFinalInfo DriverFinalInfo;
+typedef DriverFinalInfo * DriverFinalInfoPtr;
+typedef DriverFinalInfo DriverSupersededInfo;
+typedef DriverFinalInfo * DriverSupersededInfoPtr;
+
+/* Contents are command specific*/
+
+union IOCommandContents {
+ ParmBlkPtr pb;
+ DriverInitInfoPtr initialInfo;
+ DriverFinalInfoPtr finalInfo;
+ DriverReplaceInfoPtr replaceInfo;
+ DriverSupersededInfoPtr supersededInfo;
+};
+typedef union IOCommandContents IOCommandContents;
+typedef CALLBACK_API_C( OSErr , DriverEntryPointPtr )(AddressSpaceID SpaceID, IOCommandID CommandID, IOCommandContents Contents, IOCommandCode Code, IOCommandKind Kind);
+/* Record to describe a file-based driver candidate */
+struct FileBasedDriverRecord {
+ FSSpec theSpec; /* file specification*/
+ MacDriverType theType; /* nameInfoStr + version number*/
+ Boolean compatibleProp; /* true if matched using a compatible name*/
+ UInt8 pad[3]; /* alignment*/
+};
+typedef struct FileBasedDriverRecord FileBasedDriverRecord;
+typedef FileBasedDriverRecord * FileBasedDriverRecordPtr;
+/* Detailed Record to describe a file-based driver candidate. Includes fragment name */
+struct FileBasedDriverDetailed {
+ FileBasedDriverRecord fileBasedDriver;
+ Str63 fragName;
+};
+typedef struct FileBasedDriverDetailed FileBasedDriverDetailed;
+typedef FileBasedDriverDetailed * FileBasedDriverDetailedPtr;
+/* Driver Loader API */
#define DECLARE_DRIVERDESCRIPTION(N_ADDITIONAL_SERVICES)\
struct {\
DriverDescription fixed;\
@@ -330,840 +310,840 @@ extern "C" {
};
#if CALL_NOT_IN_CARBON
- /*
- * HigherDriverVersion()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- HigherDriverVersion(
- const NumVersion * driverVersion1,
- const NumVersion * driverVersion2);
-
-
- /*
- * VerifyFragmentAsDriver()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- VerifyFragmentAsDriver(
- CFragConnectionID fragmentConnID,
- DriverEntryPointPtr * fragmentMain,
- DriverDescriptionPtr * driverDesc);
-
-
- /*
- * GetDriverMemoryFragment()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- GetDriverMemoryFragment(
- Ptr memAddr,
- long length,
- ConstStr63Param fragName,
- CFragConnectionID * fragmentConnID,
- DriverEntryPointPtr * fragmentMain,
- DriverDescriptionPtr * driverDesc);
-
-
- /*
- * GetDriverDiskFragment()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- GetDriverDiskFragment(
- FSSpecPtr fragmentSpec,
- CFragConnectionID * fragmentConnID,
- DriverEntryPointPtr * fragmentMain,
- DriverDescriptionPtr * driverDesc);
-
-
- /*
- * GetNamedDriverDiskFragment()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- GetNamedDriverDiskFragment(
- FSSpecPtr fragmentSpec,
- ConstStr63Param fragName,
- CFragConnectionID * fragmentConnID,
- DriverEntryPointPtr * fragmentMain,
- DriverDescriptionPtr * driverDesc);
-
-
- /*
- * InstallDriverFromFragment()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InstallDriverFromFragment(
- CFragConnectionID fragmentConnID,
- RegEntryID * device,
- UnitNumber beginningUnit,
- UnitNumber endingUnit,
- DriverRefNum * refNum);
-
-
- /*
- * InstallDriverFromFile()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InstallDriverFromFile(
- FSSpecPtr fragmentSpec,
- RegEntryID * device,
- UnitNumber beginningUnit,
- UnitNumber endingUnit,
- DriverRefNum * refNum);
-
-
- /*
- * InstallDriverFromMemory()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InstallDriverFromMemory(
- Ptr memory,
- long length,
- ConstStr63Param fragName,
- RegEntryID * device,
- UnitNumber beginningUnit,
- UnitNumber endingUnit,
- DriverRefNum * refNum);
-
-
- /*
- * InstallDriverFromResource()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InstallDriverFromResource(
- SInt16 theRsrcID,
- ConstStr255Param theRsrcName,
- RegEntryIDPtr theDevice,
- UnitNumber theBeginningUnit,
- UnitNumber theEndingUnit,
- DriverRefNum * theRefNum);
-
-
- /*
- * InstallDriverFromDisk()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InstallDriverFromDisk(
- Ptr theDriverName,
- RegEntryID * theDevice,
- UnitNumber theBeginningUnit,
- UnitNumber theEndingUnit,
- DriverRefNum * theRefNum);
-
-
- /*
- * FindDriversForDevice()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- FindDriversForDevice(
- RegEntryID * device,
- FSSpec * fragmentSpec,
- DriverDescription * fileDriverDesc,
- Ptr * memAddr,
- long * length,
- StringPtr fragName,
- DriverDescription * memDriverDesc);
-
-
- /*
- * FindDriverForDeviceFromFile()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- FindDriverForDeviceFromFile(
- RegEntryID * device,
- FSSpec * fragmentSpec,
- DriverDescription * driverDesc,
- StringPtr fragName);
-
-
- /*
- * FindDriverCandidates()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- FindDriverCandidates(
- RegEntryID * deviceID,
- Ptr * propBasedDriver,
- RegPropertyValueSize * propBasedDriverSize,
- StringPtr deviceName,
- MacDriverType * propBasedDriverType,
- Boolean * gotPropBasedDriver,
- FileBasedDriverRecordPtr fileBasedDrivers,
- ItemCount * nFileBasedDrivers);
-
-
- /*
- * FindDriverCandidatesDetailed()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- FindDriverCandidatesDetailed(
- RegEntryIDPtr deviceID,
- Ptr * propBasedDriver,
- RegPropertyValueSize * propBasedDriverSize,
- StringPtr deviceName,
- MacDriverType * propBasedDriverType,
- Boolean * gotPropBasedDriver,
- FileBasedDriverDetailedPtr fileBasedDrivers,
- ItemCount * nFileBasedDrivers);
-
-
- /*
- * ScanDriverCandidates()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- ScanDriverCandidates(
- RegEntryID * deviceID,
- FileBasedDriverRecordPtr fileBasedDrivers,
- ItemCount nFileBasedDrivers,
- FileBasedDriverRecordPtr matchingDrivers,
- ItemCount * nMatchingDrivers);
-
-
- /*
- * ScanDriverCandidatesDetailed()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- ScanDriverCandidatesDetailed(
- RegEntryID * deviceID,
- FileBasedDriverDetailedPtr fileBasedDrivers,
- ItemCount nFileBasedDrivers,
- FileBasedDriverDetailedPtr matchingDrivers,
- ItemCount * nMatchingDrivers);
-
-
- /*
- * CompareFileCandToPropCand()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- CompareFileCandToPropCand(
- RegEntryID * device,
- StringPtr deviceName,
- DriverTypePtr propBasedCandidate,
- FileBasedDriverRecordPtr fileBasedCandidate);
-
-
- /*
- * GetCompatibleProperty()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GetCompatibleProperty(
- RegEntryID * device,
- StringPtr * compatibleNames,
- ItemCount * nCompatibleNames);
-
-
- /*
- * CompatibleDriverNames()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- CompatibleDriverNames(
- StringPtr nameInfoStr,
- StringPtr compatibleNames,
- ItemCount nCompatibleNames,
- long * nameCount);
-
-
- /*
- * GetDriverForDevice()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- GetDriverForDevice(
- RegEntryID * device,
- CFragConnectionID * fragmentConnID,
- DriverEntryPointPtr * fragmentMain,
- DriverDescriptionPtr * driverDesc);
-
-
- /*
- * InstallDriverForDevice()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InstallDriverForDevice(
- RegEntryID * device,
- UnitNumber beginningUnit,
- UnitNumber endingUnit,
- DriverRefNum * refNum);
-
-
- /*
- * GetDriverInformation()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- GetDriverInformation(
- DriverRefNum refNum,
- UnitNumber * unitNum,
- DriverFlags * flags,
- DriverOpenCount * count,
- StringPtr name,
- RegEntryID * device,
- CFragSystem7Locator * driverLoadLocation,
- CFragConnectionID * fragmentConnID,
- DriverEntryPointPtr * fragmentMain,
- DriverDescription * driverDesc);
-
-
- /*
- * GetDriverDescription()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- GetDriverDescription(
- LogicalAddress fragmentPtr,
- DriverDescriptionPtr * theDriverDesc);
-
-
- /*
- * GetNamedDriverDescFromFSSpec()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- GetNamedDriverDescFromFSSpec(
- FSSpecPtr fragmentSpec,
- StringPtr fragName,
- DriverDescriptionPtr * driverDesc);
-
-
- /*
- * SetDriverClosureMemory()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- SetDriverClosureMemory(
- CFragConnectionID fragmentConnID,
- Boolean holdDriverMemory);
-
-
- /*
- * ReplaceDriverWithFragment()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- ReplaceDriverWithFragment(
- DriverRefNum theRefNum,
- CFragConnectionID fragmentConnID);
-
-
- /*
- * OpenInstalledDriver()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- OpenInstalledDriver(
- DriverRefNum refNum,
- SInt8 ioPermission);
-
-
- /*
- * RenameDriver()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- RenameDriver(
- DriverRefNum refNum,
- StringPtr newDriverName);
-
-
- /*
- * RemoveDriver()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- RemoveDriver(
- DriverRefNum refNum,
- Boolean immediate);
-
-
- /*
- * LookupDrivers()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- LookupDrivers(
- UnitNumber beginningUnit,
- UnitNumber endingUnit,
- Boolean emptyUnits,
- ItemCount * returnedRefNums,
- DriverRefNum * refNums);
-
-
- /*
- * HighestUnitNumber()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UnitNumber)
- HighestUnitNumber(void);
-
-
- /*
- * DriverGestaltOn()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- DriverGestaltOn(DriverRefNum refNum);
-
-
- /*
- * DriverGestaltOff()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- DriverGestaltOff(DriverRefNum refNum);
-
-
- /*
- * DriverGestaltIsOn()
- *
- * Availability:
- * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- DriverGestaltIsOn(DriverFlags flags);
-
-
- /*
- * PBOpenSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * HigherDriverVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+HigherDriverVersion(
+ const NumVersion * driverVersion1,
+ const NumVersion * driverVersion2);
+
+
+/*
+ * VerifyFragmentAsDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+VerifyFragmentAsDriver(
+ CFragConnectionID fragmentConnID,
+ DriverEntryPointPtr * fragmentMain,
+ DriverDescriptionPtr * driverDesc);
+
+
+/*
+ * GetDriverMemoryFragment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+GetDriverMemoryFragment(
+ Ptr memAddr,
+ long length,
+ ConstStr63Param fragName,
+ CFragConnectionID * fragmentConnID,
+ DriverEntryPointPtr * fragmentMain,
+ DriverDescriptionPtr * driverDesc);
+
+
+/*
+ * GetDriverDiskFragment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+GetDriverDiskFragment(
+ FSSpecPtr fragmentSpec,
+ CFragConnectionID * fragmentConnID,
+ DriverEntryPointPtr * fragmentMain,
+ DriverDescriptionPtr * driverDesc);
+
+
+/*
+ * GetNamedDriverDiskFragment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+GetNamedDriverDiskFragment(
+ FSSpecPtr fragmentSpec,
+ ConstStr63Param fragName,
+ CFragConnectionID * fragmentConnID,
+ DriverEntryPointPtr * fragmentMain,
+ DriverDescriptionPtr * driverDesc);
+
+
+/*
+ * InstallDriverFromFragment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InstallDriverFromFragment(
+ CFragConnectionID fragmentConnID,
+ RegEntryID * device,
+ UnitNumber beginningUnit,
+ UnitNumber endingUnit,
+ DriverRefNum * refNum);
+
+
+/*
+ * InstallDriverFromFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InstallDriverFromFile(
+ FSSpecPtr fragmentSpec,
+ RegEntryID * device,
+ UnitNumber beginningUnit,
+ UnitNumber endingUnit,
+ DriverRefNum * refNum);
+
+
+/*
+ * InstallDriverFromMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InstallDriverFromMemory(
+ Ptr memory,
+ long length,
+ ConstStr63Param fragName,
+ RegEntryID * device,
+ UnitNumber beginningUnit,
+ UnitNumber endingUnit,
+ DriverRefNum * refNum);
+
+
+/*
+ * InstallDriverFromResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InstallDriverFromResource(
+ SInt16 theRsrcID,
+ ConstStr255Param theRsrcName,
+ RegEntryIDPtr theDevice,
+ UnitNumber theBeginningUnit,
+ UnitNumber theEndingUnit,
+ DriverRefNum * theRefNum);
+
+
+/*
+ * InstallDriverFromDisk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InstallDriverFromDisk(
+ Ptr theDriverName,
+ RegEntryID * theDevice,
+ UnitNumber theBeginningUnit,
+ UnitNumber theEndingUnit,
+ DriverRefNum * theRefNum);
+
+
+/*
+ * FindDriversForDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+FindDriversForDevice(
+ RegEntryID * device,
+ FSSpec * fragmentSpec,
+ DriverDescription * fileDriverDesc,
+ Ptr * memAddr,
+ long * length,
+ StringPtr fragName,
+ DriverDescription * memDriverDesc);
+
+
+/*
+ * FindDriverForDeviceFromFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+FindDriverForDeviceFromFile(
+ RegEntryID * device,
+ FSSpec * fragmentSpec,
+ DriverDescription * driverDesc,
+ StringPtr fragName);
+
+
+/*
+ * FindDriverCandidates()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+FindDriverCandidates(
+ RegEntryID * deviceID,
+ Ptr * propBasedDriver,
+ RegPropertyValueSize * propBasedDriverSize,
+ StringPtr deviceName,
+ MacDriverType * propBasedDriverType,
+ Boolean * gotPropBasedDriver,
+ FileBasedDriverRecordPtr fileBasedDrivers,
+ ItemCount * nFileBasedDrivers);
+
+
+/*
+ * FindDriverCandidatesDetailed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+FindDriverCandidatesDetailed(
+ RegEntryIDPtr deviceID,
+ Ptr * propBasedDriver,
+ RegPropertyValueSize * propBasedDriverSize,
+ StringPtr deviceName,
+ MacDriverType * propBasedDriverType,
+ Boolean * gotPropBasedDriver,
+ FileBasedDriverDetailedPtr fileBasedDrivers,
+ ItemCount * nFileBasedDrivers);
+
+
+/*
+ * ScanDriverCandidates()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+ScanDriverCandidates(
+ RegEntryID * deviceID,
+ FileBasedDriverRecordPtr fileBasedDrivers,
+ ItemCount nFileBasedDrivers,
+ FileBasedDriverRecordPtr matchingDrivers,
+ ItemCount * nMatchingDrivers);
+
+
+/*
+ * ScanDriverCandidatesDetailed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+ScanDriverCandidatesDetailed(
+ RegEntryID * deviceID,
+ FileBasedDriverDetailedPtr fileBasedDrivers,
+ ItemCount nFileBasedDrivers,
+ FileBasedDriverDetailedPtr matchingDrivers,
+ ItemCount * nMatchingDrivers);
+
+
+/*
+ * CompareFileCandToPropCand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+CompareFileCandToPropCand(
+ RegEntryID * device,
+ StringPtr deviceName,
+ DriverTypePtr propBasedCandidate,
+ FileBasedDriverRecordPtr fileBasedCandidate);
+
+
+/*
+ * GetCompatibleProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GetCompatibleProperty(
+ RegEntryID * device,
+ StringPtr * compatibleNames,
+ ItemCount * nCompatibleNames);
+
+
+/*
+ * CompatibleDriverNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+CompatibleDriverNames(
+ StringPtr nameInfoStr,
+ StringPtr compatibleNames,
+ ItemCount nCompatibleNames,
+ long * nameCount);
+
+
+/*
+ * GetDriverForDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+GetDriverForDevice(
+ RegEntryID * device,
+ CFragConnectionID * fragmentConnID,
+ DriverEntryPointPtr * fragmentMain,
+ DriverDescriptionPtr * driverDesc);
+
+
+/*
+ * InstallDriverForDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InstallDriverForDevice(
+ RegEntryID * device,
+ UnitNumber beginningUnit,
+ UnitNumber endingUnit,
+ DriverRefNum * refNum);
+
+
+/*
+ * GetDriverInformation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+GetDriverInformation(
+ DriverRefNum refNum,
+ UnitNumber * unitNum,
+ DriverFlags * flags,
+ DriverOpenCount * count,
+ StringPtr name,
+ RegEntryID * device,
+ CFragSystem7Locator * driverLoadLocation,
+ CFragConnectionID * fragmentConnID,
+ DriverEntryPointPtr * fragmentMain,
+ DriverDescription * driverDesc);
+
+
+/*
+ * GetDriverDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+GetDriverDescription(
+ LogicalAddress fragmentPtr,
+ DriverDescriptionPtr * theDriverDesc);
+
+
+/*
+ * GetNamedDriverDescFromFSSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+GetNamedDriverDescFromFSSpec(
+ FSSpecPtr fragmentSpec,
+ StringPtr fragName,
+ DriverDescriptionPtr * driverDesc);
+
+
+/*
+ * SetDriverClosureMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+SetDriverClosureMemory(
+ CFragConnectionID fragmentConnID,
+ Boolean holdDriverMemory);
+
+
+/*
+ * ReplaceDriverWithFragment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+ReplaceDriverWithFragment(
+ DriverRefNum theRefNum,
+ CFragConnectionID fragmentConnID);
+
+
+/*
+ * OpenInstalledDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+OpenInstalledDriver(
+ DriverRefNum refNum,
+ SInt8 ioPermission);
+
+
+/*
+ * RenameDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+RenameDriver(
+ DriverRefNum refNum,
+ StringPtr newDriverName);
+
+
+/*
+ * RemoveDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+RemoveDriver(
+ DriverRefNum refNum,
+ Boolean immediate);
+
+
+/*
+ * LookupDrivers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+LookupDrivers(
+ UnitNumber beginningUnit,
+ UnitNumber endingUnit,
+ Boolean emptyUnits,
+ ItemCount * returnedRefNums,
+ DriverRefNum * refNums);
+
+
+/*
+ * HighestUnitNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UnitNumber )
+HighestUnitNumber(void);
+
+
+/*
+ * DriverGestaltOn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+DriverGestaltOn(DriverRefNum refNum);
+
+
+/*
+ * DriverGestaltOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+DriverGestaltOff(DriverRefNum refNum);
+
+
+/*
+ * DriverGestaltIsOn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverLoaderLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+DriverGestaltIsOn(DriverFlags flags);
+
+
+/*
+ * PBOpenSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBOpenSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA000);
-
-
- /*
- * PBOpenAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBOpenSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA000);
+
+
+/*
+ * PBOpenAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenAsync(__A0)
#endif
- EXTERN_API(OSErr)
- PBOpenAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA400);
-
-
- /*
- * PBOpenImmed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBOpenAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA400);
+
+
+/*
+ * PBOpenImmed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenImmed(__A0)
#endif
- EXTERN_API(OSErr)
- PBOpenImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA200);
+EXTERN_API( OSErr )
+PBOpenImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA200);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBCloseSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCloseSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCloseSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCloseSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA001);
-
-
- /*
- * PBCloseAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+PBCloseSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA001);
+
+
+/*
+ * PBCloseAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCloseAsync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCloseAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA401);
+EXTERN_API( OSErr )
+PBCloseAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA401);
#if CALL_NOT_IN_CARBON
- /*
- * PBCloseImmed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBCloseImmed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCloseImmed(__A0)
#endif
- EXTERN_API(OSErr)
- PBCloseImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA201);
+EXTERN_API( OSErr )
+PBCloseImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA201);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBReadSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBReadSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBReadSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBReadSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA002);
-
-
- /*
- * PBReadAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+PBReadSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA002);
+
+
+/*
+ * PBReadAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBReadAsync(__A0)
#endif
- EXTERN_API(OSErr)
- PBReadAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA402);
+EXTERN_API( OSErr )
+PBReadAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA402);
#if CALL_NOT_IN_CARBON
- /*
- * PBReadImmed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBReadImmed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBReadImmed(__A0)
#endif
- EXTERN_API(OSErr)
- PBReadImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA202);
+EXTERN_API( OSErr )
+PBReadImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA202);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBWriteSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBWriteSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBWriteSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBWriteSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA003);
-
-
- /*
- * PBWriteAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+PBWriteSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA003);
+
+
+/*
+ * PBWriteAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBWriteAsync(__A0)
#endif
- EXTERN_API(OSErr)
- PBWriteAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA403);
+EXTERN_API( OSErr )
+PBWriteAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA403);
#if CALL_NOT_IN_CARBON
- /*
- * PBWriteImmed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBWriteImmed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBWriteImmed(__A0)
#endif
- EXTERN_API(OSErr)
- PBWriteImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA203);
+EXTERN_API( OSErr )
+PBWriteImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA203);
- /*
- PBWaitIOComplete is a friendly way for applications to monitor
- a pending asynchronous I/O operation in power-managed and
- preemptive multitasking systems.
- */
+/*
+ PBWaitIOComplete is a friendly way for applications to monitor
+ a pending asynchronous I/O operation in power-managed and
+ preemptive multitasking systems.
+ */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBWaitIOComplete()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PBWaitIOComplete(
- ParmBlkPtr paramBlock,
- Duration timeout);
+/*
+ * PBWaitIOComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PBWaitIOComplete(
+ ParmBlkPtr paramBlock,
+ Duration timeout);
- /* AddDrive and GetDrvQHdr are now defined in Disks.h/p/a */
+/* AddDrive and GetDrvQHdr are now defined in Disks.h/p/a */
#if CALL_NOT_IN_CARBON
- /*
- * GetDCtlEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(DCtlHandle)
- GetDCtlEntry(short refNum);
-
-
- /*
- SetChooserAlert used to simply set a bit in a low-mem global
- to tell the Chooser not to display its warning message when
- the printer is changed. However, under MultiFinder and System 7,
- this low-mem is swapped out when a layer change occurs, and the
- Chooser never sees the change. It is obsolete, and completely
- unsupported on the PowerPC. 68K apps can still call it if they
- wish.
-
- pascal Boolean SetChooserAlert(Boolean f);
-
- */
- /*
- * DriverInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetDCtlEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( DCtlHandle )
+GetDCtlEntry(short refNum);
+
+
+/*
+ SetChooserAlert used to simply set a bit in a low-mem global
+ to tell the Chooser not to display its warning message when
+ the printer is changed. However, under MultiFinder and System 7,
+ this low-mem is swapped out when a layer change occurs, and the
+ Chooser never sees the change. It is obsolete, and completely
+ unsupported on the PowerPC. 68K apps can still call it if they
+ wish.
+
+ pascal Boolean SetChooserAlert(Boolean f);
+
+*/
+/*
+ * DriverInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DriverInstall(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- DriverInstall(
- DRVRHeaderPtr drvrPtr,
- short refNum) ONEWORDINLINE(0xA03D);
-
-
- /*
- * DriverInstallReserveMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+DriverInstall(
+ DRVRHeaderPtr drvrPtr,
+ short refNum) ONEWORDINLINE(0xA03D);
+
+
+/*
+ * DriverInstallReserveMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DriverInstallReserveMem(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- DriverInstallReserveMem(
- DRVRHeaderPtr drvrPtr,
- short refNum) ONEWORDINLINE(0xA43D);
-
-
- /*
- Note: DrvrInstall() is no longer supported, becuase it never really worked anyways.
- There will soon be a DriverInstall() which does the right thing.
-
- DrvrRemove has been renamed to DriverRemove. But, InterfaceLib for PowerPC
- still exports DrvrRemove, so a macro is used to map the new name to old.
-
- */
- /*
- * DrvrRemove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+DriverInstallReserveMem(
+ DRVRHeaderPtr drvrPtr,
+ short refNum) ONEWORDINLINE(0xA43D);
+
+
+/*
+ Note: DrvrInstall() is no longer supported, becuase it never really worked anyways.
+ There will soon be a DriverInstall() which does the right thing.
+
+ DrvrRemove has been renamed to DriverRemove. But, InterfaceLib for PowerPC
+ still exports DrvrRemove, so a macro is used to map the new name to old.
+
+*/
+/*
+ * DrvrRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DrvrRemove(__D0)
#endif
- EXTERN_API(OSErr)
- DrvrRemove(short refNum) ONEWORDINLINE(0xA03E);
+EXTERN_API( OSErr )
+DrvrRemove(short refNum) ONEWORDINLINE(0xA03E);
#endif /* CALL_NOT_IN_CARBON */
@@ -1171,327 +1151,327 @@ extern "C" {
#define DriverRemove(refNum) DrvrRemove(refNum)
#if CALL_NOT_IN_CARBON
- /*
- * [Mac]OpenDriver()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * [Mac]OpenDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC
-#define MacOpenDriver OpenDriver
+ #define MacOpenDriver OpenDriver
#endif
- EXTERN_API(OSErr)
- MacOpenDriver(
- ConstStr255Param name,
- short * drvrRefNum);
-
-
- /*
- * [Mac]CloseDriver()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+MacOpenDriver(
+ ConstStr255Param name,
+ short * drvrRefNum);
+
+
+/*
+ * [Mac]CloseDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC
-#define MacCloseDriver CloseDriver
+ #define MacCloseDriver CloseDriver
#endif
- EXTERN_API(OSErr)
- MacCloseDriver(short refNum);
-
-
- /*
- * Control()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- Control(
- short refNum,
- short csCode,
- const void * csParamPtr);
-
-
- /*
- * Status()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- Status(
- short refNum,
- short csCode,
- void * csParamPtr);
-
-
- /*
- * KillIO()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- KillIO(short refNum);
-
-
- /*
- * Fetch()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+MacCloseDriver(short refNum);
+
+
+/*
+ * Control()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+Control(
+ short refNum,
+ short csCode,
+ const void * csParamPtr);
+
+
+/*
+ * Status()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+Status(
+ short refNum,
+ short csCode,
+ void * csParamPtr);
+
+
+/*
+ * KillIO()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+KillIO(short refNum);
+
+
+/*
+ * Fetch()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 Fetch(__A1)
#endif
- EXTERN_API(long)
- Fetch(DCtlPtr dce) THREEWORDINLINE(0x2078, 0x08F4, 0x4E90);
-
-
- /*
- * Stash()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( long )
+Fetch(DCtlPtr dce) THREEWORDINLINE(0x2078, 0x08F4, 0x4E90);
+
+
+/*
+ * Stash()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 Stash(__A1, __D0)
#endif
- EXTERN_API(long)
- Stash(
- DCtlPtr dce,
- char data) THREEWORDINLINE(0x2078, 0x08F8, 0x4E90);
-
-
- /*
- * IODone()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( long )
+Stash(
+ DCtlPtr dce,
+ char data) THREEWORDINLINE(0x2078, 0x08F8, 0x4E90);
+
+
+/*
+ * IODone()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter IODone(__A1, __D0)
#endif
- EXTERN_API(void)
- IODone(
- DCtlPtr dce,
- OSErr ioResult) THREEWORDINLINE(0x2078, 0x08FC, 0x4E90);
+EXTERN_API( void )
+IODone(
+ DCtlPtr dce,
+ OSErr ioResult) THREEWORDINLINE(0x2078, 0x08FC, 0x4E90);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * PBControlSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBControlSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBControlSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBControlSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA004);
-
-
- /*
- * PBControlAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBControlSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA004);
+
+
+/*
+ * PBControlAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBControlAsync(__A0)
#endif
- EXTERN_API(OSErr)
- PBControlAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA404);
-
-
- /*
- * PBControlImmed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBControlAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA404);
+
+
+/*
+ * PBControlImmed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBControlImmed(__A0)
#endif
- EXTERN_API(OSErr)
- PBControlImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA204);
-
-
- /*
- * PBStatusSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBControlImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA204);
+
+
+/*
+ * PBStatusSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBStatusSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBStatusSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA005);
-
-
- /*
- * PBStatusAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBStatusSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA005);
+
+
+/*
+ * PBStatusAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBStatusAsync(__A0)
#endif
- EXTERN_API(OSErr)
- PBStatusAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA405);
-
-
- /*
- * PBStatusImmed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBStatusAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA405);
+
+
+/*
+ * PBStatusImmed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBStatusImmed(__A0)
#endif
- EXTERN_API(OSErr)
- PBStatusImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA205);
-
-
- /*
- * PBKillIOSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBStatusImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA205);
+
+
+/*
+ * PBKillIOSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBKillIOSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBKillIOSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA006);
-
-
- /*
- * PBKillIOAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBKillIOSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA006);
+
+
+/*
+ * PBKillIOAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBKillIOAsync(__A0)
#endif
- EXTERN_API(OSErr)
- PBKillIOAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA406);
-
-
- /*
- * PBKillIOImmed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+PBKillIOAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA406);
+
+
+/*
+ * PBKillIOImmed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBKillIOImmed(__A0)
#endif
- EXTERN_API(OSErr)
- PBKillIOImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA206);
-
-
- /*
- * OpenDeskAcc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- OpenDeskAcc(ConstStr255Param deskAccName) ONEWORDINLINE(0xA9B6);
-
-
- /*
- * CloseDeskAcc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CloseDeskAcc(short refNum) ONEWORDINLINE(0xA9B7);
+EXTERN_API( OSErr )
+PBKillIOImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA206);
+
+
+/*
+ * OpenDeskAcc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+OpenDeskAcc(ConstStr255Param deskAccName) ONEWORDINLINE(0xA9B6);
+
+
+/*
+ * CloseDeskAcc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CloseDeskAcc(short refNum) ONEWORDINLINE(0xA9B7);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * opendeskacc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- opendeskacc(const char * deskAccName);
-
-
- /*
- * opendriver()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- opendriver(
- const char * driverName,
- short * refNum);
+/*
+ * opendeskacc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+opendeskacc(const char * deskAccName);
-#endif /* CALL_NOT_IN_CARBON */
+/*
+ * opendriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+opendriver(
+ const char * driverName,
+ short * refNum);
+
- /*
- The PBxxx() routines are obsolete.
+#endif /* CALL_NOT_IN_CARBON */
- Use the PBxxxSync(), PBxxxAsync(), or PBxxxImmed version instead.
- */
+/*
+ The PBxxx() routines are obsolete.
+
+ Use the PBxxxSync(), PBxxxAsync(), or PBxxxImmed version instead.
+*/
#define PBControl(pb, async) ((async) ? PBControlAsync(pb) : PBControlSync(pb))
#define PBStatus(pb, async) ((async) ? PBStatusAsync(pb) : PBStatusSync(pb))
#define PBKillIO(pb, async) ((async) ? PBKillIOAsync(pb) : PBKillIOSync(pb))
@@ -1507,11 +1487,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Dialogs.h b/include/qt/Dialogs.h
index 81e0f9876..553df0e7f 100644
--- a/include/qt/Dialogs.h
+++ b/include/qt/Dialogs.h
@@ -1,17 +1,17 @@
/*
File: Dialogs.h
-
+
Contains: Dialog Manager interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DIALOGS__
#define __DIALOGS__
@@ -64,2109 +64,2029 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- /* new, more standard names for dialog item types*/
- kControlDialogItem = 4,
- kButtonDialogItem = kControlDialogItem | 0,
- kCheckBoxDialogItem = kControlDialogItem | 1,
- kRadioButtonDialogItem = kControlDialogItem | 2,
- kResourceControlDialogItem = kControlDialogItem | 3,
- kStaticTextDialogItem = 8,
- kEditTextDialogItem = 16,
- kIconDialogItem = 32,
- kPictureDialogItem = 64,
- kUserDialogItem = 0,
- kHelpDialogItem = 1,
- kItemDisableBit = 128
- };
-
- enum
- {
- /* old names for dialog item types*/
- ctrlItem = 4,
- btnCtrl = 0,
- chkCtrl = 1,
- radCtrl = 2,
- resCtrl = 3,
- statText = 8,
- editText = 16,
- iconItem = 32,
- picItem = 64,
- userItem = 0,
- itemDisable = 128
- };
-
- enum
- {
- /* standard dialog item numbers*/
- kStdOkItemIndex = 1,
- kStdCancelItemIndex = 2, /* old names*/
- ok = kStdOkItemIndex,
- cancel = kStdCancelItemIndex
- };
-
- enum
- {
- /* standard icon resource id's */
- kStopIcon = 0,
- kNoteIcon = 1,
- kCautionIcon = 2, /* old names*/
- stopIcon = kStopIcon,
- noteIcon = kNoteIcon,
- cautionIcon = kCautionIcon
- };
+enum {
+ /* new, more standard names for dialog item types*/
+ kControlDialogItem = 4,
+ kButtonDialogItem = kControlDialogItem | 0,
+ kCheckBoxDialogItem = kControlDialogItem | 1,
+ kRadioButtonDialogItem = kControlDialogItem | 2,
+ kResourceControlDialogItem = kControlDialogItem | 3,
+ kStaticTextDialogItem = 8,
+ kEditTextDialogItem = 16,
+ kIconDialogItem = 32,
+ kPictureDialogItem = 64,
+ kUserDialogItem = 0,
+ kHelpDialogItem = 1,
+ kItemDisableBit = 128
+};
+
+enum {
+ /* old names for dialog item types*/
+ ctrlItem = 4,
+ btnCtrl = 0,
+ chkCtrl = 1,
+ radCtrl = 2,
+ resCtrl = 3,
+ statText = 8,
+ editText = 16,
+ iconItem = 32,
+ picItem = 64,
+ userItem = 0,
+ itemDisable = 128
+};
+
+enum {
+ /* standard dialog item numbers*/
+ kStdOkItemIndex = 1,
+ kStdCancelItemIndex = 2, /* old names*/
+ ok = kStdOkItemIndex,
+ cancel = kStdCancelItemIndex
+};
+
+enum {
+ /* standard icon resource id's */
+ kStopIcon = 0,
+ kNoteIcon = 1,
+ kCautionIcon = 2, /* old names*/
+ stopIcon = kStopIcon,
+ noteIcon = kNoteIcon,
+ cautionIcon = kCautionIcon
+};
#if OLDROUTINENAMES
- /*
- These constants lived briefly on ETO 16. They suggest
- that there is only one index you can use for the OK
- item, which is not true. You can put the ok item
- anywhere you want in the DITL.
- */
- enum
- {
- kOkItemIndex = 1,
- kCancelItemIndex = 2
- };
+/*
+ These constants lived briefly on ETO 16. They suggest
+ that there is only one index you can use for the OK
+ item, which is not true. You can put the ok item
+ anywhere you want in the DITL.
+*/
+enum {
+ kOkItemIndex = 1,
+ kCancelItemIndex = 2
+};
#endif /* OLDROUTINENAMES */
- /* Dialog Item List Manipulation Constants */
- typedef SInt16 DITLMethod;
- enum
- {
- overlayDITL = 0,
- appendDITLRight = 1,
- appendDITLBottom = 2
- };
-
- typedef SInt16 StageList;
- /* DialogPtr is obsolete. Use DialogRef instead.*/
- typedef DialogPtr DialogRef;
+/* Dialog Item List Manipulation Constants */
+typedef SInt16 DITLMethod;
+enum {
+ overlayDITL = 0,
+ appendDITLRight = 1,
+ appendDITLBottom = 2
+};
+
+typedef SInt16 StageList;
+/* DialogPtr is obsolete. Use DialogRef instead.*/
+typedef DialogPtr DialogRef;
#if !OPAQUE_TOOLBOX_STRUCTS
- struct DialogRecord
- {
- WindowRecord window; /* in Carbon use GetDialogWindow or GetDialogPort*/
- Handle items; /* in Carbon use Get/SetDialogItem*/
- TEHandle textH; /* in Carbon use GetDialogTextEditHandle*/
- SInt16 editField; /* in Carbon use SelectDialogItemText/GetDialogKeyboardFocusItem*/
- SInt16 editOpen; /* not available in Carbon */
- SInt16 aDefItem; /* in Carbon use Get/SetDialogDefaultItem*/
- };
- typedef struct DialogRecord DialogRecord;
- typedef DialogRecord * DialogPeek;
+struct DialogRecord {
+ WindowRecord window; /* in Carbon use GetDialogWindow or GetDialogPort*/
+ Handle items; /* in Carbon use Get/SetDialogItem*/
+ TEHandle textH; /* in Carbon use GetDialogTextEditHandle*/
+ SInt16 editField; /* in Carbon use SelectDialogItemText/GetDialogKeyboardFocusItem*/
+ SInt16 editOpen; /* not available in Carbon */
+ SInt16 aDefItem; /* in Carbon use Get/SetDialogDefaultItem*/
+};
+typedef struct DialogRecord DialogRecord;
+typedef DialogRecord * DialogPeek;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- struct DialogTemplate
- {
- Rect boundsRect;
- SInt16 procID;
- Boolean visible;
- Boolean filler1;
- Boolean goAwayFlag;
- Boolean filler2;
- SInt32 refCon;
- SInt16 itemsID;
- Str255 title;
- };
- typedef struct DialogTemplate DialogTemplate;
- typedef DialogTemplate * DialogTPtr;
- typedef DialogTPtr * DialogTHndl;
- struct AlertTemplate
- {
- Rect boundsRect;
- SInt16 itemsID;
- StageList stages;
- };
- typedef struct AlertTemplate AlertTemplate;
- typedef AlertTemplate * AlertTPtr;
- typedef AlertTPtr * AlertTHndl;
- /* new type abstractions for the dialog manager */
- typedef SInt16 DialogItemIndexZeroBased;
- typedef SInt16 DialogItemIndex;
- typedef SInt16 DialogItemType;
- /* dialog manager callbacks */
- typedef CALLBACK_API(void , SoundProcPtr)(SInt16 soundNumber);
- typedef CALLBACK_API(Boolean , ModalFilterProcPtr)(DialogRef theDialog, EventRecord *theEvent, DialogItemIndex *itemHit);
- /* ModalFilterYDProcPtr was previously in StandardFile.h */
- typedef CALLBACK_API(Boolean , ModalFilterYDProcPtr)(DialogRef theDialog, EventRecord *theEvent, short *itemHit, void *yourDataPtr);
- typedef CALLBACK_API(void , UserItemProcPtr)(DialogRef theDialog, DialogItemIndex itemNo);
- typedef STACK_UPP_TYPE(SoundProcPtr) SoundUPP;
- typedef STACK_UPP_TYPE(ModalFilterProcPtr) ModalFilterUPP;
- typedef STACK_UPP_TYPE(ModalFilterYDProcPtr) ModalFilterYDUPP;
- typedef STACK_UPP_TYPE(UserItemProcPtr) UserItemUPP;
+struct DialogTemplate {
+ Rect boundsRect;
+ SInt16 procID;
+ Boolean visible;
+ Boolean filler1;
+ Boolean goAwayFlag;
+ Boolean filler2;
+ SInt32 refCon;
+ SInt16 itemsID;
+ Str255 title;
+};
+typedef struct DialogTemplate DialogTemplate;
+typedef DialogTemplate * DialogTPtr;
+typedef DialogTPtr * DialogTHndl;
+struct AlertTemplate {
+ Rect boundsRect;
+ SInt16 itemsID;
+ StageList stages;
+};
+typedef struct AlertTemplate AlertTemplate;
+typedef AlertTemplate * AlertTPtr;
+typedef AlertTPtr * AlertTHndl;
+/* new type abstractions for the dialog manager */
+typedef SInt16 DialogItemIndexZeroBased;
+typedef SInt16 DialogItemIndex;
+typedef SInt16 DialogItemType;
+/* dialog manager callbacks */
+typedef CALLBACK_API( void , SoundProcPtr )(SInt16 soundNumber);
+typedef CALLBACK_API( Boolean , ModalFilterProcPtr )(DialogRef theDialog, EventRecord *theEvent, DialogItemIndex *itemHit);
+/* ModalFilterYDProcPtr was previously in StandardFile.h */
+typedef CALLBACK_API( Boolean , ModalFilterYDProcPtr )(DialogRef theDialog, EventRecord *theEvent, short *itemHit, void *yourDataPtr);
+typedef CALLBACK_API( void , UserItemProcPtr )(DialogRef theDialog, DialogItemIndex itemNo);
+typedef STACK_UPP_TYPE(SoundProcPtr) SoundUPP;
+typedef STACK_UPP_TYPE(ModalFilterProcPtr) ModalFilterUPP;
+typedef STACK_UPP_TYPE(ModalFilterYDProcPtr) ModalFilterYDUPP;
+typedef STACK_UPP_TYPE(UserItemProcPtr) UserItemUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewSoundUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SoundUPP)
- NewSoundUPP(SoundProcPtr userRoutine);
+/*
+ * NewSoundUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SoundUPP )
+NewSoundUPP(SoundProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSoundProcInfo = 0x00000080 }; /* pascal no_return_value Func(2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SoundUPP) NewSoundUPP(SoundProcPtr userRoutine)
- {
- return (SoundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSoundUPP(userRoutine) (SoundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSoundProcInfo = 0x00000080 }; /* pascal no_return_value Func(2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SoundUPP) NewSoundUPP(SoundProcPtr userRoutine) { return (SoundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSoundUPP(userRoutine) (SoundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ModalFilterUPP)
- NewModalFilterUPP(ModalFilterProcPtr userRoutine);
+/*
+ * NewModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ModalFilterUPP )
+NewModalFilterUPP(ModalFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppModalFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ModalFilterUPP) NewModalFilterUPP(ModalFilterProcPtr userRoutine)
- {
- return (ModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewModalFilterUPP(userRoutine) (ModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppModalFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ModalFilterUPP) NewModalFilterUPP(ModalFilterProcPtr userRoutine) { return (ModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewModalFilterUPP(userRoutine) (ModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewModalFilterYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ModalFilterYDUPP)
- NewModalFilterYDUPP(ModalFilterYDProcPtr userRoutine);
+/*
+ * NewModalFilterYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ModalFilterYDUPP )
+NewModalFilterYDUPP(ModalFilterYDProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppModalFilterYDProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ModalFilterYDUPP) NewModalFilterYDUPP(ModalFilterYDProcPtr userRoutine)
- {
- return (ModalFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterYDProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewModalFilterYDUPP(userRoutine) (ModalFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterYDProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppModalFilterYDProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ModalFilterYDUPP) NewModalFilterYDUPP(ModalFilterYDProcPtr userRoutine) { return (ModalFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterYDProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewModalFilterYDUPP(userRoutine) (ModalFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterYDProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewUserItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UserItemUPP)
- NewUserItemUPP(UserItemProcPtr userRoutine);
+/*
+ * NewUserItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UserItemUPP )
+NewUserItemUPP(UserItemProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppUserItemProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(UserItemUPP) NewUserItemUPP(UserItemProcPtr userRoutine)
- {
- return (UserItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserItemProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewUserItemUPP(userRoutine) (UserItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserItemProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppUserItemProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UserItemUPP) NewUserItemUPP(UserItemProcPtr userRoutine) { return (UserItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserItemProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewUserItemUPP(userRoutine) (UserItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserItemProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * DisposeSoundUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSoundUPP(SoundUPP userUPP);
+/*
+ * DisposeSoundUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSoundUPP(SoundUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSoundUPP(SoundUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSoundUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSoundUPP(SoundUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSoundUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DisposeModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeModalFilterUPP(ModalFilterUPP userUPP);
+/*
+ * DisposeModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeModalFilterUPP(ModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeModalFilterUPP(ModalFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeModalFilterUPP(ModalFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeModalFilterYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeModalFilterYDUPP(ModalFilterYDUPP userUPP);
+/*
+ * DisposeModalFilterYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeModalFilterYDUPP(ModalFilterYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeModalFilterYDUPP(ModalFilterYDUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeModalFilterYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeModalFilterYDUPP(ModalFilterYDUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeModalFilterYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeUserItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeUserItemUPP(UserItemUPP userUPP);
+/*
+ * DisposeUserItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeUserItemUPP(UserItemUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeUserItemUPP(UserItemUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeUserItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeUserItemUPP(UserItemUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeUserItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * InvokeSoundUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeSoundUPP(
- SInt16 soundNumber,
- SoundUPP userUPP);
+/*
+ * InvokeSoundUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeSoundUPP(
+ SInt16 soundNumber,
+ SoundUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSoundUPP(SInt16 soundNumber, SoundUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppSoundProcInfo, soundNumber);
- }
-#else
-#define InvokeSoundUPP(soundNumber, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSoundProcInfo, (soundNumber))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSoundUPP(SInt16 soundNumber, SoundUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppSoundProcInfo, soundNumber); }
+ #else
+ #define InvokeSoundUPP(soundNumber, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSoundProcInfo, (soundNumber))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * InvokeModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeModalFilterUPP(
- DialogRef theDialog,
- EventRecord * theEvent,
- DialogItemIndex * itemHit,
- ModalFilterUPP userUPP);
+/*
+ * InvokeModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeModalFilterUPP(
+ DialogRef theDialog,
+ EventRecord * theEvent,
+ DialogItemIndex * itemHit,
+ ModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeModalFilterUPP(DialogRef theDialog, EventRecord * theEvent, DialogItemIndex * itemHit, ModalFilterUPP userUPP)
- {
- return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppModalFilterProcInfo, theDialog, theEvent, itemHit);
- }
-#else
-#define InvokeModalFilterUPP(theDialog, theEvent, itemHit, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppModalFilterProcInfo, (theDialog), (theEvent), (itemHit))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeModalFilterUPP(DialogRef theDialog, EventRecord * theEvent, DialogItemIndex * itemHit, ModalFilterUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppModalFilterProcInfo, theDialog, theEvent, itemHit); }
+ #else
+ #define InvokeModalFilterUPP(theDialog, theEvent, itemHit, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppModalFilterProcInfo, (theDialog), (theEvent), (itemHit))
+ #endif
#endif
- /*
- * InvokeModalFilterYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeModalFilterYDUPP(
- DialogRef theDialog,
- EventRecord * theEvent,
- short * itemHit,
- void * yourDataPtr,
- ModalFilterYDUPP userUPP);
+/*
+ * InvokeModalFilterYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeModalFilterYDUPP(
+ DialogRef theDialog,
+ EventRecord * theEvent,
+ short * itemHit,
+ void * yourDataPtr,
+ ModalFilterYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeModalFilterYDUPP(DialogRef theDialog, EventRecord * theEvent, short * itemHit, void * yourDataPtr, ModalFilterYDUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppModalFilterYDProcInfo, theDialog, theEvent, itemHit, yourDataPtr);
- }
-#else
-#define InvokeModalFilterYDUPP(theDialog, theEvent, itemHit, yourDataPtr, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppModalFilterYDProcInfo, (theDialog), (theEvent), (itemHit), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeModalFilterYDUPP(DialogRef theDialog, EventRecord * theEvent, short * itemHit, void * yourDataPtr, ModalFilterYDUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppModalFilterYDProcInfo, theDialog, theEvent, itemHit, yourDataPtr); }
+ #else
+ #define InvokeModalFilterYDUPP(theDialog, theEvent, itemHit, yourDataPtr, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppModalFilterYDProcInfo, (theDialog), (theEvent), (itemHit), (yourDataPtr))
+ #endif
#endif
- /*
- * InvokeUserItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeUserItemUPP(
- DialogRef theDialog,
- DialogItemIndex itemNo,
- UserItemUPP userUPP);
+/*
+ * InvokeUserItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeUserItemUPP(
+ DialogRef theDialog,
+ DialogItemIndex itemNo,
+ UserItemUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeUserItemUPP(DialogRef theDialog, DialogItemIndex itemNo, UserItemUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppUserItemProcInfo, theDialog, itemNo);
- }
-#else
-#define InvokeUserItemUPP(theDialog, itemNo, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppUserItemProcInfo, (theDialog), (itemNo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeUserItemUPP(DialogRef theDialog, DialogItemIndex itemNo, UserItemUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppUserItemProcInfo, theDialog, itemNo); }
+ #else
+ #define InvokeUserItemUPP(theDialog, itemNo, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppUserItemProcInfo, (theDialog), (itemNo))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSoundProc(userRoutine) NewSoundUPP(userRoutine)
-#define NewModalFilterProc(userRoutine) NewModalFilterUPP(userRoutine)
-#define NewModalFilterYDProc(userRoutine) NewModalFilterYDUPP(userRoutine)
-#define NewUserItemProc(userRoutine) NewUserItemUPP(userRoutine)
-#define CallSoundProc(userRoutine, soundNumber) InvokeSoundUPP(soundNumber, userRoutine)
-#define CallModalFilterProc(userRoutine, theDialog, theEvent, itemHit) InvokeModalFilterUPP(theDialog, theEvent, itemHit, userRoutine)
-#define CallModalFilterYDProc(userRoutine, theDialog, theEvent, itemHit, yourDataPtr) InvokeModalFilterYDUPP(theDialog, theEvent, itemHit, yourDataPtr, userRoutine)
-#define CallUserItemProc(userRoutine, theDialog, itemNo) InvokeUserItemUPP(theDialog, itemNo, userRoutine)
+ #define NewSoundProc(userRoutine) NewSoundUPP(userRoutine)
+ #define NewModalFilterProc(userRoutine) NewModalFilterUPP(userRoutine)
+ #define NewModalFilterYDProc(userRoutine) NewModalFilterYDUPP(userRoutine)
+ #define NewUserItemProc(userRoutine) NewUserItemUPP(userRoutine)
+ #define CallSoundProc(userRoutine, soundNumber) InvokeSoundUPP(soundNumber, userRoutine)
+ #define CallModalFilterProc(userRoutine, theDialog, theEvent, itemHit) InvokeModalFilterUPP(theDialog, theEvent, itemHit, userRoutine)
+ #define CallModalFilterYDProc(userRoutine, theDialog, theEvent, itemHit, yourDataPtr) InvokeModalFilterYDUPP(theDialog, theEvent, itemHit, yourDataPtr, userRoutine)
+ #define CallUserItemProc(userRoutine, theDialog, itemNo) InvokeUserItemUPP(theDialog, itemNo, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if !TARGET_OS_MAC
- /* QuickTime 3.0 */
- typedef CALLBACK_API_C(void , QTModelessCallbackProcPtr)(EventRecord *theEvent, DialogRef theDialog, DialogItemIndex itemHit);
+/* QuickTime 3.0 */
+typedef CALLBACK_API_C( void , QTModelessCallbackProcPtr )(EventRecord *theEvent, DialogRef theDialog, DialogItemIndex itemHit);
#if CALL_NOT_IN_CARBON
- /*
- * SetModelessDialogCallbackProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetModelessDialogCallbackProc(
- DialogRef theDialog,
- QTModelessCallbackProcPtr callbackProc);
+/*
+ * SetModelessDialogCallbackProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetModelessDialogCallbackProc(
+ DialogRef theDialog,
+ QTModelessCallbackProcPtr callbackProc);
#endif /* CALL_NOT_IN_CARBON */
- typedef QTModelessCallbackProcPtr QTModelessCallbackUPP;
+typedef QTModelessCallbackProcPtr QTModelessCallbackUPP;
#if CALL_NOT_IN_CARBON
- /*
- * GetDialogControlNotificationProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetDialogControlNotificationProc(void * theProc);
-
-
- /*
- * SetDialogMovableModal()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetDialogMovableModal(DialogRef theDialog);
-
-
- /*
- * GetDialogParent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetDialogParent(DialogRef theDialog);
+/*
+ * GetDialogControlNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetDialogControlNotificationProc(void * theProc);
+
+
+/*
+ * SetDialogMovableModal()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetDialogMovableModal(DialogRef theDialog);
+
+
+/*
+ * GetDialogParent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetDialogParent(DialogRef theDialog);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !TARGET_OS_MAC */
- /*
- ---------------------------------------------------------------------------------------------------------
- o Following types are valid with Appearance 1.0 and later
- ---------------------------------------------------------------------------------------------------------
- */
- enum
- {
- /* Alert types to pass into StandardAlert */
- kAlertStopAlert = 0,
- kAlertNoteAlert = 1,
- kAlertCautionAlert = 2,
- kAlertPlainAlert = 3
- };
-
- typedef SInt16 AlertType;
- enum
- {
- kAlertDefaultOKText = -1, /* "OK"*/
- kAlertDefaultCancelText = -1, /* "Cancel"*/
- kAlertDefaultOtherText = -1 /* "Don't Save"*/
- };
-
- /* StandardAlert alert button numbers */
- enum
- {
- kAlertStdAlertOKButton = 1,
- kAlertStdAlertCancelButton = 2,
- kAlertStdAlertOtherButton = 3,
- kAlertStdAlertHelpButton = 4
- };
-
- enum
- {
- /* Dialog Flags for use in NewFeaturesDialog or dlgx resource */
- kDialogFlagsUseThemeBackground = (1 << 0),
- kDialogFlagsUseControlHierarchy = (1 << 1),
- kDialogFlagsHandleMovableModal = (1 << 2),
- kDialogFlagsUseThemeControls = (1 << 3)
- };
-
- enum
- {
- /* Alert Flags for use in alrx resource */
- kAlertFlagsUseThemeBackground = (1 << 0),
- kAlertFlagsUseControlHierarchy = (1 << 1),
- kAlertFlagsAlertIsMovable = (1 << 2),
- kAlertFlagsUseThemeControls = (1 << 3)
- };
-
- /* For dftb resource */
- enum
- {
- kDialogFontNoFontStyle = 0,
- kDialogFontUseFontMask = 0x0001,
- kDialogFontUseFaceMask = 0x0002,
- kDialogFontUseSizeMask = 0x0004,
- kDialogFontUseForeColorMask = 0x0008,
- kDialogFontUseBackColorMask = 0x0010,
- kDialogFontUseModeMask = 0x0020,
- kDialogFontUseJustMask = 0x0040,
- kDialogFontUseAllMask = 0x00FF,
- kDialogFontAddFontSizeMask = 0x0100,
- kDialogFontUseFontNameMask = 0x0200,
- kDialogFontAddToMetaFontMask = 0x0400
- };
-
- /* Also for dftb resource. This one is available in Mac OS X or later. */
- /* It corresponds directly to kControlUseThemeFontIDMask from Controls.h. */
- enum
- {
- kDialogFontUseThemeFontIDMask = 0x0080
- };
-
- struct AlertStdAlertParamRec
- {
- Boolean movable; /* Make alert movable modal */
- Boolean helpButton; /* Is there a help button? */
- ModalFilterUPP filterProc; /* Event filter */
- ConstStringPtr defaultText; /* Text for button in OK position */
- ConstStringPtr cancelText; /* Text for button in cancel position */
- ConstStringPtr otherText; /* Text for button in left position */
- SInt16 defaultButton; /* Which button behaves as the default */
- SInt16 cancelButton; /* Which one behaves as cancel (can be 0) */
- UInt16 position; /* Position (kWindowDefaultPosition in this case */
- /* equals kWindowAlertPositionParentWindowScreen) */
- };
- typedef struct AlertStdAlertParamRec AlertStdAlertParamRec;
- typedef AlertStdAlertParamRec * AlertStdAlertParamPtr;
- enum
- {
- kHICommandOther = FOUR_CHAR_CODE('othr') /* sent by standard sheet dialogs when the "other" button is pressed */
- };
-
- enum
- {
- kStdCFStringAlertVersionOne = 1 /* current version of AlertStdCFStringAlertParamRec */
- };
-
-
- /*
- * Summary:
- * Flags to CreateStandardAlert that are specified in the
- * AlertStdCFStringAlertParamRec.flags field.
- */
- enum
- {
-
- /*
- * Applies to StandardSheet only. Do not dispose of the sheet window
- * after closing it; allows the sheet to be re-used again in a later
- * call to ShowSheetWindow.
- */
- kStdAlertDoNotDisposeSheet = 1 << 0,
-
- /*
- * Applies to StandardSheet only. Causes the sheet window to be
- * hidden immediately without animation effects when the default
- * button is chosen by the user.
- */
- kStdAlertDoNotAnimateOnDefault = 1 << 1,
-
- /*
- * Applies to StandardSheet only. Causes the sheet window to be
- * hidden immediately without animation effects when the cancel
- * button is chosen by the user.
- */
- kStdAlertDoNotAnimateOnCancel = 1 << 2,
-
- /*
- * Applies to StandardSheet only. Causes the sheet window to be
- * hidden immediately without animation effects when the other button
- * is chosen by the user.
- */
- kStdAlertDoNotAnimateOnOther = 1 << 3
- };
-
- struct AlertStdCFStringAlertParamRec
- {
- UInt32 version; /* kStdCFStringAlertVersionOne */
- Boolean movable; /* Make alert movable modal */
- Boolean helpButton; /* Is there a help button? */
- CFStringRef defaultText; /* Text for button in OK position */
- CFStringRef cancelText; /* Text for button in cancel position */
- CFStringRef otherText; /* Text for button in left position */
- SInt16 defaultButton; /* Which button behaves as the default */
- SInt16 cancelButton; /* Which one behaves as cancel (can be 0) */
- UInt16 position; /* Position (kWindowDefaultPosition in this case */
- /* equals kWindowAlertPositionParentWindowScreen) */
- OptionBits flags; /* Options for the behavior of the alert or sheet */
- };
- typedef struct AlertStdCFStringAlertParamRec AlertStdCFStringAlertParamRec;
- typedef AlertStdCFStringAlertParamRec * AlertStdCFStringAlertParamPtr;
- /* --- end Appearance 1.0 or later stuff*/
-
-
- /*
- NOTE: Code running under MultiFinder or System 7.0 or newer
- should always pass NULL to InitDialogs.
- */
+/*
+ ---------------------------------------------------------------------------------------------------------
+ o Following types are valid with Appearance 1.0 and later
+ ---------------------------------------------------------------------------------------------------------
+*/
+enum {
+ /* Alert types to pass into StandardAlert */
+ kAlertStopAlert = 0,
+ kAlertNoteAlert = 1,
+ kAlertCautionAlert = 2,
+ kAlertPlainAlert = 3
+};
+
+typedef SInt16 AlertType;
+enum {
+ kAlertDefaultOKText = -1, /* "OK"*/
+ kAlertDefaultCancelText = -1, /* "Cancel"*/
+ kAlertDefaultOtherText = -1 /* "Don't Save"*/
+};
+
+/* StandardAlert alert button numbers */
+enum {
+ kAlertStdAlertOKButton = 1,
+ kAlertStdAlertCancelButton = 2,
+ kAlertStdAlertOtherButton = 3,
+ kAlertStdAlertHelpButton = 4
+};
+
+enum {
+ /* Dialog Flags for use in NewFeaturesDialog or dlgx resource */
+ kDialogFlagsUseThemeBackground = (1 << 0),
+ kDialogFlagsUseControlHierarchy = (1 << 1),
+ kDialogFlagsHandleMovableModal = (1 << 2),
+ kDialogFlagsUseThemeControls = (1 << 3)
+};
+
+enum {
+ /* Alert Flags for use in alrx resource */
+ kAlertFlagsUseThemeBackground = (1 << 0),
+ kAlertFlagsUseControlHierarchy = (1 << 1),
+ kAlertFlagsAlertIsMovable = (1 << 2),
+ kAlertFlagsUseThemeControls = (1 << 3)
+};
+
+/* For dftb resource */
+enum {
+ kDialogFontNoFontStyle = 0,
+ kDialogFontUseFontMask = 0x0001,
+ kDialogFontUseFaceMask = 0x0002,
+ kDialogFontUseSizeMask = 0x0004,
+ kDialogFontUseForeColorMask = 0x0008,
+ kDialogFontUseBackColorMask = 0x0010,
+ kDialogFontUseModeMask = 0x0020,
+ kDialogFontUseJustMask = 0x0040,
+ kDialogFontUseAllMask = 0x00FF,
+ kDialogFontAddFontSizeMask = 0x0100,
+ kDialogFontUseFontNameMask = 0x0200,
+ kDialogFontAddToMetaFontMask = 0x0400
+};
+
+/* Also for dftb resource. This one is available in Mac OS X or later. */
+/* It corresponds directly to kControlUseThemeFontIDMask from Controls.h. */
+enum {
+ kDialogFontUseThemeFontIDMask = 0x0080
+};
+
+struct AlertStdAlertParamRec {
+ Boolean movable; /* Make alert movable modal */
+ Boolean helpButton; /* Is there a help button? */
+ ModalFilterUPP filterProc; /* Event filter */
+ ConstStringPtr defaultText; /* Text for button in OK position */
+ ConstStringPtr cancelText; /* Text for button in cancel position */
+ ConstStringPtr otherText; /* Text for button in left position */
+ SInt16 defaultButton; /* Which button behaves as the default */
+ SInt16 cancelButton; /* Which one behaves as cancel (can be 0) */
+ UInt16 position; /* Position (kWindowDefaultPosition in this case */
+ /* equals kWindowAlertPositionParentWindowScreen) */
+};
+typedef struct AlertStdAlertParamRec AlertStdAlertParamRec;
+typedef AlertStdAlertParamRec * AlertStdAlertParamPtr;
+enum {
+ kHICommandOther = FOUR_CHAR_CODE('othr') /* sent by standard sheet dialogs when the "other" button is pressed */
+};
+
+enum {
+ kStdCFStringAlertVersionOne = 1 /* current version of AlertStdCFStringAlertParamRec */
+};
+
+
+/*
+ * Summary:
+ * Flags to CreateStandardAlert that are specified in the
+ * AlertStdCFStringAlertParamRec.flags field.
+ */
+enum {
+
+ /*
+ * Applies to StandardSheet only. Do not dispose of the sheet window
+ * after closing it; allows the sheet to be re-used again in a later
+ * call to ShowSheetWindow.
+ */
+ kStdAlertDoNotDisposeSheet = 1 << 0,
+
+ /*
+ * Applies to StandardSheet only. Causes the sheet window to be
+ * hidden immediately without animation effects when the default
+ * button is chosen by the user.
+ */
+ kStdAlertDoNotAnimateOnDefault = 1 << 1,
+
+ /*
+ * Applies to StandardSheet only. Causes the sheet window to be
+ * hidden immediately without animation effects when the cancel
+ * button is chosen by the user.
+ */
+ kStdAlertDoNotAnimateOnCancel = 1 << 2,
+
+ /*
+ * Applies to StandardSheet only. Causes the sheet window to be
+ * hidden immediately without animation effects when the other button
+ * is chosen by the user.
+ */
+ kStdAlertDoNotAnimateOnOther = 1 << 3
+};
+
+struct AlertStdCFStringAlertParamRec {
+ UInt32 version; /* kStdCFStringAlertVersionOne */
+ Boolean movable; /* Make alert movable modal */
+ Boolean helpButton; /* Is there a help button? */
+ CFStringRef defaultText; /* Text for button in OK position */
+ CFStringRef cancelText; /* Text for button in cancel position */
+ CFStringRef otherText; /* Text for button in left position */
+ SInt16 defaultButton; /* Which button behaves as the default */
+ SInt16 cancelButton; /* Which one behaves as cancel (can be 0) */
+ UInt16 position; /* Position (kWindowDefaultPosition in this case */
+ /* equals kWindowAlertPositionParentWindowScreen) */
+ OptionBits flags; /* Options for the behavior of the alert or sheet */
+};
+typedef struct AlertStdCFStringAlertParamRec AlertStdCFStringAlertParamRec;
+typedef AlertStdCFStringAlertParamRec * AlertStdCFStringAlertParamPtr;
+/* --- end Appearance 1.0 or later stuff*/
+
+
+/*
+ NOTE: Code running under MultiFinder or System 7.0 or newer
+ should always pass NULL to InitDialogs.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * InitDialogs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitDialogs(void * ignored) ONEWORDINLINE(0xA97B);
-
-
- /*
- * ErrorSound()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- ErrorSound(SoundUPP soundProc) ONEWORDINLINE(0xA98C);
+/*
+ * InitDialogs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitDialogs(void * ignored) ONEWORDINLINE(0xA97B);
+
+
+/*
+ * ErrorSound()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+ErrorSound(SoundUPP soundProc) ONEWORDINLINE(0xA98C);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogRef)
- NewDialog(
- void * dStorage,
- const Rect * boundsRect,
- ConstStr255Param title,
- Boolean visible,
- SInt16 procID,
- WindowRef behind,
- Boolean goAwayFlag,
- SInt32 refCon,
- Handle items) ONEWORDINLINE(0xA97D);
-
-
- /*
- * GetNewDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogRef)
- GetNewDialog(
- SInt16 dialogID,
- void * dStorage,
- WindowRef behind) ONEWORDINLINE(0xA97C);
-
-
- /*
- * NewColorDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogRef)
- NewColorDialog(
- void * dStorage,
- const Rect * boundsRect,
- ConstStr255Param title,
- Boolean visible,
- SInt16 procID,
- WindowRef behind,
- Boolean goAwayFlag,
- SInt32 refCon,
- Handle items) ONEWORDINLINE(0xAA4B);
+/*
+ * NewDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogRef )
+NewDialog(
+ void * dStorage,
+ const Rect * boundsRect,
+ ConstStr255Param title,
+ Boolean visible,
+ SInt16 procID,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ SInt32 refCon,
+ Handle items) ONEWORDINLINE(0xA97D);
+
+
+/*
+ * GetNewDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogRef )
+GetNewDialog(
+ SInt16 dialogID,
+ void * dStorage,
+ WindowRef behind) ONEWORDINLINE(0xA97C);
+
+
+/*
+ * NewColorDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogRef )
+NewColorDialog(
+ void * dStorage,
+ const Rect * boundsRect,
+ ConstStr255Param title,
+ Boolean visible,
+ SInt16 procID,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ SInt32 refCon,
+ Handle items) ONEWORDINLINE(0xAA4B);
#if CALL_NOT_IN_CARBON
- /*
- * CloseDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CloseDialog(DialogRef theDialog) ONEWORDINLINE(0xA982);
+/*
+ * CloseDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CloseDialog(DialogRef theDialog) ONEWORDINLINE(0xA982);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DisposeDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeDialog(DialogRef theDialog) ONEWORDINLINE(0xA983);
-
-
- /*
- * ModalDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ModalDialog(
- ModalFilterUPP modalFilter,
- DialogItemIndex * itemHit) ONEWORDINLINE(0xA991);
-
-
- /*
- * IsDialogEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsDialogEvent(const EventRecord * theEvent) ONEWORDINLINE(0xA97F);
-
-
- /*
- * DialogSelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- DialogSelect(
- const EventRecord * theEvent,
- DialogRef * theDialog,
- DialogItemIndex * itemHit) ONEWORDINLINE(0xA980);
-
-
- /*
- * DrawDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DrawDialog(DialogRef theDialog) ONEWORDINLINE(0xA981);
-
-
- /*
- * UpdateDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UpdateDialog(
- DialogRef theDialog,
- RgnHandle updateRgn) ONEWORDINLINE(0xA978);
-
-
- /*
- * HideDialogItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HideDialogItem(
- DialogRef theDialog,
- DialogItemIndex itemNo) ONEWORDINLINE(0xA827);
-
-
- /*
- * ShowDialogItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ShowDialogItem(
- DialogRef theDialog,
- DialogItemIndex itemNo) ONEWORDINLINE(0xA828);
-
-
- /*
- * FindDialogItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogItemIndexZeroBased)
- FindDialogItem(
- DialogRef theDialog,
- Point thePt) ONEWORDINLINE(0xA984);
-
-
- /*
- * DialogCut()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DialogCut(DialogRef theDialog);
-
-
- /*
- * DialogPaste()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DialogPaste(DialogRef theDialog);
-
-
- /*
- * DialogCopy()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DialogCopy(DialogRef theDialog);
-
-
- /*
- * DialogDelete()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DialogDelete(DialogRef theDialog);
-
-
- /*
- * Alert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogItemIndex)
- Alert(
- SInt16 alertID,
- ModalFilterUPP modalFilter) ONEWORDINLINE(0xA985);
-
-
- /*
- * StopAlert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogItemIndex)
- StopAlert(
- SInt16 alertID,
- ModalFilterUPP modalFilter) ONEWORDINLINE(0xA986);
-
-
- /*
- * NoteAlert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogItemIndex)
- NoteAlert(
- SInt16 alertID,
- ModalFilterUPP modalFilter) ONEWORDINLINE(0xA987);
-
-
- /*
- * CautionAlert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogItemIndex)
- CautionAlert(
- SInt16 alertID,
- ModalFilterUPP modalFilter) ONEWORDINLINE(0xA988);
-
-
- /*
- * GetDialogItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetDialogItem(
- DialogRef theDialog,
- DialogItemIndex itemNo,
- DialogItemType * itemType,
- Handle * item,
- Rect * box) ONEWORDINLINE(0xA98D);
-
-
- /*
- * SetDialogItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetDialogItem(
- DialogRef theDialog,
- DialogItemIndex itemNo,
- DialogItemType itemType,
- Handle item,
- const Rect * box) ONEWORDINLINE(0xA98E);
-
-
- /*
- * ParamText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ParamText(
- ConstStr255Param param0,
- ConstStr255Param param1,
- ConstStr255Param param2,
- ConstStr255Param param3) ONEWORDINLINE(0xA98B);
-
-
- /*
- * SelectDialogItemText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SelectDialogItemText(
- DialogRef theDialog,
- DialogItemIndex itemNo,
- SInt16 strtSel,
- SInt16 endSel) ONEWORDINLINE(0xA97E);
-
-
- /*
- * GetDialogItemText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetDialogItemText(
- Handle item,
- Str255 text) ONEWORDINLINE(0xA990);
-
-
- /*
- * SetDialogItemText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetDialogItemText(
- Handle item,
- ConstStr255Param text) ONEWORDINLINE(0xA98F);
-
-
- /*
- * GetAlertStage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetAlertStage(void) TWOWORDINLINE(0x3EB8, 0x0A9A);
-
-
- /*
- * SetDialogFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetDialogFont(SInt16 fontNum) TWOWORDINLINE(0x31DF, 0x0AFA);
-
-
- /*
- * ResetAlertStage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ResetAlertStage(void) TWOWORDINLINE(0x4278, 0x0A9A);
-
-
- /* APIs in Carbon*/
- /*
- * GetParamText()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetParamText(
- StringPtr param0,
- StringPtr param1,
- StringPtr param2,
- StringPtr param3);
+/*
+ * DisposeDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeDialog(DialogRef theDialog) ONEWORDINLINE(0xA983);
+
+
+/*
+ * ModalDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ModalDialog(
+ ModalFilterUPP modalFilter,
+ DialogItemIndex * itemHit) ONEWORDINLINE(0xA991);
+
+
+/*
+ * IsDialogEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsDialogEvent(const EventRecord * theEvent) ONEWORDINLINE(0xA97F);
+
+
+/*
+ * DialogSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+DialogSelect(
+ const EventRecord * theEvent,
+ DialogRef * theDialog,
+ DialogItemIndex * itemHit) ONEWORDINLINE(0xA980);
+
+
+/*
+ * DrawDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DrawDialog(DialogRef theDialog) ONEWORDINLINE(0xA981);
+
+
+/*
+ * UpdateDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UpdateDialog(
+ DialogRef theDialog,
+ RgnHandle updateRgn) ONEWORDINLINE(0xA978);
+
+
+/*
+ * HideDialogItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HideDialogItem(
+ DialogRef theDialog,
+ DialogItemIndex itemNo) ONEWORDINLINE(0xA827);
+
+
+/*
+ * ShowDialogItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ShowDialogItem(
+ DialogRef theDialog,
+ DialogItemIndex itemNo) ONEWORDINLINE(0xA828);
+
+
+/*
+ * FindDialogItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogItemIndexZeroBased )
+FindDialogItem(
+ DialogRef theDialog,
+ Point thePt) ONEWORDINLINE(0xA984);
+
+
+/*
+ * DialogCut()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DialogCut(DialogRef theDialog);
+
+
+/*
+ * DialogPaste()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DialogPaste(DialogRef theDialog);
+
+
+/*
+ * DialogCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DialogCopy(DialogRef theDialog);
+
+
+/*
+ * DialogDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DialogDelete(DialogRef theDialog);
+
+
+/*
+ * Alert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogItemIndex )
+Alert(
+ SInt16 alertID,
+ ModalFilterUPP modalFilter) ONEWORDINLINE(0xA985);
+
+
+/*
+ * StopAlert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogItemIndex )
+StopAlert(
+ SInt16 alertID,
+ ModalFilterUPP modalFilter) ONEWORDINLINE(0xA986);
+
+
+/*
+ * NoteAlert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogItemIndex )
+NoteAlert(
+ SInt16 alertID,
+ ModalFilterUPP modalFilter) ONEWORDINLINE(0xA987);
+
+
+/*
+ * CautionAlert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogItemIndex )
+CautionAlert(
+ SInt16 alertID,
+ ModalFilterUPP modalFilter) ONEWORDINLINE(0xA988);
+
+
+/*
+ * GetDialogItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetDialogItem(
+ DialogRef theDialog,
+ DialogItemIndex itemNo,
+ DialogItemType * itemType,
+ Handle * item,
+ Rect * box) ONEWORDINLINE(0xA98D);
+
+
+/*
+ * SetDialogItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetDialogItem(
+ DialogRef theDialog,
+ DialogItemIndex itemNo,
+ DialogItemType itemType,
+ Handle item,
+ const Rect * box) ONEWORDINLINE(0xA98E);
+
+
+/*
+ * ParamText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ParamText(
+ ConstStr255Param param0,
+ ConstStr255Param param1,
+ ConstStr255Param param2,
+ ConstStr255Param param3) ONEWORDINLINE(0xA98B);
+
+
+/*
+ * SelectDialogItemText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SelectDialogItemText(
+ DialogRef theDialog,
+ DialogItemIndex itemNo,
+ SInt16 strtSel,
+ SInt16 endSel) ONEWORDINLINE(0xA97E);
+
+
+/*
+ * GetDialogItemText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetDialogItemText(
+ Handle item,
+ Str255 text) ONEWORDINLINE(0xA990);
+
+
+/*
+ * SetDialogItemText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetDialogItemText(
+ Handle item,
+ ConstStr255Param text) ONEWORDINLINE(0xA98F);
+
+
+/*
+ * GetAlertStage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetAlertStage(void) TWOWORDINLINE(0x3EB8, 0x0A9A);
+
+
+/*
+ * SetDialogFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetDialogFont(SInt16 fontNum) TWOWORDINLINE(0x31DF, 0x0AFA);
+
+
+/*
+ * ResetAlertStage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ResetAlertStage(void) TWOWORDINLINE(0x4278, 0x0A9A);
+
+
+/* APIs in Carbon*/
+/*
+ * GetParamText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetParamText(
+ StringPtr param0,
+ StringPtr param1,
+ StringPtr param2,
+ StringPtr param3);
#if CALL_NOT_IN_CARBON
- /*
- * newdialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DialogRef)
- newdialog(
- void * dStorage,
- const Rect * boundsRect,
- const char * title,
- Boolean visible,
- SInt16 procID,
- WindowRef behind,
- Boolean goAwayFlag,
- SInt32 refCon,
- Handle items);
-
-
- /*
- * newcolordialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DialogRef)
- newcolordialog(
- void * dStorage,
- const Rect * boundsRect,
- const char * title,
- Boolean visible,
- SInt16 procID,
- WindowRef behind,
- Boolean goAwayFlag,
- SInt32 refCon,
- Handle items);
-
-
- /*
- * paramtext()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- paramtext(
- const char * param0,
- const char * param1,
- const char * param2,
- const char * param3);
-
-
- /*
- * getdialogitemtext()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getdialogitemtext(
- Handle item,
- char * text);
-
-
- /*
- * setdialogitemtext()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- setdialogitemtext(
- Handle item,
- const char * text);
-
-
- /*
- * finddialogitem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DialogItemIndexZeroBased)
- finddialogitem(
- DialogRef theDialog,
- Point * thePt);
+/*
+ * newdialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DialogRef )
+newdialog(
+ void * dStorage,
+ const Rect * boundsRect,
+ const char * title,
+ Boolean visible,
+ SInt16 procID,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ SInt32 refCon,
+ Handle items);
+
+
+/*
+ * newcolordialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DialogRef )
+newcolordialog(
+ void * dStorage,
+ const Rect * boundsRect,
+ const char * title,
+ Boolean visible,
+ SInt16 procID,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ SInt32 refCon,
+ Handle items);
+
+
+/*
+ * paramtext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+paramtext(
+ const char * param0,
+ const char * param1,
+ const char * param2,
+ const char * param3);
+
+
+/*
+ * getdialogitemtext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getdialogitemtext(
+ Handle item,
+ char * text);
+
+
+/*
+ * setdialogitemtext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+setdialogitemtext(
+ Handle item,
+ const char * text);
+
+
+/*
+ * finddialogitem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DialogItemIndexZeroBased )
+finddialogitem(
+ DialogRef theDialog,
+ Point * thePt);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * AppendDITL()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AppendDITL(
- DialogRef theDialog,
- Handle theHandle,
- DITLMethod method);
-
-
- /*
- * CountDITL()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogItemIndex)
- CountDITL(DialogRef theDialog);
-
-
- /*
- * ShortenDITL()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ShortenDITL(
- DialogRef theDialog,
- DialogItemIndex numberItems);
-
-
- /*
- * InsertDialogItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InsertDialogItem(
- DialogRef theDialog,
- DialogItemIndex afterItem,
- DialogItemType itemType,
- Handle itemHandle,
- const Rect * box);
-
-
- /*
- * RemoveDialogItems()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveDialogItems(
- DialogRef theDialog,
- DialogItemIndex itemNo,
- DialogItemIndex amountToRemove,
- Boolean disposeItemData);
-
-
- /*
- * StdFilterProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- StdFilterProc(
- DialogRef theDialog,
- EventRecord * event,
- DialogItemIndex * itemHit);
-
-
- /*
- * GetStdFilterProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetStdFilterProc(ModalFilterUPP * theProc) THREEWORDINLINE(0x303C, 0x0203, 0xAA68);
-
-
- /*
- * SetDialogDefaultItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDialogDefaultItem(
- DialogRef theDialog,
- DialogItemIndex newItem) THREEWORDINLINE(0x303C, 0x0304, 0xAA68);
-
-
- /*
- * SetDialogCancelItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDialogCancelItem(
- DialogRef theDialog,
- DialogItemIndex newItem) THREEWORDINLINE(0x303C, 0x0305, 0xAA68);
-
-
- /*
- * SetDialogTracksCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDialogTracksCursor(
- DialogRef theDialog,
- Boolean tracks) THREEWORDINLINE(0x303C, 0x0306, 0xAA68);
-
-
-
-
- /*
- ---------------------------------------------------------------------------------------------------------
- o Appearance Dialog Routines (available only with Appearance 1.0 and later)
- ---------------------------------------------------------------------------------------------------------
- */
-
- /*
- * NewFeaturesDialog()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogRef)
- NewFeaturesDialog(
- void * inStorage,
- const Rect * inBoundsRect,
- ConstStr255Param inTitle,
- Boolean inIsVisible,
- SInt16 inProcID,
- WindowRef inBehind,
- Boolean inGoAwayFlag,
- SInt32 inRefCon,
- Handle inItemListHandle,
- UInt32 inFlags) THREEWORDINLINE(0x303C, 0x110C, 0xAA68);
-
-
- /*
- * AutoSizeDialog()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AutoSizeDialog(DialogRef inDialog) THREEWORDINLINE(0x303C, 0x020D, 0xAA68);
-
-
- /*
- Regarding StandardAlert and constness:
- Even though the inAlertParam parameter is marked const here, there was
- a chance Dialog Manager would modify it on versions of Mac OS prior to 9.
- */
- /*
- * StandardAlert()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- StandardAlert(
- AlertType inAlertType,
- ConstStr255Param inError,
- ConstStr255Param inExplanation,
- const AlertStdAlertParamRec * inAlertParam, /* can be NULL */
- SInt16 * outItemHit) THREEWORDINLINE(0x303C, 0x090E, 0xAA68);
-
-
- /* CFString-based StandardAlert and StandardSheet APIs are only available on Mac OS X and later*/
-
- /*
- * GetStandardAlertDefaultParams()
- *
- * Summary:
- * Fills out an AlertStdCFStringAlertParamRec with default values: -
- * not movable - no help button - default button with title
- * kAlertDefaultOKText, meaning "OK" - no cancel or other buttons
- *
- * Parameters:
- *
- * param:
- * The parameter block to initialize.
- *
- * version:
- * The parameter block version; pass kStdCFStringAlertVersionOne.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetStandardAlertDefaultParams(
- AlertStdCFStringAlertParamPtr param,
- UInt32 version);
-
-
- /*
- * CreateStandardAlert()
- *
- * Summary:
- * Creates an alert containing standard elements and using standard
- * formatting rules.
- *
- * Discussion:
- * CreateStandardAlert should be used in conjunction with
- * RunStandardAlert. After CreateStandardAlert returns, the alert is
- * still invisible. RunStandardAlert will show the alert and run a
- * modal dialog loop to process events in the alert. The strings
- * passed to this API in the error, explanation, and
- * AlertStdCFStringAlertParamRec button title parameters will all be
- * retained during the creation of the alert, and released when the
- * alert is disposed by RunStandardAlert. There is no net change to
- * the refcount of these strings across CreateStandardAlert and
- * RunStandardAlert.
- *
- * Parameters:
- *
- * alertType:
- * The type of alert to create.
- *
- * error:
- * The error string to display. CreateStandardAlert increments the
- * refcount on this string, so you may release it after
- * CreateStandardAlert returns if you don't need it later.
- *
- * explanation:
- * The explanation string to display. May be NULL or empty to
- * display no explanation. CreateStandardAlert increments the
- * refcount on this string, so you may release it after
- * CreateStandardAlert returns if you don't need it later.
- *
- * param:
- * The parameter block describing how to create the alert. May be
- * NULL. CreateStandardAlert increments the refcount on the button
- * title strings in the parameter block, so you may release them
- * after CreateStandardAlert returns if you don't need them later.
- *
- * outAlert:
- * On exit, contains the new alert.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateStandardAlert(
- AlertType alertType,
- CFStringRef error,
- CFStringRef explanation, /* can be NULL */
- const AlertStdCFStringAlertParamRec * param, /* can be NULL */
- DialogRef * outAlert);
-
-
- /*
- * RunStandardAlert()
- *
- * Summary:
- * Shows, runs, and destroys a standard alert using a modal dialog
- * loop.
- *
- * Discussion:
- * RunStandardAlert displays and runs an alert created by
- * CreateStandardAlert. It handles all user interaction with the
- * alert. After the user has dismissed the alert, RunStandardAlert
- * destroys the alert dialog; the DialogRef will be invalid after
- * RunStandardAlert returns.
- *
- * NOTE: DO NOT call this function for a dialog that was not created
- * with CreateStandardAlert! You will sorely regret it, I promise
- * you.
- *
- * Parameters:
- *
- * inAlert:
- * The alert to display.
- *
- * filterProc:
- * An event filter function for handling events that do not apply
- * to the alert. May be NULL.
- *
- * outItemHit:
- * On exit, contains the item index of the button that was pressed
- * to close the alert.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RunStandardAlert(
- DialogRef inAlert,
- ModalFilterUPP filterProc, /* can be NULL */
- DialogItemIndex * outItemHit);
-
-
- /*
- * CreateStandardSheet()
- *
- * Summary:
- * Creates an alert containing standard elements and using standard
- * formatting rules, and prepares it to be displayed as a sheet.
- *
- * Discussion:
- * CreateStandardSheet should be used in conjunction with
- * ShowSheetWindow. After CreateStandardSheet returns, the alert is
- * still invisible. ShowSheetWindow will show the alert and then
- * return. Events in the sheet are handled asynchronously; the
- * application should be prepared for the sheet window to be part of
- * its windowlist while running its own event loop. When a button in
- * the sheet is pressed, the EventTargetRef passed to
- * CreateStandardSheet will receive a command event with one of the
- * command IDs kHICommandOK, kHICommandCancel, or kHICommandOther.
- * The sheet is closed before the command is sent. The strings
- * passed to this API in the error, explanation, and
- * AlertStdCFStringAlertParamRec button title parameters will all be
- * retained during the creation of the sheet, and released when the
- * sheet is disposed. There is no net change to the refcount of
- * these strings across CreateStandardSheet and sheet destruction.
- *
- * Parameters:
- *
- * alertType:
- * The type of alert to create.
- *
- * error:
- * The error string to display. CreateStandardSheet increments the
- * refcount on this string, so you may release it after
- * CreateStandardSheet returns if you don't need it later.
- *
- * explanation:
- * The explanation string to display. May be NULL or empty to
- * display no explanation. CreateStandardSheet increments the
- * refcount on this string, so you may release it after
- * CreateStandardSheet returns if you don't need it later.
- *
- * param:
- * The parameter block describing how to create the alert. May be
- * NULL. CreateStandardSheet increments the refcount on the button
- * title strings in the parameter block, so you may release them
- * after CreateStandardSheet returns if you don't need them later.
- *
- * notifyTarget:
- * The event target to be notified when the sheet is closed. The
- * caller should install an event handler on this target for the
- * [kEventClassCommand, kEventProcessCommand] event.
- *
- * outSheet:
- * On exit, contains the new alert.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateStandardSheet(
- AlertType alertType,
- CFStringRef error,
- CFStringRef explanation, /* can be NULL */
- const AlertStdCFStringAlertParamRec * param, /* can be NULL */
- EventTargetRef notifyTarget,
- DialogRef * outSheet);
-
-
- /*
- * CloseStandardSheet()
- *
- * Summary:
- * Closes a standard sheet dialog and releases the dialog data
- * structures.
- *
- * Discussion:
- * CloseStandardSheet is meant to be used when you need to remove a
- * sheet because of a higher-priority request to close the sheet's
- * document window. For example, you might have a Save Changes sheet
- * open on a document window. Meanwhile, the user drags the document
- * into the trash. When your application sees that the document has
- * been moved to the trash, it knows that it should close the
- * document window, but first it needs to close the sheet.
- * CloseStandardSheet should not be used by your Carbon event
- * handler in response to a click in one of the sheet buttons; the
- * Dialog Manager will close the sheet automatically in that case.
- * If kStdAlertDoNotDisposeSheet was specified when the sheet was
- * created, the sheet dialog will be hidden but not released, and
- * you can reuse the sheet later.
- *
- * Parameters:
- *
- * inSheet:
- * The sheet to close.
- *
- * inResultCommand:
- * This command, if not zero, will be sent to the EventTarget
- * specified when the sheet was created.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CloseStandardSheet(
- DialogRef inSheet,
- UInt32 inResultCommand);
-
-
- /*
- * GetDialogItemAsControl()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDialogItemAsControl(
- DialogRef inDialog,
- SInt16 inItemNo,
- ControlRef * outControl) THREEWORDINLINE(0x303C, 0x050F, 0xAA68);
-
-
- /*
- * MoveDialogItem()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- MoveDialogItem(
- DialogRef inDialog,
- SInt16 inItemNo,
- SInt16 inHoriz,
- SInt16 inVert) THREEWORDINLINE(0x303C, 0x0510, 0xAA68);
-
-
- /*
- * SizeDialogItem()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SizeDialogItem(
- DialogRef inDialog,
- SInt16 inItemNo,
- SInt16 inWidth,
- SInt16 inHeight) THREEWORDINLINE(0x303C, 0x0511, 0xAA68);
-
-
- /*
- * AppendDialogItemList()
- *
- * Availability:
- * Non-Carbon CFM: in DialogsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AppendDialogItemList(
- DialogRef dialog,
- SInt16 ditlID,
- DITLMethod method) THREEWORDINLINE(0x303C, 0x0412, 0xAA68);
-
-
- /*
- ---------------------------------------------------------------------------------------------------------
- o Dialog Routines available only with Appearance 1.1 (Mac OS 8.5) and later
- ---------------------------------------------------------------------------------------------------------
- */
-
- /*
- * SetDialogTimeout()
- *
- * Summary:
- * Sets the timeout for a modal dialog.
- *
- * Discussion:
- * SetDialogTimeout sets the delay after which a dialog will be
- * automatically dismissed. When SetDialogTimeout is called, the
- * Dialog Manager takes the current time, adds the timeout to it,
- * and stores the result as the time to dismiss the dialog. If the
- * dismissal time is reached, the dialog is automatically closed and
- * the specified dialog item index is returned from ModalDialog in
- * the itemHit parameter. If the user moves the mouse or presses a
- * key, the dismissal time is reset by adding the original timeout
- * to the time of the event. Only the ModalDialog API observes the
- * timeout value; if you are handling events in a modeless dialog or
- * sheet using IsDialogEvent and DialogSelect, the timeout will be
- * ignored.
- *
- * Parameters:
- *
- * inDialog:
- * The dialog on which to set a timeout.
- *
- * inButtonToPress:
- * The dialog item index that should be returned from ModalDialog
- * when the timeout expires.
- *
- * inSecondsToWait:
- * The time to wait before dismissing the dialog, in seconds.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in DialogsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetDialogTimeout(
- DialogRef inDialog,
- SInt16 inButtonToPress,
- UInt32 inSecondsToWait);
-
-
- /*
- * GetDialogTimeout()
- *
- * Summary:
- * Retrieves the timeout for a modal dialog.
- *
- * Parameters:
- *
- * inDialog:
- * The dialog from which to retrieve the timeout.
- *
- * outButtonToPress:
- * On exit, contains the dialog item index that should be returned
- * from ModalDialog when the dialog is dismissed. May be NULL if
- * you do not need this information.
- *
- * outSecondsToWait:
- * On exit, contains the time to wait before dismissing the
- * dialog, in seconds. May be NULL if you do not need this
- * information.
- *
- * outSecondsRemaining:
- * On exit, contains the time until the dialog is dismissed, in
- * seconds. May be NULL if you do not need this information.
- *
- * Result:
- * An operating system result code. Returns dialogNoTimeoutErr if no
- * timeout has been set for this dialog.
- *
- * Availability:
- * Non-Carbon CFM: in DialogsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetDialogTimeout(
- DialogRef inDialog,
- SInt16 * outButtonToPress, /* can be NULL */
- UInt32 * outSecondsToWait, /* can be NULL */
- UInt32 * outSecondsRemaining); /* can be NULL */
-
-
- /*
- * SetModalDialogEventMask()
- *
- * Availability:
- * Non-Carbon CFM: in DialogsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetModalDialogEventMask(
- DialogRef inDialog,
- EventMask inMask);
-
-
- /*
- * GetModalDialogEventMask()
- *
- * Availability:
- * Non-Carbon CFM: in DialogsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetModalDialogEventMask(
- DialogRef inDialog,
- EventMask * outMask);
-
-
-
-
- /*
- ---------------------------------------------------------------------------------------------------------
- o Accessor functions
- ---------------------------------------------------------------------------------------------------------
- */
-
-
- /*
- * GetDialogWindow()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetDialogWindow(DialogRef dialog);
+/*
+ * AppendDITL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AppendDITL(
+ DialogRef theDialog,
+ Handle theHandle,
+ DITLMethod method);
+
+
+/*
+ * CountDITL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogItemIndex )
+CountDITL(DialogRef theDialog);
+
+
+/*
+ * ShortenDITL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ShortenDITL(
+ DialogRef theDialog,
+ DialogItemIndex numberItems);
+
+
+/*
+ * InsertDialogItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InsertDialogItem(
+ DialogRef theDialog,
+ DialogItemIndex afterItem,
+ DialogItemType itemType,
+ Handle itemHandle,
+ const Rect * box);
+
+
+/*
+ * RemoveDialogItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveDialogItems(
+ DialogRef theDialog,
+ DialogItemIndex itemNo,
+ DialogItemIndex amountToRemove,
+ Boolean disposeItemData);
+
+
+/*
+ * StdFilterProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+StdFilterProc(
+ DialogRef theDialog,
+ EventRecord * event,
+ DialogItemIndex * itemHit);
+
+
+/*
+ * GetStdFilterProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetStdFilterProc(ModalFilterUPP * theProc) THREEWORDINLINE(0x303C, 0x0203, 0xAA68);
+
+
+/*
+ * SetDialogDefaultItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDialogDefaultItem(
+ DialogRef theDialog,
+ DialogItemIndex newItem) THREEWORDINLINE(0x303C, 0x0304, 0xAA68);
+
+
+/*
+ * SetDialogCancelItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDialogCancelItem(
+ DialogRef theDialog,
+ DialogItemIndex newItem) THREEWORDINLINE(0x303C, 0x0305, 0xAA68);
+
+
+/*
+ * SetDialogTracksCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDialogTracksCursor(
+ DialogRef theDialog,
+ Boolean tracks) THREEWORDINLINE(0x303C, 0x0306, 0xAA68);
+
+
+
+
+/*
+ ---------------------------------------------------------------------------------------------------------
+ o Appearance Dialog Routines (available only with Appearance 1.0 and later)
+ ---------------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * NewFeaturesDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogRef )
+NewFeaturesDialog(
+ void * inStorage,
+ const Rect * inBoundsRect,
+ ConstStr255Param inTitle,
+ Boolean inIsVisible,
+ SInt16 inProcID,
+ WindowRef inBehind,
+ Boolean inGoAwayFlag,
+ SInt32 inRefCon,
+ Handle inItemListHandle,
+ UInt32 inFlags) THREEWORDINLINE(0x303C, 0x110C, 0xAA68);
+
+
+/*
+ * AutoSizeDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AutoSizeDialog(DialogRef inDialog) THREEWORDINLINE(0x303C, 0x020D, 0xAA68);
+
+
+/*
+ Regarding StandardAlert and constness:
+ Even though the inAlertParam parameter is marked const here, there was
+ a chance Dialog Manager would modify it on versions of Mac OS prior to 9.
+*/
+/*
+ * StandardAlert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+StandardAlert(
+ AlertType inAlertType,
+ ConstStr255Param inError,
+ ConstStr255Param inExplanation,
+ const AlertStdAlertParamRec * inAlertParam, /* can be NULL */
+ SInt16 * outItemHit) THREEWORDINLINE(0x303C, 0x090E, 0xAA68);
+
+
+/* CFString-based StandardAlert and StandardSheet APIs are only available on Mac OS X and later*/
+
+/*
+ * GetStandardAlertDefaultParams()
+ *
+ * Summary:
+ * Fills out an AlertStdCFStringAlertParamRec with default values: -
+ * not movable - no help button - default button with title
+ * kAlertDefaultOKText, meaning "OK" - no cancel or other buttons
+ *
+ * Parameters:
+ *
+ * param:
+ * The parameter block to initialize.
+ *
+ * version:
+ * The parameter block version; pass kStdCFStringAlertVersionOne.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetStandardAlertDefaultParams(
+ AlertStdCFStringAlertParamPtr param,
+ UInt32 version);
+
+
+/*
+ * CreateStandardAlert()
+ *
+ * Summary:
+ * Creates an alert containing standard elements and using standard
+ * formatting rules.
+ *
+ * Discussion:
+ * CreateStandardAlert should be used in conjunction with
+ * RunStandardAlert. After CreateStandardAlert returns, the alert is
+ * still invisible. RunStandardAlert will show the alert and run a
+ * modal dialog loop to process events in the alert. The strings
+ * passed to this API in the error, explanation, and
+ * AlertStdCFStringAlertParamRec button title parameters will all be
+ * retained during the creation of the alert, and released when the
+ * alert is disposed by RunStandardAlert. There is no net change to
+ * the refcount of these strings across CreateStandardAlert and
+ * RunStandardAlert.
+ *
+ * Parameters:
+ *
+ * alertType:
+ * The type of alert to create.
+ *
+ * error:
+ * The error string to display. CreateStandardAlert increments the
+ * refcount on this string, so you may release it after
+ * CreateStandardAlert returns if you don't need it later.
+ *
+ * explanation:
+ * The explanation string to display. May be NULL or empty to
+ * display no explanation. CreateStandardAlert increments the
+ * refcount on this string, so you may release it after
+ * CreateStandardAlert returns if you don't need it later.
+ *
+ * param:
+ * The parameter block describing how to create the alert. May be
+ * NULL. CreateStandardAlert increments the refcount on the button
+ * title strings in the parameter block, so you may release them
+ * after CreateStandardAlert returns if you don't need them later.
+ *
+ * outAlert:
+ * On exit, contains the new alert.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateStandardAlert(
+ AlertType alertType,
+ CFStringRef error,
+ CFStringRef explanation, /* can be NULL */
+ const AlertStdCFStringAlertParamRec * param, /* can be NULL */
+ DialogRef * outAlert);
+
+
+/*
+ * RunStandardAlert()
+ *
+ * Summary:
+ * Shows, runs, and destroys a standard alert using a modal dialog
+ * loop.
+ *
+ * Discussion:
+ * RunStandardAlert displays and runs an alert created by
+ * CreateStandardAlert. It handles all user interaction with the
+ * alert. After the user has dismissed the alert, RunStandardAlert
+ * destroys the alert dialog; the DialogRef will be invalid after
+ * RunStandardAlert returns.
+ *
+ * NOTE: DO NOT call this function for a dialog that was not created
+ * with CreateStandardAlert! You will sorely regret it, I promise
+ * you.
+ *
+ * Parameters:
+ *
+ * inAlert:
+ * The alert to display.
+ *
+ * filterProc:
+ * An event filter function for handling events that do not apply
+ * to the alert. May be NULL.
+ *
+ * outItemHit:
+ * On exit, contains the item index of the button that was pressed
+ * to close the alert.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RunStandardAlert(
+ DialogRef inAlert,
+ ModalFilterUPP filterProc, /* can be NULL */
+ DialogItemIndex * outItemHit);
+
+
+/*
+ * CreateStandardSheet()
+ *
+ * Summary:
+ * Creates an alert containing standard elements and using standard
+ * formatting rules, and prepares it to be displayed as a sheet.
+ *
+ * Discussion:
+ * CreateStandardSheet should be used in conjunction with
+ * ShowSheetWindow. After CreateStandardSheet returns, the alert is
+ * still invisible. ShowSheetWindow will show the alert and then
+ * return. Events in the sheet are handled asynchronously; the
+ * application should be prepared for the sheet window to be part of
+ * its windowlist while running its own event loop. When a button in
+ * the sheet is pressed, the EventTargetRef passed to
+ * CreateStandardSheet will receive a command event with one of the
+ * command IDs kHICommandOK, kHICommandCancel, or kHICommandOther.
+ * The sheet is closed before the command is sent. The strings
+ * passed to this API in the error, explanation, and
+ * AlertStdCFStringAlertParamRec button title parameters will all be
+ * retained during the creation of the sheet, and released when the
+ * sheet is disposed. There is no net change to the refcount of
+ * these strings across CreateStandardSheet and sheet destruction.
+ *
+ * Parameters:
+ *
+ * alertType:
+ * The type of alert to create.
+ *
+ * error:
+ * The error string to display. CreateStandardSheet increments the
+ * refcount on this string, so you may release it after
+ * CreateStandardSheet returns if you don't need it later.
+ *
+ * explanation:
+ * The explanation string to display. May be NULL or empty to
+ * display no explanation. CreateStandardSheet increments the
+ * refcount on this string, so you may release it after
+ * CreateStandardSheet returns if you don't need it later.
+ *
+ * param:
+ * The parameter block describing how to create the alert. May be
+ * NULL. CreateStandardSheet increments the refcount on the button
+ * title strings in the parameter block, so you may release them
+ * after CreateStandardSheet returns if you don't need them later.
+ *
+ * notifyTarget:
+ * The event target to be notified when the sheet is closed. The
+ * caller should install an event handler on this target for the
+ * [kEventClassCommand, kEventProcessCommand] event.
+ *
+ * outSheet:
+ * On exit, contains the new alert.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateStandardSheet(
+ AlertType alertType,
+ CFStringRef error,
+ CFStringRef explanation, /* can be NULL */
+ const AlertStdCFStringAlertParamRec * param, /* can be NULL */
+ EventTargetRef notifyTarget,
+ DialogRef * outSheet);
+
+
+/*
+ * CloseStandardSheet()
+ *
+ * Summary:
+ * Closes a standard sheet dialog and releases the dialog data
+ * structures.
+ *
+ * Discussion:
+ * CloseStandardSheet is meant to be used when you need to remove a
+ * sheet because of a higher-priority request to close the sheet's
+ * document window. For example, you might have a Save Changes sheet
+ * open on a document window. Meanwhile, the user drags the document
+ * into the trash. When your application sees that the document has
+ * been moved to the trash, it knows that it should close the
+ * document window, but first it needs to close the sheet.
+ * CloseStandardSheet should not be used by your Carbon event
+ * handler in response to a click in one of the sheet buttons; the
+ * Dialog Manager will close the sheet automatically in that case.
+ * If kStdAlertDoNotDisposeSheet was specified when the sheet was
+ * created, the sheet dialog will be hidden but not released, and
+ * you can reuse the sheet later.
+ *
+ * Parameters:
+ *
+ * inSheet:
+ * The sheet to close.
+ *
+ * inResultCommand:
+ * This command, if not zero, will be sent to the EventTarget
+ * specified when the sheet was created.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CloseStandardSheet(
+ DialogRef inSheet,
+ UInt32 inResultCommand);
+
+
+/*
+ * GetDialogItemAsControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDialogItemAsControl(
+ DialogRef inDialog,
+ SInt16 inItemNo,
+ ControlRef * outControl) THREEWORDINLINE(0x303C, 0x050F, 0xAA68);
+
+
+/*
+ * MoveDialogItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+MoveDialogItem(
+ DialogRef inDialog,
+ SInt16 inItemNo,
+ SInt16 inHoriz,
+ SInt16 inVert) THREEWORDINLINE(0x303C, 0x0510, 0xAA68);
+
+
+/*
+ * SizeDialogItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SizeDialogItem(
+ DialogRef inDialog,
+ SInt16 inItemNo,
+ SInt16 inWidth,
+ SInt16 inHeight) THREEWORDINLINE(0x303C, 0x0511, 0xAA68);
+
+
+/*
+ * AppendDialogItemList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DialogsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AppendDialogItemList(
+ DialogRef dialog,
+ SInt16 ditlID,
+ DITLMethod method) THREEWORDINLINE(0x303C, 0x0412, 0xAA68);
+
+
+/*
+ ---------------------------------------------------------------------------------------------------------
+ o Dialog Routines available only with Appearance 1.1 (Mac OS 8.5) and later
+ ---------------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * SetDialogTimeout()
+ *
+ * Summary:
+ * Sets the timeout for a modal dialog.
+ *
+ * Discussion:
+ * SetDialogTimeout sets the delay after which a dialog will be
+ * automatically dismissed. When SetDialogTimeout is called, the
+ * Dialog Manager takes the current time, adds the timeout to it,
+ * and stores the result as the time to dismiss the dialog. If the
+ * dismissal time is reached, the dialog is automatically closed and
+ * the specified dialog item index is returned from ModalDialog in
+ * the itemHit parameter. If the user moves the mouse or presses a
+ * key, the dismissal time is reset by adding the original timeout
+ * to the time of the event. Only the ModalDialog API observes the
+ * timeout value; if you are handling events in a modeless dialog or
+ * sheet using IsDialogEvent and DialogSelect, the timeout will be
+ * ignored.
+ *
+ * Parameters:
+ *
+ * inDialog:
+ * The dialog on which to set a timeout.
+ *
+ * inButtonToPress:
+ * The dialog item index that should be returned from ModalDialog
+ * when the timeout expires.
+ *
+ * inSecondsToWait:
+ * The time to wait before dismissing the dialog, in seconds.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DialogsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetDialogTimeout(
+ DialogRef inDialog,
+ SInt16 inButtonToPress,
+ UInt32 inSecondsToWait);
+
+
+/*
+ * GetDialogTimeout()
+ *
+ * Summary:
+ * Retrieves the timeout for a modal dialog.
+ *
+ * Parameters:
+ *
+ * inDialog:
+ * The dialog from which to retrieve the timeout.
+ *
+ * outButtonToPress:
+ * On exit, contains the dialog item index that should be returned
+ * from ModalDialog when the dialog is dismissed. May be NULL if
+ * you do not need this information.
+ *
+ * outSecondsToWait:
+ * On exit, contains the time to wait before dismissing the
+ * dialog, in seconds. May be NULL if you do not need this
+ * information.
+ *
+ * outSecondsRemaining:
+ * On exit, contains the time until the dialog is dismissed, in
+ * seconds. May be NULL if you do not need this information.
+ *
+ * Result:
+ * An operating system result code. Returns dialogNoTimeoutErr if no
+ * timeout has been set for this dialog.
+ *
+ * Availability:
+ * Non-Carbon CFM: in DialogsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetDialogTimeout(
+ DialogRef inDialog,
+ SInt16 * outButtonToPress, /* can be NULL */
+ UInt32 * outSecondsToWait, /* can be NULL */
+ UInt32 * outSecondsRemaining); /* can be NULL */
+
+
+/*
+ * SetModalDialogEventMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DialogsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetModalDialogEventMask(
+ DialogRef inDialog,
+ EventMask inMask);
+
+
+/*
+ * GetModalDialogEventMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DialogsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetModalDialogEventMask(
+ DialogRef inDialog,
+ EventMask * outMask);
+
+
+
+
+/*
+ ---------------------------------------------------------------------------------------------------------
+ o Accessor functions
+ ---------------------------------------------------------------------------------------------------------
+*/
+
+
+/*
+ * GetDialogWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetDialogWindow(DialogRef dialog);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(WindowRef) GetDialogWindow(DialogRef dialog)
- {
- return (WindowRef)dialog;
- }
-#else
-#define GetDialogWindow(dialog) ((WindowRef)dialog)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(WindowRef ) GetDialogWindow(DialogRef dialog) { return (WindowRef)dialog; }
+ #else
+ #define GetDialogWindow(dialog) ((WindowRef)dialog)
+ #endif
#endif
- /*
- * GetDialogTextEditHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TEHandle)
- GetDialogTextEditHandle(DialogRef dialog);
+/*
+ * GetDialogTextEditHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEHandle )
+GetDialogTextEditHandle(DialogRef dialog);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(TEHandle) GetDialogTextEditHandle(DialogRef dialog)
- {
- return ((DialogPeek)dialog)->textH;
- }
-#else
-#define GetDialogTextEditHandle(dialog) (((DialogPeek)dialog)->textH)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(TEHandle ) GetDialogTextEditHandle(DialogRef dialog) { return ((DialogPeek)dialog)->textH; }
+ #else
+ #define GetDialogTextEditHandle(dialog) (((DialogPeek)dialog)->textH)
+ #endif
#endif
- /*
- * GetDialogDefaultItem()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetDialogDefaultItem(DialogRef dialog);
+/*
+ * GetDialogDefaultItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetDialogDefaultItem(DialogRef dialog);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(SInt16) GetDialogDefaultItem(DialogRef dialog)
- {
- return ((DialogPeek)dialog)->aDefItem;
- }
-#else
-#define GetDialogDefaultItem(dialog) (((DialogPeek)dialog)->aDefItem)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(SInt16 ) GetDialogDefaultItem(DialogRef dialog) { return ((DialogPeek)dialog)->aDefItem; }
+ #else
+ #define GetDialogDefaultItem(dialog) (((DialogPeek)dialog)->aDefItem)
+ #endif
#endif
- /*
- * GetDialogCancelItem()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetDialogCancelItem(DialogRef dialog);
+/*
+ * GetDialogCancelItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetDialogCancelItem(DialogRef dialog);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(SInt16) GetDialogCancelItem(DialogRef dialog)
- {
- return ((DialogPeek)dialog)->editOpen;
- }
-#else
-#define GetDialogCancelItem(dialog) (((DialogPeek)dialog)->editOpen)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(SInt16 ) GetDialogCancelItem(DialogRef dialog) { return ((DialogPeek)dialog)->editOpen; }
+ #else
+ #define GetDialogCancelItem(dialog) (((DialogPeek)dialog)->editOpen)
+ #endif
#endif
- /*
- * GetDialogKeyboardFocusItem()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetDialogKeyboardFocusItem(DialogRef dialog);
+/*
+ * GetDialogKeyboardFocusItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetDialogKeyboardFocusItem(DialogRef dialog);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(SInt16) GetDialogKeyboardFocusItem(DialogRef dialog)
- {
- return ((DialogPeek)dialog)->editField < 0 ? (short)(-1) : (short)(((DialogPeek)dialog)->editField + 1);
- }
-#else
-#define GetDialogKeyboardFocusItem(dialog) (((DialogPeek)dialog)->editField < 0 ? (short)(-1): (short)(((DialogPeek)dialog)->editField + 1))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(SInt16 ) GetDialogKeyboardFocusItem(DialogRef dialog) { return ((DialogPeek)dialog)->editField < 0 ? (short)(-1): (short)(((DialogPeek)dialog)->editField + 1); }
+ #else
+ #define GetDialogKeyboardFocusItem(dialog) (((DialogPeek)dialog)->editField < 0 ? (short)(-1): (short)(((DialogPeek)dialog)->editField + 1))
+ #endif
#endif
- /*
- * SetPortDialogPort()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortDialogPort(DialogRef dialog);
+/*
+ * SetPortDialogPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortDialogPort(DialogRef dialog);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(void) SetPortDialogPort(DialogRef dialog)
- {
- MacSetPort((GrafPtr)dialog);
- }
-#else
-#define SetPortDialogPort(dialog) (MacSetPort((GrafPtr)dialog))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(void) SetPortDialogPort(DialogRef dialog) { MacSetPort((GrafPtr)dialog); }
+ #else
+ #define SetPortDialogPort(dialog) (MacSetPort((GrafPtr)dialog))
+ #endif
#endif
- /*
- * GetDialogPort()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CGrafPtr)
- GetDialogPort(DialogRef dialog);
+/*
+ * GetDialogPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CGrafPtr )
+GetDialogPort(DialogRef dialog);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(CGrafPtr) GetDialogPort(DialogRef dialog)
- {
- return (CGrafPtr)dialog;
- }
-#else
-#define GetDialogPort(dialog) ((CGrafPtr)dialog)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(CGrafPtr ) GetDialogPort(DialogRef dialog) { return (CGrafPtr)dialog; }
+ #else
+ #define GetDialogPort(dialog) ((CGrafPtr)dialog)
+ #endif
#endif
- /*
- * GetDialogFromWindow()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DialogRef)
- GetDialogFromWindow(WindowRef window);
+/*
+ * GetDialogFromWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DialogRef )
+GetDialogFromWindow(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(DialogRef) GetDialogFromWindow(WindowRef window)
- {
- return (DialogRef)window;
- }
-#else
-#define GetDialogFromWindow(window) ((DialogRef)window)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(DialogRef ) GetDialogFromWindow(WindowRef window) { return (DialogRef)window; }
+ #else
+ #define GetDialogFromWindow(window) ((DialogRef)window)
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * CouldDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CouldDialog(SInt16 dialogID) ONEWORDINLINE(0xA979);
-
-
- /*
- * FreeDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- FreeDialog(SInt16 dialogID) ONEWORDINLINE(0xA97A);
-
-
- /*
- * CouldAlert()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CouldAlert(SInt16 alertID) ONEWORDINLINE(0xA989);
-
-
- /*
- * FreeAlert()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- FreeAlert(SInt16 alertID) ONEWORDINLINE(0xA98A);
+/*
+ * CouldDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CouldDialog(SInt16 dialogID) ONEWORDINLINE(0xA979);
+
+
+/*
+ * FreeDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FreeDialog(SInt16 dialogID) ONEWORDINLINE(0xA97A);
+
+
+/*
+ * CouldAlert()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CouldAlert(SInt16 alertID) ONEWORDINLINE(0xA989);
+
+
+/*
+ * FreeAlert()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FreeAlert(SInt16 alertID) ONEWORDINLINE(0xA98A);
@@ -2220,11 +2140,11 @@ newcolordialog(dStorage, boundsRect, title, visible, procID, behind, goAwayFlag,
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Dictionary.h b/include/qt/Dictionary.h
index 2bf382628..7dfd2d354 100644
--- a/include/qt/Dictionary.h
+++ b/include/qt/Dictionary.h
@@ -1,17 +1,17 @@
/*
File: Dictionary.h
-
+
Contains: Dictionary Manager Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DICTIONARY__
#define __DICTIONARY__
@@ -52,1257 +52,1223 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- =============================================================================================
- Modern Dictionary Manager
- =============================================================================================
- */
- /*
- Dictionary information
- */
- enum {
- kDictionaryFileType = FOUR_CHAR_CODE('dict'),
- kDCMDictionaryHeaderSignature = FOUR_CHAR_CODE('dict'),
- kDCMDictionaryHeaderVersion = 2
- };
-
- enum
- {
- kDCMAnyFieldTag = typeWildCard,
- kDCMAnyFieldType = typeWildCard
- };
-
- /*
- Contents of a Field Info Record (an AERecord)
- */
- enum
- {
- keyDCMFieldTag = FOUR_CHAR_CODE('ftag'), /* typeEnumeration */
- keyDCMFieldType = FOUR_CHAR_CODE('ftyp'), /* typeEnumeration */
- keyDCMMaxRecordSize = FOUR_CHAR_CODE('mrsz'), /* typeMagnitude */
- keyDCMFieldAttributes = FOUR_CHAR_CODE('fatr'),
- keyDCMFieldDefaultData = FOUR_CHAR_CODE('fdef'),
- keyDCMFieldName = FOUR_CHAR_CODE('fnam'), /* typeChar */
- keyDCMFieldFindMethods = FOUR_CHAR_CODE('ffnd') /* typeAEList of typeDCMFindMethod */
- };
-
- /*
- Special types for fields of a Field Info Record
- */
- enum
- {
- typeDCMFieldAttributes = FOUR_CHAR_CODE('fatr'),
- typeDCMFindMethod = FOUR_CHAR_CODE('fmth')
- };
-
-
- /*
- Field attributes
- */
- enum
- {
- kDCMIndexedFieldMask = 0x00000001,
- kDCMRequiredFieldMask = 0x00000002,
- kDCMIdentifyFieldMask = 0x00000004,
- kDCMFixedSizeFieldMask = 0x00000008,
- kDCMHiddenFieldMask = (long)0x80000000
- };
-
- typedef OptionBits DCMFieldAttributes;
- /*
- Standard dictionary properties
- */
- enum
- {
- pDCMAccessMethod = FOUR_CHAR_CODE('amtd'), /* data type: typeChar ReadOnly */
- pDCMPermission = FOUR_CHAR_CODE('perm'), /* data type: typeUInt16 */
- pDCMListing = FOUR_CHAR_CODE('list'), /* data type: typeUInt16 */
- pDCMMaintenance = FOUR_CHAR_CODE('mtnc'), /* data type: typeUInt16 */
- pDCMLocale = FOUR_CHAR_CODE('locl'), /* data type: typeUInt32. Optional; default = kLocaleIdentifierWildCard */
- pDCMClass = pClass, /* data type: typeUInt16 */
- pDCMCopyright = FOUR_CHAR_CODE('info') /* data type: typeChar */
- };
-
- /*
- pDCMPermission property constants
- */
- enum
- {
- kDCMReadOnlyDictionary = 0,
- kDCMReadWriteDictionary = 1
- };
-
- /*
- pDCMListing property constants
- */
- enum
- {
- kDCMAllowListing = 0,
- kDCMProhibitListing = 1
- };
-
- /*
- pDCMClass property constants
- */
- enum
- {
- kDCMUserDictionaryClass = 0,
- kDCMSpecificDictionaryClass = 1,
- kDCMBasicDictionaryClass = 2
- };
-
- /*
- Standard search method
- */
- enum
- {
- kDCMFindMethodExactMatch = kAEEquals,
- kDCMFindMethodBeginningMatch = kAEBeginsWith,
- kDCMFindMethodContainsMatch = kAEContains,
- kDCMFindMethodEndingMatch = kAEEndsWith,
- kDCMFindMethodForwardTrie = FOUR_CHAR_CODE('ftri'), /* used for morphological analysis*/
- kDCMFindMethodBackwardTrie = FOUR_CHAR_CODE('btri') /* used for morphological analysis*/
- };
-
- typedef OSType DCMFindMethod;
- /*
- AccessMethod features
- */
- enum
- {
- kDCMCanUseFileDictionaryMask = 0x00000001,
- kDCMCanUseMemoryDictionaryMask = 0x00000002,
- kDCMCanStreamDictionaryMask = 0x00000004,
- kDCMCanHaveMultipleIndexMask = 0x00000008,
- kDCMCanModifyDictionaryMask = 0x00000010,
- kDCMCanCreateDictionaryMask = 0x00000020,
- kDCMCanAddDictionaryFieldMask = 0x00000040,
- kDCMCanUseTransactionMask = 0x00000080
- };
-
- typedef OptionBits DCMAccessMethodFeature;
- typedef UInt32 DCMUniqueID;
- typedef struct OpaqueDCMObjectID* DCMObjectID;
- typedef DCMObjectID DCMAccessMethodID;
- typedef DCMObjectID DCMDictionaryID;
+/*
+=============================================================================================
+ Modern Dictionary Manager
+=============================================================================================
+*/
+/*
+ Dictionary information
+*/
+enum {
+ kDictionaryFileType = FOUR_CHAR_CODE('dict'),
+ kDCMDictionaryHeaderSignature = FOUR_CHAR_CODE('dict'),
+ kDCMDictionaryHeaderVersion = 2
+};
+
+enum {
+ kDCMAnyFieldTag = typeWildCard,
+ kDCMAnyFieldType = typeWildCard
+};
+
+/*
+ Contents of a Field Info Record (an AERecord)
+*/
+enum {
+ keyDCMFieldTag = FOUR_CHAR_CODE('ftag'), /* typeEnumeration */
+ keyDCMFieldType = FOUR_CHAR_CODE('ftyp'), /* typeEnumeration */
+ keyDCMMaxRecordSize = FOUR_CHAR_CODE('mrsz'), /* typeMagnitude */
+ keyDCMFieldAttributes = FOUR_CHAR_CODE('fatr'),
+ keyDCMFieldDefaultData = FOUR_CHAR_CODE('fdef'),
+ keyDCMFieldName = FOUR_CHAR_CODE('fnam'), /* typeChar */
+ keyDCMFieldFindMethods = FOUR_CHAR_CODE('ffnd') /* typeAEList of typeDCMFindMethod */
+};
+
+/*
+ Special types for fields of a Field Info Record
+*/
+enum {
+ typeDCMFieldAttributes = FOUR_CHAR_CODE('fatr'),
+ typeDCMFindMethod = FOUR_CHAR_CODE('fmth')
+};
+
+
+/*
+ Field attributes
+*/
+enum {
+ kDCMIndexedFieldMask = 0x00000001,
+ kDCMRequiredFieldMask = 0x00000002,
+ kDCMIdentifyFieldMask = 0x00000004,
+ kDCMFixedSizeFieldMask = 0x00000008,
+ kDCMHiddenFieldMask = (long)0x80000000
+};
+
+typedef OptionBits DCMFieldAttributes;
+/*
+ Standard dictionary properties
+*/
+enum {
+ pDCMAccessMethod = FOUR_CHAR_CODE('amtd'), /* data type: typeChar ReadOnly */
+ pDCMPermission = FOUR_CHAR_CODE('perm'), /* data type: typeUInt16 */
+ pDCMListing = FOUR_CHAR_CODE('list'), /* data type: typeUInt16 */
+ pDCMMaintenance = FOUR_CHAR_CODE('mtnc'), /* data type: typeUInt16 */
+ pDCMLocale = FOUR_CHAR_CODE('locl'), /* data type: typeUInt32. Optional; default = kLocaleIdentifierWildCard */
+ pDCMClass = pClass, /* data type: typeUInt16 */
+ pDCMCopyright = FOUR_CHAR_CODE('info') /* data type: typeChar */
+};
+
+/*
+ pDCMPermission property constants
+*/
+enum {
+ kDCMReadOnlyDictionary = 0,
+ kDCMReadWriteDictionary = 1
+};
+
+/*
+ pDCMListing property constants
+*/
+enum {
+ kDCMAllowListing = 0,
+ kDCMProhibitListing = 1
+};
+
+/*
+ pDCMClass property constants
+*/
+enum {
+ kDCMUserDictionaryClass = 0,
+ kDCMSpecificDictionaryClass = 1,
+ kDCMBasicDictionaryClass = 2
+};
+
+/*
+ Standard search method
+*/
+enum {
+ kDCMFindMethodExactMatch = kAEEquals,
+ kDCMFindMethodBeginningMatch = kAEBeginsWith,
+ kDCMFindMethodContainsMatch = kAEContains,
+ kDCMFindMethodEndingMatch = kAEEndsWith,
+ kDCMFindMethodForwardTrie = FOUR_CHAR_CODE('ftri'), /* used for morphological analysis*/
+ kDCMFindMethodBackwardTrie = FOUR_CHAR_CODE('btri') /* used for morphological analysis*/
+};
+
+typedef OSType DCMFindMethod;
+/*
+ AccessMethod features
+*/
+enum {
+ kDCMCanUseFileDictionaryMask = 0x00000001,
+ kDCMCanUseMemoryDictionaryMask = 0x00000002,
+ kDCMCanStreamDictionaryMask = 0x00000004,
+ kDCMCanHaveMultipleIndexMask = 0x00000008,
+ kDCMCanModifyDictionaryMask = 0x00000010,
+ kDCMCanCreateDictionaryMask = 0x00000020,
+ kDCMCanAddDictionaryFieldMask = 0x00000040,
+ kDCMCanUseTransactionMask = 0x00000080
+};
+
+typedef OptionBits DCMAccessMethodFeature;
+typedef UInt32 DCMUniqueID;
+typedef struct OpaqueDCMObjectID* DCMObjectID;
+typedef DCMObjectID DCMAccessMethodID;
+typedef DCMObjectID DCMDictionaryID;
#define kDCMInvalidObjectID ((DCMObjectID) kInvalidID)
- typedef struct OpaqueDCMObjectRef* DCMObjectRef;
- typedef DCMObjectRef DCMDictionaryRef;
- typedef DCMObjectRef DCMDictionaryStreamRef;
+typedef struct OpaqueDCMObjectRef* DCMObjectRef;
+typedef DCMObjectRef DCMDictionaryRef;
+typedef DCMObjectRef DCMDictionaryStreamRef;
#define kDCMInvalidObjectRef ((DCMObjectRef) kInvalidID)
- typedef struct OpaqueDCMObjectIterator* DCMObjectIterator;
- typedef DCMObjectIterator DCMAccessMethodIterator;
- typedef DCMObjectIterator DCMDictionaryIterator;
- typedef struct OpaqueDCMFoundRecordIterator* DCMFoundRecordIterator;
- /*
- Field specification declarations
- */
- typedef DescType DCMFieldTag;
- typedef DescType DCMFieldType;
- /*
- Dictionary header information
- */
- struct DCMDictionaryHeader
- {
- FourCharCode headerSignature;
- UInt32 headerVersion;
- ByteCount headerSize;
- Str63 accessMethod;
- };
- typedef struct DCMDictionaryHeader DCMDictionaryHeader;
- /*
- Callback routines
- */
- typedef CALLBACK_API(Boolean , DCMProgressFilterProcPtr)(Boolean determinateProcess, UInt16 percentageComplete, UInt32 callbackUD);
- typedef STACK_UPP_TYPE(DCMProgressFilterProcPtr) DCMProgressFilterUPP;
+typedef struct OpaqueDCMObjectIterator* DCMObjectIterator;
+typedef DCMObjectIterator DCMAccessMethodIterator;
+typedef DCMObjectIterator DCMDictionaryIterator;
+typedef struct OpaqueDCMFoundRecordIterator* DCMFoundRecordIterator;
+/*
+ Field specification declarations
+*/
+typedef DescType DCMFieldTag;
+typedef DescType DCMFieldType;
+/*
+ Dictionary header information
+*/
+struct DCMDictionaryHeader {
+ FourCharCode headerSignature;
+ UInt32 headerVersion;
+ ByteCount headerSize;
+ Str63 accessMethod;
+};
+typedef struct DCMDictionaryHeader DCMDictionaryHeader;
+/*
+ Callback routines
+*/
+typedef CALLBACK_API( Boolean , DCMProgressFilterProcPtr )(Boolean determinateProcess, UInt16 percentageComplete, UInt32 callbackUD);
+typedef STACK_UPP_TYPE(DCMProgressFilterProcPtr) DCMProgressFilterUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewDCMProgressFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DCMProgressFilterUPP)
- NewDCMProgressFilterUPP(DCMProgressFilterProcPtr userRoutine);
+/*
+ * NewDCMProgressFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DCMProgressFilterUPP )
+NewDCMProgressFilterUPP(DCMProgressFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDCMProgressFilterProcInfo = 0x00000E50 }; /* pascal 1_byte Func(1_byte, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DCMProgressFilterUPP) NewDCMProgressFilterUPP(DCMProgressFilterProcPtr userRoutine)
- {
- return (DCMProgressFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDCMProgressFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDCMProgressFilterUPP(userRoutine) (DCMProgressFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDCMProgressFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDCMProgressFilterProcInfo = 0x00000E50 }; /* pascal 1_byte Func(1_byte, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DCMProgressFilterUPP) NewDCMProgressFilterUPP(DCMProgressFilterProcPtr userRoutine) { return (DCMProgressFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDCMProgressFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDCMProgressFilterUPP(userRoutine) (DCMProgressFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDCMProgressFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDCMProgressFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeDCMProgressFilterUPP(DCMProgressFilterUPP userUPP);
+/*
+ * DisposeDCMProgressFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeDCMProgressFilterUPP(DCMProgressFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDCMProgressFilterUPP(DCMProgressFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDCMProgressFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDCMProgressFilterUPP(DCMProgressFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDCMProgressFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDCMProgressFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeDCMProgressFilterUPP(
- Boolean determinateProcess,
- UInt16 percentageComplete,
- UInt32 callbackUD,
- DCMProgressFilterUPP userUPP);
+/*
+ * InvokeDCMProgressFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeDCMProgressFilterUPP(
+ Boolean determinateProcess,
+ UInt16 percentageComplete,
+ UInt32 callbackUD,
+ DCMProgressFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeDCMProgressFilterUPP(Boolean determinateProcess, UInt16 percentageComplete, UInt32 callbackUD, DCMProgressFilterUPP userUPP)
- {
- return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppDCMProgressFilterProcInfo, determinateProcess, percentageComplete, callbackUD);
- }
-#else
-#define InvokeDCMProgressFilterUPP(determinateProcess, percentageComplete, callbackUD, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppDCMProgressFilterProcInfo, (determinateProcess), (percentageComplete), (callbackUD))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeDCMProgressFilterUPP(Boolean determinateProcess, UInt16 percentageComplete, UInt32 callbackUD, DCMProgressFilterUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppDCMProgressFilterProcInfo, determinateProcess, percentageComplete, callbackUD); }
+ #else
+ #define InvokeDCMProgressFilterUPP(determinateProcess, percentageComplete, callbackUD, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppDCMProgressFilterProcInfo, (determinateProcess), (percentageComplete), (callbackUD))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDCMProgressFilterProc(userRoutine) NewDCMProgressFilterUPP(userRoutine)
-#define CallDCMProgressFilterProc(userRoutine, determinateProcess, percentageComplete, callbackUD) InvokeDCMProgressFilterUPP(determinateProcess, percentageComplete, callbackUD, userRoutine)
+ #define NewDCMProgressFilterProc(userRoutine) NewDCMProgressFilterUPP(userRoutine)
+ #define CallDCMProgressFilterProc(userRoutine, determinateProcess, percentageComplete, callbackUD) InvokeDCMProgressFilterUPP(determinateProcess, percentageComplete, callbackUD, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- Library version
- */
- /*
- * DCMLibraryVersion()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- DCMLibraryVersion(void);
-
-
- /*
- Create/delete dictionary
- */
- /*
- * DCMNewDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMNewDictionary(
- DCMAccessMethodID accessMethodID,
- const FSSpec * newDictionaryFile,
- ScriptCode scriptTag,
- const AEDesc * listOfFieldInfoRecords,
- Boolean invisible,
- ItemCount recordCapacity,
- DCMDictionaryID * newDictionary);
-
-
- /*
- * DCMDeriveNewDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMDeriveNewDictionary(
- DCMDictionaryID srcDictionary,
- const FSSpec * newDictionaryFile,
- ScriptCode scriptTag,
- Boolean invisible,
- ItemCount recordCapacity,
- DCMDictionaryID * newDictionary);
-
-
- /*
- * DCMDeleteDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMDeleteDictionary(DCMDictionaryID dictionaryID);
-
-
- /*
- Register dictionary
- */
- /*
- * DCMRegisterDictionaryFile()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMRegisterDictionaryFile(
- const FSSpec * dictionaryFile,
- DCMDictionaryID * dictionaryID);
-
-
- /*
- * DCMUnregisterDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMUnregisterDictionary(DCMDictionaryID dictionaryID);
-
-
- /*
- Open dictionary
- */
- /*
- * DCMOpenDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMOpenDictionary(
- DCMDictionaryID dictionaryID,
- ByteCount protectKeySize,
- ConstLogicalAddress protectKey,
- DCMDictionaryRef * dictionaryRef);
-
-
- /*
- * DCMCloseDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMCloseDictionary(DCMDictionaryRef dictionaryRef);
-
-
- /*
- Change access privilege
- */
- /*
- * DCMGetDictionaryWriteAccess()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetDictionaryWriteAccess(
- DCMDictionaryRef dictionaryRef,
- Duration timeOutDuration);
-
-
- /*
- * DCMReleaseDictionaryWriteAccess()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMReleaseDictionaryWriteAccess(
- DCMDictionaryRef dictionaryRef,
- Boolean commitTransaction);
-
-
- /*
- Find records
- */
- /*
- * DCMFindRecords()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMFindRecords(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ByteCount keySize,
- ConstLogicalAddress keyData,
- DCMFindMethod findMethod,
- ItemCount preFetchedDataNum,
- DCMFieldTag preFetchedData[],
- ItemCount skipCount,
- ItemCount maxRecordCount,
- DCMFoundRecordIterator * recordIterator);
-
-
- /*
- * DCMCountRecordIterator()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ItemCount)
- DCMCountRecordIterator(DCMFoundRecordIterator recordIterator);
-
-
- /*
- * DCMIterateFoundRecord()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMIterateFoundRecord(
- DCMFoundRecordIterator recordIterator,
- ByteCount maxKeySize,
- ByteCount * actualKeySize,
- LogicalAddress keyData,
- DCMUniqueID * uniqueID,
- AEDesc * dataList);
-
-
- /*
- * DCMDisposeRecordIterator()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMDisposeRecordIterator(DCMFoundRecordIterator recordIterator);
-
-
- /*
- Dump dictionary
- */
- /*
- * DCMCountRecord()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMCountRecord(
- DCMDictionaryID dictionaryID,
- ItemCount * count);
-
-
- /*
- * DCMGetRecordSequenceNumber()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetRecordSequenceNumber(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ByteCount keySize,
- ConstLogicalAddress keyData,
- DCMUniqueID uniqueID,
- ItemCount * sequenceNum);
-
-
- /*
- * DCMGetNthRecord()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetNthRecord(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ItemCount serialNum,
- ByteCount maxKeySize,
- ByteCount * keySize,
- LogicalAddress keyData,
- DCMUniqueID * uniqueID);
-
-
- /*
- * DCMGetNextRecord()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetNextRecord(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ByteCount keySize,
- ConstLogicalAddress keyData,
- DCMUniqueID uniqueID,
- ByteCount maxKeySize,
- ByteCount * nextKeySize,
- LogicalAddress nextKeyData,
- DCMUniqueID * nextUniqueID);
-
-
- /*
- * DCMGetPrevRecord()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetPrevRecord(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ByteCount keySize,
- ConstLogicalAddress keyData,
- DCMUniqueID uniqueID,
- ByteCount maxKeySize,
- ByteCount * prevKeySize,
- LogicalAddress prevKeyData,
- DCMUniqueID * prevUniqueID);
-
-
- /*
- Get field data
- */
- /*
- * DCMGetFieldData()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetFieldData(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ByteCount keySize,
- ConstLogicalAddress keyData,
- DCMUniqueID uniqueID,
- ItemCount numOfData,
- const DCMFieldTag dataTag[],
- AEDesc * dataList);
-
-
- /*
- * DCMSetFieldData()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMSetFieldData(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ByteCount keySize,
- ConstLogicalAddress keyData,
- DCMUniqueID uniqueID,
- const AEDesc * dataList);
-
-
- /*
- Add record
- */
- /*
- * DCMAddRecord()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMAddRecord(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ByteCount keySize,
- ConstLogicalAddress keyData,
- Boolean checkOnly,
- const AEDesc * dataList,
- DCMUniqueID * newUniqueID);
-
-
- /*
- * DCMDeleteRecord()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMDeleteRecord(
- DCMDictionaryRef dictionaryRef,
- DCMFieldTag keyFieldTag,
- ByteCount keySize,
- ConstLogicalAddress keyData,
- DCMUniqueID uniqueID);
-
-
- /*
- Reorganize/compact dictionary
- */
- /*
- * DCMReorganizeDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMReorganizeDictionary(
- DCMDictionaryID dictionaryID,
- ItemCount extraCapacity,
- DCMProgressFilterUPP progressProc,
- UInt32 userData);
-
-
- /*
- * DCMCompactDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMCompactDictionary(
- DCMDictionaryID dictionaryID,
- DCMProgressFilterUPP progressProc,
- UInt32 userData);
-
-
- /*
- DictionaryID utilities
- */
- /*
- * DCMGetFileFromDictionaryID()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetFileFromDictionaryID(
- DCMDictionaryID dictionaryID,
- FSSpec * fileRef);
-
-
- /*
- * DCMGetDictionaryIDFromFile()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetDictionaryIDFromFile(
- const FSSpec * fileRef,
- DCMDictionaryID * dictionaryID);
-
-
- /*
- * DCMGetDictionaryIDFromRef()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DCMDictionaryID)
- DCMGetDictionaryIDFromRef(DCMDictionaryRef dictionaryRef);
-
-
- /*
- Field information and manipulation
- */
- /*
- * DCMGetDictionaryFieldInfo()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetDictionaryFieldInfo(
- DCMDictionaryID dictionaryID,
- DCMFieldTag fieldTag,
- AEDesc * fieldInfoRecord);
-
-
- /*
- Dictionary property
- */
- /*
- * DCMGetDictionaryProperty()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetDictionaryProperty(
- DCMDictionaryID dictionaryID,
- DCMFieldTag propertyTag,
- ByteCount maxPropertySize,
- ByteCount * actualSize,
- LogicalAddress propertyValue);
-
-
- /*
- * DCMSetDictionaryProperty()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMSetDictionaryProperty(
- DCMDictionaryID dictionaryID,
- DCMFieldTag propertyTag,
- ByteCount propertySize,
- ConstLogicalAddress propertyValue);
-
-
- /*
- * DCMGetDictionaryPropertyList()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetDictionaryPropertyList(
- DCMDictionaryID dictionaryID,
- ItemCount maxPropertyNum,
- ItemCount * numProperties,
- DCMFieldTag propertyTag[]);
-
-
- /*
- Seaarch dictionary
- */
- /*
- * DCMCreateDictionaryIterator()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMCreateDictionaryIterator(DCMDictionaryIterator * dictionaryIterator);
-
-
- /*
- Search AccessMethod
- */
- /*
- * DCMCreateAccessMethodIterator()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMCreateAccessMethodIterator(DCMAccessMethodIterator * accessMethodIterator);
-
-
- /*
- Iterator Operation
- */
- /*
- * DCMCountObjectIterator()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ItemCount)
- DCMCountObjectIterator(DCMObjectIterator iterator);
-
-
- /*
- * DCMIterateObject()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMIterateObject(
- DCMObjectIterator iterator,
- DCMObjectID * objectID);
-
-
- /*
- * DCMResetObjectIterator()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMResetObjectIterator(DCMObjectIterator iterator);
-
-
- /*
- * DCMDisposeObjectIterator()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMDisposeObjectIterator(DCMObjectIterator iterator);
-
-
- /*
- Get AccessMethod information
- */
- /*
- * DCMGetAccessMethodIDFromName()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetAccessMethodIDFromName(
- ConstStr63Param accessMethodName,
- DCMAccessMethodID * accessMethodID);
-
-
- /*
- Field Info Record routines
- */
- /*
- * DCMCreateFieldInfoRecord()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMCreateFieldInfoRecord(
- DescType fieldTag,
- DescType fieldType,
- ByteCount maxRecordSize,
- DCMFieldAttributes fieldAttributes,
- AEDesc * fieldDefaultData,
- ItemCount numberOfFindMethods,
- DCMFindMethod findMethods[],
- AEDesc * fieldInfoRecord);
-
-
- /*
- * DCMGetFieldTagAndType()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetFieldTagAndType(
- const AEDesc * fieldInfoRecord,
- DCMFieldTag * fieldTag,
- DCMFieldType * fieldType);
-
-
- /*
- * DCMGetFieldMaxRecordSize()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetFieldMaxRecordSize(
- const AEDesc * fieldInfoRecord,
- ByteCount * maxRecordSize);
-
-
- /*
- * DCMGetFieldAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetFieldAttributes(
- const AEDesc * fieldInfoRecord,
- DCMFieldAttributes * attributes);
-
-
- /*
- * DCMGetFieldDefaultData()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetFieldDefaultData(
- const AEDesc * fieldInfoRecord,
- DescType desiredType,
- AEDesc * fieldDefaultData);
-
-
- /*
- * DCMGetFieldFindMethods()
- *
- * Availability:
- * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DCMGetFieldFindMethods(
- const AEDesc * fieldInfoRecord,
- ItemCount findMethodsArrayMaxSize,
- DCMFindMethod findMethods[],
- ItemCount * actualNumberOfFindMethods);
-
-
- /*
- Check Dictionary Manager availability
- */
+/*
+ Library version
+*/
+/*
+ * DCMLibraryVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+DCMLibraryVersion(void);
+
+
+/*
+ Create/delete dictionary
+*/
+/*
+ * DCMNewDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMNewDictionary(
+ DCMAccessMethodID accessMethodID,
+ const FSSpec * newDictionaryFile,
+ ScriptCode scriptTag,
+ const AEDesc * listOfFieldInfoRecords,
+ Boolean invisible,
+ ItemCount recordCapacity,
+ DCMDictionaryID * newDictionary);
+
+
+/*
+ * DCMDeriveNewDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMDeriveNewDictionary(
+ DCMDictionaryID srcDictionary,
+ const FSSpec * newDictionaryFile,
+ ScriptCode scriptTag,
+ Boolean invisible,
+ ItemCount recordCapacity,
+ DCMDictionaryID * newDictionary);
+
+
+/*
+ * DCMDeleteDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMDeleteDictionary(DCMDictionaryID dictionaryID);
+
+
+/*
+ Register dictionary
+*/
+/*
+ * DCMRegisterDictionaryFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMRegisterDictionaryFile(
+ const FSSpec * dictionaryFile,
+ DCMDictionaryID * dictionaryID);
+
+
+/*
+ * DCMUnregisterDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMUnregisterDictionary(DCMDictionaryID dictionaryID);
+
+
+/*
+ Open dictionary
+*/
+/*
+ * DCMOpenDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMOpenDictionary(
+ DCMDictionaryID dictionaryID,
+ ByteCount protectKeySize,
+ ConstLogicalAddress protectKey,
+ DCMDictionaryRef * dictionaryRef);
+
+
+/*
+ * DCMCloseDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMCloseDictionary(DCMDictionaryRef dictionaryRef);
+
+
+/*
+ Change access privilege
+*/
+/*
+ * DCMGetDictionaryWriteAccess()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetDictionaryWriteAccess(
+ DCMDictionaryRef dictionaryRef,
+ Duration timeOutDuration);
+
+
+/*
+ * DCMReleaseDictionaryWriteAccess()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMReleaseDictionaryWriteAccess(
+ DCMDictionaryRef dictionaryRef,
+ Boolean commitTransaction);
+
+
+/*
+ Find records
+*/
+/*
+ * DCMFindRecords()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMFindRecords(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ByteCount keySize,
+ ConstLogicalAddress keyData,
+ DCMFindMethod findMethod,
+ ItemCount preFetchedDataNum,
+ DCMFieldTag preFetchedData[],
+ ItemCount skipCount,
+ ItemCount maxRecordCount,
+ DCMFoundRecordIterator * recordIterator);
+
+
+/*
+ * DCMCountRecordIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ItemCount )
+DCMCountRecordIterator(DCMFoundRecordIterator recordIterator);
+
+
+/*
+ * DCMIterateFoundRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMIterateFoundRecord(
+ DCMFoundRecordIterator recordIterator,
+ ByteCount maxKeySize,
+ ByteCount * actualKeySize,
+ LogicalAddress keyData,
+ DCMUniqueID * uniqueID,
+ AEDesc * dataList);
+
+
+/*
+ * DCMDisposeRecordIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMDisposeRecordIterator(DCMFoundRecordIterator recordIterator);
+
+
+/*
+ Dump dictionary
+*/
+/*
+ * DCMCountRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMCountRecord(
+ DCMDictionaryID dictionaryID,
+ ItemCount * count);
+
+
+/*
+ * DCMGetRecordSequenceNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetRecordSequenceNumber(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ByteCount keySize,
+ ConstLogicalAddress keyData,
+ DCMUniqueID uniqueID,
+ ItemCount * sequenceNum);
+
+
+/*
+ * DCMGetNthRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetNthRecord(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ItemCount serialNum,
+ ByteCount maxKeySize,
+ ByteCount * keySize,
+ LogicalAddress keyData,
+ DCMUniqueID * uniqueID);
+
+
+/*
+ * DCMGetNextRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetNextRecord(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ByteCount keySize,
+ ConstLogicalAddress keyData,
+ DCMUniqueID uniqueID,
+ ByteCount maxKeySize,
+ ByteCount * nextKeySize,
+ LogicalAddress nextKeyData,
+ DCMUniqueID * nextUniqueID);
+
+
+/*
+ * DCMGetPrevRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetPrevRecord(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ByteCount keySize,
+ ConstLogicalAddress keyData,
+ DCMUniqueID uniqueID,
+ ByteCount maxKeySize,
+ ByteCount * prevKeySize,
+ LogicalAddress prevKeyData,
+ DCMUniqueID * prevUniqueID);
+
+
+/*
+ Get field data
+*/
+/*
+ * DCMGetFieldData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetFieldData(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ByteCount keySize,
+ ConstLogicalAddress keyData,
+ DCMUniqueID uniqueID,
+ ItemCount numOfData,
+ const DCMFieldTag dataTag[],
+ AEDesc * dataList);
+
+
+/*
+ * DCMSetFieldData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMSetFieldData(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ByteCount keySize,
+ ConstLogicalAddress keyData,
+ DCMUniqueID uniqueID,
+ const AEDesc * dataList);
+
+
+/*
+ Add record
+*/
+/*
+ * DCMAddRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMAddRecord(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ByteCount keySize,
+ ConstLogicalAddress keyData,
+ Boolean checkOnly,
+ const AEDesc * dataList,
+ DCMUniqueID * newUniqueID);
+
+
+/*
+ * DCMDeleteRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMDeleteRecord(
+ DCMDictionaryRef dictionaryRef,
+ DCMFieldTag keyFieldTag,
+ ByteCount keySize,
+ ConstLogicalAddress keyData,
+ DCMUniqueID uniqueID);
+
+
+/*
+ Reorganize/compact dictionary
+*/
+/*
+ * DCMReorganizeDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMReorganizeDictionary(
+ DCMDictionaryID dictionaryID,
+ ItemCount extraCapacity,
+ DCMProgressFilterUPP progressProc,
+ UInt32 userData);
+
+
+/*
+ * DCMCompactDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMCompactDictionary(
+ DCMDictionaryID dictionaryID,
+ DCMProgressFilterUPP progressProc,
+ UInt32 userData);
+
+
+/*
+ DictionaryID utilities
+*/
+/*
+ * DCMGetFileFromDictionaryID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetFileFromDictionaryID(
+ DCMDictionaryID dictionaryID,
+ FSSpec * fileRef);
+
+
+/*
+ * DCMGetDictionaryIDFromFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetDictionaryIDFromFile(
+ const FSSpec * fileRef,
+ DCMDictionaryID * dictionaryID);
+
+
+/*
+ * DCMGetDictionaryIDFromRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DCMDictionaryID )
+DCMGetDictionaryIDFromRef(DCMDictionaryRef dictionaryRef);
+
+
+/*
+ Field information and manipulation
+*/
+/*
+ * DCMGetDictionaryFieldInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetDictionaryFieldInfo(
+ DCMDictionaryID dictionaryID,
+ DCMFieldTag fieldTag,
+ AEDesc * fieldInfoRecord);
+
+
+/*
+ Dictionary property
+*/
+/*
+ * DCMGetDictionaryProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetDictionaryProperty(
+ DCMDictionaryID dictionaryID,
+ DCMFieldTag propertyTag,
+ ByteCount maxPropertySize,
+ ByteCount * actualSize,
+ LogicalAddress propertyValue);
+
+
+/*
+ * DCMSetDictionaryProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMSetDictionaryProperty(
+ DCMDictionaryID dictionaryID,
+ DCMFieldTag propertyTag,
+ ByteCount propertySize,
+ ConstLogicalAddress propertyValue);
+
+
+/*
+ * DCMGetDictionaryPropertyList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetDictionaryPropertyList(
+ DCMDictionaryID dictionaryID,
+ ItemCount maxPropertyNum,
+ ItemCount * numProperties,
+ DCMFieldTag propertyTag[]);
+
+
+/*
+ Seaarch dictionary
+*/
+/*
+ * DCMCreateDictionaryIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMCreateDictionaryIterator(DCMDictionaryIterator * dictionaryIterator);
+
+
+/*
+ Search AccessMethod
+*/
+/*
+ * DCMCreateAccessMethodIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMCreateAccessMethodIterator(DCMAccessMethodIterator * accessMethodIterator);
+
+
+/*
+ Iterator Operation
+*/
+/*
+ * DCMCountObjectIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ItemCount )
+DCMCountObjectIterator(DCMObjectIterator iterator);
+
+
+/*
+ * DCMIterateObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMIterateObject(
+ DCMObjectIterator iterator,
+ DCMObjectID * objectID);
+
+
+/*
+ * DCMResetObjectIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMResetObjectIterator(DCMObjectIterator iterator);
+
+
+/*
+ * DCMDisposeObjectIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMDisposeObjectIterator(DCMObjectIterator iterator);
+
+
+/*
+ Get AccessMethod information
+*/
+/*
+ * DCMGetAccessMethodIDFromName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetAccessMethodIDFromName(
+ ConstStr63Param accessMethodName,
+ DCMAccessMethodID * accessMethodID);
+
+
+/*
+ Field Info Record routines
+*/
+/*
+ * DCMCreateFieldInfoRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMCreateFieldInfoRecord(
+ DescType fieldTag,
+ DescType fieldType,
+ ByteCount maxRecordSize,
+ DCMFieldAttributes fieldAttributes,
+ AEDesc * fieldDefaultData,
+ ItemCount numberOfFindMethods,
+ DCMFindMethod findMethods[],
+ AEDesc * fieldInfoRecord);
+
+
+/*
+ * DCMGetFieldTagAndType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetFieldTagAndType(
+ const AEDesc * fieldInfoRecord,
+ DCMFieldTag * fieldTag,
+ DCMFieldType * fieldType);
+
+
+/*
+ * DCMGetFieldMaxRecordSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetFieldMaxRecordSize(
+ const AEDesc * fieldInfoRecord,
+ ByteCount * maxRecordSize);
+
+
+/*
+ * DCMGetFieldAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetFieldAttributes(
+ const AEDesc * fieldInfoRecord,
+ DCMFieldAttributes * attributes);
+
+
+/*
+ * DCMGetFieldDefaultData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetFieldDefaultData(
+ const AEDesc * fieldInfoRecord,
+ DescType desiredType,
+ AEDesc * fieldDefaultData);
+
+
+/*
+ * DCMGetFieldFindMethods()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DCMGetFieldFindMethods(
+ const AEDesc * fieldInfoRecord,
+ ItemCount findMethodsArrayMaxSize,
+ DCMFindMethod findMethods[],
+ ItemCount * actualNumberOfFindMethods);
+
+
+/*
+ Check Dictionary Manager availability
+*/
#if TARGET_RT_MAC_CFM
#ifdef __cplusplus
- inline pascal Boolean DCMDictionaryManagerAvailable()
- {
- return (DCMLibraryVersion != (void*)kUnresolvedCFragSymbolAddress);
- }
+ inline pascal Boolean DCMDictionaryManagerAvailable() { return (DCMLibraryVersion != (void*)kUnresolvedCFragSymbolAddress); }
#else
-#define DCMDictionaryManagerAvailable() ((DCMLibraryVersion != (void*)kUnresolvedCFragSymbolAddress)
+ #define DCMDictionaryManagerAvailable() ((DCMLibraryVersion != (void*)kUnresolvedCFragSymbolAddress)
#endif
#elif TARGET_RT_MAC_MACHO
- /* Dictionary Manager is always available on OS X */
+/* Dictionary Manager is always available on OS X */
#ifdef __cplusplus
- inline pascal Boolean DCMDictionaryManagerAvailable()
- {
- return true;
- }
+ inline pascal Boolean DCMDictionaryManagerAvailable() { return true; }
#else
-#define DCMDictionaryManagerAvailable() (true)
+ #define DCMDictionaryManagerAvailable() (true)
#endif
#endif /* */
- /*
- =============================================================================================
- Definitions for Japanese Analysis Module
- =============================================================================================
- */
- /*
- Default dictionary access method for Japanese analysis
- */
+/*
+=============================================================================================
+ Definitions for Japanese Analysis Module
+=============================================================================================
+*/
+/*
+ Default dictionary access method for Japanese analysis
+*/
#define kAppleJapaneseDefaultAccessMethodName "\pDAM:Apple Backward Trie Access Method"
- /*
- Data length limitations of Apple Japanese dictionaries
- */
- enum
- {
- kMaxYomiLengthInAppleJapaneseDictionary = 40,
- kMaxKanjiLengthInAppleJapaneseDictionary = 64
- };
-
- /*
- Defined field tags of Apple Japanese dictionary
- */
- enum
- {
- kDCMJapaneseYomiTag = FOUR_CHAR_CODE('yomi'),
- kDCMJapaneseHyokiTag = FOUR_CHAR_CODE('hyok'),
- kDCMJapaneseHinshiTag = FOUR_CHAR_CODE('hins'),
- kDCMJapaneseWeightTag = FOUR_CHAR_CODE('hind'),
- kDCMJapanesePhoneticTag = FOUR_CHAR_CODE('hton'),
- kDCMJapaneseAccentTag = FOUR_CHAR_CODE('acnt'),
- kDCMJapaneseOnKunReadingTag = FOUR_CHAR_CODE('OnKn'),
- kDCMJapaneseFukugouInfoTag = FOUR_CHAR_CODE('fuku')
- };
-
- enum
- {
- kDCMJapaneseYomiType = typeUnicodeText,
- kDCMJapaneseHyokiType = typeUnicodeText,
- kDCMJapaneseHinshiType = FOUR_CHAR_CODE('hins'),
- kDCMJapaneseWeightType = typeShortInteger,
- kDCMJapanesePhoneticType = typeUnicodeText,
- kDCMJapaneseAccentType = FOUR_CHAR_CODE('byte'),
- kDCMJapaneseOnKunReadingType = typeUnicodeText,
- kDCMJapaneseFukugouInfoType = FOUR_CHAR_CODE('fuku')
- };
-
-
- /*
- =============================================================================================
- System 7 Dictionary Manager
- =============================================================================================
- */
+/*
+ Data length limitations of Apple Japanese dictionaries
+*/
+enum {
+ kMaxYomiLengthInAppleJapaneseDictionary = 40,
+ kMaxKanjiLengthInAppleJapaneseDictionary = 64
+};
+
+/*
+ Defined field tags of Apple Japanese dictionary
+*/
+enum {
+ kDCMJapaneseYomiTag = FOUR_CHAR_CODE('yomi'),
+ kDCMJapaneseHyokiTag = FOUR_CHAR_CODE('hyok'),
+ kDCMJapaneseHinshiTag = FOUR_CHAR_CODE('hins'),
+ kDCMJapaneseWeightTag = FOUR_CHAR_CODE('hind'),
+ kDCMJapanesePhoneticTag = FOUR_CHAR_CODE('hton'),
+ kDCMJapaneseAccentTag = FOUR_CHAR_CODE('acnt'),
+ kDCMJapaneseOnKunReadingTag = FOUR_CHAR_CODE('OnKn'),
+ kDCMJapaneseFukugouInfoTag = FOUR_CHAR_CODE('fuku')
+};
+
+enum {
+ kDCMJapaneseYomiType = typeUnicodeText,
+ kDCMJapaneseHyokiType = typeUnicodeText,
+ kDCMJapaneseHinshiType = FOUR_CHAR_CODE('hins'),
+ kDCMJapaneseWeightType = typeShortInteger,
+ kDCMJapanesePhoneticType = typeUnicodeText,
+ kDCMJapaneseAccentType = FOUR_CHAR_CODE('byte'),
+ kDCMJapaneseOnKunReadingType = typeUnicodeText,
+ kDCMJapaneseFukugouInfoType = FOUR_CHAR_CODE('fuku')
+};
+
+
+/*
+=============================================================================================
+ System 7 Dictionary Manager
+=============================================================================================
+*/
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#pragma options align=mac68k
#endif
- enum
- {
- /* Dictionary data insertion modes */
- kInsert = 0, /* Only insert the input entry if there is nothing in the dictionary that matches the key. */
- kReplace = 1, /* Only replace the entries which match the key with the input entry. */
- kInsertOrReplace = 2 /* Insert the entry if there is nothing in the dictionary which matches the key, otherwise replaces the existing matched entries with the input entry. */
- };
-
- /* This Was InsertMode */
-
- typedef short DictionaryDataInsertMode;
- enum
- {
- /* Key attribute constants */
- kIsCaseSensitive = 0x10, /* case sensitive = 16 */
- kIsNotDiacriticalSensitive = 0x20 /* diac not sensitive = 32 */
- };
-
- enum
- {
- /* Registered attribute type constants. */
- kNoun = -1,
- kVerb = -2,
- kAdjective = -3,
- kAdverb = -4
- };
-
- /* This Was AttributeType */
- typedef SInt8 DictionaryEntryAttribute;
- /* Dictionary information record */
- struct DictionaryInformation
- {
- FSSpec dictionaryFSSpec;
- SInt32 numberOfRecords;
- SInt32 currentGarbageSize;
- ScriptCode script;
- SInt16 maximumKeyLength;
- SInt8 keyAttributes;
- };
- typedef struct DictionaryInformation DictionaryInformation;
- struct DictionaryAttributeTable
- {
- UInt8 datSize;
- DictionaryEntryAttribute datTable[1];
- };
- typedef struct DictionaryAttributeTable DictionaryAttributeTable;
- typedef DictionaryAttributeTable * DictionaryAttributeTablePtr;
+enum {
+ /* Dictionary data insertion modes */
+ kInsert = 0, /* Only insert the input entry if there is nothing in the dictionary that matches the key. */
+ kReplace = 1, /* Only replace the entries which match the key with the input entry. */
+ kInsertOrReplace = 2 /* Insert the entry if there is nothing in the dictionary which matches the key, otherwise replaces the existing matched entries with the input entry. */
+};
+
+/* This Was InsertMode */
+
+typedef short DictionaryDataInsertMode;
+enum {
+ /* Key attribute constants */
+ kIsCaseSensitive = 0x10, /* case sensitive = 16 */
+ kIsNotDiacriticalSensitive = 0x20 /* diac not sensitive = 32 */
+};
+
+enum {
+ /* Registered attribute type constants. */
+ kNoun = -1,
+ kVerb = -2,
+ kAdjective = -3,
+ kAdverb = -4
+};
+
+/* This Was AttributeType */
+typedef SInt8 DictionaryEntryAttribute;
+/* Dictionary information record */
+struct DictionaryInformation {
+ FSSpec dictionaryFSSpec;
+ SInt32 numberOfRecords;
+ SInt32 currentGarbageSize;
+ ScriptCode script;
+ SInt16 maximumKeyLength;
+ SInt8 keyAttributes;
+};
+typedef struct DictionaryInformation DictionaryInformation;
+struct DictionaryAttributeTable {
+ UInt8 datSize;
+ DictionaryEntryAttribute datTable[1];
+};
+typedef struct DictionaryAttributeTable DictionaryAttributeTable;
+typedef DictionaryAttributeTable * DictionaryAttributeTablePtr;
#if CALL_NOT_IN_CARBON
- /*
- * InitializeDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- InitializeDictionary(
- const FSSpec * theFsspecPtr,
- SInt16 maximumKeyLength,
- SInt8 keyAttributes,
- ScriptCode script) THREEWORDINLINE(0x303C, 0x0500, 0xAA53);
-
-
- /*
- * OpenDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- OpenDictionary(
- const FSSpec * theFsspecPtr,
- SInt8 accessPermission,
- SInt32 * dictionaryReference) THREEWORDINLINE(0x303C, 0x0501, 0xAA53);
-
-
- /*
- * CloseDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CloseDictionary(SInt32 dictionaryReference) THREEWORDINLINE(0x303C, 0x0202, 0xAA53);
-
-
- /*
- * InsertRecordToDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- InsertRecordToDictionary(
- SInt32 dictionaryReference,
- ConstStr255Param key,
- Handle recordDataHandle,
- DictionaryDataInsertMode whichMode) THREEWORDINLINE(0x303C, 0x0703, 0xAA53);
-
-
- /*
- * DeleteRecordFromDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DeleteRecordFromDictionary(
- SInt32 dictionaryReference,
- ConstStr255Param key) THREEWORDINLINE(0x303C, 0x0404, 0xAA53);
-
-
- /*
- * FindRecordInDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- FindRecordInDictionary(
- SInt32 dictionaryReference,
- ConstStr255Param key,
- DictionaryAttributeTablePtr requestedAttributeTablePointer,
- Handle recordDataHandle) THREEWORDINLINE(0x303C, 0x0805, 0xAA53);
-
-
- /*
- * FindRecordByIndexInDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- FindRecordByIndexInDictionary(
- SInt32 dictionaryReference,
- SInt32 recordIndex,
- DictionaryAttributeTablePtr requestedAttributeTablePointer,
- Str255 recordKey,
- Handle recordDataHandle) THREEWORDINLINE(0x303C, 0x0A06, 0xAA53);
-
-
- /*
- * GetDictionaryInformation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetDictionaryInformation(
- SInt32 dictionaryReference,
- DictionaryInformation * theDictionaryInformation) THREEWORDINLINE(0x303C, 0x0407, 0xAA53);
-
-
- /*
- * CompactDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CompactDictionary(SInt32 dictionaryReference) THREEWORDINLINE(0x303C, 0x0208, 0xAA53);
+/*
+ * InitializeDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+InitializeDictionary(
+ const FSSpec * theFsspecPtr,
+ SInt16 maximumKeyLength,
+ SInt8 keyAttributes,
+ ScriptCode script) THREEWORDINLINE(0x303C, 0x0500, 0xAA53);
+
+
+/*
+ * OpenDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+OpenDictionary(
+ const FSSpec * theFsspecPtr,
+ SInt8 accessPermission,
+ SInt32 * dictionaryReference) THREEWORDINLINE(0x303C, 0x0501, 0xAA53);
+
+
+/*
+ * CloseDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CloseDictionary(SInt32 dictionaryReference) THREEWORDINLINE(0x303C, 0x0202, 0xAA53);
+
+
+/*
+ * InsertRecordToDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+InsertRecordToDictionary(
+ SInt32 dictionaryReference,
+ ConstStr255Param key,
+ Handle recordDataHandle,
+ DictionaryDataInsertMode whichMode) THREEWORDINLINE(0x303C, 0x0703, 0xAA53);
+
+
+/*
+ * DeleteRecordFromDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DeleteRecordFromDictionary(
+ SInt32 dictionaryReference,
+ ConstStr255Param key) THREEWORDINLINE(0x303C, 0x0404, 0xAA53);
+
+
+/*
+ * FindRecordInDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+FindRecordInDictionary(
+ SInt32 dictionaryReference,
+ ConstStr255Param key,
+ DictionaryAttributeTablePtr requestedAttributeTablePointer,
+ Handle recordDataHandle) THREEWORDINLINE(0x303C, 0x0805, 0xAA53);
+
+
+/*
+ * FindRecordByIndexInDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+FindRecordByIndexInDictionary(
+ SInt32 dictionaryReference,
+ SInt32 recordIndex,
+ DictionaryAttributeTablePtr requestedAttributeTablePointer,
+ Str255 recordKey,
+ Handle recordDataHandle) THREEWORDINLINE(0x303C, 0x0A06, 0xAA53);
+
+
+/*
+ * GetDictionaryInformation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetDictionaryInformation(
+ SInt32 dictionaryReference,
+ DictionaryInformation * theDictionaryInformation) THREEWORDINLINE(0x303C, 0x0407, 0xAA53);
+
+
+/*
+ * CompactDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CompactDictionary(SInt32 dictionaryReference) THREEWORDINLINE(0x303C, 0x0208, 0xAA53);
@@ -1312,11 +1278,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/DigitalHubRegistry.h b/include/qt/DigitalHubRegistry.h
index 0954882c7..1dec35507 100644
--- a/include/qt/DigitalHubRegistry.h
+++ b/include/qt/DigitalHubRegistry.h
@@ -1,17 +1,17 @@
/*
File: DigitalHubRegistry.h
-
+
Contains: Digital Hub AppleEvents
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2002 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 __DIGITALHUBREGISTRY__
#define __DIGITALHUBREGISTRY__
@@ -36,25 +36,23 @@
#endif
/* class */
-enum
-{
- kDigiHubEventClass = FOUR_CHAR_CODE('dhub')
+enum {
+ kDigiHubEventClass = FOUR_CHAR_CODE('dhub')
};
/* events*/
-enum
-{
- kDigiHubMusicCD = FOUR_CHAR_CODE('aucd'), /* 1635083108 0x61756364*/
- kDigiHubPictureCD = FOUR_CHAR_CODE('picd'), /* 1885954916 0x70696364*/
- kDigiHubVideoDVD = FOUR_CHAR_CODE('vdvd'), /* 1986295396 0x76647664*/
- kDigiHubBlankCD = FOUR_CHAR_CODE('bcd '), /* 1650680864 0x62636420*/
- kDigiHubBlankDVD = FOUR_CHAR_CODE('bdvd') /* 1650751076 0x62647664*/
+enum {
+ kDigiHubMusicCD = FOUR_CHAR_CODE('aucd'), /* 1635083108 0x61756364*/
+ kDigiHubPictureCD = FOUR_CHAR_CODE('picd'), /* 1885954916 0x70696364*/
+ kDigiHubVideoDVD = FOUR_CHAR_CODE('vdvd'), /* 1986295396 0x76647664*/
+ kDigiHubBlankCD = FOUR_CHAR_CODE('bcd '), /* 1650680864 0x62636420*/
+ kDigiHubBlankDVD = FOUR_CHAR_CODE('bdvd') /* 1650751076 0x62647664*/
};
/*
Parameters for Digital Hub AppleEvents:
-
+
kDigiHubMusicCD
Required parameters:
--> keyDirectObject typeFSRef
@@ -62,11 +60,11 @@ enum
kDigiHubPictureCD
Required parameters:
--> keyDirectObject typeFSRef
-
+
kDigiHubVideoDVD
Required parameters:
--> keyDirectObject typeFSRef
-
+
kDigiHubBlankCD
Required parameters:
--> keyDirectObject typeUTF8Text
diff --git a/include/qt/Displays.h b/include/qt/Displays.h
index 330110f8f..882595e53 100644
--- a/include/qt/Displays.h
+++ b/include/qt/Displays.h
@@ -1,17 +1,17 @@
/*
File: Displays.h
-
+
Contains: Display Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DISPLAYS__
#define __DISPLAYS__
@@ -52,1901 +52,1815 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef void * DMProcessInfoPtr;
- typedef void * DMModalFilterUPP;
- enum
- {
- /* AppleEvents Core Suite */
- kAESystemConfigNotice = FOUR_CHAR_CODE('cnfg'), /* Core Suite types */
- kAEDisplayNotice = FOUR_CHAR_CODE('dspl'),
- kAEDisplaySummary = FOUR_CHAR_CODE('dsum'),
- keyDMConfigVersion = FOUR_CHAR_CODE('dmcv'),
- keyDMConfigFlags = FOUR_CHAR_CODE('dmcf'),
- keyDMConfigReserved = FOUR_CHAR_CODE('dmcr'),
- keyDisplayID = FOUR_CHAR_CODE('dmid'),
- keyDisplayComponent = FOUR_CHAR_CODE('dmdc'),
- keyDisplayDevice = FOUR_CHAR_CODE('dmdd'),
- keyDisplayFlags = FOUR_CHAR_CODE('dmdf'),
- keyDisplayMode = FOUR_CHAR_CODE('dmdm'),
- keyDisplayModeReserved = FOUR_CHAR_CODE('dmmr'),
- keyDisplayReserved = FOUR_CHAR_CODE('dmdr'),
- keyDisplayMirroredId = FOUR_CHAR_CODE('dmmi'),
- keyDeviceFlags = FOUR_CHAR_CODE('dddf'),
- keyDeviceDepthMode = FOUR_CHAR_CODE('dddm'),
- keyDeviceRect = FOUR_CHAR_CODE('dddr'),
- keyPixMapRect = FOUR_CHAR_CODE('dpdr'),
- keyPixMapHResolution = FOUR_CHAR_CODE('dphr'),
- keyPixMapVResolution = FOUR_CHAR_CODE('dpvr'),
- keyPixMapPixelType = FOUR_CHAR_CODE('dppt'),
- keyPixMapPixelSize = FOUR_CHAR_CODE('dpps'),
- keyPixMapCmpCount = FOUR_CHAR_CODE('dpcc'),
- keyPixMapCmpSize = FOUR_CHAR_CODE('dpcs'),
- keyPixMapAlignment = FOUR_CHAR_CODE('dppa'),
- keyPixMapResReserved = FOUR_CHAR_CODE('dprr'),
- keyPixMapReserved = FOUR_CHAR_CODE('dppr'),
- keyPixMapColorTableSeed = FOUR_CHAR_CODE('dpct'),
- keySummaryMenubar = FOUR_CHAR_CODE('dsmb'),
- keySummaryChanges = FOUR_CHAR_CODE('dsch'),
- keyDisplayOldConfig = FOUR_CHAR_CODE('dold'),
- keyDisplayNewConfig = FOUR_CHAR_CODE('dnew')
- };
-
- enum
- {
- dmOnlyActiveDisplays = true,
- dmAllDisplays = false
- };
-
-
- enum
- {
- /* DMSendDependentNotification notifyClass */
- kDependentNotifyClassShowCursor = FOUR_CHAR_CODE('shcr'), /* When display mgr shows a hidden cursor during an unmirror */
- kDependentNotifyClassDriverOverride = FOUR_CHAR_CODE('ndrv'), /* When a driver is overridden */
- kDependentNotifyClassDisplayMgrOverride = FOUR_CHAR_CODE('dmgr'), /* When display manager is upgraded */
- kDependentNotifyClassProfileChanged = FOUR_CHAR_CODE('prof') /* When DMSetProfileByAVID is called */
- };
-
-
- enum
- {
- /* Switch Flags */
- kNoSwitchConfirmBit = 0, /* Flag indicating that there is no need to confirm a switch to this mode */
- kDepthNotAvailableBit = 1, /* Current depth not available in new mode */
- kShowModeBit = 3, /* Show this mode even though it requires a confirm. */
- kModeNotResizeBit = 4, /* Do not use this mode to resize display (for cards that mode drives a different connector). */
- kNeverShowModeBit = 5 /* This mode should not be shown in the user interface. */
- };
-
- /* Summary Change Flags (sticky bits indicating an operation was performed)
- For example, moving a display then moving it back will still set the kMovedDisplayBit.
- */
- enum
- {
- kBeginEndConfigureBit = 0,
- kMovedDisplayBit = 1,
- kSetMainDisplayBit = 2,
- kSetDisplayModeBit = 3,
- kAddDisplayBit = 4,
- kRemoveDisplayBit = 5,
- kNewDisplayBit = 6,
- kDisposeDisplayBit = 7,
- kEnabledDisplayBit = 8,
- kDisabledDisplayBit = 9,
- kMirrorDisplayBit = 10,
- kUnMirrorDisplayBit = 11
- };
-
-
- enum
- {
- /* Notification Messages for extended call back routines */
- kDMNotifyRequestConnectionProbe = 0, /* Like kDMNotifyRequestDisplayProbe only not for smart displays (used in wake before all busses are awake) */
- kDMNotifyInstalled = 1, /* At install time */
- kDMNotifyEvent = 2, /* Post change time */
- kDMNotifyRemoved = 3, /* At remove time */
- kDMNotifyPrep = 4, /* Pre change time */
- kDMNotifyExtendEvent = 5, /* Allow registrees to extend apple event before it is sent */
- kDMNotifyDependents = 6, /* Minor notification check without full update */
- kDMNotifySuspendConfigure = 7, /* Temporary end of configuration */
- kDMNotifyResumeConfigure = 8, /* Resume configuration */
- kDMNotifyRequestDisplayProbe = 9, /* Request smart displays re-probe (used in sleep and hot plugging) */
- kDMNotifyDisplayWillSleep = 10, /* Mac OS X only */
- kDMNotifyDisplayDidWake = 11, /* Mac OS X only */
- /* Notification Flags */
- kExtendedNotificationProc = (1L << 16)
- };
-
-
- /* types for notifyType */
- enum
- {
- kFullNotify = 0, /* This is the appleevent whole nine yards notify */
- kFullDependencyNotify = 1 /* Only sends to those who want to know about interrelated functionality (used for updating UI) */
- };
-
- /* DisplayID/DeviceID constants */
- enum
- {
- kDummyDeviceID = 0x00FF, /* This is the ID of the dummy display, used when the last "real" display is disabled.*/
- kInvalidDisplayID = 0x0000, /* This is the invalid ID*/
- kFirstDisplayID = 0x0100
- };
-
- enum
- {
- /* bits for panelListFlags */
- kAllowDuplicatesBit = 0
- };
-
- enum
- {
- /* bits for nameFlags */
- kSuppressNumberBit = 0,
- kSuppressNumberMask = 1,
- kForceNumberBit = 1,
- kForceNumberMask = 2,
- kSuppressNameBit = 2,
- kSuppressNameMask = 4
- };
-
- /* DMGetNameByAVID masks*/
- enum
- {
- kDMSupressNumbersMask = (1 << 0), /* Supress the numbers and return only names*/
- kDMForceNumbersMask = (1 << 1), /* Force numbers to always be shown (even on single display configs)*/
- kDMSupressNameMask = (1 << 2) /* Supress the names and return only numbers.*/
- };
-
-
-
- /* Constants for fidelity checks */
- enum
- {
- kNoFidelity = 0,
- kMinimumFidelity = 1,
- kDefaultFidelity = 500, /* I'm just picking a number for Apple default panels and engines*/
- kDefaultManufacturerFidelity = 1000 /* I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)*/
- };
-
- enum
- {
- kAnyPanelType = 0, /* Pass to DMNewEngineList for list of all panels (as opposed to specific types)*/
- kAnyEngineType = 0, /* Pass to DMNewEngineList for list of all engines*/
- kAnyDeviceType = 0, /* Pass to DMNewDeviceList for list of all devices*/
- kAnyPortType = 0 /* Pass to DMNewDevicePortList for list of all devices*/
- };
-
- /* portListFlags for DM_NewDevicePortList */
- enum
- {
- /* Should offline devices be put into the port list (such as dummy display) */
- kPLIncludeOfflineDevicesBit = 0
- };
-
-
- /* confirmFlags for DMConfirmConfiguration */
- enum
- {
- kForceConfirmBit = 0, /* Force a confirm dialog */
- kForceConfirmMask = (1 << kForceConfirmBit)
- };
-
-
- /* Flags for displayModeFlags */
- enum
- {
- kDisplayModeListNotPreferredBit = 0,
- kDisplayModeListNotPreferredMask = (1 << kDisplayModeListNotPreferredBit)
- };
-
-
- /* Flags for itemFlags */
- enum
- {
- kComponentListNotPreferredBit = 0,
- kComponentListNotPreferredMask = (1 << kComponentListNotPreferredBit)
- };
-
- enum
- {
- kDisplayTimingInfoVersionZero = 1,
- kDisplayTimingInfoReservedCountVersionZero = 16,
- kDisplayModeEntryVersionZero = 0, /* displayModeVersion - original version*/
- kDisplayModeEntryVersionOne = 1 /* displayModeVersion - added displayModeOverrideInfo*/
- };
-
-
- enum
- {
- kMakeAndModelReservedCount = 4 /* Number of reserved fields*/
- };
-
-
- /* Display Gestalt for DMDisplayGestalt*/
- enum
- {
- kDisplayGestaltDisplayCommunicationAttr = FOUR_CHAR_CODE('comm'),
- kDisplayGestaltForbidI2CMask = (1 << 0), /* Some displays have firmware problems if they get I2C communication. If this bit is set, then I2C communication is forbidden*/
- kDisplayGestaltUseI2CPowerMask = (1 << 1), /* Some displays require I2C power settings (most use DPMS).*/
- kDisplayGestaltCalibratorAttr = FOUR_CHAR_CODE('cali'),
- kDisplayGestaltBrightnessAffectsGammaMask = (1 << 0), /* Used by default calibrator (should we show brightness panel) */
- kDisplayGestaltViewAngleAffectsGammaMask = (1 << 1) /* Currently not used by color sync*/
- };
-
-
- typedef UInt32 DMFidelityType;
- /*
- AVID is an ID for ports and devices the old DisplayID type
- is carried on for compatibility
- */
-
-
- typedef void * DMListType;
- typedef unsigned long DMListIndexType;
- typedef VDPowerStateRec AVPowerStateRec;
- typedef VDPowerStateRec * AVPowerStatePtr;
- struct DMDisplayTimingInfoRec
- {
- UInt32 timingInfoVersion;
- UInt32 timingInfoAttributes; /* Flags */
- SInt32 timingInfoRelativeQuality; /* quality of the timing */
- SInt32 timingInfoRelativeDefault; /* relative default of the timing */
-
- UInt32 timingInfoReserved[16]; /* Reserved */
- };
- typedef struct DMDisplayTimingInfoRec DMDisplayTimingInfoRec;
- typedef DMDisplayTimingInfoRec * DMDisplayTimingInfoPtr;
-
- struct DMComponentListEntryRec
- {
- DisplayIDType itemID; /* DisplayID Manager*/
- Component itemComponent; /* Component Manager*/
- ComponentDescription itemDescription; /* We can always construct this if we use something beyond the compontent mgr.*/
-
- ResType itemClass; /* Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)*/
- DMFidelityType itemFidelity; /* How good is this item for the specified search?*/
- ResType itemSubClass; /* Subclass of group to put this panel. Can use to do sub-grouping (eg volume for volume panel and mute panel)*/
- Point itemSort; /* Set to 0 - future to sort the items in a sub group.*/
-
- unsigned long itemFlags; /* Set to 0 (future expansion)*/
- ResType itemReserved; /* What kind of code does the itemReference point to (right now - kPanelEntryTypeComponentMgr only)*/
- unsigned long itemFuture1; /* Set to 0 (future expansion - probably an alternate code style)*/
- unsigned long itemFuture2; /* Set to 0 (future expansion - probably an alternate code style)*/
- unsigned long itemFuture3; /* Set to 0 (future expansion - probably an alternate code style)*/
- unsigned long itemFuture4; /* Set to 0 (future expansion - probably an alternate code style)*/
- };
- typedef struct DMComponentListEntryRec DMComponentListEntryRec;
- typedef DMComponentListEntryRec * DMComponentListEntryPtr;
- /* ooo Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created*/
- struct AVLocationRec
- {
- unsigned long locationConstant; /* Set to 0 (future expansion - probably an alternate code style)*/
- };
- typedef struct AVLocationRec AVLocationRec;
- typedef AVLocationRec * AVLocationPtr;
- struct DMDepthInfoRec
- {
- VDSwitchInfoPtr depthSwitchInfo; /* This is the switch mode to choose this timing/depth */
- VPBlockPtr depthVPBlock; /* VPBlock (including size, depth and format) */
- UInt32 depthFlags; /* VDVideoParametersInfoRec.csDepthFlags */
- UInt32 depthReserved1; /* Reserved */
- UInt32 depthReserved2; /* Reserved */
- };
- typedef struct DMDepthInfoRec DMDepthInfoRec;
- typedef DMDepthInfoRec * DMDepthInfoPtr;
- struct DMDepthInfoBlockRec
- {
- unsigned long depthBlockCount; /* How many depths are there? */
- DMDepthInfoPtr depthVPBlock; /* Array of DMDepthInfoRec */
- unsigned long depthBlockFlags; /* Reserved */
- unsigned long depthBlockReserved1; /* Reserved */
- unsigned long depthBlockReserved2; /* Reserved */
- };
- typedef struct DMDepthInfoBlockRec DMDepthInfoBlockRec;
- typedef DMDepthInfoBlockRec * DMDepthInfoBlockPtr;
- struct DMDisplayModeListEntryRec
- {
- UInt32 displayModeFlags;
- VDSwitchInfoPtr displayModeSwitchInfo;
- VDResolutionInfoPtr displayModeResolutionInfo;
- VDTimingInfoPtr displayModeTimingInfo;
- DMDepthInfoBlockPtr displayModeDepthBlockInfo; /* Information about all the depths*/
- UInt32 displayModeVersion; /* What version is this record (now kDisplayModeEntryVersionOne)*/
- StringPtr displayModeName; /* Name of the timing mode*/
- DMDisplayTimingInfoPtr displayModeDisplayInfo; /* Information from the display.*/
- };
- typedef struct DMDisplayModeListEntryRec DMDisplayModeListEntryRec;
- typedef DMDisplayModeListEntryRec * DMDisplayModeListEntryPtr;
-
- struct DependentNotifyRec
- {
- ResType notifyType; /* What type was the engine that made the change (may be zero)*/
- ResType notifyClass; /* What class was the change (eg geometry, color etc)*/
- DisplayIDType notifyPortID; /* Which device was touched (kInvalidDisplayID -> all or none)*/
- ComponentInstance notifyComponent; /* What engine did it (may be 0)?*/
-
- unsigned long notifyVersion; /* Set to 0 (future expansion)*/
- unsigned long notifyFlags; /* Set to 0 (future expansion)*/
- unsigned long notifyReserved; /* Set to 0 (future expansion)*/
- unsigned long notifyFuture; /* Set to 0 (future expansion)*/
- };
- typedef struct DependentNotifyRec DependentNotifyRec;
- typedef DependentNotifyRec * DependentNotifyPtr;
-
- struct DMMakeAndModelRec
- {
- ResType manufacturer;
- UInt32 model;
- UInt32 serialNumber;
- UInt32 manufactureDate;
-
- UInt32 makeReserved[4];
- };
- typedef struct DMMakeAndModelRec DMMakeAndModelRec;
- typedef DMMakeAndModelRec * DMMakeAndModelPtr;
- /* DMNewDisplayList displayListIncludeFlags*/
- enum
- {
- kIncludeOnlineActiveDisplaysMask = (1 << 0),
- kIncludeOnlineDisabledDisplaysMask = (1 << 1),
- kIncludeOfflineDisplaysMask = (1 << 2),
- kIncludeOfflineDummyDisplaysMask = (1 << 3),
- kIncludeHardwareMirroredDisplaysMask = (1 << 4)
- };
-
-
- enum
- {
- /* modeListFlags for DMNewDisplayModeList */
- kDMModeListIncludeAllModesMask = (1 << 0), /* Include all timing modes not _explicitly_ excluded (see other bits)*/
- kDMModeListIncludeOfflineModesMask = (1 << 1),
- kDMModeListExcludeDriverModesMask = (1 << 2), /* Exclude old-style timing modes (cscGetNextResolution/kDisplayModeIDFindFirstResolution modes)*/
- kDMModeListExcludeDisplayModesMask = (1 << 3), /* Exclude timing modes that come from the display (always arbritrary timing modes)*/
- kDMModeListExcludeCustomModesMask = (1 << 4), /* Exclude custom modes that came neither from the driver or display (need a better name)*/
- kDMModeListPreferStretchedModesMask = (1 << 5), /* Prefer modes that are stretched over modes that are letterboxed when setting kDisplayModeListNotPreferredBit*/
- kDMModeListPreferSafeModesMask = (1 << 6) /* Prefer modes that are safe over modes that are not when setting kDisplayModeListNotPreferredBit*/
- };
-
-
- /* DMNewDisplayList displayListFlags*/
- struct DisplayListEntryRec
- {
- GDHandle displayListEntryGDevice;
- DisplayIDType displayListEntryDisplayID;
- UInt32 displayListEntryIncludeFlags; /* Reason this entry was included*/
- UInt32 displayListEntryReserved1;
-
- UInt32 displayListEntryReserved2; /* Zero*/
- UInt32 displayListEntryReserved3; /* Zero*/
- UInt32 displayListEntryReserved4; /* Zero*/
- UInt32 displayListEntryReserved5; /* Zero*/
- };
- typedef struct DisplayListEntryRec DisplayListEntryRec;
- typedef DisplayListEntryRec * DisplayListEntryPtr;
- struct DMProfileListEntryRec
- {
- CMProfileRef profileRef;
- Ptr profileReserved1; /* Reserved*/
- Ptr profileReserved2; /* Reserved*/
- Ptr profileReserved3; /* Reserved*/
- };
- typedef struct DMProfileListEntryRec DMProfileListEntryRec;
- typedef DMProfileListEntryRec * DMProfileListEntryPtr;
- typedef CALLBACK_API(void , DMNotificationProcPtr)(AppleEvent * theEvent);
- typedef CALLBACK_API(void , DMExtendedNotificationProcPtr)(void *userData, short theMessage, void *notifyData);
- typedef CALLBACK_API(void , DMComponentListIteratorProcPtr)(void *userData, DMListIndexType itemIndex, DMComponentListEntryPtr componentInfo);
- typedef CALLBACK_API(void , DMDisplayModeListIteratorProcPtr)(void *userData, DMListIndexType itemIndex, DMDisplayModeListEntryPtr displaymodeInfo);
- typedef CALLBACK_API(void , DMProfileListIteratorProcPtr)(void *userData, DMListIndexType itemIndex, DMProfileListEntryPtr profileInfo);
- typedef CALLBACK_API(void , DMDisplayListIteratorProcPtr)(void *userData, DMListIndexType itemIndex, DisplayListEntryPtr displaymodeInfo);
- typedef STACK_UPP_TYPE(DMNotificationProcPtr) DMNotificationUPP;
- typedef STACK_UPP_TYPE(DMExtendedNotificationProcPtr) DMExtendedNotificationUPP;
- typedef STACK_UPP_TYPE(DMComponentListIteratorProcPtr) DMComponentListIteratorUPP;
- typedef STACK_UPP_TYPE(DMDisplayModeListIteratorProcPtr) DMDisplayModeListIteratorUPP;
- typedef STACK_UPP_TYPE(DMProfileListIteratorProcPtr) DMProfileListIteratorUPP;
- typedef STACK_UPP_TYPE(DMDisplayListIteratorProcPtr) DMDisplayListIteratorUPP;
- /*
- * NewDMNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DMNotificationUPP)
- NewDMNotificationUPP(DMNotificationProcPtr userRoutine);
+typedef void * DMProcessInfoPtr;
+typedef void * DMModalFilterUPP;
+enum {
+ /* AppleEvents Core Suite */
+ kAESystemConfigNotice = FOUR_CHAR_CODE('cnfg'), /* Core Suite types */
+ kAEDisplayNotice = FOUR_CHAR_CODE('dspl'),
+ kAEDisplaySummary = FOUR_CHAR_CODE('dsum'),
+ keyDMConfigVersion = FOUR_CHAR_CODE('dmcv'),
+ keyDMConfigFlags = FOUR_CHAR_CODE('dmcf'),
+ keyDMConfigReserved = FOUR_CHAR_CODE('dmcr'),
+ keyDisplayID = FOUR_CHAR_CODE('dmid'),
+ keyDisplayComponent = FOUR_CHAR_CODE('dmdc'),
+ keyDisplayDevice = FOUR_CHAR_CODE('dmdd'),
+ keyDisplayFlags = FOUR_CHAR_CODE('dmdf'),
+ keyDisplayMode = FOUR_CHAR_CODE('dmdm'),
+ keyDisplayModeReserved = FOUR_CHAR_CODE('dmmr'),
+ keyDisplayReserved = FOUR_CHAR_CODE('dmdr'),
+ keyDisplayMirroredId = FOUR_CHAR_CODE('dmmi'),
+ keyDeviceFlags = FOUR_CHAR_CODE('dddf'),
+ keyDeviceDepthMode = FOUR_CHAR_CODE('dddm'),
+ keyDeviceRect = FOUR_CHAR_CODE('dddr'),
+ keyPixMapRect = FOUR_CHAR_CODE('dpdr'),
+ keyPixMapHResolution = FOUR_CHAR_CODE('dphr'),
+ keyPixMapVResolution = FOUR_CHAR_CODE('dpvr'),
+ keyPixMapPixelType = FOUR_CHAR_CODE('dppt'),
+ keyPixMapPixelSize = FOUR_CHAR_CODE('dpps'),
+ keyPixMapCmpCount = FOUR_CHAR_CODE('dpcc'),
+ keyPixMapCmpSize = FOUR_CHAR_CODE('dpcs'),
+ keyPixMapAlignment = FOUR_CHAR_CODE('dppa'),
+ keyPixMapResReserved = FOUR_CHAR_CODE('dprr'),
+ keyPixMapReserved = FOUR_CHAR_CODE('dppr'),
+ keyPixMapColorTableSeed = FOUR_CHAR_CODE('dpct'),
+ keySummaryMenubar = FOUR_CHAR_CODE('dsmb'),
+ keySummaryChanges = FOUR_CHAR_CODE('dsch'),
+ keyDisplayOldConfig = FOUR_CHAR_CODE('dold'),
+ keyDisplayNewConfig = FOUR_CHAR_CODE('dnew')
+};
+
+enum {
+ dmOnlyActiveDisplays = true,
+ dmAllDisplays = false
+};
+
+
+enum {
+ /* DMSendDependentNotification notifyClass */
+ kDependentNotifyClassShowCursor = FOUR_CHAR_CODE('shcr'), /* When display mgr shows a hidden cursor during an unmirror */
+ kDependentNotifyClassDriverOverride = FOUR_CHAR_CODE('ndrv'), /* When a driver is overridden */
+ kDependentNotifyClassDisplayMgrOverride = FOUR_CHAR_CODE('dmgr'), /* When display manager is upgraded */
+ kDependentNotifyClassProfileChanged = FOUR_CHAR_CODE('prof') /* When DMSetProfileByAVID is called */
+};
+
+
+enum {
+ /* Switch Flags */
+ kNoSwitchConfirmBit = 0, /* Flag indicating that there is no need to confirm a switch to this mode */
+ kDepthNotAvailableBit = 1, /* Current depth not available in new mode */
+ kShowModeBit = 3, /* Show this mode even though it requires a confirm. */
+ kModeNotResizeBit = 4, /* Do not use this mode to resize display (for cards that mode drives a different connector). */
+ kNeverShowModeBit = 5 /* This mode should not be shown in the user interface. */
+};
+
+/* Summary Change Flags (sticky bits indicating an operation was performed)
+ For example, moving a display then moving it back will still set the kMovedDisplayBit.
+*/
+enum {
+ kBeginEndConfigureBit = 0,
+ kMovedDisplayBit = 1,
+ kSetMainDisplayBit = 2,
+ kSetDisplayModeBit = 3,
+ kAddDisplayBit = 4,
+ kRemoveDisplayBit = 5,
+ kNewDisplayBit = 6,
+ kDisposeDisplayBit = 7,
+ kEnabledDisplayBit = 8,
+ kDisabledDisplayBit = 9,
+ kMirrorDisplayBit = 10,
+ kUnMirrorDisplayBit = 11
+};
+
+
+enum {
+ /* Notification Messages for extended call back routines */
+ kDMNotifyRequestConnectionProbe = 0, /* Like kDMNotifyRequestDisplayProbe only not for smart displays (used in wake before all busses are awake) */
+ kDMNotifyInstalled = 1, /* At install time */
+ kDMNotifyEvent = 2, /* Post change time */
+ kDMNotifyRemoved = 3, /* At remove time */
+ kDMNotifyPrep = 4, /* Pre change time */
+ kDMNotifyExtendEvent = 5, /* Allow registrees to extend apple event before it is sent */
+ kDMNotifyDependents = 6, /* Minor notification check without full update */
+ kDMNotifySuspendConfigure = 7, /* Temporary end of configuration */
+ kDMNotifyResumeConfigure = 8, /* Resume configuration */
+ kDMNotifyRequestDisplayProbe = 9, /* Request smart displays re-probe (used in sleep and hot plugging) */
+ kDMNotifyDisplayWillSleep = 10, /* Mac OS X only */
+ kDMNotifyDisplayDidWake = 11, /* Mac OS X only */
+ /* Notification Flags */
+ kExtendedNotificationProc = (1L << 16)
+};
+
+
+/* types for notifyType */
+enum {
+ kFullNotify = 0, /* This is the appleevent whole nine yards notify */
+ kFullDependencyNotify = 1 /* Only sends to those who want to know about interrelated functionality (used for updating UI) */
+};
+
+/* DisplayID/DeviceID constants */
+enum {
+ kDummyDeviceID = 0x00FF, /* This is the ID of the dummy display, used when the last "real" display is disabled.*/
+ kInvalidDisplayID = 0x0000, /* This is the invalid ID*/
+ kFirstDisplayID = 0x0100
+};
+
+enum {
+ /* bits for panelListFlags */
+ kAllowDuplicatesBit = 0
+};
+
+enum {
+ /* bits for nameFlags */
+ kSuppressNumberBit = 0,
+ kSuppressNumberMask = 1,
+ kForceNumberBit = 1,
+ kForceNumberMask = 2,
+ kSuppressNameBit = 2,
+ kSuppressNameMask = 4
+};
+
+/* DMGetNameByAVID masks*/
+enum {
+ kDMSupressNumbersMask = (1 << 0), /* Supress the numbers and return only names*/
+ kDMForceNumbersMask = (1 << 1), /* Force numbers to always be shown (even on single display configs)*/
+ kDMSupressNameMask = (1 << 2) /* Supress the names and return only numbers.*/
+};
+
+
+
+/* Constants for fidelity checks */
+enum {
+ kNoFidelity = 0,
+ kMinimumFidelity = 1,
+ kDefaultFidelity = 500, /* I'm just picking a number for Apple default panels and engines*/
+ kDefaultManufacturerFidelity = 1000 /* I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)*/
+};
+
+enum {
+ kAnyPanelType = 0, /* Pass to DMNewEngineList for list of all panels (as opposed to specific types)*/
+ kAnyEngineType = 0, /* Pass to DMNewEngineList for list of all engines*/
+ kAnyDeviceType = 0, /* Pass to DMNewDeviceList for list of all devices*/
+ kAnyPortType = 0 /* Pass to DMNewDevicePortList for list of all devices*/
+};
+
+/* portListFlags for DM_NewDevicePortList */
+enum {
+ /* Should offline devices be put into the port list (such as dummy display) */
+ kPLIncludeOfflineDevicesBit = 0
+};
+
+
+/* confirmFlags for DMConfirmConfiguration */
+enum {
+ kForceConfirmBit = 0, /* Force a confirm dialog */
+ kForceConfirmMask = (1 << kForceConfirmBit)
+};
+
+
+/* Flags for displayModeFlags */
+enum {
+ kDisplayModeListNotPreferredBit = 0,
+ kDisplayModeListNotPreferredMask = (1 << kDisplayModeListNotPreferredBit)
+};
+
+
+/* Flags for itemFlags */
+enum {
+ kComponentListNotPreferredBit = 0,
+ kComponentListNotPreferredMask = (1 << kComponentListNotPreferredBit)
+};
+
+enum {
+ kDisplayTimingInfoVersionZero = 1,
+ kDisplayTimingInfoReservedCountVersionZero = 16,
+ kDisplayModeEntryVersionZero = 0, /* displayModeVersion - original version*/
+ kDisplayModeEntryVersionOne = 1 /* displayModeVersion - added displayModeOverrideInfo*/
+};
+
+
+enum {
+ kMakeAndModelReservedCount = 4 /* Number of reserved fields*/
+};
+
+
+/* Display Gestalt for DMDisplayGestalt*/
+enum {
+ kDisplayGestaltDisplayCommunicationAttr = FOUR_CHAR_CODE('comm'),
+ kDisplayGestaltForbidI2CMask = (1 << 0), /* Some displays have firmware problems if they get I2C communication. If this bit is set, then I2C communication is forbidden*/
+ kDisplayGestaltUseI2CPowerMask = (1 << 1), /* Some displays require I2C power settings (most use DPMS).*/
+ kDisplayGestaltCalibratorAttr = FOUR_CHAR_CODE('cali'),
+ kDisplayGestaltBrightnessAffectsGammaMask = (1 << 0), /* Used by default calibrator (should we show brightness panel) */
+ kDisplayGestaltViewAngleAffectsGammaMask = (1 << 1) /* Currently not used by color sync*/
+};
+
+
+typedef UInt32 DMFidelityType;
+/*
+ AVID is an ID for ports and devices the old DisplayID type
+ is carried on for compatibility
+*/
+
+
+typedef void * DMListType;
+typedef unsigned long DMListIndexType;
+typedef VDPowerStateRec AVPowerStateRec;
+typedef VDPowerStateRec * AVPowerStatePtr;
+struct DMDisplayTimingInfoRec {
+ UInt32 timingInfoVersion;
+ UInt32 timingInfoAttributes; /* Flags */
+ SInt32 timingInfoRelativeQuality; /* quality of the timing */
+ SInt32 timingInfoRelativeDefault; /* relative default of the timing */
+
+ UInt32 timingInfoReserved[16]; /* Reserved */
+};
+typedef struct DMDisplayTimingInfoRec DMDisplayTimingInfoRec;
+typedef DMDisplayTimingInfoRec * DMDisplayTimingInfoPtr;
+
+struct DMComponentListEntryRec {
+ DisplayIDType itemID; /* DisplayID Manager*/
+ Component itemComponent; /* Component Manager*/
+ ComponentDescription itemDescription; /* We can always construct this if we use something beyond the compontent mgr.*/
+
+ ResType itemClass; /* Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)*/
+ DMFidelityType itemFidelity; /* How good is this item for the specified search?*/
+ ResType itemSubClass; /* Subclass of group to put this panel. Can use to do sub-grouping (eg volume for volume panel and mute panel)*/
+ Point itemSort; /* Set to 0 - future to sort the items in a sub group.*/
+
+ unsigned long itemFlags; /* Set to 0 (future expansion)*/
+ ResType itemReserved; /* What kind of code does the itemReference point to (right now - kPanelEntryTypeComponentMgr only)*/
+ unsigned long itemFuture1; /* Set to 0 (future expansion - probably an alternate code style)*/
+ unsigned long itemFuture2; /* Set to 0 (future expansion - probably an alternate code style)*/
+ unsigned long itemFuture3; /* Set to 0 (future expansion - probably an alternate code style)*/
+ unsigned long itemFuture4; /* Set to 0 (future expansion - probably an alternate code style)*/
+};
+typedef struct DMComponentListEntryRec DMComponentListEntryRec;
+typedef DMComponentListEntryRec * DMComponentListEntryPtr;
+/* ooo Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created*/
+struct AVLocationRec {
+ unsigned long locationConstant; /* Set to 0 (future expansion - probably an alternate code style)*/
+};
+typedef struct AVLocationRec AVLocationRec;
+typedef AVLocationRec * AVLocationPtr;
+struct DMDepthInfoRec {
+ VDSwitchInfoPtr depthSwitchInfo; /* This is the switch mode to choose this timing/depth */
+ VPBlockPtr depthVPBlock; /* VPBlock (including size, depth and format) */
+ UInt32 depthFlags; /* VDVideoParametersInfoRec.csDepthFlags */
+ UInt32 depthReserved1; /* Reserved */
+ UInt32 depthReserved2; /* Reserved */
+};
+typedef struct DMDepthInfoRec DMDepthInfoRec;
+typedef DMDepthInfoRec * DMDepthInfoPtr;
+struct DMDepthInfoBlockRec {
+ unsigned long depthBlockCount; /* How many depths are there? */
+ DMDepthInfoPtr depthVPBlock; /* Array of DMDepthInfoRec */
+ unsigned long depthBlockFlags; /* Reserved */
+ unsigned long depthBlockReserved1; /* Reserved */
+ unsigned long depthBlockReserved2; /* Reserved */
+};
+typedef struct DMDepthInfoBlockRec DMDepthInfoBlockRec;
+typedef DMDepthInfoBlockRec * DMDepthInfoBlockPtr;
+struct DMDisplayModeListEntryRec {
+ UInt32 displayModeFlags;
+ VDSwitchInfoPtr displayModeSwitchInfo;
+ VDResolutionInfoPtr displayModeResolutionInfo;
+ VDTimingInfoPtr displayModeTimingInfo;
+ DMDepthInfoBlockPtr displayModeDepthBlockInfo; /* Information about all the depths*/
+ UInt32 displayModeVersion; /* What version is this record (now kDisplayModeEntryVersionOne)*/
+ StringPtr displayModeName; /* Name of the timing mode*/
+ DMDisplayTimingInfoPtr displayModeDisplayInfo; /* Information from the display.*/
+};
+typedef struct DMDisplayModeListEntryRec DMDisplayModeListEntryRec;
+typedef DMDisplayModeListEntryRec * DMDisplayModeListEntryPtr;
+
+struct DependentNotifyRec {
+ ResType notifyType; /* What type was the engine that made the change (may be zero)*/
+ ResType notifyClass; /* What class was the change (eg geometry, color etc)*/
+ DisplayIDType notifyPortID; /* Which device was touched (kInvalidDisplayID -> all or none)*/
+ ComponentInstance notifyComponent; /* What engine did it (may be 0)?*/
+
+ unsigned long notifyVersion; /* Set to 0 (future expansion)*/
+ unsigned long notifyFlags; /* Set to 0 (future expansion)*/
+ unsigned long notifyReserved; /* Set to 0 (future expansion)*/
+ unsigned long notifyFuture; /* Set to 0 (future expansion)*/
+};
+typedef struct DependentNotifyRec DependentNotifyRec;
+typedef DependentNotifyRec * DependentNotifyPtr;
+
+struct DMMakeAndModelRec {
+ ResType manufacturer;
+ UInt32 model;
+ UInt32 serialNumber;
+ UInt32 manufactureDate;
+
+ UInt32 makeReserved[4];
+};
+typedef struct DMMakeAndModelRec DMMakeAndModelRec;
+typedef DMMakeAndModelRec * DMMakeAndModelPtr;
+/* DMNewDisplayList displayListIncludeFlags*/
+enum {
+ kIncludeOnlineActiveDisplaysMask = (1 << 0),
+ kIncludeOnlineDisabledDisplaysMask = (1 << 1),
+ kIncludeOfflineDisplaysMask = (1 << 2),
+ kIncludeOfflineDummyDisplaysMask = (1 << 3),
+ kIncludeHardwareMirroredDisplaysMask = (1 << 4)
+};
+
+
+enum {
+ /* modeListFlags for DMNewDisplayModeList */
+ kDMModeListIncludeAllModesMask = (1 << 0), /* Include all timing modes not _explicitly_ excluded (see other bits)*/
+ kDMModeListIncludeOfflineModesMask = (1 << 1),
+ kDMModeListExcludeDriverModesMask = (1 << 2), /* Exclude old-style timing modes (cscGetNextResolution/kDisplayModeIDFindFirstResolution modes)*/
+ kDMModeListExcludeDisplayModesMask = (1 << 3), /* Exclude timing modes that come from the display (always arbritrary timing modes)*/
+ kDMModeListExcludeCustomModesMask = (1 << 4), /* Exclude custom modes that came neither from the driver or display (need a better name)*/
+ kDMModeListPreferStretchedModesMask = (1 << 5), /* Prefer modes that are stretched over modes that are letterboxed when setting kDisplayModeListNotPreferredBit*/
+ kDMModeListPreferSafeModesMask = (1 << 6) /* Prefer modes that are safe over modes that are not when setting kDisplayModeListNotPreferredBit*/
+};
+
+
+/* DMNewDisplayList displayListFlags*/
+struct DisplayListEntryRec {
+ GDHandle displayListEntryGDevice;
+ DisplayIDType displayListEntryDisplayID;
+ UInt32 displayListEntryIncludeFlags; /* Reason this entry was included*/
+ UInt32 displayListEntryReserved1;
+
+ UInt32 displayListEntryReserved2; /* Zero*/
+ UInt32 displayListEntryReserved3; /* Zero*/
+ UInt32 displayListEntryReserved4; /* Zero*/
+ UInt32 displayListEntryReserved5; /* Zero*/
+};
+typedef struct DisplayListEntryRec DisplayListEntryRec;
+typedef DisplayListEntryRec * DisplayListEntryPtr;
+struct DMProfileListEntryRec {
+ CMProfileRef profileRef;
+ Ptr profileReserved1; /* Reserved*/
+ Ptr profileReserved2; /* Reserved*/
+ Ptr profileReserved3; /* Reserved*/
+};
+typedef struct DMProfileListEntryRec DMProfileListEntryRec;
+typedef DMProfileListEntryRec * DMProfileListEntryPtr;
+typedef CALLBACK_API( void , DMNotificationProcPtr )(AppleEvent * theEvent);
+typedef CALLBACK_API( void , DMExtendedNotificationProcPtr )(void *userData, short theMessage, void *notifyData);
+typedef CALLBACK_API( void , DMComponentListIteratorProcPtr )(void *userData, DMListIndexType itemIndex, DMComponentListEntryPtr componentInfo);
+typedef CALLBACK_API( void , DMDisplayModeListIteratorProcPtr )(void *userData, DMListIndexType itemIndex, DMDisplayModeListEntryPtr displaymodeInfo);
+typedef CALLBACK_API( void , DMProfileListIteratorProcPtr )(void *userData, DMListIndexType itemIndex, DMProfileListEntryPtr profileInfo);
+typedef CALLBACK_API( void , DMDisplayListIteratorProcPtr )(void *userData, DMListIndexType itemIndex, DisplayListEntryPtr displaymodeInfo);
+typedef STACK_UPP_TYPE(DMNotificationProcPtr) DMNotificationUPP;
+typedef STACK_UPP_TYPE(DMExtendedNotificationProcPtr) DMExtendedNotificationUPP;
+typedef STACK_UPP_TYPE(DMComponentListIteratorProcPtr) DMComponentListIteratorUPP;
+typedef STACK_UPP_TYPE(DMDisplayModeListIteratorProcPtr) DMDisplayModeListIteratorUPP;
+typedef STACK_UPP_TYPE(DMProfileListIteratorProcPtr) DMProfileListIteratorUPP;
+typedef STACK_UPP_TYPE(DMDisplayListIteratorProcPtr) DMDisplayListIteratorUPP;
+/*
+ * NewDMNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DMNotificationUPP )
+NewDMNotificationUPP(DMNotificationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDMNotificationProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DMNotificationUPP) NewDMNotificationUPP(DMNotificationProcPtr userRoutine)
- {
- return (DMNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMNotificationProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDMNotificationUPP(userRoutine) (DMNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMNotificationProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDMNotificationProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DMNotificationUPP) NewDMNotificationUPP(DMNotificationProcPtr userRoutine) { return (DMNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMNotificationProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDMNotificationUPP(userRoutine) (DMNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMNotificationProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDMExtendedNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DMExtendedNotificationUPP)
- NewDMExtendedNotificationUPP(DMExtendedNotificationProcPtr userRoutine);
+/*
+ * NewDMExtendedNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DMExtendedNotificationUPP )
+NewDMExtendedNotificationUPP(DMExtendedNotificationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDMExtendedNotificationProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DMExtendedNotificationUPP) NewDMExtendedNotificationUPP(DMExtendedNotificationProcPtr userRoutine)
- {
- return (DMExtendedNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMExtendedNotificationProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDMExtendedNotificationUPP(userRoutine) (DMExtendedNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMExtendedNotificationProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDMExtendedNotificationProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DMExtendedNotificationUPP) NewDMExtendedNotificationUPP(DMExtendedNotificationProcPtr userRoutine) { return (DMExtendedNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMExtendedNotificationProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDMExtendedNotificationUPP(userRoutine) (DMExtendedNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMExtendedNotificationProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDMComponentListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DMComponentListIteratorUPP)
- NewDMComponentListIteratorUPP(DMComponentListIteratorProcPtr userRoutine);
+/*
+ * NewDMComponentListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DMComponentListIteratorUPP )
+NewDMComponentListIteratorUPP(DMComponentListIteratorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDMComponentListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DMComponentListIteratorUPP) NewDMComponentListIteratorUPP(DMComponentListIteratorProcPtr userRoutine)
- {
- return (DMComponentListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMComponentListIteratorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDMComponentListIteratorUPP(userRoutine) (DMComponentListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMComponentListIteratorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDMComponentListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DMComponentListIteratorUPP) NewDMComponentListIteratorUPP(DMComponentListIteratorProcPtr userRoutine) { return (DMComponentListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMComponentListIteratorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDMComponentListIteratorUPP(userRoutine) (DMComponentListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMComponentListIteratorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDMDisplayModeListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DMDisplayModeListIteratorUPP)
- NewDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorProcPtr userRoutine);
+/*
+ * NewDMDisplayModeListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DMDisplayModeListIteratorUPP )
+NewDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDMDisplayModeListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DMDisplayModeListIteratorUPP) NewDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorProcPtr userRoutine)
- {
- return (DMDisplayModeListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayModeListIteratorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDMDisplayModeListIteratorUPP(userRoutine) (DMDisplayModeListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayModeListIteratorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDMDisplayModeListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DMDisplayModeListIteratorUPP) NewDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorProcPtr userRoutine) { return (DMDisplayModeListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayModeListIteratorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDMDisplayModeListIteratorUPP(userRoutine) (DMDisplayModeListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayModeListIteratorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDMProfileListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DMProfileListIteratorUPP)
- NewDMProfileListIteratorUPP(DMProfileListIteratorProcPtr userRoutine);
+/*
+ * NewDMProfileListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DMProfileListIteratorUPP )
+NewDMProfileListIteratorUPP(DMProfileListIteratorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDMProfileListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DMProfileListIteratorUPP) NewDMProfileListIteratorUPP(DMProfileListIteratorProcPtr userRoutine)
- {
- return (DMProfileListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMProfileListIteratorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDMProfileListIteratorUPP(userRoutine) (DMProfileListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMProfileListIteratorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDMProfileListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DMProfileListIteratorUPP) NewDMProfileListIteratorUPP(DMProfileListIteratorProcPtr userRoutine) { return (DMProfileListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMProfileListIteratorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDMProfileListIteratorUPP(userRoutine) (DMProfileListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMProfileListIteratorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDMDisplayListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DMDisplayListIteratorUPP)
- NewDMDisplayListIteratorUPP(DMDisplayListIteratorProcPtr userRoutine);
+/*
+ * NewDMDisplayListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DMDisplayListIteratorUPP )
+NewDMDisplayListIteratorUPP(DMDisplayListIteratorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDMDisplayListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DMDisplayListIteratorUPP) NewDMDisplayListIteratorUPP(DMDisplayListIteratorProcPtr userRoutine)
- {
- return (DMDisplayListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayListIteratorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDMDisplayListIteratorUPP(userRoutine) (DMDisplayListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayListIteratorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDMDisplayListIteratorProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DMDisplayListIteratorUPP) NewDMDisplayListIteratorUPP(DMDisplayListIteratorProcPtr userRoutine) { return (DMDisplayListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayListIteratorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDMDisplayListIteratorUPP(userRoutine) (DMDisplayListIteratorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDMDisplayListIteratorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDMNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDMNotificationUPP(DMNotificationUPP userUPP);
+/*
+ * DisposeDMNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDMNotificationUPP(DMNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDMNotificationUPP(DMNotificationUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDMNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDMNotificationUPP(DMNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDMNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDMExtendedNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDMExtendedNotificationUPP(DMExtendedNotificationUPP userUPP);
+/*
+ * DisposeDMExtendedNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDMExtendedNotificationUPP(DMExtendedNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDMExtendedNotificationUPP(DMExtendedNotificationUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDMExtendedNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDMExtendedNotificationUPP(DMExtendedNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDMExtendedNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDMComponentListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDMComponentListIteratorUPP(DMComponentListIteratorUPP userUPP);
+/*
+ * DisposeDMComponentListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDMComponentListIteratorUPP(DMComponentListIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDMComponentListIteratorUPP(DMComponentListIteratorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDMComponentListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDMComponentListIteratorUPP(DMComponentListIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDMComponentListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDMDisplayModeListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorUPP userUPP);
+/*
+ * DisposeDMDisplayModeListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDMDisplayModeListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDMDisplayModeListIteratorUPP(DMDisplayModeListIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDMDisplayModeListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDMProfileListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDMProfileListIteratorUPP(DMProfileListIteratorUPP userUPP);
+/*
+ * DisposeDMProfileListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDMProfileListIteratorUPP(DMProfileListIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDMProfileListIteratorUPP(DMProfileListIteratorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDMProfileListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDMProfileListIteratorUPP(DMProfileListIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDMProfileListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDMDisplayListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDMDisplayListIteratorUPP(DMDisplayListIteratorUPP userUPP);
+/*
+ * DisposeDMDisplayListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDMDisplayListIteratorUPP(DMDisplayListIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDMDisplayListIteratorUPP(DMDisplayListIteratorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDMDisplayListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDMDisplayListIteratorUPP(DMDisplayListIteratorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDMDisplayListIteratorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDMNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDMNotificationUPP(
- AppleEvent * theEvent,
- DMNotificationUPP userUPP);
+/*
+ * InvokeDMNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDMNotificationUPP(
+ AppleEvent * theEvent,
+ DMNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDMNotificationUPP(AppleEvent * theEvent, DMNotificationUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppDMNotificationProcInfo, theEvent);
- }
-#else
-#define InvokeDMNotificationUPP(theEvent, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppDMNotificationProcInfo, (theEvent))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDMNotificationUPP(AppleEvent * theEvent, DMNotificationUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppDMNotificationProcInfo, theEvent); }
+ #else
+ #define InvokeDMNotificationUPP(theEvent, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppDMNotificationProcInfo, (theEvent))
+ #endif
#endif
- /*
- * InvokeDMExtendedNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDMExtendedNotificationUPP(
- void * userData,
- short theMessage,
- void * notifyData,
- DMExtendedNotificationUPP userUPP);
+/*
+ * InvokeDMExtendedNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDMExtendedNotificationUPP(
+ void * userData,
+ short theMessage,
+ void * notifyData,
+ DMExtendedNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDMExtendedNotificationUPP(void * userData, short theMessage, void * notifyData, DMExtendedNotificationUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppDMExtendedNotificationProcInfo, userData, theMessage, notifyData);
- }
-#else
-#define InvokeDMExtendedNotificationUPP(userData, theMessage, notifyData, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMExtendedNotificationProcInfo, (userData), (theMessage), (notifyData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDMExtendedNotificationUPP(void * userData, short theMessage, void * notifyData, DMExtendedNotificationUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMExtendedNotificationProcInfo, userData, theMessage, notifyData); }
+ #else
+ #define InvokeDMExtendedNotificationUPP(userData, theMessage, notifyData, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMExtendedNotificationProcInfo, (userData), (theMessage), (notifyData))
+ #endif
#endif
- /*
- * InvokeDMComponentListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDMComponentListIteratorUPP(
- void * userData,
- DMListIndexType itemIndex,
- DMComponentListEntryPtr componentInfo,
- DMComponentListIteratorUPP userUPP);
+/*
+ * InvokeDMComponentListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDMComponentListIteratorUPP(
+ void * userData,
+ DMListIndexType itemIndex,
+ DMComponentListEntryPtr componentInfo,
+ DMComponentListIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDMComponentListIteratorUPP(void * userData, DMListIndexType itemIndex, DMComponentListEntryPtr componentInfo, DMComponentListIteratorUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppDMComponentListIteratorProcInfo, userData, itemIndex, componentInfo);
- }
-#else
-#define InvokeDMComponentListIteratorUPP(userData, itemIndex, componentInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMComponentListIteratorProcInfo, (userData), (itemIndex), (componentInfo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDMComponentListIteratorUPP(void * userData, DMListIndexType itemIndex, DMComponentListEntryPtr componentInfo, DMComponentListIteratorUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMComponentListIteratorProcInfo, userData, itemIndex, componentInfo); }
+ #else
+ #define InvokeDMComponentListIteratorUPP(userData, itemIndex, componentInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMComponentListIteratorProcInfo, (userData), (itemIndex), (componentInfo))
+ #endif
#endif
- /*
- * InvokeDMDisplayModeListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDMDisplayModeListIteratorUPP(
- void * userData,
- DMListIndexType itemIndex,
- DMDisplayModeListEntryPtr displaymodeInfo,
- DMDisplayModeListIteratorUPP userUPP);
+/*
+ * InvokeDMDisplayModeListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDMDisplayModeListIteratorUPP(
+ void * userData,
+ DMListIndexType itemIndex,
+ DMDisplayModeListEntryPtr displaymodeInfo,
+ DMDisplayModeListIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDMDisplayModeListIteratorUPP(void * userData, DMListIndexType itemIndex, DMDisplayModeListEntryPtr displaymodeInfo, DMDisplayModeListIteratorUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppDMDisplayModeListIteratorProcInfo, userData, itemIndex, displaymodeInfo);
- }
-#else
-#define InvokeDMDisplayModeListIteratorUPP(userData, itemIndex, displaymodeInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMDisplayModeListIteratorProcInfo, (userData), (itemIndex), (displaymodeInfo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDMDisplayModeListIteratorUPP(void * userData, DMListIndexType itemIndex, DMDisplayModeListEntryPtr displaymodeInfo, DMDisplayModeListIteratorUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMDisplayModeListIteratorProcInfo, userData, itemIndex, displaymodeInfo); }
+ #else
+ #define InvokeDMDisplayModeListIteratorUPP(userData, itemIndex, displaymodeInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMDisplayModeListIteratorProcInfo, (userData), (itemIndex), (displaymodeInfo))
+ #endif
#endif
- /*
- * InvokeDMProfileListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDMProfileListIteratorUPP(
- void * userData,
- DMListIndexType itemIndex,
- DMProfileListEntryPtr profileInfo,
- DMProfileListIteratorUPP userUPP);
+/*
+ * InvokeDMProfileListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDMProfileListIteratorUPP(
+ void * userData,
+ DMListIndexType itemIndex,
+ DMProfileListEntryPtr profileInfo,
+ DMProfileListIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDMProfileListIteratorUPP(void * userData, DMListIndexType itemIndex, DMProfileListEntryPtr profileInfo, DMProfileListIteratorUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppDMProfileListIteratorProcInfo, userData, itemIndex, profileInfo);
- }
-#else
-#define InvokeDMProfileListIteratorUPP(userData, itemIndex, profileInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMProfileListIteratorProcInfo, (userData), (itemIndex), (profileInfo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDMProfileListIteratorUPP(void * userData, DMListIndexType itemIndex, DMProfileListEntryPtr profileInfo, DMProfileListIteratorUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMProfileListIteratorProcInfo, userData, itemIndex, profileInfo); }
+ #else
+ #define InvokeDMProfileListIteratorUPP(userData, itemIndex, profileInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMProfileListIteratorProcInfo, (userData), (itemIndex), (profileInfo))
+ #endif
#endif
- /*
- * InvokeDMDisplayListIteratorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDMDisplayListIteratorUPP(
- void * userData,
- DMListIndexType itemIndex,
- DisplayListEntryPtr displaymodeInfo,
- DMDisplayListIteratorUPP userUPP);
+/*
+ * InvokeDMDisplayListIteratorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDMDisplayListIteratorUPP(
+ void * userData,
+ DMListIndexType itemIndex,
+ DisplayListEntryPtr displaymodeInfo,
+ DMDisplayListIteratorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDMDisplayListIteratorUPP(void * userData, DMListIndexType itemIndex, DisplayListEntryPtr displaymodeInfo, DMDisplayListIteratorUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppDMDisplayListIteratorProcInfo, userData, itemIndex, displaymodeInfo);
- }
-#else
-#define InvokeDMDisplayListIteratorUPP(userData, itemIndex, displaymodeInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMDisplayListIteratorProcInfo, (userData), (itemIndex), (displaymodeInfo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDMDisplayListIteratorUPP(void * userData, DMListIndexType itemIndex, DisplayListEntryPtr displaymodeInfo, DMDisplayListIteratorUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDMDisplayListIteratorProcInfo, userData, itemIndex, displaymodeInfo); }
+ #else
+ #define InvokeDMDisplayListIteratorUPP(userData, itemIndex, displaymodeInfo, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDMDisplayListIteratorProcInfo, (userData), (itemIndex), (displaymodeInfo))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDMNotificationProc(userRoutine) NewDMNotificationUPP(userRoutine)
-#define NewDMExtendedNotificationProc(userRoutine) NewDMExtendedNotificationUPP(userRoutine)
-#define NewDMComponentListIteratorProc(userRoutine) NewDMComponentListIteratorUPP(userRoutine)
-#define NewDMDisplayModeListIteratorProc(userRoutine) NewDMDisplayModeListIteratorUPP(userRoutine)
-#define NewDMProfileListIteratorProc(userRoutine) NewDMProfileListIteratorUPP(userRoutine)
-#define NewDMDisplayListIteratorProc(userRoutine) NewDMDisplayListIteratorUPP(userRoutine)
-#define CallDMNotificationProc(userRoutine, theEvent) InvokeDMNotificationUPP(theEvent, userRoutine)
-#define CallDMExtendedNotificationProc(userRoutine, userData, theMessage, notifyData) InvokeDMExtendedNotificationUPP(userData, theMessage, notifyData, userRoutine)
-#define CallDMComponentListIteratorProc(userRoutine, userData, itemIndex, componentInfo) InvokeDMComponentListIteratorUPP(userData, itemIndex, componentInfo, userRoutine)
-#define CallDMDisplayModeListIteratorProc(userRoutine, userData, itemIndex, displaymodeInfo) InvokeDMDisplayModeListIteratorUPP(userData, itemIndex, displaymodeInfo, userRoutine)
-#define CallDMProfileListIteratorProc(userRoutine, userData, itemIndex, profileInfo) InvokeDMProfileListIteratorUPP(userData, itemIndex, profileInfo, userRoutine)
-#define CallDMDisplayListIteratorProc(userRoutine, userData, itemIndex, displaymodeInfo) InvokeDMDisplayListIteratorUPP(userData, itemIndex, displaymodeInfo, userRoutine)
+ #define NewDMNotificationProc(userRoutine) NewDMNotificationUPP(userRoutine)
+ #define NewDMExtendedNotificationProc(userRoutine) NewDMExtendedNotificationUPP(userRoutine)
+ #define NewDMComponentListIteratorProc(userRoutine) NewDMComponentListIteratorUPP(userRoutine)
+ #define NewDMDisplayModeListIteratorProc(userRoutine) NewDMDisplayModeListIteratorUPP(userRoutine)
+ #define NewDMProfileListIteratorProc(userRoutine) NewDMProfileListIteratorUPP(userRoutine)
+ #define NewDMDisplayListIteratorProc(userRoutine) NewDMDisplayListIteratorUPP(userRoutine)
+ #define CallDMNotificationProc(userRoutine, theEvent) InvokeDMNotificationUPP(theEvent, userRoutine)
+ #define CallDMExtendedNotificationProc(userRoutine, userData, theMessage, notifyData) InvokeDMExtendedNotificationUPP(userData, theMessage, notifyData, userRoutine)
+ #define CallDMComponentListIteratorProc(userRoutine, userData, itemIndex, componentInfo) InvokeDMComponentListIteratorUPP(userData, itemIndex, componentInfo, userRoutine)
+ #define CallDMDisplayModeListIteratorProc(userRoutine, userData, itemIndex, displaymodeInfo) InvokeDMDisplayModeListIteratorUPP(userData, itemIndex, displaymodeInfo, userRoutine)
+ #define CallDMProfileListIteratorProc(userRoutine, userData, itemIndex, profileInfo) InvokeDMProfileListIteratorUPP(userData, itemIndex, profileInfo, userRoutine)
+ #define CallDMDisplayListIteratorProc(userRoutine, userData, itemIndex, displaymodeInfo) InvokeDMDisplayListIteratorUPP(userData, itemIndex, displaymodeInfo, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * DMDisplayGestalt()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMDisplayGestalt(
- DisplayIDType theDisplayID,
- ResType displayGestaltSelector,
- UInt32 * displayGestaltResponse) THREEWORDINLINE(0x303C, 0x06D3, 0xABEB);
-
-
- /*
- * DMUseScreenPrefs()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMUseScreenPrefs(
- Boolean usePrefs,
- Handle displayState) THREEWORDINLINE(0x303C, 0x03EC, 0xABEB);
-
-
- /*
- * DMSuspendConfigure()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMSuspendConfigure(
- Handle displayState,
- unsigned long reserved1) THREEWORDINLINE(0x303C, 0x04E9, 0xABEB);
-
-
- /*
- * DMResumeConfigure()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMResumeConfigure(
- Handle displayState,
- unsigned long reserved1) THREEWORDINLINE(0x303C, 0x04E8, 0xABEB);
-
-
- /*
- * DMSetGammaByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMSetGammaByAVID(
- AVIDType gammaAVID,
- UInt32 setGammaFlags,
- GammaTblHandle theGamma) THREEWORDINLINE(0x303C, 0x06D1, 0xABEB);
-
-
- /*
- * DMGetGammaByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMGetGammaByAVID(
- AVIDType gammaAVID,
- UInt32 getGammaFlags,
- GammaTblHandle * theGamma) THREEWORDINLINE(0x303C, 0x06D0, 0xABEB);
-
-
- /*
- * DMGetMakeAndModelByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMGetMakeAndModelByAVID(
- AVIDType theAVID,
- DMMakeAndModelPtr theMakeAndModel) THREEWORDINLINE(0x303C, 0x04D7, 0xABEB);
-
-
- /*
- * DMNewDisplayList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMNewDisplayList(
- UInt32 displayListIncludeFlags,
- UInt32 reserved1,
- UInt32 reserved2,
- DMListIndexType * theCount,
- DMListType * theDisplayList) THREEWORDINLINE(0x303C, 0x0AD6, 0xABEB);
-
-
- /*
- * DMGetIndexedDisplayFromList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMGetIndexedDisplayFromList(
- DMListType theDisplayList,
- DMListIndexType itemIndex,
- UInt32 reserved,
- DMDisplayListIteratorUPP listIterator,
- void * userData) THREEWORDINLINE(0x303C, 0x0AD5, 0xABEB);
-
-
- /*
- * DMNewProfileListByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMNewProfileListByAVID(
- AVIDType theAVID,
- UInt32 reserved,
- DMListIndexType * profileCount,
- DMListType * profileList) THREEWORDINLINE(0x303C, 0x08DC, 0xABEB);
-
-
- /*
- * DMGetIndexedProfileFromList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMGetIndexedProfileFromList(
- DMListType profileList,
- DMListIndexType itemIndex,
- UInt32 reserved,
- DMProfileListIteratorUPP listIterator,
- void * userData) THREEWORDINLINE(0x303C, 0x0ADB, 0xABEB);
+/*
+ * DMDisplayGestalt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMDisplayGestalt(
+ DisplayIDType theDisplayID,
+ ResType displayGestaltSelector,
+ UInt32 * displayGestaltResponse) THREEWORDINLINE(0x303C, 0x06D3, 0xABEB);
+
+
+/*
+ * DMUseScreenPrefs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMUseScreenPrefs(
+ Boolean usePrefs,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x03EC, 0xABEB);
+
+
+/*
+ * DMSuspendConfigure()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMSuspendConfigure(
+ Handle displayState,
+ unsigned long reserved1) THREEWORDINLINE(0x303C, 0x04E9, 0xABEB);
+
+
+/*
+ * DMResumeConfigure()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMResumeConfigure(
+ Handle displayState,
+ unsigned long reserved1) THREEWORDINLINE(0x303C, 0x04E8, 0xABEB);
+
+
+/*
+ * DMSetGammaByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMSetGammaByAVID(
+ AVIDType gammaAVID,
+ UInt32 setGammaFlags,
+ GammaTblHandle theGamma) THREEWORDINLINE(0x303C, 0x06D1, 0xABEB);
+
+
+/*
+ * DMGetGammaByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMGetGammaByAVID(
+ AVIDType gammaAVID,
+ UInt32 getGammaFlags,
+ GammaTblHandle * theGamma) THREEWORDINLINE(0x303C, 0x06D0, 0xABEB);
+
+
+/*
+ * DMGetMakeAndModelByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMGetMakeAndModelByAVID(
+ AVIDType theAVID,
+ DMMakeAndModelPtr theMakeAndModel) THREEWORDINLINE(0x303C, 0x04D7, 0xABEB);
+
+
+/*
+ * DMNewDisplayList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMNewDisplayList(
+ UInt32 displayListIncludeFlags,
+ UInt32 reserved1,
+ UInt32 reserved2,
+ DMListIndexType * theCount,
+ DMListType * theDisplayList) THREEWORDINLINE(0x303C, 0x0AD6, 0xABEB);
+
+
+/*
+ * DMGetIndexedDisplayFromList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMGetIndexedDisplayFromList(
+ DMListType theDisplayList,
+ DMListIndexType itemIndex,
+ UInt32 reserved,
+ DMDisplayListIteratorUPP listIterator,
+ void * userData) THREEWORDINLINE(0x303C, 0x0AD5, 0xABEB);
+
+
+/*
+ * DMNewProfileListByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMNewProfileListByAVID(
+ AVIDType theAVID,
+ UInt32 reserved,
+ DMListIndexType * profileCount,
+ DMListType * profileList) THREEWORDINLINE(0x303C, 0x08DC, 0xABEB);
+
+
+/*
+ * DMGetIndexedProfileFromList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMGetIndexedProfileFromList(
+ DMListType profileList,
+ DMListIndexType itemIndex,
+ UInt32 reserved,
+ DMProfileListIteratorUPP listIterator,
+ void * userData) THREEWORDINLINE(0x303C, 0x0ADB, 0xABEB);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DMGetFirstScreenDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- DMGetFirstScreenDevice(Boolean activeOnly) TWOWORDINLINE(0x7000, 0xABEB);
-
-
- /*
- * DMGetNextScreenDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- DMGetNextScreenDevice(
- GDHandle theDevice,
- Boolean activeOnly) TWOWORDINLINE(0x7001, 0xABEB);
-
-
- /*
- * DMDrawDesktopRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DMDrawDesktopRect(Rect * globalRect) TWOWORDINLINE(0x7002, 0xABEB);
-
-
- /*
- * DMDrawDesktopRegion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DMDrawDesktopRegion(RgnHandle globalRgn) TWOWORDINLINE(0x7003, 0xABEB);
-
-
-
-
- /*
- * DMBeginConfigureDisplays()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMBeginConfigureDisplays(Handle * displayState) THREEWORDINLINE(0x303C, 0x0206, 0xABEB);
-
-
- /*
- * DMEndConfigureDisplays()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMEndConfigureDisplays(Handle displayState) THREEWORDINLINE(0x303C, 0x0207, 0xABEB);
-
-
- /*
- * DMAddDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMAddDisplay(
- GDHandle newDevice,
- short driver,
- unsigned long mode,
- unsigned long reserved,
- unsigned long displayID,
- Component displayComponent,
- Handle displayState) THREEWORDINLINE(0x303C, 0x0D08, 0xABEB);
-
-
- /*
- * DMMoveDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMMoveDisplay(
- GDHandle moveDevice,
- short x,
- short y,
- Handle displayState) THREEWORDINLINE(0x303C, 0x0609, 0xABEB);
-
-
- /*
- * DMDisableDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMDisableDisplay(
- GDHandle disableDevice,
- Handle displayState) THREEWORDINLINE(0x303C, 0x040A, 0xABEB);
-
-
- /*
- * DMEnableDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMEnableDisplay(
- GDHandle enableDevice,
- Handle displayState) THREEWORDINLINE(0x303C, 0x040B, 0xABEB);
-
-
- /*
- * DMRemoveDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMRemoveDisplay(
- GDHandle removeDevice,
- Handle displayState) THREEWORDINLINE(0x303C, 0x040C, 0xABEB);
-
-
-
-
-
- /*
- * DMSetMainDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMSetMainDisplay(
- GDHandle newMainDevice,
- Handle displayState) THREEWORDINLINE(0x303C, 0x0410, 0xABEB);
-
-
- /*
- * DMSetDisplayMode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMSetDisplayMode(
- GDHandle theDevice,
- unsigned long mode,
- unsigned long * depthMode,
- unsigned long reserved,
- Handle displayState) THREEWORDINLINE(0x303C, 0x0A11, 0xABEB);
-
-
- /*
- * DMCheckDisplayMode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMCheckDisplayMode(
- GDHandle theDevice,
- unsigned long mode,
- unsigned long depthMode,
- unsigned long * switchFlags,
- unsigned long reserved,
- Boolean * modeOk) THREEWORDINLINE(0x303C, 0x0C12, 0xABEB);
-
-
- /*
- * DMGetDeskRegion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetDeskRegion(RgnHandle * desktopRegion) THREEWORDINLINE(0x303C, 0x0213, 0xABEB);
-
-
- /*
- * DMRegisterNotifyProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMRegisterNotifyProc(
- DMNotificationUPP notificationProc,
- DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x0414, 0xABEB);
-
-
- /*
- * DMRemoveNotifyProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMRemoveNotifyProc(
- DMNotificationUPP notificationProc,
- DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x0415, 0xABEB);
-
-
- /*
- * DMQDIsMirroringCapable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMQDIsMirroringCapable(Boolean * qdIsMirroringCapable) THREEWORDINLINE(0x303C, 0x0216, 0xABEB);
-
-
- /*
- * DMCanMirrorNow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMCanMirrorNow(Boolean * canMirrorNow) THREEWORDINLINE(0x303C, 0x0217, 0xABEB);
-
-
- /*
- * DMIsMirroringOn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMIsMirroringOn(Boolean * isMirroringOn) THREEWORDINLINE(0x303C, 0x0218, 0xABEB);
-
-
- /*
- * DMMirrorDevices()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMMirrorDevices(
- GDHandle gD1,
- GDHandle gD2,
- Handle displayState) THREEWORDINLINE(0x303C, 0x0619, 0xABEB);
-
-
- /*
- * DMUnmirrorDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMUnmirrorDevice(
- GDHandle gDevice,
- Handle displayState) THREEWORDINLINE(0x303C, 0x041A, 0xABEB);
-
-
- /*
- * DMGetNextMirroredDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetNextMirroredDevice(
- GDHandle gDevice,
- GDHandle * mirroredDevice) THREEWORDINLINE(0x303C, 0x041B, 0xABEB);
-
-
- /*
- * DMBlockMirroring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMBlockMirroring(void) TWOWORDINLINE(0x701C, 0xABEB);
-
-
- /*
- * DMUnblockMirroring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMUnblockMirroring(void) TWOWORDINLINE(0x701D, 0xABEB);
+/*
+ * DMGetFirstScreenDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+DMGetFirstScreenDevice(Boolean activeOnly) TWOWORDINLINE(0x7000, 0xABEB);
+
+
+/*
+ * DMGetNextScreenDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+DMGetNextScreenDevice(
+ GDHandle theDevice,
+ Boolean activeOnly) TWOWORDINLINE(0x7001, 0xABEB);
+
+
+/*
+ * DMDrawDesktopRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DMDrawDesktopRect(Rect * globalRect) TWOWORDINLINE(0x7002, 0xABEB);
+
+
+/*
+ * DMDrawDesktopRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DMDrawDesktopRegion(RgnHandle globalRgn) TWOWORDINLINE(0x7003, 0xABEB);
+
+
+
+
+/*
+ * DMBeginConfigureDisplays()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMBeginConfigureDisplays(Handle * displayState) THREEWORDINLINE(0x303C, 0x0206, 0xABEB);
+
+
+/*
+ * DMEndConfigureDisplays()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMEndConfigureDisplays(Handle displayState) THREEWORDINLINE(0x303C, 0x0207, 0xABEB);
+
+
+/*
+ * DMAddDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMAddDisplay(
+ GDHandle newDevice,
+ short driver,
+ unsigned long mode,
+ unsigned long reserved,
+ unsigned long displayID,
+ Component displayComponent,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x0D08, 0xABEB);
+
+
+/*
+ * DMMoveDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMMoveDisplay(
+ GDHandle moveDevice,
+ short x,
+ short y,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x0609, 0xABEB);
+
+
+/*
+ * DMDisableDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMDisableDisplay(
+ GDHandle disableDevice,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x040A, 0xABEB);
+
+
+/*
+ * DMEnableDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMEnableDisplay(
+ GDHandle enableDevice,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x040B, 0xABEB);
+
+
+/*
+ * DMRemoveDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMRemoveDisplay(
+ GDHandle removeDevice,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x040C, 0xABEB);
+
+
+
+
+
+/*
+ * DMSetMainDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMSetMainDisplay(
+ GDHandle newMainDevice,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x0410, 0xABEB);
+
+
+/*
+ * DMSetDisplayMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMSetDisplayMode(
+ GDHandle theDevice,
+ unsigned long mode,
+ unsigned long * depthMode,
+ unsigned long reserved,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x0A11, 0xABEB);
+
+
+/*
+ * DMCheckDisplayMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMCheckDisplayMode(
+ GDHandle theDevice,
+ unsigned long mode,
+ unsigned long depthMode,
+ unsigned long * switchFlags,
+ unsigned long reserved,
+ Boolean * modeOk) THREEWORDINLINE(0x303C, 0x0C12, 0xABEB);
+
+
+/*
+ * DMGetDeskRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetDeskRegion(RgnHandle * desktopRegion) THREEWORDINLINE(0x303C, 0x0213, 0xABEB);
+
+
+/*
+ * DMRegisterNotifyProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMRegisterNotifyProc(
+ DMNotificationUPP notificationProc,
+ DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x0414, 0xABEB);
+
+
+/*
+ * DMRemoveNotifyProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMRemoveNotifyProc(
+ DMNotificationUPP notificationProc,
+ DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x0415, 0xABEB);
+
+
+/*
+ * DMQDIsMirroringCapable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMQDIsMirroringCapable(Boolean * qdIsMirroringCapable) THREEWORDINLINE(0x303C, 0x0216, 0xABEB);
+
+
+/*
+ * DMCanMirrorNow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMCanMirrorNow(Boolean * canMirrorNow) THREEWORDINLINE(0x303C, 0x0217, 0xABEB);
+
+
+/*
+ * DMIsMirroringOn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMIsMirroringOn(Boolean * isMirroringOn) THREEWORDINLINE(0x303C, 0x0218, 0xABEB);
+
+
+/*
+ * DMMirrorDevices()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMMirrorDevices(
+ GDHandle gD1,
+ GDHandle gD2,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x0619, 0xABEB);
+
+
+/*
+ * DMUnmirrorDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMUnmirrorDevice(
+ GDHandle gDevice,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x041A, 0xABEB);
+
+
+/*
+ * DMGetNextMirroredDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetNextMirroredDevice(
+ GDHandle gDevice,
+ GDHandle * mirroredDevice) THREEWORDINLINE(0x303C, 0x041B, 0xABEB);
+
+
+/*
+ * DMBlockMirroring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMBlockMirroring(void) TWOWORDINLINE(0x701C, 0xABEB);
+
+
+/*
+ * DMUnblockMirroring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMUnblockMirroring(void) TWOWORDINLINE(0x701D, 0xABEB);
#if CALL_NOT_IN_CARBON
- /*
- * DMGetDisplayMgrA5World()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DMGetDisplayMgrA5World(Ptr * dmA5) THREEWORDINLINE(0x303C, 0x021E, 0xABEB);
+/*
+ * DMGetDisplayMgrA5World()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DMGetDisplayMgrA5World(Ptr * dmA5) THREEWORDINLINE(0x303C, 0x021E, 0xABEB);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DMGetDisplayIDByGDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetDisplayIDByGDevice(
- GDHandle displayDevice,
- DisplayIDType * displayID,
- Boolean failToMain) THREEWORDINLINE(0x303C, 0x051F, 0xABEB);
-
-
- /*
- * DMGetGDeviceByDisplayID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetGDeviceByDisplayID(
- DisplayIDType displayID,
- GDHandle * displayDevice,
- Boolean failToMain) THREEWORDINLINE(0x303C, 0x0520, 0xABEB);
-
-
- /*
- * DMSetDisplayComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMSetDisplayComponent(
- GDHandle theDevice,
- Component displayComponent) THREEWORDINLINE(0x303C, 0x0421, 0xABEB);
-
-
- /*
- * DMGetDisplayComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetDisplayComponent(
- GDHandle theDevice,
- Component * displayComponent) THREEWORDINLINE(0x303C, 0x0422, 0xABEB);
-
-
- /*
- * DMNewDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewDisplay(
- GDHandle * newDevice,
- short driverRefNum,
- unsigned long mode,
- unsigned long reserved,
- DisplayIDType displayID,
- Component displayComponent,
- Handle displayState) THREEWORDINLINE(0x303C, 0x0D23, 0xABEB);
-
-
- /*
- * DMDisposeDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMDisposeDisplay(
- GDHandle disposeDevice,
- Handle displayState) THREEWORDINLINE(0x303C, 0x0424, 0xABEB);
-
-
- /*
- * DMResolveDisplayComponents()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMResolveDisplayComponents(void) TWOWORDINLINE(0x7025, 0xABEB);
-
-
- /*
- * DMRegisterExtendedNotifyProc()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMRegisterExtendedNotifyProc(
- DMExtendedNotificationUPP notifyProc,
- void * notifyUserData,
- unsigned short nofifyOnFlags,
- DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x07EF, 0xABEB);
-
-
- /*
- * DMRemoveExtendedNotifyProc()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMRemoveExtendedNotifyProc(
- DMExtendedNotificationUPP notifyProc,
- void * notifyUserData,
- DMProcessInfoPtr whichPSN,
- unsigned short removeFlags) THREEWORDINLINE(0x303C, 0x0726, 0xABEB);
-
-
- /*
- * DMNewAVPanelList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewAVPanelList(
- DisplayIDType displayID,
- ResType panelType,
- DMFidelityType minimumFidelity,
- unsigned long panelListFlags,
- unsigned long reserved,
- DMListIndexType * thePanelCount,
- DMListType * thePanelList) THREEWORDINLINE(0x303C, 0x0C27, 0xABEB);
-
-
- /*
- * DMNewAVEngineList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewAVEngineList(
- DisplayIDType displayID,
- ResType engineType,
- DMFidelityType minimumFidelity,
- unsigned long engineListFlags,
- unsigned long reserved,
- DMListIndexType * engineCount,
- DMListType * engineList) THREEWORDINLINE(0x303C, 0x0C28, 0xABEB);
-
-
- /*
- * DMNewAVDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewAVDeviceList(
- ResType deviceType,
- unsigned long deviceListFlags,
- unsigned long reserved,
- DMListIndexType * deviceCount,
- DMListType * deviceList) THREEWORDINLINE(0x303C, 0x0A29, 0xABEB);
-
-
- /*
- * DMNewAVPortListByPortType()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewAVPortListByPortType(
- ResType subType,
- unsigned long portListFlags,
- unsigned long reserved,
- DMListIndexType * devicePortCount,
- DMListType * theDevicePortList) THREEWORDINLINE(0x303C, 0x0A2A, 0xABEB);
-
-
- /*
- * DMGetIndexedComponentFromList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetIndexedComponentFromList(
- DMListType panelList,
- DMListIndexType itemIndex,
- unsigned long reserved,
- DMComponentListIteratorUPP listIterator,
- void * userData) THREEWORDINLINE(0x303C, 0x0A2B, 0xABEB);
-
-
- /*
- * DMDisposeList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMDisposeList(DMListType panelList) THREEWORDINLINE(0x303C, 0x022C, 0xABEB);
-
-
- /*
- * DMGetNameByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetNameByAVID(
- AVIDType theID,
- unsigned long nameFlags,
- Str255 name) THREEWORDINLINE(0x303C, 0x062D, 0xABEB);
-
-
- /*
- * DMNewAVIDByPortComponent()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewAVIDByPortComponent(
- Component thePortComponent,
- ResType portKind,
- unsigned long reserved,
- AVIDType * newID) THREEWORDINLINE(0x303C, 0x082E, 0xABEB);
-
-
- /*
- * DMGetPortComponentByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetPortComponentByAVID(
- DisplayIDType thePortID,
- Component * thePortComponent,
- ComponentDescription * theDesciption,
- ResType * thePortKind) THREEWORDINLINE(0x303C, 0x082F, 0xABEB);
-
-
- /*
- * DMSendDependentNotification()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMSendDependentNotification(
- ResType notifyType,
- ResType notifyClass,
- AVIDType displayID,
- ComponentInstance notifyComponent) THREEWORDINLINE(0x303C, 0x0830, 0xABEB);
-
-
- /*
- * DMDisposeAVComponent()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMDisposeAVComponent(Component theAVComponent) THREEWORDINLINE(0x303C, 0x0231, 0xABEB);
-
-
- /*
- * DMSaveScreenPrefs()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMSaveScreenPrefs(
- unsigned long reserved1,
- unsigned long saveFlags,
- unsigned long reserved2) THREEWORDINLINE(0x303C, 0x0632, 0xABEB);
-
-
- /*
- * DMNewAVIDByDeviceComponent()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewAVIDByDeviceComponent(
- Component theDeviceComponent,
- ResType portKind,
- unsigned long reserved,
- DisplayIDType * newID) THREEWORDINLINE(0x303C, 0x0833, 0xABEB);
-
-
- /*
- * DMNewAVPortListByDeviceAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewAVPortListByDeviceAVID(
- AVIDType theID,
- DMFidelityType minimumFidelity,
- unsigned long portListFlags,
- unsigned long reserved,
- DMListIndexType * devicePortCount,
- DMListType * theDevicePortList) THREEWORDINLINE(0x303C, 0x0C34, 0xABEB);
-
-
- /*
- * DMGetDeviceComponentByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetDeviceComponentByAVID(
- AVIDType theDeviceID,
- Component * theDeviceComponent,
- ComponentDescription * theDesciption,
- ResType * theDeviceKind) THREEWORDINLINE(0x303C, 0x0835, 0xABEB);
-
-
- /*
- * DMNewDisplayModeList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMNewDisplayModeList(
- DisplayIDType displayID,
- unsigned long modeListFlags,
- unsigned long reserved,
- DMListIndexType * thePanelCount,
- DMListType * thePanelList) THREEWORDINLINE(0x303C, 0x0A36, 0xABEB);
-
-
- /*
- * DMGetIndexedDisplayModeFromList()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetIndexedDisplayModeFromList(
- DMListType panelList,
- DMListIndexType itemIndex,
- unsigned long reserved,
- DMDisplayModeListIteratorUPP listIterator,
- void * userData) THREEWORDINLINE(0x303C, 0x0A37, 0xABEB);
-
-
- /*
- * DMGetGraphicInfoByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetGraphicInfoByAVID(
- AVIDType theID,
- PicHandle * theAVPcit,
- Handle * theAVIconSuite,
- AVLocationRec * theAVLocation) THREEWORDINLINE(0x303C, 0x0838, 0xABEB);
-
-
- /*
- * DMGetAVPowerState()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetAVPowerState(
- AVIDType theID,
- AVPowerStatePtr getPowerState,
- unsigned long reserved1) THREEWORDINLINE(0x303C, 0x0839, 0xABEB);
-
-
- /*
- * DMSetAVPowerState()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMSetAVPowerState(
- AVIDType theID,
- AVPowerStatePtr setPowerState,
- unsigned long powerFlags,
- Handle displayState) THREEWORDINLINE(0x303C, 0x083A, 0xABEB);
-
-
- /*
- * DMGetDeviceAVIDByPortAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetDeviceAVIDByPortAVID(
- AVIDType portAVID,
- AVIDType * deviceAVID) THREEWORDINLINE(0x303C, 0x043B, 0xABEB);
-
-
- /*
- * DMGetEnableByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetEnableByAVID(
- AVIDType theAVID,
- Boolean * isAVIDEnabledNow,
- Boolean * canChangeEnableNow) THREEWORDINLINE(0x303C, 0x063C, 0xABEB);
-
-
- /*
- * DMSetEnableByAVID()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMSetEnableByAVID(
- AVIDType theAVID,
- Boolean doEnable,
- Handle displayState) THREEWORDINLINE(0x303C, 0x053D, 0xABEB);
-
-
- /*
- * DMGetDisplayMode()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib68k 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMGetDisplayMode(
- GDHandle theDevice,
- VDSwitchInfoPtr switchInfo) THREEWORDINLINE(0x303C, 0x043E, 0xABEB);
-
-
- /*
- * DMConfirmConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: in DisplayLib 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DMConfirmConfiguration(
- DMModalFilterUPP filterProc,
- UInt32 confirmFlags,
- UInt32 reserved,
- Handle displayState) THREEWORDINLINE(0x303C, 0x083F, 0xABEB);
+/*
+ * DMGetDisplayIDByGDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetDisplayIDByGDevice(
+ GDHandle displayDevice,
+ DisplayIDType * displayID,
+ Boolean failToMain) THREEWORDINLINE(0x303C, 0x051F, 0xABEB);
+
+
+/*
+ * DMGetGDeviceByDisplayID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetGDeviceByDisplayID(
+ DisplayIDType displayID,
+ GDHandle * displayDevice,
+ Boolean failToMain) THREEWORDINLINE(0x303C, 0x0520, 0xABEB);
+
+
+/*
+ * DMSetDisplayComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMSetDisplayComponent(
+ GDHandle theDevice,
+ Component displayComponent) THREEWORDINLINE(0x303C, 0x0421, 0xABEB);
+
+
+/*
+ * DMGetDisplayComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetDisplayComponent(
+ GDHandle theDevice,
+ Component * displayComponent) THREEWORDINLINE(0x303C, 0x0422, 0xABEB);
+
+
+/*
+ * DMNewDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewDisplay(
+ GDHandle * newDevice,
+ short driverRefNum,
+ unsigned long mode,
+ unsigned long reserved,
+ DisplayIDType displayID,
+ Component displayComponent,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x0D23, 0xABEB);
+
+
+/*
+ * DMDisposeDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMDisposeDisplay(
+ GDHandle disposeDevice,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x0424, 0xABEB);
+
+
+/*
+ * DMResolveDisplayComponents()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMResolveDisplayComponents(void) TWOWORDINLINE(0x7025, 0xABEB);
+
+
+/*
+ * DMRegisterExtendedNotifyProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMRegisterExtendedNotifyProc(
+ DMExtendedNotificationUPP notifyProc,
+ void * notifyUserData,
+ unsigned short nofifyOnFlags,
+ DMProcessInfoPtr whichPSN) THREEWORDINLINE(0x303C, 0x07EF, 0xABEB);
+
+
+/*
+ * DMRemoveExtendedNotifyProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMRemoveExtendedNotifyProc(
+ DMExtendedNotificationUPP notifyProc,
+ void * notifyUserData,
+ DMProcessInfoPtr whichPSN,
+ unsigned short removeFlags) THREEWORDINLINE(0x303C, 0x0726, 0xABEB);
+
+
+/*
+ * DMNewAVPanelList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewAVPanelList(
+ DisplayIDType displayID,
+ ResType panelType,
+ DMFidelityType minimumFidelity,
+ unsigned long panelListFlags,
+ unsigned long reserved,
+ DMListIndexType * thePanelCount,
+ DMListType * thePanelList) THREEWORDINLINE(0x303C, 0x0C27, 0xABEB);
+
+
+/*
+ * DMNewAVEngineList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewAVEngineList(
+ DisplayIDType displayID,
+ ResType engineType,
+ DMFidelityType minimumFidelity,
+ unsigned long engineListFlags,
+ unsigned long reserved,
+ DMListIndexType * engineCount,
+ DMListType * engineList) THREEWORDINLINE(0x303C, 0x0C28, 0xABEB);
+
+
+/*
+ * DMNewAVDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewAVDeviceList(
+ ResType deviceType,
+ unsigned long deviceListFlags,
+ unsigned long reserved,
+ DMListIndexType * deviceCount,
+ DMListType * deviceList) THREEWORDINLINE(0x303C, 0x0A29, 0xABEB);
+
+
+/*
+ * DMNewAVPortListByPortType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewAVPortListByPortType(
+ ResType subType,
+ unsigned long portListFlags,
+ unsigned long reserved,
+ DMListIndexType * devicePortCount,
+ DMListType * theDevicePortList) THREEWORDINLINE(0x303C, 0x0A2A, 0xABEB);
+
+
+/*
+ * DMGetIndexedComponentFromList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetIndexedComponentFromList(
+ DMListType panelList,
+ DMListIndexType itemIndex,
+ unsigned long reserved,
+ DMComponentListIteratorUPP listIterator,
+ void * userData) THREEWORDINLINE(0x303C, 0x0A2B, 0xABEB);
+
+
+/*
+ * DMDisposeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMDisposeList(DMListType panelList) THREEWORDINLINE(0x303C, 0x022C, 0xABEB);
+
+
+/*
+ * DMGetNameByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetNameByAVID(
+ AVIDType theID,
+ unsigned long nameFlags,
+ Str255 name) THREEWORDINLINE(0x303C, 0x062D, 0xABEB);
+
+
+/*
+ * DMNewAVIDByPortComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewAVIDByPortComponent(
+ Component thePortComponent,
+ ResType portKind,
+ unsigned long reserved,
+ AVIDType * newID) THREEWORDINLINE(0x303C, 0x082E, 0xABEB);
+
+
+/*
+ * DMGetPortComponentByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetPortComponentByAVID(
+ DisplayIDType thePortID,
+ Component * thePortComponent,
+ ComponentDescription * theDesciption,
+ ResType * thePortKind) THREEWORDINLINE(0x303C, 0x082F, 0xABEB);
+
+
+/*
+ * DMSendDependentNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMSendDependentNotification(
+ ResType notifyType,
+ ResType notifyClass,
+ AVIDType displayID,
+ ComponentInstance notifyComponent) THREEWORDINLINE(0x303C, 0x0830, 0xABEB);
+
+
+/*
+ * DMDisposeAVComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMDisposeAVComponent(Component theAVComponent) THREEWORDINLINE(0x303C, 0x0231, 0xABEB);
+
+
+/*
+ * DMSaveScreenPrefs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMSaveScreenPrefs(
+ unsigned long reserved1,
+ unsigned long saveFlags,
+ unsigned long reserved2) THREEWORDINLINE(0x303C, 0x0632, 0xABEB);
+
+
+/*
+ * DMNewAVIDByDeviceComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewAVIDByDeviceComponent(
+ Component theDeviceComponent,
+ ResType portKind,
+ unsigned long reserved,
+ DisplayIDType * newID) THREEWORDINLINE(0x303C, 0x0833, 0xABEB);
+
+
+/*
+ * DMNewAVPortListByDeviceAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewAVPortListByDeviceAVID(
+ AVIDType theID,
+ DMFidelityType minimumFidelity,
+ unsigned long portListFlags,
+ unsigned long reserved,
+ DMListIndexType * devicePortCount,
+ DMListType * theDevicePortList) THREEWORDINLINE(0x303C, 0x0C34, 0xABEB);
+
+
+/*
+ * DMGetDeviceComponentByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetDeviceComponentByAVID(
+ AVIDType theDeviceID,
+ Component * theDeviceComponent,
+ ComponentDescription * theDesciption,
+ ResType * theDeviceKind) THREEWORDINLINE(0x303C, 0x0835, 0xABEB);
+
+
+/*
+ * DMNewDisplayModeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMNewDisplayModeList(
+ DisplayIDType displayID,
+ unsigned long modeListFlags,
+ unsigned long reserved,
+ DMListIndexType * thePanelCount,
+ DMListType * thePanelList) THREEWORDINLINE(0x303C, 0x0A36, 0xABEB);
+
+
+/*
+ * DMGetIndexedDisplayModeFromList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetIndexedDisplayModeFromList(
+ DMListType panelList,
+ DMListIndexType itemIndex,
+ unsigned long reserved,
+ DMDisplayModeListIteratorUPP listIterator,
+ void * userData) THREEWORDINLINE(0x303C, 0x0A37, 0xABEB);
+
+
+/*
+ * DMGetGraphicInfoByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetGraphicInfoByAVID(
+ AVIDType theID,
+ PicHandle * theAVPcit,
+ Handle * theAVIconSuite,
+ AVLocationRec * theAVLocation) THREEWORDINLINE(0x303C, 0x0838, 0xABEB);
+
+
+/*
+ * DMGetAVPowerState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetAVPowerState(
+ AVIDType theID,
+ AVPowerStatePtr getPowerState,
+ unsigned long reserved1) THREEWORDINLINE(0x303C, 0x0839, 0xABEB);
+
+
+/*
+ * DMSetAVPowerState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMSetAVPowerState(
+ AVIDType theID,
+ AVPowerStatePtr setPowerState,
+ unsigned long powerFlags,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x083A, 0xABEB);
+
+
+/*
+ * DMGetDeviceAVIDByPortAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetDeviceAVIDByPortAVID(
+ AVIDType portAVID,
+ AVIDType * deviceAVID) THREEWORDINLINE(0x303C, 0x043B, 0xABEB);
+
+
+/*
+ * DMGetEnableByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetEnableByAVID(
+ AVIDType theAVID,
+ Boolean * isAVIDEnabledNow,
+ Boolean * canChangeEnableNow) THREEWORDINLINE(0x303C, 0x063C, 0xABEB);
+
+
+/*
+ * DMSetEnableByAVID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMSetEnableByAVID(
+ AVIDType theAVID,
+ Boolean doEnable,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x053D, 0xABEB);
+
+
+/*
+ * DMGetDisplayMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib68k 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMGetDisplayMode(
+ GDHandle theDevice,
+ VDSwitchInfoPtr switchInfo) THREEWORDINLINE(0x303C, 0x043E, 0xABEB);
+
+
+/*
+ * DMConfirmConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DisplayLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DMConfirmConfiguration(
+ DMModalFilterUPP filterProc,
+ UInt32 confirmFlags,
+ UInt32 reserved,
+ Handle displayState) THREEWORDINLINE(0x303C, 0x083F, 0xABEB);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Drag.h b/include/qt/Drag.h
index 4131d97e3..353a360ab 100644
--- a/include/qt/Drag.h
+++ b/include/qt/Drag.h
@@ -1,17 +1,17 @@
/*
File: Drag.h
-
+
Contains: Drag and Drop Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DRAG__
#define __DRAG__
@@ -52,1739 +52,1672 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- * HIPoint
- *
- * Discussion:
- * HIPoint is a new, floating point-based type to help express
- * coordinates in a much richer fashion than the classic QuickDraw
- * points. It will, in time, be more heavily used throughout the
- * Toolbox. For now, it is replacing our use of typeQDPoint in mouse
- * events. This is to better support sub-pixel tablet coordinates.
- * If you ask for a mouse location with typeQDPoint, and the point
- * is actually stored as typeHIPoint, it will automatically be
- * coerced to typeQDPoint for you, so this change should be largely
- * transparent to applications. HIPoints are in screen space, i.e.
- * the top left of the screen is 0, 0.
- */
- typedef CGPoint HIPoint;
-
- /*
- * HISize
- *
- * Discussion:
- * HISize is a floating point-based type to help express dimensions
- * in a much richer fashion than the classic QuickDraw coordinates.
- */
- typedef CGSize HISize;
-
- /*
- * HIRect
- *
- * Discussion:
- * HIRect is a new, floating point-based type to help express
- * rectangles in a much richer fashion than the classic QuickDraw
- * rects. It will, in time, be more heavily used throughout the
- * Toolbox. HIRects are in screen space, i.e. the top left of the
- * screen is 0, 0.
- */
- typedef CGRect HIRect;
- /*
- _________________________________________________________________________________________________________
-
- o DRAG MANAGER DATA TYPES
- _________________________________________________________________________________________________________
- */
- typedef struct OpaqueDragRef* DragRef;
- typedef UInt32 DragItemRef;
- typedef OSType FlavorType;
- /*
- _________________________________________________________________________________________________________
-
- o DRAG ATTRIBUTES
- _________________________________________________________________________________________________________
- */
- typedef UInt32 DragAttributes;
- enum
- {
- kDragHasLeftSenderWindow = (1L << 0), /* drag has left the source window since TrackDrag*/
- kDragInsideSenderApplication = (1L << 1), /* drag is occurring within the sender application*/
- kDragInsideSenderWindow = (1L << 2) /* drag is occurring within the sender window*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o DRAG BEHAVIORS
- _________________________________________________________________________________________________________
- */
- typedef UInt32 DragBehaviors;
- enum
- {
- kDragBehaviorNone = 0,
- kDragBehaviorZoomBackAnimation = (1L << 0) /* do zoomback animation for failed drags (normally enabled).*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o DRAG IMAGE FLAGS
- _________________________________________________________________________________________________________
- */
- typedef UInt32 DragImageFlags;
- enum
- {
- kDragRegionAndImage = (1L << 4) /* drag region and image*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o DRAG IMAGE TRANSLUCENCY LEVELS
- _________________________________________________________________________________________________________
- */
-
- enum
- {
- kDragStandardTranslucency = 0L, /* 65% image translucency (standard)*/
- kDragDarkTranslucency = 1L, /* 50% image translucency*/
- kDragDarkerTranslucency = 2L, /* 25% image translucency*/
- kDragOpaqueTranslucency = 3L /* 0% image translucency (opaque)*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o DRAG DRAWING PROCEDURE MESSAGES
- _________________________________________________________________________________________________________
- */
-
- typedef SInt16 DragRegionMessage;
- enum
- {
- kDragRegionBegin = 1, /* initialize drawing*/
- kDragRegionDraw = 2, /* draw drag feedback*/
- kDragRegionHide = 3, /* hide drag feedback*/
- kDragRegionIdle = 4, /* drag feedback idle time*/
- kDragRegionEnd = 5 /* end of drawing*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o ZOOM ACCELERATION
- _________________________________________________________________________________________________________
- */
-
- typedef SInt16 ZoomAcceleration;
- enum
- {
- kZoomNoAcceleration = 0, /* use linear interpolation*/
- kZoomAccelerate = 1, /* ramp up step size*/
- kZoomDecelerate = 2 /* ramp down step size*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o FLAVOR FLAGS
- _________________________________________________________________________________________________________
- */
-
- typedef UInt32 FlavorFlags;
- enum
- {
- flavorSenderOnly = (1 << 0), /* flavor is available to sender only*/
- flavorSenderTranslated = (1 << 1), /* flavor is translated by sender*/
- flavorNotSaved = (1 << 2), /* flavor should not be saved*/
- flavorSystemTranslated = (1 << 8), /* flavor is translated by system*/
- flavorDataPromised = (1 << 9) /* flavor data is promised by sender*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o FILE SYSTEM CONSTANTS
- _________________________________________________________________________________________________________
- */
-
- enum
- {
- kDragFlavorTypeHFS = FOUR_CHAR_CODE('hfs '), /* flavor type for HFS data*/
- kDragFlavorTypePromiseHFS = FOUR_CHAR_CODE('phfs'), /* flavor type for promised HFS data*/
- flavorTypeHFS = kDragFlavorTypeHFS, /* old name*/
- flavorTypePromiseHFS = kDragFlavorTypePromiseHFS /* old name*/
- };
-
- enum
- {
- kDragPromisedFlavorFindFile = FOUR_CHAR_CODE('rWm1'), /* promisedFlavor value for Find File*/
- kDragPromisedFlavor = FOUR_CHAR_CODE('fssP') /* promisedFlavor value for everything else*/
- };
-
- enum
- {
- kDragPseudoCreatorVolumeOrDirectory = FOUR_CHAR_CODE('MACS'), /* "creator code" for volume or directory*/
- kDragPseudoFileTypeVolume = FOUR_CHAR_CODE('disk'), /* "file type" for volume*/
- kDragPseudoFileTypeDirectory = FOUR_CHAR_CODE('fold') /* "file type" for directory*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o SPECIAL FLAVORS
- _________________________________________________________________________________________________________
- */
-
- enum
- {
- flavorTypeDirectory = FOUR_CHAR_CODE('diry') /* flavor type for AOCE directories*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o FLAVORS FOR FINDER 8.0 AND LATER
- _________________________________________________________________________________________________________
- */
-
- enum
- {
- kFlavorTypeClippingName = FOUR_CHAR_CODE('clnm'), /* name hint for clipping file (preferred over 'clfn')*/
- kFlavorTypeClippingFilename = FOUR_CHAR_CODE('clfn'), /* name for clipping file*/
- kFlavorTypeUnicodeClippingName = FOUR_CHAR_CODE('ucln'), /* unicode name hint for clipping file (preferred over 'uclf')*/
- kFlavorTypeUnicodeClippingFilename = FOUR_CHAR_CODE('uclf'), /* unicode name for clipping file*/
- kFlavorTypeDragToTrashOnly = FOUR_CHAR_CODE('fdtt'), /* for apps that want to allow dragging private data to the trash*/
- kFlavorTypeFinderNoTrackingBehavior = FOUR_CHAR_CODE('fntb') /* Finder completely ignores any drag containing this flavor*/
- };
-
- /*
- _________________________________________________________________________________________________________
-
- o DRAG TRACKING HANDLER MESSAGES
- _________________________________________________________________________________________________________
- */
-
- typedef SInt16 DragTrackingMessage;
- enum
- {
- kDragTrackingEnterHandler = 1, /* drag has entered handler*/
- kDragTrackingEnterWindow = 2, /* drag has entered window*/
- kDragTrackingInWindow = 3, /* drag is moving within window*/
- kDragTrackingLeaveWindow = 4, /* drag has exited window*/
- kDragTrackingLeaveHandler = 5 /* drag has exited handler*/
- };
-
- /*
- ---------------------------------------------------------------------------------------------------------
- o STANDARD DROP LOCATIONS
- ---------------------------------------------------------------------------------------------------------
- */
-
-
- /*
- * Summary:
- * Standard Drop Location constants
- *
- * Discussion:
- * The following constants define common "meta" drop locations.
- */
- enum
- {
-
- /*
- * The drop location was in the trash. This is set when a drag is
- * dropped on the trash icon. Setting this standard drop location
- * sets the traditional drop location to an alias to the trash folder
- * automatically.
- */
- kDragStandardDropLocationTrash = FOUR_CHAR_CODE('trsh'),
-
- /*
- * The receiver did not specify a drop lcoation. This is the default.
- */
- kDragStandardDropLocationUnknown = FOUR_CHAR_CODE('unkn')
- };
-
- typedef OSType StandardDropLocation;
- /*
- _________________________________________________________________________________________________________
-
- o DRAG ACTIONS
- _________________________________________________________________________________________________________
- */
-
- /*
- * Summary:
- * Drag Action constants
- *
- * Discussion:
- * The following constants define, in a general way, what actions a
- * drag should or has performed. Some drag actions enforce a mode
- * of operation while others are flexible suggestions. These
- * constants are used in conjunction with the
- * Get/SetDragAllowableActions() and Get/SetDragDropAction() APIs.
- * Adopting the Drag Action APIs increases compatability with the
- * Cocoa drag operation model.
- */
- enum
- {
-
- /*
- * Suggests nothing should be/was done with the data in a drag. When
- * set as an allowable action for remote drags, the drag will not be
- * sent to apps other than the sender.
- */
- kDragActionNothing = 0L,
-
- /*
- * Suggests the data contained within the drag can be/was copied.
- */
- kDragActionCopy = 1L,
-
- /*
- * Suggests the data contained within the drag can be/is shared.
- */
- kDragActionAlias = (1L << 1),
-
- /*
- * Suggests the drag action is can be defined by the drag destination
- * or was not defined by the drag destination.
- */
- kDragActionGeneric = (1L << 2),
-
- /*
- * Suggests the drag action should be negotiated privately between
- * the drag source and destination.
- */
- kDragActionPrivate = (1L << 3),
-
- /*
- * Description forthcoming.
- */
- kDragActionMove = (1L << 4),
-
- /*
- * Description forthcoming.
- */
- kDragActionDelete = (1L << 5),
-
- /*
- * All of the above drag actions are allowed.
- */
- kDragActionAll = (long)0xFFFFFFFF
- };
-
- typedef UInt32 DragActions;
- /*
- _________________________________________________________________________________________________________
-
- o HFS FLAVORS
- _________________________________________________________________________________________________________
- */
- struct HFSFlavor
- {
- OSType fileType; /* file type */
- OSType fileCreator; /* file creator */
- UInt16 fdFlags; /* Finder flags */
- FSSpec fileSpec; /* file system specification */
- };
- typedef struct HFSFlavor HFSFlavor;
- struct PromiseHFSFlavor
- {
- OSType fileType; /* file type */
- OSType fileCreator; /* file creator */
- UInt16 fdFlags; /* Finder flags */
- FlavorType promisedFlavor; /* promised flavor containing an FSSpec */
- };
- typedef struct PromiseHFSFlavor PromiseHFSFlavor;
- /*
- _________________________________________________________________________________________________________
-
- o APPLICATION-DEFINED DRAG HANDLER ROUTINES
- _________________________________________________________________________________________________________
- */
- typedef CALLBACK_API(OSErr , DragTrackingHandlerProcPtr)(DragTrackingMessage message, WindowRef theWindow, void *handlerRefCon, DragRef theDrag);
- typedef CALLBACK_API(OSErr , DragReceiveHandlerProcPtr)(WindowRef theWindow, void *handlerRefCon, DragRef theDrag);
- typedef STACK_UPP_TYPE(DragTrackingHandlerProcPtr) DragTrackingHandlerUPP;
- typedef STACK_UPP_TYPE(DragReceiveHandlerProcPtr) DragReceiveHandlerUPP;
- /*
- * NewDragTrackingHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DragTrackingHandlerUPP)
- NewDragTrackingHandlerUPP(DragTrackingHandlerProcPtr userRoutine);
+/*
+ * HIPoint
+ *
+ * Discussion:
+ * HIPoint is a new, floating point-based type to help express
+ * coordinates in a much richer fashion than the classic QuickDraw
+ * points. It will, in time, be more heavily used throughout the
+ * Toolbox. For now, it is replacing our use of typeQDPoint in mouse
+ * events. This is to better support sub-pixel tablet coordinates.
+ * If you ask for a mouse location with typeQDPoint, and the point
+ * is actually stored as typeHIPoint, it will automatically be
+ * coerced to typeQDPoint for you, so this change should be largely
+ * transparent to applications. HIPoints are in screen space, i.e.
+ * the top left of the screen is 0, 0.
+ */
+typedef CGPoint HIPoint;
+
+/*
+ * HISize
+ *
+ * Discussion:
+ * HISize is a floating point-based type to help express dimensions
+ * in a much richer fashion than the classic QuickDraw coordinates.
+ */
+typedef CGSize HISize;
+
+/*
+ * HIRect
+ *
+ * Discussion:
+ * HIRect is a new, floating point-based type to help express
+ * rectangles in a much richer fashion than the classic QuickDraw
+ * rects. It will, in time, be more heavily used throughout the
+ * Toolbox. HIRects are in screen space, i.e. the top left of the
+ * screen is 0, 0.
+ */
+typedef CGRect HIRect;
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG MANAGER DATA TYPES
+ _________________________________________________________________________________________________________
+*/
+typedef struct OpaqueDragRef* DragRef;
+typedef UInt32 DragItemRef;
+typedef OSType FlavorType;
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG ATTRIBUTES
+ _________________________________________________________________________________________________________
+*/
+typedef UInt32 DragAttributes;
+enum {
+ kDragHasLeftSenderWindow = (1L << 0), /* drag has left the source window since TrackDrag*/
+ kDragInsideSenderApplication = (1L << 1), /* drag is occurring within the sender application*/
+ kDragInsideSenderWindow = (1L << 2) /* drag is occurring within the sender window*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG BEHAVIORS
+ _________________________________________________________________________________________________________
+*/
+typedef UInt32 DragBehaviors;
+enum {
+ kDragBehaviorNone = 0,
+ kDragBehaviorZoomBackAnimation = (1L << 0) /* do zoomback animation for failed drags (normally enabled).*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG IMAGE FLAGS
+ _________________________________________________________________________________________________________
+*/
+typedef UInt32 DragImageFlags;
+enum {
+ kDragRegionAndImage = (1L << 4) /* drag region and image*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG IMAGE TRANSLUCENCY LEVELS
+ _________________________________________________________________________________________________________
+*/
+
+enum {
+ kDragStandardTranslucency = 0L, /* 65% image translucency (standard)*/
+ kDragDarkTranslucency = 1L, /* 50% image translucency*/
+ kDragDarkerTranslucency = 2L, /* 25% image translucency*/
+ kDragOpaqueTranslucency = 3L /* 0% image translucency (opaque)*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG DRAWING PROCEDURE MESSAGES
+ _________________________________________________________________________________________________________
+*/
+
+typedef SInt16 DragRegionMessage;
+enum {
+ kDragRegionBegin = 1, /* initialize drawing*/
+ kDragRegionDraw = 2, /* draw drag feedback*/
+ kDragRegionHide = 3, /* hide drag feedback*/
+ kDragRegionIdle = 4, /* drag feedback idle time*/
+ kDragRegionEnd = 5 /* end of drawing*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o ZOOM ACCELERATION
+ _________________________________________________________________________________________________________
+*/
+
+typedef SInt16 ZoomAcceleration;
+enum {
+ kZoomNoAcceleration = 0, /* use linear interpolation*/
+ kZoomAccelerate = 1, /* ramp up step size*/
+ kZoomDecelerate = 2 /* ramp down step size*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o FLAVOR FLAGS
+ _________________________________________________________________________________________________________
+*/
+
+typedef UInt32 FlavorFlags;
+enum {
+ flavorSenderOnly = (1 << 0), /* flavor is available to sender only*/
+ flavorSenderTranslated = (1 << 1), /* flavor is translated by sender*/
+ flavorNotSaved = (1 << 2), /* flavor should not be saved*/
+ flavorSystemTranslated = (1 << 8), /* flavor is translated by system*/
+ flavorDataPromised = (1 << 9) /* flavor data is promised by sender*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o FILE SYSTEM CONSTANTS
+ _________________________________________________________________________________________________________
+*/
+
+enum {
+ kDragFlavorTypeHFS = FOUR_CHAR_CODE('hfs '), /* flavor type for HFS data*/
+ kDragFlavorTypePromiseHFS = FOUR_CHAR_CODE('phfs'), /* flavor type for promised HFS data*/
+ flavorTypeHFS = kDragFlavorTypeHFS, /* old name*/
+ flavorTypePromiseHFS = kDragFlavorTypePromiseHFS /* old name*/
+};
+
+enum {
+ kDragPromisedFlavorFindFile = FOUR_CHAR_CODE('rWm1'), /* promisedFlavor value for Find File*/
+ kDragPromisedFlavor = FOUR_CHAR_CODE('fssP') /* promisedFlavor value for everything else*/
+};
+
+enum {
+ kDragPseudoCreatorVolumeOrDirectory = FOUR_CHAR_CODE('MACS'), /* "creator code" for volume or directory*/
+ kDragPseudoFileTypeVolume = FOUR_CHAR_CODE('disk'), /* "file type" for volume*/
+ kDragPseudoFileTypeDirectory = FOUR_CHAR_CODE('fold') /* "file type" for directory*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o SPECIAL FLAVORS
+ _________________________________________________________________________________________________________
+*/
+
+enum {
+ flavorTypeDirectory = FOUR_CHAR_CODE('diry') /* flavor type for AOCE directories*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o FLAVORS FOR FINDER 8.0 AND LATER
+ _________________________________________________________________________________________________________
+*/
+
+enum {
+ kFlavorTypeClippingName = FOUR_CHAR_CODE('clnm'), /* name hint for clipping file (preferred over 'clfn')*/
+ kFlavorTypeClippingFilename = FOUR_CHAR_CODE('clfn'), /* name for clipping file*/
+ kFlavorTypeUnicodeClippingName = FOUR_CHAR_CODE('ucln'), /* unicode name hint for clipping file (preferred over 'uclf')*/
+ kFlavorTypeUnicodeClippingFilename = FOUR_CHAR_CODE('uclf'), /* unicode name for clipping file*/
+ kFlavorTypeDragToTrashOnly = FOUR_CHAR_CODE('fdtt'), /* for apps that want to allow dragging private data to the trash*/
+ kFlavorTypeFinderNoTrackingBehavior = FOUR_CHAR_CODE('fntb') /* Finder completely ignores any drag containing this flavor*/
+};
+
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG TRACKING HANDLER MESSAGES
+ _________________________________________________________________________________________________________
+*/
+
+typedef SInt16 DragTrackingMessage;
+enum {
+ kDragTrackingEnterHandler = 1, /* drag has entered handler*/
+ kDragTrackingEnterWindow = 2, /* drag has entered window*/
+ kDragTrackingInWindow = 3, /* drag is moving within window*/
+ kDragTrackingLeaveWindow = 4, /* drag has exited window*/
+ kDragTrackingLeaveHandler = 5 /* drag has exited handler*/
+};
+
+/*
+ ---------------------------------------------------------------------------------------------------------
+ o STANDARD DROP LOCATIONS
+ ---------------------------------------------------------------------------------------------------------
+*/
+
+
+/*
+ * Summary:
+ * Standard Drop Location constants
+ *
+ * Discussion:
+ * The following constants define common "meta" drop locations.
+ */
+enum {
+
+ /*
+ * The drop location was in the trash. This is set when a drag is
+ * dropped on the trash icon. Setting this standard drop location
+ * sets the traditional drop location to an alias to the trash folder
+ * automatically.
+ */
+ kDragStandardDropLocationTrash = FOUR_CHAR_CODE('trsh'),
+
+ /*
+ * The receiver did not specify a drop lcoation. This is the default.
+ */
+ kDragStandardDropLocationUnknown = FOUR_CHAR_CODE('unkn')
+};
+
+typedef OSType StandardDropLocation;
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG ACTIONS
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * Summary:
+ * Drag Action constants
+ *
+ * Discussion:
+ * The following constants define, in a general way, what actions a
+ * drag should or has performed. Some drag actions enforce a mode
+ * of operation while others are flexible suggestions. These
+ * constants are used in conjunction with the
+ * Get/SetDragAllowableActions() and Get/SetDragDropAction() APIs.
+ * Adopting the Drag Action APIs increases compatability with the
+ * Cocoa drag operation model.
+ */
+enum {
+
+ /*
+ * Suggests nothing should be/was done with the data in a drag. When
+ * set as an allowable action for remote drags, the drag will not be
+ * sent to apps other than the sender.
+ */
+ kDragActionNothing = 0L,
+
+ /*
+ * Suggests the data contained within the drag can be/was copied.
+ */
+ kDragActionCopy = 1L,
+
+ /*
+ * Suggests the data contained within the drag can be/is shared.
+ */
+ kDragActionAlias = (1L << 1),
+
+ /*
+ * Suggests the drag action is can be defined by the drag destination
+ * or was not defined by the drag destination.
+ */
+ kDragActionGeneric = (1L << 2),
+
+ /*
+ * Suggests the drag action should be negotiated privately between
+ * the drag source and destination.
+ */
+ kDragActionPrivate = (1L << 3),
+
+ /*
+ * Description forthcoming.
+ */
+ kDragActionMove = (1L << 4),
+
+ /*
+ * Description forthcoming.
+ */
+ kDragActionDelete = (1L << 5),
+
+ /*
+ * All of the above drag actions are allowed.
+ */
+ kDragActionAll = (long)0xFFFFFFFF
+};
+
+typedef UInt32 DragActions;
+/*
+ _________________________________________________________________________________________________________
+
+ o HFS FLAVORS
+ _________________________________________________________________________________________________________
+*/
+struct HFSFlavor {
+ OSType fileType; /* file type */
+ OSType fileCreator; /* file creator */
+ UInt16 fdFlags; /* Finder flags */
+ FSSpec fileSpec; /* file system specification */
+};
+typedef struct HFSFlavor HFSFlavor;
+struct PromiseHFSFlavor {
+ OSType fileType; /* file type */
+ OSType fileCreator; /* file creator */
+ UInt16 fdFlags; /* Finder flags */
+ FlavorType promisedFlavor; /* promised flavor containing an FSSpec */
+};
+typedef struct PromiseHFSFlavor PromiseHFSFlavor;
+/*
+ _________________________________________________________________________________________________________
+
+ o APPLICATION-DEFINED DRAG HANDLER ROUTINES
+ _________________________________________________________________________________________________________
+*/
+typedef CALLBACK_API( OSErr , DragTrackingHandlerProcPtr )(DragTrackingMessage message, WindowRef theWindow, void *handlerRefCon, DragRef theDrag);
+typedef CALLBACK_API( OSErr , DragReceiveHandlerProcPtr )(WindowRef theWindow, void *handlerRefCon, DragRef theDrag);
+typedef STACK_UPP_TYPE(DragTrackingHandlerProcPtr) DragTrackingHandlerUPP;
+typedef STACK_UPP_TYPE(DragReceiveHandlerProcPtr) DragReceiveHandlerUPP;
+/*
+ * NewDragTrackingHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DragTrackingHandlerUPP )
+NewDragTrackingHandlerUPP(DragTrackingHandlerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDragTrackingHandlerProcInfo = 0x00003FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DragTrackingHandlerUPP) NewDragTrackingHandlerUPP(DragTrackingHandlerProcPtr userRoutine)
- {
- return (DragTrackingHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragTrackingHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDragTrackingHandlerUPP(userRoutine) (DragTrackingHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragTrackingHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDragTrackingHandlerProcInfo = 0x00003FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DragTrackingHandlerUPP) NewDragTrackingHandlerUPP(DragTrackingHandlerProcPtr userRoutine) { return (DragTrackingHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragTrackingHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDragTrackingHandlerUPP(userRoutine) (DragTrackingHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragTrackingHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDragReceiveHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DragReceiveHandlerUPP)
- NewDragReceiveHandlerUPP(DragReceiveHandlerProcPtr userRoutine);
+/*
+ * NewDragReceiveHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DragReceiveHandlerUPP )
+NewDragReceiveHandlerUPP(DragReceiveHandlerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDragReceiveHandlerProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DragReceiveHandlerUPP) NewDragReceiveHandlerUPP(DragReceiveHandlerProcPtr userRoutine)
- {
- return (DragReceiveHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragReceiveHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDragReceiveHandlerUPP(userRoutine) (DragReceiveHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragReceiveHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDragReceiveHandlerProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DragReceiveHandlerUPP) NewDragReceiveHandlerUPP(DragReceiveHandlerProcPtr userRoutine) { return (DragReceiveHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragReceiveHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDragReceiveHandlerUPP(userRoutine) (DragReceiveHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragReceiveHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDragTrackingHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDragTrackingHandlerUPP(DragTrackingHandlerUPP userUPP);
+/*
+ * DisposeDragTrackingHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDragTrackingHandlerUPP(DragTrackingHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDragTrackingHandlerUPP(DragTrackingHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDragTrackingHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDragTrackingHandlerUPP(DragTrackingHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDragTrackingHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDragReceiveHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDragReceiveHandlerUPP(DragReceiveHandlerUPP userUPP);
+/*
+ * DisposeDragReceiveHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDragReceiveHandlerUPP(DragReceiveHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDragReceiveHandlerUPP(DragReceiveHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDragReceiveHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDragReceiveHandlerUPP(DragReceiveHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDragReceiveHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDragTrackingHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeDragTrackingHandlerUPP(
- DragTrackingMessage message,
- WindowRef theWindow,
- void * handlerRefCon,
- DragRef theDrag,
- DragTrackingHandlerUPP userUPP);
+/*
+ * InvokeDragTrackingHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeDragTrackingHandlerUPP(
+ DragTrackingMessage message,
+ WindowRef theWindow,
+ void * handlerRefCon,
+ DragRef theDrag,
+ DragTrackingHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeDragTrackingHandlerUPP(DragTrackingMessage message, WindowRef theWindow, void * handlerRefCon, DragRef theDrag, DragTrackingHandlerUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDragTrackingHandlerProcInfo, message, theWindow, handlerRefCon, theDrag);
- }
-#else
-#define InvokeDragTrackingHandlerUPP(message, theWindow, handlerRefCon, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragTrackingHandlerProcInfo, (message), (theWindow), (handlerRefCon), (theDrag))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeDragTrackingHandlerUPP(DragTrackingMessage message, WindowRef theWindow, void * handlerRefCon, DragRef theDrag, DragTrackingHandlerUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDragTrackingHandlerProcInfo, message, theWindow, handlerRefCon, theDrag); }
+ #else
+ #define InvokeDragTrackingHandlerUPP(message, theWindow, handlerRefCon, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragTrackingHandlerProcInfo, (message), (theWindow), (handlerRefCon), (theDrag))
+ #endif
#endif
- /*
- * InvokeDragReceiveHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeDragReceiveHandlerUPP(
- WindowRef theWindow,
- void * handlerRefCon,
- DragRef theDrag,
- DragReceiveHandlerUPP userUPP);
+/*
+ * InvokeDragReceiveHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeDragReceiveHandlerUPP(
+ WindowRef theWindow,
+ void * handlerRefCon,
+ DragRef theDrag,
+ DragReceiveHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeDragReceiveHandlerUPP(WindowRef theWindow, void * handlerRefCon, DragRef theDrag, DragReceiveHandlerUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppDragReceiveHandlerProcInfo, theWindow, handlerRefCon, theDrag);
- }
-#else
-#define InvokeDragReceiveHandlerUPP(theWindow, handlerRefCon, theDrag, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppDragReceiveHandlerProcInfo, (theWindow), (handlerRefCon), (theDrag))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeDragReceiveHandlerUPP(WindowRef theWindow, void * handlerRefCon, DragRef theDrag, DragReceiveHandlerUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppDragReceiveHandlerProcInfo, theWindow, handlerRefCon, theDrag); }
+ #else
+ #define InvokeDragReceiveHandlerUPP(theWindow, handlerRefCon, theDrag, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppDragReceiveHandlerProcInfo, (theWindow), (handlerRefCon), (theDrag))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDragTrackingHandlerProc(userRoutine) NewDragTrackingHandlerUPP(userRoutine)
-#define NewDragReceiveHandlerProc(userRoutine) NewDragReceiveHandlerUPP(userRoutine)
-#define CallDragTrackingHandlerProc(userRoutine, message, theWindow, handlerRefCon, theDrag) InvokeDragTrackingHandlerUPP(message, theWindow, handlerRefCon, theDrag, userRoutine)
-#define CallDragReceiveHandlerProc(userRoutine, theWindow, handlerRefCon, theDrag) InvokeDragReceiveHandlerUPP(theWindow, handlerRefCon, theDrag, userRoutine)
+ #define NewDragTrackingHandlerProc(userRoutine) NewDragTrackingHandlerUPP(userRoutine)
+ #define NewDragReceiveHandlerProc(userRoutine) NewDragReceiveHandlerUPP(userRoutine)
+ #define CallDragTrackingHandlerProc(userRoutine, message, theWindow, handlerRefCon, theDrag) InvokeDragTrackingHandlerUPP(message, theWindow, handlerRefCon, theDrag, userRoutine)
+ #define CallDragReceiveHandlerProc(userRoutine, theWindow, handlerRefCon, theDrag) InvokeDragReceiveHandlerUPP(theWindow, handlerRefCon, theDrag, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- _________________________________________________________________________________________________________
-
- o APPLICATION-DEFINED ROUTINES
- _________________________________________________________________________________________________________
- */
- typedef CALLBACK_API(OSErr , DragSendDataProcPtr)(FlavorType theType, void *dragSendRefCon, DragItemRef theItemRef, DragRef theDrag);
- typedef CALLBACK_API(OSErr , DragInputProcPtr)(Point *mouse, SInt16 *modifiers, void *dragInputRefCon, DragRef theDrag);
- typedef CALLBACK_API(OSErr , DragDrawingProcPtr)(DragRegionMessage message, RgnHandle showRegion, Point showOrigin, RgnHandle hideRegion, Point hideOrigin, void *dragDrawingRefCon, DragRef theDrag);
- typedef STACK_UPP_TYPE(DragSendDataProcPtr) DragSendDataUPP;
- typedef STACK_UPP_TYPE(DragInputProcPtr) DragInputUPP;
- typedef STACK_UPP_TYPE(DragDrawingProcPtr) DragDrawingUPP;
- /*
- * NewDragSendDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DragSendDataUPP)
- NewDragSendDataUPP(DragSendDataProcPtr userRoutine);
+/*
+ _________________________________________________________________________________________________________
+
+ o APPLICATION-DEFINED ROUTINES
+ _________________________________________________________________________________________________________
+*/
+typedef CALLBACK_API( OSErr , DragSendDataProcPtr )(FlavorType theType, void *dragSendRefCon, DragItemRef theItemRef, DragRef theDrag);
+typedef CALLBACK_API( OSErr , DragInputProcPtr )(Point *mouse, SInt16 *modifiers, void *dragInputRefCon, DragRef theDrag);
+typedef CALLBACK_API( OSErr , DragDrawingProcPtr )(DragRegionMessage message, RgnHandle showRegion, Point showOrigin, RgnHandle hideRegion, Point hideOrigin, void *dragDrawingRefCon, DragRef theDrag);
+typedef STACK_UPP_TYPE(DragSendDataProcPtr) DragSendDataUPP;
+typedef STACK_UPP_TYPE(DragInputProcPtr) DragInputUPP;
+typedef STACK_UPP_TYPE(DragDrawingProcPtr) DragDrawingUPP;
+/*
+ * NewDragSendDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DragSendDataUPP )
+NewDragSendDataUPP(DragSendDataProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDragSendDataProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DragSendDataUPP) NewDragSendDataUPP(DragSendDataProcPtr userRoutine)
- {
- return (DragSendDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragSendDataProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDragSendDataUPP(userRoutine) (DragSendDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragSendDataProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDragSendDataProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DragSendDataUPP) NewDragSendDataUPP(DragSendDataProcPtr userRoutine) { return (DragSendDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragSendDataProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDragSendDataUPP(userRoutine) (DragSendDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragSendDataProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDragInputUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DragInputUPP)
- NewDragInputUPP(DragInputProcPtr userRoutine);
+/*
+ * NewDragInputUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DragInputUPP )
+NewDragInputUPP(DragInputProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDragInputProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DragInputUPP) NewDragInputUPP(DragInputProcPtr userRoutine)
- {
- return (DragInputUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragInputProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDragInputUPP(userRoutine) (DragInputUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragInputProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDragInputProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DragInputUPP) NewDragInputUPP(DragInputProcPtr userRoutine) { return (DragInputUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragInputProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDragInputUPP(userRoutine) (DragInputUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragInputProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDragDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DragDrawingUPP)
- NewDragDrawingUPP(DragDrawingProcPtr userRoutine);
+/*
+ * NewDragDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DragDrawingUPP )
+NewDragDrawingUPP(DragDrawingProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDragDrawingProcInfo = 0x000FFFA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DragDrawingUPP) NewDragDrawingUPP(DragDrawingProcPtr userRoutine)
- {
- return (DragDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragDrawingProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDragDrawingUPP(userRoutine) (DragDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragDrawingProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDragDrawingProcInfo = 0x000FFFA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DragDrawingUPP) NewDragDrawingUPP(DragDrawingProcPtr userRoutine) { return (DragDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragDrawingProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDragDrawingUPP(userRoutine) (DragDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragDrawingProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDragSendDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDragSendDataUPP(DragSendDataUPP userUPP);
+/*
+ * DisposeDragSendDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDragSendDataUPP(DragSendDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDragSendDataUPP(DragSendDataUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDragSendDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDragSendDataUPP(DragSendDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDragSendDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDragInputUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDragInputUPP(DragInputUPP userUPP);
+/*
+ * DisposeDragInputUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDragInputUPP(DragInputUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDragInputUPP(DragInputUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDragInputUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDragInputUPP(DragInputUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDragInputUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDragDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDragDrawingUPP(DragDrawingUPP userUPP);
+/*
+ * DisposeDragDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDragDrawingUPP(DragDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDragDrawingUPP(DragDrawingUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDragDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDragDrawingUPP(DragDrawingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDragDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDragSendDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeDragSendDataUPP(
- FlavorType theType,
- void * dragSendRefCon,
- DragItemRef theItemRef,
- DragRef theDrag,
- DragSendDataUPP userUPP);
+/*
+ * InvokeDragSendDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeDragSendDataUPP(
+ FlavorType theType,
+ void * dragSendRefCon,
+ DragItemRef theItemRef,
+ DragRef theDrag,
+ DragSendDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeDragSendDataUPP(FlavorType theType, void * dragSendRefCon, DragItemRef theItemRef, DragRef theDrag, DragSendDataUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDragSendDataProcInfo, theType, dragSendRefCon, theItemRef, theDrag);
- }
-#else
-#define InvokeDragSendDataUPP(theType, dragSendRefCon, theItemRef, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragSendDataProcInfo, (theType), (dragSendRefCon), (theItemRef), (theDrag))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeDragSendDataUPP(FlavorType theType, void * dragSendRefCon, DragItemRef theItemRef, DragRef theDrag, DragSendDataUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDragSendDataProcInfo, theType, dragSendRefCon, theItemRef, theDrag); }
+ #else
+ #define InvokeDragSendDataUPP(theType, dragSendRefCon, theItemRef, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragSendDataProcInfo, (theType), (dragSendRefCon), (theItemRef), (theDrag))
+ #endif
#endif
- /*
- * InvokeDragInputUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeDragInputUPP(
- Point * mouse,
- SInt16 * modifiers,
- void * dragInputRefCon,
- DragRef theDrag,
- DragInputUPP userUPP);
+/*
+ * InvokeDragInputUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeDragInputUPP(
+ Point * mouse,
+ SInt16 * modifiers,
+ void * dragInputRefCon,
+ DragRef theDrag,
+ DragInputUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeDragInputUPP(Point * mouse, SInt16 * modifiers, void * dragInputRefCon, DragRef theDrag, DragInputUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDragInputProcInfo, mouse, modifiers, dragInputRefCon, theDrag);
- }
-#else
-#define InvokeDragInputUPP(mouse, modifiers, dragInputRefCon, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragInputProcInfo, (mouse), (modifiers), (dragInputRefCon), (theDrag))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeDragInputUPP(Point * mouse, SInt16 * modifiers, void * dragInputRefCon, DragRef theDrag, DragInputUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDragInputProcInfo, mouse, modifiers, dragInputRefCon, theDrag); }
+ #else
+ #define InvokeDragInputUPP(mouse, modifiers, dragInputRefCon, theDrag, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDragInputProcInfo, (mouse), (modifiers), (dragInputRefCon), (theDrag))
+ #endif
#endif
- /*
- * InvokeDragDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeDragDrawingUPP(
- DragRegionMessage message,
- RgnHandle showRegion,
- Point showOrigin,
- RgnHandle hideRegion,
- Point hideOrigin,
- void * dragDrawingRefCon,
- DragRef theDrag,
- DragDrawingUPP userUPP);
+/*
+ * InvokeDragDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeDragDrawingUPP(
+ DragRegionMessage message,
+ RgnHandle showRegion,
+ Point showOrigin,
+ RgnHandle hideRegion,
+ Point hideOrigin,
+ void * dragDrawingRefCon,
+ DragRef theDrag,
+ DragDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeDragDrawingUPP(DragRegionMessage message, RgnHandle showRegion, Point showOrigin, RgnHandle hideRegion, Point hideOrigin, void * dragDrawingRefCon, DragRef theDrag, DragDrawingUPP userUPP)
- {
- return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppDragDrawingProcInfo, message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag);
- }
-#else
-#define InvokeDragDrawingUPP(message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppDragDrawingProcInfo, (message), (showRegion), (showOrigin), (hideRegion), (hideOrigin), (dragDrawingRefCon), (theDrag))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeDragDrawingUPP(DragRegionMessage message, RgnHandle showRegion, Point showOrigin, RgnHandle hideRegion, Point hideOrigin, void * dragDrawingRefCon, DragRef theDrag, DragDrawingUPP userUPP) { return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppDragDrawingProcInfo, message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag); }
+ #else
+ #define InvokeDragDrawingUPP(message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppDragDrawingProcInfo, (message), (showRegion), (showOrigin), (hideRegion), (hideOrigin), (dragDrawingRefCon), (theDrag))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDragSendDataProc(userRoutine) NewDragSendDataUPP(userRoutine)
-#define NewDragInputProc(userRoutine) NewDragInputUPP(userRoutine)
-#define NewDragDrawingProc(userRoutine) NewDragDrawingUPP(userRoutine)
-#define CallDragSendDataProc(userRoutine, theType, dragSendRefCon, theItemRef, theDrag) InvokeDragSendDataUPP(theType, dragSendRefCon, theItemRef, theDrag, userRoutine)
-#define CallDragInputProc(userRoutine, mouse, modifiers, dragInputRefCon, theDrag) InvokeDragInputUPP(mouse, modifiers, dragInputRefCon, theDrag, userRoutine)
-#define CallDragDrawingProc(userRoutine, message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag) InvokeDragDrawingUPP(message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag, userRoutine)
+ #define NewDragSendDataProc(userRoutine) NewDragSendDataUPP(userRoutine)
+ #define NewDragInputProc(userRoutine) NewDragInputUPP(userRoutine)
+ #define NewDragDrawingProc(userRoutine) NewDragDrawingUPP(userRoutine)
+ #define CallDragSendDataProc(userRoutine, theType, dragSendRefCon, theItemRef, theDrag) InvokeDragSendDataUPP(theType, dragSendRefCon, theItemRef, theDrag, userRoutine)
+ #define CallDragInputProc(userRoutine, mouse, modifiers, dragInputRefCon, theDrag) InvokeDragInputUPP(mouse, modifiers, dragInputRefCon, theDrag, userRoutine)
+ #define CallDragDrawingProc(userRoutine, message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag) InvokeDragDrawingUPP(message, showRegion, showOrigin, hideRegion, hideOrigin, dragDrawingRefCon, theDrag, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- _________________________________________________________________________________________________________
-
- o INSTALLING AND REMOVING HANDLERS API'S
- _________________________________________________________________________________________________________
- */
-
- /*
- * InstallTrackingHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- InstallTrackingHandler(
- DragTrackingHandlerUPP trackingHandler,
- WindowRef theWindow,
- void * handlerRefCon) TWOWORDINLINE(0x7001, 0xABED);
-
-
- /*
- * InstallReceiveHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- InstallReceiveHandler(
- DragReceiveHandlerUPP receiveHandler,
- WindowRef theWindow,
- void * handlerRefCon) TWOWORDINLINE(0x7002, 0xABED);
-
-
- /*
- * RemoveTrackingHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RemoveTrackingHandler(
- DragTrackingHandlerUPP trackingHandler,
- WindowRef theWindow) TWOWORDINLINE(0x7003, 0xABED);
-
-
- /*
- * RemoveReceiveHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RemoveReceiveHandler(
- DragReceiveHandlerUPP receiveHandler,
- WindowRef theWindow) TWOWORDINLINE(0x7004, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o CREATING & DISPOSING
- _________________________________________________________________________________________________________
- */
-
- /*
- * NewDrag()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewDrag(DragRef * theDrag) TWOWORDINLINE(0x7005, 0xABED);
-
-
- /*
- * DisposeDrag()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DisposeDrag(DragRef theDrag) TWOWORDINLINE(0x7006, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o ADDING DRAG ITEM FLAVORS
- _________________________________________________________________________________________________________
- */
-
- /*
- The method for setting Drag Manager promises differs from that for Scrap Manger promises. This chart
- describes the method for setting drag promises via AddDragItemFlavor().
-
- dataPtr dataSize result
- pointer value actual data size The data of size dataSize pointed to by dataPtr is added to the drag.
- NULL ignored A promise is placed on the drag.
- */
- /*
- * AddDragItemFlavor()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AddDragItemFlavor(
- DragRef theDrag,
- DragItemRef theItemRef,
- FlavorType theType,
- const void * dataPtr,
- Size dataSize,
- FlavorFlags theFlags) TWOWORDINLINE(0x7007, 0xABED);
-
-
- /*
- * SetDragItemFlavorData()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDragItemFlavorData(
- DragRef theDrag,
- DragItemRef theItemRef,
- FlavorType theType,
- const void * dataPtr,
- Size dataSize,
- UInt32 dataOffset) TWOWORDINLINE(0x7009, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o PROVIDING CALLBACK PROCEDURES
- _________________________________________________________________________________________________________
- */
-
- /*
- * SetDragSendProc()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDragSendProc(
- DragRef theDrag,
- DragSendDataUPP sendProc,
- void * dragSendRefCon) TWOWORDINLINE(0x700A, 0xABED);
-
-
-
- /*
- * SetDragInputProc()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDragInputProc(
- DragRef theDrag,
- DragInputUPP inputProc,
- void * dragInputRefCon) TWOWORDINLINE(0x700B, 0xABED);
-
-
- /*
- * SetDragDrawingProc()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDragDrawingProc(
- DragRef theDrag,
- DragDrawingUPP drawingProc,
- void * dragDrawingRefCon) TWOWORDINLINE(0x700C, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o SETTING THE DRAG IMAGE
- _________________________________________________________________________________________________________
- */
-
- /*
- * SetDragImage()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDragImage(
- DragRef theDrag,
- PixMapHandle imagePixMap,
- RgnHandle imageRgn,
- Point imageOffsetPt,
- DragImageFlags theImageFlags) TWOWORDINLINE(0x7027, 0xABED);
-
-
- /*
- * SetDragImageWithCGImage()
- *
- * Discussion:
- * Used by the sender of the drag to set the image, in CGImage
- * format, to be displayed as user feedback during the drag. This
- * API may be called at any point during the drag to update the
- * image.
- *
- * Parameters:
- *
- * inDrag:
- * The drag reference for which the image will be displayed.
- *
- * inCGImage:
- * The CGImageRef for the image to be displayed during the drag.
- * The image is retained internally by the Drag Manager for the
- * duration of the drag so it may be released by the client
- * immediately after setting.
- *
- * inImageOffsetPt:
- * A pointer to the offset from the mouse to the upper left of the
- * image (normally expressed in negative values). This differs
- * from the usage of the offset passed to SetDragImage(). Here,
- * an offset of ( -30, -30 ) will center a 60x60 pixel image on
- * the drag mouse.
- *
- * inImageFlags:
- * The flags determining image drawing during the drag.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetDragImageWithCGImage(
- DragRef inDrag,
- CGImageRef inCGImage,
- const HIPoint * inImageOffsetPt,
- DragImageFlags inImageFlags);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o ALTERING THE BEHAVIOR OF A DRAG
- _________________________________________________________________________________________________________
- */
- /*
- * ChangeDragBehaviors()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ChangeDragBehaviors(
- DragRef theDrag,
- DragBehaviors inBehaviorsToSet,
- DragBehaviors inBehaviorsToClear) TWOWORDINLINE(0x7028, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o PERFORMING A DRAG
- _________________________________________________________________________________________________________
- */
- /*
- * TrackDrag()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- TrackDrag(
- DragRef theDrag,
- const EventRecord * theEvent,
- RgnHandle theRegion) TWOWORDINLINE(0x700D, 0xABED);
-
-
-
- /*
- _________________________________________________________________________________________________________
-
- o GETTING DRAG ITEM INFORMATION
- _________________________________________________________________________________________________________
- */
-
- /*
- * CountDragItems()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CountDragItems(
- DragRef theDrag,
- UInt16 * numItems) TWOWORDINLINE(0x700E, 0xABED);
-
-
- /*
- * GetDragItemReferenceNumber()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDragItemReferenceNumber(
- DragRef theDrag,
- UInt16 index,
- DragItemRef * theItemRef) TWOWORDINLINE(0x700F, 0xABED);
-
-
- /*
- * CountDragItemFlavors()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CountDragItemFlavors(
- DragRef theDrag,
- DragItemRef theItemRef,
- UInt16 * numFlavors) TWOWORDINLINE(0x7010, 0xABED);
-
-
- /*
- * GetFlavorType()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFlavorType(
- DragRef theDrag,
- DragItemRef theItemRef,
- UInt16 index,
- FlavorType * theType) TWOWORDINLINE(0x7011, 0xABED);
-
-
- /*
- * GetFlavorFlags()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFlavorFlags(
- DragRef theDrag,
- DragItemRef theItemRef,
- FlavorType theType,
- FlavorFlags * theFlags) TWOWORDINLINE(0x7012, 0xABED);
-
-
- /*
- * GetFlavorDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFlavorDataSize(
- DragRef theDrag,
- DragItemRef theItemRef,
- FlavorType theType,
- Size * dataSize) TWOWORDINLINE(0x7013, 0xABED);
-
-
- /*
- * GetFlavorData()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFlavorData(
- DragRef theDrag,
- DragItemRef theItemRef,
- FlavorType theType,
- void * dataPtr,
- Size * dataSize,
- UInt32 dataOffset) TWOWORDINLINE(0x7014, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o DRAG ITEM BOUNDS
- _________________________________________________________________________________________________________
- */
-
- /*
- * GetDragItemBounds()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDragItemBounds(
- DragRef theDrag,
- DragItemRef theItemRef,
- Rect * itemBounds) TWOWORDINLINE(0x7015, 0xABED);
-
-
- /*
- * SetDragItemBounds()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDragItemBounds(
- DragRef theDrag,
- DragItemRef theItemRef,
- const Rect * itemBounds) TWOWORDINLINE(0x7016, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o DROP LOCATIONS
- _________________________________________________________________________________________________________
- */
-
- /*
- * GetDropLocation()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDropLocation(
- DragRef theDrag,
- AEDesc * dropLocation) TWOWORDINLINE(0x7017, 0xABED);
-
-
- /*
- * SetDropLocation()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDropLocation(
- DragRef theDrag,
- const AEDesc * dropLocation) TWOWORDINLINE(0x7018, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o STANDARD DROP LOCATIONS
- _________________________________________________________________________________________________________
- */
- /*
- * GetStandardDropLocation()
- *
- * Discussion:
- * Gets the standard drop location that was set by the receiver of
- * the drag.
- *
- * Parameters:
- *
- * theDrag:
- * The drag reference from which to retrieve the allowable drag
- * actions.
- *
- * outDropLocation:
- * A pointer to the standard drop location, set by the receiver,
- * representing the location where the drag was dropped.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- GetStandardDropLocation(
- DragRef theDrag,
- StandardDropLocation * outDropLocation) TWOWORDINLINE(0x7017, 0xABED);
-
-
- /*
- * SetStandardDropLocation()
- *
- * Discussion:
- * Used by the receiver of the drag to set the standard drop
- * location.
- *
- * Parameters:
- *
- * theDrag:
- * The drag reference from which to retrieve the allowable drag
- * actions.
- *
- * dropLocation:
- * The standard drop location representing the location where the
- * drag was dropped.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetStandardDropLocation(
- DragRef theDrag,
- StandardDropLocation dropLocation) TWOWORDINLINE(0x7018, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o GETTING INFORMATION ABOUT A DRAG
- _________________________________________________________________________________________________________
- */
-
- /*
- * GetDragAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDragAttributes(
- DragRef theDrag,
- DragAttributes * flags) TWOWORDINLINE(0x7019, 0xABED);
-
-
- /*
- * GetDragMouse()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDragMouse(
- DragRef theDrag,
- Point * mouse,
- Point * globalPinnedMouse) TWOWORDINLINE(0x701A, 0xABED);
-
-
- /*
- * SetDragMouse()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDragMouse(
- DragRef theDrag,
- Point globalPinnedMouse) TWOWORDINLINE(0x701B, 0xABED);
-
-
- /*
- * GetDragOrigin()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDragOrigin(
- DragRef theDrag,
- Point * globalInitialMouse) TWOWORDINLINE(0x701C, 0xABED);
-
-
- /*
- * GetDragModifiers()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDragModifiers(
- DragRef theDrag,
- SInt16 * modifiers,
- SInt16 * mouseDownModifiers,
- SInt16 * mouseUpModifiers) TWOWORDINLINE(0x701D, 0xABED);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o ACCESSING DRAG ACTIONS
- _________________________________________________________________________________________________________
- */
-
- /*
- * GetDragAllowableActions()
- *
- * Discussion:
- * Gets the actions the drag sender has allowed the receiver to
- * perform. These are not requirements, but they highly suggested
- * actions which allows the drag receiver to improve harmony across
- * the system. The allowable actions received are always those
- * local to the caller's process.
- *
- * Parameters:
- *
- * theDrag:
- * The drag reference from which to retreive the allowable drag
- * actions.
- *
- * outActions:
- * A pointer to receive the field of allowable drag actions.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- GetDragAllowableActions(
- DragRef theDrag,
- DragActions * outActions);
-
-
- /*
- * SetDragAllowableActions()
- *
- * Discussion:
- * Sets the actions the receiver of the drag is allowed to perform.
- * These are not requirements, but they highly suggested actions
- * which allows the drag receiver to improve harmony across the
- * system. The caller may select wether these drag actions apply to
- * a local or remote process.
- *
- * Parameters:
- *
- * theDrag:
- * The drag reference in which to set the allowable drag actions.
- *
- * inActions:
- * A field of allowable drag actions to be set.
- *
- * isLocal:
- * A boolean value allowing the drag sender to distinguish between
- * those drag actions allowable by the local receiver versus a
- * remote one.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- SetDragAllowableActions(
- DragRef theDrag,
- DragActions inActions,
- Boolean isLocal);
-
-
- /*
- * GetDragDropAction()
- *
- * Discussion:
- * Gets the action performed by the receiver of the drag. More than
- * one action may have been performed.
- *
- * Parameters:
- *
- * theDrag:
- * The drag reference from which to retreive the performed drop
- * action.
- *
- * outAction:
- * A pointer to receive the drag action performed.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- GetDragDropAction(
- DragRef theDrag,
- DragActions * outAction);
-
-
- /*
- * SetDragDropAction()
- *
- * Discussion:
- * Sets the action performed by the receiver of the drag. More than
- * one action may be performed.
- *
- * Parameters:
- *
- * theDrag:
- * The drag reference in which to set the performed drop action.
- *
- * inAction:
- * The drop action performed.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- SetDragDropAction(
- DragRef theDrag,
- DragActions inAction);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o DRAG HIGHLIGHTING
- _________________________________________________________________________________________________________
- */
-
- /*
- * ShowDragHilite()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ShowDragHilite(
- DragRef theDrag,
- RgnHandle hiliteFrame,
- Boolean inside) TWOWORDINLINE(0x701E, 0xABED);
-
-
- /*
- * HideDragHilite()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HideDragHilite(DragRef theDrag) TWOWORDINLINE(0x701F, 0xABED);
-
-
- /*
- * DragPreScroll()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DragPreScroll(
- DragRef theDrag,
- SInt16 dH,
- SInt16 dV) TWOWORDINLINE(0x7020, 0xABED);
-
-
- /*
- * DragPostScroll()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DragPostScroll(DragRef theDrag) TWOWORDINLINE(0x7021, 0xABED);
-
-
- /*
- * UpdateDragHilite()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UpdateDragHilite(
- DragRef theDrag,
- RgnHandle updateRgn) TWOWORDINLINE(0x7022, 0xABED);
-
-
- /*
- * GetDragHiliteColor()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDragHiliteColor(
- WindowRef window,
- RGBColor * color) TWOWORDINLINE(0x7026, 0xABED);
-
-
-
- /*
- _________________________________________________________________________________________________________
-
- o UTILITIES
- _________________________________________________________________________________________________________
- */
-
-
- /*
- * WaitMouseMoved()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- WaitMouseMoved(Point initialGlobalMouse) TWOWORDINLINE(0x7023, 0xABED);
-
-
-
- /*
- * ZoomRects()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ZoomRects(
- const Rect * fromRect,
- const Rect * toRect,
- SInt16 zoomSteps,
- ZoomAcceleration acceleration) TWOWORDINLINE(0x7024, 0xABED);
-
-
- /*
- * ZoomRegion()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ZoomRegion(
- RgnHandle region,
- Point zoomDistance,
- SInt16 zoomSteps,
- ZoomAcceleration acceleration) TWOWORDINLINE(0x7025, 0xABED);
-
-
-
- /*
- _________________________________________________________________________________________________________
- o OLD NAMES
- These are provided for compatiblity with older source bases. It is recommended to not use them since
- they may removed from this interface file at any time.
- _________________________________________________________________________________________________________
- */
-
-
- typedef DragRef DragReference;
- typedef DragItemRef ItemReference;
+/*
+ _________________________________________________________________________________________________________
+
+ o INSTALLING AND REMOVING HANDLERS API'S
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * InstallTrackingHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+InstallTrackingHandler(
+ DragTrackingHandlerUPP trackingHandler,
+ WindowRef theWindow,
+ void * handlerRefCon) TWOWORDINLINE(0x7001, 0xABED);
+
+
+/*
+ * InstallReceiveHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+InstallReceiveHandler(
+ DragReceiveHandlerUPP receiveHandler,
+ WindowRef theWindow,
+ void * handlerRefCon) TWOWORDINLINE(0x7002, 0xABED);
+
+
+/*
+ * RemoveTrackingHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveTrackingHandler(
+ DragTrackingHandlerUPP trackingHandler,
+ WindowRef theWindow) TWOWORDINLINE(0x7003, 0xABED);
+
+
+/*
+ * RemoveReceiveHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveReceiveHandler(
+ DragReceiveHandlerUPP receiveHandler,
+ WindowRef theWindow) TWOWORDINLINE(0x7004, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o CREATING & DISPOSING
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * NewDrag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewDrag(DragRef * theDrag) TWOWORDINLINE(0x7005, 0xABED);
+
+
+/*
+ * DisposeDrag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DisposeDrag(DragRef theDrag) TWOWORDINLINE(0x7006, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o ADDING DRAG ITEM FLAVORS
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ The method for setting Drag Manager promises differs from that for Scrap Manger promises. This chart
+ describes the method for setting drag promises via AddDragItemFlavor().
+
+ dataPtr dataSize result
+ pointer value actual data size The data of size dataSize pointed to by dataPtr is added to the drag.
+ NULL ignored A promise is placed on the drag.
+*/
+/*
+ * AddDragItemFlavor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AddDragItemFlavor(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ FlavorType theType,
+ const void * dataPtr,
+ Size dataSize,
+ FlavorFlags theFlags) TWOWORDINLINE(0x7007, 0xABED);
+
+
+/*
+ * SetDragItemFlavorData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDragItemFlavorData(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ FlavorType theType,
+ const void * dataPtr,
+ Size dataSize,
+ UInt32 dataOffset) TWOWORDINLINE(0x7009, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o PROVIDING CALLBACK PROCEDURES
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * SetDragSendProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDragSendProc(
+ DragRef theDrag,
+ DragSendDataUPP sendProc,
+ void * dragSendRefCon) TWOWORDINLINE(0x700A, 0xABED);
+
+
+
+/*
+ * SetDragInputProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDragInputProc(
+ DragRef theDrag,
+ DragInputUPP inputProc,
+ void * dragInputRefCon) TWOWORDINLINE(0x700B, 0xABED);
+
+
+/*
+ * SetDragDrawingProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDragDrawingProc(
+ DragRef theDrag,
+ DragDrawingUPP drawingProc,
+ void * dragDrawingRefCon) TWOWORDINLINE(0x700C, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o SETTING THE DRAG IMAGE
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * SetDragImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDragImage(
+ DragRef theDrag,
+ PixMapHandle imagePixMap,
+ RgnHandle imageRgn,
+ Point imageOffsetPt,
+ DragImageFlags theImageFlags) TWOWORDINLINE(0x7027, 0xABED);
+
+
+/*
+ * SetDragImageWithCGImage()
+ *
+ * Discussion:
+ * Used by the sender of the drag to set the image, in CGImage
+ * format, to be displayed as user feedback during the drag. This
+ * API may be called at any point during the drag to update the
+ * image.
+ *
+ * Parameters:
+ *
+ * inDrag:
+ * The drag reference for which the image will be displayed.
+ *
+ * inCGImage:
+ * The CGImageRef for the image to be displayed during the drag.
+ * The image is retained internally by the Drag Manager for the
+ * duration of the drag so it may be released by the client
+ * immediately after setting.
+ *
+ * inImageOffsetPt:
+ * A pointer to the offset from the mouse to the upper left of the
+ * image (normally expressed in negative values). This differs
+ * from the usage of the offset passed to SetDragImage(). Here,
+ * an offset of ( -30, -30 ) will center a 60x60 pixel image on
+ * the drag mouse.
+ *
+ * inImageFlags:
+ * The flags determining image drawing during the drag.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetDragImageWithCGImage(
+ DragRef inDrag,
+ CGImageRef inCGImage,
+ const HIPoint * inImageOffsetPt,
+ DragImageFlags inImageFlags);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o ALTERING THE BEHAVIOR OF A DRAG
+ _________________________________________________________________________________________________________
+*/
+/*
+ * ChangeDragBehaviors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ChangeDragBehaviors(
+ DragRef theDrag,
+ DragBehaviors inBehaviorsToSet,
+ DragBehaviors inBehaviorsToClear) TWOWORDINLINE(0x7028, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o PERFORMING A DRAG
+ _________________________________________________________________________________________________________
+*/
+/*
+ * TrackDrag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TrackDrag(
+ DragRef theDrag,
+ const EventRecord * theEvent,
+ RgnHandle theRegion) TWOWORDINLINE(0x700D, 0xABED);
+
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o GETTING DRAG ITEM INFORMATION
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * CountDragItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CountDragItems(
+ DragRef theDrag,
+ UInt16 * numItems) TWOWORDINLINE(0x700E, 0xABED);
+
+
+/*
+ * GetDragItemReferenceNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDragItemReferenceNumber(
+ DragRef theDrag,
+ UInt16 index,
+ DragItemRef * theItemRef) TWOWORDINLINE(0x700F, 0xABED);
+
+
+/*
+ * CountDragItemFlavors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CountDragItemFlavors(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ UInt16 * numFlavors) TWOWORDINLINE(0x7010, 0xABED);
+
+
+/*
+ * GetFlavorType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFlavorType(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ UInt16 index,
+ FlavorType * theType) TWOWORDINLINE(0x7011, 0xABED);
+
+
+/*
+ * GetFlavorFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFlavorFlags(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ FlavorType theType,
+ FlavorFlags * theFlags) TWOWORDINLINE(0x7012, 0xABED);
+
+
+/*
+ * GetFlavorDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFlavorDataSize(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ FlavorType theType,
+ Size * dataSize) TWOWORDINLINE(0x7013, 0xABED);
+
+
+/*
+ * GetFlavorData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFlavorData(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ FlavorType theType,
+ void * dataPtr,
+ Size * dataSize,
+ UInt32 dataOffset) TWOWORDINLINE(0x7014, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG ITEM BOUNDS
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * GetDragItemBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDragItemBounds(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ Rect * itemBounds) TWOWORDINLINE(0x7015, 0xABED);
+
+
+/*
+ * SetDragItemBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDragItemBounds(
+ DragRef theDrag,
+ DragItemRef theItemRef,
+ const Rect * itemBounds) TWOWORDINLINE(0x7016, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o DROP LOCATIONS
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * GetDropLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDropLocation(
+ DragRef theDrag,
+ AEDesc * dropLocation) TWOWORDINLINE(0x7017, 0xABED);
+
+
+/*
+ * SetDropLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDropLocation(
+ DragRef theDrag,
+ const AEDesc * dropLocation) TWOWORDINLINE(0x7018, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o STANDARD DROP LOCATIONS
+ _________________________________________________________________________________________________________
+*/
+/*
+ * GetStandardDropLocation()
+ *
+ * Discussion:
+ * Gets the standard drop location that was set by the receiver of
+ * the drag.
+ *
+ * Parameters:
+ *
+ * theDrag:
+ * The drag reference from which to retrieve the allowable drag
+ * actions.
+ *
+ * outDropLocation:
+ * A pointer to the standard drop location, set by the receiver,
+ * representing the location where the drag was dropped.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+GetStandardDropLocation(
+ DragRef theDrag,
+ StandardDropLocation * outDropLocation) TWOWORDINLINE(0x7017, 0xABED);
+
+
+/*
+ * SetStandardDropLocation()
+ *
+ * Discussion:
+ * Used by the receiver of the drag to set the standard drop
+ * location.
+ *
+ * Parameters:
+ *
+ * theDrag:
+ * The drag reference from which to retrieve the allowable drag
+ * actions.
+ *
+ * dropLocation:
+ * The standard drop location representing the location where the
+ * drag was dropped.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetStandardDropLocation(
+ DragRef theDrag,
+ StandardDropLocation dropLocation) TWOWORDINLINE(0x7018, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o GETTING INFORMATION ABOUT A DRAG
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * GetDragAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDragAttributes(
+ DragRef theDrag,
+ DragAttributes * flags) TWOWORDINLINE(0x7019, 0xABED);
+
+
+/*
+ * GetDragMouse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDragMouse(
+ DragRef theDrag,
+ Point * mouse,
+ Point * globalPinnedMouse) TWOWORDINLINE(0x701A, 0xABED);
+
+
+/*
+ * SetDragMouse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDragMouse(
+ DragRef theDrag,
+ Point globalPinnedMouse) TWOWORDINLINE(0x701B, 0xABED);
+
+
+/*
+ * GetDragOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDragOrigin(
+ DragRef theDrag,
+ Point * globalInitialMouse) TWOWORDINLINE(0x701C, 0xABED);
+
+
+/*
+ * GetDragModifiers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDragModifiers(
+ DragRef theDrag,
+ SInt16 * modifiers,
+ SInt16 * mouseDownModifiers,
+ SInt16 * mouseUpModifiers) TWOWORDINLINE(0x701D, 0xABED);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o ACCESSING DRAG ACTIONS
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * GetDragAllowableActions()
+ *
+ * Discussion:
+ * Gets the actions the drag sender has allowed the receiver to
+ * perform. These are not requirements, but they highly suggested
+ * actions which allows the drag receiver to improve harmony across
+ * the system. The allowable actions received are always those
+ * local to the caller's process.
+ *
+ * Parameters:
+ *
+ * theDrag:
+ * The drag reference from which to retreive the allowable drag
+ * actions.
+ *
+ * outActions:
+ * A pointer to receive the field of allowable drag actions.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+GetDragAllowableActions(
+ DragRef theDrag,
+ DragActions * outActions);
+
+
+/*
+ * SetDragAllowableActions()
+ *
+ * Discussion:
+ * Sets the actions the receiver of the drag is allowed to perform.
+ * These are not requirements, but they highly suggested actions
+ * which allows the drag receiver to improve harmony across the
+ * system. The caller may select wether these drag actions apply to
+ * a local or remote process.
+ *
+ * Parameters:
+ *
+ * theDrag:
+ * The drag reference in which to set the allowable drag actions.
+ *
+ * inActions:
+ * A field of allowable drag actions to be set.
+ *
+ * isLocal:
+ * A boolean value allowing the drag sender to distinguish between
+ * those drag actions allowable by the local receiver versus a
+ * remote one.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+SetDragAllowableActions(
+ DragRef theDrag,
+ DragActions inActions,
+ Boolean isLocal);
+
+
+/*
+ * GetDragDropAction()
+ *
+ * Discussion:
+ * Gets the action performed by the receiver of the drag. More than
+ * one action may have been performed.
+ *
+ * Parameters:
+ *
+ * theDrag:
+ * The drag reference from which to retreive the performed drop
+ * action.
+ *
+ * outAction:
+ * A pointer to receive the drag action performed.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+GetDragDropAction(
+ DragRef theDrag,
+ DragActions * outAction);
+
+
+/*
+ * SetDragDropAction()
+ *
+ * Discussion:
+ * Sets the action performed by the receiver of the drag. More than
+ * one action may be performed.
+ *
+ * Parameters:
+ *
+ * theDrag:
+ * The drag reference in which to set the performed drop action.
+ *
+ * inAction:
+ * The drop action performed.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+SetDragDropAction(
+ DragRef theDrag,
+ DragActions inAction);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o DRAG HIGHLIGHTING
+ _________________________________________________________________________________________________________
+*/
+
+/*
+ * ShowDragHilite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ShowDragHilite(
+ DragRef theDrag,
+ RgnHandle hiliteFrame,
+ Boolean inside) TWOWORDINLINE(0x701E, 0xABED);
+
+
+/*
+ * HideDragHilite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HideDragHilite(DragRef theDrag) TWOWORDINLINE(0x701F, 0xABED);
+
+
+/*
+ * DragPreScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DragPreScroll(
+ DragRef theDrag,
+ SInt16 dH,
+ SInt16 dV) TWOWORDINLINE(0x7020, 0xABED);
+
+
+/*
+ * DragPostScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DragPostScroll(DragRef theDrag) TWOWORDINLINE(0x7021, 0xABED);
+
+
+/*
+ * UpdateDragHilite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UpdateDragHilite(
+ DragRef theDrag,
+ RgnHandle updateRgn) TWOWORDINLINE(0x7022, 0xABED);
+
+
+/*
+ * GetDragHiliteColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDragHiliteColor(
+ WindowRef window,
+ RGBColor * color) TWOWORDINLINE(0x7026, 0xABED);
+
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o UTILITIES
+ _________________________________________________________________________________________________________
+*/
+
+
+/*
+ * WaitMouseMoved()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+WaitMouseMoved(Point initialGlobalMouse) TWOWORDINLINE(0x7023, 0xABED);
+
+
+
+/*
+ * ZoomRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ZoomRects(
+ const Rect * fromRect,
+ const Rect * toRect,
+ SInt16 zoomSteps,
+ ZoomAcceleration acceleration) TWOWORDINLINE(0x7024, 0xABED);
+
+
+/*
+ * ZoomRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ZoomRegion(
+ RgnHandle region,
+ Point zoomDistance,
+ SInt16 zoomSteps,
+ ZoomAcceleration acceleration) TWOWORDINLINE(0x7025, 0xABED);
+
+
+
+/*
+ _________________________________________________________________________________________________________
+ o OLD NAMES
+ These are provided for compatiblity with older source bases. It is recommended to not use them since
+ they may removed from this interface file at any time.
+ _________________________________________________________________________________________________________
+*/
+
+
+typedef DragRef DragReference;
+typedef DragItemRef ItemReference;
#if OLDROUTINENAMES
- enum
- {
- dragHasLeftSenderWindow = kDragHasLeftSenderWindow, /* drag has left the source window since TrackDrag */
- dragInsideSenderApplication = kDragInsideSenderApplication, /* drag is occurring within the sender application */
- dragInsideSenderWindow = kDragInsideSenderWindow /* drag is occurring within the sender window */
- };
-
- enum
- {
- dragTrackingEnterHandler = kDragTrackingEnterHandler, /* drag has entered handler */
- dragTrackingEnterWindow = kDragTrackingEnterWindow, /* drag has entered window */
- dragTrackingInWindow = kDragTrackingInWindow, /* drag is moving within window */
- dragTrackingLeaveWindow = kDragTrackingLeaveWindow, /* drag has exited window */
- dragTrackingLeaveHandler = kDragTrackingLeaveHandler /* drag has exited handler */
- };
-
- enum
- {
- dragRegionBegin = kDragRegionBegin, /* initialize drawing */
- dragRegionDraw = kDragRegionDraw, /* draw drag feedback */
- dragRegionHide = kDragRegionHide, /* hide drag feedback */
- dragRegionIdle = kDragRegionIdle, /* drag feedback idle time */
- dragRegionEnd = kDragRegionEnd /* end of drawing */
- };
-
- enum
- {
- zoomNoAcceleration = kZoomNoAcceleration, /* use linear interpolation */
- zoomAccelerate = kZoomAccelerate, /* ramp up step size */
- zoomDecelerate = kZoomDecelerate /* ramp down step size */
- };
-
- enum
- {
- kDragStandardImage = kDragStandardTranslucency, /* 65% image translucency (standard)*/
- kDragDarkImage = kDragDarkTranslucency, /* 50% image translucency*/
- kDragDarkerImage = kDragDarkerTranslucency, /* 25% image translucency*/
- kDragOpaqueImage = kDragOpaqueTranslucency /* 0% image translucency (opaque)*/
- };
+enum {
+ dragHasLeftSenderWindow = kDragHasLeftSenderWindow, /* drag has left the source window since TrackDrag */
+ dragInsideSenderApplication = kDragInsideSenderApplication, /* drag is occurring within the sender application */
+ dragInsideSenderWindow = kDragInsideSenderWindow /* drag is occurring within the sender window */
+};
+
+enum {
+ dragTrackingEnterHandler = kDragTrackingEnterHandler, /* drag has entered handler */
+ dragTrackingEnterWindow = kDragTrackingEnterWindow, /* drag has entered window */
+ dragTrackingInWindow = kDragTrackingInWindow, /* drag is moving within window */
+ dragTrackingLeaveWindow = kDragTrackingLeaveWindow, /* drag has exited window */
+ dragTrackingLeaveHandler = kDragTrackingLeaveHandler /* drag has exited handler */
+};
+
+enum {
+ dragRegionBegin = kDragRegionBegin, /* initialize drawing */
+ dragRegionDraw = kDragRegionDraw, /* draw drag feedback */
+ dragRegionHide = kDragRegionHide, /* hide drag feedback */
+ dragRegionIdle = kDragRegionIdle, /* drag feedback idle time */
+ dragRegionEnd = kDragRegionEnd /* end of drawing */
+};
+
+enum {
+ zoomNoAcceleration = kZoomNoAcceleration, /* use linear interpolation */
+ zoomAccelerate = kZoomAccelerate, /* ramp up step size */
+ zoomDecelerate = kZoomDecelerate /* ramp down step size */
+};
+
+enum {
+ kDragStandardImage = kDragStandardTranslucency, /* 65% image translucency (standard)*/
+ kDragDarkImage = kDragDarkTranslucency, /* 50% image translucency*/
+ kDragDarkerImage = kDragDarkerTranslucency, /* 25% image translucency*/
+ kDragOpaqueImage = kDragOpaqueTranslucency /* 0% image translucency (opaque)*/
+};
#endif /* OLDROUTINENAMES */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/DrawSprocket.h b/include/qt/DrawSprocket.h
index 109603479..a4cca861b 100644
--- a/include/qt/DrawSprocket.h
+++ b/include/qt/DrawSprocket.h
@@ -1,17 +1,17 @@
/*
File: DrawSprocket.h
-
+
Contains: Games Sprockets: DrawSprocket interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DRAWSPROCKET__
#define __DRAWSPROCKET__
@@ -55,1079 +55,1058 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __DRAWSPROCKET__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __DRAWSPROCKET__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __DRAWSPROCKET__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __DRAWSPROCKET__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /*
- ********************************************************************************
- ** constants
- ********************************************************************************
- */
- enum DSpDepthMask {
- kDSpDepthMask_1 = 1 << 0,
- kDSpDepthMask_2 = 1 << 1,
- kDSpDepthMask_4 = 1 << 2,
- kDSpDepthMask_8 = 1 << 3,
- kDSpDepthMask_16 = 1 << 4,
- kDSpDepthMask_32 = 1 << 5,
- kDSpDepthMask_All = -1L
- };
- typedef enum DSpDepthMask DSpDepthMask;
-
- enum DSpColorNeeds
- {
- kDSpColorNeeds_DontCare = 0L,
- kDSpColorNeeds_Request = 1L,
- kDSpColorNeeds_Require = 2L
- };
- typedef enum DSpColorNeeds DSpColorNeeds;
-
- enum DSpContextState
- {
- kDSpContextState_Active = 0L,
- kDSpContextState_Paused = 1L,
- kDSpContextState_Inactive = 2L
- };
- typedef enum DSpContextState DSpContextState;
-
- /* kDSpContextOption_QD3DAccel not yet implemented */
- enum DSpContextOption
- {
- /* kDSpContextOption_QD3DAccel = 1<<0,*/
- kDSpContextOption_PageFlip = 1 << 1,
- kDSpContextOption_DontSyncVBL = 1 << 2,
- kDSpContextOption_Stereoscopic = 1 << 3
- };
- typedef enum DSpContextOption DSpContextOption;
-
- enum DSpAltBufferOption
- {
- kDSpAltBufferOption_RowBytesEqualsWidth = 1 << 0
- };
- typedef enum DSpAltBufferOption DSpAltBufferOption;
-
- enum DSpBufferKind
- {
- kDSpBufferKind_Normal = 0
- };
- typedef enum DSpBufferKind DSpBufferKind;
-
- enum DSpBlitMode
- {
- kDSpBlitMode_Plain = 0,
- kDSpBlitMode_SrcKey = 1 << 0,
- kDSpBlitMode_DstKey = 1 << 1,
- kDSpBlitMode_Interpolation = 1 << 2
- };
- typedef enum DSpBlitMode DSpBlitMode;
-
- /*
- ********************************************************************************
- ** data types
- ********************************************************************************
- */
- typedef struct OpaqueDSpAltBufferReference* DSpAltBufferReference;
- typedef struct OpaqueDSpContextReference* DSpContextReference;
- typedef const struct OpaqueDSpContextReference* DSpContextReferenceConst;
+/*
+********************************************************************************
+** constants
+********************************************************************************
+*/
+enum DSpDepthMask {
+ kDSpDepthMask_1 = 1 << 0,
+ kDSpDepthMask_2 = 1 << 1,
+ kDSpDepthMask_4 = 1 << 2,
+ kDSpDepthMask_8 = 1 << 3,
+ kDSpDepthMask_16 = 1 << 4,
+ kDSpDepthMask_32 = 1 << 5,
+ kDSpDepthMask_All = -1L
+};
+typedef enum DSpDepthMask DSpDepthMask;
+
+enum DSpColorNeeds {
+ kDSpColorNeeds_DontCare = 0L,
+ kDSpColorNeeds_Request = 1L,
+ kDSpColorNeeds_Require = 2L
+};
+typedef enum DSpColorNeeds DSpColorNeeds;
+
+enum DSpContextState {
+ kDSpContextState_Active = 0L,
+ kDSpContextState_Paused = 1L,
+ kDSpContextState_Inactive = 2L
+};
+typedef enum DSpContextState DSpContextState;
+
+/* kDSpContextOption_QD3DAccel not yet implemented */
+enum DSpContextOption {
+ /* kDSpContextOption_QD3DAccel = 1<<0,*/
+ kDSpContextOption_PageFlip = 1 << 1,
+ kDSpContextOption_DontSyncVBL = 1 << 2,
+ kDSpContextOption_Stereoscopic = 1 << 3
+};
+typedef enum DSpContextOption DSpContextOption;
+
+enum DSpAltBufferOption {
+ kDSpAltBufferOption_RowBytesEqualsWidth = 1 << 0
+};
+typedef enum DSpAltBufferOption DSpAltBufferOption;
+
+enum DSpBufferKind {
+ kDSpBufferKind_Normal = 0
+};
+typedef enum DSpBufferKind DSpBufferKind;
+
+enum DSpBlitMode {
+ kDSpBlitMode_Plain = 0,
+ kDSpBlitMode_SrcKey = 1 << 0,
+ kDSpBlitMode_DstKey = 1 << 1,
+ kDSpBlitMode_Interpolation = 1 << 2
+};
+typedef enum DSpBlitMode DSpBlitMode;
+
+/*
+********************************************************************************
+** data types
+********************************************************************************
+*/
+typedef struct OpaqueDSpAltBufferReference* DSpAltBufferReference;
+typedef struct OpaqueDSpContextReference* DSpContextReference;
+typedef const struct OpaqueDSpContextReference* DSpContextReferenceConst;
#define kDSpEveryContext ((DSpContextReference)NULL)
- typedef CALLBACK_API_C(Boolean , DSpEventProcPtr)(EventRecord * inEvent);
- typedef CALLBACK_API_C(Boolean , DSpCallbackProcPtr)(DSpContextReference inContext, void *inRefCon);
- typedef TVECTOR_UPP_TYPE(DSpEventProcPtr) DSpEventUPP;
- typedef TVECTOR_UPP_TYPE(DSpCallbackProcPtr) DSpCallbackUPP;
+typedef CALLBACK_API_C( Boolean , DSpEventProcPtr )(EventRecord * inEvent);
+typedef CALLBACK_API_C( Boolean , DSpCallbackProcPtr )(DSpContextReference inContext, void *inRefCon);
+typedef TVECTOR_UPP_TYPE(DSpEventProcPtr) DSpEventUPP;
+typedef TVECTOR_UPP_TYPE(DSpCallbackProcPtr) DSpCallbackUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewDSpEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DSpEventUPP)
- NewDSpEventUPP(DSpEventProcPtr userRoutine);
+/*
+ * NewDSpEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DSpEventUPP )
+NewDSpEventUPP(DSpEventProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDSpEventProcInfo = 0x000000D1 }; /* 1_byte Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DSpEventUPP) NewDSpEventUPP(DSpEventProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewDSpEventUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppDSpEventProcInfo = 0x000000D1 }; /* 1_byte Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DSpEventUPP) NewDSpEventUPP(DSpEventProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewDSpEventUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewDSpCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DSpCallbackUPP)
- NewDSpCallbackUPP(DSpCallbackProcPtr userRoutine);
+/*
+ * NewDSpCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DSpCallbackUPP )
+NewDSpCallbackUPP(DSpCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDSpCallbackProcInfo = 0x000003D1 }; /* 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DSpCallbackUPP) NewDSpCallbackUPP(DSpCallbackProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewDSpCallbackUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppDSpCallbackProcInfo = 0x000003D1 }; /* 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DSpCallbackUPP) NewDSpCallbackUPP(DSpCallbackProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewDSpCallbackUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeDSpEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeDSpEventUPP(DSpEventUPP userUPP);
+/*
+ * DisposeDSpEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeDSpEventUPP(DSpEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDSpEventUPP(DSpEventUPP) {}
-#else
-#define DisposeDSpEventUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDSpEventUPP(DSpEventUPP) {}
+ #else
+ #define DisposeDSpEventUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeDSpCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeDSpCallbackUPP(DSpCallbackUPP userUPP);
+/*
+ * DisposeDSpCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeDSpCallbackUPP(DSpCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDSpCallbackUPP(DSpCallbackUPP) {}
-#else
-#define DisposeDSpCallbackUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDSpCallbackUPP(DSpCallbackUPP) {}
+ #else
+ #define DisposeDSpCallbackUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeDSpEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeDSpEventUPP(
- EventRecord * inEvent,
- DSpEventUPP userUPP);
+/*
+ * InvokeDSpEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeDSpEventUPP(
+ EventRecord * inEvent,
+ DSpEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeDSpEventUPP(EventRecord * inEvent, DSpEventUPP userUPP)
- {
- return (*userUPP)(inEvent);
- }
-#else
-#define InvokeDSpEventUPP(inEvent, userUPP) (*userUPP)(inEvent)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeDSpEventUPP(EventRecord * inEvent, DSpEventUPP userUPP) { return (*userUPP)(inEvent); }
+ #else
+ #define InvokeDSpEventUPP(inEvent, userUPP) (*userUPP)(inEvent)
+ #endif
#endif
- /*
- * InvokeDSpCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeDSpCallbackUPP(
- DSpContextReference inContext,
- void * inRefCon,
- DSpCallbackUPP userUPP);
+/*
+ * InvokeDSpCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeDSpCallbackUPP(
+ DSpContextReference inContext,
+ void * inRefCon,
+ DSpCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeDSpCallbackUPP(DSpContextReference inContext, void * inRefCon, DSpCallbackUPP userUPP)
- {
- return (*userUPP)(inContext, inRefCon);
- }
-#else
-#define InvokeDSpCallbackUPP(inContext, inRefCon, userUPP) (*userUPP)(inContext, inRefCon)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeDSpCallbackUPP(DSpContextReference inContext, void * inRefCon, DSpCallbackUPP userUPP) { return (*userUPP)(inContext, inRefCon); }
+ #else
+ #define InvokeDSpCallbackUPP(inContext, inRefCon, userUPP) (*userUPP)(inContext, inRefCon)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- struct DSpContextAttributes
- {
- Fixed frequency;
- UInt32 displayWidth;
- UInt32 displayHeight;
- UInt32 reserved1;
- UInt32 reserved2;
- UInt32 colorNeeds;
- CTabHandle colorTable;
- OptionBits contextOptions;
- OptionBits backBufferDepthMask;
- OptionBits displayDepthMask;
- UInt32 backBufferBestDepth;
- UInt32 displayBestDepth;
- UInt32 pageCount;
- char filler[3];
- Boolean gameMustConfirmSwitch;
- UInt32 reserved3[4];
- };
- typedef struct DSpContextAttributes DSpContextAttributes;
- typedef DSpContextAttributes * DSpContextAttributesPtr;
- struct DSpAltBufferAttributes
- {
- UInt32 width;
- UInt32 height;
- DSpAltBufferOption options;
- UInt32 reserved[4];
- };
- typedef struct DSpAltBufferAttributes DSpAltBufferAttributes;
- typedef struct DSpBlitInfo DSpBlitInfo;
- typedef CALLBACK_API_C(void , DSpBlitDoneProc)(DSpBlitInfo * info);
- struct DSpBlitInfo
- {
- Boolean completionFlag;
- char filler[3];
- DSpBlitDoneProc completionProc;
- DSpContextReference srcContext;
- CGrafPtr srcBuffer;
- Rect srcRect;
- UInt32 srcKey;
-
- DSpContextReference dstContext;
- CGrafPtr dstBuffer;
- Rect dstRect;
- UInt32 dstKey;
-
- DSpBlitMode mode;
- UInt32 reserved[4];
- };
-
-
- typedef DSpBlitInfo * DSpBlitInfoPtr;
- /*
- ********************************************************************************
- ** function prototypes
- ********************************************************************************
- */
-
- /*
- ** global operations
- */
- /*
- * DSpStartup()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpStartup(void);
-
-
- /*
- * DSpShutdown()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpShutdown(void);
-
-
- /*
- * DSpGetVersion()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NumVersion)
- DSpGetVersion(void);
-
-
- /*
- * DSpGetFirstContext()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpGetFirstContext(
- DisplayIDType inDisplayID,
- DSpContextReference * outContext);
-
-
- /*
- * DSpGetNextContext()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpGetNextContext(
- DSpContextReference inCurrentContext,
- DSpContextReference * outContext);
-
-
- /*
- * DSpGetCurrentContext()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpGetCurrentContext(
- DisplayIDType inDisplayID,
- DSpContextReference * outContext);
-
-
- /*
- * DSpFindBestContext()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpFindBestContext(
- DSpContextAttributesPtr inDesiredAttributes,
- DSpContextReference * outContext);
-
-
- /*
- * DSpFindBestContextOnDisplayID()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpFindBestContextOnDisplayID(
- DSpContextAttributesPtr inDesiredAttributes,
- DSpContextReference * outContext,
- DisplayIDType inDisplayID);
+struct DSpContextAttributes {
+ Fixed frequency;
+ UInt32 displayWidth;
+ UInt32 displayHeight;
+ UInt32 reserved1;
+ UInt32 reserved2;
+ UInt32 colorNeeds;
+ CTabHandle colorTable;
+ OptionBits contextOptions;
+ OptionBits backBufferDepthMask;
+ OptionBits displayDepthMask;
+ UInt32 backBufferBestDepth;
+ UInt32 displayBestDepth;
+ UInt32 pageCount;
+ char filler[3];
+ Boolean gameMustConfirmSwitch;
+ UInt32 reserved3[4];
+};
+typedef struct DSpContextAttributes DSpContextAttributes;
+typedef DSpContextAttributes * DSpContextAttributesPtr;
+struct DSpAltBufferAttributes {
+ UInt32 width;
+ UInt32 height;
+ DSpAltBufferOption options;
+ UInt32 reserved[4];
+};
+typedef struct DSpAltBufferAttributes DSpAltBufferAttributes;
+typedef struct DSpBlitInfo DSpBlitInfo;
+typedef CALLBACK_API_C( void , DSpBlitDoneProc )(DSpBlitInfo * info);
+struct DSpBlitInfo {
+ Boolean completionFlag;
+ char filler[3];
+ DSpBlitDoneProc completionProc;
+ DSpContextReference srcContext;
+ CGrafPtr srcBuffer;
+ Rect srcRect;
+ UInt32 srcKey;
+
+ DSpContextReference dstContext;
+ CGrafPtr dstBuffer;
+ Rect dstRect;
+ UInt32 dstKey;
+
+ DSpBlitMode mode;
+ UInt32 reserved[4];
+};
+
+
+typedef DSpBlitInfo * DSpBlitInfoPtr;
+/*
+********************************************************************************
+** function prototypes
+********************************************************************************
+*/
+
+/*
+** global operations
+*/
+/*
+ * DSpStartup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpStartup(void);
+
+
+/*
+ * DSpShutdown()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpShutdown(void);
+
+
+/*
+ * DSpGetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NumVersion )
+DSpGetVersion(void);
+
+
+/*
+ * DSpGetFirstContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpGetFirstContext(
+ DisplayIDType inDisplayID,
+ DSpContextReference * outContext);
+
+
+/*
+ * DSpGetNextContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpGetNextContext(
+ DSpContextReference inCurrentContext,
+ DSpContextReference * outContext);
+
+
+/*
+ * DSpGetCurrentContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpGetCurrentContext(
+ DisplayIDType inDisplayID,
+ DSpContextReference * outContext);
+
+
+/*
+ * DSpFindBestContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpFindBestContext(
+ DSpContextAttributesPtr inDesiredAttributes,
+ DSpContextReference * outContext);
+
+
+/*
+ * DSpFindBestContextOnDisplayID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpFindBestContextOnDisplayID(
+ DSpContextAttributesPtr inDesiredAttributes,
+ DSpContextReference * outContext,
+ DisplayIDType inDisplayID);
#if CALL_NOT_IN_CARBON
- /*
- * DSpCanUserSelectContext()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpCanUserSelectContext(
- DSpContextAttributesPtr inDesiredAttributes,
- Boolean * outUserCanSelectContext);
-
-
- /*
- * DSpUserSelectContext()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpUserSelectContext(
- DSpContextAttributesPtr inDesiredAttributes,
- DisplayIDType inDialogDisplayLocation,
- DSpEventUPP inEventProc,
- DSpContextReference * outContext);
+/*
+ * DSpCanUserSelectContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpCanUserSelectContext(
+ DSpContextAttributesPtr inDesiredAttributes,
+ Boolean * outUserCanSelectContext);
+
+
+/*
+ * DSpUserSelectContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpUserSelectContext(
+ DSpContextAttributesPtr inDesiredAttributes,
+ DisplayIDType inDialogDisplayLocation,
+ DSpEventUPP inEventProc,
+ DSpContextReference * outContext);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DSpProcessEvent()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpProcessEvent(
- EventRecord * inEvent,
- Boolean * outEventWasProcessed);
-
-
- /*
- * DSpSetBlankingColor()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpSetBlankingColor(const RGBColor * inRGBColor);
-
-
- /*
- * DSpSetDebugMode()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpSetDebugMode(Boolean inDebugMode);
-
-
- /*
- * DSpFindContextFromPoint()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpFindContextFromPoint(
- Point inGlobalPoint,
- DSpContextReference * outContext);
-
-
- /*
- * DSpGetMouse()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpGetMouse(Point * outGlobalPoint);
-
-
- /*
- ** alternate buffer operations
- */
+/*
+ * DSpProcessEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpProcessEvent(
+ EventRecord * inEvent,
+ Boolean * outEventWasProcessed);
+
+
+/*
+ * DSpSetBlankingColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpSetBlankingColor(const RGBColor * inRGBColor);
+
+
+/*
+ * DSpSetDebugMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpSetDebugMode(Boolean inDebugMode);
+
+
+/*
+ * DSpFindContextFromPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpFindContextFromPoint(
+ Point inGlobalPoint,
+ DSpContextReference * outContext);
+
+
+/*
+ * DSpGetMouse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpGetMouse(Point * outGlobalPoint);
+
+
+/*
+** alternate buffer operations
+*/
#if CALL_NOT_IN_CARBON
- /*
- * DSpAltBuffer_New()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpAltBuffer_New(
- DSpContextReference inContext,
- Boolean inVRAMBuffer,
- DSpAltBufferAttributes * inAttributes,
- DSpAltBufferReference * outAltBuffer);
-
-
- /*
- * DSpAltBuffer_Dispose()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpAltBuffer_Dispose(DSpAltBufferReference inAltBuffer);
-
-
- /*
- * DSpAltBuffer_InvalRect()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpAltBuffer_InvalRect(
- DSpAltBufferReference inAltBuffer,
- const Rect * inInvalidRect);
-
-
- /*
- * DSpAltBuffer_GetCGrafPtr()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpAltBuffer_GetCGrafPtr(
- DSpAltBufferReference inAltBuffer,
- DSpBufferKind inBufferKind,
- CGrafPtr * outCGrafPtr,
- GDHandle * outGDevice);
-
-
- /*
- ** context operations
- */
- /* general */
+/*
+ * DSpAltBuffer_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpAltBuffer_New(
+ DSpContextReference inContext,
+ Boolean inVRAMBuffer,
+ DSpAltBufferAttributes * inAttributes,
+ DSpAltBufferReference * outAltBuffer);
+
+
+/*
+ * DSpAltBuffer_Dispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpAltBuffer_Dispose(DSpAltBufferReference inAltBuffer);
+
+
+/*
+ * DSpAltBuffer_InvalRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpAltBuffer_InvalRect(
+ DSpAltBufferReference inAltBuffer,
+ const Rect * inInvalidRect);
+
+
+/*
+ * DSpAltBuffer_GetCGrafPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpAltBuffer_GetCGrafPtr(
+ DSpAltBufferReference inAltBuffer,
+ DSpBufferKind inBufferKind,
+ CGrafPtr * outCGrafPtr,
+ GDHandle * outGDevice);
+
+
+/*
+** context operations
+*/
+/* general */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DSpContext_GetAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetAttributes(
- DSpContextReferenceConst inContext,
- DSpContextAttributesPtr outAttributes);
-
-
- /*
- * DSpContext_Reserve()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_Reserve(
- DSpContextReference inContext,
- DSpContextAttributesPtr inDesiredAttributes);
-
-
- /*
- * DSpContext_Queue()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_Queue(
- DSpContextReference inParentContext,
- DSpContextReference inChildContext,
- DSpContextAttributesPtr inDesiredAttributes);
-
-
- /*
- * DSpContext_Switch()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_Switch(
- DSpContextReference inOldContext,
- DSpContextReference inNewContext);
-
-
- /*
- * DSpContext_Release()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_Release(DSpContextReference inContext);
-
-
- /*
- * DSpContext_Dispose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_Dispose(DSpContextReference inContext);
-
-
- /*
- * DSpContext_GetDisplayID()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetDisplayID(
- DSpContextReferenceConst inContext,
- DisplayIDType * outDisplayID);
-
-
- /*
- * DSpContext_GlobalToLocal()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GlobalToLocal(
- DSpContextReferenceConst inContext,
- Point * ioPoint);
-
-
- /*
- * DSpContext_LocalToGlobal()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_LocalToGlobal(
- DSpContextReferenceConst inContext,
- Point * ioPoint);
+/*
+ * DSpContext_GetAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetAttributes(
+ DSpContextReferenceConst inContext,
+ DSpContextAttributesPtr outAttributes);
+
+
+/*
+ * DSpContext_Reserve()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_Reserve(
+ DSpContextReference inContext,
+ DSpContextAttributesPtr inDesiredAttributes);
+
+
+/*
+ * DSpContext_Queue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_Queue(
+ DSpContextReference inParentContext,
+ DSpContextReference inChildContext,
+ DSpContextAttributesPtr inDesiredAttributes);
+
+
+/*
+ * DSpContext_Switch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.7 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_Switch(
+ DSpContextReference inOldContext,
+ DSpContextReference inNewContext);
+
+
+/*
+ * DSpContext_Release()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_Release(DSpContextReference inContext);
+
+
+/*
+ * DSpContext_Dispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_Dispose(DSpContextReference inContext);
+
+
+/*
+ * DSpContext_GetDisplayID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetDisplayID(
+ DSpContextReferenceConst inContext,
+ DisplayIDType * outDisplayID);
+
+
+/*
+ * DSpContext_GlobalToLocal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GlobalToLocal(
+ DSpContextReferenceConst inContext,
+ Point * ioPoint);
+
+
+/*
+ * DSpContext_LocalToGlobal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_LocalToGlobal(
+ DSpContextReferenceConst inContext,
+ Point * ioPoint);
#if CALL_NOT_IN_CARBON
- /*
- * DSpContext_SetVBLProc()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_SetVBLProc(
- DSpContextReference inContext,
- DSpCallbackUPP inProcPtr,
- void * inRefCon);
-
-
- /*
- * DSpContext_GetFlattenedSize()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetFlattenedSize(
- DSpContextReference inContext,
- UInt32 * outFlatContextSize);
-
-
- /*
- * DSpContext_Flatten()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_Flatten(
- DSpContextReference inContext,
- void * outFlatContext);
-
-
- /*
- * DSpContext_Restore()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_Restore(
- void * inFlatContext,
- DSpContextReference * outRestoredContext);
+/*
+ * DSpContext_SetVBLProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_SetVBLProc(
+ DSpContextReference inContext,
+ DSpCallbackUPP inProcPtr,
+ void * inRefCon);
+
+
+/*
+ * DSpContext_GetFlattenedSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetFlattenedSize(
+ DSpContextReference inContext,
+ UInt32 * outFlatContextSize);
+
+
+/*
+ * DSpContext_Flatten()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_Flatten(
+ DSpContextReference inContext,
+ void * outFlatContext);
+
+
+/*
+ * DSpContext_Restore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_Restore(
+ void * inFlatContext,
+ DSpContextReference * outRestoredContext);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DSpContext_GetMonitorFrequency()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetMonitorFrequency(
- DSpContextReferenceConst inContext,
- Fixed * outFrequency);
+/*
+ * DSpContext_GetMonitorFrequency()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetMonitorFrequency(
+ DSpContextReferenceConst inContext,
+ Fixed * outFrequency);
#if CALL_NOT_IN_CARBON
- /*
- * DSpContext_SetMaxFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_SetMaxFrameRate(
- DSpContextReference inContext,
- UInt32 inMaxFPS);
-
-
- /*
- * DSpContext_GetMaxFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetMaxFrameRate(
- DSpContextReferenceConst inContext,
- UInt32 * outMaxFPS);
+/*
+ * DSpContext_SetMaxFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_SetMaxFrameRate(
+ DSpContextReference inContext,
+ UInt32 inMaxFPS);
+
+
+/*
+ * DSpContext_GetMaxFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetMaxFrameRate(
+ DSpContextReferenceConst inContext,
+ UInt32 * outMaxFPS);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DSpContext_SetState()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_SetState(
- DSpContextReference inContext,
- DSpContextState inState);
-
-
- /*
- * DSpContext_GetState()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetState(
- DSpContextReferenceConst inContext,
- DSpContextState * outState);
-
-
- /*
- * DSpContext_IsBusy()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_IsBusy(
- DSpContextReferenceConst inContext,
- Boolean * outBusyFlag);
-
-
- /* dirty rectangles */
+/*
+ * DSpContext_SetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_SetState(
+ DSpContextReference inContext,
+ DSpContextState inState);
+
+
+/*
+ * DSpContext_GetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetState(
+ DSpContextReferenceConst inContext,
+ DSpContextState * outState);
+
+
+/*
+ * DSpContext_IsBusy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_IsBusy(
+ DSpContextReferenceConst inContext,
+ Boolean * outBusyFlag);
+
+
+/* dirty rectangles */
#if CALL_NOT_IN_CARBON
- /*
- * DSpContext_SetDirtyRectGridSize()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_SetDirtyRectGridSize(
- DSpContextReference inContext,
- UInt32 inCellPixelWidth,
- UInt32 inCellPixelHeight);
-
-
- /*
- * DSpContext_GetDirtyRectGridSize()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetDirtyRectGridSize(
- DSpContextReferenceConst inContext,
- UInt32 * outCellPixelWidth,
- UInt32 * outCellPixelHeight);
-
-
- /*
- * DSpContext_GetDirtyRectGridUnits()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetDirtyRectGridUnits(
- DSpContextReferenceConst inContext,
- UInt32 * outCellPixelWidth,
- UInt32 * outCellPixelHeight);
-
-
- /*
- * DSpContext_InvalBackBufferRect()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_InvalBackBufferRect(
- DSpContextReference inContext,
- const Rect * inRect);
-
-
- /* underlays */
- /*
- * DSpContext_SetUnderlayAltBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_SetUnderlayAltBuffer(
- DSpContextReference inContext,
- DSpAltBufferReference inNewUnderlay);
-
-
- /*
- * DSpContext_GetUnderlayAltBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetUnderlayAltBuffer(
- DSpContextReferenceConst inContext,
- DSpAltBufferReference * outUnderlay);
-
-
- /* gamma */
+/*
+ * DSpContext_SetDirtyRectGridSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_SetDirtyRectGridSize(
+ DSpContextReference inContext,
+ UInt32 inCellPixelWidth,
+ UInt32 inCellPixelHeight);
+
+
+/*
+ * DSpContext_GetDirtyRectGridSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetDirtyRectGridSize(
+ DSpContextReferenceConst inContext,
+ UInt32 * outCellPixelWidth,
+ UInt32 * outCellPixelHeight);
+
+
+/*
+ * DSpContext_GetDirtyRectGridUnits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetDirtyRectGridUnits(
+ DSpContextReferenceConst inContext,
+ UInt32 * outCellPixelWidth,
+ UInt32 * outCellPixelHeight);
+
+
+/*
+ * DSpContext_InvalBackBufferRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_InvalBackBufferRect(
+ DSpContextReference inContext,
+ const Rect * inRect);
+
+
+/* underlays */
+/*
+ * DSpContext_SetUnderlayAltBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_SetUnderlayAltBuffer(
+ DSpContextReference inContext,
+ DSpAltBufferReference inNewUnderlay);
+
+
+/*
+ * DSpContext_GetUnderlayAltBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetUnderlayAltBuffer(
+ DSpContextReferenceConst inContext,
+ DSpAltBufferReference * outUnderlay);
+
+
+/* gamma */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DSpContext_FadeGammaOut()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_FadeGammaOut(
- DSpContextReference inContext,
- RGBColor * inZeroIntensityColor);
-
-
- /*
- * DSpContext_FadeGammaIn()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_FadeGammaIn(
- DSpContextReference inContext,
- RGBColor * inZeroIntensityColor);
-
-
- /*
- * DSpContext_FadeGamma()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_FadeGamma(
- DSpContextReference inContext,
- SInt32 inPercentOfOriginalIntensity,
- RGBColor * inZeroIntensityColor);
-
-
- /* buffering */
- /*
- * DSpContext_SwapBuffers()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_SwapBuffers(
- DSpContextReference inContext,
- DSpCallbackUPP inBusyProc,
- void * inUserRefCon);
-
-
- /*
- * DSpContext_GetBackBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetBackBuffer(
- DSpContextReference inContext,
- DSpBufferKind inBufferKind,
- CGrafPtr * outBackBuffer);
-
-
- /*
- * DSpContext_GetFrontBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetFrontBuffer(
- DSpContextReferenceConst inContext,
- CGrafPtr * outFrontBuffer);
-
-
- /* clut operations */
- /*
- * DSpContext_SetCLUTEntries()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_SetCLUTEntries(
- DSpContextReference inContext,
- const ColorSpec * inEntries,
- UInt16 inStartingEntry,
- UInt16 inLastEntry);
-
-
- /*
- * DSpContext_GetCLUTEntries()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- DSpContext_GetCLUTEntries(
- DSpContextReferenceConst inContext,
- ColorSpec * outEntries,
- UInt16 inStartingEntry,
- UInt16 inLastEntry);
-
-
- /* blit operations */
+/*
+ * DSpContext_FadeGammaOut()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_FadeGammaOut(
+ DSpContextReference inContext,
+ RGBColor * inZeroIntensityColor);
+
+
+/*
+ * DSpContext_FadeGammaIn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_FadeGammaIn(
+ DSpContextReference inContext,
+ RGBColor * inZeroIntensityColor);
+
+
+/*
+ * DSpContext_FadeGamma()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_FadeGamma(
+ DSpContextReference inContext,
+ SInt32 inPercentOfOriginalIntensity,
+ RGBColor * inZeroIntensityColor);
+
+
+/* buffering */
+/*
+ * DSpContext_SwapBuffers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_SwapBuffers(
+ DSpContextReference inContext,
+ DSpCallbackUPP inBusyProc,
+ void * inUserRefCon);
+
+
+/*
+ * DSpContext_GetBackBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetBackBuffer(
+ DSpContextReference inContext,
+ DSpBufferKind inBufferKind,
+ CGrafPtr * outBackBuffer);
+
+
+/*
+ * DSpContext_GetFrontBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetFrontBuffer(
+ DSpContextReferenceConst inContext,
+ CGrafPtr * outFrontBuffer);
+
+
+/* clut operations */
+/*
+ * DSpContext_SetCLUTEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_SetCLUTEntries(
+ DSpContextReference inContext,
+ const ColorSpec * inEntries,
+ UInt16 inStartingEntry,
+ UInt16 inLastEntry);
+
+
+/*
+ * DSpContext_GetCLUTEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+DSpContext_GetCLUTEntries(
+ DSpContextReferenceConst inContext,
+ ColorSpec * outEntries,
+ UInt16 inStartingEntry,
+ UInt16 inLastEntry);
+
+
+/* blit operations */
#if CALL_NOT_IN_CARBON
- /*
- * DSpBlit_Faster()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpBlit_Faster(
- DSpBlitInfoPtr inBlitInfo,
- Boolean inAsyncFlag);
-
-
- /*
- * DSpBlit_Fastest()
- *
- * Availability:
- * Non-Carbon CFM: in DrawSprocketLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DSpBlit_Fastest(
- DSpBlitInfoPtr inBlitInfo,
- Boolean inAsyncFlag);
+/*
+ * DSpBlit_Faster()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpBlit_Faster(
+ DSpBlitInfoPtr inBlitInfo,
+ Boolean inAsyncFlag);
+
+
+/*
+ * DSpBlit_Fastest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DrawSprocketLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DSpBlit_Fastest(
+ DSpBlitInfoPtr inBlitInfo,
+ Boolean inAsyncFlag);
@@ -1135,22 +1114,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __DRAWSPROCKET__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __DRAWSPROCKET__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__DRAWSPROCKET__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/DriverServices.h b/include/qt/DriverServices.h
index c97a6d2b0..373c7f06a 100644
--- a/include/qt/DriverServices.h
+++ b/include/qt/DriverServices.h
@@ -1,17 +1,17 @@
/*
File: DriverServices.h
-
+
Contains: Driver Services Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DRIVERSERVICES__
#define __DRIVERSERVICES__
@@ -60,1325 +60,1303 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /******************************************************************
- *
- * Previously in Kernel.h
- *
- ******************************************************************/
- /* Kernel basics*/
- typedef struct OpaqueIOPreparationID* IOPreparationID;
- typedef struct OpaqueSoftwareInterruptID* SoftwareInterruptID;
- typedef struct OpaqueTaskID* TaskID;
- typedef struct OpaqueTimerID* TimerID;
- /* Tasking*/
- typedef UInt32 ExecutionLevel;
- enum
- {
- kTaskLevel = 0,
- kSoftwareInterruptLevel = 1,
- kAcceptFunctionLevel = 2,
- kKernelLevel = 3,
- kSIHAcceptFunctionLevel = 4,
- kSecondaryInterruptLevel = 5,
- kHardwareInterruptLevel = 6,
- kMPTaskLevel = 7
- };
-
- typedef CALLBACK_API_C(void , SoftwareInterruptHandler)(void *p1, void *p2);
- typedef CALLBACK_API_C(OSStatus , SecondaryInterruptHandler2)(void *p1, void *p2);
+/******************************************************************
+ *
+ * Previously in Kernel.h
+ *
+ ******************************************************************/
+/* Kernel basics*/
+typedef struct OpaqueIOPreparationID* IOPreparationID;
+typedef struct OpaqueSoftwareInterruptID* SoftwareInterruptID;
+typedef struct OpaqueTaskID* TaskID;
+typedef struct OpaqueTimerID* TimerID;
+/* Tasking*/
+typedef UInt32 ExecutionLevel;
+enum {
+ kTaskLevel = 0,
+ kSoftwareInterruptLevel = 1,
+ kAcceptFunctionLevel = 2,
+ kKernelLevel = 3,
+ kSIHAcceptFunctionLevel = 4,
+ kSecondaryInterruptLevel = 5,
+ kHardwareInterruptLevel = 6,
+ kMPTaskLevel = 7
+};
+
+typedef CALLBACK_API_C( void , SoftwareInterruptHandler )(void *p1, void *p2);
+typedef CALLBACK_API_C( OSStatus , SecondaryInterruptHandler2 )(void *p1, void *p2);
#define kCurrentAddressSpaceID ((AddressSpaceID) -1)
- /* Memory System basics*/
- struct LogicalAddressRange
- {
- LogicalAddress address;
- ByteCount count;
- };
- typedef struct LogicalAddressRange LogicalAddressRange;
- typedef LogicalAddressRange * LogicalAddressRangePtr;
- struct PhysicalAddressRange
- {
- PhysicalAddress address;
- ByteCount count;
- };
- typedef struct PhysicalAddressRange PhysicalAddressRange;
- typedef PhysicalAddressRange * PhysicalAddressRangePtr;
- /* For PrepareMemoryForIO and CheckpointIO*/
- typedef OptionBits IOPreparationOptions;
- enum
- {
- kIOMultipleRanges = 0x00000001,
- kIOLogicalRanges = 0x00000002,
- kIOMinimalLogicalMapping = 0x00000004,
- kIOShareMappingTables = 0x00000008,
- kIOIsInput = 0x00000010,
- kIOIsOutput = 0x00000020,
- kIOCoherentDataPath = 0x00000040,
- kIOTransferIsLogical = 0x00000080,
- kIOClientIsUserMode = 0x00000080
- };
-
- typedef OptionBits IOPreparationState;
- enum
- {
- kIOStateDone = 0x00000001
- };
-
- enum
- {
- kInvalidPageAddress = (-1)
- };
-
- struct AddressRange
- {
- void * base;
- ByteCount length;
- };
- typedef struct AddressRange AddressRange;
- /* C's treatment of arrays and array pointers is atypical*/
-
- typedef LogicalAddress * LogicalMappingTablePtr;
- typedef PhysicalAddress * PhysicalMappingTablePtr;
- typedef AddressRange * AddressRangeTablePtr;
- struct MultipleAddressRange
- {
- ItemCount entryCount;
- AddressRangeTablePtr rangeTable;
- };
- typedef struct MultipleAddressRange MultipleAddressRange;
- /*
- Separate C definition so that union has a name. A future version of the interfacer
- tool will allow a name (that gets thrown out in Pascal and Asm).
- */
- struct IOPreparationTable
- {
- IOPreparationOptions options;
- IOPreparationState state;
- IOPreparationID preparationID;
- AddressSpaceID addressSpace;
- ByteCount granularity;
- ByteCount firstPrepared;
- ByteCount lengthPrepared;
- ItemCount mappingEntryCount;
- LogicalMappingTablePtr logicalMapping;
- PhysicalMappingTablePtr physicalMapping;
- union
- {
- AddressRange range;
- MultipleAddressRange multipleRanges;
- } rangeInfo;
- };
- typedef struct IOPreparationTable IOPreparationTable;
-
- typedef OptionBits IOCheckpointOptions;
- enum
- {
- kNextIOIsInput = 0x00000001,
- kNextIOIsOutput = 0x00000002,
- kMoreIOTransfers = 0x00000004
- };
-
- /* For SetProcessorCacheMode*/
-
- typedef UInt32 ProcessorCacheMode;
- enum
- {
- kProcessorCacheModeDefault = 0,
- kProcessorCacheModeInhibited = 1,
- kProcessorCacheModeWriteThrough = 2,
- kProcessorCacheModeCopyBack = 3
- };
-
- /*
- For GetPageInformation
- (Note: if kPageInformationVersion fails, try 0 -- old versions of DSL defined kPageInformationVersion as 0)
- */
-
- enum
- {
- kPageInformationVersion = 1
- };
-
- typedef UInt32 PageStateInformation;
- enum
- {
- kPageIsProtected = 0x00000001,
- kPageIsProtectedPrivileged = 0x00000002,
- kPageIsModified = 0x00000004,
- kPageIsReferenced = 0x00000008,
- kPageIsLockedResident = 0x00000010, /* held and locked resident*/
- kPageIsInMemory = 0x00000020,
- kPageIsShared = 0x00000040,
- kPageIsWriteThroughCached = 0x00000080,
- kPageIsCopyBackCached = 0x00000100,
- kPageIsHeldResident = 0x00000200, /* held resident - use kPageIsLockedResident to check for locked state*/
- kPageIsLocked = kPageIsLockedResident, /* Deprecated*/
- kPageIsResident = kPageIsInMemory /* Deprecated*/
- };
-
- struct PageInformation
- {
- AreaID area;
- ItemCount count;
- PageStateInformation information[1];
- };
- typedef struct PageInformation PageInformation;
- typedef PageInformation * PageInformationPtr;
-
- /* Tasks */
+/* Memory System basics*/
+struct LogicalAddressRange {
+ LogicalAddress address;
+ ByteCount count;
+};
+typedef struct LogicalAddressRange LogicalAddressRange;
+typedef LogicalAddressRange * LogicalAddressRangePtr;
+struct PhysicalAddressRange {
+ PhysicalAddress address;
+ ByteCount count;
+};
+typedef struct PhysicalAddressRange PhysicalAddressRange;
+typedef PhysicalAddressRange * PhysicalAddressRangePtr;
+/* For PrepareMemoryForIO and CheckpointIO*/
+typedef OptionBits IOPreparationOptions;
+enum {
+ kIOMultipleRanges = 0x00000001,
+ kIOLogicalRanges = 0x00000002,
+ kIOMinimalLogicalMapping = 0x00000004,
+ kIOShareMappingTables = 0x00000008,
+ kIOIsInput = 0x00000010,
+ kIOIsOutput = 0x00000020,
+ kIOCoherentDataPath = 0x00000040,
+ kIOTransferIsLogical = 0x00000080,
+ kIOClientIsUserMode = 0x00000080
+};
+
+typedef OptionBits IOPreparationState;
+enum {
+ kIOStateDone = 0x00000001
+};
+
+enum {
+ kInvalidPageAddress = (-1)
+};
+
+struct AddressRange {
+ void * base;
+ ByteCount length;
+};
+typedef struct AddressRange AddressRange;
+/* C's treatment of arrays and array pointers is atypical*/
+
+typedef LogicalAddress * LogicalMappingTablePtr;
+typedef PhysicalAddress * PhysicalMappingTablePtr;
+typedef AddressRange * AddressRangeTablePtr;
+struct MultipleAddressRange {
+ ItemCount entryCount;
+ AddressRangeTablePtr rangeTable;
+};
+typedef struct MultipleAddressRange MultipleAddressRange;
+/*
+ Separate C definition so that union has a name. A future version of the interfacer
+ tool will allow a name (that gets thrown out in Pascal and Asm).
+*/
+struct IOPreparationTable {
+ IOPreparationOptions options;
+ IOPreparationState state;
+ IOPreparationID preparationID;
+ AddressSpaceID addressSpace;
+ ByteCount granularity;
+ ByteCount firstPrepared;
+ ByteCount lengthPrepared;
+ ItemCount mappingEntryCount;
+ LogicalMappingTablePtr logicalMapping;
+ PhysicalMappingTablePtr physicalMapping;
+ union {
+ AddressRange range;
+ MultipleAddressRange multipleRanges;
+ } rangeInfo;
+};
+typedef struct IOPreparationTable IOPreparationTable;
+
+typedef OptionBits IOCheckpointOptions;
+enum {
+ kNextIOIsInput = 0x00000001,
+ kNextIOIsOutput = 0x00000002,
+ kMoreIOTransfers = 0x00000004
+};
+
+/* For SetProcessorCacheMode*/
+
+typedef UInt32 ProcessorCacheMode;
+enum {
+ kProcessorCacheModeDefault = 0,
+ kProcessorCacheModeInhibited = 1,
+ kProcessorCacheModeWriteThrough = 2,
+ kProcessorCacheModeCopyBack = 3
+};
+
+/*
+ For GetPageInformation
+ (Note: if kPageInformationVersion fails, try 0 -- old versions of DSL defined kPageInformationVersion as 0)
+*/
+
+enum {
+ kPageInformationVersion = 1
+};
+
+typedef UInt32 PageStateInformation;
+enum {
+ kPageIsProtected = 0x00000001,
+ kPageIsProtectedPrivileged = 0x00000002,
+ kPageIsModified = 0x00000004,
+ kPageIsReferenced = 0x00000008,
+ kPageIsLockedResident = 0x00000010, /* held and locked resident*/
+ kPageIsInMemory = 0x00000020,
+ kPageIsShared = 0x00000040,
+ kPageIsWriteThroughCached = 0x00000080,
+ kPageIsCopyBackCached = 0x00000100,
+ kPageIsHeldResident = 0x00000200, /* held resident - use kPageIsLockedResident to check for locked state*/
+ kPageIsLocked = kPageIsLockedResident, /* Deprecated*/
+ kPageIsResident = kPageIsInMemory /* Deprecated*/
+};
+
+struct PageInformation {
+ AreaID area;
+ ItemCount count;
+ PageStateInformation information[1];
+};
+typedef struct PageInformation PageInformation;
+typedef PageInformation * PageInformationPtr;
+
+/* Tasks */
#if CALL_NOT_IN_CARBON
- /*
- * CurrentExecutionLevel()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ExecutionLevel)
- CurrentExecutionLevel(void);
-
-
- /*
- * CurrentTaskID()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TaskID)
- CurrentTaskID(void);
-
-
- /*
- * DelayFor()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DelayFor(Duration delayDuration);
-
-
- /*
- * InPrivilegedMode()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InPrivilegedMode(void);
-
-
-
- /* Software Interrupts */
- /*
- * CreateSoftwareInterrupt()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- CreateSoftwareInterrupt(
- SoftwareInterruptHandler handler,
- TaskID task,
- void * p1,
- Boolean persistent,
- SoftwareInterruptID * theSoftwareInterrupt);
-
-
-
- /*
- * SendSoftwareInterrupt()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- SendSoftwareInterrupt(
- SoftwareInterruptID theSoftwareInterrupt,
- void * p2);
-
-
- /*
- * DeleteSoftwareInterrupt()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DeleteSoftwareInterrupt(SoftwareInterruptID theSoftwareInterrupt);
+/*
+ * CurrentExecutionLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ExecutionLevel )
+CurrentExecutionLevel(void);
+
+
+/*
+ * CurrentTaskID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TaskID )
+CurrentTaskID(void);
+
+
+/*
+ * DelayFor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DelayFor(Duration delayDuration);
+
+
+/*
+ * InPrivilegedMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InPrivilegedMode(void);
+
+
+
+/* Software Interrupts */
+/*
+ * CreateSoftwareInterrupt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+CreateSoftwareInterrupt(
+ SoftwareInterruptHandler handler,
+ TaskID task,
+ void * p1,
+ Boolean persistent,
+ SoftwareInterruptID * theSoftwareInterrupt);
+
+
+
+/*
+ * SendSoftwareInterrupt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+SendSoftwareInterrupt(
+ SoftwareInterruptID theSoftwareInterrupt,
+ void * p2);
+
+
+/*
+ * DeleteSoftwareInterrupt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DeleteSoftwareInterrupt(SoftwareInterruptID theSoftwareInterrupt);
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_OS_MAC
- /* Secondary Interrupts */
+/* Secondary Interrupts */
#if CALL_NOT_IN_CARBON
- /*
- * CallSecondaryInterruptHandler2()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- CallSecondaryInterruptHandler2(
- SecondaryInterruptHandler2 theHandler,
- ExceptionHandler exceptionHandler,
- void * p1,
- void * p2);
-
-
- /*
- * QueueSecondaryInterruptHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- QueueSecondaryInterruptHandler(
- SecondaryInterruptHandler2 theHandler,
- ExceptionHandler exceptionHandler,
- void * p1,
- void * p2);
+/*
+ * CallSecondaryInterruptHandler2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+CallSecondaryInterruptHandler2(
+ SecondaryInterruptHandler2 theHandler,
+ ExceptionHandler exceptionHandler,
+ void * p1,
+ void * p2);
+
+
+/*
+ * QueueSecondaryInterruptHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+QueueSecondaryInterruptHandler(
+ SecondaryInterruptHandler2 theHandler,
+ ExceptionHandler exceptionHandler,
+ void * p1,
+ void * p2);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_OS_MAC */
- /* Timers */
+/* Timers */
#if CALL_NOT_IN_CARBON
- /*
- * SetInterruptTimer()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- SetInterruptTimer(
- const AbsoluteTime * expirationTime,
- SecondaryInterruptHandler2 handler,
- void * p1,
- TimerID * theTimer);
-
-
- /*
- * SetPersistentTimer()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- SetPersistentTimer(
- Duration frequency,
- SecondaryInterruptHandler2 theHandler,
- void * p1,
- TimerID * theTimer);
-
-
- /*
- * CancelTimer()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- CancelTimer(
- TimerID theTimer,
- AbsoluteTime * timeRemaining);
-
-
-
- /* I/O related Operations */
- /*
- * PrepareMemoryForIO()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- PrepareMemoryForIO(IOPreparationTable * theIOPreparationTable);
-
-
- /*
- * CheckpointIO()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- CheckpointIO(
- IOPreparationID theIOPreparation,
- IOCheckpointOptions options);
-
-
-
- /* Memory Operations */
- /*
- * GetPageInformation()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- GetPageInformation(
- AddressSpaceID addressSpace,
- ConstLogicalAddress base,
- ByteCount length,
- PBVersion version,
- PageInformation * thePageInfo);
-
-
- /* Processor Cache Related */
- /*
- * SetProcessorCacheMode()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- SetProcessorCacheMode(
- AddressSpaceID addressSpace,
- ConstLogicalAddress base,
- ByteCount length,
- ProcessorCacheMode cacheMode);
-
-
- /******************************************************************
- *
- * Was in DriverSupport.h or DriverServices.h
- *
- ******************************************************************/
+/*
+ * SetInterruptTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+SetInterruptTimer(
+ const AbsoluteTime * expirationTime,
+ SecondaryInterruptHandler2 handler,
+ void * p1,
+ TimerID * theTimer);
+
+
+/*
+ * SetPersistentTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+SetPersistentTimer(
+ Duration frequency,
+ SecondaryInterruptHandler2 theHandler,
+ void * p1,
+ TimerID * theTimer);
+
+
+/*
+ * CancelTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+CancelTimer(
+ TimerID theTimer,
+ AbsoluteTime * timeRemaining);
+
+
+
+/* I/O related Operations */
+/*
+ * PrepareMemoryForIO()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+PrepareMemoryForIO(IOPreparationTable * theIOPreparationTable);
+
+
+/*
+ * CheckpointIO()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+CheckpointIO(
+ IOPreparationID theIOPreparation,
+ IOCheckpointOptions options);
+
+
+
+/* Memory Operations */
+/*
+ * GetPageInformation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+GetPageInformation(
+ AddressSpaceID addressSpace,
+ ConstLogicalAddress base,
+ ByteCount length,
+ PBVersion version,
+ PageInformation * thePageInfo);
+
+
+/* Processor Cache Related */
+/*
+ * SetProcessorCacheMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+SetProcessorCacheMode(
+ AddressSpaceID addressSpace,
+ ConstLogicalAddress base,
+ ByteCount length,
+ ProcessorCacheMode cacheMode);
+
+
+/******************************************************************
+ *
+ * Was in DriverSupport.h or DriverServices.h
+ *
+ ******************************************************************/
#define kAAPLDeviceLogicalAddress "AAPL,address"
#endif /* CALL_NOT_IN_CARBON */
- typedef LogicalAddress * DeviceLogicalAddressPtr;
- enum
- {
- durationMicrosecond = -1L, /* Microseconds are negative*/
- durationMillisecond = 1L, /* Milliseconds are positive*/
- durationSecond = 1000L, /* 1000 * durationMillisecond*/
- durationMinute = 60000L, /* 60 * durationSecond,*/
- durationHour = 3600000L, /* 60 * durationMinute,*/
- durationDay = 86400000L, /* 24 * durationHour,*/
- durationNoWait = 0L, /* don't block*/
- durationForever = 0x7FFFFFFF /* no time limit*/
- };
-
- enum
- {
- k8BitAccess = 0, /* access as 8 bit*/
- k16BitAccess = 1, /* access as 16 bit*/
- k32BitAccess = 2 /* access as 32 bit*/
- };
-
- typedef UnsignedWide Nanoseconds;
+typedef LogicalAddress * DeviceLogicalAddressPtr;
+enum {
+ durationMicrosecond = -1L, /* Microseconds are negative*/
+ durationMillisecond = 1L, /* Milliseconds are positive*/
+ durationSecond = 1000L, /* 1000 * durationMillisecond*/
+ durationMinute = 60000L, /* 60 * durationSecond,*/
+ durationHour = 3600000L, /* 60 * durationMinute,*/
+ durationDay = 86400000L, /* 24 * durationHour,*/
+ durationNoWait = 0L, /* don't block*/
+ durationForever = 0x7FFFFFFF /* no time limit*/
+};
+
+enum {
+ k8BitAccess = 0, /* access as 8 bit*/
+ k16BitAccess = 1, /* access as 16 bit*/
+ k32BitAccess = 2 /* access as 32 bit*/
+};
+
+typedef UnsignedWide Nanoseconds;
#if CALL_NOT_IN_CARBON
- /*
- * IOCommandIsComplete()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- IOCommandIsComplete(
- IOCommandID theID,
- OSErr theResult);
-
-
- /*
- * GetIOCommandInfo()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- GetIOCommandInfo(
- IOCommandID theID,
- IOCommandContents * theContents,
- IOCommandCode * theCommand,
- IOCommandKind * theKind);
-
-
- /*
- * UpdateDeviceActivity()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- UpdateDeviceActivity(RegEntryID * deviceEntry);
-
-
- /*
- * BlockCopy()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- BlockCopy(
- const void * srcPtr,
- void * destPtr,
- Size byteCount);
-
-
- /*
- * PoolAllocateResident()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(LogicalAddress)
- PoolAllocateResident(
- ByteCount byteSize,
- Boolean clear);
-
-
- /*
- * PoolDeallocate()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- PoolDeallocate(LogicalAddress address);
-
-
- /*
- * GetLogicalPageSize()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ByteCount)
- GetLogicalPageSize(void);
-
-
- /*
- * GetDataCacheLineSize()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ByteCount)
- GetDataCacheLineSize(void);
-
-
- /*
- * FlushProcessorCache()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- FlushProcessorCache(
- AddressSpaceID spaceID,
- LogicalAddress base,
- ByteCount length);
-
-
- /*
- * MemAllocatePhysicallyContiguous()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(LogicalAddress)
- MemAllocatePhysicallyContiguous(
- ByteCount byteSize,
- Boolean clear);
-
-
- /*
- * MemDeallocatePhysicallyContiguous()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MemDeallocatePhysicallyContiguous(LogicalAddress address);
+/*
+ * IOCommandIsComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+IOCommandIsComplete(
+ IOCommandID theID,
+ OSErr theResult);
+
+
+/*
+ * GetIOCommandInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+GetIOCommandInfo(
+ IOCommandID theID,
+ IOCommandContents * theContents,
+ IOCommandCode * theCommand,
+ IOCommandKind * theKind);
+
+
+/*
+ * UpdateDeviceActivity()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+UpdateDeviceActivity(RegEntryID * deviceEntry);
+
+
+/*
+ * BlockCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+BlockCopy(
+ const void * srcPtr,
+ void * destPtr,
+ Size byteCount);
+
+
+/*
+ * PoolAllocateResident()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( LogicalAddress )
+PoolAllocateResident(
+ ByteCount byteSize,
+ Boolean clear);
+
+
+/*
+ * PoolDeallocate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+PoolDeallocate(LogicalAddress address);
+
+
+/*
+ * GetLogicalPageSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ByteCount )
+GetLogicalPageSize(void);
+
+
+/*
+ * GetDataCacheLineSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ByteCount )
+GetDataCacheLineSize(void);
+
+
+/*
+ * FlushProcessorCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+FlushProcessorCache(
+ AddressSpaceID spaceID,
+ LogicalAddress base,
+ ByteCount length);
+
+
+/*
+ * MemAllocatePhysicallyContiguous()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( LogicalAddress )
+MemAllocatePhysicallyContiguous(
+ ByteCount byteSize,
+ Boolean clear);
+
+
+/*
+ * MemDeallocatePhysicallyContiguous()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MemDeallocatePhysicallyContiguous(LogicalAddress address);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * UpTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- UpTime(void);
+/*
+ * UpTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+UpTime(void);
#if CALL_NOT_IN_CARBON
- /*
- * GetTimeBaseInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GetTimeBaseInfo(
- UInt32 * minAbsoluteTimeDelta,
- UInt32 * theAbsoluteTimeToNanosecondNumerator,
- UInt32 * theAbsoluteTimeToNanosecondDenominator,
- UInt32 * theProcessorToAbsoluteTimeNumerator,
- UInt32 * theProcessorToAbsoluteTimeDenominator);
+/*
+ * GetTimeBaseInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GetTimeBaseInfo(
+ UInt32 * minAbsoluteTimeDelta,
+ UInt32 * theAbsoluteTimeToNanosecondNumerator,
+ UInt32 * theAbsoluteTimeToNanosecondDenominator,
+ UInt32 * theProcessorToAbsoluteTimeNumerator,
+ UInt32 * theProcessorToAbsoluteTimeDenominator);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * AbsoluteToNanoseconds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Nanoseconds)
- AbsoluteToNanoseconds(AbsoluteTime absoluteTime);
-
-
- /*
- * AbsoluteToDuration()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Duration)
- AbsoluteToDuration(AbsoluteTime absoluteTime);
-
-
- /*
- * NanosecondsToAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- NanosecondsToAbsolute(Nanoseconds nanoseconds);
-
-
- /*
- * DurationToAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- DurationToAbsolute(Duration duration);
-
-
- /*
- * AddAbsoluteToAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- AddAbsoluteToAbsolute(
- AbsoluteTime absoluteTime1,
- AbsoluteTime absoluteTime2);
-
-
- /*
- * SubAbsoluteFromAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- SubAbsoluteFromAbsolute(
- AbsoluteTime leftAbsoluteTime,
- AbsoluteTime rightAbsoluteTime);
-
-
- /*
- * AddNanosecondsToAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- AddNanosecondsToAbsolute(
- Nanoseconds nanoseconds,
- AbsoluteTime absoluteTime);
-
-
- /*
- * AddDurationToAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- AddDurationToAbsolute(
- Duration duration,
- AbsoluteTime absoluteTime);
-
-
- /*
- * SubNanosecondsFromAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- SubNanosecondsFromAbsolute(
- Nanoseconds nanoseconds,
- AbsoluteTime absoluteTime);
-
-
- /*
- * SubDurationFromAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(AbsoluteTime)
- SubDurationFromAbsolute(
- Duration duration,
- AbsoluteTime absoluteTime);
-
-
- /*
- * AbsoluteDeltaToNanoseconds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Nanoseconds)
- AbsoluteDeltaToNanoseconds(
- AbsoluteTime leftAbsoluteTime,
- AbsoluteTime rightAbsoluteTime);
-
-
- /*
- * AbsoluteDeltaToDuration()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Duration)
- AbsoluteDeltaToDuration(
- AbsoluteTime leftAbsoluteTime,
- AbsoluteTime rightAbsoluteTime);
-
-
- /*
- * DurationToNanoseconds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Nanoseconds)
- DurationToNanoseconds(Duration theDuration);
-
-
- /*
- * NanosecondsToDuration()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Duration)
- NanosecondsToDuration(Nanoseconds theNanoseconds);
+/*
+ * AbsoluteToNanoseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Nanoseconds )
+AbsoluteToNanoseconds(AbsoluteTime absoluteTime);
+
+
+/*
+ * AbsoluteToDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Duration )
+AbsoluteToDuration(AbsoluteTime absoluteTime);
+
+
+/*
+ * NanosecondsToAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+NanosecondsToAbsolute(Nanoseconds nanoseconds);
+
+
+/*
+ * DurationToAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+DurationToAbsolute(Duration duration);
+
+
+/*
+ * AddAbsoluteToAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+AddAbsoluteToAbsolute(
+ AbsoluteTime absoluteTime1,
+ AbsoluteTime absoluteTime2);
+
+
+/*
+ * SubAbsoluteFromAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+SubAbsoluteFromAbsolute(
+ AbsoluteTime leftAbsoluteTime,
+ AbsoluteTime rightAbsoluteTime);
+
+
+/*
+ * AddNanosecondsToAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+AddNanosecondsToAbsolute(
+ Nanoseconds nanoseconds,
+ AbsoluteTime absoluteTime);
+
+
+/*
+ * AddDurationToAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+AddDurationToAbsolute(
+ Duration duration,
+ AbsoluteTime absoluteTime);
+
+
+/*
+ * SubNanosecondsFromAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+SubNanosecondsFromAbsolute(
+ Nanoseconds nanoseconds,
+ AbsoluteTime absoluteTime);
+
+
+/*
+ * SubDurationFromAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( AbsoluteTime )
+SubDurationFromAbsolute(
+ Duration duration,
+ AbsoluteTime absoluteTime);
+
+
+/*
+ * AbsoluteDeltaToNanoseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Nanoseconds )
+AbsoluteDeltaToNanoseconds(
+ AbsoluteTime leftAbsoluteTime,
+ AbsoluteTime rightAbsoluteTime);
+
+
+/*
+ * AbsoluteDeltaToDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Duration )
+AbsoluteDeltaToDuration(
+ AbsoluteTime leftAbsoluteTime,
+ AbsoluteTime rightAbsoluteTime);
+
+
+/*
+ * DurationToNanoseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Nanoseconds )
+DurationToNanoseconds(Duration theDuration);
+
+
+/*
+ * NanosecondsToDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Duration )
+NanosecondsToDuration(Nanoseconds theNanoseconds);
#if CALL_NOT_IN_CARBON
- /*
- * PBQueueInit()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- PBQueueInit(QHdrPtr qHeader);
-
-
- /*
- * PBQueueCreate()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- PBQueueCreate(QHdrPtr * qHeader);
-
-
- /*
- * PBQueueDelete()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- PBQueueDelete(QHdrPtr qHeader);
-
-
- /*
- * PBEnqueue()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- PBEnqueue(
- QElemPtr qElement,
- QHdrPtr qHeader);
-
-
- /*
- * PBEnqueueLast()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- PBEnqueueLast(
- QElemPtr qElement,
- QHdrPtr qHeader);
-
-
- /*
- * PBDequeue()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- PBDequeue(
- QElemPtr qElement,
- QHdrPtr qHeader);
-
-
- /*
- * PBDequeueFirst()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- PBDequeueFirst(
- QHdrPtr qHeader,
- QElemPtr * theFirstqElem);
-
-
- /*
- * PBDequeueLast()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- PBDequeueLast(
- QHdrPtr qHeader,
- QElemPtr * theLastqElem);
-
-
- /*
- * CStrCopy()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(char *)
- CStrCopy(
- char * dst,
- const char * src);
-
-
- /*
- * PStrCopy()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(StringPtr)
- PStrCopy(
- StringPtr dst,
- ConstStr255Param src);
-
-
- /*
- * CStrNCopy()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(char *)
- CStrNCopy(
- char * dst,
- const char * src,
- UInt32 max);
-
-
- /*
- * PStrNCopy()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(StringPtr)
- PStrNCopy(
- StringPtr dst,
- ConstStr255Param src,
- UInt32 max);
-
-
- /*
- * CStrCat()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(char *)
- CStrCat(
- char * dst,
- const char * src);
-
-
- /*
- * PStrCat()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(StringPtr)
- PStrCat(
- StringPtr dst,
- ConstStr255Param src);
-
-
- /*
- * CStrNCat()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(char *)
- CStrNCat(
- char * dst,
- const char * src,
- UInt32 max);
-
-
- /*
- * PStrNCat()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(StringPtr)
- PStrNCat(
- StringPtr dst,
- ConstStr255Param src,
- UInt32 max);
-
-
- /*
- * PStrToCStr()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- PStrToCStr(
- char * dst,
- ConstStr255Param src);
-
-
- /*
- * CStrToPStr()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- CStrToPStr(
- Str255 dst,
- const char * src);
-
-
- /*
- * CStrCmp()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- CStrCmp(
- const char * s1,
- const char * s2);
-
-
- /*
- * PStrCmp()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- PStrCmp(
- ConstStr255Param str1,
- ConstStr255Param str2);
-
-
- /*
- * CStrNCmp()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- CStrNCmp(
- const char * s1,
- const char * s2,
- UInt32 max);
-
-
- /*
- * PStrNCmp()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- PStrNCmp(
- ConstStr255Param str1,
- ConstStr255Param str2,
- UInt32 max);
-
-
- /*
- * CStrLen()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- CStrLen(const char * src);
-
-
- /*
- * PStrLen()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- PStrLen(ConstStr255Param src);
-
-
- /*
- * DeviceProbe()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DeviceProbe(
- void * theSrc,
- void * theDest,
- UInt32 AccessType);
-
-
- /*
- * DelayForHardware()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- DelayForHardware(AbsoluteTime absoluteTime);
-
-
-
-
- /******************************************************************
- *
- * Was in Interrupts.h
- *
- ******************************************************************/
- /* Interrupt types */
+/*
+ * PBQueueInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+PBQueueInit(QHdrPtr qHeader);
+
+
+/*
+ * PBQueueCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+PBQueueCreate(QHdrPtr * qHeader);
+
+
+/*
+ * PBQueueDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+PBQueueDelete(QHdrPtr qHeader);
+
+
+/*
+ * PBEnqueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+PBEnqueue(
+ QElemPtr qElement,
+ QHdrPtr qHeader);
+
+
+/*
+ * PBEnqueueLast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+PBEnqueueLast(
+ QElemPtr qElement,
+ QHdrPtr qHeader);
+
+
+/*
+ * PBDequeue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+PBDequeue(
+ QElemPtr qElement,
+ QHdrPtr qHeader);
+
+
+/*
+ * PBDequeueFirst()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+PBDequeueFirst(
+ QHdrPtr qHeader,
+ QElemPtr * theFirstqElem);
+
+
+/*
+ * PBDequeueLast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+PBDequeueLast(
+ QHdrPtr qHeader,
+ QElemPtr * theLastqElem);
+
+
+/*
+ * CStrCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( char * )
+CStrCopy(
+ char * dst,
+ const char * src);
+
+
+/*
+ * PStrCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( StringPtr )
+PStrCopy(
+ StringPtr dst,
+ ConstStr255Param src);
+
+
+/*
+ * CStrNCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( char * )
+CStrNCopy(
+ char * dst,
+ const char * src,
+ UInt32 max);
+
+
+/*
+ * PStrNCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( StringPtr )
+PStrNCopy(
+ StringPtr dst,
+ ConstStr255Param src,
+ UInt32 max);
+
+
+/*
+ * CStrCat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( char * )
+CStrCat(
+ char * dst,
+ const char * src);
+
+
+/*
+ * PStrCat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( StringPtr )
+PStrCat(
+ StringPtr dst,
+ ConstStr255Param src);
+
+
+/*
+ * CStrNCat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( char * )
+CStrNCat(
+ char * dst,
+ const char * src,
+ UInt32 max);
+
+
+/*
+ * PStrNCat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( StringPtr )
+PStrNCat(
+ StringPtr dst,
+ ConstStr255Param src,
+ UInt32 max);
+
+
+/*
+ * PStrToCStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+PStrToCStr(
+ char * dst,
+ ConstStr255Param src);
+
+
+/*
+ * CStrToPStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+CStrToPStr(
+ Str255 dst,
+ const char * src);
+
+
+/*
+ * CStrCmp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+CStrCmp(
+ const char * s1,
+ const char * s2);
+
+
+/*
+ * PStrCmp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+PStrCmp(
+ ConstStr255Param str1,
+ ConstStr255Param str2);
+
+
+/*
+ * CStrNCmp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+CStrNCmp(
+ const char * s1,
+ const char * s2,
+ UInt32 max);
+
+
+/*
+ * PStrNCmp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+PStrNCmp(
+ ConstStr255Param str1,
+ ConstStr255Param str2,
+ UInt32 max);
+
+
+/*
+ * CStrLen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+CStrLen(const char * src);
+
+
+/*
+ * PStrLen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+PStrLen(ConstStr255Param src);
+
+
+/*
+ * DeviceProbe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DeviceProbe(
+ void * theSrc,
+ void * theDest,
+ UInt32 AccessType);
+
+
+/*
+ * DelayForHardware()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+DelayForHardware(AbsoluteTime absoluteTime);
+
+
+
+
+/******************************************************************
+ *
+ * Was in Interrupts.h
+ *
+ ******************************************************************/
+/* Interrupt types */
#endif /* CALL_NOT_IN_CARBON */
- typedef struct OpaqueInterruptSetID* InterruptSetID;
- typedef long InterruptMemberNumber;
- struct InterruptSetMember
- {
- InterruptSetID setID;
- InterruptMemberNumber member;
- };
- typedef struct InterruptSetMember InterruptSetMember;
- enum
- {
- kISTChipInterruptSource = 0,
- kISTOutputDMAInterruptSource = 1,
- kISTInputDMAInterruptSource = 2,
- kISTPropertyMemberCount = 3
- };
-
- typedef InterruptSetMember ISTProperty[3];
-#define kISTPropertyName "driver-ist"
-
- typedef long InterruptReturnValue;
- enum
- {
- kFirstMemberNumber = 1,
- kIsrIsComplete = 0,
- kIsrIsNotComplete = -1,
- kMemberNumberParent = -2
- };
-
- typedef Boolean InterruptSourceState;
- enum
- {
- kSourceWasEnabled = true,
- kSourceWasDisabled = false
- };
-
-
- typedef CALLBACK_API_C(InterruptMemberNumber , InterruptHandler)(InterruptSetMember ISTmember, void *refCon, UInt32 theIntCount);
- typedef CALLBACK_API_C(void , InterruptEnabler)(InterruptSetMember ISTmember, void *refCon);
- typedef CALLBACK_API_C(InterruptSourceState , InterruptDisabler)(InterruptSetMember ISTmember, void *refCon);
- enum
- {
- kReturnToParentWhenComplete = 0x00000001,
- kReturnToParentWhenNotComplete = 0x00000002
- };
-
- typedef OptionBits InterruptSetOptions;
- /* Interrupt Services */
+typedef struct OpaqueInterruptSetID* InterruptSetID;
+typedef long InterruptMemberNumber;
+struct InterruptSetMember {
+ InterruptSetID setID;
+ InterruptMemberNumber member;
+};
+typedef struct InterruptSetMember InterruptSetMember;
+enum {
+ kISTChipInterruptSource = 0,
+ kISTOutputDMAInterruptSource = 1,
+ kISTInputDMAInterruptSource = 2,
+ kISTPropertyMemberCount = 3
+};
+
+typedef InterruptSetMember ISTProperty[3];
+#define kISTPropertyName "driver-ist"
+
+typedef long InterruptReturnValue;
+enum {
+ kFirstMemberNumber = 1,
+ kIsrIsComplete = 0,
+ kIsrIsNotComplete = -1,
+ kMemberNumberParent = -2
+};
+
+typedef Boolean InterruptSourceState;
+enum {
+ kSourceWasEnabled = true,
+ kSourceWasDisabled = false
+};
+
+
+typedef CALLBACK_API_C( InterruptMemberNumber , InterruptHandler )(InterruptSetMember ISTmember, void *refCon, UInt32 theIntCount);
+typedef CALLBACK_API_C( void , InterruptEnabler )(InterruptSetMember ISTmember, void *refCon);
+typedef CALLBACK_API_C( InterruptSourceState , InterruptDisabler )(InterruptSetMember ISTmember, void *refCon);
+enum {
+ kReturnToParentWhenComplete = 0x00000001,
+ kReturnToParentWhenNotComplete = 0x00000002
+};
+
+typedef OptionBits InterruptSetOptions;
+/* Interrupt Services */
#if CALL_NOT_IN_CARBON
- /*
- * CreateInterruptSet()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- CreateInterruptSet(
- InterruptSetID parentSet,
- InterruptMemberNumber parentMember,
- InterruptMemberNumber setSize,
- InterruptSetID * setID,
- InterruptSetOptions options);
-
-
-
- /*
- * InstallInterruptFunctions()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- InstallInterruptFunctions(
- InterruptSetID setID,
- InterruptMemberNumber member,
- void * refCon,
- InterruptHandler handlerFunction,
- InterruptEnabler enableFunction,
- InterruptDisabler disableFunction);
-
-
-
- /*
- * GetInterruptFunctions()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- GetInterruptFunctions(
- InterruptSetID setID,
- InterruptMemberNumber member,
- void ** refCon,
- InterruptHandler * handlerFunction,
- InterruptEnabler * enableFunction,
- InterruptDisabler * disableFunction);
-
-
- /*
- * ChangeInterruptSetOptions()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- ChangeInterruptSetOptions(
- InterruptSetID setID,
- InterruptSetOptions options);
-
-
- /*
- * GetInterruptSetOptions()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- GetInterruptSetOptions(
- InterruptSetID setID,
- InterruptSetOptions * options);
+/*
+ * CreateInterruptSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+CreateInterruptSet(
+ InterruptSetID parentSet,
+ InterruptMemberNumber parentMember,
+ InterruptMemberNumber setSize,
+ InterruptSetID * setID,
+ InterruptSetOptions options);
+
+
+
+/*
+ * InstallInterruptFunctions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+InstallInterruptFunctions(
+ InterruptSetID setID,
+ InterruptMemberNumber member,
+ void * refCon,
+ InterruptHandler handlerFunction,
+ InterruptEnabler enableFunction,
+ InterruptDisabler disableFunction);
+
+
+
+/*
+ * GetInterruptFunctions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+GetInterruptFunctions(
+ InterruptSetID setID,
+ InterruptMemberNumber member,
+ void ** refCon,
+ InterruptHandler * handlerFunction,
+ InterruptEnabler * enableFunction,
+ InterruptDisabler * disableFunction);
+
+
+/*
+ * ChangeInterruptSetOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+ChangeInterruptSetOptions(
+ InterruptSetID setID,
+ InterruptSetOptions options);
+
+
+/*
+ * GetInterruptSetOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+GetInterruptSetOptions(
+ InterruptSetID setID,
+ InterruptSetOptions * options);
@@ -1387,11 +1365,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/DriverSynchronization.h b/include/qt/DriverSynchronization.h
index 9bda05a55..4b4c916ad 100644
--- a/include/qt/DriverSynchronization.h
+++ b/include/qt/DriverSynchronization.h
@@ -1,17 +1,17 @@
/*
File: DriverSynchronization.h
-
+
Contains: Driver Synchronization Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __DRIVERSYNCHRONIZATION__
#define __DRIVERSYNCHRONIZATION__
@@ -40,301 +40,301 @@ extern "C" {
#endif
#if CALL_NOT_IN_CARBON
- /*
- * SynchronizeIO()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- SynchronizeIO(void) ONEWORDINLINE(0x4E71);
+/*
+ * SynchronizeIO()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+SynchronizeIO(void) ONEWORDINLINE(0x4E71);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * CompareAndSwap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- CompareAndSwap(
- UInt32 oldVvalue,
- UInt32 newValue,
- UInt32 * OldValueAdr);
-
-
- /*
- * TestAndClear()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- TestAndClear(
- UInt32 bit,
- UInt8 * startAddress);
-
-
- /*
- * TestAndSet()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- TestAndSet(
- UInt32 bit,
- UInt8 * startAddress);
-
-
- /*
- * IncrementAtomic8()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt8)
- IncrementAtomic8(SInt8 * value);
-
-
- /*
- * DecrementAtomic8()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt8)
- DecrementAtomic8(SInt8 * value);
-
-
- /*
- * AddAtomic8()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt8)
- AddAtomic8(
- SInt32 amount,
- SInt8 * value);
-
-
- /*
- * BitAndAtomic8()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt8)
- BitAndAtomic8(
- UInt32 mask,
- UInt8 * value);
-
-
- /*
- * BitOrAtomic8()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt8)
- BitOrAtomic8(
- UInt32 mask,
- UInt8 * value);
-
-
- /*
- * BitXorAtomic8()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt8)
- BitXorAtomic8(
- UInt32 mask,
- UInt8 * value);
-
-
- /*
- * IncrementAtomic16()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt16)
- IncrementAtomic16(SInt16 * value);
-
-
- /*
- * DecrementAtomic16()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt16)
- DecrementAtomic16(SInt16 * value);
-
-
- /*
- * AddAtomic16()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt16)
- AddAtomic16(
- SInt32 amount,
- SInt16 * value);
-
-
- /*
- * BitAndAtomic16()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt16)
- BitAndAtomic16(
- UInt32 mask,
- UInt16 * value);
-
-
- /*
- * BitOrAtomic16()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt16)
- BitOrAtomic16(
- UInt32 mask,
- UInt16 * value);
-
-
- /*
- * BitXorAtomic16()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt16)
- BitXorAtomic16(
- UInt32 mask,
- UInt16 * value);
-
-
- /*
- * IncrementAtomic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt32)
- IncrementAtomic(SInt32 * value);
-
-
- /*
- * DecrementAtomic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt32)
- DecrementAtomic(SInt32 * value);
-
-
- /*
- * AddAtomic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt32)
- AddAtomic(
- SInt32 amount,
- SInt32 * value);
-
-
- /*
- * BitAndAtomic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- BitAndAtomic(
- UInt32 mask,
- UInt32 * value);
-
-
- /*
- * BitOrAtomic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- BitOrAtomic(
- UInt32 mask,
- UInt32 * value);
-
-
- /*
- * BitXorAtomic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- BitXorAtomic(
- UInt32 mask,
- UInt32 * value);
+/*
+ * CompareAndSwap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+CompareAndSwap(
+ UInt32 oldVvalue,
+ UInt32 newValue,
+ UInt32 * OldValueAdr);
+
+
+/*
+ * TestAndClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+TestAndClear(
+ UInt32 bit,
+ UInt8 * startAddress);
+
+
+/*
+ * TestAndSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+TestAndSet(
+ UInt32 bit,
+ UInt8 * startAddress);
+
+
+/*
+ * IncrementAtomic8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt8 )
+IncrementAtomic8(SInt8 * value);
+
+
+/*
+ * DecrementAtomic8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt8 )
+DecrementAtomic8(SInt8 * value);
+
+
+/*
+ * AddAtomic8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt8 )
+AddAtomic8(
+ SInt32 amount,
+ SInt8 * value);
+
+
+/*
+ * BitAndAtomic8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt8 )
+BitAndAtomic8(
+ UInt32 mask,
+ UInt8 * value);
+
+
+/*
+ * BitOrAtomic8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt8 )
+BitOrAtomic8(
+ UInt32 mask,
+ UInt8 * value);
+
+
+/*
+ * BitXorAtomic8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt8 )
+BitXorAtomic8(
+ UInt32 mask,
+ UInt8 * value);
+
+
+/*
+ * IncrementAtomic16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt16 )
+IncrementAtomic16(SInt16 * value);
+
+
+/*
+ * DecrementAtomic16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt16 )
+DecrementAtomic16(SInt16 * value);
+
+
+/*
+ * AddAtomic16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt16 )
+AddAtomic16(
+ SInt32 amount,
+ SInt16 * value);
+
+
+/*
+ * BitAndAtomic16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt16 )
+BitAndAtomic16(
+ UInt32 mask,
+ UInt16 * value);
+
+
+/*
+ * BitOrAtomic16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt16 )
+BitOrAtomic16(
+ UInt32 mask,
+ UInt16 * value);
+
+
+/*
+ * BitXorAtomic16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt16 )
+BitXorAtomic16(
+ UInt32 mask,
+ UInt16 * value);
+
+
+/*
+ * IncrementAtomic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt32 )
+IncrementAtomic(SInt32 * value);
+
+
+/*
+ * DecrementAtomic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt32 )
+DecrementAtomic(SInt32 * value);
+
+
+/*
+ * AddAtomic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt32 )
+AddAtomic(
+ SInt32 amount,
+ SInt32 * value);
+
+
+/*
+ * BitAndAtomic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+BitAndAtomic(
+ UInt32 mask,
+ UInt32 * value);
+
+
+/*
+ * BitOrAtomic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+BitOrAtomic(
+ UInt32 mask,
+ UInt32 * value);
+
+
+/*
+ * BitXorAtomic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+BitXorAtomic(
+ UInt32 mask,
+ UInt32 * value);
diff --git a/include/qt/Editions.h b/include/qt/Editions.h
index d5bd31f33..fb23ab03f 100644
--- a/include/qt/Editions.h
+++ b/include/qt/Editions.h
@@ -1,18 +1,18 @@
/*
File: Editions.h
-
+
Contains: Edition Manager Interfaces.
-
+
Version: Technology: System 7.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-1999 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 __EDITIONS__
#define __EDITIONS__
@@ -53,464 +53,420 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- /* resource types */
- rSectionType = FOUR_CHAR_CODE('sect'), /* ResType of saved SectionRecords */
- /* Finder types for edition files */
- kPICTEditionFileType = FOUR_CHAR_CODE('edtp'),
- kTEXTEditionFileType = FOUR_CHAR_CODE('edtt'),
- ksndEditionFileType = FOUR_CHAR_CODE('edts'),
- kUnknownEditionFileType = FOUR_CHAR_CODE('edtu'),
- kPublisherDocAliasFormat = FOUR_CHAR_CODE('alis'),
- kPreviewFormat = FOUR_CHAR_CODE('prvw'),
- kFormatListFormat = FOUR_CHAR_CODE('fmts')
- };
-
- enum
- {
- /* section types */
- stSubscriber = 0x01,
- stPublisher = 0x0A
- };
-
- enum
- {
- sumAutomatic = 0, /* subscriber update mode - Automatically */
- sumManual = 1, /* subscriber update mode - Manually */
- pumOnSave = 0, /* publisher update mode - OnSave */
- pumManual = 1 /* publisher update mode - Manually */
- };
-
- enum
- {
- kPartsNotUsed = 0,
- kPartNumberUnknown = -1
- };
-
- enum
- {
- kPreviewWidth = 120,
- kPreviewHeight = 120
- };
-
- enum
- {
- /* bits for formatsMask */
- kPICTformatMask = 1,
- kTEXTformatMask = 2,
- ksndFormatMask = 4
- };
-
-
- enum
- {
- /* pseudo-item hits for dialogHooks the first is for NewPublisher or NewSubscriber Dialogs */
- emHookRedrawPreview = 150, /* the following are for SectionOptions Dialog */
- emHookCancelSection = 160,
- emHookGoToPublisher = 161,
- emHookGetEditionNow = 162,
- emHookSendEditionNow = 162,
- emHookManualUpdateMode = 163,
- emHookAutoUpdateMode = 164
- };
-
-
- enum
- {
- /* the refcon field of the dialog record during a modalfilter or dialoghook contains one the following */
- emOptionsDialogRefCon = FOUR_CHAR_CODE('optn'),
- emCancelSectionDialogRefCon = FOUR_CHAR_CODE('cncl'),
- emGoToPubErrDialogRefCon = FOUR_CHAR_CODE('gerr')
- };
-
- enum
- {
- kFormatLengthUnknown = -1
- };
-
- /* one byte, stSubscriber or stPublisher */
- typedef SignedByte SectionType;
- /* seconds since 1904 */
- typedef unsigned long TimeStamp;
- /* similar to ResType */
- typedef FourCharCode FormatType;
- /* used in Edition I/O */
- typedef Handle EditionRefNum;
- /* update modes */
- /* sumAutomatic, pumSuspend, etc */
- typedef short UpdateMode;
- typedef struct SectionRecord SectionRecord;
- typedef SectionRecord * SectionPtr;
- typedef SectionPtr * SectionHandle;
- struct SectionRecord
- {
- SignedByte version; /* always 0x01 in system 7.0 */
- SectionType kind; /* stSubscriber or stPublisher */
- UpdateMode mode; /* auto or manual */
- TimeStamp mdDate; /* last change in document */
- long sectionID; /* app. specific, unique per document */
- long refCon; /* application specific */
- AliasHandle alias; /* handle to Alias Record */
- long subPart; /* which part of container file */
- SectionHandle nextSection; /* for linked list of app's Sections */
- Handle controlBlock; /* used internally */
- EditionRefNum refNum; /* used internally */
- };
-
- struct EditionContainerSpec
- {
- FSSpec theFile;
- ScriptCode theFileScript;
- long thePart;
- Str31 thePartName;
- ScriptCode thePartScript;
- };
- typedef struct EditionContainerSpec EditionContainerSpec;
- typedef EditionContainerSpec * EditionContainerSpecPtr;
- struct EditionInfoRecord
- {
- TimeStamp crDate; /* date EditionContainer was created */
- TimeStamp mdDate; /* date of last change */
- OSType fdCreator; /* file creator */
- OSType fdType; /* file type */
- EditionContainerSpec container; /* the Edition */
- };
- typedef struct EditionInfoRecord EditionInfoRecord;
- struct NewPublisherReply
- {
- Boolean canceled; /* O */
- Boolean replacing;
- Boolean usePart; /* I */
- SInt8 filler;
- Handle preview; /* I */
- FormatType previewFormat; /* I */
- EditionContainerSpec container; /* I/O */
- };
- typedef struct NewPublisherReply NewPublisherReply;
- struct NewSubscriberReply
- {
- Boolean canceled; /* O */
- SignedByte formatsMask;
- EditionContainerSpec container; /*I/O*/
- };
- typedef struct NewSubscriberReply NewSubscriberReply;
- struct SectionOptionsReply
- {
- Boolean canceled; /* O */
- Boolean changed; /* O */
- SectionHandle sectionH; /* I */
- ResType action; /* O */
- };
- typedef struct SectionOptionsReply SectionOptionsReply;
- typedef CALLBACK_API(Boolean , ExpModalFilterProcPtr)(DialogPtr theDialog, EventRecord *theEvent, short itemOffset, short *itemHit, Ptr yourDataPtr);
- typedef CALLBACK_API(short , ExpDlgHookProcPtr)(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
- typedef STACK_UPP_TYPE(ExpModalFilterProcPtr) ExpModalFilterUPP;
- typedef STACK_UPP_TYPE(ExpDlgHookProcPtr) ExpDlgHookUPP;
+enum {
+ /* resource types */
+ rSectionType = FOUR_CHAR_CODE('sect'), /* ResType of saved SectionRecords */
+ /* Finder types for edition files */
+ kPICTEditionFileType = FOUR_CHAR_CODE('edtp'),
+ kTEXTEditionFileType = FOUR_CHAR_CODE('edtt'),
+ ksndEditionFileType = FOUR_CHAR_CODE('edts'),
+ kUnknownEditionFileType = FOUR_CHAR_CODE('edtu'),
+ kPublisherDocAliasFormat = FOUR_CHAR_CODE('alis'),
+ kPreviewFormat = FOUR_CHAR_CODE('prvw'),
+ kFormatListFormat = FOUR_CHAR_CODE('fmts')
+};
+
+enum {
+ /* section types */
+ stSubscriber = 0x01,
+ stPublisher = 0x0A
+};
+
+enum {
+ sumAutomatic = 0, /* subscriber update mode - Automatically */
+ sumManual = 1, /* subscriber update mode - Manually */
+ pumOnSave = 0, /* publisher update mode - OnSave */
+ pumManual = 1 /* publisher update mode - Manually */
+};
+
+enum {
+ kPartsNotUsed = 0,
+ kPartNumberUnknown = -1
+};
+
+enum {
+ kPreviewWidth = 120,
+ kPreviewHeight = 120
+};
+
+enum {
+ /* bits for formatsMask */
+ kPICTformatMask = 1,
+ kTEXTformatMask = 2,
+ ksndFormatMask = 4
+};
+
+
+enum {
+ /* pseudo-item hits for dialogHooks the first is for NewPublisher or NewSubscriber Dialogs */
+ emHookRedrawPreview = 150, /* the following are for SectionOptions Dialog */
+ emHookCancelSection = 160,
+ emHookGoToPublisher = 161,
+ emHookGetEditionNow = 162,
+ emHookSendEditionNow = 162,
+ emHookManualUpdateMode = 163,
+ emHookAutoUpdateMode = 164
+};
+
+
+enum {
+ /* the refcon field of the dialog record during a modalfilter or dialoghook contains one the following */
+ emOptionsDialogRefCon = FOUR_CHAR_CODE('optn'),
+ emCancelSectionDialogRefCon = FOUR_CHAR_CODE('cncl'),
+ emGoToPubErrDialogRefCon = FOUR_CHAR_CODE('gerr')
+};
+
+enum {
+ kFormatLengthUnknown = -1
+};
+
+/* one byte, stSubscriber or stPublisher */
+typedef SignedByte SectionType;
+/* seconds since 1904 */
+typedef unsigned long TimeStamp;
+/* similar to ResType */
+typedef FourCharCode FormatType;
+/* used in Edition I/O */
+typedef Handle EditionRefNum;
+/* update modes */
+/* sumAutomatic, pumSuspend, etc */
+typedef short UpdateMode;
+typedef struct SectionRecord SectionRecord;
+typedef SectionRecord * SectionPtr;
+typedef SectionPtr * SectionHandle;
+struct SectionRecord {
+ SignedByte version; /* always 0x01 in system 7.0 */
+ SectionType kind; /* stSubscriber or stPublisher */
+ UpdateMode mode; /* auto or manual */
+ TimeStamp mdDate; /* last change in document */
+ long sectionID; /* app. specific, unique per document */
+ long refCon; /* application specific */
+ AliasHandle alias; /* handle to Alias Record */
+ long subPart; /* which part of container file */
+ SectionHandle nextSection; /* for linked list of app's Sections */
+ Handle controlBlock; /* used internally */
+ EditionRefNum refNum; /* used internally */
+};
+
+struct EditionContainerSpec {
+ FSSpec theFile;
+ ScriptCode theFileScript;
+ long thePart;
+ Str31 thePartName;
+ ScriptCode thePartScript;
+};
+typedef struct EditionContainerSpec EditionContainerSpec;
+typedef EditionContainerSpec * EditionContainerSpecPtr;
+struct EditionInfoRecord {
+ TimeStamp crDate; /* date EditionContainer was created */
+ TimeStamp mdDate; /* date of last change */
+ OSType fdCreator; /* file creator */
+ OSType fdType; /* file type */
+ EditionContainerSpec container; /* the Edition */
+};
+typedef struct EditionInfoRecord EditionInfoRecord;
+struct NewPublisherReply {
+ Boolean canceled; /* O */
+ Boolean replacing;
+ Boolean usePart; /* I */
+ SInt8 filler;
+ Handle preview; /* I */
+ FormatType previewFormat; /* I */
+ EditionContainerSpec container; /* I/O */
+};
+typedef struct NewPublisherReply NewPublisherReply;
+struct NewSubscriberReply {
+ Boolean canceled; /* O */
+ SignedByte formatsMask;
+ EditionContainerSpec container; /*I/O*/
+};
+typedef struct NewSubscriberReply NewSubscriberReply;
+struct SectionOptionsReply {
+ Boolean canceled; /* O */
+ Boolean changed; /* O */
+ SectionHandle sectionH; /* I */
+ ResType action; /* O */
+};
+typedef struct SectionOptionsReply SectionOptionsReply;
+typedef CALLBACK_API( Boolean , ExpModalFilterProcPtr )(DialogPtr theDialog, EventRecord *theEvent, short itemOffset, short *itemHit, Ptr yourDataPtr);
+typedef CALLBACK_API( short , ExpDlgHookProcPtr )(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
+typedef STACK_UPP_TYPE(ExpModalFilterProcPtr) ExpModalFilterUPP;
+typedef STACK_UPP_TYPE(ExpDlgHookProcPtr) ExpDlgHookUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewExpModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ExpModalFilterUPP)
- NewExpModalFilterUPP(ExpModalFilterProcPtr userRoutine);
+/*
+ * NewExpModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ExpModalFilterUPP )
+NewExpModalFilterUPP(ExpModalFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppExpModalFilterProcInfo = 0x0000FBD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ExpModalFilterUPP) NewExpModalFilterUPP(ExpModalFilterProcPtr userRoutine)
- {
- return (ExpModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewExpModalFilterUPP(userRoutine) (ExpModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppExpModalFilterProcInfo = 0x0000FBD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ExpModalFilterUPP) NewExpModalFilterUPP(ExpModalFilterProcPtr userRoutine) { return (ExpModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewExpModalFilterUPP(userRoutine) (ExpModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewExpDlgHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ExpDlgHookUPP)
- NewExpDlgHookUPP(ExpDlgHookProcPtr userRoutine);
+/*
+ * NewExpDlgHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ExpDlgHookUPP )
+NewExpDlgHookUPP(ExpDlgHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppExpDlgHookProcInfo = 0x00003EA0 }; /* pascal 2_bytes Func(2_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ExpDlgHookUPP) NewExpDlgHookUPP(ExpDlgHookProcPtr userRoutine)
- {
- return (ExpDlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewExpDlgHookUPP(userRoutine) (ExpDlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppExpDlgHookProcInfo = 0x00003EA0 }; /* pascal 2_bytes Func(2_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ExpDlgHookUPP) NewExpDlgHookUPP(ExpDlgHookProcPtr userRoutine) { return (ExpDlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewExpDlgHookUPP(userRoutine) (ExpDlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeExpModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeExpModalFilterUPP(ExpModalFilterUPP userUPP);
+/*
+ * DisposeExpModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeExpModalFilterUPP(ExpModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeExpModalFilterUPP(ExpModalFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeExpModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeExpModalFilterUPP(ExpModalFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeExpModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeExpDlgHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeExpDlgHookUPP(ExpDlgHookUPP userUPP);
+/*
+ * DisposeExpDlgHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeExpDlgHookUPP(ExpDlgHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeExpDlgHookUPP(ExpDlgHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeExpDlgHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeExpDlgHookUPP(ExpDlgHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeExpDlgHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeExpModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeExpModalFilterUPP(
- DialogPtr theDialog,
- EventRecord * theEvent,
- short itemOffset,
- short * itemHit,
- Ptr yourDataPtr,
- ExpModalFilterUPP userUPP);
+/*
+ * InvokeExpModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeExpModalFilterUPP(
+ DialogPtr theDialog,
+ EventRecord * theEvent,
+ short itemOffset,
+ short * itemHit,
+ Ptr yourDataPtr,
+ ExpModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeExpModalFilterUPP(DialogPtr theDialog, EventRecord * theEvent, short itemOffset, short * itemHit, Ptr yourDataPtr, ExpModalFilterUPP userUPP)
- {
- return (Boolean)CALL_FIVE_PARAMETER_UPP(userUPP, uppExpModalFilterProcInfo, theDialog, theEvent, itemOffset, itemHit, yourDataPtr);
- }
-#else
-#define InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userUPP) (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppExpModalFilterProcInfo, (theDialog), (theEvent), (itemOffset), (itemHit), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeExpModalFilterUPP(DialogPtr theDialog, EventRecord * theEvent, short itemOffset, short * itemHit, Ptr yourDataPtr, ExpModalFilterUPP userUPP) { return (Boolean)CALL_FIVE_PARAMETER_UPP(userUPP, uppExpModalFilterProcInfo, theDialog, theEvent, itemOffset, itemHit, yourDataPtr); }
+ #else
+ #define InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userUPP) (Boolean)CALL_FIVE_PARAMETER_UPP((userUPP), uppExpModalFilterProcInfo, (theDialog), (theEvent), (itemOffset), (itemHit), (yourDataPtr))
+ #endif
#endif
- /*
- * InvokeExpDlgHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- InvokeExpDlgHookUPP(
- short itemOffset,
- short itemHit,
- DialogPtr theDialog,
- Ptr yourDataPtr,
- ExpDlgHookUPP userUPP);
+/*
+ * InvokeExpDlgHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+InvokeExpDlgHookUPP(
+ short itemOffset,
+ short itemHit,
+ DialogPtr theDialog,
+ Ptr yourDataPtr,
+ ExpDlgHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(short) InvokeExpDlgHookUPP(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr, ExpDlgHookUPP userUPP)
- {
- return (short)CALL_FOUR_PARAMETER_UPP(userUPP, uppExpDlgHookProcInfo, itemOffset, itemHit, theDialog, yourDataPtr);
- }
-#else
-#define InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userUPP) (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppExpDlgHookProcInfo, (itemOffset), (itemHit), (theDialog), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(short) InvokeExpDlgHookUPP(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr, ExpDlgHookUPP userUPP) { return (short)CALL_FOUR_PARAMETER_UPP(userUPP, uppExpDlgHookProcInfo, itemOffset, itemHit, theDialog, yourDataPtr); }
+ #else
+ #define InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userUPP) (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppExpDlgHookProcInfo, (itemOffset), (itemHit), (theDialog), (yourDataPtr))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewExpModalFilterProc(userRoutine) NewExpModalFilterUPP(userRoutine)
-#define NewExpDlgHookProc(userRoutine) NewExpDlgHookUPP(userRoutine)
-#define CallExpModalFilterProc(userRoutine, theDialog, theEvent, itemOffset, itemHit, yourDataPtr) InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userRoutine)
-#define CallExpDlgHookProc(userRoutine, itemOffset, itemHit, theDialog, yourDataPtr) InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userRoutine)
+ #define NewExpModalFilterProc(userRoutine) NewExpModalFilterUPP(userRoutine)
+ #define NewExpDlgHookProc(userRoutine) NewExpDlgHookUPP(userRoutine)
+ #define CallExpModalFilterProc(userRoutine, theDialog, theEvent, itemOffset, itemHit, yourDataPtr) InvokeExpModalFilterUPP(theDialog, theEvent, itemOffset, itemHit, yourDataPtr, userRoutine)
+ #define CallExpDlgHookProc(userRoutine, itemOffset, itemHit, theDialog, yourDataPtr) InvokeExpDlgHookUPP(itemOffset, itemHit, theDialog, yourDataPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef SInt8 FormatIOVerb;
- enum
- {
- ioHasFormat = 0,
- ioReadFormat = 1,
- ioNewFormat = 2,
- ioWriteFormat = 3
- };
-
- typedef SInt8 EditionOpenerVerb;
- enum
- {
- eoOpen = 0,
- eoClose = 1,
- eoOpenNew = 2,
- eoCloseNew = 3,
- eoCanSubscribe = 4
- };
-
-
- struct FormatIOParamBlock
- {
- long ioRefNum;
- FormatType format;
- long formatIndex;
- unsigned long offset;
- Ptr buffPtr;
- unsigned long buffLen;
- };
- typedef struct FormatIOParamBlock FormatIOParamBlock;
- typedef struct EditionOpenerParamBlock EditionOpenerParamBlock;
- typedef CALLBACK_API(short , FormatIOProcPtr)(FormatIOVerb selector, FormatIOParamBlock *PB);
- typedef CALLBACK_API(short , EditionOpenerProcPtr)(EditionOpenerVerb selector, EditionOpenerParamBlock *PB);
- typedef STACK_UPP_TYPE(FormatIOProcPtr) FormatIOUPP;
- typedef STACK_UPP_TYPE(EditionOpenerProcPtr) EditionOpenerUPP;
- struct EditionOpenerParamBlock
- {
- EditionInfoRecord info;
- SectionHandle sectionH;
- const FSSpec * document;
- OSType fdCreator;
- long ioRefNum;
- FormatIOUPP ioProc;
- Boolean success;
- SignedByte formatsMask;
- };
+typedef SInt8 FormatIOVerb;
+enum {
+ ioHasFormat = 0,
+ ioReadFormat = 1,
+ ioNewFormat = 2,
+ ioWriteFormat = 3
+};
+
+typedef SInt8 EditionOpenerVerb;
+enum {
+ eoOpen = 0,
+ eoClose = 1,
+ eoOpenNew = 2,
+ eoCloseNew = 3,
+ eoCanSubscribe = 4
+};
+
+
+struct FormatIOParamBlock {
+ long ioRefNum;
+ FormatType format;
+ long formatIndex;
+ unsigned long offset;
+ Ptr buffPtr;
+ unsigned long buffLen;
+};
+typedef struct FormatIOParamBlock FormatIOParamBlock;
+typedef struct EditionOpenerParamBlock EditionOpenerParamBlock;
+typedef CALLBACK_API( short , FormatIOProcPtr )(FormatIOVerb selector, FormatIOParamBlock *PB);
+typedef CALLBACK_API( short , EditionOpenerProcPtr )(EditionOpenerVerb selector, EditionOpenerParamBlock *PB);
+typedef STACK_UPP_TYPE(FormatIOProcPtr) FormatIOUPP;
+typedef STACK_UPP_TYPE(EditionOpenerProcPtr) EditionOpenerUPP;
+struct EditionOpenerParamBlock {
+ EditionInfoRecord info;
+ SectionHandle sectionH;
+ const FSSpec * document;
+ OSType fdCreator;
+ long ioRefNum;
+ FormatIOUPP ioProc;
+ Boolean success;
+ SignedByte formatsMask;
+};
#if CALL_NOT_IN_CARBON
- /*
- * NewFormatIOUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(FormatIOUPP)
- NewFormatIOUPP(FormatIOProcPtr userRoutine);
+/*
+ * NewFormatIOUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( FormatIOUPP )
+NewFormatIOUPP(FormatIOProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFormatIOProcInfo = 0x00000360 }; /* pascal 2_bytes Func(1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FormatIOUPP) NewFormatIOUPP(FormatIOProcPtr userRoutine)
- {
- return (FormatIOUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewFormatIOUPP(userRoutine) (FormatIOUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppFormatIOProcInfo = 0x00000360 }; /* pascal 2_bytes Func(1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FormatIOUPP) NewFormatIOUPP(FormatIOProcPtr userRoutine) { return (FormatIOUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewFormatIOUPP(userRoutine) (FormatIOUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewEditionOpenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(EditionOpenerUPP)
- NewEditionOpenerUPP(EditionOpenerProcPtr userRoutine);
+/*
+ * NewEditionOpenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( EditionOpenerUPP )
+NewEditionOpenerUPP(EditionOpenerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppEditionOpenerProcInfo = 0x00000360 }; /* pascal 2_bytes Func(1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(EditionOpenerUPP) NewEditionOpenerUPP(EditionOpenerProcPtr userRoutine)
- {
- return (EditionOpenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewEditionOpenerUPP(userRoutine) (EditionOpenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppEditionOpenerProcInfo = 0x00000360 }; /* pascal 2_bytes Func(1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EditionOpenerUPP) NewEditionOpenerUPP(EditionOpenerProcPtr userRoutine) { return (EditionOpenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEditionOpenerUPP(userRoutine) (EditionOpenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewFormatIOProc(userRoutine) NewFormatIOUPP(userRoutine)
-#define NewEditionOpenerProc(userRoutine) NewEditionOpenerUPP(userRoutine)
+ #define NewFormatIOProc(userRoutine) NewFormatIOUPP(userRoutine)
+ #define NewEditionOpenerProc(userRoutine) NewEditionOpenerUPP(userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- Section events now arrive in the message buffer using the AppleEvent format.
- The direct object parameter is an aeTemporaryIDParamType ('tid '). The temporary
- ID's type is rSectionType ('sect') and the 32-bit value is a SectionHandle.
- The following is a sample buffer
-
- name offset contents
- ---- ------ --------
- header 0 'aevt'
- majorVersion 4 0x01
- minorVersion 6 0x01
- endOfMetaData 8 ';;;;'
- directObjKey 12 '----'
- paramType 16 'tid '
- paramLength 20 0x0008
- tempIDType 24 'sect'
- tempID 28 the SectionHandle <-- this is want you want
- */
-
- enum
- {
- sectionEventMsgClass = FOUR_CHAR_CODE('sect'),
- sectionReadMsgID = FOUR_CHAR_CODE('read'),
- sectionWriteMsgID = FOUR_CHAR_CODE('writ'),
- sectionScrollMsgID = FOUR_CHAR_CODE('scrl'),
- sectionCancelMsgID = FOUR_CHAR_CODE('cncl')
- };
-
- enum
- {
- currentEditionMgrVers = 0x0011
- };
+/*
+ Section events now arrive in the message buffer using the AppleEvent format.
+ The direct object parameter is an aeTemporaryIDParamType ('tid '). The temporary
+ ID's type is rSectionType ('sect') and the 32-bit value is a SectionHandle.
+ The following is a sample buffer
+
+ name offset contents
+ ---- ------ --------
+ header 0 'aevt'
+ majorVersion 4 0x01
+ minorVersion 6 0x01
+ endOfMetaData 8 ';;;;'
+ directObjKey 12 '----'
+ paramType 16 'tid '
+ paramLength 20 0x0008
+ tempIDType 24 'sect'
+ tempID 28 the SectionHandle <-- this is want you want
+*/
+
+enum {
+ sectionEventMsgClass = FOUR_CHAR_CODE('sect'),
+ sectionReadMsgID = FOUR_CHAR_CODE('read'),
+ sectionWriteMsgID = FOUR_CHAR_CODE('writ'),
+ sectionScrollMsgID = FOUR_CHAR_CODE('scrl'),
+ sectionCancelMsgID = FOUR_CHAR_CODE('cncl')
+};
+
+enum {
+ currentEditionMgrVers = 0x0011
+};
#if TARGET_RT_MAC_CFM
#define InitEditionPack() InitEditionPackVersion(currentEditionMgrVers)
#else
#if CALL_NOT_IN_CARBON
- /*
- * InitEditionPack()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- InitEditionPack(void) FIVEWORDINLINE(0x3F3C, 0x0011, 0x303C, 0x0100, 0xA82D);
+/*
+ * InitEditionPack()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+InitEditionPack(void) FIVEWORDINLINE(0x3F3C, 0x0011, 0x303C, 0x0100, 0xA82D);
#endif /* CALL_NOT_IN_CARBON */
@@ -518,434 +474,434 @@ extern "C" {
#endif /* TARGET_RT_MAC_CFM */
#if CALL_NOT_IN_CARBON
- /*
- * InitEditionPackVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- InitEditionPackVersion(short curEditionMgrVers) THREEWORDINLINE(0x303C, 0x0100, 0xA82D);
-
-
- /*
- * NewSection()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NewSection(
- const EditionContainerSpec * container,
- const FSSpec * sectionDocument, /* can be NULL */
- SectionType kind,
- long sectionID,
- UpdateMode initalMode,
- SectionHandle * sectionH) THREEWORDINLINE(0x303C, 0x0A02, 0xA82D);
-
-
- /*
- * RegisterSection()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- RegisterSection(
- const FSSpec * sectionDocument,
- SectionHandle sectionH,
- Boolean * aliasWasUpdated) THREEWORDINLINE(0x303C, 0x0604, 0xA82D);
-
-
- /*
- * UnRegisterSection()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- UnRegisterSection(SectionHandle sectionH) THREEWORDINLINE(0x303C, 0x0206, 0xA82D);
-
-
- /*
- * IsRegisteredSection()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- IsRegisteredSection(SectionHandle sectionH) THREEWORDINLINE(0x303C, 0x0208, 0xA82D);
-
-
- /*
- * AssociateSection()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- AssociateSection(
- SectionHandle sectionH,
- const FSSpec * newSectionDocument) THREEWORDINLINE(0x303C, 0x040C, 0xA82D);
-
-
- /*
- * CreateEditionContainerFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CreateEditionContainerFile(
- const FSSpec * editionFile,
- OSType fdCreator,
- ScriptCode editionFileNameScript) THREEWORDINLINE(0x303C, 0x050E, 0xA82D);
-
-
- /*
- * DeleteEditionContainerFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- DeleteEditionContainerFile(const FSSpec * editionFile) THREEWORDINLINE(0x303C, 0x0210, 0xA82D);
-
-
- /*
- * OpenEdition()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- OpenEdition(
- SectionHandle subscriberSectionH,
- EditionRefNum * refNum) THREEWORDINLINE(0x303C, 0x0412, 0xA82D);
-
-
- /*
- * OpenNewEdition()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- OpenNewEdition(
- SectionHandle publisherSectionH,
- OSType fdCreator,
- const FSSpec * publisherSectionDocument, /* can be NULL */
- EditionRefNum * refNum) THREEWORDINLINE(0x303C, 0x0814, 0xA82D);
-
-
- /*
- * CloseEdition()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CloseEdition(
- EditionRefNum whichEdition,
- Boolean successful) THREEWORDINLINE(0x303C, 0x0316, 0xA82D);
-
-
- /*
- * EditionHasFormat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- EditionHasFormat(
- EditionRefNum whichEdition,
- FormatType whichFormat,
- Size * formatSize) THREEWORDINLINE(0x303C, 0x0618, 0xA82D);
-
-
- /*
- * ReadEdition()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- ReadEdition(
- EditionRefNum whichEdition,
- FormatType whichFormat,
- void * buffPtr,
- Size * buffLen) THREEWORDINLINE(0x303C, 0x081A, 0xA82D);
-
-
- /*
- * WriteEdition()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- WriteEdition(
- EditionRefNum whichEdition,
- FormatType whichFormat,
- const void * buffPtr,
- Size buffLen) THREEWORDINLINE(0x303C, 0x081C, 0xA82D);
-
-
- /*
- * GetEditionFormatMark()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetEditionFormatMark(
- EditionRefNum whichEdition,
- FormatType whichFormat,
- unsigned long * currentMark) THREEWORDINLINE(0x303C, 0x061E, 0xA82D);
-
-
- /*
- * SetEditionFormatMark()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SetEditionFormatMark(
- EditionRefNum whichEdition,
- FormatType whichFormat,
- unsigned long setMarkTo) THREEWORDINLINE(0x303C, 0x0620, 0xA82D);
-
-
- /*
- * GetEditionInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetEditionInfo(
- SectionHandle sectionH,
- EditionInfoRecord * editionInfo) THREEWORDINLINE(0x303C, 0x0422, 0xA82D);
-
-
- /*
- * GoToPublisherSection()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GoToPublisherSection(const EditionContainerSpec * container) THREEWORDINLINE(0x303C, 0x0224, 0xA82D);
-
-
- /*
- * GetLastEditionContainerUsed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetLastEditionContainerUsed(EditionContainerSpec * container) THREEWORDINLINE(0x303C, 0x0226, 0xA82D);
-
-
- /*
- * GetStandardFormats()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetStandardFormats(
- const EditionContainerSpec * container,
- FormatType * previewFormat,
- Handle preview,
- Handle publisherAlias,
- Handle formats) THREEWORDINLINE(0x303C, 0x0A28, 0xA82D);
-
-
- /*
- * GetEditionOpenerProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetEditionOpenerProc(EditionOpenerUPP * opener) THREEWORDINLINE(0x303C, 0x022A, 0xA82D);
-
-
- /*
- * SetEditionOpenerProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SetEditionOpenerProc(EditionOpenerUPP opener) THREEWORDINLINE(0x303C, 0x022C, 0xA82D);
-
-
- /*
- * CallEditionOpenerProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CallEditionOpenerProc(
- EditionOpenerVerb selector,
- EditionOpenerParamBlock * PB,
- EditionOpenerUPP routine) THREEWORDINLINE(0x303C, 0x052E, 0xA82D);
-
-
- /*
- * CallFormatIOProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CallFormatIOProc(
- FormatIOVerb selector,
- FormatIOParamBlock * PB,
- FormatIOUPP routine) THREEWORDINLINE(0x303C, 0x0530, 0xA82D);
-
-
- /*
- * NewSubscriberDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NewSubscriberDialog(NewSubscriberReply * reply) THREEWORDINLINE(0x303C, 0x0232, 0xA82D);
-
-
- /*
- * NewSubscriberExpDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NewSubscriberExpDialog(
- NewSubscriberReply * reply,
- Point where,
- short expansionDITLresID,
- ExpDlgHookUPP dlgHook,
- ExpModalFilterUPP filter,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B34, 0xA82D);
-
-
- /*
- * NewPublisherDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NewPublisherDialog(NewPublisherReply * reply) THREEWORDINLINE(0x303C, 0x0236, 0xA82D);
-
-
- /*
- * NewPublisherExpDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NewPublisherExpDialog(
- NewPublisherReply * reply,
- Point where,
- short expansionDITLresID,
- ExpDlgHookUPP dlgHook,
- ExpModalFilterUPP filter,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B38, 0xA82D);
-
-
- /*
- * SectionOptionsDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SectionOptionsDialog(SectionOptionsReply * reply) THREEWORDINLINE(0x303C, 0x023A, 0xA82D);
-
-
- /*
- * SectionOptionsExpDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SectionOptionsExpDialog(
- SectionOptionsReply * reply,
- Point where,
- short expansionDITLresID,
- ExpDlgHookUPP dlgHook,
- ExpModalFilterUPP filter,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B3C, 0xA82D);
+/*
+ * InitEditionPackVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+InitEditionPackVersion(short curEditionMgrVers) THREEWORDINLINE(0x303C, 0x0100, 0xA82D);
+
+
+/*
+ * NewSection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NewSection(
+ const EditionContainerSpec * container,
+ const FSSpec * sectionDocument, /* can be NULL */
+ SectionType kind,
+ long sectionID,
+ UpdateMode initalMode,
+ SectionHandle * sectionH) THREEWORDINLINE(0x303C, 0x0A02, 0xA82D);
+
+
+/*
+ * RegisterSection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+RegisterSection(
+ const FSSpec * sectionDocument,
+ SectionHandle sectionH,
+ Boolean * aliasWasUpdated) THREEWORDINLINE(0x303C, 0x0604, 0xA82D);
+
+
+/*
+ * UnRegisterSection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+UnRegisterSection(SectionHandle sectionH) THREEWORDINLINE(0x303C, 0x0206, 0xA82D);
+
+
+/*
+ * IsRegisteredSection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+IsRegisteredSection(SectionHandle sectionH) THREEWORDINLINE(0x303C, 0x0208, 0xA82D);
+
+
+/*
+ * AssociateSection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+AssociateSection(
+ SectionHandle sectionH,
+ const FSSpec * newSectionDocument) THREEWORDINLINE(0x303C, 0x040C, 0xA82D);
+
+
+/*
+ * CreateEditionContainerFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CreateEditionContainerFile(
+ const FSSpec * editionFile,
+ OSType fdCreator,
+ ScriptCode editionFileNameScript) THREEWORDINLINE(0x303C, 0x050E, 0xA82D);
+
+
+/*
+ * DeleteEditionContainerFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+DeleteEditionContainerFile(const FSSpec * editionFile) THREEWORDINLINE(0x303C, 0x0210, 0xA82D);
+
+
+/*
+ * OpenEdition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+OpenEdition(
+ SectionHandle subscriberSectionH,
+ EditionRefNum * refNum) THREEWORDINLINE(0x303C, 0x0412, 0xA82D);
+
+
+/*
+ * OpenNewEdition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+OpenNewEdition(
+ SectionHandle publisherSectionH,
+ OSType fdCreator,
+ const FSSpec * publisherSectionDocument, /* can be NULL */
+ EditionRefNum * refNum) THREEWORDINLINE(0x303C, 0x0814, 0xA82D);
+
+
+/*
+ * CloseEdition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CloseEdition(
+ EditionRefNum whichEdition,
+ Boolean successful) THREEWORDINLINE(0x303C, 0x0316, 0xA82D);
+
+
+/*
+ * EditionHasFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+EditionHasFormat(
+ EditionRefNum whichEdition,
+ FormatType whichFormat,
+ Size * formatSize) THREEWORDINLINE(0x303C, 0x0618, 0xA82D);
+
+
+/*
+ * ReadEdition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+ReadEdition(
+ EditionRefNum whichEdition,
+ FormatType whichFormat,
+ void * buffPtr,
+ Size * buffLen) THREEWORDINLINE(0x303C, 0x081A, 0xA82D);
+
+
+/*
+ * WriteEdition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+WriteEdition(
+ EditionRefNum whichEdition,
+ FormatType whichFormat,
+ const void * buffPtr,
+ Size buffLen) THREEWORDINLINE(0x303C, 0x081C, 0xA82D);
+
+
+/*
+ * GetEditionFormatMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetEditionFormatMark(
+ EditionRefNum whichEdition,
+ FormatType whichFormat,
+ unsigned long * currentMark) THREEWORDINLINE(0x303C, 0x061E, 0xA82D);
+
+
+/*
+ * SetEditionFormatMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SetEditionFormatMark(
+ EditionRefNum whichEdition,
+ FormatType whichFormat,
+ unsigned long setMarkTo) THREEWORDINLINE(0x303C, 0x0620, 0xA82D);
+
+
+/*
+ * GetEditionInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetEditionInfo(
+ SectionHandle sectionH,
+ EditionInfoRecord * editionInfo) THREEWORDINLINE(0x303C, 0x0422, 0xA82D);
+
+
+/*
+ * GoToPublisherSection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GoToPublisherSection(const EditionContainerSpec * container) THREEWORDINLINE(0x303C, 0x0224, 0xA82D);
+
+
+/*
+ * GetLastEditionContainerUsed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetLastEditionContainerUsed(EditionContainerSpec * container) THREEWORDINLINE(0x303C, 0x0226, 0xA82D);
+
+
+/*
+ * GetStandardFormats()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetStandardFormats(
+ const EditionContainerSpec * container,
+ FormatType * previewFormat,
+ Handle preview,
+ Handle publisherAlias,
+ Handle formats) THREEWORDINLINE(0x303C, 0x0A28, 0xA82D);
+
+
+/*
+ * GetEditionOpenerProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetEditionOpenerProc(EditionOpenerUPP * opener) THREEWORDINLINE(0x303C, 0x022A, 0xA82D);
+
+
+/*
+ * SetEditionOpenerProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SetEditionOpenerProc(EditionOpenerUPP opener) THREEWORDINLINE(0x303C, 0x022C, 0xA82D);
+
+
+/*
+ * CallEditionOpenerProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CallEditionOpenerProc(
+ EditionOpenerVerb selector,
+ EditionOpenerParamBlock * PB,
+ EditionOpenerUPP routine) THREEWORDINLINE(0x303C, 0x052E, 0xA82D);
+
+
+/*
+ * CallFormatIOProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CallFormatIOProc(
+ FormatIOVerb selector,
+ FormatIOParamBlock * PB,
+ FormatIOUPP routine) THREEWORDINLINE(0x303C, 0x0530, 0xA82D);
+
+
+/*
+ * NewSubscriberDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NewSubscriberDialog(NewSubscriberReply * reply) THREEWORDINLINE(0x303C, 0x0232, 0xA82D);
+
+
+/*
+ * NewSubscriberExpDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NewSubscriberExpDialog(
+ NewSubscriberReply * reply,
+ Point where,
+ short expansionDITLresID,
+ ExpDlgHookUPP dlgHook,
+ ExpModalFilterUPP filter,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B34, 0xA82D);
+
+
+/*
+ * NewPublisherDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NewPublisherDialog(NewPublisherReply * reply) THREEWORDINLINE(0x303C, 0x0236, 0xA82D);
+
+
+/*
+ * NewPublisherExpDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NewPublisherExpDialog(
+ NewPublisherReply * reply,
+ Point where,
+ short expansionDITLresID,
+ ExpDlgHookUPP dlgHook,
+ ExpModalFilterUPP filter,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B38, 0xA82D);
+
+
+/*
+ * SectionOptionsDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SectionOptionsDialog(SectionOptionsReply * reply) THREEWORDINLINE(0x303C, 0x023A, 0xA82D);
+
+
+/*
+ * SectionOptionsExpDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SectionOptionsExpDialog(
+ SectionOptionsReply * reply,
+ Point where,
+ short expansionDITLresID,
+ ExpDlgHookUPP dlgHook,
+ ExpModalFilterUPP filter,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0B3C, 0xA82D);
@@ -953,11 +909,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Endian.h b/include/qt/Endian.h
index 551e1405e..348f98ea1 100644
--- a/include/qt/Endian.h
+++ b/include/qt/Endian.h
@@ -1,17 +1,17 @@
/*
File: Endian.h
-
+
Contains: Endian swapping utilties
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ENDIAN__
#define __ENDIAN__
@@ -40,623 +40,616 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- This file provides Endian Flipping routines for dealing with converting data
- between Big-Endian and Little-Endian machines. These routines are useful
- when writing code to compile for both Big and Little Endian machines and
- which must handle other endian number formats, such as reading or writing
- to a file or network packet.
+/*
+ This file provides Endian Flipping routines for dealing with converting data
+ between Big-Endian and Little-Endian machines. These routines are useful
+ when writing code to compile for both Big and Little Endian machines and
+ which must handle other endian number formats, such as reading or writing
+ to a file or network packet.
+
+ These routines are named as follows:
+
+ Endian<U><W>_<S>to<D>
+
+ where
+ <U> is whether the integer is signed ('S') or unsigned ('U')
+ <W> is integer bit width: 16, 32, or 64
+ <S> is the source endian format: 'B' for big, 'L' for little, or 'N' for native
+ <D> is the destination endian format: 'B' for big, 'L' for little, or 'N' for native
+
+ For example, to convert a Big Endian 32-bit unsigned integer to the current native format use:
+
+ long i = EndianU32_BtoN(data);
+
+ This file is set up so that the function macro to nothing when the target runtime already
+ is the desired format (e.g. on Big Endian machines, EndianU32_BtoN() macros away).
+
+ If long long's are not supported, you cannot get 64-bit quantities as a single value.
+ The macros are not defined in that case.
+
+
+
+ <<< W A R N I N G >>>
+
+ It is very important not to put any autoincrements inside the macros. This
+ will produce erroneous results because each time the address is accessed in the macro,
+ the increment occurs.
+
+ */
+/*
+ Note: These functions are currently not implemented in any library
+ and are only listed here as function prototypes to document the macros
+*/
+#if CALL_NOT_IN_CARBON
+/*
+ * EndianS16_BtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+EndianS16_BtoN(SInt16 value);
- These routines are named as follows:
- Endian<U><W>_<S>to<D>
+/*
+ * EndianS16_NtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+EndianS16_NtoB(SInt16 value);
- where
- <U> is whether the integer is signed ('S') or unsigned ('U')
- <W> is integer bit width: 16, 32, or 64
- <S> is the source endian format: 'B' for big, 'L' for little, or 'N' for native
- <D> is the destination endian format: 'B' for big, 'L' for little, or 'N' for native
- For example, to convert a Big Endian 32-bit unsigned integer to the current native format use:
+/*
+ * EndianS16_LtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+EndianS16_LtoN(SInt16 value);
- long i = EndianU32_BtoN(data);
- This file is set up so that the function macro to nothing when the target runtime already
- is the desired format (e.g. on Big Endian machines, EndianU32_BtoN() macros away).
+/*
+ * EndianS16_NtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+EndianS16_NtoL(SInt16 value);
- If long long's are not supported, you cannot get 64-bit quantities as a single value.
- The macros are not defined in that case.
+/*
+ * EndianS16_LtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+EndianS16_LtoB(SInt16 value);
- <<< W A R N I N G >>>
+/*
+ * EndianS16_BtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+EndianS16_BtoL(SInt16 value);
- It is very important not to put any autoincrements inside the macros. This
- will produce erroneous results because each time the address is accessed in the macro,
- the increment occurs.
- */
- /*
- Note: These functions are currently not implemented in any library
- and are only listed here as function prototypes to document the macros
- */
-#if CALL_NOT_IN_CARBON
- /*
- * EndianS16_BtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- EndianS16_BtoN(SInt16 value);
-
-
- /*
- * EndianS16_NtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- EndianS16_NtoB(SInt16 value);
-
-
- /*
- * EndianS16_LtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- EndianS16_LtoN(SInt16 value);
-
-
- /*
- * EndianS16_NtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- EndianS16_NtoL(SInt16 value);
-
-
- /*
- * EndianS16_LtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- EndianS16_LtoB(SInt16 value);
-
-
- /*
- * EndianS16_BtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- EndianS16_BtoL(SInt16 value);
-
-
- /*
- * EndianU16_BtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt16)
- EndianU16_BtoN(UInt16 value);
-
-
- /*
- * EndianU16_NtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt16)
- EndianU16_NtoB(UInt16 value);
-
-
- /*
- * EndianU16_LtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt16)
- EndianU16_LtoN(UInt16 value);
-
-
- /*
- * EndianU16_NtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt16)
- EndianU16_NtoL(UInt16 value);
-
-
- /*
- * EndianU16_LtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt16)
- EndianU16_LtoB(UInt16 value);
-
-
- /*
- * EndianU16_BtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt16)
- EndianU16_BtoL(UInt16 value);
-
-
- /*
- * EndianS32_BtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt32)
- EndianS32_BtoN(SInt32 value);
-
-
- /*
- * EndianS32_NtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt32)
- EndianS32_NtoB(SInt32 value);
-
-
- /*
- * EndianS32_LtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt32)
- EndianS32_LtoN(SInt32 value);
-
-
- /*
- * EndianS32_NtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt32)
- EndianS32_NtoL(SInt32 value);
-
-
- /*
- * EndianS32_LtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt32)
- EndianS32_LtoB(SInt32 value);
-
-
- /*
- * EndianS32_BtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt32)
- EndianS32_BtoL(SInt32 value);
-
-
- /*
- * EndianU32_BtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- EndianU32_BtoN(UInt32 value);
-
-
- /*
- * EndianU32_NtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- EndianU32_NtoB(UInt32 value);
-
-
- /*
- * EndianU32_LtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- EndianU32_LtoN(UInt32 value);
-
-
- /*
- * EndianU32_NtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- EndianU32_NtoL(UInt32 value);
-
-
- /*
- * EndianU32_LtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- EndianU32_LtoB(UInt32 value);
-
-
- /*
- * EndianU32_BtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- EndianU32_BtoL(UInt32 value);
+/*
+ * EndianU16_BtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt16 )
+EndianU16_BtoN(UInt16 value);
+
+
+/*
+ * EndianU16_NtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt16 )
+EndianU16_NtoB(UInt16 value);
+
+
+/*
+ * EndianU16_LtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt16 )
+EndianU16_LtoN(UInt16 value);
+
+
+/*
+ * EndianU16_NtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt16 )
+EndianU16_NtoL(UInt16 value);
+
+
+/*
+ * EndianU16_LtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt16 )
+EndianU16_LtoB(UInt16 value);
+
+
+/*
+ * EndianU16_BtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt16 )
+EndianU16_BtoL(UInt16 value);
+
+
+/*
+ * EndianS32_BtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt32 )
+EndianS32_BtoN(SInt32 value);
+
+
+/*
+ * EndianS32_NtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt32 )
+EndianS32_NtoB(SInt32 value);
+
+
+/*
+ * EndianS32_LtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt32 )
+EndianS32_LtoN(SInt32 value);
+
+
+/*
+ * EndianS32_NtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt32 )
+EndianS32_NtoL(SInt32 value);
+
+
+/*
+ * EndianS32_LtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt32 )
+EndianS32_LtoB(SInt32 value);
+
+
+/*
+ * EndianS32_BtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt32 )
+EndianS32_BtoL(SInt32 value);
+
+
+/*
+ * EndianU32_BtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+EndianU32_BtoN(UInt32 value);
+
+
+/*
+ * EndianU32_NtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+EndianU32_NtoB(UInt32 value);
+
+
+/*
+ * EndianU32_LtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+EndianU32_LtoN(UInt32 value);
+
+
+/*
+ * EndianU32_NtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+EndianU32_NtoL(UInt32 value);
+
+
+/*
+ * EndianU32_LtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+EndianU32_LtoB(UInt32 value);
+
+
+/*
+ * EndianU32_BtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+EndianU32_BtoL(UInt32 value);
#endif /* CALL_NOT_IN_CARBON */
#if !TYPE_LONGLONG
- /*
- Note: If these Int64 functions ever were implemented in a library,
- we would need two libraries, one for compilers that
- support long long and one for other compilers.
- */
+/*
+ Note: If these Int64 functions ever were implemented in a library,
+ we would need two libraries, one for compilers that
+ support long long and one for other compilers.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * EndianS64_BtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt64)
- EndianS64_BtoN(SInt64 value);
-
-
- /*
- * EndianS64_NtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt64)
- EndianS64_NtoB(SInt64 value);
-
-
- /*
- * EndianS64_LtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt64)
- EndianS64_LtoN(SInt64 value);
-
-
- /*
- * EndianS64_NtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt64)
- EndianS64_NtoL(SInt64 value);
-
-
- /*
- * EndianS64_LtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt64)
- EndianS64_LtoB(SInt64 value);
-
-
- /*
- * EndianS64_BtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt64)
- EndianS64_BtoL(SInt64 value);
-
-
- /*
- * EndianU64_BtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt64)
- EndianU64_BtoN(UInt64 value);
-
-
- /*
- * EndianU64_NtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt64)
- EndianU64_NtoB(UInt64 value);
-
-
- /*
- * EndianU64_LtoN()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt64)
- EndianU64_LtoN(UInt64 value);
-
-
- /*
- * EndianU64_NtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt64)
- EndianU64_NtoL(UInt64 value);
-
-
- /*
- * EndianU64_LtoB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt64)
- EndianU64_LtoB(UInt64 value);
-
-
- /*
- * EndianU64_BtoL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt64)
- EndianU64_BtoL(UInt64 value);
+/*
+ * EndianS64_BtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt64 )
+EndianS64_BtoN(SInt64 value);
+
+
+/*
+ * EndianS64_NtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt64 )
+EndianS64_NtoB(SInt64 value);
+
+
+/*
+ * EndianS64_LtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt64 )
+EndianS64_LtoN(SInt64 value);
+
+
+/*
+ * EndianS64_NtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt64 )
+EndianS64_NtoL(SInt64 value);
+
+
+/*
+ * EndianS64_LtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt64 )
+EndianS64_LtoB(SInt64 value);
+
+
+/*
+ * EndianS64_BtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt64 )
+EndianS64_BtoL(SInt64 value);
+
+
+/*
+ * EndianU64_BtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt64 )
+EndianU64_BtoN(UInt64 value);
+
+
+/*
+ * EndianU64_NtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt64 )
+EndianU64_NtoB(UInt64 value);
+
+
+/*
+ * EndianU64_LtoN()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt64 )
+EndianU64_LtoN(UInt64 value);
+
+
+/*
+ * EndianU64_NtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt64 )
+EndianU64_NtoL(UInt64 value);
+
+
+/*
+ * EndianU64_LtoB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt64 )
+EndianU64_LtoB(UInt64 value);
+
+
+/*
+ * EndianU64_BtoL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt64 )
+EndianU64_BtoL(UInt64 value);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !TYPE_LONGLONG */
- /*
- These types are used for structures that contain data that is
- always in BigEndian format. This extra typing prevents little
- endian code from directly changing the data, thus saving much
- time in the debugger.
- */
+/*
+ These types are used for structures that contain data that is
+ always in BigEndian format. This extra typing prevents little
+ endian code from directly changing the data, thus saving much
+ time in the debugger.
+*/
#if TARGET_RT_LITTLE_ENDIAN
- struct BigEndianLong
- {
- long bigEndianValue;
- };
- typedef struct BigEndianLong BigEndianLong;
- struct BigEndianUnsignedLong
- {
- unsigned long bigEndianValue;
- };
- typedef struct BigEndianUnsignedLong BigEndianUnsignedLong;
- struct BigEndianShort
- {
- short bigEndianValue;
- };
- typedef struct BigEndianShort BigEndianShort;
- struct BigEndianUnsignedShort
- {
- unsigned short bigEndianValue;
- };
- typedef struct BigEndianUnsignedShort BigEndianUnsignedShort;
- struct BigEndianFixed
- {
- Fixed bigEndianValue;
- };
- typedef struct BigEndianFixed BigEndianFixed;
- struct BigEndianUnsignedFixed
- {
- UnsignedFixed bigEndianValue;
- };
- typedef struct BigEndianUnsignedFixed BigEndianUnsignedFixed;
- struct BigEndianOSType
- {
- OSType bigEndianValue;
- };
- typedef struct BigEndianOSType BigEndianOSType;
+struct BigEndianLong {
+ long bigEndianValue;
+};
+typedef struct BigEndianLong BigEndianLong;
+struct BigEndianUnsignedLong {
+ unsigned long bigEndianValue;
+};
+typedef struct BigEndianUnsignedLong BigEndianUnsignedLong;
+struct BigEndianShort {
+ short bigEndianValue;
+};
+typedef struct BigEndianShort BigEndianShort;
+struct BigEndianUnsignedShort {
+ unsigned short bigEndianValue;
+};
+typedef struct BigEndianUnsignedShort BigEndianUnsignedShort;
+struct BigEndianFixed {
+ Fixed bigEndianValue;
+};
+typedef struct BigEndianFixed BigEndianFixed;
+struct BigEndianUnsignedFixed {
+ UnsignedFixed bigEndianValue;
+};
+typedef struct BigEndianUnsignedFixed BigEndianUnsignedFixed;
+struct BigEndianOSType {
+ OSType bigEndianValue;
+};
+typedef struct BigEndianOSType BigEndianOSType;
#else
- typedef long BigEndianLong;
- typedef unsigned long BigEndianUnsignedLong;
- typedef short BigEndianShort;
- typedef unsigned short BigEndianUnsignedShort;
- typedef Fixed BigEndianFixed;
- typedef UnsignedFixed BigEndianUnsignedFixed;
- typedef OSType BigEndianOSType;
+typedef long BigEndianLong;
+typedef unsigned long BigEndianUnsignedLong;
+typedef short BigEndianShort;
+typedef unsigned short BigEndianUnsignedShort;
+typedef Fixed BigEndianFixed;
+typedef UnsignedFixed BigEndianUnsignedFixed;
+typedef OSType BigEndianOSType;
#endif /* TARGET_RT_LITTLE_ENDIAN */
- /*
- Macro away no-op functions
- */
+/*
+ Macro away no-op functions
+*/
#if TARGET_RT_BIG_ENDIAN
-#define EndianS16_BtoN(value) (value)
-#define EndianS16_NtoB(value) (value)
-#define EndianU16_BtoN(value) (value)
-#define EndianU16_NtoB(value) (value)
-#define EndianS32_BtoN(value) (value)
-#define EndianS32_NtoB(value) (value)
-#define EndianU32_BtoN(value) (value)
-#define EndianU32_NtoB(value) (value)
-#define EndianS64_BtoN(value) (value)
-#define EndianS64_NtoB(value) (value)
-#define EndianU64_BtoN(value) (value)
-#define EndianU64_NtoB(value) (value)
+ #define EndianS16_BtoN(value) (value)
+ #define EndianS16_NtoB(value) (value)
+ #define EndianU16_BtoN(value) (value)
+ #define EndianU16_NtoB(value) (value)
+ #define EndianS32_BtoN(value) (value)
+ #define EndianS32_NtoB(value) (value)
+ #define EndianU32_BtoN(value) (value)
+ #define EndianU32_NtoB(value) (value)
+ #define EndianS64_BtoN(value) (value)
+ #define EndianS64_NtoB(value) (value)
+ #define EndianU64_BtoN(value) (value)
+ #define EndianU64_NtoB(value) (value)
#else
-#define EndianS16_LtoN(value) (value)
-#define EndianS16_NtoL(value) (value)
-#define EndianU16_LtoN(value) (value)
-#define EndianU16_NtoL(value) (value)
-#define EndianS32_LtoN(value) (value)
-#define EndianS32_NtoL(value) (value)
-#define EndianU32_LtoN(value) (value)
-#define EndianU32_NtoL(value) (value)
-#define EndianS64_LtoN(value) (value)
-#define EndianS64_NtoL(value) (value)
-#define EndianU64_LtoN(value) (value)
-#define EndianU64_NtoL(value) (value)
+ #define EndianS16_LtoN(value) (value)
+ #define EndianS16_NtoL(value) (value)
+ #define EndianU16_LtoN(value) (value)
+ #define EndianU16_NtoL(value) (value)
+ #define EndianS32_LtoN(value) (value)
+ #define EndianS32_NtoL(value) (value)
+ #define EndianU32_LtoN(value) (value)
+ #define EndianU32_NtoL(value) (value)
+ #define EndianS64_LtoN(value) (value)
+ #define EndianS64_NtoL(value) (value)
+ #define EndianU64_LtoN(value) (value)
+ #define EndianU64_NtoL(value) (value)
#endif
- /*
- Map native to actual
- */
+/*
+ Map native to actual
+*/
#if TARGET_RT_BIG_ENDIAN
-#define EndianS16_LtoN(value) EndianS16_LtoB(value)
-#define EndianS16_NtoL(value) EndianS16_BtoL(value)
-#define EndianU16_LtoN(value) EndianU16_LtoB(value)
-#define EndianU16_NtoL(value) EndianU16_BtoL(value)
-#define EndianS32_LtoN(value) EndianS32_LtoB(value)
-#define EndianS32_NtoL(value) EndianS32_BtoL(value)
-#define EndianU32_LtoN(value) EndianU32_LtoB(value)
-#define EndianU32_NtoL(value) EndianU32_BtoL(value)
-#define EndianS64_LtoN(value) EndianS64_LtoB(value)
-#define EndianS64_NtoL(value) EndianS64_BtoL(value)
-#define EndianU64_LtoN(value) EndianU64_LtoB(value)
-#define EndianU64_NtoL(value) EndianU64_BtoL(value)
+ #define EndianS16_LtoN(value) EndianS16_LtoB(value)
+ #define EndianS16_NtoL(value) EndianS16_BtoL(value)
+ #define EndianU16_LtoN(value) EndianU16_LtoB(value)
+ #define EndianU16_NtoL(value) EndianU16_BtoL(value)
+ #define EndianS32_LtoN(value) EndianS32_LtoB(value)
+ #define EndianS32_NtoL(value) EndianS32_BtoL(value)
+ #define EndianU32_LtoN(value) EndianU32_LtoB(value)
+ #define EndianU32_NtoL(value) EndianU32_BtoL(value)
+ #define EndianS64_LtoN(value) EndianS64_LtoB(value)
+ #define EndianS64_NtoL(value) EndianS64_BtoL(value)
+ #define EndianU64_LtoN(value) EndianU64_LtoB(value)
+ #define EndianU64_NtoL(value) EndianU64_BtoL(value)
#else
-#define EndianS16_BtoN(value) EndianS16_BtoL(value)
-#define EndianS16_NtoB(value) EndianS16_LtoB(value)
-#define EndianU16_BtoN(value) EndianU16_BtoL(value)
-#define EndianU16_NtoB(value) EndianU16_LtoB(value)
-#define EndianS32_BtoN(value) EndianS32_BtoL(value)
-#define EndianS32_NtoB(value) EndianS32_LtoB(value)
-#define EndianU32_BtoN(value) EndianU32_BtoL(value)
-#define EndianU32_NtoB(value) EndianU32_LtoB(value)
-#define EndianS64_BtoN(value) EndianS64_BtoL(value)
-#define EndianS64_NtoB(value) EndianS64_LtoB(value)
-#define EndianU64_BtoN(value) EndianU64_BtoL(value)
-#define EndianU64_NtoB(value) EndianU64_LtoB(value)
+ #define EndianS16_BtoN(value) EndianS16_BtoL(value)
+ #define EndianS16_NtoB(value) EndianS16_LtoB(value)
+ #define EndianU16_BtoN(value) EndianU16_BtoL(value)
+ #define EndianU16_NtoB(value) EndianU16_LtoB(value)
+ #define EndianS32_BtoN(value) EndianS32_BtoL(value)
+ #define EndianS32_NtoB(value) EndianS32_LtoB(value)
+ #define EndianU32_BtoN(value) EndianU32_BtoL(value)
+ #define EndianU32_NtoB(value) EndianU32_LtoB(value)
+ #define EndianS64_BtoN(value) EndianS64_BtoL(value)
+ #define EndianS64_NtoB(value) EndianS64_LtoB(value)
+ #define EndianU64_BtoN(value) EndianU64_BtoL(value)
+ #define EndianU64_NtoB(value) EndianU64_LtoB(value)
#endif
- /*
- Implement ÅLtoB and ÅBtoL
- */
+/*
+ Implement ÅLtoB and ÅBtoL
+*/
#define EndianS16_LtoB(value) ((SInt16)Endian16_Swap(value))
#define EndianS16_BtoL(value) ((SInt16)Endian16_Swap(value))
#define EndianU16_LtoB(value) ((UInt16)Endian16_Swap(value))
@@ -672,51 +665,51 @@ extern "C" {
- /*
- Implement low level *_Swap functions.
-
- extern UInt16 Endian16_Swap(UInt16 value);
- extern UInt32 Endian32_Swap(UInt32 value);
- extern UInt64 Endian64_Swap(UInt64 value);
-
- Note: Depending on the processor, you might want to implement
- these as function calls instead of macros.
-
- */
+/*
+ Implement low level *_Swap functions.
+
+ extern UInt16 Endian16_Swap(UInt16 value);
+ extern UInt32 Endian32_Swap(UInt32 value);
+ extern UInt64 Endian64_Swap(UInt64 value);
+
+ Note: Depending on the processor, you might want to implement
+ these as function calls instead of macros.
+
+*/
#if CALL_NOT_IN_CARBON
- /*
- * Endian16_Swap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * Endian16_Swap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 Endian16_Swap(__D0)
#endif
- EXTERN_API(UInt16)
- Endian16_Swap(UInt16 value) ONEWORDINLINE(0xE158);
-
-
- /*
- * Endian32_Swap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( UInt16 )
+Endian16_Swap(UInt16 value) ONEWORDINLINE(0xE158);
+
+
+/*
+ * Endian32_Swap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 Endian32_Swap(__D0)
#endif
- EXTERN_API(UInt32)
- Endian32_Swap(UInt32 value) THREEWORDINLINE(0xE158, 0x4840, 0xE158);
+EXTERN_API( UInt32 )
+Endian32_Swap(UInt32 value) THREEWORDINLINE(0xE158, 0x4840, 0xE158);
#endif /* CALL_NOT_IN_CARBON */
- /* override with macros */
+/* override with macros */
#define Endian16_Swap(value) \
(((((UInt16)value)<<8) & 0xFF00) | \
((((UInt16)value)>>8) & 0x00FF))
@@ -728,12 +721,12 @@ extern "C" {
((((UInt32)value)>>24) & 0x000000FF))
#if TYPE_LONGLONG
-#if TARGET_OS_WIN32
- /* the inline macros crash MSDEV's optimizer on Windows. */
- extern UInt64 Endian64_Swap(UInt64 value);
-#elif defined(__MWERKS__) && (__MWERKS__ < 0x1800)
- /* older Metrowerks compilers errored on LL suffix */
-#define Endian64_Swap(value) \
+ #if TARGET_OS_WIN32
+ /* the inline macros crash MSDEV's optimizer on Windows. */
+ extern UInt64 Endian64_Swap(UInt64 value);
+ #elif defined(__MWERKS__) && (__MWERKS__ < 0x1800)
+ /* older Metrowerks compilers errored on LL suffix */
+ #define Endian64_Swap(value) \
(((((UInt64)value)<<56) & 0xFF00000000000000) | \
((((UInt64)value)<<40) & 0x00FF000000000000) | \
((((UInt64)value)<<24) & 0x0000FF0000000000) | \
@@ -742,8 +735,8 @@ extern "C" {
((((UInt64)value)>>24) & 0x0000000000FF0000) | \
((((UInt64)value)>>40) & 0x000000000000FF00) | \
((((UInt64)value)>>56) & 0x00000000000000FF))
-#else
-#define Endian64_Swap(value) \
+ #else
+ #define Endian64_Swap(value) \
(((((UInt64)value)<<56) & 0xFF00000000000000ULL) | \
((((UInt64)value)<<40) & 0x00FF000000000000ULL) | \
((((UInt64)value)<<24) & 0x0000FF0000000000ULL) | \
@@ -752,12 +745,12 @@ extern "C" {
((((UInt64)value)>>24) & 0x0000000000FF0000ULL) | \
((((UInt64)value)>>40) & 0x000000000000FF00ULL) | \
((((UInt64)value)>>56) & 0x00000000000000FFULL))
-#endif
+ #endif
#else
- /*
- Note: When using compilers that don't support "long long",
- Endian64_Swap must be implemented as glue.
- */
+/*
+ Note: When using compilers that don't support "long long",
+ Endian64_Swap must be implemented as glue.
+*/
#ifdef __cplusplus
inline static UInt64 Endian64_Swap(UInt64 value)
{
@@ -768,16 +761,16 @@ extern "C" {
}
#else
#if CALL_NOT_IN_CARBON
- /*
- * Endian64_Swap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt64)
- Endian64_Swap(UInt64 value);
+/*
+ * Endian64_Swap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt64 )
+Endian64_Swap(UInt64 value);
#endif /* CALL_NOT_IN_CARBON */
@@ -788,11 +781,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Events.h b/include/qt/Events.h
index a96c1c5b8..1e4f557e1 100644
--- a/include/qt/Events.h
+++ b/include/qt/Events.h
@@ -1,17 +1,17 @@
/*
File: Events.h
-
+
Contains: Event Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __EVENTS__
#define __EVENTS__
@@ -50,678 +50,647 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef UInt16 EventKind;
- typedef UInt16 EventMask;
- enum
- {
- nullEvent = 0,
- mouseDown = 1,
- mouseUp = 2,
- keyDown = 3,
- keyUp = 4,
- autoKey = 5,
- updateEvt = 6,
- diskEvt = 7, /* Not sent in Carbon. See kEventClassVolume in CarbonEvents.h*/
- activateEvt = 8,
- osEvt = 15,
- kHighLevelEvent = 23
- };
-
- enum
- {
- mDownMask = 1 << mouseDown, /* mouse button pressed*/
- mUpMask = 1 << mouseUp, /* mouse button released*/
- keyDownMask = 1 << keyDown, /* key pressed*/
- keyUpMask = 1 << keyUp, /* key released*/
- autoKeyMask = 1 << autoKey, /* key repeatedly held down*/
- updateMask = 1 << updateEvt, /* window needs updating*/
- diskMask = 1 << diskEvt, /* disk inserted*/
- activMask = 1 << activateEvt, /* activate/deactivate window*/
- highLevelEventMask = 0x0400, /* high-level events (includes AppleEvents)*/
- osMask = 1 << osEvt, /* operating system events (suspend, resume)*/
- everyEvent = 0xFFFF /* all of the above*/
- };
-
- enum
- {
- charCodeMask = 0x000000FF,
- keyCodeMask = 0x0000FF00,
- adbAddrMask = 0x00FF0000,
- osEvtMessageMask = (unsigned long)0xFF000000
- };
-
- enum
- {
- /* OS event messages. Event (sub)code is in the high byte of the message field.*/
- mouseMovedMessage = 0x00FA,
- suspendResumeMessage = 0x0001
- };
-
- enum
- {
- resumeFlag = 1 /* Bit 0 of message indicates resume vs suspend*/
- };
+typedef UInt16 EventKind;
+typedef UInt16 EventMask;
+enum {
+ nullEvent = 0,
+ mouseDown = 1,
+ mouseUp = 2,
+ keyDown = 3,
+ keyUp = 4,
+ autoKey = 5,
+ updateEvt = 6,
+ diskEvt = 7, /* Not sent in Carbon. See kEventClassVolume in CarbonEvents.h*/
+ activateEvt = 8,
+ osEvt = 15,
+ kHighLevelEvent = 23
+};
+
+enum {
+ mDownMask = 1 << mouseDown, /* mouse button pressed*/
+ mUpMask = 1 << mouseUp, /* mouse button released*/
+ keyDownMask = 1 << keyDown, /* key pressed*/
+ keyUpMask = 1 << keyUp, /* key released*/
+ autoKeyMask = 1 << autoKey, /* key repeatedly held down*/
+ updateMask = 1 << updateEvt, /* window needs updating*/
+ diskMask = 1 << diskEvt, /* disk inserted*/
+ activMask = 1 << activateEvt, /* activate/deactivate window*/
+ highLevelEventMask = 0x0400, /* high-level events (includes AppleEvents)*/
+ osMask = 1 << osEvt, /* operating system events (suspend, resume)*/
+ everyEvent = 0xFFFF /* all of the above*/
+};
+
+enum {
+ charCodeMask = 0x000000FF,
+ keyCodeMask = 0x0000FF00,
+ adbAddrMask = 0x00FF0000,
+ osEvtMessageMask = (unsigned long)0xFF000000
+};
+
+enum {
+ /* OS event messages. Event (sub)code is in the high byte of the message field.*/
+ mouseMovedMessage = 0x00FA,
+ suspendResumeMessage = 0x0001
+};
+
+enum {
+ resumeFlag = 1 /* Bit 0 of message indicates resume vs suspend*/
+};
#if CALL_NOT_IN_CARBON
- /* convertClipboardFlag is not ever set under Carbon. This is because scrap conversion is */
- /* not tied to suspend/resume events any longer. Your application should instead use the */
- /* scrap promise mechanism and fulfill scrap requests only when your promise keeper proc */
- /* is called. If you need to know if the scrap has changed, you can cache the last */
- /* ScrapRef you received and compare it with the current ScrapRef */
- enum
- {
- convertClipboardFlag = 2 /* Bit 1 in resume message indicates clipboard change*/
- };
+/* convertClipboardFlag is not ever set under Carbon. This is because scrap conversion is */
+/* not tied to suspend/resume events any longer. Your application should instead use the */
+/* scrap promise mechanism and fulfill scrap requests only when your promise keeper proc */
+/* is called. If you need to know if the scrap has changed, you can cache the last */
+/* ScrapRef you received and compare it with the current ScrapRef */
+enum {
+ convertClipboardFlag = 2 /* Bit 1 in resume message indicates clipboard change*/
+};
#endif /* CALL_NOT_IN_CARBON */
- /*
- CARBON ALERT! BATTLESTATIONS!
-
- The EventModifiers bits defined here are also used in the newer Carbon Event
- key modifiers parameters. There are two main differences:
-
- 1) The Carbon key modifiers parameter is a UInt32, not a UInt16. Never try to
- extract the key modifiers parameter from a Carbon Event into an EventModifiers
- type. You will probably get your stack trashed.
- 2) The Carbon key modifiers is just that: key modifiers. That parameter will
- never contain the button state bit.
- */
- typedef UInt16 EventModifiers;
- enum
- {
- /* modifiers */
- activeFlagBit = 0, /* activate? (activateEvt and mouseDown)*/
- btnStateBit = 7, /* state of button?*/
- cmdKeyBit = 8, /* command key down?*/
- shiftKeyBit = 9, /* shift key down?*/
- alphaLockBit = 10, /* alpha lock down?*/
- optionKeyBit = 11, /* option key down?*/
- controlKeyBit = 12, /* control key down?*/
- rightShiftKeyBit = 13, /* right shift key down?*/
- rightOptionKeyBit = 14, /* right Option key down?*/
- rightControlKeyBit = 15 /* right Control key down?*/
- };
-
- enum
- {
- activeFlag = 1 << activeFlagBit,
- btnState = 1 << btnStateBit,
- cmdKey = 1 << cmdKeyBit,
- shiftKey = 1 << shiftKeyBit,
- alphaLock = 1 << alphaLockBit,
- optionKey = 1 << optionKeyBit,
- controlKey = 1 << controlKeyBit,
- rightShiftKey = 1 << rightShiftKeyBit,
- rightOptionKey = 1 << rightOptionKeyBit,
- rightControlKey = 1 << rightControlKeyBit
- };
-
- /* MacRoman character codes*/
- enum
- {
- kNullCharCode = 0,
- kHomeCharCode = 1,
- kEnterCharCode = 3,
- kEndCharCode = 4,
- kHelpCharCode = 5,
- kBellCharCode = 7,
- kBackspaceCharCode = 8,
- kTabCharCode = 9,
- kLineFeedCharCode = 10,
- kVerticalTabCharCode = 11,
- kPageUpCharCode = 11,
- kFormFeedCharCode = 12,
- kPageDownCharCode = 12,
- kReturnCharCode = 13,
- kFunctionKeyCharCode = 16,
- kCommandCharCode = 17, /* glyph available only in system fonts*/
- kCheckCharCode = 18, /* glyph available only in system fonts*/
- kDiamondCharCode = 19, /* glyph available only in system fonts*/
- kAppleLogoCharCode = 20, /* glyph available only in system fonts*/
- kEscapeCharCode = 27,
- kClearCharCode = 27,
- kLeftArrowCharCode = 28,
- kRightArrowCharCode = 29,
- kUpArrowCharCode = 30,
- kDownArrowCharCode = 31,
- kSpaceCharCode = 32,
- kDeleteCharCode = 127,
- kBulletCharCode = 165,
- kNonBreakingSpaceCharCode = 202
- };
-
- /* useful Unicode code points*/
- enum
- {
- kShiftUnicode = 0x21E7, /* Unicode UPWARDS WHITE ARROW*/
- kControlUnicode = 0x2303, /* Unicode UP ARROWHEAD*/
- kOptionUnicode = 0x2325, /* Unicode OPTION KEY*/
- kCommandUnicode = 0x2318, /* Unicode PLACE OF INTEREST SIGN*/
- kPencilUnicode = 0x270E, /* Unicode LOWER RIGHT PENCIL*/
- kCheckUnicode = 0x2713, /* Unicode CHECK MARK*/
- kDiamondUnicode = 0x25C6, /* Unicode BLACK DIAMOND*/
- kBulletUnicode = 0x2022, /* Unicode BULLET*/
- kAppleLogoUnicode = 0xF8FF /* Unicode APPLE LOGO*/
- };
-
- struct EventRecord
- {
- EventKind what;
- UInt32 message;
- UInt32 when;
- Point where;
- EventModifiers modifiers;
- };
- typedef struct EventRecord EventRecord;
- typedef CALLBACK_API(void , FKEYProcPtr)(void);
- typedef STACK_UPP_TYPE(FKEYProcPtr) FKEYUPP;
+/*
+ CARBON ALERT! BATTLESTATIONS!
+
+ The EventModifiers bits defined here are also used in the newer Carbon Event
+ key modifiers parameters. There are two main differences:
+
+ 1) The Carbon key modifiers parameter is a UInt32, not a UInt16. Never try to
+ extract the key modifiers parameter from a Carbon Event into an EventModifiers
+ type. You will probably get your stack trashed.
+ 2) The Carbon key modifiers is just that: key modifiers. That parameter will
+ never contain the button state bit.
+*/
+typedef UInt16 EventModifiers;
+enum {
+ /* modifiers */
+ activeFlagBit = 0, /* activate? (activateEvt and mouseDown)*/
+ btnStateBit = 7, /* state of button?*/
+ cmdKeyBit = 8, /* command key down?*/
+ shiftKeyBit = 9, /* shift key down?*/
+ alphaLockBit = 10, /* alpha lock down?*/
+ optionKeyBit = 11, /* option key down?*/
+ controlKeyBit = 12, /* control key down?*/
+ rightShiftKeyBit = 13, /* right shift key down?*/
+ rightOptionKeyBit = 14, /* right Option key down?*/
+ rightControlKeyBit = 15 /* right Control key down?*/
+};
+
+enum {
+ activeFlag = 1 << activeFlagBit,
+ btnState = 1 << btnStateBit,
+ cmdKey = 1 << cmdKeyBit,
+ shiftKey = 1 << shiftKeyBit,
+ alphaLock = 1 << alphaLockBit,
+ optionKey = 1 << optionKeyBit,
+ controlKey = 1 << controlKeyBit,
+ rightShiftKey = 1 << rightShiftKeyBit,
+ rightOptionKey = 1 << rightOptionKeyBit,
+ rightControlKey = 1 << rightControlKeyBit
+};
+
+/* MacRoman character codes*/
+enum {
+ kNullCharCode = 0,
+ kHomeCharCode = 1,
+ kEnterCharCode = 3,
+ kEndCharCode = 4,
+ kHelpCharCode = 5,
+ kBellCharCode = 7,
+ kBackspaceCharCode = 8,
+ kTabCharCode = 9,
+ kLineFeedCharCode = 10,
+ kVerticalTabCharCode = 11,
+ kPageUpCharCode = 11,
+ kFormFeedCharCode = 12,
+ kPageDownCharCode = 12,
+ kReturnCharCode = 13,
+ kFunctionKeyCharCode = 16,
+ kCommandCharCode = 17, /* glyph available only in system fonts*/
+ kCheckCharCode = 18, /* glyph available only in system fonts*/
+ kDiamondCharCode = 19, /* glyph available only in system fonts*/
+ kAppleLogoCharCode = 20, /* glyph available only in system fonts*/
+ kEscapeCharCode = 27,
+ kClearCharCode = 27,
+ kLeftArrowCharCode = 28,
+ kRightArrowCharCode = 29,
+ kUpArrowCharCode = 30,
+ kDownArrowCharCode = 31,
+ kSpaceCharCode = 32,
+ kDeleteCharCode = 127,
+ kBulletCharCode = 165,
+ kNonBreakingSpaceCharCode = 202
+};
+
+/* useful Unicode code points*/
+enum {
+ kShiftUnicode = 0x21E7, /* Unicode UPWARDS WHITE ARROW*/
+ kControlUnicode = 0x2303, /* Unicode UP ARROWHEAD*/
+ kOptionUnicode = 0x2325, /* Unicode OPTION KEY*/
+ kCommandUnicode = 0x2318, /* Unicode PLACE OF INTEREST SIGN*/
+ kPencilUnicode = 0x270E, /* Unicode LOWER RIGHT PENCIL*/
+ kCheckUnicode = 0x2713, /* Unicode CHECK MARK*/
+ kDiamondUnicode = 0x25C6, /* Unicode BLACK DIAMOND*/
+ kBulletUnicode = 0x2022, /* Unicode BULLET*/
+ kAppleLogoUnicode = 0xF8FF /* Unicode APPLE LOGO*/
+};
+
+struct EventRecord {
+ EventKind what;
+ UInt32 message;
+ UInt32 when;
+ Point where;
+ EventModifiers modifiers;
+};
+typedef struct EventRecord EventRecord;
+typedef CALLBACK_API( void , FKEYProcPtr )(void);
+typedef STACK_UPP_TYPE(FKEYProcPtr) FKEYUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewFKEYUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(FKEYUPP)
- NewFKEYUPP(FKEYProcPtr userRoutine);
+/*
+ * NewFKEYUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( FKEYUPP )
+NewFKEYUPP(FKEYProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFKEYProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
-#ifdef __cplusplus
- inline DEFINE_API_C(FKEYUPP) NewFKEYUPP(FKEYProcPtr userRoutine)
- {
- return (FKEYUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFKEYProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewFKEYUPP(userRoutine) (FKEYUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFKEYProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppFKEYProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FKEYUPP) NewFKEYUPP(FKEYProcPtr userRoutine) { return (FKEYUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFKEYProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewFKEYUPP(userRoutine) (FKEYUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFKEYProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeFKEYUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeFKEYUPP(FKEYUPP userUPP);
+/*
+ * DisposeFKEYUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeFKEYUPP(FKEYUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFKEYUPP(FKEYUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeFKEYUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFKEYUPP(FKEYUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeFKEYUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeFKEYUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeFKEYUPP(FKEYUPP userUPP);
+/*
+ * InvokeFKEYUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeFKEYUPP(FKEYUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeFKEYUPP(FKEYUPP userUPP)
- {
- CALL_ZERO_PARAMETER_UPP(userUPP, uppFKEYProcInfo);
- }
-#else
-#define InvokeFKEYUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppFKEYProcInfo)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeFKEYUPP(FKEYUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppFKEYProcInfo); }
+ #else
+ #define InvokeFKEYUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppFKEYProcInfo)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewFKEYProc(userRoutine) NewFKEYUPP(userRoutine)
-#define CallFKEYProc(userRoutine) InvokeFKEYUPP(userRoutine)
+ #define NewFKEYProc(userRoutine) NewFKEYUPP(userRoutine)
+ #define CallFKEYProc(userRoutine) InvokeFKEYUPP(userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetMouse()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetMouse(Point * mouseLoc) ONEWORDINLINE(0xA972);
-
-
- /*
- * Button()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- Button(void) ONEWORDINLINE(0xA974);
-
-
- /*
- * StillDown()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- StillDown(void) ONEWORDINLINE(0xA973);
-
-
- /*
- * WaitMouseUp()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- WaitMouseUp(void) ONEWORDINLINE(0xA977);
-
-
- /*
- * KeyTranslate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- KeyTranslate(
- const void * transData,
- UInt16 keycode,
- UInt32 * state) ONEWORDINLINE(0xA9C3);
-
-
- /*
- * GetCaretTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- GetCaretTime(void) TWOWORDINLINE(0x2EB8, 0x02F4);
-
-
-
- /*
- QuickTime 3.0 supports GetKeys() on win32.
- But, on little endian machines you will have to be
- careful about bit numberings and/or use a KeyMapByteArray
- instead.
- */
+/*
+ * GetMouse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetMouse(Point * mouseLoc) ONEWORDINLINE(0xA972);
+
+
+/*
+ * Button()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+Button(void) ONEWORDINLINE(0xA974);
+
+
+/*
+ * StillDown()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+StillDown(void) ONEWORDINLINE(0xA973);
+
+
+/*
+ * WaitMouseUp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+WaitMouseUp(void) ONEWORDINLINE(0xA977);
+
+
+/*
+ * KeyTranslate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+KeyTranslate(
+ const void * transData,
+ UInt16 keycode,
+ UInt32 * state) ONEWORDINLINE(0xA9C3);
+
+
+/*
+ * GetCaretTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+GetCaretTime(void) TWOWORDINLINE(0x2EB8, 0x02F4);
+
+
+
+/*
+ QuickTime 3.0 supports GetKeys() on win32.
+ But, on little endian machines you will have to be
+ careful about bit numberings and/or use a KeyMapByteArray
+ instead.
+*/
#if TARGET_OS_MAC && TARGET_API_MAC_OS8
- typedef UInt32 KeyMap[4];
+typedef UInt32 KeyMap[4];
#else
- typedef BigEndianLong KeyMap[4];
+typedef BigEndianLong KeyMap[4];
#endif /* TARGET_OS_MAC && TARGET_API_MAC_OS8 */
- typedef UInt8 KeyMapByteArray[16];
- /*
- * GetKeys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetKeys(KeyMap theKeys) ONEWORDINLINE(0xA976);
-
-
- /* Obsolete event types & masks */
- enum
- {
- networkEvt = 10,
- driverEvt = 11,
- app1Evt = 12,
- app2Evt = 13,
- app3Evt = 14,
- app4Evt = 15,
- networkMask = 0x0400,
- driverMask = 0x0800,
- app1Mask = 0x1000,
- app2Mask = 0x2000,
- app3Mask = 0x4000,
- app4Mask = 0x8000
- };
-
- struct EvQEl
- {
- QElemPtr qLink;
- SInt16 qType;
- EventKind evtQWhat; /* this part is identical to the EventRecord as defined above */
- UInt32 evtQMessage;
- UInt32 evtQWhen;
- Point evtQWhere;
- EventModifiers evtQModifiers;
- };
- typedef struct EvQEl EvQEl;
- typedef EvQEl * EvQElPtr;
- typedef CALLBACK_API_REGISTER68K(void , GetNextEventFilterProcPtr, (EventRecord *theEvent, Boolean *result));
- typedef REGISTER_UPP_TYPE(GetNextEventFilterProcPtr) GetNextEventFilterUPP;
+typedef UInt8 KeyMapByteArray[16];
+/*
+ * GetKeys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetKeys(KeyMap theKeys) ONEWORDINLINE(0xA976);
+
+
+/* Obsolete event types & masks */
+enum {
+ networkEvt = 10,
+ driverEvt = 11,
+ app1Evt = 12,
+ app2Evt = 13,
+ app3Evt = 14,
+ app4Evt = 15,
+ networkMask = 0x0400,
+ driverMask = 0x0800,
+ app1Mask = 0x1000,
+ app2Mask = 0x2000,
+ app3Mask = 0x4000,
+ app4Mask = 0x8000
+};
+
+struct EvQEl {
+ QElemPtr qLink;
+ SInt16 qType;
+ EventKind evtQWhat; /* this part is identical to the EventRecord as defined above */
+ UInt32 evtQMessage;
+ UInt32 evtQWhen;
+ Point evtQWhere;
+ EventModifiers evtQModifiers;
+};
+typedef struct EvQEl EvQEl;
+typedef EvQEl * EvQElPtr;
+typedef CALLBACK_API_REGISTER68K( void , GetNextEventFilterProcPtr, (EventRecord *theEvent, Boolean *result) );
+typedef REGISTER_UPP_TYPE(GetNextEventFilterProcPtr) GetNextEventFilterUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewGetNextEventFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(GetNextEventFilterUPP)
- NewGetNextEventFilterUPP(GetNextEventFilterProcPtr userRoutine);
+/*
+ * NewGetNextEventFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( GetNextEventFilterUPP )
+NewGetNextEventFilterUPP(GetNextEventFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppGetNextEventFilterProcInfo = 0x000000BF }; /* SPECIAL_CASE_PROCINFO(11) */
-#ifdef __cplusplus
- inline DEFINE_API_C(GetNextEventFilterUPP) NewGetNextEventFilterUPP(GetNextEventFilterProcPtr userRoutine)
- {
- return (GetNextEventFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetNextEventFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewGetNextEventFilterUPP(userRoutine) (GetNextEventFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetNextEventFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppGetNextEventFilterProcInfo = 0x000000BF }; /* SPECIAL_CASE_PROCINFO(11) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(GetNextEventFilterUPP) NewGetNextEventFilterUPP(GetNextEventFilterProcPtr userRoutine) { return (GetNextEventFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetNextEventFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewGetNextEventFilterUPP(userRoutine) (GetNextEventFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetNextEventFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeGetNextEventFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeGetNextEventFilterUPP(GetNextEventFilterUPP userUPP);
+/*
+ * DisposeGetNextEventFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeGetNextEventFilterUPP(GetNextEventFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeGetNextEventFilterUPP(GetNextEventFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeGetNextEventFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeGetNextEventFilterUPP(GetNextEventFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeGetNextEventFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeGetNextEventFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeGetNextEventFilterUPP(
- EventRecord * theEvent,
- Boolean * result,
- GetNextEventFilterUPP userUPP);
+/*
+ * InvokeGetNextEventFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeGetNextEventFilterUPP(
+ EventRecord * theEvent,
+ Boolean * result,
+ GetNextEventFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeGetNextEventFilterUPP(EventRecord * theEvent, Boolean * result, GetNextEventFilterUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppGetNextEventFilterProcInfo, theEvent, result);
- }
-#else
-#define InvokeGetNextEventFilterUPP(theEvent, result, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppGetNextEventFilterProcInfo, (theEvent), (result))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeGetNextEventFilterUPP(EventRecord * theEvent, Boolean * result, GetNextEventFilterUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppGetNextEventFilterProcInfo, theEvent, result); }
+ #else
+ #define InvokeGetNextEventFilterUPP(theEvent, result, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppGetNextEventFilterProcInfo, (theEvent), (result))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewGetNextEventFilterProc(userRoutine) NewGetNextEventFilterUPP(userRoutine)
-#define CallGetNextEventFilterProc(userRoutine, theEvent, result) InvokeGetNextEventFilterUPP(theEvent, result, userRoutine)
+ #define NewGetNextEventFilterProc(userRoutine) NewGetNextEventFilterUPP(userRoutine)
+ #define CallGetNextEventFilterProc(userRoutine, theEvent, result) InvokeGetNextEventFilterUPP(theEvent, result, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef GetNextEventFilterUPP GNEFilterUPP;
- /*
- * GetDblTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- GetDblTime(void) TWOWORDINLINE(0x2EB8, 0x02F0);
-
-
- /*
- * SetEventMask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetEventMask(EventMask value) TWOWORDINLINE(0x31DF, 0x0144);
+typedef GetNextEventFilterUPP GNEFilterUPP;
+/*
+ * GetDblTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+GetDblTime(void) TWOWORDINLINE(0x2EB8, 0x02F0);
+
+
+/*
+ * SetEventMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetEventMask(EventMask value) TWOWORDINLINE(0x31DF, 0x0144);
#if CALL_NOT_IN_CARBON
- /*
- * GetEvQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr)
- GetEvQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x014A);
+/*
+ * GetEvQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr )
+GetEvQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x014A);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * PPostEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PPostEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PPostEvent(__A0, __D0, __A1)
#endif
- EXTERN_API(OSErr)
- PPostEvent(
- EventKind eventCode,
- UInt32 eventMsg,
- EvQElPtr * qEl) TWOWORDINLINE(0xA12F, 0x2288);
+EXTERN_API( OSErr )
+PPostEvent(
+ EventKind eventCode,
+ UInt32 eventMsg,
+ EvQElPtr * qEl) TWOWORDINLINE(0xA12F, 0x2288);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetNextEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- GetNextEvent(
- EventMask eventMask,
- EventRecord * theEvent) ONEWORDINLINE(0xA970);
-
-
- /*
- * WaitNextEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- WaitNextEvent(
- EventMask eventMask,
- EventRecord * theEvent,
- UInt32 sleep,
- RgnHandle mouseRgn) /* can be NULL */ ONEWORDINLINE(0xA860);
-
-
- /*
- * EventAvail()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- EventAvail(
- EventMask eventMask,
- EventRecord * theEvent) ONEWORDINLINE(0xA971);
-
-
- /*
- * PostEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetNextEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetNextEvent(
+ EventMask eventMask,
+ EventRecord * theEvent) ONEWORDINLINE(0xA970);
+
+
+/*
+ * WaitNextEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+WaitNextEvent(
+ EventMask eventMask,
+ EventRecord * theEvent,
+ UInt32 sleep,
+ RgnHandle mouseRgn) /* can be NULL */ ONEWORDINLINE(0xA860);
+
+
+/*
+ * EventAvail()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+EventAvail(
+ EventMask eventMask,
+ EventRecord * theEvent) ONEWORDINLINE(0xA971);
+
+
+/*
+ * PostEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PostEvent(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- PostEvent(
- EventKind eventNum,
- UInt32 eventMsg) ONEWORDINLINE(0xA02F);
+EXTERN_API( OSErr )
+PostEvent(
+ EventKind eventNum,
+ UInt32 eventMsg) ONEWORDINLINE(0xA02F);
- /*
- For Carbon, use EventAvail, TickCount, GetGlobalMouse,
- GetKeys, or GetCurrentKeyModifiers instead of
- OSEventAvail, and use GetNextEvent or WaitNextEvent
- instead of GetOSEvent.
- */
+/*
+ For Carbon, use EventAvail, TickCount, GetGlobalMouse,
+ GetKeys, or GetCurrentKeyModifiers instead of
+ OSEventAvail, and use GetNextEvent or WaitNextEvent
+ instead of GetOSEvent.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OSEventAvail()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * OSEventAvail()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OSEventAvail(__D0, __A0)
#endif
- EXTERN_API(Boolean)
- OSEventAvail(
- EventMask mask,
- EventRecord * theEvent) TWOWORDINLINE(0xA030, 0x5240);
-
-
- /*
- * GetOSEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( Boolean )
+OSEventAvail(
+ EventMask mask,
+ EventRecord * theEvent) TWOWORDINLINE(0xA030, 0x5240);
+
+
+/*
+ * GetOSEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetOSEvent(__D0, __A0)
#endif
- EXTERN_API(Boolean)
- GetOSEvent(
- EventMask mask,
- EventRecord * theEvent) TWOWORDINLINE(0xA031, 0x5240);
+EXTERN_API( Boolean )
+GetOSEvent(
+ EventMask mask,
+ EventRecord * theEvent) TWOWORDINLINE(0xA031, 0x5240);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * FlushEvents()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FlushEvents(
- EventMask whichMask,
- EventMask stopMask) TWOWORDINLINE(0x201F, 0xA032);
+/*
+ * FlushEvents()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FlushEvents(
+ EventMask whichMask,
+ EventMask stopMask) TWOWORDINLINE(0x201F, 0xA032);
#if CALL_NOT_IN_CARBON
- /*
- * SystemClick()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SystemClick(
- const EventRecord * theEvent,
- WindowRef theWindow) ONEWORDINLINE(0xA9B3);
-
-
- /*
- * SystemTask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SystemTask(void) ONEWORDINLINE(0xA9B4);
-
-
- /*
- * SystemEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- SystemEvent(const EventRecord * theEvent) ONEWORDINLINE(0xA9B2);
+/*
+ * SystemClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SystemClick(
+ const EventRecord * theEvent,
+ WindowRef theWindow) ONEWORDINLINE(0xA9B3);
+
+
+/*
+ * SystemTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SystemTask(void) ONEWORDINLINE(0xA9B4);
+
+
+/*
+ * SystemEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+SystemEvent(const EventRecord * theEvent) ONEWORDINLINE(0xA9B2);
#endif /* CALL_NOT_IN_CARBON */
@@ -730,228 +699,228 @@ extern "C" {
#define KeyTrans(transData, keycode, state) KeyTranslate(transData, keycode, state)
#endif /* OLDROUTINENAMES */
- /*
- GetGlobalMouse, GetCurrentKeyModifiers, and CheckEventQueueForUserCancel
- are only available as part of the Carbon API.
- */
-
- /*
- * GetGlobalMouse()
- *
- * Summary:
- * Returns the position of the mouse in global coordinates.
- *
- * Parameters:
- *
- * globalMouse:
- * On exit, contains the mouse position in global coordinates.
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetGlobalMouse(Point * globalMouse);
-
-
- /*
- * GetCurrentKeyModifiers()
- *
- * Summary:
- * Returns the current hardware keyboard modifier state.
- *
- * Discussion:
- * In most cases, you should not use GetCurrentKeyModifiers, but
- * should use the GetCurrentEventKeyModifiers function instead.
- * GetCurrentEventKeyModifiers is much faster than
- * GetCurrentKeyModifiers because it returns the locally cached
- * modifier state; GetCurrentKeyModifiers must get the modifier
- * state from the window server, which is slower. Using
- * GetCurrentKeyModifiers also can prevent your application from
- * being operated by remote posting of events, since the hardware
- * input device is not actually changing state in that case. Most
- * commonly, you might need to use GetCurrentKeyModifiers when your
- * application is not the active application (as determined by the
- * Process Manager function GetFrontProcess). In that case, the
- * cached modifier state returned by GetCurrentEventKeyModifiers is
- * not valid because modifier-changed events are not flowing to your
- * application, and you must use GetCurrentKeyModifiers to determine
- * the current hardware state.
- *
- * Result:
- * The hardware state of the keyboard modifiers. The format of the
- * return value is the same as the modifiers field of an EventRecord
- * (but only includes keyboard modifiers and not the other modifier
- * flags included in an EventRecord).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- GetCurrentKeyModifiers(void);
-
-
- /*
- * CheckEventQueueForUserCancel()
- *
- * Summary:
- * Determines if there is a cancel event in the main thread's event
- * queue.
- *
- * Discussion:
- * This API supports two cancel events: Escape and Cmd-Period. The
- * cancel event itself, as well as mouse or keyboard events in front
- * of the cancel event in the event queue, will be removed from the
- * queue.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- CheckEventQueueForUserCancel(void);
-
-
-
- /*
- * KeyScript()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- KeyScript(short code) FOURWORDINLINE(0x2F3C, 0x8002, 0x0004, 0xA8B5);
-
-
- /*
- * IsCmdChar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsCmdChar(
- const EventRecord * event,
- short test) FOURWORDINLINE(0x2F3C, 0x8206, 0xFFD0, 0xA8B5);
-
-
-
- /*
- LowMem accessor functions previously in LowMem.h
- */
- /*
- * LMGetKeyThresh()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- LMGetKeyThresh(void) TWOWORDINLINE(0x3EB8, 0x018E);
-
-
- /*
- * LMSetKeyThresh()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetKeyThresh(SInt16 value) TWOWORDINLINE(0x31DF, 0x018E);
-
-
-
- /*
- * LMGetKeyRepThresh()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- LMGetKeyRepThresh(void) TWOWORDINLINE(0x3EB8, 0x0190);
-
-
- /*
- * LMSetKeyRepThresh()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetKeyRepThresh(SInt16 value) TWOWORDINLINE(0x31DF, 0x0190);
-
-
- /*
- * LMGetKbdLast()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8)
- LMGetKbdLast(void) TWOWORDINLINE(0x1EB8, 0x0218);
-
-
- /*
- * LMSetKbdLast()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetKbdLast(UInt8 value) TWOWORDINLINE(0x11DF, 0x0218);
-
-
-
- /*
- * LMGetKbdType()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8)
- LMGetKbdType(void) TWOWORDINLINE(0x1EB8, 0x021E);
-
-
- /*
- * LMSetKbdType()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetKbdType(UInt8 value) TWOWORDINLINE(0x11DF, 0x021E);
+/*
+ GetGlobalMouse, GetCurrentKeyModifiers, and CheckEventQueueForUserCancel
+ are only available as part of the Carbon API.
+*/
+
+/*
+ * GetGlobalMouse()
+ *
+ * Summary:
+ * Returns the position of the mouse in global coordinates.
+ *
+ * Parameters:
+ *
+ * globalMouse:
+ * On exit, contains the mouse position in global coordinates.
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetGlobalMouse(Point * globalMouse);
+
+
+/*
+ * GetCurrentKeyModifiers()
+ *
+ * Summary:
+ * Returns the current hardware keyboard modifier state.
+ *
+ * Discussion:
+ * In most cases, you should not use GetCurrentKeyModifiers, but
+ * should use the GetCurrentEventKeyModifiers function instead.
+ * GetCurrentEventKeyModifiers is much faster than
+ * GetCurrentKeyModifiers because it returns the locally cached
+ * modifier state; GetCurrentKeyModifiers must get the modifier
+ * state from the window server, which is slower. Using
+ * GetCurrentKeyModifiers also can prevent your application from
+ * being operated by remote posting of events, since the hardware
+ * input device is not actually changing state in that case. Most
+ * commonly, you might need to use GetCurrentKeyModifiers when your
+ * application is not the active application (as determined by the
+ * Process Manager function GetFrontProcess). In that case, the
+ * cached modifier state returned by GetCurrentEventKeyModifiers is
+ * not valid because modifier-changed events are not flowing to your
+ * application, and you must use GetCurrentKeyModifiers to determine
+ * the current hardware state.
+ *
+ * Result:
+ * The hardware state of the keyboard modifiers. The format of the
+ * return value is the same as the modifiers field of an EventRecord
+ * (but only includes keyboard modifiers and not the other modifier
+ * flags included in an EventRecord).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+GetCurrentKeyModifiers(void);
+
+
+/*
+ * CheckEventQueueForUserCancel()
+ *
+ * Summary:
+ * Determines if there is a cancel event in the main thread's event
+ * queue.
+ *
+ * Discussion:
+ * This API supports two cancel events: Escape and Cmd-Period. The
+ * cancel event itself, as well as mouse or keyboard events in front
+ * of the cancel event in the event queue, will be removed from the
+ * queue.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+CheckEventQueueForUserCancel(void);
+
+
+
+/*
+ * KeyScript()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+KeyScript(short code) FOURWORDINLINE(0x2F3C, 0x8002, 0x0004, 0xA8B5);
+
+
+/*
+ * IsCmdChar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsCmdChar(
+ const EventRecord * event,
+ short test) FOURWORDINLINE(0x2F3C, 0x8206, 0xFFD0, 0xA8B5);
+
+
+
+/*
+ LowMem accessor functions previously in LowMem.h
+*/
+/*
+ * LMGetKeyThresh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+LMGetKeyThresh(void) TWOWORDINLINE(0x3EB8, 0x018E);
+
+
+/*
+ * LMSetKeyThresh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetKeyThresh(SInt16 value) TWOWORDINLINE(0x31DF, 0x018E);
+
+
+
+/*
+ * LMGetKeyRepThresh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+LMGetKeyRepThresh(void) TWOWORDINLINE(0x3EB8, 0x0190);
+
+
+/*
+ * LMSetKeyRepThresh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetKeyRepThresh(SInt16 value) TWOWORDINLINE(0x31DF, 0x0190);
+
+
+/*
+ * LMGetKbdLast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 )
+LMGetKbdLast(void) TWOWORDINLINE(0x1EB8, 0x0218);
+
+
+/*
+ * LMSetKbdLast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetKbdLast(UInt8 value) TWOWORDINLINE(0x11DF, 0x0218);
+
+
+
+/*
+ * LMGetKbdType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 )
+LMGetKbdType(void) TWOWORDINLINE(0x1EB8, 0x021E);
+
+
+/*
+ * LMSetKbdType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetKbdType(UInt8 value) TWOWORDINLINE(0x11DF, 0x021E);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Files.h b/include/qt/Files.h
index fc9576788..b9132744b 100644
--- a/include/qt/Files.h
+++ b/include/qt/Files.h
@@ -1,17 +1,17 @@
/*
File: Files.h
-
+
Contains: File Manager (MFS, HFS, and HFS+) Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FILES__
#define __FILES__
@@ -58,4973 +58,4896 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if TARGET_API_MAC_OSX
-#include "sys/types.h"
+ #include "sys/types.h"
#else
// #if TARGET_OS_WIN32
typedef int pid_t;
#endif
- /* HFSUniStr255 is the Unicode equivalent of Str255 */
- struct HFSUniStr255
- {
- UInt16 length; /* number of unicode characters */
- UniChar unicode[255]; /* unicode characters */
- };
- typedef struct HFSUniStr255 HFSUniStr255;
- typedef const HFSUniStr255 * ConstHFSUniStr255Param;
- enum
- {
- fsCurPerm = 0x00, /* open access permissions in ioPermssn */
- fsRdPerm = 0x01,
- fsWrPerm = 0x02,
- fsRdWrPerm = 0x03,
- fsRdWrShPerm = 0x04,
- fsRdDenyPerm = 0x10, /* for use with OpenDeny and OpenRFDeny */
- fsWrDenyPerm = 0x20 /* for use with OpenDeny and OpenRFDeny */
- };
-
- enum
- {
- fsRtParID = 1,
- fsRtDirID = 2
- };
-
- enum
- {
- fsAtMark = 0, /* positioning modes in ioPosMode */
- fsFromStart = 1,
- fsFromLEOF = 2,
- fsFromMark = 3
- };
-
- enum
- {
- /* ioPosMode flags */
- pleaseCacheBit = 4, /* please cache this request */
- pleaseCacheMask = 0x0010,
- noCacheBit = 5, /* please don't cache this request */
- noCacheMask = 0x0020,
- rdVerifyBit = 6, /* read verify mode */
- rdVerifyMask = 0x0040,
- rdVerify = 64, /* old name of rdVerifyMask */
- forceReadBit = 6,
- forceReadMask = 0x0040,
- newLineBit = 7, /* newline mode */
- newLineMask = 0x0080,
- newLineCharMask = 0xFF00 /* newline character */
- };
-
-
- enum
- {
- /* CatSearch Search bitmask Constants */
- fsSBPartialName = 1,
- fsSBFullName = 2,
- fsSBFlAttrib = 4,
- fsSBFlFndrInfo = 8,
- fsSBFlLgLen = 32,
- fsSBFlPyLen = 64,
- fsSBFlRLgLen = 128,
- fsSBFlRPyLen = 256,
- fsSBFlCrDat = 512,
- fsSBFlMdDat = 1024,
- fsSBFlBkDat = 2048,
- fsSBFlXFndrInfo = 4096,
- fsSBFlParID = 8192,
- fsSBNegate = 16384,
- fsSBDrUsrWds = 8,
- fsSBDrNmFls = 16,
- fsSBDrCrDat = 512,
- fsSBDrMdDat = 1024,
- fsSBDrBkDat = 2048,
- fsSBDrFndrInfo = 4096,
- fsSBDrParID = 8192
- };
-
- enum
- {
- /* CatSearch Search bit value Constants */
- fsSBPartialNameBit = 0, /*ioFileName points to a substring*/
- fsSBFullNameBit = 1, /*ioFileName points to a match string*/
- fsSBFlAttribBit = 2, /*search includes file attributes*/
- fsSBFlFndrInfoBit = 3, /*search includes finder info*/
- fsSBFlLgLenBit = 5, /*search includes data logical length*/
- fsSBFlPyLenBit = 6, /*search includes data physical length*/
- fsSBFlRLgLenBit = 7, /*search includes resource logical length*/
- fsSBFlRPyLenBit = 8, /*search includes resource physical length*/
- fsSBFlCrDatBit = 9, /*search includes create date*/
- fsSBFlMdDatBit = 10, /*search includes modification date*/
- fsSBFlBkDatBit = 11, /*search includes backup date*/
- fsSBFlXFndrInfoBit = 12, /*search includes extended finder info*/
- fsSBFlParIDBit = 13, /*search includes file's parent ID*/
- fsSBNegateBit = 14, /*return all non-matches*/
- fsSBDrUsrWdsBit = 3, /*search includes directory finder info*/
- fsSBDrNmFlsBit = 4, /*search includes directory valence*/
- fsSBDrCrDatBit = 9, /*directory-named version of fsSBFlCrDatBit*/
- fsSBDrMdDatBit = 10, /*directory-named version of fsSBFlMdDatBit*/
- fsSBDrBkDatBit = 11, /*directory-named version of fsSBFlBkDatBit*/
- fsSBDrFndrInfoBit = 12, /*directory-named version of fsSBFlXFndrInfoBit*/
- fsSBDrParIDBit = 13 /*directory-named version of fsSBFlParIDBit*/
- };
-
- enum
- {
- /* vMAttrib (GetVolParms) bit position constants */
- bLimitFCBs = 31,
- bLocalWList = 30,
- bNoMiniFndr = 29,
- bNoVNEdit = 28,
- bNoLclSync = 27,
- bTrshOffLine = 26,
- bNoSwitchTo = 25,
- bNoDeskItems = 20,
- bNoBootBlks = 19,
- bAccessCntl = 18,
- bNoSysDir = 17,
- bHasExtFSVol = 16,
- bHasOpenDeny = 15,
- bHasCopyFile = 14,
- bHasMoveRename = 13,
- bHasDesktopMgr = 12,
- bHasShortName = 11,
- bHasFolderLock = 10,
- bHasPersonalAccessPrivileges = 9,
- bHasUserGroupList = 8,
- bHasCatSearch = 7,
- bHasFileIDs = 6,
- bHasBTreeMgr = 5,
- bHasBlankAccessPrivileges = 4,
- bSupportsAsyncRequests = 3, /* asynchronous requests to this volume are handled correctly at any time*/
- bSupportsTrashVolumeCache = 2
- };
-
- enum
- {
- /* vMExtendedAttributes (GetVolParms) bit position constants */
- bIsEjectable = 0, /* volume is in an ejectable disk drive */
- bSupportsHFSPlusAPIs = 1, /* volume supports HFS Plus APIs directly (not through compatibility layer) */
- bSupportsFSCatalogSearch = 2, /* volume supports FSCatalogSearch */
- bSupportsFSExchangeObjects = 3, /* volume supports FSExchangeObjects */
- bSupports2TBFiles = 4, /* volume supports supports 2 terabyte files */
- bSupportsLongNames = 5, /* volume supports file/directory/volume names longer than 31 characters */
- bSupportsMultiScriptNames = 6, /* volume supports file/directory/volume names with characters from multiple script systems */
- bSupportsNamedForks = 7, /* volume supports forks beyond the data and resource forks */
- bSupportsSubtreeIterators = 8, /* volume supports recursive iterators not at the volume root */
- bL2PCanMapFileBlocks = 9 /* volume supports Lg2Phys SPI correctly */
- };
-
- enum
- {
- /* vMExtendedAttributes (GetVolParms) bit position constants */
- bSupportsSymbolicLinks = 13, /* volume supports the creation and use of symbolic links (Mac OS X only) */
- bIsAutoMounted = 14, /* volume was mounted automatically (Mac OS X only) */
- bAllowCDiDataHandler = 17, /* allow QuickTime's CDi data handler to examine this volume */
- bSupportsExclusiveLocks = 18 /* volume supports exclusive opens for writing */
- };
-
- enum
- {
- /* Desktop Database, ffsGetIconMessage and fsmGetFSIconMessage icon type and size Constants */
- kLargeIcon = 1,
- kLarge4BitIcon = 2,
- kLarge8BitIcon = 3,
- kSmallIcon = 4,
- kSmall4BitIcon = 5,
- kSmall8BitIcon = 6,
- kicnsIconFamily = 239 /* Note: The 'icns' icon family record is variable sized. */
- };
-
- enum
- {
- kLargeIconSize = 256,
- kLarge4BitIconSize = 512,
- kLarge8BitIconSize = 1024,
- kSmallIconSize = 64,
- kSmall4BitIconSize = 128,
- kSmall8BitIconSize = 256
- };
-
- enum
- {
- /* Large Volume Constants */
- kWidePosOffsetBit = 8,
- kUseWidePositioning = (1 << kWidePosOffsetBit),
- kMaximumBlocksIn4GB = 0x007FFFFF
- };
-
- enum
- {
- /* Foreign Privilege Model Identifiers */
- fsUnixPriv = 1
- };
-
- enum
- {
- /* Authentication Constants */
- kNoUserAuthentication = 1,
- kPassword = 2,
- kEncryptPassword = 3,
- kTwoWayEncryptPassword = 6
- };
-
-
- /* mapping codes (ioObjType) for MapName & MapID */
- enum
- {
- kOwnerID2Name = 1,
- kGroupID2Name = 2,
- kOwnerName2ID = 3,
- kGroupName2ID = 4, /* types of oj object to be returned (ioObjType) for _GetUGEntry */
- kReturnNextUser = 1,
- kReturnNextGroup = 2,
- kReturnNextUG = 3
- };
-
- /* vcbFlags bits */
- enum
- {
- kVCBFlagsIdleFlushBit = 3, /* Set if volume should be flushed at idle time */
- kVCBFlagsIdleFlushMask = 0x0008,
- kVCBFlagsHFSPlusAPIsBit = 4, /* Set if volume implements HFS Plus APIs itself (not via emulation) */
- kVCBFlagsHFSPlusAPIsMask = 0x0010,
- kVCBFlagsHardwareGoneBit = 5, /* Set if disk driver returned a hardwareGoneErr to Read or Write */
- kVCBFlagsHardwareGoneMask = 0x0020,
- kVCBFlagsVolumeDirtyBit = 15, /* Set if volume information has changed since the last FlushVol */
- kVCBFlagsVolumeDirtyMask = 0x8000
- };
-
- /* ioVAtrb bits returned by PBHGetVInfo and PBXGetVolInfo */
- enum
- {
- kioVAtrbDefaultVolumeBit = 5, /* Set if the volume is the default volume */
- kioVAtrbDefaultVolumeMask = 0x0020,
- kioVAtrbFilesOpenBit = 6, /* Set if there are open files or iterators */
- kioVAtrbFilesOpenMask = 0x0040,
- kioVAtrbHardwareLockedBit = 7, /* Set if volume is locked by a hardware setting */
- kioVAtrbHardwareLockedMask = 0x0080,
- kioVAtrbSoftwareLockedBit = 15, /* Set if volume is locked by software */
- kioVAtrbSoftwareLockedMask = 0x8000
- };
-
- /* ioFlAttrib bits returned by PBGetCatInfo */
- enum
- {
- /* file and directory attributes in ioFlAttrib */
- kioFlAttribLockedBit = 0, /* Set if file or directory is locked */
- kioFlAttribLockedMask = 0x01,
- kioFlAttribResOpenBit = 2, /* Set if resource fork is open */
- kioFlAttribResOpenMask = 0x04,
- kioFlAttribDataOpenBit = 3, /* Set if data fork is open */
- kioFlAttribDataOpenMask = 0x08,
- kioFlAttribDirBit = 4, /* Set if this is a directory */
- kioFlAttribDirMask = 0x10,
- ioDirFlg = 4, /* Set if this is a directory (old name) */
- ioDirMask = 0x10,
- kioFlAttribCopyProtBit = 6, /* Set if AppleShare server "copy-protects" the file */
- kioFlAttribCopyProtMask = 0x40,
- kioFlAttribFileOpenBit = 7, /* Set if file (either fork) is open */
- kioFlAttribFileOpenMask = 0x80, /* ioFlAttrib for directories only */
- kioFlAttribInSharedBit = 2, /* Set if the directory is within a shared area of the directory hierarchy */
- kioFlAttribInSharedMask = 0x04,
- kioFlAttribMountedBit = 3, /* Set if the directory is a share point that is mounted by some user */
- kioFlAttribMountedMask = 0x08,
- kioFlAttribSharePointBit = 5, /* Set if the directory is a share point */
- kioFlAttribSharePointMask = 0x20
- };
-
- /* ioFCBFlags bits returned by PBGetFCBInfo */
- enum
- {
- kioFCBWriteBit = 8, /* Data can be written to this file */
- kioFCBWriteMask = 0x0100,
- kioFCBResourceBit = 9, /* This file is a resource fork */
- kioFCBResourceMask = 0x0200,
- kioFCBWriteLockedBit = 10, /* File has a locked byte range */
- kioFCBWriteLockedMask = 0x0400,
- kioFCBLargeFileBit = 11, /* File may grow beyond 2GB; cache uses file blocks, not bytes */
- kioFCBLargeFileMask = 0x0800,
- kioFCBSharedWriteBit = 12, /* File is open for shared write access */
- kioFCBSharedWriteMask = 0x1000,
- kioFCBFileLockedBit = 13, /* File is locked (write-protected) */
- kioFCBFileLockedMask = 0x2000,
- kioFCBOwnClumpBit = 14, /* File has clump size specified in FCB */
- kioFCBOwnClumpMask = 0x4000,
- kioFCBModifiedBit = 15, /* File has changed since it was last flushed */
- kioFCBModifiedMask = 0x8000
- };
-
- /* ioACUser bits returned by PBGetCatInfo */
- /* Note: you must clear ioACUser before calling PBGetCatInfo because some file systems do not use this field */
- enum
- {
- kioACUserNoSeeFolderBit = 0, /* Set if user does not have See Folder privileges */
- kioACUserNoSeeFolderMask = 0x01,
- kioACUserNoSeeFilesBit = 1, /* Set if user does not have See Files privileges */
- kioACUserNoSeeFilesMask = 0x02,
- kioACUserNoMakeChangesBit = 2, /* Set if user does not have Make Changes privileges */
- kioACUserNoMakeChangesMask = 0x04,
- kioACUserNotOwnerBit = 7, /* Set if user is not owner of the directory */
- kioACUserNotOwnerMask = 0x80
- };
-
- /* Folder and File values of access privileges in ioACAccess */
- enum
- {
- kioACAccessOwnerBit = 31, /* User is owner of directory */
- kioACAccessOwnerMask = (long)0x80000000,
- kioACAccessBlankAccessBit = 28, /* Directory has blank access privileges */
- kioACAccessBlankAccessMask = 0x10000000,
- kioACAccessUserWriteBit = 26, /* User has write privileges */
- kioACAccessUserWriteMask = 0x04000000,
- kioACAccessUserReadBit = 25, /* User has read privileges */
- kioACAccessUserReadMask = 0x02000000,
- kioACAccessUserSearchBit = 24, /* User has search privileges */
- kioACAccessUserSearchMask = 0x01000000,
- kioACAccessEveryoneWriteBit = 18, /* Everyone has write privileges */
- kioACAccessEveryoneWriteMask = 0x00040000,
- kioACAccessEveryoneReadBit = 17, /* Everyone has read privileges */
- kioACAccessEveryoneReadMask = 0x00020000,
- kioACAccessEveryoneSearchBit = 16, /* Everyone has search privileges */
- kioACAccessEveryoneSearchMask = 0x00010000,
- kioACAccessGroupWriteBit = 10, /* Group has write privileges */
- kioACAccessGroupWriteMask = 0x00000400,
- kioACAccessGroupReadBit = 9, /* Group has read privileges */
- kioACAccessGroupReadMask = 0x00000200,
- kioACAccessGroupSearchBit = 8, /* Group has search privileges */
- kioACAccessGroupSearchMask = 0x00000100,
- kioACAccessOwnerWriteBit = 2, /* Owner has write privileges */
- kioACAccessOwnerWriteMask = 0x00000004,
- kioACAccessOwnerReadBit = 1, /* Owner has read privileges */
- kioACAccessOwnerReadMask = 0x00000002,
- kioACAccessOwnerSearchBit = 0, /* Owner has search privileges */
- kioACAccessOwnerSearchMask = 0x00000001,
- kfullPrivileges = 0x00070007, /* all privileges for everybody and owner*/
- kownerPrivileges = 0x00000007 /* all privileges for owner only*/
- };
-
- /* values of user IDs and group IDs */
- enum
- {
- knoUser = 0,
- kadministratorUser = 1
- };
-
- enum
- {
- knoGroup = 0
- };
-
-
- struct GetVolParmsInfoBuffer
- {
- short vMVersion; /*version number*/
- long vMAttrib; /*bit vector of attributes (see vMAttrib constants)*/
- Handle vMLocalHand; /*handle to private data*/
- long vMServerAdr; /*AppleTalk server address or zero*/
- /* vMVersion 1 GetVolParmsInfoBuffer ends here */
- long vMVolumeGrade; /*approx. speed rating or zero if unrated*/
- short vMForeignPrivID; /*foreign privilege model supported or zero if none*/
- /* vMVersion 2 GetVolParmsInfoBuffer ends here */
- long vMExtendedAttributes; /*extended attribute bits (see vMExtendedAttributes constants)*/
- /* vMVersion 3 GetVolParmsInfoBuffer ends here */
- void * vMDeviceID; /* device id name for interoperability with IOKit */
- /* vMVersion 4 GetVolParmsInfoBuffer ends here */
- UniCharCount vMMaxNameLength;
- /* vMVersion 5 GetVolParmsInfoBuffer ends here */
- };
- typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
- typedef union ParamBlockRec ParamBlockRec;
-
- typedef ParamBlockRec * ParmBlkPtr;
- typedef CALLBACK_API_REGISTER68K(void , IOCompletionProcPtr, (ParmBlkPtr paramBlock));
- typedef REGISTER_UPP_TYPE(IOCompletionProcPtr) IOCompletionUPP;
- struct IOParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioRefNum; /*refNum for I/O operation*/
- SInt8 ioVersNum; /*version number*/
- SInt8 ioPermssn; /*Open: permissions (byte)*/
- Ptr ioMisc; /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
- Ptr ioBuffer; /*data buffer Ptr*/
- long ioReqCount; /*requested byte count; also = ioNewDirID*/
- long ioActCount; /*actual byte count completed*/
- short ioPosMode; /*initial file positioning*/
- long ioPosOffset; /*file position offset*/
- };
- typedef struct IOParam IOParam;
- typedef IOParam * IOParamPtr;
- struct FileParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioFRefNum; /*reference number*/
- SInt8 ioFVersNum; /*version number*/
- SInt8 filler1;
- short ioFDirIndex; /*GetFInfo directory index*/
- SInt8 ioFlAttrib; /*GetFInfo: in-use bit=7, lock bit=0*/
- SInt8 ioFlVersNum; /*file version number*/
- FInfo ioFlFndrInfo; /*user info*/
- unsigned long ioFlNum; /*GetFInfo: file number; TF- ioDirID*/
- unsigned short ioFlStBlk; /*start file block (0 if none)*/
- long ioFlLgLen; /*logical length (EOF)*/
- long ioFlPyLen; /*physical length*/
- unsigned short ioFlRStBlk; /*start block rsrc fork*/
- long ioFlRLgLen; /*file logical length rsrc fork*/
- long ioFlRPyLen; /*file physical length rsrc fork*/
- unsigned long ioFlCrDat; /*file creation date& time (32 bits in secs)*/
- unsigned long ioFlMdDat; /*last modified date and time*/
- };
- typedef struct FileParam FileParam;
- typedef FileParam * FileParamPtr;
- struct VolumeParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- long filler2;
- short ioVolIndex; /*volume index number*/
- unsigned long ioVCrDate; /*creation date and time*/
- unsigned long ioVLsBkUp; /*last backup date and time*/
- unsigned short ioVAtrb; /*volume attrib*/
- unsigned short ioVNmFls; /*number of files in directory*/
- unsigned short ioVDirSt; /*start block of file directory*/
- short ioVBlLn; /*GetVolInfo: length of dir in blocks*/
- unsigned short ioVNmAlBlks; /*for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB*/
- unsigned long ioVAlBlkSiz; /*for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)*/
- unsigned long ioVClpSiz; /*GetVolInfo: bytes to allocate at a time*/
- unsigned short ioAlBlSt; /*starting disk(512-byte) block in block map*/
- unsigned long ioVNxtFNum; /*GetVolInfo: next free file number*/
- unsigned short ioVFrBlk; /*GetVolInfo: # free alloc blks for this vol*/
- };
- typedef struct VolumeParam VolumeParam;
- typedef VolumeParam * VolumeParamPtr;
- struct CntrlParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioCRefNum; /*refNum for I/O operation*/
- short csCode; /*word for control status code*/
- short csParam[11]; /*operation-defined parameters*/
- };
- typedef struct CntrlParam CntrlParam;
- typedef CntrlParam * CntrlParamPtr;
- struct SlotDevParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioSRefNum;
- SInt8 ioSVersNum;
- SInt8 ioSPermssn;
- Ptr ioSMix;
- short ioSFlags;
- SInt8 ioSlot;
- SInt8 ioID;
- };
- typedef struct SlotDevParam SlotDevParam;
- typedef SlotDevParam * SlotDevParamPtr;
- struct MultiDevParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioMRefNum;
- SInt8 ioMVersNum;
- SInt8 ioMPermssn;
- Ptr ioMMix;
- short ioMFlags;
- Ptr ioSEBlkPtr;
- };
- typedef struct MultiDevParam MultiDevParam;
- typedef MultiDevParam * MultiDevParamPtr;
- union ParamBlockRec
- {
- IOParam ioParam;
- FileParam fileParam;
- VolumeParam volumeParam;
- CntrlParam cntrlParam;
- SlotDevParam slotDevParam;
- MultiDevParam multiDevParam;
- };
-
- struct HFileInfo
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioFRefNum;
- SInt8 ioFVersNum;
- SInt8 filler1;
- short ioFDirIndex;
- SInt8 ioFlAttrib;
- SInt8 ioACUser;
- FInfo ioFlFndrInfo;
- long ioDirID;
- unsigned short ioFlStBlk;
- long ioFlLgLen;
- long ioFlPyLen;
- unsigned short ioFlRStBlk;
- long ioFlRLgLen;
- long ioFlRPyLen;
- unsigned long ioFlCrDat;
- unsigned long ioFlMdDat;
- unsigned long ioFlBkDat;
- FXInfo ioFlXFndrInfo;
- long ioFlParID;
- long ioFlClpSiz;
- };
- typedef struct HFileInfo HFileInfo;
- struct DirInfo
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioFRefNum;
- SInt8 ioFVersNum;
- SInt8 filler1;
- short ioFDirIndex;
- SInt8 ioFlAttrib;
- SInt8 ioACUser;
- DInfo ioDrUsrWds;
- long ioDrDirID;
- unsigned short ioDrNmFls;
- short filler3[9];
- unsigned long ioDrCrDat;
- unsigned long ioDrMdDat;
- unsigned long ioDrBkDat;
- DXInfo ioDrFndrInfo;
- long ioDrParID;
- };
- typedef struct DirInfo DirInfo;
- union CInfoPBRec
- {
- HFileInfo hFileInfo;
- DirInfo dirInfo;
- };
- typedef union CInfoPBRec CInfoPBRec;
- typedef CInfoPBRec * CInfoPBPtr;
- struct XCInfoPBRec
- {
- QElemPtr qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- ProcPtr ioCompletion; /* --> A pointer to a completion routine */
- volatile OSErr ioResult; /* --> The result code of the function */
- StringPtr ioNamePtr; /* --> Pointer to pathname to object */
- short ioVRefNum; /* --> A volume specification */
- long filler1;
- StringPtr ioShortNamePtr; /* <-> A pointer to the short name string buffer - required! */
- short filler2;
- short ioPDType; /* <-- The ProDOS file type */
- long ioPDAuxType; /* <-- The ProDOS aux type */
- long filler3[2];
- long ioDirID; /* --> A directory ID */
- };
- typedef struct XCInfoPBRec XCInfoPBRec;
- typedef XCInfoPBRec * XCInfoPBPtr;
- /* Catalog position record */
- struct CatPositionRec
- {
- long initialize;
- short priv[6];
- };
- typedef struct CatPositionRec CatPositionRec;
- struct FSSpec
- {
- short vRefNum;
- long parID;
- StrFileName name; /* a Str63 on MacOS*/
- };
- typedef struct FSSpec FSSpec;
- typedef FSSpec * FSSpecPtr;
- typedef FSSpecPtr * FSSpecHandle;
- /* pointer to array of FSSpecs */
- typedef FSSpecPtr FSSpecArrayPtr;
- /*
- The only difference between "const FSSpec*" and "ConstFSSpecPtr" is
- that as a parameter, ConstFSSpecPtr is allowed to be NULL
- */
- typedef const FSSpec * ConstFSSpecPtr;
- /*
- The following are structures to be filled out with the _PBGetVolMountInfo call
- and passed back into the _PBVolumeMount call for external file system mounts.
- */
- /* the "signature" of the file system */
- typedef OSType VolumeType;
- enum
- {
- /* the signature for AppleShare */
- AppleShareMediaType = FOUR_CHAR_CODE('afpm')
- };
-
- /*
- VolMount stuff was once in FSM.*
- */
- struct VolMountInfoHeader
- {
- short length; /* length of location data (including self) */
- VolumeType media; /* type of media. Variable length data follows */
- };
- typedef struct VolMountInfoHeader VolMountInfoHeader;
- typedef VolMountInfoHeader * VolMountInfoPtr;
- /* The new volume mount info record. The old one is included for compatibility.
- the new record allows access by foriegn filesystems writers to the flags
- portion of the record. This portion is now public.
- */
- struct VolumeMountInfoHeader
- {
- short length; /* length of location data (including self) */
- VolumeType media; /* type of media (must be registered with Apple) */
- short flags; /* volume mount flags. Variable length data follows */
- };
- typedef struct VolumeMountInfoHeader VolumeMountInfoHeader;
- typedef VolumeMountInfoHeader * VolumeMountInfoHeaderPtr;
- /* volume mount flags */
- enum
- {
- volMountNoLoginMsgFlagBit = 0, /* Input to VolumeMount: If set, the file system */
- volMountNoLoginMsgFlagMask = 0x0001, /* should suppresss any log-in message/greeting dialog */
- volMountExtendedFlagsBit = 7, /* Input to VolumeMount: If set, the mount info is a */
- volMountExtendedFlagsMask = 0x0080, /* AFPXVolMountInfo record for 3.7 AppleShare Client */
- volMountInteractBit = 15, /* Input to VolumeMount: If set, it's OK for the file system */
- volMountInteractMask = 0x8000, /* to perform user interaction to mount the volume */
- volMountChangedBit = 14, /* Output from VoumeMount: If set, the volume was mounted, but */
- volMountChangedMask = 0x4000, /* the volume mounting information record needs to be updated. */
- volMountFSReservedMask = 0x00FF, /* bits 0-7 are defined by each file system for its own use */
- volMountSysReservedMask = 0xFF00 /* bits 8-15 are reserved for Apple system use */
- };
-
-
-
- struct AFPVolMountInfo
- {
- short length; /* length of location data (including self) */
- VolumeType media; /* type of media */
- short flags; /* bits for no messages, no reconnect */
- SInt8 nbpInterval; /* NBP Interval parameter (IM2, p.322) */
- SInt8 nbpCount; /* NBP Interval parameter (IM2, p.322) */
- short uamType; /* User Authentication Method */
- short zoneNameOffset; /* short positive offset from start of struct to Zone Name */
- short serverNameOffset; /* offset to pascal Server Name string */
- short volNameOffset; /* offset to pascal Volume Name string */
- short userNameOffset; /* offset to pascal User Name string */
- short userPasswordOffset; /* offset to pascal User Password string */
- short volPasswordOffset; /* offset to pascal Volume Password string */
- char AFPData[144]; /* variable length data may follow */
- };
- typedef struct AFPVolMountInfo AFPVolMountInfo;
- typedef AFPVolMountInfo * AFPVolMountInfoPtr;
-
-
- /* AFPXVolMountInfo is the new AFP volume mount info record, requires the 3.7 AppleShare Client */
- struct AFPXVolMountInfo
- {
- short length; /* length of location data (including self) */
- VolumeType media; /* type of media */
- short flags; /* bits for no messages, no reconnect */
- SInt8 nbpInterval; /* NBP Interval parameter (IM2, p.322) */
- SInt8 nbpCount; /* NBP Interval parameter (IM2, p.322) */
- short uamType; /* User Authentication Method type */
- short zoneNameOffset; /* short positive offset from start of struct to Zone Name */
- short serverNameOffset; /* offset to pascal Server Name string */
- short volNameOffset; /* offset to pascal Volume Name string */
- short userNameOffset; /* offset to pascal User Name string */
- short userPasswordOffset; /* offset to pascal User Password string */
- short volPasswordOffset; /* offset to pascal Volume Password string */
- short extendedFlags; /* extended flags word */
- short uamNameOffset; /* offset to a pascal UAM name string */
- short alternateAddressOffset; /* offset to Alternate Addresses in tagged format */
- char AFPData[176]; /* variable length data may follow */
- };
- typedef struct AFPXVolMountInfo AFPXVolMountInfo;
- typedef AFPXVolMountInfo * AFPXVolMountInfoPtr;
- enum
- {
- kAFPExtendedFlagsAlternateAddressMask = 1 /* bit in AFPXVolMountInfo.extendedFlags that means alternateAddressOffset is used*/
- };
-
-
- enum
- {
- /* constants for use in AFPTagData.fType field*/
- kAFPTagTypeIP = 0x01, /* 4 byte IP address (MSB first) */
- kAFPTagTypeIPPort = 0x02, /* 4 byte IP address, 2 byte port (MSB first) */
- kAFPTagTypeDDP = 0x03, /* Net,Node,Socket Sent by the server, currently unused by the client */
- kAFPTagTypeDNS = 0x04 /* DNS name in address:port format (total length variable up to 254 chars of dns name) */
- };
-
-
- enum
- {
- /* constants for use in AFPTagData.fLength field*/
- kAFPTagLengthIP = 0x06,
- kAFPTagLengthIPPort = 0x08,
- kAFPTagLengthDDP = 0x06
- };
-
- struct AFPTagData
- {
- UInt8 fLength; /* length of this data tag including the fLength field */
- UInt8 fType;
- UInt8 fData[1]; /* variable length data */
- };
- typedef struct AFPTagData AFPTagData;
- struct AFPAlternateAddress
- {
- /* ooo.NOTE: fVersion was missing in 3.2 Universal Interfaces*/
- UInt8 fVersion; /* version of the structure (currently 0x00)*/
- UInt8 fAddressCount;
- UInt8 fAddressList[1]; /* actually variable length packed set of AFPTagData */
- };
- typedef struct AFPAlternateAddress AFPAlternateAddress;
- struct DTPBRec
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioDTRefNum; /* desktop refnum */
- short ioIndex;
- long ioTagInfo;
- Ptr ioDTBuffer;
- long ioDTReqCount;
- long ioDTActCount;
- SInt8 ioFiller1;
- UInt8 ioIconType;
- short ioFiller2;
- long ioDirID;
- OSType ioFileCreator;
- OSType ioFileType;
- long ioFiller3;
- long ioDTLgLen;
- long ioDTPyLen;
- short ioFiller4[14];
- long ioAPPLParID;
- };
- typedef struct DTPBRec DTPBRec;
- typedef DTPBRec * DTPBPtr;
-
- struct HIOParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioRefNum;
- SInt8 ioVersNum;
- SInt8 ioPermssn;
- Ptr ioMisc;
- Ptr ioBuffer;
- long ioReqCount;
- long ioActCount;
- short ioPosMode;
- long ioPosOffset;
- };
- typedef struct HIOParam HIOParam;
- typedef HIOParam * HIOParamPtr;
- struct HFileParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioFRefNum;
- SInt8 ioFVersNum;
- SInt8 filler1;
- short ioFDirIndex;
- SInt8 ioFlAttrib;
- SInt8 ioFlVersNum;
- FInfo ioFlFndrInfo;
- long ioDirID;
- unsigned short ioFlStBlk;
- long ioFlLgLen;
- long ioFlPyLen;
- unsigned short ioFlRStBlk;
- long ioFlRLgLen;
- long ioFlRPyLen;
- unsigned long ioFlCrDat;
- unsigned long ioFlMdDat;
- };
- typedef struct HFileParam HFileParam;
- typedef HFileParam * HFileParamPtr;
- struct HVolumeParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- long filler2;
- short ioVolIndex;
- unsigned long ioVCrDate;
- unsigned long ioVLsMod;
- short ioVAtrb;
- unsigned short ioVNmFls;
- unsigned short ioVBitMap;
- unsigned short ioAllocPtr;
- unsigned short ioVNmAlBlks;
- unsigned long ioVAlBlkSiz;
- unsigned long ioVClpSiz;
- unsigned short ioAlBlSt;
- unsigned long ioVNxtCNID;
- unsigned short ioVFrBlk;
- unsigned short ioVSigWord;
- short ioVDrvInfo;
- short ioVDRefNum;
- short ioVFSID;
- unsigned long ioVBkUp;
- short ioVSeqNum;
- unsigned long ioVWrCnt;
- unsigned long ioVFilCnt;
- unsigned long ioVDirCnt;
- long ioVFndrInfo[8];
- };
- typedef struct HVolumeParam HVolumeParam;
- typedef HVolumeParam * HVolumeParamPtr;
- struct XIOParam
- {
- QElemPtr qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- IOCompletionUPP ioCompletion;
- volatile OSErr ioResult;
- StringPtr ioNamePtr;
- short ioVRefNum;
- short ioRefNum;
- SInt8 ioVersNum;
- SInt8 ioPermssn;
- Ptr ioMisc;
- Ptr ioBuffer;
- long ioReqCount;
- long ioActCount;
- short ioPosMode; /* must have kUseWidePositioning bit set */
- wide ioWPosOffset; /* wide positioning offset */
- };
- typedef struct XIOParam XIOParam;
- typedef XIOParam * XIOParamPtr;
- struct XVolumeParam
- {
- QElemPtr qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- IOCompletionUPP ioCompletion;
- volatile OSErr ioResult;
- StringPtr ioNamePtr;
- short ioVRefNum;
- unsigned long ioXVersion; /* this XVolumeParam version (0) */
- short ioVolIndex;
- unsigned long ioVCrDate;
- unsigned long ioVLsMod;
- short ioVAtrb;
- unsigned short ioVNmFls;
- unsigned short ioVBitMap;
- unsigned short ioAllocPtr;
- unsigned short ioVNmAlBlks;
- unsigned long ioVAlBlkSiz;
- unsigned long ioVClpSiz;
- unsigned short ioAlBlSt;
- unsigned long ioVNxtCNID;
- unsigned short ioVFrBlk;
- unsigned short ioVSigWord;
- short ioVDrvInfo;
- short ioVDRefNum;
- short ioVFSID;
- unsigned long ioVBkUp;
- short ioVSeqNum;
- unsigned long ioVWrCnt;
- unsigned long ioVFilCnt;
- unsigned long ioVDirCnt;
- long ioVFndrInfo[8];
- UInt64 ioVTotalBytes; /* total number of bytes on volume */
- UInt64 ioVFreeBytes; /* number of free bytes on volume */
- };
- typedef struct XVolumeParam XVolumeParam;
- typedef XVolumeParam * XVolumeParamPtr;
- struct AccessParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short filler3;
- short ioDenyModes; /*access rights data*/
- short filler4;
- SInt8 filler5;
- SInt8 ioACUser; /*access rights for directory only*/
- long filler6;
- long ioACOwnerID; /*owner ID*/
- long ioACGroupID; /*group ID*/
- long ioACAccess; /*access rights*/
- long ioDirID;
- };
- typedef struct AccessParam AccessParam;
- typedef AccessParam * AccessParamPtr;
- struct ObjParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short filler7;
- short ioObjType; /*function code*/
- StringPtr ioObjNamePtr; /*ptr to returned creator/group name*/
- long ioObjID; /*creator/group ID*/
- };
- typedef struct ObjParam ObjParam;
- typedef ObjParam * ObjParamPtr;
- struct CopyParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioDstVRefNum; /*destination vol identifier*/
- short filler8;
- StringPtr ioNewName; /*ptr to destination pathname*/
- StringPtr ioCopyName; /*ptr to optional name*/
- long ioNewDirID; /*destination directory ID*/
- long filler14;
- long filler15;
- long ioDirID;
- };
- typedef struct CopyParam CopyParam;
- typedef CopyParam * CopyParamPtr;
- struct WDParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- short ioWDCreated;
- short ioWDIndex;
- long ioWDProcID;
- short ioWDVRefNum;
- short filler10;
- long filler11;
- long filler12;
- long filler13;
- long ioWDDirID;
- };
- typedef struct WDParam WDParam;
- typedef WDParam * WDParamPtr;
- struct FIDParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- long filler14;
- StringPtr ioDestNamePtr; /* dest file name */
- long filler15;
- long ioDestDirID; /* dest file's directory id */
- long filler16;
- long filler17;
- long ioSrcDirID; /* source file's directory id */
- short filler18;
- long ioFileID; /* file ID */
- };
- typedef struct FIDParam FIDParam;
- typedef FIDParam * FIDParamPtr;
- struct ForeignPrivParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- long ioFiller21;
- long ioFiller22;
- Ptr ioForeignPrivBuffer;
- long ioForeignPrivActCount;
- long ioForeignPrivReqCount;
- long ioFiller23;
- long ioForeignPrivDirID;
- long ioForeignPrivInfo1;
- long ioForeignPrivInfo2;
- long ioForeignPrivInfo3;
- long ioForeignPrivInfo4;
- };
- typedef struct ForeignPrivParam ForeignPrivParam;
- typedef ForeignPrivParam * ForeignPrivParamPtr;
- struct CSParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
- FSSpecPtr ioMatchPtr; /* match array */
- long ioReqMatchCount; /* maximum allowable matches */
- long ioActMatchCount; /* actual match count */
- long ioSearchBits; /* search criteria selector */
- CInfoPBPtr ioSearchInfo1; /* search values and range lower bounds */
- CInfoPBPtr ioSearchInfo2; /* search values and range upper bounds */
- long ioSearchTime; /* length of time to run search */
- CatPositionRec ioCatPosition; /* current position in the catalog */
- Ptr ioOptBuffer; /* optional performance enhancement buffer */
- long ioOptBufSize; /* size of buffer pointed to by ioOptBuffer */
- };
- typedef struct CSParam CSParam;
- typedef CSParam * CSParamPtr;
- union HParamBlockRec
- {
- HIOParam ioParam;
- HFileParam fileParam;
- HVolumeParam volumeParam;
- AccessParam accessParam;
- ObjParam objParam;
- CopyParam copyParam;
- WDParam wdParam;
- FIDParam fidParam;
- CSParam csParam;
- ForeignPrivParam foreignPrivParam;
- };
- typedef union HParamBlockRec HParamBlockRec;
-
-
- typedef HParamBlockRec * HParmBlkPtr;
-
- struct CMovePBRec
- {
- QElemPtr qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- IOCompletionUPP ioCompletion;
- volatile OSErr ioResult;
- StringPtr ioNamePtr;
- short ioVRefNum;
- long filler1;
- StringPtr ioNewName;
- long filler2;
- long ioNewDirID;
- long filler3[2];
- long ioDirID;
- };
- typedef struct CMovePBRec CMovePBRec;
- typedef CMovePBRec * CMovePBPtr;
- struct WDPBRec
- {
- QElemPtr qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- IOCompletionUPP ioCompletion;
- volatile OSErr ioResult;
- StringPtr ioNamePtr;
- short ioVRefNum;
- short filler1;
- short ioWDIndex;
- long ioWDProcID;
- short ioWDVRefNum;
- short filler2[7];
- long ioWDDirID;
- };
- typedef struct WDPBRec WDPBRec;
- typedef WDPBRec * WDPBPtr;
- struct FCBPBRec
- {
- QElemPtr qLink;
- short qType;
- short ioTrap;
- Ptr ioCmdAddr;
- IOCompletionUPP ioCompletion;
- volatile OSErr ioResult;
- StringPtr ioNamePtr;
- short ioVRefNum;
- short ioRefNum;
- short filler;
- short ioFCBIndx;
- short filler1;
- long ioFCBFlNm;
- short ioFCBFlags;
- unsigned short ioFCBStBlk;
- long ioFCBEOF;
- long ioFCBPLen;
- long ioFCBCrPs;
- short ioFCBVRefNum;
- long ioFCBClpSiz;
- long ioFCBParID;
- };
- typedef struct FCBPBRec FCBPBRec;
- typedef FCBPBRec * FCBPBPtr;
- struct VCB
- {
- QElemPtr qLink;
- short qType;
- short vcbFlags;
- unsigned short vcbSigWord;
- unsigned long vcbCrDate;
- unsigned long vcbLsMod;
- short vcbAtrb;
- unsigned short vcbNmFls;
- short vcbVBMSt;
- short vcbAllocPtr;
- unsigned short vcbNmAlBlks;
- long vcbAlBlkSiz;
- long vcbClpSiz;
- short vcbAlBlSt;
- long vcbNxtCNID;
- unsigned short vcbFreeBks;
- Str27 vcbVN;
- short vcbDrvNum;
- short vcbDRefNum;
- short vcbFSID;
- short vcbVRefNum;
- Ptr vcbMAdr;
- Ptr vcbBufAdr;
- short vcbMLen;
- short vcbDirIndex;
- short vcbDirBlk;
- unsigned long vcbVolBkUp;
- unsigned short vcbVSeqNum;
- long vcbWrCnt;
- long vcbXTClpSiz;
- long vcbCTClpSiz;
- unsigned short vcbNmRtDirs;
- long vcbFilCnt;
- long vcbDirCnt;
- long vcbFndrInfo[8];
- unsigned short vcbVCSize;
- unsigned short vcbVBMCSiz;
- unsigned short vcbCtlCSiz;
- unsigned short vcbXTAlBlks;
- unsigned short vcbCTAlBlks;
- short vcbXTRef;
- short vcbCTRef;
- Ptr vcbCtlBuf;
- long vcbDirIDM;
- short vcbOffsM;
- };
- typedef struct VCB VCB;
- typedef VCB * VCBPtr;
- struct DrvQEl
- {
- QElemPtr qLink;
- short qType;
- short dQDrive;
- short dQRefNum;
- short dQFSID;
- unsigned short dQDrvSz;
- unsigned short dQDrvSz2;
- };
- typedef struct DrvQEl DrvQEl;
- typedef DrvQEl * DrvQElPtr;
- /*
- * NewIOCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(IOCompletionUPP)
- NewIOCompletionUPP(IOCompletionProcPtr userRoutine);
+/* HFSUniStr255 is the Unicode equivalent of Str255 */
+struct HFSUniStr255 {
+ UInt16 length; /* number of unicode characters */
+ UniChar unicode[255]; /* unicode characters */
+};
+typedef struct HFSUniStr255 HFSUniStr255;
+typedef const HFSUniStr255 * ConstHFSUniStr255Param;
+enum {
+ fsCurPerm = 0x00, /* open access permissions in ioPermssn */
+ fsRdPerm = 0x01,
+ fsWrPerm = 0x02,
+ fsRdWrPerm = 0x03,
+ fsRdWrShPerm = 0x04,
+ fsRdDenyPerm = 0x10, /* for use with OpenDeny and OpenRFDeny */
+ fsWrDenyPerm = 0x20 /* for use with OpenDeny and OpenRFDeny */
+};
+
+enum {
+ fsRtParID = 1,
+ fsRtDirID = 2
+};
+
+enum {
+ fsAtMark = 0, /* positioning modes in ioPosMode */
+ fsFromStart = 1,
+ fsFromLEOF = 2,
+ fsFromMark = 3
+};
+
+enum {
+ /* ioPosMode flags */
+ pleaseCacheBit = 4, /* please cache this request */
+ pleaseCacheMask = 0x0010,
+ noCacheBit = 5, /* please don't cache this request */
+ noCacheMask = 0x0020,
+ rdVerifyBit = 6, /* read verify mode */
+ rdVerifyMask = 0x0040,
+ rdVerify = 64, /* old name of rdVerifyMask */
+ forceReadBit = 6,
+ forceReadMask = 0x0040,
+ newLineBit = 7, /* newline mode */
+ newLineMask = 0x0080,
+ newLineCharMask = 0xFF00 /* newline character */
+};
+
+
+enum {
+ /* CatSearch Search bitmask Constants */
+ fsSBPartialName = 1,
+ fsSBFullName = 2,
+ fsSBFlAttrib = 4,
+ fsSBFlFndrInfo = 8,
+ fsSBFlLgLen = 32,
+ fsSBFlPyLen = 64,
+ fsSBFlRLgLen = 128,
+ fsSBFlRPyLen = 256,
+ fsSBFlCrDat = 512,
+ fsSBFlMdDat = 1024,
+ fsSBFlBkDat = 2048,
+ fsSBFlXFndrInfo = 4096,
+ fsSBFlParID = 8192,
+ fsSBNegate = 16384,
+ fsSBDrUsrWds = 8,
+ fsSBDrNmFls = 16,
+ fsSBDrCrDat = 512,
+ fsSBDrMdDat = 1024,
+ fsSBDrBkDat = 2048,
+ fsSBDrFndrInfo = 4096,
+ fsSBDrParID = 8192
+};
+
+enum {
+ /* CatSearch Search bit value Constants */
+ fsSBPartialNameBit = 0, /*ioFileName points to a substring*/
+ fsSBFullNameBit = 1, /*ioFileName points to a match string*/
+ fsSBFlAttribBit = 2, /*search includes file attributes*/
+ fsSBFlFndrInfoBit = 3, /*search includes finder info*/
+ fsSBFlLgLenBit = 5, /*search includes data logical length*/
+ fsSBFlPyLenBit = 6, /*search includes data physical length*/
+ fsSBFlRLgLenBit = 7, /*search includes resource logical length*/
+ fsSBFlRPyLenBit = 8, /*search includes resource physical length*/
+ fsSBFlCrDatBit = 9, /*search includes create date*/
+ fsSBFlMdDatBit = 10, /*search includes modification date*/
+ fsSBFlBkDatBit = 11, /*search includes backup date*/
+ fsSBFlXFndrInfoBit = 12, /*search includes extended finder info*/
+ fsSBFlParIDBit = 13, /*search includes file's parent ID*/
+ fsSBNegateBit = 14, /*return all non-matches*/
+ fsSBDrUsrWdsBit = 3, /*search includes directory finder info*/
+ fsSBDrNmFlsBit = 4, /*search includes directory valence*/
+ fsSBDrCrDatBit = 9, /*directory-named version of fsSBFlCrDatBit*/
+ fsSBDrMdDatBit = 10, /*directory-named version of fsSBFlMdDatBit*/
+ fsSBDrBkDatBit = 11, /*directory-named version of fsSBFlBkDatBit*/
+ fsSBDrFndrInfoBit = 12, /*directory-named version of fsSBFlXFndrInfoBit*/
+ fsSBDrParIDBit = 13 /*directory-named version of fsSBFlParIDBit*/
+};
+
+enum {
+ /* vMAttrib (GetVolParms) bit position constants */
+ bLimitFCBs = 31,
+ bLocalWList = 30,
+ bNoMiniFndr = 29,
+ bNoVNEdit = 28,
+ bNoLclSync = 27,
+ bTrshOffLine = 26,
+ bNoSwitchTo = 25,
+ bNoDeskItems = 20,
+ bNoBootBlks = 19,
+ bAccessCntl = 18,
+ bNoSysDir = 17,
+ bHasExtFSVol = 16,
+ bHasOpenDeny = 15,
+ bHasCopyFile = 14,
+ bHasMoveRename = 13,
+ bHasDesktopMgr = 12,
+ bHasShortName = 11,
+ bHasFolderLock = 10,
+ bHasPersonalAccessPrivileges = 9,
+ bHasUserGroupList = 8,
+ bHasCatSearch = 7,
+ bHasFileIDs = 6,
+ bHasBTreeMgr = 5,
+ bHasBlankAccessPrivileges = 4,
+ bSupportsAsyncRequests = 3, /* asynchronous requests to this volume are handled correctly at any time*/
+ bSupportsTrashVolumeCache = 2
+};
+
+enum {
+ /* vMExtendedAttributes (GetVolParms) bit position constants */
+ bIsEjectable = 0, /* volume is in an ejectable disk drive */
+ bSupportsHFSPlusAPIs = 1, /* volume supports HFS Plus APIs directly (not through compatibility layer) */
+ bSupportsFSCatalogSearch = 2, /* volume supports FSCatalogSearch */
+ bSupportsFSExchangeObjects = 3, /* volume supports FSExchangeObjects */
+ bSupports2TBFiles = 4, /* volume supports supports 2 terabyte files */
+ bSupportsLongNames = 5, /* volume supports file/directory/volume names longer than 31 characters */
+ bSupportsMultiScriptNames = 6, /* volume supports file/directory/volume names with characters from multiple script systems */
+ bSupportsNamedForks = 7, /* volume supports forks beyond the data and resource forks */
+ bSupportsSubtreeIterators = 8, /* volume supports recursive iterators not at the volume root */
+ bL2PCanMapFileBlocks = 9 /* volume supports Lg2Phys SPI correctly */
+};
+
+enum {
+ /* vMExtendedAttributes (GetVolParms) bit position constants */
+ bSupportsSymbolicLinks = 13, /* volume supports the creation and use of symbolic links (Mac OS X only) */
+ bIsAutoMounted = 14, /* volume was mounted automatically (Mac OS X only) */
+ bAllowCDiDataHandler = 17, /* allow QuickTime's CDi data handler to examine this volume */
+ bSupportsExclusiveLocks = 18 /* volume supports exclusive opens for writing */
+};
+
+enum {
+ /* Desktop Database, ffsGetIconMessage and fsmGetFSIconMessage icon type and size Constants */
+ kLargeIcon = 1,
+ kLarge4BitIcon = 2,
+ kLarge8BitIcon = 3,
+ kSmallIcon = 4,
+ kSmall4BitIcon = 5,
+ kSmall8BitIcon = 6,
+ kicnsIconFamily = 239 /* Note: The 'icns' icon family record is variable sized. */
+};
+
+enum {
+ kLargeIconSize = 256,
+ kLarge4BitIconSize = 512,
+ kLarge8BitIconSize = 1024,
+ kSmallIconSize = 64,
+ kSmall4BitIconSize = 128,
+ kSmall8BitIconSize = 256
+};
+
+enum {
+ /* Large Volume Constants */
+ kWidePosOffsetBit = 8,
+ kUseWidePositioning = (1 << kWidePosOffsetBit),
+ kMaximumBlocksIn4GB = 0x007FFFFF
+};
+
+enum {
+ /* Foreign Privilege Model Identifiers */
+ fsUnixPriv = 1
+};
+
+enum {
+ /* Authentication Constants */
+ kNoUserAuthentication = 1,
+ kPassword = 2,
+ kEncryptPassword = 3,
+ kTwoWayEncryptPassword = 6
+};
+
+
+/* mapping codes (ioObjType) for MapName & MapID */
+enum {
+ kOwnerID2Name = 1,
+ kGroupID2Name = 2,
+ kOwnerName2ID = 3,
+ kGroupName2ID = 4, /* types of oj object to be returned (ioObjType) for _GetUGEntry */
+ kReturnNextUser = 1,
+ kReturnNextGroup = 2,
+ kReturnNextUG = 3
+};
+
+/* vcbFlags bits */
+enum {
+ kVCBFlagsIdleFlushBit = 3, /* Set if volume should be flushed at idle time */
+ kVCBFlagsIdleFlushMask = 0x0008,
+ kVCBFlagsHFSPlusAPIsBit = 4, /* Set if volume implements HFS Plus APIs itself (not via emulation) */
+ kVCBFlagsHFSPlusAPIsMask = 0x0010,
+ kVCBFlagsHardwareGoneBit = 5, /* Set if disk driver returned a hardwareGoneErr to Read or Write */
+ kVCBFlagsHardwareGoneMask = 0x0020,
+ kVCBFlagsVolumeDirtyBit = 15, /* Set if volume information has changed since the last FlushVol */
+ kVCBFlagsVolumeDirtyMask = 0x8000
+};
+
+/* ioVAtrb bits returned by PBHGetVInfo and PBXGetVolInfo */
+enum {
+ kioVAtrbDefaultVolumeBit = 5, /* Set if the volume is the default volume */
+ kioVAtrbDefaultVolumeMask = 0x0020,
+ kioVAtrbFilesOpenBit = 6, /* Set if there are open files or iterators */
+ kioVAtrbFilesOpenMask = 0x0040,
+ kioVAtrbHardwareLockedBit = 7, /* Set if volume is locked by a hardware setting */
+ kioVAtrbHardwareLockedMask = 0x0080,
+ kioVAtrbSoftwareLockedBit = 15, /* Set if volume is locked by software */
+ kioVAtrbSoftwareLockedMask = 0x8000
+};
+
+/* ioFlAttrib bits returned by PBGetCatInfo */
+enum {
+ /* file and directory attributes in ioFlAttrib */
+ kioFlAttribLockedBit = 0, /* Set if file or directory is locked */
+ kioFlAttribLockedMask = 0x01,
+ kioFlAttribResOpenBit = 2, /* Set if resource fork is open */
+ kioFlAttribResOpenMask = 0x04,
+ kioFlAttribDataOpenBit = 3, /* Set if data fork is open */
+ kioFlAttribDataOpenMask = 0x08,
+ kioFlAttribDirBit = 4, /* Set if this is a directory */
+ kioFlAttribDirMask = 0x10,
+ ioDirFlg = 4, /* Set if this is a directory (old name) */
+ ioDirMask = 0x10,
+ kioFlAttribCopyProtBit = 6, /* Set if AppleShare server "copy-protects" the file */
+ kioFlAttribCopyProtMask = 0x40,
+ kioFlAttribFileOpenBit = 7, /* Set if file (either fork) is open */
+ kioFlAttribFileOpenMask = 0x80, /* ioFlAttrib for directories only */
+ kioFlAttribInSharedBit = 2, /* Set if the directory is within a shared area of the directory hierarchy */
+ kioFlAttribInSharedMask = 0x04,
+ kioFlAttribMountedBit = 3, /* Set if the directory is a share point that is mounted by some user */
+ kioFlAttribMountedMask = 0x08,
+ kioFlAttribSharePointBit = 5, /* Set if the directory is a share point */
+ kioFlAttribSharePointMask = 0x20
+};
+
+/* ioFCBFlags bits returned by PBGetFCBInfo */
+enum {
+ kioFCBWriteBit = 8, /* Data can be written to this file */
+ kioFCBWriteMask = 0x0100,
+ kioFCBResourceBit = 9, /* This file is a resource fork */
+ kioFCBResourceMask = 0x0200,
+ kioFCBWriteLockedBit = 10, /* File has a locked byte range */
+ kioFCBWriteLockedMask = 0x0400,
+ kioFCBLargeFileBit = 11, /* File may grow beyond 2GB; cache uses file blocks, not bytes */
+ kioFCBLargeFileMask = 0x0800,
+ kioFCBSharedWriteBit = 12, /* File is open for shared write access */
+ kioFCBSharedWriteMask = 0x1000,
+ kioFCBFileLockedBit = 13, /* File is locked (write-protected) */
+ kioFCBFileLockedMask = 0x2000,
+ kioFCBOwnClumpBit = 14, /* File has clump size specified in FCB */
+ kioFCBOwnClumpMask = 0x4000,
+ kioFCBModifiedBit = 15, /* File has changed since it was last flushed */
+ kioFCBModifiedMask = 0x8000
+};
+
+/* ioACUser bits returned by PBGetCatInfo */
+/* Note: you must clear ioACUser before calling PBGetCatInfo because some file systems do not use this field */
+enum {
+ kioACUserNoSeeFolderBit = 0, /* Set if user does not have See Folder privileges */
+ kioACUserNoSeeFolderMask = 0x01,
+ kioACUserNoSeeFilesBit = 1, /* Set if user does not have See Files privileges */
+ kioACUserNoSeeFilesMask = 0x02,
+ kioACUserNoMakeChangesBit = 2, /* Set if user does not have Make Changes privileges */
+ kioACUserNoMakeChangesMask = 0x04,
+ kioACUserNotOwnerBit = 7, /* Set if user is not owner of the directory */
+ kioACUserNotOwnerMask = 0x80
+};
+
+/* Folder and File values of access privileges in ioACAccess */
+enum {
+ kioACAccessOwnerBit = 31, /* User is owner of directory */
+ kioACAccessOwnerMask = (long)0x80000000,
+ kioACAccessBlankAccessBit = 28, /* Directory has blank access privileges */
+ kioACAccessBlankAccessMask = 0x10000000,
+ kioACAccessUserWriteBit = 26, /* User has write privileges */
+ kioACAccessUserWriteMask = 0x04000000,
+ kioACAccessUserReadBit = 25, /* User has read privileges */
+ kioACAccessUserReadMask = 0x02000000,
+ kioACAccessUserSearchBit = 24, /* User has search privileges */
+ kioACAccessUserSearchMask = 0x01000000,
+ kioACAccessEveryoneWriteBit = 18, /* Everyone has write privileges */
+ kioACAccessEveryoneWriteMask = 0x00040000,
+ kioACAccessEveryoneReadBit = 17, /* Everyone has read privileges */
+ kioACAccessEveryoneReadMask = 0x00020000,
+ kioACAccessEveryoneSearchBit = 16, /* Everyone has search privileges */
+ kioACAccessEveryoneSearchMask = 0x00010000,
+ kioACAccessGroupWriteBit = 10, /* Group has write privileges */
+ kioACAccessGroupWriteMask = 0x00000400,
+ kioACAccessGroupReadBit = 9, /* Group has read privileges */
+ kioACAccessGroupReadMask = 0x00000200,
+ kioACAccessGroupSearchBit = 8, /* Group has search privileges */
+ kioACAccessGroupSearchMask = 0x00000100,
+ kioACAccessOwnerWriteBit = 2, /* Owner has write privileges */
+ kioACAccessOwnerWriteMask = 0x00000004,
+ kioACAccessOwnerReadBit = 1, /* Owner has read privileges */
+ kioACAccessOwnerReadMask = 0x00000002,
+ kioACAccessOwnerSearchBit = 0, /* Owner has search privileges */
+ kioACAccessOwnerSearchMask = 0x00000001,
+ kfullPrivileges = 0x00070007, /* all privileges for everybody and owner*/
+ kownerPrivileges = 0x00000007 /* all privileges for owner only*/
+};
+
+/* values of user IDs and group IDs */
+enum {
+ knoUser = 0,
+ kadministratorUser = 1
+};
+
+enum {
+ knoGroup = 0
+};
+
+
+struct GetVolParmsInfoBuffer {
+ short vMVersion; /*version number*/
+ long vMAttrib; /*bit vector of attributes (see vMAttrib constants)*/
+ Handle vMLocalHand; /*handle to private data*/
+ long vMServerAdr; /*AppleTalk server address or zero*/
+ /* vMVersion 1 GetVolParmsInfoBuffer ends here */
+ long vMVolumeGrade; /*approx. speed rating or zero if unrated*/
+ short vMForeignPrivID; /*foreign privilege model supported or zero if none*/
+ /* vMVersion 2 GetVolParmsInfoBuffer ends here */
+ long vMExtendedAttributes; /*extended attribute bits (see vMExtendedAttributes constants)*/
+ /* vMVersion 3 GetVolParmsInfoBuffer ends here */
+ void * vMDeviceID; /* device id name for interoperability with IOKit */
+ /* vMVersion 4 GetVolParmsInfoBuffer ends here */
+ UniCharCount vMMaxNameLength;
+ /* vMVersion 5 GetVolParmsInfoBuffer ends here */
+};
+typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
+typedef union ParamBlockRec ParamBlockRec;
+
+typedef ParamBlockRec * ParmBlkPtr;
+typedef CALLBACK_API_REGISTER68K( void , IOCompletionProcPtr, (ParmBlkPtr paramBlock) );
+typedef REGISTER_UPP_TYPE(IOCompletionProcPtr) IOCompletionUPP;
+struct IOParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioRefNum; /*refNum for I/O operation*/
+ SInt8 ioVersNum; /*version number*/
+ SInt8 ioPermssn; /*Open: permissions (byte)*/
+ Ptr ioMisc; /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
+ Ptr ioBuffer; /*data buffer Ptr*/
+ long ioReqCount; /*requested byte count; also = ioNewDirID*/
+ long ioActCount; /*actual byte count completed*/
+ short ioPosMode; /*initial file positioning*/
+ long ioPosOffset; /*file position offset*/
+};
+typedef struct IOParam IOParam;
+typedef IOParam * IOParamPtr;
+struct FileParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioFRefNum; /*reference number*/
+ SInt8 ioFVersNum; /*version number*/
+ SInt8 filler1;
+ short ioFDirIndex; /*GetFInfo directory index*/
+ SInt8 ioFlAttrib; /*GetFInfo: in-use bit=7, lock bit=0*/
+ SInt8 ioFlVersNum; /*file version number*/
+ FInfo ioFlFndrInfo; /*user info*/
+ unsigned long ioFlNum; /*GetFInfo: file number; TF- ioDirID*/
+ unsigned short ioFlStBlk; /*start file block (0 if none)*/
+ long ioFlLgLen; /*logical length (EOF)*/
+ long ioFlPyLen; /*physical length*/
+ unsigned short ioFlRStBlk; /*start block rsrc fork*/
+ long ioFlRLgLen; /*file logical length rsrc fork*/
+ long ioFlRPyLen; /*file physical length rsrc fork*/
+ unsigned long ioFlCrDat; /*file creation date& time (32 bits in secs)*/
+ unsigned long ioFlMdDat; /*last modified date and time*/
+};
+typedef struct FileParam FileParam;
+typedef FileParam * FileParamPtr;
+struct VolumeParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ long filler2;
+ short ioVolIndex; /*volume index number*/
+ unsigned long ioVCrDate; /*creation date and time*/
+ unsigned long ioVLsBkUp; /*last backup date and time*/
+ unsigned short ioVAtrb; /*volume attrib*/
+ unsigned short ioVNmFls; /*number of files in directory*/
+ unsigned short ioVDirSt; /*start block of file directory*/
+ short ioVBlLn; /*GetVolInfo: length of dir in blocks*/
+ unsigned short ioVNmAlBlks; /*for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB*/
+ unsigned long ioVAlBlkSiz; /*for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)*/
+ unsigned long ioVClpSiz; /*GetVolInfo: bytes to allocate at a time*/
+ unsigned short ioAlBlSt; /*starting disk(512-byte) block in block map*/
+ unsigned long ioVNxtFNum; /*GetVolInfo: next free file number*/
+ unsigned short ioVFrBlk; /*GetVolInfo: # free alloc blks for this vol*/
+};
+typedef struct VolumeParam VolumeParam;
+typedef VolumeParam * VolumeParamPtr;
+struct CntrlParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioCRefNum; /*refNum for I/O operation*/
+ short csCode; /*word for control status code*/
+ short csParam[11]; /*operation-defined parameters*/
+};
+typedef struct CntrlParam CntrlParam;
+typedef CntrlParam * CntrlParamPtr;
+struct SlotDevParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioSRefNum;
+ SInt8 ioSVersNum;
+ SInt8 ioSPermssn;
+ Ptr ioSMix;
+ short ioSFlags;
+ SInt8 ioSlot;
+ SInt8 ioID;
+};
+typedef struct SlotDevParam SlotDevParam;
+typedef SlotDevParam * SlotDevParamPtr;
+struct MultiDevParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioMRefNum;
+ SInt8 ioMVersNum;
+ SInt8 ioMPermssn;
+ Ptr ioMMix;
+ short ioMFlags;
+ Ptr ioSEBlkPtr;
+};
+typedef struct MultiDevParam MultiDevParam;
+typedef MultiDevParam * MultiDevParamPtr;
+union ParamBlockRec {
+ IOParam ioParam;
+ FileParam fileParam;
+ VolumeParam volumeParam;
+ CntrlParam cntrlParam;
+ SlotDevParam slotDevParam;
+ MultiDevParam multiDevParam;
+};
+
+struct HFileInfo {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioFRefNum;
+ SInt8 ioFVersNum;
+ SInt8 filler1;
+ short ioFDirIndex;
+ SInt8 ioFlAttrib;
+ SInt8 ioACUser;
+ FInfo ioFlFndrInfo;
+ long ioDirID;
+ unsigned short ioFlStBlk;
+ long ioFlLgLen;
+ long ioFlPyLen;
+ unsigned short ioFlRStBlk;
+ long ioFlRLgLen;
+ long ioFlRPyLen;
+ unsigned long ioFlCrDat;
+ unsigned long ioFlMdDat;
+ unsigned long ioFlBkDat;
+ FXInfo ioFlXFndrInfo;
+ long ioFlParID;
+ long ioFlClpSiz;
+};
+typedef struct HFileInfo HFileInfo;
+struct DirInfo {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioFRefNum;
+ SInt8 ioFVersNum;
+ SInt8 filler1;
+ short ioFDirIndex;
+ SInt8 ioFlAttrib;
+ SInt8 ioACUser;
+ DInfo ioDrUsrWds;
+ long ioDrDirID;
+ unsigned short ioDrNmFls;
+ short filler3[9];
+ unsigned long ioDrCrDat;
+ unsigned long ioDrMdDat;
+ unsigned long ioDrBkDat;
+ DXInfo ioDrFndrInfo;
+ long ioDrParID;
+};
+typedef struct DirInfo DirInfo;
+union CInfoPBRec {
+ HFileInfo hFileInfo;
+ DirInfo dirInfo;
+};
+typedef union CInfoPBRec CInfoPBRec;
+typedef CInfoPBRec * CInfoPBPtr;
+struct XCInfoPBRec {
+ QElemPtr qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ ProcPtr ioCompletion; /* --> A pointer to a completion routine */
+ volatile OSErr ioResult; /* --> The result code of the function */
+ StringPtr ioNamePtr; /* --> Pointer to pathname to object */
+ short ioVRefNum; /* --> A volume specification */
+ long filler1;
+ StringPtr ioShortNamePtr; /* <-> A pointer to the short name string buffer - required! */
+ short filler2;
+ short ioPDType; /* <-- The ProDOS file type */
+ long ioPDAuxType; /* <-- The ProDOS aux type */
+ long filler3[2];
+ long ioDirID; /* --> A directory ID */
+};
+typedef struct XCInfoPBRec XCInfoPBRec;
+typedef XCInfoPBRec * XCInfoPBPtr;
+/* Catalog position record */
+struct CatPositionRec {
+ long initialize;
+ short priv[6];
+};
+typedef struct CatPositionRec CatPositionRec;
+struct FSSpec {
+ short vRefNum;
+ long parID;
+ StrFileName name; /* a Str63 on MacOS*/
+};
+typedef struct FSSpec FSSpec;
+typedef FSSpec * FSSpecPtr;
+typedef FSSpecPtr * FSSpecHandle;
+/* pointer to array of FSSpecs */
+typedef FSSpecPtr FSSpecArrayPtr;
+/*
+ The only difference between "const FSSpec*" and "ConstFSSpecPtr" is
+ that as a parameter, ConstFSSpecPtr is allowed to be NULL
+*/
+typedef const FSSpec * ConstFSSpecPtr;
+/*
+ The following are structures to be filled out with the _PBGetVolMountInfo call
+ and passed back into the _PBVolumeMount call for external file system mounts.
+*/
+/* the "signature" of the file system */
+typedef OSType VolumeType;
+enum {
+ /* the signature for AppleShare */
+ AppleShareMediaType = FOUR_CHAR_CODE('afpm')
+};
+
+/*
+ VolMount stuff was once in FSM.*
+*/
+struct VolMountInfoHeader {
+ short length; /* length of location data (including self) */
+ VolumeType media; /* type of media. Variable length data follows */
+};
+typedef struct VolMountInfoHeader VolMountInfoHeader;
+typedef VolMountInfoHeader * VolMountInfoPtr;
+/* The new volume mount info record. The old one is included for compatibility.
+ the new record allows access by foriegn filesystems writers to the flags
+ portion of the record. This portion is now public.
+*/
+struct VolumeMountInfoHeader {
+ short length; /* length of location data (including self) */
+ VolumeType media; /* type of media (must be registered with Apple) */
+ short flags; /* volume mount flags. Variable length data follows */
+};
+typedef struct VolumeMountInfoHeader VolumeMountInfoHeader;
+typedef VolumeMountInfoHeader * VolumeMountInfoHeaderPtr;
+/* volume mount flags */
+enum {
+ volMountNoLoginMsgFlagBit = 0, /* Input to VolumeMount: If set, the file system */
+ volMountNoLoginMsgFlagMask = 0x0001, /* should suppresss any log-in message/greeting dialog */
+ volMountExtendedFlagsBit = 7, /* Input to VolumeMount: If set, the mount info is a */
+ volMountExtendedFlagsMask = 0x0080, /* AFPXVolMountInfo record for 3.7 AppleShare Client */
+ volMountInteractBit = 15, /* Input to VolumeMount: If set, it's OK for the file system */
+ volMountInteractMask = 0x8000, /* to perform user interaction to mount the volume */
+ volMountChangedBit = 14, /* Output from VoumeMount: If set, the volume was mounted, but */
+ volMountChangedMask = 0x4000, /* the volume mounting information record needs to be updated. */
+ volMountFSReservedMask = 0x00FF, /* bits 0-7 are defined by each file system for its own use */
+ volMountSysReservedMask = 0xFF00 /* bits 8-15 are reserved for Apple system use */
+};
+
+
+
+struct AFPVolMountInfo {
+ short length; /* length of location data (including self) */
+ VolumeType media; /* type of media */
+ short flags; /* bits for no messages, no reconnect */
+ SInt8 nbpInterval; /* NBP Interval parameter (IM2, p.322) */
+ SInt8 nbpCount; /* NBP Interval parameter (IM2, p.322) */
+ short uamType; /* User Authentication Method */
+ short zoneNameOffset; /* short positive offset from start of struct to Zone Name */
+ short serverNameOffset; /* offset to pascal Server Name string */
+ short volNameOffset; /* offset to pascal Volume Name string */
+ short userNameOffset; /* offset to pascal User Name string */
+ short userPasswordOffset; /* offset to pascal User Password string */
+ short volPasswordOffset; /* offset to pascal Volume Password string */
+ char AFPData[144]; /* variable length data may follow */
+};
+typedef struct AFPVolMountInfo AFPVolMountInfo;
+typedef AFPVolMountInfo * AFPVolMountInfoPtr;
+
+
+/* AFPXVolMountInfo is the new AFP volume mount info record, requires the 3.7 AppleShare Client */
+struct AFPXVolMountInfo {
+ short length; /* length of location data (including self) */
+ VolumeType media; /* type of media */
+ short flags; /* bits for no messages, no reconnect */
+ SInt8 nbpInterval; /* NBP Interval parameter (IM2, p.322) */
+ SInt8 nbpCount; /* NBP Interval parameter (IM2, p.322) */
+ short uamType; /* User Authentication Method type */
+ short zoneNameOffset; /* short positive offset from start of struct to Zone Name */
+ short serverNameOffset; /* offset to pascal Server Name string */
+ short volNameOffset; /* offset to pascal Volume Name string */
+ short userNameOffset; /* offset to pascal User Name string */
+ short userPasswordOffset; /* offset to pascal User Password string */
+ short volPasswordOffset; /* offset to pascal Volume Password string */
+ short extendedFlags; /* extended flags word */
+ short uamNameOffset; /* offset to a pascal UAM name string */
+ short alternateAddressOffset; /* offset to Alternate Addresses in tagged format */
+ char AFPData[176]; /* variable length data may follow */
+};
+typedef struct AFPXVolMountInfo AFPXVolMountInfo;
+typedef AFPXVolMountInfo * AFPXVolMountInfoPtr;
+enum {
+ kAFPExtendedFlagsAlternateAddressMask = 1 /* bit in AFPXVolMountInfo.extendedFlags that means alternateAddressOffset is used*/
+};
+
+
+enum {
+ /* constants for use in AFPTagData.fType field*/
+ kAFPTagTypeIP = 0x01, /* 4 byte IP address (MSB first) */
+ kAFPTagTypeIPPort = 0x02, /* 4 byte IP address, 2 byte port (MSB first) */
+ kAFPTagTypeDDP = 0x03, /* Net,Node,Socket Sent by the server, currently unused by the client */
+ kAFPTagTypeDNS = 0x04 /* DNS name in address:port format (total length variable up to 254 chars of dns name) */
+};
+
+
+enum {
+ /* constants for use in AFPTagData.fLength field*/
+ kAFPTagLengthIP = 0x06,
+ kAFPTagLengthIPPort = 0x08,
+ kAFPTagLengthDDP = 0x06
+};
+
+struct AFPTagData {
+ UInt8 fLength; /* length of this data tag including the fLength field */
+ UInt8 fType;
+ UInt8 fData[1]; /* variable length data */
+};
+typedef struct AFPTagData AFPTagData;
+struct AFPAlternateAddress {
+ /* ooo.NOTE: fVersion was missing in 3.2 Universal Interfaces*/
+ UInt8 fVersion; /* version of the structure (currently 0x00)*/
+ UInt8 fAddressCount;
+ UInt8 fAddressList[1]; /* actually variable length packed set of AFPTagData */
+};
+typedef struct AFPAlternateAddress AFPAlternateAddress;
+struct DTPBRec {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioDTRefNum; /* desktop refnum */
+ short ioIndex;
+ long ioTagInfo;
+ Ptr ioDTBuffer;
+ long ioDTReqCount;
+ long ioDTActCount;
+ SInt8 ioFiller1;
+ UInt8 ioIconType;
+ short ioFiller2;
+ long ioDirID;
+ OSType ioFileCreator;
+ OSType ioFileType;
+ long ioFiller3;
+ long ioDTLgLen;
+ long ioDTPyLen;
+ short ioFiller4[14];
+ long ioAPPLParID;
+};
+typedef struct DTPBRec DTPBRec;
+typedef DTPBRec * DTPBPtr;
+
+struct HIOParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioRefNum;
+ SInt8 ioVersNum;
+ SInt8 ioPermssn;
+ Ptr ioMisc;
+ Ptr ioBuffer;
+ long ioReqCount;
+ long ioActCount;
+ short ioPosMode;
+ long ioPosOffset;
+};
+typedef struct HIOParam HIOParam;
+typedef HIOParam * HIOParamPtr;
+struct HFileParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioFRefNum;
+ SInt8 ioFVersNum;
+ SInt8 filler1;
+ short ioFDirIndex;
+ SInt8 ioFlAttrib;
+ SInt8 ioFlVersNum;
+ FInfo ioFlFndrInfo;
+ long ioDirID;
+ unsigned short ioFlStBlk;
+ long ioFlLgLen;
+ long ioFlPyLen;
+ unsigned short ioFlRStBlk;
+ long ioFlRLgLen;
+ long ioFlRPyLen;
+ unsigned long ioFlCrDat;
+ unsigned long ioFlMdDat;
+};
+typedef struct HFileParam HFileParam;
+typedef HFileParam * HFileParamPtr;
+struct HVolumeParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ long filler2;
+ short ioVolIndex;
+ unsigned long ioVCrDate;
+ unsigned long ioVLsMod;
+ short ioVAtrb;
+ unsigned short ioVNmFls;
+ unsigned short ioVBitMap;
+ unsigned short ioAllocPtr;
+ unsigned short ioVNmAlBlks;
+ unsigned long ioVAlBlkSiz;
+ unsigned long ioVClpSiz;
+ unsigned short ioAlBlSt;
+ unsigned long ioVNxtCNID;
+ unsigned short ioVFrBlk;
+ unsigned short ioVSigWord;
+ short ioVDrvInfo;
+ short ioVDRefNum;
+ short ioVFSID;
+ unsigned long ioVBkUp;
+ short ioVSeqNum;
+ unsigned long ioVWrCnt;
+ unsigned long ioVFilCnt;
+ unsigned long ioVDirCnt;
+ long ioVFndrInfo[8];
+};
+typedef struct HVolumeParam HVolumeParam;
+typedef HVolumeParam * HVolumeParamPtr;
+struct XIOParam {
+ QElemPtr qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ IOCompletionUPP ioCompletion;
+ volatile OSErr ioResult;
+ StringPtr ioNamePtr;
+ short ioVRefNum;
+ short ioRefNum;
+ SInt8 ioVersNum;
+ SInt8 ioPermssn;
+ Ptr ioMisc;
+ Ptr ioBuffer;
+ long ioReqCount;
+ long ioActCount;
+ short ioPosMode; /* must have kUseWidePositioning bit set */
+ wide ioWPosOffset; /* wide positioning offset */
+};
+typedef struct XIOParam XIOParam;
+typedef XIOParam * XIOParamPtr;
+struct XVolumeParam {
+ QElemPtr qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ IOCompletionUPP ioCompletion;
+ volatile OSErr ioResult;
+ StringPtr ioNamePtr;
+ short ioVRefNum;
+ unsigned long ioXVersion; /* this XVolumeParam version (0) */
+ short ioVolIndex;
+ unsigned long ioVCrDate;
+ unsigned long ioVLsMod;
+ short ioVAtrb;
+ unsigned short ioVNmFls;
+ unsigned short ioVBitMap;
+ unsigned short ioAllocPtr;
+ unsigned short ioVNmAlBlks;
+ unsigned long ioVAlBlkSiz;
+ unsigned long ioVClpSiz;
+ unsigned short ioAlBlSt;
+ unsigned long ioVNxtCNID;
+ unsigned short ioVFrBlk;
+ unsigned short ioVSigWord;
+ short ioVDrvInfo;
+ short ioVDRefNum;
+ short ioVFSID;
+ unsigned long ioVBkUp;
+ short ioVSeqNum;
+ unsigned long ioVWrCnt;
+ unsigned long ioVFilCnt;
+ unsigned long ioVDirCnt;
+ long ioVFndrInfo[8];
+ UInt64 ioVTotalBytes; /* total number of bytes on volume */
+ UInt64 ioVFreeBytes; /* number of free bytes on volume */
+};
+typedef struct XVolumeParam XVolumeParam;
+typedef XVolumeParam * XVolumeParamPtr;
+struct AccessParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short filler3;
+ short ioDenyModes; /*access rights data*/
+ short filler4;
+ SInt8 filler5;
+ SInt8 ioACUser; /*access rights for directory only*/
+ long filler6;
+ long ioACOwnerID; /*owner ID*/
+ long ioACGroupID; /*group ID*/
+ long ioACAccess; /*access rights*/
+ long ioDirID;
+};
+typedef struct AccessParam AccessParam;
+typedef AccessParam * AccessParamPtr;
+struct ObjParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short filler7;
+ short ioObjType; /*function code*/
+ StringPtr ioObjNamePtr; /*ptr to returned creator/group name*/
+ long ioObjID; /*creator/group ID*/
+};
+typedef struct ObjParam ObjParam;
+typedef ObjParam * ObjParamPtr;
+struct CopyParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioDstVRefNum; /*destination vol identifier*/
+ short filler8;
+ StringPtr ioNewName; /*ptr to destination pathname*/
+ StringPtr ioCopyName; /*ptr to optional name*/
+ long ioNewDirID; /*destination directory ID*/
+ long filler14;
+ long filler15;
+ long ioDirID;
+};
+typedef struct CopyParam CopyParam;
+typedef CopyParam * CopyParamPtr;
+struct WDParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ short ioWDCreated;
+ short ioWDIndex;
+ long ioWDProcID;
+ short ioWDVRefNum;
+ short filler10;
+ long filler11;
+ long filler12;
+ long filler13;
+ long ioWDDirID;
+};
+typedef struct WDParam WDParam;
+typedef WDParam * WDParamPtr;
+struct FIDParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ long filler14;
+ StringPtr ioDestNamePtr; /* dest file name */
+ long filler15;
+ long ioDestDirID; /* dest file's directory id */
+ long filler16;
+ long filler17;
+ long ioSrcDirID; /* source file's directory id */
+ short filler18;
+ long ioFileID; /* file ID */
+};
+typedef struct FIDParam FIDParam;
+typedef FIDParam * FIDParamPtr;
+struct ForeignPrivParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ long ioFiller21;
+ long ioFiller22;
+ Ptr ioForeignPrivBuffer;
+ long ioForeignPrivActCount;
+ long ioForeignPrivReqCount;
+ long ioFiller23;
+ long ioForeignPrivDirID;
+ long ioForeignPrivInfo1;
+ long ioForeignPrivInfo2;
+ long ioForeignPrivInfo3;
+ long ioForeignPrivInfo4;
+};
+typedef struct ForeignPrivParam ForeignPrivParam;
+typedef ForeignPrivParam * ForeignPrivParamPtr;
+struct CSParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+ FSSpecPtr ioMatchPtr; /* match array */
+ long ioReqMatchCount; /* maximum allowable matches */
+ long ioActMatchCount; /* actual match count */
+ long ioSearchBits; /* search criteria selector */
+ CInfoPBPtr ioSearchInfo1; /* search values and range lower bounds */
+ CInfoPBPtr ioSearchInfo2; /* search values and range upper bounds */
+ long ioSearchTime; /* length of time to run search */
+ CatPositionRec ioCatPosition; /* current position in the catalog */
+ Ptr ioOptBuffer; /* optional performance enhancement buffer */
+ long ioOptBufSize; /* size of buffer pointed to by ioOptBuffer */
+};
+typedef struct CSParam CSParam;
+typedef CSParam * CSParamPtr;
+union HParamBlockRec {
+ HIOParam ioParam;
+ HFileParam fileParam;
+ HVolumeParam volumeParam;
+ AccessParam accessParam;
+ ObjParam objParam;
+ CopyParam copyParam;
+ WDParam wdParam;
+ FIDParam fidParam;
+ CSParam csParam;
+ ForeignPrivParam foreignPrivParam;
+};
+typedef union HParamBlockRec HParamBlockRec;
+
+
+typedef HParamBlockRec * HParmBlkPtr;
+
+struct CMovePBRec {
+ QElemPtr qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ IOCompletionUPP ioCompletion;
+ volatile OSErr ioResult;
+ StringPtr ioNamePtr;
+ short ioVRefNum;
+ long filler1;
+ StringPtr ioNewName;
+ long filler2;
+ long ioNewDirID;
+ long filler3[2];
+ long ioDirID;
+};
+typedef struct CMovePBRec CMovePBRec;
+typedef CMovePBRec * CMovePBPtr;
+struct WDPBRec {
+ QElemPtr qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ IOCompletionUPP ioCompletion;
+ volatile OSErr ioResult;
+ StringPtr ioNamePtr;
+ short ioVRefNum;
+ short filler1;
+ short ioWDIndex;
+ long ioWDProcID;
+ short ioWDVRefNum;
+ short filler2[7];
+ long ioWDDirID;
+};
+typedef struct WDPBRec WDPBRec;
+typedef WDPBRec * WDPBPtr;
+struct FCBPBRec {
+ QElemPtr qLink;
+ short qType;
+ short ioTrap;
+ Ptr ioCmdAddr;
+ IOCompletionUPP ioCompletion;
+ volatile OSErr ioResult;
+ StringPtr ioNamePtr;
+ short ioVRefNum;
+ short ioRefNum;
+ short filler;
+ short ioFCBIndx;
+ short filler1;
+ long ioFCBFlNm;
+ short ioFCBFlags;
+ unsigned short ioFCBStBlk;
+ long ioFCBEOF;
+ long ioFCBPLen;
+ long ioFCBCrPs;
+ short ioFCBVRefNum;
+ long ioFCBClpSiz;
+ long ioFCBParID;
+};
+typedef struct FCBPBRec FCBPBRec;
+typedef FCBPBRec * FCBPBPtr;
+struct VCB {
+ QElemPtr qLink;
+ short qType;
+ short vcbFlags;
+ unsigned short vcbSigWord;
+ unsigned long vcbCrDate;
+ unsigned long vcbLsMod;
+ short vcbAtrb;
+ unsigned short vcbNmFls;
+ short vcbVBMSt;
+ short vcbAllocPtr;
+ unsigned short vcbNmAlBlks;
+ long vcbAlBlkSiz;
+ long vcbClpSiz;
+ short vcbAlBlSt;
+ long vcbNxtCNID;
+ unsigned short vcbFreeBks;
+ Str27 vcbVN;
+ short vcbDrvNum;
+ short vcbDRefNum;
+ short vcbFSID;
+ short vcbVRefNum;
+ Ptr vcbMAdr;
+ Ptr vcbBufAdr;
+ short vcbMLen;
+ short vcbDirIndex;
+ short vcbDirBlk;
+ unsigned long vcbVolBkUp;
+ unsigned short vcbVSeqNum;
+ long vcbWrCnt;
+ long vcbXTClpSiz;
+ long vcbCTClpSiz;
+ unsigned short vcbNmRtDirs;
+ long vcbFilCnt;
+ long vcbDirCnt;
+ long vcbFndrInfo[8];
+ unsigned short vcbVCSize;
+ unsigned short vcbVBMCSiz;
+ unsigned short vcbCtlCSiz;
+ unsigned short vcbXTAlBlks;
+ unsigned short vcbCTAlBlks;
+ short vcbXTRef;
+ short vcbCTRef;
+ Ptr vcbCtlBuf;
+ long vcbDirIDM;
+ short vcbOffsM;
+};
+typedef struct VCB VCB;
+typedef VCB * VCBPtr;
+struct DrvQEl {
+ QElemPtr qLink;
+ short qType;
+ short dQDrive;
+ short dQRefNum;
+ short dQFSID;
+ unsigned short dQDrvSz;
+ unsigned short dQDrvSz2;
+};
+typedef struct DrvQEl DrvQEl;
+typedef DrvQEl * DrvQElPtr;
+/*
+ * NewIOCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( IOCompletionUPP )
+NewIOCompletionUPP(IOCompletionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppIOCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(IOCompletionUPP) NewIOCompletionUPP(IOCompletionProcPtr userRoutine)
- {
- return (IOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewIOCompletionUPP(userRoutine) (IOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppIOCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(IOCompletionUPP) NewIOCompletionUPP(IOCompletionProcPtr userRoutine) { return (IOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewIOCompletionUPP(userRoutine) (IOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeIOCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeIOCompletionUPP(IOCompletionUPP userUPP);
+/*
+ * DisposeIOCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeIOCompletionUPP(IOCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeIOCompletionUPP(IOCompletionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeIOCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeIOCompletionUPP(IOCompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeIOCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeIOCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * InvokeIOCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeIOCompletionUPP(__A0, __A1)
#endif
- EXTERN_API_C(void)
- InvokeIOCompletionUPP(
- ParmBlkPtr paramBlock,
- IOCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( void )
+InvokeIOCompletionUPP(
+ ParmBlkPtr paramBlock,
+ IOCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeIOCompletionUPP(ParmBlkPtr paramBlock, IOCompletionUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppIOCompletionProcInfo, paramBlock);
- }
-#else
-#define InvokeIOCompletionUPP(paramBlock, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppIOCompletionProcInfo, (paramBlock))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeIOCompletionUPP(ParmBlkPtr paramBlock, IOCompletionUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppIOCompletionProcInfo, paramBlock); }
+ #else
+ #define InvokeIOCompletionUPP(paramBlock, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppIOCompletionProcInfo, (paramBlock))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewIOCompletionProc(userRoutine) NewIOCompletionUPP(userRoutine)
-#define CallIOCompletionProc(userRoutine, paramBlock) InvokeIOCompletionUPP(paramBlock, userRoutine)
+ #define NewIOCompletionProc(userRoutine) NewIOCompletionUPP(userRoutine)
+ #define CallIOCompletionProc(userRoutine, paramBlock) InvokeIOCompletionUPP(paramBlock, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- PBOpenSync(), PBOpenAsync(), PBOpenImmed() were moved to Devices.h
- PBCloseSync(), PBCloseAsync(), PBCloseImmed() were moved to Devices.h
- PBReadSync(), PBReadAsync(), PBReadImmed() were moved to Devices.h
- PBWriteSync(), PBWriteAsync(), PBWriteImmed() were moved to Devices.h
- */
+/*
+ PBOpenSync(), PBOpenAsync(), PBOpenImmed() were moved to Devices.h
+ PBCloseSync(), PBCloseAsync(), PBCloseImmed() were moved to Devices.h
+ PBReadSync(), PBReadAsync(), PBReadImmed() were moved to Devices.h
+ PBWriteSync(), PBWriteAsync(), PBWriteImmed() were moved to Devices.h
+*/
#if CALL_NOT_IN_CARBON
- /*
- * PBGetVInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetVInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetVInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetVInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA007);
+EXTERN_API( OSErr ) PBGetVInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA007);
- /*
- * PBGetVInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetVInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetVInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetVInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA407);
+EXTERN_API( OSErr ) PBGetVInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA407);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBXGetVolInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBXGetVolInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBXGetVolInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBXGetVolInfoSync(XVolumeParamPtr paramBlock) TWOWORDINLINE(0x7012, 0xA060);
+EXTERN_API( OSErr ) PBXGetVolInfoSync(XVolumeParamPtr paramBlock) TWOWORDINLINE(0x7012, 0xA060);
- /*
- * PBXGetVolInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBXGetVolInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBXGetVolInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBXGetVolInfoAsync(XVolumeParamPtr paramBlock) TWOWORDINLINE(0x7012, 0xA460);
+EXTERN_API( OSErr ) PBXGetVolInfoAsync(XVolumeParamPtr paramBlock) TWOWORDINLINE(0x7012, 0xA460);
#if CALL_NOT_IN_CARBON
- /*
- * PBGetVolSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetVolSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetVolSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA014);
+EXTERN_API( OSErr ) PBGetVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA014);
- /*
- * PBGetVolAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetVolAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetVolAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA414);
+EXTERN_API( OSErr ) PBGetVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA414);
- /*
- * PBSetVolSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetVolSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetVolSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA015);
+EXTERN_API( OSErr ) PBSetVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA015);
- /*
- * PBSetVolAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetVolAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetVolAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA415);
+EXTERN_API( OSErr ) PBSetVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA415);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBFlushVolSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBFlushVolSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBFlushVolSync(__A0)
#endif
- EXTERN_API(OSErr) PBFlushVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA013);
+EXTERN_API( OSErr ) PBFlushVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA013);
- /*
- * PBFlushVolAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBFlushVolAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBFlushVolAsync(__A0)
#endif
- EXTERN_API(OSErr) PBFlushVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA413);
+EXTERN_API( OSErr ) PBFlushVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA413);
#if CALL_NOT_IN_CARBON
- /*
- * PBHTrashVolumeCachesSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBHTrashVolumeCachesSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHTrashVolumeCachesSync(__A0)
#endif
- EXTERN_API(OSErr) PBHTrashVolumeCachesSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA213);
+EXTERN_API( OSErr ) PBHTrashVolumeCachesSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA213);
- /*
- * PBCreateSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBCreateSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCreateSync(__A0)
#endif
- EXTERN_API(OSErr) PBCreateSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA008);
+EXTERN_API( OSErr ) PBCreateSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA008);
- /*
- * PBCreateAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBCreateAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCreateAsync(__A0)
#endif
- EXTERN_API(OSErr) PBCreateAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA408);
+EXTERN_API( OSErr ) PBCreateAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA408);
- /*
- * PBDeleteSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBDeleteSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDeleteSync(__A0)
#endif
- EXTERN_API(OSErr) PBDeleteSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA009);
+EXTERN_API( OSErr ) PBDeleteSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA009);
- /*
- * PBDeleteAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBDeleteAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDeleteAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDeleteAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA409);
+EXTERN_API( OSErr ) PBDeleteAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA409);
- /*
- * PBOpenDFSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBOpenDFSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenDFSync(__A0)
#endif
- EXTERN_API(OSErr) PBOpenDFSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA060);
+EXTERN_API( OSErr ) PBOpenDFSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA060);
- /*
- * PBOpenDFAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBOpenDFAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenDFAsync(__A0)
#endif
- EXTERN_API(OSErr) PBOpenDFAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA460);
+EXTERN_API( OSErr ) PBOpenDFAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA460);
- /*
- * PBOpenRFSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBOpenRFSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenRFSync(__A0)
#endif
- EXTERN_API(OSErr) PBOpenRFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00A);
+EXTERN_API( OSErr ) PBOpenRFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00A);
- /*
- * PBOpenRFAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBOpenRFAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenRFAsync(__A0)
#endif
- EXTERN_API(OSErr) PBOpenRFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40A);
+EXTERN_API( OSErr ) PBOpenRFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40A);
- /*
- * PBRenameSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBRenameSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBRenameSync(__A0)
#endif
- EXTERN_API(OSErr) PBRenameSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00B);
+EXTERN_API( OSErr ) PBRenameSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00B);
- /*
- * PBRenameAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBRenameAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBRenameAsync(__A0)
#endif
- EXTERN_API(OSErr) PBRenameAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40B);
+EXTERN_API( OSErr ) PBRenameAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40B);
- /*
- * PBGetFInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetFInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetFInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetFInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00C);
+EXTERN_API( OSErr ) PBGetFInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00C);
- /*
- * PBGetFInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetFInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetFInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetFInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40C);
+EXTERN_API( OSErr ) PBGetFInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40C);
- /*
- * PBSetFInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetFInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetFInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetFInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00D);
+EXTERN_API( OSErr ) PBSetFInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00D);
- /*
- * PBSetFInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetFInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetFInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetFInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40D);
+EXTERN_API( OSErr ) PBSetFInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40D);
- /*
- * PBSetFLockSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetFLockSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetFLockSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetFLockSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA041);
+EXTERN_API( OSErr ) PBSetFLockSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA041);
- /*
- * PBSetFLockAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetFLockAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetFLockAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetFLockAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA441);
+EXTERN_API( OSErr ) PBSetFLockAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA441);
- /*
- * PBRstFLockSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBRstFLockSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBRstFLockSync(__A0)
#endif
- EXTERN_API(OSErr) PBRstFLockSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA042);
+EXTERN_API( OSErr ) PBRstFLockSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA042);
- /*
- * PBRstFLockAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBRstFLockAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBRstFLockAsync(__A0)
#endif
- EXTERN_API(OSErr) PBRstFLockAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA442);
+EXTERN_API( OSErr ) PBRstFLockAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA442);
- /*
- * PBSetFVersSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetFVersSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetFVersSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetFVersSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA043);
+EXTERN_API( OSErr ) PBSetFVersSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA043);
- /*
- * PBSetFVersAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetFVersAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetFVersAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetFVersAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA443);
+EXTERN_API( OSErr ) PBSetFVersAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA443);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBAllocateSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBAllocateSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBAllocateSync(__A0)
#endif
- EXTERN_API(OSErr) PBAllocateSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA010);
+EXTERN_API( OSErr ) PBAllocateSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA010);
- /*
- * PBAllocateAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBAllocateAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBAllocateAsync(__A0)
#endif
- EXTERN_API(OSErr) PBAllocateAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA410);
+EXTERN_API( OSErr ) PBAllocateAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA410);
- /*
- * PBGetEOFSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetEOFSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetEOFSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetEOFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA011);
+EXTERN_API( OSErr ) PBGetEOFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA011);
- /*
- * PBGetEOFAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetEOFAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetEOFAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetEOFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA411);
+EXTERN_API( OSErr ) PBGetEOFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA411);
- /*
- * PBSetEOFSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetEOFSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetEOFSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetEOFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA012);
+EXTERN_API( OSErr ) PBSetEOFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA012);
- /*
- * PBSetEOFAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetEOFAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetEOFAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetEOFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA412);
+EXTERN_API( OSErr ) PBSetEOFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA412);
- /*
- * PBGetFPosSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetFPosSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetFPosSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetFPosSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA018);
+EXTERN_API( OSErr ) PBGetFPosSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA018);
- /*
- * PBGetFPosAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetFPosAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetFPosAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetFPosAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA418);
+EXTERN_API( OSErr ) PBGetFPosAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA418);
- /*
- * PBSetFPosSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetFPosSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetFPosSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetFPosSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA044);
+EXTERN_API( OSErr ) PBSetFPosSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA044);
- /*
- * PBSetFPosAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetFPosAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetFPosAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetFPosAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA444);
+EXTERN_API( OSErr ) PBSetFPosAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA444);
- /*
- * PBFlushFileSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBFlushFileSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBFlushFileSync(__A0)
#endif
- EXTERN_API(OSErr) PBFlushFileSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA045);
+EXTERN_API( OSErr ) PBFlushFileSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA045);
- /*
- * PBFlushFileAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBFlushFileAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBFlushFileAsync(__A0)
#endif
- EXTERN_API(OSErr) PBFlushFileAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA445);
+EXTERN_API( OSErr ) PBFlushFileAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA445);
#if CALL_NOT_IN_CARBON
- /*
- * PBMountVol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBMountVol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBMountVol(__A0)
#endif
- EXTERN_API(OSErr) PBMountVol(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00F);
+EXTERN_API( OSErr ) PBMountVol(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00F);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBUnmountVol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBUnmountVol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBUnmountVol(__A0)
#endif
- EXTERN_API(OSErr) PBUnmountVol(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00E);
+EXTERN_API( OSErr ) PBUnmountVol(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00E);
#if CALL_NOT_IN_CARBON
- /*
- * PBUnmountVolImmed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBUnmountVolImmed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBUnmountVolImmed(__A0)
#endif
- EXTERN_API(OSErr) PBUnmountVolImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA20E);
+EXTERN_API( OSErr ) PBUnmountVolImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA20E);
- /*
- * PBEject()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBEject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBEject(__A0)
#endif
- EXTERN_API(OSErr) PBEject(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA017);
+EXTERN_API( OSErr ) PBEject(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA017);
- /*
- * PBOffLine()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBOffLine()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOffLine(__A0)
#endif
- EXTERN_API(OSErr) PBOffLine(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA035);
+EXTERN_API( OSErr ) PBOffLine(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA035);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBCatSearchSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCatSearchSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCatSearchSync(__A0)
#endif
- EXTERN_API(OSErr) PBCatSearchSync(CSParamPtr paramBlock) TWOWORDINLINE(0x7018, 0xA260);
+EXTERN_API( OSErr ) PBCatSearchSync(CSParamPtr paramBlock) TWOWORDINLINE(0x7018, 0xA260);
- /*
- * PBCatSearchAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCatSearchAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCatSearchAsync(__A0)
#endif
- EXTERN_API(OSErr) PBCatSearchAsync(CSParamPtr paramBlock) TWOWORDINLINE(0x7018, 0xA660);
+EXTERN_API( OSErr ) PBCatSearchAsync(CSParamPtr paramBlock) TWOWORDINLINE(0x7018, 0xA660);
#if CALL_NOT_IN_CARBON
- /*
- * SetVol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SetVol(
- ConstStr63Param volName, /* can be NULL */
- short vRefNum);
+/*
+ * SetVol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SetVol(
+ ConstStr63Param volName, /* can be NULL */
+ short vRefNum);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * UnmountVol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UnmountVol(
- ConstStr63Param volName, /* can be NULL */
- short vRefNum);
+/*
+ * UnmountVol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UnmountVol(
+ ConstStr63Param volName, /* can be NULL */
+ short vRefNum);
#if CALL_NOT_IN_CARBON
- /*
- * Eject()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- Eject(
- ConstStr63Param volName, /* can be NULL */
- short vRefNum);
+/*
+ * Eject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+Eject(
+ ConstStr63Param volName, /* can be NULL */
+ short vRefNum);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * FlushVol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FlushVol(
- ConstStr63Param volName, /* can be NULL */
- short vRefNum);
-
-
- /*
- * HSetVol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HSetVol(
- ConstStr63Param volName, /* can be NULL */
- short vRefNum,
- long dirID);
-
-
- /* AddDrive() was moved to Devices.h*/
+/*
+ * FlushVol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FlushVol(
+ ConstStr63Param volName, /* can be NULL */
+ short vRefNum);
+
+
+/*
+ * HSetVol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HSetVol(
+ ConstStr63Param volName, /* can be NULL */
+ short vRefNum,
+ long dirID);
+
+
+/* AddDrive() was moved to Devices.h*/
#if CALL_NOT_IN_CARBON
- /*
- * FSOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- FSOpen(
- ConstStr255Param fileName,
- short vRefNum,
- short * refNum);
-
-
- /*
- * OpenDF()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- OpenDF(
- ConstStr255Param fileName,
- short vRefNum,
- short * refNum);
+/*
+ * FSOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+FSOpen(
+ ConstStr255Param fileName,
+ short vRefNum,
+ short * refNum);
+
+
+/*
+ * OpenDF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+OpenDF(
+ ConstStr255Param fileName,
+ short vRefNum,
+ short * refNum);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * FSClose()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSClose(short refNum);
-
-
- /*
- * FSRead()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSRead(
- short refNum,
- long * count,
- void * buffPtr);
-
-
- /*
- * FSWrite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSWrite(
- short refNum,
- long * count,
- const void * buffPtr);
+/*
+ * FSClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSClose(short refNum);
+
+
+/*
+ * FSRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSRead(
+ short refNum,
+ long * count,
+ void * buffPtr);
+
+
+/*
+ * FSWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSWrite(
+ short refNum,
+ long * count,
+ const void * buffPtr);
#if CALL_NOT_IN_CARBON
- /*
- * GetVInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetVInfo(
- short drvNum,
- StringPtr volName,
- short * vRefNum,
- long * freeBytes);
-
-
- /*
- * GetFInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetFInfo(
- ConstStr255Param fileName,
- short vRefNum,
- FInfo * fndrInfo);
-
-
- /*
- * GetVol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetVol(
- StringPtr volName,
- short * vRefNum);
-
-
- /*
- * Create()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- Create(
- ConstStr255Param fileName,
- short vRefNum,
- OSType creator,
- OSType fileType);
-
-
- /*
- * FSDelete()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- FSDelete(
- ConstStr255Param fileName,
- short vRefNum);
-
-
- /*
- * OpenRF()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- OpenRF(
- ConstStr255Param fileName,
- short vRefNum,
- short * refNum);
-
-
- /*
- * Rename()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- Rename(
- ConstStr255Param oldName,
- short vRefNum,
- ConstStr255Param newName);
-
-
- /*
- * SetFInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SetFInfo(
- ConstStr255Param fileName,
- short vRefNum,
- const FInfo * fndrInfo);
-
-
- /*
- * SetFLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SetFLock(
- ConstStr255Param fileName,
- short vRefNum);
-
-
- /*
- * RstFLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- RstFLock(
- ConstStr255Param fileName,
- short vRefNum);
+/*
+ * GetVInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetVInfo(
+ short drvNum,
+ StringPtr volName,
+ short * vRefNum,
+ long * freeBytes);
+
+
+/*
+ * GetFInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetFInfo(
+ ConstStr255Param fileName,
+ short vRefNum,
+ FInfo * fndrInfo);
+
+
+/*
+ * GetVol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetVol(
+ StringPtr volName,
+ short * vRefNum);
+
+
+/*
+ * Create()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+Create(
+ ConstStr255Param fileName,
+ short vRefNum,
+ OSType creator,
+ OSType fileType);
+
+
+/*
+ * FSDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+FSDelete(
+ ConstStr255Param fileName,
+ short vRefNum);
+
+
+/*
+ * OpenRF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+OpenRF(
+ ConstStr255Param fileName,
+ short vRefNum,
+ short * refNum);
+
+
+/*
+ * Rename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+Rename(
+ ConstStr255Param oldName,
+ short vRefNum,
+ ConstStr255Param newName);
+
+
+/*
+ * SetFInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SetFInfo(
+ ConstStr255Param fileName,
+ short vRefNum,
+ const FInfo * fndrInfo);
+
+
+/*
+ * SetFLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SetFLock(
+ ConstStr255Param fileName,
+ short vRefNum);
+
+
+/*
+ * RstFLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+RstFLock(
+ ConstStr255Param fileName,
+ short vRefNum);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * Allocate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- Allocate(
- short refNum,
- long * count);
-
-
- /*
- * GetEOF()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetEOF(
- short refNum,
- long * logEOF);
-
-
- /*
- * SetEOF()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetEOF(
- short refNum,
- long logEOF);
-
-
- /*
- * GetFPos()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFPos(
- short refNum,
- long * filePos);
-
-
- /*
- * SetFPos()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetFPos(
- short refNum,
- short posMode,
- long posOff);
-
-
- /*
- * GetVRefNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetVRefNum(
- short fileRefNum,
- short * vRefNum);
+/*
+ * Allocate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+Allocate(
+ short refNum,
+ long * count);
+
+
+/*
+ * GetEOF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetEOF(
+ short refNum,
+ long * logEOF);
+
+
+/*
+ * SetEOF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetEOF(
+ short refNum,
+ long logEOF);
+
+
+/*
+ * GetFPos()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFPos(
+ short refNum,
+ long * filePos);
+
+
+/*
+ * SetFPos()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetFPos(
+ short refNum,
+ short posMode,
+ long posOff);
+
+
+/*
+ * GetVRefNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetVRefNum(
+ short fileRefNum,
+ short * vRefNum);
#if CALL_NOT_IN_CARBON
- /*
- * fsopen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- fsopen(
- const char * fileName,
- short vRefNum,
- short * refNum);
-
-
- /*
- * getvinfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- getvinfo(
- short drvNum,
- char * volName,
- short * vRefNum,
- long * freeBytes);
-
-
- /*
- * getfinfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- getfinfo(
- const char * fileName,
- short vRefNum,
- FInfo * fndrInfo);
-
-
- /*
- * getvol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- getvol(
- char * volName,
- short * vRefNum);
-
-
- /*
- * setvol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- setvol(
- const char * volName,
- short vRefNum);
-
-
- /*
- * unmountvol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- unmountvol(
- const char * volName,
- short vRefNum);
-
-
- /*
- * eject()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- eject(
- const char * volName,
- short vRefNum);
-
-
- /*
- * flushvol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- flushvol(
- const char * volName,
- short vRefNum);
-
-
- /*
- * create()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- create(
- const char * fileName,
- short vRefNum,
- OSType creator,
- OSType fileType);
-
-
- /*
- * fsdelete()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- fsdelete(
- const char * fileName,
- short vRefNum);
-
-
- /*
- * openrf()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- openrf(
- const char * fileName,
- short vRefNum,
- short * refNum);
-
-
- /*
- * fsrename()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- fsrename(
- const char * oldName,
- short vRefNum,
- const char * newName);
-
-
- /*
- * setfinfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- setfinfo(
- const char * fileName,
- short vRefNum,
- const FInfo * fndrInfo);
-
-
- /*
- * setflock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- setflock(
- const char * fileName,
- short vRefNum);
-
-
- /*
- * rstflock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- rstflock(
- const char * fileName,
- short vRefNum);
+/*
+ * fsopen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+fsopen(
+ const char * fileName,
+ short vRefNum,
+ short * refNum);
+
+
+/*
+ * getvinfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+getvinfo(
+ short drvNum,
+ char * volName,
+ short * vRefNum,
+ long * freeBytes);
+
+
+/*
+ * getfinfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+getfinfo(
+ const char * fileName,
+ short vRefNum,
+ FInfo * fndrInfo);
+
+
+/*
+ * getvol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+getvol(
+ char * volName,
+ short * vRefNum);
+
+
+/*
+ * setvol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+setvol(
+ const char * volName,
+ short vRefNum);
+
+
+/*
+ * unmountvol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+unmountvol(
+ const char * volName,
+ short vRefNum);
+
+
+/*
+ * eject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+eject(
+ const char * volName,
+ short vRefNum);
+
+
+/*
+ * flushvol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+flushvol(
+ const char * volName,
+ short vRefNum);
+
+
+/*
+ * create()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+create(
+ const char * fileName,
+ short vRefNum,
+ OSType creator,
+ OSType fileType);
+
+
+/*
+ * fsdelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+fsdelete(
+ const char * fileName,
+ short vRefNum);
+
+
+/*
+ * openrf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+openrf(
+ const char * fileName,
+ short vRefNum,
+ short * refNum);
+
+
+/*
+ * fsrename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+fsrename(
+ const char * oldName,
+ short vRefNum,
+ const char * newName);
+
+
+/*
+ * setfinfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+setfinfo(
+ const char * fileName,
+ short vRefNum,
+ const FInfo * fndrInfo);
+
+
+/*
+ * setflock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+setflock(
+ const char * fileName,
+ short vRefNum);
+
+
+/*
+ * rstflock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+rstflock(
+ const char * fileName,
+ short vRefNum);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * PBOpenWDSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBOpenWDSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenWDSync(__A0)
#endif
- EXTERN_API(OSErr) PBOpenWDSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7001, 0xA260);
+EXTERN_API( OSErr ) PBOpenWDSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7001, 0xA260);
- /*
- * PBOpenWDAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBOpenWDAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenWDAsync(__A0)
#endif
- EXTERN_API(OSErr) PBOpenWDAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7001, 0xA660);
+EXTERN_API( OSErr ) PBOpenWDAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7001, 0xA660);
- /*
- * PBCloseWDSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBCloseWDSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCloseWDSync(__A0)
#endif
- EXTERN_API(OSErr) PBCloseWDSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7002, 0xA260);
+EXTERN_API( OSErr ) PBCloseWDSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7002, 0xA260);
- /*
- * PBCloseWDAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBCloseWDAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCloseWDAsync(__A0)
#endif
- EXTERN_API(OSErr) PBCloseWDAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7002, 0xA660);
+EXTERN_API( OSErr ) PBCloseWDAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7002, 0xA660);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBHSetVolSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHSetVolSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHSetVolSync(__A0)
#endif
- EXTERN_API(OSErr) PBHSetVolSync(WDPBPtr paramBlock) ONEWORDINLINE(0xA215);
+EXTERN_API( OSErr ) PBHSetVolSync(WDPBPtr paramBlock) ONEWORDINLINE(0xA215);
- /*
- * PBHSetVolAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHSetVolAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHSetVolAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHSetVolAsync(WDPBPtr paramBlock) ONEWORDINLINE(0xA615);
+EXTERN_API( OSErr ) PBHSetVolAsync(WDPBPtr paramBlock) ONEWORDINLINE(0xA615);
- /*
- * PBHGetVolSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetVolSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetVolSync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetVolSync(WDPBPtr paramBlock) ONEWORDINLINE(0xA214);
+EXTERN_API( OSErr ) PBHGetVolSync(WDPBPtr paramBlock) ONEWORDINLINE(0xA214);
- /*
- * PBHGetVolAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetVolAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetVolAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetVolAsync(WDPBPtr paramBlock) ONEWORDINLINE(0xA614);
+EXTERN_API( OSErr ) PBHGetVolAsync(WDPBPtr paramBlock) ONEWORDINLINE(0xA614);
- /*
- * PBCatMoveSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCatMoveSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCatMoveSync(__A0)
#endif
- EXTERN_API(OSErr) PBCatMoveSync(CMovePBPtr paramBlock) TWOWORDINLINE(0x7005, 0xA260);
+EXTERN_API( OSErr ) PBCatMoveSync(CMovePBPtr paramBlock) TWOWORDINLINE(0x7005, 0xA260);
- /*
- * PBCatMoveAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCatMoveAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCatMoveAsync(__A0)
#endif
- EXTERN_API(OSErr) PBCatMoveAsync(CMovePBPtr paramBlock) TWOWORDINLINE(0x7005, 0xA660);
+EXTERN_API( OSErr ) PBCatMoveAsync(CMovePBPtr paramBlock) TWOWORDINLINE(0x7005, 0xA660);
- /*
- * PBDirCreateSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDirCreateSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDirCreateSync(__A0)
#endif
- EXTERN_API(OSErr) PBDirCreateSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7006, 0xA260);
+EXTERN_API( OSErr ) PBDirCreateSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7006, 0xA260);
- /*
- * PBDirCreateAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDirCreateAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDirCreateAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDirCreateAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7006, 0xA660);
+EXTERN_API( OSErr ) PBDirCreateAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7006, 0xA660);
#if CALL_NOT_IN_CARBON
- /*
- * PBGetWDInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetWDInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetWDInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetWDInfoSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7007, 0xA260);
+EXTERN_API( OSErr ) PBGetWDInfoSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7007, 0xA260);
- /*
- * PBGetWDInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetWDInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetWDInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetWDInfoAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7007, 0xA660);
+EXTERN_API( OSErr ) PBGetWDInfoAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7007, 0xA660);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBGetFCBInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetFCBInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetFCBInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetFCBInfoSync(FCBPBPtr paramBlock) TWOWORDINLINE(0x7008, 0xA260);
+EXTERN_API( OSErr ) PBGetFCBInfoSync(FCBPBPtr paramBlock) TWOWORDINLINE(0x7008, 0xA260);
- /*
- * PBGetFCBInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetFCBInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetFCBInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetFCBInfoAsync(FCBPBPtr paramBlock) TWOWORDINLINE(0x7008, 0xA660);
+EXTERN_API( OSErr ) PBGetFCBInfoAsync(FCBPBPtr paramBlock) TWOWORDINLINE(0x7008, 0xA660);
- /*
- * PBGetCatInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetCatInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetCatInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetCatInfoSync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x7009, 0xA260);
+EXTERN_API( OSErr ) PBGetCatInfoSync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x7009, 0xA260);
- /*
- * PBGetCatInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetCatInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetCatInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetCatInfoAsync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x7009, 0xA660);
+EXTERN_API( OSErr ) PBGetCatInfoAsync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x7009, 0xA660);
- /*
- * PBSetCatInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetCatInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetCatInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetCatInfoSync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x700A, 0xA260);
+EXTERN_API( OSErr ) PBSetCatInfoSync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x700A, 0xA260);
- /*
- * PBSetCatInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetCatInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetCatInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetCatInfoAsync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x700A, 0xA660);
+EXTERN_API( OSErr ) PBSetCatInfoAsync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x700A, 0xA660);
- /*
- * PBAllocContigSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBAllocContigSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBAllocContigSync(__A0)
#endif
- EXTERN_API(OSErr) PBAllocContigSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA210);
+EXTERN_API( OSErr ) PBAllocContigSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA210);
- /*
- * PBAllocContigAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBAllocContigAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBAllocContigAsync(__A0)
#endif
- EXTERN_API(OSErr) PBAllocContigAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA610);
+EXTERN_API( OSErr ) PBAllocContigAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA610);
- /*
- * PBLockRangeSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBLockRangeSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBLockRangeSync(__A0)
#endif
- EXTERN_API(OSErr) PBLockRangeSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7010, 0xA260);
+EXTERN_API( OSErr ) PBLockRangeSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7010, 0xA260);
- /*
- * PBLockRangeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBLockRangeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBLockRangeAsync(__A0)
#endif
- EXTERN_API(OSErr) PBLockRangeAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7010, 0xA660);
+EXTERN_API( OSErr ) PBLockRangeAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7010, 0xA660);
- /*
- * PBUnlockRangeSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBUnlockRangeSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBUnlockRangeSync(__A0)
#endif
- EXTERN_API(OSErr) PBUnlockRangeSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7011, 0xA260);
+EXTERN_API( OSErr ) PBUnlockRangeSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7011, 0xA260);
- /*
- * PBUnlockRangeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBUnlockRangeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBUnlockRangeAsync(__A0)
#endif
- EXTERN_API(OSErr) PBUnlockRangeAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7011, 0xA660);
+EXTERN_API( OSErr ) PBUnlockRangeAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7011, 0xA660);
- /*
- * PBSetVInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetVInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetVInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetVInfoSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x700B, 0xA260);
+EXTERN_API( OSErr ) PBSetVInfoSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x700B, 0xA260);
- /*
- * PBSetVInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetVInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetVInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetVInfoAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x700B, 0xA660);
+EXTERN_API( OSErr ) PBSetVInfoAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x700B, 0xA660);
- /*
- * PBHGetVInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetVInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetVInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetVInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA207);
+EXTERN_API( OSErr ) PBHGetVInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA207);
- /*
- * PBHGetVInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetVInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetVInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetVInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA607);
+EXTERN_API( OSErr ) PBHGetVInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA607);
- /*
- * PBHOpenSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenSync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA200);
+EXTERN_API( OSErr ) PBHOpenSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA200);
- /*
- * PBHOpenAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA600);
+EXTERN_API( OSErr ) PBHOpenAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA600);
- /*
- * PBHOpenRFSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenRFSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenRFSync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenRFSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20A);
+EXTERN_API( OSErr ) PBHOpenRFSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20A);
- /*
- * PBHOpenRFAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenRFAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenRFAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenRFAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60A);
+EXTERN_API( OSErr ) PBHOpenRFAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60A);
- /*
- * PBHOpenDFSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenDFSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenDFSync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenDFSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA260);
+EXTERN_API( OSErr ) PBHOpenDFSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA260);
- /*
- * PBHOpenDFAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenDFAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenDFAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenDFAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA660);
+EXTERN_API( OSErr ) PBHOpenDFAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA660);
- /*
- * PBHCreateSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHCreateSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHCreateSync(__A0)
#endif
- EXTERN_API(OSErr) PBHCreateSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA208);
+EXTERN_API( OSErr ) PBHCreateSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA208);
- /*
- * PBHCreateAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHCreateAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHCreateAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHCreateAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA608);
+EXTERN_API( OSErr ) PBHCreateAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA608);
- /*
- * PBHDeleteSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHDeleteSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHDeleteSync(__A0)
#endif
- EXTERN_API(OSErr) PBHDeleteSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA209);
+EXTERN_API( OSErr ) PBHDeleteSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA209);
- /*
- * PBHDeleteAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHDeleteAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHDeleteAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHDeleteAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA609);
+EXTERN_API( OSErr ) PBHDeleteAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA609);
- /*
- * PBHRenameSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHRenameSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHRenameSync(__A0)
#endif
- EXTERN_API(OSErr) PBHRenameSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20B);
+EXTERN_API( OSErr ) PBHRenameSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20B);
- /*
- * PBHRenameAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHRenameAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHRenameAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHRenameAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60B);
+EXTERN_API( OSErr ) PBHRenameAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60B);
- /*
- * PBHRstFLockSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHRstFLockSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHRstFLockSync(__A0)
#endif
- EXTERN_API(OSErr) PBHRstFLockSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA242);
+EXTERN_API( OSErr ) PBHRstFLockSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA242);
- /*
- * PBHRstFLockAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHRstFLockAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHRstFLockAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHRstFLockAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA642);
+EXTERN_API( OSErr ) PBHRstFLockAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA642);
- /*
- * PBHSetFLockSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHSetFLockSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHSetFLockSync(__A0)
#endif
- EXTERN_API(OSErr) PBHSetFLockSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA241);
+EXTERN_API( OSErr ) PBHSetFLockSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA241);
- /*
- * PBHSetFLockAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHSetFLockAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHSetFLockAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHSetFLockAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA641);
+EXTERN_API( OSErr ) PBHSetFLockAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA641);
- /*
- * PBHGetFInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetFInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetFInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetFInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20C);
+EXTERN_API( OSErr ) PBHGetFInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20C);
- /*
- * PBHGetFInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetFInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetFInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetFInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60C);
+EXTERN_API( OSErr ) PBHGetFInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60C);
- /*
- * PBHSetFInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHSetFInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHSetFInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBHSetFInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20D);
+EXTERN_API( OSErr ) PBHSetFInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20D);
- /*
- * PBHSetFInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHSetFInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHSetFInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHSetFInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60D);
+EXTERN_API( OSErr ) PBHSetFInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60D);
- /*
- * PBMakeFSSpecSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBMakeFSSpecSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBMakeFSSpecSync(__A0)
#endif
- EXTERN_API(OSErr) PBMakeFSSpecSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701B, 0xA260);
+EXTERN_API( OSErr ) PBMakeFSSpecSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701B, 0xA260);
- /*
- * PBMakeFSSpecAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBMakeFSSpecAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBMakeFSSpecAsync(__A0)
#endif
- EXTERN_API(OSErr) PBMakeFSSpecAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701B, 0xA660);
+EXTERN_API( OSErr ) PBMakeFSSpecAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701B, 0xA660);
#if CALL_NOT_IN_CARBON
- /*
- * FInitQueue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) FInitQueue(void) ONEWORDINLINE(0xA016);
+/*
+ * FInitQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) FInitQueue(void) ONEWORDINLINE(0xA016);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * GetFSQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr)
- GetFSQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x0360);
-
-
- /*
- * GetVCBQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr)
- GetVCBQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x0356);
-
-
- /* GetDrvQHdr was moved to Devices.h*/
+/*
+ * GetFSQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr )
+GetFSQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x0360);
+
+
+/*
+ * GetVCBQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr )
+GetVCBQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x0356);
+
+
+/* GetDrvQHdr was moved to Devices.h*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * HGetVol()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HGetVol(
- StringPtr volName,
- short * vRefNum,
- long * dirID);
-
-
- /*
- * HOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HOpen(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName,
- SInt8 permission,
- short * refNum);
-
-
- /*
- * HOpenDF()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HOpenDF(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName,
- SInt8 permission,
- short * refNum);
-
-
- /*
- * HOpenRF()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HOpenRF(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName,
- SInt8 permission,
- short * refNum);
-
-
- /*
- * AllocContig()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AllocContig(
- short refNum,
- long * count);
-
-
- /*
- * HCreate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HCreate(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName,
- OSType creator,
- OSType fileType);
-
-
- /*
- * DirCreate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DirCreate(
- short vRefNum,
- long parentDirID,
- ConstStr255Param directoryName,
- long * createdDirID);
-
-
- /*
- * HDelete()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HDelete(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName);
-
-
- /*
- * HGetFInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HGetFInfo(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName,
- FInfo * fndrInfo);
-
-
- /*
- * HSetFInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HSetFInfo(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName,
- const FInfo * fndrInfo);
-
-
- /*
- * HSetFLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HSetFLock(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName);
-
-
- /*
- * HRstFLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HRstFLock(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName);
-
-
- /*
- * HRename()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HRename(
- short vRefNum,
- long dirID,
- ConstStr255Param oldName,
- ConstStr255Param newName);
-
-
- /*
- * CatMove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CatMove(
- short vRefNum,
- long dirID,
- ConstStr255Param oldName,
- long newDirID,
- ConstStr255Param newName);
+/*
+ * HGetVol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HGetVol(
+ StringPtr volName,
+ short * vRefNum,
+ long * dirID);
+
+
+/*
+ * HOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HOpen(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName,
+ SInt8 permission,
+ short * refNum);
+
+
+/*
+ * HOpenDF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HOpenDF(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName,
+ SInt8 permission,
+ short * refNum);
+
+
+/*
+ * HOpenRF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HOpenRF(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName,
+ SInt8 permission,
+ short * refNum);
+
+
+/*
+ * AllocContig()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AllocContig(
+ short refNum,
+ long * count);
+
+
+/*
+ * HCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HCreate(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName,
+ OSType creator,
+ OSType fileType);
+
+
+/*
+ * DirCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DirCreate(
+ short vRefNum,
+ long parentDirID,
+ ConstStr255Param directoryName,
+ long * createdDirID);
+
+
+/*
+ * HDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HDelete(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName);
+
+
+/*
+ * HGetFInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HGetFInfo(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName,
+ FInfo * fndrInfo);
+
+
+/*
+ * HSetFInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HSetFInfo(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName,
+ const FInfo * fndrInfo);
+
+
+/*
+ * HSetFLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HSetFLock(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName);
+
+
+/*
+ * HRstFLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HRstFLock(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName);
+
+
+/*
+ * HRename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HRename(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param oldName,
+ ConstStr255Param newName);
+
+
+/*
+ * CatMove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CatMove(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param oldName,
+ long newDirID,
+ ConstStr255Param newName);
#if CALL_NOT_IN_CARBON
- /*
- * OpenWD()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- OpenWD(
- short vRefNum,
- long dirID,
- long procID,
- short * wdRefNum);
-
-
- /*
- * CloseWD()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CloseWD(short wdRefNum);
-
-
- /*
- * GetWDInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetWDInfo(
- short wdRefNum,
- short * vRefNum,
- long * dirID,
- long * procID);
-
-
- /* shared environment */
+/*
+ * OpenWD()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+OpenWD(
+ short vRefNum,
+ long dirID,
+ long procID,
+ short * wdRefNum);
+
+
+/*
+ * CloseWD()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CloseWD(short wdRefNum);
+
+
+/*
+ * GetWDInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetWDInfo(
+ short wdRefNum,
+ short * vRefNum,
+ long * dirID,
+ long * procID);
+
+
+/* shared environment */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PBHGetVolParmsSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetVolParmsSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetVolParmsSync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetVolParmsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7030, 0xA260);
+EXTERN_API( OSErr ) PBHGetVolParmsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7030, 0xA260);
- /*
- * PBHGetVolParmsAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetVolParmsAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetVolParmsAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetVolParmsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7030, 0xA660);
+EXTERN_API( OSErr ) PBHGetVolParmsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7030, 0xA660);
- /*
- * PBHGetLogInInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetLogInInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetLogInInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetLogInInfoSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7031, 0xA260);
+EXTERN_API( OSErr ) PBHGetLogInInfoSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7031, 0xA260);
- /*
- * PBHGetLogInInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetLogInInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetLogInInfoAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7031, 0xA660);
+EXTERN_API( OSErr ) PBHGetLogInInfoAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7031, 0xA660);
- /*
- * PBHGetDirAccessSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetDirAccessSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetDirAccessSync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetDirAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7032, 0xA260);
+EXTERN_API( OSErr ) PBHGetDirAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7032, 0xA260);
- /*
- * PBHGetDirAccessAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHGetDirAccessAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHGetDirAccessAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHGetDirAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7032, 0xA660);
+EXTERN_API( OSErr ) PBHGetDirAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7032, 0xA660);
- /*
- * PBHSetDirAccessSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHSetDirAccessSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHSetDirAccessSync(__A0)
#endif
- EXTERN_API(OSErr) PBHSetDirAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7033, 0xA260);
+EXTERN_API( OSErr ) PBHSetDirAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7033, 0xA260);
- /*
- * PBHSetDirAccessAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHSetDirAccessAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHSetDirAccessAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHSetDirAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7033, 0xA660);
+EXTERN_API( OSErr ) PBHSetDirAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7033, 0xA660);
- /*
- * PBHMapIDSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHMapIDSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHMapIDSync(__A0)
#endif
- EXTERN_API(OSErr) PBHMapIDSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7034, 0xA260);
+EXTERN_API( OSErr ) PBHMapIDSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7034, 0xA260);
- /*
- * PBHMapIDAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHMapIDAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHMapIDAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHMapIDAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7034, 0xA660);
+EXTERN_API( OSErr ) PBHMapIDAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7034, 0xA660);
- /*
- * PBHMapNameSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHMapNameSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHMapNameSync(__A0)
#endif
- EXTERN_API(OSErr) PBHMapNameSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7035, 0xA260);
+EXTERN_API( OSErr ) PBHMapNameSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7035, 0xA260);
- /*
- * PBHMapNameAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHMapNameAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHMapNameAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHMapNameAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7035, 0xA660);
+EXTERN_API( OSErr ) PBHMapNameAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7035, 0xA660);
- /*
- * PBHCopyFileSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHCopyFileSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHCopyFileSync(__A0)
#endif
- EXTERN_API(OSErr) PBHCopyFileSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7036, 0xA260);
+EXTERN_API( OSErr ) PBHCopyFileSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7036, 0xA260);
- /*
- * PBHCopyFileAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHCopyFileAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHCopyFileAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHCopyFileAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7036, 0xA660);
+EXTERN_API( OSErr ) PBHCopyFileAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7036, 0xA660);
- /*
- * PBHMoveRenameSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHMoveRenameSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHMoveRenameSync(__A0)
#endif
- EXTERN_API(OSErr) PBHMoveRenameSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7037, 0xA260);
+EXTERN_API( OSErr ) PBHMoveRenameSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7037, 0xA260);
- /*
- * PBHMoveRenameAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHMoveRenameAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHMoveRenameAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHMoveRenameAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7037, 0xA660);
+EXTERN_API( OSErr ) PBHMoveRenameAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7037, 0xA660);
- /*
- * PBHOpenDenySync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenDenySync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenDenySync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenDenySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7038, 0xA260);
+EXTERN_API( OSErr ) PBHOpenDenySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7038, 0xA260);
- /*
- * PBHOpenDenyAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenDenyAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenDenyAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenDenyAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7038, 0xA660);
+EXTERN_API( OSErr ) PBHOpenDenyAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7038, 0xA660);
- /*
- * PBHOpenRFDenySync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenRFDenySync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenRFDenySync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenRFDenySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7039, 0xA260);
+EXTERN_API( OSErr ) PBHOpenRFDenySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7039, 0xA260);
- /*
- * PBHOpenRFDenyAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBHOpenRFDenyAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
#endif
- EXTERN_API(OSErr) PBHOpenRFDenyAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7039, 0xA660);
+EXTERN_API( OSErr ) PBHOpenRFDenyAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7039, 0xA660);
- /*
- * PBGetXCatInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetXCatInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetXCatInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetXCatInfoSync(XCInfoPBPtr paramBlock) TWOWORDINLINE(0x703A, 0xA260);
+EXTERN_API( OSErr ) PBGetXCatInfoSync(XCInfoPBPtr paramBlock) TWOWORDINLINE(0x703A, 0xA260);
- /*
- * PBGetXCatInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetXCatInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetXCatInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetXCatInfoAsync(XCInfoPBPtr paramBlock) TWOWORDINLINE(0x703A, 0xA660);
+EXTERN_API( OSErr ) PBGetXCatInfoAsync(XCInfoPBPtr paramBlock) TWOWORDINLINE(0x703A, 0xA660);
- /*
- * PBExchangeFilesSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBExchangeFilesSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBExchangeFilesSync(__A0)
#endif
- EXTERN_API(OSErr) PBExchangeFilesSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7017, 0xA260);
+EXTERN_API( OSErr ) PBExchangeFilesSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7017, 0xA260);
- /*
- * PBExchangeFilesAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBExchangeFilesAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBExchangeFilesAsync(__A0)
#endif
- EXTERN_API(OSErr) PBExchangeFilesAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7017, 0xA660);
+EXTERN_API( OSErr ) PBExchangeFilesAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7017, 0xA660);
- /*
- * PBCreateFileIDRefSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCreateFileIDRefSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCreateFileIDRefSync(__A0)
#endif
- EXTERN_API(OSErr) PBCreateFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7014, 0xA260);
+EXTERN_API( OSErr ) PBCreateFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7014, 0xA260);
- /*
- * PBCreateFileIDRefAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCreateFileIDRefAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
#endif
- EXTERN_API(OSErr) PBCreateFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7014, 0xA660);
+EXTERN_API( OSErr ) PBCreateFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7014, 0xA660);
- /*
- * PBResolveFileIDRefSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBResolveFileIDRefSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBResolveFileIDRefSync(__A0)
#endif
- EXTERN_API(OSErr) PBResolveFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7016, 0xA260);
+EXTERN_API( OSErr ) PBResolveFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7016, 0xA260);
- /*
- * PBResolveFileIDRefAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBResolveFileIDRefAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
#endif
- EXTERN_API(OSErr) PBResolveFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7016, 0xA660);
+EXTERN_API( OSErr ) PBResolveFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7016, 0xA660);
- /*
- * PBDeleteFileIDRefSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDeleteFileIDRefSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
#endif
- EXTERN_API(OSErr) PBDeleteFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7015, 0xA260);
+EXTERN_API( OSErr ) PBDeleteFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7015, 0xA260);
- /*
- * PBDeleteFileIDRefAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDeleteFileIDRefAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7015, 0xA660);
+EXTERN_API( OSErr ) PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7015, 0xA660);
- /*
- * PBGetForeignPrivsSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetForeignPrivsSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetForeignPrivsSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetForeignPrivsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA260);
+EXTERN_API( OSErr ) PBGetForeignPrivsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA260);
- /*
- * PBGetForeignPrivsAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetForeignPrivsAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetForeignPrivsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA660);
+EXTERN_API( OSErr ) PBGetForeignPrivsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA660);
- /*
- * PBSetForeignPrivsSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetForeignPrivsSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetForeignPrivsSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetForeignPrivsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA260);
+EXTERN_API( OSErr ) PBSetForeignPrivsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA260);
- /*
- * PBSetForeignPrivsAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetForeignPrivsAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetForeignPrivsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA660);
+EXTERN_API( OSErr ) PBSetForeignPrivsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA660);
- /* Desktop Manager */
- /*
- * PBDTGetPath()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/* Desktop Manager */
+/*
+ * PBDTGetPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetPath(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetPath(DTPBPtr paramBlock) TWOWORDINLINE(0x7020, 0xA260);
+EXTERN_API( OSErr ) PBDTGetPath(DTPBPtr paramBlock) TWOWORDINLINE(0x7020, 0xA260);
- /*
- * PBDTCloseDown()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTCloseDown()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTCloseDown(__A0)
#endif
- EXTERN_API(OSErr) PBDTCloseDown(DTPBPtr paramBlock) TWOWORDINLINE(0x7021, 0xA260);
+EXTERN_API( OSErr ) PBDTCloseDown(DTPBPtr paramBlock) TWOWORDINLINE(0x7021, 0xA260);
- /*
- * PBDTAddIconSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTAddIconSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTAddIconSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTAddIconSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7022, 0xA260);
+EXTERN_API( OSErr ) PBDTAddIconSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7022, 0xA260);
- /*
- * PBDTAddIconAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTAddIconAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTAddIconAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTAddIconAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7022, 0xA660);
+EXTERN_API( OSErr ) PBDTAddIconAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7022, 0xA660);
- /*
- * PBDTGetIconSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetIconSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetIconSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetIconSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7023, 0xA260);
+EXTERN_API( OSErr ) PBDTGetIconSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7023, 0xA260);
- /*
- * PBDTGetIconAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetIconAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetIconAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetIconAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7023, 0xA660);
+EXTERN_API( OSErr ) PBDTGetIconAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7023, 0xA660);
- /*
- * PBDTGetIconInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetIconInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetIconInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetIconInfoSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7024, 0xA260);
+EXTERN_API( OSErr ) PBDTGetIconInfoSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7024, 0xA260);
- /*
- * PBDTGetIconInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetIconInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetIconInfoAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7024, 0xA660);
+EXTERN_API( OSErr ) PBDTGetIconInfoAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7024, 0xA660);
- /*
- * PBDTAddAPPLSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTAddAPPLSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTAddAPPLSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTAddAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7025, 0xA260);
+EXTERN_API( OSErr ) PBDTAddAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7025, 0xA260);
- /*
- * PBDTAddAPPLAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTAddAPPLAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTAddAPPLAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTAddAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7025, 0xA660);
+EXTERN_API( OSErr ) PBDTAddAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7025, 0xA660);
- /*
- * PBDTRemoveAPPLSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTRemoveAPPLSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTRemoveAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7026, 0xA260);
+EXTERN_API( OSErr ) PBDTRemoveAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7026, 0xA260);
- /*
- * PBDTRemoveAPPLAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTRemoveAPPLAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTRemoveAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7026, 0xA660);
+EXTERN_API( OSErr ) PBDTRemoveAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7026, 0xA660);
- /*
- * PBDTGetAPPLSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetAPPLSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetAPPLSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7027, 0xA260);
+EXTERN_API( OSErr ) PBDTGetAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7027, 0xA260);
- /*
- * PBDTGetAPPLAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetAPPLAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetAPPLAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7027, 0xA660);
+EXTERN_API( OSErr ) PBDTGetAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7027, 0xA660);
- /*
- * PBDTSetCommentSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTSetCommentSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTSetCommentSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTSetCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7028, 0xA260);
+EXTERN_API( OSErr ) PBDTSetCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7028, 0xA260);
- /*
- * PBDTSetCommentAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTSetCommentAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTSetCommentAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTSetCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7028, 0xA660);
+EXTERN_API( OSErr ) PBDTSetCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7028, 0xA660);
- /*
- * PBDTRemoveCommentSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTRemoveCommentSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTRemoveCommentSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTRemoveCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7029, 0xA260);
+EXTERN_API( OSErr ) PBDTRemoveCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7029, 0xA260);
- /*
- * PBDTRemoveCommentAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTRemoveCommentAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTRemoveCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7029, 0xA660);
+EXTERN_API( OSErr ) PBDTRemoveCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7029, 0xA660);
- /*
- * PBDTGetCommentSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetCommentSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetCommentSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702A, 0xA260);
+EXTERN_API( OSErr ) PBDTGetCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702A, 0xA260);
- /*
- * PBDTGetCommentAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetCommentAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetCommentAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702A, 0xA660);
+EXTERN_API( OSErr ) PBDTGetCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702A, 0xA660);
- /*
- * PBDTFlushSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTFlushSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTFlushSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTFlushSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702B, 0xA260);
+EXTERN_API( OSErr ) PBDTFlushSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702B, 0xA260);
- /*
- * PBDTFlushAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTFlushAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTFlushAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTFlushAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702B, 0xA660);
+EXTERN_API( OSErr ) PBDTFlushAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702B, 0xA660);
- /*
- * PBDTResetSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTResetSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTResetSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTResetSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702C, 0xA260);
+EXTERN_API( OSErr ) PBDTResetSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702C, 0xA260);
- /*
- * PBDTResetAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTResetAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTResetAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTResetAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702C, 0xA660);
+EXTERN_API( OSErr ) PBDTResetAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702C, 0xA660);
- /*
- * PBDTGetInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetInfoSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetInfoSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702D, 0xA260);
+EXTERN_API( OSErr ) PBDTGetInfoSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702D, 0xA260);
- /*
- * PBDTGetInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTGetInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTGetInfoAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTGetInfoAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702D, 0xA660);
+EXTERN_API( OSErr ) PBDTGetInfoAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702D, 0xA660);
- /*
- * PBDTOpenInform()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTOpenInform()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTOpenInform(__A0)
#endif
- EXTERN_API(OSErr) PBDTOpenInform(DTPBPtr paramBlock) TWOWORDINLINE(0x702E, 0xA060);
+EXTERN_API( OSErr ) PBDTOpenInform(DTPBPtr paramBlock) TWOWORDINLINE(0x702E, 0xA060);
- /*
- * PBDTDeleteSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTDeleteSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTDeleteSync(__A0)
#endif
- EXTERN_API(OSErr) PBDTDeleteSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702F, 0xA060);
+EXTERN_API( OSErr ) PBDTDeleteSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702F, 0xA060);
- /*
- * PBDTDeleteAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDTDeleteAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDTDeleteAsync(__A0)
#endif
- EXTERN_API(OSErr) PBDTDeleteAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702F, 0xA460);
+EXTERN_API( OSErr ) PBDTDeleteAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702F, 0xA460);
- /* VolumeMount traps */
- /*
- * PBGetVolMountInfoSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/* VolumeMount traps */
+/*
+ * PBGetVolMountInfoSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetVolMountInfoSize(__A0)
#endif
- EXTERN_API(OSErr) PBGetVolMountInfoSize(ParmBlkPtr paramBlock) TWOWORDINLINE(0x703F, 0xA260);
+EXTERN_API( OSErr ) PBGetVolMountInfoSize(ParmBlkPtr paramBlock) TWOWORDINLINE(0x703F, 0xA260);
- /*
- * PBGetVolMountInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetVolMountInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetVolMountInfo(__A0)
#endif
- EXTERN_API(OSErr) PBGetVolMountInfo(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7040, 0xA260);
+EXTERN_API( OSErr ) PBGetVolMountInfo(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7040, 0xA260);
- /*
- * PBVolumeMount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBVolumeMount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBVolumeMount(__A0)
#endif
- EXTERN_API(OSErr) PBVolumeMount(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7041, 0xA260);
-
-
- /* FSp traps */
- /*
- * FSMakeFSSpec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSMakeFSSpec(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName,
- FSSpec * spec) TWOWORDINLINE(0x7001, 0xAA52);
-
-
- /*
- * FSpOpenDF()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpOpenDF(
- const FSSpec * spec,
- SInt8 permission,
- short * refNum) TWOWORDINLINE(0x7002, 0xAA52);
-
-
- /*
- * FSpOpenRF()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpOpenRF(
- const FSSpec * spec,
- SInt8 permission,
- short * refNum) TWOWORDINLINE(0x7003, 0xAA52);
-
-
- /*
- * FSpCreate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpCreate(
- const FSSpec * spec,
- OSType creator,
- OSType fileType,
- ScriptCode scriptTag) TWOWORDINLINE(0x7004, 0xAA52);
-
-
- /*
- * FSpDirCreate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpDirCreate(
- const FSSpec * spec,
- ScriptCode scriptTag,
- long * createdDirID) TWOWORDINLINE(0x7005, 0xAA52);
-
-
- /*
- * FSpDelete()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpDelete(const FSSpec * spec) TWOWORDINLINE(0x7006, 0xAA52);
-
-
- /*
- * FSpGetFInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpGetFInfo(
- const FSSpec * spec,
- FInfo * fndrInfo) TWOWORDINLINE(0x7007, 0xAA52);
-
-
- /*
- * FSpSetFInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpSetFInfo(
- const FSSpec * spec,
- const FInfo * fndrInfo) TWOWORDINLINE(0x7008, 0xAA52);
-
-
- /*
- * FSpSetFLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpSetFLock(const FSSpec * spec) TWOWORDINLINE(0x7009, 0xAA52);
-
-
- /*
- * FSpRstFLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpRstFLock(const FSSpec * spec) TWOWORDINLINE(0x700A, 0xAA52);
-
-
- /*
- * FSpRename()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpRename(
- const FSSpec * spec,
- ConstStr255Param newName) TWOWORDINLINE(0x700B, 0xAA52);
-
-
- /*
- * FSpCatMove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpCatMove(
- const FSSpec * source,
- const FSSpec * dest) TWOWORDINLINE(0x700C, 0xAA52);
-
-
- /*
- * FSpExchangeFiles()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpExchangeFiles(
- const FSSpec * source,
- const FSSpec * dest) TWOWORDINLINE(0x700F, 0xAA52);
-
-
-
- /*
- * PBShareSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr ) PBVolumeMount(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7041, 0xA260);
+
+
+/* FSp traps */
+/*
+ * FSMakeFSSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSMakeFSSpec(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName,
+ FSSpec * spec) TWOWORDINLINE(0x7001, 0xAA52);
+
+
+/*
+ * FSpOpenDF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpOpenDF(
+ const FSSpec * spec,
+ SInt8 permission,
+ short * refNum) TWOWORDINLINE(0x7002, 0xAA52);
+
+
+/*
+ * FSpOpenRF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpOpenRF(
+ const FSSpec * spec,
+ SInt8 permission,
+ short * refNum) TWOWORDINLINE(0x7003, 0xAA52);
+
+
+/*
+ * FSpCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpCreate(
+ const FSSpec * spec,
+ OSType creator,
+ OSType fileType,
+ ScriptCode scriptTag) TWOWORDINLINE(0x7004, 0xAA52);
+
+
+/*
+ * FSpDirCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpDirCreate(
+ const FSSpec * spec,
+ ScriptCode scriptTag,
+ long * createdDirID) TWOWORDINLINE(0x7005, 0xAA52);
+
+
+/*
+ * FSpDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpDelete(const FSSpec * spec) TWOWORDINLINE(0x7006, 0xAA52);
+
+
+/*
+ * FSpGetFInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpGetFInfo(
+ const FSSpec * spec,
+ FInfo * fndrInfo) TWOWORDINLINE(0x7007, 0xAA52);
+
+
+/*
+ * FSpSetFInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpSetFInfo(
+ const FSSpec * spec,
+ const FInfo * fndrInfo) TWOWORDINLINE(0x7008, 0xAA52);
+
+
+/*
+ * FSpSetFLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpSetFLock(const FSSpec * spec) TWOWORDINLINE(0x7009, 0xAA52);
+
+
+/*
+ * FSpRstFLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpRstFLock(const FSSpec * spec) TWOWORDINLINE(0x700A, 0xAA52);
+
+
+/*
+ * FSpRename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpRename(
+ const FSSpec * spec,
+ ConstStr255Param newName) TWOWORDINLINE(0x700B, 0xAA52);
+
+
+/*
+ * FSpCatMove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpCatMove(
+ const FSSpec * source,
+ const FSSpec * dest) TWOWORDINLINE(0x700C, 0xAA52);
+
+
+/*
+ * FSpExchangeFiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpExchangeFiles(
+ const FSSpec * source,
+ const FSSpec * dest) TWOWORDINLINE(0x700F, 0xAA52);
+
+
+
+/*
+ * PBShareSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBShareSync(__A0)
#endif
- EXTERN_API(OSErr) PBShareSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7042, 0xA260);
+EXTERN_API( OSErr ) PBShareSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7042, 0xA260);
- /*
- * PBShareAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBShareAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBShareAsync(__A0)
#endif
- EXTERN_API(OSErr) PBShareAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7042, 0xA660);
+EXTERN_API( OSErr ) PBShareAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7042, 0xA660);
- /*
- * PBUnshareSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBUnshareSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBUnshareSync(__A0)
#endif
- EXTERN_API(OSErr) PBUnshareSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7043, 0xA260);
+EXTERN_API( OSErr ) PBUnshareSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7043, 0xA260);
- /*
- * PBUnshareAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBUnshareAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBUnshareAsync(__A0)
#endif
- EXTERN_API(OSErr) PBUnshareAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7043, 0xA660);
+EXTERN_API( OSErr ) PBUnshareAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7043, 0xA660);
- /*
- * PBGetUGEntrySync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetUGEntrySync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetUGEntrySync(__A0)
#endif
- EXTERN_API(OSErr) PBGetUGEntrySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7044, 0xA260);
+EXTERN_API( OSErr ) PBGetUGEntrySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7044, 0xA260);
- /*
- * PBGetUGEntryAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetUGEntryAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetUGEntryAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetUGEntryAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7044, 0xA660);
+EXTERN_API( OSErr ) PBGetUGEntryAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7044, 0xA660);
#if TARGET_CPU_68K
- /*
- PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported
- on PowerPC. Equivalent functionality is provided by the routines
- PBGetForeignPrivs and PBSetForeignPrivs.
- */
+/*
+ PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported
+ on PowerPC. Equivalent functionality is provided by the routines
+ PBGetForeignPrivs and PBSetForeignPrivs.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * PBGetAltAccessSync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetAltAccessSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetAltAccessSync(__A0)
#endif
- EXTERN_API(OSErr) PBGetAltAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA060);
+EXTERN_API( OSErr ) PBGetAltAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA060);
- /*
- * PBGetAltAccessAsync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBGetAltAccessAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetAltAccessAsync(__A0)
#endif
- EXTERN_API(OSErr) PBGetAltAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA460);
+EXTERN_API( OSErr ) PBGetAltAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA460);
- /*
- * PBSetAltAccessSync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetAltAccessSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetAltAccessSync(__A0)
#endif
- EXTERN_API(OSErr) PBSetAltAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA060);
+EXTERN_API( OSErr ) PBSetAltAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA060);
- /*
- * PBSetAltAccessAsync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PBSetAltAccessAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetAltAccessAsync(__A0)
#endif
- EXTERN_API(OSErr) PBSetAltAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA460);
+EXTERN_API( OSErr ) PBSetAltAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA460);
#endif /* CALL_NOT_IN_CARBON */
@@ -5034,11 +4957,11 @@ extern "C" {
#endif /* TARGET_CPU_68K */
- /*
- The PBxxx() routines are obsolete.
-
- Use the PBxxxSync() or PBxxxAsync() version instead.
- */
+/*
+ The PBxxx() routines are obsolete.
+
+ Use the PBxxxSync() or PBxxxAsync() version instead.
+*/
#define PBGetVInfo(pb, async) ((async) ? PBGetVInfoAsync(pb) : PBGetVInfoSync(pb))
#define PBXGetVolInfo(pb, async) ((async) ? PBXGetVolInfoAsync(pb) : PBXGetVolInfoSync(pb))
#define PBGetVol(pb, async) ((async) ? PBGetVolAsync(pb) : PBGetVolSync(pb))
@@ -5117,2836 +5040,2806 @@ extern "C" {
#define PBDTGetInfo(pb, async) ((async) ? PBDTGetInfoAsync(pb) : PBDTGetInfoSync(pb))
#define PBDTDelete(pb, async) ((async) ? PBDTDeleteAsync(pb) : PBDTDeleteSync(pb))
- typedef SInt16 FSVolumeRefNum;
- enum
- {
- kFSInvalidVolumeRefNum = 0
- };
+typedef SInt16 FSVolumeRefNum;
+enum {
+ kFSInvalidVolumeRefNum = 0
+};
#if TARGET_OS_WIN32
- struct FSRef
- {
- UInt8 hidden[600]; /* private to File Manager; oo need symbolic constant */
- };
- typedef struct FSRef FSRef;
+struct FSRef {
+ UInt8 hidden[600]; /* private to File Manager; oo need symbolic constant */
+};
+typedef struct FSRef FSRef;
#else
- struct FSRef
- {
- UInt8 hidden[80]; /* private to File Manager; oo need symbolic constant */
- };
- typedef struct FSRef FSRef;
+struct FSRef {
+ UInt8 hidden[80]; /* private to File Manager; oo need symbolic constant */
+};
+typedef struct FSRef FSRef;
#endif /* TARGET_OS_WIN32 */
- typedef FSRef * FSRefPtr;
-
- /*
- * FSPermissionInfo
- *
- * Discussion:
- * This structure is used when kFSCatInfoPermissions is passed to
- * the HFSPlus API. On return from GetCatalogInfo and
- * GetCatalogInfoBulk, the userID, groupID, and mode fields are
- * returned. When passed to SetCatalogInfo, only the mode field is
- * set. See chmod(2) for details about the mode field. This is
- * supported on Mac OS X only.
- */
- struct FSPermissionInfo
- {
- UInt32 userID;
- UInt32 groupID;
- UInt8 reserved1;
- UInt8 userAccess;
- UInt16 mode;
- UInt32 reserved2;
- };
- typedef struct FSPermissionInfo FSPermissionInfo;
- /* CatalogInfoBitmap describes which fields of the CatalogInfo you wish to get or set.*/
-
- typedef UInt32 FSCatalogInfoBitmap;
- enum
- {
- kFSCatInfoNone = 0x00000000,
- kFSCatInfoTextEncoding = 0x00000001,
- kFSCatInfoNodeFlags = 0x00000002, /* Locked (bit 0) and directory (bit 4) only */
- kFSCatInfoVolume = 0x00000004,
- kFSCatInfoParentDirID = 0x00000008,
- kFSCatInfoNodeID = 0x00000010,
- kFSCatInfoCreateDate = 0x00000020,
- kFSCatInfoContentMod = 0x00000040,
- kFSCatInfoAttrMod = 0x00000080,
- kFSCatInfoAccessDate = 0x00000100,
- kFSCatInfoBackupDate = 0x00000200,
- kFSCatInfoPermissions = 0x00000400, /* Should this be finer granularity? */
- kFSCatInfoFinderInfo = 0x00000800,
- kFSCatInfoFinderXInfo = 0x00001000,
- kFSCatInfoValence = 0x00002000, /* Folders only, zero for files */
- kFSCatInfoDataSizes = 0x00004000, /* Data fork logical and physical size */
- kFSCatInfoRsrcSizes = 0x00008000, /* Resource fork logical and physical size */
- kFSCatInfoSharingFlags = 0x00010000, /* sharingFlags: kioFlAttribMountedBit, kioFlAttribSharePointBit */
- kFSCatInfoUserPrivs = 0x00020000, /* userPrivileges */
- kFSCatInfoUserAccess = 0x00080000, /* (OS X only) */
- kFSCatInfoAllDates = 0x000003E0,
- kFSCatInfoGettableInfo = 0x0003FFFF,
- kFSCatInfoSettableInfo = 0x00001FE3, /* flags, dates, permissions, Finder info, text encoding */
- kFSCatInfoReserved = (long)0xFFFC0000 /* bits that are currently reserved */
- };
-
- /* Constants for nodeFlags field of FSCatalogInfo */
- enum
- {
- kFSNodeLockedBit = 0, /* Set if file or directory is locked */
- kFSNodeLockedMask = 0x0001,
- kFSNodeResOpenBit = 2, /* Set if the resource fork is open */
- kFSNodeResOpenMask = 0x0004,
- kFSNodeDataOpenBit = 3, /* Set if the data fork is open */
- kFSNodeDataOpenMask = 0x0008,
- kFSNodeIsDirectoryBit = 4, /* Set if the object is a directory */
- kFSNodeIsDirectoryMask = 0x0010,
- kFSNodeCopyProtectBit = 6,
- kFSNodeCopyProtectMask = 0x0040,
- kFSNodeForkOpenBit = 7, /* Set if the file or directory has any open fork */
- kFSNodeForkOpenMask = 0x0080,
- kFSNodeHardLinkBit = 8, /* Set if the file is a hard link */
- kFSNodeHardLinkMask = 0x00000100
- };
-
- /* Constants for sharingFlags field of FSCatalogInfo */
- enum
- {
- kFSNodeInSharedBit = 2, /* Set if a directory is within a share point */
- kFSNodeInSharedMask = 0x0004,
- kFSNodeIsMountedBit = 3, /* Set if a directory is a share point currently mounted by some user */
- kFSNodeIsMountedMask = 0x0008,
- kFSNodeIsSharePointBit = 5, /* Set if a directory is a share point (exported volume) */
- kFSNodeIsSharePointMask = 0x0020
- };
-
-
- struct FSCatalogInfo
- {
- UInt16 nodeFlags; /* node flags */
- FSVolumeRefNum volume; /* object's volume ref */
- UInt32 parentDirID; /* parent directory's ID */
- UInt32 nodeID; /* file/directory ID */
- UInt8 sharingFlags; /* kioFlAttribMountedBit and kioFlAttribSharePointBit */
- UInt8 userPrivileges; /* user's effective AFP privileges (same as ioACUser) */
- UInt8 reserved1;
- UInt8 reserved2;
- UTCDateTime createDate; /* date and time of creation */
- UTCDateTime contentModDate; /* date and time of last fork modification */
- UTCDateTime attributeModDate; /* date and time of last attribute modification */
- UTCDateTime accessDate; /* date and time of last access (for Mac OS X) */
- UTCDateTime backupDate; /* date and time of last backup */
-
- UInt32 permissions[4]; /* permissions (for Mac OS X) */
-
- UInt8 finderInfo[16]; /* Finder information part 1 */
- UInt8 extFinderInfo[16]; /* Finder information part 2 */
-
- UInt64 dataLogicalSize; /* files only */
- UInt64 dataPhysicalSize; /* files only */
- UInt64 rsrcLogicalSize; /* files only */
- UInt64 rsrcPhysicalSize; /* files only */
-
- UInt32 valence; /* folders only */
- TextEncoding textEncodingHint;
- };
- typedef struct FSCatalogInfo FSCatalogInfo;
- typedef FSCatalogInfo * FSCatalogInfoPtr;
- struct FSRefParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- ConstStringPtr ioNamePtr; /*ptr to Vol:FileName string*/
- short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
-
- SInt16 reserved1; /* was ioRefNum */
- UInt8 reserved2; /* was ioVersNum */
- UInt8 reserved3; /* was ioPermssn */
-
- const FSRef * ref; /* Input ref; the target of the call */
- FSCatalogInfoBitmap whichInfo;
- FSCatalogInfo * catInfo;
- UniCharCount nameLength; /* input name length for create/rename */
- const UniChar * name; /* input name for create/rename */
- long ioDirID;
- FSSpec * spec;
- FSRef * parentRef; /* ref of directory to move another ref to */
- FSRef * newRef; /* Output ref */
- TextEncoding textEncodingHint; /* for Rename, MakeFSRefUnicode */
- HFSUniStr255 * outName; /* Output name for GetCatalogInfo */
- };
- typedef struct FSRefParam FSRefParam;
- typedef FSRefParam * FSRefParamPtr;
- typedef struct OpaqueFSIterator* FSIterator;
- enum
- {
- kFSIterateFlat = 0, /* Immediate children of container only */
- kFSIterateSubtree = 1, /* Entire subtree rooted at container */
- kFSIterateDelete = 2,
- kFSIterateReserved = (long)0xFFFFFFFC
- };
-
- typedef OptionBits FSIteratorFlags;
- enum
- {
- /* CatalogSearch constants */
- fsSBNodeID = 0x00008000, /* search by range of nodeID */
- fsSBAttributeModDate = 0x00010000, /* search by range of attributeModDate */
- fsSBAccessDate = 0x00020000, /* search by range of accessDate */
- fsSBPermissions = 0x00040000, /* search by value/mask of permissions */
- fsSBNodeIDBit = 15,
- fsSBAttributeModDateBit = 16,
- fsSBAccessDateBit = 17,
- fsSBPermissionsBit = 18
- };
-
- struct FSSearchParams
- {
- Duration searchTime; /* a Time Manager duration */
- OptionBits searchBits; /* which fields to search on */
- UniCharCount searchNameLength;
- const UniChar * searchName;
- FSCatalogInfo * searchInfo1; /* values and lower bounds */
- FSCatalogInfo * searchInfo2; /* masks and upper bounds */
- };
- typedef struct FSSearchParams FSSearchParams;
- typedef FSSearchParams * FSSearchParamsPtr;
- struct FSCatalogBulkParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- Boolean containerChanged; /* true if container changed since last iteration */
- UInt8 reserved; /* make following fields 4-byte aligned */
-
- FSIteratorFlags iteratorFlags;
- FSIterator iterator;
- const FSRef * container; /* directory/volume to iterate */
- ItemCount maximumItems;
- ItemCount actualItems;
- FSCatalogInfoBitmap whichInfo;
- FSCatalogInfo * catalogInfo; /* returns an array */
- FSRef * refs; /* returns an array */
- FSSpec * specs; /* returns an array */
- HFSUniStr255 * names; /* returns an array */
- const FSSearchParams * searchParams;
- };
- typedef struct FSCatalogBulkParam FSCatalogBulkParam;
- typedef FSCatalogBulkParam * FSCatalogBulkParamPtr;
- typedef UInt16 FSAllocationFlags;
- enum
- {
- kFSAllocDefaultFlags = 0x0000, /* as much as possible, not contiguous */
- kFSAllocAllOrNothingMask = 0x0001, /* allocate all of the space, or nothing */
- kFSAllocContiguousMask = 0x0002, /* new space must be one contiguous piece */
- kFSAllocNoRoundUpMask = 0x0004, /* don't round up allocation to clump size */
- kFSAllocReservedMask = 0xFFF8 /* these bits are reserved and must not be set */
- };
-
- struct FSForkIOParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- void * reserved1; /* was ioNamePtr */
- SInt16 reserved2; /* was ioVRefNum */
- SInt16 forkRefNum; /* same as ioRefNum */
- UInt8 reserved3; /* was ioVersNum */
- SInt8 permissions; /* desired access to the fork */
- const FSRef * ref; /* which object to open */
-
-
- Ptr buffer; /*data buffer Ptr*/
- UInt32 requestCount; /*requested byte count*/
- UInt32 actualCount; /*actual byte count completed*/
- UInt16 positionMode; /*initial file positioning*/
- SInt64 positionOffset; /*file position offset*/
-
- FSAllocationFlags allocationFlags;
- UInt64 allocationAmount;
-
- UniCharCount forkNameLength; /* input; length of fork name */
- const UniChar * forkName; /* input; name of fork */
-
- CatPositionRec forkIterator;
- HFSUniStr255 * outForkName; /* output; name of fork */
- };
- typedef struct FSForkIOParam FSForkIOParam;
- typedef FSForkIOParam * FSForkIOParamPtr;
- struct FSForkInfo
- {
- SInt8 flags; /* copy of FCB flags */
- SInt8 permissions;
- FSVolumeRefNum volume;
- UInt32 reserved2;
- UInt32 nodeID; /* file or directory ID */
- UInt32 forkID; /* fork ID */
- UInt64 currentPosition;
- UInt64 logicalEOF;
- UInt64 physicalEOF;
- UInt64 process; /* should be ProcessSerialNumber */
- };
- typedef struct FSForkInfo FSForkInfo;
- typedef FSForkInfo * FSForkInfoPtr;
- struct FSForkCBInfoParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- SInt16 desiredRefNum; /* 0 to iterate, non-0 for specific refnum */
- SInt16 volumeRefNum; /* volume to match, or 0 for all volumes */
- SInt16 iterator; /* 0 to start iteration */
- SInt16 actualRefNum; /* actual refnum found */
-
- FSRef * ref;
- FSForkInfo * forkInfo;
- HFSUniStr255 * forkName;
- };
- typedef struct FSForkCBInfoParam FSForkCBInfoParam;
- typedef FSForkCBInfoParam * FSForkCBInfoParamPtr;
- typedef UInt32 FSVolumeInfoBitmap;
- enum
- {
- kFSVolInfoNone = 0x0000,
- kFSVolInfoCreateDate = 0x0001,
- kFSVolInfoModDate = 0x0002,
- kFSVolInfoBackupDate = 0x0004,
- kFSVolInfoCheckedDate = 0x0008,
- kFSVolInfoFileCount = 0x0010,
- kFSVolInfoDirCount = 0x0020,
- kFSVolInfoSizes = 0x0040, /* totalBytes and freeBytes */
- kFSVolInfoBlocks = 0x0080, /* blockSize, totalBlocks, freeBlocks */
- kFSVolInfoNextAlloc = 0x0100,
- kFSVolInfoRsrcClump = 0x0200,
- kFSVolInfoDataClump = 0x0400,
- kFSVolInfoNextID = 0x0800,
- kFSVolInfoFinderInfo = 0x1000,
- kFSVolInfoFlags = 0x2000,
- kFSVolInfoFSInfo = 0x4000, /* filesystemID, signature */
- kFSVolInfoDriveInfo = 0x8000, /* driveNumber, driverRefNum */
- kFSVolInfoGettableInfo = 0xFFFF, /* This seems like it is here just for completeness */
- kFSVolInfoSettableInfo = 0x3004 /* backup date, Finder info, flags */
- };
-
- /* FSVolumeInfo.flags bits. These are the same as for ioVAtrb, but with nicer names. */
- enum
- {
- kFSVolFlagDefaultVolumeBit = 5, /* Set if the volume is the default volume */
- kFSVolFlagDefaultVolumeMask = 0x0020,
- kFSVolFlagFilesOpenBit = 6, /* Set if there are open files or iterators */
- kFSVolFlagFilesOpenMask = 0x0040,
- kFSVolFlagHardwareLockedBit = 7, /* Set if volume is locked by a hardware setting */
- kFSVolFlagHardwareLockedMask = 0x0080,
- kFSVolFlagSoftwareLockedBit = 15, /* Set if volume is locked by software */
- kFSVolFlagSoftwareLockedMask = 0x8000
- };
-
-
- struct FSVolumeInfo
- {
- /* Dates -- zero means "never" or "unknown" */
- UTCDateTime createDate;
- UTCDateTime modifyDate;
- UTCDateTime backupDate;
- UTCDateTime checkedDate;
-
- /* File/Folder counts -- return zero if unknown */
- UInt32 fileCount; /* total files on volume */
- UInt32 folderCount; /* total folders on volume */
- /* Note: no root directory counts */
-
- UInt64 totalBytes; /* total number of bytes on volume */
- UInt64 freeBytes; /* number of free bytes on volume */
-
- /* HFS and HFS Plus specific. Set fields to zero if not appropriate */
- UInt32 blockSize; /* size (in bytes) of allocation blocks */
- UInt32 totalBlocks; /* number of allocation blocks in volume */
- UInt32 freeBlocks; /* number of unused allocation blocks */
- UInt32 nextAllocation; /* start of next allocation search */
- UInt32 rsrcClumpSize; /* default resource fork clump size */
- UInt32 dataClumpSize; /* default data fork clump size */
- UInt32 nextCatalogID; /* next unused catalog node ID ooo OYG ooo need to make HFSVolumes.h work Should be HFSCatalogNodeID*/
- UInt8 finderInfo[32]; /* information used by Finder */
-
- /* Identifying information */
- UInt16 flags; /* ioVAtrb */
- UInt16 filesystemID; /* ioVFSID */
- UInt16 signature; /* ioVSigWord, unique within an FSID */
- UInt16 driveNumber; /* ioVDrvInfo */
- short driverRefNum; /* ioVDRefNum */
- };
- typedef struct FSVolumeInfo FSVolumeInfo;
- typedef FSVolumeInfo * FSVolumeInfoPtr;
- struct FSVolumeInfoParam
- {
- QElemPtr qLink; /*queue link in header*/
- short qType; /*type byte for safety check*/
- short ioTrap; /*FS: the Trap*/
- Ptr ioCmdAddr; /*FS: address to dispatch to*/
- IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
- volatile OSErr ioResult; /*result code*/
- StringPtr ioNamePtr; /* unused */
- FSVolumeRefNum ioVRefNum; /* volume refnum */
-
- UInt32 volumeIndex; /* index, or 0 to use ioVRefNum */
- FSVolumeInfoBitmap whichInfo; /* which volumeInfo fields to get/set */
- FSVolumeInfo * volumeInfo; /* information about the volume */
- HFSUniStr255 * volumeName; /* output; pointer to volume name */
- FSRef * ref; /* volume's FSRef */
- };
- typedef struct FSVolumeInfoParam FSVolumeInfoParam;
- typedef FSVolumeInfoParam * FSVolumeInfoParamPtr;
- /*
- MakeFSRef
- Create an FSRef for an existing object specified by a combination
- of volume refnum, parent directory, and pathname.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ioNamePtr A pointer to a pathname
- -> ioVRefNum A volume specification
- -> ioDirID A directory ID
- <- newRef A pointer to an FSRef
- */
- /*
- * FSpMakeFSRef()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpMakeFSRef(
- const FSSpec * source,
- FSRef * newRef) THREEWORDINLINE(0x303C, 0x041A, 0xAA52);
-
-
- /*
- * PBMakeFSRefSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+typedef FSRef * FSRefPtr;
+
+/*
+ * FSPermissionInfo
+ *
+ * Discussion:
+ * This structure is used when kFSCatInfoPermissions is passed to
+ * the HFSPlus API. On return from GetCatalogInfo and
+ * GetCatalogInfoBulk, the userID, groupID, and mode fields are
+ * returned. When passed to SetCatalogInfo, only the mode field is
+ * set. See chmod(2) for details about the mode field. This is
+ * supported on Mac OS X only.
+ */
+struct FSPermissionInfo {
+ UInt32 userID;
+ UInt32 groupID;
+ UInt8 reserved1;
+ UInt8 userAccess;
+ UInt16 mode;
+ UInt32 reserved2;
+};
+typedef struct FSPermissionInfo FSPermissionInfo;
+/* CatalogInfoBitmap describes which fields of the CatalogInfo you wish to get or set.*/
+
+typedef UInt32 FSCatalogInfoBitmap;
+enum {
+ kFSCatInfoNone = 0x00000000,
+ kFSCatInfoTextEncoding = 0x00000001,
+ kFSCatInfoNodeFlags = 0x00000002, /* Locked (bit 0) and directory (bit 4) only */
+ kFSCatInfoVolume = 0x00000004,
+ kFSCatInfoParentDirID = 0x00000008,
+ kFSCatInfoNodeID = 0x00000010,
+ kFSCatInfoCreateDate = 0x00000020,
+ kFSCatInfoContentMod = 0x00000040,
+ kFSCatInfoAttrMod = 0x00000080,
+ kFSCatInfoAccessDate = 0x00000100,
+ kFSCatInfoBackupDate = 0x00000200,
+ kFSCatInfoPermissions = 0x00000400, /* Should this be finer granularity? */
+ kFSCatInfoFinderInfo = 0x00000800,
+ kFSCatInfoFinderXInfo = 0x00001000,
+ kFSCatInfoValence = 0x00002000, /* Folders only, zero for files */
+ kFSCatInfoDataSizes = 0x00004000, /* Data fork logical and physical size */
+ kFSCatInfoRsrcSizes = 0x00008000, /* Resource fork logical and physical size */
+ kFSCatInfoSharingFlags = 0x00010000, /* sharingFlags: kioFlAttribMountedBit, kioFlAttribSharePointBit */
+ kFSCatInfoUserPrivs = 0x00020000, /* userPrivileges */
+ kFSCatInfoUserAccess = 0x00080000, /* (OS X only) */
+ kFSCatInfoAllDates = 0x000003E0,
+ kFSCatInfoGettableInfo = 0x0003FFFF,
+ kFSCatInfoSettableInfo = 0x00001FE3, /* flags, dates, permissions, Finder info, text encoding */
+ kFSCatInfoReserved = (long)0xFFFC0000 /* bits that are currently reserved */
+};
+
+/* Constants for nodeFlags field of FSCatalogInfo */
+enum {
+ kFSNodeLockedBit = 0, /* Set if file or directory is locked */
+ kFSNodeLockedMask = 0x0001,
+ kFSNodeResOpenBit = 2, /* Set if the resource fork is open */
+ kFSNodeResOpenMask = 0x0004,
+ kFSNodeDataOpenBit = 3, /* Set if the data fork is open */
+ kFSNodeDataOpenMask = 0x0008,
+ kFSNodeIsDirectoryBit = 4, /* Set if the object is a directory */
+ kFSNodeIsDirectoryMask = 0x0010,
+ kFSNodeCopyProtectBit = 6,
+ kFSNodeCopyProtectMask = 0x0040,
+ kFSNodeForkOpenBit = 7, /* Set if the file or directory has any open fork */
+ kFSNodeForkOpenMask = 0x0080,
+ kFSNodeHardLinkBit = 8, /* Set if the file is a hard link */
+ kFSNodeHardLinkMask = 0x00000100
+};
+
+/* Constants for sharingFlags field of FSCatalogInfo */
+enum {
+ kFSNodeInSharedBit = 2, /* Set if a directory is within a share point */
+ kFSNodeInSharedMask = 0x0004,
+ kFSNodeIsMountedBit = 3, /* Set if a directory is a share point currently mounted by some user */
+ kFSNodeIsMountedMask = 0x0008,
+ kFSNodeIsSharePointBit = 5, /* Set if a directory is a share point (exported volume) */
+ kFSNodeIsSharePointMask = 0x0020
+};
+
+
+struct FSCatalogInfo {
+ UInt16 nodeFlags; /* node flags */
+ FSVolumeRefNum volume; /* object's volume ref */
+ UInt32 parentDirID; /* parent directory's ID */
+ UInt32 nodeID; /* file/directory ID */
+ UInt8 sharingFlags; /* kioFlAttribMountedBit and kioFlAttribSharePointBit */
+ UInt8 userPrivileges; /* user's effective AFP privileges (same as ioACUser) */
+ UInt8 reserved1;
+ UInt8 reserved2;
+ UTCDateTime createDate; /* date and time of creation */
+ UTCDateTime contentModDate; /* date and time of last fork modification */
+ UTCDateTime attributeModDate; /* date and time of last attribute modification */
+ UTCDateTime accessDate; /* date and time of last access (for Mac OS X) */
+ UTCDateTime backupDate; /* date and time of last backup */
+
+ UInt32 permissions[4]; /* permissions (for Mac OS X) */
+
+ UInt8 finderInfo[16]; /* Finder information part 1 */
+ UInt8 extFinderInfo[16]; /* Finder information part 2 */
+
+ UInt64 dataLogicalSize; /* files only */
+ UInt64 dataPhysicalSize; /* files only */
+ UInt64 rsrcLogicalSize; /* files only */
+ UInt64 rsrcPhysicalSize; /* files only */
+
+ UInt32 valence; /* folders only */
+ TextEncoding textEncodingHint;
+};
+typedef struct FSCatalogInfo FSCatalogInfo;
+typedef FSCatalogInfo * FSCatalogInfoPtr;
+struct FSRefParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ ConstStringPtr ioNamePtr; /*ptr to Vol:FileName string*/
+ short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
+
+ SInt16 reserved1; /* was ioRefNum */
+ UInt8 reserved2; /* was ioVersNum */
+ UInt8 reserved3; /* was ioPermssn */
+
+ const FSRef * ref; /* Input ref; the target of the call */
+ FSCatalogInfoBitmap whichInfo;
+ FSCatalogInfo * catInfo;
+ UniCharCount nameLength; /* input name length for create/rename */
+ const UniChar * name; /* input name for create/rename */
+ long ioDirID;
+ FSSpec * spec;
+ FSRef * parentRef; /* ref of directory to move another ref to */
+ FSRef * newRef; /* Output ref */
+ TextEncoding textEncodingHint; /* for Rename, MakeFSRefUnicode */
+ HFSUniStr255 * outName; /* Output name for GetCatalogInfo */
+};
+typedef struct FSRefParam FSRefParam;
+typedef FSRefParam * FSRefParamPtr;
+typedef struct OpaqueFSIterator* FSIterator;
+enum {
+ kFSIterateFlat = 0, /* Immediate children of container only */
+ kFSIterateSubtree = 1, /* Entire subtree rooted at container */
+ kFSIterateDelete = 2,
+ kFSIterateReserved = (long)0xFFFFFFFC
+};
+
+typedef OptionBits FSIteratorFlags;
+enum {
+ /* CatalogSearch constants */
+ fsSBNodeID = 0x00008000, /* search by range of nodeID */
+ fsSBAttributeModDate = 0x00010000, /* search by range of attributeModDate */
+ fsSBAccessDate = 0x00020000, /* search by range of accessDate */
+ fsSBPermissions = 0x00040000, /* search by value/mask of permissions */
+ fsSBNodeIDBit = 15,
+ fsSBAttributeModDateBit = 16,
+ fsSBAccessDateBit = 17,
+ fsSBPermissionsBit = 18
+};
+
+struct FSSearchParams {
+ Duration searchTime; /* a Time Manager duration */
+ OptionBits searchBits; /* which fields to search on */
+ UniCharCount searchNameLength;
+ const UniChar * searchName;
+ FSCatalogInfo * searchInfo1; /* values and lower bounds */
+ FSCatalogInfo * searchInfo2; /* masks and upper bounds */
+};
+typedef struct FSSearchParams FSSearchParams;
+typedef FSSearchParams * FSSearchParamsPtr;
+struct FSCatalogBulkParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ Boolean containerChanged; /* true if container changed since last iteration */
+ UInt8 reserved; /* make following fields 4-byte aligned */
+
+ FSIteratorFlags iteratorFlags;
+ FSIterator iterator;
+ const FSRef * container; /* directory/volume to iterate */
+ ItemCount maximumItems;
+ ItemCount actualItems;
+ FSCatalogInfoBitmap whichInfo;
+ FSCatalogInfo * catalogInfo; /* returns an array */
+ FSRef * refs; /* returns an array */
+ FSSpec * specs; /* returns an array */
+ HFSUniStr255 * names; /* returns an array */
+ const FSSearchParams * searchParams;
+};
+typedef struct FSCatalogBulkParam FSCatalogBulkParam;
+typedef FSCatalogBulkParam * FSCatalogBulkParamPtr;
+typedef UInt16 FSAllocationFlags;
+enum {
+ kFSAllocDefaultFlags = 0x0000, /* as much as possible, not contiguous */
+ kFSAllocAllOrNothingMask = 0x0001, /* allocate all of the space, or nothing */
+ kFSAllocContiguousMask = 0x0002, /* new space must be one contiguous piece */
+ kFSAllocNoRoundUpMask = 0x0004, /* don't round up allocation to clump size */
+ kFSAllocReservedMask = 0xFFF8 /* these bits are reserved and must not be set */
+};
+
+struct FSForkIOParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ void * reserved1; /* was ioNamePtr */
+ SInt16 reserved2; /* was ioVRefNum */
+ SInt16 forkRefNum; /* same as ioRefNum */
+ UInt8 reserved3; /* was ioVersNum */
+ SInt8 permissions; /* desired access to the fork */
+ const FSRef * ref; /* which object to open */
+
+
+ Ptr buffer; /*data buffer Ptr*/
+ UInt32 requestCount; /*requested byte count*/
+ UInt32 actualCount; /*actual byte count completed*/
+ UInt16 positionMode; /*initial file positioning*/
+ SInt64 positionOffset; /*file position offset*/
+
+ FSAllocationFlags allocationFlags;
+ UInt64 allocationAmount;
+
+ UniCharCount forkNameLength; /* input; length of fork name */
+ const UniChar * forkName; /* input; name of fork */
+
+ CatPositionRec forkIterator;
+ HFSUniStr255 * outForkName; /* output; name of fork */
+};
+typedef struct FSForkIOParam FSForkIOParam;
+typedef FSForkIOParam * FSForkIOParamPtr;
+struct FSForkInfo {
+ SInt8 flags; /* copy of FCB flags */
+ SInt8 permissions;
+ FSVolumeRefNum volume;
+ UInt32 reserved2;
+ UInt32 nodeID; /* file or directory ID */
+ UInt32 forkID; /* fork ID */
+ UInt64 currentPosition;
+ UInt64 logicalEOF;
+ UInt64 physicalEOF;
+ UInt64 process; /* should be ProcessSerialNumber */
+};
+typedef struct FSForkInfo FSForkInfo;
+typedef FSForkInfo * FSForkInfoPtr;
+struct FSForkCBInfoParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ SInt16 desiredRefNum; /* 0 to iterate, non-0 for specific refnum */
+ SInt16 volumeRefNum; /* volume to match, or 0 for all volumes */
+ SInt16 iterator; /* 0 to start iteration */
+ SInt16 actualRefNum; /* actual refnum found */
+
+ FSRef * ref;
+ FSForkInfo * forkInfo;
+ HFSUniStr255 * forkName;
+};
+typedef struct FSForkCBInfoParam FSForkCBInfoParam;
+typedef FSForkCBInfoParam * FSForkCBInfoParamPtr;
+typedef UInt32 FSVolumeInfoBitmap;
+enum {
+ kFSVolInfoNone = 0x0000,
+ kFSVolInfoCreateDate = 0x0001,
+ kFSVolInfoModDate = 0x0002,
+ kFSVolInfoBackupDate = 0x0004,
+ kFSVolInfoCheckedDate = 0x0008,
+ kFSVolInfoFileCount = 0x0010,
+ kFSVolInfoDirCount = 0x0020,
+ kFSVolInfoSizes = 0x0040, /* totalBytes and freeBytes */
+ kFSVolInfoBlocks = 0x0080, /* blockSize, totalBlocks, freeBlocks */
+ kFSVolInfoNextAlloc = 0x0100,
+ kFSVolInfoRsrcClump = 0x0200,
+ kFSVolInfoDataClump = 0x0400,
+ kFSVolInfoNextID = 0x0800,
+ kFSVolInfoFinderInfo = 0x1000,
+ kFSVolInfoFlags = 0x2000,
+ kFSVolInfoFSInfo = 0x4000, /* filesystemID, signature */
+ kFSVolInfoDriveInfo = 0x8000, /* driveNumber, driverRefNum */
+ kFSVolInfoGettableInfo = 0xFFFF, /* This seems like it is here just for completeness */
+ kFSVolInfoSettableInfo = 0x3004 /* backup date, Finder info, flags */
+};
+
+/* FSVolumeInfo.flags bits. These are the same as for ioVAtrb, but with nicer names. */
+enum {
+ kFSVolFlagDefaultVolumeBit = 5, /* Set if the volume is the default volume */
+ kFSVolFlagDefaultVolumeMask = 0x0020,
+ kFSVolFlagFilesOpenBit = 6, /* Set if there are open files or iterators */
+ kFSVolFlagFilesOpenMask = 0x0040,
+ kFSVolFlagHardwareLockedBit = 7, /* Set if volume is locked by a hardware setting */
+ kFSVolFlagHardwareLockedMask = 0x0080,
+ kFSVolFlagSoftwareLockedBit = 15, /* Set if volume is locked by software */
+ kFSVolFlagSoftwareLockedMask = 0x8000
+};
+
+
+struct FSVolumeInfo {
+ /* Dates -- zero means "never" or "unknown" */
+ UTCDateTime createDate;
+ UTCDateTime modifyDate;
+ UTCDateTime backupDate;
+ UTCDateTime checkedDate;
+
+ /* File/Folder counts -- return zero if unknown */
+ UInt32 fileCount; /* total files on volume */
+ UInt32 folderCount; /* total folders on volume */
+ /* Note: no root directory counts */
+
+ UInt64 totalBytes; /* total number of bytes on volume */
+ UInt64 freeBytes; /* number of free bytes on volume */
+
+ /* HFS and HFS Plus specific. Set fields to zero if not appropriate */
+ UInt32 blockSize; /* size (in bytes) of allocation blocks */
+ UInt32 totalBlocks; /* number of allocation blocks in volume */
+ UInt32 freeBlocks; /* number of unused allocation blocks */
+ UInt32 nextAllocation; /* start of next allocation search */
+ UInt32 rsrcClumpSize; /* default resource fork clump size */
+ UInt32 dataClumpSize; /* default data fork clump size */
+ UInt32 nextCatalogID; /* next unused catalog node ID ooo OYG ooo need to make HFSVolumes.h work Should be HFSCatalogNodeID*/
+ UInt8 finderInfo[32]; /* information used by Finder */
+
+ /* Identifying information */
+ UInt16 flags; /* ioVAtrb */
+ UInt16 filesystemID; /* ioVFSID */
+ UInt16 signature; /* ioVSigWord, unique within an FSID */
+ UInt16 driveNumber; /* ioVDrvInfo */
+ short driverRefNum; /* ioVDRefNum */
+};
+typedef struct FSVolumeInfo FSVolumeInfo;
+typedef FSVolumeInfo * FSVolumeInfoPtr;
+struct FSVolumeInfoParam {
+ QElemPtr qLink; /*queue link in header*/
+ short qType; /*type byte for safety check*/
+ short ioTrap; /*FS: the Trap*/
+ Ptr ioCmdAddr; /*FS: address to dispatch to*/
+ IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
+ volatile OSErr ioResult; /*result code*/
+ StringPtr ioNamePtr; /* unused */
+ FSVolumeRefNum ioVRefNum; /* volume refnum */
+
+ UInt32 volumeIndex; /* index, or 0 to use ioVRefNum */
+ FSVolumeInfoBitmap whichInfo; /* which volumeInfo fields to get/set */
+ FSVolumeInfo * volumeInfo; /* information about the volume */
+ HFSUniStr255 * volumeName; /* output; pointer to volume name */
+ FSRef * ref; /* volume's FSRef */
+};
+typedef struct FSVolumeInfoParam FSVolumeInfoParam;
+typedef FSVolumeInfoParam * FSVolumeInfoParamPtr;
+/*
+ MakeFSRef
+ Create an FSRef for an existing object specified by a combination
+ of volume refnum, parent directory, and pathname.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ioNamePtr A pointer to a pathname
+ -> ioVRefNum A volume specification
+ -> ioDirID A directory ID
+ <- newRef A pointer to an FSRef
+*/
+/*
+ * FSpMakeFSRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpMakeFSRef(
+ const FSSpec * source,
+ FSRef * newRef) THREEWORDINLINE(0x303C, 0x041A, 0xAA52);
+
+
+/*
+ * PBMakeFSRefSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBMakeFSRefSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBMakeFSRefSync(FSRefParam * paramBlock) TWOWORDINLINE(0x706E, 0xA260);
+EXTERN_API( OSErr )
+PBMakeFSRefSync(FSRefParam * paramBlock) TWOWORDINLINE(0x706E, 0xA260);
- /*
- * PBMakeFSRefAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBMakeFSRefAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBMakeFSRefAsync(__A0)
#endif
- EXTERN_API(void)
- PBMakeFSRefAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x706E, 0xA660);
-
-
-
- /*
- MakeFSRefUnicode
- Create an FSRef for an existing object specified by
- Parent FSRef and Unicode name.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref A pointer to the parent directory FSRef
- -> name A pointer to Unicde name
- -> nameLength The length of the Unicode Name
- -> textEncodingHint A suggested text encoding to use for the name
- <- newRef A pointer to an FSRef
- */
- /*
- * FSMakeFSRefUnicode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSMakeFSRefUnicode(
- const FSRef * parentRef,
- UniCharCount nameLength,
- const UniChar * name,
- TextEncoding textEncodingHint,
- FSRef * newRef) THREEWORDINLINE(0x303C, 0x0A1B, 0xAA52);
-
-
- /*
- * PBMakeFSRefUnicodeSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBMakeFSRefAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x706E, 0xA660);
+
+
+
+/*
+ MakeFSRefUnicode
+ Create an FSRef for an existing object specified by
+ Parent FSRef and Unicode name.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref A pointer to the parent directory FSRef
+ -> name A pointer to Unicde name
+ -> nameLength The length of the Unicode Name
+ -> textEncodingHint A suggested text encoding to use for the name
+ <- newRef A pointer to an FSRef
+*/
+/*
+ * FSMakeFSRefUnicode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSMakeFSRefUnicode(
+ const FSRef * parentRef,
+ UniCharCount nameLength,
+ const UniChar * name,
+ TextEncoding textEncodingHint,
+ FSRef * newRef) THREEWORDINLINE(0x303C, 0x0A1B, 0xAA52);
+
+
+/*
+ * PBMakeFSRefUnicodeSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBMakeFSRefUnicodeSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBMakeFSRefUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x707A, 0xA260);
+EXTERN_API( OSErr )
+PBMakeFSRefUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x707A, 0xA260);
- /*
- * PBMakeFSRefUnicodeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBMakeFSRefUnicodeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBMakeFSRefUnicodeAsync(__A0)
#endif
- EXTERN_API(void)
- PBMakeFSRefUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x707A, 0xA660);
-
-
-
- /*
- CompareFSRefs
- Test whether two FSRefs refer to the same file or directory.
- If they do, noErr is returned. Otherwise, an appropriate error
- (such as errFSRefsDifferent) is returned.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref A pointer to the first FSRef
- -> parentRef A pointer to the second FSRef
- */
- /*
- * FSCompareFSRefs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSCompareFSRefs(
- const FSRef * ref1,
- const FSRef * ref2) THREEWORDINLINE(0x303C, 0x0435, 0xAA52);
-
-
- /*
- * PBCompareFSRefsSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBMakeFSRefUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x707A, 0xA660);
+
+
+
+/*
+ CompareFSRefs
+ Test whether two FSRefs refer to the same file or directory.
+ If they do, noErr is returned. Otherwise, an appropriate error
+ (such as errFSRefsDifferent) is returned.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref A pointer to the first FSRef
+ -> parentRef A pointer to the second FSRef
+*/
+/*
+ * FSCompareFSRefs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSCompareFSRefs(
+ const FSRef * ref1,
+ const FSRef * ref2) THREEWORDINLINE(0x303C, 0x0435, 0xAA52);
+
+
+/*
+ * PBCompareFSRefsSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCompareFSRefsSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCompareFSRefsSync(FSRefParam * paramBlock) TWOWORDINLINE(0x707C, 0xA260);
+EXTERN_API( OSErr )
+PBCompareFSRefsSync(FSRefParam * paramBlock) TWOWORDINLINE(0x707C, 0xA260);
- /*
- * PBCompareFSRefsAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCompareFSRefsAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBCompareFSRefsAsync(__A0)
#endif
- EXTERN_API(void)
- PBCompareFSRefsAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x707C, 0xA660);
-
-
-
- /*
- CreateFileUnicode
- Creates a new file. The input filename is in Unicode.
- You can optionally set catalog info for the file.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The directory where the file is to be created
- -> whichInfo Which catalog info fields to set
- -> catInfo The values for catalog info fields to set; may be NULL
- -> nameLength Number of Unicode characters in the file's name
- -> name A pointer to the Unicode name
- <- spec A pointer to the FSSpec for the new directory; may be NULL
- <- newRef A pointer to the FSRef for the new file; may be NULL
- */
- /*
- * FSCreateFileUnicode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSCreateFileUnicode(
- const FSRef * parentRef,
- UniCharCount nameLength,
- const UniChar * name,
- FSCatalogInfoBitmap whichInfo,
- const FSCatalogInfo * catalogInfo, /* can be NULL */
- FSRef * newRef, /* can be NULL */
- FSSpec * newSpec) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0E1C, 0xAA52);
-
-
- /*
- * PBCreateFileUnicodeSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBCompareFSRefsAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x707C, 0xA660);
+
+
+
+/*
+ CreateFileUnicode
+ Creates a new file. The input filename is in Unicode.
+ You can optionally set catalog info for the file.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The directory where the file is to be created
+ -> whichInfo Which catalog info fields to set
+ -> catInfo The values for catalog info fields to set; may be NULL
+ -> nameLength Number of Unicode characters in the file's name
+ -> name A pointer to the Unicode name
+ <- spec A pointer to the FSSpec for the new directory; may be NULL
+ <- newRef A pointer to the FSRef for the new file; may be NULL
+*/
+/*
+ * FSCreateFileUnicode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSCreateFileUnicode(
+ const FSRef * parentRef,
+ UniCharCount nameLength,
+ const UniChar * name,
+ FSCatalogInfoBitmap whichInfo,
+ const FSCatalogInfo * catalogInfo, /* can be NULL */
+ FSRef * newRef, /* can be NULL */
+ FSSpec * newSpec) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0E1C, 0xAA52);
+
+
+/*
+ * PBCreateFileUnicodeSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCreateFileUnicodeSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCreateFileUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7070, 0xA260);
+EXTERN_API( OSErr )
+PBCreateFileUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7070, 0xA260);
- /*
- * PBCreateFileUnicodeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCreateFileUnicodeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBCreateFileUnicodeAsync(__A0)
#endif
- EXTERN_API(void)
- PBCreateFileUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7070, 0xA660);
-
-
-
- /*
- CreateDirectoryUnicode
- Creates a new directory. The input directory name is in Unicode.
- You can optionally set catalog info for the directory.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The parent directory where the directory is to be created
- -> whichInfo Which catalog info fields to set
- -> catInfo The values for catalog info fields to set; may be NULL
- -> nameLength Number of Unicode characters in the directory's name
- -> name A pointer to the Unicode name
- <- ioDirID The DirID of the new directory
- <- spec A pointer to the FSSpec for the new directory; may be NULL
- <- newRef A pointer to the FSRef for the new directory; may be NULL
- */
- /*
- * FSCreateDirectoryUnicode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSCreateDirectoryUnicode(
- const FSRef * parentRef,
- UniCharCount nameLength,
- const UniChar * name,
- FSCatalogInfoBitmap whichInfo,
- const FSCatalogInfo * catalogInfo, /* can be NULL */
- FSRef * newRef, /* can be NULL */
- FSSpec * newSpec, /* can be NULL */
- UInt32 * newDirID) /* can be NULL */ THREEWORDINLINE(0x303C, 0x101D, 0xAA52);
-
-
- /*
- * PBCreateDirectoryUnicodeSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBCreateFileUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7070, 0xA660);
+
+
+
+/*
+ CreateDirectoryUnicode
+ Creates a new directory. The input directory name is in Unicode.
+ You can optionally set catalog info for the directory.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The parent directory where the directory is to be created
+ -> whichInfo Which catalog info fields to set
+ -> catInfo The values for catalog info fields to set; may be NULL
+ -> nameLength Number of Unicode characters in the directory's name
+ -> name A pointer to the Unicode name
+ <- ioDirID The DirID of the new directory
+ <- spec A pointer to the FSSpec for the new directory; may be NULL
+ <- newRef A pointer to the FSRef for the new directory; may be NULL
+*/
+/*
+ * FSCreateDirectoryUnicode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSCreateDirectoryUnicode(
+ const FSRef * parentRef,
+ UniCharCount nameLength,
+ const UniChar * name,
+ FSCatalogInfoBitmap whichInfo,
+ const FSCatalogInfo * catalogInfo, /* can be NULL */
+ FSRef * newRef, /* can be NULL */
+ FSSpec * newSpec, /* can be NULL */
+ UInt32 * newDirID) /* can be NULL */ THREEWORDINLINE(0x303C, 0x101D, 0xAA52);
+
+
+/*
+ * PBCreateDirectoryUnicodeSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCreateDirectoryUnicodeSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCreateDirectoryUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7071, 0xA260);
+EXTERN_API( OSErr )
+PBCreateDirectoryUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7071, 0xA260);
- /*
- * PBCreateDirectoryUnicodeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCreateDirectoryUnicodeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBCreateDirectoryUnicodeAsync(__A0)
#endif
- EXTERN_API(void)
- PBCreateDirectoryUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7071, 0xA660);
-
-
-
- /*
- DeleteObject
- Deletes an existing file or directory.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The file or directory to be deleted
- */
- /*
- * FSDeleteObject()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSDeleteObject(const FSRef * ref) THREEWORDINLINE(0x303C, 0x021E, 0xAA52);
-
-
- /*
- * PBDeleteObjectSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBCreateDirectoryUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7071, 0xA660);
+
+
+
+/*
+ DeleteObject
+ Deletes an existing file or directory.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The file or directory to be deleted
+*/
+/*
+ * FSDeleteObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSDeleteObject(const FSRef * ref) THREEWORDINLINE(0x303C, 0x021E, 0xAA52);
+
+
+/*
+ * PBDeleteObjectSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDeleteObjectSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBDeleteObjectSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7072, 0xA260);
+EXTERN_API( OSErr )
+PBDeleteObjectSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7072, 0xA260);
- /*
- * PBDeleteObjectAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDeleteObjectAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBDeleteObjectAsync(__A0)
#endif
- EXTERN_API(void)
- PBDeleteObjectAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7072, 0xA660);
-
-
-
- /*
- MoveObject
- Move an existing file or directory into a different directory.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The file or directory to be moved
- -> parentRef The file or directory will be moved into this directory
- <- newRef A new FSRef for the file or directory in its new location;
- optional, may be NULL
- NOTE: Moving an object may change its FSRef. If you want to continue to
- refer to the object, you should pass a non-NULL pointer in newRef and use
- that returned FSRef to access the object after the move. The FSRef passed
- in "ref" may or may not be usable to access the object after it is moved.
- "newRef" may point to the same storage as "parentRef" or "ref".
- */
- /*
- * FSMoveObject()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSMoveObject(
- const FSRef * ref,
- const FSRef * destDirectory,
- FSRef * newRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x061F, 0xAA52);
-
-
- /*
- * PBMoveObjectSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBDeleteObjectAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7072, 0xA660);
+
+
+
+/*
+ MoveObject
+ Move an existing file or directory into a different directory.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The file or directory to be moved
+ -> parentRef The file or directory will be moved into this directory
+ <- newRef A new FSRef for the file or directory in its new location;
+ optional, may be NULL
+ NOTE: Moving an object may change its FSRef. If you want to continue to
+ refer to the object, you should pass a non-NULL pointer in newRef and use
+ that returned FSRef to access the object after the move. The FSRef passed
+ in "ref" may or may not be usable to access the object after it is moved.
+ "newRef" may point to the same storage as "parentRef" or "ref".
+*/
+/*
+ * FSMoveObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSMoveObject(
+ const FSRef * ref,
+ const FSRef * destDirectory,
+ FSRef * newRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x061F, 0xAA52);
+
+
+/*
+ * PBMoveObjectSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBMoveObjectSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBMoveObjectSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7073, 0xA260);
+EXTERN_API( OSErr )
+PBMoveObjectSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7073, 0xA260);
- /*
- * PBMoveObjectAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBMoveObjectAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBMoveObjectAsync(__A0)
#endif
- EXTERN_API(void)
- PBMoveObjectAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7073, 0xA660);
-
-
-
- /*
- ExchangeObjects
- swap the contents of two files.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The first file
- -> parentRef The second file
- */
- /*
- * FSExchangeObjects()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSExchangeObjects(
- const FSRef * ref,
- const FSRef * destRef) THREEWORDINLINE(0x303C, 0x0421, 0xAA52);
-
-
- /*
- * PBExchangeObjectsSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBMoveObjectAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7073, 0xA660);
+
+
+
+/*
+ ExchangeObjects
+ swap the contents of two files.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The first file
+ -> parentRef The second file
+*/
+/*
+ * FSExchangeObjects()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSExchangeObjects(
+ const FSRef * ref,
+ const FSRef * destRef) THREEWORDINLINE(0x303C, 0x0421, 0xAA52);
+
+
+/*
+ * PBExchangeObjectsSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBExchangeObjectsSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBExchangeObjectsSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7075, 0xA260);
+EXTERN_API( OSErr )
+PBExchangeObjectsSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7075, 0xA260);
- /*
- * PBExchangeObjectsAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBExchangeObjectsAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBExchangeObjectsAsync(__A0)
#endif
- EXTERN_API(void)
- PBExchangeObjectsAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7075, 0xA660);
-
-
-
- /*
- RenameUnicode
- Change the name of an existing file or directory. The new name is in
- Unicode.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The file or directory to be moved
- -> nameLength Number of Unicode characters in the new name
- -> name A pointer to the new Unicode name
- -> textEncodingHint A suggested text encoding to use for the name
- <- newRef A new FSRef for the file or directory; may be NULL
- NOTE: Renaming an object may change its FSRef. If you want to continue to
- refer to the object, you should pass a non-NULL pointer in newRef and use
- that returned FSRef to access the object after the rename. The FSRef passed
- in "ref" may or may not be usable to access the object after it is renamed.
- "newRef" may point to the same storage as "ref".
- */
- /*
- * FSRenameUnicode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSRenameUnicode(
- const FSRef * ref,
- UniCharCount nameLength,
- const UniChar * name,
- TextEncoding textEncodingHint,
- FSRef * newRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A20, 0xAA52);
-
-
- /*
- * PBRenameUnicodeSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBExchangeObjectsAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7075, 0xA660);
+
+
+
+/*
+ RenameUnicode
+ Change the name of an existing file or directory. The new name is in
+ Unicode.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The file or directory to be moved
+ -> nameLength Number of Unicode characters in the new name
+ -> name A pointer to the new Unicode name
+ -> textEncodingHint A suggested text encoding to use for the name
+ <- newRef A new FSRef for the file or directory; may be NULL
+ NOTE: Renaming an object may change its FSRef. If you want to continue to
+ refer to the object, you should pass a non-NULL pointer in newRef and use
+ that returned FSRef to access the object after the rename. The FSRef passed
+ in "ref" may or may not be usable to access the object after it is renamed.
+ "newRef" may point to the same storage as "ref".
+*/
+/*
+ * FSRenameUnicode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSRenameUnicode(
+ const FSRef * ref,
+ UniCharCount nameLength,
+ const UniChar * name,
+ TextEncoding textEncodingHint,
+ FSRef * newRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A20, 0xAA52);
+
+
+/*
+ * PBRenameUnicodeSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBRenameUnicodeSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBRenameUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7074, 0xA260);
+EXTERN_API( OSErr )
+PBRenameUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7074, 0xA260);
- /*
- * PBRenameUnicodeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBRenameUnicodeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBRenameUnicodeAsync(__A0)
#endif
- EXTERN_API(void)
- PBRenameUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7074, 0xA660);
-
-
-
- /*
- GetCatalogInfo
- Returns various information about a given file or directory.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The file or directory whose information is to be returned
- -> whichInfo Which catalog info fields to get
- <- catInfo The returned values of catalog info fields; may be NULL
- <- spec A pointer to the FSSpec for the object; may be NULL
- <- parentRef A pointer to the FSRef for the object's parent directory; may be NULL
- <- outName The Unicode name is returned here. This pointer may be NULL.
- Note: All of the outputs are optional; if you don't want that particular output, just
- set its pointer to NULL. This is the call to use to map from an FSRef to an FSSpec.
- */
- /*
- * FSGetCatalogInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSGetCatalogInfo(
- const FSRef * ref,
- FSCatalogInfoBitmap whichInfo,
- FSCatalogInfo * catalogInfo, /* can be NULL */
- HFSUniStr255 * outName, /* can be NULL */
- FSSpec * fsSpec, /* can be NULL */
- FSRef * parentRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0C22, 0xAA52);
-
-
- /*
- * PBGetCatalogInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBRenameUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7074, 0xA660);
+
+
+
+/*
+ GetCatalogInfo
+ Returns various information about a given file or directory.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The file or directory whose information is to be returned
+ -> whichInfo Which catalog info fields to get
+ <- catInfo The returned values of catalog info fields; may be NULL
+ <- spec A pointer to the FSSpec for the object; may be NULL
+ <- parentRef A pointer to the FSRef for the object's parent directory; may be NULL
+ <- outName The Unicode name is returned here. This pointer may be NULL.
+ Note: All of the outputs are optional; if you don't want that particular output, just
+ set its pointer to NULL. This is the call to use to map from an FSRef to an FSSpec.
+*/
+/*
+ * FSGetCatalogInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSGetCatalogInfo(
+ const FSRef * ref,
+ FSCatalogInfoBitmap whichInfo,
+ FSCatalogInfo * catalogInfo, /* can be NULL */
+ HFSUniStr255 * outName, /* can be NULL */
+ FSSpec * fsSpec, /* can be NULL */
+ FSRef * parentRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0C22, 0xAA52);
+
+
+/*
+ * PBGetCatalogInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetCatalogInfoSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBGetCatalogInfoSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7076, 0xA260);
+EXTERN_API( OSErr )
+PBGetCatalogInfoSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7076, 0xA260);
- /*
- * PBGetCatalogInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetCatalogInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBGetCatalogInfoAsync(__A0)
#endif
- EXTERN_API(void)
- PBGetCatalogInfoAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7076, 0xA660);
-
-
-
- /*
- SetCatalogInfo
- Set catalog information about a given file or directory.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The file or directory whose information is to be changed
- -> whichInfo Which catalog info fields to set
- -> catInfo The new values of catalog info fields
- Note: Only some of the catalog info fields may be set. The settable fields
- are given by the constant kFSCatInfoSettableInfo; no other bits may be set in
- whichInfo.
- */
- /*
- * FSSetCatalogInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSSetCatalogInfo(
- const FSRef * ref,
- FSCatalogInfoBitmap whichInfo,
- const FSCatalogInfo * catalogInfo) THREEWORDINLINE(0x303C, 0x0623, 0xAA52);
-
-
- /*
- * PBSetCatalogInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBGetCatalogInfoAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7076, 0xA660);
+
+
+
+/*
+ SetCatalogInfo
+ Set catalog information about a given file or directory.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The file or directory whose information is to be changed
+ -> whichInfo Which catalog info fields to set
+ -> catInfo The new values of catalog info fields
+ Note: Only some of the catalog info fields may be set. The settable fields
+ are given by the constant kFSCatInfoSettableInfo; no other bits may be set in
+ whichInfo.
+*/
+/*
+ * FSSetCatalogInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSSetCatalogInfo(
+ const FSRef * ref,
+ FSCatalogInfoBitmap whichInfo,
+ const FSCatalogInfo * catalogInfo) THREEWORDINLINE(0x303C, 0x0623, 0xAA52);
+
+
+/*
+ * PBSetCatalogInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetCatalogInfoSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBSetCatalogInfoSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7077, 0xA260);
+EXTERN_API( OSErr )
+PBSetCatalogInfoSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7077, 0xA260);
- /*
- * PBSetCatalogInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetCatalogInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBSetCatalogInfoAsync(__A0)
#endif
- EXTERN_API(void)
- PBSetCatalogInfoAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7077, 0xA660);
-
-
-
- /*
- OpenIterator
- Creates an FSIterator to iterate over a directory or subtree. The
- iterator can then be passed to GetCatalogInfoBulk or CatalogSearch.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- <- iterator The returned FSIterator
- -> iteratorFlags Controls whether the iterator iterates over subtrees
- or just the immediate children of the container.
- -> container An FSRef for the directory to iterate (or root of
- the subtree to iterate).
- */
- /*
- * FSOpenIterator()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSOpenIterator(
- const FSRef * container,
- FSIteratorFlags iteratorFlags,
- FSIterator * iterator) THREEWORDINLINE(0x303C, 0x0624, 0xAA52);
-
-
- /*
- * PBOpenIteratorSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBSetCatalogInfoAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7077, 0xA660);
+
+
+
+/*
+ OpenIterator
+ Creates an FSIterator to iterate over a directory or subtree. The
+ iterator can then be passed to GetCatalogInfoBulk or CatalogSearch.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ <- iterator The returned FSIterator
+ -> iteratorFlags Controls whether the iterator iterates over subtrees
+ or just the immediate children of the container.
+ -> container An FSRef for the directory to iterate (or root of
+ the subtree to iterate).
+*/
+/*
+ * FSOpenIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSOpenIterator(
+ const FSRef * container,
+ FSIteratorFlags iteratorFlags,
+ FSIterator * iterator) THREEWORDINLINE(0x303C, 0x0624, 0xAA52);
+
+
+/*
+ * PBOpenIteratorSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenIteratorSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBOpenIteratorSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x7078, 0xA260);
+EXTERN_API( OSErr )
+PBOpenIteratorSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x7078, 0xA260);
- /*
- * PBOpenIteratorAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBOpenIteratorAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBOpenIteratorAsync(__A0)
#endif
- EXTERN_API(void)
- PBOpenIteratorAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x7078, 0xA660);
-
-
-
- /*
- CloseIterator
- Invalidates and disposes an FSIterator.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> iterator The returned FSIterator
- */
- /*
- * FSCloseIterator()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSCloseIterator(FSIterator iterator) THREEWORDINLINE(0x303C, 0x0225, 0xAA52);
-
-
- /*
- * PBCloseIteratorSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBOpenIteratorAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x7078, 0xA660);
+
+
+
+/*
+ CloseIterator
+ Invalidates and disposes an FSIterator.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> iterator The returned FSIterator
+*/
+/*
+ * FSCloseIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSCloseIterator(FSIterator iterator) THREEWORDINLINE(0x303C, 0x0225, 0xAA52);
+
+
+/*
+ * PBCloseIteratorSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCloseIteratorSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCloseIteratorSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705B, 0xA260);
+EXTERN_API( OSErr )
+PBCloseIteratorSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705B, 0xA260);
- /*
- * PBCloseIteratorAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCloseIteratorAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBCloseIteratorAsync(__A0)
#endif
- EXTERN_API(void)
- PBCloseIteratorAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705B, 0xA660);
-
-
-
- /*
- GetCatalogInfoBulk
- Iterates over catalog objects and returns information about them.
- For now, iterator must have been created with kFSIterateFlat option.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> iterator The iterator
- -> maximumItems The maximum number of items to return
- <- actualItems The actual number of items returned
- <- containerChanged Set to true if the container's contents changed
- -> whichInfo The catalog information fields to return for each item
- <- catalogInfo An array of catalog information; one for each returned item
- <- refs An array of FSRefs; one for each returned item
- <- specs An array of FSSpecs; one for each returned item
- <- names An array of filenames; one for each returned item
- Note: The catalogInfo, refs, specs, names, and containerChanged are all optional outputs;
- if you don't want that particular output, set its pointer to NULL.
- */
- /*
- * FSGetCatalogInfoBulk()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSGetCatalogInfoBulk(
- FSIterator iterator,
- ItemCount maximumObjects,
- ItemCount * actualObjects,
- Boolean * containerChanged, /* can be NULL */
- FSCatalogInfoBitmap whichInfo,
- FSCatalogInfo * catalogInfos, /* can be NULL */
- FSRef * refs, /* can be NULL */
- FSSpec * specs, /* can be NULL */
- HFSUniStr255 * names) /* can be NULL */ THREEWORDINLINE(0x303C, 0x1226, 0xAA52);
-
-
- /*
- * PBGetCatalogInfoBulkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBCloseIteratorAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705B, 0xA660);
+
+
+
+/*
+ GetCatalogInfoBulk
+ Iterates over catalog objects and returns information about them.
+ For now, iterator must have been created with kFSIterateFlat option.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> iterator The iterator
+ -> maximumItems The maximum number of items to return
+ <- actualItems The actual number of items returned
+ <- containerChanged Set to true if the container's contents changed
+ -> whichInfo The catalog information fields to return for each item
+ <- catalogInfo An array of catalog information; one for each returned item
+ <- refs An array of FSRefs; one for each returned item
+ <- specs An array of FSSpecs; one for each returned item
+ <- names An array of filenames; one for each returned item
+ Note: The catalogInfo, refs, specs, names, and containerChanged are all optional outputs;
+ if you don't want that particular output, set its pointer to NULL.
+*/
+/*
+ * FSGetCatalogInfoBulk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSGetCatalogInfoBulk(
+ FSIterator iterator,
+ ItemCount maximumObjects,
+ ItemCount * actualObjects,
+ Boolean * containerChanged, /* can be NULL */
+ FSCatalogInfoBitmap whichInfo,
+ FSCatalogInfo * catalogInfos, /* can be NULL */
+ FSRef * refs, /* can be NULL */
+ FSSpec * specs, /* can be NULL */
+ HFSUniStr255 * names) /* can be NULL */ THREEWORDINLINE(0x303C, 0x1226, 0xAA52);
+
+
+/*
+ * PBGetCatalogInfoBulkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetCatalogInfoBulkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBGetCatalogInfoBulkSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705C, 0xA260);
+EXTERN_API( OSErr )
+PBGetCatalogInfoBulkSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705C, 0xA260);
- /*
- * PBGetCatalogInfoBulkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetCatalogInfoBulkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBGetCatalogInfoBulkAsync(__A0)
#endif
- EXTERN_API(void)
- PBGetCatalogInfoBulkAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705C, 0xA660);
-
-
- /*
- CatalogSearch
- Iterates over catalog objects, searching for objects that match given
- search criteria. Returns various information about matching objects.
- For now, iterator must have been created with kFSIterateSubtree option
- and the container must have been the root directory of a volume.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> iterator The iterator
- -> maximumItems The maximum number of items to return
- <- actualItems The actual number of items returned
- <- containerChanged Set to true if the container's contents changed
- -> whichInfo The catalog information fields to return for each item
- <- catalogInfo An array of catalog information; one for each returned item
- <- refs An array of FSRefs; one for each returned item
- <- specs An array of FSSpecs; one for each returned item
- <- names An array of filenames; one for each returned item
- -> searchParams The criteria that controls the matching, including timeout, a bitmap
- controlling the fields to compare, and the (Unicode) name to compare.
- Note: The catalogInfo, refs, specs, and names are all optional outputs; if you don't want
- that particular output, set its pointer to NULL.
- */
- /*
- * FSCatalogSearch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSCatalogSearch(
- FSIterator iterator,
- const FSSearchParams * searchCriteria,
- ItemCount maximumObjects,
- ItemCount * actualObjects,
- Boolean * containerChanged, /* can be NULL */
- FSCatalogInfoBitmap whichInfo,
- FSCatalogInfo * catalogInfos, /* can be NULL */
- FSRef * refs, /* can be NULL */
- FSSpec * specs, /* can be NULL */
- HFSUniStr255 * names) /* can be NULL */ THREEWORDINLINE(0x303C, 0x1427, 0xAA52);
-
-
- /*
- * PBCatalogSearchSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBGetCatalogInfoBulkAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705C, 0xA660);
+
+
+/*
+ CatalogSearch
+ Iterates over catalog objects, searching for objects that match given
+ search criteria. Returns various information about matching objects.
+ For now, iterator must have been created with kFSIterateSubtree option
+ and the container must have been the root directory of a volume.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> iterator The iterator
+ -> maximumItems The maximum number of items to return
+ <- actualItems The actual number of items returned
+ <- containerChanged Set to true if the container's contents changed
+ -> whichInfo The catalog information fields to return for each item
+ <- catalogInfo An array of catalog information; one for each returned item
+ <- refs An array of FSRefs; one for each returned item
+ <- specs An array of FSSpecs; one for each returned item
+ <- names An array of filenames; one for each returned item
+ -> searchParams The criteria that controls the matching, including timeout, a bitmap
+ controlling the fields to compare, and the (Unicode) name to compare.
+ Note: The catalogInfo, refs, specs, and names are all optional outputs; if you don't want
+ that particular output, set its pointer to NULL.
+*/
+/*
+ * FSCatalogSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSCatalogSearch(
+ FSIterator iterator,
+ const FSSearchParams * searchCriteria,
+ ItemCount maximumObjects,
+ ItemCount * actualObjects,
+ Boolean * containerChanged, /* can be NULL */
+ FSCatalogInfoBitmap whichInfo,
+ FSCatalogInfo * catalogInfos, /* can be NULL */
+ FSRef * refs, /* can be NULL */
+ FSSpec * specs, /* can be NULL */
+ HFSUniStr255 * names) /* can be NULL */ THREEWORDINLINE(0x303C, 0x1427, 0xAA52);
+
+
+/*
+ * PBCatalogSearchSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCatalogSearchSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCatalogSearchSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705D, 0xA260);
+EXTERN_API( OSErr )
+PBCatalogSearchSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705D, 0xA260);
- /*
- * PBCatalogSearchAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCatalogSearchAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBCatalogSearchAsync(__A0)
#endif
- EXTERN_API(void)
- PBCatalogSearchAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705D, 0xA660);
-
-
-
- /*
- CreateFork
- Create a named fork for a file or directory.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The file or directory
- -> forkNameLength The length of the fork name (in Unicode characters)
- -> forkName The name of the fork to open (in Unicode)
- */
- /*
- * FSCreateFork()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSCreateFork(
- const FSRef * ref,
- UniCharCount forkNameLength,
- const UniChar * forkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0636, 0xAA52);
-
-
- /*
- * PBCreateForkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBCatalogSearchAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705D, 0xA660);
+
+
+
+/*
+ CreateFork
+ Create a named fork for a file or directory.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The file or directory
+ -> forkNameLength The length of the fork name (in Unicode characters)
+ -> forkName The name of the fork to open (in Unicode)
+*/
+/*
+ * FSCreateFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSCreateFork(
+ const FSRef * ref,
+ UniCharCount forkNameLength,
+ const UniChar * forkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0636, 0xAA52);
+
+
+/*
+ * PBCreateForkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCreateForkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCreateForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707D, 0xA260);
+EXTERN_API( OSErr )
+PBCreateForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707D, 0xA260);
- /*
- * PBCreateForkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCreateForkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBCreateForkAsync(__A0)
#endif
- EXTERN_API(void)
- PBCreateForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707D, 0xA660);
-
-
-
- /*
- DeleteFork
- Delete a named fork of a file or directory.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The file or directory
- -> forkNameLength The length of the fork name (in Unicode characters)
- -> forkName The name of the fork to open (in Unicode)
- */
- /*
- * FSDeleteFork()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSDeleteFork(
- const FSRef * ref,
- UniCharCount forkNameLength,
- const UniChar * forkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0637, 0xAA52);
-
-
- /*
- * PBDeleteForkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBCreateForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707D, 0xA660);
+
+
+
+/*
+ DeleteFork
+ Delete a named fork of a file or directory.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The file or directory
+ -> forkNameLength The length of the fork name (in Unicode characters)
+ -> forkName The name of the fork to open (in Unicode)
+*/
+/*
+ * FSDeleteFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSDeleteFork(
+ const FSRef * ref,
+ UniCharCount forkNameLength,
+ const UniChar * forkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0637, 0xAA52);
+
+
+/*
+ * PBDeleteForkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBDeleteForkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBDeleteForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707E, 0xA260);
+EXTERN_API( OSErr )
+PBDeleteForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707E, 0xA260);
- /*
- * PBDeleteForkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBDeleteForkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBDeleteForkAsync(__A0)
#endif
- EXTERN_API(void)
- PBDeleteForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707E, 0xA660);
-
-
-
- /*
- IterateForks
- Return the names and sizes of the forks of a file or directory.
- One fork is returned per call.
- -> ioCompletion A pointer to a completion routine.
- <- ioResult The result code of the function.
- -> ref The file or directory containing the forks.
- <- positionOffset The length of the fork, in bytes.
- <- allocationAmount The space allocated to the fork (physical length).
- <- outForkName The name of the fork in Unicode.
- <> forkIterator Maintains state between calls for a given FSRef.
- Before the first call, set the initialize field to zero.
- */
- /*
- * FSIterateForks()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSIterateForks(
- const FSRef * ref,
- CatPositionRec * forkIterator,
- HFSUniStr255 * forkName, /* can be NULL */
- SInt64 * forkSize, /* can be NULL */
- UInt64 * forkPhysicalSize) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A38, 0xAA52);
-
-
- /*
- * PBIterateForksSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBDeleteForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707E, 0xA660);
+
+
+
+/*
+ IterateForks
+ Return the names and sizes of the forks of a file or directory.
+ One fork is returned per call.
+ -> ioCompletion A pointer to a completion routine.
+ <- ioResult The result code of the function.
+ -> ref The file or directory containing the forks.
+ <- positionOffset The length of the fork, in bytes.
+ <- allocationAmount The space allocated to the fork (physical length).
+ <- outForkName The name of the fork in Unicode.
+ <> forkIterator Maintains state between calls for a given FSRef.
+ Before the first call, set the initialize field to zero.
+*/
+/*
+ * FSIterateForks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSIterateForks(
+ const FSRef * ref,
+ CatPositionRec * forkIterator,
+ HFSUniStr255 * forkName, /* can be NULL */
+ SInt64 * forkSize, /* can be NULL */
+ UInt64 * forkPhysicalSize) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A38, 0xAA52);
+
+
+/*
+ * PBIterateForksSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBIterateForksSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBIterateForksSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707F, 0xA260);
+EXTERN_API( OSErr )
+PBIterateForksSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707F, 0xA260);
- /*
- * PBIterateForksAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBIterateForksAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBIterateForksAsync(__A0)
#endif
- EXTERN_API(void)
- PBIterateForksAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707F, 0xA660);
-
-
-
- /*
- OpenFork
- Open a fork for reading and/or writing. Allows the opened fork
- to grow beyond 2GB in size. All volumes should support data and
- resource forks. Other named forks may be supported by some
- volumes.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ref The file or directory containing the fork to open
- -> forkNameLength The length of the fork name (in Unicode characters)
- -> forkName The name of the fork to open (in Unicode)
- -> permissions The access (read and/or write) you want
- <- forkRefNum The reference number for accessing the open fork
- */
- /*
- * FSOpenFork()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSOpenFork(
- const FSRef * ref,
- UniCharCount forkNameLength,
- const UniChar * forkName, /* can be NULL */
- SInt8 permissions,
- SInt16 * forkRefNum) THREEWORDINLINE(0x303C, 0x0928, 0xAA52);
-
-
- /*
- * PBOpenForkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBIterateForksAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707F, 0xA660);
+
+
+
+/*
+ OpenFork
+ Open a fork for reading and/or writing. Allows the opened fork
+ to grow beyond 2GB in size. All volumes should support data and
+ resource forks. Other named forks may be supported by some
+ volumes.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ref The file or directory containing the fork to open
+ -> forkNameLength The length of the fork name (in Unicode characters)
+ -> forkName The name of the fork to open (in Unicode)
+ -> permissions The access (read and/or write) you want
+ <- forkRefNum The reference number for accessing the open fork
+*/
+/*
+ * FSOpenFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSOpenFork(
+ const FSRef * ref,
+ UniCharCount forkNameLength,
+ const UniChar * forkName, /* can be NULL */
+ SInt8 permissions,
+ SInt16 * forkRefNum) THREEWORDINLINE(0x303C, 0x0928, 0xAA52);
+
+
+/*
+ * PBOpenForkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBOpenForkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBOpenForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7079, 0xA260);
+EXTERN_API( OSErr )
+PBOpenForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7079, 0xA260);
- /*
- * PBOpenForkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBOpenForkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBOpenForkAsync(__A0)
#endif
- EXTERN_API(void)
- PBOpenForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7079, 0xA660);
-
-
-
- /*
- ReadFork
- Read data from a fork opened via OpenFork. The first byte to read is
- indicated by a combination of positionMode and positionOffset.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork to read from
- <- buffer Pointer to buffer where data will be returned
- -> requestCount The number of bytes to read
- <- actualCount The number of bytes actually read
- -> positionMode The base location for start of read
- -> positionOffset The offset from base location for start of read
- */
- /*
- * FSReadFork()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSReadFork(
- SInt16 forkRefNum,
- UInt16 positionMode,
- SInt64 positionOffset,
- ByteCount requestCount,
- void * buffer,
- ByteCount * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A29, 0xAA52);
-
-
- /*
- * PBReadForkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBOpenForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7079, 0xA660);
+
+
+
+/*
+ ReadFork
+ Read data from a fork opened via OpenFork. The first byte to read is
+ indicated by a combination of positionMode and positionOffset.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork to read from
+ <- buffer Pointer to buffer where data will be returned
+ -> requestCount The number of bytes to read
+ <- actualCount The number of bytes actually read
+ -> positionMode The base location for start of read
+ -> positionOffset The offset from base location for start of read
+*/
+/*
+ * FSReadFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSReadFork(
+ SInt16 forkRefNum,
+ UInt16 positionMode,
+ SInt64 positionOffset,
+ ByteCount requestCount,
+ void * buffer,
+ ByteCount * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A29, 0xAA52);
+
+
+/*
+ * PBReadForkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBReadForkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBReadForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7051, 0xA2A8);
+EXTERN_API( OSErr )
+PBReadForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7051, 0xA2A8);
- /*
- * PBReadForkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBReadForkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBReadForkAsync(__A0)
#endif
- EXTERN_API(void)
- PBReadForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7051, 0xA6A8);
-
-
-
- /*
- WriteFork
- Write data to a fork opened via OpenFork. The first byte to write is
- indicated by a combination of positionMode and positionOffset.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork to write to
- -> buffer Pointer to data to write
- -> requestCount The number of bytes to write
- <- actualCount The number of bytes actually written
- -> positionMode The base location for start of write
- -> positionOffset The offset from base location for start of write
- */
- /*
- * FSWriteFork()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSWriteFork(
- SInt16 forkRefNum,
- UInt16 positionMode,
- SInt64 positionOffset,
- ByteCount requestCount,
- const void * buffer,
- ByteCount * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A2A, 0xAA52);
-
-
- /*
- * PBWriteForkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBReadForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7051, 0xA6A8);
+
+
+
+/*
+ WriteFork
+ Write data to a fork opened via OpenFork. The first byte to write is
+ indicated by a combination of positionMode and positionOffset.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork to write to
+ -> buffer Pointer to data to write
+ -> requestCount The number of bytes to write
+ <- actualCount The number of bytes actually written
+ -> positionMode The base location for start of write
+ -> positionOffset The offset from base location for start of write
+*/
+/*
+ * FSWriteFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSWriteFork(
+ SInt16 forkRefNum,
+ UInt16 positionMode,
+ SInt64 positionOffset,
+ ByteCount requestCount,
+ const void * buffer,
+ ByteCount * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A2A, 0xAA52);
+
+
+/*
+ * PBWriteForkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBWriteForkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBWriteForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7052, 0xA2A8);
+EXTERN_API( OSErr )
+PBWriteForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7052, 0xA2A8);
- /*
- * PBWriteForkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBWriteForkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBWriteForkAsync(__A0)
#endif
- EXTERN_API(void)
- PBWriteForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7052, 0xA6A8);
-
-
-
- /*
- GetForkPosition
- Get the current (default) position of a fork that was
- opened via OpenFork.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork
- <- positionOffset The current position of the fork
- */
- /*
- * FSGetForkPosition()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSGetForkPosition(
- SInt16 forkRefNum,
- SInt64 * position) THREEWORDINLINE(0x303C, 0x032B, 0xAA52);
-
-
- /*
- * PBGetForkPositionSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBWriteForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7052, 0xA6A8);
+
+
+
+/*
+ GetForkPosition
+ Get the current (default) position of a fork that was
+ opened via OpenFork.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork
+ <- positionOffset The current position of the fork
+*/
+/*
+ * FSGetForkPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSGetForkPosition(
+ SInt16 forkRefNum,
+ SInt64 * position) THREEWORDINLINE(0x303C, 0x032B, 0xAA52);
+
+
+/*
+ * PBGetForkPositionSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetForkPositionSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBGetForkPositionSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7053, 0xA260);
+EXTERN_API( OSErr )
+PBGetForkPositionSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7053, 0xA260);
- /*
- * PBGetForkPositionAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetForkPositionAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBGetForkPositionAsync(__A0)
#endif
- EXTERN_API(void)
- PBGetForkPositionAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7053, 0xA660);
-
-
-
- /*
- SetForkPosition
- Set the current (default) position of a fork that was
- opened via OpenFork.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork
- -> positionMode The base location for the new position
- -> positionOffset The offset of the new position from the base
- */
- /*
- * FSSetForkPosition()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSSetForkPosition(
- SInt16 forkRefNum,
- UInt16 positionMode,
- SInt64 positionOffset) THREEWORDINLINE(0x303C, 0x042C, 0xAA52);
-
-
- /*
- * PBSetForkPositionSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBGetForkPositionAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7053, 0xA660);
+
+
+
+/*
+ SetForkPosition
+ Set the current (default) position of a fork that was
+ opened via OpenFork.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork
+ -> positionMode The base location for the new position
+ -> positionOffset The offset of the new position from the base
+*/
+/*
+ * FSSetForkPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSSetForkPosition(
+ SInt16 forkRefNum,
+ UInt16 positionMode,
+ SInt64 positionOffset) THREEWORDINLINE(0x303C, 0x042C, 0xAA52);
+
+
+/*
+ * PBSetForkPositionSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetForkPositionSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBSetForkPositionSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7054, 0xA260);
+EXTERN_API( OSErr )
+PBSetForkPositionSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7054, 0xA260);
- /*
- * PBSetForkPositionAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetForkPositionAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBSetForkPositionAsync(__A0)
#endif
- EXTERN_API(void)
- PBSetForkPositionAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7054, 0xA660);
-
-
-
- /*
- GetForkSize
- Get the current logical size (end-of-file) of an open fork.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork
- <- positionOffset The logical size of the fork, in bytes
- */
- /*
- * FSGetForkSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSGetForkSize(
- SInt16 forkRefNum,
- SInt64 * forkSize) THREEWORDINLINE(0x303C, 0x032D, 0xAA52);
-
-
- /*
- * PBGetForkSizeSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBSetForkPositionAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7054, 0xA660);
+
+
+
+/*
+ GetForkSize
+ Get the current logical size (end-of-file) of an open fork.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork
+ <- positionOffset The logical size of the fork, in bytes
+*/
+/*
+ * FSGetForkSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSGetForkSize(
+ SInt16 forkRefNum,
+ SInt64 * forkSize) THREEWORDINLINE(0x303C, 0x032D, 0xAA52);
+
+
+/*
+ * PBGetForkSizeSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetForkSizeSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBGetForkSizeSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7055, 0xA260);
+EXTERN_API( OSErr )
+PBGetForkSizeSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7055, 0xA260);
- /*
- * PBGetForkSizeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetForkSizeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBGetForkSizeAsync(__A0)
#endif
- EXTERN_API(void)
- PBGetForkSizeAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7055, 0xA660);
-
-
-
- /*
- SetForkSize
- Set the logical size (end-of-file) of an open fork. This
- may cause space to be allocated or deallocated.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork
- -> positionMode The base location for the new size
- -> positionOffset The offset of the new size from the base
- */
- /*
- * FSSetForkSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSSetForkSize(
- SInt16 forkRefNum,
- UInt16 positionMode,
- SInt64 positionOffset) THREEWORDINLINE(0x303C, 0x042E, 0xAA52);
-
-
- /*
- * PBSetForkSizeSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBGetForkSizeAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7055, 0xA660);
+
+
+
+/*
+ SetForkSize
+ Set the logical size (end-of-file) of an open fork. This
+ may cause space to be allocated or deallocated.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork
+ -> positionMode The base location for the new size
+ -> positionOffset The offset of the new size from the base
+*/
+/*
+ * FSSetForkSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSSetForkSize(
+ SInt16 forkRefNum,
+ UInt16 positionMode,
+ SInt64 positionOffset) THREEWORDINLINE(0x303C, 0x042E, 0xAA52);
+
+
+/*
+ * PBSetForkSizeSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetForkSizeSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBSetForkSizeSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7056, 0xA260);
+EXTERN_API( OSErr )
+PBSetForkSizeSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7056, 0xA260);
- /*
- * PBSetForkSizeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetForkSizeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBSetForkSizeAsync(__A0)
#endif
- EXTERN_API(void)
- PBSetForkSizeAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7056, 0xA660);
-
-
-
- /*
- AllocateFork
- Allocate space to an open fork. Typically, the space to be
- allocated is beyond the current size of the fork, to reserve
- space so the file will be able to grow later. Some volume
- formats are unable to allocate space beyond the logical size
- of the fork.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork
- -> positionMode The base location for start of allocation
- -> positionOffset The offset of the start of allocation
- -> allocationFlags Zero or more of the following flags:
- kFSAllocContiguousMask
- Any newly allocated space must be one contiguous piece.
- kFSAllocAllOrNothingMask
- All of the request space must be available, or the call
- will fail. (If not set, the call may succeed even though
- some of the requested space wasn't allocated.)
- kFSAllocNoRoundUpMask
- Do not allocate additional space. (If not set, a volume
- may allocate additional space in order to reduce fragmentation.)
- <> allocationAmount The number of bytes to allocate
- On output, the number of bytes actually added
- */
- /*
- * FSAllocateFork()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSAllocateFork(
- SInt16 forkRefNum,
- FSAllocationFlags flags,
- UInt16 positionMode,
- SInt64 positionOffset,
- UInt64 requestCount,
- UInt64 * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x092F, 0xAA52);
-
-
- /*
- * PBAllocateForkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBSetForkSizeAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7056, 0xA660);
+
+
+
+/*
+ AllocateFork
+ Allocate space to an open fork. Typically, the space to be
+ allocated is beyond the current size of the fork, to reserve
+ space so the file will be able to grow later. Some volume
+ formats are unable to allocate space beyond the logical size
+ of the fork.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork
+ -> positionMode The base location for start of allocation
+ -> positionOffset The offset of the start of allocation
+ -> allocationFlags Zero or more of the following flags:
+ kFSAllocContiguousMask
+ Any newly allocated space must be one contiguous piece.
+ kFSAllocAllOrNothingMask
+ All of the request space must be available, or the call
+ will fail. (If not set, the call may succeed even though
+ some of the requested space wasn't allocated.)
+ kFSAllocNoRoundUpMask
+ Do not allocate additional space. (If not set, a volume
+ may allocate additional space in order to reduce fragmentation.)
+ <> allocationAmount The number of bytes to allocate
+ On output, the number of bytes actually added
+*/
+/*
+ * FSAllocateFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSAllocateFork(
+ SInt16 forkRefNum,
+ FSAllocationFlags flags,
+ UInt16 positionMode,
+ SInt64 positionOffset,
+ UInt64 requestCount,
+ UInt64 * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x092F, 0xAA52);
+
+
+/*
+ * PBAllocateForkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBAllocateForkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBAllocateForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7057, 0xA260);
+EXTERN_API( OSErr )
+PBAllocateForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7057, 0xA260);
- /*
- * PBAllocateForkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBAllocateForkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBAllocateForkAsync(__A0)
#endif
- EXTERN_API(void)
- PBAllocateForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7057, 0xA660);
-
-
-
- /*
- FlushFork
- Flush a fork. Any data written to this fork refnum is flushed to the device.
- The volume's control structures are also flushed to the device.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork to flush
- */
- /*
- * FSFlushFork()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSFlushFork(SInt16 forkRefNum) THREEWORDINLINE(0x303C, 0x0130, 0xAA52);
-
-
- /*
- * PBFlushForkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBAllocateForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7057, 0xA660);
+
+
+
+/*
+ FlushFork
+ Flush a fork. Any data written to this fork refnum is flushed to the device.
+ The volume's control structures are also flushed to the device.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork to flush
+*/
+/*
+ * FSFlushFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSFlushFork(SInt16 forkRefNum) THREEWORDINLINE(0x303C, 0x0130, 0xAA52);
+
+
+/*
+ * PBFlushForkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBFlushForkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBFlushForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7058, 0xA260);
+EXTERN_API( OSErr )
+PBFlushForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7058, 0xA260);
- /*
- * PBFlushForkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBFlushForkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBFlushForkAsync(__A0)
#endif
- EXTERN_API(void)
- PBFlushForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7058, 0xA660);
-
-
-
- /*
- CloseFork
- Flush and close a fork. Any data written to this fork refnum is flushed
- to the device. The volume's control structures are also flushed to the device.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> forkRefNum The reference number of the fork to close
- */
- /*
- * FSCloseFork()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSCloseFork(SInt16 forkRefNum) THREEWORDINLINE(0x303C, 0x0131, 0xAA52);
-
-
- /*
- * PBCloseForkSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBFlushForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7058, 0xA660);
+
+
+
+/*
+ CloseFork
+ Flush and close a fork. Any data written to this fork refnum is flushed
+ to the device. The volume's control structures are also flushed to the device.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> forkRefNum The reference number of the fork to close
+*/
+/*
+ * FSCloseFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSCloseFork(SInt16 forkRefNum) THREEWORDINLINE(0x303C, 0x0131, 0xAA52);
+
+
+/*
+ * PBCloseForkSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBCloseForkSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBCloseForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7059, 0xA260);
+EXTERN_API( OSErr )
+PBCloseForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7059, 0xA260);
- /*
- * PBCloseForkAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBCloseForkAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBCloseForkAsync(__A0)
#endif
- EXTERN_API(void)
- PBCloseForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7059, 0xA660);
-
-
-
- /*
- GetForkCBInfo
- Return information about an open fork.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- <> desiredRefNum If non-zero on input, then get information for this refnum;
- unchanged on output. If zero on input, iterate over all open
- forks (possibly limited to a single volume); on output, contains
- the fork's refnum.
- -> volumeRefNum Used when desiredRefNum is zero on input. Set to 0 to iterate over all
- volumes, or set to a FSVolumeRefNum to limit iteration to that volume.
- <> iterator Used when desiredRefNum is zero on input. Set to 0 before iterating.
- Pass the iterator returned by the previous call to continue iterating.
- <- actualRefNum The refnum of the open fork.
- <- ref The FSRef for the file or directory that contains the fork.
- <- forkInfo Various information about the open fork.
- <- outForkName The name of the fork
- Note: the foundRefNum, ref, forkInfo, and fork name outputs are all optional; if you don't want
- a particular output, then set its pointer to NULL. If forkName is NULL, then forkNameLength
- will be undefined.
- Note: Returning the forkInfo generally does not require a disk access. Returning the
- ref or forkName may cause disk access for some volume formats.
- */
- /*
- * FSGetForkCBInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSGetForkCBInfo(
- SInt16 desiredRefNum,
- FSVolumeRefNum volume,
- SInt16 * iterator, /* can be NULL */
- SInt16 * actualRefNum, /* can be NULL */
- FSForkInfo * forkInfo, /* can be NULL */
- FSRef * ref, /* can be NULL */
- HFSUniStr255 * outForkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0C32, 0xAA52);
-
-
- /*
- * PBGetForkCBInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBCloseForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7059, 0xA660);
+
+
+
+/*
+ GetForkCBInfo
+ Return information about an open fork.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ <> desiredRefNum If non-zero on input, then get information for this refnum;
+ unchanged on output. If zero on input, iterate over all open
+ forks (possibly limited to a single volume); on output, contains
+ the fork's refnum.
+ -> volumeRefNum Used when desiredRefNum is zero on input. Set to 0 to iterate over all
+ volumes, or set to a FSVolumeRefNum to limit iteration to that volume.
+ <> iterator Used when desiredRefNum is zero on input. Set to 0 before iterating.
+ Pass the iterator returned by the previous call to continue iterating.
+ <- actualRefNum The refnum of the open fork.
+ <- ref The FSRef for the file or directory that contains the fork.
+ <- forkInfo Various information about the open fork.
+ <- outForkName The name of the fork
+ Note: the foundRefNum, ref, forkInfo, and fork name outputs are all optional; if you don't want
+ a particular output, then set its pointer to NULL. If forkName is NULL, then forkNameLength
+ will be undefined.
+ Note: Returning the forkInfo generally does not require a disk access. Returning the
+ ref or forkName may cause disk access for some volume formats.
+*/
+/*
+ * FSGetForkCBInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSGetForkCBInfo(
+ SInt16 desiredRefNum,
+ FSVolumeRefNum volume,
+ SInt16 * iterator, /* can be NULL */
+ SInt16 * actualRefNum, /* can be NULL */
+ FSForkInfo * forkInfo, /* can be NULL */
+ FSRef * ref, /* can be NULL */
+ HFSUniStr255 * outForkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0C32, 0xAA52);
+
+
+/*
+ * PBGetForkCBInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetForkCBInfoSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBGetForkCBInfoSync(FSForkCBInfoParam * paramBlock) TWOWORDINLINE(0x705A, 0xA260);
+EXTERN_API( OSErr )
+PBGetForkCBInfoSync(FSForkCBInfoParam * paramBlock) TWOWORDINLINE(0x705A, 0xA260);
- /*
- * PBGetForkCBInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetForkCBInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBGetForkCBInfoAsync(__A0)
#endif
- EXTERN_API(void)
- PBGetForkCBInfoAsync(FSForkCBInfoParam * paramBlock) TWOWORDINLINE(0x705A, 0xA660);
-
-
-
- /*
- GetVolumeInfo
- Returns various information about a given volume, or indexing over all volumes.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- <> ioVRefNum On input, the volume reference number or drive number whose
- information is to be returned (if volumeIndex is 0); same
- as "volume" input to FSGetVolumeInfo.
- On output, the actual volume reference number; same as
- "actualVolume" output of FSGetVolumeInfo.
- -> volumeIndex The index of the desired volume, or 0 to use ioVRefNum
- -> whichInfo Which volInfo info fields to get
- <- volumeInfo The returned values of Volume info fields; may be NULL
- <- name The Unicode name is returned here. This pointer may be NULL.
- Note: All of the outputs are optional; if you don't want that particular output, just
- set its pointer to NULL.
- */
- /*
- * FSGetVolumeInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSGetVolumeInfo(
- FSVolumeRefNum volume,
- ItemCount volumeIndex,
- FSVolumeRefNum * actualVolume, /* can be NULL */
- FSVolumeInfoBitmap whichInfo,
- FSVolumeInfo * info, /* can be NULL */
- HFSUniStr255 * volumeName, /* can be NULL */
- FSRef * rootDirectory) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0D33, 0xAA52);
-
-
- /*
- * PBGetVolumeInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBGetForkCBInfoAsync(FSForkCBInfoParam * paramBlock) TWOWORDINLINE(0x705A, 0xA660);
+
+
+
+/*
+ GetVolumeInfo
+ Returns various information about a given volume, or indexing over all volumes.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ <> ioVRefNum On input, the volume reference number or drive number whose
+ information is to be returned (if volumeIndex is 0); same
+ as "volume" input to FSGetVolumeInfo.
+ On output, the actual volume reference number; same as
+ "actualVolume" output of FSGetVolumeInfo.
+ -> volumeIndex The index of the desired volume, or 0 to use ioVRefNum
+ -> whichInfo Which volInfo info fields to get
+ <- volumeInfo The returned values of Volume info fields; may be NULL
+ <- name The Unicode name is returned here. This pointer may be NULL.
+ Note: All of the outputs are optional; if you don't want that particular output, just
+ set its pointer to NULL.
+*/
+/*
+ * FSGetVolumeInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSGetVolumeInfo(
+ FSVolumeRefNum volume,
+ ItemCount volumeIndex,
+ FSVolumeRefNum * actualVolume, /* can be NULL */
+ FSVolumeInfoBitmap whichInfo,
+ FSVolumeInfo * info, /* can be NULL */
+ HFSUniStr255 * volumeName, /* can be NULL */
+ FSRef * rootDirectory) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0D33, 0xAA52);
+
+
+/*
+ * PBGetVolumeInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBGetVolumeInfoSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBGetVolumeInfoSync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701D, 0xA260);
+EXTERN_API( OSErr )
+PBGetVolumeInfoSync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701D, 0xA260);
- /*
- * PBGetVolumeInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBGetVolumeInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBGetVolumeInfoAsync(__A0)
#endif
- EXTERN_API(void)
- PBGetVolumeInfoAsync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701D, 0xA660);
-
-
-
- /*
- SetVolumeInfo
- Set information about a given volume.
- -> ioCompletion A pointer to a completion routine
- <- ioResult The result code of the function
- -> ioVRefNum The volume whose information is to be changed
- -> whichInfo Which catalog info fields to set
- -> volumeInfo The new values of volume info fields
- Note: Only some of the volume info fields may be set. The settable fields
- are given by the constant kFSVolInfoSettableInfo; no other bits may be set in
- whichInfo.
- */
- /*
- * FSSetVolumeInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSSetVolumeInfo(
- FSVolumeRefNum volume,
- FSVolumeInfoBitmap whichInfo,
- const FSVolumeInfo * info) THREEWORDINLINE(0x303C, 0x0534, 0xAA52);
-
-
- /*
- * PBSetVolumeInfoSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PBGetVolumeInfoAsync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701D, 0xA660);
+
+
+
+/*
+ SetVolumeInfo
+ Set information about a given volume.
+ -> ioCompletion A pointer to a completion routine
+ <- ioResult The result code of the function
+ -> ioVRefNum The volume whose information is to be changed
+ -> whichInfo Which catalog info fields to set
+ -> volumeInfo The new values of volume info fields
+ Note: Only some of the volume info fields may be set. The settable fields
+ are given by the constant kFSVolInfoSettableInfo; no other bits may be set in
+ whichInfo.
+*/
+/*
+ * FSSetVolumeInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSSetVolumeInfo(
+ FSVolumeRefNum volume,
+ FSVolumeInfoBitmap whichInfo,
+ const FSVolumeInfo * info) THREEWORDINLINE(0x303C, 0x0534, 0xAA52);
+
+
+/*
+ * PBSetVolumeInfoSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PBSetVolumeInfoSync(__A0)
#endif
- EXTERN_API(OSErr)
- PBSetVolumeInfoSync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701E, 0xA260);
+EXTERN_API( OSErr )
+PBSetVolumeInfoSync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701E, 0xA260);
- /*
- * PBSetVolumeInfoAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PBSetVolumeInfoAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PBSetVolumeInfoAsync(__A0)
#endif
- EXTERN_API(void)
- PBSetVolumeInfoAsync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701E, 0xA660);
-
-
- /*
- FSGetDataForkName
- Returns the constant for the name of the data fork (the empty string)
- */
- /*
- * FSGetDataForkName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSGetDataForkName(HFSUniStr255 * dataForkName) THREEWORDINLINE(0x303C, 0x0218, 0xAA52);
-
-
- /*
- FSGetResourceForkName
- Returns the constant for the name of the resource fork
- (currently "RESOURCE_FORK").
- */
- /*
- * FSGetResourceForkName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSGetResourceForkName(HFSUniStr255 * resourceForkName) THREEWORDINLINE(0x303C, 0x0219, 0xAA52);
-
-
- /*
- * FSRefMakePath()
- *
- * Summary:
- * converts an FSRef to a POSIX path
- *
- * Parameters:
- *
- * ref:
- * the file/dir to get the POSIX path for
- *
- * path:
- * a pointer to a buffer which FSRefMakePath will fill with a UTF8
- * encoded C string representing the path the the specified FSRef
- *
- * maxPathSize:
- * the maximum size path length in bytes that path can hold
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- FSRefMakePath(
- const FSRef * ref,
- UInt8 * path,
- UInt32 maxPathSize);
-
-
- /*
- * FSPathMakeRef()
- *
- * Summary:
- * converts a POSIX path to an FSRef
- *
- * Parameters:
- *
- * path:
- * a pointer to a UTF8 encoded C String that is a POSIX path
- *
- * ref:
- * a pointer to an FSRef to fill in
- *
- * isDirectory:
- * an optional pointer to a Boolean that will be filled in with
- * whether the specified path is a directory (vs. a file)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- FSPathMakeRef(
- const UInt8 * path,
- FSRef * ref,
- Boolean * isDirectory); /* can be NULL */
-
-
-
-
- /*
- * FNMessage
- *
- * Discussion:
- * Messages broadcast about a directory. If system clients (such as
- * the Finder) are interested in changes to a directory, they will
- * receive notifications when application code broadcasts change
- * messages about that directory.
- */
- typedef UInt32 FNMessage;
- enum
- {
- kFNDirectoryModifiedMessage = 1
- };
-
- /*
- * FNNotify()
- *
- * Summary:
- * Broadcasts notification of changes to the specified directory.
- *
- * Discussion:
- * FNNotify is used to notify system clients (such as the Finder) of
- * modifications to the contents of a directory, specifically
- * addition or removal of files or folders from the directory. The
- * Finder and other system clients will refresh their views of the
- * specified directory when they receive the change notification.
- * FNNotify is not meant to notify the Finder of changes to a
- * specific file (for example, changes to a file's type or creator);
- * for that purpose, use a kAESync AppleEvent sent to the Finder.
- *
- * Parameters:
- *
- * ref:
- * The directory for which to broadcast the notification
- *
- * message:
- * An indication of what happened to the target directory
- *
- * flags:
- * Options about delivery of the notification (specify kNilOptions
- * for default behaviour)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNNotify(
- const FSRef * ref,
- FNMessage message,
- OptionBits flags);
-
-
- /*
- * FNNotifyByPath()
- *
- * Summary:
- * Broadcasts notification of changes to the specified directory.
- *
- * Parameters:
- *
- * path:
- * Path to the directory for which to broadcast the notification
- *
- * message:
- * An indication of what happened to the target directory
- *
- * flags:
- * Options about delivery of the notification (specify kNilOptions
- * for default behaviour)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNNotifyByPath(
- const UInt8 * path,
- FNMessage message,
- OptionBits flags);
-
-
- /*
- * FNNotifyAll()
- *
- * Discussion:
- * Broadcasts notification of changes to the filesystem (should only
- * be used by installers or programs which make lots of changes and
- * only send one broadcast).
- *
- * Parameters:
- *
- * message:
- * An indication of what happened
- *
- * flags:
- * Options about delivery of the notification (specify kNilOptions
- * for default behaviour)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNNotifyAll(
- FNMessage message,
- OptionBits flags);
-
-
-
-
- /*
- * FNSubscriptionRef
- *
- * Discussion:
- * A token associated with a notification subscription. The
- * subscriber gets one back when they subscribe to notifications for
- * a particular directory, and they supply it when the unsubscribe.
- * It is also delivered along with the notifications for that
- * subscription.
- */
- typedef struct OpaqueFNSubscriptionRef* FNSubscriptionRef;
-
- /*
- * Discussion:
- * Options that can be specified at subscription time.
- */
- enum
- {
-
- /*
- * Specify this option if you do not want to receive notifications on
- * this subscription when FNNotifyAll is called; by default any
- * subscription is also implicitly a subscription to wildcard
- * notifications
- */
- kFNNoImplicitAllSubscription = (1 << 0)
- };
-
-
- /*
- * FNSubscriptionProcPtr
- *
- * Discussion:
- * Callback delivered for directory notifications.
- *
- * Parameters:
- *
- * message:
- * An indication of what happened
- *
- * flags:
- * Options about delivery of the notification (typically
- * kNilOptions)
- *
- * refcon:
- * User reference supplied with subscription
- *
- * subscription:
- * Subscription corresponding to this notification
- */
- typedef CALLBACK_API_C(void , FNSubscriptionProcPtr)(FNMessage message, OptionBits flags, void *refcon, FNSubscriptionRef subscription);
- typedef TVECTOR_UPP_TYPE(FNSubscriptionProcPtr) FNSubscriptionUPP;
- /*
- * NewFNSubscriptionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FNSubscriptionUPP)
- NewFNSubscriptionUPP(FNSubscriptionProcPtr userRoutine);
+EXTERN_API( void )
+PBSetVolumeInfoAsync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701E, 0xA660);
+
+
+/*
+ FSGetDataForkName
+ Returns the constant for the name of the data fork (the empty string)
+*/
+/*
+ * FSGetDataForkName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSGetDataForkName(HFSUniStr255 * dataForkName) THREEWORDINLINE(0x303C, 0x0218, 0xAA52);
+
+
+/*
+ FSGetResourceForkName
+ Returns the constant for the name of the resource fork
+ (currently "RESOURCE_FORK").
+*/
+/*
+ * FSGetResourceForkName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSGetResourceForkName(HFSUniStr255 * resourceForkName) THREEWORDINLINE(0x303C, 0x0219, 0xAA52);
+
+
+/*
+ * FSRefMakePath()
+ *
+ * Summary:
+ * converts an FSRef to a POSIX path
+ *
+ * Parameters:
+ *
+ * ref:
+ * the file/dir to get the POSIX path for
+ *
+ * path:
+ * a pointer to a buffer which FSRefMakePath will fill with a UTF8
+ * encoded C string representing the path the the specified FSRef
+ *
+ * maxPathSize:
+ * the maximum size path length in bytes that path can hold
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+FSRefMakePath(
+ const FSRef * ref,
+ UInt8 * path,
+ UInt32 maxPathSize);
+
+
+/*
+ * FSPathMakeRef()
+ *
+ * Summary:
+ * converts a POSIX path to an FSRef
+ *
+ * Parameters:
+ *
+ * path:
+ * a pointer to a UTF8 encoded C String that is a POSIX path
+ *
+ * ref:
+ * a pointer to an FSRef to fill in
+ *
+ * isDirectory:
+ * an optional pointer to a Boolean that will be filled in with
+ * whether the specified path is a directory (vs. a file)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+FSPathMakeRef(
+ const UInt8 * path,
+ FSRef * ref,
+ Boolean * isDirectory); /* can be NULL */
+
+
+
+
+/*
+ * FNMessage
+ *
+ * Discussion:
+ * Messages broadcast about a directory. If system clients (such as
+ * the Finder) are interested in changes to a directory, they will
+ * receive notifications when application code broadcasts change
+ * messages about that directory.
+ */
+typedef UInt32 FNMessage;
+enum {
+ kFNDirectoryModifiedMessage = 1
+};
+
+/*
+ * FNNotify()
+ *
+ * Summary:
+ * Broadcasts notification of changes to the specified directory.
+ *
+ * Discussion:
+ * FNNotify is used to notify system clients (such as the Finder) of
+ * modifications to the contents of a directory, specifically
+ * addition or removal of files or folders from the directory. The
+ * Finder and other system clients will refresh their views of the
+ * specified directory when they receive the change notification.
+ * FNNotify is not meant to notify the Finder of changes to a
+ * specific file (for example, changes to a file's type or creator);
+ * for that purpose, use a kAESync AppleEvent sent to the Finder.
+ *
+ * Parameters:
+ *
+ * ref:
+ * The directory for which to broadcast the notification
+ *
+ * message:
+ * An indication of what happened to the target directory
+ *
+ * flags:
+ * Options about delivery of the notification (specify kNilOptions
+ * for default behaviour)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNNotify(
+ const FSRef * ref,
+ FNMessage message,
+ OptionBits flags);
+
+
+/*
+ * FNNotifyByPath()
+ *
+ * Summary:
+ * Broadcasts notification of changes to the specified directory.
+ *
+ * Parameters:
+ *
+ * path:
+ * Path to the directory for which to broadcast the notification
+ *
+ * message:
+ * An indication of what happened to the target directory
+ *
+ * flags:
+ * Options about delivery of the notification (specify kNilOptions
+ * for default behaviour)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNNotifyByPath(
+ const UInt8 * path,
+ FNMessage message,
+ OptionBits flags);
+
+
+/*
+ * FNNotifyAll()
+ *
+ * Discussion:
+ * Broadcasts notification of changes to the filesystem (should only
+ * be used by installers or programs which make lots of changes and
+ * only send one broadcast).
+ *
+ * Parameters:
+ *
+ * message:
+ * An indication of what happened
+ *
+ * flags:
+ * Options about delivery of the notification (specify kNilOptions
+ * for default behaviour)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNNotifyAll(
+ FNMessage message,
+ OptionBits flags);
+
+
+
+
+/*
+ * FNSubscriptionRef
+ *
+ * Discussion:
+ * A token associated with a notification subscription. The
+ * subscriber gets one back when they subscribe to notifications for
+ * a particular directory, and they supply it when the unsubscribe.
+ * It is also delivered along with the notifications for that
+ * subscription.
+ */
+typedef struct OpaqueFNSubscriptionRef* FNSubscriptionRef;
+
+/*
+ * Discussion:
+ * Options that can be specified at subscription time.
+ */
+enum {
+
+ /*
+ * Specify this option if you do not want to receive notifications on
+ * this subscription when FNNotifyAll is called; by default any
+ * subscription is also implicitly a subscription to wildcard
+ * notifications
+ */
+ kFNNoImplicitAllSubscription = (1 << 0)
+};
+
+
+/*
+ * FNSubscriptionProcPtr
+ *
+ * Discussion:
+ * Callback delivered for directory notifications.
+ *
+ * Parameters:
+ *
+ * message:
+ * An indication of what happened
+ *
+ * flags:
+ * Options about delivery of the notification (typically
+ * kNilOptions)
+ *
+ * refcon:
+ * User reference supplied with subscription
+ *
+ * subscription:
+ * Subscription corresponding to this notification
+ */
+typedef CALLBACK_API_C( void , FNSubscriptionProcPtr )(FNMessage message, OptionBits flags, void *refcon, FNSubscriptionRef subscription);
+typedef TVECTOR_UPP_TYPE(FNSubscriptionProcPtr) FNSubscriptionUPP;
+/*
+ * NewFNSubscriptionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FNSubscriptionUPP )
+NewFNSubscriptionUPP(FNSubscriptionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFNSubscriptionProcInfo = 0x00003FC1 }; /* no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FNSubscriptionUPP) NewFNSubscriptionUPP(FNSubscriptionProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewFNSubscriptionUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppFNSubscriptionProcInfo = 0x00003FC1 }; /* no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FNSubscriptionUPP) NewFNSubscriptionUPP(FNSubscriptionProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewFNSubscriptionUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeFNSubscriptionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeFNSubscriptionUPP(FNSubscriptionUPP userUPP);
+/*
+ * DisposeFNSubscriptionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeFNSubscriptionUPP(FNSubscriptionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFNSubscriptionUPP(FNSubscriptionUPP) {}
-#else
-#define DisposeFNSubscriptionUPP(userUPP)
-#endif
-#endif
-
- /*
- * InvokeFNSubscriptionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeFNSubscriptionUPP(
- FNMessage message,
- OptionBits flags,
- void * refcon,
- FNSubscriptionRef subscription,
- FNSubscriptionUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFNSubscriptionUPP(FNSubscriptionUPP) {}
+ #else
+ #define DisposeFNSubscriptionUPP(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokeFNSubscriptionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeFNSubscriptionUPP(
+ FNMessage message,
+ OptionBits flags,
+ void * refcon,
+ FNSubscriptionRef subscription,
+ FNSubscriptionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeFNSubscriptionUPP(FNMessage message, OptionBits flags, void * refcon, FNSubscriptionRef subscription, FNSubscriptionUPP userUPP)
- {
- (*userUPP)(message, flags, refcon, subscription);
- }
-#else
-#define InvokeFNSubscriptionUPP(message, flags, refcon, subscription, userUPP) (*userUPP)(message, flags, refcon, subscription)
-#endif
-#endif
-
- /*
- * FNSubscribe()
- *
- * Summary:
- * Subscribe to change notifications for the specified directory.
- *
- * Parameters:
- *
- * directoryRef:
- * Directory for which the caller wants notifications
- *
- * callback:
- * Function to call back when a notification arrives
- *
- * refcon:
- * User state carried with the subscription
- *
- * flags:
- * Options for future use (specify kNilOptions, or one of the
- * FNSubscriptionOptions)
- *
- * subscription:
- * Subscription token for subsequent query or unsubscription
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- FNSubscribe(
- const FSRef * directoryRef,
- FNSubscriptionUPP callback,
- void * refcon,
- OptionBits flags,
- FNSubscriptionRef * subscription);
-
-
- /*
- * FNSubscribeByPath()
- *
- * Summary:
- * Subscribe to change notifications for the specified directory.
- *
- * Parameters:
- *
- * directoryPath:
- * Directory for which the caller wants notifications
- *
- * callback:
- * Function to call back when a notification arrives
- *
- * refcon:
- * User state carried with the subscription
- *
- * flags:
- * Options for future use (specify kNilOptions, or one of the
- * FNSubscriptionOptions)
- *
- * subscription:
- * Subscription token for subsequent query or unsubscription
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- FNSubscribeByPath(
- const UInt8 * directoryPath,
- FNSubscriptionUPP callback,
- void * refcon,
- OptionBits flags,
- FNSubscriptionRef * subscription);
-
-
- /*
- * FNUnsubscribe()
- *
- * Summary:
- * Release a subscription which is no longer needed.
- *
- * Parameters:
- *
- * subscription:
- * Subscription previously returned from FNSubscribe or
- * FNSubscribeForPath
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- FNUnsubscribe(FNSubscriptionRef subscription);
-
-
- /*
- * FNGetDirectoryForSubscription()
- *
- * Summary:
- * Fetch the directory for which this subscription was originally
- * entered. There is no path variant because paths are fragile, and
- * the path may have changed. If the caller does not care about
- * this subtlety, she can call FSRefMakePath to get a path from the
- * returned ref.
- *
- * Parameters:
- *
- * subscription:
- * Subscription previously returned from FNSubscribe or
- * FNSubscribeForPath
- *
- * ref:
- * Directory for which this subscription was created
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- FNGetDirectoryForSubscription(
- FNSubscriptionRef subscription,
- FSRef * ref);
-
-
- /* Async Volume Operation Status return values*/
- enum
- {
- kAsyncMountInProgress = 1,
- kAsyncMountComplete = 2,
- kAsyncUnmountInProgress = 3,
- kAsyncUnmountComplete = 4,
- kAsyncEjectInProgress = 5,
- kAsyncEjectComplete = 6
- };
-
- typedef UInt32 FSMountStatus;
- typedef UInt32 FSEjectStatus;
- typedef UInt32 FSUnmountStatus;
- typedef struct OpaqueFSVolumeOperation* FSVolumeOperation;
- /*
- * FSEjectVolumeSync()
- *
- * Discussion:
- * This routine ejects the volume specified by vRefNum. If the
- * volume cannot be ejected the pid of the process which denied the
- * unmount will be returned in the dissenter parameter. This
- * routine returns after the eject is complete. Ejecting a volume
- * will result in the unmounting of other volumes on the same device.
- *
- * Parameters:
- *
- * vRefNum:
- * The volume reference number of the volume to eject.
- *
- * flags:
- * Options for future use.
- *
- * dissenter:
- * pid of the process which denied the unmount if the eject is
- * denied.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FSEjectVolumeSync(
- FSVolumeRefNum vRefNum,
- OptionBits flags,
- pid_t * dissenter); /* can be NULL */
-
-
- /*
- * FSGetAsyncEjectStatus()
- *
- * Discussion:
- * This routine returns the current status of an asynchronous eject
- * operation. A return value of noErr signifies that the status
- * parameter has been filled with valid information.
- *
- * Parameters:
- *
- * volumeOp:
- * The async volume operation to get status about.
- *
- * status:
- * The status of the operation.
- *
- * volumeOpStatus:
- * If status is kAsyncEjectComplete then this contains the
- * OSStatus for the operation.
- *
- * volumeRefNum:
- * volume reference number of volume being ejected.
- *
- * dissenter:
- * pid of the process which denied the unmount if the eject is
- * denied.
- *
- * clientData:
- * client data associated with the original
- * FSMountServerVolumeAsync operation.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FSGetAsyncEjectStatus(
- FSVolumeOperation volumeOp,
- FSEjectStatus * status,
- OSStatus * volumeOpStatus, /* can be NULL */
- FSVolumeRefNum * volumeRefNum, /* can be NULL */
- pid_t * dissenter, /* can be NULL */
- void ** clientData); /* can be NULL */
-
-
- /*
- * FSCopyDiskIDForVolume()
- *
- * Discussion:
- * This routine returns a copy of the diskID for the passed in
- * volume. The caller is responsible for releasing the CFString
- * later.
- *
- * Parameters:
- *
- * vRefNum:
- * FSVolumeRefNum of the target volume.
- *
- * diskID:
- * The diskID string associated with the target volume.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FSCopyDiskIDForVolume(
- FSVolumeRefNum vRefNum,
- CFStringRef * diskID);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeFNSubscriptionUPP(FNMessage message, OptionBits flags, void * refcon, FNSubscriptionRef subscription, FNSubscriptionUPP userUPP) { (*userUPP)(message, flags, refcon, subscription); }
+ #else
+ #define InvokeFNSubscriptionUPP(message, flags, refcon, subscription, userUPP) (*userUPP)(message, flags, refcon, subscription)
+ #endif
+#endif
+
+/*
+ * FNSubscribe()
+ *
+ * Summary:
+ * Subscribe to change notifications for the specified directory.
+ *
+ * Parameters:
+ *
+ * directoryRef:
+ * Directory for which the caller wants notifications
+ *
+ * callback:
+ * Function to call back when a notification arrives
+ *
+ * refcon:
+ * User state carried with the subscription
+ *
+ * flags:
+ * Options for future use (specify kNilOptions, or one of the
+ * FNSubscriptionOptions)
+ *
+ * subscription:
+ * Subscription token for subsequent query or unsubscription
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSubscribe(
+ const FSRef * directoryRef,
+ FNSubscriptionUPP callback,
+ void * refcon,
+ OptionBits flags,
+ FNSubscriptionRef * subscription);
+
+
+/*
+ * FNSubscribeByPath()
+ *
+ * Summary:
+ * Subscribe to change notifications for the specified directory.
+ *
+ * Parameters:
+ *
+ * directoryPath:
+ * Directory for which the caller wants notifications
+ *
+ * callback:
+ * Function to call back when a notification arrives
+ *
+ * refcon:
+ * User state carried with the subscription
+ *
+ * flags:
+ * Options for future use (specify kNilOptions, or one of the
+ * FNSubscriptionOptions)
+ *
+ * subscription:
+ * Subscription token for subsequent query or unsubscription
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSubscribeByPath(
+ const UInt8 * directoryPath,
+ FNSubscriptionUPP callback,
+ void * refcon,
+ OptionBits flags,
+ FNSubscriptionRef * subscription);
+
+
+/*
+ * FNUnsubscribe()
+ *
+ * Summary:
+ * Release a subscription which is no longer needed.
+ *
+ * Parameters:
+ *
+ * subscription:
+ * Subscription previously returned from FNSubscribe or
+ * FNSubscribeForPath
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FNUnsubscribe(FNSubscriptionRef subscription);
+
+
+/*
+ * FNGetDirectoryForSubscription()
+ *
+ * Summary:
+ * Fetch the directory for which this subscription was originally
+ * entered. There is no path variant because paths are fragile, and
+ * the path may have changed. If the caller does not care about
+ * this subtlety, she can call FSRefMakePath to get a path from the
+ * returned ref.
+ *
+ * Parameters:
+ *
+ * subscription:
+ * Subscription previously returned from FNSubscribe or
+ * FNSubscribeForPath
+ *
+ * ref:
+ * Directory for which this subscription was created
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FNGetDirectoryForSubscription(
+ FNSubscriptionRef subscription,
+ FSRef * ref);
+
+
+/* Async Volume Operation Status return values*/
+enum {
+ kAsyncMountInProgress = 1,
+ kAsyncMountComplete = 2,
+ kAsyncUnmountInProgress = 3,
+ kAsyncUnmountComplete = 4,
+ kAsyncEjectInProgress = 5,
+ kAsyncEjectComplete = 6
+};
+
+typedef UInt32 FSMountStatus;
+typedef UInt32 FSEjectStatus;
+typedef UInt32 FSUnmountStatus;
+typedef struct OpaqueFSVolumeOperation* FSVolumeOperation;
+/*
+ * FSEjectVolumeSync()
+ *
+ * Discussion:
+ * This routine ejects the volume specified by vRefNum. If the
+ * volume cannot be ejected the pid of the process which denied the
+ * unmount will be returned in the dissenter parameter. This
+ * routine returns after the eject is complete. Ejecting a volume
+ * will result in the unmounting of other volumes on the same device.
+ *
+ * Parameters:
+ *
+ * vRefNum:
+ * The volume reference number of the volume to eject.
+ *
+ * flags:
+ * Options for future use.
+ *
+ * dissenter:
+ * pid of the process which denied the unmount if the eject is
+ * denied.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FSEjectVolumeSync(
+ FSVolumeRefNum vRefNum,
+ OptionBits flags,
+ pid_t * dissenter); /* can be NULL */
+
+
+/*
+ * FSGetAsyncEjectStatus()
+ *
+ * Discussion:
+ * This routine returns the current status of an asynchronous eject
+ * operation. A return value of noErr signifies that the status
+ * parameter has been filled with valid information.
+ *
+ * Parameters:
+ *
+ * volumeOp:
+ * The async volume operation to get status about.
+ *
+ * status:
+ * The status of the operation.
+ *
+ * volumeOpStatus:
+ * If status is kAsyncEjectComplete then this contains the
+ * OSStatus for the operation.
+ *
+ * volumeRefNum:
+ * volume reference number of volume being ejected.
+ *
+ * dissenter:
+ * pid of the process which denied the unmount if the eject is
+ * denied.
+ *
+ * clientData:
+ * client data associated with the original
+ * FSMountServerVolumeAsync operation.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FSGetAsyncEjectStatus(
+ FSVolumeOperation volumeOp,
+ FSEjectStatus * status,
+ OSStatus * volumeOpStatus, /* can be NULL */
+ FSVolumeRefNum * volumeRefNum, /* can be NULL */
+ pid_t * dissenter, /* can be NULL */
+ void ** clientData); /* can be NULL */
+
+
+/*
+ * FSCopyDiskIDForVolume()
+ *
+ * Discussion:
+ * This routine returns a copy of the diskID for the passed in
+ * volume. The caller is responsible for releasing the CFString
+ * later.
+ *
+ * Parameters:
+ *
+ * vRefNum:
+ * FSVolumeRefNum of the target volume.
+ *
+ * diskID:
+ * The diskID string associated with the target volume.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FSCopyDiskIDForVolume(
+ FSVolumeRefNum vRefNum,
+ CFStringRef * diskID);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/FindByContent.h b/include/qt/FindByContent.h
index d0ba490e3..5429f3b6e 100644
--- a/include/qt/FindByContent.h
+++ b/include/qt/FindByContent.h
@@ -1,17 +1,17 @@
/*
File: FindByContent.h
-
+
Contains: Public search interface for the Find by Content shared library
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FINDBYCONTENT__
#define __FINDBYCONTENT__
@@ -47,1011 +47,995 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- ***************************************************************************
- Language constants used with FBCIndexItemsInLanguages: these numbers are bits
- in a 64-bit array that consists of two UInt32 words. In the current implementation
- the low word is always 0, so values for the high word are given. If both UInt32
- words are 0, the default value of kDefaultLanguagesHighWord is used.
- ***************************************************************************
- */
-
- /* These are the new names for the language constants*/
- enum {
- /* languages that use the Roman character mapping*/
- kFBCenglishHighWord = (long)0x80000000,
- kFBCdutchHighWord = 0x40000000, /* also Afrikaans*/
- kFBCgermanHighWord = 0x20000000,
- kFBCswedishHighWord = 0x10000000, /* also Norwegian*/
- kFBCdanishHighWord = 0x08000000,
- kFBCspanishHighWord = 0x04000000, /* also Catalan*/
- kFBCportugueseHighWord = 0x02000000,
- kFBCitalianHighWord = 0x01000000,
- kFBCfrenchHighWord = 0x00800000,
- kFBCromanHighWord = 0x00400000, /* other languages using Roman alphabet*/
- /* Languages that use other mappings*/
- kFBCicelandicHighWord = 0x00200000, /* also Faroese*/
- kFBChebrewHighWord = 0x00100000, /* also Yiddish*/
- kFBCarabicHighWord = 0x00080000, /* also Farsi, Urdu*/
- kFBCcenteuroHighWord = 0x00040000, /* Central European languages not using Cyrillic*/
- kFBCcroatianHighWord = 0x00020000,
- kFBCturkishHighWord = 0x00010000,
- kFBCromanianHighWord = 0x00008000,
- kFBCgreekHighWord = 0x00004000,
- kFBCcyrillicHighWord = 0x00002000, /* all languages using Cyrillic*/
- kFBCdevanagariHighWord = 0x00001000,
- kFBCgujuratiHighWord = 0x00000800,
- kFBCgurmukhiHighWord = 0x00000400,
- kFBCjapaneseHighWord = 0x00000200,
- kFBCkoreanHighWord = 0x00000100,
- kFBCdefaultLanguagesHighWord = (long)0xFF800000 /* sum of first 9*/
- };
-
- /*A new error, needs to be moved to MacErrors.h*/
- enum
- {
- kFBCnotAllFoldersSearchable = -30533
- };
-
-
- /*
- ***************************************************************************
- Phase values
- These values are passed to the client's callback function to indicate what
- the FBC code is doing. They are meaningless in OS X.
- ***************************************************************************
- */
- enum
- {
- /* indexing phases*/
- kFBCphIndexing = 0,
- kFBCphFlushing = 1,
- kFBCphMerging = 2,
- kFBCphMakingIndexAccessor = 3,
- kFBCphCompacting = 4,
- kFBCphIndexWaiting = 5, /* access phases*/
- kFBCphSearching = 6,
- kFBCphMakingAccessAccessor = 7,
- kFBCphAccessWaiting = 8, /* summarization*/
- kFBCphSummarizing = 9, /* indexing or access*/
- kFBCphIdle = 10,
- kFBCphCanceling = 11
- };
-
- enum
- {
- kFBCsummarizationFailed = -30533
- };
-
-
- /*
- ***************************************************************************
- Pointer types
- These point to memory allocated by the FBC shared library, and must be deallocated
- by calls that are defined below.
- ***************************************************************************
- */
-
- /* A collection of state information for searching*/
- typedef struct OpaqueFBCSearchSession* FBCSearchSession;
- /* An object containing summary information, from which summary text can be obtained*/
- typedef struct OpaqueFBCSummaryRef* FBCSummaryRef;
- /* An ordinary C string (used for hit/doc terms)*/
- typedef char * FBCWordItem;
- /* An array of WordItems*/
- typedef FBCWordItem * FBCWordList;
- /*
- ***************************************************************************
- Callback function type for progress reporting and cancelation during
- searching and indexing. The client's callback function should call
- WaitNextEvent; a "sleep" value of 1 is suggested. If the callback function
- wants to cancel the current operation (indexing, search, or doc-terms
- retrieval) it should return true.
- ***************************************************************************
- */
-
- typedef CALLBACK_API_C(Boolean , FBCCallbackProcPtr)(UInt16 phase, float percentDone, void *data);
- typedef TVECTOR_UPP_TYPE(FBCCallbackProcPtr) FBCCallbackUPP;
- /*
- * NewFBCCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FBCCallbackUPP)
- NewFBCCallbackUPP(FBCCallbackProcPtr userRoutine);
+/*
+ ***************************************************************************
+ Language constants used with FBCIndexItemsInLanguages: these numbers are bits
+ in a 64-bit array that consists of two UInt32 words. In the current implementation
+ the low word is always 0, so values for the high word are given. If both UInt32
+ words are 0, the default value of kDefaultLanguagesHighWord is used.
+ ***************************************************************************
+*/
+
+/* These are the new names for the language constants*/
+enum {
+ /* languages that use the Roman character mapping*/
+ kFBCenglishHighWord = (long)0x80000000,
+ kFBCdutchHighWord = 0x40000000, /* also Afrikaans*/
+ kFBCgermanHighWord = 0x20000000,
+ kFBCswedishHighWord = 0x10000000, /* also Norwegian*/
+ kFBCdanishHighWord = 0x08000000,
+ kFBCspanishHighWord = 0x04000000, /* also Catalan*/
+ kFBCportugueseHighWord = 0x02000000,
+ kFBCitalianHighWord = 0x01000000,
+ kFBCfrenchHighWord = 0x00800000,
+ kFBCromanHighWord = 0x00400000, /* other languages using Roman alphabet*/
+ /* Languages that use other mappings*/
+ kFBCicelandicHighWord = 0x00200000, /* also Faroese*/
+ kFBChebrewHighWord = 0x00100000, /* also Yiddish*/
+ kFBCarabicHighWord = 0x00080000, /* also Farsi, Urdu*/
+ kFBCcenteuroHighWord = 0x00040000, /* Central European languages not using Cyrillic*/
+ kFBCcroatianHighWord = 0x00020000,
+ kFBCturkishHighWord = 0x00010000,
+ kFBCromanianHighWord = 0x00008000,
+ kFBCgreekHighWord = 0x00004000,
+ kFBCcyrillicHighWord = 0x00002000, /* all languages using Cyrillic*/
+ kFBCdevanagariHighWord = 0x00001000,
+ kFBCgujuratiHighWord = 0x00000800,
+ kFBCgurmukhiHighWord = 0x00000400,
+ kFBCjapaneseHighWord = 0x00000200,
+ kFBCkoreanHighWord = 0x00000100,
+ kFBCdefaultLanguagesHighWord = (long)0xFF800000 /* sum of first 9*/
+};
+
+/*A new error, needs to be moved to MacErrors.h*/
+enum {
+ kFBCnotAllFoldersSearchable = -30533
+};
+
+
+/*
+ ***************************************************************************
+ Phase values
+ These values are passed to the client's callback function to indicate what
+ the FBC code is doing. They are meaningless in OS X.
+ ***************************************************************************
+*/
+enum {
+ /* indexing phases*/
+ kFBCphIndexing = 0,
+ kFBCphFlushing = 1,
+ kFBCphMerging = 2,
+ kFBCphMakingIndexAccessor = 3,
+ kFBCphCompacting = 4,
+ kFBCphIndexWaiting = 5, /* access phases*/
+ kFBCphSearching = 6,
+ kFBCphMakingAccessAccessor = 7,
+ kFBCphAccessWaiting = 8, /* summarization*/
+ kFBCphSummarizing = 9, /* indexing or access*/
+ kFBCphIdle = 10,
+ kFBCphCanceling = 11
+};
+
+enum {
+ kFBCsummarizationFailed = -30533
+};
+
+
+/*
+ ***************************************************************************
+ Pointer types
+ These point to memory allocated by the FBC shared library, and must be deallocated
+ by calls that are defined below.
+ ***************************************************************************
+*/
+
+/* A collection of state information for searching*/
+typedef struct OpaqueFBCSearchSession* FBCSearchSession;
+/* An object containing summary information, from which summary text can be obtained*/
+typedef struct OpaqueFBCSummaryRef* FBCSummaryRef;
+/* An ordinary C string (used for hit/doc terms)*/
+typedef char * FBCWordItem;
+/* An array of WordItems*/
+typedef FBCWordItem * FBCWordList;
+/*
+ ***************************************************************************
+ Callback function type for progress reporting and cancelation during
+ searching and indexing. The client's callback function should call
+ WaitNextEvent; a "sleep" value of 1 is suggested. If the callback function
+ wants to cancel the current operation (indexing, search, or doc-terms
+ retrieval) it should return true.
+ ***************************************************************************
+*/
+
+typedef CALLBACK_API_C( Boolean , FBCCallbackProcPtr )(UInt16 phase, float percentDone, void *data);
+typedef TVECTOR_UPP_TYPE(FBCCallbackProcPtr) FBCCallbackUPP;
+/*
+ * NewFBCCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FBCCallbackUPP )
+NewFBCCallbackUPP(FBCCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFBCCallbackProcInfo = 0x00000F91 }; /* 1_byte Func(2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FBCCallbackUPP) NewFBCCallbackUPP(FBCCallbackProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewFBCCallbackUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppFBCCallbackProcInfo = 0x00000F91 }; /* 1_byte Func(2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FBCCallbackUPP) NewFBCCallbackUPP(FBCCallbackProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewFBCCallbackUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeFBCCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeFBCCallbackUPP(FBCCallbackUPP userUPP);
+/*
+ * DisposeFBCCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeFBCCallbackUPP(FBCCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFBCCallbackUPP(FBCCallbackUPP) {}
-#else
-#define DisposeFBCCallbackUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFBCCallbackUPP(FBCCallbackUPP) {}
+ #else
+ #define DisposeFBCCallbackUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeFBCCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeFBCCallbackUPP(
- UInt16 phase,
- float percentDone,
- void * data,
- FBCCallbackUPP userUPP);
+/*
+ * InvokeFBCCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeFBCCallbackUPP(
+ UInt16 phase,
+ float percentDone,
+ void * data,
+ FBCCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeFBCCallbackUPP(UInt16 phase, float percentDone, void * data, FBCCallbackUPP userUPP)
- {
- return (*userUPP)(phase, percentDone, data);
- }
-#else
-#define InvokeFBCCallbackUPP(phase, percentDone, data, userUPP) (*userUPP)(phase, percentDone, data)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeFBCCallbackUPP(UInt16 phase, float percentDone, void * data, FBCCallbackUPP userUPP) { return (*userUPP)(phase, percentDone, data); }
+ #else
+ #define InvokeFBCCallbackUPP(phase, percentDone, data, userUPP) (*userUPP)(phase, percentDone, data)
+ #endif
#endif
- /*
- ***************************************************************************
- Set the callback function for progress reporting and cancelation during
- searching and indexing.
- ***************************************************************************
- */
-
- /*
- * FBCSetSessionCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- FBCSetSessionCallback(
- FBCSearchSession searchSession,
- FBCCallbackUPP fn,
- void * data);
-
-
- /* OS X DEPRECATED, use FBCSetSessionCallback*/
- /*
- * FBCSetCallback()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- FBCSetCallback(
- FBCCallbackUPP fn,
- void * data);
-
-
- /*
- ***************************************************************************
- Callback function type for hit testing during searching
- ***************************************************************************
- */
-
- typedef CALLBACK_API_C(Boolean , FBCHitTestProcPtr)(const FSRef *theFile, void *data);
- typedef TVECTOR_UPP_TYPE(FBCHitTestProcPtr) FBCHitTestUPP;
+/*
+ ***************************************************************************
+ Set the callback function for progress reporting and cancelation during
+ searching and indexing.
+ ***************************************************************************
+*/
+
+/*
+ * FBCSetSessionCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+FBCSetSessionCallback(
+ FBCSearchSession searchSession,
+ FBCCallbackUPP fn,
+ void * data);
+
+
+/* OS X DEPRECATED, use FBCSetSessionCallback*/
+/*
+ * FBCSetCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+FBCSetCallback(
+ FBCCallbackUPP fn,
+ void * data);
+
+
+/*
+ ***************************************************************************
+ Callback function type for hit testing during searching
+ ***************************************************************************
+*/
+
+typedef CALLBACK_API_C( Boolean , FBCHitTestProcPtr )(const FSRef *theFile, void *data);
+typedef TVECTOR_UPP_TYPE(FBCHitTestProcPtr) FBCHitTestUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewFBCHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(FBCHitTestUPP)
- NewFBCHitTestUPP(FBCHitTestProcPtr userRoutine);
+/*
+ * NewFBCHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( FBCHitTestUPP )
+NewFBCHitTestUPP(FBCHitTestProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFBCHitTestProcInfo = 0x000003D1 }; /* 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FBCHitTestUPP) NewFBCHitTestUPP(FBCHitTestProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewFBCHitTestUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppFBCHitTestProcInfo = 0x000003D1 }; /* 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FBCHitTestUPP) NewFBCHitTestUPP(FBCHitTestProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewFBCHitTestUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeFBCHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- DisposeFBCHitTestUPP(FBCHitTestUPP userUPP);
+/*
+ * DisposeFBCHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+DisposeFBCHitTestUPP(FBCHitTestUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFBCHitTestUPP(FBCHitTestUPP) {}
-#else
-#define DisposeFBCHitTestUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFBCHitTestUPP(FBCHitTestUPP) {}
+ #else
+ #define DisposeFBCHitTestUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeFBCHitTestUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- InvokeFBCHitTestUPP(
- const FSRef * theFile,
- void * data,
- FBCHitTestUPP userUPP);
+/*
+ * InvokeFBCHitTestUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeFBCHitTestUPP(
+ const FSRef * theFile,
+ void * data,
+ FBCHitTestUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeFBCHitTestUPP(const FSRef * theFile, void * data, FBCHitTestUPP userUPP)
- {
- return (*userUPP)(theFile, data);
- }
-#else
-#define InvokeFBCHitTestUPP(theFile, data, userUPP) (*userUPP)(theFile, data)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeFBCHitTestUPP(const FSRef * theFile, void * data, FBCHitTestUPP userUPP) { return (*userUPP)(theFile, data); }
+ #else
+ #define InvokeFBCHitTestUPP(theFile, data, userUPP) (*userUPP)(theFile, data)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- ***************************************************************************
- Set the hit-testing function for searches.
- ***************************************************************************
- */
- /*
- * FBCSetSessionHitTest()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- FBCSetSessionHitTest(
- FBCSearchSession theSession,
- FBCHitTestUPP fn,
- void * data);
-
-
- /*
- ***************************************************************************
- Set the amount of heap space to reserve for the client's use when FBC
- allocates memory.
- ***************************************************************************
- */
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCSetHeapReservation()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- FBCSetHeapReservation(UInt32 bytes);
-
-
- /*
- ***************************************************************************
- Find out whether a volume is indexed.
- ***************************************************************************
- */
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCVolumeIsIndexed()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- FBCVolumeIsIndexed(SInt16 theVRefNum);
-
-
- /*
- ***************************************************************************
- Find out whether a volume is remote.
- ***************************************************************************
- */
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCVolumeIsRemote()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- FBCVolumeIsRemote(SInt16 theVRefNum);
-
-
- /*
- ***************************************************************************
- Find out the date & time of an index's last completed update.
- ***************************************************************************
- */
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCVolumeIndexTimeStamp()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCVolumeIndexTimeStamp(
- SInt16 theVRefNum,
- UInt32 * timeStamp);
-
-
- /*
- ***************************************************************************
- Find out the physical size of an index.
- ***************************************************************************
- */
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCVolumeIndexPhysicalSize()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCVolumeIndexPhysicalSize(
- SInt16 theVRefNum,
- UInt32 * size);
-
-
- /*
- ***************************************************************************
- Create & configure a search session
- ***************************************************************************
- */
-
- /*
- * FBCCreateSearchSession()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCCreateSearchSession(FBCSearchSession * searchSession);
-
-
- /*
- * FBCCloneSearchSession()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCCloneSearchSession(
- FBCSearchSession original,
- FBCSearchSession * clone);
-
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCAddAllVolumesToSession()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCAddAllVolumesToSession(
- FBCSearchSession theSession,
- Boolean includeRemote);
-
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCSetSessionVolumes()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCSetSessionVolumes(
- FBCSearchSession theSession,
- const SInt16 vRefNums[],
- UInt16 numVolumes);
-
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCAddVolumeToSession()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCAddVolumeToSession(
- FBCSearchSession theSession,
- SInt16 vRefNum);
-
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCRemoveVolumeFromSession()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCRemoveVolumeFromSession(
- FBCSearchSession theSession,
- SInt16 vRefNum);
-
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCGetSessionVolumeCount()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCGetSessionVolumeCount(
- FBCSearchSession theSession,
- UInt16 * count);
-
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCGetSessionVolumes()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCGetSessionVolumes(
- FBCSearchSession theSession,
- SInt16 vRefNums[],
- UInt16 * numVolumes);
-
-
- /*
- ***************************************************************************
- Execute a search
- ***************************************************************************
- */
-
- /*
- * FBCDoQuerySearch()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCDoQuerySearch(
- FBCSearchSession theSession,
- char * queryText,
- const FSSpec targetDirs[],
- UInt32 numTargets,
- UInt32 maxHits,
- UInt32 maxHitWords);
-
-
- /*
- * FBCDoCFStringSearch()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCDoCFStringSearch(
- FBCSearchSession theSession,
- CFStringRef queryString,
- const FSSpec targetDirs[],
- UInt32 numTargets,
- UInt32 maxHits,
- UInt32 maxHitWords);
-
-
- /*
- * FBCDoExampleSearch()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCDoExampleSearch(
- FBCSearchSession theSession,
- const UInt32 * exampleHitNums,
- UInt32 numExamples,
- const FSSpec targetDirs[],
- UInt32 numTargets,
- UInt32 maxHits,
- UInt32 maxHitWords);
-
-
- /* OS X DEPRECATED, use FBCBlindExampleSearchWithCallback to be able to cancel*/
- /*
- * FBCBlindExampleSearch()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCBlindExampleSearch(
- const FSSpec examples[],
- UInt32 numExamples,
- const FSSpec targetDirs[],
- UInt32 numTargets,
- UInt32 maxHits,
- UInt32 maxHitWords,
- Boolean allIndexes,
- Boolean includeRemote,
- FBCSearchSession * theSession);
-
-
- /*
- * FBCBlindExampleSearchWithCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSErr)
- FBCBlindExampleSearchWithCallback(
- const FSSpec examples[],
- UInt32 numExamples,
- const FSSpec targetDirs[],
- UInt32 numTargets,
- UInt32 maxHits,
- UInt32 maxHitWords,
- Boolean allIndexes,
- Boolean includeRemote,
- FBCSearchSession * theSession,
- FBCCallbackUPP callback,
- void * callbackData,
- FBCHitTestUPP userHitTest,
- void * userHitTestData);
-
-
-
- /*
- ***************************************************************************
- Get information about hits [wrapper for THitItem C++ API]
- ***************************************************************************
- */
-
- /*
- * FBCGetHitCount()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCGetHitCount(
- FBCSearchSession theSession,
- UInt32 * count);
-
-
- /*
- * FBCGetHitDocument()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCGetHitDocument(
- FBCSearchSession theSession,
- UInt32 hitNumber,
- FSSpec * theDocument);
-
-
- /*
- * FBCGetHitDocumentRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCGetHitDocumentRef(
- FBCSearchSession theSession,
- UInt32 hitNumber,
- FSRef * theDocument);
-
-
- /*
- * FBCGetHitScore()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCGetHitScore(
- FBCSearchSession theSession,
- UInt32 hitNumber,
- float * score);
-
-
-
- /*
- ***************************************************************************
- Summarize text
- ***************************************************************************
- */
-
- /*
- * FBCSummarize()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCSummarize(
- const void * inBuf,
- UInt32 inLength,
- void * outBuf,
- UInt32 * outLength,
- UInt32 * numSentences);
-
-
- /*
- * FBCSummarizeCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FBCSummarizeCFString(
- CFStringRef inString,
- CFStringRef * outString,
- UInt32 * numSentences);
-
-
- /*
- * FBCGetSummaryOfCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FBCGetSummaryOfCFString(
- CFStringRef inString,
- FBCSummaryRef * summary);
-
-
- /*
- * FBCGetSummarySentenceCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FBCGetSummarySentenceCount(
- FBCSummaryRef summary,
- UInt32 * numSentences);
-
-
- /*
- * FBCGetSummarySentences()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FBCGetSummarySentences(
- FBCSummaryRef summary,
- CFStringRef * outString,
- UInt32 * numSentences,
- Boolean paragraphs);
-
-
- /*
- * FBCDisposeSummary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FBCDisposeSummary(FBCSummaryRef summary);
-
-
-
- /*
- ***************************************************************************
- Deallocate hit lists and search sessions
- ***************************************************************************
- */
-
- /*
- * FBCReleaseSessionHits()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCReleaseSessionHits(FBCSearchSession theSession);
-
-
- /*
- * FBCDestroySearchSession()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCDestroySearchSession(FBCSearchSession theSession);
-
-
- /*
- ***************************************************************************
- Index one or more files and/or folders
- ***************************************************************************
- */
-
- /* OS X DEPRECATED (will be removed from OS X exports in a future release)*/
- /*
- * FBCIndexItems()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 9.0 and later
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCIndexItems(
- FSSpecArrayPtr theItems,
- UInt32 itemCount);
-
-
- /*
- * FBCIndexItemsInLanguages()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCIndexItemsInLanguages(
- FSSpecArrayPtr theItems,
- UInt32 itemCount,
- UInt32 languageHighBits,
- UInt32 languageLowBits);
-
-
- /*
- ***************************************************************************
- (OS X only) Given a folder, find the folder that contains the index file
- of the given index
- ***************************************************************************
- */
-
- /*
- * FBCFindIndexFileFolderForFolder()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCFindIndexFileFolderForFolder(
- const FSRef * inFolder,
- FSRef * outFolder);
-
-
- /*
- ***************************************************************************
- (OS X only) Given a folder, delete the index file that indexes it
- ***************************************************************************
- */
-
- /*
- * FBCDeleteIndexFileForFolder()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCDeleteIndexFileForFolder(const FSRef * folder);
-
-
-
- /*
- ***************************************************************************
- The following are deprecated and obsolete for both OS X and OS 9
- ***************************************************************************
- */
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCGetMatchedWords()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCGetMatchedWords(
- FBCSearchSession theSession,
- UInt32 hitNumber,
- UInt32 * wordCount,
- FBCWordList * list);
-
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCGetTopicWords()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCGetTopicWords(
- FBCSearchSession theSession,
- UInt32 hitNumber,
- UInt32 * wordCount,
- FBCWordList * list);
-
-
- /* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
- /*
- * FBCDestroyWordList()
- *
- * Availability:
- * Non-Carbon CFM: in FindByContent 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- FBCDestroyWordList(
- FBCWordList theList,
- UInt32 wordCount);
-
-
- /* These names are deprecated, use the new ones above*/
- enum
- {
- /* languages that use the Roman character mapping*/
- englishHighWord = kFBCenglishHighWord,
- dutchHighWord = kFBCdutchHighWord, /* also Afrikaans*/
- germanHighWord = kFBCgermanHighWord,
- swedishHighWord = kFBCswedishHighWord, /* also Norwegian*/
- danishHighWord = kFBCdanishHighWord,
- spanishHighWord = kFBCspanishHighWord, /* also Catalan*/
- portugueseHighWord = kFBCportugueseHighWord,
- italianHighWord = kFBCitalianHighWord,
- frenchHighWord = kFBCfrenchHighWord,
- romanHighWord = kFBCromanHighWord, /* other languages using Roman alphabet*/
- /* Languages that use other mappings*/
- icelandicHighWord = kFBCicelandicHighWord, /* also Faroese*/
- hebrewHighWord = kFBChebrewHighWord, /* also Yiddish*/
- arabicHighWord = kFBCarabicHighWord, /* also Farsi, Urdu*/
- centeuroHighWord = kFBCcenteuroHighWord, /* Central European languages not using Cyrillic*/
- croatianHighWord = kFBCcroatianHighWord,
- turkishHighWord = kFBCturkishHighWord,
- romanianHighWord = kFBCromanianHighWord,
- greekHighWord = kFBCgreekHighWord,
- cyrillicHighWord = kFBCcyrillicHighWord, /* all languages using Cyrillic*/
- devanagariHighWord = kFBCdevanagariHighWord,
- gujuratiHighWord = kFBCgujuratiHighWord,
- gurmukhiHighWord = kFBCgurmukhiHighWord,
- japaneseHighWord = kFBCjapaneseHighWord,
- koreanHighWord = kFBCkoreanHighWord,
- kDefaultLanguagesHighWord = kFBCdefaultLanguagesHighWord /* sum of first 9*/
- };
+/*
+ ***************************************************************************
+ Set the hit-testing function for searches.
+ ***************************************************************************
+*/
+/*
+ * FBCSetSessionHitTest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+FBCSetSessionHitTest(
+ FBCSearchSession theSession,
+ FBCHitTestUPP fn,
+ void * data);
+
+
+/*
+ ***************************************************************************
+ Set the amount of heap space to reserve for the client's use when FBC
+ allocates memory.
+ ***************************************************************************
+*/
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCSetHeapReservation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+FBCSetHeapReservation(UInt32 bytes);
+
+
+/*
+ ***************************************************************************
+ Find out whether a volume is indexed.
+ ***************************************************************************
+*/
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCVolumeIsIndexed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+FBCVolumeIsIndexed(SInt16 theVRefNum);
+
+
+/*
+ ***************************************************************************
+ Find out whether a volume is remote.
+ ***************************************************************************
+*/
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCVolumeIsRemote()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+FBCVolumeIsRemote(SInt16 theVRefNum);
+
+
+/*
+ ***************************************************************************
+ Find out the date & time of an index's last completed update.
+ ***************************************************************************
+*/
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCVolumeIndexTimeStamp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCVolumeIndexTimeStamp(
+ SInt16 theVRefNum,
+ UInt32 * timeStamp);
+
+
+/*
+ ***************************************************************************
+ Find out the physical size of an index.
+ ***************************************************************************
+*/
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCVolumeIndexPhysicalSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCVolumeIndexPhysicalSize(
+ SInt16 theVRefNum,
+ UInt32 * size);
+
+
+/*
+ ***************************************************************************
+ Create & configure a search session
+ ***************************************************************************
+*/
+
+/*
+ * FBCCreateSearchSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCCreateSearchSession(FBCSearchSession * searchSession);
+
+
+/*
+ * FBCCloneSearchSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCCloneSearchSession(
+ FBCSearchSession original,
+ FBCSearchSession * clone);
+
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCAddAllVolumesToSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCAddAllVolumesToSession(
+ FBCSearchSession theSession,
+ Boolean includeRemote);
+
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCSetSessionVolumes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCSetSessionVolumes(
+ FBCSearchSession theSession,
+ const SInt16 vRefNums[],
+ UInt16 numVolumes);
+
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCAddVolumeToSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCAddVolumeToSession(
+ FBCSearchSession theSession,
+ SInt16 vRefNum);
+
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCRemoveVolumeFromSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCRemoveVolumeFromSession(
+ FBCSearchSession theSession,
+ SInt16 vRefNum);
+
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCGetSessionVolumeCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCGetSessionVolumeCount(
+ FBCSearchSession theSession,
+ UInt16 * count);
+
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCGetSessionVolumes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCGetSessionVolumes(
+ FBCSearchSession theSession,
+ SInt16 vRefNums[],
+ UInt16 * numVolumes);
+
+
+/*
+ ***************************************************************************
+ Execute a search
+ ***************************************************************************
+*/
+
+/*
+ * FBCDoQuerySearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCDoQuerySearch(
+ FBCSearchSession theSession,
+ char * queryText,
+ const FSSpec targetDirs[],
+ UInt32 numTargets,
+ UInt32 maxHits,
+ UInt32 maxHitWords);
+
+
+/*
+ * FBCDoCFStringSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCDoCFStringSearch(
+ FBCSearchSession theSession,
+ CFStringRef queryString,
+ const FSSpec targetDirs[],
+ UInt32 numTargets,
+ UInt32 maxHits,
+ UInt32 maxHitWords);
+
+
+/*
+ * FBCDoExampleSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCDoExampleSearch(
+ FBCSearchSession theSession,
+ const UInt32 * exampleHitNums,
+ UInt32 numExamples,
+ const FSSpec targetDirs[],
+ UInt32 numTargets,
+ UInt32 maxHits,
+ UInt32 maxHitWords);
+
+
+/* OS X DEPRECATED, use FBCBlindExampleSearchWithCallback to be able to cancel*/
+/*
+ * FBCBlindExampleSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCBlindExampleSearch(
+ const FSSpec examples[],
+ UInt32 numExamples,
+ const FSSpec targetDirs[],
+ UInt32 numTargets,
+ UInt32 maxHits,
+ UInt32 maxHitWords,
+ Boolean allIndexes,
+ Boolean includeRemote,
+ FBCSearchSession * theSession);
+
+
+/*
+ * FBCBlindExampleSearchWithCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSErr )
+FBCBlindExampleSearchWithCallback(
+ const FSSpec examples[],
+ UInt32 numExamples,
+ const FSSpec targetDirs[],
+ UInt32 numTargets,
+ UInt32 maxHits,
+ UInt32 maxHitWords,
+ Boolean allIndexes,
+ Boolean includeRemote,
+ FBCSearchSession * theSession,
+ FBCCallbackUPP callback,
+ void * callbackData,
+ FBCHitTestUPP userHitTest,
+ void * userHitTestData);
+
+
+
+/*
+ ***************************************************************************
+ Get information about hits [wrapper for THitItem C++ API]
+ ***************************************************************************
+*/
+
+/*
+ * FBCGetHitCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCGetHitCount(
+ FBCSearchSession theSession,
+ UInt32 * count);
+
+
+/*
+ * FBCGetHitDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCGetHitDocument(
+ FBCSearchSession theSession,
+ UInt32 hitNumber,
+ FSSpec * theDocument);
+
+
+/*
+ * FBCGetHitDocumentRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCGetHitDocumentRef(
+ FBCSearchSession theSession,
+ UInt32 hitNumber,
+ FSRef * theDocument);
+
+
+/*
+ * FBCGetHitScore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCGetHitScore(
+ FBCSearchSession theSession,
+ UInt32 hitNumber,
+ float * score);
+
+
+
+/*
+ ***************************************************************************
+ Summarize text
+ ***************************************************************************
+*/
+
+/*
+ * FBCSummarize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCSummarize(
+ const void * inBuf,
+ UInt32 inLength,
+ void * outBuf,
+ UInt32 * outLength,
+ UInt32 * numSentences);
+
+
+/*
+ * FBCSummarizeCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FBCSummarizeCFString(
+ CFStringRef inString,
+ CFStringRef * outString,
+ UInt32 * numSentences);
+
+
+/*
+ * FBCGetSummaryOfCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FBCGetSummaryOfCFString(
+ CFStringRef inString,
+ FBCSummaryRef * summary);
+
+
+/*
+ * FBCGetSummarySentenceCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FBCGetSummarySentenceCount(
+ FBCSummaryRef summary,
+ UInt32 * numSentences);
+
+
+/*
+ * FBCGetSummarySentences()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FBCGetSummarySentences(
+ FBCSummaryRef summary,
+ CFStringRef * outString,
+ UInt32 * numSentences,
+ Boolean paragraphs);
+
+
+/*
+ * FBCDisposeSummary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FBCDisposeSummary(FBCSummaryRef summary);
+
+
+
+/*
+ ***************************************************************************
+ Deallocate hit lists and search sessions
+ ***************************************************************************
+*/
+
+/*
+ * FBCReleaseSessionHits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCReleaseSessionHits(FBCSearchSession theSession);
+
+
+/*
+ * FBCDestroySearchSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCDestroySearchSession(FBCSearchSession theSession);
+
+
+/*
+ ***************************************************************************
+ Index one or more files and/or folders
+ ***************************************************************************
+*/
+
+/* OS X DEPRECATED (will be removed from OS X exports in a future release)*/
+/*
+ * FBCIndexItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 9.0 and later
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCIndexItems(
+ FSSpecArrayPtr theItems,
+ UInt32 itemCount);
+
+
+/*
+ * FBCIndexItemsInLanguages()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCIndexItemsInLanguages(
+ FSSpecArrayPtr theItems,
+ UInt32 itemCount,
+ UInt32 languageHighBits,
+ UInt32 languageLowBits);
+
+
+/*
+ ***************************************************************************
+ (OS X only) Given a folder, find the folder that contains the index file
+ of the given index
+ ***************************************************************************
+*/
+
+/*
+ * FBCFindIndexFileFolderForFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCFindIndexFileFolderForFolder(
+ const FSRef * inFolder,
+ FSRef * outFolder);
+
+
+/*
+ ***************************************************************************
+ (OS X only) Given a folder, delete the index file that indexes it
+ ***************************************************************************
+*/
+
+/*
+ * FBCDeleteIndexFileForFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCDeleteIndexFileForFolder(const FSRef * folder);
+
+
+
+/*
+ ***************************************************************************
+ The following are deprecated and obsolete for both OS X and OS 9
+ ***************************************************************************
+*/
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCGetMatchedWords()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCGetMatchedWords(
+ FBCSearchSession theSession,
+ UInt32 hitNumber,
+ UInt32 * wordCount,
+ FBCWordList * list);
+
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCGetTopicWords()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCGetTopicWords(
+ FBCSearchSession theSession,
+ UInt32 hitNumber,
+ UInt32 * wordCount,
+ FBCWordList * list);
+
+
+/* OS X DEPRECATED, NO-OP (will be removed from OS X exports in a future release)*/
+/*
+ * FBCDestroyWordList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FindByContent 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+FBCDestroyWordList(
+ FBCWordList theList,
+ UInt32 wordCount);
+
+
+/* These names are deprecated, use the new ones above*/
+enum {
+ /* languages that use the Roman character mapping*/
+ englishHighWord = kFBCenglishHighWord,
+ dutchHighWord = kFBCdutchHighWord, /* also Afrikaans*/
+ germanHighWord = kFBCgermanHighWord,
+ swedishHighWord = kFBCswedishHighWord, /* also Norwegian*/
+ danishHighWord = kFBCdanishHighWord,
+ spanishHighWord = kFBCspanishHighWord, /* also Catalan*/
+ portugueseHighWord = kFBCportugueseHighWord,
+ italianHighWord = kFBCitalianHighWord,
+ frenchHighWord = kFBCfrenchHighWord,
+ romanHighWord = kFBCromanHighWord, /* other languages using Roman alphabet*/
+ /* Languages that use other mappings*/
+ icelandicHighWord = kFBCicelandicHighWord, /* also Faroese*/
+ hebrewHighWord = kFBChebrewHighWord, /* also Yiddish*/
+ arabicHighWord = kFBCarabicHighWord, /* also Farsi, Urdu*/
+ centeuroHighWord = kFBCcenteuroHighWord, /* Central European languages not using Cyrillic*/
+ croatianHighWord = kFBCcroatianHighWord,
+ turkishHighWord = kFBCturkishHighWord,
+ romanianHighWord = kFBCromanianHighWord,
+ greekHighWord = kFBCgreekHighWord,
+ cyrillicHighWord = kFBCcyrillicHighWord, /* all languages using Cyrillic*/
+ devanagariHighWord = kFBCdevanagariHighWord,
+ gujuratiHighWord = kFBCgujuratiHighWord,
+ gurmukhiHighWord = kFBCgurmukhiHighWord,
+ japaneseHighWord = kFBCjapaneseHighWord,
+ koreanHighWord = kFBCkoreanHighWord,
+ kDefaultLanguagesHighWord = kFBCdefaultLanguagesHighWord /* sum of first 9*/
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Finder.h b/include/qt/Finder.h
index 750b9140d..ebc8b5976 100644
--- a/include/qt/Finder.h
+++ b/include/qt/Finder.h
@@ -1,17 +1,17 @@
/*
File: Finder.h
-
+
Contains: Finder flags and container types.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FINDER__
#define __FINDER__
@@ -32,44 +32,41 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/* Creator and type of clipping files */
-enum
-{
- kClippingCreator = FOUR_CHAR_CODE('drag'),
- kClippingPictureType = FOUR_CHAR_CODE('clpp'),
- kClippingTextType = FOUR_CHAR_CODE('clpt'),
- kClippingSoundType = FOUR_CHAR_CODE('clps'),
- kClippingUnknownType = FOUR_CHAR_CODE('clpu')
+enum {
+ kClippingCreator = FOUR_CHAR_CODE('drag'),
+ kClippingPictureType = FOUR_CHAR_CODE('clpp'),
+ kClippingTextType = FOUR_CHAR_CODE('clpt'),
+ kClippingSoundType = FOUR_CHAR_CODE('clps'),
+ kClippingUnknownType = FOUR_CHAR_CODE('clpu')
};
/* Creator and type of Internet Location files */
-enum
-{
- kInternetLocationCreator = FOUR_CHAR_CODE('drag'),
- kInternetLocationHTTP = FOUR_CHAR_CODE('ilht'),
- kInternetLocationFTP = FOUR_CHAR_CODE('ilft'),
- kInternetLocationFile = FOUR_CHAR_CODE('ilfi'),
- kInternetLocationMail = FOUR_CHAR_CODE('ilma'),
- kInternetLocationNNTP = FOUR_CHAR_CODE('ilnw'),
- kInternetLocationAFP = FOUR_CHAR_CODE('ilaf'),
- kInternetLocationAppleTalk = FOUR_CHAR_CODE('ilat'),
- kInternetLocationNSL = FOUR_CHAR_CODE('ilns'),
- kInternetLocationGeneric = FOUR_CHAR_CODE('ilge')
+enum {
+ kInternetLocationCreator = FOUR_CHAR_CODE('drag'),
+ kInternetLocationHTTP = FOUR_CHAR_CODE('ilht'),
+ kInternetLocationFTP = FOUR_CHAR_CODE('ilft'),
+ kInternetLocationFile = FOUR_CHAR_CODE('ilfi'),
+ kInternetLocationMail = FOUR_CHAR_CODE('ilma'),
+ kInternetLocationNNTP = FOUR_CHAR_CODE('ilnw'),
+ kInternetLocationAFP = FOUR_CHAR_CODE('ilaf'),
+ kInternetLocationAppleTalk = FOUR_CHAR_CODE('ilat'),
+ kInternetLocationNSL = FOUR_CHAR_CODE('ilns'),
+ kInternetLocationGeneric = FOUR_CHAR_CODE('ilge')
};
-enum
-{
- kCustomIconResource = -16455 /* Custom icon family resource ID */
+enum {
+ kCustomIconResource = -16455 /* Custom icon family resource ID */
};
/* In order to specify any of the information described in the */
@@ -77,157 +74,145 @@ enum
/* and set kExtendedFlagHasCustomBadge of the FXInfo.fdXFlags or DXInfo.frXFlags field, */
/* and add a resource of type kCustomBadgeResourceType and ID kCustomBadgeResourceID to */
/* the file or to the "Icon/n" file for a folder */
-enum
-{
- kCustomBadgeResourceType = FOUR_CHAR_CODE('badg'),
- kCustomBadgeResourceID = kCustomIconResource,
- kCustomBadgeResourceVersion = 0
+enum {
+ kCustomBadgeResourceType = FOUR_CHAR_CODE('badg'),
+ kCustomBadgeResourceID = kCustomIconResource,
+ kCustomBadgeResourceVersion = 0
};
-struct CustomBadgeResource
-{
- SInt16 version; /* This is version kCustomBadgeResourceVersion*/
- SInt16 customBadgeResourceID; /* If not 0, the ID of a resource to use on top*/
- /* of the icon for this file or folder*/
- OSType customBadgeType; /* If not 0, the type and creator of an icon*/
- OSType customBadgeCreator; /* to use on top of the icon*/
- OSType windowBadgeType; /* If not 0, the type and creator of an icon*/
- OSType windowBadgeCreator; /* to display in the header of the window for this */
- /* file or folder*/
- OSType overrideType; /* If not 0, the type and creator of an icon to*/
- OSType overrideCreator; /* use INSTEAD of the icon for this file or folder*/
+struct CustomBadgeResource {
+ SInt16 version; /* This is version kCustomBadgeResourceVersion*/
+ SInt16 customBadgeResourceID; /* If not 0, the ID of a resource to use on top*/
+ /* of the icon for this file or folder*/
+ OSType customBadgeType; /* If not 0, the type and creator of an icon*/
+ OSType customBadgeCreator; /* to use on top of the icon*/
+ OSType windowBadgeType; /* If not 0, the type and creator of an icon*/
+ OSType windowBadgeCreator; /* to display in the header of the window for this */
+ /* file or folder*/
+ OSType overrideType; /* If not 0, the type and creator of an icon to*/
+ OSType overrideCreator; /* use INSTEAD of the icon for this file or folder*/
};
typedef struct CustomBadgeResource CustomBadgeResource;
typedef CustomBadgeResource * CustomBadgeResourcePtr;
typedef CustomBadgeResourcePtr * CustomBadgeResourceHandle;
-/* You can specify routing information for a file by including a 'rout' 0
- resource in it and setting the kExtendedFlagHasRoutingInfo bit in the extended
- Finder flags.
+/* You can specify routing information for a file by including a 'rout' 0
+ resource in it and setting the kExtendedFlagHasRoutingInfo bit in the extended
+ Finder flags.
The 'rout' resource is an array of RoutingResourceEntry. Each entry is considered
in turn. The first matching entry is used.
If the creator and fileType match the file being dropped and targetFolder match
- the folder ID of the folder being dropped onto, then the file is rerouted
+ the folder ID of the folder being dropped onto, then the file is rerouted
into the specified destination folder.
- The only target folder currently supported is the system folder,
+ The only target folder currently supported is the system folder,
kSystemFolderType = 'macs'.
*/
-enum
-{
- kRoutingResourceType = FOUR_CHAR_CODE('rout'),
- kRoutingResourceID = 0
+enum {
+ kRoutingResourceType = FOUR_CHAR_CODE('rout'),
+ kRoutingResourceID = 0
};
-struct RoutingResourceEntry
-{
- OSType creator; /* Use '****' or 0 to match any creator */
- OSType fileType; /* Use '****' or 0 to match any file type */
- OSType targetFolder; /* Folder ID of the folder this file was dropped onto */
- OSType destinationFolder; /* Folder that the source will be routed to */
- OSType reservedField; /* Set to 0 */
+struct RoutingResourceEntry {
+ OSType creator; /* Use '****' or 0 to match any creator */
+ OSType fileType; /* Use '****' or 0 to match any file type */
+ OSType targetFolder; /* Folder ID of the folder this file was dropped onto */
+ OSType destinationFolder; /* Folder that the source will be routed to */
+ OSType reservedField; /* Set to 0 */
};
typedef struct RoutingResourceEntry RoutingResourceEntry;
typedef RoutingResourceEntry * RoutingResourcePtr;
typedef RoutingResourcePtr * RoutingResourceHandle;
/* Types for special container aliases */
-enum
-{
- kContainerFolderAliasType = FOUR_CHAR_CODE('fdrp'), /* type for folder aliases */
- kContainerTrashAliasType = FOUR_CHAR_CODE('trsh'), /* type for trash folder aliases */
- kContainerHardDiskAliasType = FOUR_CHAR_CODE('hdsk'), /* type for hard disk aliases */
- kContainerFloppyAliasType = FOUR_CHAR_CODE('flpy'), /* type for floppy aliases */
- kContainerServerAliasType = FOUR_CHAR_CODE('srvr'), /* type for server aliases */
- kApplicationAliasType = FOUR_CHAR_CODE('adrp'), /* type for application aliases */
- kContainerAliasType = FOUR_CHAR_CODE('drop'), /* type for all other containers */
- kDesktopPrinterAliasType = FOUR_CHAR_CODE('dtpa'), /* type for Desktop Printer alias */
- kContainerCDROMAliasType = FOUR_CHAR_CODE('cddr'), /* type for CD-ROM alias */
- kApplicationCPAliasType = FOUR_CHAR_CODE('acdp'), /* type for application control panel alias */
- kApplicationDAAliasType = FOUR_CHAR_CODE('addp'), /* type for application DA alias */
- kPackageAliasType = FOUR_CHAR_CODE('fpka'), /* type for plain package alias */
- kAppPackageAliasType = FOUR_CHAR_CODE('fapa') /* type for application package alias */
+enum {
+ kContainerFolderAliasType = FOUR_CHAR_CODE('fdrp'), /* type for folder aliases */
+ kContainerTrashAliasType = FOUR_CHAR_CODE('trsh'), /* type for trash folder aliases */
+ kContainerHardDiskAliasType = FOUR_CHAR_CODE('hdsk'), /* type for hard disk aliases */
+ kContainerFloppyAliasType = FOUR_CHAR_CODE('flpy'), /* type for floppy aliases */
+ kContainerServerAliasType = FOUR_CHAR_CODE('srvr'), /* type for server aliases */
+ kApplicationAliasType = FOUR_CHAR_CODE('adrp'), /* type for application aliases */
+ kContainerAliasType = FOUR_CHAR_CODE('drop'), /* type for all other containers */
+ kDesktopPrinterAliasType = FOUR_CHAR_CODE('dtpa'), /* type for Desktop Printer alias */
+ kContainerCDROMAliasType = FOUR_CHAR_CODE('cddr'), /* type for CD-ROM alias */
+ kApplicationCPAliasType = FOUR_CHAR_CODE('acdp'), /* type for application control panel alias */
+ kApplicationDAAliasType = FOUR_CHAR_CODE('addp'), /* type for application DA alias */
+ kPackageAliasType = FOUR_CHAR_CODE('fpka'), /* type for plain package alias */
+ kAppPackageAliasType = FOUR_CHAR_CODE('fapa') /* type for application package alias */
};
/* Types for Special folder aliases */
-enum
-{
- kSystemFolderAliasType = FOUR_CHAR_CODE('fasy'),
- kAppleMenuFolderAliasType = FOUR_CHAR_CODE('faam'),
- kStartupFolderAliasType = FOUR_CHAR_CODE('fast'),
- kPrintMonitorDocsFolderAliasType = FOUR_CHAR_CODE('fapn'),
- kPreferencesFolderAliasType = FOUR_CHAR_CODE('fapf'),
- kControlPanelFolderAliasType = FOUR_CHAR_CODE('fact'),
- kExtensionFolderAliasType = FOUR_CHAR_CODE('faex')
+enum {
+ kSystemFolderAliasType = FOUR_CHAR_CODE('fasy'),
+ kAppleMenuFolderAliasType = FOUR_CHAR_CODE('faam'),
+ kStartupFolderAliasType = FOUR_CHAR_CODE('fast'),
+ kPrintMonitorDocsFolderAliasType = FOUR_CHAR_CODE('fapn'),
+ kPreferencesFolderAliasType = FOUR_CHAR_CODE('fapf'),
+ kControlPanelFolderAliasType = FOUR_CHAR_CODE('fact'),
+ kExtensionFolderAliasType = FOUR_CHAR_CODE('faex')
};
/* Types for AppleShare folder aliases */
-enum
-{
- kExportedFolderAliasType = FOUR_CHAR_CODE('faet'),
- kDropFolderAliasType = FOUR_CHAR_CODE('fadr'),
- kSharedFolderAliasType = FOUR_CHAR_CODE('fash'),
- kMountedFolderAliasType = FOUR_CHAR_CODE('famn')
+enum {
+ kExportedFolderAliasType = FOUR_CHAR_CODE('faet'),
+ kDropFolderAliasType = FOUR_CHAR_CODE('fadr'),
+ kSharedFolderAliasType = FOUR_CHAR_CODE('fash'),
+ kMountedFolderAliasType = FOUR_CHAR_CODE('famn')
};
/* Finder flags (finderFlags, fdFlags and frFlags) */
/* Any flag reserved or not specified should be set to 0. */
/* If a flag applies to a file, but not to a folder, make sure to check */
/* that the item is not a folder by checking ((ParamBlockRec.ioFlAttrib & ioDirMask) == 0) */
-enum
-{
- kIsOnDesk = 0x0001, /* Files and folders (System 6) */
- kColor = 0x000E, /* Files and folders */
- /* bit 0x0020 was kRequireSwitchLaunch, but is now reserved for future use*/
- kIsShared = 0x0040, /* Files only (Applications only) */
- /* If clear, the application needs to write to */
- /* its resource fork, and therefore cannot be */
- /* shared on a server */
- kHasNoINITs = 0x0080, /* Files only (Extensions/Control Panels only) */
- /* This file contains no INIT resource */
- kHasBeenInited = 0x0100, /* Files only */
- /* Clear if the file contains desktop database */
- /* resources ('BNDL', 'FREF', 'open', 'kind'...) */
- /* that have not been added yet. Set only by the Finder */
- /* Reserved for folders - make sure this bit is cleared for folders */
- /* bit 0x0200 was the letter bit for AOCE, but is now reserved for future use */
- kHasCustomIcon = 0x0400, /* Files and folders */
- kIsStationery = 0x0800, /* Files only */
- kNameLocked = 0x1000, /* Files and folders */
- kHasBundle = 0x2000, /* Files only */
- kIsInvisible = 0x4000, /* Files and folders */
- kIsAlias = 0x8000 /* Files only */
+enum {
+ kIsOnDesk = 0x0001, /* Files and folders (System 6) */
+ kColor = 0x000E, /* Files and folders */
+ /* bit 0x0020 was kRequireSwitchLaunch, but is now reserved for future use*/
+ kIsShared = 0x0040, /* Files only (Applications only) */
+ /* If clear, the application needs to write to */
+ /* its resource fork, and therefore cannot be */
+ /* shared on a server */
+ kHasNoINITs = 0x0080, /* Files only (Extensions/Control Panels only) */
+ /* This file contains no INIT resource */
+ kHasBeenInited = 0x0100, /* Files only */
+ /* Clear if the file contains desktop database */
+ /* resources ('BNDL', 'FREF', 'open', 'kind'...) */
+ /* that have not been added yet. Set only by the Finder */
+ /* Reserved for folders - make sure this bit is cleared for folders */
+ /* bit 0x0200 was the letter bit for AOCE, but is now reserved for future use */
+ kHasCustomIcon = 0x0400, /* Files and folders */
+ kIsStationery = 0x0800, /* Files only */
+ kNameLocked = 0x1000, /* Files and folders */
+ kHasBundle = 0x2000, /* Files only */
+ kIsInvisible = 0x4000, /* Files and folders */
+ kIsAlias = 0x8000 /* Files only */
};
/* Obsolete. Use names defined above. */
-enum
-{
- fOnDesk = kIsOnDesk,
- fHasBundle = kHasBundle,
- fInvisible = kIsInvisible
+enum {
+ fOnDesk = kIsOnDesk,
+ fHasBundle = kHasBundle,
+ fInvisible = kIsInvisible
};
/* Obsolete */
-enum
-{
- fTrash = -3,
- fDesktop = -2,
- fDisk = 0
+enum {
+ fTrash = -3,
+ fDesktop = -2,
+ fDisk = 0
};
#if OLDROUTINENAMES
-enum
-{
- kIsStationary = kIsStationery
+enum {
+ kIsStationary = kIsStationery
};
#endif /* OLDROUTINENAMES */
/* Extended flags (extendedFinderFlags, fdXFlags and frXFlags) */
/* Any flag not specified should be set to 0. */
-enum
-{
- kExtendedFlagsAreInvalid = 0x8000, /* If set the other extended flags are ignored */
- kExtendedFlagHasCustomBadge = 0x0100, /* Set if the file or folder has a badge resource */
- kExtendedFlagHasRoutingInfo = 0x0004 /* Set if the file contains routing info resource */
+enum {
+ kExtendedFlagsAreInvalid = 0x8000, /* If set the other extended flags are ignored */
+ kExtendedFlagHasCustomBadge = 0x0100, /* Set if the file or folder has a badge resource */
+ kExtendedFlagHasRoutingInfo = 0x0004 /* Set if the file contains routing info resource */
};
@@ -238,10 +223,9 @@ enum
/* is fully created. -- If you provide a series of 'BNDL' icons for your creator */
/* and some of these filetypes, you can achieve limited icon animation while */
/* the file creation progresses. */
-enum
-{
- kFirstMagicBusyFiletype = FOUR_CHAR_CODE('bzy '),
- kLastMagicBusyFiletype = FOUR_CHAR_CODE('bzy?')
+enum {
+ kFirstMagicBusyFiletype = FOUR_CHAR_CODE('bzy '),
+ kLastMagicBusyFiletype = FOUR_CHAR_CODE('bzy?')
};
/* Use this date as a file's or folder's creation date to indicate that it is */
@@ -249,9 +233,8 @@ enum
/* This prevents Finder from trying to change the item's attributes before it */
/* is fully created (Finder 8.5 and 8.6 check file creation dates; later Finders */
/* may check folder creation dates as well). */
-enum
-{
- kMagicBusyCreationDate = 0x4F3AFDB0
+enum {
+ kMagicBusyCreationDate = 0x4F3AFDB0
};
@@ -263,46 +246,42 @@ enum
*/
/*------------------------------------------------------------------------*/
-struct FileInfo
-{
- OSType fileType; /* The type of the file */
- OSType fileCreator; /* The file's creator */
- UInt16 finderFlags; /* ex: kHasBundle, kIsInvisible... */
- Point location; /* File's location in the folder */
- /* If set to {0, 0}, the Finder will place the item automatically */
- UInt16 reservedField; /* (set to 0) */
+struct FileInfo {
+ OSType fileType; /* The type of the file */
+ OSType fileCreator; /* The file's creator */
+ UInt16 finderFlags; /* ex: kHasBundle, kIsInvisible... */
+ Point location; /* File's location in the folder */
+ /* If set to {0, 0}, the Finder will place the item automatically */
+ UInt16 reservedField; /* (set to 0) */
};
typedef struct FileInfo FileInfo;
-struct FolderInfo
-{
- Rect windowBounds; /* The position and dimension of the folder's window */
- UInt16 finderFlags; /* ex. kIsInvisible, kNameLocked, etc.*/
- Point location; /* Folder's location in the parent folder */
- /* If set to {0, 0}, the Finder will place the item automatically */
- UInt16 reservedField; /* (set to 0) */
+struct FolderInfo {
+ Rect windowBounds; /* The position and dimension of the folder's window */
+ UInt16 finderFlags; /* ex. kIsInvisible, kNameLocked, etc.*/
+ Point location; /* Folder's location in the parent folder */
+ /* If set to {0, 0}, the Finder will place the item automatically */
+ UInt16 reservedField; /* (set to 0) */
};
typedef struct FolderInfo FolderInfo;
-struct ExtendedFileInfo
-{
- SInt16 reserved1[4]; /* Reserved (set to 0) */
- UInt16 extendedFinderFlags; /* Extended flags (custom badge, routing info...) */
- SInt16 reserved2; /* Reserved (set to 0). Comment ID if high-bit is clear */
- SInt32 putAwayFolderID; /* Put away folder ID */
+struct ExtendedFileInfo {
+ SInt16 reserved1[4]; /* Reserved (set to 0) */
+ UInt16 extendedFinderFlags; /* Extended flags (custom badge, routing info...) */
+ SInt16 reserved2; /* Reserved (set to 0). Comment ID if high-bit is clear */
+ SInt32 putAwayFolderID; /* Put away folder ID */
};
typedef struct ExtendedFileInfo ExtendedFileInfo;
-struct ExtendedFolderInfo
-{
- Point scrollPosition; /* Scroll position (for icon views) */
- SInt32 reserved1; /* Reserved (set to 0) */
- UInt16 extendedFinderFlags; /* Extended flags (custom badge, routing info...) */
- SInt16 reserved2; /* Reserved (set to 0). Comment ID if high-bit is clear */
- SInt32 putAwayFolderID; /* Put away folder ID */
+struct ExtendedFolderInfo {
+ Point scrollPosition; /* Scroll position (for icon views) */
+ SInt32 reserved1; /* Reserved (set to 0) */
+ UInt16 extendedFinderFlags; /* Extended flags (custom badge, routing info...) */
+ SInt16 reserved2; /* Reserved (set to 0). Comment ID if high-bit is clear */
+ SInt32 putAwayFolderID; /* Put away folder ID */
};
typedef struct ExtendedFolderInfo ExtendedFolderInfo;
/*------------------------------------------------------------------------*/
/*
The following data structures are here for compatibility.
- Use the new data structures replacing them if possible (i.e. FileInfo
+ Use the new data structures replacing them if possible (i.e. FileInfo
instead of FInfo, etc...)
*/
/*------------------------------------------------------------------------*/
@@ -311,14 +290,13 @@ typedef struct ExtendedFolderInfo ExtendedFolderInfo;
IMPORTANT:
In MacOS 8, the fdFldr field has become reserved for the Finder.
*/
-struct FInfo
-{
- OSType fdType; /* The type of the file */
- OSType fdCreator; /* The file's creator */
- UInt16 fdFlags; /* Flags ex. kHasBundle, kIsInvisible, etc. */
- Point fdLocation; /* File's location in folder. */
- /* If set to {0, 0}, the Finder will place the item automatically */
- SInt16 fdFldr; /* Reserved (set to 0) */
+struct FInfo {
+ OSType fdType; /* The type of the file */
+ OSType fdCreator; /* The file's creator */
+ UInt16 fdFlags; /* Flags ex. kHasBundle, kIsInvisible, etc. */
+ Point fdLocation; /* File's location in folder. */
+ /* If set to {0, 0}, the Finder will place the item automatically */
+ SInt16 fdFldr; /* Reserved (set to 0) */
};
typedef struct FInfo FInfo;
/* Extended file info */
@@ -328,29 +306,27 @@ typedef struct FInfo FInfo;
to become reserved fields for the Finder.
The fdScript has become an extended flag.
*/
-struct FXInfo
-{
- SInt16 fdIconID; /* Reserved (set to 0) */
- SInt16 fdReserved[3]; /* Reserved (set to 0) */
- SInt8 fdScript; /* Extended flags. Script code if high-bit is set */
- SInt8 fdXFlags; /* Extended flags */
- SInt16 fdComment; /* Reserved (set to 0). Comment ID if high-bit is clear */
- SInt32 fdPutAway; /* Put away folder ID */
+struct FXInfo {
+ SInt16 fdIconID; /* Reserved (set to 0) */
+ SInt16 fdReserved[3]; /* Reserved (set to 0) */
+ SInt8 fdScript; /* Extended flags. Script code if high-bit is set */
+ SInt8 fdXFlags; /* Extended flags */
+ SInt16 fdComment; /* Reserved (set to 0). Comment ID if high-bit is clear */
+ SInt32 fdPutAway; /* Put away folder ID */
};
typedef struct FXInfo FXInfo;
/* Folder info */
/*
IMPORTANT:
- In MacOS 8, the frView field was changed to become reserved
+ In MacOS 8, the frView field was changed to become reserved
field for the Finder.
*/
-struct DInfo
-{
- Rect frRect; /* Folder's window bounds */
- UInt16 frFlags; /* Flags ex. kIsInvisible, kNameLocked, etc.*/
- Point frLocation; /* Folder's location in parent folder */
- /* If set to {0, 0}, the Finder will place the item automatically */
- SInt16 frView; /* Reserved (set to 0) */
+struct DInfo {
+ Rect frRect; /* Folder's window bounds */
+ UInt16 frFlags; /* Flags ex. kIsInvisible, kNameLocked, etc.*/
+ Point frLocation; /* Folder's location in parent folder */
+ /* If set to {0, 0}, the Finder will place the item automatically */
+ SInt16 frView; /* Reserved (set to 0) */
};
typedef struct DInfo DInfo;
/* Extended folder info */
@@ -360,24 +336,23 @@ typedef struct DInfo DInfo;
to become reserved fields for the Finder.
The frScript has become an extended flag.
*/
-struct DXInfo
-{
- Point frScroll; /* Scroll position */
- SInt32 frOpenChain; /* Reserved (set to 0) */
- SInt8 frScript; /* Extended flags. Script code if high-bit is set */
- SInt8 frXFlags; /* Extended flags */
- SInt16 frComment; /* Reserved (set to 0). Comment ID if high-bit is clear */
- SInt32 frPutAway; /* Put away folder ID */
+struct DXInfo {
+ Point frScroll; /* Scroll position */
+ SInt32 frOpenChain; /* Reserved (set to 0) */
+ SInt8 frScript; /* Extended flags. Script code if high-bit is set */
+ SInt8 frXFlags; /* Extended flags */
+ SInt16 frComment; /* Reserved (set to 0). Comment ID if high-bit is clear */
+ SInt32 frPutAway; /* Put away folder ID */
};
typedef struct DXInfo DXInfo;
/* ControlPanelDefProcPtr and cdev constants have all been moved to Processes.i*/
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/FinderRegistry.h b/include/qt/FinderRegistry.h
index 917452b12..2c82d5f08 100644
--- a/include/qt/FinderRegistry.h
+++ b/include/qt/FinderRegistry.h
@@ -1,17 +1,17 @@
/*
File: FinderRegistry.h
-
+
Contains: Data types for Finder AppleEvents
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FINDERREGISTRY__
#define __FINDERREGISTRY__
@@ -46,9 +46,8 @@
The old Finder Event suite was 'FNDR'
The new suite is 'fndr'
*/
-enum
-{
- kAEFinderSuite = FOUR_CHAR_CODE('fndr')
+enum {
+ kAEFinderSuite = FOUR_CHAR_CODE('fndr')
};
/*
@@ -56,24 +55,22 @@ enum
Finder Events
//////////////////////////////////////
*/
-enum
-{
- kAECleanUp = FOUR_CHAR_CODE('fclu'),
- kAEEject = FOUR_CHAR_CODE('ejct'),
- kAEEmpty = FOUR_CHAR_CODE('empt'),
- kAEErase = FOUR_CHAR_CODE('fera'),
- kAEGestalt = FOUR_CHAR_CODE('gstl'),
- kAEPutAway = FOUR_CHAR_CODE('ptwy'),
- kAERebuildDesktopDB = FOUR_CHAR_CODE('rddb'),
- kAESync = FOUR_CHAR_CODE('fupd'),
- kAEInterceptOpen = FOUR_CHAR_CODE('fopn')
+enum {
+ kAECleanUp = FOUR_CHAR_CODE('fclu'),
+ kAEEject = FOUR_CHAR_CODE('ejct'),
+ kAEEmpty = FOUR_CHAR_CODE('empt'),
+ kAEErase = FOUR_CHAR_CODE('fera'),
+ kAEGestalt = FOUR_CHAR_CODE('gstl'),
+ kAEPutAway = FOUR_CHAR_CODE('ptwy'),
+ kAERebuildDesktopDB = FOUR_CHAR_CODE('rddb'),
+ kAESync = FOUR_CHAR_CODE('fupd'),
+ kAEInterceptOpen = FOUR_CHAR_CODE('fopn')
};
/* "Sort" from the database suite:*/
-enum
-{
- kAEDatabaseSuite = FOUR_CHAR_CODE('DATA'),
- kAESort = FOUR_CHAR_CODE('SORT')
+enum {
+ kAEDatabaseSuite = FOUR_CHAR_CODE('DATA'),
+ kAESort = FOUR_CHAR_CODE('SORT')
};
/*
@@ -84,63 +81,61 @@ enum
////////////////////////////////////////////////////////////////////////
*/
-enum
-{
- cInternalFinderObject = FOUR_CHAR_CODE('obj ') /* cReference - used to distinguish objects used inside the Finder only*/
+enum {
+ cInternalFinderObject = FOUR_CHAR_CODE('obj ') /* cReference - used to distinguish objects used inside the Finder only*/
};
/*
Main Finder class definitions
Indentation implies object model hierarchy
*/
-enum
-{
- /* We do not use class cItem from AERegistry.r. Instead our class Item is a cObject*/
- /* cItem = 'citm', // defined in AERegistry.r*/
- /* cFile = 'file', // defined in AERegistry.r*/
- cAliasFile = FOUR_CHAR_CODE('alia'),
- cApplicationFile = FOUR_CHAR_CODE('appf'),
- cControlPanelFile = FOUR_CHAR_CODE('ccdv'),
- cDeskAccessoryFile = FOUR_CHAR_CODE('dafi'),
- cDocumentFile = FOUR_CHAR_CODE('docf'),
- cFontFile = FOUR_CHAR_CODE('fntf'),
- cSoundFile = FOUR_CHAR_CODE('sndf'),
- cClippingFile = FOUR_CHAR_CODE('clpf'),
- cContainer = FOUR_CHAR_CODE('ctnr'),
- cDesktop = FOUR_CHAR_CODE('cdsk'),
- cSharableContainer = FOUR_CHAR_CODE('sctr'),
- cDisk = FOUR_CHAR_CODE('cdis'),
- cFolder = FOUR_CHAR_CODE('cfol'),
- cSuitcase = FOUR_CHAR_CODE('stcs'),
- cAccessorySuitcase = FOUR_CHAR_CODE('dsut'),
- cFontSuitcase = FOUR_CHAR_CODE('fsut'),
- cTrash = FOUR_CHAR_CODE('ctrs'),
- cDesktopPrinter = FOUR_CHAR_CODE('dskp'),
- cPackage = FOUR_CHAR_CODE('pack'),
- cContentSpace = FOUR_CHAR_CODE('dwnd'), /* cWindow = 'cwin', // defined in AERegistry.r*/
- cContainerWindow = FOUR_CHAR_CODE('cwnd'),
- cInfoWindow = FOUR_CHAR_CODE('iwnd'),
- cSharingWindow = FOUR_CHAR_CODE('swnd'),
- cStatusWindow = FOUR_CHAR_CODE('qwnd'),
- cClippingWindow = FOUR_CHAR_CODE('lwnd'),
- cPreferencesWindow = FOUR_CHAR_CODE('pwnd'),
- cDTPWindow = FOUR_CHAR_CODE('dtpw'),
- cProcess = FOUR_CHAR_CODE('prcs'),
- cAccessoryProcess = FOUR_CHAR_CODE('pcda'),
- cApplicationProcess = FOUR_CHAR_CODE('pcap'),
- cGroup = FOUR_CHAR_CODE('sgrp'),
- cUser = FOUR_CHAR_CODE('cuse'), /* cApplication = 'capp', // defined in AERegistry.r*/
- cSharingPrivileges = FOUR_CHAR_CODE('priv'),
- cPreferences = FOUR_CHAR_CODE('cprf'),
- cLabel = FOUR_CHAR_CODE('clbl'),
- cSound = FOUR_CHAR_CODE('snd '),
- cAliasList = FOUR_CHAR_CODE('alst'),
- cSpecialFolders = FOUR_CHAR_CODE('spfl'), /* For use by viewer search engines:*/
- cOnlineDisk = FOUR_CHAR_CODE('cods'),
- cOnlineLocalDisk = FOUR_CHAR_CODE('clds'),
- cOnlineRemoteDisk = FOUR_CHAR_CODE('crds'), /* Miscellaneous class definitions*/
- cEntireContents = FOUR_CHAR_CODE('ects'),
- cIconFamily = FOUR_CHAR_CODE('ifam')
+enum {
+ /* We do not use class cItem from AERegistry.r. Instead our class Item is a cObject*/
+ /* cItem = 'citm', // defined in AERegistry.r*/
+ /* cFile = 'file', // defined in AERegistry.r*/
+ cAliasFile = FOUR_CHAR_CODE('alia'),
+ cApplicationFile = FOUR_CHAR_CODE('appf'),
+ cControlPanelFile = FOUR_CHAR_CODE('ccdv'),
+ cDeskAccessoryFile = FOUR_CHAR_CODE('dafi'),
+ cDocumentFile = FOUR_CHAR_CODE('docf'),
+ cFontFile = FOUR_CHAR_CODE('fntf'),
+ cSoundFile = FOUR_CHAR_CODE('sndf'),
+ cClippingFile = FOUR_CHAR_CODE('clpf'),
+ cContainer = FOUR_CHAR_CODE('ctnr'),
+ cDesktop = FOUR_CHAR_CODE('cdsk'),
+ cSharableContainer = FOUR_CHAR_CODE('sctr'),
+ cDisk = FOUR_CHAR_CODE('cdis'),
+ cFolder = FOUR_CHAR_CODE('cfol'),
+ cSuitcase = FOUR_CHAR_CODE('stcs'),
+ cAccessorySuitcase = FOUR_CHAR_CODE('dsut'),
+ cFontSuitcase = FOUR_CHAR_CODE('fsut'),
+ cTrash = FOUR_CHAR_CODE('ctrs'),
+ cDesktopPrinter = FOUR_CHAR_CODE('dskp'),
+ cPackage = FOUR_CHAR_CODE('pack'),
+ cContentSpace = FOUR_CHAR_CODE('dwnd'), /* cWindow = 'cwin', // defined in AERegistry.r*/
+ cContainerWindow = FOUR_CHAR_CODE('cwnd'),
+ cInfoWindow = FOUR_CHAR_CODE('iwnd'),
+ cSharingWindow = FOUR_CHAR_CODE('swnd'),
+ cStatusWindow = FOUR_CHAR_CODE('qwnd'),
+ cClippingWindow = FOUR_CHAR_CODE('lwnd'),
+ cPreferencesWindow = FOUR_CHAR_CODE('pwnd'),
+ cDTPWindow = FOUR_CHAR_CODE('dtpw'),
+ cProcess = FOUR_CHAR_CODE('prcs'),
+ cAccessoryProcess = FOUR_CHAR_CODE('pcda'),
+ cApplicationProcess = FOUR_CHAR_CODE('pcap'),
+ cGroup = FOUR_CHAR_CODE('sgrp'),
+ cUser = FOUR_CHAR_CODE('cuse'), /* cApplication = 'capp', // defined in AERegistry.r*/
+ cSharingPrivileges = FOUR_CHAR_CODE('priv'),
+ cPreferences = FOUR_CHAR_CODE('cprf'),
+ cLabel = FOUR_CHAR_CODE('clbl'),
+ cSound = FOUR_CHAR_CODE('snd '),
+ cAliasList = FOUR_CHAR_CODE('alst'),
+ cSpecialFolders = FOUR_CHAR_CODE('spfl'), /* For use by viewer search engines:*/
+ cOnlineDisk = FOUR_CHAR_CODE('cods'),
+ cOnlineLocalDisk = FOUR_CHAR_CODE('clds'),
+ cOnlineRemoteDisk = FOUR_CHAR_CODE('crds'), /* Miscellaneous class definitions*/
+ cEntireContents = FOUR_CHAR_CODE('ects'),
+ cIconFamily = FOUR_CHAR_CODE('ifam')
};
@@ -151,73 +146,67 @@ enum
*/
/* Properties of class cItem (really cObject)*/
-enum
-{
- /* pBounds = 'pbnd', // defined in AERegistry.r*/
- pComment = FOUR_CHAR_CODE('comt'),
- pContainer = cContainer,
- pContentSpace = cContentSpace,
- pCreationDateOld = FOUR_CHAR_CODE('crtd'), /* to support pre-Finder 8 scripts*/
- pCreationDate = FOUR_CHAR_CODE('ascd'), /* from File Commands OSAX*/
- pDescription = FOUR_CHAR_CODE('dscr'),
- pDisk = cDisk,
- pFolderOld = cFolder, /* to support pre-Finder 8 scripts*/
- pFolder = FOUR_CHAR_CODE('asdr'), /* from File Commands OSAX*/
- pIconBitmap = FOUR_CHAR_CODE('iimg'), /* pID = 'ID ', // defined in AERegistry.r*/
- pInfoWindow = cInfoWindow,
- pKind = FOUR_CHAR_CODE('kind'),
- pLabelIndex = FOUR_CHAR_CODE('labi'),
- pModificationDateOld = FOUR_CHAR_CODE('modd'), /* to support pre-Finder 8 scripts*/
- pModificationDate = FOUR_CHAR_CODE('asmo'), /* from File Commands OSAX*/
- /* pName = 'pnam', // defined in AERegistry.r*/
- pPhysicalSize = FOUR_CHAR_CODE('phys'),
- pPosition = FOUR_CHAR_CODE('posn'),
- pIsSelected = FOUR_CHAR_CODE('issl'),
- pSize = pPointSize, /* pPointSize defined in AERegistry.r*/
- pWindow = cWindow,
- pPreferencesWindow = cPreferencesWindow
+enum {
+ /* pBounds = 'pbnd', // defined in AERegistry.r*/
+ pComment = FOUR_CHAR_CODE('comt'),
+ pContainer = cContainer,
+ pContentSpace = cContentSpace,
+ pCreationDateOld = FOUR_CHAR_CODE('crtd'), /* to support pre-Finder 8 scripts*/
+ pCreationDate = FOUR_CHAR_CODE('ascd'), /* from File Commands OSAX*/
+ pDescription = FOUR_CHAR_CODE('dscr'),
+ pDisk = cDisk,
+ pFolderOld = cFolder, /* to support pre-Finder 8 scripts*/
+ pFolder = FOUR_CHAR_CODE('asdr'), /* from File Commands OSAX*/
+ pIconBitmap = FOUR_CHAR_CODE('iimg'), /* pID = 'ID ', // defined in AERegistry.r*/
+ pInfoWindow = cInfoWindow,
+ pKind = FOUR_CHAR_CODE('kind'),
+ pLabelIndex = FOUR_CHAR_CODE('labi'),
+ pModificationDateOld = FOUR_CHAR_CODE('modd'), /* to support pre-Finder 8 scripts*/
+ pModificationDate = FOUR_CHAR_CODE('asmo'), /* from File Commands OSAX*/
+ /* pName = 'pnam', // defined in AERegistry.r*/
+ pPhysicalSize = FOUR_CHAR_CODE('phys'),
+ pPosition = FOUR_CHAR_CODE('posn'),
+ pIsSelected = FOUR_CHAR_CODE('issl'),
+ pSize = pPointSize, /* pPointSize defined in AERegistry.r*/
+ pWindow = cWindow,
+ pPreferencesWindow = cPreferencesWindow
};
/* Properties of class cFile (subclass of cItem)*/
-enum
-{
- pFileCreator = FOUR_CHAR_CODE('fcrt'),
- pFileType = FOUR_CHAR_CODE('asty'), /* from File Commands OSAX*/
- pFileTypeOld = FOUR_CHAR_CODE('fitp'), /* to support pre-Finder 8 scripts*/
- pIsLocked = FOUR_CHAR_CODE('aslk'), /* from File Commands OSAX*/
- pIsLockedOld = FOUR_CHAR_CODE('islk'), /* to support pre-Finder 8 scripts*/
- /* pIsStationeryPad = 'pspd', // defined in AERegistry.r */
- /* pVersion = 'vers', // defined in AERegistry.r*/
- pProductVersion = FOUR_CHAR_CODE('ver2')
+enum {
+ pFileCreator = FOUR_CHAR_CODE('fcrt'),
+ pFileType = FOUR_CHAR_CODE('asty'), /* from File Commands OSAX*/
+ pFileTypeOld = FOUR_CHAR_CODE('fitp'), /* to support pre-Finder 8 scripts*/
+ pIsLocked = FOUR_CHAR_CODE('aslk'), /* from File Commands OSAX*/
+ pIsLockedOld = FOUR_CHAR_CODE('islk'), /* to support pre-Finder 8 scripts*/
+ /* pIsStationeryPad = 'pspd', // defined in AERegistry.r */
+ /* pVersion = 'vers', // defined in AERegistry.r*/
+ pProductVersion = FOUR_CHAR_CODE('ver2')
};
/* Properties of class cAliasFile (subclass of cFile)*/
-enum
-{
- pOriginalItem = FOUR_CHAR_CODE('orig')
+enum {
+ pOriginalItem = FOUR_CHAR_CODE('orig')
};
/* Properties of class cApplicationFile (subclass of cFile)*/
-enum
-{
- pMinAppPartition = FOUR_CHAR_CODE('mprt'),
- pAppPartition = FOUR_CHAR_CODE('appt'),
- pSuggestedAppPartition = FOUR_CHAR_CODE('sprt'),
- pIsScriptable = FOUR_CHAR_CODE('isab')
+enum {
+ pMinAppPartition = FOUR_CHAR_CODE('mprt'),
+ pAppPartition = FOUR_CHAR_CODE('appt'),
+ pSuggestedAppPartition = FOUR_CHAR_CODE('sprt'),
+ pIsScriptable = FOUR_CHAR_CODE('isab')
};
/* Properties of class cURLFile (subclass of cFile)*/
-enum
-{
- pInternetLocation = FOUR_CHAR_CODE('iloc')
+enum {
+ pInternetLocation = FOUR_CHAR_CODE('iloc')
};
/* Properties of class cSoundFile (subclass of cFile)*/
-enum
-{
- pSound = FOUR_CHAR_CODE('snd ')
+enum {
+ pSound = FOUR_CHAR_CODE('snd ')
};
@@ -227,205 +216,189 @@ enum
control panel. These properties are only offered here for backward compatability.
To set the full range of Finder Preferences, use the Preferences object.
*/
-enum
-{
- pShowFolderSize = FOUR_CHAR_CODE('sfsz'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pShowComment = FOUR_CHAR_CODE('scom'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pShowDate = FOUR_CHAR_CODE('sdat'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pShowCreationDate = FOUR_CHAR_CODE('scda'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pShowKind = FOUR_CHAR_CODE('sknd'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pShowLabel = FOUR_CHAR_CODE('slbl'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pShowSize = FOUR_CHAR_CODE('ssiz'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pShowVersion = FOUR_CHAR_CODE('svrs'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pSortDirection = FOUR_CHAR_CODE('sord'),
- pShowDiskInfo = FOUR_CHAR_CODE('sdin'), /* Always on in Finder 8.0 HIS*/
- pListViewIconSize = FOUR_CHAR_CODE('lvis'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pGridIcons = FOUR_CHAR_CODE('fgrd'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pStaggerIcons = FOUR_CHAR_CODE('fstg'), /* No longer part of the Finder 8.0 HIS*/
- pViewFont = FOUR_CHAR_CODE('vfnt'),
- pViewFontSize = FOUR_CHAR_CODE('vfsz')
+enum {
+ pShowFolderSize = FOUR_CHAR_CODE('sfsz'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pShowComment = FOUR_CHAR_CODE('scom'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pShowDate = FOUR_CHAR_CODE('sdat'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pShowCreationDate = FOUR_CHAR_CODE('scda'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pShowKind = FOUR_CHAR_CODE('sknd'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pShowLabel = FOUR_CHAR_CODE('slbl'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pShowSize = FOUR_CHAR_CODE('ssiz'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pShowVersion = FOUR_CHAR_CODE('svrs'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pSortDirection = FOUR_CHAR_CODE('sord'),
+ pShowDiskInfo = FOUR_CHAR_CODE('sdin'), /* Always on in Finder 8.0 HIS*/
+ pListViewIconSize = FOUR_CHAR_CODE('lvis'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pGridIcons = FOUR_CHAR_CODE('fgrd'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pStaggerIcons = FOUR_CHAR_CODE('fstg'), /* No longer part of the Finder 8.0 HIS*/
+ pViewFont = FOUR_CHAR_CODE('vfnt'),
+ pViewFontSize = FOUR_CHAR_CODE('vfsz')
};
/* Properties of class cContainer (subclass of cItem)*/
-enum
-{
- pCompletelyExpanded = FOUR_CHAR_CODE('pexc'),
- pContainerWindow = cContainerWindow,
- pEntireContents = cEntireContents,
- pExpandable = FOUR_CHAR_CODE('pexa'),
- pExpanded = FOUR_CHAR_CODE('pexp'),
- pPreviousView = FOUR_CHAR_CODE('svew'), /* pSelection = 'sele', // defined in AERegistry.r*/
- pView = FOUR_CHAR_CODE('pvew'),
- pIconSize = pListViewIconSize, /* defined above*/
- pKeepArranged = FOUR_CHAR_CODE('arrg'), /* OBSOLETE in Finder 9 or later*/
- pKeepArrangedBy = FOUR_CHAR_CODE('arby') /* OBSOLETE in Finder 9 or later*/
+enum {
+ pCompletelyExpanded = FOUR_CHAR_CODE('pexc'),
+ pContainerWindow = cContainerWindow,
+ pEntireContents = cEntireContents,
+ pExpandable = FOUR_CHAR_CODE('pexa'),
+ pExpanded = FOUR_CHAR_CODE('pexp'),
+ pPreviousView = FOUR_CHAR_CODE('svew'), /* pSelection = 'sele', // defined in AERegistry.r*/
+ pView = FOUR_CHAR_CODE('pvew'),
+ pIconSize = pListViewIconSize, /* defined above*/
+ pKeepArranged = FOUR_CHAR_CODE('arrg'), /* OBSOLETE in Finder 9 or later*/
+ pKeepArrangedBy = FOUR_CHAR_CODE('arby') /* OBSOLETE in Finder 9 or later*/
};
/* Properties of class cDesktop (subclass of cContainer)*/
-enum
-{
- pStartupDisk = FOUR_CHAR_CODE('sdsk'),
- pTrash = FOUR_CHAR_CODE('trsh')
+enum {
+ pStartupDisk = FOUR_CHAR_CODE('sdsk'),
+ pTrash = FOUR_CHAR_CODE('trsh')
};
/* Properties of class cSharableContainer (subclass of cContainer)*/
-enum
-{
- pOwner = FOUR_CHAR_CODE('sown'),
- pOwnerPrivileges = FOUR_CHAR_CODE('ownr'),
- pGroup = cGroup,
- pGroupPrivileges = FOUR_CHAR_CODE('gppr'),
- pGuestPrivileges = FOUR_CHAR_CODE('gstp'),
- pArePrivilegesInherited = FOUR_CHAR_CODE('iprv'),
- pExported = FOUR_CHAR_CODE('sexp'),
- pMounted = FOUR_CHAR_CODE('smou'),
- pSharingProtection = FOUR_CHAR_CODE('spro'),
- pSharing = FOUR_CHAR_CODE('shar'),
- pSharingWindow = cSharingWindow
+enum {
+ pOwner = FOUR_CHAR_CODE('sown'),
+ pOwnerPrivileges = FOUR_CHAR_CODE('ownr'),
+ pGroup = cGroup,
+ pGroupPrivileges = FOUR_CHAR_CODE('gppr'),
+ pGuestPrivileges = FOUR_CHAR_CODE('gstp'),
+ pArePrivilegesInherited = FOUR_CHAR_CODE('iprv'),
+ pExported = FOUR_CHAR_CODE('sexp'),
+ pMounted = FOUR_CHAR_CODE('smou'),
+ pSharingProtection = FOUR_CHAR_CODE('spro'),
+ pSharing = FOUR_CHAR_CODE('shar'),
+ pSharingWindow = cSharingWindow
};
/* Properties of class cDisk (subclass of cSharableContainer)*/
-enum
-{
- pCapacity = FOUR_CHAR_CODE('capa'),
- pEjectable = FOUR_CHAR_CODE('isej'),
- pFreeSpace = FOUR_CHAR_CODE('frsp'),
- pLocal = FOUR_CHAR_CODE('isrv'),
- pIsStartup = FOUR_CHAR_CODE('istd')
+enum {
+ pCapacity = FOUR_CHAR_CODE('capa'),
+ pEjectable = FOUR_CHAR_CODE('isej'),
+ pFreeSpace = FOUR_CHAR_CODE('frsp'),
+ pLocal = FOUR_CHAR_CODE('isrv'),
+ pIsStartup = FOUR_CHAR_CODE('istd')
};
/* Properties of class cTrash (subclass of cSharableContainer)*/
-enum
-{
- pWarnOnEmpty = FOUR_CHAR_CODE('warn')
+enum {
+ pWarnOnEmpty = FOUR_CHAR_CODE('warn')
};
/* Properties of class cWindow (subclass of cContentSpace)*/
-enum
-{
- /* pBounds = 'pbnd', // defined in AERegistry.r*/
- /* pHasCloseBox = 'hclb', // defined in AERegistry.r*/
- /* pIsFloating = 'isfl', // defined in AERegistry.r*/
- /* pIndex = 'pidx', // defined in AERegistry.r*/
- /* pIsModal = 'pmod', // defined in AERegistry.r*/
- /* pPosition = 'posn', // defined above*/
- /* pIsResizable = 'prsz', // defined in AERegistry.r*/
- /* pHasTitleBar = 'ptit', // defined in AERegistry.r*/
- /* pVisible = 'pvis', // defined in AERegistry.r*/
- /* pIsZoomable = 'iszm', // defined in AERegistry.r*/
- /* pIsZoomed = 'pzum', // defined in AERegistry.r*/
- pIsZoomedFull = FOUR_CHAR_CODE('zumf'),
- pIsPopup = FOUR_CHAR_CODE('drwr'),
- pIsPulledOpen = FOUR_CHAR_CODE('pull'), /* only applies to popup windows*/
- pIsCollapsed = FOUR_CHAR_CODE('wshd') /* only applies to normal windows*/
+enum {
+ /* pBounds = 'pbnd', // defined in AERegistry.r*/
+ /* pHasCloseBox = 'hclb', // defined in AERegistry.r*/
+ /* pIsFloating = 'isfl', // defined in AERegistry.r*/
+ /* pIndex = 'pidx', // defined in AERegistry.r*/
+ /* pIsModal = 'pmod', // defined in AERegistry.r*/
+ /* pPosition = 'posn', // defined above*/
+ /* pIsResizable = 'prsz', // defined in AERegistry.r*/
+ /* pHasTitleBar = 'ptit', // defined in AERegistry.r*/
+ /* pVisible = 'pvis', // defined in AERegistry.r*/
+ /* pIsZoomable = 'iszm', // defined in AERegistry.r*/
+ /* pIsZoomed = 'pzum', // defined in AERegistry.r*/
+ pIsZoomedFull = FOUR_CHAR_CODE('zumf'),
+ pIsPopup = FOUR_CHAR_CODE('drwr'),
+ pIsPulledOpen = FOUR_CHAR_CODE('pull'), /* only applies to popup windows*/
+ pIsCollapsed = FOUR_CHAR_CODE('wshd') /* only applies to normal windows*/
};
/* Properties of class cContainerWindow (subclass of cWindow)*/
-enum
-{
- pObject = cObject
+enum {
+ pObject = cObject
};
/* Properties of class cSharingWindow (subclass of cWindow)*/
-enum
-{
- pSharableContainer = cSharableContainer
+enum {
+ pSharableContainer = cSharableContainer
};
/* Properties of class cInfoWindow (subclass of cWindow)*/
-enum
-{
- pInfoPanel = FOUR_CHAR_CODE('panl')
+enum {
+ pInfoPanel = FOUR_CHAR_CODE('panl')
};
/* Properties of networking support*/
-enum
-{
- pFileShareOn = FOUR_CHAR_CODE('fshr'),
- pFileShareStartingUp = FOUR_CHAR_CODE('fsup'),
- pProgramLinkingOn = FOUR_CHAR_CODE('iac ')
+enum {
+ pFileShareOn = FOUR_CHAR_CODE('fshr'),
+ pFileShareStartingUp = FOUR_CHAR_CODE('fsup'),
+ pProgramLinkingOn = FOUR_CHAR_CODE('iac ')
};
/* Properties of class cPreferencesWindow (subclass of cWindow)*/
-enum
-{
- /* pShowFolderSize = 'sfsz', // defined above for Views CP*/
- /* pShowComment = 'scom', // defined above for Views CP*/
- pShowModificationDate = pShowDate, /* pShowDate defined above for Views CP*/
- /* pShowKind = 'sknd', // defined above for Views CP*/
- /* pShowLabel = 'slbl', // defined above for Views CP*/
- /* pShowSize = 'ssiz', // defined above for Views CP*/
- /* pShowVersion = 'svrs', // defined above for Views CP*/
- /* pShowCreationDate = 'scda', // Removed from Finder 8.0 HIS*/
- /* pShowFileType = 'sfty', // Removed from Finder 8.0 HIS*/
- /* pShowFileCreator = 'sfcr', // Removed from Finder 8.0 HIS*/
- /* pListViewIconSize = 'lvis', // defined above for Views CP*/
- /* pGridIcons = 'fgrd', // defined above for Views CP*/
- /* pStaggerIcons = 'fstg', // defined above for Views CP*/
- /* pViewFont = 'vfnt', // defined above for Views CP*/
- /* pViewFontSize = 'vfsz', // defined above for Views CP*/
- pUseRelativeDate = FOUR_CHAR_CODE('urdt'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
- pDelayBeforeSpringing = FOUR_CHAR_CODE('dela'),
- pSpringOpenFolders = FOUR_CHAR_CODE('sprg'),
- pUseShortMenus = FOUR_CHAR_CODE('usme'),
- pUseWideGrid = FOUR_CHAR_CODE('uswg'),
- pLabel1 = FOUR_CHAR_CODE('lbl1'),
- pLabel2 = FOUR_CHAR_CODE('lbl2'),
- pLabel3 = FOUR_CHAR_CODE('lbl3'),
- pLabel4 = FOUR_CHAR_CODE('lbl4'),
- pLabel5 = FOUR_CHAR_CODE('lbl5'),
- pLabel6 = FOUR_CHAR_CODE('lbl6'),
- pLabel7 = FOUR_CHAR_CODE('lbl7'),
- pDefaultIconViewIconSize = FOUR_CHAR_CODE('iisz'),
- pDefaultButtonViewIconSize = FOUR_CHAR_CODE('bisz'),
- pDefaultListViewIconSize = FOUR_CHAR_CODE('lisz'), /* old use of this name is now pIconSize*/
- pIconViewArrangement = FOUR_CHAR_CODE('iarr'),
- pButtonViewArrangement = FOUR_CHAR_CODE('barr')
+enum {
+ /* pShowFolderSize = 'sfsz', // defined above for Views CP*/
+ /* pShowComment = 'scom', // defined above for Views CP*/
+ pShowModificationDate = pShowDate, /* pShowDate defined above for Views CP*/
+ /* pShowKind = 'sknd', // defined above for Views CP*/
+ /* pShowLabel = 'slbl', // defined above for Views CP*/
+ /* pShowSize = 'ssiz', // defined above for Views CP*/
+ /* pShowVersion = 'svrs', // defined above for Views CP*/
+ /* pShowCreationDate = 'scda', // Removed from Finder 8.0 HIS*/
+ /* pShowFileType = 'sfty', // Removed from Finder 8.0 HIS*/
+ /* pShowFileCreator = 'sfcr', // Removed from Finder 8.0 HIS*/
+ /* pListViewIconSize = 'lvis', // defined above for Views CP*/
+ /* pGridIcons = 'fgrd', // defined above for Views CP*/
+ /* pStaggerIcons = 'fstg', // defined above for Views CP*/
+ /* pViewFont = 'vfnt', // defined above for Views CP*/
+ /* pViewFontSize = 'vfsz', // defined above for Views CP*/
+ pUseRelativeDate = FOUR_CHAR_CODE('urdt'), /* Moved to a per-folder basis in Finder 8.0 HIS*/
+ pDelayBeforeSpringing = FOUR_CHAR_CODE('dela'),
+ pSpringOpenFolders = FOUR_CHAR_CODE('sprg'),
+ pUseShortMenus = FOUR_CHAR_CODE('usme'),
+ pUseWideGrid = FOUR_CHAR_CODE('uswg'),
+ pLabel1 = FOUR_CHAR_CODE('lbl1'),
+ pLabel2 = FOUR_CHAR_CODE('lbl2'),
+ pLabel3 = FOUR_CHAR_CODE('lbl3'),
+ pLabel4 = FOUR_CHAR_CODE('lbl4'),
+ pLabel5 = FOUR_CHAR_CODE('lbl5'),
+ pLabel6 = FOUR_CHAR_CODE('lbl6'),
+ pLabel7 = FOUR_CHAR_CODE('lbl7'),
+ pDefaultIconViewIconSize = FOUR_CHAR_CODE('iisz'),
+ pDefaultButtonViewIconSize = FOUR_CHAR_CODE('bisz'),
+ pDefaultListViewIconSize = FOUR_CHAR_CODE('lisz'), /* old use of this name is now pIconSize*/
+ pIconViewArrangement = FOUR_CHAR_CODE('iarr'),
+ pButtonViewArrangement = FOUR_CHAR_CODE('barr')
};
/*
The next bunch are the various arrangements that make up
enumArrangement
*/
-enum
-{
- pNoArrangement = FOUR_CHAR_CODE('narr'),
- pSnapToGridArrangement = FOUR_CHAR_CODE('grda'),
- pByNameArrangement = FOUR_CHAR_CODE('nama'),
- pByModificationDateArrangement = FOUR_CHAR_CODE('mdta'),
- pByCreationDateArrangement = FOUR_CHAR_CODE('cdta'),
- pBySizeArrangement = FOUR_CHAR_CODE('siza'),
- pByKindArrangement = FOUR_CHAR_CODE('kina'),
- pByLabelArrangement = FOUR_CHAR_CODE('laba')
+enum {
+ pNoArrangement = FOUR_CHAR_CODE('narr'),
+ pSnapToGridArrangement = FOUR_CHAR_CODE('grda'),
+ pByNameArrangement = FOUR_CHAR_CODE('nama'),
+ pByModificationDateArrangement = FOUR_CHAR_CODE('mdta'),
+ pByCreationDateArrangement = FOUR_CHAR_CODE('cdta'),
+ pBySizeArrangement = FOUR_CHAR_CODE('siza'),
+ pByKindArrangement = FOUR_CHAR_CODE('kina'),
+ pByLabelArrangement = FOUR_CHAR_CODE('laba')
};
/* #define pObject cObject // defined above*/
/* Properties of class cProcess (subclass of cObject)*/
-enum
-{
- /* pName = 'pnam', // defined in AERegistry.r*/
- pFile = cFile, /* pCreatorType = 'fcrt', // defined above*/
- /* pFileType = 'asty', // defined above*/
- /* pIsFrontProcess = 'pisf', // defined in AERegistry.r*/
- /* pAppPartition = 'appt', // defined above*/
- pPartitionSpaceUsed = FOUR_CHAR_CODE('pusd'), /* pIsScriptable = 'isab', // defined in AERegistry.r*/
- /* pVisible = 'pvis' // defined in AERegistry.r*/
- pLocalAndRemoteEvents = FOUR_CHAR_CODE('revt'),
- pHasScriptingTerminology = FOUR_CHAR_CODE('hscr')
+enum {
+ /* pName = 'pnam', // defined in AERegistry.r*/
+ pFile = cFile, /* pCreatorType = 'fcrt', // defined above*/
+ /* pFileType = 'asty', // defined above*/
+ /* pIsFrontProcess = 'pisf', // defined in AERegistry.r*/
+ /* pAppPartition = 'appt', // defined above*/
+ pPartitionSpaceUsed = FOUR_CHAR_CODE('pusd'), /* pIsScriptable = 'isab', // defined in AERegistry.r*/
+ /* pVisible = 'pvis' // defined in AERegistry.r*/
+ pLocalAndRemoteEvents = FOUR_CHAR_CODE('revt'),
+ pHasScriptingTerminology = FOUR_CHAR_CODE('hscr')
};
/* Properties of class cAccessoryProcess (subclass of cProcess)*/
-enum
-{
- pDeskAccessoryFile = cDeskAccessoryFile
+enum {
+ pDeskAccessoryFile = cDeskAccessoryFile
};
/* Properties of class cApplicationProcess (subclass of cProcess)*/
-enum
-{
- pApplicationFile = cApplicationFile
+enum {
+ pApplicationFile = cApplicationFile
};
/*
@@ -441,62 +414,59 @@ enum
*/
/* Properties of class cUser (subclass of cObject)*/
-enum
-{
- /* pBounds*/
- /* pIconBitmap*/
- /* pLabelIndex*/
- /* pName*/
- /* pPosition*/
- /* pWindow = cWindow, // defined above*/
- pCanConnect = FOUR_CHAR_CODE('ccon'),
- pCanChangePassword = FOUR_CHAR_CODE('ccpw'),
- pCanDoProgramLinking = FOUR_CHAR_CODE('ciac'),
- pIsOwner = FOUR_CHAR_CODE('isow'),
- pARADialIn = FOUR_CHAR_CODE('arad'),
- pShouldCallBack = FOUR_CHAR_CODE('calb'),
- pCallBackNumber = FOUR_CHAR_CODE('cbnm')
+enum {
+ /* pBounds*/
+ /* pIconBitmap*/
+ /* pLabelIndex*/
+ /* pName*/
+ /* pPosition*/
+ /* pWindow = cWindow, // defined above*/
+ pCanConnect = FOUR_CHAR_CODE('ccon'),
+ pCanChangePassword = FOUR_CHAR_CODE('ccpw'),
+ pCanDoProgramLinking = FOUR_CHAR_CODE('ciac'),
+ pIsOwner = FOUR_CHAR_CODE('isow'),
+ pARADialIn = FOUR_CHAR_CODE('arad'),
+ pShouldCallBack = FOUR_CHAR_CODE('calb'),
+ pCallBackNumber = FOUR_CHAR_CODE('cbnm')
};
/*
Properties of class cApplication (subclass of cObject)
NOTE: properties for the special folders must match their respective kXXXFolderType constants
*/
-enum
-{
- pAboutMacintosh = FOUR_CHAR_CODE('abbx'),
- pAppleMenuItemsFolder = FOUR_CHAR_CODE('amnu'), /* kAppleMenuFolderType*/
- /* pClipboard = 'pcli', // defined in AERegistry.r*/
- pControlPanelsFolder = FOUR_CHAR_CODE('ctrl'), /* kControlPanelFolderType*/
- pDesktop = FOUR_CHAR_CODE('desk'), /* kDesktopFolderType*/
- pExtensionsFolder = FOUR_CHAR_CODE('extn'), /* kExtensionFolderType*/
- /* pFileShareOn = 'fshr', // defined above*/
- pFinderPreferences = FOUR_CHAR_CODE('pfrp'),
- pFontsFolder = FOUR_CHAR_CODE('font'),
- pFontsFolderPreAllegro = FOUR_CHAR_CODE('ffnt'), /* DO NOT USE THIS - FOR BACKWARDS COMPAT ONLY*/
- /* pIsFrontProcess = 'pisf', // defined in AERegistry.r*/
- /* pInsertionLoc = 'pins', // defined in AERegistry.r*/
- pLargestFreeBlock = FOUR_CHAR_CODE('mfre'),
- pPreferencesFolder = FOUR_CHAR_CODE('pref'), /* kPreferencesFolderType*/
- /* pProductVersion = 'ver2', // defined above*/
- /* pUserSelection = 'pusl', // defined in AERegistry.r*/
- /* pFileShareStartingUp = 'fsup', // defined above*/
- pShortCuts = FOUR_CHAR_CODE('scut'),
- pShutdownFolder = FOUR_CHAR_CODE('shdf'),
- pStartupItemsFolder = FOUR_CHAR_CODE('strt'), /* kStartupFolderType*/
- pSystemFolder = FOUR_CHAR_CODE('macs'), /* kSystemFolderType*/
- pTemporaryFolder = FOUR_CHAR_CODE('temp'), /* kTemporaryFolderType*/
- /* pVersion = 'vers', // defined in AERegistry.r*/
- pViewPreferences = FOUR_CHAR_CODE('pvwp'), /* pVisible = 'pvis', // defined in AERegistry.r*/
- pStartingUp = FOUR_CHAR_CODE('awak') /* private property to tell whether the Finder is fully up and running*/
+enum {
+ pAboutMacintosh = FOUR_CHAR_CODE('abbx'),
+ pAppleMenuItemsFolder = FOUR_CHAR_CODE('amnu'), /* kAppleMenuFolderType*/
+ /* pClipboard = 'pcli', // defined in AERegistry.r*/
+ pControlPanelsFolder = FOUR_CHAR_CODE('ctrl'), /* kControlPanelFolderType*/
+ pDesktop = FOUR_CHAR_CODE('desk'), /* kDesktopFolderType*/
+ pExtensionsFolder = FOUR_CHAR_CODE('extn'), /* kExtensionFolderType*/
+ /* pFileShareOn = 'fshr', // defined above*/
+ pFinderPreferences = FOUR_CHAR_CODE('pfrp'),
+ pFontsFolder = FOUR_CHAR_CODE('font'),
+ pFontsFolderPreAllegro = FOUR_CHAR_CODE('ffnt'), /* DO NOT USE THIS - FOR BACKWARDS COMPAT ONLY*/
+ /* pIsFrontProcess = 'pisf', // defined in AERegistry.r*/
+ /* pInsertionLoc = 'pins', // defined in AERegistry.r*/
+ pLargestFreeBlock = FOUR_CHAR_CODE('mfre'),
+ pPreferencesFolder = FOUR_CHAR_CODE('pref'), /* kPreferencesFolderType*/
+ /* pProductVersion = 'ver2', // defined above*/
+ /* pUserSelection = 'pusl', // defined in AERegistry.r*/
+ /* pFileShareStartingUp = 'fsup', // defined above*/
+ pShortCuts = FOUR_CHAR_CODE('scut'),
+ pShutdownFolder = FOUR_CHAR_CODE('shdf'),
+ pStartupItemsFolder = FOUR_CHAR_CODE('strt'), /* kStartupFolderType*/
+ pSystemFolder = FOUR_CHAR_CODE('macs'), /* kSystemFolderType*/
+ pTemporaryFolder = FOUR_CHAR_CODE('temp'), /* kTemporaryFolderType*/
+ /* pVersion = 'vers', // defined in AERegistry.r*/
+ pViewPreferences = FOUR_CHAR_CODE('pvwp'), /* pVisible = 'pvis', // defined in AERegistry.r*/
+ pStartingUp = FOUR_CHAR_CODE('awak') /* private property to tell whether the Finder is fully up and running*/
};
/* Properties of class cSharingPrivileges (subclass of cObject)*/
-enum
-{
- pSeeFiles = FOUR_CHAR_CODE('prvr'),
- pSeeFolders = FOUR_CHAR_CODE('prvs'),
- pMakeChanges = FOUR_CHAR_CODE('prvw')
+enum {
+ pSeeFiles = FOUR_CHAR_CODE('prvr'),
+ pSeeFolders = FOUR_CHAR_CODE('prvs'),
+ pMakeChanges = FOUR_CHAR_CODE('prvw')
};
/*
@@ -544,12 +514,11 @@ enum
*/
/* Misc Properties*/
-enum
-{
- pSmallIcon = FOUR_CHAR_CODE('smic'),
- pSmallButton = FOUR_CHAR_CODE('smbu'),
- pLargeButton = FOUR_CHAR_CODE('lgbu'),
- pGrid = FOUR_CHAR_CODE('grid')
+enum {
+ pSmallIcon = FOUR_CHAR_CODE('smic'),
+ pSmallButton = FOUR_CHAR_CODE('smbu'),
+ pLargeButton = FOUR_CHAR_CODE('lgbu'),
+ pGrid = FOUR_CHAR_CODE('grid')
};
/*
@@ -558,92 +527,83 @@ enum
//////////////////////////////////////
*/
-enum
-{
- enumViewBy = FOUR_CHAR_CODE('vwby'),
- enumGestalt = FOUR_CHAR_CODE('gsen'),
- enumConflicts = FOUR_CHAR_CODE('cflc'),
- enumExistingItems = FOUR_CHAR_CODE('exsi'),
- enumOlderItems = FOUR_CHAR_CODE('oldr')
+enum {
+ enumViewBy = FOUR_CHAR_CODE('vwby'),
+ enumGestalt = FOUR_CHAR_CODE('gsen'),
+ enumConflicts = FOUR_CHAR_CODE('cflc'),
+ enumExistingItems = FOUR_CHAR_CODE('exsi'),
+ enumOlderItems = FOUR_CHAR_CODE('oldr')
};
-enum
-{
- enumDate = FOUR_CHAR_CODE('enda'),
- enumAnyDate = FOUR_CHAR_CODE('anyd'),
- enumToday = FOUR_CHAR_CODE('tday'),
- enumYesterday = FOUR_CHAR_CODE('yday'),
- enumThisWeek = FOUR_CHAR_CODE('twek'),
- enumLastWeek = FOUR_CHAR_CODE('lwek'),
- enumThisMonth = FOUR_CHAR_CODE('tmon'),
- enumLastMonth = FOUR_CHAR_CODE('lmon'),
- enumThisYear = FOUR_CHAR_CODE('tyer'),
- enumLastYear = FOUR_CHAR_CODE('lyer'),
- enumBeforeDate = FOUR_CHAR_CODE('bfdt'),
- enumAfterDate = FOUR_CHAR_CODE('afdt'),
- enumBetweenDate = FOUR_CHAR_CODE('btdt'),
- enumOnDate = FOUR_CHAR_CODE('ondt')
+enum {
+ enumDate = FOUR_CHAR_CODE('enda'),
+ enumAnyDate = FOUR_CHAR_CODE('anyd'),
+ enumToday = FOUR_CHAR_CODE('tday'),
+ enumYesterday = FOUR_CHAR_CODE('yday'),
+ enumThisWeek = FOUR_CHAR_CODE('twek'),
+ enumLastWeek = FOUR_CHAR_CODE('lwek'),
+ enumThisMonth = FOUR_CHAR_CODE('tmon'),
+ enumLastMonth = FOUR_CHAR_CODE('lmon'),
+ enumThisYear = FOUR_CHAR_CODE('tyer'),
+ enumLastYear = FOUR_CHAR_CODE('lyer'),
+ enumBeforeDate = FOUR_CHAR_CODE('bfdt'),
+ enumAfterDate = FOUR_CHAR_CODE('afdt'),
+ enumBetweenDate = FOUR_CHAR_CODE('btdt'),
+ enumOnDate = FOUR_CHAR_CODE('ondt')
};
-enum
-{
- enumAllDocuments = FOUR_CHAR_CODE('alld'),
- enumFolders = FOUR_CHAR_CODE('fold'),
- enumAliases = FOUR_CHAR_CODE('alia'),
- enumStationery = FOUR_CHAR_CODE('stat')
+enum {
+ enumAllDocuments = FOUR_CHAR_CODE('alld'),
+ enumFolders = FOUR_CHAR_CODE('fold'),
+ enumAliases = FOUR_CHAR_CODE('alia'),
+ enumStationery = FOUR_CHAR_CODE('stat')
};
-enum
-{
- enumWhere = FOUR_CHAR_CODE('wher'),
- enumAllLocalDisks = FOUR_CHAR_CODE('aldk'),
- enumAllRemoteDisks = FOUR_CHAR_CODE('ardk'),
- enumAllDisks = FOUR_CHAR_CODE('alld'),
- enumAllOpenFolders = FOUR_CHAR_CODE('aofo')
+enum {
+ enumWhere = FOUR_CHAR_CODE('wher'),
+ enumAllLocalDisks = FOUR_CHAR_CODE('aldk'),
+ enumAllRemoteDisks = FOUR_CHAR_CODE('ardk'),
+ enumAllDisks = FOUR_CHAR_CODE('alld'),
+ enumAllOpenFolders = FOUR_CHAR_CODE('aofo')
};
-enum
-{
- enumIconSize = FOUR_CHAR_CODE('isiz'),
- enumSmallIconSize = pSmallIcon,
- enumMiniIconSize = FOUR_CHAR_CODE('miic'),
- enumLargeIconSize = FOUR_CHAR_CODE('lgic')
+enum {
+ enumIconSize = FOUR_CHAR_CODE('isiz'),
+ enumSmallIconSize = pSmallIcon,
+ enumMiniIconSize = FOUR_CHAR_CODE('miic'),
+ enumLargeIconSize = FOUR_CHAR_CODE('lgic')
};
-enum
-{
- enumSortDirection = FOUR_CHAR_CODE('sodr'),
- enumSortDirectionNormal = FOUR_CHAR_CODE('snrm'),
- enumSortDirectionReverse = FOUR_CHAR_CODE('srvs')
+enum {
+ enumSortDirection = FOUR_CHAR_CODE('sodr'),
+ enumSortDirectionNormal = FOUR_CHAR_CODE('snrm'),
+ enumSortDirectionReverse = FOUR_CHAR_CODE('srvs')
};
-enum
-{
- enumArrangement = FOUR_CHAR_CODE('earr')
+enum {
+ enumArrangement = FOUR_CHAR_CODE('earr')
};
/* Get Info Window panel enumeration*/
-enum
-{
- enumInfoWindowPanel = FOUR_CHAR_CODE('ipnl'),
- enumGeneralPanel = FOUR_CHAR_CODE('gpnl'),
- enumSharingPanel = FOUR_CHAR_CODE('spnl'),
- enumStatusNConfigPanel = FOUR_CHAR_CODE('scnl'),
- enumFontsPanel = FOUR_CHAR_CODE('fpnl'),
- enumMemoryPanel = FOUR_CHAR_CODE('mpnl')
+enum {
+ enumInfoWindowPanel = FOUR_CHAR_CODE('ipnl'),
+ enumGeneralPanel = FOUR_CHAR_CODE('gpnl'),
+ enumSharingPanel = FOUR_CHAR_CODE('spnl'),
+ enumStatusNConfigPanel = FOUR_CHAR_CODE('scnl'),
+ enumFontsPanel = FOUR_CHAR_CODE('fpnl'),
+ enumMemoryPanel = FOUR_CHAR_CODE('mpnl')
};
/* Preferences panel enumeration*/
-enum
-{
- enumPrefsWindowPanel = FOUR_CHAR_CODE('pple'),
- enumPrefsGeneralPanel = FOUR_CHAR_CODE('pgnp'),
- enumPrefsLabelPanel = FOUR_CHAR_CODE('plbp'),
- enumPrefsIconViewPanel = FOUR_CHAR_CODE('pivp'),
- enumPrefsButtonViewPanel = FOUR_CHAR_CODE('pbvp'),
- enumPrefsListViewPanel = FOUR_CHAR_CODE('plvp')
+enum {
+ enumPrefsWindowPanel = FOUR_CHAR_CODE('pple'),
+ enumPrefsGeneralPanel = FOUR_CHAR_CODE('pgnp'),
+ enumPrefsLabelPanel = FOUR_CHAR_CODE('plbp'),
+ enumPrefsIconViewPanel = FOUR_CHAR_CODE('pivp'),
+ enumPrefsButtonViewPanel = FOUR_CHAR_CODE('pbvp'),
+ enumPrefsListViewPanel = FOUR_CHAR_CODE('plvp')
};
/*
@@ -652,21 +612,20 @@ enum
//////////////////////////////////////
*/
-enum
-{
- typeIconFamily = cIconFamily, /* An AEList of typeIconAndMask, type8BitIcon, & c.*/
- typeIconAndMask = FOUR_CHAR_CODE('ICN#'),
- type8BitMask = FOUR_CHAR_CODE('l8mk'),
- type32BitIcon = FOUR_CHAR_CODE('il32'),
- type8BitIcon = FOUR_CHAR_CODE('icl8'),
- type4BitIcon = FOUR_CHAR_CODE('icl4'),
- typeSmallIconAndMask = FOUR_CHAR_CODE('ics#'),
- typeSmall8BitMask = FOUR_CHAR_CODE('s8mk'),
- typeSmall32BitIcon = FOUR_CHAR_CODE('is32'),
- typeSmall8BitIcon = FOUR_CHAR_CODE('ics8'),
- typeSmall4BitIcon = FOUR_CHAR_CODE('ics4'),
- typeRelativeTime = FOUR_CHAR_CODE('rtim'),
- typeConceptualTime = FOUR_CHAR_CODE('timc')
+enum {
+ typeIconFamily = cIconFamily, /* An AEList of typeIconAndMask, type8BitIcon, & c.*/
+ typeIconAndMask = FOUR_CHAR_CODE('ICN#'),
+ type8BitMask = FOUR_CHAR_CODE('l8mk'),
+ type32BitIcon = FOUR_CHAR_CODE('il32'),
+ type8BitIcon = FOUR_CHAR_CODE('icl8'),
+ type4BitIcon = FOUR_CHAR_CODE('icl4'),
+ typeSmallIconAndMask = FOUR_CHAR_CODE('ics#'),
+ typeSmall8BitMask = FOUR_CHAR_CODE('s8mk'),
+ typeSmall32BitIcon = FOUR_CHAR_CODE('is32'),
+ typeSmall8BitIcon = FOUR_CHAR_CODE('ics8'),
+ typeSmall4BitIcon = FOUR_CHAR_CODE('ics4'),
+ typeRelativeTime = FOUR_CHAR_CODE('rtim'),
+ typeConceptualTime = FOUR_CHAR_CODE('timc')
};
/*
@@ -675,27 +634,26 @@ enum
//////////////////////////////////////
*/
-enum
-{
- keyIconAndMask = FOUR_CHAR_CODE('ICN#'),
- key32BitIcon = FOUR_CHAR_CODE('il32'),
- key8BitIcon = FOUR_CHAR_CODE('icl8'),
- key4BitIcon = FOUR_CHAR_CODE('icl4'),
- key8BitMask = FOUR_CHAR_CODE('l8mk'),
- keySmallIconAndMask = FOUR_CHAR_CODE('ics#'),
- keySmall8BitIcon = FOUR_CHAR_CODE('ics8'),
- keySmall4BitIcon = FOUR_CHAR_CODE('ics4'),
- keySmall32BitIcon = FOUR_CHAR_CODE('is32'),
- keySmall8BitMask = FOUR_CHAR_CODE('s8mk'),
- keyMini1BitMask = FOUR_CHAR_CODE('icm#'),
- keyMini4BitIcon = FOUR_CHAR_CODE('icm4'),
- keyMini8BitIcon = FOUR_CHAR_CODE('icm8'),
- keyAEUsing = FOUR_CHAR_CODE('usin'),
- keyAEReplacing = FOUR_CHAR_CODE('alrp'),
- keyAENoAutoRouting = FOUR_CHAR_CODE('rout'),
- keyLocalPositionList = FOUR_CHAR_CODE('mvpl'),
- keyGlobalPositionList = FOUR_CHAR_CODE('mvpg'),
- keyRedirectedDocumentList = FOUR_CHAR_CODE('fpdl')
+enum {
+ keyIconAndMask = FOUR_CHAR_CODE('ICN#'),
+ key32BitIcon = FOUR_CHAR_CODE('il32'),
+ key8BitIcon = FOUR_CHAR_CODE('icl8'),
+ key4BitIcon = FOUR_CHAR_CODE('icl4'),
+ key8BitMask = FOUR_CHAR_CODE('l8mk'),
+ keySmallIconAndMask = FOUR_CHAR_CODE('ics#'),
+ keySmall8BitIcon = FOUR_CHAR_CODE('ics8'),
+ keySmall4BitIcon = FOUR_CHAR_CODE('ics4'),
+ keySmall32BitIcon = FOUR_CHAR_CODE('is32'),
+ keySmall8BitMask = FOUR_CHAR_CODE('s8mk'),
+ keyMini1BitMask = FOUR_CHAR_CODE('icm#'),
+ keyMini4BitIcon = FOUR_CHAR_CODE('icm4'),
+ keyMini8BitIcon = FOUR_CHAR_CODE('icm8'),
+ keyAEUsing = FOUR_CHAR_CODE('usin'),
+ keyAEReplacing = FOUR_CHAR_CODE('alrp'),
+ keyAENoAutoRouting = FOUR_CHAR_CODE('rout'),
+ keyLocalPositionList = FOUR_CHAR_CODE('mvpl'),
+ keyGlobalPositionList = FOUR_CHAR_CODE('mvpg'),
+ keyRedirectedDocumentList = FOUR_CHAR_CODE('fpdl')
};
/*
@@ -704,11 +662,10 @@ enum
//////////////////////////////////////
*/
-enum
-{
- keyASPrepositionHas = FOUR_CHAR_CODE('has '),
- keyAll = FOUR_CHAR_CODE('kyal'),
- keyOldFinderItems = FOUR_CHAR_CODE('fsel')
+enum {
+ keyASPrepositionHas = FOUR_CHAR_CODE('has '),
+ keyAll = FOUR_CHAR_CODE('kyal'),
+ keyOldFinderItems = FOUR_CHAR_CODE('fsel')
};
/*
@@ -717,10 +674,9 @@ enum
//////////////////////////////////////
*/
-enum
-{
- formAlias = typeAlias,
- formCreator = pFileCreator
+enum {
+ formAlias = typeAlias,
+ formCreator = pFileCreator
};
@@ -730,42 +686,41 @@ enum
//////////////////////////////////////
*/
-enum
-{
- errFinderIsBusy = -15260,
- errFinderWindowNotOpen = -15261,
- errFinderCannotPutAway = -15262,
- errFinderWindowMustBeIconView = -15263, /* RequireWindowInIconView*/
- errFinderWindowMustBeListView = -15264, /* RequireWindowInListView*/
- errFinderCantMoveToDestination = -15265,
- errFinderCantMoveSource = -15266,
- errFinderCantOverwrite = -15267,
- errFinderIncestuousMove = -15268, /* Could just use errFinderCantMoveSource*/
- errFinderCantMoveToAncestor = -15269, /* Could also use errFinderCantMoveSource*/
- errFinderCantUseTrashedItems = -15270,
- errFinderItemAlreadyInDest = -15271, /* Move from folder A to folder A*/
- errFinderUnknownUser = -15272, /* Includes unknown group*/
- errFinderSharePointsCantInherit = -15273,
- errFinderWindowWrongType = -15274,
- errFinderPropertyNowWindowBased = -15275,
- errFinderAppFolderProtected = -15276, /* used by General controls when folder protection is on*/
- errFinderSysFolderProtected = -15277, /* used by General controls when folder protection is on*/
- errFinderBoundsWrong = -15278,
- errAEValueOutOfRange = -15279,
- errFinderPropertyDoesNotApply = -15280,
- errFinderFileSharingMustBeOn = -15281,
- errFinderMustBeActive = -15282,
- errFinderVolumeNotFound = -15283, /* more descriptive than what we get with nsvErr*/
- errFinderLockedItemsInTrash = -15284, /* there are some locked items in the trash*/
- errFinderOnlyLockedItemsInTrash = -15285, /* all the items (except folders) in the trash are locked*/
- errFinderProgramLinkingMustBeOn = -15286,
- errFinderWindowMustBeButtonView = -15287,
- errFinderBadPackageContents = -15288, /* something is wrong within the package */
- errFinderUnsupportedInsidePackages = -15289, /* operation cannot be used on items within a package */
- errFinderCorruptOpenFolderList = -15290, /* was -15276 in Finder 8.6 and earlier, but that conflicted with General Controls*/
- errFinderNoInvisibleFiles = -15291, /* was -15277 in Finder 8.6 and earlier, but that conflicted with General Controls*/
- errFinderCantDeleteImmediately = -15292, /* cannot delete immediately via scripting*/
- errFinderLastReserved = -15379
+enum {
+ errFinderIsBusy = -15260,
+ errFinderWindowNotOpen = -15261,
+ errFinderCannotPutAway = -15262,
+ errFinderWindowMustBeIconView = -15263, /* RequireWindowInIconView*/
+ errFinderWindowMustBeListView = -15264, /* RequireWindowInListView*/
+ errFinderCantMoveToDestination = -15265,
+ errFinderCantMoveSource = -15266,
+ errFinderCantOverwrite = -15267,
+ errFinderIncestuousMove = -15268, /* Could just use errFinderCantMoveSource*/
+ errFinderCantMoveToAncestor = -15269, /* Could also use errFinderCantMoveSource*/
+ errFinderCantUseTrashedItems = -15270,
+ errFinderItemAlreadyInDest = -15271, /* Move from folder A to folder A*/
+ errFinderUnknownUser = -15272, /* Includes unknown group*/
+ errFinderSharePointsCantInherit = -15273,
+ errFinderWindowWrongType = -15274,
+ errFinderPropertyNowWindowBased = -15275,
+ errFinderAppFolderProtected = -15276, /* used by General controls when folder protection is on*/
+ errFinderSysFolderProtected = -15277, /* used by General controls when folder protection is on*/
+ errFinderBoundsWrong = -15278,
+ errAEValueOutOfRange = -15279,
+ errFinderPropertyDoesNotApply = -15280,
+ errFinderFileSharingMustBeOn = -15281,
+ errFinderMustBeActive = -15282,
+ errFinderVolumeNotFound = -15283, /* more descriptive than what we get with nsvErr*/
+ errFinderLockedItemsInTrash = -15284, /* there are some locked items in the trash*/
+ errFinderOnlyLockedItemsInTrash = -15285, /* all the items (except folders) in the trash are locked*/
+ errFinderProgramLinkingMustBeOn = -15286,
+ errFinderWindowMustBeButtonView = -15287,
+ errFinderBadPackageContents = -15288, /* something is wrong within the package */
+ errFinderUnsupportedInsidePackages = -15289, /* operation cannot be used on items within a package */
+ errFinderCorruptOpenFolderList = -15290, /* was -15276 in Finder 8.6 and earlier, but that conflicted with General Controls*/
+ errFinderNoInvisibleFiles = -15291, /* was -15277 in Finder 8.6 and earlier, but that conflicted with General Controls*/
+ errFinderCantDeleteImmediately = -15292, /* cannot delete immediately via scripting*/
+ errFinderLastReserved = -15379
};
diff --git a/include/qt/FixMath.h b/include/qt/FixMath.h
index 6be55d78d..1c85095c6 100644
--- a/include/qt/FixMath.h
+++ b/include/qt/FixMath.h
@@ -1,17 +1,17 @@
/*
File: FixMath.h
-
+
Contains: Fixed Math Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FIXMATH__
#define __FIXMATH__
@@ -40,299 +40,299 @@ extern "C" {
#define fract1 ((Fract) 0x40000000L)
#define positiveInfinity ((long) 0x7FFFFFFFL)
#define negativeInfinity ((long) 0x80000000L)
- /*
- FixRatio, FixMul, and FixRound were previously in ToolUtils.h
- */
- /*
- * FixRatio()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- FixRatio(
- short numer,
- short denom) ONEWORDINLINE(0xA869);
-
-
- /*
- * FixMul()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- FixMul(
- Fixed a,
- Fixed b) ONEWORDINLINE(0xA868);
-
-
- /*
- * FixRound()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- FixRound(Fixed x) ONEWORDINLINE(0xA86C);
-
-
- /*
- * Fix2Frac()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fract)
- Fix2Frac(Fixed x) ONEWORDINLINE(0xA841);
-
-
- /*
- * Fix2Long()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- Fix2Long(Fixed x) ONEWORDINLINE(0xA840);
-
-
- /*
- * Long2Fix()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- Long2Fix(long x) ONEWORDINLINE(0xA83F);
-
-
- /*
- * Frac2Fix()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- Frac2Fix(Fract x) ONEWORDINLINE(0xA842);
-
-
- /*
- * FracMul()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fract)
- FracMul(
- Fract x,
- Fract y) ONEWORDINLINE(0xA84A);
-
-
- /*
- * FixDiv()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- FixDiv(
- Fixed x,
- Fixed y) ONEWORDINLINE(0xA84D);
-
-
- /*
- * FracDiv()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fract)
- FracDiv(
- Fract x,
- Fract y) ONEWORDINLINE(0xA84B);
-
-
- /*
- * FracSqrt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fract)
- FracSqrt(Fract x) ONEWORDINLINE(0xA849);
-
-
- /*
- * FracSin()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fract)
- FracSin(Fixed x) ONEWORDINLINE(0xA848);
-
-
- /*
- * FracCos()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fract)
- FracCos(Fixed x) ONEWORDINLINE(0xA847);
-
-
- /*
- * FixATan2()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- FixATan2(
- long x,
- long y) ONEWORDINLINE(0xA818);
-
-
- /*
- Frac2X, Fix2X, X2Fix, and X2Frac translate to and from
- the floating point type "extended" (that's what the X is for).
- On the original Mac this was 80-bits and the functions could be
- accessed via A-Traps. When the 68881 co-processor was added,
- it used 96-bit floating point types, so the A-Traps could not
- be used. When PowerPC was added, it used 64-bit floating point
- types, so yet another prototype was added.
- */
+/*
+ FixRatio, FixMul, and FixRound were previously in ToolUtils.h
+*/
+/*
+ * FixRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+FixRatio(
+ short numer,
+ short denom) ONEWORDINLINE(0xA869);
+
+
+/*
+ * FixMul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+FixMul(
+ Fixed a,
+ Fixed b) ONEWORDINLINE(0xA868);
+
+
+/*
+ * FixRound()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+FixRound(Fixed x) ONEWORDINLINE(0xA86C);
+
+
+/*
+ * Fix2Frac()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fract )
+Fix2Frac(Fixed x) ONEWORDINLINE(0xA841);
+
+
+/*
+ * Fix2Long()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+Fix2Long(Fixed x) ONEWORDINLINE(0xA840);
+
+
+/*
+ * Long2Fix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+Long2Fix(long x) ONEWORDINLINE(0xA83F);
+
+
+/*
+ * Frac2Fix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+Frac2Fix(Fract x) ONEWORDINLINE(0xA842);
+
+
+/*
+ * FracMul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fract )
+FracMul(
+ Fract x,
+ Fract y) ONEWORDINLINE(0xA84A);
+
+
+/*
+ * FixDiv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+FixDiv(
+ Fixed x,
+ Fixed y) ONEWORDINLINE(0xA84D);
+
+
+/*
+ * FracDiv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fract )
+FracDiv(
+ Fract x,
+ Fract y) ONEWORDINLINE(0xA84B);
+
+
+/*
+ * FracSqrt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fract )
+FracSqrt(Fract x) ONEWORDINLINE(0xA849);
+
+
+/*
+ * FracSin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fract )
+FracSin(Fixed x) ONEWORDINLINE(0xA848);
+
+
+/*
+ * FracCos()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fract )
+FracCos(Fixed x) ONEWORDINLINE(0xA847);
+
+
+/*
+ * FixATan2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+FixATan2(
+ long x,
+ long y) ONEWORDINLINE(0xA818);
+
+
+/*
+ Frac2X, Fix2X, X2Fix, and X2Frac translate to and from
+ the floating point type "extended" (that's what the X is for).
+ On the original Mac this was 80-bits and the functions could be
+ accessed via A-Traps. When the 68881 co-processor was added,
+ it used 96-bit floating point types, so the A-Traps could not
+ be used. When PowerPC was added, it used 64-bit floating point
+ types, so yet another prototype was added.
+*/
#if TARGET_CPU_68K
#if TARGET_RT_MAC_68881
#if CALL_NOT_IN_CARBON
- /*
- * Frac2X()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long double)
- Frac2X(Fract x);
-
-
- /*
- * Fix2X()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long double)
- Fix2X(Fixed x);
-
-
- /*
- * X2Fix()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Fixed)
- X2Fix(long double x);
-
-
- /*
- * X2Frac()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Fract)
- X2Frac(long double x);
+/*
+ * Frac2X()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long double )
+Frac2X(Fract x);
+
+
+/*
+ * Fix2X()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long double )
+Fix2X(Fixed x);
+
+
+/*
+ * X2Fix()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Fixed )
+X2Fix(long double x);
+
+
+/*
+ * X2Frac()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Fract )
+X2Frac(long double x);
#endif /* CALL_NOT_IN_CARBON */
#else
#if CALL_NOT_IN_CARBON
- /*
- * Frac2X()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long double)
- Frac2X(Fract x) ONEWORDINLINE(0xA845);
-
-
- /*
- * Fix2X()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long double)
- Fix2X(Fixed x) ONEWORDINLINE(0xA843);
-
-
- /*
- * X2Fix()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Fixed)
- X2Fix(long double x) ONEWORDINLINE(0xA844);
-
-
- /*
- * X2Frac()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Fract)
- X2Frac(long double x) ONEWORDINLINE(0xA846);
+/*
+ * Frac2X()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long double )
+Frac2X(Fract x) ONEWORDINLINE(0xA845);
+
+
+/*
+ * Fix2X()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long double )
+Fix2X(Fixed x) ONEWORDINLINE(0xA843);
+
+
+/*
+ * X2Fix()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Fixed )
+X2Fix(long double x) ONEWORDINLINE(0xA844);
+
+
+/*
+ * X2Frac()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Fract )
+X2Frac(long double x) ONEWORDINLINE(0xA846);
#endif /* CALL_NOT_IN_CARBON */
@@ -340,197 +340,197 @@ extern "C" {
#endif /* TARGET_RT_MAC_68881 */
#else
- /*
- * Frac2X()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(double)
- Frac2X(Fract x);
-
-
- /*
- * Fix2X()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(double)
- Fix2X(Fixed x);
-
-
- /*
- * X2Fix()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- X2Fix(double x);
-
-
- /*
- * X2Frac()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fract)
- X2Frac(double x);
+/*
+ * Frac2X()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( double )
+Frac2X(Fract x);
+
+
+/*
+ * Fix2X()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( double )
+Fix2X(Fixed x);
+
+
+/*
+ * X2Fix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+X2Fix(double x);
+
+
+/*
+ * X2Frac()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fract )
+X2Frac(double x);
#endif /* TARGET_CPU_68K */
- /* QuickTime 3.0 makes these Wide routines available on other platforms*/
+/* QuickTime 3.0 makes these Wide routines available on other platforms*/
#if TARGET_CPU_PPC || !TARGET_OS_MAC || TARGET_CPU_X86
- /*
- * WideCompare()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(short)
- WideCompare(
- const wide * target,
- const wide * source);
-
-
- /*
- * WideAdd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(wide *)
- WideAdd(
- wide * target,
- const wide * source);
-
-
- /*
- * WideSubtract()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(wide *)
- WideSubtract(
- wide * target,
- const wide * source);
-
-
- /*
- * WideNegate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(wide *)
- WideNegate(wide * target);
-
-
- /*
- * WideShift()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(wide *)
- WideShift(
- wide * target,
- long shift);
-
-
- /*
- * WideSquareRoot()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(unsigned long)
- WideSquareRoot(const wide * source);
-
-
- /*
- * WideMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(wide *)
- WideMultiply(
- long multiplicand,
- long multiplier,
- wide * target);
-
-
- /* returns the quotient */
- /*
- * WideDivide()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long)
- WideDivide(
- const wide * dividend,
- long divisor,
- long * remainder);
-
-
- /* quotient replaces dividend */
- /*
- * WideWideDivide()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(wide *)
- WideWideDivide(
- wide * dividend,
- long divisor,
- long * remainder);
-
-
- /*
- * WideBitShift()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(wide *)
- WideBitShift(
- wide * src,
- long shift);
+/*
+ * WideCompare()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( short )
+WideCompare(
+ const wide * target,
+ const wide * source);
+
+
+/*
+ * WideAdd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( wide * )
+WideAdd(
+ wide * target,
+ const wide * source);
+
+
+/*
+ * WideSubtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( wide * )
+WideSubtract(
+ wide * target,
+ const wide * source);
+
+
+/*
+ * WideNegate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( wide * )
+WideNegate(wide * target);
+
+
+/*
+ * WideShift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( wide * )
+WideShift(
+ wide * target,
+ long shift);
+
+
+/*
+ * WideSquareRoot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( unsigned long )
+WideSquareRoot(const wide * source);
+
+
+/*
+ * WideMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( wide * )
+WideMultiply(
+ long multiplicand,
+ long multiplier,
+ wide * target);
+
+
+/* returns the quotient */
+/*
+ * WideDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long )
+WideDivide(
+ const wide * dividend,
+ long divisor,
+ long * remainder);
+
+
+/* quotient replaces dividend */
+/*
+ * WideWideDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( wide * )
+WideWideDivide(
+ wide * dividend,
+ long divisor,
+ long * remainder);
+
+
+/*
+ * WideBitShift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( wide * )
+WideBitShift(
+ wide * src,
+ long shift);
#endif /* TARGET_CPU_PPC || !TARGET_OS_MAC || TARGET_CPU_X86 */
diff --git a/include/qt/Folders.h b/include/qt/Folders.h
index 4112847ce..c9bb4952d 100644
--- a/include/qt/Folders.h
+++ b/include/qt/Folders.h
@@ -1,17 +1,17 @@
/*
File: Folders.h
-
+
Contains: Folder Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FOLDERS__
#define __FOLDERS__
@@ -44,799 +44,768 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kOnSystemDisk = -32768L, /* previously was 0x8000 but that is an unsigned value whereas vRefNum is signed*/
- kOnAppropriateDisk = -32767, /* Generally, the same as kOnSystemDisk, but it's clearer that this isn't always the 'boot' disk.*/
- /* Folder Domains - Carbon only. The constants above can continue to be used, but the folder/volume returned will*/
- /* be from one of the domains below.*/
- kSystemDomain = -32766, /* Read-only system hierarchy.*/
- kLocalDomain = -32765, /* All users of a single machine have access to these resources.*/
- kNetworkDomain = -32764, /* All users configured to use a common network server has access to these resources.*/
- kUserDomain = -32763, /* Read/write. Resources that are private to the user.*/
- kClassicDomain = -32762 /* Domain referring to the currently configured Classic System Folder*/
- };
-
- enum
- {
- kCreateFolder = true,
- kDontCreateFolder = false
- };
-
- enum
- {
- kSystemFolderType = FOUR_CHAR_CODE('macs'), /* the system folder */
- kDesktopFolderType = FOUR_CHAR_CODE('desk'), /* the desktop folder; objects in this folder show on the desk top. */
- kSystemDesktopFolderType = FOUR_CHAR_CODE('sdsk'), /* the desktop folder at the root of the hard drive, never the redirected user desktop folder */
- kTrashFolderType = FOUR_CHAR_CODE('trsh'), /* the trash folder; objects in this folder show up in the trash */
- kSystemTrashFolderType = FOUR_CHAR_CODE('strs'), /* the trash folder at the root of the drive, never the redirected user trash folder */
- kWhereToEmptyTrashFolderType = FOUR_CHAR_CODE('empt'), /* the "empty trash" folder; Finder starts empty from here down */
- kPrintMonitorDocsFolderType = FOUR_CHAR_CODE('prnt'), /* Print Monitor documents */
- kStartupFolderType = FOUR_CHAR_CODE('strt'), /* Finder objects (applications, documents, DAs, aliases, to...) to open at startup go here */
- kShutdownFolderType = FOUR_CHAR_CODE('shdf'), /* Finder objects (applications, documents, DAs, aliases, to...) to open at shutdown go here */
- kAppleMenuFolderType = FOUR_CHAR_CODE('amnu'), /* Finder objects to put into the Apple menu go here */
- kControlPanelFolderType = FOUR_CHAR_CODE('ctrl'), /* Control Panels go here (may contain INITs) */
- kSystemControlPanelFolderType = FOUR_CHAR_CODE('sctl'), /* System control panels folder - never the redirected one, always "Control Panels" inside the System Folder */
- kExtensionFolderType = FOUR_CHAR_CODE('extn'), /* System extensions go here */
- kFontsFolderType = FOUR_CHAR_CODE('font'), /* Fonts go here */
- kPreferencesFolderType = FOUR_CHAR_CODE('pref'), /* preferences for applications go here */
- kSystemPreferencesFolderType = FOUR_CHAR_CODE('sprf'), /* System-type Preferences go here - this is always the system's preferences folder, never a logged in user's */
- kTemporaryFolderType = FOUR_CHAR_CODE('temp') /* temporary files go here (deleted periodically, but don't rely on it.) */
- };
-
- /*
- * FindFolder()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FindFolder(
- short vRefNum,
- OSType folderType,
- Boolean createFolder,
- short * foundVRefNum,
- long * foundDirID) TWOWORDINLINE(0x7000, 0xA823);
-
-
- /*
- * FindFolderExtended()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FindFolderExtended(
- short vol,
- OSType foldType,
- Boolean createFolder,
- UInt32 flags,
- void * data,
- short * vRefNum,
- long * dirID) THREEWORDINLINE(0x303C, 0x0B2C, 0xA823);
-
-
- /*
- * ReleaseFolder()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ReleaseFolder(
- short vRefNum,
- OSType folderType) TWOWORDINLINE(0x700B, 0xA823);
+enum {
+ kOnSystemDisk = -32768L, /* previously was 0x8000 but that is an unsigned value whereas vRefNum is signed*/
+ kOnAppropriateDisk = -32767, /* Generally, the same as kOnSystemDisk, but it's clearer that this isn't always the 'boot' disk.*/
+ /* Folder Domains - Carbon only. The constants above can continue to be used, but the folder/volume returned will*/
+ /* be from one of the domains below.*/
+ kSystemDomain = -32766, /* Read-only system hierarchy.*/
+ kLocalDomain = -32765, /* All users of a single machine have access to these resources.*/
+ kNetworkDomain = -32764, /* All users configured to use a common network server has access to these resources.*/
+ kUserDomain = -32763, /* Read/write. Resources that are private to the user.*/
+ kClassicDomain = -32762 /* Domain referring to the currently configured Classic System Folder*/
+};
+
+enum {
+ kCreateFolder = true,
+ kDontCreateFolder = false
+};
+
+enum {
+ kSystemFolderType = FOUR_CHAR_CODE('macs'), /* the system folder */
+ kDesktopFolderType = FOUR_CHAR_CODE('desk'), /* the desktop folder; objects in this folder show on the desk top. */
+ kSystemDesktopFolderType = FOUR_CHAR_CODE('sdsk'), /* the desktop folder at the root of the hard drive, never the redirected user desktop folder */
+ kTrashFolderType = FOUR_CHAR_CODE('trsh'), /* the trash folder; objects in this folder show up in the trash */
+ kSystemTrashFolderType = FOUR_CHAR_CODE('strs'), /* the trash folder at the root of the drive, never the redirected user trash folder */
+ kWhereToEmptyTrashFolderType = FOUR_CHAR_CODE('empt'), /* the "empty trash" folder; Finder starts empty from here down */
+ kPrintMonitorDocsFolderType = FOUR_CHAR_CODE('prnt'), /* Print Monitor documents */
+ kStartupFolderType = FOUR_CHAR_CODE('strt'), /* Finder objects (applications, documents, DAs, aliases, to...) to open at startup go here */
+ kShutdownFolderType = FOUR_CHAR_CODE('shdf'), /* Finder objects (applications, documents, DAs, aliases, to...) to open at shutdown go here */
+ kAppleMenuFolderType = FOUR_CHAR_CODE('amnu'), /* Finder objects to put into the Apple menu go here */
+ kControlPanelFolderType = FOUR_CHAR_CODE('ctrl'), /* Control Panels go here (may contain INITs) */
+ kSystemControlPanelFolderType = FOUR_CHAR_CODE('sctl'), /* System control panels folder - never the redirected one, always "Control Panels" inside the System Folder */
+ kExtensionFolderType = FOUR_CHAR_CODE('extn'), /* System extensions go here */
+ kFontsFolderType = FOUR_CHAR_CODE('font'), /* Fonts go here */
+ kPreferencesFolderType = FOUR_CHAR_CODE('pref'), /* preferences for applications go here */
+ kSystemPreferencesFolderType = FOUR_CHAR_CODE('sprf'), /* System-type Preferences go here - this is always the system's preferences folder, never a logged in user's */
+ kTemporaryFolderType = FOUR_CHAR_CODE('temp') /* temporary files go here (deleted periodically, but don't rely on it.) */
+};
+
+/*
+ * FindFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FindFolder(
+ short vRefNum,
+ OSType folderType,
+ Boolean createFolder,
+ short * foundVRefNum,
+ long * foundDirID) TWOWORDINLINE(0x7000, 0xA823);
+
+
+/*
+ * FindFolderExtended()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FindFolderExtended(
+ short vol,
+ OSType foldType,
+ Boolean createFolder,
+ UInt32 flags,
+ void * data,
+ short * vRefNum,
+ long * dirID) THREEWORDINLINE(0x303C, 0x0B2C, 0xA823);
+
+
+/*
+ * ReleaseFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ReleaseFolder(
+ short vRefNum,
+ OSType folderType) TWOWORDINLINE(0x700B, 0xA823);
#if !TARGET_OS_MAC
- /* Since non-mac targets don't know about VRef's or DirID's, the Ex version returns
- the found folder path.
- */
+/* Since non-mac targets don't know about VRef's or DirID's, the Ex version returns
+ the found folder path.
+ */
#if CALL_NOT_IN_CARBON
- /*
- * FindFolderEx()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- FindFolderEx(
- short vRefNum,
- OSType folderType,
- Boolean createFolder,
- short * foundVRefNum,
- long * foundDirID,
- char * foundFolder);
+/*
+ * FindFolderEx()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+FindFolderEx(
+ short vRefNum,
+ OSType folderType,
+ Boolean createFolder,
+ short * foundVRefNum,
+ long * foundDirID,
+ char * foundFolder);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !TARGET_OS_MAC */
- /******************************************/
- /* Extensible Folder Manager declarations */
- /******************************************/
-
- /****************************/
- /* Folder Manager constants */
- /****************************/
-
- enum
- {
- kExtensionDisabledFolderType = FOUR_CHAR_CODE('extD'),
- kControlPanelDisabledFolderType = FOUR_CHAR_CODE('ctrD'),
- kSystemExtensionDisabledFolderType = FOUR_CHAR_CODE('macD'),
- kStartupItemsDisabledFolderType = FOUR_CHAR_CODE('strD'),
- kShutdownItemsDisabledFolderType = FOUR_CHAR_CODE('shdD'),
- kApplicationsFolderType = FOUR_CHAR_CODE('apps'),
- kDocumentsFolderType = FOUR_CHAR_CODE('docs')
- };
-
- enum
- {
- /* new constants */
- kVolumeRootFolderType = FOUR_CHAR_CODE('root'), /* root folder of a volume */
- kChewableItemsFolderType = FOUR_CHAR_CODE('flnt'), /* items deleted at boot */
- kApplicationSupportFolderType = FOUR_CHAR_CODE('asup'), /* third-party items and folders */
- kTextEncodingsFolderType = 0xC4746578, /* encoding tables */
- kStationeryFolderType = FOUR_CHAR_CODE('odst'), /* stationery */
- kOpenDocFolderType = FOUR_CHAR_CODE('odod'), /* OpenDoc root */
- kOpenDocShellPlugInsFolderType = FOUR_CHAR_CODE('odsp'), /* OpenDoc Shell Plug-Ins in OpenDoc folder */
- kEditorsFolderType = FOUR_CHAR_CODE('oded'), /* OpenDoc editors in MacOS Folder */
- kOpenDocEditorsFolderType = 0xC46F6466, /* OpenDoc subfolder of Editors folder */
- kOpenDocLibrariesFolderType = FOUR_CHAR_CODE('odlb'), /* OpenDoc libraries folder */
- kGenEditorsFolderType = 0xC4656469, /* CKH general editors folder at root level of Sys folder */
- kHelpFolderType = 0xC4686C70, /* CKH help folder currently at root of system folder */
- kInternetPlugInFolderType = 0xC46E6574, /* CKH internet plug ins for browsers and stuff */
- kModemScriptsFolderType = 0xC46D6F64, /* CKH modem scripts, get 'em OUT of the Extensions folder */
- kPrinterDescriptionFolderType = FOUR_CHAR_CODE('ppdf'), /* CKH new folder at root of System folder for printer descs. */
- kPrinterDriverFolderType = 0xC4707264, /* CKH new folder at root of System folder for printer drivers */
- kScriptingAdditionsFolderType = 0xC4736372, /* CKH at root of system folder */
- kSharedLibrariesFolderType = 0xC46C6962, /* CKH for general shared libs. */
- kVoicesFolderType = FOUR_CHAR_CODE('fvoc'), /* CKH macintalk can live here */
- kControlStripModulesFolderType = FOUR_CHAR_CODE('sdev'), /* CKH for control strip modules */
- kAssistantsFolderType = 0x617374C4, /* SJF for Assistants (MacOS Setup Assistant, etc) */
- kUtilitiesFolderType = 0x757469C4, /* SJF for Utilities folder */
- kAppleExtrasFolderType = 0x616578C4, /* SJF for Apple Extras folder */
- kContextualMenuItemsFolderType = FOUR_CHAR_CODE('cmnu'), /* SJF for Contextual Menu items */
- kMacOSReadMesFolderType = 0x6D6F72C4, /* SJF for MacOS ReadMes folder */
- kALMModulesFolderType = FOUR_CHAR_CODE('walk'), /* EAS for Location Manager Module files except type 'thng' (within kExtensionFolderType) */
- kALMPreferencesFolderType = FOUR_CHAR_CODE('trip'), /* EAS for Location Manager Preferences (within kPreferencesFolderType; contains kALMLocationsFolderType) */
- kALMLocationsFolderType = FOUR_CHAR_CODE('fall'), /* EAS for Location Manager Locations (within kALMPreferencesFolderType) */
- kColorSyncProfilesFolderType = FOUR_CHAR_CODE('prof'), /* for ColorSync(tm) Profiles */
- kThemesFolderType = FOUR_CHAR_CODE('thme'), /* for Theme data files */
- kFavoritesFolderType = FOUR_CHAR_CODE('favs'), /* Favorties folder for Navigation Services */
- kInternetFolderType = 0x696E74C4, /* Internet folder (root level of startup volume) */
- kAppearanceFolderType = FOUR_CHAR_CODE('appr'), /* Appearance folder (root of system folder) */
- kSoundSetsFolderType = FOUR_CHAR_CODE('snds'), /* Sound Sets folder (in Appearance folder) */
- kDesktopPicturesFolderType = 0x647470C4, /* Desktop Pictures folder (in Appearance folder) */
- kInternetSearchSitesFolderType = FOUR_CHAR_CODE('issf'), /* Internet Search Sites folder */
- kFindSupportFolderType = FOUR_CHAR_CODE('fnds'), /* Find support folder */
- kFindByContentFolderType = FOUR_CHAR_CODE('fbcf'), /* Find by content folder */
- kInstallerLogsFolderType = FOUR_CHAR_CODE('ilgf'), /* Installer Logs folder */
- kScriptsFolderType = 0x736372C4, /* Scripts folder */
- kFolderActionsFolderType = FOUR_CHAR_CODE('fasf'), /* Folder Actions Scripts folder */
- kLauncherItemsFolderType = FOUR_CHAR_CODE('laun'), /* Launcher Items folder */
- kRecentApplicationsFolderType = FOUR_CHAR_CODE('rapp'), /* Recent Applications folder */
- kRecentDocumentsFolderType = FOUR_CHAR_CODE('rdoc'), /* Recent Documents folder */
- kRecentServersFolderType = FOUR_CHAR_CODE('rsvr'), /* Recent Servers folder */
- kSpeakableItemsFolderType = FOUR_CHAR_CODE('spki'), /* Speakable Items folder */
- kKeychainFolderType = FOUR_CHAR_CODE('kchn'), /* Keychain folder */
- kQuickTimeExtensionsFolderType = FOUR_CHAR_CODE('qtex'), /* QuickTime Extensions Folder (in Extensions folder) */
- kDisplayExtensionsFolderType = FOUR_CHAR_CODE('dspl'), /* Display Extensions Folder (in Extensions folder) */
- kMultiprocessingFolderType = FOUR_CHAR_CODE('mpxf'), /* Multiprocessing Folder (in Extensions folder) */
- kPrintingPlugInsFolderType = FOUR_CHAR_CODE('pplg') /* Printing Plug-Ins Folder (in Extensions folder) */
- };
-
-
- /* New Folder Types to accommodate the Mac OS X Folder Manager */
- /* These folder types are not applicable on Mac OS 9. */
- enum
- {
- kDomainTopLevelFolderType = FOUR_CHAR_CODE('dtop'), /* The top-level of a Folder domain, e.g. "/System"*/
- kDomainLibraryFolderType = FOUR_CHAR_CODE('dlib'), /* the Library subfolder of a particular domain*/
- kColorSyncFolderType = FOUR_CHAR_CODE('sync'), /* Contains ColorSync-related folders*/
- kColorSyncCMMFolderType = FOUR_CHAR_CODE('ccmm'), /* ColorSync CMMs*/
- kColorSyncScriptingFolderType = FOUR_CHAR_CODE('cscr'), /* ColorSync Scripting support*/
- kPrintersFolderType = FOUR_CHAR_CODE('impr'), /* Contains Printing-related folders*/
- kSpeechFolderType = FOUR_CHAR_CODE('spch'), /* Contains Speech-related folders*/
- kCarbonLibraryFolderType = FOUR_CHAR_CODE('carb'), /* Contains Carbon-specific file*/
- kDocumentationFolderType = FOUR_CHAR_CODE('info'), /* Contains Documentation files (not user documents)*/
- kDeveloperDocsFolderType = FOUR_CHAR_CODE('ddoc'), /* Contains Developer Documentation files and folders*/
- kDeveloperHelpFolderType = FOUR_CHAR_CODE('devh'), /* Contains Developer Help related files*/
- kISSDownloadsFolderType = FOUR_CHAR_CODE('issd'), /* Contains Internet Search Sites downloaded from the Internet*/
- kUserSpecificTmpFolderType = FOUR_CHAR_CODE('utmp'), /* Contains temporary items created on behalf of the current user*/
- kCachedDataFolderType = FOUR_CHAR_CODE('cach'), /* Contains various cache files for different clients*/
- kFrameworksFolderType = FOUR_CHAR_CODE('fram'), /* Contains MacOS X Framework folders */
- kPrivateFrameworksFolderType = FOUR_CHAR_CODE('pfrm'), /* Contains MacOS X Private Framework folders */
- kClassicDesktopFolderType = FOUR_CHAR_CODE('sdsk'), /* MacOS 9 compatible desktop folder - same as */
- /* kSystemDesktopFolderType but with a more appropriate*/
- /* name for Mac OS X code.*/
- kDeveloperFolderType = FOUR_CHAR_CODE('devf'), /* Contains MacOS X Developer Resources*/
- kSystemSoundsFolderType = FOUR_CHAR_CODE('ssnd'), /* Contains Mac OS X System Sound Files*/
- kComponentsFolderType = FOUR_CHAR_CODE('cmpd'), /* Contains Mac OS X components*/
- kQuickTimeComponentsFolderType = FOUR_CHAR_CODE('wcmp'), /* Contains QuickTime components for Mac OS X*/
- kCoreServicesFolderType = FOUR_CHAR_CODE('csrv'), /* Refers to the "CoreServices" folder on Mac OS X*/
- kPictureDocumentsFolderType = FOUR_CHAR_CODE('pdoc'), /* Refers to the "Pictures" folder in a users home directory*/
- kMovieDocumentsFolderType = FOUR_CHAR_CODE('mdoc'), /* Refers to the "Movies" folder in a users home directory*/
- kMusicDocumentsFolderType = 0xB5646F63, /* Refers to the "Music" folder in a users home directory*/
- kInternetSitesFolderType = FOUR_CHAR_CODE('site'), /* Refers to the "Sites" folder in a users home directory*/
- kPublicFolderType = FOUR_CHAR_CODE('pubb'), /* Refers to the "Public" folder in a users home directory*/
- kAudioSupportFolderType = FOUR_CHAR_CODE('adio'), /* Refers to the Audio support folder for Mac OS X*/
- kAudioSoundsFolderType = FOUR_CHAR_CODE('asnd'), /* Refers to the Sounds subfolder of Audio Support*/
- kAudioSoundBanksFolderType = FOUR_CHAR_CODE('bank'), /* Refers to the Banks subfolder of the Sounds Folder*/
- kAudioAlertSoundsFolderType = FOUR_CHAR_CODE('alrt'), /* Refers to the Alert Sounds subfolder of the Sound Folder*/
- kAudioPlugInsFolderType = FOUR_CHAR_CODE('aplg'), /* Refers to the Plug-ins subfolder of the Audio Folder */
- kAudioComponentsFolderType = FOUR_CHAR_CODE('acmp'), /* Refers to the Components subfolder of the Audio Plug-ins Folder */
- kKernelExtensionsFolderType = FOUR_CHAR_CODE('kext'), /* Refers to the Kernel Extensions Folder on Mac OS X*/
- kDirectoryServicesFolderType = FOUR_CHAR_CODE('dsrv'), /* Refers to the Directory Services folder on Mac OS X*/
- kDirectoryServicesPlugInsFolderType = FOUR_CHAR_CODE('dplg'), /* Refers to the Directory Services Plug-Ins folder on Mac OS X */
- kInstallerReceiptsFolderType = FOUR_CHAR_CODE('rcpt'), /* Refers to the "Receipts" folder in Mac OS X*/
- kFileSystemSupportFolderType = FOUR_CHAR_CODE('fsys'), /* Refers to the [domain]/Library/Filesystems folder in Mac OS X*/
- kAppleShareSupportFolderType = FOUR_CHAR_CODE('shar'), /* Refers to the [domain]/Library/Filesystems/AppleShare folder in Mac OS X*/
- kAppleShareAuthenticationFolderType = FOUR_CHAR_CODE('auth'), /* Refers to the [domain]/Library/Filesystems/AppleShare/Authentication folder in Mac OS X*/
- kMIDIDriversFolderType = FOUR_CHAR_CODE('midi'), /* Refers to the MIDI Drivers folder on Mac OS X*/
- kKeyboardLayoutsFolderType = FOUR_CHAR_CODE('klay'), /* Refers to the [domain]/Library/KeyboardLayouts folder in Mac OS X*/
- kIndexFilesFolderType = FOUR_CHAR_CODE('indx'), /* Refers to the [domain]/Library/Indexes folder in Mac OS X*/
- kFindByContentIndexesFolderType = FOUR_CHAR_CODE('fbcx'), /* Refers to the [domain]/Library/Indexes/FindByContent folder in Mac OS X*/
- kManagedItemsFolderType = FOUR_CHAR_CODE('mang'), /* Refers to the Managed Items folder for Mac OS X */
- kBootTimeStartupItemsFolderType = FOUR_CHAR_CODE('empz') /* Refers to the "StartupItems" folder of Mac OS X */
- };
-
- enum
- {
- kLocalesFolderType = 0xC46C6F63, /* PKE for Locales folder */
- kFindByContentPluginsFolderType = FOUR_CHAR_CODE('fbcp') /* Find By Content Plug-ins */
- };
-
- enum
- {
- kUsersFolderType = FOUR_CHAR_CODE('usrs'), /* "Users" folder, contains one folder for each user. */
- kCurrentUserFolderType = FOUR_CHAR_CODE('cusr'), /* The folder for the currently logged on user. */
- kCurrentUserRemoteFolderLocation = FOUR_CHAR_CODE('rusf'), /* The remote folder for the currently logged on user */
- kCurrentUserRemoteFolderType = FOUR_CHAR_CODE('rusr'), /* The remote folder location for the currently logged on user */
- kSharedUserDataFolderType = FOUR_CHAR_CODE('sdat'), /* A Shared "Documents" folder, readable & writeable by all users */
- kVolumeSettingsFolderType = FOUR_CHAR_CODE('vsfd') /* Volume specific user information goes here */
- };
-
- /* FolderDescFlags values */
- enum
- {
- kCreateFolderAtBoot = 0x00000002,
- kCreateFolderAtBootBit = 1,
- kFolderCreatedInvisible = 0x00000004,
- kFolderCreatedInvisibleBit = 2,
- kFolderCreatedNameLocked = 0x00000008,
- kFolderCreatedNameLockedBit = 3,
- kFolderCreatedAdminPrivs = 0x00000010,
- kFolderCreatedAdminPrivsBit = 4
- };
-
- enum
- {
- kFolderInUserFolder = 0x00000020,
- kFolderInUserFolderBit = 5,
- kFolderTrackedByAlias = 0x00000040,
- kFolderTrackedByAliasBit = 6,
- kFolderInRemoteUserFolderIfAvailable = 0x00000080,
- kFolderInRemoteUserFolderIfAvailableBit = 7,
- kFolderNeverMatchedInIdentifyFolder = 0x00000100,
- kFolderNeverMatchedInIdentifyFolderBit = 8,
- kFolderMustStayOnSameVolume = 0x00000200,
- kFolderMustStayOnSameVolumeBit = 9,
- kFolderManagerFolderInMacOS9FolderIfMacOSXIsInstalledMask = 0x00000400,
- kFolderManagerFolderInMacOS9FolderIfMacOSXIsInstalledBit = 10,
- kFolderInLocalOrRemoteUserFolder = kFolderInUserFolder | kFolderInRemoteUserFolderIfAvailable
- };
-
- typedef UInt32 FolderDescFlags;
- /* FolderClass values */
- enum
- {
- kRelativeFolder = FOUR_CHAR_CODE('relf'),
- kSpecialFolder = FOUR_CHAR_CODE('spcf')
- };
-
- typedef OSType FolderClass;
- /* special folder locations */
- enum
- {
- kBlessedFolder = FOUR_CHAR_CODE('blsf'),
- kRootFolder = FOUR_CHAR_CODE('rotf')
- };
-
- enum
- {
- kCurrentUserFolderLocation = FOUR_CHAR_CODE('cusf') /* the magic 'Current User' folder location*/
- };
-
- typedef OSType FolderType;
- typedef OSType FolderLocation;
-
- struct FolderDesc
- {
- Size descSize;
- FolderType foldType;
- FolderDescFlags flags;
- FolderClass foldClass;
- FolderType foldLocation;
- OSType badgeSignature;
- OSType badgeType;
- UInt32 reserved;
- StrFileName name; /* Str63 on MacOS*/
- };
- typedef struct FolderDesc FolderDesc;
- typedef FolderDesc * FolderDescPtr;
-
- typedef UInt32 RoutingFlags;
- struct FolderRouting
- {
- Size descSize;
- OSType fileType;
- FolderType routeFromFolder;
- FolderType routeToFolder;
- RoutingFlags flags;
- };
- typedef struct FolderRouting FolderRouting;
- typedef FolderRouting * FolderRoutingPtr;
- /* routing constants */
- /* These are bits in the .flags field of the FindFolderUserRedirectionGlobals struct*/
- enum
- {
- /* Set this bit to 1 in the .flags field of a FindFolderUserRedirectionGlobals*/
- /* structure if the userName in the struct should be used as the current*/
- /* "User" name*/
- kFindFolderRedirectionFlagUseDistinctUserFoldersBit = 0, /* Set this bit to 1 and the currentUserFolderVRefNum and currentUserFolderDirID*/
- /* fields of the user record will get used instead of finding the user folder*/
- /* with the userName field.*/
- kFindFolderRedirectionFlagUseGivenVRefAndDirIDAsUserFolderBit = 1, /* Set this bit to 1 and the remoteUserFolderVRefNum and remoteUserFolderDirID*/
- /* fields of the user record will get used instead of finding the user folder*/
- /* with the userName field.*/
- kFindFolderRedirectionFlagsUseGivenVRefNumAndDirIDAsRemoteUserFolderBit = 2
- };
-
- struct FindFolderUserRedirectionGlobals
- {
- UInt32 version;
- UInt32 flags;
-
- Str31 userName;
- short userNameScript;
-
- short currentUserFolderVRefNum;
- long currentUserFolderDirID;
-
- short remoteUserFolderVRefNum;
- long remoteUserFolderDirID;
- };
- typedef struct FindFolderUserRedirectionGlobals FindFolderUserRedirectionGlobals;
- typedef FindFolderUserRedirectionGlobals * FindFolderUserRedirectionGlobalsPtr;
- enum
- {
- kFolderManagerUserRedirectionGlobalsCurrentVersion = 1
- };
-
- /*
- These are passed into FindFolderExtended(), FindFolderInternalExtended(), and
- FindFolderNewInstallerEntryExtended() in the flags field.
- */
- enum
- {
- kFindFolderExtendedFlagsDoNotFollowAliasesBit = 0,
- kFindFolderExtendedFlagsDoNotUseUserFolderBit = 1,
- kFindFolderExtendedFlagsUseOtherUserRecord = 0x01000000
- };
-
- typedef CALLBACK_API(OSStatus , FolderManagerNotificationProcPtr)(OSType message, void *arg, void *userRefCon);
- typedef STACK_UPP_TYPE(FolderManagerNotificationProcPtr) FolderManagerNotificationUPP;
- /*
- * NewFolderManagerNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FolderManagerNotificationUPP)
- NewFolderManagerNotificationUPP(FolderManagerNotificationProcPtr userRoutine);
+/******************************************/
+/* Extensible Folder Manager declarations */
+/******************************************/
+
+/****************************/
+/* Folder Manager constants */
+/****************************/
+
+enum {
+ kExtensionDisabledFolderType = FOUR_CHAR_CODE('extD'),
+ kControlPanelDisabledFolderType = FOUR_CHAR_CODE('ctrD'),
+ kSystemExtensionDisabledFolderType = FOUR_CHAR_CODE('macD'),
+ kStartupItemsDisabledFolderType = FOUR_CHAR_CODE('strD'),
+ kShutdownItemsDisabledFolderType = FOUR_CHAR_CODE('shdD'),
+ kApplicationsFolderType = FOUR_CHAR_CODE('apps'),
+ kDocumentsFolderType = FOUR_CHAR_CODE('docs')
+};
+
+enum {
+ /* new constants */
+ kVolumeRootFolderType = FOUR_CHAR_CODE('root'), /* root folder of a volume */
+ kChewableItemsFolderType = FOUR_CHAR_CODE('flnt'), /* items deleted at boot */
+ kApplicationSupportFolderType = FOUR_CHAR_CODE('asup'), /* third-party items and folders */
+ kTextEncodingsFolderType = 0xC4746578, /* encoding tables */
+ kStationeryFolderType = FOUR_CHAR_CODE('odst'), /* stationery */
+ kOpenDocFolderType = FOUR_CHAR_CODE('odod'), /* OpenDoc root */
+ kOpenDocShellPlugInsFolderType = FOUR_CHAR_CODE('odsp'), /* OpenDoc Shell Plug-Ins in OpenDoc folder */
+ kEditorsFolderType = FOUR_CHAR_CODE('oded'), /* OpenDoc editors in MacOS Folder */
+ kOpenDocEditorsFolderType = 0xC46F6466, /* OpenDoc subfolder of Editors folder */
+ kOpenDocLibrariesFolderType = FOUR_CHAR_CODE('odlb'), /* OpenDoc libraries folder */
+ kGenEditorsFolderType = 0xC4656469, /* CKH general editors folder at root level of Sys folder */
+ kHelpFolderType = 0xC4686C70, /* CKH help folder currently at root of system folder */
+ kInternetPlugInFolderType = 0xC46E6574, /* CKH internet plug ins for browsers and stuff */
+ kModemScriptsFolderType = 0xC46D6F64, /* CKH modem scripts, get 'em OUT of the Extensions folder */
+ kPrinterDescriptionFolderType = FOUR_CHAR_CODE('ppdf'), /* CKH new folder at root of System folder for printer descs. */
+ kPrinterDriverFolderType = 0xC4707264, /* CKH new folder at root of System folder for printer drivers */
+ kScriptingAdditionsFolderType = 0xC4736372, /* CKH at root of system folder */
+ kSharedLibrariesFolderType = 0xC46C6962, /* CKH for general shared libs. */
+ kVoicesFolderType = FOUR_CHAR_CODE('fvoc'), /* CKH macintalk can live here */
+ kControlStripModulesFolderType = FOUR_CHAR_CODE('sdev'), /* CKH for control strip modules */
+ kAssistantsFolderType = 0x617374C4, /* SJF for Assistants (MacOS Setup Assistant, etc) */
+ kUtilitiesFolderType = 0x757469C4, /* SJF for Utilities folder */
+ kAppleExtrasFolderType = 0x616578C4, /* SJF for Apple Extras folder */
+ kContextualMenuItemsFolderType = FOUR_CHAR_CODE('cmnu'), /* SJF for Contextual Menu items */
+ kMacOSReadMesFolderType = 0x6D6F72C4, /* SJF for MacOS ReadMes folder */
+ kALMModulesFolderType = FOUR_CHAR_CODE('walk'), /* EAS for Location Manager Module files except type 'thng' (within kExtensionFolderType) */
+ kALMPreferencesFolderType = FOUR_CHAR_CODE('trip'), /* EAS for Location Manager Preferences (within kPreferencesFolderType; contains kALMLocationsFolderType) */
+ kALMLocationsFolderType = FOUR_CHAR_CODE('fall'), /* EAS for Location Manager Locations (within kALMPreferencesFolderType) */
+ kColorSyncProfilesFolderType = FOUR_CHAR_CODE('prof'), /* for ColorSync(tm) Profiles */
+ kThemesFolderType = FOUR_CHAR_CODE('thme'), /* for Theme data files */
+ kFavoritesFolderType = FOUR_CHAR_CODE('favs'), /* Favorties folder for Navigation Services */
+ kInternetFolderType = 0x696E74C4, /* Internet folder (root level of startup volume) */
+ kAppearanceFolderType = FOUR_CHAR_CODE('appr'), /* Appearance folder (root of system folder) */
+ kSoundSetsFolderType = FOUR_CHAR_CODE('snds'), /* Sound Sets folder (in Appearance folder) */
+ kDesktopPicturesFolderType = 0x647470C4, /* Desktop Pictures folder (in Appearance folder) */
+ kInternetSearchSitesFolderType = FOUR_CHAR_CODE('issf'), /* Internet Search Sites folder */
+ kFindSupportFolderType = FOUR_CHAR_CODE('fnds'), /* Find support folder */
+ kFindByContentFolderType = FOUR_CHAR_CODE('fbcf'), /* Find by content folder */
+ kInstallerLogsFolderType = FOUR_CHAR_CODE('ilgf'), /* Installer Logs folder */
+ kScriptsFolderType = 0x736372C4, /* Scripts folder */
+ kFolderActionsFolderType = FOUR_CHAR_CODE('fasf'), /* Folder Actions Scripts folder */
+ kLauncherItemsFolderType = FOUR_CHAR_CODE('laun'), /* Launcher Items folder */
+ kRecentApplicationsFolderType = FOUR_CHAR_CODE('rapp'), /* Recent Applications folder */
+ kRecentDocumentsFolderType = FOUR_CHAR_CODE('rdoc'), /* Recent Documents folder */
+ kRecentServersFolderType = FOUR_CHAR_CODE('rsvr'), /* Recent Servers folder */
+ kSpeakableItemsFolderType = FOUR_CHAR_CODE('spki'), /* Speakable Items folder */
+ kKeychainFolderType = FOUR_CHAR_CODE('kchn'), /* Keychain folder */
+ kQuickTimeExtensionsFolderType = FOUR_CHAR_CODE('qtex'), /* QuickTime Extensions Folder (in Extensions folder) */
+ kDisplayExtensionsFolderType = FOUR_CHAR_CODE('dspl'), /* Display Extensions Folder (in Extensions folder) */
+ kMultiprocessingFolderType = FOUR_CHAR_CODE('mpxf'), /* Multiprocessing Folder (in Extensions folder) */
+ kPrintingPlugInsFolderType = FOUR_CHAR_CODE('pplg') /* Printing Plug-Ins Folder (in Extensions folder) */
+};
+
+
+/* New Folder Types to accommodate the Mac OS X Folder Manager */
+/* These folder types are not applicable on Mac OS 9. */
+enum {
+ kDomainTopLevelFolderType = FOUR_CHAR_CODE('dtop'), /* The top-level of a Folder domain, e.g. "/System"*/
+ kDomainLibraryFolderType = FOUR_CHAR_CODE('dlib'), /* the Library subfolder of a particular domain*/
+ kColorSyncFolderType = FOUR_CHAR_CODE('sync'), /* Contains ColorSync-related folders*/
+ kColorSyncCMMFolderType = FOUR_CHAR_CODE('ccmm'), /* ColorSync CMMs*/
+ kColorSyncScriptingFolderType = FOUR_CHAR_CODE('cscr'), /* ColorSync Scripting support*/
+ kPrintersFolderType = FOUR_CHAR_CODE('impr'), /* Contains Printing-related folders*/
+ kSpeechFolderType = FOUR_CHAR_CODE('spch'), /* Contains Speech-related folders*/
+ kCarbonLibraryFolderType = FOUR_CHAR_CODE('carb'), /* Contains Carbon-specific file*/
+ kDocumentationFolderType = FOUR_CHAR_CODE('info'), /* Contains Documentation files (not user documents)*/
+ kDeveloperDocsFolderType = FOUR_CHAR_CODE('ddoc'), /* Contains Developer Documentation files and folders*/
+ kDeveloperHelpFolderType = FOUR_CHAR_CODE('devh'), /* Contains Developer Help related files*/
+ kISSDownloadsFolderType = FOUR_CHAR_CODE('issd'), /* Contains Internet Search Sites downloaded from the Internet*/
+ kUserSpecificTmpFolderType = FOUR_CHAR_CODE('utmp'), /* Contains temporary items created on behalf of the current user*/
+ kCachedDataFolderType = FOUR_CHAR_CODE('cach'), /* Contains various cache files for different clients*/
+ kFrameworksFolderType = FOUR_CHAR_CODE('fram'), /* Contains MacOS X Framework folders */
+ kPrivateFrameworksFolderType = FOUR_CHAR_CODE('pfrm'), /* Contains MacOS X Private Framework folders */
+ kClassicDesktopFolderType = FOUR_CHAR_CODE('sdsk'), /* MacOS 9 compatible desktop folder - same as */
+ /* kSystemDesktopFolderType but with a more appropriate*/
+ /* name for Mac OS X code.*/
+ kDeveloperFolderType = FOUR_CHAR_CODE('devf'), /* Contains MacOS X Developer Resources*/
+ kSystemSoundsFolderType = FOUR_CHAR_CODE('ssnd'), /* Contains Mac OS X System Sound Files*/
+ kComponentsFolderType = FOUR_CHAR_CODE('cmpd'), /* Contains Mac OS X components*/
+ kQuickTimeComponentsFolderType = FOUR_CHAR_CODE('wcmp'), /* Contains QuickTime components for Mac OS X*/
+ kCoreServicesFolderType = FOUR_CHAR_CODE('csrv'), /* Refers to the "CoreServices" folder on Mac OS X*/
+ kPictureDocumentsFolderType = FOUR_CHAR_CODE('pdoc'), /* Refers to the "Pictures" folder in a users home directory*/
+ kMovieDocumentsFolderType = FOUR_CHAR_CODE('mdoc'), /* Refers to the "Movies" folder in a users home directory*/
+ kMusicDocumentsFolderType = 0xB5646F63, /* Refers to the "Music" folder in a users home directory*/
+ kInternetSitesFolderType = FOUR_CHAR_CODE('site'), /* Refers to the "Sites" folder in a users home directory*/
+ kPublicFolderType = FOUR_CHAR_CODE('pubb'), /* Refers to the "Public" folder in a users home directory*/
+ kAudioSupportFolderType = FOUR_CHAR_CODE('adio'), /* Refers to the Audio support folder for Mac OS X*/
+ kAudioSoundsFolderType = FOUR_CHAR_CODE('asnd'), /* Refers to the Sounds subfolder of Audio Support*/
+ kAudioSoundBanksFolderType = FOUR_CHAR_CODE('bank'), /* Refers to the Banks subfolder of the Sounds Folder*/
+ kAudioAlertSoundsFolderType = FOUR_CHAR_CODE('alrt'), /* Refers to the Alert Sounds subfolder of the Sound Folder*/
+ kAudioPlugInsFolderType = FOUR_CHAR_CODE('aplg'), /* Refers to the Plug-ins subfolder of the Audio Folder */
+ kAudioComponentsFolderType = FOUR_CHAR_CODE('acmp'), /* Refers to the Components subfolder of the Audio Plug-ins Folder */
+ kKernelExtensionsFolderType = FOUR_CHAR_CODE('kext'), /* Refers to the Kernel Extensions Folder on Mac OS X*/
+ kDirectoryServicesFolderType = FOUR_CHAR_CODE('dsrv'), /* Refers to the Directory Services folder on Mac OS X*/
+ kDirectoryServicesPlugInsFolderType = FOUR_CHAR_CODE('dplg'), /* Refers to the Directory Services Plug-Ins folder on Mac OS X */
+ kInstallerReceiptsFolderType = FOUR_CHAR_CODE('rcpt'), /* Refers to the "Receipts" folder in Mac OS X*/
+ kFileSystemSupportFolderType = FOUR_CHAR_CODE('fsys'), /* Refers to the [domain]/Library/Filesystems folder in Mac OS X*/
+ kAppleShareSupportFolderType = FOUR_CHAR_CODE('shar'), /* Refers to the [domain]/Library/Filesystems/AppleShare folder in Mac OS X*/
+ kAppleShareAuthenticationFolderType = FOUR_CHAR_CODE('auth'), /* Refers to the [domain]/Library/Filesystems/AppleShare/Authentication folder in Mac OS X*/
+ kMIDIDriversFolderType = FOUR_CHAR_CODE('midi'), /* Refers to the MIDI Drivers folder on Mac OS X*/
+ kKeyboardLayoutsFolderType = FOUR_CHAR_CODE('klay'), /* Refers to the [domain]/Library/KeyboardLayouts folder in Mac OS X*/
+ kIndexFilesFolderType = FOUR_CHAR_CODE('indx'), /* Refers to the [domain]/Library/Indexes folder in Mac OS X*/
+ kFindByContentIndexesFolderType = FOUR_CHAR_CODE('fbcx'), /* Refers to the [domain]/Library/Indexes/FindByContent folder in Mac OS X*/
+ kManagedItemsFolderType = FOUR_CHAR_CODE('mang'), /* Refers to the Managed Items folder for Mac OS X */
+ kBootTimeStartupItemsFolderType = FOUR_CHAR_CODE('empz') /* Refers to the "StartupItems" folder of Mac OS X */
+};
+
+enum {
+ kLocalesFolderType = 0xC46C6F63, /* PKE for Locales folder */
+ kFindByContentPluginsFolderType = FOUR_CHAR_CODE('fbcp') /* Find By Content Plug-ins */
+};
+
+enum {
+ kUsersFolderType = FOUR_CHAR_CODE('usrs'), /* "Users" folder, contains one folder for each user. */
+ kCurrentUserFolderType = FOUR_CHAR_CODE('cusr'), /* The folder for the currently logged on user. */
+ kCurrentUserRemoteFolderLocation = FOUR_CHAR_CODE('rusf'), /* The remote folder for the currently logged on user */
+ kCurrentUserRemoteFolderType = FOUR_CHAR_CODE('rusr'), /* The remote folder location for the currently logged on user */
+ kSharedUserDataFolderType = FOUR_CHAR_CODE('sdat'), /* A Shared "Documents" folder, readable & writeable by all users */
+ kVolumeSettingsFolderType = FOUR_CHAR_CODE('vsfd') /* Volume specific user information goes here */
+};
+
+/* FolderDescFlags values */
+enum {
+ kCreateFolderAtBoot = 0x00000002,
+ kCreateFolderAtBootBit = 1,
+ kFolderCreatedInvisible = 0x00000004,
+ kFolderCreatedInvisibleBit = 2,
+ kFolderCreatedNameLocked = 0x00000008,
+ kFolderCreatedNameLockedBit = 3,
+ kFolderCreatedAdminPrivs = 0x00000010,
+ kFolderCreatedAdminPrivsBit = 4
+};
+
+enum {
+ kFolderInUserFolder = 0x00000020,
+ kFolderInUserFolderBit = 5,
+ kFolderTrackedByAlias = 0x00000040,
+ kFolderTrackedByAliasBit = 6,
+ kFolderInRemoteUserFolderIfAvailable = 0x00000080,
+ kFolderInRemoteUserFolderIfAvailableBit = 7,
+ kFolderNeverMatchedInIdentifyFolder = 0x00000100,
+ kFolderNeverMatchedInIdentifyFolderBit = 8,
+ kFolderMustStayOnSameVolume = 0x00000200,
+ kFolderMustStayOnSameVolumeBit = 9,
+ kFolderManagerFolderInMacOS9FolderIfMacOSXIsInstalledMask = 0x00000400,
+ kFolderManagerFolderInMacOS9FolderIfMacOSXIsInstalledBit = 10,
+ kFolderInLocalOrRemoteUserFolder = kFolderInUserFolder | kFolderInRemoteUserFolderIfAvailable
+};
+
+typedef UInt32 FolderDescFlags;
+/* FolderClass values */
+enum {
+ kRelativeFolder = FOUR_CHAR_CODE('relf'),
+ kSpecialFolder = FOUR_CHAR_CODE('spcf')
+};
+
+typedef OSType FolderClass;
+/* special folder locations */
+enum {
+ kBlessedFolder = FOUR_CHAR_CODE('blsf'),
+ kRootFolder = FOUR_CHAR_CODE('rotf')
+};
+
+enum {
+ kCurrentUserFolderLocation = FOUR_CHAR_CODE('cusf') /* the magic 'Current User' folder location*/
+};
+
+typedef OSType FolderType;
+typedef OSType FolderLocation;
+
+struct FolderDesc {
+ Size descSize;
+ FolderType foldType;
+ FolderDescFlags flags;
+ FolderClass foldClass;
+ FolderType foldLocation;
+ OSType badgeSignature;
+ OSType badgeType;
+ UInt32 reserved;
+ StrFileName name; /* Str63 on MacOS*/
+};
+typedef struct FolderDesc FolderDesc;
+typedef FolderDesc * FolderDescPtr;
+
+typedef UInt32 RoutingFlags;
+struct FolderRouting {
+ Size descSize;
+ OSType fileType;
+ FolderType routeFromFolder;
+ FolderType routeToFolder;
+ RoutingFlags flags;
+};
+typedef struct FolderRouting FolderRouting;
+typedef FolderRouting * FolderRoutingPtr;
+/* routing constants */
+/* These are bits in the .flags field of the FindFolderUserRedirectionGlobals struct*/
+enum {
+ /* Set this bit to 1 in the .flags field of a FindFolderUserRedirectionGlobals*/
+ /* structure if the userName in the struct should be used as the current*/
+ /* "User" name*/
+ kFindFolderRedirectionFlagUseDistinctUserFoldersBit = 0, /* Set this bit to 1 and the currentUserFolderVRefNum and currentUserFolderDirID*/
+ /* fields of the user record will get used instead of finding the user folder*/
+ /* with the userName field.*/
+ kFindFolderRedirectionFlagUseGivenVRefAndDirIDAsUserFolderBit = 1, /* Set this bit to 1 and the remoteUserFolderVRefNum and remoteUserFolderDirID*/
+ /* fields of the user record will get used instead of finding the user folder*/
+ /* with the userName field.*/
+ kFindFolderRedirectionFlagsUseGivenVRefNumAndDirIDAsRemoteUserFolderBit = 2
+};
+
+struct FindFolderUserRedirectionGlobals {
+ UInt32 version;
+ UInt32 flags;
+
+ Str31 userName;
+ short userNameScript;
+
+ short currentUserFolderVRefNum;
+ long currentUserFolderDirID;
+
+ short remoteUserFolderVRefNum;
+ long remoteUserFolderDirID;
+};
+typedef struct FindFolderUserRedirectionGlobals FindFolderUserRedirectionGlobals;
+typedef FindFolderUserRedirectionGlobals * FindFolderUserRedirectionGlobalsPtr;
+enum {
+ kFolderManagerUserRedirectionGlobalsCurrentVersion = 1
+};
+
+/*
+ These are passed into FindFolderExtended(), FindFolderInternalExtended(), and
+ FindFolderNewInstallerEntryExtended() in the flags field.
+*/
+enum {
+ kFindFolderExtendedFlagsDoNotFollowAliasesBit = 0,
+ kFindFolderExtendedFlagsDoNotUseUserFolderBit = 1,
+ kFindFolderExtendedFlagsUseOtherUserRecord = 0x01000000
+};
+
+typedef CALLBACK_API( OSStatus , FolderManagerNotificationProcPtr )(OSType message, void *arg, void *userRefCon);
+typedef STACK_UPP_TYPE(FolderManagerNotificationProcPtr) FolderManagerNotificationUPP;
+/*
+ * NewFolderManagerNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FolderManagerNotificationUPP )
+NewFolderManagerNotificationUPP(FolderManagerNotificationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFolderManagerNotificationProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FolderManagerNotificationUPP) NewFolderManagerNotificationUPP(FolderManagerNotificationProcPtr userRoutine)
- {
- return (FolderManagerNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFolderManagerNotificationProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewFolderManagerNotificationUPP(userRoutine) (FolderManagerNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFolderManagerNotificationProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppFolderManagerNotificationProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FolderManagerNotificationUPP) NewFolderManagerNotificationUPP(FolderManagerNotificationProcPtr userRoutine) { return (FolderManagerNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFolderManagerNotificationProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewFolderManagerNotificationUPP(userRoutine) (FolderManagerNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFolderManagerNotificationProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeFolderManagerNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeFolderManagerNotificationUPP(FolderManagerNotificationUPP userUPP);
+/*
+ * DisposeFolderManagerNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeFolderManagerNotificationUPP(FolderManagerNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFolderManagerNotificationUPP(FolderManagerNotificationUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeFolderManagerNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFolderManagerNotificationUPP(FolderManagerNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeFolderManagerNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeFolderManagerNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeFolderManagerNotificationUPP(
- OSType message,
- void * arg,
- void * userRefCon,
- FolderManagerNotificationUPP userUPP);
+/*
+ * InvokeFolderManagerNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeFolderManagerNotificationUPP(
+ OSType message,
+ void * arg,
+ void * userRefCon,
+ FolderManagerNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeFolderManagerNotificationUPP(OSType message, void * arg, void * userRefCon, FolderManagerNotificationUPP userUPP)
- {
- return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppFolderManagerNotificationProcInfo, message, arg, userRefCon);
- }
-#else
-#define InvokeFolderManagerNotificationUPP(message, arg, userRefCon, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppFolderManagerNotificationProcInfo, (message), (arg), (userRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeFolderManagerNotificationUPP(OSType message, void * arg, void * userRefCon, FolderManagerNotificationUPP userUPP) { return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppFolderManagerNotificationProcInfo, message, arg, userRefCon); }
+ #else
+ #define InvokeFolderManagerNotificationUPP(message, arg, userRefCon, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppFolderManagerNotificationProcInfo, (message), (arg), (userRefCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewFolderManagerNotificationProc(userRoutine) NewFolderManagerNotificationUPP(userRoutine)
-#define CallFolderManagerNotificationProc(userRoutine, message, arg, userRefCon) InvokeFolderManagerNotificationUPP(message, arg, userRefCon, userRoutine)
+ #define NewFolderManagerNotificationProc(userRoutine) NewFolderManagerNotificationUPP(userRoutine)
+ #define CallFolderManagerNotificationProc(userRoutine, message, arg, userRefCon) InvokeFolderManagerNotificationUPP(message, arg, userRefCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kFolderManagerNotificationMessageUserLogIn = FOUR_CHAR_CODE('log+'), /* Sent by system & third party software after a user logs in. arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner*/
- kFolderManagerNotificationMessagePreUserLogIn = FOUR_CHAR_CODE('logj'), /* Sent by system & third party software before a user logs in. arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner*/
- kFolderManagerNotificationMessageUserLogOut = FOUR_CHAR_CODE('log-'), /* Sent by system & third party software before a user logs out. arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner*/
- kFolderManagerNotificationMessagePostUserLogOut = FOUR_CHAR_CODE('logp'), /* Sent by system & third party software after a user logs out. arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner*/
- kFolderManagerNotificationDiscardCachedData = FOUR_CHAR_CODE('dche'), /* Sent by system & third party software when the entire Folder Manager cache should be flushed*/
- kFolderManagerNotificationMessageLoginStartup = FOUR_CHAR_CODE('stup') /* Sent by 'Login' application the first time it starts up after each boot*/
- };
-
-
- /* These get used in the options parameter of FolderManagerRegisterNotificationProc()*/
- enum
- {
- kDoNotRemoveWhenCurrentApplicationQuitsBit = 0,
- kDoNotRemoveWheCurrentApplicationQuitsBit = kDoNotRemoveWhenCurrentApplicationQuitsBit /* Going away soon, use kDoNotRemoveWheCurrentApplicationQuitsBit*/
- };
-
- /* These get used in the options parameter of FolderManagerCallNotificationProcs()*/
- enum
- {
- kStopIfAnyNotificationProcReturnsErrorBit = 31
- };
-
- /***************************/
- /* Folder Manager routines */
- /***************************/
- /* Folder Manager administration routines */
- /*
- * AddFolderDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AddFolderDescriptor(
- FolderType foldType,
- FolderDescFlags flags,
- FolderClass foldClass,
- FolderLocation foldLocation,
- OSType badgeSignature,
- OSType badgeType,
- ConstStrFileNameParam name,
- Boolean replaceFlag) TWOWORDINLINE(0x7020, 0xA823);
-
-
- /*
- * GetFolderDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFolderDescriptor(
- FolderType foldType,
- Size descSize,
- FolderDesc * foldDesc) TWOWORDINLINE(0x7023, 0xA823);
-
-
- /*
- * GetFolderTypes()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFolderTypes(
- UInt32 requestedTypeCount,
- UInt32 * totalTypeCount,
- FolderType * theTypes) TWOWORDINLINE(0x7024, 0xA823);
-
-
- /*
- * RemoveFolderDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RemoveFolderDescriptor(FolderType foldType) TWOWORDINLINE(0x7021, 0xA823);
-
-
- /* legacy routines */
- /*
- * GetFolderName()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFolderName(
- short vRefNum,
- OSType foldType,
- short * foundVRefNum,
- StrFileName name) TWOWORDINLINE(0x700E, 0xA823);
-
-
- /* routing routines */
- /*
- * AddFolderRouting()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AddFolderRouting(
- OSType fileType,
- FolderType routeFromFolder,
- FolderType routeToFolder,
- RoutingFlags flags,
- Boolean replaceFlag) THREEWORDINLINE(0x303C, 0x0926, 0xA823);
-
-
- /*
- * RemoveFolderRouting()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RemoveFolderRouting(
- OSType fileType,
- FolderType routeFromFolder) THREEWORDINLINE(0x303C, 0x0427, 0xA823);
-
-
- /*
- * FindFolderRouting()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FindFolderRouting(
- OSType fileType,
- FolderType routeFromFolder,
- FolderType * routeToFolder,
- RoutingFlags * flags) THREEWORDINLINE(0x303C, 0x0822, 0xA823);
-
-
- /*
- * GetFolderRoutings()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFolderRoutings(
- UInt32 requestedRoutingCount,
- UInt32 * totalRoutingCount,
- Size routingSize,
- FolderRouting * theRoutings) THREEWORDINLINE(0x303C, 0x081E, 0xA823);
-
-
- /*
- * InvalidateFolderDescriptorCache()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- InvalidateFolderDescriptorCache(
- short vRefNum,
- long dirID) THREEWORDINLINE(0x303C, 0x0325, 0xA823);
-
-
- /*
- * IdentifyFolder()
- *
- * Availability:
- * Non-Carbon CFM: in FoldersLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IdentifyFolder(
- short vRefNum,
- long dirID,
- FolderType * foldType) THREEWORDINLINE(0x303C, 0x051F, 0xA823);
-
-
-
- /*
- * FolderManagerRegisterNotificationProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FolderManagerRegisterNotificationProc(
- FolderManagerNotificationUPP notificationProc,
- void * refCon,
- UInt32 options) THREEWORDINLINE(0x303C, 0x062F, 0xA823);
-
-
- /*
- * FolderManagerUnregisterNotificationProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FolderManagerUnregisterNotificationProc(
- FolderManagerNotificationUPP notificationProc,
- void * refCon) THREEWORDINLINE(0x303C, 0x0430, 0xA823);
-
-
- /*
- * FolderManagerRegisterCallNotificationProcs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- FolderManagerRegisterCallNotificationProcs(
- OSType message,
- void * arg,
- UInt32 options) THREEWORDINLINE(0x303C, 0x0631, 0xA823);
-
-
- /*******************************/
- /* MultiUser (At Ease) globals */
- /*******************************/
- /*
- This structure has been through some evolution since the early days of At Ease 1.0. The structure
- has been expanded (and developers should assume that it will continue this way into the future). Older
- fields have been obsoleted as the features have changed in newer versions of the code.
- */
-
- /* Some fields in here are really only valid for the network version of Macintosh Manager*/
-
- struct MultiUserGestalt
- {
- /* Version 1 fields.*/
- short giVersion; /* structure version: 0 = invalid, 6 = OS 9*/
- short giReserved0; /* [OBSOLETE with v3] giIsActive: if true then At Ease is currently running*/
- short giReserved1; /* [OBSOLETE] if true then auto create alias*/
- short giReserved2; /* [OBSOLETE with v6] if true then request floppy on new saves*/
- short giReserved3; /* [OBSOLETE] if true then hypercard stacks are shown on Applications panel*/
- FSSpec giReserved4; /* [OBSOLETE with v6] location of At Ease Items folder*/
-
- /* Version 2 fields.*/
- short giDocsVRefNum; /* vrefnum of user's documents location (only valid if not on floppy)*/
- long giDocsDirID; /* directory id of user's documents folder (only valid if not on floppy)*/
- short giForceSaves; /* true if user is forced to save to their documents folder*/
- short giForceOpens; /* true if user is forced to open from their documents folder*/
- Str31 giSetupName; /* name of current setup*/
- Str31 giUserName; /* name of current user*/
- Str31 giFrontAppName; /* name of the frontmost application*/
- short giReserved5; /* [OBSOLETE with v6] true if user has Go To Finder menu item*/
- short giIsOn; /* true if Multiple Users/Macintosh Manager is on right now*/
-
- /* Version 3 fields.*/
- /* There were no additional fields for version 3.x*/
-
- /* Version 4 fields.*/
- short giUserLoggedInType; /* 0 = normal user, 1 = workgroup admin, 2 = global admin*/
- char giUserEncryptPwd[16]; /* encrypted user password (our digest form)*/
- short giUserEnvironment; /* 0 = panels, 1 = normal Finder, 2 = limited/restricted Finder*/
- long giReserved6; /* [OBSOLETE]*/
- long giReserved7; /* [OBSOLETE]*/
- Boolean giDisableScrnShots; /* true if screen shots are not allowed*/
-
- /* Version 5 fields.*/
- Boolean giSupportsAsyncFSCalls; /* Finder uses this to tell if our patches support async trap patches*/
- short giPrefsVRefNum; /* vrefnum of preferences*/
- long giPrefsDirID; /* dirID of the At Ease Items folder on preferences volume*/
- unsigned long giUserLogInTime; /* time in seconds we've been logged in (0 or 1 mean not logged in)*/
- Boolean giUsingPrintQuotas; /* true if logged in user is using printer quotas*/
- Boolean giUsingDiskQuotas; /* true if logged in user has disk quotas active*/
-
- /* Version 6 fields - As of Mac OS 9's "Multiple Users 1.0"*/
- Boolean giInSystemAccess; /* true if system is in System Access (i.e., owner logged in)*/
- Boolean giUserFolderEnabled; /* true if FindFolder is redirecting folders (uses giUserName for user)*/
- short giReserved8;
- long giReserved9;
- Boolean giInLoginScreen; /* true if no user has logged in (including owner)*/
-
-
- /* May have more fields added in future, so never check for sizeof(GestaltRec)*/
-
- };
- typedef struct MultiUserGestalt MultiUserGestalt;
- typedef MultiUserGestalt * MultiUserGestaltPtr;
- typedef MultiUserGestaltPtr * MultiUserGestaltHandle;
+enum {
+ kFolderManagerNotificationMessageUserLogIn = FOUR_CHAR_CODE('log+'), /* Sent by system & third party software after a user logs in. arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner*/
+ kFolderManagerNotificationMessagePreUserLogIn = FOUR_CHAR_CODE('logj'), /* Sent by system & third party software before a user logs in. arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner*/
+ kFolderManagerNotificationMessageUserLogOut = FOUR_CHAR_CODE('log-'), /* Sent by system & third party software before a user logs out. arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner*/
+ kFolderManagerNotificationMessagePostUserLogOut = FOUR_CHAR_CODE('logp'), /* Sent by system & third party software after a user logs out. arg should point to a valid FindFolderUserRedirectionGlobals structure or nil for the owner*/
+ kFolderManagerNotificationDiscardCachedData = FOUR_CHAR_CODE('dche'), /* Sent by system & third party software when the entire Folder Manager cache should be flushed*/
+ kFolderManagerNotificationMessageLoginStartup = FOUR_CHAR_CODE('stup') /* Sent by 'Login' application the first time it starts up after each boot*/
+};
+
+
+/* These get used in the options parameter of FolderManagerRegisterNotificationProc()*/
+enum {
+ kDoNotRemoveWhenCurrentApplicationQuitsBit = 0,
+ kDoNotRemoveWheCurrentApplicationQuitsBit = kDoNotRemoveWhenCurrentApplicationQuitsBit /* Going away soon, use kDoNotRemoveWheCurrentApplicationQuitsBit*/
+};
+
+/* These get used in the options parameter of FolderManagerCallNotificationProcs()*/
+enum {
+ kStopIfAnyNotificationProcReturnsErrorBit = 31
+};
+
+/***************************/
+/* Folder Manager routines */
+/***************************/
+/* Folder Manager administration routines */
+/*
+ * AddFolderDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AddFolderDescriptor(
+ FolderType foldType,
+ FolderDescFlags flags,
+ FolderClass foldClass,
+ FolderLocation foldLocation,
+ OSType badgeSignature,
+ OSType badgeType,
+ ConstStrFileNameParam name,
+ Boolean replaceFlag) TWOWORDINLINE(0x7020, 0xA823);
+
+
+/*
+ * GetFolderDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFolderDescriptor(
+ FolderType foldType,
+ Size descSize,
+ FolderDesc * foldDesc) TWOWORDINLINE(0x7023, 0xA823);
+
+
+/*
+ * GetFolderTypes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFolderTypes(
+ UInt32 requestedTypeCount,
+ UInt32 * totalTypeCount,
+ FolderType * theTypes) TWOWORDINLINE(0x7024, 0xA823);
+
+
+/*
+ * RemoveFolderDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveFolderDescriptor(FolderType foldType) TWOWORDINLINE(0x7021, 0xA823);
+
+
+/* legacy routines */
+/*
+ * GetFolderName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFolderName(
+ short vRefNum,
+ OSType foldType,
+ short * foundVRefNum,
+ StrFileName name) TWOWORDINLINE(0x700E, 0xA823);
+
+
+/* routing routines */
+/*
+ * AddFolderRouting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AddFolderRouting(
+ OSType fileType,
+ FolderType routeFromFolder,
+ FolderType routeToFolder,
+ RoutingFlags flags,
+ Boolean replaceFlag) THREEWORDINLINE(0x303C, 0x0926, 0xA823);
+
+
+/*
+ * RemoveFolderRouting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveFolderRouting(
+ OSType fileType,
+ FolderType routeFromFolder) THREEWORDINLINE(0x303C, 0x0427, 0xA823);
+
+
+/*
+ * FindFolderRouting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FindFolderRouting(
+ OSType fileType,
+ FolderType routeFromFolder,
+ FolderType * routeToFolder,
+ RoutingFlags * flags) THREEWORDINLINE(0x303C, 0x0822, 0xA823);
+
+
+/*
+ * GetFolderRoutings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFolderRoutings(
+ UInt32 requestedRoutingCount,
+ UInt32 * totalRoutingCount,
+ Size routingSize,
+ FolderRouting * theRoutings) THREEWORDINLINE(0x303C, 0x081E, 0xA823);
+
+
+/*
+ * InvalidateFolderDescriptorCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+InvalidateFolderDescriptorCache(
+ short vRefNum,
+ long dirID) THREEWORDINLINE(0x303C, 0x0325, 0xA823);
+
+
+/*
+ * IdentifyFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FoldersLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IdentifyFolder(
+ short vRefNum,
+ long dirID,
+ FolderType * foldType) THREEWORDINLINE(0x303C, 0x051F, 0xA823);
+
+
+
+/*
+ * FolderManagerRegisterNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FolderManagerRegisterNotificationProc(
+ FolderManagerNotificationUPP notificationProc,
+ void * refCon,
+ UInt32 options) THREEWORDINLINE(0x303C, 0x062F, 0xA823);
+
+
+/*
+ * FolderManagerUnregisterNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FolderManagerUnregisterNotificationProc(
+ FolderManagerNotificationUPP notificationProc,
+ void * refCon) THREEWORDINLINE(0x303C, 0x0430, 0xA823);
+
+
+/*
+ * FolderManagerRegisterCallNotificationProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+FolderManagerRegisterCallNotificationProcs(
+ OSType message,
+ void * arg,
+ UInt32 options) THREEWORDINLINE(0x303C, 0x0631, 0xA823);
+
+
+/*******************************/
+/* MultiUser (At Ease) globals */
+/*******************************/
+/*
+ This structure has been through some evolution since the early days of At Ease 1.0. The structure
+ has been expanded (and developers should assume that it will continue this way into the future). Older
+ fields have been obsoleted as the features have changed in newer versions of the code.
+*/
+
+/* Some fields in here are really only valid for the network version of Macintosh Manager*/
+
+struct MultiUserGestalt {
+ /* Version 1 fields.*/
+ short giVersion; /* structure version: 0 = invalid, 6 = OS 9*/
+ short giReserved0; /* [OBSOLETE with v3] giIsActive: if true then At Ease is currently running*/
+ short giReserved1; /* [OBSOLETE] if true then auto create alias*/
+ short giReserved2; /* [OBSOLETE with v6] if true then request floppy on new saves*/
+ short giReserved3; /* [OBSOLETE] if true then hypercard stacks are shown on Applications panel*/
+ FSSpec giReserved4; /* [OBSOLETE with v6] location of At Ease Items folder*/
+
+ /* Version 2 fields.*/
+ short giDocsVRefNum; /* vrefnum of user's documents location (only valid if not on floppy)*/
+ long giDocsDirID; /* directory id of user's documents folder (only valid if not on floppy)*/
+ short giForceSaves; /* true if user is forced to save to their documents folder*/
+ short giForceOpens; /* true if user is forced to open from their documents folder*/
+ Str31 giSetupName; /* name of current setup*/
+ Str31 giUserName; /* name of current user*/
+ Str31 giFrontAppName; /* name of the frontmost application*/
+ short giReserved5; /* [OBSOLETE with v6] true if user has Go To Finder menu item*/
+ short giIsOn; /* true if Multiple Users/Macintosh Manager is on right now*/
+
+ /* Version 3 fields.*/
+ /* There were no additional fields for version 3.x*/
+
+ /* Version 4 fields.*/
+ short giUserLoggedInType; /* 0 = normal user, 1 = workgroup admin, 2 = global admin*/
+ char giUserEncryptPwd[16]; /* encrypted user password (our digest form)*/
+ short giUserEnvironment; /* 0 = panels, 1 = normal Finder, 2 = limited/restricted Finder*/
+ long giReserved6; /* [OBSOLETE]*/
+ long giReserved7; /* [OBSOLETE]*/
+ Boolean giDisableScrnShots; /* true if screen shots are not allowed*/
+
+ /* Version 5 fields.*/
+ Boolean giSupportsAsyncFSCalls; /* Finder uses this to tell if our patches support async trap patches*/
+ short giPrefsVRefNum; /* vrefnum of preferences*/
+ long giPrefsDirID; /* dirID of the At Ease Items folder on preferences volume*/
+ unsigned long giUserLogInTime; /* time in seconds we've been logged in (0 or 1 mean not logged in)*/
+ Boolean giUsingPrintQuotas; /* true if logged in user is using printer quotas*/
+ Boolean giUsingDiskQuotas; /* true if logged in user has disk quotas active*/
+
+ /* Version 6 fields - As of Mac OS 9's "Multiple Users 1.0"*/
+ Boolean giInSystemAccess; /* true if system is in System Access (i.e., owner logged in)*/
+ Boolean giUserFolderEnabled; /* true if FindFolder is redirecting folders (uses giUserName for user)*/
+ short giReserved8;
+ long giReserved9;
+ Boolean giInLoginScreen; /* true if no user has logged in (including owner)*/
+
+
+ /* May have more fields added in future, so never check for sizeof(GestaltRec)*/
+
+};
+typedef struct MultiUserGestalt MultiUserGestalt;
+typedef MultiUserGestalt * MultiUserGestaltPtr;
+typedef MultiUserGestaltPtr * MultiUserGestaltHandle;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/FontPanel.h b/include/qt/FontPanel.h
index a4736b67a..dc331e192 100644
--- a/include/qt/FontPanel.h
+++ b/include/qt/FontPanel.h
@@ -1,17 +1,17 @@
/*
File: FontPanel.h
-
+
Contains: Carbon Font Panel package Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (C) 2002 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 __FONTPANEL__
#define __FONTPANEL__
@@ -51,220 +51,213 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Font Panel-Related Events
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
- /*
- * Discussion:
- * Event classes
- */
- enum {
-
- /*
- * Events related to font selection or handling.
- */
- kEventClassFont = FOUR_CHAR_CODE('font')
- };
-
-
- /*
- * Summary:
- * Common command IDs
- */
- enum
- {
-
- /*
- * The state of the Font Panel should be toggled, displaying it or
- * hiding it as necessary. If the user closes the Font Panel directly
- * from the window, the application will receive a
- * kEventFontPanelClosed event.
- */
- kHICommandShowHideFontPanel = FOUR_CHAR_CODE('shfp')
- };
-
- /* Font Events */
-
- /*
- * Summary:
- * Font events (kEventClassFont)
- *
- * Discussion:
- * When the user closes the Font Panel, a kEventWindowClosed event
- * will be detected by the Carbon event handler installed by the
- * system. The system then notifies the application that the Font
- * Panel has closed by posting a Carbon Event Manager event. This
- * allows the application to update any menu items or other controls
- * whose state may have to change because the Font Panel has closed.
- * kEventWindowClosed has no parameters. When the user selects an
- * item in the Font Panel, the system will send a
- * kEventFontSelection event to the event target specified when the
- * application called SetFontPanelInfo(). kEventFontSelection will
- * contain parameters reflecting the current Font Panel selection in
- * all supported formats. Font events are available after Mac OS X
- * 10.2 in the Carbon framework.
- */
- enum
- {
-
- /*
- * The Font Panel has been closed. The application should update its
- * corresponding UI element (e.g., a menu item) accordingly.
- */
- kEventFontPanelClosed = 1,
-
- /*
- * The user has specified font settings in the Font Panel. The
- * application can obtain these settings from the event, in which
- * they are stored as parameters. Not all parameters are guaranteed
- * to be present; the application should check for all those which it
- * recognizes and apply the ones found as appropriate to the target
- * text.
- */
- kEventFontSelection = 2
- };
-
- /*
- Parameters for font events:
-
- kEventFontPanelClosed
- None.
-
- kEventFontSelection
- --> kEventParamATSUFontID typeATSUFontID
- --> kEventParamATSUFontSize typeATSUSize
- --> kEventParamFMFontFamily typeFMFontFamily
- --> kEventParamFMFontSize typeFMFontSize
- --> kEventParamFontColor typeFontColor
- */
- enum
- {
- typeATSUFontID = typeUInt32, /* ATSUI font ID.*/
- typeATSUSize = typeFixed, /* ATSUI font size.*/
- typeFMFontFamily = typeSInt16, /* Font family reference.*/
- typeFMFontStyle = typeSInt16, /* Quickdraw font style*/
- typeFMFontSize = typeSInt16, /* Integer font size.*/
- typeFontColor = typeRGBColor, /* Font color spec (optional).*/
- kEventParamATSUFontID = FOUR_CHAR_CODE('auid'), /* typeATSUFontID*/
- kEventParamATSUFontSize = FOUR_CHAR_CODE('ausz'), /* typeATSUSize*/
- kEventParamFMFontFamily = FOUR_CHAR_CODE('fmfm'), /* typeFMFontFamily*/
- kEventParamFMFontStyle = FOUR_CHAR_CODE('fmst'), /* typeFMFontStyle*/
- kEventParamFMFontSize = FOUR_CHAR_CODE('fmsz'), /* typeFMFontSize*/
- kEventParamFontColor = FOUR_CHAR_CODE('fclr') /* typeFontColor*/
- };
-
-
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Other Font Panel Constants
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- /*
- Error codes (Font Panel codes in range [-8880,-8899]).
- */
- enum
- {
- fontPanelShowErr = -8880, /* Can't display the Font Panel.*/
- fontPanelSelectionStyleErr = -8881, /* Bad font selection style info.*/
- fontPanelFontSelectionQDStyleVersionErr = -8882 /* Unsupported record version.*/
- };
-
- /*
- Type of font information passed in SetFontPanelInfo(). If the client is
- sending ATSUI style data, it specifies kFontSelectionATSUIType; if it is
- sending Quickdraw style data, it specifies kFontSelectionQDType.
- */
- enum
- {
- kFontSelectionATSUIType = FOUR_CHAR_CODE('astl'), /* Use ATSUIStyle collection.*/
- kFontSelectionQDType = FOUR_CHAR_CODE('qstl') /* Use FontSelectionQDStyle record.*/
- };
-
- /*
- Supported versions of the FontSelectionQDStyle record. Clients should always set
- the <version> field to one of these values.
- */
- enum
- {
- kFontSelectionQDStyleVersionZero = 0
- };
-
-
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Font Panel Types
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- /*
- Record specifying the font information to be specified in the Font
- Panel. This record is used if the client is sending Quickdraw style data
- (i.e., it specified kFontSelectionQDType in SetFontPanelInfo()).
- */
- struct FontSelectionQDStyle
- {
- UInt32 version; /* Version number of struct.*/
- FMFontFamilyInstance instance; /* Font instance data.*/
- FMFontSize size; /* Size of font in points.*/
- Boolean hasColor; /* true if color info supplied.*/
- UInt8 reserved; /* Filler byte.*/
- RGBColor color; /* Color specification for font.*/
- };
- typedef struct FontSelectionQDStyle FontSelectionQDStyle;
- typedef FontSelectionQDStyle * FontSelectionQDStylePtr;
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Font Panel Functions
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- /*
- * FPIsFontPanelVisible()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- FPIsFontPanelVisible(void);
-
-
- /*
- * FPShowHideFontPanel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- FPShowHideFontPanel(void);
-
-
- /*
- * SetFontInfoForSelection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetFontInfoForSelection(
- OSType iStyleType,
- UInt32 iNumStyles,
- void * iStyles,
- HIObjectRef iFPEventTarget);
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Font Panel-Related Events
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/*
+ * Discussion:
+ * Event classes
+ */
+enum {
+
+ /*
+ * Events related to font selection or handling.
+ */
+ kEventClassFont = FOUR_CHAR_CODE('font')
+};
+
+
+/*
+ * Summary:
+ * Common command IDs
+ */
+enum {
+
+ /*
+ * The state of the Font Panel should be toggled, displaying it or
+ * hiding it as necessary. If the user closes the Font Panel directly
+ * from the window, the application will receive a
+ * kEventFontPanelClosed event.
+ */
+ kHICommandShowHideFontPanel = FOUR_CHAR_CODE('shfp')
+};
+
+/* Font Events */
+
+/*
+ * Summary:
+ * Font events (kEventClassFont)
+ *
+ * Discussion:
+ * When the user closes the Font Panel, a kEventWindowClosed event
+ * will be detected by the Carbon event handler installed by the
+ * system. The system then notifies the application that the Font
+ * Panel has closed by posting a Carbon Event Manager event. This
+ * allows the application to update any menu items or other controls
+ * whose state may have to change because the Font Panel has closed.
+ * kEventWindowClosed has no parameters. When the user selects an
+ * item in the Font Panel, the system will send a
+ * kEventFontSelection event to the event target specified when the
+ * application called SetFontPanelInfo(). kEventFontSelection will
+ * contain parameters reflecting the current Font Panel selection in
+ * all supported formats. Font events are available after Mac OS X
+ * 10.2 in the Carbon framework.
+ */
+enum {
+
+ /*
+ * The Font Panel has been closed. The application should update its
+ * corresponding UI element (e.g., a menu item) accordingly.
+ */
+ kEventFontPanelClosed = 1,
+
+ /*
+ * The user has specified font settings in the Font Panel. The
+ * application can obtain these settings from the event, in which
+ * they are stored as parameters. Not all parameters are guaranteed
+ * to be present; the application should check for all those which it
+ * recognizes and apply the ones found as appropriate to the target
+ * text.
+ */
+ kEventFontSelection = 2
+};
+
+/*
+ Parameters for font events:
+
+ kEventFontPanelClosed
+ None.
+
+ kEventFontSelection
+ --> kEventParamATSUFontID typeATSUFontID
+ --> kEventParamATSUFontSize typeATSUSize
+ --> kEventParamFMFontFamily typeFMFontFamily
+ --> kEventParamFMFontSize typeFMFontSize
+ --> kEventParamFontColor typeFontColor
+*/
+enum {
+ typeATSUFontID = typeUInt32, /* ATSUI font ID.*/
+ typeATSUSize = typeFixed, /* ATSUI font size.*/
+ typeFMFontFamily = typeSInt16, /* Font family reference.*/
+ typeFMFontStyle = typeSInt16, /* Quickdraw font style*/
+ typeFMFontSize = typeSInt16, /* Integer font size.*/
+ typeFontColor = typeRGBColor, /* Font color spec (optional).*/
+ kEventParamATSUFontID = FOUR_CHAR_CODE('auid'), /* typeATSUFontID*/
+ kEventParamATSUFontSize = FOUR_CHAR_CODE('ausz'), /* typeATSUSize*/
+ kEventParamFMFontFamily = FOUR_CHAR_CODE('fmfm'), /* typeFMFontFamily*/
+ kEventParamFMFontStyle = FOUR_CHAR_CODE('fmst'), /* typeFMFontStyle*/
+ kEventParamFMFontSize = FOUR_CHAR_CODE('fmsz'), /* typeFMFontSize*/
+ kEventParamFontColor = FOUR_CHAR_CODE('fclr') /* typeFontColor*/
+};
+
+
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Other Font Panel Constants
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/*
+Error codes (Font Panel codes in range [-8880,-8899]).
+*/
+enum {
+ fontPanelShowErr = -8880, /* Can't display the Font Panel.*/
+ fontPanelSelectionStyleErr = -8881, /* Bad font selection style info.*/
+ fontPanelFontSelectionQDStyleVersionErr = -8882 /* Unsupported record version.*/
+};
+
+/*
+Type of font information passed in SetFontPanelInfo(). If the client is
+sending ATSUI style data, it specifies kFontSelectionATSUIType; if it is
+sending Quickdraw style data, it specifies kFontSelectionQDType.
+*/
+enum {
+ kFontSelectionATSUIType = FOUR_CHAR_CODE('astl'), /* Use ATSUIStyle collection.*/
+ kFontSelectionQDType = FOUR_CHAR_CODE('qstl') /* Use FontSelectionQDStyle record.*/
+};
+
+/*
+Supported versions of the FontSelectionQDStyle record. Clients should always set
+the <version> field to one of these values.
+*/
+enum {
+ kFontSelectionQDStyleVersionZero = 0
+};
+
+
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Font Panel Types
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/*
+Record specifying the font information to be specified in the Font
+Panel. This record is used if the client is sending Quickdraw style data
+(i.e., it specified kFontSelectionQDType in SetFontPanelInfo()).
+*/
+struct FontSelectionQDStyle {
+ UInt32 version; /* Version number of struct.*/
+ FMFontFamilyInstance instance; /* Font instance data.*/
+ FMFontSize size; /* Size of font in points.*/
+ Boolean hasColor; /* true if color info supplied.*/
+ UInt8 reserved; /* Filler byte.*/
+ RGBColor color; /* Color specification for font.*/
+};
+typedef struct FontSelectionQDStyle FontSelectionQDStyle;
+typedef FontSelectionQDStyle * FontSelectionQDStylePtr;
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Font Panel Functions
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/*
+ * FPIsFontPanelVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+FPIsFontPanelVisible(void);
+
+
+/*
+ * FPShowHideFontPanel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+FPShowHideFontPanel(void);
+
+
+/*
+ * SetFontInfoForSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetFontInfoForSelection(
+ OSType iStyleType,
+ UInt32 iNumStyles,
+ void * iStyles,
+ HIObjectRef iFPEventTarget);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/FontSync.h b/include/qt/FontSync.h
index 96ec8284f..f09fc8563 100644
--- a/include/qt/FontSync.h
+++ b/include/qt/FontSync.h
@@ -1,17 +1,17 @@
/*
File: FontSync.h
-
+
Contains: Public interface for FontSync
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#include "MacTypes.h"
@@ -49,551 +49,547 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Matching Options */
- typedef UInt32 FNSMatchOptions;
- enum
- {
- kFNSMatchNames = 0x00000001, /* font names must match */
- kFNSMatchTechnology = 0x00000002, /* scaler technology must match */
- kFNSMatchGlyphs = 0x00000004, /* glyph data must match */
- kFNSMatchEncodings = 0x00000008, /* cmaps must match */
- kFNSMatchQDMetrics = 0x00000010, /* QuickDraw Text metrics must match */
- kFNSMatchATSUMetrics = 0x00000020, /* ATSUI metrics (incl. vertical) must match */
- kFNSMatchKerning = 0x00000040, /* kerning data must match */
- kFNSMatchWSLayout = 0x00000080, /* WorldScript layout tables must match */
- kFNSMatchAATLayout = 0x00000100, /* AAT (incl. OpenType) layout tables must match */
- kFNSMatchPrintEncoding = 0x00000200, /* PostScript font and glyph names and re-encoding vector must match */
- kFNSMissingDataNoMatch = (unsigned long)0x80000000, /* treat missing data as mismatch */
- kFNSMatchAll = (unsigned long)0xFFFFFFFF, /* everything must match */
- kFNSMatchDefaults = 0 /* use global default match options */
- };
-
- /*
- * FNSMatchDefaultsGet()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FNSMatchOptions)
- FNSMatchDefaultsGet(void);
-
-
-
- /* Version control */
- typedef UInt32 FNSObjectVersion;
- enum
- {
- kFNSVersionDontCare = 0,
- kFNSCurSysInfoVersion = 1
- };
-
- /* No features defined yet.*/
- typedef UInt32 FNSFeatureFlags;
- /*
- The FontSync library version number is binary-coded decimal:
- 8 bits of major version, 4 minor version and 4 bits revision.
- */
- struct FNSSysInfo
- {
- FNSObjectVersion iSysInfoVersion; /* fill this in before calling FNSSysInfoGet*/
- FNSFeatureFlags oFeatures;
- FNSObjectVersion oCurRefVersion;
- FNSObjectVersion oMinRefVersion;
- FNSObjectVersion oCurProfileVersion;
- FNSObjectVersion oMinProfileVersion;
- UInt16 oFontSyncVersion;
- };
- typedef struct FNSSysInfo FNSSysInfo;
- /*
- * FNSSysInfoGet()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- FNSSysInfoGet(FNSSysInfo * ioInfo);
-
-
-
- /* FontSync References */
- typedef struct OpaqueFNSFontReference* FNSFontReference;
- /*
- * FNSReferenceGetVersion()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceGetVersion(
- FNSFontReference iReference,
- FNSObjectVersion * oVersion);
-
-
- /*
- * FNSReferenceDispose()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceDispose(FNSFontReference iReference);
-
-
- /*
- * FNSReferenceMatch()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceMatch(
- FNSFontReference iReference1,
- FNSFontReference iReference2,
- FNSMatchOptions iOptions,
- FNSMatchOptions * oFailedMatchOptions); /* can be NULL */
-
-
- /*
- * FNSReferenceFlattenedSize()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceFlattenedSize(
- FNSFontReference iReference,
- ByteCount * oFlattenedSize);
-
-
- /*
- * FNSReferenceFlatten()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceFlatten(
- FNSFontReference iReference,
- void * oFlatReference, /* can be NULL */
- ByteCount * oFlattenedSize); /* can be NULL */
-
-
- /*
- * FNSReferenceUnflatten()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceUnflatten(
- const void * iFlatReference,
- ByteCount iFlattenedSize,
- FNSFontReference * oReference);
-
-
-
- /* FontSync Profiles */
- enum
- {
- kFNSCreatorDefault = 0,
- kFNSProfileFileType = FOUR_CHAR_CODE('fnsp')
- };
-
- typedef struct OpaqueFNSFontProfile* FNSFontProfile;
- /*
- * FNSProfileCreate()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileCreate(
- const FSSpec * iFile,
- FourCharCode iCreator,
- ItemCount iEstNumRefs,
- FNSObjectVersion iDesiredVersion,
- FNSFontProfile * oProfile);
-
-
- /*
- * FNSProfileOpen()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileOpen(
- const FSSpec * iFile,
- Boolean iOpenForWrite,
- FNSFontProfile * oProfile);
-
-
-
- /*
- * FNSProfileCreateWithFSRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileCreateWithFSRef(
- const FSRef * iParentDirectory,
- UniCharCount iNameLength,
- const UniChar * iName,
- FourCharCode iCreator,
- ItemCount iEstNumRefs,
- FNSObjectVersion iDesiredVersion,
- FNSFontProfile * oProfile);
-
-
- /*
- * FNSProfileOpenWithFSRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileOpenWithFSRef(
- const FSRef * iFile,
- Boolean iOpenForWrite,
- FNSFontProfile * oProfile);
-
-
- /*
- * FNSProfileGetVersion()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileGetVersion(
- FNSFontProfile iProfile,
- FNSObjectVersion * oVersion);
-
-
- /*
- * FNSProfileCompact()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileCompact(FNSFontProfile iProfile);
-
-
- /*
- * FNSProfileClose()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileClose(FNSFontProfile iProfile);
-
-
- /*
- * FNSProfileAddReference()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileAddReference(
- FNSFontProfile iProfile,
- FNSFontReference iReference);
-
-
- /*
- * FNSProfileRemoveReference()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileRemoveReference(
- FNSFontProfile iProfile,
- FNSFontReference iReference);
-
-
- /*
- * FNSProfileRemoveIndReference()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileRemoveIndReference(
- FNSFontProfile iProfile,
- UInt32 iIndex);
-
-
- /*
- * FNSProfileClear()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileClear(FNSFontProfile iProfile);
-
-
- /*
- * FNSProfileCountReferences()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileCountReferences(
- FNSFontProfile iProfile,
- ItemCount * oCount);
-
-
- /*
- * FNSProfileGetIndReference()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileGetIndReference(
- FNSFontProfile iProfile,
- UInt32 iWhichReference,
- FNSFontReference * oReference);
-
-
- /*
- * FNSProfileMatchReference()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSProfileMatchReference(
- FNSFontProfile iProfile,
- FNSFontReference iReference,
- FNSMatchOptions iMatchOptions,
- ItemCount iOutputSize,
- UInt32 oIndices[], /* can be NULL */
- ItemCount * oNumMatches); /* can be NULL */
-
-
-
- /* Mapping to and from Font Objects */
- /*
- * FNSReferenceCreate()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceCreate(
- FMFont iFont,
- FNSObjectVersion iDesiredVersion,
- FNSFontReference * oReference);
-
-
- /*
- * FNSReferenceMatchFonts()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceMatchFonts(
- FNSFontReference iReference,
- FNSMatchOptions iMatchOptions,
- ItemCount iOutputSize,
- FMFont oFonts[], /* can be NULL */
- ItemCount * oNumMatches); /* can be NULL */
-
-
-
- /* Mapping to and from Font Families */
- /*
- * FNSReferenceCreateFromFamily()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceCreateFromFamily(
- FMFontFamily iFamily,
- FMFontStyle iStyle,
- FNSObjectVersion iDesiredVersion,
- FNSFontReference * oReference, /* can be NULL */
- FMFontStyle * oActualStyle); /* can be NULL */
-
-
- /*
- * FNSReferenceMatchFamilies()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceMatchFamilies(
- FNSFontReference iReference,
- FNSMatchOptions iMatchOptions,
- ItemCount iOutputSize,
- FMFontFamilyInstance oFonts[], /* can be NULL */
- ItemCount * oNumMatches); /* can be NULL */
-
-
-
- /* UI Support */
- /*
- * FNSReferenceGetFamilyInfo()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceGetFamilyInfo(
- FNSFontReference iReference,
- Str255 oFamilyName, /* can be NULL */
- ScriptCode * oFamilyNameScript, /* can be NULL */
- FMFontStyle * oActualStyle); /* can be NULL */
-
-
- /*
- * FNSReferenceCountNames()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceCountNames(
- FNSFontReference iReference,
- ItemCount * oNameCount);
-
-
- /*
- * FNSReferenceGetIndName()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceGetIndName(
- FNSFontReference iReference,
- ItemCount iFontNameIndex,
- ByteCount iMaximumNameLength,
- Ptr oName, /* can be NULL */
- ByteCount * oActualNameLength, /* can be NULL */
- FontNameCode * oFontNameCode, /* can be NULL */
- FontPlatformCode * oFontNamePlatform, /* can be NULL */
- FontScriptCode * oFontNameScript, /* can be NULL */
- FontLanguageCode * oFontNameLanguage); /* can be NULL */
-
-
- /*
- * FNSReferenceFindName()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FNSReferenceFindName(
- FNSFontReference iReference,
- FontNameCode iFontNameCode,
- FontPlatformCode iFontNamePlatform,
- FontScriptCode iFontNameScript,
- FontLanguageCode iFontNameLanguage,
- ByteCount iMaximumNameLength,
- Ptr oName, /* can be NULL */
- ByteCount * oActualNameLength, /* can be NULL */
- ItemCount * oFontNameIndex); /* can be NULL */
-
-
- /* Miscellany */
- /*
- * FNSEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in FontSyncLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- FNSEnabled(void);
+/* Matching Options */
+typedef UInt32 FNSMatchOptions;
+enum {
+ kFNSMatchNames = 0x00000001, /* font names must match */
+ kFNSMatchTechnology = 0x00000002, /* scaler technology must match */
+ kFNSMatchGlyphs = 0x00000004, /* glyph data must match */
+ kFNSMatchEncodings = 0x00000008, /* cmaps must match */
+ kFNSMatchQDMetrics = 0x00000010, /* QuickDraw Text metrics must match */
+ kFNSMatchATSUMetrics = 0x00000020, /* ATSUI metrics (incl. vertical) must match */
+ kFNSMatchKerning = 0x00000040, /* kerning data must match */
+ kFNSMatchWSLayout = 0x00000080, /* WorldScript layout tables must match */
+ kFNSMatchAATLayout = 0x00000100, /* AAT (incl. OpenType) layout tables must match */
+ kFNSMatchPrintEncoding = 0x00000200, /* PostScript font and glyph names and re-encoding vector must match */
+ kFNSMissingDataNoMatch = (unsigned long)0x80000000, /* treat missing data as mismatch */
+ kFNSMatchAll = (unsigned long)0xFFFFFFFF, /* everything must match */
+ kFNSMatchDefaults = 0 /* use global default match options */
+};
+
+/*
+ * FNSMatchDefaultsGet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FNSMatchOptions )
+FNSMatchDefaultsGet(void);
+
+
+
+/* Version control */
+typedef UInt32 FNSObjectVersion;
+enum {
+ kFNSVersionDontCare = 0,
+ kFNSCurSysInfoVersion = 1
+};
+
+/* No features defined yet.*/
+typedef UInt32 FNSFeatureFlags;
+/*
+ The FontSync library version number is binary-coded decimal:
+ 8 bits of major version, 4 minor version and 4 bits revision.
+*/
+struct FNSSysInfo {
+ FNSObjectVersion iSysInfoVersion; /* fill this in before calling FNSSysInfoGet*/
+ FNSFeatureFlags oFeatures;
+ FNSObjectVersion oCurRefVersion;
+ FNSObjectVersion oMinRefVersion;
+ FNSObjectVersion oCurProfileVersion;
+ FNSObjectVersion oMinProfileVersion;
+ UInt16 oFontSyncVersion;
+};
+typedef struct FNSSysInfo FNSSysInfo;
+/*
+ * FNSSysInfoGet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+FNSSysInfoGet(FNSSysInfo * ioInfo);
+
+
+
+/* FontSync References */
+typedef struct OpaqueFNSFontReference* FNSFontReference;
+/*
+ * FNSReferenceGetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceGetVersion(
+ FNSFontReference iReference,
+ FNSObjectVersion * oVersion);
+
+
+/*
+ * FNSReferenceDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceDispose(FNSFontReference iReference);
+
+
+/*
+ * FNSReferenceMatch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceMatch(
+ FNSFontReference iReference1,
+ FNSFontReference iReference2,
+ FNSMatchOptions iOptions,
+ FNSMatchOptions * oFailedMatchOptions); /* can be NULL */
+
+
+/*
+ * FNSReferenceFlattenedSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceFlattenedSize(
+ FNSFontReference iReference,
+ ByteCount * oFlattenedSize);
+
+
+/*
+ * FNSReferenceFlatten()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceFlatten(
+ FNSFontReference iReference,
+ void * oFlatReference, /* can be NULL */
+ ByteCount * oFlattenedSize); /* can be NULL */
+
+
+/*
+ * FNSReferenceUnflatten()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceUnflatten(
+ const void * iFlatReference,
+ ByteCount iFlattenedSize,
+ FNSFontReference * oReference);
+
+
+
+/* FontSync Profiles */
+enum {
+ kFNSCreatorDefault = 0,
+ kFNSProfileFileType = FOUR_CHAR_CODE('fnsp')
+};
+
+typedef struct OpaqueFNSFontProfile* FNSFontProfile;
+/*
+ * FNSProfileCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileCreate(
+ const FSSpec * iFile,
+ FourCharCode iCreator,
+ ItemCount iEstNumRefs,
+ FNSObjectVersion iDesiredVersion,
+ FNSFontProfile * oProfile);
+
+
+/*
+ * FNSProfileOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileOpen(
+ const FSSpec * iFile,
+ Boolean iOpenForWrite,
+ FNSFontProfile * oProfile);
+
+
+
+/*
+ * FNSProfileCreateWithFSRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileCreateWithFSRef(
+ const FSRef * iParentDirectory,
+ UniCharCount iNameLength,
+ const UniChar * iName,
+ FourCharCode iCreator,
+ ItemCount iEstNumRefs,
+ FNSObjectVersion iDesiredVersion,
+ FNSFontProfile * oProfile);
+
+
+/*
+ * FNSProfileOpenWithFSRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileOpenWithFSRef(
+ const FSRef * iFile,
+ Boolean iOpenForWrite,
+ FNSFontProfile * oProfile);
+
+
+/*
+ * FNSProfileGetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileGetVersion(
+ FNSFontProfile iProfile,
+ FNSObjectVersion * oVersion);
+
+
+/*
+ * FNSProfileCompact()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileCompact(FNSFontProfile iProfile);
+
+
+/*
+ * FNSProfileClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileClose(FNSFontProfile iProfile);
+
+
+/*
+ * FNSProfileAddReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileAddReference(
+ FNSFontProfile iProfile,
+ FNSFontReference iReference);
+
+
+/*
+ * FNSProfileRemoveReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileRemoveReference(
+ FNSFontProfile iProfile,
+ FNSFontReference iReference);
+
+
+/*
+ * FNSProfileRemoveIndReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileRemoveIndReference(
+ FNSFontProfile iProfile,
+ UInt32 iIndex);
+
+
+/*
+ * FNSProfileClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileClear(FNSFontProfile iProfile);
+
+
+/*
+ * FNSProfileCountReferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileCountReferences(
+ FNSFontProfile iProfile,
+ ItemCount * oCount);
+
+
+/*
+ * FNSProfileGetIndReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileGetIndReference(
+ FNSFontProfile iProfile,
+ UInt32 iWhichReference,
+ FNSFontReference * oReference);
+
+
+/*
+ * FNSProfileMatchReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileMatchReference(
+ FNSFontProfile iProfile,
+ FNSFontReference iReference,
+ FNSMatchOptions iMatchOptions,
+ ItemCount iOutputSize,
+ UInt32 oIndices[], /* can be NULL */
+ ItemCount * oNumMatches); /* can be NULL */
+
+
+
+/* Mapping to and from Font Objects */
+/*
+ * FNSReferenceCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceCreate(
+ FMFont iFont,
+ FNSObjectVersion iDesiredVersion,
+ FNSFontReference * oReference);
+
+
+/*
+ * FNSReferenceMatchFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceMatchFonts(
+ FNSFontReference iReference,
+ FNSMatchOptions iMatchOptions,
+ ItemCount iOutputSize,
+ FMFont oFonts[], /* can be NULL */
+ ItemCount * oNumMatches); /* can be NULL */
+
+
+
+/* Mapping to and from Font Families */
+/*
+ * FNSReferenceCreateFromFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceCreateFromFamily(
+ FMFontFamily iFamily,
+ FMFontStyle iStyle,
+ FNSObjectVersion iDesiredVersion,
+ FNSFontReference * oReference, /* can be NULL */
+ FMFontStyle * oActualStyle); /* can be NULL */
+
+
+/*
+ * FNSReferenceMatchFamilies()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceMatchFamilies(
+ FNSFontReference iReference,
+ FNSMatchOptions iMatchOptions,
+ ItemCount iOutputSize,
+ FMFontFamilyInstance oFonts[], /* can be NULL */
+ ItemCount * oNumMatches); /* can be NULL */
+
+
+
+/* UI Support */
+/*
+ * FNSReferenceGetFamilyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceGetFamilyInfo(
+ FNSFontReference iReference,
+ Str255 oFamilyName, /* can be NULL */
+ ScriptCode * oFamilyNameScript, /* can be NULL */
+ FMFontStyle * oActualStyle); /* can be NULL */
+
+
+/*
+ * FNSReferenceCountNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceCountNames(
+ FNSFontReference iReference,
+ ItemCount * oNameCount);
+
+
+/*
+ * FNSReferenceGetIndName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceGetIndName(
+ FNSFontReference iReference,
+ ItemCount iFontNameIndex,
+ ByteCount iMaximumNameLength,
+ Ptr oName, /* can be NULL */
+ ByteCount * oActualNameLength, /* can be NULL */
+ FontNameCode * oFontNameCode, /* can be NULL */
+ FontPlatformCode * oFontNamePlatform, /* can be NULL */
+ FontScriptCode * oFontNameScript, /* can be NULL */
+ FontLanguageCode * oFontNameLanguage); /* can be NULL */
+
+
+/*
+ * FNSReferenceFindName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceFindName(
+ FNSFontReference iReference,
+ FontNameCode iFontNameCode,
+ FontPlatformCode iFontNamePlatform,
+ FontScriptCode iFontNameScript,
+ FontLanguageCode iFontNameLanguage,
+ ByteCount iMaximumNameLength,
+ Ptr oName, /* can be NULL */
+ ByteCount * oActualNameLength, /* can be NULL */
+ ItemCount * oFontNameIndex); /* can be NULL */
+
+
+/* Miscellany */
+/*
+ * FNSEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+FNSEnabled(void);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Fonts.h b/include/qt/Fonts.h
index aedbacc70..ab144f125 100644
--- a/include/qt/Fonts.h
+++ b/include/qt/Fonts.h
@@ -1,17 +1,17 @@
/*
File: Fonts.h
-
+
Contains: Public interface to the Font Manager.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FONTS__
#define __FONTS__
@@ -56,1123 +56,1098 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- systemFont = 0,
- applFont = 1
- };
-
- enum
- {
- kFMDefaultOptions = kNilOptions
- };
-
- /* Activation contexts */
- enum
- {
- kFMDefaultActivationContext = kFMDefaultOptions,
- kFMGlobalActivationContext = 0x00000001,
- kFMLocalActivationContext = kFMDefaultActivationContext
- };
-
- /* Iteration scopes */
- enum
- {
- kFMDefaultIterationScope = kFMDefaultOptions,
- kFMGlobalIterationScope = 0x00000001,
- kFMLocalIterationScope = kFMDefaultIterationScope
- };
-
-
- /* kPlatformDefaultGuiFontID is used in QuickTime 3.0. */
+enum {
+ systemFont = 0,
+ applFont = 1
+};
+
+enum {
+ kFMDefaultOptions = kNilOptions
+};
+
+/* Activation contexts */
+enum {
+ kFMDefaultActivationContext = kFMDefaultOptions,
+ kFMGlobalActivationContext = 0x00000001,
+ kFMLocalActivationContext = kFMDefaultActivationContext
+};
+
+/* Iteration scopes */
+enum {
+ kFMDefaultIterationScope = kFMDefaultOptions,
+ kFMGlobalIterationScope = 0x00000001,
+ kFMLocalIterationScope = kFMDefaultIterationScope
+};
+
+
+/* kPlatformDefaultGuiFontID is used in QuickTime 3.0. */
#if TARGET_OS_MAC
- enum
- {
- kPlatformDefaultGuiFontID = applFont
- };
+enum {
+ kPlatformDefaultGuiFontID = applFont
+};
#else
- enum
- {
- kPlatformDefaultGuiFontID = -1
- };
+enum {
+ kPlatformDefaultGuiFontID = -1
+};
#endif /* TARGET_OS_MAC */
- enum
- {
- commandMark = 17,
- checkMark = 18,
- diamondMark = 19,
- appleMark = 20
- };
-
- enum
- {
- propFont = 36864L,
- prpFntH = 36865L,
- prpFntW = 36866L,
- prpFntHW = 36867L,
- fixedFont = 45056L,
- fxdFntH = 45057L,
- fxdFntW = 45058L,
- fxdFntHW = 45059L,
- fontWid = 44208L
- };
-
- struct FMInput
- {
- short family;
- short size;
- Style face;
- Boolean needBits;
- short device;
- Point numer;
- Point denom;
- };
- typedef struct FMInput FMInput;
- struct FMOutput
- {
- short errNum;
- Handle fontHandle;
- UInt8 boldPixels;
- UInt8 italicPixels;
- UInt8 ulOffset;
- UInt8 ulShadow;
- UInt8 ulThick;
- UInt8 shadowPixels;
- SInt8 extra;
- UInt8 ascent;
- UInt8 descent;
- UInt8 widMax;
- SInt8 leading;
- SInt8 curStyle;
- Point numer;
- Point denom;
- };
- typedef struct FMOutput FMOutput;
- typedef FMOutput * FMOutputPtr;
- typedef FMOutputPtr FMOutPtr;
- struct FMetricRec
- {
- Fixed ascent; /*base line to top*/
- Fixed descent; /*base line to bottom*/
- Fixed leading; /*leading between lines*/
- Fixed widMax; /*maximum character width*/
- Handle wTabHandle; /*handle to font width table*/
- };
- typedef struct FMetricRec FMetricRec;
- typedef FMetricRec * FMetricRecPtr;
- typedef FMetricRecPtr * FMetricRecHandle;
+enum {
+ commandMark = 17,
+ checkMark = 18,
+ diamondMark = 19,
+ appleMark = 20
+};
+
+enum {
+ propFont = 36864L,
+ prpFntH = 36865L,
+ prpFntW = 36866L,
+ prpFntHW = 36867L,
+ fixedFont = 45056L,
+ fxdFntH = 45057L,
+ fxdFntW = 45058L,
+ fxdFntHW = 45059L,
+ fontWid = 44208L
+};
+
+struct FMInput {
+ short family;
+ short size;
+ Style face;
+ Boolean needBits;
+ short device;
+ Point numer;
+ Point denom;
+};
+typedef struct FMInput FMInput;
+struct FMOutput {
+ short errNum;
+ Handle fontHandle;
+ UInt8 boldPixels;
+ UInt8 italicPixels;
+ UInt8 ulOffset;
+ UInt8 ulShadow;
+ UInt8 ulThick;
+ UInt8 shadowPixels;
+ SInt8 extra;
+ UInt8 ascent;
+ UInt8 descent;
+ UInt8 widMax;
+ SInt8 leading;
+ SInt8 curStyle;
+ Point numer;
+ Point denom;
+};
+typedef struct FMOutput FMOutput;
+typedef FMOutput * FMOutputPtr;
+typedef FMOutputPtr FMOutPtr;
+struct FMetricRec {
+ Fixed ascent; /*base line to top*/
+ Fixed descent; /*base line to bottom*/
+ Fixed leading; /*leading between lines*/
+ Fixed widMax; /*maximum character width*/
+ Handle wTabHandle; /*handle to font width table*/
+};
+typedef struct FMetricRec FMetricRec;
+typedef FMetricRec * FMetricRecPtr;
+typedef FMetricRecPtr * FMetricRecHandle;
#if CALL_NOT_IN_CARBON
- /*
- * InitFonts()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitFonts(void) ONEWORDINLINE(0xA8FE);
+/*
+ * InitFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitFonts(void) ONEWORDINLINE(0xA8FE);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetFontName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetFontName(
- short familyID,
- Str255 name) ONEWORDINLINE(0xA8FF);
-
-
- /*
- * GetFNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetFNum(
- ConstStr255Param name,
- short * familyID) ONEWORDINLINE(0xA900);
-
-
- /*
- * RealFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- RealFont(
- short fontNum,
- short size) ONEWORDINLINE(0xA902);
+/*
+ * GetFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetFontName(
+ short familyID,
+ Str255 name) ONEWORDINLINE(0xA8FF);
+
+
+/*
+ * GetFNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetFNum(
+ ConstStr255Param name,
+ short * familyID) ONEWORDINLINE(0xA900);
+
+
+/*
+ * RealFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+RealFont(
+ short fontNum,
+ short size) ONEWORDINLINE(0xA902);
#if CALL_NOT_IN_CARBON
- /*
- * SetFontLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetFontLock(Boolean lockFlag) ONEWORDINLINE(0xA903);
+/*
+ * SetFontLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetFontLock(Boolean lockFlag) ONEWORDINLINE(0xA903);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * FMSwapFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(FMOutPtr)
- FMSwapFont(const FMInput * inRec) ONEWORDINLINE(0xA901);
-
-
- /*
- * SetFScaleDisable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetFScaleDisable(Boolean fscaleDisable) ONEWORDINLINE(0xA834);
-
-
- /*
- * FontMetrics()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FontMetrics(FMetricRecPtr theMetrics) ONEWORDINLINE(0xA835);
-
-
- /*
- * SetFractEnable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetFractEnable(Boolean fractEnable) ONEWORDINLINE(0xA814);
-
-
- /*
- * GetDefFontSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetDefFontSize(void) FIVEWORDINLINE(0x3EB8, 0x0BA8, 0x6604, 0x3EBC, 0x000C);
-
-
- /*
- * IsOutline()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsOutline(
- Point numer,
- Point denom) TWOWORDINLINE(0x7000, 0xA854);
-
-
- /*
- * SetOutlinePreferred()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetOutlinePreferred(Boolean outlinePreferred) TWOWORDINLINE(0x7001, 0xA854);
-
-
- /*
- * GetOutlinePreferred()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- GetOutlinePreferred(void) TWOWORDINLINE(0x7009, 0xA854);
-
-
- /*
- * OutlineMetrics()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OutlineMetrics(
- short byteCount,
- const void * textPtr,
- Point numer,
- Point denom,
- short * yMax,
- short * yMin,
- FixedPtr awArray,
- FixedPtr lsbArray,
- RectPtr boundsArray) TWOWORDINLINE(0x7008, 0xA854);
-
-
- /*
- * SetPreserveGlyph()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPreserveGlyph(Boolean preserveGlyph) TWOWORDINLINE(0x700A, 0xA854);
-
-
- /*
- * GetPreserveGlyph()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- GetPreserveGlyph(void) TWOWORDINLINE(0x700B, 0xA854);
+/*
+ * FMSwapFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( FMOutPtr )
+FMSwapFont(const FMInput * inRec) ONEWORDINLINE(0xA901);
+
+
+/*
+ * SetFScaleDisable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetFScaleDisable(Boolean fscaleDisable) ONEWORDINLINE(0xA834);
+
+
+/*
+ * FontMetrics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FontMetrics(FMetricRecPtr theMetrics) ONEWORDINLINE(0xA835);
+
+
+/*
+ * SetFractEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetFractEnable(Boolean fractEnable) ONEWORDINLINE(0xA814);
+
+
+/*
+ * GetDefFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetDefFontSize(void) FIVEWORDINLINE(0x3EB8, 0x0BA8, 0x6604, 0x3EBC, 0x000C);
+
+
+/*
+ * IsOutline()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsOutline(
+ Point numer,
+ Point denom) TWOWORDINLINE(0x7000, 0xA854);
+
+
+/*
+ * SetOutlinePreferred()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetOutlinePreferred(Boolean outlinePreferred) TWOWORDINLINE(0x7001, 0xA854);
+
+
+/*
+ * GetOutlinePreferred()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetOutlinePreferred(void) TWOWORDINLINE(0x7009, 0xA854);
+
+
+/*
+ * OutlineMetrics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OutlineMetrics(
+ short byteCount,
+ const void * textPtr,
+ Point numer,
+ Point denom,
+ short * yMax,
+ short * yMin,
+ FixedPtr awArray,
+ FixedPtr lsbArray,
+ RectPtr boundsArray) TWOWORDINLINE(0x7008, 0xA854);
+
+
+/*
+ * SetPreserveGlyph()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPreserveGlyph(Boolean preserveGlyph) TWOWORDINLINE(0x700A, 0xA854);
+
+
+/*
+ * GetPreserveGlyph()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetPreserveGlyph(void) TWOWORDINLINE(0x700B, 0xA854);
#if CALL_NOT_IN_CARBON
- /*
- * FlushFonts()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- FlushFonts(void) TWOWORDINLINE(0x700C, 0xA854);
+/*
+ * FlushFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+FlushFonts(void) TWOWORDINLINE(0x700C, 0xA854);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * getfnum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getfnum(
- const char * theName,
- short * familyID);
-
-
- /*
- * getfontname()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getfontname(
- short familyID,
- char * theName);
+/*
+ * getfnum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getfnum(
+ const char * theName,
+ short * familyID);
+
+
+/*
+ * getfontname()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getfontname(
+ short familyID,
+ char * theName);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetSysFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetSysFont(void) TWOWORDINLINE(0x3EB8, 0x0BA6);
-
-
- /*
- * GetAppFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetAppFont(void) TWOWORDINLINE(0x3EB8, 0x0984);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* Extended font data functions (available only with Mac OS 8.5 or later) */
- /*--------------------------------------------------------------------------------------*/
- /*
- * SetAntiAliasedTextEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetAntiAliasedTextEnabled(
- Boolean iEnable,
- SInt16 iMinFontSize) TWOWORDINLINE(0x7011, 0xA854);
-
-
- /*
- * IsAntiAliasedTextEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsAntiAliasedTextEnabled(SInt16 * oMinFontSize) TWOWORDINLINE(0x7012, 0xA854);
-
-
- /*
- * QDTextBounds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- QDTextBounds(
- short byteCount,
- const void * textAddr,
- Rect * bounds) TWOWORDINLINE(0x7013, 0xA854);
-
-
- /*
- * FetchFontInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FetchFontInfo(
- SInt16 fontID,
- SInt16 fontSize,
- SInt16 fontStyle,
- FontInfo * info) TWOWORDINLINE(0x7014, 0xA854);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* Font access and data management functions (available only with Mac OS 9.0 or later) */
- /*--------------------------------------------------------------------------------------*/
- /* Enumeration */
- /*
- * FMCreateFontFamilyIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMCreateFontFamilyIterator(
- const FMFilter * iFilter, /* can be NULL */
- void * iRefCon,
- OptionBits iOptions,
- FMFontFamilyIterator * ioIterator);
-
-
- /*
- * FMDisposeFontFamilyIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMDisposeFontFamilyIterator(FMFontFamilyIterator * ioIterator);
-
-
- /*
- * FMResetFontFamilyIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMResetFontFamilyIterator(
- const FMFilter * iFilter, /* can be NULL */
- void * iRefCon,
- OptionBits iOptions,
- FMFontFamilyIterator * ioIterator);
-
-
- /*
- * FMGetNextFontFamily()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetNextFontFamily(
- FMFontFamilyIterator * ioIterator,
- FMFontFamily * oFontFamily);
-
-
- /*
- * FMCreateFontIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMCreateFontIterator(
- const FMFilter * iFilter, /* can be NULL */
- void * iRefCon,
- OptionBits iOptions,
- FMFontIterator * ioIterator);
-
-
- /*
- * FMDisposeFontIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMDisposeFontIterator(FMFontIterator * ioIterator);
-
-
- /*
- * FMResetFontIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMResetFontIterator(
- const FMFilter * iFilter, /* can be NULL */
- void * iRefCon,
- OptionBits iOptions,
- FMFontIterator * ioIterator);
-
-
- /*
- * FMGetNextFont()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetNextFont(
- FMFontIterator * ioIterator,
- FMFont * oFont);
-
-
- /* Font families */
- /*
- * FMCreateFontFamilyInstanceIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMCreateFontFamilyInstanceIterator(
- FMFontFamily iFontFamily,
- FMFontFamilyInstanceIterator * ioIterator);
-
-
- /*
- * FMDisposeFontFamilyInstanceIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMDisposeFontFamilyInstanceIterator(FMFontFamilyInstanceIterator * ioIterator);
-
-
- /*
- * FMResetFontFamilyInstanceIterator()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMResetFontFamilyInstanceIterator(
- FMFontFamily iFontFamily,
- FMFontFamilyInstanceIterator * ioIterator);
-
-
- /*
- * FMGetNextFontFamilyInstance()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetNextFontFamilyInstance(
- FMFontFamilyInstanceIterator * ioIterator,
- FMFont * oFont,
- FMFontStyle * oStyle, /* can be NULL */
- FMFontSize * oSize); /* can be NULL */
-
-
- /*
- * FMGetFontFamilyFromName()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FMFontFamily)
- FMGetFontFamilyFromName(ConstStr255Param iName);
-
-
- /*
- * FMGetFontFamilyName()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontFamilyName(
- FMFontFamily iFontFamily,
- Str255 oName);
-
-
- /*
- * FMGetFontFamilyTextEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontFamilyTextEncoding(
- FMFontFamily iFontFamily,
- TextEncoding * oTextEncoding);
-
-
- /*
- * FMGetFontFamilyGeneration()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontFamilyGeneration(
- FMFontFamily iFontFamily,
- FMGeneration * oGeneration);
-
-
- /* Fonts */
- /*
- * FMGetFontFormat()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontFormat(
- FMFont iFont,
- FourCharCode * oFormat);
-
-
- /*
- * FMGetFontTableDirectory()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontTableDirectory(
- FMFont iFont,
- ByteCount iLength,
- void * iBuffer,
- ByteCount * oActualLength); /* can be NULL */
-
-
- /*
- * FMGetFontTable()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontTable(
- FMFont iFont,
- FourCharCode iTag,
- ByteOffset iOffset,
- ByteCount iLength,
- void * iBuffer,
- ByteCount * oActualLength); /* can be NULL */
-
-
- /*
- * FMGetFontGeneration()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontGeneration(
- FMFont iFont,
- FMGeneration * oGeneration);
-
-
- /*
- * FMGetFontContainer()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontContainer(
- FMFont iFont,
- FSSpec * oFontContainer);
-
-
- /* Conversion */
- /*
- * FMGetFontFromFontFamilyInstance()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontFromFontFamilyInstance(
- FMFontFamily iFontFamily,
- FMFontStyle iStyle,
- FMFont * oFont,
- FMFontStyle * oIntrinsicStyle); /* can be NULL */
-
-
- /*
- * FMGetFontFamilyInstanceFromFont()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontFamilyInstanceFromFont(
- FMFont iFont,
- FMFontFamily * oFontFamily,
- FMFontStyle * oStyle);
-
-
- /*
- * FMGetATSFontRefFromFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(ATSFontRef)
- FMGetATSFontRefFromFont(FMFont iFont);
-
-
- /*
- * FMGetATSFontFamilyRefFromFontFamily()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(ATSFontFamilyRef)
- FMGetATSFontFamilyRefFromFontFamily(FMFontFamily iFamily);
-
-
- /*
- * FMGetFontFromATSFontRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(FMFont)
- FMGetFontFromATSFontRef(ATSFontRef iFont);
-
-
- /*
- * FMGetFontFamilyFromATSFontFamilyRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(FMFontFamily)
- FMGetFontFamilyFromATSFontFamilyRef(ATSFontFamilyRef iFamily);
-
-
- /* Activation */
- /*
- * FMActivateFonts()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMActivateFonts(
- const FSSpec * iFontContainer,
- const FMFilter * iFilter, /* can be NULL */
- void * iRefCon,
- OptionBits iOptions);
-
-
- /*
- * FMDeactivateFonts()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- FMDeactivateFonts(
- const FSSpec * iFontContainer,
- const FMFilter * iFilter, /* can be NULL */
- void * iRefCon,
- OptionBits iOptions);
-
-
- /*
- * FMGetGeneration()
- *
- * Availability:
- * Non-Carbon CFM: in FontManager 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FMGeneration)
- FMGetGeneration(void);
-
-
- /* Container Access */
- /*
- * FMGetFontContainerFromFontFamilyInstance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontContainerFromFontFamilyInstance(
- FMFontFamily iFontFamily,
- FMFontStyle iStyle,
- FMFontSize iFontSize,
- FSSpec * oFontContainer);
-
-
- /*
- * FMGetFontFamilyResource()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- FMGetFontFamilyResource(
- FMFontFamily iFontFamily,
- FMFontStyle iFontStyle,
- FMFontSize iFontSize,
- ByteCount iBufferSize,
- void * ioBuffer,
- ByteCount * oSize); /* can be NULL */
-
-
-
- typedef FMFontFamily FontFamilyID;
- typedef FMFontSize FontPointSize;
- /*--------------------------------------------------------------------------------------*/
- /* Deprecated constant and type definitions */
- /*--------------------------------------------------------------------------------------*/
- /* The font identifier constants are deprecated; use GetFNum or FMGetFontFamilyFromName
- to find a font family from a standard QuickDraw name.
- */
- enum
- {
- kFMUseGlobalScopeOption = 0x00000001
- };
-
- enum
- {
- kFontIDNewYork = 2,
- kFontIDGeneva = 3,
- kFontIDMonaco = 4,
- kFontIDVenice = 5,
- kFontIDLondon = 6,
- kFontIDAthens = 7,
- kFontIDSanFrancisco = 8,
- kFontIDToronto = 9,
- kFontIDCairo = 11,
- kFontIDLosAngeles = 12,
- kFontIDTimes = 20,
- kFontIDHelvetica = 21,
- kFontIDCourier = 22,
- kFontIDSymbol = 23,
- kFontIDMobile = 24
- };
-
- /* The following data structures referenced by the low memory global variables of the
- Font Manager are deprecated on Mac OS X and CarbonLib 1.1. The low memory global
- variables are not shared between processes and may result in inconsistencies
- compared to previous releases of the system software. Changes made to the
- information contained in the low memory global variables, including any
- indirectly referenced width tables, font family records, and font records, are
- not reflected in the global state of the Font Manager and may only be accessed
- through the font access and data management functions of the Font Manager or ATS.
- */
- struct WidEntry
- {
- short widStyle; /*style entry applies to*/
- };
- typedef struct WidEntry WidEntry;
- struct WidTable
- {
- short numWidths; /*number of entries - 1*/
- };
- typedef struct WidTable WidTable;
- struct AsscEntry
- {
- short fontSize;
- short fontStyle;
- short fontID; /*font resource ID*/
- };
- typedef struct AsscEntry AsscEntry;
- struct FontAssoc
- {
- short numAssoc; /*number of entries - 1*/
- };
- typedef struct FontAssoc FontAssoc;
- struct StyleTable
- {
- short fontClass;
- long offset;
- long reserved;
- char indexes[48];
- };
- typedef struct StyleTable StyleTable;
- struct NameTable
- {
- short stringCount;
- Str255 baseFontName;
- };
- typedef struct NameTable NameTable;
- struct KernPair
- {
- char kernFirst; /*1st character of kerned pair*/
- char kernSecond; /*2nd character of kerned pair*/
- short kernWidth; /*kerning in 1pt fixed format*/
- };
- typedef struct KernPair KernPair;
- struct KernEntry
- {
- short kernStyle; /*style the entry applies to*/
- short kernLength; /*length of this entry*/
- };
- typedef struct KernEntry KernEntry;
- struct KernTable
- {
- short numKerns; /*number of kerning entries*/
- };
- typedef struct KernTable KernTable;
- struct WidthTable
- {
- Fixed tabData[256]; /*character widths*/
- Handle tabFont; /*font record used to build table*/
- long sExtra; /*space extra used for table*/
- long style; /*extra due to style*/
- short fID; /*font family ID*/
- short fSize; /*font size request*/
- short face; /*style (face) request*/
- short device; /*device requested*/
- Point inNumer; /*scale factors requested*/
- Point inDenom; /*scale factors requested*/
- short aFID; /*actual font family ID for table*/
- Handle fHand; /*family record used to build up table*/
- Boolean usedFam; /*used fixed point family widths*/
- UInt8 aFace; /*actual face produced*/
- short vOutput; /*vertical scale output value*/
- short hOutput; /*horizontal scale output value*/
- short vFactor; /*vertical scale output value*/
- short hFactor; /*horizontal scale output value*/
- short aSize; /*actual size of actual font used*/
- short tabSize; /*total size of table*/
- };
- typedef struct WidthTable WidthTable;
- typedef WidthTable * WidthTablePtr;
- typedef WidthTablePtr * WidthTableHdl;
- struct FamRec
- {
- short ffFlags; /*flags for family*/
- short ffFamID; /*family ID number*/
- short ffFirstChar; /*ASCII code of 1st character*/
- short ffLastChar; /*ASCII code of last character*/
- short ffAscent; /*maximum ascent for 1pt font*/
- short ffDescent; /*maximum descent for 1pt font*/
- short ffLeading; /*maximum leading for 1pt font*/
- short ffWidMax; /*maximum widMax for 1pt font*/
- long ffWTabOff; /*offset to width table*/
- long ffKernOff; /*offset to kerning table*/
- long ffStylOff; /*offset to style mapping table*/
- short ffProperty[9]; /*style property info*/
- short ffIntl[2]; /*for international use*/
- short ffVersion; /*version number*/
- };
- typedef struct FamRec FamRec;
- struct FontRec
- {
- short fontType; /*font type*/
- short firstChar; /*ASCII code of first character*/
- short lastChar; /*ASCII code of last character*/
- short widMax; /*maximum character width*/
- short kernMax; /*negative of maximum character kern*/
- short nDescent; /*negative of descent*/
- short fRectWidth; /*width of font rectangle*/
- short fRectHeight; /*height of font rectangle*/
- unsigned short owTLoc; /*offset to offset/width table*/
- short ascent; /*ascent*/
- short descent; /*descent*/
- short leading; /*leading*/
- short rowWords; /*row width of bit image / 2 */
- };
- typedef struct FontRec FontRec;
- typedef FontRec * FontRecPtr;
- typedef FontRecPtr * FontRecHdl;
- /*--------------------------------------------------------------------------------------*/
+/*
+ * GetSysFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetSysFont(void) TWOWORDINLINE(0x3EB8, 0x0BA6);
+
+
+/*
+ * GetAppFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetAppFont(void) TWOWORDINLINE(0x3EB8, 0x0984);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Extended font data functions (available only with Mac OS 8.5 or later) */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * SetAntiAliasedTextEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetAntiAliasedTextEnabled(
+ Boolean iEnable,
+ SInt16 iMinFontSize) TWOWORDINLINE(0x7011, 0xA854);
+
+
+/*
+ * IsAntiAliasedTextEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsAntiAliasedTextEnabled(SInt16 * oMinFontSize) TWOWORDINLINE(0x7012, 0xA854);
+
+
+/*
+ * QDTextBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+QDTextBounds(
+ short byteCount,
+ const void * textAddr,
+ Rect * bounds) TWOWORDINLINE(0x7013, 0xA854);
+
+
+/*
+ * FetchFontInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FetchFontInfo(
+ SInt16 fontID,
+ SInt16 fontSize,
+ SInt16 fontStyle,
+ FontInfo * info) TWOWORDINLINE(0x7014, 0xA854);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Font access and data management functions (available only with Mac OS 9.0 or later) */
+/*--------------------------------------------------------------------------------------*/
+/* Enumeration */
+/*
+ * FMCreateFontFamilyIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMCreateFontFamilyIterator(
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions,
+ FMFontFamilyIterator * ioIterator);
+
+
+/*
+ * FMDisposeFontFamilyIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMDisposeFontFamilyIterator(FMFontFamilyIterator * ioIterator);
+
+
+/*
+ * FMResetFontFamilyIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMResetFontFamilyIterator(
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions,
+ FMFontFamilyIterator * ioIterator);
+
+
+/*
+ * FMGetNextFontFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetNextFontFamily(
+ FMFontFamilyIterator * ioIterator,
+ FMFontFamily * oFontFamily);
+
+
+/*
+ * FMCreateFontIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMCreateFontIterator(
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions,
+ FMFontIterator * ioIterator);
+
+
+/*
+ * FMDisposeFontIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMDisposeFontIterator(FMFontIterator * ioIterator);
+
+
+/*
+ * FMResetFontIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMResetFontIterator(
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions,
+ FMFontIterator * ioIterator);
+
+
+/*
+ * FMGetNextFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetNextFont(
+ FMFontIterator * ioIterator,
+ FMFont * oFont);
+
+
+/* Font families */
+/*
+ * FMCreateFontFamilyInstanceIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMCreateFontFamilyInstanceIterator(
+ FMFontFamily iFontFamily,
+ FMFontFamilyInstanceIterator * ioIterator);
+
+
+/*
+ * FMDisposeFontFamilyInstanceIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMDisposeFontFamilyInstanceIterator(FMFontFamilyInstanceIterator * ioIterator);
+
+
+/*
+ * FMResetFontFamilyInstanceIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMResetFontFamilyInstanceIterator(
+ FMFontFamily iFontFamily,
+ FMFontFamilyInstanceIterator * ioIterator);
+
+
+/*
+ * FMGetNextFontFamilyInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetNextFontFamilyInstance(
+ FMFontFamilyInstanceIterator * ioIterator,
+ FMFont * oFont,
+ FMFontStyle * oStyle, /* can be NULL */
+ FMFontSize * oSize); /* can be NULL */
+
+
+/*
+ * FMGetFontFamilyFromName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FMFontFamily )
+FMGetFontFamilyFromName(ConstStr255Param iName);
+
+
+/*
+ * FMGetFontFamilyName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyName(
+ FMFontFamily iFontFamily,
+ Str255 oName);
+
+
+/*
+ * FMGetFontFamilyTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyTextEncoding(
+ FMFontFamily iFontFamily,
+ TextEncoding * oTextEncoding);
+
+
+/*
+ * FMGetFontFamilyGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyGeneration(
+ FMFontFamily iFontFamily,
+ FMGeneration * oGeneration);
+
+
+/* Fonts */
+/*
+ * FMGetFontFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFormat(
+ FMFont iFont,
+ FourCharCode * oFormat);
+
+
+/*
+ * FMGetFontTableDirectory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontTableDirectory(
+ FMFont iFont,
+ ByteCount iLength,
+ void * iBuffer,
+ ByteCount * oActualLength); /* can be NULL */
+
+
+/*
+ * FMGetFontTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontTable(
+ FMFont iFont,
+ FourCharCode iTag,
+ ByteOffset iOffset,
+ ByteCount iLength,
+ void * iBuffer,
+ ByteCount * oActualLength); /* can be NULL */
+
+
+/*
+ * FMGetFontGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontGeneration(
+ FMFont iFont,
+ FMGeneration * oGeneration);
+
+
+/*
+ * FMGetFontContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontContainer(
+ FMFont iFont,
+ FSSpec * oFontContainer);
+
+
+/* Conversion */
+/*
+ * FMGetFontFromFontFamilyInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFromFontFamilyInstance(
+ FMFontFamily iFontFamily,
+ FMFontStyle iStyle,
+ FMFont * oFont,
+ FMFontStyle * oIntrinsicStyle); /* can be NULL */
+
+
+/*
+ * FMGetFontFamilyInstanceFromFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyInstanceFromFont(
+ FMFont iFont,
+ FMFontFamily * oFontFamily,
+ FMFontStyle * oStyle);
+
+
+/*
+ * FMGetATSFontRefFromFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( ATSFontRef )
+FMGetATSFontRefFromFont(FMFont iFont);
+
+
+/*
+ * FMGetATSFontFamilyRefFromFontFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( ATSFontFamilyRef )
+FMGetATSFontFamilyRefFromFontFamily(FMFontFamily iFamily);
+
+
+/*
+ * FMGetFontFromATSFontRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( FMFont )
+FMGetFontFromATSFontRef(ATSFontRef iFont);
+
+
+/*
+ * FMGetFontFamilyFromATSFontFamilyRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( FMFontFamily )
+FMGetFontFamilyFromATSFontFamilyRef(ATSFontFamilyRef iFamily);
+
+
+/* Activation */
+/*
+ * FMActivateFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMActivateFonts(
+ const FSSpec * iFontContainer,
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions);
+
+
+/*
+ * FMDeactivateFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMDeactivateFonts(
+ const FSSpec * iFontContainer,
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions);
+
+
+/*
+ * FMGetGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FMGeneration )
+FMGetGeneration(void);
+
+
+/* Container Access */
+/*
+ * FMGetFontContainerFromFontFamilyInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontContainerFromFontFamilyInstance(
+ FMFontFamily iFontFamily,
+ FMFontStyle iStyle,
+ FMFontSize iFontSize,
+ FSSpec * oFontContainer);
+
+
+/*
+ * FMGetFontFamilyResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyResource(
+ FMFontFamily iFontFamily,
+ FMFontStyle iFontStyle,
+ FMFontSize iFontSize,
+ ByteCount iBufferSize,
+ void * ioBuffer,
+ ByteCount * oSize); /* can be NULL */
+
+
+
+typedef FMFontFamily FontFamilyID;
+typedef FMFontSize FontPointSize;
+/*--------------------------------------------------------------------------------------*/
+/* Deprecated constant and type definitions */
+/*--------------------------------------------------------------------------------------*/
+/* The font identifier constants are deprecated; use GetFNum or FMGetFontFamilyFromName
+ to find a font family from a standard QuickDraw name.
+*/
+enum {
+ kFMUseGlobalScopeOption = 0x00000001
+};
+
+enum {
+ kFontIDNewYork = 2,
+ kFontIDGeneva = 3,
+ kFontIDMonaco = 4,
+ kFontIDVenice = 5,
+ kFontIDLondon = 6,
+ kFontIDAthens = 7,
+ kFontIDSanFrancisco = 8,
+ kFontIDToronto = 9,
+ kFontIDCairo = 11,
+ kFontIDLosAngeles = 12,
+ kFontIDTimes = 20,
+ kFontIDHelvetica = 21,
+ kFontIDCourier = 22,
+ kFontIDSymbol = 23,
+ kFontIDMobile = 24
+};
+
+/* The following data structures referenced by the low memory global variables of the
+ Font Manager are deprecated on Mac OS X and CarbonLib 1.1. The low memory global
+ variables are not shared between processes and may result in inconsistencies
+ compared to previous releases of the system software. Changes made to the
+ information contained in the low memory global variables, including any
+ indirectly referenced width tables, font family records, and font records, are
+ not reflected in the global state of the Font Manager and may only be accessed
+ through the font access and data management functions of the Font Manager or ATS.
+*/
+struct WidEntry {
+ short widStyle; /*style entry applies to*/
+};
+typedef struct WidEntry WidEntry;
+struct WidTable {
+ short numWidths; /*number of entries - 1*/
+};
+typedef struct WidTable WidTable;
+struct AsscEntry {
+ short fontSize;
+ short fontStyle;
+ short fontID; /*font resource ID*/
+};
+typedef struct AsscEntry AsscEntry;
+struct FontAssoc {
+ short numAssoc; /*number of entries - 1*/
+};
+typedef struct FontAssoc FontAssoc;
+struct StyleTable {
+ short fontClass;
+ long offset;
+ long reserved;
+ char indexes[48];
+};
+typedef struct StyleTable StyleTable;
+struct NameTable {
+ short stringCount;
+ Str255 baseFontName;
+};
+typedef struct NameTable NameTable;
+struct KernPair {
+ char kernFirst; /*1st character of kerned pair*/
+ char kernSecond; /*2nd character of kerned pair*/
+ short kernWidth; /*kerning in 1pt fixed format*/
+};
+typedef struct KernPair KernPair;
+struct KernEntry {
+ short kernStyle; /*style the entry applies to*/
+ short kernLength; /*length of this entry*/
+};
+typedef struct KernEntry KernEntry;
+struct KernTable {
+ short numKerns; /*number of kerning entries*/
+};
+typedef struct KernTable KernTable;
+struct WidthTable {
+ Fixed tabData[256]; /*character widths*/
+ Handle tabFont; /*font record used to build table*/
+ long sExtra; /*space extra used for table*/
+ long style; /*extra due to style*/
+ short fID; /*font family ID*/
+ short fSize; /*font size request*/
+ short face; /*style (face) request*/
+ short device; /*device requested*/
+ Point inNumer; /*scale factors requested*/
+ Point inDenom; /*scale factors requested*/
+ short aFID; /*actual font family ID for table*/
+ Handle fHand; /*family record used to build up table*/
+ Boolean usedFam; /*used fixed point family widths*/
+ UInt8 aFace; /*actual face produced*/
+ short vOutput; /*vertical scale output value*/
+ short hOutput; /*horizontal scale output value*/
+ short vFactor; /*vertical scale output value*/
+ short hFactor; /*horizontal scale output value*/
+ short aSize; /*actual size of actual font used*/
+ short tabSize; /*total size of table*/
+};
+typedef struct WidthTable WidthTable;
+typedef WidthTable * WidthTablePtr;
+typedef WidthTablePtr * WidthTableHdl;
+struct FamRec {
+ short ffFlags; /*flags for family*/
+ short ffFamID; /*family ID number*/
+ short ffFirstChar; /*ASCII code of 1st character*/
+ short ffLastChar; /*ASCII code of last character*/
+ short ffAscent; /*maximum ascent for 1pt font*/
+ short ffDescent; /*maximum descent for 1pt font*/
+ short ffLeading; /*maximum leading for 1pt font*/
+ short ffWidMax; /*maximum widMax for 1pt font*/
+ long ffWTabOff; /*offset to width table*/
+ long ffKernOff; /*offset to kerning table*/
+ long ffStylOff; /*offset to style mapping table*/
+ short ffProperty[9]; /*style property info*/
+ short ffIntl[2]; /*for international use*/
+ short ffVersion; /*version number*/
+};
+typedef struct FamRec FamRec;
+struct FontRec {
+ short fontType; /*font type*/
+ short firstChar; /*ASCII code of first character*/
+ short lastChar; /*ASCII code of last character*/
+ short widMax; /*maximum character width*/
+ short kernMax; /*negative of maximum character kern*/
+ short nDescent; /*negative of descent*/
+ short fRectWidth; /*width of font rectangle*/
+ short fRectHeight; /*height of font rectangle*/
+ unsigned short owTLoc; /*offset to offset/width table*/
+ short ascent; /*ascent*/
+ short descent; /*descent*/
+ short leading; /*leading*/
+ short rowWords; /*row width of bit image / 2 */
+};
+typedef struct FontRec FontRec;
+typedef FontRec * FontRecPtr;
+typedef FontRecPtr * FontRecHdl;
+/*--------------------------------------------------------------------------------------*/
#if OLDROUTINENAMES
- enum
- {
- newYork = kFontIDNewYork,
- geneva = kFontIDGeneva,
- monaco = kFontIDMonaco,
- venice = kFontIDVenice,
- london = kFontIDLondon,
- athens = kFontIDAthens,
- sanFran = kFontIDSanFrancisco,
- toronto = kFontIDToronto,
- cairo = kFontIDCairo,
- losAngeles = kFontIDLosAngeles,
- times = kFontIDTimes,
- helvetica = kFontIDHelvetica,
- courier = kFontIDCourier,
- symbol = kFontIDSymbol,
- mobile = kFontIDMobile
- };
+enum {
+ newYork = kFontIDNewYork,
+ geneva = kFontIDGeneva,
+ monaco = kFontIDMonaco,
+ venice = kFontIDVenice,
+ london = kFontIDLondon,
+ athens = kFontIDAthens,
+ sanFran = kFontIDSanFrancisco,
+ toronto = kFontIDToronto,
+ cairo = kFontIDCairo,
+ losAngeles = kFontIDLosAngeles,
+ times = kFontIDTimes,
+ helvetica = kFontIDHelvetica,
+ courier = kFontIDCourier,
+ symbol = kFontIDSymbol,
+ mobile = kFontIDMobile
+};
#endif /* OLDROUTINENAMES */
- /*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/GNUCompatibility/stdbool.h b/include/qt/GNUCompatibility/stdbool.h
index 34d3ac0e3..7c0ada47b 100644
--- a/include/qt/GNUCompatibility/stdbool.h
+++ b/include/qt/GNUCompatibility/stdbool.h
@@ -8,12 +8,12 @@
/* The type `bool' must promote to `int' or `unsigned int'. The constants
`true' and `false' must have the value 0 and 1 respectively. */
typedef enum
-{
+ {
#if !TARGET_OS_WIN32
false = 0,
true = 1
#endif
-} bool;
+ } bool;
/* The names `true' and `false' must also be made available as macros. */
#define false false
diff --git a/include/qt/GNUCompatibility/stdint.h b/include/qt/GNUCompatibility/stdint.h
index ab0f1da89..c936b0742 100644
--- a/include/qt/GNUCompatibility/stdint.h
+++ b/include/qt/GNUCompatibility/stdint.h
@@ -40,9 +40,9 @@ typedef unsigned uint_least32_t;
typedef __int64 int_least64_t;
typedef unsigned __int64 uint_least64_t;
-/* 7.18.1.3 Fastest minimum-width integer types
+/* 7.18.1.3 Fastest minimum-width integer types
* Not actually guaranteed to be fastest for all purposes
- * Here we use the exact-width types for 8 and 16-bit ints.
+ * Here we use the exact-width types for 8 and 16-bit ints.
*/
typedef char int_fast8_t;
typedef unsigned char uint_fast8_t;
@@ -65,7 +65,7 @@ typedef unsigned __int64 uintmax_t;
#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
/* 7.18.2.1 Limits of exact-width integer types */
-#define INT8_MIN (-128)
+#define INT8_MIN (-128)
#define INT16_MIN (-32768)
#define INT32_MIN (-2147483647 - 1)
#define INT64_MIN (-9223372036854775807LL - 1)
@@ -113,7 +113,7 @@ typedef unsigned __int64 uintmax_t;
#define UINT_FAST64_MAX UINT64_MAX
/* 7.18.2.4 Limits of integer types capable of holding
- object pointers */
+ object pointers */
#define INTPTR_MIN INT32_MIN
#define INTPTR_MAX INT32_MAX
#define UINTPTR_MAX UINT32_MAX
@@ -132,7 +132,7 @@ typedef unsigned __int64 uintmax_t;
#define SIZE_MAX UINT32_MAX
-#ifndef WCHAR_MIN /* also in wchar.h */
+#ifndef WCHAR_MIN /* also in wchar.h */
#define WCHAR_MIN 0
#define WCHAR_MAX ((wchar_t)-1) /* UINT16_MAX */
#endif
diff --git a/include/qt/GXFonts.h b/include/qt/GXFonts.h
index 9b716823e..69557fee7 100644
--- a/include/qt/GXFonts.h
+++ b/include/qt/GXFonts.h
@@ -1,18 +1,18 @@
/*
File: GXFonts.h
-
+
Contains: QuickDraw GX font routine interfaces.
-
+
Version: Technology: Quickdraw GX 1.1
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-1997 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 __GXFONTS__
#define __GXFONTS__
@@ -49,737 +49,737 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma push
-#pragma pointers_in_D0
+ #pragma push
+ #pragma pointers_in_D0
#endif
-
+
#if CALL_NOT_IN_CARBON
- /*
- * GXNewFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFont)
- GXNewFont(
- gxFontStorageTag storage,
- gxFontStorageReference reference,
- gxFontAttribute attributes) THREEWORDINLINE(0x303C, 0x0201, 0xA832);
-
-
- /*
- * GXGetFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontStorageTag)
- GXGetFont(
- gxFont fontID,
- gxFontStorageReference * reference,
- gxFontAttribute * attributes) THREEWORDINLINE(0x303C, 0x0202, 0xA832);
-
-
- /*
- * GXFindFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFont)
- GXFindFont(
- gxFontStorageTag storage,
- gxFontStorageReference reference,
- gxFontAttribute * attributes) THREEWORDINLINE(0x303C, 0x0203, 0xA832);
-
-
- /*
- * GXSetFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GXSetFont(
- gxFont fontID,
- gxFontStorageTag storage,
- gxFontStorageReference reference,
- gxFontAttribute attributes) THREEWORDINLINE(0x303C, 0x0204, 0xA832);
-
-
- /*
- * GXDisposeFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GXDisposeFont(gxFont fontID) THREEWORDINLINE(0x303C, 0x0205, 0xA832);
-
-
- /*
- * GXChangedFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GXChangedFont(gxFont fontID) THREEWORDINLINE(0x303C, 0x0206, 0xA832);
-
-
- /*
- * GXGetFontFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontFormatTag)
- GXGetFontFormat(gxFont fontID) THREEWORDINLINE(0x303C, 0x0207, 0xA832);
-
-
- /*
- * GXGetDefaultFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFont)
- GXGetDefaultFont(void) THREEWORDINLINE(0x303C, 0x0208, 0xA832);
-
-
- /*
- * GXSetDefaultFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFont)
- GXSetDefaultFont(gxFont fontID) THREEWORDINLINE(0x303C, 0x0209, 0xA832);
-
-
- /*
- * GXFindFonts()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXFindFonts(
- gxFont familyID,
- gxFontName name,
- gxFontPlatform platform,
- gxFontScript script,
- gxFontLanguage language,
- long length,
- const unsigned char text[],
- long index,
- long count,
- gxFont fonts[]) THREEWORDINLINE(0x303C, 0x020A, 0xA832);
-
-
- /*
- * GXCountFontGlyphs()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXCountFontGlyphs(gxFont fontID) THREEWORDINLINE(0x303C, 0x020B, 0xA832);
-
-
- /*
- * GXCountFontTables()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXCountFontTables(gxFont fontID) THREEWORDINLINE(0x303C, 0x020C, 0xA832);
-
-
- /*
- * GXGetFontTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXGetFontTable(
- gxFont fontID,
- long index,
- void * tableData,
- gxFontTableTag * tableTag) THREEWORDINLINE(0x303C, 0x020D, 0xA832);
-
-
- /*
- * GXFindFontTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXFindFontTable(
- gxFont fontID,
- gxFontTableTag tableTag,
- void * tableData,
- long * index) THREEWORDINLINE(0x303C, 0x020E, 0xA832);
-
-
- /*
- * GXGetFontTableParts()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXGetFontTableParts(
- gxFont fontID,
- long index,
- long offset,
- long length,
- void * tableData,
- gxFontTableTag * tableTag) THREEWORDINLINE(0x303C, 0x020F, 0xA832);
-
-
- /*
- * GXFindFontTableParts()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXFindFontTableParts(
- gxFont fontID,
- gxFontTableTag tableTag,
- long offset,
- long length,
- void * tableData,
- long * index) THREEWORDINLINE(0x303C, 0x0210, 0xA832);
-
-
- /*
- * GXSetFontTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXSetFontTable(
- gxFont fontID,
- long index,
- gxFontTableTag tableTag,
- long length,
- const void * tableData) THREEWORDINLINE(0x303C, 0x0211, 0xA832);
-
-
- /*
- * GXSetFontTableParts()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXSetFontTableParts(
- gxFont fontID,
- long index,
- gxFontTableTag tableTag,
- long offset,
- long oldLength,
- long newLength,
- const void * tableData) THREEWORDINLINE(0x303C, 0x0212, 0xA832);
-
-
- /*
- * GXDeleteFontTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXDeleteFontTable(
- gxFont fontID,
- long index,
- gxFontTableTag tableTag) THREEWORDINLINE(0x303C, 0x0213, 0xA832);
-
-
- /*
- * GXCountFontNames()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXCountFontNames(gxFont fontID) THREEWORDINLINE(0x303C, 0x0214, 0xA832);
-
-
- /*
- * GXGetFontName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXGetFontName(
- gxFont fontID,
- long index,
- gxFontName * name,
- gxFontPlatform * platform,
- gxFontScript * script,
- gxFontLanguage * language,
- unsigned char text[]) THREEWORDINLINE(0x303C, 0x0215, 0xA832);
-
-
- /*
- * GXFindFontName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXFindFontName(
- gxFont fontID,
- gxFontName name,
- gxFontPlatform platform,
- gxFontScript script,
- gxFontLanguage language,
- unsigned char text[],
- long * index) THREEWORDINLINE(0x303C, 0x0216, 0xA832);
-
-
- /*
- * GXSetFontName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXSetFontName(
- gxFont fontID,
- gxFontName name,
- gxFontPlatform platform,
- gxFontScript script,
- gxFontLanguage language,
- long length,
- const unsigned char text[]) THREEWORDINLINE(0x303C, 0x0217, 0xA832);
-
-
- /*
- * GXDeleteFontName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXDeleteFontName(
- gxFont fontID,
- long index,
- gxFontName name,
- gxFontPlatform platform,
- gxFontScript script,
- gxFontLanguage language) THREEWORDINLINE(0x303C, 0x0218, 0xA832);
-
-
- /*
- * GXNewFontNameID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontName)
- GXNewFontNameID(gxFont fontID) THREEWORDINLINE(0x303C, 0x0219, 0xA832);
-
-
- /*
- * GXCountFontEncodings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXCountFontEncodings(gxFont fontID) THREEWORDINLINE(0x303C, 0x021A, 0xA832);
-
-
- /*
- * GXGetFontEncoding()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontPlatform)
- GXGetFontEncoding(
- gxFont fontID,
- long index,
- gxFontScript * script,
- gxFontLanguage * language) THREEWORDINLINE(0x303C, 0x021B, 0xA832);
-
-
- /*
- * GXFindFontEncoding()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXFindFontEncoding(
- gxFont fontID,
- gxFontPlatform platform,
- gxFontScript script,
- gxFontLanguage language) THREEWORDINLINE(0x303C, 0x021C, 0xA832);
-
-
- /*
- * GXApplyFontEncoding()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXApplyFontEncoding(
- gxFont fontID,
- long index,
- long * length,
- const unsigned char text[],
- long count,
- unsigned short glyphs[],
- char was16Bit[]) THREEWORDINLINE(0x303C, 0x021D, 0xA832);
-
-
- /*
- * GXCountFontVariations()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXCountFontVariations(gxFont fontID) THREEWORDINLINE(0x303C, 0x021E, 0xA832);
-
-
- /*
- * GXFindFontVariation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXFindFontVariation(
- gxFont fontID,
- gxFontVariationTag variationTag,
- Fixed * minValue,
- Fixed * defaultValue,
- Fixed * maxValue,
- gxFontName * name) THREEWORDINLINE(0x303C, 0x021F, 0xA832);
-
-
- /*
- * GXGetFontVariation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontVariationTag)
- GXGetFontVariation(
- gxFont fontID,
- long index,
- Fixed * minValue,
- Fixed * defaultValue,
- Fixed * maxValue,
- gxFontName * name) THREEWORDINLINE(0x303C, 0x0220, 0xA832);
-
-
- /*
- * GXCountFontInstances()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXCountFontInstances(gxFont fontID) THREEWORDINLINE(0x303C, 0x0221, 0xA832);
-
-
- /*
- * GXGetFontInstance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontName)
- GXGetFontInstance(
- gxFont fontID,
- long index,
- gxFontVariation variation[]) THREEWORDINLINE(0x303C, 0x0222, 0xA832);
-
-
- /*
- * GXSetFontInstance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXSetFontInstance(
- gxFont fontID,
- long index,
- gxFontName name,
- const gxFontVariation variation[]) THREEWORDINLINE(0x303C, 0x0223, 0xA832);
-
-
- /*
- * GXDeleteFontInstance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXDeleteFontInstance(
- gxFont fontID,
- long index,
- gxFontName name) THREEWORDINLINE(0x303C, 0x0224, 0xA832);
-
-
- /*
- * GXCountFontDescriptors()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXCountFontDescriptors(gxFont fontID) THREEWORDINLINE(0x303C, 0x0225, 0xA832);
-
-
- /*
- * GXGetFontDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontDescriptorTag)
- GXGetFontDescriptor(
- gxFont fontID,
- long index,
- Fixed * descriptorValue) THREEWORDINLINE(0x303C, 0x0226, 0xA832);
-
-
- /*
- * GXFindFontDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXFindFontDescriptor(
- gxFont fontID,
- gxFontDescriptorTag descriptorTag,
- Fixed * descriptorValue) THREEWORDINLINE(0x303C, 0x0227, 0xA832);
-
-
- /*
- * GXSetFontDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXSetFontDescriptor(
- gxFont fontID,
- long index,
- gxFontDescriptorTag descriptorTag,
- Fixed descriptorValue) THREEWORDINLINE(0x303C, 0x0228, 0xA832);
-
-
- /*
- * GXDeleteFontDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXDeleteFontDescriptor(
- gxFont fontID,
- long index,
- gxFontDescriptorTag descriptorTag) THREEWORDINLINE(0x303C, 0x0229, 0xA832);
-
-
- /*
- * GXCountFontFeatures()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXCountFontFeatures(gxFont fontID) THREEWORDINLINE(0x303C, 0x022A, 0xA832);
-
-
- /*
- * GXGetFontFeature()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontName)
- GXGetFontFeature(
- gxFont fontID,
- long index,
- gxFontFeatureFlag * flags,
- long * settingCount,
- gxFontFeatureSetting settings[],
- gxFontFeature * feature) THREEWORDINLINE(0x303C, 0x022B, 0xA832);
-
-
- /*
- * GXFindFontFeature()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxFontName)
- GXFindFontFeature(
- gxFont fontID,
- gxFontFeature feature,
- gxFontFeatureFlag * flags,
- long * settingCount,
- gxFontFeatureSetting settings[],
- long * index) THREEWORDINLINE(0x303C, 0x022C, 0xA832);
-
-
- /*
- * GXGetFontDefaultFeatures()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- GXGetFontDefaultFeatures(
- gxFont fontID,
- gxRunFeature features[]) THREEWORDINLINE(0x303C, 0x0274, 0xA832);
-
-
- /*
- * GXFlattenFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GXFlattenFont(
- gxFont source,
- scalerStream * stream,
- gxSpoolBlock * block) THREEWORDINLINE(0x303C, 0x022D, 0xA832);
+/*
+ * GXNewFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFont )
+GXNewFont(
+ gxFontStorageTag storage,
+ gxFontStorageReference reference,
+ gxFontAttribute attributes) THREEWORDINLINE(0x303C, 0x0201, 0xA832);
+
+/*
+ * GXGetFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontStorageTag )
+GXGetFont(
+ gxFont fontID,
+ gxFontStorageReference * reference,
+ gxFontAttribute * attributes) THREEWORDINLINE(0x303C, 0x0202, 0xA832);
-#endif /* CALL_NOT_IN_CARBON */
+/*
+ * GXFindFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFont )
+GXFindFont(
+ gxFontStorageTag storage,
+ gxFontStorageReference reference,
+ gxFontAttribute * attributes) THREEWORDINLINE(0x303C, 0x0203, 0xA832);
+
+
+/*
+ * GXSetFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GXSetFont(
+ gxFont fontID,
+ gxFontStorageTag storage,
+ gxFontStorageReference reference,
+ gxFontAttribute attributes) THREEWORDINLINE(0x303C, 0x0204, 0xA832);
+
+
+/*
+ * GXDisposeFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GXDisposeFont(gxFont fontID) THREEWORDINLINE(0x303C, 0x0205, 0xA832);
+
+
+/*
+ * GXChangedFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GXChangedFont(gxFont fontID) THREEWORDINLINE(0x303C, 0x0206, 0xA832);
+
+
+/*
+ * GXGetFontFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontFormatTag )
+GXGetFontFormat(gxFont fontID) THREEWORDINLINE(0x303C, 0x0207, 0xA832);
+
+
+/*
+ * GXGetDefaultFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFont )
+GXGetDefaultFont(void) THREEWORDINLINE(0x303C, 0x0208, 0xA832);
+
+
+/*
+ * GXSetDefaultFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFont )
+GXSetDefaultFont(gxFont fontID) THREEWORDINLINE(0x303C, 0x0209, 0xA832);
+
+
+/*
+ * GXFindFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXFindFonts(
+ gxFont familyID,
+ gxFontName name,
+ gxFontPlatform platform,
+ gxFontScript script,
+ gxFontLanguage language,
+ long length,
+ const unsigned char text[],
+ long index,
+ long count,
+ gxFont fonts[]) THREEWORDINLINE(0x303C, 0x020A, 0xA832);
+
+
+/*
+ * GXCountFontGlyphs()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXCountFontGlyphs(gxFont fontID) THREEWORDINLINE(0x303C, 0x020B, 0xA832);
+
+
+/*
+ * GXCountFontTables()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXCountFontTables(gxFont fontID) THREEWORDINLINE(0x303C, 0x020C, 0xA832);
+
+
+/*
+ * GXGetFontTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXGetFontTable(
+ gxFont fontID,
+ long index,
+ void * tableData,
+ gxFontTableTag * tableTag) THREEWORDINLINE(0x303C, 0x020D, 0xA832);
+
+
+/*
+ * GXFindFontTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXFindFontTable(
+ gxFont fontID,
+ gxFontTableTag tableTag,
+ void * tableData,
+ long * index) THREEWORDINLINE(0x303C, 0x020E, 0xA832);
+
+
+/*
+ * GXGetFontTableParts()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXGetFontTableParts(
+ gxFont fontID,
+ long index,
+ long offset,
+ long length,
+ void * tableData,
+ gxFontTableTag * tableTag) THREEWORDINLINE(0x303C, 0x020F, 0xA832);
+
+
+/*
+ * GXFindFontTableParts()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXFindFontTableParts(
+ gxFont fontID,
+ gxFontTableTag tableTag,
+ long offset,
+ long length,
+ void * tableData,
+ long * index) THREEWORDINLINE(0x303C, 0x0210, 0xA832);
+
+
+/*
+ * GXSetFontTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXSetFontTable(
+ gxFont fontID,
+ long index,
+ gxFontTableTag tableTag,
+ long length,
+ const void * tableData) THREEWORDINLINE(0x303C, 0x0211, 0xA832);
+
+
+/*
+ * GXSetFontTableParts()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXSetFontTableParts(
+ gxFont fontID,
+ long index,
+ gxFontTableTag tableTag,
+ long offset,
+ long oldLength,
+ long newLength,
+ const void * tableData) THREEWORDINLINE(0x303C, 0x0212, 0xA832);
+
+
+/*
+ * GXDeleteFontTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXDeleteFontTable(
+ gxFont fontID,
+ long index,
+ gxFontTableTag tableTag) THREEWORDINLINE(0x303C, 0x0213, 0xA832);
+
+
+/*
+ * GXCountFontNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXCountFontNames(gxFont fontID) THREEWORDINLINE(0x303C, 0x0214, 0xA832);
+
+
+/*
+ * GXGetFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXGetFontName(
+ gxFont fontID,
+ long index,
+ gxFontName * name,
+ gxFontPlatform * platform,
+ gxFontScript * script,
+ gxFontLanguage * language,
+ unsigned char text[]) THREEWORDINLINE(0x303C, 0x0215, 0xA832);
+
+
+/*
+ * GXFindFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXFindFontName(
+ gxFont fontID,
+ gxFontName name,
+ gxFontPlatform platform,
+ gxFontScript script,
+ gxFontLanguage language,
+ unsigned char text[],
+ long * index) THREEWORDINLINE(0x303C, 0x0216, 0xA832);
+
+
+/*
+ * GXSetFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXSetFontName(
+ gxFont fontID,
+ gxFontName name,
+ gxFontPlatform platform,
+ gxFontScript script,
+ gxFontLanguage language,
+ long length,
+ const unsigned char text[]) THREEWORDINLINE(0x303C, 0x0217, 0xA832);
+/*
+ * GXDeleteFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXDeleteFontName(
+ gxFont fontID,
+ long index,
+ gxFontName name,
+ gxFontPlatform platform,
+ gxFontScript script,
+ gxFontLanguage language) THREEWORDINLINE(0x303C, 0x0218, 0xA832);
+
+
+/*
+ * GXNewFontNameID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontName )
+GXNewFontNameID(gxFont fontID) THREEWORDINLINE(0x303C, 0x0219, 0xA832);
+
+
+/*
+ * GXCountFontEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXCountFontEncodings(gxFont fontID) THREEWORDINLINE(0x303C, 0x021A, 0xA832);
+
+
+/*
+ * GXGetFontEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontPlatform )
+GXGetFontEncoding(
+ gxFont fontID,
+ long index,
+ gxFontScript * script,
+ gxFontLanguage * language) THREEWORDINLINE(0x303C, 0x021B, 0xA832);
+
+
+/*
+ * GXFindFontEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXFindFontEncoding(
+ gxFont fontID,
+ gxFontPlatform platform,
+ gxFontScript script,
+ gxFontLanguage language) THREEWORDINLINE(0x303C, 0x021C, 0xA832);
+
+
+/*
+ * GXApplyFontEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXApplyFontEncoding(
+ gxFont fontID,
+ long index,
+ long * length,
+ const unsigned char text[],
+ long count,
+ unsigned short glyphs[],
+ char was16Bit[]) THREEWORDINLINE(0x303C, 0x021D, 0xA832);
+
+
+/*
+ * GXCountFontVariations()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXCountFontVariations(gxFont fontID) THREEWORDINLINE(0x303C, 0x021E, 0xA832);
+
+
+/*
+ * GXFindFontVariation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXFindFontVariation(
+ gxFont fontID,
+ gxFontVariationTag variationTag,
+ Fixed * minValue,
+ Fixed * defaultValue,
+ Fixed * maxValue,
+ gxFontName * name) THREEWORDINLINE(0x303C, 0x021F, 0xA832);
+
+
+/*
+ * GXGetFontVariation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontVariationTag )
+GXGetFontVariation(
+ gxFont fontID,
+ long index,
+ Fixed * minValue,
+ Fixed * defaultValue,
+ Fixed * maxValue,
+ gxFontName * name) THREEWORDINLINE(0x303C, 0x0220, 0xA832);
+
+
+/*
+ * GXCountFontInstances()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXCountFontInstances(gxFont fontID) THREEWORDINLINE(0x303C, 0x0221, 0xA832);
+
+
+/*
+ * GXGetFontInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontName )
+GXGetFontInstance(
+ gxFont fontID,
+ long index,
+ gxFontVariation variation[]) THREEWORDINLINE(0x303C, 0x0222, 0xA832);
+
+
+/*
+ * GXSetFontInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXSetFontInstance(
+ gxFont fontID,
+ long index,
+ gxFontName name,
+ const gxFontVariation variation[]) THREEWORDINLINE(0x303C, 0x0223, 0xA832);
+
+
+/*
+ * GXDeleteFontInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXDeleteFontInstance(
+ gxFont fontID,
+ long index,
+ gxFontName name) THREEWORDINLINE(0x303C, 0x0224, 0xA832);
+
+
+/*
+ * GXCountFontDescriptors()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXCountFontDescriptors(gxFont fontID) THREEWORDINLINE(0x303C, 0x0225, 0xA832);
+
+
+/*
+ * GXGetFontDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontDescriptorTag )
+GXGetFontDescriptor(
+ gxFont fontID,
+ long index,
+ Fixed * descriptorValue) THREEWORDINLINE(0x303C, 0x0226, 0xA832);
+
+
+/*
+ * GXFindFontDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXFindFontDescriptor(
+ gxFont fontID,
+ gxFontDescriptorTag descriptorTag,
+ Fixed * descriptorValue) THREEWORDINLINE(0x303C, 0x0227, 0xA832);
+
+
+/*
+ * GXSetFontDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXSetFontDescriptor(
+ gxFont fontID,
+ long index,
+ gxFontDescriptorTag descriptorTag,
+ Fixed descriptorValue) THREEWORDINLINE(0x303C, 0x0228, 0xA832);
+
+
+/*
+ * GXDeleteFontDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXDeleteFontDescriptor(
+ gxFont fontID,
+ long index,
+ gxFontDescriptorTag descriptorTag) THREEWORDINLINE(0x303C, 0x0229, 0xA832);
+
+
+/*
+ * GXCountFontFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXCountFontFeatures(gxFont fontID) THREEWORDINLINE(0x303C, 0x022A, 0xA832);
+
+
+/*
+ * GXGetFontFeature()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontName )
+GXGetFontFeature(
+ gxFont fontID,
+ long index,
+ gxFontFeatureFlag * flags,
+ long * settingCount,
+ gxFontFeatureSetting settings[],
+ gxFontFeature * feature) THREEWORDINLINE(0x303C, 0x022B, 0xA832);
+
+
+/*
+ * GXFindFontFeature()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxFontName )
+GXFindFontFeature(
+ gxFont fontID,
+ gxFontFeature feature,
+ gxFontFeatureFlag * flags,
+ long * settingCount,
+ gxFontFeatureSetting settings[],
+ long * index) THREEWORDINLINE(0x303C, 0x022C, 0xA832);
+
+
+/*
+ * GXGetFontDefaultFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+GXGetFontDefaultFeatures(
+ gxFont fontID,
+ gxRunFeature features[]) THREEWORDINLINE(0x303C, 0x0274, 0xA832);
+
+
+/*
+ * GXFlattenFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GXFlattenFont(
+ gxFont source,
+ scalerStream * stream,
+ gxSpoolBlock * block) THREEWORDINLINE(0x303C, 0x022D, 0xA832);
+
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma pop
+ #pragma pop
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/GXMath.h b/include/qt/GXMath.h
index 217eb0f49..9c042ed3b 100644
--- a/include/qt/GXMath.h
+++ b/include/qt/GXMath.h
@@ -1,18 +1,18 @@
/*
File: GXMath.h
-
+
Contains: QuickDraw GX math routine interfaces.
-
+
Version: Technology: Quickdraw GX 1.1
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2006 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 __GXMATH__
#define __GXMATH__
@@ -49,565 +49,562 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma push
-#pragma pointers_in_D0
+ #pragma push
+ #pragma pointers_in_D0
#endif
-
- /* Now defined in ImageCodec.i*/
+
+/* Now defined in ImageCodec.i*/
#if 0
- struct gxPoint
- {
- Fixed x;
- Fixed y;
- };
- typedef struct gxPoint gxPoint;
+struct gxPoint {
+ Fixed x;
+ Fixed y;
+};
+typedef struct gxPoint gxPoint;
#endif /* 0 */
- typedef unsigned short gxColorValue;
- struct gxPolar
- {
- Fixed radius;
- Fixed angle;
- };
- typedef struct gxPolar gxPolar;
- struct gxMapping
- {
- Fixed map[3][3];
- };
- typedef struct gxMapping gxMapping;
+typedef unsigned short gxColorValue;
+struct gxPolar {
+ Fixed radius;
+ Fixed angle;
+};
+typedef struct gxPolar gxPolar;
+struct gxMapping {
+ Fixed map[3][3];
+};
+typedef struct gxMapping gxMapping;
#define gxColorValue1 ((gxColorValue) 0x0000FFFF)
#define gxPositiveInfinity ((long) 0x7FFFFFFFL)
#define gxNegativeInfinity ((long) 0x80000000L)
#if CALL_NOT_IN_CARBON
- /*
- * CopyToMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- CopyToMapping(
- gxMapping * target,
- const gxMapping * source) THREEWORDINLINE(0x303C, 0x0031, 0xA832);
-
-
- /*
- * InvertMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- InvertMapping(
- gxMapping * target,
- const gxMapping * source) THREEWORDINLINE(0x303C, 0x0032, 0xA832);
-
-
- /*
- * MapMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- MapMapping(
- gxMapping * target,
- const gxMapping * source) THREEWORDINLINE(0x303C, 0x0033, 0xA832);
-
-
- /*
- * MoveMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- MoveMapping(
- gxMapping * target,
- Fixed hOffset,
- Fixed vOffset) THREEWORDINLINE(0x303C, 0x0034, 0xA832);
-
-
- /*
- * MoveMappingTo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- MoveMappingTo(
- gxMapping * target,
- Fixed hPosition,
- Fixed vPosition) THREEWORDINLINE(0x303C, 0x0035, 0xA832);
-
-
- /*
- * NormalizeMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- NormalizeMapping(gxMapping * target) THREEWORDINLINE(0x303C, 0x0036, 0xA832);
-
-
- /*
- * RotateMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- RotateMapping(
- gxMapping * target,
- Fixed angle,
- Fixed xCenter,
- Fixed yCenter) THREEWORDINLINE(0x303C, 0x0037, 0xA832);
-
-
- /*
- * ScaleMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- ScaleMapping(
- gxMapping * target,
- Fixed hFactor,
- Fixed vFactor,
- Fixed xCenter,
- Fixed yCenter) THREEWORDINLINE(0x303C, 0x0038, 0xA832);
-
-
- /*
- * ResetMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- ResetMapping(gxMapping * target) THREEWORDINLINE(0x303C, 0x0039, 0xA832);
-
-
- /*
- * SkewMapping()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxMapping *)
- SkewMapping(
- gxMapping * target,
- Fixed skewX,
- Fixed skewY,
- Fixed xCenter,
- Fixed yCenter) THREEWORDINLINE(0x303C, 0x003A, 0xA832);
-
-
- /*
- * MapPoints()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- MapPoints(
- const gxMapping * source,
- long count,
- gxPoint theVector[]) THREEWORDINLINE(0x303C, 0x003B, 0xA832);
-
-
- /*
- * FirstBit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- FirstBit(unsigned long x) THREEWORDINLINE(0x303C, 0x003C, 0xA832);
-
-
- /*
- * WideScale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- WideScale(const wide * source) THREEWORDINLINE(0x303C, 0x003D, 0xA832);
-
-
- /*
- * LinearRoot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- LinearRoot(
- Fixed first,
- Fixed last,
- Fract t[]) THREEWORDINLINE(0x303C, 0x003E, 0xA832);
-
-
- /*
- * QuadraticRoot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- QuadraticRoot(
- Fixed first,
- Fixed control,
- Fixed last,
- Fract t[]) THREEWORDINLINE(0x303C, 0x003F, 0xA832);
-
-
- /*
- * PolarToPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxPoint *)
- PolarToPoint(
- const gxPolar * ra,
- gxPoint * xy) THREEWORDINLINE(0x303C, 0x0040, 0xA832);
-
-
- /*
- * PointToPolar()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxPolar *)
- PointToPolar(
- const gxPoint * xy,
- gxPolar * ra) THREEWORDINLINE(0x303C, 0x0041, 0xA832);
-
-
- /*
- * FractCubeRoot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Fract)
- FractCubeRoot(Fract source) THREEWORDINLINE(0x303C, 0x0042, 0xA832);
-
-
- /*
- * FractDivide()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Fract)
- FractDivide(
- Fract dividend,
- Fract divisor) THREEWORDINLINE(0x303C, 0x0043, 0xA832);
-
-
- /*
- * FractMultiply()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Fract)
- FractMultiply(
- Fract multiplicand,
- Fract multiplier) THREEWORDINLINE(0x303C, 0x0044, 0xA832);
-
-
- /*
- * FractSineCosine()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Fract)
- FractSineCosine(
- Fixed degrees,
- Fract * cosine) THREEWORDINLINE(0x303C, 0x0045, 0xA832);
-
-
- /*
- * FractSquareRoot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Fract)
- FractSquareRoot(Fract source) THREEWORDINLINE(0x303C, 0x0046, 0xA832);
-
-
- /*
- * FixedDivide()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Fixed)
- FixedDivide(
- Fixed dividend,
- Fixed divisor) THREEWORDINLINE(0x303C, 0x0047, 0xA832);
-
-
- /*
- * FixedMultiply()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Fixed)
- FixedMultiply(
- Fixed multiplicand,
- Fixed multiplier) THREEWORDINLINE(0x303C, 0x0048, 0xA832);
-
-
- /* This next call is (source * multiplier / divisor) -- it avoids underflow, overflow by using wides */
- /*
- * MultiplyDivide()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- MultiplyDivide(
- long source,
- long multiplier,
- long divisor) THREEWORDINLINE(0x303C, 0x0049, 0xA832);
-
-
- /*
- * Magnitude()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- Magnitude(
- long deltaX,
- long deltaY) THREEWORDINLINE(0x303C, 0x004A, 0xA832);
-
-
- /*
- * VectorMultiplyDivide()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- VectorMultiplyDivide(
- long count,
- const long * vector1,
- long step1,
- const long * vector2,
- long step2,
- long divisor) THREEWORDINLINE(0x303C, 0x004B, 0xA832);
-
-
-
-
-
- /* wide operations are defined within FixMath.h for PowerPC */
+/*
+ * CopyToMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+CopyToMapping(
+ gxMapping * target,
+ const gxMapping * source) THREEWORDINLINE(0x303C, 0x0031, 0xA832);
+
+
+/*
+ * InvertMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+InvertMapping(
+ gxMapping * target,
+ const gxMapping * source) THREEWORDINLINE(0x303C, 0x0032, 0xA832);
+
+
+/*
+ * MapMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+MapMapping(
+ gxMapping * target,
+ const gxMapping * source) THREEWORDINLINE(0x303C, 0x0033, 0xA832);
+
+
+/*
+ * MoveMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+MoveMapping(
+ gxMapping * target,
+ Fixed hOffset,
+ Fixed vOffset) THREEWORDINLINE(0x303C, 0x0034, 0xA832);
+
+
+/*
+ * MoveMappingTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+MoveMappingTo(
+ gxMapping * target,
+ Fixed hPosition,
+ Fixed vPosition) THREEWORDINLINE(0x303C, 0x0035, 0xA832);
+
+
+/*
+ * NormalizeMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+NormalizeMapping(gxMapping * target) THREEWORDINLINE(0x303C, 0x0036, 0xA832);
+
+
+/*
+ * RotateMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+RotateMapping(
+ gxMapping * target,
+ Fixed angle,
+ Fixed xCenter,
+ Fixed yCenter) THREEWORDINLINE(0x303C, 0x0037, 0xA832);
+
+
+/*
+ * ScaleMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+ScaleMapping(
+ gxMapping * target,
+ Fixed hFactor,
+ Fixed vFactor,
+ Fixed xCenter,
+ Fixed yCenter) THREEWORDINLINE(0x303C, 0x0038, 0xA832);
+
+
+/*
+ * ResetMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+ResetMapping(gxMapping * target) THREEWORDINLINE(0x303C, 0x0039, 0xA832);
+
+
+/*
+ * SkewMapping()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxMapping * )
+SkewMapping(
+ gxMapping * target,
+ Fixed skewX,
+ Fixed skewY,
+ Fixed xCenter,
+ Fixed yCenter) THREEWORDINLINE(0x303C, 0x003A, 0xA832);
+
+
+/*
+ * MapPoints()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+MapPoints(
+ const gxMapping * source,
+ long count,
+ gxPoint theVector[]) THREEWORDINLINE(0x303C, 0x003B, 0xA832);
+
+
+/*
+ * FirstBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+FirstBit(unsigned long x) THREEWORDINLINE(0x303C, 0x003C, 0xA832);
+
+
+/*
+ * WideScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+WideScale(const wide * source) THREEWORDINLINE(0x303C, 0x003D, 0xA832);
+
+
+/*
+ * LinearRoot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+LinearRoot(
+ Fixed first,
+ Fixed last,
+ Fract t[]) THREEWORDINLINE(0x303C, 0x003E, 0xA832);
+
+
+/*
+ * QuadraticRoot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+QuadraticRoot(
+ Fixed first,
+ Fixed control,
+ Fixed last,
+ Fract t[]) THREEWORDINLINE(0x303C, 0x003F, 0xA832);
+
+
+/*
+ * PolarToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxPoint * )
+PolarToPoint(
+ const gxPolar * ra,
+ gxPoint * xy) THREEWORDINLINE(0x303C, 0x0040, 0xA832);
+
+
+/*
+ * PointToPolar()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxPolar * )
+PointToPolar(
+ const gxPoint * xy,
+ gxPolar * ra) THREEWORDINLINE(0x303C, 0x0041, 0xA832);
+
+
+/*
+ * FractCubeRoot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Fract )
+FractCubeRoot(Fract source) THREEWORDINLINE(0x303C, 0x0042, 0xA832);
+
+
+/*
+ * FractDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Fract )
+FractDivide(
+ Fract dividend,
+ Fract divisor) THREEWORDINLINE(0x303C, 0x0043, 0xA832);
+
+
+/*
+ * FractMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Fract )
+FractMultiply(
+ Fract multiplicand,
+ Fract multiplier) THREEWORDINLINE(0x303C, 0x0044, 0xA832);
+
+
+/*
+ * FractSineCosine()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Fract )
+FractSineCosine(
+ Fixed degrees,
+ Fract * cosine) THREEWORDINLINE(0x303C, 0x0045, 0xA832);
+
+
+/*
+ * FractSquareRoot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Fract )
+FractSquareRoot(Fract source) THREEWORDINLINE(0x303C, 0x0046, 0xA832);
+
+
+/*
+ * FixedDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Fixed )
+FixedDivide(
+ Fixed dividend,
+ Fixed divisor) THREEWORDINLINE(0x303C, 0x0047, 0xA832);
+
+
+/*
+ * FixedMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Fixed )
+FixedMultiply(
+ Fixed multiplicand,
+ Fixed multiplier) THREEWORDINLINE(0x303C, 0x0048, 0xA832);
+
+
+/* This next call is (source * multiplier / divisor) -- it avoids underflow, overflow by using wides */
+/*
+ * MultiplyDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+MultiplyDivide(
+ long source,
+ long multiplier,
+ long divisor) THREEWORDINLINE(0x303C, 0x0049, 0xA832);
+
+
+/*
+ * Magnitude()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+Magnitude(
+ long deltaX,
+ long deltaY) THREEWORDINLINE(0x303C, 0x004A, 0xA832);
+
+
+/*
+ * VectorMultiplyDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+VectorMultiplyDivide(
+ long count,
+ const long * vector1,
+ long step1,
+ const long * vector2,
+ long step2,
+ long divisor) THREEWORDINLINE(0x303C, 0x004B, 0xA832);
+
+
+
+
+
+/* wide operations are defined within FixMath.h for PowerPC */
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_OS_MAC && TARGET_CPU_68K
#if CALL_NOT_IN_CARBON
- /*
- * WideAdd()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(wide *)
- WideAdd(
- wide * target,
- const wide * source) THREEWORDINLINE(0x303C, 0x004C, 0xA832);
-
-
- /*
- * WideCompare()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- WideCompare(
- const wide * target,
- const wide * source) THREEWORDINLINE(0x303C, 0x004D, 0xA832);
-
-
- /*
- * WideNegate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(wide *)
- WideNegate(wide * target) THREEWORDINLINE(0x303C, 0x004E, 0xA832);
-
-
- /*
- * WideShift()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(wide *)
- WideShift(
- wide * target,
- long shift) THREEWORDINLINE(0x303C, 0x004F, 0xA832);
-
-
- /*
- * WideSquareRoot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- WideSquareRoot(const wide * source) THREEWORDINLINE(0x303C, 0x0050, 0xA832);
-
-
- /*
- * WideSubtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(wide *)
- WideSubtract(
- wide * target,
- const wide * source) THREEWORDINLINE(0x303C, 0x0051, 0xA832);
-
-
- /*
- * WideMultiply()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(wide *)
- WideMultiply(
- long multiplicand,
- long multiplier,
- wide * target) THREEWORDINLINE(0x303C, 0x0052, 0xA832);
-
-
- /* returns the quotient */
- /*
- * WideDivide()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- WideDivide(
- const wide * dividend,
- long divisor,
- long * remainder) THREEWORDINLINE(0x303C, 0x0053, 0xA832);
-
-
- /* quotient replaces dividend */
- /*
- * WideWideDivide()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(wide *)
- WideWideDivide(
- wide * dividend,
- long divisor,
- long * remainder) THREEWORDINLINE(0x303C, 0x0055, 0xA832);
+/*
+ * WideAdd()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( wide * )
+WideAdd(
+ wide * target,
+ const wide * source) THREEWORDINLINE(0x303C, 0x004C, 0xA832);
+
+
+/*
+ * WideCompare()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+WideCompare(
+ const wide * target,
+ const wide * source) THREEWORDINLINE(0x303C, 0x004D, 0xA832);
+
+
+/*
+ * WideNegate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( wide * )
+WideNegate(wide * target) THREEWORDINLINE(0x303C, 0x004E, 0xA832);
+
+
+/*
+ * WideShift()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( wide * )
+WideShift(
+ wide * target,
+ long shift) THREEWORDINLINE(0x303C, 0x004F, 0xA832);
+
+
+/*
+ * WideSquareRoot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+WideSquareRoot(const wide * source) THREEWORDINLINE(0x303C, 0x0050, 0xA832);
+
+
+/*
+ * WideSubtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( wide * )
+WideSubtract(
+ wide * target,
+ const wide * source) THREEWORDINLINE(0x303C, 0x0051, 0xA832);
+
+
+/*
+ * WideMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( wide * )
+WideMultiply(
+ long multiplicand,
+ long multiplier,
+ wide * target) THREEWORDINLINE(0x303C, 0x0052, 0xA832);
+
+
+/* returns the quotient */
+/*
+ * WideDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+WideDivide(
+ const wide * dividend,
+ long divisor,
+ long * remainder) THREEWORDINLINE(0x303C, 0x0053, 0xA832);
+
+
+/* quotient replaces dividend */
+/*
+ * WideWideDivide()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( wide * )
+WideWideDivide(
+ wide * dividend,
+ long divisor,
+ long * remainder) THREEWORDINLINE(0x303C, 0x0055, 0xA832);
#endif /* CALL_NOT_IN_CARBON */
@@ -617,60 +614,60 @@ extern "C" {
#if CALL_NOT_IN_CARBON
- /*
- * VectorMultiply()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(wide *)
- VectorMultiply(
- long count,
- const long * vector1,
- long step1,
- const long * vector2,
- long step2,
- wide * dot) THREEWORDINLINE(0x303C, 0x0054, 0xA832);
-
-
- /*
- * RandomBits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- RandomBits(
- long count,
- long focus) THREEWORDINLINE(0x303C, 0x0056, 0xA832);
-
-
- /*
- * SetRandomSeed()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- SetRandomSeed(const wide * seed) THREEWORDINLINE(0x303C, 0x0057, 0xA832);
-
-
- /*
- * GetRandomSeed()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(wide *)
- GetRandomSeed(wide * seed) THREEWORDINLINE(0x303C, 0x0058, 0xA832);
+/*
+ * VectorMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( wide * )
+VectorMultiply(
+ long count,
+ const long * vector1,
+ long step1,
+ const long * vector2,
+ long step2,
+ wide * dot) THREEWORDINLINE(0x303C, 0x0054, 0xA832);
+
+
+/*
+ * RandomBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+RandomBits(
+ long count,
+ long focus) THREEWORDINLINE(0x303C, 0x0056, 0xA832);
+
+
+/*
+ * SetRandomSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+SetRandomSeed(const wide * seed) THREEWORDINLINE(0x303C, 0x0057, 0xA832);
+
+
+/*
+ * GetRandomSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( wide * )
+GetRandomSeed(wide * seed) THREEWORDINLINE(0x303C, 0x0058, 0xA832);
#endif /* CALL_NOT_IN_CARBON */
@@ -719,18 +716,18 @@ extern "C" {
#define fl(a) FloatToFixed(a)
#endif
-
+
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma pop
+ #pragma pop
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/GXTypes.h b/include/qt/GXTypes.h
index 9956da38a..4224c3473 100644
--- a/include/qt/GXTypes.h
+++ b/include/qt/GXTypes.h
@@ -1,18 +1,18 @@
/*
File: GXTypes.h
-
+
Contains: QuickDraw GX object and constant definitions
-
+
Version: Technology: Quickdraw GX 1.1
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-1999 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 __GXTYPES__
#define __GXTYPES__
@@ -53,2023 +53,1824 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct OpaquegxShape* gxShape;
- typedef struct OpaquegxStyle* gxStyle;
- typedef struct OpaquegxInk* gxInk;
- typedef struct OpaquegxTransform* gxTransform;
- typedef struct OpaquegxTag* gxTag;
- typedef struct OpaquegxColorSet* gxColorSet;
- typedef struct OpaquegxColorProfile* gxColorProfile;
- typedef struct OpaquegxGraphicsClient* gxGraphicsClient;
- typedef struct OpaquegxViewGroup* gxViewGroup;
- typedef struct OpaquegxViewPort* gxViewPort;
- typedef struct OpaquegxViewDevice* gxViewDevice;
-
- typedef long gxColorSpace;
- /* gxShape enumerations */
- enum
- {
- gxEmptyType = 1,
- gxPointType = 2,
- gxLineType = 3,
- gxCurveType = 4,
- gxRectangleType = 5,
- gxPolygonType = 6,
- gxPathType = 7,
- gxBitmapType = 8,
- gxTextType = 9,
- gxGlyphType = 10,
- gxLayoutType = 11,
- gxFullType = 12,
- gxPictureType = 13
- };
-
- typedef long gxShapeType;
- enum
- {
- gxNoFill = 0,
- gxOpenFrameFill = 1,
- gxFrameFill = gxOpenFrameFill,
- gxClosedFrameFill = 2,
- gxHollowFill = gxClosedFrameFill,
- gxEvenOddFill = 3,
- gxSolidFill = gxEvenOddFill,
- gxWindingFill = 4,
- gxInverseEvenOddFill = 5,
- gxInverseSolidFill = gxInverseEvenOddFill,
- gxInverseFill = gxInverseEvenOddFill,
- gxInverseWindingFill = 6
- };
-
- typedef long gxShapeFill;
- enum
- {
- gxNoAttributes = 0,
- gxDirectShape = 0x0001,
- gxRemoteShape = 0x0002,
- gxCachedShape = 0x0004,
- gxLockedShape = 0x0008,
- gxGroupShape = 0x0010,
- gxMapTransformShape = 0x0020,
- gxUniqueItemsShape = 0x0040,
- gxIgnorePlatformShape = 0x0080,
- gxNoMetricsGridShape = 0x0100,
- gxDiskShape = 0x0200,
- gxMemoryShape = 0x0400
- };
-
- typedef long gxShapeAttribute;
- /* gxShape editing enumerations */
- enum
- {
- gxBreakNeitherEdit = 0,
- gxBreakLeftEdit = 0x0001,
- gxBreakRightEdit = 0x0002,
- gxRemoveDuplicatePointsEdit = 0x0004
- };
-
- /* if the new first (or last) point exactly matches the point before it in */
- /* the same contour, then remove it) */
- typedef long gxEditShapeFlag;
- enum
- {
- gxSelectToEnd = -1
- };
+typedef struct OpaquegxShape* gxShape;
+typedef struct OpaquegxStyle* gxStyle;
+typedef struct OpaquegxInk* gxInk;
+typedef struct OpaquegxTransform* gxTransform;
+typedef struct OpaquegxTag* gxTag;
+typedef struct OpaquegxColorSet* gxColorSet;
+typedef struct OpaquegxColorProfile* gxColorProfile;
+typedef struct OpaquegxGraphicsClient* gxGraphicsClient;
+typedef struct OpaquegxViewGroup* gxViewGroup;
+typedef struct OpaquegxViewPort* gxViewPort;
+typedef struct OpaquegxViewDevice* gxViewDevice;
+
+typedef long gxColorSpace;
+/* gxShape enumerations */
+enum {
+ gxEmptyType = 1,
+ gxPointType = 2,
+ gxLineType = 3,
+ gxCurveType = 4,
+ gxRectangleType = 5,
+ gxPolygonType = 6,
+ gxPathType = 7,
+ gxBitmapType = 8,
+ gxTextType = 9,
+ gxGlyphType = 10,
+ gxLayoutType = 11,
+ gxFullType = 12,
+ gxPictureType = 13
+};
+
+typedef long gxShapeType;
+enum {
+ gxNoFill = 0,
+ gxOpenFrameFill = 1,
+ gxFrameFill = gxOpenFrameFill,
+ gxClosedFrameFill = 2,
+ gxHollowFill = gxClosedFrameFill,
+ gxEvenOddFill = 3,
+ gxSolidFill = gxEvenOddFill,
+ gxWindingFill = 4,
+ gxInverseEvenOddFill = 5,
+ gxInverseSolidFill = gxInverseEvenOddFill,
+ gxInverseFill = gxInverseEvenOddFill,
+ gxInverseWindingFill = 6
+};
+
+typedef long gxShapeFill;
+enum {
+ gxNoAttributes = 0,
+ gxDirectShape = 0x0001,
+ gxRemoteShape = 0x0002,
+ gxCachedShape = 0x0004,
+ gxLockedShape = 0x0008,
+ gxGroupShape = 0x0010,
+ gxMapTransformShape = 0x0020,
+ gxUniqueItemsShape = 0x0040,
+ gxIgnorePlatformShape = 0x0080,
+ gxNoMetricsGridShape = 0x0100,
+ gxDiskShape = 0x0200,
+ gxMemoryShape = 0x0400
+};
+
+typedef long gxShapeAttribute;
+/* gxShape editing enumerations */
+enum {
+ gxBreakNeitherEdit = 0,
+ gxBreakLeftEdit = 0x0001,
+ gxBreakRightEdit = 0x0002,
+ gxRemoveDuplicatePointsEdit = 0x0004
+};
+
+/* if the new first (or last) point exactly matches the point before it in */
+/* the same contour, then remove it) */
+typedef long gxEditShapeFlag;
+enum {
+ gxSelectToEnd = -1
+};
#define gxSetToNil (void *)(-1)
#define gxAnyNumber 1
- enum
- {
- gxCounterclockwiseDirection = 0,
- gxClockwiseDirection = 1
- };
-
- typedef long gxContourDirection;
- /* gxShape structures */
- /* The type 'gxPoint' is defined in "GXMath.h" */
- struct gxLine
- {
- gxPoint first;
- gxPoint last;
- };
- typedef struct gxLine gxLine;
- struct gxCurve
- {
- gxPoint first;
- gxPoint control;
- gxPoint last;
- };
- typedef struct gxCurve gxCurve;
- struct gxRectangle
- {
- Fixed left;
- Fixed top;
- Fixed right;
- Fixed bottom;
- };
- typedef struct gxRectangle gxRectangle;
- struct gxPolygon
- {
- long vectors;
- gxPoint vector[1];
- };
- typedef struct gxPolygon gxPolygon;
- struct gxPolygons
- {
- long contours;
- gxPolygon contour[1];
- };
- typedef struct gxPolygons gxPolygons;
- /* Now defined in ImageCodec.i*/
+enum {
+ gxCounterclockwiseDirection = 0,
+ gxClockwiseDirection = 1
+};
+
+typedef long gxContourDirection;
+/* gxShape structures */
+/* The type 'gxPoint' is defined in "GXMath.h" */
+struct gxLine {
+ gxPoint first;
+ gxPoint last;
+};
+typedef struct gxLine gxLine;
+struct gxCurve {
+ gxPoint first;
+ gxPoint control;
+ gxPoint last;
+};
+typedef struct gxCurve gxCurve;
+struct gxRectangle {
+ Fixed left;
+ Fixed top;
+ Fixed right;
+ Fixed bottom;
+};
+typedef struct gxRectangle gxRectangle;
+struct gxPolygon {
+ long vectors;
+ gxPoint vector[1];
+};
+typedef struct gxPolygon gxPolygon;
+struct gxPolygons {
+ long contours;
+ gxPolygon contour[1];
+};
+typedef struct gxPolygons gxPolygons;
+/* Now defined in ImageCodec.i*/
#if 0
- struct gxPath
- {
- long vectors;
- long controlBits[1];
- gxPoint vector[1];
- };
- typedef struct gxPath gxPath;
- struct gxPaths
- {
- long contours;
- gxPath contour[1];
- };
- typedef struct gxPaths gxPaths;
+struct gxPath {
+ long vectors;
+ long controlBits[1];
+ gxPoint vector[1];
+};
+typedef struct gxPath gxPath;
+struct gxPaths {
+ long contours;
+ gxPath contour[1];
+};
+typedef struct gxPaths gxPaths;
#endif /* 0 */
- struct gxBitmap
- {
- char *image; /* pointer to pixels */
- long width; /* width in pixels */
- long height; /* height in pixels */
- long rowBytes; /* width in bytes */
- long pixelSize; /* physical bits per pixel */
- gxColorSpace space;
- gxColorSet set;
- gxColorProfile profile;
- };
- typedef struct gxBitmap gxBitmap;
- struct gxLongRectangle
- {
- long left;
- long top;
- long right;
- long bottom;
- };
- typedef struct gxLongRectangle gxLongRectangle;
- /* gxStyle enumerations */
- enum
- {
- gxCenterFrameStyle = 0,
- gxSourceGridStyle = 0x0001,
- gxDeviceGridStyle = 0x0002,
- gxInsideFrameStyle = 0x0004,
- gxOutsideFrameStyle = 0x0008,
- gxAutoInsetStyle = 0x0010
- };
-
-
- typedef long gxStyleAttribute;
- enum
- {
- gxBendDash = 0x0001,
- gxBreakDash = 0x0002,
- gxClipDash = 0x0004,
- gxLevelDash = 0x0008,
- gxAutoAdvanceDash = 0x0010
- };
-
- typedef long gxDashAttribute;
- enum
- {
- gxPortAlignPattern = 0x0001,
- gxPortMapPattern = 0x0002
- };
-
- typedef long gxPatternAttribute;
- enum
- {
- gxSharpJoin = 0x0000,
- gxCurveJoin = 0x0001,
- gxLevelJoin = 0x0002,
- gxSnapJoin = 0x0004
- };
-
- typedef long gxJoinAttribute;
- enum
- {
- gxLevelStartCap = 0x0001,
- gxLevelEndCap = 0x0002
- };
-
- typedef long gxCapAttribute;
- enum
- {
- gxAutoAdvanceText = 0x0001,
- gxNoContourGridText = 0x0002,
- gxNoMetricsGridText = 0x0004,
- gxAnchorPointsText = 0x0008,
- gxVerticalText = 0x0010,
- gxNoOpticalScaleText = 0x0020
- };
-
- typedef long gxTextAttribute;
- enum
- {
- gxLeftJustify = 0,
- gxCenterJustify = fract1 / 2,
- gxRightJustify = fract1,
- gxFillJustify = -1
- };
-
- enum
- {
- gxUnderlineAdvanceLayer = 0x0001, /* a gxLine is drawn through the advances */
- gxSkipWhiteSpaceLayer = 0x0002, /* except characters describing white space */
- gxUnderlineIntervalLayer = 0x0004, /* (+ gxStringLayer) a gxLine is drawn through the gaps between advances */
- gxUnderlineContinuationLayer = 0x0008, /* (+ gxStringLayer) join this underline with another face */
- gxWhiteLayer = 0x0010, /* the layer draws to white instead of black */
- gxClipLayer = 0x0020, /* the characters define a clip */
- gxStringLayer = 0x0040 /* all characters in run are combined */
- };
-
- typedef long gxLayerFlag;
- /* gxStyle structures */
- struct gxFaceLayer
- {
- gxShapeFill outlineFill; /* outline framed or filled */
- gxLayerFlag flags; /* various additional effects */
- gxStyle outlineStyle; /* outline */
- gxTransform outlineTransform; /* italic, condense, extend */
- gxPoint boldOutset; /* bold */
- };
- typedef struct gxFaceLayer gxFaceLayer;
- struct gxTextFace
- {
- long faceLayers; /* layer to implement shadow */
- gxMapping advanceMapping; /* algorithmic change to advance width */
- gxFaceLayer faceLayer[1]; /* zero or more face layers describing the face */
- };
- typedef struct gxTextFace gxTextFace;
- struct gxJoinRecord
- {
- gxJoinAttribute attributes;
- gxShape join;
- Fixed miter;
- };
- typedef struct gxJoinRecord gxJoinRecord;
- struct gxDashRecord
- {
- gxDashAttribute attributes;
- gxShape dash; /* similar to pattern, except rotated to gxLine slope */
- Fixed advance; /* specifies repeating frequency of dash */
- Fract phase; /* specifies offset into the gxPath to start dashing */
- Fixed scale; /* specifies height of dash to be mapped to penWidth */
- };
- typedef struct gxDashRecord gxDashRecord;
- struct gxPatternRecord
- {
- gxPatternAttribute attributes;
- gxShape pattern;
- gxPoint u;
- gxPoint v;
- };
- typedef struct gxPatternRecord gxPatternRecord;
- struct gxCapRecord
- {
- gxCapAttribute attributes;
- gxShape startCap;
- gxShape endCap;
- };
- typedef struct gxCapRecord gxCapRecord;
-
- /* gxInk enumerations */
- enum
- {
- gxPortAlignDitherInk = 0x0001,
- gxForceDitherInk = 0x0002,
- gxSuppressDitherInk = 0x0004,
- gxSuppressHalftoneInk = 0x0008
- };
-
-
- typedef long gxInkAttribute;
- enum
- {
- gxNoMode = 0,
- gxCopyMode = 1,
- gxAddMode = 2,
- gxBlendMode = 3,
- gxMigrateMode = 4,
- gxMinimumMode = 5,
- gxMaximumMode = 6,
- gxHighlightMode = 7,
- gxAndMode = 8,
- gxOrMode = 9,
- gxXorMode = 10,
- gxRampAndMode = 11,
- gxRampOrMode = 12,
- gxRampXorMode = 13,
- gxOverMode = 14, /* Alpha channel modes */
- gxAtopMode = 15, /* Note: In England = Beta channel modes */
- gxExcludeMode = 16,
- gxFadeMode = 17
- };
-
- typedef unsigned char gxComponentMode;
- enum
- {
- gxRejectSourceTransfer = 0x0001, /* at least one component must be out of range */
- gxRejectDeviceTransfer = 0x0002, /* at least one component must be out of range */
- gxSingleComponentTransfer = 0x0004 /* duplicate gxTransferComponent[0] for all components in transfer */
- };
-
- typedef long gxTransferFlag;
- enum
- {
- gxOverResultComponent = 0x01, /* & result gxColor with 0xFFFF before clamping */
- gxReverseComponent = 0x02 /* reverse source and device before moding */
- };
-
- typedef unsigned char gxComponentFlag;
- /* gxInk structures */
- struct gxTransferComponent
- {
- gxComponentMode mode; /* how the component is operated upon */
- gxComponentFlag flags; /* flags for each component */
- gxColorValue sourceMinimum;
- gxColorValue sourceMaximum; /* input filter range */
- gxColorValue deviceMinimum;
- gxColorValue deviceMaximum; /* output filter range */
- gxColorValue clampMinimum;
- gxColorValue clampMaximum; /* output clamping range */
- gxColorValue operand; /* ratio for blend, step for migrate, gxColor for highlight */
- };
- typedef struct gxTransferComponent gxTransferComponent;
- struct gxTransferMode
- {
- gxColorSpace space; /* the gxColor-space the transfer mode is to operate in */
- gxColorSet set;
- gxColorProfile profile;
- Fixed sourceMatrix[5][4];
- Fixed deviceMatrix[5][4];
- Fixed resultMatrix[5][4];
- gxTransferFlag flags;
- gxTransferComponent component[4]; /* how each component is operated upon */
- };
- typedef struct gxTransferMode gxTransferMode;
-
- /* gxColor space enumerations */
- enum
- {
- gxNoColorPacking = 0x0000, /* 16 bits per channel */
- gxAlphaSpace = 0x0080, /* space includes alpha channel */
- gxWord5ColorPacking = 0x0500, /* 5 bits per channel, right-justified */
- gxLong8ColorPacking = 0x0800, /* 8 bits per channel, right-justified */
- gxLong10ColorPacking = 0x0A00, /* 10 bits per channel, right-justified */
- gxAlphaFirstPacking = 0x1000 /* alpha channel is the first field in the packed space */
- };
-
- enum
- {
- gxNoSpace = 0,
- gxRGBSpace = 1,
- gxCMYKSpace = 2,
- gxHSVSpace = 3,
- gxHLSSpace = 4,
- gxYXYSpace = 5,
- gxXYZSpace = 6,
- gxLUVSpace = 7,
- gxLABSpace = 8,
- gxYIQSpace = 9,
- gxNTSCSpace = gxYIQSpace,
- gxPALSpace = gxYIQSpace,
- gxGraySpace = 10,
- gxIndexedSpace = 11,
- gxRGBASpace = gxRGBSpace + gxAlphaSpace,
- gxGrayASpace = gxGraySpace + gxAlphaSpace,
- gxRGB16Space = gxWord5ColorPacking + gxRGBSpace,
- gxRGB32Space = gxLong8ColorPacking + gxRGBSpace,
- gxARGB32Space = gxLong8ColorPacking + gxAlphaFirstPacking + gxRGBASpace,
- gxCMYK32Space = gxLong8ColorPacking + gxCMYKSpace,
- gxHSV32Space = gxLong10ColorPacking + gxHSVSpace,
- gxHLS32Space = gxLong10ColorPacking + gxHLSSpace,
- gxYXY32Space = gxLong10ColorPacking + gxYXYSpace,
- gxXYZ32Space = gxLong10ColorPacking + gxXYZSpace,
- gxLUV32Space = gxLong10ColorPacking + gxLUVSpace,
- gxLAB32Space = gxLong10ColorPacking + gxLABSpace,
- gxYIQ32Space = gxLong10ColorPacking + gxYIQSpace,
- gxNTSC32Space = gxYIQ32Space,
- gxPAL32Space = gxYIQ32Space
- };
-
- /* gxColor space structures */
- struct gxRGBColor
- {
- gxColorValue red;
- gxColorValue green;
- gxColorValue blue;
- };
- typedef struct gxRGBColor gxRGBColor;
- struct gxRGBAColor
- {
- gxColorValue red;
- gxColorValue green;
- gxColorValue blue;
- gxColorValue alpha;
- };
- typedef struct gxRGBAColor gxRGBAColor;
- struct gxHSVColor
- {
- gxColorValue hue;
- gxColorValue saturation;
- gxColorValue value;
- };
- typedef struct gxHSVColor gxHSVColor;
- struct gxHLSColor
- {
- gxColorValue hue;
- gxColorValue lightness;
- gxColorValue saturation;
- };
- typedef struct gxHLSColor gxHLSColor;
- struct gxCMYKColor
- {
- gxColorValue cyan;
- gxColorValue magenta;
- gxColorValue yellow;
- gxColorValue black;
- };
- typedef struct gxCMYKColor gxCMYKColor;
- struct gxXYZColor
- {
- gxColorValue x;
- gxColorValue y;
- gxColorValue z;
- };
- typedef struct gxXYZColor gxXYZColor;
- struct gxYXYColor
- {
- gxColorValue capY;
- gxColorValue x;
- gxColorValue y;
- };
- typedef struct gxYXYColor gxYXYColor;
- struct gxLUVColor
- {
- gxColorValue l;
- gxColorValue u;
- gxColorValue v;
- };
- typedef struct gxLUVColor gxLUVColor;
- struct gxLABColor
- {
- gxColorValue l;
- gxColorValue a;
- gxColorValue b;
- };
- typedef struct gxLABColor gxLABColor;
- struct gxYIQColor
- {
- gxColorValue y;
- gxColorValue i;
- gxColorValue q;
- };
- typedef struct gxYIQColor gxYIQColor;
- struct gxGrayAColor
- {
- gxColorValue gray;
- gxColorValue alpha;
- };
- typedef struct gxGrayAColor gxGrayAColor;
-
- typedef long gxColorIndex;
- struct gxIndexedColor
- {
- gxColorIndex index;
- gxColorSet set;
- };
- typedef struct gxIndexedColor gxIndexedColor;
- struct gxColor
- {
- gxColorSpace space;
- gxColorProfile profile;
- union
- {
- gxCMYKColor cmyk;
- gxRGBColor rgb;
- gxRGBAColor rgba;
- gxHSVColor hsv;
- gxHLSColor hls;
- gxXYZColor xyz;
- gxYXYColor yxy;
- gxLUVColor luv;
- gxLABColor lab;
- gxYIQColor yiq;
- gxColorValue gray;
- gxGrayAColor graya;
- unsigned short pixel16;
- unsigned long pixel32;
- gxIndexedColor indexed;
- gxColorValue component[4];
- } element;
- };
- typedef struct gxColor gxColor;
-
- /* gxColorSet structures */
- union gxSetColor
- {
- gxCMYKColor cmyk;
- gxRGBColor rgb;
- gxRGBAColor rgba;
- gxHSVColor hsv;
- gxHLSColor hls;
- gxXYZColor xyz;
- gxYXYColor yxy;
- gxLUVColor luv;
- gxLABColor lab;
- gxYIQColor yiq;
- gxColorValue gray;
- gxGrayAColor graya;
- unsigned short pixel16;
- unsigned long pixel32;
- gxColorValue component[4];
- };
- typedef union gxSetColor gxSetColor;
- /* gxTransform enumerations */
- /* parts of a gxShape considered in hit testing: */
- enum
- {
- gxNoPart = 0, /* (in order of evaluation) */
- gxBoundsPart = 0x0001,
- gxGeometryPart = 0x0002,
- gxPenPart = 0x0004,
- gxCornerPointPart = 0x0008,
- gxControlPointPart = 0x0010,
- gxEdgePart = 0x0020,
- gxJoinPart = 0x0040,
- gxStartCapPart = 0x0080,
- gxEndCapPart = 0x0100,
- gxDashPart = 0x0200,
- gxPatternPart = 0x0400,
- gxGlyphBoundsPart = gxJoinPart,
- gxGlyphFirstPart = gxStartCapPart,
- gxGlyphLastPart = gxEndCapPart,
- gxSideBearingPart = gxDashPart,
- gxAnyPart = gxBoundsPart | gxGeometryPart | gxPenPart | gxCornerPointPart | gxControlPointPart | gxEdgePart | gxJoinPart | gxStartCapPart | gxEndCapPart | gxDashPart | gxPatternPart
- };
-
-
- typedef long gxShapePart;
- /* gxTransform structures */
- struct gxHitTestInfo
- {
- gxShapePart what; /* which part of gxShape */
- long index; /* control gxPoint index */
- Fixed distance; /* how far from gxPoint or outside of area click was */
-
- /* these fields are only set by GXHitTestPicture */
- gxShape which;
- gxShape containerPicture; /* picture which contains gxShape hit */
- long containerIndex; /* the index within that picture */
- long totalIndex; /* the total index within the root picture */
- };
- typedef struct gxHitTestInfo gxHitTestInfo;
- /* gxViewPort enumerations */
- enum
- {
- gxGrayPort = 0x0001,
- gxAlwaysGridPort = 0x0002,
- gxEnableMatchPort = 0x0004
- };
-
-
- typedef long gxPortAttribute;
- /* gxViewDevice enumerations */
- enum
- {
- gxDirectDevice = 0x01, /* for the device gxBitmap baseAddr pointer */
- gxRemoteDevice = 0x02,
- gxInactiveDevice = 0x04
- };
-
- typedef long gxDeviceAttribute;
- enum
- {
- gxRoundDot = 1,
- gxSpiralDot = 2,
- gxSquareDot = 3,
- gxLineDot = 4,
- gxEllipticDot = 5,
- gxTriangleDot = 6,
- gxDispersedDot = 7,
- gxCustomDot = 8
- };
-
- typedef long gxDotType;
- /* gxViewPort structures */
- enum
- {
- gxNoTint = 0,
- gxLuminanceTint = 1, /* use the luminance of the gxColor */
- gxAverageTint = 2, /* add all the components and divide by the number of components */
- gxMixtureTint = 3, /* find the closest gxColor on the axis between the foreground and background */
- gxComponent1Tint = 4, /* use the value of the first component of the gxColor */
- gxComponent2Tint = 5, /* ... etc. */
- gxComponent3Tint = 6,
- gxComponent4Tint = 7
- };
-
- typedef long gxTintType;
- struct gxHalftone
- {
- Fixed angle;
- Fixed frequency;
- gxDotType method;
- gxTintType tinting;
- gxColor dotColor;
- gxColor backgroundColor;
- gxColorSpace tintSpace;
- };
- typedef struct gxHalftone gxHalftone;
- struct gxHalftoneMatrix
- {
- Fixed dpiX; /* intended resolution */
- Fixed dpiY;
- long width; /* width of matrix (in device pixels) */
- long height; /* height of matrix (in device pixels) */
- long tileShift; /* shift amount (in samples) for rectangular tiling */
- unsigned short samples[1]; /* samples from 0..MAX(halftone tintSpace) */
- };
- typedef struct gxHalftoneMatrix gxHalftoneMatrix;
- /* gxViewGroup enumerations */
+struct gxBitmap {
+ char *image; /* pointer to pixels */
+ long width; /* width in pixels */
+ long height; /* height in pixels */
+ long rowBytes; /* width in bytes */
+ long pixelSize; /* physical bits per pixel */
+ gxColorSpace space;
+ gxColorSet set;
+ gxColorProfile profile;
+};
+typedef struct gxBitmap gxBitmap;
+struct gxLongRectangle {
+ long left;
+ long top;
+ long right;
+ long bottom;
+};
+typedef struct gxLongRectangle gxLongRectangle;
+/* gxStyle enumerations */
+enum {
+ gxCenterFrameStyle = 0,
+ gxSourceGridStyle = 0x0001,
+ gxDeviceGridStyle = 0x0002,
+ gxInsideFrameStyle = 0x0004,
+ gxOutsideFrameStyle = 0x0008,
+ gxAutoInsetStyle = 0x0010
+};
+
+
+typedef long gxStyleAttribute;
+enum {
+ gxBendDash = 0x0001,
+ gxBreakDash = 0x0002,
+ gxClipDash = 0x0004,
+ gxLevelDash = 0x0008,
+ gxAutoAdvanceDash = 0x0010
+};
+
+typedef long gxDashAttribute;
+enum {
+ gxPortAlignPattern = 0x0001,
+ gxPortMapPattern = 0x0002
+};
+
+typedef long gxPatternAttribute;
+enum {
+ gxSharpJoin = 0x0000,
+ gxCurveJoin = 0x0001,
+ gxLevelJoin = 0x0002,
+ gxSnapJoin = 0x0004
+};
+
+typedef long gxJoinAttribute;
+enum {
+ gxLevelStartCap = 0x0001,
+ gxLevelEndCap = 0x0002
+};
+
+typedef long gxCapAttribute;
+enum {
+ gxAutoAdvanceText = 0x0001,
+ gxNoContourGridText = 0x0002,
+ gxNoMetricsGridText = 0x0004,
+ gxAnchorPointsText = 0x0008,
+ gxVerticalText = 0x0010,
+ gxNoOpticalScaleText = 0x0020
+};
+
+typedef long gxTextAttribute;
+enum {
+ gxLeftJustify = 0,
+ gxCenterJustify = fract1 / 2,
+ gxRightJustify = fract1,
+ gxFillJustify = -1
+};
+
+enum {
+ gxUnderlineAdvanceLayer = 0x0001, /* a gxLine is drawn through the advances */
+ gxSkipWhiteSpaceLayer = 0x0002, /* except characters describing white space */
+ gxUnderlineIntervalLayer = 0x0004, /* (+ gxStringLayer) a gxLine is drawn through the gaps between advances */
+ gxUnderlineContinuationLayer = 0x0008, /* (+ gxStringLayer) join this underline with another face */
+ gxWhiteLayer = 0x0010, /* the layer draws to white instead of black */
+ gxClipLayer = 0x0020, /* the characters define a clip */
+ gxStringLayer = 0x0040 /* all characters in run are combined */
+};
+
+typedef long gxLayerFlag;
+/* gxStyle structures */
+struct gxFaceLayer {
+ gxShapeFill outlineFill; /* outline framed or filled */
+ gxLayerFlag flags; /* various additional effects */
+ gxStyle outlineStyle; /* outline */
+ gxTransform outlineTransform; /* italic, condense, extend */
+ gxPoint boldOutset; /* bold */
+};
+typedef struct gxFaceLayer gxFaceLayer;
+struct gxTextFace {
+ long faceLayers; /* layer to implement shadow */
+ gxMapping advanceMapping; /* algorithmic change to advance width */
+ gxFaceLayer faceLayer[1]; /* zero or more face layers describing the face */
+};
+typedef struct gxTextFace gxTextFace;
+struct gxJoinRecord {
+ gxJoinAttribute attributes;
+ gxShape join;
+ Fixed miter;
+};
+typedef struct gxJoinRecord gxJoinRecord;
+struct gxDashRecord {
+ gxDashAttribute attributes;
+ gxShape dash; /* similar to pattern, except rotated to gxLine slope */
+ Fixed advance; /* specifies repeating frequency of dash */
+ Fract phase; /* specifies offset into the gxPath to start dashing */
+ Fixed scale; /* specifies height of dash to be mapped to penWidth */
+};
+typedef struct gxDashRecord gxDashRecord;
+struct gxPatternRecord {
+ gxPatternAttribute attributes;
+ gxShape pattern;
+ gxPoint u;
+ gxPoint v;
+};
+typedef struct gxPatternRecord gxPatternRecord;
+struct gxCapRecord {
+ gxCapAttribute attributes;
+ gxShape startCap;
+ gxShape endCap;
+};
+typedef struct gxCapRecord gxCapRecord;
+
+/* gxInk enumerations */
+enum {
+ gxPortAlignDitherInk = 0x0001,
+ gxForceDitherInk = 0x0002,
+ gxSuppressDitherInk = 0x0004,
+ gxSuppressHalftoneInk = 0x0008
+};
+
+
+typedef long gxInkAttribute;
+enum {
+ gxNoMode = 0,
+ gxCopyMode = 1,
+ gxAddMode = 2,
+ gxBlendMode = 3,
+ gxMigrateMode = 4,
+ gxMinimumMode = 5,
+ gxMaximumMode = 6,
+ gxHighlightMode = 7,
+ gxAndMode = 8,
+ gxOrMode = 9,
+ gxXorMode = 10,
+ gxRampAndMode = 11,
+ gxRampOrMode = 12,
+ gxRampXorMode = 13,
+ gxOverMode = 14, /* Alpha channel modes */
+ gxAtopMode = 15, /* Note: In England = Beta channel modes */
+ gxExcludeMode = 16,
+ gxFadeMode = 17
+};
+
+typedef unsigned char gxComponentMode;
+enum {
+ gxRejectSourceTransfer = 0x0001, /* at least one component must be out of range */
+ gxRejectDeviceTransfer = 0x0002, /* at least one component must be out of range */
+ gxSingleComponentTransfer = 0x0004 /* duplicate gxTransferComponent[0] for all components in transfer */
+};
+
+typedef long gxTransferFlag;
+enum {
+ gxOverResultComponent = 0x01, /* & result gxColor with 0xFFFF before clamping */
+ gxReverseComponent = 0x02 /* reverse source and device before moding */
+};
+
+typedef unsigned char gxComponentFlag;
+/* gxInk structures */
+struct gxTransferComponent {
+ gxComponentMode mode; /* how the component is operated upon */
+ gxComponentFlag flags; /* flags for each component */
+ gxColorValue sourceMinimum;
+ gxColorValue sourceMaximum; /* input filter range */
+ gxColorValue deviceMinimum;
+ gxColorValue deviceMaximum; /* output filter range */
+ gxColorValue clampMinimum;
+ gxColorValue clampMaximum; /* output clamping range */
+ gxColorValue operand; /* ratio for blend, step for migrate, gxColor for highlight */
+};
+typedef struct gxTransferComponent gxTransferComponent;
+struct gxTransferMode {
+ gxColorSpace space; /* the gxColor-space the transfer mode is to operate in */
+ gxColorSet set;
+ gxColorProfile profile;
+ Fixed sourceMatrix[5][4];
+ Fixed deviceMatrix[5][4];
+ Fixed resultMatrix[5][4];
+ gxTransferFlag flags;
+ gxTransferComponent component[4]; /* how each component is operated upon */
+};
+typedef struct gxTransferMode gxTransferMode;
+
+/* gxColor space enumerations */
+enum {
+ gxNoColorPacking = 0x0000, /* 16 bits per channel */
+ gxAlphaSpace = 0x0080, /* space includes alpha channel */
+ gxWord5ColorPacking = 0x0500, /* 5 bits per channel, right-justified */
+ gxLong8ColorPacking = 0x0800, /* 8 bits per channel, right-justified */
+ gxLong10ColorPacking = 0x0A00, /* 10 bits per channel, right-justified */
+ gxAlphaFirstPacking = 0x1000 /* alpha channel is the first field in the packed space */
+};
+
+enum {
+ gxNoSpace = 0,
+ gxRGBSpace = 1,
+ gxCMYKSpace = 2,
+ gxHSVSpace = 3,
+ gxHLSSpace = 4,
+ gxYXYSpace = 5,
+ gxXYZSpace = 6,
+ gxLUVSpace = 7,
+ gxLABSpace = 8,
+ gxYIQSpace = 9,
+ gxNTSCSpace = gxYIQSpace,
+ gxPALSpace = gxYIQSpace,
+ gxGraySpace = 10,
+ gxIndexedSpace = 11,
+ gxRGBASpace = gxRGBSpace + gxAlphaSpace,
+ gxGrayASpace = gxGraySpace + gxAlphaSpace,
+ gxRGB16Space = gxWord5ColorPacking + gxRGBSpace,
+ gxRGB32Space = gxLong8ColorPacking + gxRGBSpace,
+ gxARGB32Space = gxLong8ColorPacking + gxAlphaFirstPacking + gxRGBASpace,
+ gxCMYK32Space = gxLong8ColorPacking + gxCMYKSpace,
+ gxHSV32Space = gxLong10ColorPacking + gxHSVSpace,
+ gxHLS32Space = gxLong10ColorPacking + gxHLSSpace,
+ gxYXY32Space = gxLong10ColorPacking + gxYXYSpace,
+ gxXYZ32Space = gxLong10ColorPacking + gxXYZSpace,
+ gxLUV32Space = gxLong10ColorPacking + gxLUVSpace,
+ gxLAB32Space = gxLong10ColorPacking + gxLABSpace,
+ gxYIQ32Space = gxLong10ColorPacking + gxYIQSpace,
+ gxNTSC32Space = gxYIQ32Space,
+ gxPAL32Space = gxYIQ32Space
+};
+
+/* gxColor space structures */
+struct gxRGBColor {
+ gxColorValue red;
+ gxColorValue green;
+ gxColorValue blue;
+};
+typedef struct gxRGBColor gxRGBColor;
+struct gxRGBAColor {
+ gxColorValue red;
+ gxColorValue green;
+ gxColorValue blue;
+ gxColorValue alpha;
+};
+typedef struct gxRGBAColor gxRGBAColor;
+struct gxHSVColor {
+ gxColorValue hue;
+ gxColorValue saturation;
+ gxColorValue value;
+};
+typedef struct gxHSVColor gxHSVColor;
+struct gxHLSColor {
+ gxColorValue hue;
+ gxColorValue lightness;
+ gxColorValue saturation;
+};
+typedef struct gxHLSColor gxHLSColor;
+struct gxCMYKColor {
+ gxColorValue cyan;
+ gxColorValue magenta;
+ gxColorValue yellow;
+ gxColorValue black;
+};
+typedef struct gxCMYKColor gxCMYKColor;
+struct gxXYZColor {
+ gxColorValue x;
+ gxColorValue y;
+ gxColorValue z;
+};
+typedef struct gxXYZColor gxXYZColor;
+struct gxYXYColor {
+ gxColorValue capY;
+ gxColorValue x;
+ gxColorValue y;
+};
+typedef struct gxYXYColor gxYXYColor;
+struct gxLUVColor {
+ gxColorValue l;
+ gxColorValue u;
+ gxColorValue v;
+};
+typedef struct gxLUVColor gxLUVColor;
+struct gxLABColor {
+ gxColorValue l;
+ gxColorValue a;
+ gxColorValue b;
+};
+typedef struct gxLABColor gxLABColor;
+struct gxYIQColor {
+ gxColorValue y;
+ gxColorValue i;
+ gxColorValue q;
+};
+typedef struct gxYIQColor gxYIQColor;
+struct gxGrayAColor {
+ gxColorValue gray;
+ gxColorValue alpha;
+};
+typedef struct gxGrayAColor gxGrayAColor;
+
+typedef long gxColorIndex;
+struct gxIndexedColor {
+ gxColorIndex index;
+ gxColorSet set;
+};
+typedef struct gxIndexedColor gxIndexedColor;
+struct gxColor {
+ gxColorSpace space;
+ gxColorProfile profile;
+ union {
+ gxCMYKColor cmyk;
+ gxRGBColor rgb;
+ gxRGBAColor rgba;
+ gxHSVColor hsv;
+ gxHLSColor hls;
+ gxXYZColor xyz;
+ gxYXYColor yxy;
+ gxLUVColor luv;
+ gxLABColor lab;
+ gxYIQColor yiq;
+ gxColorValue gray;
+ gxGrayAColor graya;
+ unsigned short pixel16;
+ unsigned long pixel32;
+ gxIndexedColor indexed;
+ gxColorValue component[4];
+ } element;
+};
+typedef struct gxColor gxColor;
+
+/* gxColorSet structures */
+union gxSetColor {
+ gxCMYKColor cmyk;
+ gxRGBColor rgb;
+ gxRGBAColor rgba;
+ gxHSVColor hsv;
+ gxHLSColor hls;
+ gxXYZColor xyz;
+ gxYXYColor yxy;
+ gxLUVColor luv;
+ gxLABColor lab;
+ gxYIQColor yiq;
+ gxColorValue gray;
+ gxGrayAColor graya;
+ unsigned short pixel16;
+ unsigned long pixel32;
+ gxColorValue component[4];
+};
+typedef union gxSetColor gxSetColor;
+/* gxTransform enumerations */
+/* parts of a gxShape considered in hit testing: */
+enum {
+ gxNoPart = 0, /* (in order of evaluation) */
+ gxBoundsPart = 0x0001,
+ gxGeometryPart = 0x0002,
+ gxPenPart = 0x0004,
+ gxCornerPointPart = 0x0008,
+ gxControlPointPart = 0x0010,
+ gxEdgePart = 0x0020,
+ gxJoinPart = 0x0040,
+ gxStartCapPart = 0x0080,
+ gxEndCapPart = 0x0100,
+ gxDashPart = 0x0200,
+ gxPatternPart = 0x0400,
+ gxGlyphBoundsPart = gxJoinPart,
+ gxGlyphFirstPart = gxStartCapPart,
+ gxGlyphLastPart = gxEndCapPart,
+ gxSideBearingPart = gxDashPart,
+ gxAnyPart = gxBoundsPart | gxGeometryPart | gxPenPart | gxCornerPointPart | gxControlPointPart | gxEdgePart | gxJoinPart | gxStartCapPart | gxEndCapPart | gxDashPart | gxPatternPart
+};
+
+
+typedef long gxShapePart;
+/* gxTransform structures */
+struct gxHitTestInfo {
+ gxShapePart what; /* which part of gxShape */
+ long index; /* control gxPoint index */
+ Fixed distance; /* how far from gxPoint or outside of area click was */
+
+ /* these fields are only set by GXHitTestPicture */
+ gxShape which;
+ gxShape containerPicture; /* picture which contains gxShape hit */
+ long containerIndex; /* the index within that picture */
+ long totalIndex; /* the total index within the root picture */
+};
+typedef struct gxHitTestInfo gxHitTestInfo;
+/* gxViewPort enumerations */
+enum {
+ gxGrayPort = 0x0001,
+ gxAlwaysGridPort = 0x0002,
+ gxEnableMatchPort = 0x0004
+};
+
+
+typedef long gxPortAttribute;
+/* gxViewDevice enumerations */
+enum {
+ gxDirectDevice = 0x01, /* for the device gxBitmap baseAddr pointer */
+ gxRemoteDevice = 0x02,
+ gxInactiveDevice = 0x04
+};
+
+typedef long gxDeviceAttribute;
+enum {
+ gxRoundDot = 1,
+ gxSpiralDot = 2,
+ gxSquareDot = 3,
+ gxLineDot = 4,
+ gxEllipticDot = 5,
+ gxTriangleDot = 6,
+ gxDispersedDot = 7,
+ gxCustomDot = 8
+};
+
+typedef long gxDotType;
+/* gxViewPort structures */
+enum {
+ gxNoTint = 0,
+ gxLuminanceTint = 1, /* use the luminance of the gxColor */
+ gxAverageTint = 2, /* add all the components and divide by the number of components */
+ gxMixtureTint = 3, /* find the closest gxColor on the axis between the foreground and background */
+ gxComponent1Tint = 4, /* use the value of the first component of the gxColor */
+ gxComponent2Tint = 5, /* ... etc. */
+ gxComponent3Tint = 6,
+ gxComponent4Tint = 7
+};
+
+typedef long gxTintType;
+struct gxHalftone {
+ Fixed angle;
+ Fixed frequency;
+ gxDotType method;
+ gxTintType tinting;
+ gxColor dotColor;
+ gxColor backgroundColor;
+ gxColorSpace tintSpace;
+};
+typedef struct gxHalftone gxHalftone;
+struct gxHalftoneMatrix {
+ Fixed dpiX; /* intended resolution */
+ Fixed dpiY;
+ long width; /* width of matrix (in device pixels) */
+ long height; /* height of matrix (in device pixels) */
+ long tileShift; /* shift amount (in samples) for rectangular tiling */
+ unsigned short samples[1]; /* samples from 0..MAX(halftone tintSpace) */
+};
+typedef struct gxHalftoneMatrix gxHalftoneMatrix;
+/* gxViewGroup enumerations */
#define gxAllViewDevices ((gxViewGroup) 0)
#define gxScreenViewDevices ((gxViewGroup) 1)
- /* graphics stream constants and structures */
- enum
- {
- gxOpenReadSpool = 1,
- gxOpenWriteSpool = 2,
- gxReadSpool = 3,
- gxWriteSpool = 4,
- gxCloseSpool = 5
- };
-
-
- typedef long gxSpoolCommand;
- typedef unsigned char gxGraphicsOpcode;
- typedef struct gxSpoolBlock gxSpoolBlock;
- typedef CALLBACK_API_C(long , gxSpoolProcPtr)(gxSpoolCommand command, gxSpoolBlock *block);
- typedef STACK_UPP_TYPE(gxSpoolProcPtr) gxSpoolUPP;
- struct gxSpoolBlock
- {
- gxSpoolUPP spoolProcedure; /* these fields are read only */
- void * buffer; /* source/destination pointer to data */
- long bufferSize; /* how many bytes for the system to read (flatten) / write (unflatten) */
- /* these fields are written to (but are not read from) */
- long count; /* how many bytes for the caller to read (unflatten) /write (flatten) */
- long operationSize; /* operation size (including operand byte) */
- long operationOffset; /* the data offset, if any, within the current operation */
- gxGraphicsOpcode lastTypeOpcode; /* type of last created object */
- gxGraphicsOpcode currentOperation; /* operation emitted by flatten, or intrepreted by last unflatten */
- gxGraphicsOpcode currentOperand; /* e.g., gxTransformTypeOpcode, gxInkTagOpcode */
- unsigned char compressed; /* one of: gxTwoBitCompressionValues */
- };
+/* graphics stream constants and structures */
+enum {
+ gxOpenReadSpool = 1,
+ gxOpenWriteSpool = 2,
+ gxReadSpool = 3,
+ gxWriteSpool = 4,
+ gxCloseSpool = 5
+};
+
+
+typedef long gxSpoolCommand;
+typedef unsigned char gxGraphicsOpcode;
+typedef struct gxSpoolBlock gxSpoolBlock;
+typedef CALLBACK_API_C( long , gxSpoolProcPtr )(gxSpoolCommand command, gxSpoolBlock *block);
+typedef STACK_UPP_TYPE(gxSpoolProcPtr) gxSpoolUPP;
+struct gxSpoolBlock {
+ gxSpoolUPP spoolProcedure; /* these fields are read only */
+ void * buffer; /* source/destination pointer to data */
+ long bufferSize; /* how many bytes for the system to read (flatten) / write (unflatten) */
+ /* these fields are written to (but are not read from) */
+ long count; /* how many bytes for the caller to read (unflatten) /write (flatten) */
+ long operationSize; /* operation size (including operand byte) */
+ long operationOffset; /* the data offset, if any, within the current operation */
+ gxGraphicsOpcode lastTypeOpcode; /* type of last created object */
+ gxGraphicsOpcode currentOperation; /* operation emitted by flatten, or intrepreted by last unflatten */
+ gxGraphicsOpcode currentOperand; /* e.g., gxTransformTypeOpcode, gxInkTagOpcode */
+ unsigned char compressed; /* one of: gxTwoBitCompressionValues */
+};
#if CALL_NOT_IN_CARBON
- /*
- * NewgxSpoolUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(gxSpoolUPP)
- NewgxSpoolUPP(gxSpoolProcPtr userRoutine);
+/*
+ * NewgxSpoolUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( gxSpoolUPP )
+NewgxSpoolUPP(gxSpoolProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppgxSpoolProcInfo = 0x000003F1 }; /* 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(gxSpoolUPP) NewgxSpoolUPP(gxSpoolProcPtr userRoutine)
- {
- return (gxSpoolUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxSpoolProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewgxSpoolUPP(userRoutine) (gxSpoolUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxSpoolProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppgxSpoolProcInfo = 0x000003F1 }; /* 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(gxSpoolUPP) NewgxSpoolUPP(gxSpoolProcPtr userRoutine) { return (gxSpoolUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxSpoolProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewgxSpoolUPP(userRoutine) (gxSpoolUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxSpoolProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposegxSpoolUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposegxSpoolUPP(gxSpoolUPP userUPP);
+/*
+ * DisposegxSpoolUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposegxSpoolUPP(gxSpoolUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposegxSpoolUPP(gxSpoolUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposegxSpoolUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposegxSpoolUPP(gxSpoolUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposegxSpoolUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokegxSpoolUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- InvokegxSpoolUPP(
- gxSpoolCommand command,
- gxSpoolBlock * block,
- gxSpoolUPP userUPP);
+/*
+ * InvokegxSpoolUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+InvokegxSpoolUPP(
+ gxSpoolCommand command,
+ gxSpoolBlock * block,
+ gxSpoolUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(long) InvokegxSpoolUPP(gxSpoolCommand command, gxSpoolBlock * block, gxSpoolUPP userUPP)
- {
- return (long)CALL_TWO_PARAMETER_UPP(userUPP, uppgxSpoolProcInfo, command, block);
- }
-#else
-#define InvokegxSpoolUPP(command, block, userUPP) (long)CALL_TWO_PARAMETER_UPP((userUPP), uppgxSpoolProcInfo, (command), (block))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long) InvokegxSpoolUPP(gxSpoolCommand command, gxSpoolBlock * block, gxSpoolUPP userUPP) { return (long)CALL_TWO_PARAMETER_UPP(userUPP, uppgxSpoolProcInfo, command, block); }
+ #else
+ #define InvokegxSpoolUPP(command, block, userUPP) (long)CALL_TWO_PARAMETER_UPP((userUPP), uppgxSpoolProcInfo, (command), (block))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewgxSpoolProc(userRoutine) NewgxSpoolUPP(userRoutine)
-#define CallgxSpoolProc(userRoutine, command, block) InvokegxSpoolUPP(command, block, userRoutine)
+ #define NewgxSpoolProc(userRoutine) NewgxSpoolUPP(userRoutine)
+ #define CallgxSpoolProc(userRoutine, command, block) InvokegxSpoolUPP(command, block, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- gxFontListFlatten = 0x01, /* if set, generate a gxTag containing list of each gxFont referenced */
- gxFontGlyphsFlatten = 0x02, /* if set, generate a gxTag containing the list of glyphs referenced inside the gxFont */
- gxFontVariationsFlatten = 0x04, /* if set, append the gxTag with separate [variation] coordinates */
- gxBitmapAliasFlatten = 0x08 /* if set, open bitmap alias files and flatten out their image data */
- };
+enum {
+ gxFontListFlatten = 0x01, /* if set, generate a gxTag containing list of each gxFont referenced */
+ gxFontGlyphsFlatten = 0x02, /* if set, generate a gxTag containing the list of glyphs referenced inside the gxFont */
+ gxFontVariationsFlatten = 0x04, /* if set, append the gxTag with separate [variation] coordinates */
+ gxBitmapAliasFlatten = 0x08 /* if set, open bitmap alias files and flatten out their image data */
+};
- typedef long gxFlattenFlag;
- /* gxGraphicsClient constants */
+typedef long gxFlattenFlag;
+/* gxGraphicsClient constants */
#define gxGraphicsSystemClient (gxGraphicsClient)(-1)
- enum
- {
- gxStaticHeapClient = 0x0001
- };
-
- typedef long gxClientAttribute;
- /* graphics patching constants */
- enum
- {
- gxOriginalGraphicsFunction = -1,
- gxOriginalGraphicsIdentifier = FOUR_CHAR_CODE('grfx')
- };
-
- struct gxBitmapDataSourceAlias
- {
- unsigned long fileOffset; /* file offset (in bytes) of top-left pixel */
- unsigned long aliasRecordSize; /* size of alias record below */
- unsigned char aliasRecord[1]; /* the actual alias record data */
- };
- typedef struct gxBitmapDataSourceAlias gxBitmapDataSourceAlias;
- enum
- {
- gxBitmapFileAliasTagType = FOUR_CHAR_CODE('bfil'),
- gxPICTFileAliasTagType = FOUR_CHAR_CODE('pict'),
- gxBitmapFileAliasImageValue = 1L
- };
-
- typedef struct OpaquegxFont* gxFont;
- enum
- {
- gxNoPlatform = 0,
- gxNoScript = 0,
- gxNoLanguage = 0,
- gxNoFontName = 0,
- gxGlyphPlatform = -1
- };
-
- enum
- {
- gxUnicodePlatform = 1,
- gxMacintoshPlatform = 2,
- gxReservedPlatform = 3,
- gxMicrosoftPlatform = 4,
- gxCustomPlatform = 5
- };
-
-
- typedef long gxFontPlatform;
- enum
- {
- gxUnicodeDefaultSemantics = 1,
- gxUnicodeV1_1Semantics = 2,
- gxISO10646_1993Semantics = 3
- };
-
- enum
- {
- gxRomanScript = 1,
- gxJapaneseScript = 2,
- gxTraditionalChineseScript = 3,
- gxChineseScript = gxTraditionalChineseScript,
- gxKoreanScript = 4,
- gxArabicScript = 5,
- gxHebrewScript = 6,
- gxGreekScript = 7,
- gxCyrillicScript = 8,
- gxRussian = gxCyrillicScript,
- gxRSymbolScript = 9,
- gxDevanagariScript = 10,
- gxGurmukhiScript = 11,
- gxGujaratiScript = 12,
- gxOriyaScript = 13,
- gxBengaliScript = 14,
- gxTamilScript = 15,
- gxTeluguScript = 16,
- gxKannadaScript = 17,
- gxMalayalamScript = 18,
- gxSinhaleseScript = 19,
- gxBurmeseScript = 20,
- gxKhmerScript = 21,
- gxThaiScript = 22,
- gxLaotianScript = 23,
- gxGeorgianScript = 24,
- gxArmenianScript = 25,
- gxSimpleChineseScript = 26,
- gxTibetanScript = 27,
- gxMongolianScript = 28,
- gxGeezScript = 29,
- gxEthiopicScript = gxGeezScript,
- gxAmharicScript = gxGeezScript,
- gxSlavicScript = 30,
- gxEastEuropeanRomanScript = gxSlavicScript,
- gxVietnameseScript = 31,
- gxExtendedArabicScript = 32,
- gxSindhiScript = gxExtendedArabicScript,
- gxUninterpretedScript = 33
- };
-
- enum
- {
- gxMicrosoftSymbolScript = 1,
- gxMicrosoftStandardScript = 2
- };
-
- enum
- {
- gxCustom8BitScript = 1,
- gxCustom816BitScript = 2,
- gxCustom16BitScript = 3
- };
-
- typedef long gxFontScript;
- enum
- {
- gxEnglishLanguage = 1,
- gxFrenchLanguage = 2,
- gxGermanLanguage = 3,
- gxItalianLanguage = 4,
- gxDutchLanguage = 5,
- gxSwedishLanguage = 6,
- gxSpanishLanguage = 7,
- gxDanishLanguage = 8,
- gxPortugueseLanguage = 9,
- gxNorwegianLanguage = 10,
- gxHebrewLanguage = 11,
- gxJapaneseLanguage = 12,
- gxArabicLanguage = 13,
- gxFinnishLanguage = 14,
- gxGreekLanguage = 15,
- gxIcelandicLanguage = 16,
- gxMalteseLanguage = 17,
- gxTurkishLanguage = 18,
- gxCroatianLanguage = 19,
- gxTradChineseLanguage = 20,
- gxUrduLanguage = 21,
- gxHindiLanguage = 22,
- gxThaiLanguage = 23,
- gxKoreanLanguage = 24,
- gxLithuanianLanguage = 25,
- gxPolishLanguage = 26,
- gxHungarianLanguage = 27,
- gxEstonianLanguage = 28,
- gxLettishLanguage = 29,
- gxLatvianLanguage = gxLettishLanguage,
- gxSaamiskLanguage = 30,
- gxLappishLanguage = gxSaamiskLanguage,
- gxFaeroeseLanguage = 31,
- gxFarsiLanguage = 32,
- gxPersianLanguage = gxFarsiLanguage,
- gxRussianLanguage = 33,
- gxSimpChineseLanguage = 34,
- gxFlemishLanguage = 35,
- gxIrishLanguage = 36,
- gxAlbanianLanguage = 37,
- gxRomanianLanguage = 38,
- gxCzechLanguage = 39,
- gxSlovakLanguage = 40,
- gxSlovenianLanguage = 41,
- gxYiddishLanguage = 42,
- gxSerbianLanguage = 43,
- gxMacedonianLanguage = 44,
- gxBulgarianLanguage = 45,
- gxUkrainianLanguage = 46,
- gxByelorussianLanguage = 47,
- gxUzbekLanguage = 48,
- gxKazakhLanguage = 49,
- gxAzerbaijaniLanguage = 50,
- gxAzerbaijanArLanguage = 51,
- gxArmenianLanguage = 52,
- gxGeorgianLanguage = 53,
- gxMoldavianLanguage = 54,
- gxKirghizLanguage = 55,
- gxTajikiLanguage = 56,
- gxTurkmenLanguage = 57,
- gxMongolianLanguage = 58,
- gxMongolianCyrLanguage = 59,
- gxPashtoLanguage = 60,
- gxKurdishLanguage = 61,
- gxKashmiriLanguage = 62,
- gxSindhiLanguage = 63,
- gxTibetanLanguage = 64,
- gxNepaliLanguage = 65,
- gxSanskritLanguage = 66,
- gxMarathiLanguage = 67,
- gxBengaliLanguage = 68,
- gxAssameseLanguage = 69,
- gxGujaratiLanguage = 70,
- gxPunjabiLanguage = 71,
- gxOriyaLanguage = 72,
- gxMalayalamLanguage = 73,
- gxKannadaLanguage = 74,
- gxTamilLanguage = 75,
- gxTeluguLanguage = 76,
- gxSinhaleseLanguage = 77,
- gxBurmeseLanguage = 78,
- gxKhmerLanguage = 79,
- gxLaoLanguage = 80,
- gxVietnameseLanguage = 81,
- gxIndonesianLanguage = 82,
- gxTagalogLanguage = 83,
- gxMalayRomanLanguage = 84,
- gxMalayArabicLanguage = 85,
- gxAmharicLanguage = 86,
- gxTigrinyaLanguage = 87,
- gxGallaLanguage = 88,
- gxOromoLanguage = gxGallaLanguage,
- gxSomaliLanguage = 89,
- gxSwahiliLanguage = 90,
- gxRuandaLanguage = 91,
- gxRundiLanguage = 92,
- gxChewaLanguage = 93,
- gxMalagasyLanguage = 94,
- gxEsperantoLanguage = 95,
- gxWelshLanguage = 129,
- gxBasqueLanguage = 130,
- gxCatalanLanguage = 131,
- gxLatinLanguage = 132,
- gxQuechuaLanguage = 133,
- gxGuaraniLanguage = 134,
- gxAymaraLanguage = 135,
- gxTatarLanguage = 136,
- gxUighurLanguage = 137,
- gxDzongkhaLanguage = 138,
- gxJavaneseRomLanguage = 139,
- gxSundaneseRomLanguage = 140
- };
-
- typedef long gxFontLanguage;
- enum
- {
- gxCopyrightFontName = 1,
- gxFamilyFontName = 2,
- gxStyleFontName = 3,
- gxUniqueFontName = 4,
- gxFullFontName = 5,
- gxVersionFontName = 6,
- gxPostscriptFontName = 7,
- gxTrademarkFontName = 8,
- gxManufacturerFontName = 9,
- gxLastReservedFontName = 256
- };
-
- typedef long gxFontName;
- typedef long gxFontTableTag;
- typedef long gxFontVariationTag;
- typedef long gxFontFormatTag;
- typedef long gxFontStorageTag;
- typedef gxFontVariationTag gxFontDescriptorTag;
- struct gxFontVariation
- {
- gxFontVariationTag name;
- Fixed value;
- };
- typedef struct gxFontVariation gxFontVariation;
- typedef gxFontVariation gxFontDescriptor;
- struct gxFontFeatureSetting
- {
- unsigned short setting;
- unsigned short nameID;
- };
- typedef struct gxFontFeatureSetting gxFontFeatureSetting;
- enum
- {
- gxSystemFontAttribute = 0x0001,
- gxReadOnlyFontAttribute = 0x0002
- };
-
-
- typedef long gxFontAttribute;
- enum
- {
- gxMutuallyExclusiveFeature = 0x00008000
- };
-
- typedef long gxFontFeatureFlag;
- typedef long gxFontFeature;
- enum
- {
- gxResourceFontStorage = FOUR_CHAR_CODE('rsrc'),
- gxHandleFontStorage = FOUR_CHAR_CODE('hndl'),
- gxFileFontStorage = FOUR_CHAR_CODE('bass'),
- gxNfntFontStorage = FOUR_CHAR_CODE('nfnt')
- };
-
- typedef void * gxFontStorageReference;
- typedef unsigned short gxGlyphcode;
- /* single glyph in a font */
- /* byte offset within backing store */
- typedef long gxByteOffset;
- /* The actual constants for feature types and selectors have been moved to a library. */
- typedef unsigned short gxRunFeatureType;
- typedef unsigned short gxRunFeatureSelector;
- /* If tracking is not desired, specify the following value in the track field in the
- gxRunControls record (note that a track of 0 does *not* mean to turn tracking off;
- rather, it means to use normal tracking). */
- enum
- {
- gxNoTracking = gxNegativeInfinity
- };
-
- /* The special "gxNoStake" value is returned by the GXGetLayoutBreakOffset call to
- indicate the absence of a character offset that is stable with respect to
- metamorphosis and contextual kerning. */
- enum
- {
- gxNoStake = -1
- };
-
- /* A glyph's behavior with respect to other glyphs on its line is defined in part by its
- gxBaselineType. These types allow correct alignment of the baselines of all glyphs on
- the line. */
- enum
- {
- gxRomanBaseline = 0,
- gxIdeographicCenterBaseline = 1,
- gxIdeographicLowBaseline = 2,
- gxHangingBaseline = 3,
- gxMathBaseline = 4,
- gxLastBaseline = 31,
- gxNumberOfBaselineTypes = gxLastBaseline + 1,
- gxNoOverrideBaseline = 255
- };
-
- typedef unsigned long gxBaselineType;
- typedef Fixed gxBaselineDeltas[32];
- /* gxJustificationPriority defines the point during the justification process at which a
- glyph will begin to receive deltas before and after itself. */
- enum
- {
- gxKashidaPriority = 0,
- gxWhiteSpacePriority = 1,
- gxInterCharPriority = 2,
- gxNullJustificationPriority = 3,
- gxNumberOfJustificationPriorities = 4
- };
-
- typedef unsigned char gxJustificationPriority;
- /* gxJustificationFlags are used to control which fields of a gxWidthDeltaRecord are to
- be overridden and which are not if a gxPriorityJustificationOverride or
- gxGlyphJustificationOverride (qq.v.) is specified. */
- enum
- {
- gxOverridePriority = 0x8000, /* use priority value from override */
- gxOverrideLimits = 0x4000, /* use limits values from override */
- gxOverrideUnlimited = 0x2000, /* use unlimited flag from override */
- gxUnlimitedGapAbsorption = 0x1000, /* glyph can take unlimited gap */
- gxJustificationPriorityMask = 0x000F, /* justification priority */
- gxAllJustificationFlags = (gxOverridePriority | gxOverrideLimits | gxOverrideUnlimited | gxUnlimitedGapAbsorption | gxJustificationPriorityMask)
- };
-
- typedef unsigned short gxJustificationFlags;
- /* The directional behavior of a glyph can be overridden using a gxDirectionOverride. */
- enum
- {
- gxNoDirectionOverride = 0,
- gxImposeLeftToRight = 1,
- gxImposeRightToLeft = 2,
- gxImposeArabic = 3
- };
-
- typedef unsigned short gxDirectionOverride;
- /* gxRunControlFlags describe the nonparametric layout options contained in a gxStyle. */
- enum
- {
- gxNoCaretAngle = 0x40000000,
- gxImposeWidth = 0x20000000,
- gxNoCrossKerning = 0x10000000,
- gxNoOpticalAlignment = 0x08000000,
- gxForceHanging = 0x04000000,
- gxNoSpecialJustification = 0x02000000,
- gxDirectionOverrideMask = 0x00000003,
- gxNoLigatureSplits = (long)0x80000000
- };
-
- enum
- {
- gxAllRunControlFlags = (gxNoLigatureSplits | gxNoCaretAngle | gxImposeWidth | gxNoCrossKerning | gxNoOpticalAlignment | gxForceHanging | gxNoSpecialJustification | gxDirectionOverrideMask)
- };
-
- typedef unsigned long gxRunControlFlags;
- /* gxHighlightType is used to distinguish various highlighting methods, both in terms of
- character offset based vs. visual based, and in terms of angled sides vs. non-angled
- sides. */
- enum
- {
- gxHighlightStraight = 0, /* straight-edged simple highlighting */
- gxHighlightAverageAngle = 1 /* takes average of two edge angles */
- };
-
- typedef unsigned long gxHighlightType;
- /* gxCaretType is used to control whether the caret that is returned from GXGetLayoutCaret
- is a split caret or a (keyboard-syncronized) single caret. */
- enum
- {
- gxSplitCaretType = 0, /* returns Mac-style split caret (default) */
- gxLeftRightKeyboardCaret = 1, /* single caret in left-right position */
- gxRightLeftKeyboardCaret = 2 /* single caret in right-left position */
- };
-
- typedef unsigned long gxCaretType;
- /* gxLayoutOffsetState describes the characteristics of a given gxByteOffset in some
- layout. It is returned by the GXGetOffsetGlyphs call. Note that the
- gxOffsetInsideLigature value is returned in addition to the 8/16 (or invalid)
- indication. */
- enum
- {
- gxOffset8_8 = 0,
- gxOffset8_16 = 1,
- gxOffset16_8 = 2,
- gxOffset16_16 = 3,
- gxOffsetInvalid = 4
- };
-
- enum
- {
- gxOffsetInsideLigature = 0x8000
- };
-
- typedef unsigned short gxLayoutOffsetState;
- /* gxLayoutOptionsFlags are single-bit flags contained in a gxLayoutOptions record. We
- also define here some utility constants that are useful in setting various fields in
- the gxLayoutOptions record. */
- enum
- {
- gxNoLayoutOptions = 0,
- gxLineIsDisplayOnly = 0x00000001,
- gxKeepSpacesInMargin = 0x00000002,
- gxLimitReorderingToTwoLevels = 0x00000004,
- gxLineLeftEdgeNotAtMargin = 0x00000008,
- gxLineRightEdgeNotAtMargin = 0x00000010,
- gxAllLayoutOptionsFlags = gxLineIsDisplayOnly | gxKeepSpacesInMargin | gxLimitReorderingToTwoLevels | gxLineLeftEdgeNotAtMargin | gxLineRightEdgeNotAtMargin,
- gxMaxRunLevel = 15,
- gxFlushLeft = 0,
- gxFlushCenter = fract1 / 2,
- gxFlushRight = fract1,
- gxNoJustification = 0,
- gxFullJustification = fract1
- };
-
- typedef unsigned long gxLayoutOptionsFlags;
- /* A gxRunFeature describes a feature and a level for that feature. */
- struct gxRunFeature
- {
- gxRunFeatureType featureType;
- gxRunFeatureSelector featureSelector;
- };
- typedef struct gxRunFeature gxRunFeature;
- /* A gxWidthDeltaRecord contains all of the information needed to describe the behavior of one
- class of glyphs during the justification process. */
- struct gxWidthDeltaRecord
- {
- Fixed beforeGrowLimit; /* ems AW can grow by at most on LT */
- Fixed beforeShrinkLimit; /* ems AW can shrink by at most on LT */
- Fixed afterGrowLimit; /* ems AW can grow by at most on RB */
- Fixed afterShrinkLimit; /* ems AW can shrink by at most on RB */
- gxJustificationFlags growFlags; /* flags controlling grow case */
- gxJustificationFlags shrinkFlags; /* flags controlling shrink case */
- };
- typedef struct gxWidthDeltaRecord gxWidthDeltaRecord;
- /* A gxPriorityJustificationOverride contains an array of WidthDeltaRecords, one for each
- gxJustificationPriority. */
- struct gxPriorityJustificationOverride
- {
- gxWidthDeltaRecord deltas[4]; /* overrides for each of the priorities */
- };
- typedef struct gxPriorityJustificationOverride gxPriorityJustificationOverride;
- /* A gxGlyphJustificationOverride contains a gxWidthDeltaRecord that is to be used for a
- specific glyph in a specific run (this limitation is because glyphcodes vary by font). */
- struct gxGlyphJustificationOverride
- {
- gxGlyphcode glyph;
- gxWidthDeltaRecord override;
- };
- typedef struct gxGlyphJustificationOverride gxGlyphJustificationOverride;
-
- /* gxRunControls contains flags, shifts, imposed widths and overrides for a run. */
- /* NOTE: a value of "gxNoTracking" (see above) in track disables tracking */
- struct gxRunControls
- {
- gxRunControlFlags flags;
- Fixed beforeWithStreamShift;
- Fixed afterWithStreamShift;
- Fixed crossStreamShift;
- Fixed imposedWidth;
- Fixed track;
- Fract hangingInhibitFactor;
- Fract kerningInhibitFactor;
- Fixed decompositionAdjustmentFactor;
- gxBaselineType baselineType;
- };
- typedef struct gxRunControls gxRunControls;
- /* A gxGlyphSubstitution describes one client-provided substitution that occurs after all
- other automatic glyph changes have happened. */
- struct gxGlyphSubstitution
- {
- gxGlyphcode originalGlyph; /* Whenever you see this glyph... */
- gxGlyphcode substituteGlyph; /* ...change it to this one. */
- };
- typedef struct gxGlyphSubstitution gxGlyphSubstitution;
- /* gxKerningAdjustmentFactors specify an adjustment to automatic kerning. The adjustment
- is ax + b where x is the automatic kerning value, a is scaleFactor, and b is
- adjustmentPointSizeFactor times the run's point size. */
- struct gxKerningAdjustmentFactors
- {
- Fract scaleFactor;
- Fixed adjustmentPointSizeFactor;
- };
- typedef struct gxKerningAdjustmentFactors gxKerningAdjustmentFactors;
- /* A gxKerningAdjustment identifies with- and cross-stream kerning adjustments
- for specific glyph pairs. */
- struct gxKerningAdjustment
- {
- gxGlyphcode firstGlyph;
- gxGlyphcode secondGlyph;
- gxKerningAdjustmentFactors withStreamFactors;
- gxKerningAdjustmentFactors crossStreamFactors;
- };
- typedef struct gxKerningAdjustment gxKerningAdjustment;
- /* A value of gxResetCrossStreamFactor in crossStreamFactors.adjustmentPointSizeFactor
- will reset the cross-stream kerning to the baseline. */
- enum
- {
- gxResetCrossStreamFactor = gxNegativeInfinity
- };
-
- /* gxLayoutHitInfo contains the output from the GXHitTestLayout call. */
- struct gxLayoutHitInfo
- {
- Fixed firstPartialDist;
- Fixed lastPartialDist;
- gxByteOffset hitSideOffset;
- gxByteOffset nonHitSideOffset;
- Boolean leadingEdge;
- Boolean inLoose;
- };
- typedef struct gxLayoutHitInfo gxLayoutHitInfo;
- /* A gxLineBaselineRecord contains the deltas from 0 to all the different baselines for
- the layout. It can be filled via a call to GetBaselineDeltas (q.v.). */
- struct gxLineBaselineRecord
- {
- gxBaselineDeltas deltas;
- };
- typedef struct gxLineBaselineRecord gxLineBaselineRecord;
- /* The gxLayoutOptions type contains information about the layout characteristics of the
- whole line. */
- struct gxLayoutOptions
- {
- Fixed width;
- Fract flush;
- Fract just;
- gxLayoutOptionsFlags flags;
- gxLineBaselineRecord * baselineRec;
- };
- typedef struct gxLayoutOptions gxLayoutOptions;
- enum
- {
- gxNewObjectOpcode = 0x00, /* create new object */
- gxSetDataOpcode = 0x40, /* add reference to current object */
- gxSetDefaultOpcode = 0x80, /* replace current default with this object */
- gxReservedOpcode = 0xC0, /* (may be used in future expansion) */
- gxNextOpcode = 0xFF /* used by currentOperand field to say opcode is coming */
- };
-
- /* new object types (new object opcode) */
- enum
- {
- gxHeaderTypeOpcode = 0x00, /* byte following new object uses bottom 6 bits for type */
- /* gxShape types use values 1 (gxEmptyType) through 13 (gxPictureType) */
- gxStyleTypeOpcode = 0x28,
- gxInkTypeOpcode = 0x29,
- gxTransformTypeOpcode = 0x2A,
- gxColorProfileTypeOpcode = 0x2B,
- gxColorSetTypeOpcode = 0x2C,
- gxTagTypeOpcode = 0x2D,
- gxBitImageOpcode = 0x2E,
- gxFontNameTypeOpcode = 0x2F,
- gxTrailerTypeOpcode = 0x3F
- };
-
- /* fields of objects (set data opcodes) */
- enum
- {
- gxShapeAttributesOpcode = 0,
- gxShapeTagOpcode = 1,
- gxShapeFillOpcode = 2
- };
-
- enum
- {
- gxOmitPathPositionXMask = 0xC0,
- gxOmitPathPositionYMask = 0x30,
- gxOmitPathDeltaXMask = 0x0C,
- gxOmitPathDeltaYMask = 0x03
- };
-
- enum
- {
- gxOmitPathPositionXShift = 6,
- gxOmitPathPositionYShift = 4,
- gxOmitPathDeltaXShift = 2,
- gxOmitPathDeltaYShift = 0
- };
-
- enum
- {
- gxOmitBitmapImageMask = 0xC0,
- gxOmitBitmapWidthMask = 0x30,
- gxOmitBitmapHeightMask = 0x0C,
- gxOmitBitmapRowBytesMask = 0x03
- };
-
- enum
- {
- gxOmitBitmapImageShift = 6,
- gxOmitBitmapWidthShift = 4,
- gxOmitBitmapHeightShift = 2,
- gxOmitBitmapRowBytesShift = 0
- };
-
- enum
- {
- gxOmitBitmapPixelSizeMask = 0xC0,
- gxOmitBitmapSpaceMask = 0x30,
- gxOmitBitmapSetMask = 0x0C,
- gxOmitBitmapProfileMask = 0x03
- };
-
- enum
- {
- gxOmitBitmapPixelSizeShift = 6,
- gxOmitBitmapSpaceShift = 4,
- gxOmitBitmapSetShift = 2,
- gxOmitBitmapProfileShift = 0
- };
-
- enum
- {
- gxOmitBitmapPositionXMask = 0xC0,
- gxOmitBitmapPositionYMask = 0x30
- };
-
- enum
- {
- gxOmitBitmapPositionXShift = 6,
- gxOmitBitmapPositionYShift = 4
- };
-
- enum
- {
- gxOmitBitImageRowBytesMask = 0xC0,
- gxOmitBitImageHeightMask = 0x30,
- gxOmitBitImageDataMask = 0x08
- };
-
- enum
- {
- gxOmitBitImageRowBytesShift = 6,
- gxOmitBitImageHeightShift = 4,
- gxOmitBitImageDataShift = 3
- };
-
- enum
- {
- gxCopyBitImageBytesOpcode = 0x00,
- gxRepeatBitImageBytesOpcode = 0x40,
- gxLookupBitImageBytesOpcode = 0x80,
- gxRepeatBitImageScanOpcode = 0xC0
- };
-
- enum
- {
- gxOmitTextCharactersMask = 0xC0,
- gxOmitTextPositionXMask = 0x30,
- gxOmitTextPositionYMask = 0x0C,
- gxOmitTextDataMask = 0x02
- };
-
- enum
- {
- gxOmitTextCharactersShift = 6,
- gxOmitTextPositionXShift = 4,
- gxOmitTextPositionYShift = 2,
- gxOmitTextDataShift = 1
- };
-
- enum
- {
- gxOmitGlyphCharactersMask = 0xC0,
- gxOmitGlyphLengthMask = 0x30,
- gxOmitGlyphRunNumberMask = 0x0C,
- gxOmitGlyphOnePositionMask = 0x02,
- gxOmitGlyphDataMask = 0x01
- };
-
- enum
- {
- gxOmitGlyphCharactersShift = 6,
- gxOmitGlyphLengthShift = 4,
- gxOmitGlyphRunNumberShift = 2,
- gxOmitGlyphOnePositionShift = 1,
- gxOmitGlyphDataShift = 0
- };
-
- enum
- {
- gxOmitGlyphPositionsMask = 0xC0,
- gxOmitGlyphAdvancesMask = 0x20,
- gxOmitGlyphTangentsMask = 0x18,
- gxOmitGlyphRunsMask = 0x04,
- gxOmitGlyphStylesMask = 0x03
- };
-
- enum
- {
- gxOmitGlyphPositionsShift = 6,
- gxOmitGlyphAdvancesShift = 5,
- gxOmitGlyphTangentsShift = 3,
- gxOmitGlyphRunsShift = 2,
- gxOmitGlyphStylesShift = 0
- };
-
- enum
- {
- gxOmitLayoutLengthMask = 0xC0,
- gxOmitLayoutPositionXMask = 0x30,
- gxOmitLayoutPositionYMask = 0x0C,
- gxOmitLayoutDataMask = 0x02
- };
-
- enum
- {
- gxOmitLayoutLengthShift = 6,
- gxOmitLayoutPositionXShift = 4,
- gxOmitLayoutPositionYShift = 2,
- gxOmitLayoutDataShift = 1
- };
-
- enum
- {
- gxOmitLayoutWidthMask = 0xC0,
- gxOmitLayoutFlushMask = 0x30,
- gxOmitLayoutJustMask = 0x0C,
- gxOmitLayoutOptionsMask = 0x03
- };
-
- enum
- {
- gxOmitLayoutWidthShift = 6,
- gxOmitLayoutFlushShift = 4,
- gxOmitLayoutJustShift = 2,
- gxOmitLayoutOptionsShift = 0
- };
-
- enum
- {
- gxOmitLayoutStyleRunNumberMask = 0xC0,
- gxOmitLayoutLevelRunNumberMask = 0x30,
- gxOmitLayoutHasBaselineMask = 0x08,
- gxOmitLayoutStyleRunsMask = 0x04,
- gxOmitLayoutStylesMask = 0x03
- };
-
- enum
- {
- gxOmitLayoutStyleRunNumberShift = 6,
- gxOmitLayoutLevelRunNumberShift = 4,
- gxOmitLayoutHasBaselineShift = 3,
- gxOmitLayoutStyleRunsShift = 2,
- gxOmitLayoutStylesShift = 0
- };
-
- enum
- {
- gxOmitLayoutLevelRunsMask = 0x80,
- gxOmitLayoutLevelsMask = 0x40
- };
-
- enum
- {
- gxOmitLayoutLevelRunsShift = 7,
- gxOmitLayoutLevelsShift = 6
- };
-
- enum
- {
- gxInkAttributesOpcode = 0,
- gxInkTagOpcode = 1,
- gxInkColorOpcode = 2,
- gxInkTransferModeOpcode = 3
- };
-
- enum
- {
- gxOmitColorsSpaceMask = 0xC0,
- gxOmitColorsProfileMask = 0x30,
- gxOmitColorsComponentsMask = 0x0F,
- gxOmitColorsIndexMask = 0x0C,
- gxOmitColorsIndexSetMask = 0x03
- };
-
- enum
- {
- gxOmitColorsSpaceShift = 6,
- gxOmitColorsProfileShift = 4,
- gxOmitColorsComponentsShift = 0,
- gxOmitColorsIndexShift = 2,
- gxOmitColorsIndexSetShift = 0
- };
-
- enum
- {
- gxOmitTransferSpaceMask = 0xC0,
- gxOmitTransferSetMask = 0x30,
- gxOmitTransferProfileMask = 0x0C
- };
-
- enum
- {
- gxOmitTransferSpaceShift = 6,
- gxOmitTransferSetShift = 4,
- gxOmitTransferProfileShift = 2
- };
-
- enum
- {
- gxOmitTransferSourceMatrixMask = 0xC0,
- gxOmitTransferDeviceMatrixMask = 0x30,
- gxOmitTransferResultMatrixMask = 0x0C,
- gxOmitTransferFlagsMask = 0x03
- };
-
- enum
- {
- gxOmitTransferSourceMatrixShift = 6,
- gxOmitTransferDeviceMatrixShift = 4,
- gxOmitTransferResultMatrixShift = 2,
- gxOmitTransferFlagsShift = 0
- };
-
- enum
- {
- gxOmitTransferComponentModeMask = 0x80,
- gxOmitTransferComponentFlagsMask = 0x40,
- gxOmitTransferComponentSourceMinimumMask = 0x30,
- gxOmitTransferComponentSourceMaximumMask = 0x0C,
- gxOmitTransferComponentDeviceMinimumMask = 0x03
- };
-
- enum
- {
- gxOmitTransferComponentModeShift = 7,
- gxOmitTransferComponentFlagsShift = 6,
- gxOmitTransferComponentSourceMinimumShift = 4,
- gxOmitTransferComponentSourceMaximumShift = 2,
- gxOmitTransferComponentDeviceMinimumShift = 0
- };
-
- enum
- {
- gxOmitTransferComponentDeviceMaximumMask = 0xC0,
- gxOmitTransferComponentClampMinimumMask = 0x30,
- gxOmitTransferComponentClampMaximumMask = 0x0C,
- gxOmitTransferComponentOperandMask = 0x03
- };
-
- enum
- {
- gxOmitTransferComponentDeviceMaximumShift = 6,
- gxOmitTransferComponentClampMinimumShift = 4,
- gxOmitTransferComponentClampMaximumShift = 2,
- gxOmitTransferComponentOperandShift = 0
- };
-
- enum
- {
- gxStyleAttributesOpcode = 0,
- gxStyleTagOpcode = 1,
- gxStyleCurveErrorOpcode = 2,
- gxStylePenOpcode = 3,
- gxStyleJoinOpcode = 4,
- gxStyleDashOpcode = 5,
- gxStyleCapsOpcode = 6,
- gxStylePatternOpcode = 7,
- gxStyleTextAttributesOpcode = 8,
- gxStyleTextSizeOpcode = 9,
- gxStyleFontOpcode = 10,
- gxStyleTextFaceOpcode = 11,
- gxStylePlatformOpcode = 12,
- gxStyleFontVariationsOpcode = 13,
- gxStyleRunControlsOpcode = 14,
- gxStyleRunPriorityJustOverrideOpcode = 15,
- gxStyleRunGlyphJustOverridesOpcode = 16,
- gxStyleRunGlyphSubstitutionsOpcode = 17,
- gxStyleRunFeaturesOpcode = 18,
- gxStyleRunKerningAdjustmentsOpcode = 19,
- gxStyleJustificationOpcode = 20
- };
-
- enum
- {
- gxOmitDashAttributesMask = 0xC0,
- gxOmitDashShapeMask = 0x30,
- gxOmitDashAdvanceMask = 0x0C,
- gxOmitDashPhaseMask = 0x03
- };
-
- enum
- {
- gxOmitDashAttributesShift = 6,
- gxOmitDashShapeShift = 4,
- gxOmitDashAdvanceShift = 2,
- gxOmitDashPhaseShift = 0
- };
-
- enum
- {
- gxOmitDashScaleMask = 0xC0
- };
-
- enum
- {
- gxOmitDashScaleShift = 6
- };
-
- enum
- {
- gxOmitPatternAttributesMask = 0xC0,
- gxOmitPatternShapeMask = 0x30,
- gxOmitPatternUXMask = 0x0C,
- gxOmitPatternUYMask = 0x03
- };
-
- enum
- {
- gxOmitPatternAttributesShift = 6,
- gxOmitPatternShapeShift = 4,
- gxOmitPatternUXShift = 2,
- gxOmitPatternUYShift = 0
- };
-
- enum
- {
- gxOmitPatternVXMask = 0xC0,
- gxOmitPatternVYMask = 0x30
- };
-
- enum
- {
- gxOmitPatternVXShift = 6,
- gxOmitPatternVYShift = 4
- };
-
- enum
- {
- gxOmitJoinAttributesMask = 0xC0,
- gxOmitJoinShapeMask = 0x30,
- gxOmitJoinMiterMask = 0x0C
- };
-
- enum
- {
- gxOmitJoinAttributesShift = 6,
- gxOmitJoinShapeShift = 4,
- gxOmitJoinMiterShift = 2
- };
-
- enum
- {
- gxOmitCapAttributesMask = 0xC0,
- gxOmitCapStartShapeMask = 0x30,
- gxOmitCapEndShapeMask = 0x0C
- };
-
- enum
- {
- gxOmitCapAttributesShift = 6,
- gxOmitCapStartShapeShift = 4,
- gxOmitCapEndShapeShift = 2
- };
-
- enum
- {
- gxOmitFaceLayersMask = 0xC0,
- gxOmitFaceMappingMask = 0x30
- };
-
- enum
- {
- gxOmitFaceLayersShift = 6,
- gxOmitFaceMappingShift = 4
- };
-
- enum
- {
- gxOmitFaceLayerFillMask = 0xC0,
- gxOmitFaceLayerFlagsMask = 0x30,
- gxOmitFaceLayerStyleMask = 0x0C,
- gxOmitFaceLayerTransformMask = 0x03
- };
-
- enum
- {
- gxOmitFaceLayerFillShift = 6,
- gxOmitFaceLayerFlagsShift = 4,
- gxOmitFaceLayerStyleShift = 2,
- gxOmitFaceLayerTransformShift = 0
- };
-
- enum
- {
- gxOmitFaceLayerBoldXMask = 0xC0,
- gxOmitFaceLayerBoldYMask = 0x30
- };
-
- enum
- {
- gxOmitFaceLayerBoldXShift = 6,
- gxOmitFaceLayerBoldYShift = 4
- };
-
- enum
- {
- gxColorSetReservedOpcode = 0,
- gxColorSetTagOpcode = 1
- };
-
- enum
- {
- gxColorProfileReservedOpcode = 0,
- gxColorProfileTagOpcode = 1
- };
-
- enum
- {
- gxTransformReservedOpcode = 0,
- gxTransformTagOpcode = 1,
- gxTransformClipOpcode = 2,
- gxTransformMappingOpcode = 3,
- gxTransformPartMaskOpcode = 4,
- gxTransformToleranceOpcode = 5
- };
-
- enum
- {
- gxTypeOpcode = 0,
- gxSizeOpcode = 1
- };
-
- /* used by currentOperand when currentOperation is gxNextOpcode */
- /* format of top byte:
- xx yyyyyy xx == 0x00, 0x40, 0x80, 0xC0: defines graphics operation (see gxGraphicsOperationOpcode)
- yyyyyy == size of operation in bytes
- if (yyyyyy == 0), byte size follows. If byte following == 0, word size follows; if == 0, long follows
- word and long, if present, are specified in high-endian order (first byte is largest magnitude)
-
- format of byte following size specifiers, if any:
- xx yyyyyy xx == 0x00, 0x40, 0x80, 0xC0: defines compression level (0 == none, 0xC0 == most)
- exact method of compression is defined by type of data
- yyyyyy == data type selector (0 to 63): see gxGraphicsNewOpcode, __DataOpcode
- */
- enum
- {
- gxOpcodeShift = 6,
- gxObjectSizeMask = 0x3F,
- gxCompressionShift = 6,
- gxObjectTypeMask = 0x3F,
- gxBitImageOpcodeMask = 0xC0,
- gxBitImageCountMask = 0x3F,
- gxBitImageOpcodeShift = 6
- };
-
- enum
- {
- gxNoCompression = 0,
- gxWordCompression = 1,
- gxByteCompression = 2,
- gxOmitCompression = 3,
- gxCompressionMask = 0x03
- };
-
- /* the following structures define how primitives without a public geometry
- are stored (their format mirrors that of the New call to create them) */
- struct gxFlatFontName
- {
- unsigned char name; /* gxFontName */
- unsigned char platform; /* gxFontPlatform */
- unsigned char script; /* gxFontScript */
- unsigned char language; /* gxFontLanguage */
- short length; /* byte length */
- };
- typedef struct gxFlatFontName gxFlatFontName;
- enum
- {
- gxFlatFontListItemTag = FOUR_CHAR_CODE('flst')
- };
-
- struct gxFlatFontListItem
- {
- gxFont fontID; /*** if we get rid of this, remove #include "font types.h", above */
- unsigned char name; /* gxFontName */
- unsigned char platform; /* gxFontPlatform */
- unsigned char script; /* gxFontScript */
- unsigned char language; /* gxFontLanguage */
- short length; /* byte length of the name that follows */
- unsigned short glyphCount; /* CountFontGlyphs or 0 if gxFontGlyphsFlatten is false */
- unsigned short axisCount; /* CountFontVariations or 0 if gxFontVariationsFlatten is false */
- unsigned short variationCount; /* number of bitsVariationPairs that follow the (optional) glyphBits */
- };
- typedef struct gxFlatFontListItem gxFlatFontListItem;
- struct gxFlatFontList
- {
- long count;
- gxFlatFontListItem items[1];
- };
- typedef struct gxFlatFontList gxFlatFontList;
- struct gxFlattenHeader
- {
- Fixed version;
- unsigned char flatFlags;
- SInt8 padding;
- };
- typedef struct gxFlattenHeader gxFlattenHeader;
- enum
- {
- gxOmitPictureShapeMask = 0xC0,
- gxOmitOverrideStyleMask = 0x30,
- gxOmitOverrideInkMask = 0x0C,
- gxOmitOverrideTransformMask = 0x03
- };
-
- enum
- {
- gxOmitPictureShapeShift = 0x06,
- gxOmitOverrideStyleShift = 0x04,
- gxOmitOverrideInkShift = 0x02,
- gxOmitOverrideTransformShift = 0x00
- };
-
- enum
- {
- gxPostScriptTag = FOUR_CHAR_CODE('post'),
- gxPostControlTag = FOUR_CHAR_CODE('psct')
- };
-
- enum
- {
- gxNoSave = 1, /* don't do save-restore around PS data */
- gxPSContinueNext = 2 /* next shape is continuation of this shape's PS -- only obeyed if gxNoSave is true */
- };
-
- struct gxPostControl
- {
- long flags; /* PostScript state flags */
- };
- typedef struct gxPostControl gxPostControl;
- enum
- {
- gxDashSynonymTag = FOUR_CHAR_CODE('sdsh')
- };
-
- struct gxDashSynonym
- {
- long size; /* number of elements in array */
- Fixed dashLength[1]; /* Array of dash lengths */
- };
- typedef struct gxDashSynonym gxDashSynonym;
- enum
- {
- gxLineCapSynonymTag = FOUR_CHAR_CODE('lcap')
- };
-
- enum
- {
- gxButtCap = 0,
- gxRoundCap = 1,
- gxSquareCap = 2,
- gxTriangleCap = 3
- };
-
- /* gxLine cap type */
-
- typedef long gxLineCapSynonym;
- enum
- {
- gxCubicSynonymTag = FOUR_CHAR_CODE('cubx')
- };
-
- enum
- {
- gxIgnoreFlag = 0x0000, /* Ignore this word, get next one */
- gxLineToFlag = 0x0001, /* Draw a gxLine to gxPoint following this flag */
- gxCurveToFlag = 0x0002, /* Draw a gxCurve through the 3 points following this flag */
- gxMoveToFlag = 0x0003, /* Start a new contour at the gxPoint following this flag */
- gxClosePathFlag = 0x0004 /* Close the contour */
- };
-
- typedef long gxCubicSynonym;
- enum
- {
- gxCubicInstructionMask = 0x000F /* low four bits are gxPoint instructions */
- };
-
- /* Low four bits are instruction (moveto, lineto, curveto, closepath) */
- typedef short gxCubicSynonymFlags;
- enum
- {
- gxPatternSynonymTag = FOUR_CHAR_CODE('ptrn')
- };
-
- enum
- {
- gxHatch = 0,
- gxCrossHatch = 1
- };
-
- struct gxPatternSynonym
- {
- long patternType; /* one of the gxPatterns: gxHatch or gxCrossHatch */
- Fixed angle; /* angle at which pattern is drawn */
- Fixed spacing; /* distance between two parallel pattern lines */
- Fixed thickness; /* thickness of the pattern */
- gxPoint anchorPoint; /* gxPoint with with respect to which pattern position is calculated */
- };
- typedef struct gxPatternSynonym gxPatternSynonym;
- enum
- {
- gxURLTag = FOUR_CHAR_CODE('urlt')
- };
+enum {
+ gxStaticHeapClient = 0x0001
+};
+
+typedef long gxClientAttribute;
+/* graphics patching constants */
+enum {
+ gxOriginalGraphicsFunction = -1,
+ gxOriginalGraphicsIdentifier = FOUR_CHAR_CODE('grfx')
+};
+
+struct gxBitmapDataSourceAlias {
+ unsigned long fileOffset; /* file offset (in bytes) of top-left pixel */
+ unsigned long aliasRecordSize; /* size of alias record below */
+ unsigned char aliasRecord[1]; /* the actual alias record data */
+};
+typedef struct gxBitmapDataSourceAlias gxBitmapDataSourceAlias;
+enum {
+ gxBitmapFileAliasTagType = FOUR_CHAR_CODE('bfil'),
+ gxPICTFileAliasTagType = FOUR_CHAR_CODE('pict'),
+ gxBitmapFileAliasImageValue = 1L
+};
+
+typedef struct OpaquegxFont* gxFont;
+enum {
+ gxNoPlatform = 0,
+ gxNoScript = 0,
+ gxNoLanguage = 0,
+ gxNoFontName = 0,
+ gxGlyphPlatform = -1
+};
+
+enum {
+ gxUnicodePlatform = 1,
+ gxMacintoshPlatform = 2,
+ gxReservedPlatform = 3,
+ gxMicrosoftPlatform = 4,
+ gxCustomPlatform = 5
+};
+
+
+typedef long gxFontPlatform;
+enum {
+ gxUnicodeDefaultSemantics = 1,
+ gxUnicodeV1_1Semantics = 2,
+ gxISO10646_1993Semantics = 3
+};
+
+enum {
+ gxRomanScript = 1,
+ gxJapaneseScript = 2,
+ gxTraditionalChineseScript = 3,
+ gxChineseScript = gxTraditionalChineseScript,
+ gxKoreanScript = 4,
+ gxArabicScript = 5,
+ gxHebrewScript = 6,
+ gxGreekScript = 7,
+ gxCyrillicScript = 8,
+ gxRussian = gxCyrillicScript,
+ gxRSymbolScript = 9,
+ gxDevanagariScript = 10,
+ gxGurmukhiScript = 11,
+ gxGujaratiScript = 12,
+ gxOriyaScript = 13,
+ gxBengaliScript = 14,
+ gxTamilScript = 15,
+ gxTeluguScript = 16,
+ gxKannadaScript = 17,
+ gxMalayalamScript = 18,
+ gxSinhaleseScript = 19,
+ gxBurmeseScript = 20,
+ gxKhmerScript = 21,
+ gxThaiScript = 22,
+ gxLaotianScript = 23,
+ gxGeorgianScript = 24,
+ gxArmenianScript = 25,
+ gxSimpleChineseScript = 26,
+ gxTibetanScript = 27,
+ gxMongolianScript = 28,
+ gxGeezScript = 29,
+ gxEthiopicScript = gxGeezScript,
+ gxAmharicScript = gxGeezScript,
+ gxSlavicScript = 30,
+ gxEastEuropeanRomanScript = gxSlavicScript,
+ gxVietnameseScript = 31,
+ gxExtendedArabicScript = 32,
+ gxSindhiScript = gxExtendedArabicScript,
+ gxUninterpretedScript = 33
+};
+
+enum {
+ gxMicrosoftSymbolScript = 1,
+ gxMicrosoftStandardScript = 2
+};
+
+enum {
+ gxCustom8BitScript = 1,
+ gxCustom816BitScript = 2,
+ gxCustom16BitScript = 3
+};
+
+typedef long gxFontScript;
+enum {
+ gxEnglishLanguage = 1,
+ gxFrenchLanguage = 2,
+ gxGermanLanguage = 3,
+ gxItalianLanguage = 4,
+ gxDutchLanguage = 5,
+ gxSwedishLanguage = 6,
+ gxSpanishLanguage = 7,
+ gxDanishLanguage = 8,
+ gxPortugueseLanguage = 9,
+ gxNorwegianLanguage = 10,
+ gxHebrewLanguage = 11,
+ gxJapaneseLanguage = 12,
+ gxArabicLanguage = 13,
+ gxFinnishLanguage = 14,
+ gxGreekLanguage = 15,
+ gxIcelandicLanguage = 16,
+ gxMalteseLanguage = 17,
+ gxTurkishLanguage = 18,
+ gxCroatianLanguage = 19,
+ gxTradChineseLanguage = 20,
+ gxUrduLanguage = 21,
+ gxHindiLanguage = 22,
+ gxThaiLanguage = 23,
+ gxKoreanLanguage = 24,
+ gxLithuanianLanguage = 25,
+ gxPolishLanguage = 26,
+ gxHungarianLanguage = 27,
+ gxEstonianLanguage = 28,
+ gxLettishLanguage = 29,
+ gxLatvianLanguage = gxLettishLanguage,
+ gxSaamiskLanguage = 30,
+ gxLappishLanguage = gxSaamiskLanguage,
+ gxFaeroeseLanguage = 31,
+ gxFarsiLanguage = 32,
+ gxPersianLanguage = gxFarsiLanguage,
+ gxRussianLanguage = 33,
+ gxSimpChineseLanguage = 34,
+ gxFlemishLanguage = 35,
+ gxIrishLanguage = 36,
+ gxAlbanianLanguage = 37,
+ gxRomanianLanguage = 38,
+ gxCzechLanguage = 39,
+ gxSlovakLanguage = 40,
+ gxSlovenianLanguage = 41,
+ gxYiddishLanguage = 42,
+ gxSerbianLanguage = 43,
+ gxMacedonianLanguage = 44,
+ gxBulgarianLanguage = 45,
+ gxUkrainianLanguage = 46,
+ gxByelorussianLanguage = 47,
+ gxUzbekLanguage = 48,
+ gxKazakhLanguage = 49,
+ gxAzerbaijaniLanguage = 50,
+ gxAzerbaijanArLanguage = 51,
+ gxArmenianLanguage = 52,
+ gxGeorgianLanguage = 53,
+ gxMoldavianLanguage = 54,
+ gxKirghizLanguage = 55,
+ gxTajikiLanguage = 56,
+ gxTurkmenLanguage = 57,
+ gxMongolianLanguage = 58,
+ gxMongolianCyrLanguage = 59,
+ gxPashtoLanguage = 60,
+ gxKurdishLanguage = 61,
+ gxKashmiriLanguage = 62,
+ gxSindhiLanguage = 63,
+ gxTibetanLanguage = 64,
+ gxNepaliLanguage = 65,
+ gxSanskritLanguage = 66,
+ gxMarathiLanguage = 67,
+ gxBengaliLanguage = 68,
+ gxAssameseLanguage = 69,
+ gxGujaratiLanguage = 70,
+ gxPunjabiLanguage = 71,
+ gxOriyaLanguage = 72,
+ gxMalayalamLanguage = 73,
+ gxKannadaLanguage = 74,
+ gxTamilLanguage = 75,
+ gxTeluguLanguage = 76,
+ gxSinhaleseLanguage = 77,
+ gxBurmeseLanguage = 78,
+ gxKhmerLanguage = 79,
+ gxLaoLanguage = 80,
+ gxVietnameseLanguage = 81,
+ gxIndonesianLanguage = 82,
+ gxTagalogLanguage = 83,
+ gxMalayRomanLanguage = 84,
+ gxMalayArabicLanguage = 85,
+ gxAmharicLanguage = 86,
+ gxTigrinyaLanguage = 87,
+ gxGallaLanguage = 88,
+ gxOromoLanguage = gxGallaLanguage,
+ gxSomaliLanguage = 89,
+ gxSwahiliLanguage = 90,
+ gxRuandaLanguage = 91,
+ gxRundiLanguage = 92,
+ gxChewaLanguage = 93,
+ gxMalagasyLanguage = 94,
+ gxEsperantoLanguage = 95,
+ gxWelshLanguage = 129,
+ gxBasqueLanguage = 130,
+ gxCatalanLanguage = 131,
+ gxLatinLanguage = 132,
+ gxQuechuaLanguage = 133,
+ gxGuaraniLanguage = 134,
+ gxAymaraLanguage = 135,
+ gxTatarLanguage = 136,
+ gxUighurLanguage = 137,
+ gxDzongkhaLanguage = 138,
+ gxJavaneseRomLanguage = 139,
+ gxSundaneseRomLanguage = 140
+};
+
+typedef long gxFontLanguage;
+enum {
+ gxCopyrightFontName = 1,
+ gxFamilyFontName = 2,
+ gxStyleFontName = 3,
+ gxUniqueFontName = 4,
+ gxFullFontName = 5,
+ gxVersionFontName = 6,
+ gxPostscriptFontName = 7,
+ gxTrademarkFontName = 8,
+ gxManufacturerFontName = 9,
+ gxLastReservedFontName = 256
+};
+
+typedef long gxFontName;
+typedef long gxFontTableTag;
+typedef long gxFontVariationTag;
+typedef long gxFontFormatTag;
+typedef long gxFontStorageTag;
+typedef gxFontVariationTag gxFontDescriptorTag;
+struct gxFontVariation {
+ gxFontVariationTag name;
+ Fixed value;
+};
+typedef struct gxFontVariation gxFontVariation;
+typedef gxFontVariation gxFontDescriptor;
+struct gxFontFeatureSetting {
+ unsigned short setting;
+ unsigned short nameID;
+};
+typedef struct gxFontFeatureSetting gxFontFeatureSetting;
+enum {
+ gxSystemFontAttribute = 0x0001,
+ gxReadOnlyFontAttribute = 0x0002
+};
+
+
+typedef long gxFontAttribute;
+enum {
+ gxMutuallyExclusiveFeature = 0x00008000
+};
+
+typedef long gxFontFeatureFlag;
+typedef long gxFontFeature;
+enum {
+ gxResourceFontStorage = FOUR_CHAR_CODE('rsrc'),
+ gxHandleFontStorage = FOUR_CHAR_CODE('hndl'),
+ gxFileFontStorage = FOUR_CHAR_CODE('bass'),
+ gxNfntFontStorage = FOUR_CHAR_CODE('nfnt')
+};
+
+typedef void * gxFontStorageReference;
+typedef unsigned short gxGlyphcode;
+/* single glyph in a font */
+/* byte offset within backing store */
+typedef long gxByteOffset;
+/* The actual constants for feature types and selectors have been moved to a library. */
+typedef unsigned short gxRunFeatureType;
+typedef unsigned short gxRunFeatureSelector;
+/* If tracking is not desired, specify the following value in the track field in the
+ gxRunControls record (note that a track of 0 does *not* mean to turn tracking off;
+ rather, it means to use normal tracking). */
+enum {
+ gxNoTracking = gxNegativeInfinity
+};
+
+/* The special "gxNoStake" value is returned by the GXGetLayoutBreakOffset call to
+ indicate the absence of a character offset that is stable with respect to
+ metamorphosis and contextual kerning. */
+enum {
+ gxNoStake = -1
+};
+
+/* A glyph's behavior with respect to other glyphs on its line is defined in part by its
+ gxBaselineType. These types allow correct alignment of the baselines of all glyphs on
+ the line. */
+enum {
+ gxRomanBaseline = 0,
+ gxIdeographicCenterBaseline = 1,
+ gxIdeographicLowBaseline = 2,
+ gxHangingBaseline = 3,
+ gxMathBaseline = 4,
+ gxLastBaseline = 31,
+ gxNumberOfBaselineTypes = gxLastBaseline + 1,
+ gxNoOverrideBaseline = 255
+};
+
+typedef unsigned long gxBaselineType;
+typedef Fixed gxBaselineDeltas[32];
+/* gxJustificationPriority defines the point during the justification process at which a
+ glyph will begin to receive deltas before and after itself. */
+enum {
+ gxKashidaPriority = 0,
+ gxWhiteSpacePriority = 1,
+ gxInterCharPriority = 2,
+ gxNullJustificationPriority = 3,
+ gxNumberOfJustificationPriorities = 4
+};
+
+typedef unsigned char gxJustificationPriority;
+/* gxJustificationFlags are used to control which fields of a gxWidthDeltaRecord are to
+ be overridden and which are not if a gxPriorityJustificationOverride or
+ gxGlyphJustificationOverride (qq.v.) is specified. */
+enum {
+ gxOverridePriority = 0x8000, /* use priority value from override */
+ gxOverrideLimits = 0x4000, /* use limits values from override */
+ gxOverrideUnlimited = 0x2000, /* use unlimited flag from override */
+ gxUnlimitedGapAbsorption = 0x1000, /* glyph can take unlimited gap */
+ gxJustificationPriorityMask = 0x000F, /* justification priority */
+ gxAllJustificationFlags = (gxOverridePriority | gxOverrideLimits | gxOverrideUnlimited | gxUnlimitedGapAbsorption | gxJustificationPriorityMask)
+};
+
+typedef unsigned short gxJustificationFlags;
+/* The directional behavior of a glyph can be overridden using a gxDirectionOverride. */
+enum {
+ gxNoDirectionOverride = 0,
+ gxImposeLeftToRight = 1,
+ gxImposeRightToLeft = 2,
+ gxImposeArabic = 3
+};
+
+typedef unsigned short gxDirectionOverride;
+/* gxRunControlFlags describe the nonparametric layout options contained in a gxStyle. */
+enum {
+ gxNoCaretAngle = 0x40000000,
+ gxImposeWidth = 0x20000000,
+ gxNoCrossKerning = 0x10000000,
+ gxNoOpticalAlignment = 0x08000000,
+ gxForceHanging = 0x04000000,
+ gxNoSpecialJustification = 0x02000000,
+ gxDirectionOverrideMask = 0x00000003,
+ gxNoLigatureSplits = (long)0x80000000
+};
+
+enum {
+ gxAllRunControlFlags = (gxNoLigatureSplits | gxNoCaretAngle | gxImposeWidth | gxNoCrossKerning | gxNoOpticalAlignment | gxForceHanging | gxNoSpecialJustification | gxDirectionOverrideMask)
+};
+
+typedef unsigned long gxRunControlFlags;
+/* gxHighlightType is used to distinguish various highlighting methods, both in terms of
+ character offset based vs. visual based, and in terms of angled sides vs. non-angled
+ sides. */
+enum {
+ gxHighlightStraight = 0, /* straight-edged simple highlighting */
+ gxHighlightAverageAngle = 1 /* takes average of two edge angles */
+};
+
+typedef unsigned long gxHighlightType;
+/* gxCaretType is used to control whether the caret that is returned from GXGetLayoutCaret
+ is a split caret or a (keyboard-syncronized) single caret. */
+enum {
+ gxSplitCaretType = 0, /* returns Mac-style split caret (default) */
+ gxLeftRightKeyboardCaret = 1, /* single caret in left-right position */
+ gxRightLeftKeyboardCaret = 2 /* single caret in right-left position */
+};
+
+typedef unsigned long gxCaretType;
+/* gxLayoutOffsetState describes the characteristics of a given gxByteOffset in some
+ layout. It is returned by the GXGetOffsetGlyphs call. Note that the
+ gxOffsetInsideLigature value is returned in addition to the 8/16 (or invalid)
+ indication. */
+enum {
+ gxOffset8_8 = 0,
+ gxOffset8_16 = 1,
+ gxOffset16_8 = 2,
+ gxOffset16_16 = 3,
+ gxOffsetInvalid = 4
+};
+
+enum {
+ gxOffsetInsideLigature = 0x8000
+};
+
+typedef unsigned short gxLayoutOffsetState;
+/* gxLayoutOptionsFlags are single-bit flags contained in a gxLayoutOptions record. We
+ also define here some utility constants that are useful in setting various fields in
+ the gxLayoutOptions record. */
+enum {
+ gxNoLayoutOptions = 0,
+ gxLineIsDisplayOnly = 0x00000001,
+ gxKeepSpacesInMargin = 0x00000002,
+ gxLimitReorderingToTwoLevels = 0x00000004,
+ gxLineLeftEdgeNotAtMargin = 0x00000008,
+ gxLineRightEdgeNotAtMargin = 0x00000010,
+ gxAllLayoutOptionsFlags = gxLineIsDisplayOnly | gxKeepSpacesInMargin | gxLimitReorderingToTwoLevels | gxLineLeftEdgeNotAtMargin | gxLineRightEdgeNotAtMargin,
+ gxMaxRunLevel = 15,
+ gxFlushLeft = 0,
+ gxFlushCenter = fract1 / 2,
+ gxFlushRight = fract1,
+ gxNoJustification = 0,
+ gxFullJustification = fract1
+};
+
+typedef unsigned long gxLayoutOptionsFlags;
+/* A gxRunFeature describes a feature and a level for that feature. */
+struct gxRunFeature {
+ gxRunFeatureType featureType;
+ gxRunFeatureSelector featureSelector;
+};
+typedef struct gxRunFeature gxRunFeature;
+/* A gxWidthDeltaRecord contains all of the information needed to describe the behavior of one
+ class of glyphs during the justification process. */
+struct gxWidthDeltaRecord {
+ Fixed beforeGrowLimit; /* ems AW can grow by at most on LT */
+ Fixed beforeShrinkLimit; /* ems AW can shrink by at most on LT */
+ Fixed afterGrowLimit; /* ems AW can grow by at most on RB */
+ Fixed afterShrinkLimit; /* ems AW can shrink by at most on RB */
+ gxJustificationFlags growFlags; /* flags controlling grow case */
+ gxJustificationFlags shrinkFlags; /* flags controlling shrink case */
+};
+typedef struct gxWidthDeltaRecord gxWidthDeltaRecord;
+/* A gxPriorityJustificationOverride contains an array of WidthDeltaRecords, one for each
+ gxJustificationPriority. */
+struct gxPriorityJustificationOverride {
+ gxWidthDeltaRecord deltas[4]; /* overrides for each of the priorities */
+};
+typedef struct gxPriorityJustificationOverride gxPriorityJustificationOverride;
+/* A gxGlyphJustificationOverride contains a gxWidthDeltaRecord that is to be used for a
+ specific glyph in a specific run (this limitation is because glyphcodes vary by font). */
+struct gxGlyphJustificationOverride {
+ gxGlyphcode glyph;
+ gxWidthDeltaRecord override;
+};
+typedef struct gxGlyphJustificationOverride gxGlyphJustificationOverride;
+
+/* gxRunControls contains flags, shifts, imposed widths and overrides for a run. */
+/* NOTE: a value of "gxNoTracking" (see above) in track disables tracking */
+struct gxRunControls {
+ gxRunControlFlags flags;
+ Fixed beforeWithStreamShift;
+ Fixed afterWithStreamShift;
+ Fixed crossStreamShift;
+ Fixed imposedWidth;
+ Fixed track;
+ Fract hangingInhibitFactor;
+ Fract kerningInhibitFactor;
+ Fixed decompositionAdjustmentFactor;
+ gxBaselineType baselineType;
+};
+typedef struct gxRunControls gxRunControls;
+/* A gxGlyphSubstitution describes one client-provided substitution that occurs after all
+ other automatic glyph changes have happened. */
+struct gxGlyphSubstitution {
+ gxGlyphcode originalGlyph; /* Whenever you see this glyph... */
+ gxGlyphcode substituteGlyph; /* ...change it to this one. */
+};
+typedef struct gxGlyphSubstitution gxGlyphSubstitution;
+/* gxKerningAdjustmentFactors specify an adjustment to automatic kerning. The adjustment
+ is ax + b where x is the automatic kerning value, a is scaleFactor, and b is
+ adjustmentPointSizeFactor times the run's point size. */
+struct gxKerningAdjustmentFactors {
+ Fract scaleFactor;
+ Fixed adjustmentPointSizeFactor;
+};
+typedef struct gxKerningAdjustmentFactors gxKerningAdjustmentFactors;
+/* A gxKerningAdjustment identifies with- and cross-stream kerning adjustments
+ for specific glyph pairs. */
+struct gxKerningAdjustment {
+ gxGlyphcode firstGlyph;
+ gxGlyphcode secondGlyph;
+ gxKerningAdjustmentFactors withStreamFactors;
+ gxKerningAdjustmentFactors crossStreamFactors;
+};
+typedef struct gxKerningAdjustment gxKerningAdjustment;
+/* A value of gxResetCrossStreamFactor in crossStreamFactors.adjustmentPointSizeFactor
+ will reset the cross-stream kerning to the baseline. */
+enum {
+ gxResetCrossStreamFactor = gxNegativeInfinity
+};
+
+/* gxLayoutHitInfo contains the output from the GXHitTestLayout call. */
+struct gxLayoutHitInfo {
+ Fixed firstPartialDist;
+ Fixed lastPartialDist;
+ gxByteOffset hitSideOffset;
+ gxByteOffset nonHitSideOffset;
+ Boolean leadingEdge;
+ Boolean inLoose;
+};
+typedef struct gxLayoutHitInfo gxLayoutHitInfo;
+/* A gxLineBaselineRecord contains the deltas from 0 to all the different baselines for
+ the layout. It can be filled via a call to GetBaselineDeltas (q.v.). */
+struct gxLineBaselineRecord {
+ gxBaselineDeltas deltas;
+};
+typedef struct gxLineBaselineRecord gxLineBaselineRecord;
+/* The gxLayoutOptions type contains information about the layout characteristics of the
+ whole line. */
+struct gxLayoutOptions {
+ Fixed width;
+ Fract flush;
+ Fract just;
+ gxLayoutOptionsFlags flags;
+ gxLineBaselineRecord * baselineRec;
+};
+typedef struct gxLayoutOptions gxLayoutOptions;
+enum {
+ gxNewObjectOpcode = 0x00, /* create new object */
+ gxSetDataOpcode = 0x40, /* add reference to current object */
+ gxSetDefaultOpcode = 0x80, /* replace current default with this object */
+ gxReservedOpcode = 0xC0, /* (may be used in future expansion) */
+ gxNextOpcode = 0xFF /* used by currentOperand field to say opcode is coming */
+};
+
+/* new object types (new object opcode) */
+enum {
+ gxHeaderTypeOpcode = 0x00, /* byte following new object uses bottom 6 bits for type */
+ /* gxShape types use values 1 (gxEmptyType) through 13 (gxPictureType) */
+ gxStyleTypeOpcode = 0x28,
+ gxInkTypeOpcode = 0x29,
+ gxTransformTypeOpcode = 0x2A,
+ gxColorProfileTypeOpcode = 0x2B,
+ gxColorSetTypeOpcode = 0x2C,
+ gxTagTypeOpcode = 0x2D,
+ gxBitImageOpcode = 0x2E,
+ gxFontNameTypeOpcode = 0x2F,
+ gxTrailerTypeOpcode = 0x3F
+};
+
+/* fields of objects (set data opcodes) */
+enum {
+ gxShapeAttributesOpcode = 0,
+ gxShapeTagOpcode = 1,
+ gxShapeFillOpcode = 2
+};
+
+enum {
+ gxOmitPathPositionXMask = 0xC0,
+ gxOmitPathPositionYMask = 0x30,
+ gxOmitPathDeltaXMask = 0x0C,
+ gxOmitPathDeltaYMask = 0x03
+};
+
+enum {
+ gxOmitPathPositionXShift = 6,
+ gxOmitPathPositionYShift = 4,
+ gxOmitPathDeltaXShift = 2,
+ gxOmitPathDeltaYShift = 0
+};
+
+enum {
+ gxOmitBitmapImageMask = 0xC0,
+ gxOmitBitmapWidthMask = 0x30,
+ gxOmitBitmapHeightMask = 0x0C,
+ gxOmitBitmapRowBytesMask = 0x03
+};
+
+enum {
+ gxOmitBitmapImageShift = 6,
+ gxOmitBitmapWidthShift = 4,
+ gxOmitBitmapHeightShift = 2,
+ gxOmitBitmapRowBytesShift = 0
+};
+
+enum {
+ gxOmitBitmapPixelSizeMask = 0xC0,
+ gxOmitBitmapSpaceMask = 0x30,
+ gxOmitBitmapSetMask = 0x0C,
+ gxOmitBitmapProfileMask = 0x03
+};
+
+enum {
+ gxOmitBitmapPixelSizeShift = 6,
+ gxOmitBitmapSpaceShift = 4,
+ gxOmitBitmapSetShift = 2,
+ gxOmitBitmapProfileShift = 0
+};
+
+enum {
+ gxOmitBitmapPositionXMask = 0xC0,
+ gxOmitBitmapPositionYMask = 0x30
+};
+
+enum {
+ gxOmitBitmapPositionXShift = 6,
+ gxOmitBitmapPositionYShift = 4
+};
+
+enum {
+ gxOmitBitImageRowBytesMask = 0xC0,
+ gxOmitBitImageHeightMask = 0x30,
+ gxOmitBitImageDataMask = 0x08
+};
+
+enum {
+ gxOmitBitImageRowBytesShift = 6,
+ gxOmitBitImageHeightShift = 4,
+ gxOmitBitImageDataShift = 3
+};
+
+enum {
+ gxCopyBitImageBytesOpcode = 0x00,
+ gxRepeatBitImageBytesOpcode = 0x40,
+ gxLookupBitImageBytesOpcode = 0x80,
+ gxRepeatBitImageScanOpcode = 0xC0
+};
+
+enum {
+ gxOmitTextCharactersMask = 0xC0,
+ gxOmitTextPositionXMask = 0x30,
+ gxOmitTextPositionYMask = 0x0C,
+ gxOmitTextDataMask = 0x02
+};
+
+enum {
+ gxOmitTextCharactersShift = 6,
+ gxOmitTextPositionXShift = 4,
+ gxOmitTextPositionYShift = 2,
+ gxOmitTextDataShift = 1
+};
+
+enum {
+ gxOmitGlyphCharactersMask = 0xC0,
+ gxOmitGlyphLengthMask = 0x30,
+ gxOmitGlyphRunNumberMask = 0x0C,
+ gxOmitGlyphOnePositionMask = 0x02,
+ gxOmitGlyphDataMask = 0x01
+};
+
+enum {
+ gxOmitGlyphCharactersShift = 6,
+ gxOmitGlyphLengthShift = 4,
+ gxOmitGlyphRunNumberShift = 2,
+ gxOmitGlyphOnePositionShift = 1,
+ gxOmitGlyphDataShift = 0
+};
+
+enum {
+ gxOmitGlyphPositionsMask = 0xC0,
+ gxOmitGlyphAdvancesMask = 0x20,
+ gxOmitGlyphTangentsMask = 0x18,
+ gxOmitGlyphRunsMask = 0x04,
+ gxOmitGlyphStylesMask = 0x03
+};
+
+enum {
+ gxOmitGlyphPositionsShift = 6,
+ gxOmitGlyphAdvancesShift = 5,
+ gxOmitGlyphTangentsShift = 3,
+ gxOmitGlyphRunsShift = 2,
+ gxOmitGlyphStylesShift = 0
+};
+
+enum {
+ gxOmitLayoutLengthMask = 0xC0,
+ gxOmitLayoutPositionXMask = 0x30,
+ gxOmitLayoutPositionYMask = 0x0C,
+ gxOmitLayoutDataMask = 0x02
+};
+
+enum {
+ gxOmitLayoutLengthShift = 6,
+ gxOmitLayoutPositionXShift = 4,
+ gxOmitLayoutPositionYShift = 2,
+ gxOmitLayoutDataShift = 1
+};
+
+enum {
+ gxOmitLayoutWidthMask = 0xC0,
+ gxOmitLayoutFlushMask = 0x30,
+ gxOmitLayoutJustMask = 0x0C,
+ gxOmitLayoutOptionsMask = 0x03
+};
+
+enum {
+ gxOmitLayoutWidthShift = 6,
+ gxOmitLayoutFlushShift = 4,
+ gxOmitLayoutJustShift = 2,
+ gxOmitLayoutOptionsShift = 0
+};
+
+enum {
+ gxOmitLayoutStyleRunNumberMask = 0xC0,
+ gxOmitLayoutLevelRunNumberMask = 0x30,
+ gxOmitLayoutHasBaselineMask = 0x08,
+ gxOmitLayoutStyleRunsMask = 0x04,
+ gxOmitLayoutStylesMask = 0x03
+};
+
+enum {
+ gxOmitLayoutStyleRunNumberShift = 6,
+ gxOmitLayoutLevelRunNumberShift = 4,
+ gxOmitLayoutHasBaselineShift = 3,
+ gxOmitLayoutStyleRunsShift = 2,
+ gxOmitLayoutStylesShift = 0
+};
+
+enum {
+ gxOmitLayoutLevelRunsMask = 0x80,
+ gxOmitLayoutLevelsMask = 0x40
+};
+
+enum {
+ gxOmitLayoutLevelRunsShift = 7,
+ gxOmitLayoutLevelsShift = 6
+};
+
+enum {
+ gxInkAttributesOpcode = 0,
+ gxInkTagOpcode = 1,
+ gxInkColorOpcode = 2,
+ gxInkTransferModeOpcode = 3
+};
+
+enum {
+ gxOmitColorsSpaceMask = 0xC0,
+ gxOmitColorsProfileMask = 0x30,
+ gxOmitColorsComponentsMask = 0x0F,
+ gxOmitColorsIndexMask = 0x0C,
+ gxOmitColorsIndexSetMask = 0x03
+};
+
+enum {
+ gxOmitColorsSpaceShift = 6,
+ gxOmitColorsProfileShift = 4,
+ gxOmitColorsComponentsShift = 0,
+ gxOmitColorsIndexShift = 2,
+ gxOmitColorsIndexSetShift = 0
+};
+
+enum {
+ gxOmitTransferSpaceMask = 0xC0,
+ gxOmitTransferSetMask = 0x30,
+ gxOmitTransferProfileMask = 0x0C
+};
+
+enum {
+ gxOmitTransferSpaceShift = 6,
+ gxOmitTransferSetShift = 4,
+ gxOmitTransferProfileShift = 2
+};
+
+enum {
+ gxOmitTransferSourceMatrixMask = 0xC0,
+ gxOmitTransferDeviceMatrixMask = 0x30,
+ gxOmitTransferResultMatrixMask = 0x0C,
+ gxOmitTransferFlagsMask = 0x03
+};
+
+enum {
+ gxOmitTransferSourceMatrixShift = 6,
+ gxOmitTransferDeviceMatrixShift = 4,
+ gxOmitTransferResultMatrixShift = 2,
+ gxOmitTransferFlagsShift = 0
+};
+
+enum {
+ gxOmitTransferComponentModeMask = 0x80,
+ gxOmitTransferComponentFlagsMask = 0x40,
+ gxOmitTransferComponentSourceMinimumMask = 0x30,
+ gxOmitTransferComponentSourceMaximumMask = 0x0C,
+ gxOmitTransferComponentDeviceMinimumMask = 0x03
+};
+
+enum {
+ gxOmitTransferComponentModeShift = 7,
+ gxOmitTransferComponentFlagsShift = 6,
+ gxOmitTransferComponentSourceMinimumShift = 4,
+ gxOmitTransferComponentSourceMaximumShift = 2,
+ gxOmitTransferComponentDeviceMinimumShift = 0
+};
+
+enum {
+ gxOmitTransferComponentDeviceMaximumMask = 0xC0,
+ gxOmitTransferComponentClampMinimumMask = 0x30,
+ gxOmitTransferComponentClampMaximumMask = 0x0C,
+ gxOmitTransferComponentOperandMask = 0x03
+};
+
+enum {
+ gxOmitTransferComponentDeviceMaximumShift = 6,
+ gxOmitTransferComponentClampMinimumShift = 4,
+ gxOmitTransferComponentClampMaximumShift = 2,
+ gxOmitTransferComponentOperandShift = 0
+};
+
+enum {
+ gxStyleAttributesOpcode = 0,
+ gxStyleTagOpcode = 1,
+ gxStyleCurveErrorOpcode = 2,
+ gxStylePenOpcode = 3,
+ gxStyleJoinOpcode = 4,
+ gxStyleDashOpcode = 5,
+ gxStyleCapsOpcode = 6,
+ gxStylePatternOpcode = 7,
+ gxStyleTextAttributesOpcode = 8,
+ gxStyleTextSizeOpcode = 9,
+ gxStyleFontOpcode = 10,
+ gxStyleTextFaceOpcode = 11,
+ gxStylePlatformOpcode = 12,
+ gxStyleFontVariationsOpcode = 13,
+ gxStyleRunControlsOpcode = 14,
+ gxStyleRunPriorityJustOverrideOpcode = 15,
+ gxStyleRunGlyphJustOverridesOpcode = 16,
+ gxStyleRunGlyphSubstitutionsOpcode = 17,
+ gxStyleRunFeaturesOpcode = 18,
+ gxStyleRunKerningAdjustmentsOpcode = 19,
+ gxStyleJustificationOpcode = 20
+};
+
+enum {
+ gxOmitDashAttributesMask = 0xC0,
+ gxOmitDashShapeMask = 0x30,
+ gxOmitDashAdvanceMask = 0x0C,
+ gxOmitDashPhaseMask = 0x03
+};
+
+enum {
+ gxOmitDashAttributesShift = 6,
+ gxOmitDashShapeShift = 4,
+ gxOmitDashAdvanceShift = 2,
+ gxOmitDashPhaseShift = 0
+};
+
+enum {
+ gxOmitDashScaleMask = 0xC0
+};
+
+enum {
+ gxOmitDashScaleShift = 6
+};
+
+enum {
+ gxOmitPatternAttributesMask = 0xC0,
+ gxOmitPatternShapeMask = 0x30,
+ gxOmitPatternUXMask = 0x0C,
+ gxOmitPatternUYMask = 0x03
+};
+
+enum {
+ gxOmitPatternAttributesShift = 6,
+ gxOmitPatternShapeShift = 4,
+ gxOmitPatternUXShift = 2,
+ gxOmitPatternUYShift = 0
+};
+
+enum {
+ gxOmitPatternVXMask = 0xC0,
+ gxOmitPatternVYMask = 0x30
+};
+
+enum {
+ gxOmitPatternVXShift = 6,
+ gxOmitPatternVYShift = 4
+};
+
+enum {
+ gxOmitJoinAttributesMask = 0xC0,
+ gxOmitJoinShapeMask = 0x30,
+ gxOmitJoinMiterMask = 0x0C
+};
+
+enum {
+ gxOmitJoinAttributesShift = 6,
+ gxOmitJoinShapeShift = 4,
+ gxOmitJoinMiterShift = 2
+};
+
+enum {
+ gxOmitCapAttributesMask = 0xC0,
+ gxOmitCapStartShapeMask = 0x30,
+ gxOmitCapEndShapeMask = 0x0C
+};
+
+enum {
+ gxOmitCapAttributesShift = 6,
+ gxOmitCapStartShapeShift = 4,
+ gxOmitCapEndShapeShift = 2
+};
+
+enum {
+ gxOmitFaceLayersMask = 0xC0,
+ gxOmitFaceMappingMask = 0x30
+};
+
+enum {
+ gxOmitFaceLayersShift = 6,
+ gxOmitFaceMappingShift = 4
+};
+
+enum {
+ gxOmitFaceLayerFillMask = 0xC0,
+ gxOmitFaceLayerFlagsMask = 0x30,
+ gxOmitFaceLayerStyleMask = 0x0C,
+ gxOmitFaceLayerTransformMask = 0x03
+};
+
+enum {
+ gxOmitFaceLayerFillShift = 6,
+ gxOmitFaceLayerFlagsShift = 4,
+ gxOmitFaceLayerStyleShift = 2,
+ gxOmitFaceLayerTransformShift = 0
+};
+
+enum {
+ gxOmitFaceLayerBoldXMask = 0xC0,
+ gxOmitFaceLayerBoldYMask = 0x30
+};
+
+enum {
+ gxOmitFaceLayerBoldXShift = 6,
+ gxOmitFaceLayerBoldYShift = 4
+};
+
+enum {
+ gxColorSetReservedOpcode = 0,
+ gxColorSetTagOpcode = 1
+};
+
+enum {
+ gxColorProfileReservedOpcode = 0,
+ gxColorProfileTagOpcode = 1
+};
+
+enum {
+ gxTransformReservedOpcode = 0,
+ gxTransformTagOpcode = 1,
+ gxTransformClipOpcode = 2,
+ gxTransformMappingOpcode = 3,
+ gxTransformPartMaskOpcode = 4,
+ gxTransformToleranceOpcode = 5
+};
+
+enum {
+ gxTypeOpcode = 0,
+ gxSizeOpcode = 1
+};
+
+/* used by currentOperand when currentOperation is gxNextOpcode */
+/* format of top byte:
+xx yyyyyy xx == 0x00, 0x40, 0x80, 0xC0: defines graphics operation (see gxGraphicsOperationOpcode)
+ yyyyyy == size of operation in bytes
+ if (yyyyyy == 0), byte size follows. If byte following == 0, word size follows; if == 0, long follows
+ word and long, if present, are specified in high-endian order (first byte is largest magnitude)
+
+format of byte following size specifiers, if any:
+xx yyyyyy xx == 0x00, 0x40, 0x80, 0xC0: defines compression level (0 == none, 0xC0 == most)
+ exact method of compression is defined by type of data
+ yyyyyy == data type selector (0 to 63): see gxGraphicsNewOpcode, __DataOpcode
+*/
+enum {
+ gxOpcodeShift = 6,
+ gxObjectSizeMask = 0x3F,
+ gxCompressionShift = 6,
+ gxObjectTypeMask = 0x3F,
+ gxBitImageOpcodeMask = 0xC0,
+ gxBitImageCountMask = 0x3F,
+ gxBitImageOpcodeShift = 6
+};
+
+enum {
+ gxNoCompression = 0,
+ gxWordCompression = 1,
+ gxByteCompression = 2,
+ gxOmitCompression = 3,
+ gxCompressionMask = 0x03
+};
+
+/* the following structures define how primitives without a public geometry
+ are stored (their format mirrors that of the New call to create them) */
+struct gxFlatFontName {
+ unsigned char name; /* gxFontName */
+ unsigned char platform; /* gxFontPlatform */
+ unsigned char script; /* gxFontScript */
+ unsigned char language; /* gxFontLanguage */
+ short length; /* byte length */
+};
+typedef struct gxFlatFontName gxFlatFontName;
+enum {
+ gxFlatFontListItemTag = FOUR_CHAR_CODE('flst')
+};
+
+struct gxFlatFontListItem {
+ gxFont fontID; /*** if we get rid of this, remove #include "font types.h", above */
+ unsigned char name; /* gxFontName */
+ unsigned char platform; /* gxFontPlatform */
+ unsigned char script; /* gxFontScript */
+ unsigned char language; /* gxFontLanguage */
+ short length; /* byte length of the name that follows */
+ unsigned short glyphCount; /* CountFontGlyphs or 0 if gxFontGlyphsFlatten is false */
+ unsigned short axisCount; /* CountFontVariations or 0 if gxFontVariationsFlatten is false */
+ unsigned short variationCount; /* number of bitsVariationPairs that follow the (optional) glyphBits */
+};
+typedef struct gxFlatFontListItem gxFlatFontListItem;
+struct gxFlatFontList {
+ long count;
+ gxFlatFontListItem items[1];
+};
+typedef struct gxFlatFontList gxFlatFontList;
+struct gxFlattenHeader {
+ Fixed version;
+ unsigned char flatFlags;
+ SInt8 padding;
+};
+typedef struct gxFlattenHeader gxFlattenHeader;
+enum {
+ gxOmitPictureShapeMask = 0xC0,
+ gxOmitOverrideStyleMask = 0x30,
+ gxOmitOverrideInkMask = 0x0C,
+ gxOmitOverrideTransformMask = 0x03
+};
+
+enum {
+ gxOmitPictureShapeShift = 0x06,
+ gxOmitOverrideStyleShift = 0x04,
+ gxOmitOverrideInkShift = 0x02,
+ gxOmitOverrideTransformShift = 0x00
+};
+
+enum {
+ gxPostScriptTag = FOUR_CHAR_CODE('post'),
+ gxPostControlTag = FOUR_CHAR_CODE('psct')
+};
+
+enum {
+ gxNoSave = 1, /* don't do save-restore around PS data */
+ gxPSContinueNext = 2 /* next shape is continuation of this shape's PS -- only obeyed if gxNoSave is true */
+};
+
+struct gxPostControl {
+ long flags; /* PostScript state flags */
+};
+typedef struct gxPostControl gxPostControl;
+enum {
+ gxDashSynonymTag = FOUR_CHAR_CODE('sdsh')
+};
+
+struct gxDashSynonym {
+ long size; /* number of elements in array */
+ Fixed dashLength[1]; /* Array of dash lengths */
+};
+typedef struct gxDashSynonym gxDashSynonym;
+enum {
+ gxLineCapSynonymTag = FOUR_CHAR_CODE('lcap')
+};
+
+enum {
+ gxButtCap = 0,
+ gxRoundCap = 1,
+ gxSquareCap = 2,
+ gxTriangleCap = 3
+};
+
+/* gxLine cap type */
+
+typedef long gxLineCapSynonym;
+enum {
+ gxCubicSynonymTag = FOUR_CHAR_CODE('cubx')
+};
+
+enum {
+ gxIgnoreFlag = 0x0000, /* Ignore this word, get next one */
+ gxLineToFlag = 0x0001, /* Draw a gxLine to gxPoint following this flag */
+ gxCurveToFlag = 0x0002, /* Draw a gxCurve through the 3 points following this flag */
+ gxMoveToFlag = 0x0003, /* Start a new contour at the gxPoint following this flag */
+ gxClosePathFlag = 0x0004 /* Close the contour */
+};
+
+typedef long gxCubicSynonym;
+enum {
+ gxCubicInstructionMask = 0x000F /* low four bits are gxPoint instructions */
+};
+
+/* Low four bits are instruction (moveto, lineto, curveto, closepath) */
+typedef short gxCubicSynonymFlags;
+enum {
+ gxPatternSynonymTag = FOUR_CHAR_CODE('ptrn')
+};
+
+enum {
+ gxHatch = 0,
+ gxCrossHatch = 1
+};
+
+struct gxPatternSynonym {
+ long patternType; /* one of the gxPatterns: gxHatch or gxCrossHatch */
+ Fixed angle; /* angle at which pattern is drawn */
+ Fixed spacing; /* distance between two parallel pattern lines */
+ Fixed thickness; /* thickness of the pattern */
+ gxPoint anchorPoint; /* gxPoint with with respect to which pattern position is calculated */
+};
+typedef struct gxPatternSynonym gxPatternSynonym;
+enum {
+ gxURLTag = FOUR_CHAR_CODE('urlt')
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Gestalt.h b/include/qt/Gestalt.h
index 975172a30..88e3650ac 100644
--- a/include/qt/Gestalt.h
+++ b/include/qt/Gestalt.h
@@ -1,17 +1,17 @@
/*
File: Gestalt.h
-
+
Contains: Gestalt Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1988-2001 by Apple Computer, Inc. All rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __GESTALT__
#define __GESTALT__
@@ -41,2202 +41,1993 @@ extern "C" {
- typedef CALLBACK_API(OSErr , SelectorFunctionProcPtr)(OSType selector, long *response);
- typedef STACK_UPP_TYPE(SelectorFunctionProcPtr) SelectorFunctionUPP;
- /*
- * Gestalt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+typedef CALLBACK_API( OSErr , SelectorFunctionProcPtr )(OSType selector, long *response);
+typedef STACK_UPP_TYPE(SelectorFunctionProcPtr) SelectorFunctionUPP;
+/*
+ * Gestalt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 Gestalt(__D0, __A1)
#endif
- EXTERN_API(OSErr)
- Gestalt(
- OSType selector,
- long * response) TWOWORDINLINE(0xA1AD, 0x2288);
+EXTERN_API( OSErr )
+Gestalt(
+ OSType selector,
+ long * response) TWOWORDINLINE(0xA1AD, 0x2288);
- /*
- * ReplaceGestalt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * ReplaceGestalt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 ReplaceGestalt(__D0, __A0, __A1)
#endif
- EXTERN_API(OSErr)
- ReplaceGestalt(
- OSType selector,
- SelectorFunctionUPP gestaltFunction,
- SelectorFunctionUPP * oldGestaltFunction) FOURWORDINLINE(0x2F09, 0xA5AD, 0x225F, 0x2288);
-
-
- /*
- * NewGestalt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+ReplaceGestalt(
+ OSType selector,
+ SelectorFunctionUPP gestaltFunction,
+ SelectorFunctionUPP * oldGestaltFunction) FOURWORDINLINE(0x2F09, 0xA5AD, 0x225F, 0x2288);
+
+
+/*
+ * NewGestalt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 NewGestalt(__D0, __A0)
#endif
- EXTERN_API(OSErr)
- NewGestalt(
- OSType selector,
- SelectorFunctionUPP gestaltFunction) ONEWORDINLINE(0xA3AD);
-
-
- /* The GestaltValue functions are available in System 7.5 and later*/
-
- /*
- * NewGestaltValue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewGestaltValue(
- OSType selector,
- long newValue) THREEWORDINLINE(0x303C, 0x0401, 0xABF1);
-
-
- /*
- * ReplaceGestaltValue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ReplaceGestaltValue(
- OSType selector,
- long replacementValue) THREEWORDINLINE(0x303C, 0x0402, 0xABF1);
-
-
- /*
- * SetGestaltValue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetGestaltValue(
- OSType selector,
- long newValue) THREEWORDINLINE(0x303C, 0x0404, 0xABF1);
-
-
- /*
- * DeleteGestaltValue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DeleteGestaltValue(OSType selector) THREEWORDINLINE(0x303C, 0x0203, 0xABF1);
-
-
-
- /*
- * NewSelectorFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SelectorFunctionUPP)
- NewSelectorFunctionUPP(SelectorFunctionProcPtr userRoutine);
+EXTERN_API( OSErr )
+NewGestalt(
+ OSType selector,
+ SelectorFunctionUPP gestaltFunction) ONEWORDINLINE(0xA3AD);
+
+
+/* The GestaltValue functions are available in System 7.5 and later*/
+
+/*
+ * NewGestaltValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewGestaltValue(
+ OSType selector,
+ long newValue) THREEWORDINLINE(0x303C, 0x0401, 0xABF1);
+
+
+/*
+ * ReplaceGestaltValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ReplaceGestaltValue(
+ OSType selector,
+ long replacementValue) THREEWORDINLINE(0x303C, 0x0402, 0xABF1);
+
+
+/*
+ * SetGestaltValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetGestaltValue(
+ OSType selector,
+ long newValue) THREEWORDINLINE(0x303C, 0x0404, 0xABF1);
+
+
+/*
+ * DeleteGestaltValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DeleteGestaltValue(OSType selector) THREEWORDINLINE(0x303C, 0x0203, 0xABF1);
+
+
+
+/*
+ * NewSelectorFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SelectorFunctionUPP )
+NewSelectorFunctionUPP(SelectorFunctionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSelectorFunctionProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SelectorFunctionUPP) NewSelectorFunctionUPP(SelectorFunctionProcPtr userRoutine)
- {
- return (SelectorFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSelectorFunctionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSelectorFunctionUPP(userRoutine) (SelectorFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSelectorFunctionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSelectorFunctionProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SelectorFunctionUPP) NewSelectorFunctionUPP(SelectorFunctionProcPtr userRoutine) { return (SelectorFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSelectorFunctionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSelectorFunctionUPP(userRoutine) (SelectorFunctionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSelectorFunctionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeSelectorFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSelectorFunctionUPP(SelectorFunctionUPP userUPP);
+/*
+ * DisposeSelectorFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSelectorFunctionUPP(SelectorFunctionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSelectorFunctionUPP(SelectorFunctionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSelectorFunctionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSelectorFunctionUPP(SelectorFunctionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSelectorFunctionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeSelectorFunctionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeSelectorFunctionUPP(
- OSType selector,
- long * response,
- SelectorFunctionUPP userUPP);
+/*
+ * InvokeSelectorFunctionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeSelectorFunctionUPP(
+ OSType selector,
+ long * response,
+ SelectorFunctionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeSelectorFunctionUPP(OSType selector, long * response, SelectorFunctionUPP userUPP)
- {
- return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppSelectorFunctionProcInfo, selector, response);
- }
-#else
-#define InvokeSelectorFunctionUPP(selector, response, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppSelectorFunctionProcInfo, (selector), (response))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeSelectorFunctionUPP(OSType selector, long * response, SelectorFunctionUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppSelectorFunctionProcInfo, selector, response); }
+ #else
+ #define InvokeSelectorFunctionUPP(selector, response, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppSelectorFunctionProcInfo, (selector), (response))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSelectorFunctionProc(userRoutine) NewSelectorFunctionUPP(userRoutine)
-#define CallSelectorFunctionProc(userRoutine, selector, response) InvokeSelectorFunctionUPP(selector, response, userRoutine)
+ #define NewSelectorFunctionProc(userRoutine) NewSelectorFunctionUPP(userRoutine)
+ #define CallSelectorFunctionProc(userRoutine, selector, response) InvokeSelectorFunctionUPP(selector, response, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* Environment Selectors */
- enum
- {
- gestaltAddressingModeAttr = FOUR_CHAR_CODE('addr'), /* addressing mode attributes */
- gestalt32BitAddressing = 0, /* using 32-bit addressing mode */
- gestalt32BitSysZone = 1, /* 32-bit compatible system zone */
- gestalt32BitCapable = 2 /* Machine is 32-bit capable */
- };
-
- enum
- {
- gestaltAFPClient = FOUR_CHAR_CODE('afps'),
- gestaltAFPClientVersionMask = 0x0000FFFF, /* low word of long is the */
- /* client version 0x0001 -> 0x0007*/
- gestaltAFPClient3_5 = 0x0001,
- gestaltAFPClient3_6 = 0x0002,
- gestaltAFPClient3_6_1 = 0x0003,
- gestaltAFPClient3_6_2 = 0x0004,
- gestaltAFPClient3_6_3 = 0x0005, /* including 3.6.4, 3.6.5*/
- gestaltAFPClient3_7 = 0x0006, /* including 3.7.1*/
- gestaltAFPClient3_7_2 = 0x0007, /* including 3.7.3, 3.7.4*/
- gestaltAFPClient3_8 = 0x0008,
- gestaltAFPClient3_8_1 = 0x0009, /* including 3.8.2 */
- gestaltAFPClient3_8_3 = 0x000A,
- gestaltAFPClient3_8_4 = 0x000B, /* including 3.8.5, 3.8.6 */
- gestaltAFPClientAttributeMask = (long)0xFFFF0000, /* high word of long is a */
- /* set of attribute bits*/
- gestaltAFPClientCfgRsrc = 16, /* Client uses config resources*/
- gestaltAFPClientSupportsIP = 29, /* Client supports AFP over TCP/IP*/
- gestaltAFPClientVMUI = 30, /* Client can put up UI from the PBVolMount trap*/
- gestaltAFPClientMultiReq = 31 /* Client supports multiple outstanding requests*/
- };
-
-
- enum
- {
- gestaltAliasMgrAttr = FOUR_CHAR_CODE('alis'), /* Alias Mgr Attributes */
- gestaltAliasMgrPresent = 0, /* True if the Alias Mgr is present */
- gestaltAliasMgrSupportsRemoteAppletalk = 1, /* True if the Alias Mgr knows about Remote Appletalk */
- gestaltAliasMgrSupportsAOCEKeychain = 2, /* True if the Alias Mgr knows about the AOCE Keychain */
- gestaltAliasMgrResolveAliasFileWithMountOptions = 3, /* True if the Alias Mgr implements gestaltAliasMgrResolveAliasFileWithMountOptions() and IsAliasFile() */
- gestaltAliasMgrFollowsAliasesWhenResolving = 4,
- gestaltAliasMgrSupportsExtendedCalls = 5,
- gestaltAliasMgrSupportsFSCalls = 6, /* true if Alias Mgr supports HFS+ Calls */
- gestaltAliasMgrPrefersPath = 7 /* True if the Alias Mgr prioritizes the path over file id during resolution by default */
- };
-
- /* Gestalt selector and values for the Appearance Manager */
- enum
- {
- gestaltAppearanceAttr = FOUR_CHAR_CODE('appr'),
- gestaltAppearanceExists = 0,
- gestaltAppearanceCompatMode = 1
- };
-
- /* Gestalt selector for determining Appearance Manager version */
- /* If this selector does not exist, but gestaltAppearanceAttr */
- /* does, it indicates that the 1.0 version is installed. This */
- /* gestalt returns a BCD number representing the version of the */
- /* Appearance Manager that is currently running, e.g. 0x0101 for */
- /* version 1.0.1. */
- enum
- {
- gestaltAppearanceVersion = FOUR_CHAR_CODE('apvr')
- };
-
- enum
- {
- gestaltArbitorAttr = FOUR_CHAR_CODE('arb '),
- gestaltSerialArbitrationExists = 0 /* this bit if the serial port arbitrator exists*/
- };
-
- enum
- {
- gestaltAppleScriptVersion = FOUR_CHAR_CODE('ascv') /* AppleScript version*/
- };
-
- enum
- {
- gestaltAppleScriptAttr = FOUR_CHAR_CODE('ascr'), /* AppleScript attributes*/
- gestaltAppleScriptPresent = 0,
- gestaltAppleScriptPowerPCSupport = 1
- };
-
- enum
- {
- gestaltATAAttr = FOUR_CHAR_CODE('ata '), /* ATA is the driver to support IDE hard disks */
- gestaltATAPresent = 0 /* if set, ATA Manager is present */
- };
-
- enum
- {
- gestaltATalkVersion = FOUR_CHAR_CODE('atkv') /* Detailed AppleTalk version; see comment above for format */
- };
-
- enum
- {
- gestaltAppleTalkVersion = FOUR_CHAR_CODE('atlk') /* appletalk version */
- };
-
- /*
- FORMAT OF gestaltATalkVersion RESPONSE
- --------------------------------------
- The version is stored in the high three bytes of the response value. Let us number
- the bytes in the response value from 0 to 3, where 0 is the least-significant byte.
-
- Byte#: 3 2 1 0
- Value: 0xMMNNRR00
-
- Byte 3 (MM) contains the major revision number, byte 2 (NN) contains the minor
- revision number, and byte 1 (RR) contains a constant that represents the release
- stage. Byte 0 always contains 0x00. The constants for the release stages are:
-
- development = 0x20
- alpha = 0x40
- beta = 0x60
- final = 0x80
- release = 0x80
-
- For example, if you call Gestalt with the 'atkv' selector when AppleTalk version 57
- is loaded, you receive the long integer response value 0x39008000.
- */
- enum
- {
- gestaltAUXVersion = FOUR_CHAR_CODE('a/ux') /* a/ux version, if present */
- };
-
- enum
- {
- gestaltMacOSCompatibilityBoxAttr = FOUR_CHAR_CODE('bbox'), /* Classic presence and features */
- gestaltMacOSCompatibilityBoxPresent = 0, /* True if running under the Classic */
- gestaltMacOSCompatibilityBoxHasSerial = 1, /* True if Classic serial support is implemented. */
- gestaltMacOSCompatibilityBoxless = 2 /* True if we're Boxless (screen shared with Carbon/Cocoa) */
- };
-
- enum
- {
- gestaltBusClkSpeed = FOUR_CHAR_CODE('bclk') /* main I/O bus clock speed in hertz */
- };
-
- enum
- {
- gestaltCloseViewAttr = FOUR_CHAR_CODE('BSDa'), /* CloseView attributes */
- gestaltCloseViewEnabled = 0, /* Closeview enabled (dynamic bit - returns current state) */
- gestaltCloseViewDisplayMgrFriendly = 1 /* Closeview compatible with Display Manager (FUTURE) */
- };
-
- enum
- {
- gestaltCarbonVersion = FOUR_CHAR_CODE('cbon') /* version of Carbon API present in system */
- };
-
- enum
- {
- gestaltCFMAttr = FOUR_CHAR_CODE('cfrg'), /* Selector for information about the Code Fragment Manager */
- gestaltCFMPresent = 0, /* True if the Code Fragment Manager is present */
- gestaltCFMPresentMask = 0x0001,
- gestaltCFM99Present = 2, /* True if the CFM-99 features are present. */
- gestaltCFM99PresentMask = 0x0004
- };
-
- enum
- {
- gestaltCollectionMgrVersion = FOUR_CHAR_CODE('cltn') /* Collection Manager version */
- };
-
- enum
- {
- gestaltColorMatchingAttr = FOUR_CHAR_CODE('cmta'), /* ColorSync attributes */
- gestaltHighLevelMatching = 0,
- gestaltColorMatchingLibLoaded = 1
- };
-
- enum
- {
- gestaltColorMatchingVersion = FOUR_CHAR_CODE('cmtc'),
- gestaltColorSync10 = 0x0100, /* 0x0100 & 0x0110 _Gestalt versions for 1.0-1.0.3 product */
- gestaltColorSync11 = 0x0110, /* 0x0100 == low-level matching only */
- gestaltColorSync104 = 0x0104, /* Real version, by popular demand */
- gestaltColorSync105 = 0x0105,
- gestaltColorSync20 = 0x0200, /* ColorSync 2.0 */
- gestaltColorSync21 = 0x0210,
- gestaltColorSync211 = 0x0211,
- gestaltColorSync212 = 0x0212,
- gestaltColorSync213 = 0x0213,
- gestaltColorSync25 = 0x0250,
- gestaltColorSync26 = 0x0260,
- gestaltColorSync261 = 0x0261,
- gestaltColorSync30 = 0x0300
- };
-
- enum
- {
- gestaltControlMgrVersion = FOUR_CHAR_CODE('cmvr') /* NOTE: The first version we return is 3.0.1, on Mac OS X plus update 2*/
- };
-
- enum
- {
- gestaltControlMgrAttr = FOUR_CHAR_CODE('cntl'), /* Control Mgr*/
- gestaltControlMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
- /* this type are bit index values. Universal Interfaces 3.2 slipped*/
- /* out the door with this mistake.*/
- gestaltControlMgrPresentBit = 0, /* bit number*/
- gestaltControlMsgPresentMask = (1L << gestaltControlMgrPresentBit)
- };
-
- enum
- {
- gestaltConnMgrAttr = FOUR_CHAR_CODE('conn'), /* connection mgr attributes */
- gestaltConnMgrPresent = 0,
- gestaltConnMgrCMSearchFix = 1, /* Fix to CMAddSearch? */
- gestaltConnMgrErrorString = 2, /* has CMGetErrorString() */
- gestaltConnMgrMultiAsyncIO = 3 /* CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill */
- };
-
- enum
- {
- gestaltColorPickerVersion = FOUR_CHAR_CODE('cpkr'), /* returns version of ColorPicker */
- gestaltColorPicker = FOUR_CHAR_CODE('cpkr') /* gestaltColorPicker is old name for gestaltColorPickerVersion */
- };
-
- enum
- {
- gestaltComponentMgr = FOUR_CHAR_CODE('cpnt'), /* Component Mgr version */
- gestaltComponentPlatform = FOUR_CHAR_CODE('copl') /* Component Platform number */
- };
-
- /*
- The gestaltNativeCPUtype ('cput') selector can be used to determine the
- native CPU type for all Macs running System 7.5 or later.
-
- The 'cput' selector is not available when running System 7.0 (or earlier)
- on most 68K machines. If 'cput' is not available, then the 'proc' selector
- should be used to determine the processor type.
-
- An application should always try the 'cput' selector first. This is because,
- on PowerPC machines, the 'proc' selector will reflect the CPU type of the
- emulator's "virtual processor" rather than the native CPU type.
-
- The values specified below are accurate. Prior versions of the Gestalt
- interface file contained values that were off by one.
-
- The Quadra 840AV and the Quadra 660AV contain a bug in the ROM code that
- causes the 'cput' selector to respond with the value 5. This behavior
- occurs only when running System 7.1. System 7.5 fixes the bug by replacing
- the faulty 'cput' selector function with the correct one.
-
- The gestaltNativeCPUfamily ('cpuf') selector can be used to determine the
- general family the native CPU is in. This can be helpful for determing how
- blitters and things should be written. In general, it is smarter to use this
- selector (when available) than gestaltNativeCPUtype since newer processors
- in the same family can be handled without revising your code.
-
- gestaltNativeCPUfamily uses the same results as gestaltNativeCPUtype, but
- will only return certain CPU values.
- */
- enum
- {
- gestaltNativeCPUtype = FOUR_CHAR_CODE('cput'), /* Native CPU type */
- gestaltNativeCPUfamily = FOUR_CHAR_CODE('cpuf'), /* Native CPU family */
- gestaltCPU68000 = 0, /* Various 68k CPUs... */
- gestaltCPU68010 = 1,
- gestaltCPU68020 = 2,
- gestaltCPU68030 = 3,
- gestaltCPU68040 = 4,
- gestaltCPU601 = 0x0101, /* IBM 601 */
- gestaltCPU603 = 0x0103,
- gestaltCPU604 = 0x0104,
- gestaltCPU603e = 0x0106,
- gestaltCPU603ev = 0x0107,
- gestaltCPU750 = 0x0108, /* Also 740 - "G3" */
- gestaltCPU604e = 0x0109,
- gestaltCPU604ev = 0x010A, /* Mach 5, 250Mhz and up */
- gestaltCPUG4 = 0x010C, /* Max */
- gestaltCPUG47450 = 0x0110 /* Vger , Altivec */
- };
+/* Environment Selectors */
+enum {
+ gestaltAddressingModeAttr = FOUR_CHAR_CODE('addr'), /* addressing mode attributes */
+ gestalt32BitAddressing = 0, /* using 32-bit addressing mode */
+ gestalt32BitSysZone = 1, /* 32-bit compatible system zone */
+ gestalt32BitCapable = 2 /* Machine is 32-bit capable */
+};
+
+enum {
+ gestaltAFPClient = FOUR_CHAR_CODE('afps'),
+ gestaltAFPClientVersionMask = 0x0000FFFF, /* low word of long is the */
+ /* client version 0x0001 -> 0x0007*/
+ gestaltAFPClient3_5 = 0x0001,
+ gestaltAFPClient3_6 = 0x0002,
+ gestaltAFPClient3_6_1 = 0x0003,
+ gestaltAFPClient3_6_2 = 0x0004,
+ gestaltAFPClient3_6_3 = 0x0005, /* including 3.6.4, 3.6.5*/
+ gestaltAFPClient3_7 = 0x0006, /* including 3.7.1*/
+ gestaltAFPClient3_7_2 = 0x0007, /* including 3.7.3, 3.7.4*/
+ gestaltAFPClient3_8 = 0x0008,
+ gestaltAFPClient3_8_1 = 0x0009, /* including 3.8.2 */
+ gestaltAFPClient3_8_3 = 0x000A,
+ gestaltAFPClient3_8_4 = 0x000B, /* including 3.8.5, 3.8.6 */
+ gestaltAFPClientAttributeMask = (long)0xFFFF0000, /* high word of long is a */
+ /* set of attribute bits*/
+ gestaltAFPClientCfgRsrc = 16, /* Client uses config resources*/
+ gestaltAFPClientSupportsIP = 29, /* Client supports AFP over TCP/IP*/
+ gestaltAFPClientVMUI = 30, /* Client can put up UI from the PBVolMount trap*/
+ gestaltAFPClientMultiReq = 31 /* Client supports multiple outstanding requests*/
+};
+
+
+enum {
+ gestaltAliasMgrAttr = FOUR_CHAR_CODE('alis'), /* Alias Mgr Attributes */
+ gestaltAliasMgrPresent = 0, /* True if the Alias Mgr is present */
+ gestaltAliasMgrSupportsRemoteAppletalk = 1, /* True if the Alias Mgr knows about Remote Appletalk */
+ gestaltAliasMgrSupportsAOCEKeychain = 2, /* True if the Alias Mgr knows about the AOCE Keychain */
+ gestaltAliasMgrResolveAliasFileWithMountOptions = 3, /* True if the Alias Mgr implements gestaltAliasMgrResolveAliasFileWithMountOptions() and IsAliasFile() */
+ gestaltAliasMgrFollowsAliasesWhenResolving = 4,
+ gestaltAliasMgrSupportsExtendedCalls = 5,
+ gestaltAliasMgrSupportsFSCalls = 6, /* true if Alias Mgr supports HFS+ Calls */
+ gestaltAliasMgrPrefersPath = 7 /* True if the Alias Mgr prioritizes the path over file id during resolution by default */
+};
+
+/* Gestalt selector and values for the Appearance Manager */
+enum {
+ gestaltAppearanceAttr = FOUR_CHAR_CODE('appr'),
+ gestaltAppearanceExists = 0,
+ gestaltAppearanceCompatMode = 1
+};
+
+/* Gestalt selector for determining Appearance Manager version */
+/* If this selector does not exist, but gestaltAppearanceAttr */
+/* does, it indicates that the 1.0 version is installed. This */
+/* gestalt returns a BCD number representing the version of the */
+/* Appearance Manager that is currently running, e.g. 0x0101 for */
+/* version 1.0.1. */
+enum {
+ gestaltAppearanceVersion = FOUR_CHAR_CODE('apvr')
+};
+
+enum {
+ gestaltArbitorAttr = FOUR_CHAR_CODE('arb '),
+ gestaltSerialArbitrationExists = 0 /* this bit if the serial port arbitrator exists*/
+};
+
+enum {
+ gestaltAppleScriptVersion = FOUR_CHAR_CODE('ascv') /* AppleScript version*/
+};
+
+enum {
+ gestaltAppleScriptAttr = FOUR_CHAR_CODE('ascr'), /* AppleScript attributes*/
+ gestaltAppleScriptPresent = 0,
+ gestaltAppleScriptPowerPCSupport = 1
+};
+
+enum {
+ gestaltATAAttr = FOUR_CHAR_CODE('ata '), /* ATA is the driver to support IDE hard disks */
+ gestaltATAPresent = 0 /* if set, ATA Manager is present */
+};
+
+enum {
+ gestaltATalkVersion = FOUR_CHAR_CODE('atkv') /* Detailed AppleTalk version; see comment above for format */
+};
+
+enum {
+ gestaltAppleTalkVersion = FOUR_CHAR_CODE('atlk') /* appletalk version */
+};
+
+/*
+ FORMAT OF gestaltATalkVersion RESPONSE
+ --------------------------------------
+ The version is stored in the high three bytes of the response value. Let us number
+ the bytes in the response value from 0 to 3, where 0 is the least-significant byte.
+
+ Byte#: 3 2 1 0
+ Value: 0xMMNNRR00
+
+ Byte 3 (MM) contains the major revision number, byte 2 (NN) contains the minor
+ revision number, and byte 1 (RR) contains a constant that represents the release
+ stage. Byte 0 always contains 0x00. The constants for the release stages are:
+
+ development = 0x20
+ alpha = 0x40
+ beta = 0x60
+ final = 0x80
+ release = 0x80
+
+ For example, if you call Gestalt with the 'atkv' selector when AppleTalk version 57
+ is loaded, you receive the long integer response value 0x39008000.
+*/
+enum {
+ gestaltAUXVersion = FOUR_CHAR_CODE('a/ux') /* a/ux version, if present */
+};
+
+enum {
+ gestaltMacOSCompatibilityBoxAttr = FOUR_CHAR_CODE('bbox'), /* Classic presence and features */
+ gestaltMacOSCompatibilityBoxPresent = 0, /* True if running under the Classic */
+ gestaltMacOSCompatibilityBoxHasSerial = 1, /* True if Classic serial support is implemented. */
+ gestaltMacOSCompatibilityBoxless = 2 /* True if we're Boxless (screen shared with Carbon/Cocoa) */
+};
+
+enum {
+ gestaltBusClkSpeed = FOUR_CHAR_CODE('bclk') /* main I/O bus clock speed in hertz */
+};
+
+enum {
+ gestaltCloseViewAttr = FOUR_CHAR_CODE('BSDa'), /* CloseView attributes */
+ gestaltCloseViewEnabled = 0, /* Closeview enabled (dynamic bit - returns current state) */
+ gestaltCloseViewDisplayMgrFriendly = 1 /* Closeview compatible with Display Manager (FUTURE) */
+};
+
+enum {
+ gestaltCarbonVersion = FOUR_CHAR_CODE('cbon') /* version of Carbon API present in system */
+};
+
+enum {
+ gestaltCFMAttr = FOUR_CHAR_CODE('cfrg'), /* Selector for information about the Code Fragment Manager */
+ gestaltCFMPresent = 0, /* True if the Code Fragment Manager is present */
+ gestaltCFMPresentMask = 0x0001,
+ gestaltCFM99Present = 2, /* True if the CFM-99 features are present. */
+ gestaltCFM99PresentMask = 0x0004
+};
+
+enum {
+ gestaltCollectionMgrVersion = FOUR_CHAR_CODE('cltn') /* Collection Manager version */
+};
+
+enum {
+ gestaltColorMatchingAttr = FOUR_CHAR_CODE('cmta'), /* ColorSync attributes */
+ gestaltHighLevelMatching = 0,
+ gestaltColorMatchingLibLoaded = 1
+};
+
+enum {
+ gestaltColorMatchingVersion = FOUR_CHAR_CODE('cmtc'),
+ gestaltColorSync10 = 0x0100, /* 0x0100 & 0x0110 _Gestalt versions for 1.0-1.0.3 product */
+ gestaltColorSync11 = 0x0110, /* 0x0100 == low-level matching only */
+ gestaltColorSync104 = 0x0104, /* Real version, by popular demand */
+ gestaltColorSync105 = 0x0105,
+ gestaltColorSync20 = 0x0200, /* ColorSync 2.0 */
+ gestaltColorSync21 = 0x0210,
+ gestaltColorSync211 = 0x0211,
+ gestaltColorSync212 = 0x0212,
+ gestaltColorSync213 = 0x0213,
+ gestaltColorSync25 = 0x0250,
+ gestaltColorSync26 = 0x0260,
+ gestaltColorSync261 = 0x0261,
+ gestaltColorSync30 = 0x0300
+};
+
+enum {
+ gestaltControlMgrVersion = FOUR_CHAR_CODE('cmvr') /* NOTE: The first version we return is 3.0.1, on Mac OS X plus update 2*/
+};
+
+enum {
+ gestaltControlMgrAttr = FOUR_CHAR_CODE('cntl'), /* Control Mgr*/
+ gestaltControlMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
+ /* this type are bit index values. Universal Interfaces 3.2 slipped*/
+ /* out the door with this mistake.*/
+ gestaltControlMgrPresentBit = 0, /* bit number*/
+ gestaltControlMsgPresentMask = (1L << gestaltControlMgrPresentBit)
+};
+
+enum {
+ gestaltConnMgrAttr = FOUR_CHAR_CODE('conn'), /* connection mgr attributes */
+ gestaltConnMgrPresent = 0,
+ gestaltConnMgrCMSearchFix = 1, /* Fix to CMAddSearch? */
+ gestaltConnMgrErrorString = 2, /* has CMGetErrorString() */
+ gestaltConnMgrMultiAsyncIO = 3 /* CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill */
+};
+
+enum {
+ gestaltColorPickerVersion = FOUR_CHAR_CODE('cpkr'), /* returns version of ColorPicker */
+ gestaltColorPicker = FOUR_CHAR_CODE('cpkr') /* gestaltColorPicker is old name for gestaltColorPickerVersion */
+};
+
+enum {
+ gestaltComponentMgr = FOUR_CHAR_CODE('cpnt'), /* Component Mgr version */
+ gestaltComponentPlatform = FOUR_CHAR_CODE('copl') /* Component Platform number */
+};
+
+/*
+ The gestaltNativeCPUtype ('cput') selector can be used to determine the
+ native CPU type for all Macs running System 7.5 or later.
+
+ The 'cput' selector is not available when running System 7.0 (or earlier)
+ on most 68K machines. If 'cput' is not available, then the 'proc' selector
+ should be used to determine the processor type.
+
+ An application should always try the 'cput' selector first. This is because,
+ on PowerPC machines, the 'proc' selector will reflect the CPU type of the
+ emulator's "virtual processor" rather than the native CPU type.
+
+ The values specified below are accurate. Prior versions of the Gestalt
+ interface file contained values that were off by one.
+
+ The Quadra 840AV and the Quadra 660AV contain a bug in the ROM code that
+ causes the 'cput' selector to respond with the value 5. This behavior
+ occurs only when running System 7.1. System 7.5 fixes the bug by replacing
+ the faulty 'cput' selector function with the correct one.
+
+ The gestaltNativeCPUfamily ('cpuf') selector can be used to determine the
+ general family the native CPU is in. This can be helpful for determing how
+ blitters and things should be written. In general, it is smarter to use this
+ selector (when available) than gestaltNativeCPUtype since newer processors
+ in the same family can be handled without revising your code.
+
+ gestaltNativeCPUfamily uses the same results as gestaltNativeCPUtype, but
+ will only return certain CPU values.
+*/
+enum {
+ gestaltNativeCPUtype = FOUR_CHAR_CODE('cput'), /* Native CPU type */
+ gestaltNativeCPUfamily = FOUR_CHAR_CODE('cpuf'), /* Native CPU family */
+ gestaltCPU68000 = 0, /* Various 68k CPUs... */
+ gestaltCPU68010 = 1,
+ gestaltCPU68020 = 2,
+ gestaltCPU68030 = 3,
+ gestaltCPU68040 = 4,
+ gestaltCPU601 = 0x0101, /* IBM 601 */
+ gestaltCPU603 = 0x0103,
+ gestaltCPU604 = 0x0104,
+ gestaltCPU603e = 0x0106,
+ gestaltCPU603ev = 0x0107,
+ gestaltCPU750 = 0x0108, /* Also 740 - "G3" */
+ gestaltCPU604e = 0x0109,
+ gestaltCPU604ev = 0x010A, /* Mach 5, 250Mhz and up */
+ gestaltCPUG4 = 0x010C, /* Max */
+ gestaltCPUG47450 = 0x0110 /* Vger , Altivec */
+};
#if TARGET_OS_WIN32
- enum
- {
- /* x86 CPUs all start with 'i' in the high nybble */
- gestaltCPU486 = FOUR_CHAR_CODE('i486'),
- gestaltCPUPentium = FOUR_CHAR_CODE('i586'),
- gestaltCPUPentiumPro = FOUR_CHAR_CODE('i5pr'),
- gestaltCPUPentiumII = FOUR_CHAR_CODE('i5ii'),
- gestaltCPUPentiumIII = FOUR_CHAR_CODE('i5_3'),
- gestaltCPUPentium4 = FOUR_CHAR_CODE('i5_4'),
- gestaltCPUX86 = FOUR_CHAR_CODE('ixxx')
- };
+enum {
+ /* x86 CPUs all start with 'i' in the high nybble */
+ gestaltCPU486 = FOUR_CHAR_CODE('i486'),
+ gestaltCPUPentium = FOUR_CHAR_CODE('i586'),
+ gestaltCPUPentiumPro = FOUR_CHAR_CODE('i5pr'),
+ gestaltCPUPentiumII = FOUR_CHAR_CODE('i5ii'),
+ gestaltCPUPentiumIII = FOUR_CHAR_CODE('i5_3'),
+ gestaltCPUPentium4 = FOUR_CHAR_CODE('i5_4'),
+ gestaltCPUX86 = FOUR_CHAR_CODE('ixxx')
+};
#endif /* TARGET_OS_WIN32 */
- enum
- {
- gestaltCRMAttr = FOUR_CHAR_CODE('crm '), /* comm resource mgr attributes */
- gestaltCRMPresent = 0,
- gestaltCRMPersistentFix = 1, /* fix for persistent tools */
- gestaltCRMToolRsrcCalls = 2 /* has CRMGetToolResource/ReleaseToolResource */
- };
-
- enum
- {
- gestaltControlStripVersion = FOUR_CHAR_CODE('csvr') /* Control Strip version (was 'sdvr') */
- };
-
- enum
- {
- gestaltCTBVersion = FOUR_CHAR_CODE('ctbv') /* CommToolbox version */
- };
-
- enum
- {
- gestaltDBAccessMgrAttr = FOUR_CHAR_CODE('dbac'), /* Database Access Mgr attributes */
- gestaltDBAccessMgrPresent = 0 /* True if Database Access Mgr present */
- };
-
- enum
- {
- gestaltSDPFindVersion = FOUR_CHAR_CODE('dfnd') /* OCE Standard Directory Panel*/
- };
-
- enum
- {
- gestaltDictionaryMgrAttr = FOUR_CHAR_CODE('dict'), /* Dictionary Manager attributes */
- gestaltDictionaryMgrPresent = 0 /* Dictionary Manager attributes */
- };
-
- enum
- {
- gestaltDITLExtAttr = FOUR_CHAR_CODE('ditl'), /* AppenDITL, etc. calls from CTB */
- gestaltDITLExtPresent = 0, /* True if calls are present */
- gestaltDITLExtSupportsIctb = 1 /* True if AppendDITL, ShortenDITL support 'ictb's */
- };
-
- enum
- {
- gestaltDialogMgrAttr = FOUR_CHAR_CODE('dlog'), /* Dialog Mgr*/
- gestaltDialogMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
- /* this type are bit index values. Universal Interfaces 3.2 slipped*/
- /* out the door with this mistake.*/
- gestaltDialogMgrPresentBit = 0, /* bit number*/
- gestaltDialogMgrHasAquaAlertBit = 2, /* bit number*/
- gestaltDialogMgrPresentMask = (1L << gestaltDialogMgrPresentBit),
- gestaltDialogMgrHasAquaAlertMask = (1L << gestaltDialogMgrHasAquaAlertBit),
- gestaltDialogMsgPresentMask = gestaltDialogMgrPresentMask /* compatibility mask*/
- };
-
- enum
- {
- gestaltDesktopPicturesAttr = FOUR_CHAR_CODE('dkpx'), /* Desktop Pictures attributes */
- gestaltDesktopPicturesInstalled = 0, /* True if control panel is installed */
- gestaltDesktopPicturesDisplayed = 1 /* True if a picture is currently displayed */
- };
-
- enum
- {
- gestaltDisplayMgrVers = FOUR_CHAR_CODE('dplv') /* Display Manager version */
- };
-
- enum
- {
- gestaltDisplayMgrAttr = FOUR_CHAR_CODE('dply'), /* Display Manager attributes */
- gestaltDisplayMgrPresent = 0, /* True if Display Mgr is present */
- gestaltDisplayMgrCanSwitchMirrored = 2, /* True if Display Mgr can switch modes on mirrored displays */
- gestaltDisplayMgrSetDepthNotifies = 3, /* True SetDepth generates displays mgr notification */
- gestaltDisplayMgrCanConfirm = 4, /* True Display Manager supports DMConfirmConfiguration */
- gestaltDisplayMgrColorSyncAware = 5, /* True if Display Manager supports profiles for displays */
- gestaltDisplayMgrGeneratesProfiles = 6, /* True if Display Manager will automatically generate profiles for displays */
- gestaltDisplayMgrSleepNotifies = 7 /* True if Display Mgr generates "displayWillSleep", "displayDidWake" notifications */
- };
-
- enum
- {
- gestaltDragMgrAttr = FOUR_CHAR_CODE('drag'), /* Drag Manager attributes */
- gestaltDragMgrPresent = 0, /* Drag Manager is present */
- gestaltDragMgrFloatingWind = 1, /* Drag Manager supports floating windows */
- gestaltPPCDragLibPresent = 2, /* Drag Manager PPC DragLib is present */
- gestaltDragMgrHasImageSupport = 3, /* Drag Manager allows SetDragImage call */
- gestaltCanStartDragInFloatWindow = 4, /* Drag Manager supports starting a drag in a floating window */
- gestaltSetDragImageUpdates = 5 /* Drag Manager supports drag image updating via SetDragImage */
- };
-
- enum
- {
- gestaltDrawSprocketVersion = FOUR_CHAR_CODE('dspv') /* Draw Sprocket version (as a NumVersion) */
- };
-
- enum
- {
- gestaltDigitalSignatureVersion = FOUR_CHAR_CODE('dsig') /* returns Digital Signature Toolbox version in low-order word*/
- };
-
- /*
- Desktop Printing Feature Gestalt
- Use this gestalt to check if third-party printer driver support is available
- */
- enum
- {
- gestaltDTPFeatures = FOUR_CHAR_CODE('dtpf'),
- kDTPThirdPartySupported = 0x00000004 /* mask for checking if third-party drivers are supported*/
- };
-
-
- /*
- Desktop Printer Info Gestalt
- Use this gestalt to get a hold of information for all of the active desktop printers
- */
- enum
- {
- gestaltDTPInfo = FOUR_CHAR_CODE('dtpx') /* returns GestaltDTPInfoHdle*/
- };
-
- enum
- {
- gestaltEasyAccessAttr = FOUR_CHAR_CODE('easy'), /* Easy Access attributes */
- gestaltEasyAccessOff = 0, /* if Easy Access present, but off (no icon) */
- gestaltEasyAccessOn = 1, /* if Easy Access "On" */
- gestaltEasyAccessSticky = 2, /* if Easy Access "Sticky" */
- gestaltEasyAccessLocked = 3 /* if Easy Access "Locked" */
- };
-
- enum
- {
- gestaltEditionMgrAttr = FOUR_CHAR_CODE('edtn'), /* Edition Mgr attributes */
- gestaltEditionMgrPresent = 0, /* True if Edition Mgr present */
- gestaltEditionMgrTranslationAware = 1 /* True if edition manager is translation manager aware */
- };
-
- enum
- {
- gestaltAppleEventsAttr = FOUR_CHAR_CODE('evnt'), /* Apple Events attributes */
- gestaltAppleEventsPresent = 0, /* True if Apple Events present */
- gestaltScriptingSupport = 1,
- gestaltOSLInSystem = 2, /* OSL is in system so don't use the one linked in to app */
- gestaltSupportsApplicationURL = 4 /* Supports the typeApplicationURL addressing mode */
- };
-
- enum
- {
- gestaltExtensionTableVersion = FOUR_CHAR_CODE('etbl') /* ExtensionTable version */
- };
-
-
- enum
- {
- gestaltFBCIndexingState = FOUR_CHAR_CODE('fbci'), /* Find By Content indexing state*/
- gestaltFBCindexingSafe = 0, /* any search will result in synchronous wait*/
- gestaltFBCindexingCritical = 1 /* any search will execute immediately*/
- };
-
- enum
- {
- gestaltFBCVersion = FOUR_CHAR_CODE('fbcv'), /* Find By Content version*/
- gestaltFBCCurrentVersion = 0x0011, /* First release for OS 8/9*/
- gestaltOSXFBCCurrentVersion = 0x0100 /* First release for OS X*/
- };
-
-
- enum
- {
- gestaltFileMappingAttr = FOUR_CHAR_CODE('flmp'), /* File mapping attributes*/
- gestaltFileMappingPresent = 0, /* bit is set if file mapping APIs are present*/
- gestaltFileMappingMultipleFilesFix = 1 /* bit is set if multiple files per volume can be mapped*/
- };
-
- enum
- {
- gestaltFloppyAttr = FOUR_CHAR_CODE('flpy'), /* Floppy disk drive/driver attributes */
- gestaltFloppyIsMFMOnly = 0, /* Floppy driver only supports MFM disk formats */
- gestaltFloppyIsManualEject = 1, /* Floppy drive, driver, and file system are in manual-eject mode */
- gestaltFloppyUsesDiskInPlace = 2 /* Floppy drive must have special DISK-IN-PLACE output; standard DISK-CHANGED not used */
- };
-
- enum
- {
- gestaltFinderAttr = FOUR_CHAR_CODE('fndr'), /* Finder attributes */
- gestaltFinderDropEvent = 0, /* Finder recognizes drop event */
- gestaltFinderMagicPlacement = 1, /* Finder supports magic icon placement */
- gestaltFinderCallsAEProcess = 2, /* Finder calls AEProcessAppleEvent */
- gestaltOSLCompliantFinder = 3, /* Finder is scriptable and recordable */
- gestaltFinderSupports4GBVolumes = 4, /* Finder correctly handles 4GB volumes */
- gestaltFinderHasClippings = 6, /* Finder supports Drag Manager clipping files */
- gestaltFinderFullDragManagerSupport = 7, /* Finder accepts 'hfs ' flavors properly */
- gestaltFinderFloppyRootComments = 8, /* in MacOS 8 and later, will be set if Finder ever supports comments on Floppy icons */
- gestaltFinderLargeAndNotSavedFlavorsOK = 9, /* in MacOS 8 and later, this bit is set if drags with >1024-byte flavors and flavorNotSaved flavors work reliably */
- gestaltFinderUsesExtensibleFolderManager = 10, /* Finder uses Extensible Folder Manager (for example, for Magic Routing) */
- gestaltFinderUnderstandsRedirectedDesktopFolder = 11 /* Finder deals with startup disk's desktop folder residing on another disk */
- };
-
- enum
- {
- gestaltFindFolderAttr = FOUR_CHAR_CODE('fold'), /* Folder Mgr attributes */
- gestaltFindFolderPresent = 0, /* True if Folder Mgr present */
- gestaltFolderDescSupport = 1, /* True if Folder Mgr has FolderDesc calls */
- gestaltFolderMgrFollowsAliasesWhenResolving = 2, /* True if Folder Mgr follows folder aliases */
- gestaltFolderMgrSupportsExtendedCalls = 3, /* True if Folder Mgr supports the Extended calls */
- gestaltFolderMgrSupportsDomains = 4, /* True if Folder Mgr supports domains for the first parameter to FindFolder */
- gestaltFolderMgrSupportsFSCalls = 5 /* True if FOlder manager supports __FindFolderFSRef & __FindFolderExtendedFSRef */
- };
-
- enum
- {
- gestaltFindFolderRedirectionAttr = FOUR_CHAR_CODE('fole')
- };
-
-
- enum
- {
- gestaltFontMgrAttr = FOUR_CHAR_CODE('font'), /* Font Mgr attributes */
- gestaltOutlineFonts = 0 /* True if Outline Fonts supported */
- };
-
- enum
- {
- gestaltFPUType = FOUR_CHAR_CODE('fpu '), /* fpu type */
- gestaltNoFPU = 0, /* no FPU */
- gestalt68881 = 1, /* 68881 FPU */
- gestalt68882 = 2, /* 68882 FPU */
- gestalt68040FPU = 3 /* 68040 built-in FPU */
- };
-
- enum
- {
- gestaltFSAttr = FOUR_CHAR_CODE('fs '), /* file system attributes */
- gestaltFullExtFSDispatching = 0, /* has really cool new HFSDispatch dispatcher */
- gestaltHasFSSpecCalls = 1, /* has FSSpec calls */
- gestaltHasFileSystemManager = 2, /* has a file system manager */
- gestaltFSMDoesDynamicLoad = 3, /* file system manager supports dynamic loading */
- gestaltFSSupports4GBVols = 4, /* file system supports 4 gigabyte volumes */
- gestaltFSSupports2TBVols = 5, /* file system supports 2 terabyte volumes */
- gestaltHasExtendedDiskInit = 6, /* has extended Disk Initialization calls */
- gestaltDTMgrSupportsFSM = 7, /* Desktop Manager support FSM-based foreign file systems */
- gestaltFSNoMFSVols = 8, /* file system doesn't supports MFS volumes */
- gestaltFSSupportsHFSPlusVols = 9, /* file system supports HFS Plus volumes */
- gestaltFSIncompatibleDFA82 = 10 /* VCB and FCB structures changed; DFA 8.2 is incompatible */
- };
-
- enum
- {
- gestaltHasHFSPlusAPIs = 12, /* file system supports HFS Plus APIs */
- gestaltMustUseFCBAccessors = 13, /* FCBSPtr and FSFCBLen are invalid - must use FSM FCB accessor functions*/
- gestaltFSUsesPOSIXPathsForConversion = 14, /* The path interchange routines operate on POSIX paths instead of HFS paths */
- gestaltFSSupportsExclusiveLocks = 15, /* File system uses POSIX O_EXLOCK for opens */
- gestaltFSSupportsHardLinkDetection = 16 /* File system returns if an item is a hard link */
- };
-
- enum
- {
- gestaltAdminFeaturesFlagsAttr = FOUR_CHAR_CODE('fred'), /* a set of admin flags, mostly useful internally. */
- gestaltFinderUsesSpecialOpenFoldersFile = 0 /* the Finder uses a special file to store the list of open folders */
- };
-
- enum
- {
- gestaltFSMVersion = FOUR_CHAR_CODE('fsm ') /* returns version of HFS External File Systems Manager (FSM) */
- };
-
- enum
- {
- gestaltFXfrMgrAttr = FOUR_CHAR_CODE('fxfr'), /* file transfer manager attributes */
- gestaltFXfrMgrPresent = 0,
- gestaltFXfrMgrMultiFile = 1, /* supports FTSend and FTReceive */
- gestaltFXfrMgrErrorString = 2, /* supports FTGetErrorString */
- gestaltFXfrMgrAsync = 3 /*supports FTSendAsync, FTReceiveAsync, FTCompletionAsync*/
- };
-
- enum
- {
- gestaltGraphicsAttr = FOUR_CHAR_CODE('gfxa'), /* Quickdraw GX attributes selector */
- gestaltGraphicsIsDebugging = 0x00000001,
- gestaltGraphicsIsLoaded = 0x00000002,
- gestaltGraphicsIsPowerPC = 0x00000004
- };
-
- enum
- {
- gestaltGraphicsVersion = FOUR_CHAR_CODE('grfx'), /* Quickdraw GX version selector */
- gestaltCurrentGraphicsVersion = 0x00010200 /* the version described in this set of headers */
- };
-
- enum
- {
- gestaltHardwareAttr = FOUR_CHAR_CODE('hdwr'), /* hardware attributes */
- gestaltHasVIA1 = 0, /* VIA1 exists */
- gestaltHasVIA2 = 1, /* VIA2 exists */
- gestaltHasASC = 3, /* Apple Sound Chip exists */
- gestaltHasSCC = 4, /* SCC exists */
- gestaltHasSCSI = 7, /* SCSI exists */
- gestaltHasSoftPowerOff = 19, /* Capable of software power off */
- gestaltHasSCSI961 = 21, /* 53C96 SCSI controller on internal bus */
- gestaltHasSCSI962 = 22, /* 53C96 SCSI controller on external bus */
- gestaltHasUniversalROM = 24, /* Do we have a Universal ROM? */
- gestaltHasEnhancedLtalk = 30 /* Do we have Enhanced LocalTalk? */
- };
-
- enum
- {
- gestaltHelpMgrAttr = FOUR_CHAR_CODE('help'), /* Help Mgr Attributes */
- gestaltHelpMgrPresent = 0, /* true if help mgr is present */
- gestaltHelpMgrExtensions = 1, /* true if help mgr extensions are installed */
- gestaltAppleGuideIsDebug = 30,
- gestaltAppleGuidePresent = 31 /* true if AppleGuide is installed */
- };
-
- enum
- {
- gestaltHardwareVendorCode = FOUR_CHAR_CODE('hrad'), /* Returns hardware vendor information */
- gestaltHardwareVendorApple = FOUR_CHAR_CODE('Appl') /* Hardware built by Apple */
- };
-
- enum
- {
- gestaltCompressionMgr = FOUR_CHAR_CODE('icmp') /* returns version of the Image Compression Manager */
- };
-
- enum
- {
- gestaltIconUtilitiesAttr = FOUR_CHAR_CODE('icon'), /* Icon Utilities attributes (Note: available in System 7.0, despite gestalt) */
- gestaltIconUtilitiesPresent = 0, /* true if icon utilities are present */
- gestaltIconUtilitiesHas48PixelIcons = 1, /* true if 48x48 icons are supported by IconUtilities */
- gestaltIconUtilitiesHas32BitIcons = 2, /* true if 32-bit deep icons are supported */
- gestaltIconUtilitiesHas8BitDeepMasks = 3, /* true if 8-bit deep masks are supported */
- gestaltIconUtilitiesHasIconServices = 4 /* true if IconServices is present */
- };
-
- enum
- {
- gestaltInternalDisplay = FOUR_CHAR_CODE('idsp') /* slot number of internal display location */
- };
-
- /*
- To obtain information about the connected keyboard(s), one should
- use the ADB Manager API. See Technical Note OV16 for details.
- */
- enum
- {
- gestaltKeyboardType = FOUR_CHAR_CODE('kbd '), /* keyboard type */
- gestaltMacKbd = 1,
- gestaltMacAndPad = 2,
- gestaltMacPlusKbd = 3,
- gestaltExtADBKbd = 4,
- gestaltStdADBKbd = 5,
- gestaltPrtblADBKbd = 6,
- gestaltPrtblISOKbd = 7,
- gestaltStdISOADBKbd = 8,
- gestaltExtISOADBKbd = 9,
- gestaltADBKbdII = 10,
- gestaltADBISOKbdII = 11,
- gestaltPwrBookADBKbd = 12,
- gestaltPwrBookISOADBKbd = 13,
- gestaltAppleAdjustKeypad = 14,
- gestaltAppleAdjustADBKbd = 15,
- gestaltAppleAdjustISOKbd = 16,
- gestaltJapanAdjustADBKbd = 17, /* Japan Adjustable Keyboard */
- gestaltPwrBkExtISOKbd = 20, /* PowerBook Extended International Keyboard with function keys */
- gestaltPwrBkExtJISKbd = 21, /* PowerBook Extended Japanese Keyboard with function keys */
- gestaltPwrBkExtADBKbd = 24, /* PowerBook Extended Domestic Keyboard with function keys */
- gestaltPS2Keyboard = 27, /* PS2 keyboard */
- gestaltPwrBkSubDomKbd = 28, /* PowerBook Subnote Domestic Keyboard with function keys w/ inverted T */
- gestaltPwrBkSubISOKbd = 29, /* PowerBook Subnote International Keyboard with function keys w/ inverted T */
- gestaltPwrBkSubJISKbd = 30, /* PowerBook Subnote Japanese Keyboard with function keys w/ inverted T */
- gestaltPwrBkEKDomKbd = 195, /* (0xC3) PowerBook Domestic Keyboard with Embedded Keypad, function keys & inverted T */
- gestaltPwrBkEKISOKbd = 196, /* (0xC4) PowerBook International Keyboard with Embedded Keypad, function keys & inverted T */
- gestaltPwrBkEKJISKbd = 197, /* (0xC5) PowerBook Japanese Keyboard with Embedded Keypad, function keys & inverted T */
- gestaltUSBCosmoANSIKbd = 198, /* (0xC6) original USB Domestic (ANSI) Keyboard */
- gestaltUSBCosmoISOKbd = 199, /* (0xC7) original USB International (ISO) Keyboard */
- gestaltUSBCosmoJISKbd = 200, /* (0xC8) original USB Japanese (JIS) Keyboard */
- gestaltPwrBk99JISKbd = 201, /* (0xC9) '99 PowerBook JIS Keyboard with Embedded Keypad, function keys & inverted T */
- gestaltUSBAndyANSIKbd = 204, /* (0xCC) USB Pro Keyboard Domestic (ANSI) Keyboard */
- gestaltUSBAndyISOKbd = 205, /* (0xCD) USB Pro Keyboard International (ISO) Keyboard */
- gestaltUSBAndyJISKbd = 206 /* (0xCE) USB Pro Keyboard Japanese (JIS) Keyboard */
- };
-
-
- /*
- This gestalt indicates the highest UDF version that the active UDF implementation supports.
- The value should be assembled from a read version (upper word) and a write version (lower word)
- */
- enum
- {
- gestaltUDFSupport = FOUR_CHAR_CODE('kudf') /* Used for communication between UDF implementations*/
- };
-
- enum
- {
- gestaltLowMemorySize = FOUR_CHAR_CODE('lmem') /* size of low memory area */
- };
-
- enum
- {
- gestaltLogicalRAMSize = FOUR_CHAR_CODE('lram') /* logical ram size */
- };
-
- /*
- MACHINE TYPE CONSTANTS NAMING CONVENTION
-
- All future machine type constant names take the following form:
-
- gestalt<lineName><modelNumber>
-
- Line Names
-
- The following table contains the lines currently produced by Apple and the
- lineName substrings associated with them:
-
- Line lineName
- ------------------------- ------------
- Macintosh LC "MacLC"
- Macintosh Performa "Performa"
- Macintosh PowerBook "PowerBook"
- Macintosh PowerBook Duo "PowerBookDuo"
- Power Macintosh "PowerMac"
- Apple Workgroup Server "AWS"
-
- The following table contains lineNames for some discontinued lines:
-
- Line lineName
- ------------------------- ------------
- Macintosh Quadra "MacQuadra" (preferred)
- "Quadra" (also used, but not preferred)
- Macintosh Centris "MacCentris"
-
- Model Numbers
-
- The modelNumber is a string representing the specific model of the machine
- within its particular line. For example, for the Power Macintosh 8100/80,
- the modelNumber is "8100".
-
- Some Performa & LC model numbers contain variations in the rightmost 1 or 2
- digits to indicate different RAM and Hard Disk configurations. A single
- machine type is assigned for all variations of a specific model number. In
- this case, the modelNumber string consists of the constant leftmost part
- of the model number with 0s for the variant digits. For example, the
- Performa 6115 and Performa 6116 are both return the same machine type
- constant: gestaltPerforma6100.
-
-
- OLD NAMING CONVENTIONS
-
- The "Underscore Speed" suffix
-
- In the past, Apple differentiated between machines that had the same model
- number but different speeds. For example, the Power Macintosh 8100/80 and
- Power Macintosh 8100/100 return different machine type constants. This is
- why some existing machine type constant names take the form:
-
- gestalt<lineName><modelNumber>_<speed>
-
- e.g.
-
- gestaltPowerMac8100_110
- gestaltPowerMac7100_80
- gestaltPowerMac7100_66
-
- It is no longer necessary to use the "underscore speed" suffix. Starting with
- the Power Surge machines (Power Macintosh 7200, 7500, 8500 and 9500), speed is
- no longer used to differentiate between machine types. This is why a Power
- Macintosh 7200/75 and a Power Macintosh 7200/90 return the same machine type
- constant: gestaltPowerMac7200.
-
- The "Screen Type" suffix
-
- All PowerBook models prior to the PowerBook 190, and all PowerBook Duo models
- before the PowerBook Duo 2300 take the form:
-
- gestalt<lineName><modelNumber><screenType>
-
- Where <screenType> is "c" or the empty string.
-
- e.g.
-
- gestaltPowerBook100
- gestaltPowerBookDuo280
- gestaltPowerBookDuo280c
- gestaltPowerBook180
- gestaltPowerBook180c
-
- Starting with the PowerBook 190 series and the PowerBook Duo 2300 series, machine
- types are no longer differentiated based on screen type. This is why a PowerBook
- 5300cs/100 and a PowerBook 5300c/100 both return the same machine type constant:
- gestaltPowerBook5300.
-
- Macintosh LC 630 gestaltMacLC630
- Macintosh Performa 6200 gestaltPerforma6200
- Macintosh Quadra 700 gestaltQuadra700
- Macintosh PowerBook 5300 gestaltPowerBook5300
- Macintosh PowerBook Duo 2300 gestaltPowerBookDuo2300
- Power Macintosh 8500 gestaltPowerMac8500
- */
-
- enum
- {
- gestaltMachineType = FOUR_CHAR_CODE('mach'), /* machine type */
- gestaltClassic = 1,
- gestaltMacXL = 2,
- gestaltMac512KE = 3,
- gestaltMacPlus = 4,
- gestaltMacSE = 5,
- gestaltMacII = 6,
- gestaltMacIIx = 7,
- gestaltMacIIcx = 8,
- gestaltMacSE030 = 9,
- gestaltPortable = 10,
- gestaltMacIIci = 11,
- gestaltPowerMac8100_120 = 12,
- gestaltMacIIfx = 13,
- gestaltMacClassic = 17,
- gestaltMacIIsi = 18,
- gestaltMacLC = 19,
- gestaltMacQuadra900 = 20,
- gestaltPowerBook170 = 21,
- gestaltMacQuadra700 = 22,
- gestaltClassicII = 23,
- gestaltPowerBook100 = 24,
- gestaltPowerBook140 = 25,
- gestaltMacQuadra950 = 26,
- gestaltMacLCIII = 27,
- gestaltPerforma450 = gestaltMacLCIII,
- gestaltPowerBookDuo210 = 29,
- gestaltMacCentris650 = 30,
- gestaltPowerBookDuo230 = 32,
- gestaltPowerBook180 = 33,
- gestaltPowerBook160 = 34,
- gestaltMacQuadra800 = 35,
- gestaltMacQuadra650 = 36,
- gestaltMacLCII = 37,
- gestaltPowerBookDuo250 = 38,
- gestaltAWS9150_80 = 39,
- gestaltPowerMac8100_110 = 40,
- gestaltAWS8150_110 = gestaltPowerMac8100_110,
- gestaltPowerMac5200 = 41,
- gestaltPowerMac5260 = gestaltPowerMac5200,
- gestaltPerforma5300 = gestaltPowerMac5200,
- gestaltPowerMac6200 = 42,
- gestaltPerforma6300 = gestaltPowerMac6200,
- gestaltMacIIvi = 44,
- gestaltMacIIvm = 45,
- gestaltPerforma600 = gestaltMacIIvm,
- gestaltPowerMac7100_80 = 47,
- gestaltMacIIvx = 48,
- gestaltMacColorClassic = 49,
- gestaltPerforma250 = gestaltMacColorClassic,
- gestaltPowerBook165c = 50,
- gestaltMacCentris610 = 52,
- gestaltMacQuadra610 = 53,
- gestaltPowerBook145 = 54,
- gestaltPowerMac8100_100 = 55,
- gestaltMacLC520 = 56,
- gestaltAWS9150_120 = 57,
- gestaltPowerMac6400 = 58,
- gestaltPerforma6400 = gestaltPowerMac6400,
- gestaltPerforma6360 = gestaltPerforma6400,
- gestaltMacCentris660AV = 60,
- gestaltMacQuadra660AV = gestaltMacCentris660AV,
- gestaltPerforma46x = 62,
- gestaltPowerMac8100_80 = 65,
- gestaltAWS8150_80 = gestaltPowerMac8100_80,
- gestaltPowerMac9500 = 67,
- gestaltPowerMac9600 = gestaltPowerMac9500,
- gestaltPowerMac7500 = 68,
- gestaltPowerMac7600 = gestaltPowerMac7500,
- gestaltPowerMac8500 = 69,
- gestaltPowerMac8600 = gestaltPowerMac8500,
- gestaltAWS8550 = gestaltPowerMac7500,
- gestaltPowerBook180c = 71,
- gestaltPowerBook520 = 72,
- gestaltPowerBook520c = gestaltPowerBook520,
- gestaltPowerBook540 = gestaltPowerBook520,
- gestaltPowerBook540c = gestaltPowerBook520,
- gestaltPowerMac5400 = 74,
- gestaltPowerMac6100_60 = 75,
- gestaltAWS6150_60 = gestaltPowerMac6100_60,
- gestaltPowerBookDuo270c = 77,
- gestaltMacQuadra840AV = 78,
- gestaltPerforma550 = 80,
- gestaltPowerBook165 = 84,
- gestaltPowerBook190 = 85,
- gestaltMacTV = 88,
- gestaltMacLC475 = 89,
- gestaltPerforma47x = gestaltMacLC475,
- gestaltMacLC575 = 92,
- gestaltMacQuadra605 = 94,
- gestaltMacQuadra630 = 98,
- gestaltMacLC580 = 99,
- gestaltPerforma580 = gestaltMacLC580,
- gestaltPowerMac6100_66 = 100,
- gestaltAWS6150_66 = gestaltPowerMac6100_66,
- gestaltPowerBookDuo280 = 102,
- gestaltPowerBookDuo280c = 103,
- gestaltPowerMacLC475 = 104, /* Mac LC 475 & PPC Processor Upgrade Card*/
- gestaltPowerMacPerforma47x = gestaltPowerMacLC475,
- gestaltPowerMacLC575 = 105, /* Mac LC 575 & PPC Processor Upgrade Card */
- gestaltPowerMacPerforma57x = gestaltPowerMacLC575,
- gestaltPowerMacQuadra630 = 106, /* Quadra 630 & PPC Processor Upgrade Card*/
- gestaltPowerMacLC630 = gestaltPowerMacQuadra630, /* Mac LC 630 & PPC Processor Upgrade Card*/
- gestaltPowerMacPerforma63x = gestaltPowerMacQuadra630, /* Performa 63x & PPC Processor Upgrade Card*/
- gestaltPowerMac7200 = 108,
- gestaltPowerMac7300 = 109,
- gestaltPowerMac7100_66 = 112,
- gestaltPowerBook150 = 115,
- gestaltPowerMacQuadra700 = 116, /* Quadra 700 & Power PC Upgrade Card*/
- gestaltPowerMacQuadra900 = 117, /* Quadra 900 & Power PC Upgrade Card */
- gestaltPowerMacQuadra950 = 118, /* Quadra 950 & Power PC Upgrade Card */
- gestaltPowerMacCentris610 = 119, /* Centris 610 & Power PC Upgrade Card */
- gestaltPowerMacCentris650 = 120, /* Centris 650 & Power PC Upgrade Card */
- gestaltPowerMacQuadra610 = 121, /* Quadra 610 & Power PC Upgrade Card */
- gestaltPowerMacQuadra650 = 122, /* Quadra 650 & Power PC Upgrade Card */
- gestaltPowerMacQuadra800 = 123, /* Quadra 800 & Power PC Upgrade Card */
- gestaltPowerBookDuo2300 = 124,
- gestaltPowerBook500PPCUpgrade = 126,
- gestaltPowerBook5300 = 128,
- gestaltPowerBook1400 = 310,
- gestaltPowerBook3400 = 306,
- gestaltPowerBook2400 = 307,
- gestaltPowerBookG3Series = 312,
- gestaltPowerBookG3 = 313,
- gestaltPowerBookG3Series2 = 314,
- gestaltPowerMacNewWorld = 406, /* All NewWorld architecture Macs (iMac, blue G3, etc.)*/
- gestaltPowerMacG3 = 510,
- gestaltPowerMac5500 = 512,
- gestalt20thAnniversary = gestaltPowerMac5500,
- gestaltPowerMac6500 = 513,
- gestaltPowerMac4400_160 = 514, /* slower machine has different machine ID*/
- gestaltPowerMac4400 = 515,
- gestaltMacOSCompatibility = 1206 /* Mac OS Compatibility on Mac OS X (Classic)*/
- };
-
-
- enum
- {
- gestaltQuadra605 = gestaltMacQuadra605,
- gestaltQuadra610 = gestaltMacQuadra610,
- gestaltQuadra630 = gestaltMacQuadra630,
- gestaltQuadra650 = gestaltMacQuadra650,
- gestaltQuadra660AV = gestaltMacQuadra660AV,
- gestaltQuadra700 = gestaltMacQuadra700,
- gestaltQuadra800 = gestaltMacQuadra800,
- gestaltQuadra840AV = gestaltMacQuadra840AV,
- gestaltQuadra900 = gestaltMacQuadra900,
- gestaltQuadra950 = gestaltMacQuadra950
- };
-
- enum
- {
- kMachineNameStrID = -16395
- };
-
- enum
- {
- gestaltSMPMailerVersion = FOUR_CHAR_CODE('malr') /* OCE StandardMail*/
- };
-
- enum
- {
- gestaltMediaBay = FOUR_CHAR_CODE('mbeh'), /* media bay driver type */
- gestaltMBLegacy = 0, /* media bay support in PCCard 2.0 */
- gestaltMBSingleBay = 1, /* single bay media bay driver */
- gestaltMBMultipleBays = 2 /* multi-bay media bay driver */
- };
-
- enum
- {
- gestaltMessageMgrVersion = FOUR_CHAR_CODE('mess') /* GX Printing Message Manager Gestalt Selector */
- };
-
-
- /* Menu Manager Gestalt (Mac OS 8.5 and later)*/
- enum
- {
- gestaltMenuMgrAttr = FOUR_CHAR_CODE('menu'), /* If this Gestalt exists, the Mac OS 8.5 Menu Manager is installed */
- gestaltMenuMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of this nature */
- /* are bit index values. 3.2 interfaces slipped out with this mistake unnoticed. */
- /* Sincere apologies for any inconvenience.*/
- gestaltMenuMgrPresentBit = 0, /* bit number */
- gestaltMenuMgrAquaLayoutBit = 1, /* menus have the Aqua 1.0 layout*/
- gestaltMenuMgrMultipleItemsWithCommandIDBit = 2, /* CountMenuItemsWithCommandID/GetIndMenuItemWithCommandID support multiple items with the same command ID*/
- gestaltMenuMgrRetainsIconRefBit = 3, /* SetMenuItemIconHandle, when passed an IconRef, calls AcquireIconRef*/
- gestaltMenuMgrSendsMenuBoundsToDefProcBit = 4, /* kMenuSizeMsg and kMenuPopUpMsg have menu bounding rect information*/
- gestaltMenuMgrMoreThanFiveMenusDeepBit = 5, /* the Menu Manager supports hierarchical menus more than five deep*/
- /* masks for the above bits*/
- gestaltMenuMgrPresentMask = (1L << gestaltMenuMgrPresentBit),
- gestaltMenuMgrAquaLayoutMask = (1L << gestaltMenuMgrAquaLayoutBit),
- gestaltMenuMgrMultipleItemsWithCommandIDMask = (1L << gestaltMenuMgrMultipleItemsWithCommandIDBit),
- gestaltMenuMgrRetainsIconRefMask = (1L << gestaltMenuMgrRetainsIconRefBit),
- gestaltMenuMgrSendsMenuBoundsToDefProcMask = (1L << gestaltMenuMgrSendsMenuBoundsToDefProcBit),
- gestaltMenuMgrMoreThanFiveMenusDeepMask = (1L << gestaltMenuMgrMoreThanFiveMenusDeepBit)
- };
-
-
- enum
- {
- gestaltMultipleUsersState = FOUR_CHAR_CODE('mfdr') /* Gestalt selector returns MultiUserGestaltHandle (in Folders.h)*/
- };
-
-
- enum
- {
- gestaltMachineIcon = FOUR_CHAR_CODE('micn') /* machine icon */
- };
-
- enum
- {
- gestaltMiscAttr = FOUR_CHAR_CODE('misc'), /* miscellaneous attributes */
- gestaltScrollingThrottle = 0, /* true if scrolling throttle on */
- gestaltSquareMenuBar = 2 /* true if menu bar is square */
- };
-
-
- /*
- The name gestaltMixedModeVersion for the 'mixd' selector is semantically incorrect.
- The same selector has been renamed gestaltMixedModeAttr to properly reflect the
- Inside Mac: PowerPC System Software documentation. The gestaltMixedModeVersion
- symbol has been preserved only for backwards compatibility.
-
- Developers are forewarned that gestaltMixedModeVersion has a limited lifespan and
- will be removed in a future release of the Interfaces.
-
- For the first version of Mixed Mode, both meanings of the 'mixd' selector are
- functionally identical. They both return 0x00000001. In subsequent versions
- of Mixed Mode, however, the 'mixd' selector will not respond with an increasing
- version number, but rather, with 32 attribute bits with various meanings.
- */
- enum
- {
- gestaltMixedModeVersion = FOUR_CHAR_CODE('mixd') /* returns version of Mixed Mode */
- };
-
- enum
- {
- gestaltMixedModeAttr = FOUR_CHAR_CODE('mixd'), /* returns Mixed Mode attributes */
- gestaltMixedModePowerPC = 0, /* true if Mixed Mode supports PowerPC ABI calling conventions */
- gestaltPowerPCAware = 0, /* old name for gestaltMixedModePowerPC */
- gestaltMixedModeCFM68K = 1, /* true if Mixed Mode supports CFM-68K calling conventions */
- gestaltMixedModeCFM68KHasTrap = 2, /* true if CFM-68K Mixed Mode implements _MixedModeDispatch (versions 1.0.1 and prior did not) */
- gestaltMixedModeCFM68KHasState = 3 /* true if CFM-68K Mixed Mode exports Save/RestoreMixedModeState */
- };
-
- enum
- {
- gestaltQuickTimeConferencing = FOUR_CHAR_CODE('mtlk') /* returns QuickTime Conferencing version */
- };
-
- enum
- {
- gestaltMemoryMapAttr = FOUR_CHAR_CODE('mmap'), /* Memory map type */
- gestaltMemoryMapSparse = 0 /* Sparse memory is on */
- };
-
- enum
- {
- gestaltMMUType = FOUR_CHAR_CODE('mmu '), /* mmu type */
- gestaltNoMMU = 0, /* no MMU */
- gestaltAMU = 1, /* address management unit */
- gestalt68851 = 2, /* 68851 PMMU */
- gestalt68030MMU = 3, /* 68030 built-in MMU */
- gestalt68040MMU = 4, /* 68040 built-in MMU */
- gestaltEMMU1 = 5 /* Emulated MMU type 1 */
- };
-
- enum
- {
- gestaltUserVisibleMachineName = FOUR_CHAR_CODE('mnam') /* Coerce response into a StringPtr to get a user visible machine name */
- };
-
- enum
- {
- gestaltMPCallableAPIsAttr = FOUR_CHAR_CODE('mpsc'), /* Bitmap of toolbox/OS managers that can be called from MPLibrary MPTasks */
- gestaltMPFileManager = 0, /* True if File Manager calls can be made from MPTasks */
- gestaltMPDeviceManager = 1, /* True if synchronous Device Manager calls can be made from MPTasks */
- gestaltMPTrapCalls = 2 /* True if most trap-based calls can be made from MPTasks */
- };
-
- enum
- {
- gestaltStdNBPAttr = FOUR_CHAR_CODE('nlup'), /* standard nbp attributes */
- gestaltStdNBPPresent = 0,
- gestaltStdNBPSupportsAutoPosition = 1 /* StandardNBP takes (-1,-1) to mean alert position main screen */
- };
-
- enum
- {
- gestaltNotificationMgrAttr = FOUR_CHAR_CODE('nmgr'), /* notification manager attributes */
- gestaltNotificationPresent = 0 /* notification manager exists */
- };
-
- enum
- {
- gestaltNameRegistryVersion = FOUR_CHAR_CODE('nreg') /* NameRegistryLib version number, for System 7.5.2+ usage */
- };
-
- enum
- {
- gestaltNuBusSlotCount = FOUR_CHAR_CODE('nubs') /* count of logical NuBus slots present */
- };
-
- enum
- {
- gestaltOCEToolboxVersion = FOUR_CHAR_CODE('ocet'), /* OCE Toolbox version */
- gestaltOCETB = 0x0102, /* OCE Toolbox version 1.02 */
- gestaltSFServer = 0x0100 /* S&F Server version 1.0 */
- };
-
- enum
- {
- gestaltOCEToolboxAttr = FOUR_CHAR_CODE('oceu'), /* OCE Toolbox attributes */
- gestaltOCETBPresent = 0x01, /* OCE toolbox is present, not running */
- gestaltOCETBAvailable = 0x02, /* OCE toolbox is running and available */
- gestaltOCESFServerAvailable = 0x04, /* S&F Server is running and available */
- gestaltOCETBNativeGlueAvailable = 0x10 /* Native PowerPC Glue routines are availible */
- };
-
- enum
- {
- gestaltOpenFirmwareInfo = FOUR_CHAR_CODE('opfw') /* Open Firmware info */
- };
-
- enum
- {
- gestaltOSAttr = FOUR_CHAR_CODE('os '), /* o/s attributes */
- gestaltSysZoneGrowable = 0, /* system heap is growable */
- gestaltLaunchCanReturn = 1, /* can return from launch */
- gestaltLaunchFullFileSpec = 2, /* can launch from full file spec */
- gestaltLaunchControl = 3, /* launch control support available */
- gestaltTempMemSupport = 4, /* temp memory support */
- gestaltRealTempMemory = 5, /* temp memory handles are real */
- gestaltTempMemTracked = 6, /* temporary memory handles are tracked */
- gestaltIPCSupport = 7, /* IPC support is present */
- gestaltSysDebuggerSupport = 8, /* system debugger support is present */
- gestaltNativeProcessMgrBit = 19, /* the process manager itself is native */
- gestaltAltivecRegistersSwappedCorrectlyBit = 20 /* Altivec registers are saved correctly on process switches */
- };
-
- enum
- {
- gestaltOSTable = FOUR_CHAR_CODE('ostt') /* OS trap table base */
- };
-
-
- /*******************************************************************************
- * Gestalt Selectors for Open Transport Network Setup
- *
- * Note: possible values for the version "stage" byte are:
- * development = 0x20, alpha = 0x40, beta = 0x60, final & release = 0x80
- ********************************************************************************/
- enum
- {
- gestaltOpenTptNetworkSetup = FOUR_CHAR_CODE('otcf'),
- gestaltOpenTptNetworkSetupLegacyImport = 0,
- gestaltOpenTptNetworkSetupLegacyExport = 1,
- gestaltOpenTptNetworkSetupSupportsMultihoming = 2
- };
-
- enum
- {
- gestaltOpenTptNetworkSetupVersion = FOUR_CHAR_CODE('otcv')
- };
-
- /*******************************************************************************
- * Gestalt Selectors for Open Transport-based Remote Access/PPP
- *
- * Note: possible values for the version "stage" byte are:
- * development = 0x20, alpha = 0x40, beta = 0x60, final & release = 0x80
- ********************************************************************************/
- enum
- {
- gestaltOpenTptRemoteAccess = FOUR_CHAR_CODE('otra'),
- gestaltOpenTptRemoteAccessPresent = 0,
- gestaltOpenTptRemoteAccessLoaded = 1,
- gestaltOpenTptRemoteAccessClientOnly = 2,
- gestaltOpenTptRemoteAccessPServer = 3,
- gestaltOpenTptRemoteAccessMPServer = 4,
- gestaltOpenTptPPPPresent = 5,
- gestaltOpenTptARAPPresent = 6
- };
-
- enum
- {
- gestaltOpenTptRemoteAccessVersion = FOUR_CHAR_CODE('otrv')
- };
-
-
- /* ***** Open Transport Gestalt ******/
-
-
- enum
- {
- gestaltOpenTptVersions = FOUR_CHAR_CODE('otvr') /* Defined by OT 1.1 and higher, response is NumVersion.*/
- };
-
- enum
- {
- gestaltOpenTpt = FOUR_CHAR_CODE('otan'), /* Defined by all versions, response is defined below.*/
- gestaltOpenTptPresentMask = 0x00000001,
- gestaltOpenTptLoadedMask = 0x00000002,
- gestaltOpenTptAppleTalkPresentMask = 0x00000004,
- gestaltOpenTptAppleTalkLoadedMask = 0x00000008,
- gestaltOpenTptTCPPresentMask = 0x00000010,
- gestaltOpenTptTCPLoadedMask = 0x00000020,
- gestaltOpenTptIPXSPXPresentMask = 0x00000040,
- gestaltOpenTptIPXSPXLoadedMask = 0x00000080,
- gestaltOpenTptPresentBit = 0,
- gestaltOpenTptLoadedBit = 1,
- gestaltOpenTptAppleTalkPresentBit = 2,
- gestaltOpenTptAppleTalkLoadedBit = 3,
- gestaltOpenTptTCPPresentBit = 4,
- gestaltOpenTptTCPLoadedBit = 5,
- gestaltOpenTptIPXSPXPresentBit = 6,
- gestaltOpenTptIPXSPXLoadedBit = 7
- };
-
-
- enum
- {
- gestaltPCCard = FOUR_CHAR_CODE('pccd'), /* PC Card attributes*/
- gestaltCardServicesPresent = 0, /* PC Card 2.0 (68K) API is present*/
- gestaltPCCardFamilyPresent = 1, /* PC Card 3.x (PowerPC) API is present*/
- gestaltPCCardHasPowerControl = 2, /* PCCardSetPowerLevel is supported*/
- gestaltPCCardSupportsCardBus = 3 /* CardBus is supported*/
- };
-
- enum
- {
- gestaltProcClkSpeed = FOUR_CHAR_CODE('pclk') /* processor clock speed in hertz */
- };
-
- enum
- {
- gestaltPCXAttr = FOUR_CHAR_CODE('pcxg'), /* PC Exchange attributes */
- gestaltPCXHas8and16BitFAT = 0, /* PC Exchange supports both 8 and 16 bit FATs */
- gestaltPCXHasProDOS = 1, /* PC Exchange supports ProDOS */
- gestaltPCXNewUI = 2,
- gestaltPCXUseICMapping = 3 /* PC Exchange uses InternetConfig for file mappings */
- };
-
- enum
- {
- gestaltLogicalPageSize = FOUR_CHAR_CODE('pgsz') /* logical page size */
- };
-
- /* System 7.6 and later. If gestaltScreenCaptureMain is not implemented,
- PictWhap proceeds with screen capture in the usual way.
-
- The high word of gestaltScreenCaptureMain is reserved (use 0).
-
- To disable screen capture to disk, put zero in the low word. To
- specify a folder for captured pictures, put the vRefNum in the
- low word of gestaltScreenCaptureMain, and put the directory ID in
- gestaltScreenCaptureDir.
- */
- enum
- {
- gestaltScreenCaptureMain = FOUR_CHAR_CODE('pic1'), /* Zero, or vRefNum of disk to hold picture */
- gestaltScreenCaptureDir = FOUR_CHAR_CODE('pic2') /* Directory ID of folder to hold picture */
- };
-
- enum
- {
- gestaltGXPrintingMgrVersion = FOUR_CHAR_CODE('pmgr') /* QuickDraw GX Printing Manager Version*/
- };
-
- enum
- {
- gestaltPopupAttr = FOUR_CHAR_CODE('pop!'), /* popup cdef attributes */
- gestaltPopupPresent = 0
- };
-
- enum
- {
- gestaltPowerMgrAttr = FOUR_CHAR_CODE('powr'), /* power manager attributes */
- gestaltPMgrExists = 0,
- gestaltPMgrCPUIdle = 1,
- gestaltPMgrSCC = 2,
- gestaltPMgrSound = 3,
- gestaltPMgrDispatchExists = 4,
- gestaltPMgrSupportsAVPowerStateAtSleepWake = 5
- };
-
- enum
- {
- gestaltPowerMgrVers = FOUR_CHAR_CODE('pwrv') /* power manager version */
- };
-
- /*
- * PPC will return the combination of following bit fields.
- * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
- * indicates PPC is cuurently is only supports real time delivery
- * and both incoming and outgoing network sessions are allowed.
- * By default local real time delivery is supported as long as PPCInit has been called.*/
- enum
- {
- gestaltPPCToolboxAttr = FOUR_CHAR_CODE('ppc '), /* PPC toolbox attributes */
- gestaltPPCToolboxPresent = 0x0000, /* PPC Toolbox is present Requires PPCInit to be called */
- gestaltPPCSupportsRealTime = 0x1000, /* PPC Supports real-time delivery */
- gestaltPPCSupportsIncoming = 0x0001, /* PPC will allow incoming network requests */
- gestaltPPCSupportsOutGoing = 0x0002, /* PPC will allow outgoing network requests */
- gestaltPPCSupportsTCP_IP = 0x0004, /* PPC supports TCP/IP transport */
- gestaltPPCSupportsIncomingAppleTalk = 0x0010,
- gestaltPPCSupportsIncomingTCP_IP = 0x0020,
- gestaltPPCSupportsOutgoingAppleTalk = 0x0100,
- gestaltPPCSupportsOutgoingTCP_IP = 0x0200
- };
-
- enum
- {
- gestaltPowerPCProcessorFeatures = FOUR_CHAR_CODE('ppcf'), /* Optional PowerPC processor features */
- gestaltPowerPCHasGraphicsInstructions = 0, /* has fres, frsqrte, and fsel instructions */
- gestaltPowerPCHasSTFIWXInstruction = 1, /* has stfiwx instruction */
- gestaltPowerPCHasSquareRootInstructions = 2, /* has fsqrt and fsqrts instructions */
- gestaltPowerPCHasDCBAInstruction = 3, /* has dcba instruction */
- gestaltPowerPCHasVectorInstructions = 4, /* has vector instructions */
- gestaltPowerPCHasDataStreams = 5 /* has dst, dstt, dstst, dss, and dssall instructions */
- };
-
- enum
- {
- gestaltProcessorType = FOUR_CHAR_CODE('proc'), /* processor type */
- gestalt68000 = 1,
- gestalt68010 = 2,
- gestalt68020 = 3,
- gestalt68030 = 4,
- gestalt68040 = 5
- };
-
- enum
- {
- gestaltSDPPromptVersion = FOUR_CHAR_CODE('prpv') /* OCE Standard Directory Panel*/
- };
-
- enum
- {
- gestaltParityAttr = FOUR_CHAR_CODE('prty'), /* parity attributes */
- gestaltHasParityCapability = 0, /* has ability to check parity */
- gestaltParityEnabled = 1 /* parity checking enabled */
- };
-
- enum
- {
- gestaltQD3DVersion = FOUR_CHAR_CODE('q3v ') /* Quickdraw 3D version in pack BCD*/
- };
-
- enum
- {
- gestaltQD3DViewer = FOUR_CHAR_CODE('q3vc'), /* Quickdraw 3D viewer attributes*/
- gestaltQD3DViewerPresent = 0 /* bit 0 set if QD3D Viewer is available*/
- };
+enum {
+ gestaltCRMAttr = FOUR_CHAR_CODE('crm '), /* comm resource mgr attributes */
+ gestaltCRMPresent = 0,
+ gestaltCRMPersistentFix = 1, /* fix for persistent tools */
+ gestaltCRMToolRsrcCalls = 2 /* has CRMGetToolResource/ReleaseToolResource */
+};
+
+enum {
+ gestaltControlStripVersion = FOUR_CHAR_CODE('csvr') /* Control Strip version (was 'sdvr') */
+};
+
+enum {
+ gestaltCTBVersion = FOUR_CHAR_CODE('ctbv') /* CommToolbox version */
+};
+
+enum {
+ gestaltDBAccessMgrAttr = FOUR_CHAR_CODE('dbac'), /* Database Access Mgr attributes */
+ gestaltDBAccessMgrPresent = 0 /* True if Database Access Mgr present */
+};
+
+enum {
+ gestaltSDPFindVersion = FOUR_CHAR_CODE('dfnd') /* OCE Standard Directory Panel*/
+};
+
+enum {
+ gestaltDictionaryMgrAttr = FOUR_CHAR_CODE('dict'), /* Dictionary Manager attributes */
+ gestaltDictionaryMgrPresent = 0 /* Dictionary Manager attributes */
+};
+
+enum {
+ gestaltDITLExtAttr = FOUR_CHAR_CODE('ditl'), /* AppenDITL, etc. calls from CTB */
+ gestaltDITLExtPresent = 0, /* True if calls are present */
+ gestaltDITLExtSupportsIctb = 1 /* True if AppendDITL, ShortenDITL support 'ictb's */
+};
+
+enum {
+ gestaltDialogMgrAttr = FOUR_CHAR_CODE('dlog'), /* Dialog Mgr*/
+ gestaltDialogMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
+ /* this type are bit index values. Universal Interfaces 3.2 slipped*/
+ /* out the door with this mistake.*/
+ gestaltDialogMgrPresentBit = 0, /* bit number*/
+ gestaltDialogMgrHasAquaAlertBit = 2, /* bit number*/
+ gestaltDialogMgrPresentMask = (1L << gestaltDialogMgrPresentBit),
+ gestaltDialogMgrHasAquaAlertMask = (1L << gestaltDialogMgrHasAquaAlertBit),
+ gestaltDialogMsgPresentMask = gestaltDialogMgrPresentMask /* compatibility mask*/
+};
+
+enum {
+ gestaltDesktopPicturesAttr = FOUR_CHAR_CODE('dkpx'), /* Desktop Pictures attributes */
+ gestaltDesktopPicturesInstalled = 0, /* True if control panel is installed */
+ gestaltDesktopPicturesDisplayed = 1 /* True if a picture is currently displayed */
+};
+
+enum {
+ gestaltDisplayMgrVers = FOUR_CHAR_CODE('dplv') /* Display Manager version */
+};
+
+enum {
+ gestaltDisplayMgrAttr = FOUR_CHAR_CODE('dply'), /* Display Manager attributes */
+ gestaltDisplayMgrPresent = 0, /* True if Display Mgr is present */
+ gestaltDisplayMgrCanSwitchMirrored = 2, /* True if Display Mgr can switch modes on mirrored displays */
+ gestaltDisplayMgrSetDepthNotifies = 3, /* True SetDepth generates displays mgr notification */
+ gestaltDisplayMgrCanConfirm = 4, /* True Display Manager supports DMConfirmConfiguration */
+ gestaltDisplayMgrColorSyncAware = 5, /* True if Display Manager supports profiles for displays */
+ gestaltDisplayMgrGeneratesProfiles = 6, /* True if Display Manager will automatically generate profiles for displays */
+ gestaltDisplayMgrSleepNotifies = 7 /* True if Display Mgr generates "displayWillSleep", "displayDidWake" notifications */
+};
+
+enum {
+ gestaltDragMgrAttr = FOUR_CHAR_CODE('drag'), /* Drag Manager attributes */
+ gestaltDragMgrPresent = 0, /* Drag Manager is present */
+ gestaltDragMgrFloatingWind = 1, /* Drag Manager supports floating windows */
+ gestaltPPCDragLibPresent = 2, /* Drag Manager PPC DragLib is present */
+ gestaltDragMgrHasImageSupport = 3, /* Drag Manager allows SetDragImage call */
+ gestaltCanStartDragInFloatWindow = 4, /* Drag Manager supports starting a drag in a floating window */
+ gestaltSetDragImageUpdates = 5 /* Drag Manager supports drag image updating via SetDragImage */
+};
+
+enum {
+ gestaltDrawSprocketVersion = FOUR_CHAR_CODE('dspv') /* Draw Sprocket version (as a NumVersion) */
+};
+
+enum {
+ gestaltDigitalSignatureVersion = FOUR_CHAR_CODE('dsig') /* returns Digital Signature Toolbox version in low-order word*/
+};
+
+/*
+ Desktop Printing Feature Gestalt
+ Use this gestalt to check if third-party printer driver support is available
+*/
+enum {
+ gestaltDTPFeatures = FOUR_CHAR_CODE('dtpf'),
+ kDTPThirdPartySupported = 0x00000004 /* mask for checking if third-party drivers are supported*/
+};
+
+
+/*
+ Desktop Printer Info Gestalt
+ Use this gestalt to get a hold of information for all of the active desktop printers
+*/
+enum {
+ gestaltDTPInfo = FOUR_CHAR_CODE('dtpx') /* returns GestaltDTPInfoHdle*/
+};
+
+enum {
+ gestaltEasyAccessAttr = FOUR_CHAR_CODE('easy'), /* Easy Access attributes */
+ gestaltEasyAccessOff = 0, /* if Easy Access present, but off (no icon) */
+ gestaltEasyAccessOn = 1, /* if Easy Access "On" */
+ gestaltEasyAccessSticky = 2, /* if Easy Access "Sticky" */
+ gestaltEasyAccessLocked = 3 /* if Easy Access "Locked" */
+};
+
+enum {
+ gestaltEditionMgrAttr = FOUR_CHAR_CODE('edtn'), /* Edition Mgr attributes */
+ gestaltEditionMgrPresent = 0, /* True if Edition Mgr present */
+ gestaltEditionMgrTranslationAware = 1 /* True if edition manager is translation manager aware */
+};
+
+enum {
+ gestaltAppleEventsAttr = FOUR_CHAR_CODE('evnt'), /* Apple Events attributes */
+ gestaltAppleEventsPresent = 0, /* True if Apple Events present */
+ gestaltScriptingSupport = 1,
+ gestaltOSLInSystem = 2, /* OSL is in system so don't use the one linked in to app */
+ gestaltSupportsApplicationURL = 4 /* Supports the typeApplicationURL addressing mode */
+};
+
+enum {
+ gestaltExtensionTableVersion = FOUR_CHAR_CODE('etbl') /* ExtensionTable version */
+};
+
+
+enum {
+ gestaltFBCIndexingState = FOUR_CHAR_CODE('fbci'), /* Find By Content indexing state*/
+ gestaltFBCindexingSafe = 0, /* any search will result in synchronous wait*/
+ gestaltFBCindexingCritical = 1 /* any search will execute immediately*/
+};
+
+enum {
+ gestaltFBCVersion = FOUR_CHAR_CODE('fbcv'), /* Find By Content version*/
+ gestaltFBCCurrentVersion = 0x0011, /* First release for OS 8/9*/
+ gestaltOSXFBCCurrentVersion = 0x0100 /* First release for OS X*/
+};
+
+
+enum {
+ gestaltFileMappingAttr = FOUR_CHAR_CODE('flmp'), /* File mapping attributes*/
+ gestaltFileMappingPresent = 0, /* bit is set if file mapping APIs are present*/
+ gestaltFileMappingMultipleFilesFix = 1 /* bit is set if multiple files per volume can be mapped*/
+};
+
+enum {
+ gestaltFloppyAttr = FOUR_CHAR_CODE('flpy'), /* Floppy disk drive/driver attributes */
+ gestaltFloppyIsMFMOnly = 0, /* Floppy driver only supports MFM disk formats */
+ gestaltFloppyIsManualEject = 1, /* Floppy drive, driver, and file system are in manual-eject mode */
+ gestaltFloppyUsesDiskInPlace = 2 /* Floppy drive must have special DISK-IN-PLACE output; standard DISK-CHANGED not used */
+};
+
+enum {
+ gestaltFinderAttr = FOUR_CHAR_CODE('fndr'), /* Finder attributes */
+ gestaltFinderDropEvent = 0, /* Finder recognizes drop event */
+ gestaltFinderMagicPlacement = 1, /* Finder supports magic icon placement */
+ gestaltFinderCallsAEProcess = 2, /* Finder calls AEProcessAppleEvent */
+ gestaltOSLCompliantFinder = 3, /* Finder is scriptable and recordable */
+ gestaltFinderSupports4GBVolumes = 4, /* Finder correctly handles 4GB volumes */
+ gestaltFinderHasClippings = 6, /* Finder supports Drag Manager clipping files */
+ gestaltFinderFullDragManagerSupport = 7, /* Finder accepts 'hfs ' flavors properly */
+ gestaltFinderFloppyRootComments = 8, /* in MacOS 8 and later, will be set if Finder ever supports comments on Floppy icons */
+ gestaltFinderLargeAndNotSavedFlavorsOK = 9, /* in MacOS 8 and later, this bit is set if drags with >1024-byte flavors and flavorNotSaved flavors work reliably */
+ gestaltFinderUsesExtensibleFolderManager = 10, /* Finder uses Extensible Folder Manager (for example, for Magic Routing) */
+ gestaltFinderUnderstandsRedirectedDesktopFolder = 11 /* Finder deals with startup disk's desktop folder residing on another disk */
+};
+
+enum {
+ gestaltFindFolderAttr = FOUR_CHAR_CODE('fold'), /* Folder Mgr attributes */
+ gestaltFindFolderPresent = 0, /* True if Folder Mgr present */
+ gestaltFolderDescSupport = 1, /* True if Folder Mgr has FolderDesc calls */
+ gestaltFolderMgrFollowsAliasesWhenResolving = 2, /* True if Folder Mgr follows folder aliases */
+ gestaltFolderMgrSupportsExtendedCalls = 3, /* True if Folder Mgr supports the Extended calls */
+ gestaltFolderMgrSupportsDomains = 4, /* True if Folder Mgr supports domains for the first parameter to FindFolder */
+ gestaltFolderMgrSupportsFSCalls = 5 /* True if FOlder manager supports __FindFolderFSRef & __FindFolderExtendedFSRef */
+};
+
+enum {
+ gestaltFindFolderRedirectionAttr = FOUR_CHAR_CODE('fole')
+};
+
+
+enum {
+ gestaltFontMgrAttr = FOUR_CHAR_CODE('font'), /* Font Mgr attributes */
+ gestaltOutlineFonts = 0 /* True if Outline Fonts supported */
+};
+
+enum {
+ gestaltFPUType = FOUR_CHAR_CODE('fpu '), /* fpu type */
+ gestaltNoFPU = 0, /* no FPU */
+ gestalt68881 = 1, /* 68881 FPU */
+ gestalt68882 = 2, /* 68882 FPU */
+ gestalt68040FPU = 3 /* 68040 built-in FPU */
+};
+
+enum {
+ gestaltFSAttr = FOUR_CHAR_CODE('fs '), /* file system attributes */
+ gestaltFullExtFSDispatching = 0, /* has really cool new HFSDispatch dispatcher */
+ gestaltHasFSSpecCalls = 1, /* has FSSpec calls */
+ gestaltHasFileSystemManager = 2, /* has a file system manager */
+ gestaltFSMDoesDynamicLoad = 3, /* file system manager supports dynamic loading */
+ gestaltFSSupports4GBVols = 4, /* file system supports 4 gigabyte volumes */
+ gestaltFSSupports2TBVols = 5, /* file system supports 2 terabyte volumes */
+ gestaltHasExtendedDiskInit = 6, /* has extended Disk Initialization calls */
+ gestaltDTMgrSupportsFSM = 7, /* Desktop Manager support FSM-based foreign file systems */
+ gestaltFSNoMFSVols = 8, /* file system doesn't supports MFS volumes */
+ gestaltFSSupportsHFSPlusVols = 9, /* file system supports HFS Plus volumes */
+ gestaltFSIncompatibleDFA82 = 10 /* VCB and FCB structures changed; DFA 8.2 is incompatible */
+};
+
+enum {
+ gestaltHasHFSPlusAPIs = 12, /* file system supports HFS Plus APIs */
+ gestaltMustUseFCBAccessors = 13, /* FCBSPtr and FSFCBLen are invalid - must use FSM FCB accessor functions*/
+ gestaltFSUsesPOSIXPathsForConversion = 14, /* The path interchange routines operate on POSIX paths instead of HFS paths */
+ gestaltFSSupportsExclusiveLocks = 15, /* File system uses POSIX O_EXLOCK for opens */
+ gestaltFSSupportsHardLinkDetection = 16 /* File system returns if an item is a hard link */
+};
+
+enum {
+ gestaltAdminFeaturesFlagsAttr = FOUR_CHAR_CODE('fred'), /* a set of admin flags, mostly useful internally. */
+ gestaltFinderUsesSpecialOpenFoldersFile = 0 /* the Finder uses a special file to store the list of open folders */
+};
+
+enum {
+ gestaltFSMVersion = FOUR_CHAR_CODE('fsm ') /* returns version of HFS External File Systems Manager (FSM) */
+};
+
+enum {
+ gestaltFXfrMgrAttr = FOUR_CHAR_CODE('fxfr'), /* file transfer manager attributes */
+ gestaltFXfrMgrPresent = 0,
+ gestaltFXfrMgrMultiFile = 1, /* supports FTSend and FTReceive */
+ gestaltFXfrMgrErrorString = 2, /* supports FTGetErrorString */
+ gestaltFXfrMgrAsync = 3 /*supports FTSendAsync, FTReceiveAsync, FTCompletionAsync*/
+};
+
+enum {
+ gestaltGraphicsAttr = FOUR_CHAR_CODE('gfxa'), /* Quickdraw GX attributes selector */
+ gestaltGraphicsIsDebugging = 0x00000001,
+ gestaltGraphicsIsLoaded = 0x00000002,
+ gestaltGraphicsIsPowerPC = 0x00000004
+};
+
+enum {
+ gestaltGraphicsVersion = FOUR_CHAR_CODE('grfx'), /* Quickdraw GX version selector */
+ gestaltCurrentGraphicsVersion = 0x00010200 /* the version described in this set of headers */
+};
+
+enum {
+ gestaltHardwareAttr = FOUR_CHAR_CODE('hdwr'), /* hardware attributes */
+ gestaltHasVIA1 = 0, /* VIA1 exists */
+ gestaltHasVIA2 = 1, /* VIA2 exists */
+ gestaltHasASC = 3, /* Apple Sound Chip exists */
+ gestaltHasSCC = 4, /* SCC exists */
+ gestaltHasSCSI = 7, /* SCSI exists */
+ gestaltHasSoftPowerOff = 19, /* Capable of software power off */
+ gestaltHasSCSI961 = 21, /* 53C96 SCSI controller on internal bus */
+ gestaltHasSCSI962 = 22, /* 53C96 SCSI controller on external bus */
+ gestaltHasUniversalROM = 24, /* Do we have a Universal ROM? */
+ gestaltHasEnhancedLtalk = 30 /* Do we have Enhanced LocalTalk? */
+};
+
+enum {
+ gestaltHelpMgrAttr = FOUR_CHAR_CODE('help'), /* Help Mgr Attributes */
+ gestaltHelpMgrPresent = 0, /* true if help mgr is present */
+ gestaltHelpMgrExtensions = 1, /* true if help mgr extensions are installed */
+ gestaltAppleGuideIsDebug = 30,
+ gestaltAppleGuidePresent = 31 /* true if AppleGuide is installed */
+};
+
+enum {
+ gestaltHardwareVendorCode = FOUR_CHAR_CODE('hrad'), /* Returns hardware vendor information */
+ gestaltHardwareVendorApple = FOUR_CHAR_CODE('Appl') /* Hardware built by Apple */
+};
+
+enum {
+ gestaltCompressionMgr = FOUR_CHAR_CODE('icmp') /* returns version of the Image Compression Manager */
+};
+
+enum {
+ gestaltIconUtilitiesAttr = FOUR_CHAR_CODE('icon'), /* Icon Utilities attributes (Note: available in System 7.0, despite gestalt) */
+ gestaltIconUtilitiesPresent = 0, /* true if icon utilities are present */
+ gestaltIconUtilitiesHas48PixelIcons = 1, /* true if 48x48 icons are supported by IconUtilities */
+ gestaltIconUtilitiesHas32BitIcons = 2, /* true if 32-bit deep icons are supported */
+ gestaltIconUtilitiesHas8BitDeepMasks = 3, /* true if 8-bit deep masks are supported */
+ gestaltIconUtilitiesHasIconServices = 4 /* true if IconServices is present */
+};
+
+enum {
+ gestaltInternalDisplay = FOUR_CHAR_CODE('idsp') /* slot number of internal display location */
+};
+
+/*
+ To obtain information about the connected keyboard(s), one should
+ use the ADB Manager API. See Technical Note OV16 for details.
+*/
+enum {
+ gestaltKeyboardType = FOUR_CHAR_CODE('kbd '), /* keyboard type */
+ gestaltMacKbd = 1,
+ gestaltMacAndPad = 2,
+ gestaltMacPlusKbd = 3,
+ gestaltExtADBKbd = 4,
+ gestaltStdADBKbd = 5,
+ gestaltPrtblADBKbd = 6,
+ gestaltPrtblISOKbd = 7,
+ gestaltStdISOADBKbd = 8,
+ gestaltExtISOADBKbd = 9,
+ gestaltADBKbdII = 10,
+ gestaltADBISOKbdII = 11,
+ gestaltPwrBookADBKbd = 12,
+ gestaltPwrBookISOADBKbd = 13,
+ gestaltAppleAdjustKeypad = 14,
+ gestaltAppleAdjustADBKbd = 15,
+ gestaltAppleAdjustISOKbd = 16,
+ gestaltJapanAdjustADBKbd = 17, /* Japan Adjustable Keyboard */
+ gestaltPwrBkExtISOKbd = 20, /* PowerBook Extended International Keyboard with function keys */
+ gestaltPwrBkExtJISKbd = 21, /* PowerBook Extended Japanese Keyboard with function keys */
+ gestaltPwrBkExtADBKbd = 24, /* PowerBook Extended Domestic Keyboard with function keys */
+ gestaltPS2Keyboard = 27, /* PS2 keyboard */
+ gestaltPwrBkSubDomKbd = 28, /* PowerBook Subnote Domestic Keyboard with function keys w/ inverted T */
+ gestaltPwrBkSubISOKbd = 29, /* PowerBook Subnote International Keyboard with function keys w/ inverted T */
+ gestaltPwrBkSubJISKbd = 30, /* PowerBook Subnote Japanese Keyboard with function keys w/ inverted T */
+ gestaltPwrBkEKDomKbd = 195, /* (0xC3) PowerBook Domestic Keyboard with Embedded Keypad, function keys & inverted T */
+ gestaltPwrBkEKISOKbd = 196, /* (0xC4) PowerBook International Keyboard with Embedded Keypad, function keys & inverted T */
+ gestaltPwrBkEKJISKbd = 197, /* (0xC5) PowerBook Japanese Keyboard with Embedded Keypad, function keys & inverted T */
+ gestaltUSBCosmoANSIKbd = 198, /* (0xC6) original USB Domestic (ANSI) Keyboard */
+ gestaltUSBCosmoISOKbd = 199, /* (0xC7) original USB International (ISO) Keyboard */
+ gestaltUSBCosmoJISKbd = 200, /* (0xC8) original USB Japanese (JIS) Keyboard */
+ gestaltPwrBk99JISKbd = 201, /* (0xC9) '99 PowerBook JIS Keyboard with Embedded Keypad, function keys & inverted T */
+ gestaltUSBAndyANSIKbd = 204, /* (0xCC) USB Pro Keyboard Domestic (ANSI) Keyboard */
+ gestaltUSBAndyISOKbd = 205, /* (0xCD) USB Pro Keyboard International (ISO) Keyboard */
+ gestaltUSBAndyJISKbd = 206 /* (0xCE) USB Pro Keyboard Japanese (JIS) Keyboard */
+};
+
+
+/*
+ This gestalt indicates the highest UDF version that the active UDF implementation supports.
+ The value should be assembled from a read version (upper word) and a write version (lower word)
+*/
+enum {
+ gestaltUDFSupport = FOUR_CHAR_CODE('kudf') /* Used for communication between UDF implementations*/
+};
+
+enum {
+ gestaltLowMemorySize = FOUR_CHAR_CODE('lmem') /* size of low memory area */
+};
+
+enum {
+ gestaltLogicalRAMSize = FOUR_CHAR_CODE('lram') /* logical ram size */
+};
+
+/*
+ MACHINE TYPE CONSTANTS NAMING CONVENTION
+
+ All future machine type constant names take the following form:
+
+ gestalt<lineName><modelNumber>
+
+ Line Names
+
+ The following table contains the lines currently produced by Apple and the
+ lineName substrings associated with them:
+
+ Line lineName
+ ------------------------- ------------
+ Macintosh LC "MacLC"
+ Macintosh Performa "Performa"
+ Macintosh PowerBook "PowerBook"
+ Macintosh PowerBook Duo "PowerBookDuo"
+ Power Macintosh "PowerMac"
+ Apple Workgroup Server "AWS"
+
+ The following table contains lineNames for some discontinued lines:
+
+ Line lineName
+ ------------------------- ------------
+ Macintosh Quadra "MacQuadra" (preferred)
+ "Quadra" (also used, but not preferred)
+ Macintosh Centris "MacCentris"
+
+ Model Numbers
+
+ The modelNumber is a string representing the specific model of the machine
+ within its particular line. For example, for the Power Macintosh 8100/80,
+ the modelNumber is "8100".
+
+ Some Performa & LC model numbers contain variations in the rightmost 1 or 2
+ digits to indicate different RAM and Hard Disk configurations. A single
+ machine type is assigned for all variations of a specific model number. In
+ this case, the modelNumber string consists of the constant leftmost part
+ of the model number with 0s for the variant digits. For example, the
+ Performa 6115 and Performa 6116 are both return the same machine type
+ constant: gestaltPerforma6100.
+
+
+ OLD NAMING CONVENTIONS
+
+ The "Underscore Speed" suffix
+
+ In the past, Apple differentiated between machines that had the same model
+ number but different speeds. For example, the Power Macintosh 8100/80 and
+ Power Macintosh 8100/100 return different machine type constants. This is
+ why some existing machine type constant names take the form:
+
+ gestalt<lineName><modelNumber>_<speed>
+
+ e.g.
+
+ gestaltPowerMac8100_110
+ gestaltPowerMac7100_80
+ gestaltPowerMac7100_66
+
+ It is no longer necessary to use the "underscore speed" suffix. Starting with
+ the Power Surge machines (Power Macintosh 7200, 7500, 8500 and 9500), speed is
+ no longer used to differentiate between machine types. This is why a Power
+ Macintosh 7200/75 and a Power Macintosh 7200/90 return the same machine type
+ constant: gestaltPowerMac7200.
+
+ The "Screen Type" suffix
+
+ All PowerBook models prior to the PowerBook 190, and all PowerBook Duo models
+ before the PowerBook Duo 2300 take the form:
+
+ gestalt<lineName><modelNumber><screenType>
+
+ Where <screenType> is "c" or the empty string.
+
+ e.g.
+
+ gestaltPowerBook100
+ gestaltPowerBookDuo280
+ gestaltPowerBookDuo280c
+ gestaltPowerBook180
+ gestaltPowerBook180c
+
+ Starting with the PowerBook 190 series and the PowerBook Duo 2300 series, machine
+ types are no longer differentiated based on screen type. This is why a PowerBook
+ 5300cs/100 and a PowerBook 5300c/100 both return the same machine type constant:
+ gestaltPowerBook5300.
+
+ Macintosh LC 630 gestaltMacLC630
+ Macintosh Performa 6200 gestaltPerforma6200
+ Macintosh Quadra 700 gestaltQuadra700
+ Macintosh PowerBook 5300 gestaltPowerBook5300
+ Macintosh PowerBook Duo 2300 gestaltPowerBookDuo2300
+ Power Macintosh 8500 gestaltPowerMac8500
+*/
+
+enum {
+ gestaltMachineType = FOUR_CHAR_CODE('mach'), /* machine type */
+ gestaltClassic = 1,
+ gestaltMacXL = 2,
+ gestaltMac512KE = 3,
+ gestaltMacPlus = 4,
+ gestaltMacSE = 5,
+ gestaltMacII = 6,
+ gestaltMacIIx = 7,
+ gestaltMacIIcx = 8,
+ gestaltMacSE030 = 9,
+ gestaltPortable = 10,
+ gestaltMacIIci = 11,
+ gestaltPowerMac8100_120 = 12,
+ gestaltMacIIfx = 13,
+ gestaltMacClassic = 17,
+ gestaltMacIIsi = 18,
+ gestaltMacLC = 19,
+ gestaltMacQuadra900 = 20,
+ gestaltPowerBook170 = 21,
+ gestaltMacQuadra700 = 22,
+ gestaltClassicII = 23,
+ gestaltPowerBook100 = 24,
+ gestaltPowerBook140 = 25,
+ gestaltMacQuadra950 = 26,
+ gestaltMacLCIII = 27,
+ gestaltPerforma450 = gestaltMacLCIII,
+ gestaltPowerBookDuo210 = 29,
+ gestaltMacCentris650 = 30,
+ gestaltPowerBookDuo230 = 32,
+ gestaltPowerBook180 = 33,
+ gestaltPowerBook160 = 34,
+ gestaltMacQuadra800 = 35,
+ gestaltMacQuadra650 = 36,
+ gestaltMacLCII = 37,
+ gestaltPowerBookDuo250 = 38,
+ gestaltAWS9150_80 = 39,
+ gestaltPowerMac8100_110 = 40,
+ gestaltAWS8150_110 = gestaltPowerMac8100_110,
+ gestaltPowerMac5200 = 41,
+ gestaltPowerMac5260 = gestaltPowerMac5200,
+ gestaltPerforma5300 = gestaltPowerMac5200,
+ gestaltPowerMac6200 = 42,
+ gestaltPerforma6300 = gestaltPowerMac6200,
+ gestaltMacIIvi = 44,
+ gestaltMacIIvm = 45,
+ gestaltPerforma600 = gestaltMacIIvm,
+ gestaltPowerMac7100_80 = 47,
+ gestaltMacIIvx = 48,
+ gestaltMacColorClassic = 49,
+ gestaltPerforma250 = gestaltMacColorClassic,
+ gestaltPowerBook165c = 50,
+ gestaltMacCentris610 = 52,
+ gestaltMacQuadra610 = 53,
+ gestaltPowerBook145 = 54,
+ gestaltPowerMac8100_100 = 55,
+ gestaltMacLC520 = 56,
+ gestaltAWS9150_120 = 57,
+ gestaltPowerMac6400 = 58,
+ gestaltPerforma6400 = gestaltPowerMac6400,
+ gestaltPerforma6360 = gestaltPerforma6400,
+ gestaltMacCentris660AV = 60,
+ gestaltMacQuadra660AV = gestaltMacCentris660AV,
+ gestaltPerforma46x = 62,
+ gestaltPowerMac8100_80 = 65,
+ gestaltAWS8150_80 = gestaltPowerMac8100_80,
+ gestaltPowerMac9500 = 67,
+ gestaltPowerMac9600 = gestaltPowerMac9500,
+ gestaltPowerMac7500 = 68,
+ gestaltPowerMac7600 = gestaltPowerMac7500,
+ gestaltPowerMac8500 = 69,
+ gestaltPowerMac8600 = gestaltPowerMac8500,
+ gestaltAWS8550 = gestaltPowerMac7500,
+ gestaltPowerBook180c = 71,
+ gestaltPowerBook520 = 72,
+ gestaltPowerBook520c = gestaltPowerBook520,
+ gestaltPowerBook540 = gestaltPowerBook520,
+ gestaltPowerBook540c = gestaltPowerBook520,
+ gestaltPowerMac5400 = 74,
+ gestaltPowerMac6100_60 = 75,
+ gestaltAWS6150_60 = gestaltPowerMac6100_60,
+ gestaltPowerBookDuo270c = 77,
+ gestaltMacQuadra840AV = 78,
+ gestaltPerforma550 = 80,
+ gestaltPowerBook165 = 84,
+ gestaltPowerBook190 = 85,
+ gestaltMacTV = 88,
+ gestaltMacLC475 = 89,
+ gestaltPerforma47x = gestaltMacLC475,
+ gestaltMacLC575 = 92,
+ gestaltMacQuadra605 = 94,
+ gestaltMacQuadra630 = 98,
+ gestaltMacLC580 = 99,
+ gestaltPerforma580 = gestaltMacLC580,
+ gestaltPowerMac6100_66 = 100,
+ gestaltAWS6150_66 = gestaltPowerMac6100_66,
+ gestaltPowerBookDuo280 = 102,
+ gestaltPowerBookDuo280c = 103,
+ gestaltPowerMacLC475 = 104, /* Mac LC 475 & PPC Processor Upgrade Card*/
+ gestaltPowerMacPerforma47x = gestaltPowerMacLC475,
+ gestaltPowerMacLC575 = 105, /* Mac LC 575 & PPC Processor Upgrade Card */
+ gestaltPowerMacPerforma57x = gestaltPowerMacLC575,
+ gestaltPowerMacQuadra630 = 106, /* Quadra 630 & PPC Processor Upgrade Card*/
+ gestaltPowerMacLC630 = gestaltPowerMacQuadra630, /* Mac LC 630 & PPC Processor Upgrade Card*/
+ gestaltPowerMacPerforma63x = gestaltPowerMacQuadra630, /* Performa 63x & PPC Processor Upgrade Card*/
+ gestaltPowerMac7200 = 108,
+ gestaltPowerMac7300 = 109,
+ gestaltPowerMac7100_66 = 112,
+ gestaltPowerBook150 = 115,
+ gestaltPowerMacQuadra700 = 116, /* Quadra 700 & Power PC Upgrade Card*/
+ gestaltPowerMacQuadra900 = 117, /* Quadra 900 & Power PC Upgrade Card */
+ gestaltPowerMacQuadra950 = 118, /* Quadra 950 & Power PC Upgrade Card */
+ gestaltPowerMacCentris610 = 119, /* Centris 610 & Power PC Upgrade Card */
+ gestaltPowerMacCentris650 = 120, /* Centris 650 & Power PC Upgrade Card */
+ gestaltPowerMacQuadra610 = 121, /* Quadra 610 & Power PC Upgrade Card */
+ gestaltPowerMacQuadra650 = 122, /* Quadra 650 & Power PC Upgrade Card */
+ gestaltPowerMacQuadra800 = 123, /* Quadra 800 & Power PC Upgrade Card */
+ gestaltPowerBookDuo2300 = 124,
+ gestaltPowerBook500PPCUpgrade = 126,
+ gestaltPowerBook5300 = 128,
+ gestaltPowerBook1400 = 310,
+ gestaltPowerBook3400 = 306,
+ gestaltPowerBook2400 = 307,
+ gestaltPowerBookG3Series = 312,
+ gestaltPowerBookG3 = 313,
+ gestaltPowerBookG3Series2 = 314,
+ gestaltPowerMacNewWorld = 406, /* All NewWorld architecture Macs (iMac, blue G3, etc.)*/
+ gestaltPowerMacG3 = 510,
+ gestaltPowerMac5500 = 512,
+ gestalt20thAnniversary = gestaltPowerMac5500,
+ gestaltPowerMac6500 = 513,
+ gestaltPowerMac4400_160 = 514, /* slower machine has different machine ID*/
+ gestaltPowerMac4400 = 515,
+ gestaltMacOSCompatibility = 1206 /* Mac OS Compatibility on Mac OS X (Classic)*/
+};
+
+
+enum {
+ gestaltQuadra605 = gestaltMacQuadra605,
+ gestaltQuadra610 = gestaltMacQuadra610,
+ gestaltQuadra630 = gestaltMacQuadra630,
+ gestaltQuadra650 = gestaltMacQuadra650,
+ gestaltQuadra660AV = gestaltMacQuadra660AV,
+ gestaltQuadra700 = gestaltMacQuadra700,
+ gestaltQuadra800 = gestaltMacQuadra800,
+ gestaltQuadra840AV = gestaltMacQuadra840AV,
+ gestaltQuadra900 = gestaltMacQuadra900,
+ gestaltQuadra950 = gestaltMacQuadra950
+};
+
+enum {
+ kMachineNameStrID = -16395
+};
+
+enum {
+ gestaltSMPMailerVersion = FOUR_CHAR_CODE('malr') /* OCE StandardMail*/
+};
+
+enum {
+ gestaltMediaBay = FOUR_CHAR_CODE('mbeh'), /* media bay driver type */
+ gestaltMBLegacy = 0, /* media bay support in PCCard 2.0 */
+ gestaltMBSingleBay = 1, /* single bay media bay driver */
+ gestaltMBMultipleBays = 2 /* multi-bay media bay driver */
+};
+
+enum {
+ gestaltMessageMgrVersion = FOUR_CHAR_CODE('mess') /* GX Printing Message Manager Gestalt Selector */
+};
+
+
+/* Menu Manager Gestalt (Mac OS 8.5 and later)*/
+enum {
+ gestaltMenuMgrAttr = FOUR_CHAR_CODE('menu'), /* If this Gestalt exists, the Mac OS 8.5 Menu Manager is installed */
+ gestaltMenuMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of this nature */
+ /* are bit index values. 3.2 interfaces slipped out with this mistake unnoticed. */
+ /* Sincere apologies for any inconvenience.*/
+ gestaltMenuMgrPresentBit = 0, /* bit number */
+ gestaltMenuMgrAquaLayoutBit = 1, /* menus have the Aqua 1.0 layout*/
+ gestaltMenuMgrMultipleItemsWithCommandIDBit = 2, /* CountMenuItemsWithCommandID/GetIndMenuItemWithCommandID support multiple items with the same command ID*/
+ gestaltMenuMgrRetainsIconRefBit = 3, /* SetMenuItemIconHandle, when passed an IconRef, calls AcquireIconRef*/
+ gestaltMenuMgrSendsMenuBoundsToDefProcBit = 4, /* kMenuSizeMsg and kMenuPopUpMsg have menu bounding rect information*/
+ gestaltMenuMgrMoreThanFiveMenusDeepBit = 5, /* the Menu Manager supports hierarchical menus more than five deep*/
+ /* masks for the above bits*/
+ gestaltMenuMgrPresentMask = (1L << gestaltMenuMgrPresentBit),
+ gestaltMenuMgrAquaLayoutMask = (1L << gestaltMenuMgrAquaLayoutBit),
+ gestaltMenuMgrMultipleItemsWithCommandIDMask = (1L << gestaltMenuMgrMultipleItemsWithCommandIDBit),
+ gestaltMenuMgrRetainsIconRefMask = (1L << gestaltMenuMgrRetainsIconRefBit),
+ gestaltMenuMgrSendsMenuBoundsToDefProcMask = (1L << gestaltMenuMgrSendsMenuBoundsToDefProcBit),
+ gestaltMenuMgrMoreThanFiveMenusDeepMask = (1L << gestaltMenuMgrMoreThanFiveMenusDeepBit)
+};
+
+
+enum {
+ gestaltMultipleUsersState = FOUR_CHAR_CODE('mfdr') /* Gestalt selector returns MultiUserGestaltHandle (in Folders.h)*/
+};
+
+
+enum {
+ gestaltMachineIcon = FOUR_CHAR_CODE('micn') /* machine icon */
+};
+
+enum {
+ gestaltMiscAttr = FOUR_CHAR_CODE('misc'), /* miscellaneous attributes */
+ gestaltScrollingThrottle = 0, /* true if scrolling throttle on */
+ gestaltSquareMenuBar = 2 /* true if menu bar is square */
+};
+
+
+/*
+ The name gestaltMixedModeVersion for the 'mixd' selector is semantically incorrect.
+ The same selector has been renamed gestaltMixedModeAttr to properly reflect the
+ Inside Mac: PowerPC System Software documentation. The gestaltMixedModeVersion
+ symbol has been preserved only for backwards compatibility.
+
+ Developers are forewarned that gestaltMixedModeVersion has a limited lifespan and
+ will be removed in a future release of the Interfaces.
+
+ For the first version of Mixed Mode, both meanings of the 'mixd' selector are
+ functionally identical. They both return 0x00000001. In subsequent versions
+ of Mixed Mode, however, the 'mixd' selector will not respond with an increasing
+ version number, but rather, with 32 attribute bits with various meanings.
+*/
+enum {
+ gestaltMixedModeVersion = FOUR_CHAR_CODE('mixd') /* returns version of Mixed Mode */
+};
+
+enum {
+ gestaltMixedModeAttr = FOUR_CHAR_CODE('mixd'), /* returns Mixed Mode attributes */
+ gestaltMixedModePowerPC = 0, /* true if Mixed Mode supports PowerPC ABI calling conventions */
+ gestaltPowerPCAware = 0, /* old name for gestaltMixedModePowerPC */
+ gestaltMixedModeCFM68K = 1, /* true if Mixed Mode supports CFM-68K calling conventions */
+ gestaltMixedModeCFM68KHasTrap = 2, /* true if CFM-68K Mixed Mode implements _MixedModeDispatch (versions 1.0.1 and prior did not) */
+ gestaltMixedModeCFM68KHasState = 3 /* true if CFM-68K Mixed Mode exports Save/RestoreMixedModeState */
+};
+
+enum {
+ gestaltQuickTimeConferencing = FOUR_CHAR_CODE('mtlk') /* returns QuickTime Conferencing version */
+};
+
+enum {
+ gestaltMemoryMapAttr = FOUR_CHAR_CODE('mmap'), /* Memory map type */
+ gestaltMemoryMapSparse = 0 /* Sparse memory is on */
+};
+
+enum {
+ gestaltMMUType = FOUR_CHAR_CODE('mmu '), /* mmu type */
+ gestaltNoMMU = 0, /* no MMU */
+ gestaltAMU = 1, /* address management unit */
+ gestalt68851 = 2, /* 68851 PMMU */
+ gestalt68030MMU = 3, /* 68030 built-in MMU */
+ gestalt68040MMU = 4, /* 68040 built-in MMU */
+ gestaltEMMU1 = 5 /* Emulated MMU type 1 */
+};
+
+enum {
+ gestaltUserVisibleMachineName = FOUR_CHAR_CODE('mnam') /* Coerce response into a StringPtr to get a user visible machine name */
+};
+
+enum {
+ gestaltMPCallableAPIsAttr = FOUR_CHAR_CODE('mpsc'), /* Bitmap of toolbox/OS managers that can be called from MPLibrary MPTasks */
+ gestaltMPFileManager = 0, /* True if File Manager calls can be made from MPTasks */
+ gestaltMPDeviceManager = 1, /* True if synchronous Device Manager calls can be made from MPTasks */
+ gestaltMPTrapCalls = 2 /* True if most trap-based calls can be made from MPTasks */
+};
+
+enum {
+ gestaltStdNBPAttr = FOUR_CHAR_CODE('nlup'), /* standard nbp attributes */
+ gestaltStdNBPPresent = 0,
+ gestaltStdNBPSupportsAutoPosition = 1 /* StandardNBP takes (-1,-1) to mean alert position main screen */
+};
+
+enum {
+ gestaltNotificationMgrAttr = FOUR_CHAR_CODE('nmgr'), /* notification manager attributes */
+ gestaltNotificationPresent = 0 /* notification manager exists */
+};
+
+enum {
+ gestaltNameRegistryVersion = FOUR_CHAR_CODE('nreg') /* NameRegistryLib version number, for System 7.5.2+ usage */
+};
+
+enum {
+ gestaltNuBusSlotCount = FOUR_CHAR_CODE('nubs') /* count of logical NuBus slots present */
+};
+
+enum {
+ gestaltOCEToolboxVersion = FOUR_CHAR_CODE('ocet'), /* OCE Toolbox version */
+ gestaltOCETB = 0x0102, /* OCE Toolbox version 1.02 */
+ gestaltSFServer = 0x0100 /* S&F Server version 1.0 */
+};
+
+enum {
+ gestaltOCEToolboxAttr = FOUR_CHAR_CODE('oceu'), /* OCE Toolbox attributes */
+ gestaltOCETBPresent = 0x01, /* OCE toolbox is present, not running */
+ gestaltOCETBAvailable = 0x02, /* OCE toolbox is running and available */
+ gestaltOCESFServerAvailable = 0x04, /* S&F Server is running and available */
+ gestaltOCETBNativeGlueAvailable = 0x10 /* Native PowerPC Glue routines are availible */
+};
+
+enum {
+ gestaltOpenFirmwareInfo = FOUR_CHAR_CODE('opfw') /* Open Firmware info */
+};
+
+enum {
+ gestaltOSAttr = FOUR_CHAR_CODE('os '), /* o/s attributes */
+ gestaltSysZoneGrowable = 0, /* system heap is growable */
+ gestaltLaunchCanReturn = 1, /* can return from launch */
+ gestaltLaunchFullFileSpec = 2, /* can launch from full file spec */
+ gestaltLaunchControl = 3, /* launch control support available */
+ gestaltTempMemSupport = 4, /* temp memory support */
+ gestaltRealTempMemory = 5, /* temp memory handles are real */
+ gestaltTempMemTracked = 6, /* temporary memory handles are tracked */
+ gestaltIPCSupport = 7, /* IPC support is present */
+ gestaltSysDebuggerSupport = 8, /* system debugger support is present */
+ gestaltNativeProcessMgrBit = 19, /* the process manager itself is native */
+ gestaltAltivecRegistersSwappedCorrectlyBit = 20 /* Altivec registers are saved correctly on process switches */
+};
+
+enum {
+ gestaltOSTable = FOUR_CHAR_CODE('ostt') /* OS trap table base */
+};
+
+
+/*******************************************************************************
+* Gestalt Selectors for Open Transport Network Setup
+*
+* Note: possible values for the version "stage" byte are:
+* development = 0x20, alpha = 0x40, beta = 0x60, final & release = 0x80
+********************************************************************************/
+enum {
+ gestaltOpenTptNetworkSetup = FOUR_CHAR_CODE('otcf'),
+ gestaltOpenTptNetworkSetupLegacyImport = 0,
+ gestaltOpenTptNetworkSetupLegacyExport = 1,
+ gestaltOpenTptNetworkSetupSupportsMultihoming = 2
+};
+
+enum {
+ gestaltOpenTptNetworkSetupVersion = FOUR_CHAR_CODE('otcv')
+};
+
+/*******************************************************************************
+* Gestalt Selectors for Open Transport-based Remote Access/PPP
+*
+* Note: possible values for the version "stage" byte are:
+* development = 0x20, alpha = 0x40, beta = 0x60, final & release = 0x80
+********************************************************************************/
+enum {
+ gestaltOpenTptRemoteAccess = FOUR_CHAR_CODE('otra'),
+ gestaltOpenTptRemoteAccessPresent = 0,
+ gestaltOpenTptRemoteAccessLoaded = 1,
+ gestaltOpenTptRemoteAccessClientOnly = 2,
+ gestaltOpenTptRemoteAccessPServer = 3,
+ gestaltOpenTptRemoteAccessMPServer = 4,
+ gestaltOpenTptPPPPresent = 5,
+ gestaltOpenTptARAPPresent = 6
+};
+
+enum {
+ gestaltOpenTptRemoteAccessVersion = FOUR_CHAR_CODE('otrv')
+};
+
+
+/* ***** Open Transport Gestalt ******/
+
+
+enum {
+ gestaltOpenTptVersions = FOUR_CHAR_CODE('otvr') /* Defined by OT 1.1 and higher, response is NumVersion.*/
+};
+
+enum {
+ gestaltOpenTpt = FOUR_CHAR_CODE('otan'), /* Defined by all versions, response is defined below.*/
+ gestaltOpenTptPresentMask = 0x00000001,
+ gestaltOpenTptLoadedMask = 0x00000002,
+ gestaltOpenTptAppleTalkPresentMask = 0x00000004,
+ gestaltOpenTptAppleTalkLoadedMask = 0x00000008,
+ gestaltOpenTptTCPPresentMask = 0x00000010,
+ gestaltOpenTptTCPLoadedMask = 0x00000020,
+ gestaltOpenTptIPXSPXPresentMask = 0x00000040,
+ gestaltOpenTptIPXSPXLoadedMask = 0x00000080,
+ gestaltOpenTptPresentBit = 0,
+ gestaltOpenTptLoadedBit = 1,
+ gestaltOpenTptAppleTalkPresentBit = 2,
+ gestaltOpenTptAppleTalkLoadedBit = 3,
+ gestaltOpenTptTCPPresentBit = 4,
+ gestaltOpenTptTCPLoadedBit = 5,
+ gestaltOpenTptIPXSPXPresentBit = 6,
+ gestaltOpenTptIPXSPXLoadedBit = 7
+};
+
+
+enum {
+ gestaltPCCard = FOUR_CHAR_CODE('pccd'), /* PC Card attributes*/
+ gestaltCardServicesPresent = 0, /* PC Card 2.0 (68K) API is present*/
+ gestaltPCCardFamilyPresent = 1, /* PC Card 3.x (PowerPC) API is present*/
+ gestaltPCCardHasPowerControl = 2, /* PCCardSetPowerLevel is supported*/
+ gestaltPCCardSupportsCardBus = 3 /* CardBus is supported*/
+};
+
+enum {
+ gestaltProcClkSpeed = FOUR_CHAR_CODE('pclk') /* processor clock speed in hertz */
+};
+
+enum {
+ gestaltPCXAttr = FOUR_CHAR_CODE('pcxg'), /* PC Exchange attributes */
+ gestaltPCXHas8and16BitFAT = 0, /* PC Exchange supports both 8 and 16 bit FATs */
+ gestaltPCXHasProDOS = 1, /* PC Exchange supports ProDOS */
+ gestaltPCXNewUI = 2,
+ gestaltPCXUseICMapping = 3 /* PC Exchange uses InternetConfig for file mappings */
+};
+
+enum {
+ gestaltLogicalPageSize = FOUR_CHAR_CODE('pgsz') /* logical page size */
+};
+
+/* System 7.6 and later. If gestaltScreenCaptureMain is not implemented,
+ PictWhap proceeds with screen capture in the usual way.
+
+ The high word of gestaltScreenCaptureMain is reserved (use 0).
+
+ To disable screen capture to disk, put zero in the low word. To
+ specify a folder for captured pictures, put the vRefNum in the
+ low word of gestaltScreenCaptureMain, and put the directory ID in
+ gestaltScreenCaptureDir.
+*/
+enum {
+ gestaltScreenCaptureMain = FOUR_CHAR_CODE('pic1'), /* Zero, or vRefNum of disk to hold picture */
+ gestaltScreenCaptureDir = FOUR_CHAR_CODE('pic2') /* Directory ID of folder to hold picture */
+};
+
+enum {
+ gestaltGXPrintingMgrVersion = FOUR_CHAR_CODE('pmgr') /* QuickDraw GX Printing Manager Version*/
+};
+
+enum {
+ gestaltPopupAttr = FOUR_CHAR_CODE('pop!'), /* popup cdef attributes */
+ gestaltPopupPresent = 0
+};
+
+enum {
+ gestaltPowerMgrAttr = FOUR_CHAR_CODE('powr'), /* power manager attributes */
+ gestaltPMgrExists = 0,
+ gestaltPMgrCPUIdle = 1,
+ gestaltPMgrSCC = 2,
+ gestaltPMgrSound = 3,
+ gestaltPMgrDispatchExists = 4,
+ gestaltPMgrSupportsAVPowerStateAtSleepWake = 5
+};
+
+enum {
+ gestaltPowerMgrVers = FOUR_CHAR_CODE('pwrv') /* power manager version */
+};
+
+/*
+ * PPC will return the combination of following bit fields.
+ * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
+ * indicates PPC is cuurently is only supports real time delivery
+ * and both incoming and outgoing network sessions are allowed.
+ * By default local real time delivery is supported as long as PPCInit has been called.*/
+enum {
+ gestaltPPCToolboxAttr = FOUR_CHAR_CODE('ppc '), /* PPC toolbox attributes */
+ gestaltPPCToolboxPresent = 0x0000, /* PPC Toolbox is present Requires PPCInit to be called */
+ gestaltPPCSupportsRealTime = 0x1000, /* PPC Supports real-time delivery */
+ gestaltPPCSupportsIncoming = 0x0001, /* PPC will allow incoming network requests */
+ gestaltPPCSupportsOutGoing = 0x0002, /* PPC will allow outgoing network requests */
+ gestaltPPCSupportsTCP_IP = 0x0004, /* PPC supports TCP/IP transport */
+ gestaltPPCSupportsIncomingAppleTalk = 0x0010,
+ gestaltPPCSupportsIncomingTCP_IP = 0x0020,
+ gestaltPPCSupportsOutgoingAppleTalk = 0x0100,
+ gestaltPPCSupportsOutgoingTCP_IP = 0x0200
+};
+
+enum {
+ gestaltPowerPCProcessorFeatures = FOUR_CHAR_CODE('ppcf'), /* Optional PowerPC processor features */
+ gestaltPowerPCHasGraphicsInstructions = 0, /* has fres, frsqrte, and fsel instructions */
+ gestaltPowerPCHasSTFIWXInstruction = 1, /* has stfiwx instruction */
+ gestaltPowerPCHasSquareRootInstructions = 2, /* has fsqrt and fsqrts instructions */
+ gestaltPowerPCHasDCBAInstruction = 3, /* has dcba instruction */
+ gestaltPowerPCHasVectorInstructions = 4, /* has vector instructions */
+ gestaltPowerPCHasDataStreams = 5 /* has dst, dstt, dstst, dss, and dssall instructions */
+};
+
+enum {
+ gestaltProcessorType = FOUR_CHAR_CODE('proc'), /* processor type */
+ gestalt68000 = 1,
+ gestalt68010 = 2,
+ gestalt68020 = 3,
+ gestalt68030 = 4,
+ gestalt68040 = 5
+};
+
+enum {
+ gestaltSDPPromptVersion = FOUR_CHAR_CODE('prpv') /* OCE Standard Directory Panel*/
+};
+
+enum {
+ gestaltParityAttr = FOUR_CHAR_CODE('prty'), /* parity attributes */
+ gestaltHasParityCapability = 0, /* has ability to check parity */
+ gestaltParityEnabled = 1 /* parity checking enabled */
+};
+
+enum {
+ gestaltQD3DVersion = FOUR_CHAR_CODE('q3v ') /* Quickdraw 3D version in pack BCD*/
+};
+
+enum {
+ gestaltQD3DViewer = FOUR_CHAR_CODE('q3vc'), /* Quickdraw 3D viewer attributes*/
+ gestaltQD3DViewerPresent = 0 /* bit 0 set if QD3D Viewer is available*/
+};
#if OLDROUTINENAMES
- enum
- {
- gestaltQD3DViewerNotPresent = (0 << gestaltQD3DViewerPresent),
- gestaltQD3DViewerAvailable = (1 << gestaltQD3DViewerPresent)
- };
+enum {
+ gestaltQD3DViewerNotPresent = (0 << gestaltQD3DViewerPresent),
+ gestaltQD3DViewerAvailable = (1 << gestaltQD3DViewerPresent)
+};
#endif /* OLDROUTINENAMES */
- enum
- {
- gestaltQuickdrawVersion = FOUR_CHAR_CODE('qd '), /* quickdraw version */
- gestaltOriginalQD = 0x0000, /* original 1-bit QD */
- gestalt8BitQD = 0x0100, /* 8-bit color QD */
- gestalt32BitQD = 0x0200, /* 32-bit color QD */
- gestalt32BitQD11 = 0x0201, /* 32-bit color QDv1.1 */
- gestalt32BitQD12 = 0x0220, /* 32-bit color QDv1.2 */
- gestalt32BitQD13 = 0x0230, /* 32-bit color QDv1.3 */
- gestaltAllegroQD = 0x0250, /* Allegro QD OS 8.5 */
- gestaltMacOSXQD = 0x0300 /* 0x310, 0x320 etc. for 10.x.y */
- };
-
- enum
- {
- gestaltQD3D = FOUR_CHAR_CODE('qd3d'), /* Quickdraw 3D attributes*/
- gestaltQD3DPresent = 0 /* bit 0 set if QD3D available*/
- };
+enum {
+ gestaltQuickdrawVersion = FOUR_CHAR_CODE('qd '), /* quickdraw version */
+ gestaltOriginalQD = 0x0000, /* original 1-bit QD */
+ gestalt8BitQD = 0x0100, /* 8-bit color QD */
+ gestalt32BitQD = 0x0200, /* 32-bit color QD */
+ gestalt32BitQD11 = 0x0201, /* 32-bit color QDv1.1 */
+ gestalt32BitQD12 = 0x0220, /* 32-bit color QDv1.2 */
+ gestalt32BitQD13 = 0x0230, /* 32-bit color QDv1.3 */
+ gestaltAllegroQD = 0x0250, /* Allegro QD OS 8.5 */
+ gestaltMacOSXQD = 0x0300 /* 0x310, 0x320 etc. for 10.x.y */
+};
+
+enum {
+ gestaltQD3D = FOUR_CHAR_CODE('qd3d'), /* Quickdraw 3D attributes*/
+ gestaltQD3DPresent = 0 /* bit 0 set if QD3D available*/
+};
#if OLDROUTINENAMES
- enum
- {
- gestaltQD3DNotPresent = (0 << gestaltQD3DPresent),
- gestaltQD3DAvailable = (1 << gestaltQD3DPresent)
- };
+enum {
+ gestaltQD3DNotPresent = (0 << gestaltQD3DPresent),
+ gestaltQD3DAvailable = (1 << gestaltQD3DPresent)
+};
#endif /* OLDROUTINENAMES */
- enum
- {
- gestaltGXVersion = FOUR_CHAR_CODE('qdgx') /* Overall QuickDraw GX Version*/
- };
-
- enum
- {
- gestaltQuickdrawFeatures = FOUR_CHAR_CODE('qdrw'), /* quickdraw features */
- gestaltHasColor = 0, /* color quickdraw present */
- gestaltHasDeepGWorlds = 1, /* GWorlds can be deeper than 1-bit */
- gestaltHasDirectPixMaps = 2, /* PixMaps can be direct (16 or 32 bit) */
- gestaltHasGrayishTextOr = 3, /* supports text mode grayishTextOr */
- gestaltSupportsMirroring = 4, /* Supports video mirroring via the Display Manager. */
- gestaltQDHasLongRowBytes = 5 /* Long rowBytes supported in GWorlds */
- };
-
- enum
- {
- gestaltQDTextVersion = FOUR_CHAR_CODE('qdtx'), /* QuickdrawText version */
- gestaltOriginalQDText = 0x0000, /* up to and including 8.1 */
- gestaltAllegroQDText = 0x0100, /* starting with 8.5 */
- gestaltMacOSXQDText = 0x0200 /* we are in Mac OS X */
- };
-
- enum
- {
- gestaltQDTextFeatures = FOUR_CHAR_CODE('qdtf'), /* QuickdrawText features */
- gestaltWSIISupport = 0, /* bit 0: WSII support included */
- gestaltSbitFontSupport = 1, /* sbit-only fonts supported */
- gestaltAntiAliasedTextAvailable = 2, /* capable of antialiased text */
- gestaltOFA2available = 3, /* OFA2 available */
- gestaltCreatesAliasFontRsrc = 4, /* "real" datafork font support */
- gestaltNativeType1FontSupport = 5, /* we have scaler for Type1 fonts */
- gestaltCanUseCGTextRendering = 6
- };
-
-
- enum
- {
- gestaltQuickTimeConferencingInfo = FOUR_CHAR_CODE('qtci') /* returns pointer to QuickTime Conferencing information */
- };
-
- enum
- {
- gestaltQuickTimeVersion = FOUR_CHAR_CODE('qtim'), /* returns version of QuickTime */
- gestaltQuickTime = FOUR_CHAR_CODE('qtim') /* gestaltQuickTime is old name for gestaltQuickTimeVersion */
- };
-
- enum
- {
- gestaltQuickTimeFeatures = FOUR_CHAR_CODE('qtrs'),
- gestaltPPCQuickTimeLibPresent = 0 /* PowerPC QuickTime glue library is present */
- };
-
- enum
- {
- gestaltQuickTimeStreamingFeatures = FOUR_CHAR_CODE('qtsf')
- };
-
- enum
- {
- gestaltQuickTimeStreamingVersion = FOUR_CHAR_CODE('qtst')
- };
-
- enum
- {
- gestaltQTVRMgrAttr = FOUR_CHAR_CODE('qtvr'), /* QuickTime VR attributes */
- gestaltQTVRMgrPresent = 0, /* QTVR API is present */
- gestaltQTVRObjMoviesPresent = 1, /* QTVR runtime knows about object movies */
- gestaltQTVRCylinderPanosPresent = 2, /* QTVR runtime knows about cylindrical panoramic movies */
- gestaltQTVRCubicPanosPresent = 3 /* QTVR runtime knows about cubic panoramic movies */
- };
-
- enum
- {
- gestaltQTVRMgrVers = FOUR_CHAR_CODE('qtvv') /* QuickTime VR version */
- };
-
- enum
- {
- gestaltPhysicalRAMSize = FOUR_CHAR_CODE('ram ') /* physical RAM size */
- };
-
- enum
- {
- gestaltRBVAddr = FOUR_CHAR_CODE('rbv ') /* RBV base address */
- };
-
- enum
- {
- gestaltROMSize = FOUR_CHAR_CODE('rom ') /* rom size */
- };
-
- enum
- {
- gestaltROMVersion = FOUR_CHAR_CODE('romv') /* rom version */
- };
-
- enum
- {
- gestaltResourceMgrAttr = FOUR_CHAR_CODE('rsrc'), /* Resource Mgr attributes */
- gestaltPartialRsrcs = 0, /* True if partial resources exist */
- gestaltHasResourceOverrides = 1 /* Appears in the ROM; so put it here. */
- };
-
- enum
- {
- gestaltResourceMgrBugFixesAttrs = FOUR_CHAR_CODE('rmbg'), /* Resource Mgr bug fixes */
- gestaltRMForceSysHeapRolledIn = 0,
- gestaltRMFakeAppleMenuItemsRolledIn = 1,
- gestaltSanityCheckResourceFiles = 2, /* Resource manager does sanity checking on resource files before opening them */
- gestaltSupportsFSpResourceFileAlreadyOpenBit = 3, /* The resource manager supports GetResFileRefNum and FSpGetResFileRefNum and FSpResourceFileAlreadyOpen */
- gestaltRMSupportsFSCalls = 4, /* The resource manager supports OpenResFileFSRef, CreateResFileFSRef and ResourceFileAlreadyOpenFSRef */
- gestaltRMTypeIndexOrderingReverse = 8 /* GetIndType() calls return resource types in opposite order to original 68k resource manager */
- };
-
-
- enum
- {
- gestaltRealtimeMgrAttr = FOUR_CHAR_CODE('rtmr'), /* Realtime manager attributes */
- gestaltRealtimeMgrPresent = 0 /* true if the Realtime manager is present */
- };
-
-
- enum
- {
- gestaltSafeOFAttr = FOUR_CHAR_CODE('safe'),
- gestaltVMZerosPagesBit = 0,
- gestaltInitHeapZerosOutHeapsBit = 1,
- gestaltNewHandleReturnsZeroedMemoryBit = 2,
- gestaltNewPtrReturnsZeroedMemoryBit = 3,
- gestaltFileAllocationZeroedBlocksBit = 4
- };
-
-
- enum
- {
- gestaltSCCReadAddr = FOUR_CHAR_CODE('sccr') /* scc read base address */
- };
-
- enum
- {
- gestaltSCCWriteAddr = FOUR_CHAR_CODE('sccw') /* scc read base address */
- };
-
- enum
- {
- gestaltScrapMgrAttr = FOUR_CHAR_CODE('scra'), /* Scrap Manager attributes */
- gestaltScrapMgrTranslationAware = 0 /* True if scrap manager is translation aware */
- };
-
- enum
- {
- gestaltScriptMgrVersion = FOUR_CHAR_CODE('scri') /* Script Manager version number */
- };
-
- enum
- {
- gestaltScriptCount = FOUR_CHAR_CODE('scr#') /* number of active script systems */
- };
-
- enum
- {
- gestaltSCSI = FOUR_CHAR_CODE('scsi'), /* SCSI Manager attributes */
- gestaltAsyncSCSI = 0, /* Supports Asynchronous SCSI */
- gestaltAsyncSCSIINROM = 1, /* Async scsi is in ROM (available for booting) */
- gestaltSCSISlotBoot = 2, /* ROM supports Slot-style PRAM for SCSI boots (PDM and later) */
- gestaltSCSIPollSIH = 3 /* SCSI Manager will poll for interrupts if Secondary Interrupts are busy. */
- };
-
- enum
- {
- gestaltControlStripAttr = FOUR_CHAR_CODE('sdev'), /* Control Strip attributes */
- gestaltControlStripExists = 0, /* Control Strip is installed */
- gestaltControlStripVersionFixed = 1, /* Control Strip version Gestalt selector was fixed */
- gestaltControlStripUserFont = 2, /* supports user-selectable font/size */
- gestaltControlStripUserHotKey = 3 /* support user-selectable hot key to show/hide the window */
- };
-
- enum
- {
- gestaltSDPStandardDirectoryVersion = FOUR_CHAR_CODE('sdvr') /* OCE Standard Directory Panel*/
- };
-
- enum
- {
- gestaltSerialAttr = FOUR_CHAR_CODE('ser '), /* Serial attributes */
- gestaltHasGPIaToDCDa = 0, /* GPIa connected to DCDa*/
- gestaltHasGPIaToRTxCa = 1, /* GPIa connected to RTxCa clock input*/
- gestaltHasGPIbToDCDb = 2, /* GPIb connected to DCDb */
- gestaltHidePortA = 3, /* Modem port (A) should be hidden from users */
- gestaltHidePortB = 4, /* Printer port (B) should be hidden from users */
- gestaltPortADisabled = 5, /* Modem port (A) disabled and should not be used by SW */
- gestaltPortBDisabled = 6 /* Printer port (B) disabled and should not be used by SW */
- };
-
- enum
- {
- gestaltShutdownAttributes = FOUR_CHAR_CODE('shut'), /* ShutDown Manager Attributes */
- gestaltShutdownHassdOnBootVolUnmount = 0 /* True if ShutDown Manager unmounts boot & VM volume at shutdown time. */
- };
-
- enum
- {
- gestaltNuBusConnectors = FOUR_CHAR_CODE('sltc') /* bitmap of NuBus connectors*/
- };
-
- enum
- {
- gestaltSlotAttr = FOUR_CHAR_CODE('slot'), /* slot attributes */
- gestaltSlotMgrExists = 0, /* true is slot mgr exists */
- gestaltNuBusPresent = 1, /* NuBus slots are present */
- gestaltSESlotPresent = 2, /* SE PDS slot present */
- gestaltSE30SlotPresent = 3, /* SE/30 slot present */
- gestaltPortableSlotPresent = 4 /* Portable's slot present */
- };
-
- enum
- {
- gestaltFirstSlotNumber = FOUR_CHAR_CODE('slt1') /* returns first physical slot */
- };
-
- enum
- {
- gestaltSoundAttr = FOUR_CHAR_CODE('snd '), /* sound attributes */
- gestaltStereoCapability = 0, /* sound hardware has stereo capability */
- gestaltStereoMixing = 1, /* stereo mixing on external speaker */
- gestaltSoundIOMgrPresent = 3, /* The Sound I/O Manager is present */
- gestaltBuiltInSoundInput = 4, /* built-in Sound Input hardware is present */
- gestaltHasSoundInputDevice = 5, /* Sound Input device available */
- gestaltPlayAndRecord = 6, /* built-in hardware can play and record simultaneously */
- gestalt16BitSoundIO = 7, /* sound hardware can play and record 16-bit samples */
- gestaltStereoInput = 8, /* sound hardware can record stereo */
- gestaltLineLevelInput = 9, /* sound input port requires line level */
- /* the following bits are not defined prior to Sound Mgr 3.0 */
- gestaltSndPlayDoubleBuffer = 10, /* SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later */
- gestaltMultiChannels = 11, /* multiple channel support, set by Sound Mgr 3.0 and later */
- gestalt16BitAudioSupport = 12 /* 16 bit audio data supported, set by Sound Mgr 3.0 and later */
- };
-
- enum
- {
- gestaltSplitOSAttr = FOUR_CHAR_CODE('spos'),
- gestaltSplitOSBootDriveIsNetworkVolume = 0, /* the boot disk is a network 'disk', from the .LANDisk drive. */
- gestaltSplitOSAware = 1, /* the system includes the code to deal with a split os situation. */
- gestaltSplitOSEnablerVolumeIsDifferentFromBootVolume = 2, /* the active enabler is on a different volume than the system file. */
- gestaltSplitOSMachineNameSetToNetworkNameTemp = 3, /* The machine name was set to the value given us from the BootP server */
- gestaltSplitOSMachineNameStartupDiskIsNonPersistent = 5 /* The startup disk ( vRefNum == -1 ) is non-persistent, meaning changes won't persist across a restart. */
- };
-
- enum
- {
- gestaltSMPSPSendLetterVersion = FOUR_CHAR_CODE('spsl') /* OCE StandardMail*/
- };
-
- enum
- {
- gestaltSpeechRecognitionAttr = FOUR_CHAR_CODE('srta'), /* speech recognition attributes */
- gestaltDesktopSpeechRecognition = 1, /* recognition thru the desktop microphone is available */
- gestaltTelephoneSpeechRecognition = 2 /* recognition thru the telephone is available */
- };
-
- enum
- {
- gestaltSpeechRecognitionVersion = FOUR_CHAR_CODE('srtb') /* speech recognition version (0x0150 is the first version that fully supports the API) */
- };
-
- enum
- {
- gestaltSoftwareVendorCode = FOUR_CHAR_CODE('srad'), /* Returns system software vendor information */
- gestaltSoftwareVendorApple = FOUR_CHAR_CODE('Appl'), /* System software sold by Apple */
- gestaltSoftwareVendorLicensee = FOUR_CHAR_CODE('Lcns') /* System software sold by licensee */
- };
-
- enum
- {
- gestaltStandardFileAttr = FOUR_CHAR_CODE('stdf'), /* Standard File attributes */
- gestaltStandardFile58 = 0, /* True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported */
- gestaltStandardFileTranslationAware = 1, /* True if standard file is translation manager aware */
- gestaltStandardFileHasColorIcons = 2, /* True if standard file has 16x16 color icons */
- gestaltStandardFileUseGenericIcons = 3, /* Standard file LDEF to use only the system generic icons if true */
- gestaltStandardFileHasDynamicVolumeAllocation = 4 /* True if standard file supports more than 20 volumes */
- };
-
- enum
- {
- gestaltSysArchitecture = FOUR_CHAR_CODE('sysa'), /* Native System Architecture */
- gestalt68k = 1, /* Motorola MC68k architecture */
- gestaltPowerPC = 2 /* IBM PowerPC architecture */
- };
-
- enum
- {
- gestaltSystemVersion = FOUR_CHAR_CODE('sysv') /* system version*/
- };
+enum {
+ gestaltGXVersion = FOUR_CHAR_CODE('qdgx') /* Overall QuickDraw GX Version*/
+};
+
+enum {
+ gestaltQuickdrawFeatures = FOUR_CHAR_CODE('qdrw'), /* quickdraw features */
+ gestaltHasColor = 0, /* color quickdraw present */
+ gestaltHasDeepGWorlds = 1, /* GWorlds can be deeper than 1-bit */
+ gestaltHasDirectPixMaps = 2, /* PixMaps can be direct (16 or 32 bit) */
+ gestaltHasGrayishTextOr = 3, /* supports text mode grayishTextOr */
+ gestaltSupportsMirroring = 4, /* Supports video mirroring via the Display Manager. */
+ gestaltQDHasLongRowBytes = 5 /* Long rowBytes supported in GWorlds */
+};
+
+enum {
+ gestaltQDTextVersion = FOUR_CHAR_CODE('qdtx'), /* QuickdrawText version */
+ gestaltOriginalQDText = 0x0000, /* up to and including 8.1 */
+ gestaltAllegroQDText = 0x0100, /* starting with 8.5 */
+ gestaltMacOSXQDText = 0x0200 /* we are in Mac OS X */
+};
+
+enum {
+ gestaltQDTextFeatures = FOUR_CHAR_CODE('qdtf'), /* QuickdrawText features */
+ gestaltWSIISupport = 0, /* bit 0: WSII support included */
+ gestaltSbitFontSupport = 1, /* sbit-only fonts supported */
+ gestaltAntiAliasedTextAvailable = 2, /* capable of antialiased text */
+ gestaltOFA2available = 3, /* OFA2 available */
+ gestaltCreatesAliasFontRsrc = 4, /* "real" datafork font support */
+ gestaltNativeType1FontSupport = 5, /* we have scaler for Type1 fonts */
+ gestaltCanUseCGTextRendering = 6
+};
+
+
+enum {
+ gestaltQuickTimeConferencingInfo = FOUR_CHAR_CODE('qtci') /* returns pointer to QuickTime Conferencing information */
+};
+
+enum {
+ gestaltQuickTimeVersion = FOUR_CHAR_CODE('qtim'), /* returns version of QuickTime */
+ gestaltQuickTime = FOUR_CHAR_CODE('qtim') /* gestaltQuickTime is old name for gestaltQuickTimeVersion */
+};
+
+enum {
+ gestaltQuickTimeFeatures = FOUR_CHAR_CODE('qtrs'),
+ gestaltPPCQuickTimeLibPresent = 0 /* PowerPC QuickTime glue library is present */
+};
+
+enum {
+ gestaltQuickTimeStreamingFeatures = FOUR_CHAR_CODE('qtsf')
+};
+
+enum {
+ gestaltQuickTimeStreamingVersion = FOUR_CHAR_CODE('qtst')
+};
+
+enum {
+ gestaltQTVRMgrAttr = FOUR_CHAR_CODE('qtvr'), /* QuickTime VR attributes */
+ gestaltQTVRMgrPresent = 0, /* QTVR API is present */
+ gestaltQTVRObjMoviesPresent = 1, /* QTVR runtime knows about object movies */
+ gestaltQTVRCylinderPanosPresent = 2, /* QTVR runtime knows about cylindrical panoramic movies */
+ gestaltQTVRCubicPanosPresent = 3 /* QTVR runtime knows about cubic panoramic movies */
+};
+
+enum {
+ gestaltQTVRMgrVers = FOUR_CHAR_CODE('qtvv') /* QuickTime VR version */
+};
+
+enum {
+ gestaltPhysicalRAMSize = FOUR_CHAR_CODE('ram ') /* physical RAM size */
+};
+
+enum {
+ gestaltRBVAddr = FOUR_CHAR_CODE('rbv ') /* RBV base address */
+};
+
+enum {
+ gestaltROMSize = FOUR_CHAR_CODE('rom ') /* rom size */
+};
+
+enum {
+ gestaltROMVersion = FOUR_CHAR_CODE('romv') /* rom version */
+};
+
+enum {
+ gestaltResourceMgrAttr = FOUR_CHAR_CODE('rsrc'), /* Resource Mgr attributes */
+ gestaltPartialRsrcs = 0, /* True if partial resources exist */
+ gestaltHasResourceOverrides = 1 /* Appears in the ROM; so put it here. */
+};
+
+enum {
+ gestaltResourceMgrBugFixesAttrs = FOUR_CHAR_CODE('rmbg'), /* Resource Mgr bug fixes */
+ gestaltRMForceSysHeapRolledIn = 0,
+ gestaltRMFakeAppleMenuItemsRolledIn = 1,
+ gestaltSanityCheckResourceFiles = 2, /* Resource manager does sanity checking on resource files before opening them */
+ gestaltSupportsFSpResourceFileAlreadyOpenBit = 3, /* The resource manager supports GetResFileRefNum and FSpGetResFileRefNum and FSpResourceFileAlreadyOpen */
+ gestaltRMSupportsFSCalls = 4, /* The resource manager supports OpenResFileFSRef, CreateResFileFSRef and ResourceFileAlreadyOpenFSRef */
+ gestaltRMTypeIndexOrderingReverse = 8 /* GetIndType() calls return resource types in opposite order to original 68k resource manager */
+};
+
+
+enum {
+ gestaltRealtimeMgrAttr = FOUR_CHAR_CODE('rtmr'), /* Realtime manager attributes */
+ gestaltRealtimeMgrPresent = 0 /* true if the Realtime manager is present */
+};
+
+
+enum {
+ gestaltSafeOFAttr = FOUR_CHAR_CODE('safe'),
+ gestaltVMZerosPagesBit = 0,
+ gestaltInitHeapZerosOutHeapsBit = 1,
+ gestaltNewHandleReturnsZeroedMemoryBit = 2,
+ gestaltNewPtrReturnsZeroedMemoryBit = 3,
+ gestaltFileAllocationZeroedBlocksBit = 4
+};
+
+
+enum {
+ gestaltSCCReadAddr = FOUR_CHAR_CODE('sccr') /* scc read base address */
+};
+
+enum {
+ gestaltSCCWriteAddr = FOUR_CHAR_CODE('sccw') /* scc read base address */
+};
+
+enum {
+ gestaltScrapMgrAttr = FOUR_CHAR_CODE('scra'), /* Scrap Manager attributes */
+ gestaltScrapMgrTranslationAware = 0 /* True if scrap manager is translation aware */
+};
+
+enum {
+ gestaltScriptMgrVersion = FOUR_CHAR_CODE('scri') /* Script Manager version number */
+};
+
+enum {
+ gestaltScriptCount = FOUR_CHAR_CODE('scr#') /* number of active script systems */
+};
+
+enum {
+ gestaltSCSI = FOUR_CHAR_CODE('scsi'), /* SCSI Manager attributes */
+ gestaltAsyncSCSI = 0, /* Supports Asynchronous SCSI */
+ gestaltAsyncSCSIINROM = 1, /* Async scsi is in ROM (available for booting) */
+ gestaltSCSISlotBoot = 2, /* ROM supports Slot-style PRAM for SCSI boots (PDM and later) */
+ gestaltSCSIPollSIH = 3 /* SCSI Manager will poll for interrupts if Secondary Interrupts are busy. */
+};
+
+enum {
+ gestaltControlStripAttr = FOUR_CHAR_CODE('sdev'), /* Control Strip attributes */
+ gestaltControlStripExists = 0, /* Control Strip is installed */
+ gestaltControlStripVersionFixed = 1, /* Control Strip version Gestalt selector was fixed */
+ gestaltControlStripUserFont = 2, /* supports user-selectable font/size */
+ gestaltControlStripUserHotKey = 3 /* support user-selectable hot key to show/hide the window */
+};
+
+enum {
+ gestaltSDPStandardDirectoryVersion = FOUR_CHAR_CODE('sdvr') /* OCE Standard Directory Panel*/
+};
+
+enum {
+ gestaltSerialAttr = FOUR_CHAR_CODE('ser '), /* Serial attributes */
+ gestaltHasGPIaToDCDa = 0, /* GPIa connected to DCDa*/
+ gestaltHasGPIaToRTxCa = 1, /* GPIa connected to RTxCa clock input*/
+ gestaltHasGPIbToDCDb = 2, /* GPIb connected to DCDb */
+ gestaltHidePortA = 3, /* Modem port (A) should be hidden from users */
+ gestaltHidePortB = 4, /* Printer port (B) should be hidden from users */
+ gestaltPortADisabled = 5, /* Modem port (A) disabled and should not be used by SW */
+ gestaltPortBDisabled = 6 /* Printer port (B) disabled and should not be used by SW */
+};
+
+enum {
+ gestaltShutdownAttributes = FOUR_CHAR_CODE('shut'), /* ShutDown Manager Attributes */
+ gestaltShutdownHassdOnBootVolUnmount = 0 /* True if ShutDown Manager unmounts boot & VM volume at shutdown time. */
+};
+
+enum {
+ gestaltNuBusConnectors = FOUR_CHAR_CODE('sltc') /* bitmap of NuBus connectors*/
+};
+
+enum {
+ gestaltSlotAttr = FOUR_CHAR_CODE('slot'), /* slot attributes */
+ gestaltSlotMgrExists = 0, /* true is slot mgr exists */
+ gestaltNuBusPresent = 1, /* NuBus slots are present */
+ gestaltSESlotPresent = 2, /* SE PDS slot present */
+ gestaltSE30SlotPresent = 3, /* SE/30 slot present */
+ gestaltPortableSlotPresent = 4 /* Portable's slot present */
+};
+
+enum {
+ gestaltFirstSlotNumber = FOUR_CHAR_CODE('slt1') /* returns first physical slot */
+};
+
+enum {
+ gestaltSoundAttr = FOUR_CHAR_CODE('snd '), /* sound attributes */
+ gestaltStereoCapability = 0, /* sound hardware has stereo capability */
+ gestaltStereoMixing = 1, /* stereo mixing on external speaker */
+ gestaltSoundIOMgrPresent = 3, /* The Sound I/O Manager is present */
+ gestaltBuiltInSoundInput = 4, /* built-in Sound Input hardware is present */
+ gestaltHasSoundInputDevice = 5, /* Sound Input device available */
+ gestaltPlayAndRecord = 6, /* built-in hardware can play and record simultaneously */
+ gestalt16BitSoundIO = 7, /* sound hardware can play and record 16-bit samples */
+ gestaltStereoInput = 8, /* sound hardware can record stereo */
+ gestaltLineLevelInput = 9, /* sound input port requires line level */
+ /* the following bits are not defined prior to Sound Mgr 3.0 */
+ gestaltSndPlayDoubleBuffer = 10, /* SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later */
+ gestaltMultiChannels = 11, /* multiple channel support, set by Sound Mgr 3.0 and later */
+ gestalt16BitAudioSupport = 12 /* 16 bit audio data supported, set by Sound Mgr 3.0 and later */
+};
+
+enum {
+ gestaltSplitOSAttr = FOUR_CHAR_CODE('spos'),
+ gestaltSplitOSBootDriveIsNetworkVolume = 0, /* the boot disk is a network 'disk', from the .LANDisk drive. */
+ gestaltSplitOSAware = 1, /* the system includes the code to deal with a split os situation. */
+ gestaltSplitOSEnablerVolumeIsDifferentFromBootVolume = 2, /* the active enabler is on a different volume than the system file. */
+ gestaltSplitOSMachineNameSetToNetworkNameTemp = 3, /* The machine name was set to the value given us from the BootP server */
+ gestaltSplitOSMachineNameStartupDiskIsNonPersistent = 5 /* The startup disk ( vRefNum == -1 ) is non-persistent, meaning changes won't persist across a restart. */
+};
+
+enum {
+ gestaltSMPSPSendLetterVersion = FOUR_CHAR_CODE('spsl') /* OCE StandardMail*/
+};
+
+enum {
+ gestaltSpeechRecognitionAttr = FOUR_CHAR_CODE('srta'), /* speech recognition attributes */
+ gestaltDesktopSpeechRecognition = 1, /* recognition thru the desktop microphone is available */
+ gestaltTelephoneSpeechRecognition = 2 /* recognition thru the telephone is available */
+};
+
+enum {
+ gestaltSpeechRecognitionVersion = FOUR_CHAR_CODE('srtb') /* speech recognition version (0x0150 is the first version that fully supports the API) */
+};
+
+enum {
+ gestaltSoftwareVendorCode = FOUR_CHAR_CODE('srad'), /* Returns system software vendor information */
+ gestaltSoftwareVendorApple = FOUR_CHAR_CODE('Appl'), /* System software sold by Apple */
+ gestaltSoftwareVendorLicensee = FOUR_CHAR_CODE('Lcns') /* System software sold by licensee */
+};
+
+enum {
+ gestaltStandardFileAttr = FOUR_CHAR_CODE('stdf'), /* Standard File attributes */
+ gestaltStandardFile58 = 0, /* True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported */
+ gestaltStandardFileTranslationAware = 1, /* True if standard file is translation manager aware */
+ gestaltStandardFileHasColorIcons = 2, /* True if standard file has 16x16 color icons */
+ gestaltStandardFileUseGenericIcons = 3, /* Standard file LDEF to use only the system generic icons if true */
+ gestaltStandardFileHasDynamicVolumeAllocation = 4 /* True if standard file supports more than 20 volumes */
+};
+
+enum {
+ gestaltSysArchitecture = FOUR_CHAR_CODE('sysa'), /* Native System Architecture */
+ gestalt68k = 1, /* Motorola MC68k architecture */
+ gestaltPowerPC = 2 /* IBM PowerPC architecture */
+};
+
+enum {
+ gestaltSystemVersion = FOUR_CHAR_CODE('sysv') /* system version*/
+};
#if TARGET_OS_WIN32
- enum
- {
- gestaltWinOSVersion = FOUR_CHAR_CODE('winv') /* Windows system version*/
- };
+enum {
+ gestaltWinOSVersion = FOUR_CHAR_CODE('winv') /* Windows system version*/
+};
#endif /* TARGET_OS_WIN32 */
- enum
- {
- gestaltToolboxTable = FOUR_CHAR_CODE('tbtt') /* OS trap table base */
- };
-
- enum
- {
- gestaltTextEditVersion = FOUR_CHAR_CODE('te '), /* TextEdit version number */
- gestaltTE1 = 1, /* TextEdit in MacIIci ROM */
- gestaltTE2 = 2, /* TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) */
- gestaltTE3 = 3, /* TextEdit with 6.0.4 Script Systems all but MacIIci */
- gestaltTE4 = 4, /* TextEdit in System 7.0 */
- gestaltTE5 = 5 /* TextWidthHook available in TextEdit */
- };
-
- enum
- {
- gestaltTEAttr = FOUR_CHAR_CODE('teat'), /* TextEdit attributes */
- gestaltTEHasGetHiliteRgn = 0, /* TextEdit has TEGetHiliteRgn */
- gestaltTESupportsInlineInput = 1, /* TextEdit does Inline Input */
- gestaltTESupportsTextObjects = 2, /* TextEdit does Text Objects */
- gestaltTEHasWhiteBackground = 3 /* TextEdit supports overriding the TERec's background to white */
- };
-
- enum
- {
- gestaltTeleMgrAttr = FOUR_CHAR_CODE('tele'), /* Telephone manager attributes */
- gestaltTeleMgrPresent = 0,
- gestaltTeleMgrPowerPCSupport = 1,
- gestaltTeleMgrSoundStreams = 2,
- gestaltTeleMgrAutoAnswer = 3,
- gestaltTeleMgrIndHandset = 4,
- gestaltTeleMgrSilenceDetect = 5,
- gestaltTeleMgrNewTELNewSupport = 6
- };
-
- enum
- {
- gestaltTermMgrAttr = FOUR_CHAR_CODE('term'), /* terminal mgr attributes */
- gestaltTermMgrPresent = 0,
- gestaltTermMgrErrorString = 2
- };
-
- enum
- {
- gestaltThreadMgrAttr = FOUR_CHAR_CODE('thds'), /* Thread Manager attributes */
- gestaltThreadMgrPresent = 0, /* bit true if Thread Mgr is present */
- gestaltSpecificMatchSupport = 1, /* bit true if Thread Mgr supports exact match creation option */
- gestaltThreadsLibraryPresent = 2 /* bit true if Thread Mgr shared library is present */
- };
-
- enum
- {
- gestaltTimeMgrVersion = FOUR_CHAR_CODE('tmgr'), /* time mgr version */
- gestaltStandardTimeMgr = 1, /* standard time mgr is present */
- gestaltRevisedTimeMgr = 2, /* revised time mgr is present */
- gestaltExtendedTimeMgr = 3, /* extended time mgr is present */
- gestaltNativeTimeMgr = 4 /* PowerPC native TimeMgr is present */
- };
-
- enum
- {
- gestaltTSMTEVersion = FOUR_CHAR_CODE('tmTV'),
- gestaltTSMTE1 = 0x0100, /* Original version of TSMTE */
- gestaltTSMTE15 = 0x0150, /* System 8.0 */
- gestaltTSMTE152 = 0x0152 /* System 8.2 */
- };
-
- enum
- {
- gestaltTSMTEAttr = FOUR_CHAR_CODE('tmTE'),
- gestaltTSMTEPresent = 0,
- gestaltTSMTE = 0 /* gestaltTSMTE is old name for gestaltTSMTEPresent */
- };
-
- enum
- {
- gestaltAVLTreeAttr = FOUR_CHAR_CODE('tree'), /* AVLTree utility routines attributes. */
- gestaltAVLTreePresentBit = 0, /* if set, then the AVL Tree routines are available. */
- gestaltAVLTreeSupportsHandleBasedTreeBit = 1, /* if set, then the AVL Tree routines can store tree data in a single handle */
- gestaltAVLTreeSupportsTreeLockingBit = 2 /* if set, the AVLLockTree() and AVLUnlockTree() routines are available. */
- };
-
- enum
- {
- gestaltALMAttr = FOUR_CHAR_CODE('trip'), /* Settings Manager attributes (see also gestaltALMVers) */
- gestaltALMPresent = 0, /* bit true if ALM is available */
- gestaltALMHasSFGroup = 1, /* bit true if Put/Get/Merge Group calls are implmented */
- gestaltALMHasCFMSupport = 2, /* bit true if CFM-based modules are supported */
- gestaltALMHasRescanNotifiers = 3 /* bit true if Rescan notifications/events will be sent to clients */
- };
-
- enum
- {
- gestaltALMHasSFLocation = gestaltALMHasSFGroup
- };
-
- enum
- {
- gestaltTSMgrVersion = FOUR_CHAR_CODE('tsmv'), /* Text Services Mgr version, if present */
- gestaltTSMgr15 = 0x0150,
- gestaltTSMgr20 = 0x0200
- };
-
- enum
- {
- gestaltTSMgrAttr = FOUR_CHAR_CODE('tsma'), /* Text Services Mgr attributes, if present */
- gestaltTSMDisplayMgrAwareBit = 0, /* TSM knows about display manager */
- gestaltTSMdoesTSMTEBit = 1 /* TSM has integrated TSMTE */
- };
-
- enum
- {
- gestaltSpeechAttr = FOUR_CHAR_CODE('ttsc'), /* Speech Manager attributes */
- gestaltSpeechMgrPresent = 0, /* bit set indicates that Speech Manager exists */
- gestaltSpeechHasPPCGlue = 1 /* bit set indicates that native PPC glue for Speech Manager API exists */
- };
-
- enum
- {
- gestaltTVAttr = FOUR_CHAR_CODE('tv '), /* TV version */
- gestaltHasTVTuner = 0, /* supports Philips FL1236F video tuner */
- gestaltHasSoundFader = 1, /* supports Philips TEA6330 Sound Fader chip */
- gestaltHasHWClosedCaptioning = 2, /* supports Philips SAA5252 Closed Captioning */
- gestaltHasIRRemote = 3, /* supports CyclopsII Infra Red Remote control */
- gestaltHasVidDecoderScaler = 4, /* supports Philips SAA7194 Video Decoder/Scaler */
- gestaltHasStereoDecoder = 5, /* supports Sony SBX1637A-01 stereo decoder */
- gestaltHasSerialFader = 6, /* has fader audio in serial with system audio */
- gestaltHasFMTuner = 7, /* has FM Tuner from donnybrook card */
- gestaltHasSystemIRFunction = 8, /* Infra Red button function is set up by system and not by Video Startup */
- gestaltIRDisabled = 9, /* Infra Red remote is not disabled. */
- gestaltINeedIRPowerOffConfirm = 10, /* Need IR power off confirm dialog. */
- gestaltHasZoomedVideo = 11 /* Has Zoomed Video PC Card video input. */
- };
-
-
- enum
- {
- gestaltATSUVersion = FOUR_CHAR_CODE('uisv'),
- gestaltOriginalATSUVersion = (1 << 16), /* ATSUI version 1.0 */
- gestaltATSUUpdate1 = (2 << 16), /* ATSUI version 1.1 */
- gestaltATSUUpdate2 = (3 << 16), /* ATSUI version 1.2 */
- gestaltATSUUpdate3 = (4 << 16), /* ATSUI version 2.0 */
- gestaltATSUUpdate4 = (5 << 16), /* ATSUI version in Mac OS X - SoftwareUpdate 1-4 for Mac OS 10.0.1 - 10.0.4 */
- gestaltATSUUpdate5 = (6 << 16), /* ATSUI version 2.3 in MacOS 10.1 */
- gestaltATSUUpdate6 = (7 << 16) /* ATSUI version 2.4 in MacOS 10.2 */
- };
-
- enum
- {
- gestaltATSUFeatures = FOUR_CHAR_CODE('uisf'),
- gestaltATSUTrackingFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
- gestaltATSUMemoryFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
- gestaltATSUFallbacksFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
- gestaltATSUGlyphBoundsFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
- gestaltATSULineControlFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
- gestaltATSULayoutCreateAndCopyFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
- gestaltATSULayoutCacheClearFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
- gestaltATSUTextLocatorUsageFeature = 0x00000002, /* feature introduced in ATSUI version 1.2 */
- gestaltATSULowLevelOrigFeatures = 0x00000004, /* first low-level features introduced in ATSUI version 2.0 */
- gestaltATSUFallbacksObjFeatures = 0x00000008, /* feature introduced - ATSUFontFallbacks objects introduced in ATSUI version 2.3 */
- gestaltATSUIgnoreLeadingFeature = 0x00000008, /* feature introduced - kATSLineIgnoreFontLeading LineLayoutOption introduced in ATSUI version 2.3 */
- gestaltATSUByCharacterClusterFeature = 0x00000010, /* ATSUCursorMovementTypes introduced in ATSUI version 2.4 */
- gestaltATSUAscentDescentControlsFeature = 0x00000010, /* attributes introduced in ATSUI version 2.4 */
- gestaltATSUHighlightInactiveTextFeature = 0x00000010, /* feature introduced in ATSUI version 2.4 */
- gestaltATSUPositionToCursorFeature = 0x00000010, /* features introduced in ATSUI version 2.4 */
- gestaltATSUBatchBreakLinesFeature = 0x00000010, /* feature introduced in ATSUI version 2.4 */
- gestaltATSUTabSupportFeature = 0x00000010, /* features introduced in ATSUI version 2.4 */
- gestaltATSUDirectAccess = 0x00000010 /* features introduced in ATSUI version 2.4 */
- };
-
- enum
- {
- gestaltUSBAttr = FOUR_CHAR_CODE('usb '), /* USB Attributes */
- gestaltUSBPresent = 0, /* USB Support available */
- gestaltUSBHasIsoch = 1 /* USB Isochronous features available */
- };
-
- enum
- {
- gestaltUSBVersion = FOUR_CHAR_CODE('usbv') /* USB version */
- };
-
- enum
- {
- gestaltVersion = FOUR_CHAR_CODE('vers'), /* gestalt version */
- gestaltValueImplementedVers = 5 /* version of gestalt where gestaltValue is implemented. */
- };
-
- enum
- {
- gestaltVIA1Addr = FOUR_CHAR_CODE('via1') /* via 1 base address */
- };
-
- enum
- {
- gestaltVIA2Addr = FOUR_CHAR_CODE('via2') /* via 2 base address */
- };
-
- enum
- {
- gestaltVMAttr = FOUR_CHAR_CODE('vm '), /* virtual memory attributes */
- gestaltVMPresent = 0, /* true if virtual memory is present */
- gestaltVMHasLockMemoryForOutput = 1, /* true if LockMemoryForOutput is available */
- gestaltVMFilemappingOn = 3, /* true if filemapping is available */
- gestaltVMHasPagingControl = 4 /* true if MakeMemoryResident, MakeMemoryNonResident, FlushMemory, and ReleaseMemoryData are available */
- };
-
- enum
- {
- gestaltVMInfoType = FOUR_CHAR_CODE('vmin'), /* Indicates how the Finder should display information about VM in */
- /* the Finder about box. */
- gestaltVMInfoSizeStorageType = 0, /* Display VM on/off, backing store size and name */
- gestaltVMInfoSizeType = 1, /* Display whether VM is on or off and the size of the backing store */
- gestaltVMInfoSimpleType = 2, /* Display whether VM is on or off */
- gestaltVMInfoNoneType = 3 /* Display no VM information */
- };
-
- enum
- {
- gestaltVMBackingStoreFileRefNum = FOUR_CHAR_CODE('vmbs') /* file refNum of virtual memory's main backing store file (returned in low word of result) */
- };
-
-
-
- enum
- {
- gestaltALMVers = FOUR_CHAR_CODE('walk') /* Settings Manager version (see also gestaltALMAttr) */
- };
-
- enum
- {
- gestaltWindowMgrAttr = FOUR_CHAR_CODE('wind'), /* If this Gestalt exists, the Mac OS 8.5 Window Manager is installed*/
- gestaltWindowMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
- /* this type are bit index values. Universal Interfaces 3.2 slipped*/
- /* out the door with this mistake.*/
- gestaltWindowMgrPresentBit = 0, /* bit number*/
- gestaltExtendedWindowAttributes = 1, /* Has ChangeWindowAttributes; GetWindowAttributes works for all windows*/
- gestaltExtendedWindowAttributesBit = 1, /* Has ChangeWindowAttributes; GetWindowAttributes works for all windows*/
- gestaltHasFloatingWindows = 2, /* Floating window APIs work*/
- gestaltHasFloatingWindowsBit = 2, /* Floating window APIs work*/
- gestaltHasWindowBuffering = 3, /* This system has buffering available*/
- gestaltHasWindowBufferingBit = 3, /* This system has buffering available*/
- gestaltWindowLiveResizeBit = 4, /* live resizing of windows is available*/
- gestaltWindowMinimizeToDockBit = 5, /* windows minimize to the dock and do not windowshade (Mac OS X)*/
- gestaltHasWindowShadowsBit = 6, /* windows have shadows*/
- gestaltSheetsAreWindowModalBit = 7, /* sheet windows are modal only to their parent window*/
- gestaltFrontWindowMayBeHiddenBit = 8, /* FrontWindow and related APIs will return the front window even when the app is hidden*/
- /* masks for the above bits*/
- gestaltWindowMgrPresentMask = (1L << gestaltWindowMgrPresentBit),
- gestaltExtendedWindowAttributesMask = (1L << gestaltExtendedWindowAttributesBit),
- gestaltHasFloatingWindowsMask = (1L << gestaltHasFloatingWindowsBit),
- gestaltHasWindowBufferingMask = (1L << gestaltHasWindowBufferingBit),
- gestaltWindowLiveResizeMask = (1L << gestaltWindowLiveResizeBit),
- gestaltWindowMinimizeToDockMask = (1L << gestaltWindowMinimizeToDockBit),
- gestaltHasWindowShadowsMask = (1L << gestaltHasWindowShadowsBit),
- gestaltSheetsAreWindowModalMask = (1L << gestaltSheetsAreWindowModalBit),
- gestaltFrontWindowMayBeHiddenMask = (1L << gestaltFrontWindowMayBeHiddenBit)
- };
-
- /*#if TARGET_OS_WIN32 - These are needed by the i386 compiler for X*/
+enum {
+ gestaltToolboxTable = FOUR_CHAR_CODE('tbtt') /* OS trap table base */
+};
+
+enum {
+ gestaltTextEditVersion = FOUR_CHAR_CODE('te '), /* TextEdit version number */
+ gestaltTE1 = 1, /* TextEdit in MacIIci ROM */
+ gestaltTE2 = 2, /* TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) */
+ gestaltTE3 = 3, /* TextEdit with 6.0.4 Script Systems all but MacIIci */
+ gestaltTE4 = 4, /* TextEdit in System 7.0 */
+ gestaltTE5 = 5 /* TextWidthHook available in TextEdit */
+};
+
+enum {
+ gestaltTEAttr = FOUR_CHAR_CODE('teat'), /* TextEdit attributes */
+ gestaltTEHasGetHiliteRgn = 0, /* TextEdit has TEGetHiliteRgn */
+ gestaltTESupportsInlineInput = 1, /* TextEdit does Inline Input */
+ gestaltTESupportsTextObjects = 2, /* TextEdit does Text Objects */
+ gestaltTEHasWhiteBackground = 3 /* TextEdit supports overriding the TERec's background to white */
+};
+
+enum {
+ gestaltTeleMgrAttr = FOUR_CHAR_CODE('tele'), /* Telephone manager attributes */
+ gestaltTeleMgrPresent = 0,
+ gestaltTeleMgrPowerPCSupport = 1,
+ gestaltTeleMgrSoundStreams = 2,
+ gestaltTeleMgrAutoAnswer = 3,
+ gestaltTeleMgrIndHandset = 4,
+ gestaltTeleMgrSilenceDetect = 5,
+ gestaltTeleMgrNewTELNewSupport = 6
+};
+
+enum {
+ gestaltTermMgrAttr = FOUR_CHAR_CODE('term'), /* terminal mgr attributes */
+ gestaltTermMgrPresent = 0,
+ gestaltTermMgrErrorString = 2
+};
+
+enum {
+ gestaltThreadMgrAttr = FOUR_CHAR_CODE('thds'), /* Thread Manager attributes */
+ gestaltThreadMgrPresent = 0, /* bit true if Thread Mgr is present */
+ gestaltSpecificMatchSupport = 1, /* bit true if Thread Mgr supports exact match creation option */
+ gestaltThreadsLibraryPresent = 2 /* bit true if Thread Mgr shared library is present */
+};
+
+enum {
+ gestaltTimeMgrVersion = FOUR_CHAR_CODE('tmgr'), /* time mgr version */
+ gestaltStandardTimeMgr = 1, /* standard time mgr is present */
+ gestaltRevisedTimeMgr = 2, /* revised time mgr is present */
+ gestaltExtendedTimeMgr = 3, /* extended time mgr is present */
+ gestaltNativeTimeMgr = 4 /* PowerPC native TimeMgr is present */
+};
+
+enum {
+ gestaltTSMTEVersion = FOUR_CHAR_CODE('tmTV'),
+ gestaltTSMTE1 = 0x0100, /* Original version of TSMTE */
+ gestaltTSMTE15 = 0x0150, /* System 8.0 */
+ gestaltTSMTE152 = 0x0152 /* System 8.2 */
+};
+
+enum {
+ gestaltTSMTEAttr = FOUR_CHAR_CODE('tmTE'),
+ gestaltTSMTEPresent = 0,
+ gestaltTSMTE = 0 /* gestaltTSMTE is old name for gestaltTSMTEPresent */
+};
+
+enum {
+ gestaltAVLTreeAttr = FOUR_CHAR_CODE('tree'), /* AVLTree utility routines attributes. */
+ gestaltAVLTreePresentBit = 0, /* if set, then the AVL Tree routines are available. */
+ gestaltAVLTreeSupportsHandleBasedTreeBit = 1, /* if set, then the AVL Tree routines can store tree data in a single handle */
+ gestaltAVLTreeSupportsTreeLockingBit = 2 /* if set, the AVLLockTree() and AVLUnlockTree() routines are available. */
+};
+
+enum {
+ gestaltALMAttr = FOUR_CHAR_CODE('trip'), /* Settings Manager attributes (see also gestaltALMVers) */
+ gestaltALMPresent = 0, /* bit true if ALM is available */
+ gestaltALMHasSFGroup = 1, /* bit true if Put/Get/Merge Group calls are implmented */
+ gestaltALMHasCFMSupport = 2, /* bit true if CFM-based modules are supported */
+ gestaltALMHasRescanNotifiers = 3 /* bit true if Rescan notifications/events will be sent to clients */
+};
+
+enum {
+ gestaltALMHasSFLocation = gestaltALMHasSFGroup
+};
+
+enum {
+ gestaltTSMgrVersion = FOUR_CHAR_CODE('tsmv'), /* Text Services Mgr version, if present */
+ gestaltTSMgr15 = 0x0150,
+ gestaltTSMgr20 = 0x0200
+};
+
+enum {
+ gestaltTSMgrAttr = FOUR_CHAR_CODE('tsma'), /* Text Services Mgr attributes, if present */
+ gestaltTSMDisplayMgrAwareBit = 0, /* TSM knows about display manager */
+ gestaltTSMdoesTSMTEBit = 1 /* TSM has integrated TSMTE */
+};
+
+enum {
+ gestaltSpeechAttr = FOUR_CHAR_CODE('ttsc'), /* Speech Manager attributes */
+ gestaltSpeechMgrPresent = 0, /* bit set indicates that Speech Manager exists */
+ gestaltSpeechHasPPCGlue = 1 /* bit set indicates that native PPC glue for Speech Manager API exists */
+};
+
+enum {
+ gestaltTVAttr = FOUR_CHAR_CODE('tv '), /* TV version */
+ gestaltHasTVTuner = 0, /* supports Philips FL1236F video tuner */
+ gestaltHasSoundFader = 1, /* supports Philips TEA6330 Sound Fader chip */
+ gestaltHasHWClosedCaptioning = 2, /* supports Philips SAA5252 Closed Captioning */
+ gestaltHasIRRemote = 3, /* supports CyclopsII Infra Red Remote control */
+ gestaltHasVidDecoderScaler = 4, /* supports Philips SAA7194 Video Decoder/Scaler */
+ gestaltHasStereoDecoder = 5, /* supports Sony SBX1637A-01 stereo decoder */
+ gestaltHasSerialFader = 6, /* has fader audio in serial with system audio */
+ gestaltHasFMTuner = 7, /* has FM Tuner from donnybrook card */
+ gestaltHasSystemIRFunction = 8, /* Infra Red button function is set up by system and not by Video Startup */
+ gestaltIRDisabled = 9, /* Infra Red remote is not disabled. */
+ gestaltINeedIRPowerOffConfirm = 10, /* Need IR power off confirm dialog. */
+ gestaltHasZoomedVideo = 11 /* Has Zoomed Video PC Card video input. */
+};
+
+
+enum {
+ gestaltATSUVersion = FOUR_CHAR_CODE('uisv'),
+ gestaltOriginalATSUVersion = (1 << 16), /* ATSUI version 1.0 */
+ gestaltATSUUpdate1 = (2 << 16), /* ATSUI version 1.1 */
+ gestaltATSUUpdate2 = (3 << 16), /* ATSUI version 1.2 */
+ gestaltATSUUpdate3 = (4 << 16), /* ATSUI version 2.0 */
+ gestaltATSUUpdate4 = (5 << 16), /* ATSUI version in Mac OS X - SoftwareUpdate 1-4 for Mac OS 10.0.1 - 10.0.4 */
+ gestaltATSUUpdate5 = (6 << 16), /* ATSUI version 2.3 in MacOS 10.1 */
+ gestaltATSUUpdate6 = (7 << 16) /* ATSUI version 2.4 in MacOS 10.2 */
+};
+
+enum {
+ gestaltATSUFeatures = FOUR_CHAR_CODE('uisf'),
+ gestaltATSUTrackingFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
+ gestaltATSUMemoryFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
+ gestaltATSUFallbacksFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
+ gestaltATSUGlyphBoundsFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
+ gestaltATSULineControlFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
+ gestaltATSULayoutCreateAndCopyFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
+ gestaltATSULayoutCacheClearFeature = 0x00000001, /* feature introduced in ATSUI version 1.1 */
+ gestaltATSUTextLocatorUsageFeature = 0x00000002, /* feature introduced in ATSUI version 1.2 */
+ gestaltATSULowLevelOrigFeatures = 0x00000004, /* first low-level features introduced in ATSUI version 2.0 */
+ gestaltATSUFallbacksObjFeatures = 0x00000008, /* feature introduced - ATSUFontFallbacks objects introduced in ATSUI version 2.3 */
+ gestaltATSUIgnoreLeadingFeature = 0x00000008, /* feature introduced - kATSLineIgnoreFontLeading LineLayoutOption introduced in ATSUI version 2.3 */
+ gestaltATSUByCharacterClusterFeature = 0x00000010, /* ATSUCursorMovementTypes introduced in ATSUI version 2.4 */
+ gestaltATSUAscentDescentControlsFeature = 0x00000010, /* attributes introduced in ATSUI version 2.4 */
+ gestaltATSUHighlightInactiveTextFeature = 0x00000010, /* feature introduced in ATSUI version 2.4 */
+ gestaltATSUPositionToCursorFeature = 0x00000010, /* features introduced in ATSUI version 2.4 */
+ gestaltATSUBatchBreakLinesFeature = 0x00000010, /* feature introduced in ATSUI version 2.4 */
+ gestaltATSUTabSupportFeature = 0x00000010, /* features introduced in ATSUI version 2.4 */
+ gestaltATSUDirectAccess = 0x00000010 /* features introduced in ATSUI version 2.4 */
+};
+
+enum {
+ gestaltUSBAttr = FOUR_CHAR_CODE('usb '), /* USB Attributes */
+ gestaltUSBPresent = 0, /* USB Support available */
+ gestaltUSBHasIsoch = 1 /* USB Isochronous features available */
+};
+
+enum {
+ gestaltUSBVersion = FOUR_CHAR_CODE('usbv') /* USB version */
+};
+
+enum {
+ gestaltVersion = FOUR_CHAR_CODE('vers'), /* gestalt version */
+ gestaltValueImplementedVers = 5 /* version of gestalt where gestaltValue is implemented. */
+};
+
+enum {
+ gestaltVIA1Addr = FOUR_CHAR_CODE('via1') /* via 1 base address */
+};
+
+enum {
+ gestaltVIA2Addr = FOUR_CHAR_CODE('via2') /* via 2 base address */
+};
+
+enum {
+ gestaltVMAttr = FOUR_CHAR_CODE('vm '), /* virtual memory attributes */
+ gestaltVMPresent = 0, /* true if virtual memory is present */
+ gestaltVMHasLockMemoryForOutput = 1, /* true if LockMemoryForOutput is available */
+ gestaltVMFilemappingOn = 3, /* true if filemapping is available */
+ gestaltVMHasPagingControl = 4 /* true if MakeMemoryResident, MakeMemoryNonResident, FlushMemory, and ReleaseMemoryData are available */
+};
+
+enum {
+ gestaltVMInfoType = FOUR_CHAR_CODE('vmin'), /* Indicates how the Finder should display information about VM in */
+ /* the Finder about box. */
+ gestaltVMInfoSizeStorageType = 0, /* Display VM on/off, backing store size and name */
+ gestaltVMInfoSizeType = 1, /* Display whether VM is on or off and the size of the backing store */
+ gestaltVMInfoSimpleType = 2, /* Display whether VM is on or off */
+ gestaltVMInfoNoneType = 3 /* Display no VM information */
+};
+
+enum {
+ gestaltVMBackingStoreFileRefNum = FOUR_CHAR_CODE('vmbs') /* file refNum of virtual memory's main backing store file (returned in low word of result) */
+};
+
+
+
+enum {
+ gestaltALMVers = FOUR_CHAR_CODE('walk') /* Settings Manager version (see also gestaltALMAttr) */
+};
+
+enum {
+ gestaltWindowMgrAttr = FOUR_CHAR_CODE('wind'), /* If this Gestalt exists, the Mac OS 8.5 Window Manager is installed*/
+ gestaltWindowMgrPresent = (1L << 0), /* NOTE: this is a bit mask, whereas all other Gestalt constants of*/
+ /* this type are bit index values. Universal Interfaces 3.2 slipped*/
+ /* out the door with this mistake.*/
+ gestaltWindowMgrPresentBit = 0, /* bit number*/
+ gestaltExtendedWindowAttributes = 1, /* Has ChangeWindowAttributes; GetWindowAttributes works for all windows*/
+ gestaltExtendedWindowAttributesBit = 1, /* Has ChangeWindowAttributes; GetWindowAttributes works for all windows*/
+ gestaltHasFloatingWindows = 2, /* Floating window APIs work*/
+ gestaltHasFloatingWindowsBit = 2, /* Floating window APIs work*/
+ gestaltHasWindowBuffering = 3, /* This system has buffering available*/
+ gestaltHasWindowBufferingBit = 3, /* This system has buffering available*/
+ gestaltWindowLiveResizeBit = 4, /* live resizing of windows is available*/
+ gestaltWindowMinimizeToDockBit = 5, /* windows minimize to the dock and do not windowshade (Mac OS X)*/
+ gestaltHasWindowShadowsBit = 6, /* windows have shadows*/
+ gestaltSheetsAreWindowModalBit = 7, /* sheet windows are modal only to their parent window*/
+ gestaltFrontWindowMayBeHiddenBit = 8, /* FrontWindow and related APIs will return the front window even when the app is hidden*/
+ /* masks for the above bits*/
+ gestaltWindowMgrPresentMask = (1L << gestaltWindowMgrPresentBit),
+ gestaltExtendedWindowAttributesMask = (1L << gestaltExtendedWindowAttributesBit),
+ gestaltHasFloatingWindowsMask = (1L << gestaltHasFloatingWindowsBit),
+ gestaltHasWindowBufferingMask = (1L << gestaltHasWindowBufferingBit),
+ gestaltWindowLiveResizeMask = (1L << gestaltWindowLiveResizeBit),
+ gestaltWindowMinimizeToDockMask = (1L << gestaltWindowMinimizeToDockBit),
+ gestaltHasWindowShadowsMask = (1L << gestaltHasWindowShadowsBit),
+ gestaltSheetsAreWindowModalMask = (1L << gestaltSheetsAreWindowModalBit),
+ gestaltFrontWindowMayBeHiddenMask = (1L << gestaltFrontWindowMayBeHiddenBit)
+};
+
+/*#if TARGET_OS_WIN32 - These are needed by the i386 compiler for X*/
#if TARGET_CPU_X86
- enum
- {
- gestaltX86Features = FOUR_CHAR_CODE('x86f'),
- gestaltX86HasFPU = 0, /* has an FPU that supports the 387 instructions*/
- gestaltX86HasVME = 1, /* supports Virtual-8086 Mode Extensions*/
- gestaltX86HasDE = 2, /* supports I/O breakpoints (Debug Extensions)*/
- gestaltX86HasPSE = 3, /* supports 4-Mbyte pages (Page Size Extension)*/
- gestaltX86HasTSC = 4, /* supports RTDSC instruction (Time Stamp Counter)*/
- gestaltX86HasMSR = 5, /* supports Model Specific Registers*/
- gestaltX86HasPAE = 6, /* supports physical addresses > 32 bits (Physical Address Extension)*/
- gestaltX86HasMCE = 7, /* supports Machine Check Exception*/
- gestaltX86HasCX8 = 8, /* supports CMPXCHG8 instructions (Compare Exchange 8 bytes)*/
- gestaltX86HasAPIC = 9, /* contains local APIC*/
- gestaltX86Reserved10 = 10, /* do not count on this bit value*/
- gestaltX86HasSEP = 11, /* supports fast system call (SysEnter Present)*/
- gestaltX86HasMTRR = 12, /* supports Memory Type Range Registers*/
- gestaltX86HasPGE = 13, /* supports Page Global Enable*/
- gestaltX86HasMCA = 14, /* supports Machine Check Architecture*/
- gestaltX86HasCMOV = 15, /* supports CMOVcc instruction (Conditional Move).*/
- /* If FPU bit is also set, supports FCMOVcc and FCOMI, too*/
- gestaltX86HasPAT = 16, /* supports Page Attribute Table*/
- gestaltX86HasPSE36 = 17, /* supports 36-bit Page Size Extension*/
- gestaltX86HasMMX = 23, /* supports MMX instructions*/
- gestaltX86HasFXSR = 24, /* Supports FXSAVE and FXRSTOR instructions (fast FP save/restore)*/
- gestaltX86HasSSE = 25,
- gestaltX86HasSSE2 = 26
- };
+enum {
+ gestaltX86Features = FOUR_CHAR_CODE('x86f'),
+ gestaltX86HasFPU = 0, /* has an FPU that supports the 387 instructions*/
+ gestaltX86HasVME = 1, /* supports Virtual-8086 Mode Extensions*/
+ gestaltX86HasDE = 2, /* supports I/O breakpoints (Debug Extensions)*/
+ gestaltX86HasPSE = 3, /* supports 4-Mbyte pages (Page Size Extension)*/
+ gestaltX86HasTSC = 4, /* supports RTDSC instruction (Time Stamp Counter)*/
+ gestaltX86HasMSR = 5, /* supports Model Specific Registers*/
+ gestaltX86HasPAE = 6, /* supports physical addresses > 32 bits (Physical Address Extension)*/
+ gestaltX86HasMCE = 7, /* supports Machine Check Exception*/
+ gestaltX86HasCX8 = 8, /* supports CMPXCHG8 instructions (Compare Exchange 8 bytes)*/
+ gestaltX86HasAPIC = 9, /* contains local APIC*/
+ gestaltX86Reserved10 = 10, /* do not count on this bit value*/
+ gestaltX86HasSEP = 11, /* supports fast system call (SysEnter Present)*/
+ gestaltX86HasMTRR = 12, /* supports Memory Type Range Registers*/
+ gestaltX86HasPGE = 13, /* supports Page Global Enable*/
+ gestaltX86HasMCA = 14, /* supports Machine Check Architecture*/
+ gestaltX86HasCMOV = 15, /* supports CMOVcc instruction (Conditional Move).*/
+ /* If FPU bit is also set, supports FCMOVcc and FCOMI, too*/
+ gestaltX86HasPAT = 16, /* supports Page Attribute Table*/
+ gestaltX86HasPSE36 = 17, /* supports 36-bit Page Size Extension*/
+ gestaltX86HasMMX = 23, /* supports MMX instructions*/
+ gestaltX86HasFXSR = 24, /* Supports FXSAVE and FXRSTOR instructions (fast FP save/restore)*/
+ gestaltX86HasSSE = 25,
+ gestaltX86HasSSE2 = 26
+};
#endif /* TARGET_CPU_X86 */
- enum
- {
- gestaltTranslationAttr = FOUR_CHAR_CODE('xlat'), /* Translation Manager attributes */
- gestaltTranslationMgrExists = 0, /* True if translation manager exists */
- gestaltTranslationMgrHintOrder = 1, /* True if hint order reversal in effect */
- gestaltTranslationPPCAvail = 2,
- gestaltTranslationGetPathAPIAvail = 3
- };
-
- enum
- {
- gestaltExtToolboxTable = FOUR_CHAR_CODE('xttt') /* Extended Toolbox trap table base */
- };
-
- enum
- {
- gestaltUSBPrinterSharingVersion = FOUR_CHAR_CODE('zak '), /* USB Printer Sharing Version*/
- gestaltUSBPrinterSharingVersionMask = 0x0000FFFF, /* mask for bits in version*/
- gestaltUSBPrinterSharingAttr = FOUR_CHAR_CODE('zak '), /* USB Printer Sharing Attributes*/
- gestaltUSBPrinterSharingAttrMask = (long)0xFFFF0000, /* mask for attribute bits*/
- gestaltUSBPrinterSharingAttrRunning = (long)0x80000000, /* printer sharing is running*/
- gestaltUSBPrinterSharingAttrBooted = 0x40000000 /* printer sharing was installed at boot time*/
- };
-
- /*WorldScript settings;*/
- enum
- {
- gestaltWorldScriptIIVersion = FOUR_CHAR_CODE('doub'),
- gestaltWorldScriptIIAttr = FOUR_CHAR_CODE('wsat'),
- gestaltWSIICanPrintWithoutPrGeneralBit = 0 /* bit 0 is on if WS II knows about PrinterStatus callback */
- };
+enum {
+ gestaltTranslationAttr = FOUR_CHAR_CODE('xlat'), /* Translation Manager attributes */
+ gestaltTranslationMgrExists = 0, /* True if translation manager exists */
+ gestaltTranslationMgrHintOrder = 1, /* True if hint order reversal in effect */
+ gestaltTranslationPPCAvail = 2,
+ gestaltTranslationGetPathAPIAvail = 3
+};
+
+enum {
+ gestaltExtToolboxTable = FOUR_CHAR_CODE('xttt') /* Extended Toolbox trap table base */
+};
+
+enum {
+ gestaltUSBPrinterSharingVersion = FOUR_CHAR_CODE('zak '), /* USB Printer Sharing Version*/
+ gestaltUSBPrinterSharingVersionMask = 0x0000FFFF, /* mask for bits in version*/
+ gestaltUSBPrinterSharingAttr = FOUR_CHAR_CODE('zak '), /* USB Printer Sharing Attributes*/
+ gestaltUSBPrinterSharingAttrMask = (long)0xFFFF0000, /* mask for attribute bits*/
+ gestaltUSBPrinterSharingAttrRunning = (long)0x80000000, /* printer sharing is running*/
+ gestaltUSBPrinterSharingAttrBooted = 0x40000000 /* printer sharing was installed at boot time*/
+};
+
+/*WorldScript settings;*/
+enum {
+ gestaltWorldScriptIIVersion = FOUR_CHAR_CODE('doub'),
+ gestaltWorldScriptIIAttr = FOUR_CHAR_CODE('wsat'),
+ gestaltWSIICanPrintWithoutPrGeneralBit = 0 /* bit 0 is on if WS II knows about PrinterStatus callback */
+};
diff --git a/include/qt/HFSVolumes.h b/include/qt/HFSVolumes.h
index 5c6ded244..a216d680f 100644
--- a/include/qt/HFSVolumes.h
+++ b/include/qt/HFSVolumes.h
@@ -1,17 +1,17 @@
/*
File: HFSVolumes.h
-
+
Contains: On-disk data structures for HFS and HFS Plus volumes.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1984-2001 by Apple Computer, Inc. All rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __HFSVOLUMES__
#define __HFSVOLUMES__
@@ -40,72 +40,65 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/* Signatures used to differentiate between HFS and HFS Plus volumes */
-enum
-{
- kHFSSigWord = 0x4244, /* 'BD' in ASCII */
- kHFSPlusSigWord = 0x482B, /* 'H+' in ASCII */
- kHFSPlusVersion = 0x0004, /* will change as format changes (version 4 shipped with Mac OS 8.1) */
- kHFSPlusMountVersion = FOUR_CHAR_CODE('8.10') /* will change as implementations change ('8.10' in Mac OS 8.1) */
+enum {
+ kHFSSigWord = 0x4244, /* 'BD' in ASCII */
+ kHFSPlusSigWord = 0x482B, /* 'H+' in ASCII */
+ kHFSPlusVersion = 0x0004, /* will change as format changes (version 4 shipped with Mac OS 8.1) */
+ kHFSPlusMountVersion = FOUR_CHAR_CODE('8.10') /* will change as implementations change ('8.10' in Mac OS 8.1) */
};
/* CatalogNodeID is used to track catalog objects */
typedef UInt32 HFSCatalogNodeID;
-enum
-{
- kHFSMaxVolumeNameChars = 27,
- kHFSMaxFileNameChars = 31,
- kHFSPlusMaxFileNameChars = 255
+enum {
+ kHFSMaxVolumeNameChars = 27,
+ kHFSMaxFileNameChars = 31,
+ kHFSPlusMaxFileNameChars = 255
};
/* Extent overflow file data structures */
/* HFS Extent key */
-struct HFSExtentKey
-{
- UInt8 keyLength; /* length of key, excluding this field */
- UInt8 forkType; /* 0 = data fork, FF = resource fork */
- HFSCatalogNodeID fileID; /* file ID */
- UInt16 startBlock; /* first file allocation block number in this extent */
+struct HFSExtentKey {
+ UInt8 keyLength; /* length of key, excluding this field */
+ UInt8 forkType; /* 0 = data fork, FF = resource fork */
+ HFSCatalogNodeID fileID; /* file ID */
+ UInt16 startBlock; /* first file allocation block number in this extent */
};
typedef struct HFSExtentKey HFSExtentKey;
/* HFS Plus Extent key */
-struct HFSPlusExtentKey
-{
- UInt16 keyLength; /* length of key, excluding this field */
- UInt8 forkType; /* 0 = data fork, FF = resource fork */
- UInt8 pad; /* make the other fields align on 32-bit boundary */
- HFSCatalogNodeID fileID; /* file ID */
- UInt32 startBlock; /* first file allocation block number in this extent */
+struct HFSPlusExtentKey {
+ UInt16 keyLength; /* length of key, excluding this field */
+ UInt8 forkType; /* 0 = data fork, FF = resource fork */
+ UInt8 pad; /* make the other fields align on 32-bit boundary */
+ HFSCatalogNodeID fileID; /* file ID */
+ UInt32 startBlock; /* first file allocation block number in this extent */
};
typedef struct HFSPlusExtentKey HFSPlusExtentKey;
/* Number of extent descriptors per extent record */
-enum
-{
- kHFSExtentDensity = 3,
- kHFSPlusExtentDensity = 8
+enum {
+ kHFSExtentDensity = 3,
+ kHFSPlusExtentDensity = 8
};
/* HFS extent descriptor */
-struct HFSExtentDescriptor
-{
- UInt16 startBlock; /* first allocation block */
- UInt16 blockCount; /* number of allocation blocks */
+struct HFSExtentDescriptor {
+ UInt16 startBlock; /* first allocation block */
+ UInt16 blockCount; /* number of allocation blocks */
};
typedef struct HFSExtentDescriptor HFSExtentDescriptor;
/* HFS Plus extent descriptor */
-struct HFSPlusExtentDescriptor
-{
- UInt32 startBlock; /* first allocation block */
- UInt32 blockCount; /* number of allocation blocks */
+struct HFSPlusExtentDescriptor {
+ UInt32 startBlock; /* first allocation block */
+ UInt32 blockCount; /* number of allocation blocks */
};
typedef struct HFSPlusExtentDescriptor HFSPlusExtentDescriptor;
/* HFS extent record */
@@ -115,180 +108,167 @@ typedef HFSExtentDescriptor HFSExtentRecord[3];
typedef HFSPlusExtentDescriptor HFSPlusExtentRecord[8];
/* Fork data info (HFS Plus only) - 80 bytes */
-struct HFSPlusForkData
-{
- UInt64 logicalSize; /* fork's logical size in bytes */
- UInt32 clumpSize; /* fork's clump size in bytes */
- UInt32 totalBlocks; /* total blocks used by this fork */
- HFSPlusExtentRecord extents; /* initial set of extents */
+struct HFSPlusForkData {
+ UInt64 logicalSize; /* fork's logical size in bytes */
+ UInt32 clumpSize; /* fork's clump size in bytes */
+ UInt32 totalBlocks; /* total blocks used by this fork */
+ HFSPlusExtentRecord extents; /* initial set of extents */
};
typedef struct HFSPlusForkData HFSPlusForkData;
/* Permissions info (HFS Plus only) - 16 bytes */
-struct HFSPlusPermissions
-{
- UInt32 ownerID; /* user or group ID of file/folder owner */
- UInt32 groupID; /* additional user of group ID */
- UInt32 permissions; /* permissions (bytes: unused, owner, group, everyone) */
- UInt32 specialDevice; /* UNIX: device for character or block special file */
+struct HFSPlusPermissions {
+ UInt32 ownerID; /* user or group ID of file/folder owner */
+ UInt32 groupID; /* additional user of group ID */
+ UInt32 permissions; /* permissions (bytes: unused, owner, group, everyone) */
+ UInt32 specialDevice; /* UNIX: device for character or block special file */
};
typedef struct HFSPlusPermissions HFSPlusPermissions;
/* Catalog file data structures */
-enum
-{
- kHFSRootParentID = 1, /* Parent ID of the root folder */
- kHFSRootFolderID = 2, /* Folder ID of the root folder */
- kHFSExtentsFileID = 3, /* File ID of the extents file */
- kHFSCatalogFileID = 4, /* File ID of the catalog file */
- kHFSBadBlockFileID = 5, /* File ID of the bad allocation block file */
- kHFSAllocationFileID = 6, /* File ID of the allocation file (HFS Plus only) */
- kHFSStartupFileID = 7, /* File ID of the startup file (HFS Plus only) */
- kHFSAttributesFileID = 8, /* File ID of the attribute file (HFS Plus only) */
- kHFSBogusExtentFileID = 15, /* Used for exchanging extents in extents file */
- kHFSFirstUserCatalogNodeID = 16
+enum {
+ kHFSRootParentID = 1, /* Parent ID of the root folder */
+ kHFSRootFolderID = 2, /* Folder ID of the root folder */
+ kHFSExtentsFileID = 3, /* File ID of the extents file */
+ kHFSCatalogFileID = 4, /* File ID of the catalog file */
+ kHFSBadBlockFileID = 5, /* File ID of the bad allocation block file */
+ kHFSAllocationFileID = 6, /* File ID of the allocation file (HFS Plus only) */
+ kHFSStartupFileID = 7, /* File ID of the startup file (HFS Plus only) */
+ kHFSAttributesFileID = 8, /* File ID of the attribute file (HFS Plus only) */
+ kHFSBogusExtentFileID = 15, /* Used for exchanging extents in extents file */
+ kHFSFirstUserCatalogNodeID = 16
};
/* HFS catalog key */
-struct HFSCatalogKey
-{
- UInt8 keyLength; /* key length (in bytes) */
- UInt8 reserved; /* reserved (set to zero) */
- HFSCatalogNodeID parentID; /* parent folder ID */
- Str31 nodeName; /* catalog node name */
+struct HFSCatalogKey {
+ UInt8 keyLength; /* key length (in bytes) */
+ UInt8 reserved; /* reserved (set to zero) */
+ HFSCatalogNodeID parentID; /* parent folder ID */
+ Str31 nodeName; /* catalog node name */
};
typedef struct HFSCatalogKey HFSCatalogKey;
/* HFS Plus catalog key */
-struct HFSPlusCatalogKey
-{
- UInt16 keyLength; /* key length (in bytes) */
- HFSCatalogNodeID parentID; /* parent folder ID */
- HFSUniStr255 nodeName; /* catalog node name */
+struct HFSPlusCatalogKey {
+ UInt16 keyLength; /* key length (in bytes) */
+ HFSCatalogNodeID parentID; /* parent folder ID */
+ HFSUniStr255 nodeName; /* catalog node name */
};
typedef struct HFSPlusCatalogKey HFSPlusCatalogKey;
/* Catalog record types */
-enum
-{
- /* HFS Catalog Records */
- kHFSFolderRecord = 0x0100, /* Folder record */
- kHFSFileRecord = 0x0200, /* File record */
- kHFSFolderThreadRecord = 0x0300, /* Folder thread record */
- kHFSFileThreadRecord = 0x0400, /* File thread record */
- /* HFS Plus Catalog Records */
- kHFSPlusFolderRecord = 1, /* Folder record */
- kHFSPlusFileRecord = 2, /* File record */
- kHFSPlusFolderThreadRecord = 3, /* Folder thread record */
- kHFSPlusFileThreadRecord = 4 /* File thread record */
+enum {
+ /* HFS Catalog Records */
+ kHFSFolderRecord = 0x0100, /* Folder record */
+ kHFSFileRecord = 0x0200, /* File record */
+ kHFSFolderThreadRecord = 0x0300, /* Folder thread record */
+ kHFSFileThreadRecord = 0x0400, /* File thread record */
+ /* HFS Plus Catalog Records */
+ kHFSPlusFolderRecord = 1, /* Folder record */
+ kHFSPlusFileRecord = 2, /* File record */
+ kHFSPlusFolderThreadRecord = 3, /* Folder thread record */
+ kHFSPlusFileThreadRecord = 4 /* File thread record */
};
/* Catalog file record flags */
-enum
-{
- kHFSFileLockedBit = 0x0000, /* file is locked and cannot be written to */
- kHFSFileLockedMask = 0x0001,
- kHFSThreadExistsBit = 0x0001, /* a file thread record exists for this file */
- kHFSThreadExistsMask = 0x0002
+enum {
+ kHFSFileLockedBit = 0x0000, /* file is locked and cannot be written to */
+ kHFSFileLockedMask = 0x0001,
+ kHFSThreadExistsBit = 0x0001, /* a file thread record exists for this file */
+ kHFSThreadExistsMask = 0x0002
};
/* HFS catalog folder record - 70 bytes */
-struct HFSCatalogFolder
-{
- SInt16 recordType; /* record type */
- UInt16 flags; /* folder flags */
- UInt16 valence; /* folder valence */
- HFSCatalogNodeID folderID; /* folder ID */
- UInt32 createDate; /* date and time of creation */
- UInt32 modifyDate; /* date and time of last modification */
- UInt32 backupDate; /* date and time of last backup */
- DInfo userInfo; /* Finder information */
- DXInfo finderInfo; /* additional Finder information */
- UInt32 reserved[4]; /* reserved - set to zero */
+struct HFSCatalogFolder {
+ SInt16 recordType; /* record type */
+ UInt16 flags; /* folder flags */
+ UInt16 valence; /* folder valence */
+ HFSCatalogNodeID folderID; /* folder ID */
+ UInt32 createDate; /* date and time of creation */
+ UInt32 modifyDate; /* date and time of last modification */
+ UInt32 backupDate; /* date and time of last backup */
+ DInfo userInfo; /* Finder information */
+ DXInfo finderInfo; /* additional Finder information */
+ UInt32 reserved[4]; /* reserved - set to zero */
};
typedef struct HFSCatalogFolder HFSCatalogFolder;
/* HFS Plus catalog folder record - 88 bytes */
-struct HFSPlusCatalogFolder
-{
- SInt16 recordType; /* record type = HFS Plus folder record */
- UInt16 flags; /* file flags */
- UInt32 valence; /* folder's valence (limited to 2^16 in Mac OS) */
- HFSCatalogNodeID folderID; /* folder ID */
- UInt32 createDate; /* date and time of creation */
- UInt32 contentModDate; /* date and time of last content modification */
- UInt32 attributeModDate; /* date and time of last attribute modification */
- UInt32 accessDate; /* date and time of last access (Rhapsody only) */
- UInt32 backupDate; /* date and time of last backup */
- HFSPlusPermissions permissions; /* permissions (for Rhapsody) */
- DInfo userInfo; /* Finder information */
- DXInfo finderInfo; /* additional Finder information */
- UInt32 textEncoding; /* hint for name conversions */
- UInt32 reserved; /* reserved - set to zero */
+struct HFSPlusCatalogFolder {
+ SInt16 recordType; /* record type = HFS Plus folder record */
+ UInt16 flags; /* file flags */
+ UInt32 valence; /* folder's valence (limited to 2^16 in Mac OS) */
+ HFSCatalogNodeID folderID; /* folder ID */
+ UInt32 createDate; /* date and time of creation */
+ UInt32 contentModDate; /* date and time of last content modification */
+ UInt32 attributeModDate; /* date and time of last attribute modification */
+ UInt32 accessDate; /* date and time of last access (Rhapsody only) */
+ UInt32 backupDate; /* date and time of last backup */
+ HFSPlusPermissions permissions; /* permissions (for Rhapsody) */
+ DInfo userInfo; /* Finder information */
+ DXInfo finderInfo; /* additional Finder information */
+ UInt32 textEncoding; /* hint for name conversions */
+ UInt32 reserved; /* reserved - set to zero */
};
typedef struct HFSPlusCatalogFolder HFSPlusCatalogFolder;
/* HFS catalog file record - 102 bytes */
-struct HFSCatalogFile
-{
- SInt16 recordType; /* record type */
- UInt8 flags; /* file flags */
- SInt8 fileType; /* file type (unused ?) */
- FInfo userInfo; /* Finder information */
- HFSCatalogNodeID fileID; /* file ID */
- UInt16 dataStartBlock; /* not used - set to zero */
- SInt32 dataLogicalSize; /* logical EOF of data fork */
- SInt32 dataPhysicalSize; /* physical EOF of data fork */
- UInt16 rsrcStartBlock; /* not used - set to zero */
- SInt32 rsrcLogicalSize; /* logical EOF of resource fork */
- SInt32 rsrcPhysicalSize; /* physical EOF of resource fork */
- UInt32 createDate; /* date and time of creation */
- UInt32 modifyDate; /* date and time of last modification */
- UInt32 backupDate; /* date and time of last backup */
- FXInfo finderInfo; /* additional Finder information */
- UInt16 clumpSize; /* file clump size (not used) */
- HFSExtentRecord dataExtents; /* first data fork extent record */
- HFSExtentRecord rsrcExtents; /* first resource fork extent record */
- UInt32 reserved; /* reserved - set to zero */
+struct HFSCatalogFile {
+ SInt16 recordType; /* record type */
+ UInt8 flags; /* file flags */
+ SInt8 fileType; /* file type (unused ?) */
+ FInfo userInfo; /* Finder information */
+ HFSCatalogNodeID fileID; /* file ID */
+ UInt16 dataStartBlock; /* not used - set to zero */
+ SInt32 dataLogicalSize; /* logical EOF of data fork */
+ SInt32 dataPhysicalSize; /* physical EOF of data fork */
+ UInt16 rsrcStartBlock; /* not used - set to zero */
+ SInt32 rsrcLogicalSize; /* logical EOF of resource fork */
+ SInt32 rsrcPhysicalSize; /* physical EOF of resource fork */
+ UInt32 createDate; /* date and time of creation */
+ UInt32 modifyDate; /* date and time of last modification */
+ UInt32 backupDate; /* date and time of last backup */
+ FXInfo finderInfo; /* additional Finder information */
+ UInt16 clumpSize; /* file clump size (not used) */
+ HFSExtentRecord dataExtents; /* first data fork extent record */
+ HFSExtentRecord rsrcExtents; /* first resource fork extent record */
+ UInt32 reserved; /* reserved - set to zero */
};
typedef struct HFSCatalogFile HFSCatalogFile;
/* HFS Plus catalog file record - 248 bytes */
-struct HFSPlusCatalogFile
-{
- SInt16 recordType; /* record type = HFS Plus file record */
- UInt16 flags; /* file flags */
- UInt32 reserved1; /* reserved - set to zero */
- HFSCatalogNodeID fileID; /* file ID */
- UInt32 createDate; /* date and time of creation */
- UInt32 contentModDate; /* date and time of last content modification */
- UInt32 attributeModDate; /* date and time of last attribute modification */
- UInt32 accessDate; /* date and time of last access (Rhapsody only) */
- UInt32 backupDate; /* date and time of last backup */
- HFSPlusPermissions permissions; /* permissions (for Rhapsody) */
- FInfo userInfo; /* Finder information */
- FXInfo finderInfo; /* additional Finder information */
- UInt32 textEncoding; /* hint for name conversions */
- UInt32 reserved2; /* reserved - set to zero */
-
- /* start on double long (64 bit) boundry */
- HFSPlusForkData dataFork; /* size and block data for data fork */
- HFSPlusForkData resourceFork; /* size and block data for resource fork */
+struct HFSPlusCatalogFile {
+ SInt16 recordType; /* record type = HFS Plus file record */
+ UInt16 flags; /* file flags */
+ UInt32 reserved1; /* reserved - set to zero */
+ HFSCatalogNodeID fileID; /* file ID */
+ UInt32 createDate; /* date and time of creation */
+ UInt32 contentModDate; /* date and time of last content modification */
+ UInt32 attributeModDate; /* date and time of last attribute modification */
+ UInt32 accessDate; /* date and time of last access (Rhapsody only) */
+ UInt32 backupDate; /* date and time of last backup */
+ HFSPlusPermissions permissions; /* permissions (for Rhapsody) */
+ FInfo userInfo; /* Finder information */
+ FXInfo finderInfo; /* additional Finder information */
+ UInt32 textEncoding; /* hint for name conversions */
+ UInt32 reserved2; /* reserved - set to zero */
+
+ /* start on double long (64 bit) boundry */
+ HFSPlusForkData dataFork; /* size and block data for data fork */
+ HFSPlusForkData resourceFork; /* size and block data for resource fork */
};
typedef struct HFSPlusCatalogFile HFSPlusCatalogFile;
/* HFS catalog thread record - 46 bytes */
-struct HFSCatalogThread
-{
- SInt16 recordType; /* record type */
- SInt32 reserved[2]; /* reserved - set to zero */
- HFSCatalogNodeID parentID; /* parent ID for this catalog node */
- Str31 nodeName; /* name of this catalog node */
+struct HFSCatalogThread {
+ SInt16 recordType; /* record type */
+ SInt32 reserved[2]; /* reserved - set to zero */
+ HFSCatalogNodeID parentID; /* parent ID for this catalog node */
+ Str31 nodeName; /* name of this catalog node */
};
typedef struct HFSCatalogThread HFSCatalogThread;
/* HFS Plus catalog thread record -- 264 bytes */
-struct HFSPlusCatalogThread
-{
- SInt16 recordType; /* record type */
- SInt16 reserved; /* reserved - set to zero */
- HFSCatalogNodeID parentID; /* parent ID for this catalog node */
- HFSUniStr255 nodeName; /* name of this catalog node (variable length) */
+struct HFSPlusCatalogThread {
+ SInt16 recordType; /* record type */
+ SInt16 reserved; /* reserved - set to zero */
+ HFSCatalogNodeID parentID; /* parent ID for this catalog node */
+ HFSUniStr255 nodeName; /* name of this catalog node (variable length) */
};
typedef struct HFSPlusCatalogThread HFSPlusCatalogThread;
@@ -296,11 +276,10 @@ typedef struct HFSPlusCatalogThread HFSPlusCatalogThread;
These are the types of records in the attribute B-tree. The values were chosen
so that they wouldn't conflict with the catalog record types.
*/
-enum
-{
- kHFSPlusAttrInlineData = 0x10, /* if size < kAttrOverflowSize */
- kHFSPlusAttrForkData = 0x20, /* if size >= kAttrOverflowSize */
- kHFSPlusAttrExtents = 0x30 /* overflow extents for large attributes */
+enum {
+ kHFSPlusAttrInlineData = 0x10, /* if size < kAttrOverflowSize */
+ kHFSPlusAttrForkData = 0x20, /* if size >= kAttrOverflowSize */
+ kHFSPlusAttrExtents = 0x30 /* overflow extents for large attributes */
};
@@ -310,12 +289,11 @@ enum
B-tree record.
There would not be any other records for this attribute.
*/
-struct HFSPlusAttrInlineData
-{
- UInt32 recordType; /* = kHFSPlusAttrInlineData*/
- UInt32 reserved;
- UInt32 logicalSize; /* size in bytes of userData*/
- UInt8 userData[2]; /* variable length; space allocated is a multiple of 2 bytes*/
+struct HFSPlusAttrInlineData {
+ UInt32 recordType; /* = kHFSPlusAttrInlineData*/
+ UInt32 reserved;
+ UInt32 logicalSize; /* size in bytes of userData*/
+ UInt8 userData[2]; /* variable length; space allocated is a multiple of 2 bytes*/
};
typedef struct HFSPlusAttrInlineData HFSPlusAttrInlineData;
/*
@@ -324,11 +302,10 @@ typedef struct HFSPlusAttrInlineData HFSPlusAttrInlineData;
If the attribute has more than 8 extents, there will be additonal
records (of type HFSPlusAttrExtents) for this attribute.
*/
-struct HFSPlusAttrForkData
-{
- UInt32 recordType; /* = kHFSPlusAttrForkData*/
- UInt32 reserved;
- HFSPlusForkData theFork; /* size and first extents of value*/
+struct HFSPlusAttrForkData {
+ UInt32 recordType; /* = kHFSPlusAttrForkData*/
+ UInt32 reserved;
+ HFSPlusForkData theFork; /* size and first extents of value*/
};
typedef struct HFSPlusAttrForkData HFSPlusAttrForkData;
/*
@@ -336,193 +313,183 @@ typedef struct HFSPlusAttrForkData HFSPlusAttrForkData;
This record contains information about overflow extents for large,
fragmented attributes.
*/
-struct HFSPlusAttrExtents
-{
- UInt32 recordType; /* = kHFSPlusAttrExtents*/
- UInt32 reserved;
- HFSPlusExtentRecord extents; /* additional extents*/
+struct HFSPlusAttrExtents {
+ UInt32 recordType; /* = kHFSPlusAttrExtents*/
+ UInt32 reserved;
+ HFSPlusExtentRecord extents; /* additional extents*/
};
typedef struct HFSPlusAttrExtents HFSPlusAttrExtents;
/* A generic Attribute Record*/
-union HFSPlusAttrRecord
-{
- UInt32 recordType;
- HFSPlusAttrInlineData inlineData;
- HFSPlusAttrForkData forkData;
- HFSPlusAttrExtents overflowExtents;
+union HFSPlusAttrRecord {
+ UInt32 recordType;
+ HFSPlusAttrInlineData inlineData;
+ HFSPlusAttrForkData forkData;
+ HFSPlusAttrExtents overflowExtents;
};
typedef union HFSPlusAttrRecord HFSPlusAttrRecord;
/* Key and node lengths */
-enum
-{
- kHFSPlusExtentKeyMaximumLength = sizeof(HFSPlusExtentKey) - sizeof(UInt16),
- kHFSExtentKeyMaximumLength = sizeof(HFSExtentKey) - sizeof(UInt8),
- kHFSPlusCatalogKeyMaximumLength = sizeof(HFSPlusCatalogKey) - sizeof(UInt16),
- kHFSPlusCatalogKeyMinimumLength = kHFSPlusCatalogKeyMaximumLength - sizeof(HFSUniStr255) + sizeof(UInt16),
- kHFSCatalogKeyMaximumLength = sizeof(HFSCatalogKey) - sizeof(UInt8),
- kHFSCatalogKeyMinimumLength = kHFSCatalogKeyMaximumLength - sizeof(Str31) + sizeof(UInt8),
- kHFSPlusCatalogMinNodeSize = 4096,
- kHFSPlusExtentMinNodeSize = 512,
- kHFSPlusAttrMinNodeSize = 4096
+enum {
+ kHFSPlusExtentKeyMaximumLength = sizeof(HFSPlusExtentKey) - sizeof(UInt16),
+ kHFSExtentKeyMaximumLength = sizeof(HFSExtentKey) - sizeof(UInt8),
+ kHFSPlusCatalogKeyMaximumLength = sizeof(HFSPlusCatalogKey) - sizeof(UInt16),
+ kHFSPlusCatalogKeyMinimumLength = kHFSPlusCatalogKeyMaximumLength - sizeof(HFSUniStr255) + sizeof(UInt16),
+ kHFSCatalogKeyMaximumLength = sizeof(HFSCatalogKey) - sizeof(UInt8),
+ kHFSCatalogKeyMinimumLength = kHFSCatalogKeyMaximumLength - sizeof(Str31) + sizeof(UInt8),
+ kHFSPlusCatalogMinNodeSize = 4096,
+ kHFSPlusExtentMinNodeSize = 512,
+ kHFSPlusAttrMinNodeSize = 4096
};
/* HFS and HFS Plus volume attribute bits */
-enum
-{
- /* Bits 0-6 are reserved (always cleared by MountVol call) */
- kHFSVolumeHardwareLockBit = 7, /* volume is locked by hardware */
- kHFSVolumeUnmountedBit = 8, /* volume was successfully unmounted */
- kHFSVolumeSparedBlocksBit = 9, /* volume has bad blocks spared */
- kHFSVolumeNoCacheRequiredBit = 10, /* don't cache volume blocks (i.e. RAM or ROM disk) */
- kHFSBootVolumeInconsistentBit = 11, /* boot volume is inconsistent (System 7.6 and later) */
- /* Bits 12-14 are reserved for future use */
- kHFSVolumeSoftwareLockBit = 15, /* volume is locked by software */
- kHFSVolumeHardwareLockMask = 1 << kHFSVolumeHardwareLockBit,
- kHFSVolumeUnmountedMask = 1 << kHFSVolumeUnmountedBit,
- kHFSVolumeSparedBlocksMask = 1 << kHFSVolumeSparedBlocksBit,
- kHFSVolumeNoCacheRequiredMask = 1 << kHFSVolumeNoCacheRequiredBit,
- kHFSBootVolumeInconsistentMask = 1 << kHFSBootVolumeInconsistentBit,
- kHFSVolumeSoftwareLockMask = 1 << kHFSVolumeSoftwareLockBit,
- kHFSMDBAttributesMask = 0x8380
+enum {
+ /* Bits 0-6 are reserved (always cleared by MountVol call) */
+ kHFSVolumeHardwareLockBit = 7, /* volume is locked by hardware */
+ kHFSVolumeUnmountedBit = 8, /* volume was successfully unmounted */
+ kHFSVolumeSparedBlocksBit = 9, /* volume has bad blocks spared */
+ kHFSVolumeNoCacheRequiredBit = 10, /* don't cache volume blocks (i.e. RAM or ROM disk) */
+ kHFSBootVolumeInconsistentBit = 11, /* boot volume is inconsistent (System 7.6 and later) */
+ /* Bits 12-14 are reserved for future use */
+ kHFSVolumeSoftwareLockBit = 15, /* volume is locked by software */
+ kHFSVolumeHardwareLockMask = 1 << kHFSVolumeHardwareLockBit,
+ kHFSVolumeUnmountedMask = 1 << kHFSVolumeUnmountedBit,
+ kHFSVolumeSparedBlocksMask = 1 << kHFSVolumeSparedBlocksBit,
+ kHFSVolumeNoCacheRequiredMask = 1 << kHFSVolumeNoCacheRequiredBit,
+ kHFSBootVolumeInconsistentMask = 1 << kHFSBootVolumeInconsistentBit,
+ kHFSVolumeSoftwareLockMask = 1 << kHFSVolumeSoftwareLockBit,
+ kHFSMDBAttributesMask = 0x8380
};
/* Master Directory Block (HFS only) - 162 bytes */
/* Stored at sector #2 (3rd sector) */
-struct HFSMasterDirectoryBlock
-{
-
- /* These first fields are also used by MFS */
-
- UInt16 drSigWord; /* volume signature */
- UInt32 drCrDate; /* date and time of volume creation */
- UInt32 drLsMod; /* date and time of last modification */
- UInt16 drAtrb; /* volume attributes */
- UInt16 drNmFls; /* number of files in root folder */
- UInt16 drVBMSt; /* first block of volume bitmap */
- UInt16 drAllocPtr; /* start of next allocation search */
- UInt16 drNmAlBlks; /* number of allocation blocks in volume */
- UInt32 drAlBlkSiz; /* size (in bytes) of allocation blocks */
- UInt32 drClpSiz; /* default clump size */
- UInt16 drAlBlSt; /* first allocation block in volume */
- UInt32 drNxtCNID; /* next unused catalog node ID */
- UInt16 drFreeBks; /* number of unused allocation blocks */
- Str27 drVN; /* volume name */
-
- /* Master Directory Block extensions for HFS */
-
- UInt32 drVolBkUp; /* date and time of last backup */
- UInt16 drVSeqNum; /* volume backup sequence number */
- UInt32 drWrCnt; /* volume write count */
- UInt32 drXTClpSiz; /* clump size for extents overflow file */
- UInt32 drCTClpSiz; /* clump size for catalog file */
- UInt16 drNmRtDirs; /* number of directories in root folder */
- UInt32 drFilCnt; /* number of files in volume */
- UInt32 drDirCnt; /* number of directories in volume */
- SInt32 drFndrInfo[8]; /* information used by the Finder */
- UInt16 drEmbedSigWord; /* embedded volume signature (formerly drVCSize) */
- HFSExtentDescriptor drEmbedExtent; /* embedded volume location and size (formerly drVBMCSize and drCtlCSize) */
- UInt32 drXTFlSize; /* size of extents overflow file */
- HFSExtentRecord drXTExtRec; /* extent record for extents overflow file */
- UInt32 drCTFlSize; /* size of catalog file */
- HFSExtentRecord drCTExtRec; /* extent record for catalog file */
+struct HFSMasterDirectoryBlock {
+
+ /* These first fields are also used by MFS */
+
+ UInt16 drSigWord; /* volume signature */
+ UInt32 drCrDate; /* date and time of volume creation */
+ UInt32 drLsMod; /* date and time of last modification */
+ UInt16 drAtrb; /* volume attributes */
+ UInt16 drNmFls; /* number of files in root folder */
+ UInt16 drVBMSt; /* first block of volume bitmap */
+ UInt16 drAllocPtr; /* start of next allocation search */
+ UInt16 drNmAlBlks; /* number of allocation blocks in volume */
+ UInt32 drAlBlkSiz; /* size (in bytes) of allocation blocks */
+ UInt32 drClpSiz; /* default clump size */
+ UInt16 drAlBlSt; /* first allocation block in volume */
+ UInt32 drNxtCNID; /* next unused catalog node ID */
+ UInt16 drFreeBks; /* number of unused allocation blocks */
+ Str27 drVN; /* volume name */
+
+ /* Master Directory Block extensions for HFS */
+
+ UInt32 drVolBkUp; /* date and time of last backup */
+ UInt16 drVSeqNum; /* volume backup sequence number */
+ UInt32 drWrCnt; /* volume write count */
+ UInt32 drXTClpSiz; /* clump size for extents overflow file */
+ UInt32 drCTClpSiz; /* clump size for catalog file */
+ UInt16 drNmRtDirs; /* number of directories in root folder */
+ UInt32 drFilCnt; /* number of files in volume */
+ UInt32 drDirCnt; /* number of directories in volume */
+ SInt32 drFndrInfo[8]; /* information used by the Finder */
+ UInt16 drEmbedSigWord; /* embedded volume signature (formerly drVCSize) */
+ HFSExtentDescriptor drEmbedExtent; /* embedded volume location and size (formerly drVBMCSize and drCtlCSize) */
+ UInt32 drXTFlSize; /* size of extents overflow file */
+ HFSExtentRecord drXTExtRec; /* extent record for extents overflow file */
+ UInt32 drCTFlSize; /* size of catalog file */
+ HFSExtentRecord drCTExtRec; /* extent record for catalog file */
};
typedef struct HFSMasterDirectoryBlock HFSMasterDirectoryBlock;
/* HFSPlusVolumeHeader (HFS Plus only) - 512 bytes */
/* Stored at sector #2 (3rd sector) and second-to-last sector. */
-struct HFSPlusVolumeHeader
-{
- UInt16 signature; /* volume signature == 'H+' */
- UInt16 version; /* current version is kHFSPlusVersion */
- UInt32 attributes; /* volume attributes */
- UInt32 lastMountedVersion; /* implementation version which last mounted volume */
- UInt32 reserved; /* reserved - set to zero */
-
- UInt32 createDate; /* date and time of volume creation */
- UInt32 modifyDate; /* date and time of last modification */
- UInt32 backupDate; /* date and time of last backup */
- UInt32 checkedDate; /* date and time of last disk check */
-
- UInt32 fileCount; /* number of files in volume */
- UInt32 folderCount; /* number of directories in volume */
-
- UInt32 blockSize; /* size (in bytes) of allocation blocks */
- UInt32 totalBlocks; /* number of allocation blocks in volume (includes this header and VBM*/
- UInt32 freeBlocks; /* number of unused allocation blocks */
-
- UInt32 nextAllocation; /* start of next allocation search */
- UInt32 rsrcClumpSize; /* default resource fork clump size */
- UInt32 dataClumpSize; /* default data fork clump size */
- HFSCatalogNodeID nextCatalogID; /* next unused catalog node ID */
-
- UInt32 writeCount; /* volume write count */
- UInt64 encodingsBitmap; /* which encodings have been use on this volume */
-
- UInt8 finderInfo[32]; /* information used by the Finder */
-
- HFSPlusForkData allocationFile; /* allocation bitmap file */
- HFSPlusForkData extentsFile; /* extents B-tree file */
- HFSPlusForkData catalogFile; /* catalog B-tree file */
- HFSPlusForkData attributesFile; /* extended attributes B-tree file */
- HFSPlusForkData startupFile; /* boot file */
+struct HFSPlusVolumeHeader {
+ UInt16 signature; /* volume signature == 'H+' */
+ UInt16 version; /* current version is kHFSPlusVersion */
+ UInt32 attributes; /* volume attributes */
+ UInt32 lastMountedVersion; /* implementation version which last mounted volume */
+ UInt32 reserved; /* reserved - set to zero */
+
+ UInt32 createDate; /* date and time of volume creation */
+ UInt32 modifyDate; /* date and time of last modification */
+ UInt32 backupDate; /* date and time of last backup */
+ UInt32 checkedDate; /* date and time of last disk check */
+
+ UInt32 fileCount; /* number of files in volume */
+ UInt32 folderCount; /* number of directories in volume */
+
+ UInt32 blockSize; /* size (in bytes) of allocation blocks */
+ UInt32 totalBlocks; /* number of allocation blocks in volume (includes this header and VBM*/
+ UInt32 freeBlocks; /* number of unused allocation blocks */
+
+ UInt32 nextAllocation; /* start of next allocation search */
+ UInt32 rsrcClumpSize; /* default resource fork clump size */
+ UInt32 dataClumpSize; /* default data fork clump size */
+ HFSCatalogNodeID nextCatalogID; /* next unused catalog node ID */
+
+ UInt32 writeCount; /* volume write count */
+ UInt64 encodingsBitmap; /* which encodings have been use on this volume */
+
+ UInt8 finderInfo[32]; /* information used by the Finder */
+
+ HFSPlusForkData allocationFile; /* allocation bitmap file */
+ HFSPlusForkData extentsFile; /* extents B-tree file */
+ HFSPlusForkData catalogFile; /* catalog B-tree file */
+ HFSPlusForkData attributesFile; /* extended attributes B-tree file */
+ HFSPlusForkData startupFile; /* boot file */
};
typedef struct HFSPlusVolumeHeader HFSPlusVolumeHeader;
/* ---------- HFS and HFS Plus B-tree structures ---------- */
/* BTNodeDescriptor -- Every B-tree node starts with these fields. */
-struct BTNodeDescriptor
-{
- UInt32 fLink; /* next node at this level*/
- UInt32 bLink; /* previous node at this level*/
- SInt8 kind; /* kind of node (leaf, index, header, map)*/
- UInt8 height; /* zero for header, map; child is one more than parent*/
- UInt16 numRecords; /* number of records in this node*/
- UInt16 reserved; /* reserved; set to zero*/
+struct BTNodeDescriptor {
+ UInt32 fLink; /* next node at this level*/
+ UInt32 bLink; /* previous node at this level*/
+ SInt8 kind; /* kind of node (leaf, index, header, map)*/
+ UInt8 height; /* zero for header, map; child is one more than parent*/
+ UInt16 numRecords; /* number of records in this node*/
+ UInt16 reserved; /* reserved; set to zero*/
};
typedef struct BTNodeDescriptor BTNodeDescriptor;
/* Constants for BTNodeDescriptor kind */
-enum
-{
- kBTLeafNode = -1,
- kBTIndexNode = 0,
- kBTHeaderNode = 1,
- kBTMapNode = 2
+enum {
+ kBTLeafNode = -1,
+ kBTIndexNode = 0,
+ kBTHeaderNode = 1,
+ kBTMapNode = 2
};
/* BTHeaderRec -- The first record of a B-tree header node */
-struct BTHeaderRec
-{
- UInt16 treeDepth; /* maximum height (usually leaf nodes)*/
- UInt32 rootNode; /* node number of root node*/
- UInt32 leafRecords; /* number of leaf records in all leaf nodes*/
- UInt32 firstLeafNode; /* node number of first leaf node*/
- UInt32 lastLeafNode; /* node number of last leaf node*/
- UInt16 nodeSize; /* size of a node, in bytes*/
- UInt16 maxKeyLength; /* reserved*/
- UInt32 totalNodes; /* total number of nodes in tree*/
- UInt32 freeNodes; /* number of unused (free) nodes in tree*/
- UInt16 reserved1; /* unused*/
- UInt32 clumpSize; /* reserved*/
- UInt8 btreeType; /* reserved*/
- UInt8 reserved2; /* reserved*/
- UInt32 attributes; /* persistent attributes about the tree*/
- UInt32 reserved3[16]; /* reserved*/
+struct BTHeaderRec {
+ UInt16 treeDepth; /* maximum height (usually leaf nodes)*/
+ UInt32 rootNode; /* node number of root node*/
+ UInt32 leafRecords; /* number of leaf records in all leaf nodes*/
+ UInt32 firstLeafNode; /* node number of first leaf node*/
+ UInt32 lastLeafNode; /* node number of last leaf node*/
+ UInt16 nodeSize; /* size of a node, in bytes*/
+ UInt16 maxKeyLength; /* reserved*/
+ UInt32 totalNodes; /* total number of nodes in tree*/
+ UInt32 freeNodes; /* number of unused (free) nodes in tree*/
+ UInt16 reserved1; /* unused*/
+ UInt32 clumpSize; /* reserved*/
+ UInt8 btreeType; /* reserved*/
+ UInt8 reserved2; /* reserved*/
+ UInt32 attributes; /* persistent attributes about the tree*/
+ UInt32 reserved3[16]; /* reserved*/
};
typedef struct BTHeaderRec BTHeaderRec;
/* Constants for BTHeaderRec attributes */
-enum
-{
- kBTBadCloseMask = 0x00000001, /* reserved*/
- kBTBigKeysMask = 0x00000002, /* key length field is 16 bits*/
- kBTVariableIndexKeysMask = 0x00000004 /* keys in index nodes are variable length*/
+enum {
+ kBTBadCloseMask = 0x00000001, /* reserved*/
+ kBTBigKeysMask = 0x00000002, /* key length field is 16 bits*/
+ kBTVariableIndexKeysMask = 0x00000004 /* keys in index nodes are variable length*/
};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/HIMovieView.h b/include/qt/HIMovieView.h
index 56d1e9ca6..0ab41e545 100644
--- a/include/qt/HIMovieView.h
+++ b/include/qt/HIMovieView.h
@@ -1,17 +1,17 @@
/*
File: HIMovieView.h
-
+
Contains: HIView-based movie playback
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2004-2007 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 __HIMOVIEVIEW__
#define __HIMOVIEVIEW__
@@ -40,323 +40,321 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
#if TARGET_OS_MAC
- /*
- * kHIMovieViewClassID
- *
- * Summary:
- * Class ID for HIMovieView
- */
+/*
+ * kHIMovieViewClassID
+ *
+ * Summary:
+ * Class ID for HIMovieView
+ */
#define kHIMovieViewClassID CFSTR("com.apple.quicktime.HIMovieView")
- /*
- * Summary:
- * HIMovieView Event class
- */
- enum {
-
- /*
- * Events related to movie views.
- */
- kEventClassMovieView = FOUR_CHAR_CODE('moov')
- };
-
-
- /*
- * kEventClassMovieView / kEventMovieViewOptimalBoundsChanged
- *
- * Summary:
- * Sent when the movie size changes.
- *
- * Parameters:
- *
- * --> kEventParamDirectObject (in, typeControlRef)
- * The movie view whose size is changing.
- *
- * --> kEventParamControlOptimalBounds (in, typeHIRect)
- * The new optimal bounds.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- */
- enum
- {
- kEventMovieViewOptimalBoundsChanged = 1
- };
-
-
-
- /*
- * Summary:
- * HIMovieView attributes
- */
- enum
- {
-
- /*
- * No attributes
- */
- kHIMovieViewNoAttributes = 0L,
-
- /*
- * Movie controller bar is visible below visual content
- */
- kHIMovieViewControllerVisibleAttribute = (1L << 0),
-
- /*
- * Automatically call MCIdle() at appropriate times
- */
- kHIMovieViewAutoIdlingAttribute = (1L << 1),
-
- /*
- * Accepts keyboard focus
- */
- kHIMovieViewAcceptsFocusAttribute = (1L << 2),
-
- /*
- * Movie editing enabled
- */
- kHIMovieViewEditableAttribute = (1L << 3),
-
- /*
- * Handles editing HI commands such as cut, copy and paste
- */
- kHIMovieViewHandleEditingHIAttribute = (1L << 4),
-
- /*
- * Combination of kHIMovieViewControllerVisibleAttribute,
- * kHIMovieViewAutoIdlingAttribute, and
- * kHIMovieViewAcceptsFocusAttribute
- */
- kHIMovieViewStandardAttributes = (kHIMovieViewControllerVisibleAttribute | kHIMovieViewAutoIdlingAttribute | kHIMovieViewAcceptsFocusAttribute)
- };
-
- /*
- * HIMovieViewCreate()
- *
- * Summary:
- * Creates an HIMovieView object
- *
- * Discussion:
- * If successful, the created view will have a single retain count.
- *
- * Parameters:
- *
- * inMovie:
- * [in] Initial movie to view, may be NULL
- *
- * inAttributes:
- * [in] Initial HIMovieView attributes
- *
- * outMovieView:
- * [out] Points to variable to receive new HIMovieView
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- HIMovieViewCreate(
- Movie inMovie,
- OptionBits inAttributes,
- HIViewRef * outMovieView);
-
-
- /*
- * HIMovieViewGetMovie()
- *
- * Summary:
- * Returns the view's current movie.
- *
- * Parameters:
- *
- * inView:
- * [in] The HIMovieView
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Movie)
- HIMovieViewGetMovie(HIViewRef inView);
-
-
- /*
- * HIMovieViewSetMovie()
- *
- * Summary:
- * Sets the view's current movie.
- *
- * Parameters:
- *
- * inView:
- * [in] The HIMovieView
- *
- * inMovie:
- * [in] The new movie to display
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- HIMovieViewSetMovie(
- HIViewRef inView,
- Movie inMovie);
-
-
- /*
- * HIMovieViewGetAttributes()
- *
- * Summary:
- * Returns the view's current attributes.
- *
- * Parameters:
- *
- * inView:
- * [in] The HIMovieView
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OptionBits)
- HIMovieViewGetAttributes(HIViewRef inView);
-
-
- /*
- * HIMovieViewChangeAttributes()
- *
- * Summary:
- * Changes the views attributes.
- *
- * Discussion:
- * Setting an attribute takes precedence over clearing the attribute.
- *
- * Parameters:
- *
- * inView:
- * [in] The HIMovieView
- *
- * inAttributesToSet:
- * [in] Attributes to set
- *
- * inAttributesToClear:
- * [in] Attributes to clear
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- HIMovieViewChangeAttributes(
- HIViewRef inView,
- OptionBits inAttributesToSet,
- OptionBits inAttributesToClear);
-
-
- /*
- * HIMovieViewGetMovieController()
- *
- * Summary:
- * Returns the view's current movie controller.
- *
- * Parameters:
- *
- * inView:
- * [in] The HIMovieView
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(MovieController)
- HIMovieViewGetMovieController(HIViewRef inView);
-
-
- /*
- * HIMovieViewGetControllerBarSize()
- *
- * Summary:
- * Returns the size of the visible movie controller bar.
- *
- * Parameters:
- *
- * inView:
- * [in] The HIMovieView
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(HISize)
- HIMovieViewGetControllerBarSize(HIViewRef inView);
-
-
- /*
- * HIMovieViewPlay()
- *
- * Summary:
- * Convenience routine to play the view's current movie.
- *
- * Discussion:
- * If the movie is already playing, this function does nothing.
- *
- * Parameters:
- *
- * movieView:
- * [in] The movie view.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- HIMovieViewPlay(HIViewRef movieView);
-
-
- /*
- * HIMovieViewPause()
- *
- * Summary:
- * Convenience routine to pause the view's current movie.
- *
- * Discussion:
- * If the movie is already paused, this function does nothing.
- *
- * Parameters:
- *
- * movieView:
- * [in] The movie view.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- HIMovieViewPause(HIViewRef movieView);
+/*
+ * Summary:
+ * HIMovieView Event class
+ */
+enum {
+
+ /*
+ * Events related to movie views.
+ */
+ kEventClassMovieView = FOUR_CHAR_CODE('moov')
+};
+
+
+/*
+ * kEventClassMovieView / kEventMovieViewOptimalBoundsChanged
+ *
+ * Summary:
+ * Sent when the movie size changes.
+ *
+ * Parameters:
+ *
+ * --> kEventParamDirectObject (in, typeControlRef)
+ * The movie view whose size is changing.
+ *
+ * --> kEventParamControlOptimalBounds (in, typeHIRect)
+ * The new optimal bounds.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ */
+enum {
+ kEventMovieViewOptimalBoundsChanged = 1
+};
+
+
+
+/*
+ * Summary:
+ * HIMovieView attributes
+ */
+enum {
+
+ /*
+ * No attributes
+ */
+ kHIMovieViewNoAttributes = 0L,
+
+ /*
+ * Movie controller bar is visible below visual content
+ */
+ kHIMovieViewControllerVisibleAttribute = (1L << 0),
+
+ /*
+ * Automatically call MCIdle() at appropriate times
+ */
+ kHIMovieViewAutoIdlingAttribute = (1L << 1),
+
+ /*
+ * Accepts keyboard focus
+ */
+ kHIMovieViewAcceptsFocusAttribute = (1L << 2),
+
+ /*
+ * Movie editing enabled
+ */
+ kHIMovieViewEditableAttribute = (1L << 3),
+
+ /*
+ * Handles editing HI commands such as cut, copy and paste
+ */
+ kHIMovieViewHandleEditingHIAttribute = (1L << 4),
+
+ /*
+ * Combination of kHIMovieViewControllerVisibleAttribute,
+ * kHIMovieViewAutoIdlingAttribute, and
+ * kHIMovieViewAcceptsFocusAttribute
+ */
+ kHIMovieViewStandardAttributes = (kHIMovieViewControllerVisibleAttribute | kHIMovieViewAutoIdlingAttribute | kHIMovieViewAcceptsFocusAttribute)
+};
+
+/*
+ * HIMovieViewCreate()
+ *
+ * Summary:
+ * Creates an HIMovieView object
+ *
+ * Discussion:
+ * If successful, the created view will have a single retain count.
+ *
+ * Parameters:
+ *
+ * inMovie:
+ * [in] Initial movie to view, may be NULL
+ *
+ * inAttributes:
+ * [in] Initial HIMovieView attributes
+ *
+ * outMovieView:
+ * [out] Points to variable to receive new HIMovieView
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+HIMovieViewCreate(
+ Movie inMovie,
+ OptionBits inAttributes,
+ HIViewRef * outMovieView);
+
+
+/*
+ * HIMovieViewGetMovie()
+ *
+ * Summary:
+ * Returns the view's current movie.
+ *
+ * Parameters:
+ *
+ * inView:
+ * [in] The HIMovieView
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Movie )
+HIMovieViewGetMovie(HIViewRef inView);
+
+
+/*
+ * HIMovieViewSetMovie()
+ *
+ * Summary:
+ * Sets the view's current movie.
+ *
+ * Parameters:
+ *
+ * inView:
+ * [in] The HIMovieView
+ *
+ * inMovie:
+ * [in] The new movie to display
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+HIMovieViewSetMovie(
+ HIViewRef inView,
+ Movie inMovie);
+
+
+/*
+ * HIMovieViewGetAttributes()
+ *
+ * Summary:
+ * Returns the view's current attributes.
+ *
+ * Parameters:
+ *
+ * inView:
+ * [in] The HIMovieView
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OptionBits )
+HIMovieViewGetAttributes(HIViewRef inView);
+
+
+/*
+ * HIMovieViewChangeAttributes()
+ *
+ * Summary:
+ * Changes the views attributes.
+ *
+ * Discussion:
+ * Setting an attribute takes precedence over clearing the attribute.
+ *
+ * Parameters:
+ *
+ * inView:
+ * [in] The HIMovieView
+ *
+ * inAttributesToSet:
+ * [in] Attributes to set
+ *
+ * inAttributesToClear:
+ * [in] Attributes to clear
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+HIMovieViewChangeAttributes(
+ HIViewRef inView,
+ OptionBits inAttributesToSet,
+ OptionBits inAttributesToClear);
+
+
+/*
+ * HIMovieViewGetMovieController()
+ *
+ * Summary:
+ * Returns the view's current movie controller.
+ *
+ * Parameters:
+ *
+ * inView:
+ * [in] The HIMovieView
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( MovieController )
+HIMovieViewGetMovieController(HIViewRef inView);
+
+
+/*
+ * HIMovieViewGetControllerBarSize()
+ *
+ * Summary:
+ * Returns the size of the visible movie controller bar.
+ *
+ * Parameters:
+ *
+ * inView:
+ * [in] The HIMovieView
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( HISize )
+HIMovieViewGetControllerBarSize(HIViewRef inView);
+
+
+/*
+ * HIMovieViewPlay()
+ *
+ * Summary:
+ * Convenience routine to play the view's current movie.
+ *
+ * Discussion:
+ * If the movie is already playing, this function does nothing.
+ *
+ * Parameters:
+ *
+ * movieView:
+ * [in] The movie view.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+HIMovieViewPlay(HIViewRef movieView);
+
+
+/*
+ * HIMovieViewPause()
+ *
+ * Summary:
+ * Convenience routine to pause the view's current movie.
+ *
+ * Discussion:
+ * If the movie is already paused, this function does nothing.
+ *
+ * Parameters:
+ *
+ * movieView:
+ * [in] The movie view.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+HIMovieViewPause(HIViewRef movieView);
#endif /* TARGET_OS_MAC */
@@ -366,11 +364,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/HIObject.h b/include/qt/HIObject.h
index c3db03d72..7e4ac099a 100644
--- a/include/qt/HIObject.h
+++ b/include/qt/HIObject.h
@@ -1,17 +1,17 @@
/*
File: HIObject.h
-
+
Contains: Base object for HIToolbox
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __HIOBJECT__
#define __HIOBJECT__
@@ -44,683 +44,680 @@ extern "C" {
#endif
- /*
- * HIObject
- *
- * Discussion:
- * HIObject is the HIToolbox's base class for various objects. Over
- * time, all of our common objects (controls, windows, menus, etc.)
- * will be derived from HIObject. Code which is external to
- * HIToolbox can also create its own subclasses of our objects using
- * the routines contained in this file. There are also polymorphic
- * functions one can use on any HIObject for getting the class ID,
- * etc.
- *
- * HIObjects are actually CF types under the hood. This means that
- * they can be put into CF collections and retain/release can be
- * called on them.
- *
- * An HIObject is essentially a very basic building-block object
- * which contains an event target. You can create these objects to
- * use as your own Carbon Event receptors in your application, or
- * you can subclass existing Toolbox object to suit your needs.
- *
- *
- * You register your subclasses with HIObjectRegisterSubclass,
- * passing your class ID, the parent class, and an event handler.
- * You also pass a list of events the handler is interested in.
- *
- *
- * To create an object of your subclass, you call HIObjectCreate,
- * passing the class ref you registered, as well as an
- * initialization event.
- *
- * Construction is two-phase: first the basic construction of the
- * object is done, then initialization is performed. The toolbox
- * sends construction events bottom-up, as you would expect in C++
- * or the like. Here is the list of what goes on to create an
- * object:
- *
- * 1) The Toolbox creates the base HIObject
- *
- * 2) It then installs the event handler you specified when you
- * registered your subclass. Your handler must listen for
- * kEventHIObjectConstruct and kEventHIObjectDestruct events. If it
- * does not, the class cannot be registered (you will get a
- * paramErr).
- *
- * 3) Next, the Toolbox _directly_ calls your handler with an
- * kEventHIObjectConstruct event. When called like this, you are not
- * really being called in the context of a handler stack, so you
- * cannot do things like CallNextEventHandler. The userData
- * parameter is what you specified when you registered the class.
- * Typically, during construction you will allocate memory yourself
- * to store your own instance data; this allocation might be as
- * simple as calling malloc or NewPtr, or it might involve creating
- * your own C++ object. In the construct event, you are passed the
- * base HIObjectRef of the object being created. Typically you would
- * store this HIObjectRef in your own instance data for later use.
- * When handling this construct event, you should be sure to use
- * SetEventParameter to set the kEventParamHIObjectInstance
- * parameter in the construction event with your own instance data.
- * You must use typeVoidPtr as the type.
- *
- * 4) The Toolbox looks for your instance of typeVoidPtr after you
- * handle the construct event. It then takes that data and stores it
- * off with the object and also sets the user data of the event
- * handler it installed to be this instance data. This means that
- * following the construct event, all calls to your event handler
- * will have the instance data you returned to us.
- *
- * 5) Once construction has completed successfully, we will send
- * your object the initialize event passed into HIObjectCreate. At
- * this point, all events are now sent to your object using standard
- * Carbon Events mechanisms (it is only the construct event which is
- * special). When we send the initialization event to your subclass,
- * you should pass the event to your superclass before proceeding.
- * You do this with CallNextEventHandler. Once back from that call,
- * you should verify that the result is noErr, indicating that the
- * superclass did in fact initialize properly. If it did not, your
- * should return the error that CallNextEventHandler returned from
- * your handler as well. The object will be destroyed by the
- * Toolbox. Your object should be able to be destroyed in a
- * partially initialized state such as this. This stage is optional,
- * i.e. an object does not need to respond to the initialize event
- * unless it is expecting certain parameters to be passed to it at
- * creation time. This is where those parameters can be fetched.
- *
- *
- * 6) Once initialization is successful, the HIObjectRef is
- * returned to the caller of HIObjectCreate. From there, you can
- * have all sorts of cool fun.
- *
- * When someone has called HIObjectRelease enough such that the
- * refcount of the object drops to zero, the object is destroyed.
- * The Toolbox will send a kEventHIObjectDestruct event to your
- * object. DO NOT CALL CALLNEXTEVENTHANDLER. You will be setting
- * yourself up for some hurt. Just clean up and return from your
- * handler.
- */
- typedef struct OpaqueHIObjectClassRef* HIObjectClassRef;
- typedef struct OpaqueHIObjectRef* HIObjectRef;
-
- /*
- * Discussion:
- * HIObject errors
- */
- enum
- {
-
- /*
- * You are trying to register a class ID that already exists.
- */
- hiObjectClassExistsErr = -22080,
-
- /*
- * You are trying to unregister a class which has instances which
- * still exist. You must destroy them first, before they destroy you!
- */
- hiObjectClassHasInstancesErr = -22081,
- hiObjectClassHasSubclassesErr = -22082,
-
- /*
- * You are trying to create an HIObject class that is defined as
- * being abstract. You must subclass it instead. Oh yes. Don't make
- * us say it twice!
- */
- hiObjectClassIsAbstractErr = -22083
- };
-
-
-
- /*
- Parameters for HIObject events:
-
- kEventHIObjectConstruct
- --> kEventParamHIObjectInstance typeHIObjectRef
-
- kEventHIObjectInitialize
- This is up to the class and any superclasses. It will contain the
- union of all parameters needed by all classes to properly construct.
-
- kEventHIObjectDestruct
- No parameters are passed.
-
- kEventHIObjectIsEqual
- --> kEventParamDirectObject typeHIObjectRef
-
- kEventHIObjectPrintDebugInfo
- no parameters
- */
-
- /*
- * Discussion:
- * These enums define the base class functionality of HIObjects. You
- * should only need to be aware of these if you are implementing a
- * subclass.
- */
- enum
- {
-
- /*
- * The event class for HIObject events
- */
- kEventClassHIObject = FOUR_CHAR_CODE('hiob'),
-
- /*
- * Your object is being constructed. When your event handler is
- * called with this event, it is being called directly and not
- * through the normal event dispatching mechanism. This means that
- * the EventHandlerCallRef passed to your handler will be NULL and
- * CallNextEventHandler will not work. You are passed the actual
- * HIObjectRef of your base class for you to record in your instance
- * data.
- */
- kEventHIObjectConstruct = 1,
-
- /*
- * Your object is being initialized. Your handler should pass this
- * onto the superclass first before handling this event. This is done
- * by calling CallNextEventHandler with the event. When that function
- * returns, you should make sure the result is noErr. If not, you
- * should NOT continue to initialize your class.
- */
- kEventHIObjectInitialize = 2,
-
- /*
- * Your object is being destroyed. This is your chance to dispose of
- * anything you might have allocated for your object. Do NOT call
- * through with CallNextEventHandler, as you will disrupt the fabric
- * of space-time.
- */
- kEventHIObjectDestruct = 3,
-
- /*
- * HIObjectIsEqual has been called, and you are being asked to
- * determine if your object is equivalent to the one being passed to
- * your handler. You should return true if so, and false if not.
- */
- kEventHIObjectIsEqual = 4,
-
- /*
- * HIObjectPrintDebugInfo has been called, and you are being asked to
- * print your information to stdout. This event is sent to all
- * handlers and you should NOT call CallNextEventHandler.
- */
- kEventHIObjectPrintDebugInfo = 5
- };
-
- enum
- {
- kEventParamHIObjectInstance = FOUR_CHAR_CODE('hioi'),
- typeHIObjectRef = FOUR_CHAR_CODE('hiob')
- };
+/*
+ * HIObject
+ *
+ * Discussion:
+ * HIObject is the HIToolbox's base class for various objects. Over
+ * time, all of our common objects (controls, windows, menus, etc.)
+ * will be derived from HIObject. Code which is external to
+ * HIToolbox can also create its own subclasses of our objects using
+ * the routines contained in this file. There are also polymorphic
+ * functions one can use on any HIObject for getting the class ID,
+ * etc.
+ *
+ * HIObjects are actually CF types under the hood. This means that
+ * they can be put into CF collections and retain/release can be
+ * called on them.
+ *
+ * An HIObject is essentially a very basic building-block object
+ * which contains an event target. You can create these objects to
+ * use as your own Carbon Event receptors in your application, or
+ * you can subclass existing Toolbox object to suit your needs.
+ *
+ *
+ * You register your subclasses with HIObjectRegisterSubclass,
+ * passing your class ID, the parent class, and an event handler.
+ * You also pass a list of events the handler is interested in.
+ *
+ *
+ * To create an object of your subclass, you call HIObjectCreate,
+ * passing the class ref you registered, as well as an
+ * initialization event.
+ *
+ * Construction is two-phase: first the basic construction of the
+ * object is done, then initialization is performed. The toolbox
+ * sends construction events bottom-up, as you would expect in C++
+ * or the like. Here is the list of what goes on to create an
+ * object:
+ *
+ * 1) The Toolbox creates the base HIObject
+ *
+ * 2) It then installs the event handler you specified when you
+ * registered your subclass. Your handler must listen for
+ * kEventHIObjectConstruct and kEventHIObjectDestruct events. If it
+ * does not, the class cannot be registered (you will get a
+ * paramErr).
+ *
+ * 3) Next, the Toolbox _directly_ calls your handler with an
+ * kEventHIObjectConstruct event. When called like this, you are not
+ * really being called in the context of a handler stack, so you
+ * cannot do things like CallNextEventHandler. The userData
+ * parameter is what you specified when you registered the class.
+ * Typically, during construction you will allocate memory yourself
+ * to store your own instance data; this allocation might be as
+ * simple as calling malloc or NewPtr, or it might involve creating
+ * your own C++ object. In the construct event, you are passed the
+ * base HIObjectRef of the object being created. Typically you would
+ * store this HIObjectRef in your own instance data for later use.
+ * When handling this construct event, you should be sure to use
+ * SetEventParameter to set the kEventParamHIObjectInstance
+ * parameter in the construction event with your own instance data.
+ * You must use typeVoidPtr as the type.
+ *
+ * 4) The Toolbox looks for your instance of typeVoidPtr after you
+ * handle the construct event. It then takes that data and stores it
+ * off with the object and also sets the user data of the event
+ * handler it installed to be this instance data. This means that
+ * following the construct event, all calls to your event handler
+ * will have the instance data you returned to us.
+ *
+ * 5) Once construction has completed successfully, we will send
+ * your object the initialize event passed into HIObjectCreate. At
+ * this point, all events are now sent to your object using standard
+ * Carbon Events mechanisms (it is only the construct event which is
+ * special). When we send the initialization event to your subclass,
+ * you should pass the event to your superclass before proceeding.
+ * You do this with CallNextEventHandler. Once back from that call,
+ * you should verify that the result is noErr, indicating that the
+ * superclass did in fact initialize properly. If it did not, your
+ * should return the error that CallNextEventHandler returned from
+ * your handler as well. The object will be destroyed by the
+ * Toolbox. Your object should be able to be destroyed in a
+ * partially initialized state such as this. This stage is optional,
+ * i.e. an object does not need to respond to the initialize event
+ * unless it is expecting certain parameters to be passed to it at
+ * creation time. This is where those parameters can be fetched.
+ *
+ *
+ * 6) Once initialization is successful, the HIObjectRef is
+ * returned to the caller of HIObjectCreate. From there, you can
+ * have all sorts of cool fun.
+ *
+ * When someone has called HIObjectRelease enough such that the
+ * refcount of the object drops to zero, the object is destroyed.
+ * The Toolbox will send a kEventHIObjectDestruct event to your
+ * object. DO NOT CALL CALLNEXTEVENTHANDLER. You will be setting
+ * yourself up for some hurt. Just clean up and return from your
+ * handler.
+ */
+typedef struct OpaqueHIObjectClassRef* HIObjectClassRef;
+typedef struct OpaqueHIObjectRef* HIObjectRef;
+
+/*
+ * Discussion:
+ * HIObject errors
+ */
+enum {
+
+ /*
+ * You are trying to register a class ID that already exists.
+ */
+ hiObjectClassExistsErr = -22080,
+
+ /*
+ * You are trying to unregister a class which has instances which
+ * still exist. You must destroy them first, before they destroy you!
+ */
+ hiObjectClassHasInstancesErr = -22081,
+ hiObjectClassHasSubclassesErr = -22082,
+
+ /*
+ * You are trying to create an HIObject class that is defined as
+ * being abstract. You must subclass it instead. Oh yes. Don't make
+ * us say it twice!
+ */
+ hiObjectClassIsAbstractErr = -22083
+};
+
+
+
+/*
+ Parameters for HIObject events:
+
+ kEventHIObjectConstruct
+ --> kEventParamHIObjectInstance typeHIObjectRef
+
+ kEventHIObjectInitialize
+ This is up to the class and any superclasses. It will contain the
+ union of all parameters needed by all classes to properly construct.
+
+ kEventHIObjectDestruct
+ No parameters are passed.
+
+ kEventHIObjectIsEqual
+ --> kEventParamDirectObject typeHIObjectRef
+
+ kEventHIObjectPrintDebugInfo
+ no parameters
+*/
+
+/*
+ * Discussion:
+ * These enums define the base class functionality of HIObjects. You
+ * should only need to be aware of these if you are implementing a
+ * subclass.
+ */
+enum {
+
+ /*
+ * The event class for HIObject events
+ */
+ kEventClassHIObject = FOUR_CHAR_CODE('hiob'),
+
+ /*
+ * Your object is being constructed. When your event handler is
+ * called with this event, it is being called directly and not
+ * through the normal event dispatching mechanism. This means that
+ * the EventHandlerCallRef passed to your handler will be NULL and
+ * CallNextEventHandler will not work. You are passed the actual
+ * HIObjectRef of your base class for you to record in your instance
+ * data.
+ */
+ kEventHIObjectConstruct = 1,
+
+ /*
+ * Your object is being initialized. Your handler should pass this
+ * onto the superclass first before handling this event. This is done
+ * by calling CallNextEventHandler with the event. When that function
+ * returns, you should make sure the result is noErr. If not, you
+ * should NOT continue to initialize your class.
+ */
+ kEventHIObjectInitialize = 2,
+
+ /*
+ * Your object is being destroyed. This is your chance to dispose of
+ * anything you might have allocated for your object. Do NOT call
+ * through with CallNextEventHandler, as you will disrupt the fabric
+ * of space-time.
+ */
+ kEventHIObjectDestruct = 3,
+
+ /*
+ * HIObjectIsEqual has been called, and you are being asked to
+ * determine if your object is equivalent to the one being passed to
+ * your handler. You should return true if so, and false if not.
+ */
+ kEventHIObjectIsEqual = 4,
+
+ /*
+ * HIObjectPrintDebugInfo has been called, and you are being asked to
+ * print your information to stdout. This event is sent to all
+ * handlers and you should NOT call CallNextEventHandler.
+ */
+ kEventHIObjectPrintDebugInfo = 5
+};
+
+enum {
+ kEventParamHIObjectInstance = FOUR_CHAR_CODE('hioi'),
+ typeHIObjectRef = FOUR_CHAR_CODE('hiob')
+};
#define _HIObjectRegisterSubclass HIObjectRegisterSubclass
- /*
- * HIObjectRegisterSubclass()
- *
- * Discussion:
- * Registers a class with the Toolbox for creation later.
- *
- * Parameters:
- *
- * inClassID:
- * The class ID of your class. It should be unique. We recommend
- * using Java-style com.company.foo naming conventions to avoid
- * collisions.
- *
- * inBaseClassID:
- * The class ID of the class you derive from. Passing NULL
- * indicates you wish to subclass HIObject (the base class)
- * directly.
- *
- * inOptions:
- * Any special options for your class. Currently you must pass 0
- * for this parameter.
- *
- * inConstructProc:
- * The construction proc for this subclass. You pass the address
- * of an event handler into this parameter. This handler is called
- * directly, rather than through the normal event dispatching
- * mechanism. This means that the EventHandlerCallRef passed in
- * will be NULL, and you cannot use it for calls like
- * CallNextEventHandler. Other than that, you should return a
- * result as usual. After your object is constructed, this proc
- * will be installed as the event handler for the remaining events
- * specified in the inEventList parameter.
- *
- * inNumEvents:
- * The number of events you are installing.
- *
- * inEventList:
- * The events your handler wishes to receive. You must handle the
- * kEventHIObjectConstruct and kEventHIObjectDestruct event. If
- * these events are not specified, an error is returned.
- *
- * inConstructData:
- * Pass any info you want passed into your event handler here. For
- * a C++ hierarchy based on HIObjects, you might actually pass a
- * static method to construct your object here, and the base class
- * event handler to do construction as your event handler.
- *
- * outClassRef:
- * The newly created class reference. Pass NULL if you don't care.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIObjectRegisterSubclass(
- CFStringRef inClassID,
- CFStringRef inBaseClassID,
- OptionBits inOptions,
- EventHandlerUPP inConstructProc,
- UInt32 inNumEvents,
- const EventTypeSpec * inEventList,
- void * inConstructData,
- HIObjectClassRef * outClassRef); /* can be NULL */
-
-
- /*
- * HIObjectUnregisterClass()
- *
- * Discussion:
- * Unregisters a previously registered subclass of HIObject. You
- * will receive an error if there are subclasses of your class or
- * instances of it which still exist. All instances and subclasses
- * must be disposed of and unregistered first.
- *
- * Parameters:
- *
- * inClassRef:
- * The class ref of the class of object you wish to unregister.
- *
- * inConstructData:
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIObjectUnregisterClass(HIObjectClassRef inClassRef);
+/*
+ * HIObjectRegisterSubclass()
+ *
+ * Discussion:
+ * Registers a class with the Toolbox for creation later.
+ *
+ * Parameters:
+ *
+ * inClassID:
+ * The class ID of your class. It should be unique. We recommend
+ * using Java-style com.company.foo naming conventions to avoid
+ * collisions.
+ *
+ * inBaseClassID:
+ * The class ID of the class you derive from. Passing NULL
+ * indicates you wish to subclass HIObject (the base class)
+ * directly.
+ *
+ * inOptions:
+ * Any special options for your class. Currently you must pass 0
+ * for this parameter.
+ *
+ * inConstructProc:
+ * The construction proc for this subclass. You pass the address
+ * of an event handler into this parameter. This handler is called
+ * directly, rather than through the normal event dispatching
+ * mechanism. This means that the EventHandlerCallRef passed in
+ * will be NULL, and you cannot use it for calls like
+ * CallNextEventHandler. Other than that, you should return a
+ * result as usual. After your object is constructed, this proc
+ * will be installed as the event handler for the remaining events
+ * specified in the inEventList parameter.
+ *
+ * inNumEvents:
+ * The number of events you are installing.
+ *
+ * inEventList:
+ * The events your handler wishes to receive. You must handle the
+ * kEventHIObjectConstruct and kEventHIObjectDestruct event. If
+ * these events are not specified, an error is returned.
+ *
+ * inConstructData:
+ * Pass any info you want passed into your event handler here. For
+ * a C++ hierarchy based on HIObjects, you might actually pass a
+ * static method to construct your object here, and the base class
+ * event handler to do construction as your event handler.
+ *
+ * outClassRef:
+ * The newly created class reference. Pass NULL if you don't care.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIObjectRegisterSubclass(
+ CFStringRef inClassID,
+ CFStringRef inBaseClassID,
+ OptionBits inOptions,
+ EventHandlerUPP inConstructProc,
+ UInt32 inNumEvents,
+ const EventTypeSpec * inEventList,
+ void * inConstructData,
+ HIObjectClassRef * outClassRef); /* can be NULL */
+
+
+/*
+ * HIObjectUnregisterClass()
+ *
+ * Discussion:
+ * Unregisters a previously registered subclass of HIObject. You
+ * will receive an error if there are subclasses of your class or
+ * instances of it which still exist. All instances and subclasses
+ * must be disposed of and unregistered first.
+ *
+ * Parameters:
+ *
+ * inClassRef:
+ * The class ref of the class of object you wish to unregister.
+ *
+ * inConstructData:
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIObjectUnregisterClass(HIObjectClassRef inClassRef);
#define _HIObjectCreate HIObjectCreate
- /*
- * HIObjectCreate()
- *
- * Discussion:
- * Creates an object derived from HIObject.
- *
- * Parameters:
- *
- * inClassID:
- * The class ID of the class of object you wish to instantiate.
- *
- * inConstructData:
- * If your class (or any class you derive from) accepts creation
- * parameters, you need to pass an event into this parameter. The
- * class must be kEventClassHIObject, and the kind should be
- * kEventHIObjectInitialize. Any other parameters should be added
- * as necessary. Specific subclasses of HIObject which require
- * initialization parameters will specify those parameters in the
- * appropriate headers.
- *
- * outObject:
- * The instance of the object you create.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIObjectCreate(
- CFStringRef inClassID,
- EventRef inConstructData,
- HIObjectRef * outObject);
+/*
+ * HIObjectCreate()
+ *
+ * Discussion:
+ * Creates an object derived from HIObject.
+ *
+ * Parameters:
+ *
+ * inClassID:
+ * The class ID of the class of object you wish to instantiate.
+ *
+ * inConstructData:
+ * If your class (or any class you derive from) accepts creation
+ * parameters, you need to pass an event into this parameter. The
+ * class must be kEventClassHIObject, and the kind should be
+ * kEventHIObjectInitialize. Any other parameters should be added
+ * as necessary. Specific subclasses of HIObject which require
+ * initialization parameters will specify those parameters in the
+ * appropriate headers.
+ *
+ * outObject:
+ * The instance of the object you create.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIObjectCreate(
+ CFStringRef inClassID,
+ EventRef inConstructData,
+ HIObjectRef * outObject);
#define _HIObjectGetEventTarget HIObjectGetEventTarget
- /*
- * HIObjectGetEventTarget()
- *
- * Discussion:
- * Returns the event target of an HIObjectRef.
- *
- * Parameters:
- *
- * inObject:
- * The object whose target you want.
- *
- * Result:
- * An EventTargetRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(EventTargetRef)
- HIObjectGetEventTarget(HIObjectRef inObject);
+/*
+ * HIObjectGetEventTarget()
+ *
+ * Discussion:
+ * Returns the event target of an HIObjectRef.
+ *
+ * Parameters:
+ *
+ * inObject:
+ * The object whose target you want.
+ *
+ * Result:
+ * An EventTargetRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( EventTargetRef )
+HIObjectGetEventTarget(HIObjectRef inObject);
#define _HIObjectPrintDebugInfo HIObjectPrintDebugInfo
- /*
- * HIObjectPrintDebugInfo()
- *
- * Discussion:
- * Prints the internal information of an HIObject for debugging
- * purposes. It outputs the info to stdout.
- *
- * Parameters:
- *
- * inObject:
- * The object to inspect.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- HIObjectPrintDebugInfo(HIObjectRef inObject);
+/*
+ * HIObjectPrintDebugInfo()
+ *
+ * Discussion:
+ * Prints the internal information of an HIObject for debugging
+ * purposes. It outputs the info to stdout.
+ *
+ * Parameters:
+ *
+ * inObject:
+ * The object to inspect.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+HIObjectPrintDebugInfo(HIObjectRef inObject);
#define _HIObjectCopyClassID HIObjectCopyClassID
- /*
- * HIObjectCopyClassID()
- *
- * Discussion:
- * Returns the class ID of a given HIObject.
- *
- * Parameters:
- *
- * inObject:
- * The object whose class ID you are interested in.
- *
- * Result:
- * A CFStringRef containing the object's class ID.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFStringRef)
- HIObjectCopyClassID(HIObjectRef inObject);
+/*
+ * HIObjectCopyClassID()
+ *
+ * Discussion:
+ * Returns the class ID of a given HIObject.
+ *
+ * Parameters:
+ *
+ * inObject:
+ * The object whose class ID you are interested in.
+ *
+ * Result:
+ * A CFStringRef containing the object's class ID.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFStringRef )
+HIObjectCopyClassID(HIObjectRef inObject);
#define _HIObjectIsOfClass HIObjectIsOfClass
- /*
- * HIObjectIsOfClass()
- *
- * Discussion:
- * Returns whether or not an object is of a certain class. You can
- * us this to see whether or not an object you have derives from an
- * expected superclass.
- *
- * Parameters:
- *
- * inObject:
- * The object whose class ID you wish to check.
- *
- * inObjectClassID:
- * The class ID in question.
- *
- * Result:
- * A Boolean result indicating whether or not the object is of the
- * class specified.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIObjectIsOfClass(
- HIObjectRef inObject,
- CFStringRef inObjectClassID);
+/*
+ * HIObjectIsOfClass()
+ *
+ * Discussion:
+ * Returns whether or not an object is of a certain class. You can
+ * us this to see whether or not an object you have derives from an
+ * expected superclass.
+ *
+ * Parameters:
+ *
+ * inObject:
+ * The object whose class ID you wish to check.
+ *
+ * inObjectClassID:
+ * The class ID in question.
+ *
+ * Result:
+ * A Boolean result indicating whether or not the object is of the
+ * class specified.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIObjectIsOfClass(
+ HIObjectRef inObject,
+ CFStringRef inObjectClassID);
#define _HIObjectDynamicCast HIObjectDynamicCast
- /*
- * HIObjectDynamicCast()
- *
- * Discussion:
- * Returns the instance data for a specific class of an HIObject.
- * The instance data returned is the same instance data the class's
- * construction event handler returns in the instance data
- * parameter. This is stored off with the class reference so that it
- * can be fetched later for use by this function. It allows your
- * subclass to easily get at the data it created, if your subclass
- * needs that data outside of an event handler. (Inside an event
- * handler, your subclass can get at its instance data via the
- * userData parameter to the event handler.)
- *
- * Parameters:
- *
- * inObject:
- * The object whose class ID you wish to check.
- *
- * inClassID:
- * The class ID to get the instance data for.
- *
- * Result:
- * A void * result which contains the instance data for the object,
- * or NULL if the object is not an instance of the class.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void *)
- HIObjectDynamicCast(
- HIObjectRef inObject,
- CFStringRef inClassID);
-
-
- /*
- * HIObjectCreateFromBundle()
- *
- * Discussion:
- * Returns the HIObject for the given bundle. A bundle can be
- * designed to communicate with an app through an HIObject. The
- * bundle must be designed to create an HIObject and have a defined
- * suite of CarbonEvents that clients can use to communicate with
- * the bundle's HIObject. Given a CFBundleRef, this API will tell
- * the bundle to create the HIObject and return it to the caller.
- *
- * Parameters:
- *
- * inBundle:
- * The bundle that you wish to communicate with.
- *
- * outObject:
- * The HIObject associated with the bundle.
- *
- * Result:
- * An operating system result code. If the bundle's HIObject
- * creation function cannot be found, cfragNoSymbolErr will be
- * returned.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIObjectCreateFromBundle(
- CFBundleRef inBundle,
- HIObjectRef * outObject);
-
-
- /*
- * HIObjectIsAccessibilityIgnored()
- *
- * Discussion:
- * Reports whether or not the given HIObject is marked as ignored
- * for accessibility.
- * See the discussion of HIObjectSetAccessibilityIgnored for details
- * on what it means to be accessibility ignored.
- *
- * Parameters:
- *
- * inObject:
- * The object whose accessibility ignored state you wish to query.
- *
- * Result:
- * A Boolean value indicating whether or not the HIObject is ignored
- * for accessibility.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIObjectIsAccessibilityIgnored(HIObjectRef inObject);
-
-
- /*
- * HIObjectSetAccessibilityIgnored()
- *
- * Discussion:
- * Marks an HIObject as ignored (or not) for the purposes of the
- * accessibility APIs.
- * An HIObject that is ignored for accessibility will never be shown
- * to an assistive application that uses the accessibility APIs to
- * examine an interface. Your application's accessibility
- * implementation can (and should) still report an ignored HIObject
- * as usual. Carbon's accessibility engine will automatically prune
- * any ignored HIObjects out of the data that is shown to an
- * assistive application.
- * By default, an HIObject is *not* accessibility ignored.
- *
- * Parameters:
- *
- * inObject:
- * The object whose accessibility ignored state you wish to change.
- *
- * inIgnored:
- * A Boolean value indicating whether or not to ignore the object.
- *
- * Result:
- * An OSStatus signifying success or failure.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIObjectSetAccessibilityIgnored(
- HIObjectRef inObject,
- Boolean inIgnored);
-
-
- /*==============================================================================*/
- /* DEPRECATED! DO NOT USE. USE CF ROUTINES INSTEAD!!! */
- /*==============================================================================*/
- /* Use CFRetain instead!*/
- /*
- * _HIObjectRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIObjectRef)
- _HIObjectRetain(HIObjectRef inObject);
-
-
- /* Use CFRelease instead!*/
- /*
- * _HIObjectRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- _HIObjectRelease(HIObjectRef inObject);
-
-
- /* Use CFGetRetainCount instead!*/
- /*
- * _HIObjectGetRetainCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(UInt32)
- _HIObjectGetRetainCount(HIObjectRef inObject);
-
-
- /* Use CFEqual instead!*/
- /*
- * _HIObjectIsEqual()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- _HIObjectIsEqual(
- HIObjectRef inObject,
- HIObjectRef inOtherObject);
-
-
- /*
- These are no longer necessary! Just put the HIObjectRef directly into
- an array using the standard CFType callbacks.
- */
- /*
- * kHIObjectCFArrayCallbacks
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- extern const CFArrayCallBacks kHIObjectCFArrayCallbacks;
- /*
- * kHIObjectCFDictKeyCallbacks
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- extern const CFDictionaryKeyCallBacks kHIObjectCFDictKeyCallbacks;
- /*
- * kHIObjectCFDictValueCallbacks
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- extern const CFDictionaryValueCallBacks kHIObjectCFDictValueCallbacks;
+/*
+ * HIObjectDynamicCast()
+ *
+ * Discussion:
+ * Returns the instance data for a specific class of an HIObject.
+ * The instance data returned is the same instance data the class's
+ * construction event handler returns in the instance data
+ * parameter. This is stored off with the class reference so that it
+ * can be fetched later for use by this function. It allows your
+ * subclass to easily get at the data it created, if your subclass
+ * needs that data outside of an event handler. (Inside an event
+ * handler, your subclass can get at its instance data via the
+ * userData parameter to the event handler.)
+ *
+ * Parameters:
+ *
+ * inObject:
+ * The object whose class ID you wish to check.
+ *
+ * inClassID:
+ * The class ID to get the instance data for.
+ *
+ * Result:
+ * A void * result which contains the instance data for the object,
+ * or NULL if the object is not an instance of the class.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void * )
+HIObjectDynamicCast(
+ HIObjectRef inObject,
+ CFStringRef inClassID);
+
+
+/*
+ * HIObjectCreateFromBundle()
+ *
+ * Discussion:
+ * Returns the HIObject for the given bundle. A bundle can be
+ * designed to communicate with an app through an HIObject. The
+ * bundle must be designed to create an HIObject and have a defined
+ * suite of CarbonEvents that clients can use to communicate with
+ * the bundle's HIObject. Given a CFBundleRef, this API will tell
+ * the bundle to create the HIObject and return it to the caller.
+ *
+ * Parameters:
+ *
+ * inBundle:
+ * The bundle that you wish to communicate with.
+ *
+ * outObject:
+ * The HIObject associated with the bundle.
+ *
+ * Result:
+ * An operating system result code. If the bundle's HIObject
+ * creation function cannot be found, cfragNoSymbolErr will be
+ * returned.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIObjectCreateFromBundle(
+ CFBundleRef inBundle,
+ HIObjectRef * outObject);
+
+
+/*
+ * HIObjectIsAccessibilityIgnored()
+ *
+ * Discussion:
+ * Reports whether or not the given HIObject is marked as ignored
+ * for accessibility.
+ * See the discussion of HIObjectSetAccessibilityIgnored for details
+ * on what it means to be accessibility ignored.
+ *
+ * Parameters:
+ *
+ * inObject:
+ * The object whose accessibility ignored state you wish to query.
+ *
+ * Result:
+ * A Boolean value indicating whether or not the HIObject is ignored
+ * for accessibility.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIObjectIsAccessibilityIgnored(HIObjectRef inObject);
+
+
+/*
+ * HIObjectSetAccessibilityIgnored()
+ *
+ * Discussion:
+ * Marks an HIObject as ignored (or not) for the purposes of the
+ * accessibility APIs.
+ * An HIObject that is ignored for accessibility will never be shown
+ * to an assistive application that uses the accessibility APIs to
+ * examine an interface. Your application's accessibility
+ * implementation can (and should) still report an ignored HIObject
+ * as usual. Carbon's accessibility engine will automatically prune
+ * any ignored HIObjects out of the data that is shown to an
+ * assistive application.
+ * By default, an HIObject is *not* accessibility ignored.
+ *
+ * Parameters:
+ *
+ * inObject:
+ * The object whose accessibility ignored state you wish to change.
+ *
+ * inIgnored:
+ * A Boolean value indicating whether or not to ignore the object.
+ *
+ * Result:
+ * An OSStatus signifying success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIObjectSetAccessibilityIgnored(
+ HIObjectRef inObject,
+ Boolean inIgnored);
+
+
+/*==============================================================================*/
+/* DEPRECATED! DO NOT USE. USE CF ROUTINES INSTEAD!!! */
+/*==============================================================================*/
+/* Use CFRetain instead!*/
+/*
+ * _HIObjectRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIObjectRef )
+_HIObjectRetain(HIObjectRef inObject);
+
+
+/* Use CFRelease instead!*/
+/*
+ * _HIObjectRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+_HIObjectRelease(HIObjectRef inObject);
+
+
+/* Use CFGetRetainCount instead!*/
+/*
+ * _HIObjectGetRetainCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( UInt32 )
+_HIObjectGetRetainCount(HIObjectRef inObject);
+
+
+/* Use CFEqual instead!*/
+/*
+ * _HIObjectIsEqual()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+_HIObjectIsEqual(
+ HIObjectRef inObject,
+ HIObjectRef inOtherObject);
+
+
+/*
+ These are no longer necessary! Just put the HIObjectRef directly into
+ an array using the standard CFType callbacks.
+*/
+/*
+ * kHIObjectCFArrayCallbacks
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+extern const CFArrayCallBacks kHIObjectCFArrayCallbacks;
+/*
+ * kHIObjectCFDictKeyCallbacks
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+extern const CFDictionaryKeyCallBacks kHIObjectCFDictKeyCallbacks;
+/*
+ * kHIObjectCFDictValueCallbacks
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+extern const CFDictionaryValueCallBacks kHIObjectCFDictValueCallbacks;
diff --git a/include/qt/HIServices.h b/include/qt/HIServices.h
index 5aa20d10a..b129293ce 100644
--- a/include/qt/HIServices.h
+++ b/include/qt/HIServices.h
@@ -1,17 +1,17 @@
/*
File: HIServices.h
-
+
Contains: Master include for HIServices framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2002 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__
#define __HISERVICES__
diff --git a/include/qt/HIShape.h b/include/qt/HIShape.h
index 6f4ec50be..d5b934dcc 100644
--- a/include/qt/HIShape.h
+++ b/include/qt/HIShape.h
@@ -1,17 +1,17 @@
/*
File: HIShape.h
-
+
Contains: Generic Abstract Shape API
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __HISHAPE__
#define __HISHAPE__
@@ -40,601 +40,601 @@ extern "C" {
#endif
- /*
- * HIShape
- *
- * Discussion:
- * HIShape is an abstract shape object for use with some of the
- * HIToolbox APIs. It is designed as a replacement for RgnHandles
- * (though it is currently implemented in terms of them at the time
- * of this writing). This abstraction will allow us to avoid using
- * QD types in our APIs, particularly in HIView.
- *
- * One of the biggest benefits of HIShape is that we have mutable
- * and immutable variants. This means that immutable shapes can be
- * created and passed around and 'copied' very quickly, since they
- * are actually refcounted when copied. This avoids needing to do
- * the handle-to-handle copies that occur right now with
- * RgnHandle-based APIs.
- */
- typedef const struct __HIShape* HIShapeRef;
- typedef struct __HIShape* HIMutableShapeRef;
-
-
- /*
- * HIShapeGetTypeID()
- *
- * Discussion:
- * Returns the CF type ID for the HIShape class.
- *
- * Result:
- * A CF type ID.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFTypeID)
- HIShapeGetTypeID(void);
-
-
-
-
-
- /*======================================================================================*/
- /* IMMUTABLE FUNCTIONS */
- /*======================================================================================*/
- /*
- * HIShapeCreateWithQDRgn()
- *
- * Discussion:
- * Creates an immutable shape based on an existing Quickdraw region
- * handle.
- *
- * Parameters:
- *
- * inRgn:
- * The Quickdraw region from which to create the HIShape.
- *
- * Result:
- * An immutable HIShape reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIShapeRef)
- HIShapeCreateWithQDRgn(RgnHandle inRgn);
-
-
- /*
- * HIShapeCreateWithRect()
- *
- * Discussion:
- * Creates an immutable, rectangular shape based on a given
- * rectangle.
- *
- * Parameters:
- *
- * inRect:
- * The HIRect from which to create the resulting shape.
- *
- * Result:
- * An immutable HIShape reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIShapeRef)
- HIShapeCreateWithRect(const HIRect * inRect);
-
-
- /*
- * HIShapeCreateCopy()
- *
- * Discussion:
- * Creates an immutable copy of a mutable or immutable HIShape.
- *
- * Parameters:
- *
- * inShape:
- * The existing HIShapeRef you wish to copy.
- *
- * Result:
- * An immutable HIShape reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIShapeRef)
- HIShapeCreateCopy(HIShapeRef inShape);
-
-
- /*
- * HIShapeCreateIntersection()
- *
- * Discussion:
- * Creates a new immutable shape which is the intersection of two
- * others.
- *
- * Parameters:
- *
- * inShape1:
- * An existing HIShapeRef.
- *
- * inShape2:
- * An existing HIShapeRef.
- *
- * Result:
- * A new immutable HIShapeRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIShapeRef)
- HIShapeCreateIntersection(
- HIShapeRef inShape1,
- HIShapeRef inShape2);
-
-
- /*
- * HIShapeCreateDifference()
- *
- * Discussion:
- * Creates a new immutable shape which is the difference of two
- * others. The second shape is subtracted from the first.
- *
- * Parameters:
- *
- * inShape1:
- * An existing HIShapeRef.
- *
- * inShape2:
- * An existing HIShapeRef.
- *
- * Result:
- * A new immutable HIShapeRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIShapeRef)
- HIShapeCreateDifference(
- HIShapeRef inShape1,
- HIShapeRef inShape2);
-
-
- /*
- * HIShapeCreateUnion()
- *
- * Discussion:
- * Creates a new immutable shape which is the union of two others.
- *
- * Parameters:
- *
- * inShape1:
- * An existing HIShapeRef.
- *
- * inShape2:
- * An existing HIShapeRef.
- *
- * Result:
- * A new immutable HIShapeRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIShapeRef)
- HIShapeCreateUnion(
- HIShapeRef inShape1,
- HIShapeRef inShape2);
-
-
- /*
- * HIShapeIsEmpty()
- *
- * Discussion:
- * Returns true if the given HIShapeRef is empty, i.e. its area is
- * empty.
- *
- * Parameters:
- *
- * inShape:
- * The existing HIShapeRef you wish to test.
- *
- * Result:
- * A boolean result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIShapeIsEmpty(HIShapeRef inShape);
-
-
- /*
- * HIShapeIsRectangular()
- *
- * Discussion:
- * Returns true if the given HIShapeRef is rectangular.
- *
- * Parameters:
- *
- * inShape:
- * The existing HIShapeRef you wish to test.
- *
- * Result:
- * A boolean result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIShapeIsRectangular(HIShapeRef inShape);
-
-
- /*
- * HIShapeContainsPoint()
- *
- * Discussion:
- * Returns true if the given HIShapeRef contains the point passed in.
- *
- * Parameters:
- *
- * inShape:
- * An existing HIShapeRef.
- *
- * inPoint:
- * The point to check.
- *
- * Result:
- * A boolean result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIShapeContainsPoint(
- HIShapeRef inShape,
- const HIPoint * inPoint);
-
-
- /*
- * HIShapeGetBounds()
- *
- * Discussion:
- * Returns the bounding rectangle of a given HIShapeRef.
- *
- * Parameters:
- *
- * inShape:
- * An existing HIShapeRef.
- *
- * outRect:
- * Receives the bounding rectangle.
- *
- * Result:
- * A pointer to the rectangle you passed in, for convenience.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIRect *)
- HIShapeGetBounds(
- HIShapeRef inShape,
- HIRect * outRect);
-
-
- /*
- * HIShapeGetAsQDRgn()
- *
- * Discussion:
- * Changes a given Quickdraw region handle to have the same shape as
- * a given HIShapeRef. Essentially you are converting an HIShapeRef
- * into a RgnHandle. This conversion may lose fidelity depending on
- * how the shape was created originally.
- *
- * Parameters:
- *
- * inShape:
- * An existing HIShapeRef.
- *
- * outRgn:
- * An existing region to change.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIShapeGetAsQDRgn(
- HIShapeRef inShape,
- RgnHandle outRgn);
-
-
- /*
- * HIShapeReplacePathInCGContext()
- *
- * Discussion:
- * Given an HIShapeRef and a CGContextRef, make the current path in
- * the context represent the shape. You might use this to clip to a
- * shape, for example. You could call this function and then
- * immediately call CGContextClip.
- *
- * Parameters:
- *
- * inShape:
- * An existing HIShapeRef.
- *
- * inContext:
- * The context to apply the shape to.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIShapeReplacePathInCGContext(
- HIShapeRef inShape,
- CGContextRef inContext);
-
-
- /*
- * HIShapeSetQDClip()
- *
- * Discussion:
- * Given an HIShapeRef and a Quickdraw port, set the current clip in
- * the port to the shape.
- *
- * Parameters:
- *
- * inShape:
- * An existing HIShapeRef.
- *
- * inPort:
- * The port to set the clip for.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIShapeSetQDClip(
- HIShapeRef inShape,
- CGrafPtr inPort);
-
-
-
-
- /*======================================================================================*/
- /* MUTABLE FUNCTIONS */
- /*======================================================================================*/
- /*
- * HIShapeCreateMutable()
- *
- * Discussion:
- * Creates a new, mutable, empty shape.
- *
- * Result:
- * A mutable shape reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIMutableShapeRef)
- HIShapeCreateMutable(void);
-
-
- /*
- * HIShapeCreateMutableCopy()
- *
- * Discussion:
- * Given an existing HIShapeRef, creates a new mutable copy.
- *
- * Parameters:
- *
- * inOrig:
- * The shape to copy.
- *
- * Result:
- * A mutable shape reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIMutableShapeRef)
- HIShapeCreateMutableCopy(HIShapeRef inOrig);
-
-
- /*
- * HIShapeSetEmpty()
- *
- * Discussion:
- * Sets a mutable shape to be an empty shape.
- *
- * Parameters:
- *
- * inShape:
- * The shape to empty.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIShapeSetEmpty(HIMutableShapeRef inShape);
-
-
- /*
- * HIShapeIntersect()
- *
- * Discussion:
- * Takes two shapes and sets a third to be their intersection.
- *
- * Parameters:
- *
- * inShape1:
- * The first shape.
- *
- * inShape2:
- * The second shape.
- *
- * outResult:
- * The shape to receive the result of the intersection. This can
- * be one of the source shapes.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIShapeIntersect(
- HIShapeRef inShape1,
- HIShapeRef inShape2,
- HIMutableShapeRef outResult);
-
-
- /*
- * HIShapeDifference()
- *
- * Discussion:
- * Takes two shapes and sets a third to be their difference. The
- * second shape is subtracted from the first.
- *
- * Parameters:
- *
- * inShape1:
- * The first shape.
- *
- * inShape2:
- * The second shape.
- *
- * outResult:
- * The shape to receive the result of the intersection. This can
- * be one of the source shapes.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIShapeDifference(
- HIShapeRef inShape1,
- HIShapeRef inShape2,
- HIMutableShapeRef outResult);
-
-
- /*
- * HIShapeUnion()
- *
- * Discussion:
- * Takes two shapes and sets a third to be their union.
- *
- * Parameters:
- *
- * inShape1:
- * The first shape.
- *
- * inShape2:
- * The second shape.
- *
- * outResult:
- * The shape to receive the result of the union. This can be one
- * of the source shapes.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIShapeUnion(
- HIShapeRef inShape1,
- HIShapeRef inShape2,
- HIMutableShapeRef outResult);
-
-
- /*
- * HIShapeOffset()
- *
- * Discussion:
- * Offsets a shape by some delta.
- *
- * Parameters:
- *
- * inShape:
- * The shape to offset.
- *
- * inDX:
- * The delta to move the shape on the X axis.
- *
- * inDY:
- * The delta to move the shape on the Y axis.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIShapeOffset(
- HIMutableShapeRef inShape,
- float inDX,
- float inDY);
+/*
+ * HIShape
+ *
+ * Discussion:
+ * HIShape is an abstract shape object for use with some of the
+ * HIToolbox APIs. It is designed as a replacement for RgnHandles
+ * (though it is currently implemented in terms of them at the time
+ * of this writing). This abstraction will allow us to avoid using
+ * QD types in our APIs, particularly in HIView.
+ *
+ * One of the biggest benefits of HIShape is that we have mutable
+ * and immutable variants. This means that immutable shapes can be
+ * created and passed around and 'copied' very quickly, since they
+ * are actually refcounted when copied. This avoids needing to do
+ * the handle-to-handle copies that occur right now with
+ * RgnHandle-based APIs.
+ */
+typedef const struct __HIShape* HIShapeRef;
+typedef struct __HIShape* HIMutableShapeRef;
+
+
+/*
+ * HIShapeGetTypeID()
+ *
+ * Discussion:
+ * Returns the CF type ID for the HIShape class.
+ *
+ * Result:
+ * A CF type ID.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFTypeID )
+HIShapeGetTypeID(void);
+
+
+
+
+
+/*======================================================================================*/
+/* IMMUTABLE FUNCTIONS */
+/*======================================================================================*/
+/*
+ * HIShapeCreateWithQDRgn()
+ *
+ * Discussion:
+ * Creates an immutable shape based on an existing Quickdraw region
+ * handle.
+ *
+ * Parameters:
+ *
+ * inRgn:
+ * The Quickdraw region from which to create the HIShape.
+ *
+ * Result:
+ * An immutable HIShape reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIShapeRef )
+HIShapeCreateWithQDRgn(RgnHandle inRgn);
+
+
+/*
+ * HIShapeCreateWithRect()
+ *
+ * Discussion:
+ * Creates an immutable, rectangular shape based on a given
+ * rectangle.
+ *
+ * Parameters:
+ *
+ * inRect:
+ * The HIRect from which to create the resulting shape.
+ *
+ * Result:
+ * An immutable HIShape reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIShapeRef )
+HIShapeCreateWithRect(const HIRect * inRect);
+
+
+/*
+ * HIShapeCreateCopy()
+ *
+ * Discussion:
+ * Creates an immutable copy of a mutable or immutable HIShape.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The existing HIShapeRef you wish to copy.
+ *
+ * Result:
+ * An immutable HIShape reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIShapeRef )
+HIShapeCreateCopy(HIShapeRef inShape);
+
+
+/*
+ * HIShapeCreateIntersection()
+ *
+ * Discussion:
+ * Creates a new immutable shape which is the intersection of two
+ * others.
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * An existing HIShapeRef.
+ *
+ * inShape2:
+ * An existing HIShapeRef.
+ *
+ * Result:
+ * A new immutable HIShapeRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIShapeRef )
+HIShapeCreateIntersection(
+ HIShapeRef inShape1,
+ HIShapeRef inShape2);
+
+
+/*
+ * HIShapeCreateDifference()
+ *
+ * Discussion:
+ * Creates a new immutable shape which is the difference of two
+ * others. The second shape is subtracted from the first.
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * An existing HIShapeRef.
+ *
+ * inShape2:
+ * An existing HIShapeRef.
+ *
+ * Result:
+ * A new immutable HIShapeRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIShapeRef )
+HIShapeCreateDifference(
+ HIShapeRef inShape1,
+ HIShapeRef inShape2);
+
+
+/*
+ * HIShapeCreateUnion()
+ *
+ * Discussion:
+ * Creates a new immutable shape which is the union of two others.
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * An existing HIShapeRef.
+ *
+ * inShape2:
+ * An existing HIShapeRef.
+ *
+ * Result:
+ * A new immutable HIShapeRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIShapeRef )
+HIShapeCreateUnion(
+ HIShapeRef inShape1,
+ HIShapeRef inShape2);
+
+
+/*
+ * HIShapeIsEmpty()
+ *
+ * Discussion:
+ * Returns true if the given HIShapeRef is empty, i.e. its area is
+ * empty.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The existing HIShapeRef you wish to test.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIShapeIsEmpty(HIShapeRef inShape);
+
+
+/*
+ * HIShapeIsRectangular()
+ *
+ * Discussion:
+ * Returns true if the given HIShapeRef is rectangular.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The existing HIShapeRef you wish to test.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIShapeIsRectangular(HIShapeRef inShape);
+
+
+/*
+ * HIShapeContainsPoint()
+ *
+ * Discussion:
+ * Returns true if the given HIShapeRef contains the point passed in.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * inPoint:
+ * The point to check.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIShapeContainsPoint(
+ HIShapeRef inShape,
+ const HIPoint * inPoint);
+
+
+/*
+ * HIShapeGetBounds()
+ *
+ * Discussion:
+ * Returns the bounding rectangle of a given HIShapeRef.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * outRect:
+ * Receives the bounding rectangle.
+ *
+ * Result:
+ * A pointer to the rectangle you passed in, for convenience.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIRect * )
+HIShapeGetBounds(
+ HIShapeRef inShape,
+ HIRect * outRect);
+
+
+/*
+ * HIShapeGetAsQDRgn()
+ *
+ * Discussion:
+ * Changes a given Quickdraw region handle to have the same shape as
+ * a given HIShapeRef. Essentially you are converting an HIShapeRef
+ * into a RgnHandle. This conversion may lose fidelity depending on
+ * how the shape was created originally.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * outRgn:
+ * An existing region to change.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIShapeGetAsQDRgn(
+ HIShapeRef inShape,
+ RgnHandle outRgn);
+
+
+/*
+ * HIShapeReplacePathInCGContext()
+ *
+ * Discussion:
+ * Given an HIShapeRef and a CGContextRef, make the current path in
+ * the context represent the shape. You might use this to clip to a
+ * shape, for example. You could call this function and then
+ * immediately call CGContextClip.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * inContext:
+ * The context to apply the shape to.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIShapeReplacePathInCGContext(
+ HIShapeRef inShape,
+ CGContextRef inContext);
+
+
+/*
+ * HIShapeSetQDClip()
+ *
+ * Discussion:
+ * Given an HIShapeRef and a Quickdraw port, set the current clip in
+ * the port to the shape.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * An existing HIShapeRef.
+ *
+ * inPort:
+ * The port to set the clip for.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIShapeSetQDClip(
+ HIShapeRef inShape,
+ CGrafPtr inPort);
+
+
+
+
+/*======================================================================================*/
+/* MUTABLE FUNCTIONS */
+/*======================================================================================*/
+/*
+ * HIShapeCreateMutable()
+ *
+ * Discussion:
+ * Creates a new, mutable, empty shape.
+ *
+ * Result:
+ * A mutable shape reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIMutableShapeRef )
+HIShapeCreateMutable(void);
+
+
+/*
+ * HIShapeCreateMutableCopy()
+ *
+ * Discussion:
+ * Given an existing HIShapeRef, creates a new mutable copy.
+ *
+ * Parameters:
+ *
+ * inOrig:
+ * The shape to copy.
+ *
+ * Result:
+ * A mutable shape reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIMutableShapeRef )
+HIShapeCreateMutableCopy(HIShapeRef inOrig);
+
+
+/*
+ * HIShapeSetEmpty()
+ *
+ * Discussion:
+ * Sets a mutable shape to be an empty shape.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The shape to empty.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIShapeSetEmpty(HIMutableShapeRef inShape);
+
+
+/*
+ * HIShapeIntersect()
+ *
+ * Discussion:
+ * Takes two shapes and sets a third to be their intersection.
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * The first shape.
+ *
+ * inShape2:
+ * The second shape.
+ *
+ * outResult:
+ * The shape to receive the result of the intersection. This can
+ * be one of the source shapes.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIShapeIntersect(
+ HIShapeRef inShape1,
+ HIShapeRef inShape2,
+ HIMutableShapeRef outResult);
+
+
+/*
+ * HIShapeDifference()
+ *
+ * Discussion:
+ * Takes two shapes and sets a third to be their difference. The
+ * second shape is subtracted from the first.
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * The first shape.
+ *
+ * inShape2:
+ * The second shape.
+ *
+ * outResult:
+ * The shape to receive the result of the intersection. This can
+ * be one of the source shapes.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIShapeDifference(
+ HIShapeRef inShape1,
+ HIShapeRef inShape2,
+ HIMutableShapeRef outResult);
+
+
+/*
+ * HIShapeUnion()
+ *
+ * Discussion:
+ * Takes two shapes and sets a third to be their union.
+ *
+ * Parameters:
+ *
+ * inShape1:
+ * The first shape.
+ *
+ * inShape2:
+ * The second shape.
+ *
+ * outResult:
+ * The shape to receive the result of the union. This can be one
+ * of the source shapes.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIShapeUnion(
+ HIShapeRef inShape1,
+ HIShapeRef inShape2,
+ HIMutableShapeRef outResult);
+
+
+/*
+ * HIShapeOffset()
+ *
+ * Discussion:
+ * Offsets a shape by some delta.
+ *
+ * Parameters:
+ *
+ * inShape:
+ * The shape to offset.
+ *
+ * inDX:
+ * The delta to move the shape on the X axis.
+ *
+ * inDY:
+ * The delta to move the shape on the Y axis.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIShapeOffset(
+ HIMutableShapeRef inShape,
+ float inDX,
+ float inDY);
diff --git a/include/qt/HITextUtils.h b/include/qt/HITextUtils.h
index fe023d15d..08c581a81 100644
--- a/include/qt/HITextUtils.h
+++ b/include/qt/HITextUtils.h
@@ -1,17 +1,17 @@
/*
File: HITextUtils.h
-
+
Contains: Text utilities provided by HIToolbox.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c)2002 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 __HITEXTUTILS__
#define __HITEXTUTILS__
@@ -42,75 +42,75 @@ extern "C" {
#pragma import on
#endif
- /*
- * GetTextAndEncodingFromCFString()
- *
- * Summary:
- * Converts the contents of a CFString to the one- or two-byte
- * encoding that most accurately represents the original Unicode
- * characters in the string.
- *
- * Discussion:
- * Because the Macintosh toolbox has had, until Carbon, little
- * support for Unicode, you may often find that your applications
- * need to translate a CFString (containing Unicode characters) back
- * to a one- or two-byte encoding of the string in order to draw,
- * measure, or otherwise use the text in the string.
- * GetTextAndEncodingFromCFString is a utility that may be helpful
- * to do this, in some circumstances. The Carbon toolbox uses this
- * API itself when translating CFStrings to Pascal strings.
- * GetTextAndEncodingFromCFString attempts to convert the Unicode
- * characters in the string to the closest non-Unicode
- * representation of the string. For example, a string containing
- * only Unicode characters that are present in the MacRoman one-byte
- * encoding will be translated to MacRoman, and
- * kTextEncodingMacRoman will be returned as the encoding of the
- * text. A string containing Unicode characters that are present in
- * the MacJapanese two-byte encoding will be translated to
- * MacJapanese (Shift-JIS), and kTextEncodingMacJapanese will be
- * returned as the encoding of the text.
- * GetTextAndEncodingFromCFString is designed to be used for simple
- * strings which contain only text from a single language. It is not
- * designed to translate strings with multiple runs of text from
- * different languages, and will only return the first run of such a
- * string; for example, if you pass it a string containing a run of
- * Roman characters followed by a run of Japanese characters, it
- * will only return the Roman characters in the output buffer. For
- * more complex text translation, you should call the Unicode
- * converter directly (see ConvertFromUnicodeToTextRun, which
- * GetTextAndEncodingFromCFString uses internally).
- *
- * Parameters:
- *
- * inString:
- * The string to convert.
- *
- * outText:
- * The output buffer in which to place the converted text.
- *
- * inTextMaxLength:
- * The length in bytes of the input buffer.
- *
- * outTextLength:
- * On exit, contains the length in bytes of the text that was
- * placed into the output buffer.
- *
- * outEncoding:
- * On exit, contains the encoding of the text that was placed into
- * the output buffer.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.2.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetTextAndEncodingFromCFString(
- CFStringRef inString,
- BytePtr outText,
- ByteCount inTextMaxLength,
- ByteCount * outTextLength,
- TextEncoding * outEncoding); /* can be NULL */
+/*
+ * GetTextAndEncodingFromCFString()
+ *
+ * Summary:
+ * Converts the contents of a CFString to the one- or two-byte
+ * encoding that most accurately represents the original Unicode
+ * characters in the string.
+ *
+ * Discussion:
+ * Because the Macintosh toolbox has had, until Carbon, little
+ * support for Unicode, you may often find that your applications
+ * need to translate a CFString (containing Unicode characters) back
+ * to a one- or two-byte encoding of the string in order to draw,
+ * measure, or otherwise use the text in the string.
+ * GetTextAndEncodingFromCFString is a utility that may be helpful
+ * to do this, in some circumstances. The Carbon toolbox uses this
+ * API itself when translating CFStrings to Pascal strings.
+ * GetTextAndEncodingFromCFString attempts to convert the Unicode
+ * characters in the string to the closest non-Unicode
+ * representation of the string. For example, a string containing
+ * only Unicode characters that are present in the MacRoman one-byte
+ * encoding will be translated to MacRoman, and
+ * kTextEncodingMacRoman will be returned as the encoding of the
+ * text. A string containing Unicode characters that are present in
+ * the MacJapanese two-byte encoding will be translated to
+ * MacJapanese (Shift-JIS), and kTextEncodingMacJapanese will be
+ * returned as the encoding of the text.
+ * GetTextAndEncodingFromCFString is designed to be used for simple
+ * strings which contain only text from a single language. It is not
+ * designed to translate strings with multiple runs of text from
+ * different languages, and will only return the first run of such a
+ * string; for example, if you pass it a string containing a run of
+ * Roman characters followed by a run of Japanese characters, it
+ * will only return the Roman characters in the output buffer. For
+ * more complex text translation, you should call the Unicode
+ * converter directly (see ConvertFromUnicodeToTextRun, which
+ * GetTextAndEncodingFromCFString uses internally).
+ *
+ * Parameters:
+ *
+ * inString:
+ * The string to convert.
+ *
+ * outText:
+ * The output buffer in which to place the converted text.
+ *
+ * inTextMaxLength:
+ * The length in bytes of the input buffer.
+ *
+ * outTextLength:
+ * On exit, contains the length in bytes of the text that was
+ * placed into the output buffer.
+ *
+ * outEncoding:
+ * On exit, contains the encoding of the text that was placed into
+ * the output buffer.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.2.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetTextAndEncodingFromCFString(
+ CFStringRef inString,
+ BytePtr outText,
+ ByteCount inTextMaxLength,
+ ByteCount * outTextLength,
+ TextEncoding * outEncoding); /* can be NULL */
diff --git a/include/qt/HIToolbar.h b/include/qt/HIToolbar.h
index de8ff6cb9..284bc6ad2 100644
--- a/include/qt/HIToolbar.h
+++ b/include/qt/HIToolbar.h
@@ -1,17 +1,17 @@
/*
File: HIToolbar.h
-
+
Contains: Toolbar and Toolbar Item API
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __HITOOLBAR__
#define __HITOOLBAR__
@@ -43,11 +43,11 @@ extern "C" {
#pragma import on
#endif
- typedef HIObjectRef HIToolbarRef;
- typedef HIObjectRef HIToolbarItemRef;
- /*----------------------------------------------------------------------------------*/
- /* Standard Toolbox-provided item identifiers */
- /*----------------------------------------------------------------------------------*/
+typedef HIObjectRef HIToolbarRef;
+typedef HIObjectRef HIToolbarItemRef;
+/*----------------------------------------------------------------------------------*/
+/* Standard Toolbox-provided item identifiers */
+/*----------------------------------------------------------------------------------*/
#define kHIToolbarSeparatorIdentifier CFSTR("com.apple.hitoolbox.toolbar.separator")
#define kHIToolbarSpaceIdentifier CFSTR("com.apple.hitoolbox.toolbar.space")
@@ -58,1350 +58,1343 @@ extern "C" {
- /*
- * Summary:
- * Toolbar Display Mode
- */
- enum
- {
-
- /*
- * This indicates to use the default display mode. Currently, this is
- * defined as being both icon and label, but could change in the
- * future.
- */
- kHIToolbarDisplayModeDefault = 0,
-
- /*
- * This indicates to display the image as well as the label of the
- * toolbar items.
- */
- kHIToolbarDisplayModeIconAndLabel = 1,
-
- /*
- * This indicates that only the image should be shown.
- */
- kHIToolbarDisplayModeIconOnly = 2,
-
- /*
- * This indicates that only the label should be shown.
- */
- kHIToolbarDisplayModeLabelOnly = 3
- };
-
- typedef UInt32 HIToolbarDisplayMode;
-
- /*
- * Summary:
- * Toolbar Display Size
- */
- enum
- {
-
- /*
- * This indicates to use the default display size. Currently, this is
- * defined as using 32 x 32 icons ("normal" size).
- */
- kHIToolbarDisplaySizeDefault = 0,
-
- /*
- * This size uses a larger text and icon size.
- */
- kHIToolbarDisplaySizeNormal = 1,
-
- /*
- * This size uses a smaller text and icon size.
- */
- kHIToolbarDisplaySizeSmall = 2
- };
-
- typedef UInt32 HIToolbarDisplaySize;
-
- /*
- * Summary:
- * Toolbar Attributes
- */
- enum
- {
-
- /*
- * Pass this to indicate no attributes at all.
- */
- kHIToolbarNoAttributes = 0,
-
- /*
- * Pass this attribute to allow the toolbar to save its configuration
- * automatically to your application's preferences. You must make
- * sure to synchronize the prefs at some point to ensure it gets
- * written to disk. The toolbar will also read its config from the
- * prefs if this attribute is set.
- */
- kHIToolbarAutoSavesConfig = (1 << 0),
-
- /*
- * This attribute indicates that the toolbar is configurable, i.e.
- * the user can drag items around and bring up the configuration
- * palette, etc.
- */
- kHIToolbarIsConfigurable = (1 << 1),
- kHIToolbarValidAttrs = kHIToolbarAutoSavesConfig | kHIToolbarIsConfigurable
- };
-
-
-
- /*
- * Summary:
- * Toolbar Commands
- */
- enum
- {
-
- /*
- * Sending this to a window with a toolbar will cause the
- * configuration sheet to appear. You can set a menu item's command
- * to this command ID and it will be handled and updated
- * automatically for you.
- */
- kHICommandCustomizeToolbar = FOUR_CHAR_CODE('tcfg'),
-
- /*
- * This command causes a window's toolbar to be shown. You can set a
- * menu item's command to this ID and it will be handled and updated
- * automatically for you.
- */
- kHICommandShowToolbar = FOUR_CHAR_CODE('tbsh'),
-
- /*
- * This command causes a window's toolbar to be hidden. You can set a
- * menu item's command to this ID and it will be handled and updated
- * automatically for you.
- */
- kHICommandHideToolbar = FOUR_CHAR_CODE('tbhd')
- };
-
-
- /*
- Parameter Information:
-
- kEventToolbarGetDefaultIdentifiers
- --> kEventParamToolbar typeHIToolbarRef
- --> kEventParamMutableArray typeCFMutableArrayRef
-
- kEventToolbarGetAllowedIdentifiers
- --> kEventParamToolbar typeHIToolbarRef
- --> kEventParamMutableArray typeCFMutableArrayRef
-
- kEventToolbarCreateItemWithIdentifier
- --> kEventParamToolbar typeHIToolbarRef
- --> kEventParamToolbarItemIdentifier typeCFStringRef
- --> kEventParamToolbarItemConfigData typeCFTypeRef (optional)
- <-- kEventParamToolbarItem typeHIToolbarItemRef
-
- kEventToolbarCreateItemFromDrag
- --> kEventParamDragRef typeDragRef
- <-- kEventParamToolbarItem typeHIToolbarItemRef
- */
-
- /*
- * Summary:
- * Toolbar Events
- */
- enum
- {
-
- /*
- * This event is sent to the delegate to get a list of all of the
- * default item identifiers that should be created for a toolbar. You
- * are passed a mutable array to fill in with the identifiers.
- */
- kEventToolbarGetDefaultIdentifiers = 1,
-
- /*
- * This event is sent to the delegate to get a list of all the items
- * which could possibly be added to the toolbar. This is sent out
- * when the configuration sheet is about to be displayed.You are
- * passed a mutable array to fill in with the identifiers.
- */
- kEventToolbarGetAllowedIdentifiers = 2,
-
- /*
- * This event is sent to the delegate to when we need to create an
- * item from an identifier.
- */
- kEventToolbarCreateItemWithIdentifier = 3,
-
- /*
- * This event is sent to the delegate to when we need to create an
- * item from a drag. This allows you to be able to drag items into a
- * toolbar that aren't normal toolbar items. You might use this to
- * allow your toolbar to accept file system items, for example.
- */
- kEventToolbarCreateItemFromDrag = 4
- };
-
-
- /*
- * Summary:
- * Toolbar Item Model Events
- */
- enum
- {
-
- /*
- * This event is sent to the item (itself) when the image changes.
- * Any interested parties can install handlers on the toolbar item to
- * receive notifications.
- */
- kEventToolbarItemImageChanged = 1,
-
- /*
- * This event is sent to the item (itself) when the label changes.
- * Any interested parties can install handlers on the toolbar item to
- * receive notifications.
- */
- kEventToolbarItemLabelChanged = 2,
-
- /*
- * This event is sent to the item (itself) when the help text
- * changes. Any interested parties can install handlers on the
- * toolbar item to receive notifications.
- */
- kEventToolbarItemHelpTextChanged = 3,
-
- /*
- * This event is sent to the item (itself) when the command ID
- * changes. Any interested parties can install handlers on the
- * toolbar item to receive notifications.
- */
- kEventToolbarItemCommandIDChanged = 4,
-
- /*
- * This event is sent to the item (itself) when the toolbar is going
- * to write out the configuration information for the item. Any
- * custom items can listen for this event and add any extra
- * information to what is written out into the config so that it can
- * be reanimated later on from the same config data. Typically, you'd
- * not need to handle this event.
- */
- kEventToolbarItemGetPersistentData = 5,
-
- /*
- * This event is sent to the toolbar item when it is time to create a
- * view for it to display its contents. Implementors of custom
- * toolbar items can install a handler for this event to create their
- * own custom views for their items.
- */
- kEventToolbarItemCreateCustomView = 6,
-
- /*
- * This event is sent to the item (itself) when the enabled state
- * changes. Any interested parties can install handlers on the
- * toolbar item to receive notifications.
- */
- kEventToolbarItemEnabledStateChanged = 7,
-
- /*
- * This event is sent when a toolbar item is clicked. Subclasses of
- * toolbar items can choose to do special actions by overriding this
- * event. If this event is unhandled, the default action of sending a
- * command event will occur.
- */
- kEventToolbarItemPerformAction = 8
- };
-
-
- /*
- * Summary:
- * Toolbar Item Attributes
- */
- enum
- {
- kHIToolbarItemNoAttributes = 0,
- kHIToolbarItemAllowDuplicates = (1 << 0),
- kHIToolbarItemCantBeRemoved = (1 << 1),
-
- /*
- * This item cannot be moved at all by the user. It is anchored to
- * the left of the toolbar. It is important that there not be any
- * unanchored items to the left of this item, else dragging items
- * around will be a bit wacky. It is up you you, the home viewer, to
- * make sure that anchored items are all on the left. This allows you
- * to do toolbars like the the one in the System Preferences app,
- * where the first couple of items are stuck in place.
- */
- kHIToolbarItemAnchoredLeft = (1 << 2),
- kHIToolbarItemIsSeparator = (1 << 3),
-
- /*
- * If this attribute bit is set, the command that gets sent out will
- * be directed at the user focus instead of at the window the toolbar
- * is attached to.
- */
- kHIToolbarItemSendCmdToUserFocus = (1 << 4),
- kHIToolbarItemValidAttrs = kHIToolbarItemAllowDuplicates | kHIToolbarItemIsSeparator | kHIToolbarItemCantBeRemoved | kHIToolbarItemAnchoredLeft | kHIToolbarItemSendCmdToUserFocus,
- kHIToolbarItemMutableAttrs = kHIToolbarItemCantBeRemoved | kHIToolbarItemAnchoredLeft
- };
-
- /*======================================================================================*/
- /* FUNCTIONS */
- /*======================================================================================*/
+/*
+ * Summary:
+ * Toolbar Display Mode
+ */
+enum {
+
+ /*
+ * This indicates to use the default display mode. Currently, this is
+ * defined as being both icon and label, but could change in the
+ * future.
+ */
+ kHIToolbarDisplayModeDefault = 0,
+
+ /*
+ * This indicates to display the image as well as the label of the
+ * toolbar items.
+ */
+ kHIToolbarDisplayModeIconAndLabel = 1,
+
+ /*
+ * This indicates that only the image should be shown.
+ */
+ kHIToolbarDisplayModeIconOnly = 2,
+
+ /*
+ * This indicates that only the label should be shown.
+ */
+ kHIToolbarDisplayModeLabelOnly = 3
+};
+
+typedef UInt32 HIToolbarDisplayMode;
+
+/*
+ * Summary:
+ * Toolbar Display Size
+ */
+enum {
+
+ /*
+ * This indicates to use the default display size. Currently, this is
+ * defined as using 32 x 32 icons ("normal" size).
+ */
+ kHIToolbarDisplaySizeDefault = 0,
+
+ /*
+ * This size uses a larger text and icon size.
+ */
+ kHIToolbarDisplaySizeNormal = 1,
+
+ /*
+ * This size uses a smaller text and icon size.
+ */
+ kHIToolbarDisplaySizeSmall = 2
+};
+
+typedef UInt32 HIToolbarDisplaySize;
+
+/*
+ * Summary:
+ * Toolbar Attributes
+ */
+enum {
+
+ /*
+ * Pass this to indicate no attributes at all.
+ */
+ kHIToolbarNoAttributes = 0,
+
+ /*
+ * Pass this attribute to allow the toolbar to save its configuration
+ * automatically to your application's preferences. You must make
+ * sure to synchronize the prefs at some point to ensure it gets
+ * written to disk. The toolbar will also read its config from the
+ * prefs if this attribute is set.
+ */
+ kHIToolbarAutoSavesConfig = (1 << 0),
+
+ /*
+ * This attribute indicates that the toolbar is configurable, i.e.
+ * the user can drag items around and bring up the configuration
+ * palette, etc.
+ */
+ kHIToolbarIsConfigurable = (1 << 1),
+ kHIToolbarValidAttrs = kHIToolbarAutoSavesConfig | kHIToolbarIsConfigurable
+};
+
+
+
+/*
+ * Summary:
+ * Toolbar Commands
+ */
+enum {
+
+ /*
+ * Sending this to a window with a toolbar will cause the
+ * configuration sheet to appear. You can set a menu item's command
+ * to this command ID and it will be handled and updated
+ * automatically for you.
+ */
+ kHICommandCustomizeToolbar = FOUR_CHAR_CODE('tcfg'),
+
+ /*
+ * This command causes a window's toolbar to be shown. You can set a
+ * menu item's command to this ID and it will be handled and updated
+ * automatically for you.
+ */
+ kHICommandShowToolbar = FOUR_CHAR_CODE('tbsh'),
+
+ /*
+ * This command causes a window's toolbar to be hidden. You can set a
+ * menu item's command to this ID and it will be handled and updated
+ * automatically for you.
+ */
+ kHICommandHideToolbar = FOUR_CHAR_CODE('tbhd')
+};
+
+
+/*
+ Parameter Information:
+
+ kEventToolbarGetDefaultIdentifiers
+ --> kEventParamToolbar typeHIToolbarRef
+ --> kEventParamMutableArray typeCFMutableArrayRef
+
+ kEventToolbarGetAllowedIdentifiers
+ --> kEventParamToolbar typeHIToolbarRef
+ --> kEventParamMutableArray typeCFMutableArrayRef
+
+ kEventToolbarCreateItemWithIdentifier
+ --> kEventParamToolbar typeHIToolbarRef
+ --> kEventParamToolbarItemIdentifier typeCFStringRef
+ --> kEventParamToolbarItemConfigData typeCFTypeRef (optional)
+ <-- kEventParamToolbarItem typeHIToolbarItemRef
+
+ kEventToolbarCreateItemFromDrag
+ --> kEventParamDragRef typeDragRef
+ <-- kEventParamToolbarItem typeHIToolbarItemRef
+*/
+
+/*
+ * Summary:
+ * Toolbar Events
+ */
+enum {
+
+ /*
+ * This event is sent to the delegate to get a list of all of the
+ * default item identifiers that should be created for a toolbar. You
+ * are passed a mutable array to fill in with the identifiers.
+ */
+ kEventToolbarGetDefaultIdentifiers = 1,
+
+ /*
+ * This event is sent to the delegate to get a list of all the items
+ * which could possibly be added to the toolbar. This is sent out
+ * when the configuration sheet is about to be displayed.You are
+ * passed a mutable array to fill in with the identifiers.
+ */
+ kEventToolbarGetAllowedIdentifiers = 2,
+
+ /*
+ * This event is sent to the delegate to when we need to create an
+ * item from an identifier.
+ */
+ kEventToolbarCreateItemWithIdentifier = 3,
+
+ /*
+ * This event is sent to the delegate to when we need to create an
+ * item from a drag. This allows you to be able to drag items into a
+ * toolbar that aren't normal toolbar items. You might use this to
+ * allow your toolbar to accept file system items, for example.
+ */
+ kEventToolbarCreateItemFromDrag = 4
+};
+
+
+/*
+ * Summary:
+ * Toolbar Item Model Events
+ */
+enum {
+
+ /*
+ * This event is sent to the item (itself) when the image changes.
+ * Any interested parties can install handlers on the toolbar item to
+ * receive notifications.
+ */
+ kEventToolbarItemImageChanged = 1,
+
+ /*
+ * This event is sent to the item (itself) when the label changes.
+ * Any interested parties can install handlers on the toolbar item to
+ * receive notifications.
+ */
+ kEventToolbarItemLabelChanged = 2,
+
+ /*
+ * This event is sent to the item (itself) when the help text
+ * changes. Any interested parties can install handlers on the
+ * toolbar item to receive notifications.
+ */
+ kEventToolbarItemHelpTextChanged = 3,
+
+ /*
+ * This event is sent to the item (itself) when the command ID
+ * changes. Any interested parties can install handlers on the
+ * toolbar item to receive notifications.
+ */
+ kEventToolbarItemCommandIDChanged = 4,
+
+ /*
+ * This event is sent to the item (itself) when the toolbar is going
+ * to write out the configuration information for the item. Any
+ * custom items can listen for this event and add any extra
+ * information to what is written out into the config so that it can
+ * be reanimated later on from the same config data. Typically, you'd
+ * not need to handle this event.
+ */
+ kEventToolbarItemGetPersistentData = 5,
+
+ /*
+ * This event is sent to the toolbar item when it is time to create a
+ * view for it to display its contents. Implementors of custom
+ * toolbar items can install a handler for this event to create their
+ * own custom views for their items.
+ */
+ kEventToolbarItemCreateCustomView = 6,
+
+ /*
+ * This event is sent to the item (itself) when the enabled state
+ * changes. Any interested parties can install handlers on the
+ * toolbar item to receive notifications.
+ */
+ kEventToolbarItemEnabledStateChanged = 7,
+
+ /*
+ * This event is sent when a toolbar item is clicked. Subclasses of
+ * toolbar items can choose to do special actions by overriding this
+ * event. If this event is unhandled, the default action of sending a
+ * command event will occur.
+ */
+ kEventToolbarItemPerformAction = 8
+};
+
+
+/*
+ * Summary:
+ * Toolbar Item Attributes
+ */
+enum {
+ kHIToolbarItemNoAttributes = 0,
+ kHIToolbarItemAllowDuplicates = (1 << 0),
+ kHIToolbarItemCantBeRemoved = (1 << 1),
+
+ /*
+ * This item cannot be moved at all by the user. It is anchored to
+ * the left of the toolbar. It is important that there not be any
+ * unanchored items to the left of this item, else dragging items
+ * around will be a bit wacky. It is up you you, the home viewer, to
+ * make sure that anchored items are all on the left. This allows you
+ * to do toolbars like the the one in the System Preferences app,
+ * where the first couple of items are stuck in place.
+ */
+ kHIToolbarItemAnchoredLeft = (1 << 2),
+ kHIToolbarItemIsSeparator = (1 << 3),
+
+ /*
+ * If this attribute bit is set, the command that gets sent out will
+ * be directed at the user focus instead of at the window the toolbar
+ * is attached to.
+ */
+ kHIToolbarItemSendCmdToUserFocus = (1 << 4),
+ kHIToolbarItemValidAttrs = kHIToolbarItemAllowDuplicates | kHIToolbarItemIsSeparator | kHIToolbarItemCantBeRemoved | kHIToolbarItemAnchoredLeft | kHIToolbarItemSendCmdToUserFocus,
+ kHIToolbarItemMutableAttrs = kHIToolbarItemCantBeRemoved | kHIToolbarItemAnchoredLeft
+};
+
+/*======================================================================================*/
+/* FUNCTIONS */
+/*======================================================================================*/
#define _HIToolbarCreate HIToolbarCreate
- /*
- * HIToolbarCreate()
- *
- * Discussion:
- * Creates a toolbar.
- *
- * Parameters:
- *
- * inIdentifier:
- * The identifier of the toolbar. If you specify that the toolbar
- * auto-saves its configuration, this identifier is used to mark
- * the config info in your application's preferences. You must
- * specify an identifier.
- *
- * inAttributes:
- * Any attributes you wish to specify.
- *
- * outToolbar:
- * The toolbar reference to your shiny new toolbar.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarCreate(
- CFStringRef inIdentifier,
- OptionBits inAttributes,
- HIToolbarRef * outToolbar);
+/*
+ * HIToolbarCreate()
+ *
+ * Discussion:
+ * Creates a toolbar.
+ *
+ * Parameters:
+ *
+ * inIdentifier:
+ * The identifier of the toolbar. If you specify that the toolbar
+ * auto-saves its configuration, this identifier is used to mark
+ * the config info in your application's preferences. You must
+ * specify an identifier.
+ *
+ * inAttributes:
+ * Any attributes you wish to specify.
+ *
+ * outToolbar:
+ * The toolbar reference to your shiny new toolbar.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarCreate(
+ CFStringRef inIdentifier,
+ OptionBits inAttributes,
+ HIToolbarRef * outToolbar);
#define _HIToolbarGetAttributes HIToolbarGetAttributes
- /*
- * HIToolbarGetAttributes()
- *
- * Discussion:
- * Returns the attributes for the given toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar whose attributes you desire.
- *
- * outAttributes:
- * The attributes.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarGetAttributes(
- HIToolbarRef inToolbar,
- OptionBits * outAttributes);
+/*
+ * HIToolbarGetAttributes()
+ *
+ * Discussion:
+ * Returns the attributes for the given toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose attributes you desire.
+ *
+ * outAttributes:
+ * The attributes.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarGetAttributes(
+ HIToolbarRef inToolbar,
+ OptionBits * outAttributes);
#define _HIToolbarChangeAttributes HIToolbarChangeAttributes
- /*
- * HIToolbarChangeAttributes()
- *
- * Discussion:
- * Changes the attributes of a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar whose attributes you want to change.
- *
- * inAttrsToSet:
- * The attributes you wish to set/enable.
- *
- * inAttrsToClear:
- * The attributes you wish to clear/disable.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarChangeAttributes(
- HIToolbarRef inToolbar,
- OptionBits inAttrsToSet,
- OptionBits inAttrsToClear);
+/*
+ * HIToolbarChangeAttributes()
+ *
+ * Discussion:
+ * Changes the attributes of a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose attributes you want to change.
+ *
+ * inAttrsToSet:
+ * The attributes you wish to set/enable.
+ *
+ * inAttrsToClear:
+ * The attributes you wish to clear/disable.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarChangeAttributes(
+ HIToolbarRef inToolbar,
+ OptionBits inAttrsToSet,
+ OptionBits inAttrsToClear);
#define _HIToolbarGetDisplayMode HIToolbarGetDisplayMode
- /*
- * HIToolbarGetDisplayMode()
- *
- * Discussion:
- * Returns the current display mode of a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar whose display mode you wish to receive.
- *
- * outDisplayMode:
- * The display mode.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarGetDisplayMode(
- HIToolbarRef inToolbar,
- HIToolbarDisplayMode * outDisplayMode);
+/*
+ * HIToolbarGetDisplayMode()
+ *
+ * Discussion:
+ * Returns the current display mode of a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose display mode you wish to receive.
+ *
+ * outDisplayMode:
+ * The display mode.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarGetDisplayMode(
+ HIToolbarRef inToolbar,
+ HIToolbarDisplayMode * outDisplayMode);
#define _HIToolbarSetDisplayMode HIToolbarSetDisplayMode
- /*
- * HIToolbarSetDisplayMode()
- *
- * Discussion:
- * Sets the current display mode of a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar whose display mode you wish to set.
- *
- * inDisplayMode:
- * The display mode. If the toolbar is visible, it will be redrawn.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarSetDisplayMode(
- HIToolbarRef inToolbar,
- HIToolbarDisplayMode inDisplayMode);
+/*
+ * HIToolbarSetDisplayMode()
+ *
+ * Discussion:
+ * Sets the current display mode of a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose display mode you wish to set.
+ *
+ * inDisplayMode:
+ * The display mode. If the toolbar is visible, it will be redrawn.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarSetDisplayMode(
+ HIToolbarRef inToolbar,
+ HIToolbarDisplayMode inDisplayMode);
#define _HIToolbarGetDisplaySize HIToolbarGetDisplaySize
- /*
- * HIToolbarGetDisplaySize()
- *
- * Discussion:
- * Gets the current display size of a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar whose display size you wish to get.
- *
- * outSize:
- * The display size.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarGetDisplaySize(
- HIToolbarRef inToolbar,
- HIToolbarDisplaySize * outSize);
+/*
+ * HIToolbarGetDisplaySize()
+ *
+ * Discussion:
+ * Gets the current display size of a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose display size you wish to get.
+ *
+ * outSize:
+ * The display size.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarGetDisplaySize(
+ HIToolbarRef inToolbar,
+ HIToolbarDisplaySize * outSize);
#define _HIToolbarSetDisplaySize HIToolbarSetDisplaySize
- /*
- * HIToolbarSetDisplaySize()
- *
- * Discussion:
- * Sets the current display size of a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar whose display size you wish to set.
- *
- * inSize:
- * The display size. If the toolbar is visible, it will be redrawn.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarSetDisplaySize(
- HIToolbarRef inToolbar,
- HIToolbarDisplaySize inSize);
+/*
+ * HIToolbarSetDisplaySize()
+ *
+ * Discussion:
+ * Sets the current display size of a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose display size you wish to set.
+ *
+ * inSize:
+ * The display size. If the toolbar is visible, it will be redrawn.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarSetDisplaySize(
+ HIToolbarRef inToolbar,
+ HIToolbarDisplaySize inSize);
#define _HIToolbarCopyIdentifier HIToolbarCopyIdentifier
- /*
- * HIToolbarCopyIdentifier()
- *
- * Discussion:
- * Returns the identifier for a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar whose identifier you wish to get.
- *
- * outIdentifier:
- * The identifier. You must release it when you are finished with
- * it.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarCopyIdentifier(
- HIToolbarRef inToolbar,
- CFStringRef * outIdentifier);
+/*
+ * HIToolbarCopyIdentifier()
+ *
+ * Discussion:
+ * Returns the identifier for a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose identifier you wish to get.
+ *
+ * outIdentifier:
+ * The identifier. You must release it when you are finished with
+ * it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarCopyIdentifier(
+ HIToolbarRef inToolbar,
+ CFStringRef * outIdentifier);
#define _HIToolbarCopyItems HIToolbarCopyItems
- /*
- * HIToolbarCopyItems()
- *
- * Discussion:
- * Returns the array of toolbar items for a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar whose items you wish to receive.
- *
- * outItems:
- * The array of toolbar items owned by the toolbar. You must
- * release the array when you are finished with it.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarCopyItems(
- HIToolbarRef inToolbar,
- CFArrayRef * outItems);
-
-
- /*
- * HIToolbarCreateItemWithIdentifier()
- *
- * Discussion:
- * Creates an item specified by a particular identifier. Using this
- * function allows you to create any item a delegate supports by
- * naming its identifier. It also allows you to create standard
- * items supplied by the Toolbox, such as the separator item.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar you are adding to.
- *
- * inIdentifier:
- * The identifier of the item you wish to add.
- *
- * inConfigData:
- * Any config data required by the item to safely construct.
- * Standard items do not require any extra data, so NULL can be
- * passed.
- *
- * outItem:
- * The newly created toolbar item.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarCreateItemWithIdentifier(
- HIToolbarRef inToolbar,
- CFStringRef inIdentifier,
- CFTypeRef inConfigData, /* can be NULL */
- HIToolbarItemRef * outItem);
+/*
+ * HIToolbarCopyItems()
+ *
+ * Discussion:
+ * Returns the array of toolbar items for a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose items you wish to receive.
+ *
+ * outItems:
+ * The array of toolbar items owned by the toolbar. You must
+ * release the array when you are finished with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarCopyItems(
+ HIToolbarRef inToolbar,
+ CFArrayRef * outItems);
+
+
+/*
+ * HIToolbarCreateItemWithIdentifier()
+ *
+ * Discussion:
+ * Creates an item specified by a particular identifier. Using this
+ * function allows you to create any item a delegate supports by
+ * naming its identifier. It also allows you to create standard
+ * items supplied by the Toolbox, such as the separator item.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar you are adding to.
+ *
+ * inIdentifier:
+ * The identifier of the item you wish to add.
+ *
+ * inConfigData:
+ * Any config data required by the item to safely construct.
+ * Standard items do not require any extra data, so NULL can be
+ * passed.
+ *
+ * outItem:
+ * The newly created toolbar item.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarCreateItemWithIdentifier(
+ HIToolbarRef inToolbar,
+ CFStringRef inIdentifier,
+ CFTypeRef inConfigData, /* can be NULL */
+ HIToolbarItemRef * outItem);
#define _HIToolbarInsertItemAtIndex HIToolbarInsertItemAtIndex
- /*
- * HIToolbarInsertItemAtIndex()
- *
- * Discussion:
- * Inserts a toolbar item at a given index into a toolbar.
- * Generally, you should always add items via identifier, and not
- * with this routine.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar to receive the new item.
- *
- * inItem:
- * The item reference of the toolbar item you are adding.
- *
- * inIndex:
- * The index you wish to add the item at. This index is zero-based.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarInsertItemAtIndex(
- HIToolbarRef inToolbar,
- HIToolbarItemRef inItem,
- CFIndex inIndex);
+/*
+ * HIToolbarInsertItemAtIndex()
+ *
+ * Discussion:
+ * Inserts a toolbar item at a given index into a toolbar.
+ * Generally, you should always add items via identifier, and not
+ * with this routine.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar to receive the new item.
+ *
+ * inItem:
+ * The item reference of the toolbar item you are adding.
+ *
+ * inIndex:
+ * The index you wish to add the item at. This index is zero-based.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarInsertItemAtIndex(
+ HIToolbarRef inToolbar,
+ HIToolbarItemRef inItem,
+ CFIndex inIndex);
#define _HIToolbarAppendItem HIToolbarAppendItem
- /*
- * HIToolbarAppendItem()
- *
- * Discussion:
- * Appends an item to the end of a toolbar. Generally, you should
- * always add items via identifier, and not with this routine.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar to receive the new item.
- *
- * inItem:
- * The item reference of the toolbar item you are adding.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarAppendItem(
- HIToolbarRef inToolbar,
- HIToolbarItemRef inItem);
+/*
+ * HIToolbarAppendItem()
+ *
+ * Discussion:
+ * Appends an item to the end of a toolbar. Generally, you should
+ * always add items via identifier, and not with this routine.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar to receive the new item.
+ *
+ * inItem:
+ * The item reference of the toolbar item you are adding.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarAppendItem(
+ HIToolbarRef inToolbar,
+ HIToolbarItemRef inItem);
#define _HIToolbarRemoveItemAtIndex HIToolbarRemoveItemAtIndex
- /*
- * HIToolbarRemoveItemAtIndex()
- *
- * Discussion:
- * Removes an item at a given index from a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar you are removing the item from.
- *
- * inIndex:
- * The index of the item to remove. This index is zero-based.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarRemoveItemAtIndex(
- HIToolbarRef inToolbar,
- CFIndex inIndex);
+/*
+ * HIToolbarRemoveItemAtIndex()
+ *
+ * Discussion:
+ * Removes an item at a given index from a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar you are removing the item from.
+ *
+ * inIndex:
+ * The index of the item to remove. This index is zero-based.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarRemoveItemAtIndex(
+ HIToolbarRef inToolbar,
+ CFIndex inIndex);
#define _HIToolbarSetDelegate HIToolbarSetDelegate
- /*
- * HIToolbarSetDelegate()
- *
- * Discussion:
- * Sets the delegate event target for a toolbar. This is necessary
- * for a toolbar to work properly if it wants items of its own. The
- * delegate is who is asked to create toolbar items. If the delegate
- * does not respond, the toolbar will attempt to create a toolbar
- * item, but it can only create the standard items defined at the
- * top of this header.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar you are removing the item from.
- *
- * inDelegate:
- * The HIObjectRef to act as the delegate.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarSetDelegate(
- HIToolbarRef inToolbar,
- HIObjectRef inDelegate);
+/*
+ * HIToolbarSetDelegate()
+ *
+ * Discussion:
+ * Sets the delegate event target for a toolbar. This is necessary
+ * for a toolbar to work properly if it wants items of its own. The
+ * delegate is who is asked to create toolbar items. If the delegate
+ * does not respond, the toolbar will attempt to create a toolbar
+ * item, but it can only create the standard items defined at the
+ * top of this header.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar you are removing the item from.
+ *
+ * inDelegate:
+ * The HIObjectRef to act as the delegate.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarSetDelegate(
+ HIToolbarRef inToolbar,
+ HIObjectRef inDelegate);
#define _HIToolbarGetDelegate HIToolbarGetDelegate
- /*
- * HIToolbarGetDelegate()
- *
- * Discussion:
- * Returns the current delegate in use by a toolbar.
- *
- * Parameters:
- *
- * inToolbar:
- * The toolbar you want the delegate from.
- *
- * Result:
- * An HIObjectRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIObjectRef)
- HIToolbarGetDelegate(HIToolbarRef inToolbar);
-
-
- /*==========================================================================*/
- /* HITOOLBARITEM */
- /*==========================================================================*/
- /* The HIObject class ID for the ToolbarItem class. */
+/*
+ * HIToolbarGetDelegate()
+ *
+ * Discussion:
+ * Returns the current delegate in use by a toolbar.
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar you want the delegate from.
+ *
+ * Result:
+ * An HIObjectRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIObjectRef )
+HIToolbarGetDelegate(HIToolbarRef inToolbar);
+
+
+/*==========================================================================*/
+/* HITOOLBARITEM */
+/*==========================================================================*/
+/* The HIObject class ID for the ToolbarItem class. */
#define kHIToolbarItemClassID CFSTR("com.apple.hitoolbaritem")
- /* Required construction parameters */
- /* */
- /* You must pass these parameters in the initialization event if you are */
- /* subclassing the toolbar item */
- /* */
- /* kEventParamToolbarItemIdentifier typeCFStringRef */
- /* kEventParamAttibutes typeUInt32 */
+/* Required construction parameters */
+/* */
+/* You must pass these parameters in the initialization event if you are */
+/* subclassing the toolbar item */
+/* */
+/* kEventParamToolbarItemIdentifier typeCFStringRef */
+/* kEventParamAttibutes typeUInt32 */
#define _HIToolbarItemCreate HIToolbarItemCreate
- /*
- * HIToolbarItemCreate()
- *
- * Discussion:
- * Creates a toolbar item for use in a toolbar. Typically, you would
- * create toolbar items in your delegate. When a toolbar needs to
- * create an item with a given identifier, your delegate is asked to
- * create it.
- *
- * Parameters:
- *
- * inIdentifier:
- * The identifier of the item in question.
- *
- * inOptions:
- * Any options for the item.
- *
- * outItem:
- * The item you created.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemCreate(
- CFStringRef inIdentifier,
- OptionBits inOptions,
- HIToolbarItemRef * outItem);
+/*
+ * HIToolbarItemCreate()
+ *
+ * Discussion:
+ * Creates a toolbar item for use in a toolbar. Typically, you would
+ * create toolbar items in your delegate. When a toolbar needs to
+ * create an item with a given identifier, your delegate is asked to
+ * create it.
+ *
+ * Parameters:
+ *
+ * inIdentifier:
+ * The identifier of the item in question.
+ *
+ * inOptions:
+ * Any options for the item.
+ *
+ * outItem:
+ * The item you created.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemCreate(
+ CFStringRef inIdentifier,
+ OptionBits inOptions,
+ HIToolbarItemRef * outItem);
#define _HIToolbarItemCopyIdentifier HIToolbarItemCopyIdentifier
- /*
- * HIToolbarItemCopyIdentifier()
- *
- * Discussion:
- * Returns the identifier of the given item. The toolbar uses this
- * identifier when writing the config information to the preferences
- * (if set up for auto-config).
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * outIdentifier:
- * The identifier of the item. You should release this string when
- * you are finished with it.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemCopyIdentifier(
- HIToolbarItemRef inItem,
- CFStringRef * outIdentifier);
+/*
+ * HIToolbarItemCopyIdentifier()
+ *
+ * Discussion:
+ * Returns the identifier of the given item. The toolbar uses this
+ * identifier when writing the config information to the preferences
+ * (if set up for auto-config).
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outIdentifier:
+ * The identifier of the item. You should release this string when
+ * you are finished with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemCopyIdentifier(
+ HIToolbarItemRef inItem,
+ CFStringRef * outIdentifier);
#define _HIToolbarItemGetAttributes HIToolbarItemGetAttributes
- /*
- * HIToolbarItemGetAttributes()
- *
- * Discussion:
- * Returns the attributes of the given item.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * outAttributes:
- * The attributes of the item.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemGetAttributes(
- HIToolbarItemRef inItem,
- OptionBits * outAttributes);
+/*
+ * HIToolbarItemGetAttributes()
+ *
+ * Discussion:
+ * Returns the attributes of the given item.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outAttributes:
+ * The attributes of the item.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemGetAttributes(
+ HIToolbarItemRef inItem,
+ OptionBits * outAttributes);
#define _HIToolbarItemChangeAttributes HIToolbarItemChangeAttributes
- /*
- * HIToolbarItemChangeAttributes()
- *
- * Discussion:
- * Changes the attributes of a toolbar item. Only those attributes
- * defined by the kHIToolbarItemChangeableAttrs can be passed into
- * this API. All other options can only be specified at creation.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * inAttrsToSet:
- * The attributes to set on the item. This value can be
- * kHIToolbarItemNoAttributes if you are only clearing attributes.
- *
- * inAttrsToClear:
- * The attributes to clear on the item. This value can be
- * kHIToolbarItemNoAttributes if you are only setting attributes.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemChangeAttributes(
- HIToolbarItemRef inItem,
- OptionBits inAttrsToSet,
- OptionBits inAttrsToClear);
+/*
+ * HIToolbarItemChangeAttributes()
+ *
+ * Discussion:
+ * Changes the attributes of a toolbar item. Only those attributes
+ * defined by the kHIToolbarItemChangeableAttrs can be passed into
+ * this API. All other options can only be specified at creation.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inAttrsToSet:
+ * The attributes to set on the item. This value can be
+ * kHIToolbarItemNoAttributes if you are only clearing attributes.
+ *
+ * inAttrsToClear:
+ * The attributes to clear on the item. This value can be
+ * kHIToolbarItemNoAttributes if you are only setting attributes.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemChangeAttributes(
+ HIToolbarItemRef inItem,
+ OptionBits inAttrsToSet,
+ OptionBits inAttrsToClear);
#define _HIToolbarItemSetLabel HIToolbarItemSetLabel
- /*
- * HIToolbarItemSetLabel()
- *
- * Discussion:
- * Sets the label of a toolbar item. This is what the toolbar view
- * will display underneath the image. It is also used in the
- * configuration palette for configurable toolbars.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * inLabel:
- * The label. The toolbox will copy the string passed in.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemSetLabel(
- HIToolbarItemRef inItem,
- CFStringRef inLabel);
+/*
+ * HIToolbarItemSetLabel()
+ *
+ * Discussion:
+ * Sets the label of a toolbar item. This is what the toolbar view
+ * will display underneath the image. It is also used in the
+ * configuration palette for configurable toolbars.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inLabel:
+ * The label. The toolbox will copy the string passed in.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemSetLabel(
+ HIToolbarItemRef inItem,
+ CFStringRef inLabel);
#define _HIToolbarItemCopyLabel HIToolbarItemCopyLabel
- /*
- * HIToolbarItemCopyLabel()
- *
- * Discussion:
- * Returns the label of a toolbar item.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * outLabel:
- * The label of the item. You should release this when you are
- * finished with it.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemCopyLabel(
- HIToolbarItemRef inItem,
- CFStringRef * outLabel);
+/*
+ * HIToolbarItemCopyLabel()
+ *
+ * Discussion:
+ * Returns the label of a toolbar item.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outLabel:
+ * The label of the item. You should release this when you are
+ * finished with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemCopyLabel(
+ HIToolbarItemRef inItem,
+ CFStringRef * outLabel);
#define _HIToolbarItemSetHelpText HIToolbarItemSetHelpText
- /*
- * HIToolbarItemSetHelpText()
- *
- * Discussion:
- * Sets the text used for help tags for a toolbar item.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * inShortText:
- * The short help text. This is what is displayed normally by the
- * help tag system when the user hovers over the toolbar item with
- * the mouse.
- *
- * inLongText:
- * The long help text. This is what is displayed by the help tag
- * system when the user hovers over the toolbar item with the
- * mouse and holds the command key down. This parameter is
- * optional, you may pass NULL.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemSetHelpText(
- HIToolbarItemRef inItem,
- CFStringRef inShortText,
- CFStringRef inLongText); /* can be NULL */
+/*
+ * HIToolbarItemSetHelpText()
+ *
+ * Discussion:
+ * Sets the text used for help tags for a toolbar item.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inShortText:
+ * The short help text. This is what is displayed normally by the
+ * help tag system when the user hovers over the toolbar item with
+ * the mouse.
+ *
+ * inLongText:
+ * The long help text. This is what is displayed by the help tag
+ * system when the user hovers over the toolbar item with the
+ * mouse and holds the command key down. This parameter is
+ * optional, you may pass NULL.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemSetHelpText(
+ HIToolbarItemRef inItem,
+ CFStringRef inShortText,
+ CFStringRef inLongText); /* can be NULL */
#define _HIToolbarItemCopyHelpText HIToolbarItemCopyHelpText
- /*
- * HIToolbarItemCopyHelpText()
- *
- * Discussion:
- * Returns the text used for help tags for a toolbar item.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * outShortText:
- * The short help text. This is what is displayed normally by the
- * help tag system when the user hovers over the toolbar item with
- * the mouse. You should release this string when you are finished
- * with it. If you do not wish to receive the short help text,
- * pass NULL for this parameter.
- *
- * outLongText:
- * The long help text. This is what is displayed by the help tag
- * system when the user hovers over the toolbar item with the
- * mouse and holds the command key down. You should release this
- * string when you are finished with it. If you do not wish to
- * receive the long help text, pass NULL for this parameter.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemCopyHelpText(
- HIToolbarItemRef inItem,
- CFStringRef * outShortText, /* can be NULL */
- CFStringRef * outLongText); /* can be NULL */
+/*
+ * HIToolbarItemCopyHelpText()
+ *
+ * Discussion:
+ * Returns the text used for help tags for a toolbar item.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outShortText:
+ * The short help text. This is what is displayed normally by the
+ * help tag system when the user hovers over the toolbar item with
+ * the mouse. You should release this string when you are finished
+ * with it. If you do not wish to receive the short help text,
+ * pass NULL for this parameter.
+ *
+ * outLongText:
+ * The long help text. This is what is displayed by the help tag
+ * system when the user hovers over the toolbar item with the
+ * mouse and holds the command key down. You should release this
+ * string when you are finished with it. If you do not wish to
+ * receive the long help text, pass NULL for this parameter.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemCopyHelpText(
+ HIToolbarItemRef inItem,
+ CFStringRef * outShortText, /* can be NULL */
+ CFStringRef * outLongText); /* can be NULL */
#define _HIToolbarItemSetCommandID HIToolbarItemSetCommandID
- /*
- * HIToolbarItemSetCommandID()
- *
- * Discussion:
- * Sets the command ID of a toolbar item. When an toolbar item is
- * clicked, the default behavior is to send out the command assigned
- * to the item. This API lets you set that command ID. The command
- * is sent out via the ProcessHICommand API, so it uses Carbon
- * Events.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * inCommandID:
- * The command ID.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemSetCommandID(
- HIToolbarItemRef inItem,
- MenuCommand inCommandID);
+/*
+ * HIToolbarItemSetCommandID()
+ *
+ * Discussion:
+ * Sets the command ID of a toolbar item. When an toolbar item is
+ * clicked, the default behavior is to send out the command assigned
+ * to the item. This API lets you set that command ID. The command
+ * is sent out via the ProcessHICommand API, so it uses Carbon
+ * Events.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inCommandID:
+ * The command ID.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemSetCommandID(
+ HIToolbarItemRef inItem,
+ MenuCommand inCommandID);
#define _HIToolbarItemGetCommandID HIToolbarItemGetCommandID
- /*
- * HIToolbarItemGetCommandID()
- *
- * Discussion:
- * Gets the command ID of a toolbar item.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * outCommandID:
- * The command ID.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemGetCommandID(
- HIToolbarItemRef inItem,
- MenuCommand * outCommandID);
+/*
+ * HIToolbarItemGetCommandID()
+ *
+ * Discussion:
+ * Gets the command ID of a toolbar item.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outCommandID:
+ * The command ID.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemGetCommandID(
+ HIToolbarItemRef inItem,
+ MenuCommand * outCommandID);
#define _HIToolbarItemSetIconRef HIToolbarItemSetIconRef
- /*
- * HIToolbarItemSetIconRef()
- *
- * Discussion:
- * Sets the icon for a toolbar item.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * inIcon:
- * The icon ref. The toolbar will create an appropriate CGImageRef
- * for the icon passed in. The icon can be released after this API
- * is called. ooo NOTE: This API may change or disappear!
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemSetIconRef(
- HIToolbarItemRef inItem,
- IconRef inIcon);
+/*
+ * HIToolbarItemSetIconRef()
+ *
+ * Discussion:
+ * Sets the icon for a toolbar item.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inIcon:
+ * The icon ref. The toolbar will create an appropriate CGImageRef
+ * for the icon passed in. The icon can be released after this API
+ * is called. ooo NOTE: This API may change or disappear!
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemSetIconRef(
+ HIToolbarItemRef inItem,
+ IconRef inIcon);
#define _HIToolbarItemSetImage HIToolbarItemSetImage
- /*
- * HIToolbarItemSetImage()
- *
- * Discussion:
- * Sets the image for a toolbar item. Currently, the image should be
- * no higher than 32 pixels. This image is used both in the toolbar
- * as well as the configuration sheet, if the toolbar is
- * configurable.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * inImage:
- * The image. This image is retained by the toolbar item. You may
- * release it after calling this API.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemSetImage(
- HIToolbarItemRef inItem,
- CGImageRef inImage);
+/*
+ * HIToolbarItemSetImage()
+ *
+ * Discussion:
+ * Sets the image for a toolbar item. Currently, the image should be
+ * no higher than 32 pixels. This image is used both in the toolbar
+ * as well as the configuration sheet, if the toolbar is
+ * configurable.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inImage:
+ * The image. This image is retained by the toolbar item. You may
+ * release it after calling this API.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemSetImage(
+ HIToolbarItemRef inItem,
+ CGImageRef inImage);
#define _HIToolbarItemCopyImage HIToolbarItemCopyImage
- /*
- * HIToolbarItemCopyImage()
- *
- * Discussion:
- * Returns the image for a toolbar item. This image is already
- * retained by the time you receive it, so you can release it when
- * you are done with it.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * outImage:
- * The retained image. You should release it when finished with it.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemCopyImage(
- HIToolbarItemRef inItem,
- CGImageRef * outImage);
+/*
+ * HIToolbarItemCopyImage()
+ *
+ * Discussion:
+ * Returns the image for a toolbar item. This image is already
+ * retained by the time you receive it, so you can release it when
+ * you are done with it.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outImage:
+ * The retained image. You should release it when finished with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemCopyImage(
+ HIToolbarItemRef inItem,
+ CGImageRef * outImage);
#define _HIToolbarItemSetMenu HIToolbarItemSetMenu
- /*
- * HIToolbarItemSetMenu()
- *
- * Discussion:
- * Sets the submenu for a toolbar item. Normally, items do not have
- * a submenu. You can attach one with this API. The submenu will, by
- * default, show up both in the 'more items' indicator popup
- * attached to the item name. It will also appear if the toolbar is
- * in text only mode and the label is clicked. You should attach a
- * Carbon Event handler to the menu to handle updating the menu
- * items as appropriate before the menu is displayed.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * inMenu:
- * The menu. It is retained by the toolbar item, so you can safely
- * release it after calling this API.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemSetMenu(
- HIToolbarItemRef inItem,
- MenuRef inMenu);
+/*
+ * HIToolbarItemSetMenu()
+ *
+ * Discussion:
+ * Sets the submenu for a toolbar item. Normally, items do not have
+ * a submenu. You can attach one with this API. The submenu will, by
+ * default, show up both in the 'more items' indicator popup
+ * attached to the item name. It will also appear if the toolbar is
+ * in text only mode and the label is clicked. You should attach a
+ * Carbon Event handler to the menu to handle updating the menu
+ * items as appropriate before the menu is displayed.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inMenu:
+ * The menu. It is retained by the toolbar item, so you can safely
+ * release it after calling this API.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemSetMenu(
+ HIToolbarItemRef inItem,
+ MenuRef inMenu);
#define _HIToolbarItemCopyMenu HIToolbarItemCopyMenu
- /*
- * HIToolbarItemCopyMenu()
- *
- * Discussion:
- * Gets the submenu for a toolbar item.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * outMenu:
- * The retained menu. You should release it when you are finished
- * with it.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemCopyMenu(
- HIToolbarItemRef inItem,
- MenuRef * outMenu);
+/*
+ * HIToolbarItemCopyMenu()
+ *
+ * Discussion:
+ * Gets the submenu for a toolbar item.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outMenu:
+ * The retained menu. You should release it when you are finished
+ * with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemCopyMenu(
+ HIToolbarItemRef inItem,
+ MenuRef * outMenu);
#define _HIToolbarItemGetToolbar HIToolbarItemGetToolbar
- /*
- * HIToolbarItemGetToolbar()
- *
- * Discussion:
- * Gets the toolbar a toolbar item is attached to.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * Result:
- * The toolbar item reference of the toolbar this item is bound to,
- * or NULL if this toolbar item is not attached to any toolbar.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIToolbarRef)
- HIToolbarItemGetToolbar(HIToolbarItemRef inItem);
-
-
- /*
- * HIToolbarItemIsEnabled()
- *
- * Discussion:
- * Used to determine if a toolbar item is enabled.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * Result:
- * A boolean result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIToolbarItemIsEnabled(HIToolbarItemRef inItem);
-
-
- /*
- * HIToolbarItemSetEnabled()
- *
- * Discussion:
- * Enables or disables a toolbar item.
- *
- * Parameters:
- *
- * inItem:
- * The item in question.
- *
- * inEnabled:
- * The new enabled state.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIToolbarItemSetEnabled(
- HIToolbarItemRef inItem,
- Boolean inEnabled);
+/*
+ * HIToolbarItemGetToolbar()
+ *
+ * Discussion:
+ * Gets the toolbar a toolbar item is attached to.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * Result:
+ * The toolbar item reference of the toolbar this item is bound to,
+ * or NULL if this toolbar item is not attached to any toolbar.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIToolbarRef )
+HIToolbarItemGetToolbar(HIToolbarItemRef inItem);
+
+
+/*
+ * HIToolbarItemIsEnabled()
+ *
+ * Discussion:
+ * Used to determine if a toolbar item is enabled.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIToolbarItemIsEnabled(HIToolbarItemRef inItem);
+
+
+/*
+ * HIToolbarItemSetEnabled()
+ *
+ * Discussion:
+ * Enables or disables a toolbar item.
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inEnabled:
+ * The new enabled state.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIToolbarItemSetEnabled(
+ HIToolbarItemRef inItem,
+ Boolean inEnabled);
diff --git a/include/qt/HIToolbox.h b/include/qt/HIToolbox.h
index dc31790b3..44ff71246 100644
--- a/include/qt/HIToolbox.h
+++ b/include/qt/HIToolbox.h
@@ -1,17 +1,17 @@
/*
File: HIToolbox.h
-
+
Contains: Master include for HIToolbox private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __HITOOLBOX__
#define __HITOOLBOX__
diff --git a/include/qt/HIView.h b/include/qt/HIView.h
index d5058454f..2d50e85ad 100644
--- a/include/qt/HIView.h
+++ b/include/qt/HIView.h
@@ -1,17 +1,17 @@
/*
File: HIView.h
-
+
Contains: HIView routines
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001-2002 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 __HIVIEW__
#define __HIVIEW__
@@ -40,2337 +40,2326 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef ControlRef HIViewRef;
- typedef ControlID HIViewID;
- typedef ControlPartCode HIViewPartCode;
- /*
- * kHIViewWindowContentID
- *
- * Discussion:
- * The standard view ID for the content view of a window.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- extern const HIViewID kHIViewWindowContentID;
- /*
- * kHIViewWindowGrowBoxID
- *
- * Discussion:
- * The standard view ID for the grow box view of a window. Not all
- * windows have grow boxes, so be aware that you might not find this
- * view if you look for it.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- extern const HIViewID kHIViewWindowGrowBoxID;
-
-
- /*
- * Discussion:
- * HIViewZOrderOp
- */
- enum
- {
-
- /*
- * Indicates we wish to order a view above another view.
- */
- kHIViewZOrderAbove = 1,
-
- /*
- * Indicates we wish to order a view below another view.
- */
- kHIViewZOrderBelow = 2
- };
-
- typedef UInt32 HIViewZOrderOp;
- /*==============================================================================*/
- /* CONTROL ATTRIBUTES */
- /*==============================================================================*/
-
-
- /*
- * Discussion:
- * View Attributes
- */
- enum
- {
-
- /*
- * When set, the control will send the command it generates to the
- * user focus and propagate as it would naturally from there. The
- * default is to send the command to itself and then to its parent
- * and so forth.
- */
- kHIViewSendCommandToUserFocus = (1 << 0)
- };
-
- /*==============================================================================*/
- /* HIOBJECT SUPPORT */
- /*==============================================================================*/
- /* The HIObject class ID for the HIView class. */
+typedef ControlRef HIViewRef;
+typedef ControlID HIViewID;
+typedef ControlPartCode HIViewPartCode;
+/*
+ * kHIViewWindowContentID
+ *
+ * Discussion:
+ * The standard view ID for the content view of a window.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+extern const HIViewID kHIViewWindowContentID;
+/*
+ * kHIViewWindowGrowBoxID
+ *
+ * Discussion:
+ * The standard view ID for the grow box view of a window. Not all
+ * windows have grow boxes, so be aware that you might not find this
+ * view if you look for it.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+extern const HIViewID kHIViewWindowGrowBoxID;
+
+
+/*
+ * Discussion:
+ * HIViewZOrderOp
+ */
+enum {
+
+ /*
+ * Indicates we wish to order a view above another view.
+ */
+ kHIViewZOrderAbove = 1,
+
+ /*
+ * Indicates we wish to order a view below another view.
+ */
+ kHIViewZOrderBelow = 2
+};
+
+typedef UInt32 HIViewZOrderOp;
+/*==============================================================================*/
+/* CONTROL ATTRIBUTES */
+/*==============================================================================*/
+
+
+/*
+ * Discussion:
+ * View Attributes
+ */
+enum {
+
+ /*
+ * When set, the control will send the command it generates to the
+ * user focus and propagate as it would naturally from there. The
+ * default is to send the command to itself and then to its parent
+ * and so forth.
+ */
+ kHIViewSendCommandToUserFocus = (1 << 0)
+};
+
+/*==============================================================================*/
+/* HIOBJECT SUPPORT */
+/*==============================================================================*/
+/* The HIObject class ID for the HIView class. */
#define kHIViewClassID CFSTR("com.apple.hiview")
- /*==============================================================================*/
- /* EMBEDDING */
- /*==============================================================================*/
- /*
- * HIViewGetRoot()
- *
- * Discussion:
- * Returns the root view for a window.
- *
- * Parameters:
- *
- * inWindow:
- * The window to get the root for.
- *
- * Result:
- * The root view for the window, or NULL if an invalid window is
- * passed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIViewRef)
- HIViewGetRoot(WindowRef inWindow);
-
-
- /*
- * HIViewAddSubview()
- *
- * Discussion:
- * Adds a subview to the given parent. The new subview is added to
- * the front of the list of subviews (i.e it is made topmost).
- *
- * Parameters:
- *
- * inParent:
- * The view which will receive the new subview.
- *
- * inNewChild:
- * The subview being added.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewAddSubview(
- HIViewRef inParent,
- HIViewRef inNewChild);
-
-
- /*
- * HIViewRemoveFromSuperview()
- *
- * Discussion:
- * Removes a view from its parent.
- *
- * Parameters:
- *
- * inView:
- * The view to remove.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewRemoveFromSuperview(HIViewRef inView);
-
-
- /*
- * HIViewGetSuperview()
- *
- * Discussion:
- * Returns a view's parent view.
- *
- * Parameters:
- *
- * inView:
- * The view whose parent you are interested in getting.
- *
- * Result:
- * An HIView reference, or NULL if this view has no parent or is
- * invalid.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIViewRef)
- HIViewGetSuperview(HIViewRef inView);
-
-
- /*
- * HIViewGetFirstSubview()
- *
- * Discussion:
- * Returns the first subview of a container. The first subview is
- * the topmost subview in z-order.
- *
- * Parameters:
- *
- * inView:
- * The view whose subview you are fetching.
- *
- * Result:
- * An HIView reference, or NULL if this view has no subviews or is
- * invalid.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIViewRef)
- HIViewGetFirstSubview(HIViewRef inView);
-
-
- /*
- * HIViewGetLastSubview()
- *
- * Discussion:
- * Returns the last subview of a container. The last subview is the
- * bottommost subview in z-order.
- *
- * Parameters:
- *
- * inView:
- * The view whose subview you are fetching.
- *
- * Result:
- * An HIView reference, or NULL if this view has no subviews or is
- * invalid.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIViewRef)
- HIViewGetLastSubview(HIViewRef inView);
-
-
- /*
- * HIViewGetNextView()
- *
- * Discussion:
- * Returns the next view after the one given, in z-order.
- *
- * Parameters:
- *
- * inView:
- * The view to use as reference.
- *
- * Result:
- * An HIView reference, or NULL if this view has no view behind it
- * or is invalid.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIViewRef)
- HIViewGetNextView(HIViewRef inView);
-
-
- /*
- * HIViewGetPreviousView()
- *
- * Discussion:
- * Returns the previous view before the one given, in z-order.
- *
- * Parameters:
- *
- * inView:
- * The view to use as reference.
- *
- * Result:
- * An HIView reference, or NULL if this view has no view in front of
- * it or is invalid.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIViewRef)
- HIViewGetPreviousView(HIViewRef inView);
-
-
- /*
- * HIViewSetZOrder()
- *
- * Discussion:
- * Allows you to change the front-to-back ordering of sibling views.
- *
- * Parameters:
- *
- * inView:
- * The view whose Z-order you wish to change.
- *
- * inOp:
- * Indicates to order inView above or below inOther.
- *
- * inOther:
- * Another optional view to use as a reference. You can pass NULL
- * to mean an absolute position. For example, passing
- * kHIViewZOrderAbove and NULL will move a view to the front of
- * all of its siblings. Likewise, passing kHIViewZOrderBelow and
- * NULL will move it to the back.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetZOrder(
- HIViewRef inView,
- HIViewZOrderOp inOp,
- HIViewRef inOther); /* can be NULL */
-
-
- /*==============================================================================*/
- /* VISIBILITY */
- /*==============================================================================*/
- /*
- * HIViewSetVisible()
- *
- * Discussion:
- * Hides or shows a view. Marks the area the view will occupy or
- * used to occupy as needing to be redrawn later.
- *
- * Parameters:
- *
- * inView:
- * The view to hide or show.
- *
- * inVisible:
- * A boolean value which indicates whether you wish to hide the
- * view (false) or show the view (true).
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetVisible(
- HIViewRef inView,
- Boolean inVisible);
-
-
- /*
- * HIViewIsVisible()
- *
- * Discussion:
- * Returns whether a view is visible.
- *
- * Parameters:
- *
- * inView:
- * The view whose visibility you wish to determine.
- *
- * Result:
- * A boolean value indicating whether the view is visible (true) or
- * hidden (false).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIViewIsVisible(HIViewRef inView);
-
-
-
- /*==============================================================================*/
- /* POSITIONING */
- /*==============================================================================*/
-
- /*
- * HIViewGetBounds()
- *
- * Discussion:
- * Returns the local bounds of a view. The local bounds are the
- * coordinate system that is completely view-relative. A view's top
- * left coordinate starts out at 0, 0. Most operations are done in
- * these local coordinates. Moving a view is done via the frame
- * instead.
- *
- * Parameters:
- *
- * inView:
- * The view whose bounds you wish to determine.
- *
- * outRect:
- * The local bounds of the view.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewGetBounds(
- HIViewRef inView,
- HIRect * outRect);
-
-
- /*
- * HIViewGetFrame()
- *
- * Discussion:
- * Returns the frame of a view. The frame is the bounds of a view
- * relative to its parent's local coordinate system.
- *
- * Parameters:
- *
- * inView:
- * The view whose frame you wish to determine.
- *
- * outRect:
- * The frame of the view.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewGetFrame(
- HIViewRef inView,
- HIRect * outRect);
-
-
- /*
- * HIViewSetFrame()
- *
- * Discussion:
- * Sets the frame of a view. This effectively moves the view within
- * its parent. It also marks the view (and anything that was exposed
- * behind it) to be redrawn.
- *
- * Parameters:
- *
- * inView:
- * The view whose frame you wish to change.
- *
- * inRect:
- * The new frame of the view.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetFrame(
- HIViewRef inView,
- const HIRect * inRect);
-
-
-
- /*
- * HIViewMoveBy()
- *
- * Discussion:
- * Moves a view by a certain distance, relative to its current
- * location. This affects a view's frame, but not its bounds.
- *
- * Parameters:
- *
- * inView:
- * The view you wish to move.
- *
- * inDX:
- * The horizontal distance to move the view. Negative values move
- * the view to the left, positive values to the right.
- *
- * inDY:
- * The vertical distance to move the view. Negative values move
- * the view upward, positive values downward.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewMoveBy(
- HIViewRef inView,
- float inDX,
- float inDY);
-
-
- /*
- * HIViewPlaceInSuperviewAt()
- *
- * Discussion:
- * Places a view at an absolute location within its parent. This
- * affects the view's frame, but not its bounds.
- *
- * Parameters:
- *
- * inView:
- * The view you wish to position.
- *
- * inX:
- * The absolute horizontal coordinate at which to position the
- * view.
- *
- * inY:
- * The absolute vertical coordinate at which to position the view.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewPlaceInSuperviewAt(
- HIViewRef inView,
- float inX,
- float inY);
-
-
-
- /*
- * HIViewReshapeStructure()
- *
- * Discussion:
- * This is for use by custom views. If a view decides that its
- * structure will change shape, it should call this. This tells the
- * Toolbox to recalc things and invalidate as appropriate. You might
- * use this when gaining/losing a focus ring, for example.
- *
- * Parameters:
- *
- * inView:
- * The view to reshape and invalidate.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewReshapeStructure(HIViewRef inView);
-
-
- /*==============================================================================*/
- /* HIT TESTING/EVENT HANDLING */
- /*==============================================================================*/
- /*
- * HIViewGetViewForMouseEvent()
- *
- * Discussion:
- * Returns the appropriate view to handle a mouse event. This is a
- * little higher-level than GetDeep/ShallowSubviewHit. This routine
- * will find the deepest view that should handle the mouse event,
- * but along the way, it sends Carbon Events to each view asking it
- * to return the appropriate subview. This allows parent views to
- * catch clicks on their subviews. This is the recommended function
- * to use before processing mouse events. Using one of the more
- * primitive functions may result in an undefined behaviour.
- *
- * Parameters:
- *
- * inView:
- * The view to start from. You should pass the window's root view.
- *
- * inEvent:
- * The mouse event in question.
- *
- * outView:
- * The view that the mouse event should be sent to.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewGetViewForMouseEvent(
- HIViewRef inView,
- EventRef inEvent,
- HIViewRef * outView);
-
-
- /*
- * HIViewClick()
- *
- * Discussion:
- * After a successful call to HIViewGetViewForMouseEvent for a mouse
- * down event, you should call this function to have the view handle
- * the click.
- *
- * Parameters:
- *
- * inView:
- * The view to handle the event.
- *
- * inEvent:
- * The mouse event to handle.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewClick(
- HIViewRef inView,
- EventRef inEvent);
-
-
- /*
- * HIViewSimulateClick()
- *
- * Discussion:
- * This function is used to simulate a mouse click on a given view.
- *
- * Parameters:
- *
- * inView:
- * The view to test the part hit.
- *
- * inPartToClick:
- * The part the view should consider to be clicked.
- *
- * inModifiers:
- * The modifiers the view can consider for its click action.
- *
- * outPartClicked:
- * The part that was hit, can be kControlNoPart if no action
- * occurred.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSimulateClick(
- HIViewRef inView,
- HIViewPartCode inPartToClick,
- UInt32 inModifiers,
- ControlPartCode * outPartClicked);
-
-
- /*
- * HIViewGetPartHit()
- *
- * Discussion:
- * Given a view, and a view-relative point, this function returns
- * the part code hit as determined by the view.
- *
- * Parameters:
- *
- * inView:
- * The view to test the part hit.
- *
- * inPoint:
- * The view-relative point to use.
- *
- * outPart:
- * The part hit by inPoint.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewGetPartHit(
- HIViewRef inView,
- const HIPoint * inPoint,
- HIViewPartCode * outPart);
-
-
- /*
- * HIViewGetSubviewHit()
- *
- * Discussion:
- * Returns the child of the given view hit by the point passed in.
- * This is more primitive than using HIViewGetViewForMouseEvent, and
- * should be used only in non-event-handling cases.
- *
- * Parameters:
- *
- * inView:
- * The view you wish to position.
- *
- * inPoint:
- * The mouse coordinate to use. This is passed in the local
- * coordinate system of inView.
- *
- * inDeep:
- * Pass true to find the deepest child hit, false to go only one
- * level deep (just check direct children of inView).
- *
- * outView:
- * The view hit by inPoint, or NULL if no subview was hit.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewGetSubviewHit(
- HIViewRef inView,
- const HIPoint * inPoint,
- Boolean inDeep,
- HIViewRef * outView);
-
-
- /*==============================================================================*/
- /* DISPLAY */
- /*==============================================================================*/
- /*
- * HIViewGetNeedsDisplay()
- *
- * Discussion:
- * Returns true if the view passed in or any subview of it requires
- * redrawing (i.e. part of it has been invalidated).
- *
- * Parameters:
- *
- * inView:
- * The view to inspect.
- *
- * Result:
- * A boolean result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIViewGetNeedsDisplay(HIViewRef inView);
-
-
- /*
- * HIViewSetNeedsDisplay()
- *
- * Discussion:
- * Marks a view as needing to be completely redrawn, or completely
- * valid.
- *
- * Parameters:
- *
- * inView:
- * The view to mark dirty.
- *
- * inNeedsDisplay:
- * A boolean which indicates whether inView needs to be redrawn or
- * not.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetNeedsDisplay(
- HIViewRef inView,
- Boolean inNeedsDisplay);
-
-
-
- /*
- * HIViewSetNeedsDisplayInRegion()
- *
- * Discussion:
- * Marks a portion of a view as needing to be redrawn, or valid.
- *
- * Parameters:
- *
- * inView:
- * The view to mark dirty.
- *
- * inRgn:
- * The region to mark dirty or clean.
- *
- * inNeedsDisplay:
- * A boolean which indicates whether or not inRgn should be added
- * to the display region or removed from it.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetNeedsDisplayInRegion(
- HIViewRef inView,
- RgnHandle inRgn,
- Boolean inNeedsDisplay);
-
-
- /*
- * HIViewFlashDirtyArea()
- *
- * Discussion:
- * Debugging aid. Flashes the region which would be redrawn at the
- * next draw time for an entire window.
- *
- * Parameters:
- *
- * inWindow:
- * The window to flash the dirty region for.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewFlashDirtyArea(WindowRef inWindow);
-
-
- /*
- * HIViewGetSizeConstraints()
- *
- * Discussion:
- * Return the minimum and maximum size for a control. A control must
- * respond to this protocol to get meaningful results. These sizes
- * can be used to help autoposition subviews, for example.
- *
- * Parameters:
- *
- * inView:
- * The view to inspect.
- *
- * outMinSize:
- * The minimum size the view can be.
- *
- * outMaxSize:
- * The maximum size the view can be.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewGetSizeConstraints(
- HIViewRef inView,
- HISize * outMinSize,
- HISize * outMaxSize);
-
-
-
-
- /*==============================================================================*/
- /* COORDINATE SYSTEM CONVERSION */
- /*==============================================================================*/
- /*
- * HIViewConvertPoint()
- *
- * Discussion:
- * Converts a point from one view to another. Both views must have a
- * common ancestor, i.e. they must both be in the same window.
- *
- * Parameters:
- *
- * ioPoint:
- * The point to convert.
- *
- * inSourceView:
- * The view whose coordinate system ioPoint is starting out in.
- * You can pass NULL to indicate that ioPoint is a window-relative
- * point.
- *
- * inDestView:
- * The view whose coordinate system ioPoint should end up in. You
- * can pass NULL to indicate that ioPoint is a window-relative
- * point.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewConvertPoint(
- HIPoint * ioPoint,
- HIViewRef inSourceView,
- HIViewRef inDestView);
-
-
- /*
- * HIViewConvertRect()
- *
- * Discussion:
- * Converts a rectangle from one view to another. Both views must
- * have a common ancestor, i.e. they must both be in the same window.
- *
- * Parameters:
- *
- * ioRect:
- * The rectangle to convert.
- *
- * inSourceView:
- * The view whose coordinate system ioRect is starting out in. You
- * can pass NULL to indicate that ioRect is a window-relative
- * rectangle.
- *
- * inDestView:
- * The view whose coordinate system ioRect should end up in. You
- * can pass NULL to indicate that ioRect is a window-relative
- * rectangle.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewConvertRect(
- HIRect * ioRect,
- HIViewRef inSourceView,
- HIViewRef inDestView);
-
-
- /*
- * HIViewConvertRegion()
- *
- * Discussion:
- * Converts a region from one view to another. Both views must have
- * a common ancestor, i.e. they must both be in the same window.
- *
- * Parameters:
- *
- * ioRgn:
- * The region to convert.
- *
- * inSourceView:
- * The view whose coordinate system ioRgn is starting out in. You
- * can pass NULL to indicate that ioRgn is a window-relative
- * region.
- *
- * inDestView:
- * The view whose coordinate system ioRgn should end up in. You
- * can pass NULL to indicate that ioRgn is a window-relative
- * region.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewConvertRegion(
- RgnHandle ioRgn,
- HIViewRef inSourceView,
- HIViewRef inDestView);
-
-
-
- /*
- * HIViewSetDrawingEnabled()
- *
- * Discussion:
- * Turns control drawing on or off. You can use this to ensure that
- * no drawing occurs wrt to the control. Even Draw1Control will not
- * draw! HIViewSetNeedsDisplay is also rendered useless when drawing
- * is off.
- *
- * Parameters:
- *
- * inView:
- * The view to enable or disable drawing for.
- *
- * inEnabled:
- * A boolean value indicating whether drawing should be on (true)
- * or off (false).
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetDrawingEnabled(
- HIViewRef inView,
- Boolean inEnabled);
-
-
- /*
- * HIViewIsDrawingEnabled()
- *
- * Discussion:
- * Determines if drawing is currently enabled for a control.
- *
- * Parameters:
- *
- * inView:
- * The view to get the drawing state for.
- *
- * Result:
- * A boolean value indicating whether drawing is on (true) or off
- * (false).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIViewIsDrawingEnabled(HIViewRef inView);
-
-
-
- /*
- * HIViewScrollRect()
- *
- * Discussion:
- * Scrolls a view's contents, or a portion thereof. This will
- * actually blit the contents of the view as appropriate to scroll,
- * and then invalidate those portions which need to be redrawn. Be
- * warned that this is a raw bit scroll. Anything that might overlap
- * the target view will get thrashed as well.
- *
- * Parameters:
- *
- * inView:
- * The view to scroll.
- *
- * inRect:
- * The rect to scroll. Pass NULL to mean the entire view. The rect
- * passed cannot be bigger than the view's bounds. It must be in
- * the local coordinate system of the view.
- *
- * inDX:
- * The horizontal distance to scroll. Positive values shift to the
- * right, negative values shift to the left.
- *
- * inDY:
- * The vertical distance to scroll. Positive values shift
- * downward, negative values shift upward.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewScrollRect(
- HIViewRef inView,
- const HIRect * inRect, /* can be NULL */
- float inDX,
- float inDY);
-
-
- /*
- * HIViewSetBoundsOrigin()
- *
- * Discussion:
- * This API sets the origin of the view. This effectively also moves
- * all subcontrols of a view as well. This call will invalidate the
- * view.
- *
- * Parameters:
- *
- * inView:
- * The view whose origin you wish to adjust.
- *
- * inX:
- * The X coordinate.
- *
- * inY:
- * The Y coordinate.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetBoundsOrigin(
- HIViewRef inView,
- float inX,
- float inY);
-
-
-
- /*==============================================================================*/
- /* KEYBOARD FOCUS */
- /*==============================================================================*/
- /*
- * HIViewAdvanceFocus()
- *
- * Discussion:
- * Advances the focus to the next most appropriate view. Unless
- * overriden in some fashion (either by overriding certain carbon
- * events or using the HIViewSetNextFocus API), the Toolbox will use
- * a spacially determinant method of focusing, attempting to focus
- * left to right, top to bottom in a window, taking groups of
- * controls into account.
- *
- * Parameters:
- *
- * inRootForFocus:
- * The subtree to manipulate. The focus will never leave
- * inRootToFocus. Typically you would pass the content of the
- * window, or the root. If focused on the toolbar, for example,
- * the focus is limited to the toolbar only. In this case, the
- * Toolbox passes the toolbar view in as the focus root for
- * example.
- *
- * inModifiers:
- * The EventModifiers of the keyboard event that ultimately caused
- * the call to HIViewAdvanceFocus. These modifiers are used to
- * determine the focus direction as well as other alternate
- * focusing behaviors.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewAdvanceFocus(
- HIViewRef inRootForFocus,
- EventModifiers inModifiers);
-
-
- /*
- * HIViewGetFocusPart()
- *
- * Discussion:
- * Returns the currently focused part of the given view.
- *
- * Parameters:
- *
- * inView:
- * The view to inquire about.
- *
- * outFocusPart:
- * The part currently focused.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewGetFocusPart(
- HIViewRef inView,
- HIViewPartCode * outFocusPart);
-
-
- /*
- * HIViewSubtreeContainsFocus()
- *
- * Discussion:
- * Given a view, this function checks to see if it or any of its
- * children currently are the keyboard focus. If so, true is
- * returned as the function result.
- *
- * Parameters:
- *
- * inSubtreeStart:
- * The view to start searching at.
- *
- * Result:
- * A boolean result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIViewSubtreeContainsFocus(HIViewRef inSubtreeStart);
-
-
- /*
- * HIViewSetNextFocus()
- *
- * Discussion:
- * This function hard-wires the next view to shift focus to whenever
- * the keyboard focus is advanced.
- *
- * Parameters:
- *
- * inView:
- * The view to set the next focus view for.
- *
- * inNextFocus:
- * The view to set focus to next. Pass NULL to tell the view
- * system to use the default rules.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetNextFocus(
- HIViewRef inView,
- HIViewRef inNextFocus); /* can be NULL */
-
-
- /*
- * HIViewSetFirstSubViewFocus()
- *
- * Discussion:
- * This function hard-wires the first subview to shift focus to
- * whenever the keyboard focus is advanced and the container view is
- * entered.
- *
- * Parameters:
- *
- * inParent:
- * The parent view.
- *
- * inSubView:
- * The first child which should receive focus. Pass NULL to tell
- * the view system to use the default rules.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewSetFirstSubViewFocus(
- HIViewRef inParent,
- HIViewRef inSubView); /* can be NULL */
-
-
-
- /*==============================================================================*/
- /* MISCELLANEOUS */
- /*==============================================================================*/
- /*
- * HIViewFindByID()
- *
- * Discussion:
- * Allows you to find a particular view by its ID. Currently, this
- * call uses the ControlID type as its IDs.
- *
- * Parameters:
- *
- * inStartView:
- * The view to start searching at.
- *
- * inID:
- * The ID of the view you are looking for.
- *
- * outControl:
- * Receives the control if found.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewFindByID(
- HIViewRef inStartView,
- HIViewID inID,
- HIViewRef * outControl);
-
-
-
- /*
- * HIViewGetAttributes()
- *
- * Discussion:
- * Allows you to get the attributes of a view.
- *
- * Parameters:
- *
- * inView:
- * The view to inspect.
- *
- * outAttrs:
- * The attributes of the view.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewGetAttributes(
- HIViewRef inView,
- OptionBits * outAttrs);
-
-
-
- /*
- * HIViewChangeAttributes()
- *
- * Discussion:
- * Allows you to change the attributes of a view. You can
- * simultaneously set and clear attributes.
- *
- * Parameters:
- *
- * inView:
- * The view to muck with.
- *
- * inAttrsToSet:
- * The attributes you wish to set.
- *
- * inAttrsToClear:
- * The attributes you wish to clear.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewChangeAttributes(
- HIViewRef inView,
- OptionBits inAttrsToSet,
- OptionBits inAttrsToClear);
-
-
-
- /*
- * HIViewCreateOffscreenImage()
- *
- * Discussion:
- * Creates an CGImageRef for the view passed in. The view and any
- * children it has are rendered in the resultant image.
- *
- * Parameters:
- *
- * inView:
- * The view you wish to create an image of.
- *
- * inOptions:
- * Options. Currently you must pass 0.
- *
- * outFrame:
- * The frame of the view within the resultant image. It is in the
- * coordinate system of the image, where 0,0 is the top left
- * corner of the image. This is so you can know exactly where the
- * control lives in the image when the control draws outside its
- * bounds for things such as shadows.
- *
- * outImage:
- * The image of the view, including anything that would be drawn
- * outside the view's frame.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewCreateOffscreenImage(
- HIViewRef inView,
- OptionBits inOptions,
- HIRect * outFrame, /* can be NULL */
- CGImageRef * outImage);
-
-
-
- /*
- * HIViewDrawCGImage()
- *
- * Discussion:
- * Draws an image in the right direction for an HIView. This is
- * functionally the same as CGContextDrawImage, but it flips the
- * context appropriately so that the image is drawn correctly.
- * Because HIViews have their origin at the top, left, you are
- * really drawing upside-down, so if you were to use the CG image
- * drawing, you'd see what I mean! This call attempts to insulate
- * you from that fact.
- *
- * Parameters:
- *
- * inContext:
- * The context to draw in.
- *
- * inBounds:
- * The bounds to draw the image into.
- *
- * inImage:
- * The image to draw.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIViewDrawCGImage(
- CGContextRef inContext,
- const HIRect * inBounds,
- CGImageRef inImage);
-
-
-
- /*==============================================================================*/
- /* HIGrowBoxView */
- /*==============================================================================*/
-
-
- /* The HIObject class ID for the HIGrowBoxView class. */
+/*==============================================================================*/
+/* EMBEDDING */
+/*==============================================================================*/
+/*
+ * HIViewGetRoot()
+ *
+ * Discussion:
+ * Returns the root view for a window.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to get the root for.
+ *
+ * Result:
+ * The root view for the window, or NULL if an invalid window is
+ * passed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIViewRef )
+HIViewGetRoot(WindowRef inWindow);
+
+
+/*
+ * HIViewAddSubview()
+ *
+ * Discussion:
+ * Adds a subview to the given parent. The new subview is added to
+ * the front of the list of subviews (i.e it is made topmost).
+ *
+ * Parameters:
+ *
+ * inParent:
+ * The view which will receive the new subview.
+ *
+ * inNewChild:
+ * The subview being added.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewAddSubview(
+ HIViewRef inParent,
+ HIViewRef inNewChild);
+
+
+/*
+ * HIViewRemoveFromSuperview()
+ *
+ * Discussion:
+ * Removes a view from its parent.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to remove.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewRemoveFromSuperview(HIViewRef inView);
+
+
+/*
+ * HIViewGetSuperview()
+ *
+ * Discussion:
+ * Returns a view's parent view.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose parent you are interested in getting.
+ *
+ * Result:
+ * An HIView reference, or NULL if this view has no parent or is
+ * invalid.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIViewRef )
+HIViewGetSuperview(HIViewRef inView);
+
+
+/*
+ * HIViewGetFirstSubview()
+ *
+ * Discussion:
+ * Returns the first subview of a container. The first subview is
+ * the topmost subview in z-order.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose subview you are fetching.
+ *
+ * Result:
+ * An HIView reference, or NULL if this view has no subviews or is
+ * invalid.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIViewRef )
+HIViewGetFirstSubview(HIViewRef inView);
+
+
+/*
+ * HIViewGetLastSubview()
+ *
+ * Discussion:
+ * Returns the last subview of a container. The last subview is the
+ * bottommost subview in z-order.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose subview you are fetching.
+ *
+ * Result:
+ * An HIView reference, or NULL if this view has no subviews or is
+ * invalid.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIViewRef )
+HIViewGetLastSubview(HIViewRef inView);
+
+
+/*
+ * HIViewGetNextView()
+ *
+ * Discussion:
+ * Returns the next view after the one given, in z-order.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to use as reference.
+ *
+ * Result:
+ * An HIView reference, or NULL if this view has no view behind it
+ * or is invalid.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIViewRef )
+HIViewGetNextView(HIViewRef inView);
+
+
+/*
+ * HIViewGetPreviousView()
+ *
+ * Discussion:
+ * Returns the previous view before the one given, in z-order.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to use as reference.
+ *
+ * Result:
+ * An HIView reference, or NULL if this view has no view in front of
+ * it or is invalid.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIViewRef )
+HIViewGetPreviousView(HIViewRef inView);
+
+
+/*
+ * HIViewSetZOrder()
+ *
+ * Discussion:
+ * Allows you to change the front-to-back ordering of sibling views.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose Z-order you wish to change.
+ *
+ * inOp:
+ * Indicates to order inView above or below inOther.
+ *
+ * inOther:
+ * Another optional view to use as a reference. You can pass NULL
+ * to mean an absolute position. For example, passing
+ * kHIViewZOrderAbove and NULL will move a view to the front of
+ * all of its siblings. Likewise, passing kHIViewZOrderBelow and
+ * NULL will move it to the back.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetZOrder(
+ HIViewRef inView,
+ HIViewZOrderOp inOp,
+ HIViewRef inOther); /* can be NULL */
+
+
+/*==============================================================================*/
+/* VISIBILITY */
+/*==============================================================================*/
+/*
+ * HIViewSetVisible()
+ *
+ * Discussion:
+ * Hides or shows a view. Marks the area the view will occupy or
+ * used to occupy as needing to be redrawn later.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to hide or show.
+ *
+ * inVisible:
+ * A boolean value which indicates whether you wish to hide the
+ * view (false) or show the view (true).
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetVisible(
+ HIViewRef inView,
+ Boolean inVisible);
+
+
+/*
+ * HIViewIsVisible()
+ *
+ * Discussion:
+ * Returns whether a view is visible.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose visibility you wish to determine.
+ *
+ * Result:
+ * A boolean value indicating whether the view is visible (true) or
+ * hidden (false).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIViewIsVisible(HIViewRef inView);
+
+
+
+/*==============================================================================*/
+/* POSITIONING */
+/*==============================================================================*/
+
+/*
+ * HIViewGetBounds()
+ *
+ * Discussion:
+ * Returns the local bounds of a view. The local bounds are the
+ * coordinate system that is completely view-relative. A view's top
+ * left coordinate starts out at 0, 0. Most operations are done in
+ * these local coordinates. Moving a view is done via the frame
+ * instead.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose bounds you wish to determine.
+ *
+ * outRect:
+ * The local bounds of the view.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewGetBounds(
+ HIViewRef inView,
+ HIRect * outRect);
+
+
+/*
+ * HIViewGetFrame()
+ *
+ * Discussion:
+ * Returns the frame of a view. The frame is the bounds of a view
+ * relative to its parent's local coordinate system.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose frame you wish to determine.
+ *
+ * outRect:
+ * The frame of the view.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewGetFrame(
+ HIViewRef inView,
+ HIRect * outRect);
+
+
+/*
+ * HIViewSetFrame()
+ *
+ * Discussion:
+ * Sets the frame of a view. This effectively moves the view within
+ * its parent. It also marks the view (and anything that was exposed
+ * behind it) to be redrawn.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose frame you wish to change.
+ *
+ * inRect:
+ * The new frame of the view.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetFrame(
+ HIViewRef inView,
+ const HIRect * inRect);
+
+
+
+/*
+ * HIViewMoveBy()
+ *
+ * Discussion:
+ * Moves a view by a certain distance, relative to its current
+ * location. This affects a view's frame, but not its bounds.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view you wish to move.
+ *
+ * inDX:
+ * The horizontal distance to move the view. Negative values move
+ * the view to the left, positive values to the right.
+ *
+ * inDY:
+ * The vertical distance to move the view. Negative values move
+ * the view upward, positive values downward.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewMoveBy(
+ HIViewRef inView,
+ float inDX,
+ float inDY);
+
+
+/*
+ * HIViewPlaceInSuperviewAt()
+ *
+ * Discussion:
+ * Places a view at an absolute location within its parent. This
+ * affects the view's frame, but not its bounds.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view you wish to position.
+ *
+ * inX:
+ * The absolute horizontal coordinate at which to position the
+ * view.
+ *
+ * inY:
+ * The absolute vertical coordinate at which to position the view.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewPlaceInSuperviewAt(
+ HIViewRef inView,
+ float inX,
+ float inY);
+
+
+
+/*
+ * HIViewReshapeStructure()
+ *
+ * Discussion:
+ * This is for use by custom views. If a view decides that its
+ * structure will change shape, it should call this. This tells the
+ * Toolbox to recalc things and invalidate as appropriate. You might
+ * use this when gaining/losing a focus ring, for example.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to reshape and invalidate.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewReshapeStructure(HIViewRef inView);
+
+
+/*==============================================================================*/
+/* HIT TESTING/EVENT HANDLING */
+/*==============================================================================*/
+/*
+ * HIViewGetViewForMouseEvent()
+ *
+ * Discussion:
+ * Returns the appropriate view to handle a mouse event. This is a
+ * little higher-level than GetDeep/ShallowSubviewHit. This routine
+ * will find the deepest view that should handle the mouse event,
+ * but along the way, it sends Carbon Events to each view asking it
+ * to return the appropriate subview. This allows parent views to
+ * catch clicks on their subviews. This is the recommended function
+ * to use before processing mouse events. Using one of the more
+ * primitive functions may result in an undefined behaviour.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to start from. You should pass the window's root view.
+ *
+ * inEvent:
+ * The mouse event in question.
+ *
+ * outView:
+ * The view that the mouse event should be sent to.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewGetViewForMouseEvent(
+ HIViewRef inView,
+ EventRef inEvent,
+ HIViewRef * outView);
+
+
+/*
+ * HIViewClick()
+ *
+ * Discussion:
+ * After a successful call to HIViewGetViewForMouseEvent for a mouse
+ * down event, you should call this function to have the view handle
+ * the click.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to handle the event.
+ *
+ * inEvent:
+ * The mouse event to handle.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewClick(
+ HIViewRef inView,
+ EventRef inEvent);
+
+
+/*
+ * HIViewSimulateClick()
+ *
+ * Discussion:
+ * This function is used to simulate a mouse click on a given view.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to test the part hit.
+ *
+ * inPartToClick:
+ * The part the view should consider to be clicked.
+ *
+ * inModifiers:
+ * The modifiers the view can consider for its click action.
+ *
+ * outPartClicked:
+ * The part that was hit, can be kControlNoPart if no action
+ * occurred.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSimulateClick(
+ HIViewRef inView,
+ HIViewPartCode inPartToClick,
+ UInt32 inModifiers,
+ ControlPartCode * outPartClicked);
+
+
+/*
+ * HIViewGetPartHit()
+ *
+ * Discussion:
+ * Given a view, and a view-relative point, this function returns
+ * the part code hit as determined by the view.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to test the part hit.
+ *
+ * inPoint:
+ * The view-relative point to use.
+ *
+ * outPart:
+ * The part hit by inPoint.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewGetPartHit(
+ HIViewRef inView,
+ const HIPoint * inPoint,
+ HIViewPartCode * outPart);
+
+
+/*
+ * HIViewGetSubviewHit()
+ *
+ * Discussion:
+ * Returns the child of the given view hit by the point passed in.
+ * This is more primitive than using HIViewGetViewForMouseEvent, and
+ * should be used only in non-event-handling cases.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view you wish to position.
+ *
+ * inPoint:
+ * The mouse coordinate to use. This is passed in the local
+ * coordinate system of inView.
+ *
+ * inDeep:
+ * Pass true to find the deepest child hit, false to go only one
+ * level deep (just check direct children of inView).
+ *
+ * outView:
+ * The view hit by inPoint, or NULL if no subview was hit.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewGetSubviewHit(
+ HIViewRef inView,
+ const HIPoint * inPoint,
+ Boolean inDeep,
+ HIViewRef * outView);
+
+
+/*==============================================================================*/
+/* DISPLAY */
+/*==============================================================================*/
+/*
+ * HIViewGetNeedsDisplay()
+ *
+ * Discussion:
+ * Returns true if the view passed in or any subview of it requires
+ * redrawing (i.e. part of it has been invalidated).
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to inspect.
+ *
+ * Result:
+ * A boolean result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIViewGetNeedsDisplay(HIViewRef inView);
+
+
+/*
+ * HIViewSetNeedsDisplay()
+ *
+ * Discussion:
+ * Marks a view as needing to be completely redrawn, or completely
+ * valid.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to mark dirty.
+ *
+ * inNeedsDisplay:
+ * A boolean which indicates whether inView needs to be redrawn or
+ * not.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetNeedsDisplay(
+ HIViewRef inView,
+ Boolean inNeedsDisplay);
+
+
+
+/*
+ * HIViewSetNeedsDisplayInRegion()
+ *
+ * Discussion:
+ * Marks a portion of a view as needing to be redrawn, or valid.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to mark dirty.
+ *
+ * inRgn:
+ * The region to mark dirty or clean.
+ *
+ * inNeedsDisplay:
+ * A boolean which indicates whether or not inRgn should be added
+ * to the display region or removed from it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetNeedsDisplayInRegion(
+ HIViewRef inView,
+ RgnHandle inRgn,
+ Boolean inNeedsDisplay);
+
+
+/*
+ * HIViewFlashDirtyArea()
+ *
+ * Discussion:
+ * Debugging aid. Flashes the region which would be redrawn at the
+ * next draw time for an entire window.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to flash the dirty region for.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewFlashDirtyArea(WindowRef inWindow);
+
+
+/*
+ * HIViewGetSizeConstraints()
+ *
+ * Discussion:
+ * Return the minimum and maximum size for a control. A control must
+ * respond to this protocol to get meaningful results. These sizes
+ * can be used to help autoposition subviews, for example.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to inspect.
+ *
+ * outMinSize:
+ * The minimum size the view can be.
+ *
+ * outMaxSize:
+ * The maximum size the view can be.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewGetSizeConstraints(
+ HIViewRef inView,
+ HISize * outMinSize,
+ HISize * outMaxSize);
+
+
+
+
+/*==============================================================================*/
+/* COORDINATE SYSTEM CONVERSION */
+/*==============================================================================*/
+/*
+ * HIViewConvertPoint()
+ *
+ * Discussion:
+ * Converts a point from one view to another. Both views must have a
+ * common ancestor, i.e. they must both be in the same window.
+ *
+ * Parameters:
+ *
+ * ioPoint:
+ * The point to convert.
+ *
+ * inSourceView:
+ * The view whose coordinate system ioPoint is starting out in.
+ * You can pass NULL to indicate that ioPoint is a window-relative
+ * point.
+ *
+ * inDestView:
+ * The view whose coordinate system ioPoint should end up in. You
+ * can pass NULL to indicate that ioPoint is a window-relative
+ * point.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewConvertPoint(
+ HIPoint * ioPoint,
+ HIViewRef inSourceView,
+ HIViewRef inDestView);
+
+
+/*
+ * HIViewConvertRect()
+ *
+ * Discussion:
+ * Converts a rectangle from one view to another. Both views must
+ * have a common ancestor, i.e. they must both be in the same window.
+ *
+ * Parameters:
+ *
+ * ioRect:
+ * The rectangle to convert.
+ *
+ * inSourceView:
+ * The view whose coordinate system ioRect is starting out in. You
+ * can pass NULL to indicate that ioRect is a window-relative
+ * rectangle.
+ *
+ * inDestView:
+ * The view whose coordinate system ioRect should end up in. You
+ * can pass NULL to indicate that ioRect is a window-relative
+ * rectangle.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewConvertRect(
+ HIRect * ioRect,
+ HIViewRef inSourceView,
+ HIViewRef inDestView);
+
+
+/*
+ * HIViewConvertRegion()
+ *
+ * Discussion:
+ * Converts a region from one view to another. Both views must have
+ * a common ancestor, i.e. they must both be in the same window.
+ *
+ * Parameters:
+ *
+ * ioRgn:
+ * The region to convert.
+ *
+ * inSourceView:
+ * The view whose coordinate system ioRgn is starting out in. You
+ * can pass NULL to indicate that ioRgn is a window-relative
+ * region.
+ *
+ * inDestView:
+ * The view whose coordinate system ioRgn should end up in. You
+ * can pass NULL to indicate that ioRgn is a window-relative
+ * region.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewConvertRegion(
+ RgnHandle ioRgn,
+ HIViewRef inSourceView,
+ HIViewRef inDestView);
+
+
+
+/*
+ * HIViewSetDrawingEnabled()
+ *
+ * Discussion:
+ * Turns control drawing on or off. You can use this to ensure that
+ * no drawing occurs wrt to the control. Even Draw1Control will not
+ * draw! HIViewSetNeedsDisplay is also rendered useless when drawing
+ * is off.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to enable or disable drawing for.
+ *
+ * inEnabled:
+ * A boolean value indicating whether drawing should be on (true)
+ * or off (false).
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetDrawingEnabled(
+ HIViewRef inView,
+ Boolean inEnabled);
+
+
+/*
+ * HIViewIsDrawingEnabled()
+ *
+ * Discussion:
+ * Determines if drawing is currently enabled for a control.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to get the drawing state for.
+ *
+ * Result:
+ * A boolean value indicating whether drawing is on (true) or off
+ * (false).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIViewIsDrawingEnabled(HIViewRef inView);
+
+
+
+/*
+ * HIViewScrollRect()
+ *
+ * Discussion:
+ * Scrolls a view's contents, or a portion thereof. This will
+ * actually blit the contents of the view as appropriate to scroll,
+ * and then invalidate those portions which need to be redrawn. Be
+ * warned that this is a raw bit scroll. Anything that might overlap
+ * the target view will get thrashed as well.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to scroll.
+ *
+ * inRect:
+ * The rect to scroll. Pass NULL to mean the entire view. The rect
+ * passed cannot be bigger than the view's bounds. It must be in
+ * the local coordinate system of the view.
+ *
+ * inDX:
+ * The horizontal distance to scroll. Positive values shift to the
+ * right, negative values shift to the left.
+ *
+ * inDY:
+ * The vertical distance to scroll. Positive values shift
+ * downward, negative values shift upward.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewScrollRect(
+ HIViewRef inView,
+ const HIRect * inRect, /* can be NULL */
+ float inDX,
+ float inDY);
+
+
+/*
+ * HIViewSetBoundsOrigin()
+ *
+ * Discussion:
+ * This API sets the origin of the view. This effectively also moves
+ * all subcontrols of a view as well. This call will invalidate the
+ * view.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view whose origin you wish to adjust.
+ *
+ * inX:
+ * The X coordinate.
+ *
+ * inY:
+ * The Y coordinate.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetBoundsOrigin(
+ HIViewRef inView,
+ float inX,
+ float inY);
+
+
+
+/*==============================================================================*/
+/* KEYBOARD FOCUS */
+/*==============================================================================*/
+/*
+ * HIViewAdvanceFocus()
+ *
+ * Discussion:
+ * Advances the focus to the next most appropriate view. Unless
+ * overriden in some fashion (either by overriding certain carbon
+ * events or using the HIViewSetNextFocus API), the Toolbox will use
+ * a spacially determinant method of focusing, attempting to focus
+ * left to right, top to bottom in a window, taking groups of
+ * controls into account.
+ *
+ * Parameters:
+ *
+ * inRootForFocus:
+ * The subtree to manipulate. The focus will never leave
+ * inRootToFocus. Typically you would pass the content of the
+ * window, or the root. If focused on the toolbar, for example,
+ * the focus is limited to the toolbar only. In this case, the
+ * Toolbox passes the toolbar view in as the focus root for
+ * example.
+ *
+ * inModifiers:
+ * The EventModifiers of the keyboard event that ultimately caused
+ * the call to HIViewAdvanceFocus. These modifiers are used to
+ * determine the focus direction as well as other alternate
+ * focusing behaviors.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewAdvanceFocus(
+ HIViewRef inRootForFocus,
+ EventModifiers inModifiers);
+
+
+/*
+ * HIViewGetFocusPart()
+ *
+ * Discussion:
+ * Returns the currently focused part of the given view.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to inquire about.
+ *
+ * outFocusPart:
+ * The part currently focused.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewGetFocusPart(
+ HIViewRef inView,
+ HIViewPartCode * outFocusPart);
+
+
+/*
+ * HIViewSubtreeContainsFocus()
+ *
+ * Discussion:
+ * Given a view, this function checks to see if it or any of its
+ * children currently are the keyboard focus. If so, true is
+ * returned as the function result.
+ *
+ * Parameters:
+ *
+ * inSubtreeStart:
+ * The view to start searching at.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIViewSubtreeContainsFocus(HIViewRef inSubtreeStart);
+
+
+/*
+ * HIViewSetNextFocus()
+ *
+ * Discussion:
+ * This function hard-wires the next view to shift focus to whenever
+ * the keyboard focus is advanced.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to set the next focus view for.
+ *
+ * inNextFocus:
+ * The view to set focus to next. Pass NULL to tell the view
+ * system to use the default rules.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetNextFocus(
+ HIViewRef inView,
+ HIViewRef inNextFocus); /* can be NULL */
+
+
+/*
+ * HIViewSetFirstSubViewFocus()
+ *
+ * Discussion:
+ * This function hard-wires the first subview to shift focus to
+ * whenever the keyboard focus is advanced and the container view is
+ * entered.
+ *
+ * Parameters:
+ *
+ * inParent:
+ * The parent view.
+ *
+ * inSubView:
+ * The first child which should receive focus. Pass NULL to tell
+ * the view system to use the default rules.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewSetFirstSubViewFocus(
+ HIViewRef inParent,
+ HIViewRef inSubView); /* can be NULL */
+
+
+
+/*==============================================================================*/
+/* MISCELLANEOUS */
+/*==============================================================================*/
+/*
+ * HIViewFindByID()
+ *
+ * Discussion:
+ * Allows you to find a particular view by its ID. Currently, this
+ * call uses the ControlID type as its IDs.
+ *
+ * Parameters:
+ *
+ * inStartView:
+ * The view to start searching at.
+ *
+ * inID:
+ * The ID of the view you are looking for.
+ *
+ * outControl:
+ * Receives the control if found.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewFindByID(
+ HIViewRef inStartView,
+ HIViewID inID,
+ HIViewRef * outControl);
+
+
+
+/*
+ * HIViewGetAttributes()
+ *
+ * Discussion:
+ * Allows you to get the attributes of a view.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to inspect.
+ *
+ * outAttrs:
+ * The attributes of the view.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewGetAttributes(
+ HIViewRef inView,
+ OptionBits * outAttrs);
+
+
+
+/*
+ * HIViewChangeAttributes()
+ *
+ * Discussion:
+ * Allows you to change the attributes of a view. You can
+ * simultaneously set and clear attributes.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to muck with.
+ *
+ * inAttrsToSet:
+ * The attributes you wish to set.
+ *
+ * inAttrsToClear:
+ * The attributes you wish to clear.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewChangeAttributes(
+ HIViewRef inView,
+ OptionBits inAttrsToSet,
+ OptionBits inAttrsToClear);
+
+
+
+/*
+ * HIViewCreateOffscreenImage()
+ *
+ * Discussion:
+ * Creates an CGImageRef for the view passed in. The view and any
+ * children it has are rendered in the resultant image.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view you wish to create an image of.
+ *
+ * inOptions:
+ * Options. Currently you must pass 0.
+ *
+ * outFrame:
+ * The frame of the view within the resultant image. It is in the
+ * coordinate system of the image, where 0,0 is the top left
+ * corner of the image. This is so you can know exactly where the
+ * control lives in the image when the control draws outside its
+ * bounds for things such as shadows.
+ *
+ * outImage:
+ * The image of the view, including anything that would be drawn
+ * outside the view's frame.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewCreateOffscreenImage(
+ HIViewRef inView,
+ OptionBits inOptions,
+ HIRect * outFrame, /* can be NULL */
+ CGImageRef * outImage);
+
+
+
+/*
+ * HIViewDrawCGImage()
+ *
+ * Discussion:
+ * Draws an image in the right direction for an HIView. This is
+ * functionally the same as CGContextDrawImage, but it flips the
+ * context appropriately so that the image is drawn correctly.
+ * Because HIViews have their origin at the top, left, you are
+ * really drawing upside-down, so if you were to use the CG image
+ * drawing, you'd see what I mean! This call attempts to insulate
+ * you from that fact.
+ *
+ * Parameters:
+ *
+ * inContext:
+ * The context to draw in.
+ *
+ * inBounds:
+ * The bounds to draw the image into.
+ *
+ * inImage:
+ * The image to draw.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIViewDrawCGImage(
+ CGContextRef inContext,
+ const HIRect * inBounds,
+ CGImageRef inImage);
+
+
+
+/*==============================================================================*/
+/* HIGrowBoxView */
+/*==============================================================================*/
+
+
+/* The HIObject class ID for the HIGrowBoxView class. */
#define kHIGrowBoxViewClassID CFSTR("com.apple.higrowboxview")
- /* Currently there is no direct creation API for the grow box, so you must use */
- /* HIObjectCreate if you wish to create one directly. Normally, a window will */
- /* create one for you, so you should generally never need to do this. */
-
-
- /*
- * HIGrowBoxViewSetTransparent()
- *
- * Discussion:
- * Sets a grow box view as transparent, meaning it will draw the
- * grow box lines over any content below it. When not transparent,
- * it's an opaque white square with the grow lines.
- *
- * Parameters:
- *
- * inGrowBoxView:
- * The grow box view reference.
- *
- * inTransparent:
- * Pass true to make the grow view use its transparent look, false
- * to give it the opaque look.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIGrowBoxViewSetTransparent(
- HIViewRef inGrowBoxView,
- Boolean inTransparent);
-
-
- /*
- * HIGrowBoxViewIsTransparent()
- *
- * Discussion:
- * Returns true if a grow box view is set to be transparent.
- *
- * Parameters:
- *
- * inGrowBoxView:
- * The grow box view reference.
- *
- * Result:
- * A boolean result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIGrowBoxViewIsTransparent(HIViewRef inGrowBoxView);
-
-
-
- /*==============================================================================*/
- /* HIScrollView */
- /*==============================================================================*/
- enum
- {
- kEventClassScrollable = FOUR_CHAR_CODE('scrl')
- };
-
- enum
- {
- kEventScrollableGetInfo = 1,
- kEventScrollableInfoChanged = 2,
- kEventScrollableScrollTo = 10
- };
-
- enum
- {
- kEventParamImageSize = FOUR_CHAR_CODE('imsz'), /* type HISize*/
- kEventParamViewSize = FOUR_CHAR_CODE('vwsz'), /* type HISize*/
- kEventParamLineSize = FOUR_CHAR_CODE('lnsz'), /* type HISize*/
- kEventParamOrigin = FOUR_CHAR_CODE('orgn') /* type HIPoint*/
- };
-
-
- /*
- * Discussion:
- * HIScrollView options
- */
- enum
- {
-
- /*
- * This indicates that a vertical scroll bar is desired.
- */
- kHIScrollViewOptionsVertScroll = (1 << 0),
-
- /*
- * This indicates that a horizontal scroll bar is desired.
- */
- kHIScrollViewOptionsHorizScroll = (1 << 1),
-
- /*
- * This indicates that space for a grow box should be taken into
- * account when layout out scroll bars. If both the horizontal and
- * vertical scroll bars are requested, this attribute is assumed.
- */
- kHIScrollViewOptionsAllowGrow = (1 << 2),
- kHIScrollViewValidOptions = (kHIScrollViewOptionsVertScroll | kHIScrollViewOptionsHorizScroll | kHIScrollViewOptionsAllowGrow)
- };
-
- /*
- * HIScrollViewCreate()
- *
- * Discussion:
- * Creates a scroll view. This view has 3 parts, essentially. It can
- * have one or two scroll bars (horizontal/vertical), and a view to
- * be scrolled. The view to be scrolled is merely added via
- * HIViewAddSubview. The scroll view will automatically connect it
- * up appropriately. **** THIS MAY CHANGE
- *
- * Parameters:
- *
- * inOptions:
- * Options for our scroll view. You must specify either a
- * horizontal or a vertical scroll bar. If neither is passed, an
- * error is returned.
- *
- * outView:
- * The new scroll view.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIScrollViewCreate(
- OptionBits inOptions,
- HIViewRef * outView);
-
-
-
- /*
- * HIScrollViewSetScrollBarAutoHide()
- *
- * Discussion:
- * Sets a scroll view's scroll bars to auto-hide when the entire
- * scrollable view it is managing can be fully displayed in its
- * bounds. This is similar to the behavior you see in the Preview
- * application.
- *
- * Parameters:
- *
- * inView:
- * The view to affect.
- *
- * inAutoHide:
- * The new auto-hide setting (true == auto-hide).
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIScrollViewSetScrollBarAutoHide(
- HIViewRef inView,
- Boolean inAutoHide);
-
-
- /*
- * HIScrollViewGetScrollBarAutoHide()
- *
- * Discussion:
- * Gets a scroll view's current scroll bar auto-hide setting.
- *
- * Parameters:
- *
- * inView:
- * The view to examine.
- *
- * Result:
- * A boolean result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIScrollViewGetScrollBarAutoHide(HIViewRef inView);
-
-
- /*==============================================================================*/
- /* HIImageView */
- /*==============================================================================*/
-
- /*
- * HIImageViewCreate()
- *
- * Discussion:
- * Creates an image view. The view responds to the scrollable
- * interface and can be used in a scrolling view. You can pass an
- * image initially, or set one later.
- *
- * Parameters:
- *
- * inImage:
- * An initial image, or NULL. You can set the image later via
- * SetControlData.
- *
- * outControl:
- * The new image view.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIImageViewCreate(
- CGImageRef inImage, /* can be NULL */
- ControlRef * outControl);
-
-
- enum
- {
- kHIImageViewImageTag = FOUR_CHAR_CODE('imag') /* CGImageRef (THIS TAG IS GOING AWAY!!! USE THE APIS BELOW!)*/
- };
-
- /*
- * HIImageViewSetOpaque()
- *
- * Discussion:
- * Allows you to set whether an image view should be treated as
- * opaque. If this is set to true, the image view can make certain
- * optimizations for compositing and scrolling. The alpha-related
- * image view APIs are rendered useless if opacity it set to true.
- * An image view, when created, is opaque by default. You must pass
- * false to this function in order to change the alpha, etc. or if
- * your image does not fill the full bounds of the view.
- *
- * Parameters:
- *
- * inView:
- * The image view to affect.
- *
- * inOpaque:
- * The new opacity setting. Pass true to indicate you want the
- * image to be treated as opaque.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIImageViewSetOpaque(
- HIViewRef inView,
- Boolean inOpaque);
-
-
- /*
- * HIImageViewIsOpaque()
- *
- * Discussion:
- * Allows you to determine whether an image view is opaque or not.
- *
- * Parameters:
- *
- * inView:
- * The image view to query.
- *
- * Result:
- * A boolean result, where true indicates the image view is opaque.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIImageViewIsOpaque(HIViewRef inView);
-
-
- /*
- * HIImageViewSetAlpha()
- *
- * Discussion:
- * Allows you to set the alpha for an image, making it more or less
- * transparent. An alpha of 1.0 is fully opaque, and 0.0 is fully
- * transparent. The default alpha for an image is 1.0.
- *
- * Parameters:
- *
- * inView:
- * The image view to affect.
- *
- * inAlpha:
- * The new alpha value.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIImageViewSetAlpha(
- HIViewRef inView,
- float inAlpha);
-
-
- /*
- * HIImageViewGetAlpha()
- *
- * Discussion:
- * Allows you to get the alpha for an image. An alpha of 1.0 is
- * fully opaque, and 0.0 is fully transparent.
- *
- * Parameters:
- *
- * inView:
- * The image view to query.
- *
- * Result:
- * A floating point number representing the alpha from 0.0 through
- * 1.0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(float)
- HIImageViewGetAlpha(HIViewRef inView);
-
-
- /*
- * HIImageViewSetScaleToFit()
- *
- * Discussion:
- * Normally an image view will clip to the view's bounds. Using this
- * API, you can instead tell the image view to size the image to fit
- * into the view bounds specified.
- *
- * Parameters:
- *
- * inView:
- * The image view to affect.
- *
- * inScaleToFit:
- * A boolean indicating whether the image should be scaled to fit
- * the view bounds (true) or merely clip to the view bounds
- * (false).
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIImageViewSetScaleToFit(
- HIViewRef inView,
- Boolean inScaleToFit);
-
-
- /*
- * HIImageViewGetScaleToFit()
- *
- * Discussion:
- * Returns whether or not an image view will scale the image it
- * displays to the view bounds or merely clip to the view bounds. A
- * true result means it scales.
- *
- * Parameters:
- *
- * inView:
- * The image view to query.
- *
- * Result:
- * A boolean result.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- HIImageViewGetScaleToFit(HIViewRef inView);
-
-
- /*
- * HIImageViewSetImage()
- *
- * Discussion:
- * Sets the image to display in an image view. The image passed in
- * is retained by the view, so you may release the image after
- * calling this API if you no longer need to reference it.
- *
- * Parameters:
- *
- * inView:
- * The image view to affect.
- *
- * inImage:
- * The image to set.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIImageViewSetImage(
- HIViewRef inView,
- CGImageRef inImage); /* can be NULL */
-
-
- /*
- * HIImageViewCopyImage()
- *
- * Discussion:
- * Gets the image for an image view. If there is no image set on the
- * view, or the view ref is invalid, NULL is returned. The image is
- * retained, so you should take care to release it when you are
- * finished with it.
- *
- * Parameters:
- *
- * inView:
- * The image view to query.
- *
- * Result:
- * A CoreGraphics (Quartz) image ref.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CGImageRef)
- HIImageViewCopyImage(HIViewRef inView);
-
-
- /*==============================================================================*/
- /* HIComboBox */
- /*==============================================================================*/
-
- /*
- * Summary:
- * ComboBox attributes
- */
- enum
- {
-
- /*
- * A constant with value zero; the lack of any attributes.
- */
- kHIComboBoxNoAttributes = 0L,
-
- /*
- * The control will attempt to auto complete the text the user is
- * typing with an item in the ComboBox list that is the closest
- * appropriate match.
- */
- kHIComboBoxAutoCompletionAttribute = (1L << 0),
-
- /*
- * The control will disclose the ComboBox list after the user enters
- * text.
- */
- kHIComboBoxAutoDisclosureAttribute = (1L << 1),
-
- /*
- * The items in the ComboBox list will be automatically sorted in
- * alphabetical order.
- */
- kHIComboBoxAutoSortAttribute = (1L << 2),
-
- /*
- * The ComboBox list will be automatically sized to fit the Human
- * Interface Guidelines.
- */
- kHIComboBoxAutoSizeListAttribute = (1L << 3),
-
- /*
- * The minimum set of ComboBox attributes commonly used.
- */
- kHIComboBoxStandardAttributes = (kHIComboBoxAutoCompletionAttribute | kHIComboBoxAutoDisclosureAttribute | kHIComboBoxAutoSizeListAttribute)
- };
-
- /* ControlKind*/
- enum
- {
- kControlKindHIComboBox = FOUR_CHAR_CODE('cbbx')
- };
-
- /* ComboBox Part codes*/
- enum
- {
- kHIComboBoxEditTextPart = 5,
- kHIComboBoxDisclosurePart = 28
- };
-
-
- /*
- * Discussion:
- * ComboBox ControlData tags available with Mac OS X 10.2 and later.
- */
- enum
- {
-
- /*
- * Extract the contents of the ComboBox list as a CFArray. The
- * CFArray will be retained: if you get the array, you own it and
- * will be required to release it; if you set it the toolbox makes a
- * copy of it and you are free to release your reference.
- */
- kHIComboBoxListTag = FOUR_CHAR_CODE('cbls'), /* CFArrayRef; bumps the refCount on get/retains on set*/
-
- /*
- * The width of the ComboBox list. This can be customized. This
- * disables the autosize attribute.
- */
- kHIComboBoxListPixelWidthTag = FOUR_CHAR_CODE('cblw'), /* UInt32 */
-
- /*
- * The height of the ComboBox list. This can be customized. This
- * disables the autosize attribute.
- */
- kHIComboBoxListPixelHeightTag = FOUR_CHAR_CODE('cblh'), /* UInt32*/
-
- /*
- * The number of visible items in the list. This can be customized.
- * This disables the autosize attribute.
- */
- kHIComboBoxNumVisibleItemsTag = FOUR_CHAR_CODE('cbni') /* UInt32*/
- };
-
- /*
- * HIComboBoxCreate()
- *
- * Summary:
- * Creates a combo box control.
- *
- * Parameters:
- *
- * boundsRect:
- * The bounding box of the control.
- *
- * text:
- * The default text in the editable portion of the control. Can be
- * NULL.
- *
- * style:
- * The font style of the both editable text and the text in the
- * disclosure list. Can be NULL.
- *
- * list:
- * The default values available in the disclosure list. Can be
- * NULL.
- *
- * inAttributes:
- * The default attributes of the combo box.
- *
- * outComboBox:
- * On exit, contains the new control.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIComboBoxCreate(
- const HIRect * boundsRect,
- CFStringRef text, /* can be NULL */
- const ControlFontStyleRec * style, /* can be NULL */
- CFArrayRef list, /* can be NULL */
- OptionBits inAttributes,
- HIViewRef * outComboBox);
-
-
- /*
- * HIComboBoxGetItemCount()
- *
- * Summary:
- * Get the number of items in the combo box disclosure list.
- *
- * Parameters:
- *
- * inComboBox:
- * The combo box.
- *
- * Result:
- * The number of items in the combo box disclosure list.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(ItemCount)
- HIComboBoxGetItemCount(HIViewRef inComboBox);
-
-
- /*
- * HIComboBoxInsertTextItemAtIndex()
- *
- * Summary:
- * Inserts a CFString in the disclosure list
- *
- * Parameters:
- *
- * inComboBox:
- * The combo box whose disclosure list the text will be inserted
- * in.
- *
- * inIndex:
- * The index that the text should be inserted in. If the index
- * does not fall within the number of items in the combo box list,
- * it will be appended to the end of the list.
- *
- * inText:
- * The text item to be inserted in the combo box disclosure list.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIComboBoxInsertTextItemAtIndex(
- HIViewRef inComboBox,
- CFIndex inIndex,
- CFStringRef inText);
-
-
- /*
- * HIComboBoxAppendTextItem()
- *
- * Summary:
- * Appends a text item to the combo box disclosure list.
- *
- * Parameters:
- *
- * inComboBox:
- * The combo box whose disclosure list the text will be appended
- * to.
- *
- * inText:
- * The text item to be appended to the combo box disclosure list.
- *
- * outIndex:
- * On exit, the index of the new item. Can be NULL if the caller
- * does not require this information.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIComboBoxAppendTextItem(
- HIViewRef inComboBox,
- CFStringRef inText,
- CFIndex * outIndex); /* can be NULL */
-
-
- /*
- * HIComboBoxCopyTextItemAtIndex()
- *
- * Summary:
- * Copy the text from the combo box disclosure list
- *
- * Parameters:
- *
- * inComboBox:
- * The combo box that contains the text item you would like to
- * copy.
- *
- * inIndex:
- * The index of the text item. Will return paramErr if the index
- * is out of bounds of the combo box list.
- *
- * outString:
- * A copy of the string at the given index. Remember this is now
- * your copy that you will need to release.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIComboBoxCopyTextItemAtIndex(
- HIViewRef inComboBox,
- CFIndex inIndex,
- CFStringRef * outString);
-
-
- /*
- * HIComboBoxRemoveItemAtIndex()
- *
- * Summary:
- * Remove an item from a combo box disclosure list.
- *
- * Parameters:
- *
- * inComboBox:
- * The combo box that contains the disclosure list that you would
- * like to remove an item from.
- *
- * inIndex:
- * The index of the item to remove.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIComboBoxRemoveItemAtIndex(
- HIViewRef inComboBox,
- CFIndex inIndex);
-
-
- /*
- * HIComboBoxChangeAttributes()
- *
- * Summary:
- * Change the attributes of a combo box
- *
- * Parameters:
- *
- * inComboBox:
- * The combo box whose attributes you would like to change.
- *
- * inAttributesToSet:
- * The attributes to set.
- *
- * inAttributesToClear:
- * The attributes to clear.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIComboBoxChangeAttributes(
- HIViewRef inComboBox,
- OptionBits inAttributesToSet,
- OptionBits inAttributesToClear);
-
-
- /*
- * HIComboBoxGetAttributes()
- *
- * Summary:
- * Get the attributes of a combo box.
- *
- * Parameters:
- *
- * inComboBox:
- * The combo box whose attributes you would like to obtain.
- *
- * outAttributes:
- * The attributes of the combo box.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- HIComboBoxGetAttributes(
- HIViewRef inComboBox,
- OptionBits * outAttributes);
+/* Currently there is no direct creation API for the grow box, so you must use */
+/* HIObjectCreate if you wish to create one directly. Normally, a window will */
+/* create one for you, so you should generally never need to do this. */
+
+
+/*
+ * HIGrowBoxViewSetTransparent()
+ *
+ * Discussion:
+ * Sets a grow box view as transparent, meaning it will draw the
+ * grow box lines over any content below it. When not transparent,
+ * it's an opaque white square with the grow lines.
+ *
+ * Parameters:
+ *
+ * inGrowBoxView:
+ * The grow box view reference.
+ *
+ * inTransparent:
+ * Pass true to make the grow view use its transparent look, false
+ * to give it the opaque look.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIGrowBoxViewSetTransparent(
+ HIViewRef inGrowBoxView,
+ Boolean inTransparent);
+
+
+/*
+ * HIGrowBoxViewIsTransparent()
+ *
+ * Discussion:
+ * Returns true if a grow box view is set to be transparent.
+ *
+ * Parameters:
+ *
+ * inGrowBoxView:
+ * The grow box view reference.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIGrowBoxViewIsTransparent(HIViewRef inGrowBoxView);
+
+
+
+/*==============================================================================*/
+/* HIScrollView */
+/*==============================================================================*/
+enum {
+ kEventClassScrollable = FOUR_CHAR_CODE('scrl')
+};
+
+enum {
+ kEventScrollableGetInfo = 1,
+ kEventScrollableInfoChanged = 2,
+ kEventScrollableScrollTo = 10
+};
+
+enum {
+ kEventParamImageSize = FOUR_CHAR_CODE('imsz'), /* type HISize*/
+ kEventParamViewSize = FOUR_CHAR_CODE('vwsz'), /* type HISize*/
+ kEventParamLineSize = FOUR_CHAR_CODE('lnsz'), /* type HISize*/
+ kEventParamOrigin = FOUR_CHAR_CODE('orgn') /* type HIPoint*/
+};
+
+
+/*
+ * Discussion:
+ * HIScrollView options
+ */
+enum {
+
+ /*
+ * This indicates that a vertical scroll bar is desired.
+ */
+ kHIScrollViewOptionsVertScroll = (1 << 0),
+
+ /*
+ * This indicates that a horizontal scroll bar is desired.
+ */
+ kHIScrollViewOptionsHorizScroll = (1 << 1),
+
+ /*
+ * This indicates that space for a grow box should be taken into
+ * account when layout out scroll bars. If both the horizontal and
+ * vertical scroll bars are requested, this attribute is assumed.
+ */
+ kHIScrollViewOptionsAllowGrow = (1 << 2),
+ kHIScrollViewValidOptions = (kHIScrollViewOptionsVertScroll | kHIScrollViewOptionsHorizScroll | kHIScrollViewOptionsAllowGrow)
+};
+
+/*
+ * HIScrollViewCreate()
+ *
+ * Discussion:
+ * Creates a scroll view. This view has 3 parts, essentially. It can
+ * have one or two scroll bars (horizontal/vertical), and a view to
+ * be scrolled. The view to be scrolled is merely added via
+ * HIViewAddSubview. The scroll view will automatically connect it
+ * up appropriately. **** THIS MAY CHANGE
+ *
+ * Parameters:
+ *
+ * inOptions:
+ * Options for our scroll view. You must specify either a
+ * horizontal or a vertical scroll bar. If neither is passed, an
+ * error is returned.
+ *
+ * outView:
+ * The new scroll view.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIScrollViewCreate(
+ OptionBits inOptions,
+ HIViewRef * outView);
+
+
+
+/*
+ * HIScrollViewSetScrollBarAutoHide()
+ *
+ * Discussion:
+ * Sets a scroll view's scroll bars to auto-hide when the entire
+ * scrollable view it is managing can be fully displayed in its
+ * bounds. This is similar to the behavior you see in the Preview
+ * application.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to affect.
+ *
+ * inAutoHide:
+ * The new auto-hide setting (true == auto-hide).
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIScrollViewSetScrollBarAutoHide(
+ HIViewRef inView,
+ Boolean inAutoHide);
+
+
+/*
+ * HIScrollViewGetScrollBarAutoHide()
+ *
+ * Discussion:
+ * Gets a scroll view's current scroll bar auto-hide setting.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The view to examine.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIScrollViewGetScrollBarAutoHide(HIViewRef inView);
+
+
+/*==============================================================================*/
+/* HIImageView */
+/*==============================================================================*/
+
+/*
+ * HIImageViewCreate()
+ *
+ * Discussion:
+ * Creates an image view. The view responds to the scrollable
+ * interface and can be used in a scrolling view. You can pass an
+ * image initially, or set one later.
+ *
+ * Parameters:
+ *
+ * inImage:
+ * An initial image, or NULL. You can set the image later via
+ * SetControlData.
+ *
+ * outControl:
+ * The new image view.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIImageViewCreate(
+ CGImageRef inImage, /* can be NULL */
+ ControlRef * outControl);
+
+
+enum {
+ kHIImageViewImageTag = FOUR_CHAR_CODE('imag') /* CGImageRef (THIS TAG IS GOING AWAY!!! USE THE APIS BELOW!)*/
+};
+
+/*
+ * HIImageViewSetOpaque()
+ *
+ * Discussion:
+ * Allows you to set whether an image view should be treated as
+ * opaque. If this is set to true, the image view can make certain
+ * optimizations for compositing and scrolling. The alpha-related
+ * image view APIs are rendered useless if opacity it set to true.
+ * An image view, when created, is opaque by default. You must pass
+ * false to this function in order to change the alpha, etc. or if
+ * your image does not fill the full bounds of the view.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The image view to affect.
+ *
+ * inOpaque:
+ * The new opacity setting. Pass true to indicate you want the
+ * image to be treated as opaque.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIImageViewSetOpaque(
+ HIViewRef inView,
+ Boolean inOpaque);
+
+
+/*
+ * HIImageViewIsOpaque()
+ *
+ * Discussion:
+ * Allows you to determine whether an image view is opaque or not.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The image view to query.
+ *
+ * Result:
+ * A boolean result, where true indicates the image view is opaque.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIImageViewIsOpaque(HIViewRef inView);
+
+
+/*
+ * HIImageViewSetAlpha()
+ *
+ * Discussion:
+ * Allows you to set the alpha for an image, making it more or less
+ * transparent. An alpha of 1.0 is fully opaque, and 0.0 is fully
+ * transparent. The default alpha for an image is 1.0.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The image view to affect.
+ *
+ * inAlpha:
+ * The new alpha value.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIImageViewSetAlpha(
+ HIViewRef inView,
+ float inAlpha);
+
+
+/*
+ * HIImageViewGetAlpha()
+ *
+ * Discussion:
+ * Allows you to get the alpha for an image. An alpha of 1.0 is
+ * fully opaque, and 0.0 is fully transparent.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The image view to query.
+ *
+ * Result:
+ * A floating point number representing the alpha from 0.0 through
+ * 1.0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( float )
+HIImageViewGetAlpha(HIViewRef inView);
+
+
+/*
+ * HIImageViewSetScaleToFit()
+ *
+ * Discussion:
+ * Normally an image view will clip to the view's bounds. Using this
+ * API, you can instead tell the image view to size the image to fit
+ * into the view bounds specified.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The image view to affect.
+ *
+ * inScaleToFit:
+ * A boolean indicating whether the image should be scaled to fit
+ * the view bounds (true) or merely clip to the view bounds
+ * (false).
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIImageViewSetScaleToFit(
+ HIViewRef inView,
+ Boolean inScaleToFit);
+
+
+/*
+ * HIImageViewGetScaleToFit()
+ *
+ * Discussion:
+ * Returns whether or not an image view will scale the image it
+ * displays to the view bounds or merely clip to the view bounds. A
+ * true result means it scales.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The image view to query.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+HIImageViewGetScaleToFit(HIViewRef inView);
+
+
+/*
+ * HIImageViewSetImage()
+ *
+ * Discussion:
+ * Sets the image to display in an image view. The image passed in
+ * is retained by the view, so you may release the image after
+ * calling this API if you no longer need to reference it.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The image view to affect.
+ *
+ * inImage:
+ * The image to set.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIImageViewSetImage(
+ HIViewRef inView,
+ CGImageRef inImage); /* can be NULL */
+
+
+/*
+ * HIImageViewCopyImage()
+ *
+ * Discussion:
+ * Gets the image for an image view. If there is no image set on the
+ * view, or the view ref is invalid, NULL is returned. The image is
+ * retained, so you should take care to release it when you are
+ * finished with it.
+ *
+ * Parameters:
+ *
+ * inView:
+ * The image view to query.
+ *
+ * Result:
+ * A CoreGraphics (Quartz) image ref.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CGImageRef )
+HIImageViewCopyImage(HIViewRef inView);
+
+
+/*==============================================================================*/
+/* HIComboBox */
+/*==============================================================================*/
+
+/*
+ * Summary:
+ * ComboBox attributes
+ */
+enum {
+
+ /*
+ * A constant with value zero; the lack of any attributes.
+ */
+ kHIComboBoxNoAttributes = 0L,
+
+ /*
+ * The control will attempt to auto complete the text the user is
+ * typing with an item in the ComboBox list that is the closest
+ * appropriate match.
+ */
+ kHIComboBoxAutoCompletionAttribute = (1L << 0),
+
+ /*
+ * The control will disclose the ComboBox list after the user enters
+ * text.
+ */
+ kHIComboBoxAutoDisclosureAttribute = (1L << 1),
+
+ /*
+ * The items in the ComboBox list will be automatically sorted in
+ * alphabetical order.
+ */
+ kHIComboBoxAutoSortAttribute = (1L << 2),
+
+ /*
+ * The ComboBox list will be automatically sized to fit the Human
+ * Interface Guidelines.
+ */
+ kHIComboBoxAutoSizeListAttribute = (1L << 3),
+
+ /*
+ * The minimum set of ComboBox attributes commonly used.
+ */
+ kHIComboBoxStandardAttributes = (kHIComboBoxAutoCompletionAttribute | kHIComboBoxAutoDisclosureAttribute | kHIComboBoxAutoSizeListAttribute)
+};
+
+/* ControlKind*/
+enum {
+ kControlKindHIComboBox = FOUR_CHAR_CODE('cbbx')
+};
+
+/* ComboBox Part codes*/
+enum {
+ kHIComboBoxEditTextPart = 5,
+ kHIComboBoxDisclosurePart = 28
+};
+
+
+/*
+ * Discussion:
+ * ComboBox ControlData tags available with Mac OS X 10.2 and later.
+ */
+enum {
+
+ /*
+ * Extract the contents of the ComboBox list as a CFArray. The
+ * CFArray will be retained: if you get the array, you own it and
+ * will be required to release it; if you set it the toolbox makes a
+ * copy of it and you are free to release your reference.
+ */
+ kHIComboBoxListTag = FOUR_CHAR_CODE('cbls'), /* CFArrayRef; bumps the refCount on get/retains on set*/
+
+ /*
+ * The width of the ComboBox list. This can be customized. This
+ * disables the autosize attribute.
+ */
+ kHIComboBoxListPixelWidthTag = FOUR_CHAR_CODE('cblw'), /* UInt32 */
+
+ /*
+ * The height of the ComboBox list. This can be customized. This
+ * disables the autosize attribute.
+ */
+ kHIComboBoxListPixelHeightTag = FOUR_CHAR_CODE('cblh'), /* UInt32*/
+
+ /*
+ * The number of visible items in the list. This can be customized.
+ * This disables the autosize attribute.
+ */
+ kHIComboBoxNumVisibleItemsTag = FOUR_CHAR_CODE('cbni') /* UInt32*/
+};
+
+/*
+ * HIComboBoxCreate()
+ *
+ * Summary:
+ * Creates a combo box control.
+ *
+ * Parameters:
+ *
+ * boundsRect:
+ * The bounding box of the control.
+ *
+ * text:
+ * The default text in the editable portion of the control. Can be
+ * NULL.
+ *
+ * style:
+ * The font style of the both editable text and the text in the
+ * disclosure list. Can be NULL.
+ *
+ * list:
+ * The default values available in the disclosure list. Can be
+ * NULL.
+ *
+ * inAttributes:
+ * The default attributes of the combo box.
+ *
+ * outComboBox:
+ * On exit, contains the new control.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIComboBoxCreate(
+ const HIRect * boundsRect,
+ CFStringRef text, /* can be NULL */
+ const ControlFontStyleRec * style, /* can be NULL */
+ CFArrayRef list, /* can be NULL */
+ OptionBits inAttributes,
+ HIViewRef * outComboBox);
+
+
+/*
+ * HIComboBoxGetItemCount()
+ *
+ * Summary:
+ * Get the number of items in the combo box disclosure list.
+ *
+ * Parameters:
+ *
+ * inComboBox:
+ * The combo box.
+ *
+ * Result:
+ * The number of items in the combo box disclosure list.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( ItemCount )
+HIComboBoxGetItemCount(HIViewRef inComboBox);
+
+
+/*
+ * HIComboBoxInsertTextItemAtIndex()
+ *
+ * Summary:
+ * Inserts a CFString in the disclosure list
+ *
+ * Parameters:
+ *
+ * inComboBox:
+ * The combo box whose disclosure list the text will be inserted
+ * in.
+ *
+ * inIndex:
+ * The index that the text should be inserted in. If the index
+ * does not fall within the number of items in the combo box list,
+ * it will be appended to the end of the list.
+ *
+ * inText:
+ * The text item to be inserted in the combo box disclosure list.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIComboBoxInsertTextItemAtIndex(
+ HIViewRef inComboBox,
+ CFIndex inIndex,
+ CFStringRef inText);
+
+
+/*
+ * HIComboBoxAppendTextItem()
+ *
+ * Summary:
+ * Appends a text item to the combo box disclosure list.
+ *
+ * Parameters:
+ *
+ * inComboBox:
+ * The combo box whose disclosure list the text will be appended
+ * to.
+ *
+ * inText:
+ * The text item to be appended to the combo box disclosure list.
+ *
+ * outIndex:
+ * On exit, the index of the new item. Can be NULL if the caller
+ * does not require this information.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIComboBoxAppendTextItem(
+ HIViewRef inComboBox,
+ CFStringRef inText,
+ CFIndex * outIndex); /* can be NULL */
+
+
+/*
+ * HIComboBoxCopyTextItemAtIndex()
+ *
+ * Summary:
+ * Copy the text from the combo box disclosure list
+ *
+ * Parameters:
+ *
+ * inComboBox:
+ * The combo box that contains the text item you would like to
+ * copy.
+ *
+ * inIndex:
+ * The index of the text item. Will return paramErr if the index
+ * is out of bounds of the combo box list.
+ *
+ * outString:
+ * A copy of the string at the given index. Remember this is now
+ * your copy that you will need to release.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIComboBoxCopyTextItemAtIndex(
+ HIViewRef inComboBox,
+ CFIndex inIndex,
+ CFStringRef * outString);
+
+
+/*
+ * HIComboBoxRemoveItemAtIndex()
+ *
+ * Summary:
+ * Remove an item from a combo box disclosure list.
+ *
+ * Parameters:
+ *
+ * inComboBox:
+ * The combo box that contains the disclosure list that you would
+ * like to remove an item from.
+ *
+ * inIndex:
+ * The index of the item to remove.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIComboBoxRemoveItemAtIndex(
+ HIViewRef inComboBox,
+ CFIndex inIndex);
+
+
+/*
+ * HIComboBoxChangeAttributes()
+ *
+ * Summary:
+ * Change the attributes of a combo box
+ *
+ * Parameters:
+ *
+ * inComboBox:
+ * The combo box whose attributes you would like to change.
+ *
+ * inAttributesToSet:
+ * The attributes to set.
+ *
+ * inAttributesToClear:
+ * The attributes to clear.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIComboBoxChangeAttributes(
+ HIViewRef inComboBox,
+ OptionBits inAttributesToSet,
+ OptionBits inAttributesToClear);
+
+
+/*
+ * HIComboBoxGetAttributes()
+ *
+ * Summary:
+ * Get the attributes of a combo box.
+ *
+ * Parameters:
+ *
+ * inComboBox:
+ * The combo box whose attributes you would like to obtain.
+ *
+ * outAttributes:
+ * The attributes of the combo box.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+HIComboBoxGetAttributes(
+ HIViewRef inComboBox,
+ OptionBits * outAttributes);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/HTMLRendering.h b/include/qt/HTMLRendering.h
index de394c67a..24ac6a016 100644
--- a/include/qt/HTMLRendering.h
+++ b/include/qt/HTMLRendering.h
@@ -1,17 +1,17 @@
/*
File: HTMLRendering.h
-
+
Contains: HTML Rendering Library Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __HTMLRENDERING__
#define __HTMLRENDERING__
@@ -71,877 +71,841 @@ extern "C" {
#pragma import on
#endif
- typedef struct OpaqueHRReference* HRReference;
- /*
- * HRGetHTMLRenderingLibVersion()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGetHTMLRenderingLibVersion(NumVersion * returnVers);
+typedef struct OpaqueHRReference* HRReference;
+/*
+ * HRGetHTMLRenderingLibVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGetHTMLRenderingLibVersion(NumVersion * returnVers);
#if TARGET_RT_MAC_CFM
#ifdef __cplusplus
- inline pascal Boolean HRHTMLRenderingLibAvailable()
- {
- return ((HRGetHTMLRenderingLibVersion != (void*)kUnresolvedCFragSymbolAddress));
- }
+ inline pascal Boolean HRHTMLRenderingLibAvailable() { return ((HRGetHTMLRenderingLibVersion != (void*)kUnresolvedCFragSymbolAddress) ); }
#else
-#define HRHTMLRenderingLibAvailable() ((HRGetHTMLRenderingLibVersion != (void*)kUnresolvedCFragSymbolAddress) )
+ #define HRHTMLRenderingLibAvailable() ((HRGetHTMLRenderingLibVersion != (void*)kUnresolvedCFragSymbolAddress) )
#endif
#elif TARGET_RT_MAC_MACHO
#ifdef __cplusplus
- inline pascal Boolean HRHTMLRenderingLibAvailable()
- {
- return true;
- }
+ inline pascal Boolean HRHTMLRenderingLibAvailable() { return true; }
#else
-#define HRHTMLRenderingLibAvailable() (true)
+ #define HRHTMLRenderingLibAvailable() (true)
#endif
#endif /* */
- enum
- {
- kHRRendererHTML32Type = FOUR_CHAR_CODE('ht32') /* HTML 3.2 */
- };
-
-
- /*
- * HRNewReference()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRNewReference(
- HRReference * hrRef,
- OSType rendererType,
- GrafPtr grafPtr);
-
-
- /*
- * HRDisposeReference()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRDisposeReference(HRReference hrRef);
-
-
-
- /*
- * HRFreeMemory()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- HRFreeMemory(Size inBytesNeeded);
-
-
-
- /* System level notifications */
- /*
- * HRScreenConfigurationChanged()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HRScreenConfigurationChanged(void);
-
-
- /*
- * HRIsHREvent()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- HRIsHREvent(const EventRecord * eventRecord);
-
-
-
- /* Drawing */
- /*
- * HRSetGrafPtr()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRSetGrafPtr(
- HRReference hrRef,
- GrafPtr grafPtr);
-
-
- /*
- * HRActivate()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRActivate(HRReference hrRef);
-
-
- /*
- * HRDeactivate()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRDeactivate(HRReference hrRef);
-
-
- /*
- * HRDraw()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRDraw(
- HRReference hrRef,
- RgnHandle updateRgnH);
-
-
- /*
- * HRSetRenderingRect()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRSetRenderingRect(
- HRReference hrRef,
- const Rect * renderingRect);
-
-
- /*
- * HRGetRenderedImageSize()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGetRenderedImageSize(
- HRReference hrRef,
- Point * renderingSize);
-
-
- /*
- * HRScrollToLocation()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRScrollToLocation(
- HRReference hrRef,
- Point * location);
-
-
- /*
- * HRForceQuickdraw()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRForceQuickdraw(
- HRReference hrRef,
- Boolean forceQuickdraw);
-
-
- typedef SInt16 HRScrollbarState;
- enum
- {
- eHRScrollbarOn = 0,
- eHRScrollbarOff = 1,
- eHRScrollbarAuto = 2
- };
-
- /*
- * HRSetScrollbarState()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRSetScrollbarState(
- HRReference hrRef,
- HRScrollbarState hScrollbarState,
- HRScrollbarState vScrollbarState);
-
-
- /*
- * HRSetDrawBorder()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRSetDrawBorder(
- HRReference hrRef,
- Boolean drawBorder);
-
-
- /*
- * HRSetGrowboxCutout()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRSetGrowboxCutout(
- HRReference hrRef,
- Boolean allowCutout);
-
-
- /* Navigation */
- /*
- * HRGoToFile()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGoToFile(
- HRReference hrRef,
- const FSSpec * fsspec,
- Boolean addToHistory,
- Boolean forceRefresh);
-
-
- /*
- * HRGoToURL()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGoToURL(
- HRReference hrRef,
- const char * url,
- Boolean addToHistory,
- Boolean forceRefresh);
-
-
- /*
- * HRGoToAnchor()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGoToAnchor(
- HRReference hrRef,
- const char * anchorName);
-
-
- /*
- * HRGoToPtr()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGoToPtr(
- HRReference hrRef,
- char * buffer,
- UInt32 bufferSize,
- Boolean addToHistory,
- Boolean forceRefresh);
-
-
- /* Accessors */
- /* either file url or url of <base> tag */
- /*
- * HRGetRootURL()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGetRootURL(
- HRReference hrRef,
- Handle rootURLH);
-
-
- /* url of <base> tag */
- /*
- * HRGetBaseURL()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGetBaseURL(
- HRReference hrRef,
- Handle baseURLH);
-
-
- /* file url */
- /*
- * HRGetHTMLURL()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGetHTMLURL(
- HRReference hrRef,
- Handle HTMLURLH);
-
-
- /*
- * HRGetTitle()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGetTitle(
- HRReference hrRef,
- StringPtr title);
-
-
- /*
- * HRGetHTMLFile()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRGetHTMLFile(
- HRReference hrRef,
- FSSpec * fsspec);
-
-
-
- /* Utilities */
- /*
- * HRUtilCreateFullURL()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRUtilCreateFullURL(
- const char * rootURL,
- const char * linkURL,
- Handle fullURLH);
-
-
- /*
- * HRUtilGetFSSpecFromURL()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRUtilGetFSSpecFromURL(
- const char * rootURL,
- const char * linkURL,
- FSSpec * destSpec);
-
-
- /* urlHandle should be valid on input */
- /*
- * HRUtilGetURLFromFSSpec()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HRUtilGetURLFromFSSpec(
- const FSSpec * fsspec,
- Handle urlHandle);
-
-
-
- /*
- Visited links
-
- If you register a function here, it will be called to determine
- whether or not the given URL has been visited. It should return
- true if the URL has been visited.
-
- In addition to the URLs that the application may add to the list
- of visited links, it should also add URLs that the user clicks
- on. These URLs can be caught by the "add URL to history" callback
- below.
- */
- typedef CALLBACK_API(Boolean , HRWasURLVisitedProcPtr)(const char *url, void *refCon);
- typedef STACK_UPP_TYPE(HRWasURLVisitedProcPtr) HRWasURLVisitedUPP;
- /*
- * HRRegisterWasURLVisitedUPP()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HRRegisterWasURLVisitedUPP(
- HRWasURLVisitedUPP inWasURLVisitedUPP,
- HRReference hrRef,
- void * inRefCon);
-
-
- /*
- * HRUnregisterWasURLVisitedUPP()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HRUnregisterWasURLVisitedUPP(HRReference hrRef);
-
-
-
- /*
- New URL
-
- If you register a function here, it will be called every time
- the renderer is going to display a new URL. A few examples of how
- you might use this include...
-
- (a) maintaining a history of URLs
- (b) maintainging a list of visited links
- (c) setting a window title based on the new URL
- */
- typedef CALLBACK_API(OSStatus , HRNewURLProcPtr)(const char *url, const char *targetFrame, Boolean addToHistory, void *refCon);
- typedef STACK_UPP_TYPE(HRNewURLProcPtr) HRNewURLUPP;
- /*
- * HRRegisterNewURLUPP()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HRRegisterNewURLUPP(
- HRNewURLUPP inNewURLUPP,
- HRReference hrRef,
- void * inRefCon);
-
-
- /*
- * HRUnregisterNewURLUPP()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HRUnregisterNewURLUPP(HRReference hrRef);
-
-
-
-
-
-
- /*
- URL to FSSpec function
-
- If you register a function here, it will be called every time
- the renderer is going to locate a file. The function will be
- passed an enum indicating the type of file being asked for.
- */
- typedef UInt16 URLSourceType;
- enum
- {
- kHRLookingForHTMLSource = 1,
- kHRLookingForImage = 2,
- kHRLookingForEmbedded = 3,
- kHRLookingForImageMap = 4,
- kHRLookingForFrame = 5
- };
-
- typedef CALLBACK_API(OSStatus , HRURLToFSSpecProcPtr)(const char *rootURL, const char *linkURL, FSSpec *fsspec, URLSourceType urlSourceType, void *refCon);
- typedef STACK_UPP_TYPE(HRURLToFSSpecProcPtr) HRURLToFSSpecUPP;
- /*
- * HRRegisterURLToFSSpecUPP()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HRRegisterURLToFSSpecUPP(
- HRURLToFSSpecUPP inURLToFSSpecUPP,
- HRReference hrRef,
- void * inRefCon);
-
-
- /*
- * HRUnregisterURLToFSSpecUPP()
- *
- * Availability:
- * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HRUnregisterURLToFSSpecUPP(HRReference hrRef);
-
-
-
- /*
- * NewHRWasURLVisitedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HRWasURLVisitedUPP)
- NewHRWasURLVisitedUPP(HRWasURLVisitedProcPtr userRoutine);
+enum {
+ kHRRendererHTML32Type = FOUR_CHAR_CODE('ht32') /* HTML 3.2 */
+};
+
+
+/*
+ * HRNewReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRNewReference(
+ HRReference * hrRef,
+ OSType rendererType,
+ GrafPtr grafPtr);
+
+
+/*
+ * HRDisposeReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRDisposeReference(HRReference hrRef);
+
+
+
+/*
+ * HRFreeMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+HRFreeMemory(Size inBytesNeeded);
+
+
+
+/* System level notifications */
+/*
+ * HRScreenConfigurationChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HRScreenConfigurationChanged(void);
+
+
+/*
+ * HRIsHREvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+HRIsHREvent(const EventRecord * eventRecord);
+
+
+
+/* Drawing */
+/*
+ * HRSetGrafPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRSetGrafPtr(
+ HRReference hrRef,
+ GrafPtr grafPtr);
+
+
+/*
+ * HRActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRActivate(HRReference hrRef);
+
+
+/*
+ * HRDeactivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRDeactivate(HRReference hrRef);
+
+
+/*
+ * HRDraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRDraw(
+ HRReference hrRef,
+ RgnHandle updateRgnH);
+
+
+/*
+ * HRSetRenderingRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRSetRenderingRect(
+ HRReference hrRef,
+ const Rect * renderingRect);
+
+
+/*
+ * HRGetRenderedImageSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGetRenderedImageSize(
+ HRReference hrRef,
+ Point * renderingSize);
+
+
+/*
+ * HRScrollToLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRScrollToLocation(
+ HRReference hrRef,
+ Point * location);
+
+
+/*
+ * HRForceQuickdraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRForceQuickdraw(
+ HRReference hrRef,
+ Boolean forceQuickdraw);
+
+
+typedef SInt16 HRScrollbarState;
+enum {
+ eHRScrollbarOn = 0,
+ eHRScrollbarOff = 1,
+ eHRScrollbarAuto = 2
+};
+
+/*
+ * HRSetScrollbarState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRSetScrollbarState(
+ HRReference hrRef,
+ HRScrollbarState hScrollbarState,
+ HRScrollbarState vScrollbarState);
+
+
+/*
+ * HRSetDrawBorder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRSetDrawBorder(
+ HRReference hrRef,
+ Boolean drawBorder);
+
+
+/*
+ * HRSetGrowboxCutout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRSetGrowboxCutout(
+ HRReference hrRef,
+ Boolean allowCutout);
+
+
+/* Navigation */
+/*
+ * HRGoToFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGoToFile(
+ HRReference hrRef,
+ const FSSpec * fsspec,
+ Boolean addToHistory,
+ Boolean forceRefresh);
+
+
+/*
+ * HRGoToURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGoToURL(
+ HRReference hrRef,
+ const char * url,
+ Boolean addToHistory,
+ Boolean forceRefresh);
+
+
+/*
+ * HRGoToAnchor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGoToAnchor(
+ HRReference hrRef,
+ const char * anchorName);
+
+
+/*
+ * HRGoToPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGoToPtr(
+ HRReference hrRef,
+ char * buffer,
+ UInt32 bufferSize,
+ Boolean addToHistory,
+ Boolean forceRefresh);
+
+
+/* Accessors */
+/* either file url or url of <base> tag */
+/*
+ * HRGetRootURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGetRootURL(
+ HRReference hrRef,
+ Handle rootURLH);
+
+
+/* url of <base> tag */
+/*
+ * HRGetBaseURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGetBaseURL(
+ HRReference hrRef,
+ Handle baseURLH);
+
+
+/* file url */
+/*
+ * HRGetHTMLURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGetHTMLURL(
+ HRReference hrRef,
+ Handle HTMLURLH);
+
+
+/*
+ * HRGetTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGetTitle(
+ HRReference hrRef,
+ StringPtr title);
+
+
+/*
+ * HRGetHTMLFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRGetHTMLFile(
+ HRReference hrRef,
+ FSSpec * fsspec);
+
+
+
+/* Utilities */
+/*
+ * HRUtilCreateFullURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRUtilCreateFullURL(
+ const char * rootURL,
+ const char * linkURL,
+ Handle fullURLH);
+
+
+/*
+ * HRUtilGetFSSpecFromURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRUtilGetFSSpecFromURL(
+ const char * rootURL,
+ const char * linkURL,
+ FSSpec * destSpec);
+
+
+/* urlHandle should be valid on input */
+/*
+ * HRUtilGetURLFromFSSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HRUtilGetURLFromFSSpec(
+ const FSSpec * fsspec,
+ Handle urlHandle);
+
+
+
+/*
+ Visited links
+
+ If you register a function here, it will be called to determine
+ whether or not the given URL has been visited. It should return
+ true if the URL has been visited.
+
+ In addition to the URLs that the application may add to the list
+ of visited links, it should also add URLs that the user clicks
+ on. These URLs can be caught by the "add URL to history" callback
+ below.
+ */
+typedef CALLBACK_API( Boolean , HRWasURLVisitedProcPtr )(const char *url, void *refCon);
+typedef STACK_UPP_TYPE(HRWasURLVisitedProcPtr) HRWasURLVisitedUPP;
+/*
+ * HRRegisterWasURLVisitedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HRRegisterWasURLVisitedUPP(
+ HRWasURLVisitedUPP inWasURLVisitedUPP,
+ HRReference hrRef,
+ void * inRefCon);
+
+
+/*
+ * HRUnregisterWasURLVisitedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HRUnregisterWasURLVisitedUPP(HRReference hrRef);
+
+
+
+/*
+ New URL
+
+ If you register a function here, it will be called every time
+ the renderer is going to display a new URL. A few examples of how
+ you might use this include...
+
+ (a) maintaining a history of URLs
+ (b) maintainging a list of visited links
+ (c) setting a window title based on the new URL
+*/
+typedef CALLBACK_API( OSStatus , HRNewURLProcPtr )(const char *url, const char *targetFrame, Boolean addToHistory, void *refCon);
+typedef STACK_UPP_TYPE(HRNewURLProcPtr) HRNewURLUPP;
+/*
+ * HRRegisterNewURLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HRRegisterNewURLUPP(
+ HRNewURLUPP inNewURLUPP,
+ HRReference hrRef,
+ void * inRefCon);
+
+
+/*
+ * HRUnregisterNewURLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HRUnregisterNewURLUPP(HRReference hrRef);
+
+
+
+
+
+
+/*
+ URL to FSSpec function
+
+ If you register a function here, it will be called every time
+ the renderer is going to locate a file. The function will be
+ passed an enum indicating the type of file being asked for.
+ */
+typedef UInt16 URLSourceType;
+enum {
+ kHRLookingForHTMLSource = 1,
+ kHRLookingForImage = 2,
+ kHRLookingForEmbedded = 3,
+ kHRLookingForImageMap = 4,
+ kHRLookingForFrame = 5
+};
+
+typedef CALLBACK_API( OSStatus , HRURLToFSSpecProcPtr )(const char *rootURL, const char *linkURL, FSSpec *fsspec, URLSourceType urlSourceType, void *refCon);
+typedef STACK_UPP_TYPE(HRURLToFSSpecProcPtr) HRURLToFSSpecUPP;
+/*
+ * HRRegisterURLToFSSpecUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HRRegisterURLToFSSpecUPP(
+ HRURLToFSSpecUPP inURLToFSSpecUPP,
+ HRReference hrRef,
+ void * inRefCon);
+
+
+/*
+ * HRUnregisterURLToFSSpecUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: in HTMLRenderingLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HRUnregisterURLToFSSpecUPP(HRReference hrRef);
+
+
+
+/*
+ * NewHRWasURLVisitedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HRWasURLVisitedUPP )
+NewHRWasURLVisitedUPP(HRWasURLVisitedProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHRWasURLVisitedProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HRWasURLVisitedUPP) NewHRWasURLVisitedUPP(HRWasURLVisitedProcPtr userRoutine)
- {
- return (HRWasURLVisitedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRWasURLVisitedProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHRWasURLVisitedUPP(userRoutine) (HRWasURLVisitedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRWasURLVisitedProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHRWasURLVisitedProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HRWasURLVisitedUPP) NewHRWasURLVisitedUPP(HRWasURLVisitedProcPtr userRoutine) { return (HRWasURLVisitedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRWasURLVisitedProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHRWasURLVisitedUPP(userRoutine) (HRWasURLVisitedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRWasURLVisitedProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewHRWasCFURLVisitedUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- /*
- * NewHRNewURLUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HRNewURLUPP)
- NewHRNewURLUPP(HRNewURLProcPtr userRoutine);
+/*
+ * NewHRWasCFURLVisitedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+/*
+ * NewHRNewURLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HRNewURLUPP )
+NewHRNewURLUPP(HRNewURLProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHRNewURLProcInfo = 0x000037F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HRNewURLUPP) NewHRNewURLUPP(HRNewURLProcPtr userRoutine)
- {
- return (HRNewURLUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRNewURLProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHRNewURLUPP(userRoutine) (HRNewURLUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRNewURLProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHRNewURLProcInfo = 0x000037F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HRNewURLUPP) NewHRNewURLUPP(HRNewURLProcPtr userRoutine) { return (HRNewURLUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRNewURLProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHRNewURLUPP(userRoutine) (HRNewURLUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRNewURLProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewHRNewCFURLUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- /*
- * NewHRURLToFSSpecUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HRURLToFSSpecUPP)
- NewHRURLToFSSpecUPP(HRURLToFSSpecProcPtr userRoutine);
+/*
+ * NewHRNewCFURLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+/*
+ * NewHRURLToFSSpecUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HRURLToFSSpecUPP )
+NewHRURLToFSSpecUPP(HRURLToFSSpecProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHRURLToFSSpecProcInfo = 0x0000EFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HRURLToFSSpecUPP) NewHRURLToFSSpecUPP(HRURLToFSSpecProcPtr userRoutine)
- {
- return (HRURLToFSSpecUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRURLToFSSpecProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHRURLToFSSpecUPP(userRoutine) (HRURLToFSSpecUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRURLToFSSpecProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHRURLToFSSpecProcInfo = 0x0000EFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HRURLToFSSpecUPP) NewHRURLToFSSpecUPP(HRURLToFSSpecProcPtr userRoutine) { return (HRURLToFSSpecUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRURLToFSSpecProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHRURLToFSSpecUPP(userRoutine) (HRURLToFSSpecUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHRURLToFSSpecProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewHRURLToFSRefUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- /*
- * DisposeHRWasURLVisitedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHRWasURLVisitedUPP(HRWasURLVisitedUPP userUPP);
+/*
+ * NewHRURLToFSRefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+/*
+ * DisposeHRWasURLVisitedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHRWasURLVisitedUPP(HRWasURLVisitedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHRWasURLVisitedUPP(HRWasURLVisitedUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHRWasURLVisitedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHRWasURLVisitedUPP(HRWasURLVisitedUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHRWasURLVisitedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeHRWasCFURLVisitedUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- /*
- * DisposeHRNewURLUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHRNewURLUPP(HRNewURLUPP userUPP);
+/*
+ * DisposeHRWasCFURLVisitedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+/*
+ * DisposeHRNewURLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHRNewURLUPP(HRNewURLUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHRNewURLUPP(HRNewURLUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHRNewURLUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHRNewURLUPP(HRNewURLUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHRNewURLUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeHRNewCFURLUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- /*
- * DisposeHRURLToFSSpecUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHRURLToFSSpecUPP(HRURLToFSSpecUPP userUPP);
+/*
+ * DisposeHRNewCFURLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+/*
+ * DisposeHRURLToFSSpecUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHRURLToFSSpecUPP(HRURLToFSSpecUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHRURLToFSSpecUPP(HRURLToFSSpecUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHRURLToFSSpecUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHRURLToFSSpecUPP(HRURLToFSSpecUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHRURLToFSSpecUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeHRURLToFSRefUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- /*
- * InvokeHRWasURLVisitedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeHRWasURLVisitedUPP(
- const char * url,
- void * refCon,
- HRWasURLVisitedUPP userUPP);
+/*
+ * DisposeHRURLToFSRefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+/*
+ * InvokeHRWasURLVisitedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeHRWasURLVisitedUPP(
+ const char * url,
+ void * refCon,
+ HRWasURLVisitedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeHRWasURLVisitedUPP(const char * url, void * refCon, HRWasURLVisitedUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppHRWasURLVisitedProcInfo, url, refCon);
- }
-#else
-#define InvokeHRWasURLVisitedUPP(url, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppHRWasURLVisitedProcInfo, (url), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeHRWasURLVisitedUPP(const char * url, void * refCon, HRWasURLVisitedUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppHRWasURLVisitedProcInfo, url, refCon); }
+ #else
+ #define InvokeHRWasURLVisitedUPP(url, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppHRWasURLVisitedProcInfo, (url), (refCon))
+ #endif
#endif
- /*
- * InvokeHRWasCFURLVisitedUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- /*
- * InvokeHRNewURLUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeHRNewURLUPP(
- const char * url,
- const char * targetFrame,
- Boolean addToHistory,
- void * refCon,
- HRNewURLUPP userUPP);
+/*
+ * InvokeHRWasCFURLVisitedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+/*
+ * InvokeHRNewURLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeHRNewURLUPP(
+ const char * url,
+ const char * targetFrame,
+ Boolean addToHistory,
+ void * refCon,
+ HRNewURLUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeHRNewURLUPP(const char * url, const char * targetFrame, Boolean addToHistory, void * refCon, HRNewURLUPP userUPP)
- {
- return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppHRNewURLProcInfo, url, targetFrame, addToHistory, refCon);
- }
-#else
-#define InvokeHRNewURLUPP(url, targetFrame, addToHistory, refCon, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppHRNewURLProcInfo, (url), (targetFrame), (addToHistory), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeHRNewURLUPP(const char * url, const char * targetFrame, Boolean addToHistory, void * refCon, HRNewURLUPP userUPP) { return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppHRNewURLProcInfo, url, targetFrame, addToHistory, refCon); }
+ #else
+ #define InvokeHRNewURLUPP(url, targetFrame, addToHistory, refCon, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppHRNewURLProcInfo, (url), (targetFrame), (addToHistory), (refCon))
+ #endif
#endif
- /*
- * InvokeHRNewCFURLUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- /*
- * InvokeHRURLToFSSpecUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeHRURLToFSSpecUPP(
- const char * rootURL,
- const char * linkURL,
- FSSpec * fsspec,
- URLSourceType urlSourceType,
- void * refCon,
- HRURLToFSSpecUPP userUPP);
+/*
+ * InvokeHRNewCFURLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+/*
+ * InvokeHRURLToFSSpecUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeHRURLToFSSpecUPP(
+ const char * rootURL,
+ const char * linkURL,
+ FSSpec * fsspec,
+ URLSourceType urlSourceType,
+ void * refCon,
+ HRURLToFSSpecUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeHRURLToFSSpecUPP(const char * rootURL, const char * linkURL, FSSpec * fsspec, URLSourceType urlSourceType, void * refCon, HRURLToFSSpecUPP userUPP)
- {
- return (OSStatus)CALL_FIVE_PARAMETER_UPP(userUPP, uppHRURLToFSSpecProcInfo, rootURL, linkURL, fsspec, urlSourceType, refCon);
- }
-#else
-#define InvokeHRURLToFSSpecUPP(rootURL, linkURL, fsspec, urlSourceType, refCon, userUPP) (OSStatus)CALL_FIVE_PARAMETER_UPP((userUPP), uppHRURLToFSSpecProcInfo, (rootURL), (linkURL), (fsspec), (urlSourceType), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeHRURLToFSSpecUPP(const char * rootURL, const char * linkURL, FSSpec * fsspec, URLSourceType urlSourceType, void * refCon, HRURLToFSSpecUPP userUPP) { return (OSStatus)CALL_FIVE_PARAMETER_UPP(userUPP, uppHRURLToFSSpecProcInfo, rootURL, linkURL, fsspec, urlSourceType, refCon); }
+ #else
+ #define InvokeHRURLToFSSpecUPP(rootURL, linkURL, fsspec, urlSourceType, refCon, userUPP) (OSStatus)CALL_FIVE_PARAMETER_UPP((userUPP), uppHRURLToFSSpecProcInfo, (rootURL), (linkURL), (fsspec), (urlSourceType), (refCon))
+ #endif
#endif
- /*
- * InvokeHRURLToFSRefUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * InvokeHRURLToFSRefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewHRWasURLVisitedProc(userRoutine) NewHRWasURLVisitedUPP(userRoutine)
-#define NewHRNewURLProc(userRoutine) NewHRNewURLUPP(userRoutine)
-#define NewHRURLToFSSpecProc(userRoutine) NewHRURLToFSSpecUPP(userRoutine)
-#define CallHRWasURLVisitedProc(userRoutine, url, refCon) InvokeHRWasURLVisitedUPP(url, refCon, userRoutine)
-#define CallHRNewURLProc(userRoutine, url, targetFrame, addToHistory, refCon) InvokeHRNewURLUPP(url, targetFrame, addToHistory, refCon, userRoutine)
-#define CallHRURLToFSSpecProc(userRoutine, rootURL, linkURL, fsspec, urlSourceType, refCon) InvokeHRURLToFSSpecUPP(rootURL, linkURL, fsspec, urlSourceType, refCon, userRoutine)
+ #define NewHRWasURLVisitedProc(userRoutine) NewHRWasURLVisitedUPP(userRoutine)
+ #define NewHRNewURLProc(userRoutine) NewHRNewURLUPP(userRoutine)
+ #define NewHRURLToFSSpecProc(userRoutine) NewHRURLToFSSpecUPP(userRoutine)
+ #define CallHRWasURLVisitedProc(userRoutine, url, refCon) InvokeHRWasURLVisitedUPP(url, refCon, userRoutine)
+ #define CallHRNewURLProc(userRoutine, url, targetFrame, addToHistory, refCon) InvokeHRNewURLUPP(url, targetFrame, addToHistory, refCon, userRoutine)
+ #define CallHRURLToFSSpecProc(userRoutine, rootURL, linkURL, fsspec, urlSourceType, refCon) InvokeHRURLToFSSpecUPP(rootURL, linkURL, fsspec, urlSourceType, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
diff --git a/include/qt/Help.h b/include/qt/Help.h
index c63cdf8c4..f0f5a1623 100644
--- a/include/qt/Help.h
+++ b/include/qt/Help.h
@@ -1,16 +1,16 @@
/*
File: Help.h
-
+
Contains: Master include for Help private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#error this file is for use as a framework master only
diff --git a/include/qt/IBCarbonRuntime.h b/include/qt/IBCarbonRuntime.h
index e0829b986..1d3af43c7 100644
--- a/include/qt/IBCarbonRuntime.h
+++ b/include/qt/IBCarbonRuntime.h
@@ -1,17 +1,17 @@
/*
File: IBCarbonRuntime.h
-
+
Contains: Nib support for Carbon
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __IBCARBONRUNTIME__
#define __IBCARBONRUNTIME__
@@ -52,118 +52,118 @@ extern "C" {
#pragma import on
#endif
- enum {
- kIBCarbonRuntimeCantFindNibFile = -10960,
- kIBCarbonRuntimeObjectNotOfRequestedType = -10961,
- kIBCarbonRuntimeCantFindObject = -10962
- };
-
- /* ----- typedef ------ */
- typedef struct OpaqueIBNibRef* IBNibRef;
- /* ----- Create & Dispose NIB References ------ */
- /*
- * CreateNibReference()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateNibReference(
- CFStringRef inNibName,
- IBNibRef * outNibRef);
-
-
- /*
- * CreateNibReferenceWithCFBundle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateNibReferenceWithCFBundle(
- CFBundleRef inBundle,
- CFStringRef inNibName,
- IBNibRef * outNibRef);
-
-
- /*
- * DisposeNibReference()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNibReference(IBNibRef inNibRef);
-
-
- /* ----- Window ------ */
- /*
- * CreateWindowFromNib()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateWindowFromNib(
- IBNibRef inNibRef,
- CFStringRef inName,
- WindowRef * outWindow);
-
-
- /* ----- Menu -----*/
-
- /*
- * CreateMenuFromNib()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateMenuFromNib(
- IBNibRef inNibRef,
- CFStringRef inName,
- MenuRef * outMenuRef);
-
-
- /* ----- MenuBar ------*/
-
- /*
- * CreateMenuBarFromNib()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateMenuBarFromNib(
- IBNibRef inNibRef,
- CFStringRef inName,
- Handle * outMenuBar);
-
-
- /*
- * SetMenuBarFromNib()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetMenuBarFromNib(
- IBNibRef inNibRef,
- CFStringRef inName);
+enum {
+ kIBCarbonRuntimeCantFindNibFile = -10960,
+ kIBCarbonRuntimeObjectNotOfRequestedType = -10961,
+ kIBCarbonRuntimeCantFindObject = -10962
+};
+
+/* ----- typedef ------ */
+typedef struct OpaqueIBNibRef* IBNibRef;
+/* ----- Create & Dispose NIB References ------ */
+/*
+ * CreateNibReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateNibReference(
+ CFStringRef inNibName,
+ IBNibRef * outNibRef);
+
+
+/*
+ * CreateNibReferenceWithCFBundle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateNibReferenceWithCFBundle(
+ CFBundleRef inBundle,
+ CFStringRef inNibName,
+ IBNibRef * outNibRef);
+
+
+/*
+ * DisposeNibReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNibReference(IBNibRef inNibRef);
+
+
+/* ----- Window ------ */
+/*
+ * CreateWindowFromNib()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateWindowFromNib(
+ IBNibRef inNibRef,
+ CFStringRef inName,
+ WindowRef * outWindow);
+
+
+/* ----- Menu -----*/
+
+/*
+ * CreateMenuFromNib()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateMenuFromNib(
+ IBNibRef inNibRef,
+ CFStringRef inName,
+ MenuRef * outMenuRef);
+
+
+/* ----- MenuBar ------*/
+
+/*
+ * CreateMenuBarFromNib()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateMenuBarFromNib(
+ IBNibRef inNibRef,
+ CFStringRef inName,
+ Handle * outMenuBar);
+
+
+/*
+ * SetMenuBarFromNib()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetMenuBarFromNib(
+ IBNibRef inNibRef,
+ CFStringRef inName);
diff --git a/include/qt/ICAApplication.h b/include/qt/ICAApplication.h
index 4766ac43f..6c9eae7a5 100644
--- a/include/qt/ICAApplication.h
+++ b/include/qt/ICAApplication.h
@@ -1,17 +1,17 @@
/*
File: ICAApplication.h
-
+
Contains: General purpose Image Capture definitions
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ICAAPPLICATION__
#define __ICAAPPLICATION__
@@ -43,979 +43,933 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct OpaqueICAObject* ICAObject;
- typedef struct OpaqueICAProperty* ICAProperty;
- typedef struct OpaqueICAConnectionID* ICAConnectionID;
- typedef struct OpaqueICAEventDataCookie* ICAEventDataCookie;
- typedef struct OpaqueICAScannerSessionID* ICAScannerSessionID;
- /*
- --------------- Defines ---------------
- */
- /* Error codes (Image Capture range = -9900...-9949)*/
- enum
- {
- kICACommunicationErr = -9900,
- kICADeviceNotFoundErr = -9901,
- kICADeviceNotOpenErr = -9902,
- kICAFileCorruptedErr = -9903,
- kICAIOPendingErr = -9904,
- kICAInvalidObjectErr = -9905,
- kICAInvalidPropertyErr = -9906,
- kICAIndexOutOfRangeErr = -9907,
- kICAPropertyTypeNotFoundErr = -9908
- };
-
- /* ICAObject types and subtypes */
- enum
- {
- kICADevice = FOUR_CHAR_CODE('icdv'), /* Also creator of device library files */
- kICADeviceCamera = FOUR_CHAR_CODE('cmra'), /* Also file type of device library files */
- kICADeviceScanner = FOUR_CHAR_CODE('scan'), /* Also file type of device library files */
- kICADeviceMFP = FOUR_CHAR_CODE('mfp '), /* Also file type of device library files */
- kICAList = FOUR_CHAR_CODE('objl'),
- kICADirectory = FOUR_CHAR_CODE('dire'),
- kICAFile = FOUR_CHAR_CODE('file'),
- kICAFileImage = FOUR_CHAR_CODE('imag'),
- kICAFileMovie = FOUR_CHAR_CODE('moov'),
- kICAFileAudio = FOUR_CHAR_CODE('audo'),
- kICAFileFirmware = FOUR_CHAR_CODE('firm'),
- kICAFileOther = FOUR_CHAR_CODE('othe')
- };
-
- /* ICAProperties */
- enum
- {
- kICAProperty = FOUR_CHAR_CODE('prop'), /* */
- /* file properties */
- /* */
- /* for images, refer to 'Digital Still Camera Image File Format Standard' Exif Version 2.1 section 2.6.4. and 2.6.5.*/
- kICAPropertyImageWidth = FOUR_CHAR_CODE('0100'), /* UInt32 */
- kICAPropertyImageHeight = FOUR_CHAR_CODE('0101'), /* UInt32 */
- kICAPropertyImageBitDepth = FOUR_CHAR_CODE('0102'), /* UInt32 */
- kICAPropertyImageDPI = FOUR_CHAR_CODE('011A'), /* UInt32 */
- kICAPropertyImageExposureTime = FOUR_CHAR_CODE('829A'),
- kICAPropertyImageFNumber = FOUR_CHAR_CODE('829D'),
- kICAPropertyImageDateOriginal = FOUR_CHAR_CODE('9003'), /* null terminated string (YYYYMMDDThhmmss.s) */
- kICAPropertyImageDateDigitized = FOUR_CHAR_CODE('9004'), /* null terminated string (YYYYMMDDThhmmss.s) */
- kICAPropertyImageShutterSpeed = FOUR_CHAR_CODE('9201'), /* */
- kICAPropertyImageAperture = FOUR_CHAR_CODE('9202'), /* */
- kICAPropertyImageFlash = FOUR_CHAR_CODE('9209'), /* UInt16*/
- kICAPropertyColorSpace = FOUR_CHAR_CODE('A001'), /* UInt16*/
- kICAPropertyImageFilename = FOUR_CHAR_CODE('ifil'), /* null terminated string */
- kICAPropertyImageSize = FOUR_CHAR_CODE('isiz'), /* UInt32 */
- kICAPropertyImageData = FOUR_CHAR_CODE('idat'), /* void * */
- kICAPropertyImageThumbnail = FOUR_CHAR_CODE('thum'), /* void * */
- kICAPropertyColorSyncProfile = FOUR_CHAR_CODE('prof')
- };
-
- /* Messages */
- enum
- {
- kICAMessageConnect = FOUR_CHAR_CODE('open'),
- kICAMessageDisconnect = FOUR_CHAR_CODE('clos'),
- kICAMessageReset = FOUR_CHAR_CODE('rese'),
- kICAMessageCheckDevice = FOUR_CHAR_CODE('chkd')
- };
-
-
- /* Data type definitions, mapped to AppleEvent types */
- enum
- {
- kICATypeUInt16 = FOUR_CHAR_CODE('ui16'), /* UInt16 */
- kICATypeUInt32 = FOUR_CHAR_CODE('ui32'), /* UInt32 */
- kICATypeUInt64 = FOUR_CHAR_CODE('ui64'), /* UInt64 */
- kICATypeSInt16 = FOUR_CHAR_CODE('si16'), /* SInt16 */
- kICATypeSInt32 = FOUR_CHAR_CODE('si32'), /* SInt32 */
- kICATypeSInt64 = FOUR_CHAR_CODE('si64'), /* SInt64 */
- kICATypeFixed = FOUR_CHAR_CODE('sing'), /* typeIEEE32BitFloatingPoint */
- kICATypeBoolean = FOUR_CHAR_CODE('bool'), /* typeBoolean */
- kICATypeString = FOUR_CHAR_CODE('TEXT'), /* typeChar */
- kICATypeData = FOUR_CHAR_CODE('data'), /* void * */
- kICATypeThumbnail = FOUR_CHAR_CODE('thum') /* ICAThumbnail*/
- };
-
-
- /* Flags for PropertyInfo flag element */
- enum
- {
- kICAFlagReadWriteAccess = 1L << 0,
- kICAFlagReadAccess = 1L << 1
- };
-
-
-
- /* Notification types (Refer to section 12.4 of PTP spec) */
- enum
- {
- kICAEventCancelTransaction = FOUR_CHAR_CODE('ecnt'),
- kICAEventObjectAdded = FOUR_CHAR_CODE('eoba'),
- kICAEventObjectRemoved = FOUR_CHAR_CODE('eobr'),
- kICAEventStoreAdded = FOUR_CHAR_CODE('esta'),
- kICAEventStoreRemoved = FOUR_CHAR_CODE('estr'),
- kICAEventDeviceAdded = FOUR_CHAR_CODE('edea'),
- kICAEventDeviceRemoved = FOUR_CHAR_CODE('eder'),
- kICAEventDevicePropChanged = FOUR_CHAR_CODE('edpc'),
- kICAEventObjectInfoChanged = FOUR_CHAR_CODE('eoic'),
- kICAEventDeviceInfoChanged = FOUR_CHAR_CODE('edic'),
- kICAEventRequestObjectTransfer = FOUR_CHAR_CODE('erot'),
- kICAEventStoreFull = FOUR_CHAR_CODE('estf'),
- kICAEventDeviceReset = FOUR_CHAR_CODE('edvr'),
- kICAEventStorageInfoChanged = FOUR_CHAR_CODE('esic'),
- kICAEventCaptureComplete = FOUR_CHAR_CODE('ecpc'),
- kICAEventUnreportedStatus = FOUR_CHAR_CODE('eurs')
- };
-
-
- /* Used for partial reads via ICAGetPropertyData */
- enum
- {
- kICAStartAtBeginning = 0,
- kICAEntireLength = -1
- };
-
- /* ICADownloadFile flags */
- enum
- {
- kDeleteAfterDownload = 0x00000001,
- kCreateCustomIcon = 0x00000002,
- kAddMetaDataToFinderComment = 0x00000004,
- kAdjustCreationDate = 0x00000008,
- kSetFileTypeAndCreator = 0x00000010,
- kEmbedColorSyncProfile = 0x00000020,
- kRotateImage = 0x00000040
- };
-
- /* extended notification */
- enum
- {
- kExtendedNotificationPB = FOUR_CHAR_CODE('extd'),
- kMessageGetEventData = FOUR_CHAR_CODE('mged'),
- kEventClassPTPStandard = FOUR_CHAR_CODE('PTPs'),
- kEventClassPTPVendor = FOUR_CHAR_CODE('PTPv')
- };
-
- /*
- --------------- Structures ---------------
- */
- struct ICAObjectInfo
- {
- OSType objectType; /* i.e. kICAFile*/
- OSType objectSubtype; /* i.e. kICAFileImage */
- };
- typedef struct ICAObjectInfo ICAObjectInfo;
-
-
- struct ICAPropertyInfo
- {
- OSType propertyType;
- OSType dataType;
- UInt32 dataSize;
- UInt32 dataFlags;
- };
- typedef struct ICAPropertyInfo ICAPropertyInfo;
-
-
- struct ICAMessage
- {
- OSType messageType; /* <-- i.e. kICAMessageCameraCaptureNewImage */
- UInt32 startByte; /* <-- */
- void * dataPtr; /* <-- */
- UInt32 dataSize; /* <-- */
- OSType dataType; /* <-- */
- };
- typedef struct ICAMessage ICAMessage;
-
-
- struct ICAThumbnail
- {
- UInt32 width;
- UInt32 height;
- UInt32 dataSize;
- UInt8 data[1]; /* 8-bit RGB data (RGBRGBRGB...)*/
- };
- typedef struct ICAThumbnail ICAThumbnail;
- enum
- {
- kICAPBVersion = 0x00010000
- };
-
- /*
- --------------- Completion Procs ---------------
- */
- /*
-
- NOTE: the parameter for the completion proc (ICAHeader*) has to be casted to the appropriate type
- e.g. (ICAGetChildCountPB*), ...
-
- */
-
- typedef struct ICAHeader ICAHeader;
- typedef CALLBACK_API_C(void , ICACompletion)(ICAHeader * pb);
- /*
- --------------- ICAHeader ---------------
- */
-
-
- struct ICAHeader
- {
- OSErr err; /* --> */
- UInt32 refcon; /* <-- */
- };
-
- /*
- --------------- Object parameter blocks ---------------
- */
-
-
- struct ICAGetChildCountPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- UInt32 count; /* --> */
- };
- typedef struct ICAGetChildCountPB ICAGetChildCountPB;
-
-
- struct ICAGetNthChildPB
- {
- ICAHeader header;
- ICAObject parentObject; /* <-- */
- UInt32 index; /* <-- zero based */
- ICAObject childObject; /* --> */
- ICAObjectInfo childInfo; /* --> */
- };
- typedef struct ICAGetNthChildPB ICAGetNthChildPB;
-
-
- struct ICAGetObjectInfoPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- ICAObjectInfo objectInfo; /* --> */
- };
- typedef struct ICAGetObjectInfoPB ICAGetObjectInfoPB;
-
-
- struct ICAGetParentOfObjectPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- ICAObject parentObject; /* --> */
- ICAObjectInfo parentInfo; /* --> */
- };
- typedef struct ICAGetParentOfObjectPB ICAGetParentOfObjectPB;
-
-
- struct ICAGetRootOfObjectPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- ICAObject rootObject; /* --> */
- ICAObjectInfo rootInfo; /* --> */
- };
- typedef struct ICAGetRootOfObjectPB ICAGetRootOfObjectPB;
-
-
- struct ICAGetObjectRefConPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- UInt32 objectRefCon; /* --> */
- };
- typedef struct ICAGetObjectRefConPB ICAGetObjectRefConPB;
-
-
- struct ICASetObjectRefConPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- UInt32 objectRefCon; /* <-- */
- };
- typedef struct ICASetObjectRefConPB ICASetObjectRefConPB;
- /*
- --------------- Property parameter blocks ---------------
- */
-
-
- struct ICAGetPropertyCountPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- UInt32 count; /* --> */
- };
- typedef struct ICAGetPropertyCountPB ICAGetPropertyCountPB;
-
-
- struct ICAGetNthPropertyPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- UInt32 index; /* <-- zero based */
- ICAProperty property; /* --> */
- ICAPropertyInfo propertyInfo; /* --> */
- };
- typedef struct ICAGetNthPropertyPB ICAGetNthPropertyPB;
-
-
- struct ICAGetPropertyByTypePB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- OSType propertyType; /* <-- */
- ICAProperty property; /* --> */
- ICAPropertyInfo propertyInfo; /* --> */
- };
- typedef struct ICAGetPropertyByTypePB ICAGetPropertyByTypePB;
-
-
- struct ICAGetPropertyInfoPB
- {
- ICAHeader header;
- ICAProperty property; /* <-- */
- ICAPropertyInfo propertyInfo; /* --> */
- };
- typedef struct ICAGetPropertyInfoPB ICAGetPropertyInfoPB;
-
-
- struct ICAGetPropertyDataPB
- {
- ICAHeader header;
- ICAProperty property; /* <-- */
- UInt32 startByte; /* <-- */
- UInt32 requestedSize; /* <-- */
- void * dataPtr; /* <-> */
- UInt32 actualSize; /* --> */
- OSType dataType; /* --> */
- };
- typedef struct ICAGetPropertyDataPB ICAGetPropertyDataPB;
-
-
- struct ICASetPropertyDataPB
- {
- ICAHeader header;
- ICAProperty property; /* <-- */
- UInt32 startByte; /* <-- */
- void * dataPtr; /* <-- */
- UInt32 dataSize; /* <-- */
- OSType dataType; /* <-- */
- };
- typedef struct ICASetPropertyDataPB ICASetPropertyDataPB;
-
-
- struct ICAGetParentOfPropertyPB
- {
- ICAHeader header;
- ICAProperty property; /* <-- */
- ICAObject parentObject; /* --> */
- ICAObjectInfo parentInfo; /* --> */
- };
- typedef struct ICAGetParentOfPropertyPB ICAGetParentOfPropertyPB;
-
-
- struct ICAGetRootOfPropertyPB
- {
- ICAHeader header;
- ICAProperty property; /* <-- */
- ICAObject rootObject; /* --> */
- ICAObjectInfo rootInfo; /* --> */
- };
- typedef struct ICAGetRootOfPropertyPB ICAGetRootOfPropertyPB;
-
-
- struct ICAGetPropertyRefConPB
- {
- ICAHeader header;
- ICAProperty property; /* <-- */
- UInt32 propertyRefCon; /* --> */
- };
- typedef struct ICAGetPropertyRefConPB ICAGetPropertyRefConPB;
-
-
- struct ICASetPropertyRefConPB
- {
- ICAHeader header;
- ICAProperty property; /* <-- */
- UInt32 propertyRefCon; /* <-- */
- };
- typedef struct ICASetPropertyRefConPB ICASetPropertyRefConPB;
- /*
- --------------- Device parameter blocks ---------------
- */
-
-
- struct ICAGetDeviceListPB
- {
- ICAHeader header;
- ICAObject object; /* --> */
- };
- typedef struct ICAGetDeviceListPB ICAGetDeviceListPB;
-
-
- struct ICAObjectSendMessagePB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- ICAMessage message; /* <-- */
- UInt32 result; /* --> message specific result*/
- };
- typedef struct ICAObjectSendMessagePB ICAObjectSendMessagePB;
-
-
- struct ICARegisterEventNotificationPB
- {
- ICAHeader header;
- ICAObject object; /* <-> */
- OSType notifyType; /* <-> */
- ICACompletion notifyProc; /* <-- */
- };
- typedef struct ICARegisterEventNotificationPB ICARegisterEventNotificationPB;
-
-
- struct ICAExtendedRegisterEventNotificationPB
- {
- ICAHeader header;
- ICAObject object; /* <-> */
- OSType extd; /* <-- */
- ICACompletion notifyProc; /* <-- */
-
- UInt32 rawEventType; /* -->*/
- OSType eventType; /* <->*/
- OSType eventClass; /* -->*/
- UInt32 eventDataSize; /* -->*/
- ICAEventDataCookie eventDataCookie; /* -->*/
- ICAObject deviceObject; /* -->*/
- };
- typedef struct ICAExtendedRegisterEventNotificationPB ICAExtendedRegisterEventNotificationPB;
-
-
- struct ICADownloadFilePB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- FSRef * dirFSRef; /* <-- */
- UInt32 flags; /* <-- */
- OSType fileType; /* <-- */
- OSType fileCreator; /* <-- */
- Fixed rotationAngle; /* <-- */
- FSRef * fileFSRef; /* --> can be NULL*/
- };
- typedef struct ICADownloadFilePB ICADownloadFilePB;
-
-
- struct ICACopyObjectPropertyDictionaryPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- CFDictionaryRef * theDict; /* --> */
- };
- typedef struct ICACopyObjectPropertyDictionaryPB ICACopyObjectPropertyDictionaryPB;
- /*
-
- NOTE: for all APIs - pass NULL as completion parameter to make a synchronous call
-
- */
- /*
- --------------- Object functions ---------------
- */
-
- /*
- * ICAGetChildCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetChildCount(
- ICAGetChildCountPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetNthChild()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetNthChild(
- ICAGetNthChildPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetObjectInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetObjectInfo(
- ICAGetObjectInfoPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetParentOfObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetParentOfObject(
- ICAGetParentOfObjectPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetRootOfObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetRootOfObject(
- ICAGetRootOfObjectPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetObjectRefCon()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetObjectRefCon(
- ICAGetObjectRefConPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICASetObjectRefCon()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICASetObjectRefCon(
- ICASetObjectRefConPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
-
- /*
- --------------- Property functions ---------------
- */
- /*
- * ICAGetPropertyCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetPropertyCount(
- ICAGetPropertyCountPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetNthProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetNthProperty(
- ICAGetNthPropertyPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetPropertyByType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetPropertyByType(
- ICAGetPropertyByTypePB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetPropertyInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetPropertyInfo(
- ICAGetPropertyInfoPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetPropertyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetPropertyData(
- ICAGetPropertyDataPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICASetPropertyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICASetPropertyData(
- ICASetPropertyDataPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetParentOfProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetParentOfProperty(
- ICAGetParentOfPropertyPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetRootOfProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetRootOfProperty(
- ICAGetRootOfPropertyPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAGetPropertyRefCon()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetPropertyRefCon(
- ICAGetPropertyRefConPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICASetPropertyRefCon()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICASetPropertyRefCon(
- ICASetPropertyRefConPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
-
- /*
- --------------- Device functions ---------------
- */
- /*
- * ICAGetDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAGetDeviceList(
- ICAGetDeviceListPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAObjectSendMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICAObjectSendMessage(
- ICAObjectSendMessagePB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICARegisterEventNotification()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICARegisterEventNotification(
- ICARegisterEventNotificationPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
-
-
- /*
- ------------------------------------------------
- */
- /*
- * ICADownloadFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICADownloadFile(
- ICADownloadFilePB * pb,
- ICACompletion completion); /* can be NULL */
-
-
-
- /*
- * ICACopyObjectPropertyDictionary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICACopyObjectPropertyDictionary(
- ICACopyObjectPropertyDictionaryPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
-
- /*
- --- scanner support ---------------------------------------------
- */
- struct ICAScannerOpenSessionPB
- {
- ICAHeader header;
- ICAObject object; /* <-- */
- ICAScannerSessionID sessionID; /* --> */
- };
- typedef struct ICAScannerOpenSessionPB ICAScannerOpenSessionPB;
-
-
- struct ICAScannerCloseSessionPB
- {
- ICAHeader header;
- ICAScannerSessionID sessionID; /* <-- */
- };
- typedef struct ICAScannerCloseSessionPB ICAScannerCloseSessionPB;
-
-
- struct ICAScannerInitializePB
- {
- ICAHeader header;
- ICAScannerSessionID sessionID; /* <-- */
- };
- typedef struct ICAScannerInitializePB ICAScannerInitializePB;
-
-
- struct ICAScannerGetParametersPB
- {
- ICAHeader header;
- ICAScannerSessionID sessionID; /* <-- */
- CFMutableDictionaryRef theDict; /* --> */
- };
- typedef struct ICAScannerGetParametersPB ICAScannerGetParametersPB;
-
-
- struct ICAScannerSetParametersPB
- {
- ICAHeader header;
- ICAScannerSessionID sessionID; /* <-- */
- CFMutableDictionaryRef theDict; /* <-> */
- };
- typedef struct ICAScannerSetParametersPB ICAScannerSetParametersPB;
-
-
- struct ICAScannerStatusPB
- {
- ICAHeader header;
- ICAScannerSessionID sessionID; /* <-- */
- UInt32 status; /* --> */
- };
- typedef struct ICAScannerStatusPB ICAScannerStatusPB;
-
-
- struct ICAScannerStartPB
- {
- ICAHeader header;
- ICAScannerSessionID sessionID; /* <-- */
- };
- typedef struct ICAScannerStartPB ICAScannerStartPB;
-
-
- /*
- * ICAScannerOpenSession()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICAScannerOpenSession(
- ICAScannerOpenSessionPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAScannerCloseSession()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICAScannerCloseSession(
- ICAScannerCloseSessionPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAScannerInitialize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICAScannerInitialize(
- ICAScannerInitializePB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAScannerGetParameters()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICAScannerGetParameters(
- ICAScannerGetParametersPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAScannerSetParameters()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICAScannerSetParameters(
- ICAScannerSetParametersPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAScannerStatus()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICAScannerStatus(
- ICAScannerStatusPB * pb,
- ICACompletion completion); /* can be NULL */
-
-
- /*
- * ICAScannerStart()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ICAScannerStart(
- ICAScannerStartPB * pb,
- ICACompletion completion); /* can be NULL */
+typedef struct OpaqueICAObject* ICAObject;
+typedef struct OpaqueICAProperty* ICAProperty;
+typedef struct OpaqueICAConnectionID* ICAConnectionID;
+typedef struct OpaqueICAEventDataCookie* ICAEventDataCookie;
+typedef struct OpaqueICAScannerSessionID* ICAScannerSessionID;
+/*
+--------------- Defines ---------------
+*/
+/* Error codes (Image Capture range = -9900...-9949)*/
+enum {
+ kICACommunicationErr = -9900,
+ kICADeviceNotFoundErr = -9901,
+ kICADeviceNotOpenErr = -9902,
+ kICAFileCorruptedErr = -9903,
+ kICAIOPendingErr = -9904,
+ kICAInvalidObjectErr = -9905,
+ kICAInvalidPropertyErr = -9906,
+ kICAIndexOutOfRangeErr = -9907,
+ kICAPropertyTypeNotFoundErr = -9908
+};
+
+/* ICAObject types and subtypes */
+enum {
+ kICADevice = FOUR_CHAR_CODE('icdv'), /* Also creator of device library files */
+ kICADeviceCamera = FOUR_CHAR_CODE('cmra'), /* Also file type of device library files */
+ kICADeviceScanner = FOUR_CHAR_CODE('scan'), /* Also file type of device library files */
+ kICADeviceMFP = FOUR_CHAR_CODE('mfp '), /* Also file type of device library files */
+ kICAList = FOUR_CHAR_CODE('objl'),
+ kICADirectory = FOUR_CHAR_CODE('dire'),
+ kICAFile = FOUR_CHAR_CODE('file'),
+ kICAFileImage = FOUR_CHAR_CODE('imag'),
+ kICAFileMovie = FOUR_CHAR_CODE('moov'),
+ kICAFileAudio = FOUR_CHAR_CODE('audo'),
+ kICAFileFirmware = FOUR_CHAR_CODE('firm'),
+ kICAFileOther = FOUR_CHAR_CODE('othe')
+};
+
+/* ICAProperties */
+enum {
+ kICAProperty = FOUR_CHAR_CODE('prop'), /* */
+ /* file properties */
+ /* */
+ /* for images, refer to 'Digital Still Camera Image File Format Standard' Exif Version 2.1 section 2.6.4. and 2.6.5.*/
+ kICAPropertyImageWidth = FOUR_CHAR_CODE('0100'), /* UInt32 */
+ kICAPropertyImageHeight = FOUR_CHAR_CODE('0101'), /* UInt32 */
+ kICAPropertyImageBitDepth = FOUR_CHAR_CODE('0102'), /* UInt32 */
+ kICAPropertyImageDPI = FOUR_CHAR_CODE('011A'), /* UInt32 */
+ kICAPropertyImageExposureTime = FOUR_CHAR_CODE('829A'),
+ kICAPropertyImageFNumber = FOUR_CHAR_CODE('829D'),
+ kICAPropertyImageDateOriginal = FOUR_CHAR_CODE('9003'), /* null terminated string (YYYYMMDDThhmmss.s) */
+ kICAPropertyImageDateDigitized = FOUR_CHAR_CODE('9004'), /* null terminated string (YYYYMMDDThhmmss.s) */
+ kICAPropertyImageShutterSpeed = FOUR_CHAR_CODE('9201'), /* */
+ kICAPropertyImageAperture = FOUR_CHAR_CODE('9202'), /* */
+ kICAPropertyImageFlash = FOUR_CHAR_CODE('9209'), /* UInt16*/
+ kICAPropertyColorSpace = FOUR_CHAR_CODE('A001'), /* UInt16*/
+ kICAPropertyImageFilename = FOUR_CHAR_CODE('ifil'), /* null terminated string */
+ kICAPropertyImageSize = FOUR_CHAR_CODE('isiz'), /* UInt32 */
+ kICAPropertyImageData = FOUR_CHAR_CODE('idat'), /* void * */
+ kICAPropertyImageThumbnail = FOUR_CHAR_CODE('thum'), /* void * */
+ kICAPropertyColorSyncProfile = FOUR_CHAR_CODE('prof')
+};
+
+/* Messages */
+enum {
+ kICAMessageConnect = FOUR_CHAR_CODE('open'),
+ kICAMessageDisconnect = FOUR_CHAR_CODE('clos'),
+ kICAMessageReset = FOUR_CHAR_CODE('rese'),
+ kICAMessageCheckDevice = FOUR_CHAR_CODE('chkd')
+};
+
+
+/* Data type definitions, mapped to AppleEvent types */
+enum {
+ kICATypeUInt16 = FOUR_CHAR_CODE('ui16'), /* UInt16 */
+ kICATypeUInt32 = FOUR_CHAR_CODE('ui32'), /* UInt32 */
+ kICATypeUInt64 = FOUR_CHAR_CODE('ui64'), /* UInt64 */
+ kICATypeSInt16 = FOUR_CHAR_CODE('si16'), /* SInt16 */
+ kICATypeSInt32 = FOUR_CHAR_CODE('si32'), /* SInt32 */
+ kICATypeSInt64 = FOUR_CHAR_CODE('si64'), /* SInt64 */
+ kICATypeFixed = FOUR_CHAR_CODE('sing'), /* typeIEEE32BitFloatingPoint */
+ kICATypeBoolean = FOUR_CHAR_CODE('bool'), /* typeBoolean */
+ kICATypeString = FOUR_CHAR_CODE('TEXT'), /* typeChar */
+ kICATypeData = FOUR_CHAR_CODE('data'), /* void * */
+ kICATypeThumbnail = FOUR_CHAR_CODE('thum') /* ICAThumbnail*/
+};
+
+
+/* Flags for PropertyInfo flag element */
+enum {
+ kICAFlagReadWriteAccess = 1L << 0,
+ kICAFlagReadAccess = 1L << 1
+};
+
+
+
+/* Notification types (Refer to section 12.4 of PTP spec) */
+enum {
+ kICAEventCancelTransaction = FOUR_CHAR_CODE('ecnt'),
+ kICAEventObjectAdded = FOUR_CHAR_CODE('eoba'),
+ kICAEventObjectRemoved = FOUR_CHAR_CODE('eobr'),
+ kICAEventStoreAdded = FOUR_CHAR_CODE('esta'),
+ kICAEventStoreRemoved = FOUR_CHAR_CODE('estr'),
+ kICAEventDeviceAdded = FOUR_CHAR_CODE('edea'),
+ kICAEventDeviceRemoved = FOUR_CHAR_CODE('eder'),
+ kICAEventDevicePropChanged = FOUR_CHAR_CODE('edpc'),
+ kICAEventObjectInfoChanged = FOUR_CHAR_CODE('eoic'),
+ kICAEventDeviceInfoChanged = FOUR_CHAR_CODE('edic'),
+ kICAEventRequestObjectTransfer = FOUR_CHAR_CODE('erot'),
+ kICAEventStoreFull = FOUR_CHAR_CODE('estf'),
+ kICAEventDeviceReset = FOUR_CHAR_CODE('edvr'),
+ kICAEventStorageInfoChanged = FOUR_CHAR_CODE('esic'),
+ kICAEventCaptureComplete = FOUR_CHAR_CODE('ecpc'),
+ kICAEventUnreportedStatus = FOUR_CHAR_CODE('eurs')
+};
+
+
+/* Used for partial reads via ICAGetPropertyData */
+enum {
+ kICAStartAtBeginning = 0,
+ kICAEntireLength = -1
+};
+
+/* ICADownloadFile flags */
+enum {
+ kDeleteAfterDownload = 0x00000001,
+ kCreateCustomIcon = 0x00000002,
+ kAddMetaDataToFinderComment = 0x00000004,
+ kAdjustCreationDate = 0x00000008,
+ kSetFileTypeAndCreator = 0x00000010,
+ kEmbedColorSyncProfile = 0x00000020,
+ kRotateImage = 0x00000040
+};
+
+/* extended notification */
+enum {
+ kExtendedNotificationPB = FOUR_CHAR_CODE('extd'),
+ kMessageGetEventData = FOUR_CHAR_CODE('mged'),
+ kEventClassPTPStandard = FOUR_CHAR_CODE('PTPs'),
+ kEventClassPTPVendor = FOUR_CHAR_CODE('PTPv')
+};
+
+/*
+--------------- Structures ---------------
+*/
+struct ICAObjectInfo {
+ OSType objectType; /* i.e. kICAFile*/
+ OSType objectSubtype; /* i.e. kICAFileImage */
+};
+typedef struct ICAObjectInfo ICAObjectInfo;
+
+
+struct ICAPropertyInfo {
+ OSType propertyType;
+ OSType dataType;
+ UInt32 dataSize;
+ UInt32 dataFlags;
+};
+typedef struct ICAPropertyInfo ICAPropertyInfo;
+
+
+struct ICAMessage {
+ OSType messageType; /* <-- i.e. kICAMessageCameraCaptureNewImage */
+ UInt32 startByte; /* <-- */
+ void * dataPtr; /* <-- */
+ UInt32 dataSize; /* <-- */
+ OSType dataType; /* <-- */
+};
+typedef struct ICAMessage ICAMessage;
+
+
+struct ICAThumbnail {
+ UInt32 width;
+ UInt32 height;
+ UInt32 dataSize;
+ UInt8 data[1]; /* 8-bit RGB data (RGBRGBRGB...)*/
+};
+typedef struct ICAThumbnail ICAThumbnail;
+enum {
+ kICAPBVersion = 0x00010000
+};
+
+/*
+--------------- Completion Procs ---------------
+*/
+/*
+
+ NOTE: the parameter for the completion proc (ICAHeader*) has to be casted to the appropriate type
+ e.g. (ICAGetChildCountPB*), ...
+
+*/
+
+typedef struct ICAHeader ICAHeader;
+typedef CALLBACK_API_C( void , ICACompletion )(ICAHeader * pb);
+/*
+--------------- ICAHeader ---------------
+*/
+
+
+struct ICAHeader {
+ OSErr err; /* --> */
+ UInt32 refcon; /* <-- */
+};
+
+/*
+--------------- Object parameter blocks ---------------
+*/
+
+
+struct ICAGetChildCountPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ UInt32 count; /* --> */
+};
+typedef struct ICAGetChildCountPB ICAGetChildCountPB;
+
+
+struct ICAGetNthChildPB {
+ ICAHeader header;
+ ICAObject parentObject; /* <-- */
+ UInt32 index; /* <-- zero based */
+ ICAObject childObject; /* --> */
+ ICAObjectInfo childInfo; /* --> */
+};
+typedef struct ICAGetNthChildPB ICAGetNthChildPB;
+
+
+struct ICAGetObjectInfoPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ ICAObjectInfo objectInfo; /* --> */
+};
+typedef struct ICAGetObjectInfoPB ICAGetObjectInfoPB;
+
+
+struct ICAGetParentOfObjectPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ ICAObject parentObject; /* --> */
+ ICAObjectInfo parentInfo; /* --> */
+};
+typedef struct ICAGetParentOfObjectPB ICAGetParentOfObjectPB;
+
+
+struct ICAGetRootOfObjectPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ ICAObject rootObject; /* --> */
+ ICAObjectInfo rootInfo; /* --> */
+};
+typedef struct ICAGetRootOfObjectPB ICAGetRootOfObjectPB;
+
+
+struct ICAGetObjectRefConPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ UInt32 objectRefCon; /* --> */
+};
+typedef struct ICAGetObjectRefConPB ICAGetObjectRefConPB;
+
+
+struct ICASetObjectRefConPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ UInt32 objectRefCon; /* <-- */
+};
+typedef struct ICASetObjectRefConPB ICASetObjectRefConPB;
+/*
+--------------- Property parameter blocks ---------------
+*/
+
+
+struct ICAGetPropertyCountPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ UInt32 count; /* --> */
+};
+typedef struct ICAGetPropertyCountPB ICAGetPropertyCountPB;
+
+
+struct ICAGetNthPropertyPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ UInt32 index; /* <-- zero based */
+ ICAProperty property; /* --> */
+ ICAPropertyInfo propertyInfo; /* --> */
+};
+typedef struct ICAGetNthPropertyPB ICAGetNthPropertyPB;
+
+
+struct ICAGetPropertyByTypePB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ OSType propertyType; /* <-- */
+ ICAProperty property; /* --> */
+ ICAPropertyInfo propertyInfo; /* --> */
+};
+typedef struct ICAGetPropertyByTypePB ICAGetPropertyByTypePB;
+
+
+struct ICAGetPropertyInfoPB {
+ ICAHeader header;
+ ICAProperty property; /* <-- */
+ ICAPropertyInfo propertyInfo; /* --> */
+};
+typedef struct ICAGetPropertyInfoPB ICAGetPropertyInfoPB;
+
+
+struct ICAGetPropertyDataPB {
+ ICAHeader header;
+ ICAProperty property; /* <-- */
+ UInt32 startByte; /* <-- */
+ UInt32 requestedSize; /* <-- */
+ void * dataPtr; /* <-> */
+ UInt32 actualSize; /* --> */
+ OSType dataType; /* --> */
+};
+typedef struct ICAGetPropertyDataPB ICAGetPropertyDataPB;
+
+
+struct ICASetPropertyDataPB {
+ ICAHeader header;
+ ICAProperty property; /* <-- */
+ UInt32 startByte; /* <-- */
+ void * dataPtr; /* <-- */
+ UInt32 dataSize; /* <-- */
+ OSType dataType; /* <-- */
+};
+typedef struct ICASetPropertyDataPB ICASetPropertyDataPB;
+
+
+struct ICAGetParentOfPropertyPB {
+ ICAHeader header;
+ ICAProperty property; /* <-- */
+ ICAObject parentObject; /* --> */
+ ICAObjectInfo parentInfo; /* --> */
+};
+typedef struct ICAGetParentOfPropertyPB ICAGetParentOfPropertyPB;
+
+
+struct ICAGetRootOfPropertyPB {
+ ICAHeader header;
+ ICAProperty property; /* <-- */
+ ICAObject rootObject; /* --> */
+ ICAObjectInfo rootInfo; /* --> */
+};
+typedef struct ICAGetRootOfPropertyPB ICAGetRootOfPropertyPB;
+
+
+struct ICAGetPropertyRefConPB {
+ ICAHeader header;
+ ICAProperty property; /* <-- */
+ UInt32 propertyRefCon; /* --> */
+};
+typedef struct ICAGetPropertyRefConPB ICAGetPropertyRefConPB;
+
+
+struct ICASetPropertyRefConPB {
+ ICAHeader header;
+ ICAProperty property; /* <-- */
+ UInt32 propertyRefCon; /* <-- */
+};
+typedef struct ICASetPropertyRefConPB ICASetPropertyRefConPB;
+/*
+--------------- Device parameter blocks ---------------
+*/
+
+
+struct ICAGetDeviceListPB {
+ ICAHeader header;
+ ICAObject object; /* --> */
+};
+typedef struct ICAGetDeviceListPB ICAGetDeviceListPB;
+
+
+struct ICAObjectSendMessagePB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ ICAMessage message; /* <-- */
+ UInt32 result; /* --> message specific result*/
+};
+typedef struct ICAObjectSendMessagePB ICAObjectSendMessagePB;
+
+
+struct ICARegisterEventNotificationPB {
+ ICAHeader header;
+ ICAObject object; /* <-> */
+ OSType notifyType; /* <-> */
+ ICACompletion notifyProc; /* <-- */
+};
+typedef struct ICARegisterEventNotificationPB ICARegisterEventNotificationPB;
+
+
+struct ICAExtendedRegisterEventNotificationPB {
+ ICAHeader header;
+ ICAObject object; /* <-> */
+ OSType extd; /* <-- */
+ ICACompletion notifyProc; /* <-- */
+
+ UInt32 rawEventType; /* -->*/
+ OSType eventType; /* <->*/
+ OSType eventClass; /* -->*/
+ UInt32 eventDataSize; /* -->*/
+ ICAEventDataCookie eventDataCookie; /* -->*/
+ ICAObject deviceObject; /* -->*/
+};
+typedef struct ICAExtendedRegisterEventNotificationPB ICAExtendedRegisterEventNotificationPB;
+
+
+struct ICADownloadFilePB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ FSRef * dirFSRef; /* <-- */
+ UInt32 flags; /* <-- */
+ OSType fileType; /* <-- */
+ OSType fileCreator; /* <-- */
+ Fixed rotationAngle; /* <-- */
+ FSRef * fileFSRef; /* --> can be NULL*/
+};
+typedef struct ICADownloadFilePB ICADownloadFilePB;
+
+
+struct ICACopyObjectPropertyDictionaryPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ CFDictionaryRef * theDict; /* --> */
+};
+typedef struct ICACopyObjectPropertyDictionaryPB ICACopyObjectPropertyDictionaryPB;
+/*
+
+ NOTE: for all APIs - pass NULL as completion parameter to make a synchronous call
+
+*/
+/*
+--------------- Object functions ---------------
+*/
+
+/*
+ * ICAGetChildCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetChildCount(
+ ICAGetChildCountPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetNthChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetNthChild(
+ ICAGetNthChildPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetObjectInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetObjectInfo(
+ ICAGetObjectInfoPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetParentOfObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetParentOfObject(
+ ICAGetParentOfObjectPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetRootOfObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetRootOfObject(
+ ICAGetRootOfObjectPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetObjectRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetObjectRefCon(
+ ICAGetObjectRefConPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICASetObjectRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICASetObjectRefCon(
+ ICASetObjectRefConPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+
+/*
+--------------- Property functions ---------------
+*/
+/*
+ * ICAGetPropertyCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetPropertyCount(
+ ICAGetPropertyCountPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetNthProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetNthProperty(
+ ICAGetNthPropertyPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetPropertyByType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetPropertyByType(
+ ICAGetPropertyByTypePB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetPropertyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetPropertyInfo(
+ ICAGetPropertyInfoPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetPropertyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetPropertyData(
+ ICAGetPropertyDataPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICASetPropertyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICASetPropertyData(
+ ICASetPropertyDataPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetParentOfProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetParentOfProperty(
+ ICAGetParentOfPropertyPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetRootOfProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetRootOfProperty(
+ ICAGetRootOfPropertyPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAGetPropertyRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetPropertyRefCon(
+ ICAGetPropertyRefConPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICASetPropertyRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICASetPropertyRefCon(
+ ICASetPropertyRefConPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+
+/*
+--------------- Device functions ---------------
+*/
+/*
+ * ICAGetDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAGetDeviceList(
+ ICAGetDeviceListPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAObjectSendMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICAObjectSendMessage(
+ ICAObjectSendMessagePB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICARegisterEventNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICARegisterEventNotification(
+ ICARegisterEventNotificationPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+
+
+/*
+------------------------------------------------
+*/
+/*
+ * ICADownloadFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICADownloadFile(
+ ICADownloadFilePB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+
+/*
+ * ICACopyObjectPropertyDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICACopyObjectPropertyDictionary(
+ ICACopyObjectPropertyDictionaryPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+
+/*
+--- scanner support ---------------------------------------------
+*/
+struct ICAScannerOpenSessionPB {
+ ICAHeader header;
+ ICAObject object; /* <-- */
+ ICAScannerSessionID sessionID; /* --> */
+};
+typedef struct ICAScannerOpenSessionPB ICAScannerOpenSessionPB;
+
+
+struct ICAScannerCloseSessionPB {
+ ICAHeader header;
+ ICAScannerSessionID sessionID; /* <-- */
+};
+typedef struct ICAScannerCloseSessionPB ICAScannerCloseSessionPB;
+
+
+struct ICAScannerInitializePB {
+ ICAHeader header;
+ ICAScannerSessionID sessionID; /* <-- */
+};
+typedef struct ICAScannerInitializePB ICAScannerInitializePB;
+
+
+struct ICAScannerGetParametersPB {
+ ICAHeader header;
+ ICAScannerSessionID sessionID; /* <-- */
+ CFMutableDictionaryRef theDict; /* --> */
+};
+typedef struct ICAScannerGetParametersPB ICAScannerGetParametersPB;
+
+
+struct ICAScannerSetParametersPB {
+ ICAHeader header;
+ ICAScannerSessionID sessionID; /* <-- */
+ CFMutableDictionaryRef theDict; /* <-> */
+};
+typedef struct ICAScannerSetParametersPB ICAScannerSetParametersPB;
+
+
+struct ICAScannerStatusPB {
+ ICAHeader header;
+ ICAScannerSessionID sessionID; /* <-- */
+ UInt32 status; /* --> */
+};
+typedef struct ICAScannerStatusPB ICAScannerStatusPB;
+
+
+struct ICAScannerStartPB {
+ ICAHeader header;
+ ICAScannerSessionID sessionID; /* <-- */
+};
+typedef struct ICAScannerStartPB ICAScannerStartPB;
+
+
+/*
+ * ICAScannerOpenSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICAScannerOpenSession(
+ ICAScannerOpenSessionPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAScannerCloseSession()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICAScannerCloseSession(
+ ICAScannerCloseSessionPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAScannerInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICAScannerInitialize(
+ ICAScannerInitializePB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAScannerGetParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICAScannerGetParameters(
+ ICAScannerGetParametersPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAScannerSetParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICAScannerSetParameters(
+ ICAScannerSetParametersPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAScannerStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICAScannerStatus(
+ ICAScannerStatusPB * pb,
+ ICACompletion completion); /* can be NULL */
+
+
+/*
+ * ICAScannerStart()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ICAScannerStart(
+ ICAScannerStartPB * pb,
+ ICACompletion completion); /* can be NULL */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ICACamera.h b/include/qt/ICACamera.h
index 1d7f90b19..b1d94bd82 100644
--- a/include/qt/ICACamera.h
+++ b/include/qt/ICACamera.h
@@ -1,17 +1,17 @@
/*
File: ICACamera.h
-
+
Contains: Digital still camera-specific selectors and structures
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ICACAMERA__
#define __ICACAMERA__
@@ -28,97 +28,90 @@
/*
-------------------------------------------------------------------------
- Selectors
+ Selectors
-------------------------------------------------------------------------
*/
-enum
-{
- /* Camera properties*/
- /* Refer to section 13 of the PIMA 15740 (PTP) specification for*/
- /* descriptions and usage notes for these standard properties*/
- kICAPropertyCameraBatteryLevel = FOUR_CHAR_CODE('5001'), /* UInt8 enum/range*/
- kICAPropertyCameraFunctionalMode = FOUR_CHAR_CODE('5002'), /* UInt16 enum*/
- kICAPropertyCameraImageSize = FOUR_CHAR_CODE('5003'), /* CFString enum/range*/
- kICAPropertyCameraCompressionSetting = FOUR_CHAR_CODE('5004'), /* UInt8 enum/range*/
- kICAPropertyCameraWhiteBalance = FOUR_CHAR_CODE('5005'), /* UInt16 enum*/
- kICAPropertyCameraRGBGain = FOUR_CHAR_CODE('5006'), /* null terminated string enum/range*/
- kICAPropertyCameraFNumber = FOUR_CHAR_CODE('5007'), /* UInt16 enum*/
- kICAPropertyCameraFocalLength = FOUR_CHAR_CODE('5008'), /* UInt32 enum/range*/
- kICAPropertyCameraFocusDistance = FOUR_CHAR_CODE('5009'), /* UInt16 enum/range*/
- kICAPropertyCameraFocusMode = FOUR_CHAR_CODE('500A'), /* UInt16 enum*/
- kICAPropertyCameraExposureMeteringMode = FOUR_CHAR_CODE('500B'), /* UInt16 enum*/
- kICAPropertyCameraFlashMode = FOUR_CHAR_CODE('500C'), /* UInt16 enum*/
- kICAPropertyCameraExposureTime = FOUR_CHAR_CODE('500D'), /* UInt32 enum/range*/
- kICAPropertyCameraExposureProgramMode = FOUR_CHAR_CODE('500E'), /* UInt16 enum*/
- kICAPropertyCameraExposureIndex = FOUR_CHAR_CODE('500F'), /* UInt16 enum/range*/
- kICAPropertyCameraExposureBiasCompensation = FOUR_CHAR_CODE('5010'), /* UInt16 enum/range*/
- kICAPropertyCameraDateTime = FOUR_CHAR_CODE('5011'), /* null terminated string none*/
- kICAPropertyCameraCaptureDelay = FOUR_CHAR_CODE('5012'), /* UInt32 enum/range*/
- kICAPropertyCameraStillCaptureMode = FOUR_CHAR_CODE('5013'), /* UInt16 enum*/
- kICAPropertyCameraContrast = FOUR_CHAR_CODE('5014'), /* UInt8 enum/range*/
- kICAPropertyCameraSharpness = FOUR_CHAR_CODE('5015'), /* UInt8 enum/range*/
- kICAPropertyCameraDigitalZoom = FOUR_CHAR_CODE('5016'), /* UInt8 enum/range*/
- kICAPropertyCameraEffectMode = FOUR_CHAR_CODE('5017'), /* UInt16 enum*/
- kICAPropertyCameraBurstNumber = FOUR_CHAR_CODE('5018'), /* UInt16 enum/range*/
- kICAPropertyCameraBurstInterval = FOUR_CHAR_CODE('5019'), /* UInt16 enum/range*/
- kICAPropertyCameraTimelapseNumber = FOUR_CHAR_CODE('501A'), /* UInt16 enum/range*/
- kICAPropertyCameraTimelapseInterval = FOUR_CHAR_CODE('501B'), /* UInt32 enum/range*/
- kICAPropertyCameraFocusMeteringMode = FOUR_CHAR_CODE('501C') /* UInt16 enum*/
+enum {
+ /* Camera properties*/
+ /* Refer to section 13 of the PIMA 15740 (PTP) specification for*/
+ /* descriptions and usage notes for these standard properties*/
+ kICAPropertyCameraBatteryLevel = FOUR_CHAR_CODE('5001'), /* UInt8 enum/range*/
+ kICAPropertyCameraFunctionalMode = FOUR_CHAR_CODE('5002'), /* UInt16 enum*/
+ kICAPropertyCameraImageSize = FOUR_CHAR_CODE('5003'), /* CFString enum/range*/
+ kICAPropertyCameraCompressionSetting = FOUR_CHAR_CODE('5004'), /* UInt8 enum/range*/
+ kICAPropertyCameraWhiteBalance = FOUR_CHAR_CODE('5005'), /* UInt16 enum*/
+ kICAPropertyCameraRGBGain = FOUR_CHAR_CODE('5006'), /* null terminated string enum/range*/
+ kICAPropertyCameraFNumber = FOUR_CHAR_CODE('5007'), /* UInt16 enum*/
+ kICAPropertyCameraFocalLength = FOUR_CHAR_CODE('5008'), /* UInt32 enum/range*/
+ kICAPropertyCameraFocusDistance = FOUR_CHAR_CODE('5009'), /* UInt16 enum/range*/
+ kICAPropertyCameraFocusMode = FOUR_CHAR_CODE('500A'), /* UInt16 enum*/
+ kICAPropertyCameraExposureMeteringMode = FOUR_CHAR_CODE('500B'), /* UInt16 enum*/
+ kICAPropertyCameraFlashMode = FOUR_CHAR_CODE('500C'), /* UInt16 enum*/
+ kICAPropertyCameraExposureTime = FOUR_CHAR_CODE('500D'), /* UInt32 enum/range*/
+ kICAPropertyCameraExposureProgramMode = FOUR_CHAR_CODE('500E'), /* UInt16 enum*/
+ kICAPropertyCameraExposureIndex = FOUR_CHAR_CODE('500F'), /* UInt16 enum/range*/
+ kICAPropertyCameraExposureBiasCompensation = FOUR_CHAR_CODE('5010'), /* UInt16 enum/range*/
+ kICAPropertyCameraDateTime = FOUR_CHAR_CODE('5011'), /* null terminated string none*/
+ kICAPropertyCameraCaptureDelay = FOUR_CHAR_CODE('5012'), /* UInt32 enum/range*/
+ kICAPropertyCameraStillCaptureMode = FOUR_CHAR_CODE('5013'), /* UInt16 enum*/
+ kICAPropertyCameraContrast = FOUR_CHAR_CODE('5014'), /* UInt8 enum/range*/
+ kICAPropertyCameraSharpness = FOUR_CHAR_CODE('5015'), /* UInt8 enum/range*/
+ kICAPropertyCameraDigitalZoom = FOUR_CHAR_CODE('5016'), /* UInt8 enum/range*/
+ kICAPropertyCameraEffectMode = FOUR_CHAR_CODE('5017'), /* UInt16 enum*/
+ kICAPropertyCameraBurstNumber = FOUR_CHAR_CODE('5018'), /* UInt16 enum/range*/
+ kICAPropertyCameraBurstInterval = FOUR_CHAR_CODE('5019'), /* UInt16 enum/range*/
+ kICAPropertyCameraTimelapseNumber = FOUR_CHAR_CODE('501A'), /* UInt16 enum/range*/
+ kICAPropertyCameraTimelapseInterval = FOUR_CHAR_CODE('501B'), /* UInt32 enum/range*/
+ kICAPropertyCameraFocusMeteringMode = FOUR_CHAR_CODE('501C') /* UInt16 enum*/
};
-enum
-{
- /* Refer to section 5.5.3 of the PTP spec*/
- kICAPropertyCameraStorageType = FOUR_CHAR_CODE('stor'), /* UInt16*/
- kICAPropertyCameraFilesystemType = FOUR_CHAR_CODE('fsys'), /* UInt16*/
- kICAPropertyCameraAccessCapability = FOUR_CHAR_CODE('acap'), /* UInt16*/
- kICAPropertyCameraMaxCapacity = FOUR_CHAR_CODE('maxc'), /* UInt64*/
- kICAPropertyCameraFreeSpaceInBytes = FOUR_CHAR_CODE('fres'), /* UInt64*/
- kICAPropertyCameraFreeSpaceInImages = FOUR_CHAR_CODE('frei'), /* UInt32*/
- kICAPropertyCameraStorageDescription = FOUR_CHAR_CODE('stod'), /* null terminated string*/
- kICAPropertyCameraVolumeLabel = FOUR_CHAR_CODE('voll') /* null terminated string*/
+enum {
+ /* Refer to section 5.5.3 of the PTP spec*/
+ kICAPropertyCameraStorageType = FOUR_CHAR_CODE('stor'), /* UInt16*/
+ kICAPropertyCameraFilesystemType = FOUR_CHAR_CODE('fsys'), /* UInt16*/
+ kICAPropertyCameraAccessCapability = FOUR_CHAR_CODE('acap'), /* UInt16*/
+ kICAPropertyCameraMaxCapacity = FOUR_CHAR_CODE('maxc'), /* UInt64*/
+ kICAPropertyCameraFreeSpaceInBytes = FOUR_CHAR_CODE('fres'), /* UInt64*/
+ kICAPropertyCameraFreeSpaceInImages = FOUR_CHAR_CODE('frei'), /* UInt32*/
+ kICAPropertyCameraStorageDescription = FOUR_CHAR_CODE('stod'), /* null terminated string*/
+ kICAPropertyCameraVolumeLabel = FOUR_CHAR_CODE('voll') /* null terminated string*/
};
-enum
-{
- /* ICA specific*/
- kICAPropertyCameraIcon = FOUR_CHAR_CODE('icon'), /* ICAThumbnail*/
- kICAPropertyCameraSupportedMessages = FOUR_CHAR_CODE('msgs') /* array of OSTypes*/
+enum {
+ /* ICA specific*/
+ kICAPropertyCameraIcon = FOUR_CHAR_CODE('icon'), /* ICAThumbnail*/
+ kICAPropertyCameraSupportedMessages = FOUR_CHAR_CODE('msgs') /* array of OSTypes*/
};
-enum
-{
- /* Values for kICAPropertyCameraStorageType*/
- kICAStorageFixedROM = 0x0001,
- kICAStorageRemovableROM = 0x0002,
- kICAStorageFixedRAM = 0x0003,
- kICAStorageRemovableRAM = 0x0004
+enum {
+ /* Values for kICAPropertyCameraStorageType*/
+ kICAStorageFixedROM = 0x0001,
+ kICAStorageRemovableROM = 0x0002,
+ kICAStorageFixedRAM = 0x0003,
+ kICAStorageRemovableRAM = 0x0004
};
-enum
-{
- /* Values for kICAPropertyCameraFilesystemType*/
- kICAFileystemGenericFlat = 0x0001,
- kICAFileystemGenericHierarchical = 0x0002,
- kICAFileystemDCF = 0x0003
+enum {
+ /* Values for kICAPropertyCameraFilesystemType*/
+ kICAFileystemGenericFlat = 0x0001,
+ kICAFileystemGenericHierarchical = 0x0002,
+ kICAFileystemDCF = 0x0003
};
-enum
-{
- /* Values for kICAPropertyCameraAccessCapability*/
- kICAAccessReadWrite = 0x0000,
- kICAAccessReadOnly = 0x0001,
- kICAAccessReadOnlyWithObjectDeletion = 0x0002
+enum {
+ /* Values for kICAPropertyCameraAccessCapability*/
+ kICAAccessReadWrite = 0x0000,
+ kICAAccessReadOnly = 0x0001,
+ kICAAccessReadOnlyWithObjectDeletion = 0x0002
};
-enum
-{
- /* Camera messages*/
- kICAMessageCameraCaptureNewImage = FOUR_CHAR_CODE('ccni'),
- kICAMessageCameraDeleteOne = FOUR_CHAR_CODE('del1'),
- kICAMessageCameraDeleteAll = FOUR_CHAR_CODE('dela'),
- kICAMessageCameraSyncClock = FOUR_CHAR_CODE('sclk'),
- kICAMessageCameraUploadData = FOUR_CHAR_CODE('load')
+enum {
+ /* Camera messages*/
+ kICAMessageCameraCaptureNewImage = FOUR_CHAR_CODE('ccni'),
+ kICAMessageCameraDeleteOne = FOUR_CHAR_CODE('del1'),
+ kICAMessageCameraDeleteAll = FOUR_CHAR_CODE('dela'),
+ kICAMessageCameraSyncClock = FOUR_CHAR_CODE('sclk'),
+ kICAMessageCameraUploadData = FOUR_CHAR_CODE('load')
};
diff --git a/include/qt/ICADevice.h b/include/qt/ICADevice.h
index 20fe4ad94..121e48224 100644
--- a/include/qt/ICADevice.h
+++ b/include/qt/ICADevice.h
@@ -1,17 +1,17 @@
/*
File: ICADevice.h
-
+
Contains: Low level Image Capture device definitions.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ICADEVICE__
#define __ICADEVICE__
@@ -36,136 +36,131 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- --------------- Completion Procs ---------------
- */
- /*
-
- NOTE: the parameter for the completion proc (ICDHeader*) has to be casted to the appropriate type
- e.g. (ICD_BuildObjectChildrenPB*), ...
-
- */
- typedef struct ICDHeader ICDHeader;
- typedef CALLBACK_API_C(void , ICDCompletion)(ICDHeader * pb);
- /*
- --------------- ICDHeader ---------------
- */
- struct ICDHeader
- {
- OSErr err; /* --> */
- UInt32 refcon; /* <-- */
- };
-
- /*
- --------------- Object parameter blocks ---------------
- */
- struct ICD_NewObjectPB
- {
- ICDHeader header;
-
- ICAObject parentObject; /* <-- */
- ICAObjectInfo objectInfo; /* <-- */
-
- ICAObject object; /* --> */
- };
- typedef struct ICD_NewObjectPB ICD_NewObjectPB;
- struct ICD_DisposeObjectPB
- {
- ICDHeader header;
-
- ICAObject object; /* <-- */
- };
- typedef struct ICD_DisposeObjectPB ICD_DisposeObjectPB;
- /*
- --------------- Property parameter blocks ---------------
- */
- struct ICD_NewPropertyPB
- {
- ICDHeader header;
-
- ICAObject object; /* <-- */
- ICAPropertyInfo propertyInfo; /* <-- */
-
- ICAProperty property; /* --> */
- };
- typedef struct ICD_NewPropertyPB ICD_NewPropertyPB;
- struct ICD_DisposePropertyPB
- {
- ICDHeader header;
-
- ICAProperty property; /* <-- */
- };
- typedef struct ICD_DisposePropertyPB ICD_DisposePropertyPB;
- /*
-
- NOTE: for all APIs - pass NULL as completion parameter to make a synchronous call
-
- */
-
- /*
- --------------- Object utilities for device libraries ---------------
- */
- /*
- * ICDNewObject()
- *
- * Availability:
- * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICDNewObject(
- ICD_NewObjectPB * pb,
- ICDCompletion completion); /* can be NULL */
-
-
- /*
- * ICDDisposeObject()
- *
- * Availability:
- * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICDDisposeObject(
- ICD_DisposeObjectPB * pb,
- ICDCompletion completion); /* can be NULL */
-
-
- /*
- * ICDNewProperty()
- *
- * Availability:
- * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICDNewProperty(
- ICD_NewPropertyPB * pb,
- ICDCompletion completion); /* can be NULL */
-
-
- /*
- * ICDDisposeProperty()
- *
- * Availability:
- * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ICDDisposeProperty(
- ICD_DisposePropertyPB * pb,
- ICDCompletion completion); /* can be NULL */
+/*
+--------------- Completion Procs ---------------
+*/
+/*
+
+ NOTE: the parameter for the completion proc (ICDHeader*) has to be casted to the appropriate type
+ e.g. (ICD_BuildObjectChildrenPB*), ...
+
+*/
+typedef struct ICDHeader ICDHeader;
+typedef CALLBACK_API_C( void , ICDCompletion )(ICDHeader * pb);
+/*
+--------------- ICDHeader ---------------
+*/
+struct ICDHeader {
+ OSErr err; /* --> */
+ UInt32 refcon; /* <-- */
+};
+
+/*
+--------------- Object parameter blocks ---------------
+*/
+struct ICD_NewObjectPB {
+ ICDHeader header;
+
+ ICAObject parentObject; /* <-- */
+ ICAObjectInfo objectInfo; /* <-- */
+
+ ICAObject object; /* --> */
+};
+typedef struct ICD_NewObjectPB ICD_NewObjectPB;
+struct ICD_DisposeObjectPB {
+ ICDHeader header;
+
+ ICAObject object; /* <-- */
+};
+typedef struct ICD_DisposeObjectPB ICD_DisposeObjectPB;
+/*
+--------------- Property parameter blocks ---------------
+*/
+struct ICD_NewPropertyPB {
+ ICDHeader header;
+
+ ICAObject object; /* <-- */
+ ICAPropertyInfo propertyInfo; /* <-- */
+
+ ICAProperty property; /* --> */
+};
+typedef struct ICD_NewPropertyPB ICD_NewPropertyPB;
+struct ICD_DisposePropertyPB {
+ ICDHeader header;
+
+ ICAProperty property; /* <-- */
+};
+typedef struct ICD_DisposePropertyPB ICD_DisposePropertyPB;
+/*
+
+ NOTE: for all APIs - pass NULL as completion parameter to make a synchronous call
+
+*/
+
+/*
+--------------- Object utilities for device libraries ---------------
+*/
+/*
+ * ICDNewObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICDNewObject(
+ ICD_NewObjectPB * pb,
+ ICDCompletion completion); /* can be NULL */
+
+
+/*
+ * ICDDisposeObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICDDisposeObject(
+ ICD_DisposeObjectPB * pb,
+ ICDCompletion completion); /* can be NULL */
+
+
+/*
+ * ICDNewProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICDNewProperty(
+ ICD_NewPropertyPB * pb,
+ ICDCompletion completion); /* can be NULL */
+
+
+/*
+ * ICDDisposeProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ICDDisposeProperty(
+ ICD_DisposePropertyPB * pb,
+ ICDCompletion completion); /* can be NULL */
@@ -174,11 +169,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/IconStorage.h b/include/qt/IconStorage.h
index 482532b19..87f554567 100644
--- a/include/qt/IconStorage.h
+++ b/include/qt/IconStorage.h
@@ -1,17 +1,17 @@
/*
File: IconStorage.h
-
+
Contains: Services to load and share icon family data.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2002 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 __ICONSTORAGE__
#define __ICONSTORAGE__
@@ -32,65 +32,61 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/* The following icon types can only be used as an icon element */
/* inside a 'icns' icon family */
-enum
-{
- kThumbnail32BitData = FOUR_CHAR_CODE('it32'),
- kThumbnail8BitMask = FOUR_CHAR_CODE('t8mk')
+enum {
+ kThumbnail32BitData = FOUR_CHAR_CODE('it32'),
+ kThumbnail8BitMask = FOUR_CHAR_CODE('t8mk')
};
-enum
-{
- kHuge1BitMask = FOUR_CHAR_CODE('ich#'),
- kHuge4BitData = FOUR_CHAR_CODE('ich4'),
- kHuge8BitData = FOUR_CHAR_CODE('ich8'),
- kHuge32BitData = FOUR_CHAR_CODE('ih32'),
- kHuge8BitMask = FOUR_CHAR_CODE('h8mk')
+enum {
+ kHuge1BitMask = FOUR_CHAR_CODE('ich#'),
+ kHuge4BitData = FOUR_CHAR_CODE('ich4'),
+ kHuge8BitData = FOUR_CHAR_CODE('ich8'),
+ kHuge32BitData = FOUR_CHAR_CODE('ih32'),
+ kHuge8BitMask = FOUR_CHAR_CODE('h8mk')
};
/* The following icon types can be used as a resource type */
/* or as an icon element type inside a 'icns' icon family */
-enum
-{
- kLarge1BitMask = FOUR_CHAR_CODE('ICN#'),
- kLarge4BitData = FOUR_CHAR_CODE('icl4'),
- kLarge8BitData = FOUR_CHAR_CODE('icl8'),
- kLarge32BitData = FOUR_CHAR_CODE('il32'),
- kLarge8BitMask = FOUR_CHAR_CODE('l8mk'),
- kSmall1BitMask = FOUR_CHAR_CODE('ics#'),
- kSmall4BitData = FOUR_CHAR_CODE('ics4'),
- kSmall8BitData = FOUR_CHAR_CODE('ics8'),
- kSmall32BitData = FOUR_CHAR_CODE('is32'),
- kSmall8BitMask = FOUR_CHAR_CODE('s8mk'),
- kMini1BitMask = FOUR_CHAR_CODE('icm#'),
- kMini4BitData = FOUR_CHAR_CODE('icm4'),
- kMini8BitData = FOUR_CHAR_CODE('icm8')
+enum {
+ kLarge1BitMask = FOUR_CHAR_CODE('ICN#'),
+ kLarge4BitData = FOUR_CHAR_CODE('icl4'),
+ kLarge8BitData = FOUR_CHAR_CODE('icl8'),
+ kLarge32BitData = FOUR_CHAR_CODE('il32'),
+ kLarge8BitMask = FOUR_CHAR_CODE('l8mk'),
+ kSmall1BitMask = FOUR_CHAR_CODE('ics#'),
+ kSmall4BitData = FOUR_CHAR_CODE('ics4'),
+ kSmall8BitData = FOUR_CHAR_CODE('ics8'),
+ kSmall32BitData = FOUR_CHAR_CODE('is32'),
+ kSmall8BitMask = FOUR_CHAR_CODE('s8mk'),
+ kMini1BitMask = FOUR_CHAR_CODE('icm#'),
+ kMini4BitData = FOUR_CHAR_CODE('icm4'),
+ kMini8BitData = FOUR_CHAR_CODE('icm8')
};
/* Obsolete. Use names defined above. */
-enum
-{
- large1BitMask = kLarge1BitMask,
- large4BitData = kLarge4BitData,
- large8BitData = kLarge8BitData,
- small1BitMask = kSmall1BitMask,
- small4BitData = kSmall4BitData,
- small8BitData = kSmall8BitData,
- mini1BitMask = kMini1BitMask,
- mini4BitData = kMini4BitData,
- mini8BitData = kMini8BitData
+enum {
+ large1BitMask = kLarge1BitMask,
+ large4BitData = kLarge4BitData,
+ large8BitData = kLarge8BitData,
+ small1BitMask = kSmall1BitMask,
+ small4BitData = kSmall4BitData,
+ small8BitData = kSmall8BitData,
+ mini1BitMask = kMini1BitMask,
+ mini4BitData = kMini4BitData,
+ mini8BitData = kMini8BitData
};
/*
- IconFamily 'icns' resources contain an entire IconFamily (all sizes and depths).
+ IconFamily 'icns' resources contain an entire IconFamily (all sizes and depths).
For custom icons, icns IconFamily resources of the custom icon resource ID are fetched first before
the classic custom icons (individual 'ics#, ICN#, etc) are fetched. If the fetch of the icns resource
succeeds then the icns is looked at exclusively for the icon data.
@@ -102,24 +98,21 @@ enum
be a pointer an an IconFamily. In this manner driver vendors can provide rich, detailed drive icons
instead of the 1-bit variety previously supported.
*/
-enum
-{
- kIconFamilyType = FOUR_CHAR_CODE('icns')
+enum {
+ kIconFamilyType = FOUR_CHAR_CODE('icns')
};
-struct IconFamilyElement
-{
- OSType elementType; /* 'ICN#', 'icl8', etc...*/
- Size elementSize; /* Size of this element*/
- unsigned char elementData[1];
+struct IconFamilyElement {
+ OSType elementType; /* 'ICN#', 'icl8', etc...*/
+ Size elementSize; /* Size of this element*/
+ unsigned char elementData[1];
};
typedef struct IconFamilyElement IconFamilyElement;
-struct IconFamilyResource
-{
- OSType resourceType; /* Always 'icns'*/
- Size resourceSize; /* Total size of this resource*/
- IconFamilyElement elements[1];
+struct IconFamilyResource {
+ OSType resourceType; /* Always 'icns'*/
+ Size resourceSize; /* Total size of this resource*/
+ IconFamilyElement elements[1];
};
typedef struct IconFamilyResource IconFamilyResource;
@@ -128,22 +121,21 @@ typedef IconFamilyPtr * IconFamilyHandle;
/* Icon Variants */
/* These can be used as an element of an 'icns' icon family */
/* or as a parameter to GetIconRefVariant */
-enum
-{
- kTileIconVariant = FOUR_CHAR_CODE('tile'),
- kRolloverIconVariant = FOUR_CHAR_CODE('over'),
- kDropIconVariant = FOUR_CHAR_CODE('drop'),
- kOpenIconVariant = FOUR_CHAR_CODE('open'),
- kOpenDropIconVariant = FOUR_CHAR_CODE('odrp')
+enum {
+ kTileIconVariant = FOUR_CHAR_CODE('tile'),
+ kRolloverIconVariant = FOUR_CHAR_CODE('over'),
+ kDropIconVariant = FOUR_CHAR_CODE('drop'),
+ kOpenIconVariant = FOUR_CHAR_CODE('open'),
+ kOpenDropIconVariant = FOUR_CHAR_CODE('odrp')
};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Icons.h b/include/qt/Icons.h
index edf767e1b..0b1ae9d39 100644
--- a/include/qt/Icons.h
+++ b/include/qt/Icons.h
@@ -1,17 +1,17 @@
/*
File: Icons.h
-
+
Contains: Icon Utilities and Icon Services Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2001 by Apple Computer, Inc. All rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __ICONS__
#define __ICONS__
@@ -55,2392 +55,2347 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* The following are icons for which there are both icon suites and SICNs. */
- /* Avoid using icon resources if possible. Use IconServices instead. */
- enum {
- kGenericDocumentIconResource = -4000,
- kGenericStationeryIconResource = -3985,
- kGenericEditionFileIconResource = -3989,
- kGenericApplicationIconResource = -3996,
- kGenericDeskAccessoryIconResource = -3991,
- kGenericFolderIconResource = -3999,
- kPrivateFolderIconResource = -3994,
- kFloppyIconResource = -3998,
- kTrashIconResource = -3993,
- kGenericRAMDiskIconResource = -3988,
- kGenericCDROMIconResource = -3987
- };
-
- /* The following are icons for which there are SICNs only. */
- /* Avoid using icon resources if possible. Use IconServices instead. */
- enum
- {
- kDesktopIconResource = -3992,
- kOpenFolderIconResource = -3997,
- kGenericHardDiskIconResource = -3995,
- kGenericFileServerIconResource = -3972,
- kGenericSuitcaseIconResource = -3970,
- kGenericMoverObjectIconResource = -3969
- };
-
- /* The following are icons for which there are icon suites only. */
- /* Avoid using icon resources if possible. Use IconServices instead. */
- enum
- {
- kGenericPreferencesIconResource = -3971,
- kGenericQueryDocumentIconResource = -16506,
- kGenericExtensionIconResource = -16415,
- kSystemFolderIconResource = -3983,
- kHelpIconResource = -20271,
- kAppleMenuFolderIconResource = -3982
- };
-
- /* Obsolete. Use named constants defined above. */
- enum
- {
- genericDocumentIconResource = kGenericDocumentIconResource,
- genericStationeryIconResource = kGenericStationeryIconResource,
- genericEditionFileIconResource = kGenericEditionFileIconResource,
- genericApplicationIconResource = kGenericApplicationIconResource,
- genericDeskAccessoryIconResource = kGenericDeskAccessoryIconResource,
- genericFolderIconResource = kGenericFolderIconResource,
- privateFolderIconResource = kPrivateFolderIconResource,
- floppyIconResource = kFloppyIconResource,
- trashIconResource = kTrashIconResource,
- genericRAMDiskIconResource = kGenericRAMDiskIconResource,
- genericCDROMIconResource = kGenericCDROMIconResource,
- desktopIconResource = kDesktopIconResource,
- openFolderIconResource = kOpenFolderIconResource,
- genericHardDiskIconResource = kGenericHardDiskIconResource,
- genericFileServerIconResource = kGenericFileServerIconResource,
- genericSuitcaseIconResource = kGenericSuitcaseIconResource,
- genericMoverObjectIconResource = kGenericMoverObjectIconResource,
- genericPreferencesIconResource = kGenericPreferencesIconResource,
- genericQueryDocumentIconResource = kGenericQueryDocumentIconResource,
- genericExtensionIconResource = kGenericExtensionIconResource,
- systemFolderIconResource = kSystemFolderIconResource,
- appleMenuFolderIconResource = kAppleMenuFolderIconResource
- };
-
- /* Avoid using icon resources if possible. Use IconServices instead. */
- enum
- {
- kStartupFolderIconResource = -3981,
- kOwnedFolderIconResource = -3980,
- kDropFolderIconResource = -3979,
- kSharedFolderIconResource = -3978,
- kMountedFolderIconResource = -3977,
- kControlPanelFolderIconResource = -3976,
- kPrintMonitorFolderIconResource = -3975,
- kPreferencesFolderIconResource = -3974,
- kExtensionsFolderIconResource = -3973,
- kFontsFolderIconResource = -3968,
- kFullTrashIconResource = -3984
- };
-
- /* Obsolete. Use named constants defined above. */
- enum
- {
- startupFolderIconResource = kStartupFolderIconResource,
- ownedFolderIconResource = kOwnedFolderIconResource,
- dropFolderIconResource = kDropFolderIconResource,
- sharedFolderIconResource = kSharedFolderIconResource,
- mountedFolderIconResource = kMountedFolderIconResource,
- controlPanelFolderIconResource = kControlPanelFolderIconResource,
- printMonitorFolderIconResource = kPrintMonitorFolderIconResource,
- preferencesFolderIconResource = kPreferencesFolderIconResource,
- extensionsFolderIconResource = kExtensionsFolderIconResource,
- fontsFolderIconResource = kFontsFolderIconResource,
- fullTrashIconResource = kFullTrashIconResource
- };
-
- /* Alignment type values. */
- enum
- {
- kAlignNone = 0x00,
- kAlignVerticalCenter = 0x01,
- kAlignTop = 0x02,
- kAlignBottom = 0x03,
- kAlignHorizontalCenter = 0x04,
- kAlignAbsoluteCenter = kAlignVerticalCenter | kAlignHorizontalCenter,
- kAlignCenterTop = kAlignTop | kAlignHorizontalCenter,
- kAlignCenterBottom = kAlignBottom | kAlignHorizontalCenter,
- kAlignLeft = 0x08,
- kAlignCenterLeft = kAlignVerticalCenter | kAlignLeft,
- kAlignTopLeft = kAlignTop | kAlignLeft,
- kAlignBottomLeft = kAlignBottom | kAlignLeft,
- kAlignRight = 0x0C,
- kAlignCenterRight = kAlignVerticalCenter | kAlignRight,
- kAlignTopRight = kAlignTop | kAlignRight,
- kAlignBottomRight = kAlignBottom | kAlignRight
- };
-
- /* Obsolete. Use names defined above. */
- enum
- {
- atNone = kAlignNone,
- atVerticalCenter = kAlignVerticalCenter,
- atTop = kAlignTop,
- atBottom = kAlignBottom,
- atHorizontalCenter = kAlignHorizontalCenter,
- atAbsoluteCenter = kAlignAbsoluteCenter,
- atCenterTop = kAlignCenterTop,
- atCenterBottom = kAlignCenterBottom,
- atLeft = kAlignLeft,
- atCenterLeft = kAlignCenterLeft,
- atTopLeft = kAlignTopLeft,
- atBottomLeft = kAlignBottomLeft,
- atRight = kAlignRight,
- atCenterRight = kAlignCenterRight,
- atTopRight = kAlignTopRight,
- atBottomRight = kAlignBottomRight
- };
-
- typedef SInt16 IconAlignmentType;
- /* Transform type values. */
- enum
- {
- kTransformNone = 0x00,
- kTransformDisabled = 0x01,
- kTransformOffline = 0x02,
- kTransformOpen = 0x03,
- kTransformLabel1 = 0x0100,
- kTransformLabel2 = 0x0200,
- kTransformLabel3 = 0x0300,
- kTransformLabel4 = 0x0400,
- kTransformLabel5 = 0x0500,
- kTransformLabel6 = 0x0600,
- kTransformLabel7 = 0x0700,
- kTransformSelected = 0x4000,
- kTransformSelectedDisabled = kTransformSelected | kTransformDisabled,
- kTransformSelectedOffline = kTransformSelected | kTransformOffline,
- kTransformSelectedOpen = kTransformSelected | kTransformOpen
- };
-
- /* Obsolete. Use names defined above. */
- enum
- {
- ttNone = kTransformNone,
- ttDisabled = kTransformDisabled,
- ttOffline = kTransformOffline,
- ttOpen = kTransformOpen,
- ttLabel1 = kTransformLabel1,
- ttLabel2 = kTransformLabel2,
- ttLabel3 = kTransformLabel3,
- ttLabel4 = kTransformLabel4,
- ttLabel5 = kTransformLabel5,
- ttLabel6 = kTransformLabel6,
- ttLabel7 = kTransformLabel7,
- ttSelected = kTransformSelected,
- ttSelectedDisabled = kTransformSelectedDisabled,
- ttSelectedOffline = kTransformSelectedOffline,
- ttSelectedOpen = kTransformSelectedOpen
- };
-
- typedef SInt16 IconTransformType;
- /* Selector mask values. */
- enum
- {
- kSelectorLarge1Bit = 0x00000001,
- kSelectorLarge4Bit = 0x00000002,
- kSelectorLarge8Bit = 0x00000004,
- kSelectorLarge32Bit = 0x00000008,
- kSelectorLarge8BitMask = 0x00000010,
- kSelectorSmall1Bit = 0x00000100,
- kSelectorSmall4Bit = 0x00000200,
- kSelectorSmall8Bit = 0x00000400,
- kSelectorSmall32Bit = 0x00000800,
- kSelectorSmall8BitMask = 0x00001000,
- kSelectorMini1Bit = 0x00010000,
- kSelectorMini4Bit = 0x00020000,
- kSelectorMini8Bit = 0x00040000,
- kSelectorHuge1Bit = 0x01000000,
- kSelectorHuge4Bit = 0x02000000,
- kSelectorHuge8Bit = 0x04000000,
- kSelectorHuge32Bit = 0x08000000,
- kSelectorHuge8BitMask = 0x10000000,
- kSelectorAllLargeData = 0x000000FF,
- kSelectorAllSmallData = 0x0000FF00,
- kSelectorAllMiniData = 0x00FF0000,
- kSelectorAllHugeData = (long)0xFF000000,
- kSelectorAll1BitData = kSelectorLarge1Bit | kSelectorSmall1Bit | kSelectorMini1Bit | kSelectorHuge1Bit,
- kSelectorAll4BitData = kSelectorLarge4Bit | kSelectorSmall4Bit | kSelectorMini4Bit | kSelectorHuge4Bit,
- kSelectorAll8BitData = kSelectorLarge8Bit | kSelectorSmall8Bit | kSelectorMini8Bit | kSelectorHuge8Bit,
- kSelectorAll32BitData = kSelectorLarge32Bit | kSelectorSmall32Bit | kSelectorHuge32Bit,
- kSelectorAllAvailableData = (long)0xFFFFFFFF
- };
-
-
- /* Obsolete. Use names defined above. */
- enum
- {
- svLarge1Bit = kSelectorLarge1Bit,
- svLarge4Bit = kSelectorLarge4Bit,
- svLarge8Bit = kSelectorLarge8Bit,
- svSmall1Bit = kSelectorSmall1Bit,
- svSmall4Bit = kSelectorSmall4Bit,
- svSmall8Bit = kSelectorSmall8Bit,
- svMini1Bit = kSelectorMini1Bit,
- svMini4Bit = kSelectorMini4Bit,
- svMini8Bit = kSelectorMini8Bit,
- svAllLargeData = kSelectorAllLargeData,
- svAllSmallData = kSelectorAllSmallData,
- svAllMiniData = kSelectorAllMiniData,
- svAll1BitData = kSelectorAll1BitData,
- svAll4BitData = kSelectorAll4BitData,
- svAll8BitData = kSelectorAll8BitData,
- svAllAvailableData = kSelectorAllAvailableData
- };
-
- typedef UInt32 IconSelectorValue;
- typedef CALLBACK_API(OSErr , IconActionProcPtr)(ResType theType, Handle *theIcon, void *yourDataPtr);
- typedef CALLBACK_API(Handle , IconGetterProcPtr)(ResType theType, void *yourDataPtr);
- typedef STACK_UPP_TYPE(IconActionProcPtr) IconActionUPP;
- typedef STACK_UPP_TYPE(IconGetterProcPtr) IconGetterUPP;
- /*
- * NewIconActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(IconActionUPP)
- NewIconActionUPP(IconActionProcPtr userRoutine);
+/* The following are icons for which there are both icon suites and SICNs. */
+/* Avoid using icon resources if possible. Use IconServices instead. */
+enum {
+ kGenericDocumentIconResource = -4000,
+ kGenericStationeryIconResource = -3985,
+ kGenericEditionFileIconResource = -3989,
+ kGenericApplicationIconResource = -3996,
+ kGenericDeskAccessoryIconResource = -3991,
+ kGenericFolderIconResource = -3999,
+ kPrivateFolderIconResource = -3994,
+ kFloppyIconResource = -3998,
+ kTrashIconResource = -3993,
+ kGenericRAMDiskIconResource = -3988,
+ kGenericCDROMIconResource = -3987
+};
+
+/* The following are icons for which there are SICNs only. */
+/* Avoid using icon resources if possible. Use IconServices instead. */
+enum {
+ kDesktopIconResource = -3992,
+ kOpenFolderIconResource = -3997,
+ kGenericHardDiskIconResource = -3995,
+ kGenericFileServerIconResource = -3972,
+ kGenericSuitcaseIconResource = -3970,
+ kGenericMoverObjectIconResource = -3969
+};
+
+/* The following are icons for which there are icon suites only. */
+/* Avoid using icon resources if possible. Use IconServices instead. */
+enum {
+ kGenericPreferencesIconResource = -3971,
+ kGenericQueryDocumentIconResource = -16506,
+ kGenericExtensionIconResource = -16415,
+ kSystemFolderIconResource = -3983,
+ kHelpIconResource = -20271,
+ kAppleMenuFolderIconResource = -3982
+};
+
+/* Obsolete. Use named constants defined above. */
+enum {
+ genericDocumentIconResource = kGenericDocumentIconResource,
+ genericStationeryIconResource = kGenericStationeryIconResource,
+ genericEditionFileIconResource = kGenericEditionFileIconResource,
+ genericApplicationIconResource = kGenericApplicationIconResource,
+ genericDeskAccessoryIconResource = kGenericDeskAccessoryIconResource,
+ genericFolderIconResource = kGenericFolderIconResource,
+ privateFolderIconResource = kPrivateFolderIconResource,
+ floppyIconResource = kFloppyIconResource,
+ trashIconResource = kTrashIconResource,
+ genericRAMDiskIconResource = kGenericRAMDiskIconResource,
+ genericCDROMIconResource = kGenericCDROMIconResource,
+ desktopIconResource = kDesktopIconResource,
+ openFolderIconResource = kOpenFolderIconResource,
+ genericHardDiskIconResource = kGenericHardDiskIconResource,
+ genericFileServerIconResource = kGenericFileServerIconResource,
+ genericSuitcaseIconResource = kGenericSuitcaseIconResource,
+ genericMoverObjectIconResource = kGenericMoverObjectIconResource,
+ genericPreferencesIconResource = kGenericPreferencesIconResource,
+ genericQueryDocumentIconResource = kGenericQueryDocumentIconResource,
+ genericExtensionIconResource = kGenericExtensionIconResource,
+ systemFolderIconResource = kSystemFolderIconResource,
+ appleMenuFolderIconResource = kAppleMenuFolderIconResource
+};
+
+/* Avoid using icon resources if possible. Use IconServices instead. */
+enum {
+ kStartupFolderIconResource = -3981,
+ kOwnedFolderIconResource = -3980,
+ kDropFolderIconResource = -3979,
+ kSharedFolderIconResource = -3978,
+ kMountedFolderIconResource = -3977,
+ kControlPanelFolderIconResource = -3976,
+ kPrintMonitorFolderIconResource = -3975,
+ kPreferencesFolderIconResource = -3974,
+ kExtensionsFolderIconResource = -3973,
+ kFontsFolderIconResource = -3968,
+ kFullTrashIconResource = -3984
+};
+
+/* Obsolete. Use named constants defined above. */
+enum {
+ startupFolderIconResource = kStartupFolderIconResource,
+ ownedFolderIconResource = kOwnedFolderIconResource,
+ dropFolderIconResource = kDropFolderIconResource,
+ sharedFolderIconResource = kSharedFolderIconResource,
+ mountedFolderIconResource = kMountedFolderIconResource,
+ controlPanelFolderIconResource = kControlPanelFolderIconResource,
+ printMonitorFolderIconResource = kPrintMonitorFolderIconResource,
+ preferencesFolderIconResource = kPreferencesFolderIconResource,
+ extensionsFolderIconResource = kExtensionsFolderIconResource,
+ fontsFolderIconResource = kFontsFolderIconResource,
+ fullTrashIconResource = kFullTrashIconResource
+};
+
+/* Alignment type values. */
+enum {
+ kAlignNone = 0x00,
+ kAlignVerticalCenter = 0x01,
+ kAlignTop = 0x02,
+ kAlignBottom = 0x03,
+ kAlignHorizontalCenter = 0x04,
+ kAlignAbsoluteCenter = kAlignVerticalCenter | kAlignHorizontalCenter,
+ kAlignCenterTop = kAlignTop | kAlignHorizontalCenter,
+ kAlignCenterBottom = kAlignBottom | kAlignHorizontalCenter,
+ kAlignLeft = 0x08,
+ kAlignCenterLeft = kAlignVerticalCenter | kAlignLeft,
+ kAlignTopLeft = kAlignTop | kAlignLeft,
+ kAlignBottomLeft = kAlignBottom | kAlignLeft,
+ kAlignRight = 0x0C,
+ kAlignCenterRight = kAlignVerticalCenter | kAlignRight,
+ kAlignTopRight = kAlignTop | kAlignRight,
+ kAlignBottomRight = kAlignBottom | kAlignRight
+};
+
+/* Obsolete. Use names defined above. */
+enum {
+ atNone = kAlignNone,
+ atVerticalCenter = kAlignVerticalCenter,
+ atTop = kAlignTop,
+ atBottom = kAlignBottom,
+ atHorizontalCenter = kAlignHorizontalCenter,
+ atAbsoluteCenter = kAlignAbsoluteCenter,
+ atCenterTop = kAlignCenterTop,
+ atCenterBottom = kAlignCenterBottom,
+ atLeft = kAlignLeft,
+ atCenterLeft = kAlignCenterLeft,
+ atTopLeft = kAlignTopLeft,
+ atBottomLeft = kAlignBottomLeft,
+ atRight = kAlignRight,
+ atCenterRight = kAlignCenterRight,
+ atTopRight = kAlignTopRight,
+ atBottomRight = kAlignBottomRight
+};
+
+typedef SInt16 IconAlignmentType;
+/* Transform type values. */
+enum {
+ kTransformNone = 0x00,
+ kTransformDisabled = 0x01,
+ kTransformOffline = 0x02,
+ kTransformOpen = 0x03,
+ kTransformLabel1 = 0x0100,
+ kTransformLabel2 = 0x0200,
+ kTransformLabel3 = 0x0300,
+ kTransformLabel4 = 0x0400,
+ kTransformLabel5 = 0x0500,
+ kTransformLabel6 = 0x0600,
+ kTransformLabel7 = 0x0700,
+ kTransformSelected = 0x4000,
+ kTransformSelectedDisabled = kTransformSelected | kTransformDisabled,
+ kTransformSelectedOffline = kTransformSelected | kTransformOffline,
+ kTransformSelectedOpen = kTransformSelected | kTransformOpen
+};
+
+/* Obsolete. Use names defined above. */
+enum {
+ ttNone = kTransformNone,
+ ttDisabled = kTransformDisabled,
+ ttOffline = kTransformOffline,
+ ttOpen = kTransformOpen,
+ ttLabel1 = kTransformLabel1,
+ ttLabel2 = kTransformLabel2,
+ ttLabel3 = kTransformLabel3,
+ ttLabel4 = kTransformLabel4,
+ ttLabel5 = kTransformLabel5,
+ ttLabel6 = kTransformLabel6,
+ ttLabel7 = kTransformLabel7,
+ ttSelected = kTransformSelected,
+ ttSelectedDisabled = kTransformSelectedDisabled,
+ ttSelectedOffline = kTransformSelectedOffline,
+ ttSelectedOpen = kTransformSelectedOpen
+};
+
+typedef SInt16 IconTransformType;
+/* Selector mask values. */
+enum {
+ kSelectorLarge1Bit = 0x00000001,
+ kSelectorLarge4Bit = 0x00000002,
+ kSelectorLarge8Bit = 0x00000004,
+ kSelectorLarge32Bit = 0x00000008,
+ kSelectorLarge8BitMask = 0x00000010,
+ kSelectorSmall1Bit = 0x00000100,
+ kSelectorSmall4Bit = 0x00000200,
+ kSelectorSmall8Bit = 0x00000400,
+ kSelectorSmall32Bit = 0x00000800,
+ kSelectorSmall8BitMask = 0x00001000,
+ kSelectorMini1Bit = 0x00010000,
+ kSelectorMini4Bit = 0x00020000,
+ kSelectorMini8Bit = 0x00040000,
+ kSelectorHuge1Bit = 0x01000000,
+ kSelectorHuge4Bit = 0x02000000,
+ kSelectorHuge8Bit = 0x04000000,
+ kSelectorHuge32Bit = 0x08000000,
+ kSelectorHuge8BitMask = 0x10000000,
+ kSelectorAllLargeData = 0x000000FF,
+ kSelectorAllSmallData = 0x0000FF00,
+ kSelectorAllMiniData = 0x00FF0000,
+ kSelectorAllHugeData = (long)0xFF000000,
+ kSelectorAll1BitData = kSelectorLarge1Bit | kSelectorSmall1Bit | kSelectorMini1Bit | kSelectorHuge1Bit,
+ kSelectorAll4BitData = kSelectorLarge4Bit | kSelectorSmall4Bit | kSelectorMini4Bit | kSelectorHuge4Bit,
+ kSelectorAll8BitData = kSelectorLarge8Bit | kSelectorSmall8Bit | kSelectorMini8Bit | kSelectorHuge8Bit,
+ kSelectorAll32BitData = kSelectorLarge32Bit | kSelectorSmall32Bit | kSelectorHuge32Bit,
+ kSelectorAllAvailableData = (long)0xFFFFFFFF
+};
+
+
+/* Obsolete. Use names defined above. */
+enum {
+ svLarge1Bit = kSelectorLarge1Bit,
+ svLarge4Bit = kSelectorLarge4Bit,
+ svLarge8Bit = kSelectorLarge8Bit,
+ svSmall1Bit = kSelectorSmall1Bit,
+ svSmall4Bit = kSelectorSmall4Bit,
+ svSmall8Bit = kSelectorSmall8Bit,
+ svMini1Bit = kSelectorMini1Bit,
+ svMini4Bit = kSelectorMini4Bit,
+ svMini8Bit = kSelectorMini8Bit,
+ svAllLargeData = kSelectorAllLargeData,
+ svAllSmallData = kSelectorAllSmallData,
+ svAllMiniData = kSelectorAllMiniData,
+ svAll1BitData = kSelectorAll1BitData,
+ svAll4BitData = kSelectorAll4BitData,
+ svAll8BitData = kSelectorAll8BitData,
+ svAllAvailableData = kSelectorAllAvailableData
+};
+
+typedef UInt32 IconSelectorValue;
+typedef CALLBACK_API( OSErr , IconActionProcPtr )(ResType theType, Handle *theIcon, void *yourDataPtr);
+typedef CALLBACK_API( Handle , IconGetterProcPtr )(ResType theType, void *yourDataPtr);
+typedef STACK_UPP_TYPE(IconActionProcPtr) IconActionUPP;
+typedef STACK_UPP_TYPE(IconGetterProcPtr) IconGetterUPP;
+/*
+ * NewIconActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( IconActionUPP )
+NewIconActionUPP(IconActionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppIconActionProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(IconActionUPP) NewIconActionUPP(IconActionProcPtr userRoutine)
- {
- return (IconActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconActionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewIconActionUPP(userRoutine) (IconActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconActionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppIconActionProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(IconActionUPP) NewIconActionUPP(IconActionProcPtr userRoutine) { return (IconActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconActionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewIconActionUPP(userRoutine) (IconActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconActionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewIconGetterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(IconGetterUPP)
- NewIconGetterUPP(IconGetterProcPtr userRoutine);
+/*
+ * NewIconGetterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( IconGetterUPP )
+NewIconGetterUPP(IconGetterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppIconGetterProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(IconGetterUPP) NewIconGetterUPP(IconGetterProcPtr userRoutine)
- {
- return (IconGetterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconGetterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewIconGetterUPP(userRoutine) (IconGetterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconGetterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppIconGetterProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(IconGetterUPP) NewIconGetterUPP(IconGetterProcPtr userRoutine) { return (IconGetterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconGetterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewIconGetterUPP(userRoutine) (IconGetterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconGetterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeIconActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeIconActionUPP(IconActionUPP userUPP);
+/*
+ * DisposeIconActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeIconActionUPP(IconActionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeIconActionUPP(IconActionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeIconActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeIconActionUPP(IconActionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeIconActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeIconGetterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeIconGetterUPP(IconGetterUPP userUPP);
+/*
+ * DisposeIconGetterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeIconGetterUPP(IconGetterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeIconGetterUPP(IconGetterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeIconGetterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeIconGetterUPP(IconGetterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeIconGetterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeIconActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeIconActionUPP(
- ResType theType,
- Handle * theIcon,
- void * yourDataPtr,
- IconActionUPP userUPP);
+/*
+ * InvokeIconActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeIconActionUPP(
+ ResType theType,
+ Handle * theIcon,
+ void * yourDataPtr,
+ IconActionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeIconActionUPP(ResType theType, Handle * theIcon, void * yourDataPtr, IconActionUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppIconActionProcInfo, theType, theIcon, yourDataPtr);
- }
-#else
-#define InvokeIconActionUPP(theType, theIcon, yourDataPtr, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppIconActionProcInfo, (theType), (theIcon), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeIconActionUPP(ResType theType, Handle * theIcon, void * yourDataPtr, IconActionUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppIconActionProcInfo, theType, theIcon, yourDataPtr); }
+ #else
+ #define InvokeIconActionUPP(theType, theIcon, yourDataPtr, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppIconActionProcInfo, (theType), (theIcon), (yourDataPtr))
+ #endif
#endif
- /*
- * InvokeIconGetterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Handle)
- InvokeIconGetterUPP(
- ResType theType,
- void * yourDataPtr,
- IconGetterUPP userUPP);
+/*
+ * InvokeIconGetterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Handle )
+InvokeIconGetterUPP(
+ ResType theType,
+ void * yourDataPtr,
+ IconGetterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Handle) InvokeIconGetterUPP(ResType theType, void * yourDataPtr, IconGetterUPP userUPP)
- {
- return (Handle)CALL_TWO_PARAMETER_UPP(userUPP, uppIconGetterProcInfo, theType, yourDataPtr);
- }
-#else
-#define InvokeIconGetterUPP(theType, yourDataPtr, userUPP) (Handle)CALL_TWO_PARAMETER_UPP((userUPP), uppIconGetterProcInfo, (theType), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Handle) InvokeIconGetterUPP(ResType theType, void * yourDataPtr, IconGetterUPP userUPP) { return (Handle)CALL_TWO_PARAMETER_UPP(userUPP, uppIconGetterProcInfo, theType, yourDataPtr); }
+ #else
+ #define InvokeIconGetterUPP(theType, yourDataPtr, userUPP) (Handle)CALL_TWO_PARAMETER_UPP((userUPP), uppIconGetterProcInfo, (theType), (yourDataPtr))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewIconActionProc(userRoutine) NewIconActionUPP(userRoutine)
-#define NewIconGetterProc(userRoutine) NewIconGetterUPP(userRoutine)
-#define CallIconActionProc(userRoutine, theType, theIcon, yourDataPtr) InvokeIconActionUPP(theType, theIcon, yourDataPtr, userRoutine)
-#define CallIconGetterProc(userRoutine, theType, yourDataPtr) InvokeIconGetterUPP(theType, yourDataPtr, userRoutine)
+ #define NewIconActionProc(userRoutine) NewIconActionUPP(userRoutine)
+ #define NewIconGetterProc(userRoutine) NewIconGetterUPP(userRoutine)
+ #define CallIconActionProc(userRoutine, theType, theIcon, yourDataPtr) InvokeIconActionUPP(theType, theIcon, yourDataPtr, userRoutine)
+ #define CallIconGetterProc(userRoutine, theType, yourDataPtr) InvokeIconGetterUPP(theType, yourDataPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef IconGetterProcPtr IconGetter;
- typedef IconActionProcPtr IconAction;
- /* CIconHandle, GetCIcon(), PlotCIcon(), and DisposeCIcon() moved here from Quickdraw.h*/
- struct CIcon
- {
- PixMap iconPMap; /*the icon's pixMap*/
- BitMap iconMask; /*the icon's mask*/
- BitMap iconBMap; /*the icon's bitMap*/
- Handle iconData; /*the icon's data*/
- SInt16 iconMaskData[1]; /*icon's mask and BitMap data*/
- };
- typedef struct CIcon CIcon;
- typedef CIcon * CIconPtr;
- typedef CIconPtr * CIconHandle;
- /*
- * GetCIcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CIconHandle)
- GetCIcon(SInt16 iconID) ONEWORDINLINE(0xAA1E);
-
-
- /*
- * PlotCIcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PlotCIcon(
- const Rect * theRect,
- CIconHandle theIcon) ONEWORDINLINE(0xAA1F);
-
-
- /*
- * DisposeCIcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeCIcon(CIconHandle theIcon) ONEWORDINLINE(0xAA25);
-
-
-
- /* GetIcon and PlotIcon moved here from ToolUtils*/
- /*
- * GetIcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetIcon(SInt16 iconID) ONEWORDINLINE(0xA9BB);
-
-
- /*
- * PlotIcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PlotIcon(
- const Rect * theRect,
- Handle theIcon) ONEWORDINLINE(0xA94B);
-
-
-
-
- /*
- Note: IconSuiteRef and IconCacheRef should be an abstract types,
- but too much source code already relies on them being of type Handle.
- */
- typedef Handle IconSuiteRef;
- typedef Handle IconCacheRef;
- /* IconRefs are 32-bit values identifying cached icon data. IconRef 0 is invalid.*/
- typedef struct OpaqueIconRef* IconRef;
- /*
- * PlotIconID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PlotIconID(
- const Rect * theRect,
- IconAlignmentType align,
- IconTransformType transform,
- SInt16 theResID) THREEWORDINLINE(0x303C, 0x0500, 0xABC9);
-
-
- /*
- * NewIconSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewIconSuite(IconSuiteRef * theIconSuite) THREEWORDINLINE(0x303C, 0x0207, 0xABC9);
-
-
- /*
- * AddIconToSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AddIconToSuite(
- Handle theIconData,
- IconSuiteRef theSuite,
- ResType theType) THREEWORDINLINE(0x303C, 0x0608, 0xABC9);
-
-
- /*
- * GetIconFromSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconFromSuite(
- Handle * theIconData,
- IconSuiteRef theSuite,
- ResType theType) THREEWORDINLINE(0x303C, 0x0609, 0xABC9);
-
-
- /*
- * ForEachIconDo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ForEachIconDo(
- IconSuiteRef theSuite,
- IconSelectorValue selector,
- IconActionUPP action,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x080A, 0xABC9);
-
-
- /*
- * GetIconSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconSuite(
- IconSuiteRef * theIconSuite,
- SInt16 theResID,
- IconSelectorValue selector) THREEWORDINLINE(0x303C, 0x0501, 0xABC9);
-
-
- /*
- * DisposeIconSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DisposeIconSuite(
- IconSuiteRef theIconSuite,
- Boolean disposeData) THREEWORDINLINE(0x303C, 0x0302, 0xABC9);
-
-
- /*
- * PlotIconSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PlotIconSuite(
- const Rect * theRect,
- IconAlignmentType align,
- IconTransformType transform,
- IconSuiteRef theIconSuite) THREEWORDINLINE(0x303C, 0x0603, 0xABC9);
-
-
- /*
- * MakeIconCache()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- MakeIconCache(
- IconCacheRef * theCache,
- IconGetterUPP makeIcon,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0604, 0xABC9);
-
-
- /*
- * LoadIconCache()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- LoadIconCache(
- const Rect * theRect,
- IconAlignmentType align,
- IconTransformType transform,
- IconCacheRef theIconCache) THREEWORDINLINE(0x303C, 0x0606, 0xABC9);
-
-
- /*
- * PlotIconMethod()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PlotIconMethod(
- const Rect * theRect,
- IconAlignmentType align,
- IconTransformType transform,
- IconGetterUPP theMethod,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0805, 0xABC9);
-
-
- /*
- * GetLabel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetLabel(
- SInt16 labelNumber,
- RGBColor * labelColor,
- Str255 labelString) THREEWORDINLINE(0x303C, 0x050B, 0xABC9);
-
-
- /*
- * PtInIconID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- PtInIconID(
- Point testPt,
- const Rect * iconRect,
- IconAlignmentType align,
- SInt16 iconID) THREEWORDINLINE(0x303C, 0x060D, 0xABC9);
-
-
- /*
- * PtInIconSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- PtInIconSuite(
- Point testPt,
- const Rect * iconRect,
- IconAlignmentType align,
- IconSuiteRef theIconSuite) THREEWORDINLINE(0x303C, 0x070E, 0xABC9);
-
-
- /*
- * PtInIconMethod()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- PtInIconMethod(
- Point testPt,
- const Rect * iconRect,
- IconAlignmentType align,
- IconGetterUPP theMethod,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x090F, 0xABC9);
-
-
- /*
- * RectInIconID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- RectInIconID(
- const Rect * testRect,
- const Rect * iconRect,
- IconAlignmentType align,
- SInt16 iconID) THREEWORDINLINE(0x303C, 0x0610, 0xABC9);
-
-
- /*
- * RectInIconSuite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- RectInIconSuite(
- const Rect * testRect,
- const Rect * iconRect,
- IconAlignmentType align,
- IconSuiteRef theIconSuite) THREEWORDINLINE(0x303C, 0x0711, 0xABC9);
-
-
- /*
- * RectInIconMethod()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- RectInIconMethod(
- const Rect * testRect,
- const Rect * iconRect,
- IconAlignmentType align,
- IconGetterUPP theMethod,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0912, 0xABC9);
-
-
- /*
- * IconIDToRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IconIDToRgn(
- RgnHandle theRgn,
- const Rect * iconRect,
- IconAlignmentType align,
- SInt16 iconID) THREEWORDINLINE(0x303C, 0x0613, 0xABC9);
-
-
- /*
- * IconSuiteToRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IconSuiteToRgn(
- RgnHandle theRgn,
- const Rect * iconRect,
- IconAlignmentType align,
- IconSuiteRef theIconSuite) THREEWORDINLINE(0x303C, 0x0714, 0xABC9);
-
-
- /*
- * IconMethodToRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IconMethodToRgn(
- RgnHandle theRgn,
- const Rect * iconRect,
- IconAlignmentType align,
- IconGetterUPP theMethod,
- void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0915, 0xABC9);
-
-
- /*
- * SetSuiteLabel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetSuiteLabel(
- IconSuiteRef theSuite,
- SInt16 theLabel) THREEWORDINLINE(0x303C, 0x0316, 0xABC9);
-
-
- /*
- * GetSuiteLabel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetSuiteLabel(IconSuiteRef theSuite) THREEWORDINLINE(0x303C, 0x0217, 0xABC9);
-
-
- /*
- * GetIconCacheData()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconCacheData(
- IconCacheRef theCache,
- void ** theData) THREEWORDINLINE(0x303C, 0x0419, 0xABC9);
-
-
- /*
- * SetIconCacheData()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetIconCacheData(
- IconCacheRef theCache,
- void * theData) THREEWORDINLINE(0x303C, 0x041A, 0xABC9);
-
-
- /*
- * GetIconCacheProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconCacheProc(
- IconCacheRef theCache,
- IconGetterUPP * theProc) THREEWORDINLINE(0x303C, 0x041B, 0xABC9);
-
-
- /*
- * SetIconCacheProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetIconCacheProc(
- IconCacheRef theCache,
- IconGetterUPP theProc) THREEWORDINLINE(0x303C, 0x041C, 0xABC9);
-
-
- /*
- * PlotIconHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PlotIconHandle(
- const Rect * theRect,
- IconAlignmentType align,
- IconTransformType transform,
- Handle theIcon) THREEWORDINLINE(0x303C, 0x061D, 0xABC9);
-
-
- /*
- * PlotSICNHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PlotSICNHandle(
- const Rect * theRect,
- IconAlignmentType align,
- IconTransformType transform,
- Handle theSICN) THREEWORDINLINE(0x303C, 0x061E, 0xABC9);
-
-
- /*
- * PlotCIconHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PlotCIconHandle(
- const Rect * theRect,
- IconAlignmentType align,
- IconTransformType transform,
- CIconHandle theCIcon) THREEWORDINLINE(0x303C, 0x061F, 0xABC9);
-
-
-
-
-
-
-
-
-
-
-
-
- /*
- IconServices is an efficient mechanism to share icon data amongst multiple
- clients. It avoids duplication of data; it provides efficient caching,
- releasing memory when the icon data is no longer needed; it can provide
- the appropriate icon for any filesystem object; it can provide commonly
- used icons (caution, note, help...); it is Appearance-savvy: the icons
- are switched when appropriate.
- IconServices refer to cached icon data using IconRef, a 32-bit opaque
- value. IconRefs are reference counted. When there are no more "owners"
- of an IconRef, the memory used by the icon bitmap is disposed of.
- Two files of same type and creator with no custom icon will have the same IconRef.
- Files with custom icons will have their own IconRef.
- */
-
- /*
- Use the special creator kSystemIconsCreator to get "standard" icons
- that are not associated with a file, such as the help icon.
- Note that all lowercase creators are reserved by Apple.
- */
- enum
- {
- kSystemIconsCreator = FOUR_CHAR_CODE('macs')
- };
-
-
- /*
- Type of the predefined/generic icons. For example, the call:
- err = GetIconRef(kOnSystemDisk, kSystemIconsCreator, kHelpIcon, &iconRef);
- will retun in iconRef the IconRef for the standard help icon.
- */
-
- /* Generic Finder icons */
- enum
- {
- kClipboardIcon = FOUR_CHAR_CODE('CLIP'),
- kClippingUnknownTypeIcon = FOUR_CHAR_CODE('clpu'),
- kClippingPictureTypeIcon = FOUR_CHAR_CODE('clpp'),
- kClippingTextTypeIcon = FOUR_CHAR_CODE('clpt'),
- kClippingSoundTypeIcon = FOUR_CHAR_CODE('clps'),
- kDesktopIcon = FOUR_CHAR_CODE('desk'),
- kFinderIcon = FOUR_CHAR_CODE('FNDR'),
- kFontSuitcaseIcon = FOUR_CHAR_CODE('FFIL'),
- kFullTrashIcon = FOUR_CHAR_CODE('ftrh'),
- kGenericApplicationIcon = FOUR_CHAR_CODE('APPL'),
- kGenericCDROMIcon = FOUR_CHAR_CODE('cddr'),
- kGenericControlPanelIcon = FOUR_CHAR_CODE('APPC'),
- kGenericControlStripModuleIcon = FOUR_CHAR_CODE('sdev'),
- kGenericComponentIcon = FOUR_CHAR_CODE('thng'),
- kGenericDeskAccessoryIcon = FOUR_CHAR_CODE('APPD'),
- kGenericDocumentIcon = FOUR_CHAR_CODE('docu'),
- kGenericEditionFileIcon = FOUR_CHAR_CODE('edtf'),
- kGenericExtensionIcon = FOUR_CHAR_CODE('INIT'),
- kGenericFileServerIcon = FOUR_CHAR_CODE('srvr'),
- kGenericFontIcon = FOUR_CHAR_CODE('ffil'),
- kGenericFontScalerIcon = FOUR_CHAR_CODE('sclr'),
- kGenericFloppyIcon = FOUR_CHAR_CODE('flpy'),
- kGenericHardDiskIcon = FOUR_CHAR_CODE('hdsk'),
- kGenericIDiskIcon = FOUR_CHAR_CODE('idsk'),
- kGenericRemovableMediaIcon = FOUR_CHAR_CODE('rmov'),
- kGenericMoverObjectIcon = FOUR_CHAR_CODE('movr'),
- kGenericPCCardIcon = FOUR_CHAR_CODE('pcmc'),
- kGenericPreferencesIcon = FOUR_CHAR_CODE('pref'),
- kGenericQueryDocumentIcon = FOUR_CHAR_CODE('qery'),
- kGenericRAMDiskIcon = FOUR_CHAR_CODE('ramd'),
- kGenericSharedLibaryIcon = FOUR_CHAR_CODE('shlb'),
- kGenericStationeryIcon = FOUR_CHAR_CODE('sdoc'),
- kGenericSuitcaseIcon = FOUR_CHAR_CODE('suit'),
- kGenericURLIcon = FOUR_CHAR_CODE('gurl'),
- kGenericWORMIcon = FOUR_CHAR_CODE('worm'),
- kInternationalResourcesIcon = FOUR_CHAR_CODE('ifil'),
- kKeyboardLayoutIcon = FOUR_CHAR_CODE('kfil'),
- kSoundFileIcon = FOUR_CHAR_CODE('sfil'),
- kSystemSuitcaseIcon = FOUR_CHAR_CODE('zsys'),
- kTrashIcon = FOUR_CHAR_CODE('trsh'),
- kTrueTypeFontIcon = FOUR_CHAR_CODE('tfil'),
- kTrueTypeFlatFontIcon = FOUR_CHAR_CODE('sfnt'),
- kTrueTypeMultiFlatFontIcon = FOUR_CHAR_CODE('ttcf'),
- kUserIDiskIcon = FOUR_CHAR_CODE('udsk'),
- kUnknownFSObjectIcon = FOUR_CHAR_CODE('unfs'),
- kInternationResourcesIcon = kInternationalResourcesIcon /* old name*/
- };
-
- /* Internet locations */
- enum
- {
- kInternetLocationHTTPIcon = FOUR_CHAR_CODE('ilht'),
- kInternetLocationFTPIcon = FOUR_CHAR_CODE('ilft'),
- kInternetLocationAppleShareIcon = FOUR_CHAR_CODE('ilaf'),
- kInternetLocationAppleTalkZoneIcon = FOUR_CHAR_CODE('ilat'),
- kInternetLocationFileIcon = FOUR_CHAR_CODE('ilfi'),
- kInternetLocationMailIcon = FOUR_CHAR_CODE('ilma'),
- kInternetLocationNewsIcon = FOUR_CHAR_CODE('ilnw'),
- kInternetLocationNSLNeighborhoodIcon = FOUR_CHAR_CODE('ilns'),
- kInternetLocationGenericIcon = FOUR_CHAR_CODE('ilge')
- };
-
- /* Folders */
- enum
- {
- kGenericFolderIcon = FOUR_CHAR_CODE('fldr'),
- kDropFolderIcon = FOUR_CHAR_CODE('dbox'),
- kMountedFolderIcon = FOUR_CHAR_CODE('mntd'),
- kOpenFolderIcon = FOUR_CHAR_CODE('ofld'),
- kOwnedFolderIcon = FOUR_CHAR_CODE('ownd'),
- kPrivateFolderIcon = FOUR_CHAR_CODE('prvf'),
- kSharedFolderIcon = FOUR_CHAR_CODE('shfl')
- };
-
- /* Sharing Privileges icons */
- enum
- {
- kSharingPrivsNotApplicableIcon = FOUR_CHAR_CODE('shna'),
- kSharingPrivsReadOnlyIcon = FOUR_CHAR_CODE('shro'),
- kSharingPrivsReadWriteIcon = FOUR_CHAR_CODE('shrw'),
- kSharingPrivsUnknownIcon = FOUR_CHAR_CODE('shuk'),
- kSharingPrivsWritableIcon = FOUR_CHAR_CODE('writ')
- };
-
-
- /* Users and Groups icons */
- enum
- {
- kUserFolderIcon = FOUR_CHAR_CODE('ufld'),
- kWorkgroupFolderIcon = FOUR_CHAR_CODE('wfld'),
- kGuestUserIcon = FOUR_CHAR_CODE('gusr'),
- kUserIcon = FOUR_CHAR_CODE('user'),
- kOwnerIcon = FOUR_CHAR_CODE('susr'),
- kGroupIcon = FOUR_CHAR_CODE('grup')
- };
-
- /* Special folders */
- enum
- {
- kAppearanceFolderIcon = FOUR_CHAR_CODE('appr'),
- kAppleExtrasFolderIcon = 0x616578C4,
- kAppleMenuFolderIcon = FOUR_CHAR_CODE('amnu'),
- kApplicationsFolderIcon = FOUR_CHAR_CODE('apps'),
- kApplicationSupportFolderIcon = FOUR_CHAR_CODE('asup'),
- kAssistantsFolderIcon = 0x617374C4,
- kColorSyncFolderIcon = FOUR_CHAR_CODE('prof'),
- kContextualMenuItemsFolderIcon = FOUR_CHAR_CODE('cmnu'),
- kControlPanelDisabledFolderIcon = FOUR_CHAR_CODE('ctrD'),
- kControlPanelFolderIcon = FOUR_CHAR_CODE('ctrl'),
- kControlStripModulesFolderIcon = 0x736476C4,
- kDocumentsFolderIcon = FOUR_CHAR_CODE('docs'),
- kExtensionsDisabledFolderIcon = FOUR_CHAR_CODE('extD'),
- kExtensionsFolderIcon = FOUR_CHAR_CODE('extn'),
- kFavoritesFolderIcon = FOUR_CHAR_CODE('favs'),
- kFontsFolderIcon = FOUR_CHAR_CODE('font'),
- kHelpFolderIcon = 0xC4686C70,
- kInternetFolderIcon = 0x696E74C4,
- kInternetPlugInFolderIcon = 0xC46E6574,
- kInternetSearchSitesFolderIcon = FOUR_CHAR_CODE('issf'),
- kLocalesFolderIcon = 0xC46C6F63,
- kMacOSReadMeFolderIcon = 0x6D6F72C4,
- kPublicFolderIcon = FOUR_CHAR_CODE('pubf'),
- kPreferencesFolderIcon = 0x707266C4,
- kPrinterDescriptionFolderIcon = FOUR_CHAR_CODE('ppdf'),
- kPrinterDriverFolderIcon = 0xC4707264,
- kPrintMonitorFolderIcon = FOUR_CHAR_CODE('prnt'),
- kRecentApplicationsFolderIcon = FOUR_CHAR_CODE('rapp'),
- kRecentDocumentsFolderIcon = FOUR_CHAR_CODE('rdoc'),
- kRecentServersFolderIcon = FOUR_CHAR_CODE('rsrv'),
- kScriptingAdditionsFolderIcon = 0xC4736372,
- kSharedLibrariesFolderIcon = 0xC46C6962,
- kScriptsFolderIcon = 0x736372C4,
- kShutdownItemsDisabledFolderIcon = FOUR_CHAR_CODE('shdD'),
- kShutdownItemsFolderIcon = FOUR_CHAR_CODE('shdf'),
- kSpeakableItemsFolder = FOUR_CHAR_CODE('spki'),
- kStartupItemsDisabledFolderIcon = FOUR_CHAR_CODE('strD'),
- kStartupItemsFolderIcon = FOUR_CHAR_CODE('strt'),
- kSystemExtensionDisabledFolderIcon = FOUR_CHAR_CODE('macD'),
- kSystemFolderIcon = FOUR_CHAR_CODE('macs'),
- kTextEncodingsFolderIcon = 0xC4746578,
- kUsersFolderIcon = 0x757372C4,
- kUtilitiesFolderIcon = 0x757469C4,
- kVoicesFolderIcon = FOUR_CHAR_CODE('fvoc')
- };
-
- /* Badges */
- enum
- {
- kAppleScriptBadgeIcon = FOUR_CHAR_CODE('scrp'),
- kLockedBadgeIcon = FOUR_CHAR_CODE('lbdg'),
- kMountedBadgeIcon = FOUR_CHAR_CODE('mbdg'),
- kSharedBadgeIcon = FOUR_CHAR_CODE('sbdg'),
- kAliasBadgeIcon = FOUR_CHAR_CODE('abdg'),
- kAlertCautionBadgeIcon = FOUR_CHAR_CODE('cbdg')
- };
-
- /* Alert icons */
- enum
- {
- kAlertNoteIcon = FOUR_CHAR_CODE('note'),
- kAlertCautionIcon = FOUR_CHAR_CODE('caut'),
- kAlertStopIcon = FOUR_CHAR_CODE('stop')
- };
-
- /* Networking icons */
- enum
- {
- kAppleTalkIcon = FOUR_CHAR_CODE('atlk'),
- kAppleTalkZoneIcon = FOUR_CHAR_CODE('atzn'),
- kAFPServerIcon = FOUR_CHAR_CODE('afps'),
- kFTPServerIcon = FOUR_CHAR_CODE('ftps'),
- kHTTPServerIcon = FOUR_CHAR_CODE('htps'),
- kGenericNetworkIcon = FOUR_CHAR_CODE('gnet'),
- kIPFileServerIcon = FOUR_CHAR_CODE('isrv')
- };
-
- /* Toolbar icons */
- enum
- {
- kToolbarCustomizeIcon = FOUR_CHAR_CODE('tcus'),
- kToolbarDeleteIcon = FOUR_CHAR_CODE('tdel'),
- kToolbarFavoritesIcon = FOUR_CHAR_CODE('tfav'),
- kToolbarHomeIcon = FOUR_CHAR_CODE('thom')
- };
-
- /* Other icons */
- enum
- {
- kAppleLogoIcon = FOUR_CHAR_CODE('capl'),
- kAppleMenuIcon = FOUR_CHAR_CODE('sapl'),
- kBackwardArrowIcon = FOUR_CHAR_CODE('baro'),
- kFavoriteItemsIcon = FOUR_CHAR_CODE('favr'),
- kForwardArrowIcon = FOUR_CHAR_CODE('faro'),
- kGridIcon = FOUR_CHAR_CODE('grid'),
- kHelpIcon = FOUR_CHAR_CODE('help'),
- kKeepArrangedIcon = FOUR_CHAR_CODE('arng'),
- kLockedIcon = FOUR_CHAR_CODE('lock'),
- kNoFilesIcon = FOUR_CHAR_CODE('nfil'),
- kNoFolderIcon = FOUR_CHAR_CODE('nfld'),
- kNoWriteIcon = FOUR_CHAR_CODE('nwrt'),
- kProtectedApplicationFolderIcon = FOUR_CHAR_CODE('papp'),
- kProtectedSystemFolderIcon = FOUR_CHAR_CODE('psys'),
- kRecentItemsIcon = FOUR_CHAR_CODE('rcnt'),
- kShortcutIcon = FOUR_CHAR_CODE('shrt'),
- kSortAscendingIcon = FOUR_CHAR_CODE('asnd'),
- kSortDescendingIcon = FOUR_CHAR_CODE('dsnd'),
- kUnlockedIcon = FOUR_CHAR_CODE('ulck'),
- kConnectToIcon = FOUR_CHAR_CODE('cnct'),
- kGenericWindowIcon = FOUR_CHAR_CODE('gwin'),
- kQuestionMarkIcon = FOUR_CHAR_CODE('ques'),
- kDeleteAliasIcon = FOUR_CHAR_CODE('dali'),
- kEjectMediaIcon = FOUR_CHAR_CODE('ejec'),
- kBurningIcon = FOUR_CHAR_CODE('burn'),
- kRightContainerArrowIcon = FOUR_CHAR_CODE('rcar')
- };
-
-
-
- /* IconServicesUsageFlags */
- typedef UInt32 IconServicesUsageFlags;
- enum
- {
- kIconServicesNormalUsageFlag = 0
- };
-
-
- /*
- kIconServicesCatalogInfoMask - Minimal bitmask for use with
- GetIconRefFromFileInfo(). Use this mask with FSGetCatalogInfo
- before calling GetIconRefFromFileInfo().
- */
- enum
- {
- kIconServicesCatalogInfoMask = (kFSCatInfoNodeID | kFSCatInfoParentDirID | kFSCatInfoVolume | kFSCatInfoNodeFlags | kFSCatInfoFinderInfo | kFSCatInfoFinderXInfo | kFSCatInfoUserAccess)
- };
-
-
- /*
- * PlotIconRefFlags
- *
- * Discussion:
- * Flags that can be passed to the PlotIconRefInContext routine.
- */
- typedef UInt32 PlotIconRefFlags;
- enum
- {
-
- /*
- * Draw the icon image and alpha channel.
- */
- kPlotIconRefNormalFlags = 0L,
-
- /*
- * Only draw the alpha channel.
- */
- kPlotIconRefNoImage = (1 << 1),
-
- /*
- * Only draw the image.
- */
- kPlotIconRefNoMask = (1 << 2)
- };
-
-
-
-
- /*
- ==============================================================================
- Initialization and Termination
- ==============================================================================
- */
-
- /*
- IconServicesInit
-
- Call this routine once per classic 68K application initialization.
- This routine does not need to be called at boot time.
- */
+typedef IconGetterProcPtr IconGetter;
+typedef IconActionProcPtr IconAction;
+/* CIconHandle, GetCIcon(), PlotCIcon(), and DisposeCIcon() moved here from Quickdraw.h*/
+struct CIcon {
+ PixMap iconPMap; /*the icon's pixMap*/
+ BitMap iconMask; /*the icon's mask*/
+ BitMap iconBMap; /*the icon's bitMap*/
+ Handle iconData; /*the icon's data*/
+ SInt16 iconMaskData[1]; /*icon's mask and BitMap data*/
+};
+typedef struct CIcon CIcon;
+typedef CIcon * CIconPtr;
+typedef CIconPtr * CIconHandle;
+/*
+ * GetCIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CIconHandle )
+GetCIcon(SInt16 iconID) ONEWORDINLINE(0xAA1E);
+
+
+/*
+ * PlotCIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PlotCIcon(
+ const Rect * theRect,
+ CIconHandle theIcon) ONEWORDINLINE(0xAA1F);
+
+
+/*
+ * DisposeCIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeCIcon(CIconHandle theIcon) ONEWORDINLINE(0xAA25);
+
+
+
+/* GetIcon and PlotIcon moved here from ToolUtils*/
+/*
+ * GetIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetIcon(SInt16 iconID) ONEWORDINLINE(0xA9BB);
+
+
+/*
+ * PlotIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PlotIcon(
+ const Rect * theRect,
+ Handle theIcon) ONEWORDINLINE(0xA94B);
+
+
+
+
+/*
+ Note: IconSuiteRef and IconCacheRef should be an abstract types,
+ but too much source code already relies on them being of type Handle.
+*/
+typedef Handle IconSuiteRef;
+typedef Handle IconCacheRef;
+/* IconRefs are 32-bit values identifying cached icon data. IconRef 0 is invalid.*/
+typedef struct OpaqueIconRef* IconRef;
+/*
+ * PlotIconID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PlotIconID(
+ const Rect * theRect,
+ IconAlignmentType align,
+ IconTransformType transform,
+ SInt16 theResID) THREEWORDINLINE(0x303C, 0x0500, 0xABC9);
+
+
+/*
+ * NewIconSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewIconSuite(IconSuiteRef * theIconSuite) THREEWORDINLINE(0x303C, 0x0207, 0xABC9);
+
+
+/*
+ * AddIconToSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AddIconToSuite(
+ Handle theIconData,
+ IconSuiteRef theSuite,
+ ResType theType) THREEWORDINLINE(0x303C, 0x0608, 0xABC9);
+
+
+/*
+ * GetIconFromSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconFromSuite(
+ Handle * theIconData,
+ IconSuiteRef theSuite,
+ ResType theType) THREEWORDINLINE(0x303C, 0x0609, 0xABC9);
+
+
+/*
+ * ForEachIconDo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ForEachIconDo(
+ IconSuiteRef theSuite,
+ IconSelectorValue selector,
+ IconActionUPP action,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x080A, 0xABC9);
+
+
+/*
+ * GetIconSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconSuite(
+ IconSuiteRef * theIconSuite,
+ SInt16 theResID,
+ IconSelectorValue selector) THREEWORDINLINE(0x303C, 0x0501, 0xABC9);
+
+
+/*
+ * DisposeIconSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DisposeIconSuite(
+ IconSuiteRef theIconSuite,
+ Boolean disposeData) THREEWORDINLINE(0x303C, 0x0302, 0xABC9);
+
+
+/*
+ * PlotIconSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PlotIconSuite(
+ const Rect * theRect,
+ IconAlignmentType align,
+ IconTransformType transform,
+ IconSuiteRef theIconSuite) THREEWORDINLINE(0x303C, 0x0603, 0xABC9);
+
+
+/*
+ * MakeIconCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+MakeIconCache(
+ IconCacheRef * theCache,
+ IconGetterUPP makeIcon,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0604, 0xABC9);
+
+
+/*
+ * LoadIconCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+LoadIconCache(
+ const Rect * theRect,
+ IconAlignmentType align,
+ IconTransformType transform,
+ IconCacheRef theIconCache) THREEWORDINLINE(0x303C, 0x0606, 0xABC9);
+
+
+/*
+ * PlotIconMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PlotIconMethod(
+ const Rect * theRect,
+ IconAlignmentType align,
+ IconTransformType transform,
+ IconGetterUPP theMethod,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0805, 0xABC9);
+
+
+/*
+ * GetLabel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetLabel(
+ SInt16 labelNumber,
+ RGBColor * labelColor,
+ Str255 labelString) THREEWORDINLINE(0x303C, 0x050B, 0xABC9);
+
+
+/*
+ * PtInIconID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+PtInIconID(
+ Point testPt,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ SInt16 iconID) THREEWORDINLINE(0x303C, 0x060D, 0xABC9);
+
+
+/*
+ * PtInIconSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+PtInIconSuite(
+ Point testPt,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconSuiteRef theIconSuite) THREEWORDINLINE(0x303C, 0x070E, 0xABC9);
+
+
+/*
+ * PtInIconMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+PtInIconMethod(
+ Point testPt,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconGetterUPP theMethod,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x090F, 0xABC9);
+
+
+/*
+ * RectInIconID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+RectInIconID(
+ const Rect * testRect,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ SInt16 iconID) THREEWORDINLINE(0x303C, 0x0610, 0xABC9);
+
+
+/*
+ * RectInIconSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+RectInIconSuite(
+ const Rect * testRect,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconSuiteRef theIconSuite) THREEWORDINLINE(0x303C, 0x0711, 0xABC9);
+
+
+/*
+ * RectInIconMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+RectInIconMethod(
+ const Rect * testRect,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconGetterUPP theMethod,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0912, 0xABC9);
+
+
+/*
+ * IconIDToRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IconIDToRgn(
+ RgnHandle theRgn,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ SInt16 iconID) THREEWORDINLINE(0x303C, 0x0613, 0xABC9);
+
+
+/*
+ * IconSuiteToRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IconSuiteToRgn(
+ RgnHandle theRgn,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconSuiteRef theIconSuite) THREEWORDINLINE(0x303C, 0x0714, 0xABC9);
+
+
+/*
+ * IconMethodToRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IconMethodToRgn(
+ RgnHandle theRgn,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconGetterUPP theMethod,
+ void * yourDataPtr) THREEWORDINLINE(0x303C, 0x0915, 0xABC9);
+
+
+/*
+ * SetSuiteLabel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetSuiteLabel(
+ IconSuiteRef theSuite,
+ SInt16 theLabel) THREEWORDINLINE(0x303C, 0x0316, 0xABC9);
+
+
+/*
+ * GetSuiteLabel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetSuiteLabel(IconSuiteRef theSuite) THREEWORDINLINE(0x303C, 0x0217, 0xABC9);
+
+
+/*
+ * GetIconCacheData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconCacheData(
+ IconCacheRef theCache,
+ void ** theData) THREEWORDINLINE(0x303C, 0x0419, 0xABC9);
+
+
+/*
+ * SetIconCacheData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetIconCacheData(
+ IconCacheRef theCache,
+ void * theData) THREEWORDINLINE(0x303C, 0x041A, 0xABC9);
+
+
+/*
+ * GetIconCacheProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconCacheProc(
+ IconCacheRef theCache,
+ IconGetterUPP * theProc) THREEWORDINLINE(0x303C, 0x041B, 0xABC9);
+
+
+/*
+ * SetIconCacheProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetIconCacheProc(
+ IconCacheRef theCache,
+ IconGetterUPP theProc) THREEWORDINLINE(0x303C, 0x041C, 0xABC9);
+
+
+/*
+ * PlotIconHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PlotIconHandle(
+ const Rect * theRect,
+ IconAlignmentType align,
+ IconTransformType transform,
+ Handle theIcon) THREEWORDINLINE(0x303C, 0x061D, 0xABC9);
+
+
+/*
+ * PlotSICNHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PlotSICNHandle(
+ const Rect * theRect,
+ IconAlignmentType align,
+ IconTransformType transform,
+ Handle theSICN) THREEWORDINLINE(0x303C, 0x061E, 0xABC9);
+
+
+/*
+ * PlotCIconHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PlotCIconHandle(
+ const Rect * theRect,
+ IconAlignmentType align,
+ IconTransformType transform,
+ CIconHandle theCIcon) THREEWORDINLINE(0x303C, 0x061F, 0xABC9);
+
+
+
+
+
+
+
+
+
+
+
+
+/*
+ IconServices is an efficient mechanism to share icon data amongst multiple
+ clients. It avoids duplication of data; it provides efficient caching,
+ releasing memory when the icon data is no longer needed; it can provide
+ the appropriate icon for any filesystem object; it can provide commonly
+ used icons (caution, note, help...); it is Appearance-savvy: the icons
+ are switched when appropriate.
+ IconServices refer to cached icon data using IconRef, a 32-bit opaque
+ value. IconRefs are reference counted. When there are no more "owners"
+ of an IconRef, the memory used by the icon bitmap is disposed of.
+ Two files of same type and creator with no custom icon will have the same IconRef.
+ Files with custom icons will have their own IconRef.
+*/
+
+/*
+ Use the special creator kSystemIconsCreator to get "standard" icons
+ that are not associated with a file, such as the help icon.
+ Note that all lowercase creators are reserved by Apple.
+*/
+enum {
+ kSystemIconsCreator = FOUR_CHAR_CODE('macs')
+};
+
+
+/*
+ Type of the predefined/generic icons. For example, the call:
+ err = GetIconRef(kOnSystemDisk, kSystemIconsCreator, kHelpIcon, &iconRef);
+ will retun in iconRef the IconRef for the standard help icon.
+*/
+
+/* Generic Finder icons */
+enum {
+ kClipboardIcon = FOUR_CHAR_CODE('CLIP'),
+ kClippingUnknownTypeIcon = FOUR_CHAR_CODE('clpu'),
+ kClippingPictureTypeIcon = FOUR_CHAR_CODE('clpp'),
+ kClippingTextTypeIcon = FOUR_CHAR_CODE('clpt'),
+ kClippingSoundTypeIcon = FOUR_CHAR_CODE('clps'),
+ kDesktopIcon = FOUR_CHAR_CODE('desk'),
+ kFinderIcon = FOUR_CHAR_CODE('FNDR'),
+ kFontSuitcaseIcon = FOUR_CHAR_CODE('FFIL'),
+ kFullTrashIcon = FOUR_CHAR_CODE('ftrh'),
+ kGenericApplicationIcon = FOUR_CHAR_CODE('APPL'),
+ kGenericCDROMIcon = FOUR_CHAR_CODE('cddr'),
+ kGenericControlPanelIcon = FOUR_CHAR_CODE('APPC'),
+ kGenericControlStripModuleIcon = FOUR_CHAR_CODE('sdev'),
+ kGenericComponentIcon = FOUR_CHAR_CODE('thng'),
+ kGenericDeskAccessoryIcon = FOUR_CHAR_CODE('APPD'),
+ kGenericDocumentIcon = FOUR_CHAR_CODE('docu'),
+ kGenericEditionFileIcon = FOUR_CHAR_CODE('edtf'),
+ kGenericExtensionIcon = FOUR_CHAR_CODE('INIT'),
+ kGenericFileServerIcon = FOUR_CHAR_CODE('srvr'),
+ kGenericFontIcon = FOUR_CHAR_CODE('ffil'),
+ kGenericFontScalerIcon = FOUR_CHAR_CODE('sclr'),
+ kGenericFloppyIcon = FOUR_CHAR_CODE('flpy'),
+ kGenericHardDiskIcon = FOUR_CHAR_CODE('hdsk'),
+ kGenericIDiskIcon = FOUR_CHAR_CODE('idsk'),
+ kGenericRemovableMediaIcon = FOUR_CHAR_CODE('rmov'),
+ kGenericMoverObjectIcon = FOUR_CHAR_CODE('movr'),
+ kGenericPCCardIcon = FOUR_CHAR_CODE('pcmc'),
+ kGenericPreferencesIcon = FOUR_CHAR_CODE('pref'),
+ kGenericQueryDocumentIcon = FOUR_CHAR_CODE('qery'),
+ kGenericRAMDiskIcon = FOUR_CHAR_CODE('ramd'),
+ kGenericSharedLibaryIcon = FOUR_CHAR_CODE('shlb'),
+ kGenericStationeryIcon = FOUR_CHAR_CODE('sdoc'),
+ kGenericSuitcaseIcon = FOUR_CHAR_CODE('suit'),
+ kGenericURLIcon = FOUR_CHAR_CODE('gurl'),
+ kGenericWORMIcon = FOUR_CHAR_CODE('worm'),
+ kInternationalResourcesIcon = FOUR_CHAR_CODE('ifil'),
+ kKeyboardLayoutIcon = FOUR_CHAR_CODE('kfil'),
+ kSoundFileIcon = FOUR_CHAR_CODE('sfil'),
+ kSystemSuitcaseIcon = FOUR_CHAR_CODE('zsys'),
+ kTrashIcon = FOUR_CHAR_CODE('trsh'),
+ kTrueTypeFontIcon = FOUR_CHAR_CODE('tfil'),
+ kTrueTypeFlatFontIcon = FOUR_CHAR_CODE('sfnt'),
+ kTrueTypeMultiFlatFontIcon = FOUR_CHAR_CODE('ttcf'),
+ kUserIDiskIcon = FOUR_CHAR_CODE('udsk'),
+ kUnknownFSObjectIcon = FOUR_CHAR_CODE('unfs'),
+ kInternationResourcesIcon = kInternationalResourcesIcon /* old name*/
+};
+
+/* Internet locations */
+enum {
+ kInternetLocationHTTPIcon = FOUR_CHAR_CODE('ilht'),
+ kInternetLocationFTPIcon = FOUR_CHAR_CODE('ilft'),
+ kInternetLocationAppleShareIcon = FOUR_CHAR_CODE('ilaf'),
+ kInternetLocationAppleTalkZoneIcon = FOUR_CHAR_CODE('ilat'),
+ kInternetLocationFileIcon = FOUR_CHAR_CODE('ilfi'),
+ kInternetLocationMailIcon = FOUR_CHAR_CODE('ilma'),
+ kInternetLocationNewsIcon = FOUR_CHAR_CODE('ilnw'),
+ kInternetLocationNSLNeighborhoodIcon = FOUR_CHAR_CODE('ilns'),
+ kInternetLocationGenericIcon = FOUR_CHAR_CODE('ilge')
+};
+
+/* Folders */
+enum {
+ kGenericFolderIcon = FOUR_CHAR_CODE('fldr'),
+ kDropFolderIcon = FOUR_CHAR_CODE('dbox'),
+ kMountedFolderIcon = FOUR_CHAR_CODE('mntd'),
+ kOpenFolderIcon = FOUR_CHAR_CODE('ofld'),
+ kOwnedFolderIcon = FOUR_CHAR_CODE('ownd'),
+ kPrivateFolderIcon = FOUR_CHAR_CODE('prvf'),
+ kSharedFolderIcon = FOUR_CHAR_CODE('shfl')
+};
+
+/* Sharing Privileges icons */
+enum {
+ kSharingPrivsNotApplicableIcon = FOUR_CHAR_CODE('shna'),
+ kSharingPrivsReadOnlyIcon = FOUR_CHAR_CODE('shro'),
+ kSharingPrivsReadWriteIcon = FOUR_CHAR_CODE('shrw'),
+ kSharingPrivsUnknownIcon = FOUR_CHAR_CODE('shuk'),
+ kSharingPrivsWritableIcon = FOUR_CHAR_CODE('writ')
+};
+
+
+/* Users and Groups icons */
+enum {
+ kUserFolderIcon = FOUR_CHAR_CODE('ufld'),
+ kWorkgroupFolderIcon = FOUR_CHAR_CODE('wfld'),
+ kGuestUserIcon = FOUR_CHAR_CODE('gusr'),
+ kUserIcon = FOUR_CHAR_CODE('user'),
+ kOwnerIcon = FOUR_CHAR_CODE('susr'),
+ kGroupIcon = FOUR_CHAR_CODE('grup')
+};
+
+/* Special folders */
+enum {
+ kAppearanceFolderIcon = FOUR_CHAR_CODE('appr'),
+ kAppleExtrasFolderIcon = 0x616578C4,
+ kAppleMenuFolderIcon = FOUR_CHAR_CODE('amnu'),
+ kApplicationsFolderIcon = FOUR_CHAR_CODE('apps'),
+ kApplicationSupportFolderIcon = FOUR_CHAR_CODE('asup'),
+ kAssistantsFolderIcon = 0x617374C4,
+ kColorSyncFolderIcon = FOUR_CHAR_CODE('prof'),
+ kContextualMenuItemsFolderIcon = FOUR_CHAR_CODE('cmnu'),
+ kControlPanelDisabledFolderIcon = FOUR_CHAR_CODE('ctrD'),
+ kControlPanelFolderIcon = FOUR_CHAR_CODE('ctrl'),
+ kControlStripModulesFolderIcon = 0x736476C4,
+ kDocumentsFolderIcon = FOUR_CHAR_CODE('docs'),
+ kExtensionsDisabledFolderIcon = FOUR_CHAR_CODE('extD'),
+ kExtensionsFolderIcon = FOUR_CHAR_CODE('extn'),
+ kFavoritesFolderIcon = FOUR_CHAR_CODE('favs'),
+ kFontsFolderIcon = FOUR_CHAR_CODE('font'),
+ kHelpFolderIcon = 0xC4686C70,
+ kInternetFolderIcon = 0x696E74C4,
+ kInternetPlugInFolderIcon = 0xC46E6574,
+ kInternetSearchSitesFolderIcon = FOUR_CHAR_CODE('issf'),
+ kLocalesFolderIcon = 0xC46C6F63,
+ kMacOSReadMeFolderIcon = 0x6D6F72C4,
+ kPublicFolderIcon = FOUR_CHAR_CODE('pubf'),
+ kPreferencesFolderIcon = 0x707266C4,
+ kPrinterDescriptionFolderIcon = FOUR_CHAR_CODE('ppdf'),
+ kPrinterDriverFolderIcon = 0xC4707264,
+ kPrintMonitorFolderIcon = FOUR_CHAR_CODE('prnt'),
+ kRecentApplicationsFolderIcon = FOUR_CHAR_CODE('rapp'),
+ kRecentDocumentsFolderIcon = FOUR_CHAR_CODE('rdoc'),
+ kRecentServersFolderIcon = FOUR_CHAR_CODE('rsrv'),
+ kScriptingAdditionsFolderIcon = 0xC4736372,
+ kSharedLibrariesFolderIcon = 0xC46C6962,
+ kScriptsFolderIcon = 0x736372C4,
+ kShutdownItemsDisabledFolderIcon = FOUR_CHAR_CODE('shdD'),
+ kShutdownItemsFolderIcon = FOUR_CHAR_CODE('shdf'),
+ kSpeakableItemsFolder = FOUR_CHAR_CODE('spki'),
+ kStartupItemsDisabledFolderIcon = FOUR_CHAR_CODE('strD'),
+ kStartupItemsFolderIcon = FOUR_CHAR_CODE('strt'),
+ kSystemExtensionDisabledFolderIcon = FOUR_CHAR_CODE('macD'),
+ kSystemFolderIcon = FOUR_CHAR_CODE('macs'),
+ kTextEncodingsFolderIcon = 0xC4746578,
+ kUsersFolderIcon = 0x757372C4,
+ kUtilitiesFolderIcon = 0x757469C4,
+ kVoicesFolderIcon = FOUR_CHAR_CODE('fvoc')
+};
+
+/* Badges */
+enum {
+ kAppleScriptBadgeIcon = FOUR_CHAR_CODE('scrp'),
+ kLockedBadgeIcon = FOUR_CHAR_CODE('lbdg'),
+ kMountedBadgeIcon = FOUR_CHAR_CODE('mbdg'),
+ kSharedBadgeIcon = FOUR_CHAR_CODE('sbdg'),
+ kAliasBadgeIcon = FOUR_CHAR_CODE('abdg'),
+ kAlertCautionBadgeIcon = FOUR_CHAR_CODE('cbdg')
+};
+
+/* Alert icons */
+enum {
+ kAlertNoteIcon = FOUR_CHAR_CODE('note'),
+ kAlertCautionIcon = FOUR_CHAR_CODE('caut'),
+ kAlertStopIcon = FOUR_CHAR_CODE('stop')
+};
+
+/* Networking icons */
+enum {
+ kAppleTalkIcon = FOUR_CHAR_CODE('atlk'),
+ kAppleTalkZoneIcon = FOUR_CHAR_CODE('atzn'),
+ kAFPServerIcon = FOUR_CHAR_CODE('afps'),
+ kFTPServerIcon = FOUR_CHAR_CODE('ftps'),
+ kHTTPServerIcon = FOUR_CHAR_CODE('htps'),
+ kGenericNetworkIcon = FOUR_CHAR_CODE('gnet'),
+ kIPFileServerIcon = FOUR_CHAR_CODE('isrv')
+};
+
+/* Toolbar icons */
+enum {
+ kToolbarCustomizeIcon = FOUR_CHAR_CODE('tcus'),
+ kToolbarDeleteIcon = FOUR_CHAR_CODE('tdel'),
+ kToolbarFavoritesIcon = FOUR_CHAR_CODE('tfav'),
+ kToolbarHomeIcon = FOUR_CHAR_CODE('thom')
+};
+
+/* Other icons */
+enum {
+ kAppleLogoIcon = FOUR_CHAR_CODE('capl'),
+ kAppleMenuIcon = FOUR_CHAR_CODE('sapl'),
+ kBackwardArrowIcon = FOUR_CHAR_CODE('baro'),
+ kFavoriteItemsIcon = FOUR_CHAR_CODE('favr'),
+ kForwardArrowIcon = FOUR_CHAR_CODE('faro'),
+ kGridIcon = FOUR_CHAR_CODE('grid'),
+ kHelpIcon = FOUR_CHAR_CODE('help'),
+ kKeepArrangedIcon = FOUR_CHAR_CODE('arng'),
+ kLockedIcon = FOUR_CHAR_CODE('lock'),
+ kNoFilesIcon = FOUR_CHAR_CODE('nfil'),
+ kNoFolderIcon = FOUR_CHAR_CODE('nfld'),
+ kNoWriteIcon = FOUR_CHAR_CODE('nwrt'),
+ kProtectedApplicationFolderIcon = FOUR_CHAR_CODE('papp'),
+ kProtectedSystemFolderIcon = FOUR_CHAR_CODE('psys'),
+ kRecentItemsIcon = FOUR_CHAR_CODE('rcnt'),
+ kShortcutIcon = FOUR_CHAR_CODE('shrt'),
+ kSortAscendingIcon = FOUR_CHAR_CODE('asnd'),
+ kSortDescendingIcon = FOUR_CHAR_CODE('dsnd'),
+ kUnlockedIcon = FOUR_CHAR_CODE('ulck'),
+ kConnectToIcon = FOUR_CHAR_CODE('cnct'),
+ kGenericWindowIcon = FOUR_CHAR_CODE('gwin'),
+ kQuestionMarkIcon = FOUR_CHAR_CODE('ques'),
+ kDeleteAliasIcon = FOUR_CHAR_CODE('dali'),
+ kEjectMediaIcon = FOUR_CHAR_CODE('ejec'),
+ kBurningIcon = FOUR_CHAR_CODE('burn'),
+ kRightContainerArrowIcon = FOUR_CHAR_CODE('rcar')
+};
+
+
+
+/* IconServicesUsageFlags */
+typedef UInt32 IconServicesUsageFlags;
+enum {
+ kIconServicesNormalUsageFlag = 0
+};
+
+
+/*
+ kIconServicesCatalogInfoMask - Minimal bitmask for use with
+ GetIconRefFromFileInfo(). Use this mask with FSGetCatalogInfo
+ before calling GetIconRefFromFileInfo().
+*/
+enum {
+ kIconServicesCatalogInfoMask = (kFSCatInfoNodeID | kFSCatInfoParentDirID | kFSCatInfoVolume | kFSCatInfoNodeFlags | kFSCatInfoFinderInfo | kFSCatInfoFinderXInfo | kFSCatInfoUserAccess)
+};
+
+
+/*
+ * PlotIconRefFlags
+ *
+ * Discussion:
+ * Flags that can be passed to the PlotIconRefInContext routine.
+ */
+typedef UInt32 PlotIconRefFlags;
+enum {
+
+ /*
+ * Draw the icon image and alpha channel.
+ */
+ kPlotIconRefNormalFlags = 0L,
+
+ /*
+ * Only draw the alpha channel.
+ */
+ kPlotIconRefNoImage = (1 << 1),
+
+ /*
+ * Only draw the image.
+ */
+ kPlotIconRefNoMask = (1 << 2)
+};
+
+
+
+
+/*
+ ==============================================================================
+ Initialization and Termination
+ ==============================================================================
+*/
+
+/*
+ IconServicesInit
+
+ Call this routine once per classic 68K application initialization.
+ This routine does not need to be called at boot time.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * IconServicesInit()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- IconServicesInit(CFragInitBlockPtr initBlockPtr) TWOWORDINLINE(0x7015, 0xAA75);
-
-
-
- /*
- IconServicesTerminate:
-
- Call this routine once from the termination of a classic 68K application.
- This routine does not need to be called at boot time.
- */
-
- /*
- * IconServicesTerminate()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- IconServicesTerminate(void) TWOWORDINLINE(0x7016, 0xAA75);
+/*
+ * IconServicesInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+IconServicesInit(CFragInitBlockPtr initBlockPtr) TWOWORDINLINE(0x7015, 0xAA75);
+
+
+
+/*
+ IconServicesTerminate:
+
+ Call this routine once from the termination of a classic 68K application.
+ This routine does not need to be called at boot time.
+*/
+
+/*
+ * IconServicesTerminate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+IconServicesTerminate(void) TWOWORDINLINE(0x7016, 0xAA75);
#endif /* CALL_NOT_IN_CARBON */
-
- /*
- ==============================================================================
- Converting data structures
- ==============================================================================
- */
-
-
- /*
- IconRefToIconFamily
- This routines returns a new IconFamily that contains the data corresponding
- to the specified IconRef.
- */
-
- /*
- * IconRefToIconFamily()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IconRefToIconFamily(
- IconRef theIconRef,
- IconSelectorValue whichIcons,
- IconFamilyHandle * iconFamily) TWOWORDINLINE(0x7024, 0xAA75);
-
-
-
- /*
- IconFamilyToIconSuite
- This routine transfers the data from an icon family handle into an icon suite.
- */
-
- /*
- * IconFamilyToIconSuite()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IconFamilyToIconSuite(
- IconFamilyHandle iconFamily,
- IconSelectorValue whichIcons,
- IconSuiteRef * iconSuite) TWOWORDINLINE(0x7025, 0xAA75);
-
-
-
- /*
- IconSuiteToIconFamily
- This routine transfers the data in an icon suite into an icon family.
- */
-
- /*
- * IconSuiteToIconFamily()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IconSuiteToIconFamily(
- IconSuiteRef iconSuite,
- IconSelectorValue whichIcons,
- IconFamilyHandle * iconFamily) TWOWORDINLINE(0x7026, 0xAA75);
-
-
-
- /*
- SetIconFamilyData
- Change the data of an icon family. The data is copied.
- The type can be one of the icon type, or 'PICT'.
- The data will be compressed if needed.
- */
-
- /*
- * SetIconFamilyData()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetIconFamilyData(
- IconFamilyHandle iconFamily,
- OSType iconType,
- Handle h) TWOWORDINLINE(0x7030, 0xAA75);
-
-
-
- /*
- GetIconFamilyData
- Return a copy of the data in the icon family.
- The type can be one of the icon type, or 'PICT'
- The data will be returned uncompressed.
- The handle (h) will be resized as appropriate. If no data of the
- requested type is present, the handle size will be set to 0.
- */
-
- /*
- * GetIconFamilyData()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconFamilyData(
- IconFamilyHandle iconFamily,
- OSType iconType,
- Handle h) TWOWORDINLINE(0x7031, 0xAA75);
-
-
-
- /*
- ==============================================================================
- Reference counting
- ==============================================================================
- */
-
-
- /*
- GetIconRefOwners
-
- This routine returns the reference count for the IconRef, or number of owners.
-
- A valid IconRef always has at least one owner.
- */
-
- /*
- * GetIconRefOwners()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconRefOwners(
- IconRef theIconRef,
- UInt16 * owners) TWOWORDINLINE(0x700B, 0xAA75);
-
-
-
- /*
- AcquireIconRef
- This routine increments the reference count for the IconRef
- */
-
- /*
- * AcquireIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- AcquireIconRef(IconRef theIconRef) TWOWORDINLINE(0x7027, 0xAA75);
-
-
-
-
- /*
- ReleaseIconRef
-
- This routine decrements the reference count for the IconRef.
-
- When the reference count reaches 0, all memory allocated for the icon
- is disposed. Any subsequent use of the IconRef is invalid.
- */
-
- /*
- * ReleaseIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ReleaseIconRef(IconRef theIconRef) TWOWORDINLINE(0x7028, 0xAA75);
-
-
-
-
- /*
- ==============================================================================
- Getting an IconRef
- ==============================================================================
- */
-
-
- /*
- GetIconRefFromFile
-
- This routine returns an icon ref for the specified file, folder or volume.
- The label information is provided separately, since two files with the same icon
- but a different label would share the same iconRef. The label can be used in
- PlotIconRef() for example.
-
- Use this routine if you have no information about the file system object. If
- you have already done a GetCatInfo on the file and want to save some I/O,
- call GetIconRefFromFolder() if you know it's a folder with no custom icon or
- call GetIconRef() if it's a file with no custom icon.
- This routine increments the reference count of the returned IconRef. Call
- ReleaseIconRef() when you're done with it.
- */
-
- /*
- * GetIconRefFromFile()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconRefFromFile(
- const FSSpec * theFile,
- IconRef * theIconRef,
- SInt16 * theLabel) TWOWORDINLINE(0x7002, 0xAA75);
-
-
-
-
- /*
- GetIconRef
-
- This routine returns an icon ref for an icon in the desktop database or
- for a registered icon.
- The system registers a set of icon such as the help icon with the creator
- code kSystemIconsCreator. See above for a list of the registered system types.
- The vRefNum is used as a hint on where to look for the icon first. Use
- kOnSystemDisk if you don't know what to pass.
- This routine increments the reference count of the returned IconRef. Call
- ReleaseIconRef() when you're done with it.
- */
-
- /*
- * GetIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconRef(
- SInt16 vRefNum,
- OSType creator,
- OSType iconType,
- IconRef * theIconRef) TWOWORDINLINE(0x7021, 0xAA75);
-
-
-
-
- /*
- GetIconRefFromFolder
-
- This routine returns an icon ref for a folder with no custom icon.
- Use the more generic, but slightly slower, GetIconRefFromFile() if
- you don't already have the necessary info about the file.
- Attributes should be CInfoPBRec.dirInfo.ioFlAttrib for this folder.
- Access privileges should be CInfoPBRec.dirInfo.ioACUser for this folder.
- This routine increments the reference count of the IconRef. Call ReleaseIconRef()
- when you're done with it.
- */
-
- /*
- * GetIconRefFromFolder()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconRefFromFolder(
- SInt16 vRefNum,
- SInt32 parentFolderID,
- SInt32 folderID,
- SInt8 attributes,
- SInt8 accessPrivileges,
- IconRef * theIconRef) TWOWORDINLINE(0x7022, 0xAA75);
-
-
- /* GetIconRefFromFileInfo*/
- /*
- * GetIconRefFromFileInfo()
- *
- * Summary:
- * This routine returns an IconRef for a file with minimal file I/O.
- *
- * Discussion:
- * To minimize file operations, FSGetCatalogInfo should be called
- * prior to calling this routine. The FSCatalogInfo should
- * correspond to kIconServicesCatalogInfoMask The name should be
- * fetched and passed in. If either the name or the correct catalog
- * info is not passed in, this routine will do file operations for
- * this information instead.
- *
- * Parameters:
- *
- * inRef:
- * An FSRef for the target file
- *
- * inFileNameLength:
- * The length of the name of the target file
- *
- * inFileName:
- * The name of the target file
- *
- * inWhichInfo:
- * The mask of file info already acquired.
- *
- * inCatalogInfo:
- * The catalog info already acquired.
- *
- * inUsageFlags:
- * The usage flags for this call (use
- * kIconServicesNormalUsageFlag).
- *
- * outIconRef:
- * The output IconRef for the routine.
- *
- * outLabel:
- * The output label for the icon/file.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- GetIconRefFromFileInfo(
- const FSRef * inRef,
- UniCharCount inFileNameLength,
- const UniChar * inFileName, /* can be NULL */
- FSCatalogInfoBitmap inWhichInfo,
- const FSCatalogInfo * inCatalogInfo, /* can be NULL */
- IconServicesUsageFlags inUsageFlags,
- IconRef * outIconRef,
- SInt16 * outLabel);
-
-
- /*
- ==============================================================================
- Adding and modifying IconRef
- ==============================================================================
- */
-
-
- /*
- RegisterIconRefFromIconFamily
- This routine adds a new entry to the IconRef registry. Other clients will be
- able to access it using the (creator, iconType) pair specified here.
- Lower-case creators are reserved for the system.
- Consider using RegisterIconRefFromResource() if possible, since the data
- registered using RegisterIconRefFromFamily() cannot be purged.
- The iconFamily data is copied and the caller is reponsible for disposing of it.
- This routine increments the reference count of the IconRef. Call ReleaseIconRef()
- when you're done with it.
- */
-
- /*
- * RegisterIconRefFromIconFamily()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RegisterIconRefFromIconFamily(
- OSType creator,
- OSType iconType,
- IconFamilyHandle iconFamily,
- IconRef * theIconRef) TWOWORDINLINE(0x701C, 0xAA75);
-
-
-
- /*
- RegisterIconRefFromResource
-
- Registers an IconRef from a resouce file.
- Lower-case creators are reserved for the system.
- The icon data to be fetched is either classic icon data or an icon family.
- The 'icns' icon family is searched for before the classic icon data.
- This routine increments the reference count of the IconRef. Call ReleaseIconRef()
- when you're done with it.
- */
-
- /*
- * RegisterIconRefFromResource()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RegisterIconRefFromResource(
- OSType creator,
- OSType iconType,
- const FSSpec * resourceFile,
- SInt16 resourceID,
- IconRef * theIconRef) TWOWORDINLINE(0x7023, 0xAA75);
-
-
- /* RegisterIconRefFromFSRef*/
- /*
- * RegisterIconRefFromFSRef()
- *
- * Discussion:
- * This routine registers an IconRef from a ".icns" file and
- * associates it with a creator/type pair.
- *
- * Parameters:
- *
- * creator:
- * The creator code for the icns file.
- *
- * iconType:
- * The type code for the icns file
- *
- * iconFile:
- * The FSRef of the icns file.
- *
- * theIconRef:
- * The output IconRef for the routine.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- RegisterIconRefFromFSRef(
- OSType creator,
- OSType iconType,
- const FSRef * iconFile,
- IconRef * theIconRef);
-
-
- /*
- UnregisterIconRef
-
- Removes the specified icon from the icon cache (if there are no users of it).
- If some clients are using this iconRef, then the IconRef will be removed when the
- last user calls ReleaseIconRef.
- */
-
- /*
- * UnregisterIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UnregisterIconRef(
- OSType creator,
- OSType iconType) TWOWORDINLINE(0x7008, 0xAA75);
-
-
-
-
- /*
- UpdateIconRef
-
- Call this routine to force an update of the data for iconRef.
-
- For example after changing an icon in the desktop database or changing the custom
- icon of a file. Note that after _adding_ a custom icon to file or folder, you
- need to call GetIconRefFromFile() to get a new IconRef specific to this file.
-
- This routine does nothing if the IconRef is a registered icon.
- */
-
- /*
- * UpdateIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UpdateIconRef(IconRef theIconRef) TWOWORDINLINE(0x7009, 0xAA75);
-
-
-
-
- /*
- OverrideIconRefFromResource
-
- This routines replaces the bitmaps of the specified IconRef with the ones
- in the specified resource file.
- */
-
- /*
- * OverrideIconRefFromResource()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OverrideIconRefFromResource(
- IconRef theIconRef,
- const FSSpec * resourceFile,
- SInt16 resourceID) TWOWORDINLINE(0x702A, 0xAA75);
-
-
-
-
- /*
- OverrideIconRef
-
- This routines replaces the bitmaps of the specified IconRef with the ones
- from the new IconRef.
- */
-
- /*
- * OverrideIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OverrideIconRef(
- IconRef oldIconRef,
- IconRef newIconRef) TWOWORDINLINE(0x702B, 0xAA75);
+
+/*
+ ==============================================================================
+ Converting data structures
+ ==============================================================================
+*/
+
+
+/*
+ IconRefToIconFamily
+ This routines returns a new IconFamily that contains the data corresponding
+ to the specified IconRef.
+*/
+
+/*
+ * IconRefToIconFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IconRefToIconFamily(
+ IconRef theIconRef,
+ IconSelectorValue whichIcons,
+ IconFamilyHandle * iconFamily) TWOWORDINLINE(0x7024, 0xAA75);
+
+
+
+/*
+ IconFamilyToIconSuite
+ This routine transfers the data from an icon family handle into an icon suite.
+*/
+
+/*
+ * IconFamilyToIconSuite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IconFamilyToIconSuite(
+ IconFamilyHandle iconFamily,
+ IconSelectorValue whichIcons,
+ IconSuiteRef * iconSuite) TWOWORDINLINE(0x7025, 0xAA75);
+
+
+
+/*
+ IconSuiteToIconFamily
+ This routine transfers the data in an icon suite into an icon family.
+*/
+
+/*
+ * IconSuiteToIconFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IconSuiteToIconFamily(
+ IconSuiteRef iconSuite,
+ IconSelectorValue whichIcons,
+ IconFamilyHandle * iconFamily) TWOWORDINLINE(0x7026, 0xAA75);
+
+
+
+/*
+ SetIconFamilyData
+ Change the data of an icon family. The data is copied.
+ The type can be one of the icon type, or 'PICT'.
+ The data will be compressed if needed.
+*/
+
+/*
+ * SetIconFamilyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetIconFamilyData(
+ IconFamilyHandle iconFamily,
+ OSType iconType,
+ Handle h) TWOWORDINLINE(0x7030, 0xAA75);
+
+
+
+/*
+ GetIconFamilyData
+ Return a copy of the data in the icon family.
+ The type can be one of the icon type, or 'PICT'
+ The data will be returned uncompressed.
+ The handle (h) will be resized as appropriate. If no data of the
+ requested type is present, the handle size will be set to 0.
+*/
+
+/*
+ * GetIconFamilyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconFamilyData(
+ IconFamilyHandle iconFamily,
+ OSType iconType,
+ Handle h) TWOWORDINLINE(0x7031, 0xAA75);
+
+
+
+/*
+ ==============================================================================
+ Reference counting
+ ==============================================================================
+*/
+
+
+/*
+ GetIconRefOwners
+
+ This routine returns the reference count for the IconRef, or number of owners.
+
+ A valid IconRef always has at least one owner.
+*/
+
+/*
+ * GetIconRefOwners()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconRefOwners(
+ IconRef theIconRef,
+ UInt16 * owners) TWOWORDINLINE(0x700B, 0xAA75);
+
+
+
+/*
+ AcquireIconRef
+ This routine increments the reference count for the IconRef
+*/
+
+/*
+ * AcquireIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+AcquireIconRef(IconRef theIconRef) TWOWORDINLINE(0x7027, 0xAA75);
- /*
- RemoveIconRefOverride
- This routine remove an override if one was applied to the icon and
- reverts back to the original bitmap data.
- */
-
- /*
- * RemoveIconRefOverride()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RemoveIconRefOverride(IconRef theIconRef) TWOWORDINLINE(0x701E, 0xAA75);
-
-
-
-
- /*
- ==============================================================================
- Creating composite IconRef
- ==============================================================================
- */
-
-
- /*
- CompositeIconRef
-
- Superimposes an IconRef on top of another one
- */
-
- /*
- * CompositeIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CompositeIconRef(
- IconRef backgroundIconRef,
- IconRef foregroundIconRef,
- IconRef * compositeIconRef) TWOWORDINLINE(0x7014, 0xAA75);
-
-
-
- /*
- IsIconRefComposite
- Indicates if a given icon ref is a composite of two other icon refs (and which ones)
- If it isn't a composite, backgroundIconRef and foreGroundIconRef will be 0.
- */
-
- /*
- * IsIconRefComposite()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IsIconRefComposite(
- IconRef compositeIconRef,
- IconRef * backgroundIconRef,
- IconRef * foregroundIconRef) TWOWORDINLINE(0x701A, 0xAA75);
-
-
-
-
- /*
- ==============================================================================
- Using IconRef
- ==============================================================================
- */
-
- /*
- IsValidIconRef
- Return true if the iconRef passed in is a valid icon ref
- */
-
- /*
- * IsValidIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsValidIconRef(IconRef theIconRef) TWOWORDINLINE(0x7032, 0xAA75);
-
-
-
- /*
- PlotIconRef
-
- This routine plots the IconRef. It mostly takes the same parameters as
- PlotIconSuite. Pass kIconServicesNormalUsageFlag as a default value for
- IconServicesUsageFlags.
- */
-
- /*
- * PlotIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PlotIconRef(
- const Rect * theRect,
- IconAlignmentType align,
- IconTransformType transform,
- IconServicesUsageFlags theIconServicesUsageFlags,
- IconRef theIconRef) TWOWORDINLINE(0x700E, 0xAA75);
-
-
-
- /* PlotIconRefInContext*/
- /*
- * PlotIconRefInContext()
- *
- * Discussion:
- * This routines plots an IconRef using Quartz/CoreGraphics.
- *
- * Parameters:
- *
- * inContext:
- * The graphics context to use.
- *
- * inRect:
- * The rect to plot the icon in.
- *
- * inAlign:
- * The icon alignment.
- *
- * inTransform:
- * The icon transform.
- *
- * inLabelColor:
- * The icon label color.
- *
- * inFlags:
- * The drawing flags to use (usually kPlotIconRefNormalFlags).
- *
- * inIconRef:
- * The IconRef to plot.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PlotIconRefInContext(
- CGContextRef inContext,
- const CGRect * inRect,
- IconAlignmentType inAlign,
- IconTransformType inTransform,
- const RGBColor * inLabelColor,
- PlotIconRefFlags inFlags,
- IconRef inIconRef);
-
-
-
- /*
- PtInIconRef
-
- This routine indicates if testPt would hit the icon designated by iconRef.
- It mostly takes the same parameters as PtInIconSuite.
- Pass kIconServicesNormalUsageFlag as a default value for IconServicesUsageFlags.
- */
-
-
- /*
- * PtInIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- PtInIconRef(
- const Point * testPt,
- const Rect * iconRect,
- IconAlignmentType align,
- IconServicesUsageFlags theIconServicesUsageFlags,
- IconRef theIconRef) TWOWORDINLINE(0x700F, 0xAA75);
-
-
-
- /*
- RectInIconRef
-
- This routine indicates if testRect would intersect the icon designated by iconRef.
- It mostly takes the same parameters as RectInIconSuite.
- Pass kIconServicesNormalUsageFlag as a default value for IconServicesUsageFlags.
- */
-
-
- /*
- * RectInIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- RectInIconRef(
- const Rect * testRect,
- const Rect * iconRect,
- IconAlignmentType align,
- IconServicesUsageFlags iconServicesUsageFlags,
- IconRef theIconRef) TWOWORDINLINE(0x7010, 0xAA75);
-
-
-
- /*
- IconRefToRgn
-
- This routine returns a region for the icon.
- It mostly takes the same parameters as IconSuiteToRgn.
- Pass kIconServicesNormalUsageFlag as a default value for IconServicesUsageFlags.
- */
-
- /*
- * IconRefToRgn()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- IconRefToRgn(
- RgnHandle theRgn,
- const Rect * iconRect,
- IconAlignmentType align,
- IconServicesUsageFlags iconServicesUsageFlags,
- IconRef theIconRef) TWOWORDINLINE(0x7011, 0xAA75);
-
-
-
- /*
- GetIconSizesFromIconRef
-
- This routine returns an IconSelectorValue indicating the depths and sizes of
- icon data which are actually available. It takes an IconSelectorValue
- indicating which sizes/depths the caller is interested and returns an
- IconSelectorValue indicating which sizes/depths exist.
-
- Caution:
-
- This is potentially an extremely expensive call as IconServices may be forced
- to attempt fetching the data for the IconRef's sizes/depths which may result
- in hitting the local disk or even the network to obtain the data to determine
- which sizes/depths actually exist.
- Pass kIconServicesNormalUsageFlag as a default value for IconServicesUsageFlags.
- */
-
- /*
- * GetIconSizesFromIconRef()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIconSizesFromIconRef(
- IconSelectorValue iconSelectorInput,
- IconSelectorValue * iconSelectorOutputPtr,
- IconServicesUsageFlags iconServicesUsageFlags,
- IconRef theIconRef) TWOWORDINLINE(0x7012, 0xAA75);
-
-
-
-
- /*
- ==============================================================================
- Flushing IconRef data
- ==============================================================================
- */
-
-
- /*
- FlushIconRefs
-
- Making this call will dispose of all the data for the specified icons if
- the data can be reacquired, for example if the data is provided from a resource.
- '****' is a wildcard for all types or all creators.
- */
-
- /*
- * FlushIconRefs()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FlushIconRefs(
- OSType creator,
- OSType iconType) TWOWORDINLINE(0x7029, 0xAA75);
-
-
-
- /*
- FlushIconRefsByVolume
-
- This routine disposes of the data for the icons related to the indicated volume
- if this data can be reacquired, for example if the data is provided from a
- resource.
- */
-
- /*
- * FlushIconRefsByVolume()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FlushIconRefsByVolume(SInt16 vRefNum) TWOWORDINLINE(0x7018, 0xAA75);
-
-
-
-
- /*
- ==============================================================================
- Controling custom icons
- ==============================================================================
- */
-
-
- /*
- SetCustomIconsEnabled
-
- Enable or disable custom icons on the specified volume.
- */
-
- /*
- * SetCustomIconsEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetCustomIconsEnabled(
- SInt16 vRefNum,
- Boolean enableCustomIcons) TWOWORDINLINE(0x701F, 0xAA75);
-
-
-
- /*
- GetCustomIconsEnabled
-
- Return true if custom icons are enabled on the specified volume, false otherwise.
- */
-
- /*
- * GetCustomIconsEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetCustomIconsEnabled(
- SInt16 vRefNum,
- Boolean * customIconsEnabled) TWOWORDINLINE(0x7020, 0xAA75);
-
-
-
- /*
- IsIconRefMaskEmpty
- Returns true if the mask for this icon is blank
- */
-
- /*
- * IsIconRefMaskEmpty()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsIconRefMaskEmpty(IconRef iconRef) TWOWORDINLINE(0x7033, 0xAA75);
-
-
-
- /*
- GetIconRefVariant
- Icon variants allows different images to be used with different icon state.
- For example, the 'open' variant for a folder could be represented with
- an open folder.
- Given an icon ref and a desired variant, this routine returns an icon
- ref (which may be the same as the input icon ref) and a transformation
- which should be used with PlotIconRef() to render the icon appropriately.
- The returned icon ref should be used to do hit-testing.
- */
-
- /*
- * GetIconRefVariant()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(IconRef)
- GetIconRefVariant(
- IconRef inIconRef,
- OSType inVariant,
- IconTransformType * outTransform) TWOWORDINLINE(0x7034, 0xAA75);
-
-
-
-
- /*
- ==============================================================================
- Icon files (.icns files)
- ==============================================================================
- */
-
-
- /*
- RegisterIconRefFromIconFile
- This routine adds a new entry to the IconRef registry. Other clients will be
- able to access it using the (creator, iconType) pair specified here.
- Lower-case creators are reserved for the system.
- If the creator is kSystemIconsCreator and the iconType is 0, a new IconRef
- is always returned. Otherwise, if the creator and type have already been
- registered, the previously registered IconRef is returned.
- This routine increments the reference count of the IconRef. Call ReleaseIconRef()
- when you're done with it.
- */
-
- /*
- * RegisterIconRefFromIconFile()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RegisterIconRefFromIconFile(
- OSType creator,
- OSType iconType,
- const FSSpec * iconFile,
- IconRef * theIconRef) TWOWORDINLINE(0x7035, 0xAA75);
-
-
-
- /*
- ReadIconFile
- Read the specified icon file into the icon family handle.
- The caller is responsible for disposing the iconFamily
- */
-
- /*
- * ReadIconFile()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ReadIconFile(
- const FSSpec * iconFile,
- IconFamilyHandle * iconFamily) TWOWORDINLINE(0x7036, 0xAA75);
-
-
- /* ReadIconFromFSRef*/
- /*
- * ReadIconFromFSRef()
- *
- * Discussion:
- * This routine reads an icon (icns) file into memory.
- *
- * Parameters:
- *
- * ref:
- * The FSRef for the icon file.
- *
- * iconFamily:
- * The handle for the icon family.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- ReadIconFromFSRef(
- const FSRef * ref,
- IconFamilyHandle * iconFamily);
-
-
-
- /*
- WriteIconFile
- Write the iconFamily handle to the specified file
- */
-
- /*
- * WriteIconFile()
- *
- * Availability:
- * Non-Carbon CFM: in IconServicesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- WriteIconFile(
- IconFamilyHandle iconFamily,
- const FSSpec * iconFile) TWOWORDINLINE(0x7037, 0xAA75);
+
+/*
+ ReleaseIconRef
+
+ This routine decrements the reference count for the IconRef.
+
+ When the reference count reaches 0, all memory allocated for the icon
+ is disposed. Any subsequent use of the IconRef is invalid.
+*/
+
+/*
+ * ReleaseIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ReleaseIconRef(IconRef theIconRef) TWOWORDINLINE(0x7028, 0xAA75);
+
+
+
+
+/*
+ ==============================================================================
+ Getting an IconRef
+ ==============================================================================
+*/
+
+
+/*
+ GetIconRefFromFile
+
+ This routine returns an icon ref for the specified file, folder or volume.
+ The label information is provided separately, since two files with the same icon
+ but a different label would share the same iconRef. The label can be used in
+ PlotIconRef() for example.
+
+ Use this routine if you have no information about the file system object. If
+ you have already done a GetCatInfo on the file and want to save some I/O,
+ call GetIconRefFromFolder() if you know it's a folder with no custom icon or
+ call GetIconRef() if it's a file with no custom icon.
+ This routine increments the reference count of the returned IconRef. Call
+ ReleaseIconRef() when you're done with it.
+*/
+
+/*
+ * GetIconRefFromFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconRefFromFile(
+ const FSSpec * theFile,
+ IconRef * theIconRef,
+ SInt16 * theLabel) TWOWORDINLINE(0x7002, 0xAA75);
+
+
+
+
+/*
+ GetIconRef
+
+ This routine returns an icon ref for an icon in the desktop database or
+ for a registered icon.
+ The system registers a set of icon such as the help icon with the creator
+ code kSystemIconsCreator. See above for a list of the registered system types.
+ The vRefNum is used as a hint on where to look for the icon first. Use
+ kOnSystemDisk if you don't know what to pass.
+ This routine increments the reference count of the returned IconRef. Call
+ ReleaseIconRef() when you're done with it.
+*/
+
+/*
+ * GetIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconRef(
+ SInt16 vRefNum,
+ OSType creator,
+ OSType iconType,
+ IconRef * theIconRef) TWOWORDINLINE(0x7021, 0xAA75);
+
+
+
+
+/*
+ GetIconRefFromFolder
+
+ This routine returns an icon ref for a folder with no custom icon.
+ Use the more generic, but slightly slower, GetIconRefFromFile() if
+ you don't already have the necessary info about the file.
+ Attributes should be CInfoPBRec.dirInfo.ioFlAttrib for this folder.
+ Access privileges should be CInfoPBRec.dirInfo.ioACUser for this folder.
+ This routine increments the reference count of the IconRef. Call ReleaseIconRef()
+ when you're done with it.
+*/
+
+/*
+ * GetIconRefFromFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconRefFromFolder(
+ SInt16 vRefNum,
+ SInt32 parentFolderID,
+ SInt32 folderID,
+ SInt8 attributes,
+ SInt8 accessPrivileges,
+ IconRef * theIconRef) TWOWORDINLINE(0x7022, 0xAA75);
+
+
+/* GetIconRefFromFileInfo*/
+/*
+ * GetIconRefFromFileInfo()
+ *
+ * Summary:
+ * This routine returns an IconRef for a file with minimal file I/O.
+ *
+ * Discussion:
+ * To minimize file operations, FSGetCatalogInfo should be called
+ * prior to calling this routine. The FSCatalogInfo should
+ * correspond to kIconServicesCatalogInfoMask The name should be
+ * fetched and passed in. If either the name or the correct catalog
+ * info is not passed in, this routine will do file operations for
+ * this information instead.
+ *
+ * Parameters:
+ *
+ * inRef:
+ * An FSRef for the target file
+ *
+ * inFileNameLength:
+ * The length of the name of the target file
+ *
+ * inFileName:
+ * The name of the target file
+ *
+ * inWhichInfo:
+ * The mask of file info already acquired.
+ *
+ * inCatalogInfo:
+ * The catalog info already acquired.
+ *
+ * inUsageFlags:
+ * The usage flags for this call (use
+ * kIconServicesNormalUsageFlag).
+ *
+ * outIconRef:
+ * The output IconRef for the routine.
+ *
+ * outLabel:
+ * The output label for the icon/file.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+GetIconRefFromFileInfo(
+ const FSRef * inRef,
+ UniCharCount inFileNameLength,
+ const UniChar * inFileName, /* can be NULL */
+ FSCatalogInfoBitmap inWhichInfo,
+ const FSCatalogInfo * inCatalogInfo, /* can be NULL */
+ IconServicesUsageFlags inUsageFlags,
+ IconRef * outIconRef,
+ SInt16 * outLabel);
+
+
+/*
+ ==============================================================================
+ Adding and modifying IconRef
+ ==============================================================================
+*/
+
+
+/*
+ RegisterIconRefFromIconFamily
+ This routine adds a new entry to the IconRef registry. Other clients will be
+ able to access it using the (creator, iconType) pair specified here.
+ Lower-case creators are reserved for the system.
+ Consider using RegisterIconRefFromResource() if possible, since the data
+ registered using RegisterIconRefFromFamily() cannot be purged.
+ The iconFamily data is copied and the caller is reponsible for disposing of it.
+ This routine increments the reference count of the IconRef. Call ReleaseIconRef()
+ when you're done with it.
+*/
+
+/*
+ * RegisterIconRefFromIconFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RegisterIconRefFromIconFamily(
+ OSType creator,
+ OSType iconType,
+ IconFamilyHandle iconFamily,
+ IconRef * theIconRef) TWOWORDINLINE(0x701C, 0xAA75);
+
+
+
+/*
+ RegisterIconRefFromResource
+
+ Registers an IconRef from a resouce file.
+ Lower-case creators are reserved for the system.
+ The icon data to be fetched is either classic icon data or an icon family.
+ The 'icns' icon family is searched for before the classic icon data.
+ This routine increments the reference count of the IconRef. Call ReleaseIconRef()
+ when you're done with it.
+*/
+
+/*
+ * RegisterIconRefFromResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RegisterIconRefFromResource(
+ OSType creator,
+ OSType iconType,
+ const FSSpec * resourceFile,
+ SInt16 resourceID,
+ IconRef * theIconRef) TWOWORDINLINE(0x7023, 0xAA75);
+
+
+/* RegisterIconRefFromFSRef*/
+/*
+ * RegisterIconRefFromFSRef()
+ *
+ * Discussion:
+ * This routine registers an IconRef from a ".icns" file and
+ * associates it with a creator/type pair.
+ *
+ * Parameters:
+ *
+ * creator:
+ * The creator code for the icns file.
+ *
+ * iconType:
+ * The type code for the icns file
+ *
+ * iconFile:
+ * The FSRef of the icns file.
+ *
+ * theIconRef:
+ * The output IconRef for the routine.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+RegisterIconRefFromFSRef(
+ OSType creator,
+ OSType iconType,
+ const FSRef * iconFile,
+ IconRef * theIconRef);
+
+
+/*
+ UnregisterIconRef
+
+ Removes the specified icon from the icon cache (if there are no users of it).
+ If some clients are using this iconRef, then the IconRef will be removed when the
+ last user calls ReleaseIconRef.
+*/
+
+/*
+ * UnregisterIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UnregisterIconRef(
+ OSType creator,
+ OSType iconType) TWOWORDINLINE(0x7008, 0xAA75);
+
+
+
+
+/*
+ UpdateIconRef
+
+ Call this routine to force an update of the data for iconRef.
+
+ For example after changing an icon in the desktop database or changing the custom
+ icon of a file. Note that after _adding_ a custom icon to file or folder, you
+ need to call GetIconRefFromFile() to get a new IconRef specific to this file.
+
+ This routine does nothing if the IconRef is a registered icon.
+*/
+
+/*
+ * UpdateIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UpdateIconRef(IconRef theIconRef) TWOWORDINLINE(0x7009, 0xAA75);
+
+
+
+
+/*
+ OverrideIconRefFromResource
+
+ This routines replaces the bitmaps of the specified IconRef with the ones
+ in the specified resource file.
+*/
+
+/*
+ * OverrideIconRefFromResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OverrideIconRefFromResource(
+ IconRef theIconRef,
+ const FSSpec * resourceFile,
+ SInt16 resourceID) TWOWORDINLINE(0x702A, 0xAA75);
+
+
+
+
+/*
+ OverrideIconRef
+
+ This routines replaces the bitmaps of the specified IconRef with the ones
+ from the new IconRef.
+*/
+
+/*
+ * OverrideIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OverrideIconRef(
+ IconRef oldIconRef,
+ IconRef newIconRef) TWOWORDINLINE(0x702B, 0xAA75);
+
+
+
+/*
+ RemoveIconRefOverride
+ This routine remove an override if one was applied to the icon and
+ reverts back to the original bitmap data.
+*/
+
+/*
+ * RemoveIconRefOverride()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveIconRefOverride(IconRef theIconRef) TWOWORDINLINE(0x701E, 0xAA75);
+
+
+
+
+/*
+ ==============================================================================
+ Creating composite IconRef
+ ==============================================================================
+*/
+
+
+/*
+ CompositeIconRef
+
+ Superimposes an IconRef on top of another one
+*/
+
+/*
+ * CompositeIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CompositeIconRef(
+ IconRef backgroundIconRef,
+ IconRef foregroundIconRef,
+ IconRef * compositeIconRef) TWOWORDINLINE(0x7014, 0xAA75);
+
+
+
+/*
+ IsIconRefComposite
+ Indicates if a given icon ref is a composite of two other icon refs (and which ones)
+ If it isn't a composite, backgroundIconRef and foreGroundIconRef will be 0.
+*/
+
+/*
+ * IsIconRefComposite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IsIconRefComposite(
+ IconRef compositeIconRef,
+ IconRef * backgroundIconRef,
+ IconRef * foregroundIconRef) TWOWORDINLINE(0x701A, 0xAA75);
+
+
+
+
+/*
+ ==============================================================================
+ Using IconRef
+ ==============================================================================
+*/
+
+/*
+ IsValidIconRef
+ Return true if the iconRef passed in is a valid icon ref
+*/
+
+/*
+ * IsValidIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsValidIconRef(IconRef theIconRef) TWOWORDINLINE(0x7032, 0xAA75);
+
+
+
+/*
+ PlotIconRef
+
+ This routine plots the IconRef. It mostly takes the same parameters as
+ PlotIconSuite. Pass kIconServicesNormalUsageFlag as a default value for
+ IconServicesUsageFlags.
+*/
+
+/*
+ * PlotIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PlotIconRef(
+ const Rect * theRect,
+ IconAlignmentType align,
+ IconTransformType transform,
+ IconServicesUsageFlags theIconServicesUsageFlags,
+ IconRef theIconRef) TWOWORDINLINE(0x700E, 0xAA75);
+
+
+
+/* PlotIconRefInContext*/
+/*
+ * PlotIconRefInContext()
+ *
+ * Discussion:
+ * This routines plots an IconRef using Quartz/CoreGraphics.
+ *
+ * Parameters:
+ *
+ * inContext:
+ * The graphics context to use.
+ *
+ * inRect:
+ * The rect to plot the icon in.
+ *
+ * inAlign:
+ * The icon alignment.
+ *
+ * inTransform:
+ * The icon transform.
+ *
+ * inLabelColor:
+ * The icon label color.
+ *
+ * inFlags:
+ * The drawing flags to use (usually kPlotIconRefNormalFlags).
+ *
+ * inIconRef:
+ * The IconRef to plot.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PlotIconRefInContext(
+ CGContextRef inContext,
+ const CGRect * inRect,
+ IconAlignmentType inAlign,
+ IconTransformType inTransform,
+ const RGBColor * inLabelColor,
+ PlotIconRefFlags inFlags,
+ IconRef inIconRef);
+
+
+
+/*
+ PtInIconRef
+
+ This routine indicates if testPt would hit the icon designated by iconRef.
+ It mostly takes the same parameters as PtInIconSuite.
+ Pass kIconServicesNormalUsageFlag as a default value for IconServicesUsageFlags.
+*/
+
+
+/*
+ * PtInIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+PtInIconRef(
+ const Point * testPt,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconServicesUsageFlags theIconServicesUsageFlags,
+ IconRef theIconRef) TWOWORDINLINE(0x700F, 0xAA75);
+
+
+
+/*
+ RectInIconRef
+
+ This routine indicates if testRect would intersect the icon designated by iconRef.
+ It mostly takes the same parameters as RectInIconSuite.
+ Pass kIconServicesNormalUsageFlag as a default value for IconServicesUsageFlags.
+*/
+
+
+/*
+ * RectInIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+RectInIconRef(
+ const Rect * testRect,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconServicesUsageFlags iconServicesUsageFlags,
+ IconRef theIconRef) TWOWORDINLINE(0x7010, 0xAA75);
+
+
+
+/*
+ IconRefToRgn
+
+ This routine returns a region for the icon.
+ It mostly takes the same parameters as IconSuiteToRgn.
+ Pass kIconServicesNormalUsageFlag as a default value for IconServicesUsageFlags.
+*/
+
+/*
+ * IconRefToRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+IconRefToRgn(
+ RgnHandle theRgn,
+ const Rect * iconRect,
+ IconAlignmentType align,
+ IconServicesUsageFlags iconServicesUsageFlags,
+ IconRef theIconRef) TWOWORDINLINE(0x7011, 0xAA75);
+
+
+
+/*
+ GetIconSizesFromIconRef
+
+ This routine returns an IconSelectorValue indicating the depths and sizes of
+ icon data which are actually available. It takes an IconSelectorValue
+ indicating which sizes/depths the caller is interested and returns an
+ IconSelectorValue indicating which sizes/depths exist.
+
+ Caution:
+
+ This is potentially an extremely expensive call as IconServices may be forced
+ to attempt fetching the data for the IconRef's sizes/depths which may result
+ in hitting the local disk or even the network to obtain the data to determine
+ which sizes/depths actually exist.
+ Pass kIconServicesNormalUsageFlag as a default value for IconServicesUsageFlags.
+*/
+
+/*
+ * GetIconSizesFromIconRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIconSizesFromIconRef(
+ IconSelectorValue iconSelectorInput,
+ IconSelectorValue * iconSelectorOutputPtr,
+ IconServicesUsageFlags iconServicesUsageFlags,
+ IconRef theIconRef) TWOWORDINLINE(0x7012, 0xAA75);
+
+
+
+
+/*
+ ==============================================================================
+ Flushing IconRef data
+ ==============================================================================
+*/
+
+
+/*
+ FlushIconRefs
+
+ Making this call will dispose of all the data for the specified icons if
+ the data can be reacquired, for example if the data is provided from a resource.
+ '****' is a wildcard for all types or all creators.
+*/
+
+/*
+ * FlushIconRefs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FlushIconRefs(
+ OSType creator,
+ OSType iconType) TWOWORDINLINE(0x7029, 0xAA75);
+
+
+
+/*
+ FlushIconRefsByVolume
+
+ This routine disposes of the data for the icons related to the indicated volume
+ if this data can be reacquired, for example if the data is provided from a
+ resource.
+*/
+
+/*
+ * FlushIconRefsByVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FlushIconRefsByVolume(SInt16 vRefNum) TWOWORDINLINE(0x7018, 0xAA75);
+
+
+
+
+/*
+ ==============================================================================
+ Controling custom icons
+ ==============================================================================
+*/
+
+
+/*
+ SetCustomIconsEnabled
+
+ Enable or disable custom icons on the specified volume.
+*/
+
+/*
+ * SetCustomIconsEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetCustomIconsEnabled(
+ SInt16 vRefNum,
+ Boolean enableCustomIcons) TWOWORDINLINE(0x701F, 0xAA75);
+
+
+
+/*
+ GetCustomIconsEnabled
+
+ Return true if custom icons are enabled on the specified volume, false otherwise.
+*/
+
+/*
+ * GetCustomIconsEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetCustomIconsEnabled(
+ SInt16 vRefNum,
+ Boolean * customIconsEnabled) TWOWORDINLINE(0x7020, 0xAA75);
+
+
+
+/*
+ IsIconRefMaskEmpty
+ Returns true if the mask for this icon is blank
+*/
+
+/*
+ * IsIconRefMaskEmpty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsIconRefMaskEmpty(IconRef iconRef) TWOWORDINLINE(0x7033, 0xAA75);
+
+
+
+/*
+ GetIconRefVariant
+ Icon variants allows different images to be used with different icon state.
+ For example, the 'open' variant for a folder could be represented with
+ an open folder.
+ Given an icon ref and a desired variant, this routine returns an icon
+ ref (which may be the same as the input icon ref) and a transformation
+ which should be used with PlotIconRef() to render the icon appropriately.
+ The returned icon ref should be used to do hit-testing.
+*/
+
+/*
+ * GetIconRefVariant()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( IconRef )
+GetIconRefVariant(
+ IconRef inIconRef,
+ OSType inVariant,
+ IconTransformType * outTransform) TWOWORDINLINE(0x7034, 0xAA75);
+
+
+
+
+/*
+ ==============================================================================
+ Icon files (.icns files)
+ ==============================================================================
+*/
+
+
+/*
+ RegisterIconRefFromIconFile
+ This routine adds a new entry to the IconRef registry. Other clients will be
+ able to access it using the (creator, iconType) pair specified here.
+ Lower-case creators are reserved for the system.
+ If the creator is kSystemIconsCreator and the iconType is 0, a new IconRef
+ is always returned. Otherwise, if the creator and type have already been
+ registered, the previously registered IconRef is returned.
+ This routine increments the reference count of the IconRef. Call ReleaseIconRef()
+ when you're done with it.
+*/
+
+/*
+ * RegisterIconRefFromIconFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RegisterIconRefFromIconFile(
+ OSType creator,
+ OSType iconType,
+ const FSSpec * iconFile,
+ IconRef * theIconRef) TWOWORDINLINE(0x7035, 0xAA75);
+
+
+
+/*
+ ReadIconFile
+ Read the specified icon file into the icon family handle.
+ The caller is responsible for disposing the iconFamily
+*/
+
+/*
+ * ReadIconFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ReadIconFile(
+ const FSSpec * iconFile,
+ IconFamilyHandle * iconFamily) TWOWORDINLINE(0x7036, 0xAA75);
+
+
+/* ReadIconFromFSRef*/
+/*
+ * ReadIconFromFSRef()
+ *
+ * Discussion:
+ * This routine reads an icon (icns) file into memory.
+ *
+ * Parameters:
+ *
+ * ref:
+ * The FSRef for the icon file.
+ *
+ * iconFamily:
+ * The handle for the icon family.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+ReadIconFromFSRef(
+ const FSRef * ref,
+ IconFamilyHandle * iconFamily);
+
+
+
+/*
+ WriteIconFile
+ Write the iconFamily handle to the specified file
+*/
+
+/*
+ * WriteIconFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IconServicesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+WriteIconFile(
+ IconFamilyHandle iconFamily,
+ const FSSpec * iconFile) TWOWORDINLINE(0x7037, 0xAA75);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ImageCapture.h b/include/qt/ImageCapture.h
index 413dcfbd4..5c96b80b3 100644
--- a/include/qt/ImageCapture.h
+++ b/include/qt/ImageCapture.h
@@ -1,17 +1,17 @@
/*
File: ImageCapture.h
-
+
Contains: Image Capture Architecture header
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __IMAGECAPTURE__
#define __IMAGECAPTURE__
diff --git a/include/qt/ImageCodec.h b/include/qt/ImageCodec.h
index 0bc219a09..aa670e6dd 100644
--- a/include/qt/ImageCodec.h
+++ b/include/qt/ImageCodec.h
@@ -1,17 +1,17 @@
/*
File: ImageCodec.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __IMAGECODEC__
#define __IMAGECODEC__
@@ -53,3705 +53,3558 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- /*
- The following GX types were previously in GXTypes.h, but that header
- is not available in any Mac OS X framework.
- */
- struct gxPoint
- {
- Fixed x;
- Fixed y;
- };
- typedef struct gxPoint gxPoint;
- struct gxPath
- {
- long vectors;
- long controlBits[1];
- gxPoint vector[1];
- };
- typedef struct gxPath gxPath;
- struct gxPaths
- {
- long contours;
- gxPath contour[1];
- };
- typedef struct gxPaths gxPaths;
- /* codec capabilities flags */
- enum
- {
- codecCanScale = 1L << 0,
- codecCanMask = 1L << 1,
- codecCanMatte = 1L << 2,
- codecCanTransform = 1L << 3,
- codecCanTransferMode = 1L << 4,
- codecCanCopyPrev = 1L << 5,
- codecCanSpool = 1L << 6,
- codecCanClipVertical = 1L << 7,
- codecCanClipRectangular = 1L << 8,
- codecCanRemapColor = 1L << 9,
- codecCanFastDither = 1L << 10,
- codecCanSrcExtract = 1L << 11,
- codecCanCopyPrevComp = 1L << 12,
- codecCanAsync = 1L << 13,
- codecCanMakeMask = 1L << 14,
- codecCanShift = 1L << 15,
- codecCanAsyncWhen = 1L << 16,
- codecCanShieldCursor = 1L << 17,
- codecCanManagePrevBuffer = 1L << 18,
- codecHasVolatileBuffer = 1L << 19, /* codec requires redraw after window movement */
- codecWantsRegionMask = 1L << 20,
- codecImageBufferIsOnScreen = 1L << 21, /* old def of codec using overlay surface, = ( codecIsDirectToScreenOnly | codecUsesOverlaySurface | codecImageBufferIsOverlaySurface | codecSrcMustBeImageBuffer ) */
- codecWantsDestinationPixels = 1L << 22,
- codecWantsSpecialScaling = 1L << 23,
- codecHandlesInputs = 1L << 24,
- codecCanDoIndirectSurface = 1L << 25, /* codec can handle indirect surface (GDI) */
- codecIsSequenceSensitive = 1L << 26,
- codecRequiresOffscreen = 1L << 27,
- codecRequiresMaskBits = 1L << 28,
- codecCanRemapResolution = 1L << 29,
- codecIsDirectToScreenOnly = 1L << 30, /* codec can only decompress data to the screen */
- codecCanLockSurface = 1L << 31 /* codec can lock destination surface, icm doesn't lock for you */
- };
-
- /* codec capabilities flags2 */
- enum
- {
- codecUsesOverlaySurface = 1L << 0, /* codec uses overlay surface */
- codecImageBufferIsOverlaySurface = 1L << 1, /* codec image buffer is overlay surface, the bits in the buffer are on the screen */
- codecSrcMustBeImageBuffer = 1L << 2, /* codec can only source data from an image buffer */
- codecImageBufferIsInAGPMemory = 1L << 4, /* codec image buffer is in AGP space, byte writes are OK */
- codecImageBufferIsInPCIMemory = 1L << 5, /* codec image buffer is across a PCI bus; byte writes are bad */
- codecImageBufferMemoryFlagsValid = 1L << 6, /* set by ImageCodecNewImageBufferMemory/NewImageGWorld to indicate that it set the AGP/PCI flags (supported in QuickTime 6.0 and later) */
- codecDrawsHigherQualityScaled = 1L << 7, /* codec will draw higher-quality image if it performs scaling (eg, wipe effect with border) */
- codecSupportsOutOfOrderDisplayTimes = 1L << 8, /* codec supports frames queued in one order for display in a different order, eg, IPB content */
- codecSupportsScheduledBackwardsPlaybackWithDifferenceFrames = 1L << 9 /* codec can use additional buffers to minimise redecoding during backwards playback */
- };
-
- struct CodecCapabilities
- {
- long flags;
- short wantedPixelSize;
- short extendWidth;
- short extendHeight;
- short bandMin;
- short bandInc;
- short pad;
- unsigned long time;
- long flags2; /* field new in QuickTime 4.0 */
- };
- typedef struct CodecCapabilities CodecCapabilities;
- /* codec condition flags */
- enum
- {
- codecConditionFirstBand = 1L << 0,
- codecConditionLastBand = 1L << 1,
- codecConditionFirstFrame = 1L << 2,
- codecConditionNewDepth = 1L << 3,
- codecConditionNewTransform = 1L << 4,
- codecConditionNewSrcRect = 1L << 5,
- codecConditionNewMask = 1L << 6,
- codecConditionNewMatte = 1L << 7,
- codecConditionNewTransferMode = 1L << 8,
- codecConditionNewClut = 1L << 9,
- codecConditionNewAccuracy = 1L << 10,
- codecConditionNewDestination = 1L << 11,
- codecConditionFirstScreen = 1L << 12,
- codecConditionDoCursor = 1L << 13,
- codecConditionCatchUpDiff = 1L << 14,
- codecConditionMaskMayBeChanged = 1L << 15,
- codecConditionToBuffer = 1L << 16,
- codecConditionCodecChangedMask = 1L << 31
- };
-
-
- enum
- {
- codecInfoResourceType = FOUR_CHAR_CODE('cdci'), /* codec info resource type */
- codecInterfaceVersion = 2 /* high word returned in component GetVersion */
- };
-
- struct CDSequenceDataSourceQueueEntry
- {
- void * nextBusy;
-
- long descSeed;
- Handle dataDesc;
- void * data;
- long dataSize;
-
- long useCount;
-
- TimeValue frameTime;
- TimeValue frameDuration;
- TimeValue timeScale;
- };
- typedef struct CDSequenceDataSourceQueueEntry CDSequenceDataSourceQueueEntry;
- typedef CDSequenceDataSourceQueueEntry * CDSequenceDataSourceQueueEntryPtr;
- struct CDSequenceDataSource
- {
- long recordSize;
-
- void * next;
-
- ImageSequence seqID;
- ImageSequenceDataSource sourceID;
- OSType sourceType;
- long sourceInputNumber;
- void * dataPtr;
- Handle dataDescription;
- long changeSeed;
- ICMConvertDataFormatUPP transferProc;
- void * transferRefcon;
- long dataSize;
-
- /* fields available in QT 3 and later */
-
- QHdrPtr dataQueue; /* queue of CDSequenceDataSourceQueueEntry structures*/
-
- void * originalDataPtr;
- long originalDataSize;
- Handle originalDataDescription;
- long originalDataDescriptionSeed;
- };
- typedef struct CDSequenceDataSource CDSequenceDataSource;
- typedef CDSequenceDataSource * CDSequenceDataSourcePtr;
- struct ICMFrameTimeInfo
- {
- wide startTime;
- long scale;
- long duration;
- };
- typedef struct ICMFrameTimeInfo ICMFrameTimeInfo;
- typedef ICMFrameTimeInfo * ICMFrameTimeInfoPtr;
- struct CodecCompressParams
- {
- ImageSequence sequenceID; /* precompress,bandcompress */
- ImageDescriptionHandle imageDescription; /* precompress,bandcompress */
- Ptr data;
- long bufferSize;
- long frameNumber;
- long startLine;
- long stopLine;
- long conditionFlags;
- CodecFlags callerFlags;
- CodecCapabilities * capabilities; /* precompress,bandcompress */
- ICMProgressProcRecord progressProcRecord;
- ICMCompletionProcRecord completionProcRecord;
- ICMFlushProcRecord flushProcRecord;
-
- PixMap srcPixMap; /* precompress,bandcompress */
- PixMap prevPixMap;
- CodecQ spatialQuality;
- CodecQ temporalQuality;
- Fixed similarity;
- DataRateParamsPtr dataRateParams;
- long reserved;
-
- /* The following fields only exist for QuickTime 2.1 and greater */
- UInt16 majorSourceChangeSeed;
- UInt16 minorSourceChangeSeed;
- CDSequenceDataSourcePtr sourceData;
-
- /* The following fields only exist for QuickTime 2.5 and greater */
- long preferredPacketSizeInBytes;
-
- /* The following fields only exist for QuickTime 3.0 and greater */
- long requestedBufferWidth; /* must set codecWantsSpecialScaling to indicate this field is valid*/
- long requestedBufferHeight; /* must set codecWantsSpecialScaling to indicate this field is valid*/
-
- /* The following fields only exist for QuickTime 4.0 and greater */
- OSType wantedSourcePixelType;
-
- /* The following fields only exist for QuickTime 5.0 and greater */
- long compressedDataSize; /* if nonzero, this overrides (*imageDescription)->dataSize*/
- UInt32 taskWeight; /* preferred weight for MP tasks implementing this operation*/
- OSType taskName; /* preferred name (type) for MP tasks implementing this operation*/
- };
- typedef struct CodecCompressParams CodecCompressParams;
- struct CodecDecompressParams
- {
- ImageSequence sequenceID; /* predecompress,banddecompress */
- ImageDescriptionHandle imageDescription; /* predecompress,banddecompress */
- Ptr data;
- long bufferSize;
- long frameNumber;
- long startLine;
- long stopLine;
- long conditionFlags;
- CodecFlags callerFlags;
- CodecCapabilities * capabilities; /* predecompress,banddecompress */
- ICMProgressProcRecord progressProcRecord;
- ICMCompletionProcRecord completionProcRecord;
- ICMDataProcRecord dataProcRecord;
-
- CGrafPtr port; /* predecompress,banddecompress */
- PixMap dstPixMap; /* predecompress,banddecompress */
- BitMapPtr maskBits;
- PixMapPtr mattePixMap;
- Rect srcRect; /* predecompress,banddecompress */
- MatrixRecord * matrix; /* predecompress,banddecompress */
- CodecQ accuracy; /* predecompress,banddecompress */
- short transferMode; /* predecompress,banddecompress */
- ICMFrameTimePtr frameTime; /* banddecompress */
- long reserved[1];
-
- /* The following fields only exist for QuickTime 2.0 and greater */
- SInt8 matrixFlags; /* high bit set if 2x resize */
- SInt8 matrixType;
- Rect dstRect; /* only valid for simple transforms */
-
- /* The following fields only exist for QuickTime 2.1 and greater */
- UInt16 majorSourceChangeSeed;
- UInt16 minorSourceChangeSeed;
- CDSequenceDataSourcePtr sourceData;
-
- RgnHandle maskRegion;
-
- /* The following fields only exist for QuickTime 2.5 and greater */
- OSType ** wantedDestinationPixelTypes; /* Handle to 0-terminated list of OSTypes */
-
- long screenFloodMethod;
- long screenFloodValue;
- short preferredOffscreenPixelSize;
-
- /* The following fields only exist for QuickTime 3.0 and greater */
- ICMFrameTimeInfoPtr syncFrameTime; /* banddecompress */
- Boolean needUpdateOnTimeChange; /* banddecompress */
- Boolean enableBlackLining;
- Boolean needUpdateOnSourceChange; /* band decompress */
- Boolean pad;
-
- long unused;
-
- CGrafPtr finalDestinationPort;
-
- long requestedBufferWidth; /* must set codecWantsSpecialScaling to indicate this field is valid*/
- long requestedBufferHeight; /* must set codecWantsSpecialScaling to indicate this field is valid*/
-
- /* The following fields only exist for QuickTime 4.0 and greater */
- Rect displayableAreaOfRequestedBuffer; /* set in predecompress*/
- Boolean requestedSingleField;
- Boolean needUpdateOnNextIdle;
- Boolean pad2[2];
- Fixed bufferGammaLevel;
-
- /* The following fields only exist for QuickTime 5.0 and greater */
- UInt32 taskWeight; /* preferred weight for MP tasks implementing this operation*/
- OSType taskName; /* preferred name (type) for MP tasks implementing this operation*/
-
- /* The following fields only exist for QuickTime 6.0 and greater */
- Boolean pad3;
- UInt8 destinationBufferMemoryPreference; /* a codec's PreDecompress/Preflight call can set this to express a preference about what kind of memory its destination buffer should go into. no guarantees.*/
- UInt8 codecBufferMemoryPreference; /* may indicate preferred kind of memory that NewImageGWorld/NewImageBufferMemory should create its buffer in, if applicable.*/
- Boolean onlyUseCodecIfItIsInUserPreferredCodecList; /* set to prevent this codec from being used unless it is in the userPreferredCodec list*/
-
- QTMediaContextID mediaContextID;
-
- /* The following fields only exist for QuickTime 6.5 and greater */
- UInt8 deinterlaceRequest; /* set by the ICM before PreDecompress/Preflight */
- UInt8 deinterlaceAnswer; /* codec should set this in PreDecompress/Preflight if it will satisfy the deinterlaceRequest */
-
- /* The following fields only exist for QuickTime 7.0 and greater */
- UInt8 pad4[2];
- long reserved2;
- UInt32 reserved3;
- long reserved4;
- void * reserved5;
- void * reserved6;
- void * reserved7;
- void * reserved8;
- };
- typedef struct CodecDecompressParams CodecDecompressParams;
- enum
- {
- matrixFlagScale2x = 1L << 7,
- matrixFlagScale1x = 1L << 6,
- matrixFlagScaleHalf = 1L << 5
- };
-
- enum
- {
- kScreenFloodMethodNone = 0,
- kScreenFloodMethodKeyColor = 1,
- kScreenFloodMethodAlpha = 2
- };
-
- enum
- {
- kFlushLastQueuedFrame = 0,
- kFlushFirstQueuedFrame = 1
- };
-
- enum
- {
- kNewImageGWorldErase = 1L << 0
- };
-
- /* values for destinationBufferMemoryPreference and codecBufferMemoryPreference */
- enum
- {
- kICMImageBufferNoPreference = 0,
- kICMImageBufferPreferMainMemory = 1,
- kICMImageBufferPreferVideoMemory = 2
- };
-
- /* values for deinterlaceRequest and deinterlaceAnswer */
- enum
- {
- kICMNoDeinterlacing = 0,
- kICMDeinterlaceFields = 1
- };
-
- typedef CALLBACK_API(void , ImageCodecTimeTriggerProcPtr)(void * refcon);
- typedef CALLBACK_API(void , ImageCodecDrawBandCompleteProcPtr)(void *refcon, ComponentResult drawBandResult, UInt32 drawBandCompleteFlags);
- typedef STACK_UPP_TYPE(ImageCodecTimeTriggerProcPtr) ImageCodecTimeTriggerUPP;
- typedef STACK_UPP_TYPE(ImageCodecDrawBandCompleteProcPtr) ImageCodecDrawBandCompleteUPP;
- /*
- * NewImageCodecTimeTriggerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ImageCodecTimeTriggerUPP)
- NewImageCodecTimeTriggerUPP(ImageCodecTimeTriggerProcPtr userRoutine);
+/*
+ The following GX types were previously in GXTypes.h, but that header
+ is not available in any Mac OS X framework.
+*/
+struct gxPoint {
+ Fixed x;
+ Fixed y;
+};
+typedef struct gxPoint gxPoint;
+struct gxPath {
+ long vectors;
+ long controlBits[1];
+ gxPoint vector[1];
+};
+typedef struct gxPath gxPath;
+struct gxPaths {
+ long contours;
+ gxPath contour[1];
+};
+typedef struct gxPaths gxPaths;
+/* codec capabilities flags */
+enum {
+ codecCanScale = 1L << 0,
+ codecCanMask = 1L << 1,
+ codecCanMatte = 1L << 2,
+ codecCanTransform = 1L << 3,
+ codecCanTransferMode = 1L << 4,
+ codecCanCopyPrev = 1L << 5,
+ codecCanSpool = 1L << 6,
+ codecCanClipVertical = 1L << 7,
+ codecCanClipRectangular = 1L << 8,
+ codecCanRemapColor = 1L << 9,
+ codecCanFastDither = 1L << 10,
+ codecCanSrcExtract = 1L << 11,
+ codecCanCopyPrevComp = 1L << 12,
+ codecCanAsync = 1L << 13,
+ codecCanMakeMask = 1L << 14,
+ codecCanShift = 1L << 15,
+ codecCanAsyncWhen = 1L << 16,
+ codecCanShieldCursor = 1L << 17,
+ codecCanManagePrevBuffer = 1L << 18,
+ codecHasVolatileBuffer = 1L << 19, /* codec requires redraw after window movement */
+ codecWantsRegionMask = 1L << 20,
+ codecImageBufferIsOnScreen = 1L << 21, /* old def of codec using overlay surface, = ( codecIsDirectToScreenOnly | codecUsesOverlaySurface | codecImageBufferIsOverlaySurface | codecSrcMustBeImageBuffer ) */
+ codecWantsDestinationPixels = 1L << 22,
+ codecWantsSpecialScaling = 1L << 23,
+ codecHandlesInputs = 1L << 24,
+ codecCanDoIndirectSurface = 1L << 25, /* codec can handle indirect surface (GDI) */
+ codecIsSequenceSensitive = 1L << 26,
+ codecRequiresOffscreen = 1L << 27,
+ codecRequiresMaskBits = 1L << 28,
+ codecCanRemapResolution = 1L << 29,
+ codecIsDirectToScreenOnly = 1L << 30, /* codec can only decompress data to the screen */
+ codecCanLockSurface = 1L << 31 /* codec can lock destination surface, icm doesn't lock for you */
+};
+
+/* codec capabilities flags2 */
+enum {
+ codecUsesOverlaySurface = 1L << 0, /* codec uses overlay surface */
+ codecImageBufferIsOverlaySurface = 1L << 1, /* codec image buffer is overlay surface, the bits in the buffer are on the screen */
+ codecSrcMustBeImageBuffer = 1L << 2, /* codec can only source data from an image buffer */
+ codecImageBufferIsInAGPMemory = 1L << 4, /* codec image buffer is in AGP space, byte writes are OK */
+ codecImageBufferIsInPCIMemory = 1L << 5, /* codec image buffer is across a PCI bus; byte writes are bad */
+ codecImageBufferMemoryFlagsValid = 1L << 6, /* set by ImageCodecNewImageBufferMemory/NewImageGWorld to indicate that it set the AGP/PCI flags (supported in QuickTime 6.0 and later) */
+ codecDrawsHigherQualityScaled = 1L << 7, /* codec will draw higher-quality image if it performs scaling (eg, wipe effect with border) */
+ codecSupportsOutOfOrderDisplayTimes = 1L << 8, /* codec supports frames queued in one order for display in a different order, eg, IPB content */
+ codecSupportsScheduledBackwardsPlaybackWithDifferenceFrames = 1L << 9 /* codec can use additional buffers to minimise redecoding during backwards playback */
+};
+
+struct CodecCapabilities {
+ long flags;
+ short wantedPixelSize;
+ short extendWidth;
+ short extendHeight;
+ short bandMin;
+ short bandInc;
+ short pad;
+ unsigned long time;
+ long flags2; /* field new in QuickTime 4.0 */
+};
+typedef struct CodecCapabilities CodecCapabilities;
+/* codec condition flags */
+enum {
+ codecConditionFirstBand = 1L << 0,
+ codecConditionLastBand = 1L << 1,
+ codecConditionFirstFrame = 1L << 2,
+ codecConditionNewDepth = 1L << 3,
+ codecConditionNewTransform = 1L << 4,
+ codecConditionNewSrcRect = 1L << 5,
+ codecConditionNewMask = 1L << 6,
+ codecConditionNewMatte = 1L << 7,
+ codecConditionNewTransferMode = 1L << 8,
+ codecConditionNewClut = 1L << 9,
+ codecConditionNewAccuracy = 1L << 10,
+ codecConditionNewDestination = 1L << 11,
+ codecConditionFirstScreen = 1L << 12,
+ codecConditionDoCursor = 1L << 13,
+ codecConditionCatchUpDiff = 1L << 14,
+ codecConditionMaskMayBeChanged = 1L << 15,
+ codecConditionToBuffer = 1L << 16,
+ codecConditionCodecChangedMask = 1L << 31
+};
+
+
+enum {
+ codecInfoResourceType = FOUR_CHAR_CODE('cdci'), /* codec info resource type */
+ codecInterfaceVersion = 2 /* high word returned in component GetVersion */
+};
+
+struct CDSequenceDataSourceQueueEntry {
+ void * nextBusy;
+
+ long descSeed;
+ Handle dataDesc;
+ void * data;
+ long dataSize;
+
+ long useCount;
+
+ TimeValue frameTime;
+ TimeValue frameDuration;
+ TimeValue timeScale;
+};
+typedef struct CDSequenceDataSourceQueueEntry CDSequenceDataSourceQueueEntry;
+typedef CDSequenceDataSourceQueueEntry * CDSequenceDataSourceQueueEntryPtr;
+struct CDSequenceDataSource {
+ long recordSize;
+
+ void * next;
+
+ ImageSequence seqID;
+ ImageSequenceDataSource sourceID;
+ OSType sourceType;
+ long sourceInputNumber;
+ void * dataPtr;
+ Handle dataDescription;
+ long changeSeed;
+ ICMConvertDataFormatUPP transferProc;
+ void * transferRefcon;
+ long dataSize;
+
+ /* fields available in QT 3 and later */
+
+ QHdrPtr dataQueue; /* queue of CDSequenceDataSourceQueueEntry structures*/
+
+ void * originalDataPtr;
+ long originalDataSize;
+ Handle originalDataDescription;
+ long originalDataDescriptionSeed;
+};
+typedef struct CDSequenceDataSource CDSequenceDataSource;
+typedef CDSequenceDataSource * CDSequenceDataSourcePtr;
+struct ICMFrameTimeInfo {
+ wide startTime;
+ long scale;
+ long duration;
+};
+typedef struct ICMFrameTimeInfo ICMFrameTimeInfo;
+typedef ICMFrameTimeInfo * ICMFrameTimeInfoPtr;
+struct CodecCompressParams {
+ ImageSequence sequenceID; /* precompress,bandcompress */
+ ImageDescriptionHandle imageDescription; /* precompress,bandcompress */
+ Ptr data;
+ long bufferSize;
+ long frameNumber;
+ long startLine;
+ long stopLine;
+ long conditionFlags;
+ CodecFlags callerFlags;
+ CodecCapabilities * capabilities; /* precompress,bandcompress */
+ ICMProgressProcRecord progressProcRecord;
+ ICMCompletionProcRecord completionProcRecord;
+ ICMFlushProcRecord flushProcRecord;
+
+ PixMap srcPixMap; /* precompress,bandcompress */
+ PixMap prevPixMap;
+ CodecQ spatialQuality;
+ CodecQ temporalQuality;
+ Fixed similarity;
+ DataRateParamsPtr dataRateParams;
+ long reserved;
+
+ /* The following fields only exist for QuickTime 2.1 and greater */
+ UInt16 majorSourceChangeSeed;
+ UInt16 minorSourceChangeSeed;
+ CDSequenceDataSourcePtr sourceData;
+
+ /* The following fields only exist for QuickTime 2.5 and greater */
+ long preferredPacketSizeInBytes;
+
+ /* The following fields only exist for QuickTime 3.0 and greater */
+ long requestedBufferWidth; /* must set codecWantsSpecialScaling to indicate this field is valid*/
+ long requestedBufferHeight; /* must set codecWantsSpecialScaling to indicate this field is valid*/
+
+ /* The following fields only exist for QuickTime 4.0 and greater */
+ OSType wantedSourcePixelType;
+
+ /* The following fields only exist for QuickTime 5.0 and greater */
+ long compressedDataSize; /* if nonzero, this overrides (*imageDescription)->dataSize*/
+ UInt32 taskWeight; /* preferred weight for MP tasks implementing this operation*/
+ OSType taskName; /* preferred name (type) for MP tasks implementing this operation*/
+};
+typedef struct CodecCompressParams CodecCompressParams;
+struct CodecDecompressParams {
+ ImageSequence sequenceID; /* predecompress,banddecompress */
+ ImageDescriptionHandle imageDescription; /* predecompress,banddecompress */
+ Ptr data;
+ long bufferSize;
+ long frameNumber;
+ long startLine;
+ long stopLine;
+ long conditionFlags;
+ CodecFlags callerFlags;
+ CodecCapabilities * capabilities; /* predecompress,banddecompress */
+ ICMProgressProcRecord progressProcRecord;
+ ICMCompletionProcRecord completionProcRecord;
+ ICMDataProcRecord dataProcRecord;
+
+ CGrafPtr port; /* predecompress,banddecompress */
+ PixMap dstPixMap; /* predecompress,banddecompress */
+ BitMapPtr maskBits;
+ PixMapPtr mattePixMap;
+ Rect srcRect; /* predecompress,banddecompress */
+ MatrixRecord * matrix; /* predecompress,banddecompress */
+ CodecQ accuracy; /* predecompress,banddecompress */
+ short transferMode; /* predecompress,banddecompress */
+ ICMFrameTimePtr frameTime; /* banddecompress */
+ long reserved[1];
+
+ /* The following fields only exist for QuickTime 2.0 and greater */
+ SInt8 matrixFlags; /* high bit set if 2x resize */
+ SInt8 matrixType;
+ Rect dstRect; /* only valid for simple transforms */
+
+ /* The following fields only exist for QuickTime 2.1 and greater */
+ UInt16 majorSourceChangeSeed;
+ UInt16 minorSourceChangeSeed;
+ CDSequenceDataSourcePtr sourceData;
+
+ RgnHandle maskRegion;
+
+ /* The following fields only exist for QuickTime 2.5 and greater */
+ OSType ** wantedDestinationPixelTypes; /* Handle to 0-terminated list of OSTypes */
+
+ long screenFloodMethod;
+ long screenFloodValue;
+ short preferredOffscreenPixelSize;
+
+ /* The following fields only exist for QuickTime 3.0 and greater */
+ ICMFrameTimeInfoPtr syncFrameTime; /* banddecompress */
+ Boolean needUpdateOnTimeChange; /* banddecompress */
+ Boolean enableBlackLining;
+ Boolean needUpdateOnSourceChange; /* band decompress */
+ Boolean pad;
+
+ long unused;
+
+ CGrafPtr finalDestinationPort;
+
+ long requestedBufferWidth; /* must set codecWantsSpecialScaling to indicate this field is valid*/
+ long requestedBufferHeight; /* must set codecWantsSpecialScaling to indicate this field is valid*/
+
+ /* The following fields only exist for QuickTime 4.0 and greater */
+ Rect displayableAreaOfRequestedBuffer; /* set in predecompress*/
+ Boolean requestedSingleField;
+ Boolean needUpdateOnNextIdle;
+ Boolean pad2[2];
+ Fixed bufferGammaLevel;
+
+ /* The following fields only exist for QuickTime 5.0 and greater */
+ UInt32 taskWeight; /* preferred weight for MP tasks implementing this operation*/
+ OSType taskName; /* preferred name (type) for MP tasks implementing this operation*/
+
+ /* The following fields only exist for QuickTime 6.0 and greater */
+ Boolean pad3;
+ UInt8 destinationBufferMemoryPreference; /* a codec's PreDecompress/Preflight call can set this to express a preference about what kind of memory its destination buffer should go into. no guarantees.*/
+ UInt8 codecBufferMemoryPreference; /* may indicate preferred kind of memory that NewImageGWorld/NewImageBufferMemory should create its buffer in, if applicable.*/
+ Boolean onlyUseCodecIfItIsInUserPreferredCodecList; /* set to prevent this codec from being used unless it is in the userPreferredCodec list*/
+
+ QTMediaContextID mediaContextID;
+
+ /* The following fields only exist for QuickTime 6.5 and greater */
+ UInt8 deinterlaceRequest; /* set by the ICM before PreDecompress/Preflight */
+ UInt8 deinterlaceAnswer; /* codec should set this in PreDecompress/Preflight if it will satisfy the deinterlaceRequest */
+
+ /* The following fields only exist for QuickTime 7.0 and greater */
+ UInt8 pad4[2];
+ long reserved2;
+ UInt32 reserved3;
+ long reserved4;
+ void * reserved5;
+ void * reserved6;
+ void * reserved7;
+ void * reserved8;
+};
+typedef struct CodecDecompressParams CodecDecompressParams;
+enum {
+ matrixFlagScale2x = 1L << 7,
+ matrixFlagScale1x = 1L << 6,
+ matrixFlagScaleHalf = 1L << 5
+};
+
+enum {
+ kScreenFloodMethodNone = 0,
+ kScreenFloodMethodKeyColor = 1,
+ kScreenFloodMethodAlpha = 2
+};
+
+enum {
+ kFlushLastQueuedFrame = 0,
+ kFlushFirstQueuedFrame = 1
+};
+
+enum {
+ kNewImageGWorldErase = 1L << 0
+};
+
+/* values for destinationBufferMemoryPreference and codecBufferMemoryPreference */
+enum {
+ kICMImageBufferNoPreference = 0,
+ kICMImageBufferPreferMainMemory = 1,
+ kICMImageBufferPreferVideoMemory = 2
+};
+
+/* values for deinterlaceRequest and deinterlaceAnswer */
+enum {
+ kICMNoDeinterlacing = 0,
+ kICMDeinterlaceFields = 1
+};
+
+typedef CALLBACK_API( void , ImageCodecTimeTriggerProcPtr )(void * refcon);
+typedef CALLBACK_API( void , ImageCodecDrawBandCompleteProcPtr )(void *refcon, ComponentResult drawBandResult, UInt32 drawBandCompleteFlags);
+typedef STACK_UPP_TYPE(ImageCodecTimeTriggerProcPtr) ImageCodecTimeTriggerUPP;
+typedef STACK_UPP_TYPE(ImageCodecDrawBandCompleteProcPtr) ImageCodecDrawBandCompleteUPP;
+/*
+ * NewImageCodecTimeTriggerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ImageCodecTimeTriggerUPP )
+NewImageCodecTimeTriggerUPP(ImageCodecTimeTriggerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppImageCodecTimeTriggerProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ImageCodecTimeTriggerUPP) NewImageCodecTimeTriggerUPP(ImageCodecTimeTriggerProcPtr userRoutine)
- {
- return (ImageCodecTimeTriggerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecTimeTriggerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewImageCodecTimeTriggerUPP(userRoutine) (ImageCodecTimeTriggerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecTimeTriggerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppImageCodecTimeTriggerProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ImageCodecTimeTriggerUPP) NewImageCodecTimeTriggerUPP(ImageCodecTimeTriggerProcPtr userRoutine) { return (ImageCodecTimeTriggerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecTimeTriggerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewImageCodecTimeTriggerUPP(userRoutine) (ImageCodecTimeTriggerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecTimeTriggerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewImageCodecDrawBandCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ImageCodecDrawBandCompleteUPP)
- NewImageCodecDrawBandCompleteUPP(ImageCodecDrawBandCompleteProcPtr userRoutine);
+/*
+ * NewImageCodecDrawBandCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ImageCodecDrawBandCompleteUPP )
+NewImageCodecDrawBandCompleteUPP(ImageCodecDrawBandCompleteProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppImageCodecDrawBandCompleteProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ImageCodecDrawBandCompleteUPP) NewImageCodecDrawBandCompleteUPP(ImageCodecDrawBandCompleteProcPtr userRoutine)
- {
- return (ImageCodecDrawBandCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecDrawBandCompleteProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewImageCodecDrawBandCompleteUPP(userRoutine) (ImageCodecDrawBandCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecDrawBandCompleteProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppImageCodecDrawBandCompleteProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ImageCodecDrawBandCompleteUPP) NewImageCodecDrawBandCompleteUPP(ImageCodecDrawBandCompleteProcPtr userRoutine) { return (ImageCodecDrawBandCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecDrawBandCompleteProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewImageCodecDrawBandCompleteUPP(userRoutine) (ImageCodecDrawBandCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecDrawBandCompleteProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeImageCodecTimeTriggerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeImageCodecTimeTriggerUPP(ImageCodecTimeTriggerUPP userUPP);
+/*
+ * DisposeImageCodecTimeTriggerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeImageCodecTimeTriggerUPP(ImageCodecTimeTriggerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeImageCodecTimeTriggerUPP(ImageCodecTimeTriggerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeImageCodecTimeTriggerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeImageCodecTimeTriggerUPP(ImageCodecTimeTriggerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeImageCodecTimeTriggerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeImageCodecDrawBandCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeImageCodecDrawBandCompleteUPP(ImageCodecDrawBandCompleteUPP userUPP);
+/*
+ * DisposeImageCodecDrawBandCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeImageCodecDrawBandCompleteUPP(ImageCodecDrawBandCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeImageCodecDrawBandCompleteUPP(ImageCodecDrawBandCompleteUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeImageCodecDrawBandCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeImageCodecDrawBandCompleteUPP(ImageCodecDrawBandCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeImageCodecDrawBandCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeImageCodecTimeTriggerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeImageCodecTimeTriggerUPP(
- void * refcon,
- ImageCodecTimeTriggerUPP userUPP);
+/*
+ * InvokeImageCodecTimeTriggerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeImageCodecTimeTriggerUPP(
+ void * refcon,
+ ImageCodecTimeTriggerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeImageCodecTimeTriggerUPP(void * refcon, ImageCodecTimeTriggerUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppImageCodecTimeTriggerProcInfo, refcon);
- }
-#else
-#define InvokeImageCodecTimeTriggerUPP(refcon, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppImageCodecTimeTriggerProcInfo, (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeImageCodecTimeTriggerUPP(void * refcon, ImageCodecTimeTriggerUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppImageCodecTimeTriggerProcInfo, refcon); }
+ #else
+ #define InvokeImageCodecTimeTriggerUPP(refcon, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppImageCodecTimeTriggerProcInfo, (refcon))
+ #endif
#endif
- /*
- * InvokeImageCodecDrawBandCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeImageCodecDrawBandCompleteUPP(
- void * refcon,
- ComponentResult drawBandResult,
- UInt32 drawBandCompleteFlags,
- ImageCodecDrawBandCompleteUPP userUPP);
+/*
+ * InvokeImageCodecDrawBandCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeImageCodecDrawBandCompleteUPP(
+ void * refcon,
+ ComponentResult drawBandResult,
+ UInt32 drawBandCompleteFlags,
+ ImageCodecDrawBandCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeImageCodecDrawBandCompleteUPP(void * refcon, ComponentResult drawBandResult, UInt32 drawBandCompleteFlags, ImageCodecDrawBandCompleteUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppImageCodecDrawBandCompleteProcInfo, refcon, drawBandResult, drawBandCompleteFlags);
- }
-#else
-#define InvokeImageCodecDrawBandCompleteUPP(refcon, drawBandResult, drawBandCompleteFlags, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppImageCodecDrawBandCompleteProcInfo, (refcon), (drawBandResult), (drawBandCompleteFlags))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeImageCodecDrawBandCompleteUPP(void * refcon, ComponentResult drawBandResult, UInt32 drawBandCompleteFlags, ImageCodecDrawBandCompleteUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppImageCodecDrawBandCompleteProcInfo, refcon, drawBandResult, drawBandCompleteFlags); }
+ #else
+ #define InvokeImageCodecDrawBandCompleteUPP(refcon, drawBandResult, drawBandCompleteFlags, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppImageCodecDrawBandCompleteProcInfo, (refcon), (drawBandResult), (drawBandCompleteFlags))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewImageCodecTimeTriggerProc(userRoutine) NewImageCodecTimeTriggerUPP(userRoutine)
-#define NewImageCodecDrawBandCompleteProc(userRoutine) NewImageCodecDrawBandCompleteUPP(userRoutine)
-#define CallImageCodecTimeTriggerProc(userRoutine, refcon) InvokeImageCodecTimeTriggerUPP(refcon, userRoutine)
-#define CallImageCodecDrawBandCompleteProc(userRoutine, refcon, drawBandResult, drawBandCompleteFlags) InvokeImageCodecDrawBandCompleteUPP(refcon, drawBandResult, drawBandCompleteFlags, userRoutine)
+ #define NewImageCodecTimeTriggerProc(userRoutine) NewImageCodecTimeTriggerUPP(userRoutine)
+ #define NewImageCodecDrawBandCompleteProc(userRoutine) NewImageCodecDrawBandCompleteUPP(userRoutine)
+ #define CallImageCodecTimeTriggerProc(userRoutine, refcon) InvokeImageCodecTimeTriggerUPP(refcon, userRoutine)
+ #define CallImageCodecDrawBandCompleteProc(userRoutine, refcon, drawBandResult, drawBandCompleteFlags) InvokeImageCodecDrawBandCompleteUPP(refcon, drawBandResult, drawBandCompleteFlags, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- struct ImageSubCodecDecompressCapabilities
- {
- long recordSize; /* sizeof(ImageSubCodecDecompressCapabilities)*/
- long decompressRecordSize; /* size of your codec's decompress record*/
- Boolean canAsync; /* default true*/
- UInt8 pad0;
- /* The following field only exists for QuickTime 4.1 and greater */
- UInt16 suggestedQueueSize;
- /* The following field only exists for QuickTime 4.0 and greater */
- Boolean canProvideTrigger;
-
- /* The following fields only exist for QuickTime 5.0 and greater */
- Boolean subCodecFlushesScreen; /* only used on Mac OS X*/
- Boolean subCodecCallsDrawBandComplete;
- UInt8 pad2[1];
-
- /* The following fields only exist for QuickTime 5.0.1 and greater */
- Boolean isChildCodec; /* set by base codec before calling Initialize*/
- UInt8 reserved1;
- UInt8 pad4[1];
-
- /* The following fields only exist for QuickTime 7.0 and greater */
- Boolean subCodecIsMultiBufferAware; /* set if subcodec always draws using ImageSubCodecDecompressRecord.baseAddr/rowBytes passed to ImageCodecDrawBand, and always writes every pixel in the buffer*/
- Boolean subCodecSupportsOutOfOrderDisplayTimes;
- Boolean subCodecSupportsScheduledBackwardsPlaybackWithDifferenceFrames;
- Boolean subCodecNeedsHelpReportingNonDisplayableFrames;
- Boolean baseCodecShouldCallDecodeBandForAllFrames;
-
- UInt8 pad5[2];
- Boolean subCodecSupportsDrawInDecodeOrder; /* indicates that it's okay for the subcodec to get a single DrawBand call for each frame in decode order even when frames need reordering. (This will only happen when other circumstances allow it.)*/
- Boolean subCodecSupportsDecodeSmoothing; /* Frame-reordering subcodecs should set this to indicate that they can safely decode a non-droppable frame before drawing the previous non-droppable frame. This enables smoother playback in GWorlds.*/
- UInt8 pad6[4];
- };
- typedef struct ImageSubCodecDecompressCapabilities ImageSubCodecDecompressCapabilities;
- enum
- {
- kCodecFrameTypeUnknown = 0,
- kCodecFrameTypeKey = 1,
- kCodecFrameTypeDifference = 2,
- kCodecFrameTypeDroppableDifference = 3
- };
-
- struct ImageSubCodecDecompressRecord
- {
- Ptr baseAddr;
- long rowBytes;
- Ptr codecData;
- ICMProgressProcRecord progressProcRecord;
- ICMDataProcRecord dataProcRecord;
- void * userDecompressRecord; /* pointer to codec-specific per-band data*/
- UInt8 frameType;
- Boolean inhibitMP; /* set this in BeginBand to tell the base decompressor not to call DrawBand from an MP task for this frame. (Only has any effect for MP-capable subcodecs. New in QuickTime 5.0.)*/
- UInt8 pad[2];
- long priv[2];
-
- /* The following fields only exist for QuickTime 5.0 and greater */
- ImageCodecDrawBandCompleteUPP drawBandCompleteUPP; /* only used if subcodec set subCodecCallsDrawBandComplete; if drawBandCompleteUPP is non-nil, codec must call it when a frame is finished, but may return from DrawBand before the frame is finished. */
- void * drawBandCompleteRefCon; /* Note: do not call drawBandCompleteUPP directly from a hardware interrupt; instead, use DTInstall to run a function at deferred task time, and call drawBandCompleteUPP from that. */
-
- /* The following fields only exist for QuickTime 7.0 and greater */
- void * reserved1;
- long reserved2;
- long reserved3;
- };
- typedef struct ImageSubCodecDecompressRecord ImageSubCodecDecompressRecord;
- /*
- These data structures are used by code that wants to pass planar pixmap
- information around.
- The structure below gives the basic idea of what is being done.
- Normal instances of code will use a fixed number of planes (eg YUV420 uses
- three planes, Y, U and V). Each such code instance will define its own
- version of the PlanarPixMapInfo struct counting the number of planes it
- needs along with defining constants that specify the meanings of each
- plane.
- */
- struct PlanarComponentInfo
- {
- SInt32 offset;
- UInt32 rowBytes;
- };
- typedef struct PlanarComponentInfo PlanarComponentInfo;
- struct PlanarPixMapInfo
- {
- PlanarComponentInfo componentInfo[1];
- };
- typedef struct PlanarPixMapInfo PlanarPixMapInfo;
- struct PlanarPixmapInfoSorensonYUV9
- {
- PlanarComponentInfo componentInfoY;
- PlanarComponentInfo componentInfoU;
- PlanarComponentInfo componentInfoV;
- };
- typedef struct PlanarPixmapInfoSorensonYUV9 PlanarPixmapInfoSorensonYUV9;
- struct PlanarPixmapInfoYUV420
- {
- PlanarComponentInfo componentInfoY;
- PlanarComponentInfo componentInfoCb;
- PlanarComponentInfo componentInfoCr;
- };
- typedef struct PlanarPixmapInfoYUV420 PlanarPixmapInfoYUV420;
- enum
- {
- codecSuggestedBufferSentinel = FOUR_CHAR_CODE('sent') /* codec public resource containing suggested data pattern to put past end of data buffer */
- };
-
-
- /* name of parameters or effect -- placed in root container, required */
- enum
- {
- kParameterTitleName = FOUR_CHAR_CODE('name'),
- kParameterTitleID = 1
- };
-
- /* codec sub-type of parameters or effect -- placed in root container, required */
- enum
- {
- kParameterWhatName = FOUR_CHAR_CODE('what'),
- kParameterWhatID = 1
- };
-
- /* effect version -- placed in root container, optional, but recommended */
- enum
- {
- kParameterVersionName = FOUR_CHAR_CODE('vers'),
- kParameterVersionID = 1
- };
-
- /* is effect repeatable -- placed in root container, optional, default is TRUE*/
- enum
- {
- kParameterRepeatableName = FOUR_CHAR_CODE('pete'),
- kParameterRepeatableID = 1
- };
-
- enum
- {
- kParameterRepeatableTrue = 1,
- kParameterRepeatableFalse = 0
- };
-
- /* substitution codec in case effect is missing -- placed in root container, recommended */
- enum
- {
- kParameterAlternateCodecName = FOUR_CHAR_CODE('subs'),
- kParameterAlternateCodecID = 1
- };
-
- /* maximum number of sources -- placed in root container, required */
- enum
- {
- kParameterSourceCountName = FOUR_CHAR_CODE('srcs'),
- kParameterSourceCountID = 1
- };
-
- /* EFFECT CLASSES*/
-
- /*
- The effect major class defines the major grouping of the effect.
- Major classes are defined only by Apple and are not extendable by third
- parties. Major classes are used for filtering of the effect list by
- applications, but do not define what UI sub-group may or may not be
- presented to the user. For example, the major class may be a transition,
- but the minor class may be a wipe.
- */
-
- /*
- Effects that fail to include a
- kEffectMajorClassType will be classified as kMiscMajorClass.
- */
- enum
- {
- kEffectMajorClassType = FOUR_CHAR_CODE('clsa'),
- kEffectMajorClassID = 1
- };
-
- enum
- {
- kGeneratorMajorClass = FOUR_CHAR_CODE('genr'), /* zero source effects*/
- kFilterMajorClass = FOUR_CHAR_CODE('filt'), /* one source effects*/
- kTransitionMajorClass = FOUR_CHAR_CODE('tran'), /* multisource morph effects */
- kCompositorMajorClass = FOUR_CHAR_CODE('comp'), /* multisource layer effects*/
- kMiscMajorClass = FOUR_CHAR_CODE('misc') /* all other effects*/
- };
-
- /*
- The effect minor class defines the grouping of effects for the purposes
- of UI. Apple defines a set of minor classes and will extend it over
- time. Apple also provides strings within the UI for minor classes
- that it defines. Third party developers may either classify
- their effects as a type defined by Apple, or may define their own
- minor class. Effects which define a minor class of their own
- must also then supply a kEffectMinorClassNameType atom.
- */
-
- /*
- If a kEffectMinorClassNameType atom is present, but
- the minor type is one defined by Apple, the Apple supplied
- string will be used in the UI.
- */
-
- /*
- Effects that fail to supply a kEffectMinorClassType will be
- classified as kMiscMinorClass.
- */
- enum
- {
- kEffectMinorClassType = FOUR_CHAR_CODE('clsi'),
- kEffectMinorClassID = 1,
- kEffectMinorClassNameType = FOUR_CHAR_CODE('clsn'),
- kEffectMinorClassNameID = 1
- };
-
- enum
- {
- kGeneratorMinorClass = FOUR_CHAR_CODE('genr'), /* "Generators"*/
- kRenderMinorClass = FOUR_CHAR_CODE('rend'), /* "Render"*/
- kFilterMinorClass = FOUR_CHAR_CODE('filt'), /* "Filters"*/
- kArtisticMinorClass = FOUR_CHAR_CODE('arts'), /* "Artistic*/
- kBlurMinorClass = FOUR_CHAR_CODE('blur'), /* "Blur"*/
- kSharpenMinorClass = FOUR_CHAR_CODE('shrp'), /* "Sharpen"*/
- kDistortMinorClass = FOUR_CHAR_CODE('dist'), /* "Distort"*/
- kNoiseMinorClass = FOUR_CHAR_CODE('nois'), /* "Noise"*/
- kAdjustmentMinorClass = FOUR_CHAR_CODE('adst'), /* "Adjustments"*/
- kTransitionMinorClass = FOUR_CHAR_CODE('tran'), /* "Transitions"*/
- kWipeMinorClass = FOUR_CHAR_CODE('wipe'), /* "Wipes"*/
- k3DMinorClass = FOUR_CHAR_CODE('pzre'), /* "3D Transitions"*/
- kCompositorMinorClass = FOUR_CHAR_CODE('comp'), /* "Compositors"*/
- kEffectsMinorClass = FOUR_CHAR_CODE('fxfx'), /* "Special Effects"*/
- kMiscMinorClass = FOUR_CHAR_CODE('misc') /* "Miscellaneous"*/
- };
-
- /*
- Effects can define a number of "preset" values which will be presented to the user
- in a simplified UI. Each preset is an atom within the parameter description list
- and must have an atom ID from 1 going up sequentially. Inside of this atom are three other
- atoms containing:
- 1) the name of the preset as a Pascal string
- 2) a preview picture for the preset, 86 x 64 pixels in size
- 3) the ENTIRE set of parameter values needed to create a sample of this preset.
- */
- enum
- {
- kEffectPresetType = FOUR_CHAR_CODE('peff'),
- kPresetNameType = FOUR_CHAR_CODE('pnam'),
- kPresetNameID = 1,
- kPresetPreviewPictureType = FOUR_CHAR_CODE('ppct'),
- kPresetPreviewPictureID = 1,
- kPresetSettingsType = FOUR_CHAR_CODE('psst'),
- kPresetSettingsID = 1
- };
-
- enum
- {
- kParameterDependencyName = FOUR_CHAR_CODE('deep'),
- kParameterDependencyID = 1
- };
-
- enum
- {
- kParameterListDependsUponColorProfiles = FOUR_CHAR_CODE('prof'),
- kParameterListDependsUponFonts = FOUR_CHAR_CODE('font')
- };
-
- struct ParameterDependancyRecord
- {
- long dependCount;
- OSType depends[1];
- };
- typedef struct ParameterDependancyRecord ParameterDependancyRecord;
- /*
- enumeration list in container -- placed in root container, optional unless used by a
- parameter in the list
- */
- enum
- {
- kParameterEnumList = FOUR_CHAR_CODE('enum')
- };
-
- struct EnumValuePair
- {
- long value;
- Str255 name;
- };
- typedef struct EnumValuePair EnumValuePair;
- struct EnumListRecord
- {
- long enumCount; /* number of enumeration items to follow*/
- EnumValuePair values[1]; /* values and names for them, packed */
- };
- typedef struct EnumListRecord EnumListRecord;
- /* atom type of parameter*/
- enum
- {
- kParameterAtomTypeAndID = FOUR_CHAR_CODE('type')
- };
-
- enum
- {
- kNoAtom = FOUR_CHAR_CODE('none'), /* atom type for no data got/set*/
- kAtomNoFlags = 0x00000000,
- kAtomNotInterpolated = 0x00000001, /* atom can never be interpolated*/
- kAtomInterpolateIsOptional = 0x00000002, /* atom can be interpolated, but it is an advanced user operation*/
- kAtomMayBeIndexed = 0x00000004 /* more than one value of atom can exist with accending IDs (ie, lists of colors)*/
- };
-
- struct ParameterAtomTypeAndID
- {
- QTAtomType atomType; /* type of atom this data comes from/goes into*/
- QTAtomID atomID; /* ID of atom this data comes from/goes into*/
- long atomFlags; /* options for this atom*/
- Str255 atomName; /* name of this value type*/
- };
- typedef struct ParameterAtomTypeAndID ParameterAtomTypeAndID;
- /* optional specification of mapping between parameters and properties*/
- enum
- {
- kParameterProperty = FOUR_CHAR_CODE('prop')
- };
-
- struct ParameterProperty
- {
- OSType propertyClass; /* class to set for this property (0 for default which is specified by caller)*/
- OSType propertyID; /* id to set for this property (default is the atomType)*/
- };
- typedef struct ParameterProperty ParameterProperty;
- /* data type of a parameter*/
- enum
- {
- kParameterDataType = FOUR_CHAR_CODE('data')
- };
-
- enum
- {
- kParameterTypeDataLong = kTweenTypeLong, /* integer value*/
- kParameterTypeDataFixed = kTweenTypeFixed, /* fixed point value*/
- kParameterTypeDataRGBValue = kTweenTypeRGBColor, /* RGBColor data*/
- kParameterTypeDataDouble = kTweenTypeQTFloatDouble, /* IEEE 64 bit floating point value*/
- kParameterTypeDataText = FOUR_CHAR_CODE('text'), /* editable text item*/
- kParameterTypeDataEnum = FOUR_CHAR_CODE('enum'), /* enumerated lookup value*/
- kParameterTypeDataBitField = FOUR_CHAR_CODE('bool'), /* bit field value (something that holds boolean(s))*/
- kParameterTypeDataImage = FOUR_CHAR_CODE('imag') /* reference to an image via Picture data*/
- };
-
- struct ParameterDataType
- {
- OSType dataType; /* type of data this item is stored as*/
- };
- typedef struct ParameterDataType ParameterDataType;
- /*
- alternate (optional) data type -- main data type always required.
- Must be modified or deleted when modifying main data type.
- Main data type must be modified when alternate is modified.
- */
- enum
- {
- kParameterAlternateDataType = FOUR_CHAR_CODE('alt1'),
- kParameterTypeDataColorValue = FOUR_CHAR_CODE('cmlr'), /* CMColor data (supported on machines with ColorSync)*/
- kParameterTypeDataCubic = FOUR_CHAR_CODE('cubi'), /* cubic bezier(s) (no built-in support)*/
- kParameterTypeDataNURB = FOUR_CHAR_CODE('nurb') /* nurb(s) (no built-in support)*/
- };
-
- struct ParameterAlternateDataEntry
- {
- OSType dataType; /* type of data this item is stored as*/
- QTAtomType alternateAtom; /* where to store*/
- };
- typedef struct ParameterAlternateDataEntry ParameterAlternateDataEntry;
- struct ParameterAlternateDataType
- {
- long numEntries;
- ParameterAlternateDataEntry entries[1];
- };
- typedef struct ParameterAlternateDataType ParameterAlternateDataType;
- /* legal values for the parameter*/
- enum
- {
- kParameterDataRange = FOUR_CHAR_CODE('rang')
- };
-
- enum
- {
- kNoMinimumLongFixed = 0x7FFFFFFF, /* ignore minimum/maxiumum values*/
- kNoMaximumLongFixed = (long)0x80000000,
- kNoScaleLongFixed = 0, /* don't perform any scaling of value*/
- kNoPrecision = (-1) /* allow as many digits as format*/
- };
-
- /* 'text'*/
- struct StringRangeRecord
- {
- long maxChars; /* maximum length of string*/
- long maxLines; /* number of editing lines to use (1 typical, 0 to default)*/
- };
- typedef struct StringRangeRecord StringRangeRecord;
- /* 'long'*/
- struct LongRangeRecord
- {
- long minValue; /* no less than this*/
- long maxValue; /* no more than this*/
- long scaleValue; /* muliply content by this going in, divide going out*/
- long precisionDigits; /* # digits of precision when editing via typing*/
- };
- typedef struct LongRangeRecord LongRangeRecord;
- /* 'enum'*/
- struct EnumRangeRecord
- {
- long enumID; /* 'enum' list in root container to search within*/
- };
- typedef struct EnumRangeRecord EnumRangeRecord;
- /* 'fixd'*/
- struct FixedRangeRecord
- {
- Fixed minValue; /* no less than this*/
- Fixed maxValue; /* no more than this*/
- Fixed scaleValue; /* muliply content by this going in, divide going out*/
- long precisionDigits; /* # digits of precision when editing via typing*/
- };
- typedef struct FixedRangeRecord FixedRangeRecord;
- /* 'doub'*/
-
-#define kNoMinimumDouble (NAN) /* ignore minimum/maxiumum values */
-#define kNoMaximumDouble (NAN)
-#define kNoScaleDouble (0) /* don't perform any scaling of value */
- struct DoubleRangeRecord
- {
- QTFloatDouble minValue; /* no less than this */
+struct ImageSubCodecDecompressCapabilities {
+ long recordSize; /* sizeof(ImageSubCodecDecompressCapabilities)*/
+ long decompressRecordSize; /* size of your codec's decompress record*/
+ Boolean canAsync; /* default true*/
+ UInt8 pad0;
+ /* The following field only exists for QuickTime 4.1 and greater */
+ UInt16 suggestedQueueSize;
+ /* The following field only exists for QuickTime 4.0 and greater */
+ Boolean canProvideTrigger;
+
+ /* The following fields only exist for QuickTime 5.0 and greater */
+ Boolean subCodecFlushesScreen; /* only used on Mac OS X*/
+ Boolean subCodecCallsDrawBandComplete;
+ UInt8 pad2[1];
+
+ /* The following fields only exist for QuickTime 5.0.1 and greater */
+ Boolean isChildCodec; /* set by base codec before calling Initialize*/
+ UInt8 reserved1;
+ UInt8 pad4[1];
+
+ /* The following fields only exist for QuickTime 7.0 and greater */
+ Boolean subCodecIsMultiBufferAware; /* set if subcodec always draws using ImageSubCodecDecompressRecord.baseAddr/rowBytes passed to ImageCodecDrawBand, and always writes every pixel in the buffer*/
+ Boolean subCodecSupportsOutOfOrderDisplayTimes;
+ Boolean subCodecSupportsScheduledBackwardsPlaybackWithDifferenceFrames;
+ Boolean subCodecNeedsHelpReportingNonDisplayableFrames;
+ Boolean baseCodecShouldCallDecodeBandForAllFrames;
+
+ UInt8 pad5[2];
+ Boolean subCodecSupportsDrawInDecodeOrder; /* indicates that it's okay for the subcodec to get a single DrawBand call for each frame in decode order even when frames need reordering. (This will only happen when other circumstances allow it.)*/
+ Boolean subCodecSupportsDecodeSmoothing; /* Frame-reordering subcodecs should set this to indicate that they can safely decode a non-droppable frame before drawing the previous non-droppable frame. This enables smoother playback in GWorlds.*/
+ UInt8 pad6[4];
+};
+typedef struct ImageSubCodecDecompressCapabilities ImageSubCodecDecompressCapabilities;
+enum {
+ kCodecFrameTypeUnknown = 0,
+ kCodecFrameTypeKey = 1,
+ kCodecFrameTypeDifference = 2,
+ kCodecFrameTypeDroppableDifference = 3
+};
+
+struct ImageSubCodecDecompressRecord {
+ Ptr baseAddr;
+ long rowBytes;
+ Ptr codecData;
+ ICMProgressProcRecord progressProcRecord;
+ ICMDataProcRecord dataProcRecord;
+ void * userDecompressRecord; /* pointer to codec-specific per-band data*/
+ UInt8 frameType;
+ Boolean inhibitMP; /* set this in BeginBand to tell the base decompressor not to call DrawBand from an MP task for this frame. (Only has any effect for MP-capable subcodecs. New in QuickTime 5.0.)*/
+ UInt8 pad[2];
+ long priv[2];
+
+ /* The following fields only exist for QuickTime 5.0 and greater */
+ ImageCodecDrawBandCompleteUPP drawBandCompleteUPP; /* only used if subcodec set subCodecCallsDrawBandComplete; if drawBandCompleteUPP is non-nil, codec must call it when a frame is finished, but may return from DrawBand before the frame is finished. */
+ void * drawBandCompleteRefCon; /* Note: do not call drawBandCompleteUPP directly from a hardware interrupt; instead, use DTInstall to run a function at deferred task time, and call drawBandCompleteUPP from that. */
+
+ /* The following fields only exist for QuickTime 7.0 and greater */
+ void * reserved1;
+ long reserved2;
+ long reserved3;
+};
+typedef struct ImageSubCodecDecompressRecord ImageSubCodecDecompressRecord;
+/*
+ These data structures are used by code that wants to pass planar pixmap
+ information around.
+ The structure below gives the basic idea of what is being done.
+ Normal instances of code will use a fixed number of planes (eg YUV420 uses
+ three planes, Y, U and V). Each such code instance will define its own
+ version of the PlanarPixMapInfo struct counting the number of planes it
+ needs along with defining constants that specify the meanings of each
+ plane.
+*/
+struct PlanarComponentInfo {
+ SInt32 offset;
+ UInt32 rowBytes;
+};
+typedef struct PlanarComponentInfo PlanarComponentInfo;
+struct PlanarPixMapInfo {
+ PlanarComponentInfo componentInfo[1];
+};
+typedef struct PlanarPixMapInfo PlanarPixMapInfo;
+struct PlanarPixmapInfoSorensonYUV9 {
+ PlanarComponentInfo componentInfoY;
+ PlanarComponentInfo componentInfoU;
+ PlanarComponentInfo componentInfoV;
+};
+typedef struct PlanarPixmapInfoSorensonYUV9 PlanarPixmapInfoSorensonYUV9;
+struct PlanarPixmapInfoYUV420 {
+ PlanarComponentInfo componentInfoY;
+ PlanarComponentInfo componentInfoCb;
+ PlanarComponentInfo componentInfoCr;
+};
+typedef struct PlanarPixmapInfoYUV420 PlanarPixmapInfoYUV420;
+enum {
+ codecSuggestedBufferSentinel = FOUR_CHAR_CODE('sent') /* codec public resource containing suggested data pattern to put past end of data buffer */
+};
+
+
+/* name of parameters or effect -- placed in root container, required */
+enum {
+ kParameterTitleName = FOUR_CHAR_CODE('name'),
+ kParameterTitleID = 1
+};
+
+/* codec sub-type of parameters or effect -- placed in root container, required */
+enum {
+ kParameterWhatName = FOUR_CHAR_CODE('what'),
+ kParameterWhatID = 1
+};
+
+/* effect version -- placed in root container, optional, but recommended */
+enum {
+ kParameterVersionName = FOUR_CHAR_CODE('vers'),
+ kParameterVersionID = 1
+};
+
+/* is effect repeatable -- placed in root container, optional, default is TRUE*/
+enum {
+ kParameterRepeatableName = FOUR_CHAR_CODE('pete'),
+ kParameterRepeatableID = 1
+};
+
+enum {
+ kParameterRepeatableTrue = 1,
+ kParameterRepeatableFalse = 0
+};
+
+/* substitution codec in case effect is missing -- placed in root container, recommended */
+enum {
+ kParameterAlternateCodecName = FOUR_CHAR_CODE('subs'),
+ kParameterAlternateCodecID = 1
+};
+
+/* maximum number of sources -- placed in root container, required */
+enum {
+ kParameterSourceCountName = FOUR_CHAR_CODE('srcs'),
+ kParameterSourceCountID = 1
+};
+
+/* EFFECT CLASSES*/
+
+/*
+ The effect major class defines the major grouping of the effect.
+ Major classes are defined only by Apple and are not extendable by third
+ parties. Major classes are used for filtering of the effect list by
+ applications, but do not define what UI sub-group may or may not be
+ presented to the user. For example, the major class may be a transition,
+ but the minor class may be a wipe.
+*/
+
+/*
+ Effects that fail to include a
+ kEffectMajorClassType will be classified as kMiscMajorClass.
+*/
+enum {
+ kEffectMajorClassType = FOUR_CHAR_CODE('clsa'),
+ kEffectMajorClassID = 1
+};
+
+enum {
+ kGeneratorMajorClass = FOUR_CHAR_CODE('genr'), /* zero source effects*/
+ kFilterMajorClass = FOUR_CHAR_CODE('filt'), /* one source effects*/
+ kTransitionMajorClass = FOUR_CHAR_CODE('tran'), /* multisource morph effects */
+ kCompositorMajorClass = FOUR_CHAR_CODE('comp'), /* multisource layer effects*/
+ kMiscMajorClass = FOUR_CHAR_CODE('misc') /* all other effects*/
+};
+
+/*
+ The effect minor class defines the grouping of effects for the purposes
+ of UI. Apple defines a set of minor classes and will extend it over
+ time. Apple also provides strings within the UI for minor classes
+ that it defines. Third party developers may either classify
+ their effects as a type defined by Apple, or may define their own
+ minor class. Effects which define a minor class of their own
+ must also then supply a kEffectMinorClassNameType atom.
+*/
+
+/*
+ If a kEffectMinorClassNameType atom is present, but
+ the minor type is one defined by Apple, the Apple supplied
+ string will be used in the UI.
+*/
+
+/*
+ Effects that fail to supply a kEffectMinorClassType will be
+ classified as kMiscMinorClass.
+*/
+enum {
+ kEffectMinorClassType = FOUR_CHAR_CODE('clsi'),
+ kEffectMinorClassID = 1,
+ kEffectMinorClassNameType = FOUR_CHAR_CODE('clsn'),
+ kEffectMinorClassNameID = 1
+};
+
+enum {
+ kGeneratorMinorClass = FOUR_CHAR_CODE('genr'), /* "Generators"*/
+ kRenderMinorClass = FOUR_CHAR_CODE('rend'), /* "Render"*/
+ kFilterMinorClass = FOUR_CHAR_CODE('filt'), /* "Filters"*/
+ kArtisticMinorClass = FOUR_CHAR_CODE('arts'), /* "Artistic*/
+ kBlurMinorClass = FOUR_CHAR_CODE('blur'), /* "Blur"*/
+ kSharpenMinorClass = FOUR_CHAR_CODE('shrp'), /* "Sharpen"*/
+ kDistortMinorClass = FOUR_CHAR_CODE('dist'), /* "Distort"*/
+ kNoiseMinorClass = FOUR_CHAR_CODE('nois'), /* "Noise"*/
+ kAdjustmentMinorClass = FOUR_CHAR_CODE('adst'), /* "Adjustments"*/
+ kTransitionMinorClass = FOUR_CHAR_CODE('tran'), /* "Transitions"*/
+ kWipeMinorClass = FOUR_CHAR_CODE('wipe'), /* "Wipes"*/
+ k3DMinorClass = FOUR_CHAR_CODE('pzre'), /* "3D Transitions"*/
+ kCompositorMinorClass = FOUR_CHAR_CODE('comp'), /* "Compositors"*/
+ kEffectsMinorClass = FOUR_CHAR_CODE('fxfx'), /* "Special Effects"*/
+ kMiscMinorClass = FOUR_CHAR_CODE('misc') /* "Miscellaneous"*/
+};
+
+/*
+ Effects can define a number of "preset" values which will be presented to the user
+ in a simplified UI. Each preset is an atom within the parameter description list
+ and must have an atom ID from 1 going up sequentially. Inside of this atom are three other
+ atoms containing:
+ 1) the name of the preset as a Pascal string
+ 2) a preview picture for the preset, 86 x 64 pixels in size
+ 3) the ENTIRE set of parameter values needed to create a sample of this preset.
+*/
+enum {
+ kEffectPresetType = FOUR_CHAR_CODE('peff'),
+ kPresetNameType = FOUR_CHAR_CODE('pnam'),
+ kPresetNameID = 1,
+ kPresetPreviewPictureType = FOUR_CHAR_CODE('ppct'),
+ kPresetPreviewPictureID = 1,
+ kPresetSettingsType = FOUR_CHAR_CODE('psst'),
+ kPresetSettingsID = 1
+};
+
+enum {
+ kParameterDependencyName = FOUR_CHAR_CODE('deep'),
+ kParameterDependencyID = 1
+};
+
+enum {
+ kParameterListDependsUponColorProfiles = FOUR_CHAR_CODE('prof'),
+ kParameterListDependsUponFonts = FOUR_CHAR_CODE('font')
+};
+
+struct ParameterDependancyRecord {
+ long dependCount;
+ OSType depends[1];
+};
+typedef struct ParameterDependancyRecord ParameterDependancyRecord;
+/*
+ enumeration list in container -- placed in root container, optional unless used by a
+ parameter in the list
+*/
+enum {
+ kParameterEnumList = FOUR_CHAR_CODE('enum')
+};
+
+struct EnumValuePair {
+ long value;
+ Str255 name;
+};
+typedef struct EnumValuePair EnumValuePair;
+struct EnumListRecord {
+ long enumCount; /* number of enumeration items to follow*/
+ EnumValuePair values[1]; /* values and names for them, packed */
+};
+typedef struct EnumListRecord EnumListRecord;
+/* atom type of parameter*/
+enum {
+ kParameterAtomTypeAndID = FOUR_CHAR_CODE('type')
+};
+
+enum {
+ kNoAtom = FOUR_CHAR_CODE('none'), /* atom type for no data got/set*/
+ kAtomNoFlags = 0x00000000,
+ kAtomNotInterpolated = 0x00000001, /* atom can never be interpolated*/
+ kAtomInterpolateIsOptional = 0x00000002, /* atom can be interpolated, but it is an advanced user operation*/
+ kAtomMayBeIndexed = 0x00000004 /* more than one value of atom can exist with accending IDs (ie, lists of colors)*/
+};
+
+struct ParameterAtomTypeAndID {
+ QTAtomType atomType; /* type of atom this data comes from/goes into*/
+ QTAtomID atomID; /* ID of atom this data comes from/goes into*/
+ long atomFlags; /* options for this atom*/
+ Str255 atomName; /* name of this value type*/
+};
+typedef struct ParameterAtomTypeAndID ParameterAtomTypeAndID;
+/* optional specification of mapping between parameters and properties*/
+enum {
+ kParameterProperty = FOUR_CHAR_CODE('prop')
+};
+
+struct ParameterProperty {
+ OSType propertyClass; /* class to set for this property (0 for default which is specified by caller)*/
+ OSType propertyID; /* id to set for this property (default is the atomType)*/
+};
+typedef struct ParameterProperty ParameterProperty;
+/* data type of a parameter*/
+enum {
+ kParameterDataType = FOUR_CHAR_CODE('data')
+};
+
+enum {
+ kParameterTypeDataLong = kTweenTypeLong, /* integer value*/
+ kParameterTypeDataFixed = kTweenTypeFixed, /* fixed point value*/
+ kParameterTypeDataRGBValue = kTweenTypeRGBColor, /* RGBColor data*/
+ kParameterTypeDataDouble = kTweenTypeQTFloatDouble, /* IEEE 64 bit floating point value*/
+ kParameterTypeDataText = FOUR_CHAR_CODE('text'), /* editable text item*/
+ kParameterTypeDataEnum = FOUR_CHAR_CODE('enum'), /* enumerated lookup value*/
+ kParameterTypeDataBitField = FOUR_CHAR_CODE('bool'), /* bit field value (something that holds boolean(s))*/
+ kParameterTypeDataImage = FOUR_CHAR_CODE('imag') /* reference to an image via Picture data*/
+};
+
+struct ParameterDataType {
+ OSType dataType; /* type of data this item is stored as*/
+};
+typedef struct ParameterDataType ParameterDataType;
+/*
+ alternate (optional) data type -- main data type always required.
+ Must be modified or deleted when modifying main data type.
+ Main data type must be modified when alternate is modified.
+*/
+enum {
+ kParameterAlternateDataType = FOUR_CHAR_CODE('alt1'),
+ kParameterTypeDataColorValue = FOUR_CHAR_CODE('cmlr'), /* CMColor data (supported on machines with ColorSync)*/
+ kParameterTypeDataCubic = FOUR_CHAR_CODE('cubi'), /* cubic bezier(s) (no built-in support)*/
+ kParameterTypeDataNURB = FOUR_CHAR_CODE('nurb') /* nurb(s) (no built-in support)*/
+};
+
+struct ParameterAlternateDataEntry {
+ OSType dataType; /* type of data this item is stored as*/
+ QTAtomType alternateAtom; /* where to store*/
+};
+typedef struct ParameterAlternateDataEntry ParameterAlternateDataEntry;
+struct ParameterAlternateDataType {
+ long numEntries;
+ ParameterAlternateDataEntry entries[1];
+};
+typedef struct ParameterAlternateDataType ParameterAlternateDataType;
+/* legal values for the parameter*/
+enum {
+ kParameterDataRange = FOUR_CHAR_CODE('rang')
+};
+
+enum {
+ kNoMinimumLongFixed = 0x7FFFFFFF, /* ignore minimum/maxiumum values*/
+ kNoMaximumLongFixed = (long)0x80000000,
+ kNoScaleLongFixed = 0, /* don't perform any scaling of value*/
+ kNoPrecision = (-1) /* allow as many digits as format*/
+};
+
+/* 'text'*/
+struct StringRangeRecord {
+ long maxChars; /* maximum length of string*/
+ long maxLines; /* number of editing lines to use (1 typical, 0 to default)*/
+};
+typedef struct StringRangeRecord StringRangeRecord;
+/* 'long'*/
+struct LongRangeRecord {
+ long minValue; /* no less than this*/
+ long maxValue; /* no more than this*/
+ long scaleValue; /* muliply content by this going in, divide going out*/
+ long precisionDigits; /* # digits of precision when editing via typing*/
+};
+typedef struct LongRangeRecord LongRangeRecord;
+/* 'enum'*/
+struct EnumRangeRecord {
+ long enumID; /* 'enum' list in root container to search within*/
+};
+typedef struct EnumRangeRecord EnumRangeRecord;
+/* 'fixd'*/
+struct FixedRangeRecord {
+ Fixed minValue; /* no less than this*/
+ Fixed maxValue; /* no more than this*/
+ Fixed scaleValue; /* muliply content by this going in, divide going out*/
+ long precisionDigits; /* # digits of precision when editing via typing*/
+};
+typedef struct FixedRangeRecord FixedRangeRecord;
+/* 'doub'*/
+
+ #define kNoMinimumDouble (NAN) /* ignore minimum/maxiumum values */
+ #define kNoMaximumDouble (NAN)
+ #define kNoScaleDouble (0) /* don't perform any scaling of value */
+ struct DoubleRangeRecord
+ {
+ QTFloatDouble minValue; /* no less than this */
QTFloatDouble maxValue; /* no more than this */
QTFloatDouble scaleValue; /* muliply content by this going in, divide going out */
- long precisionDigits; /* # digits of precision when editing via typing */
- };
- typedef struct DoubleRangeRecord DoubleRangeRecord;
-
- /* 'bool' */
- struct BooleanRangeRecord
- {
- long maskValue; /* value to mask on/off to set/clear the boolean*/
- };
- typedef struct BooleanRangeRecord BooleanRangeRecord;
- /* 'rgb '*/
- struct RGBRangeRecord
- {
- RGBColor minColor;
- RGBColor maxColor;
- };
- typedef struct RGBRangeRecord RGBRangeRecord;
- /* 'imag'*/
- enum
- {
- kParameterImageNoFlags = 0,
- kParameterImageIsPreset = 1
- };
-
- enum
- {
- kStandardPresetGroup = FOUR_CHAR_CODE('pset')
- };
-
- struct ImageRangeRecord
- {
- long imageFlags;
- OSType fileType; /* file type to contain the preset group (normally kStandardPresetGroup)*/
- long replacedAtoms; /* # atoms at this level replaced by this preset group*/
- };
- typedef struct ImageRangeRecord ImageRangeRecord;
- /* union of all of the above*/
-
- struct ParameterRangeRecord
- {
- union
+ long precisionDigits; /* # digits of precision when editing via typing */
+ };
+ typedef struct DoubleRangeRecord DoubleRangeRecord;
+
+/* 'bool' */
+struct BooleanRangeRecord {
+ long maskValue; /* value to mask on/off to set/clear the boolean*/
+};
+typedef struct BooleanRangeRecord BooleanRangeRecord;
+/* 'rgb '*/
+struct RGBRangeRecord {
+ RGBColor minColor;
+ RGBColor maxColor;
+};
+typedef struct RGBRangeRecord RGBRangeRecord;
+/* 'imag'*/
+enum {
+ kParameterImageNoFlags = 0,
+ kParameterImageIsPreset = 1
+};
+
+enum {
+ kStandardPresetGroup = FOUR_CHAR_CODE('pset')
+};
+
+struct ImageRangeRecord {
+ long imageFlags;
+ OSType fileType; /* file type to contain the preset group (normally kStandardPresetGroup)*/
+ long replacedAtoms; /* # atoms at this level replaced by this preset group*/
+};
+typedef struct ImageRangeRecord ImageRangeRecord;
+/* union of all of the above*/
+
+ struct ParameterRangeRecord
{
- LongRangeRecord longRange;
- EnumRangeRecord enumRange;
- FixedRangeRecord fixedRange;
+ union
+ {
+ LongRangeRecord longRange;
+ EnumRangeRecord enumRange;
+ FixedRangeRecord fixedRange;
DoubleRangeRecord doubleRange;
- StringRangeRecord stringRange;
- BooleanRangeRecord booleanRange;
- RGBRangeRecord rgbRange;
- ImageRangeRecord imageRange;
- } u;
- };
- typedef struct ParameterRangeRecord ParameterRangeRecord;
-
- /* UI behavior of a parameter*/
- enum
- {
- kParameterDataBehavior = FOUR_CHAR_CODE('ditl')
- };
-
- enum
- {
- /* items edited via typing*/
- kParameterItemEditText = FOUR_CHAR_CODE('edit'), /* edit text box*/
- kParameterItemEditLong = FOUR_CHAR_CODE('long'), /* long number editing box*/
- kParameterItemEditFixed = FOUR_CHAR_CODE('fixd'), /* fixed point number editing box*/
- kParameterItemEditDouble = FOUR_CHAR_CODE('doub'), /* double number editing box*/
- /* items edited via control(s)*/
- kParameterItemPopUp = FOUR_CHAR_CODE('popu'), /* pop up value for enum types*/
- kParameterItemRadioCluster = FOUR_CHAR_CODE('radi'), /* radio cluster for enum types*/
- kParameterItemCheckBox = FOUR_CHAR_CODE('chex'), /* check box for booleans*/
- kParameterItemControl = FOUR_CHAR_CODE('cntl'), /* item controlled via a standard control of some type*/
- /* special user items*/
- kParameterItemLine = FOUR_CHAR_CODE('line'), /* line*/
- kParameterItemColorPicker = FOUR_CHAR_CODE('pick'), /* color swatch & picker*/
- kParameterItemGroupDivider = FOUR_CHAR_CODE('divi'), /* start of a new group of items*/
- kParameterItemStaticText = FOUR_CHAR_CODE('stat'), /* display "parameter name" as static text*/
- kParameterItemDragImage = FOUR_CHAR_CODE('imag'), /* allow image display, along with drag and drop*/
- /* flags valid for lines and groups*/
- kGraphicsNoFlags = 0x00000000, /* no options for graphics*/
- kGraphicsFlagsGray = 0x00000001, /* draw lines with gray*/
- /* flags valid for groups*/
- kGroupNoFlags = 0x00000000, /* no options for group -- may be combined with graphics options */
- kGroupAlignText = 0x00010000, /* edit text items in group have the same size*/
- kGroupSurroundBox = 0x00020000, /* group should be surrounded with a box*/
- kGroupMatrix = 0x00040000, /* side-by-side arrangement of group is okay*/
- kGroupNoName = 0x00080000, /* name of group should not be displayed above box*/
- /* flags valid for popup/radiocluster/checkbox/control*/
- kDisableControl = 0x00000001,
- kDisableWhenNotEqual = (0x00000000 + kDisableControl),
- kDisableWhenEqual = (0x00000010 + kDisableControl),
- kDisableWhenLessThan = (0x00000020 + kDisableControl),
- kDisableWhenGreaterThan = (0x00000030 + kDisableControl), /* flags valid for controls*/
- kCustomControl = 0x00100000, /* flags valid for popups*/
- kPopupStoreAsString = 0x00010000
- };
-
- struct ControlBehaviors
- {
- QTAtomID groupID; /* group under control of this item*/
- long controlValue; /* control value for comparison purposes*/
- QTAtomType customType; /* custom type identifier, for kCustomControl*/
- QTAtomID customID; /* custom type ID, for kCustomControl*/
- };
- typedef struct ControlBehaviors ControlBehaviors;
- struct ParameterDataBehavior
- {
- OSType behaviorType;
- long behaviorFlags;
- union
- {
- ControlBehaviors controls;
- } u;
- };
- typedef struct ParameterDataBehavior ParameterDataBehavior;
- /* higher level purpose of a parameter or set of parameters*/
- enum
- {
- kParameterDataUsage = FOUR_CHAR_CODE('use ')
- };
-
- enum
- {
- kParameterUsagePixels = FOUR_CHAR_CODE('pixl'),
- kParameterUsageRectangle = FOUR_CHAR_CODE('rect'),
- kParameterUsagePoint = FOUR_CHAR_CODE('xy '),
- kParameterUsage3DPoint = FOUR_CHAR_CODE('xyz '),
- kParameterUsageDegrees = FOUR_CHAR_CODE('degr'),
- kParameterUsageRadians = FOUR_CHAR_CODE('rads'),
- kParameterUsagePercent = FOUR_CHAR_CODE('pcnt'),
- kParameterUsageSeconds = FOUR_CHAR_CODE('secs'),
- kParameterUsageMilliseconds = FOUR_CHAR_CODE('msec'),
- kParameterUsageMicroseconds = 0xB5736563,
- kParameterUsage3by3Matrix = FOUR_CHAR_CODE('3by3'),
- kParameterUsageCircularDegrees = FOUR_CHAR_CODE('degc'),
- kParameterUsageCircularRadians = FOUR_CHAR_CODE('radc')
- };
-
- struct ParameterDataUsage
- {
- OSType usageType; /* higher level purpose of the data or group*/
- };
- typedef struct ParameterDataUsage ParameterDataUsage;
- /* default value(s) for a parameter*/
- enum
- {
- kParameterDataDefaultItem = FOUR_CHAR_CODE('dflt')
- };
-
- /* atoms that help to fill in data within the info window */
- enum
- {
- kParameterInfoLongName = 0xA96E616D,
- kParameterInfoCopyright = 0xA9637079,
- kParameterInfoDescription = 0xA9696E66,
- kParameterInfoWindowTitle = 0xA9776E74,
- kParameterInfoPicture = 0xA9706978,
- kParameterInfoManufacturer = 0xA96D616E,
- kParameterInfoIDs = 1
- };
-
- /* flags for ImageCodecValidateParameters */
- enum
- {
- kParameterValidationNoFlags = 0x00000000,
- kParameterValidationFinalValidation = 0x00000001
- };
-
-
- typedef long QTParameterValidationOptions;
- /* QTAtomTypes for atoms in image compressor settings containers*/
- enum
- {
- kImageCodecSettingsFieldCount = FOUR_CHAR_CODE('fiel'), /* Number of fields (UInt8) */
- kImageCodecSettingsFieldOrdering = FOUR_CHAR_CODE('fdom'), /* Ordering of fields (UInt8)*/
- kImageCodecSettingsFieldOrderingF1F2 = 1,
- kImageCodecSettingsFieldOrderingF2F1 = 2
- };
-
-
-
- /*
- * Summary:
- * Additional Image Description Extensions
- */
- enum
- {
-
- /*
- * Image description extension describing the color properties.
- */
- kColorInfoImageDescriptionExtension = FOUR_CHAR_CODE('colr'),
-
- /*
- * Image description extension describing the pixel aspect ratio.
- */
- kPixelAspectRatioImageDescriptionExtension = FOUR_CHAR_CODE('pasp'), /* big-endian PixelAspectRatioImageDescriptionExtension */
-
- /*
- * Image description extension describing the clean aperture.
- */
- kCleanApertureImageDescriptionExtension = FOUR_CHAR_CODE('clap'), /* big-endian CleanApertureImageDescriptionExtension */
-
- /*
- * Specifies the offset in bytes from the start of one pixel row to
- * the next. Only valid for chunky pixel formats. If present, this
- * image description extension overrides other conventions for
- * calculating rowBytes.
- */
- kQTRowBytesImageDescriptionExtension = FOUR_CHAR_CODE('rowb') /* big-endian SInt32 */
- };
-
- /* Color Info Image Description Extension types*/
- enum
- {
- kVideoColorInfoImageDescriptionExtensionType = FOUR_CHAR_CODE('nclc'), /* For video color descriptions (defined below) */
- kICCProfileColorInfoImageDescriptionExtensionType = FOUR_CHAR_CODE('prof') /* For ICC Profile color descriptions (not defined here)*/
- };
-
-
- /* Video Color Info Image Description Extensions*/
- struct NCLCColorInfoImageDescriptionExtension
- {
- OSType colorParamType; /* Type of color parameter 'nclc' */
- UInt16 primaries; /* CIE 1931 xy chromaticity coordinates */
- UInt16 transferFunction; /* Nonlinear transfer function from RGB to ErEgEb */
- UInt16 matrix; /* Matrix from ErEgEb to EyEcbEcr */
- };
- typedef struct NCLCColorInfoImageDescriptionExtension NCLCColorInfoImageDescriptionExtension;
- /* Primaries*/
- enum
- {
- kQTPrimaries_ITU_R709_2 = 1, /* ITU-R BT.709-2, SMPTE 274M-1995, and SMPTE 296M-1997 */
- kQTPrimaries_Unknown = 2, /* Unknown */
- kQTPrimaries_EBU_3213 = 5, /* EBU Tech. 3213 (1981) */
- kQTPrimaries_SMPTE_C = 6 /* SMPTE C Primaries from SMPTE RP 145-1993 */
- };
-
- /* Transfer Function*/
- enum
- {
- kQTTransferFunction_ITU_R709_2 = 1, /* Recommendation ITU-R BT.709-2, SMPTE 274M-1995, SMPTE 296M-1997, SMPTE 293M-1996 and SMPTE 170M-1994 */
- kQTTransferFunction_Unknown = 2, /* Unknown */
- kQTTransferFunction_SMPTE_240M_1995 = 7 /* SMPTE 240M-1995 and interim color implementation of SMPTE 274M-1995 */
- };
-
- /* Matrix*/
- enum
- {
- kQTMatrix_ITU_R_709_2 = 1, /* Recommendation ITU-R BT.709-2 (1125/60/2:1 only), SMPTE 274M-1995 and SMPTE 296M-1997 */
- kQTMatrix_Unknown = 2, /* Unknown */
- kQTMatrix_ITU_R_601_4 = 6, /* Recommendation ITU-R BT.601-4, Recommendation ITU-R BT.470-4 System B and G, SMPTE 170M-1994 and SMPTE 293M-1996 */
- kQTMatrix_SMPTE_240M_1995 = 7 /* SMPTE 240M-1995 and interim color implementation of SMPTE 274M-1995 */
- };
-
-
- /* Field/Frame Info Image Description (this remaps to FieldInfoImageDescriptionExtension)*/
- struct FieldInfoImageDescriptionExtension2
- {
- UInt8 fields;
- UInt8 detail;
- };
- typedef struct FieldInfoImageDescriptionExtension2 FieldInfoImageDescriptionExtension2;
- enum
- {
- kQTFieldsProgressiveScan = 1,
- kQTFieldsInterlaced = 2
- };
-
- enum
- {
- kQTFieldDetailUnknown = 0,
- kQTFieldDetailTemporalTopFirst = 1,
- kQTFieldDetailTemporalBottomFirst = 6,
- kQTFieldDetailSpatialFirstLineEarly = 9,
- kQTFieldDetailSpatialFirstLineLate = 14
- };
-
-
- /* Pixel Aspect Ratio Image Description Extensions*/
- struct PixelAspectRatioImageDescriptionExtension
- {
- UInt32 hSpacing; /* Horizontal Spacing */
- UInt32 vSpacing; /* Vertical Spacing */
- };
- typedef struct PixelAspectRatioImageDescriptionExtension PixelAspectRatioImageDescriptionExtension;
- /* Clean Aperture Image Description Extensions*/
- struct CleanApertureImageDescriptionExtension
- {
- UInt32 cleanApertureWidthN; /* width of clean aperture, numerator, denominator */
- UInt32 cleanApertureWidthD;
- UInt32 cleanApertureHeightN; /* height of clean aperture, numerator, denominator*/
- UInt32 cleanApertureHeightD;
- SInt32 horizOffN; /* horizontal offset of clean aperture center minus (width-1)/2, numerator, denominator */
- UInt32 horizOffD;
- SInt32 vertOffN; /* vertical offset of clean aperture center minus (height-1)/2, numerator, denominator */
- UInt32 vertOffD;
- };
- typedef struct CleanApertureImageDescriptionExtension CleanApertureImageDescriptionExtension;
- typedef CALLBACK_API(ComponentResult , ImageCodecMPDrawBandProcPtr)(void *refcon, ImageSubCodecDecompressRecord *drp);
- typedef STACK_UPP_TYPE(ImageCodecMPDrawBandProcPtr) ImageCodecMPDrawBandUPP;
- /*
- * NewImageCodecMPDrawBandUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ImageCodecMPDrawBandUPP)
- NewImageCodecMPDrawBandUPP(ImageCodecMPDrawBandProcPtr userRoutine);
+ StringRangeRecord stringRange;
+ BooleanRangeRecord booleanRange;
+ RGBRangeRecord rgbRange;
+ ImageRangeRecord imageRange;
+ } u;
+ };
+ typedef struct ParameterRangeRecord ParameterRangeRecord;
+
+/* UI behavior of a parameter*/
+enum {
+ kParameterDataBehavior = FOUR_CHAR_CODE('ditl')
+};
+
+enum {
+ /* items edited via typing*/
+ kParameterItemEditText = FOUR_CHAR_CODE('edit'), /* edit text box*/
+ kParameterItemEditLong = FOUR_CHAR_CODE('long'), /* long number editing box*/
+ kParameterItemEditFixed = FOUR_CHAR_CODE('fixd'), /* fixed point number editing box*/
+ kParameterItemEditDouble = FOUR_CHAR_CODE('doub'), /* double number editing box*/
+ /* items edited via control(s)*/
+ kParameterItemPopUp = FOUR_CHAR_CODE('popu'), /* pop up value for enum types*/
+ kParameterItemRadioCluster = FOUR_CHAR_CODE('radi'), /* radio cluster for enum types*/
+ kParameterItemCheckBox = FOUR_CHAR_CODE('chex'), /* check box for booleans*/
+ kParameterItemControl = FOUR_CHAR_CODE('cntl'), /* item controlled via a standard control of some type*/
+ /* special user items*/
+ kParameterItemLine = FOUR_CHAR_CODE('line'), /* line*/
+ kParameterItemColorPicker = FOUR_CHAR_CODE('pick'), /* color swatch & picker*/
+ kParameterItemGroupDivider = FOUR_CHAR_CODE('divi'), /* start of a new group of items*/
+ kParameterItemStaticText = FOUR_CHAR_CODE('stat'), /* display "parameter name" as static text*/
+ kParameterItemDragImage = FOUR_CHAR_CODE('imag'), /* allow image display, along with drag and drop*/
+ /* flags valid for lines and groups*/
+ kGraphicsNoFlags = 0x00000000, /* no options for graphics*/
+ kGraphicsFlagsGray = 0x00000001, /* draw lines with gray*/
+ /* flags valid for groups*/
+ kGroupNoFlags = 0x00000000, /* no options for group -- may be combined with graphics options */
+ kGroupAlignText = 0x00010000, /* edit text items in group have the same size*/
+ kGroupSurroundBox = 0x00020000, /* group should be surrounded with a box*/
+ kGroupMatrix = 0x00040000, /* side-by-side arrangement of group is okay*/
+ kGroupNoName = 0x00080000, /* name of group should not be displayed above box*/
+ /* flags valid for popup/radiocluster/checkbox/control*/
+ kDisableControl = 0x00000001,
+ kDisableWhenNotEqual = (0x00000000 + kDisableControl),
+ kDisableWhenEqual = (0x00000010 + kDisableControl),
+ kDisableWhenLessThan = (0x00000020 + kDisableControl),
+ kDisableWhenGreaterThan = (0x00000030 + kDisableControl), /* flags valid for controls*/
+ kCustomControl = 0x00100000, /* flags valid for popups*/
+ kPopupStoreAsString = 0x00010000
+};
+
+struct ControlBehaviors {
+ QTAtomID groupID; /* group under control of this item*/
+ long controlValue; /* control value for comparison purposes*/
+ QTAtomType customType; /* custom type identifier, for kCustomControl*/
+ QTAtomID customID; /* custom type ID, for kCustomControl*/
+};
+typedef struct ControlBehaviors ControlBehaviors;
+struct ParameterDataBehavior {
+ OSType behaviorType;
+ long behaviorFlags;
+ union {
+ ControlBehaviors controls;
+ } u;
+};
+typedef struct ParameterDataBehavior ParameterDataBehavior;
+/* higher level purpose of a parameter or set of parameters*/
+enum {
+ kParameterDataUsage = FOUR_CHAR_CODE('use ')
+};
+
+enum {
+ kParameterUsagePixels = FOUR_CHAR_CODE('pixl'),
+ kParameterUsageRectangle = FOUR_CHAR_CODE('rect'),
+ kParameterUsagePoint = FOUR_CHAR_CODE('xy '),
+ kParameterUsage3DPoint = FOUR_CHAR_CODE('xyz '),
+ kParameterUsageDegrees = FOUR_CHAR_CODE('degr'),
+ kParameterUsageRadians = FOUR_CHAR_CODE('rads'),
+ kParameterUsagePercent = FOUR_CHAR_CODE('pcnt'),
+ kParameterUsageSeconds = FOUR_CHAR_CODE('secs'),
+ kParameterUsageMilliseconds = FOUR_CHAR_CODE('msec'),
+ kParameterUsageMicroseconds = 0xB5736563,
+ kParameterUsage3by3Matrix = FOUR_CHAR_CODE('3by3'),
+ kParameterUsageCircularDegrees = FOUR_CHAR_CODE('degc'),
+ kParameterUsageCircularRadians = FOUR_CHAR_CODE('radc')
+};
+
+struct ParameterDataUsage {
+ OSType usageType; /* higher level purpose of the data or group*/
+};
+typedef struct ParameterDataUsage ParameterDataUsage;
+/* default value(s) for a parameter*/
+enum {
+ kParameterDataDefaultItem = FOUR_CHAR_CODE('dflt')
+};
+
+/* atoms that help to fill in data within the info window */
+enum {
+ kParameterInfoLongName = 0xA96E616D,
+ kParameterInfoCopyright = 0xA9637079,
+ kParameterInfoDescription = 0xA9696E66,
+ kParameterInfoWindowTitle = 0xA9776E74,
+ kParameterInfoPicture = 0xA9706978,
+ kParameterInfoManufacturer = 0xA96D616E,
+ kParameterInfoIDs = 1
+};
+
+/* flags for ImageCodecValidateParameters */
+enum {
+ kParameterValidationNoFlags = 0x00000000,
+ kParameterValidationFinalValidation = 0x00000001
+};
+
+
+typedef long QTParameterValidationOptions;
+/* QTAtomTypes for atoms in image compressor settings containers*/
+enum {
+ kImageCodecSettingsFieldCount = FOUR_CHAR_CODE('fiel'), /* Number of fields (UInt8) */
+ kImageCodecSettingsFieldOrdering = FOUR_CHAR_CODE('fdom'), /* Ordering of fields (UInt8)*/
+ kImageCodecSettingsFieldOrderingF1F2 = 1,
+ kImageCodecSettingsFieldOrderingF2F1 = 2
+};
+
+
+
+/*
+ * Summary:
+ * Additional Image Description Extensions
+ */
+enum {
+
+ /*
+ * Image description extension describing the color properties.
+ */
+ kColorInfoImageDescriptionExtension = FOUR_CHAR_CODE('colr'),
+
+ /*
+ * Image description extension describing the pixel aspect ratio.
+ */
+ kPixelAspectRatioImageDescriptionExtension = FOUR_CHAR_CODE('pasp'), /* big-endian PixelAspectRatioImageDescriptionExtension */
+
+ /*
+ * Image description extension describing the clean aperture.
+ */
+ kCleanApertureImageDescriptionExtension = FOUR_CHAR_CODE('clap'), /* big-endian CleanApertureImageDescriptionExtension */
+
+ /*
+ * Specifies the offset in bytes from the start of one pixel row to
+ * the next. Only valid for chunky pixel formats. If present, this
+ * image description extension overrides other conventions for
+ * calculating rowBytes.
+ */
+ kQTRowBytesImageDescriptionExtension = FOUR_CHAR_CODE('rowb') /* big-endian SInt32 */
+};
+
+/* Color Info Image Description Extension types*/
+enum {
+ kVideoColorInfoImageDescriptionExtensionType = FOUR_CHAR_CODE('nclc'), /* For video color descriptions (defined below) */
+ kICCProfileColorInfoImageDescriptionExtensionType = FOUR_CHAR_CODE('prof') /* For ICC Profile color descriptions (not defined here)*/
+};
+
+
+/* Video Color Info Image Description Extensions*/
+struct NCLCColorInfoImageDescriptionExtension {
+ OSType colorParamType; /* Type of color parameter 'nclc' */
+ UInt16 primaries; /* CIE 1931 xy chromaticity coordinates */
+ UInt16 transferFunction; /* Nonlinear transfer function from RGB to ErEgEb */
+ UInt16 matrix; /* Matrix from ErEgEb to EyEcbEcr */
+};
+typedef struct NCLCColorInfoImageDescriptionExtension NCLCColorInfoImageDescriptionExtension;
+/* Primaries*/
+enum {
+ kQTPrimaries_ITU_R709_2 = 1, /* ITU-R BT.709-2, SMPTE 274M-1995, and SMPTE 296M-1997 */
+ kQTPrimaries_Unknown = 2, /* Unknown */
+ kQTPrimaries_EBU_3213 = 5, /* EBU Tech. 3213 (1981) */
+ kQTPrimaries_SMPTE_C = 6 /* SMPTE C Primaries from SMPTE RP 145-1993 */
+};
+
+/* Transfer Function*/
+enum {
+ kQTTransferFunction_ITU_R709_2 = 1, /* Recommendation ITU-R BT.709-2, SMPTE 274M-1995, SMPTE 296M-1997, SMPTE 293M-1996 and SMPTE 170M-1994 */
+ kQTTransferFunction_Unknown = 2, /* Unknown */
+ kQTTransferFunction_SMPTE_240M_1995 = 7 /* SMPTE 240M-1995 and interim color implementation of SMPTE 274M-1995 */
+};
+
+/* Matrix*/
+enum {
+ kQTMatrix_ITU_R_709_2 = 1, /* Recommendation ITU-R BT.709-2 (1125/60/2:1 only), SMPTE 274M-1995 and SMPTE 296M-1997 */
+ kQTMatrix_Unknown = 2, /* Unknown */
+ kQTMatrix_ITU_R_601_4 = 6, /* Recommendation ITU-R BT.601-4, Recommendation ITU-R BT.470-4 System B and G, SMPTE 170M-1994 and SMPTE 293M-1996 */
+ kQTMatrix_SMPTE_240M_1995 = 7 /* SMPTE 240M-1995 and interim color implementation of SMPTE 274M-1995 */
+};
+
+
+/* Field/Frame Info Image Description (this remaps to FieldInfoImageDescriptionExtension)*/
+struct FieldInfoImageDescriptionExtension2 {
+ UInt8 fields;
+ UInt8 detail;
+};
+typedef struct FieldInfoImageDescriptionExtension2 FieldInfoImageDescriptionExtension2;
+enum {
+ kQTFieldsProgressiveScan = 1,
+ kQTFieldsInterlaced = 2
+};
+
+enum {
+ kQTFieldDetailUnknown = 0,
+ kQTFieldDetailTemporalTopFirst = 1,
+ kQTFieldDetailTemporalBottomFirst = 6,
+ kQTFieldDetailSpatialFirstLineEarly = 9,
+ kQTFieldDetailSpatialFirstLineLate = 14
+};
+
+
+/* Pixel Aspect Ratio Image Description Extensions*/
+struct PixelAspectRatioImageDescriptionExtension {
+ UInt32 hSpacing; /* Horizontal Spacing */
+ UInt32 vSpacing; /* Vertical Spacing */
+};
+typedef struct PixelAspectRatioImageDescriptionExtension PixelAspectRatioImageDescriptionExtension;
+/* Clean Aperture Image Description Extensions*/
+struct CleanApertureImageDescriptionExtension {
+ UInt32 cleanApertureWidthN; /* width of clean aperture, numerator, denominator */
+ UInt32 cleanApertureWidthD;
+ UInt32 cleanApertureHeightN; /* height of clean aperture, numerator, denominator*/
+ UInt32 cleanApertureHeightD;
+ SInt32 horizOffN; /* horizontal offset of clean aperture center minus (width-1)/2, numerator, denominator */
+ UInt32 horizOffD;
+ SInt32 vertOffN; /* vertical offset of clean aperture center minus (height-1)/2, numerator, denominator */
+ UInt32 vertOffD;
+};
+typedef struct CleanApertureImageDescriptionExtension CleanApertureImageDescriptionExtension;
+typedef CALLBACK_API( ComponentResult , ImageCodecMPDrawBandProcPtr )(void *refcon, ImageSubCodecDecompressRecord *drp);
+typedef STACK_UPP_TYPE(ImageCodecMPDrawBandProcPtr) ImageCodecMPDrawBandUPP;
+/*
+ * NewImageCodecMPDrawBandUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ImageCodecMPDrawBandUPP )
+NewImageCodecMPDrawBandUPP(ImageCodecMPDrawBandProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppImageCodecMPDrawBandProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ImageCodecMPDrawBandUPP) NewImageCodecMPDrawBandUPP(ImageCodecMPDrawBandProcPtr userRoutine)
- {
- return (ImageCodecMPDrawBandUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecMPDrawBandProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewImageCodecMPDrawBandUPP(userRoutine) (ImageCodecMPDrawBandUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecMPDrawBandProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppImageCodecMPDrawBandProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ImageCodecMPDrawBandUPP) NewImageCodecMPDrawBandUPP(ImageCodecMPDrawBandProcPtr userRoutine) { return (ImageCodecMPDrawBandUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecMPDrawBandProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewImageCodecMPDrawBandUPP(userRoutine) (ImageCodecMPDrawBandUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppImageCodecMPDrawBandProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeImageCodecMPDrawBandUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeImageCodecMPDrawBandUPP(ImageCodecMPDrawBandUPP userUPP);
+/*
+ * DisposeImageCodecMPDrawBandUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeImageCodecMPDrawBandUPP(ImageCodecMPDrawBandUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeImageCodecMPDrawBandUPP(ImageCodecMPDrawBandUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeImageCodecMPDrawBandUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeImageCodecMPDrawBandUPP(ImageCodecMPDrawBandUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeImageCodecMPDrawBandUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeImageCodecMPDrawBandUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeImageCodecMPDrawBandUPP(
- void * refcon,
- ImageSubCodecDecompressRecord * drp,
- ImageCodecMPDrawBandUPP userUPP);
+/*
+ * InvokeImageCodecMPDrawBandUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeImageCodecMPDrawBandUPP(
+ void * refcon,
+ ImageSubCodecDecompressRecord * drp,
+ ImageCodecMPDrawBandUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeImageCodecMPDrawBandUPP(void * refcon, ImageSubCodecDecompressRecord * drp, ImageCodecMPDrawBandUPP userUPP)
- {
- return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppImageCodecMPDrawBandProcInfo, refcon, drp);
- }
-#else
-#define InvokeImageCodecMPDrawBandUPP(refcon, drp, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppImageCodecMPDrawBandProcInfo, (refcon), (drp))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeImageCodecMPDrawBandUPP(void * refcon, ImageSubCodecDecompressRecord * drp, ImageCodecMPDrawBandUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppImageCodecMPDrawBandProcInfo, refcon, drp); }
+ #else
+ #define InvokeImageCodecMPDrawBandUPP(refcon, drp, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppImageCodecMPDrawBandProcInfo, (refcon), (drp))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewImageCodecMPDrawBandProc(userRoutine) NewImageCodecMPDrawBandUPP(userRoutine)
-#define CallImageCodecMPDrawBandProc(userRoutine, refcon, drp) InvokeImageCodecMPDrawBandUPP(refcon, drp, userRoutine)
+ #define NewImageCodecMPDrawBandProc(userRoutine) NewImageCodecMPDrawBandUPP(userRoutine)
+ #define CallImageCodecMPDrawBandProc(userRoutine, refcon, drp) InvokeImageCodecMPDrawBandUPP(refcon, drp, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* codec selectors 0-127 are reserved by Apple */
- /* codec selectors 128-191 are subtype specific */
- /* codec selectors 192-255 are vendor specific */
- /* codec selectors 256-511 are available for general use */
- /* codec selectors 512-1023 are reserved by Apple */
- /* codec selectors 1024-32767 are available for general use */
- /* negative selectors are reserved by the Component Manager */
- /*
- * ImageCodecGetCodecInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetCodecInfo(
- ComponentInstance ci,
- CodecInfo * info) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetCompressionTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetCompressionTime(
- ComponentInstance ci,
- PixMapHandle src,
- const Rect * srcRect,
- short depth,
- CodecQ * spatialQuality,
- CodecQ * temporalQuality,
- unsigned long * time) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetMaxCompressionSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetMaxCompressionSize(
- ComponentInstance ci,
- PixMapHandle src,
- const Rect * srcRect,
- short depth,
- CodecQ quality,
- long * size) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecPreCompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecPreCompress(
- ComponentInstance ci,
- CodecCompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecBandCompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecBandCompress(
- ComponentInstance ci,
- CodecCompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecPreDecompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecPreDecompress(
- ComponentInstance ci,
- CodecDecompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecBandDecompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecBandDecompress(
- ComponentInstance ci,
- CodecDecompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecBusy()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecBusy(
- ComponentInstance ci,
- ImageSequence seq) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetCompressedImageSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetCompressedImageSize(
- ComponentInstance ci,
- ImageDescriptionHandle desc,
- Ptr data,
- long bufferSize,
- ICMDataProcRecordPtr dataProc,
- long * dataSize) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetSimilarity()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetSimilarity(
- ComponentInstance ci,
- PixMapHandle src,
- const Rect * srcRect,
- ImageDescriptionHandle desc,
- Ptr data,
- Fixed * similarity) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecTrimImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecTrimImage(
- ComponentInstance ci,
- ImageDescriptionHandle Desc,
- Ptr inData,
- long inBufferSize,
- ICMDataProcRecordPtr dataProc,
- Ptr outData,
- long outBufferSize,
- ICMFlushProcRecordPtr flushProc,
- Rect * trimRect,
- ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0024, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecRequestSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecRequestSettings(
- ComponentInstance ci,
- Handle settings,
- Rect * rp,
- ModalFilterUPP filterProc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetSettings(
- ComponentInstance ci,
- Handle settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecSetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecSetSettings(
- ComponentInstance ci,
- Handle settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecFlush()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecFlush(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecSetTimeCode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecSetTimeCode(
- ComponentInstance ci,
- void * timeCodeFormat,
- void * timeCodeTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecIsImageDescriptionEquivalent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecIsImageDescriptionEquivalent(
- ComponentInstance ci,
- ImageDescriptionHandle newDesc,
- Boolean * equivalent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecNewMemory()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecNewMemory(
- ComponentInstance ci,
- Ptr * data,
- Size dataSize,
- long dataUse,
- ICMMemoryDisposedUPP memoryGoneProc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDisposeMemory()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDisposeMemory(
- ComponentInstance ci,
- Ptr data) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecHitTestData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecHitTestData(
- ComponentInstance ci,
- ImageDescriptionHandle desc,
- void * data,
- Size dataSize,
- Point where,
- Boolean * hit) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecNewImageBufferMemory()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecNewImageBufferMemory(
- ComponentInstance ci,
- CodecDecompressParams * params,
- long flags,
- ICMMemoryDisposedUPP memoryGoneProc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecExtractAndCombineFields()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecExtractAndCombineFields(
- ComponentInstance ci,
- long fieldFlags,
- void * data1,
- long dataSize1,
- ImageDescriptionHandle desc1,
- void * data2,
- long dataSize2,
- ImageDescriptionHandle desc2,
- void * outputData,
- long * outDataSize,
- ImageDescriptionHandle descOut) FIVEWORDINLINE(0x2F3C, 0x0028, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetMaxCompressionSizeWithSources()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetMaxCompressionSizeWithSources(
- ComponentInstance ci,
- PixMapHandle src,
- const Rect * srcRect,
- short depth,
- CodecQ quality,
- CDSequenceDataSourcePtr sourceData,
- long * size) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecSetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecSetTimeBase(
- ComponentInstance ci,
- void * base) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecSourceChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecSourceChanged(
- ComponentInstance ci,
- UInt32 majorSourceChangeSeed,
- UInt32 minorSourceChangeSeed,
- CDSequenceDataSourcePtr sourceData,
- long * flagsOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecFlushFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecFlushFrame(
- ComponentInstance ci,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetSettingsAsText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetSettingsAsText(
- ComponentInstance ci,
- Handle * text) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetParameterListHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetParameterListHandle(
- ComponentInstance ci,
- Handle * parameterDescriptionHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetParameterList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetParameterList(
- ComponentInstance ci,
- QTAtomContainer * parameterDescription) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecCreateStandardParameterDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecCreateStandardParameterDialog(
- ComponentInstance ci,
- QTAtomContainer parameterDescription,
- QTAtomContainer parameters,
- QTParameterDialogOptions dialogOptions,
- DialogPtr existingDialog,
- short existingUserItem,
- QTParameterDialog * createdDialog) FIVEWORDINLINE(0x2F3C, 0x0016, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecIsStandardParameterDialogEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecIsStandardParameterDialogEvent(
- ComponentInstance ci,
- EventRecord * pEvent,
- QTParameterDialog createdDialog) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDismissStandardParameterDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDismissStandardParameterDialog(
- ComponentInstance ci,
- QTParameterDialog createdDialog) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecStandardParameterDialogDoAction()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecStandardParameterDialogDoAction(
- ComponentInstance ci,
- QTParameterDialog createdDialog,
- long action,
- void * params) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0020, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecNewImageGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecNewImageGWorld(
- ComponentInstance ci,
- CodecDecompressParams * params,
- GWorldPtr * newGW,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDisposeImageGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDisposeImageGWorld(
- ComponentInstance ci,
- GWorldPtr theGW) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecHitTestDataWithFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecHitTestDataWithFlags(
- ComponentInstance ci,
- ImageDescriptionHandle desc,
- void * data,
- Size dataSize,
- Point where,
- long * hit,
- long hitFlags) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0023, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecValidateParameters()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecValidateParameters(
- ComponentInstance ci,
- QTAtomContainer parameters,
- QTParameterValidationOptions validationFlags,
- StringPtr errorString) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetBaseMPWorkFunction()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetBaseMPWorkFunction(
- ComponentInstance ci,
- ComponentMPWorkFunctionUPP * workFunction,
- void ** refCon,
- ImageCodecMPDrawBandUPP drawProc,
- void * drawProcRefCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0025, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecLockBits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecLockBits(
- ComponentInstance ci,
- CGrafPtr port) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecUnlockBits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecUnlockBits(
- ComponentInstance ci,
- CGrafPtr port) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecRequestGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecRequestGammaLevel(
- ComponentInstance ci,
- Fixed srcGammaLevel,
- Fixed dstGammaLevel,
- long * codecCanMatch) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0028, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetSourceDataGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetSourceDataGammaLevel(
- ComponentInstance ci,
- Fixed * sourceDataGammaLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0029, 0x7000, 0xA82A);
-
-
- /* (Selector 42 skipped) */
- /*
- * ImageCodecGetDecompressLatency()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetDecompressLatency(
- ComponentInstance ci,
- TimeRecord * latency) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecMergeFloatingImageOntoWindow()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecMergeFloatingImageOntoWindow(
- ComponentInstance ci,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecRemoveFloatingImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecRemoveFloatingImage(
- ComponentInstance ci,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002D, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecGetDITLForSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetDITLForSize(
- ComponentInstance ci,
- Handle * ditl,
- Point * requestedSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDITLInstall()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDITLInstall(
- ComponentInstance ci,
- DialogRef d,
- short itemOffset) FIVEWORDINLINE(0x2F3C, 0x0006, 0x002F, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDITLEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDITLEvent(
- ComponentInstance ci,
- DialogRef d,
- short itemOffset,
- const EventRecord * theEvent,
- short * itemHit,
- Boolean * handled) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0030, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDITLItem()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDITLItem(
- ComponentInstance ci,
- DialogRef d,
- short itemOffset,
- short itemNum) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDITLRemove()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDITLRemove(
- ComponentInstance ci,
- DialogRef d,
- short itemOffset) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0032, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDITLValidateInput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDITLValidateInput(
- ComponentInstance ci,
- Boolean * ok) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
-
-
- /* (Selector 52 skipped) */
- /* (Selector 53 skipped) */
- /*
- * ImageCodecGetPreferredChunkSizeAndAlignment()
- *
- * Summary:
- * Returns the preferences of an image decompressor for the chunking
- * of image data within a container, e.g. a movie file.
- *
- * Discussion:
- * If you are writing image data to a container, you can optimize
- * the subsequent loading of the image data for playback and other
- * operations by chunking multiple samples of image data together.
- * This function can be called to determine whether an image
- * decompressor has special chunking preferences.
- *
- * Parameters:
- *
- * ci:
- * Component instance / instance globals.
- *
- * desc:
- * The image description for the image data to be chunked.
- *
- * frameRate:
- * Mean frame rate in frames per second as in SCTemporalSettings;
- * 0 if not known or not applicable.
- *
- * dataRate:
- * Mean data rate in bytes per second as in SCDataRateSettings; 0
- * if not known.
- *
- * bytesPerChunk:
- * Points to a variable to receive the preferred maximum size in
- * bytes of each chunk of image data. It is not safe to pass NULL
- * for this parameter. The codec may indicate that it has no
- * preference regarding chunk sizing by setting the variable to 0.
- *
- * alignment:
- * Points to a variable to receive the preferred boundary for
- * chunk alignment in bytes, e.g. 512. It is not safe to pass NULL
- * for this parameter. The codec may indicate that it has no
- * preference regarding chunk alignment by setting the variable to
- * 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecGetPreferredChunkSizeAndAlignment(
- ComponentInstance ci,
- ImageDescriptionHandle desc,
- Fixed frameRate,
- UInt32 dataRate,
- long * bytesPerChunk,
- long * alignment) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0036, 0x7000, 0xA82A);
-
-
-
- /* B-Frame Capable Image Compressor Component API */
- /*
- * ImageCodecPrepareToCompressFrames()
- *
- * Summary:
- * Prepares the compressor to receive frames.
- *
- * Discussion:
- * The compressor should record session and retain
- * compressionSessionOptions for use in later calls.
- * The compressor may modify imageDescription at this point.
- * The compressor should create and return pixel buffer attributes,
- * which the ICM will release.
- * (Note: this replaces ImageCodecPreCompress.)
- *
- * Parameters:
- *
- * ci:
- * Component instance / instance globals.
- *
- * session:
- * The compressor session reference. The compressor should store
- * this in its globals; it will need it when calling the ICM back
- * (eg, to call ICMEncodedFrameCreateMutable and
- * ICMCompressorSessionEmitEncodedFrame).
- * This is not a CF type. Do not call CFRetain or CFRelease on it.
- *
- * compressionSessionOptions:
- * The session options from the client. The compressor should
- * retain this and use the settings to guide compression.
- *
- * imageDescription:
- * The image description. The compressor may add image description
- * extensions.
- *
- * reserved:
- * Reserved for future use. Ignore this parameter.
- *
- * compressorPixelBufferAttributesOut:
- * The compressor should create a pixel buffer attributes
- * dictionary and set compressorPixelBufferAttributesOut to it.
- * The ICM will release it.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecPrepareToCompressFrames(
- ComponentInstance ci,
- ICMCompressorSessionRef session,
- ICMCompressionSessionOptionsRef compressionSessionOptions,
- ImageDescriptionHandle imageDescription,
- void * reserved,
- CFDictionaryRef * compressorPixelBufferAttributesOut) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0037, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEncodeFrame()
- *
- * Summary:
- * Presents the compressor with a frame to encode.
- *
- * Discussion:
- * The compressor may encode the frame immediately or queue it for
- * later encoding. If the compressor queues the frame for later
- * decode, it must retain it (by calling
- * ICMCompressorSourceFrameRetain) and release it when it is done
- * with it (by calling ICMCompressorSourceFrameRelease).
- * Pixel buffers are guaranteed to conform to the pixel buffer
- * attributes returned by ImageCodecPrepareToCompressFrames.
- * During multipass encoding, if the compressor requested the
- * kICMCompressionPassMode_NoSourceFrames flag, the source frame
- * pixel buffers may be NULL.
- * (Note: this replaces ImageCodecBandCompress.)
- *
- * Parameters:
- *
- * ci:
- * Component instance / instance globals.
- *
- * sourceFrame:
- * The source frame to encode.
- *
- * flags:
- * Reserved; ignore.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEncodeFrame(
- ComponentInstance ci,
- ICMCompressorSourceFrameRef sourceFrame,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0038, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecCompleteFrame()
- *
- * Summary:
- * Directs the compressor to finish with a queued source frame,
- * either emitting or dropping it.
- *
- * Discussion:
- * This frame does not necessarily need to be the first or only
- * source frame emitted or dropped during this call, but the
- * compressor must call either ICMCompressorSessionDropFrame or
- * ICMCompressorSessionEmitEncodedFrame with this frame before
- * returning.
- * The ICM will call this function to force frames to be encoded for
- * the following reasons: (a) the maximum frame delay count or
- * maximum frame delay time in the compressionSessionOptions does
- * not permit frames to be queued; (b) the client has called
- * ICMCompressionSessionCompleteFrames.
- *
- * Parameters:
- *
- * ci:
- * Component instance / instance globals.
- *
- * sourceFrame:
- * The source frame that must be completed.
- *
- * flags:
- * Reserved; ignore.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecCompleteFrame(
- ComponentInstance ci,
- ICMCompressorSourceFrameRef sourceFrame,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0039, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecBeginPass()
- *
- * Summary:
- * Notifies the compressor that it should operate in multipass mode
- * and use the given multipass storage.
- *
- * Parameters:
- *
- * ci:
- * Component instance / instance globals.
- *
- * passModeFlags:
- * Indicates how the compressor should operate in this pass.
- * If the kICMCompressionPassMode_WriteToMultiPassStorage flag is
- * set, the compressor may gather information of interest and
- * store it in multiPassStorage.
- * If the kICMCompressionPassMode_ReadFromMultiPassStorage flag is
- * set, the compressor may retrieve information from
- * multiPassStorage.
- * If the kICMCompressionPassMode_OutputEncodedFrames flag is set,
- * the compressor must encode or drop every frame by calling
- * ICMCompressorSessionDropFrame or
- * ICMCompressorSessionEmitEncodedFrame. If that flag is not set,
- * the compressor should not call these routines.
- *
- * flags:
- * Reserved. Ignore this parameter.
- *
- * multiPassStorage:
- * The multipass storage object that the compressor should use to
- * store and retrieve information between passes.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecBeginPass(
- ComponentInstance ci,
- ICMCompressionPassModeFlags passModeFlags,
- UInt32 flags,
- ICMMultiPassStorageRef multiPassStorage) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003A, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEndPass()
- *
- * Summary:
- * Notifies the compressor that a pass is over.
- *
- * Parameters:
- *
- * ci:
- * Component instance / instance globals.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEndPass(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x003B, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecProcessBetweenPasses()
- *
- * Summary:
- * Gives the compressor an opportunity to perform processing between
- * passes.
- *
- * Discussion:
- * This function will be called repeatedly until it returns true in
- * *interpassProcessingDoneOut.
- * The compressor may read and write to multiPassStorage.
- * The compressor should indicate which type of pass it would prefer
- * to perform next by setting *requestedNextPassTypeOut.
- *
- * Parameters:
- *
- * ci:
- * Component instance / instance globals.
- *
- * multiPassStorage:
- * The multipass storage object that the compressor should use to
- * store and retrieve information between passes.
- *
- * interpassProcessingDoneOut:
- * Points to a Boolean. Set this to false if you want your
- * ImageCodecProcessBetweenPasses function to be called again to
- * perform more processing, true if not.
- *
- * requestedNextPassModeFlagsOut:
- * Set *requestedNextPassModeFlagsOut to indicate the type of pass
- * that should be performed next:
- * To recommend a repeated analysis pass, set it to
- * kICMCompressionPassMode_ReadFromMultiPassStorage |
- * kICMCompressionPassMode_WriteToMultiPassStorage.
- * To recommend a final encoding pass, set it to
- * kICMCompressionPassMode_ReadFromMultiPassStorage |
- * kICMCompressionPassMode_OutputEncodedFrames.
- * If source frame buffers are not necessary for the recommended
- * pass (eg, because all the required data has been copied into
- * multipass storage), set kICMCompressionPassMode_NoSourceFrames.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecProcessBetweenPasses(
- ComponentInstance ci,
- ICMMultiPassStorageRef multiPassStorage,
- Boolean * interpassProcessingDoneOut,
- ICMCompressionPassModeFlags * requestedNextPassModeFlagsOut) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003C, 0x7000, 0xA82A);
-
-
-
- /* (Selector 61 skipped) */
- /* (Selector 62 skipped) */
- /* (Selector 63 skipped) */
- /* (Selector 64 skipped) */
- /* (Selector 65 skipped) */
- /* (Selector 66 skipped) */
- /*
- * ImageCodecPreflight()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecPreflight(
- ComponentInstance ci,
- CodecDecompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecInitialize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecInitialize(
- ComponentInstance ci,
- ImageSubCodecDecompressCapabilities * cap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0201, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecBeginBand()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecBeginBand(
- ComponentInstance ci,
- CodecDecompressParams * params,
- ImageSubCodecDecompressRecord * drp,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0202, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDrawBand()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDrawBand(
- ComponentInstance ci,
- ImageSubCodecDecompressRecord * drp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0203, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEndBand()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEndBand(
- ComponentInstance ci,
- ImageSubCodecDecompressRecord * drp,
- OSErr result,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0204, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecQueueStarting()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecQueueStarting(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0205, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecQueueStopping()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecQueueStopping(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0206, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDroppingFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDroppingFrame(
- ComponentInstance ci,
- const ImageSubCodecDecompressRecord * drp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0207, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecScheduleFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecScheduleFrame(
- ComponentInstance ci,
- const ImageSubCodecDecompressRecord * drp,
- ImageCodecTimeTriggerUPP triggerProc,
- void * triggerProcRefCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0208, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecCancelTrigger()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecCancelTrigger(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0209, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecDecodeBand()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecDecodeBand(
- ComponentInstance ci,
- ImageSubCodecDecompressRecord * drp,
- unsigned long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x020F, 0x7000, 0xA82A);
-
-
-
-
-
- /* selectors for component calls */
- enum
- {
- kImageCodecGetCodecInfoSelect = 0x0000,
- kImageCodecGetCompressionTimeSelect = 0x0001,
- kImageCodecGetMaxCompressionSizeSelect = 0x0002,
- kImageCodecPreCompressSelect = 0x0003,
- kImageCodecBandCompressSelect = 0x0004,
- kImageCodecPreDecompressSelect = 0x0005,
- kImageCodecBandDecompressSelect = 0x0006,
- kImageCodecBusySelect = 0x0007,
- kImageCodecGetCompressedImageSizeSelect = 0x0008,
- kImageCodecGetSimilaritySelect = 0x0009,
- kImageCodecTrimImageSelect = 0x000A,
- kImageCodecRequestSettingsSelect = 0x000B,
- kImageCodecGetSettingsSelect = 0x000C,
- kImageCodecSetSettingsSelect = 0x000D,
- kImageCodecFlushSelect = 0x000E,
- kImageCodecSetTimeCodeSelect = 0x000F,
- kImageCodecIsImageDescriptionEquivalentSelect = 0x0010,
- kImageCodecNewMemorySelect = 0x0011,
- kImageCodecDisposeMemorySelect = 0x0012,
- kImageCodecHitTestDataSelect = 0x0013,
- kImageCodecNewImageBufferMemorySelect = 0x0014,
- kImageCodecExtractAndCombineFieldsSelect = 0x0015,
- kImageCodecGetMaxCompressionSizeWithSourcesSelect = 0x0016,
- kImageCodecSetTimeBaseSelect = 0x0017,
- kImageCodecSourceChangedSelect = 0x0018,
- kImageCodecFlushFrameSelect = 0x0019,
- kImageCodecGetSettingsAsTextSelect = 0x001A,
- kImageCodecGetParameterListHandleSelect = 0x001B,
- kImageCodecGetParameterListSelect = 0x001C,
- kImageCodecCreateStandardParameterDialogSelect = 0x001D,
- kImageCodecIsStandardParameterDialogEventSelect = 0x001E,
- kImageCodecDismissStandardParameterDialogSelect = 0x001F,
- kImageCodecStandardParameterDialogDoActionSelect = 0x0020,
- kImageCodecNewImageGWorldSelect = 0x0021,
- kImageCodecDisposeImageGWorldSelect = 0x0022,
- kImageCodecHitTestDataWithFlagsSelect = 0x0023,
- kImageCodecValidateParametersSelect = 0x0024,
- kImageCodecGetBaseMPWorkFunctionSelect = 0x0025,
- kImageCodecLockBitsSelect = 0x0026,
- kImageCodecUnlockBitsSelect = 0x0027,
- kImageCodecRequestGammaLevelSelect = 0x0028,
- kImageCodecGetSourceDataGammaLevelSelect = 0x0029,
- kImageCodecGetDecompressLatencySelect = 0x002B,
- kImageCodecMergeFloatingImageOntoWindowSelect = 0x002C,
- kImageCodecRemoveFloatingImageSelect = 0x002D,
- kImageCodecGetDITLForSizeSelect = 0x002E,
- kImageCodecDITLInstallSelect = 0x002F,
- kImageCodecDITLEventSelect = 0x0030,
- kImageCodecDITLItemSelect = 0x0031,
- kImageCodecDITLRemoveSelect = 0x0032,
- kImageCodecDITLValidateInputSelect = 0x0033,
- kImageCodecGetPreferredChunkSizeAndAlignmentSelect = 0x0036,
- kImageCodecPrepareToCompressFramesSelect = 0x0037,
- kImageCodecEncodeFrameSelect = 0x0038,
- kImageCodecCompleteFrameSelect = 0x0039,
- kImageCodecBeginPassSelect = 0x003A,
- kImageCodecEndPassSelect = 0x003B,
- kImageCodecProcessBetweenPassesSelect = 0x003C,
- kImageCodecPreflightSelect = 0x0200,
- kImageCodecInitializeSelect = 0x0201,
- kImageCodecBeginBandSelect = 0x0202,
- kImageCodecDrawBandSelect = 0x0203,
- kImageCodecEndBandSelect = 0x0204,
- kImageCodecQueueStartingSelect = 0x0205,
- kImageCodecQueueStoppingSelect = 0x0206,
- kImageCodecDroppingFrameSelect = 0x0207,
- kImageCodecScheduleFrameSelect = 0x0208,
- kImageCodecCancelTriggerSelect = 0x0209,
- kImageCodecDecodeBandSelect = 0x020F
- };
-
-
-
-
-
-
-
-
- enum
- {
- kMotionJPEGTag = FOUR_CHAR_CODE('mjpg'),
- kJPEGQuantizationTablesImageDescriptionExtension = FOUR_CHAR_CODE('mjqt'),
- kJPEGHuffmanTablesImageDescriptionExtension = FOUR_CHAR_CODE('mjht'),
- kFieldInfoImageDescriptionExtension = FOUR_CHAR_CODE('fiel') /* image description extension describing the field count and field orderings*/
- };
-
- enum
- {
- kFieldOrderUnknown = 0,
- kFieldsStoredF1F2DisplayedF1F2 = 1,
- kFieldsStoredF1F2DisplayedF2F1 = 2,
- kFieldsStoredF2F1DisplayedF1F2 = 5,
- kFieldsStoredF2F1DisplayedF2F1 = 6
- };
-
- struct MotionJPEGApp1Marker
- {
- long unused;
- long tag;
- long fieldSize;
- long paddedFieldSize;
- long offsetToNextField;
- long qTableOffset;
- long huffmanTableOffset;
- long sofOffset;
- long sosOffset;
- long soiOffset;
- };
- typedef struct MotionJPEGApp1Marker MotionJPEGApp1Marker;
- struct FieldInfoImageDescriptionExtension
- {
- UInt8 fieldCount;
- UInt8 fieldOrderings;
- };
- typedef struct FieldInfoImageDescriptionExtension FieldInfoImageDescriptionExtension;
-
- /*
- * QTPhotoSetSampling()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTPhotoSetSampling(
- ComponentInstance codec,
- short yH,
- short yV,
- short cbH,
- short cbV,
- short crH,
- short crV) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * QTPhotoSetRestartInterval()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTPhotoSetRestartInterval(
- ComponentInstance codec,
- unsigned short restartInterval) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * QTPhotoDefineHuffmanTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTPhotoDefineHuffmanTable(
- ComponentInstance codec,
- short componentNumber,
- Boolean isDC,
- unsigned char * lengthCounts,
- unsigned char * values) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * QTPhotoDefineQuantizationTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTPhotoDefineQuantizationTable(
- ComponentInstance codec,
- short componentNumber,
- unsigned char * table) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0103, 0x7000, 0xA82A);
-
-
-
- /* selectors for component calls */
- enum
- {
- kQTPhotoSetSamplingSelect = 0x0100,
- kQTPhotoSetRestartIntervalSelect = 0x0101,
- kQTPhotoDefineHuffmanTableSelect = 0x0102,
- kQTPhotoDefineQuantizationTableSelect = 0x0103
- };
-
- /*
- * Summary:
- * Properties for image compressor components
- */
- enum
- {
-
- /*
- * Property class for image compressor components.
- */
- kQTPropertyClass_ImageCompressor = FOUR_CHAR_CODE('imco')
- };
-
-
- /*
- * Summary:
- * Enforced properties for image compressor components
- *
- * Discussion:
- * Image compressors that sometimes or always restrict image
- * dimensions, clean aperture and/or pixel aspect ratio should
- * support these properties.
- * If these properties can change dynamically for a compressor (eg,
- * in response to user interaction) then the properties should be
- * listenable, and the compressor should call the listeners whenever
- * the properties change. (In this case, the component's
- * GetComponentPropertyInfo function should set the
- * kComponentPropertyFlagWillNotifyListeners flag.)
- * If a compressor has a mode in which these properties are
- * flexible, then when the component is in that mode, (a) the
- * component's GetComponentProperty function should return
- * kQTPropertyAskLaterErr for these properties, and (b) the
- * component's GetComponentPropertyInfo function should set the
- * kComponentPropertyFlagCanGetLater flag for these properties.
- */
- enum
- {
-
- /*
- * The encoded width enforced for compressed frames.
- */
- kICMImageCompressorPropertyID_EnforcedEncodedWidth = FOUR_CHAR_CODE('enwi'), /* SInt32, Read/Sometimes Listen */
-
- /*
- * The encoded height enforced for compressed frames.
- */
- kICMImageCompressorPropertyID_EnforcedEncodedHeight = FOUR_CHAR_CODE('enhe'), /* SInt32, Read/Sometimes Listen */
-
- /*
- * The clean aperture enforced for compressed frames.
- */
- kICMImageCompressorPropertyID_EnforcedCleanAperture = FOUR_CHAR_CODE('encl'), /* CleanApertureImageDescriptionExtension, Read/Sometimes Listen */
-
- /*
- * The pixel aspect ratio enforced for compressed frames.
- */
- kICMImageCompressorPropertyID_EnforcedPixelAspectRatio = FOUR_CHAR_CODE('enpa'), /* PixelAspectRatioImageDescriptionExtension, Read/Sometimes Listen */
-
- /*
- * The number and order of fields enforced for compressed frames.
- */
- kICMImageCompressorPropertyID_EnforcedFieldInfo = FOUR_CHAR_CODE('enfi') /* FieldInfoImageDescriptionExtension2, Read/Sometimes Listen */
- };
-
-
-
- /*
- * Summary:
- * DV Compressor Component Properties.
- */
- enum
- {
-
- /*
- * Property class for DV compressors. (Applicable to DV25, DV50,
- * NTSC, PAL, PROPAL.)
- */
- kQTPropertyClass_DVCompressor = FOUR_CHAR_CODE('dvco'),
-
- /*
- * If set, indicates that the compressed frames should be marked as
- * progressive-scan. By default, this flag is clear, meaning that
- * frames should be marked as interlaced.
- */
- kDVCompressorPropertyID_ProgressiveScan = FOUR_CHAR_CODE('prog'), /* Boolean, Read/Write */
-
- /*
- * If set, indicates that the compressor should use a 16:9 picture
- * aspect ratio. If clear, the compressor will use the default 4:3
- * picture aspect ratio.
- */
- kDVCompressorPropertyID_AspectRatio16x9 = FOUR_CHAR_CODE('16x9') /* Boolean, Read/Write */
- };
-
-
-
- /* source identifier -- placed in root container of description, one or more required */
- enum
- {
- kEffectSourceName = FOUR_CHAR_CODE('src ')
- };
-
-
- /* source type -- placed in the input map to identify the source kind */
- enum
- {
- kEffectDataSourceType = FOUR_CHAR_CODE('dtst')
- };
-
- /* default effect types */
- enum
- {
- kEffectRawSource = 0, /* the source is raw image data*/
- kEffectGenericType = FOUR_CHAR_CODE('geff') /* generic effect for combining others*/
- };
-
- typedef struct EffectSource EffectSource;
-
- typedef EffectSource * EffectSourcePtr;
- union SourceData
- {
- CDSequenceDataSourcePtr image;
- EffectSourcePtr effect;
- };
- typedef union SourceData SourceData;
- struct EffectSource
- {
- long effectType; /* type of effect or kEffectRawSource if raw ICM data*/
- Ptr data; /* track data for this effect*/
- SourceData source; /* source/effect pointers*/
- EffectSourcePtr next; /* the next source for the parent effect*/
-
- /* fields added for QuickTime 4.0*/
- TimeValue lastTranslatedFrameTime; /* start frame time of last converted frame, may be -1*/
- TimeValue lastFrameDuration; /* duration of the last converted frame, may be zero*/
- TimeValue lastFrameTimeScale; /* time scale of this source frame, only has meaning if above fields are valid*/
- };
-
- struct ICMFrameTimeRecord_QT3
- {
- wide value; /* frame display time*/
- long scale; /* timescale of value/duration fields*/
- void * base; /* timebase*/
-
- long duration; /* duration frame is to be displayed (0 if unknown)*/
- Fixed rate; /* rate of timebase relative to wall-time*/
-
- long recordSize; /* total number of bytes in ICMFrameTimeRecord*/
-
- long frameNumber; /* number of frame, zero if not known*/
-
- long flags;
-
- wide virtualStartTime; /* conceptual start time*/
- long virtualDuration; /* conceptual duration*/
- };
- typedef struct ICMFrameTimeRecord_QT3 ICMFrameTimeRecord_QT3;
- struct EffectsFrameParams
- {
- ICMFrameTimeRecord_QT3 frameTime; /* timing data (uses non-extended ICMFrameTimeRecord)*/
- long effectDuration; /* the duration of a single effect frame*/
- Boolean doAsync; /* set to true if the effect can go async*/
- unsigned char pad[3];
- EffectSourcePtr source; /* ptr to the source input tree*/
- void * refCon; /* storage for the effect*/
- };
- typedef struct EffectsFrameParams EffectsFrameParams;
- typedef EffectsFrameParams * EffectsFrameParamsPtr;
-
- /*
- * ImageCodecEffectSetup()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectSetup(
- ComponentInstance effect,
- CodecDecompressParams * p) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0300, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEffectBegin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectBegin(
- ComponentInstance effect,
- CodecDecompressParams * p,
- EffectsFrameParamsPtr ePtr) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0301, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEffectRenderFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectRenderFrame(
- ComponentInstance effect,
- EffectsFrameParamsPtr p) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0302, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEffectConvertEffectSourceToFormat()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectConvertEffectSourceToFormat(
- ComponentInstance effect,
- EffectSourcePtr sourceToConvert,
- ImageDescriptionHandle requestedDesc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0303, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEffectCancel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectCancel(
- ComponentInstance effect,
- EffectsFrameParamsPtr p) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0304, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEffectGetSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectGetSpeed(
- ComponentInstance effect,
- QTAtomContainer parameters,
- Fixed * pFPS) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0305, 0x7000, 0xA82A);
-
-
-
- enum
- {
- kSMPTENoFlag = 0,
- kSMPTESmoothEdgeFlag = 0x01, /* smooth edges of the stroke*/
- kSMPTEStrokeEdgeFlag = 0x02 /* stroke edge with color*/
- };
-
- typedef long SMPTEFlags;
- typedef long SMPTEFrameReference;
- enum
- {
- kSlideHorizontalWipe = 1,
- kSlideVerticalWipe = 2,
- kTopLeftWipe = 3,
- kTopRightWipe = 4,
- kBottomRightWipe = 5,
- kBottomLeftWipe = 6,
- kFourCornerWipe = 7,
- kFourBoxWipe = 8,
- kBarnVerticalWipe = 21,
- kBarnHorizontalWipe = 22,
- kTopCenterWipe = 23,
- kRightCenterWipe = 24,
- kBottomCenterWipe = 25,
- kLeftCenterWipe = 26,
- kDiagonalLeftDownWipe = 41,
- kDiagonalRightDownWipe = 42,
- kTopBottomBowTieWipe = 43,
- kLeftRightBowTieWipe = 44,
- kDiagonalLeftOutWipe = 45,
- kDiagonalRightOutWipe = 46,
- kDiagonalCrossWipe = 47,
- kDiagonalBoxWipe = 48,
- kFilledVWipe = 61,
- kFilledVRightWipe = 62,
- kFilledVBottomWipe = 63,
- kFilledVLeftWipe = 64,
- kHollowVWipe = 65,
- kHollowVRightWipe = 66,
- kHollowVBottomWipe = 67,
- kHollowVLeftWipe = 68,
- kVerticalZigZagWipe = 71,
- kHorizontalZigZagWipe = 72,
- kVerticalBarnZigZagWipe = 73,
- kHorizontalBarnZigZagWipe = 74
- };
-
- enum
- {
- kRectangleWipe = 101,
- kDiamondWipe = 102,
- kTriangleWipe = 103,
- kTriangleRightWipe = 104,
- kTriangleUpsideDownWipe = 105,
- kTriangleLeftWipe = 106,
- kSpaceShipWipe = 107,
- kSpaceShipRightWipe = 108,
- kSpaceShipUpsideDownWipe = 109,
- kSpaceShipLeftWipe = 110,
- kPentagonWipe = 111,
- kPentagonUpsideDownWipe = 112,
- kHexagonWipe = 113,
- kHexagonSideWipe = 114,
- kCircleWipe = 119,
- kOvalWipe = 120,
- kOvalSideWipe = 121,
- kCatEyeWipe = 122,
- kCatEyeSideWipe = 123,
- kRoundRectWipe = 124,
- kRoundRectSideWipe = 125,
- kFourPointStarWipe = 127,
- kFivePointStarWipe = 128,
- kStarOfDavidWipe = 129,
- kHeartWipe = 130,
- kKeyholeWipe = 131
- };
-
- enum
- {
- kRotatingTopWipe = 201,
- kRotatingRightWipe = 202,
- kRotatingBottomWipe = 203,
- kRotatingLeftWipe = 204,
- kRotatingTopBottomWipe = 205,
- kRotatingLeftRightWipe = 206,
- kRotatingQuadrantWipe = 207,
- kTopToBottom180Wipe = 211,
- kRightToLeft180Wipe = 212,
- kTopToBottom90Wipe = 213,
- kRightToLeft90Wipe = 214,
- kTop180Wipe = 221,
- kRight180Wipe = 222,
- kBottom180Wipe = 223,
- kLeft180Wipe = 224,
- kCounterRotatingTopBottomWipe = 225,
- kCounterRotatingLeftRightWipe = 226,
- kDoubleRotatingTopBottomWipe = 227,
- kDoubleRotatingLeftRightWipe = 228,
- kVOpenTopWipe = 231,
- kVOpenRightWipe = 232,
- kVOpenBottomWipe = 233,
- kVOpenLeftWipe = 234,
- kVOpenTopBottomWipe = 235,
- kVOpenLeftRightWipe = 236,
- kRotatingTopLeftWipe = 241,
- kRotatingBottomLeftWipe = 242,
- kRotatingBottomRightWipe = 243,
- kRotatingTopRightWipe = 244,
- kRotatingTopLeftBottomRightWipe = 245,
- kRotatingBottomLeftTopRightWipe = 246,
- kRotatingTopLeftRightWipe = 251,
- kRotatingLeftTopBottomWipe = 252,
- kRotatingBottomLeftRightWipe = 253,
- kRotatingRightTopBottomWipe = 254,
- kRotatingDoubleCenterRightWipe = 261,
- kRotatingDoubleCenterTopWipe = 262,
- kRotatingDoubleCenterTopBottomWipe = 263,
- kRotatingDoubleCenterLeftRightWipe = 264
- };
-
- enum
- {
- kHorizontalMatrixWipe = 301,
- kVerticalMatrixWipe = 302,
- kTopLeftDiagonalMatrixWipe = 303,
- kTopRightDiagonalMatrixWipe = 304,
- kBottomRightDiagonalMatrixWipe = 305,
- kBottomLeftDiagonalMatrixWipe = 306,
- kClockwiseTopLeftMatrixWipe = 310,
- kClockwiseTopRightMatrixWipe = 311,
- kClockwiseBottomRightMatrixWipe = 312,
- kClockwiseBottomLeftMatrixWipe = 313,
- kCounterClockwiseTopLeftMatrixWipe = 314,
- kCounterClockwiseTopRightMatrixWipe = 315,
- kCounterClockwiseBottomRightMatrixWipe = 316,
- kCounterClockwiseBottomLeftMatrixWipe = 317,
- kVerticalStartTopMatrixWipe = 320,
- kVerticalStartBottomMatrixWipe = 321,
- kVerticalStartTopOppositeMatrixWipe = 322,
- kVerticalStartBottomOppositeMatrixWipe = 323,
- kHorizontalStartLeftMatrixWipe = 324,
- kHorizontalStartRightMatrixWipe = 325,
- kHorizontalStartLeftOppositeMatrixWipe = 326,
- kHorizontalStartRightOppositeMatrixWipe = 327,
- kDoubleDiagonalTopRightMatrixWipe = 328,
- kDoubleDiagonalBottomRightMatrixWipe = 329,
- kDoubleSpiralTopMatixWipe = 340,
- kDoubleSpiralBottomMatixWipe = 341,
- kDoubleSpiralLeftMatixWipe = 342,
- kDoubleSpiralRightMatixWipe = 343,
- kQuadSpiralVerticalMatixWipe = 344,
- kQuadSpiralHorizontalMatixWipe = 345,
- kVerticalWaterfallLeftMatrixWipe = 350,
- kVerticalWaterfallRightMatrixWipe = 351,
- kHorizontalWaterfallLeftMatrixWipe = 352,
- kHorizontalWaterfallRightMatrixWipe = 353,
- kRandomWipe = 409, /* non-SMPTE standard numbers*/
- kRandomWipeGroupWipe = 501,
- kRandomIrisGroupWipe = 502,
- kRandomRadialGroupWipe = 503,
- kRandomMatrixGroupWipe = 504
- };
-
- typedef unsigned long SMPTEWipeType;
- /*
- * ImageCodecEffectPrepareSMPTEFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectPrepareSMPTEFrame(
- ComponentInstance effect,
- PixMapPtr destPixMap,
- SMPTEFrameReference * returnValue) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEffectDisposeSMPTEFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectDisposeSMPTEFrame(
- ComponentInstance effect,
- SMPTEFrameReference frameRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * ImageCodecEffectRenderSMPTEFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageCodecEffectRenderSMPTEFrame(
- ComponentInstance effect,
- PixMapPtr destPixMap,
- SMPTEFrameReference frameRef,
- Fixed effectPercentageEven,
- Fixed effectPercentageOdd,
- Rect * pSourceRect,
- MatrixRecord * matrixP,
- SMPTEWipeType effectNumber,
- long xRepeat,
- long yRepeat,
- SMPTEFlags flags,
- Fixed penWidth,
- long strokeValue) FIVEWORDINLINE(0x2F3C, 0x0030, 0x0102, 0x7000, 0xA82A);
-
-
-
- /* selectors for component calls */
- enum
- {
- kImageCodecEffectSetupSelect = 0x0300,
- kImageCodecEffectBeginSelect = 0x0301,
- kImageCodecEffectRenderFrameSelect = 0x0302,
- kImageCodecEffectConvertEffectSourceToFormatSelect = 0x0303,
- kImageCodecEffectCancelSelect = 0x0304,
- kImageCodecEffectGetSpeedSelect = 0x0305,
- kImageCodecEffectPrepareSMPTEFrameSelect = 0x0100,
- kImageCodecEffectDisposeSMPTEFrameSelect = 0x0101,
- kImageCodecEffectRenderSMPTEFrameSelect = 0x0102
- };
-
-
- /* curve atom types and data structures */
- enum
- {
- kCurvePathAtom = FOUR_CHAR_CODE('path'),
- kCurveEndAtom = FOUR_CHAR_CODE('zero'),
- kCurveAntialiasControlAtom = FOUR_CHAR_CODE('anti'),
- kCurveAntialiasOff = 0,
- kCurveAntialiasOn = (long)0xFFFFFFFF,
- kCurveFillTypeAtom = FOUR_CHAR_CODE('fill'),
- kCurvePenThicknessAtom = FOUR_CHAR_CODE('pent'),
- kCurveMiterLimitAtom = FOUR_CHAR_CODE('mitr'),
- kCurveJoinAttributesAtom = FOUR_CHAR_CODE('join'),
- kCurveMinimumDepthAtom = FOUR_CHAR_CODE('mind'),
- kCurveDepthAlwaysOffscreenMask = (long)0x80000000,
- kCurveTransferModeAtom = FOUR_CHAR_CODE('xfer'),
- kCurveGradientAngleAtom = FOUR_CHAR_CODE('angl'),
- kCurveGradientRadiusAtom = FOUR_CHAR_CODE('radi'),
- kCurveGradientOffsetAtom = FOUR_CHAR_CODE('cent')
- };
-
- enum
- {
- kCurveARGBColorAtom = FOUR_CHAR_CODE('argb')
- };
-
- struct ARGBColor
- {
- unsigned short alpha;
- unsigned short red;
- unsigned short green;
- unsigned short blue;
- };
- typedef struct ARGBColor ARGBColor;
- enum
- {
- kCurveGradientRecordAtom = FOUR_CHAR_CODE('grad')
- };
-
- struct GradientColorRecord
- {
- ARGBColor thisColor;
- Fixed endingPercentage;
- };
- typedef struct GradientColorRecord GradientColorRecord;
- typedef GradientColorRecord * GradientColorPtr;
- enum
- {
- kCurveGradientTypeAtom = FOUR_CHAR_CODE('grdt')
- };
-
- /* currently supported gradient types */
- enum
- {
- kLinearGradient = 0,
- kCircularGradient = 1
- };
-
- typedef long GradientType;
- /*
- * CurveGetLength()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveGetLength(
- ComponentInstance effect,
- gxPaths * target,
- long index,
- wide * wideLength) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * CurveLengthToPoint()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveLengthToPoint(
- ComponentInstance effect,
- gxPaths * target,
- long index,
- Fixed length,
- FixedPoint * location,
- FixedPoint * tangent) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * CurveNewPath()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveNewPath(
- ComponentInstance effect,
- Handle * pPath) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * CurveCountPointsInPath()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveCountPointsInPath(
- ComponentInstance effect,
- gxPaths * aPath,
- unsigned long contourIndex,
- unsigned long * pCount) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * CurveGetPathPoint()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveGetPathPoint(
- ComponentInstance effect,
- gxPaths * aPath,
- unsigned long contourIndex,
- unsigned long pointIndex,
- gxPoint * thePoint,
- Boolean * ptIsOnPath) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * CurveInsertPointIntoPath()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveInsertPointIntoPath(
- ComponentInstance effect,
- gxPoint * aPoint,
- Handle thePath,
- unsigned long contourIndex,
- unsigned long pointIndex,
- Boolean ptIsOnPath) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * CurveSetPathPoint()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveSetPathPoint(
- ComponentInstance effect,
- gxPaths * aPath,
- unsigned long contourIndex,
- unsigned long pointIndex,
- gxPoint * thePoint,
- Boolean ptIsOnPath) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * CurveGetNearestPathPoint()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveGetNearestPathPoint(
- ComponentInstance effect,
- gxPaths * aPath,
- FixedPoint * thePoint,
- unsigned long * contourIndex,
- unsigned long * pointIndex,
- Fixed * theDelta) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * CurvePathPointToLength()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurvePathPointToLength(
- ComponentInstance ci,
- gxPaths * aPath,
- Fixed startDist,
- Fixed endDist,
- FixedPoint * thePoint,
- Fixed * pLength) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0108, 0x7000, 0xA82A);
-
-
- /*
- * CurveCreateVectorStream()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveCreateVectorStream(
- ComponentInstance effect,
- Handle * pStream) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * CurveAddAtomToVectorStream()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveAddAtomToVectorStream(
- ComponentInstance effect,
- OSType atomType,
- Size atomSize,
- void * pAtomData,
- Handle vectorStream) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010A, 0x7000, 0xA82A);
-
-
- /*
- * CurveAddPathAtomToVectorStream()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveAddPathAtomToVectorStream(
- ComponentInstance effect,
- Handle pathData,
- Handle vectorStream) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010B, 0x7000, 0xA82A);
-
-
- /*
- * CurveAddZeroAtomToVectorStream()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveAddZeroAtomToVectorStream(
- ComponentInstance effect,
- Handle vectorStream) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010C, 0x7000, 0xA82A);
-
-
- /*
- * CurveGetAtomDataFromVectorStream()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- CurveGetAtomDataFromVectorStream(
- ComponentInstance effect,
- Handle vectorStream,
- long atomType,
- long * dataSize,
- Ptr * dataPtr) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010D, 0x7000, 0xA82A);
-
-
-
-
- /* selectors for component calls */
- enum
- {
- kCurveGetLengthSelect = 0x0100,
- kCurveLengthToPointSelect = 0x0101,
- kCurveNewPathSelect = 0x0102,
- kCurveCountPointsInPathSelect = 0x0103,
- kCurveGetPathPointSelect = 0x0104,
- kCurveInsertPointIntoPathSelect = 0x0105,
- kCurveSetPathPointSelect = 0x0106,
- kCurveGetNearestPathPointSelect = 0x0107,
- kCurvePathPointToLengthSelect = 0x0108,
- kCurveCreateVectorStreamSelect = 0x0109,
- kCurveAddAtomToVectorStreamSelect = 0x010A,
- kCurveAddPathAtomToVectorStreamSelect = 0x010B,
- kCurveAddZeroAtomToVectorStreamSelect = 0x010C,
- kCurveGetAtomDataFromVectorStreamSelect = 0x010D
- };
- /* UPP call backs */
+/* codec selectors 0-127 are reserved by Apple */
+/* codec selectors 128-191 are subtype specific */
+/* codec selectors 192-255 are vendor specific */
+/* codec selectors 256-511 are available for general use */
+/* codec selectors 512-1023 are reserved by Apple */
+/* codec selectors 1024-32767 are available for general use */
+/* negative selectors are reserved by the Component Manager */
+/*
+ * ImageCodecGetCodecInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetCodecInfo(
+ ComponentInstance ci,
+ CodecInfo * info) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetCompressionTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetCompressionTime(
+ ComponentInstance ci,
+ PixMapHandle src,
+ const Rect * srcRect,
+ short depth,
+ CodecQ * spatialQuality,
+ CodecQ * temporalQuality,
+ unsigned long * time) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetMaxCompressionSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetMaxCompressionSize(
+ ComponentInstance ci,
+ PixMapHandle src,
+ const Rect * srcRect,
+ short depth,
+ CodecQ quality,
+ long * size) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecPreCompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecPreCompress(
+ ComponentInstance ci,
+ CodecCompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecBandCompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecBandCompress(
+ ComponentInstance ci,
+ CodecCompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecPreDecompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecPreDecompress(
+ ComponentInstance ci,
+ CodecDecompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecBandDecompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecBandDecompress(
+ ComponentInstance ci,
+ CodecDecompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecBusy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecBusy(
+ ComponentInstance ci,
+ ImageSequence seq) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetCompressedImageSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetCompressedImageSize(
+ ComponentInstance ci,
+ ImageDescriptionHandle desc,
+ Ptr data,
+ long bufferSize,
+ ICMDataProcRecordPtr dataProc,
+ long * dataSize) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetSimilarity()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetSimilarity(
+ ComponentInstance ci,
+ PixMapHandle src,
+ const Rect * srcRect,
+ ImageDescriptionHandle desc,
+ Ptr data,
+ Fixed * similarity) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecTrimImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecTrimImage(
+ ComponentInstance ci,
+ ImageDescriptionHandle Desc,
+ Ptr inData,
+ long inBufferSize,
+ ICMDataProcRecordPtr dataProc,
+ Ptr outData,
+ long outBufferSize,
+ ICMFlushProcRecordPtr flushProc,
+ Rect * trimRect,
+ ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0024, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecRequestSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecRequestSettings(
+ ComponentInstance ci,
+ Handle settings,
+ Rect * rp,
+ ModalFilterUPP filterProc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetSettings(
+ ComponentInstance ci,
+ Handle settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecSetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecSetSettings(
+ ComponentInstance ci,
+ Handle settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecFlush()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecFlush(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecSetTimeCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecSetTimeCode(
+ ComponentInstance ci,
+ void * timeCodeFormat,
+ void * timeCodeTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecIsImageDescriptionEquivalent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecIsImageDescriptionEquivalent(
+ ComponentInstance ci,
+ ImageDescriptionHandle newDesc,
+ Boolean * equivalent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecNewMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecNewMemory(
+ ComponentInstance ci,
+ Ptr * data,
+ Size dataSize,
+ long dataUse,
+ ICMMemoryDisposedUPP memoryGoneProc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDisposeMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDisposeMemory(
+ ComponentInstance ci,
+ Ptr data) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecHitTestData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecHitTestData(
+ ComponentInstance ci,
+ ImageDescriptionHandle desc,
+ void * data,
+ Size dataSize,
+ Point where,
+ Boolean * hit) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecNewImageBufferMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecNewImageBufferMemory(
+ ComponentInstance ci,
+ CodecDecompressParams * params,
+ long flags,
+ ICMMemoryDisposedUPP memoryGoneProc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecExtractAndCombineFields()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecExtractAndCombineFields(
+ ComponentInstance ci,
+ long fieldFlags,
+ void * data1,
+ long dataSize1,
+ ImageDescriptionHandle desc1,
+ void * data2,
+ long dataSize2,
+ ImageDescriptionHandle desc2,
+ void * outputData,
+ long * outDataSize,
+ ImageDescriptionHandle descOut) FIVEWORDINLINE(0x2F3C, 0x0028, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetMaxCompressionSizeWithSources()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetMaxCompressionSizeWithSources(
+ ComponentInstance ci,
+ PixMapHandle src,
+ const Rect * srcRect,
+ short depth,
+ CodecQ quality,
+ CDSequenceDataSourcePtr sourceData,
+ long * size) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecSetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecSetTimeBase(
+ ComponentInstance ci,
+ void * base) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecSourceChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecSourceChanged(
+ ComponentInstance ci,
+ UInt32 majorSourceChangeSeed,
+ UInt32 minorSourceChangeSeed,
+ CDSequenceDataSourcePtr sourceData,
+ long * flagsOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecFlushFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecFlushFrame(
+ ComponentInstance ci,
+ UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetSettingsAsText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetSettingsAsText(
+ ComponentInstance ci,
+ Handle * text) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetParameterListHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetParameterListHandle(
+ ComponentInstance ci,
+ Handle * parameterDescriptionHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetParameterList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetParameterList(
+ ComponentInstance ci,
+ QTAtomContainer * parameterDescription) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecCreateStandardParameterDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecCreateStandardParameterDialog(
+ ComponentInstance ci,
+ QTAtomContainer parameterDescription,
+ QTAtomContainer parameters,
+ QTParameterDialogOptions dialogOptions,
+ DialogPtr existingDialog,
+ short existingUserItem,
+ QTParameterDialog * createdDialog) FIVEWORDINLINE(0x2F3C, 0x0016, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecIsStandardParameterDialogEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecIsStandardParameterDialogEvent(
+ ComponentInstance ci,
+ EventRecord * pEvent,
+ QTParameterDialog createdDialog) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDismissStandardParameterDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDismissStandardParameterDialog(
+ ComponentInstance ci,
+ QTParameterDialog createdDialog) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecStandardParameterDialogDoAction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecStandardParameterDialogDoAction(
+ ComponentInstance ci,
+ QTParameterDialog createdDialog,
+ long action,
+ void * params) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0020, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecNewImageGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecNewImageGWorld(
+ ComponentInstance ci,
+ CodecDecompressParams * params,
+ GWorldPtr * newGW,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDisposeImageGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDisposeImageGWorld(
+ ComponentInstance ci,
+ GWorldPtr theGW) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecHitTestDataWithFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecHitTestDataWithFlags(
+ ComponentInstance ci,
+ ImageDescriptionHandle desc,
+ void * data,
+ Size dataSize,
+ Point where,
+ long * hit,
+ long hitFlags) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0023, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecValidateParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecValidateParameters(
+ ComponentInstance ci,
+ QTAtomContainer parameters,
+ QTParameterValidationOptions validationFlags,
+ StringPtr errorString) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetBaseMPWorkFunction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetBaseMPWorkFunction(
+ ComponentInstance ci,
+ ComponentMPWorkFunctionUPP * workFunction,
+ void ** refCon,
+ ImageCodecMPDrawBandUPP drawProc,
+ void * drawProcRefCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0025, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecLockBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecLockBits(
+ ComponentInstance ci,
+ CGrafPtr port) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecUnlockBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecUnlockBits(
+ ComponentInstance ci,
+ CGrafPtr port) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecRequestGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecRequestGammaLevel(
+ ComponentInstance ci,
+ Fixed srcGammaLevel,
+ Fixed dstGammaLevel,
+ long * codecCanMatch) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0028, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetSourceDataGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetSourceDataGammaLevel(
+ ComponentInstance ci,
+ Fixed * sourceDataGammaLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0029, 0x7000, 0xA82A);
+
+
+/* (Selector 42 skipped) */
+/*
+ * ImageCodecGetDecompressLatency()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetDecompressLatency(
+ ComponentInstance ci,
+ TimeRecord * latency) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecMergeFloatingImageOntoWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecMergeFloatingImageOntoWindow(
+ ComponentInstance ci,
+ UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecRemoveFloatingImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecRemoveFloatingImage(
+ ComponentInstance ci,
+ UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002D, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecGetDITLForSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetDITLForSize(
+ ComponentInstance ci,
+ Handle * ditl,
+ Point * requestedSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDITLInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDITLInstall(
+ ComponentInstance ci,
+ DialogRef d,
+ short itemOffset) FIVEWORDINLINE(0x2F3C, 0x0006, 0x002F, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDITLEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDITLEvent(
+ ComponentInstance ci,
+ DialogRef d,
+ short itemOffset,
+ const EventRecord * theEvent,
+ short * itemHit,
+ Boolean * handled) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0030, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDITLItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDITLItem(
+ ComponentInstance ci,
+ DialogRef d,
+ short itemOffset,
+ short itemNum) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDITLRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDITLRemove(
+ ComponentInstance ci,
+ DialogRef d,
+ short itemOffset) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0032, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDITLValidateInput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDITLValidateInput(
+ ComponentInstance ci,
+ Boolean * ok) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
+
+
+/* (Selector 52 skipped) */
+/* (Selector 53 skipped) */
+/*
+ * ImageCodecGetPreferredChunkSizeAndAlignment()
+ *
+ * Summary:
+ * Returns the preferences of an image decompressor for the chunking
+ * of image data within a container, e.g. a movie file.
+ *
+ * Discussion:
+ * If you are writing image data to a container, you can optimize
+ * the subsequent loading of the image data for playback and other
+ * operations by chunking multiple samples of image data together.
+ * This function can be called to determine whether an image
+ * decompressor has special chunking preferences.
+ *
+ * Parameters:
+ *
+ * ci:
+ * Component instance / instance globals.
+ *
+ * desc:
+ * The image description for the image data to be chunked.
+ *
+ * frameRate:
+ * Mean frame rate in frames per second as in SCTemporalSettings;
+ * 0 if not known or not applicable.
+ *
+ * dataRate:
+ * Mean data rate in bytes per second as in SCDataRateSettings; 0
+ * if not known.
+ *
+ * bytesPerChunk:
+ * Points to a variable to receive the preferred maximum size in
+ * bytes of each chunk of image data. It is not safe to pass NULL
+ * for this parameter. The codec may indicate that it has no
+ * preference regarding chunk sizing by setting the variable to 0.
+ *
+ * alignment:
+ * Points to a variable to receive the preferred boundary for
+ * chunk alignment in bytes, e.g. 512. It is not safe to pass NULL
+ * for this parameter. The codec may indicate that it has no
+ * preference regarding chunk alignment by setting the variable to
+ * 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecGetPreferredChunkSizeAndAlignment(
+ ComponentInstance ci,
+ ImageDescriptionHandle desc,
+ Fixed frameRate,
+ UInt32 dataRate,
+ long * bytesPerChunk,
+ long * alignment) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0036, 0x7000, 0xA82A);
+
+
+
+/* B-Frame Capable Image Compressor Component API */
+/*
+ * ImageCodecPrepareToCompressFrames()
+ *
+ * Summary:
+ * Prepares the compressor to receive frames.
+ *
+ * Discussion:
+ * The compressor should record session and retain
+ * compressionSessionOptions for use in later calls.
+ * The compressor may modify imageDescription at this point.
+ * The compressor should create and return pixel buffer attributes,
+ * which the ICM will release.
+ * (Note: this replaces ImageCodecPreCompress.)
+ *
+ * Parameters:
+ *
+ * ci:
+ * Component instance / instance globals.
+ *
+ * session:
+ * The compressor session reference. The compressor should store
+ * this in its globals; it will need it when calling the ICM back
+ * (eg, to call ICMEncodedFrameCreateMutable and
+ * ICMCompressorSessionEmitEncodedFrame).
+ * This is not a CF type. Do not call CFRetain or CFRelease on it.
+ *
+ * compressionSessionOptions:
+ * The session options from the client. The compressor should
+ * retain this and use the settings to guide compression.
+ *
+ * imageDescription:
+ * The image description. The compressor may add image description
+ * extensions.
+ *
+ * reserved:
+ * Reserved for future use. Ignore this parameter.
+ *
+ * compressorPixelBufferAttributesOut:
+ * The compressor should create a pixel buffer attributes
+ * dictionary and set compressorPixelBufferAttributesOut to it.
+ * The ICM will release it.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecPrepareToCompressFrames(
+ ComponentInstance ci,
+ ICMCompressorSessionRef session,
+ ICMCompressionSessionOptionsRef compressionSessionOptions,
+ ImageDescriptionHandle imageDescription,
+ void * reserved,
+ CFDictionaryRef * compressorPixelBufferAttributesOut) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0037, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEncodeFrame()
+ *
+ * Summary:
+ * Presents the compressor with a frame to encode.
+ *
+ * Discussion:
+ * The compressor may encode the frame immediately or queue it for
+ * later encoding. If the compressor queues the frame for later
+ * decode, it must retain it (by calling
+ * ICMCompressorSourceFrameRetain) and release it when it is done
+ * with it (by calling ICMCompressorSourceFrameRelease).
+ * Pixel buffers are guaranteed to conform to the pixel buffer
+ * attributes returned by ImageCodecPrepareToCompressFrames.
+ * During multipass encoding, if the compressor requested the
+ * kICMCompressionPassMode_NoSourceFrames flag, the source frame
+ * pixel buffers may be NULL.
+ * (Note: this replaces ImageCodecBandCompress.)
+ *
+ * Parameters:
+ *
+ * ci:
+ * Component instance / instance globals.
+ *
+ * sourceFrame:
+ * The source frame to encode.
+ *
+ * flags:
+ * Reserved; ignore.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEncodeFrame(
+ ComponentInstance ci,
+ ICMCompressorSourceFrameRef sourceFrame,
+ UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0038, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecCompleteFrame()
+ *
+ * Summary:
+ * Directs the compressor to finish with a queued source frame,
+ * either emitting or dropping it.
+ *
+ * Discussion:
+ * This frame does not necessarily need to be the first or only
+ * source frame emitted or dropped during this call, but the
+ * compressor must call either ICMCompressorSessionDropFrame or
+ * ICMCompressorSessionEmitEncodedFrame with this frame before
+ * returning.
+ * The ICM will call this function to force frames to be encoded for
+ * the following reasons: (a) the maximum frame delay count or
+ * maximum frame delay time in the compressionSessionOptions does
+ * not permit frames to be queued; (b) the client has called
+ * ICMCompressionSessionCompleteFrames.
+ *
+ * Parameters:
+ *
+ * ci:
+ * Component instance / instance globals.
+ *
+ * sourceFrame:
+ * The source frame that must be completed.
+ *
+ * flags:
+ * Reserved; ignore.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecCompleteFrame(
+ ComponentInstance ci,
+ ICMCompressorSourceFrameRef sourceFrame,
+ UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0039, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecBeginPass()
+ *
+ * Summary:
+ * Notifies the compressor that it should operate in multipass mode
+ * and use the given multipass storage.
+ *
+ * Parameters:
+ *
+ * ci:
+ * Component instance / instance globals.
+ *
+ * passModeFlags:
+ * Indicates how the compressor should operate in this pass.
+ * If the kICMCompressionPassMode_WriteToMultiPassStorage flag is
+ * set, the compressor may gather information of interest and
+ * store it in multiPassStorage.
+ * If the kICMCompressionPassMode_ReadFromMultiPassStorage flag is
+ * set, the compressor may retrieve information from
+ * multiPassStorage.
+ * If the kICMCompressionPassMode_OutputEncodedFrames flag is set,
+ * the compressor must encode or drop every frame by calling
+ * ICMCompressorSessionDropFrame or
+ * ICMCompressorSessionEmitEncodedFrame. If that flag is not set,
+ * the compressor should not call these routines.
+ *
+ * flags:
+ * Reserved. Ignore this parameter.
+ *
+ * multiPassStorage:
+ * The multipass storage object that the compressor should use to
+ * store and retrieve information between passes.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecBeginPass(
+ ComponentInstance ci,
+ ICMCompressionPassModeFlags passModeFlags,
+ UInt32 flags,
+ ICMMultiPassStorageRef multiPassStorage) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003A, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEndPass()
+ *
+ * Summary:
+ * Notifies the compressor that a pass is over.
+ *
+ * Parameters:
+ *
+ * ci:
+ * Component instance / instance globals.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEndPass(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x003B, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecProcessBetweenPasses()
+ *
+ * Summary:
+ * Gives the compressor an opportunity to perform processing between
+ * passes.
+ *
+ * Discussion:
+ * This function will be called repeatedly until it returns true in
+ * *interpassProcessingDoneOut.
+ * The compressor may read and write to multiPassStorage.
+ * The compressor should indicate which type of pass it would prefer
+ * to perform next by setting *requestedNextPassTypeOut.
+ *
+ * Parameters:
+ *
+ * ci:
+ * Component instance / instance globals.
+ *
+ * multiPassStorage:
+ * The multipass storage object that the compressor should use to
+ * store and retrieve information between passes.
+ *
+ * interpassProcessingDoneOut:
+ * Points to a Boolean. Set this to false if you want your
+ * ImageCodecProcessBetweenPasses function to be called again to
+ * perform more processing, true if not.
+ *
+ * requestedNextPassModeFlagsOut:
+ * Set *requestedNextPassModeFlagsOut to indicate the type of pass
+ * that should be performed next:
+ * To recommend a repeated analysis pass, set it to
+ * kICMCompressionPassMode_ReadFromMultiPassStorage |
+ * kICMCompressionPassMode_WriteToMultiPassStorage.
+ * To recommend a final encoding pass, set it to
+ * kICMCompressionPassMode_ReadFromMultiPassStorage |
+ * kICMCompressionPassMode_OutputEncodedFrames.
+ * If source frame buffers are not necessary for the recommended
+ * pass (eg, because all the required data has been copied into
+ * multipass storage), set kICMCompressionPassMode_NoSourceFrames.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecProcessBetweenPasses(
+ ComponentInstance ci,
+ ICMMultiPassStorageRef multiPassStorage,
+ Boolean * interpassProcessingDoneOut,
+ ICMCompressionPassModeFlags * requestedNextPassModeFlagsOut) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003C, 0x7000, 0xA82A);
+
+
+
+/* (Selector 61 skipped) */
+/* (Selector 62 skipped) */
+/* (Selector 63 skipped) */
+/* (Selector 64 skipped) */
+/* (Selector 65 skipped) */
+/* (Selector 66 skipped) */
+/*
+ * ImageCodecPreflight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecPreflight(
+ ComponentInstance ci,
+ CodecDecompressParams * params) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecInitialize(
+ ComponentInstance ci,
+ ImageSubCodecDecompressCapabilities * cap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0201, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecBeginBand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecBeginBand(
+ ComponentInstance ci,
+ CodecDecompressParams * params,
+ ImageSubCodecDecompressRecord * drp,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0202, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDrawBand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDrawBand(
+ ComponentInstance ci,
+ ImageSubCodecDecompressRecord * drp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0203, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEndBand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEndBand(
+ ComponentInstance ci,
+ ImageSubCodecDecompressRecord * drp,
+ OSErr result,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0204, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecQueueStarting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecQueueStarting(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0205, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecQueueStopping()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecQueueStopping(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0206, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDroppingFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDroppingFrame(
+ ComponentInstance ci,
+ const ImageSubCodecDecompressRecord * drp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0207, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecScheduleFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecScheduleFrame(
+ ComponentInstance ci,
+ const ImageSubCodecDecompressRecord * drp,
+ ImageCodecTimeTriggerUPP triggerProc,
+ void * triggerProcRefCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0208, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecCancelTrigger()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecCancelTrigger(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0209, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecDecodeBand()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecDecodeBand(
+ ComponentInstance ci,
+ ImageSubCodecDecompressRecord * drp,
+ unsigned long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x020F, 0x7000, 0xA82A);
+
+
+
+
+
+/* selectors for component calls */
+enum {
+ kImageCodecGetCodecInfoSelect = 0x0000,
+ kImageCodecGetCompressionTimeSelect = 0x0001,
+ kImageCodecGetMaxCompressionSizeSelect = 0x0002,
+ kImageCodecPreCompressSelect = 0x0003,
+ kImageCodecBandCompressSelect = 0x0004,
+ kImageCodecPreDecompressSelect = 0x0005,
+ kImageCodecBandDecompressSelect = 0x0006,
+ kImageCodecBusySelect = 0x0007,
+ kImageCodecGetCompressedImageSizeSelect = 0x0008,
+ kImageCodecGetSimilaritySelect = 0x0009,
+ kImageCodecTrimImageSelect = 0x000A,
+ kImageCodecRequestSettingsSelect = 0x000B,
+ kImageCodecGetSettingsSelect = 0x000C,
+ kImageCodecSetSettingsSelect = 0x000D,
+ kImageCodecFlushSelect = 0x000E,
+ kImageCodecSetTimeCodeSelect = 0x000F,
+ kImageCodecIsImageDescriptionEquivalentSelect = 0x0010,
+ kImageCodecNewMemorySelect = 0x0011,
+ kImageCodecDisposeMemorySelect = 0x0012,
+ kImageCodecHitTestDataSelect = 0x0013,
+ kImageCodecNewImageBufferMemorySelect = 0x0014,
+ kImageCodecExtractAndCombineFieldsSelect = 0x0015,
+ kImageCodecGetMaxCompressionSizeWithSourcesSelect = 0x0016,
+ kImageCodecSetTimeBaseSelect = 0x0017,
+ kImageCodecSourceChangedSelect = 0x0018,
+ kImageCodecFlushFrameSelect = 0x0019,
+ kImageCodecGetSettingsAsTextSelect = 0x001A,
+ kImageCodecGetParameterListHandleSelect = 0x001B,
+ kImageCodecGetParameterListSelect = 0x001C,
+ kImageCodecCreateStandardParameterDialogSelect = 0x001D,
+ kImageCodecIsStandardParameterDialogEventSelect = 0x001E,
+ kImageCodecDismissStandardParameterDialogSelect = 0x001F,
+ kImageCodecStandardParameterDialogDoActionSelect = 0x0020,
+ kImageCodecNewImageGWorldSelect = 0x0021,
+ kImageCodecDisposeImageGWorldSelect = 0x0022,
+ kImageCodecHitTestDataWithFlagsSelect = 0x0023,
+ kImageCodecValidateParametersSelect = 0x0024,
+ kImageCodecGetBaseMPWorkFunctionSelect = 0x0025,
+ kImageCodecLockBitsSelect = 0x0026,
+ kImageCodecUnlockBitsSelect = 0x0027,
+ kImageCodecRequestGammaLevelSelect = 0x0028,
+ kImageCodecGetSourceDataGammaLevelSelect = 0x0029,
+ kImageCodecGetDecompressLatencySelect = 0x002B,
+ kImageCodecMergeFloatingImageOntoWindowSelect = 0x002C,
+ kImageCodecRemoveFloatingImageSelect = 0x002D,
+ kImageCodecGetDITLForSizeSelect = 0x002E,
+ kImageCodecDITLInstallSelect = 0x002F,
+ kImageCodecDITLEventSelect = 0x0030,
+ kImageCodecDITLItemSelect = 0x0031,
+ kImageCodecDITLRemoveSelect = 0x0032,
+ kImageCodecDITLValidateInputSelect = 0x0033,
+ kImageCodecGetPreferredChunkSizeAndAlignmentSelect = 0x0036,
+ kImageCodecPrepareToCompressFramesSelect = 0x0037,
+ kImageCodecEncodeFrameSelect = 0x0038,
+ kImageCodecCompleteFrameSelect = 0x0039,
+ kImageCodecBeginPassSelect = 0x003A,
+ kImageCodecEndPassSelect = 0x003B,
+ kImageCodecProcessBetweenPassesSelect = 0x003C,
+ kImageCodecPreflightSelect = 0x0200,
+ kImageCodecInitializeSelect = 0x0201,
+ kImageCodecBeginBandSelect = 0x0202,
+ kImageCodecDrawBandSelect = 0x0203,
+ kImageCodecEndBandSelect = 0x0204,
+ kImageCodecQueueStartingSelect = 0x0205,
+ kImageCodecQueueStoppingSelect = 0x0206,
+ kImageCodecDroppingFrameSelect = 0x0207,
+ kImageCodecScheduleFrameSelect = 0x0208,
+ kImageCodecCancelTriggerSelect = 0x0209,
+ kImageCodecDecodeBandSelect = 0x020F
+};
+
+
+
+
+
+
+
+
+enum {
+ kMotionJPEGTag = FOUR_CHAR_CODE('mjpg'),
+ kJPEGQuantizationTablesImageDescriptionExtension = FOUR_CHAR_CODE('mjqt'),
+ kJPEGHuffmanTablesImageDescriptionExtension = FOUR_CHAR_CODE('mjht'),
+ kFieldInfoImageDescriptionExtension = FOUR_CHAR_CODE('fiel') /* image description extension describing the field count and field orderings*/
+};
+
+enum {
+ kFieldOrderUnknown = 0,
+ kFieldsStoredF1F2DisplayedF1F2 = 1,
+ kFieldsStoredF1F2DisplayedF2F1 = 2,
+ kFieldsStoredF2F1DisplayedF1F2 = 5,
+ kFieldsStoredF2F1DisplayedF2F1 = 6
+};
+
+struct MotionJPEGApp1Marker {
+ long unused;
+ long tag;
+ long fieldSize;
+ long paddedFieldSize;
+ long offsetToNextField;
+ long qTableOffset;
+ long huffmanTableOffset;
+ long sofOffset;
+ long sosOffset;
+ long soiOffset;
+};
+typedef struct MotionJPEGApp1Marker MotionJPEGApp1Marker;
+struct FieldInfoImageDescriptionExtension {
+ UInt8 fieldCount;
+ UInt8 fieldOrderings;
+};
+typedef struct FieldInfoImageDescriptionExtension FieldInfoImageDescriptionExtension;
+
+/*
+ * QTPhotoSetSampling()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTPhotoSetSampling(
+ ComponentInstance codec,
+ short yH,
+ short yV,
+ short cbH,
+ short cbV,
+ short crH,
+ short crV) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * QTPhotoSetRestartInterval()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTPhotoSetRestartInterval(
+ ComponentInstance codec,
+ unsigned short restartInterval) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * QTPhotoDefineHuffmanTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTPhotoDefineHuffmanTable(
+ ComponentInstance codec,
+ short componentNumber,
+ Boolean isDC,
+ unsigned char * lengthCounts,
+ unsigned char * values) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * QTPhotoDefineQuantizationTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTPhotoDefineQuantizationTable(
+ ComponentInstance codec,
+ short componentNumber,
+ unsigned char * table) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0103, 0x7000, 0xA82A);
+
+
+
+/* selectors for component calls */
+enum {
+ kQTPhotoSetSamplingSelect = 0x0100,
+ kQTPhotoSetRestartIntervalSelect = 0x0101,
+ kQTPhotoDefineHuffmanTableSelect = 0x0102,
+ kQTPhotoDefineQuantizationTableSelect = 0x0103
+};
+
+/*
+ * Summary:
+ * Properties for image compressor components
+ */
+enum {
+
+ /*
+ * Property class for image compressor components.
+ */
+ kQTPropertyClass_ImageCompressor = FOUR_CHAR_CODE('imco')
+};
+
+
+/*
+ * Summary:
+ * Enforced properties for image compressor components
+ *
+ * Discussion:
+ * Image compressors that sometimes or always restrict image
+ * dimensions, clean aperture and/or pixel aspect ratio should
+ * support these properties.
+ * If these properties can change dynamically for a compressor (eg,
+ * in response to user interaction) then the properties should be
+ * listenable, and the compressor should call the listeners whenever
+ * the properties change. (In this case, the component's
+ * GetComponentPropertyInfo function should set the
+ * kComponentPropertyFlagWillNotifyListeners flag.)
+ * If a compressor has a mode in which these properties are
+ * flexible, then when the component is in that mode, (a) the
+ * component's GetComponentProperty function should return
+ * kQTPropertyAskLaterErr for these properties, and (b) the
+ * component's GetComponentPropertyInfo function should set the
+ * kComponentPropertyFlagCanGetLater flag for these properties.
+ */
+enum {
+
+ /*
+ * The encoded width enforced for compressed frames.
+ */
+ kICMImageCompressorPropertyID_EnforcedEncodedWidth = FOUR_CHAR_CODE('enwi'), /* SInt32, Read/Sometimes Listen */
+
+ /*
+ * The encoded height enforced for compressed frames.
+ */
+ kICMImageCompressorPropertyID_EnforcedEncodedHeight = FOUR_CHAR_CODE('enhe'), /* SInt32, Read/Sometimes Listen */
+
+ /*
+ * The clean aperture enforced for compressed frames.
+ */
+ kICMImageCompressorPropertyID_EnforcedCleanAperture = FOUR_CHAR_CODE('encl'), /* CleanApertureImageDescriptionExtension, Read/Sometimes Listen */
+
+ /*
+ * The pixel aspect ratio enforced for compressed frames.
+ */
+ kICMImageCompressorPropertyID_EnforcedPixelAspectRatio = FOUR_CHAR_CODE('enpa'), /* PixelAspectRatioImageDescriptionExtension, Read/Sometimes Listen */
+
+ /*
+ * The number and order of fields enforced for compressed frames.
+ */
+ kICMImageCompressorPropertyID_EnforcedFieldInfo = FOUR_CHAR_CODE('enfi') /* FieldInfoImageDescriptionExtension2, Read/Sometimes Listen */
+};
+
+
+
+/*
+ * Summary:
+ * DV Compressor Component Properties.
+ */
+enum {
+
+ /*
+ * Property class for DV compressors. (Applicable to DV25, DV50,
+ * NTSC, PAL, PROPAL.)
+ */
+ kQTPropertyClass_DVCompressor = FOUR_CHAR_CODE('dvco'),
+
+ /*
+ * If set, indicates that the compressed frames should be marked as
+ * progressive-scan. By default, this flag is clear, meaning that
+ * frames should be marked as interlaced.
+ */
+ kDVCompressorPropertyID_ProgressiveScan = FOUR_CHAR_CODE('prog'), /* Boolean, Read/Write */
+
+ /*
+ * If set, indicates that the compressor should use a 16:9 picture
+ * aspect ratio. If clear, the compressor will use the default 4:3
+ * picture aspect ratio.
+ */
+ kDVCompressorPropertyID_AspectRatio16x9 = FOUR_CHAR_CODE('16x9') /* Boolean, Read/Write */
+};
+
+
+
+/* source identifier -- placed in root container of description, one or more required */
+enum {
+ kEffectSourceName = FOUR_CHAR_CODE('src ')
+};
+
+
+/* source type -- placed in the input map to identify the source kind */
+enum {
+ kEffectDataSourceType = FOUR_CHAR_CODE('dtst')
+};
+
+/* default effect types */
+enum {
+ kEffectRawSource = 0, /* the source is raw image data*/
+ kEffectGenericType = FOUR_CHAR_CODE('geff') /* generic effect for combining others*/
+};
+
+typedef struct EffectSource EffectSource;
+
+typedef EffectSource * EffectSourcePtr;
+union SourceData {
+ CDSequenceDataSourcePtr image;
+ EffectSourcePtr effect;
+};
+typedef union SourceData SourceData;
+struct EffectSource {
+ long effectType; /* type of effect or kEffectRawSource if raw ICM data*/
+ Ptr data; /* track data for this effect*/
+ SourceData source; /* source/effect pointers*/
+ EffectSourcePtr next; /* the next source for the parent effect*/
+
+ /* fields added for QuickTime 4.0*/
+ TimeValue lastTranslatedFrameTime; /* start frame time of last converted frame, may be -1*/
+ TimeValue lastFrameDuration; /* duration of the last converted frame, may be zero*/
+ TimeValue lastFrameTimeScale; /* time scale of this source frame, only has meaning if above fields are valid*/
+};
+
+struct ICMFrameTimeRecord_QT3 {
+ wide value; /* frame display time*/
+ long scale; /* timescale of value/duration fields*/
+ void * base; /* timebase*/
+
+ long duration; /* duration frame is to be displayed (0 if unknown)*/
+ Fixed rate; /* rate of timebase relative to wall-time*/
+
+ long recordSize; /* total number of bytes in ICMFrameTimeRecord*/
+
+ long frameNumber; /* number of frame, zero if not known*/
+
+ long flags;
+
+ wide virtualStartTime; /* conceptual start time*/
+ long virtualDuration; /* conceptual duration*/
+};
+typedef struct ICMFrameTimeRecord_QT3 ICMFrameTimeRecord_QT3;
+struct EffectsFrameParams {
+ ICMFrameTimeRecord_QT3 frameTime; /* timing data (uses non-extended ICMFrameTimeRecord)*/
+ long effectDuration; /* the duration of a single effect frame*/
+ Boolean doAsync; /* set to true if the effect can go async*/
+ unsigned char pad[3];
+ EffectSourcePtr source; /* ptr to the source input tree*/
+ void * refCon; /* storage for the effect*/
+};
+typedef struct EffectsFrameParams EffectsFrameParams;
+typedef EffectsFrameParams * EffectsFrameParamsPtr;
+
+/*
+ * ImageCodecEffectSetup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectSetup(
+ ComponentInstance effect,
+ CodecDecompressParams * p) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0300, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEffectBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectBegin(
+ ComponentInstance effect,
+ CodecDecompressParams * p,
+ EffectsFrameParamsPtr ePtr) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0301, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEffectRenderFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectRenderFrame(
+ ComponentInstance effect,
+ EffectsFrameParamsPtr p) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0302, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEffectConvertEffectSourceToFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectConvertEffectSourceToFormat(
+ ComponentInstance effect,
+ EffectSourcePtr sourceToConvert,
+ ImageDescriptionHandle requestedDesc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0303, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEffectCancel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectCancel(
+ ComponentInstance effect,
+ EffectsFrameParamsPtr p) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0304, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEffectGetSpeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectGetSpeed(
+ ComponentInstance effect,
+ QTAtomContainer parameters,
+ Fixed * pFPS) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0305, 0x7000, 0xA82A);
+
+
+
+enum {
+ kSMPTENoFlag = 0,
+ kSMPTESmoothEdgeFlag = 0x01, /* smooth edges of the stroke*/
+ kSMPTEStrokeEdgeFlag = 0x02 /* stroke edge with color*/
+};
+
+typedef long SMPTEFlags;
+typedef long SMPTEFrameReference;
+enum {
+ kSlideHorizontalWipe = 1,
+ kSlideVerticalWipe = 2,
+ kTopLeftWipe = 3,
+ kTopRightWipe = 4,
+ kBottomRightWipe = 5,
+ kBottomLeftWipe = 6,
+ kFourCornerWipe = 7,
+ kFourBoxWipe = 8,
+ kBarnVerticalWipe = 21,
+ kBarnHorizontalWipe = 22,
+ kTopCenterWipe = 23,
+ kRightCenterWipe = 24,
+ kBottomCenterWipe = 25,
+ kLeftCenterWipe = 26,
+ kDiagonalLeftDownWipe = 41,
+ kDiagonalRightDownWipe = 42,
+ kTopBottomBowTieWipe = 43,
+ kLeftRightBowTieWipe = 44,
+ kDiagonalLeftOutWipe = 45,
+ kDiagonalRightOutWipe = 46,
+ kDiagonalCrossWipe = 47,
+ kDiagonalBoxWipe = 48,
+ kFilledVWipe = 61,
+ kFilledVRightWipe = 62,
+ kFilledVBottomWipe = 63,
+ kFilledVLeftWipe = 64,
+ kHollowVWipe = 65,
+ kHollowVRightWipe = 66,
+ kHollowVBottomWipe = 67,
+ kHollowVLeftWipe = 68,
+ kVerticalZigZagWipe = 71,
+ kHorizontalZigZagWipe = 72,
+ kVerticalBarnZigZagWipe = 73,
+ kHorizontalBarnZigZagWipe = 74
+};
+
+enum {
+ kRectangleWipe = 101,
+ kDiamondWipe = 102,
+ kTriangleWipe = 103,
+ kTriangleRightWipe = 104,
+ kTriangleUpsideDownWipe = 105,
+ kTriangleLeftWipe = 106,
+ kSpaceShipWipe = 107,
+ kSpaceShipRightWipe = 108,
+ kSpaceShipUpsideDownWipe = 109,
+ kSpaceShipLeftWipe = 110,
+ kPentagonWipe = 111,
+ kPentagonUpsideDownWipe = 112,
+ kHexagonWipe = 113,
+ kHexagonSideWipe = 114,
+ kCircleWipe = 119,
+ kOvalWipe = 120,
+ kOvalSideWipe = 121,
+ kCatEyeWipe = 122,
+ kCatEyeSideWipe = 123,
+ kRoundRectWipe = 124,
+ kRoundRectSideWipe = 125,
+ kFourPointStarWipe = 127,
+ kFivePointStarWipe = 128,
+ kStarOfDavidWipe = 129,
+ kHeartWipe = 130,
+ kKeyholeWipe = 131
+};
+
+enum {
+ kRotatingTopWipe = 201,
+ kRotatingRightWipe = 202,
+ kRotatingBottomWipe = 203,
+ kRotatingLeftWipe = 204,
+ kRotatingTopBottomWipe = 205,
+ kRotatingLeftRightWipe = 206,
+ kRotatingQuadrantWipe = 207,
+ kTopToBottom180Wipe = 211,
+ kRightToLeft180Wipe = 212,
+ kTopToBottom90Wipe = 213,
+ kRightToLeft90Wipe = 214,
+ kTop180Wipe = 221,
+ kRight180Wipe = 222,
+ kBottom180Wipe = 223,
+ kLeft180Wipe = 224,
+ kCounterRotatingTopBottomWipe = 225,
+ kCounterRotatingLeftRightWipe = 226,
+ kDoubleRotatingTopBottomWipe = 227,
+ kDoubleRotatingLeftRightWipe = 228,
+ kVOpenTopWipe = 231,
+ kVOpenRightWipe = 232,
+ kVOpenBottomWipe = 233,
+ kVOpenLeftWipe = 234,
+ kVOpenTopBottomWipe = 235,
+ kVOpenLeftRightWipe = 236,
+ kRotatingTopLeftWipe = 241,
+ kRotatingBottomLeftWipe = 242,
+ kRotatingBottomRightWipe = 243,
+ kRotatingTopRightWipe = 244,
+ kRotatingTopLeftBottomRightWipe = 245,
+ kRotatingBottomLeftTopRightWipe = 246,
+ kRotatingTopLeftRightWipe = 251,
+ kRotatingLeftTopBottomWipe = 252,
+ kRotatingBottomLeftRightWipe = 253,
+ kRotatingRightTopBottomWipe = 254,
+ kRotatingDoubleCenterRightWipe = 261,
+ kRotatingDoubleCenterTopWipe = 262,
+ kRotatingDoubleCenterTopBottomWipe = 263,
+ kRotatingDoubleCenterLeftRightWipe = 264
+};
+
+enum {
+ kHorizontalMatrixWipe = 301,
+ kVerticalMatrixWipe = 302,
+ kTopLeftDiagonalMatrixWipe = 303,
+ kTopRightDiagonalMatrixWipe = 304,
+ kBottomRightDiagonalMatrixWipe = 305,
+ kBottomLeftDiagonalMatrixWipe = 306,
+ kClockwiseTopLeftMatrixWipe = 310,
+ kClockwiseTopRightMatrixWipe = 311,
+ kClockwiseBottomRightMatrixWipe = 312,
+ kClockwiseBottomLeftMatrixWipe = 313,
+ kCounterClockwiseTopLeftMatrixWipe = 314,
+ kCounterClockwiseTopRightMatrixWipe = 315,
+ kCounterClockwiseBottomRightMatrixWipe = 316,
+ kCounterClockwiseBottomLeftMatrixWipe = 317,
+ kVerticalStartTopMatrixWipe = 320,
+ kVerticalStartBottomMatrixWipe = 321,
+ kVerticalStartTopOppositeMatrixWipe = 322,
+ kVerticalStartBottomOppositeMatrixWipe = 323,
+ kHorizontalStartLeftMatrixWipe = 324,
+ kHorizontalStartRightMatrixWipe = 325,
+ kHorizontalStartLeftOppositeMatrixWipe = 326,
+ kHorizontalStartRightOppositeMatrixWipe = 327,
+ kDoubleDiagonalTopRightMatrixWipe = 328,
+ kDoubleDiagonalBottomRightMatrixWipe = 329,
+ kDoubleSpiralTopMatixWipe = 340,
+ kDoubleSpiralBottomMatixWipe = 341,
+ kDoubleSpiralLeftMatixWipe = 342,
+ kDoubleSpiralRightMatixWipe = 343,
+ kQuadSpiralVerticalMatixWipe = 344,
+ kQuadSpiralHorizontalMatixWipe = 345,
+ kVerticalWaterfallLeftMatrixWipe = 350,
+ kVerticalWaterfallRightMatrixWipe = 351,
+ kHorizontalWaterfallLeftMatrixWipe = 352,
+ kHorizontalWaterfallRightMatrixWipe = 353,
+ kRandomWipe = 409, /* non-SMPTE standard numbers*/
+ kRandomWipeGroupWipe = 501,
+ kRandomIrisGroupWipe = 502,
+ kRandomRadialGroupWipe = 503,
+ kRandomMatrixGroupWipe = 504
+};
+
+typedef unsigned long SMPTEWipeType;
+/*
+ * ImageCodecEffectPrepareSMPTEFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectPrepareSMPTEFrame(
+ ComponentInstance effect,
+ PixMapPtr destPixMap,
+ SMPTEFrameReference * returnValue) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEffectDisposeSMPTEFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectDisposeSMPTEFrame(
+ ComponentInstance effect,
+ SMPTEFrameReference frameRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * ImageCodecEffectRenderSMPTEFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageCodecEffectRenderSMPTEFrame(
+ ComponentInstance effect,
+ PixMapPtr destPixMap,
+ SMPTEFrameReference frameRef,
+ Fixed effectPercentageEven,
+ Fixed effectPercentageOdd,
+ Rect * pSourceRect,
+ MatrixRecord * matrixP,
+ SMPTEWipeType effectNumber,
+ long xRepeat,
+ long yRepeat,
+ SMPTEFlags flags,
+ Fixed penWidth,
+ long strokeValue) FIVEWORDINLINE(0x2F3C, 0x0030, 0x0102, 0x7000, 0xA82A);
+
+
+
+/* selectors for component calls */
+enum {
+ kImageCodecEffectSetupSelect = 0x0300,
+ kImageCodecEffectBeginSelect = 0x0301,
+ kImageCodecEffectRenderFrameSelect = 0x0302,
+ kImageCodecEffectConvertEffectSourceToFormatSelect = 0x0303,
+ kImageCodecEffectCancelSelect = 0x0304,
+ kImageCodecEffectGetSpeedSelect = 0x0305,
+ kImageCodecEffectPrepareSMPTEFrameSelect = 0x0100,
+ kImageCodecEffectDisposeSMPTEFrameSelect = 0x0101,
+ kImageCodecEffectRenderSMPTEFrameSelect = 0x0102
+};
+
+
+/* curve atom types and data structures */
+enum {
+ kCurvePathAtom = FOUR_CHAR_CODE('path'),
+ kCurveEndAtom = FOUR_CHAR_CODE('zero'),
+ kCurveAntialiasControlAtom = FOUR_CHAR_CODE('anti'),
+ kCurveAntialiasOff = 0,
+ kCurveAntialiasOn = (long)0xFFFFFFFF,
+ kCurveFillTypeAtom = FOUR_CHAR_CODE('fill'),
+ kCurvePenThicknessAtom = FOUR_CHAR_CODE('pent'),
+ kCurveMiterLimitAtom = FOUR_CHAR_CODE('mitr'),
+ kCurveJoinAttributesAtom = FOUR_CHAR_CODE('join'),
+ kCurveMinimumDepthAtom = FOUR_CHAR_CODE('mind'),
+ kCurveDepthAlwaysOffscreenMask = (long)0x80000000,
+ kCurveTransferModeAtom = FOUR_CHAR_CODE('xfer'),
+ kCurveGradientAngleAtom = FOUR_CHAR_CODE('angl'),
+ kCurveGradientRadiusAtom = FOUR_CHAR_CODE('radi'),
+ kCurveGradientOffsetAtom = FOUR_CHAR_CODE('cent')
+};
+
+enum {
+ kCurveARGBColorAtom = FOUR_CHAR_CODE('argb')
+};
+
+struct ARGBColor {
+ unsigned short alpha;
+ unsigned short red;
+ unsigned short green;
+ unsigned short blue;
+};
+typedef struct ARGBColor ARGBColor;
+enum {
+ kCurveGradientRecordAtom = FOUR_CHAR_CODE('grad')
+};
+
+struct GradientColorRecord {
+ ARGBColor thisColor;
+ Fixed endingPercentage;
+};
+typedef struct GradientColorRecord GradientColorRecord;
+typedef GradientColorRecord * GradientColorPtr;
+enum {
+ kCurveGradientTypeAtom = FOUR_CHAR_CODE('grdt')
+};
+
+/* currently supported gradient types */
+enum {
+ kLinearGradient = 0,
+ kCircularGradient = 1
+};
+
+typedef long GradientType;
+/*
+ * CurveGetLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveGetLength(
+ ComponentInstance effect,
+ gxPaths * target,
+ long index,
+ wide * wideLength) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * CurveLengthToPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveLengthToPoint(
+ ComponentInstance effect,
+ gxPaths * target,
+ long index,
+ Fixed length,
+ FixedPoint * location,
+ FixedPoint * tangent) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * CurveNewPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveNewPath(
+ ComponentInstance effect,
+ Handle * pPath) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * CurveCountPointsInPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveCountPointsInPath(
+ ComponentInstance effect,
+ gxPaths * aPath,
+ unsigned long contourIndex,
+ unsigned long * pCount) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * CurveGetPathPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveGetPathPoint(
+ ComponentInstance effect,
+ gxPaths * aPath,
+ unsigned long contourIndex,
+ unsigned long pointIndex,
+ gxPoint * thePoint,
+ Boolean * ptIsOnPath) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * CurveInsertPointIntoPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveInsertPointIntoPath(
+ ComponentInstance effect,
+ gxPoint * aPoint,
+ Handle thePath,
+ unsigned long contourIndex,
+ unsigned long pointIndex,
+ Boolean ptIsOnPath) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * CurveSetPathPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveSetPathPoint(
+ ComponentInstance effect,
+ gxPaths * aPath,
+ unsigned long contourIndex,
+ unsigned long pointIndex,
+ gxPoint * thePoint,
+ Boolean ptIsOnPath) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * CurveGetNearestPathPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveGetNearestPathPoint(
+ ComponentInstance effect,
+ gxPaths * aPath,
+ FixedPoint * thePoint,
+ unsigned long * contourIndex,
+ unsigned long * pointIndex,
+ Fixed * theDelta) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * CurvePathPointToLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurvePathPointToLength(
+ ComponentInstance ci,
+ gxPaths * aPath,
+ Fixed startDist,
+ Fixed endDist,
+ FixedPoint * thePoint,
+ Fixed * pLength) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0108, 0x7000, 0xA82A);
+
+
+/*
+ * CurveCreateVectorStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveCreateVectorStream(
+ ComponentInstance effect,
+ Handle * pStream) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * CurveAddAtomToVectorStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveAddAtomToVectorStream(
+ ComponentInstance effect,
+ OSType atomType,
+ Size atomSize,
+ void * pAtomData,
+ Handle vectorStream) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010A, 0x7000, 0xA82A);
+
+
+/*
+ * CurveAddPathAtomToVectorStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveAddPathAtomToVectorStream(
+ ComponentInstance effect,
+ Handle pathData,
+ Handle vectorStream) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010B, 0x7000, 0xA82A);
+
+
+/*
+ * CurveAddZeroAtomToVectorStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveAddZeroAtomToVectorStream(
+ ComponentInstance effect,
+ Handle vectorStream) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010C, 0x7000, 0xA82A);
+
+
+/*
+ * CurveGetAtomDataFromVectorStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+CurveGetAtomDataFromVectorStream(
+ ComponentInstance effect,
+ Handle vectorStream,
+ long atomType,
+ long * dataSize,
+ Ptr * dataPtr) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010D, 0x7000, 0xA82A);
+
+
+
+
+/* selectors for component calls */
+enum {
+ kCurveGetLengthSelect = 0x0100,
+ kCurveLengthToPointSelect = 0x0101,
+ kCurveNewPathSelect = 0x0102,
+ kCurveCountPointsInPathSelect = 0x0103,
+ kCurveGetPathPointSelect = 0x0104,
+ kCurveInsertPointIntoPathSelect = 0x0105,
+ kCurveSetPathPointSelect = 0x0106,
+ kCurveGetNearestPathPointSelect = 0x0107,
+ kCurvePathPointToLengthSelect = 0x0108,
+ kCurveCreateVectorStreamSelect = 0x0109,
+ kCurveAddAtomToVectorStreamSelect = 0x010A,
+ kCurveAddPathAtomToVectorStreamSelect = 0x010B,
+ kCurveAddZeroAtomToVectorStreamSelect = 0x010C,
+ kCurveGetAtomDataFromVectorStreamSelect = 0x010D
+};
+/* UPP call backs */
#endif // !__LP64__
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ImageCompression.h b/include/qt/ImageCompression.h
index a4e217598..d8ab6eb6a 100644
--- a/include/qt/ImageCompression.h
+++ b/include/qt/ImageCompression.h
@@ -1,17 +1,17 @@
/*
File: ImageCompression.h
-
+
Contains: QuickTime Image Compression Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __IMAGECOMPRESSION__
#define __IMAGECOMPRESSION__
@@ -66,11 +66,11 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
@@ -93,7134 +93,6973 @@ extern "C" {
#define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- struct MatrixRecord
- {
- Fixed matrix[3][3];
- };
- typedef struct MatrixRecord MatrixRecord;
- typedef MatrixRecord * MatrixRecordPtr;
- enum
- {
- kRawCodecType = FOUR_CHAR_CODE('raw '),
- kCinepakCodecType = FOUR_CHAR_CODE('cvid'),
- kGraphicsCodecType = FOUR_CHAR_CODE('smc '),
- kAnimationCodecType = FOUR_CHAR_CODE('rle '),
- kVideoCodecType = FOUR_CHAR_CODE('rpza'),
- kComponentVideoCodecType = FOUR_CHAR_CODE('yuv2'),
- kJPEGCodecType = FOUR_CHAR_CODE('jpeg'),
- kMotionJPEGACodecType = FOUR_CHAR_CODE('mjpa'),
- kMotionJPEGBCodecType = FOUR_CHAR_CODE('mjpb'),
- kSGICodecType = FOUR_CHAR_CODE('.SGI'),
- kPlanarRGBCodecType = FOUR_CHAR_CODE('8BPS'),
- kMacPaintCodecType = FOUR_CHAR_CODE('PNTG'),
- kGIFCodecType = FOUR_CHAR_CODE('gif '),
- kPhotoCDCodecType = FOUR_CHAR_CODE('kpcd'),
- kQuickDrawGXCodecType = FOUR_CHAR_CODE('qdgx'),
- kAVRJPEGCodecType = FOUR_CHAR_CODE('avr '),
- kOpenDMLJPEGCodecType = FOUR_CHAR_CODE('dmb1'),
- kBMPCodecType = FOUR_CHAR_CODE('WRLE'),
- kWindowsRawCodecType = FOUR_CHAR_CODE('WRAW'),
- kVectorCodecType = FOUR_CHAR_CODE('path'),
- kQuickDrawCodecType = FOUR_CHAR_CODE('qdrw'),
- kWaterRippleCodecType = FOUR_CHAR_CODE('ripl'),
- kFireCodecType = FOUR_CHAR_CODE('fire'),
- kCloudCodecType = FOUR_CHAR_CODE('clou'),
- kH261CodecType = FOUR_CHAR_CODE('h261'),
- kH263CodecType = FOUR_CHAR_CODE('h263'),
- kDVCNTSCCodecType = FOUR_CHAR_CODE('dvc '), /* DV - NTSC and DVCPRO NTSC (available in QuickTime 6.0 or later)*/
- /* NOTE: kDVCProNTSCCodecType is deprecated. */
- /* Use kDVCNTSCCodecType instead -- as far as the codecs are concerned, */
- /* the two data formats are identical.*/
- kDVCPALCodecType = FOUR_CHAR_CODE('dvcp'),
- kDVCProPALCodecType = FOUR_CHAR_CODE('dvpp'), /* available in QuickTime 6.0 or later*/
- kDVCPro50NTSCCodecType = FOUR_CHAR_CODE('dv5n'),
- kDVCPro50PALCodecType = FOUR_CHAR_CODE('dv5p'),
- kDVCPro100NTSCCodecType = FOUR_CHAR_CODE('dv1n'),
- kDVCPro100PALCodecType = FOUR_CHAR_CODE('dv1p'),
- kDVCPROHD720pCodecType = FOUR_CHAR_CODE('dvhp'),
- kDVCPROHD1080i60CodecType = FOUR_CHAR_CODE('dvh6'),
- kDVCPROHD1080i50CodecType = FOUR_CHAR_CODE('dvh5'),
- kBaseCodecType = FOUR_CHAR_CODE('base'),
- kFLCCodecType = FOUR_CHAR_CODE('flic'),
- kTargaCodecType = FOUR_CHAR_CODE('tga '),
- kPNGCodecType = FOUR_CHAR_CODE('png '),
- kTIFFCodecType = FOUR_CHAR_CODE('tiff'), /* NOTE: despite what might seem obvious from the two constants*/
- /* below and their names, they really are correct. 'yuvu' really */
- /* does mean signed, and 'yuvs' really does mean unsigned. Really. */
- kComponentVideoSigned = FOUR_CHAR_CODE('yuvu'),
- kComponentVideoUnsigned = FOUR_CHAR_CODE('yuvs'),
- kCMYKCodecType = FOUR_CHAR_CODE('cmyk'),
- kMicrosoftVideo1CodecType = FOUR_CHAR_CODE('msvc'),
- kSorensonCodecType = FOUR_CHAR_CODE('SVQ1'),
- kSorenson3CodecType = FOUR_CHAR_CODE('SVQ3'), /* available in QuickTime 5 and later*/
- kIndeo4CodecType = FOUR_CHAR_CODE('IV41'),
- kMPEG4VisualCodecType = FOUR_CHAR_CODE('mp4v'),
- k64ARGBCodecType = FOUR_CHAR_CODE('b64a'),
- k48RGBCodecType = FOUR_CHAR_CODE('b48r'),
- k32AlphaGrayCodecType = FOUR_CHAR_CODE('b32a'),
- k16GrayCodecType = FOUR_CHAR_CODE('b16g'),
- kMpegYUV420CodecType = FOUR_CHAR_CODE('myuv'),
- kYUV420CodecType = FOUR_CHAR_CODE('y420'),
- kSorensonYUV9CodecType = FOUR_CHAR_CODE('syv9'),
- k422YpCbCr8CodecType = FOUR_CHAR_CODE('2vuy'), /* Component Y'CbCr 8-bit 4:2:2 */
- k444YpCbCr8CodecType = FOUR_CHAR_CODE('v308'), /* Component Y'CbCr 8-bit 4:4:4 */
- k4444YpCbCrA8CodecType = FOUR_CHAR_CODE('v408'), /* Component Y'CbCrA 8-bit 4:4:4:4 */
- k422YpCbCr16CodecType = FOUR_CHAR_CODE('v216'), /* Component Y'CbCr 10,12,14,16-bit 4:2:2*/
- k422YpCbCr10CodecType = FOUR_CHAR_CODE('v210'), /* Component Y'CbCr 10-bit 4:2:2 */
- k444YpCbCr10CodecType = FOUR_CHAR_CODE('v410'), /* Component Y'CbCr 10-bit 4:4:4 */
- k4444YpCbCrA8RCodecType = FOUR_CHAR_CODE('r408'), /* Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv*/
- kJPEG2000CodecType = FOUR_CHAR_CODE('mjp2'),
- kPixletCodecType = FOUR_CHAR_CODE('pxlt'),
- kH264CodecType = FOUR_CHAR_CODE('avc1')
- };
-
-
- /* one source effects */
- enum
- {
- kBlurImageFilterType = FOUR_CHAR_CODE('blur'),
- kSharpenImageFilterType = FOUR_CHAR_CODE('shrp'),
- kEdgeDetectImageFilterType = FOUR_CHAR_CODE('edge'),
- kEmbossImageFilterType = FOUR_CHAR_CODE('embs'),
- kConvolveImageFilterType = FOUR_CHAR_CODE('genk'),
- kAlphaGainImageFilterType = FOUR_CHAR_CODE('gain'),
- kRGBColorBalanceImageFilterType = FOUR_CHAR_CODE('rgbb'),
- kHSLColorBalanceImageFilterType = FOUR_CHAR_CODE('hslb'),
- kColorSyncImageFilterType = FOUR_CHAR_CODE('sync'),
- kFilmNoiseImageFilterType = FOUR_CHAR_CODE('fmns'),
- kSolarizeImageFilterType = FOUR_CHAR_CODE('solr'),
- kColorTintImageFilterType = FOUR_CHAR_CODE('tint'),
- kLensFlareImageFilterType = FOUR_CHAR_CODE('lens'),
- kBrightnessContrastImageFilterType = FOUR_CHAR_CODE('brco')
- };
-
- /* two source effects */
- enum
- {
- kAlphaCompositorTransitionType = FOUR_CHAR_CODE('blnd'),
- kCrossFadeTransitionType = FOUR_CHAR_CODE('dslv'),
- kChannelCompositeEffectType = FOUR_CHAR_CODE('chan'),
- kChromaKeyTransitionType = FOUR_CHAR_CODE('ckey'),
- kImplodeTransitionType = FOUR_CHAR_CODE('mplo'),
- kExplodeTransitionType = FOUR_CHAR_CODE('xplo'),
- kGradientTransitionType = FOUR_CHAR_CODE('matt'),
- kPushTransitionType = FOUR_CHAR_CODE('push'),
- kSlideTransitionType = FOUR_CHAR_CODE('slid'),
- kWipeTransitionType = FOUR_CHAR_CODE('smpt'),
- kIrisTransitionType = FOUR_CHAR_CODE('smp2'),
- kRadialTransitionType = FOUR_CHAR_CODE('smp3'),
- kMatrixTransitionType = FOUR_CHAR_CODE('smp4'),
- kZoomTransitionType = FOUR_CHAR_CODE('zoom')
- };
-
- /* three source effects */
- enum
- {
- kTravellingMatteEffectType = FOUR_CHAR_CODE('trav')
- };
-
-
- /* Supported by QTNewGWorld in QuickTime 4.0 and later */
- enum
- {
- kCMYKPixelFormat = FOUR_CHAR_CODE('cmyk'), /* CMYK, 8-bit */
- k64ARGBPixelFormat = FOUR_CHAR_CODE('b64a'), /* ARGB, 16-bit big-endian samples */
- k48RGBPixelFormat = FOUR_CHAR_CODE('b48r'), /* RGB, 16-bit big-endian samples */
- k32AlphaGrayPixelFormat = FOUR_CHAR_CODE('b32a'), /* AlphaGray, 16-bit big-endian samples */
- k16GrayPixelFormat = FOUR_CHAR_CODE('b16g'), /* Grayscale, 16-bit big-endian samples */
- k422YpCbCr8PixelFormat = FOUR_CHAR_CODE('2vuy') /* Component Y'CbCr 8-bit 4:2:2, ordered Cb Y'0 Cr Y'1 */
- };
-
- /* Supported by QTNewGWorld in QuickTime 4.1.2 and later */
- enum
- {
- k4444YpCbCrA8PixelFormat = FOUR_CHAR_CODE('v408'), /* Component Y'CbCrA 8-bit 4:4:4:4, ordered Cb Y' Cr A */
- k4444YpCbCrA8RPixelFormat = FOUR_CHAR_CODE('r408') /* Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv, ordered A Y' Cb Cr */
- };
-
- /* Supported by QTNewGWorld in QuickTime 6.0 and later */
- enum
- {
- kYUV420PixelFormat = FOUR_CHAR_CODE('y420') /* Planar Component Y'CbCr 8-bit 4:2:0. PixMap baseAddr points to a big-endian PlanarPixmapInfoYUV420 struct; see ImageCodec.i. */
- };
-
-
- /* These are the bits that are set in the Component flags, and also in the codecInfo struct. */
- enum
- {
- codecInfoDoes1 = (1L << 0), /* codec can work with 1-bit pixels */
- codecInfoDoes2 = (1L << 1), /* codec can work with 2-bit pixels */
- codecInfoDoes4 = (1L << 2), /* codec can work with 4-bit pixels */
- codecInfoDoes8 = (1L << 3), /* codec can work with 8-bit pixels */
- codecInfoDoes16 = (1L << 4), /* codec can work with 16-bit pixels */
- codecInfoDoes32 = (1L << 5), /* codec can work with 32-bit pixels */
- codecInfoDoesDither = (1L << 6), /* codec can do ditherMode */
- codecInfoDoesStretch = (1L << 7), /* codec can stretch to arbitrary sizes */
- codecInfoDoesShrink = (1L << 8), /* codec can shrink to arbitrary sizes */
- codecInfoDoesMask = (1L << 9), /* codec can mask to clipping regions */
- codecInfoDoesTemporal = (1L << 10), /* codec can handle temporal redundancy */
- codecInfoDoesDouble = (1L << 11), /* codec can stretch to double size exactly */
- codecInfoDoesQuad = (1L << 12), /* codec can stretch to quadruple size exactly */
- codecInfoDoesHalf = (1L << 13), /* codec can shrink to half size */
- codecInfoDoesQuarter = (1L << 14), /* codec can shrink to quarter size */
- codecInfoDoesRotate = (1L << 15), /* codec can rotate on decompress */
- codecInfoDoesHorizFlip = (1L << 16), /* codec can flip horizontally on decompress */
- codecInfoDoesVertFlip = (1L << 17), /* codec can flip vertically on decompress */
- codecInfoHasEffectParameterList = (1L << 18), /* codec implements get effects parameter list call, once was codecInfoDoesSkew */
- codecInfoDoesBlend = (1L << 19), /* codec can blend on decompress */
- codecInfoDoesReorder = (1L << 19), /* codec can rearrange frames during compression */
- codecInfoDoesWarp = (1L << 20), /* codec can warp arbitrarily on decompress */
- codecInfoDoesMultiPass = (1L << 20), /* codec can perform multi-pass compression */
- codecInfoDoesRecompress = (1L << 21), /* codec can recompress image without accumulating errors */
- codecInfoDoesSpool = (1L << 22), /* codec can spool image data */
- codecInfoDoesRateConstrain = (1L << 23) /* codec can data rate constrain */
- };
-
-
- enum
- {
- codecInfoDepth1 = (1L << 0), /* compressed data at 1 bpp depth available */
- codecInfoDepth2 = (1L << 1), /* compressed data at 2 bpp depth available */
- codecInfoDepth4 = (1L << 2), /* compressed data at 4 bpp depth available */
- codecInfoDepth8 = (1L << 3), /* compressed data at 8 bpp depth available */
- codecInfoDepth16 = (1L << 4), /* compressed data at 16 bpp depth available */
- codecInfoDepth32 = (1L << 5), /* compressed data at 32 bpp depth available */
- codecInfoDepth24 = (1L << 6), /* compressed data at 24 bpp depth available */
- codecInfoDepth33 = (1L << 7), /* compressed data at 1 bpp monochrome depth available */
- codecInfoDepth34 = (1L << 8), /* compressed data at 2 bpp grayscale depth available */
- codecInfoDepth36 = (1L << 9), /* compressed data at 4 bpp grayscale depth available */
- codecInfoDepth40 = (1L << 10), /* compressed data at 8 bpp grayscale depth available */
- codecInfoStoresClut = (1L << 11), /* compressed data can have custom cluts */
- codecInfoDoesLossless = (1L << 12), /* compressed data can be stored in lossless format */
- codecInfoSequenceSensitive = (1L << 13) /* compressed data is sensitive to out of sequence decoding */
- };
-
-
- /* input sequence flags*/
- enum
- {
- codecFlagUseImageBuffer = (1L << 0), /* decompress*/
- codecFlagUseScreenBuffer = (1L << 1), /* decompress*/
- codecFlagUpdatePrevious = (1L << 2), /* compress*/
- codecFlagNoScreenUpdate = (1L << 3), /* decompress*/
- codecFlagWasCompressed = (1L << 4), /* compress*/
- codecFlagDontOffscreen = (1L << 5), /* decompress*/
- codecFlagUpdatePreviousComp = (1L << 6), /* compress*/
- codecFlagForceKeyFrame = (1L << 7), /* compress*/
- codecFlagOnlyScreenUpdate = (1L << 8), /* decompress*/
- codecFlagLiveGrab = (1L << 9), /* compress*/
- codecFlagDiffFrame = (1L << 9), /* decompress*/
- codecFlagDontUseNewImageBuffer = (1L << 10), /* decompress*/
- codecFlagInterlaceUpdate = (1L << 11), /* decompress*/
- codecFlagCatchUpDiff = (1L << 12), /* decompress*/
- codecFlagSupportDisable = (1L << 13), /* decompress*/
- codecFlagReenable = (1L << 14) /* decompress*/
- };
-
-
- /* output sequence flags*/
- enum
- {
- codecFlagOutUpdateOnNextIdle = (1L << 9),
- codecFlagOutUpdateOnDataSourceChange = (1L << 10),
- codecFlagSequenceSensitive = (1L << 11),
- codecFlagOutUpdateOnTimeChange = (1L << 12),
- codecFlagImageBufferNotSourceImage = (1L << 13),
- codecFlagUsedNewImageBuffer = (1L << 14),
- codecFlagUsedImageBuffer = (1L << 15)
- };
-
-
-
- enum
- {
- /* The minimum data size for spooling in or out data */
- codecMinimumDataSize = 32768L
- };
-
-
-
- enum
- {
- compressorComponentType = FOUR_CHAR_CODE('imco'), /* the type for "Components" which compress images */
- decompressorComponentType = FOUR_CHAR_CODE('imdc') /* the type for "Components" which decompress images */
- };
-
- typedef Component CompressorComponent;
- typedef Component DecompressorComponent;
- typedef Component CodecComponent;
+struct MatrixRecord {
+ Fixed matrix[3][3];
+};
+typedef struct MatrixRecord MatrixRecord;
+typedef MatrixRecord * MatrixRecordPtr;
+enum {
+ kRawCodecType = FOUR_CHAR_CODE('raw '),
+ kCinepakCodecType = FOUR_CHAR_CODE('cvid'),
+ kGraphicsCodecType = FOUR_CHAR_CODE('smc '),
+ kAnimationCodecType = FOUR_CHAR_CODE('rle '),
+ kVideoCodecType = FOUR_CHAR_CODE('rpza'),
+ kComponentVideoCodecType = FOUR_CHAR_CODE('yuv2'),
+ kJPEGCodecType = FOUR_CHAR_CODE('jpeg'),
+ kMotionJPEGACodecType = FOUR_CHAR_CODE('mjpa'),
+ kMotionJPEGBCodecType = FOUR_CHAR_CODE('mjpb'),
+ kSGICodecType = FOUR_CHAR_CODE('.SGI'),
+ kPlanarRGBCodecType = FOUR_CHAR_CODE('8BPS'),
+ kMacPaintCodecType = FOUR_CHAR_CODE('PNTG'),
+ kGIFCodecType = FOUR_CHAR_CODE('gif '),
+ kPhotoCDCodecType = FOUR_CHAR_CODE('kpcd'),
+ kQuickDrawGXCodecType = FOUR_CHAR_CODE('qdgx'),
+ kAVRJPEGCodecType = FOUR_CHAR_CODE('avr '),
+ kOpenDMLJPEGCodecType = FOUR_CHAR_CODE('dmb1'),
+ kBMPCodecType = FOUR_CHAR_CODE('WRLE'),
+ kWindowsRawCodecType = FOUR_CHAR_CODE('WRAW'),
+ kVectorCodecType = FOUR_CHAR_CODE('path'),
+ kQuickDrawCodecType = FOUR_CHAR_CODE('qdrw'),
+ kWaterRippleCodecType = FOUR_CHAR_CODE('ripl'),
+ kFireCodecType = FOUR_CHAR_CODE('fire'),
+ kCloudCodecType = FOUR_CHAR_CODE('clou'),
+ kH261CodecType = FOUR_CHAR_CODE('h261'),
+ kH263CodecType = FOUR_CHAR_CODE('h263'),
+ kDVCNTSCCodecType = FOUR_CHAR_CODE('dvc '), /* DV - NTSC and DVCPRO NTSC (available in QuickTime 6.0 or later)*/
+ /* NOTE: kDVCProNTSCCodecType is deprecated. */
+ /* Use kDVCNTSCCodecType instead -- as far as the codecs are concerned, */
+ /* the two data formats are identical.*/
+ kDVCPALCodecType = FOUR_CHAR_CODE('dvcp'),
+ kDVCProPALCodecType = FOUR_CHAR_CODE('dvpp'), /* available in QuickTime 6.0 or later*/
+ kDVCPro50NTSCCodecType = FOUR_CHAR_CODE('dv5n'),
+ kDVCPro50PALCodecType = FOUR_CHAR_CODE('dv5p'),
+ kDVCPro100NTSCCodecType = FOUR_CHAR_CODE('dv1n'),
+ kDVCPro100PALCodecType = FOUR_CHAR_CODE('dv1p'),
+ kDVCPROHD720pCodecType = FOUR_CHAR_CODE('dvhp'),
+ kDVCPROHD1080i60CodecType = FOUR_CHAR_CODE('dvh6'),
+ kDVCPROHD1080i50CodecType = FOUR_CHAR_CODE('dvh5'),
+ kBaseCodecType = FOUR_CHAR_CODE('base'),
+ kFLCCodecType = FOUR_CHAR_CODE('flic'),
+ kTargaCodecType = FOUR_CHAR_CODE('tga '),
+ kPNGCodecType = FOUR_CHAR_CODE('png '),
+ kTIFFCodecType = FOUR_CHAR_CODE('tiff'), /* NOTE: despite what might seem obvious from the two constants*/
+ /* below and their names, they really are correct. 'yuvu' really */
+ /* does mean signed, and 'yuvs' really does mean unsigned. Really. */
+ kComponentVideoSigned = FOUR_CHAR_CODE('yuvu'),
+ kComponentVideoUnsigned = FOUR_CHAR_CODE('yuvs'),
+ kCMYKCodecType = FOUR_CHAR_CODE('cmyk'),
+ kMicrosoftVideo1CodecType = FOUR_CHAR_CODE('msvc'),
+ kSorensonCodecType = FOUR_CHAR_CODE('SVQ1'),
+ kSorenson3CodecType = FOUR_CHAR_CODE('SVQ3'), /* available in QuickTime 5 and later*/
+ kIndeo4CodecType = FOUR_CHAR_CODE('IV41'),
+ kMPEG4VisualCodecType = FOUR_CHAR_CODE('mp4v'),
+ k64ARGBCodecType = FOUR_CHAR_CODE('b64a'),
+ k48RGBCodecType = FOUR_CHAR_CODE('b48r'),
+ k32AlphaGrayCodecType = FOUR_CHAR_CODE('b32a'),
+ k16GrayCodecType = FOUR_CHAR_CODE('b16g'),
+ kMpegYUV420CodecType = FOUR_CHAR_CODE('myuv'),
+ kYUV420CodecType = FOUR_CHAR_CODE('y420'),
+ kSorensonYUV9CodecType = FOUR_CHAR_CODE('syv9'),
+ k422YpCbCr8CodecType = FOUR_CHAR_CODE('2vuy'), /* Component Y'CbCr 8-bit 4:2:2 */
+ k444YpCbCr8CodecType = FOUR_CHAR_CODE('v308'), /* Component Y'CbCr 8-bit 4:4:4 */
+ k4444YpCbCrA8CodecType = FOUR_CHAR_CODE('v408'), /* Component Y'CbCrA 8-bit 4:4:4:4 */
+ k422YpCbCr16CodecType = FOUR_CHAR_CODE('v216'), /* Component Y'CbCr 10,12,14,16-bit 4:2:2*/
+ k422YpCbCr10CodecType = FOUR_CHAR_CODE('v210'), /* Component Y'CbCr 10-bit 4:2:2 */
+ k444YpCbCr10CodecType = FOUR_CHAR_CODE('v410'), /* Component Y'CbCr 10-bit 4:4:4 */
+ k4444YpCbCrA8RCodecType = FOUR_CHAR_CODE('r408'), /* Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv*/
+ kJPEG2000CodecType = FOUR_CHAR_CODE('mjp2'),
+ kPixletCodecType = FOUR_CHAR_CODE('pxlt'),
+ kH264CodecType = FOUR_CHAR_CODE('avc1')
+};
+
+
+/* one source effects */
+enum {
+ kBlurImageFilterType = FOUR_CHAR_CODE('blur'),
+ kSharpenImageFilterType = FOUR_CHAR_CODE('shrp'),
+ kEdgeDetectImageFilterType = FOUR_CHAR_CODE('edge'),
+ kEmbossImageFilterType = FOUR_CHAR_CODE('embs'),
+ kConvolveImageFilterType = FOUR_CHAR_CODE('genk'),
+ kAlphaGainImageFilterType = FOUR_CHAR_CODE('gain'),
+ kRGBColorBalanceImageFilterType = FOUR_CHAR_CODE('rgbb'),
+ kHSLColorBalanceImageFilterType = FOUR_CHAR_CODE('hslb'),
+ kColorSyncImageFilterType = FOUR_CHAR_CODE('sync'),
+ kFilmNoiseImageFilterType = FOUR_CHAR_CODE('fmns'),
+ kSolarizeImageFilterType = FOUR_CHAR_CODE('solr'),
+ kColorTintImageFilterType = FOUR_CHAR_CODE('tint'),
+ kLensFlareImageFilterType = FOUR_CHAR_CODE('lens'),
+ kBrightnessContrastImageFilterType = FOUR_CHAR_CODE('brco')
+};
+
+/* two source effects */
+enum {
+ kAlphaCompositorTransitionType = FOUR_CHAR_CODE('blnd'),
+ kCrossFadeTransitionType = FOUR_CHAR_CODE('dslv'),
+ kChannelCompositeEffectType = FOUR_CHAR_CODE('chan'),
+ kChromaKeyTransitionType = FOUR_CHAR_CODE('ckey'),
+ kImplodeTransitionType = FOUR_CHAR_CODE('mplo'),
+ kExplodeTransitionType = FOUR_CHAR_CODE('xplo'),
+ kGradientTransitionType = FOUR_CHAR_CODE('matt'),
+ kPushTransitionType = FOUR_CHAR_CODE('push'),
+ kSlideTransitionType = FOUR_CHAR_CODE('slid'),
+ kWipeTransitionType = FOUR_CHAR_CODE('smpt'),
+ kIrisTransitionType = FOUR_CHAR_CODE('smp2'),
+ kRadialTransitionType = FOUR_CHAR_CODE('smp3'),
+ kMatrixTransitionType = FOUR_CHAR_CODE('smp4'),
+ kZoomTransitionType = FOUR_CHAR_CODE('zoom')
+};
+
+/* three source effects */
+enum {
+ kTravellingMatteEffectType = FOUR_CHAR_CODE('trav')
+};
+
+
+/* Supported by QTNewGWorld in QuickTime 4.0 and later */
+enum {
+ kCMYKPixelFormat = FOUR_CHAR_CODE('cmyk'), /* CMYK, 8-bit */
+ k64ARGBPixelFormat = FOUR_CHAR_CODE('b64a'), /* ARGB, 16-bit big-endian samples */
+ k48RGBPixelFormat = FOUR_CHAR_CODE('b48r'), /* RGB, 16-bit big-endian samples */
+ k32AlphaGrayPixelFormat = FOUR_CHAR_CODE('b32a'), /* AlphaGray, 16-bit big-endian samples */
+ k16GrayPixelFormat = FOUR_CHAR_CODE('b16g'), /* Grayscale, 16-bit big-endian samples */
+ k422YpCbCr8PixelFormat = FOUR_CHAR_CODE('2vuy') /* Component Y'CbCr 8-bit 4:2:2, ordered Cb Y'0 Cr Y'1 */
+};
+
+/* Supported by QTNewGWorld in QuickTime 4.1.2 and later */
+enum {
+ k4444YpCbCrA8PixelFormat = FOUR_CHAR_CODE('v408'), /* Component Y'CbCrA 8-bit 4:4:4:4, ordered Cb Y' Cr A */
+ k4444YpCbCrA8RPixelFormat = FOUR_CHAR_CODE('r408') /* Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv, ordered A Y' Cb Cr */
+};
+
+/* Supported by QTNewGWorld in QuickTime 6.0 and later */
+enum {
+ kYUV420PixelFormat = FOUR_CHAR_CODE('y420') /* Planar Component Y'CbCr 8-bit 4:2:0. PixMap baseAddr points to a big-endian PlanarPixmapInfoYUV420 struct; see ImageCodec.i. */
+};
+
+
+/* These are the bits that are set in the Component flags, and also in the codecInfo struct. */
+enum {
+ codecInfoDoes1 = (1L << 0), /* codec can work with 1-bit pixels */
+ codecInfoDoes2 = (1L << 1), /* codec can work with 2-bit pixels */
+ codecInfoDoes4 = (1L << 2), /* codec can work with 4-bit pixels */
+ codecInfoDoes8 = (1L << 3), /* codec can work with 8-bit pixels */
+ codecInfoDoes16 = (1L << 4), /* codec can work with 16-bit pixels */
+ codecInfoDoes32 = (1L << 5), /* codec can work with 32-bit pixels */
+ codecInfoDoesDither = (1L << 6), /* codec can do ditherMode */
+ codecInfoDoesStretch = (1L << 7), /* codec can stretch to arbitrary sizes */
+ codecInfoDoesShrink = (1L << 8), /* codec can shrink to arbitrary sizes */
+ codecInfoDoesMask = (1L << 9), /* codec can mask to clipping regions */
+ codecInfoDoesTemporal = (1L << 10), /* codec can handle temporal redundancy */
+ codecInfoDoesDouble = (1L << 11), /* codec can stretch to double size exactly */
+ codecInfoDoesQuad = (1L << 12), /* codec can stretch to quadruple size exactly */
+ codecInfoDoesHalf = (1L << 13), /* codec can shrink to half size */
+ codecInfoDoesQuarter = (1L << 14), /* codec can shrink to quarter size */
+ codecInfoDoesRotate = (1L << 15), /* codec can rotate on decompress */
+ codecInfoDoesHorizFlip = (1L << 16), /* codec can flip horizontally on decompress */
+ codecInfoDoesVertFlip = (1L << 17), /* codec can flip vertically on decompress */
+ codecInfoHasEffectParameterList = (1L << 18), /* codec implements get effects parameter list call, once was codecInfoDoesSkew */
+ codecInfoDoesBlend = (1L << 19), /* codec can blend on decompress */
+ codecInfoDoesReorder = (1L << 19), /* codec can rearrange frames during compression */
+ codecInfoDoesWarp = (1L << 20), /* codec can warp arbitrarily on decompress */
+ codecInfoDoesMultiPass = (1L << 20), /* codec can perform multi-pass compression */
+ codecInfoDoesRecompress = (1L << 21), /* codec can recompress image without accumulating errors */
+ codecInfoDoesSpool = (1L << 22), /* codec can spool image data */
+ codecInfoDoesRateConstrain = (1L << 23) /* codec can data rate constrain */
+};
+
+
+enum {
+ codecInfoDepth1 = (1L << 0), /* compressed data at 1 bpp depth available */
+ codecInfoDepth2 = (1L << 1), /* compressed data at 2 bpp depth available */
+ codecInfoDepth4 = (1L << 2), /* compressed data at 4 bpp depth available */
+ codecInfoDepth8 = (1L << 3), /* compressed data at 8 bpp depth available */
+ codecInfoDepth16 = (1L << 4), /* compressed data at 16 bpp depth available */
+ codecInfoDepth32 = (1L << 5), /* compressed data at 32 bpp depth available */
+ codecInfoDepth24 = (1L << 6), /* compressed data at 24 bpp depth available */
+ codecInfoDepth33 = (1L << 7), /* compressed data at 1 bpp monochrome depth available */
+ codecInfoDepth34 = (1L << 8), /* compressed data at 2 bpp grayscale depth available */
+ codecInfoDepth36 = (1L << 9), /* compressed data at 4 bpp grayscale depth available */
+ codecInfoDepth40 = (1L << 10), /* compressed data at 8 bpp grayscale depth available */
+ codecInfoStoresClut = (1L << 11), /* compressed data can have custom cluts */
+ codecInfoDoesLossless = (1L << 12), /* compressed data can be stored in lossless format */
+ codecInfoSequenceSensitive = (1L << 13) /* compressed data is sensitive to out of sequence decoding */
+};
+
+
+/* input sequence flags*/
+enum {
+ codecFlagUseImageBuffer = (1L << 0), /* decompress*/
+ codecFlagUseScreenBuffer = (1L << 1), /* decompress*/
+ codecFlagUpdatePrevious = (1L << 2), /* compress*/
+ codecFlagNoScreenUpdate = (1L << 3), /* decompress*/
+ codecFlagWasCompressed = (1L << 4), /* compress*/
+ codecFlagDontOffscreen = (1L << 5), /* decompress*/
+ codecFlagUpdatePreviousComp = (1L << 6), /* compress*/
+ codecFlagForceKeyFrame = (1L << 7), /* compress*/
+ codecFlagOnlyScreenUpdate = (1L << 8), /* decompress*/
+ codecFlagLiveGrab = (1L << 9), /* compress*/
+ codecFlagDiffFrame = (1L << 9), /* decompress*/
+ codecFlagDontUseNewImageBuffer = (1L << 10), /* decompress*/
+ codecFlagInterlaceUpdate = (1L << 11), /* decompress*/
+ codecFlagCatchUpDiff = (1L << 12), /* decompress*/
+ codecFlagSupportDisable = (1L << 13), /* decompress*/
+ codecFlagReenable = (1L << 14) /* decompress*/
+};
+
+
+/* output sequence flags*/
+enum {
+ codecFlagOutUpdateOnNextIdle = (1L << 9),
+ codecFlagOutUpdateOnDataSourceChange = (1L << 10),
+ codecFlagSequenceSensitive = (1L << 11),
+ codecFlagOutUpdateOnTimeChange = (1L << 12),
+ codecFlagImageBufferNotSourceImage = (1L << 13),
+ codecFlagUsedNewImageBuffer = (1L << 14),
+ codecFlagUsedImageBuffer = (1L << 15)
+};
+
+
+
+enum {
+ /* The minimum data size for spooling in or out data */
+ codecMinimumDataSize = 32768L
+};
+
+
+
+enum {
+ compressorComponentType = FOUR_CHAR_CODE('imco'), /* the type for "Components" which compress images */
+ decompressorComponentType = FOUR_CHAR_CODE('imdc') /* the type for "Components" which decompress images */
+};
+
+typedef Component CompressorComponent;
+typedef Component DecompressorComponent;
+typedef Component CodecComponent;
#define anyCodec ((CodecComponent)0)
#define bestSpeedCodec ((CodecComponent)-1)
#define bestFidelityCodec ((CodecComponent)-2)
#define bestCompressionCodec ((CodecComponent)-3)
- typedef OSType CodecType;
- typedef unsigned short CodecFlags;
- typedef unsigned long CodecQ;
- enum
- {
- codecLosslessQuality = 0x00000400,
- codecMaxQuality = 0x000003FF,
- codecMinQuality = 0x00000000,
- codecLowQuality = 0x00000100,
- codecNormalQuality = 0x00000200,
- codecHighQuality = 0x00000300
- };
-
- enum
- {
- codecLockBitsShieldCursor = (1 << 0) /* shield cursor */
- };
-
- enum
- {
- codecCompletionSource = (1 << 0), /* asynchronous codec is done with source data */
- codecCompletionDest = (1 << 1), /* asynchronous codec is done with destination data */
- codecCompletionDontUnshield = (1 << 2), /* on dest complete don't unshield cursor */
- codecCompletionWentOffscreen = (1 << 3), /* codec used offscreen buffer */
- codecCompletionUnlockBits = (1 << 4), /* on dest complete, call ICMSequenceUnlockBits */
- codecCompletionForceChainFlush = (1 << 5), /* ICM needs to flush the whole chain */
- codecCompletionDropped = (1 << 6), /* codec decided to drop this frame */
- codecCompletionDecoded = (1 << 10), /* codec has decoded this frame; if it is cancelled and rescheduled, set icmFrameAlreadyDecoded in ICMFrameTimeRecord.flags */
- codecCompletionNotDisplayable = (1 << 11), /* the frame may still be scheduled for decode, but will not be able to be displayed because the buffer containing it will need to be recycled to display earlier frames. */
- codecCompletionNotDrawn = (1 << 12) /* set in conjunction with codecCompletionDest to indicate that the frame was not drawn */
- };
-
- enum
- {
- codecProgressOpen = 0,
- codecProgressUpdatePercent = 1,
- codecProgressClose = 2
- };
-
- typedef CALLBACK_API(OSErr , ICMDataProcPtr)(Ptr *dataP, long bytesNeeded, long refcon);
- typedef CALLBACK_API(OSErr , ICMFlushProcPtr)(Ptr data, long bytesAdded, long refcon);
- typedef CALLBACK_API(void , ICMCompletionProcPtr)(OSErr result, short flags, long refcon);
- typedef CALLBACK_API(OSErr , ICMProgressProcPtr)(short message, Fixed completeness, long refcon);
- typedef CALLBACK_API(void , StdPixProcPtr)(PixMap *src, Rect *srcRect, MatrixRecord *matrix, short mode, RgnHandle mask, PixMap *matte, Rect *matteRect, short flags);
- typedef CALLBACK_API(void , QDPixProcPtr)(PixMap *src, Rect *srcRect, MatrixRecord *matrix, short mode, RgnHandle mask, PixMap *matte, Rect *matteRect, short flags);
- typedef CALLBACK_API(void , ICMAlignmentProcPtr)(Rect *rp, long refcon);
- typedef CALLBACK_API(void , ICMCursorShieldedProcPtr)(const Rect *r, void *refcon, long flags);
- typedef CALLBACK_API(void , ICMMemoryDisposedProcPtr)(Ptr memoryBlock, void *refcon);
- typedef void * ICMCursorNotify;
- typedef CALLBACK_API(OSErr , ICMConvertDataFormatProcPtr)(void *refCon, long flags, Handle desiredFormat, Handle sourceDataFormat, void *srcData, long srcDataSize, void **dstData, long *dstDataSize);
- typedef STACK_UPP_TYPE(ICMDataProcPtr) ICMDataUPP;
- typedef STACK_UPP_TYPE(ICMFlushProcPtr) ICMFlushUPP;
- typedef STACK_UPP_TYPE(ICMCompletionProcPtr) ICMCompletionUPP;
- typedef STACK_UPP_TYPE(ICMProgressProcPtr) ICMProgressUPP;
- typedef STACK_UPP_TYPE(StdPixProcPtr) StdPixUPP;
- typedef STACK_UPP_TYPE(QDPixProcPtr) QDPixUPP;
- typedef STACK_UPP_TYPE(ICMAlignmentProcPtr) ICMAlignmentUPP;
- typedef STACK_UPP_TYPE(ICMCursorShieldedProcPtr) ICMCursorShieldedUPP;
- typedef STACK_UPP_TYPE(ICMMemoryDisposedProcPtr) ICMMemoryDisposedUPP;
- typedef STACK_UPP_TYPE(ICMConvertDataFormatProcPtr) ICMConvertDataFormatUPP;
- typedef long ImageSequence;
- typedef long ImageSequenceDataSource;
- typedef long ImageTranscodeSequence;
- typedef long ImageFieldSequence;
- struct ICMProgressProcRecord
- {
- ICMProgressUPP progressProc;
- long progressRefCon;
- };
- typedef struct ICMProgressProcRecord ICMProgressProcRecord;
- typedef ICMProgressProcRecord * ICMProgressProcRecordPtr;
- struct ICMCompletionProcRecord
- {
- ICMCompletionUPP completionProc;
- long completionRefCon;
- };
- typedef struct ICMCompletionProcRecord ICMCompletionProcRecord;
- typedef ICMCompletionProcRecord * ICMCompletionProcRecordPtr;
- struct ICMDataProcRecord
- {
- ICMDataUPP dataProc;
- long dataRefCon;
- };
- typedef struct ICMDataProcRecord ICMDataProcRecord;
- typedef ICMDataProcRecord * ICMDataProcRecordPtr;
- struct ICMFlushProcRecord
- {
- ICMFlushUPP flushProc;
- long flushRefCon;
- };
- typedef struct ICMFlushProcRecord ICMFlushProcRecord;
- typedef ICMFlushProcRecord * ICMFlushProcRecordPtr;
- struct ICMAlignmentProcRecord
- {
- ICMAlignmentUPP alignmentProc;
- long alignmentRefCon;
- };
- typedef struct ICMAlignmentProcRecord ICMAlignmentProcRecord;
- typedef ICMAlignmentProcRecord * ICMAlignmentProcRecordPtr;
- struct DataRateParams
- {
- long dataRate;
- long dataOverrun;
- long frameDuration;
- long keyFrameRate;
- CodecQ minSpatialQuality;
- CodecQ minTemporalQuality;
- };
- typedef struct DataRateParams DataRateParams;
- typedef DataRateParams * DataRateParamsPtr;
- struct ImageDescription
- {
- long idSize; /* total size of ImageDescription including extra data ( CLUTs and other per sequence data ) */
- CodecType cType; /* what kind of codec compressed this data */
- long resvd1; /* reserved for Apple use */
- short resvd2; /* reserved for Apple use */
- short dataRefIndex; /* set to zero */
- short version; /* which version is this data */
- short revisionLevel; /* what version of that codec did this */
- long vendor; /* whose codec compressed this data */
- CodecQ temporalQuality; /* what was the temporal quality factor */
- CodecQ spatialQuality; /* what was the spatial quality factor */
- short width; /* how many pixels wide is this data */
- short height; /* how many pixels high is this data */
- Fixed hRes; /* horizontal resolution */
- Fixed vRes; /* vertical resolution */
- long dataSize; /* if known, the size of data for this image descriptor */
- short frameCount; /* number of frames this description applies to */
- Str31 name; /* name of codec ( in case not installed ) */
- short depth; /* what depth is this data (1-32) or ( 33-40 grayscale ) */
- short clutID; /* clut id or if 0 clut follows or -1 if no clut */
- };
- typedef struct ImageDescription ImageDescription;
- typedef ImageDescription * ImageDescriptionPtr;
- typedef ImageDescriptionPtr * ImageDescriptionHandle;
- struct CodecInfo
- {
- Str31 typeName; /* name of the codec type i.e.: 'Apple Image Compression' */
- short version; /* version of the codec data that this codec knows about */
- short revisionLevel; /* revision level of this codec i.e: 0x00010001 (1.0.1) */
- long vendor; /* Maker of this codec i.e: 'appl' */
- long decompressFlags; /* codecInfo flags for decompression capabilities */
- long compressFlags; /* codecInfo flags for compression capabilities */
- long formatFlags; /* codecInfo flags for compression format details */
- UInt8 compressionAccuracy; /* measure (1-255) of accuracy of this codec for compress (0 if unknown) */
- UInt8 decompressionAccuracy; /* measure (1-255) of accuracy of this codec for decompress (0 if unknown) */
- unsigned short compressionSpeed; /* ( millisecs for compressing 320x240 on base mac II) (0 if unknown) */
- unsigned short decompressionSpeed; /* ( millisecs for decompressing 320x240 on mac II)(0 if unknown) */
- UInt8 compressionLevel; /* measure (1-255) of compression level of this codec (0 if unknown) */
- UInt8 resvd; /* pad */
- short minimumHeight; /* minimum height of image (block size) */
- short minimumWidth; /* minimum width of image (block size) */
- short decompressPipelineLatency; /* in milliseconds ( for asynchronous codecs ) */
- short compressPipelineLatency; /* in milliseconds ( for asynchronous codecs ) */
- long privateData;
- };
- typedef struct CodecInfo CodecInfo;
- struct CodecNameSpec
- {
- CodecComponent codec;
- CodecType cType;
- Str31 typeName;
- Handle name;
- };
- typedef struct CodecNameSpec CodecNameSpec;
- struct CodecNameSpecList
- {
- short count;
- CodecNameSpec list[1];
- };
- typedef struct CodecNameSpecList CodecNameSpecList;
- typedef CodecNameSpecList * CodecNameSpecListPtr;
- enum
- {
- defaultDither = 0,
- forceDither = 1,
- suppressDither = 2,
- useColorMatching = 4
- };
-
- enum
- {
- callStdBits = 1,
- callOldBits = 2,
- noDefaultOpcodes = 4
- };
-
- enum
- {
- graphicsModeStraightAlpha = 256,
- graphicsModePreWhiteAlpha = 257,
- graphicsModePreBlackAlpha = 258,
- graphicsModeComposition = 259,
- graphicsModeStraightAlphaBlend = 260,
- graphicsModePreMulColorAlpha = 261,
- graphicsModePerComponentAlpha = 272
- };
-
- enum
- {
- evenField1ToEvenFieldOut = 1 << 0,
- evenField1ToOddFieldOut = 1 << 1,
- oddField1ToEvenFieldOut = 1 << 2,
- oddField1ToOddFieldOut = 1 << 3,
- evenField2ToEvenFieldOut = 1 << 4,
- evenField2ToOddFieldOut = 1 << 5,
- oddField2ToEvenFieldOut = 1 << 6,
- oddField2ToOddFieldOut = 1 << 7
- };
-
- /* Flags for ICMFrameTimeRecord.flags */
- enum
- {
- icmFrameTimeHasVirtualStartTimeAndDuration = 1 << 0,
- icmFrameAlreadyDecoded = 1 << 1,
- icmFrameTimeIsNonScheduledDisplayTime = 1 << 2,
- icmFrameTimeHasDecodeTime = 1 << 3,
- icmFrameTimeDecodeImmediately = 1 << 4,
- icmFrameTimeDoNotDisplay = 1 << 5
- };
-
- struct ICMFrameTimeRecord
- {
- wide value; /* frame display time*/
- long scale; /* timescale of value/duration fields*/
- void * base; /* timebase*/
-
- long duration; /* duration frame is to be displayed (0 if unknown)*/
- Fixed rate; /* rate of timebase relative to wall-time*/
-
- long recordSize; /* total number of bytes in ICMFrameTimeRecord*/
-
- long frameNumber; /* number of frame, zero if not known*/
-
- long flags;
-
- wide virtualStartTime; /* conceptual start time*/
- long virtualDuration; /* conceptual duration*/
-
- /* The following fields only exist for QuickTime 7.0 and greater. */
- TimeValue64 decodeTime; /* suggested decode time, if icmFrameTimeHasDecodeTime is set in flags*/
- };
- typedef struct ICMFrameTimeRecord ICMFrameTimeRecord;
- typedef ICMFrameTimeRecord * ICMFrameTimePtr;
+typedef OSType CodecType;
+typedef unsigned short CodecFlags;
+typedef unsigned long CodecQ;
+enum {
+ codecLosslessQuality = 0x00000400,
+ codecMaxQuality = 0x000003FF,
+ codecMinQuality = 0x00000000,
+ codecLowQuality = 0x00000100,
+ codecNormalQuality = 0x00000200,
+ codecHighQuality = 0x00000300
+};
+
+enum {
+ codecLockBitsShieldCursor = (1 << 0) /* shield cursor */
+};
+
+enum {
+ codecCompletionSource = (1 << 0), /* asynchronous codec is done with source data */
+ codecCompletionDest = (1 << 1), /* asynchronous codec is done with destination data */
+ codecCompletionDontUnshield = (1 << 2), /* on dest complete don't unshield cursor */
+ codecCompletionWentOffscreen = (1 << 3), /* codec used offscreen buffer */
+ codecCompletionUnlockBits = (1 << 4), /* on dest complete, call ICMSequenceUnlockBits */
+ codecCompletionForceChainFlush = (1 << 5), /* ICM needs to flush the whole chain */
+ codecCompletionDropped = (1 << 6), /* codec decided to drop this frame */
+ codecCompletionDecoded = (1 << 10), /* codec has decoded this frame; if it is cancelled and rescheduled, set icmFrameAlreadyDecoded in ICMFrameTimeRecord.flags */
+ codecCompletionNotDisplayable = (1 << 11), /* the frame may still be scheduled for decode, but will not be able to be displayed because the buffer containing it will need to be recycled to display earlier frames. */
+ codecCompletionNotDrawn = (1 << 12) /* set in conjunction with codecCompletionDest to indicate that the frame was not drawn */
+};
+
+enum {
+ codecProgressOpen = 0,
+ codecProgressUpdatePercent = 1,
+ codecProgressClose = 2
+};
+
+typedef CALLBACK_API( OSErr , ICMDataProcPtr )(Ptr *dataP, long bytesNeeded, long refcon);
+typedef CALLBACK_API( OSErr , ICMFlushProcPtr )(Ptr data, long bytesAdded, long refcon);
+typedef CALLBACK_API( void , ICMCompletionProcPtr )(OSErr result, short flags, long refcon);
+typedef CALLBACK_API( OSErr , ICMProgressProcPtr )(short message, Fixed completeness, long refcon);
+typedef CALLBACK_API( void , StdPixProcPtr )(PixMap *src, Rect *srcRect, MatrixRecord *matrix, short mode, RgnHandle mask, PixMap *matte, Rect *matteRect, short flags);
+typedef CALLBACK_API( void , QDPixProcPtr )(PixMap *src, Rect *srcRect, MatrixRecord *matrix, short mode, RgnHandle mask, PixMap *matte, Rect *matteRect, short flags);
+typedef CALLBACK_API( void , ICMAlignmentProcPtr )(Rect *rp, long refcon);
+typedef CALLBACK_API( void , ICMCursorShieldedProcPtr )(const Rect *r, void *refcon, long flags);
+typedef CALLBACK_API( void , ICMMemoryDisposedProcPtr )(Ptr memoryBlock, void *refcon);
+typedef void * ICMCursorNotify;
+typedef CALLBACK_API( OSErr , ICMConvertDataFormatProcPtr )(void *refCon, long flags, Handle desiredFormat, Handle sourceDataFormat, void *srcData, long srcDataSize, void **dstData, long *dstDataSize);
+typedef STACK_UPP_TYPE(ICMDataProcPtr) ICMDataUPP;
+typedef STACK_UPP_TYPE(ICMFlushProcPtr) ICMFlushUPP;
+typedef STACK_UPP_TYPE(ICMCompletionProcPtr) ICMCompletionUPP;
+typedef STACK_UPP_TYPE(ICMProgressProcPtr) ICMProgressUPP;
+typedef STACK_UPP_TYPE(StdPixProcPtr) StdPixUPP;
+typedef STACK_UPP_TYPE(QDPixProcPtr) QDPixUPP;
+typedef STACK_UPP_TYPE(ICMAlignmentProcPtr) ICMAlignmentUPP;
+typedef STACK_UPP_TYPE(ICMCursorShieldedProcPtr) ICMCursorShieldedUPP;
+typedef STACK_UPP_TYPE(ICMMemoryDisposedProcPtr) ICMMemoryDisposedUPP;
+typedef STACK_UPP_TYPE(ICMConvertDataFormatProcPtr) ICMConvertDataFormatUPP;
+typedef long ImageSequence;
+typedef long ImageSequenceDataSource;
+typedef long ImageTranscodeSequence;
+typedef long ImageFieldSequence;
+struct ICMProgressProcRecord {
+ ICMProgressUPP progressProc;
+ long progressRefCon;
+};
+typedef struct ICMProgressProcRecord ICMProgressProcRecord;
+typedef ICMProgressProcRecord * ICMProgressProcRecordPtr;
+struct ICMCompletionProcRecord {
+ ICMCompletionUPP completionProc;
+ long completionRefCon;
+};
+typedef struct ICMCompletionProcRecord ICMCompletionProcRecord;
+typedef ICMCompletionProcRecord * ICMCompletionProcRecordPtr;
+struct ICMDataProcRecord {
+ ICMDataUPP dataProc;
+ long dataRefCon;
+};
+typedef struct ICMDataProcRecord ICMDataProcRecord;
+typedef ICMDataProcRecord * ICMDataProcRecordPtr;
+struct ICMFlushProcRecord {
+ ICMFlushUPP flushProc;
+ long flushRefCon;
+};
+typedef struct ICMFlushProcRecord ICMFlushProcRecord;
+typedef ICMFlushProcRecord * ICMFlushProcRecordPtr;
+struct ICMAlignmentProcRecord {
+ ICMAlignmentUPP alignmentProc;
+ long alignmentRefCon;
+};
+typedef struct ICMAlignmentProcRecord ICMAlignmentProcRecord;
+typedef ICMAlignmentProcRecord * ICMAlignmentProcRecordPtr;
+struct DataRateParams {
+ long dataRate;
+ long dataOverrun;
+ long frameDuration;
+ long keyFrameRate;
+ CodecQ minSpatialQuality;
+ CodecQ minTemporalQuality;
+};
+typedef struct DataRateParams DataRateParams;
+typedef DataRateParams * DataRateParamsPtr;
+struct ImageDescription {
+ long idSize; /* total size of ImageDescription including extra data ( CLUTs and other per sequence data ) */
+ CodecType cType; /* what kind of codec compressed this data */
+ long resvd1; /* reserved for Apple use */
+ short resvd2; /* reserved for Apple use */
+ short dataRefIndex; /* set to zero */
+ short version; /* which version is this data */
+ short revisionLevel; /* what version of that codec did this */
+ long vendor; /* whose codec compressed this data */
+ CodecQ temporalQuality; /* what was the temporal quality factor */
+ CodecQ spatialQuality; /* what was the spatial quality factor */
+ short width; /* how many pixels wide is this data */
+ short height; /* how many pixels high is this data */
+ Fixed hRes; /* horizontal resolution */
+ Fixed vRes; /* vertical resolution */
+ long dataSize; /* if known, the size of data for this image descriptor */
+ short frameCount; /* number of frames this description applies to */
+ Str31 name; /* name of codec ( in case not installed ) */
+ short depth; /* what depth is this data (1-32) or ( 33-40 grayscale ) */
+ short clutID; /* clut id or if 0 clut follows or -1 if no clut */
+};
+typedef struct ImageDescription ImageDescription;
+typedef ImageDescription * ImageDescriptionPtr;
+typedef ImageDescriptionPtr * ImageDescriptionHandle;
+struct CodecInfo {
+ Str31 typeName; /* name of the codec type i.e.: 'Apple Image Compression' */
+ short version; /* version of the codec data that this codec knows about */
+ short revisionLevel; /* revision level of this codec i.e: 0x00010001 (1.0.1) */
+ long vendor; /* Maker of this codec i.e: 'appl' */
+ long decompressFlags; /* codecInfo flags for decompression capabilities */
+ long compressFlags; /* codecInfo flags for compression capabilities */
+ long formatFlags; /* codecInfo flags for compression format details */
+ UInt8 compressionAccuracy; /* measure (1-255) of accuracy of this codec for compress (0 if unknown) */
+ UInt8 decompressionAccuracy; /* measure (1-255) of accuracy of this codec for decompress (0 if unknown) */
+ unsigned short compressionSpeed; /* ( millisecs for compressing 320x240 on base mac II) (0 if unknown) */
+ unsigned short decompressionSpeed; /* ( millisecs for decompressing 320x240 on mac II)(0 if unknown) */
+ UInt8 compressionLevel; /* measure (1-255) of compression level of this codec (0 if unknown) */
+ UInt8 resvd; /* pad */
+ short minimumHeight; /* minimum height of image (block size) */
+ short minimumWidth; /* minimum width of image (block size) */
+ short decompressPipelineLatency; /* in milliseconds ( for asynchronous codecs ) */
+ short compressPipelineLatency; /* in milliseconds ( for asynchronous codecs ) */
+ long privateData;
+};
+typedef struct CodecInfo CodecInfo;
+struct CodecNameSpec {
+ CodecComponent codec;
+ CodecType cType;
+ Str31 typeName;
+ Handle name;
+};
+typedef struct CodecNameSpec CodecNameSpec;
+struct CodecNameSpecList {
+ short count;
+ CodecNameSpec list[1];
+};
+typedef struct CodecNameSpecList CodecNameSpecList;
+typedef CodecNameSpecList * CodecNameSpecListPtr;
+enum {
+ defaultDither = 0,
+ forceDither = 1,
+ suppressDither = 2,
+ useColorMatching = 4
+};
+
+enum {
+ callStdBits = 1,
+ callOldBits = 2,
+ noDefaultOpcodes = 4
+};
+
+enum {
+ graphicsModeStraightAlpha = 256,
+ graphicsModePreWhiteAlpha = 257,
+ graphicsModePreBlackAlpha = 258,
+ graphicsModeComposition = 259,
+ graphicsModeStraightAlphaBlend = 260,
+ graphicsModePreMulColorAlpha = 261,
+ graphicsModePerComponentAlpha = 272
+};
+
+enum {
+ evenField1ToEvenFieldOut = 1 << 0,
+ evenField1ToOddFieldOut = 1 << 1,
+ oddField1ToEvenFieldOut = 1 << 2,
+ oddField1ToOddFieldOut = 1 << 3,
+ evenField2ToEvenFieldOut = 1 << 4,
+ evenField2ToOddFieldOut = 1 << 5,
+ oddField2ToEvenFieldOut = 1 << 6,
+ oddField2ToOddFieldOut = 1 << 7
+};
+
+/* Flags for ICMFrameTimeRecord.flags */
+enum {
+ icmFrameTimeHasVirtualStartTimeAndDuration = 1 << 0,
+ icmFrameAlreadyDecoded = 1 << 1,
+ icmFrameTimeIsNonScheduledDisplayTime = 1 << 2,
+ icmFrameTimeHasDecodeTime = 1 << 3,
+ icmFrameTimeDecodeImmediately = 1 << 4,
+ icmFrameTimeDoNotDisplay = 1 << 5
+};
+
+struct ICMFrameTimeRecord {
+ wide value; /* frame display time*/
+ long scale; /* timescale of value/duration fields*/
+ void * base; /* timebase*/
+
+ long duration; /* duration frame is to be displayed (0 if unknown)*/
+ Fixed rate; /* rate of timebase relative to wall-time*/
+
+ long recordSize; /* total number of bytes in ICMFrameTimeRecord*/
+
+ long frameNumber; /* number of frame, zero if not known*/
+
+ long flags;
+
+ wide virtualStartTime; /* conceptual start time*/
+ long virtualDuration; /* conceptual duration*/
+
+ /* The following fields only exist for QuickTime 7.0 and greater. */
+ TimeValue64 decodeTime; /* suggested decode time, if icmFrameTimeHasDecodeTime is set in flags*/
+};
+typedef struct ICMFrameTimeRecord ICMFrameTimeRecord;
+typedef ICMFrameTimeRecord * ICMFrameTimePtr;
#ifndef __QTUUID__
#define __QTUUID__ 1
- /* QuickTime flavor of universally unique identifier (uuid)*/
- struct QTUUID
- {
- UInt32 data1;
- UInt16 data2;
- UInt16 data3;
- UInt8 data4[8];
- };
- typedef struct QTUUID QTUUID;
- typedef QTUUID QTMediaContextID;
+/* QuickTime flavor of universally unique identifier (uuid)*/
+struct QTUUID {
+ UInt32 data1;
+ UInt16 data2;
+ UInt16 data3;
+ UInt8 data4[8];
+};
+typedef struct QTUUID QTUUID;
+typedef QTUUID QTMediaContextID;
#endif /* !defined(__QTUUID__) */
- /* See Movies.h for the flags themselves. */
- typedef UInt32 MediaSampleFlags;
- /*
- * NewICMDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ICMDataUPP)
- NewICMDataUPP(ICMDataProcPtr userRoutine);
+/* See Movies.h for the flags themselves. */
+typedef UInt32 MediaSampleFlags;
+/*
+ * NewICMDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ICMDataUPP )
+NewICMDataUPP(ICMDataProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppICMDataProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ICMDataUPP) NewICMDataUPP(ICMDataProcPtr userRoutine)
- {
- return (ICMDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMDataProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewICMDataUPP(userRoutine) (ICMDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMDataProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppICMDataProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ICMDataUPP) NewICMDataUPP(ICMDataProcPtr userRoutine) { return (ICMDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMDataProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewICMDataUPP(userRoutine) (ICMDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMDataProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewICMFlushUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ICMFlushUPP)
- NewICMFlushUPP(ICMFlushProcPtr userRoutine);
+/*
+ * NewICMFlushUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ICMFlushUPP )
+NewICMFlushUPP(ICMFlushProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppICMFlushProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ICMFlushUPP) NewICMFlushUPP(ICMFlushProcPtr userRoutine)
- {
- return (ICMFlushUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMFlushProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewICMFlushUPP(userRoutine) (ICMFlushUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMFlushProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppICMFlushProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ICMFlushUPP) NewICMFlushUPP(ICMFlushProcPtr userRoutine) { return (ICMFlushUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMFlushProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewICMFlushUPP(userRoutine) (ICMFlushUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMFlushProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewICMCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ICMCompletionUPP)
- NewICMCompletionUPP(ICMCompletionProcPtr userRoutine);
+/*
+ * NewICMCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ICMCompletionUPP )
+NewICMCompletionUPP(ICMCompletionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppICMCompletionProcInfo = 0x00000E80 }; /* pascal no_return_value Func(2_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ICMCompletionUPP) NewICMCompletionUPP(ICMCompletionProcPtr userRoutine)
- {
- return (ICMCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMCompletionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewICMCompletionUPP(userRoutine) (ICMCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMCompletionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppICMCompletionProcInfo = 0x00000E80 }; /* pascal no_return_value Func(2_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ICMCompletionUPP) NewICMCompletionUPP(ICMCompletionProcPtr userRoutine) { return (ICMCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMCompletionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewICMCompletionUPP(userRoutine) (ICMCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMCompletionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewICMProgressUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ICMProgressUPP)
- NewICMProgressUPP(ICMProgressProcPtr userRoutine);
+/*
+ * NewICMProgressUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ICMProgressUPP )
+NewICMProgressUPP(ICMProgressProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppICMProgressProcInfo = 0x00000FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ICMProgressUPP) NewICMProgressUPP(ICMProgressProcPtr userRoutine)
- {
- return (ICMProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMProgressProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewICMProgressUPP(userRoutine) (ICMProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMProgressProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppICMProgressProcInfo = 0x00000FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ICMProgressUPP) NewICMProgressUPP(ICMProgressProcPtr userRoutine) { return (ICMProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMProgressProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewICMProgressUPP(userRoutine) (ICMProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMProgressProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewStdPixUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(StdPixUPP)
- NewStdPixUPP(StdPixProcPtr userRoutine);
+/*
+ * NewStdPixUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( StdPixUPP )
+NewStdPixUPP(StdPixProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppStdPixProcInfo = 0x002FEFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(StdPixUPP) NewStdPixUPP(StdPixProcPtr userRoutine)
- {
- return (StdPixUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStdPixProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewStdPixUPP(userRoutine) (StdPixUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStdPixProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppStdPixProcInfo = 0x002FEFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(StdPixUPP) NewStdPixUPP(StdPixProcPtr userRoutine) { return (StdPixUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStdPixProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewStdPixUPP(userRoutine) (StdPixUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStdPixProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDPixUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDPixUPP)
- NewQDPixUPP(QDPixProcPtr userRoutine);
+/*
+ * NewQDPixUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDPixUPP )
+NewQDPixUPP(QDPixProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDPixProcInfo = 0x002FEFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDPixUPP) NewQDPixUPP(QDPixProcPtr userRoutine)
- {
- return (QDPixUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPixProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDPixUPP(userRoutine) (QDPixUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPixProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDPixProcInfo = 0x002FEFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDPixUPP) NewQDPixUPP(QDPixProcPtr userRoutine) { return (QDPixUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPixProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDPixUPP(userRoutine) (QDPixUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPixProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewICMAlignmentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ICMAlignmentUPP)
- NewICMAlignmentUPP(ICMAlignmentProcPtr userRoutine);
+/*
+ * NewICMAlignmentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ICMAlignmentUPP )
+NewICMAlignmentUPP(ICMAlignmentProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppICMAlignmentProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ICMAlignmentUPP) NewICMAlignmentUPP(ICMAlignmentProcPtr userRoutine)
- {
- return (ICMAlignmentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMAlignmentProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewICMAlignmentUPP(userRoutine) (ICMAlignmentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMAlignmentProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppICMAlignmentProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ICMAlignmentUPP) NewICMAlignmentUPP(ICMAlignmentProcPtr userRoutine) { return (ICMAlignmentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMAlignmentProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewICMAlignmentUPP(userRoutine) (ICMAlignmentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMAlignmentProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewICMCursorShieldedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ICMCursorShieldedUPP)
- NewICMCursorShieldedUPP(ICMCursorShieldedProcPtr userRoutine);
+/*
+ * NewICMCursorShieldedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ICMCursorShieldedUPP )
+NewICMCursorShieldedUPP(ICMCursorShieldedProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppICMCursorShieldedProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ICMCursorShieldedUPP) NewICMCursorShieldedUPP(ICMCursorShieldedProcPtr userRoutine)
- {
- return (ICMCursorShieldedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMCursorShieldedProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewICMCursorShieldedUPP(userRoutine) (ICMCursorShieldedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMCursorShieldedProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppICMCursorShieldedProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ICMCursorShieldedUPP) NewICMCursorShieldedUPP(ICMCursorShieldedProcPtr userRoutine) { return (ICMCursorShieldedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMCursorShieldedProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewICMCursorShieldedUPP(userRoutine) (ICMCursorShieldedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMCursorShieldedProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewICMMemoryDisposedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ICMMemoryDisposedUPP)
- NewICMMemoryDisposedUPP(ICMMemoryDisposedProcPtr userRoutine);
+/*
+ * NewICMMemoryDisposedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ICMMemoryDisposedUPP )
+NewICMMemoryDisposedUPP(ICMMemoryDisposedProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppICMMemoryDisposedProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ICMMemoryDisposedUPP) NewICMMemoryDisposedUPP(ICMMemoryDisposedProcPtr userRoutine)
- {
- return (ICMMemoryDisposedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMMemoryDisposedProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewICMMemoryDisposedUPP(userRoutine) (ICMMemoryDisposedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMMemoryDisposedProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppICMMemoryDisposedProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ICMMemoryDisposedUPP) NewICMMemoryDisposedUPP(ICMMemoryDisposedProcPtr userRoutine) { return (ICMMemoryDisposedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMMemoryDisposedProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewICMMemoryDisposedUPP(userRoutine) (ICMMemoryDisposedUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMMemoryDisposedProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewICMConvertDataFormatUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ICMConvertDataFormatUPP)
- NewICMConvertDataFormatUPP(ICMConvertDataFormatProcPtr userRoutine);
+/*
+ * NewICMConvertDataFormatUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ICMConvertDataFormatUPP )
+NewICMConvertDataFormatUPP(ICMConvertDataFormatProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppICMConvertDataFormatProcInfo = 0x003FFFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ICMConvertDataFormatUPP) NewICMConvertDataFormatUPP(ICMConvertDataFormatProcPtr userRoutine)
- {
- return (ICMConvertDataFormatUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMConvertDataFormatProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewICMConvertDataFormatUPP(userRoutine) (ICMConvertDataFormatUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMConvertDataFormatProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppICMConvertDataFormatProcInfo = 0x003FFFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ICMConvertDataFormatUPP) NewICMConvertDataFormatUPP(ICMConvertDataFormatProcPtr userRoutine) { return (ICMConvertDataFormatUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMConvertDataFormatProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewICMConvertDataFormatUPP(userRoutine) (ICMConvertDataFormatUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppICMConvertDataFormatProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeICMDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeICMDataUPP(ICMDataUPP userUPP);
+/*
+ * DisposeICMDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeICMDataUPP(ICMDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeICMDataUPP(ICMDataUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeICMDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeICMDataUPP(ICMDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeICMDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeICMFlushUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeICMFlushUPP(ICMFlushUPP userUPP);
+/*
+ * DisposeICMFlushUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeICMFlushUPP(ICMFlushUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeICMFlushUPP(ICMFlushUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeICMFlushUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeICMFlushUPP(ICMFlushUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeICMFlushUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeICMCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeICMCompletionUPP(ICMCompletionUPP userUPP);
+/*
+ * DisposeICMCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeICMCompletionUPP(ICMCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeICMCompletionUPP(ICMCompletionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeICMCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeICMCompletionUPP(ICMCompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeICMCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeICMProgressUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeICMProgressUPP(ICMProgressUPP userUPP);
+/*
+ * DisposeICMProgressUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeICMProgressUPP(ICMProgressUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeICMProgressUPP(ICMProgressUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeICMProgressUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeICMProgressUPP(ICMProgressUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeICMProgressUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeStdPixUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeStdPixUPP(StdPixUPP userUPP);
+/*
+ * DisposeStdPixUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeStdPixUPP(StdPixUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeStdPixUPP(StdPixUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeStdPixUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeStdPixUPP(StdPixUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeStdPixUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDPixUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDPixUPP(QDPixUPP userUPP);
+/*
+ * DisposeQDPixUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDPixUPP(QDPixUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDPixUPP(QDPixUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDPixUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDPixUPP(QDPixUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDPixUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeICMAlignmentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeICMAlignmentUPP(ICMAlignmentUPP userUPP);
+/*
+ * DisposeICMAlignmentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeICMAlignmentUPP(ICMAlignmentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeICMAlignmentUPP(ICMAlignmentUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeICMAlignmentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeICMAlignmentUPP(ICMAlignmentUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeICMAlignmentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeICMCursorShieldedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeICMCursorShieldedUPP(ICMCursorShieldedUPP userUPP);
+/*
+ * DisposeICMCursorShieldedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeICMCursorShieldedUPP(ICMCursorShieldedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeICMCursorShieldedUPP(ICMCursorShieldedUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeICMCursorShieldedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeICMCursorShieldedUPP(ICMCursorShieldedUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeICMCursorShieldedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeICMMemoryDisposedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeICMMemoryDisposedUPP(ICMMemoryDisposedUPP userUPP);
+/*
+ * DisposeICMMemoryDisposedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeICMMemoryDisposedUPP(ICMMemoryDisposedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeICMMemoryDisposedUPP(ICMMemoryDisposedUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeICMMemoryDisposedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeICMMemoryDisposedUPP(ICMMemoryDisposedUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeICMMemoryDisposedUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeICMConvertDataFormatUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeICMConvertDataFormatUPP(ICMConvertDataFormatUPP userUPP);
+/*
+ * DisposeICMConvertDataFormatUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeICMConvertDataFormatUPP(ICMConvertDataFormatUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeICMConvertDataFormatUPP(ICMConvertDataFormatUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeICMConvertDataFormatUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeICMConvertDataFormatUPP(ICMConvertDataFormatUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeICMConvertDataFormatUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeICMDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeICMDataUPP(
- Ptr * dataP,
- long bytesNeeded,
- long refcon,
- ICMDataUPP userUPP);
+/*
+ * InvokeICMDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeICMDataUPP(
+ Ptr * dataP,
+ long bytesNeeded,
+ long refcon,
+ ICMDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeICMDataUPP(Ptr * dataP, long bytesNeeded, long refcon, ICMDataUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppICMDataProcInfo, dataP, bytesNeeded, refcon);
- }
-#else
-#define InvokeICMDataUPP(dataP, bytesNeeded, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppICMDataProcInfo, (dataP), (bytesNeeded), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeICMDataUPP(Ptr * dataP, long bytesNeeded, long refcon, ICMDataUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppICMDataProcInfo, dataP, bytesNeeded, refcon); }
+ #else
+ #define InvokeICMDataUPP(dataP, bytesNeeded, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppICMDataProcInfo, (dataP), (bytesNeeded), (refcon))
+ #endif
#endif
- /*
- * InvokeICMFlushUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeICMFlushUPP(
- Ptr data,
- long bytesAdded,
- long refcon,
- ICMFlushUPP userUPP);
+/*
+ * InvokeICMFlushUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeICMFlushUPP(
+ Ptr data,
+ long bytesAdded,
+ long refcon,
+ ICMFlushUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeICMFlushUPP(Ptr data, long bytesAdded, long refcon, ICMFlushUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppICMFlushProcInfo, data, bytesAdded, refcon);
- }
-#else
-#define InvokeICMFlushUPP(data, bytesAdded, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppICMFlushProcInfo, (data), (bytesAdded), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeICMFlushUPP(Ptr data, long bytesAdded, long refcon, ICMFlushUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppICMFlushProcInfo, data, bytesAdded, refcon); }
+ #else
+ #define InvokeICMFlushUPP(data, bytesAdded, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppICMFlushProcInfo, (data), (bytesAdded), (refcon))
+ #endif
#endif
- /*
- * InvokeICMCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeICMCompletionUPP(
- OSErr result,
- short flags,
- long refcon,
- ICMCompletionUPP userUPP);
+/*
+ * InvokeICMCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeICMCompletionUPP(
+ OSErr result,
+ short flags,
+ long refcon,
+ ICMCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeICMCompletionUPP(OSErr result, short flags, long refcon, ICMCompletionUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppICMCompletionProcInfo, result, flags, refcon);
- }
-#else
-#define InvokeICMCompletionUPP(result, flags, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppICMCompletionProcInfo, (result), (flags), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeICMCompletionUPP(OSErr result, short flags, long refcon, ICMCompletionUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppICMCompletionProcInfo, result, flags, refcon); }
+ #else
+ #define InvokeICMCompletionUPP(result, flags, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppICMCompletionProcInfo, (result), (flags), (refcon))
+ #endif
#endif
- /*
- * InvokeICMProgressUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeICMProgressUPP(
- short message,
- Fixed completeness,
- long refcon,
- ICMProgressUPP userUPP);
+/*
+ * InvokeICMProgressUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeICMProgressUPP(
+ short message,
+ Fixed completeness,
+ long refcon,
+ ICMProgressUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeICMProgressUPP(short message, Fixed completeness, long refcon, ICMProgressUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppICMProgressProcInfo, message, completeness, refcon);
- }
-#else
-#define InvokeICMProgressUPP(message, completeness, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppICMProgressProcInfo, (message), (completeness), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeICMProgressUPP(short message, Fixed completeness, long refcon, ICMProgressUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppICMProgressProcInfo, message, completeness, refcon); }
+ #else
+ #define InvokeICMProgressUPP(message, completeness, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppICMProgressProcInfo, (message), (completeness), (refcon))
+ #endif
#endif
- /*
- * InvokeStdPixUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeStdPixUPP(
- PixMap * src,
- Rect * srcRect,
- MatrixRecord * matrix,
- short mode,
- RgnHandle mask,
- PixMap * matte,
- Rect * matteRect,
- short flags,
- StdPixUPP userUPP);
+/*
+ * InvokeStdPixUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeStdPixUPP(
+ PixMap * src,
+ Rect * srcRect,
+ MatrixRecord * matrix,
+ short mode,
+ RgnHandle mask,
+ PixMap * matte,
+ Rect * matteRect,
+ short flags,
+ StdPixUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeStdPixUPP(PixMap * src, Rect * srcRect, MatrixRecord * matrix, short mode, RgnHandle mask, PixMap * matte, Rect * matteRect, short flags, StdPixUPP userUPP)
- {
- CALL_EIGHT_PARAMETER_UPP(userUPP, uppStdPixProcInfo, src, srcRect, matrix, mode, mask, matte, matteRect, flags);
- }
-#else
-#define InvokeStdPixUPP(src, srcRect, matrix, mode, mask, matte, matteRect, flags, userUPP) CALL_EIGHT_PARAMETER_UPP((userUPP), uppStdPixProcInfo, (src), (srcRect), (matrix), (mode), (mask), (matte), (matteRect), (flags))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeStdPixUPP(PixMap * src, Rect * srcRect, MatrixRecord * matrix, short mode, RgnHandle mask, PixMap * matte, Rect * matteRect, short flags, StdPixUPP userUPP) { CALL_EIGHT_PARAMETER_UPP(userUPP, uppStdPixProcInfo, src, srcRect, matrix, mode, mask, matte, matteRect, flags); }
+ #else
+ #define InvokeStdPixUPP(src, srcRect, matrix, mode, mask, matte, matteRect, flags, userUPP) CALL_EIGHT_PARAMETER_UPP((userUPP), uppStdPixProcInfo, (src), (srcRect), (matrix), (mode), (mask), (matte), (matteRect), (flags))
+ #endif
#endif
- /*
- * InvokeQDPixUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDPixUPP(
- PixMap * src,
- Rect * srcRect,
- MatrixRecord * matrix,
- short mode,
- RgnHandle mask,
- PixMap * matte,
- Rect * matteRect,
- short flags,
- QDPixUPP userUPP);
+/*
+ * InvokeQDPixUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDPixUPP(
+ PixMap * src,
+ Rect * srcRect,
+ MatrixRecord * matrix,
+ short mode,
+ RgnHandle mask,
+ PixMap * matte,
+ Rect * matteRect,
+ short flags,
+ QDPixUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDPixUPP(PixMap * src, Rect * srcRect, MatrixRecord * matrix, short mode, RgnHandle mask, PixMap * matte, Rect * matteRect, short flags, QDPixUPP userUPP)
- {
- CALL_EIGHT_PARAMETER_UPP(userUPP, uppQDPixProcInfo, src, srcRect, matrix, mode, mask, matte, matteRect, flags);
- }
-#else
-#define InvokeQDPixUPP(src, srcRect, matrix, mode, mask, matte, matteRect, flags, userUPP) CALL_EIGHT_PARAMETER_UPP((userUPP), uppQDPixProcInfo, (src), (srcRect), (matrix), (mode), (mask), (matte), (matteRect), (flags))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDPixUPP(PixMap * src, Rect * srcRect, MatrixRecord * matrix, short mode, RgnHandle mask, PixMap * matte, Rect * matteRect, short flags, QDPixUPP userUPP) { CALL_EIGHT_PARAMETER_UPP(userUPP, uppQDPixProcInfo, src, srcRect, matrix, mode, mask, matte, matteRect, flags); }
+ #else
+ #define InvokeQDPixUPP(src, srcRect, matrix, mode, mask, matte, matteRect, flags, userUPP) CALL_EIGHT_PARAMETER_UPP((userUPP), uppQDPixProcInfo, (src), (srcRect), (matrix), (mode), (mask), (matte), (matteRect), (flags))
+ #endif
#endif
- /*
- * InvokeICMAlignmentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeICMAlignmentUPP(
- Rect * rp,
- long refcon,
- ICMAlignmentUPP userUPP);
+/*
+ * InvokeICMAlignmentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeICMAlignmentUPP(
+ Rect * rp,
+ long refcon,
+ ICMAlignmentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeICMAlignmentUPP(Rect * rp, long refcon, ICMAlignmentUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppICMAlignmentProcInfo, rp, refcon);
- }
-#else
-#define InvokeICMAlignmentUPP(rp, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppICMAlignmentProcInfo, (rp), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeICMAlignmentUPP(Rect * rp, long refcon, ICMAlignmentUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppICMAlignmentProcInfo, rp, refcon); }
+ #else
+ #define InvokeICMAlignmentUPP(rp, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppICMAlignmentProcInfo, (rp), (refcon))
+ #endif
#endif
- /*
- * InvokeICMCursorShieldedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeICMCursorShieldedUPP(
- const Rect * r,
- void * refcon,
- long flags,
- ICMCursorShieldedUPP userUPP);
+/*
+ * InvokeICMCursorShieldedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeICMCursorShieldedUPP(
+ const Rect * r,
+ void * refcon,
+ long flags,
+ ICMCursorShieldedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeICMCursorShieldedUPP(const Rect * r, void * refcon, long flags, ICMCursorShieldedUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppICMCursorShieldedProcInfo, r, refcon, flags);
- }
-#else
-#define InvokeICMCursorShieldedUPP(r, refcon, flags, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppICMCursorShieldedProcInfo, (r), (refcon), (flags))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeICMCursorShieldedUPP(const Rect * r, void * refcon, long flags, ICMCursorShieldedUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppICMCursorShieldedProcInfo, r, refcon, flags); }
+ #else
+ #define InvokeICMCursorShieldedUPP(r, refcon, flags, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppICMCursorShieldedProcInfo, (r), (refcon), (flags))
+ #endif
#endif
- /*
- * InvokeICMMemoryDisposedUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeICMMemoryDisposedUPP(
- Ptr memoryBlock,
- void * refcon,
- ICMMemoryDisposedUPP userUPP);
+/*
+ * InvokeICMMemoryDisposedUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeICMMemoryDisposedUPP(
+ Ptr memoryBlock,
+ void * refcon,
+ ICMMemoryDisposedUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeICMMemoryDisposedUPP(Ptr memoryBlock, void * refcon, ICMMemoryDisposedUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppICMMemoryDisposedProcInfo, memoryBlock, refcon);
- }
-#else
-#define InvokeICMMemoryDisposedUPP(memoryBlock, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppICMMemoryDisposedProcInfo, (memoryBlock), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeICMMemoryDisposedUPP(Ptr memoryBlock, void * refcon, ICMMemoryDisposedUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppICMMemoryDisposedProcInfo, memoryBlock, refcon); }
+ #else
+ #define InvokeICMMemoryDisposedUPP(memoryBlock, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppICMMemoryDisposedProcInfo, (memoryBlock), (refcon))
+ #endif
#endif
- /*
- * InvokeICMConvertDataFormatUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeICMConvertDataFormatUPP(
- void * refCon,
- long flags,
- Handle desiredFormat,
- Handle sourceDataFormat,
- void * srcData,
- long srcDataSize,
- void ** dstData,
- long * dstDataSize,
- ICMConvertDataFormatUPP userUPP);
+/*
+ * InvokeICMConvertDataFormatUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeICMConvertDataFormatUPP(
+ void * refCon,
+ long flags,
+ Handle desiredFormat,
+ Handle sourceDataFormat,
+ void * srcData,
+ long srcDataSize,
+ void ** dstData,
+ long * dstDataSize,
+ ICMConvertDataFormatUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeICMConvertDataFormatUPP(void * refCon, long flags, Handle desiredFormat, Handle sourceDataFormat, void * srcData, long srcDataSize, void ** dstData, long * dstDataSize, ICMConvertDataFormatUPP userUPP)
- {
- return (OSErr)CALL_EIGHT_PARAMETER_UPP(userUPP, uppICMConvertDataFormatProcInfo, refCon, flags, desiredFormat, sourceDataFormat, srcData, srcDataSize, dstData, dstDataSize);
- }
-#else
-#define InvokeICMConvertDataFormatUPP(refCon, flags, desiredFormat, sourceDataFormat, srcData, srcDataSize, dstData, dstDataSize, userUPP) (OSErr)CALL_EIGHT_PARAMETER_UPP((userUPP), uppICMConvertDataFormatProcInfo, (refCon), (flags), (desiredFormat), (sourceDataFormat), (srcData), (srcDataSize), (dstData), (dstDataSize))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeICMConvertDataFormatUPP(void * refCon, long flags, Handle desiredFormat, Handle sourceDataFormat, void * srcData, long srcDataSize, void ** dstData, long * dstDataSize, ICMConvertDataFormatUPP userUPP) { return (OSErr)CALL_EIGHT_PARAMETER_UPP(userUPP, uppICMConvertDataFormatProcInfo, refCon, flags, desiredFormat, sourceDataFormat, srcData, srcDataSize, dstData, dstDataSize); }
+ #else
+ #define InvokeICMConvertDataFormatUPP(refCon, flags, desiredFormat, sourceDataFormat, srcData, srcDataSize, dstData, dstDataSize, userUPP) (OSErr)CALL_EIGHT_PARAMETER_UPP((userUPP), uppICMConvertDataFormatProcInfo, (refCon), (flags), (desiredFormat), (sourceDataFormat), (srcData), (srcDataSize), (dstData), (dstDataSize))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewICMDataProc(userRoutine) NewICMDataUPP(userRoutine)
-#define NewICMFlushProc(userRoutine) NewICMFlushUPP(userRoutine)
-#define NewICMCompletionProc(userRoutine) NewICMCompletionUPP(userRoutine)
-#define NewICMProgressProc(userRoutine) NewICMProgressUPP(userRoutine)
-#define NewStdPixProc(userRoutine) NewStdPixUPP(userRoutine)
-#define NewQDPixProc(userRoutine) NewQDPixUPP(userRoutine)
-#define NewICMAlignmentProc(userRoutine) NewICMAlignmentUPP(userRoutine)
-#define NewICMCursorShieldedProc(userRoutine) NewICMCursorShieldedUPP(userRoutine)
-#define NewICMMemoryDisposedProc(userRoutine) NewICMMemoryDisposedUPP(userRoutine)
-#define NewICMConvertDataFormatProc(userRoutine) NewICMConvertDataFormatUPP(userRoutine)
-#define CallICMDataProc(userRoutine, dataP, bytesNeeded, refcon) InvokeICMDataUPP(dataP, bytesNeeded, refcon, userRoutine)
-#define CallICMFlushProc(userRoutine, data, bytesAdded, refcon) InvokeICMFlushUPP(data, bytesAdded, refcon, userRoutine)
-#define CallICMCompletionProc(userRoutine, result, flags, refcon) InvokeICMCompletionUPP(result, flags, refcon, userRoutine)
-#define CallICMProgressProc(userRoutine, message, completeness, refcon) InvokeICMProgressUPP(message, completeness, refcon, userRoutine)
-#define CallStdPixProc(userRoutine, src, srcRect, matrix, mode, mask, matte, matteRect, flags) InvokeStdPixUPP(src, srcRect, matrix, mode, mask, matte, matteRect, flags, userRoutine)
-#define CallQDPixProc(userRoutine, src, srcRect, matrix, mode, mask, matte, matteRect, flags) InvokeQDPixUPP(src, srcRect, matrix, mode, mask, matte, matteRect, flags, userRoutine)
-#define CallICMAlignmentProc(userRoutine, rp, refcon) InvokeICMAlignmentUPP(rp, refcon, userRoutine)
-#define CallICMCursorShieldedProc(userRoutine, r, refcon, flags) InvokeICMCursorShieldedUPP(r, refcon, flags, userRoutine)
-#define CallICMMemoryDisposedProc(userRoutine, memoryBlock, refcon) InvokeICMMemoryDisposedUPP(memoryBlock, refcon, userRoutine)
-#define CallICMConvertDataFormatProc(userRoutine, refCon, flags, desiredFormat, sourceDataFormat, srcData, srcDataSize, dstData, dstDataSize) InvokeICMConvertDataFormatUPP(refCon, flags, desiredFormat, sourceDataFormat, srcData, srcDataSize, dstData, dstDataSize, userRoutine)
+ #define NewICMDataProc(userRoutine) NewICMDataUPP(userRoutine)
+ #define NewICMFlushProc(userRoutine) NewICMFlushUPP(userRoutine)
+ #define NewICMCompletionProc(userRoutine) NewICMCompletionUPP(userRoutine)
+ #define NewICMProgressProc(userRoutine) NewICMProgressUPP(userRoutine)
+ #define NewStdPixProc(userRoutine) NewStdPixUPP(userRoutine)
+ #define NewQDPixProc(userRoutine) NewQDPixUPP(userRoutine)
+ #define NewICMAlignmentProc(userRoutine) NewICMAlignmentUPP(userRoutine)
+ #define NewICMCursorShieldedProc(userRoutine) NewICMCursorShieldedUPP(userRoutine)
+ #define NewICMMemoryDisposedProc(userRoutine) NewICMMemoryDisposedUPP(userRoutine)
+ #define NewICMConvertDataFormatProc(userRoutine) NewICMConvertDataFormatUPP(userRoutine)
+ #define CallICMDataProc(userRoutine, dataP, bytesNeeded, refcon) InvokeICMDataUPP(dataP, bytesNeeded, refcon, userRoutine)
+ #define CallICMFlushProc(userRoutine, data, bytesAdded, refcon) InvokeICMFlushUPP(data, bytesAdded, refcon, userRoutine)
+ #define CallICMCompletionProc(userRoutine, result, flags, refcon) InvokeICMCompletionUPP(result, flags, refcon, userRoutine)
+ #define CallICMProgressProc(userRoutine, message, completeness, refcon) InvokeICMProgressUPP(message, completeness, refcon, userRoutine)
+ #define CallStdPixProc(userRoutine, src, srcRect, matrix, mode, mask, matte, matteRect, flags) InvokeStdPixUPP(src, srcRect, matrix, mode, mask, matte, matteRect, flags, userRoutine)
+ #define CallQDPixProc(userRoutine, src, srcRect, matrix, mode, mask, matte, matteRect, flags) InvokeQDPixUPP(src, srcRect, matrix, mode, mask, matte, matteRect, flags, userRoutine)
+ #define CallICMAlignmentProc(userRoutine, rp, refcon) InvokeICMAlignmentUPP(rp, refcon, userRoutine)
+ #define CallICMCursorShieldedProc(userRoutine, r, refcon, flags) InvokeICMCursorShieldedUPP(r, refcon, flags, userRoutine)
+ #define CallICMMemoryDisposedProc(userRoutine, memoryBlock, refcon) InvokeICMMemoryDisposedUPP(memoryBlock, refcon, userRoutine)
+ #define CallICMConvertDataFormatProc(userRoutine, refCon, flags, desiredFormat, sourceDataFormat, srcData, srcDataSize, dstData, dstDataSize) InvokeICMConvertDataFormatUPP(refCon, flags, desiredFormat, sourceDataFormat, srcData, srcDataSize, dstData, dstDataSize, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * CodecManagerVersion()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CodecManagerVersion(long * version);
-
-
- /*
- * GetCodecNameList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCodecNameList(
- CodecNameSpecListPtr * list,
- short showAll);
-
-
- /*
- * DisposeCodecNameList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DisposeCodecNameList(CodecNameSpecListPtr list);
-
-
- /*
- * GetCodecInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCodecInfo(
- CodecInfo * info,
- CodecType cType,
- CodecComponent codec);
-
-
- /*
- * GetMaxCompressionSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMaxCompressionSize(
- PixMapHandle src,
- const Rect * srcRect,
- short colorDepth,
- CodecQ quality,
- CodecType cType,
- CompressorComponent codec,
- long * size);
-
-
- /*
- * GetCSequenceMaxCompressionSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCSequenceMaxCompressionSize(
- ImageSequence seqID,
- PixMapHandle src,
- long * size);
-
-
- /*
- * GetCompressionTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCompressionTime(
- PixMapHandle src,
- const Rect * srcRect,
- short colorDepth,
- CodecType cType,
- CompressorComponent codec,
- CodecQ * spatialQuality,
- CodecQ * temporalQuality,
- unsigned long * compressTime);
-
-
- /*
- * CompressImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CompressImage(
- PixMapHandle src,
- const Rect * srcRect,
- CodecQ quality,
- CodecType cType,
- ImageDescriptionHandle desc,
- Ptr data);
-
-
- /*
- * FCompressImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- FCompressImage(
- PixMapHandle src,
- const Rect * srcRect,
- short colorDepth,
- CodecQ quality,
- CodecType cType,
- CompressorComponent codec,
- CTabHandle ctable,
- CodecFlags flags,
- long bufferSize,
- ICMFlushProcRecordPtr flushProc,
- ICMProgressProcRecordPtr progressProc,
- ImageDescriptionHandle desc,
- Ptr data);
-
-
- /*
- * DecompressImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DecompressImage(
- Ptr data,
- ImageDescriptionHandle desc,
- PixMapHandle dst,
- const Rect * srcRect,
- const Rect * dstRect,
- short mode,
- RgnHandle mask);
-
-
- /*
- * FDecompressImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- FDecompressImage(
- Ptr data,
- ImageDescriptionHandle desc,
- PixMapHandle dst,
- const Rect * srcRect,
- MatrixRecordPtr matrix,
- short mode,
- RgnHandle mask,
- PixMapHandle matte,
- const Rect * matteRect,
- CodecQ accuracy,
- DecompressorComponent codec,
- long bufferSize,
- ICMDataProcRecordPtr dataProc,
- ICMProgressProcRecordPtr progressProc);
-
-
- /* For video compression, consider using ICMCompressionSessionCreate etc. instead of CompressSequenceBegin etc. */
- /*
- * CompressSequenceBegin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CompressSequenceBegin(
- ImageSequence * seqID,
- PixMapHandle src,
- PixMapHandle prev,
- const Rect * srcRect,
- const Rect * prevRect,
- short colorDepth,
- CodecType cType,
- CompressorComponent codec,
- CodecQ spatialQuality,
- CodecQ temporalQuality,
- long keyFrameRate,
- CTabHandle ctable,
- CodecFlags flags,
- ImageDescriptionHandle desc);
-
-
- /*
- * CompressSequenceFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CompressSequenceFrame(
- ImageSequence seqID,
- PixMapHandle src,
- const Rect * srcRect,
- CodecFlags flags,
- Ptr data,
- long * dataSize,
- UInt8 * similarity,
- ICMCompletionProcRecordPtr asyncCompletionProc);
-
-
- /* For video decompression, consider using ICMDecompressionSessionCreate etc. instead of DecompressSequenceBegin etc. */
- /*
- * DecompressSequenceBegin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DecompressSequenceBegin(
- ImageSequence * seqID,
- ImageDescriptionHandle desc,
- CGrafPtr port,
- GDHandle gdh,
- const Rect * srcRect,
- MatrixRecordPtr matrix,
- short mode,
- RgnHandle mask,
- CodecFlags flags,
- CodecQ accuracy,
- DecompressorComponent codec);
-
-
- /* For video decompression, consider using ICMDecompressionSessionCreate etc. instead of DecompressSequenceBeginS etc. */
- /*
- * DecompressSequenceBeginS()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DecompressSequenceBeginS(
- ImageSequence * seqID,
- ImageDescriptionHandle desc,
- Ptr data,
- long dataSize,
- CGrafPtr port,
- GDHandle gdh,
- const Rect * srcRect,
- MatrixRecordPtr matrix,
- short mode,
- RgnHandle mask,
- CodecFlags flags,
- CodecQ accuracy,
- DecompressorComponent codec);
-
-
- /*
- * DecompressSequenceFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DecompressSequenceFrame(
- ImageSequence seqID,
- Ptr data,
- CodecFlags inFlags,
- CodecFlags * outFlags,
- ICMCompletionProcRecordPtr asyncCompletionProc);
-
-
- /*
- * DecompressSequenceFrameS()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DecompressSequenceFrameS(
- ImageSequence seqID,
- Ptr data,
- long dataSize,
- CodecFlags inFlags,
- CodecFlags * outFlags,
- ICMCompletionProcRecordPtr asyncCompletionProc);
-
-
- /*
- * DecompressSequenceFrameWhen()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DecompressSequenceFrameWhen(
- ImageSequence seqID,
- Ptr data,
- long dataSize,
- CodecFlags inFlags,
- CodecFlags * outFlags,
- ICMCompletionProcRecordPtr asyncCompletionProc,
- const ICMFrameTimeRecord * frameTime);
-
-
- /*
- * CDSequenceFlush()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceFlush(ImageSequence seqID);
-
-
- /*
- * SetDSequenceMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceMatrix(
- ImageSequence seqID,
- MatrixRecordPtr matrix);
-
-
- /*
- * GetDSequenceMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- GetDSequenceMatrix(
- ImageSequence seqID,
- MatrixRecordPtr matrix);
-
-
- /*
- * SetDSequenceMatte()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceMatte(
- ImageSequence seqID,
- PixMapHandle matte,
- const Rect * matteRect);
-
-
- /*
- * SetDSequenceMask()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceMask(
- ImageSequence seqID,
- RgnHandle mask);
-
-
- /*
- * SetDSequenceTransferMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceTransferMode(
- ImageSequence seqID,
- short mode,
- const RGBColor * opColor);
-
-
- /*
- * SetDSequenceDataProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceDataProc(
- ImageSequence seqID,
- ICMDataProcRecordPtr dataProc,
- long bufferSize);
-
-
- /*
- * SetDSequenceAccuracy()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceAccuracy(
- ImageSequence seqID,
- CodecQ accuracy);
-
-
- /*
- * SetDSequenceSrcRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceSrcRect(
- ImageSequence seqID,
- const Rect * srcRect);
-
-
- /*
- * SetDSequenceFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceFlags(
- ImageSequence seqID,
- long flags,
- long flagsMask);
-
-
- enum
- {
- codecDSequenceDisableOverlaySurface = (1L << 5),
- codecDSequenceSingleField = (1L << 6),
- codecDSequenceBidirectionalPrediction = (1L << 7),
- codecDSequenceFlushInsteadOfDirtying = (1L << 8),
- codecDSequenceEnableSubPixelPositioning = (1L << 9),
- codecDSequenceDeinterlaceFields = (1L << 10)
- };
-
- typedef CodecComponent * CodecComponentPtr;
- typedef CodecComponentPtr * CodecComponentHandle;
- /* selectors for ICMSequenceGet/SetInfo*/
- enum
- {
- kICMSequenceTaskWeight = FOUR_CHAR_CODE('twei'), /* data is pointer to UInt32*/
- kICMSequenceTaskName = FOUR_CHAR_CODE('tnam'), /* data is pointer to OSType*/
- kICMSequenceUserPreferredCodecs = FOUR_CHAR_CODE('punt') /* data is pointer to CodecComponentHandle*/
- };
-
- /*
- * ICMSequenceGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- ICMSequenceGetInfo(
- ImageSequence seqID,
- OSType which,
- void * data);
-
-
- /*
- * ICMSequenceSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- ICMSequenceSetInfo(
- ImageSequence seqID,
- OSType which,
- void * data,
- Size dataSize);
-
-
- /*
- * GetDSequenceImageBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetDSequenceImageBuffer(
- ImageSequence seqID,
- GWorldPtr * gworld);
-
-
- /*
- * GetDSequenceScreenBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetDSequenceScreenBuffer(
- ImageSequence seqID,
- GWorldPtr * gworld);
-
-
- /*
- * SetCSequenceQuality()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetCSequenceQuality(
- ImageSequence seqID,
- CodecQ spatialQuality,
- CodecQ temporalQuality);
-
-
- /*
- * SetCSequencePrev()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetCSequencePrev(
- ImageSequence seqID,
- PixMapHandle prev,
- const Rect * prevRect);
-
-
- /*
- * SetCSequenceFlushProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetCSequenceFlushProc(
- ImageSequence seqID,
- ICMFlushProcRecordPtr flushProc,
- long bufferSize);
-
-
- /*
- * SetCSequenceKeyFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetCSequenceKeyFrameRate(
- ImageSequence seqID,
- long keyFrameRate);
-
-
- /*
- * GetCSequenceKeyFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCSequenceKeyFrameRate(
- ImageSequence seqID,
- long * keyFrameRate);
-
-
- /*
- * GetCSequencePrevBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCSequencePrevBuffer(
- ImageSequence seqID,
- GWorldPtr * gworld);
-
-
- /*
- * CDSequenceBusy()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceBusy(ImageSequence seqID);
-
-
- /*
- * CDSequenceEnd()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceEnd(ImageSequence seqID);
-
-
- /*
- * CDSequenceEquivalentImageDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceEquivalentImageDescription(
- ImageSequence seqID,
- ImageDescriptionHandle newDesc,
- Boolean * equivalent);
-
-
- /*
- * CDSequenceEquivalentImageDescriptionS()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceEquivalentImageDescriptionS(
- ImageSequence seqID,
- ImageDescriptionHandle newDesc,
- Boolean * equivalent,
- Boolean * canSwitch);
-
-
- /*
- * ReplaceDSequenceImageDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- ReplaceDSequenceImageDescription(
- ImageSequence seqID,
- ImageDescriptionHandle newDesc);
-
-
- /*
- * GetCompressedImageSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCompressedImageSize(
- ImageDescriptionHandle desc,
- Ptr data,
- long bufferSize,
- ICMDataProcRecordPtr dataProc,
- long * dataSize);
-
-
- /*
- * GetSimilarity()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetSimilarity(
- PixMapHandle src,
- const Rect * srcRect,
- ImageDescriptionHandle desc,
- Ptr data,
- Fixed * similarity);
-
-
- enum
- {
- kImageDescriptionSampleFormat = FOUR_CHAR_CODE('idfm'), /* image description extension describing sample format*/
- kImageDescriptionClassicAtomFormat = FOUR_CHAR_CODE('atom'), /* sample contains classic atom structure (ie, GX codec and Curve codec)*/
- kImageDescriptionQTAtomFormat = FOUR_CHAR_CODE('qtat'), /* sample contains QT atom structure*/
- kImageDescriptionEffectDataFormat = FOUR_CHAR_CODE('fxat'), /* sample describes an effect (as QTAtoms)*/
- kImageDescriptionPrivateDataFormat = FOUR_CHAR_CODE('priv'), /* sample is in a private codec specific format*/
- kImageDescriptionAlternateCodec = FOUR_CHAR_CODE('subs'), /* image description extension containing the OSType of a substitute codec should the main codec not be available*/
- kImageDescriptionColorSpace = FOUR_CHAR_CODE('cspc') /* image description extension containing an OSType naming the native pixel format of an image (only used for pixel formats not supported by classic Color QuickDraw)*/
- };
-
- /*
- * GetImageDescriptionCTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetImageDescriptionCTable(
- ImageDescriptionHandle desc,
- CTabHandle * ctable);
-
-
- /*
- * SetImageDescriptionCTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetImageDescriptionCTable(
- ImageDescriptionHandle desc,
- CTabHandle ctable);
-
-
- /*
- * GetImageDescriptionExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetImageDescriptionExtension(
- ImageDescriptionHandle desc,
- Handle * extension,
- long idType,
- long index);
-
-
- /*
- * AddImageDescriptionExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddImageDescriptionExtension(
- ImageDescriptionHandle desc,
- Handle extension,
- long idType);
-
-
- /*
- * RemoveImageDescriptionExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- RemoveImageDescriptionExtension(
- ImageDescriptionHandle desc,
- long idType,
- long index);
-
-
- /*
- * CountImageDescriptionExtensionType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CountImageDescriptionExtensionType(
- ImageDescriptionHandle desc,
- long idType,
- long * count);
-
-
- /*
- * GetNextImageDescriptionExtensionType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetNextImageDescriptionExtensionType(
- ImageDescriptionHandle desc,
- long * idType);
-
-
- /*
- * FindCodec()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- FindCodec(
- CodecType cType,
- CodecComponent specCodec,
- CompressorComponent * compressor,
- DecompressorComponent * decompressor);
-
-
- /*
- * CompressPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CompressPicture(
- PicHandle srcPicture,
- PicHandle dstPicture,
- CodecQ quality,
- CodecType cType);
-
-
- /*
- * FCompressPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- FCompressPicture(
- PicHandle srcPicture,
- PicHandle dstPicture,
- short colorDepth,
- CTabHandle ctable,
- CodecQ quality,
- short doDither,
- short compressAgain,
- ICMProgressProcRecordPtr progressProc,
- CodecType cType,
- CompressorComponent codec);
-
-
- /*
- * CompressPictureFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CompressPictureFile(
- short srcRefNum,
- short dstRefNum,
- CodecQ quality,
- CodecType cType);
-
-
- /*
- * FCompressPictureFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- FCompressPictureFile(
- short srcRefNum,
- short dstRefNum,
- short colorDepth,
- CTabHandle ctable,
- CodecQ quality,
- short doDither,
- short compressAgain,
- ICMProgressProcRecordPtr progressProc,
- CodecType cType,
- CompressorComponent codec);
-
-
- /*
- * GetPictureFileHeader()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetPictureFileHeader(
- short refNum,
- Rect * frame,
- OpenCPicParams * header);
-
-
- /*
- * DrawPictureFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DrawPictureFile(
- short refNum,
- const Rect * frame,
- ICMProgressProcRecordPtr progressProc);
-
-
- /*
- * DrawTrimmedPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DrawTrimmedPicture(
- PicHandle srcPicture,
- const Rect * frame,
- RgnHandle trimMask,
- short doDither,
- ICMProgressProcRecordPtr progressProc);
-
-
- /*
- * DrawTrimmedPictureFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DrawTrimmedPictureFile(
- short srcRefnum,
- const Rect * frame,
- RgnHandle trimMask,
- short doDither,
- ICMProgressProcRecordPtr progressProc);
-
-
- /*
- * MakeThumbnailFromPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- MakeThumbnailFromPicture(
- PicHandle picture,
- short colorDepth,
- PicHandle thumbnail,
- ICMProgressProcRecordPtr progressProc);
-
-
- /*
- * MakeThumbnailFromPictureFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- MakeThumbnailFromPictureFile(
- short refNum,
- short colorDepth,
- PicHandle thumbnail,
- ICMProgressProcRecordPtr progressProc);
-
-
- /*
- * MakeThumbnailFromPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- MakeThumbnailFromPixMap(
- PixMapHandle src,
- const Rect * srcRect,
- short colorDepth,
- PicHandle thumbnail,
- ICMProgressProcRecordPtr progressProc);
-
-
- /*
- * TrimImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- TrimImage(
- ImageDescriptionHandle desc,
- Ptr inData,
- long inBufferSize,
- ICMDataProcRecordPtr dataProc,
- Ptr outData,
- long outBufferSize,
- ICMFlushProcRecordPtr flushProc,
- Rect * trimRect,
- ICMProgressProcRecordPtr progressProc);
-
-
- /*
- * ConvertImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ConvertImage(
- ImageDescriptionHandle srcDD,
- Ptr srcData,
- short colorDepth,
- CTabHandle ctable,
- CodecQ accuracy,
- CodecQ quality,
- CodecType cType,
- CodecComponent codec,
- ImageDescriptionHandle dstDD,
- Ptr dstData);
-
-
- /*
- * GetCompressedPixMapInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCompressedPixMapInfo(
- PixMapPtr pix,
- ImageDescriptionHandle * desc,
- Ptr * data,
- long * bufferSize,
- ICMDataProcRecord * dataProc,
- ICMProgressProcRecord * progressProc);
-
-
- /*
- * SetCompressedPixMapInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetCompressedPixMapInfo(
- PixMapPtr pix,
- ImageDescriptionHandle desc,
- Ptr data,
- long bufferSize,
- ICMDataProcRecordPtr dataProc,
- ICMProgressProcRecordPtr progressProc);
-
-
- /*
- * StdPix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- StdPix(
- PixMapPtr src,
- const Rect * srcRect,
- MatrixRecordPtr matrix,
- short mode,
- RgnHandle mask,
- PixMapPtr matte,
- const Rect * matteRect,
- short flags);
-
-
- /*
- * TransformRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- TransformRgn(
- MatrixRecordPtr matrix,
- RgnHandle rgn);
-
-
- /***********
- preview stuff
- ***********/
+/*
+ * CodecManagerVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CodecManagerVersion(long * version);
+
+
+/*
+ * GetCodecNameList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCodecNameList(
+ CodecNameSpecListPtr * list,
+ short showAll);
+
+
+/*
+ * DisposeCodecNameList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DisposeCodecNameList(CodecNameSpecListPtr list);
+
+
+/*
+ * GetCodecInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCodecInfo(
+ CodecInfo * info,
+ CodecType cType,
+ CodecComponent codec);
+
+
+/*
+ * GetMaxCompressionSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMaxCompressionSize(
+ PixMapHandle src,
+ const Rect * srcRect,
+ short colorDepth,
+ CodecQ quality,
+ CodecType cType,
+ CompressorComponent codec,
+ long * size);
+
+
+/*
+ * GetCSequenceMaxCompressionSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCSequenceMaxCompressionSize(
+ ImageSequence seqID,
+ PixMapHandle src,
+ long * size);
+
+
+/*
+ * GetCompressionTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCompressionTime(
+ PixMapHandle src,
+ const Rect * srcRect,
+ short colorDepth,
+ CodecType cType,
+ CompressorComponent codec,
+ CodecQ * spatialQuality,
+ CodecQ * temporalQuality,
+ unsigned long * compressTime);
+
+
+/*
+ * CompressImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CompressImage(
+ PixMapHandle src,
+ const Rect * srcRect,
+ CodecQ quality,
+ CodecType cType,
+ ImageDescriptionHandle desc,
+ Ptr data);
+
+
+/*
+ * FCompressImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+FCompressImage(
+ PixMapHandle src,
+ const Rect * srcRect,
+ short colorDepth,
+ CodecQ quality,
+ CodecType cType,
+ CompressorComponent codec,
+ CTabHandle ctable,
+ CodecFlags flags,
+ long bufferSize,
+ ICMFlushProcRecordPtr flushProc,
+ ICMProgressProcRecordPtr progressProc,
+ ImageDescriptionHandle desc,
+ Ptr data);
+
+
+/*
+ * DecompressImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DecompressImage(
+ Ptr data,
+ ImageDescriptionHandle desc,
+ PixMapHandle dst,
+ const Rect * srcRect,
+ const Rect * dstRect,
+ short mode,
+ RgnHandle mask);
+
+
+/*
+ * FDecompressImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+FDecompressImage(
+ Ptr data,
+ ImageDescriptionHandle desc,
+ PixMapHandle dst,
+ const Rect * srcRect,
+ MatrixRecordPtr matrix,
+ short mode,
+ RgnHandle mask,
+ PixMapHandle matte,
+ const Rect * matteRect,
+ CodecQ accuracy,
+ DecompressorComponent codec,
+ long bufferSize,
+ ICMDataProcRecordPtr dataProc,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/* For video compression, consider using ICMCompressionSessionCreate etc. instead of CompressSequenceBegin etc. */
+/*
+ * CompressSequenceBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CompressSequenceBegin(
+ ImageSequence * seqID,
+ PixMapHandle src,
+ PixMapHandle prev,
+ const Rect * srcRect,
+ const Rect * prevRect,
+ short colorDepth,
+ CodecType cType,
+ CompressorComponent codec,
+ CodecQ spatialQuality,
+ CodecQ temporalQuality,
+ long keyFrameRate,
+ CTabHandle ctable,
+ CodecFlags flags,
+ ImageDescriptionHandle desc);
+
+
+/*
+ * CompressSequenceFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CompressSequenceFrame(
+ ImageSequence seqID,
+ PixMapHandle src,
+ const Rect * srcRect,
+ CodecFlags flags,
+ Ptr data,
+ long * dataSize,
+ UInt8 * similarity,
+ ICMCompletionProcRecordPtr asyncCompletionProc);
+
+
+/* For video decompression, consider using ICMDecompressionSessionCreate etc. instead of DecompressSequenceBegin etc. */
+/*
+ * DecompressSequenceBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DecompressSequenceBegin(
+ ImageSequence * seqID,
+ ImageDescriptionHandle desc,
+ CGrafPtr port,
+ GDHandle gdh,
+ const Rect * srcRect,
+ MatrixRecordPtr matrix,
+ short mode,
+ RgnHandle mask,
+ CodecFlags flags,
+ CodecQ accuracy,
+ DecompressorComponent codec);
+
+
+/* For video decompression, consider using ICMDecompressionSessionCreate etc. instead of DecompressSequenceBeginS etc. */
+/*
+ * DecompressSequenceBeginS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DecompressSequenceBeginS(
+ ImageSequence * seqID,
+ ImageDescriptionHandle desc,
+ Ptr data,
+ long dataSize,
+ CGrafPtr port,
+ GDHandle gdh,
+ const Rect * srcRect,
+ MatrixRecordPtr matrix,
+ short mode,
+ RgnHandle mask,
+ CodecFlags flags,
+ CodecQ accuracy,
+ DecompressorComponent codec);
+
+
+/*
+ * DecompressSequenceFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DecompressSequenceFrame(
+ ImageSequence seqID,
+ Ptr data,
+ CodecFlags inFlags,
+ CodecFlags * outFlags,
+ ICMCompletionProcRecordPtr asyncCompletionProc);
+
+
+/*
+ * DecompressSequenceFrameS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DecompressSequenceFrameS(
+ ImageSequence seqID,
+ Ptr data,
+ long dataSize,
+ CodecFlags inFlags,
+ CodecFlags * outFlags,
+ ICMCompletionProcRecordPtr asyncCompletionProc);
+
+
+/*
+ * DecompressSequenceFrameWhen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DecompressSequenceFrameWhen(
+ ImageSequence seqID,
+ Ptr data,
+ long dataSize,
+ CodecFlags inFlags,
+ CodecFlags * outFlags,
+ ICMCompletionProcRecordPtr asyncCompletionProc,
+ const ICMFrameTimeRecord * frameTime);
+
+
+/*
+ * CDSequenceFlush()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceFlush(ImageSequence seqID);
+
+
+/*
+ * SetDSequenceMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceMatrix(
+ ImageSequence seqID,
+ MatrixRecordPtr matrix);
+
+
+/*
+ * GetDSequenceMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+GetDSequenceMatrix(
+ ImageSequence seqID,
+ MatrixRecordPtr matrix);
+
+
+/*
+ * SetDSequenceMatte()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceMatte(
+ ImageSequence seqID,
+ PixMapHandle matte,
+ const Rect * matteRect);
+
+
+/*
+ * SetDSequenceMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceMask(
+ ImageSequence seqID,
+ RgnHandle mask);
+
+
+/*
+ * SetDSequenceTransferMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceTransferMode(
+ ImageSequence seqID,
+ short mode,
+ const RGBColor * opColor);
+
+
+/*
+ * SetDSequenceDataProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceDataProc(
+ ImageSequence seqID,
+ ICMDataProcRecordPtr dataProc,
+ long bufferSize);
+
+
+/*
+ * SetDSequenceAccuracy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceAccuracy(
+ ImageSequence seqID,
+ CodecQ accuracy);
+
+
+/*
+ * SetDSequenceSrcRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceSrcRect(
+ ImageSequence seqID,
+ const Rect * srcRect);
+
+
+/*
+ * SetDSequenceFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceFlags(
+ ImageSequence seqID,
+ long flags,
+ long flagsMask);
+
+
+enum {
+ codecDSequenceDisableOverlaySurface = (1L << 5),
+ codecDSequenceSingleField = (1L << 6),
+ codecDSequenceBidirectionalPrediction = (1L << 7),
+ codecDSequenceFlushInsteadOfDirtying = (1L << 8),
+ codecDSequenceEnableSubPixelPositioning = (1L << 9),
+ codecDSequenceDeinterlaceFields = (1L << 10)
+};
+
+typedef CodecComponent * CodecComponentPtr;
+typedef CodecComponentPtr * CodecComponentHandle;
+/* selectors for ICMSequenceGet/SetInfo*/
+enum {
+ kICMSequenceTaskWeight = FOUR_CHAR_CODE('twei'), /* data is pointer to UInt32*/
+ kICMSequenceTaskName = FOUR_CHAR_CODE('tnam'), /* data is pointer to OSType*/
+ kICMSequenceUserPreferredCodecs = FOUR_CHAR_CODE('punt') /* data is pointer to CodecComponentHandle*/
+};
+
+/*
+ * ICMSequenceGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+ICMSequenceGetInfo(
+ ImageSequence seqID,
+ OSType which,
+ void * data);
+
+
+/*
+ * ICMSequenceSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+ICMSequenceSetInfo(
+ ImageSequence seqID,
+ OSType which,
+ void * data,
+ Size dataSize);
+
+
+/*
+ * GetDSequenceImageBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetDSequenceImageBuffer(
+ ImageSequence seqID,
+ GWorldPtr * gworld);
+
+
+/*
+ * GetDSequenceScreenBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetDSequenceScreenBuffer(
+ ImageSequence seqID,
+ GWorldPtr * gworld);
+
+
+/*
+ * SetCSequenceQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetCSequenceQuality(
+ ImageSequence seqID,
+ CodecQ spatialQuality,
+ CodecQ temporalQuality);
+
+
+/*
+ * SetCSequencePrev()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetCSequencePrev(
+ ImageSequence seqID,
+ PixMapHandle prev,
+ const Rect * prevRect);
+
+
+/*
+ * SetCSequenceFlushProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetCSequenceFlushProc(
+ ImageSequence seqID,
+ ICMFlushProcRecordPtr flushProc,
+ long bufferSize);
+
+
+/*
+ * SetCSequenceKeyFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetCSequenceKeyFrameRate(
+ ImageSequence seqID,
+ long keyFrameRate);
+
+
+/*
+ * GetCSequenceKeyFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCSequenceKeyFrameRate(
+ ImageSequence seqID,
+ long * keyFrameRate);
+
+
+/*
+ * GetCSequencePrevBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCSequencePrevBuffer(
+ ImageSequence seqID,
+ GWorldPtr * gworld);
+
+
+/*
+ * CDSequenceBusy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceBusy(ImageSequence seqID);
+
+
+/*
+ * CDSequenceEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceEnd(ImageSequence seqID);
+
+
+/*
+ * CDSequenceEquivalentImageDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceEquivalentImageDescription(
+ ImageSequence seqID,
+ ImageDescriptionHandle newDesc,
+ Boolean * equivalent);
+
+
+/*
+ * CDSequenceEquivalentImageDescriptionS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceEquivalentImageDescriptionS(
+ ImageSequence seqID,
+ ImageDescriptionHandle newDesc,
+ Boolean * equivalent,
+ Boolean * canSwitch);
+
+
+/*
+ * ReplaceDSequenceImageDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+ReplaceDSequenceImageDescription(
+ ImageSequence seqID,
+ ImageDescriptionHandle newDesc);
+
+
+/*
+ * GetCompressedImageSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCompressedImageSize(
+ ImageDescriptionHandle desc,
+ Ptr data,
+ long bufferSize,
+ ICMDataProcRecordPtr dataProc,
+ long * dataSize);
+
+
+/*
+ * GetSimilarity()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetSimilarity(
+ PixMapHandle src,
+ const Rect * srcRect,
+ ImageDescriptionHandle desc,
+ Ptr data,
+ Fixed * similarity);
+
+
+enum {
+ kImageDescriptionSampleFormat = FOUR_CHAR_CODE('idfm'), /* image description extension describing sample format*/
+ kImageDescriptionClassicAtomFormat = FOUR_CHAR_CODE('atom'), /* sample contains classic atom structure (ie, GX codec and Curve codec)*/
+ kImageDescriptionQTAtomFormat = FOUR_CHAR_CODE('qtat'), /* sample contains QT atom structure*/
+ kImageDescriptionEffectDataFormat = FOUR_CHAR_CODE('fxat'), /* sample describes an effect (as QTAtoms)*/
+ kImageDescriptionPrivateDataFormat = FOUR_CHAR_CODE('priv'), /* sample is in a private codec specific format*/
+ kImageDescriptionAlternateCodec = FOUR_CHAR_CODE('subs'), /* image description extension containing the OSType of a substitute codec should the main codec not be available*/
+ kImageDescriptionColorSpace = FOUR_CHAR_CODE('cspc') /* image description extension containing an OSType naming the native pixel format of an image (only used for pixel formats not supported by classic Color QuickDraw)*/
+};
+
+/*
+ * GetImageDescriptionCTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetImageDescriptionCTable(
+ ImageDescriptionHandle desc,
+ CTabHandle * ctable);
+
+
+/*
+ * SetImageDescriptionCTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetImageDescriptionCTable(
+ ImageDescriptionHandle desc,
+ CTabHandle ctable);
+
+
+/*
+ * GetImageDescriptionExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetImageDescriptionExtension(
+ ImageDescriptionHandle desc,
+ Handle * extension,
+ long idType,
+ long index);
+
+
+/*
+ * AddImageDescriptionExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddImageDescriptionExtension(
+ ImageDescriptionHandle desc,
+ Handle extension,
+ long idType);
+
+
+/*
+ * RemoveImageDescriptionExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveImageDescriptionExtension(
+ ImageDescriptionHandle desc,
+ long idType,
+ long index);
+
+
+/*
+ * CountImageDescriptionExtensionType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CountImageDescriptionExtensionType(
+ ImageDescriptionHandle desc,
+ long idType,
+ long * count);
+
+
+/*
+ * GetNextImageDescriptionExtensionType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetNextImageDescriptionExtensionType(
+ ImageDescriptionHandle desc,
+ long * idType);
+
+
+/*
+ * FindCodec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+FindCodec(
+ CodecType cType,
+ CodecComponent specCodec,
+ CompressorComponent * compressor,
+ DecompressorComponent * decompressor);
+
+
+/*
+ * CompressPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CompressPicture(
+ PicHandle srcPicture,
+ PicHandle dstPicture,
+ CodecQ quality,
+ CodecType cType);
+
+
+/*
+ * FCompressPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+FCompressPicture(
+ PicHandle srcPicture,
+ PicHandle dstPicture,
+ short colorDepth,
+ CTabHandle ctable,
+ CodecQ quality,
+ short doDither,
+ short compressAgain,
+ ICMProgressProcRecordPtr progressProc,
+ CodecType cType,
+ CompressorComponent codec);
+
+
+/*
+ * CompressPictureFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CompressPictureFile(
+ short srcRefNum,
+ short dstRefNum,
+ CodecQ quality,
+ CodecType cType);
+
+
+/*
+ * FCompressPictureFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+FCompressPictureFile(
+ short srcRefNum,
+ short dstRefNum,
+ short colorDepth,
+ CTabHandle ctable,
+ CodecQ quality,
+ short doDither,
+ short compressAgain,
+ ICMProgressProcRecordPtr progressProc,
+ CodecType cType,
+ CompressorComponent codec);
+
+
+/*
+ * GetPictureFileHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetPictureFileHeader(
+ short refNum,
+ Rect * frame,
+ OpenCPicParams * header);
+
+
+/*
+ * DrawPictureFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DrawPictureFile(
+ short refNum,
+ const Rect * frame,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/*
+ * DrawTrimmedPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DrawTrimmedPicture(
+ PicHandle srcPicture,
+ const Rect * frame,
+ RgnHandle trimMask,
+ short doDither,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/*
+ * DrawTrimmedPictureFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DrawTrimmedPictureFile(
+ short srcRefnum,
+ const Rect * frame,
+ RgnHandle trimMask,
+ short doDither,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/*
+ * MakeThumbnailFromPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+MakeThumbnailFromPicture(
+ PicHandle picture,
+ short colorDepth,
+ PicHandle thumbnail,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/*
+ * MakeThumbnailFromPictureFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+MakeThumbnailFromPictureFile(
+ short refNum,
+ short colorDepth,
+ PicHandle thumbnail,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/*
+ * MakeThumbnailFromPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+MakeThumbnailFromPixMap(
+ PixMapHandle src,
+ const Rect * srcRect,
+ short colorDepth,
+ PicHandle thumbnail,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/*
+ * TrimImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+TrimImage(
+ ImageDescriptionHandle desc,
+ Ptr inData,
+ long inBufferSize,
+ ICMDataProcRecordPtr dataProc,
+ Ptr outData,
+ long outBufferSize,
+ ICMFlushProcRecordPtr flushProc,
+ Rect * trimRect,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/*
+ * ConvertImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ConvertImage(
+ ImageDescriptionHandle srcDD,
+ Ptr srcData,
+ short colorDepth,
+ CTabHandle ctable,
+ CodecQ accuracy,
+ CodecQ quality,
+ CodecType cType,
+ CodecComponent codec,
+ ImageDescriptionHandle dstDD,
+ Ptr dstData);
+
+
+/*
+ * GetCompressedPixMapInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCompressedPixMapInfo(
+ PixMapPtr pix,
+ ImageDescriptionHandle * desc,
+ Ptr * data,
+ long * bufferSize,
+ ICMDataProcRecord * dataProc,
+ ICMProgressProcRecord * progressProc);
+
+
+/*
+ * SetCompressedPixMapInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetCompressedPixMapInfo(
+ PixMapPtr pix,
+ ImageDescriptionHandle desc,
+ Ptr data,
+ long bufferSize,
+ ICMDataProcRecordPtr dataProc,
+ ICMProgressProcRecordPtr progressProc);
+
+
+/*
+ * StdPix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+StdPix(
+ PixMapPtr src,
+ const Rect * srcRect,
+ MatrixRecordPtr matrix,
+ short mode,
+ RgnHandle mask,
+ PixMapPtr matte,
+ const Rect * matteRect,
+ short flags);
+
+
+/*
+ * TransformRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+TransformRgn(
+ MatrixRecordPtr matrix,
+ RgnHandle rgn);
+
+
+/***********
+ preview stuff
+***********/
#if CALL_NOT_IN_CARBON
- /*
- * SFGetFilePreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SFGetFilePreview(
- Point where,
- ConstStr255Param prompt,
- FileFilterUPP fileFilter,
- short numTypes,
- ConstSFTypeListPtr typeList,
- DlgHookUPP dlgHook,
- SFReply * reply);
-
-
- /*
- * SFPGetFilePreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SFPGetFilePreview(
- Point where,
- ConstStr255Param prompt,
- FileFilterUPP fileFilter,
- short numTypes,
- ConstSFTypeListPtr typeList,
- DlgHookUPP dlgHook,
- SFReply * reply,
- short dlgID,
- ModalFilterUPP filterProc);
-
-
- /*
- * StandardGetFilePreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- StandardGetFilePreview(
- FileFilterUPP fileFilter,
- short numTypes,
- ConstSFTypeListPtr typeList,
- StandardFileReply * reply);
-
-
- /*
- * CustomGetFilePreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CustomGetFilePreview(
- FileFilterYDUPP fileFilter,
- short numTypes,
- ConstSFTypeListPtr typeList,
- StandardFileReply * reply,
- short dlgID,
- Point where,
- DlgHookYDUPP dlgHook,
- ModalFilterYDUPP filterProc,
- ActivationOrderListPtr activeList,
- ActivateYDUPP activateProc,
- void * yourDataPtr);
+/*
+ * SFGetFilePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SFGetFilePreview(
+ Point where,
+ ConstStr255Param prompt,
+ FileFilterUPP fileFilter,
+ short numTypes,
+ ConstSFTypeListPtr typeList,
+ DlgHookUPP dlgHook,
+ SFReply * reply);
+
+
+/*
+ * SFPGetFilePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SFPGetFilePreview(
+ Point where,
+ ConstStr255Param prompt,
+ FileFilterUPP fileFilter,
+ short numTypes,
+ ConstSFTypeListPtr typeList,
+ DlgHookUPP dlgHook,
+ SFReply * reply,
+ short dlgID,
+ ModalFilterUPP filterProc);
+
+
+/*
+ * StandardGetFilePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+StandardGetFilePreview(
+ FileFilterUPP fileFilter,
+ short numTypes,
+ ConstSFTypeListPtr typeList,
+ StandardFileReply * reply);
+
+
+/*
+ * CustomGetFilePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CustomGetFilePreview(
+ FileFilterYDUPP fileFilter,
+ short numTypes,
+ ConstSFTypeListPtr typeList,
+ StandardFileReply * reply,
+ short dlgID,
+ Point where,
+ DlgHookYDUPP dlgHook,
+ ModalFilterYDUPP filterProc,
+ ActivationOrderListPtr activeList,
+ ActivateYDUPP activateProc,
+ void * yourDataPtr);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * MakeFilePreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- MakeFilePreview(
- short resRefNum,
- ICMProgressProcRecordPtr progress);
-
-
- /*
- * AddFilePreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddFilePreview(
- short resRefNum,
- OSType previewType,
- Handle previewData);
-
-
- enum
- {
- sfpItemPreviewAreaUser = 11,
- sfpItemPreviewStaticText = 12,
- sfpItemPreviewDividerUser = 13,
- sfpItemCreatePreviewButton = 14,
- sfpItemShowPreviewButton = 15
- };
-
- struct PreviewResourceRecord
- {
- unsigned long modDate;
- short version;
- OSType resType;
- short resID;
- };
- typedef struct PreviewResourceRecord PreviewResourceRecord;
- typedef PreviewResourceRecord * PreviewResourcePtr;
- typedef PreviewResourcePtr * PreviewResource;
- /*
- * AlignScreenRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- AlignScreenRect(
- Rect * rp,
- ICMAlignmentProcRecordPtr alignmentProc);
-
-
- /*
- * AlignWindow()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- AlignWindow(
- WindowRef wp,
- Boolean front,
- const Rect * alignmentRect,
- ICMAlignmentProcRecordPtr alignmentProc);
-
-
- /*
- * DragAlignedWindow()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DragAlignedWindow(
- WindowRef wp,
- Point startPt,
- Rect * boundsRect,
- Rect * alignmentRect,
- ICMAlignmentProcRecordPtr alignmentProc);
-
-
- /*
- * DragAlignedGrayRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- DragAlignedGrayRgn(
- RgnHandle theRgn,
- Point startPt,
- Rect * boundsRect,
- Rect * slopRect,
- short axis,
- UniversalProcPtr actionProc,
- Rect * alignmentRect,
- ICMAlignmentProcRecordPtr alignmentProc);
-
-
- /*
- * SetCSequenceDataRateParams()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetCSequenceDataRateParams(
- ImageSequence seqID,
- DataRateParamsPtr params);
-
-
- /*
- * SetCSequenceFrameNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetCSequenceFrameNumber(
- ImageSequence seqID,
- long frameNumber);
-
-
- /*
- * SetCSequencePreferredPacketSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetCSequencePreferredPacketSize(
- ImageSequence seqID,
- long preferredPacketSizeInBytes);
-
-
- /*
- * NewImageGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewImageGWorld(
- GWorldPtr * gworld,
- ImageDescriptionHandle idh,
- GWorldFlags flags);
-
-
- /*
- * GetCSequenceDataRateParams()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCSequenceDataRateParams(
- ImageSequence seqID,
- DataRateParamsPtr params);
-
-
- /*
- * GetCSequenceFrameNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetCSequenceFrameNumber(
- ImageSequence seqID,
- long * frameNumber);
-
-
- /*
- * GetBestDeviceRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetBestDeviceRect(
- GDHandle * gdh,
- Rect * rp);
-
-
- /*
- * SetSequenceProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetSequenceProgressProc(
- ImageSequence seqID,
- ICMProgressProcRecord * progressProc);
-
-
- /*
- * GDHasScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GDHasScale(
- GDHandle gdh,
- short depth,
- Fixed * scale);
-
-
- /*
- * GDGetScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GDGetScale(
- GDHandle gdh,
- Fixed * scale,
- short * flags);
-
-
- /*
- * GDSetScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GDSetScale(
- GDHandle gdh,
- Fixed scale,
- short flags);
-
-
- /*
- * ICMShieldSequenceCursor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ICMShieldSequenceCursor(ImageSequence seqID);
-
-
- /*
- * ICMDecompressComplete()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ICMDecompressComplete(
- ImageSequence seqID,
- OSErr err,
- short flag,
- ICMCompletionProcRecordPtr completionRtn);
-
-
- /*
- * ICMDecompressCompleteS()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ICMDecompressCompleteS(
- ImageSequence seqID,
- OSErr err,
- short flag,
- ICMCompletionProcRecordPtr completionRtn);
-
-
- /*
- * ICMSequenceLockBits()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ICMSequenceLockBits(
- ImageSequence seqID,
- PixMapPtr dst,
- long flags);
-
-
- /*
- * ICMSequenceUnlockBits()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ICMSequenceUnlockBits(
- ImageSequence seqID,
- long flags);
-
-
- enum
- {
- kICMPixelFormatIsPlanarMask = 0x0F, /* these bits in formatFlags indicate how many planes there are; they're 0 if chunky*/
- kICMPixelFormatIsIndexed = (1L << 4),
- kICMPixelFormatIsSupportedByQD = (1L << 5),
- kICMPixelFormatIsMonochrome = (1L << 6),
- kICMPixelFormatHasAlphaChannel = (1L << 7)
- };
-
- struct ICMPixelFormatInfo
- {
- long size; /* caller MUST fill this in with sizeof(ICMPixelFormatInfo) before calling ICMGet/SetPixelFormatInfo*/
- unsigned long formatFlags;
- short bitsPerPixel[14]; /* list each plane's bits per pixel separately if planar*/
- /* new field for QuickTime 4.1*/
- Fixed defaultGammaLevel;
- /* new fields for QuickTime 6.0*/
- short horizontalSubsampling[14]; /* per plane; use 1 if plane is not subsampled*/
- short verticalSubsampling[14]; /* per plane; use 1 if plane is not subsampled*/
- /* new fields for QuickTime 6.5*/
- short cmpCount; /* for use in PixMap.cmpCount*/
- short cmpSize; /* for use in PixMap.cmpSize*/
- };
- typedef struct ICMPixelFormatInfo ICMPixelFormatInfo;
- typedef ICMPixelFormatInfo * ICMPixelFormatInfoPtr;
- /* IMPORTANT: Fill in theInfo->size with sizeof(ICMPixelFormatInfo) before calling ICMGetPixelFormatInfo */
- /*
- * ICMGetPixelFormatInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ICMGetPixelFormatInfo(
- OSType PixelFormat,
- ICMPixelFormatInfoPtr theInfo);
-
-
- /* IMPORTANT: Fill in theInfo->size with sizeof(ICMPixelFormatInfo) before calling ICMSetPixelFormatInfo */
- /*
- * ICMSetPixelFormatInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ICMSetPixelFormatInfo(
- OSType PixelFormat,
- ICMPixelFormatInfoPtr theInfo);
-
-
- enum
- {
- kICMGetChainUltimateParent = 0,
- kICMGetChainParent = 1,
- kICMGetChainChild = 2,
- kICMGetChainUltimateChild = 3
- };
-
- /*
- * ICMSequenceGetChainMember()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ICMSequenceGetChainMember(
- ImageSequence seqID,
- ImageSequence * retSeqID,
- long flags);
-
-
- /*
- * SetDSequenceTimeCode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetDSequenceTimeCode(
- ImageSequence seqID,
- void * timeCodeFormat,
- void * timeCodeTime);
-
-
- /*
- * CDSequenceNewMemory()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceNewMemory(
- ImageSequence seqID,
- Ptr * data,
- Size dataSize,
- long dataUse,
- ICMMemoryDisposedUPP memoryGoneProc,
- void * refCon);
-
-
- /*
- * CDSequenceDisposeMemory()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceDisposeMemory(
- ImageSequence seqID,
- Ptr data);
-
-
- /*
- * CDSequenceNewDataSource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceNewDataSource(
- ImageSequence seqID,
- ImageSequenceDataSource * sourceID,
- OSType sourceType,
- long sourceInputNumber,
- Handle dataDescription,
- ICMConvertDataFormatUPP transferProc,
- void * refCon);
-
-
- /*
- * CDSequenceDisposeDataSource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceDisposeDataSource(ImageSequenceDataSource sourceID);
-
-
- /*
- * CDSequenceSetSourceData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceSetSourceData(
- ImageSequenceDataSource sourceID,
- void * data,
- long dataSize);
-
-
- /*
- * CDSequenceChangedSourceData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceChangedSourceData(ImageSequenceDataSource sourceID);
-
-
- /*
- * CDSequenceSetSourceDataQueue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceSetSourceDataQueue(
- ImageSequenceDataSource sourceID,
- QHdrPtr dataQueue);
-
-
- /*
- * CDSequenceGetDataSource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceGetDataSource(
- ImageSequence seqID,
- ImageSequenceDataSource * sourceID,
- OSType sourceType,
- long sourceInputNumber);
-
-
- /*
- * PtInDSequenceData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- PtInDSequenceData(
- ImageSequence seqID,
- void * data,
- Size dataSize,
- Point where,
- Boolean * hit);
-
-
- /*
- * HitTestDSequenceData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- HitTestDSequenceData(
- ImageSequence seqID,
- void * data,
- Size dataSize,
- Point where,
- long * hit,
- long hitFlags);
-
-
- /*
- * SetDSequenceNonScheduledDisplayTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- SetDSequenceNonScheduledDisplayTime(
- ImageSequence sequence,
- TimeValue64 displayTime,
- TimeScale displayTimeScale,
- UInt32 flags);
-
-
- /*
- * GetDSequenceNonScheduledDisplayTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- GetDSequenceNonScheduledDisplayTime(
- ImageSequence sequence,
- TimeValue64 * displayTime,
- TimeScale * displayTimeScale);
-
-
- /*
- * SetDSequenceNonScheduledDisplayDirection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- SetDSequenceNonScheduledDisplayDirection(
- ImageSequence sequence,
- Fixed rate);
-
-
- /*
- * GetDSequenceNonScheduledDisplayDirection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- GetDSequenceNonScheduledDisplayDirection(
- ImageSequence sequence,
- Fixed * rate);
-
-
- /*
- * GetGraphicsImporterForFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetGraphicsImporterForFile(
- const FSSpec * theFile,
- ComponentInstance * gi);
-
-
- /*
- * GetGraphicsImporterForDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetGraphicsImporterForDataRef(
- Handle dataRef,
- OSType dataRefType,
- ComponentInstance * gi);
-
-
- enum
- {
- kDontUseValidateToFindGraphicsImporter = 1L << 0
- };
-
- /*
- * GetGraphicsImporterForFileWithFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetGraphicsImporterForFileWithFlags(
- const FSSpec * theFile,
- ComponentInstance * gi,
- long flags);
-
-
- /*
- * GetGraphicsImporterForDataRefWithFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetGraphicsImporterForDataRefWithFlags(
- Handle dataRef,
- OSType dataRefType,
- ComponentInstance * gi,
- long flags);
-
-
- /*
- * QTGetFileNameExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTGetFileNameExtension(
- ConstStrFileNameParam fileName,
- OSType fileType,
- OSType * extension);
-
-
-
- /*
- * ImageTranscodeSequenceBegin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ImageTranscodeSequenceBegin(
- ImageTranscodeSequence * its,
- ImageDescriptionHandle srcDesc,
- OSType destType,
- ImageDescriptionHandle * dstDesc,
- void * data,
- long dataSize);
-
-
- /*
- * ImageTranscodeSequenceEnd()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ImageTranscodeSequenceEnd(ImageTranscodeSequence its);
-
-
- /*
- * ImageTranscodeFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ImageTranscodeFrame(
- ImageTranscodeSequence its,
- void * srcData,
- long srcDataSize,
- void ** dstData,
- long * dstDataSize);
-
-
- /*
- * ImageTranscodeDisposeFrameData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ImageTranscodeDisposeFrameData(
- ImageTranscodeSequence its,
- void * dstData);
-
-
- /*
- * CDSequenceInvalidate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceInvalidate(
- ImageSequence seqID,
- RgnHandle invalRgn);
-
-
- /*
- * CDSequenceSetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CDSequenceSetTimeBase(
- ImageSequence seqID,
- void * base);
-
-
- /*
- * ImageFieldSequenceBegin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ImageFieldSequenceBegin(
- ImageFieldSequence * ifs,
- ImageDescriptionHandle desc1,
- ImageDescriptionHandle desc2,
- ImageDescriptionHandle descOut);
-
-
- /*
- * ImageFieldSequenceExtractCombine()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ImageFieldSequenceExtractCombine(
- ImageFieldSequence ifs,
- long fieldFlags,
- void * data1,
- long dataSize1,
- void * data2,
- long dataSize2,
- void * outputData,
- long * outDataSize);
-
-
- /*
- * ImageFieldSequenceEnd()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ImageFieldSequenceEnd(ImageFieldSequence ifs);
-
-
- enum
- {
- kICMTempThenAppMemory = 1L << 12,
- kICMAppThenTempMemory = 1L << 13
- };
-
- /*
- * QTNewGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTNewGWorld(
- GWorldPtr * offscreenGWorld,
- OSType PixelFormat,
- const Rect * boundsRect,
- CTabHandle cTable,
- GDHandle aGDevice,
- GWorldFlags flags);
-
-
- /*
- * QTNewGWorldFromPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- QTNewGWorldFromPtr(
- GWorldPtr * gw,
- OSType pixelFormat,
- const Rect * boundsRect,
- CTabHandle cTable,
- GDHandle aGDevice,
- GWorldFlags flags,
- void * baseAddr,
- long rowBytes);
-
-
- /*
- * QTUpdateGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(GWorldFlags)
- QTUpdateGWorld(
- GWorldPtr * offscreenGWorld,
- OSType PixelFormat,
- const Rect * boundsRect,
- CTabHandle cTable,
- GDHandle aGDevice,
- GWorldFlags flags);
-
-
- /*
- * MakeImageDescriptionForPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- MakeImageDescriptionForPixMap(
- PixMapHandle pixmap,
- ImageDescriptionHandle * idh);
-
-
- /*
- * MakeImageDescriptionForEffect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- MakeImageDescriptionForEffect(
- OSType effectType,
- ImageDescriptionHandle * idh);
-
-
- /*
- * QTGetPixelSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- QTGetPixelSize(OSType PixelFormat);
-
-
- /*
- * QTGetPixelFormatDepthForImageDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(short)
- QTGetPixelFormatDepthForImageDescription(OSType PixelFormat);
-
-
- /*
- * QTGetPixMapPtrRowBytes()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(long)
- QTGetPixMapPtrRowBytes(PixMapPtr pm);
-
-
- /*
- * QTGetPixMapHandleRowBytes()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(long)
- QTGetPixMapHandleRowBytes(PixMapHandle pm);
-
-
- /*
- * QTSetPixMapPtrRowBytes()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- QTSetPixMapPtrRowBytes(
- PixMapPtr pm,
- long rowBytes);
-
-
- /*
- * QTSetPixMapHandleRowBytes()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- QTSetPixMapHandleRowBytes(
- PixMapHandle pm,
- long rowBytes);
-
-
- enum
- {
- kQTUsePlatformDefaultGammaLevel = 0, /* When decompressing into this PixMap, gamma-correct to the platform's standard gamma. */
- kQTUseSourceGammaLevel = -1L, /* When decompressing into this PixMap, don't perform gamma-correction. */
- kQTCCIR601VideoGammaLevel = 0x00023333 /* 2.2, standard television video gamma.*/
- };
-
- /*
- * QTGetPixMapPtrGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(Fixed)
- QTGetPixMapPtrGammaLevel(PixMapPtr pm);
-
-
- /*
- * QTSetPixMapPtrGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- QTSetPixMapPtrGammaLevel(
- PixMapPtr pm,
- Fixed gammaLevel);
-
-
- /*
- * QTGetPixMapHandleGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(Fixed)
- QTGetPixMapHandleGammaLevel(PixMapHandle pm);
-
-
- /*
- * QTSetPixMapHandleGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- QTSetPixMapHandleGammaLevel(
- PixMapHandle pm,
- Fixed gammaLevel);
-
-
- /*
- * QTGetPixMapPtrRequestedGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(Fixed)
- QTGetPixMapPtrRequestedGammaLevel(PixMapPtr pm);
-
-
- /*
- * QTSetPixMapPtrRequestedGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- QTSetPixMapPtrRequestedGammaLevel(
- PixMapPtr pm,
- Fixed requestedGammaLevel);
-
-
- /*
- * QTGetPixMapHandleRequestedGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(Fixed)
- QTGetPixMapHandleRequestedGammaLevel(PixMapHandle pm);
-
-
- /*
- * QTSetPixMapHandleRequestedGammaLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- QTSetPixMapHandleRequestedGammaLevel(
- PixMapHandle pm,
- Fixed requestedGammaLevel);
-
-
- /*
- * QuadToQuadMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- QuadToQuadMatrix(
- const Fixed * source,
- const Fixed * dest,
- MatrixRecord * map);
-
-
-
-
- enum
- {
- identityMatrixType = 0x00, /* result if matrix is identity */
- translateMatrixType = 0x01, /* result if matrix translates */
- scaleMatrixType = 0x02, /* result if matrix scales */
- scaleTranslateMatrixType = 0x03, /* result if matrix scales and translates */
- linearMatrixType = 0x04, /* result if matrix is general 2 x 2 */
- linearTranslateMatrixType = 0x05, /* result if matrix is general 2 x 2 and translates */
- perspectiveMatrixType = 0x06 /* result if matrix is general 3 x 3 */
- };
-
- typedef unsigned short MatrixFlags;
- /*
- * GetMatrixType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- GetMatrixType(const MatrixRecord * m);
-
-
- /*
- * CopyMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CopyMatrix(
- const MatrixRecord * m1,
- MatrixRecord * m2);
-
-
- /*
- * EqualMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- EqualMatrix(
- const MatrixRecord * m1,
- const MatrixRecord * m2);
-
-
- /*
- * SetIdentityMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetIdentityMatrix(MatrixRecord * matrix);
-
-
- /*
- * TranslateMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- TranslateMatrix(
- MatrixRecord * m,
- Fixed deltaH,
- Fixed deltaV);
-
-
- /*
- * RotateMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- RotateMatrix(
- MatrixRecord * m,
- Fixed degrees,
- Fixed aboutX,
- Fixed aboutY);
-
-
- /*
- * ScaleMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ScaleMatrix(
- MatrixRecord * m,
- Fixed scaleX,
- Fixed scaleY,
- Fixed aboutX,
- Fixed aboutY);
-
-
- /*
- * SkewMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SkewMatrix(
- MatrixRecord * m,
- Fixed skewX,
- Fixed skewY,
- Fixed aboutX,
- Fixed aboutY);
-
-
- /*
- * TransformFixedPoints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- TransformFixedPoints(
- const MatrixRecord * m,
- FixedPoint * fpt,
- long count);
-
-
- /*
- * TransformPoints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- TransformPoints(
- const MatrixRecord * mp,
- Point * pt1,
- long count);
-
-
- /*
- * TransformFixedRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- TransformFixedRect(
- const MatrixRecord * m,
- FixedRect * fr,
- FixedPoint * fpp);
-
-
- /*
- * TransformRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- TransformRect(
- const MatrixRecord * m,
- Rect * r,
- FixedPoint * fpp);
-
-
- /*
- * InverseMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- InverseMatrix(
- const MatrixRecord * m,
- MatrixRecord * im);
-
-
- /*
- * ConcatMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ConcatMatrix(
- const MatrixRecord * a,
- MatrixRecord * b);
-
-
- /*
- * RectMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- RectMatrix(
- MatrixRecord * matrix,
- const Rect * srcRect,
- const Rect * dstRect);
-
-
- /*
- * MapMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- MapMatrix(
- MatrixRecord * matrix,
- const Rect * fromRect,
- const Rect * toRect);
-
-
-
-
-
-
-
-
- /*
- * CompAdd()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CompAdd(
- wide * src,
- wide * dst);
-
-
- /*
- * CompSub()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CompSub(
- wide * src,
- wide * dst);
-
-
- /*
- * CompNeg()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CompNeg(wide * dst);
-
-
- /*
- * CompShift()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CompShift(
- wide * src,
- short shift);
-
-
- /*
- * CompMul()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CompMul(
- long src1,
- long src2,
- wide * dst);
-
-
- /*
- * CompDiv()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- CompDiv(
- wide * numerator,
- long denominator,
- long * remainder);
-
-
- /*
- * CompFixMul()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CompFixMul(
- wide * compSrc,
- Fixed fixSrc,
- wide * compDst);
-
-
- /*
- * CompMulDiv()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CompMulDiv(
- wide * co,
- long mul,
- long divisor);
-
-
- /*
- * CompMulDivTrunc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CompMulDivTrunc(
- wide * co,
- long mul,
- long divisor,
- long * remainder);
-
-
- /*
- * CompCompare()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- CompCompare(
- const wide * a,
- const wide * minusb);
-
-
- /*
- * CompSquareRoot()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(unsigned long)
- CompSquareRoot(const wide * src);
-
-
- /*
- * FixMulDiv()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- FixMulDiv(
- Fixed src,
- Fixed mul,
- Fixed divisor);
-
-
- /*
- * UnsignedFixMulDiv()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- UnsignedFixMulDiv(
- Fixed src,
- Fixed mul,
- Fixed divisor);
-
-
- /*
- * FracSinCos()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fract)
- FracSinCos(
- Fixed degree,
- Fract * cosOut);
-
-
- /*
- * FixExp2()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- FixExp2(Fixed src);
-
-
- /*
- * FixLog2()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- FixLog2(Fixed src);
-
-
- /*
- * FixPow()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- FixPow(
- Fixed base,
- Fixed exp);
-
-
-
-
-
- typedef ComponentInstance GraphicsImportComponent;
- enum
- {
- GraphicsImporterComponentType = FOUR_CHAR_CODE('grip')
- };
-
- /* Component flags for Graphics Importer components */
- enum
- {
- graphicsImporterIsBaseImporter = 1L << 0,
- graphicsImporterCanValidateFile = 1L << 9,
- graphicsImporterSubTypeIsFileExtension = 1L << 12,
- graphicsImporterHasMIMEList = 1L << 14,
- graphicsImporterUsesImageDecompressor = 1L << 23
- };
-
- /* Atom types for QuickTime Image files */
- enum
- {
- quickTimeImageFileImageDescriptionAtom = FOUR_CHAR_CODE('idsc'),
- quickTimeImageFileImageDataAtom = FOUR_CHAR_CODE('idat'),
- quickTimeImageFileMetaDataAtom = FOUR_CHAR_CODE('meta'),
- quickTimeImageFileColorSyncProfileAtom = FOUR_CHAR_CODE('iicc')
- };
-
- /* Flags for GraphicsImportDoesDrawAllPixels */
- enum
- {
- graphicsImporterDrawsAllPixels = 0,
- graphicsImporterDoesntDrawAllPixels = 1,
- graphicsImporterDontKnowIfDrawAllPixels = 2
- };
-
- /* Flags for GraphicsImportSetFlags */
- enum
- {
- kGraphicsImporterDontDoGammaCorrection = 1L << 0,
- kGraphicsImporterTrustResolutionFromFile = 1L << 1,
- kGraphicsImporterEnableSubPixelPositioning = 1L << 2,
- kGraphicsImporterDontUseColorMatching = 1L << 3 /* set this flag (*before* calling GraphicsImportGetColorSyncProfile) if you do matching yourself */
- };
-
- /* Flags for GraphicsImportCreateCGImage */
- enum
- {
- kGraphicsImportCreateCGImageUsingCurrentSettings = 1L << 0
- };
-
- enum
- {
- kGraphicsExportGroup = FOUR_CHAR_CODE('expo'),
- kGraphicsExportFileType = FOUR_CHAR_CODE('ftyp'),
- kGraphicsExportMIMEType = FOUR_CHAR_CODE('mime'),
- kGraphicsExportExtension = FOUR_CHAR_CODE('ext '),
- kGraphicsExportDescription = FOUR_CHAR_CODE('desc')
- };
-
- /* User data types for layers of Photoshop files */
- enum
- {
- kQTPhotoshopLayerMode = FOUR_CHAR_CODE('lmod'), /* OSType */
- kQTPhotoshopLayerOpacity = FOUR_CHAR_CODE('lopa'), /* UInt8, 0 = transparent .. 255 = opaque */
- kQTPhotoshopLayerClipping = FOUR_CHAR_CODE('lclp'), /* UInt8, 0 = base, 1 = non-base */
- kQTPhotoshopLayerFlags = FOUR_CHAR_CODE('lflg'), /* UInt8 */
- kQTPhotoshopLayerName = 0xA96C6E6D, /* Text */
- kQTPhotoshopLayerUnicodeName = FOUR_CHAR_CODE('luni') /* Unicode characters, not terminated */
- };
-
- /* User data returned by graphics importers to suggest intended use for indexed images */
- enum
- {
- kQTIndexedImageType = FOUR_CHAR_CODE('nth?'), /* 1 or more OSTypes, such as the following values: */
- kQTIndexedImageIsThumbnail = FOUR_CHAR_CODE('n=th'), /* The image at this index is a thumbnail. */
- kQTIndexedImageIsLayer = FOUR_CHAR_CODE('n=ly'), /* The image at this index is a layer. */
- kQTIndexedImageIsPage = FOUR_CHAR_CODE('n=pg'), /* The image at this index is a page. */
- kQTIndexedImageIsMultiResolution = FOUR_CHAR_CODE('n=rs') /* The image at this index is one of several identical images at different resolutions. */
- };
-
- /* Other user data types returned by graphics importers */
- enum
- {
- kQTTIFFUserDataPrefix = 0x74690000, /* Added to some tag values in TIFF IFDs to generate user data codes. (0x7469 is 'ti'.) */
- /* For example, YCbCrPositioning is tag 0x0213, so its user data code is 0x74690213. */
- kQTTIFFExifUserDataPrefix = 0x65780000, /* Added to tag values in Exif IFDs to generate user data codes. (0x6578 is 'ex'.) */
- /* For example, DateTimeOriginal is tag 0x9003, so its user data code is 0x65789003. */
- kQTTIFFExifGPSUserDataPrefix = 0x67700000, /* Added to tag values in Exif GPS IFDs to generate user data codes. (0x6770 is 'gp'.) */
- /* For example, GPSAltitude is tag 0x0006, so its user data code is 0x6770006. */
- kQTAlphaMode = FOUR_CHAR_CODE('almo'), /* UInt32; eg, graphicsModeStraightAlpha or graphicsModePreBlackAlpha */
- kQTAlphaModePreMulColor = FOUR_CHAR_CODE('almp'), /* RGBColor; used if kQTAlphaMode is graphicsModePreMulColorAlpha */
- kUserDataIPTC = FOUR_CHAR_CODE('iptc')
- };
-
- /* Found in TIFF and Exif JPEG files */
- enum
- {
- kQTTIFFUserDataOrientation = 0x74690112, /* 1 SHORT */
- kQTTIFFUserDataTransferFunction = 0x7469012D, /* n SHORTs */
- kQTTIFFUserDataWhitePoint = 0x7469013E, /* 2 RATIONALs */
- kQTTIFFUserDataPrimaryChromaticities = 0x7469013F, /* 6 RATIONALs */
- kQTTIFFUserDataTransferRange = 0x74690156, /* 6 SHORTs */
- kQTTIFFUserDataYCbCrPositioning = 0x74690213, /* 1 SHORT */
- kQTTIFFUserDataReferenceBlackWhite = 0x74690214 /* n LONGs */
- };
-
- /* Found in GeoTIFF files; defined in the GeoTIFF 1.0 spec */
- enum
- {
- kQTTIFFUserDataModelPixelScale = 0x7469830E, /* 3 DOUBLEs */
- kQTTIFFUserDataModelTransformation = 0x746985D8, /* 16 DOUBLEs */
- kQTTIFFUserDataModelTiepoint = 0x74698482, /* n DOUBLEs */
- kQTTIFFUserDataGeoKeyDirectory = 0x746987AF, /* n SHORTs */
- kQTTIFFUserDataGeoDoubleParams = 0x746987B0, /* n DOUBLEs */
- kQTTIFFUserDataGeoAsciiParams = 0x746987B1, /* n ASCIIs */
- kQTTIFFUserDataIntergraphMatrix = 0x74698480 /* 16 or 17 DOUBLEs */
- };
-
- /* Found in Exif TIFF and Exif JPEG files; defined in the Exif 2.1 spec */
- enum
- {
- kQTExifUserDataExifVersion = 0x65789000, /* 4 bytes (import only) */
- kQTExifUserDataFlashPixVersion = 0x6578A000, /* 4 bytes */
- kQTExifUserDataColorSpace = 0x6578A001, /* 1 SHORT */
- kQTExifUserDataComponentsConfiguration = 0x65789101, /* 4 bytes */
- kQTExifUserDataCompressedBitsPerPixel = 0x65789102, /* 1 RATIONAL */
- kQTExifUserDataPixelXDimension = 0x6578A002, /* 1 SHORT or LONG */
- kQTExifUserDataPixelYDimension = 0x6578A003, /* 1 SHORT or LONG */
- kQTExifUserDataMakerNote = 0x6578927C, /* n bytes */
- kQTExifUserDataUserComment = 0x65789286, /* n bytes (Note: this constant was erroneously 0x6578928C)*/
- kQTExifUserDataRelatedSoundFile = 0x6578A004, /* 13 ASCIIs*/
- kQTExifUserDataDateTimeOriginal = 0x65789003, /* 20 ASCIIs */
- kQTExifUserDataDateTimeDigitized = 0x65789004, /* 20 ASCIIs */
- kQTExifUserDataSubSecTime = 0x65789290, /* n ASCIIs */
- kQTExifUserDataSubSecTimeOriginal = 0x65789291, /* n ASCIIs */
- kQTExifUserDataSubSecTimeDigitized = 0x65789292, /* n ASCIIs */
- kQTExifUserDataExposureTime = 0x6578829A, /* 1 RATIONAL */
- kQTExifUserDataFNumber = 0x6578829D, /* 1 RATIONAL */
- kQTExifUserDataExposureProgram = 0x65788822, /* 1 SHORT */
- kQTExifUserDataSpectralSensitivity = 0x65788824, /* n ASCIIs */
- kQTExifUserDataISOSpeedRatings = 0x65788827, /* n SHORTs */
- kQTExifUserDataShutterSpeedValue = 0x65789201, /* 1 SIGNED RATIONAL */
- kQTExifUserDataApertureValue = 0x65789202, /* 1 RATIONAL */
- kQTExifUserDataBrightnessValue = 0x65789203, /* 1 SIGNED RATIONAL */
- kQTExifUserDataExposureBiasValue = 0x65789204, /* 1 SIGNED RATIONAL */
- kQTExifUserDataMaxApertureValue = 0x65789205, /* 1 RATIONAL */
- kQTExifUserDataSubjectDistance = 0x65789206, /* 1 RATIONAL */
- kQTExifUserDataMeteringMode = 0x65789207, /* 1 SHORT */
- kQTExifUserDataLightSource = 0x65789208, /* 1 SHORT */
- kQTExifUserDataFlash = 0x65789209, /* 1 SHORT */
- kQTExifUserDataFocalLength = 0x6578920A, /* 1 RATIONAL */
- kQTExifUserDataFlashEnergy = 0x6578A20B, /* 1 RATIONAL */
- kQTExifUserDataFocalPlaneXResolution = 0x6578A20E, /* 1 RATIONAL */
- kQTExifUserDataFocalPlaneYResolution = 0x6578A20F, /* 1 RATIONAL */
- kQTExifUserDataFocalPlaneResolutionUnit = 0x6578A210, /* 1 SHORT */
- kQTExifUserDataSubjectLocation = 0x6578A214, /* 1 SHORT */
- kQTExifUserDataExposureIndex = 0x6578A215, /* 1 RATIONAL */
- kQTExifUserDataSensingMethod = 0x6578A217, /* 1 SHORT */
- kQTExifUserDataFileSource = 0x6578A300, /* 1 UNDEFINED */
- kQTExifUserDataSceneType = 0x6578A301 /* 1 UNDEFINED */
- };
-
- /* Found in some Exif TIFF and Exif JPEG files; defined in the Exif 2.1 spec */
- /* Note: these were wrong in the QuickTime 6.0 headers -- the high two bytes were 0x677 instead of 0x6770. */
- enum
- {
- kQTExifUserDataGPSVersionID = 0x67700000, /* 4 BYTEs */
- kQTExifUserDataGPSLatitudeRef = 0x67700001, /* 2 ASCIIs*/
- kQTExifUserDataGPSLatitude = 0x67700002, /* 3 RATIONALs */
- kQTExifUserDataGPSLongitudeRef = 0x67700003, /* 2 ASCIIs */
- kQTExifUserDataGPSLongitude = 0x67700004, /* 3 RATIONALs */
- kQTExifUserDataGPSAltitudeRef = 0x67700005, /* 1 BYTE */
- kQTExifUserDataGPSAltitude = 0x67700006, /* 1 RATIONAL */
- kQTExifUserDataGPSTimeStamp = 0x67700007, /* 3 RATIONALs */
- kQTExifUserDataGPSSatellites = 0x67700008, /* n ASCIIs */
- kQTExifUserDataGPSStatus = 0x67700009, /* 2 ASCIIs */
- kQTExifUserDataGPSMeasureMode = 0x6770000A, /* 2 ASCIIs */
- kQTExifUserDataGPSDOP = 0x6770000B, /* 1 RATIONAL */
- kQTExifUserDataGPSSpeedRef = 0x6770000C, /* 2 ASCIIs */
- kQTExifUserDataGPSSpeed = 0x6770000D, /* 1 RATIONAL */
- kQTExifUserDataGPSTrackRef = 0x6770000E, /* 2 ASCIIs */
- kQTExifUserDataGPSTrack = 0x6770000F, /* 1 RATIONAL */
- kQTExifUserDataGPSImgDirectionRef = 0x67700010, /* 2 ASCIIs */
- kQTExifUserDataGPSImgDirection = 0x67700011, /* 1 RATIONAL */
- kQTExifUserDataGPSMapDatum = 0x67700012, /* n ASCII */
- kQTExifUserDataGPSDestLatitudeRef = 0x67700013, /* 2 ASCIIs */
- kQTExifUserDataGPSDestLatitude = 0x67700014, /* 3 RATIONALs */
- kQTExifUserDataGPSDestLongitudeRef = 0x67700015, /* 2 ASCIIs */
- kQTExifUserDataGPSDestLongitude = 0x67700016, /* 3 RATIONALs */
- kQTExifUserDataGPSDestBearingRef = 0x67700017, /* 2 ASCIIs */
- kQTExifUserDataGPSDestBearing = 0x67700018, /* 1 RATIONAL */
- kQTExifUserDataGPSDestDistanceRef = 0x67700019, /* 2 ASCIIs */
- kQTExifUserDataGPSDestDistance = 0x6770001A /* 1 RATIONAL */
- };
-
-
- /** These are GraphicsImport procedures **/
- /*
- * GraphicsImportSetDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetDataReference(
- GraphicsImportComponent ci,
- Handle dataRef,
- OSType dataReType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDataReference(
- GraphicsImportComponent ci,
- Handle * dataRef,
- OSType * dataReType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetDataFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetDataFile(
- GraphicsImportComponent ci,
- const FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDataFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDataFile(
- GraphicsImportComponent ci,
- FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetDataHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetDataHandle(
- GraphicsImportComponent ci,
- Handle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDataHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDataHandle(
- GraphicsImportComponent ci,
- Handle * h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetImageDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetImageDescription(
- GraphicsImportComponent ci,
- ImageDescriptionHandle * desc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDataOffsetAndSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDataOffsetAndSize(
- GraphicsImportComponent ci,
- unsigned long * offset,
- unsigned long * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportReadData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportReadData(
- GraphicsImportComponent ci,
- void * dataPtr,
- unsigned long dataOffset,
- unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetClip(
- GraphicsImportComponent ci,
- RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetClip(
- GraphicsImportComponent ci,
- RgnHandle * clipRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetSourceRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetSourceRect(
- GraphicsImportComponent ci,
- const Rect * sourceRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetSourceRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetSourceRect(
- GraphicsImportComponent ci,
- Rect * sourceRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetNaturalBounds()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetNaturalBounds(
- GraphicsImportComponent ci,
- Rect * naturalBounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportDraw()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportDraw(GraphicsImportComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetGWorld(
- GraphicsImportComponent ci,
- CGrafPtr port,
- GDHandle gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetGWorld(
- GraphicsImportComponent ci,
- CGrafPtr * port,
- GDHandle * gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetMatrix(
- GraphicsImportComponent ci,
- const MatrixRecord * matrix) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetMatrix(
- GraphicsImportComponent ci,
- MatrixRecord * matrix) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetBoundsRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetBoundsRect(
- GraphicsImportComponent ci,
- const Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetBoundsRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetBoundsRect(
- GraphicsImportComponent ci,
- Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSaveAsPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSaveAsPicture(
- GraphicsImportComponent ci,
- const FSSpec * fss,
- ScriptCode scriptTag) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetGraphicsMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetGraphicsMode(
- GraphicsImportComponent ci,
- long graphicsMode,
- const RGBColor * opColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetGraphicsMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetGraphicsMode(
- GraphicsImportComponent ci,
- long * graphicsMode,
- RGBColor * opColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetQuality()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetQuality(
- GraphicsImportComponent ci,
- CodecQ quality) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetQuality()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetQuality(
- GraphicsImportComponent ci,
- CodecQ * quality) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSaveAsQuickTimeImageFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSaveAsQuickTimeImageFile(
- GraphicsImportComponent ci,
- const FSSpec * fss,
- ScriptCode scriptTag) FIVEWORDINLINE(0x2F3C, 0x0006, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetDataReferenceOffsetAndLimit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetDataReferenceOffsetAndLimit(
- GraphicsImportComponent ci,
- unsigned long offset,
- unsigned long limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001C, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDataReferenceOffsetAndLimit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDataReferenceOffsetAndLimit(
- GraphicsImportComponent ci,
- unsigned long * offset,
- unsigned long * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetAliasedDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetAliasedDataReference(
- GraphicsImportComponent ci,
- Handle * dataRef,
- OSType * dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportValidate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportValidate(
- GraphicsImportComponent ci,
- Boolean * valid) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetMetaData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetMetaData(
- GraphicsImportComponent ci,
- void * userData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetMIMETypeList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetMIMETypeList(
- GraphicsImportComponent ci,
- void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportDoesDrawAllPixels()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportDoesDrawAllPixels(
- GraphicsImportComponent ci,
- short * drawsAllPixels) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetAsPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetAsPicture(
- GraphicsImportComponent ci,
- PicHandle * picture) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0023, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportExportImageFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportExportImageFile(
- GraphicsImportComponent ci,
- OSType fileType,
- OSType fileCreator,
- const FSSpec * fss,
- ScriptCode scriptTag) FIVEWORDINLINE(0x2F3C, 0x000E, 0x0024, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetExportImageTypeList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetExportImageTypeList(
- GraphicsImportComponent ci,
- void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportDoExportImageFileDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportDoExportImageFileDialog(
- GraphicsImportComponent ci,
- const FSSpec * inDefaultSpec,
- StringPtr prompt,
- ModalFilterYDUPP filterProc,
- OSType * outExportedType,
- FSSpec * outExportedSpec,
- ScriptCode * outScriptTag) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0026, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetExportSettingsAsAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetExportSettingsAsAtomContainer(
- GraphicsImportComponent ci,
- void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetExportSettingsFromAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetExportSettingsFromAtomContainer(
- GraphicsImportComponent ci,
- void * qtAtomContainer) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetProgressProc(
- GraphicsImportComponent ci,
- ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0029, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetProgressProc(
- GraphicsImportComponent ci,
- ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetImageCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetImageCount(
- GraphicsImportComponent ci,
- unsigned long * imageCount) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetImageIndex()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetImageIndex(
- GraphicsImportComponent ci,
- unsigned long imageIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetImageIndex()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetImageIndex(
- GraphicsImportComponent ci,
- unsigned long * imageIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002D, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDataOffsetAndSize64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDataOffsetAndSize64(
- GraphicsImportComponent ci,
- wide * offset,
- wide * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportReadData64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportReadData64(
- GraphicsImportComponent ci,
- void * dataPtr,
- const wide * dataOffset,
- unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002F, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetDataReferenceOffsetAndLimit64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetDataReferenceOffsetAndLimit64(
- GraphicsImportComponent ci,
- const wide * offset,
- const wide * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0030, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDataReferenceOffsetAndLimit64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDataReferenceOffsetAndLimit64(
- GraphicsImportComponent ci,
- wide * offset,
- wide * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDefaultMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDefaultMatrix(
- GraphicsImportComponent ci,
- MatrixRecord * defaultMatrix) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0032, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDefaultClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDefaultClip(
- GraphicsImportComponent ci,
- RgnHandle * defaultRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDefaultGraphicsMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDefaultGraphicsMode(
- GraphicsImportComponent ci,
- long * defaultGraphicsMode,
- RGBColor * defaultOpColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDefaultSourceRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDefaultSourceRect(
- GraphicsImportComponent ci,
- Rect * defaultSourceRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetColorSyncProfile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetColorSyncProfile(
- GraphicsImportComponent ci,
- Handle * profile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0036, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetDestRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetDestRect(
- GraphicsImportComponent ci,
- const Rect * destRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0037, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDestRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDestRect(
- GraphicsImportComponent ci,
- Rect * destRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0038, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetFlags(
- GraphicsImportComponent ci,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0039, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetFlags(
- GraphicsImportComponent ci,
- long * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003A, 0x7000, 0xA82A);
-
-
- /* 2 private selectors */
- /*
- * GraphicsImportGetBaseDataOffsetAndSize64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetBaseDataOffsetAndSize64(
- GraphicsImportComponent ci,
- wide * offset,
- wide * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003D, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSetImageIndexToThumbnail()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetImageIndexToThumbnail(GraphicsImportComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x003E, 0x7000, 0xA82A);
+/*
+ * MakeFilePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+MakeFilePreview(
+ short resRefNum,
+ ICMProgressProcRecordPtr progress);
+
+
+/*
+ * AddFilePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddFilePreview(
+ short resRefNum,
+ OSType previewType,
+ Handle previewData);
+
+
+enum {
+ sfpItemPreviewAreaUser = 11,
+ sfpItemPreviewStaticText = 12,
+ sfpItemPreviewDividerUser = 13,
+ sfpItemCreatePreviewButton = 14,
+ sfpItemShowPreviewButton = 15
+};
+
+struct PreviewResourceRecord {
+ unsigned long modDate;
+ short version;
+ OSType resType;
+ short resID;
+};
+typedef struct PreviewResourceRecord PreviewResourceRecord;
+typedef PreviewResourceRecord * PreviewResourcePtr;
+typedef PreviewResourcePtr * PreviewResource;
+/*
+ * AlignScreenRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+AlignScreenRect(
+ Rect * rp,
+ ICMAlignmentProcRecordPtr alignmentProc);
+
+
+/*
+ * AlignWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+AlignWindow(
+ WindowRef wp,
+ Boolean front,
+ const Rect * alignmentRect,
+ ICMAlignmentProcRecordPtr alignmentProc);
+
+
+/*
+ * DragAlignedWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DragAlignedWindow(
+ WindowRef wp,
+ Point startPt,
+ Rect * boundsRect,
+ Rect * alignmentRect,
+ ICMAlignmentProcRecordPtr alignmentProc);
+
+
+/*
+ * DragAlignedGrayRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+DragAlignedGrayRgn(
+ RgnHandle theRgn,
+ Point startPt,
+ Rect * boundsRect,
+ Rect * slopRect,
+ short axis,
+ UniversalProcPtr actionProc,
+ Rect * alignmentRect,
+ ICMAlignmentProcRecordPtr alignmentProc);
+
+
+/*
+ * SetCSequenceDataRateParams()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetCSequenceDataRateParams(
+ ImageSequence seqID,
+ DataRateParamsPtr params);
+
+
+/*
+ * SetCSequenceFrameNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetCSequenceFrameNumber(
+ ImageSequence seqID,
+ long frameNumber);
+
+
+/*
+ * SetCSequencePreferredPacketSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetCSequencePreferredPacketSize(
+ ImageSequence seqID,
+ long preferredPacketSizeInBytes);
+
+
+/*
+ * NewImageGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewImageGWorld(
+ GWorldPtr * gworld,
+ ImageDescriptionHandle idh,
+ GWorldFlags flags);
+
+
+/*
+ * GetCSequenceDataRateParams()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCSequenceDataRateParams(
+ ImageSequence seqID,
+ DataRateParamsPtr params);
+
+
+/*
+ * GetCSequenceFrameNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetCSequenceFrameNumber(
+ ImageSequence seqID,
+ long * frameNumber);
+
+
+/*
+ * GetBestDeviceRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetBestDeviceRect(
+ GDHandle * gdh,
+ Rect * rp);
+
+
+/*
+ * SetSequenceProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetSequenceProgressProc(
+ ImageSequence seqID,
+ ICMProgressProcRecord * progressProc);
+
+
+/*
+ * GDHasScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GDHasScale(
+ GDHandle gdh,
+ short depth,
+ Fixed * scale);
+
+
+/*
+ * GDGetScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GDGetScale(
+ GDHandle gdh,
+ Fixed * scale,
+ short * flags);
+
+
+/*
+ * GDSetScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GDSetScale(
+ GDHandle gdh,
+ Fixed scale,
+ short flags);
+
+
+/*
+ * ICMShieldSequenceCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ICMShieldSequenceCursor(ImageSequence seqID);
+
+
+/*
+ * ICMDecompressComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ICMDecompressComplete(
+ ImageSequence seqID,
+ OSErr err,
+ short flag,
+ ICMCompletionProcRecordPtr completionRtn);
+
+
+/*
+ * ICMDecompressCompleteS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ICMDecompressCompleteS(
+ ImageSequence seqID,
+ OSErr err,
+ short flag,
+ ICMCompletionProcRecordPtr completionRtn);
+
+
+/*
+ * ICMSequenceLockBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ICMSequenceLockBits(
+ ImageSequence seqID,
+ PixMapPtr dst,
+ long flags);
+
+
+/*
+ * ICMSequenceUnlockBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ICMSequenceUnlockBits(
+ ImageSequence seqID,
+ long flags);
+
+
+enum {
+ kICMPixelFormatIsPlanarMask = 0x0F, /* these bits in formatFlags indicate how many planes there are; they're 0 if chunky*/
+ kICMPixelFormatIsIndexed = (1L << 4),
+ kICMPixelFormatIsSupportedByQD = (1L << 5),
+ kICMPixelFormatIsMonochrome = (1L << 6),
+ kICMPixelFormatHasAlphaChannel = (1L << 7)
+};
+
+struct ICMPixelFormatInfo {
+ long size; /* caller MUST fill this in with sizeof(ICMPixelFormatInfo) before calling ICMGet/SetPixelFormatInfo*/
+ unsigned long formatFlags;
+ short bitsPerPixel[14]; /* list each plane's bits per pixel separately if planar*/
+ /* new field for QuickTime 4.1*/
+ Fixed defaultGammaLevel;
+ /* new fields for QuickTime 6.0*/
+ short horizontalSubsampling[14]; /* per plane; use 1 if plane is not subsampled*/
+ short verticalSubsampling[14]; /* per plane; use 1 if plane is not subsampled*/
+ /* new fields for QuickTime 6.5*/
+ short cmpCount; /* for use in PixMap.cmpCount*/
+ short cmpSize; /* for use in PixMap.cmpSize*/
+};
+typedef struct ICMPixelFormatInfo ICMPixelFormatInfo;
+typedef ICMPixelFormatInfo * ICMPixelFormatInfoPtr;
+/* IMPORTANT: Fill in theInfo->size with sizeof(ICMPixelFormatInfo) before calling ICMGetPixelFormatInfo */
+/*
+ * ICMGetPixelFormatInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ICMGetPixelFormatInfo(
+ OSType PixelFormat,
+ ICMPixelFormatInfoPtr theInfo);
+
+
+/* IMPORTANT: Fill in theInfo->size with sizeof(ICMPixelFormatInfo) before calling ICMSetPixelFormatInfo */
+/*
+ * ICMSetPixelFormatInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ICMSetPixelFormatInfo(
+ OSType PixelFormat,
+ ICMPixelFormatInfoPtr theInfo);
+
+
+enum {
+ kICMGetChainUltimateParent = 0,
+ kICMGetChainParent = 1,
+ kICMGetChainChild = 2,
+ kICMGetChainUltimateChild = 3
+};
+
+/*
+ * ICMSequenceGetChainMember()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ICMSequenceGetChainMember(
+ ImageSequence seqID,
+ ImageSequence * retSeqID,
+ long flags);
+
+
+/*
+ * SetDSequenceTimeCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceTimeCode(
+ ImageSequence seqID,
+ void * timeCodeFormat,
+ void * timeCodeTime);
+
+
+/*
+ * CDSequenceNewMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceNewMemory(
+ ImageSequence seqID,
+ Ptr * data,
+ Size dataSize,
+ long dataUse,
+ ICMMemoryDisposedUPP memoryGoneProc,
+ void * refCon);
+
+
+/*
+ * CDSequenceDisposeMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceDisposeMemory(
+ ImageSequence seqID,
+ Ptr data);
+
+
+/*
+ * CDSequenceNewDataSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceNewDataSource(
+ ImageSequence seqID,
+ ImageSequenceDataSource * sourceID,
+ OSType sourceType,
+ long sourceInputNumber,
+ Handle dataDescription,
+ ICMConvertDataFormatUPP transferProc,
+ void * refCon);
+
+
+/*
+ * CDSequenceDisposeDataSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceDisposeDataSource(ImageSequenceDataSource sourceID);
+
+
+/*
+ * CDSequenceSetSourceData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceSetSourceData(
+ ImageSequenceDataSource sourceID,
+ void * data,
+ long dataSize);
+
+
+/*
+ * CDSequenceChangedSourceData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceChangedSourceData(ImageSequenceDataSource sourceID);
+
+
+/*
+ * CDSequenceSetSourceDataQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceSetSourceDataQueue(
+ ImageSequenceDataSource sourceID,
+ QHdrPtr dataQueue);
+
+
+/*
+ * CDSequenceGetDataSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceGetDataSource(
+ ImageSequence seqID,
+ ImageSequenceDataSource * sourceID,
+ OSType sourceType,
+ long sourceInputNumber);
+
+
+/*
+ * PtInDSequenceData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+PtInDSequenceData(
+ ImageSequence seqID,
+ void * data,
+ Size dataSize,
+ Point where,
+ Boolean * hit);
+
+
+/*
+ * HitTestDSequenceData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+HitTestDSequenceData(
+ ImageSequence seqID,
+ void * data,
+ Size dataSize,
+ Point where,
+ long * hit,
+ long hitFlags);
+
+
+/*
+ * SetDSequenceNonScheduledDisplayTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceNonScheduledDisplayTime(
+ ImageSequence sequence,
+ TimeValue64 displayTime,
+ TimeScale displayTimeScale,
+ UInt32 flags);
+
+
+/*
+ * GetDSequenceNonScheduledDisplayTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+GetDSequenceNonScheduledDisplayTime(
+ ImageSequence sequence,
+ TimeValue64 * displayTime,
+ TimeScale * displayTimeScale);
+
+
+/*
+ * SetDSequenceNonScheduledDisplayDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+SetDSequenceNonScheduledDisplayDirection(
+ ImageSequence sequence,
+ Fixed rate);
+
+
+/*
+ * GetDSequenceNonScheduledDisplayDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+GetDSequenceNonScheduledDisplayDirection(
+ ImageSequence sequence,
+ Fixed * rate);
+
+
+/*
+ * GetGraphicsImporterForFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetGraphicsImporterForFile(
+ const FSSpec * theFile,
+ ComponentInstance * gi);
+
+
+/*
+ * GetGraphicsImporterForDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetGraphicsImporterForDataRef(
+ Handle dataRef,
+ OSType dataRefType,
+ ComponentInstance * gi);
+
+
+enum {
+ kDontUseValidateToFindGraphicsImporter = 1L << 0
+};
+
+/*
+ * GetGraphicsImporterForFileWithFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetGraphicsImporterForFileWithFlags(
+ const FSSpec * theFile,
+ ComponentInstance * gi,
+ long flags);
+
+
+/*
+ * GetGraphicsImporterForDataRefWithFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetGraphicsImporterForDataRefWithFlags(
+ Handle dataRef,
+ OSType dataRefType,
+ ComponentInstance * gi,
+ long flags);
+
+
+/*
+ * QTGetFileNameExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetFileNameExtension(
+ ConstStrFileNameParam fileName,
+ OSType fileType,
+ OSType * extension);
+
+
+
+/*
+ * ImageTranscodeSequenceBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ImageTranscodeSequenceBegin(
+ ImageTranscodeSequence * its,
+ ImageDescriptionHandle srcDesc,
+ OSType destType,
+ ImageDescriptionHandle * dstDesc,
+ void * data,
+ long dataSize);
+
+
+/*
+ * ImageTranscodeSequenceEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ImageTranscodeSequenceEnd(ImageTranscodeSequence its);
+
+
+/*
+ * ImageTranscodeFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ImageTranscodeFrame(
+ ImageTranscodeSequence its,
+ void * srcData,
+ long srcDataSize,
+ void ** dstData,
+ long * dstDataSize);
+
+
+/*
+ * ImageTranscodeDisposeFrameData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ImageTranscodeDisposeFrameData(
+ ImageTranscodeSequence its,
+ void * dstData);
+
+
+/*
+ * CDSequenceInvalidate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceInvalidate(
+ ImageSequence seqID,
+ RgnHandle invalRgn);
+
+
+/*
+ * CDSequenceSetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CDSequenceSetTimeBase(
+ ImageSequence seqID,
+ void * base);
+
+
+/*
+ * ImageFieldSequenceBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ImageFieldSequenceBegin(
+ ImageFieldSequence * ifs,
+ ImageDescriptionHandle desc1,
+ ImageDescriptionHandle desc2,
+ ImageDescriptionHandle descOut);
+
+
+/*
+ * ImageFieldSequenceExtractCombine()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ImageFieldSequenceExtractCombine(
+ ImageFieldSequence ifs,
+ long fieldFlags,
+ void * data1,
+ long dataSize1,
+ void * data2,
+ long dataSize2,
+ void * outputData,
+ long * outDataSize);
+
+
+/*
+ * ImageFieldSequenceEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ImageFieldSequenceEnd(ImageFieldSequence ifs);
+
+
+enum {
+ kICMTempThenAppMemory = 1L << 12,
+ kICMAppThenTempMemory = 1L << 13
+};
+
+/*
+ * QTNewGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTNewGWorld(
+ GWorldPtr * offscreenGWorld,
+ OSType PixelFormat,
+ const Rect * boundsRect,
+ CTabHandle cTable,
+ GDHandle aGDevice,
+ GWorldFlags flags);
+
+
+/*
+ * QTNewGWorldFromPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+QTNewGWorldFromPtr(
+ GWorldPtr * gw,
+ OSType pixelFormat,
+ const Rect * boundsRect,
+ CTabHandle cTable,
+ GDHandle aGDevice,
+ GWorldFlags flags,
+ void * baseAddr,
+ long rowBytes);
+
+
+/*
+ * QTUpdateGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( GWorldFlags )
+QTUpdateGWorld(
+ GWorldPtr * offscreenGWorld,
+ OSType PixelFormat,
+ const Rect * boundsRect,
+ CTabHandle cTable,
+ GDHandle aGDevice,
+ GWorldFlags flags);
+
+
+/*
+ * MakeImageDescriptionForPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+MakeImageDescriptionForPixMap(
+ PixMapHandle pixmap,
+ ImageDescriptionHandle * idh);
+
+
+/*
+ * MakeImageDescriptionForEffect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+MakeImageDescriptionForEffect(
+ OSType effectType,
+ ImageDescriptionHandle * idh);
+
+
+/*
+ * QTGetPixelSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+QTGetPixelSize(OSType PixelFormat);
+
+
+/*
+ * QTGetPixelFormatDepthForImageDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( short )
+QTGetPixelFormatDepthForImageDescription(OSType PixelFormat);
+
+
+/*
+ * QTGetPixMapPtrRowBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( long )
+QTGetPixMapPtrRowBytes(PixMapPtr pm);
+
+
+/*
+ * QTGetPixMapHandleRowBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( long )
+QTGetPixMapHandleRowBytes(PixMapHandle pm);
+
+
+/*
+ * QTSetPixMapPtrRowBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetPixMapPtrRowBytes(
+ PixMapPtr pm,
+ long rowBytes);
+
+
+/*
+ * QTSetPixMapHandleRowBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetPixMapHandleRowBytes(
+ PixMapHandle pm,
+ long rowBytes);
+
+
+enum {
+ kQTUsePlatformDefaultGammaLevel = 0, /* When decompressing into this PixMap, gamma-correct to the platform's standard gamma. */
+ kQTUseSourceGammaLevel = -1L, /* When decompressing into this PixMap, don't perform gamma-correction. */
+ kQTCCIR601VideoGammaLevel = 0x00023333 /* 2.2, standard television video gamma.*/
+};
+
+/*
+ * QTGetPixMapPtrGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( Fixed )
+QTGetPixMapPtrGammaLevel(PixMapPtr pm);
+
+
+/*
+ * QTSetPixMapPtrGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetPixMapPtrGammaLevel(
+ PixMapPtr pm,
+ Fixed gammaLevel);
+
+
+/*
+ * QTGetPixMapHandleGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( Fixed )
+QTGetPixMapHandleGammaLevel(PixMapHandle pm);
+
+
+/*
+ * QTSetPixMapHandleGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetPixMapHandleGammaLevel(
+ PixMapHandle pm,
+ Fixed gammaLevel);
+
+
+/*
+ * QTGetPixMapPtrRequestedGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( Fixed )
+QTGetPixMapPtrRequestedGammaLevel(PixMapPtr pm);
+
+
+/*
+ * QTSetPixMapPtrRequestedGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetPixMapPtrRequestedGammaLevel(
+ PixMapPtr pm,
+ Fixed requestedGammaLevel);
+
+
+/*
+ * QTGetPixMapHandleRequestedGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( Fixed )
+QTGetPixMapHandleRequestedGammaLevel(PixMapHandle pm);
+
+
+/*
+ * QTSetPixMapHandleRequestedGammaLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetPixMapHandleRequestedGammaLevel(
+ PixMapHandle pm,
+ Fixed requestedGammaLevel);
+
+
+/*
+ * QuadToQuadMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+QuadToQuadMatrix(
+ const Fixed * source,
+ const Fixed * dest,
+ MatrixRecord * map);
+
+
+
+
+enum {
+ identityMatrixType = 0x00, /* result if matrix is identity */
+ translateMatrixType = 0x01, /* result if matrix translates */
+ scaleMatrixType = 0x02, /* result if matrix scales */
+ scaleTranslateMatrixType = 0x03, /* result if matrix scales and translates */
+ linearMatrixType = 0x04, /* result if matrix is general 2 x 2 */
+ linearTranslateMatrixType = 0x05, /* result if matrix is general 2 x 2 and translates */
+ perspectiveMatrixType = 0x06 /* result if matrix is general 3 x 3 */
+};
+
+typedef unsigned short MatrixFlags;
+/*
+ * GetMatrixType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+GetMatrixType(const MatrixRecord * m);
+
+
+/*
+ * CopyMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CopyMatrix(
+ const MatrixRecord * m1,
+ MatrixRecord * m2);
+
+
+/*
+ * EqualMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+EqualMatrix(
+ const MatrixRecord * m1,
+ const MatrixRecord * m2);
+
+
+/*
+ * SetIdentityMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetIdentityMatrix(MatrixRecord * matrix);
+
+
+/*
+ * TranslateMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+TranslateMatrix(
+ MatrixRecord * m,
+ Fixed deltaH,
+ Fixed deltaV);
+
+
+/*
+ * RotateMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+RotateMatrix(
+ MatrixRecord * m,
+ Fixed degrees,
+ Fixed aboutX,
+ Fixed aboutY);
+
+
+/*
+ * ScaleMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ScaleMatrix(
+ MatrixRecord * m,
+ Fixed scaleX,
+ Fixed scaleY,
+ Fixed aboutX,
+ Fixed aboutY);
+
+
+/*
+ * SkewMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SkewMatrix(
+ MatrixRecord * m,
+ Fixed skewX,
+ Fixed skewY,
+ Fixed aboutX,
+ Fixed aboutY);
+
+
+/*
+ * TransformFixedPoints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+TransformFixedPoints(
+ const MatrixRecord * m,
+ FixedPoint * fpt,
+ long count);
+
+
+/*
+ * TransformPoints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+TransformPoints(
+ const MatrixRecord * mp,
+ Point * pt1,
+ long count);
+
+
+/*
+ * TransformFixedRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+TransformFixedRect(
+ const MatrixRecord * m,
+ FixedRect * fr,
+ FixedPoint * fpp);
+
+
+/*
+ * TransformRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+TransformRect(
+ const MatrixRecord * m,
+ Rect * r,
+ FixedPoint * fpp);
+
+
+/*
+ * InverseMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+InverseMatrix(
+ const MatrixRecord * m,
+ MatrixRecord * im);
+
+
+/*
+ * ConcatMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ConcatMatrix(
+ const MatrixRecord * a,
+ MatrixRecord * b);
+
+
+/*
+ * RectMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+RectMatrix(
+ MatrixRecord * matrix,
+ const Rect * srcRect,
+ const Rect * dstRect);
+
+
+/*
+ * MapMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+MapMatrix(
+ MatrixRecord * matrix,
+ const Rect * fromRect,
+ const Rect * toRect);
+
+
+
+
+
+
+
+
+/*
+ * CompAdd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CompAdd(
+ wide * src,
+ wide * dst);
+
+
+/*
+ * CompSub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CompSub(
+ wide * src,
+ wide * dst);
+
+
+/*
+ * CompNeg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CompNeg(wide * dst);
+
+
+/*
+ * CompShift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CompShift(
+ wide * src,
+ short shift);
+
+
+/*
+ * CompMul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CompMul(
+ long src1,
+ long src2,
+ wide * dst);
+
+
+/*
+ * CompDiv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+CompDiv(
+ wide * numerator,
+ long denominator,
+ long * remainder);
+
+
+/*
+ * CompFixMul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CompFixMul(
+ wide * compSrc,
+ Fixed fixSrc,
+ wide * compDst);
+
+
+/*
+ * CompMulDiv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CompMulDiv(
+ wide * co,
+ long mul,
+ long divisor);
+
+
+/*
+ * CompMulDivTrunc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CompMulDivTrunc(
+ wide * co,
+ long mul,
+ long divisor,
+ long * remainder);
+
+
+/*
+ * CompCompare()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+CompCompare(
+ const wide * a,
+ const wide * minusb);
+
+
+/*
+ * CompSquareRoot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( unsigned long )
+CompSquareRoot(const wide * src);
+
+
+/*
+ * FixMulDiv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+FixMulDiv(
+ Fixed src,
+ Fixed mul,
+ Fixed divisor);
+
+
+/*
+ * UnsignedFixMulDiv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+UnsignedFixMulDiv(
+ Fixed src,
+ Fixed mul,
+ Fixed divisor);
+
+
+/*
+ * FracSinCos()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fract )
+FracSinCos(
+ Fixed degree,
+ Fract * cosOut);
+
+
+/*
+ * FixExp2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+FixExp2(Fixed src);
+
+
+/*
+ * FixLog2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+FixLog2(Fixed src);
+
+
+/*
+ * FixPow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+FixPow(
+ Fixed base,
+ Fixed exp);
+
+
+
+
+
+typedef ComponentInstance GraphicsImportComponent;
+enum {
+ GraphicsImporterComponentType = FOUR_CHAR_CODE('grip')
+};
+
+/* Component flags for Graphics Importer components */
+enum {
+ graphicsImporterIsBaseImporter = 1L << 0,
+ graphicsImporterCanValidateFile = 1L << 9,
+ graphicsImporterSubTypeIsFileExtension = 1L << 12,
+ graphicsImporterHasMIMEList = 1L << 14,
+ graphicsImporterUsesImageDecompressor = 1L << 23
+};
+
+/* Atom types for QuickTime Image files */
+enum {
+ quickTimeImageFileImageDescriptionAtom = FOUR_CHAR_CODE('idsc'),
+ quickTimeImageFileImageDataAtom = FOUR_CHAR_CODE('idat'),
+ quickTimeImageFileMetaDataAtom = FOUR_CHAR_CODE('meta'),
+ quickTimeImageFileColorSyncProfileAtom = FOUR_CHAR_CODE('iicc')
+};
+
+/* Flags for GraphicsImportDoesDrawAllPixels */
+enum {
+ graphicsImporterDrawsAllPixels = 0,
+ graphicsImporterDoesntDrawAllPixels = 1,
+ graphicsImporterDontKnowIfDrawAllPixels = 2
+};
+
+/* Flags for GraphicsImportSetFlags */
+enum {
+ kGraphicsImporterDontDoGammaCorrection = 1L << 0,
+ kGraphicsImporterTrustResolutionFromFile = 1L << 1,
+ kGraphicsImporterEnableSubPixelPositioning = 1L << 2,
+ kGraphicsImporterDontUseColorMatching = 1L << 3 /* set this flag (*before* calling GraphicsImportGetColorSyncProfile) if you do matching yourself */
+};
+
+/* Flags for GraphicsImportCreateCGImage */
+enum {
+ kGraphicsImportCreateCGImageUsingCurrentSettings = 1L << 0
+};
+
+enum {
+ kGraphicsExportGroup = FOUR_CHAR_CODE('expo'),
+ kGraphicsExportFileType = FOUR_CHAR_CODE('ftyp'),
+ kGraphicsExportMIMEType = FOUR_CHAR_CODE('mime'),
+ kGraphicsExportExtension = FOUR_CHAR_CODE('ext '),
+ kGraphicsExportDescription = FOUR_CHAR_CODE('desc')
+};
+
+/* User data types for layers of Photoshop files */
+enum {
+ kQTPhotoshopLayerMode = FOUR_CHAR_CODE('lmod'), /* OSType */
+ kQTPhotoshopLayerOpacity = FOUR_CHAR_CODE('lopa'), /* UInt8, 0 = transparent .. 255 = opaque */
+ kQTPhotoshopLayerClipping = FOUR_CHAR_CODE('lclp'), /* UInt8, 0 = base, 1 = non-base */
+ kQTPhotoshopLayerFlags = FOUR_CHAR_CODE('lflg'), /* UInt8 */
+ kQTPhotoshopLayerName = 0xA96C6E6D, /* Text */
+ kQTPhotoshopLayerUnicodeName = FOUR_CHAR_CODE('luni') /* Unicode characters, not terminated */
+};
+
+/* User data returned by graphics importers to suggest intended use for indexed images */
+enum {
+ kQTIndexedImageType = FOUR_CHAR_CODE('nth?'), /* 1 or more OSTypes, such as the following values: */
+ kQTIndexedImageIsThumbnail = FOUR_CHAR_CODE('n=th'), /* The image at this index is a thumbnail. */
+ kQTIndexedImageIsLayer = FOUR_CHAR_CODE('n=ly'), /* The image at this index is a layer. */
+ kQTIndexedImageIsPage = FOUR_CHAR_CODE('n=pg'), /* The image at this index is a page. */
+ kQTIndexedImageIsMultiResolution = FOUR_CHAR_CODE('n=rs') /* The image at this index is one of several identical images at different resolutions. */
+};
+
+/* Other user data types returned by graphics importers */
+enum {
+ kQTTIFFUserDataPrefix = 0x74690000, /* Added to some tag values in TIFF IFDs to generate user data codes. (0x7469 is 'ti'.) */
+ /* For example, YCbCrPositioning is tag 0x0213, so its user data code is 0x74690213. */
+ kQTTIFFExifUserDataPrefix = 0x65780000, /* Added to tag values in Exif IFDs to generate user data codes. (0x6578 is 'ex'.) */
+ /* For example, DateTimeOriginal is tag 0x9003, so its user data code is 0x65789003. */
+ kQTTIFFExifGPSUserDataPrefix = 0x67700000, /* Added to tag values in Exif GPS IFDs to generate user data codes. (0x6770 is 'gp'.) */
+ /* For example, GPSAltitude is tag 0x0006, so its user data code is 0x6770006. */
+ kQTAlphaMode = FOUR_CHAR_CODE('almo'), /* UInt32; eg, graphicsModeStraightAlpha or graphicsModePreBlackAlpha */
+ kQTAlphaModePreMulColor = FOUR_CHAR_CODE('almp'), /* RGBColor; used if kQTAlphaMode is graphicsModePreMulColorAlpha */
+ kUserDataIPTC = FOUR_CHAR_CODE('iptc')
+};
+
+/* Found in TIFF and Exif JPEG files */
+enum {
+ kQTTIFFUserDataOrientation = 0x74690112, /* 1 SHORT */
+ kQTTIFFUserDataTransferFunction = 0x7469012D, /* n SHORTs */
+ kQTTIFFUserDataWhitePoint = 0x7469013E, /* 2 RATIONALs */
+ kQTTIFFUserDataPrimaryChromaticities = 0x7469013F, /* 6 RATIONALs */
+ kQTTIFFUserDataTransferRange = 0x74690156, /* 6 SHORTs */
+ kQTTIFFUserDataYCbCrPositioning = 0x74690213, /* 1 SHORT */
+ kQTTIFFUserDataReferenceBlackWhite = 0x74690214 /* n LONGs */
+};
+
+/* Found in GeoTIFF files; defined in the GeoTIFF 1.0 spec */
+enum {
+ kQTTIFFUserDataModelPixelScale = 0x7469830E, /* 3 DOUBLEs */
+ kQTTIFFUserDataModelTransformation = 0x746985D8, /* 16 DOUBLEs */
+ kQTTIFFUserDataModelTiepoint = 0x74698482, /* n DOUBLEs */
+ kQTTIFFUserDataGeoKeyDirectory = 0x746987AF, /* n SHORTs */
+ kQTTIFFUserDataGeoDoubleParams = 0x746987B0, /* n DOUBLEs */
+ kQTTIFFUserDataGeoAsciiParams = 0x746987B1, /* n ASCIIs */
+ kQTTIFFUserDataIntergraphMatrix = 0x74698480 /* 16 or 17 DOUBLEs */
+};
+
+/* Found in Exif TIFF and Exif JPEG files; defined in the Exif 2.1 spec */
+enum {
+ kQTExifUserDataExifVersion = 0x65789000, /* 4 bytes (import only) */
+ kQTExifUserDataFlashPixVersion = 0x6578A000, /* 4 bytes */
+ kQTExifUserDataColorSpace = 0x6578A001, /* 1 SHORT */
+ kQTExifUserDataComponentsConfiguration = 0x65789101, /* 4 bytes */
+ kQTExifUserDataCompressedBitsPerPixel = 0x65789102, /* 1 RATIONAL */
+ kQTExifUserDataPixelXDimension = 0x6578A002, /* 1 SHORT or LONG */
+ kQTExifUserDataPixelYDimension = 0x6578A003, /* 1 SHORT or LONG */
+ kQTExifUserDataMakerNote = 0x6578927C, /* n bytes */
+ kQTExifUserDataUserComment = 0x65789286, /* n bytes (Note: this constant was erroneously 0x6578928C)*/
+ kQTExifUserDataRelatedSoundFile = 0x6578A004, /* 13 ASCIIs*/
+ kQTExifUserDataDateTimeOriginal = 0x65789003, /* 20 ASCIIs */
+ kQTExifUserDataDateTimeDigitized = 0x65789004, /* 20 ASCIIs */
+ kQTExifUserDataSubSecTime = 0x65789290, /* n ASCIIs */
+ kQTExifUserDataSubSecTimeOriginal = 0x65789291, /* n ASCIIs */
+ kQTExifUserDataSubSecTimeDigitized = 0x65789292, /* n ASCIIs */
+ kQTExifUserDataExposureTime = 0x6578829A, /* 1 RATIONAL */
+ kQTExifUserDataFNumber = 0x6578829D, /* 1 RATIONAL */
+ kQTExifUserDataExposureProgram = 0x65788822, /* 1 SHORT */
+ kQTExifUserDataSpectralSensitivity = 0x65788824, /* n ASCIIs */
+ kQTExifUserDataISOSpeedRatings = 0x65788827, /* n SHORTs */
+ kQTExifUserDataShutterSpeedValue = 0x65789201, /* 1 SIGNED RATIONAL */
+ kQTExifUserDataApertureValue = 0x65789202, /* 1 RATIONAL */
+ kQTExifUserDataBrightnessValue = 0x65789203, /* 1 SIGNED RATIONAL */
+ kQTExifUserDataExposureBiasValue = 0x65789204, /* 1 SIGNED RATIONAL */
+ kQTExifUserDataMaxApertureValue = 0x65789205, /* 1 RATIONAL */
+ kQTExifUserDataSubjectDistance = 0x65789206, /* 1 RATIONAL */
+ kQTExifUserDataMeteringMode = 0x65789207, /* 1 SHORT */
+ kQTExifUserDataLightSource = 0x65789208, /* 1 SHORT */
+ kQTExifUserDataFlash = 0x65789209, /* 1 SHORT */
+ kQTExifUserDataFocalLength = 0x6578920A, /* 1 RATIONAL */
+ kQTExifUserDataFlashEnergy = 0x6578A20B, /* 1 RATIONAL */
+ kQTExifUserDataFocalPlaneXResolution = 0x6578A20E, /* 1 RATIONAL */
+ kQTExifUserDataFocalPlaneYResolution = 0x6578A20F, /* 1 RATIONAL */
+ kQTExifUserDataFocalPlaneResolutionUnit = 0x6578A210, /* 1 SHORT */
+ kQTExifUserDataSubjectLocation = 0x6578A214, /* 1 SHORT */
+ kQTExifUserDataExposureIndex = 0x6578A215, /* 1 RATIONAL */
+ kQTExifUserDataSensingMethod = 0x6578A217, /* 1 SHORT */
+ kQTExifUserDataFileSource = 0x6578A300, /* 1 UNDEFINED */
+ kQTExifUserDataSceneType = 0x6578A301 /* 1 UNDEFINED */
+};
+
+/* Found in some Exif TIFF and Exif JPEG files; defined in the Exif 2.1 spec */
+/* Note: these were wrong in the QuickTime 6.0 headers -- the high two bytes were 0x677 instead of 0x6770. */
+enum {
+ kQTExifUserDataGPSVersionID = 0x67700000, /* 4 BYTEs */
+ kQTExifUserDataGPSLatitudeRef = 0x67700001, /* 2 ASCIIs*/
+ kQTExifUserDataGPSLatitude = 0x67700002, /* 3 RATIONALs */
+ kQTExifUserDataGPSLongitudeRef = 0x67700003, /* 2 ASCIIs */
+ kQTExifUserDataGPSLongitude = 0x67700004, /* 3 RATIONALs */
+ kQTExifUserDataGPSAltitudeRef = 0x67700005, /* 1 BYTE */
+ kQTExifUserDataGPSAltitude = 0x67700006, /* 1 RATIONAL */
+ kQTExifUserDataGPSTimeStamp = 0x67700007, /* 3 RATIONALs */
+ kQTExifUserDataGPSSatellites = 0x67700008, /* n ASCIIs */
+ kQTExifUserDataGPSStatus = 0x67700009, /* 2 ASCIIs */
+ kQTExifUserDataGPSMeasureMode = 0x6770000A, /* 2 ASCIIs */
+ kQTExifUserDataGPSDOP = 0x6770000B, /* 1 RATIONAL */
+ kQTExifUserDataGPSSpeedRef = 0x6770000C, /* 2 ASCIIs */
+ kQTExifUserDataGPSSpeed = 0x6770000D, /* 1 RATIONAL */
+ kQTExifUserDataGPSTrackRef = 0x6770000E, /* 2 ASCIIs */
+ kQTExifUserDataGPSTrack = 0x6770000F, /* 1 RATIONAL */
+ kQTExifUserDataGPSImgDirectionRef = 0x67700010, /* 2 ASCIIs */
+ kQTExifUserDataGPSImgDirection = 0x67700011, /* 1 RATIONAL */
+ kQTExifUserDataGPSMapDatum = 0x67700012, /* n ASCII */
+ kQTExifUserDataGPSDestLatitudeRef = 0x67700013, /* 2 ASCIIs */
+ kQTExifUserDataGPSDestLatitude = 0x67700014, /* 3 RATIONALs */
+ kQTExifUserDataGPSDestLongitudeRef = 0x67700015, /* 2 ASCIIs */
+ kQTExifUserDataGPSDestLongitude = 0x67700016, /* 3 RATIONALs */
+ kQTExifUserDataGPSDestBearingRef = 0x67700017, /* 2 ASCIIs */
+ kQTExifUserDataGPSDestBearing = 0x67700018, /* 1 RATIONAL */
+ kQTExifUserDataGPSDestDistanceRef = 0x67700019, /* 2 ASCIIs */
+ kQTExifUserDataGPSDestDistance = 0x6770001A /* 1 RATIONAL */
+};
+
+
+/** These are GraphicsImport procedures **/
+/*
+ * GraphicsImportSetDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetDataReference(
+ GraphicsImportComponent ci,
+ Handle dataRef,
+ OSType dataReType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDataReference(
+ GraphicsImportComponent ci,
+ Handle * dataRef,
+ OSType * dataReType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetDataFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetDataFile(
+ GraphicsImportComponent ci,
+ const FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDataFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDataFile(
+ GraphicsImportComponent ci,
+ FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetDataHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetDataHandle(
+ GraphicsImportComponent ci,
+ Handle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDataHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDataHandle(
+ GraphicsImportComponent ci,
+ Handle * h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetImageDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetImageDescription(
+ GraphicsImportComponent ci,
+ ImageDescriptionHandle * desc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDataOffsetAndSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDataOffsetAndSize(
+ GraphicsImportComponent ci,
+ unsigned long * offset,
+ unsigned long * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportReadData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportReadData(
+ GraphicsImportComponent ci,
+ void * dataPtr,
+ unsigned long dataOffset,
+ unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetClip(
+ GraphicsImportComponent ci,
+ RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetClip(
+ GraphicsImportComponent ci,
+ RgnHandle * clipRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetSourceRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetSourceRect(
+ GraphicsImportComponent ci,
+ const Rect * sourceRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetSourceRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetSourceRect(
+ GraphicsImportComponent ci,
+ Rect * sourceRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetNaturalBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetNaturalBounds(
+ GraphicsImportComponent ci,
+ Rect * naturalBounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportDraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportDraw(GraphicsImportComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetGWorld(
+ GraphicsImportComponent ci,
+ CGrafPtr port,
+ GDHandle gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetGWorld(
+ GraphicsImportComponent ci,
+ CGrafPtr * port,
+ GDHandle * gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetMatrix(
+ GraphicsImportComponent ci,
+ const MatrixRecord * matrix) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetMatrix(
+ GraphicsImportComponent ci,
+ MatrixRecord * matrix) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetBoundsRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetBoundsRect(
+ GraphicsImportComponent ci,
+ const Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetBoundsRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetBoundsRect(
+ GraphicsImportComponent ci,
+ Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSaveAsPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSaveAsPicture(
+ GraphicsImportComponent ci,
+ const FSSpec * fss,
+ ScriptCode scriptTag) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetGraphicsMode(
+ GraphicsImportComponent ci,
+ long graphicsMode,
+ const RGBColor * opColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetGraphicsMode(
+ GraphicsImportComponent ci,
+ long * graphicsMode,
+ RGBColor * opColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetQuality(
+ GraphicsImportComponent ci,
+ CodecQ quality) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetQuality(
+ GraphicsImportComponent ci,
+ CodecQ * quality) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSaveAsQuickTimeImageFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSaveAsQuickTimeImageFile(
+ GraphicsImportComponent ci,
+ const FSSpec * fss,
+ ScriptCode scriptTag) FIVEWORDINLINE(0x2F3C, 0x0006, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetDataReferenceOffsetAndLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetDataReferenceOffsetAndLimit(
+ GraphicsImportComponent ci,
+ unsigned long offset,
+ unsigned long limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001C, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDataReferenceOffsetAndLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDataReferenceOffsetAndLimit(
+ GraphicsImportComponent ci,
+ unsigned long * offset,
+ unsigned long * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetAliasedDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetAliasedDataReference(
+ GraphicsImportComponent ci,
+ Handle * dataRef,
+ OSType * dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportValidate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportValidate(
+ GraphicsImportComponent ci,
+ Boolean * valid) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetMetaData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetMetaData(
+ GraphicsImportComponent ci,
+ void * userData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetMIMETypeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetMIMETypeList(
+ GraphicsImportComponent ci,
+ void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportDoesDrawAllPixels()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportDoesDrawAllPixels(
+ GraphicsImportComponent ci,
+ short * drawsAllPixels) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetAsPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetAsPicture(
+ GraphicsImportComponent ci,
+ PicHandle * picture) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0023, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportExportImageFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportExportImageFile(
+ GraphicsImportComponent ci,
+ OSType fileType,
+ OSType fileCreator,
+ const FSSpec * fss,
+ ScriptCode scriptTag) FIVEWORDINLINE(0x2F3C, 0x000E, 0x0024, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetExportImageTypeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetExportImageTypeList(
+ GraphicsImportComponent ci,
+ void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportDoExportImageFileDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportDoExportImageFileDialog(
+ GraphicsImportComponent ci,
+ const FSSpec * inDefaultSpec,
+ StringPtr prompt,
+ ModalFilterYDUPP filterProc,
+ OSType * outExportedType,
+ FSSpec * outExportedSpec,
+ ScriptCode * outScriptTag) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0026, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetExportSettingsAsAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetExportSettingsAsAtomContainer(
+ GraphicsImportComponent ci,
+ void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetExportSettingsFromAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetExportSettingsFromAtomContainer(
+ GraphicsImportComponent ci,
+ void * qtAtomContainer) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetProgressProc(
+ GraphicsImportComponent ci,
+ ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0029, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetProgressProc(
+ GraphicsImportComponent ci,
+ ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetImageCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetImageCount(
+ GraphicsImportComponent ci,
+ unsigned long * imageCount) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetImageIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetImageIndex(
+ GraphicsImportComponent ci,
+ unsigned long imageIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetImageIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetImageIndex(
+ GraphicsImportComponent ci,
+ unsigned long * imageIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002D, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDataOffsetAndSize64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDataOffsetAndSize64(
+ GraphicsImportComponent ci,
+ wide * offset,
+ wide * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportReadData64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportReadData64(
+ GraphicsImportComponent ci,
+ void * dataPtr,
+ const wide * dataOffset,
+ unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002F, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetDataReferenceOffsetAndLimit64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetDataReferenceOffsetAndLimit64(
+ GraphicsImportComponent ci,
+ const wide * offset,
+ const wide * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0030, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDataReferenceOffsetAndLimit64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDataReferenceOffsetAndLimit64(
+ GraphicsImportComponent ci,
+ wide * offset,
+ wide * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDefaultMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDefaultMatrix(
+ GraphicsImportComponent ci,
+ MatrixRecord * defaultMatrix) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0032, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDefaultClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDefaultClip(
+ GraphicsImportComponent ci,
+ RgnHandle * defaultRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDefaultGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDefaultGraphicsMode(
+ GraphicsImportComponent ci,
+ long * defaultGraphicsMode,
+ RGBColor * defaultOpColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDefaultSourceRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDefaultSourceRect(
+ GraphicsImportComponent ci,
+ Rect * defaultSourceRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetColorSyncProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetColorSyncProfile(
+ GraphicsImportComponent ci,
+ Handle * profile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0036, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetDestRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetDestRect(
+ GraphicsImportComponent ci,
+ const Rect * destRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0037, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDestRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDestRect(
+ GraphicsImportComponent ci,
+ Rect * destRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0038, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetFlags(
+ GraphicsImportComponent ci,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0039, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetFlags(
+ GraphicsImportComponent ci,
+ long * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003A, 0x7000, 0xA82A);
+
+
+/* 2 private selectors */
+/*
+ * GraphicsImportGetBaseDataOffsetAndSize64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in qtmlClient.lib 5.0.2 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetBaseDataOffsetAndSize64(
+ GraphicsImportComponent ci,
+ wide * offset,
+ wide * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003D, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSetImageIndexToThumbnail()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetImageIndexToThumbnail(GraphicsImportComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x003E, 0x7000, 0xA82A);
#if TARGET_API_MAC_OSX
- /*
- * GraphicsImportCreateCGImage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportCreateCGImage(
- GraphicsImportComponent ci,
- CGImageRef * imageRefOut,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003F, 0x7000, 0xA82A);
+/*
+ * GraphicsImportCreateCGImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportCreateCGImage(
+ GraphicsImportComponent ci,
+ CGImageRef * imageRefOut,
+ UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003F, 0x7000, 0xA82A);
#endif /* TARGET_API_MAC_OSX */
- /*
- * GraphicsImportSaveAsPictureToDataRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSaveAsPictureToDataRef(
- GraphicsImportComponent ci,
- Handle dataRef,
- OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0040, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportSaveAsQuickTimeImageFileToDataRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSaveAsQuickTimeImageFileToDataRef(
- GraphicsImportComponent ci,
- Handle dataRef,
- OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0041, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportExportImageFileToDataRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportExportImageFileToDataRef(
- GraphicsImportComponent ci,
- OSType fileType,
- OSType fileCreator,
- Handle dataRef,
- OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0042, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportDoExportImageFileToDataRefDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportDoExportImageFileToDataRefDialog(
- GraphicsImportComponent ci,
- Handle inDataRef,
- OSType inDataRefType,
- CFStringRef prompt,
- ModalFilterYDUPP filterProc,
- OSType * outExportedType,
- Handle * outDataRef,
- OSType * outDataRefType) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0043, 0x7000, 0xA82A);
+/*
+ * GraphicsImportSaveAsPictureToDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSaveAsPictureToDataRef(
+ GraphicsImportComponent ci,
+ Handle dataRef,
+ OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0040, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportSaveAsQuickTimeImageFileToDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSaveAsQuickTimeImageFileToDataRef(
+ GraphicsImportComponent ci,
+ Handle dataRef,
+ OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0041, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportExportImageFileToDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportExportImageFileToDataRef(
+ GraphicsImportComponent ci,
+ OSType fileType,
+ OSType fileCreator,
+ Handle dataRef,
+ OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0042, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportDoExportImageFileToDataRefDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportDoExportImageFileToDataRefDialog(
+ GraphicsImportComponent ci,
+ Handle inDataRef,
+ OSType inDataRefType,
+ CFStringRef prompt,
+ ModalFilterYDUPP filterProc,
+ OSType * outExportedType,
+ Handle * outDataRef,
+ OSType * outDataRefType) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0043, 0x7000, 0xA82A);
#if TARGET_API_MAC_OSX
- /* NOTE: If the source override ColorSync profile is NULL, then the image's ColorSync profile may be used if available, otherwise a generic ColorSync profile may be used. */
- /*
- * GraphicsImportSetOverrideSourceColorSyncProfileRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetOverrideSourceColorSyncProfileRef(
- GraphicsImportComponent ci,
- CMProfileRef newOverrideSourceProfileRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0044, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetOverrideSourceColorSyncProfileRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetOverrideSourceColorSyncProfileRef(
- GraphicsImportComponent ci,
- CMProfileRef * outOverrideSourceProfileRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0045, 0x7000, 0xA82A);
-
-
- /* NOTE: If the destination ColorSync profile is NULL, then a generic ColorSync profile may be used. */
- /*
- * GraphicsImportSetDestinationColorSyncProfileRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetDestinationColorSyncProfileRef(
- GraphicsImportComponent ci,
- CMProfileRef newDestinationProfileRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0046, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImportGetDestinationColorSyncProfileRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetDestinationColorSyncProfileRef(
- GraphicsImportComponent ci,
- CMProfileRef * destinationProfileRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
+/* NOTE: If the source override ColorSync profile is NULL, then the image's ColorSync profile may be used if available, otherwise a generic ColorSync profile may be used. */
+/*
+ * GraphicsImportSetOverrideSourceColorSyncProfileRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetOverrideSourceColorSyncProfileRef(
+ GraphicsImportComponent ci,
+ CMProfileRef newOverrideSourceProfileRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0044, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetOverrideSourceColorSyncProfileRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetOverrideSourceColorSyncProfileRef(
+ GraphicsImportComponent ci,
+ CMProfileRef * outOverrideSourceProfileRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0045, 0x7000, 0xA82A);
+
+
+/* NOTE: If the destination ColorSync profile is NULL, then a generic ColorSync profile may be used. */
+/*
+ * GraphicsImportSetDestinationColorSyncProfileRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetDestinationColorSyncProfileRef(
+ GraphicsImportComponent ci,
+ CMProfileRef newDestinationProfileRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0046, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImportGetDestinationColorSyncProfileRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetDestinationColorSyncProfileRef(
+ GraphicsImportComponent ci,
+ CMProfileRef * destinationProfileRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
#endif /* TARGET_API_MAC_OSX */
- /*
- * GraphicsImportWillUseColorMatching()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportWillUseColorMatching(
- GraphicsImportComponent ci,
- Boolean * outWillMatch) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
+/*
+ * GraphicsImportWillUseColorMatching()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportWillUseColorMatching(
+ GraphicsImportComponent ci,
+ Boolean * outWillMatch) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
#if TARGET_API_MAC_OSX
- /* This convenience API is implemented by the base graphics importer for format-specific importers. */
- /*
- * GraphicsImportGetGenericColorSyncProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetGenericColorSyncProfile(
- GraphicsImportComponent ci,
- OSType pixelFormat,
- void * reservedSetToNULL,
- UInt32 flags,
- Handle * genericColorSyncProfileOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0049, 0x7000, 0xA82A);
+/* This convenience API is implemented by the base graphics importer for format-specific importers. */
+/*
+ * GraphicsImportGetGenericColorSyncProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetGenericColorSyncProfile(
+ GraphicsImportComponent ci,
+ OSType pixelFormat,
+ void * reservedSetToNULL,
+ UInt32 flags,
+ Handle * genericColorSyncProfileOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0049, 0x7000, 0xA82A);
#endif /* TARGET_API_MAC_OSX */
- /* Format-specific importers that implement GetColorSyncProfile and that want the base graphics
- importer to automatically support ColorSync matching should:
- (a) implement GraphicsImportSetReturnGenericColorSyncProfile; when it is called, set an internal flag
- (b) change GraphicsImportGetColorSyncProfile so that, if this internal flag is set,
- when the source image file contains a profile
- and the kGraphicsImporterDontUseColorMatching flag is NOT set,
- it returns a generic profile of the appropriate colorspace instead.
- Other importers should *not* implement GraphicsImportSetReturnGenericColorSyncProfile. */
- /* WARNING: Applications should not call this API; it is internal graphics importer plumbing.
- Set kGraphicsImporterDontUseColorMatching instead. */
- /*
- * GraphicsImportSetReturnGenericColorSyncProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportSetReturnGenericColorSyncProfile(
- GraphicsImportComponent ci,
- Boolean returnGenericProfilesUnlessDontMatchFlagSet) FIVEWORDINLINE(0x2F3C, 0x0002, 0x004A, 0x7000, 0xA82A);
-
-
- /* WARNING: Applications should not call this API; it is internal graphics importer plumbing. */
- /*
- * GraphicsImportGetReturnGenericColorSyncProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImportGetReturnGenericColorSyncProfile(
- GraphicsImportComponent ci,
- Boolean * returnGenericProfilesUnlessDontMatchFlagSet) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004B, 0x7000, 0xA82A);
-
-
-
-
- typedef ComponentInstance GraphicsExportComponent;
- enum
- {
- GraphicsExporterComponentType = FOUR_CHAR_CODE('grex'),
- kBaseGraphicsExporterSubType = FOUR_CHAR_CODE('base')
- };
-
- /* Component flags for Graphics Exporter components */
- enum
- {
- graphicsExporterIsBaseExporter = 1L << 0,
- graphicsExporterCanTranscode = 1L << 1,
- graphicsExporterUsesImageCompressor = 1L << 2
- };
-
- struct QTResolutionSettings
- {
- Fixed horizontalResolution;
- Fixed verticalResolution;
- };
- typedef struct QTResolutionSettings QTResolutionSettings;
- struct QTTargetDataSize
- {
- unsigned long targetDataSize;
- };
- typedef struct QTTargetDataSize QTTargetDataSize;
- struct QTThumbnailSettings
- {
- long enableThumbnail; /* a thoroughly padded Boolean*/
- long maxThumbnailWidth; /* set to zero to let someone else decide*/
- long maxThumbnailHeight; /* set to zero to let someone else decide*/
- };
- typedef struct QTThumbnailSettings QTThumbnailSettings;
- enum
- {
- kQTResolutionSettings = FOUR_CHAR_CODE('reso'),
- kQTTargetDataSize = FOUR_CHAR_CODE('dasz'),
- kQTDontRecompress = FOUR_CHAR_CODE('dntr'),
- kQTInterlaceStyle = FOUR_CHAR_CODE('ilac'),
- kQTColorSyncProfile = FOUR_CHAR_CODE('iccp'),
- kQTThumbnailSettings = FOUR_CHAR_CODE('thum'),
- kQTEnableExif = FOUR_CHAR_CODE('exif'), /* UInt8 (boolean)*/
- kQTMetaData = FOUR_CHAR_CODE('meta')
- };
-
- enum
- {
- kQTTIFFCompressionMethod = FOUR_CHAR_CODE('tifc'), /* UInt32*/
- kQTTIFFCompression_None = 1,
- kQTTIFFCompression_PackBits = 32773L,
- kQTTIFFLittleEndian = FOUR_CHAR_CODE('tife') /* UInt8 (boolean)*/
- };
-
- enum
- {
- kQTPNGFilterPreference = FOUR_CHAR_CODE('pngf'), /* UInt32*/
- kQTPNGFilterBestForColorType = FOUR_CHAR_CODE('bflt'),
- kQTPNGFilterNone = 0,
- kQTPNGFilterSub = 1,
- kQTPNGFilterUp = 2,
- kQTPNGFilterAverage = 3,
- kQTPNGFilterPaeth = 4,
- kQTPNGFilterAdaptivePerRow = FOUR_CHAR_CODE('aflt'),
- kQTPNGInterlaceStyle = FOUR_CHAR_CODE('ilac'), /* UInt32*/
- kQTPNGInterlaceNone = 0,
- kQTPNGInterlaceAdam7 = 1
- };
-
- enum
- {
- kQTJPEGQuantizationTables = FOUR_CHAR_CODE('jpqt'),
- kQTJPEGHuffmanTables = FOUR_CHAR_CODE('jpht')
- };
-
-
- /** These are GraphicsExport procedures **/
- /* To use: set the input and output (and other settings as desired) and call GEDoExport. */
- /*
- * GraphicsExportDoExport()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportDoExport(
- GraphicsExportComponent ci,
- unsigned long * actualSizeWritten) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /* Used for internal communication between the base and format-specific graphics exporter: */
- /*
- * GraphicsExportCanTranscode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportCanTranscode(
- GraphicsExportComponent ci,
- Boolean * canTranscode) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportDoTranscode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportDoTranscode(GraphicsExportComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportCanUseCompressor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportCanUseCompressor(
- GraphicsExportComponent ci,
- Boolean * canUseCompressor,
- void * codecSettingsAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportDoUseCompressor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportDoUseCompressor(
- GraphicsExportComponent ci,
- void * codecSettingsAtomContainer,
- ImageDescriptionHandle * outDesc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportDoStandaloneExport()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportDoStandaloneExport(GraphicsExportComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
-
-
- /* Queries applications can make of a format-specific graphics exporter: */
- /*
- * GraphicsExportGetDefaultFileTypeAndCreator()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetDefaultFileTypeAndCreator(
- GraphicsExportComponent ci,
- OSType * fileType,
- OSType * fileCreator) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetDefaultFileNameExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetDefaultFileNameExtension(
- GraphicsExportComponent ci,
- OSType * fileNameExtension) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetMIMETypeList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetMIMETypeList(
- GraphicsExportComponent ci,
- void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
-
-
- /* (1 unused selector) */
- /* Graphics exporter settings: */
- /*
- * GraphicsExportRequestSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportRequestSettings(
- GraphicsExportComponent ci,
- ModalFilterYDUPP filterProc,
- void * yourDataProc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetSettingsFromAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetSettingsFromAtomContainer(
- GraphicsExportComponent ci,
- void * qtAtomContainer) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetSettingsAsAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetSettingsAsAtomContainer(
- GraphicsExportComponent ci,
- void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetSettingsAsText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetSettingsAsText(
- GraphicsExportComponent ci,
- Handle * theText) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
-
-
- /* Graphics exporters may implement some or none of the following: */
- /*
- * GraphicsExportSetDontRecompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetDontRecompress(
- GraphicsExportComponent ci,
- Boolean dontRecompress) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetDontRecompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetDontRecompress(
- GraphicsExportComponent ci,
- Boolean * dontRecompress) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInterlaceStyle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInterlaceStyle(
- GraphicsExportComponent ci,
- unsigned long interlaceStyle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInterlaceStyle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInterlaceStyle(
- GraphicsExportComponent ci,
- unsigned long * interlaceStyle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetMetaData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetMetaData(
- GraphicsExportComponent ci,
- void * userData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetMetaData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetMetaData(
- GraphicsExportComponent ci,
- void * userData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetTargetDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetTargetDataSize(
- GraphicsExportComponent ci,
- unsigned long targetDataSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetTargetDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetTargetDataSize(
- GraphicsExportComponent ci,
- unsigned long * targetDataSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetCompressionMethod()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetCompressionMethod(
- GraphicsExportComponent ci,
- long compressionMethod) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetCompressionMethod()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetCompressionMethod(
- GraphicsExportComponent ci,
- long * compressionMethod) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetCompressionQuality()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetCompressionQuality(
- GraphicsExportComponent ci,
- CodecQ spatialQuality) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetCompressionQuality()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetCompressionQuality(
- GraphicsExportComponent ci,
- CodecQ * spatialQuality) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetResolution()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetResolution(
- GraphicsExportComponent ci,
- Fixed horizontalResolution,
- Fixed verticalResolution) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetResolution()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetResolution(
- GraphicsExportComponent ci,
- Fixed * horizontalResolution,
- Fixed * verticalResolution) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001C, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetDepth()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetDepth(
- GraphicsExportComponent ci,
- long depth) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetDepth()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetDepth(
- GraphicsExportComponent ci,
- long * depth) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
-
-
- /* (2 unused selectors) */
- /*
- * GraphicsExportSetColorSyncProfile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetColorSyncProfile(
- GraphicsExportComponent ci,
- Handle colorSyncProfile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetColorSyncProfile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetColorSyncProfile(
- GraphicsExportComponent ci,
- Handle * colorSyncProfile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
-
-
- /* Always implemented by the base graphics exporter: */
- /*
- * GraphicsExportSetProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetProgressProc(
- GraphicsExportComponent ci,
- ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0023, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetProgressProc(
- GraphicsExportComponent ci,
- ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0024, 0x7000, 0xA82A);
-
-
- /* Sources for the input image: */
- /*
- * GraphicsExportSetInputDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputDataReference(
- GraphicsExportComponent ci,
- Handle dataRef,
- OSType dataRefType,
- ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0025, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputDataReference(
- GraphicsExportComponent ci,
- Handle * dataRef,
- OSType * dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0026, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInputFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputFile(
- GraphicsExportComponent ci,
- const FSSpec * theFile,
- ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0027, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputFile(
- GraphicsExportComponent ci,
- FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInputHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputHandle(
- GraphicsExportComponent ci,
- Handle h,
- ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputHandle(
- GraphicsExportComponent ci,
- Handle * h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInputPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputPtr(
- GraphicsExportComponent ci,
- Ptr p,
- unsigned long size,
- ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputPtr(
- GraphicsExportComponent ci,
- Ptr * p,
- unsigned long * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInputGraphicsImporter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputGraphicsImporter(
- GraphicsExportComponent ci,
- GraphicsImportComponent grip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002D, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputGraphicsImporter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputGraphicsImporter(
- GraphicsExportComponent ci,
- GraphicsImportComponent * grip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002E, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInputPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputPicture(
- GraphicsExportComponent ci,
- PicHandle picture) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002F, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputPicture(
- GraphicsExportComponent ci,
- PicHandle * picture) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInputGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputGWorld(
- GraphicsExportComponent ci,
- GWorldPtr gworld) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0031, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputGWorld(
- GraphicsExportComponent ci,
- GWorldPtr * gworld) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0032, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInputPixmap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputPixmap(
- GraphicsExportComponent ci,
- PixMapHandle pixmap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputPixmap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputPixmap(
- GraphicsExportComponent ci,
- PixMapHandle * pixmap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0034, 0x7000, 0xA82A);
-
-
- /* Only applicable when the input is a data reference, file, handle or ptr: */
- /*
- * GraphicsExportSetInputOffsetAndLimit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputOffsetAndLimit(
- GraphicsExportComponent ci,
- unsigned long offset,
- unsigned long limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0035, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputOffsetAndLimit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputOffsetAndLimit(
- GraphicsExportComponent ci,
- unsigned long * offset,
- unsigned long * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
-
-
- /* Used by format-specific graphics exporters when transcoding: */
- /*
- * GraphicsExportMayExporterReadInputData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportMayExporterReadInputData(
- GraphicsExportComponent ci,
- Boolean * mayReadInputData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0037, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputDataSize(
- GraphicsExportComponent ci,
- unsigned long * size) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0038, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportReadInputData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportReadInputData(
- GraphicsExportComponent ci,
- void * dataPtr,
- unsigned long dataOffset,
- unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0039, 0x7000, 0xA82A);
-
-
- /* Used by format-specific graphics exporters, especially when doing standalone export: */
- /*
- * GraphicsExportGetInputImageDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputImageDescription(
- GraphicsExportComponent ci,
- ImageDescriptionHandle * desc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003A, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputImageDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputImageDimensions(
- GraphicsExportComponent ci,
- Rect * dimensions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003B, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputImageDepth()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputImageDepth(
- GraphicsExportComponent ci,
- long * inputDepth) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003C, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportDrawInputImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportDrawInputImage(
- GraphicsExportComponent ci,
- CGrafPtr gw,
- GDHandle gd,
- const Rect * srcRect,
- const Rect * dstRect) FIVEWORDINLINE(0x2F3C, 0x0010, 0x003D, 0x7000, 0xA82A);
-
-
- /* Destinations for the output image: */
- /*
- * GraphicsExportSetOutputDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetOutputDataReference(
- GraphicsExportComponent ci,
- Handle dataRef,
- OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003E, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetOutputDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetOutputDataReference(
- GraphicsExportComponent ci,
- Handle * dataRef,
- OSType * dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003F, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetOutputFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetOutputFile(
- GraphicsExportComponent ci,
- const FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0040, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetOutputFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetOutputFile(
- GraphicsExportComponent ci,
- FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0041, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetOutputHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetOutputHandle(
- GraphicsExportComponent ci,
- Handle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0042, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetOutputHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetOutputHandle(
- GraphicsExportComponent ci,
- Handle * h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0043, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetOutputOffsetAndMaxSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetOutputOffsetAndMaxSize(
- GraphicsExportComponent ci,
- unsigned long offset,
- unsigned long maxSize,
- Boolean truncateFile) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0044, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetOutputOffsetAndMaxSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetOutputOffsetAndMaxSize(
- GraphicsExportComponent ci,
- unsigned long * offset,
- unsigned long * maxSize,
- Boolean * truncateFile) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0045, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetOutputFileTypeAndCreator()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetOutputFileTypeAndCreator(
- GraphicsExportComponent ci,
- OSType fileType,
- OSType fileCreator) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0046, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetOutputFileTypeAndCreator()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetOutputFileTypeAndCreator(
- GraphicsExportComponent ci,
- OSType * fileType,
- OSType * fileCreator) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0047, 0x7000, 0xA82A);
-
-
- /* Used by format-specific graphics exporters: */
- /*
- * GraphicsExportWriteOutputData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportWriteOutputData(
- GraphicsExportComponent ci,
- const void * dataPtr,
- unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0048, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetOutputMark()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetOutputMark(
- GraphicsExportComponent ci,
- unsigned long mark) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0049, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetOutputMark()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetOutputMark(
- GraphicsExportComponent ci,
- unsigned long * mark) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004A, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportReadOutputData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportReadOutputData(
- GraphicsExportComponent ci,
- void * dataPtr,
- unsigned long dataOffset,
- unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004B, 0x7000, 0xA82A);
-
-
- /* Allows embedded thumbnail creation, if supported. */
- /*
- * GraphicsExportSetThumbnailEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetThumbnailEnabled(
- GraphicsExportComponent ci,
- Boolean enableThumbnail,
- long maxThumbnailWidth,
- long maxThumbnailHeight) FIVEWORDINLINE(0x2F3C, 0x000A, 0x004C, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetThumbnailEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetThumbnailEnabled(
- GraphicsExportComponent ci,
- Boolean * thumbnailEnabled,
- long * maxThumbnailWidth,
- long * maxThumbnailHeight) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004D, 0x7000, 0xA82A);
-
-
- /* Allows export of Exif files, if supported. This disables Exif-incompatible settings such as grayscale JPEG and compressed TIFF, and enables export of Exif metadata. */
- /*
- * GraphicsExportSetExifEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetExifEnabled(
- GraphicsExportComponent ci,
- Boolean enableExif) FIVEWORDINLINE(0x2F3C, 0x0002, 0x004E, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetExifEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetExifEnabled(
- GraphicsExportComponent ci,
- Boolean * exifEnabled) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004F, 0x7000, 0xA82A);
+/* Format-specific importers that implement GetColorSyncProfile and that want the base graphics
+ importer to automatically support ColorSync matching should:
+ (a) implement GraphicsImportSetReturnGenericColorSyncProfile; when it is called, set an internal flag
+ (b) change GraphicsImportGetColorSyncProfile so that, if this internal flag is set,
+ when the source image file contains a profile
+ and the kGraphicsImporterDontUseColorMatching flag is NOT set,
+ it returns a generic profile of the appropriate colorspace instead.
+ Other importers should *not* implement GraphicsImportSetReturnGenericColorSyncProfile. */
+/* WARNING: Applications should not call this API; it is internal graphics importer plumbing.
+ Set kGraphicsImporterDontUseColorMatching instead. */
+/*
+ * GraphicsImportSetReturnGenericColorSyncProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportSetReturnGenericColorSyncProfile(
+ GraphicsImportComponent ci,
+ Boolean returnGenericProfilesUnlessDontMatchFlagSet) FIVEWORDINLINE(0x2F3C, 0x0002, 0x004A, 0x7000, 0xA82A);
+
+
+/* WARNING: Applications should not call this API; it is internal graphics importer plumbing. */
+/*
+ * GraphicsImportGetReturnGenericColorSyncProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImportGetReturnGenericColorSyncProfile(
+ GraphicsImportComponent ci,
+ Boolean * returnGenericProfilesUnlessDontMatchFlagSet) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004B, 0x7000, 0xA82A);
+
+
+
+
+typedef ComponentInstance GraphicsExportComponent;
+enum {
+ GraphicsExporterComponentType = FOUR_CHAR_CODE('grex'),
+ kBaseGraphicsExporterSubType = FOUR_CHAR_CODE('base')
+};
+
+/* Component flags for Graphics Exporter components */
+enum {
+ graphicsExporterIsBaseExporter = 1L << 0,
+ graphicsExporterCanTranscode = 1L << 1,
+ graphicsExporterUsesImageCompressor = 1L << 2
+};
+
+struct QTResolutionSettings {
+ Fixed horizontalResolution;
+ Fixed verticalResolution;
+};
+typedef struct QTResolutionSettings QTResolutionSettings;
+struct QTTargetDataSize {
+ unsigned long targetDataSize;
+};
+typedef struct QTTargetDataSize QTTargetDataSize;
+struct QTThumbnailSettings {
+ long enableThumbnail; /* a thoroughly padded Boolean*/
+ long maxThumbnailWidth; /* set to zero to let someone else decide*/
+ long maxThumbnailHeight; /* set to zero to let someone else decide*/
+};
+typedef struct QTThumbnailSettings QTThumbnailSettings;
+enum {
+ kQTResolutionSettings = FOUR_CHAR_CODE('reso'),
+ kQTTargetDataSize = FOUR_CHAR_CODE('dasz'),
+ kQTDontRecompress = FOUR_CHAR_CODE('dntr'),
+ kQTInterlaceStyle = FOUR_CHAR_CODE('ilac'),
+ kQTColorSyncProfile = FOUR_CHAR_CODE('iccp'),
+ kQTThumbnailSettings = FOUR_CHAR_CODE('thum'),
+ kQTEnableExif = FOUR_CHAR_CODE('exif'), /* UInt8 (boolean)*/
+ kQTMetaData = FOUR_CHAR_CODE('meta')
+};
+
+enum {
+ kQTTIFFCompressionMethod = FOUR_CHAR_CODE('tifc'), /* UInt32*/
+ kQTTIFFCompression_None = 1,
+ kQTTIFFCompression_PackBits = 32773L,
+ kQTTIFFLittleEndian = FOUR_CHAR_CODE('tife') /* UInt8 (boolean)*/
+};
+
+enum {
+ kQTPNGFilterPreference = FOUR_CHAR_CODE('pngf'), /* UInt32*/
+ kQTPNGFilterBestForColorType = FOUR_CHAR_CODE('bflt'),
+ kQTPNGFilterNone = 0,
+ kQTPNGFilterSub = 1,
+ kQTPNGFilterUp = 2,
+ kQTPNGFilterAverage = 3,
+ kQTPNGFilterPaeth = 4,
+ kQTPNGFilterAdaptivePerRow = FOUR_CHAR_CODE('aflt'),
+ kQTPNGInterlaceStyle = FOUR_CHAR_CODE('ilac'), /* UInt32*/
+ kQTPNGInterlaceNone = 0,
+ kQTPNGInterlaceAdam7 = 1
+};
+
+enum {
+ kQTJPEGQuantizationTables = FOUR_CHAR_CODE('jpqt'),
+ kQTJPEGHuffmanTables = FOUR_CHAR_CODE('jpht')
+};
+
+
+/** These are GraphicsExport procedures **/
+/* To use: set the input and output (and other settings as desired) and call GEDoExport. */
+/*
+ * GraphicsExportDoExport()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportDoExport(
+ GraphicsExportComponent ci,
+ unsigned long * actualSizeWritten) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/* Used for internal communication between the base and format-specific graphics exporter: */
+/*
+ * GraphicsExportCanTranscode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportCanTranscode(
+ GraphicsExportComponent ci,
+ Boolean * canTranscode) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportDoTranscode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportDoTranscode(GraphicsExportComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportCanUseCompressor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportCanUseCompressor(
+ GraphicsExportComponent ci,
+ Boolean * canUseCompressor,
+ void * codecSettingsAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportDoUseCompressor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportDoUseCompressor(
+ GraphicsExportComponent ci,
+ void * codecSettingsAtomContainer,
+ ImageDescriptionHandle * outDesc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportDoStandaloneExport()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportDoStandaloneExport(GraphicsExportComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
+
+
+/* Queries applications can make of a format-specific graphics exporter: */
+/*
+ * GraphicsExportGetDefaultFileTypeAndCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetDefaultFileTypeAndCreator(
+ GraphicsExportComponent ci,
+ OSType * fileType,
+ OSType * fileCreator) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetDefaultFileNameExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetDefaultFileNameExtension(
+ GraphicsExportComponent ci,
+ OSType * fileNameExtension) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetMIMETypeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetMIMETypeList(
+ GraphicsExportComponent ci,
+ void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
+
+
+/* (1 unused selector) */
+/* Graphics exporter settings: */
+/*
+ * GraphicsExportRequestSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportRequestSettings(
+ GraphicsExportComponent ci,
+ ModalFilterYDUPP filterProc,
+ void * yourDataProc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetSettingsFromAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetSettingsFromAtomContainer(
+ GraphicsExportComponent ci,
+ void * qtAtomContainer) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetSettingsAsAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetSettingsAsAtomContainer(
+ GraphicsExportComponent ci,
+ void * qtAtomContainerPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetSettingsAsText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetSettingsAsText(
+ GraphicsExportComponent ci,
+ Handle * theText) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
+
+
+/* Graphics exporters may implement some or none of the following: */
+/*
+ * GraphicsExportSetDontRecompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetDontRecompress(
+ GraphicsExportComponent ci,
+ Boolean dontRecompress) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetDontRecompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetDontRecompress(
+ GraphicsExportComponent ci,
+ Boolean * dontRecompress) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInterlaceStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInterlaceStyle(
+ GraphicsExportComponent ci,
+ unsigned long interlaceStyle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInterlaceStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInterlaceStyle(
+ GraphicsExportComponent ci,
+ unsigned long * interlaceStyle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetMetaData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetMetaData(
+ GraphicsExportComponent ci,
+ void * userData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetMetaData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetMetaData(
+ GraphicsExportComponent ci,
+ void * userData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetTargetDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetTargetDataSize(
+ GraphicsExportComponent ci,
+ unsigned long targetDataSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetTargetDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetTargetDataSize(
+ GraphicsExportComponent ci,
+ unsigned long * targetDataSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetCompressionMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetCompressionMethod(
+ GraphicsExportComponent ci,
+ long compressionMethod) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetCompressionMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetCompressionMethod(
+ GraphicsExportComponent ci,
+ long * compressionMethod) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetCompressionQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetCompressionQuality(
+ GraphicsExportComponent ci,
+ CodecQ spatialQuality) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetCompressionQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetCompressionQuality(
+ GraphicsExportComponent ci,
+ CodecQ * spatialQuality) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetResolution(
+ GraphicsExportComponent ci,
+ Fixed horizontalResolution,
+ Fixed verticalResolution) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetResolution(
+ GraphicsExportComponent ci,
+ Fixed * horizontalResolution,
+ Fixed * verticalResolution) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001C, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetDepth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetDepth(
+ GraphicsExportComponent ci,
+ long depth) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetDepth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetDepth(
+ GraphicsExportComponent ci,
+ long * depth) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
+
+
+/* (2 unused selectors) */
+/*
+ * GraphicsExportSetColorSyncProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetColorSyncProfile(
+ GraphicsExportComponent ci,
+ Handle colorSyncProfile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetColorSyncProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetColorSyncProfile(
+ GraphicsExportComponent ci,
+ Handle * colorSyncProfile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
+
+
+/* Always implemented by the base graphics exporter: */
+/*
+ * GraphicsExportSetProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetProgressProc(
+ GraphicsExportComponent ci,
+ ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0023, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetProgressProc(
+ GraphicsExportComponent ci,
+ ICMProgressProcRecordPtr progressProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0024, 0x7000, 0xA82A);
+
+
+/* Sources for the input image: */
+/*
+ * GraphicsExportSetInputDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputDataReference(
+ GraphicsExportComponent ci,
+ Handle dataRef,
+ OSType dataRefType,
+ ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0025, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputDataReference(
+ GraphicsExportComponent ci,
+ Handle * dataRef,
+ OSType * dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0026, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInputFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputFile(
+ GraphicsExportComponent ci,
+ const FSSpec * theFile,
+ ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0027, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputFile(
+ GraphicsExportComponent ci,
+ FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInputHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputHandle(
+ GraphicsExportComponent ci,
+ Handle h,
+ ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputHandle(
+ GraphicsExportComponent ci,
+ Handle * h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInputPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputPtr(
+ GraphicsExportComponent ci,
+ Ptr p,
+ unsigned long size,
+ ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputPtr(
+ GraphicsExportComponent ci,
+ Ptr * p,
+ unsigned long * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInputGraphicsImporter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputGraphicsImporter(
+ GraphicsExportComponent ci,
+ GraphicsImportComponent grip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002D, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputGraphicsImporter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputGraphicsImporter(
+ GraphicsExportComponent ci,
+ GraphicsImportComponent * grip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002E, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInputPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputPicture(
+ GraphicsExportComponent ci,
+ PicHandle picture) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002F, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputPicture(
+ GraphicsExportComponent ci,
+ PicHandle * picture) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInputGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputGWorld(
+ GraphicsExportComponent ci,
+ GWorldPtr gworld) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0031, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputGWorld(
+ GraphicsExportComponent ci,
+ GWorldPtr * gworld) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0032, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInputPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputPixmap(
+ GraphicsExportComponent ci,
+ PixMapHandle pixmap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputPixmap(
+ GraphicsExportComponent ci,
+ PixMapHandle * pixmap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0034, 0x7000, 0xA82A);
+
+
+/* Only applicable when the input is a data reference, file, handle or ptr: */
+/*
+ * GraphicsExportSetInputOffsetAndLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputOffsetAndLimit(
+ GraphicsExportComponent ci,
+ unsigned long offset,
+ unsigned long limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0035, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputOffsetAndLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputOffsetAndLimit(
+ GraphicsExportComponent ci,
+ unsigned long * offset,
+ unsigned long * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
+
+
+/* Used by format-specific graphics exporters when transcoding: */
+/*
+ * GraphicsExportMayExporterReadInputData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportMayExporterReadInputData(
+ GraphicsExportComponent ci,
+ Boolean * mayReadInputData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0037, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputDataSize(
+ GraphicsExportComponent ci,
+ unsigned long * size) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0038, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportReadInputData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportReadInputData(
+ GraphicsExportComponent ci,
+ void * dataPtr,
+ unsigned long dataOffset,
+ unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0039, 0x7000, 0xA82A);
+
+
+/* Used by format-specific graphics exporters, especially when doing standalone export: */
+/*
+ * GraphicsExportGetInputImageDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputImageDescription(
+ GraphicsExportComponent ci,
+ ImageDescriptionHandle * desc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003A, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputImageDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputImageDimensions(
+ GraphicsExportComponent ci,
+ Rect * dimensions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003B, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputImageDepth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputImageDepth(
+ GraphicsExportComponent ci,
+ long * inputDepth) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003C, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportDrawInputImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportDrawInputImage(
+ GraphicsExportComponent ci,
+ CGrafPtr gw,
+ GDHandle gd,
+ const Rect * srcRect,
+ const Rect * dstRect) FIVEWORDINLINE(0x2F3C, 0x0010, 0x003D, 0x7000, 0xA82A);
+
+
+/* Destinations for the output image: */
+/*
+ * GraphicsExportSetOutputDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetOutputDataReference(
+ GraphicsExportComponent ci,
+ Handle dataRef,
+ OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003E, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetOutputDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetOutputDataReference(
+ GraphicsExportComponent ci,
+ Handle * dataRef,
+ OSType * dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003F, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetOutputFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetOutputFile(
+ GraphicsExportComponent ci,
+ const FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0040, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetOutputFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetOutputFile(
+ GraphicsExportComponent ci,
+ FSSpec * theFile) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0041, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetOutputHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetOutputHandle(
+ GraphicsExportComponent ci,
+ Handle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0042, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetOutputHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetOutputHandle(
+ GraphicsExportComponent ci,
+ Handle * h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0043, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetOutputOffsetAndMaxSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetOutputOffsetAndMaxSize(
+ GraphicsExportComponent ci,
+ unsigned long offset,
+ unsigned long maxSize,
+ Boolean truncateFile) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0044, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetOutputOffsetAndMaxSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetOutputOffsetAndMaxSize(
+ GraphicsExportComponent ci,
+ unsigned long * offset,
+ unsigned long * maxSize,
+ Boolean * truncateFile) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0045, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetOutputFileTypeAndCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetOutputFileTypeAndCreator(
+ GraphicsExportComponent ci,
+ OSType fileType,
+ OSType fileCreator) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0046, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetOutputFileTypeAndCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetOutputFileTypeAndCreator(
+ GraphicsExportComponent ci,
+ OSType * fileType,
+ OSType * fileCreator) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0047, 0x7000, 0xA82A);
+
+
+/* Used by format-specific graphics exporters: */
+/*
+ * GraphicsExportWriteOutputData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportWriteOutputData(
+ GraphicsExportComponent ci,
+ const void * dataPtr,
+ unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0048, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetOutputMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetOutputMark(
+ GraphicsExportComponent ci,
+ unsigned long mark) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0049, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetOutputMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetOutputMark(
+ GraphicsExportComponent ci,
+ unsigned long * mark) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004A, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportReadOutputData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportReadOutputData(
+ GraphicsExportComponent ci,
+ void * dataPtr,
+ unsigned long dataOffset,
+ unsigned long dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004B, 0x7000, 0xA82A);
+
+
+/* Allows embedded thumbnail creation, if supported. */
+/*
+ * GraphicsExportSetThumbnailEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in qtmlClient.lib 5.0.2 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetThumbnailEnabled(
+ GraphicsExportComponent ci,
+ Boolean enableThumbnail,
+ long maxThumbnailWidth,
+ long maxThumbnailHeight) FIVEWORDINLINE(0x2F3C, 0x000A, 0x004C, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetThumbnailEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in qtmlClient.lib 5.0.2 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetThumbnailEnabled(
+ GraphicsExportComponent ci,
+ Boolean * thumbnailEnabled,
+ long * maxThumbnailWidth,
+ long * maxThumbnailHeight) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004D, 0x7000, 0xA82A);
+
+
+/* Allows export of Exif files, if supported. This disables Exif-incompatible settings such as grayscale JPEG and compressed TIFF, and enables export of Exif metadata. */
+/*
+ * GraphicsExportSetExifEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in qtmlClient.lib 5.0.2 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetExifEnabled(
+ GraphicsExportComponent ci,
+ Boolean enableExif) FIVEWORDINLINE(0x2F3C, 0x0002, 0x004E, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetExifEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in qtmlClient.lib 5.0.2 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetExifEnabled(
+ GraphicsExportComponent ci,
+ Boolean * exifEnabled) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004F, 0x7000, 0xA82A);
#if TARGET_API_MAC_OSX
- /*
- * GraphicsExportSetInputCGImage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputCGImage(
- GraphicsExportComponent ci,
- CGImageRef imageRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0050, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputCGImage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputCGImage(
- GraphicsExportComponent ci,
- CGImageRef * imageRefOut) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0051, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportSetInputCGBitmapContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetInputCGBitmapContext(
- GraphicsExportComponent ci,
- CGContextRef bitmapContextRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0052, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetInputCGBitmapContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetInputCGBitmapContext(
- GraphicsExportComponent ci,
- CGContextRef * bitmapContextRefOut) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0053, 0x7000, 0xA82A);
+/*
+ * GraphicsExportSetInputCGImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputCGImage(
+ GraphicsExportComponent ci,
+ CGImageRef imageRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0050, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputCGImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputCGImage(
+ GraphicsExportComponent ci,
+ CGImageRef * imageRefOut) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0051, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportSetInputCGBitmapContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetInputCGBitmapContext(
+ GraphicsExportComponent ci,
+ CGContextRef bitmapContextRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0052, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetInputCGBitmapContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetInputCGBitmapContext(
+ GraphicsExportComponent ci,
+ CGContextRef * bitmapContextRefOut) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0053, 0x7000, 0xA82A);
#endif /* TARGET_API_MAC_OSX */
- /*
- * GraphicsExportSetFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportSetFlags(
- GraphicsExportComponent ci,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0054, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsExportGetFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- GraphicsExportGetFlags(
- GraphicsExportComponent ci,
- UInt32 * flagsOut) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0055, 0x7000, 0xA82A);
-
-
-
-
- typedef ComponentInstance ImageTranscoderComponent;
- enum
- {
- ImageTranscodererComponentType = FOUR_CHAR_CODE('imtc')
- };
-
-
- /** These are ImageTranscoder procedures **/
- /*
- * ImageTranscoderBeginSequence()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageTranscoderBeginSequence(
- ImageTranscoderComponent itc,
- ImageDescriptionHandle srcDesc,
- ImageDescriptionHandle * dstDesc,
- void * data,
- long dataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * ImageTranscoderConvert()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageTranscoderConvert(
- ImageTranscoderComponent itc,
- void * srcData,
- long srcDataSize,
- void ** dstData,
- long * dstDataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * ImageTranscoderDisposeData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageTranscoderDisposeData(
- ImageTranscoderComponent itc,
- void * dstData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * ImageTranscoderEndSequence()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ImageTranscoderEndSequence(ImageTranscoderComponent itc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
+/*
+ * GraphicsExportSetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportSetFlags(
+ GraphicsExportComponent ci,
+ UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0054, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsExportGetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsExportGetFlags(
+ GraphicsExportComponent ci,
+ UInt32 * flagsOut) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0055, 0x7000, 0xA82A);
+
+
+
+
+typedef ComponentInstance ImageTranscoderComponent;
+enum {
+ ImageTranscodererComponentType = FOUR_CHAR_CODE('imtc')
+};
+
+
+/** These are ImageTranscoder procedures **/
+/*
+ * ImageTranscoderBeginSequence()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageTranscoderBeginSequence(
+ ImageTranscoderComponent itc,
+ ImageDescriptionHandle srcDesc,
+ ImageDescriptionHandle * dstDesc,
+ void * data,
+ long dataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * ImageTranscoderConvert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageTranscoderConvert(
+ ImageTranscoderComponent itc,
+ void * srcData,
+ long srcDataSize,
+ void ** dstData,
+ long * dstDataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * ImageTranscoderDisposeData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageTranscoderDisposeData(
+ ImageTranscoderComponent itc,
+ void * dstData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * ImageTranscoderEndSequence()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ImageTranscoderEndSequence(ImageTranscoderComponent itc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
@@ -7229,5535 +7068,5482 @@ extern "C" {
- /* MixedMode ProcInfo constants for component property calls */
- enum
- {
- uppCallComponentGetComponentPropertyInfoProcInfo = 0x0003FFF0,
- uppCallComponentGetComponentPropertyProcInfo = 0x0003FFF0,
- uppCallComponentSetComponentPropertyProcInfo = 0x0000FFF0,
- uppCallComponentAddComponentPropertyListenerProcInfo = 0x0000FFF0,
- uppCallComponentRemoveComponentPropertyListenerProcInfo = 0x0000FFF0
- };
-
-
-
- /* == CallComponentGetComponentPropertyInfo flags == */
- enum
- {
- kComponentPropertyFlagCanSetLater = (1L << 0),
- kComponentPropertyFlagCanSetNow = (1L << 1),
- kComponentPropertyFlagCanGetLater = (1L << 2),
- kComponentPropertyFlagCanGetNow = (1L << 3),
- kComponentPropertyFlagHasExtendedInfo = (1L << 4),
- kComponentPropertyFlagValueMustBeReleased = (1L << 5),
- kComponentPropertyFlagValueIsCFTypeRef = (1L << 6),
- kComponentPropertyFlagGetBufferMustBeInitialized = (1L << 7),
- kComponentPropertyFlagWillNotifyListeners = (1L << 8)
- };
-
-
- typedef OSType ComponentPropertyClass;
- typedef OSType ComponentPropertyID;
- typedef OSType ComponentValueType;
- typedef void * ComponentValuePtr;
- typedef const void * ConstComponentValuePtr;
-
- /* == standard property class constants == */
- enum
- {
- kComponentPropertyClassPropertyInfo = FOUR_CHAR_CODE('pnfo'), /* property info class */
- /* property info property IDs */
- kComponentPropertyInfoList = FOUR_CHAR_CODE('list'), /* array of ComponentPropertyInfo (CFData), one for each property */
- kComponentPropertyCacheSeed = FOUR_CHAR_CODE('seed'), /* property cache seed value */
- kComponentPropertyCacheFlags = FOUR_CHAR_CODE('flgs'), /* see kComponentPropertyCache flags */
- kComponentPropertyExtendedInfo = FOUR_CHAR_CODE('meta') /* CFDictionary with extended property information*/
- };
-
-
- /* values for kComponentPropertyClassPropertyInfo/kComponentPropertyCacheFlags standard component property */
- enum
- {
- kComponentPropertyCacheFlagNotPersistent = (1L << 0), /* property metadata should not be saved in persistent cache*/
- kComponentPropertyCacheFlagIsDynamic = (1L << 1) /* property metadata should not cached at all*/
- };
-
-
- struct ComponentPropertyInfo
- {
- ComponentPropertyClass propClass;
- ComponentPropertyID propID;
- ComponentValueType propType;
- ByteCount propSize;
- UInt32 propFlags;
- };
- typedef struct ComponentPropertyInfo ComponentPropertyInfo;
-
-
-#endif /* #MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED */
-
-
-
- /* == "QT" prefixed Component Property calls == */
-
- typedef CALLBACK_API(void , QTComponentPropertyListenerProcPtr)(ComponentInstance inComponent, ComponentPropertyClass inPropClass, ComponentPropertyID inPropID, void *inUserData);
- typedef STACK_UPP_TYPE(QTComponentPropertyListenerProcPtr) QTComponentPropertyListenerUPP;
-
-
-
-
- /*
- * QTGetComponentPropertyInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- QTGetComponentPropertyInfo(
- ComponentInstance inComponent,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ComponentValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags) /* can be NULL */ FIVEWORDINLINE(0x2F3C, 0x0014, 0xFFF5, 0x7000, 0xA82A);
-
-
- /*
- * QTGetComponentProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- QTGetComponentProperty(
- ComponentInstance inComponent,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ComponentValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed) /* can be NULL */ FIVEWORDINLINE(0x2F3C, 0x0014, 0xFFF4, 0x7000, 0xA82A);
-
-
- /*
- * QTSetComponentProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- QTSetComponentProperty(
- ComponentInstance inComponent,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstComponentValuePtr inPropValueAddress) FIVEWORDINLINE(0x2F3C, 0x0010, 0xFFF3, 0x7000, 0xA82A);
-
-
-
- /*
- * QTAddComponentPropertyListener()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- QTAddComponentPropertyListener(
- ComponentInstance inComponent,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- QTComponentPropertyListenerUPP inDispatchProc,
- void * inUserData) /* can be NULL */ FIVEWORDINLINE(0x2F3C, 0x0010, 0xFFF2, 0x7000, 0xA82A);
-
-
- /*
- * QTRemoveComponentPropertyListener()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- QTRemoveComponentPropertyListener(
- ComponentInstance inComponent,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- QTComponentPropertyListenerUPP inDispatchProc,
- void * inUserData) /* can be NULL */ FIVEWORDINLINE(0x2F3C, 0x0010, 0xFFF1, 0x7000, 0xA82A);
-
-
-
-
- /* == "QT" prefixed Component Property Listener helpers == */
-
-
- typedef CFTypeRef QTComponentPropertyListenersRef;
- typedef struct QTComponentPropertyListenerCollectionContext QTComponentPropertyListenerCollectionContext;
- typedef CALLBACK_API(Boolean , QTComponentPropertyListenerFilterProcPtr)(QTComponentPropertyListenersRef inCollection, const QTComponentPropertyListenerCollectionContext *inCollectionContext, ComponentInstance inNotifier, ComponentPropertyClass inPropClass, ComponentPropertyID inPropID, QTComponentPropertyListenerUPP inListenerCallbackProc, const void *inListenerProcRefCon, const void *inFilterProcRefCon);
- typedef STACK_UPP_TYPE(QTComponentPropertyListenerFilterProcPtr) QTComponentPropertyListenerFilterUPP;
+/* MixedMode ProcInfo constants for component property calls */
+enum {
+ uppCallComponentGetComponentPropertyInfoProcInfo = 0x0003FFF0,
+ uppCallComponentGetComponentPropertyProcInfo = 0x0003FFF0,
+ uppCallComponentSetComponentPropertyProcInfo = 0x0000FFF0,
+ uppCallComponentAddComponentPropertyListenerProcInfo = 0x0000FFF0,
+ uppCallComponentRemoveComponentPropertyListenerProcInfo = 0x0000FFF0
+};
+
+
+
+/* == CallComponentGetComponentPropertyInfo flags == */
+enum {
+ kComponentPropertyFlagCanSetLater = (1L << 0),
+ kComponentPropertyFlagCanSetNow = (1L << 1),
+ kComponentPropertyFlagCanGetLater = (1L << 2),
+ kComponentPropertyFlagCanGetNow = (1L << 3),
+ kComponentPropertyFlagHasExtendedInfo = (1L << 4),
+ kComponentPropertyFlagValueMustBeReleased = (1L << 5),
+ kComponentPropertyFlagValueIsCFTypeRef = (1L << 6),
+ kComponentPropertyFlagGetBufferMustBeInitialized = (1L << 7),
+ kComponentPropertyFlagWillNotifyListeners = (1L << 8)
+};
+
+
+typedef OSType ComponentPropertyClass;
+typedef OSType ComponentPropertyID;
+typedef OSType ComponentValueType;
+typedef void * ComponentValuePtr;
+typedef const void * ConstComponentValuePtr;
+
+/* == standard property class constants == */
+enum {
+ kComponentPropertyClassPropertyInfo = FOUR_CHAR_CODE('pnfo'), /* property info class */
+ /* property info property IDs */
+ kComponentPropertyInfoList = FOUR_CHAR_CODE('list'), /* array of ComponentPropertyInfo (CFData), one for each property */
+ kComponentPropertyCacheSeed = FOUR_CHAR_CODE('seed'), /* property cache seed value */
+ kComponentPropertyCacheFlags = FOUR_CHAR_CODE('flgs'), /* see kComponentPropertyCache flags */
+ kComponentPropertyExtendedInfo = FOUR_CHAR_CODE('meta') /* CFDictionary with extended property information*/
+};
+
+
+/* values for kComponentPropertyClassPropertyInfo/kComponentPropertyCacheFlags standard component property */
+enum {
+ kComponentPropertyCacheFlagNotPersistent = (1L << 0), /* property metadata should not be saved in persistent cache*/
+ kComponentPropertyCacheFlagIsDynamic = (1L << 1) /* property metadata should not cached at all*/
+};
+
+
+struct ComponentPropertyInfo {
+ ComponentPropertyClass propClass;
+ ComponentPropertyID propID;
+ ComponentValueType propType;
+ ByteCount propSize;
+ UInt32 propFlags;
+};
+typedef struct ComponentPropertyInfo ComponentPropertyInfo;
+
+
+#endif /* #MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED */
+
+
+
+/* == "QT" prefixed Component Property calls == */
+
+typedef CALLBACK_API( void , QTComponentPropertyListenerProcPtr )(ComponentInstance inComponent, ComponentPropertyClass inPropClass, ComponentPropertyID inPropID, void *inUserData);
+typedef STACK_UPP_TYPE(QTComponentPropertyListenerProcPtr) QTComponentPropertyListenerUPP;
+
+
+
+
+/*
+ * QTGetComponentPropertyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+QTGetComponentPropertyInfo(
+ ComponentInstance inComponent,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ComponentValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags) /* can be NULL */ FIVEWORDINLINE(0x2F3C, 0x0014, 0xFFF5, 0x7000, 0xA82A);
+
+
+/*
+ * QTGetComponentProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+QTGetComponentProperty(
+ ComponentInstance inComponent,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ComponentValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed) /* can be NULL */ FIVEWORDINLINE(0x2F3C, 0x0014, 0xFFF4, 0x7000, 0xA82A);
+
+
+/*
+ * QTSetComponentProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+QTSetComponentProperty(
+ ComponentInstance inComponent,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstComponentValuePtr inPropValueAddress) FIVEWORDINLINE(0x2F3C, 0x0010, 0xFFF3, 0x7000, 0xA82A);
+
+
+
+/*
+ * QTAddComponentPropertyListener()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+QTAddComponentPropertyListener(
+ ComponentInstance inComponent,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ QTComponentPropertyListenerUPP inDispatchProc,
+ void * inUserData) /* can be NULL */ FIVEWORDINLINE(0x2F3C, 0x0010, 0xFFF2, 0x7000, 0xA82A);
+
+
+/*
+ * QTRemoveComponentPropertyListener()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+QTRemoveComponentPropertyListener(
+ ComponentInstance inComponent,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ QTComponentPropertyListenerUPP inDispatchProc,
+ void * inUserData) /* can be NULL */ FIVEWORDINLINE(0x2F3C, 0x0010, 0xFFF1, 0x7000, 0xA82A);
+
+
+
+
+/* == "QT" prefixed Component Property Listener helpers == */
+
+
+typedef CFTypeRef QTComponentPropertyListenersRef;
+typedef struct QTComponentPropertyListenerCollectionContext QTComponentPropertyListenerCollectionContext;
+typedef CALLBACK_API( Boolean , QTComponentPropertyListenerFilterProcPtr )(QTComponentPropertyListenersRef inCollection, const QTComponentPropertyListenerCollectionContext *inCollectionContext, ComponentInstance inNotifier, ComponentPropertyClass inPropClass, ComponentPropertyID inPropID, QTComponentPropertyListenerUPP inListenerCallbackProc, const void *inListenerProcRefCon, const void *inFilterProcRefCon);
+typedef STACK_UPP_TYPE(QTComponentPropertyListenerFilterProcPtr) QTComponentPropertyListenerFilterUPP;
#define kQTComponentPropertyListenerCollectionContextVersion 1
- struct QTComponentPropertyListenerCollectionContext
- {
- UInt32 version; /* struct version */
- QTComponentPropertyListenerFilterUPP filterProcUPP;
- void * filterProcData;
- };
+struct QTComponentPropertyListenerCollectionContext {
+ UInt32 version; /* struct version */
+ QTComponentPropertyListenerFilterUPP filterProcUPP;
+ void * filterProcData;
+};
#if CALL_NOT_IN_CARBON
- /*
- * NewQTComponentPropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(QTComponentPropertyListenerUPP)
- NewQTComponentPropertyListenerUPP(QTComponentPropertyListenerProcPtr userRoutine);
+/*
+ * NewQTComponentPropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( QTComponentPropertyListenerUPP )
+NewQTComponentPropertyListenerUPP(QTComponentPropertyListenerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTComponentPropertyListenerProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTComponentPropertyListenerUPP) NewQTComponentPropertyListenerUPP(QTComponentPropertyListenerProcPtr userRoutine)
- {
- return (QTComponentPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTComponentPropertyListenerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTComponentPropertyListenerUPP(userRoutine) (QTComponentPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTComponentPropertyListenerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTComponentPropertyListenerProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTComponentPropertyListenerUPP) NewQTComponentPropertyListenerUPP(QTComponentPropertyListenerProcPtr userRoutine) { return (QTComponentPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTComponentPropertyListenerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTComponentPropertyListenerUPP(userRoutine) (QTComponentPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTComponentPropertyListenerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTComponentPropertyListenerFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(QTComponentPropertyListenerFilterUPP)
- NewQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenerFilterProcPtr userRoutine);
+/*
+ * NewQTComponentPropertyListenerFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( QTComponentPropertyListenerFilterUPP )
+NewQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenerFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTComponentPropertyListenerFilterProcInfo = 0x003FFFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTComponentPropertyListenerFilterUPP) NewQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenerFilterProcPtr userRoutine)
- {
- return (QTComponentPropertyListenerFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTComponentPropertyListenerFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTComponentPropertyListenerFilterUPP(userRoutine) (QTComponentPropertyListenerFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTComponentPropertyListenerFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTComponentPropertyListenerFilterProcInfo = 0x003FFFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTComponentPropertyListenerFilterUPP) NewQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenerFilterProcPtr userRoutine) { return (QTComponentPropertyListenerFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTComponentPropertyListenerFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTComponentPropertyListenerFilterUPP(userRoutine) (QTComponentPropertyListenerFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTComponentPropertyListenerFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeQTComponentPropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(void)
- DisposeQTComponentPropertyListenerUPP(QTComponentPropertyListenerUPP userUPP);
+/*
+ * DisposeQTComponentPropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( void )
+DisposeQTComponentPropertyListenerUPP(QTComponentPropertyListenerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTComponentPropertyListenerUPP(QTComponentPropertyListenerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTComponentPropertyListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTComponentPropertyListenerUPP(QTComponentPropertyListenerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTComponentPropertyListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTComponentPropertyListenerFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(void)
- DisposeQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenerFilterUPP userUPP);
+/*
+ * DisposeQTComponentPropertyListenerFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( void )
+DisposeQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenerFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenerFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTComponentPropertyListenerFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenerFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTComponentPropertyListenerFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeQTComponentPropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(void)
- InvokeQTComponentPropertyListenerUPP(
- ComponentInstance inComponent,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- void * inUserData,
- QTComponentPropertyListenerUPP userUPP);
+/*
+ * InvokeQTComponentPropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( void )
+InvokeQTComponentPropertyListenerUPP(
+ ComponentInstance inComponent,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ void * inUserData,
+ QTComponentPropertyListenerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQTComponentPropertyListenerUPP(ComponentInstance inComponent, ComponentPropertyClass inPropClass, ComponentPropertyID inPropID, void * inUserData, QTComponentPropertyListenerUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQTComponentPropertyListenerProcInfo, inComponent, inPropClass, inPropID, inUserData);
- }
-#else
-#define InvokeQTComponentPropertyListenerUPP(inComponent, inPropClass, inPropID, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTComponentPropertyListenerProcInfo, (inComponent), (inPropClass), (inPropID), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQTComponentPropertyListenerUPP(ComponentInstance inComponent, ComponentPropertyClass inPropClass, ComponentPropertyID inPropID, void * inUserData, QTComponentPropertyListenerUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQTComponentPropertyListenerProcInfo, inComponent, inPropClass, inPropID, inUserData); }
+ #else
+ #define InvokeQTComponentPropertyListenerUPP(inComponent, inPropClass, inPropID, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTComponentPropertyListenerProcInfo, (inComponent), (inPropClass), (inPropID), (inUserData))
+ #endif
#endif
- /*
- * InvokeQTComponentPropertyListenerFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(Boolean)
- InvokeQTComponentPropertyListenerFilterUPP(
- QTComponentPropertyListenersRef inCollection,
- const QTComponentPropertyListenerCollectionContext * inCollectionContext,
- ComponentInstance inNotifier,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- QTComponentPropertyListenerUPP inListenerCallbackProc,
- const void * inListenerProcRefCon,
- const void * inFilterProcRefCon,
- QTComponentPropertyListenerFilterUPP userUPP);
+/*
+ * InvokeQTComponentPropertyListenerFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( Boolean )
+InvokeQTComponentPropertyListenerFilterUPP(
+ QTComponentPropertyListenersRef inCollection,
+ const QTComponentPropertyListenerCollectionContext * inCollectionContext,
+ ComponentInstance inNotifier,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ QTComponentPropertyListenerUPP inListenerCallbackProc,
+ const void * inListenerProcRefCon,
+ const void * inFilterProcRefCon,
+ QTComponentPropertyListenerFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenersRef inCollection, const QTComponentPropertyListenerCollectionContext * inCollectionContext, ComponentInstance inNotifier, ComponentPropertyClass inPropClass, ComponentPropertyID inPropID, QTComponentPropertyListenerUPP inListenerCallbackProc, const void * inListenerProcRefCon, const void * inFilterProcRefCon, QTComponentPropertyListenerFilterUPP userUPP)
- {
- return (Boolean)CALL_EIGHT_PARAMETER_UPP(userUPP, uppQTComponentPropertyListenerFilterProcInfo, inCollection, inCollectionContext, inNotifier, inPropClass, inPropID, inListenerCallbackProc, inListenerProcRefCon, inFilterProcRefCon);
- }
-#else
-#define InvokeQTComponentPropertyListenerFilterUPP(inCollection, inCollectionContext, inNotifier, inPropClass, inPropID, inListenerCallbackProc, inListenerProcRefCon, inFilterProcRefCon, userUPP) (Boolean)CALL_EIGHT_PARAMETER_UPP((userUPP), uppQTComponentPropertyListenerFilterProcInfo, (inCollection), (inCollectionContext), (inNotifier), (inPropClass), (inPropID), (inListenerCallbackProc), (inListenerProcRefCon), (inFilterProcRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeQTComponentPropertyListenerFilterUPP(QTComponentPropertyListenersRef inCollection, const QTComponentPropertyListenerCollectionContext * inCollectionContext, ComponentInstance inNotifier, ComponentPropertyClass inPropClass, ComponentPropertyID inPropID, QTComponentPropertyListenerUPP inListenerCallbackProc, const void * inListenerProcRefCon, const void * inFilterProcRefCon, QTComponentPropertyListenerFilterUPP userUPP) { return (Boolean)CALL_EIGHT_PARAMETER_UPP(userUPP, uppQTComponentPropertyListenerFilterProcInfo, inCollection, inCollectionContext, inNotifier, inPropClass, inPropID, inListenerCallbackProc, inListenerProcRefCon, inFilterProcRefCon); }
+ #else
+ #define InvokeQTComponentPropertyListenerFilterUPP(inCollection, inCollectionContext, inNotifier, inPropClass, inPropID, inListenerCallbackProc, inListenerProcRefCon, inFilterProcRefCon, userUPP) (Boolean)CALL_EIGHT_PARAMETER_UPP((userUPP), uppQTComponentPropertyListenerFilterProcInfo, (inCollection), (inCollectionContext), (inNotifier), (inPropClass), (inPropID), (inListenerCallbackProc), (inListenerProcRefCon), (inFilterProcRefCon))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewQTComponentPropertyListenerProc(userRoutine) NewQTComponentPropertyListenerUPP(userRoutine)
-#define NewQTComponentPropertyListenerFilterProc(userRoutine) NewQTComponentPropertyListenerFilterUPP(userRoutine)
-#define CallQTComponentPropertyListenerProc(userRoutine, inComponent, inPropClass, inPropID, inUserData) InvokeQTComponentPropertyListenerUPP(inComponent, inPropClass, inPropID, inUserData, userRoutine)
-#define CallQTComponentPropertyListenerFilterProc(userRoutine, inCollection, inCollectionContext, inNotifier, inPropClass, inPropID, inListenerCallbackProc, inListenerProcRefCon, inFilterProcRefCon) InvokeQTComponentPropertyListenerFilterUPP(inCollection, inCollectionContext, inNotifier, inPropClass, inPropID, inListenerCallbackProc, inListenerProcRefCon, inFilterProcRefCon, userRoutine)
+ #define NewQTComponentPropertyListenerProc(userRoutine) NewQTComponentPropertyListenerUPP(userRoutine)
+ #define NewQTComponentPropertyListenerFilterProc(userRoutine) NewQTComponentPropertyListenerFilterUPP(userRoutine)
+ #define CallQTComponentPropertyListenerProc(userRoutine, inComponent, inPropClass, inPropID, inUserData) InvokeQTComponentPropertyListenerUPP(inComponent, inPropClass, inPropID, inUserData, userRoutine)
+ #define CallQTComponentPropertyListenerFilterProc(userRoutine, inCollection, inCollectionContext, inNotifier, inPropClass, inPropID, inListenerCallbackProc, inListenerProcRefCon, inFilterProcRefCon) InvokeQTComponentPropertyListenerFilterUPP(inCollection, inCollectionContext, inNotifier, inPropClass, inPropID, inListenerCallbackProc, inListenerProcRefCon, inFilterProcRefCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * QTComponentPropertyListenerCollectionCreate()
- *
- * Summary:
- * Create a collection to use with the functions
- * ComponentPropertyListenerCollectionAddListener,
- * ComponentPropertyListenerCollectionRemoveListener,
- * ComponentPropertyListenerCollectionNotifyListeners,
- * ComponentPropertyListenerCollectionIsEmpty, and
- * ComponentPropertyListenerCollectionHasListenersForProperty.
- *
- * Parameters:
- *
- * outCollection:
- * Returns the new, empty, listener collection.
- *
- * inAllocator:
- * Allocator used to create the collection and it's contents.
- *
- * inContext:
- * The listener collection context. May be NULL. A copy of the
- * contents of the structure is made, so a pointer to a structure
- * on the stack can be passed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(OSStatus)
- QTComponentPropertyListenerCollectionCreate(
- CFAllocatorRef inAllocator, /* can be NULL */
- const QTComponentPropertyListenerCollectionContext * inContext, /* can be NULL */
- QTComponentPropertyListenersRef * outCollection);
-
-
-
- /*
- * QTComponentPropertyListenerCollectionAddListener()
- *
- * Summary:
- * Add a listener callback for the specified property class and ID
- * to a property listener collection.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * inPropClass:
- * The property class.
- *
- * inPropID:
- * The property ID.
- *
- * inListenerProc:
- * The property listener callback function.
- *
- * inListenerProcRefCon:
- * The data parameter to pass to the listener callback function.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(OSStatus)
- QTComponentPropertyListenerCollectionAddListener(
- QTComponentPropertyListenersRef inCollection,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- QTComponentPropertyListenerUPP inListenerProc,
- const void * inListenerProcRefCon);
-
-
- /*
- * QTComponentPropertyListenerCollectionRemoveListener()
- *
- * Summary:
- * Remove a listener callback for the specified property class and
- * ID from a property listener collection.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * inPropClass:
- * The property class.
- *
- * inPropID:
- * The property ID.
- *
- * inListenerProc:
- * The property listener callback function.
- *
- * inListenerProcRefCon:
- * The data parameter to pass to the listener callback function.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(OSStatus)
- QTComponentPropertyListenerCollectionRemoveListener(
- QTComponentPropertyListenersRef inCollection,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- QTComponentPropertyListenerUPP inListenerProc,
- const void * inListenerProcRefCon);
-
-
- /*
- * QTComponentPropertyListenerCollectionNotifyListeners()
- *
- * Summary:
- * Call all listener callbacks in the collection registered for the
- * specified property class and ID.
- *
- * Discussion:
- * If the "filterProcUPP" in the collection's context is non-NULL,
- * the filter function will be called before each registered
- * listener that matches the specified property class and ID. If the
- * filter function return false, the listener proc will not be
- * called. This is intended to allow a component to change the
- * calling semantics (call another thread, etc), to use a different
- * listener callback signature, etc.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * inNotifier:
- * The calling ComponentInstance.
- *
- * inPropClass:
- * The property class.
- *
- * inPropID:
- * The property ID.
- *
- * inFilterProcRefCon:
- * The data parameter to pass to the filter function.
- *
- * inFlags:
- * Flags. Must be set to 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(OSStatus)
- QTComponentPropertyListenerCollectionNotifyListeners(
- QTComponentPropertyListenersRef inCollection,
- ComponentInstance inNotifier,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- const void * inFilterProcRefCon, /* can be NULL */
- UInt32 inFlags);
-
-
- /*
- * QTComponentPropertyListenerCollectionIsEmpty()
- *
- * Summary:
- * Return true if the listener collection is empty.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(Boolean)
- QTComponentPropertyListenerCollectionIsEmpty(QTComponentPropertyListenersRef inCollection);
-
-
- /*
- * QTComponentPropertyListenerCollectionHasListenersForProperty()
- *
- * Summary:
- * Returns true if there are any listeners registered for the
- * specified property class and ID.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * inPropClass:
- * The property class.
- *
- * inPropID:
- * The property ID.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(Boolean)
- QTComponentPropertyListenerCollectionHasListenersForProperty(
- QTComponentPropertyListenersRef inCollection,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID);
-
-
- /* DRM properties*/
- enum
- {
- kQTPropertyClass_DRM = FOUR_CHAR_CODE('drm ')
- };
-
- enum
- {
- kQTDRMPropertyID_InteractWithUser = FOUR_CHAR_CODE('shui'), /* Boolean**/
- kQTDRMPropertyID_IsProtected = FOUR_CHAR_CODE('prot'), /* Boolean**/
- kQTDRMPropertyID_IsAuthorized = FOUR_CHAR_CODE('auth') /* Boolean**/
- };
-
-
-
- /* UPP call backs */
-
- /* selectors for component calls */
- enum
- {
- kGraphicsImportSetDataReferenceSelect = 0x0001,
- kGraphicsImportGetDataReferenceSelect = 0x0002,
- kGraphicsImportSetDataFileSelect = 0x0003,
- kGraphicsImportGetDataFileSelect = 0x0004,
- kGraphicsImportSetDataHandleSelect = 0x0005,
- kGraphicsImportGetDataHandleSelect = 0x0006,
- kGraphicsImportGetImageDescriptionSelect = 0x0007,
- kGraphicsImportGetDataOffsetAndSizeSelect = 0x0008,
- kGraphicsImportReadDataSelect = 0x0009,
- kGraphicsImportSetClipSelect = 0x000A,
- kGraphicsImportGetClipSelect = 0x000B,
- kGraphicsImportSetSourceRectSelect = 0x000C,
- kGraphicsImportGetSourceRectSelect = 0x000D,
- kGraphicsImportGetNaturalBoundsSelect = 0x000E,
- kGraphicsImportDrawSelect = 0x000F,
- kGraphicsImportSetGWorldSelect = 0x0010,
- kGraphicsImportGetGWorldSelect = 0x0011,
- kGraphicsImportSetMatrixSelect = 0x0012,
- kGraphicsImportGetMatrixSelect = 0x0013,
- kGraphicsImportSetBoundsRectSelect = 0x0014,
- kGraphicsImportGetBoundsRectSelect = 0x0015,
- kGraphicsImportSaveAsPictureSelect = 0x0016,
- kGraphicsImportSetGraphicsModeSelect = 0x0017,
- kGraphicsImportGetGraphicsModeSelect = 0x0018,
- kGraphicsImportSetQualitySelect = 0x0019,
- kGraphicsImportGetQualitySelect = 0x001A,
- kGraphicsImportSaveAsQuickTimeImageFileSelect = 0x001B,
- kGraphicsImportSetDataReferenceOffsetAndLimitSelect = 0x001C,
- kGraphicsImportGetDataReferenceOffsetAndLimitSelect = 0x001D,
- kGraphicsImportGetAliasedDataReferenceSelect = 0x001E,
- kGraphicsImportValidateSelect = 0x001F,
- kGraphicsImportGetMetaDataSelect = 0x0020,
- kGraphicsImportGetMIMETypeListSelect = 0x0021,
- kGraphicsImportDoesDrawAllPixelsSelect = 0x0022,
- kGraphicsImportGetAsPictureSelect = 0x0023,
- kGraphicsImportExportImageFileSelect = 0x0024,
- kGraphicsImportGetExportImageTypeListSelect = 0x0025,
- kGraphicsImportDoExportImageFileDialogSelect = 0x0026,
- kGraphicsImportGetExportSettingsAsAtomContainerSelect = 0x0027,
- kGraphicsImportSetExportSettingsFromAtomContainerSelect = 0x0028,
- kGraphicsImportSetProgressProcSelect = 0x0029,
- kGraphicsImportGetProgressProcSelect = 0x002A,
- kGraphicsImportGetImageCountSelect = 0x002B,
- kGraphicsImportSetImageIndexSelect = 0x002C,
- kGraphicsImportGetImageIndexSelect = 0x002D,
- kGraphicsImportGetDataOffsetAndSize64Select = 0x002E,
- kGraphicsImportReadData64Select = 0x002F,
- kGraphicsImportSetDataReferenceOffsetAndLimit64Select = 0x0030,
- kGraphicsImportGetDataReferenceOffsetAndLimit64Select = 0x0031,
- kGraphicsImportGetDefaultMatrixSelect = 0x0032,
- kGraphicsImportGetDefaultClipSelect = 0x0033,
- kGraphicsImportGetDefaultGraphicsModeSelect = 0x0034,
- kGraphicsImportGetDefaultSourceRectSelect = 0x0035,
- kGraphicsImportGetColorSyncProfileSelect = 0x0036,
- kGraphicsImportSetDestRectSelect = 0x0037,
- kGraphicsImportGetDestRectSelect = 0x0038,
- kGraphicsImportSetFlagsSelect = 0x0039,
- kGraphicsImportGetFlagsSelect = 0x003A,
- kGraphicsImportGetBaseDataOffsetAndSize64Select = 0x003D,
- kGraphicsImportSetImageIndexToThumbnailSelect = 0x003E,
- kGraphicsImportCreateCGImageSelect = 0x003F,
- kGraphicsImportSaveAsPictureToDataRefSelect = 0x0040,
- kGraphicsImportSaveAsQuickTimeImageFileToDataRefSelect = 0x0041,
- kGraphicsImportExportImageFileToDataRefSelect = 0x0042,
- kGraphicsImportDoExportImageFileToDataRefDialogSelect = 0x0043,
- kGraphicsImportSetOverrideSourceColorSyncProfileRefSelect = 0x0044,
- kGraphicsImportGetOverrideSourceColorSyncProfileRefSelect = 0x0045,
- kGraphicsImportSetDestinationColorSyncProfileRefSelect = 0x0046,
- kGraphicsImportGetDestinationColorSyncProfileRefSelect = 0x0047,
- kGraphicsImportWillUseColorMatchingSelect = 0x0048,
- kGraphicsImportGetGenericColorSyncProfileSelect = 0x0049,
- kGraphicsImportSetReturnGenericColorSyncProfileSelect = 0x004A,
- kGraphicsImportGetReturnGenericColorSyncProfileSelect = 0x004B,
- kGraphicsExportDoExportSelect = 0x0001,
- kGraphicsExportCanTranscodeSelect = 0x0002,
- kGraphicsExportDoTranscodeSelect = 0x0003,
- kGraphicsExportCanUseCompressorSelect = 0x0004,
- kGraphicsExportDoUseCompressorSelect = 0x0005,
- kGraphicsExportDoStandaloneExportSelect = 0x0006,
- kGraphicsExportGetDefaultFileTypeAndCreatorSelect = 0x0007,
- kGraphicsExportGetDefaultFileNameExtensionSelect = 0x0008,
- kGraphicsExportGetMIMETypeListSelect = 0x0009,
- kGraphicsExportRequestSettingsSelect = 0x000B,
- kGraphicsExportSetSettingsFromAtomContainerSelect = 0x000C,
- kGraphicsExportGetSettingsAsAtomContainerSelect = 0x000D,
- kGraphicsExportGetSettingsAsTextSelect = 0x000E,
- kGraphicsExportSetDontRecompressSelect = 0x000F,
- kGraphicsExportGetDontRecompressSelect = 0x0010,
- kGraphicsExportSetInterlaceStyleSelect = 0x0011,
- kGraphicsExportGetInterlaceStyleSelect = 0x0012,
- kGraphicsExportSetMetaDataSelect = 0x0013,
- kGraphicsExportGetMetaDataSelect = 0x0014,
- kGraphicsExportSetTargetDataSizeSelect = 0x0015,
- kGraphicsExportGetTargetDataSizeSelect = 0x0016,
- kGraphicsExportSetCompressionMethodSelect = 0x0017,
- kGraphicsExportGetCompressionMethodSelect = 0x0018,
- kGraphicsExportSetCompressionQualitySelect = 0x0019,
- kGraphicsExportGetCompressionQualitySelect = 0x001A,
- kGraphicsExportSetResolutionSelect = 0x001B,
- kGraphicsExportGetResolutionSelect = 0x001C,
- kGraphicsExportSetDepthSelect = 0x001D,
- kGraphicsExportGetDepthSelect = 0x001E,
- kGraphicsExportSetColorSyncProfileSelect = 0x0021,
- kGraphicsExportGetColorSyncProfileSelect = 0x0022,
- kGraphicsExportSetProgressProcSelect = 0x0023,
- kGraphicsExportGetProgressProcSelect = 0x0024,
- kGraphicsExportSetInputDataReferenceSelect = 0x0025,
- kGraphicsExportGetInputDataReferenceSelect = 0x0026,
- kGraphicsExportSetInputFileSelect = 0x0027,
- kGraphicsExportGetInputFileSelect = 0x0028,
- kGraphicsExportSetInputHandleSelect = 0x0029,
- kGraphicsExportGetInputHandleSelect = 0x002A,
- kGraphicsExportSetInputPtrSelect = 0x002B,
- kGraphicsExportGetInputPtrSelect = 0x002C,
- kGraphicsExportSetInputGraphicsImporterSelect = 0x002D,
- kGraphicsExportGetInputGraphicsImporterSelect = 0x002E,
- kGraphicsExportSetInputPictureSelect = 0x002F,
- kGraphicsExportGetInputPictureSelect = 0x0030,
- kGraphicsExportSetInputGWorldSelect = 0x0031,
- kGraphicsExportGetInputGWorldSelect = 0x0032,
- kGraphicsExportSetInputPixmapSelect = 0x0033,
- kGraphicsExportGetInputPixmapSelect = 0x0034,
- kGraphicsExportSetInputOffsetAndLimitSelect = 0x0035,
- kGraphicsExportGetInputOffsetAndLimitSelect = 0x0036,
- kGraphicsExportMayExporterReadInputDataSelect = 0x0037,
- kGraphicsExportGetInputDataSizeSelect = 0x0038,
- kGraphicsExportReadInputDataSelect = 0x0039,
- kGraphicsExportGetInputImageDescriptionSelect = 0x003A,
- kGraphicsExportGetInputImageDimensionsSelect = 0x003B,
- kGraphicsExportGetInputImageDepthSelect = 0x003C,
- kGraphicsExportDrawInputImageSelect = 0x003D,
- kGraphicsExportSetOutputDataReferenceSelect = 0x003E,
- kGraphicsExportGetOutputDataReferenceSelect = 0x003F,
- kGraphicsExportSetOutputFileSelect = 0x0040,
- kGraphicsExportGetOutputFileSelect = 0x0041,
- kGraphicsExportSetOutputHandleSelect = 0x0042,
- kGraphicsExportGetOutputHandleSelect = 0x0043,
- kGraphicsExportSetOutputOffsetAndMaxSizeSelect = 0x0044,
- kGraphicsExportGetOutputOffsetAndMaxSizeSelect = 0x0045,
- kGraphicsExportSetOutputFileTypeAndCreatorSelect = 0x0046,
- kGraphicsExportGetOutputFileTypeAndCreatorSelect = 0x0047,
- kGraphicsExportWriteOutputDataSelect = 0x0048,
- kGraphicsExportSetOutputMarkSelect = 0x0049,
- kGraphicsExportGetOutputMarkSelect = 0x004A,
- kGraphicsExportReadOutputDataSelect = 0x004B,
- kGraphicsExportSetThumbnailEnabledSelect = 0x004C,
- kGraphicsExportGetThumbnailEnabledSelect = 0x004D,
- kGraphicsExportSetExifEnabledSelect = 0x004E,
- kGraphicsExportGetExifEnabledSelect = 0x004F,
- kGraphicsExportSetInputCGImageSelect = 0x0050,
- kGraphicsExportGetInputCGImageSelect = 0x0051,
- kGraphicsExportSetInputCGBitmapContextSelect = 0x0052,
- kGraphicsExportGetInputCGBitmapContextSelect = 0x0053,
- kGraphicsExportSetFlagsSelect = 0x0054,
- kGraphicsExportGetFlagsSelect = 0x0055,
- kImageTranscoderBeginSequenceSelect = 0x0001,
- kImageTranscoderConvertSelect = 0x0002,
- kImageTranscoderDisposeDataSelect = 0x0003,
- kImageTranscoderEndSequenceSelect = 0x0004,
- kQTGetComponentPropertyInfoSelect = -11,
- kQTGetComponentPropertySelect = -12,
- kQTSetComponentPropertySelect = -13,
- kQTAddComponentPropertyListenerSelect = -14,
- kQTRemoveComponentPropertyListenerSelect = -15
- };
- /* Aperture modes */
-
- /*
- * Summary:
- * Aperture modes
- *
- * Discussion:
- * You can set the aperture mode property on a movie to indicate
- * whether aspect ratio and clean aperture correction should be
- * performed (kQTPropertyClass_Visual /
- * kQTVisualPropertyID_ApertureMode). When a movie is in clean,
- * production or encoded pixels aperture mode, each track's
- * dimensions are overriden by special dimensions for that mode. The
- * original track dimensions are preserved and can be restored by
- * setting the movie into classic aperture mode. Aperture modes are
- * not saved in movies.
- * You can set the aperture mode property on a decompression session
- * options object to indicate whether pixel buffers should be tagged
- * to enable aspect ratio and clean aperture correction
- * (kQTPropertyClass_ICMDecompressionSessionOptions /
- * kICMDecompressionSessionOptionsPropertyID_ApertureMode).
- */
- enum
- {
-
- /*
- * An aperture mode which gives compatibility with behavior in
- * QuickTime 7.0.x and earlier.
- * A movie in classic aperture mode uses track dimensions as set in
- * NewMovieTrack and SetTrackDimensions.
- * A decompression session in classic aperture mode does not set the
- * clean aperture or pixel aspect ratio attachments on emitted pixel
- * buffers.
- * Movies default to classic aperture mode. If you call
- * SetTrackDimensions on a track, the movie is automatically switched
- * into classic aperture mode.
- */
- kQTApertureMode_Classic = FOUR_CHAR_CODE('clas'),
-
- /*
- * An aperture mode for general display.
- * Where possible, video will be displayed at the correct pixel
- * aspect ratio, trimmed to the clean aperture. A movie in clean
- * aperture mode sets each track's dimensions to match its
- * kQTVisualPropertyID_CleanApertureDimensions.
- * A decompression session in clean aperture mode sets the clean
- * aperture and pixel aspect ratio attachments on emitted pixel
- * buffers based on the image description.
- */
- kQTApertureMode_CleanAperture = FOUR_CHAR_CODE('clea'),
-
- /*
- * An aperture mode for modal use in authoring applications.
- * Where possible, video will be displayed at the correct pixel
- * aspect ratio, but without trimming to the clean aperture so that
- * the edge processing region can be viewed. A movie in production
- * aperture mode sets each track's dimensions to match its
- * kQTVisualPropertyID_ProductionApertureDimensions.
- * A decompression session in production aperture mode sets the pixel
- * aspect ratio attachments on emitted pixel buffers based on the
- * image description.
- */
- kQTApertureMode_ProductionAperture = FOUR_CHAR_CODE('prod'),
-
- /*
- * An aperture mode for technical use.
- * Displays all encoded pixels with no aspect ratio or clean aperture
- * compensation. A movie in encoded pixels aperture mode sets each
- * track's dimensions to match its
- * kQTVisualPropertyID_EncodedPixelsDimensions.
- * A decompression session in encoded pixels aperture mode does not
- * set the clean aperture or pixel aspect ratio attachments on
- * emitted pixel buffers.
- */
- kQTApertureMode_EncodedPixels = FOUR_CHAR_CODE('enco')
- };
-
- /* Property interface for Image Descriptions */
-
- /*
- * Summary:
- * Properties of image descriptions.
- */
- enum
- {
-
- /*
- * Class identifier for image description properties.
- */
- kQTPropertyClass_ImageDescription = FOUR_CHAR_CODE('idsc'),
-
- /*
- * The width of the encoded image. Usually, but not always, this is
- * the ImageDescription's width field.
- */
- kICMImageDescriptionPropertyID_EncodedWidth = FOUR_CHAR_CODE('encw'), /* SInt32, Read/Write */
-
- /*
- * The height of the encoded image. Usually, but not always, this is
- * the ImageDescription's height field.
- */
- kICMImageDescriptionPropertyID_EncodedHeight = FOUR_CHAR_CODE('ench'), /* SInt32, Read/Write */
-
- /*
- * Describes the clean aperture of the buffer. If not specified
- * explicitly in the image description, the default clean aperture
- * (full encoded width and height) will be returned.
- */
- kICMImageDescriptionPropertyID_CleanAperture = FOUR_CHAR_CODE('clap'), /* Native-endian CleanApertureImageDescriptionExtension, Read/Write */
-
- /*
- * Describes the pixel aspect ratio. If not specified explicitly in
- * the image description, a square (1:1) pixel aspect ratio will be
- * returned.
- */
- kICMImageDescriptionPropertyID_PixelAspectRatio = FOUR_CHAR_CODE('pasp'), /* Native-endian PixelAspectRatioImageDescriptionExtension, Read/Write */
-
- /*
- * Dimensions at which the image could be displayed on a square-pixel
- * display, generally calculated using the clean aperture and pixel
- * aspect ratio.
- * Note that this value is returned as a FixedPoint; the width and
- * height can also be read separately as rounded SInt32s via
- * kICMImageDescriptionPropertyID_CleanApertureDisplayWidth and
- * kICMImageDescriptionPropertyID_CleanApertureDisplayHeight.
- */
- kICMImageDescriptionPropertyID_CleanApertureDisplayDimensions = FOUR_CHAR_CODE('cadi'), /* FixedPoint, Read */
-
- /*
- * Dimensions at which the image could be displayed on a square-pixel
- * display, disregarding any clean aperture but honoring the pixel
- * aspect ratio. This may be useful for authoring applications that
- * want to expose the edge processing region. For general viewing,
- * use kICMImageDescriptionPropertyID_CleanApertureDimensions
- * instead.
- * Note that this value is returned as a FixedPoint; the width and
- * height can also be read separately as rounded SInt32s via
- * kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth and
- * kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight.
- */
- kICMImageDescriptionPropertyID_ProductionApertureDisplayDimensions = FOUR_CHAR_CODE('prdi'), /* FixedPoint, Read */
-
- /*
- * Dimensions of the encoded image.
- * Note that this value is returned as a FixedPoint for convenience;
- * the width and height can also be read separately as SInt32s via
- * kICMImageDescriptionPropertyID_EncodedWidth and
- * kICMImageDescriptionPropertyID_EncodedHeight.
- */
- kICMImageDescriptionPropertyID_EncodedPixelsDimensions = FOUR_CHAR_CODE('endi'), /* FixedPoint, Read */
-
- /*
- * A width at which the image could be displayed on a square-pixel
- * display, possibly calculated using the clean aperture and pixel
- * aspect ratio.
- */
- kICMImageDescriptionPropertyID_CleanApertureDisplayWidth = FOUR_CHAR_CODE('disw'), /* SInt32, Read */
-
- /*
- * A height at which the image could be displayed on a square-pixel
- * display, possibly calculated using the clean aperture and pixel
- * aspect ratio.
- */
- kICMImageDescriptionPropertyID_CleanApertureDisplayHeight = FOUR_CHAR_CODE('dish'), /* SInt32, Read */
-
- /*
- * A width at which the image could be displayed on a square-pixel
- * display, disregarding any clean aperture but honoring the pixel
- * aspect ratio. This may be useful for authoring applications that
- * want to expose the edge processing region. For general viewing,
- * use kICMImageDescriptionPropertyID_CleanApertureDisplayWidth
- * instead.
- */
- kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth = FOUR_CHAR_CODE('pdsw'), /* SInt32, Read */
-
- /*
- * A height at which the image could be displayed on a square-pixel
- * display, disregarding any clean aperture but honoring the pixel
- * aspect ratio. This may be useful for authoring applications that
- * want to expose the edge processing region. For general viewing,
- * use kICMImageDescriptionPropertyID_CleanApertureDisplayHeight
- * instead.
- */
- kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight = FOUR_CHAR_CODE('pdsh'), /* SInt32, Read */
-
- /*
- * Synonym for
- * kICMImageDescriptionPropertyID_CleanApertureDisplayWidth.
- */
- kICMImageDescriptionPropertyID_DisplayWidth = FOUR_CHAR_CODE('disw'), /* SInt32, Read */
-
- /*
- * Synonym for
- * kICMImageDescriptionPropertyID_CleanApertureDisplayHeight.
- */
- kICMImageDescriptionPropertyID_DisplayHeight = FOUR_CHAR_CODE('dish'), /* SInt32, Read */
-
- /*
- * Synonym for
- * kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth.
- */
- kICMImageDescriptionPropertyID_ProductionDisplayWidth = FOUR_CHAR_CODE('pdsw'), /* SInt32, Read */
-
- /*
- * Synonym for
- * kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight.
- */
- kICMImageDescriptionPropertyID_ProductionDisplayHeight = FOUR_CHAR_CODE('pdsh'), /* SInt32, Read */
-
- /*
- * Color information, if available in the
- * NCLCColorInfoImageDescriptionExtension format.
- */
- kICMImageDescriptionPropertyID_NCLCColorInfo = FOUR_CHAR_CODE('nclc'), /* Native-endian NCLCColorInfoImageDescriptionExtension, Read/Write */
-
- /*
- * A CGColorSpaceRef for the colorspace described by the image
- * description, constructed from video color info or ICC Profile.
- * IMPORTANT NOTE: The YCbCr matrix from the video color info is not
- * represented in the CGColorSpaceRef. The caller of GetProperty is
- * responsible for releasing this, eg, by calling
- * CGColorSpaceRelease. Only supported on Mac OS X.
- */
- kICMImageDescriptionPropertyID_CGColorSpace = FOUR_CHAR_CODE('cgcs'), /* CGColorSpaceRef, Read -- caller of GetProperty must call CGColorSpaceRelease */
-
- /*
- * A CFDataRef containing the serialized ICC profile described by the
- * image description. The caller of GetProperty is responsible for
- * releasing this, eg, by calling CFRelease.
- */
- kICMImageDescriptionPropertyID_ICCProfile = FOUR_CHAR_CODE('iccp'), /* CFDataRef, Read/Write -- caller of GetProperty must call CFRelease */
-
- /*
- * The gamma level described by the image description.
- */
- kICMImageDescriptionPropertyID_GammaLevel = FOUR_CHAR_CODE('gama'), /* Fixed, Read/Write */
-
- /*
- * Information about the number and order of fields, if available.
- */
- kICMImageDescriptionPropertyID_FieldInfo = FOUR_CHAR_CODE('fiel'), /* FieldInfoImageDescriptionExtension2, Read/Write */
-
- /*
- * The offset in bytes from the start of one row to the next. Only
- * valid if the codec type is a chunky pixel format.
- */
- kICMImageDescriptionPropertyID_RowBytes = FOUR_CHAR_CODE('rowb'), /* SInt32, Read/Write */
-
- /*
- * A track width suitable for passing to NewMovieTrack when creating
- * a new track to hold this image data.
- */
- kICMImageDescriptionPropertyID_ClassicTrackWidth = FOUR_CHAR_CODE('claw'), /* Fixed, Read */
-
- /*
- * A track height suitable for passing to NewMovieTrack when creating
- * a new track to hold this image data.
- */
- kICMImageDescriptionPropertyID_ClassicTrackHeight = FOUR_CHAR_CODE('clah'), /* Fixed, Read */
-
- /*
- * Defines a duration for quantizing time. This is applicable for
- * cases where a single media sample generates visual output that
- * varies continuously through its duration. By interpreting this
- * property, such a sample may be considered to have internal "step
- * points" at multiples of the stepping duration. This can be used to
- * throttle frame generation during playback, and when stepping using
- * InterestingTime APIs. Setting a step duration with value zero
- * removes any current step duration.
- */
- kICMImageDescriptionPropertyID_StepDuration = FOUR_CHAR_CODE('step'), /* TimeRecord (base ignored), Read/Write */
-
- /*
- * The clean aperture as a FixedRect in source coordinates, within
- * the rectangle defined by the image description width and height,
- * suitable for use as a source rectangle in a decompression
- * sequence.
- * For historical reasons, the DVCPROHD codecs store the production
- * aperture display dimensions in the image description width and
- * height; the actual encoded dimensions are smaller. For DVCPROHD,
- * the clip rect will be relative to the image description width and
- * height, not the encoded dimensions.
- */
- kICMImageDescriptionPropertyID_CleanApertureClipRect = FOUR_CHAR_CODE('cacr'), /* FixedRect, Read */
-
- /*
- * A matrix transforming the clean aperture clip rect to the origin,
- * scaled to the clean aperture display dimensions.
- * For historical reasons, the DVCPROHD codecs store the production
- * aperture display dimensions in the image description width and
- * height; the actual encoded dimensions are smaller. For DVCPROHD,
- * the matrix will be relative to the image description width and
- * height, not the encoded dimensions.
- */
- kICMImageDescriptionPropertyID_CleanApertureMatrix = FOUR_CHAR_CODE('camx'), /* MatrixRecord, Read */
-
- /*
- * A matrix transforming the image to the origin, scaled to the
- * production aperture display dimensions.
- * For historical reasons, the DVCPROHD codecs store the production
- * aperture display dimensions in the image description width and
- * height; the actual encoded dimensions are smaller. For DVCPROHD,
- * the matrix will be relative to the image description width and
- * height, not the encoded dimensions.
- */
- kICMImageDescriptionPropertyID_ProductionApertureMatrix = FOUR_CHAR_CODE('pamx'), /* MatrixRecord, Read */
-
- /*
- * A localized, human readable string summarizing the image as a
- * CFString, ie: "Apple DV, 720 x 480 (640 x 480), Millions".
- * The elements are: the codec name, the encoded pixels dimensions,
- * then parenthetically the clean aperture mode dimensions, but only
- * if they are different from the encoded pixels dimensions; then the
- * depth.
- * The codec name shall be from the localized decompressor component
- * name string if exactly one decompressor with the correct cType is
- * available; otherwise the string in the image description shall be
- * used. The caller of GetProperty is responsible for releasing this
- * CFString, eg, by calling CFRelease.
- */
- kICMImageDescriptionPropertyID_SummaryString = FOUR_CHAR_CODE('isum') /* CFStringRef, Read - caller of GetProperty must call CFRelease*/
- };
-
- /*
- * ICMImageDescriptionGetPropertyInfo()
- *
- * Summary:
- * Gets info about a particular property of a ImageDescription.
- *
- * Parameters:
- *
- * inDesc:
- * ImageDescriptionHandle being interrogated
- *
- * inPropClass:
- * The class of property being requested
- *
- * inPropID:
- * The ID of the property being requested
- *
- * outPropType:
- * The type of property is returned here (can be NULL)
- *
- * outPropValueSize:
- * The size of property is returned here (can be NULL)
- *
- * outPropertyFlags:
- * The property flags are returned here (can be NULL)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMImageDescriptionGetPropertyInfo(
- ImageDescriptionHandle inDesc,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ComponentValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags); /* can be NULL */
-
-
- /*
- * ICMImageDescriptionGetProperty()
- *
- * Summary:
- * Gets a particular property of a ImageDescriptionHandle.
- *
- * Parameters:
- *
- * inDesc:
- * ImageDescriptionHandle being interrogated
- *
- * inPropClass:
- * The class of property being requested
- *
- * inPropID:
- * The ID of the property being requested
- *
- * inPropValueSize:
- * The size of the property value buffer
- *
- * outPropValueAddress:
- * Points to the buffer to receive the property value
- *
- * outPropValueSizeUsed:
- * Points to a variable to receive the actual size of returned
- * property value (can be NULL)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMImageDescriptionGetProperty(
- ImageDescriptionHandle inDesc,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ComponentValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed); /* can be NULL */
-
-
- /*
- * ICMImageDescriptionSetProperty()
- *
- * Summary:
- * Sets a particular property of a ImageDescriptionHandle.
- *
- * Parameters:
- *
- * inDesc:
- * ImageDescriptionHandle being modified
- *
- * inPropClass:
- * The class of property being set
- *
- * inPropID:
- * The ID of the property being set
- *
- * inPropValueSize:
- * The size of property value
- *
- * inPropValueAddress:
- * Points to the property value buffer
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMImageDescriptionSetProperty(
- ImageDescriptionHandle inDesc,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstComponentValuePtr inPropValueAddress);
-
-
-
-
- /*
- * ICMValidTimeFlags
- *
- * Summary:
- * Flags to describe which time values are valid.
- */
- typedef UInt32 ICMValidTimeFlags;
- enum
- {
-
- /*
- * Indicates that a display time stamp is valid.
- */
- kICMValidTime_DisplayTimeStampIsValid = 1L << 0,
-
- /*
- * Indicates that a display duration is valid.
- */
- kICMValidTime_DisplayDurationIsValid = 1L << 1,
-
- /*
- * Indicates that a decode time stamp is valid.
- */
- kICMValidTime_DecodeTimeStampIsValid = 1L << 2,
-
- /*
- * Indicates that a decode duration is valid.
- */
- kICMValidTime_DecodeDurationIsValid = 1L << 3,
-
- /*
- * Indicates that a display offset (the offset from a decode time
- * stamp to a display time stamp) is valid.
- */
- kICMValidTime_DisplayOffsetIsValid = 1L << 4
- };
-
-
- /*
- * ICMDecompressionSessionRef
- *
- * Summary:
- * Represents a decompression session that emits CVPixelBufferRefs
- * containing frames, tagged with display times.
- *
- * Discussion:
- * ICMDecompressionSession does not support source extraction,
- * matrix transformations, graphics transfer modes, region-based
- * clipping or data-loading procedures. Note that the pixel buffers
- * may be output out of display order, provided that the client opts
- * in.
- */
- typedef struct OpaqueICMDecompressionSession* ICMDecompressionSessionRef;
-
- /*
- * QTVisualContextRef
- *
- * Summary:
- * Represents a destination visual rendering environment.
- *
- * Discussion:
- * The QTVisualContextRef type encapsulates a connection to a
- * generic visual destination. A single visual context object may
- * not be associated with more than one movie at a time.
- */
- typedef struct OpaqueQTVisualContext* QTVisualContextRef;
-
- /*
- * ICMDecompressionSessionOptionsRef
- *
- * Summary:
- * Holds options for a decompression session.
- */
- typedef struct OpaqueICMDecompressionSessionOptions* ICMDecompressionSessionOptionsRef;
-
- /*
- * ICMDecompressionFrameOptionsRef
- *
- * Summary:
- * Holds options for decompressing an individual frame.
- */
- typedef struct OpaqueICMDecompressionFrameOptions* ICMDecompressionFrameOptionsRef;
-
- /*
- * ICMDecompressionTrackingFlags
- *
- * Summary:
- * Describes changes in state of a frame queued with an ICM
- * decompression session.
- */
- typedef UInt32 ICMDecompressionTrackingFlags;
- enum
- {
-
- /*
- * Indicates that this is the last call for this sourceFrameRefCon.
- */
- kICMDecompressionTracking_LastCall = 1L << 0,
-
- /*
- * Indicates that the session no longer needs the source data pointer.
- */
- kICMDecompressionTracking_ReleaseSourceData = 1L << 1,
-
- /*
- * Indicates that a frame is being emitted. The pixelBuffer parameter
- * contains the decompressed frame. If the decompression session is
- * targetting a visual context, the frame has not yet been sent to
- * the visual context but will be after the callback returns.
- */
- kICMDecompressionTracking_EmittingFrame = 1L << 2,
-
- /*
- * Indicates that this frame was decoded.
- */
- kICMDecompressionTracking_FrameDecoded = 1L << 3,
-
- /*
- * Indicates that the codec decided to drop this frame.
- */
- kICMDecompressionTracking_FrameDropped = 1L << 4,
-
- /*
- * Indicates that this frame will not be able to be displayed unless
- * it is queued for redecode (also known as FrameNotDisplayable).
- */
- kICMDecompressionTracking_FrameNeedsRequeueing = 1L << 5
- };
-
-
- /*
- * ICMDecompressionTrackingCallback
- *
- * Summary:
- * The callback through which a client of an ICM decompression
- * session receives decoded frames and information about decoding.
- *
- * Discussion:
- * The client may retain the emitted pixel buffers as long as it
- * needs; they will not be reused before the client releases them.
- *
- * Parameters:
- *
- * decompressionTrackingRefCon:
- * The callback's reference value, copied from the
- * decompressionTrackingRefCon field of the
- * ICMDecompressionTrackingCallbackRecord structure.
- *
- * result:
- * Indicates whether there was an error in decompression.
- *
- * decompressionTrackingFlags:
- * One or more flags describing the a frame's state transitions.
- *
- * pixelBuffer:
- * When the kICMDecompressionTracking_EmittingFrame flag is set in
- * decompressionTrackingFlags, a pixel buffer containing the
- * decompressed frame. Otherwise, NULL.
- *
- * displayTime:
- * If kICMValidTime_DisplayTimeStampIsValid is set in
- * validTimeFlags, the display time of the frame.
- *
- * displayDuration:
- * If kICMValidTime_DisplayDurationIsValid is set in
- * validTimeFlags, the display duration of the frame.
- *
- * validTimeFlags:
- * Indicates which of displayTime and displayDuration is valid.
- *
- * reserved:
- * Reserved for future use. Ignore the value of this parameter.
- *
- * sourceFrameRefCon:
- * The frame's reference value, copied from the sourceFrameRefCon
- * parameter to ICMDecompressionSessionDecodeFrame.
- */
- typedef CALLBACK_API_C(void , ICMDecompressionTrackingCallback)(void *decompressionTrackingRefCon, OSStatus result, ICMDecompressionTrackingFlags decompressionTrackingFlags, CVPixelBufferRef pixelBuffer, TimeValue64 displayTime, TimeValue64 displayDuration, ICMValidTimeFlags validTimeFlags, void *reserved, void *sourceFrameRefCon);
-
- /*
- * ICMDecompressionTrackingCallbackRecord
- *
- * Summary:
- * A tracking callback for an ICM decompression session.
- */
- struct ICMDecompressionTrackingCallbackRecord
- {
-
- /*
- * The callback function pointer.
- */
- ICMDecompressionTrackingCallback decompressionTrackingCallback;
-
- /*
- * The callback's reference value.
- */
- void * decompressionTrackingRefCon;
- };
- typedef struct ICMDecompressionTrackingCallbackRecord ICMDecompressionTrackingCallbackRecord;
- /*
- * ICMDecompressionSessionCreate()
- *
- * Summary:
- * Creates a session for decompressing video frames.
- *
- * Discussion:
- * Frames will be output through calls to trackingCallback.
- *
- * Parameters:
- *
- * allocator:
- * An allocator for the session. Pass NULL to use the default
- * allocator.
- *
- * desc:
- * An image description for the source frames.
- *
- * decompressionOptions:
- * Options for the session. The session will retain this options
- * object. You may change some options during the session by
- * modifying the object.
- *
- * destinationPixelBufferAttributes:
- * Describes requirements for emitted pixel buffers.
- *
- * trackingCallback:
- * The callback to be called with information about queued frames,
- * and pixel buffers containing the decompressed frames.
- *
- * decompressionSessionOut:
- * Points to a variable to receive the new decompression session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionCreate(
- CFAllocatorRef allocator, /* can be NULL */
- ImageDescriptionHandle desc,
- ICMDecompressionSessionOptionsRef decompressionOptions, /* can be NULL */
- CFDictionaryRef destinationPixelBufferAttributes, /* can be NULL */
- ICMDecompressionTrackingCallbackRecord * trackingCallback,
- ICMDecompressionSessionRef * decompressionSessionOut);
-
-
- /*
- * ICMDecompressionSessionCreateForVisualContext()
- *
- * Summary:
- * Creates a session for decompressing video frames.
- *
- * Discussion:
- * Frames will be output to a visual context. If desired, the
- * trackingCallback may attach additional data to pixel buffers
- * before they are sent to the visual context.
- *
- * Parameters:
- *
- * allocator:
- * An allocator for the session. Pass NULL to use the default
- * allocator.
- *
- * desc:
- * An image description for the source frames.
- *
- * decompressionOptions:
- * Options for the session. The session will retain this options
- * object. You may change some options during the session by
- * modifying the object.
- *
- * visualContext:
- * The target visual context.
- *
- * trackingCallback:
- * The callback to be called with information about queued frames,
- * and pixel buffers containing the decompressed frames.
- *
- * decompressionSessionOut:
- * Points to a variable to receive the new decompression session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionCreateForVisualContext(
- CFAllocatorRef allocator, /* can be NULL */
- ImageDescriptionHandle desc,
- ICMDecompressionSessionOptionsRef decompressionOptions, /* can be NULL */
- QTVisualContextRef visualContext,
- ICMDecompressionTrackingCallbackRecord * trackingCallback,
- ICMDecompressionSessionRef * decompressionSessionOut);
-
-
- /*
- * ICMDecompressionSessionRetain()
- *
- * Summary:
- * Increments the retain count of a decompression session.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMDecompressionSessionRef)
- ICMDecompressionSessionRetain(ICMDecompressionSessionRef session);
-
-
- /*
- * ICMDecompressionSessionRelease()
- *
- * Summary:
- * Decrements the retain count of a decompression session. If it
- * drops to zero, the session is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMDecompressionSessionRelease(ICMDecompressionSessionRef session);
-
-
- /*
- * ICMDecompressionSessionGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for decompression sessions.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMDecompressionSessionGetTypeID(void);
-
-
- /*
- * ICMDecompressionSessionDecodeFrame()
- *
- * Summary:
- * Queues a frame for decompression.
- *
- * Parameters:
- *
- * session:
- * The decompression session.
- *
- * data:
- * Points to the compressed data for this frame. The data must
- * remain in this location until the tracking callback is called
- * with the kICMDecompressionTracking_ReleaseSourceData flag set
- * in decompressionTrackingFlags.
- *
- * dataSize:
- * The number of bytes of compressed data. You may not pass zero
- * in this parameter.
- *
- * frameOptions:
- * Options for this frame.
- *
- * frameTime:
- * Points to a structure describing the frame's timing information.
- *
- * sourceFrameRefCon:
- * Your reference value for the frame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionDecodeFrame(
- ICMDecompressionSessionRef session,
- const UInt8 * data,
- ByteCount dataSize,
- ICMDecompressionFrameOptionsRef frameOptions, /* can be NULL */
- const ICMFrameTimeRecord * frameTime,
- void * sourceFrameRefCon);
-
-
- /*
- * ICMDecompressionSessionGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a decompression session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionGetPropertyInfo(
- ICMDecompressionSessionRef session,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ComponentValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags); /* can be NULL */
-
-
- /*
- * ICMDecompressionSessionGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a decompression
- * session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionGetProperty(
- ICMDecompressionSessionRef session,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ComponentValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed); /* can be NULL */
-
-
- /*
- * ICMDecompressionSessionSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a decompression session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionSetProperty(
- ICMDecompressionSessionRef session,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstComponentValuePtr inPropValueAddress);
-
-
-
- /*
- * ICMNonScheduledDisplayTime
- *
- * Discussion:
- * The display time for a decompression session.
- */
- struct ICMNonScheduledDisplayTime
- {
-
- /*
- * A display time. Usually this is the display time of a
- * non-scheduled queued frame.
- */
- TimeValue64 displayTime;
-
- /*
- * The timescale according to which displayTime should be interpreted.
- */
- TimeScale displayTimeScale;
-
- /*
- * Reserved, set to zero.
- */
- UInt32 flags;
- };
- typedef struct ICMNonScheduledDisplayTime ICMNonScheduledDisplayTime;
-
- /*
- * Summary:
- * Properties of decompression sessions.
- */
- enum
- {
-
- /*
- * Class identifier for decompression session properties.
- */
- kQTPropertyClass_ICMDecompressionSession = FOUR_CHAR_CODE('icds'),
-
- /*
- * The non-scheduled display time for a decompression session.
- * Setting this requests display of the non-scheduled queued frame at
- * that display time, if there is one.
- * See ICMDecompressionSessionSetNonScheduledDisplayTime.
- */
- kICMDecompressionSessionPropertyID_NonScheduledDisplayTime = FOUR_CHAR_CODE('nsti'), /* ICMNonScheduledDisplayTime, Read/Write */
-
- /*
- * The direction for non-scheduled display time.
- * See ICMDecompressionSessionSetNonScheduledDisplayDirection.
- */
- kICMDecompressionSessionPropertyID_NonScheduledDisplayDirection = FOUR_CHAR_CODE('nsdu'), /* Fixed, Read/Write */
-
- /*
- * The pixel buffer pool from which emitted pixel buffers are
- * allocated. Getting this does not change the retain count of the
- * pool.
- */
- kICMDecompressionSessionPropertyID_PixelBufferPool = FOUR_CHAR_CODE('pool'), /* CVPixelBufferPoolRef, Read */
-
- /*
- * Indicates whether the a common pixel buffer pool is shared between
- * the decompressor and the session client. This is false if separate
- * pools are used because the decompressor's and the client's pixel
- * buffer attributes were incompatible.
- */
- kICMDecompressionSessionPropertyID_PixelBufferPoolIsShared = FOUR_CHAR_CODE('plsh') /* Boolean, Read */
- };
-
- /*
- * ICMDecompressionSessionSetNonScheduledDisplayTime()
- *
- * Summary:
- * Sets the display time for a decompression session, and requests
- * display of the non-scheduled queued frame at that display time,
- * if there is one.
- *
- * Discussion:
- * Call ICMDecompressionSessionSetNonScheduledDisplayTime after
- * queueing non-scheduled frames with
- * ICMDecompressionSessionDecodeFrame with the
- * icmFrameTimeIsNonScheduledDisplayTime flag set to request display
- * of the frame at a particular display time.
- * If there is no queued non-scheduled frame with this display time,
- * the frame with the next earlier display time is displayed. (Which
- * of two display times is earlier is determined using the
- * non-scheduled display time direction, which you can set with
- * ICMDecompressionSessionSetNonScheduledDisplayDirection.) If there
- * is no such frame, nothing happens.
- * This has no effect if frames are scheduled against a timebase.
- *
- * Parameters:
- *
- * session:
- * The decompression session.
- *
- * displayTime:
- * A display time. Usually this is the display time of a
- * non-scheduled queued frame.
- *
- * displayTimeScale:
- * The timescale according to which displayTime should be
- * interpreted.
- *
- * flags:
- * Reserved, set to zero.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionSetNonScheduledDisplayTime(
- ICMDecompressionSessionRef session,
- TimeValue64 displayTime,
- TimeScale displayTimeScale,
- UInt32 flags);
-
-
- /*
- * ICMDecompressionSessionSetNonScheduledDisplayDirection()
- *
- * Summary:
- * Sets the direction for non-scheduled display time.
- *
- * Discussion:
- * If rate is zero or positive, direction is forwards. If negative,
- * direction is backwards.
- * Any frames queued under the opposite direction will be flushed.
- *
- * The non-scheduled display direction defaults to forwards (rate
- * 1.0).
- *
- * Parameters:
- *
- * session:
- * The decompression session.
- *
- * rate:
- * Indicates the direction.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionSetNonScheduledDisplayDirection(
- ICMDecompressionSessionRef session,
- Fixed rate);
-
-
- /*
- * ICMDecompressionSessionFlush()
- *
- * Summary:
- * Flushes frames queued with a decompression session.
- *
- * Discussion:
- * The tracking callback will be called for each frame with the
- * result -1.
- *
- * Parameters:
- *
- * session:
- * The decompression session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionFlush(ICMDecompressionSessionRef session);
-
-
-
-
- /*
- * ICMDecompressionSessionOptionsCreate()
- *
- * Summary:
- * Creates a decompression session options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionOptionsCreate(
- CFAllocatorRef allocator, /* can be NULL */
- ICMDecompressionSessionOptionsRef * options);
-
-
- /*
- * ICMDecompressionSessionOptionsCreateCopy()
- *
- * Summary:
- * Copies a decompression session options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionOptionsCreateCopy(
- CFAllocatorRef allocator, /* can be NULL */
- ICMDecompressionSessionOptionsRef originalOptions,
- ICMDecompressionSessionOptionsRef * copiedOptions);
-
-
- /*
- * ICMDecompressionSessionOptionsRetain()
- *
- * Summary:
- * Increments the retain count of a decompression session options
- * object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMDecompressionSessionOptionsRef)
- ICMDecompressionSessionOptionsRetain(ICMDecompressionSessionOptionsRef options);
-
-
- /*
- * ICMDecompressionSessionOptionsRelease()
- *
- * Summary:
- * Decrements the retain count of a decompression session options
- * object. If it drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMDecompressionSessionOptionsRelease(ICMDecompressionSessionOptionsRef options);
-
-
- /*
- * ICMDecompressionSessionOptionsGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for decompression session options objects.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMDecompressionSessionOptionsGetTypeID(void);
-
-
- /*
- * ICMDecompressionSessionOptionsGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a decompression session
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionOptionsGetPropertyInfo(
- ICMDecompressionSessionOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ComponentValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags); /* can be NULL */
-
-
- /*
- * ICMDecompressionSessionOptionsGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a decompression
- * session options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionOptionsGetProperty(
- ICMDecompressionSessionOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ComponentValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed); /* can be NULL */
-
-
- /*
- * ICMDecompressionSessionOptionsSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a decompression session
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionSessionOptionsSetProperty(
- ICMDecompressionSessionOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstComponentValuePtr inPropValueAddress);
-
-
-
- /*
- * Summary:
- * Properties of decompression session options objects.
- */
- enum
- {
-
- /*
- * Class identifier for decompression session options object
- * properties.
- */
- kQTPropertyClass_ICMDecompressionSessionOptions = FOUR_CHAR_CODE('idso'),
-
- /*
- * By default, this is true, meaning that frames must be output in
- * display order. Set this to false to allow frames to be output in
- * decode order rather than in display order.
- */
- kICMDecompressionSessionOptionsPropertyID_DisplayOrderRequired = FOUR_CHAR_CODE('dorq'), /* Boolean, Read/Write */
-
- /*
- * A specific decompressor component or component instance to be
- * used, or one of the wildcards anyCodec, bestSpeedCodec,
- * bestFidelityCodec, or bestCompressionCodec.
- * By default, this is anyCodec.
- */
- kICMDecompressionSessionOptionsPropertyID_DecompressorComponent = FOUR_CHAR_CODE('imdc'), /* DecompressorComponent, Read/Write */
-
- /*
- * The decompression accuracy.
- * The default accuracy is codecNormalQuality.
- */
- kICMDecompressionSessionOptionsPropertyID_Accuracy = FOUR_CHAR_CODE('acur'), /* CodecQ, Read/Write */
-
- /*
- * Requests special handling of fields. Not all codecs will obey this
- * request; some codecs will only handle it at certain accuracy
- * levels. Ignored for non-interlaced content.
- */
- kICMDecompressionSessionOptionsPropertyID_FieldMode = FOUR_CHAR_CODE('fiel'), /* ICMFieldMode, Read/Write */
-
- /*
- * The maximum number of buffers ahead of the current time that
- * should be decompressed. Used in sessions that target visual
- * contexts. By default, the number of buffers will be determined
- * from the visual context.
- */
- kICMDecompressionSessionOptionsPropertyID_MaxBufferCount = FOUR_CHAR_CODE('m#bf'), /* UInt32, Read/Write */
-
- /*
- * The minimum time ahead of the current time that frames should be
- * decompressed. Used in sessions that target visual contexts. By
- * default, the output-ahead time will be determined from the visual
- * context.
- */
- kICMDecompressionSessionOptionsPropertyID_OutputAheadTime = FOUR_CHAR_CODE('futu'), /* TimeRecord, Read/Write */
-
- /*
- * You can set the aperture mode property on a decompression session
- * options object to indicate whether pixel buffers should be tagged
- * to enable aspect ratio and clean aperture correction. The default
- * aperture mode for a decompression session is clean aperture mode.
- */
- kICMDecompressionSessionOptionsPropertyID_ApertureMode = FOUR_CHAR_CODE('apmd') /* OSType, Read/Write */
- };
-
-
- /*
- * ICMFieldMode
- *
- * Summary:
- * Describes special field handling.
- */
- typedef UInt32 ICMFieldMode;
- enum
- {
-
- /*
- * Both fields should be decompressed.
- */
- kICMFieldMode_BothFields = 0,
-
- /*
- * Only the top field should be decompressed, producing a half-height
- * image.
- */
- kICMFieldMode_TopFieldOnly = 1,
-
- /*
- * Only the bottom field should be decompressed, producing a
- * half-height image.
- */
- kICMFieldMode_BottomFieldOnly = 2,
-
- /*
- * Both fields should be decompressed, and then filtered to reduce
- * interlacing artifacts.
- */
- kICMFieldMode_DeinterlaceFields = 3
- };
-
-
- /*
- * ICMDecompressionFrameOptionsCreate()
- *
- * Summary:
- * Creates a frame decompression options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionFrameOptionsCreate(
- CFAllocatorRef allocator, /* can be NULL */
- ICMDecompressionFrameOptionsRef * options);
-
-
- /*
- * ICMDecompressionFrameOptionsCreateCopy()
- *
- * Summary:
- * Copies a frame decompression options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionFrameOptionsCreateCopy(
- CFAllocatorRef allocator, /* can be NULL */
- ICMDecompressionFrameOptionsRef originalOptions,
- ICMDecompressionFrameOptionsRef * copiedOptions);
-
-
- /*
- * ICMDecompressionFrameOptionsRetain()
- *
- * Summary:
- * Increments the retain count of a frame decompression options
- * object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMDecompressionFrameOptionsRef)
- ICMDecompressionFrameOptionsRetain(ICMDecompressionFrameOptionsRef options);
-
-
- /*
- * ICMDecompressionFrameOptionsRelease()
- *
- * Summary:
- * Decrements the retain count of a frame decompression options
- * object. If it drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMDecompressionFrameOptionsRelease(ICMDecompressionFrameOptionsRef options);
-
-
- /*
- * ICMDecompressionFrameOptionsGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for frame decompression options objects.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMDecompressionFrameOptionsGetTypeID(void);
-
-
- /*
- * ICMDecompressionFrameOptionsGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a decompression frame
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionFrameOptionsGetPropertyInfo(
- ICMDecompressionFrameOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ComponentValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags); /* can be NULL */
-
-
- /*
- * ICMDecompressionFrameOptionsGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a decompression
- * frame options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionFrameOptionsGetProperty(
- ICMDecompressionFrameOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ComponentValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed); /* can be NULL */
-
-
- /*
- * ICMDecompressionFrameOptionsSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a decompression frame
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMDecompressionFrameOptionsSetProperty(
- ICMDecompressionFrameOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstComponentValuePtr inPropValueAddress);
-
-
-
- /*
- * Summary:
- * Properties of decompression frame options objects.
- */
- enum
- {
-
- /*
- * Class identifier for decompression frame options object properties.
- */
- kQTPropertyClass_ICMDecompressionFrameOptions = FOUR_CHAR_CODE('idfo'),
-
- /*
- * A specific pixel buffer that the frame should be decompressed
- * into. Setting this circumvents the pixel buffer pool mechanism. If
- * this buffer is not compatible with the codec's pixel buffer
- * requirements, decompression will fail.
- */
- kICMDecompressionFrameOptionsPropertyID_DestinationPixelBuffer = FOUR_CHAR_CODE('cvpb') /* CVPixelBufferRef, Read/Write */
- };
-
-
- /*
- * ICMCompressionSessionRef
- *
- * Summary:
- * Represents a compression session for a sequence of images.
- * B-frame capable.
- */
- typedef struct OpaqueICMCompressionSession* ICMCompressionSessionRef;
-
- /*
- * ICMEncodedFrameRef
- *
- * Summary:
- * Represents a frame encoded by a compressor component and emitted
- * by a compression session.
- *
- * Discussion:
- * Compressor components have access to the mutable flavor of
- * encoded frame object (ICMMutableEncodedFrameRef); compression
- * session clients receive the read-only flavor
- * (ICMMutableEncodedFrameRef).
- */
- typedef const struct OpaqueICMEncodedFrame* ICMEncodedFrameRef;
- typedef struct OpaqueICMEncodedFrame* ICMMutableEncodedFrameRef;
-
- /*
- * ICMCompressionSessionOptionsRef
- *
- * Summary:
- * An opaque struct which holds options to configure a compression
- * session.
- */
- typedef struct OpaqueICMCompressionSessionOptions* ICMCompressionSessionOptionsRef;
-
- /*
- * ICMCompressionFrameOptionsRef
- *
- * Summary:
- * A token which holds options to configure an individual frame
- * during a compression session.
- */
- typedef struct OpaqueICMCompressionFrameOptions* ICMCompressionFrameOptionsRef;
-
- /*
- * ICMMultiPassStorageRef
- *
- * Summary:
- * A mechanism for storing information for each frame of a multipass
- * compression session.
- *
- * Discussion:
- * The ICM provides default storage mechanisms using temporary
- * files, but clients may override this with custom mechanisms.
- */
- typedef struct OpaqueICMMultiPassStorage* ICMMultiPassStorageRef;
-
- /*
- * ICMEncodedFrameOutputCallback
- *
- * Summary:
- * The callback through which a client of an ICM compression session
- * receives encoded frames.
- *
- * Discussion:
- * During the encoded frame output callback, the ICM has a reference
- * to the passed ICMEncodedFrame, but the ICM will release that
- * reference afterwards; the callback should retain the encoded
- * frame if the client wants to keep it after the callback returns.
- *
- * Parameters:
- *
- * encodedFrameOutputRefCon:
- * The callback's reference value, copied from the
- * encodedFrameOutputRefCon field of the
- * ICMEncodedFrameOutputRecord.
- *
- * session:
- * The compression session.
- *
- * error:
- * Indicates whether there was an error.
- *
- * frame:
- * The encoded frame.
- *
- * reserved:
- * Reserved for future use. Ignore the value of this parameter.
- *
- * Result:
- * If the callback returns an error, the compressor and ICM will
- * stop emitting frames so that the error can be propogated back to
- * the caller of ICMCompressionSessionEncodeFrame or
- * ICMCompressionSessionCompleteFrames.
- */
- typedef CALLBACK_API_C(OSStatus , ICMEncodedFrameOutputCallback)(void *encodedFrameOutputRefCon, ICMCompressionSessionRef session, OSStatus error, ICMEncodedFrameRef frame, void *reserved);
-
- /*
- * ICMEncodedFrameOutputRecord
- *
- * Summary:
- * Holds an encoded frame callback and reference value.
- */
- struct ICMEncodedFrameOutputRecord
- {
-
- /*
- * An encoded frame callback.
- */
- ICMEncodedFrameOutputCallback encodedFrameOutputCallback;
-
- /*
- * The reference value for the encoded frame callback.
- */
- void * encodedFrameOutputRefCon;
-
- /*
- * The allocator for encoded frame data. Pass NULL if you do not need
- * a specific allocator.
- */
- CFAllocatorRef frameDataAllocator;
- };
- typedef struct ICMEncodedFrameOutputRecord ICMEncodedFrameOutputRecord;
-
- /*
- * ICMSourceTrackingFlags
- *
- */
- typedef UInt32 ICMSourceTrackingFlags;
- enum
- {
-
- /*
- * Indicates that this is the last call for this sourceFrameRefCon.
- */
- kICMSourceTracking_LastCall = 1L << 0,
-
- /*
- * Indicates that the session is done with the source pixel buffer
- * and has released any reference to it that it had.
- */
- kICMSourceTracking_ReleasedPixelBuffer = 1L << 1,
-
- /*
- * Indicates that this frame was encoded.
- */
- kICMSourceTracking_FrameWasEncoded = 1L << 2,
-
- /*
- * Indicates that this frame was dropped.
- */
- kICMSourceTracking_FrameWasDropped = 1L << 3,
-
- /*
- * Indicates that this frame was merged into other frames.
- */
- kICMSourceTracking_FrameWasMerged = 1L << 4,
-
- /*
- * Indicates that the time stamp of this frame was modified.
- */
- kICMSourceTracking_FrameTimeWasChanged = 1L << 5,
-
- /*
- * Indicates that the ICM has copied the image from the source pixel
- * buffer into another pixel buffer because the source pixel buffer
- * was not compatible with the compressor's required pixel buffer
- * attributes.
- */
- kICMSourceTracking_CopiedPixelBuffer = 1L << 6
- };
-
-
- /*
- * ICMSourceTrackingCallback
- *
- * Summary:
- * A callback which the ICM calls to provide information about the
- * status of a frame that was passed to
- * ICMCompressionSessionEncodeFrame.
- *
- * Discussion:
- * Note that this callback may be called several times.
- *
- * Parameters:
- *
- * sourceTrackingRefCon:
- * The callback's reference value, copied from the
- * sourceTrackingRefCon field of ICMSourceTrackingCallbackRecord.
- *
- * sourceTrackingFlags:
- * Flags describing what has happened to the frame.
- *
- * sourceFrameRefCon:
- * The frame's reference value, copied from the sourceFrameRefCon
- * parameter to ICMCompressionSessionEncodeFrame.
- *
- * reserved:
- * Reserved for future use. Ignore the value of this parameter.
- */
- typedef CALLBACK_API_C(void , ICMSourceTrackingCallback)(void *sourceTrackingRefCon, ICMSourceTrackingFlags sourceTrackingFlags, void *sourceFrameRefCon, void *reserved);
-
- /*
- * ICMSourceTrackingCallbackRecord
- *
- * Summary:
- * A tracking callback for an ICM compression session.
- */
- struct ICMSourceTrackingCallbackRecord
- {
-
- /*
- * The callback function pointer.
- */
- ICMSourceTrackingCallback sourceTrackingCallback;
-
- /*
- * The callback's reference value.
- */
- void * sourceTrackingRefCon;
- };
- typedef struct ICMSourceTrackingCallbackRecord ICMSourceTrackingCallbackRecord;
-
- /*
- * ICMFrameType
- *
- * Summary:
- * Informally identifies a type of frame.
- *
- * Discussion:
- * Do not assume that there are no other frame types beyond I, P and
- * B.
- */
- typedef UInt16 ICMFrameType;
- enum
- {
- kICMFrameType_I = 'I',
- kICMFrameType_P = 'P',
- kICMFrameType_B = 'B',
- kICMFrameType_Unknown = 0
- };
-
-
- /* ICMCompressionSessionRef routines */
- /*
- * ICMCompressionSessionCreate()
- *
- * Summary:
- * Creates a compression session for the given codec type.
- *
- * Discussion:
- * Some compressors do not support arbitrary source dimensions, and
- * may override the suggested width and height.
- *
- * Parameters:
- *
- * allocator:
- * An allocator for the session. Pass NULL to use the default
- * allocator.
- *
- * width:
- * The width of frames.
- *
- * height:
- * The height of frames.
- *
- * cType:
- * The codec type.
- *
- * timescale:
- * The timescale to be used for all timestamps and durations used
- * in the session.
- *
- * compressionOptions:
- * Settings configuring the session.
- *
- * sourcePixelBufferAttributes:
- * Required attributes for source pixel buffers, used when
- * creating a pixel buffer pool for source frames. If you do not
- * want the ICM to create one for you, pass NULL. (Using pixel
- * buffers not allocated by the ICM may increase the chance that
- * it will be necessary to copy image data.)
- *
- * encodedFrameOutputRecord:
- * The callback that will receive encoded frames.
- *
- * compressionSessionOut:
- * Points to a variable to receive the created session object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionCreate(
- CFAllocatorRef allocator, /* can be NULL */
- int width,
- int height,
- CodecType cType,
- TimeScale timescale,
- ICMCompressionSessionOptionsRef compressionOptions, /* can be NULL */
- CFDictionaryRef sourcePixelBufferAttributes, /* can be NULL */
- ICMEncodedFrameOutputRecord * encodedFrameOutputRecord,
- ICMCompressionSessionRef * compressionSessionOut);
-
-
- /*
- * ICMCompressionSessionRetain()
- *
- * Summary:
- * Increments the retain count of a compression session.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMCompressionSessionRef)
- ICMCompressionSessionRetain(ICMCompressionSessionRef session);
-
-
- /*
- * ICMCompressionSessionRelease()
- *
- * Summary:
- * Decrements the retain count of a compression session. If it
- * drops to zero, the session is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens. Remember to
- * call ICMCompressionSessionCompleteFrames first if you want to
- * ensure any pending frames are emitted. If you do not, they will
- * be discarded.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMCompressionSessionRelease(ICMCompressionSessionRef session);
-
-
- /*
- * ICMCompressionSessionGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for compression sessions.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMCompressionSessionGetTypeID(void);
-
-
- /*
- * ICMCompressionSessionGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a compression session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionGetPropertyInfo(
- ICMCompressionSessionRef session,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ComponentValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags); /* can be NULL */
-
-
- /*
- * ICMCompressionSessionGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a compression
- * session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionGetProperty(
- ICMCompressionSessionRef session,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ComponentValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed); /* can be NULL */
-
-
- /*
- * ICMCompressionSessionSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a compression session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionSetProperty(
- ICMCompressionSessionRef session,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstComponentValuePtr inPropValueAddress);
-
-
-
- /*
- * Summary:
- * Properties of compression sessions.
- */
- enum
- {
-
- /*
- * Class identifier for compression session properties.
- */
- kQTPropertyClass_ICMCompressionSession = FOUR_CHAR_CODE('icse'),
-
- /*
- * The time scale for the compression session.
- */
- kICMCompressionSessionPropertyID_TimeScale = FOUR_CHAR_CODE('tscl'), /* TimeScale, Read */
-
- /*
- * The compressor's pixel buffer attributes for the compression
- * session. You can use these to create a pixel buffer pool for
- * source pixel buffers. Note that this is not the same as the
- * sourcePixelBufferAttributes passed in to
- * ICMCompressionSessionCreate. Getting this property does not change
- * its retain count.
- */
- kICMCompressionSessionPropertyID_CompressorPixelBufferAttributes = FOUR_CHAR_CODE('batt'), /* CFDictionaryRef, Read */
-
- /*
- * A pool that can provide ideal source pixel buffers for a
- * compression session. The compression session creates this pixel
- * buffer pool based on the compressor's pixel buffer attributes and
- * any pixel buffer attributes passed in to
- * ICMCompressionSessionCreate. If the source pixel buffer attributes
- * and the compressor pixel buffer attributes can not be reconciled,
- * the pool is based on the source pixel buffer attributes and the
- * ICM converts each CVPixelBuffer internally.
- */
- kICMCompressionSessionPropertyID_PixelBufferPool = FOUR_CHAR_CODE('pool'), /* CVPixelBufferPoolRef, Read */
-
- /*
- * The image description for the compression session. For some
- * codecs, the image description may not be available before the
- * first frame is compressed. Multiple calls to retrieve this
- * property will return the same handle. The ICM will dispose this
- * handle when the compression session is disposed.
- * IMPORTANT: The caller must NOT dispose this handle.
- */
- kICMCompressionSessionPropertyID_ImageDescription = FOUR_CHAR_CODE('idsc') /* ImageDescriptionHandle, Read */
- };
-
- /*
- * ICMCompressionSessionGetTimeScale()
- *
- * Summary:
- * Retrieves the time scale for the compression session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(TimeScale)
- ICMCompressionSessionGetTimeScale(ICMCompressionSessionRef session);
-
-
- /*
- * ICMCompressionSessionGetPixelBufferPool()
- *
- * Summary:
- * Returns a pool that can provide ideal source pixel buffers for a
- * compression session.
- *
- * Discussion:
- * The compression session creates this pixel buffer pool based on
- * the compressor's pixel buffer attributes and any pixel buffer
- * attributes passed in to ICMCompressionSessionCreate. If the
- * source pixel buffer attributes and the compressor pixel buffer
- * attributes can not be reconciled, the pool is based on the source
- * pixel buffer attributes and the ICM converts each CVPixelBuffer
- * internally.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CVPixelBufferPoolRef)
- ICMCompressionSessionGetPixelBufferPool(ICMCompressionSessionRef session);
-
-
- /*
- * ICMCompressionSessionGetImageDescription()
- *
- * Summary:
- * Retrieves the image description for the compression session.
- *
- * Discussion:
- * For some codecs, this may fail if called before the first frame
- * is compressed. Multiple calls to
- * ICMCompressionSessionGetImageDescription will return the same
- * handle. The ICM will dispose this handle when the compression
- * session is disposed.
- * IMPORTANT: The caller must NOT dispose this handle.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionGetImageDescription(
- ICMCompressionSessionRef session,
- ImageDescriptionHandle * imageDescOut);
-
-
- /* ICMCompressionSessionRef encoding routines */
- /*
- * ICMCompressionSessionEncodeFrame()
- *
- * Summary:
- * Call this function to present frames to the compression session.
- * Encoded frames may or may not be output before the function
- * returns.
- *
- * Discussion:
- * The session will retain the pixel buffer as long as necessary;
- * the client should not modify the pixel data until the session
- * releases it. (The most practical way to deal with this is by
- * allocating pixel buffers from a pool.)
- * The client may fill in both, either or neither of
- * displayTimeStamp and displayDuration, but should set the
- * appropriate flags to indicate which is valid. If the client needs
- * to track the progress of a source frame, it should provide a
- * sourceTrackingCallback.
- * Note: If multipass compression is enabled, calls to
- * ICMCompressionSessionEncodeFrame must be bracketed by
- * ICMCompressionSessionBeginPass ... ICMCompressionSessionEndPass.
- *
- * Parameters:
- *
- * session:
- * Identifies the compression session.
- *
- * pixelBuffer:
- * Contains the source image to be compressed. PixelBuffer must
- * have a nonzero reference count. The session will retain it as
- * long as necessary. The client should not modify pixel buffer's
- * pixels until the pixel buffer release callback is called. In a
- * multipass encoding session pass where the compressor suggested
- * the flag kICMCompressionPassMode_NoSourceFrames, you may pass
- * NULL for pixelBuffer.
- *
- * displayTimeStamp:
- * The display timestamp of the frame, using the timescale passed
- * to ICMCompressionSessionCreate. If you pass a valid value, set
- * the kICMValidTime_DisplayTimeStampIsValid flag in
- * validTimeFlags.
- *
- * displayDuration:
- * The display duration of the frame, using the timescale passed
- * to ICMCompressionSessionCreate. If you pass a valid value, set
- * the kICMValidTime_DisplayDurationIsValid flag in validTimeFlags.
- *
- * validTimeFlags:
- * Flags to indicate which of displayTimeStamp and displayDuration
- * are valid.
- *
- * frameOptions:
- * Options for this frame.
- *
- * sourceTrackingCallback:
- * A callback to be notified about the status of this source
- * frame. Pass NULL if you do not require notification.
- *
- * sourceFrameRefCon:
- * Your reference to the source frame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionEncodeFrame(
- ICMCompressionSessionRef session,
- CVPixelBufferRef pixelBuffer,
- TimeValue64 displayTimeStamp,
- TimeValue64 displayDuration,
- ICMValidTimeFlags validTimeFlags,
- ICMCompressionFrameOptionsRef frameOptions, /* can be NULL */
- ICMSourceTrackingCallbackRecord * sourceTrackingCallback, /* can be NULL */
- void * sourceFrameRefCon);
-
-
-
- /*
- * ICMCompressionSessionCompleteFrames()
- *
- * Discussion:
- * Call this function to force the compression session to complete
- * encoding frames. Set completeAllFrames to direct the session to
- * complete all pending frames.
- * If completeAllFrames is false, only frames with display time
- * stamps up to and including completeUntilDisplayTimeStamp.
- * If ICMCompressionSessionOptionsSetDurationsNeeded is true and you
- * are passing valid display timestamps but not display durations to
- * ICMCompressionSessionEncodeFrame, pass the display timestamp of
- * the next frame that would be passed to EncodeFrame in
- * nextDisplayTimeStamp.
- * Note: This function might return before frames are completed if
- * the encoded frame callback returns an error.
- *
- * Parameters:
- *
- * session:
- * Identifies the compression session.
- *
- * completeAllFrames:
- * Set to direct the session to complete all pending frames.
- *
- * completeUntilDisplayTimeStamp:
- * If completeAllFrames is false, the display timestamp to
- * complete frames up to. Ignored if completeAllFrames is true.
- *
- * nextDisplayTimeStamp:
- * See above. Ignored unless
- * ICMCompressionSessionOptionsSetDurationsNeeded set true and
- * kICMValidTime_DisplayDurationIsValid was clear in
- * validTimeFlags in last call to ICMCompressionSessionEncodeFrame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionCompleteFrames(
- ICMCompressionSessionRef session,
- Boolean completeAllFrames,
- TimeValue64 completeUntilDisplayTimeStamp,
- TimeValue64 nextDisplayTimeStamp);
-
-
-
- /* ICMCompressionSessionRef multipass support routines */
-
- /*
- * ICMCompressionPassModeFlags
- *
- * Summary:
- * Flags describing how a compressor should behave in a given pass
- * of multipass encoding.
- */
- typedef UInt32 ICMCompressionPassModeFlags;
- enum
- {
-
- /*
- * In this pass the compressor shall output encoded frames.
- */
- kICMCompressionPassMode_OutputEncodedFrames = 1L << 0,
-
- /*
- * In this pass the client need not provide source frame buffers.
- */
- kICMCompressionPassMode_NoSourceFrames = 1L << 1,
-
- /*
- * In this pass the compressor may write private data to multipass
- * storage.
- */
- kICMCompressionPassMode_WriteToMultiPassStorage = 1L << 2,
-
- /*
- * In this pass the compressor may read private data from multipass
- * storage.
- */
- kICMCompressionPassMode_ReadFromMultiPassStorage = 1L << 3,
-
- /*
- * The compressor will set this flag to indicate that it will not be
- * able to output encoded frames in the coming pass. If this flag is
- * not set, then the client is allowed to set the
- * kICMCompressionPassMode_OutputEncodedFrames flag when calling
- * ICMCompressionSessionBeginPass.
- */
- kICMCompressionPassMode_NotReadyToOutputEncodedFrames = 1L << 4
- };
-
- /*
- * ICMCompressionSessionSupportsMultiPassEncoding()
- *
- * Summary:
- * Queries whether a compression session supports multipass encoding.
- *
- * Discussion:
- * Even if this function returns false, if you set the
- * kICMCompressionSessionOptionsPropertyID_MultiPassStorage property
- * on the CompressionSessionOptions, you must call
- * ICMCompressionSessionBeginPass and ICMCompressionSessionEndPass.
- *
- * Parameters:
- *
- * session:
- * The compression session.
- *
- * multiPassStyleFlags:
- * Reserved. Set to zero.
- *
- * firstPassModeFlagsOut:
- * Points to a variable to receive the session's requested mode
- * flags for the first pass. The client may modify these flags,
- * but should not set kICMCompressionPassMode_NoSourceFrames. Pass
- * NULL if you do not want this information.
- *
- * Result:
- * true if the session supports multipass encoding, false otherwise.
- * If the session does not support multipass encoding,
- * *firstPassModeFlagsOut will be set to
- * kICMCompressionPassMode_OutputEncodedFrames.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Boolean)
- ICMCompressionSessionSupportsMultiPassEncoding(
- ICMCompressionSessionRef session,
- UInt32 multiPassStyleFlags,
- ICMCompressionPassModeFlags * firstPassModeFlagsOut); /* can be NULL */
-
-
- /*
- * ICMCompressionSessionBeginPass()
- *
- * Summary:
- * Call to announce the start of a specific compression pass.
- *
- * Discussion:
- * The source frames and frame options for each display timestamp
- * should be the same across passes.
- * During multipass compression, valid displayTimeStamps must be
- * passed to ICMCompressionSessionEncodeFrame since they are used to
- * index the compressor's stored state.
- * During an analysis pass
- * (kICMCompressionPassMode_WriteToMultiPassStorage), the compressor
- * does not output encoded frames, but records compressor-private
- * information for each frame.
- * During repeated analysis passes and the encoding pass
- * (kICMCompressionPassMode_ReadFromMultiPassStorage), the
- * compressor may refer to this information for other frames and use
- * it to improve encoding.
- * During an encoding pass
- * (kICMCompressionPassMode_OutputEncodedFrames), the compressor
- * must output encoded frames.
- * If the compressor set the kICMCompressionPassMode_NoSourceFrames
- * flag for the pass, the client may pass NULL pixel buffers to
- * ICMCompressionSessionEncodeFrame.
- * By default, the ICM provides local storage that lasts only until
- * the compression session is disposed. If the client provides
- * custom multipass storage, pass may be performed at different
- * times or on different machines; segments of each pass may even be
- * distributed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionBeginPass(
- ICMCompressionSessionRef session,
- ICMCompressionPassModeFlags passModeFlags,
- UInt32 flags);
-
-
- /*
- * ICMCompressionSessionEndPass()
- *
- * Summary:
- * Call to announce the end of a pass.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionEndPass(ICMCompressionSessionRef session);
-
-
- /*
- * ICMCompressionSessionProcessBetweenPasses()
- *
- * Summary:
- * Lets the compressor perform processing between passes.
- *
- * Discussion:
- * Call this function repeatedly, until the compressor sets
- * *interpassProcessingDoneOut to true to indicate that it is done
- * with this round of interpass processing.
- * When done, the compressor will indicate its preferred mode for
- * the next pass.
- * The client may choose to begin an encoding pass (by ORing in the
- * kICMCompressionPassMode_OutputEncodedFrames flag) regardless of
- * the compressor's request.
- *
- * Parameters:
- *
- * session:
- * The compression session.
- *
- * flags:
- * Reserved. Set to zero.
- *
- * interpassProcessingDoneOut:
- * Points to a Boolean that will be set to false if
- * ICMCompressionSessionProcessBetweenPasses should be called
- * again, true if not
- *
- * requestedNextPassModeFlagsOut:
- * Points to ICMCompressionPassModeFlags that will be set to the
- * codec's recommended mode flags for the next pass.
- * kICMCompressionPassMode_OutputEncodedFrames will only be set if
- * it recommends that the next pass be the final one.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionProcessBetweenPasses(
- ICMCompressionSessionRef session,
- UInt32 flags,
- Boolean * interpassProcessingDoneOut,
- ICMCompressionPassModeFlags * requestedNextPassModeFlagsOut);
-
-
-
- /* ICMCompressionSessionOptionsRef routines */
- /*
- * ICMCompressionSessionOptionsCreate()
- *
- * Summary:
- * Creates a compression session options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsCreate(
- CFAllocatorRef allocator, /* can be NULL */
- ICMCompressionSessionOptionsRef * options);
-
-
- /*
- * ICMCompressionSessionOptionsCreateCopy()
- *
- * Summary:
- * Copies a compression session options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsCreateCopy(
- CFAllocatorRef allocator, /* can be NULL */
- ICMCompressionSessionOptionsRef originalOptions,
- ICMCompressionSessionOptionsRef * copiedOptions);
-
-
- /*
- * ICMCompressionSessionOptionsRetain()
- *
- * Summary:
- * Increments the retain count of a compression session options
- * object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMCompressionSessionOptionsRef)
- ICMCompressionSessionOptionsRetain(ICMCompressionSessionOptionsRef options);
-
-
- /*
- * ICMCompressionSessionOptionsRelease()
- *
- * Summary:
- * Decrements the retain count of a compression session options
- * object. If it drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMCompressionSessionOptionsRelease(ICMCompressionSessionOptionsRef options);
-
-
- /*
- * ICMCompressionSessionOptionsGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for compression session options objects.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMCompressionSessionOptionsGetTypeID(void);
-
-
- /*
- * ICMCompressionSessionOptionsGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a compression session
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsGetPropertyInfo(
- ICMCompressionSessionOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ComponentValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags); /* can be NULL */
-
-
- /*
- * ICMCompressionSessionOptionsGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a compression
- * session options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsGetProperty(
- ICMCompressionSessionOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ComponentValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed); /* can be NULL */
-
-
- /*
- * ICMCompressionSessionOptionsSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a compression session
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsSetProperty(
- ICMCompressionSessionOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstComponentValuePtr inPropValueAddress);
-
-
-
- /*
- */
- enum
- {
-
- /*
- * Indicates no limit on the number of frames in the compression
- * window.
- */
- kICMUnlimitedFrameDelayCount = -1L,
-
- /*
- * Indicates no time limit on the number of frames in the compression
- * window.
- */
- kICMUnlimitedFrameDelayTime = -1L,
-
- /*
- * Indicates no CPU time limit on compression.
- */
- kICMUnlimitedCPUTimeBudget = -1L
- };
-
-
- /*
- * ICMDataRateLimit
- *
- * Summary:
- * A hard limit on the data rate.
- *
- * Discussion:
- * A hard limit is described by a data size in bytes and a duration
- * in seconds, and requires that the total size of compressed data
- * for any continuous segment of that duration (in decode time) must
- * not exceed the provided data size.
- */
- struct ICMDataRateLimit
- {
-
- /*
- * The number of bytes.
- */
- SInt32 dataSize;
-
- /*
- * The number of seconds.
- */
- Float32 dataDuration;
- };
- typedef struct ICMDataRateLimit ICMDataRateLimit;
-
- /*
- * Summary:
- * Scaling modes
- *
- * Discussion:
- * These constants indicate how source frames to a compression
- * session should be scaled if the dimensions and/or display aspect
- * ratio do not match.
- */
- enum
- {
-
- /*
- * The full width and height of source frames shall be scaled to the
- * full width and height of the destination. This is the default if
- * no other scaling mode is specified.
- */
- kICMScalingMode_StretchProductionAperture = FOUR_CHAR_CODE('sp2p'),
-
- /*
- * The clean aperture of the source frames shall be scaled to the
- * clean aperture of the destination.
- */
- kICMScalingMode_StretchCleanAperture = FOUR_CHAR_CODE('sc2c'),
-
- /*
- * The clean aperture of the source frames shall be scaled to fit
- * inside the clean aperture of the destination, preserving the
- * original display aspect ratio. If the display aspect ratios are
- * different, the source frames will be centered with black bars
- * above and below, or to the left and right.
- */
- kICMScalingMode_Letterbox = FOUR_CHAR_CODE('lett'),
-
- /*
- * The clean aperture of the source frames shall be scaled to cover
- * the clean aperture of the destination, preserving the original
- * display aspect ratio. If the display aspect ratios are different,
- * the source frames will be centered and cropped.
- */
- kICMScalingMode_Trim = FOUR_CHAR_CODE('trim')
- };
-
-
- /*
- * ICMSimpleBoundaryConditions
- *
- * Summary:
- * Indicates whether and how a compression session's frames will be
- * concatenated with other compressed frames to form a longer series.
- *
- * Discussion:
- * Some clients divide a long series of frames into several shorter
- * segments, each of which is then compressed by an independent
- * compression session. Boundary conditions tell the compressor
- * about how each session fits into the greater series: does this
- * session stand alone, or will it be used to encode the first
- * segment, a middle segment, or the last segment in a longer
- * continuum?
- * This information enables compressors to ensure that compressed
- * segments can be concatenated smoothly -- for example, avoiding
- * data rate spikes where segments are joined.
- * By default, a session is assumed to stand alone.
- */
- struct ICMSimpleBoundaryConditions
- {
-
- /*
- * True if frames compressed in a separate session will be
- * concatenated before the beginning of this one. False if this is a
- * stand-alone session, or if this session will encode the first
- * segment of a multi-segment compression. By default, false.
- */
- Boolean moreFramesBeforeStart;
-
- /*
- * True if frames compressed in a separate session will be
- * concatenated following the end of this one. False if this is a
- * stand-alone session, or if this session will encode the last
- * segment of a multi-segment compression. By default, false.
- */
- Boolean moreFramesAfterEnd;
- };
- typedef struct ICMSimpleBoundaryConditions ICMSimpleBoundaryConditions;
-
- /*
- * Summary:
- * Properties of compression sessions options objects.
- */
- enum
- {
-
- /*
- * Class identifier for compression session options object properties.
- */
- kQTPropertyClass_ICMCompressionSessionOptions = FOUR_CHAR_CODE('icso'),
-
- /*
- * Enables temporal compression. By default, temporal compression is
- * disabled.
- * IMPORTANT: If you want temporal compression (P frames and/or B
- * frames) you must set this to true.
- */
- kICMCompressionSessionOptionsPropertyID_AllowTemporalCompression = FOUR_CHAR_CODE('p ok'), /* Boolean, Read/Write */
-
- /*
- * Enables frame reordering.
- * In order to encode B frames, a compressor must reorder frames,
- * which means that the order in which they will be emitted and
- * stored (the decode order) is different from the order in which
- * they were presented to the compressor (the display order).
- * By default, frame reordering is disabled.
- * IMPORTANT: In order to encode using B frames, you must enable
- * frame reordering.
- */
- kICMCompressionSessionOptionsPropertyID_AllowFrameReordering = FOUR_CHAR_CODE('b ok'), /* Boolean, Read/Write */
-
- /*
- * Indicates that durations of emitted frames are needed.
- * If this flag is set and source frames are provided with times but
- * not durations, then frames will be delayed so that durations can
- * be calculated as the difference between one frame's time stamp and
- * the next frame's time stamp.
- * By default, this flag is clear, so frames will not be delayed in
- * order to calculate durations.
- * IMPORTANT: If you will be passing encoded frames to
- * AddMediaSampleFromEncodedFrame, you must set this flag to true.
- */
- kICMCompressionSessionOptionsPropertyID_DurationsNeeded = FOUR_CHAR_CODE('need'), /* Boolean, Read/Write */
-
- /*
- * The maximum interval between key frames, also known as the key
- * frame rate.
- * Key frames, also known as sync frames, reset inter-frame
- * dependencies; decoding a key frame is sufficient to prepare a
- * decompressor for correctly decoding the difference frames that
- * follow.
- * Compressors are allowed to generate key frames more frequently if
- * this would result in more efficient compression.
- * The default key frame interval is 0, which indicates that the
- * compressor should choose where to place all key frames. A key
- * frame interval of 1 indicates that every frame must be a key
- * frame, 2 indicates that at least every other frame must be a key
- * frame, etc.
- */
- kICMCompressionSessionOptionsPropertyID_MaxKeyFrameInterval = FOUR_CHAR_CODE('kyfr'), /* SInt32, Read/Write */
-
- /*
- * The requested maximum interval between partial sync frames. If the
- * interval is n, any sequence of n successive frames must include at
- * least one key or partial sync frame.
- * Where supported, partial sync frames perform a partial reset of
- * inter-frame dependencies; decoding two partial sync frames and the
- * non-droppable difference frames between them is sufficient to
- * prepare a decompressor for correctly decoding the difference
- * frames that follow.
- * Compressors are allowed to generate partial sync frames more
- * frequently if this would result in more efficient compression.
- *
- * The default partial sync frame interval is 0, which indicates that
- * the compressor should choose where to place partial sync frames. A
- * partial sync frame interval of 1 means there can be no difference
- * frames, so it is equivalent to a key frame interval of 1. A
- * partial sync frame interval of 2 means that every other frame must
- * be a key frame or a partial sync frame.
- * Compressors that do not support partial sync frames will ignore
- * this setting.
- */
- kICMCompressionSessionOptionsPropertyID_MaxPartialSyncFrameInterval = FOUR_CHAR_CODE('psfr'), /* SInt32, Read/Write */
-
- /*
- * Enables the compressor to modify frame times.
- * Some compressors are able to identify and coalesce runs of
- * identical frames and output single frames with longer duration, or
- * output frames at a different frame rate from the original. This
- * feature is controlled by the "allow frame time changes" flag. By
- * default, this flag is set to false, which forces compressors to
- * emit one encoded frame for every source frame, and to preserve
- * frame display times.
- * (Note: this feature replaces the practice of having compressors
- * return special high similarity values to indicate that frames
- * could be dropped.)
- * If you want to allow the compressor to modify frame times in order
- * to improve compression performance, enable frame time changes.
- */
- kICMCompressionSessionOptionsPropertyID_AllowFrameTimeChanges = FOUR_CHAR_CODE('+ ok'), /* Boolean, Read/Write */
-
- /*
- * Enables the compressor to call the encoded-frame callback from a
- * different thread.
- * By default, the flag is false, which means that the compressor
- * must call the encoded-frame callback from the same thread that
- * ICMCompressionSessionEncodeFrame and
- * ICMCompressionSessionCompleteFrames were called on.
- */
- kICMCompressionSessionOptionsPropertyID_AllowAsyncCompletion = FOUR_CHAR_CODE('asok'), /* Boolean, Read/Write */
-
- /*
- * The maximum frame delay count is the maximum number of frames that
- * a compressor is allowed to hold before it must output a compressed
- * frame. It limits the number of frames that may be held in the
- * "compression window". If the maximum frame delay count is M, then
- * before the call to encode frame N returns, frame N-M must have
- * been emitted.
- * The default is kICMUnlimitedFrameDelayCount, which sets no limit
- * on the compression window.
- */
- kICMCompressionSessionOptionsPropertyID_MaxFrameDelayCount = FOUR_CHAR_CODE('cwin'), /* SInt32, Read/Write */
-
- /*
- * The maximum frame delay time is the maximum difference between a
- * source frame's display time and the corresponding encoded frame's
- * decode time. It limits the span of display time that may be held
- * in the "compression window". If the maximum frame delay time is
- * TM, then before the call to encode a frame with display time TN
- * returns, all frames with display times up to and including TN-TM
- * must have been emitted.
- * The default is kICMUnlimitedFrameDelayTime, which sets no time
- * limit on the compression window.
- */
- kICMCompressionSessionOptionsPropertyID_MaxFrameDelayTime = FOUR_CHAR_CODE('cwit'), /* TimeValue64, Read/Write */
-
- /*
- * Sets a specific compressor component or component instance to be
- * used, or one of the wildcards anyCodec, bestSpeedCodec,
- * bestFidelityCodec, or bestCompressionCodec.
- * Use this API to force the Image Compression Manager to use a
- * specific compressor component or compressor component instance.
- * (If you pass in a component instance that you opened, the ICM will
- * not close that instance; you must do so after the compression
- * session is released.) To allow the Image Compression Manager to
- * choose the compressor component, set the compressorComponent to
- * anyCodec (the default), bestSpeedCodec, bestFidelityCodec or
- * bestCompressionCodec.
- */
- kICMCompressionSessionOptionsPropertyID_CompressorComponent = FOUR_CHAR_CODE('imco'), /* CompressorComponent, Read/Write */
-
- /*
- * A handle containing compressor settings. The compressor will be
- * configured with these settings (by a call to
- * ImageCodecSetSettings) during ICMCompressionSessionCreate.
- */
- kICMCompressionSessionOptionsPropertyID_CompressorSettings = FOUR_CHAR_CODE('cost'), /* Handle, Read/Write */
-
- /*
- * The depth for compression.
- * If a compressor does not support a specific depth, the closest
- * supported depth will be used (preferring deeper depths to
- * shallower depths). The default depth is k24RGBPixelFormat.
- */
- kICMCompressionSessionOptionsPropertyID_Depth = FOUR_CHAR_CODE('deep'), /* UInt32, Read/Write */
-
- /*
- * The color table for compression. Used with indexed-color depths.
- *
- * Clients who get this property are responsible for disposing the
- * returned CTabHandle.
- */
- kICMCompressionSessionOptionsPropertyID_ColorTable = FOUR_CHAR_CODE('clut'), /* CTabHandle, Read/Write*/
-
- /*
- * The compression quality.
- * This value is always used to set the spatialQuality; if temporal
- * compression is enabled, it is also used to set temporalQuality.
- * <BR> The default quality is codecNormalQuality.
- */
- kICMCompressionSessionOptionsPropertyID_Quality = FOUR_CHAR_CODE('qual'), /* CodecQ, Read/Write */
-
- /*
- * The long-term desired average data rate in bytes per second.
- * This is not a hard limit.
- * The default data rate is zero, which indicates that the quality
- * setting should determine the size of compressed data.
- * Note that data rate settings only have an effect when timing
- * information is provided for source frames, and that some codecs do
- * not support limiting to specified data rates.
- */
- kICMCompressionSessionOptionsPropertyID_AverageDataRate = FOUR_CHAR_CODE('aver'), /* SInt32, Read/Write */
-
- /*
- * Zero, one or two hard limits on data rate.
- * Each hard limit is described by a data size in bytes and a
- * duration in seconds, and requires that the total size of
- * compressed data for any contiguous segment of that duration (in
- * decode time) must not exceed the data size.
- * By default, no data rate limits are set.
- * When setting this property, the inPropValueSize parameter should
- * be the number of data rate limits multiplied by
- * sizeof(ICMDataRateLimit).
- * Note that data rate settings only have an effect when timing
- * information is provided for source frames, and that some codecs do
- * not support limiting to specified data rates.
- */
- kICMCompressionSessionOptionsPropertyID_DataRateLimits = FOUR_CHAR_CODE('hard'), /* C array of ICMDataRateLimit struct, Read/Write */
-
- /*
- * The current number of data rate limits.
- */
- kICMCompressionSessionOptionsPropertyID_DataRateLimitCount = FOUR_CHAR_CODE('har#'), /* UInt32, Read */
-
- /*
- * The maximum allowed number of data rate limits. (Currently 2.)
- */
- kICMCompressionSessionOptionsPropertyID_MaxDataRateLimits = FOUR_CHAR_CODE('mhar'), /* UInt32, Read */
-
- /*
- * Indicates that the source was previously compressed.
- * This property is purely an optional, informational hint to the
- * compressor; by default it is false.
- */
- kICMCompressionSessionOptionsPropertyID_WasCompressed = FOUR_CHAR_CODE('wasc'), /* Boolean, Read/Write */
-
- /*
- * Recommends a CPU time budget for the compressor in microseconds
- * per frame.
- * Zero means to go as fast as possible.
- * By default, this is set to kICMUnlimitedCPUTimeBudget, which sets
- * no limit.
- * This is an advisory hint to the compressor, and some compressors
- * may ignore it. Multithreaded compressors may use this amount of
- * CPU time on each processor.
- * Compressors should not feel compelled to use the full time budget
- * if they complete ahead of time!
- */
- kICMCompressionSessionOptionsPropertyID_CPUTimeBudget = FOUR_CHAR_CODE('cput'), /* UInt32, Read/Write */
-
- /*
- * Storage for multi-pass compression.
- * To enable multipass compression, the client must provide a storage
- * location for multipass data. Use
- * ICMMultiPassStorageCreateWithTemporaryFile to have the ICM store
- * it in a temporary file. Use
- * ICMMultiPassStorageCreateWithCallbacks to manage the storage
- * yourself.
- * Note that the amount of multipass data to be stored can be
- * substantial; it could be greater than the size of the output movie
- * file.
- * If this property is not NULL, the client must call
- * ICMCompressionSessionBeginPass and ICMCompressionSessionEndPass
- * around groups of calls to ICMCompressionSessionEncodeFrame.
- * By default, this property is NULL and multipass compression is
- * not enabled. The compression session options object retains the
- * multipass storage object, when one is set.
- */
- kICMCompressionSessionOptionsPropertyID_MultiPassStorage = FOUR_CHAR_CODE('imps'), /* ICMMultiPassStorageRef, Read/Write */
-
- /*
- * Indicates the number of source frames, if known. If nonzero, this
- * should be the exact number of times that the client calls
- * ICMCompressionSessionEncodeFrame in each pass.
- * The default is 0, which indicates that the number of source frames
- * is not known.
- */
- kICMCompressionSessionOptionsPropertyID_SourceFrameCount = FOUR_CHAR_CODE('frco'), /* UInt64, Read/Write */
-
- /*
- * Indicates the expected frame rate, if known. The frame rate is
- * measured in frames per second. This is not used to control the
- * frame rate; it is provided as a hint to the compressor so that it
- * can set up internal configuration before compression begins. The
- * actual frame rate will depend on frame durations and may vary. By
- * default, this is zero, indicating "unknown".
- */
- kICMCompressionSessionOptionsPropertyID_ExpectedFrameRate = FOUR_CHAR_CODE('fran'), /* Fixed, Read/Write */
-
- /*
- * Indicates how source frames to a compression session should be
- * scaled if the dimensions and/or display aspect ratio do not match.
- */
- kICMCompressionSessionOptionsPropertyID_ScalingMode = FOUR_CHAR_CODE('scam'), /* OSType, Read/Write */
-
- /*
- * Describes the clean aperture for compressed frames. Note that if
- * the compressor enforces a clean aperture, it will override this
- * setting. The clean aperture will be set on the output image
- * description and may affect scaling in some scaling modes. By
- * default, this is all zeros, meaning unset.
- */
- kICMCompressionSessionOptionsPropertyID_CleanAperture = FOUR_CHAR_CODE('clap'), /* Native-endian CleanApertureImageDescriptionExtension, Read/Write */
-
- /*
- * Describes the pixel aspect ratio for compressed frames. Note that
- * if the compressor enforces a pixel aspect ratio, it will override
- * this setting. The pixel aspect ratio will be set on the output
- * image description and may affect scaling in some scaling modes. By
- * default, this is all zeros, meaning unset.
- */
- kICMCompressionSessionOptionsPropertyID_PixelAspectRatio = FOUR_CHAR_CODE('pasp'), /* Native-endian PixelAspectRatioImageDescriptionExtension, Read/Write */
-
- /*
- * Describes the number and order of fields for compressed frames.
- * Note that if the compressor enforces field info, it will override
- * this setting. The field info will be set on the output image
- * description and may affect scaling in some scaling modes. By
- * default, this is all zeros, meaning unset.
- */
- kICMCompressionSessionOptionsPropertyID_FieldInfo = FOUR_CHAR_CODE('fiel'), /* FieldInfoImageDescriptionExtension2, Read/Write */
-
- /*
- * Indicates whether and how a compression session's frames will be
- * concatenated with other compressed frames to form a longer series.
- */
- kICMCompressionSessionOptionsPropertyID_SimpleBoundaryConditions = FOUR_CHAR_CODE('ends'), /* ICMSimpleBoundaryConditions struct, Read/Write */
-
- /*
- * Requests additional distortion to be applied to the aspect ratio
- * in the kICMScalingMode_Letterbox and kICMScalingMode_Trim scaling
- * modes. Values greater than fixed1 mean wider, values less than
- * fixed1 mean narrower. For example, a value of X2Fix(2.0) would
- * make the picture aspect ratio twice as wide.
- */
- kICMCompressionSessionOptionsPropertyID_ExtraAspectRatioStretchFactor = FOUR_CHAR_CODE('exsf') /* Fixed, Default fixed1, Read/Write */
- };
-
-
- /*
- * ICMCompressionSessionOptionsSetAllowTemporalCompression()
- *
- * Summary:
- * Enables temporal compression.
- *
- * Discussion:
- * By default, temporal compression is disabled.
- * IMPORTANT: If you want temporal compression (P frames and/or B
- * frames) you must set this to true.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsSetAllowTemporalCompression(
- ICMCompressionSessionOptionsRef options,
- Boolean allowTemporalCompression);
-
-
- /*
- * ICMCompressionSessionOptionsGetAllowTemporalCompression()
- *
- * Summary:
- * Retrieves the allow temporal compression flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Boolean)
- ICMCompressionSessionOptionsGetAllowTemporalCompression(ICMCompressionSessionOptionsRef options);
-
-
- /*
- * ICMCompressionSessionOptionsSetAllowFrameReordering()
- *
- * Summary:
- * Enables frame reordering.
- *
- * Discussion:
- * In order to encode B frames, a compressor must reorder frames,
- * which means that the order in which they will be emitted and
- * stored (the decode order) is different from the order in which
- * they were presented to the compressor (the display order).
- * By default, frame reordering is disabled.
- * IMPORTANT: In order to encode using B frames, you must enable
- * frame reordering.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsSetAllowFrameReordering(
- ICMCompressionSessionOptionsRef options,
- Boolean allowFrameReordering);
-
-
- /*
- * ICMCompressionSessionOptionsGetAllowFrameReordering()
- *
- * Summary:
- * Retrieves the allow frame reordering flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Boolean)
- ICMCompressionSessionOptionsGetAllowFrameReordering(ICMCompressionSessionOptionsRef options);
-
-
- /*
- * ICMCompressionSessionOptionsSetDurationsNeeded()
- *
- * Summary:
- * Indicates that durations of emitted frames are needed.
- *
- * Discussion:
- * If this flag is set and source frames are provided with times but
- * not durations, then frames will be delayed so that durations can
- * be calculated as the difference between one frame's time stamp
- * and the next frame's time stamp.
- * By default, this flag is clear, so frames will not be delayed in
- * order to calculate durations.
- * IMPORTANT: If you will be passing encoded frames to
- * AddMediaSampleFromEncodedFrame, you must set this flag to true.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsSetDurationsNeeded(
- ICMCompressionSessionOptionsRef options,
- Boolean decodeDurationsNeeded);
-
-
- /*
- * ICMCompressionSessionOptionsGetDurationsNeeded()
- *
- * Summary:
- * Retrieves the "durations needed" flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Boolean)
- ICMCompressionSessionOptionsGetDurationsNeeded(ICMCompressionSessionOptionsRef options);
-
-
- /*
- * ICMCompressionSessionOptionsSetMaxKeyFrameInterval()
- *
- * Summary:
- * Sets the maximum interval between key frames (also known as the
- * key frame rate).
- *
- * Discussion:
- * Compressors are allowed to generate key frames more frequently if
- * this would result in more efficient compression.
- * The default key frame interval is 0, which indicates that the
- * compressor should choose where to place all key frames.
- * (Note: this is a break with previous practice, which used a key
- * frame rate of zero to disable temporal compression.)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsSetMaxKeyFrameInterval(
- ICMCompressionSessionOptionsRef options,
- SInt32 maxKeyFrameInterval);
-
-
- /*
- * ICMCompressionSessionOptionsGetMaxKeyFrameInterval()
- *
- * Summary:
- * Retrieves the maximum key frame interval.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(SInt32)
- ICMCompressionSessionOptionsGetMaxKeyFrameInterval(ICMCompressionSessionOptionsRef options);
-
-
- /*
- * ICMCompressionSessionOptionsSetAllowFrameTimeChanges()
- *
- * Summary:
- * Enables the compressor to modify frame times.
- *
- * Discussion:
- * Some compressors are able to identify and coalesce runs of
- * identical frames and output single frames with longer duration,
- * or output frames at a different frame rate from the original.
- * This feature is controlled by the "allow frame time changes"
- * flag. By default, this flag is set to false, which forces
- * compressors to emit one encoded frame for every source frame, and
- * to preserve frame display times.
- * (Note: this feature replaces the practice of having compressors
- * return special high similarity values to indicate that frames
- * could be dropped.)
- * If you want to allow the compressor to modify frame times in
- * order to improve compression performance, enable frame time
- * changes.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionSessionOptionsSetAllowFrameTimeChanges(
- ICMCompressionSessionOptionsRef options,
- Boolean allowFrameTimeChanges);
-
-
- /*
- * ICMCompressionSessionOptionsGetAllowFrameTimeChanges()
- *
- * Summary:
- * Retrieves the allow frame time changes flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Boolean)
- ICMCompressionSessionOptionsGetAllowFrameTimeChanges(ICMCompressionSessionOptionsRef options);
-
-
-
-
- /* ICMMultiPassStorageRef routines */
-
- /*
- * ICMMultiPassStorageCreationFlags
- *
- */
- typedef UInt32 ICMMultiPassStorageCreationFlags;
- enum
- {
-
- /*
- * Indicates that the temporary file should not be deleted when the
- * multipass storage is released.
- */
- kICMMultiPassStorage_DoNotDeleteWhenDone = 1L << 0
- };
-
- /*
- * ICMMultiPassStorageCreateWithTemporaryFile()
- *
- * Summary:
- * Creates a multipass storage using a temporary file.
- *
- * Discussion:
- * If you pass NULL for directoryRef, the ICM will use the user's
- * temporary items folder.
- * If you pass NULL for fileName, the ICM will pick a unique name.
- *
- * The file will be deleted when the multipass storage is released,
- * unless you set the kICMMultiPassStorage_DoNotDeleteWhenDone flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMMultiPassStorageCreateWithTemporaryFile(
- CFAllocatorRef allocator, /* can be NULL */
- FSRef * directoryRef, /* can be NULL */
- CFStringRef fileName, /* can be NULL */
- ICMMultiPassStorageCreationFlags flags,
- ICMMultiPassStorageRef * multiPassStorageOut);
-
-
-
- /*
- * ICMMultiPassStorageStep
- *
- * Summary:
- * Indicates a jump in time stamps used to index multipass storage.
- */
- typedef UInt32 ICMMultiPassStorageStep;
- enum
- {
-
- /*
- * Requests the first time stamp at which a value is stored.
- */
- kICMMultiPassStorage_GetFirstTimeStamp = 1,
-
- /*
- * Requests the previous time stamp before the given time stamp at
- * which a value is stored.
- */
- kICMMultiPassStorage_GetPreviousTimeStamp = 2,
-
- /*
- * Requests the next time stamp after the given time stamp at which a
- * value is stored.
- */
- kICMMultiPassStorage_GetNextTimeStamp = 3,
-
- /*
- * Requests the last time stamp at which a value is stored.
- */
- kICMMultiPassStorage_GetLastTimeStamp = 4
- };
-
-
-
- /*
- * ICMMultiPassSetDataAtTimeStampCallback
- *
- * Summary:
- * Stores a value at a given time stamp.
- *
- * Discussion:
- * The new data should replace any previous data held at that
- * timestamp with that index.
- *
- * Parameters:
- *
- * storageRefCon:
- * The callbacks' reference value.
- *
- * timeStamp:
- * The time stamp at which the value should be stored.
- *
- * index:
- * An index by which multiple values may be stored at a time
- * stamp. The meaning of individual indexes is private to the
- * compressor.
- *
- * data:
- * The data to be stored, or NULL to delete the value. The
- * contents are private to the compressor component.
- */
- typedef CALLBACK_API_C(OSStatus , ICMMultiPassSetDataAtTimeStampCallback)(void *storageRefCon, TimeValue64 timeStamp, long index, CFDataRef data);
-
- /*
- * ICMMultiPassGetTimeStampCallback
- *
- * Summary:
- * Retrieves a time stamp for which a value is stored.
- *
- * Parameters:
- *
- * storageRefCon:
- * The callbacks' reference value.
- *
- * fromTimeStamp:
- * The initial time stamp. Ignored for some values of step.
- *
- * step:
- * Indicates the kind of time stamp search to perform.
- *
- * timeStampOut:
- * Points to a TimeValue64 to receive the found time stamp. Set to
- * -1 if no time stamp is found.
- */
- typedef CALLBACK_API_C(OSStatus , ICMMultiPassGetTimeStampCallback)(void *storageRefCon, TimeValue64 fromTimeStamp, ICMMultiPassStorageStep step, TimeValue64 *timeStampOut);
-
- /*
- * ICMMultiPassCopyDataAtTimeStampCallback
- *
- * Summary:
- * Retrieves a value at a given time stamp and index.
- *
- * Parameters:
- *
- * storageRefCon:
- * The callbacks' reference value.
- *
- * timeStamp:
- * The time stamp at which the value should be retrieved.
- *
- * index:
- * An index by which multiple values may be stored at a time
- * stamp. The meaning of individual indexes is private to the
- * compressor.
- *
- * dataOut:
- * Points to a variable to receive the value. Set to a
- * newly-created CFMutableData containing the value for the given
- * time stamp and index, or set to NULL if no value is at that
- * time stamp and index. It will be the callers responsibility to
- * release the CFMutableData.
- */
- typedef CALLBACK_API_C(OSStatus , ICMMultiPassCopyDataAtTimeStampCallback)(void *storageRefCon, TimeValue64 timeStamp, long index, CFMutableDataRef *dataOut);
-
- /*
- * ICMMultiPassReleaseCallback
- *
- * Summary:
- * Called when the multipass storage's retain count drops to zero.
- *
- * Parameters:
- *
- * storageRefCon:
- * The callbacks' reference value.
- */
- typedef CALLBACK_API_C(OSStatus , ICMMultiPassReleaseCallback)(void * storageRefCon);
-
- /*
- * ICMMultiPassStorageCallbacks
- *
- * Summary:
- * A collection of callbacks for creating a custom multipass storage
- * object.
- */
- struct ICMMultiPassStorageCallbacks
- {
-
- /*
- * The version of the struct. Set to
- * kICMMultiPassStorageCallbacksVersionOne.
- */
- UInt32 version;
-
- /*
- * The callbacks' reference value.
- */
- void * storageRefCon;
-
- /*
- * The callback for storing values.
- */
- ICMMultiPassSetDataAtTimeStampCallback setDataAtTimeStampCallback;
-
- /*
- * The callback for finding time stamps.
- */
- ICMMultiPassGetTimeStampCallback getTimeStampCallback;
-
- /*
- * The callback for retrieving values.
- */
- ICMMultiPassCopyDataAtTimeStampCallback copyDataAtTimeStampCallback;
-
- /*
- * The callback for disposing the callback's state when done.
- */
- ICMMultiPassReleaseCallback releaseCallback;
- };
- typedef struct ICMMultiPassStorageCallbacks ICMMultiPassStorageCallbacks;
- enum
- {
- kICMMultiPassStorageCallbacksVersionOne = 1
- };
-
- /*
- * ICMMultiPassStorageCreateWithCallbacks()
- *
- * Summary:
- * Assembles a multipass storage mechanism from callbacks.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMMultiPassStorageCreateWithCallbacks(
- CFAllocatorRef allocator, /* can be NULL */
- ICMMultiPassStorageCallbacks * callbacks,
- ICMMultiPassStorageRef * multiPassStorageOut);
-
-
- /*
- * ICMMultiPassStorageRetain()
- *
- * Summary:
- * Increments the retain count of a multipass storage object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMMultiPassStorageRef)
- ICMMultiPassStorageRetain(ICMMultiPassStorageRef multiPassStorage);
-
-
- /*
- * ICMMultiPassStorageRelease()
- *
- * Summary:
- * Decrements the retain count of a multipass storage object. If it
- * drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMMultiPassStorageRelease(ICMMultiPassStorageRef multiPassStorage);
-
-
- /*
- * ICMMultiPassStorageGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for multipass storage objects.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMMultiPassStorageGetTypeID(void);
-
-
-
- /* ICMCompressionFrameOptionsRef routines */
- /*
- * ICMCompressionFrameOptionsCreate()
- *
- * Summary:
- * Creates a frame compression options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionFrameOptionsCreate(
- CFAllocatorRef allocator, /* can be NULL */
- ICMCompressionSessionRef session,
- ICMCompressionFrameOptionsRef * options);
-
-
- /*
- * ICMCompressionFrameOptionsCreateCopy()
- *
- * Summary:
- * Copies a frame compression options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionFrameOptionsCreateCopy(
- CFAllocatorRef allocator, /* can be NULL */
- ICMCompressionFrameOptionsRef originalOptions,
- ICMCompressionFrameOptionsRef * copiedOptions);
-
-
- /*
- * ICMCompressionFrameOptionsRetain()
- *
- * Summary:
- * Increments the retain count of a frame compression options object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMCompressionFrameOptionsRef)
- ICMCompressionFrameOptionsRetain(ICMCompressionFrameOptionsRef options);
-
-
- /*
- * ICMCompressionFrameOptionsRelease()
- *
- * Summary:
- * Decrements the retain count of a frame compression options
- * object. If it drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMCompressionFrameOptionsRelease(ICMCompressionFrameOptionsRef options);
-
-
- /*
- * ICMCompressionFrameOptionsGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for frame compression options objects.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMCompressionFrameOptionsGetTypeID(void);
-
-
- /*
- * ICMCompressionFrameOptionsGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a compression frame
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionFrameOptionsGetPropertyInfo(
- ICMCompressionFrameOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ComponentValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags); /* can be NULL */
-
-
- /*
- * ICMCompressionFrameOptionsGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a compression frame
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionFrameOptionsGetProperty(
- ICMCompressionFrameOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ComponentValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed); /* can be NULL */
-
-
- /*
- * ICMCompressionFrameOptionsSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a compression frame
- * options object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionFrameOptionsSetProperty(
- ICMCompressionFrameOptionsRef options,
- ComponentPropertyClass inPropClass,
- ComponentPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstComponentValuePtr inPropValueAddress);
-
-
-
- /*
- * Summary:
- * Properties of compression frame options objects.
- */
- enum
- {
-
- /*
- * Class identifier for compression frame options object properties.
- */
- kQTPropertyClass_ICMCompressionFrameOptions = FOUR_CHAR_CODE('icfo'),
-
- /*
- * Forces frames to be compressed as key frames.
- * The compressor must obey the "force key frame" flag if set. By
- * default this property is false.
- */
- kICMCompressionFrameOptionsPropertyID_ForceKeyFrame = FOUR_CHAR_CODE('keyf'), /* Boolean, Read/Write */
-
- /*
- * Requests a frame be compressed as a particular frame type.
- * The frame type setting may be ignored by the compressor if not
- * appropriate.
- * By default this is set to kICMFrameType_Unknown.
- * Do not assume that kICMFrameType_I means a key frame; if you need
- * a key frame, set the "force key frame" property.
- */
- kICMCompressionFrameOptionsPropertyID_FrameType = FOUR_CHAR_CODE('frty') /* ICMFrameType, Read/Write */
- };
-
- /*
- * ICMCompressionFrameOptionsSetForceKeyFrame()
- *
- * Summary:
- * Forces frames to be compressed as key frames.
- *
- * Discussion:
- * The compressor must obey the "force key frame" flag if set. By
- * default this is set false.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionFrameOptionsSetForceKeyFrame(
- ICMCompressionFrameOptionsRef options,
- Boolean forceKeyFrame);
-
-
- /*
- * ICMCompressionFrameOptionsGetForceKeyFrame()
- *
- * Summary:
- * Retrieves the "force key frame" flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Boolean)
- ICMCompressionFrameOptionsGetForceKeyFrame(ICMCompressionFrameOptionsRef options);
-
-
- /*
- * ICMCompressionFrameOptionsSetFrameType()
- *
- * Summary:
- * Requests a frame be compressed as a particular frame type.
- *
- * Discussion:
- * The frame type setting may be ignored by the compressor if not
- * appropriate.
- * By default this is set to kICMFrameType_Unknown.
- * Do not assume that kICMFrameType_I means a key frame; if you need
- * a key frame, set forceKeyFrame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressionFrameOptionsSetFrameType(
- ICMCompressionFrameOptionsRef options,
- ICMFrameType frameType);
-
-
- /*
- * ICMCompressionFrameOptionsGetFrameType()
- *
- * Summary:
- * Retrieves the frame type setting.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMFrameType)
- ICMCompressionFrameOptionsGetFrameType(ICMCompressionFrameOptionsRef options);
-
-
-
- /* ICMEncodedFrameRef routines */
- /*
- * ICMEncodedFrameRetain()
- *
- * Summary:
- * Increments the retain count of an encoded frame object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMEncodedFrameRef)
- ICMEncodedFrameRetain(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameRelease()
- *
- * Summary:
- * Decrements the retain count of an encoded frame object. If it
- * drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMEncodedFrameRelease(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for encoded frame objects.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMEncodedFrameGetTypeID(void);
-
-
- /*
- * ICMEncodedFrameGetDataPtr()
- *
- * Summary:
- * Gets the data buffer.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(UInt8 *)
- ICMEncodedFrameGetDataPtr(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetBufferSize()
- *
- * Summary:
- * Gets the size of the data buffer.
- *
- * Discussion:
- * This is the physical size of the buffer.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ByteCount)
- ICMEncodedFrameGetBufferSize(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetDataSize()
- *
- * Summary:
- * Gets the data size of the compressed frame in the buffer.
- *
- * Discussion:
- * This is the logical size of the frame data. It may be less than
- * the physical size of the buffer.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ByteCount)
- ICMEncodedFrameGetDataSize(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameSetDataSize()
- *
- * Summary:
- * Sets the data size of the compressed frame in the buffer.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetDataSize(
- ICMMutableEncodedFrameRef frame,
- ByteCount dataSize);
-
-
- /*
- * ICMEncodedFrameGetDecodeNumber()
- *
- * Summary:
- * Retrieves the decode number.
- *
- * Discussion:
- * The ICM automatically stamps ascending decode numbers on frames
- * after the compressor emits them. The first decode number in a
- * session is 1.
- * Note: Compressors should not call this function.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(UInt32)
- ICMEncodedFrameGetDecodeNumber(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetTimeScale()
- *
- * Summary:
- * Retrieves the timescale.
- *
- * Discussion:
- * This is always the same as the timescale of the compression
- * session.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(TimeScale)
- ICMEncodedFrameGetTimeScale(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetImageDescription()
- *
- * Summary:
- * Retrieves the image description.
- *
- * Discussion:
- * Returns the same image description handle as
- * ICMCompressionSessionGetImageDescription.
- * IMPORTANT: The caller should NOT dispose this handle.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameGetImageDescription(
- ICMEncodedFrameRef frame,
- ImageDescriptionHandle * imageDescOut);
-
-
- /*
- * ICMEncodedFrameGetValidTimeFlags()
- *
- * Summary:
- * Retrieves flags indicating which of the time stamps and durations
- * are valid.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMValidTimeFlags)
- ICMEncodedFrameGetValidTimeFlags(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetDecodeTimeStamp()
- *
- * Summary:
- * Retrieves the frame's decode time stamp.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(TimeValue64)
- ICMEncodedFrameGetDecodeTimeStamp(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetDisplayTimeStamp()
- *
- * Summary:
- * Retrieves the frame's display time stamp.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(TimeValue64)
- ICMEncodedFrameGetDisplayTimeStamp(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetDisplayOffset()
- *
- * Summary:
- * Retrieves the frame's display offset, which is the offset from
- * decode time stamp to display time stamp.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(TimeValue64)
- ICMEncodedFrameGetDisplayOffset(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetDecodeDuration()
- *
- * Summary:
- * Retrieves the frame's decode duration.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(TimeValue64)
- ICMEncodedFrameGetDecodeDuration(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameGetDisplayDuration()
- *
- * Summary:
- * Retrieves the frame's display duration.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(TimeValue64)
- ICMEncodedFrameGetDisplayDuration(ICMEncodedFrameRef frame);
-
-
-
- /*
- * ICMEncodedFrameSetValidTimeFlags()
- *
- * Summary:
- * Sets flags that indicate which of the time stamps and durations
- * are valid.
- *
- * Discussion:
- * Note that setting the (decode/display) (timestamp/duration)
- * automatically sets the corresponding valid time flags. For
- * example, calling ICMEncodedFrameSetDecodeTimeStamp sets
- * kICMValidTime_DisplayTimeStampIsValid. If both decode timestamp
- * and display timestamp are valid,
- * kICMValidTime_DisplayOffsetIsValid is automatically set.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetValidTimeFlags(
- ICMMutableEncodedFrameRef frame,
- ICMValidTimeFlags validTimeFlags);
-
-
- /*
- * ICMEncodedFrameSetDecodeTimeStamp()
- *
- * Summary:
- * Sets the decode time stamp.
- *
- * Discussion:
- * This automatically sets the kICMValidTime_DecodeTimeStampIsValid
- * flag. If the display timestamp is valid, it also sets the
- * kICMValidTime_DisplayOffsetIsValid flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetDecodeTimeStamp(
- ICMMutableEncodedFrameRef frame,
- TimeValue64 decodeTimeStamp);
-
-
- /*
- * ICMEncodedFrameSetDisplayTimeStamp()
- *
- * Summary:
- * Sets the display time stamp.
- *
- * Discussion:
- * This automatically sets the kICMValidTime_DisplayTimeStampIsValid
- * flag. If the decode timestamp is valid, it also sets the
- * kICMValidTime_DisplayOffsetIsValid flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetDisplayTimeStamp(
- ICMMutableEncodedFrameRef frame,
- TimeValue64 displayTimeStamp);
-
-
- /*
- * ICMEncodedFrameSetDecodeDuration()
- *
- * Summary:
- * Sets the decode duration.
- *
- * Discussion:
- * This automatically sets the kICMValidTime_DecodeDurationIsValid
- * flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetDecodeDuration(
- ICMMutableEncodedFrameRef frame,
- TimeValue64 decodeDuration);
-
-
- /*
- * ICMEncodedFrameSetDisplayDuration()
- *
- * Summary:
- * Sets the display duration.
- *
- * Discussion:
- * This automatically sets the kICMValidTime_DisplayDurationIsValid
- * flag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetDisplayDuration(
- ICMMutableEncodedFrameRef frame,
- TimeValue64 displayDuration);
-
-
- /*
- * ICMEncodedFrameGetMediaSampleFlags()
- *
- * Summary:
- * Retrieves the media sample flags for an encoded frame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(MediaSampleFlags)
- ICMEncodedFrameGetMediaSampleFlags(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameSetMediaSampleFlags()
- *
- * Summary:
- * Sets the media sample flags for an encoded frame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetMediaSampleFlags(
- ICMMutableEncodedFrameRef frame,
- MediaSampleFlags mediaSampleFlags);
-
-
- /*
- * ICMEncodedFrameGetFrameType()
- *
- * Summary:
- * Retrieves the frame type for an encoded frame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMFrameType)
- ICMEncodedFrameGetFrameType(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameSetFrameType()
- *
- * Summary:
- * Sets the frame type for an encoded frame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetFrameType(
- ICMMutableEncodedFrameRef frame,
- ICMFrameType frameType);
-
-
- /*
- * ICMEncodedFrameGetSimilarity()
- *
- * Summary:
- * Retrieves the similarity for an encoded frame.
- *
- * Discussion:
- * 1.0 means identical. 0.0 means not at all alike. By default,
- * this is set to -1.0, which means unknown.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Float32)
- ICMEncodedFrameGetSimilarity(ICMEncodedFrameRef frame);
-
-
- /*
- * ICMEncodedFrameSetSimilarity()
- *
- * Summary:
- * Sets the similarity for an encoded frame.
- *
- * Discussion:
- * 1.0 means identical. 0.0 means not at all alike.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameSetSimilarity(
- ICMMutableEncodedFrameRef frame,
- Float32 similarity);
-
-
- /*
- * ICMEncodedFrameGetSourceFrameRefCon()
- *
- * Summary:
- * Retrieves the source frame reference value.
- *
- * Discussion:
- * This is copied from the sourceFrameRefCon parameter to
- * ICMCompressionSessionEncodeFrame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void *)
- ICMEncodedFrameGetSourceFrameRefCon(ICMEncodedFrameRef frame);
-
-
- /* ICMCompressorSession interface for compressor components */
-
- /*
- * ICMCompressorSessionRef
- *
- * Summary:
- * Represents the session between the ICM and an image compressor
- * component.
- *
- * Discussion:
- * (Do not confuse this with ICMCompressionSessionRef, which is the
- * session between the client and the ICM.) Note: compressors do not
- * need to make any retain or release calls on this token.
- */
- typedef struct OpaqueICMCompressorSession* ICMCompressorSessionRef;
-
- /*
- * ICMCompressorSourceFrameRef
- *
- * Summary:
- * An opaque token that represents a frame that has been passed to
- * ICMCompressionSessionEncodeFrame.
- *
- * Discussion:
- * Such tokens are passed to the compressor component, which may
- * retain a window of them in order to perform out-of-order encoding.
- */
- typedef struct OpaqueICMCompressorSourceFrame* ICMCompressorSourceFrameRef;
- /*
- * ICMCompressorSourceFrameRetain()
- *
- * Summary:
- * Increments the retain count of a source frame object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMCompressorSourceFrameRef)
- ICMCompressorSourceFrameRetain(ICMCompressorSourceFrameRef sourceFrame);
-
-
- /*
- * ICMCompressorSourceFrameRelease()
- *
- * Summary:
- * Decrements the retain count of a source frame object. If it
- * drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- ICMCompressorSourceFrameRelease(ICMCompressorSourceFrameRef sourceFrame);
-
-
- /*
- * ICMCompressorSourceFrameGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for source frame objects.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- ICMCompressorSourceFrameGetTypeID(void);
-
-
- /*
- * ICMCompressorSourceFrameGetPixelBuffer()
- *
- * Summary:
- * Retrieves a source frame's pixel buffer.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CVPixelBufferRef)
- ICMCompressorSourceFrameGetPixelBuffer(ICMCompressorSourceFrameRef sourceFrame);
-
-
- /*
- * ICMCompressorSourceFrameGetDisplayNumber()
- *
- * Summary:
- * Retrieves a source frame's display number.
- *
- * Discussion:
- * The ICM tags source frames with display numbers in the order they
- * are passed to ICMCompressionSessionEncodeFrame; the first display
- * number is 1. Compressors may compare these numbers to work out
- * whether prediction is forward or backward even when display times
- * are not provided.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(long)
- ICMCompressorSourceFrameGetDisplayNumber(ICMCompressorSourceFrameRef sourceFrame);
-
-
- /*
- * ICMCompressorSourceFrameGetDisplayTimeStampAndDuration()
- *
- * Summary:
- * Retrieves the display time stamp and duration of a source frame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressorSourceFrameGetDisplayTimeStampAndDuration(
- ICMCompressorSourceFrameRef sourceFrame,
- TimeValue64 * displayTimeStampOut, /* can be NULL */
- TimeValue64 * displayDurationOut, /* can be NULL */
- TimeScale * timeScaleOut, /* can be NULL */
- ICMValidTimeFlags * validTimeFlagsOut); /* can be NULL */
-
-
- /*
- * ICMCompressorSourceFrameGetFrameOptions()
- *
- * Summary:
- * Retrieves the frame compression options for a source frame.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(ICMCompressionFrameOptionsRef)
- ICMCompressorSourceFrameGetFrameOptions(ICMCompressorSourceFrameRef sourceFrame);
-
-
- /*
- * ICMCompressorSourceFrameDetachPixelBuffer()
- *
- * Summary:
- * Disconnects the pixel buffer from the source frame and allows it
- * to be released.
- *
- * Discussion:
- * Compressor components often need to hold onto
- * ICMCompressorSourceFrameRefs for some time after they are done
- * with the pixel buffers. In order to allow pixel buffer memory to
- * be released earlier, they may call
- * ICMCompressorSourceFrameDetachPixelBuffer to declare that they
- * have no further need for the source frame's pixel buffer. After
- * calling this, ICMCompressorSourceFrameGetPixelBuffer will return
- * NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressorSourceFrameDetachPixelBuffer(ICMCompressorSourceFrameRef sourceFrame);
-
-
-
- /*
- * ICMCompressorSessionDropFrame()
- *
- * Summary:
- * Called by a compressor to indicate that sourceFrame has been
- * dropped and will not contribute to any encoded frames.
- *
- * Discussion:
- * Calling this function does not automatically release the source
- * frame; if the compressor called ICMCompressorSourceFrameRetain it
- * should still call ICMCompressorSourceFrameRelease.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressorSessionDropFrame(
- ICMCompressorSessionRef session,
- ICMCompressorSourceFrameRef sourceFrame);
-
-
- /*
- * ICMCompressorSessionEmitEncodedFrame()
- *
- * Summary:
- * Called by a compressor to output an encoded frame corresponding
- * to one (or more) source frames.
- *
- * Discussion:
- * (Encoded frames may only correspond to more than one source frame
- * if allowFrameTimeChanges is set in the
- * compressionSessionOptions.)
- * After calling this, the compressor should release the encoded
- * frame by calling ICMEncodedFrameRelease.
- * Calling this function does not automatically release the source
- * frames; if the compressor called ICMCompressorSourceFrameRetain
- * it should still call ICMCompressorSourceFrameRelease.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMCompressorSessionEmitEncodedFrame(
- ICMCompressorSessionRef session,
- ICMMutableEncodedFrameRef encodedFrame,
- long numberOfSourceFrames,
- ICMCompressorSourceFrameRef sourceFrames[]);
-
-
- /*
- * ICMEncodedFrameCreateMutable()
- *
- * Summary:
- * Called by a compressor to create an encoded-frame token
- * corresponding to a given source frame.
- *
- * Discussion:
- * The encoded frame will initially have zero mediaSampleFlags; if
- * the frame is not a key frame, the compressor must call
- * ICMEncodedFrameSetMediaSampleFlags to set mediaSampleNotSync. If
- * the frame is droppable, the compressor should set
- * mediaSampleDroppable. If the frame is a partial key frame, the
- * compressor should set mediaSamplePartialSync.
- * The encoded frame will initially have undefined decodeTimeStamp
- * and decodeDuration. The compressor may set these directly by
- * calling ICMEncodedFrameSetDecodeTimeStamp and/or
- * ICMEncodedFrameSetDecodeDuration. If these are not set by the
- * compressor, the ICM will attempt to derive them.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMEncodedFrameCreateMutable(
- ICMCompressorSessionRef session,
- ICMCompressorSourceFrameRef sourceFrame,
- ByteCount bufferSize,
- ICMMutableEncodedFrameRef * frameOut);
-
-
- /* Multi-pass storage access routines for compressor components */
- /*
- * ICMMultiPassStorageSetDataAtTimeStamp()
- *
- * Summary:
- * Called by a multipass-capable compressor to store data at a given
- * timestamp.
- *
- * Discussion:
- * The new data replaces any previous data held at that timestamp.
- * If data is NULL, the data for that timestamp is deleted. The
- * format of the data is private to the compressor.
- *
- * Parameters:
- *
- * multiPassStorage:
- * The multipass storage object.
- *
- * timeStamp:
- * The time stamp at which the value should be stored.
- *
- * index:
- * An index by which multiple values may be stored at a time
- * stamp. The meaning of individual indexes is private to the
- * compressor.
- *
- * data:
- * The data to be stored, or NULL to delete the value.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMMultiPassStorageSetDataAtTimeStamp(
- ICMMultiPassStorageRef multiPassStorage,
- TimeValue64 timeStamp,
- long index,
- CFDataRef data);
-
-
- /*
- * ICMMultiPassStorageGetTimeStamp()
- *
- * Summary:
- * Called by a multipass-capable compressor to retrieve a time stamp
- * for which a value is stored.
- *
- * Parameters:
- *
- * multiPassStorage:
- * The multipass storage object.
- *
- * fromTimeStamp:
- * The initial time stamp. Ignored for some values of step.
- *
- * step:
- * Indicates the kind of time stamp search to perform.
- *
- * timeStampOut:
- * Points to a TimeValue64 to receive the found time stamp. It
- * will be set to -1 if no time stamp is found.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMMultiPassStorageGetTimeStamp(
- ICMMultiPassStorageRef multiPassStorage,
- TimeValue64 fromTimeStamp,
- ICMMultiPassStorageStep step,
- TimeValue64 * timeStampOut);
-
-
- /*
- * ICMMultiPassStorageCopyDataAtTimeStamp()
- *
- * Summary:
- * Called by a multipass-capable compressor to retrieve data at a
- * given timestamp.
- *
- * Parameters:
- *
- * multiPassStorage:
- * The multipass storage object.
- *
- * timeStamp:
- * The time stamp at which the value should be retrieved.
- *
- * index:
- * An index by which multiple values may be stored at a time
- * stamp. The meaning of individual indexes is private to the
- * compressor.
- *
- * dataOut:
- * Points to a CFMutableDataRef to receive the value. It will be
- * set to a newly-created CFMutableData containing the value for
- * the given time stamp and index, or set to NULL if no value is
- * at that time stamp and index. It is the caller's responsibility
- * to release the CFMutableData.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- ICMMultiPassStorageCopyDataAtTimeStamp(
- ICMMultiPassStorageRef multiPassStorage,
- TimeValue64 timeStamp,
- long index,
- CFMutableDataRef * dataOut);
+/*
+ * QTComponentPropertyListenerCollectionCreate()
+ *
+ * Summary:
+ * Create a collection to use with the functions
+ * ComponentPropertyListenerCollectionAddListener,
+ * ComponentPropertyListenerCollectionRemoveListener,
+ * ComponentPropertyListenerCollectionNotifyListeners,
+ * ComponentPropertyListenerCollectionIsEmpty, and
+ * ComponentPropertyListenerCollectionHasListenersForProperty.
+ *
+ * Parameters:
+ *
+ * outCollection:
+ * Returns the new, empty, listener collection.
+ *
+ * inAllocator:
+ * Allocator used to create the collection and it's contents.
+ *
+ * inContext:
+ * The listener collection context. May be NULL. A copy of the
+ * contents of the structure is made, so a pointer to a structure
+ * on the stack can be passed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( OSStatus )
+QTComponentPropertyListenerCollectionCreate(
+ CFAllocatorRef inAllocator, /* can be NULL */
+ const QTComponentPropertyListenerCollectionContext * inContext, /* can be NULL */
+ QTComponentPropertyListenersRef * outCollection);
+
+
+
+/*
+ * QTComponentPropertyListenerCollectionAddListener()
+ *
+ * Summary:
+ * Add a listener callback for the specified property class and ID
+ * to a property listener collection.
+ *
+ * Parameters:
+ *
+ * inCollection:
+ * The property listener collection.
+ *
+ * inPropClass:
+ * The property class.
+ *
+ * inPropID:
+ * The property ID.
+ *
+ * inListenerProc:
+ * The property listener callback function.
+ *
+ * inListenerProcRefCon:
+ * The data parameter to pass to the listener callback function.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( OSStatus )
+QTComponentPropertyListenerCollectionAddListener(
+ QTComponentPropertyListenersRef inCollection,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ QTComponentPropertyListenerUPP inListenerProc,
+ const void * inListenerProcRefCon);
+
+
+/*
+ * QTComponentPropertyListenerCollectionRemoveListener()
+ *
+ * Summary:
+ * Remove a listener callback for the specified property class and
+ * ID from a property listener collection.
+ *
+ * Parameters:
+ *
+ * inCollection:
+ * The property listener collection.
+ *
+ * inPropClass:
+ * The property class.
+ *
+ * inPropID:
+ * The property ID.
+ *
+ * inListenerProc:
+ * The property listener callback function.
+ *
+ * inListenerProcRefCon:
+ * The data parameter to pass to the listener callback function.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( OSStatus )
+QTComponentPropertyListenerCollectionRemoveListener(
+ QTComponentPropertyListenersRef inCollection,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ QTComponentPropertyListenerUPP inListenerProc,
+ const void * inListenerProcRefCon);
+
+
+/*
+ * QTComponentPropertyListenerCollectionNotifyListeners()
+ *
+ * Summary:
+ * Call all listener callbacks in the collection registered for the
+ * specified property class and ID.
+ *
+ * Discussion:
+ * If the "filterProcUPP" in the collection's context is non-NULL,
+ * the filter function will be called before each registered
+ * listener that matches the specified property class and ID. If the
+ * filter function return false, the listener proc will not be
+ * called. This is intended to allow a component to change the
+ * calling semantics (call another thread, etc), to use a different
+ * listener callback signature, etc.
+ *
+ * Parameters:
+ *
+ * inCollection:
+ * The property listener collection.
+ *
+ * inNotifier:
+ * The calling ComponentInstance.
+ *
+ * inPropClass:
+ * The property class.
+ *
+ * inPropID:
+ * The property ID.
+ *
+ * inFilterProcRefCon:
+ * The data parameter to pass to the filter function.
+ *
+ * inFlags:
+ * Flags. Must be set to 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( OSStatus )
+QTComponentPropertyListenerCollectionNotifyListeners(
+ QTComponentPropertyListenersRef inCollection,
+ ComponentInstance inNotifier,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ const void * inFilterProcRefCon, /* can be NULL */
+ UInt32 inFlags);
+
+
+/*
+ * QTComponentPropertyListenerCollectionIsEmpty()
+ *
+ * Summary:
+ * Return true if the listener collection is empty.
+ *
+ * Parameters:
+ *
+ * inCollection:
+ * The property listener collection.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( Boolean )
+QTComponentPropertyListenerCollectionIsEmpty(QTComponentPropertyListenersRef inCollection);
+
+
+/*
+ * QTComponentPropertyListenerCollectionHasListenersForProperty()
+ *
+ * Summary:
+ * Returns true if there are any listeners registered for the
+ * specified property class and ID.
+ *
+ * Parameters:
+ *
+ * inCollection:
+ * The property listener collection.
+ *
+ * inPropClass:
+ * The property class.
+ *
+ * inPropID:
+ * The property ID.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( Boolean )
+QTComponentPropertyListenerCollectionHasListenersForProperty(
+ QTComponentPropertyListenersRef inCollection,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID);
+
+
+/* DRM properties*/
+enum {
+ kQTPropertyClass_DRM = FOUR_CHAR_CODE('drm ')
+};
+
+enum {
+ kQTDRMPropertyID_InteractWithUser = FOUR_CHAR_CODE('shui'), /* Boolean**/
+ kQTDRMPropertyID_IsProtected = FOUR_CHAR_CODE('prot'), /* Boolean**/
+ kQTDRMPropertyID_IsAuthorized = FOUR_CHAR_CODE('auth') /* Boolean**/
+};
+
+
+
+/* UPP call backs */
+
+/* selectors for component calls */
+enum {
+ kGraphicsImportSetDataReferenceSelect = 0x0001,
+ kGraphicsImportGetDataReferenceSelect = 0x0002,
+ kGraphicsImportSetDataFileSelect = 0x0003,
+ kGraphicsImportGetDataFileSelect = 0x0004,
+ kGraphicsImportSetDataHandleSelect = 0x0005,
+ kGraphicsImportGetDataHandleSelect = 0x0006,
+ kGraphicsImportGetImageDescriptionSelect = 0x0007,
+ kGraphicsImportGetDataOffsetAndSizeSelect = 0x0008,
+ kGraphicsImportReadDataSelect = 0x0009,
+ kGraphicsImportSetClipSelect = 0x000A,
+ kGraphicsImportGetClipSelect = 0x000B,
+ kGraphicsImportSetSourceRectSelect = 0x000C,
+ kGraphicsImportGetSourceRectSelect = 0x000D,
+ kGraphicsImportGetNaturalBoundsSelect = 0x000E,
+ kGraphicsImportDrawSelect = 0x000F,
+ kGraphicsImportSetGWorldSelect = 0x0010,
+ kGraphicsImportGetGWorldSelect = 0x0011,
+ kGraphicsImportSetMatrixSelect = 0x0012,
+ kGraphicsImportGetMatrixSelect = 0x0013,
+ kGraphicsImportSetBoundsRectSelect = 0x0014,
+ kGraphicsImportGetBoundsRectSelect = 0x0015,
+ kGraphicsImportSaveAsPictureSelect = 0x0016,
+ kGraphicsImportSetGraphicsModeSelect = 0x0017,
+ kGraphicsImportGetGraphicsModeSelect = 0x0018,
+ kGraphicsImportSetQualitySelect = 0x0019,
+ kGraphicsImportGetQualitySelect = 0x001A,
+ kGraphicsImportSaveAsQuickTimeImageFileSelect = 0x001B,
+ kGraphicsImportSetDataReferenceOffsetAndLimitSelect = 0x001C,
+ kGraphicsImportGetDataReferenceOffsetAndLimitSelect = 0x001D,
+ kGraphicsImportGetAliasedDataReferenceSelect = 0x001E,
+ kGraphicsImportValidateSelect = 0x001F,
+ kGraphicsImportGetMetaDataSelect = 0x0020,
+ kGraphicsImportGetMIMETypeListSelect = 0x0021,
+ kGraphicsImportDoesDrawAllPixelsSelect = 0x0022,
+ kGraphicsImportGetAsPictureSelect = 0x0023,
+ kGraphicsImportExportImageFileSelect = 0x0024,
+ kGraphicsImportGetExportImageTypeListSelect = 0x0025,
+ kGraphicsImportDoExportImageFileDialogSelect = 0x0026,
+ kGraphicsImportGetExportSettingsAsAtomContainerSelect = 0x0027,
+ kGraphicsImportSetExportSettingsFromAtomContainerSelect = 0x0028,
+ kGraphicsImportSetProgressProcSelect = 0x0029,
+ kGraphicsImportGetProgressProcSelect = 0x002A,
+ kGraphicsImportGetImageCountSelect = 0x002B,
+ kGraphicsImportSetImageIndexSelect = 0x002C,
+ kGraphicsImportGetImageIndexSelect = 0x002D,
+ kGraphicsImportGetDataOffsetAndSize64Select = 0x002E,
+ kGraphicsImportReadData64Select = 0x002F,
+ kGraphicsImportSetDataReferenceOffsetAndLimit64Select = 0x0030,
+ kGraphicsImportGetDataReferenceOffsetAndLimit64Select = 0x0031,
+ kGraphicsImportGetDefaultMatrixSelect = 0x0032,
+ kGraphicsImportGetDefaultClipSelect = 0x0033,
+ kGraphicsImportGetDefaultGraphicsModeSelect = 0x0034,
+ kGraphicsImportGetDefaultSourceRectSelect = 0x0035,
+ kGraphicsImportGetColorSyncProfileSelect = 0x0036,
+ kGraphicsImportSetDestRectSelect = 0x0037,
+ kGraphicsImportGetDestRectSelect = 0x0038,
+ kGraphicsImportSetFlagsSelect = 0x0039,
+ kGraphicsImportGetFlagsSelect = 0x003A,
+ kGraphicsImportGetBaseDataOffsetAndSize64Select = 0x003D,
+ kGraphicsImportSetImageIndexToThumbnailSelect = 0x003E,
+ kGraphicsImportCreateCGImageSelect = 0x003F,
+ kGraphicsImportSaveAsPictureToDataRefSelect = 0x0040,
+ kGraphicsImportSaveAsQuickTimeImageFileToDataRefSelect = 0x0041,
+ kGraphicsImportExportImageFileToDataRefSelect = 0x0042,
+ kGraphicsImportDoExportImageFileToDataRefDialogSelect = 0x0043,
+ kGraphicsImportSetOverrideSourceColorSyncProfileRefSelect = 0x0044,
+ kGraphicsImportGetOverrideSourceColorSyncProfileRefSelect = 0x0045,
+ kGraphicsImportSetDestinationColorSyncProfileRefSelect = 0x0046,
+ kGraphicsImportGetDestinationColorSyncProfileRefSelect = 0x0047,
+ kGraphicsImportWillUseColorMatchingSelect = 0x0048,
+ kGraphicsImportGetGenericColorSyncProfileSelect = 0x0049,
+ kGraphicsImportSetReturnGenericColorSyncProfileSelect = 0x004A,
+ kGraphicsImportGetReturnGenericColorSyncProfileSelect = 0x004B,
+ kGraphicsExportDoExportSelect = 0x0001,
+ kGraphicsExportCanTranscodeSelect = 0x0002,
+ kGraphicsExportDoTranscodeSelect = 0x0003,
+ kGraphicsExportCanUseCompressorSelect = 0x0004,
+ kGraphicsExportDoUseCompressorSelect = 0x0005,
+ kGraphicsExportDoStandaloneExportSelect = 0x0006,
+ kGraphicsExportGetDefaultFileTypeAndCreatorSelect = 0x0007,
+ kGraphicsExportGetDefaultFileNameExtensionSelect = 0x0008,
+ kGraphicsExportGetMIMETypeListSelect = 0x0009,
+ kGraphicsExportRequestSettingsSelect = 0x000B,
+ kGraphicsExportSetSettingsFromAtomContainerSelect = 0x000C,
+ kGraphicsExportGetSettingsAsAtomContainerSelect = 0x000D,
+ kGraphicsExportGetSettingsAsTextSelect = 0x000E,
+ kGraphicsExportSetDontRecompressSelect = 0x000F,
+ kGraphicsExportGetDontRecompressSelect = 0x0010,
+ kGraphicsExportSetInterlaceStyleSelect = 0x0011,
+ kGraphicsExportGetInterlaceStyleSelect = 0x0012,
+ kGraphicsExportSetMetaDataSelect = 0x0013,
+ kGraphicsExportGetMetaDataSelect = 0x0014,
+ kGraphicsExportSetTargetDataSizeSelect = 0x0015,
+ kGraphicsExportGetTargetDataSizeSelect = 0x0016,
+ kGraphicsExportSetCompressionMethodSelect = 0x0017,
+ kGraphicsExportGetCompressionMethodSelect = 0x0018,
+ kGraphicsExportSetCompressionQualitySelect = 0x0019,
+ kGraphicsExportGetCompressionQualitySelect = 0x001A,
+ kGraphicsExportSetResolutionSelect = 0x001B,
+ kGraphicsExportGetResolutionSelect = 0x001C,
+ kGraphicsExportSetDepthSelect = 0x001D,
+ kGraphicsExportGetDepthSelect = 0x001E,
+ kGraphicsExportSetColorSyncProfileSelect = 0x0021,
+ kGraphicsExportGetColorSyncProfileSelect = 0x0022,
+ kGraphicsExportSetProgressProcSelect = 0x0023,
+ kGraphicsExportGetProgressProcSelect = 0x0024,
+ kGraphicsExportSetInputDataReferenceSelect = 0x0025,
+ kGraphicsExportGetInputDataReferenceSelect = 0x0026,
+ kGraphicsExportSetInputFileSelect = 0x0027,
+ kGraphicsExportGetInputFileSelect = 0x0028,
+ kGraphicsExportSetInputHandleSelect = 0x0029,
+ kGraphicsExportGetInputHandleSelect = 0x002A,
+ kGraphicsExportSetInputPtrSelect = 0x002B,
+ kGraphicsExportGetInputPtrSelect = 0x002C,
+ kGraphicsExportSetInputGraphicsImporterSelect = 0x002D,
+ kGraphicsExportGetInputGraphicsImporterSelect = 0x002E,
+ kGraphicsExportSetInputPictureSelect = 0x002F,
+ kGraphicsExportGetInputPictureSelect = 0x0030,
+ kGraphicsExportSetInputGWorldSelect = 0x0031,
+ kGraphicsExportGetInputGWorldSelect = 0x0032,
+ kGraphicsExportSetInputPixmapSelect = 0x0033,
+ kGraphicsExportGetInputPixmapSelect = 0x0034,
+ kGraphicsExportSetInputOffsetAndLimitSelect = 0x0035,
+ kGraphicsExportGetInputOffsetAndLimitSelect = 0x0036,
+ kGraphicsExportMayExporterReadInputDataSelect = 0x0037,
+ kGraphicsExportGetInputDataSizeSelect = 0x0038,
+ kGraphicsExportReadInputDataSelect = 0x0039,
+ kGraphicsExportGetInputImageDescriptionSelect = 0x003A,
+ kGraphicsExportGetInputImageDimensionsSelect = 0x003B,
+ kGraphicsExportGetInputImageDepthSelect = 0x003C,
+ kGraphicsExportDrawInputImageSelect = 0x003D,
+ kGraphicsExportSetOutputDataReferenceSelect = 0x003E,
+ kGraphicsExportGetOutputDataReferenceSelect = 0x003F,
+ kGraphicsExportSetOutputFileSelect = 0x0040,
+ kGraphicsExportGetOutputFileSelect = 0x0041,
+ kGraphicsExportSetOutputHandleSelect = 0x0042,
+ kGraphicsExportGetOutputHandleSelect = 0x0043,
+ kGraphicsExportSetOutputOffsetAndMaxSizeSelect = 0x0044,
+ kGraphicsExportGetOutputOffsetAndMaxSizeSelect = 0x0045,
+ kGraphicsExportSetOutputFileTypeAndCreatorSelect = 0x0046,
+ kGraphicsExportGetOutputFileTypeAndCreatorSelect = 0x0047,
+ kGraphicsExportWriteOutputDataSelect = 0x0048,
+ kGraphicsExportSetOutputMarkSelect = 0x0049,
+ kGraphicsExportGetOutputMarkSelect = 0x004A,
+ kGraphicsExportReadOutputDataSelect = 0x004B,
+ kGraphicsExportSetThumbnailEnabledSelect = 0x004C,
+ kGraphicsExportGetThumbnailEnabledSelect = 0x004D,
+ kGraphicsExportSetExifEnabledSelect = 0x004E,
+ kGraphicsExportGetExifEnabledSelect = 0x004F,
+ kGraphicsExportSetInputCGImageSelect = 0x0050,
+ kGraphicsExportGetInputCGImageSelect = 0x0051,
+ kGraphicsExportSetInputCGBitmapContextSelect = 0x0052,
+ kGraphicsExportGetInputCGBitmapContextSelect = 0x0053,
+ kGraphicsExportSetFlagsSelect = 0x0054,
+ kGraphicsExportGetFlagsSelect = 0x0055,
+ kImageTranscoderBeginSequenceSelect = 0x0001,
+ kImageTranscoderConvertSelect = 0x0002,
+ kImageTranscoderDisposeDataSelect = 0x0003,
+ kImageTranscoderEndSequenceSelect = 0x0004,
+ kQTGetComponentPropertyInfoSelect = -11,
+ kQTGetComponentPropertySelect = -12,
+ kQTSetComponentPropertySelect = -13,
+ kQTAddComponentPropertyListenerSelect = -14,
+ kQTRemoveComponentPropertyListenerSelect = -15
+};
+/* Aperture modes */
+
+/*
+ * Summary:
+ * Aperture modes
+ *
+ * Discussion:
+ * You can set the aperture mode property on a movie to indicate
+ * whether aspect ratio and clean aperture correction should be
+ * performed (kQTPropertyClass_Visual /
+ * kQTVisualPropertyID_ApertureMode). When a movie is in clean,
+ * production or encoded pixels aperture mode, each track's
+ * dimensions are overriden by special dimensions for that mode. The
+ * original track dimensions are preserved and can be restored by
+ * setting the movie into classic aperture mode. Aperture modes are
+ * not saved in movies.
+ * You can set the aperture mode property on a decompression session
+ * options object to indicate whether pixel buffers should be tagged
+ * to enable aspect ratio and clean aperture correction
+ * (kQTPropertyClass_ICMDecompressionSessionOptions /
+ * kICMDecompressionSessionOptionsPropertyID_ApertureMode).
+ */
+enum {
+
+ /*
+ * An aperture mode which gives compatibility with behavior in
+ * QuickTime 7.0.x and earlier.
+ * A movie in classic aperture mode uses track dimensions as set in
+ * NewMovieTrack and SetTrackDimensions.
+ * A decompression session in classic aperture mode does not set the
+ * clean aperture or pixel aspect ratio attachments on emitted pixel
+ * buffers.
+ * Movies default to classic aperture mode. If you call
+ * SetTrackDimensions on a track, the movie is automatically switched
+ * into classic aperture mode.
+ */
+ kQTApertureMode_Classic = FOUR_CHAR_CODE('clas'),
+
+ /*
+ * An aperture mode for general display.
+ * Where possible, video will be displayed at the correct pixel
+ * aspect ratio, trimmed to the clean aperture. A movie in clean
+ * aperture mode sets each track's dimensions to match its
+ * kQTVisualPropertyID_CleanApertureDimensions.
+ * A decompression session in clean aperture mode sets the clean
+ * aperture and pixel aspect ratio attachments on emitted pixel
+ * buffers based on the image description.
+ */
+ kQTApertureMode_CleanAperture = FOUR_CHAR_CODE('clea'),
+
+ /*
+ * An aperture mode for modal use in authoring applications.
+ * Where possible, video will be displayed at the correct pixel
+ * aspect ratio, but without trimming to the clean aperture so that
+ * the edge processing region can be viewed. A movie in production
+ * aperture mode sets each track's dimensions to match its
+ * kQTVisualPropertyID_ProductionApertureDimensions.
+ * A decompression session in production aperture mode sets the pixel
+ * aspect ratio attachments on emitted pixel buffers based on the
+ * image description.
+ */
+ kQTApertureMode_ProductionAperture = FOUR_CHAR_CODE('prod'),
+
+ /*
+ * An aperture mode for technical use.
+ * Displays all encoded pixels with no aspect ratio or clean aperture
+ * compensation. A movie in encoded pixels aperture mode sets each
+ * track's dimensions to match its
+ * kQTVisualPropertyID_EncodedPixelsDimensions.
+ * A decompression session in encoded pixels aperture mode does not
+ * set the clean aperture or pixel aspect ratio attachments on
+ * emitted pixel buffers.
+ */
+ kQTApertureMode_EncodedPixels = FOUR_CHAR_CODE('enco')
+};
+
+/* Property interface for Image Descriptions */
+
+/*
+ * Summary:
+ * Properties of image descriptions.
+ */
+enum {
+
+ /*
+ * Class identifier for image description properties.
+ */
+ kQTPropertyClass_ImageDescription = FOUR_CHAR_CODE('idsc'),
+
+ /*
+ * The width of the encoded image. Usually, but not always, this is
+ * the ImageDescription's width field.
+ */
+ kICMImageDescriptionPropertyID_EncodedWidth = FOUR_CHAR_CODE('encw'), /* SInt32, Read/Write */
+
+ /*
+ * The height of the encoded image. Usually, but not always, this is
+ * the ImageDescription's height field.
+ */
+ kICMImageDescriptionPropertyID_EncodedHeight = FOUR_CHAR_CODE('ench'), /* SInt32, Read/Write */
+
+ /*
+ * Describes the clean aperture of the buffer. If not specified
+ * explicitly in the image description, the default clean aperture
+ * (full encoded width and height) will be returned.
+ */
+ kICMImageDescriptionPropertyID_CleanAperture = FOUR_CHAR_CODE('clap'), /* Native-endian CleanApertureImageDescriptionExtension, Read/Write */
+
+ /*
+ * Describes the pixel aspect ratio. If not specified explicitly in
+ * the image description, a square (1:1) pixel aspect ratio will be
+ * returned.
+ */
+ kICMImageDescriptionPropertyID_PixelAspectRatio = FOUR_CHAR_CODE('pasp'), /* Native-endian PixelAspectRatioImageDescriptionExtension, Read/Write */
+
+ /*
+ * Dimensions at which the image could be displayed on a square-pixel
+ * display, generally calculated using the clean aperture and pixel
+ * aspect ratio.
+ * Note that this value is returned as a FixedPoint; the width and
+ * height can also be read separately as rounded SInt32s via
+ * kICMImageDescriptionPropertyID_CleanApertureDisplayWidth and
+ * kICMImageDescriptionPropertyID_CleanApertureDisplayHeight.
+ */
+ kICMImageDescriptionPropertyID_CleanApertureDisplayDimensions = FOUR_CHAR_CODE('cadi'), /* FixedPoint, Read */
+
+ /*
+ * Dimensions at which the image could be displayed on a square-pixel
+ * display, disregarding any clean aperture but honoring the pixel
+ * aspect ratio. This may be useful for authoring applications that
+ * want to expose the edge processing region. For general viewing,
+ * use kICMImageDescriptionPropertyID_CleanApertureDimensions
+ * instead.
+ * Note that this value is returned as a FixedPoint; the width and
+ * height can also be read separately as rounded SInt32s via
+ * kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth and
+ * kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight.
+ */
+ kICMImageDescriptionPropertyID_ProductionApertureDisplayDimensions = FOUR_CHAR_CODE('prdi'), /* FixedPoint, Read */
+
+ /*
+ * Dimensions of the encoded image.
+ * Note that this value is returned as a FixedPoint for convenience;
+ * the width and height can also be read separately as SInt32s via
+ * kICMImageDescriptionPropertyID_EncodedWidth and
+ * kICMImageDescriptionPropertyID_EncodedHeight.
+ */
+ kICMImageDescriptionPropertyID_EncodedPixelsDimensions = FOUR_CHAR_CODE('endi'), /* FixedPoint, Read */
+
+ /*
+ * A width at which the image could be displayed on a square-pixel
+ * display, possibly calculated using the clean aperture and pixel
+ * aspect ratio.
+ */
+ kICMImageDescriptionPropertyID_CleanApertureDisplayWidth = FOUR_CHAR_CODE('disw'), /* SInt32, Read */
+
+ /*
+ * A height at which the image could be displayed on a square-pixel
+ * display, possibly calculated using the clean aperture and pixel
+ * aspect ratio.
+ */
+ kICMImageDescriptionPropertyID_CleanApertureDisplayHeight = FOUR_CHAR_CODE('dish'), /* SInt32, Read */
+
+ /*
+ * A width at which the image could be displayed on a square-pixel
+ * display, disregarding any clean aperture but honoring the pixel
+ * aspect ratio. This may be useful for authoring applications that
+ * want to expose the edge processing region. For general viewing,
+ * use kICMImageDescriptionPropertyID_CleanApertureDisplayWidth
+ * instead.
+ */
+ kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth = FOUR_CHAR_CODE('pdsw'), /* SInt32, Read */
+
+ /*
+ * A height at which the image could be displayed on a square-pixel
+ * display, disregarding any clean aperture but honoring the pixel
+ * aspect ratio. This may be useful for authoring applications that
+ * want to expose the edge processing region. For general viewing,
+ * use kICMImageDescriptionPropertyID_CleanApertureDisplayHeight
+ * instead.
+ */
+ kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight = FOUR_CHAR_CODE('pdsh'), /* SInt32, Read */
+
+ /*
+ * Synonym for
+ * kICMImageDescriptionPropertyID_CleanApertureDisplayWidth.
+ */
+ kICMImageDescriptionPropertyID_DisplayWidth = FOUR_CHAR_CODE('disw'), /* SInt32, Read */
+
+ /*
+ * Synonym for
+ * kICMImageDescriptionPropertyID_CleanApertureDisplayHeight.
+ */
+ kICMImageDescriptionPropertyID_DisplayHeight = FOUR_CHAR_CODE('dish'), /* SInt32, Read */
+
+ /*
+ * Synonym for
+ * kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth.
+ */
+ kICMImageDescriptionPropertyID_ProductionDisplayWidth = FOUR_CHAR_CODE('pdsw'), /* SInt32, Read */
+
+ /*
+ * Synonym for
+ * kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight.
+ */
+ kICMImageDescriptionPropertyID_ProductionDisplayHeight = FOUR_CHAR_CODE('pdsh'), /* SInt32, Read */
+
+ /*
+ * Color information, if available in the
+ * NCLCColorInfoImageDescriptionExtension format.
+ */
+ kICMImageDescriptionPropertyID_NCLCColorInfo = FOUR_CHAR_CODE('nclc'), /* Native-endian NCLCColorInfoImageDescriptionExtension, Read/Write */
+
+ /*
+ * A CGColorSpaceRef for the colorspace described by the image
+ * description, constructed from video color info or ICC Profile.
+ * IMPORTANT NOTE: The YCbCr matrix from the video color info is not
+ * represented in the CGColorSpaceRef. The caller of GetProperty is
+ * responsible for releasing this, eg, by calling
+ * CGColorSpaceRelease. Only supported on Mac OS X.
+ */
+ kICMImageDescriptionPropertyID_CGColorSpace = FOUR_CHAR_CODE('cgcs'), /* CGColorSpaceRef, Read -- caller of GetProperty must call CGColorSpaceRelease */
+
+ /*
+ * A CFDataRef containing the serialized ICC profile described by the
+ * image description. The caller of GetProperty is responsible for
+ * releasing this, eg, by calling CFRelease.
+ */
+ kICMImageDescriptionPropertyID_ICCProfile = FOUR_CHAR_CODE('iccp'), /* CFDataRef, Read/Write -- caller of GetProperty must call CFRelease */
+
+ /*
+ * The gamma level described by the image description.
+ */
+ kICMImageDescriptionPropertyID_GammaLevel = FOUR_CHAR_CODE('gama'), /* Fixed, Read/Write */
+
+ /*
+ * Information about the number and order of fields, if available.
+ */
+ kICMImageDescriptionPropertyID_FieldInfo = FOUR_CHAR_CODE('fiel'), /* FieldInfoImageDescriptionExtension2, Read/Write */
+
+ /*
+ * The offset in bytes from the start of one row to the next. Only
+ * valid if the codec type is a chunky pixel format.
+ */
+ kICMImageDescriptionPropertyID_RowBytes = FOUR_CHAR_CODE('rowb'), /* SInt32, Read/Write */
+
+ /*
+ * A track width suitable for passing to NewMovieTrack when creating
+ * a new track to hold this image data.
+ */
+ kICMImageDescriptionPropertyID_ClassicTrackWidth = FOUR_CHAR_CODE('claw'), /* Fixed, Read */
+
+ /*
+ * A track height suitable for passing to NewMovieTrack when creating
+ * a new track to hold this image data.
+ */
+ kICMImageDescriptionPropertyID_ClassicTrackHeight = FOUR_CHAR_CODE('clah'), /* Fixed, Read */
+
+ /*
+ * Defines a duration for quantizing time. This is applicable for
+ * cases where a single media sample generates visual output that
+ * varies continuously through its duration. By interpreting this
+ * property, such a sample may be considered to have internal "step
+ * points" at multiples of the stepping duration. This can be used to
+ * throttle frame generation during playback, and when stepping using
+ * InterestingTime APIs. Setting a step duration with value zero
+ * removes any current step duration.
+ */
+ kICMImageDescriptionPropertyID_StepDuration = FOUR_CHAR_CODE('step'), /* TimeRecord (base ignored), Read/Write */
+
+ /*
+ * The clean aperture as a FixedRect in source coordinates, within
+ * the rectangle defined by the image description width and height,
+ * suitable for use as a source rectangle in a decompression
+ * sequence.
+ * For historical reasons, the DVCPROHD codecs store the production
+ * aperture display dimensions in the image description width and
+ * height; the actual encoded dimensions are smaller. For DVCPROHD,
+ * the clip rect will be relative to the image description width and
+ * height, not the encoded dimensions.
+ */
+ kICMImageDescriptionPropertyID_CleanApertureClipRect = FOUR_CHAR_CODE('cacr'), /* FixedRect, Read */
+
+ /*
+ * A matrix transforming the clean aperture clip rect to the origin,
+ * scaled to the clean aperture display dimensions.
+ * For historical reasons, the DVCPROHD codecs store the production
+ * aperture display dimensions in the image description width and
+ * height; the actual encoded dimensions are smaller. For DVCPROHD,
+ * the matrix will be relative to the image description width and
+ * height, not the encoded dimensions.
+ */
+ kICMImageDescriptionPropertyID_CleanApertureMatrix = FOUR_CHAR_CODE('camx'), /* MatrixRecord, Read */
+
+ /*
+ * A matrix transforming the image to the origin, scaled to the
+ * production aperture display dimensions.
+ * For historical reasons, the DVCPROHD codecs store the production
+ * aperture display dimensions in the image description width and
+ * height; the actual encoded dimensions are smaller. For DVCPROHD,
+ * the matrix will be relative to the image description width and
+ * height, not the encoded dimensions.
+ */
+ kICMImageDescriptionPropertyID_ProductionApertureMatrix = FOUR_CHAR_CODE('pamx'), /* MatrixRecord, Read */
+
+ /*
+ * A localized, human readable string summarizing the image as a
+ * CFString, ie: "Apple DV, 720 x 480 (640 x 480), Millions".
+ * The elements are: the codec name, the encoded pixels dimensions,
+ * then parenthetically the clean aperture mode dimensions, but only
+ * if they are different from the encoded pixels dimensions; then the
+ * depth.
+ * The codec name shall be from the localized decompressor component
+ * name string if exactly one decompressor with the correct cType is
+ * available; otherwise the string in the image description shall be
+ * used. The caller of GetProperty is responsible for releasing this
+ * CFString, eg, by calling CFRelease.
+ */
+ kICMImageDescriptionPropertyID_SummaryString = FOUR_CHAR_CODE('isum') /* CFStringRef, Read - caller of GetProperty must call CFRelease*/
+};
+
+/*
+ * ICMImageDescriptionGetPropertyInfo()
+ *
+ * Summary:
+ * Gets info about a particular property of a ImageDescription.
+ *
+ * Parameters:
+ *
+ * inDesc:
+ * ImageDescriptionHandle being interrogated
+ *
+ * inPropClass:
+ * The class of property being requested
+ *
+ * inPropID:
+ * The ID of the property being requested
+ *
+ * outPropType:
+ * The type of property is returned here (can be NULL)
+ *
+ * outPropValueSize:
+ * The size of property is returned here (can be NULL)
+ *
+ * outPropertyFlags:
+ * The property flags are returned here (can be NULL)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMImageDescriptionGetPropertyInfo(
+ ImageDescriptionHandle inDesc,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ComponentValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags); /* can be NULL */
+
+
+/*
+ * ICMImageDescriptionGetProperty()
+ *
+ * Summary:
+ * Gets a particular property of a ImageDescriptionHandle.
+ *
+ * Parameters:
+ *
+ * inDesc:
+ * ImageDescriptionHandle being interrogated
+ *
+ * inPropClass:
+ * The class of property being requested
+ *
+ * inPropID:
+ * The ID of the property being requested
+ *
+ * inPropValueSize:
+ * The size of the property value buffer
+ *
+ * outPropValueAddress:
+ * Points to the buffer to receive the property value
+ *
+ * outPropValueSizeUsed:
+ * Points to a variable to receive the actual size of returned
+ * property value (can be NULL)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMImageDescriptionGetProperty(
+ ImageDescriptionHandle inDesc,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ComponentValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed); /* can be NULL */
+
+
+/*
+ * ICMImageDescriptionSetProperty()
+ *
+ * Summary:
+ * Sets a particular property of a ImageDescriptionHandle.
+ *
+ * Parameters:
+ *
+ * inDesc:
+ * ImageDescriptionHandle being modified
+ *
+ * inPropClass:
+ * The class of property being set
+ *
+ * inPropID:
+ * The ID of the property being set
+ *
+ * inPropValueSize:
+ * The size of property value
+ *
+ * inPropValueAddress:
+ * Points to the property value buffer
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMImageDescriptionSetProperty(
+ ImageDescriptionHandle inDesc,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstComponentValuePtr inPropValueAddress);
+
+
+
+
+/*
+ * ICMValidTimeFlags
+ *
+ * Summary:
+ * Flags to describe which time values are valid.
+ */
+typedef UInt32 ICMValidTimeFlags;
+enum {
+
+ /*
+ * Indicates that a display time stamp is valid.
+ */
+ kICMValidTime_DisplayTimeStampIsValid = 1L << 0,
+
+ /*
+ * Indicates that a display duration is valid.
+ */
+ kICMValidTime_DisplayDurationIsValid = 1L << 1,
+
+ /*
+ * Indicates that a decode time stamp is valid.
+ */
+ kICMValidTime_DecodeTimeStampIsValid = 1L << 2,
+
+ /*
+ * Indicates that a decode duration is valid.
+ */
+ kICMValidTime_DecodeDurationIsValid = 1L << 3,
+
+ /*
+ * Indicates that a display offset (the offset from a decode time
+ * stamp to a display time stamp) is valid.
+ */
+ kICMValidTime_DisplayOffsetIsValid = 1L << 4
+};
+
+
+/*
+ * ICMDecompressionSessionRef
+ *
+ * Summary:
+ * Represents a decompression session that emits CVPixelBufferRefs
+ * containing frames, tagged with display times.
+ *
+ * Discussion:
+ * ICMDecompressionSession does not support source extraction,
+ * matrix transformations, graphics transfer modes, region-based
+ * clipping or data-loading procedures. Note that the pixel buffers
+ * may be output out of display order, provided that the client opts
+ * in.
+ */
+typedef struct OpaqueICMDecompressionSession* ICMDecompressionSessionRef;
+
+/*
+ * QTVisualContextRef
+ *
+ * Summary:
+ * Represents a destination visual rendering environment.
+ *
+ * Discussion:
+ * The QTVisualContextRef type encapsulates a connection to a
+ * generic visual destination. A single visual context object may
+ * not be associated with more than one movie at a time.
+ */
+typedef struct OpaqueQTVisualContext* QTVisualContextRef;
+
+/*
+ * ICMDecompressionSessionOptionsRef
+ *
+ * Summary:
+ * Holds options for a decompression session.
+ */
+typedef struct OpaqueICMDecompressionSessionOptions* ICMDecompressionSessionOptionsRef;
+
+/*
+ * ICMDecompressionFrameOptionsRef
+ *
+ * Summary:
+ * Holds options for decompressing an individual frame.
+ */
+typedef struct OpaqueICMDecompressionFrameOptions* ICMDecompressionFrameOptionsRef;
+
+/*
+ * ICMDecompressionTrackingFlags
+ *
+ * Summary:
+ * Describes changes in state of a frame queued with an ICM
+ * decompression session.
+ */
+typedef UInt32 ICMDecompressionTrackingFlags;
+enum {
+
+ /*
+ * Indicates that this is the last call for this sourceFrameRefCon.
+ */
+ kICMDecompressionTracking_LastCall = 1L << 0,
+
+ /*
+ * Indicates that the session no longer needs the source data pointer.
+ */
+ kICMDecompressionTracking_ReleaseSourceData = 1L << 1,
+
+ /*
+ * Indicates that a frame is being emitted. The pixelBuffer parameter
+ * contains the decompressed frame. If the decompression session is
+ * targetting a visual context, the frame has not yet been sent to
+ * the visual context but will be after the callback returns.
+ */
+ kICMDecompressionTracking_EmittingFrame = 1L << 2,
+
+ /*
+ * Indicates that this frame was decoded.
+ */
+ kICMDecompressionTracking_FrameDecoded = 1L << 3,
+
+ /*
+ * Indicates that the codec decided to drop this frame.
+ */
+ kICMDecompressionTracking_FrameDropped = 1L << 4,
+
+ /*
+ * Indicates that this frame will not be able to be displayed unless
+ * it is queued for redecode (also known as FrameNotDisplayable).
+ */
+ kICMDecompressionTracking_FrameNeedsRequeueing = 1L << 5
+};
+
+
+/*
+ * ICMDecompressionTrackingCallback
+ *
+ * Summary:
+ * The callback through which a client of an ICM decompression
+ * session receives decoded frames and information about decoding.
+ *
+ * Discussion:
+ * The client may retain the emitted pixel buffers as long as it
+ * needs; they will not be reused before the client releases them.
+ *
+ * Parameters:
+ *
+ * decompressionTrackingRefCon:
+ * The callback's reference value, copied from the
+ * decompressionTrackingRefCon field of the
+ * ICMDecompressionTrackingCallbackRecord structure.
+ *
+ * result:
+ * Indicates whether there was an error in decompression.
+ *
+ * decompressionTrackingFlags:
+ * One or more flags describing the a frame's state transitions.
+ *
+ * pixelBuffer:
+ * When the kICMDecompressionTracking_EmittingFrame flag is set in
+ * decompressionTrackingFlags, a pixel buffer containing the
+ * decompressed frame. Otherwise, NULL.
+ *
+ * displayTime:
+ * If kICMValidTime_DisplayTimeStampIsValid is set in
+ * validTimeFlags, the display time of the frame.
+ *
+ * displayDuration:
+ * If kICMValidTime_DisplayDurationIsValid is set in
+ * validTimeFlags, the display duration of the frame.
+ *
+ * validTimeFlags:
+ * Indicates which of displayTime and displayDuration is valid.
+ *
+ * reserved:
+ * Reserved for future use. Ignore the value of this parameter.
+ *
+ * sourceFrameRefCon:
+ * The frame's reference value, copied from the sourceFrameRefCon
+ * parameter to ICMDecompressionSessionDecodeFrame.
+ */
+typedef CALLBACK_API_C( void , ICMDecompressionTrackingCallback )(void *decompressionTrackingRefCon, OSStatus result, ICMDecompressionTrackingFlags decompressionTrackingFlags, CVPixelBufferRef pixelBuffer, TimeValue64 displayTime, TimeValue64 displayDuration, ICMValidTimeFlags validTimeFlags, void *reserved, void *sourceFrameRefCon);
+
+/*
+ * ICMDecompressionTrackingCallbackRecord
+ *
+ * Summary:
+ * A tracking callback for an ICM decompression session.
+ */
+struct ICMDecompressionTrackingCallbackRecord {
+
+ /*
+ * The callback function pointer.
+ */
+ ICMDecompressionTrackingCallback decompressionTrackingCallback;
+
+ /*
+ * The callback's reference value.
+ */
+ void * decompressionTrackingRefCon;
+};
+typedef struct ICMDecompressionTrackingCallbackRecord ICMDecompressionTrackingCallbackRecord;
+/*
+ * ICMDecompressionSessionCreate()
+ *
+ * Summary:
+ * Creates a session for decompressing video frames.
+ *
+ * Discussion:
+ * Frames will be output through calls to trackingCallback.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * An allocator for the session. Pass NULL to use the default
+ * allocator.
+ *
+ * desc:
+ * An image description for the source frames.
+ *
+ * decompressionOptions:
+ * Options for the session. The session will retain this options
+ * object. You may change some options during the session by
+ * modifying the object.
+ *
+ * destinationPixelBufferAttributes:
+ * Describes requirements for emitted pixel buffers.
+ *
+ * trackingCallback:
+ * The callback to be called with information about queued frames,
+ * and pixel buffers containing the decompressed frames.
+ *
+ * decompressionSessionOut:
+ * Points to a variable to receive the new decompression session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ ImageDescriptionHandle desc,
+ ICMDecompressionSessionOptionsRef decompressionOptions, /* can be NULL */
+ CFDictionaryRef destinationPixelBufferAttributes, /* can be NULL */
+ ICMDecompressionTrackingCallbackRecord * trackingCallback,
+ ICMDecompressionSessionRef * decompressionSessionOut);
+
+
+/*
+ * ICMDecompressionSessionCreateForVisualContext()
+ *
+ * Summary:
+ * Creates a session for decompressing video frames.
+ *
+ * Discussion:
+ * Frames will be output to a visual context. If desired, the
+ * trackingCallback may attach additional data to pixel buffers
+ * before they are sent to the visual context.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * An allocator for the session. Pass NULL to use the default
+ * allocator.
+ *
+ * desc:
+ * An image description for the source frames.
+ *
+ * decompressionOptions:
+ * Options for the session. The session will retain this options
+ * object. You may change some options during the session by
+ * modifying the object.
+ *
+ * visualContext:
+ * The target visual context.
+ *
+ * trackingCallback:
+ * The callback to be called with information about queued frames,
+ * and pixel buffers containing the decompressed frames.
+ *
+ * decompressionSessionOut:
+ * Points to a variable to receive the new decompression session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionCreateForVisualContext(
+ CFAllocatorRef allocator, /* can be NULL */
+ ImageDescriptionHandle desc,
+ ICMDecompressionSessionOptionsRef decompressionOptions, /* can be NULL */
+ QTVisualContextRef visualContext,
+ ICMDecompressionTrackingCallbackRecord * trackingCallback,
+ ICMDecompressionSessionRef * decompressionSessionOut);
+
+
+/*
+ * ICMDecompressionSessionRetain()
+ *
+ * Summary:
+ * Increments the retain count of a decompression session.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMDecompressionSessionRef )
+ICMDecompressionSessionRetain(ICMDecompressionSessionRef session);
+
+
+/*
+ * ICMDecompressionSessionRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a decompression session. If it
+ * drops to zero, the session is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMDecompressionSessionRelease(ICMDecompressionSessionRef session);
+
+
+/*
+ * ICMDecompressionSessionGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for decompression sessions.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMDecompressionSessionGetTypeID(void);
+
+
+/*
+ * ICMDecompressionSessionDecodeFrame()
+ *
+ * Summary:
+ * Queues a frame for decompression.
+ *
+ * Parameters:
+ *
+ * session:
+ * The decompression session.
+ *
+ * data:
+ * Points to the compressed data for this frame. The data must
+ * remain in this location until the tracking callback is called
+ * with the kICMDecompressionTracking_ReleaseSourceData flag set
+ * in decompressionTrackingFlags.
+ *
+ * dataSize:
+ * The number of bytes of compressed data. You may not pass zero
+ * in this parameter.
+ *
+ * frameOptions:
+ * Options for this frame.
+ *
+ * frameTime:
+ * Points to a structure describing the frame's timing information.
+ *
+ * sourceFrameRefCon:
+ * Your reference value for the frame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionDecodeFrame(
+ ICMDecompressionSessionRef session,
+ const UInt8 * data,
+ ByteCount dataSize,
+ ICMDecompressionFrameOptionsRef frameOptions, /* can be NULL */
+ const ICMFrameTimeRecord * frameTime,
+ void * sourceFrameRefCon);
+
+
+/*
+ * ICMDecompressionSessionGetPropertyInfo()
+ *
+ * Summary:
+ * Retrieves information about properties of a decompression session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionGetPropertyInfo(
+ ICMDecompressionSessionRef session,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ComponentValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags); /* can be NULL */
+
+
+/*
+ * ICMDecompressionSessionGetProperty()
+ *
+ * Summary:
+ * Retrieves the value of a specific property of a decompression
+ * session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionGetProperty(
+ ICMDecompressionSessionRef session,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ComponentValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed); /* can be NULL */
+
+
+/*
+ * ICMDecompressionSessionSetProperty()
+ *
+ * Summary:
+ * Sets the value of a specific property of a decompression session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionSetProperty(
+ ICMDecompressionSessionRef session,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstComponentValuePtr inPropValueAddress);
+
+
+
+/*
+ * ICMNonScheduledDisplayTime
+ *
+ * Discussion:
+ * The display time for a decompression session.
+ */
+struct ICMNonScheduledDisplayTime {
+
+ /*
+ * A display time. Usually this is the display time of a
+ * non-scheduled queued frame.
+ */
+ TimeValue64 displayTime;
+
+ /*
+ * The timescale according to which displayTime should be interpreted.
+ */
+ TimeScale displayTimeScale;
+
+ /*
+ * Reserved, set to zero.
+ */
+ UInt32 flags;
+};
+typedef struct ICMNonScheduledDisplayTime ICMNonScheduledDisplayTime;
+
+/*
+ * Summary:
+ * Properties of decompression sessions.
+ */
+enum {
+
+ /*
+ * Class identifier for decompression session properties.
+ */
+ kQTPropertyClass_ICMDecompressionSession = FOUR_CHAR_CODE('icds'),
+
+ /*
+ * The non-scheduled display time for a decompression session.
+ * Setting this requests display of the non-scheduled queued frame at
+ * that display time, if there is one.
+ * See ICMDecompressionSessionSetNonScheduledDisplayTime.
+ */
+ kICMDecompressionSessionPropertyID_NonScheduledDisplayTime = FOUR_CHAR_CODE('nsti'), /* ICMNonScheduledDisplayTime, Read/Write */
+
+ /*
+ * The direction for non-scheduled display time.
+ * See ICMDecompressionSessionSetNonScheduledDisplayDirection.
+ */
+ kICMDecompressionSessionPropertyID_NonScheduledDisplayDirection = FOUR_CHAR_CODE('nsdu'), /* Fixed, Read/Write */
+
+ /*
+ * The pixel buffer pool from which emitted pixel buffers are
+ * allocated. Getting this does not change the retain count of the
+ * pool.
+ */
+ kICMDecompressionSessionPropertyID_PixelBufferPool = FOUR_CHAR_CODE('pool'), /* CVPixelBufferPoolRef, Read */
+
+ /*
+ * Indicates whether the a common pixel buffer pool is shared between
+ * the decompressor and the session client. This is false if separate
+ * pools are used because the decompressor's and the client's pixel
+ * buffer attributes were incompatible.
+ */
+ kICMDecompressionSessionPropertyID_PixelBufferPoolIsShared = FOUR_CHAR_CODE('plsh') /* Boolean, Read */
+};
+
+/*
+ * ICMDecompressionSessionSetNonScheduledDisplayTime()
+ *
+ * Summary:
+ * Sets the display time for a decompression session, and requests
+ * display of the non-scheduled queued frame at that display time,
+ * if there is one.
+ *
+ * Discussion:
+ * Call ICMDecompressionSessionSetNonScheduledDisplayTime after
+ * queueing non-scheduled frames with
+ * ICMDecompressionSessionDecodeFrame with the
+ * icmFrameTimeIsNonScheduledDisplayTime flag set to request display
+ * of the frame at a particular display time.
+ * If there is no queued non-scheduled frame with this display time,
+ * the frame with the next earlier display time is displayed. (Which
+ * of two display times is earlier is determined using the
+ * non-scheduled display time direction, which you can set with
+ * ICMDecompressionSessionSetNonScheduledDisplayDirection.) If there
+ * is no such frame, nothing happens.
+ * This has no effect if frames are scheduled against a timebase.
+ *
+ * Parameters:
+ *
+ * session:
+ * The decompression session.
+ *
+ * displayTime:
+ * A display time. Usually this is the display time of a
+ * non-scheduled queued frame.
+ *
+ * displayTimeScale:
+ * The timescale according to which displayTime should be
+ * interpreted.
+ *
+ * flags:
+ * Reserved, set to zero.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionSetNonScheduledDisplayTime(
+ ICMDecompressionSessionRef session,
+ TimeValue64 displayTime,
+ TimeScale displayTimeScale,
+ UInt32 flags);
+
+
+/*
+ * ICMDecompressionSessionSetNonScheduledDisplayDirection()
+ *
+ * Summary:
+ * Sets the direction for non-scheduled display time.
+ *
+ * Discussion:
+ * If rate is zero or positive, direction is forwards. If negative,
+ * direction is backwards.
+ * Any frames queued under the opposite direction will be flushed.
+ *
+ * The non-scheduled display direction defaults to forwards (rate
+ * 1.0).
+ *
+ * Parameters:
+ *
+ * session:
+ * The decompression session.
+ *
+ * rate:
+ * Indicates the direction.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionSetNonScheduledDisplayDirection(
+ ICMDecompressionSessionRef session,
+ Fixed rate);
+
+
+/*
+ * ICMDecompressionSessionFlush()
+ *
+ * Summary:
+ * Flushes frames queued with a decompression session.
+ *
+ * Discussion:
+ * The tracking callback will be called for each frame with the
+ * result -1.
+ *
+ * Parameters:
+ *
+ * session:
+ * The decompression session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionFlush(ICMDecompressionSessionRef session);
+
+
+
+
+/*
+ * ICMDecompressionSessionOptionsCreate()
+ *
+ * Summary:
+ * Creates a decompression session options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionOptionsCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMDecompressionSessionOptionsRef * options);
+
+
+/*
+ * ICMDecompressionSessionOptionsCreateCopy()
+ *
+ * Summary:
+ * Copies a decompression session options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionOptionsCreateCopy(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMDecompressionSessionOptionsRef originalOptions,
+ ICMDecompressionSessionOptionsRef * copiedOptions);
+
+
+/*
+ * ICMDecompressionSessionOptionsRetain()
+ *
+ * Summary:
+ * Increments the retain count of a decompression session options
+ * object.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMDecompressionSessionOptionsRef )
+ICMDecompressionSessionOptionsRetain(ICMDecompressionSessionOptionsRef options);
+
+
+/*
+ * ICMDecompressionSessionOptionsRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a decompression session options
+ * object. If it drops to zero, the object is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMDecompressionSessionOptionsRelease(ICMDecompressionSessionOptionsRef options);
+
+
+/*
+ * ICMDecompressionSessionOptionsGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for decompression session options objects.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMDecompressionSessionOptionsGetTypeID(void);
+
+
+/*
+ * ICMDecompressionSessionOptionsGetPropertyInfo()
+ *
+ * Summary:
+ * Retrieves information about properties of a decompression session
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionOptionsGetPropertyInfo(
+ ICMDecompressionSessionOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ComponentValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags); /* can be NULL */
+
+
+/*
+ * ICMDecompressionSessionOptionsGetProperty()
+ *
+ * Summary:
+ * Retrieves the value of a specific property of a decompression
+ * session options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionOptionsGetProperty(
+ ICMDecompressionSessionOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ComponentValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed); /* can be NULL */
+
+
+/*
+ * ICMDecompressionSessionOptionsSetProperty()
+ *
+ * Summary:
+ * Sets the value of a specific property of a decompression session
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionSessionOptionsSetProperty(
+ ICMDecompressionSessionOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstComponentValuePtr inPropValueAddress);
+
+
+
+/*
+ * Summary:
+ * Properties of decompression session options objects.
+ */
+enum {
+
+ /*
+ * Class identifier for decompression session options object
+ * properties.
+ */
+ kQTPropertyClass_ICMDecompressionSessionOptions = FOUR_CHAR_CODE('idso'),
+
+ /*
+ * By default, this is true, meaning that frames must be output in
+ * display order. Set this to false to allow frames to be output in
+ * decode order rather than in display order.
+ */
+ kICMDecompressionSessionOptionsPropertyID_DisplayOrderRequired = FOUR_CHAR_CODE('dorq'), /* Boolean, Read/Write */
+
+ /*
+ * A specific decompressor component or component instance to be
+ * used, or one of the wildcards anyCodec, bestSpeedCodec,
+ * bestFidelityCodec, or bestCompressionCodec.
+ * By default, this is anyCodec.
+ */
+ kICMDecompressionSessionOptionsPropertyID_DecompressorComponent = FOUR_CHAR_CODE('imdc'), /* DecompressorComponent, Read/Write */
+
+ /*
+ * The decompression accuracy.
+ * The default accuracy is codecNormalQuality.
+ */
+ kICMDecompressionSessionOptionsPropertyID_Accuracy = FOUR_CHAR_CODE('acur'), /* CodecQ, Read/Write */
+
+ /*
+ * Requests special handling of fields. Not all codecs will obey this
+ * request; some codecs will only handle it at certain accuracy
+ * levels. Ignored for non-interlaced content.
+ */
+ kICMDecompressionSessionOptionsPropertyID_FieldMode = FOUR_CHAR_CODE('fiel'), /* ICMFieldMode, Read/Write */
+
+ /*
+ * The maximum number of buffers ahead of the current time that
+ * should be decompressed. Used in sessions that target visual
+ * contexts. By default, the number of buffers will be determined
+ * from the visual context.
+ */
+ kICMDecompressionSessionOptionsPropertyID_MaxBufferCount = FOUR_CHAR_CODE('m#bf'), /* UInt32, Read/Write */
+
+ /*
+ * The minimum time ahead of the current time that frames should be
+ * decompressed. Used in sessions that target visual contexts. By
+ * default, the output-ahead time will be determined from the visual
+ * context.
+ */
+ kICMDecompressionSessionOptionsPropertyID_OutputAheadTime = FOUR_CHAR_CODE('futu'), /* TimeRecord, Read/Write */
+
+ /*
+ * You can set the aperture mode property on a decompression session
+ * options object to indicate whether pixel buffers should be tagged
+ * to enable aspect ratio and clean aperture correction. The default
+ * aperture mode for a decompression session is clean aperture mode.
+ */
+ kICMDecompressionSessionOptionsPropertyID_ApertureMode = FOUR_CHAR_CODE('apmd') /* OSType, Read/Write */
+};
+
+
+/*
+ * ICMFieldMode
+ *
+ * Summary:
+ * Describes special field handling.
+ */
+typedef UInt32 ICMFieldMode;
+enum {
+
+ /*
+ * Both fields should be decompressed.
+ */
+ kICMFieldMode_BothFields = 0,
+
+ /*
+ * Only the top field should be decompressed, producing a half-height
+ * image.
+ */
+ kICMFieldMode_TopFieldOnly = 1,
+
+ /*
+ * Only the bottom field should be decompressed, producing a
+ * half-height image.
+ */
+ kICMFieldMode_BottomFieldOnly = 2,
+
+ /*
+ * Both fields should be decompressed, and then filtered to reduce
+ * interlacing artifacts.
+ */
+ kICMFieldMode_DeinterlaceFields = 3
+};
+
+
+/*
+ * ICMDecompressionFrameOptionsCreate()
+ *
+ * Summary:
+ * Creates a frame decompression options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionFrameOptionsCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMDecompressionFrameOptionsRef * options);
+
+
+/*
+ * ICMDecompressionFrameOptionsCreateCopy()
+ *
+ * Summary:
+ * Copies a frame decompression options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionFrameOptionsCreateCopy(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMDecompressionFrameOptionsRef originalOptions,
+ ICMDecompressionFrameOptionsRef * copiedOptions);
+
+
+/*
+ * ICMDecompressionFrameOptionsRetain()
+ *
+ * Summary:
+ * Increments the retain count of a frame decompression options
+ * object.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMDecompressionFrameOptionsRef )
+ICMDecompressionFrameOptionsRetain(ICMDecompressionFrameOptionsRef options);
+
+
+/*
+ * ICMDecompressionFrameOptionsRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a frame decompression options
+ * object. If it drops to zero, the object is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMDecompressionFrameOptionsRelease(ICMDecompressionFrameOptionsRef options);
+
+
+/*
+ * ICMDecompressionFrameOptionsGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for frame decompression options objects.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMDecompressionFrameOptionsGetTypeID(void);
+
+
+/*
+ * ICMDecompressionFrameOptionsGetPropertyInfo()
+ *
+ * Summary:
+ * Retrieves information about properties of a decompression frame
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionFrameOptionsGetPropertyInfo(
+ ICMDecompressionFrameOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ComponentValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags); /* can be NULL */
+
+
+/*
+ * ICMDecompressionFrameOptionsGetProperty()
+ *
+ * Summary:
+ * Retrieves the value of a specific property of a decompression
+ * frame options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionFrameOptionsGetProperty(
+ ICMDecompressionFrameOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ComponentValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed); /* can be NULL */
+
+
+/*
+ * ICMDecompressionFrameOptionsSetProperty()
+ *
+ * Summary:
+ * Sets the value of a specific property of a decompression frame
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMDecompressionFrameOptionsSetProperty(
+ ICMDecompressionFrameOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstComponentValuePtr inPropValueAddress);
+
+
+
+/*
+ * Summary:
+ * Properties of decompression frame options objects.
+ */
+enum {
+
+ /*
+ * Class identifier for decompression frame options object properties.
+ */
+ kQTPropertyClass_ICMDecompressionFrameOptions = FOUR_CHAR_CODE('idfo'),
+
+ /*
+ * A specific pixel buffer that the frame should be decompressed
+ * into. Setting this circumvents the pixel buffer pool mechanism. If
+ * this buffer is not compatible with the codec's pixel buffer
+ * requirements, decompression will fail.
+ */
+ kICMDecompressionFrameOptionsPropertyID_DestinationPixelBuffer = FOUR_CHAR_CODE('cvpb') /* CVPixelBufferRef, Read/Write */
+};
+
+
+/*
+ * ICMCompressionSessionRef
+ *
+ * Summary:
+ * Represents a compression session for a sequence of images.
+ * B-frame capable.
+ */
+typedef struct OpaqueICMCompressionSession* ICMCompressionSessionRef;
+
+/*
+ * ICMEncodedFrameRef
+ *
+ * Summary:
+ * Represents a frame encoded by a compressor component and emitted
+ * by a compression session.
+ *
+ * Discussion:
+ * Compressor components have access to the mutable flavor of
+ * encoded frame object (ICMMutableEncodedFrameRef); compression
+ * session clients receive the read-only flavor
+ * (ICMMutableEncodedFrameRef).
+ */
+typedef const struct OpaqueICMEncodedFrame* ICMEncodedFrameRef;
+typedef struct OpaqueICMEncodedFrame* ICMMutableEncodedFrameRef;
+
+/*
+ * ICMCompressionSessionOptionsRef
+ *
+ * Summary:
+ * An opaque struct which holds options to configure a compression
+ * session.
+ */
+typedef struct OpaqueICMCompressionSessionOptions* ICMCompressionSessionOptionsRef;
+
+/*
+ * ICMCompressionFrameOptionsRef
+ *
+ * Summary:
+ * A token which holds options to configure an individual frame
+ * during a compression session.
+ */
+typedef struct OpaqueICMCompressionFrameOptions* ICMCompressionFrameOptionsRef;
+
+/*
+ * ICMMultiPassStorageRef
+ *
+ * Summary:
+ * A mechanism for storing information for each frame of a multipass
+ * compression session.
+ *
+ * Discussion:
+ * The ICM provides default storage mechanisms using temporary
+ * files, but clients may override this with custom mechanisms.
+ */
+typedef struct OpaqueICMMultiPassStorage* ICMMultiPassStorageRef;
+
+/*
+ * ICMEncodedFrameOutputCallback
+ *
+ * Summary:
+ * The callback through which a client of an ICM compression session
+ * receives encoded frames.
+ *
+ * Discussion:
+ * During the encoded frame output callback, the ICM has a reference
+ * to the passed ICMEncodedFrame, but the ICM will release that
+ * reference afterwards; the callback should retain the encoded
+ * frame if the client wants to keep it after the callback returns.
+ *
+ * Parameters:
+ *
+ * encodedFrameOutputRefCon:
+ * The callback's reference value, copied from the
+ * encodedFrameOutputRefCon field of the
+ * ICMEncodedFrameOutputRecord.
+ *
+ * session:
+ * The compression session.
+ *
+ * error:
+ * Indicates whether there was an error.
+ *
+ * frame:
+ * The encoded frame.
+ *
+ * reserved:
+ * Reserved for future use. Ignore the value of this parameter.
+ *
+ * Result:
+ * If the callback returns an error, the compressor and ICM will
+ * stop emitting frames so that the error can be propogated back to
+ * the caller of ICMCompressionSessionEncodeFrame or
+ * ICMCompressionSessionCompleteFrames.
+ */
+typedef CALLBACK_API_C( OSStatus , ICMEncodedFrameOutputCallback )(void *encodedFrameOutputRefCon, ICMCompressionSessionRef session, OSStatus error, ICMEncodedFrameRef frame, void *reserved);
+
+/*
+ * ICMEncodedFrameOutputRecord
+ *
+ * Summary:
+ * Holds an encoded frame callback and reference value.
+ */
+struct ICMEncodedFrameOutputRecord {
+
+ /*
+ * An encoded frame callback.
+ */
+ ICMEncodedFrameOutputCallback encodedFrameOutputCallback;
+
+ /*
+ * The reference value for the encoded frame callback.
+ */
+ void * encodedFrameOutputRefCon;
+
+ /*
+ * The allocator for encoded frame data. Pass NULL if you do not need
+ * a specific allocator.
+ */
+ CFAllocatorRef frameDataAllocator;
+};
+typedef struct ICMEncodedFrameOutputRecord ICMEncodedFrameOutputRecord;
+
+/*
+ * ICMSourceTrackingFlags
+ *
+ */
+typedef UInt32 ICMSourceTrackingFlags;
+enum {
+
+ /*
+ * Indicates that this is the last call for this sourceFrameRefCon.
+ */
+ kICMSourceTracking_LastCall = 1L << 0,
+
+ /*
+ * Indicates that the session is done with the source pixel buffer
+ * and has released any reference to it that it had.
+ */
+ kICMSourceTracking_ReleasedPixelBuffer = 1L << 1,
+
+ /*
+ * Indicates that this frame was encoded.
+ */
+ kICMSourceTracking_FrameWasEncoded = 1L << 2,
+
+ /*
+ * Indicates that this frame was dropped.
+ */
+ kICMSourceTracking_FrameWasDropped = 1L << 3,
+
+ /*
+ * Indicates that this frame was merged into other frames.
+ */
+ kICMSourceTracking_FrameWasMerged = 1L << 4,
+
+ /*
+ * Indicates that the time stamp of this frame was modified.
+ */
+ kICMSourceTracking_FrameTimeWasChanged = 1L << 5,
+
+ /*
+ * Indicates that the ICM has copied the image from the source pixel
+ * buffer into another pixel buffer because the source pixel buffer
+ * was not compatible with the compressor's required pixel buffer
+ * attributes.
+ */
+ kICMSourceTracking_CopiedPixelBuffer = 1L << 6
+};
+
+
+/*
+ * ICMSourceTrackingCallback
+ *
+ * Summary:
+ * A callback which the ICM calls to provide information about the
+ * status of a frame that was passed to
+ * ICMCompressionSessionEncodeFrame.
+ *
+ * Discussion:
+ * Note that this callback may be called several times.
+ *
+ * Parameters:
+ *
+ * sourceTrackingRefCon:
+ * The callback's reference value, copied from the
+ * sourceTrackingRefCon field of ICMSourceTrackingCallbackRecord.
+ *
+ * sourceTrackingFlags:
+ * Flags describing what has happened to the frame.
+ *
+ * sourceFrameRefCon:
+ * The frame's reference value, copied from the sourceFrameRefCon
+ * parameter to ICMCompressionSessionEncodeFrame.
+ *
+ * reserved:
+ * Reserved for future use. Ignore the value of this parameter.
+ */
+typedef CALLBACK_API_C( void , ICMSourceTrackingCallback )(void *sourceTrackingRefCon, ICMSourceTrackingFlags sourceTrackingFlags, void *sourceFrameRefCon, void *reserved);
+
+/*
+ * ICMSourceTrackingCallbackRecord
+ *
+ * Summary:
+ * A tracking callback for an ICM compression session.
+ */
+struct ICMSourceTrackingCallbackRecord {
+
+ /*
+ * The callback function pointer.
+ */
+ ICMSourceTrackingCallback sourceTrackingCallback;
+
+ /*
+ * The callback's reference value.
+ */
+ void * sourceTrackingRefCon;
+};
+typedef struct ICMSourceTrackingCallbackRecord ICMSourceTrackingCallbackRecord;
+
+/*
+ * ICMFrameType
+ *
+ * Summary:
+ * Informally identifies a type of frame.
+ *
+ * Discussion:
+ * Do not assume that there are no other frame types beyond I, P and
+ * B.
+ */
+typedef UInt16 ICMFrameType;
+enum {
+ kICMFrameType_I = 'I',
+ kICMFrameType_P = 'P',
+ kICMFrameType_B = 'B',
+ kICMFrameType_Unknown = 0
+};
+
+
+/* ICMCompressionSessionRef routines */
+/*
+ * ICMCompressionSessionCreate()
+ *
+ * Summary:
+ * Creates a compression session for the given codec type.
+ *
+ * Discussion:
+ * Some compressors do not support arbitrary source dimensions, and
+ * may override the suggested width and height.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * An allocator for the session. Pass NULL to use the default
+ * allocator.
+ *
+ * width:
+ * The width of frames.
+ *
+ * height:
+ * The height of frames.
+ *
+ * cType:
+ * The codec type.
+ *
+ * timescale:
+ * The timescale to be used for all timestamps and durations used
+ * in the session.
+ *
+ * compressionOptions:
+ * Settings configuring the session.
+ *
+ * sourcePixelBufferAttributes:
+ * Required attributes for source pixel buffers, used when
+ * creating a pixel buffer pool for source frames. If you do not
+ * want the ICM to create one for you, pass NULL. (Using pixel
+ * buffers not allocated by the ICM may increase the chance that
+ * it will be necessary to copy image data.)
+ *
+ * encodedFrameOutputRecord:
+ * The callback that will receive encoded frames.
+ *
+ * compressionSessionOut:
+ * Points to a variable to receive the created session object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ int width,
+ int height,
+ CodecType cType,
+ TimeScale timescale,
+ ICMCompressionSessionOptionsRef compressionOptions, /* can be NULL */
+ CFDictionaryRef sourcePixelBufferAttributes, /* can be NULL */
+ ICMEncodedFrameOutputRecord * encodedFrameOutputRecord,
+ ICMCompressionSessionRef * compressionSessionOut);
+
+
+/*
+ * ICMCompressionSessionRetain()
+ *
+ * Summary:
+ * Increments the retain count of a compression session.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMCompressionSessionRef )
+ICMCompressionSessionRetain(ICMCompressionSessionRef session);
+
+
+/*
+ * ICMCompressionSessionRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a compression session. If it
+ * drops to zero, the session is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens. Remember to
+ * call ICMCompressionSessionCompleteFrames first if you want to
+ * ensure any pending frames are emitted. If you do not, they will
+ * be discarded.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMCompressionSessionRelease(ICMCompressionSessionRef session);
+
+
+/*
+ * ICMCompressionSessionGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for compression sessions.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMCompressionSessionGetTypeID(void);
+
+
+/*
+ * ICMCompressionSessionGetPropertyInfo()
+ *
+ * Summary:
+ * Retrieves information about properties of a compression session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionGetPropertyInfo(
+ ICMCompressionSessionRef session,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ComponentValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags); /* can be NULL */
+
+
+/*
+ * ICMCompressionSessionGetProperty()
+ *
+ * Summary:
+ * Retrieves the value of a specific property of a compression
+ * session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionGetProperty(
+ ICMCompressionSessionRef session,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ComponentValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed); /* can be NULL */
+
+
+/*
+ * ICMCompressionSessionSetProperty()
+ *
+ * Summary:
+ * Sets the value of a specific property of a compression session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionSetProperty(
+ ICMCompressionSessionRef session,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstComponentValuePtr inPropValueAddress);
+
+
+
+/*
+ * Summary:
+ * Properties of compression sessions.
+ */
+enum {
+
+ /*
+ * Class identifier for compression session properties.
+ */
+ kQTPropertyClass_ICMCompressionSession = FOUR_CHAR_CODE('icse'),
+
+ /*
+ * The time scale for the compression session.
+ */
+ kICMCompressionSessionPropertyID_TimeScale = FOUR_CHAR_CODE('tscl'), /* TimeScale, Read */
+
+ /*
+ * The compressor's pixel buffer attributes for the compression
+ * session. You can use these to create a pixel buffer pool for
+ * source pixel buffers. Note that this is not the same as the
+ * sourcePixelBufferAttributes passed in to
+ * ICMCompressionSessionCreate. Getting this property does not change
+ * its retain count.
+ */
+ kICMCompressionSessionPropertyID_CompressorPixelBufferAttributes = FOUR_CHAR_CODE('batt'), /* CFDictionaryRef, Read */
+
+ /*
+ * A pool that can provide ideal source pixel buffers for a
+ * compression session. The compression session creates this pixel
+ * buffer pool based on the compressor's pixel buffer attributes and
+ * any pixel buffer attributes passed in to
+ * ICMCompressionSessionCreate. If the source pixel buffer attributes
+ * and the compressor pixel buffer attributes can not be reconciled,
+ * the pool is based on the source pixel buffer attributes and the
+ * ICM converts each CVPixelBuffer internally.
+ */
+ kICMCompressionSessionPropertyID_PixelBufferPool = FOUR_CHAR_CODE('pool'), /* CVPixelBufferPoolRef, Read */
+
+ /*
+ * The image description for the compression session. For some
+ * codecs, the image description may not be available before the
+ * first frame is compressed. Multiple calls to retrieve this
+ * property will return the same handle. The ICM will dispose this
+ * handle when the compression session is disposed.
+ * IMPORTANT: The caller must NOT dispose this handle.
+ */
+ kICMCompressionSessionPropertyID_ImageDescription = FOUR_CHAR_CODE('idsc') /* ImageDescriptionHandle, Read */
+};
+
+/*
+ * ICMCompressionSessionGetTimeScale()
+ *
+ * Summary:
+ * Retrieves the time scale for the compression session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( TimeScale )
+ICMCompressionSessionGetTimeScale(ICMCompressionSessionRef session);
+
+
+/*
+ * ICMCompressionSessionGetPixelBufferPool()
+ *
+ * Summary:
+ * Returns a pool that can provide ideal source pixel buffers for a
+ * compression session.
+ *
+ * Discussion:
+ * The compression session creates this pixel buffer pool based on
+ * the compressor's pixel buffer attributes and any pixel buffer
+ * attributes passed in to ICMCompressionSessionCreate. If the
+ * source pixel buffer attributes and the compressor pixel buffer
+ * attributes can not be reconciled, the pool is based on the source
+ * pixel buffer attributes and the ICM converts each CVPixelBuffer
+ * internally.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CVPixelBufferPoolRef )
+ICMCompressionSessionGetPixelBufferPool(ICMCompressionSessionRef session);
+
+
+/*
+ * ICMCompressionSessionGetImageDescription()
+ *
+ * Summary:
+ * Retrieves the image description for the compression session.
+ *
+ * Discussion:
+ * For some codecs, this may fail if called before the first frame
+ * is compressed. Multiple calls to
+ * ICMCompressionSessionGetImageDescription will return the same
+ * handle. The ICM will dispose this handle when the compression
+ * session is disposed.
+ * IMPORTANT: The caller must NOT dispose this handle.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionGetImageDescription(
+ ICMCompressionSessionRef session,
+ ImageDescriptionHandle * imageDescOut);
+
+
+/* ICMCompressionSessionRef encoding routines */
+/*
+ * ICMCompressionSessionEncodeFrame()
+ *
+ * Summary:
+ * Call this function to present frames to the compression session.
+ * Encoded frames may or may not be output before the function
+ * returns.
+ *
+ * Discussion:
+ * The session will retain the pixel buffer as long as necessary;
+ * the client should not modify the pixel data until the session
+ * releases it. (The most practical way to deal with this is by
+ * allocating pixel buffers from a pool.)
+ * The client may fill in both, either or neither of
+ * displayTimeStamp and displayDuration, but should set the
+ * appropriate flags to indicate which is valid. If the client needs
+ * to track the progress of a source frame, it should provide a
+ * sourceTrackingCallback.
+ * Note: If multipass compression is enabled, calls to
+ * ICMCompressionSessionEncodeFrame must be bracketed by
+ * ICMCompressionSessionBeginPass ... ICMCompressionSessionEndPass.
+ *
+ * Parameters:
+ *
+ * session:
+ * Identifies the compression session.
+ *
+ * pixelBuffer:
+ * Contains the source image to be compressed. PixelBuffer must
+ * have a nonzero reference count. The session will retain it as
+ * long as necessary. The client should not modify pixel buffer's
+ * pixels until the pixel buffer release callback is called. In a
+ * multipass encoding session pass where the compressor suggested
+ * the flag kICMCompressionPassMode_NoSourceFrames, you may pass
+ * NULL for pixelBuffer.
+ *
+ * displayTimeStamp:
+ * The display timestamp of the frame, using the timescale passed
+ * to ICMCompressionSessionCreate. If you pass a valid value, set
+ * the kICMValidTime_DisplayTimeStampIsValid flag in
+ * validTimeFlags.
+ *
+ * displayDuration:
+ * The display duration of the frame, using the timescale passed
+ * to ICMCompressionSessionCreate. If you pass a valid value, set
+ * the kICMValidTime_DisplayDurationIsValid flag in validTimeFlags.
+ *
+ * validTimeFlags:
+ * Flags to indicate which of displayTimeStamp and displayDuration
+ * are valid.
+ *
+ * frameOptions:
+ * Options for this frame.
+ *
+ * sourceTrackingCallback:
+ * A callback to be notified about the status of this source
+ * frame. Pass NULL if you do not require notification.
+ *
+ * sourceFrameRefCon:
+ * Your reference to the source frame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionEncodeFrame(
+ ICMCompressionSessionRef session,
+ CVPixelBufferRef pixelBuffer,
+ TimeValue64 displayTimeStamp,
+ TimeValue64 displayDuration,
+ ICMValidTimeFlags validTimeFlags,
+ ICMCompressionFrameOptionsRef frameOptions, /* can be NULL */
+ ICMSourceTrackingCallbackRecord * sourceTrackingCallback, /* can be NULL */
+ void * sourceFrameRefCon);
+
+
+
+/*
+ * ICMCompressionSessionCompleteFrames()
+ *
+ * Discussion:
+ * Call this function to force the compression session to complete
+ * encoding frames. Set completeAllFrames to direct the session to
+ * complete all pending frames.
+ * If completeAllFrames is false, only frames with display time
+ * stamps up to and including completeUntilDisplayTimeStamp.
+ * If ICMCompressionSessionOptionsSetDurationsNeeded is true and you
+ * are passing valid display timestamps but not display durations to
+ * ICMCompressionSessionEncodeFrame, pass the display timestamp of
+ * the next frame that would be passed to EncodeFrame in
+ * nextDisplayTimeStamp.
+ * Note: This function might return before frames are completed if
+ * the encoded frame callback returns an error.
+ *
+ * Parameters:
+ *
+ * session:
+ * Identifies the compression session.
+ *
+ * completeAllFrames:
+ * Set to direct the session to complete all pending frames.
+ *
+ * completeUntilDisplayTimeStamp:
+ * If completeAllFrames is false, the display timestamp to
+ * complete frames up to. Ignored if completeAllFrames is true.
+ *
+ * nextDisplayTimeStamp:
+ * See above. Ignored unless
+ * ICMCompressionSessionOptionsSetDurationsNeeded set true and
+ * kICMValidTime_DisplayDurationIsValid was clear in
+ * validTimeFlags in last call to ICMCompressionSessionEncodeFrame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionCompleteFrames(
+ ICMCompressionSessionRef session,
+ Boolean completeAllFrames,
+ TimeValue64 completeUntilDisplayTimeStamp,
+ TimeValue64 nextDisplayTimeStamp);
+
+
+
+/* ICMCompressionSessionRef multipass support routines */
+
+/*
+ * ICMCompressionPassModeFlags
+ *
+ * Summary:
+ * Flags describing how a compressor should behave in a given pass
+ * of multipass encoding.
+ */
+typedef UInt32 ICMCompressionPassModeFlags;
+enum {
+
+ /*
+ * In this pass the compressor shall output encoded frames.
+ */
+ kICMCompressionPassMode_OutputEncodedFrames = 1L << 0,
+
+ /*
+ * In this pass the client need not provide source frame buffers.
+ */
+ kICMCompressionPassMode_NoSourceFrames = 1L << 1,
+
+ /*
+ * In this pass the compressor may write private data to multipass
+ * storage.
+ */
+ kICMCompressionPassMode_WriteToMultiPassStorage = 1L << 2,
+
+ /*
+ * In this pass the compressor may read private data from multipass
+ * storage.
+ */
+ kICMCompressionPassMode_ReadFromMultiPassStorage = 1L << 3,
+
+ /*
+ * The compressor will set this flag to indicate that it will not be
+ * able to output encoded frames in the coming pass. If this flag is
+ * not set, then the client is allowed to set the
+ * kICMCompressionPassMode_OutputEncodedFrames flag when calling
+ * ICMCompressionSessionBeginPass.
+ */
+ kICMCompressionPassMode_NotReadyToOutputEncodedFrames = 1L << 4
+};
+
+/*
+ * ICMCompressionSessionSupportsMultiPassEncoding()
+ *
+ * Summary:
+ * Queries whether a compression session supports multipass encoding.
+ *
+ * Discussion:
+ * Even if this function returns false, if you set the
+ * kICMCompressionSessionOptionsPropertyID_MultiPassStorage property
+ * on the CompressionSessionOptions, you must call
+ * ICMCompressionSessionBeginPass and ICMCompressionSessionEndPass.
+ *
+ * Parameters:
+ *
+ * session:
+ * The compression session.
+ *
+ * multiPassStyleFlags:
+ * Reserved. Set to zero.
+ *
+ * firstPassModeFlagsOut:
+ * Points to a variable to receive the session's requested mode
+ * flags for the first pass. The client may modify these flags,
+ * but should not set kICMCompressionPassMode_NoSourceFrames. Pass
+ * NULL if you do not want this information.
+ *
+ * Result:
+ * true if the session supports multipass encoding, false otherwise.
+ * If the session does not support multipass encoding,
+ * *firstPassModeFlagsOut will be set to
+ * kICMCompressionPassMode_OutputEncodedFrames.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Boolean )
+ICMCompressionSessionSupportsMultiPassEncoding(
+ ICMCompressionSessionRef session,
+ UInt32 multiPassStyleFlags,
+ ICMCompressionPassModeFlags * firstPassModeFlagsOut); /* can be NULL */
+
+
+/*
+ * ICMCompressionSessionBeginPass()
+ *
+ * Summary:
+ * Call to announce the start of a specific compression pass.
+ *
+ * Discussion:
+ * The source frames and frame options for each display timestamp
+ * should be the same across passes.
+ * During multipass compression, valid displayTimeStamps must be
+ * passed to ICMCompressionSessionEncodeFrame since they are used to
+ * index the compressor's stored state.
+ * During an analysis pass
+ * (kICMCompressionPassMode_WriteToMultiPassStorage), the compressor
+ * does not output encoded frames, but records compressor-private
+ * information for each frame.
+ * During repeated analysis passes and the encoding pass
+ * (kICMCompressionPassMode_ReadFromMultiPassStorage), the
+ * compressor may refer to this information for other frames and use
+ * it to improve encoding.
+ * During an encoding pass
+ * (kICMCompressionPassMode_OutputEncodedFrames), the compressor
+ * must output encoded frames.
+ * If the compressor set the kICMCompressionPassMode_NoSourceFrames
+ * flag for the pass, the client may pass NULL pixel buffers to
+ * ICMCompressionSessionEncodeFrame.
+ * By default, the ICM provides local storage that lasts only until
+ * the compression session is disposed. If the client provides
+ * custom multipass storage, pass may be performed at different
+ * times or on different machines; segments of each pass may even be
+ * distributed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionBeginPass(
+ ICMCompressionSessionRef session,
+ ICMCompressionPassModeFlags passModeFlags,
+ UInt32 flags);
+
+
+/*
+ * ICMCompressionSessionEndPass()
+ *
+ * Summary:
+ * Call to announce the end of a pass.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionEndPass(ICMCompressionSessionRef session);
+
+
+/*
+ * ICMCompressionSessionProcessBetweenPasses()
+ *
+ * Summary:
+ * Lets the compressor perform processing between passes.
+ *
+ * Discussion:
+ * Call this function repeatedly, until the compressor sets
+ * *interpassProcessingDoneOut to true to indicate that it is done
+ * with this round of interpass processing.
+ * When done, the compressor will indicate its preferred mode for
+ * the next pass.
+ * The client may choose to begin an encoding pass (by ORing in the
+ * kICMCompressionPassMode_OutputEncodedFrames flag) regardless of
+ * the compressor's request.
+ *
+ * Parameters:
+ *
+ * session:
+ * The compression session.
+ *
+ * flags:
+ * Reserved. Set to zero.
+ *
+ * interpassProcessingDoneOut:
+ * Points to a Boolean that will be set to false if
+ * ICMCompressionSessionProcessBetweenPasses should be called
+ * again, true if not
+ *
+ * requestedNextPassModeFlagsOut:
+ * Points to ICMCompressionPassModeFlags that will be set to the
+ * codec's recommended mode flags for the next pass.
+ * kICMCompressionPassMode_OutputEncodedFrames will only be set if
+ * it recommends that the next pass be the final one.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionProcessBetweenPasses(
+ ICMCompressionSessionRef session,
+ UInt32 flags,
+ Boolean * interpassProcessingDoneOut,
+ ICMCompressionPassModeFlags * requestedNextPassModeFlagsOut);
+
+
+
+/* ICMCompressionSessionOptionsRef routines */
+/*
+ * ICMCompressionSessionOptionsCreate()
+ *
+ * Summary:
+ * Creates a compression session options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMCompressionSessionOptionsRef * options);
+
+
+/*
+ * ICMCompressionSessionOptionsCreateCopy()
+ *
+ * Summary:
+ * Copies a compression session options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsCreateCopy(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMCompressionSessionOptionsRef originalOptions,
+ ICMCompressionSessionOptionsRef * copiedOptions);
+
+
+/*
+ * ICMCompressionSessionOptionsRetain()
+ *
+ * Summary:
+ * Increments the retain count of a compression session options
+ * object.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMCompressionSessionOptionsRef )
+ICMCompressionSessionOptionsRetain(ICMCompressionSessionOptionsRef options);
+
+
+/*
+ * ICMCompressionSessionOptionsRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a compression session options
+ * object. If it drops to zero, the object is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMCompressionSessionOptionsRelease(ICMCompressionSessionOptionsRef options);
+
+
+/*
+ * ICMCompressionSessionOptionsGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for compression session options objects.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMCompressionSessionOptionsGetTypeID(void);
+
+
+/*
+ * ICMCompressionSessionOptionsGetPropertyInfo()
+ *
+ * Summary:
+ * Retrieves information about properties of a compression session
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsGetPropertyInfo(
+ ICMCompressionSessionOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ComponentValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags); /* can be NULL */
+
+
+/*
+ * ICMCompressionSessionOptionsGetProperty()
+ *
+ * Summary:
+ * Retrieves the value of a specific property of a compression
+ * session options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsGetProperty(
+ ICMCompressionSessionOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ComponentValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed); /* can be NULL */
+
+
+/*
+ * ICMCompressionSessionOptionsSetProperty()
+ *
+ * Summary:
+ * Sets the value of a specific property of a compression session
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsSetProperty(
+ ICMCompressionSessionOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstComponentValuePtr inPropValueAddress);
+
+
+
+/*
+ */
+enum {
+
+ /*
+ * Indicates no limit on the number of frames in the compression
+ * window.
+ */
+ kICMUnlimitedFrameDelayCount = -1L,
+
+ /*
+ * Indicates no time limit on the number of frames in the compression
+ * window.
+ */
+ kICMUnlimitedFrameDelayTime = -1L,
+
+ /*
+ * Indicates no CPU time limit on compression.
+ */
+ kICMUnlimitedCPUTimeBudget = -1L
+};
+
+
+/*
+ * ICMDataRateLimit
+ *
+ * Summary:
+ * A hard limit on the data rate.
+ *
+ * Discussion:
+ * A hard limit is described by a data size in bytes and a duration
+ * in seconds, and requires that the total size of compressed data
+ * for any continuous segment of that duration (in decode time) must
+ * not exceed the provided data size.
+ */
+struct ICMDataRateLimit {
+
+ /*
+ * The number of bytes.
+ */
+ SInt32 dataSize;
+
+ /*
+ * The number of seconds.
+ */
+ Float32 dataDuration;
+};
+typedef struct ICMDataRateLimit ICMDataRateLimit;
+
+/*
+ * Summary:
+ * Scaling modes
+ *
+ * Discussion:
+ * These constants indicate how source frames to a compression
+ * session should be scaled if the dimensions and/or display aspect
+ * ratio do not match.
+ */
+enum {
+
+ /*
+ * The full width and height of source frames shall be scaled to the
+ * full width and height of the destination. This is the default if
+ * no other scaling mode is specified.
+ */
+ kICMScalingMode_StretchProductionAperture = FOUR_CHAR_CODE('sp2p'),
+
+ /*
+ * The clean aperture of the source frames shall be scaled to the
+ * clean aperture of the destination.
+ */
+ kICMScalingMode_StretchCleanAperture = FOUR_CHAR_CODE('sc2c'),
+
+ /*
+ * The clean aperture of the source frames shall be scaled to fit
+ * inside the clean aperture of the destination, preserving the
+ * original display aspect ratio. If the display aspect ratios are
+ * different, the source frames will be centered with black bars
+ * above and below, or to the left and right.
+ */
+ kICMScalingMode_Letterbox = FOUR_CHAR_CODE('lett'),
+
+ /*
+ * The clean aperture of the source frames shall be scaled to cover
+ * the clean aperture of the destination, preserving the original
+ * display aspect ratio. If the display aspect ratios are different,
+ * the source frames will be centered and cropped.
+ */
+ kICMScalingMode_Trim = FOUR_CHAR_CODE('trim')
+};
+
+
+/*
+ * ICMSimpleBoundaryConditions
+ *
+ * Summary:
+ * Indicates whether and how a compression session's frames will be
+ * concatenated with other compressed frames to form a longer series.
+ *
+ * Discussion:
+ * Some clients divide a long series of frames into several shorter
+ * segments, each of which is then compressed by an independent
+ * compression session. Boundary conditions tell the compressor
+ * about how each session fits into the greater series: does this
+ * session stand alone, or will it be used to encode the first
+ * segment, a middle segment, or the last segment in a longer
+ * continuum?
+ * This information enables compressors to ensure that compressed
+ * segments can be concatenated smoothly -- for example, avoiding
+ * data rate spikes where segments are joined.
+ * By default, a session is assumed to stand alone.
+ */
+struct ICMSimpleBoundaryConditions {
+
+ /*
+ * True if frames compressed in a separate session will be
+ * concatenated before the beginning of this one. False if this is a
+ * stand-alone session, or if this session will encode the first
+ * segment of a multi-segment compression. By default, false.
+ */
+ Boolean moreFramesBeforeStart;
+
+ /*
+ * True if frames compressed in a separate session will be
+ * concatenated following the end of this one. False if this is a
+ * stand-alone session, or if this session will encode the last
+ * segment of a multi-segment compression. By default, false.
+ */
+ Boolean moreFramesAfterEnd;
+};
+typedef struct ICMSimpleBoundaryConditions ICMSimpleBoundaryConditions;
+
+/*
+ * Summary:
+ * Properties of compression sessions options objects.
+ */
+enum {
+
+ /*
+ * Class identifier for compression session options object properties.
+ */
+ kQTPropertyClass_ICMCompressionSessionOptions = FOUR_CHAR_CODE('icso'),
+
+ /*
+ * Enables temporal compression. By default, temporal compression is
+ * disabled.
+ * IMPORTANT: If you want temporal compression (P frames and/or B
+ * frames) you must set this to true.
+ */
+ kICMCompressionSessionOptionsPropertyID_AllowTemporalCompression = FOUR_CHAR_CODE('p ok'), /* Boolean, Read/Write */
+
+ /*
+ * Enables frame reordering.
+ * In order to encode B frames, a compressor must reorder frames,
+ * which means that the order in which they will be emitted and
+ * stored (the decode order) is different from the order in which
+ * they were presented to the compressor (the display order).
+ * By default, frame reordering is disabled.
+ * IMPORTANT: In order to encode using B frames, you must enable
+ * frame reordering.
+ */
+ kICMCompressionSessionOptionsPropertyID_AllowFrameReordering = FOUR_CHAR_CODE('b ok'), /* Boolean, Read/Write */
+
+ /*
+ * Indicates that durations of emitted frames are needed.
+ * If this flag is set and source frames are provided with times but
+ * not durations, then frames will be delayed so that durations can
+ * be calculated as the difference between one frame's time stamp and
+ * the next frame's time stamp.
+ * By default, this flag is clear, so frames will not be delayed in
+ * order to calculate durations.
+ * IMPORTANT: If you will be passing encoded frames to
+ * AddMediaSampleFromEncodedFrame, you must set this flag to true.
+ */
+ kICMCompressionSessionOptionsPropertyID_DurationsNeeded = FOUR_CHAR_CODE('need'), /* Boolean, Read/Write */
+
+ /*
+ * The maximum interval between key frames, also known as the key
+ * frame rate.
+ * Key frames, also known as sync frames, reset inter-frame
+ * dependencies; decoding a key frame is sufficient to prepare a
+ * decompressor for correctly decoding the difference frames that
+ * follow.
+ * Compressors are allowed to generate key frames more frequently if
+ * this would result in more efficient compression.
+ * The default key frame interval is 0, which indicates that the
+ * compressor should choose where to place all key frames. A key
+ * frame interval of 1 indicates that every frame must be a key
+ * frame, 2 indicates that at least every other frame must be a key
+ * frame, etc.
+ */
+ kICMCompressionSessionOptionsPropertyID_MaxKeyFrameInterval = FOUR_CHAR_CODE('kyfr'), /* SInt32, Read/Write */
+
+ /*
+ * The requested maximum interval between partial sync frames. If the
+ * interval is n, any sequence of n successive frames must include at
+ * least one key or partial sync frame.
+ * Where supported, partial sync frames perform a partial reset of
+ * inter-frame dependencies; decoding two partial sync frames and the
+ * non-droppable difference frames between them is sufficient to
+ * prepare a decompressor for correctly decoding the difference
+ * frames that follow.
+ * Compressors are allowed to generate partial sync frames more
+ * frequently if this would result in more efficient compression.
+ *
+ * The default partial sync frame interval is 0, which indicates that
+ * the compressor should choose where to place partial sync frames. A
+ * partial sync frame interval of 1 means there can be no difference
+ * frames, so it is equivalent to a key frame interval of 1. A
+ * partial sync frame interval of 2 means that every other frame must
+ * be a key frame or a partial sync frame.
+ * Compressors that do not support partial sync frames will ignore
+ * this setting.
+ */
+ kICMCompressionSessionOptionsPropertyID_MaxPartialSyncFrameInterval = FOUR_CHAR_CODE('psfr'), /* SInt32, Read/Write */
+
+ /*
+ * Enables the compressor to modify frame times.
+ * Some compressors are able to identify and coalesce runs of
+ * identical frames and output single frames with longer duration, or
+ * output frames at a different frame rate from the original. This
+ * feature is controlled by the "allow frame time changes" flag. By
+ * default, this flag is set to false, which forces compressors to
+ * emit one encoded frame for every source frame, and to preserve
+ * frame display times.
+ * (Note: this feature replaces the practice of having compressors
+ * return special high similarity values to indicate that frames
+ * could be dropped.)
+ * If you want to allow the compressor to modify frame times in order
+ * to improve compression performance, enable frame time changes.
+ */
+ kICMCompressionSessionOptionsPropertyID_AllowFrameTimeChanges = FOUR_CHAR_CODE('+ ok'), /* Boolean, Read/Write */
+
+ /*
+ * Enables the compressor to call the encoded-frame callback from a
+ * different thread.
+ * By default, the flag is false, which means that the compressor
+ * must call the encoded-frame callback from the same thread that
+ * ICMCompressionSessionEncodeFrame and
+ * ICMCompressionSessionCompleteFrames were called on.
+ */
+ kICMCompressionSessionOptionsPropertyID_AllowAsyncCompletion = FOUR_CHAR_CODE('asok'), /* Boolean, Read/Write */
+
+ /*
+ * The maximum frame delay count is the maximum number of frames that
+ * a compressor is allowed to hold before it must output a compressed
+ * frame. It limits the number of frames that may be held in the
+ * "compression window". If the maximum frame delay count is M, then
+ * before the call to encode frame N returns, frame N-M must have
+ * been emitted.
+ * The default is kICMUnlimitedFrameDelayCount, which sets no limit
+ * on the compression window.
+ */
+ kICMCompressionSessionOptionsPropertyID_MaxFrameDelayCount = FOUR_CHAR_CODE('cwin'), /* SInt32, Read/Write */
+
+ /*
+ * The maximum frame delay time is the maximum difference between a
+ * source frame's display time and the corresponding encoded frame's
+ * decode time. It limits the span of display time that may be held
+ * in the "compression window". If the maximum frame delay time is
+ * TM, then before the call to encode a frame with display time TN
+ * returns, all frames with display times up to and including TN-TM
+ * must have been emitted.
+ * The default is kICMUnlimitedFrameDelayTime, which sets no time
+ * limit on the compression window.
+ */
+ kICMCompressionSessionOptionsPropertyID_MaxFrameDelayTime = FOUR_CHAR_CODE('cwit'), /* TimeValue64, Read/Write */
+
+ /*
+ * Sets a specific compressor component or component instance to be
+ * used, or one of the wildcards anyCodec, bestSpeedCodec,
+ * bestFidelityCodec, or bestCompressionCodec.
+ * Use this API to force the Image Compression Manager to use a
+ * specific compressor component or compressor component instance.
+ * (If you pass in a component instance that you opened, the ICM will
+ * not close that instance; you must do so after the compression
+ * session is released.) To allow the Image Compression Manager to
+ * choose the compressor component, set the compressorComponent to
+ * anyCodec (the default), bestSpeedCodec, bestFidelityCodec or
+ * bestCompressionCodec.
+ */
+ kICMCompressionSessionOptionsPropertyID_CompressorComponent = FOUR_CHAR_CODE('imco'), /* CompressorComponent, Read/Write */
+
+ /*
+ * A handle containing compressor settings. The compressor will be
+ * configured with these settings (by a call to
+ * ImageCodecSetSettings) during ICMCompressionSessionCreate.
+ */
+ kICMCompressionSessionOptionsPropertyID_CompressorSettings = FOUR_CHAR_CODE('cost'), /* Handle, Read/Write */
+
+ /*
+ * The depth for compression.
+ * If a compressor does not support a specific depth, the closest
+ * supported depth will be used (preferring deeper depths to
+ * shallower depths). The default depth is k24RGBPixelFormat.
+ */
+ kICMCompressionSessionOptionsPropertyID_Depth = FOUR_CHAR_CODE('deep'), /* UInt32, Read/Write */
+
+ /*
+ * The color table for compression. Used with indexed-color depths.
+ *
+ * Clients who get this property are responsible for disposing the
+ * returned CTabHandle.
+ */
+ kICMCompressionSessionOptionsPropertyID_ColorTable = FOUR_CHAR_CODE('clut'), /* CTabHandle, Read/Write*/
+
+ /*
+ * The compression quality.
+ * This value is always used to set the spatialQuality; if temporal
+ * compression is enabled, it is also used to set temporalQuality.
+ * <BR> The default quality is codecNormalQuality.
+ */
+ kICMCompressionSessionOptionsPropertyID_Quality = FOUR_CHAR_CODE('qual'), /* CodecQ, Read/Write */
+
+ /*
+ * The long-term desired average data rate in bytes per second.
+ * This is not a hard limit.
+ * The default data rate is zero, which indicates that the quality
+ * setting should determine the size of compressed data.
+ * Note that data rate settings only have an effect when timing
+ * information is provided for source frames, and that some codecs do
+ * not support limiting to specified data rates.
+ */
+ kICMCompressionSessionOptionsPropertyID_AverageDataRate = FOUR_CHAR_CODE('aver'), /* SInt32, Read/Write */
+
+ /*
+ * Zero, one or two hard limits on data rate.
+ * Each hard limit is described by a data size in bytes and a
+ * duration in seconds, and requires that the total size of
+ * compressed data for any contiguous segment of that duration (in
+ * decode time) must not exceed the data size.
+ * By default, no data rate limits are set.
+ * When setting this property, the inPropValueSize parameter should
+ * be the number of data rate limits multiplied by
+ * sizeof(ICMDataRateLimit).
+ * Note that data rate settings only have an effect when timing
+ * information is provided for source frames, and that some codecs do
+ * not support limiting to specified data rates.
+ */
+ kICMCompressionSessionOptionsPropertyID_DataRateLimits = FOUR_CHAR_CODE('hard'), /* C array of ICMDataRateLimit struct, Read/Write */
+
+ /*
+ * The current number of data rate limits.
+ */
+ kICMCompressionSessionOptionsPropertyID_DataRateLimitCount = FOUR_CHAR_CODE('har#'), /* UInt32, Read */
+
+ /*
+ * The maximum allowed number of data rate limits. (Currently 2.)
+ */
+ kICMCompressionSessionOptionsPropertyID_MaxDataRateLimits = FOUR_CHAR_CODE('mhar'), /* UInt32, Read */
+
+ /*
+ * Indicates that the source was previously compressed.
+ * This property is purely an optional, informational hint to the
+ * compressor; by default it is false.
+ */
+ kICMCompressionSessionOptionsPropertyID_WasCompressed = FOUR_CHAR_CODE('wasc'), /* Boolean, Read/Write */
+
+ /*
+ * Recommends a CPU time budget for the compressor in microseconds
+ * per frame.
+ * Zero means to go as fast as possible.
+ * By default, this is set to kICMUnlimitedCPUTimeBudget, which sets
+ * no limit.
+ * This is an advisory hint to the compressor, and some compressors
+ * may ignore it. Multithreaded compressors may use this amount of
+ * CPU time on each processor.
+ * Compressors should not feel compelled to use the full time budget
+ * if they complete ahead of time!
+ */
+ kICMCompressionSessionOptionsPropertyID_CPUTimeBudget = FOUR_CHAR_CODE('cput'), /* UInt32, Read/Write */
+
+ /*
+ * Storage for multi-pass compression.
+ * To enable multipass compression, the client must provide a storage
+ * location for multipass data. Use
+ * ICMMultiPassStorageCreateWithTemporaryFile to have the ICM store
+ * it in a temporary file. Use
+ * ICMMultiPassStorageCreateWithCallbacks to manage the storage
+ * yourself.
+ * Note that the amount of multipass data to be stored can be
+ * substantial; it could be greater than the size of the output movie
+ * file.
+ * If this property is not NULL, the client must call
+ * ICMCompressionSessionBeginPass and ICMCompressionSessionEndPass
+ * around groups of calls to ICMCompressionSessionEncodeFrame.
+ * By default, this property is NULL and multipass compression is
+ * not enabled. The compression session options object retains the
+ * multipass storage object, when one is set.
+ */
+ kICMCompressionSessionOptionsPropertyID_MultiPassStorage = FOUR_CHAR_CODE('imps'), /* ICMMultiPassStorageRef, Read/Write */
+
+ /*
+ * Indicates the number of source frames, if known. If nonzero, this
+ * should be the exact number of times that the client calls
+ * ICMCompressionSessionEncodeFrame in each pass.
+ * The default is 0, which indicates that the number of source frames
+ * is not known.
+ */
+ kICMCompressionSessionOptionsPropertyID_SourceFrameCount = FOUR_CHAR_CODE('frco'), /* UInt64, Read/Write */
+
+ /*
+ * Indicates the expected frame rate, if known. The frame rate is
+ * measured in frames per second. This is not used to control the
+ * frame rate; it is provided as a hint to the compressor so that it
+ * can set up internal configuration before compression begins. The
+ * actual frame rate will depend on frame durations and may vary. By
+ * default, this is zero, indicating "unknown".
+ */
+ kICMCompressionSessionOptionsPropertyID_ExpectedFrameRate = FOUR_CHAR_CODE('fran'), /* Fixed, Read/Write */
+
+ /*
+ * Indicates how source frames to a compression session should be
+ * scaled if the dimensions and/or display aspect ratio do not match.
+ */
+ kICMCompressionSessionOptionsPropertyID_ScalingMode = FOUR_CHAR_CODE('scam'), /* OSType, Read/Write */
+
+ /*
+ * Describes the clean aperture for compressed frames. Note that if
+ * the compressor enforces a clean aperture, it will override this
+ * setting. The clean aperture will be set on the output image
+ * description and may affect scaling in some scaling modes. By
+ * default, this is all zeros, meaning unset.
+ */
+ kICMCompressionSessionOptionsPropertyID_CleanAperture = FOUR_CHAR_CODE('clap'), /* Native-endian CleanApertureImageDescriptionExtension, Read/Write */
+
+ /*
+ * Describes the pixel aspect ratio for compressed frames. Note that
+ * if the compressor enforces a pixel aspect ratio, it will override
+ * this setting. The pixel aspect ratio will be set on the output
+ * image description and may affect scaling in some scaling modes. By
+ * default, this is all zeros, meaning unset.
+ */
+ kICMCompressionSessionOptionsPropertyID_PixelAspectRatio = FOUR_CHAR_CODE('pasp'), /* Native-endian PixelAspectRatioImageDescriptionExtension, Read/Write */
+
+ /*
+ * Describes the number and order of fields for compressed frames.
+ * Note that if the compressor enforces field info, it will override
+ * this setting. The field info will be set on the output image
+ * description and may affect scaling in some scaling modes. By
+ * default, this is all zeros, meaning unset.
+ */
+ kICMCompressionSessionOptionsPropertyID_FieldInfo = FOUR_CHAR_CODE('fiel'), /* FieldInfoImageDescriptionExtension2, Read/Write */
+
+ /*
+ * Indicates whether and how a compression session's frames will be
+ * concatenated with other compressed frames to form a longer series.
+ */
+ kICMCompressionSessionOptionsPropertyID_SimpleBoundaryConditions = FOUR_CHAR_CODE('ends'), /* ICMSimpleBoundaryConditions struct, Read/Write */
+
+ /*
+ * Requests additional distortion to be applied to the aspect ratio
+ * in the kICMScalingMode_Letterbox and kICMScalingMode_Trim scaling
+ * modes. Values greater than fixed1 mean wider, values less than
+ * fixed1 mean narrower. For example, a value of X2Fix(2.0) would
+ * make the picture aspect ratio twice as wide.
+ */
+ kICMCompressionSessionOptionsPropertyID_ExtraAspectRatioStretchFactor = FOUR_CHAR_CODE('exsf') /* Fixed, Default fixed1, Read/Write */
+};
+
+
+/*
+ * ICMCompressionSessionOptionsSetAllowTemporalCompression()
+ *
+ * Summary:
+ * Enables temporal compression.
+ *
+ * Discussion:
+ * By default, temporal compression is disabled.
+ * IMPORTANT: If you want temporal compression (P frames and/or B
+ * frames) you must set this to true.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsSetAllowTemporalCompression(
+ ICMCompressionSessionOptionsRef options,
+ Boolean allowTemporalCompression);
+
+
+/*
+ * ICMCompressionSessionOptionsGetAllowTemporalCompression()
+ *
+ * Summary:
+ * Retrieves the allow temporal compression flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Boolean )
+ICMCompressionSessionOptionsGetAllowTemporalCompression(ICMCompressionSessionOptionsRef options);
+
+
+/*
+ * ICMCompressionSessionOptionsSetAllowFrameReordering()
+ *
+ * Summary:
+ * Enables frame reordering.
+ *
+ * Discussion:
+ * In order to encode B frames, a compressor must reorder frames,
+ * which means that the order in which they will be emitted and
+ * stored (the decode order) is different from the order in which
+ * they were presented to the compressor (the display order).
+ * By default, frame reordering is disabled.
+ * IMPORTANT: In order to encode using B frames, you must enable
+ * frame reordering.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsSetAllowFrameReordering(
+ ICMCompressionSessionOptionsRef options,
+ Boolean allowFrameReordering);
+
+
+/*
+ * ICMCompressionSessionOptionsGetAllowFrameReordering()
+ *
+ * Summary:
+ * Retrieves the allow frame reordering flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Boolean )
+ICMCompressionSessionOptionsGetAllowFrameReordering(ICMCompressionSessionOptionsRef options);
+
+
+/*
+ * ICMCompressionSessionOptionsSetDurationsNeeded()
+ *
+ * Summary:
+ * Indicates that durations of emitted frames are needed.
+ *
+ * Discussion:
+ * If this flag is set and source frames are provided with times but
+ * not durations, then frames will be delayed so that durations can
+ * be calculated as the difference between one frame's time stamp
+ * and the next frame's time stamp.
+ * By default, this flag is clear, so frames will not be delayed in
+ * order to calculate durations.
+ * IMPORTANT: If you will be passing encoded frames to
+ * AddMediaSampleFromEncodedFrame, you must set this flag to true.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsSetDurationsNeeded(
+ ICMCompressionSessionOptionsRef options,
+ Boolean decodeDurationsNeeded);
+
+
+/*
+ * ICMCompressionSessionOptionsGetDurationsNeeded()
+ *
+ * Summary:
+ * Retrieves the "durations needed" flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Boolean )
+ICMCompressionSessionOptionsGetDurationsNeeded(ICMCompressionSessionOptionsRef options);
+
+
+/*
+ * ICMCompressionSessionOptionsSetMaxKeyFrameInterval()
+ *
+ * Summary:
+ * Sets the maximum interval between key frames (also known as the
+ * key frame rate).
+ *
+ * Discussion:
+ * Compressors are allowed to generate key frames more frequently if
+ * this would result in more efficient compression.
+ * The default key frame interval is 0, which indicates that the
+ * compressor should choose where to place all key frames.
+ * (Note: this is a break with previous practice, which used a key
+ * frame rate of zero to disable temporal compression.)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsSetMaxKeyFrameInterval(
+ ICMCompressionSessionOptionsRef options,
+ SInt32 maxKeyFrameInterval);
+
+
+/*
+ * ICMCompressionSessionOptionsGetMaxKeyFrameInterval()
+ *
+ * Summary:
+ * Retrieves the maximum key frame interval.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( SInt32 )
+ICMCompressionSessionOptionsGetMaxKeyFrameInterval(ICMCompressionSessionOptionsRef options);
+
+
+/*
+ * ICMCompressionSessionOptionsSetAllowFrameTimeChanges()
+ *
+ * Summary:
+ * Enables the compressor to modify frame times.
+ *
+ * Discussion:
+ * Some compressors are able to identify and coalesce runs of
+ * identical frames and output single frames with longer duration,
+ * or output frames at a different frame rate from the original.
+ * This feature is controlled by the "allow frame time changes"
+ * flag. By default, this flag is set to false, which forces
+ * compressors to emit one encoded frame for every source frame, and
+ * to preserve frame display times.
+ * (Note: this feature replaces the practice of having compressors
+ * return special high similarity values to indicate that frames
+ * could be dropped.)
+ * If you want to allow the compressor to modify frame times in
+ * order to improve compression performance, enable frame time
+ * changes.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionSessionOptionsSetAllowFrameTimeChanges(
+ ICMCompressionSessionOptionsRef options,
+ Boolean allowFrameTimeChanges);
+
+
+/*
+ * ICMCompressionSessionOptionsGetAllowFrameTimeChanges()
+ *
+ * Summary:
+ * Retrieves the allow frame time changes flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Boolean )
+ICMCompressionSessionOptionsGetAllowFrameTimeChanges(ICMCompressionSessionOptionsRef options);
+
+
+
+
+/* ICMMultiPassStorageRef routines */
+
+/*
+ * ICMMultiPassStorageCreationFlags
+ *
+ */
+typedef UInt32 ICMMultiPassStorageCreationFlags;
+enum {
+
+ /*
+ * Indicates that the temporary file should not be deleted when the
+ * multipass storage is released.
+ */
+ kICMMultiPassStorage_DoNotDeleteWhenDone = 1L << 0
+};
+
+/*
+ * ICMMultiPassStorageCreateWithTemporaryFile()
+ *
+ * Summary:
+ * Creates a multipass storage using a temporary file.
+ *
+ * Discussion:
+ * If you pass NULL for directoryRef, the ICM will use the user's
+ * temporary items folder.
+ * If you pass NULL for fileName, the ICM will pick a unique name.
+ *
+ * The file will be deleted when the multipass storage is released,
+ * unless you set the kICMMultiPassStorage_DoNotDeleteWhenDone flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMMultiPassStorageCreateWithTemporaryFile(
+ CFAllocatorRef allocator, /* can be NULL */
+ FSRef * directoryRef, /* can be NULL */
+ CFStringRef fileName, /* can be NULL */
+ ICMMultiPassStorageCreationFlags flags,
+ ICMMultiPassStorageRef * multiPassStorageOut);
+
+
+
+/*
+ * ICMMultiPassStorageStep
+ *
+ * Summary:
+ * Indicates a jump in time stamps used to index multipass storage.
+ */
+typedef UInt32 ICMMultiPassStorageStep;
+enum {
+
+ /*
+ * Requests the first time stamp at which a value is stored.
+ */
+ kICMMultiPassStorage_GetFirstTimeStamp = 1,
+
+ /*
+ * Requests the previous time stamp before the given time stamp at
+ * which a value is stored.
+ */
+ kICMMultiPassStorage_GetPreviousTimeStamp = 2,
+
+ /*
+ * Requests the next time stamp after the given time stamp at which a
+ * value is stored.
+ */
+ kICMMultiPassStorage_GetNextTimeStamp = 3,
+
+ /*
+ * Requests the last time stamp at which a value is stored.
+ */
+ kICMMultiPassStorage_GetLastTimeStamp = 4
+};
+
+
+
+/*
+ * ICMMultiPassSetDataAtTimeStampCallback
+ *
+ * Summary:
+ * Stores a value at a given time stamp.
+ *
+ * Discussion:
+ * The new data should replace any previous data held at that
+ * timestamp with that index.
+ *
+ * Parameters:
+ *
+ * storageRefCon:
+ * The callbacks' reference value.
+ *
+ * timeStamp:
+ * The time stamp at which the value should be stored.
+ *
+ * index:
+ * An index by which multiple values may be stored at a time
+ * stamp. The meaning of individual indexes is private to the
+ * compressor.
+ *
+ * data:
+ * The data to be stored, or NULL to delete the value. The
+ * contents are private to the compressor component.
+ */
+typedef CALLBACK_API_C( OSStatus , ICMMultiPassSetDataAtTimeStampCallback )(void *storageRefCon, TimeValue64 timeStamp, long index, CFDataRef data);
+
+/*
+ * ICMMultiPassGetTimeStampCallback
+ *
+ * Summary:
+ * Retrieves a time stamp for which a value is stored.
+ *
+ * Parameters:
+ *
+ * storageRefCon:
+ * The callbacks' reference value.
+ *
+ * fromTimeStamp:
+ * The initial time stamp. Ignored for some values of step.
+ *
+ * step:
+ * Indicates the kind of time stamp search to perform.
+ *
+ * timeStampOut:
+ * Points to a TimeValue64 to receive the found time stamp. Set to
+ * -1 if no time stamp is found.
+ */
+typedef CALLBACK_API_C( OSStatus , ICMMultiPassGetTimeStampCallback )(void *storageRefCon, TimeValue64 fromTimeStamp, ICMMultiPassStorageStep step, TimeValue64 *timeStampOut);
+
+/*
+ * ICMMultiPassCopyDataAtTimeStampCallback
+ *
+ * Summary:
+ * Retrieves a value at a given time stamp and index.
+ *
+ * Parameters:
+ *
+ * storageRefCon:
+ * The callbacks' reference value.
+ *
+ * timeStamp:
+ * The time stamp at which the value should be retrieved.
+ *
+ * index:
+ * An index by which multiple values may be stored at a time
+ * stamp. The meaning of individual indexes is private to the
+ * compressor.
+ *
+ * dataOut:
+ * Points to a variable to receive the value. Set to a
+ * newly-created CFMutableData containing the value for the given
+ * time stamp and index, or set to NULL if no value is at that
+ * time stamp and index. It will be the callers responsibility to
+ * release the CFMutableData.
+ */
+typedef CALLBACK_API_C( OSStatus , ICMMultiPassCopyDataAtTimeStampCallback )(void *storageRefCon, TimeValue64 timeStamp, long index, CFMutableDataRef *dataOut);
+
+/*
+ * ICMMultiPassReleaseCallback
+ *
+ * Summary:
+ * Called when the multipass storage's retain count drops to zero.
+ *
+ * Parameters:
+ *
+ * storageRefCon:
+ * The callbacks' reference value.
+ */
+typedef CALLBACK_API_C( OSStatus , ICMMultiPassReleaseCallback )(void * storageRefCon);
+
+/*
+ * ICMMultiPassStorageCallbacks
+ *
+ * Summary:
+ * A collection of callbacks for creating a custom multipass storage
+ * object.
+ */
+struct ICMMultiPassStorageCallbacks {
+
+ /*
+ * The version of the struct. Set to
+ * kICMMultiPassStorageCallbacksVersionOne.
+ */
+ UInt32 version;
+
+ /*
+ * The callbacks' reference value.
+ */
+ void * storageRefCon;
+
+ /*
+ * The callback for storing values.
+ */
+ ICMMultiPassSetDataAtTimeStampCallback setDataAtTimeStampCallback;
+
+ /*
+ * The callback for finding time stamps.
+ */
+ ICMMultiPassGetTimeStampCallback getTimeStampCallback;
+
+ /*
+ * The callback for retrieving values.
+ */
+ ICMMultiPassCopyDataAtTimeStampCallback copyDataAtTimeStampCallback;
+
+ /*
+ * The callback for disposing the callback's state when done.
+ */
+ ICMMultiPassReleaseCallback releaseCallback;
+};
+typedef struct ICMMultiPassStorageCallbacks ICMMultiPassStorageCallbacks;
+enum {
+ kICMMultiPassStorageCallbacksVersionOne = 1
+};
+
+/*
+ * ICMMultiPassStorageCreateWithCallbacks()
+ *
+ * Summary:
+ * Assembles a multipass storage mechanism from callbacks.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMMultiPassStorageCreateWithCallbacks(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMMultiPassStorageCallbacks * callbacks,
+ ICMMultiPassStorageRef * multiPassStorageOut);
+
+
+/*
+ * ICMMultiPassStorageRetain()
+ *
+ * Summary:
+ * Increments the retain count of a multipass storage object.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMMultiPassStorageRef )
+ICMMultiPassStorageRetain(ICMMultiPassStorageRef multiPassStorage);
+
+
+/*
+ * ICMMultiPassStorageRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a multipass storage object. If it
+ * drops to zero, the object is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMMultiPassStorageRelease(ICMMultiPassStorageRef multiPassStorage);
+
+
+/*
+ * ICMMultiPassStorageGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for multipass storage objects.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMMultiPassStorageGetTypeID(void);
+
+
+
+/* ICMCompressionFrameOptionsRef routines */
+/*
+ * ICMCompressionFrameOptionsCreate()
+ *
+ * Summary:
+ * Creates a frame compression options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionFrameOptionsCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMCompressionSessionRef session,
+ ICMCompressionFrameOptionsRef * options);
+
+
+/*
+ * ICMCompressionFrameOptionsCreateCopy()
+ *
+ * Summary:
+ * Copies a frame compression options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionFrameOptionsCreateCopy(
+ CFAllocatorRef allocator, /* can be NULL */
+ ICMCompressionFrameOptionsRef originalOptions,
+ ICMCompressionFrameOptionsRef * copiedOptions);
+
+
+/*
+ * ICMCompressionFrameOptionsRetain()
+ *
+ * Summary:
+ * Increments the retain count of a frame compression options object.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMCompressionFrameOptionsRef )
+ICMCompressionFrameOptionsRetain(ICMCompressionFrameOptionsRef options);
+
+
+/*
+ * ICMCompressionFrameOptionsRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a frame compression options
+ * object. If it drops to zero, the object is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMCompressionFrameOptionsRelease(ICMCompressionFrameOptionsRef options);
+
+
+/*
+ * ICMCompressionFrameOptionsGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for frame compression options objects.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMCompressionFrameOptionsGetTypeID(void);
+
+
+/*
+ * ICMCompressionFrameOptionsGetPropertyInfo()
+ *
+ * Summary:
+ * Retrieves information about properties of a compression frame
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionFrameOptionsGetPropertyInfo(
+ ICMCompressionFrameOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ComponentValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags); /* can be NULL */
+
+
+/*
+ * ICMCompressionFrameOptionsGetProperty()
+ *
+ * Summary:
+ * Retrieves the value of a specific property of a compression frame
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionFrameOptionsGetProperty(
+ ICMCompressionFrameOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ComponentValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed); /* can be NULL */
+
+
+/*
+ * ICMCompressionFrameOptionsSetProperty()
+ *
+ * Summary:
+ * Sets the value of a specific property of a compression frame
+ * options object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionFrameOptionsSetProperty(
+ ICMCompressionFrameOptionsRef options,
+ ComponentPropertyClass inPropClass,
+ ComponentPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstComponentValuePtr inPropValueAddress);
+
+
+
+/*
+ * Summary:
+ * Properties of compression frame options objects.
+ */
+enum {
+
+ /*
+ * Class identifier for compression frame options object properties.
+ */
+ kQTPropertyClass_ICMCompressionFrameOptions = FOUR_CHAR_CODE('icfo'),
+
+ /*
+ * Forces frames to be compressed as key frames.
+ * The compressor must obey the "force key frame" flag if set. By
+ * default this property is false.
+ */
+ kICMCompressionFrameOptionsPropertyID_ForceKeyFrame = FOUR_CHAR_CODE('keyf'), /* Boolean, Read/Write */
+
+ /*
+ * Requests a frame be compressed as a particular frame type.
+ * The frame type setting may be ignored by the compressor if not
+ * appropriate.
+ * By default this is set to kICMFrameType_Unknown.
+ * Do not assume that kICMFrameType_I means a key frame; if you need
+ * a key frame, set the "force key frame" property.
+ */
+ kICMCompressionFrameOptionsPropertyID_FrameType = FOUR_CHAR_CODE('frty') /* ICMFrameType, Read/Write */
+};
+
+/*
+ * ICMCompressionFrameOptionsSetForceKeyFrame()
+ *
+ * Summary:
+ * Forces frames to be compressed as key frames.
+ *
+ * Discussion:
+ * The compressor must obey the "force key frame" flag if set. By
+ * default this is set false.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionFrameOptionsSetForceKeyFrame(
+ ICMCompressionFrameOptionsRef options,
+ Boolean forceKeyFrame);
+
+
+/*
+ * ICMCompressionFrameOptionsGetForceKeyFrame()
+ *
+ * Summary:
+ * Retrieves the "force key frame" flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Boolean )
+ICMCompressionFrameOptionsGetForceKeyFrame(ICMCompressionFrameOptionsRef options);
+
+
+/*
+ * ICMCompressionFrameOptionsSetFrameType()
+ *
+ * Summary:
+ * Requests a frame be compressed as a particular frame type.
+ *
+ * Discussion:
+ * The frame type setting may be ignored by the compressor if not
+ * appropriate.
+ * By default this is set to kICMFrameType_Unknown.
+ * Do not assume that kICMFrameType_I means a key frame; if you need
+ * a key frame, set forceKeyFrame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressionFrameOptionsSetFrameType(
+ ICMCompressionFrameOptionsRef options,
+ ICMFrameType frameType);
+
+
+/*
+ * ICMCompressionFrameOptionsGetFrameType()
+ *
+ * Summary:
+ * Retrieves the frame type setting.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMFrameType )
+ICMCompressionFrameOptionsGetFrameType(ICMCompressionFrameOptionsRef options);
+
+
+
+/* ICMEncodedFrameRef routines */
+/*
+ * ICMEncodedFrameRetain()
+ *
+ * Summary:
+ * Increments the retain count of an encoded frame object.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMEncodedFrameRef )
+ICMEncodedFrameRetain(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameRelease()
+ *
+ * Summary:
+ * Decrements the retain count of an encoded frame object. If it
+ * drops to zero, the object is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMEncodedFrameRelease(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for encoded frame objects.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMEncodedFrameGetTypeID(void);
+
+
+/*
+ * ICMEncodedFrameGetDataPtr()
+ *
+ * Summary:
+ * Gets the data buffer.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( UInt8 * )
+ICMEncodedFrameGetDataPtr(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetBufferSize()
+ *
+ * Summary:
+ * Gets the size of the data buffer.
+ *
+ * Discussion:
+ * This is the physical size of the buffer.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ByteCount )
+ICMEncodedFrameGetBufferSize(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetDataSize()
+ *
+ * Summary:
+ * Gets the data size of the compressed frame in the buffer.
+ *
+ * Discussion:
+ * This is the logical size of the frame data. It may be less than
+ * the physical size of the buffer.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ByteCount )
+ICMEncodedFrameGetDataSize(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameSetDataSize()
+ *
+ * Summary:
+ * Sets the data size of the compressed frame in the buffer.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetDataSize(
+ ICMMutableEncodedFrameRef frame,
+ ByteCount dataSize);
+
+
+/*
+ * ICMEncodedFrameGetDecodeNumber()
+ *
+ * Summary:
+ * Retrieves the decode number.
+ *
+ * Discussion:
+ * The ICM automatically stamps ascending decode numbers on frames
+ * after the compressor emits them. The first decode number in a
+ * session is 1.
+ * Note: Compressors should not call this function.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( UInt32 )
+ICMEncodedFrameGetDecodeNumber(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetTimeScale()
+ *
+ * Summary:
+ * Retrieves the timescale.
+ *
+ * Discussion:
+ * This is always the same as the timescale of the compression
+ * session.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( TimeScale )
+ICMEncodedFrameGetTimeScale(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetImageDescription()
+ *
+ * Summary:
+ * Retrieves the image description.
+ *
+ * Discussion:
+ * Returns the same image description handle as
+ * ICMCompressionSessionGetImageDescription.
+ * IMPORTANT: The caller should NOT dispose this handle.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameGetImageDescription(
+ ICMEncodedFrameRef frame,
+ ImageDescriptionHandle * imageDescOut);
+
+
+/*
+ * ICMEncodedFrameGetValidTimeFlags()
+ *
+ * Summary:
+ * Retrieves flags indicating which of the time stamps and durations
+ * are valid.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMValidTimeFlags )
+ICMEncodedFrameGetValidTimeFlags(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetDecodeTimeStamp()
+ *
+ * Summary:
+ * Retrieves the frame's decode time stamp.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( TimeValue64 )
+ICMEncodedFrameGetDecodeTimeStamp(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetDisplayTimeStamp()
+ *
+ * Summary:
+ * Retrieves the frame's display time stamp.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( TimeValue64 )
+ICMEncodedFrameGetDisplayTimeStamp(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetDisplayOffset()
+ *
+ * Summary:
+ * Retrieves the frame's display offset, which is the offset from
+ * decode time stamp to display time stamp.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( TimeValue64 )
+ICMEncodedFrameGetDisplayOffset(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetDecodeDuration()
+ *
+ * Summary:
+ * Retrieves the frame's decode duration.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( TimeValue64 )
+ICMEncodedFrameGetDecodeDuration(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameGetDisplayDuration()
+ *
+ * Summary:
+ * Retrieves the frame's display duration.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( TimeValue64 )
+ICMEncodedFrameGetDisplayDuration(ICMEncodedFrameRef frame);
+
+
+
+/*
+ * ICMEncodedFrameSetValidTimeFlags()
+ *
+ * Summary:
+ * Sets flags that indicate which of the time stamps and durations
+ * are valid.
+ *
+ * Discussion:
+ * Note that setting the (decode/display) (timestamp/duration)
+ * automatically sets the corresponding valid time flags. For
+ * example, calling ICMEncodedFrameSetDecodeTimeStamp sets
+ * kICMValidTime_DisplayTimeStampIsValid. If both decode timestamp
+ * and display timestamp are valid,
+ * kICMValidTime_DisplayOffsetIsValid is automatically set.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetValidTimeFlags(
+ ICMMutableEncodedFrameRef frame,
+ ICMValidTimeFlags validTimeFlags);
+
+
+/*
+ * ICMEncodedFrameSetDecodeTimeStamp()
+ *
+ * Summary:
+ * Sets the decode time stamp.
+ *
+ * Discussion:
+ * This automatically sets the kICMValidTime_DecodeTimeStampIsValid
+ * flag. If the display timestamp is valid, it also sets the
+ * kICMValidTime_DisplayOffsetIsValid flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetDecodeTimeStamp(
+ ICMMutableEncodedFrameRef frame,
+ TimeValue64 decodeTimeStamp);
+
+
+/*
+ * ICMEncodedFrameSetDisplayTimeStamp()
+ *
+ * Summary:
+ * Sets the display time stamp.
+ *
+ * Discussion:
+ * This automatically sets the kICMValidTime_DisplayTimeStampIsValid
+ * flag. If the decode timestamp is valid, it also sets the
+ * kICMValidTime_DisplayOffsetIsValid flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetDisplayTimeStamp(
+ ICMMutableEncodedFrameRef frame,
+ TimeValue64 displayTimeStamp);
+
+
+/*
+ * ICMEncodedFrameSetDecodeDuration()
+ *
+ * Summary:
+ * Sets the decode duration.
+ *
+ * Discussion:
+ * This automatically sets the kICMValidTime_DecodeDurationIsValid
+ * flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetDecodeDuration(
+ ICMMutableEncodedFrameRef frame,
+ TimeValue64 decodeDuration);
+
+
+/*
+ * ICMEncodedFrameSetDisplayDuration()
+ *
+ * Summary:
+ * Sets the display duration.
+ *
+ * Discussion:
+ * This automatically sets the kICMValidTime_DisplayDurationIsValid
+ * flag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetDisplayDuration(
+ ICMMutableEncodedFrameRef frame,
+ TimeValue64 displayDuration);
+
+
+/*
+ * ICMEncodedFrameGetMediaSampleFlags()
+ *
+ * Summary:
+ * Retrieves the media sample flags for an encoded frame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( MediaSampleFlags )
+ICMEncodedFrameGetMediaSampleFlags(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameSetMediaSampleFlags()
+ *
+ * Summary:
+ * Sets the media sample flags for an encoded frame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetMediaSampleFlags(
+ ICMMutableEncodedFrameRef frame,
+ MediaSampleFlags mediaSampleFlags);
+
+
+/*
+ * ICMEncodedFrameGetFrameType()
+ *
+ * Summary:
+ * Retrieves the frame type for an encoded frame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMFrameType )
+ICMEncodedFrameGetFrameType(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameSetFrameType()
+ *
+ * Summary:
+ * Sets the frame type for an encoded frame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetFrameType(
+ ICMMutableEncodedFrameRef frame,
+ ICMFrameType frameType);
+
+
+/*
+ * ICMEncodedFrameGetSimilarity()
+ *
+ * Summary:
+ * Retrieves the similarity for an encoded frame.
+ *
+ * Discussion:
+ * 1.0 means identical. 0.0 means not at all alike. By default,
+ * this is set to -1.0, which means unknown.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Float32 )
+ICMEncodedFrameGetSimilarity(ICMEncodedFrameRef frame);
+
+
+/*
+ * ICMEncodedFrameSetSimilarity()
+ *
+ * Summary:
+ * Sets the similarity for an encoded frame.
+ *
+ * Discussion:
+ * 1.0 means identical. 0.0 means not at all alike.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameSetSimilarity(
+ ICMMutableEncodedFrameRef frame,
+ Float32 similarity);
+
+
+/*
+ * ICMEncodedFrameGetSourceFrameRefCon()
+ *
+ * Summary:
+ * Retrieves the source frame reference value.
+ *
+ * Discussion:
+ * This is copied from the sourceFrameRefCon parameter to
+ * ICMCompressionSessionEncodeFrame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void * )
+ICMEncodedFrameGetSourceFrameRefCon(ICMEncodedFrameRef frame);
+
+
+/* ICMCompressorSession interface for compressor components */
+
+/*
+ * ICMCompressorSessionRef
+ *
+ * Summary:
+ * Represents the session between the ICM and an image compressor
+ * component.
+ *
+ * Discussion:
+ * (Do not confuse this with ICMCompressionSessionRef, which is the
+ * session between the client and the ICM.) Note: compressors do not
+ * need to make any retain or release calls on this token.
+ */
+typedef struct OpaqueICMCompressorSession* ICMCompressorSessionRef;
+
+/*
+ * ICMCompressorSourceFrameRef
+ *
+ * Summary:
+ * An opaque token that represents a frame that has been passed to
+ * ICMCompressionSessionEncodeFrame.
+ *
+ * Discussion:
+ * Such tokens are passed to the compressor component, which may
+ * retain a window of them in order to perform out-of-order encoding.
+ */
+typedef struct OpaqueICMCompressorSourceFrame* ICMCompressorSourceFrameRef;
+/*
+ * ICMCompressorSourceFrameRetain()
+ *
+ * Summary:
+ * Increments the retain count of a source frame object.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMCompressorSourceFrameRef )
+ICMCompressorSourceFrameRetain(ICMCompressorSourceFrameRef sourceFrame);
+
+
+/*
+ * ICMCompressorSourceFrameRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a source frame object. If it
+ * drops to zero, the object is disposed.
+ *
+ * Discussion:
+ * If you pass NULL to this function, nothing happens.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+ICMCompressorSourceFrameRelease(ICMCompressorSourceFrameRef sourceFrame);
+
+
+/*
+ * ICMCompressorSourceFrameGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for source frame objects.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+ICMCompressorSourceFrameGetTypeID(void);
+
+
+/*
+ * ICMCompressorSourceFrameGetPixelBuffer()
+ *
+ * Summary:
+ * Retrieves a source frame's pixel buffer.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CVPixelBufferRef )
+ICMCompressorSourceFrameGetPixelBuffer(ICMCompressorSourceFrameRef sourceFrame);
+
+
+/*
+ * ICMCompressorSourceFrameGetDisplayNumber()
+ *
+ * Summary:
+ * Retrieves a source frame's display number.
+ *
+ * Discussion:
+ * The ICM tags source frames with display numbers in the order they
+ * are passed to ICMCompressionSessionEncodeFrame; the first display
+ * number is 1. Compressors may compare these numbers to work out
+ * whether prediction is forward or backward even when display times
+ * are not provided.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( long )
+ICMCompressorSourceFrameGetDisplayNumber(ICMCompressorSourceFrameRef sourceFrame);
+
+
+/*
+ * ICMCompressorSourceFrameGetDisplayTimeStampAndDuration()
+ *
+ * Summary:
+ * Retrieves the display time stamp and duration of a source frame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressorSourceFrameGetDisplayTimeStampAndDuration(
+ ICMCompressorSourceFrameRef sourceFrame,
+ TimeValue64 * displayTimeStampOut, /* can be NULL */
+ TimeValue64 * displayDurationOut, /* can be NULL */
+ TimeScale * timeScaleOut, /* can be NULL */
+ ICMValidTimeFlags * validTimeFlagsOut); /* can be NULL */
+
+
+/*
+ * ICMCompressorSourceFrameGetFrameOptions()
+ *
+ * Summary:
+ * Retrieves the frame compression options for a source frame.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( ICMCompressionFrameOptionsRef )
+ICMCompressorSourceFrameGetFrameOptions(ICMCompressorSourceFrameRef sourceFrame);
+
+
+/*
+ * ICMCompressorSourceFrameDetachPixelBuffer()
+ *
+ * Summary:
+ * Disconnects the pixel buffer from the source frame and allows it
+ * to be released.
+ *
+ * Discussion:
+ * Compressor components often need to hold onto
+ * ICMCompressorSourceFrameRefs for some time after they are done
+ * with the pixel buffers. In order to allow pixel buffer memory to
+ * be released earlier, they may call
+ * ICMCompressorSourceFrameDetachPixelBuffer to declare that they
+ * have no further need for the source frame's pixel buffer. After
+ * calling this, ICMCompressorSourceFrameGetPixelBuffer will return
+ * NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressorSourceFrameDetachPixelBuffer(ICMCompressorSourceFrameRef sourceFrame);
+
+
+
+/*
+ * ICMCompressorSessionDropFrame()
+ *
+ * Summary:
+ * Called by a compressor to indicate that sourceFrame has been
+ * dropped and will not contribute to any encoded frames.
+ *
+ * Discussion:
+ * Calling this function does not automatically release the source
+ * frame; if the compressor called ICMCompressorSourceFrameRetain it
+ * should still call ICMCompressorSourceFrameRelease.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressorSessionDropFrame(
+ ICMCompressorSessionRef session,
+ ICMCompressorSourceFrameRef sourceFrame);
+
+
+/*
+ * ICMCompressorSessionEmitEncodedFrame()
+ *
+ * Summary:
+ * Called by a compressor to output an encoded frame corresponding
+ * to one (or more) source frames.
+ *
+ * Discussion:
+ * (Encoded frames may only correspond to more than one source frame
+ * if allowFrameTimeChanges is set in the
+ * compressionSessionOptions.)
+ * After calling this, the compressor should release the encoded
+ * frame by calling ICMEncodedFrameRelease.
+ * Calling this function does not automatically release the source
+ * frames; if the compressor called ICMCompressorSourceFrameRetain
+ * it should still call ICMCompressorSourceFrameRelease.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMCompressorSessionEmitEncodedFrame(
+ ICMCompressorSessionRef session,
+ ICMMutableEncodedFrameRef encodedFrame,
+ long numberOfSourceFrames,
+ ICMCompressorSourceFrameRef sourceFrames[]);
+
+
+/*
+ * ICMEncodedFrameCreateMutable()
+ *
+ * Summary:
+ * Called by a compressor to create an encoded-frame token
+ * corresponding to a given source frame.
+ *
+ * Discussion:
+ * The encoded frame will initially have zero mediaSampleFlags; if
+ * the frame is not a key frame, the compressor must call
+ * ICMEncodedFrameSetMediaSampleFlags to set mediaSampleNotSync. If
+ * the frame is droppable, the compressor should set
+ * mediaSampleDroppable. If the frame is a partial key frame, the
+ * compressor should set mediaSamplePartialSync.
+ * The encoded frame will initially have undefined decodeTimeStamp
+ * and decodeDuration. The compressor may set these directly by
+ * calling ICMEncodedFrameSetDecodeTimeStamp and/or
+ * ICMEncodedFrameSetDecodeDuration. If these are not set by the
+ * compressor, the ICM will attempt to derive them.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMEncodedFrameCreateMutable(
+ ICMCompressorSessionRef session,
+ ICMCompressorSourceFrameRef sourceFrame,
+ ByteCount bufferSize,
+ ICMMutableEncodedFrameRef * frameOut);
+
+
+/* Multi-pass storage access routines for compressor components */
+/*
+ * ICMMultiPassStorageSetDataAtTimeStamp()
+ *
+ * Summary:
+ * Called by a multipass-capable compressor to store data at a given
+ * timestamp.
+ *
+ * Discussion:
+ * The new data replaces any previous data held at that timestamp.
+ * If data is NULL, the data for that timestamp is deleted. The
+ * format of the data is private to the compressor.
+ *
+ * Parameters:
+ *
+ * multiPassStorage:
+ * The multipass storage object.
+ *
+ * timeStamp:
+ * The time stamp at which the value should be stored.
+ *
+ * index:
+ * An index by which multiple values may be stored at a time
+ * stamp. The meaning of individual indexes is private to the
+ * compressor.
+ *
+ * data:
+ * The data to be stored, or NULL to delete the value.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMMultiPassStorageSetDataAtTimeStamp(
+ ICMMultiPassStorageRef multiPassStorage,
+ TimeValue64 timeStamp,
+ long index,
+ CFDataRef data);
+
+
+/*
+ * ICMMultiPassStorageGetTimeStamp()
+ *
+ * Summary:
+ * Called by a multipass-capable compressor to retrieve a time stamp
+ * for which a value is stored.
+ *
+ * Parameters:
+ *
+ * multiPassStorage:
+ * The multipass storage object.
+ *
+ * fromTimeStamp:
+ * The initial time stamp. Ignored for some values of step.
+ *
+ * step:
+ * Indicates the kind of time stamp search to perform.
+ *
+ * timeStampOut:
+ * Points to a TimeValue64 to receive the found time stamp. It
+ * will be set to -1 if no time stamp is found.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMMultiPassStorageGetTimeStamp(
+ ICMMultiPassStorageRef multiPassStorage,
+ TimeValue64 fromTimeStamp,
+ ICMMultiPassStorageStep step,
+ TimeValue64 * timeStampOut);
+
+
+/*
+ * ICMMultiPassStorageCopyDataAtTimeStamp()
+ *
+ * Summary:
+ * Called by a multipass-capable compressor to retrieve data at a
+ * given timestamp.
+ *
+ * Parameters:
+ *
+ * multiPassStorage:
+ * The multipass storage object.
+ *
+ * timeStamp:
+ * The time stamp at which the value should be retrieved.
+ *
+ * index:
+ * An index by which multiple values may be stored at a time
+ * stamp. The meaning of individual indexes is private to the
+ * compressor.
+ *
+ * dataOut:
+ * Points to a CFMutableDataRef to receive the value. It will be
+ * set to a newly-created CFMutableData containing the value for
+ * the given time stamp and index, or set to NULL if no value is
+ * at that time stamp and index. It is the caller's responsibility
+ * to release the CFMutableData.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+ICMMultiPassStorageCopyDataAtTimeStamp(
+ ICMMultiPassStorageRef multiPassStorage,
+ TimeValue64 timeStamp,
+ long index,
+ CFMutableDataRef * dataOut);
#if TARGET_OS_MAC
- /*
- * kQTVisualContextTypeKey
- *
- * Summary:
- * Read-only CFStringRef: Type of the visual context.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextTypeKey;
- /*
- * kQTVisualContextType_PixelBuffer
- *
- * Summary:
- * Value for kQTVisualContextTypeKey for pixel buffer visual
- * contexts.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextType_PixelBuffer;
- /*
- * kQTVisualContextType_OpenGLTexture
- *
- * Summary:
- * Value for kQTVisualContextTypeKey for OpenGL texture visual
- * contexts.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextType_OpenGLTexture;
- /*
- * kQTVisualContextWorkingColorSpaceKey
- *
- * Summary:
- * CGColorSpaceRef: Color space in which QuickTime will perform
- * image processing. If this attribute is not set, images will be
- * processed in the output color space.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextWorkingColorSpaceKey;
- /*
- * kQTVisualContextOutputColorSpaceKey
- *
- * Summary:
- * CGColorSpaceRef: Color space of images produced by this visual
- * context. If this attribute is not set, images may be in any color
- * space.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextOutputColorSpaceKey;
- /*
- * kQTVisualContextExpectedReadAheadKey
- *
- * Summary:
- * CFNumberRef: Number of seconds ahead of real-time that the client
- * expects to pull images out of the visual context. Applications
- * using the CoreVideo display link should set this attribute
- * according to value returned from
- * CVDisplayLinkGetOutputVideoLatency().
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextExpectedReadAheadKey;
- /*
- * kQTVisualContextPixelBufferAttributesKey
- *
- * Summary:
- * CFDictionaryRef: Dictionary containing pixel buffer attributes as
- * described for the CoreVideo pixel buffer pool.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextPixelBufferAttributesKey;
- /*
- * kQTVisualContextTargetDimensionsKey
- *
- * Summary:
- * CFDictionaryRef: Dictionary containing
- * kQTVisualContextTargetDimensions_WidthKey and
- * kQTVisualContextTargetDimensions_HeightKey. This is only a hint
- * to optimize certain media types, such as text, that can render at
- * any resolution. If this attribute is not set, the movie will
- * render at its native resolution.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextTargetDimensionsKey;
- /*
- * kQTVisualContextTargetDimensions_WidthKey
- *
- * Summary:
- * CFNumberRef: Width, in pixels, of the rendering target.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextTargetDimensions_WidthKey;
- /*
- * kQTVisualContextTargetDimensions_HeightKey
- *
- * Summary:
- * CFNumberRef: Height, in pixels, of the rendering target.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- extern const CFStringRef kQTVisualContextTargetDimensions_HeightKey;
+/*
+ * kQTVisualContextTypeKey
+ *
+ * Summary:
+ * Read-only CFStringRef: Type of the visual context.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextTypeKey;
+/*
+ * kQTVisualContextType_PixelBuffer
+ *
+ * Summary:
+ * Value for kQTVisualContextTypeKey for pixel buffer visual
+ * contexts.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextType_PixelBuffer;
+/*
+ * kQTVisualContextType_OpenGLTexture
+ *
+ * Summary:
+ * Value for kQTVisualContextTypeKey for OpenGL texture visual
+ * contexts.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextType_OpenGLTexture;
+/*
+ * kQTVisualContextWorkingColorSpaceKey
+ *
+ * Summary:
+ * CGColorSpaceRef: Color space in which QuickTime will perform
+ * image processing. If this attribute is not set, images will be
+ * processed in the output color space.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextWorkingColorSpaceKey;
+/*
+ * kQTVisualContextOutputColorSpaceKey
+ *
+ * Summary:
+ * CGColorSpaceRef: Color space of images produced by this visual
+ * context. If this attribute is not set, images may be in any color
+ * space.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextOutputColorSpaceKey;
+/*
+ * kQTVisualContextExpectedReadAheadKey
+ *
+ * Summary:
+ * CFNumberRef: Number of seconds ahead of real-time that the client
+ * expects to pull images out of the visual context. Applications
+ * using the CoreVideo display link should set this attribute
+ * according to value returned from
+ * CVDisplayLinkGetOutputVideoLatency().
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextExpectedReadAheadKey;
+/*
+ * kQTVisualContextPixelBufferAttributesKey
+ *
+ * Summary:
+ * CFDictionaryRef: Dictionary containing pixel buffer attributes as
+ * described for the CoreVideo pixel buffer pool.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextPixelBufferAttributesKey;
+/*
+ * kQTVisualContextTargetDimensionsKey
+ *
+ * Summary:
+ * CFDictionaryRef: Dictionary containing
+ * kQTVisualContextTargetDimensions_WidthKey and
+ * kQTVisualContextTargetDimensions_HeightKey. This is only a hint
+ * to optimize certain media types, such as text, that can render at
+ * any resolution. If this attribute is not set, the movie will
+ * render at its native resolution.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextTargetDimensionsKey;
+/*
+ * kQTVisualContextTargetDimensions_WidthKey
+ *
+ * Summary:
+ * CFNumberRef: Width, in pixels, of the rendering target.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextTargetDimensions_WidthKey;
+/*
+ * kQTVisualContextTargetDimensions_HeightKey
+ *
+ * Summary:
+ * CFNumberRef: Height, in pixels, of the rendering target.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+extern const CFStringRef kQTVisualContextTargetDimensions_HeightKey;
#else
#define kQTVisualContextTypeKey CFSTR("Type")
#define kQTVisualContextType_PixelBuffer CFSTR("PixelBuffer")
@@ -12772,425 +12558,425 @@ extern "C" {
#define kQTVisualContextTargetDimensions_HeightKey CFSTR("Height")
#endif /* TARGET_OS_MAC */
- /*
- * QTVisualContextRetain()
- *
- * Summary:
- * Increments the visual context's reference count.
- *
- * Discussion:
- * The same visual context is returned for convenience. If
- * visualContext is NULL, nothing happens.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context to retain.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(QTVisualContextRef)
- QTVisualContextRetain(QTVisualContextRef visualContext);
-
-
- /*
- * QTVisualContextRelease()
- *
- * Summary:
- * Decrements the visual context's reference count.
- *
- * Discussion:
- * If the retain count decreases to zero, the visual context is
- * disposed. If visualContext is NULL, nothing happens.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context to release.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- QTVisualContextRelease(QTVisualContextRef visualContext);
-
-
- /*
- * QTVisualContextGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for QTVisualContextRef.
- *
- * Discussion:
- * You could use this to test whether a CFTypeRef that extracted
- * from a CF container such as a CFArray was a QTVisualContextRef.
- * All visual contexts have the same CFTypeID. If you need to
- * distinguish between different types of visual contexts (eg.
- * PixelBuffer vs. OpenGLTexture), query for kQTVisualContextTypeKey
- * with QTVisualContextGetAttribute().
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(CFTypeID)
- QTVisualContextGetTypeID(void);
-
-
- /*
- * QTVisualContextSetAttribute()
- *
- * Summary:
- * Sets a visual context attribute.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * attributeKey:
- * [in] Identifier of attribute to set.
- *
- * attributeValue:
- * [in] Value of attribute to set, or NULL to remove a value.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- QTVisualContextSetAttribute(
- QTVisualContextRef visualContext,
- CFStringRef attributeKey,
- CFTypeRef attributeValue); /* can be NULL */
-
-
- /*
- * QTVisualContextGetAttribute()
- *
- * Summary:
- * Gets a visual context attribute.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * attributeKey:
- * [in] Identifier of attribute to get.
- *
- * attributeValueOut:
- * [out] Pointer to variable that will receive the attribute
- * value, or NULL if the attribute is not set.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- QTVisualContextGetAttribute(
- QTVisualContextRef visualContext,
- CFStringRef attributeKey,
- CFTypeRef * attributeValueOut);
-
-
-
- /*
- * QTVisualContextImageAvailableCallback
- *
- * Summary:
- * User-defined callback function to recieve notifications when a
- * new image becomes available.
- *
- * Discussion:
- * Due to unpredictible activity, such as user seeks or the arrival
- * of streaming video packets from a network, new images may become
- * available for times supposedly occupied by previous images.
- * Applications using the CoreVideo display link to drive rendering
- * probably do not need to install a callback of this type since
- * they will already be checking for new images at a sufficient rate.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context invoking the callback.
- *
- * timeStamp:
- * [in] Time for which a new image has become available.
- *
- * refCon:
- * [in] User-defined value passed to
- * QTVisualContextSetImageAvailableCallback.
- */
- typedef CALLBACK_API_C(void , QTVisualContextImageAvailableCallback)(QTVisualContextRef visualContext, const CVTimeStamp *timeStamp, void *refCon);
- /*
- * QTVisualContextSetImageAvailableCallback()
- *
- * Summary:
- * Installs user-defined callback to be notified when new images
- * become available.
- *
- * Discussion:
- * This routine installs the user defined
- * QTVisualContextImageAvailableCallback callback. There can only be
- * one callback associated with a QTVisualContext at a given time.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * imageAvailableCallback:
- * [in] User-defined callback function to recieve notifications.
- * Pass NULL to remove any existing callback.
- *
- * refCon:
- * [in] User-defined value to pass to
- * QTVisualContextImageAvailableCallback.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- QTVisualContextSetImageAvailableCallback(
- QTVisualContextRef visualContext,
- QTVisualContextImageAvailableCallback imageAvailableCallback, /* can be NULL */
- void * refCon); /* can be NULL */
-
-
- /*
- * QTVisualContextIsNewImageAvailable()
- *
- * Summary:
- * Queries whether a new image is available for a given time.
- *
- * Discussion:
- * This function returns true if there is a image available for the
- * specified time that is different from the last image retrieved
- * from QTVisualContextCopyImageForTime. See
- * QTVisualContextCopyImageForTime for restrictions on time-stamps.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * timeStamp:
- * [in] Time in question. Pass NULL to request the image at the
- * current time.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(Boolean)
- QTVisualContextIsNewImageAvailable(
- QTVisualContextRef visualContext,
- const CVTimeStamp * timeStamp); /* can be NULL */
-
-
- /*
- * QTVisualContextCopyImageForTime()
- *
- * Summary:
- * Retrieves an image buffer from the visual context, indexed by the
- * provided timestamp.
- *
- * Discussion:
- * You should not request image buffers further ahead of the current
- * time than the read-ahead time specified with the
- * kQTVisualContextExpectedReadAheadKey attribute. You may skip
- * images by passing later times, but you may not pass an earlier
- * time than passed to a previous call to this function.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * allocator:
- * [in] Allocator used to create new CVImageBufferRef.
- *
- * timeStamp:
- * [in] Time in question. Pass NULL to request the image at the
- * current time.
- *
- * newImage:
- * [out] Points to variable to receive new image. If there is no
- * video at the requested time, this variable will be set to NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- QTVisualContextCopyImageForTime(
- QTVisualContextRef visualContext,
- CFAllocatorRef allocator, /* can be NULL */
- const CVTimeStamp * timeStamp, /* can be NULL */
- CVImageBufferRef * newImage);
-
-
- /*
- * QTVisualContextTask()
- *
- * Summary:
- * Causes visual context to release internally held resources for
- * later re-use.
- *
- * Discussion:
- * For optimal resource management, this function should be called
- * in every rendering pass, after old images have been released, new
- * images have been used and all rendering has been flushed to the
- * screen. This call is not mandatory.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- QTVisualContextTask(QTVisualContextRef visualContext);
+/*
+ * QTVisualContextRetain()
+ *
+ * Summary:
+ * Increments the visual context's reference count.
+ *
+ * Discussion:
+ * The same visual context is returned for convenience. If
+ * visualContext is NULL, nothing happens.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context to retain.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( QTVisualContextRef )
+QTVisualContextRetain(QTVisualContextRef visualContext);
+
+
+/*
+ * QTVisualContextRelease()
+ *
+ * Summary:
+ * Decrements the visual context's reference count.
+ *
+ * Discussion:
+ * If the retain count decreases to zero, the visual context is
+ * disposed. If visualContext is NULL, nothing happens.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context to release.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+QTVisualContextRelease(QTVisualContextRef visualContext);
+
+
+/*
+ * QTVisualContextGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for QTVisualContextRef.
+ *
+ * Discussion:
+ * You could use this to test whether a CFTypeRef that extracted
+ * from a CF container such as a CFArray was a QTVisualContextRef.
+ * All visual contexts have the same CFTypeID. If you need to
+ * distinguish between different types of visual contexts (eg.
+ * PixelBuffer vs. OpenGLTexture), query for kQTVisualContextTypeKey
+ * with QTVisualContextGetAttribute().
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( CFTypeID )
+QTVisualContextGetTypeID(void);
+
+
+/*
+ * QTVisualContextSetAttribute()
+ *
+ * Summary:
+ * Sets a visual context attribute.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context.
+ *
+ * attributeKey:
+ * [in] Identifier of attribute to set.
+ *
+ * attributeValue:
+ * [in] Value of attribute to set, or NULL to remove a value.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+QTVisualContextSetAttribute(
+ QTVisualContextRef visualContext,
+ CFStringRef attributeKey,
+ CFTypeRef attributeValue); /* can be NULL */
+
+
+/*
+ * QTVisualContextGetAttribute()
+ *
+ * Summary:
+ * Gets a visual context attribute.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context.
+ *
+ * attributeKey:
+ * [in] Identifier of attribute to get.
+ *
+ * attributeValueOut:
+ * [out] Pointer to variable that will receive the attribute
+ * value, or NULL if the attribute is not set.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+QTVisualContextGetAttribute(
+ QTVisualContextRef visualContext,
+ CFStringRef attributeKey,
+ CFTypeRef * attributeValueOut);
+
+
+
+/*
+ * QTVisualContextImageAvailableCallback
+ *
+ * Summary:
+ * User-defined callback function to recieve notifications when a
+ * new image becomes available.
+ *
+ * Discussion:
+ * Due to unpredictible activity, such as user seeks or the arrival
+ * of streaming video packets from a network, new images may become
+ * available for times supposedly occupied by previous images.
+ * Applications using the CoreVideo display link to drive rendering
+ * probably do not need to install a callback of this type since
+ * they will already be checking for new images at a sufficient rate.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context invoking the callback.
+ *
+ * timeStamp:
+ * [in] Time for which a new image has become available.
+ *
+ * refCon:
+ * [in] User-defined value passed to
+ * QTVisualContextSetImageAvailableCallback.
+ */
+typedef CALLBACK_API_C( void , QTVisualContextImageAvailableCallback )(QTVisualContextRef visualContext, const CVTimeStamp *timeStamp, void *refCon);
+/*
+ * QTVisualContextSetImageAvailableCallback()
+ *
+ * Summary:
+ * Installs user-defined callback to be notified when new images
+ * become available.
+ *
+ * Discussion:
+ * This routine installs the user defined
+ * QTVisualContextImageAvailableCallback callback. There can only be
+ * one callback associated with a QTVisualContext at a given time.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context.
+ *
+ * imageAvailableCallback:
+ * [in] User-defined callback function to recieve notifications.
+ * Pass NULL to remove any existing callback.
+ *
+ * refCon:
+ * [in] User-defined value to pass to
+ * QTVisualContextImageAvailableCallback.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+QTVisualContextSetImageAvailableCallback(
+ QTVisualContextRef visualContext,
+ QTVisualContextImageAvailableCallback imageAvailableCallback, /* can be NULL */
+ void * refCon); /* can be NULL */
+
+
+/*
+ * QTVisualContextIsNewImageAvailable()
+ *
+ * Summary:
+ * Queries whether a new image is available for a given time.
+ *
+ * Discussion:
+ * This function returns true if there is a image available for the
+ * specified time that is different from the last image retrieved
+ * from QTVisualContextCopyImageForTime. See
+ * QTVisualContextCopyImageForTime for restrictions on time-stamps.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context.
+ *
+ * timeStamp:
+ * [in] Time in question. Pass NULL to request the image at the
+ * current time.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( Boolean )
+QTVisualContextIsNewImageAvailable(
+ QTVisualContextRef visualContext,
+ const CVTimeStamp * timeStamp); /* can be NULL */
+
+
+/*
+ * QTVisualContextCopyImageForTime()
+ *
+ * Summary:
+ * Retrieves an image buffer from the visual context, indexed by the
+ * provided timestamp.
+ *
+ * Discussion:
+ * You should not request image buffers further ahead of the current
+ * time than the read-ahead time specified with the
+ * kQTVisualContextExpectedReadAheadKey attribute. You may skip
+ * images by passing later times, but you may not pass an earlier
+ * time than passed to a previous call to this function.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context.
+ *
+ * allocator:
+ * [in] Allocator used to create new CVImageBufferRef.
+ *
+ * timeStamp:
+ * [in] Time in question. Pass NULL to request the image at the
+ * current time.
+ *
+ * newImage:
+ * [out] Points to variable to receive new image. If there is no
+ * video at the requested time, this variable will be set to NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+QTVisualContextCopyImageForTime(
+ QTVisualContextRef visualContext,
+ CFAllocatorRef allocator, /* can be NULL */
+ const CVTimeStamp * timeStamp, /* can be NULL */
+ CVImageBufferRef * newImage);
+
+
+/*
+ * QTVisualContextTask()
+ *
+ * Summary:
+ * Causes visual context to release internally held resources for
+ * later re-use.
+ *
+ * Discussion:
+ * For optimal resource management, this function should be called
+ * in every rendering pass, after old images have been released, new
+ * images have been used and all rendering has been flushed to the
+ * screen. This call is not mandatory.
+ *
+ * Parameters:
+ *
+ * visualContext:
+ * [in] The visual context.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+QTVisualContextTask(QTVisualContextRef visualContext);
#if TARGET_OS_MAC
- /*
- * QTOpenGLTextureContextCreate()
- *
- * Summary:
- * Creates a new OpenGL texture context for the given OpenGL context
- * and pixel format.
- *
- * Discussion:
- * This function will fail if the graphics hardware is insufficient.
- *
- * Parameters:
- *
- * allocator:
- * [in] Allocator used to create the texture context.
- *
- * cglContext:
- * [in] OpenGL context used to create textures.
- *
- * cglPixelFormat:
- * [in] OpenGL pixel format used to create the OpenGL context.
- *
- * attributes:
- * [in] Dictionary of attributes.
- *
- * newTextureContext:
- * [out] Points to a variable to recieve the new OpenGL texture
- * context.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- QTOpenGLTextureContextCreate(
- CFAllocatorRef allocator, /* can be NULL */
- CGLContextObj cglContext,
- CGLPixelFormatObj cglPixelFormat,
- CFDictionaryRef attributes, /* can be NULL */
- QTVisualContextRef * newTextureContext);
-
-
- /*
- * QTPixelBufferContextCreate()
- *
- * Summary:
- * Creates a new pixel buffer context with the given attributes.
- *
- * Discussion:
- * This function will fail if the graphics hardware is insufficient.
- *
- * Parameters:
- *
- * allocator:
- * [in] Allocator used to create the pixel buffer context.
- *
- * attributes:
- * [in] Dictionary of attributes.
- *
- * newPixelBufferContext:
- * [out] Points to a variable to recieve the new pixel buffer
- * context.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- QTPixelBufferContextCreate(
- CFAllocatorRef allocator, /* can be NULL */
- CFDictionaryRef attributes, /* can be NULL */
- QTVisualContextRef * newPixelBufferContext);
+/*
+ * QTOpenGLTextureContextCreate()
+ *
+ * Summary:
+ * Creates a new OpenGL texture context for the given OpenGL context
+ * and pixel format.
+ *
+ * Discussion:
+ * This function will fail if the graphics hardware is insufficient.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * [in] Allocator used to create the texture context.
+ *
+ * cglContext:
+ * [in] OpenGL context used to create textures.
+ *
+ * cglPixelFormat:
+ * [in] OpenGL pixel format used to create the OpenGL context.
+ *
+ * attributes:
+ * [in] Dictionary of attributes.
+ *
+ * newTextureContext:
+ * [out] Points to a variable to recieve the new OpenGL texture
+ * context.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+QTOpenGLTextureContextCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ CGLContextObj cglContext,
+ CGLPixelFormatObj cglPixelFormat,
+ CFDictionaryRef attributes, /* can be NULL */
+ QTVisualContextRef * newTextureContext);
+
+
+/*
+ * QTPixelBufferContextCreate()
+ *
+ * Summary:
+ * Creates a new pixel buffer context with the given attributes.
+ *
+ * Discussion:
+ * This function will fail if the graphics hardware is insufficient.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * [in] Allocator used to create the pixel buffer context.
+ *
+ * attributes:
+ * [in] Dictionary of attributes.
+ *
+ * newPixelBufferContext:
+ * [out] Points to a variable to recieve the new pixel buffer
+ * context.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+QTPixelBufferContextCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ CFDictionaryRef attributes, /* can be NULL */
+ QTVisualContextRef * newPixelBufferContext);
#endif /* TARGET_OS_MAC */
#if TARGET_OS_WIN32
#if CALL_NOT_IN_CARBON
- /*
- * QTDirect3DTextureContextCreate()
- *
- * Summary:
- * Creates a new Direct3D texture context for the given Direct3D
- * device and pixel format.
- *
- * Discussion:
- * This function will fail if the graphics hardware is insufficient.
- *
- * Parameters:
- *
- * allocator:
- * [in] Allocator used to create the texture context.
- *
- * d3dDevice:
- * [in] Direct3D device used to create textures.
- *
- * d3dPixelFormat:
- * [in] Direct3D pixel format used to create the Direct3D device.
- *
- * attributes:
- * [in] Dictionary of attributes.
- *
- * newTextureContext:
- * [out] Points to a variable to recieve the new Direct3D texture
- * context.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 6.6 and later
- */
- EXTERN_API_C(OSStatus)
- QTDirect3DTextureContextCreate(
- CFAllocatorRef allocator, /* can be NULL */
- void * d3dDevice,
- UInt32 d3dPixelFormat,
- CFDictionaryRef attributes, /* can be NULL */
- QTVisualContextRef * newTextureContext);
+/*
+ * QTDirect3DTextureContextCreate()
+ *
+ * Summary:
+ * Creates a new Direct3D texture context for the given Direct3D
+ * device and pixel format.
+ *
+ * Discussion:
+ * This function will fail if the graphics hardware is insufficient.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * [in] Allocator used to create the texture context.
+ *
+ * d3dDevice:
+ * [in] Direct3D device used to create textures.
+ *
+ * d3dPixelFormat:
+ * [in] Direct3D pixel format used to create the Direct3D device.
+ *
+ * attributes:
+ * [in] Dictionary of attributes.
+ *
+ * newTextureContext:
+ * [out] Points to a variable to recieve the new Direct3D texture
+ * context.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 6.6 and later
+ */
+EXTERN_API_C( OSStatus )
+QTDirect3DTextureContextCreate(
+ CFAllocatorRef allocator, /* can be NULL */
+ void * d3dDevice,
+ UInt32 d3dPixelFormat,
+ CFDictionaryRef attributes, /* can be NULL */
+ QTVisualContextRef * newTextureContext);
#endif /* CALL_NOT_IN_CARBON */
@@ -13203,11 +12989,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/InternetConfig.h b/include/qt/InternetConfig.h
index d3e7269a9..8b8b8dc67 100644
--- a/include/qt/InternetConfig.h
+++ b/include/qt/InternetConfig.h
@@ -1,17 +1,17 @@
/*
File: InternetConfig.h
-
+
Contains: Internet Config interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
/*
@@ -62,3032 +62,2994 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /************************************************************************************************
- IC error codes
- ************************************************************************************************/
-
- enum {
- icPrefNotFoundErr = -666, /* preference not found (duh!) */
- icPermErr = -667, /* cannot set preference */
- icPrefDataErr = -668, /* problem with preference data */
- icInternalErr = -669, /* hmm, this is not good */
- icTruncatedErr = -670, /* more data was present than was returned */
- icNoMoreWritersErr = -671, /* you cannot begin a write session because someone else is already doing it */
- icNothingToOverrideErr = -672, /* no component for the override component to capture */
- icNoURLErr = -673, /* no URL found */
- icConfigNotFoundErr = -674, /* no configuration was found */
- icConfigInappropriateErr = -675, /* incorrect manufacturer code */
- icProfileNotFoundErr = -676, /* profile not found */
- icTooManyProfilesErr = -677 /* too many profiles in database */
- };
-
- /************************************************************************************************
- IC versions (not necessarily, but historically, from a component)
- ************************************************************************************************/
-
- enum
- {
- kICComponentInterfaceVersion0 = 0x00000000, /* IC >= 1.0 */
- kICComponentInterfaceVersion1 = 0x00010000, /* IC >= 1.1 */
- kICComponentInterfaceVersion2 = 0x00020000, /* IC >= 1.2 */
- kICComponentInterfaceVersion3 = 0x00030000, /* IC >= 2.0 */
- kICComponentInterfaceVersion4 = 0x00040000, /* IC >= 2.5 */
- kICComponentInterfaceVersion = kICComponentInterfaceVersion4 /* current version number is 4 */
- };
-
- /************************************************************************************************
- opaque type for preference reference
- ************************************************************************************************/
-
- typedef struct OpaqueICInstance* ICInstance;
-
- /************************************************************************************************
- a record that specifies a folder, an array of such records, and a pointer to such an array
- ************************************************************************************************/
- struct ICDirSpec
- {
- short vRefNum;
- long dirID;
- };
- typedef struct ICDirSpec ICDirSpec;
- typedef ICDirSpec ICDirSpecArray[4];
- typedef ICDirSpecArray * ICDirSpecArrayPtr;
-
- /************************************************************************************************
- preference attributes type, bit number constants, and mask constants
- ************************************************************************************************/
- typedef UInt32 ICAttr;
-
- enum
- {
- kICAttrLockedBit = 0,
- kICAttrVolatileBit = 1
- };
-
- enum
- {
- kICAttrNoChange = (unsigned long)0xFFFFFFFF, /* pass this to ICSetPref to tell it not to change the attributes */
- kICAttrLockedMask = 0x00000001,
- kICAttrVolatileMask = 0x00000002
- };
-
- /************************************************************************************************
- permissions for use with ICBegin
- ************************************************************************************************/
-
- typedef UInt8 ICPerm;
-
- enum
- {
- icNoPerm = 0,
- icReadOnlyPerm = 1,
- icReadWritePerm = 2
- };
-
- /************************************************************************************************
- a reference to an instance's current configuration
- ************************************************************************************************/
+/************************************************************************************************
+ IC error codes
+ ************************************************************************************************/
+
+enum {
+ icPrefNotFoundErr = -666, /* preference not found (duh!) */
+ icPermErr = -667, /* cannot set preference */
+ icPrefDataErr = -668, /* problem with preference data */
+ icInternalErr = -669, /* hmm, this is not good */
+ icTruncatedErr = -670, /* more data was present than was returned */
+ icNoMoreWritersErr = -671, /* you cannot begin a write session because someone else is already doing it */
+ icNothingToOverrideErr = -672, /* no component for the override component to capture */
+ icNoURLErr = -673, /* no URL found */
+ icConfigNotFoundErr = -674, /* no configuration was found */
+ icConfigInappropriateErr = -675, /* incorrect manufacturer code */
+ icProfileNotFoundErr = -676, /* profile not found */
+ icTooManyProfilesErr = -677 /* too many profiles in database */
+};
+
+/************************************************************************************************
+ IC versions (not necessarily, but historically, from a component)
+ ************************************************************************************************/
+
+enum {
+ kICComponentInterfaceVersion0 = 0x00000000, /* IC >= 1.0 */
+ kICComponentInterfaceVersion1 = 0x00010000, /* IC >= 1.1 */
+ kICComponentInterfaceVersion2 = 0x00020000, /* IC >= 1.2 */
+ kICComponentInterfaceVersion3 = 0x00030000, /* IC >= 2.0 */
+ kICComponentInterfaceVersion4 = 0x00040000, /* IC >= 2.5 */
+ kICComponentInterfaceVersion = kICComponentInterfaceVersion4 /* current version number is 4 */
+};
+
+/************************************************************************************************
+ opaque type for preference reference
+ ************************************************************************************************/
+
+typedef struct OpaqueICInstance* ICInstance;
+
+/************************************************************************************************
+ a record that specifies a folder, an array of such records, and a pointer to such an array
+ ************************************************************************************************/
+struct ICDirSpec {
+ short vRefNum;
+ long dirID;
+};
+typedef struct ICDirSpec ICDirSpec;
+typedef ICDirSpec ICDirSpecArray[4];
+typedef ICDirSpecArray * ICDirSpecArrayPtr;
+
+/************************************************************************************************
+ preference attributes type, bit number constants, and mask constants
+ ************************************************************************************************/
+typedef UInt32 ICAttr;
+
+enum {
+ kICAttrLockedBit = 0,
+ kICAttrVolatileBit = 1
+};
+
+enum {
+ kICAttrNoChange = (unsigned long)0xFFFFFFFF, /* pass this to ICSetPref to tell it not to change the attributes */
+ kICAttrLockedMask = 0x00000001,
+ kICAttrVolatileMask = 0x00000002
+};
+
+/************************************************************************************************
+ permissions for use with ICBegin
+ ************************************************************************************************/
+
+typedef UInt8 ICPerm;
+
+enum {
+ icNoPerm = 0,
+ icReadOnlyPerm = 1,
+ icReadWritePerm = 2
+};
+
+/************************************************************************************************
+ a reference to an instance's current configuration
+ ************************************************************************************************/
#if CALL_NOT_IN_CARBON
- struct ICConfigRef
- {
- OSType manufacturer;
- /* other private data follows */
- };
- typedef struct ICConfigRef ICConfigRef;
- typedef ICConfigRef * ICConfigRefPtr;
- typedef ICConfigRefPtr * ICConfigRefHandle;
+struct ICConfigRef {
+ OSType manufacturer;
+ /* other private data follows */
+};
+typedef struct ICConfigRef ICConfigRef;
+typedef ICConfigRef * ICConfigRefPtr;
+typedef ICConfigRefPtr * ICConfigRefHandle;
#endif /* CALL_NOT_IN_CARBON */
- /************************************************************************************************
- profile IDs
- ************************************************************************************************/
- typedef long ICProfileID;
- typedef ICProfileID * ICProfileIDPtr;
-
- enum
- {
- kICNilProfileID = 0
- };
-
- /************************************************************************************************
- other constants
- ************************************************************************************************/
-
- enum
- {
- kICNoUserInteractionBit = 0
- };
-
- enum
- {
- kICNoUserInteractionMask = 0x00000001
- };
-
- enum
- {
- kICFileType = FOUR_CHAR_CODE('ICAp'),
- kICCreator = FOUR_CHAR_CODE('ICAp')
- };
-
- /************************************************************************************************
- Apple event constants
- ************************************************************************************************/
-
- enum
- {
- kInternetEventClass = FOUR_CHAR_CODE('GURL'),
- kAEGetURL = FOUR_CHAR_CODE('GURL'),
- kAEFetchURL = FOUR_CHAR_CODE('FURL'),
- keyAEAttaching = FOUR_CHAR_CODE('Atch')
- };
-
- /* AERegistry.i defines a compatible keyAEDestination */
-
- enum
- {
- kICEditPreferenceEventClass = FOUR_CHAR_CODE('ICAp'),
- kICEditPreferenceEvent = FOUR_CHAR_CODE('ICAp'),
- keyICEditPreferenceDestination = FOUR_CHAR_CODE('dest')
- };
-
- /************************************************************************************************
- constants for use with ICGetVersion
- ************************************************************************************************/
-
- enum
- {
- kICComponentVersion = 0, /* Return a component version, comparable to kICComponentInterfaceVersion */
- kICNumVersion = 1 /* Return a NumVersion structure */
- };
-
- /************************************************************************************************
- types and constants for use with kICDocumentFont, et. al.
- ************************************************************************************************/
- struct ICFontRecord
- {
- short size;
- Style face;
- char pad;
- Str255 font;
- };
- typedef struct ICFontRecord ICFontRecord;
- typedef ICFontRecord * ICFontRecordPtr;
- typedef ICFontRecordPtr * ICFontRecordHandle;
-
- /************************************************************************************************
- types and constants for use with kICCharacterSet, et. al.
- ************************************************************************************************/
- struct ICCharTable
- {
- unsigned char netToMac[256];
- unsigned char macToNet[256];
- };
- typedef struct ICCharTable ICCharTable;
- typedef ICCharTable * ICCharTablePtr;
- typedef ICCharTablePtr * ICCharTableHandle;
-
- /************************************************************************************************
- types and constants for use with kICHelper, et. al.
- ************************************************************************************************/
- struct ICAppSpec
- {
- OSType fCreator;
- Str63 name;
- };
- typedef struct ICAppSpec ICAppSpec;
- typedef ICAppSpec * ICAppSpecPtr;
- typedef ICAppSpecPtr * ICAppSpecHandle;
- struct ICAppSpecList
- {
- short numberOfItems;
- ICAppSpec appSpecs[1];
- };
- typedef struct ICAppSpecList ICAppSpecList;
- typedef ICAppSpecList * ICAppSpecListPtr;
- typedef ICAppSpecListPtr * ICAppSpecListHandle;
-
- /************************************************************************************************
- types and constants for use with kICDownloadFolder, et. al.
- ************************************************************************************************/
+/************************************************************************************************
+ profile IDs
+ ************************************************************************************************/
+typedef long ICProfileID;
+typedef ICProfileID * ICProfileIDPtr;
+
+enum {
+ kICNilProfileID = 0
+};
+
+/************************************************************************************************
+ other constants
+ ************************************************************************************************/
+
+enum {
+ kICNoUserInteractionBit = 0
+};
+
+enum {
+ kICNoUserInteractionMask = 0x00000001
+};
+
+enum {
+ kICFileType = FOUR_CHAR_CODE('ICAp'),
+ kICCreator = FOUR_CHAR_CODE('ICAp')
+};
+
+/************************************************************************************************
+ Apple event constants
+ ************************************************************************************************/
+
+enum {
+ kInternetEventClass = FOUR_CHAR_CODE('GURL'),
+ kAEGetURL = FOUR_CHAR_CODE('GURL'),
+ kAEFetchURL = FOUR_CHAR_CODE('FURL'),
+ keyAEAttaching = FOUR_CHAR_CODE('Atch')
+};
+
+/* AERegistry.i defines a compatible keyAEDestination */
+
+enum {
+ kICEditPreferenceEventClass = FOUR_CHAR_CODE('ICAp'),
+ kICEditPreferenceEvent = FOUR_CHAR_CODE('ICAp'),
+ keyICEditPreferenceDestination = FOUR_CHAR_CODE('dest')
+};
+
+/************************************************************************************************
+ constants for use with ICGetVersion
+ ************************************************************************************************/
+
+enum {
+ kICComponentVersion = 0, /* Return a component version, comparable to kICComponentInterfaceVersion */
+ kICNumVersion = 1 /* Return a NumVersion structure */
+};
+
+/************************************************************************************************
+ types and constants for use with kICDocumentFont, et. al.
+ ************************************************************************************************/
+struct ICFontRecord {
+ short size;
+ Style face;
+ char pad;
+ Str255 font;
+};
+typedef struct ICFontRecord ICFontRecord;
+typedef ICFontRecord * ICFontRecordPtr;
+typedef ICFontRecordPtr * ICFontRecordHandle;
+
+/************************************************************************************************
+ types and constants for use with kICCharacterSet, et. al.
+ ************************************************************************************************/
+struct ICCharTable {
+ unsigned char netToMac[256];
+ unsigned char macToNet[256];
+};
+typedef struct ICCharTable ICCharTable;
+typedef ICCharTable * ICCharTablePtr;
+typedef ICCharTablePtr * ICCharTableHandle;
+
+/************************************************************************************************
+ types and constants for use with kICHelper, et. al.
+ ************************************************************************************************/
+struct ICAppSpec {
+ OSType fCreator;
+ Str63 name;
+};
+typedef struct ICAppSpec ICAppSpec;
+typedef ICAppSpec * ICAppSpecPtr;
+typedef ICAppSpecPtr * ICAppSpecHandle;
+struct ICAppSpecList {
+ short numberOfItems;
+ ICAppSpec appSpecs[1];
+};
+typedef struct ICAppSpecList ICAppSpecList;
+typedef ICAppSpecList * ICAppSpecListPtr;
+typedef ICAppSpecListPtr * ICAppSpecListHandle;
+
+/************************************************************************************************
+ types and constants for use with kICDownloadFolder, et. al.
+ ************************************************************************************************/
#if !OLDROUTINENAMES
- struct ICFileSpec
- {
- Str31 volName;
- long volCreationDate;
- FSSpec fss;
- AliasRecord alias;
- /* plus extra data, aliasSize 0 means no alias manager present when*/
- /* ICFileSpecification was created*/
- };
- typedef struct ICFileSpec ICFileSpec;
- typedef ICFileSpec * ICFileSpecPtr;
- typedef ICFileSpecPtr * ICFileSpecHandle;
+struct ICFileSpec {
+ Str31 volName;
+ long volCreationDate;
+ FSSpec fss;
+ AliasRecord alias;
+ /* plus extra data, aliasSize 0 means no alias manager present when*/
+ /* ICFileSpecification was created*/
+};
+typedef struct ICFileSpec ICFileSpec;
+typedef ICFileSpec * ICFileSpecPtr;
+typedef ICFileSpecPtr * ICFileSpecHandle;
#else
- struct ICFileSpec
- {
- Str31 vol_name;
- long vol_creation_date;
- FSSpec fss;
- AliasRecord alias;
- };
- typedef struct ICFileSpec ICFileSpec;
- typedef ICFileSpec * ICFileSpecPtr;
- typedef ICFileSpecPtr * ICFileSpecHandle;
+struct ICFileSpec {
+ Str31 vol_name;
+ long vol_creation_date;
+ FSSpec fss;
+ AliasRecord alias;
+};
+typedef struct ICFileSpec ICFileSpec;
+typedef ICFileSpec * ICFileSpecPtr;
+typedef ICFileSpecPtr * ICFileSpecHandle;
#endif /* !OLDROUTINENAMES */
- enum
- {
- kICFileSpecHeaderSize = sizeof(ICFileSpec) - sizeof(AliasRecord)
- };
+enum {
+ kICFileSpecHeaderSize = sizeof(ICFileSpec) - sizeof(AliasRecord)
+};
- /************************************************************************************************
- types and constants for use with ICMapFilename, et. al.
- ************************************************************************************************/
- typedef long ICMapEntryFlags;
- typedef short ICFixedLength;
+/************************************************************************************************
+ types and constants for use with ICMapFilename, et. al.
+ ************************************************************************************************/
+typedef long ICMapEntryFlags;
+typedef short ICFixedLength;
#if !OLDROUTINENAMES
- struct ICMapEntry
- {
- short totalLength;
- ICFixedLength fixedLength;
- short version;
- OSType fileType;
- OSType fileCreator;
- OSType postCreator;
- ICMapEntryFlags flags;
- /* variable part starts here*/
- Str255 extension;
- Str255 creatorAppName;
- Str255 postAppName;
- Str255 MIMEType;
- Str255 entryName;
- };
- typedef struct ICMapEntry ICMapEntry;
- typedef ICMapEntry * ICMapEntryPtr;
- typedef ICMapEntryPtr * ICMapEntryHandle;
+struct ICMapEntry {
+ short totalLength;
+ ICFixedLength fixedLength;
+ short version;
+ OSType fileType;
+ OSType fileCreator;
+ OSType postCreator;
+ ICMapEntryFlags flags;
+ /* variable part starts here*/
+ Str255 extension;
+ Str255 creatorAppName;
+ Str255 postAppName;
+ Str255 MIMEType;
+ Str255 entryName;
+};
+typedef struct ICMapEntry ICMapEntry;
+typedef ICMapEntry * ICMapEntryPtr;
+typedef ICMapEntryPtr * ICMapEntryHandle;
#else
- struct ICMapEntry
- {
- short total_length;
- ICFixedLength fixed_length;
- short version;
- OSType file_type;
- OSType file_creator;
- OSType post_creator;
- ICMapEntryFlags flags;
- Str255 extension;
- Str255 creator_app_name;
- Str255 post_app_name;
- Str255 MIME_type;
- Str255 entry_name;
- };
- typedef struct ICMapEntry ICMapEntry;
- typedef ICMapEntry * ICMapEntryPtr;
- typedef ICMapEntryPtr * ICMapEntryHandle;
+struct ICMapEntry {
+ short total_length;
+ ICFixedLength fixed_length;
+ short version;
+ OSType file_type;
+ OSType file_creator;
+ OSType post_creator;
+ ICMapEntryFlags flags;
+ Str255 extension;
+ Str255 creator_app_name;
+ Str255 post_app_name;
+ Str255 MIME_type;
+ Str255 entry_name;
+};
+typedef struct ICMapEntry ICMapEntry;
+typedef ICMapEntry * ICMapEntryPtr;
+typedef ICMapEntryPtr * ICMapEntryHandle;
#endif /* !OLDROUTINENAMES */
- enum
- {
- kICMapFixedLength = 22 /* number in fixedLength field*/
- };
-
- enum
- {
- kICMapBinaryBit = 0, /* file should be transfered in binary as opposed to text mode*/
- kICMapResourceForkBit = 1, /* the resource fork of the file is significant*/
- kICMapDataForkBit = 2, /* the data fork of the file is significant*/
- kICMapPostBit = 3, /* post process using post fields*/
- kICMapNotIncomingBit = 4, /* ignore this mapping for incoming files*/
- kICMapNotOutgoingBit = 5 /* ignore this mapping for outgoing files*/
- };
-
- enum
- {
- kICMapBinaryMask = 0x00000001, /* file should be transfered in binary as opposed to text mode*/
- kICMapResourceForkMask = 0x00000002, /* the resource fork of the file is significant*/
- kICMapDataForkMask = 0x00000004, /* the data fork of the file is significant*/
- kICMapPostMask = 0x00000008, /* post process using post fields*/
- kICMapNotIncomingMask = 0x00000010, /* ignore this mapping for incoming files*/
- kICMapNotOutgoingMask = 0x00000020 /* ignore this mapping for outgoing files*/
- };
-
- /************************************************************************************************
- types and constants for use with kICServices, et. al.
- ************************************************************************************************/
- typedef short ICServiceEntryFlags;
- struct ICServiceEntry
- {
- Str255 name;
- short port;
- ICServiceEntryFlags flags;
- };
- typedef struct ICServiceEntry ICServiceEntry;
- typedef ICServiceEntry * ICServiceEntryPtr;
- typedef ICServiceEntryPtr * ICServiceEntryHandle;
-
- enum
- {
- kICServicesTCPBit = 0,
- kICServicesUDPBit = 1 /* both bits can be set, which means the service is both TCP and UDP, eg daytime*/
- };
-
- enum
- {
- kICServicesTCPMask = 0x00000001,
- kICServicesUDPMask = 0x00000002 /* both bits can be set, which means the service is both TCP and UDP, eg daytime*/
- };
-
- struct ICServices
- {
- short count;
- ICServiceEntry services[1];
- };
- typedef struct ICServices ICServices;
- typedef ICServices * ICServicesPtr;
- typedef ICServicesPtr * ICServicesHandle;
-
- /************************************************************************************************
- default file name, for internal use, overridden by a component resource
- ************************************************************************************************/
+enum {
+ kICMapFixedLength = 22 /* number in fixedLength field*/
+};
+
+enum {
+ kICMapBinaryBit = 0, /* file should be transfered in binary as opposed to text mode*/
+ kICMapResourceForkBit = 1, /* the resource fork of the file is significant*/
+ kICMapDataForkBit = 2, /* the data fork of the file is significant*/
+ kICMapPostBit = 3, /* post process using post fields*/
+ kICMapNotIncomingBit = 4, /* ignore this mapping for incoming files*/
+ kICMapNotOutgoingBit = 5 /* ignore this mapping for outgoing files*/
+};
+
+enum {
+ kICMapBinaryMask = 0x00000001, /* file should be transfered in binary as opposed to text mode*/
+ kICMapResourceForkMask = 0x00000002, /* the resource fork of the file is significant*/
+ kICMapDataForkMask = 0x00000004, /* the data fork of the file is significant*/
+ kICMapPostMask = 0x00000008, /* post process using post fields*/
+ kICMapNotIncomingMask = 0x00000010, /* ignore this mapping for incoming files*/
+ kICMapNotOutgoingMask = 0x00000020 /* ignore this mapping for outgoing files*/
+};
+
+/************************************************************************************************
+ types and constants for use with kICServices, et. al.
+ ************************************************************************************************/
+typedef short ICServiceEntryFlags;
+struct ICServiceEntry {
+ Str255 name;
+ short port;
+ ICServiceEntryFlags flags;
+};
+typedef struct ICServiceEntry ICServiceEntry;
+typedef ICServiceEntry * ICServiceEntryPtr;
+typedef ICServiceEntryPtr * ICServiceEntryHandle;
+
+enum {
+ kICServicesTCPBit = 0,
+ kICServicesUDPBit = 1 /* both bits can be set, which means the service is both TCP and UDP, eg daytime*/
+};
+
+enum {
+ kICServicesTCPMask = 0x00000001,
+ kICServicesUDPMask = 0x00000002 /* both bits can be set, which means the service is both TCP and UDP, eg daytime*/
+};
+
+struct ICServices {
+ short count;
+ ICServiceEntry services[1];
+};
+typedef struct ICServices ICServices;
+typedef ICServices * ICServicesPtr;
+typedef ICServicesPtr * ICServicesHandle;
+
+/************************************************************************************************
+ default file name, for internal use, overridden by a component resource
+ ************************************************************************************************/
#if CALL_NOT_IN_CARBON
#define kICDefaultFileName "\pInternet Preferences"
#endif /* CALL_NOT_IN_CARBON */
- /************************************************************************************************
- keys
- ************************************************************************************************/
- /*
- key reserved for use by Internet Config
- */
+/************************************************************************************************
+ keys
+ ************************************************************************************************/
+/*
+ key reserved for use by Internet Config
+*/
#define kICReservedKey "\pkICReservedKey"
- /*
- STR# -- formatted, list of Archie servers
- */
+/*
+ STR# -- formatted, list of Archie servers
+*/
#define kICArchieAll "\pArchieAll"
- /*
- PString -- formatted, preferred Archie server
- */
+/*
+ PString -- formatted, preferred Archie server
+*/
#define kICArchiePreferred "\pArchiePreferred"
- /*
- ICCharTable -- Mac-to-Net and Net-to-Mac character translation
- */
+/*
+ ICCharTable -- Mac-to-Net and Net-to-Mac character translation
+*/
#define kICCharacterSet "\pCharacterSet"
- /*
- ICFontRecord -- font used for proportional text
- */
+/*
+ ICFontRecord -- font used for proportional text
+*/
#define kICDocumentFont "\pDocumentFont"
- /*
- ICFileSpec -- where to put newly downloaded files
- */
+/*
+ ICFileSpec -- where to put newly downloaded files
+*/
#define kICDownloadFolder "\pDownloadFolder"
- /*
- PString -- user@host.domain, email address of user, ie return address
- */
+/*
+ PString -- user@host.domain, email address of user, ie return address
+*/
#define kICEmail "\pEmail"
- /*
- PString -- host.domain, default FTP server
- */
+/*
+ PString -- host.domain, default FTP server
+*/
#define kICFTPHost "\pFTPHost"
- /*
- PString -- second level FTP proxy authorisation
- */
+/*
+ PString -- second level FTP proxy authorisation
+*/
#define kICFTPProxyAccount "\pFTPProxyAccount"
- /*
- PString -- host.domain
- */
+/*
+ PString -- host.domain
+*/
#define kICFTPProxyHost "\pFTPProxyHost"
- /*
- PString -- scrambled, password for FTPProxyUser
- */
+/*
+ PString -- scrambled, password for FTPProxyUser
+*/
#define kICFTPProxyPassword "\pFTPProxyPassword"
- /*
- PString -- first level FTP proxy authorisation
- */
+/*
+ PString -- first level FTP proxy authorisation
+*/
#define kICFTPProxyUser "\pFTPProxyUser"
- /*
- PString -- host.domain, default finger server
- */
+/*
+ PString -- host.domain, default finger server
+*/
#define kICFingerHost "\pFingerHost"
- /*
- PString -- host.domain, default Gopher server
- */
+/*
+ PString -- host.domain, default Gopher server
+*/
#define kICGopherHost "\pGopherHost"
- /*
- PString -- host.domain, see note in Prog Docs
- */
+/*
+ PString -- host.domain, see note in Prog Docs
+*/
#define kICGopherProxy "\pGopherProxy"
- /*
- PString -- host.domain
- */
+/*
+ PString -- host.domain
+*/
#define kICHTTPProxyHost "\pHTTPProxyHost"
- /*
- ICAppSpec -- helpers for URL schemes
- */
+/*
+ ICAppSpec -- helpers for URL schemes
+*/
#define kICHelper "\pHelper¥"
- /*
- PString -- description for URL scheme
- */
+/*
+ PString -- description for URL scheme
+*/
#define kICHelperDesc "\pHelperDesc¥"
- /*
- ICAppSpecList -- list of common helpers for URL schemes
- */
+/*
+ ICAppSpecList -- list of common helpers for URL schemes
+*/
#define kICHelperList "\pHelperList¥"
- /*
- PString -- host.domain, Internet Relay Chat server
- */
+/*
+ PString -- host.domain, Internet Relay Chat server
+*/
#define kICIRCHost "\pIRCHost"
- /*
- STR# -- formatted, list of Info-Mac servers
- */
+/*
+ STR# -- formatted, list of Info-Mac servers
+*/
#define kICInfoMacAll "\pInfoMacAll"
- /*
- PString -- formatted, preferred Info-Mac server
- */
+/*
+ PString -- formatted, preferred Info-Mac server
+*/
#define kICInfoMacPreferred "\pInfoMacPreferred"
- /*
- PString -- string LDAP thing
- */
+/*
+ PString -- string LDAP thing
+*/
#define kICLDAPSearchbase "\pLDAPSearchbase"
- /*
- PString -- host.domain
- */
+/*
+ PString -- host.domain
+*/
#define kICLDAPServer "\pLDAPServer"
- /*
- ICFontRecord -- font used for lists of items (eg news article lists)
- */
+/*
+ ICFontRecord -- font used for lists of items (eg news article lists)
+*/
#define kICListFont "\pListFont"
- /*
- PString -- host for MacSearch queries
- */
+/*
+ PString -- host for MacSearch queries
+*/
#define kICMacSearchHost "\pMacSearchHost"
- /*
- PString -- user@host.domain, account from which to fetch mail
- */
+/*
+ PString -- user@host.domain, account from which to fetch mail
+*/
#define kICMailAccount "\pMailAccount"
- /*
- TEXT -- extra headers for mail messages
- */
+/*
+ TEXT -- extra headers for mail messages
+*/
#define kICMailHeaders "\pMailHeaders"
- /*
- PString -- scrambled, password for MailAccount
- */
+/*
+ PString -- scrambled, password for MailAccount
+*/
#define kICMailPassword "\pMailPassword"
- /*
- ICMapEntries -- file type mapping, see documentation
- */
+/*
+ ICMapEntries -- file type mapping, see documentation
+*/
#define kICMapping "\pMapping"
- /*
- PString -- host.domain, NNTP server
- */
+/*
+ PString -- host.domain, NNTP server
+*/
#define kICNNTPHost "\pNNTPHost"
- /*
- PString -- host.domain, Network Time Protocol (NTP)
- */
+/*
+ PString -- host.domain, Network Time Protocol (NTP)
+*/
#define kICNTPHost "\pNTPHost"
- /*
- Boolean
- */
+/*
+ Boolean
+*/
#define kICNewMailDialog "\pNewMailDialog"
- /*
- Boolean -- how to announce new mail
- */
+/*
+ Boolean -- how to announce new mail
+*/
#define kICNewMailFlashIcon "\pNewMailFlashIcon"
- /*
- Boolean
- */
+/*
+ Boolean
+*/
#define kICNewMailPlaySound "\pNewMailPlaySound"
- /*
- PString
- */
+/*
+ PString
+*/
#define kICNewMailSoundName "\pNewMailSoundName"
- /*
- PString -- scrambled, password for NewsAuthUsername
- */
+/*
+ PString -- scrambled, password for NewsAuthUsername
+*/
#define kICNewsAuthPassword "\pNewsAuthPassword"
- /*
- PString -- user name for authorised news servers
- */
+/*
+ PString -- user name for authorised news servers
+*/
#define kICNewsAuthUsername "\pNewsAuthUsername"
- /*
- TEXT -- extra headers for news messages
- */
+/*
+ TEXT -- extra headers for news messages
+*/
#define kICNewsHeaders "\pNewsHeaders"
- /*
- STR# -- list of domains not to be proxied
- */
+/*
+ STR# -- list of domains not to be proxied
+*/
#define kICNoProxyDomains "\pNoProxyDomains"
- /*
- PString -- for X-Organization string
- */
+/*
+ PString -- for X-Organization string
+*/
#define kICOrganization "\pOrganization"
- /*
- PString -- host.domain, default Ph server
- */
+/*
+ PString -- host.domain, default Ph server
+*/
#define kICPhHost "\pPhHost"
- /*
- TEXT -- default response for finger servers
- */
+/*
+ TEXT -- default response for finger servers
+*/
#define kICPlan "\pPlan"
- /*
- ICFontRecord -- font used to print ScreenFont
- */
+/*
+ ICFontRecord -- font used to print ScreenFont
+*/
#define kICPrinterFont "\pPrinterFont"
- /*
- PString -- used to quote responses in news and mail
- */
+/*
+ PString -- used to quote responses in news and mail
+*/
#define kICQuotingString "\pQuotingString"
- /*
- PString -- real name of user
- */
+/*
+ PString -- real name of user
+*/
#define kICRealName "\pRealName"
- /*
- PString -- RTSP Proxy Host
- */
+/*
+ PString -- RTSP Proxy Host
+*/
#define kICRTSPProxyHost "\pRTSPProxyHost"
- /*
- PString -- host.domain, SMTP server
- */
+/*
+ PString -- host.domain, SMTP server
+*/
#define kICSMTPHost "\pSMTPHost"
- /*
- ICFontRecord -- font used for monospaced text (eg news articles)
- */
+/*
+ ICFontRecord -- font used for monospaced text (eg news articles)
+*/
#define kICScreenFont "\pScreenFont"
- /*
- ICServices -- TCP and IP port-to-name mapping
- */
+/*
+ ICServices -- TCP and IP port-to-name mapping
+*/
#define kICServices "\pServices"
- /*
- TEXT -- append to news and mail messages
- */
+/*
+ TEXT -- append to news and mail messages
+*/
#define kICSignature "\pSignature"
- /*
- TEXT -- preferred mailing address
- */
+/*
+ TEXT -- preferred mailing address
+*/
#define kICSnailMailAddress "\pSnailMailAddress"
- /*
- PString -- host.domain, remember that host.domain format allows ":port" and " port"
- */
+/*
+ PString -- host.domain, remember that host.domain format allows ":port" and " port"
+*/
#define kICSocksHost "\pSocksHost"
- /*
- PString -- host.domain, default Telnet address
- */
+/*
+ PString -- host.domain, default Telnet address
+*/
#define kICTelnetHost "\pTelnetHost"
- /*
- STR# -- formatted, list of UMich servers
- */
+/*
+ STR# -- formatted, list of UMich servers
+*/
#define kICUMichAll "\pUMichAll"
- /*
- PString -- formatted, preferred UMich server
- */
+/*
+ PString -- formatted, preferred UMich server
+*/
#define kICUMichPreferred "\pUMichPreferred"
- /*
- Boolean
- */
+/*
+ Boolean
+*/
#define kICUseFTPProxy "\pUseFTPProxy"
- /*
- Boolean
- */
+/*
+ Boolean
+*/
#define kICUseGopherProxy "\pUseGopherProxy"
- /*
- Boolean
- */
+/*
+ Boolean
+*/
#define kICUseHTTPProxy "\pUseHTTPProxy"
- /*
- Boolean -- use PASV command for FTP transfers
- */
+/*
+ Boolean -- use PASV command for FTP transfers
+*/
#define kICUsePassiveFTP "\pUsePassiveFTP"
- /*
- Boolean
- */
+/*
+ Boolean
+*/
#define kICUseRTSPProxy "\pUseRTSPProxy"
- /*
- Boolean
- */
+/*
+ Boolean
+*/
#define kICUseSocks "\pUseSocks"
- /*
- PString -- no idea
- */
+/*
+ PString -- no idea
+*/
#define kICWAISGateway "\pWAISGateway"
- /*
- PString -- URL, users default WWW page
- */
+/*
+ PString -- URL, users default WWW page
+*/
#define kICWWWHomePage "\pWWWHomePage"
- /*
- RGBColor -- background colour for web pages
- */
+/*
+ RGBColor -- background colour for web pages
+*/
#define kICWebBackgroundColour "\pWebBackgroundColour"
- /*
- RGBColor -- colour for read links
- */
+/*
+ RGBColor -- colour for read links
+*/
#define kICWebReadColor "\p646F6777¥WebReadColor"
- /*
- PString -- URL, users default search page
- */
+/*
+ PString -- URL, users default search page
+*/
#define kICWebSearchPagePrefs "\pWebSearchPagePrefs"
- /*
- RGBColor -- colour for normal text
- */
+/*
+ RGBColor -- colour for normal text
+*/
#define kICWebTextColor "\pWebTextColor"
- /*
- Boolean -- whether to underline links
- */
+/*
+ Boolean -- whether to underline links
+*/
#define kICWebUnderlineLinks "\p646F6777¥WebUnderlineLinks"
- /*
- RGBColor -- colour for unread links
- */
+/*
+ RGBColor -- colour for unread links
+*/
#define kICWebUnreadColor "\p646F6777¥WebUnreadColor"
- /*
- PString -- host.domain, default whois server
- */
+/*
+ PString -- host.domain, default whois server
+*/
#define kICWhoisHost "\pWhoisHost"
- /************************************************************************************************
-
- FUNCTIONS
-
- What do the annotations after each API mean?
- --------------------------------------------
-
- [r1] Requires IC 1.1 or higher.
- [r2] Requires IC 1.2 or higher.
- [r3] Requires IC 2.0 or higher.
- [r4] Requires IC 2.5 or higher.
-
- IMPORTANT:
-
- In IC 2.5, instances automatically use the default configuration.
- You no longer need to configure an instance explicitly, except
- if your code might run with an older version of IC. So the following
- notes only apply to IC 2.0 and earlier.
-
- [c1] You must have specified a configuration before calling this routine.
-
- [c2] You must have specified the default configuration before calling this
- routine.
-
- [c3] You do not need to specify a configuration before calling this routine.
-
- [b1] You must be inside a Begin/End pair when calling this routine.
-
- [b2] You must be inside a Begin/End read/write pair when calling this routine.
-
- [b3] You do not need to be inside a Begin/End pair when calling this routine.
-
- [b4] If you are getting or setting multiple preferences, you should make this
- call inside a Begin/End pair. If you do not make this call inside a Begin/End
- pair, the call will automatically do it for you.
-
- [b5] It is illegal to call this routine inside a Begin/End pair.
-
- ************************************************************************************************/
-
- /* ***** Starting Up and Shutting Down ***** */
- /*
- * ICStart()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICStart(
- ICInstance * inst,
- OSType signature);
-
-
- /* Call this at application initialisation. Set signature to a value
- * which has been regsitered with DTS to allow for future expansion
- * of the IC system. Returns inst as a connection to the IC system.
- */
- /*
- * ICStop()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICStop(ICInstance inst);
-
-
- /* [b5]
- * Call this at application initialisation, after which inst
- * is no longer valid connection to IC.
- */
- /*
- * ICGetVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetVersion(
- ICInstance inst,
- long whichVersion,
- UInt32 * version) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
-
-
- /* [r4] [c3] [b3]
- * Returns the version of Internet Config. Pass kICComponentVersion
- * to get the version as previously returned by GetComponenVerson.
- * Pass kICNumVersion to get a NumVersion structure.
- */
- /* ***** Specifying a Configuration ***** */
+/************************************************************************************************
+
+ FUNCTIONS
+
+ What do the annotations after each API mean?
+ --------------------------------------------
+
+ [r1] Requires IC 1.1 or higher.
+ [r2] Requires IC 1.2 or higher.
+ [r3] Requires IC 2.0 or higher.
+ [r4] Requires IC 2.5 or higher.
+
+ IMPORTANT:
+
+ In IC 2.5, instances automatically use the default configuration.
+ You no longer need to configure an instance explicitly, except
+ if your code might run with an older version of IC. So the following
+ notes only apply to IC 2.0 and earlier.
+
+ [c1] You must have specified a configuration before calling this routine.
+
+ [c2] You must have specified the default configuration before calling this
+ routine.
+
+ [c3] You do not need to specify a configuration before calling this routine.
+
+ [b1] You must be inside a Begin/End pair when calling this routine.
+
+ [b2] You must be inside a Begin/End read/write pair when calling this routine.
+
+ [b3] You do not need to be inside a Begin/End pair when calling this routine.
+
+ [b4] If you are getting or setting multiple preferences, you should make this
+ call inside a Begin/End pair. If you do not make this call inside a Begin/End
+ pair, the call will automatically do it for you.
+
+ [b5] It is illegal to call this routine inside a Begin/End pair.
+
+ ************************************************************************************************/
+
+/* ***** Starting Up and Shutting Down ***** */
+/*
+ * ICStart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICStart(
+ ICInstance * inst,
+ OSType signature);
+
+
+/* Call this at application initialisation. Set signature to a value
+ * which has been regsitered with DTS to allow for future expansion
+ * of the IC system. Returns inst as a connection to the IC system.
+ */
+/*
+ * ICStop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICStop(ICInstance inst);
+
+
+/* [b5]
+ * Call this at application initialisation, after which inst
+ * is no longer valid connection to IC.
+ */
+/*
+ * ICGetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetVersion(
+ ICInstance inst,
+ long whichVersion,
+ UInt32 * version) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
+
+
+/* [r4] [c3] [b3]
+ * Returns the version of Internet Config. Pass kICComponentVersion
+ * to get the version as previously returned by GetComponenVerson.
+ * Pass kICNumVersion to get a NumVersion structure.
+ */
+/* ***** Specifying a Configuration ***** */
#if CALL_NOT_IN_CARBON
- /*
- * ICFindConfigFile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICFindConfigFile(
- ICInstance inst,
- short count,
- ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
-
-
- /* [b5]
- * Call to configure this connection to IC.
- * Set count as the number of valid elements in folders.
- * Set folders to a pointer to the folders to search.
- * Setting count to 0 and folders to nil is OK.
- * Searches the specified folders and then the Preferences folder
- * in a unspecified manner.
- */
- /*
- * ICFindUserConfigFile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICFindUserConfigFile(
- ICInstance inst,
- ICDirSpec * where) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
-
-
- /* [r1] [b5]
- * Similar to ICFindConfigFile except that it only searches the folder
- * specified in where. If the input parameters are valid the routine
- * will always successful configure the instance, creating an
- * empty configuration if necessary
- * For use with double-clickable preference files.
- */
- /*
- * ICGeneralFindConfigFile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICGeneralFindConfigFile(
- ICInstance inst,
- Boolean searchPrefs,
- Boolean canCreate,
- short count,
- ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x000A, 0x001E, 0x7000, 0xA82A);
-
-
- /* [r2] [b5]
- * Call to configure this connection to IC.
- * This routine acts as a more general replacement for
- * ICFindConfigFile and ICFindUserConfigFile.
- * Set search_prefs to true if you want it to search the preferences folder.
- * Set can_create to true if you want it to be able to create a new config.
- * Set count as the number of valid elements in folders.
- * Set folders to a pointer to the folders to search.
- * Setting count to 0 and folders to nil is OK.
- * Searches the specified folders and then optionally the Preferences folder
- * in a unspecified manner.
- */
- /*
- * ICChooseConfig()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICChooseConfig(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0021, 0x7000, 0xA82A);
-
-
- /* [r2] [b5]
- * Requests the user to choose a configuration, typically using some
- * sort of modal dialog. If the user cancels the dialog the configuration
- * state will be unaffected.
- */
- /*
- * ICChooseNewConfig()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICChooseNewConfig(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A);
-
-
- /* [r2] [b5]
- * Requests the user to create a new configuration, typically using some
- * sort of modal dialog. If the user cancels the dialog the configuration
- * state will be unaffected.
- */
+/*
+ * ICFindConfigFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICFindConfigFile(
+ ICInstance inst,
+ short count,
+ ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
+
+
+/* [b5]
+ * Call to configure this connection to IC.
+ * Set count as the number of valid elements in folders.
+ * Set folders to a pointer to the folders to search.
+ * Setting count to 0 and folders to nil is OK.
+ * Searches the specified folders and then the Preferences folder
+ * in a unspecified manner.
+ */
+/*
+ * ICFindUserConfigFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICFindUserConfigFile(
+ ICInstance inst,
+ ICDirSpec * where) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
+
+
+/* [r1] [b5]
+ * Similar to ICFindConfigFile except that it only searches the folder
+ * specified in where. If the input parameters are valid the routine
+ * will always successful configure the instance, creating an
+ * empty configuration if necessary
+ * For use with double-clickable preference files.
+ */
+/*
+ * ICGeneralFindConfigFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICGeneralFindConfigFile(
+ ICInstance inst,
+ Boolean searchPrefs,
+ Boolean canCreate,
+ short count,
+ ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x000A, 0x001E, 0x7000, 0xA82A);
+
+
+/* [r2] [b5]
+ * Call to configure this connection to IC.
+ * This routine acts as a more general replacement for
+ * ICFindConfigFile and ICFindUserConfigFile.
+ * Set search_prefs to true if you want it to search the preferences folder.
+ * Set can_create to true if you want it to be able to create a new config.
+ * Set count as the number of valid elements in folders.
+ * Set folders to a pointer to the folders to search.
+ * Setting count to 0 and folders to nil is OK.
+ * Searches the specified folders and then optionally the Preferences folder
+ * in a unspecified manner.
+ */
+/*
+ * ICChooseConfig()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICChooseConfig(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0021, 0x7000, 0xA82A);
+
+
+/* [r2] [b5]
+ * Requests the user to choose a configuration, typically using some
+ * sort of modal dialog. If the user cancels the dialog the configuration
+ * state will be unaffected.
+ */
+/*
+ * ICChooseNewConfig()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICChooseNewConfig(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A);
+
+
+/* [r2] [b5]
+ * Requests the user to create a new configuration, typically using some
+ * sort of modal dialog. If the user cancels the dialog the configuration
+ * state will be unaffected.
+ */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * ICGetConfigName()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetConfigName(
- ICInstance inst,
- Boolean longname,
- Str255 name) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A);
-
-
- /* [r2] [c1] [b3]
- * Returns a string that describes the current configuration at a user
- * level. Set longname to true if you want a long name, up to 255
- * characters, or false if you want a short name, typically about 32
- * characters.
- * The returned string is for user display only. If you rely on the
- * exact format of it, you will conflict with any future IC
- * implementation that doesn't use explicit preference files.
- */
+/*
+ * ICGetConfigName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetConfigName(
+ ICInstance inst,
+ Boolean longname,
+ Str255 name) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A);
+
+
+/* [r2] [c1] [b3]
+ * Returns a string that describes the current configuration at a user
+ * level. Set longname to true if you want a long name, up to 255
+ * characters, or false if you want a short name, typically about 32
+ * characters.
+ * The returned string is for user display only. If you rely on the
+ * exact format of it, you will conflict with any future IC
+ * implementation that doesn't use explicit preference files.
+ */
#if CALL_NOT_IN_CARBON
- /*
- * ICGetConfigReference()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICGetConfigReference(
- ICInstance inst,
- ICConfigRefHandle ref) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
-
-
- /* [r2] [c1] [b3]
- * Returns a self-contained reference to the instance's current
- * configuration.
- * ref must be a valid non-nil handle and it will be resized to fit the
- * resulting data.
- */
- /*
- * ICSetConfigReference()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICSetConfigReference(
- ICInstance inst,
- ICConfigRefHandle ref,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
-
-
- /* [r2] [b5]
- * Reconfigures the instance using a configuration reference that was
- * got using ICGetConfigReference reference. Set the
- * icNoUserInteraction_bit in flags if you require that this routine
- * not present a modal dialog. Other flag bits are reserved and should
- * be set to zero.
- * ref must not be nil.
- */
- /* ***** Private Routines *****
- *
- * If you are calling these routines, you are most probably doing something
- * wrong. Please read the documentation for more details.
- */
- /*
- * ICSpecifyConfigFile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICSpecifyConfigFile(
- ICInstance inst,
- FSSpec * config) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /* [b5]
- * For use only by the IC application.
- * If you call this routine yourself, you will conflict with any
- * future IC implementation that doesn't use explicit preference files.
- */
- /*
- * ICRefreshCaches()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICRefreshCaches(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002F, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b3]
- * For use only by the IC application.
- * If you call this routine yourself, you will conflict with any
- * future IC implementation that doesn't use explicit preference files.
- */
- /* ***** Getting Information ***** */
+/*
+ * ICGetConfigReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICGetConfigReference(
+ ICInstance inst,
+ ICConfigRefHandle ref) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
+
+
+/* [r2] [c1] [b3]
+ * Returns a self-contained reference to the instance's current
+ * configuration.
+ * ref must be a valid non-nil handle and it will be resized to fit the
+ * resulting data.
+ */
+/*
+ * ICSetConfigReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICSetConfigReference(
+ ICInstance inst,
+ ICConfigRefHandle ref,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
+
+
+/* [r2] [b5]
+ * Reconfigures the instance using a configuration reference that was
+ * got using ICGetConfigReference reference. Set the
+ * icNoUserInteraction_bit in flags if you require that this routine
+ * not present a modal dialog. Other flag bits are reserved and should
+ * be set to zero.
+ * ref must not be nil.
+ */
+/* ***** Private Routines *****
+ *
+ * If you are calling these routines, you are most probably doing something
+ * wrong. Please read the documentation for more details.
+ */
+/*
+ * ICSpecifyConfigFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICSpecifyConfigFile(
+ ICInstance inst,
+ FSSpec * config) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/* [b5]
+ * For use only by the IC application.
+ * If you call this routine yourself, you will conflict with any
+ * future IC implementation that doesn't use explicit preference files.
+ */
+/*
+ * ICRefreshCaches()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICRefreshCaches(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002F, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b3]
+ * For use only by the IC application.
+ * If you call this routine yourself, you will conflict with any
+ * future IC implementation that doesn't use explicit preference files.
+ */
+/* ***** Getting Information ***** */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * ICGetSeed()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetSeed(
- ICInstance inst,
- long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /* [c3] [b3]
- * Returns the current seed for the IC prefs database.
- * This seed changes each time a non-volatile preference is changed.
- * You can poll this to determine if any cached preferences change.
- */
- /*
- * ICGetPerm()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetPerm(
- ICInstance inst,
- ICPerm * perm) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /* [c3] [b3]
- * Returns the access permissions currently associated with this instance.
- * While applications normally know what permissions they have,
- * this routine is designed for use by override components.
- */
+/*
+ * ICGetSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetSeed(
+ ICInstance inst,
+ long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/* [c3] [b3]
+ * Returns the current seed for the IC prefs database.
+ * This seed changes each time a non-volatile preference is changed.
+ * You can poll this to determine if any cached preferences change.
+ */
+/*
+ * ICGetPerm()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetPerm(
+ ICInstance inst,
+ ICPerm * perm) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/* [c3] [b3]
+ * Returns the access permissions currently associated with this instance.
+ * While applications normally know what permissions they have,
+ * this routine is designed for use by override components.
+ */
#if CALL_NOT_IN_CARBON
- /*
- * ICDefaultFileName()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICDefaultFileName(
- ICInstance inst,
- Str63 name) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
-
-
- /* [c3] [b3]
- * Returns the default file name for IC preference files.
- * Applications should never need to call this routine.
- * If you rely on information returned by this routine yourself,
- * you may conflict with any future IC implementation that doesn't use
- * explicit preference files.
- * The component calls this routine to set up the default IC file name.
- * This allows this operation to be intercepted by a component that has
- * captured us. It currently gets it from the component resource file.
- * The glue version is hardwired to "Internet Preferences".
- */
- /*
- * ICGetComponentInstance()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICGetComponentInstance(
- ICInstance inst,
- ComponentInstance * componentInst);
-
-
- /* [c3] [b3]
- * Returns noErr and the connection to the IC component,
- * if we're using the component.
- * Returns badComponenInstance and nil if we're operating with glue.
- */
- /* ***** Reading and Writing Preferences ***** */
+/*
+ * ICDefaultFileName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICDefaultFileName(
+ ICInstance inst,
+ Str63 name) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
+
+
+/* [c3] [b3]
+ * Returns the default file name for IC preference files.
+ * Applications should never need to call this routine.
+ * If you rely on information returned by this routine yourself,
+ * you may conflict with any future IC implementation that doesn't use
+ * explicit preference files.
+ * The component calls this routine to set up the default IC file name.
+ * This allows this operation to be intercepted by a component that has
+ * captured us. It currently gets it from the component resource file.
+ * The glue version is hardwired to "Internet Preferences".
+ */
+/*
+ * ICGetComponentInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICGetComponentInstance(
+ ICInstance inst,
+ ComponentInstance * componentInst);
+
+
+/* [c3] [b3]
+ * Returns noErr and the connection to the IC component,
+ * if we're using the component.
+ * Returns badComponenInstance and nil if we're operating with glue.
+ */
+/* ***** Reading and Writing Preferences ***** */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * ICBegin()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICBegin(
- ICInstance inst,
- ICPerm perm) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A);
-
-
- /* [c1] [b5]
- * Starting reading or writing multiple preferences.
- * A call to this must be balanced by a call to ICEnd.
- * Do not call WaitNextEvent between these calls.
- * The perm specifies whether you intend to read or read/write.
- * Only one writer is allowed per instance.
- * Note that this may open resource files that are not closed
- * until you call ICEnd.
- */
- /*
- * ICGetPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetPref(
- ICInstance inst,
- ConstStr255Param key,
- ICAttr * attr,
- void * buf,
- long * size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A);
-
-
- /* [c1] [b4]
- * Reads the preference specified by key from the IC database to the
- * buffer pointed to by buf and size.
- * key must not be the empty string.
- * If buf is nil then no data is returned.
- * size must be non-negative.
- * attr and size are always set on return. On errors (except icTruncatedErr)
- * attr is set to ICattr_no_change and size is set to 0.
- * size is the actual size of the data.
- * attr is set to the attributes associated with the preference.
- * If this routine returns icTruncatedErr then the other returned
- * values are valid except that only the first size bytes have been
- * return. size is adjusted to reflect the true size of the preference.
- * Returns icPrefNotFound if there is no preference for the key.
- */
- /*
- * ICSetPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICSetPref(
- ICInstance inst,
- ConstStr255Param key,
- ICAttr attr,
- const void * buf,
- long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A);
-
-
- /* [c1] [b4]
- * Sets the preference specified by key from the IC database to the
- * value pointed to by buf and size.
- * key must not be the empty string.
- * size must be non-negative.
- * If buf is nil then the preference value is not set and size is ignored.
- * If buf is not nil then the preference value is set to the size
- * bytes pointed to by buf.
- * If attr is ICattr_no_change then the preference attributes are not set.
- * Otherwise the preference attributes are set to attr.
- * Returns icPermErr if the previous ICBegin was passed icReadOnlyPerm.
- * Returns icPermErr if current attr is locked, new attr is locked and buf <> nil.
- */
- /*
- * ICFindPrefHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICFindPrefHandle(
- ICInstance inst,
- ConstStr255Param key,
- ICAttr * attr,
- Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A);
-
-
- /* [r2] [c1] [b4]
- * This routine effectively replaces ICGetPrefHandle.
- * Reads the preference specified by key from the IC database into
- * a handle, prefh.
- * key must not be the empty string.
- * attr is set to the attributes associated with the preference.
- * You must set prefh to a non-nil handle before calling this routine.
- * If the preference does not exist, icPrefNotFoundErr is returned.
- */
- /*
- * ICGetPrefHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetPrefHandle(
- ICInstance inst,
- ConstStr255Param key,
- ICAttr * attr,
- Handle * prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001A, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b4]
- * This routine is now obsolete. Use ICFindPrefHandle instead.
- * Reads the preference specified by key from the IC database into
- * a newly created handle, prefh.
- * key must not be the empty string.
- * attr is set to the attributes associated with the preference.
- * The incoming value of prefh is ignored.
- * A new handle is created in the current heap and returned in prefh.
- * If the routine returns an error, prefh is set to nil.
- * If the preference does not exist, no error is returned and prefh is set
- * to an empty handle.
- */
- /*
- * ICSetPrefHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICSetPrefHandle(
- ICInstance inst,
- ConstStr255Param key,
- ICAttr attr,
- Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001B, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b4]
- * Sets the preference specified by key from the IC database to the
- * value contained in prefh.
- * key must not be the empty string.
- * If prefh is nil then the preference value is not set.
- * If buf is not nil then the preference value is set to the data
- * contained in it.
- * If attr is ICattr_no_change then the preference attributes are not set.
- * Otherwise the preference attributes are set to attr.
- * Returns icPermErr if the previous ICBegin was passed icReadOnlyPerm.
- * Returns icPermErr if current attr is locked, new attr is locked and prefh <> nil.
- */
- /*
- * ICCountPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICCountPref(
- ICInstance inst,
- long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
- /* [c1] [b1]
- * Counts the total number of preferences.
- * If the routine returns an error, count is set to 0.
- */
- /*
- * ICGetIndPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetIndPref(
- ICInstance inst,
- long index,
- Str255 key) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
-
-
- /* [c1] [b1]
- * Returns the key of the index'th preference.
- * index must be positive.
- * Returns icPrefNotFoundErr if index is greater than the total number of preferences.
- * If the routine returns an error, key is undefined.
- */
- /*
- * ICDeletePref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICDeletePref(
- ICInstance inst,
- ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /* [c1] [b2]
- * Deletes the preference specified by key.
- * key must not be the empty string.
- * Returns icPrefNotFound if the preference specified by key is not present.
- */
- /*
- * ICEnd()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICEnd(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A);
-
-
- /* [c1] [b1]
- * Terminates a preference session, as started by ICBegin.
- * You must have called ICBegin before calling this routine.
- */
- /*
- * ICGetDefaultPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetDefaultPref(
- ICInstance inst,
- ConstStr255Param key,
- Handle prefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
-
-
- /* [r4] [c3] [b5]
- * Returns a default preference value for the specified key. You
- * must pass in a valid prefH, which is resized to fit the data.
- */
- /* ***** User Interface Stuff ***** */
- /*
- * ICEditPreferences()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICEditPreferences(
- ICInstance inst,
- ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Instructs IC to display the user interface associated with editing
- * preferences and focusing on the preference specified by key.
- * If key is the empty string then no preference should be focused upon.
- * You must have specified a configuration before calling this routine.
- * You do not need to call ICBegin before calling this routine.
- * In the current implementation this launches the IC application
- * (or brings it to the front) and displays the window containing
- * the preference specified by key.
- * It may have a radically different implementation in future
- * IC systems.
- */
- /* ***** URL Handling ***** */
- /*
- * ICLaunchURL()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICLaunchURL(
- ICInstance inst,
- ConstStr255Param hint,
- const void * data,
- long len,
- long * selStart,
- long * selEnd) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0011, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Parses a URL out of the specified text and feeds it off to the
- * appropriate helper.
- * hint indicates the default scheme for URLs of the form "name@address".
- * If hint is the empty string then URLs of that form are not allowed.
- * data points to the start of the text. It must not be nil.
- * len indicates the length of the text. It must be non-negative.
- * selStart and selEnd should be passed in as the current selection of
- * the text. This selection is given in the same manner as TextEdit,
- * ie if selStart = selEnd then there is no selection only an insertion
- * point. Also selStart . selEnd and 0 . selStart . len and 0 . selEnd . len.
- * selStart and selEnd are returned as the bounds of the URL. If the
- * routine returns an error then these new boundaries may be
- * invalid but they will be close.
- * The URL is parsed out of the text and passed off to the appropriate
- * helper using the GURL AppleEvent.
- */
- /*
- * ICParseURL()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICParseURL(
- ICInstance inst,
- ConstStr255Param hint,
- const void * data,
- long len,
- long * selStart,
- long * selEnd,
- Handle url) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0010, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Parses a URL out of the specified text and returns it in a canonical form
- * in a handle.
- * hint indicates the default scheme for URLs of the form "name@address".
- * If hint is the empty string then URLs of that form are not allowed.
- * data points to the start of the text. It must not be nil.
- * len indicates the length of the text. It must be non-negative.
- * selStart and selEnd should be passed in as the current selection of
- * the text. This selection is given in the same manner as TextEdit,
- * ie if selStart = selEnd then there is no selection only an insertion
- * point. Also selStart . selEnd and 0 . selStart . len and 0 . selEnd . len.
- * selStart and selEnd are returned as the bounds of the URL. If the
- * routine returns an error then these new boundaries may be
- * invalid but they will be close.
- * The incoming url handle must not be nil. The resulting URL is normalised
- * and copied into the url handle, which is resized to fit.
- */
- /*
- * ICCreateGURLEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICCreateGURLEvent(
- ICInstance inst,
- OSType helperCreator,
- Handle urlH,
- AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0033, 0x7000, 0xA82A);
-
-
- /* [r4] [c1] [b3]
- * Creates a GURL Apple event, targetted at the application whose creator
- * code is helperCreator, with a direct object containing the URL text from urlH.
- */
- /*
- * ICSendGURLEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICSendGURLEvent(
- ICInstance inst,
- AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0034, 0x7000, 0xA82A);
-
-
- /* [r4] [c1] [b3]
- * Sends theEvent to the target application.
- */
- /* ***** Mappings Routines *****
- *
- * Routines for interrogating mappings database.
- *
- * ----- High Level Routines -----
- */
- /*
- * ICMapFilename()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICMapFilename(
- ICInstance inst,
- ConstStr255Param filename,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0018, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b4]
- * Takes the name of an incoming file and returns the most appropriate
- * mappings database entry, based on its extension.
- * filename must not be the empty string.
- * Returns icPrefNotFoundErr if no suitable entry is found.
- */
- /*
- * ICMapTypeCreator()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICMapTypeCreator(
- ICInstance inst,
- OSType fType,
- OSType fCreator,
- ConstStr255Param filename,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0019, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b4]
- * Takes the type and creator (and optionally the name) of an outgoing
- * file and returns the most appropriate mappings database entry.
- * The filename may be either the name of the outgoing file or
- * the empty string.
- * Returns icPrefNotFoundErr if no suitable entry found.
- */
- /* ----- Mid Level Routines ----- */
- /*
- * ICMapEntriesFilename()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICMapEntriesFilename(
- ICInstance inst,
- Handle entries,
- ConstStr255Param filename,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001C, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Takes the name of an incoming file and returns the most appropriate
- * mappings database entry, based on its extension.
- * entries must be a handle to a valid IC mappings database preference.
- * filename must not be the empty string.
- * Returns icPrefNotFoundErr if no suitable entry is found.
- */
- /*
- * ICMapEntriesTypeCreator()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICMapEntriesTypeCreator(
- ICInstance inst,
- Handle entries,
- OSType fType,
- OSType fCreator,
- ConstStr255Param filename,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0014, 0x001D, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Takes the type and creator (and optionally the name) of an outgoing
- * file and returns the most appropriate mappings database entry.
- * entries must be a handle to a valid IC mappings database preference.
- * The filename may be either the name of the outgoing file or
- * the empty string.
- * Returns icPrefNotFoundErr if no suitable entry found.
- */
- /* ----- Low Level Routines ----- */
- /*
- * ICCountMapEntries()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICCountMapEntries(
- ICInstance inst,
- Handle entries,
- long * count) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0012, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Counts the number of entries in the mappings database.
- * entries must be a handle to a valid IC mappings database preference.
- * count is set to the number of entries.
- */
- /*
- * ICGetIndMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetIndMapEntry(
- ICInstance inst,
- Handle entries,
- long index,
- long * pos,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0013, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Gets the index'th entry in the mappings database.
- * entries must be a handle to a valid IC mappings database preference.
- * index must be in the range from 1 to the number of entries in the database.
- * The value of pos is ignored on input. pos is set to the position of
- * the index'th entry in the database and is suitable for passing back
- * into ICSetMapEntry.
- * Does not return any user data associated with the entry.
- */
- /*
- * ICGetMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetMapEntry(
- ICInstance inst,
- Handle entries,
- long pos,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0014, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Returns the entry located at position pos in the mappings database.
- * entries must be a handle to a valid IC mappings database preference.
- * pos should be 0 to get the first entry. To get the subsequent entries, add
- * entry.total_size to pos and iterate.
- * Does not return any user data associated with the entry.
- */
- /*
- * ICSetMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICSetMapEntry(
- ICInstance inst,
- Handle entries,
- long pos,
- const ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0015, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Sets the entry located at position pos in the mappings database.
- * entries must be a handle to a valid IC mappings database preference.
- * pos should be either a value returned from ICGetIndMapEntry or a value
- * calculated using ICGetMapEntry.
- * entry is a var parameter purely for stack space reasons. It is not
- * modified in any way.
- * Any user data associated with the entry is unmodified.
- */
- /*
- * ICDeleteMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICDeleteMapEntry(
- ICInstance inst,
- Handle entries,
- long pos) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Deletes the mappings database entry at pos.
- * entries must be a handle to a valid IC mappings database preference.
- * pos should be either a value returned from ICGetIndMapEntry or a value
- * calculated using ICGetMapEntry.
- * Also deletes any user data associated with the entry.
- */
- /*
- * ICAddMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICAddMapEntry(
- ICInstance inst,
- Handle entries,
- const ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
-
-
- /* [r1] [c1] [b3]
- * Adds an entry to the mappings database.
- * entries must be a handle to a valid IC mappings database preference.
- * The entry is added to the end of the entries database.
- * No user data is added.
- */
- /* ***** Profile Management Routines ***** */
- /*
- * ICGetCurrentProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetCurrentProfile(
- ICInstance inst,
- ICProfileID * currentID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b3]
- * Returns the profile ID of the current profile.
- */
- /*
- * ICSetCurrentProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICSetCurrentProfile(
- ICInstance inst,
- ICProfileID newID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b3]
- * Sets the current profile to the profile specified in newProfile.
- */
- /*
- * ICCountProfiles()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICCountProfiles(
- ICInstance inst,
- long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b1]
- * Returns the total number of profiles.
- */
- /*
- * ICGetIndProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetIndProfile(
- ICInstance inst,
- long index,
- ICProfileID * thisID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b1]
- * Returns the profile ID of the index'th profile. index must be positive.
- * Returns icProfileNotFoundErr if index is greater than the total number
- * of profiles.
- */
- /*
- * ICGetProfileName()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICGetProfileName(
- ICInstance inst,
- ICProfileID thisID,
- Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b3]
- * Returns the name of a profile given its ID. The name may not uniquely
- * identify the profile. [That's what the profile ID is for!] The name
- * is assumed to be in the system script.
- */
- /*
- * ICSetProfileName()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICSetProfileName(
- ICInstance inst,
- ICProfileID thisID,
- ConstStr255Param name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b3]
- * This routine sets the name of the specified profile. Profile names
- * need not be unique. The name should be in the system script.
- */
- /*
- * ICAddProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICAddProfile(
- ICInstance inst,
- ICProfileID prototypeID,
- ICProfileID * newID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b2]
- * If prototypeID = kICNilProfileID, this routine
- * creates a default profile, otherwise it creates a
- * profile by cloning the prototype profile. The ID
- * of the new profile is returned in newID.
- * The new profile will be give a new, unique, name.
- * This does not switch to the new profile.
- */
- /*
- * ICDeleteProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ICDeleteProfile(
- ICInstance inst,
- ICProfileID thisID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
-
-
- /* [r3] [c1] [b2]
- * This routine deletes the profile specified by
- * thisID. Attempting to delete the current profile
- * or the last profile will return error.
- */
- /************************************************************************************************
- NOTHING BELOW THIS DIVIDER IS IN CARBON
- ************************************************************************************************/
- /* ***** Interrupt Safe Routines ***** */
+/*
+ * ICBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICBegin(
+ ICInstance inst,
+ ICPerm perm) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A);
+
+
+/* [c1] [b5]
+ * Starting reading or writing multiple preferences.
+ * A call to this must be balanced by a call to ICEnd.
+ * Do not call WaitNextEvent between these calls.
+ * The perm specifies whether you intend to read or read/write.
+ * Only one writer is allowed per instance.
+ * Note that this may open resource files that are not closed
+ * until you call ICEnd.
+ */
+/*
+ * ICGetPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetPref(
+ ICInstance inst,
+ ConstStr255Param key,
+ ICAttr * attr,
+ void * buf,
+ long * size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A);
+
+
+/* [c1] [b4]
+ * Reads the preference specified by key from the IC database to the
+ * buffer pointed to by buf and size.
+ * key must not be the empty string.
+ * If buf is nil then no data is returned.
+ * size must be non-negative.
+ * attr and size are always set on return. On errors (except icTruncatedErr)
+ * attr is set to ICattr_no_change and size is set to 0.
+ * size is the actual size of the data.
+ * attr is set to the attributes associated with the preference.
+ * If this routine returns icTruncatedErr then the other returned
+ * values are valid except that only the first size bytes have been
+ * return. size is adjusted to reflect the true size of the preference.
+ * Returns icPrefNotFound if there is no preference for the key.
+ */
+/*
+ * ICSetPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICSetPref(
+ ICInstance inst,
+ ConstStr255Param key,
+ ICAttr attr,
+ const void * buf,
+ long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A);
+
+
+/* [c1] [b4]
+ * Sets the preference specified by key from the IC database to the
+ * value pointed to by buf and size.
+ * key must not be the empty string.
+ * size must be non-negative.
+ * If buf is nil then the preference value is not set and size is ignored.
+ * If buf is not nil then the preference value is set to the size
+ * bytes pointed to by buf.
+ * If attr is ICattr_no_change then the preference attributes are not set.
+ * Otherwise the preference attributes are set to attr.
+ * Returns icPermErr if the previous ICBegin was passed icReadOnlyPerm.
+ * Returns icPermErr if current attr is locked, new attr is locked and buf <> nil.
+ */
+/*
+ * ICFindPrefHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICFindPrefHandle(
+ ICInstance inst,
+ ConstStr255Param key,
+ ICAttr * attr,
+ Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A);
+
+
+/* [r2] [c1] [b4]
+ * This routine effectively replaces ICGetPrefHandle.
+ * Reads the preference specified by key from the IC database into
+ * a handle, prefh.
+ * key must not be the empty string.
+ * attr is set to the attributes associated with the preference.
+ * You must set prefh to a non-nil handle before calling this routine.
+ * If the preference does not exist, icPrefNotFoundErr is returned.
+ */
+/*
+ * ICGetPrefHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetPrefHandle(
+ ICInstance inst,
+ ConstStr255Param key,
+ ICAttr * attr,
+ Handle * prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001A, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b4]
+ * This routine is now obsolete. Use ICFindPrefHandle instead.
+ * Reads the preference specified by key from the IC database into
+ * a newly created handle, prefh.
+ * key must not be the empty string.
+ * attr is set to the attributes associated with the preference.
+ * The incoming value of prefh is ignored.
+ * A new handle is created in the current heap and returned in prefh.
+ * If the routine returns an error, prefh is set to nil.
+ * If the preference does not exist, no error is returned and prefh is set
+ * to an empty handle.
+ */
+/*
+ * ICSetPrefHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICSetPrefHandle(
+ ICInstance inst,
+ ConstStr255Param key,
+ ICAttr attr,
+ Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001B, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b4]
+ * Sets the preference specified by key from the IC database to the
+ * value contained in prefh.
+ * key must not be the empty string.
+ * If prefh is nil then the preference value is not set.
+ * If buf is not nil then the preference value is set to the data
+ * contained in it.
+ * If attr is ICattr_no_change then the preference attributes are not set.
+ * Otherwise the preference attributes are set to attr.
+ * Returns icPermErr if the previous ICBegin was passed icReadOnlyPerm.
+ * Returns icPermErr if current attr is locked, new attr is locked and prefh <> nil.
+ */
+/*
+ * ICCountPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICCountPref(
+ ICInstance inst,
+ long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+/* [c1] [b1]
+ * Counts the total number of preferences.
+ * If the routine returns an error, count is set to 0.
+ */
+/*
+ * ICGetIndPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetIndPref(
+ ICInstance inst,
+ long index,
+ Str255 key) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
+
+
+/* [c1] [b1]
+ * Returns the key of the index'th preference.
+ * index must be positive.
+ * Returns icPrefNotFoundErr if index is greater than the total number of preferences.
+ * If the routine returns an error, key is undefined.
+ */
+/*
+ * ICDeletePref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICDeletePref(
+ ICInstance inst,
+ ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/* [c1] [b2]
+ * Deletes the preference specified by key.
+ * key must not be the empty string.
+ * Returns icPrefNotFound if the preference specified by key is not present.
+ */
+/*
+ * ICEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICEnd(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A);
+
+
+/* [c1] [b1]
+ * Terminates a preference session, as started by ICBegin.
+ * You must have called ICBegin before calling this routine.
+ */
+/*
+ * ICGetDefaultPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetDefaultPref(
+ ICInstance inst,
+ ConstStr255Param key,
+ Handle prefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
+
+
+/* [r4] [c3] [b5]
+ * Returns a default preference value for the specified key. You
+ * must pass in a valid prefH, which is resized to fit the data.
+ */
+/* ***** User Interface Stuff ***** */
+/*
+ * ICEditPreferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICEditPreferences(
+ ICInstance inst,
+ ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Instructs IC to display the user interface associated with editing
+ * preferences and focusing on the preference specified by key.
+ * If key is the empty string then no preference should be focused upon.
+ * You must have specified a configuration before calling this routine.
+ * You do not need to call ICBegin before calling this routine.
+ * In the current implementation this launches the IC application
+ * (or brings it to the front) and displays the window containing
+ * the preference specified by key.
+ * It may have a radically different implementation in future
+ * IC systems.
+ */
+/* ***** URL Handling ***** */
+/*
+ * ICLaunchURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICLaunchURL(
+ ICInstance inst,
+ ConstStr255Param hint,
+ const void * data,
+ long len,
+ long * selStart,
+ long * selEnd) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0011, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Parses a URL out of the specified text and feeds it off to the
+ * appropriate helper.
+ * hint indicates the default scheme for URLs of the form "name@address".
+ * If hint is the empty string then URLs of that form are not allowed.
+ * data points to the start of the text. It must not be nil.
+ * len indicates the length of the text. It must be non-negative.
+ * selStart and selEnd should be passed in as the current selection of
+ * the text. This selection is given in the same manner as TextEdit,
+ * ie if selStart = selEnd then there is no selection only an insertion
+ * point. Also selStart . selEnd and 0 . selStart . len and 0 . selEnd . len.
+ * selStart and selEnd are returned as the bounds of the URL. If the
+ * routine returns an error then these new boundaries may be
+ * invalid but they will be close.
+ * The URL is parsed out of the text and passed off to the appropriate
+ * helper using the GURL AppleEvent.
+ */
+/*
+ * ICParseURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICParseURL(
+ ICInstance inst,
+ ConstStr255Param hint,
+ const void * data,
+ long len,
+ long * selStart,
+ long * selEnd,
+ Handle url) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0010, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Parses a URL out of the specified text and returns it in a canonical form
+ * in a handle.
+ * hint indicates the default scheme for URLs of the form "name@address".
+ * If hint is the empty string then URLs of that form are not allowed.
+ * data points to the start of the text. It must not be nil.
+ * len indicates the length of the text. It must be non-negative.
+ * selStart and selEnd should be passed in as the current selection of
+ * the text. This selection is given in the same manner as TextEdit,
+ * ie if selStart = selEnd then there is no selection only an insertion
+ * point. Also selStart . selEnd and 0 . selStart . len and 0 . selEnd . len.
+ * selStart and selEnd are returned as the bounds of the URL. If the
+ * routine returns an error then these new boundaries may be
+ * invalid but they will be close.
+ * The incoming url handle must not be nil. The resulting URL is normalised
+ * and copied into the url handle, which is resized to fit.
+ */
+/*
+ * ICCreateGURLEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICCreateGURLEvent(
+ ICInstance inst,
+ OSType helperCreator,
+ Handle urlH,
+ AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0033, 0x7000, 0xA82A);
+
+
+/* [r4] [c1] [b3]
+ * Creates a GURL Apple event, targetted at the application whose creator
+ * code is helperCreator, with a direct object containing the URL text from urlH.
+ */
+/*
+ * ICSendGURLEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICSendGURLEvent(
+ ICInstance inst,
+ AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0034, 0x7000, 0xA82A);
+
+
+/* [r4] [c1] [b3]
+ * Sends theEvent to the target application.
+ */
+/* ***** Mappings Routines *****
+ *
+ * Routines for interrogating mappings database.
+ *
+ * ----- High Level Routines -----
+ */
+/*
+ * ICMapFilename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICMapFilename(
+ ICInstance inst,
+ ConstStr255Param filename,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0018, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b4]
+ * Takes the name of an incoming file and returns the most appropriate
+ * mappings database entry, based on its extension.
+ * filename must not be the empty string.
+ * Returns icPrefNotFoundErr if no suitable entry is found.
+ */
+/*
+ * ICMapTypeCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICMapTypeCreator(
+ ICInstance inst,
+ OSType fType,
+ OSType fCreator,
+ ConstStr255Param filename,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0019, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b4]
+ * Takes the type and creator (and optionally the name) of an outgoing
+ * file and returns the most appropriate mappings database entry.
+ * The filename may be either the name of the outgoing file or
+ * the empty string.
+ * Returns icPrefNotFoundErr if no suitable entry found.
+ */
+/* ----- Mid Level Routines ----- */
+/*
+ * ICMapEntriesFilename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICMapEntriesFilename(
+ ICInstance inst,
+ Handle entries,
+ ConstStr255Param filename,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001C, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Takes the name of an incoming file and returns the most appropriate
+ * mappings database entry, based on its extension.
+ * entries must be a handle to a valid IC mappings database preference.
+ * filename must not be the empty string.
+ * Returns icPrefNotFoundErr if no suitable entry is found.
+ */
+/*
+ * ICMapEntriesTypeCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICMapEntriesTypeCreator(
+ ICInstance inst,
+ Handle entries,
+ OSType fType,
+ OSType fCreator,
+ ConstStr255Param filename,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0014, 0x001D, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Takes the type and creator (and optionally the name) of an outgoing
+ * file and returns the most appropriate mappings database entry.
+ * entries must be a handle to a valid IC mappings database preference.
+ * The filename may be either the name of the outgoing file or
+ * the empty string.
+ * Returns icPrefNotFoundErr if no suitable entry found.
+ */
+/* ----- Low Level Routines ----- */
+/*
+ * ICCountMapEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICCountMapEntries(
+ ICInstance inst,
+ Handle entries,
+ long * count) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0012, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Counts the number of entries in the mappings database.
+ * entries must be a handle to a valid IC mappings database preference.
+ * count is set to the number of entries.
+ */
+/*
+ * ICGetIndMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetIndMapEntry(
+ ICInstance inst,
+ Handle entries,
+ long index,
+ long * pos,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0013, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Gets the index'th entry in the mappings database.
+ * entries must be a handle to a valid IC mappings database preference.
+ * index must be in the range from 1 to the number of entries in the database.
+ * The value of pos is ignored on input. pos is set to the position of
+ * the index'th entry in the database and is suitable for passing back
+ * into ICSetMapEntry.
+ * Does not return any user data associated with the entry.
+ */
+/*
+ * ICGetMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetMapEntry(
+ ICInstance inst,
+ Handle entries,
+ long pos,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0014, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Returns the entry located at position pos in the mappings database.
+ * entries must be a handle to a valid IC mappings database preference.
+ * pos should be 0 to get the first entry. To get the subsequent entries, add
+ * entry.total_size to pos and iterate.
+ * Does not return any user data associated with the entry.
+ */
+/*
+ * ICSetMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICSetMapEntry(
+ ICInstance inst,
+ Handle entries,
+ long pos,
+ const ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0015, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Sets the entry located at position pos in the mappings database.
+ * entries must be a handle to a valid IC mappings database preference.
+ * pos should be either a value returned from ICGetIndMapEntry or a value
+ * calculated using ICGetMapEntry.
+ * entry is a var parameter purely for stack space reasons. It is not
+ * modified in any way.
+ * Any user data associated with the entry is unmodified.
+ */
+/*
+ * ICDeleteMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICDeleteMapEntry(
+ ICInstance inst,
+ Handle entries,
+ long pos) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Deletes the mappings database entry at pos.
+ * entries must be a handle to a valid IC mappings database preference.
+ * pos should be either a value returned from ICGetIndMapEntry or a value
+ * calculated using ICGetMapEntry.
+ * Also deletes any user data associated with the entry.
+ */
+/*
+ * ICAddMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICAddMapEntry(
+ ICInstance inst,
+ Handle entries,
+ const ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
+
+
+/* [r1] [c1] [b3]
+ * Adds an entry to the mappings database.
+ * entries must be a handle to a valid IC mappings database preference.
+ * The entry is added to the end of the entries database.
+ * No user data is added.
+ */
+/* ***** Profile Management Routines ***** */
+/*
+ * ICGetCurrentProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetCurrentProfile(
+ ICInstance inst,
+ ICProfileID * currentID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b3]
+ * Returns the profile ID of the current profile.
+ */
+/*
+ * ICSetCurrentProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICSetCurrentProfile(
+ ICInstance inst,
+ ICProfileID newID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b3]
+ * Sets the current profile to the profile specified in newProfile.
+ */
+/*
+ * ICCountProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICCountProfiles(
+ ICInstance inst,
+ long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b1]
+ * Returns the total number of profiles.
+ */
+/*
+ * ICGetIndProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetIndProfile(
+ ICInstance inst,
+ long index,
+ ICProfileID * thisID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b1]
+ * Returns the profile ID of the index'th profile. index must be positive.
+ * Returns icProfileNotFoundErr if index is greater than the total number
+ * of profiles.
+ */
+/*
+ * ICGetProfileName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICGetProfileName(
+ ICInstance inst,
+ ICProfileID thisID,
+ Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b3]
+ * Returns the name of a profile given its ID. The name may not uniquely
+ * identify the profile. [That's what the profile ID is for!] The name
+ * is assumed to be in the system script.
+ */
+/*
+ * ICSetProfileName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICSetProfileName(
+ ICInstance inst,
+ ICProfileID thisID,
+ ConstStr255Param name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b3]
+ * This routine sets the name of the specified profile. Profile names
+ * need not be unique. The name should be in the system script.
+ */
+/*
+ * ICAddProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICAddProfile(
+ ICInstance inst,
+ ICProfileID prototypeID,
+ ICProfileID * newID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b2]
+ * If prototypeID = kICNilProfileID, this routine
+ * creates a default profile, otherwise it creates a
+ * profile by cloning the prototype profile. The ID
+ * of the new profile is returned in newID.
+ * The new profile will be give a new, unique, name.
+ * This does not switch to the new profile.
+ */
+/*
+ * ICDeleteProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ICDeleteProfile(
+ ICInstance inst,
+ ICProfileID thisID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
+
+
+/* [r3] [c1] [b2]
+ * This routine deletes the profile specified by
+ * thisID. Attempting to delete the current profile
+ * or the last profile will return error.
+ */
+/************************************************************************************************
+ NOTHING BELOW THIS DIVIDER IS IN CARBON
+ ************************************************************************************************/
+/* ***** Interrupt Safe Routines ***** */
#if CALL_NOT_IN_CARBON
- /*
- * ICRequiresInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICRequiresInterruptSafe(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002D, 0x7000, 0xA82A);
-
-
- /* [r3] [c2] [b3]
- * You must call this routine before calling GetMapEntryInterruptSafe
- * to give IC chance to cache the mappings data in memory. The only
- * way to clear this state is to close the instance. You can not reconfigure
- * the instance after calling this routine.
- */
- /*
- * ICGetMappingInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICGetMappingInterruptSafe(
- ICInstance inst,
- Ptr * mappingPref,
- long * mappingPrefSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
-
-
- /* [r3] [c2] [b3]
- * Returns the "Mapping" preference in an interrupt safe fashion.
- * The preference returned pointer is valid until the next
- * non-interrupt safe call to IC. Typically this API is used
- * by software that needs to map extensions to type and creator
- * at interrupt time, eg foreign file systems.
- */
- /*
- * ICGetSeedInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICGetSeedInterruptSafe(
- ICInstance inst,
- long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
-
-
- /* [r3] [c2] [b3]
- * An interrupt safe version of ICGetSeed.
- */
- /* ***** Starting Up and Shutting Down ***** */
- /*
- * ICCStart()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCStart(
- ComponentInstance * inst,
- OSType creator);
-
-
- /* See comment for ICCStart. */
- /*
- * ICCStop()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCStop(ComponentInstance inst);
-
-
- /* See comment for ICCStop. */
- /*
- * ICCGetVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetVersion(
- ComponentInstance inst,
- long whichVersion,
- UInt32 * version) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetVersion. */
- /* ***** Specifying a Configuration ***** */
- /*
- * ICCFindConfigFile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCFindConfigFile(
- ComponentInstance inst,
- short count,
- ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
-
-
- /* See comment for ICCFindConfigFile. */
- /*
- * ICCFindUserConfigFile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCFindUserConfigFile(
- ComponentInstance inst,
- ICDirSpec * where) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
-
-
- /* See comment for ICCFindUserConfigFile. */
- /*
- * ICCGeneralFindConfigFile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGeneralFindConfigFile(
- ComponentInstance inst,
- Boolean searchPrefs,
- Boolean canCreate,
- short count,
- ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x000A, 0x001E, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGeneralFindConfigFile. */
- /*
- * ICCChooseConfig()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCChooseConfig(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0021, 0x7000, 0xA82A);
-
-
- /* See comment for ICCChooseConfig. */
- /*
- * ICCChooseNewConfig()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCChooseNewConfig(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A);
-
-
- /* See comment for ICCChooseNewConfig. */
- /*
- * ICCGetConfigName()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetConfigName(
- ComponentInstance inst,
- Boolean longname,
- Str255 name) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetConfigName. */
- /*
- * ICCGetConfigReference()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetConfigReference(
- ComponentInstance inst,
- ICConfigRefHandle ref) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetConfigReference. */
- /*
- * ICCSetConfigReference()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCSetConfigReference(
- ComponentInstance inst,
- ICConfigRefHandle ref,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
-
-
- /* See comment for ICCSetConfigReference. */
- /* ***** Private Routines *****
- *
- * If you are calling these routines, you are most probably doing something
- * wrong. Please read the documentation for more details.
- */
- /*
- * ICCSpecifyConfigFile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCSpecifyConfigFile(
- ComponentInstance inst,
- FSSpec * config) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /* See comment for ICCSpecifyConfigFile. */
- /*
- * ICCRefreshCaches()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCRefreshCaches(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002F, 0x7000, 0xA82A);
-
-
- /* See comment for ICCRefreshCaches. */
- /* ***** Getting Information ***** */
- /*
- * ICCGetSeed()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetSeed(
- ComponentInstance inst,
- long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetSeed. */
- /*
- * ICCGetPerm()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetPerm(
- ComponentInstance inst,
- ICPerm * perm) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetPerm. */
- /*
- * ICCDefaultFileName()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCDefaultFileName(
- ComponentInstance inst,
- Str63 name) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
-
-
- /* See comment for ICCDefaultFileName. */
- /*
- * ICCGetComponentInstance()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetComponentInstance(
- ComponentInstance inst,
- ComponentInstance * componentInst);
-
-
- /* See comment for ICCGetComponentInstance. */
- /* ***** Reading and Writing Preferences ***** */
- /*
- * ICCBegin()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCBegin(
- ComponentInstance inst,
- ICPerm perm) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A);
-
-
- /* See comment for ICCBegin. */
- /*
- * ICCGetPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetPref(
- ComponentInstance inst,
- ConstStr255Param key,
- ICAttr * attr,
- Ptr buf,
- long * size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetPref. */
- /*
- * ICCSetPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCSetPref(
- ComponentInstance inst,
- ConstStr255Param key,
- ICAttr attr,
- Ptr buf,
- long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A);
-
-
- /* See comment for ICCSetPref. */
- /*
- * ICCFindPrefHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCFindPrefHandle(
- ComponentInstance inst,
- ConstStr255Param key,
- ICAttr * attr,
- Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A);
-
-
- /* See comment for ICCFindPrefHandle. */
- /*
- * ICCGetPrefHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetPrefHandle(
- ComponentInstance inst,
- ConstStr255Param key,
- ICAttr * attr,
- Handle * prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001A, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetPrefHandle. */
- /*
- * ICCSetPrefHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCSetPrefHandle(
- ComponentInstance inst,
- ConstStr255Param key,
- ICAttr attr,
- Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001B, 0x7000, 0xA82A);
-
-
- /* See comment for ICCSetPrefHandle. */
- /*
- * ICCCountPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCCountPref(
- ComponentInstance inst,
- long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
- /* See comment for ICCCountPref. */
- /*
- * ICCGetIndPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetIndPref(
- ComponentInstance inst,
- long index,
- Str255 key) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetIndPref. */
- /*
- * ICCDeletePref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCDeletePref(
- ComponentInstance inst,
- ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /* See comment for ICCDeletePref. */
- /*
- * ICCEnd()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCEnd(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A);
-
-
- /* See comment for ICCEnd. */
- /*
- * ICCGetDefaultPref()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetDefaultPref(
- ComponentInstance inst,
- ConstStr255Param key,
- Handle prefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetDefaultPref. */
- /* ***** User Interface Stuff ***** */
- /*
- * ICCEditPreferences()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCEditPreferences(
- ComponentInstance inst,
- ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
-
-
- /* See comment for ICCEditPreferences. */
- /* ***** URL Handling ***** */
- /*
- * ICCLaunchURL()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCLaunchURL(
- ComponentInstance inst,
- ConstStr255Param hint,
- Ptr data,
- long len,
- long * selStart,
- long * selEnd) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0011, 0x7000, 0xA82A);
-
-
- /* See comment for ICCLaunchURL. */
- /*
- * ICCParseURL()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCParseURL(
- ComponentInstance inst,
- ConstStr255Param hint,
- Ptr data,
- long len,
- long * selStart,
- long * selEnd,
- Handle url) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0010, 0x7000, 0xA82A);
-
-
- /* See comment for ICCParseURL. */
- /*
- * ICCCreateGURLEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCCreateGURLEvent(
- ComponentInstance inst,
- OSType helperCreator,
- Handle urlH,
- AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0033, 0x7000, 0xA82A);
-
-
- /* See comment for ICCCreateGURLEvent. */
- /*
- * ICCSendGURLEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCSendGURLEvent(
- ComponentInstance inst,
- AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0034, 0x7000, 0xA82A);
-
-
- /* See comment for ICCSendGURLEvent. */
- /* ***** Mappings Routines *****
- *
- * Routines for interrogating mappings database.
- *
- * ----- High Level Routines -----
- */
- /*
- * ICCMapFilename()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCMapFilename(
- ComponentInstance inst,
- ConstStr255Param filename,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0018, 0x7000, 0xA82A);
-
-
- /* See comment for ICCMapFilename. */
- /*
- * ICCMapTypeCreator()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCMapTypeCreator(
- ComponentInstance inst,
- OSType fType,
- OSType fCreator,
- ConstStr255Param filename,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0019, 0x7000, 0xA82A);
-
-
- /* See comment for ICCMapTypeCreator. */
- /* ----- Mid Level Routines ----- */
- /*
- * ICCMapEntriesFilename()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCMapEntriesFilename(
- ComponentInstance inst,
- Handle entries,
- ConstStr255Param filename,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001C, 0x7000, 0xA82A);
-
-
- /* See comment for ICCMapEntriesFilename. */
- /*
- * ICCMapEntriesTypeCreator()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCMapEntriesTypeCreator(
- ComponentInstance inst,
- Handle entries,
- OSType fType,
- OSType fCreator,
- ConstStr255Param filename,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0014, 0x001D, 0x7000, 0xA82A);
-
-
- /* See comment for ICCMapEntriesTypeCreator. */
- /* ----- Low Level Routines ----- */
- /*
- * ICCCountMapEntries()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCCountMapEntries(
- ComponentInstance inst,
- Handle entries,
- long * count) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0012, 0x7000, 0xA82A);
-
-
- /* See comment for ICCCountMapEntries. */
- /*
- * ICCGetIndMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetIndMapEntry(
- ComponentInstance inst,
- Handle entries,
- long index,
- long * pos,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0013, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetIndMapEntry. */
- /*
- * ICCGetMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetMapEntry(
- ComponentInstance inst,
- Handle entries,
- long pos,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0014, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetMapEntry. */
- /*
- * ICCSetMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCSetMapEntry(
- ComponentInstance inst,
- Handle entries,
- long pos,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0015, 0x7000, 0xA82A);
-
-
- /* See comment for ICCSetMapEntry. */
- /*
- * ICCDeleteMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCDeleteMapEntry(
- ComponentInstance inst,
- Handle entries,
- long pos) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
-
-
- /* See comment for ICCDeleteMapEntry. */
- /*
- * ICCAddMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCAddMapEntry(
- ComponentInstance inst,
- Handle entries,
- ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
-
-
- /* See comment for ICCAddMapEntry. */
- /* ***** Profile Management Routines ***** */
- /*
- * ICCGetCurrentProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetCurrentProfile(
- ComponentInstance inst,
- ICProfileID * currentID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetCurrentProfile. */
- /*
- * ICCSetCurrentProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCSetCurrentProfile(
- ComponentInstance inst,
- ICProfileID newID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
-
-
- /* See comment for ICCSetCurrentProfile. */
- /*
- * ICCCountProfiles()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCCountProfiles(
- ComponentInstance inst,
- long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
-
-
- /* See comment for ICCCountProfiles. */
- /*
- * ICCGetIndProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetIndProfile(
- ComponentInstance inst,
- long index,
- ICProfileID * thisID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetIndProfile. */
- /*
- * ICCGetProfileName()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetProfileName(
- ComponentInstance inst,
- ICProfileID thisID,
- Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetProfileName. */
- /*
- * ICCSetProfileName()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCSetProfileName(
- ComponentInstance inst,
- ICProfileID thisID,
- ConstStr255Param name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A);
-
-
- /* See comment for ICCSetProfileName. */
- /*
- * ICCAddProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCAddProfile(
- ComponentInstance inst,
- ICProfileID prototypeID,
- ICProfileID * newID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
-
-
- /* See comment for ICCAddProfile. */
- /*
- * ICCDeleteProfile()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCDeleteProfile(
- ComponentInstance inst,
- ICProfileID thisID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
-
-
- /* See comment for ICCDeleteProfile. */
- /* ***** Interrupt Safe Routines ***** */
- /*
- * ICCRequiresInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCRequiresInterruptSafe(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002D, 0x7000, 0xA82A);
-
-
- /* See comment for ICCRequiresInterruptSafe. */
- /*
- * ICCGetMappingInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetMappingInterruptSafe(
- ComponentInstance inst,
- Ptr * mappingPref,
- long * mappingPrefSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetMappingInterruptSafe. */
- /*
- * ICCGetSeedInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in InternetConfig 2.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ICCGetSeedInterruptSafe(
- ComponentInstance inst,
- long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
-
-
- /* See comment for ICCGetSeedInterruptSafe. */
+/*
+ * ICRequiresInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICRequiresInterruptSafe(ICInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002D, 0x7000, 0xA82A);
+
+
+/* [r3] [c2] [b3]
+ * You must call this routine before calling GetMapEntryInterruptSafe
+ * to give IC chance to cache the mappings data in memory. The only
+ * way to clear this state is to close the instance. You can not reconfigure
+ * the instance after calling this routine.
+ */
+/*
+ * ICGetMappingInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICGetMappingInterruptSafe(
+ ICInstance inst,
+ Ptr * mappingPref,
+ long * mappingPrefSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
+
+
+/* [r3] [c2] [b3]
+ * Returns the "Mapping" preference in an interrupt safe fashion.
+ * The preference returned pointer is valid until the next
+ * non-interrupt safe call to IC. Typically this API is used
+ * by software that needs to map extensions to type and creator
+ * at interrupt time, eg foreign file systems.
+ */
+/*
+ * ICGetSeedInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICGetSeedInterruptSafe(
+ ICInstance inst,
+ long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
+
+
+/* [r3] [c2] [b3]
+ * An interrupt safe version of ICGetSeed.
+ */
+/* ***** Starting Up and Shutting Down ***** */
+/*
+ * ICCStart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCStart(
+ ComponentInstance * inst,
+ OSType creator);
+
+
+/* See comment for ICCStart. */
+/*
+ * ICCStop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCStop(ComponentInstance inst);
+
+
+/* See comment for ICCStop. */
+/*
+ * ICCGetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetVersion(
+ ComponentInstance inst,
+ long whichVersion,
+ UInt32 * version) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetVersion. */
+/* ***** Specifying a Configuration ***** */
+/*
+ * ICCFindConfigFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCFindConfigFile(
+ ComponentInstance inst,
+ short count,
+ ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
+
+
+/* See comment for ICCFindConfigFile. */
+/*
+ * ICCFindUserConfigFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCFindUserConfigFile(
+ ComponentInstance inst,
+ ICDirSpec * where) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
+
+
+/* See comment for ICCFindUserConfigFile. */
+/*
+ * ICCGeneralFindConfigFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGeneralFindConfigFile(
+ ComponentInstance inst,
+ Boolean searchPrefs,
+ Boolean canCreate,
+ short count,
+ ICDirSpecArrayPtr folders) FIVEWORDINLINE(0x2F3C, 0x000A, 0x001E, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGeneralFindConfigFile. */
+/*
+ * ICCChooseConfig()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCChooseConfig(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0021, 0x7000, 0xA82A);
+
+
+/* See comment for ICCChooseConfig. */
+/*
+ * ICCChooseNewConfig()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCChooseNewConfig(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A);
+
+
+/* See comment for ICCChooseNewConfig. */
+/*
+ * ICCGetConfigName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetConfigName(
+ ComponentInstance inst,
+ Boolean longname,
+ Str255 name) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetConfigName. */
+/*
+ * ICCGetConfigReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetConfigReference(
+ ComponentInstance inst,
+ ICConfigRefHandle ref) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetConfigReference. */
+/*
+ * ICCSetConfigReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCSetConfigReference(
+ ComponentInstance inst,
+ ICConfigRefHandle ref,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
+
+
+/* See comment for ICCSetConfigReference. */
+/* ***** Private Routines *****
+ *
+ * If you are calling these routines, you are most probably doing something
+ * wrong. Please read the documentation for more details.
+ */
+/*
+ * ICCSpecifyConfigFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCSpecifyConfigFile(
+ ComponentInstance inst,
+ FSSpec * config) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/* See comment for ICCSpecifyConfigFile. */
+/*
+ * ICCRefreshCaches()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCRefreshCaches(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002F, 0x7000, 0xA82A);
+
+
+/* See comment for ICCRefreshCaches. */
+/* ***** Getting Information ***** */
+/*
+ * ICCGetSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetSeed(
+ ComponentInstance inst,
+ long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetSeed. */
+/*
+ * ICCGetPerm()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetPerm(
+ ComponentInstance inst,
+ ICPerm * perm) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetPerm. */
+/*
+ * ICCDefaultFileName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCDefaultFileName(
+ ComponentInstance inst,
+ Str63 name) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
+
+
+/* See comment for ICCDefaultFileName. */
+/*
+ * ICCGetComponentInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetComponentInstance(
+ ComponentInstance inst,
+ ComponentInstance * componentInst);
+
+
+/* See comment for ICCGetComponentInstance. */
+/* ***** Reading and Writing Preferences ***** */
+/*
+ * ICCBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCBegin(
+ ComponentInstance inst,
+ ICPerm perm) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A);
+
+
+/* See comment for ICCBegin. */
+/*
+ * ICCGetPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetPref(
+ ComponentInstance inst,
+ ConstStr255Param key,
+ ICAttr * attr,
+ Ptr buf,
+ long * size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetPref. */
+/*
+ * ICCSetPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCSetPref(
+ ComponentInstance inst,
+ ConstStr255Param key,
+ ICAttr attr,
+ Ptr buf,
+ long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A);
+
+
+/* See comment for ICCSetPref. */
+/*
+ * ICCFindPrefHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCFindPrefHandle(
+ ComponentInstance inst,
+ ConstStr255Param key,
+ ICAttr * attr,
+ Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A);
+
+
+/* See comment for ICCFindPrefHandle. */
+/*
+ * ICCGetPrefHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetPrefHandle(
+ ComponentInstance inst,
+ ConstStr255Param key,
+ ICAttr * attr,
+ Handle * prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001A, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetPrefHandle. */
+/*
+ * ICCSetPrefHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCSetPrefHandle(
+ ComponentInstance inst,
+ ConstStr255Param key,
+ ICAttr attr,
+ Handle prefh) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001B, 0x7000, 0xA82A);
+
+
+/* See comment for ICCSetPrefHandle. */
+/*
+ * ICCCountPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCCountPref(
+ ComponentInstance inst,
+ long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+/* See comment for ICCCountPref. */
+/*
+ * ICCGetIndPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetIndPref(
+ ComponentInstance inst,
+ long index,
+ Str255 key) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetIndPref. */
+/*
+ * ICCDeletePref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCDeletePref(
+ ComponentInstance inst,
+ ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/* See comment for ICCDeletePref. */
+/*
+ * ICCEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCEnd(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A);
+
+
+/* See comment for ICCEnd. */
+/*
+ * ICCGetDefaultPref()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetDefaultPref(
+ ComponentInstance inst,
+ ConstStr255Param key,
+ Handle prefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetDefaultPref. */
+/* ***** User Interface Stuff ***** */
+/*
+ * ICCEditPreferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCEditPreferences(
+ ComponentInstance inst,
+ ConstStr255Param key) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
+
+
+/* See comment for ICCEditPreferences. */
+/* ***** URL Handling ***** */
+/*
+ * ICCLaunchURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCLaunchURL(
+ ComponentInstance inst,
+ ConstStr255Param hint,
+ Ptr data,
+ long len,
+ long * selStart,
+ long * selEnd) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0011, 0x7000, 0xA82A);
+
+
+/* See comment for ICCLaunchURL. */
+/*
+ * ICCParseURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCParseURL(
+ ComponentInstance inst,
+ ConstStr255Param hint,
+ Ptr data,
+ long len,
+ long * selStart,
+ long * selEnd,
+ Handle url) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0010, 0x7000, 0xA82A);
+
+
+/* See comment for ICCParseURL. */
+/*
+ * ICCCreateGURLEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCCreateGURLEvent(
+ ComponentInstance inst,
+ OSType helperCreator,
+ Handle urlH,
+ AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0033, 0x7000, 0xA82A);
+
+
+/* See comment for ICCCreateGURLEvent. */
+/*
+ * ICCSendGURLEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCSendGURLEvent(
+ ComponentInstance inst,
+ AppleEvent * theEvent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0034, 0x7000, 0xA82A);
+
+
+/* See comment for ICCSendGURLEvent. */
+/* ***** Mappings Routines *****
+ *
+ * Routines for interrogating mappings database.
+ *
+ * ----- High Level Routines -----
+ */
+/*
+ * ICCMapFilename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCMapFilename(
+ ComponentInstance inst,
+ ConstStr255Param filename,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0018, 0x7000, 0xA82A);
+
+
+/* See comment for ICCMapFilename. */
+/*
+ * ICCMapTypeCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCMapTypeCreator(
+ ComponentInstance inst,
+ OSType fType,
+ OSType fCreator,
+ ConstStr255Param filename,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0019, 0x7000, 0xA82A);
+
+
+/* See comment for ICCMapTypeCreator. */
+/* ----- Mid Level Routines ----- */
+/*
+ * ICCMapEntriesFilename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCMapEntriesFilename(
+ ComponentInstance inst,
+ Handle entries,
+ ConstStr255Param filename,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001C, 0x7000, 0xA82A);
+
+
+/* See comment for ICCMapEntriesFilename. */
+/*
+ * ICCMapEntriesTypeCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCMapEntriesTypeCreator(
+ ComponentInstance inst,
+ Handle entries,
+ OSType fType,
+ OSType fCreator,
+ ConstStr255Param filename,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0014, 0x001D, 0x7000, 0xA82A);
+
+
+/* See comment for ICCMapEntriesTypeCreator. */
+/* ----- Low Level Routines ----- */
+/*
+ * ICCCountMapEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCCountMapEntries(
+ ComponentInstance inst,
+ Handle entries,
+ long * count) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0012, 0x7000, 0xA82A);
+
+
+/* See comment for ICCCountMapEntries. */
+/*
+ * ICCGetIndMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetIndMapEntry(
+ ComponentInstance inst,
+ Handle entries,
+ long index,
+ long * pos,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0013, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetIndMapEntry. */
+/*
+ * ICCGetMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetMapEntry(
+ ComponentInstance inst,
+ Handle entries,
+ long pos,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0014, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetMapEntry. */
+/*
+ * ICCSetMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCSetMapEntry(
+ ComponentInstance inst,
+ Handle entries,
+ long pos,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0015, 0x7000, 0xA82A);
+
+
+/* See comment for ICCSetMapEntry. */
+/*
+ * ICCDeleteMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCDeleteMapEntry(
+ ComponentInstance inst,
+ Handle entries,
+ long pos) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
+
+
+/* See comment for ICCDeleteMapEntry. */
+/*
+ * ICCAddMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCAddMapEntry(
+ ComponentInstance inst,
+ Handle entries,
+ ICMapEntry * entry) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
+
+
+/* See comment for ICCAddMapEntry. */
+/* ***** Profile Management Routines ***** */
+/*
+ * ICCGetCurrentProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetCurrentProfile(
+ ComponentInstance inst,
+ ICProfileID * currentID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetCurrentProfile. */
+/*
+ * ICCSetCurrentProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCSetCurrentProfile(
+ ComponentInstance inst,
+ ICProfileID newID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
+
+
+/* See comment for ICCSetCurrentProfile. */
+/*
+ * ICCCountProfiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCCountProfiles(
+ ComponentInstance inst,
+ long * count) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
+
+
+/* See comment for ICCCountProfiles. */
+/*
+ * ICCGetIndProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetIndProfile(
+ ComponentInstance inst,
+ long index,
+ ICProfileID * thisID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetIndProfile. */
+/*
+ * ICCGetProfileName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetProfileName(
+ ComponentInstance inst,
+ ICProfileID thisID,
+ Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetProfileName. */
+/*
+ * ICCSetProfileName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCSetProfileName(
+ ComponentInstance inst,
+ ICProfileID thisID,
+ ConstStr255Param name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A);
+
+
+/* See comment for ICCSetProfileName. */
+/*
+ * ICCAddProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCAddProfile(
+ ComponentInstance inst,
+ ICProfileID prototypeID,
+ ICProfileID * newID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
+
+
+/* See comment for ICCAddProfile. */
+/*
+ * ICCDeleteProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCDeleteProfile(
+ ComponentInstance inst,
+ ICProfileID thisID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
+
+
+/* See comment for ICCDeleteProfile. */
+/* ***** Interrupt Safe Routines ***** */
+/*
+ * ICCRequiresInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCRequiresInterruptSafe(ComponentInstance inst) FIVEWORDINLINE(0x2F3C, 0x0000, 0x002D, 0x7000, 0xA82A);
+
+
+/* See comment for ICCRequiresInterruptSafe. */
+/*
+ * ICCGetMappingInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetMappingInterruptSafe(
+ ComponentInstance inst,
+ Ptr * mappingPref,
+ long * mappingPrefSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetMappingInterruptSafe. */
+/*
+ * ICCGetSeedInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InternetConfig 2.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ICCGetSeedInterruptSafe(
+ ComponentInstance inst,
+ long * seed) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
+
+
+/* See comment for ICCGetSeedInterruptSafe. */
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /************************************************************************************************
- component selectors
- ************************************************************************************************/
-
- enum
- {
- kICCStart = 0,
- kICCStop = 1,
- kICCGetVersion = 50,
- kICCFindConfigFile = 2,
- kICCFindUserConfigFile = 14,
- kICCGeneralFindConfigFile = 30,
- kICCChooseConfig = 33,
- kICCChooseNewConfig = 34,
- kICCGetConfigName = 35,
- kICCGetConfigReference = 31,
- kICCSetConfigReference = 32,
- kICCSpecifyConfigFile = 3,
- kICCRefreshCaches = 47,
- kICCGetSeed = 4,
- kICCGetPerm = 13,
- kICCDefaultFileName = 11,
- kICCBegin = 5,
- kICCGetPref = 6,
- kICCSetPref = 7,
- kICCFindPrefHandle = 36,
- kICCGetPrefHandle = 26,
- kICCSetPrefHandle = 27,
- kICCCountPref = 8,
- kICCGetIndPref = 9,
- kICCDeletePref = 12,
- kICCEnd = 10,
- kICCGetDefaultPref = 49,
- kICCEditPreferences = 15,
- kICCLaunchURL = 17,
- kICCParseURL = 16,
- kICCCreateGURLEvent = 51,
- kICCSendGURLEvent = 52,
- kICCMapFilename = 24,
- kICCMapTypeCreator = 25,
- kICCMapEntriesFilename = 28,
- kICCMapEntriesTypeCreator = 29,
- kICCCountMapEntries = 18,
- kICCGetIndMapEntry = 19,
- kICCGetMapEntry = 20,
- kICCSetMapEntry = 21,
- kICCDeleteMapEntry = 22,
- kICCAddMapEntry = 23,
- kICCGetCurrentProfile = 37,
- kICCSetCurrentProfile = 38,
- kICCCountProfiles = 39,
- kICCGetIndProfile = 40,
- kICCGetProfileName = 41,
- kICCSetProfileName = 42,
- kICCAddProfile = 43,
- kICCDeleteProfile = 44,
- kICCRequiresInterruptSafe = 45,
- kICCGetMappingInterruptSafe = 46,
- kICCGetSeedInterruptSafe = 48,
- kICCFirstSelector = kICCStart,
- kICCLastSelector = 52
- };
-
- /************************************************************************************************
- component selector proc infos
- ************************************************************************************************/
-
- enum
- {
- kICCStartProcInfo = 1008,
- kICCStopProcInfo = 240,
- kICCGetVersionProcInfo = 4080,
- kICCFindConfigFileProcInfo = 3824,
- kICCFindUserConfigFileProcInfo = 1008,
- kICCGeneralFindConfigFileProcInfo = 58864L,
- kICCChooseConfigProcInfo = 240,
- kICCChooseNewConfigProcInfo = 240,
- kICCGetConfigNameProcInfo = 3568,
- kICCGetConfigReferenceProcInfo = 1008,
- kICCSetConfigReferenceProcInfo = 4080,
- kICCSpecifyConfigFileProcInfo = 1008,
- kICCRefreshCachesProcInfo = 240,
- kICCGetSeedProcInfo = 1008,
- kICCGetPermProcInfo = 1008,
- kICCDefaultFileNameProcInfo = 1008,
- kICCGetComponentInstanceProcInfo = 1008,
- kICCBeginProcInfo = 496,
- kICCGetPrefProcInfo = 65520L,
- kICCSetPrefProcInfo = 65520L,
- kICCFindPrefHandleProcInfo = 16368,
- kICCGetPrefHandleProcInfo = 16368,
- kICCSetPrefHandleProcInfo = 16368,
- kICCCountPrefProcInfo = 1008,
- kICCGetIndPrefProcInfo = 4080,
- kICCDeletePrefProcInfo = 1008,
- kICCEndProcInfo = 240,
- kICCGetDefaultPrefProcInfo = 4080,
- kICCEditPreferencesProcInfo = 1008,
- kICCLaunchURLProcInfo = 262128L,
- kICCParseURLProcInfo = 1048560L,
- kICCCreateGURLEventProcInfo = 16368,
- kICCSendGURLEventProcInfo = 1008,
- kICCMapFilenameProcInfo = 4080,
- kICCMapTypeCreatorProcInfo = 65520L,
- kICCMapEntriesFilenameProcInfo = 16368,
- kICCMapEntriesTypeCreatorProcInfo = 262128L,
- kICCCountMapEntriesProcInfo = 4080,
- kICCGetIndMapEntryProcInfo = 65520L,
- kICCGetMapEntryProcInfo = 16368,
- kICCSetMapEntryProcInfo = 16368,
- kICCDeleteMapEntryProcInfo = 4080,
- kICCAddMapEntryProcInfo = 4080,
- kICCGetCurrentProfileProcInfo = 1008,
- kICCSetCurrentProfileProcInfo = 1008,
- kICCCountProfilesProcInfo = 1008,
- kICCGetIndProfileProcInfo = 4080,
- kICCGetProfileNameProcInfo = 4080,
- kICCSetProfileNameProcInfo = 4080,
- kICCAddProfileProcInfo = 4080,
- kICCDeleteProfileProcInfo = 1008,
- kICCRequiresInterruptSafeProcInfo = 240,
- kICCGetMappingInterruptSafeProcInfo = 4080,
- kICCGetSeedInterruptSafeProcInfo = 1008
- };
-
- /************************************************************************************************
- component identifiers
- ************************************************************************************************/
-
- enum
- {
- kICComponentType = FOUR_CHAR_CODE('PREF'),
- kICComponentSubType = FOUR_CHAR_CODE('ICAp'),
- kICComponentManufacturer = FOUR_CHAR_CODE('JPQE')
- };
-
- /************************************************************************************************
- The following type is now obsolete.
- If you're using it, please switch to ComponentInstance or ICInstance.
- ************************************************************************************************/
+/************************************************************************************************
+ component selectors
+ ************************************************************************************************/
+
+enum {
+ kICCStart = 0,
+ kICCStop = 1,
+ kICCGetVersion = 50,
+ kICCFindConfigFile = 2,
+ kICCFindUserConfigFile = 14,
+ kICCGeneralFindConfigFile = 30,
+ kICCChooseConfig = 33,
+ kICCChooseNewConfig = 34,
+ kICCGetConfigName = 35,
+ kICCGetConfigReference = 31,
+ kICCSetConfigReference = 32,
+ kICCSpecifyConfigFile = 3,
+ kICCRefreshCaches = 47,
+ kICCGetSeed = 4,
+ kICCGetPerm = 13,
+ kICCDefaultFileName = 11,
+ kICCBegin = 5,
+ kICCGetPref = 6,
+ kICCSetPref = 7,
+ kICCFindPrefHandle = 36,
+ kICCGetPrefHandle = 26,
+ kICCSetPrefHandle = 27,
+ kICCCountPref = 8,
+ kICCGetIndPref = 9,
+ kICCDeletePref = 12,
+ kICCEnd = 10,
+ kICCGetDefaultPref = 49,
+ kICCEditPreferences = 15,
+ kICCLaunchURL = 17,
+ kICCParseURL = 16,
+ kICCCreateGURLEvent = 51,
+ kICCSendGURLEvent = 52,
+ kICCMapFilename = 24,
+ kICCMapTypeCreator = 25,
+ kICCMapEntriesFilename = 28,
+ kICCMapEntriesTypeCreator = 29,
+ kICCCountMapEntries = 18,
+ kICCGetIndMapEntry = 19,
+ kICCGetMapEntry = 20,
+ kICCSetMapEntry = 21,
+ kICCDeleteMapEntry = 22,
+ kICCAddMapEntry = 23,
+ kICCGetCurrentProfile = 37,
+ kICCSetCurrentProfile = 38,
+ kICCCountProfiles = 39,
+ kICCGetIndProfile = 40,
+ kICCGetProfileName = 41,
+ kICCSetProfileName = 42,
+ kICCAddProfile = 43,
+ kICCDeleteProfile = 44,
+ kICCRequiresInterruptSafe = 45,
+ kICCGetMappingInterruptSafe = 46,
+ kICCGetSeedInterruptSafe = 48,
+ kICCFirstSelector = kICCStart,
+ kICCLastSelector = 52
+};
+
+/************************************************************************************************
+ component selector proc infos
+ ************************************************************************************************/
+
+enum {
+ kICCStartProcInfo = 1008,
+ kICCStopProcInfo = 240,
+ kICCGetVersionProcInfo = 4080,
+ kICCFindConfigFileProcInfo = 3824,
+ kICCFindUserConfigFileProcInfo = 1008,
+ kICCGeneralFindConfigFileProcInfo = 58864L,
+ kICCChooseConfigProcInfo = 240,
+ kICCChooseNewConfigProcInfo = 240,
+ kICCGetConfigNameProcInfo = 3568,
+ kICCGetConfigReferenceProcInfo = 1008,
+ kICCSetConfigReferenceProcInfo = 4080,
+ kICCSpecifyConfigFileProcInfo = 1008,
+ kICCRefreshCachesProcInfo = 240,
+ kICCGetSeedProcInfo = 1008,
+ kICCGetPermProcInfo = 1008,
+ kICCDefaultFileNameProcInfo = 1008,
+ kICCGetComponentInstanceProcInfo = 1008,
+ kICCBeginProcInfo = 496,
+ kICCGetPrefProcInfo = 65520L,
+ kICCSetPrefProcInfo = 65520L,
+ kICCFindPrefHandleProcInfo = 16368,
+ kICCGetPrefHandleProcInfo = 16368,
+ kICCSetPrefHandleProcInfo = 16368,
+ kICCCountPrefProcInfo = 1008,
+ kICCGetIndPrefProcInfo = 4080,
+ kICCDeletePrefProcInfo = 1008,
+ kICCEndProcInfo = 240,
+ kICCGetDefaultPrefProcInfo = 4080,
+ kICCEditPreferencesProcInfo = 1008,
+ kICCLaunchURLProcInfo = 262128L,
+ kICCParseURLProcInfo = 1048560L,
+ kICCCreateGURLEventProcInfo = 16368,
+ kICCSendGURLEventProcInfo = 1008,
+ kICCMapFilenameProcInfo = 4080,
+ kICCMapTypeCreatorProcInfo = 65520L,
+ kICCMapEntriesFilenameProcInfo = 16368,
+ kICCMapEntriesTypeCreatorProcInfo = 262128L,
+ kICCCountMapEntriesProcInfo = 4080,
+ kICCGetIndMapEntryProcInfo = 65520L,
+ kICCGetMapEntryProcInfo = 16368,
+ kICCSetMapEntryProcInfo = 16368,
+ kICCDeleteMapEntryProcInfo = 4080,
+ kICCAddMapEntryProcInfo = 4080,
+ kICCGetCurrentProfileProcInfo = 1008,
+ kICCSetCurrentProfileProcInfo = 1008,
+ kICCCountProfilesProcInfo = 1008,
+ kICCGetIndProfileProcInfo = 4080,
+ kICCGetProfileNameProcInfo = 4080,
+ kICCSetProfileNameProcInfo = 4080,
+ kICCAddProfileProcInfo = 4080,
+ kICCDeleteProfileProcInfo = 1008,
+ kICCRequiresInterruptSafeProcInfo = 240,
+ kICCGetMappingInterruptSafeProcInfo = 4080,
+ kICCGetSeedInterruptSafeProcInfo = 1008
+};
+
+/************************************************************************************************
+ component identifiers
+ ************************************************************************************************/
+
+enum {
+ kICComponentType = FOUR_CHAR_CODE('PREF'),
+ kICComponentSubType = FOUR_CHAR_CODE('ICAp'),
+ kICComponentManufacturer = FOUR_CHAR_CODE('JPQE')
+};
+
+/************************************************************************************************
+ The following type is now obsolete.
+ If you're using it, please switch to ComponentInstance or ICInstance.
+ ************************************************************************************************/
#if OLDROUTINENAMES
- typedef ComponentInstance internetConfigurationComponent;
+typedef ComponentInstance internetConfigurationComponent;
#endif /* OLDROUTINENAMES */
#endif /* CALL_NOT_IN_CARBON */
- /************************************************************************************************
- old names for stuff declared above
- ************************************************************************************************/
+/************************************************************************************************
+ old names for stuff declared above
+ ************************************************************************************************/
#if OLDROUTINENAMES
- typedef long ICError;
-
- enum
- {
- ICattr_no_change = (unsigned long)(kICAttrNoChange),
- ICattr_locked_bit = kICAttrLockedBit,
- ICattr_locked_mask = kICAttrLockedMask,
- ICattr_volatile_bit = kICAttrVolatileBit,
- ICattr_volatile_mask = kICAttrVolatileMask,
- icNoUserInteraction_bit = kICNoUserInteractionBit,
- icNoUserInteraction_mask = kICNoUserInteractionMask,
- ICfiletype = kICFileType,
- ICcreator = kICCreator
- };
-
- /*
- ICFileInfo was originally used to define the format of a key.
- That key was removed, but we forgot to remove ICFileInfo.
- I hope to remove it entirely, but for the moment it's available
- if you define OLDROUTINENAMES.
- */
- struct ICFileInfo
- {
- OSType fType;
- OSType fCreator;
- Str63 name;
- };
- typedef struct ICFileInfo ICFileInfo;
- typedef ICFileInfo * ICFileInfoPtr;
- typedef ICFileInfoPtr * ICFileInfoHandle;
-
- enum
- {
- ICfile_spec_header_size = kICFileSpecHeaderSize
- };
-
- enum
- {
- ICmap_binary_bit = kICMapBinaryBit,
- ICmap_binary_mask = kICMapBinaryMask,
- ICmap_resource_fork_bit = kICMapResourceForkBit,
- ICmap_resource_fork_mask = kICMapResourceForkMask,
- ICmap_data_fork_bit = kICMapDataForkBit,
- ICmap_data_fork_mask = kICMapDataForkMask,
- ICmap_post_bit = kICMapPostBit,
- ICmap_post_mask = kICMapPostMask,
- ICmap_not_incoming_bit = kICMapNotIncomingBit,
- ICmap_not_incoming_mask = kICMapNotIncomingMask,
- ICmap_not_outgoing_bit = kICMapNotOutgoingBit,
- ICmap_not_outgoing_mask = kICMapNotOutgoingMask,
- ICmap_fixed_length = kICMapFixedLength
- };
-
- enum
- {
- ICservices_tcp_bit = kICServicesTCPBit,
- ICservices_tcp_mask = kICServicesTCPMask,
- ICservices_udp_bit = kICServicesUDPBit,
- ICservices_udp_mask = kICServicesUDPMask
- };
-
- /* This definitions are a) very long, and b) don't conform
- to Mac OS standards for naming constants, so I've put
- them in only if you're using OLDROUTINENAMES. Please switch
- to the new names given above.
- */
- enum
- {
- internetConfigurationComponentType = FOUR_CHAR_CODE('PREF'), /* the component type */
- internetConfigurationComponentSubType = FOUR_CHAR_CODE('ICAp'), /* the component subtype */
- internetConfigurationComponentInterfaceVersion0 = 0x00000000, /* IC >= 1.0 */
- internetConfigurationComponentInterfaceVersion1 = 0x00010000, /* IC >= 1.1 */
- internetConfigurationComponentInterfaceVersion2 = 0x00020000, /* IC >= 1.2 */
- internetConfigurationComponentInterfaceVersion3 = 0x00030000, /* IC >= 2.0 */
- /* current version number is version 3 */
- internetConfigurationComponentInterfaceVersion = internetConfigurationComponentInterfaceVersion3
- };
+typedef long ICError;
+
+enum {
+ ICattr_no_change = (unsigned long)(kICAttrNoChange),
+ ICattr_locked_bit = kICAttrLockedBit,
+ ICattr_locked_mask = kICAttrLockedMask,
+ ICattr_volatile_bit = kICAttrVolatileBit,
+ ICattr_volatile_mask = kICAttrVolatileMask,
+ icNoUserInteraction_bit = kICNoUserInteractionBit,
+ icNoUserInteraction_mask = kICNoUserInteractionMask,
+ ICfiletype = kICFileType,
+ ICcreator = kICCreator
+};
+
+/*
+ ICFileInfo was originally used to define the format of a key.
+ That key was removed, but we forgot to remove ICFileInfo.
+ I hope to remove it entirely, but for the moment it's available
+ if you define OLDROUTINENAMES.
+*/
+struct ICFileInfo {
+ OSType fType;
+ OSType fCreator;
+ Str63 name;
+};
+typedef struct ICFileInfo ICFileInfo;
+typedef ICFileInfo * ICFileInfoPtr;
+typedef ICFileInfoPtr * ICFileInfoHandle;
+
+enum {
+ ICfile_spec_header_size = kICFileSpecHeaderSize
+};
+
+enum {
+ ICmap_binary_bit = kICMapBinaryBit,
+ ICmap_binary_mask = kICMapBinaryMask,
+ ICmap_resource_fork_bit = kICMapResourceForkBit,
+ ICmap_resource_fork_mask = kICMapResourceForkMask,
+ ICmap_data_fork_bit = kICMapDataForkBit,
+ ICmap_data_fork_mask = kICMapDataForkMask,
+ ICmap_post_bit = kICMapPostBit,
+ ICmap_post_mask = kICMapPostMask,
+ ICmap_not_incoming_bit = kICMapNotIncomingBit,
+ ICmap_not_incoming_mask = kICMapNotIncomingMask,
+ ICmap_not_outgoing_bit = kICMapNotOutgoingBit,
+ ICmap_not_outgoing_mask = kICMapNotOutgoingMask,
+ ICmap_fixed_length = kICMapFixedLength
+};
+
+enum {
+ ICservices_tcp_bit = kICServicesTCPBit,
+ ICservices_tcp_mask = kICServicesTCPMask,
+ ICservices_udp_bit = kICServicesUDPBit,
+ ICservices_udp_mask = kICServicesUDPMask
+};
+
+/* This definitions are a) very long, and b) don't conform
+ to Mac OS standards for naming constants, so I've put
+ them in only if you're using OLDROUTINENAMES. Please switch
+ to the new names given above.
+*/
+enum {
+ internetConfigurationComponentType = FOUR_CHAR_CODE('PREF'), /* the component type */
+ internetConfigurationComponentSubType = FOUR_CHAR_CODE('ICAp'), /* the component subtype */
+ internetConfigurationComponentInterfaceVersion0 = 0x00000000, /* IC >= 1.0 */
+ internetConfigurationComponentInterfaceVersion1 = 0x00010000, /* IC >= 1.1 */
+ internetConfigurationComponentInterfaceVersion2 = 0x00020000, /* IC >= 1.2 */
+ internetConfigurationComponentInterfaceVersion3 = 0x00030000, /* IC >= 2.0 */
+ /* current version number is version 3 */
+ internetConfigurationComponentInterfaceVersion = internetConfigurationComponentInterfaceVersion3
+};
#endif /* OLDROUTINENAMES */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/IntlResources.h b/include/qt/IntlResources.h
index 05034ae5e..1fcd8ba28 100644
--- a/include/qt/IntlResources.h
+++ b/include/qt/IntlResources.h
@@ -1,17 +1,17 @@
/*
File: IntlResources.h
-
+
Contains: International Resource definitions.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1983-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __INTLRESOURCES__
#define __INTLRESOURCES__
@@ -32,350 +32,327 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
-enum
-{
- /* Bits in the itlcFlags byte */
- itlcShowIcon = 7, /*Show icon even if only one script*/
- itlcDualCaret = 6, /*Use dual caret for mixed direction text*/
- /* Bits in the itlcSysFlags word */
- itlcSysDirection = 15 /*System direction - left to right/right to left*/
+enum {
+ /* Bits in the itlcFlags byte */
+ itlcShowIcon = 7, /*Show icon even if only one script*/
+ itlcDualCaret = 6, /*Use dual caret for mixed direction text*/
+ /* Bits in the itlcSysFlags word */
+ itlcSysDirection = 15 /*System direction - left to right/right to left*/
};
-enum
-{
- /* One more flag in the itlcFlags byte */
- itlcDisableKeyScriptSync = 3 /*Disable font and keyboard script synchrinozation*/
+enum {
+ /* One more flag in the itlcFlags byte */
+ itlcDisableKeyScriptSync = 3 /*Disable font and keyboard script synchrinozation*/
};
-enum
-{
- /* We should define masks, too. */
- itlcDisableKeyScriptSyncMask = 1 << itlcDisableKeyScriptSync /*Disable font and keyboard script synchrinozation mask*/
+enum {
+ /* We should define masks, too. */
+ itlcDisableKeyScriptSyncMask = 1 << itlcDisableKeyScriptSync /*Disable font and keyboard script synchrinozation mask*/
};
-enum
-{
- tokLeftQuote = 1, /* NumberParts.data[] enumerators */
- tokRightQuote = 2, /* In general, these are NOT to be considered indices into the data[] array */
- tokLeadPlacer = 3,
- tokLeader = 4,
- tokNonLeader = 5,
- tokZeroLead = 6,
- tokPercent = 7,
- tokPlusSign = 8,
- tokMinusSign = 9,
- tokThousands = 10,
- tokReserved = 11, /* 11 is reserved field */
- tokSeparator = 12,
- tokEscape = 13,
- tokDecPoint = 14,
- tokEPlus = 15,
- tokEMinus = 16,
- tokMaxSymbols = 31,
- curNumberPartsVersion = 1 /*current version of NumberParts record*/
+enum {
+ tokLeftQuote = 1, /* NumberParts.data[] enumerators */
+ tokRightQuote = 2, /* In general, these are NOT to be considered indices into the data[] array */
+ tokLeadPlacer = 3,
+ tokLeader = 4,
+ tokNonLeader = 5,
+ tokZeroLead = 6,
+ tokPercent = 7,
+ tokPlusSign = 8,
+ tokMinusSign = 9,
+ tokThousands = 10,
+ tokReserved = 11, /* 11 is reserved field */
+ tokSeparator = 12,
+ tokEscape = 13,
+ tokDecPoint = 14,
+ tokEPlus = 15,
+ tokEMinus = 16,
+ tokMaxSymbols = 31,
+ curNumberPartsVersion = 1 /*current version of NumberParts record*/
};
-enum
-{
- currSymLead = 16,
- currNegSym = 32,
- currTrailingZ = 64,
- currLeadingZ = 128
+enum {
+ currSymLead = 16,
+ currNegSym = 32,
+ currTrailingZ = 64,
+ currLeadingZ = 128
};
-enum
-{
- mdy = 0,
- dmy = 1,
- ymd = 2,
- myd = 3,
- dym = 4,
- ydm = 5
+enum {
+ mdy = 0,
+ dmy = 1,
+ ymd = 2,
+ myd = 3,
+ dym = 4,
+ ydm = 5
};
typedef SInt8 DateOrders;
-enum
-{
- timeCycle24 = 0, /*time sequence 0:00 - 23:59*/
- timeCycleZero = 1, /*time sequence 0:00-11:59, 0:00 - 11:59*/
- timeCycle12 = 255, /*time sequence 12:00 - 11:59, 12:00 - 11:59*/
- zeroCycle = 1, /*old name for timeCycleZero*/
- longDay = 0, /*day of the month*/
- longWeek = 1, /*day of the week*/
- longMonth = 2, /*month of the year*/
- longYear = 3, /*year*/
- supDay = 1, /*suppress day of month*/
- supWeek = 2, /*suppress day of week*/
- supMonth = 4, /*suppress month*/
- supYear = 8, /*suppress year*/
- dayLdingZ = 32,
- mntLdingZ = 64,
- century = 128,
- secLeadingZ = 32,
- minLeadingZ = 64,
- hrLeadingZ = 128
+enum {
+ timeCycle24 = 0, /*time sequence 0:00 - 23:59*/
+ timeCycleZero = 1, /*time sequence 0:00-11:59, 0:00 - 11:59*/
+ timeCycle12 = 255, /*time sequence 12:00 - 11:59, 12:00 - 11:59*/
+ zeroCycle = 1, /*old name for timeCycleZero*/
+ longDay = 0, /*day of the month*/
+ longWeek = 1, /*day of the week*/
+ longMonth = 2, /*month of the year*/
+ longYear = 3, /*year*/
+ supDay = 1, /*suppress day of month*/
+ supWeek = 2, /*suppress day of week*/
+ supMonth = 4, /*suppress month*/
+ supYear = 8, /*suppress year*/
+ dayLdingZ = 32,
+ mntLdingZ = 64,
+ century = 128,
+ secLeadingZ = 32,
+ minLeadingZ = 64,
+ hrLeadingZ = 128
};
/* moved OffsetTable back here from QuickdrawText */
-struct OffPair
-{
- short offFirst;
- short offSecond;
+struct OffPair {
+ short offFirst;
+ short offSecond;
};
typedef struct OffPair OffPair;
typedef OffPair OffsetTable[3];
-struct Intl0Rec
-{
- char decimalPt; /*decimal point character*/
- char thousSep; /*thousands separator character*/
- char listSep; /*list separator character*/
- char currSym1; /*currency symbol*/
- char currSym2;
- char currSym3;
- UInt8 currFmt; /*currency format flags*/
- UInt8 dateOrder; /*order of short date elements: mdy, dmy, etc.*/
- UInt8 shrtDateFmt; /*format flags for each short date element*/
- char dateSep; /*date separator character*/
- UInt8 timeCycle; /*specifies time cycle: 0..23, 1..12, or 0..11*/
- UInt8 timeFmt; /*format flags for each time element*/
- char mornStr[4]; /*trailing string for AM if 12-hour cycle*/
- char eveStr[4]; /*trailing string for PM if 12-hour cycle*/
- char timeSep; /*time separator character*/
- char time1Suff; /*trailing string for AM if 24-hour cycle*/
- char time2Suff;
- char time3Suff;
- char time4Suff;
- char time5Suff; /*trailing string for PM if 24-hour cycle*/
- char time6Suff;
- char time7Suff;
- char time8Suff;
- UInt8 metricSys; /*255 if metric, 0 if inches etc.*/
- short intl0Vers; /*region code (hi byte) and version (lo byte)*/
+struct Intl0Rec {
+ char decimalPt; /*decimal point character*/
+ char thousSep; /*thousands separator character*/
+ char listSep; /*list separator character*/
+ char currSym1; /*currency symbol*/
+ char currSym2;
+ char currSym3;
+ UInt8 currFmt; /*currency format flags*/
+ UInt8 dateOrder; /*order of short date elements: mdy, dmy, etc.*/
+ UInt8 shrtDateFmt; /*format flags for each short date element*/
+ char dateSep; /*date separator character*/
+ UInt8 timeCycle; /*specifies time cycle: 0..23, 1..12, or 0..11*/
+ UInt8 timeFmt; /*format flags for each time element*/
+ char mornStr[4]; /*trailing string for AM if 12-hour cycle*/
+ char eveStr[4]; /*trailing string for PM if 12-hour cycle*/
+ char timeSep; /*time separator character*/
+ char time1Suff; /*trailing string for AM if 24-hour cycle*/
+ char time2Suff;
+ char time3Suff;
+ char time4Suff;
+ char time5Suff; /*trailing string for PM if 24-hour cycle*/
+ char time6Suff;
+ char time7Suff;
+ char time8Suff;
+ UInt8 metricSys; /*255 if metric, 0 if inches etc.*/
+ short intl0Vers; /*region code (hi byte) and version (lo byte)*/
};
typedef struct Intl0Rec Intl0Rec;
typedef Intl0Rec * Intl0Ptr;
typedef Intl0Ptr * Intl0Hndl;
-struct Intl1Rec
-{
- Str15 days[7]; /*day names*/
- Str15 months[12]; /*month names*/
- UInt8 suppressDay; /*255 for no day, or flags to suppress any element*/
- UInt8 lngDateFmt; /*order of long date elements*/
- UInt8 dayLeading0; /*255 for leading 0 in day number*/
- UInt8 abbrLen; /*length for abbreviating names*/
- char st0[4]; /*separator strings for long date format*/
- char st1[4];
- char st2[4];
- char st3[4];
- char st4[4];
- short intl1Vers; /*region code (hi byte) and version (lo byte)*/
- short localRtn[1]; /*now a flag for opt extension*/
+struct Intl1Rec {
+ Str15 days[7]; /*day names*/
+ Str15 months[12]; /*month names*/
+ UInt8 suppressDay; /*255 for no day, or flags to suppress any element*/
+ UInt8 lngDateFmt; /*order of long date elements*/
+ UInt8 dayLeading0; /*255 for leading 0 in day number*/
+ UInt8 abbrLen; /*length for abbreviating names*/
+ char st0[4]; /*separator strings for long date format*/
+ char st1[4];
+ char st2[4];
+ char st3[4];
+ char st4[4];
+ short intl1Vers; /*region code (hi byte) and version (lo byte)*/
+ short localRtn[1]; /*now a flag for opt extension*/
};
typedef struct Intl1Rec Intl1Rec;
typedef Intl1Rec * Intl1Ptr;
typedef Intl1Ptr * Intl1Hndl;
/*fields for optional itl1 extension*/
-struct Itl1ExtRec
-{
- Intl1Rec base; /*un-extended Intl1Rec*/
- short version;
- short format;
- short calendarCode; /*calendar code for this itl1 resource*/
- long extraDaysTableOffset; /*offset in itl1 to extra days table*/
- long extraDaysTableLength; /*length of extra days table*/
- long extraMonthsTableOffset; /*offset in itl1 to extra months table*/
- long extraMonthsTableLength; /*length of extra months table*/
- long abbrevDaysTableOffset; /*offset in itl1 to abbrev days table*/
- long abbrevDaysTableLength; /*length of abbrev days table*/
- long abbrevMonthsTableOffset; /*offset in itl1 to abbrev months table*/
- long abbrevMonthsTableLength; /*length of abbrev months table*/
- long extraSepsTableOffset; /*offset in itl1 to extra seps table*/
- long extraSepsTableLength; /*length of extra seps table*/
- short tables[1]; /*now a flag for opt extension*/
+struct Itl1ExtRec {
+ Intl1Rec base; /*un-extended Intl1Rec*/
+ short version;
+ short format;
+ short calendarCode; /*calendar code for this itl1 resource*/
+ long extraDaysTableOffset; /*offset in itl1 to extra days table*/
+ long extraDaysTableLength; /*length of extra days table*/
+ long extraMonthsTableOffset; /*offset in itl1 to extra months table*/
+ long extraMonthsTableLength; /*length of extra months table*/
+ long abbrevDaysTableOffset; /*offset in itl1 to abbrev days table*/
+ long abbrevDaysTableLength; /*length of abbrev days table*/
+ long abbrevMonthsTableOffset; /*offset in itl1 to abbrev months table*/
+ long abbrevMonthsTableLength; /*length of abbrev months table*/
+ long extraSepsTableOffset; /*offset in itl1 to extra seps table*/
+ long extraSepsTableLength; /*length of extra seps table*/
+ short tables[1]; /*now a flag for opt extension*/
};
typedef struct Itl1ExtRec Itl1ExtRec;
-struct UntokenTable
-{
- short len;
- short lastToken;
- short index[256]; /*index table; last = lastToken*/
+struct UntokenTable {
+ short len;
+ short lastToken;
+ short index[256]; /*index table; last = lastToken*/
};
typedef struct UntokenTable UntokenTable;
typedef UntokenTable * UntokenTablePtr;
typedef UntokenTablePtr * UntokenTableHandle;
-union WideChar
-{
- char a[2]; /*0 is the high order character*/
- short b;
+union WideChar {
+ char a[2]; /*0 is the high order character*/
+ short b;
};
typedef union WideChar WideChar;
-struct WideCharArr
-{
- short size;
- WideChar data[10];
+struct WideCharArr {
+ short size;
+ WideChar data[10];
};
typedef struct WideCharArr WideCharArr;
-struct NumberParts
-{
- short version;
- WideChar data[31]; /*index by [tokLeftQuote..tokMaxSymbols]*/
- WideCharArr pePlus;
- WideCharArr peMinus;
- WideCharArr peMinusPlus;
- WideCharArr altNumTable;
- char reserved[20];
+struct NumberParts {
+ short version;
+ WideChar data[31]; /*index by [tokLeftQuote..tokMaxSymbols]*/
+ WideCharArr pePlus;
+ WideCharArr peMinus;
+ WideCharArr peMinusPlus;
+ WideCharArr altNumTable;
+ char reserved[20];
};
typedef struct NumberParts NumberParts;
typedef NumberParts * NumberPartsPtr;
-struct Itl4Rec
-{
- short flags; /*reserved*/
- long resourceType; /*contains 'itl4'*/
- short resourceNum; /*resource ID*/
- short version; /*version number*/
- long resHeader1; /*reserved*/
- long resHeader2; /*reserved*/
- short numTables; /*number of tables, one-based*/
- long mapOffset; /*offset to table that maps byte to token*/
- long strOffset; /*offset to routine that copies canonical string*/
- long fetchOffset; /*offset to routine that gets next byte of character*/
- long unTokenOffset; /*offset to table that maps token to canonical string*/
- long defPartsOffset; /*offset to default number parts table*/
- long resOffset6; /*reserved*/
- long resOffset7; /*reserved*/
- long resOffset8; /*reserved*/
+struct Itl4Rec {
+ short flags; /*reserved*/
+ long resourceType; /*contains 'itl4'*/
+ short resourceNum; /*resource ID*/
+ short version; /*version number*/
+ long resHeader1; /*reserved*/
+ long resHeader2; /*reserved*/
+ short numTables; /*number of tables, one-based*/
+ long mapOffset; /*offset to table that maps byte to token*/
+ long strOffset; /*offset to routine that copies canonical string*/
+ long fetchOffset; /*offset to routine that gets next byte of character*/
+ long unTokenOffset; /*offset to table that maps token to canonical string*/
+ long defPartsOffset; /*offset to default number parts table*/
+ long resOffset6; /*reserved*/
+ long resOffset7; /*reserved*/
+ long resOffset8; /*reserved*/
};
typedef struct Itl4Rec Itl4Rec;
typedef Itl4Rec * Itl4Ptr;
typedef Itl4Ptr * Itl4Handle;
/* New NItl4Rec for System 7.0: */
-struct NItl4Rec
-{
- short flags; /*reserved*/
- long resourceType; /*contains 'itl4'*/
- short resourceNum; /*resource ID*/
- short version; /*version number*/
- short format; /*format code*/
- short resHeader; /*reserved*/
- long resHeader2; /*reserved*/
- short numTables; /*number of tables, one-based*/
- long mapOffset; /*offset to table that maps byte to token*/
- long strOffset; /*offset to routine that copies canonical string*/
- long fetchOffset; /*offset to routine that gets next byte of character*/
- long unTokenOffset; /*offset to table that maps token to canonical string*/
- long defPartsOffset; /*offset to default number parts table*/
- long whtSpListOffset; /*offset to white space code list*/
- long resOffset7; /*reserved*/
- long resOffset8; /*reserved*/
- short resLength1; /*reserved*/
- short resLength2; /*reserved*/
- short resLength3; /*reserved*/
- short unTokenLength; /*length of untoken table*/
- short defPartsLength; /*length of default number parts table*/
- short whtSpListLength; /*length of white space code list*/
- short resLength7; /*reserved*/
- short resLength8; /*reserved*/
+struct NItl4Rec {
+ short flags; /*reserved*/
+ long resourceType; /*contains 'itl4'*/
+ short resourceNum; /*resource ID*/
+ short version; /*version number*/
+ short format; /*format code*/
+ short resHeader; /*reserved*/
+ long resHeader2; /*reserved*/
+ short numTables; /*number of tables, one-based*/
+ long mapOffset; /*offset to table that maps byte to token*/
+ long strOffset; /*offset to routine that copies canonical string*/
+ long fetchOffset; /*offset to routine that gets next byte of character*/
+ long unTokenOffset; /*offset to table that maps token to canonical string*/
+ long defPartsOffset; /*offset to default number parts table*/
+ long whtSpListOffset; /*offset to white space code list*/
+ long resOffset7; /*reserved*/
+ long resOffset8; /*reserved*/
+ short resLength1; /*reserved*/
+ short resLength2; /*reserved*/
+ short resLength3; /*reserved*/
+ short unTokenLength; /*length of untoken table*/
+ short defPartsLength; /*length of default number parts table*/
+ short whtSpListLength; /*length of white space code list*/
+ short resLength7; /*reserved*/
+ short resLength8; /*reserved*/
};
typedef struct NItl4Rec NItl4Rec;
typedef NItl4Rec * NItl4Ptr;
typedef NItl4Ptr * NItl4Handle;
-struct TableDirectoryRecord
-{
- OSType tableSignature; /*4 byte long table name */
- unsigned long reserved; /*Reserved for internal use */
- unsigned long tableStartOffset; /*Table start offset in byte*/
- unsigned long tableSize; /*Table size in byte*/
+struct TableDirectoryRecord {
+ OSType tableSignature; /*4 byte long table name */
+ unsigned long reserved; /*Reserved for internal use */
+ unsigned long tableStartOffset; /*Table start offset in byte*/
+ unsigned long tableSize; /*Table size in byte*/
};
typedef struct TableDirectoryRecord TableDirectoryRecord;
-struct Itl5Record
-{
- Fixed versionNumber; /*itl5 resource version number */
- unsigned short numberOfTables; /*Number of tables it contains */
- unsigned short reserved[3]; /*Reserved for internal use */
- TableDirectoryRecord tableDirectory[1]; /*Table directory records */
+struct Itl5Record {
+ Fixed versionNumber; /*itl5 resource version number */
+ unsigned short numberOfTables; /*Number of tables it contains */
+ unsigned short reserved[3]; /*Reserved for internal use */
+ TableDirectoryRecord tableDirectory[1]; /*Table directory records */
};
typedef struct Itl5Record Itl5Record;
-struct RuleBasedTrslRecord
-{
- short sourceType; /*Transliterate target type for the LHS of the rule */
- short targetType; /*Transliterate target type for the RHS of the rule */
- short formatNumber; /*Transliterate resource format number */
- short propertyFlag; /*Transliterate property flags */
- short numberOfRules; /*Number of rules following this field */
+struct RuleBasedTrslRecord {
+ short sourceType; /*Transliterate target type for the LHS of the rule */
+ short targetType; /*Transliterate target type for the RHS of the rule */
+ short formatNumber; /*Transliterate resource format number */
+ short propertyFlag; /*Transliterate property flags */
+ short numberOfRules; /*Number of rules following this field */
};
typedef struct RuleBasedTrslRecord RuleBasedTrslRecord;
-struct ItlcRecord
-{
- short itlcSystem; /*default system script*/
- short itlcReserved; /*reserved*/
- SInt8 itlcFontForce; /*default font force flag*/
- SInt8 itlcIntlForce; /*default intl force flag*/
- SInt8 itlcOldKybd; /*MacPlus intl keybd flag*/
- SInt8 itlcFlags; /*general flags*/
- short itlcIconOffset; /*keyboard icon offset; not used in 7.0*/
- SInt8 itlcIconSide; /*keyboard icon side; not used in 7.0*/
- SInt8 itlcIconRsvd; /*rsvd for other icon info*/
- short itlcRegionCode; /*preferred verXxx code*/
- short itlcSysFlags; /*flags for setting system globals*/
- SInt8 itlcReserved4[32]; /*for future use*/
+struct ItlcRecord {
+ short itlcSystem; /*default system script*/
+ short itlcReserved; /*reserved*/
+ SInt8 itlcFontForce; /*default font force flag*/
+ SInt8 itlcIntlForce; /*default intl force flag*/
+ SInt8 itlcOldKybd; /*MacPlus intl keybd flag*/
+ SInt8 itlcFlags; /*general flags*/
+ short itlcIconOffset; /*keyboard icon offset; not used in 7.0*/
+ SInt8 itlcIconSide; /*keyboard icon side; not used in 7.0*/
+ SInt8 itlcIconRsvd; /*rsvd for other icon info*/
+ short itlcRegionCode; /*preferred verXxx code*/
+ short itlcSysFlags; /*flags for setting system globals*/
+ SInt8 itlcReserved4[32]; /*for future use*/
};
typedef struct ItlcRecord ItlcRecord;
-struct ItlbRecord
-{
- short itlbNumber; /*itl0 id number*/
- short itlbDate; /*itl1 id number*/
- short itlbSort; /*itl2 id number*/
- short itlbFlags; /*Script flags*/
- short itlbToken; /*itl4 id number*/
- short itlbEncoding; /*itl5 ID # (optional; char encoding)*/
- short itlbLang; /*current language for script */
- SInt8 itlbNumRep; /*number representation code*/
- SInt8 itlbDateRep; /*date representation code */
- short itlbKeys; /*KCHR id number*/
- short itlbIcon; /*ID # of SICN or kcs#/kcs4/kcs8 suite.*/
+struct ItlbRecord {
+ short itlbNumber; /*itl0 id number*/
+ short itlbDate; /*itl1 id number*/
+ short itlbSort; /*itl2 id number*/
+ short itlbFlags; /*Script flags*/
+ short itlbToken; /*itl4 id number*/
+ short itlbEncoding; /*itl5 ID # (optional; char encoding)*/
+ short itlbLang; /*current language for script */
+ SInt8 itlbNumRep; /*number representation code*/
+ SInt8 itlbDateRep; /*date representation code */
+ short itlbKeys; /*KCHR id number*/
+ short itlbIcon; /*ID # of SICN or kcs#/kcs4/kcs8 suite.*/
};
typedef struct ItlbRecord ItlbRecord;
/* New ItlbExtRecord structure for System 7.0 */
-struct ItlbExtRecord
-{
- ItlbRecord base; /*un-extended ItlbRecord*/
- long itlbLocalSize; /*size of script's local record*/
- short itlbMonoFond; /*default monospace FOND ID*/
- short itlbMonoSize; /*default monospace font size*/
- short itlbPrefFond; /*preferred FOND ID*/
- short itlbPrefSize; /*preferred font size*/
- short itlbSmallFond; /*default small FOND ID*/
- short itlbSmallSize; /*default small font size*/
- short itlbSysFond; /*default system FOND ID*/
- short itlbSysSize; /*default system font size*/
- short itlbAppFond; /*default application FOND ID*/
- short itlbAppSize; /*default application font size*/
- short itlbHelpFond; /*default Help Mgr FOND ID*/
- short itlbHelpSize; /*default Help Mgr font size*/
- Style itlbValidStyles; /*set of valid styles for script*/
- Style itlbAliasStyle; /*style (set) to mark aliases*/
+struct ItlbExtRecord {
+ ItlbRecord base; /*un-extended ItlbRecord*/
+ long itlbLocalSize; /*size of script's local record*/
+ short itlbMonoFond; /*default monospace FOND ID*/
+ short itlbMonoSize; /*default monospace font size*/
+ short itlbPrefFond; /*preferred FOND ID*/
+ short itlbPrefSize; /*preferred font size*/
+ short itlbSmallFond; /*default small FOND ID*/
+ short itlbSmallSize; /*default small font size*/
+ short itlbSysFond; /*default system FOND ID*/
+ short itlbSysSize; /*default system font size*/
+ short itlbAppFond; /*default application FOND ID*/
+ short itlbAppSize; /*default application font size*/
+ short itlbHelpFond; /*default Help Mgr FOND ID*/
+ short itlbHelpSize; /*default Help Mgr font size*/
+ Style itlbValidStyles; /*set of valid styles for script*/
+ Style itlbAliasStyle; /*style (set) to mark aliases*/
};
typedef struct ItlbExtRecord ItlbExtRecord;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/IsochronousDataHandler.h b/include/qt/IsochronousDataHandler.h
index 9d39c44df..ba2fa17d1 100644
--- a/include/qt/IsochronousDataHandler.h
+++ b/include/qt/IsochronousDataHandler.h
@@ -1,17 +1,17 @@
/*
File: IsochronousDataHandler.h
-
+
Contains: Component Manager based Isochronous Data Handler
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
//
// Check for Prior Inclusion of IsochronousDataHandler.r
@@ -55,640 +55,616 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kIDHComponentType = FOUR_CHAR_CODE('ihlr'), /* Component type*/
- kIDHSubtypeDV = FOUR_CHAR_CODE('dv '), /* Subtype for DV (over FireWire)*/
- kIDHSubtypeFireWireConference = FOUR_CHAR_CODE('fwc ') /* Subtype for FW Conference*/
- };
-
-
- /* Version of Isochronous Data Handler API*/
- enum
- {
- kIDHInterfaceVersion1 = 0x0001 /* Initial relase (Summer '99)*/
- };
-
-
- /* atom types*/
-
- enum
- {
- kIDHDeviceListAtomType = FOUR_CHAR_CODE('dlst'),
- kIDHDeviceAtomType = FOUR_CHAR_CODE('devc'), /* to be defined elsewhere*/
- kIDHIsochServiceAtomType = FOUR_CHAR_CODE('isoc'),
- kIDHIsochModeAtomType = FOUR_CHAR_CODE('mode'),
- kIDHDeviceIDType = FOUR_CHAR_CODE('dvid'),
- kIDHDefaultIOType = FOUR_CHAR_CODE('dfio'),
- kIDHIsochVersionAtomType = FOUR_CHAR_CODE('iver'),
- kIDHUniqueIDType = FOUR_CHAR_CODE('unid'),
- kIDHNameAtomType = FOUR_CHAR_CODE('name'),
- kIDHUseCMPAtomType = FOUR_CHAR_CODE('ucmp'),
- kIDHIsochMediaType = FOUR_CHAR_CODE('av '),
- kIDHDataTypeAtomType = FOUR_CHAR_CODE('dtyp'),
- kIDHDataSizeAtomType = FOUR_CHAR_CODE('dsiz'), /* ??? packet size vs. buffer size*/
- kIDHDataBufferSizeAtomType = FOUR_CHAR_CODE('dbuf'), /* ??? packet size vs. buffer size*/
- kIDHDataIntervalAtomType = FOUR_CHAR_CODE('intv'),
- kIDHDataIODirectionAtomType = FOUR_CHAR_CODE('ddir'),
- kIDHSoundMediaAtomType = FOUR_CHAR_CODE('soun'),
- kIDHSoundTypeAtomType = FOUR_CHAR_CODE('type'),
- kIDHSoundChannelCountAtomType = FOUR_CHAR_CODE('ccnt'),
- kIDHSoundSampleSizeAtomType = FOUR_CHAR_CODE('ssiz'),
- kIDHSoundSampleRateAtomType = FOUR_CHAR_CODE('srat'), /* same as video out... (what does this comment mean?)*/
- kIDHVideoMediaAtomType = FOUR_CHAR_CODE('vide'),
- kIDHVideoDimensionsAtomType = FOUR_CHAR_CODE('dimn'),
- kIDHVideoResolutionAtomType = FOUR_CHAR_CODE('resl'),
- kIDHVideoRefreshRateAtomType = FOUR_CHAR_CODE('refr'),
- kIDHVideoPixelTypeAtomType = FOUR_CHAR_CODE('pixl'),
- kIDHVideoDecompressorAtomType = FOUR_CHAR_CODE('deco'),
- kIDHVideoDecompressorTypeAtomType = FOUR_CHAR_CODE('dety'),
- kIDHVideoDecompressorContinuousAtomType = FOUR_CHAR_CODE('cont'),
- kIDHVideoDecompressorComponentAtomType = FOUR_CHAR_CODE('cmpt')
- };
-
- /* I/O Flags */
- enum
- {
- kIDHDataTypeIsInput = 1L << 0,
- kIDHDataTypeIsOutput = 1L << 1,
- kIDHDataTypeIsInputAndOutput = 1L << 2
- };
-
-
- /* Permission Flags */
- enum
- {
- kIDHOpenForReadTransactions = 1L << 0,
- kIDHOpenForWriteTransactions = 1L << 1,
- kIDHOpenWithExclusiveAccess = 1L << 2,
- kIDHOpenWithHeldBuffers = 1L << 3, /* IDH will hold buffer until ReleaseBuffer()*/
- kIDHCloseForReadTransactions = 1L << 4,
- kIDHCloseForWriteTransactions = 1L << 5
- };
-
-
- /*
- Errors
- These REALLY need to be moved into Errors.h
- ooo.needs officially assigned numbers
- */
- enum
- {
- kIDHErrDeviceDisconnected = -14101,
- kIDHErrInvalidDeviceID = -14102,
- kIDHErrDeviceInUse = -14104,
- kIDHErrDeviceNotOpened = -14105,
- kIDHErrDeviceBusy = -14106,
- kIDHErrDeviceReadError = -14107,
- kIDHErrDeviceWriteError = -14108,
- kIDHErrDeviceNotConfigured = -14109,
- kIDHErrDeviceList = -14110,
- kIDHErrCompletionPending = -14111,
- kIDHErrDeviceTimeout = -14112,
- kIDHErrInvalidIndex = -14113,
- kIDHErrDeviceCantRead = -14114,
- kIDHErrDeviceCantWrite = -14115,
- kIDHErrCallNotSupported = -14116
- };
-
-
-
-
- /* Holds Device Identification...*/
- typedef UInt32 IDHDeviceID;
- enum
- {
- kIDHInvalidDeviceID = 0,
- kIDHDeviceIDEveryDevice = (long)0xFFFFFFFF
- };
-
- /* Values for 5 bit STYPE part of CIP header*/
- enum
- {
- kIDHDV_SD = 0,
- kIDHDV_SDL = 1,
- kIDHDV_HD = 2,
- kIDHDVCPro_25 = 0x1E,
- kIDHDVCPro_50 = 0x1D,
- kIDHDVCPro_100 = 0x1C
- };
-
- /* Isoch Interval Atom Data*/
- struct IDHIsochInterval
- {
- SInt32 duration;
- TimeScale scale;
- };
- typedef struct IDHIsochInterval IDHIsochInterval;
- /* Need to fix this. For now, cast this as a FWReferenceID*/
- typedef struct OpaquePsuedoID* PsuedoID;
- /*
- Isoch Device Status
- This is atom-like, but isn't an atom
- */
- struct IDHDeviceStatus
- {
- UInt32 version;
- Boolean physicallyConnected;
- Boolean readEnabled;
- Boolean writeEnabled;
- Boolean exclusiveAccess;
- UInt32 currentBandwidth;
- UInt32 currentChannel;
- PsuedoID localNodeID; /*ooo.may go in atoms */
- SInt16 inputStandard; /* One of the QT input standards*/
- Boolean deviceActive;
- UInt8 inputFormat; /* Expected STYPE of data from device, if version >= 0x200*/
- UInt32 outputFormats; /* Bitmask for supported STYPE values, if version >= 0x200*/
- };
- typedef struct IDHDeviceStatus IDHDeviceStatus;
- /*
- Isochronous Data Handler Events
-
- */
- typedef UInt32 IDHEvent;
- enum
- {
- kIDHEventInvalid = 0,
- kIDHEventDeviceAdded = 1L << 0, /* A new device has been added to the bus*/
- kIDHEventDeviceRemoved = 1L << 1, /* A device has been removed from the bus*/
- kIDHEventDeviceChanged = 1L << 2, /* Some device has changed state on the bus*/
- kIDHEventReadEnabled = 1L << 3, /* A client has enabled a device for read*/
- kIDHEventReserved1 = 1L << 4, /* Reserved for future use*/
- kIDHEventReadDisabled = 1L << 5, /* A client has disabled a device from read*/
- kIDHEventWriteEnabled = 1L << 6, /* A client has enabled a device for write*/
- kIDHEventReserved2 = 1L << 7, /* Reserved for future use*/
- kIDHEventWriteDisabled = 1L << 8, /* A client has disabled a device for write*/
- kIDHEventEveryEvent = (unsigned long)0xFFFFFFFF
- };
-
-
- typedef UInt32 IDHNotificationID;
- struct IDHEventHeader
- {
- IDHDeviceID deviceID; /* Device which generated event*/
- IDHNotificationID notificationID;
- IDHEvent event; /* What the event is*/
- };
- typedef struct IDHEventHeader IDHEventHeader;
-
-
-
- /*
- IDHGenericEvent
- An IDH will often have to post events from at interrupt time. Since memory
- allocation cannot occur from the interrupt handler, the IDH can preallocate
- storage needed for handling the event by creating some IDHGenericEvent items.
- Subsequently, when an event is generated, the type of event (specified in the
- IDHEventHeader) will dictate how the IDHGenericEvent should be interpretted.
-
- IMPORTANT NOTE : This means that a specific event structure can NEVER be greater
- than the size of the generic one.
-
- */
- struct IDHGenericEvent
- {
- IDHEventHeader eventHeader;
- UInt32 pad[4];
- };
- typedef struct IDHGenericEvent IDHGenericEvent;
- /*
- IDHDeviceConnectionEvent
- For kIDHEventDeviceAdded or kIDHEventDeviceRemoved events.
- */
- struct IDHDeviceConnectionEvent
- {
- IDHEventHeader eventHeader;
- };
- typedef struct IDHDeviceConnectionEvent IDHDeviceConnectionEvent;
- /*
- IDHDeviceIOEnableEvent
- For kIDHEventReadEnabled, kIDHEventReadDisabled, kIDHEventWriteEnabled, or
- kIDHEventWriteDisabled.
- */
- struct IDHDeviceIOEnableEvent
- {
- IDHEventHeader eventHeader;
- };
- typedef struct IDHDeviceIOEnableEvent IDHDeviceIOEnableEvent;
- typedef CALLBACK_API_C(OSStatus , IDHNotificationProcPtr)(IDHGenericEvent *event, void *userData);
-
- typedef IDHNotificationProcPtr IDHNotificationProc;
- typedef TVECTOR_UPP_TYPE(IDHNotificationProcPtr) IDHNotificationUPP;
- struct IDHParameterBlock
- {
- UInt32 reserved1;
- UInt16 reserved2;
- void * buffer;
- ByteCount requestedCount;
- ByteCount actualCount;
- IDHNotificationUPP completionProc;
- void * refCon;
- OSErr result;
- };
- typedef struct IDHParameterBlock IDHParameterBlock;
- struct IDHResolution
- {
- UInt32 x;
- UInt32 y;
- };
- typedef struct IDHResolution IDHResolution;
- struct IDHDimension
- {
- Fixed x;
- Fixed y;
- };
- typedef struct IDHDimension IDHDimension;
-
- /*
- * IDHGetDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHGetDeviceList(
- ComponentInstance idh,
- QTAtomContainer * deviceList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * IDHGetDeviceConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHGetDeviceConfiguration(
- ComponentInstance idh,
- QTAtomSpec * configurationID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * IDHSetDeviceConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHSetDeviceConfiguration(
- ComponentInstance idh,
- const QTAtomSpec * configurationID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * IDHGetDeviceStatus()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHGetDeviceStatus(
- ComponentInstance idh,
- const QTAtomSpec * configurationID,
- IDHDeviceStatus * status) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * IDHGetDeviceClock()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHGetDeviceClock(
- ComponentInstance idh,
- Component * clock) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * IDHOpenDevice()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHOpenDevice(
- ComponentInstance idh,
- UInt32 permissions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * IDHCloseDevice()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHCloseDevice(ComponentInstance idh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * IDHRead()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHRead(
- ComponentInstance idh,
- IDHParameterBlock * pb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * IDHWrite()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHWrite(
- ComponentInstance idh,
- IDHParameterBlock * pb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * IDHNewNotification()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHNewNotification(
- ComponentInstance idh,
- IDHDeviceID deviceID,
- IDHNotificationUPP notificationProc,
- void * userData,
- IDHNotificationID * notificationID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * IDHNotifyMeWhen()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHNotifyMeWhen(
- ComponentInstance idh,
- IDHNotificationID notificationID,
- IDHEvent events) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * IDHCancelNotification()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHCancelNotification(
- ComponentInstance idh,
- IDHNotificationID notificationID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * IDHDisposeNotification()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHDisposeNotification(
- ComponentInstance idh,
- IDHNotificationID notificationID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * IDHReleaseBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHReleaseBuffer(
- ComponentInstance idh,
- IDHParameterBlock * pb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * IDHCancelPendingIO()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHCancelPendingIO(
- ComponentInstance idh,
- IDHParameterBlock * pb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * IDHGetDeviceControl()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHGetDeviceControl(
- ComponentInstance idh,
- ComponentInstance * deviceControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * IDHUpdateDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in IDHLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHUpdateDeviceList(
- ComponentInstance idh,
- QTAtomContainer * deviceList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * IDHGetDeviceTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHGetDeviceTime(
- ComponentInstance idh,
- TimeRecord * deviceTime) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * IDHSetFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHSetFormat(
- ComponentInstance idh,
- UInt32 format) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * IDHGetFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- IDHGetFormat(
- ComponentInstance idh,
- UInt32 * format) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
-
- /*
- * NewIDHNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(IDHNotificationUPP)
- NewIDHNotificationUPP(IDHNotificationProcPtr userRoutine);
+enum {
+ kIDHComponentType = FOUR_CHAR_CODE('ihlr'), /* Component type*/
+ kIDHSubtypeDV = FOUR_CHAR_CODE('dv '), /* Subtype for DV (over FireWire)*/
+ kIDHSubtypeFireWireConference = FOUR_CHAR_CODE('fwc ') /* Subtype for FW Conference*/
+};
+
+
+/* Version of Isochronous Data Handler API*/
+enum {
+ kIDHInterfaceVersion1 = 0x0001 /* Initial relase (Summer '99)*/
+};
+
+
+/* atom types*/
+
+enum {
+ kIDHDeviceListAtomType = FOUR_CHAR_CODE('dlst'),
+ kIDHDeviceAtomType = FOUR_CHAR_CODE('devc'), /* to be defined elsewhere*/
+ kIDHIsochServiceAtomType = FOUR_CHAR_CODE('isoc'),
+ kIDHIsochModeAtomType = FOUR_CHAR_CODE('mode'),
+ kIDHDeviceIDType = FOUR_CHAR_CODE('dvid'),
+ kIDHDefaultIOType = FOUR_CHAR_CODE('dfio'),
+ kIDHIsochVersionAtomType = FOUR_CHAR_CODE('iver'),
+ kIDHUniqueIDType = FOUR_CHAR_CODE('unid'),
+ kIDHNameAtomType = FOUR_CHAR_CODE('name'),
+ kIDHUseCMPAtomType = FOUR_CHAR_CODE('ucmp'),
+ kIDHIsochMediaType = FOUR_CHAR_CODE('av '),
+ kIDHDataTypeAtomType = FOUR_CHAR_CODE('dtyp'),
+ kIDHDataSizeAtomType = FOUR_CHAR_CODE('dsiz'), /* ??? packet size vs. buffer size*/
+ kIDHDataBufferSizeAtomType = FOUR_CHAR_CODE('dbuf'), /* ??? packet size vs. buffer size*/
+ kIDHDataIntervalAtomType = FOUR_CHAR_CODE('intv'),
+ kIDHDataIODirectionAtomType = FOUR_CHAR_CODE('ddir'),
+ kIDHSoundMediaAtomType = FOUR_CHAR_CODE('soun'),
+ kIDHSoundTypeAtomType = FOUR_CHAR_CODE('type'),
+ kIDHSoundChannelCountAtomType = FOUR_CHAR_CODE('ccnt'),
+ kIDHSoundSampleSizeAtomType = FOUR_CHAR_CODE('ssiz'),
+ kIDHSoundSampleRateAtomType = FOUR_CHAR_CODE('srat'), /* same as video out... (what does this comment mean?)*/
+ kIDHVideoMediaAtomType = FOUR_CHAR_CODE('vide'),
+ kIDHVideoDimensionsAtomType = FOUR_CHAR_CODE('dimn'),
+ kIDHVideoResolutionAtomType = FOUR_CHAR_CODE('resl'),
+ kIDHVideoRefreshRateAtomType = FOUR_CHAR_CODE('refr'),
+ kIDHVideoPixelTypeAtomType = FOUR_CHAR_CODE('pixl'),
+ kIDHVideoDecompressorAtomType = FOUR_CHAR_CODE('deco'),
+ kIDHVideoDecompressorTypeAtomType = FOUR_CHAR_CODE('dety'),
+ kIDHVideoDecompressorContinuousAtomType = FOUR_CHAR_CODE('cont'),
+ kIDHVideoDecompressorComponentAtomType = FOUR_CHAR_CODE('cmpt')
+};
+
+/* I/O Flags */
+enum {
+ kIDHDataTypeIsInput = 1L << 0,
+ kIDHDataTypeIsOutput = 1L << 1,
+ kIDHDataTypeIsInputAndOutput = 1L << 2
+};
+
+
+/* Permission Flags */
+enum {
+ kIDHOpenForReadTransactions = 1L << 0,
+ kIDHOpenForWriteTransactions = 1L << 1,
+ kIDHOpenWithExclusiveAccess = 1L << 2,
+ kIDHOpenWithHeldBuffers = 1L << 3, /* IDH will hold buffer until ReleaseBuffer()*/
+ kIDHCloseForReadTransactions = 1L << 4,
+ kIDHCloseForWriteTransactions = 1L << 5
+};
+
+
+/*
+ Errors
+ These REALLY need to be moved into Errors.h
+ ooo.needs officially assigned numbers
+*/
+enum {
+ kIDHErrDeviceDisconnected = -14101,
+ kIDHErrInvalidDeviceID = -14102,
+ kIDHErrDeviceInUse = -14104,
+ kIDHErrDeviceNotOpened = -14105,
+ kIDHErrDeviceBusy = -14106,
+ kIDHErrDeviceReadError = -14107,
+ kIDHErrDeviceWriteError = -14108,
+ kIDHErrDeviceNotConfigured = -14109,
+ kIDHErrDeviceList = -14110,
+ kIDHErrCompletionPending = -14111,
+ kIDHErrDeviceTimeout = -14112,
+ kIDHErrInvalidIndex = -14113,
+ kIDHErrDeviceCantRead = -14114,
+ kIDHErrDeviceCantWrite = -14115,
+ kIDHErrCallNotSupported = -14116
+};
+
+
+
+
+/* Holds Device Identification...*/
+typedef UInt32 IDHDeviceID;
+enum {
+ kIDHInvalidDeviceID = 0,
+ kIDHDeviceIDEveryDevice = (long)0xFFFFFFFF
+};
+
+/* Values for 5 bit STYPE part of CIP header*/
+enum {
+ kIDHDV_SD = 0,
+ kIDHDV_SDL = 1,
+ kIDHDV_HD = 2,
+ kIDHDVCPro_25 = 0x1E,
+ kIDHDVCPro_50 = 0x1D,
+ kIDHDVCPro_100 = 0x1C
+};
+
+/* Isoch Interval Atom Data*/
+struct IDHIsochInterval {
+ SInt32 duration;
+ TimeScale scale;
+};
+typedef struct IDHIsochInterval IDHIsochInterval;
+/* Need to fix this. For now, cast this as a FWReferenceID*/
+typedef struct OpaquePsuedoID* PsuedoID;
+/*
+ Isoch Device Status
+ This is atom-like, but isn't an atom
+*/
+struct IDHDeviceStatus {
+ UInt32 version;
+ Boolean physicallyConnected;
+ Boolean readEnabled;
+ Boolean writeEnabled;
+ Boolean exclusiveAccess;
+ UInt32 currentBandwidth;
+ UInt32 currentChannel;
+ PsuedoID localNodeID; /*ooo.may go in atoms */
+ SInt16 inputStandard; /* One of the QT input standards*/
+ Boolean deviceActive;
+ UInt8 inputFormat; /* Expected STYPE of data from device, if version >= 0x200*/
+ UInt32 outputFormats; /* Bitmask for supported STYPE values, if version >= 0x200*/
+};
+typedef struct IDHDeviceStatus IDHDeviceStatus;
+/*
+ Isochronous Data Handler Events
+
+*/
+typedef UInt32 IDHEvent;
+enum {
+ kIDHEventInvalid = 0,
+ kIDHEventDeviceAdded = 1L << 0, /* A new device has been added to the bus*/
+ kIDHEventDeviceRemoved = 1L << 1, /* A device has been removed from the bus*/
+ kIDHEventDeviceChanged = 1L << 2, /* Some device has changed state on the bus*/
+ kIDHEventReadEnabled = 1L << 3, /* A client has enabled a device for read*/
+ kIDHEventReserved1 = 1L << 4, /* Reserved for future use*/
+ kIDHEventReadDisabled = 1L << 5, /* A client has disabled a device from read*/
+ kIDHEventWriteEnabled = 1L << 6, /* A client has enabled a device for write*/
+ kIDHEventReserved2 = 1L << 7, /* Reserved for future use*/
+ kIDHEventWriteDisabled = 1L << 8, /* A client has disabled a device for write*/
+ kIDHEventEveryEvent = (unsigned long)0xFFFFFFFF
+};
+
+
+typedef UInt32 IDHNotificationID;
+struct IDHEventHeader {
+ IDHDeviceID deviceID; /* Device which generated event*/
+ IDHNotificationID notificationID;
+ IDHEvent event; /* What the event is*/
+};
+typedef struct IDHEventHeader IDHEventHeader;
+
+
+
+/*
+ IDHGenericEvent
+ An IDH will often have to post events from at interrupt time. Since memory
+ allocation cannot occur from the interrupt handler, the IDH can preallocate
+ storage needed for handling the event by creating some IDHGenericEvent items.
+ Subsequently, when an event is generated, the type of event (specified in the
+ IDHEventHeader) will dictate how the IDHGenericEvent should be interpretted.
+
+ IMPORTANT NOTE : This means that a specific event structure can NEVER be greater
+ than the size of the generic one.
+
+*/
+struct IDHGenericEvent {
+ IDHEventHeader eventHeader;
+ UInt32 pad[4];
+};
+typedef struct IDHGenericEvent IDHGenericEvent;
+/*
+ IDHDeviceConnectionEvent
+ For kIDHEventDeviceAdded or kIDHEventDeviceRemoved events.
+*/
+struct IDHDeviceConnectionEvent {
+ IDHEventHeader eventHeader;
+};
+typedef struct IDHDeviceConnectionEvent IDHDeviceConnectionEvent;
+/*
+ IDHDeviceIOEnableEvent
+ For kIDHEventReadEnabled, kIDHEventReadDisabled, kIDHEventWriteEnabled, or
+ kIDHEventWriteDisabled.
+*/
+struct IDHDeviceIOEnableEvent {
+ IDHEventHeader eventHeader;
+};
+typedef struct IDHDeviceIOEnableEvent IDHDeviceIOEnableEvent;
+typedef CALLBACK_API_C( OSStatus , IDHNotificationProcPtr )(IDHGenericEvent *event, void *userData);
+
+typedef IDHNotificationProcPtr IDHNotificationProc;
+typedef TVECTOR_UPP_TYPE(IDHNotificationProcPtr) IDHNotificationUPP;
+struct IDHParameterBlock {
+ UInt32 reserved1;
+ UInt16 reserved2;
+ void * buffer;
+ ByteCount requestedCount;
+ ByteCount actualCount;
+ IDHNotificationUPP completionProc;
+ void * refCon;
+ OSErr result;
+};
+typedef struct IDHParameterBlock IDHParameterBlock;
+struct IDHResolution {
+ UInt32 x;
+ UInt32 y;
+};
+typedef struct IDHResolution IDHResolution;
+struct IDHDimension {
+ Fixed x;
+ Fixed y;
+};
+typedef struct IDHDimension IDHDimension;
+
+/*
+ * IDHGetDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHGetDeviceList(
+ ComponentInstance idh,
+ QTAtomContainer * deviceList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * IDHGetDeviceConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHGetDeviceConfiguration(
+ ComponentInstance idh,
+ QTAtomSpec * configurationID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * IDHSetDeviceConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHSetDeviceConfiguration(
+ ComponentInstance idh,
+ const QTAtomSpec * configurationID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * IDHGetDeviceStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHGetDeviceStatus(
+ ComponentInstance idh,
+ const QTAtomSpec * configurationID,
+ IDHDeviceStatus * status) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * IDHGetDeviceClock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHGetDeviceClock(
+ ComponentInstance idh,
+ Component * clock) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * IDHOpenDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHOpenDevice(
+ ComponentInstance idh,
+ UInt32 permissions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * IDHCloseDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHCloseDevice(ComponentInstance idh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * IDHRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHRead(
+ ComponentInstance idh,
+ IDHParameterBlock * pb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * IDHWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHWrite(
+ ComponentInstance idh,
+ IDHParameterBlock * pb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * IDHNewNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHNewNotification(
+ ComponentInstance idh,
+ IDHDeviceID deviceID,
+ IDHNotificationUPP notificationProc,
+ void * userData,
+ IDHNotificationID * notificationID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * IDHNotifyMeWhen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHNotifyMeWhen(
+ ComponentInstance idh,
+ IDHNotificationID notificationID,
+ IDHEvent events) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * IDHCancelNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHCancelNotification(
+ ComponentInstance idh,
+ IDHNotificationID notificationID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * IDHDisposeNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHDisposeNotification(
+ ComponentInstance idh,
+ IDHNotificationID notificationID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * IDHReleaseBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHReleaseBuffer(
+ ComponentInstance idh,
+ IDHParameterBlock * pb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * IDHCancelPendingIO()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHCancelPendingIO(
+ ComponentInstance idh,
+ IDHParameterBlock * pb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * IDHGetDeviceControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHGetDeviceControl(
+ ComponentInstance idh,
+ ComponentInstance * deviceControl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * IDHUpdateDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in IDHLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHUpdateDeviceList(
+ ComponentInstance idh,
+ QTAtomContainer * deviceList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * IDHGetDeviceTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHGetDeviceTime(
+ ComponentInstance idh,
+ TimeRecord * deviceTime) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * IDHSetFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHSetFormat(
+ ComponentInstance idh,
+ UInt32 format) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * IDHGetFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+IDHGetFormat(
+ ComponentInstance idh,
+ UInt32 * format) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+
+/*
+ * NewIDHNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( IDHNotificationUPP )
+NewIDHNotificationUPP(IDHNotificationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppIDHNotificationProcInfo = 0x000003F1 }; /* 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(IDHNotificationUPP) NewIDHNotificationUPP(IDHNotificationProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewIDHNotificationUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppIDHNotificationProcInfo = 0x000003F1 }; /* 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(IDHNotificationUPP) NewIDHNotificationUPP(IDHNotificationProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewIDHNotificationUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeIDHNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeIDHNotificationUPP(IDHNotificationUPP userUPP);
+/*
+ * DisposeIDHNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeIDHNotificationUPP(IDHNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeIDHNotificationUPP(IDHNotificationUPP) {}
-#else
-#define DisposeIDHNotificationUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeIDHNotificationUPP(IDHNotificationUPP) {}
+ #else
+ #define DisposeIDHNotificationUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeIDHNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- InvokeIDHNotificationUPP(
- IDHGenericEvent * event,
- void * userData,
- IDHNotificationUPP userUPP);
+/*
+ * InvokeIDHNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+InvokeIDHNotificationUPP(
+ IDHGenericEvent * event,
+ void * userData,
+ IDHNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeIDHNotificationUPP(IDHGenericEvent * event, void * userData, IDHNotificationUPP userUPP)
- {
- return (*userUPP)(event, userData);
- }
-#else
-#define InvokeIDHNotificationUPP(event, userData, userUPP) (*userUPP)(event, userData)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeIDHNotificationUPP(IDHGenericEvent * event, void * userData, IDHNotificationUPP userUPP) { return (*userUPP)(event, userData); }
+ #else
+ #define InvokeIDHNotificationUPP(event, userData, userUPP) (*userUPP)(event, userData)
+ #endif
#endif
- /* selectors for component calls */
- enum
- {
- kIDHGetDeviceListSelect = 0x0001,
- kIDHGetDeviceConfigurationSelect = 0x0002,
- kIDHSetDeviceConfigurationSelect = 0x0003,
- kIDHGetDeviceStatusSelect = 0x0004,
- kIDHGetDeviceClockSelect = 0x0005,
- kIDHOpenDeviceSelect = 0x0006,
- kIDHCloseDeviceSelect = 0x0007,
- kIDHReadSelect = 0x0008,
- kIDHWriteSelect = 0x0009,
- kIDHNewNotificationSelect = 0x000A,
- kIDHNotifyMeWhenSelect = 0x000B,
- kIDHCancelNotificationSelect = 0x000C,
- kIDHDisposeNotificationSelect = 0x000D,
- kIDHReleaseBufferSelect = 0x000E,
- kIDHCancelPendingIOSelect = 0x000F,
- kIDHGetDeviceControlSelect = 0x0010,
- kIDHUpdateDeviceListSelect = 0x0011,
- kIDHGetDeviceTimeSelect = 0x0012,
- kIDHSetFormatSelect = 0x0013,
- kIDHGetFormatSelect = 0x0014
- };
+/* selectors for component calls */
+enum {
+ kIDHGetDeviceListSelect = 0x0001,
+ kIDHGetDeviceConfigurationSelect = 0x0002,
+ kIDHSetDeviceConfigurationSelect = 0x0003,
+ kIDHGetDeviceStatusSelect = 0x0004,
+ kIDHGetDeviceClockSelect = 0x0005,
+ kIDHOpenDeviceSelect = 0x0006,
+ kIDHCloseDeviceSelect = 0x0007,
+ kIDHReadSelect = 0x0008,
+ kIDHWriteSelect = 0x0009,
+ kIDHNewNotificationSelect = 0x000A,
+ kIDHNotifyMeWhenSelect = 0x000B,
+ kIDHCancelNotificationSelect = 0x000C,
+ kIDHDisposeNotificationSelect = 0x000D,
+ kIDHReleaseBufferSelect = 0x000E,
+ kIDHCancelPendingIOSelect = 0x000F,
+ kIDHGetDeviceControlSelect = 0x0010,
+ kIDHUpdateDeviceListSelect = 0x0011,
+ kIDHGetDeviceTimeSelect = 0x0012,
+ kIDHSetFormatSelect = 0x0013,
+ kIDHGetFormatSelect = 0x0014
+};
#endif /* ifndef __ISOCHRONOUSDATAHANDLER_R__ */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/JavaApplet.h b/include/qt/JavaApplet.h
index 51f9f96e1..09cd9a6fc 100644
--- a/include/qt/JavaApplet.h
+++ b/include/qt/JavaApplet.h
@@ -1,17 +1,17 @@
/*
File: JavaApplet.h
-
+
Contains: interface to embedding a Java Applet in a Carbon Control
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#include "MacTypes.h"
@@ -50,368 +50,366 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __JAVAAPPLET__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __JAVAAPPLET__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __JAVAAPPLET__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __JAVAAPPLET__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /*
- * AppletDescriptor
- *
- * Discussion:
- * The structure for describing applet. This is used as the
- * definition of the applet to create when you call CreateJavaApplet.
- */
- struct AppletDescriptor
- {
- CFURLRef docBase;
- CFURLRef codeBase;
-
- /*
- * The attributes found in the <applet ...> tag formatted as a
- * CFDictionary of CFStrings. For attributes like height and width
- * they should be in screen coordinates. some Applets define them as
- * % (for example 90%) and should be converted to pixels before put
- * into the dictionary.
- */
- CFDictionaryRef htmlAttrs;
-
- /*
- * The parameters to the applet formatted as a CFDictionary of
- * CFStrings. These are typically found in <param ...> tags inside of
- * the applet tag.
- */
- CFDictionaryRef appletParams;
- };
- typedef struct AppletDescriptor AppletDescriptor;
-
- /*
- * AppletArena
- *
- * Discussion:
- * This is an opaque type that represents an AppletArena - an applet
- * arena represents a single classloader, so all applets that share
- * an arena share a common classloader.
- */
- typedef struct OpaqueAppletArena* AppletArena;
- /*
- kUniqueArena is the value to pass to CreateJavaApplet if you want the applet to be created
- in a unique arena. A unique arena is one which is guaranteed not to be shared with
- any other applet running in this Java VM. This is the appropriate default value to
- pass to CreateJavaApplet.
- */
+/*
+ * AppletDescriptor
+ *
+ * Discussion:
+ * The structure for describing applet. This is used as the
+ * definition of the applet to create when you call CreateJavaApplet.
+ */
+struct AppletDescriptor {
+ CFURLRef docBase;
+ CFURLRef codeBase;
+
+ /*
+ * The attributes found in the <applet ...> tag formatted as a
+ * CFDictionary of CFStrings. For attributes like height and width
+ * they should be in screen coordinates. some Applets define them as
+ * % (for example 90%) and should be converted to pixels before put
+ * into the dictionary.
+ */
+ CFDictionaryRef htmlAttrs;
+
+ /*
+ * The parameters to the applet formatted as a CFDictionary of
+ * CFStrings. These are typically found in <param ...> tags inside of
+ * the applet tag.
+ */
+ CFDictionaryRef appletParams;
+};
+typedef struct AppletDescriptor AppletDescriptor;
+
+/*
+ * AppletArena
+ *
+ * Discussion:
+ * This is an opaque type that represents an AppletArena - an applet
+ * arena represents a single classloader, so all applets that share
+ * an arena share a common classloader.
+ */
+typedef struct OpaqueAppletArena* AppletArena;
+/*
+ kUniqueArena is the value to pass to CreateJavaApplet if you want the applet to be created
+ in a unique arena. A unique arena is one which is guaranteed not to be shared with
+ any other applet running in this Java VM. This is the appropriate default value to
+ pass to CreateJavaApplet.
+*/
#define kUniqueArena ((AppletArena)NULL)
- /*
- * JE_ShowDocumentCallback
- *
- * Discussion:
- * Type of a callback function used for show document (link) message
- * from an applet.
- *
- * Parameters:
- *
- * applet:
- * The applet which sent this show document message.
- *
- * url:
- * The url to load.
- *
- * windowName:
- * A string definition of where to open the url. Null means open
- * in place, other strings are defined in the HTML spec, like
- * "_top" means the parent window of the applet if it happens to
- * be in a frame, etc.
- *
- * userData:
- * Data specified when this callback was registered using
- * RegisterShowDocumentCallback.
- */
- typedef CALLBACK_API_C(void , JE_ShowDocumentCallback)(jobject applet, CFURLRef url, CFStringRef windowName, void *userData);
-
- /*
- * JE_SetStatusCallback
- *
- * Discussion:
- * Type of a callback function used for a status message from an
- * applet.
- *
- * Parameters:
- *
- * applet:
- * The applet which sent this status message.
- *
- * statusMessage:
- * The message to be displayed.
- *
- * userData:
- * Data specified when this callback was registered using
- * RegisterStatusCallback.
- */
- typedef CALLBACK_API_C(void , JE_SetStatusCallback)(jobject applet, CFStringRef statusMessage, void *userData);
- /*
- * GetEmbeddingVMParams()
- *
- * Discussion:
- * Gets a set of VM params that can be passed to JNI_CreateJavaVM.
- * These params are optimized for Java embedding, and also contain
- * all user-specified options.
- *
- * Parameters:
- *
- * ioJavaVMInitArgs:
- * A Java VM initialization argument structure that you create.
- * This function will clear any fields set in the structure and
- * filled in with new data on completion.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- GetEmbeddingVMParams(JavaVMInitArgs * ioJavaVMInitArgs);
-
-
- /*
- * CreateAppletArena()
- *
- * Discussion:
- * Create an applet arena. By default each applet you create will
- * have its own "arena". By creating an applet arena, and passing
- * that arena into two or more CreateJavaApplet calls, those applets
- * will share a single classloader and thus be able to communicate
- * with each other through static objects.
- *
- * Parameters:
- *
- * outNewArena:
- * The newly created applet arena.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- CreateAppletArena(AppletArena * outNewArena);
-
-
-
- /*
- * CreateJavaApplet()
- *
- * Discussion:
- * Creates a java applet from a descriptor.
- *
- * Parameters:
- *
- * env:
- * The JNI environment for the current thread.
- *
- * applet:
- * A full descriptor of the applet being loaded. See
- * AppletDescriptor.
- *
- * trusted:
- * Whether this applet should be loaded as trusted.
- *
- * arena:
- * The arena for this applet. If this is set to null then a new
- * arena will be created. This is the typcial case for applets.
- *
- * outJavaFrame:
- * Returns JNI global ref. Used for registering callbacks and
- * creating controls. Call env->DeleteGlobalRef() on it when done.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- CreateJavaApplet(
- JNIEnv * env,
- AppletDescriptor applet,
- Boolean trusted,
- AppletArena arena, /* can be NULL */
- jobject * outJavaFrame);
-
-
-
- /*
- * AppletState
- *
- * Summary:
- * Constants that are passed to SetJavaAppletState.
- */
- enum AppletState
- {
- kAppletStart = 1, /* Starts the applet processing 3.*/
- kAppletStop = 2, /* Halts the applet, but it can be started again.*/
- kAppletDestroy = 4 /* Tears down the applet.*/
- };
- typedef enum AppletState AppletState;
-
-
- /*
- * SetJavaAppletState()
- *
- * Discussion:
- * Sets the state of the current applet as defined by the applet
- * spec. Applets can be started and stopped many times, but
- * destroying them is final.
- *
- * Parameters:
- *
- * env:
- * The JNI environment for the current VM and thread.
- *
- * inAppletFrame:
- * The applet to register the status callback (from
- * CreateJavaApplet).
- *
- * inNewState:
- * Host defined data passed into showStatusFunction.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- SetJavaAppletState(
- JNIEnv * env,
- jobject inAppletFrame,
- AppletState inNewState);
-
-
-
- /*
- * RegisterStatusCallback()
- *
- * Discussion:
- * Registers your function that will be called to update the
- * applet's status area. Status typically is put in a web browser as
- * a text area at the bottom of the page.
- *
- * Note that this callback will be called from a preemptive thread,
- * and if the host application is using cooperative threads they
- * will need to push this into their own event system in order to
- * handle this correctly.
- *
- * Parameters:
- *
- * env:
- * The JNI environment for the current VM and thread.
- *
- * inJavaFrame:
- * The applet to register the status callback (from
- * CreateJavaApplet).
- *
- * showStatusFunction:
- * The function that will be called when the applet calls
- * showStatus(...).
- *
- * userData:
- * Host defined data passed into showStatusFunction.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- RegisterStatusCallback(
- JNIEnv * env,
- jobject inJavaFrame,
- JE_SetStatusCallback showStatusFunction,
- void * userData);
-
-
-
- /*
- * RegisterShowDocumentCallback()
- *
- * Discussion:
- * Registers your function that will be called when the applet
- * behaves like a hyperlink. This will be called to move an
- * embedding host application to a new URL.
- *
- * Note that this callback will be called from a preemptive thread,
- * and if the host application is using cooperative threads they
- * will need to push this into their own event system in order to
- * handle this correctly.
- *
- * Parameters:
- *
- * env:
- * The JNI environment for the current VM and thread.
- *
- * inJavaFrame:
- * The applet to register the show document callback (from
- * CreateJavaApplet).
- *
- * showDocumentFunction:
- * The function that will be called when the applet calls
- * showDocument().
- *
- * userData:
- * Host defined data passed into showDocumentFunction.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- RegisterShowDocumentCallback(
- JNIEnv * env,
- jobject inJavaFrame,
- JE_ShowDocumentCallback showDocumentFunction,
- void * userData);
+/*
+ * JE_ShowDocumentCallback
+ *
+ * Discussion:
+ * Type of a callback function used for show document (link) message
+ * from an applet.
+ *
+ * Parameters:
+ *
+ * applet:
+ * The applet which sent this show document message.
+ *
+ * url:
+ * The url to load.
+ *
+ * windowName:
+ * A string definition of where to open the url. Null means open
+ * in place, other strings are defined in the HTML spec, like
+ * "_top" means the parent window of the applet if it happens to
+ * be in a frame, etc.
+ *
+ * userData:
+ * Data specified when this callback was registered using
+ * RegisterShowDocumentCallback.
+ */
+typedef CALLBACK_API_C( void , JE_ShowDocumentCallback )(jobject applet, CFURLRef url, CFStringRef windowName, void *userData);
+
+/*
+ * JE_SetStatusCallback
+ *
+ * Discussion:
+ * Type of a callback function used for a status message from an
+ * applet.
+ *
+ * Parameters:
+ *
+ * applet:
+ * The applet which sent this status message.
+ *
+ * statusMessage:
+ * The message to be displayed.
+ *
+ * userData:
+ * Data specified when this callback was registered using
+ * RegisterStatusCallback.
+ */
+typedef CALLBACK_API_C( void , JE_SetStatusCallback )(jobject applet, CFStringRef statusMessage, void *userData);
+/*
+ * GetEmbeddingVMParams()
+ *
+ * Discussion:
+ * Gets a set of VM params that can be passed to JNI_CreateJavaVM.
+ * These params are optimized for Java embedding, and also contain
+ * all user-specified options.
+ *
+ * Parameters:
+ *
+ * ioJavaVMInitArgs:
+ * A Java VM initialization argument structure that you create.
+ * This function will clear any fields set in the structure and
+ * filled in with new data on completion.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+GetEmbeddingVMParams(JavaVMInitArgs * ioJavaVMInitArgs);
+
+
+/*
+ * CreateAppletArena()
+ *
+ * Discussion:
+ * Create an applet arena. By default each applet you create will
+ * have its own "arena". By creating an applet arena, and passing
+ * that arena into two or more CreateJavaApplet calls, those applets
+ * will share a single classloader and thus be able to communicate
+ * with each other through static objects.
+ *
+ * Parameters:
+ *
+ * outNewArena:
+ * The newly created applet arena.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateAppletArena(AppletArena * outNewArena);
+
+
+
+/*
+ * CreateJavaApplet()
+ *
+ * Discussion:
+ * Creates a java applet from a descriptor.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI environment for the current thread.
+ *
+ * applet:
+ * A full descriptor of the applet being loaded. See
+ * AppletDescriptor.
+ *
+ * trusted:
+ * Whether this applet should be loaded as trusted.
+ *
+ * arena:
+ * The arena for this applet. If this is set to null then a new
+ * arena will be created. This is the typcial case for applets.
+ *
+ * outJavaFrame:
+ * Returns JNI global ref. Used for registering callbacks and
+ * creating controls. Call env->DeleteGlobalRef() on it when done.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateJavaApplet(
+ JNIEnv * env,
+ AppletDescriptor applet,
+ Boolean trusted,
+ AppletArena arena, /* can be NULL */
+ jobject * outJavaFrame);
+
+
+
+/*
+ * AppletState
+ *
+ * Summary:
+ * Constants that are passed to SetJavaAppletState.
+ */
+enum AppletState {
+ kAppletStart = 1, /* Starts the applet processing 3.*/
+ kAppletStop = 2, /* Halts the applet, but it can be started again.*/
+ kAppletDestroy = 4 /* Tears down the applet.*/
+};
+typedef enum AppletState AppletState;
+
+
+/*
+ * SetJavaAppletState()
+ *
+ * Discussion:
+ * Sets the state of the current applet as defined by the applet
+ * spec. Applets can be started and stopped many times, but
+ * destroying them is final.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI environment for the current VM and thread.
+ *
+ * inAppletFrame:
+ * The applet to register the status callback (from
+ * CreateJavaApplet).
+ *
+ * inNewState:
+ * Host defined data passed into showStatusFunction.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+SetJavaAppletState(
+ JNIEnv * env,
+ jobject inAppletFrame,
+ AppletState inNewState);
+
+
+
+/*
+ * RegisterStatusCallback()
+ *
+ * Discussion:
+ * Registers your function that will be called to update the
+ * applet's status area. Status typically is put in a web browser as
+ * a text area at the bottom of the page.
+ *
+ * Note that this callback will be called from a preemptive thread,
+ * and if the host application is using cooperative threads they
+ * will need to push this into their own event system in order to
+ * handle this correctly.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI environment for the current VM and thread.
+ *
+ * inJavaFrame:
+ * The applet to register the status callback (from
+ * CreateJavaApplet).
+ *
+ * showStatusFunction:
+ * The function that will be called when the applet calls
+ * showStatus(...).
+ *
+ * userData:
+ * Host defined data passed into showStatusFunction.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+RegisterStatusCallback(
+ JNIEnv * env,
+ jobject inJavaFrame,
+ JE_SetStatusCallback showStatusFunction,
+ void * userData);
+
+
+
+/*
+ * RegisterShowDocumentCallback()
+ *
+ * Discussion:
+ * Registers your function that will be called when the applet
+ * behaves like a hyperlink. This will be called to move an
+ * embedding host application to a new URL.
+ *
+ * Note that this callback will be called from a preemptive thread,
+ * and if the host application is using cooperative threads they
+ * will need to push this into their own event system in order to
+ * handle this correctly.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI environment for the current VM and thread.
+ *
+ * inJavaFrame:
+ * The applet to register the show document callback (from
+ * CreateJavaApplet).
+ *
+ * showDocumentFunction:
+ * The function that will be called when the applet calls
+ * showDocument().
+ *
+ * userData:
+ * Host defined data passed into showDocumentFunction.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+RegisterShowDocumentCallback(
+ JNIEnv * env,
+ jobject inJavaFrame,
+ JE_ShowDocumentCallback showDocumentFunction,
+ void * userData);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __JAVAAPPLET__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __JAVAAPPLET__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__JAVAAPPLET__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/JavaControl.h b/include/qt/JavaControl.h
index 794512b47..5718dee8a 100644
--- a/include/qt/JavaControl.h
+++ b/include/qt/JavaControl.h
@@ -1,17 +1,17 @@
/*
File: JavaControl.h
-
+
Contains: interface to embedding Java code in a Carbon Control
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#include "MacTypes.h"
@@ -41,408 +41,408 @@ extern "C" {
#endif
- /*
- * Summary:
- * JavaControl Embedding errors
- *
- * Discussion:
- * The following are all errors which can be returned from the
- * routines contained in this file. Most are self explanatory.
- */
- enum {
- errJavaEmbeddingNotYetImplemented = -9950,
- errJavaEmbeddingIntializationFailed = -9962, /* previously errClassConstructorNotFound, errClassNotFound, and errMethodNotFound*/
- errJavaEmbeddingMissingURL = -9955, /* previously errMissingURL*/
- errJavaEmbeddingCouldNotCreateApplet = -9956, /* previously errCouldNotCreateApplet*/
- errJavaEmbeddingCouldNotEmbedFrame = -9957, /* previously errCouldNotEmbedFrame */
- errJavaEmbeddingCouldNotConvertURL = -9958, /* previously errCouldNotConvertURL*/
- errJavaEmbeddingNotAFrame = -9959, /* previously errNotAFrame*/
- errJavaEmbeddingControlNotEmbedded = -9960, /* previously errControlNotEmbedded*/
- errJavaEmbeddingExceptionThrown = -9961, /* previously errExceptionThrown*/
- errJavaEmbeddingJavaDisabled = -9963
- };
-
-
-
- /*
- * MoveAndClipJavaControl()
- *
- * Summary:
- * Positions the control in the containing window, and sets the clip
- * bounds for drawing.
- *
- * Discussion:
- * All coordinates are local to the host window, and 0,0 is the top
- * left corner of the content area of the host window - just below
- * the title bar.
- * Usually a call to MoveAndClipJavaControl is followed by a call to
- * DrawJavaControl.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * theControl:
- * The Java control (applet).
- *
- * posX:
- * The x position of the control.
- *
- * posY:
- * The y position of the control.
- *
- * clipX:
- * The left of the clip region.
- *
- * clipY:
- * The top of the clip region.
- *
- * clipWidth:
- * The width of the clip region. (Notice this is not right, but
- * width)
- *
- * clipHeight:
- * The height of the clip region. (Notice this is not bottom, but
- * height)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- MoveAndClipJavaControl(
- JNIEnv * env,
- ControlRef theControl,
- int posX,
- int posY,
- int clipX,
- int clipY,
- int clipWidth,
- int clipHeight);
-
-
- /*
- * SizeJavaControl()
- *
- * Summary:
- * Sets the size of the Java control.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- SizeJavaControl(
- JNIEnv * env,
- ControlRef theControl,
- int width,
- int height);
-
-
- /*
- * ShowHideJavaControl()
- *
- * Summary:
- * Makes a Java control visible or invisible.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * theControl:
- * The Java control (applet).
- *
- * visible:
- * True shows the control.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- ShowHideJavaControl(
- JNIEnv * env,
- ControlRef theControl,
- Boolean visible);
-
-
- /*
- * StopJavaControlAsyncDrawing()
- *
- * Summary:
- * Stops a Java applet from drawing asynchonously.
- *
- * Discussion:
- * Many applets are used for animation and they draw themselves at
- * times other than when the control is drawn. In order to handle
- * things like live resize and scrolling a host app must be able to
- * suspend asynchronous drawing otherwise a draw may occur before
- * the host app is able to reposition/reclip the control thus
- * causing drawing in the wrong location. When async drawing is off
- * normal paint events in an applet are ignored. Only
- * DrawJavaControl events are allowed to paint. This allows
- * temporary fine grained control of when an applet can paint, and
- * should only be used when needed.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * theControl:
- * The Java control (applet).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- StopJavaControlAsyncDrawing(
- JNIEnv * env,
- ControlRef theControl);
-
-
- /*
- * RestartJavaControlAsyncDrawing()
- *
- * Summary:
- * Allows a Java applet to draw asynchonously.
- *
- * Discussion:
- * This should be called when it is safe again for an applet to draw
- * asynchronously. See StopJavaControlAsyncDrawing.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * theControl:
- * The Java control (applet).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- RestartJavaControlAsyncDrawing(
- JNIEnv * env,
- ControlRef theControl);
-
-
- /*
- * DrawJavaControl()
- *
- * Summary:
- * Causes a Java control that to be drawn.
- *
- * Discussion:
- * This should be called whenever the host app needs the
- * applet/control to be redrawn. In the case where Async drawing is
- * paused, DrawJavaControl will still cause the applet to draw. So
- * if the host app is stopping async drawing for something like live
- * scrolling, if there are convenient times the host app should call
- * DrawJavaControl (usually after a call to MoveAndClipJavaControl)
- * to provide some feedback to the user.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * theControl:
- * The corresponding Java control (applet) that is to be drawn.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- DrawJavaControl(
- JNIEnv * env,
- ControlRef theControl);
-
-
-
- /*
- ========================================================================================
- UTILITY API - functions to determine the status of a window or control
- ========================================================================================
- */
-
- /*
- * GetJavaWindowFromWindow()
- *
- * Discussion:
- * Given a native Carbon window this returns the corresponding Java
- * window.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * inMacWindow:
- * A reference to a native window.
- *
- * outJavaWindow:
- * Returns a JNI global ref. Call env->DeleteGlobalRef() on it
- * when done.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- GetJavaWindowFromWindow(
- JNIEnv * env,
- WindowRef inMacWindow,
- jobject * outJavaWindow);
-
-
- /*
- * GetWindowFromJavaWindow()
- *
- * Discussion:
- * Given a Java window this returns the corresponding native Carbon
- * window.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * inJavaWindow:
- * A reference to a Java window.
- *
- * outMacWindow:
- * The corresponding native window.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowFromJavaWindow(
- JNIEnv * env,
- jobject inJavaWindow,
- WindowRef * outMacWindow);
-
-
- /*
- * GetJavaFrameFromControl()
- *
- * Discussion:
- * Given an embedded control this returns the corresponding Java
- * applet frame.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * inMacControl:
- * A reference to the control for the applet.
- *
- * outJavaFrame:
- * Returns a JNI global ref. Call env->DeleteGlobalRef() on it
- * when done.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- GetJavaFrameFromControl(
- JNIEnv * env,
- ControlRef inMacControl,
- jobject * outJavaFrame);
-
-
- /*
- * GetControlFromJavaFrame()
- *
- * Discussion:
- * Given a Java applet frame reference this returns the embedded
- * control.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * inJavaFrame:
- * The applet reference obtained from CreateJavaApplet.
- *
- * outMacControl:
- * A reference to the control for the applet.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- GetControlFromJavaFrame(
- JNIEnv * env,
- jobject inJavaFrame,
- ControlRef * outMacControl);
-
-
-
- /*
- * CreateJavaControl()
- *
- * Discussion:
- * Creates a control for the specified applet whose content is drawn
- * and events processed by java.
- * All communication to this control should be through the APIs
- * specified here in JavaControl.h.
- *
- * Parameters:
- *
- * env:
- * The JNI Environment for the current thread.
- *
- * inNativeWindow:
- * The carbon window that will host the applet.
- *
- * inBounds:
- * The starting location for the applet.
- *
- * inAppletFrame:
- * The applet reference obtained from CreateJavaApplet.
- *
- * inVisible:
- * True if the applet should start out hidden.
- *
- * outControl:
- * A reference to the control that is created for the applet.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- CreateJavaControl(
- JNIEnv * env,
- WindowRef inNativeWindow,
- const Rect * inBounds,
- jobject inAppletFrame,
- Boolean inVisible,
- ControlRef * outControl);
+/*
+ * Summary:
+ * JavaControl Embedding errors
+ *
+ * Discussion:
+ * The following are all errors which can be returned from the
+ * routines contained in this file. Most are self explanatory.
+ */
+enum {
+ errJavaEmbeddingNotYetImplemented = -9950,
+ errJavaEmbeddingIntializationFailed = -9962, /* previously errClassConstructorNotFound, errClassNotFound, and errMethodNotFound*/
+ errJavaEmbeddingMissingURL = -9955, /* previously errMissingURL*/
+ errJavaEmbeddingCouldNotCreateApplet = -9956, /* previously errCouldNotCreateApplet*/
+ errJavaEmbeddingCouldNotEmbedFrame = -9957, /* previously errCouldNotEmbedFrame */
+ errJavaEmbeddingCouldNotConvertURL = -9958, /* previously errCouldNotConvertURL*/
+ errJavaEmbeddingNotAFrame = -9959, /* previously errNotAFrame*/
+ errJavaEmbeddingControlNotEmbedded = -9960, /* previously errControlNotEmbedded*/
+ errJavaEmbeddingExceptionThrown = -9961, /* previously errExceptionThrown*/
+ errJavaEmbeddingJavaDisabled = -9963
+};
+
+
+
+/*
+ * MoveAndClipJavaControl()
+ *
+ * Summary:
+ * Positions the control in the containing window, and sets the clip
+ * bounds for drawing.
+ *
+ * Discussion:
+ * All coordinates are local to the host window, and 0,0 is the top
+ * left corner of the content area of the host window - just below
+ * the title bar.
+ * Usually a call to MoveAndClipJavaControl is followed by a call to
+ * DrawJavaControl.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * theControl:
+ * The Java control (applet).
+ *
+ * posX:
+ * The x position of the control.
+ *
+ * posY:
+ * The y position of the control.
+ *
+ * clipX:
+ * The left of the clip region.
+ *
+ * clipY:
+ * The top of the clip region.
+ *
+ * clipWidth:
+ * The width of the clip region. (Notice this is not right, but
+ * width)
+ *
+ * clipHeight:
+ * The height of the clip region. (Notice this is not bottom, but
+ * height)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+MoveAndClipJavaControl(
+ JNIEnv * env,
+ ControlRef theControl,
+ int posX,
+ int posY,
+ int clipX,
+ int clipY,
+ int clipWidth,
+ int clipHeight);
+
+
+/*
+ * SizeJavaControl()
+ *
+ * Summary:
+ * Sets the size of the Java control.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+SizeJavaControl(
+ JNIEnv * env,
+ ControlRef theControl,
+ int width,
+ int height);
+
+
+/*
+ * ShowHideJavaControl()
+ *
+ * Summary:
+ * Makes a Java control visible or invisible.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * theControl:
+ * The Java control (applet).
+ *
+ * visible:
+ * True shows the control.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+ShowHideJavaControl(
+ JNIEnv * env,
+ ControlRef theControl,
+ Boolean visible);
+
+
+/*
+ * StopJavaControlAsyncDrawing()
+ *
+ * Summary:
+ * Stops a Java applet from drawing asynchonously.
+ *
+ * Discussion:
+ * Many applets are used for animation and they draw themselves at
+ * times other than when the control is drawn. In order to handle
+ * things like live resize and scrolling a host app must be able to
+ * suspend asynchronous drawing otherwise a draw may occur before
+ * the host app is able to reposition/reclip the control thus
+ * causing drawing in the wrong location. When async drawing is off
+ * normal paint events in an applet are ignored. Only
+ * DrawJavaControl events are allowed to paint. This allows
+ * temporary fine grained control of when an applet can paint, and
+ * should only be used when needed.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * theControl:
+ * The Java control (applet).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+StopJavaControlAsyncDrawing(
+ JNIEnv * env,
+ ControlRef theControl);
+
+
+/*
+ * RestartJavaControlAsyncDrawing()
+ *
+ * Summary:
+ * Allows a Java applet to draw asynchonously.
+ *
+ * Discussion:
+ * This should be called when it is safe again for an applet to draw
+ * asynchronously. See StopJavaControlAsyncDrawing.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * theControl:
+ * The Java control (applet).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+RestartJavaControlAsyncDrawing(
+ JNIEnv * env,
+ ControlRef theControl);
+
+
+/*
+ * DrawJavaControl()
+ *
+ * Summary:
+ * Causes a Java control that to be drawn.
+ *
+ * Discussion:
+ * This should be called whenever the host app needs the
+ * applet/control to be redrawn. In the case where Async drawing is
+ * paused, DrawJavaControl will still cause the applet to draw. So
+ * if the host app is stopping async drawing for something like live
+ * scrolling, if there are convenient times the host app should call
+ * DrawJavaControl (usually after a call to MoveAndClipJavaControl)
+ * to provide some feedback to the user.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * theControl:
+ * The corresponding Java control (applet) that is to be drawn.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+DrawJavaControl(
+ JNIEnv * env,
+ ControlRef theControl);
+
+
+
+/*
+ ========================================================================================
+ UTILITY API - functions to determine the status of a window or control
+ ========================================================================================
+*/
+
+/*
+ * GetJavaWindowFromWindow()
+ *
+ * Discussion:
+ * Given a native Carbon window this returns the corresponding Java
+ * window.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * inMacWindow:
+ * A reference to a native window.
+ *
+ * outJavaWindow:
+ * Returns a JNI global ref. Call env->DeleteGlobalRef() on it
+ * when done.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+GetJavaWindowFromWindow(
+ JNIEnv * env,
+ WindowRef inMacWindow,
+ jobject * outJavaWindow);
+
+
+/*
+ * GetWindowFromJavaWindow()
+ *
+ * Discussion:
+ * Given a Java window this returns the corresponding native Carbon
+ * window.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * inJavaWindow:
+ * A reference to a Java window.
+ *
+ * outMacWindow:
+ * The corresponding native window.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowFromJavaWindow(
+ JNIEnv * env,
+ jobject inJavaWindow,
+ WindowRef * outMacWindow);
+
+
+/*
+ * GetJavaFrameFromControl()
+ *
+ * Discussion:
+ * Given an embedded control this returns the corresponding Java
+ * applet frame.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * inMacControl:
+ * A reference to the control for the applet.
+ *
+ * outJavaFrame:
+ * Returns a JNI global ref. Call env->DeleteGlobalRef() on it
+ * when done.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+GetJavaFrameFromControl(
+ JNIEnv * env,
+ ControlRef inMacControl,
+ jobject * outJavaFrame);
+
+
+/*
+ * GetControlFromJavaFrame()
+ *
+ * Discussion:
+ * Given a Java applet frame reference this returns the embedded
+ * control.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * inJavaFrame:
+ * The applet reference obtained from CreateJavaApplet.
+ *
+ * outMacControl:
+ * A reference to the control for the applet.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+GetControlFromJavaFrame(
+ JNIEnv * env,
+ jobject inJavaFrame,
+ ControlRef * outMacControl);
+
+
+
+/*
+ * CreateJavaControl()
+ *
+ * Discussion:
+ * Creates a control for the specified applet whose content is drawn
+ * and events processed by java.
+ * All communication to this control should be through the APIs
+ * specified here in JavaControl.h.
+ *
+ * Parameters:
+ *
+ * env:
+ * The JNI Environment for the current thread.
+ *
+ * inNativeWindow:
+ * The carbon window that will host the applet.
+ *
+ * inBounds:
+ * The starting location for the applet.
+ *
+ * inAppletFrame:
+ * The applet reference obtained from CreateJavaApplet.
+ *
+ * inVisible:
+ * True if the applet should start out hidden.
+ *
+ * outControl:
+ * A reference to the control that is created for the applet.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateJavaControl(
+ JNIEnv * env,
+ WindowRef inNativeWindow,
+ const Rect * inBounds,
+ jobject inAppletFrame,
+ Boolean inVisible,
+ ControlRef * outControl);
diff --git a/include/qt/JavaEmbedding.h b/include/qt/JavaEmbedding.h
index 35f508e62..e7d677b3b 100644
--- a/include/qt/JavaEmbedding.h
+++ b/include/qt/JavaEmbedding.h
@@ -1,17 +1,17 @@
/*
File: JavaEmbedding.h
-
+
Contains: Master include for JavaEmbedding
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __JAVAEMBEDDING__
#define __JAVAEMBEDDING__
diff --git a/include/qt/Keyboards.h b/include/qt/Keyboards.h
index f78b33dd7..3fe841848 100644
--- a/include/qt/Keyboards.h
+++ b/include/qt/Keyboards.h
@@ -1,17 +1,17 @@
/*
File: Keyboards.h
-
+
Contains: Keyboard API.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __KEYBOARDS__
#define __KEYBOARDS__
@@ -38,520 +38,514 @@ extern "C" {
#pragma import on
#endif
- /*----------------------------------------------------------------------------------*/
- /* Keyboard API constants */
- /*----------------------------------------------------------------------------------*/
- /* Keyboard API Trap Number. Should be moved to Traps.i */
- enum {
- _KeyboardDispatch = 0xAA7A
- };
-
- /* Gestalt selector and values for the Keyboard API */
- enum
- {
- gestaltKeyboardsAttr = FOUR_CHAR_CODE('kbds'),
- gestaltKBPS2Keyboards = 1,
- gestaltKBPS2SetIDToAny = 2,
- gestaltKBPS2SetTranslationTable = 4
- };
-
- /* Keyboard API Error Codes */
- /*
- I stole the range blow from the empty space in the Allocation project but should
- be updated to the officially registered range.
- */
- enum
- {
- errKBPS2KeyboardNotAvailable = -30850,
- errKBIlligalParameters = -30851,
- errKBFailSettingID = -30852,
- errKBFailSettingTranslationTable = -30853,
- errKBFailWritePreference = -30854
- };
-
-
- /*
- * PhysicalKeyboardLayoutType
- *
- * Summary:
- * Physical keyboard layout types indicate the physical keyboard
- * layout. They are returned by the KBGetLayoutType API.
- */
- typedef UInt32 PhysicalKeyboardLayoutType;
- enum
- {
-
- /*
- * A JIS keyboard layout type.
- */
- kKeyboardJIS = FOUR_CHAR_CODE('JIS '),
-
- /*
- * An ANSI keyboard layout type.
- */
- kKeyboardANSI = FOUR_CHAR_CODE('ANSI'),
-
- /*
- * An ISO keyboard layout type.
- */
- kKeyboardISO = FOUR_CHAR_CODE('ISO '),
-
- /*
- * An unknown physical keyboard layout type.
- */
- kKeyboardUnknown = kUnknownType /* '????'*/
- };
-
-
- /*----------------------------------------------------------------------------------*/
- /* Keyboard API types */
- /*----------------------------------------------------------------------------------*/
-
-
-
- /*----------------------------------------------------------------------------------*/
- /* Keyboard API routines */
- /*----------------------------------------------------------------------------------*/
+/*----------------------------------------------------------------------------------*/
+/* Keyboard API constants */
+/*----------------------------------------------------------------------------------*/
+/* Keyboard API Trap Number. Should be moved to Traps.i */
+enum {
+ _KeyboardDispatch = 0xAA7A
+};
+
+/* Gestalt selector and values for the Keyboard API */
+enum {
+ gestaltKeyboardsAttr = FOUR_CHAR_CODE('kbds'),
+ gestaltKBPS2Keyboards = 1,
+ gestaltKBPS2SetIDToAny = 2,
+ gestaltKBPS2SetTranslationTable = 4
+};
+
+/* Keyboard API Error Codes */
+/*
+ I stole the range blow from the empty space in the Allocation project but should
+ be updated to the officially registered range.
+*/
+enum {
+ errKBPS2KeyboardNotAvailable = -30850,
+ errKBIlligalParameters = -30851,
+ errKBFailSettingID = -30852,
+ errKBFailSettingTranslationTable = -30853,
+ errKBFailWritePreference = -30854
+};
+
+
+/*
+ * PhysicalKeyboardLayoutType
+ *
+ * Summary:
+ * Physical keyboard layout types indicate the physical keyboard
+ * layout. They are returned by the KBGetLayoutType API.
+ */
+typedef UInt32 PhysicalKeyboardLayoutType;
+enum {
+
+ /*
+ * A JIS keyboard layout type.
+ */
+ kKeyboardJIS = FOUR_CHAR_CODE('JIS '),
+
+ /*
+ * An ANSI keyboard layout type.
+ */
+ kKeyboardANSI = FOUR_CHAR_CODE('ANSI'),
+
+ /*
+ * An ISO keyboard layout type.
+ */
+ kKeyboardISO = FOUR_CHAR_CODE('ISO '),
+
+ /*
+ * An unknown physical keyboard layout type.
+ */
+ kKeyboardUnknown = kUnknownType /* '????'*/
+};
+
+
+/*----------------------------------------------------------------------------------*/
+/* Keyboard API types */
+/*----------------------------------------------------------------------------------*/
+
+
+
+/*----------------------------------------------------------------------------------*/
+/* Keyboard API routines */
+/*----------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
- /*
- * KBInitialize()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- KBInitialize(void) THREEWORDINLINE(0x303C, 0x0000, 0xAA7A);
-
-
- /*
- * KBSetupPS2Keyboard()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- KBSetupPS2Keyboard(
- SInt16 keyboardType,
- SInt8 * alternativeTable) THREEWORDINLINE(0x303C, 0x0001, 0xAA7A);
-
-
- /*
- * KBGetPS2KeyboardID()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- KBGetPS2KeyboardID(SInt16 * keyboardType) THREEWORDINLINE(0x303C, 0x0002, 0xAA7A);
-
-
- /*
- * KBIsPS2KeyboardConnected()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- KBIsPS2KeyboardConnected(void) THREEWORDINLINE(0x303C, 0x0003, 0xAA7A);
-
-
- /*
- * KBIsPS2KeyboardEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- KBIsPS2KeyboardEnabled(void) THREEWORDINLINE(0x303C, 0x0004, 0xAA7A);
-
-
- /*
- * KBGetPS2KeyboardAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt32)
- KBGetPS2KeyboardAttributes(void) THREEWORDINLINE(0x303C, 0x0005, 0xAA7A);
-
-
- /*
- * KBSetKCAPForPS2Keyboard()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- KBSetKCAPForPS2Keyboard(Handle kcapHandle) THREEWORDINLINE(0x303C, 0x0006, 0xAA7A);
-
-
- /*
- * KBSetupPS2KeyboardFromLayoutType()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- KBSetupPS2KeyboardFromLayoutType(OSType layoutType) THREEWORDINLINE(0x303C, 0x0008, 0xAA7A);
-
-
- /*
- * KBGetPS2KeyboardLayoutType()
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- KBGetPS2KeyboardLayoutType(OSType * layoutType) THREEWORDINLINE(0x303C, 0x0009, 0xAA7A);
+/*
+ * KBInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+KBInitialize(void) THREEWORDINLINE(0x303C, 0x0000, 0xAA7A);
+
+
+/*
+ * KBSetupPS2Keyboard()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+KBSetupPS2Keyboard(
+ SInt16 keyboardType,
+ SInt8 * alternativeTable) THREEWORDINLINE(0x303C, 0x0001, 0xAA7A);
+
+
+/*
+ * KBGetPS2KeyboardID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+KBGetPS2KeyboardID(SInt16 * keyboardType) THREEWORDINLINE(0x303C, 0x0002, 0xAA7A);
+
+
+/*
+ * KBIsPS2KeyboardConnected()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+KBIsPS2KeyboardConnected(void) THREEWORDINLINE(0x303C, 0x0003, 0xAA7A);
+
+
+/*
+ * KBIsPS2KeyboardEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+KBIsPS2KeyboardEnabled(void) THREEWORDINLINE(0x303C, 0x0004, 0xAA7A);
+
+
+/*
+ * KBGetPS2KeyboardAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt32 )
+KBGetPS2KeyboardAttributes(void) THREEWORDINLINE(0x303C, 0x0005, 0xAA7A);
+
+
+/*
+ * KBSetKCAPForPS2Keyboard()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+KBSetKCAPForPS2Keyboard(Handle kcapHandle) THREEWORDINLINE(0x303C, 0x0006, 0xAA7A);
+
+
+/*
+ * KBSetupPS2KeyboardFromLayoutType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+KBSetupPS2KeyboardFromLayoutType(OSType layoutType) THREEWORDINLINE(0x303C, 0x0008, 0xAA7A);
+
+
+/*
+ * KBGetPS2KeyboardLayoutType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+KBGetPS2KeyboardLayoutType(OSType * layoutType) THREEWORDINLINE(0x303C, 0x0009, 0xAA7A);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * KBGetLayoutType()
- *
- * Summary:
- * Returns the physical keyboard layout type.
- *
- * Parameters:
- *
- * iKeyboardType:
- * The keyboard type ID. LMGetKbdType().
- *
- * Availability:
- * Non-Carbon CFM: in KeyboardsLib 1.0 and later
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSType)
- KBGetLayoutType(SInt16 iKeyboardType) THREEWORDINLINE(0x303C, 0x0007, 0xAA7A);
-
-
-
- /*
- * KeyboardLayoutRef
- *
- * Summary:
- * The opaque keyboard layout contains information about a keyboard
- * layout. It is used with the keyboard layout APIs.
- *
- * Discussion:
- * KeyboardLayoutRef APIs follow CoreFoundation function naming
- * convention. You mustn't release any references you get from APIs
- * named "Get."
- */
- typedef struct OpaqueKeyboardLayoutRef* KeyboardLayoutRef;
-
- /*
- * KeyboardLayoutPropertyTag
- *
- * Summary:
- * Keyboard layout property tags specify the value you want to
- * retrieve. They are used with the KLGetKeyboardLayoutProperty API.
- */
- typedef UInt32 KeyboardLayoutPropertyTag;
- enum
- {
-
- /*
- * The keyboard layout data (const void *). It is used with the
- * KeyTranslate API.
- */
- kKLKCHRData = 0,
-
- /*
- * The keyboard layout data (const void *). It is used with the
- * UCKeyTranslate API.
- */
- kKLuchrData = 1,
-
- /*
- * The keyboard layout identifier (SInt32).
- */
- kKLIdentifier = 2,
-
- /*
- * The keyboard layout icon (IconRef).
- */
- kKLIcon = 3,
-
- /*
- * The localized keyboard layout name (CFStringRef).
- */
- kKLLocalizedName = 4,
-
- /*
- * The keyboard layout name (CFStringRef).
- */
- kKLName = 5,
-
- /*
- * The keyboard layout group identifier (SInt32).
- */
- kKLGroupIdentifier = 6,
-
- /*
- * The keyboard layout kind (SInt32).
- */
- kKLKind = 7
- };
-
-
- /*
- * KeyboardLayoutKind
- *
- * Summary:
- * Keyboard layout kinds indicate available keyboard layout formats.
- */
- typedef SInt32 KeyboardLayoutKind;
- enum
- {
-
- /*
- * Both KCHR and uchr formats are available.
- */
- kKLKCHRuchrKind = 0,
-
- /*
- * Only KCHR format is avaiable.
- */
- kKLKCHRKind = 1,
-
- /*
- * Only uchr format is available.
- */
- kKLuchrKind = 2
- };
-
-
- /*
- * KeyboardLayoutIdentifier
- *
- * Summary:
- * Keyboard layout identifiers specify particular keyboard layouts.
- */
- typedef SInt32 KeyboardLayoutIdentifier;
- enum
- {
- kKLUSKeyboard = 0
- };
-
- /* iterate keyboard layouts*/
-
- /*
- * KLGetKeyboardLayoutCount()
- *
- * Summary:
- * Returns the number of keyboard layouts.
- *
- * Parameters:
- *
- * oCount:
- * On exit, the number of keyboard layouts
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- KLGetKeyboardLayoutCount(CFIndex * oCount);
-
-
- /*
- * KLGetKeyboardLayoutAtIndex()
- *
- * Summary:
- * Retrieves the keyboard layout at the given index.
- *
- * Parameters:
- *
- * iIndex:
- * The index of the keyboard layout to retrieve. If the index is
- * outside the index space of the keyboard layouts (0 to N-1
- * inclusive, where N is the count of the keyboard layouts), the
- * behavior is undefined.
- *
- * oKeyboardLayout:
- * On exit, the keyboard layout with the given index.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- KLGetKeyboardLayoutAtIndex(
- CFIndex iIndex,
- KeyboardLayoutRef * oKeyboardLayout);
-
-
- /* NOTE: "Indexed" is a wrong name, please use "AtIndex"...*/
- /*
- * KLGetIndexedKeyboardLayout()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- KLGetIndexedKeyboardLayout(
- CFIndex iIndex,
- KeyboardLayoutRef * oKeyboardLayout);
-
-
- /* get keyboard layout info*/
-
- /*
- * KLGetKeyboardLayoutProperty()
- *
- * Summary:
- * Retrives property value for the given keyboard layout and tag.
- *
- * Parameters:
- *
- * iKeyboardLayout:
- * The keyboard layout to be queried. If this parameter is not a
- * valid KeyboardLayoutRef, the behavior is undefined.
- *
- * iPropertyTag:
- * The property tag.
- *
- * oValue:
- * On exit, the property value for the given keyboard layout and
- * tag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- KLGetKeyboardLayoutProperty(
- KeyboardLayoutRef iKeyboardLayout,
- KeyboardLayoutPropertyTag iPropertyTag,
- const void ** oValue);
-
-
- /* get keyboard layout with identifier or name*/
-
- /*
- * KLGetKeyboardLayoutWithIdentifier()
- *
- * Summary:
- * Retrieves the keyboard layout with the given identifier.
- *
- * Discussion:
- * For now, the identifier is in the range of SInt16 which is
- * compatible with the Resource Manager resource ID. However, it
- * will become an arbitrary SInt32 value at some point, so do not
- * assume it is in SInt16 range or falls into the "script range" of
- * the resource IDs.
- *
- * Parameters:
- *
- * iIdentifier:
- * The keyboard layout identifier.
- *
- * oKeyboardLayout:
- * On exit, the keyboard layout with the given identifier.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- KLGetKeyboardLayoutWithIdentifier(
- SInt32 iIdentifier,
- KeyboardLayoutRef * oKeyboardLayout);
-
-
- /*
- * KLGetKeyboardLayoutWithName()
- *
- * Summary:
- * Retrieves the keyboard layout with the given name.
- *
- * Parameters:
- *
- * iName:
- * The keyboard layout name.
- *
- * oKeyboardLayout:
- * On exit, the keyboard layout with the given name.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- KLGetKeyboardLayoutWithName(
- CFStringRef iName,
- KeyboardLayoutRef * oKeyboardLayout);
-
-
- /* get/set current keyboard layout of the current group identifier*/
-
- /*
- * KLGetCurrentKeyboardLayout()
- *
- * Summary:
- * Retrieves the current keyboard layout.
- *
- * Parameters:
- *
- * oKeyboardLayout:
- * On exit, the current keyboard layout.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- KLGetCurrentKeyboardLayout(KeyboardLayoutRef * oKeyboardLayout);
-
-
- /*
- * KLSetCurrentKeyboardLayout()
- *
- * Summary:
- * Sets the current keyboard layout.
- *
- * Parameters:
- *
- * iKeyboardLayout:
- * The keyboard layout.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- KLSetCurrentKeyboardLayout(KeyboardLayoutRef iKeyboardLayout);
+/*
+ * KBGetLayoutType()
+ *
+ * Summary:
+ * Returns the physical keyboard layout type.
+ *
+ * Parameters:
+ *
+ * iKeyboardType:
+ * The keyboard type ID. LMGetKbdType().
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeyboardsLib 1.0 and later
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSType )
+KBGetLayoutType(SInt16 iKeyboardType) THREEWORDINLINE(0x303C, 0x0007, 0xAA7A);
+
+
+
+/*
+ * KeyboardLayoutRef
+ *
+ * Summary:
+ * The opaque keyboard layout contains information about a keyboard
+ * layout. It is used with the keyboard layout APIs.
+ *
+ * Discussion:
+ * KeyboardLayoutRef APIs follow CoreFoundation function naming
+ * convention. You mustn't release any references you get from APIs
+ * named "Get."
+ */
+typedef struct OpaqueKeyboardLayoutRef* KeyboardLayoutRef;
+
+/*
+ * KeyboardLayoutPropertyTag
+ *
+ * Summary:
+ * Keyboard layout property tags specify the value you want to
+ * retrieve. They are used with the KLGetKeyboardLayoutProperty API.
+ */
+typedef UInt32 KeyboardLayoutPropertyTag;
+enum {
+
+ /*
+ * The keyboard layout data (const void *). It is used with the
+ * KeyTranslate API.
+ */
+ kKLKCHRData = 0,
+
+ /*
+ * The keyboard layout data (const void *). It is used with the
+ * UCKeyTranslate API.
+ */
+ kKLuchrData = 1,
+
+ /*
+ * The keyboard layout identifier (SInt32).
+ */
+ kKLIdentifier = 2,
+
+ /*
+ * The keyboard layout icon (IconRef).
+ */
+ kKLIcon = 3,
+
+ /*
+ * The localized keyboard layout name (CFStringRef).
+ */
+ kKLLocalizedName = 4,
+
+ /*
+ * The keyboard layout name (CFStringRef).
+ */
+ kKLName = 5,
+
+ /*
+ * The keyboard layout group identifier (SInt32).
+ */
+ kKLGroupIdentifier = 6,
+
+ /*
+ * The keyboard layout kind (SInt32).
+ */
+ kKLKind = 7
+};
+
+
+/*
+ * KeyboardLayoutKind
+ *
+ * Summary:
+ * Keyboard layout kinds indicate available keyboard layout formats.
+ */
+typedef SInt32 KeyboardLayoutKind;
+enum {
+
+ /*
+ * Both KCHR and uchr formats are available.
+ */
+ kKLKCHRuchrKind = 0,
+
+ /*
+ * Only KCHR format is avaiable.
+ */
+ kKLKCHRKind = 1,
+
+ /*
+ * Only uchr format is available.
+ */
+ kKLuchrKind = 2
+};
+
+
+/*
+ * KeyboardLayoutIdentifier
+ *
+ * Summary:
+ * Keyboard layout identifiers specify particular keyboard layouts.
+ */
+typedef SInt32 KeyboardLayoutIdentifier;
+enum {
+ kKLUSKeyboard = 0
+};
+
+/* iterate keyboard layouts*/
+
+/*
+ * KLGetKeyboardLayoutCount()
+ *
+ * Summary:
+ * Returns the number of keyboard layouts.
+ *
+ * Parameters:
+ *
+ * oCount:
+ * On exit, the number of keyboard layouts
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+KLGetKeyboardLayoutCount(CFIndex * oCount);
+
+
+/*
+ * KLGetKeyboardLayoutAtIndex()
+ *
+ * Summary:
+ * Retrieves the keyboard layout at the given index.
+ *
+ * Parameters:
+ *
+ * iIndex:
+ * The index of the keyboard layout to retrieve. If the index is
+ * outside the index space of the keyboard layouts (0 to N-1
+ * inclusive, where N is the count of the keyboard layouts), the
+ * behavior is undefined.
+ *
+ * oKeyboardLayout:
+ * On exit, the keyboard layout with the given index.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+KLGetKeyboardLayoutAtIndex(
+ CFIndex iIndex,
+ KeyboardLayoutRef * oKeyboardLayout);
+
+
+/* NOTE: "Indexed" is a wrong name, please use "AtIndex"...*/
+/*
+ * KLGetIndexedKeyboardLayout()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+KLGetIndexedKeyboardLayout(
+ CFIndex iIndex,
+ KeyboardLayoutRef * oKeyboardLayout);
+
+
+/* get keyboard layout info*/
+
+/*
+ * KLGetKeyboardLayoutProperty()
+ *
+ * Summary:
+ * Retrives property value for the given keyboard layout and tag.
+ *
+ * Parameters:
+ *
+ * iKeyboardLayout:
+ * The keyboard layout to be queried. If this parameter is not a
+ * valid KeyboardLayoutRef, the behavior is undefined.
+ *
+ * iPropertyTag:
+ * The property tag.
+ *
+ * oValue:
+ * On exit, the property value for the given keyboard layout and
+ * tag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+KLGetKeyboardLayoutProperty(
+ KeyboardLayoutRef iKeyboardLayout,
+ KeyboardLayoutPropertyTag iPropertyTag,
+ const void ** oValue);
+
+
+/* get keyboard layout with identifier or name*/
+
+/*
+ * KLGetKeyboardLayoutWithIdentifier()
+ *
+ * Summary:
+ * Retrieves the keyboard layout with the given identifier.
+ *
+ * Discussion:
+ * For now, the identifier is in the range of SInt16 which is
+ * compatible with the Resource Manager resource ID. However, it
+ * will become an arbitrary SInt32 value at some point, so do not
+ * assume it is in SInt16 range or falls into the "script range" of
+ * the resource IDs.
+ *
+ * Parameters:
+ *
+ * iIdentifier:
+ * The keyboard layout identifier.
+ *
+ * oKeyboardLayout:
+ * On exit, the keyboard layout with the given identifier.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+KLGetKeyboardLayoutWithIdentifier(
+ SInt32 iIdentifier,
+ KeyboardLayoutRef * oKeyboardLayout);
+
+
+/*
+ * KLGetKeyboardLayoutWithName()
+ *
+ * Summary:
+ * Retrieves the keyboard layout with the given name.
+ *
+ * Parameters:
+ *
+ * iName:
+ * The keyboard layout name.
+ *
+ * oKeyboardLayout:
+ * On exit, the keyboard layout with the given name.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+KLGetKeyboardLayoutWithName(
+ CFStringRef iName,
+ KeyboardLayoutRef * oKeyboardLayout);
+
+
+/* get/set current keyboard layout of the current group identifier*/
+
+/*
+ * KLGetCurrentKeyboardLayout()
+ *
+ * Summary:
+ * Retrieves the current keyboard layout.
+ *
+ * Parameters:
+ *
+ * oKeyboardLayout:
+ * On exit, the current keyboard layout.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+KLGetCurrentKeyboardLayout(KeyboardLayoutRef * oKeyboardLayout);
+
+
+/*
+ * KLSetCurrentKeyboardLayout()
+ *
+ * Summary:
+ * Sets the current keyboard layout.
+ *
+ * Parameters:
+ *
+ * iKeyboardLayout:
+ * The keyboard layout.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+KLSetCurrentKeyboardLayout(KeyboardLayoutRef iKeyboardLayout);
diff --git a/include/qt/Keychain.h b/include/qt/Keychain.h
index 45cfa32f3..d149f807f 100644
--- a/include/qt/Keychain.h
+++ b/include/qt/Keychain.h
@@ -1,17 +1,17 @@
/*
File: Keychain.h
-
+
Contains: Keychain Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __KEYCHAIN__
#define __KEYCHAIN__
diff --git a/include/qt/KeychainCore.h b/include/qt/KeychainCore.h
index f7dc38731..99ec58c1b 100644
--- a/include/qt/KeychainCore.h
+++ b/include/qt/KeychainCore.h
@@ -1,17 +1,17 @@
/*
File: KeychainCore.h
-
+
Contains: Keychain low-level Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __KEYCHAINCORE__
#define __KEYCHAINCORE__
@@ -52,951 +52,921 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Data structures and types */
+/* Data structures and types */
#ifndef __SEC_TYPES__
#define __SEC_TYPES__
- typedef struct OpaqueSecKeychainRef* SecKeychainRef;
- typedef struct OpaqueSecKeychainItemRef* SecKeychainItemRef;
- typedef struct OpaqueSecKeychainSearchRef* SecKeychainSearchRef;
- typedef OSType SecKeychainAttrType;
- typedef UInt32 SecKeychainStatus;
- struct SecKeychainAttribute
- {
- SecKeychainAttrType tag; /* 4-byte attribute tag */
- UInt32 length; /* Length of attribute data */
- void * data; /* Pointer to attribute data */
- };
- typedef struct SecKeychainAttribute SecKeychainAttribute;
- typedef SecKeychainAttribute * SecKeychainAttributePtr;
- struct SecKeychainAttributeList
- {
- UInt32 count; /* How many attributes in the array */
- SecKeychainAttribute * attr; /* Pointer to first attribute in array */
- };
- typedef struct SecKeychainAttributeList SecKeychainAttributeList;
+typedef struct OpaqueSecKeychainRef* SecKeychainRef;
+typedef struct OpaqueSecKeychainItemRef* SecKeychainItemRef;
+typedef struct OpaqueSecKeychainSearchRef* SecKeychainSearchRef;
+typedef OSType SecKeychainAttrType;
+typedef UInt32 SecKeychainStatus;
+struct SecKeychainAttribute {
+ SecKeychainAttrType tag; /* 4-byte attribute tag */
+ UInt32 length; /* Length of attribute data */
+ void * data; /* Pointer to attribute data */
+};
+typedef struct SecKeychainAttribute SecKeychainAttribute;
+typedef SecKeychainAttribute * SecKeychainAttributePtr;
+struct SecKeychainAttributeList {
+ UInt32 count; /* How many attributes in the array */
+ SecKeychainAttribute * attr; /* Pointer to first attribute in array */
+};
+typedef struct SecKeychainAttributeList SecKeychainAttributeList;
#endif
- typedef SecKeychainRef KCRef;
- typedef SecKeychainItemRef KCItemRef;
- typedef SecKeychainSearchRef KCSearchRef;
- typedef SecKeychainAttribute KCAttribute;
- typedef SecKeychainAttributeList KCAttributeList;
- typedef SecKeychainAttrType KCAttrType;
- typedef SecKeychainStatus KCStatus;
- typedef UInt16 KCEvent;
- enum
- {
- kIdleKCEvent = 0, /* null event */
- kLockKCEvent = 1, /* a keychain was locked */
- kUnlockKCEvent = 2, /* a keychain was unlocked */
- kAddKCEvent = 3, /* an item was added to a keychain */
- kDeleteKCEvent = 4, /* an item was deleted from a keychain */
- kUpdateKCEvent = 5, /* an item was updated */
- kPasswordChangedKCEvent = 6, /* the keychain identity was changed */
- kSystemKCEvent = 8, /* the keychain client can process events */
- kDefaultChangedKCEvent = 9, /* the default keychain was changed */
- kDataAccessKCEvent = 10, /* a process has accessed a keychain item's data */
- kKeychainListChangedKCEvent = 11 /* the list of keychains has changed */
- };
-
- typedef UInt16 KCEventMask;
- enum
- {
- kIdleKCEventMask = 1 << kIdleKCEvent,
- kLockKCEventMask = 1 << kLockKCEvent,
- kUnlockKCEventMask = 1 << kUnlockKCEvent,
- kAddKCEventMask = 1 << kAddKCEvent,
- kDeleteKCEventMask = 1 << kDeleteKCEvent,
- kUpdateKCEventMask = 1 << kUpdateKCEvent,
- kPasswordChangedKCEventMask = 1 << kPasswordChangedKCEvent,
- kSystemEventKCEventMask = 1 << kSystemKCEvent,
- kDefaultChangedKCEventMask = 1 << kDefaultChangedKCEvent,
- kDataAccessKCEventMask = 1 << kDataAccessKCEvent,
- kEveryKCEventMask = 0xFFFF /* all of the above*/
- };
-
- typedef UInt8 AFPServerSignature[16];
- typedef UInt8 KCPublicKeyHash[20];
- struct KCCallbackInfo
- {
- UInt32 version;
- KCItemRef item;
- long processID[2]; /* unavailable on Mac OS X*/
- long event[4]; /* unavailable on Mac OS X*/
- KCRef keychain;
- };
- typedef struct KCCallbackInfo KCCallbackInfo;
- enum
- {
- kUnlockStateKCStatus = 1,
- kRdPermKCStatus = 2,
- kWrPermKCStatus = 4
- };
-
-
- enum
- {
- kCertificateKCItemClass = FOUR_CHAR_CODE('cert'), /* Certificate */
- kAppleSharePasswordKCItemClass = FOUR_CHAR_CODE('ashp'), /* Appleshare password */
- kInternetPasswordKCItemClass = FOUR_CHAR_CODE('inet'), /* Internet password */
- kGenericPasswordKCItemClass = FOUR_CHAR_CODE('genp') /* Generic password */
- };
-
-
- typedef FourCharCode KCItemClass;
- enum
- {
- /* Common attributes */
- kClassKCItemAttr = FOUR_CHAR_CODE('clas'), /* Item class (KCItemClass) */
- kCreationDateKCItemAttr = FOUR_CHAR_CODE('cdat'), /* Date the item was created (UInt32) */
- kModDateKCItemAttr = FOUR_CHAR_CODE('mdat'), /* Last time the item was updated (UInt32) */
- kDescriptionKCItemAttr = FOUR_CHAR_CODE('desc'), /* User-visible description string (string) */
- kCommentKCItemAttr = FOUR_CHAR_CODE('icmt'), /* User's comment about the item (string) */
- kCreatorKCItemAttr = FOUR_CHAR_CODE('crtr'), /* Item's creator (OSType) */
- kTypeKCItemAttr = FOUR_CHAR_CODE('type'), /* Item's type (OSType) */
- kScriptCodeKCItemAttr = FOUR_CHAR_CODE('scrp'), /* Script code for all strings (ScriptCode) */
- kLabelKCItemAttr = FOUR_CHAR_CODE('labl'), /* Item label (string) */
- kInvisibleKCItemAttr = FOUR_CHAR_CODE('invi'), /* Invisible (boolean) */
- kNegativeKCItemAttr = FOUR_CHAR_CODE('nega'), /* Negative (boolean) */
- kCustomIconKCItemAttr = FOUR_CHAR_CODE('cusi'), /* Custom icon (boolean) */
- kAccountKCItemAttr = FOUR_CHAR_CODE('acct'), /* User account (string) */
- /* Unique Generic password attributes */
- kServiceKCItemAttr = FOUR_CHAR_CODE('svce'), /* Service (string) */
- kGenericKCItemAttr = FOUR_CHAR_CODE('gena'), /* User-defined attribute (untyped bytes) */
- /* Unique Internet password attributes */
- kSecurityDomainKCItemAttr = FOUR_CHAR_CODE('sdmn'), /* Security domain (string) */
- kServerKCItemAttr = FOUR_CHAR_CODE('srvr'), /* Server's domain name or IP address (string) */
- kAuthTypeKCItemAttr = FOUR_CHAR_CODE('atyp'), /* Authentication Type (KCAuthType) */
- kPortKCItemAttr = FOUR_CHAR_CODE('port'), /* Port (UInt16) */
- kPathKCItemAttr = FOUR_CHAR_CODE('path'), /* Path (string) */
- /* Unique Appleshare password attributes */
- kVolumeKCItemAttr = FOUR_CHAR_CODE('vlme'), /* Volume (string) */
- kAddressKCItemAttr = FOUR_CHAR_CODE('addr'), /* Server address (IP or domain name) or zone name (string) */
- kSignatureKCItemAttr = FOUR_CHAR_CODE('ssig'), /* Server signature block (AFPServerSignature) */
- /* Unique AppleShare and Internet attributes */
- kProtocolKCItemAttr = FOUR_CHAR_CODE('ptcl'), /* Protocol (KCProtocolType) */
- /* Certificate attributes */
- kSubjectKCItemAttr = FOUR_CHAR_CODE('subj'), /* Subject distinguished name (DER-encoded data) */
- kCommonNameKCItemAttr = FOUR_CHAR_CODE('cn '), /* Common Name (UTF8-encoded string) */
- kIssuerKCItemAttr = FOUR_CHAR_CODE('issu'), /* Issuer distinguished name (DER-encoded data) */
- kSerialNumberKCItemAttr = FOUR_CHAR_CODE('snbr'), /* Certificate serial number (DER-encoded data) */
- kEMailKCItemAttr = FOUR_CHAR_CODE('mail'), /* E-mail address (ASCII-encoded string) */
- kPublicKeyHashKCItemAttr = FOUR_CHAR_CODE('hpky'), /* Hash of public key (KCPublicKeyHash), 20 bytes max. */
- kIssuerURLKCItemAttr = FOUR_CHAR_CODE('iurl'), /* URL of the certificate issuer (ASCII-encoded string) */
- /* Shared by keys and certificates */
- kEncryptKCItemAttr = FOUR_CHAR_CODE('encr'), /* Encrypt (Boolean) */
- kDecryptKCItemAttr = FOUR_CHAR_CODE('decr'), /* Decrypt (Boolean) */
- kSignKCItemAttr = FOUR_CHAR_CODE('sign'), /* Sign (Boolean) */
- kVerifyKCItemAttr = FOUR_CHAR_CODE('veri'), /* Verify (Boolean) */
- kWrapKCItemAttr = FOUR_CHAR_CODE('wrap'), /* Wrap (Boolean) */
- kUnwrapKCItemAttr = FOUR_CHAR_CODE('unwr'), /* Unwrap (Boolean) */
- kStartDateKCItemAttr = FOUR_CHAR_CODE('sdat'), /* Start Date (UInt32) */
- kEndDateKCItemAttr = FOUR_CHAR_CODE('edat') /* End Date (UInt32) */
- };
-
- typedef FourCharCode KCItemAttr;
- enum
- {
- kKCAuthTypeNTLM = FOUR_CHAR_CODE('ntlm'),
- kKCAuthTypeMSN = FOUR_CHAR_CODE('msna'),
- kKCAuthTypeDPA = FOUR_CHAR_CODE('dpaa'),
- kKCAuthTypeRPA = FOUR_CHAR_CODE('rpaa'),
- kKCAuthTypeHTTPDigest = FOUR_CHAR_CODE('httd'),
- kKCAuthTypeDefault = FOUR_CHAR_CODE('dflt')
- };
-
- typedef FourCharCode KCAuthType;
- enum
- {
- kKCProtocolTypeFTP = FOUR_CHAR_CODE('ftp '),
- kKCProtocolTypeFTPAccount = FOUR_CHAR_CODE('ftpa'),
- kKCProtocolTypeHTTP = FOUR_CHAR_CODE('http'),
- kKCProtocolTypeIRC = FOUR_CHAR_CODE('irc '),
- kKCProtocolTypeNNTP = FOUR_CHAR_CODE('nntp'),
- kKCProtocolTypePOP3 = FOUR_CHAR_CODE('pop3'),
- kKCProtocolTypeSMTP = FOUR_CHAR_CODE('smtp'),
- kKCProtocolTypeSOCKS = FOUR_CHAR_CODE('sox '),
- kKCProtocolTypeIMAP = FOUR_CHAR_CODE('imap'),
- kKCProtocolTypeLDAP = FOUR_CHAR_CODE('ldap'),
- kKCProtocolTypeAppleTalk = FOUR_CHAR_CODE('atlk'),
- kKCProtocolTypeAFP = FOUR_CHAR_CODE('afp '),
- kKCProtocolTypeTelnet = FOUR_CHAR_CODE('teln')
- };
-
- typedef FourCharCode KCProtocolType;
- typedef UInt32 KCCertAddOptions;
- enum
- {
- kSecOptionReserved = 0x000000FF, /* First byte reserved for SecOptions flags */
- kCertUsageShift = 8, /* start at bit 8 */
- kCertUsageSigningAdd = 1 << (kCertUsageShift + 0),
- kCertUsageSigningAskAndAdd = 1 << (kCertUsageShift + 1),
- kCertUsageVerifyAdd = 1 << (kCertUsageShift + 2),
- kCertUsageVerifyAskAndAdd = 1 << (kCertUsageShift + 3),
- kCertUsageEncryptAdd = 1 << (kCertUsageShift + 4),
- kCertUsageEncryptAskAndAdd = 1 << (kCertUsageShift + 5),
- kCertUsageDecryptAdd = 1 << (kCertUsageShift + 6),
- kCertUsageDecryptAskAndAdd = 1 << (kCertUsageShift + 7),
- kCertUsageKeyExchAdd = 1 << (kCertUsageShift + 8),
- kCertUsageKeyExchAskAndAdd = 1 << (kCertUsageShift + 9),
- kCertUsageRootAdd = 1 << (kCertUsageShift + 10),
- kCertUsageRootAskAndAdd = 1 << (kCertUsageShift + 11),
- kCertUsageSSLAdd = 1 << (kCertUsageShift + 12),
- kCertUsageSSLAskAndAdd = 1 << (kCertUsageShift + 13),
- kCertUsageAllAdd = 0x7FFFFF00
- };
-
- typedef UInt16 KCVerifyStopOn;
- enum
- {
- kPolicyKCStopOn = 0,
- kNoneKCStopOn = 1,
- kFirstPassKCStopOn = 2,
- kFirstFailKCStopOn = 3
- };
-
- typedef UInt32 KCCertSearchOptions;
- enum
- {
- kCertSearchShift = 0, /* start at bit 0 */
- kCertSearchSigningIgnored = 0,
- kCertSearchSigningAllowed = 1 << (kCertSearchShift + 0),
- kCertSearchSigningDisallowed = 1 << (kCertSearchShift + 1),
- kCertSearchSigningMask = ((kCertSearchSigningAllowed) | (kCertSearchSigningDisallowed)),
- kCertSearchVerifyIgnored = 0,
- kCertSearchVerifyAllowed = 1 << (kCertSearchShift + 2),
- kCertSearchVerifyDisallowed = 1 << (kCertSearchShift + 3),
- kCertSearchVerifyMask = ((kCertSearchVerifyAllowed) | (kCertSearchVerifyDisallowed)),
- kCertSearchEncryptIgnored = 0,
- kCertSearchEncryptAllowed = 1 << (kCertSearchShift + 4),
- kCertSearchEncryptDisallowed = 1 << (kCertSearchShift + 5),
- kCertSearchEncryptMask = ((kCertSearchEncryptAllowed) | (kCertSearchEncryptDisallowed)),
- kCertSearchDecryptIgnored = 0,
- kCertSearchDecryptAllowed = 1 << (kCertSearchShift + 6),
- kCertSearchDecryptDisallowed = 1 << (kCertSearchShift + 7),
- kCertSearchDecryptMask = ((kCertSearchDecryptAllowed) | (kCertSearchDecryptDisallowed)),
- kCertSearchWrapIgnored = 0,
- kCertSearchWrapAllowed = 1 << (kCertSearchShift + 8),
- kCertSearchWrapDisallowed = 1 << (kCertSearchShift + 9),
- kCertSearchWrapMask = ((kCertSearchWrapAllowed) | (kCertSearchWrapDisallowed)),
- kCertSearchUnwrapIgnored = 0,
- kCertSearchUnwrapAllowed = 1 << (kCertSearchShift + 10),
- kCertSearchUnwrapDisallowed = 1 << (kCertSearchShift + 11),
- kCertSearchUnwrapMask = ((kCertSearchUnwrapAllowed) | (kCertSearchUnwrapDisallowed)),
- kCertSearchPrivKeyRequired = 1 << (kCertSearchShift + 12),
- kCertSearchAny = 0
- };
-
- /* Other constants */
- enum
- {
- kAnyPort = 0
- };
-
- enum
- {
- kAnyProtocol = 0,
- kAnyAuthType = 0
- };
-
- /* Opening and getting information about the Keychain Manager */
- /*
- * KCGetKeychainManagerVersion()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- KCGetKeychainManagerVersion(UInt32 * returnVers);
+typedef SecKeychainRef KCRef;
+typedef SecKeychainItemRef KCItemRef;
+typedef SecKeychainSearchRef KCSearchRef;
+typedef SecKeychainAttribute KCAttribute;
+typedef SecKeychainAttributeList KCAttributeList;
+typedef SecKeychainAttrType KCAttrType;
+typedef SecKeychainStatus KCStatus;
+typedef UInt16 KCEvent;
+enum {
+ kIdleKCEvent = 0, /* null event */
+ kLockKCEvent = 1, /* a keychain was locked */
+ kUnlockKCEvent = 2, /* a keychain was unlocked */
+ kAddKCEvent = 3, /* an item was added to a keychain */
+ kDeleteKCEvent = 4, /* an item was deleted from a keychain */
+ kUpdateKCEvent = 5, /* an item was updated */
+ kPasswordChangedKCEvent = 6, /* the keychain identity was changed */
+ kSystemKCEvent = 8, /* the keychain client can process events */
+ kDefaultChangedKCEvent = 9, /* the default keychain was changed */
+ kDataAccessKCEvent = 10, /* a process has accessed a keychain item's data */
+ kKeychainListChangedKCEvent = 11 /* the list of keychains has changed */
+};
+
+typedef UInt16 KCEventMask;
+enum {
+ kIdleKCEventMask = 1 << kIdleKCEvent,
+ kLockKCEventMask = 1 << kLockKCEvent,
+ kUnlockKCEventMask = 1 << kUnlockKCEvent,
+ kAddKCEventMask = 1 << kAddKCEvent,
+ kDeleteKCEventMask = 1 << kDeleteKCEvent,
+ kUpdateKCEventMask = 1 << kUpdateKCEvent,
+ kPasswordChangedKCEventMask = 1 << kPasswordChangedKCEvent,
+ kSystemEventKCEventMask = 1 << kSystemKCEvent,
+ kDefaultChangedKCEventMask = 1 << kDefaultChangedKCEvent,
+ kDataAccessKCEventMask = 1 << kDataAccessKCEvent,
+ kEveryKCEventMask = 0xFFFF /* all of the above*/
+};
+
+typedef UInt8 AFPServerSignature[16];
+typedef UInt8 KCPublicKeyHash[20];
+struct KCCallbackInfo {
+ UInt32 version;
+ KCItemRef item;
+ long processID[2]; /* unavailable on Mac OS X*/
+ long event[4]; /* unavailable on Mac OS X*/
+ KCRef keychain;
+};
+typedef struct KCCallbackInfo KCCallbackInfo;
+enum {
+ kUnlockStateKCStatus = 1,
+ kRdPermKCStatus = 2,
+ kWrPermKCStatus = 4
+};
+
+
+enum {
+ kCertificateKCItemClass = FOUR_CHAR_CODE('cert'), /* Certificate */
+ kAppleSharePasswordKCItemClass = FOUR_CHAR_CODE('ashp'), /* Appleshare password */
+ kInternetPasswordKCItemClass = FOUR_CHAR_CODE('inet'), /* Internet password */
+ kGenericPasswordKCItemClass = FOUR_CHAR_CODE('genp') /* Generic password */
+};
+
+
+typedef FourCharCode KCItemClass;
+enum {
+ /* Common attributes */
+ kClassKCItemAttr = FOUR_CHAR_CODE('clas'), /* Item class (KCItemClass) */
+ kCreationDateKCItemAttr = FOUR_CHAR_CODE('cdat'), /* Date the item was created (UInt32) */
+ kModDateKCItemAttr = FOUR_CHAR_CODE('mdat'), /* Last time the item was updated (UInt32) */
+ kDescriptionKCItemAttr = FOUR_CHAR_CODE('desc'), /* User-visible description string (string) */
+ kCommentKCItemAttr = FOUR_CHAR_CODE('icmt'), /* User's comment about the item (string) */
+ kCreatorKCItemAttr = FOUR_CHAR_CODE('crtr'), /* Item's creator (OSType) */
+ kTypeKCItemAttr = FOUR_CHAR_CODE('type'), /* Item's type (OSType) */
+ kScriptCodeKCItemAttr = FOUR_CHAR_CODE('scrp'), /* Script code for all strings (ScriptCode) */
+ kLabelKCItemAttr = FOUR_CHAR_CODE('labl'), /* Item label (string) */
+ kInvisibleKCItemAttr = FOUR_CHAR_CODE('invi'), /* Invisible (boolean) */
+ kNegativeKCItemAttr = FOUR_CHAR_CODE('nega'), /* Negative (boolean) */
+ kCustomIconKCItemAttr = FOUR_CHAR_CODE('cusi'), /* Custom icon (boolean) */
+ kAccountKCItemAttr = FOUR_CHAR_CODE('acct'), /* User account (string) */
+ /* Unique Generic password attributes */
+ kServiceKCItemAttr = FOUR_CHAR_CODE('svce'), /* Service (string) */
+ kGenericKCItemAttr = FOUR_CHAR_CODE('gena'), /* User-defined attribute (untyped bytes) */
+ /* Unique Internet password attributes */
+ kSecurityDomainKCItemAttr = FOUR_CHAR_CODE('sdmn'), /* Security domain (string) */
+ kServerKCItemAttr = FOUR_CHAR_CODE('srvr'), /* Server's domain name or IP address (string) */
+ kAuthTypeKCItemAttr = FOUR_CHAR_CODE('atyp'), /* Authentication Type (KCAuthType) */
+ kPortKCItemAttr = FOUR_CHAR_CODE('port'), /* Port (UInt16) */
+ kPathKCItemAttr = FOUR_CHAR_CODE('path'), /* Path (string) */
+ /* Unique Appleshare password attributes */
+ kVolumeKCItemAttr = FOUR_CHAR_CODE('vlme'), /* Volume (string) */
+ kAddressKCItemAttr = FOUR_CHAR_CODE('addr'), /* Server address (IP or domain name) or zone name (string) */
+ kSignatureKCItemAttr = FOUR_CHAR_CODE('ssig'), /* Server signature block (AFPServerSignature) */
+ /* Unique AppleShare and Internet attributes */
+ kProtocolKCItemAttr = FOUR_CHAR_CODE('ptcl'), /* Protocol (KCProtocolType) */
+ /* Certificate attributes */
+ kSubjectKCItemAttr = FOUR_CHAR_CODE('subj'), /* Subject distinguished name (DER-encoded data) */
+ kCommonNameKCItemAttr = FOUR_CHAR_CODE('cn '), /* Common Name (UTF8-encoded string) */
+ kIssuerKCItemAttr = FOUR_CHAR_CODE('issu'), /* Issuer distinguished name (DER-encoded data) */
+ kSerialNumberKCItemAttr = FOUR_CHAR_CODE('snbr'), /* Certificate serial number (DER-encoded data) */
+ kEMailKCItemAttr = FOUR_CHAR_CODE('mail'), /* E-mail address (ASCII-encoded string) */
+ kPublicKeyHashKCItemAttr = FOUR_CHAR_CODE('hpky'), /* Hash of public key (KCPublicKeyHash), 20 bytes max. */
+ kIssuerURLKCItemAttr = FOUR_CHAR_CODE('iurl'), /* URL of the certificate issuer (ASCII-encoded string) */
+ /* Shared by keys and certificates */
+ kEncryptKCItemAttr = FOUR_CHAR_CODE('encr'), /* Encrypt (Boolean) */
+ kDecryptKCItemAttr = FOUR_CHAR_CODE('decr'), /* Decrypt (Boolean) */
+ kSignKCItemAttr = FOUR_CHAR_CODE('sign'), /* Sign (Boolean) */
+ kVerifyKCItemAttr = FOUR_CHAR_CODE('veri'), /* Verify (Boolean) */
+ kWrapKCItemAttr = FOUR_CHAR_CODE('wrap'), /* Wrap (Boolean) */
+ kUnwrapKCItemAttr = FOUR_CHAR_CODE('unwr'), /* Unwrap (Boolean) */
+ kStartDateKCItemAttr = FOUR_CHAR_CODE('sdat'), /* Start Date (UInt32) */
+ kEndDateKCItemAttr = FOUR_CHAR_CODE('edat') /* End Date (UInt32) */
+};
+
+typedef FourCharCode KCItemAttr;
+enum {
+ kKCAuthTypeNTLM = FOUR_CHAR_CODE('ntlm'),
+ kKCAuthTypeMSN = FOUR_CHAR_CODE('msna'),
+ kKCAuthTypeDPA = FOUR_CHAR_CODE('dpaa'),
+ kKCAuthTypeRPA = FOUR_CHAR_CODE('rpaa'),
+ kKCAuthTypeHTTPDigest = FOUR_CHAR_CODE('httd'),
+ kKCAuthTypeDefault = FOUR_CHAR_CODE('dflt')
+};
+
+typedef FourCharCode KCAuthType;
+enum {
+ kKCProtocolTypeFTP = FOUR_CHAR_CODE('ftp '),
+ kKCProtocolTypeFTPAccount = FOUR_CHAR_CODE('ftpa'),
+ kKCProtocolTypeHTTP = FOUR_CHAR_CODE('http'),
+ kKCProtocolTypeIRC = FOUR_CHAR_CODE('irc '),
+ kKCProtocolTypeNNTP = FOUR_CHAR_CODE('nntp'),
+ kKCProtocolTypePOP3 = FOUR_CHAR_CODE('pop3'),
+ kKCProtocolTypeSMTP = FOUR_CHAR_CODE('smtp'),
+ kKCProtocolTypeSOCKS = FOUR_CHAR_CODE('sox '),
+ kKCProtocolTypeIMAP = FOUR_CHAR_CODE('imap'),
+ kKCProtocolTypeLDAP = FOUR_CHAR_CODE('ldap'),
+ kKCProtocolTypeAppleTalk = FOUR_CHAR_CODE('atlk'),
+ kKCProtocolTypeAFP = FOUR_CHAR_CODE('afp '),
+ kKCProtocolTypeTelnet = FOUR_CHAR_CODE('teln')
+};
+
+typedef FourCharCode KCProtocolType;
+typedef UInt32 KCCertAddOptions;
+enum {
+ kSecOptionReserved = 0x000000FF, /* First byte reserved for SecOptions flags */
+ kCertUsageShift = 8, /* start at bit 8 */
+ kCertUsageSigningAdd = 1 << (kCertUsageShift + 0),
+ kCertUsageSigningAskAndAdd = 1 << (kCertUsageShift + 1),
+ kCertUsageVerifyAdd = 1 << (kCertUsageShift + 2),
+ kCertUsageVerifyAskAndAdd = 1 << (kCertUsageShift + 3),
+ kCertUsageEncryptAdd = 1 << (kCertUsageShift + 4),
+ kCertUsageEncryptAskAndAdd = 1 << (kCertUsageShift + 5),
+ kCertUsageDecryptAdd = 1 << (kCertUsageShift + 6),
+ kCertUsageDecryptAskAndAdd = 1 << (kCertUsageShift + 7),
+ kCertUsageKeyExchAdd = 1 << (kCertUsageShift + 8),
+ kCertUsageKeyExchAskAndAdd = 1 << (kCertUsageShift + 9),
+ kCertUsageRootAdd = 1 << (kCertUsageShift + 10),
+ kCertUsageRootAskAndAdd = 1 << (kCertUsageShift + 11),
+ kCertUsageSSLAdd = 1 << (kCertUsageShift + 12),
+ kCertUsageSSLAskAndAdd = 1 << (kCertUsageShift + 13),
+ kCertUsageAllAdd = 0x7FFFFF00
+};
+
+typedef UInt16 KCVerifyStopOn;
+enum {
+ kPolicyKCStopOn = 0,
+ kNoneKCStopOn = 1,
+ kFirstPassKCStopOn = 2,
+ kFirstFailKCStopOn = 3
+};
+
+typedef UInt32 KCCertSearchOptions;
+enum {
+ kCertSearchShift = 0, /* start at bit 0 */
+ kCertSearchSigningIgnored = 0,
+ kCertSearchSigningAllowed = 1 << (kCertSearchShift + 0),
+ kCertSearchSigningDisallowed = 1 << (kCertSearchShift + 1),
+ kCertSearchSigningMask = ((kCertSearchSigningAllowed) | (kCertSearchSigningDisallowed)),
+ kCertSearchVerifyIgnored = 0,
+ kCertSearchVerifyAllowed = 1 << (kCertSearchShift + 2),
+ kCertSearchVerifyDisallowed = 1 << (kCertSearchShift + 3),
+ kCertSearchVerifyMask = ((kCertSearchVerifyAllowed) | (kCertSearchVerifyDisallowed)),
+ kCertSearchEncryptIgnored = 0,
+ kCertSearchEncryptAllowed = 1 << (kCertSearchShift + 4),
+ kCertSearchEncryptDisallowed = 1 << (kCertSearchShift + 5),
+ kCertSearchEncryptMask = ((kCertSearchEncryptAllowed) | (kCertSearchEncryptDisallowed)),
+ kCertSearchDecryptIgnored = 0,
+ kCertSearchDecryptAllowed = 1 << (kCertSearchShift + 6),
+ kCertSearchDecryptDisallowed = 1 << (kCertSearchShift + 7),
+ kCertSearchDecryptMask = ((kCertSearchDecryptAllowed) | (kCertSearchDecryptDisallowed)),
+ kCertSearchWrapIgnored = 0,
+ kCertSearchWrapAllowed = 1 << (kCertSearchShift + 8),
+ kCertSearchWrapDisallowed = 1 << (kCertSearchShift + 9),
+ kCertSearchWrapMask = ((kCertSearchWrapAllowed) | (kCertSearchWrapDisallowed)),
+ kCertSearchUnwrapIgnored = 0,
+ kCertSearchUnwrapAllowed = 1 << (kCertSearchShift + 10),
+ kCertSearchUnwrapDisallowed = 1 << (kCertSearchShift + 11),
+ kCertSearchUnwrapMask = ((kCertSearchUnwrapAllowed) | (kCertSearchUnwrapDisallowed)),
+ kCertSearchPrivKeyRequired = 1 << (kCertSearchShift + 12),
+ kCertSearchAny = 0
+};
+
+/* Other constants */
+enum {
+ kAnyPort = 0
+};
+
+enum {
+ kAnyProtocol = 0,
+ kAnyAuthType = 0
+};
+
+/* Opening and getting information about the Keychain Manager */
+/*
+ * KCGetKeychainManagerVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+KCGetKeychainManagerVersion(UInt32 * returnVers);
#if TARGET_RT_MAC_CFM
#ifdef __cplusplus
- inline pascal Boolean KeychainManagerAvailable()
- {
- return ((KCGetKeychainManagerVersion != (void*)kUnresolvedCFragSymbolAddress) && (KCGetKeychainManagerVersion(nil) != cfragNoSymbolErr));
- }
+ inline pascal Boolean KeychainManagerAvailable() { return ((KCGetKeychainManagerVersion != (void*)kUnresolvedCFragSymbolAddress) && (KCGetKeychainManagerVersion(nil) != cfragNoSymbolErr)); }
#else
-#define KeychainManagerAvailable() ((KCGetKeychainManagerVersion != (void*)kUnresolvedCFragSymbolAddress) && (KCGetKeychainManagerVersion(nil) != cfragNoSymbolErr))
+ #define KeychainManagerAvailable() ((KCGetKeychainManagerVersion != (void*)kUnresolvedCFragSymbolAddress) && (KCGetKeychainManagerVersion(nil) != cfragNoSymbolErr))
#endif
#elif TARGET_RT_MAC_MACHO
- /* Keychain is always available on OS X */
+/* Keychain is always available on OS X */
#ifdef __cplusplus
- inline pascal Boolean KeychainManagerAvailable()
- {
- return true;
- }
+ inline pascal Boolean KeychainManagerAvailable() { return true; }
#else
-#define KeychainManagerAvailable() (true)
+ #define KeychainManagerAvailable() (true)
#endif
#endif /* */
- /* Managing the Human Interface */
- /*
- * KCSetInteractionAllowed()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCSetInteractionAllowed(Boolean state);
-
-
- /*
- * KCIsInteractionAllowed()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- KCIsInteractionAllowed(void);
-
-
- /* Creating references to keychains */
- /*
- * KCMakeKCRefFromFSSpec()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCMakeKCRefFromFSSpec(
- FSSpec * keychainFSSpec,
- KCRef * keychain);
-
-
- /*
- * KCMakeKCRefFromAlias()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCMakeKCRefFromAlias(
- AliasHandle keychainAlias,
- KCRef * keychain);
-
-
- /*
- * KCMakeAliasFromKCRef()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCMakeAliasFromKCRef(
- KCRef keychain,
- AliasHandle * keychainAlias);
-
-
- /*
- * KCReleaseKeychain()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCReleaseKeychain(KCRef * keychain);
-
-
- /* Specifying the default keychain */
- /*
- * KCGetDefaultKeychain()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCGetDefaultKeychain(KCRef * keychain);
-
-
- /*
- * KCSetDefaultKeychain()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCSetDefaultKeychain(KCRef keychain);
-
-
- /* Getting information about a keychain */
- /*
- * KCGetStatus()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCGetStatus(
- KCRef keychain, /* can be NULL */
- UInt32 * keychainStatus);
-
-
- /*
- * KCGetKeychain()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCGetKeychain(
- KCItemRef item,
- KCRef * keychain);
-
-
- /*
- * KCGetKeychainName()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCGetKeychainName(
- KCRef keychain,
- StringPtr keychainName);
-
-
- /* Enumerating available keychains */
- /*
- * KCCountKeychains()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt16)
- KCCountKeychains(void);
-
-
- /*
- * KCGetIndKeychain()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCGetIndKeychain(
- UInt16 index,
- KCRef * keychain);
-
-
- typedef CALLBACK_API(OSStatus , KCCallbackProcPtr)(KCEvent keychainEvent, KCCallbackInfo *info, void *userContext);
- typedef STACK_UPP_TYPE(KCCallbackProcPtr) KCCallbackUPP;
- /*
- * NewKCCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(KCCallbackUPP)
- NewKCCallbackUPP(KCCallbackProcPtr userRoutine);
+/* Managing the Human Interface */
+/*
+ * KCSetInteractionAllowed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCSetInteractionAllowed(Boolean state);
+
+
+/*
+ * KCIsInteractionAllowed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+KCIsInteractionAllowed(void);
+
+
+/* Creating references to keychains */
+/*
+ * KCMakeKCRefFromFSSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCMakeKCRefFromFSSpec(
+ FSSpec * keychainFSSpec,
+ KCRef * keychain);
+
+
+/*
+ * KCMakeKCRefFromAlias()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCMakeKCRefFromAlias(
+ AliasHandle keychainAlias,
+ KCRef * keychain);
+
+
+/*
+ * KCMakeAliasFromKCRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCMakeAliasFromKCRef(
+ KCRef keychain,
+ AliasHandle * keychainAlias);
+
+
+/*
+ * KCReleaseKeychain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCReleaseKeychain(KCRef * keychain);
+
+
+/* Specifying the default keychain */
+/*
+ * KCGetDefaultKeychain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCGetDefaultKeychain(KCRef * keychain);
+
+
+/*
+ * KCSetDefaultKeychain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCSetDefaultKeychain(KCRef keychain);
+
+
+/* Getting information about a keychain */
+/*
+ * KCGetStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCGetStatus(
+ KCRef keychain, /* can be NULL */
+ UInt32 * keychainStatus);
+
+
+/*
+ * KCGetKeychain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCGetKeychain(
+ KCItemRef item,
+ KCRef * keychain);
+
+
+/*
+ * KCGetKeychainName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCGetKeychainName(
+ KCRef keychain,
+ StringPtr keychainName);
+
+
+/* Enumerating available keychains */
+/*
+ * KCCountKeychains()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt16 )
+KCCountKeychains(void);
+
+
+/*
+ * KCGetIndKeychain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCGetIndKeychain(
+ UInt16 index,
+ KCRef * keychain);
+
+
+typedef CALLBACK_API( OSStatus , KCCallbackProcPtr )(KCEvent keychainEvent, KCCallbackInfo *info, void *userContext);
+typedef STACK_UPP_TYPE(KCCallbackProcPtr) KCCallbackUPP;
+/*
+ * NewKCCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( KCCallbackUPP )
+NewKCCallbackUPP(KCCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppKCCallbackProcInfo = 0x00000FB0 }; /* pascal 4_bytes Func(2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(KCCallbackUPP) NewKCCallbackUPP(KCCallbackProcPtr userRoutine)
- {
- return (KCCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppKCCallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewKCCallbackUPP(userRoutine) (KCCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppKCCallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppKCCallbackProcInfo = 0x00000FB0 }; /* pascal 4_bytes Func(2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(KCCallbackUPP) NewKCCallbackUPP(KCCallbackProcPtr userRoutine) { return (KCCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppKCCallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewKCCallbackUPP(userRoutine) (KCCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppKCCallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeKCCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeKCCallbackUPP(KCCallbackUPP userUPP);
+/*
+ * DisposeKCCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeKCCallbackUPP(KCCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeKCCallbackUPP(KCCallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeKCCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeKCCallbackUPP(KCCallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeKCCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeKCCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeKCCallbackUPP(
- KCEvent keychainEvent,
- KCCallbackInfo * info,
- void * userContext,
- KCCallbackUPP userUPP);
+/*
+ * InvokeKCCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeKCCallbackUPP(
+ KCEvent keychainEvent,
+ KCCallbackInfo * info,
+ void * userContext,
+ KCCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeKCCallbackUPP(KCEvent keychainEvent, KCCallbackInfo * info, void * userContext, KCCallbackUPP userUPP)
- {
- return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppKCCallbackProcInfo, keychainEvent, info, userContext);
- }
-#else
-#define InvokeKCCallbackUPP(keychainEvent, info, userContext, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppKCCallbackProcInfo, (keychainEvent), (info), (userContext))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeKCCallbackUPP(KCEvent keychainEvent, KCCallbackInfo * info, void * userContext, KCCallbackUPP userUPP) { return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppKCCallbackProcInfo, keychainEvent, info, userContext); }
+ #else
+ #define InvokeKCCallbackUPP(keychainEvent, info, userContext, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppKCCallbackProcInfo, (keychainEvent), (info), (userContext))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewKCCallbackProc(userRoutine) NewKCCallbackUPP(userRoutine)
-#define CallKCCallbackProc(userRoutine, keychainEvent, info, userContext) InvokeKCCallbackUPP(keychainEvent, info, userContext, userRoutine)
+ #define NewKCCallbackProc(userRoutine) NewKCCallbackUPP(userRoutine)
+ #define CallKCCallbackProc(userRoutine, keychainEvent, info, userContext) InvokeKCCallbackUPP(keychainEvent, info, userContext, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* High-level interface for retrieving passwords */
- /*
- * KCFindAppleSharePassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCFindAppleSharePassword(
- AFPServerSignature * serverSignature, /* can be NULL */
- StringPtr serverAddress, /* can be NULL */
- StringPtr serverName, /* can be NULL */
- StringPtr volumeName, /* can be NULL */
- StringPtr accountName, /* can be NULL */
- UInt32 maxLength,
- void * passwordData,
- UInt32 * actualLength,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * KCFindInternetPassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCFindInternetPassword(
- StringPtr serverName, /* can be NULL */
- StringPtr securityDomain, /* can be NULL */
- StringPtr accountName, /* can be NULL */
- UInt16 port,
- OSType protocol,
- OSType authType,
- UInt32 maxLength,
- void * passwordData,
- UInt32 * actualLength,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * KCFindInternetPasswordWithPath()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCFindInternetPasswordWithPath(
- StringPtr serverName, /* can be NULL */
- StringPtr securityDomain, /* can be NULL */
- StringPtr accountName, /* can be NULL */
- StringPtr path, /* can be NULL */
- UInt16 port,
- OSType protocol,
- OSType authType,
- UInt32 maxLength,
- void * passwordData,
- UInt32 * actualLength,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * KCFindGenericPassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCFindGenericPassword(
- StringPtr serviceName, /* can be NULL */
- StringPtr accountName, /* can be NULL */
- UInt32 maxLength,
- void * passwordData,
- UInt32 * actualLength,
- KCItemRef * item); /* can be NULL */
-
-
- /* Keychain Manager callbacks */
- /*
- * KCAddCallback()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCAddCallback(
- KCCallbackUPP callbackProc,
- KCEventMask eventMask,
- void * userContext);
-
-
- /*
- * KCRemoveCallback()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCRemoveCallback(KCCallbackUPP callbackProc);
-
-
- /* Creating and editing a keychain item */
- /*
- * KCNewItem()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCNewItem(
- KCItemClass itemClass,
- OSType itemCreator,
- UInt32 length,
- const void * data,
- KCItemRef * item);
-
-
- /*
- * KCSetAttribute()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCSetAttribute(
- KCItemRef item,
- KCAttribute * attr);
-
-
- /*
- * KCGetAttribute()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCGetAttribute(
- KCItemRef item,
- KCAttribute * attr,
- UInt32 * actualLength);
-
-
- /*
- * KCSetData()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCSetData(
- KCItemRef item,
- UInt32 length,
- const void * data);
-
-
- /* Managing keychain items */
- /*
- * KCUpdateItem()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCUpdateItem(KCItemRef item);
-
-
- /*
- * KCReleaseItem()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCReleaseItem(KCItemRef * item);
-
-
- /*
- * KCCopyItem()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCCopyItem(
- KCItemRef item,
- KCRef destKeychain,
- KCItemRef * copy);
-
-
- /* Searching and enumerating keychain items */
- /*
- * KCFindFirstItem()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCFindFirstItem(
- KCRef keychain, /* can be NULL */
- const KCAttributeList * attrList, /* can be NULL */
- KCSearchRef * search,
- KCItemRef * item);
-
-
- /*
- * KCFindNextItem()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCFindNextItem(
- KCSearchRef search,
- KCItemRef * item);
-
-
- /*
- * KCReleaseSearch()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCReleaseSearch(KCSearchRef * search);
-
-
- /* Managing keychain items */
- /*
- * KCDeleteItem()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCDeleteItem(KCItemRef item);
-
-
- /*
- * KCGetData()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCGetData(
- KCItemRef item,
- UInt32 maxLength,
- void * data,
- UInt32 * actualLength);
-
-
- /* Locking a keychain */
- /*
- * KCLock()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCLock(KCRef keychain);
-
-
- /* Routines that use "C" strings */
- /*
- * kcgetkeychainname()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcgetkeychainname(
- KCRef keychain,
- char * keychainName);
-
-
- /*
- * kcfindapplesharepassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcfindapplesharepassword(
- AFPServerSignature * serverSignature, /* can be NULL */
- const char * serverAddress, /* can be NULL */
- const char * serverName, /* can be NULL */
- const char * volumeName, /* can be NULL */
- const char * accountName, /* can be NULL */
- UInt32 maxLength,
- void * passwordData,
- UInt32 * actualLength,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * kcfindinternetpassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcfindinternetpassword(
- const char * serverName, /* can be NULL */
- const char * securityDomain, /* can be NULL */
- const char * accountName, /* can be NULL */
- UInt16 port,
- OSType protocol,
- OSType authType,
- UInt32 maxLength,
- void * passwordData,
- UInt32 * actualLength,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * kcfindinternetpasswordwithpath()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcfindinternetpasswordwithpath(
- const char * serverName, /* can be NULL */
- const char * securityDomain, /* can be NULL */
- const char * accountName, /* can be NULL */
- const char * path, /* can be NULL */
- UInt16 port,
- OSType protocol,
- OSType authType,
- UInt32 maxLength,
- void * passwordData,
- UInt32 * actualLength,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * kcfindgenericpassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcfindgenericpassword(
- const char * serviceName, /* can be NULL */
- const char * accountName, /* can be NULL */
- UInt32 maxLength,
- void * passwordData,
- UInt32 * actualLength,
- KCItemRef * item); /* can be NULL */
+/* High-level interface for retrieving passwords */
+/*
+ * KCFindAppleSharePassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCFindAppleSharePassword(
+ AFPServerSignature * serverSignature, /* can be NULL */
+ StringPtr serverAddress, /* can be NULL */
+ StringPtr serverName, /* can be NULL */
+ StringPtr volumeName, /* can be NULL */
+ StringPtr accountName, /* can be NULL */
+ UInt32 maxLength,
+ void * passwordData,
+ UInt32 * actualLength,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * KCFindInternetPassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCFindInternetPassword(
+ StringPtr serverName, /* can be NULL */
+ StringPtr securityDomain, /* can be NULL */
+ StringPtr accountName, /* can be NULL */
+ UInt16 port,
+ OSType protocol,
+ OSType authType,
+ UInt32 maxLength,
+ void * passwordData,
+ UInt32 * actualLength,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * KCFindInternetPasswordWithPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCFindInternetPasswordWithPath(
+ StringPtr serverName, /* can be NULL */
+ StringPtr securityDomain, /* can be NULL */
+ StringPtr accountName, /* can be NULL */
+ StringPtr path, /* can be NULL */
+ UInt16 port,
+ OSType protocol,
+ OSType authType,
+ UInt32 maxLength,
+ void * passwordData,
+ UInt32 * actualLength,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * KCFindGenericPassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCFindGenericPassword(
+ StringPtr serviceName, /* can be NULL */
+ StringPtr accountName, /* can be NULL */
+ UInt32 maxLength,
+ void * passwordData,
+ UInt32 * actualLength,
+ KCItemRef * item); /* can be NULL */
+
+
+/* Keychain Manager callbacks */
+/*
+ * KCAddCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCAddCallback(
+ KCCallbackUPP callbackProc,
+ KCEventMask eventMask,
+ void * userContext);
+
+
+/*
+ * KCRemoveCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCRemoveCallback(KCCallbackUPP callbackProc);
+
+
+/* Creating and editing a keychain item */
+/*
+ * KCNewItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCNewItem(
+ KCItemClass itemClass,
+ OSType itemCreator,
+ UInt32 length,
+ const void * data,
+ KCItemRef * item);
+
+
+/*
+ * KCSetAttribute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCSetAttribute(
+ KCItemRef item,
+ KCAttribute * attr);
+
+
+/*
+ * KCGetAttribute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCGetAttribute(
+ KCItemRef item,
+ KCAttribute * attr,
+ UInt32 * actualLength);
+
+
+/*
+ * KCSetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCSetData(
+ KCItemRef item,
+ UInt32 length,
+ const void * data);
+
+
+/* Managing keychain items */
+/*
+ * KCUpdateItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCUpdateItem(KCItemRef item);
+
+
+/*
+ * KCReleaseItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCReleaseItem(KCItemRef * item);
+
+
+/*
+ * KCCopyItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCCopyItem(
+ KCItemRef item,
+ KCRef destKeychain,
+ KCItemRef * copy);
+
+
+/* Searching and enumerating keychain items */
+/*
+ * KCFindFirstItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCFindFirstItem(
+ KCRef keychain, /* can be NULL */
+ const KCAttributeList * attrList, /* can be NULL */
+ KCSearchRef * search,
+ KCItemRef * item);
+
+
+/*
+ * KCFindNextItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCFindNextItem(
+ KCSearchRef search,
+ KCItemRef * item);
+
+
+/*
+ * KCReleaseSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCReleaseSearch(KCSearchRef * search);
+
+
+/* Managing keychain items */
+/*
+ * KCDeleteItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCDeleteItem(KCItemRef item);
+
+
+/*
+ * KCGetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCGetData(
+ KCItemRef item,
+ UInt32 maxLength,
+ void * data,
+ UInt32 * actualLength);
+
+
+/* Locking a keychain */
+/*
+ * KCLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCLock(KCRef keychain);
+
+
+/* Routines that use "C" strings */
+/*
+ * kcgetkeychainname()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcgetkeychainname(
+ KCRef keychain,
+ char * keychainName);
+
+
+/*
+ * kcfindapplesharepassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcfindapplesharepassword(
+ AFPServerSignature * serverSignature, /* can be NULL */
+ const char * serverAddress, /* can be NULL */
+ const char * serverName, /* can be NULL */
+ const char * volumeName, /* can be NULL */
+ const char * accountName, /* can be NULL */
+ UInt32 maxLength,
+ void * passwordData,
+ UInt32 * actualLength,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * kcfindinternetpassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcfindinternetpassword(
+ const char * serverName, /* can be NULL */
+ const char * securityDomain, /* can be NULL */
+ const char * accountName, /* can be NULL */
+ UInt16 port,
+ OSType protocol,
+ OSType authType,
+ UInt32 maxLength,
+ void * passwordData,
+ UInt32 * actualLength,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * kcfindinternetpasswordwithpath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcfindinternetpasswordwithpath(
+ const char * serverName, /* can be NULL */
+ const char * securityDomain, /* can be NULL */
+ const char * accountName, /* can be NULL */
+ const char * path, /* can be NULL */
+ UInt16 port,
+ OSType protocol,
+ OSType authType,
+ UInt32 maxLength,
+ void * passwordData,
+ UInt32 * actualLength,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * kcfindgenericpassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcfindgenericpassword(
+ const char * serviceName, /* can be NULL */
+ const char * accountName, /* can be NULL */
+ UInt32 maxLength,
+ void * passwordData,
+ UInt32 * actualLength,
+ KCItemRef * item); /* can be NULL */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/KeychainHI.h b/include/qt/KeychainHI.h
index c8143e448..9975cfc6e 100644
--- a/include/qt/KeychainHI.h
+++ b/include/qt/KeychainHI.h
@@ -1,17 +1,17 @@
/*
File: KeychainHI.h
-
+
Contains: Keychain API's with Human Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __KEYCHAINCORE__
#include "KeychainCore.h"
@@ -43,282 +43,282 @@ extern "C" {
#pragma import on
#endif
- /* High-level interface for storing passwords */
- /*
- * KCAddAppleSharePassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCAddAppleSharePassword(
- AFPServerSignature * serverSignature,
- StringPtr serverAddress,
- StringPtr serverName,
- StringPtr volumeName,
- StringPtr accountName,
- UInt32 passwordLength,
- const void * passwordData,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * KCAddInternetPassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCAddInternetPassword(
- StringPtr serverName,
- StringPtr securityDomain,
- StringPtr accountName,
- UInt16 port,
- OSType protocol,
- OSType authType,
- UInt32 passwordLength,
- const void * passwordData,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * KCAddInternetPasswordWithPath()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCAddInternetPasswordWithPath(
- StringPtr serverName,
- StringPtr securityDomain,
- StringPtr accountName,
- StringPtr path,
- UInt16 port,
- OSType protocol,
- OSType authType,
- UInt32 passwordLength,
- const void * passwordData,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * KCAddGenericPassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCAddGenericPassword(
- StringPtr serviceName,
- StringPtr accountName,
- UInt32 passwordLength,
- const void * passwordData,
- KCItemRef * item); /* can be NULL */
-
-
- /* Low-level interface for storing keychain items */
- /*
- * KCAddItem()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCAddItem(KCItemRef item);
-
-
- /* Managing keychains */
- /*
- * KCUnlock()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCUnlock(
- KCRef keychain, /* can be NULL */
- StringPtr password); /* can be NULL */
-
-
- /*
- * KCCreateKeychain()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCCreateKeychain(
- StringPtr password, /* can be NULL */
- KCRef * keychain); /* can be NULL */
-
-
- /*
- * KCChangeSettings()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- KCChangeSettings(KCRef keychain);
-
-
- /*
- * kcunlock()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcunlock(
- KCRef keychain, /* can be NULL */
- const char * password); /* can be NULL */
-
-
- /*
- * kccreatekeychain()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kccreatekeychain(
- const char * password, /* can be NULL */
- KCRef * keychain); /* can be NULL */
-
-
- /*
- * kcaddapplesharepassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcaddapplesharepassword(
- AFPServerSignature * serverSignature,
- const char * serverAddress,
- const char * serverName,
- const char * volumeName,
- const char * accountName,
- UInt32 passwordLength,
- const void * passwordData,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * kcaddinternetpassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcaddinternetpassword(
- const char * serverName,
- const char * securityDomain,
- const char * accountName,
- UInt16 port,
- OSType protocol,
- OSType authType,
- UInt32 passwordLength,
- const void * passwordData,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * kcaddinternetpasswordwithpath()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcaddinternetpasswordwithpath(
- const char * serverName,
- const char * securityDomain,
- const char * accountName,
- const char * path,
- UInt16 port,
- OSType protocol,
- OSType authType,
- UInt32 passwordLength,
- const void * passwordData,
- KCItemRef * item); /* can be NULL */
-
-
- /*
- * kcaddgenericpassword()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 1.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- kcaddgenericpassword(
- const char * serviceName,
- const char * accountName,
- UInt32 passwordLength,
- const void * passwordData,
- KCItemRef * item); /* can be NULL */
-
-
- /* Working with certificates */
+/* High-level interface for storing passwords */
+/*
+ * KCAddAppleSharePassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCAddAppleSharePassword(
+ AFPServerSignature * serverSignature,
+ StringPtr serverAddress,
+ StringPtr serverName,
+ StringPtr volumeName,
+ StringPtr accountName,
+ UInt32 passwordLength,
+ const void * passwordData,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * KCAddInternetPassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCAddInternetPassword(
+ StringPtr serverName,
+ StringPtr securityDomain,
+ StringPtr accountName,
+ UInt16 port,
+ OSType protocol,
+ OSType authType,
+ UInt32 passwordLength,
+ const void * passwordData,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * KCAddInternetPasswordWithPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCAddInternetPasswordWithPath(
+ StringPtr serverName,
+ StringPtr securityDomain,
+ StringPtr accountName,
+ StringPtr path,
+ UInt16 port,
+ OSType protocol,
+ OSType authType,
+ UInt32 passwordLength,
+ const void * passwordData,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * KCAddGenericPassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCAddGenericPassword(
+ StringPtr serviceName,
+ StringPtr accountName,
+ UInt32 passwordLength,
+ const void * passwordData,
+ KCItemRef * item); /* can be NULL */
+
+
+/* Low-level interface for storing keychain items */
+/*
+ * KCAddItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCAddItem(KCItemRef item);
+
+
+/* Managing keychains */
+/*
+ * KCUnlock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCUnlock(
+ KCRef keychain, /* can be NULL */
+ StringPtr password); /* can be NULL */
+
+
+/*
+ * KCCreateKeychain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCCreateKeychain(
+ StringPtr password, /* can be NULL */
+ KCRef * keychain); /* can be NULL */
+
+
+/*
+ * KCChangeSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+KCChangeSettings(KCRef keychain);
+
+
+/*
+ * kcunlock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcunlock(
+ KCRef keychain, /* can be NULL */
+ const char * password); /* can be NULL */
+
+
+/*
+ * kccreatekeychain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kccreatekeychain(
+ const char * password, /* can be NULL */
+ KCRef * keychain); /* can be NULL */
+
+
+/*
+ * kcaddapplesharepassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcaddapplesharepassword(
+ AFPServerSignature * serverSignature,
+ const char * serverAddress,
+ const char * serverName,
+ const char * volumeName,
+ const char * accountName,
+ UInt32 passwordLength,
+ const void * passwordData,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * kcaddinternetpassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcaddinternetpassword(
+ const char * serverName,
+ const char * securityDomain,
+ const char * accountName,
+ UInt16 port,
+ OSType protocol,
+ OSType authType,
+ UInt32 passwordLength,
+ const void * passwordData,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * kcaddinternetpasswordwithpath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcaddinternetpasswordwithpath(
+ const char * serverName,
+ const char * securityDomain,
+ const char * accountName,
+ const char * path,
+ UInt16 port,
+ OSType protocol,
+ OSType authType,
+ UInt32 passwordLength,
+ const void * passwordData,
+ KCItemRef * item); /* can be NULL */
+
+
+/*
+ * kcaddgenericpassword()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+kcaddgenericpassword(
+ const char * serviceName,
+ const char * accountName,
+ UInt32 passwordLength,
+ const void * passwordData,
+ KCItemRef * item); /* can be NULL */
+
+
+/* Working with certificates */
#if CALL_NOT_IN_CARBON
- /*
- * KCFindX509Certificates()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- KCFindX509Certificates(
- KCRef keychain,
- CFStringRef name,
- CFStringRef emailAddress,
- KCCertSearchOptions options,
- CFMutableArrayRef * certificateItems); /* can be NULL */
-
-
- /*
- * KCChooseCertificate()
- *
- * Availability:
- * Non-Carbon CFM: in KeychainLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- KCChooseCertificate(
- CFArrayRef items,
- KCItemRef * certificate,
- CFArrayRef policyOIDs,
- KCVerifyStopOn stopOn);
+/*
+ * KCFindX509Certificates()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+KCFindX509Certificates(
+ KCRef keychain,
+ CFStringRef name,
+ CFStringRef emailAddress,
+ KCCertSearchOptions options,
+ CFMutableArrayRef * certificateItems); /* can be NULL */
+
+
+/*
+ * KCChooseCertificate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in KeychainLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+KCChooseCertificate(
+ CFArrayRef items,
+ KCItemRef * certificate,
+ CFArrayRef policyOIDs,
+ KCVerifyStopOn stopOn);
diff --git a/include/qt/LangAnalysis.h b/include/qt/LangAnalysis.h
index ce11e3772..7f469496f 100644
--- a/include/qt/LangAnalysis.h
+++ b/include/qt/LangAnalysis.h
@@ -1,17 +1,17 @@
/*
File: LangAnalysis.h
-
+
Contains: Master include for LangAnalysis private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2000 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 __LANGANALYSIS__
#define __LANGANALYSIS__
diff --git a/include/qt/LanguageAnalysis.h b/include/qt/LanguageAnalysis.h
index 352c95e52..1ca3d19c8 100644
--- a/include/qt/LanguageAnalysis.h
+++ b/include/qt/LanguageAnalysis.h
@@ -1,17 +1,17 @@
/*
File: LanguageAnalysis.h
-
+
Contains: Language Analysis Manager Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __LANGUAGEANALYSIS__
#define __LANGUAGEANALYSIS__
@@ -56,583 +56,558 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct OpaqueLAEnvironmentRef* LAEnvironmentRef;
- typedef struct OpaqueLAContextRef* LAContextRef;
- typedef AEKeyword LAPropertyKey;
- typedef DescType LAPropertyType;
- /*
- Data structure for high level API
- */
- struct LAMorphemeRec
- {
- ByteCount sourceTextLength;
- LogicalAddress sourceTextPtr;
- ByteCount morphemeTextLength;
- LogicalAddress morphemeTextPtr;
- UInt32 partOfSpeech;
- };
- typedef struct LAMorphemeRec LAMorphemeRec;
- struct LAMorphemesArray
- {
- ItemCount morphemesCount;
- ByteCount processedTextLength;
- ByteCount morphemesTextLength;
- LAMorphemeRec morphemes[1];
- };
- typedef struct LAMorphemesArray LAMorphemesArray;
- typedef LAMorphemesArray * LAMorphemesArrayPtr;
- enum
- {
- kLAMorphemesArrayVersion = 0
- };
-
- /*
- Definitions for result path/bundle structure
- */
- typedef AERecord LAMorphemeBundle;
- typedef AERecord LAMorphemePath;
- typedef AERecord LAMorpheme;
- typedef AERecord LAHomograph;
- enum
- {
- keyAELAMorphemeBundle = FOUR_CHAR_CODE('lmfb'),
- keyAELAMorphemePath = FOUR_CHAR_CODE('lmfp'),
- keyAELAMorpheme = FOUR_CHAR_CODE('lmfn'),
- keyAELAHomograph = FOUR_CHAR_CODE('lmfh')
- };
-
- enum
- {
- typeLAMorphemeBundle = typeAERecord,
- typeLAMorphemePath = typeAERecord,
- typeLAMorpheme = typeAEList,
- typeLAHomograph = typeAEList
- };
-
- /*
- Definitions for morpheme/homograph information
- */
- enum
- {
- keyAEMorphemePartOfSpeechCode = FOUR_CHAR_CODE('lamc'),
- keyAEMorphemeTextRange = FOUR_CHAR_CODE('lamt')
- };
-
- enum
- {
- typeAEMorphemePartOfSpeechCode = FOUR_CHAR_CODE('lamc'),
- typeAEMorphemeTextRange = FOUR_CHAR_CODE('lamt')
- };
-
- typedef UInt32 MorphemePartOfSpeech;
- struct MorphemeTextRange
- {
- UInt32 sourceOffset;
- UInt32 length;
- };
- typedef struct MorphemeTextRange MorphemeTextRange;
- /*
- Mask for High level API convert flags
- */
- enum
- {
- kLAEndOfSourceTextMask = 0x00000001
- };
-
- /*
- Constants for leading/trailing path of analysis function
- */
- enum
- {
- kLADefaultEdge = 0,
- kLAFreeEdge = 1,
- kLAIncompleteEdge = 2
- };
-
- /*
- Constants for confirm and shift function
- */
- enum
- {
- kLAAllMorphemes = 0
- };
-
-
- /*
- Library version
- */
- /*
- * LALibraryVersion()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- LALibraryVersion(void);
-
-
- /*
- High level API
- */
- /*
- * LATextToMorphemes()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LATextToMorphemes(
- LAContextRef context,
- TextEncoding preferedEncoding,
- ByteCount textLength,
- ConstLogicalAddress sourceText,
- ByteCount bufferSize,
- OptionBits convertFlags,
- UInt32 structureVersion,
- ByteCount * acceptedLength,
- LAMorphemesArrayPtr resultBuffer);
-
-
- /*
- Handling Context
- */
- /*
- * LAOpenAnalysisContext()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAOpenAnalysisContext(
- LAEnvironmentRef environ,
- LAContextRef * context);
-
-
- /*
- * LACloseAnalysisContext()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LACloseAnalysisContext(LAContextRef context);
-
-
- /*
- Handling Environment
- */
- /*
- * LAGetEnvironmentList()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAGetEnvironmentList(
- UInt32 maxCount,
- UInt32 * actualCount,
- LAEnvironmentRef environmentList[]);
-
-
- /*
- * LAGetEnvironmentName()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAGetEnvironmentName(
- LAEnvironmentRef environment,
- Str63 environmentName);
-
-
- /*
- * LAGetEnvironmentRef()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAGetEnvironmentRef(
- ConstStr63Param targetEnvironmentName,
- LAEnvironmentRef * environment);
-
-
- /*
- * LACreateCustomEnvironment()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LACreateCustomEnvironment(
- LAEnvironmentRef baseEnvironment,
- ConstStr63Param newEnvironmentName,
- Boolean persistent,
- LAEnvironmentRef * newEnvironment);
-
-
- /*
- * LADeleteCustomEnvironment()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LADeleteCustomEnvironment(LAEnvironmentRef environment);
-
-
- /*
- Handling dictionries
- */
- /*
- * LAOpenDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAOpenDictionary(
- LAEnvironmentRef environ,
- const FSSpec * dictionary);
-
-
- /*
- * LACloseDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LACloseDictionary(
- LAEnvironmentRef environ,
- const FSSpec * dictionary);
-
-
- /*
- * LAListAvailableDictionaries()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAListAvailableDictionaries(
- LAEnvironmentRef environ,
- ItemCount maxCount,
- ItemCount * actualCount,
- FSSpec dictionaryList[],
- Boolean opened[]);
-
-
- /*
- * LAAddNewWord()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAAddNewWord(
- LAEnvironmentRef environ,
- const FSSpec * dictionary,
- const AEDesc * dataList);
-
-
- /*
- Analyzing text
- */
- /*
- * LAMorphemeAnalysis()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAMorphemeAnalysis(
- LAContextRef context,
- ConstUniCharArrayPtr text,
- UniCharCount textLength,
- LAMorphemePath * leadingPath,
- LAMorphemePath * trailingPath,
- ItemCount pathCount,
- LAMorphemeBundle * result);
-
-
- /*
- * LAContinuousMorphemeAnalysis()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAContinuousMorphemeAnalysis(
- LAContextRef context,
- ConstUniCharArrayPtr text,
- UniCharCount textLength,
- Boolean incrementalText,
- LAMorphemePath * leadingPath,
- LAMorphemePath * trailingPath,
- Boolean * modified);
-
-
- /*
- * LAGetMorphemes()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAGetMorphemes(
- LAContextRef context,
- LAMorphemePath * result);
-
-
- /*
- * LAShiftMorphemes()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAShiftMorphemes(
- LAContextRef context,
- ItemCount morphemeCount,
- LAMorphemePath * path,
- UniCharCount * shiftedLength);
-
-
- /*
- * LAResetAnalysis()
- *
- * Availability:
- * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LAResetAnalysis(LAContextRef context);
-
-
- /*
- Check Language Analysis Manager availability
- */
+typedef struct OpaqueLAEnvironmentRef* LAEnvironmentRef;
+typedef struct OpaqueLAContextRef* LAContextRef;
+typedef AEKeyword LAPropertyKey;
+typedef DescType LAPropertyType;
+/*
+ Data structure for high level API
+*/
+struct LAMorphemeRec {
+ ByteCount sourceTextLength;
+ LogicalAddress sourceTextPtr;
+ ByteCount morphemeTextLength;
+ LogicalAddress morphemeTextPtr;
+ UInt32 partOfSpeech;
+};
+typedef struct LAMorphemeRec LAMorphemeRec;
+struct LAMorphemesArray {
+ ItemCount morphemesCount;
+ ByteCount processedTextLength;
+ ByteCount morphemesTextLength;
+ LAMorphemeRec morphemes[1];
+};
+typedef struct LAMorphemesArray LAMorphemesArray;
+typedef LAMorphemesArray * LAMorphemesArrayPtr;
+enum {
+ kLAMorphemesArrayVersion = 0
+};
+
+/*
+ Definitions for result path/bundle structure
+*/
+typedef AERecord LAMorphemeBundle;
+typedef AERecord LAMorphemePath;
+typedef AERecord LAMorpheme;
+typedef AERecord LAHomograph;
+enum {
+ keyAELAMorphemeBundle = FOUR_CHAR_CODE('lmfb'),
+ keyAELAMorphemePath = FOUR_CHAR_CODE('lmfp'),
+ keyAELAMorpheme = FOUR_CHAR_CODE('lmfn'),
+ keyAELAHomograph = FOUR_CHAR_CODE('lmfh')
+};
+
+enum {
+ typeLAMorphemeBundle = typeAERecord,
+ typeLAMorphemePath = typeAERecord,
+ typeLAMorpheme = typeAEList,
+ typeLAHomograph = typeAEList
+};
+
+/*
+ Definitions for morpheme/homograph information
+*/
+enum {
+ keyAEMorphemePartOfSpeechCode = FOUR_CHAR_CODE('lamc'),
+ keyAEMorphemeTextRange = FOUR_CHAR_CODE('lamt')
+};
+
+enum {
+ typeAEMorphemePartOfSpeechCode = FOUR_CHAR_CODE('lamc'),
+ typeAEMorphemeTextRange = FOUR_CHAR_CODE('lamt')
+};
+
+typedef UInt32 MorphemePartOfSpeech;
+struct MorphemeTextRange {
+ UInt32 sourceOffset;
+ UInt32 length;
+};
+typedef struct MorphemeTextRange MorphemeTextRange;
+/*
+ Mask for High level API convert flags
+*/
+enum {
+ kLAEndOfSourceTextMask = 0x00000001
+};
+
+/*
+ Constants for leading/trailing path of analysis function
+*/
+enum {
+ kLADefaultEdge = 0,
+ kLAFreeEdge = 1,
+ kLAIncompleteEdge = 2
+};
+
+/*
+ Constants for confirm and shift function
+*/
+enum {
+ kLAAllMorphemes = 0
+};
+
+
+/*
+ Library version
+*/
+/*
+ * LALibraryVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+LALibraryVersion(void);
+
+
+/*
+ High level API
+*/
+/*
+ * LATextToMorphemes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LATextToMorphemes(
+ LAContextRef context,
+ TextEncoding preferedEncoding,
+ ByteCount textLength,
+ ConstLogicalAddress sourceText,
+ ByteCount bufferSize,
+ OptionBits convertFlags,
+ UInt32 structureVersion,
+ ByteCount * acceptedLength,
+ LAMorphemesArrayPtr resultBuffer);
+
+
+/*
+ Handling Context
+*/
+/*
+ * LAOpenAnalysisContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAOpenAnalysisContext(
+ LAEnvironmentRef environ,
+ LAContextRef * context);
+
+
+/*
+ * LACloseAnalysisContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LACloseAnalysisContext(LAContextRef context);
+
+
+/*
+ Handling Environment
+*/
+/*
+ * LAGetEnvironmentList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAGetEnvironmentList(
+ UInt32 maxCount,
+ UInt32 * actualCount,
+ LAEnvironmentRef environmentList[]);
+
+
+/*
+ * LAGetEnvironmentName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAGetEnvironmentName(
+ LAEnvironmentRef environment,
+ Str63 environmentName);
+
+
+/*
+ * LAGetEnvironmentRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAGetEnvironmentRef(
+ ConstStr63Param targetEnvironmentName,
+ LAEnvironmentRef * environment);
+
+
+/*
+ * LACreateCustomEnvironment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LACreateCustomEnvironment(
+ LAEnvironmentRef baseEnvironment,
+ ConstStr63Param newEnvironmentName,
+ Boolean persistent,
+ LAEnvironmentRef * newEnvironment);
+
+
+/*
+ * LADeleteCustomEnvironment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LADeleteCustomEnvironment(LAEnvironmentRef environment);
+
+
+/*
+ Handling dictionries
+*/
+/*
+ * LAOpenDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAOpenDictionary(
+ LAEnvironmentRef environ,
+ const FSSpec * dictionary);
+
+
+/*
+ * LACloseDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LACloseDictionary(
+ LAEnvironmentRef environ,
+ const FSSpec * dictionary);
+
+
+/*
+ * LAListAvailableDictionaries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAListAvailableDictionaries(
+ LAEnvironmentRef environ,
+ ItemCount maxCount,
+ ItemCount * actualCount,
+ FSSpec dictionaryList[],
+ Boolean opened[]);
+
+
+/*
+ * LAAddNewWord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAAddNewWord(
+ LAEnvironmentRef environ,
+ const FSSpec * dictionary,
+ const AEDesc * dataList);
+
+
+/*
+ Analyzing text
+*/
+/*
+ * LAMorphemeAnalysis()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAMorphemeAnalysis(
+ LAContextRef context,
+ ConstUniCharArrayPtr text,
+ UniCharCount textLength,
+ LAMorphemePath * leadingPath,
+ LAMorphemePath * trailingPath,
+ ItemCount pathCount,
+ LAMorphemeBundle * result);
+
+
+/*
+ * LAContinuousMorphemeAnalysis()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAContinuousMorphemeAnalysis(
+ LAContextRef context,
+ ConstUniCharArrayPtr text,
+ UniCharCount textLength,
+ Boolean incrementalText,
+ LAMorphemePath * leadingPath,
+ LAMorphemePath * trailingPath,
+ Boolean * modified);
+
+
+/*
+ * LAGetMorphemes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAGetMorphemes(
+ LAContextRef context,
+ LAMorphemePath * result);
+
+
+/*
+ * LAShiftMorphemes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAShiftMorphemes(
+ LAContextRef context,
+ ItemCount morphemeCount,
+ LAMorphemePath * path,
+ UniCharCount * shiftedLength);
+
+
+/*
+ * LAResetAnalysis()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAResetAnalysis(LAContextRef context);
+
+
+/*
+ Check Language Analysis Manager availability
+*/
#if TARGET_RT_MAC_CFM
#ifdef __cplusplus
- inline pascal Boolean LALanguageAnalysisAvailable()
- {
- return (LALibraryVersion != (void*)kUnresolvedCFragSymbolAddress);
- }
+ inline pascal Boolean LALanguageAnalysisAvailable() { return (LALibraryVersion != (void*)kUnresolvedCFragSymbolAddress); }
#else
-#define LALanguageAnalysisAvailable() ((LALibraryVersion != (void*)kUnresolvedCFragSymbolAddress)
+ #define LALanguageAnalysisAvailable() ((LALibraryVersion != (void*)kUnresolvedCFragSymbolAddress)
#endif
#elif TARGET_RT_MAC_MACHO
- /* Language Analysis Manager is always available on OS X */
+/* Language Analysis Manager is always available on OS X */
#ifdef __cplusplus
- inline pascal Boolean LALanguageAnalysisAvailable()
- {
- return true;
- }
+ inline pascal Boolean LALanguageAnalysisAvailable() { return true; }
#else
-#define LALanguageAnalysisAvailable() (true)
+ #define LALanguageAnalysisAvailable() (true)
#endif
#endif /* */
- /*
- =============================================================================================
- Definitions for Japanese Analysis Module
- =============================================================================================
- */
- /*
- Names for default environments for Japanese analysis
- */
+/*
+=============================================================================================
+ Definitions for Japanese Analysis Module
+=============================================================================================
+*/
+/*
+ Names for default environments for Japanese analysis
+*/
#define kLAJapaneseKanaKanjiEnvironment "\pKanaKanjiConversion"
#define kLAJapaneseMorphemeAnalysisEnvironment "\pJapaneseMorphemeAnalysis"
#define kLAJapaneseTTSEnvironment "\pJapaneseTextToSpeech"
- /*
- File cretor for dictionary of Apple Japanese access method
- */
- enum
- {
- kAppleJapaneseDictionarySignature = FOUR_CHAR_CODE('jlan')
- };
-
- /*
- Engine limitations
- */
- enum
- {
- kMaxInputLengthOfAppleJapaneseEngine = 200
- };
-
- /*
- Definitions of information in the path/bundle
- */
-
- typedef MorphemePartOfSpeech JapanesePartOfSpeech;
- typedef UInt16 HomographWeight;
- typedef UInt8 HomographAccent;
- /*
- AE keywords and type definitions for morpheme/homograph information
- */
- enum
- {
- keyAEHomographDicInfo = FOUR_CHAR_CODE('lahd'),
- keyAEHomographWeight = FOUR_CHAR_CODE('lahw'),
- keyAEHomographAccent = FOUR_CHAR_CODE('laha')
- };
-
- enum
- {
- typeAEHomographDicInfo = FOUR_CHAR_CODE('lahd'),
- typeAEHomographWeight = typeShortInteger,
- typeAEHomographAccent = FOUR_CHAR_CODE('laha')
- };
-
- /*
- Structure for dictionary information of homograph
- */
- struct HomographDicInfoRec
- {
- DCMDictionaryID dictionaryID;
- DCMUniqueID uniqueID;
- };
- typedef struct HomographDicInfoRec HomographDicInfoRec;
- /*
- =============================================================================================
- Definitions for Japanese part of speeches
- =============================================================================================
- */
- /*
- Masks for part of speeches
- */
- enum
- {
- kLASpeechRoughClassMask = 0x0000F000,
- kLASpeechMediumClassMask = 0x0000FF00,
- kLASpeechStrictClassMask = 0x0000FFF0,
- kLASpeechKatsuyouMask = 0x0000000F
- };
-
-
- /*
- Part of speeches
- */
- enum
- {
- kLASpeechMeishi = 0x00000000, /* noun */
- kLASpeechFutsuuMeishi = 0x00000000, /* general noun */
- kLASpeechJinmei = 0x00000100, /* person name */
- kLASpeechJinmeiSei = 0x00000110, /* family name */
- kLASpeechJinmeiMei = 0x00000120, /* first name */
- kLASpeechChimei = 0x00000200, /* place name */
- kLASpeechSetsubiChimei = 0x00000210, /* place name with suffix */
- kLASpeechSoshikimei = 0x00000300, /* organization name */
- kLASpeechKoyuuMeishi = 0x00000400, /* proper noun */
- kLASpeechSahenMeishi = 0x00000500, /* special noun */
- kLASpeechKeidouMeishi = 0x00000600, /* special noun */
- kLASpeechRentaishi = 0x00001000,
- kLASpeechFukushi = 0x00002000, /* adverb */
- kLASpeechSetsuzokushi = 0x00003000, /* conjunction */
- kLASpeechKandoushi = 0x00004000,
- kLASpeechDoushi = 0x00005000, /* verb */
- kLASpeechGodanDoushi = 0x00005000,
- kLASpeechKagyouGodan = 0x00005000,
- kLASpeechSagyouGodan = 0x00005010,
- kLASpeechTagyouGodan = 0x00005020,
- kLASpeechNagyouGodan = 0x00005030,
- kLASpeechMagyouGodan = 0x00005040,
- kLASpeechRagyouGodan = 0x00005050,
- kLASpeechWagyouGodan = 0x00005060,
- kLASpeechGagyouGodan = 0x00005070,
- kLASpeechBagyouGodan = 0x00005080,
- kLASpeechIchidanDoushi = 0x00005100,
- kLASpeechKahenDoushi = 0x00005200,
- kLASpeechSahenDoushi = 0x00005300,
- kLASpeechZahenDoushi = 0x00005400,
- kLASpeechKeiyoushi = 0x00006000, /* adjective */
- kLASpeechKeiyoudoushi = 0x00007000,
- kLASpeechSettougo = 0x00008000, /* prefix*/
- kLASpeechSuujiSettougo = 0x00008100, /* prefix for numbers */
- kLASpeechSetsubigo = 0x00009000, /* suffix */
- kLASpeechJinmeiSetsubigo = 0x00009100, /* suffix for person name */
- kLASpeechChimeiSetsubigo = 0x00009200, /* suffix for place name */
- kLASpeechSoshikimeiSetsubigo = 0x00009300, /* suffix for organization name */
- kLASpeechSuujiSetsubigo = 0x00009400, /* suffix for numbers */
- kLASpeechMuhinshi = 0x0000A000, /* no category */
- kLASpeechTankanji = 0x0000A000, /* character */
- kLASpeechKigou = 0x0000A100, /* symbol */
- kLASpeechKuten = 0x0000A110,
- kLASpeechTouten = 0x0000A120,
- kLASpeechSuushi = 0x0000A200, /* numbers */
- kLASpeechDokuritsugo = 0x0000A300,
- kLASpeechSeiku = 0x0000A400,
- kLASpeechJodoushi = 0x0000B000, /* auxiliary verb */
- kLASpeechJoshi = 0x0000C000 /* postpositional particle */
- };
-
-
- /*
- Conjugations
- */
- enum
- {
- kLASpeechKatsuyouGokan = 0x00000001, /* stem */
- kLASpeechKatsuyouMizen = 0x00000002,
- kLASpeechKatsuyouRenyou = 0x00000003,
- kLASpeechKatsuyouSyuushi = 0x00000004,
- kLASpeechKatsuyouRentai = 0x00000005,
- kLASpeechKatsuyouKatei = 0x00000006,
- kLASpeechKatsuyouMeirei = 0x00000007
- };
+/*
+ File cretor for dictionary of Apple Japanese access method
+*/
+enum {
+ kAppleJapaneseDictionarySignature = FOUR_CHAR_CODE('jlan')
+};
+
+/*
+ Engine limitations
+*/
+enum {
+ kMaxInputLengthOfAppleJapaneseEngine = 200
+};
+
+/*
+ Definitions of information in the path/bundle
+*/
+
+typedef MorphemePartOfSpeech JapanesePartOfSpeech;
+typedef UInt16 HomographWeight;
+typedef UInt8 HomographAccent;
+/*
+ AE keywords and type definitions for morpheme/homograph information
+*/
+enum {
+ keyAEHomographDicInfo = FOUR_CHAR_CODE('lahd'),
+ keyAEHomographWeight = FOUR_CHAR_CODE('lahw'),
+ keyAEHomographAccent = FOUR_CHAR_CODE('laha')
+};
+
+enum {
+ typeAEHomographDicInfo = FOUR_CHAR_CODE('lahd'),
+ typeAEHomographWeight = typeShortInteger,
+ typeAEHomographAccent = FOUR_CHAR_CODE('laha')
+};
+
+/*
+ Structure for dictionary information of homograph
+*/
+struct HomographDicInfoRec {
+ DCMDictionaryID dictionaryID;
+ DCMUniqueID uniqueID;
+};
+typedef struct HomographDicInfoRec HomographDicInfoRec;
+/*
+=============================================================================================
+ Definitions for Japanese part of speeches
+=============================================================================================
+*/
+/*
+ Masks for part of speeches
+*/
+enum {
+ kLASpeechRoughClassMask = 0x0000F000,
+ kLASpeechMediumClassMask = 0x0000FF00,
+ kLASpeechStrictClassMask = 0x0000FFF0,
+ kLASpeechKatsuyouMask = 0x0000000F
+};
+
+
+/*
+ Part of speeches
+*/
+enum {
+ kLASpeechMeishi = 0x00000000, /* noun */
+ kLASpeechFutsuuMeishi = 0x00000000, /* general noun */
+ kLASpeechJinmei = 0x00000100, /* person name */
+ kLASpeechJinmeiSei = 0x00000110, /* family name */
+ kLASpeechJinmeiMei = 0x00000120, /* first name */
+ kLASpeechChimei = 0x00000200, /* place name */
+ kLASpeechSetsubiChimei = 0x00000210, /* place name with suffix */
+ kLASpeechSoshikimei = 0x00000300, /* organization name */
+ kLASpeechKoyuuMeishi = 0x00000400, /* proper noun */
+ kLASpeechSahenMeishi = 0x00000500, /* special noun */
+ kLASpeechKeidouMeishi = 0x00000600, /* special noun */
+ kLASpeechRentaishi = 0x00001000,
+ kLASpeechFukushi = 0x00002000, /* adverb */
+ kLASpeechSetsuzokushi = 0x00003000, /* conjunction */
+ kLASpeechKandoushi = 0x00004000,
+ kLASpeechDoushi = 0x00005000, /* verb */
+ kLASpeechGodanDoushi = 0x00005000,
+ kLASpeechKagyouGodan = 0x00005000,
+ kLASpeechSagyouGodan = 0x00005010,
+ kLASpeechTagyouGodan = 0x00005020,
+ kLASpeechNagyouGodan = 0x00005030,
+ kLASpeechMagyouGodan = 0x00005040,
+ kLASpeechRagyouGodan = 0x00005050,
+ kLASpeechWagyouGodan = 0x00005060,
+ kLASpeechGagyouGodan = 0x00005070,
+ kLASpeechBagyouGodan = 0x00005080,
+ kLASpeechIchidanDoushi = 0x00005100,
+ kLASpeechKahenDoushi = 0x00005200,
+ kLASpeechSahenDoushi = 0x00005300,
+ kLASpeechZahenDoushi = 0x00005400,
+ kLASpeechKeiyoushi = 0x00006000, /* adjective */
+ kLASpeechKeiyoudoushi = 0x00007000,
+ kLASpeechSettougo = 0x00008000, /* prefix*/
+ kLASpeechSuujiSettougo = 0x00008100, /* prefix for numbers */
+ kLASpeechSetsubigo = 0x00009000, /* suffix */
+ kLASpeechJinmeiSetsubigo = 0x00009100, /* suffix for person name */
+ kLASpeechChimeiSetsubigo = 0x00009200, /* suffix for place name */
+ kLASpeechSoshikimeiSetsubigo = 0x00009300, /* suffix for organization name */
+ kLASpeechSuujiSetsubigo = 0x00009400, /* suffix for numbers */
+ kLASpeechMuhinshi = 0x0000A000, /* no category */
+ kLASpeechTankanji = 0x0000A000, /* character */
+ kLASpeechKigou = 0x0000A100, /* symbol */
+ kLASpeechKuten = 0x0000A110,
+ kLASpeechTouten = 0x0000A120,
+ kLASpeechSuushi = 0x0000A200, /* numbers */
+ kLASpeechDokuritsugo = 0x0000A300,
+ kLASpeechSeiku = 0x0000A400,
+ kLASpeechJodoushi = 0x0000B000, /* auxiliary verb */
+ kLASpeechJoshi = 0x0000C000 /* postpositional particle */
+};
+
+
+/*
+ Conjugations
+ */
+enum {
+ kLASpeechKatsuyouGokan = 0x00000001, /* stem */
+ kLASpeechKatsuyouMizen = 0x00000002,
+ kLASpeechKatsuyouRenyou = 0x00000003,
+ kLASpeechKatsuyouSyuushi = 0x00000004,
+ kLASpeechKatsuyouRentai = 0x00000005,
+ kLASpeechKatsuyouKatei = 0x00000006,
+ kLASpeechKatsuyouMeirei = 0x00000007
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/LaunchServices.h b/include/qt/LaunchServices.h
index d8b9aa66a..6be27fd6f 100644
--- a/include/qt/LaunchServices.h
+++ b/include/qt/LaunchServices.h
@@ -1,17 +1,17 @@
/*
File: LaunchServices.h
-
+
Contains: Public interfaces for LaunchServices.framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __LAUNCHSERVICES__
#define __LAUNCHSERVICES__
@@ -51,1042 +51,1029 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* ======================================================================================================== */
- /* LaunchServices Structures and Enums */
- /* ======================================================================================================== */
-
- enum {
- kLSUnknownErr = -10810,
- kLSNotAnApplicationErr = -10811,
- kLSNotInitializedErr = -10812,
- kLSDataUnavailableErr = -10813, /* e.g. no kind string*/
- kLSApplicationNotFoundErr = -10814, /* e.g. no application claims the file*/
- kLSUnknownTypeErr = -10815,
- kLSDataTooOldErr = -10816,
- kLSDataErr = -10817,
- kLSLaunchInProgressErr = -10818, /* e.g. opening an alreay opening application*/
- kLSNotRegisteredErr = -10819,
- kLSAppDoesNotClaimTypeErr = -10820,
- kLSAppDoesNotSupportSchemeWarning = -10821, /* not an error, just a warning*/
- kLSServerCommunicationErr = -10822, /* cannot set recent items*/
- kLSCannotSetInfoErr = -10823 /* you may not set item info for this item*/
- };
-
- typedef OptionBits LSInitializeFlags;
- enum
- {
- kLSInitializeDefaults = 0x00000001
- };
-
- enum
- {
- kLSMinCatInfoBitmap = (kFSCatInfoNodeFlags | kFSCatInfoParentDirID | kFSCatInfoFinderInfo | kFSCatInfoFinderXInfo) /* minimum info needed to avoid a FSGetCatalogInfo call when fetching item information */
- };
-
- enum
- {
- kLSInvalidExtensionIndex = (unsigned long)0xFFFFFFFF /* Index returned from LSGetExtensionInfo when name has no extension*/
- };
-
- typedef OptionBits LSRequestedInfo;
- enum
- {
- kLSRequestExtension = 0x00000001, /* safe to use from threads*/
- kLSRequestTypeCreator = 0x00000002, /* safe to use from threads*/
- kLSRequestBasicFlagsOnly = 0x00000004, /* all but type of application and extension flags - safe to use from threads*/
- kLSRequestAppTypeFlags = 0x00000008, /* NOT SAFE to use from threads*/
- kLSRequestAllFlags = 0x00000010, /* NOT SAFE to use from threads*/
- kLSRequestIconAndKind = 0x00000020, /* NOT SAFE to use from threads*/
- kLSRequestExtensionFlagsOnly = 0x00000040, /* safe to use from threads*/
- kLSRequestAllInfo = (unsigned long)0xFFFFFFFF /* NOT SAFE to use from threads*/
- };
-
- typedef OptionBits LSItemInfoFlags;
- enum
- {
- kLSItemInfoIsPlainFile = 0x00000001, /* none of the following applies*/
- kLSItemInfoIsPackage = 0x00000002, /* app, doc, or bundle package*/
- kLSItemInfoIsApplication = 0x00000004, /* single-file or packaged*/
- kLSItemInfoIsContainer = 0x00000008, /* folder or volume*/
- kLSItemInfoIsAliasFile = 0x00000010, /* Alias file (includes sym links)*/
- kLSItemInfoIsSymlink = 0x00000020, /* UNIX sym link*/
- kLSItemInfoIsInvisible = 0x00000040, /* does not include '.' files or '.hidden' entries*/
- kLSItemInfoIsNativeApp = 0x00000080, /* Carbon or Cocoa native app*/
- kLSItemInfoIsClassicApp = 0x00000100, /* CFM Classic app*/
- kLSItemInfoAppPrefersNative = 0x00000200, /* Carbon app that prefers to be launched natively*/
- kLSItemInfoAppPrefersClassic = 0x00000400, /* Carbon app that prefers to be launched in Classic*/
- kLSItemInfoAppIsScriptable = 0x00000800, /* App can be scripted*/
- kLSItemInfoIsVolume = 0x00001000, /* item is a volume*/
- kLSItemInfoExtensionIsHidden = 0x00100000 /* item has a hidden extension*/
- };
-
- typedef OptionBits LSRolesMask;
- enum
- {
- kLSRolesNone = 0x00000001, /* no claim is made about support for this type/scheme*/
- kLSRolesViewer = 0x00000002, /* claim to be able to view this type/scheme*/
- kLSRolesEditor = 0x00000004, /* claim to be able to edit this type/scheme*/
- kLSRolesAll = (unsigned long)0xFFFFFFFF /* claim to do it all*/
- };
-
- typedef UInt32 LSKindID;
- enum
- {
- kLSUnknownKindID = 0
- };
-
- enum
- {
- kLSUnknownType = 0,
- kLSUnknownCreator = 0
- };
-
- struct LSItemInfoRecord
- {
- LSItemInfoFlags flags;
- OSType filetype;
- OSType creator; /* release when finished*/
- CFStringRef extension; /* release when finished*/
- CFStringRef iconFileName; /* not for general use*/
- LSKindID kindID; /* not for general use*/
- };
- typedef struct LSItemInfoRecord LSItemInfoRecord;
-
- typedef OptionBits LSAcceptanceFlags;
- enum
- {
- kLSAcceptDefault = 0x00000001,
- kLSAcceptAllowLoginUI = 0x00000002 /* show UI to log in if necessary*/
- };
-
- typedef OptionBits LSLaunchFlags;
- enum
- {
- kLSLaunchDefaults = 0x00000001, /* default = open, async, use Info.plist, start Classic*/
- kLSLaunchAndPrint = 0x00000002, /* print items instead of open them*/
- kLSLaunchReserved2 = 0x00000004,
- kLSLaunchReserved3 = 0x00000008,
- kLSLaunchReserved4 = 0x00000010,
- kLSLaunchReserved5 = 0x00000020,
- kLSLaunchReserved6 = 0x00000040,
- kLSLaunchInhibitBGOnly = 0x00000080, /* causes launch to fail if target is background-only.*/
- kLSLaunchDontAddToRecents = 0x00000100, /* do not add app or documents to recents menus.*/
- kLSLaunchDontSwitch = 0x00000200, /* don't bring new app to the foreground.*/
- kLSLaunchNoParams = 0x00000800, /* Use Info.plist to determine launch parameters*/
- kLSLaunchAsync = 0x00010000, /* launch async; obtain results from kCPSNotifyLaunch.*/
- kLSLaunchStartClassic = 0x00020000, /* start up Classic environment if required for app.*/
- kLSLaunchInClassic = 0x00040000, /* force app to launch in Classic environment.*/
- kLSLaunchNewInstance = 0x00080000, /* Instantiate app even if it is already running.*/
- kLSLaunchAndHide = 0x00100000, /* Send child a "hide" request as soon as it checks in.*/
- kLSLaunchAndHideOthers = 0x00200000 /* Hide all other apps when child checks in.*/
- };
-
- struct LSLaunchFSRefSpec
- {
- const FSRef * appRef; /* app to use, can be NULL*/
- UInt32 numDocs; /* items to open/print, can be NULL*/
- const FSRef * itemRefs; /* array of FSRefs*/
- const AEDesc * passThruParams; /* passed untouched to application as optional parameter*/
- LSLaunchFlags launchFlags;
- void * asyncRefCon; /* used if you register for app birth/death notification*/
- };
- typedef struct LSLaunchFSRefSpec LSLaunchFSRefSpec;
- struct LSLaunchURLSpec
- {
- CFURLRef appURL; /* app to use, can be NULL*/
- CFArrayRef itemURLs; /* items to open/print, can be NULL*/
- const AEDesc * passThruParams; /* passed untouched to application as optional parameter*/
- LSLaunchFlags launchFlags;
- void * asyncRefCon; /* used if you register for app birth/death notification*/
- };
- typedef struct LSLaunchURLSpec LSLaunchURLSpec;
-
-
- /* ======================================================================================================== */
- /* LaunchServices Public Entry Points */
- /* ======================================================================================================== */
-
- /*
- * LSInit()
- *
- * Summary:
- * Initialize LaunchServices for use.
- *
- * Discussion:
- * LSInit is deprecated. Launch Services is initialized implicitly
- * when first called.
- *
- * Parameters:
- *
- * inFlags:
- * Use kLSInitializeDefaults.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSInit(LSInitializeFlags inFlags);
-
-
-
- /*
- * LSTerm()
- *
- * Summary:
- * Terminate LaunchServices use.
- *
- * Discussion:
- * LSTerm is deprecated. It does not need to be called.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSTerm(void);
-
-
-
- /*
- * LSCopyItemInfoForRef()
- *
- * Summary:
- * Return information about an item.
- *
- * Discussion:
- * Returns as much or as little information as requested about
- * inItemRef. Some information is available in a thread-safe manner,
- * some is not. All CFStrings must be released after use.
- *
- * Parameters:
- *
- * inItemRef:
- * The FSRef of the item about which information is requested.
- *
- * inWhichInfo:
- * Flags indicating which information to return
- *
- * outItemInfo:
- * Information is returned in this structure. Must not be NULL
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSCopyItemInfoForRef(
- const FSRef * inItemRef,
- LSRequestedInfo inWhichInfo,
- LSItemInfoRecord * outItemInfo);
-
-
-
- /*
- * LSCopyItemInfoForURL()
- *
- * Summary:
- * Return information about an item.
- *
- * Discussion:
- * Returns as much or as little information as requested about
- * inURL. Some information is available in a thread-safe manner,
- * some is not. All CFStrings must be released after use.
- *
- * Parameters:
- *
- * inURL:
- * The CFURLRef of the item about which information is requested.
- *
- * inWhichInfo:
- * Flags indicating which information to return
- *
- * outItemInfo:
- * Information is returned in this structure. Must not be NULL
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSCopyItemInfoForURL(
- CFURLRef inURL,
- LSRequestedInfo inWhichInfo,
- LSItemInfoRecord * outItemInfo);
-
-
- /*
- * LSGetExtensionInfo()
- *
- * Summary:
- * Get information about the extension for a file system name.
- *
- * Discussion:
- * Returns the starting index of the extension (not including the
- * period) or kLSInvalidExtensionIndex if the input name has no
- * extension.
- *
- * Parameters:
- *
- * inNameLen:
- * The number of the UniChars in inNameBuffer.
- *
- * inNameBuffer:
- * The buffer containing the name's Unicode characters.
- *
- * outExtStartIndex:
- * On success, the starting index of the extension if there is one
- * (not including the period). Set to kLSInvalidExtensionIndex if
- * inNameBuffer does not contain a valid extension.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- LSGetExtensionInfo(
- UniCharCount inNameLen,
- const UniChar inNameBuffer[],
- UniCharCount * outExtStartIndex);
-
-
-
- /*
- * LSCopyDisplayNameForRef()
- *
- * Summary:
- * Get the display name for an FSRef.
- *
- * Discussion:
- * Return a copy of the display name for an FSRef. Takes into
- * consideration whether this item has a hidden extension or not.
- *
- * Parameters:
- *
- * inRef:
- * The FSRef for which the display name is desired.
- *
- * outDisplayName:
- * Pointer to the CFString into which the display name should be
- * copied. Callers must dispose of the resulting CFString.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- LSCopyDisplayNameForRef(
- const FSRef * inRef,
- CFStringRef * outDisplayName);
-
-
-
- /*
- * LSCopyDisplayNameForURL()
- *
- * Summary:
- * Get the display name for a CFURLRef.
- *
- * Discussion:
- * Return a copy of the display name for a CFURLRef. Takes into
- * consideration whether this item has a hidden extension or not.
- *
- * Parameters:
- *
- * inURL:
- * The URL for which the display name is desired.
- *
- * outDisplayName:
- * Pointer to the CFString into which the display name should be
- * copied. Callers must dispose of the resulting CFString.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- LSCopyDisplayNameForURL(
- CFURLRef inURL,
- CFStringRef * outDisplayName);
-
-
-
- /*
- * LSSetExtensionHiddenForRef()
- *
- * Summary:
- * Sets whether the extension for an FSRef is hidden or not.
- *
- * Discussion:
- * Sets the necessary file system state to indicate that the
- * extension for inRef is hidden, as in the Finder. You can
- * determine if an FSRef's extension is hidden using
- * LSCopyItemInfoForRef.
- *
- * Parameters:
- *
- * inRef:
- * The FSRef for which the extension is to be hidden or shown.
- *
- * inHide:
- * True to hide inRef's extension, false to show it.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- LSSetExtensionHiddenForRef(
- const FSRef * inRef,
- Boolean inHide);
-
-
-
- /*
- * LSSetExtensionHiddenForURL()
- *
- * Summary:
- * Sets whether the extension for a CFURLRef is hidden or not.
- *
- * Discussion:
- * Sets the necessary file system state to indicate that the
- * extension for inURL is hidden, as in the Finder. You can
- * determine if a CFURLRef's extension is hidden using
- * LSCopyItemInfoForURL.
- *
- * Parameters:
- *
- * inURL:
- * The CFURLRef for which the extension is to be hidden or shown.
- *
- * inHide:
- * True to hide inURL's extension, false to show it.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- LSSetExtensionHiddenForURL(
- CFURLRef inURL,
- Boolean inHide);
-
-
-
- /*
- * LSCopyKindStringForRef()
- *
- * Summary:
- * Get the kind string for an item.
- *
- * Discussion:
- * Returns the kind string as used in the Finder and elsewhere for
- * inFSRef. The CFStringRef must be released after use.
- *
- * Parameters:
- *
- * inFSRef:
- * The item for which the kind string is requested.
- *
- * outKindString:
- * A CFStringRef* to receive the copied kind string object. This
- * CFStringRef must be released eventually.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSCopyKindStringForRef(
- const FSRef * inFSRef,
- CFStringRef * outKindString);
-
-
-
- /*
- * LSCopyKindStringForURL()
- *
- * Summary:
- * Get the kind string for an item.
- *
- * Discussion:
- * Returns the kind string as used in the Finder and elsewhere for
- * inURL. The CFStringRef must be released after use.
- *
- * Parameters:
- *
- * inURL:
- * The item for which the kind string is requested.
- *
- * outKindString:
- * A CFStringRef* to receive the copied kind string object. This
- * CFStringRef must be released eventually.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSCopyKindStringForURL(
- CFURLRef inURL,
- CFStringRef * outKindString);
-
-
-
- /*
- * LSCopyKindStringForTypeInfo()
- *
- * Summary:
- * Return the kind string for items like the provided info
- *
- * Discussion:
- * Returns the kind string as shown in the Finder for the those
- * items whose type, creator, and/or extension match the provided
- * information. The kind string returned will be the one that most
- * closely describes all the information provided. The kind string
- * is subject to the document binding preferences that have been
- * specified by the user. For example, if a creator is specified but
- * the user has asked for files with the given
- * creator/type/extension combination to open in an application with
- * a different creator, the kind string will be loaded from the
- * user's preferred application.
- *
- * Parameters:
- *
- * inType:
- * The OSType file type for which you want a kind string. Specify
- * kLSUnknownType if no file type information is available.
- *
- * inCreator:
- * The OSType creator for which you want a kind string. Specify
- * kLSUnknownCreator if no creator information is available.
- *
- * inExtension:
- * The extension for which you want a kind string. Specify NULL if
- * no extension information is available.
- *
- * outKindString:
- * A CFStringRef* to receive the copied kind string object. This
- * CFStringRef must be released eventually.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- LSCopyKindStringForTypeInfo(
- OSType inType,
- OSType inCreator,
- CFStringRef inExtension, /* can be NULL */
- CFStringRef * outKindString);
-
-
-
- /*
- * LSCopyKindStringForMIMEType()
- *
- * Summary:
- * Get the kind string for the specified MIME type.
- *
- * Discussion:
- * Returns the localized kind string describing the specified MIME
- * type.
- *
- * Parameters:
- *
- * inMIMEType:
- * The string specifying the MIME type.
- *
- * outKindString:
- * A CFStringRef* to receive the copied kind string object. This
- * CFStringRef must be released eventually.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- LSCopyKindStringForMIMEType(
- CFStringRef inMIMEType,
- CFStringRef * outKindString);
-
-
- /*
- * LSGetApplicationForItem()
- *
- * Summary:
- * Return the application used to open an item.
- *
- * Discussion:
- * Consults the binding tables to return the application that would
- * be used to open inItemRef if it were double-clicked in the
- * Finder. This application will be the user-specified override if
- * appropriate or the default otherwise. If no application is known
- * to LaunchServices suitable for opening this item,
- * kLSApplicationNotFoundErr will be returned.
- *
- * Parameters:
- *
- * inItemRef:
- * The FSRef of the item for which the application is requested.
- *
- * inRoleMask:
- * Whether to return the editor or viewer for inItemRef. If you
- * don't care which, use kLSRolesAll.
- *
- * outAppRef:
- * Filled in with the FSRef of the application if not NULL.
- *
- * outAppURL:
- * Filled in with the CFURLRef of the application if not NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSGetApplicationForItem(
- const FSRef * inItemRef,
- LSRolesMask inRoleMask,
- FSRef * outAppRef, /* can be NULL */
- CFURLRef * outAppURL); /* can be NULL */
-
-
-
- /*
- * LSGetApplicationForInfo()
- *
- * Summary:
- * Return the application used to open items with particular data.
- *
- * Discussion:
- * Consults the binding tables to return the application that would
- * be used to open items with type, creator, and/or extension as
- * provided if they were double-clicked in the Finder. This
- * application will be the default for items like this if one has
- * been set. If no application is known to LaunchServices suitable
- * for opening such items, kLSApplicationNotFoundErr will be
- * returned. Not all three input parameters can be NULL at the same
- * time nor can both output parameters be NULL at the same time.
- *
- * Parameters:
- *
- * inType:
- * The file type to consider. Can be kLSUnknownType.
- *
- * inCreator:
- * The file creator to consider. Can be kLSUnknownCreator.
- *
- * inExtension:
- * The file name extension to consider. Can be NULL.
- *
- * inRoleMask:
- * Whether to return the editor or viewer for inItemRef. If you
- * don't care which, use kLSRolesAll.
- *
- * outAppRef:
- * Filled in with the FSRef of the application if not NULL.
- *
- * outAppURL:
- * Filled in with the CFURLRef of the application if not NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSGetApplicationForInfo(
- OSType inType,
- OSType inCreator,
- CFStringRef inExtension, /* can be NULL */
- LSRolesMask inRoleMask,
- FSRef * outAppRef, /* can be NULL */
- CFURLRef * outAppURL); /* can be NULL */
-
-
-
- /*
- * LSCopyApplicationForMIMEType()
- *
- * Summary:
- * Return the application used to handle data with the specified
- * MIME type.
- *
- * Discussion:
- * The returned application URL will be the user's preferred handler
- * for the MIME type if one has been set. If no user preferred
- * application has been set, Launch Services will select a default
- * handler for the MIME type. If no application is known to handle
- * the MIME type, kLSApplicationNotFoundErr will be returned.
- *
- * Parameters:
- *
- * inMIMEType:
- * The string specifying the MIME type.
- *
- * inRoleMask:
- * A role mask that the chosen application must satisfy. Use
- * kLSRolesAll if the role is not important.
- *
- * outAppURL:
- * Receives the copied CFURLRef, which must be released by the
- * caller.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- LSCopyApplicationForMIMEType(
- CFStringRef inMIMEType,
- LSRolesMask inRoleMask,
- CFURLRef * outAppURL);
-
-
-
- /*
- * LSGetApplicationForURL()
- *
- * Summary:
- * Return the application used to open an item.
- *
- * Discussion:
- * Consults the binding tables to return the application that would
- * be used to open inURL if it were double-clicked in the Finder.
- * This application will be the user-specified override if
- * appropriate or the default otherwise. If no application is known
- * to LaunchServices suitable for opening this item,
- * kLSApplicationNotFoundErr will be returned.
- *
- * Parameters:
- *
- * inURL:
- * The CFURLRef of the item for which the application is requested.
- *
- * inRoleMask:
- * Whether to return the editor or viewer for inItemRef. If you
- * don't care which, use kLSRolesAll.
- *
- * outAppRef:
- * Filled in with the FSRef of the application if not NULL.
- *
- * outAppURL:
- * Filled in with the CFURLRef of the application if not NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSGetApplicationForURL(
- CFURLRef inURL,
- LSRolesMask inRoleMask,
- FSRef * outAppRef, /* can be NULL */
- CFURLRef * outAppURL); /* can be NULL */
-
-
-
- /*
- * LSFindApplicationForInfo()
- *
- * Summary:
- * Locate a specific application.
- *
- * Discussion:
- * Returns the application with the corresponding input information.
- * The registry of applications is consulted first in order of
- * bundleID, then creator, then name. All comparisons are case
- * insensitive and 'ties' are decided first by version, then by
- * native vs. Classic.
- *
- * Parameters:
- *
- * inCreator:
- * The file creator to consider. Can be kLSUnknownCreator.
- *
- * inBundleID:
- * The bundle ID to consider. Can be NULL.
- *
- * inName:
- * The name to consider. Can be NULL. Must include any extensions
- * that are part of the file system name, e.g. '.app'.
- *
- * outAppRef:
- * Filled in with the FSRef of the application if not NULL.
- *
- * outAppURL:
- * Filled in with the CFURLRef of the application if not NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSFindApplicationForInfo(
- OSType inCreator,
- CFStringRef inBundleID, /* can be NULL */
- CFStringRef inName, /* can be NULL */
- FSRef * outAppRef, /* can be NULL */
- CFURLRef * outAppURL); /* can be NULL */
-
-
-
- /*
- * LSCanRefAcceptItem()
- *
- * Summary:
- * Determine whether an item can accept another item.
- *
- * Discussion:
- * Returns in outAcceptsItem whether inTargetRef can accept
- * inItemFSRef as in a drag and drop operation. If inRoleMask is
- * other than kLSRolesAll then make sure inTargetRef claims to
- * fulfill the requested role.
- *
- * Parameters:
- *
- * inItemFSRef:
- * FSRef of the item about which acceptance is requested.
- *
- * inTargetRef:
- * FSRef of the potential target.
- *
- * inRoleMask:
- * The role(s) the target must claim in order to consider
- * acceptance.
- *
- * inFlags:
- * Use kLSAcceptDefault.
- *
- * outAcceptsItem:
- * Filled in with result. Must not be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSCanRefAcceptItem(
- const FSRef * inItemFSRef,
- const FSRef * inTargetRef,
- LSRolesMask inRoleMask,
- LSAcceptanceFlags inFlags,
- Boolean * outAcceptsItem);
-
-
-
- /*
- * LSCanURLAcceptURL()
- *
- * Summary:
- * Determine whether an item can accept another item.
- *
- * Discussion:
- * Returns in outAcceptsItem whether inTargetURL can accept
- * inItemURL as in a drag and drop operation. If inRoleMask is other
- * than kLSRolesAll then make sure inTargetRef claims to fulfill the
- * requested role.
- *
- * Parameters:
- *
- * inItemURL:
- * CFURLRef of the item about which acceptance is requested.
- *
- * inTargetURL:
- * CFURLRef of the potential target.
- *
- * inRoleMask:
- * The role(s) the target must claim in order to consider
- * acceptance.
- *
- * inFlags:
- * Use kLSAcceptDefault.
- *
- * outAcceptsItem:
- * Filled in with result. Must not be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSCanURLAcceptURL(
- CFURLRef inItemURL,
- CFURLRef inTargetURL,
- LSRolesMask inRoleMask,
- LSAcceptanceFlags inFlags,
- Boolean * outAcceptsItem);
-
-
-
- /*
- * LSOpenFSRef()
- *
- * Summary:
- * Open an application, document, or folder.
- *
- * Discussion:
- * Opens applications, documents, and folders. Applications are
- * opened via an 'oapp' or 'rapp' event. Documents are opened in
- * their user-overridden or default applications as appropriate.
- * Folders are opened in the Finder. Use the more specific
- * LSOpenFromRefSpec for more control over launching.
- *
- * Parameters:
- *
- * inRef:
- * The FSRef of the item to launch.
- *
- * outLaunchedRef:
- * The FSRef of the item actually launched. For inRefs that are
- * documents, outLaunchedRef will be the application used to
- * launch the document. Can be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSOpenFSRef(
- const FSRef * inRef,
- FSRef * outLaunchedRef); /* can be NULL */
-
-
-
- /*
- * LSOpenCFURLRef()
- *
- * Summary:
- * Open an application, document, or folder.
- *
- * Discussion:
- * Opens applications, documents, and folders. Applications are
- * opened via an 'oapp' or 'rapp' event. Documents are opened in
- * their user-overridden or default applications as appropriate.
- * Folders are opened in the Finder. Use the more specific
- * LSOpenFromURLSpec for more control over launching.
- *
- * Parameters:
- *
- * inURL:
- * The CFURLRef of the item to launch.
- *
- * outLaunchedURL:
- * The CFURLRef of the item actually launched. For inURLs that are
- * documents, outLaunchedURL will be the application used to
- * launch the document. Can be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSOpenCFURLRef(
- CFURLRef inURL,
- CFURLRef * outLaunchedURL); /* can be NULL */
-
-
-
- /*
- * LSOpenFromRefSpec()
- *
- * Summary:
- * Opens an application or one or more documents or folders.
- *
- * Discussion:
- * Opens applications, documents, and folders.
- *
- * Parameters:
- *
- * inLaunchSpec:
- * The specification of what to launch and how to launch it.
- *
- * outLaunchedRef:
- * The FSRef of the item actually launched. For inRefs that are
- * documents, outLaunchedRef will be the application used to
- * launch the document. Can be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSOpenFromRefSpec(
- const LSLaunchFSRefSpec * inLaunchSpec,
- FSRef * outLaunchedRef); /* can be NULL */
-
-
-
- /*
- * LSOpenFromURLSpec()
- *
- * Summary:
- * Opens an application or one or more documents or folders.
- *
- * Discussion:
- * Opens applications, documents, and folders.
- *
- * Parameters:
- *
- * inLaunchSpec:
- * The specification of what to launch and how to launch it.
- *
- * outLaunchedURL:
- * The CFURLRef of the item actually launched. For inURLs that are
- * documents, outLaunchedURL will be the application used to
- * launch the document. Can be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LSOpenFromURLSpec(
- const LSLaunchURLSpec * inLaunchSpec,
- CFURLRef * outLaunchedURL); /* can be NULL */
+/* ======================================================================================================== */
+/* LaunchServices Structures and Enums */
+/* ======================================================================================================== */
+
+enum {
+ kLSUnknownErr = -10810,
+ kLSNotAnApplicationErr = -10811,
+ kLSNotInitializedErr = -10812,
+ kLSDataUnavailableErr = -10813, /* e.g. no kind string*/
+ kLSApplicationNotFoundErr = -10814, /* e.g. no application claims the file*/
+ kLSUnknownTypeErr = -10815,
+ kLSDataTooOldErr = -10816,
+ kLSDataErr = -10817,
+ kLSLaunchInProgressErr = -10818, /* e.g. opening an alreay opening application*/
+ kLSNotRegisteredErr = -10819,
+ kLSAppDoesNotClaimTypeErr = -10820,
+ kLSAppDoesNotSupportSchemeWarning = -10821, /* not an error, just a warning*/
+ kLSServerCommunicationErr = -10822, /* cannot set recent items*/
+ kLSCannotSetInfoErr = -10823 /* you may not set item info for this item*/
+};
+
+typedef OptionBits LSInitializeFlags;
+enum {
+ kLSInitializeDefaults = 0x00000001
+};
+
+enum {
+ kLSMinCatInfoBitmap = (kFSCatInfoNodeFlags | kFSCatInfoParentDirID | kFSCatInfoFinderInfo | kFSCatInfoFinderXInfo) /* minimum info needed to avoid a FSGetCatalogInfo call when fetching item information */
+};
+
+enum {
+ kLSInvalidExtensionIndex = (unsigned long)0xFFFFFFFF /* Index returned from LSGetExtensionInfo when name has no extension*/
+};
+
+typedef OptionBits LSRequestedInfo;
+enum {
+ kLSRequestExtension = 0x00000001, /* safe to use from threads*/
+ kLSRequestTypeCreator = 0x00000002, /* safe to use from threads*/
+ kLSRequestBasicFlagsOnly = 0x00000004, /* all but type of application and extension flags - safe to use from threads*/
+ kLSRequestAppTypeFlags = 0x00000008, /* NOT SAFE to use from threads*/
+ kLSRequestAllFlags = 0x00000010, /* NOT SAFE to use from threads*/
+ kLSRequestIconAndKind = 0x00000020, /* NOT SAFE to use from threads*/
+ kLSRequestExtensionFlagsOnly = 0x00000040, /* safe to use from threads*/
+ kLSRequestAllInfo = (unsigned long)0xFFFFFFFF /* NOT SAFE to use from threads*/
+};
+
+typedef OptionBits LSItemInfoFlags;
+enum {
+ kLSItemInfoIsPlainFile = 0x00000001, /* none of the following applies*/
+ kLSItemInfoIsPackage = 0x00000002, /* app, doc, or bundle package*/
+ kLSItemInfoIsApplication = 0x00000004, /* single-file or packaged*/
+ kLSItemInfoIsContainer = 0x00000008, /* folder or volume*/
+ kLSItemInfoIsAliasFile = 0x00000010, /* Alias file (includes sym links)*/
+ kLSItemInfoIsSymlink = 0x00000020, /* UNIX sym link*/
+ kLSItemInfoIsInvisible = 0x00000040, /* does not include '.' files or '.hidden' entries*/
+ kLSItemInfoIsNativeApp = 0x00000080, /* Carbon or Cocoa native app*/
+ kLSItemInfoIsClassicApp = 0x00000100, /* CFM Classic app*/
+ kLSItemInfoAppPrefersNative = 0x00000200, /* Carbon app that prefers to be launched natively*/
+ kLSItemInfoAppPrefersClassic = 0x00000400, /* Carbon app that prefers to be launched in Classic*/
+ kLSItemInfoAppIsScriptable = 0x00000800, /* App can be scripted*/
+ kLSItemInfoIsVolume = 0x00001000, /* item is a volume*/
+ kLSItemInfoExtensionIsHidden = 0x00100000 /* item has a hidden extension*/
+};
+
+typedef OptionBits LSRolesMask;
+enum {
+ kLSRolesNone = 0x00000001, /* no claim is made about support for this type/scheme*/
+ kLSRolesViewer = 0x00000002, /* claim to be able to view this type/scheme*/
+ kLSRolesEditor = 0x00000004, /* claim to be able to edit this type/scheme*/
+ kLSRolesAll = (unsigned long)0xFFFFFFFF /* claim to do it all*/
+};
+
+typedef UInt32 LSKindID;
+enum {
+ kLSUnknownKindID = 0
+};
+
+enum {
+ kLSUnknownType = 0,
+ kLSUnknownCreator = 0
+};
+
+struct LSItemInfoRecord {
+ LSItemInfoFlags flags;
+ OSType filetype;
+ OSType creator; /* release when finished*/
+ CFStringRef extension; /* release when finished*/
+ CFStringRef iconFileName; /* not for general use*/
+ LSKindID kindID; /* not for general use*/
+};
+typedef struct LSItemInfoRecord LSItemInfoRecord;
+
+typedef OptionBits LSAcceptanceFlags;
+enum {
+ kLSAcceptDefault = 0x00000001,
+ kLSAcceptAllowLoginUI = 0x00000002 /* show UI to log in if necessary*/
+};
+
+typedef OptionBits LSLaunchFlags;
+enum {
+ kLSLaunchDefaults = 0x00000001, /* default = open, async, use Info.plist, start Classic*/
+ kLSLaunchAndPrint = 0x00000002, /* print items instead of open them*/
+ kLSLaunchReserved2 = 0x00000004,
+ kLSLaunchReserved3 = 0x00000008,
+ kLSLaunchReserved4 = 0x00000010,
+ kLSLaunchReserved5 = 0x00000020,
+ kLSLaunchReserved6 = 0x00000040,
+ kLSLaunchInhibitBGOnly = 0x00000080, /* causes launch to fail if target is background-only.*/
+ kLSLaunchDontAddToRecents = 0x00000100, /* do not add app or documents to recents menus.*/
+ kLSLaunchDontSwitch = 0x00000200, /* don't bring new app to the foreground.*/
+ kLSLaunchNoParams = 0x00000800, /* Use Info.plist to determine launch parameters*/
+ kLSLaunchAsync = 0x00010000, /* launch async; obtain results from kCPSNotifyLaunch.*/
+ kLSLaunchStartClassic = 0x00020000, /* start up Classic environment if required for app.*/
+ kLSLaunchInClassic = 0x00040000, /* force app to launch in Classic environment.*/
+ kLSLaunchNewInstance = 0x00080000, /* Instantiate app even if it is already running.*/
+ kLSLaunchAndHide = 0x00100000, /* Send child a "hide" request as soon as it checks in.*/
+ kLSLaunchAndHideOthers = 0x00200000 /* Hide all other apps when child checks in.*/
+};
+
+struct LSLaunchFSRefSpec {
+ const FSRef * appRef; /* app to use, can be NULL*/
+ UInt32 numDocs; /* items to open/print, can be NULL*/
+ const FSRef * itemRefs; /* array of FSRefs*/
+ const AEDesc * passThruParams; /* passed untouched to application as optional parameter*/
+ LSLaunchFlags launchFlags;
+ void * asyncRefCon; /* used if you register for app birth/death notification*/
+};
+typedef struct LSLaunchFSRefSpec LSLaunchFSRefSpec;
+struct LSLaunchURLSpec {
+ CFURLRef appURL; /* app to use, can be NULL*/
+ CFArrayRef itemURLs; /* items to open/print, can be NULL*/
+ const AEDesc * passThruParams; /* passed untouched to application as optional parameter*/
+ LSLaunchFlags launchFlags;
+ void * asyncRefCon; /* used if you register for app birth/death notification*/
+};
+typedef struct LSLaunchURLSpec LSLaunchURLSpec;
+
+
+/* ======================================================================================================== */
+/* LaunchServices Public Entry Points */
+/* ======================================================================================================== */
+
+/*
+ * LSInit()
+ *
+ * Summary:
+ * Initialize LaunchServices for use.
+ *
+ * Discussion:
+ * LSInit is deprecated. Launch Services is initialized implicitly
+ * when first called.
+ *
+ * Parameters:
+ *
+ * inFlags:
+ * Use kLSInitializeDefaults.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSInit(LSInitializeFlags inFlags);
+
+
+
+/*
+ * LSTerm()
+ *
+ * Summary:
+ * Terminate LaunchServices use.
+ *
+ * Discussion:
+ * LSTerm is deprecated. It does not need to be called.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSTerm(void);
+
+
+
+/*
+ * LSCopyItemInfoForRef()
+ *
+ * Summary:
+ * Return information about an item.
+ *
+ * Discussion:
+ * Returns as much or as little information as requested about
+ * inItemRef. Some information is available in a thread-safe manner,
+ * some is not. All CFStrings must be released after use.
+ *
+ * Parameters:
+ *
+ * inItemRef:
+ * The FSRef of the item about which information is requested.
+ *
+ * inWhichInfo:
+ * Flags indicating which information to return
+ *
+ * outItemInfo:
+ * Information is returned in this structure. Must not be NULL
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyItemInfoForRef(
+ const FSRef * inItemRef,
+ LSRequestedInfo inWhichInfo,
+ LSItemInfoRecord * outItemInfo);
+
+
+
+/*
+ * LSCopyItemInfoForURL()
+ *
+ * Summary:
+ * Return information about an item.
+ *
+ * Discussion:
+ * Returns as much or as little information as requested about
+ * inURL. Some information is available in a thread-safe manner,
+ * some is not. All CFStrings must be released after use.
+ *
+ * Parameters:
+ *
+ * inURL:
+ * The CFURLRef of the item about which information is requested.
+ *
+ * inWhichInfo:
+ * Flags indicating which information to return
+ *
+ * outItemInfo:
+ * Information is returned in this structure. Must not be NULL
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyItemInfoForURL(
+ CFURLRef inURL,
+ LSRequestedInfo inWhichInfo,
+ LSItemInfoRecord * outItemInfo);
+
+
+/*
+ * LSGetExtensionInfo()
+ *
+ * Summary:
+ * Get information about the extension for a file system name.
+ *
+ * Discussion:
+ * Returns the starting index of the extension (not including the
+ * period) or kLSInvalidExtensionIndex if the input name has no
+ * extension.
+ *
+ * Parameters:
+ *
+ * inNameLen:
+ * The number of the UniChars in inNameBuffer.
+ *
+ * inNameBuffer:
+ * The buffer containing the name's Unicode characters.
+ *
+ * outExtStartIndex:
+ * On success, the starting index of the extension if there is one
+ * (not including the period). Set to kLSInvalidExtensionIndex if
+ * inNameBuffer does not contain a valid extension.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+LSGetExtensionInfo(
+ UniCharCount inNameLen,
+ const UniChar inNameBuffer[],
+ UniCharCount * outExtStartIndex);
+
+
+
+/*
+ * LSCopyDisplayNameForRef()
+ *
+ * Summary:
+ * Get the display name for an FSRef.
+ *
+ * Discussion:
+ * Return a copy of the display name for an FSRef. Takes into
+ * consideration whether this item has a hidden extension or not.
+ *
+ * Parameters:
+ *
+ * inRef:
+ * The FSRef for which the display name is desired.
+ *
+ * outDisplayName:
+ * Pointer to the CFString into which the display name should be
+ * copied. Callers must dispose of the resulting CFString.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyDisplayNameForRef(
+ const FSRef * inRef,
+ CFStringRef * outDisplayName);
+
+
+
+/*
+ * LSCopyDisplayNameForURL()
+ *
+ * Summary:
+ * Get the display name for a CFURLRef.
+ *
+ * Discussion:
+ * Return a copy of the display name for a CFURLRef. Takes into
+ * consideration whether this item has a hidden extension or not.
+ *
+ * Parameters:
+ *
+ * inURL:
+ * The URL for which the display name is desired.
+ *
+ * outDisplayName:
+ * Pointer to the CFString into which the display name should be
+ * copied. Callers must dispose of the resulting CFString.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyDisplayNameForURL(
+ CFURLRef inURL,
+ CFStringRef * outDisplayName);
+
+
+
+/*
+ * LSSetExtensionHiddenForRef()
+ *
+ * Summary:
+ * Sets whether the extension for an FSRef is hidden or not.
+ *
+ * Discussion:
+ * Sets the necessary file system state to indicate that the
+ * extension for inRef is hidden, as in the Finder. You can
+ * determine if an FSRef's extension is hidden using
+ * LSCopyItemInfoForRef.
+ *
+ * Parameters:
+ *
+ * inRef:
+ * The FSRef for which the extension is to be hidden or shown.
+ *
+ * inHide:
+ * True to hide inRef's extension, false to show it.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+LSSetExtensionHiddenForRef(
+ const FSRef * inRef,
+ Boolean inHide);
+
+
+
+/*
+ * LSSetExtensionHiddenForURL()
+ *
+ * Summary:
+ * Sets whether the extension for a CFURLRef is hidden or not.
+ *
+ * Discussion:
+ * Sets the necessary file system state to indicate that the
+ * extension for inURL is hidden, as in the Finder. You can
+ * determine if a CFURLRef's extension is hidden using
+ * LSCopyItemInfoForURL.
+ *
+ * Parameters:
+ *
+ * inURL:
+ * The CFURLRef for which the extension is to be hidden or shown.
+ *
+ * inHide:
+ * True to hide inURL's extension, false to show it.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+LSSetExtensionHiddenForURL(
+ CFURLRef inURL,
+ Boolean inHide);
+
+
+
+/*
+ * LSCopyKindStringForRef()
+ *
+ * Summary:
+ * Get the kind string for an item.
+ *
+ * Discussion:
+ * Returns the kind string as used in the Finder and elsewhere for
+ * inFSRef. The CFStringRef must be released after use.
+ *
+ * Parameters:
+ *
+ * inFSRef:
+ * The item for which the kind string is requested.
+ *
+ * outKindString:
+ * A CFStringRef* to receive the copied kind string object. This
+ * CFStringRef must be released eventually.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyKindStringForRef(
+ const FSRef * inFSRef,
+ CFStringRef * outKindString);
+
+
+
+/*
+ * LSCopyKindStringForURL()
+ *
+ * Summary:
+ * Get the kind string for an item.
+ *
+ * Discussion:
+ * Returns the kind string as used in the Finder and elsewhere for
+ * inURL. The CFStringRef must be released after use.
+ *
+ * Parameters:
+ *
+ * inURL:
+ * The item for which the kind string is requested.
+ *
+ * outKindString:
+ * A CFStringRef* to receive the copied kind string object. This
+ * CFStringRef must be released eventually.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyKindStringForURL(
+ CFURLRef inURL,
+ CFStringRef * outKindString);
+
+
+
+/*
+ * LSCopyKindStringForTypeInfo()
+ *
+ * Summary:
+ * Return the kind string for items like the provided info
+ *
+ * Discussion:
+ * Returns the kind string as shown in the Finder for the those
+ * items whose type, creator, and/or extension match the provided
+ * information. The kind string returned will be the one that most
+ * closely describes all the information provided. The kind string
+ * is subject to the document binding preferences that have been
+ * specified by the user. For example, if a creator is specified but
+ * the user has asked for files with the given
+ * creator/type/extension combination to open in an application with
+ * a different creator, the kind string will be loaded from the
+ * user's preferred application.
+ *
+ * Parameters:
+ *
+ * inType:
+ * The OSType file type for which you want a kind string. Specify
+ * kLSUnknownType if no file type information is available.
+ *
+ * inCreator:
+ * The OSType creator for which you want a kind string. Specify
+ * kLSUnknownCreator if no creator information is available.
+ *
+ * inExtension:
+ * The extension for which you want a kind string. Specify NULL if
+ * no extension information is available.
+ *
+ * outKindString:
+ * A CFStringRef* to receive the copied kind string object. This
+ * CFStringRef must be released eventually.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyKindStringForTypeInfo(
+ OSType inType,
+ OSType inCreator,
+ CFStringRef inExtension, /* can be NULL */
+ CFStringRef * outKindString);
+
+
+
+/*
+ * LSCopyKindStringForMIMEType()
+ *
+ * Summary:
+ * Get the kind string for the specified MIME type.
+ *
+ * Discussion:
+ * Returns the localized kind string describing the specified MIME
+ * type.
+ *
+ * Parameters:
+ *
+ * inMIMEType:
+ * The string specifying the MIME type.
+ *
+ * outKindString:
+ * A CFStringRef* to receive the copied kind string object. This
+ * CFStringRef must be released eventually.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyKindStringForMIMEType(
+ CFStringRef inMIMEType,
+ CFStringRef * outKindString);
+
+
+/*
+ * LSGetApplicationForItem()
+ *
+ * Summary:
+ * Return the application used to open an item.
+ *
+ * Discussion:
+ * Consults the binding tables to return the application that would
+ * be used to open inItemRef if it were double-clicked in the
+ * Finder. This application will be the user-specified override if
+ * appropriate or the default otherwise. If no application is known
+ * to LaunchServices suitable for opening this item,
+ * kLSApplicationNotFoundErr will be returned.
+ *
+ * Parameters:
+ *
+ * inItemRef:
+ * The FSRef of the item for which the application is requested.
+ *
+ * inRoleMask:
+ * Whether to return the editor or viewer for inItemRef. If you
+ * don't care which, use kLSRolesAll.
+ *
+ * outAppRef:
+ * Filled in with the FSRef of the application if not NULL.
+ *
+ * outAppURL:
+ * Filled in with the CFURLRef of the application if not NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSGetApplicationForItem(
+ const FSRef * inItemRef,
+ LSRolesMask inRoleMask,
+ FSRef * outAppRef, /* can be NULL */
+ CFURLRef * outAppURL); /* can be NULL */
+
+
+
+/*
+ * LSGetApplicationForInfo()
+ *
+ * Summary:
+ * Return the application used to open items with particular data.
+ *
+ * Discussion:
+ * Consults the binding tables to return the application that would
+ * be used to open items with type, creator, and/or extension as
+ * provided if they were double-clicked in the Finder. This
+ * application will be the default for items like this if one has
+ * been set. If no application is known to LaunchServices suitable
+ * for opening such items, kLSApplicationNotFoundErr will be
+ * returned. Not all three input parameters can be NULL at the same
+ * time nor can both output parameters be NULL at the same time.
+ *
+ * Parameters:
+ *
+ * inType:
+ * The file type to consider. Can be kLSUnknownType.
+ *
+ * inCreator:
+ * The file creator to consider. Can be kLSUnknownCreator.
+ *
+ * inExtension:
+ * The file name extension to consider. Can be NULL.
+ *
+ * inRoleMask:
+ * Whether to return the editor or viewer for inItemRef. If you
+ * don't care which, use kLSRolesAll.
+ *
+ * outAppRef:
+ * Filled in with the FSRef of the application if not NULL.
+ *
+ * outAppURL:
+ * Filled in with the CFURLRef of the application if not NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSGetApplicationForInfo(
+ OSType inType,
+ OSType inCreator,
+ CFStringRef inExtension, /* can be NULL */
+ LSRolesMask inRoleMask,
+ FSRef * outAppRef, /* can be NULL */
+ CFURLRef * outAppURL); /* can be NULL */
+
+
+
+/*
+ * LSCopyApplicationForMIMEType()
+ *
+ * Summary:
+ * Return the application used to handle data with the specified
+ * MIME type.
+ *
+ * Discussion:
+ * The returned application URL will be the user's preferred handler
+ * for the MIME type if one has been set. If no user preferred
+ * application has been set, Launch Services will select a default
+ * handler for the MIME type. If no application is known to handle
+ * the MIME type, kLSApplicationNotFoundErr will be returned.
+ *
+ * Parameters:
+ *
+ * inMIMEType:
+ * The string specifying the MIME type.
+ *
+ * inRoleMask:
+ * A role mask that the chosen application must satisfy. Use
+ * kLSRolesAll if the role is not important.
+ *
+ * outAppURL:
+ * Receives the copied CFURLRef, which must be released by the
+ * caller.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+LSCopyApplicationForMIMEType(
+ CFStringRef inMIMEType,
+ LSRolesMask inRoleMask,
+ CFURLRef * outAppURL);
+
+
+
+/*
+ * LSGetApplicationForURL()
+ *
+ * Summary:
+ * Return the application used to open an item.
+ *
+ * Discussion:
+ * Consults the binding tables to return the application that would
+ * be used to open inURL if it were double-clicked in the Finder.
+ * This application will be the user-specified override if
+ * appropriate or the default otherwise. If no application is known
+ * to LaunchServices suitable for opening this item,
+ * kLSApplicationNotFoundErr will be returned.
+ *
+ * Parameters:
+ *
+ * inURL:
+ * The CFURLRef of the item for which the application is requested.
+ *
+ * inRoleMask:
+ * Whether to return the editor or viewer for inItemRef. If you
+ * don't care which, use kLSRolesAll.
+ *
+ * outAppRef:
+ * Filled in with the FSRef of the application if not NULL.
+ *
+ * outAppURL:
+ * Filled in with the CFURLRef of the application if not NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSGetApplicationForURL(
+ CFURLRef inURL,
+ LSRolesMask inRoleMask,
+ FSRef * outAppRef, /* can be NULL */
+ CFURLRef * outAppURL); /* can be NULL */
+
+
+
+/*
+ * LSFindApplicationForInfo()
+ *
+ * Summary:
+ * Locate a specific application.
+ *
+ * Discussion:
+ * Returns the application with the corresponding input information.
+ * The registry of applications is consulted first in order of
+ * bundleID, then creator, then name. All comparisons are case
+ * insensitive and 'ties' are decided first by version, then by
+ * native vs. Classic.
+ *
+ * Parameters:
+ *
+ * inCreator:
+ * The file creator to consider. Can be kLSUnknownCreator.
+ *
+ * inBundleID:
+ * The bundle ID to consider. Can be NULL.
+ *
+ * inName:
+ * The name to consider. Can be NULL. Must include any extensions
+ * that are part of the file system name, e.g. '.app'.
+ *
+ * outAppRef:
+ * Filled in with the FSRef of the application if not NULL.
+ *
+ * outAppURL:
+ * Filled in with the CFURLRef of the application if not NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSFindApplicationForInfo(
+ OSType inCreator,
+ CFStringRef inBundleID, /* can be NULL */
+ CFStringRef inName, /* can be NULL */
+ FSRef * outAppRef, /* can be NULL */
+ CFURLRef * outAppURL); /* can be NULL */
+
+
+
+/*
+ * LSCanRefAcceptItem()
+ *
+ * Summary:
+ * Determine whether an item can accept another item.
+ *
+ * Discussion:
+ * Returns in outAcceptsItem whether inTargetRef can accept
+ * inItemFSRef as in a drag and drop operation. If inRoleMask is
+ * other than kLSRolesAll then make sure inTargetRef claims to
+ * fulfill the requested role.
+ *
+ * Parameters:
+ *
+ * inItemFSRef:
+ * FSRef of the item about which acceptance is requested.
+ *
+ * inTargetRef:
+ * FSRef of the potential target.
+ *
+ * inRoleMask:
+ * The role(s) the target must claim in order to consider
+ * acceptance.
+ *
+ * inFlags:
+ * Use kLSAcceptDefault.
+ *
+ * outAcceptsItem:
+ * Filled in with result. Must not be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSCanRefAcceptItem(
+ const FSRef * inItemFSRef,
+ const FSRef * inTargetRef,
+ LSRolesMask inRoleMask,
+ LSAcceptanceFlags inFlags,
+ Boolean * outAcceptsItem);
+
+
+
+/*
+ * LSCanURLAcceptURL()
+ *
+ * Summary:
+ * Determine whether an item can accept another item.
+ *
+ * Discussion:
+ * Returns in outAcceptsItem whether inTargetURL can accept
+ * inItemURL as in a drag and drop operation. If inRoleMask is other
+ * than kLSRolesAll then make sure inTargetRef claims to fulfill the
+ * requested role.
+ *
+ * Parameters:
+ *
+ * inItemURL:
+ * CFURLRef of the item about which acceptance is requested.
+ *
+ * inTargetURL:
+ * CFURLRef of the potential target.
+ *
+ * inRoleMask:
+ * The role(s) the target must claim in order to consider
+ * acceptance.
+ *
+ * inFlags:
+ * Use kLSAcceptDefault.
+ *
+ * outAcceptsItem:
+ * Filled in with result. Must not be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSCanURLAcceptURL(
+ CFURLRef inItemURL,
+ CFURLRef inTargetURL,
+ LSRolesMask inRoleMask,
+ LSAcceptanceFlags inFlags,
+ Boolean * outAcceptsItem);
+
+
+
+/*
+ * LSOpenFSRef()
+ *
+ * Summary:
+ * Open an application, document, or folder.
+ *
+ * Discussion:
+ * Opens applications, documents, and folders. Applications are
+ * opened via an 'oapp' or 'rapp' event. Documents are opened in
+ * their user-overridden or default applications as appropriate.
+ * Folders are opened in the Finder. Use the more specific
+ * LSOpenFromRefSpec for more control over launching.
+ *
+ * Parameters:
+ *
+ * inRef:
+ * The FSRef of the item to launch.
+ *
+ * outLaunchedRef:
+ * The FSRef of the item actually launched. For inRefs that are
+ * documents, outLaunchedRef will be the application used to
+ * launch the document. Can be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSOpenFSRef(
+ const FSRef * inRef,
+ FSRef * outLaunchedRef); /* can be NULL */
+
+
+
+/*
+ * LSOpenCFURLRef()
+ *
+ * Summary:
+ * Open an application, document, or folder.
+ *
+ * Discussion:
+ * Opens applications, documents, and folders. Applications are
+ * opened via an 'oapp' or 'rapp' event. Documents are opened in
+ * their user-overridden or default applications as appropriate.
+ * Folders are opened in the Finder. Use the more specific
+ * LSOpenFromURLSpec for more control over launching.
+ *
+ * Parameters:
+ *
+ * inURL:
+ * The CFURLRef of the item to launch.
+ *
+ * outLaunchedURL:
+ * The CFURLRef of the item actually launched. For inURLs that are
+ * documents, outLaunchedURL will be the application used to
+ * launch the document. Can be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSOpenCFURLRef(
+ CFURLRef inURL,
+ CFURLRef * outLaunchedURL); /* can be NULL */
+
+
+
+/*
+ * LSOpenFromRefSpec()
+ *
+ * Summary:
+ * Opens an application or one or more documents or folders.
+ *
+ * Discussion:
+ * Opens applications, documents, and folders.
+ *
+ * Parameters:
+ *
+ * inLaunchSpec:
+ * The specification of what to launch and how to launch it.
+ *
+ * outLaunchedRef:
+ * The FSRef of the item actually launched. For inRefs that are
+ * documents, outLaunchedRef will be the application used to
+ * launch the document. Can be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSOpenFromRefSpec(
+ const LSLaunchFSRefSpec * inLaunchSpec,
+ FSRef * outLaunchedRef); /* can be NULL */
+
+
+
+/*
+ * LSOpenFromURLSpec()
+ *
+ * Summary:
+ * Opens an application or one or more documents or folders.
+ *
+ * Discussion:
+ * Opens applications, documents, and folders.
+ *
+ * Parameters:
+ *
+ * inLaunchSpec:
+ * The specification of what to launch and how to launch it.
+ *
+ * outLaunchedURL:
+ * The CFURLRef of the item actually launched. For inURLs that are
+ * documents, outLaunchedURL will be the application used to
+ * launch the document. Can be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LSOpenFromURLSpec(
+ const LSLaunchURLSpec * inLaunchSpec,
+ CFURLRef * outLaunchedURL); /* can be NULL */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ListManagerComponent.h b/include/qt/ListManagerComponent.h
index 17d1cf3ba..6eb62f300 100644
--- a/include/qt/ListManagerComponent.h
+++ b/include/qt/ListManagerComponent.h
@@ -1,18 +1,18 @@
/*
File: ListManagerComponent.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: Technology: QuickTime 6.0
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2002 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 __LISTMANAGERCOMPONENT__
#define __LISTMANAGERCOMPONENT__
@@ -41,263 +41,262 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kLISTComponentType = FOUR_CHAR_CODE('list'),
- kLISTComponentSubType = FOUR_CHAR_CODE('list')
- };
+enum {
+ kLISTComponentType = FOUR_CHAR_CODE('list'),
+ kLISTComponentSubType = FOUR_CHAR_CODE('list')
+};
#if CALL_NOT_IN_CARBON
- /*
- * LISTCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTCreate(
- ComponentInstance ci,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * LISTLDispose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLDispose(
- ComponentInstance list,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * LISTLAddRow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLAddRow(
- ComponentInstance list,
- short count,
- short rowNum,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * LISTLDelRow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLDelRow(
- ComponentInstance list,
- short count,
- short rowNum,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * LISTLSetDrawingMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLSetDrawingMode(
- ComponentInstance list,
- Boolean drawIt,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * LISTLAutoScroll()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLAutoScroll(
- ComponentInstance list,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * LISTLActivate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLActivate(
- ComponentInstance list,
- Boolean act,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * LISTLAddToCell()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLAddToCell(
- ComponentInstance list,
- const void * dataPtr,
- short dataLen,
- Cell theCell,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x000E, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * LISTLClrCell()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLClrCell(
- ComponentInstance list,
- Cell theCell,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * LISTLSetCell()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLSetCell(
- ComponentInstance list,
- const void * dataPtr,
- short dataLen,
- Cell theCell,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x000E, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * LISTLSetSelect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLSetSelect(
- ComponentInstance list,
- Boolean setIt,
- Cell theCell,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x000A, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * LISTLDraw()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLDraw(
- ComponentInstance list,
- Cell theCell,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * LISTGetVisibleBounds()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTGetVisibleBounds(
- ComponentInstance list,
- Rect * bounds,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * LISTLScroll()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- LISTLScroll(
- ComponentInstance list,
- short dh,
- short dv,
- ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000E, 0x7000, 0xA82A);
-
-
-
-
- /* selectors for component calls */
- enum
- {
- kLISTCreateSelect = 0x0001,
- kLISTLDisposeSelect = 0x0002,
- kLISTLAddRowSelect = 0x0003,
- kLISTLDelRowSelect = 0x0004,
- kLISTLSetDrawingModeSelect = 0x0005,
- kLISTLAutoScrollSelect = 0x0006,
- kLISTLActivateSelect = 0x0007,
- kLISTLAddToCellSelect = 0x0008,
- kLISTLClrCellSelect = 0x0009,
- kLISTLSetCellSelect = 0x000A,
- kLISTLSetSelectSelect = 0x000B,
- kLISTLDrawSelect = 0x000C,
- kLISTGetVisibleBoundsSelect = 0x000D,
- kLISTLScrollSelect = 0x000E
- };
+/*
+ * LISTCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTCreate(
+ ComponentInstance ci,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLDispose(
+ ComponentInstance list,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLAddRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLAddRow(
+ ComponentInstance list,
+ short count,
+ short rowNum,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLDelRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLDelRow(
+ ComponentInstance list,
+ short count,
+ short rowNum,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLSetDrawingMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLSetDrawingMode(
+ ComponentInstance list,
+ Boolean drawIt,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLAutoScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLAutoScroll(
+ ComponentInstance list,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLActivate(
+ ComponentInstance list,
+ Boolean act,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLAddToCell()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLAddToCell(
+ ComponentInstance list,
+ const void * dataPtr,
+ short dataLen,
+ Cell theCell,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x000E, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLClrCell()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLClrCell(
+ ComponentInstance list,
+ Cell theCell,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLSetCell()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLSetCell(
+ ComponentInstance list,
+ const void * dataPtr,
+ short dataLen,
+ Cell theCell,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x000E, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLSetSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLSetSelect(
+ ComponentInstance list,
+ Boolean setIt,
+ Cell theCell,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x000A, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLDraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLDraw(
+ ComponentInstance list,
+ Cell theCell,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * LISTGetVisibleBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTGetVisibleBounds(
+ ComponentInstance list,
+ Rect * bounds,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * LISTLScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+LISTLScroll(
+ ComponentInstance list,
+ short dh,
+ short dv,
+ ListHandle lHandle) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000E, 0x7000, 0xA82A);
+
+
+
+
+/* selectors for component calls */
+enum {
+ kLISTCreateSelect = 0x0001,
+ kLISTLDisposeSelect = 0x0002,
+ kLISTLAddRowSelect = 0x0003,
+ kLISTLDelRowSelect = 0x0004,
+ kLISTLSetDrawingModeSelect = 0x0005,
+ kLISTLAutoScrollSelect = 0x0006,
+ kLISTLActivateSelect = 0x0007,
+ kLISTLAddToCellSelect = 0x0008,
+ kLISTLClrCellSelect = 0x0009,
+ kLISTLSetCellSelect = 0x000A,
+ kLISTLSetSelectSelect = 0x000B,
+ kLISTLDrawSelect = 0x000C,
+ kLISTGetVisibleBoundsSelect = 0x000D,
+ kLISTLScrollSelect = 0x000E
+};
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Lists.h b/include/qt/Lists.h
index d3bfeab52..ec53af836 100644
--- a/include/qt/Lists.h
+++ b/include/qt/Lists.h
@@ -1,17 +1,17 @@
/*
File: Lists.h
-
+
Contains: List Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __LISTS__
#define __LISTS__
@@ -40,876 +40,838 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef Point Cell;
- typedef Rect ListBounds;
- typedef char DataArray[32001];
- typedef char * DataPtr;
- typedef DataPtr * DataHandle;
- typedef CALLBACK_API(short , ListSearchProcPtr)(Ptr aPtr, Ptr bPtr, short aLen, short bLen);
- typedef CALLBACK_API_REGISTER68K(Boolean , ListClickLoopProcPtr, (void));
- typedef STACK_UPP_TYPE(ListSearchProcPtr) ListSearchUPP;
- typedef REGISTER_UPP_TYPE(ListClickLoopProcPtr) ListClickLoopUPP;
+typedef Point Cell;
+typedef Rect ListBounds;
+typedef char DataArray[32001];
+typedef char * DataPtr;
+typedef DataPtr * DataHandle;
+typedef CALLBACK_API( short , ListSearchProcPtr )(Ptr aPtr, Ptr bPtr, short aLen, short bLen);
+typedef CALLBACK_API_REGISTER68K( Boolean , ListClickLoopProcPtr, (void) );
+typedef STACK_UPP_TYPE(ListSearchProcPtr) ListSearchUPP;
+typedef REGISTER_UPP_TYPE(ListClickLoopProcPtr) ListClickLoopUPP;
#if !TARGET_OS_MAC
- /* QuickTime 3.0 */
- typedef long ListNotification;
- enum
- {
- listNotifyNothing = FOUR_CHAR_CODE('nada'), /* No (null) notification*/
- listNotifyClick = FOUR_CHAR_CODE('clik'), /* Control was clicked*/
- listNotifyDoubleClick = FOUR_CHAR_CODE('dblc'), /* Control was double-clicked*/
- listNotifyPreClick = FOUR_CHAR_CODE('pclk') /* Control about to be clicked*/
- };
+/* QuickTime 3.0 */
+typedef long ListNotification;
+enum {
+ listNotifyNothing = FOUR_CHAR_CODE('nada'), /* No (null) notification*/
+ listNotifyClick = FOUR_CHAR_CODE('clik'), /* Control was clicked*/
+ listNotifyDoubleClick = FOUR_CHAR_CODE('dblc'), /* Control was double-clicked*/
+ listNotifyPreClick = FOUR_CHAR_CODE('pclk') /* Control about to be clicked*/
+};
#endif /* !TARGET_OS_MAC */
- struct ListRec
- {
- Rect rView; /* in Carbon use Get/SetListViewBounds*/
- GrafPtr port; /* in Carbon use Get/SetListPort*/
- Point indent; /* in Carbon use Get/SetListCellIndent*/
- Point cellSize; /* in Carbon use Get/SetListCellSize*/
- ListBounds visible; /* in Carbon use GetListVisibleCells*/
- ControlRef vScroll; /* in Carbon use GetListVerticalScrollBar*/
- ControlRef hScroll; /* in Carbon use GetListHorizontalScrollBar*/
- SInt8 selFlags; /* in Carbon use Get/SetListSelectionFlags*/
- Boolean lActive; /* in Carbon use LActivate, GetListActive*/
- SInt8 lReserved; /* not supported in Carbon */
- SInt8 listFlags; /* in Carbon use Get/SetListFlags */
- long clikTime; /* in Carbon use Get/SetListClickTime*/
- Point clikLoc; /* in Carbon use GetListClickLocation*/
- Point mouseLoc; /* in Carbon use GetListMouseLocation*/
- ListClickLoopUPP lClickLoop; /* in Carbon use Get/SetListClickLoop*/
- Cell lastClick; /* in Carbon use SetListLastClick*/
- long refCon; /* in Carbon use Get/SetListRefCon*/
- Handle listDefProc; /* not supported in Carbon */
- Handle userHandle; /* in Carbon use Get/SetListUserHandle*/
- ListBounds dataBounds; /* in Carbon use GetListDataBounds*/
- DataHandle cells; /* in Carbon use LGet/SetCell*/
- short maxIndex; /* in Carbon use LGet/SetCell*/
- short cellArray[1]; /* in Carbon use LGet/SetCell*/
- };
- typedef struct ListRec ListRec;
- typedef ListRec * ListPtr;
- typedef ListPtr * ListHandle;
- /* ListRef is obsolete. Use ListHandle. */
- typedef ListHandle ListRef;
-
-
- enum
- {
- /* ListRec.listFlags bits*/
- lDrawingModeOffBit = 3,
- lDoVAutoscrollBit = 1,
- lDoHAutoscrollBit = 0
- };
-
- enum
- {
- /* ListRec.listFlags masks*/
- lDrawingModeOff = 8,
- lDoVAutoscroll = 2,
- lDoHAutoscroll = 1
- };
-
-
- enum
- {
- /* ListRec.selFlags bits*/
- lOnlyOneBit = 7,
- lExtendDragBit = 6,
- lNoDisjointBit = 5,
- lNoExtendBit = 4,
- lNoRectBit = 3,
- lUseSenseBit = 2,
- lNoNilHiliteBit = 1
- };
-
-
- enum
- {
- /* ListRec.selFlags masks*/
- lOnlyOne = -128,
- lExtendDrag = 64,
- lNoDisjoint = 32,
- lNoExtend = 16,
- lNoRect = 8,
- lUseSense = 4,
- lNoNilHilite = 2
- };
-
-
- enum
- {
- /* LDEF messages*/
- lInitMsg = 0,
- lDrawMsg = 1,
- lHiliteMsg = 2,
- lCloseMsg = 3
- };
-
- /*
- StandardIconListCellDataRec is the cell data format for
- use with the standard icon list (kListDefStandardIconType).
- */
- struct StandardIconListCellDataRec
- {
- Handle iconHandle;
- short font;
- short face;
- short size;
- Str255 name;
- };
- typedef struct StandardIconListCellDataRec StandardIconListCellDataRec;
- typedef StandardIconListCellDataRec * StandardIconListCellDataPtr;
-
-
- typedef CALLBACK_API(void , ListDefProcPtr)(short lMessage, Boolean lSelect, Rect *lRect, Cell lCell, short lDataOffset, short lDataLen, ListHandle lHandle);
- typedef STACK_UPP_TYPE(ListDefProcPtr) ListDefUPP;
- /*
- * NewListSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ListSearchUPP)
- NewListSearchUPP(ListSearchProcPtr userRoutine);
+struct ListRec {
+ Rect rView; /* in Carbon use Get/SetListViewBounds*/
+ GrafPtr port; /* in Carbon use Get/SetListPort*/
+ Point indent; /* in Carbon use Get/SetListCellIndent*/
+ Point cellSize; /* in Carbon use Get/SetListCellSize*/
+ ListBounds visible; /* in Carbon use GetListVisibleCells*/
+ ControlRef vScroll; /* in Carbon use GetListVerticalScrollBar*/
+ ControlRef hScroll; /* in Carbon use GetListHorizontalScrollBar*/
+ SInt8 selFlags; /* in Carbon use Get/SetListSelectionFlags*/
+ Boolean lActive; /* in Carbon use LActivate, GetListActive*/
+ SInt8 lReserved; /* not supported in Carbon */
+ SInt8 listFlags; /* in Carbon use Get/SetListFlags */
+ long clikTime; /* in Carbon use Get/SetListClickTime*/
+ Point clikLoc; /* in Carbon use GetListClickLocation*/
+ Point mouseLoc; /* in Carbon use GetListMouseLocation*/
+ ListClickLoopUPP lClickLoop; /* in Carbon use Get/SetListClickLoop*/
+ Cell lastClick; /* in Carbon use SetListLastClick*/
+ long refCon; /* in Carbon use Get/SetListRefCon*/
+ Handle listDefProc; /* not supported in Carbon */
+ Handle userHandle; /* in Carbon use Get/SetListUserHandle*/
+ ListBounds dataBounds; /* in Carbon use GetListDataBounds*/
+ DataHandle cells; /* in Carbon use LGet/SetCell*/
+ short maxIndex; /* in Carbon use LGet/SetCell*/
+ short cellArray[1]; /* in Carbon use LGet/SetCell*/
+};
+typedef struct ListRec ListRec;
+typedef ListRec * ListPtr;
+typedef ListPtr * ListHandle;
+/* ListRef is obsolete. Use ListHandle. */
+typedef ListHandle ListRef;
+
+
+enum {
+ /* ListRec.listFlags bits*/
+ lDrawingModeOffBit = 3,
+ lDoVAutoscrollBit = 1,
+ lDoHAutoscrollBit = 0
+};
+
+enum {
+ /* ListRec.listFlags masks*/
+ lDrawingModeOff = 8,
+ lDoVAutoscroll = 2,
+ lDoHAutoscroll = 1
+};
+
+
+enum {
+ /* ListRec.selFlags bits*/
+ lOnlyOneBit = 7,
+ lExtendDragBit = 6,
+ lNoDisjointBit = 5,
+ lNoExtendBit = 4,
+ lNoRectBit = 3,
+ lUseSenseBit = 2,
+ lNoNilHiliteBit = 1
+};
+
+
+enum {
+ /* ListRec.selFlags masks*/
+ lOnlyOne = -128,
+ lExtendDrag = 64,
+ lNoDisjoint = 32,
+ lNoExtend = 16,
+ lNoRect = 8,
+ lUseSense = 4,
+ lNoNilHilite = 2
+};
+
+
+enum {
+ /* LDEF messages*/
+ lInitMsg = 0,
+ lDrawMsg = 1,
+ lHiliteMsg = 2,
+ lCloseMsg = 3
+};
+
+/*
+ StandardIconListCellDataRec is the cell data format for
+ use with the standard icon list (kListDefStandardIconType).
+*/
+struct StandardIconListCellDataRec {
+ Handle iconHandle;
+ short font;
+ short face;
+ short size;
+ Str255 name;
+};
+typedef struct StandardIconListCellDataRec StandardIconListCellDataRec;
+typedef StandardIconListCellDataRec * StandardIconListCellDataPtr;
+
+
+typedef CALLBACK_API( void , ListDefProcPtr )(short lMessage, Boolean lSelect, Rect *lRect, Cell lCell, short lDataOffset, short lDataLen, ListHandle lHandle);
+typedef STACK_UPP_TYPE(ListDefProcPtr) ListDefUPP;
+/*
+ * NewListSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ListSearchUPP )
+NewListSearchUPP(ListSearchProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppListSearchProcInfo = 0x00002BE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ListSearchUPP) NewListSearchUPP(ListSearchProcPtr userRoutine)
- {
- return (ListSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListSearchProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewListSearchUPP(userRoutine) (ListSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListSearchProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppListSearchProcInfo = 0x00002BE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ListSearchUPP) NewListSearchUPP(ListSearchProcPtr userRoutine) { return (ListSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListSearchProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewListSearchUPP(userRoutine) (ListSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListSearchProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewListClickLoopUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ListClickLoopUPP)
- NewListClickLoopUPP(ListClickLoopProcPtr userRoutine);
+/*
+ * NewListClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ListClickLoopUPP )
+NewListClickLoopUPP(ListClickLoopProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppListClickLoopProcInfo = 0x00000012 }; /* register 1_byte:D0 Func() */
-#ifdef __cplusplus
- inline DEFINE_API_C(ListClickLoopUPP) NewListClickLoopUPP(ListClickLoopProcPtr userRoutine)
- {
- return (ListClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListClickLoopProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewListClickLoopUPP(userRoutine) (ListClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListClickLoopProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppListClickLoopProcInfo = 0x00000012 }; /* register 1_byte:D0 Func() */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ListClickLoopUPP) NewListClickLoopUPP(ListClickLoopProcPtr userRoutine) { return (ListClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListClickLoopProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewListClickLoopUPP(userRoutine) (ListClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListClickLoopProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewListDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ListDefUPP)
- NewListDefUPP(ListDefProcPtr userRoutine);
+/*
+ * NewListDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ListDefUPP )
+NewListDefUPP(ListDefProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppListDefProcInfo = 0x000EBD80 }; /* pascal no_return_value Func(2_bytes, 1_byte, 4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ListDefUPP) NewListDefUPP(ListDefProcPtr userRoutine)
- {
- return (ListDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListDefProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewListDefUPP(userRoutine) (ListDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListDefProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppListDefProcInfo = 0x000EBD80 }; /* pascal no_return_value Func(2_bytes, 1_byte, 4_bytes, 4_bytes, 2_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ListDefUPP) NewListDefUPP(ListDefProcPtr userRoutine) { return (ListDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListDefProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewListDefUPP(userRoutine) (ListDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppListDefProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeListSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeListSearchUPP(ListSearchUPP userUPP);
+/*
+ * DisposeListSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeListSearchUPP(ListSearchUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeListSearchUPP(ListSearchUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeListSearchUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeListSearchUPP(ListSearchUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeListSearchUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeListClickLoopUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeListClickLoopUPP(ListClickLoopUPP userUPP);
+/*
+ * DisposeListClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeListClickLoopUPP(ListClickLoopUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeListClickLoopUPP(ListClickLoopUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeListClickLoopUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeListClickLoopUPP(ListClickLoopUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeListClickLoopUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeListDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeListDefUPP(ListDefUPP userUPP);
+/*
+ * DisposeListDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeListDefUPP(ListDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeListDefUPP(ListDefUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeListDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeListDefUPP(ListDefUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeListDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeListSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(short)
- InvokeListSearchUPP(
- Ptr aPtr,
- Ptr bPtr,
- short aLen,
- short bLen,
- ListSearchUPP userUPP);
+/*
+ * InvokeListSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( short )
+InvokeListSearchUPP(
+ Ptr aPtr,
+ Ptr bPtr,
+ short aLen,
+ short bLen,
+ ListSearchUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(short) InvokeListSearchUPP(Ptr aPtr, Ptr bPtr, short aLen, short bLen, ListSearchUPP userUPP)
- {
- return (short)CALL_FOUR_PARAMETER_UPP(userUPP, uppListSearchProcInfo, aPtr, bPtr, aLen, bLen);
- }
-#else
-#define InvokeListSearchUPP(aPtr, bPtr, aLen, bLen, userUPP) (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppListSearchProcInfo, (aPtr), (bPtr), (aLen), (bLen))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(short) InvokeListSearchUPP(Ptr aPtr, Ptr bPtr, short aLen, short bLen, ListSearchUPP userUPP) { return (short)CALL_FOUR_PARAMETER_UPP(userUPP, uppListSearchProcInfo, aPtr, bPtr, aLen, bLen); }
+ #else
+ #define InvokeListSearchUPP(aPtr, bPtr, aLen, bLen, userUPP) (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppListSearchProcInfo, (aPtr), (bPtr), (aLen), (bLen))
+ #endif
#endif
- /*
- * InvokeListClickLoopUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * InvokeListClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InvokeListClickLoopUPP(__A0)
#endif
- EXTERN_API_C(Boolean)
- InvokeListClickLoopUPP(ListClickLoopUPP userUPP) ONEWORDINLINE(0x4E90);
+EXTERN_API_C( Boolean )
+InvokeListClickLoopUPP(ListClickLoopUPP userUPP) ONEWORDINLINE(0x4E90);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeListClickLoopUPP(ListClickLoopUPP userUPP)
- {
- return (Boolean)CALL_ZERO_PARAMETER_UPP(userUPP, uppListClickLoopProcInfo);
- }
-#else
-#define InvokeListClickLoopUPP(userUPP) (Boolean)CALL_ZERO_PARAMETER_UPP((userUPP), uppListClickLoopProcInfo)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeListClickLoopUPP(ListClickLoopUPP userUPP) { return (Boolean)CALL_ZERO_PARAMETER_UPP(userUPP, uppListClickLoopProcInfo); }
+ #else
+ #define InvokeListClickLoopUPP(userUPP) (Boolean)CALL_ZERO_PARAMETER_UPP((userUPP), uppListClickLoopProcInfo)
+ #endif
#endif
- /*
- * InvokeListDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeListDefUPP(
- short lMessage,
- Boolean lSelect,
- Rect * lRect,
- Cell lCell,
- short lDataOffset,
- short lDataLen,
- ListHandle lHandle,
- ListDefUPP userUPP);
+/*
+ * InvokeListDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeListDefUPP(
+ short lMessage,
+ Boolean lSelect,
+ Rect * lRect,
+ Cell lCell,
+ short lDataOffset,
+ short lDataLen,
+ ListHandle lHandle,
+ ListDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeListDefUPP(short lMessage, Boolean lSelect, Rect * lRect, Cell lCell, short lDataOffset, short lDataLen, ListHandle lHandle, ListDefUPP userUPP)
- {
- CALL_SEVEN_PARAMETER_UPP(userUPP, uppListDefProcInfo, lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle);
- }
-#else
-#define InvokeListDefUPP(lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle, userUPP) CALL_SEVEN_PARAMETER_UPP((userUPP), uppListDefProcInfo, (lMessage), (lSelect), (lRect), (lCell), (lDataOffset), (lDataLen), (lHandle))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeListDefUPP(short lMessage, Boolean lSelect, Rect * lRect, Cell lCell, short lDataOffset, short lDataLen, ListHandle lHandle, ListDefUPP userUPP) { CALL_SEVEN_PARAMETER_UPP(userUPP, uppListDefProcInfo, lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle); }
+ #else
+ #define InvokeListDefUPP(lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle, userUPP) CALL_SEVEN_PARAMETER_UPP((userUPP), uppListDefProcInfo, (lMessage), (lSelect), (lRect), (lCell), (lDataOffset), (lDataLen), (lHandle))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewListSearchProc(userRoutine) NewListSearchUPP(userRoutine)
-#define NewListClickLoopProc(userRoutine) NewListClickLoopUPP(userRoutine)
-#define NewListDefProc(userRoutine) NewListDefUPP(userRoutine)
-#define CallListSearchProc(userRoutine, aPtr, bPtr, aLen, bLen) InvokeListSearchUPP(aPtr, bPtr, aLen, bLen, userRoutine)
-#define CallListClickLoopProc(userRoutine) InvokeListClickLoopUPP(userRoutine)
-#define CallListDefProc(userRoutine, lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle) InvokeListDefUPP(lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle, userRoutine)
+ #define NewListSearchProc(userRoutine) NewListSearchUPP(userRoutine)
+ #define NewListClickLoopProc(userRoutine) NewListClickLoopUPP(userRoutine)
+ #define NewListDefProc(userRoutine) NewListDefUPP(userRoutine)
+ #define CallListSearchProc(userRoutine, aPtr, bPtr, aLen, bLen) InvokeListSearchUPP(aPtr, bPtr, aLen, bLen, userRoutine)
+ #define CallListClickLoopProc(userRoutine) InvokeListClickLoopUPP(userRoutine)
+ #define CallListDefProc(userRoutine, lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle) InvokeListDefUPP(lMessage, lSelect, lRect, lCell, lDataOffset, lDataLen, lHandle, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kListDefProcPtr = 0,
- kListDefUserProcType = kListDefProcPtr,
- kListDefStandardTextType = 1,
- kListDefStandardIconType = 2
- };
-
- typedef UInt32 ListDefType;
- struct ListDefSpec
- {
- ListDefType defType;
- union
- {
- ListDefUPP userProc;
- } u;
- };
- typedef struct ListDefSpec ListDefSpec;
- typedef ListDefSpec * ListDefSpecPtr;
- /*
- * CreateCustomList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateCustomList(
- const Rect * rView,
- const ListBounds * dataBounds,
- Point cellSize,
- const ListDefSpec * theSpec,
- WindowRef theWindow,
- Boolean drawIt,
- Boolean hasGrow,
- Boolean scrollHoriz,
- Boolean scrollVert,
- ListHandle * outList);
+enum {
+ kListDefProcPtr = 0,
+ kListDefUserProcType = kListDefProcPtr,
+ kListDefStandardTextType = 1,
+ kListDefStandardIconType = 2
+};
+
+typedef UInt32 ListDefType;
+struct ListDefSpec {
+ ListDefType defType;
+ union {
+ ListDefUPP userProc;
+ } u;
+};
+typedef struct ListDefSpec ListDefSpec;
+typedef ListDefSpec * ListDefSpecPtr;
+/*
+ * CreateCustomList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateCustomList(
+ const Rect * rView,
+ const ListBounds * dataBounds,
+ Point cellSize,
+ const ListDefSpec * theSpec,
+ WindowRef theWindow,
+ Boolean drawIt,
+ Boolean hasGrow,
+ Boolean scrollHoriz,
+ Boolean scrollVert,
+ ListHandle * outList);
#if !TARGET_OS_MAC
- /* QuickTime 3.0 */
- typedef CALLBACK_API(void , ListNotificationProcPtr)(ListHandle theList, ListNotification notification, long param);
- typedef ListNotificationProcPtr ListNotificationUPP;
+/* QuickTime 3.0 */
+typedef CALLBACK_API( void , ListNotificationProcPtr )(ListHandle theList, ListNotification notification, long param);
+typedef ListNotificationProcPtr ListNotificationUPP;
#if CALL_NOT_IN_CARBON
- /*
- * LSetNotificationCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- LSetNotificationCallback(
- ListNotificationProcPtr callBack,
- ListHandle lHandle);
-
-
- /*
- * GetListVisibleBounds()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GetListVisibleBounds(
- ListHandle theList,
- Rect * visibleBounds);
+/*
+ * LSetNotificationCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+LSetNotificationCallback(
+ ListNotificationProcPtr callBack,
+ ListHandle lHandle);
+
+
+/*
+ * GetListVisibleBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GetListVisibleBounds(
+ ListHandle theList,
+ Rect * visibleBounds);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !TARGET_OS_MAC */
- /*
- * LNew()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ListHandle)
- LNew(
- const Rect * rView,
- const ListBounds * dataBounds,
- Point cSize,
- short theProc,
- WindowRef theWindow,
- Boolean drawIt,
- Boolean hasGrow,
- Boolean scrollHoriz,
- Boolean scrollVert) THREEWORDINLINE(0x3F3C, 0x0044, 0xA9E7);
-
-
- /*
- * LDispose()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LDispose(ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0028, 0xA9E7);
-
-
- /*
- * LAddColumn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- LAddColumn(
- short count,
- short colNum,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0004, 0xA9E7);
-
-
- /*
- * LAddRow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- LAddRow(
- short count,
- short rowNum,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0008, 0xA9E7);
-
-
- /*
- * LDelColumn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LDelColumn(
- short count,
- short colNum,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0020, 0xA9E7);
-
-
- /*
- * LDelRow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LDelRow(
- short count,
- short rowNum,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0024, 0xA9E7);
-
-
- /*
- * LGetSelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- LGetSelect(
- Boolean next,
- Cell * theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x003C, 0xA9E7);
-
-
- /*
- * LLastClick()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Cell)
- LLastClick(ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0040, 0xA9E7);
-
-
- /*
- * LNextCell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- LNextCell(
- Boolean hNext,
- Boolean vNext,
- Cell * theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0048, 0xA9E7);
-
-
- /*
- * LSearch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- LSearch(
- const void * dataPtr,
- short dataLen,
- ListSearchUPP searchProc,
- Cell * theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0054, 0xA9E7);
-
-
- /*
- * LSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LSize(
- short listWidth,
- short listHeight,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0060, 0xA9E7);
-
-
- /*
- * LSetDrawingMode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LSetDrawingMode(
- Boolean drawIt,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x002C, 0xA9E7);
-
-
- /*
- * LScroll()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LScroll(
- short dCols,
- short dRows,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0050, 0xA9E7);
-
-
- /*
- * LAutoScroll()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LAutoScroll(ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0010, 0xA9E7);
-
-
- /*
- * LUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LUpdate(
- RgnHandle theRgn,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0064, 0xA9E7);
-
-
- /*
- * LActivate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LActivate(
- Boolean act,
- ListHandle lHandle) TWOWORDINLINE(0x4267, 0xA9E7);
-
-
- /*
- * LCellSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LCellSize(
- Point cSize,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0014, 0xA9E7);
-
-
- /*
- * LClick()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- LClick(
- Point pt,
- EventModifiers modifiers,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0018, 0xA9E7);
-
-
- /*
- * LAddToCell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LAddToCell(
- const void * dataPtr,
- short dataLen,
- Cell theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x000C, 0xA9E7);
-
-
- /*
- * LClrCell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LClrCell(
- Cell theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x001C, 0xA9E7);
-
-
- /*
- * LGetCell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LGetCell(
- void * dataPtr,
- short * dataLen,
- Cell theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0038, 0xA9E7);
-
-
- /*
- * LRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LRect(
- Rect * cellRect,
- Cell theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x004C, 0xA9E7);
-
-
- /*
- * LSetCell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LSetCell(
- const void * dataPtr,
- short dataLen,
- Cell theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0058, 0xA9E7);
-
-
- /*
- * LSetSelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LSetSelect(
- Boolean setIt,
- Cell theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x005C, 0xA9E7);
-
-
- /*
- * LDraw()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LDraw(
- Cell theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0030, 0xA9E7);
-
-
- /*
- * LGetCellDataLocation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LGetCellDataLocation(
- short * offset,
- short * len,
- Cell theCell,
- ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0034, 0xA9E7);
-
-
- /* Routines available in Carbon only*/
-
- /*
- * RegisterListDefinition()
- *
- * Summary:
- * Registers a binding between a resource ID and a list definition
- * function.
- *
- * Discussion:
- * In the Mac OS 8.x List Manager, a 'ldes' resource can contain an
- * embedded LDEF procID that is used by the List Manager as the
- * resource ID of an 'LDEF' resource to measure and draw the list.
- * Since LDEFs can no longer be packaged as code resources on
- * Carbon, the procID can no longer refer directly to an LDEF
- * resource. However, using RegisterListDefinition you can instead
- * specify a UniversalProcPtr pointing to code in your application
- * code fragment.
- *
- * Parameters:
- *
- * inResID:
- * An LDEF proc ID, as used in a 'ldes' resource.
- *
- * inDefSpec:
- * Specifies the ListDefUPP that should be used for lists with the
- * given LDEF procID.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RegisterListDefinition(
- SInt16 inResID,
- ListDefSpecPtr inDefSpec);
+/*
+ * LNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ListHandle )
+LNew(
+ const Rect * rView,
+ const ListBounds * dataBounds,
+ Point cSize,
+ short theProc,
+ WindowRef theWindow,
+ Boolean drawIt,
+ Boolean hasGrow,
+ Boolean scrollHoriz,
+ Boolean scrollVert) THREEWORDINLINE(0x3F3C, 0x0044, 0xA9E7);
+
+
+/*
+ * LDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LDispose(ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0028, 0xA9E7);
+
+
+/*
+ * LAddColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+LAddColumn(
+ short count,
+ short colNum,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0004, 0xA9E7);
+
+
+/*
+ * LAddRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+LAddRow(
+ short count,
+ short rowNum,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0008, 0xA9E7);
+
+
+/*
+ * LDelColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LDelColumn(
+ short count,
+ short colNum,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0020, 0xA9E7);
+
+
+/*
+ * LDelRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LDelRow(
+ short count,
+ short rowNum,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0024, 0xA9E7);
+
+
+/*
+ * LGetSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+LGetSelect(
+ Boolean next,
+ Cell * theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x003C, 0xA9E7);
+
+
+/*
+ * LLastClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Cell )
+LLastClick(ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0040, 0xA9E7);
+
+
+/*
+ * LNextCell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+LNextCell(
+ Boolean hNext,
+ Boolean vNext,
+ Cell * theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0048, 0xA9E7);
+
+
+/*
+ * LSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+LSearch(
+ const void * dataPtr,
+ short dataLen,
+ ListSearchUPP searchProc,
+ Cell * theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0054, 0xA9E7);
+
+
+/*
+ * LSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LSize(
+ short listWidth,
+ short listHeight,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0060, 0xA9E7);
+
+
+/*
+ * LSetDrawingMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LSetDrawingMode(
+ Boolean drawIt,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x002C, 0xA9E7);
+
+
+/*
+ * LScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LScroll(
+ short dCols,
+ short dRows,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0050, 0xA9E7);
+
+
+/*
+ * LAutoScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LAutoScroll(ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0010, 0xA9E7);
+
+
+/*
+ * LUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LUpdate(
+ RgnHandle theRgn,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0064, 0xA9E7);
+
+
+/*
+ * LActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LActivate(
+ Boolean act,
+ ListHandle lHandle) TWOWORDINLINE(0x4267, 0xA9E7);
+
+
+/*
+ * LCellSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LCellSize(
+ Point cSize,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0014, 0xA9E7);
+
+
+/*
+ * LClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+LClick(
+ Point pt,
+ EventModifiers modifiers,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0018, 0xA9E7);
+
+
+/*
+ * LAddToCell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LAddToCell(
+ const void * dataPtr,
+ short dataLen,
+ Cell theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x000C, 0xA9E7);
+
+
+/*
+ * LClrCell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LClrCell(
+ Cell theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x001C, 0xA9E7);
+
+
+/*
+ * LGetCell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LGetCell(
+ void * dataPtr,
+ short * dataLen,
+ Cell theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0038, 0xA9E7);
+
+
+/*
+ * LRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LRect(
+ Rect * cellRect,
+ Cell theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x004C, 0xA9E7);
+
+
+/*
+ * LSetCell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LSetCell(
+ const void * dataPtr,
+ short dataLen,
+ Cell theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0058, 0xA9E7);
+
+
+/*
+ * LSetSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LSetSelect(
+ Boolean setIt,
+ Cell theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x005C, 0xA9E7);
+
+
+/*
+ * LDraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LDraw(
+ Cell theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0030, 0xA9E7);
+
+
+/*
+ * LGetCellDataLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LGetCellDataLocation(
+ short * offset,
+ short * len,
+ Cell theCell,
+ ListHandle lHandle) THREEWORDINLINE(0x3F3C, 0x0034, 0xA9E7);
+
+
+/* Routines available in Carbon only*/
+
+/*
+ * RegisterListDefinition()
+ *
+ * Summary:
+ * Registers a binding between a resource ID and a list definition
+ * function.
+ *
+ * Discussion:
+ * In the Mac OS 8.x List Manager, a 'ldes' resource can contain an
+ * embedded LDEF procID that is used by the List Manager as the
+ * resource ID of an 'LDEF' resource to measure and draw the list.
+ * Since LDEFs can no longer be packaged as code resources on
+ * Carbon, the procID can no longer refer directly to an LDEF
+ * resource. However, using RegisterListDefinition you can instead
+ * specify a UniversalProcPtr pointing to code in your application
+ * code fragment.
+ *
+ * Parameters:
+ *
+ * inResID:
+ * An LDEF proc ID, as used in a 'ldes' resource.
+ *
+ * inDefSpec:
+ * Specifies the ListDefUPP that should be used for lists with the
+ * given LDEF procID.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RegisterListDefinition(
+ SInt16 inResID,
+ ListDefSpecPtr inDefSpec);
#if CALL_NOT_IN_CARBON
#if CALL_NOT_IN_CARBON
- /*
- * SetListDefinitionProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SetListDefinitionProc(
- SInt16 resID,
- ListDefUPP defProc);
+/*
+ * SetListDefinitionProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SetListDefinitionProc(
+ SInt16 resID,
+ ListDefUPP defProc);
#endif /* CALL_NOT_IN_CARBON */
@@ -917,20 +879,20 @@ extern "C" {
#endif /* CALL_NOT_IN_CARBON */
#if !TARGET_OS_MAC
- /* QuickTime 3.0 */
+/* QuickTime 3.0 */
#if CALL_NOT_IN_CARBON
- /*
- * LSetLDEF()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- LSetLDEF(
- ListDefProcPtr proc,
- ListHandle lHandle);
+/*
+ * LSetLDEF()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+LSetLDEF(
+ ListDefProcPtr proc,
+ ListHandle lHandle);
#endif /* CALL_NOT_IN_CARBON */
@@ -938,176 +900,176 @@ extern "C" {
#endif /* !TARGET_OS_MAC */
#if CALL_NOT_IN_CARBON
- /*
- * laddtocell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- laddtocell(
- const void * dataPtr,
- short dataLen,
- const Cell * theCell,
- ListHandle lHandle);
-
-
- /*
- * lclrcell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- lclrcell(
- const Cell * theCell,
- ListHandle lHandle);
-
-
- /*
- * lgetcelldatalocation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- lgetcelldatalocation(
- short * offset,
- short * len,
- const Cell * theCell,
- ListHandle lHandle);
-
-
- /*
- * lgetcell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- lgetcell(
- void * dataPtr,
- short * dataLen,
- const Cell * theCell,
- ListHandle lHandle);
-
-
- /*
- * lnew()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ListHandle)
- lnew(
- const Rect * rView,
- const ListBounds * dataBounds,
- Point * cSize,
- short theProc,
- WindowRef theWindow,
- Boolean drawIt,
- Boolean hasGrow,
- Boolean scrollHoriz,
- Boolean scrollVert);
-
-
- /*
- * lrect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- lrect(
- Rect * cellRect,
- const Cell * theCell,
- ListHandle lHandle);
-
-
- /*
- * lsetcell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- lsetcell(
- const void * dataPtr,
- short dataLen,
- const Cell * theCell,
- ListHandle lHandle);
-
-
- /*
- * lsetselect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- lsetselect(
- Boolean setIt,
- const Cell * theCell,
- ListHandle lHandle);
-
-
- /*
- * ldraw()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- ldraw(
- const Cell * theCell,
- ListHandle lHandle);
-
-
- /*
- * lclick()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- lclick(
- Point * pt,
- EventModifiers modifiers,
- ListHandle lHandle);
-
-
- /*
- * lcellsize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- lcellsize(
- Point * cSize,
- ListHandle lHandle);
+/*
+ * laddtocell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+laddtocell(
+ const void * dataPtr,
+ short dataLen,
+ const Cell * theCell,
+ ListHandle lHandle);
+
+
+/*
+ * lclrcell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+lclrcell(
+ const Cell * theCell,
+ ListHandle lHandle);
+
+
+/*
+ * lgetcelldatalocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+lgetcelldatalocation(
+ short * offset,
+ short * len,
+ const Cell * theCell,
+ ListHandle lHandle);
+
+
+/*
+ * lgetcell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+lgetcell(
+ void * dataPtr,
+ short * dataLen,
+ const Cell * theCell,
+ ListHandle lHandle);
+
+
+/*
+ * lnew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ListHandle )
+lnew(
+ const Rect * rView,
+ const ListBounds * dataBounds,
+ Point * cSize,
+ short theProc,
+ WindowRef theWindow,
+ Boolean drawIt,
+ Boolean hasGrow,
+ Boolean scrollHoriz,
+ Boolean scrollVert);
+
+
+/*
+ * lrect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+lrect(
+ Rect * cellRect,
+ const Cell * theCell,
+ ListHandle lHandle);
+
+
+/*
+ * lsetcell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+lsetcell(
+ const void * dataPtr,
+ short dataLen,
+ const Cell * theCell,
+ ListHandle lHandle);
+
+
+/*
+ * lsetselect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+lsetselect(
+ Boolean setIt,
+ const Cell * theCell,
+ ListHandle lHandle);
+
+
+/*
+ * ldraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+ldraw(
+ const Cell * theCell,
+ ListHandle lHandle);
+
+
+/*
+ * lclick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+lclick(
+ Point * pt,
+ EventModifiers modifiers,
+ ListHandle lHandle);
+
+
+/*
+ * lcellsize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+lcellsize(
+ Point * cSize,
+ ListHandle lHandle);
#endif /* CALL_NOT_IN_CARBON */
@@ -1121,399 +1083,399 @@ extern "C" {
#endif /* OLDROUTINENAMES */
#if ACCESSOR_CALLS_ARE_FUNCTIONS
- /* Getters */
- /*
- * GetListViewBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- GetListViewBounds(
- ListHandle list,
- Rect * view);
-
-
- /*
- * GetListPort()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CGrafPtr)
- GetListPort(ListHandle list);
-
-
- /*
- * GetListCellIndent()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point *)
- GetListCellIndent(
- ListHandle list,
- Point * indent);
-
-
- /*
- * GetListCellSize()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point *)
- GetListCellSize(
- ListHandle list,
- Point * size);
-
-
- /*
- * GetListVisibleCells()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ListBounds *)
- GetListVisibleCells(
- ListHandle list,
- ListBounds * visible);
-
-
- /*
- * GetListVerticalScrollBar()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlRef)
- GetListVerticalScrollBar(ListHandle list);
-
-
- /*
- * GetListHorizontalScrollBar()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ControlRef)
- GetListHorizontalScrollBar(ListHandle list);
-
-
- /*
- * GetListActive()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- GetListActive(ListHandle list);
-
-
- /*
- * GetListClickTime()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetListClickTime(ListHandle list);
-
-
- /*
- * GetListClickLocation()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point *)
- GetListClickLocation(
- ListHandle list,
- Point * click);
-
-
- /*
- * GetListMouseLocation()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point *)
- GetListMouseLocation(
- ListHandle list,
- Point * mouse);
-
-
- /*
- * GetListClickLoop()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ListClickLoopUPP)
- GetListClickLoop(ListHandle list);
-
-
- /*
- * GetListRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetListRefCon(ListHandle list);
-
-
- /*
- * GetListDefinition()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetListDefinition(ListHandle list);
-
-
- /*
- * GetListUserHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetListUserHandle(ListHandle list);
-
-
- /*
- * GetListDataBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ListBounds *)
- GetListDataBounds(
- ListHandle list,
- ListBounds * bounds);
-
-
- /*
- * GetListDataHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(DataHandle)
- GetListDataHandle(ListHandle list);
-
-
- /*
- * GetListFlags()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OptionBits)
- GetListFlags(ListHandle list);
-
-
- /*
- * GetListSelectionFlags()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OptionBits)
- GetListSelectionFlags(ListHandle list);
-
-
- /* Setters */
- /*
- * SetListViewBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListViewBounds(
- ListHandle list,
- const Rect * view);
-
-
- /*
- * SetListPort()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListPort(
- ListHandle list,
- CGrafPtr port);
-
-
- /*
- * SetListCellIndent()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListCellIndent(
- ListHandle list,
- Point * indent);
-
-
- /*
- * SetListClickTime()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListClickTime(
- ListHandle list,
- SInt32 time);
-
-
- /*
- * SetListClickLoop()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListClickLoop(
- ListHandle list,
- ListClickLoopUPP clickLoop);
-
-
- /*
- * SetListLastClick()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListLastClick(
- ListHandle list,
- Cell * lastClick);
-
-
- /*
- * SetListRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListRefCon(
- ListHandle list,
- SInt32 refCon);
-
-
- /*
- * SetListUserHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListUserHandle(
- ListHandle list,
- Handle userHandle);
-
-
- /*
- * SetListFlags()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListFlags(
- ListHandle list,
- OptionBits listFlags);
-
-
- /*
- * SetListSelectionFlags()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetListSelectionFlags(
- ListHandle list,
- OptionBits selectionFlags);
+/* Getters */
+/*
+ * GetListViewBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+GetListViewBounds(
+ ListHandle list,
+ Rect * view);
+
+
+/*
+ * GetListPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CGrafPtr )
+GetListPort(ListHandle list);
+
+
+/*
+ * GetListCellIndent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point * )
+GetListCellIndent(
+ ListHandle list,
+ Point * indent);
+
+
+/*
+ * GetListCellSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point * )
+GetListCellSize(
+ ListHandle list,
+ Point * size);
+
+
+/*
+ * GetListVisibleCells()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ListBounds * )
+GetListVisibleCells(
+ ListHandle list,
+ ListBounds * visible);
+
+
+/*
+ * GetListVerticalScrollBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlRef )
+GetListVerticalScrollBar(ListHandle list);
+
+
+/*
+ * GetListHorizontalScrollBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ControlRef )
+GetListHorizontalScrollBar(ListHandle list);
+
+
+/*
+ * GetListActive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetListActive(ListHandle list);
+
+
+/*
+ * GetListClickTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetListClickTime(ListHandle list);
+
+
+/*
+ * GetListClickLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point * )
+GetListClickLocation(
+ ListHandle list,
+ Point * click);
+
+
+/*
+ * GetListMouseLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point * )
+GetListMouseLocation(
+ ListHandle list,
+ Point * mouse);
+
+
+/*
+ * GetListClickLoop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ListClickLoopUPP )
+GetListClickLoop(ListHandle list);
+
+
+/*
+ * GetListRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetListRefCon(ListHandle list);
+
+
+/*
+ * GetListDefinition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetListDefinition(ListHandle list);
+
+
+/*
+ * GetListUserHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetListUserHandle(ListHandle list);
+
+
+/*
+ * GetListDataBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ListBounds * )
+GetListDataBounds(
+ ListHandle list,
+ ListBounds * bounds);
+
+
+/*
+ * GetListDataHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( DataHandle )
+GetListDataHandle(ListHandle list);
+
+
+/*
+ * GetListFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OptionBits )
+GetListFlags(ListHandle list);
+
+
+/*
+ * GetListSelectionFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OptionBits )
+GetListSelectionFlags(ListHandle list);
+
+
+/* Setters */
+/*
+ * SetListViewBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListViewBounds(
+ ListHandle list,
+ const Rect * view);
+
+
+/*
+ * SetListPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListPort(
+ ListHandle list,
+ CGrafPtr port);
+
+
+/*
+ * SetListCellIndent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListCellIndent(
+ ListHandle list,
+ Point * indent);
+
+
+/*
+ * SetListClickTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListClickTime(
+ ListHandle list,
+ SInt32 time);
+
+
+/*
+ * SetListClickLoop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListClickLoop(
+ ListHandle list,
+ ListClickLoopUPP clickLoop);
+
+
+/*
+ * SetListLastClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListLastClick(
+ ListHandle list,
+ Cell * lastClick);
+
+
+/*
+ * SetListRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListRefCon(
+ ListHandle list,
+ SInt32 refCon);
+
+
+/*
+ * SetListUserHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListUserHandle(
+ ListHandle list,
+ Handle userHandle);
+
+
+/*
+ * SetListFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListFlags(
+ ListHandle list,
+ OptionBits listFlags);
+
+
+/*
+ * SetListSelectionFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetListSelectionFlags(
+ ListHandle list,
+ OptionBits selectionFlags);
#endif /* ACCESSOR_CALLS_ARE_FUNCTIONS */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/LowMem.h b/include/qt/LowMem.h
index 6cac7ef1d..8749639fa 100644
--- a/include/qt/LowMem.h
+++ b/include/qt/LowMem.h
@@ -1,17 +1,17 @@
/*
File: LowMem.h
-
+
Contains: Low Memory Accessor Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __LOWMEM__
#define __LOWMEM__
@@ -60,2242 +60,2242 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /**************************************************************************************
-
- SIMPLE LOWMEM ACCESSORS
-
- **************************************************************************************/
- /*
- The following functions were moved to Quickdraw.h:
-
- LMSetDeviceList
- LMSetLastSPExtra
- LMGetWidthListHand
- LMSetWidthListHand
- LMGetScrHRes
- LMSetScrHRes
- LMSetScrVRes
- LMGetScrVRes
- LMGetHiliteMode
- LMSetHiliteMode
- LMGetMainDevice
- LMSetMainDevice
- LMGetDeviceList
- LMGetQDColors
- LMSetQDColors
- LMGetWidthPtr
- LMSetWidthPtr
- LMGetWidthTabHandle
- LMSetWidthTabHandle
- LMGetLastSPExtra
- LMGetLastFOND
- LMSetLastFOND
- LMGetFractEnable
- LMSetFractEnable
- LMGetTheGDevice
- LMSetTheGDevice
- LMGetCursorNew
- LMSetCursorNew
- LMGetHiliteRGB
- LMSetHiliteRGB
-
- The following functions were moved to TextEdit.h:
-
- LMGetWordRedraw
- LMSetWordRedraw
-
- The following functions were moved to Menus.h:
-
- LMGetTheMenu
-
- The following functions were moved to Events.h:
-
- LMGetKeyRepThresh
- LMSetKeyRepThresh
- LMGetKeyThresh
- LMSetKeyRepThresh
- LMGetKbdLast
- LMSetKbdLast
- LMGetKbdType
- LMSetKbdType
-
- */
-
- /*
- * LMGetMemTop()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetMemTop(void) TWOWORDINLINE(0x2EB8, 0x0108);
-
-
- /*
- * LMSetMemTop()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetMemTop(Ptr value) TWOWORDINLINE(0x21DF, 0x0108);
-
-
-
- /*
- * LMGetBufPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetBufPtr(void) TWOWORDINLINE(0x2EB8, 0x010C);
-
-
- /*
- * LMSetBufPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetBufPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x010C);
-
-
-
- /*
- * LMGetHeapEnd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetHeapEnd(void) TWOWORDINLINE(0x2EB8, 0x0114);
-
-
- /*
- * LMSetHeapEnd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetHeapEnd(Ptr value) TWOWORDINLINE(0x21DF, 0x0114);
+/**************************************************************************************
+
+ SIMPLE LOWMEM ACCESSORS
+
+**************************************************************************************/
+/*
+ The following functions were moved to Quickdraw.h:
+
+ LMSetDeviceList
+ LMSetLastSPExtra
+ LMGetWidthListHand
+ LMSetWidthListHand
+ LMGetScrHRes
+ LMSetScrHRes
+ LMSetScrVRes
+ LMGetScrVRes
+ LMGetHiliteMode
+ LMSetHiliteMode
+ LMGetMainDevice
+ LMSetMainDevice
+ LMGetDeviceList
+ LMGetQDColors
+ LMSetQDColors
+ LMGetWidthPtr
+ LMSetWidthPtr
+ LMGetWidthTabHandle
+ LMSetWidthTabHandle
+ LMGetLastSPExtra
+ LMGetLastFOND
+ LMSetLastFOND
+ LMGetFractEnable
+ LMSetFractEnable
+ LMGetTheGDevice
+ LMSetTheGDevice
+ LMGetCursorNew
+ LMSetCursorNew
+ LMGetHiliteRGB
+ LMSetHiliteRGB
+
+ The following functions were moved to TextEdit.h:
+
+ LMGetWordRedraw
+ LMSetWordRedraw
+
+ The following functions were moved to Menus.h:
+
+ LMGetTheMenu
+
+ The following functions were moved to Events.h:
+
+ LMGetKeyRepThresh
+ LMSetKeyRepThresh
+ LMGetKeyThresh
+ LMSetKeyRepThresh
+ LMGetKbdLast
+ LMSetKbdLast
+ LMGetKbdType
+ LMSetKbdType
+
+*/
+
+/*
+ * LMGetMemTop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetMemTop(void) TWOWORDINLINE(0x2EB8, 0x0108);
+
+
+/*
+ * LMSetMemTop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetMemTop(Ptr value) TWOWORDINLINE(0x21DF, 0x0108);
+
+
+
+/*
+ * LMGetBufPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetBufPtr(void) TWOWORDINLINE(0x2EB8, 0x010C);
+
+
+/*
+ * LMSetBufPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetBufPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x010C);
+
+
+
+/*
+ * LMGetHeapEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetHeapEnd(void) TWOWORDINLINE(0x2EB8, 0x0114);
+
+
+/*
+ * LMSetHeapEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetHeapEnd(Ptr value) TWOWORDINLINE(0x21DF, 0x0114);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetTheZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(THz) LMGetTheZone(void) TWOWORDINLINE(0x2EB8, 0x0118);
-
-
- /*
- * LMSetTheZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTheZone(THz value) TWOWORDINLINE(0x21DF, 0x0118);
-
-
-
- /*
- * LMGetUTableBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetUTableBase(void) TWOWORDINLINE(0x2EB8, 0x011C);
-
-
- /*
- * LMSetUTableBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetUTableBase(Ptr value) TWOWORDINLINE(0x21DF, 0x011C);
+/*
+ * LMGetTheZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( THz ) LMGetTheZone(void) TWOWORDINLINE(0x2EB8, 0x0118);
+
+
+/*
+ * LMSetTheZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTheZone(THz value) TWOWORDINLINE(0x21DF, 0x0118);
+
+
+
+/*
+ * LMGetUTableBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetUTableBase(void) TWOWORDINLINE(0x2EB8, 0x011C);
+
+
+/*
+ * LMSetUTableBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetUTableBase(Ptr value) TWOWORDINLINE(0x21DF, 0x011C);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetCPUFlag()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8) LMGetCPUFlag(void) TWOWORDINLINE(0x1EB8, 0x012F);
+/*
+ * LMGetCPUFlag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 ) LMGetCPUFlag(void) TWOWORDINLINE(0x1EB8, 0x012F);
- /*
- * LMSetCPUFlag()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetCPUFlag(UInt8 value) TWOWORDINLINE(0x11DF, 0x012F);
+/*
+ * LMSetCPUFlag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetCPUFlag(UInt8 value) TWOWORDINLINE(0x11DF, 0x012F);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetApplLimit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetApplLimit(void) TWOWORDINLINE(0x2EB8, 0x0130);
-
-
- /*
- * LMSetApplLimit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetApplLimit(Ptr value) TWOWORDINLINE(0x21DF, 0x0130);
-
-
-
- /*
- * LMGetSysEvtMask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetSysEvtMask(void) TWOWORDINLINE(0x3EB8, 0x0144);
-
-
- /* Carbon Usage: use SetEventMask*/
- /*
- * LMSetSysEvtMask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSysEvtMask(SInt16 value) TWOWORDINLINE(0x31DF, 0x0144);
+/*
+ * LMGetApplLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetApplLimit(void) TWOWORDINLINE(0x2EB8, 0x0130);
+
+
+/*
+ * LMSetApplLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetApplLimit(Ptr value) TWOWORDINLINE(0x21DF, 0x0130);
+
+
+
+/*
+ * LMGetSysEvtMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetSysEvtMask(void) TWOWORDINLINE(0x3EB8, 0x0144);
+
+
+/* Carbon Usage: use SetEventMask*/
+/*
+ * LMSetSysEvtMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSysEvtMask(SInt16 value) TWOWORDINLINE(0x31DF, 0x0144);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetRndSeed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32) LMGetRndSeed(void) TWOWORDINLINE(0x2EB8, 0x0156);
+/*
+ * LMGetRndSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 ) LMGetRndSeed(void) TWOWORDINLINE(0x2EB8, 0x0156);
- /*
- * LMSetRndSeed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetRndSeed(SInt32 value) TWOWORDINLINE(0x21DF, 0x0156);
+/*
+ * LMSetRndSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetRndSeed(SInt32 value) TWOWORDINLINE(0x21DF, 0x0156);
- /*
- * LMGetSEvtEnb()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8) LMGetSEvtEnb(void) TWOWORDINLINE(0x1EB8, 0x015C);
+/*
+ * LMGetSEvtEnb()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 ) LMGetSEvtEnb(void) TWOWORDINLINE(0x1EB8, 0x015C);
- /*
- * LMSetSEvtEnb()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSEvtEnb(UInt8 value) TWOWORDINLINE(0x11DF, 0x015C);
+/*
+ * LMSetSEvtEnb()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSEvtEnb(UInt8 value) TWOWORDINLINE(0x11DF, 0x015C);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetTicks()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt32) LMGetTicks(void) TWOWORDINLINE(0x2EB8, 0x016A);
-
-
- /*
- * LMSetTicks()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTicks(UInt32 value) TWOWORDINLINE(0x21DF, 0x016A);
-
-
-
- /*
- * LMGetVIA()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetVIA(void) TWOWORDINLINE(0x2EB8, 0x01D4);
-
-
- /*
- * LMSetVIA()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetVIA(Ptr value) TWOWORDINLINE(0x21DF, 0x01D4);
-
-
-
- /*
- * LMGetSCCRd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetSCCRd(void) TWOWORDINLINE(0x2EB8, 0x01D8);
-
-
- /*
- * LMSetSCCRd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSCCRd(Ptr value) TWOWORDINLINE(0x21DF, 0x01D8);
-
-
-
- /*
- * LMGetSCCWr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetSCCWr(void) TWOWORDINLINE(0x2EB8, 0x01DC);
-
-
- /*
- * LMSetSCCWr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSCCWr(Ptr value) TWOWORDINLINE(0x21DF, 0x01DC);
-
-
-
- /*
- * LMGetSPValid()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPValid(void) TWOWORDINLINE(0x1EB8, 0x01F8);
-
-
- /*
- * LMSetSPValid()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPValid(UInt8 value) TWOWORDINLINE(0x11DF, 0x01F8);
-
-
-
- /*
- * LMGetSPATalkA()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPATalkA(void) TWOWORDINLINE(0x1EB8, 0x01F9);
-
-
- /*
- * LMSetSPATalkA()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPATalkA(UInt8 value) TWOWORDINLINE(0x11DF, 0x01F9);
-
-
-
- /*
- * LMGetSPATalkB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPATalkB(void) TWOWORDINLINE(0x1EB8, 0x01FA);
-
-
- /*
- * LMSetSPATalkB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPATalkB(UInt8 value) TWOWORDINLINE(0x11DF, 0x01FA);
-
-
-
- /*
- * LMGetSPConfig()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPConfig(void) TWOWORDINLINE(0x1EB8, 0x01FB);
-
-
- /*
- * LMSetSPConfig()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPConfig(UInt8 value) TWOWORDINLINE(0x11DF, 0x01FB);
-
-
-
- /*
- * LMGetSPPortA()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetSPPortA(void) TWOWORDINLINE(0x3EB8, 0x01FC);
-
-
- /*
- * LMSetSPPortA()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPPortA(SInt16 value) TWOWORDINLINE(0x31DF, 0x01FC);
-
-
-
- /*
- * LMGetSPPortB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetSPPortB(void) TWOWORDINLINE(0x3EB8, 0x01FE);
-
-
- /*
- * LMSetSPPortB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPPortB(SInt16 value) TWOWORDINLINE(0x31DF, 0x01FE);
-
-
-
- /*
- * LMGetSPAlarm()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt32) LMGetSPAlarm(void) TWOWORDINLINE(0x2EB8, 0x0200);
-
-
- /*
- * LMSetSPAlarm()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPAlarm(SInt32 value) TWOWORDINLINE(0x21DF, 0x0200);
-
-
-
- /*
- * LMGetSPFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetSPFont(void) TWOWORDINLINE(0x3EB8, 0x0204);
-
-
- /*
- * LMSetSPFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPFont(SInt16 value) TWOWORDINLINE(0x31DF, 0x0204);
-
-
-
- /*
- * LMGetSPKbd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPKbd(void) TWOWORDINLINE(0x1EB8, 0x0206);
-
-
- /*
- * LMSetSPKbd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPKbd(UInt8 value) TWOWORDINLINE(0x11DF, 0x0206);
-
-
-
- /*
- * LMGetSPPrint()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPPrint(void) TWOWORDINLINE(0x1EB8, 0x0207);
-
-
- /*
- * LMSetSPPrint()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPPrint(UInt8 value) TWOWORDINLINE(0x11DF, 0x0207);
-
-
-
- /*
- * LMGetSPVolCtl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPVolCtl(void) TWOWORDINLINE(0x1EB8, 0x0208);
-
-
- /*
- * LMSetSPVolCtl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPVolCtl(UInt8 value) TWOWORDINLINE(0x11DF, 0x0208);
-
-
-
- /*
- * LMGetSPClikCaret()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPClikCaret(void) TWOWORDINLINE(0x1EB8, 0x0209);
-
-
- /*
- * LMSetSPClikCaret()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPClikCaret(UInt8 value) TWOWORDINLINE(0x11DF, 0x0209);
-
-
-
- /*
- * LMGetSPMisc2()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetSPMisc2(void) TWOWORDINLINE(0x1EB8, 0x020B);
-
-
- /*
- * LMSetSPMisc2()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSPMisc2(UInt8 value) TWOWORDINLINE(0x11DF, 0x020B);
-
-
-
-
- /* Carbon Usage: use GetDateTime*/
- /*
- * LMGetTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt32) LMGetTime(void) TWOWORDINLINE(0x2EB8, 0x020C);
-
-
- /* Carbon Usage: use SetDateTime*/
- /*
- * LMSetTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTime(SInt32 value) TWOWORDINLINE(0x21DF, 0x020C);
+/*
+ * LMGetTicks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt32 ) LMGetTicks(void) TWOWORDINLINE(0x2EB8, 0x016A);
+
+
+/*
+ * LMSetTicks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTicks(UInt32 value) TWOWORDINLINE(0x21DF, 0x016A);
+
+
+
+/*
+ * LMGetVIA()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetVIA(void) TWOWORDINLINE(0x2EB8, 0x01D4);
+
+
+/*
+ * LMSetVIA()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetVIA(Ptr value) TWOWORDINLINE(0x21DF, 0x01D4);
+
+
+
+/*
+ * LMGetSCCRd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetSCCRd(void) TWOWORDINLINE(0x2EB8, 0x01D8);
+
+
+/*
+ * LMSetSCCRd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSCCRd(Ptr value) TWOWORDINLINE(0x21DF, 0x01D8);
+
+
+
+/*
+ * LMGetSCCWr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetSCCWr(void) TWOWORDINLINE(0x2EB8, 0x01DC);
+
+
+/*
+ * LMSetSCCWr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSCCWr(Ptr value) TWOWORDINLINE(0x21DF, 0x01DC);
+
+
+
+/*
+ * LMGetSPValid()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPValid(void) TWOWORDINLINE(0x1EB8, 0x01F8);
+
+
+/*
+ * LMSetSPValid()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPValid(UInt8 value) TWOWORDINLINE(0x11DF, 0x01F8);
+
+
+
+/*
+ * LMGetSPATalkA()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPATalkA(void) TWOWORDINLINE(0x1EB8, 0x01F9);
+
+
+/*
+ * LMSetSPATalkA()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPATalkA(UInt8 value) TWOWORDINLINE(0x11DF, 0x01F9);
+
+
+
+/*
+ * LMGetSPATalkB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPATalkB(void) TWOWORDINLINE(0x1EB8, 0x01FA);
+
+
+/*
+ * LMSetSPATalkB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPATalkB(UInt8 value) TWOWORDINLINE(0x11DF, 0x01FA);
+
+
+
+/*
+ * LMGetSPConfig()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPConfig(void) TWOWORDINLINE(0x1EB8, 0x01FB);
+
+
+/*
+ * LMSetSPConfig()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPConfig(UInt8 value) TWOWORDINLINE(0x11DF, 0x01FB);
+
+
+
+/*
+ * LMGetSPPortA()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetSPPortA(void) TWOWORDINLINE(0x3EB8, 0x01FC);
+
+
+/*
+ * LMSetSPPortA()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPPortA(SInt16 value) TWOWORDINLINE(0x31DF, 0x01FC);
+
+
+
+/*
+ * LMGetSPPortB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetSPPortB(void) TWOWORDINLINE(0x3EB8, 0x01FE);
+
+
+/*
+ * LMSetSPPortB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPPortB(SInt16 value) TWOWORDINLINE(0x31DF, 0x01FE);
+
+
+
+/*
+ * LMGetSPAlarm()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt32 ) LMGetSPAlarm(void) TWOWORDINLINE(0x2EB8, 0x0200);
+
+
+/*
+ * LMSetSPAlarm()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPAlarm(SInt32 value) TWOWORDINLINE(0x21DF, 0x0200);
+
+
+
+/*
+ * LMGetSPFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetSPFont(void) TWOWORDINLINE(0x3EB8, 0x0204);
+
+
+/*
+ * LMSetSPFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPFont(SInt16 value) TWOWORDINLINE(0x31DF, 0x0204);
+
+
+
+/*
+ * LMGetSPKbd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPKbd(void) TWOWORDINLINE(0x1EB8, 0x0206);
+
+
+/*
+ * LMSetSPKbd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPKbd(UInt8 value) TWOWORDINLINE(0x11DF, 0x0206);
+
+
+
+/*
+ * LMGetSPPrint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPPrint(void) TWOWORDINLINE(0x1EB8, 0x0207);
+
+
+/*
+ * LMSetSPPrint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPPrint(UInt8 value) TWOWORDINLINE(0x11DF, 0x0207);
+
+
+
+/*
+ * LMGetSPVolCtl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPVolCtl(void) TWOWORDINLINE(0x1EB8, 0x0208);
+
+
+/*
+ * LMSetSPVolCtl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPVolCtl(UInt8 value) TWOWORDINLINE(0x11DF, 0x0208);
+
+
+
+/*
+ * LMGetSPClikCaret()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPClikCaret(void) TWOWORDINLINE(0x1EB8, 0x0209);
+
+
+/*
+ * LMSetSPClikCaret()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPClikCaret(UInt8 value) TWOWORDINLINE(0x11DF, 0x0209);
+
+
+
+/*
+ * LMGetSPMisc2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetSPMisc2(void) TWOWORDINLINE(0x1EB8, 0x020B);
+
+
+/*
+ * LMSetSPMisc2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSPMisc2(UInt8 value) TWOWORDINLINE(0x11DF, 0x020B);
+
+
+
+
+/* Carbon Usage: use GetDateTime*/
+/*
+ * LMGetTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt32 ) LMGetTime(void) TWOWORDINLINE(0x2EB8, 0x020C);
+
+
+/* Carbon Usage: use SetDateTime*/
+/*
+ * LMSetTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTime(SInt32 value) TWOWORDINLINE(0x21DF, 0x020C);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetBootDrive()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetBootDrive(void) TWOWORDINLINE(0x3EB8, 0x0210);
+/*
+ * LMGetBootDrive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetBootDrive(void) TWOWORDINLINE(0x3EB8, 0x0210);
- /*
- * LMSetBootDrive()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetBootDrive(SInt16 value) TWOWORDINLINE(0x31DF, 0x0210);
+/*
+ * LMSetBootDrive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetBootDrive(SInt16 value) TWOWORDINLINE(0x31DF, 0x0210);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetSFSaveDisk()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetSFSaveDisk(void) TWOWORDINLINE(0x3EB8, 0x0214);
+/*
+ * LMGetSFSaveDisk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetSFSaveDisk(void) TWOWORDINLINE(0x3EB8, 0x0214);
- /*
- * LMSetSFSaveDisk()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSFSaveDisk(SInt16 value) TWOWORDINLINE(0x31DF, 0x0214);
+/*
+ * LMSetSFSaveDisk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSFSaveDisk(SInt16 value) TWOWORDINLINE(0x31DF, 0x0214);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetMemErr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetMemErr(void) TWOWORDINLINE(0x3EB8, 0x0220);
-
-
- /*
- * LMSetMemErr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetMemErr(SInt16 value) TWOWORDINLINE(0x31DF, 0x0220);
-
-
-
- /*
- * LMGetSdVolume()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8) LMGetSdVolume(void) TWOWORDINLINE(0x1EB8, 0x0260);
-
-
- /*
- * LMSetSdVolume()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSdVolume(UInt8 value) TWOWORDINLINE(0x11DF, 0x0260);
-
-
-
- /*
- * LMGetSoundPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetSoundPtr(void) TWOWORDINLINE(0x2EB8, 0x0262);
-
-
- /*
- * LMSetSoundPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSoundPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x0262);
-
-
-
- /*
- * LMGetSoundBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetSoundBase(void) TWOWORDINLINE(0x2EB8, 0x0266);
-
-
- /*
- * LMSetSoundBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSoundBase(Ptr value) TWOWORDINLINE(0x21DF, 0x0266);
-
-
-
- /*
- * LMGetSoundLevel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8) LMGetSoundLevel(void) TWOWORDINLINE(0x1EB8, 0x027F);
-
-
- /*
- * LMSetSoundLevel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSoundLevel(UInt8 value) TWOWORDINLINE(0x11DF, 0x027F);
-
-
-
- /*
- * LMGetCurPitch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetCurPitch(void) TWOWORDINLINE(0x3EB8, 0x0280);
-
-
- /*
- * LMSetCurPitch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetCurPitch(SInt16 value) TWOWORDINLINE(0x31DF, 0x0280);
+/*
+ * LMGetMemErr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetMemErr(void) TWOWORDINLINE(0x3EB8, 0x0220);
+
+
+/*
+ * LMSetMemErr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetMemErr(SInt16 value) TWOWORDINLINE(0x31DF, 0x0220);
+
+
+
+/*
+ * LMGetSdVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 ) LMGetSdVolume(void) TWOWORDINLINE(0x1EB8, 0x0260);
+
+
+/*
+ * LMSetSdVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSdVolume(UInt8 value) TWOWORDINLINE(0x11DF, 0x0260);
+
+
+
+/*
+ * LMGetSoundPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetSoundPtr(void) TWOWORDINLINE(0x2EB8, 0x0262);
+
+
+/*
+ * LMSetSoundPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSoundPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x0262);
+
+
+
+/*
+ * LMGetSoundBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetSoundBase(void) TWOWORDINLINE(0x2EB8, 0x0266);
+
+
+/*
+ * LMSetSoundBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSoundBase(Ptr value) TWOWORDINLINE(0x21DF, 0x0266);
+
+
+
+/*
+ * LMGetSoundLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 ) LMGetSoundLevel(void) TWOWORDINLINE(0x1EB8, 0x027F);
+
+
+/*
+ * LMSetSoundLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSoundLevel(UInt8 value) TWOWORDINLINE(0x11DF, 0x027F);
+
+
+
+/*
+ * LMGetCurPitch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetCurPitch(void) TWOWORDINLINE(0x3EB8, 0x0280);
+
+
+/*
+ * LMSetCurPitch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetCurPitch(SInt16 value) TWOWORDINLINE(0x31DF, 0x0280);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetROM85()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetROM85(void) TWOWORDINLINE(0x3EB8, 0x028E);
-
-
- /*
- * LMSetROM85()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetROM85(SInt16 value) TWOWORDINLINE(0x31DF, 0x028E);
-
-
-
- /*
- * LMGetPortBUse()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetPortBUse(void) TWOWORDINLINE(0x1EB8, 0x0291);
-
-
- /*
- * LMSetPortBUse()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetPortBUse(UInt8 value) TWOWORDINLINE(0x11DF, 0x0291);
-
-
-
- /*
- * LMGetGNEFilter()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(GetNextEventFilterUPP) LMGetGNEFilter(void) TWOWORDINLINE(0x2EB8, 0x029A);
-
-
- /*
- * LMSetGNEFilter()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetGNEFilter(GetNextEventFilterUPP value) TWOWORDINLINE(0x21DF, 0x029A);
+/*
+ * LMGetROM85()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetROM85(void) TWOWORDINLINE(0x3EB8, 0x028E);
+
+
+/*
+ * LMSetROM85()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetROM85(SInt16 value) TWOWORDINLINE(0x31DF, 0x028E);
+
+
+
+/*
+ * LMGetPortBUse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetPortBUse(void) TWOWORDINLINE(0x1EB8, 0x0291);
+
+
+/*
+ * LMSetPortBUse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetPortBUse(UInt8 value) TWOWORDINLINE(0x11DF, 0x0291);
+
+
+
+/*
+ * LMGetGNEFilter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( GetNextEventFilterUPP ) LMGetGNEFilter(void) TWOWORDINLINE(0x2EB8, 0x029A);
+
+
+/*
+ * LMSetGNEFilter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetGNEFilter(GetNextEventFilterUPP value) TWOWORDINLINE(0x21DF, 0x029A);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetSysZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(THz) LMGetSysZone(void) TWOWORDINLINE(0x2EB8, 0x02A6);
+/*
+ * LMGetSysZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( THz ) LMGetSysZone(void) TWOWORDINLINE(0x2EB8, 0x02A6);
- /*
- * LMSetSysZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSysZone(THz value) TWOWORDINLINE(0x21DF, 0x02A6);
+/*
+ * LMSetSysZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSysZone(THz value) TWOWORDINLINE(0x21DF, 0x02A6);
- /*
- * LMGetApplZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(THz) LMGetApplZone(void) TWOWORDINLINE(0x2EB8, 0x02AA);
+/*
+ * LMGetApplZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( THz ) LMGetApplZone(void) TWOWORDINLINE(0x2EB8, 0x02AA);
- /*
- * LMSetApplZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetApplZone(THz value) TWOWORDINLINE(0x21DF, 0x02AA);
+/*
+ * LMSetApplZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetApplZone(THz value) TWOWORDINLINE(0x21DF, 0x02AA);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetROMBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetROMBase(void) TWOWORDINLINE(0x2EB8, 0x02AE);
-
-
- /*
- * LMSetROMBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetROMBase(Ptr value) TWOWORDINLINE(0x21DF, 0x02AE);
-
-
-
- /*
- * LMGetRAMBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetRAMBase(void) TWOWORDINLINE(0x2EB8, 0x02B2);
-
-
- /*
- * LMSetRAMBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetRAMBase(Ptr value) TWOWORDINLINE(0x21DF, 0x02B2);
-
-
-
-
- /*
- * LMGetDSAlertTab()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetDSAlertTab(void) TWOWORDINLINE(0x2EB8, 0x02BA);
-
-
- /*
- * LMSetDSAlertTab()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDSAlertTab(Ptr value) TWOWORDINLINE(0x21DF, 0x02BA);
-
-
-
-
- /*
- NOTE: LMGetABusVars and LMSetABusVars have been removed.
- Their implememtation in InterfaceLib was inconsistent
- with their prototypes here. In InterfaceLib LMSetABusVars
- would copy eight bytes and LMGetABusVars would return the
- value 0x02D8 instead of the long at that location.
-
- Use LMGetABusGlobals/LMSetABusGlobals to get/set the
- long at location 0x02D8 which is a pointer to the AppleTalk
- globals. Use LMGetABusDCE/LMSetABusDCE to get/set the
- long at location 0x02DC which is the .MPP driver
- Device Control Entry.
-
- */
- /*
- * LMGetABusGlobals()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetABusGlobals(void) TWOWORDINLINE(0x2EB8, 0x02D8);
-
-
- /*
- * LMGetABusDCE()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetABusDCE(void) TWOWORDINLINE(0x2EB8, 0x02DC);
-
-
-
- /*
- * LMSetABusGlobals()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetABusGlobals(Ptr value) TWOWORDINLINE(0x21DF, 0x02D8);
-
-
- /*
- * LMSetABusDCE()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetABusDCE(Ptr value) TWOWORDINLINE(0x21DF, 0x02DC);
-
-
-
- /* Carbon Usage: use GetDblTime*/
- /*
- * LMGetDoubleTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt32) LMGetDoubleTime(void) TWOWORDINLINE(0x2EB8, 0x02F0);
-
-
- /*
- * LMSetDoubleTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDoubleTime(UInt32 value) TWOWORDINLINE(0x21DF, 0x02F0);
-
-
- /* Carbon Usage: use GetCaretTime*/
- /*
- * LMGetCaretTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt32) LMGetCaretTime(void) TWOWORDINLINE(0x2EB8, 0x02F4);
-
-
- /*
- * LMSetCaretTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCaretTime(UInt32 value) TWOWORDINLINE(0x21DF, 0x02F4);
+/*
+ * LMGetROMBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetROMBase(void) TWOWORDINLINE(0x2EB8, 0x02AE);
+
+
+/*
+ * LMSetROMBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetROMBase(Ptr value) TWOWORDINLINE(0x21DF, 0x02AE);
+
+
+
+/*
+ * LMGetRAMBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetRAMBase(void) TWOWORDINLINE(0x2EB8, 0x02B2);
+
+
+/*
+ * LMSetRAMBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetRAMBase(Ptr value) TWOWORDINLINE(0x21DF, 0x02B2);
+
+
+
+
+/*
+ * LMGetDSAlertTab()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetDSAlertTab(void) TWOWORDINLINE(0x2EB8, 0x02BA);
+
+
+/*
+ * LMSetDSAlertTab()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDSAlertTab(Ptr value) TWOWORDINLINE(0x21DF, 0x02BA);
+
+
+
+
+/*
+ NOTE: LMGetABusVars and LMSetABusVars have been removed.
+ Their implememtation in InterfaceLib was inconsistent
+ with their prototypes here. In InterfaceLib LMSetABusVars
+ would copy eight bytes and LMGetABusVars would return the
+ value 0x02D8 instead of the long at that location.
+
+ Use LMGetABusGlobals/LMSetABusGlobals to get/set the
+ long at location 0x02D8 which is a pointer to the AppleTalk
+ globals. Use LMGetABusDCE/LMSetABusDCE to get/set the
+ long at location 0x02DC which is the .MPP driver
+ Device Control Entry.
+
+*/
+/*
+ * LMGetABusGlobals()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetABusGlobals(void) TWOWORDINLINE(0x2EB8, 0x02D8);
+
+
+/*
+ * LMGetABusDCE()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetABusDCE(void) TWOWORDINLINE(0x2EB8, 0x02DC);
+
+
+
+/*
+ * LMSetABusGlobals()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetABusGlobals(Ptr value) TWOWORDINLINE(0x21DF, 0x02D8);
+
+
+/*
+ * LMSetABusDCE()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetABusDCE(Ptr value) TWOWORDINLINE(0x21DF, 0x02DC);
+
+
+
+/* Carbon Usage: use GetDblTime*/
+/*
+ * LMGetDoubleTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt32 ) LMGetDoubleTime(void) TWOWORDINLINE(0x2EB8, 0x02F0);
+
+
+/*
+ * LMSetDoubleTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDoubleTime(UInt32 value) TWOWORDINLINE(0x21DF, 0x02F0);
+
+
+/* Carbon Usage: use GetCaretTime*/
+/*
+ * LMGetCaretTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt32 ) LMGetCaretTime(void) TWOWORDINLINE(0x2EB8, 0x02F4);
+
+
+/*
+ * LMSetCaretTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCaretTime(UInt32 value) TWOWORDINLINE(0x21DF, 0x02F4);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetScrDmpEnb()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8) LMGetScrDmpEnb(void) TWOWORDINLINE(0x1EB8, 0x02F8);
-
-
- /*
- * LMSetScrDmpEnb()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetScrDmpEnb(UInt8 value) TWOWORDINLINE(0x11DF, 0x02F8);
-
-
-
- /*
- * LMGetBufTgFNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32) LMGetBufTgFNum(void) TWOWORDINLINE(0x2EB8, 0x02FC);
-
-
- /*
- * LMSetBufTgFNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetBufTgFNum(SInt32 value) TWOWORDINLINE(0x21DF, 0x02FC);
-
-
-
- /*
- * LMGetBufTgFFlg()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetBufTgFFlg(void) TWOWORDINLINE(0x3EB8, 0x0300);
-
-
- /*
- * LMSetBufTgFFlg()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetBufTgFFlg(SInt16 value) TWOWORDINLINE(0x31DF, 0x0300);
-
-
-
- /*
- * LMGetBufTgFBkNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetBufTgFBkNum(void) TWOWORDINLINE(0x3EB8, 0x0302);
-
-
- /*
- * LMSetBufTgFBkNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetBufTgFBkNum(SInt16 value) TWOWORDINLINE(0x31DF, 0x0302);
-
-
-
- /*
- * LMGetBufTgDate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32) LMGetBufTgDate(void) TWOWORDINLINE(0x2EB8, 0x0304);
-
-
- /*
- * LMSetBufTgDate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetBufTgDate(SInt32 value) TWOWORDINLINE(0x21DF, 0x0304);
+/*
+ * LMGetScrDmpEnb()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 ) LMGetScrDmpEnb(void) TWOWORDINLINE(0x1EB8, 0x02F8);
+
+
+/*
+ * LMSetScrDmpEnb()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetScrDmpEnb(UInt8 value) TWOWORDINLINE(0x11DF, 0x02F8);
+
+
+
+/*
+ * LMGetBufTgFNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 ) LMGetBufTgFNum(void) TWOWORDINLINE(0x2EB8, 0x02FC);
+
+
+/*
+ * LMSetBufTgFNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetBufTgFNum(SInt32 value) TWOWORDINLINE(0x21DF, 0x02FC);
+
+
+
+/*
+ * LMGetBufTgFFlg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetBufTgFFlg(void) TWOWORDINLINE(0x3EB8, 0x0300);
+
+
+/*
+ * LMSetBufTgFFlg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetBufTgFFlg(SInt16 value) TWOWORDINLINE(0x31DF, 0x0300);
+
+
+
+/*
+ * LMGetBufTgFBkNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetBufTgFBkNum(void) TWOWORDINLINE(0x3EB8, 0x0302);
+
+
+/*
+ * LMSetBufTgFBkNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetBufTgFBkNum(SInt16 value) TWOWORDINLINE(0x31DF, 0x0302);
+
+
+
+/*
+ * LMGetBufTgDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 ) LMGetBufTgDate(void) TWOWORDINLINE(0x2EB8, 0x0304);
+
+
+/*
+ * LMSetBufTgDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetBufTgDate(SInt32 value) TWOWORDINLINE(0x21DF, 0x0304);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetLo3Bytes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt32) LMGetLo3Bytes(void) TWOWORDINLINE(0x2EB8, 0x031A);
+/*
+ * LMGetLo3Bytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt32 ) LMGetLo3Bytes(void) TWOWORDINLINE(0x2EB8, 0x031A);
- /*
- * LMSetLo3Bytes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetLo3Bytes(SInt32 value) TWOWORDINLINE(0x21DF, 0x031A);
+/*
+ * LMSetLo3Bytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetLo3Bytes(SInt32 value) TWOWORDINLINE(0x21DF, 0x031A);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetMinStack()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32) LMGetMinStack(void) TWOWORDINLINE(0x2EB8, 0x031E);
-
-
- /*
- * LMSetMinStack()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetMinStack(SInt32 value) TWOWORDINLINE(0x21DF, 0x031E);
-
-
-
- /*
- * LMGetDefltStack()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32) LMGetDefltStack(void) TWOWORDINLINE(0x2EB8, 0x0322);
-
-
- /*
- * LMSetDefltStack()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetDefltStack(SInt32 value) TWOWORDINLINE(0x21DF, 0x0322);
-
-
-
- /*
- * LMGetGZRootHnd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle) LMGetGZRootHnd(void) TWOWORDINLINE(0x2EB8, 0x0328);
-
-
- /*
- * LMSetGZRootHnd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetGZRootHnd(Handle value) TWOWORDINLINE(0x21DF, 0x0328);
-
-
-
- /*
- * LMGetGZMoveHnd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle) LMGetGZMoveHnd(void) TWOWORDINLINE(0x2EB8, 0x0330);
-
-
- /*
- * LMSetGZMoveHnd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetGZMoveHnd(Handle value) TWOWORDINLINE(0x21DF, 0x0330);
-
-
-
- /*
- LMGetFCBSPtr, LMSetFCBSPtr and LMSetFSFCBLen are not supported with Mac OS 9
- and later. Access to information in File Control Blocks or Fork Control Blocks
- (FCBs) should, if at all possible, be made with the GetFCBInfo or GetForkCBInfo
- routines. See the Technote "FCBs, Now and Forever" or the Technical Q&A
- "Accessing File Control Blocks" for complete information on this subject.
- Direct access to FCBs is not allowed by Carbon. Non-Carbon programs that
- require direct access to FCBs should use the File System Manager (FSM) FCB accessor
- functions if FSM is available (use the Gestalt selector gestaltFSAttr to determine
- this). Non-Carbon programs needing direct access to FCBs when FSM is not available
- can define ENABLE_FCB_ARRAY_ACCESS to be true when compiling.
- */
+/*
+ * LMGetMinStack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 ) LMGetMinStack(void) TWOWORDINLINE(0x2EB8, 0x031E);
+
+
+/*
+ * LMSetMinStack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetMinStack(SInt32 value) TWOWORDINLINE(0x21DF, 0x031E);
+
+
+
+/*
+ * LMGetDefltStack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 ) LMGetDefltStack(void) TWOWORDINLINE(0x2EB8, 0x0322);
+
+
+/*
+ * LMSetDefltStack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetDefltStack(SInt32 value) TWOWORDINLINE(0x21DF, 0x0322);
+
+
+
+/*
+ * LMGetGZRootHnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle ) LMGetGZRootHnd(void) TWOWORDINLINE(0x2EB8, 0x0328);
+
+
+/*
+ * LMSetGZRootHnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetGZRootHnd(Handle value) TWOWORDINLINE(0x21DF, 0x0328);
+
+
+
+/*
+ * LMGetGZMoveHnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle ) LMGetGZMoveHnd(void) TWOWORDINLINE(0x2EB8, 0x0330);
+
+
+/*
+ * LMSetGZMoveHnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetGZMoveHnd(Handle value) TWOWORDINLINE(0x21DF, 0x0330);
+
+
+
+/*
+ LMGetFCBSPtr, LMSetFCBSPtr and LMSetFSFCBLen are not supported with Mac OS 9
+ and later. Access to information in File Control Blocks or Fork Control Blocks
+ (FCBs) should, if at all possible, be made with the GetFCBInfo or GetForkCBInfo
+ routines. See the Technote "FCBs, Now and Forever" or the Technical Q&A
+ "Accessing File Control Blocks" for complete information on this subject.
+ Direct access to FCBs is not allowed by Carbon. Non-Carbon programs that
+ require direct access to FCBs should use the File System Manager (FSM) FCB accessor
+ functions if FSM is available (use the Gestalt selector gestaltFSAttr to determine
+ this). Non-Carbon programs needing direct access to FCBs when FSM is not available
+ can define ENABLE_FCB_ARRAY_ACCESS to be true when compiling.
+*/
#ifndef ENABLE_FCB_ARRAY_ACCESS
#define ENABLE_FCB_ARRAY_ACCESS 0
#endif /* !defined(ENABLE_FCB_ARRAY_ACCESS) */
#if ENABLE_FCB_ARRAY_ACCESS
#if CALL_NOT_IN_CARBON
- /*
- * LMGetFCBSPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetFCBSPtr(void) TWOWORDINLINE(0x2EB8, 0x034E);
-
-
- /*
- * LMSetFCBSPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetFCBSPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x034E);
-
-
- /*
- * LMSetFSFCBLen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetFSFCBLen(SInt16 value) TWOWORDINLINE(0x31DF, 0x03F6);
+/*
+ * LMGetFCBSPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetFCBSPtr(void) TWOWORDINLINE(0x2EB8, 0x034E);
+
+
+/*
+ * LMSetFCBSPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetFCBSPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x034E);
+
+
+/*
+ * LMSetFSFCBLen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetFSFCBLen(SInt16 value) TWOWORDINLINE(0x31DF, 0x03F6);
#endif /* CALL_NOT_IN_CARBON */
#endif /* ENABLE_FCB_ARRAY_ACCESS */
- /*
- LMGetFSFCBLen is supported only for the purpose of determining that the HFS
- file system is available as documented in developer Technotes (the HFS file system
- is available in System 3.2 and later). There is no documented use of FSFCBLen
- other than testing it for a positive value.
- */
+/*
+ LMGetFSFCBLen is supported only for the purpose of determining that the HFS
+ file system is available as documented in developer Technotes (the HFS file system
+ is available in System 3.2 and later). There is no documented use of FSFCBLen
+ other than testing it for a positive value.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * LMGetFSFCBLen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetFSFCBLen(void) TWOWORDINLINE(0x3EB8, 0x03F6);
-
-
-
- /*
- * LMGetDefVCBPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetDefVCBPtr(void) TWOWORDINLINE(0x2EB8, 0x0352);
-
-
- /*
- * LMSetDefVCBPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDefVCBPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x0352);
-
-
-
- /*
- * LMGetCurDirStore()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt32) LMGetCurDirStore(void) TWOWORDINLINE(0x2EB8, 0x0398);
-
-
- /*
- * LMSetCurDirStore()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCurDirStore(SInt32 value) TWOWORDINLINE(0x21DF, 0x0398);
+/*
+ * LMGetFSFCBLen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetFSFCBLen(void) TWOWORDINLINE(0x3EB8, 0x03F6);
+
+
+
+/*
+ * LMGetDefVCBPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetDefVCBPtr(void) TWOWORDINLINE(0x2EB8, 0x0352);
+
+
+/*
+ * LMSetDefVCBPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDefVCBPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x0352);
+
+
+
+/*
+ * LMGetCurDirStore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt32 ) LMGetCurDirStore(void) TWOWORDINLINE(0x2EB8, 0x0398);
+
+
+/*
+ * LMSetCurDirStore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCurDirStore(SInt32 value) TWOWORDINLINE(0x21DF, 0x0398);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetToExtFS()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UniversalProcPtr) LMGetToExtFS(void) TWOWORDINLINE(0x2EB8, 0x03F2);
+/*
+ * LMGetToExtFS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UniversalProcPtr ) LMGetToExtFS(void) TWOWORDINLINE(0x2EB8, 0x03F2);
- /*
- * LMSetToExtFS()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetToExtFS(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x03F2);
+/*
+ * LMSetToExtFS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetToExtFS(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x03F2);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetScrnBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetScrnBase(void) TWOWORDINLINE(0x2EB8, 0x0824);
-
-
- /*
- * LMSetScrnBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetScrnBase(Ptr value) TWOWORDINLINE(0x21DF, 0x0824);
-
-
-
-
- /*
- * LMGetCrsrBusy()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetCrsrBusy(void) TWOWORDINLINE(0x1EB8, 0x08CD);
-
-
- /*
- * LMSetCrsrBusy()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCrsrBusy(UInt8 value) TWOWORDINLINE(0x11DF, 0x08CD);
-
-
-
- /*
- * LMGetJournalRef()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetJournalRef(void) TWOWORDINLINE(0x3EB8, 0x08E8);
-
-
- /*
- * LMSetJournalRef()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetJournalRef(SInt16 value) TWOWORDINLINE(0x31DF, 0x08E8);
-
-
-
- /*
- * LMGetCrsrThresh()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetCrsrThresh(void) TWOWORDINLINE(0x3EB8, 0x08EC);
-
-
- /*
- * LMSetCrsrThresh()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCrsrThresh(SInt16 value) TWOWORDINLINE(0x31DF, 0x08EC);
-
-
-
- /*
- * LMGetJFetch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetJFetch(void) TWOWORDINLINE(0x2EB8, 0x08F4);
-
-
- /*
- * LMSetJFetch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetJFetch(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x08F4);
+/*
+ * LMGetScrnBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetScrnBase(void) TWOWORDINLINE(0x2EB8, 0x0824);
+
+
+/*
+ * LMSetScrnBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetScrnBase(Ptr value) TWOWORDINLINE(0x21DF, 0x0824);
+
+
+
+
+/*
+ * LMGetCrsrBusy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetCrsrBusy(void) TWOWORDINLINE(0x1EB8, 0x08CD);
+
+
+/*
+ * LMSetCrsrBusy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCrsrBusy(UInt8 value) TWOWORDINLINE(0x11DF, 0x08CD);
+
+
+
+/*
+ * LMGetJournalRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetJournalRef(void) TWOWORDINLINE(0x3EB8, 0x08E8);
+
+
+/*
+ * LMSetJournalRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetJournalRef(SInt16 value) TWOWORDINLINE(0x31DF, 0x08E8);
+
+
+
+/*
+ * LMGetCrsrThresh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetCrsrThresh(void) TWOWORDINLINE(0x3EB8, 0x08EC);
+
+
+/*
+ * LMSetCrsrThresh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCrsrThresh(SInt16 value) TWOWORDINLINE(0x31DF, 0x08EC);
+
+
+
+/*
+ * LMGetJFetch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetJFetch(void) TWOWORDINLINE(0x2EB8, 0x08F4);
+
+
+/*
+ * LMSetJFetch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetJFetch(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x08F4);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetJStash()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UniversalProcPtr) LMGetJStash(void) TWOWORDINLINE(0x2EB8, 0x08F8);
+/*
+ * LMGetJStash()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UniversalProcPtr ) LMGetJStash(void) TWOWORDINLINE(0x2EB8, 0x08F8);
- /*
- * LMSetJStash()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetJStash(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x08F8);
+/*
+ * LMSetJStash()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetJStash(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x08F8);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetJIODone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetJIODone(void) TWOWORDINLINE(0x2EB8, 0x08FC);
+/*
+ * LMGetJIODone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetJIODone(void) TWOWORDINLINE(0x2EB8, 0x08FC);
- /*
- * LMSetJIODone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetJIODone(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x08FC);
+/*
+ * LMSetJIODone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetJIODone(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x08FC);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetCurApRefNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetCurApRefNum(void) TWOWORDINLINE(0x3EB8, 0x0900);
+/*
+ * LMGetCurApRefNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetCurApRefNum(void) TWOWORDINLINE(0x3EB8, 0x0900);
- /*
- * LMSetCurApRefNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetCurApRefNum(SInt16 value) TWOWORDINLINE(0x31DF, 0x0900);
+/*
+ * LMSetCurApRefNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetCurApRefNum(SInt16 value) TWOWORDINLINE(0x31DF, 0x0900);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetCurrentA5()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetCurrentA5(void) TWOWORDINLINE(0x2EB8, 0x0904);
+/*
+ * LMGetCurrentA5()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetCurrentA5(void) TWOWORDINLINE(0x2EB8, 0x0904);
- /*
- * LMSetCurrentA5()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCurrentA5(Ptr value) TWOWORDINLINE(0x21DF, 0x0904);
+/*
+ * LMSetCurrentA5()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCurrentA5(Ptr value) TWOWORDINLINE(0x21DF, 0x0904);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetCurStackBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetCurStackBase(void) TWOWORDINLINE(0x2EB8, 0x0908);
+/*
+ * LMGetCurStackBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetCurStackBase(void) TWOWORDINLINE(0x2EB8, 0x0908);
- /*
- * LMSetCurStackBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetCurStackBase(Ptr value) TWOWORDINLINE(0x21DF, 0x0908);
+/*
+ * LMSetCurStackBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetCurStackBase(Ptr value) TWOWORDINLINE(0x21DF, 0x0908);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetCurJTOffset()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetCurJTOffset(void) TWOWORDINLINE(0x3EB8, 0x0934);
+/*
+ * LMGetCurJTOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetCurJTOffset(void) TWOWORDINLINE(0x3EB8, 0x0934);
- /*
- * LMSetCurJTOffset()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCurJTOffset(SInt16 value) TWOWORDINLINE(0x31DF, 0x0934);
+/*
+ * LMSetCurJTOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCurJTOffset(SInt16 value) TWOWORDINLINE(0x31DF, 0x0934);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetCurPageOption()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetCurPageOption(void) TWOWORDINLINE(0x3EB8, 0x0936);
+/*
+ * LMGetCurPageOption()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetCurPageOption(void) TWOWORDINLINE(0x3EB8, 0x0936);
- /*
- * LMSetCurPageOption()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetCurPageOption(SInt16 value) TWOWORDINLINE(0x31DF, 0x0936);
+/*
+ * LMSetCurPageOption()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetCurPageOption(SInt16 value) TWOWORDINLINE(0x31DF, 0x0936);
- /*
- * LMGetPrintErr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetPrintErr(void) TWOWORDINLINE(0x3EB8, 0x0944);
+/*
+ * LMGetPrintErr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetPrintErr(void) TWOWORDINLINE(0x3EB8, 0x0944);
- /*
- * LMSetPrintErr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetPrintErr(SInt16 value) TWOWORDINLINE(0x31DF, 0x0944);
+/*
+ * LMSetPrintErr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetPrintErr(SInt16 value) TWOWORDINLINE(0x31DF, 0x0944);
- /* Carbon Scrap Manager does not support low memory.*/
+/* Carbon Scrap Manager does not support low memory.*/
#if CALL_NOT_IN_CARBON
- /*
- * LMGetScrapSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt32) LMGetScrapSize(void) TWOWORDINLINE(0x2EB8, 0x0960);
-
-
- /*
- * LMSetScrapSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetScrapSize(SInt32 value) TWOWORDINLINE(0x21DF, 0x0960);
-
-
- /*
- * LMGetScrapHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetScrapHandle(void) TWOWORDINLINE(0x2EB8, 0x0964);
-
-
- /*
- * LMSetScrapHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetScrapHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0964);
-
-
- /*
- * LMGetScrapCount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetScrapCount(void) TWOWORDINLINE(0x3EB8, 0x0968);
-
-
- /*
- * LMSetScrapCount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetScrapCount(SInt16 value) TWOWORDINLINE(0x31DF, 0x0968);
-
-
- /*
- * LMGetScrapState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetScrapState(void) TWOWORDINLINE(0x3EB8, 0x096A);
-
-
- /*
- * LMSetScrapState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetScrapState(SInt16 value) TWOWORDINLINE(0x31DF, 0x096A);
-
-
- /*
- * LMGetScrapName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(StringPtr) LMGetScrapName(void) TWOWORDINLINE(0x2EB8, 0x096C);
-
-
- /*
- * LMSetScrapName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetScrapName(StringPtr value) TWOWORDINLINE(0x21DF, 0x096C);
-
-
-
- /*
- * LMGetROMFont0()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetROMFont0(void) TWOWORDINLINE(0x2EB8, 0x0980);
-
-
- /*
- * LMSetROMFont0()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetROMFont0(Handle value) TWOWORDINLINE(0x21DF, 0x0980);
+/*
+ * LMGetScrapSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt32 ) LMGetScrapSize(void) TWOWORDINLINE(0x2EB8, 0x0960);
+
+
+/*
+ * LMSetScrapSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetScrapSize(SInt32 value) TWOWORDINLINE(0x21DF, 0x0960);
+
+
+/*
+ * LMGetScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetScrapHandle(void) TWOWORDINLINE(0x2EB8, 0x0964);
+
+
+/*
+ * LMSetScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetScrapHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0964);
+
+
+/*
+ * LMGetScrapCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetScrapCount(void) TWOWORDINLINE(0x3EB8, 0x0968);
+
+
+/*
+ * LMSetScrapCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetScrapCount(SInt16 value) TWOWORDINLINE(0x31DF, 0x0968);
+
+
+/*
+ * LMGetScrapState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetScrapState(void) TWOWORDINLINE(0x3EB8, 0x096A);
+
+
+/*
+ * LMSetScrapState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetScrapState(SInt16 value) TWOWORDINLINE(0x31DF, 0x096A);
+
+
+/*
+ * LMGetScrapName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( StringPtr ) LMGetScrapName(void) TWOWORDINLINE(0x2EB8, 0x096C);
+
+
+/*
+ * LMSetScrapName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetScrapName(StringPtr value) TWOWORDINLINE(0x21DF, 0x096C);
+
+
+
+/*
+ * LMGetROMFont0()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetROMFont0(void) TWOWORDINLINE(0x2EB8, 0x0980);
+
+
+/*
+ * LMSetROMFont0()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetROMFont0(Handle value) TWOWORDINLINE(0x21DF, 0x0980);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetApFontID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetApFontID(void) TWOWORDINLINE(0x3EB8, 0x0984);
+/*
+ * LMGetApFontID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetApFontID(void) TWOWORDINLINE(0x3EB8, 0x0984);
- /*
- * LMSetApFontID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetApFontID(SInt16 value) TWOWORDINLINE(0x31DF, 0x0984);
+/*
+ * LMSetApFontID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetApFontID(SInt16 value) TWOWORDINLINE(0x31DF, 0x0984);
- /* Carbon versions of the Window Manager do not support LowMem. */
- /* Carbon Usage: use GetWindowList*/
+/* Carbon versions of the Window Manager do not support LowMem. */
+/* Carbon Usage: use GetWindowList*/
#if CALL_NOT_IN_CARBON
- /*
- * LMGetWindowList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(WindowRef) LMGetWindowList(void) TWOWORDINLINE(0x2EB8, 0x09D6);
-
-
- /*
- * LMGetSaveUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetSaveUpdate(void) TWOWORDINLINE(0x3EB8, 0x09DA);
-
-
- /*
- * LMSetSaveUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSaveUpdate(SInt16 value) TWOWORDINLINE(0x31DF, 0x09DA);
-
-
- /*
- * LMGetPaintWhite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetPaintWhite(void) TWOWORDINLINE(0x3EB8, 0x09DC);
-
-
- /* Carbon Usage : use InstallWindowContentPaintProc*/
- /*
- * LMSetPaintWhite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetPaintWhite(SInt16 value) TWOWORDINLINE(0x31DF, 0x09DC);
-
-
- /*
- * LMGetWMgrPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(GrafPtr) LMGetWMgrPort(void) TWOWORDINLINE(0x2EB8, 0x09DE);
-
-
- /*
- * LMSetWMgrPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetWMgrPort(GrafPtr value) TWOWORDINLINE(0x21DF, 0x09DE);
-
-
- /* Carbon Usage: use GetGrayRgn*/
- /*
- * LMGetGrayRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(RgnHandle) LMGetGrayRgn(void) TWOWORDINLINE(0x2EB8, 0x09EE);
-
-
- /*
- * LMGetDragHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(DragGrayRgnUPP) LMGetDragHook(void) TWOWORDINLINE(0x2EB8, 0x09F6);
-
-
- /*
- * LMSetDragHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDragHook(DragGrayRgnUPP value) TWOWORDINLINE(0x21DF, 0x09F6);
-
-
- /*
- * LMSetWindowList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetWindowList(WindowRef value) TWOWORDINLINE(0x21DF, 0x09D6);
-
-
- /*
- * LMGetGhostWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(WindowRef) LMGetGhostWindow(void) TWOWORDINLINE(0x2EB8, 0x0A84);
-
-
- /*
- * LMSetGhostWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetGhostWindow(WindowRef value) TWOWORDINLINE(0x21DF, 0x0A84);
+/*
+ * LMGetWindowList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( WindowRef ) LMGetWindowList(void) TWOWORDINLINE(0x2EB8, 0x09D6);
+
+
+/*
+ * LMGetSaveUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetSaveUpdate(void) TWOWORDINLINE(0x3EB8, 0x09DA);
+
+
+/*
+ * LMSetSaveUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSaveUpdate(SInt16 value) TWOWORDINLINE(0x31DF, 0x09DA);
+
+
+/*
+ * LMGetPaintWhite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetPaintWhite(void) TWOWORDINLINE(0x3EB8, 0x09DC);
+
+
+/* Carbon Usage : use InstallWindowContentPaintProc*/
+/*
+ * LMSetPaintWhite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetPaintWhite(SInt16 value) TWOWORDINLINE(0x31DF, 0x09DC);
+
+
+/*
+ * LMGetWMgrPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( GrafPtr ) LMGetWMgrPort(void) TWOWORDINLINE(0x2EB8, 0x09DE);
+
+
+/*
+ * LMSetWMgrPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetWMgrPort(GrafPtr value) TWOWORDINLINE(0x21DF, 0x09DE);
+
+
+/* Carbon Usage: use GetGrayRgn*/
+/*
+ * LMGetGrayRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( RgnHandle ) LMGetGrayRgn(void) TWOWORDINLINE(0x2EB8, 0x09EE);
+
+
+/*
+ * LMGetDragHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( DragGrayRgnUPP ) LMGetDragHook(void) TWOWORDINLINE(0x2EB8, 0x09F6);
+
+
+/*
+ * LMSetDragHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDragHook(DragGrayRgnUPP value) TWOWORDINLINE(0x21DF, 0x09F6);
+
+
+/*
+ * LMSetWindowList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetWindowList(WindowRef value) TWOWORDINLINE(0x21DF, 0x09D6);
+
+
+/*
+ * LMGetGhostWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( WindowRef ) LMGetGhostWindow(void) TWOWORDINLINE(0x2EB8, 0x0A84);
+
+
+/*
+ * LMSetGhostWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetGhostWindow(WindowRef value) TWOWORDINLINE(0x21DF, 0x0A84);
#endif /* CALL_NOT_IN_CARBON */
#if !OPAQUE_TOOLBOX_STRUCTS
#if CALL_NOT_IN_CARBON
- /*
- * LMGetAuxWinHead()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(AuxWinHandle) LMGetAuxWinHead(void) TWOWORDINLINE(0x2EB8, 0x0CD0);
-
-
- /*
- * LMSetAuxWinHead()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetAuxWinHead(AuxWinHandle value) TWOWORDINLINE(0x21DF, 0x0CD0);
+/*
+ * LMGetAuxWinHead()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( AuxWinHandle ) LMGetAuxWinHead(void) TWOWORDINLINE(0x2EB8, 0x0CD0);
+
+
+/*
+ * LMSetAuxWinHead()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetAuxWinHead(AuxWinHandle value) TWOWORDINLINE(0x21DF, 0x0CD0);
#endif /* CALL_NOT_IN_CARBON */
@@ -2303,1293 +2303,1293 @@ extern "C" {
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
#if CALL_NOT_IN_CARBON
- /*
- * LMGetCurActivate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(WindowRef) LMGetCurActivate(void) TWOWORDINLINE(0x2EB8, 0x0A64);
-
-
- /*
- * LMSetCurActivate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCurActivate(WindowRef value) TWOWORDINLINE(0x21DF, 0x0A64);
-
-
- /*
- * LMGetCurDeactive()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(WindowRef) LMGetCurDeactive(void) TWOWORDINLINE(0x2EB8, 0x0A68);
-
-
- /*
- * LMSetCurDeactive()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCurDeactive(WindowRef value) TWOWORDINLINE(0x21DF, 0x0A68);
-
-
- /*
- * LMGetOldStructure()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(RgnHandle) LMGetOldStructure(void) TWOWORDINLINE(0x2EB8, 0x09E6);
-
-
- /*
- * LMSetOldStructure()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetOldStructure(RgnHandle value) TWOWORDINLINE(0x21DF, 0x09E6);
-
-
- /*
- * LMGetOldContent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(RgnHandle) LMGetOldContent(void) TWOWORDINLINE(0x2EB8, 0x09EA);
-
-
- /*
- * LMSetOldContent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetOldContent(RgnHandle value) TWOWORDINLINE(0x21DF, 0x09EA);
-
-
- /*
- * LMSetGrayRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetGrayRgn(RgnHandle value) TWOWORDINLINE(0x21DF, 0x09EE);
-
-
- /*
- * LMGetSaveVisRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(RgnHandle) LMGetSaveVisRgn(void) TWOWORDINLINE(0x2EB8, 0x09F2);
-
-
- /*
- * LMSetSaveVisRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSaveVisRgn(RgnHandle value) TWOWORDINLINE(0x21DF, 0x09F2);
+/*
+ * LMGetCurActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( WindowRef ) LMGetCurActivate(void) TWOWORDINLINE(0x2EB8, 0x0A64);
+
+
+/*
+ * LMSetCurActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCurActivate(WindowRef value) TWOWORDINLINE(0x21DF, 0x0A64);
+
+
+/*
+ * LMGetCurDeactive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( WindowRef ) LMGetCurDeactive(void) TWOWORDINLINE(0x2EB8, 0x0A68);
+
+
+/*
+ * LMSetCurDeactive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCurDeactive(WindowRef value) TWOWORDINLINE(0x21DF, 0x0A68);
+
+
+/*
+ * LMGetOldStructure()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( RgnHandle ) LMGetOldStructure(void) TWOWORDINLINE(0x2EB8, 0x09E6);
+
+
+/*
+ * LMSetOldStructure()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetOldStructure(RgnHandle value) TWOWORDINLINE(0x21DF, 0x09E6);
+
+
+/*
+ * LMGetOldContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( RgnHandle ) LMGetOldContent(void) TWOWORDINLINE(0x2EB8, 0x09EA);
+
+
+/*
+ * LMSetOldContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetOldContent(RgnHandle value) TWOWORDINLINE(0x21DF, 0x09EA);
+
+
+/*
+ * LMSetGrayRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetGrayRgn(RgnHandle value) TWOWORDINLINE(0x21DF, 0x09EE);
+
+
+/*
+ * LMGetSaveVisRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( RgnHandle ) LMGetSaveVisRgn(void) TWOWORDINLINE(0x2EB8, 0x09F2);
+
+
+/*
+ * LMSetSaveVisRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSaveVisRgn(RgnHandle value) TWOWORDINLINE(0x21DF, 0x09F2);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetOneOne()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32) LMGetOneOne(void) TWOWORDINLINE(0x2EB8, 0x0A02);
-
-
- /*
- * LMSetOneOne()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetOneOne(SInt32 value) TWOWORDINLINE(0x21DF, 0x0A02);
-
-
-
- /*
- * LMGetMinusOne()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32) LMGetMinusOne(void) TWOWORDINLINE(0x2EB8, 0x0A06);
-
-
- /*
- * LMSetMinusOne()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetMinusOne(SInt32 value) TWOWORDINLINE(0x21DF, 0x0A06);
-
-
-
- /* Carbon Usage: use GetMenuTrackingData*/
+/*
+ * LMGetOneOne()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 ) LMGetOneOne(void) TWOWORDINLINE(0x2EB8, 0x0A02);
+
+
+/*
+ * LMSetOneOne()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetOneOne(SInt32 value) TWOWORDINLINE(0x21DF, 0x0A02);
+
+
+
+/*
+ * LMGetMinusOne()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 ) LMGetMinusOne(void) TWOWORDINLINE(0x2EB8, 0x0A06);
+
+
+/*
+ * LMSetMinusOne()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetMinusOne(SInt32 value) TWOWORDINLINE(0x21DF, 0x0A06);
+
+
+
+/* Carbon Usage: use GetMenuTrackingData*/
#if CALL_NOT_IN_CARBON
- /*
- * LMGetTopMenuItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetTopMenuItem(void) TWOWORDINLINE(0x3EB8, 0x0A0A);
-
-
- /* Carbon Usage: replaced by MDEF messages and GetMenuTrackingData API*/
- /*
- * LMSetTopMenuItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTopMenuItem(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A0A);
-
-
-
- /* Carbon Usage: use GetMenuTrackingData*/
- /*
- * LMGetAtMenuBottom()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetAtMenuBottom(void) TWOWORDINLINE(0x3EB8, 0x0A0C);
-
-
- /* Carbon Usage: replaced by MDEF messages and GetMenuTrackingData API*/
- /*
- * LMSetAtMenuBottom()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetAtMenuBottom(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A0C);
-
-
-
- /*
- Carbon usage: use GetMenuBar (which returns a newly allocated handle in
- the same format as that returned by LMGetMenuList; dispose with DisposeMenuBar)
- or GetRootMenu.
- */
- /*
- * LMGetMenuList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetMenuList(void) TWOWORDINLINE(0x2EB8, 0x0A1C);
-
-
- /*
- * LMSetMenuList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMenuList(Handle value) TWOWORDINLINE(0x21DF, 0x0A1C);
-
-
-
- /* Carbon usage: no replacement*/
- /*
- * LMGetMBarEnable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetMBarEnable(void) TWOWORDINLINE(0x3EB8, 0x0A20);
-
-
- /*
- * LMSetMBarEnable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMBarEnable(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A20);
-
-
-
- /* Carbon usage: no replacement*/
- /*
- * LMGetMenuFlash()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetMenuFlash(void) TWOWORDINLINE(0x3EB8, 0x0A24);
-
-
- /*
- * LMSetMenuFlash()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMenuFlash(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A24);
-
-
-
- /* LMGetTheMenu() moved to Menus.h */
- /*
- * LMSetTheMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTheMenu(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A26);
-
-
- /*
- * LMGetMBarHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(MBarHookUPP) LMGetMBarHook(void) TWOWORDINLINE(0x2EB8, 0x0A2C);
-
-
- /*
- * LMSetMBarHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMBarHook(MBarHookUPP value) TWOWORDINLINE(0x21DF, 0x0A2C);
-
-
-
- /*
- * LMGetMenuHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(MenuHookUPP) LMGetMenuHook(void) TWOWORDINLINE(0x2EB8, 0x0A30);
-
-
- /*
- * LMSetMenuHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMenuHook(MenuHookUPP value) TWOWORDINLINE(0x21DF, 0x0A30);
-
-
- /*
- * LMGetTopMapHndl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetTopMapHndl(void) TWOWORDINLINE(0x2EB8, 0x0A50);
-
-
- /*
- * LMSetTopMapHndl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTopMapHndl(Handle value) TWOWORDINLINE(0x21DF, 0x0A50);
-
-
-
- /*
- * LMGetSysMapHndl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetSysMapHndl(void) TWOWORDINLINE(0x2EB8, 0x0A54);
-
-
- /*
- * LMSetSysMapHndl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSysMapHndl(Handle value) TWOWORDINLINE(0x21DF, 0x0A54);
+/*
+ * LMGetTopMenuItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetTopMenuItem(void) TWOWORDINLINE(0x3EB8, 0x0A0A);
+
+
+/* Carbon Usage: replaced by MDEF messages and GetMenuTrackingData API*/
+/*
+ * LMSetTopMenuItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTopMenuItem(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A0A);
+
+
+
+/* Carbon Usage: use GetMenuTrackingData*/
+/*
+ * LMGetAtMenuBottom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetAtMenuBottom(void) TWOWORDINLINE(0x3EB8, 0x0A0C);
+
+
+/* Carbon Usage: replaced by MDEF messages and GetMenuTrackingData API*/
+/*
+ * LMSetAtMenuBottom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetAtMenuBottom(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A0C);
+
+
+
+/*
+ Carbon usage: use GetMenuBar (which returns a newly allocated handle in
+ the same format as that returned by LMGetMenuList; dispose with DisposeMenuBar)
+ or GetRootMenu.
+*/
+/*
+ * LMGetMenuList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetMenuList(void) TWOWORDINLINE(0x2EB8, 0x0A1C);
+
+
+/*
+ * LMSetMenuList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMenuList(Handle value) TWOWORDINLINE(0x21DF, 0x0A1C);
+
+
+
+/* Carbon usage: no replacement*/
+/*
+ * LMGetMBarEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetMBarEnable(void) TWOWORDINLINE(0x3EB8, 0x0A20);
+
+
+/*
+ * LMSetMBarEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMBarEnable(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A20);
+
+
+
+/* Carbon usage: no replacement*/
+/*
+ * LMGetMenuFlash()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetMenuFlash(void) TWOWORDINLINE(0x3EB8, 0x0A24);
+
+
+/*
+ * LMSetMenuFlash()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMenuFlash(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A24);
+
+
+
+/* LMGetTheMenu() moved to Menus.h */
+/*
+ * LMSetTheMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTheMenu(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A26);
+
+
+/*
+ * LMGetMBarHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( MBarHookUPP ) LMGetMBarHook(void) TWOWORDINLINE(0x2EB8, 0x0A2C);
+
+
+/*
+ * LMSetMBarHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMBarHook(MBarHookUPP value) TWOWORDINLINE(0x21DF, 0x0A2C);
+
+
+
+/*
+ * LMGetMenuHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( MenuHookUPP ) LMGetMenuHook(void) TWOWORDINLINE(0x2EB8, 0x0A30);
+
+
+/*
+ * LMSetMenuHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMenuHook(MenuHookUPP value) TWOWORDINLINE(0x21DF, 0x0A30);
+
+
+/*
+ * LMGetTopMapHndl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetTopMapHndl(void) TWOWORDINLINE(0x2EB8, 0x0A50);
+
+
+/*
+ * LMSetTopMapHndl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTopMapHndl(Handle value) TWOWORDINLINE(0x21DF, 0x0A50);
+
+
+
+/*
+ * LMGetSysMapHndl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetSysMapHndl(void) TWOWORDINLINE(0x2EB8, 0x0A54);
+
+
+/*
+ * LMSetSysMapHndl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSysMapHndl(Handle value) TWOWORDINLINE(0x21DF, 0x0A54);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetSysMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetSysMap(void) TWOWORDINLINE(0x3EB8, 0x0A58);
+/*
+ * LMGetSysMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetSysMap(void) TWOWORDINLINE(0x3EB8, 0x0A58);
- /*
- * LMSetSysMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSysMap(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A58);
+/*
+ * LMSetSysMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSysMap(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A58);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetCurMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetCurMap(void) TWOWORDINLINE(0x3EB8, 0x0A5A);
+/*
+ * LMGetCurMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetCurMap(void) TWOWORDINLINE(0x3EB8, 0x0A5A);
- /*
- * LMSetCurMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetCurMap(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A5A);
+/*
+ * LMSetCurMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetCurMap(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A5A);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetResLoad()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8) LMGetResLoad(void) TWOWORDINLINE(0x1EB8, 0x0A5E);
+/*
+ * LMGetResLoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 ) LMGetResLoad(void) TWOWORDINLINE(0x1EB8, 0x0A5E);
- /*
- * LMSetResLoad()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetResLoad(UInt8 value) TWOWORDINLINE(0x11DF, 0x0A5E);
+/*
+ * LMSetResLoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetResLoad(UInt8 value) TWOWORDINLINE(0x11DF, 0x0A5E);
- /*
- * LMGetResErr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetResErr(void) TWOWORDINLINE(0x3EB8, 0x0A60);
+/*
+ * LMGetResErr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetResErr(void) TWOWORDINLINE(0x3EB8, 0x0A60);
- /*
- * LMSetResErr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetResErr(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A60);
+/*
+ * LMSetResErr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetResErr(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A60);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetFScaleDisable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetFScaleDisable(void) TWOWORDINLINE(0x1EB8, 0x0A63);
-
-
- /*
- * LMSetFScaleDisable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetFScaleDisable(UInt8 value) TWOWORDINLINE(0x11DF, 0x0A63);
-
-
-
-
- /*
- * LMGetDeskHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetDeskHook(void) TWOWORDINLINE(0x2EB8, 0x0A6C);
-
-
- /*
- * LMSetDeskHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDeskHook(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A6C);
-
-
-
- /* Carbon Usage: Use TEGetDoTextHook.*/
- /*
- * LMGetTEDoText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetTEDoText(void) TWOWORDINLINE(0x2EB8, 0x0A70);
-
-
- /* Carbon Usage: Use TESetDoTextHook.*/
- /*
- * LMSetTEDoText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTEDoText(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A70);
-
-
-
- /* Carbon Usage: Use TEGetRecalcHook.*/
- /*
- * LMGetTERecal()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetTERecal(void) TWOWORDINLINE(0x2EB8, 0x0A74);
-
-
- /* Carbon Usage: Use TESetRecalcHook.*/
- /*
- * LMSetTERecal()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTERecal(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A74);
-
-
- /*
- * LMGetResumeProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetResumeProc(void) TWOWORDINLINE(0x2EB8, 0x0A8C);
-
-
- /*
- * LMSetResumeProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetResumeProc(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A8C);
-
-
- /*
- * LMGetANumber()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetANumber(void) TWOWORDINLINE(0x3EB8, 0x0A98);
-
-
- /*
- * LMSetANumber()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetANumber(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A98);
-
-
- /* Carbon Usage: Use GetAlertStage.*/
- /*
- * LMGetACount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetACount(void) TWOWORDINLINE(0x3EB8, 0x0A9A);
-
-
- /* Carbon Usage: Use ResetAlertStage.*/
- /*
- * LMSetACount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetACount(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A9A);
-
-
- /*
- * LMGetDABeeper()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetDABeeper(void) TWOWORDINLINE(0x2EB8, 0x0A9C);
-
-
- /*
- * LMSetDABeeper()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDABeeper(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A9C);
-
-
- /* Carbon Usage: use TEGetScrapLength*/
- /*
- * LMGetTEScrpLength()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt16) LMGetTEScrpLength(void) TWOWORDINLINE(0x3EB8, 0x0AB0);
-
-
- /* Carbon Usage: use TESetScrapLength*/
- /*
- * LMSetTEScrpLength()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTEScrpLength(UInt16 value) TWOWORDINLINE(0x31DF, 0x0AB0);
-
-
-
- /* Carbon Usage: use TEGetScrapHandle*/
- /*
- * LMGetTEScrpHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetTEScrpHandle(void) TWOWORDINLINE(0x2EB8, 0x0AB4);
-
-
- /* Carbon Usage: use TESetScrapHandle*/
- /*
- * LMSetTEScrpHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTEScrpHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0AB4);
-
-
-
- /*
- * LMGetAppParmHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetAppParmHandle(void) TWOWORDINLINE(0x2EB8, 0x0AEC);
-
-
- /*
- * LMSetAppParmHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetAppParmHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0AEC);
-
-
-
- /*
- * LMGetDSErrCode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetDSErrCode(void) TWOWORDINLINE(0x3EB8, 0x0AF0);
-
-
- /*
- * LMSetDSErrCode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDSErrCode(SInt16 value) TWOWORDINLINE(0x31DF, 0x0AF0);
-
-
-
- /*
- * LMGetResErrProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ResErrUPP) LMGetResErrProc(void) TWOWORDINLINE(0x2EB8, 0x0AF2);
-
-
- /*
- * LMSetResErrProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetResErrProc(ResErrUPP value) TWOWORDINLINE(0x21DF, 0x0AF2);
-
-
-
- /*
- * LMGetDlgFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetDlgFont(void) TWOWORDINLINE(0x3EB8, 0x0AFA);
-
-
- /* Carbon Usage: use SetDialogFont*/
- /*
- * LMSetDlgFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDlgFont(SInt16 value) TWOWORDINLINE(0x31DF, 0x0AFA);
-
-
- /*
- * LMGetATalkHk2()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetATalkHk2(void) TWOWORDINLINE(0x2EB8, 0x0B18);
-
-
- /*
- * LMSetATalkHk2()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetATalkHk2(Ptr value) TWOWORDINLINE(0x21DF, 0x0B18);
-
-
-
- /*
- * LMGetHWCfgFlags()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetHWCfgFlags(void) TWOWORDINLINE(0x3EB8, 0x0B22);
-
-
- /*
- * LMSetHWCfgFlags()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetHWCfgFlags(SInt16 value) TWOWORDINLINE(0x31DF, 0x0B22);
-
-
-
-
- /* Carbon Usage: use GetMenuTrackingData*/
- /*
- * LMGetMenuDisable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt32) LMGetMenuDisable(void) TWOWORDINLINE(0x2EB8, 0x0B54);
-
-
- /* Carbon Usage: use new MDEF messages*/
- /*
- * LMSetMenuDisable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMenuDisable(SInt32 value) TWOWORDINLINE(0x21DF, 0x0B54);
-
-
-
- /*
- * LMGetROMMapInsert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetROMMapInsert(void) TWOWORDINLINE(0x1EB8, 0x0B9E);
-
-
- /*
- * LMSetROMMapInsert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetROMMapInsert(UInt8 value) TWOWORDINLINE(0x11DF, 0x0B9E);
+/*
+ * LMGetFScaleDisable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetFScaleDisable(void) TWOWORDINLINE(0x1EB8, 0x0A63);
+
+
+/*
+ * LMSetFScaleDisable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetFScaleDisable(UInt8 value) TWOWORDINLINE(0x11DF, 0x0A63);
+
+
+
+
+/*
+ * LMGetDeskHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetDeskHook(void) TWOWORDINLINE(0x2EB8, 0x0A6C);
+
+
+/*
+ * LMSetDeskHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDeskHook(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A6C);
+
+
+
+/* Carbon Usage: Use TEGetDoTextHook.*/
+/*
+ * LMGetTEDoText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetTEDoText(void) TWOWORDINLINE(0x2EB8, 0x0A70);
+
+
+/* Carbon Usage: Use TESetDoTextHook.*/
+/*
+ * LMSetTEDoText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTEDoText(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A70);
+
+
+
+/* Carbon Usage: Use TEGetRecalcHook.*/
+/*
+ * LMGetTERecal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetTERecal(void) TWOWORDINLINE(0x2EB8, 0x0A74);
+
+
+/* Carbon Usage: Use TESetRecalcHook.*/
+/*
+ * LMSetTERecal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTERecal(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A74);
+
+
+/*
+ * LMGetResumeProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetResumeProc(void) TWOWORDINLINE(0x2EB8, 0x0A8C);
+
+
+/*
+ * LMSetResumeProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetResumeProc(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A8C);
+
+
+/*
+ * LMGetANumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetANumber(void) TWOWORDINLINE(0x3EB8, 0x0A98);
+
+
+/*
+ * LMSetANumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetANumber(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A98);
+
+
+/* Carbon Usage: Use GetAlertStage.*/
+/*
+ * LMGetACount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetACount(void) TWOWORDINLINE(0x3EB8, 0x0A9A);
+
+
+/* Carbon Usage: Use ResetAlertStage.*/
+/*
+ * LMSetACount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetACount(SInt16 value) TWOWORDINLINE(0x31DF, 0x0A9A);
+
+
+/*
+ * LMGetDABeeper()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetDABeeper(void) TWOWORDINLINE(0x2EB8, 0x0A9C);
+
+
+/*
+ * LMSetDABeeper()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDABeeper(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0A9C);
+
+
+/* Carbon Usage: use TEGetScrapLength*/
+/*
+ * LMGetTEScrpLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt16 ) LMGetTEScrpLength(void) TWOWORDINLINE(0x3EB8, 0x0AB0);
+
+
+/* Carbon Usage: use TESetScrapLength*/
+/*
+ * LMSetTEScrpLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTEScrpLength(UInt16 value) TWOWORDINLINE(0x31DF, 0x0AB0);
+
+
+
+/* Carbon Usage: use TEGetScrapHandle*/
+/*
+ * LMGetTEScrpHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetTEScrpHandle(void) TWOWORDINLINE(0x2EB8, 0x0AB4);
+
+
+/* Carbon Usage: use TESetScrapHandle*/
+/*
+ * LMSetTEScrpHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTEScrpHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0AB4);
+
+
+
+/*
+ * LMGetAppParmHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetAppParmHandle(void) TWOWORDINLINE(0x2EB8, 0x0AEC);
+
+
+/*
+ * LMSetAppParmHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetAppParmHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0AEC);
+
+
+
+/*
+ * LMGetDSErrCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetDSErrCode(void) TWOWORDINLINE(0x3EB8, 0x0AF0);
+
+
+/*
+ * LMSetDSErrCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDSErrCode(SInt16 value) TWOWORDINLINE(0x31DF, 0x0AF0);
+
+
+
+/*
+ * LMGetResErrProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ResErrUPP ) LMGetResErrProc(void) TWOWORDINLINE(0x2EB8, 0x0AF2);
+
+
+/*
+ * LMSetResErrProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetResErrProc(ResErrUPP value) TWOWORDINLINE(0x21DF, 0x0AF2);
+
+
+
+/*
+ * LMGetDlgFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetDlgFont(void) TWOWORDINLINE(0x3EB8, 0x0AFA);
+
+
+/* Carbon Usage: use SetDialogFont*/
+/*
+ * LMSetDlgFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDlgFont(SInt16 value) TWOWORDINLINE(0x31DF, 0x0AFA);
+
+
+/*
+ * LMGetATalkHk2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetATalkHk2(void) TWOWORDINLINE(0x2EB8, 0x0B18);
+
+
+/*
+ * LMSetATalkHk2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetATalkHk2(Ptr value) TWOWORDINLINE(0x21DF, 0x0B18);
+
+
+
+/*
+ * LMGetHWCfgFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetHWCfgFlags(void) TWOWORDINLINE(0x3EB8, 0x0B22);
+
+
+/*
+ * LMSetHWCfgFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetHWCfgFlags(SInt16 value) TWOWORDINLINE(0x31DF, 0x0B22);
+
+
+
+
+/* Carbon Usage: use GetMenuTrackingData*/
+/*
+ * LMGetMenuDisable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt32 ) LMGetMenuDisable(void) TWOWORDINLINE(0x2EB8, 0x0B54);
+
+
+/* Carbon Usage: use new MDEF messages*/
+/*
+ * LMSetMenuDisable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMenuDisable(SInt32 value) TWOWORDINLINE(0x21DF, 0x0B54);
+
+
+
+/*
+ * LMGetROMMapInsert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetROMMapInsert(void) TWOWORDINLINE(0x1EB8, 0x0B9E);
+
+
+/*
+ * LMSetROMMapInsert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetROMMapInsert(UInt8 value) TWOWORDINLINE(0x11DF, 0x0B9E);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetTmpResLoad()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8) LMGetTmpResLoad(void) TWOWORDINLINE(0x1EB8, 0x0B9F);
-
-
- /*
- * LMSetTmpResLoad()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetTmpResLoad(UInt8 value) TWOWORDINLINE(0x11DF, 0x0B9F);
-
-
-
- /*
- * LMGetIntlSpec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetIntlSpec(void) TWOWORDINLINE(0x2EB8, 0x0BA0);
-
-
- /*
- * LMSetIntlSpec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetIntlSpec(Ptr value) TWOWORDINLINE(0x21DF, 0x0BA0);
-
-
- /* LMGetWordRedraw and LMSetWordRedraw moved to TextEdit.h */
- /*
- * LMGetSysFontFam()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetSysFontFam(void) TWOWORDINLINE(0x3EB8, 0x0BA6);
-
-
- /*
- * LMSetSysFontFam()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSysFontFam(SInt16 value) TWOWORDINLINE(0x31DF, 0x0BA6);
-
-
- /*
- * LMGetSysFontSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16) LMGetSysFontSize(void) TWOWORDINLINE(0x3EB8, 0x0BA8);
-
-
- /*
- * LMSetSysFontSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSysFontSize(SInt16 value) TWOWORDINLINE(0x31DF, 0x0BA8);
-
-
-
- /* Carbon Usge: use GetMBarHeight*/
+/*
+ * LMGetTmpResLoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 ) LMGetTmpResLoad(void) TWOWORDINLINE(0x1EB8, 0x0B9F);
+
+
+/*
+ * LMSetTmpResLoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetTmpResLoad(UInt8 value) TWOWORDINLINE(0x11DF, 0x0B9F);
+
+
+
+/*
+ * LMGetIntlSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetIntlSpec(void) TWOWORDINLINE(0x2EB8, 0x0BA0);
+
+
+/*
+ * LMSetIntlSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetIntlSpec(Ptr value) TWOWORDINLINE(0x21DF, 0x0BA0);
+
+
+/* LMGetWordRedraw and LMSetWordRedraw moved to TextEdit.h */
+/*
+ * LMGetSysFontFam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetSysFontFam(void) TWOWORDINLINE(0x3EB8, 0x0BA6);
+
+
+/*
+ * LMSetSysFontFam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSysFontFam(SInt16 value) TWOWORDINLINE(0x31DF, 0x0BA6);
+
+
+/*
+ * LMGetSysFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 ) LMGetSysFontSize(void) TWOWORDINLINE(0x3EB8, 0x0BA8);
+
+
+/*
+ * LMSetSysFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSysFontSize(SInt16 value) TWOWORDINLINE(0x31DF, 0x0BA8);
+
+
+
+/* Carbon Usge: use GetMBarHeight*/
#if CALL_NOT_IN_CARBON
- /*
- * LMGetMBarHeight()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetMBarHeight(void) TWOWORDINLINE(0x3EB8, 0x0BAA);
-
-
- /* Carbon Usage: use Hide/ShowMenuBar*/
- /*
- * LMSetMBarHeight()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMBarHeight(SInt16 value) TWOWORDINLINE(0x31DF, 0x0BAA);
-
-
-
- /*
- * LMGetTESysJust()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetTESysJust(void) TWOWORDINLINE(0x3EB8, 0x0BAC);
-
-
- /*
- * LMSetTESysJust()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTESysJust(SInt16 value) TWOWORDINLINE(0x31DF, 0x0BAC);
-
-
-
-
- /*
- * LMGetMMU32Bit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetMMU32Bit(void) TWOWORDINLINE(0x1EB8, 0x0CB2);
-
-
- /*
- * LMSetMMU32Bit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMMU32Bit(UInt8 value) TWOWORDINLINE(0x11DF, 0x0CB2);
-
-
-
-
- /*
- * LMGetDeskCPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(PixPatHandle) LMGetDeskCPat(void) TWOWORDINLINE(0x2EB8, 0x0CD8);
-
-
- /*
- * LMSetDeskCPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDeskCPat(PixPatHandle value) TWOWORDINLINE(0x21DF, 0x0CD8);
-
-
-
- /*
- * LMGetTimeDBRA()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetTimeDBRA(void) TWOWORDINLINE(0x3EB8, 0x0D00);
-
-
- /*
- * LMSetTimeDBRA()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTimeDBRA(SInt16 value) TWOWORDINLINE(0x31DF, 0x0D00);
-
-
-
- /*
- * LMGetTimeSCCDB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetTimeSCCDB(void) TWOWORDINLINE(0x3EB8, 0x0D02);
-
-
- /*
- * LMSetTimeSCCDB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTimeSCCDB(SInt16 value) TWOWORDINLINE(0x31DF, 0x0D02);
-
-
-
- /*
- * LMGetJVBLTask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetJVBLTask(void) TWOWORDINLINE(0x2EB8, 0x0D28);
-
-
- /*
- * LMSetJVBLTask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetJVBLTask(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0D28);
-
-
-
- /*
- * LMGetSynListHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetSynListHandle(void) TWOWORDINLINE(0x2EB8, 0x0D32);
-
-
- /*
- * LMSetSynListHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetSynListHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0D32);
-
-
-
- /*
- * LMGetMenuCInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(MCTableHandle) LMGetMenuCInfo(void) TWOWORDINLINE(0x2EB8, 0x0D50);
-
-
- /*
- * LMSetMenuCInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMenuCInfo(MCTableHandle value) TWOWORDINLINE(0x21DF, 0x0D50);
-
-
-
- /*
- * LMGetJDTInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetJDTInstall(void) TWOWORDINLINE(0x2EB8, 0x0D9C);
-
-
- /*
- * LMSetJDTInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetJDTInstall(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0D9C);
-
-
-
- /*
- * LMGetTimeSCSIDB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt16) LMGetTimeSCSIDB(void) TWOWORDINLINE(0x3EB8, 0x0B24);
-
-
- /*
- * LMSetTimeSCSIDB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetTimeSCSIDB(SInt16 value) TWOWORDINLINE(0x31DF, 0x0B24);
-
-
+/*
+ * LMGetMBarHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetMBarHeight(void) TWOWORDINLINE(0x3EB8, 0x0BAA);
+
+
+/* Carbon Usage: use Hide/ShowMenuBar*/
+/*
+ * LMSetMBarHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMBarHeight(SInt16 value) TWOWORDINLINE(0x31DF, 0x0BAA);
+
+
+
+/*
+ * LMGetTESysJust()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetTESysJust(void) TWOWORDINLINE(0x3EB8, 0x0BAC);
+
+
+/*
+ * LMSetTESysJust()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTESysJust(SInt16 value) TWOWORDINLINE(0x31DF, 0x0BAC);
+
+
+
+
+/*
+ * LMGetMMU32Bit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetMMU32Bit(void) TWOWORDINLINE(0x1EB8, 0x0CB2);
+
+/*
+ * LMSetMMU32Bit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMMU32Bit(UInt8 value) TWOWORDINLINE(0x11DF, 0x0CB2);
+
+
+
+
+/*
+ * LMGetDeskCPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( PixPatHandle ) LMGetDeskCPat(void) TWOWORDINLINE(0x2EB8, 0x0CD8);
+
+
+/*
+ * LMSetDeskCPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDeskCPat(PixPatHandle value) TWOWORDINLINE(0x21DF, 0x0CD8);
+
+
+
+/*
+ * LMGetTimeDBRA()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetTimeDBRA(void) TWOWORDINLINE(0x3EB8, 0x0D00);
+
+
+/*
+ * LMSetTimeDBRA()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTimeDBRA(SInt16 value) TWOWORDINLINE(0x31DF, 0x0D00);
- /**************************************************************************************
- MORE COMPLEX LOWMEM ACCESSORS
- **************************************************************************************/
+/*
+ * LMGetTimeSCCDB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetTimeSCCDB(void) TWOWORDINLINE(0x3EB8, 0x0D02);
+
+
+/*
+ * LMSetTimeSCCDB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTimeSCCDB(SInt16 value) TWOWORDINLINE(0x31DF, 0x0D02);
+
+
+
+/*
+ * LMGetJVBLTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetJVBLTask(void) TWOWORDINLINE(0x2EB8, 0x0D28);
+
+
+/*
+ * LMSetJVBLTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetJVBLTask(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0D28);
+
+
+
+/*
+ * LMGetSynListHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetSynListHandle(void) TWOWORDINLINE(0x2EB8, 0x0D32);
+
+
+/*
+ * LMSetSynListHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetSynListHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0D32);
+
+
+
+/*
+ * LMGetMenuCInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( MCTableHandle ) LMGetMenuCInfo(void) TWOWORDINLINE(0x2EB8, 0x0D50);
+
+
+/*
+ * LMSetMenuCInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMenuCInfo(MCTableHandle value) TWOWORDINLINE(0x21DF, 0x0D50);
+
+
+
+/*
+ * LMGetJDTInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetJDTInstall(void) TWOWORDINLINE(0x2EB8, 0x0D9C);
+
+
+/*
+ * LMSetJDTInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetJDTInstall(UniversalProcPtr value) TWOWORDINLINE(0x21DF, 0x0D9C);
+
+
+
+/*
+ * LMGetTimeSCSIDB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt16 ) LMGetTimeSCSIDB(void) TWOWORDINLINE(0x3EB8, 0x0B24);
+
+
+/*
+ * LMSetTimeSCSIDB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetTimeSCSIDB(SInt16 value) TWOWORDINLINE(0x31DF, 0x0B24);
+
+
+
+
+/**************************************************************************************
+
+ MORE COMPLEX LOWMEM ACCESSORS
+
+**************************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
- /**************************************************************************************
- "BIG DATA"
-
- These lowmem accessors access big (> 4 bytes) values.
- **************************************************************************************/
+/**************************************************************************************
+ "BIG DATA"
+
+ These lowmem accessors access big (> 4 bytes) values.
+**************************************************************************************/
#define LMGetDSAlertRect(dsAlertRectValue) (*(dsAlertRectValue) = * (Rect*) 0x03F8)
#define LMSetDSAlertRect(dsAlertRectValue) ((* (Rect *) 0x03F8) = *(dsAlertRectValue))
#define LMGetDragPattern(dragPatternValue) (*(dragPatternValue) = * (Pattern *) 0x0A34)
@@ -3607,11 +3607,11 @@ extern "C" {
#define LMGetDTQueue() ( (QHdrPtr) 0x0D92)
#define LMSetDTQueue(dtQueueValue) ((* (QHdrPtr) 0x0D92) = *(QHdrPtr)(dtQueueValue))
#define LMGetFSQHdr() ( (QHdrPtr) 0x0360)
- /**************************************************************************************
- "BLOCKMOVE ACCESSORS"
-
- These lowmem accessors use the BlockMove to set
- **************************************************************************************/
+/**************************************************************************************
+ "BLOCKMOVE ACCESSORS"
+
+ These lowmem accessors use the BlockMove to set
+**************************************************************************************/
#define LMGetCurApName() ((StringPtr) 0x0910)
#define LMSetCurApName(curApNameValue) (BlockMoveData((Ptr)(curApNameValue), (Ptr)0x0910, sizeof(Str31)))
#define LMGetSysResName() ( (StringPtr) 0x0AD8)
@@ -3624,16 +3624,16 @@ extern "C" {
#define LMSetToolScratch(toolScratchValue) (BlockMoveData((Ptr)(toolScratchValue), (Ptr) 0x09CE, 8))
#define LMGetApplScratch() ((Ptr) 0x0A78)
#define LMSetApplScratch(applScratchValue) (BlockMoveData((Ptr) (applScratchValue), (Ptr) 0x0A78, 12))
- /**************************************************************************************
- "INDEXED ACCESSORS"
-
- These lowmem accessors take an index parameter to get/set an indexed
- lowmem global.
- **************************************************************************************/
- /*************************************************************************************
- The DAString accessors are gone with Carbon. Please use ParamText and
- GetParamText instead.
- **************************************************************************************/
+/**************************************************************************************
+ "INDEXED ACCESSORS"
+
+ These lowmem accessors take an index parameter to get/set an indexed
+ lowmem global.
+**************************************************************************************/
+/*************************************************************************************
+ The DAString accessors are gone with Carbon. Please use ParamText and
+ GetParamText instead.
+**************************************************************************************/
#define LMGetDAStrings(whichString) ( ((StringHandle*)0x0AA0)[whichString] )
#define LMSetDAStrings(stringsValue, whichString) ( ((StringHandle*)0x0AA0)[whichString] = (stringsValue) )
#define LMGetLvl2DT(vectorNumber) ( ((UniversalProcPtr*)0x01B2)[vectorNumber] )
@@ -3642,762 +3642,762 @@ extern "C" {
#define LMSetExtStsDT(extStsDTValue, vectorNumber) ( ((UniversalProcPtr*)0x02BE)[vectorNumber] = (extStsDTValue) )
#else
- /**************************************************************************************
- "BIG DATA"
-
- These lowmem accessors access big (> 4 bytes) values.
- **************************************************************************************/
+/**************************************************************************************
+ "BIG DATA"
+
+ These lowmem accessors access big (> 4 bytes) values.
+**************************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * LMGetDSAlertRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMGetDSAlertRect(Rect * dsAlertRectValue);
-
-
- /*
- * LMSetDSAlertRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDSAlertRect(const Rect * dsAlertRectValue);
-
-
- /*
- * LMGetDragPattern()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMGetDragPattern(Pattern * dragPatternValue);
-
-
- /*
- * LMSetDragPattern()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDragPattern(const Pattern * dragPatternValue);
-
-
- /*
- * LMGetDeskPattern()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMGetDeskPattern(Pattern * deskPatternValue);
-
-
- /*
- * LMSetDeskPattern()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDeskPattern(const Pattern * deskPatternValue);
-
-
- /*
- * LMGetEventQueue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr) LMGetEventQueue(void);
-
-
- /*
- * LMSetEventQueue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetEventQueue(QHdrPtr eventQueueValue);
-
-
-
- /*
- * LMGetVBLQueue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr) LMGetVBLQueue(void);
-
-
- /*
- * LMSetVBLQueue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetVBLQueue(QHdrPtr vblQueueValue);
-
-
- /*
- * LMGetDrvQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr) LMGetDrvQHdr(void);
-
-
- /*
- * LMSetDrvQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDrvQHdr(QHdrPtr drvQHdrValue);
-
-
- /*
- * LMGetVCBQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr) LMGetVCBQHdr(void);
-
-
- /*
- * LMSetVCBQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetVCBQHdr(QHdrPtr vcbQHdrValue);
-
-
- /*
- * LMGetDTQueue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr) LMGetDTQueue(void);
-
-
- /*
- * LMSetDTQueue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDTQueue(QHdrPtr dtQueueValue);
-
-
- /*
- * LMGetFSQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr) LMGetFSQHdr(void);
-
-
- /**************************************************************************************
- "BLOCKMOVE ACCESSORS"
-
- These lowmem accessors use the BlockMove to set
- **************************************************************************************/
+/*
+ * LMGetDSAlertRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMGetDSAlertRect(Rect * dsAlertRectValue);
+
+
+/*
+ * LMSetDSAlertRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDSAlertRect(const Rect * dsAlertRectValue);
+
+
+/*
+ * LMGetDragPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMGetDragPattern(Pattern * dragPatternValue);
+
+
+/*
+ * LMSetDragPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDragPattern(const Pattern * dragPatternValue);
+
+
+/*
+ * LMGetDeskPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMGetDeskPattern(Pattern * deskPatternValue);
+
+
+/*
+ * LMSetDeskPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDeskPattern(const Pattern * deskPatternValue);
+
+
+/*
+ * LMGetEventQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr ) LMGetEventQueue(void);
+
+
+/*
+ * LMSetEventQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetEventQueue(QHdrPtr eventQueueValue);
+
+
+
+/*
+ * LMGetVBLQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr ) LMGetVBLQueue(void);
+
+
+/*
+ * LMSetVBLQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetVBLQueue(QHdrPtr vblQueueValue);
+
+
+/*
+ * LMGetDrvQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr ) LMGetDrvQHdr(void);
+
+
+/*
+ * LMSetDrvQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDrvQHdr(QHdrPtr drvQHdrValue);
+
+
+/*
+ * LMGetVCBQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr ) LMGetVCBQHdr(void);
+
+
+/*
+ * LMSetVCBQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetVCBQHdr(QHdrPtr vcbQHdrValue);
+
+
+/*
+ * LMGetDTQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr ) LMGetDTQueue(void);
+
+
+/*
+ * LMSetDTQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDTQueue(QHdrPtr dtQueueValue);
+
+
+/*
+ * LMGetFSQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr ) LMGetFSQHdr(void);
+
+
+/**************************************************************************************
+ "BLOCKMOVE ACCESSORS"
+
+ These lowmem accessors use the BlockMove to set
+**************************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetCurApName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringPtr) LMGetCurApName(void);
-
-
- /*
- * LMSetCurApName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetCurApName(ConstStr31Param curApNameValue);
-
-
- /*
- * LMGetSysResName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringPtr) LMGetSysResName(void);
-
-
- /*
- * LMSetSysResName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetSysResName(ConstStr15Param sysResNameValue);
-
-
- /*
- * LMGetFinderName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringPtr) LMGetFinderName(void);
-
-
- /*
- * LMSetFinderName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetFinderName(ConstStr15Param finderNameValue);
+/*
+ * LMGetCurApName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringPtr ) LMGetCurApName(void);
+
+
+/*
+ * LMSetCurApName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetCurApName(ConstStr31Param curApNameValue);
+
+
+/*
+ * LMGetSysResName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringPtr ) LMGetSysResName(void);
+
+
+/*
+ * LMSetSysResName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetSysResName(ConstStr15Param sysResNameValue);
+
+
+/*
+ * LMGetFinderName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringPtr ) LMGetFinderName(void);
+
+
+/*
+ * LMSetFinderName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetFinderName(ConstStr15Param finderNameValue);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetScratch20()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetScratch20(void);
-
-
- /*
- * LMSetScratch20()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetScratch20(const void * scratch20Value);
+/*
+ * LMGetScratch20()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetScratch20(void);
+
+
+/*
+ * LMSetScratch20()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetScratch20(const void * scratch20Value);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetToolScratch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetToolScratch(void);
+/*
+ * LMGetToolScratch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetToolScratch(void);
- /*
- * LMSetToolScratch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetToolScratch(const void * toolScratchValue);
+/*
+ * LMSetToolScratch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetToolScratch(const void * toolScratchValue);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetApplScratch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr) LMGetApplScratch(void);
-
-
- /*
- * LMSetApplScratch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetApplScratch(const void * applScratchValue);
-
-
-
- /**************************************************************************************
- "INDEXED ACCESSORS"
-
- These lowmem accessors take an index parameter to get/set an indexed
- lowmem global.
- **************************************************************************************/
-
- /* Carbon Usage: use GetParamText*/
- /*
- * LMGetDAStrings()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(StringHandle) LMGetDAStrings(short whichString);
-
-
- /* Carbon Usage: use ParamText*/
- /*
- * LMSetDAStrings()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetDAStrings(StringHandle stringsValue, short whichString);
+/*
+ * LMGetApplScratch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr ) LMGetApplScratch(void);
+
+
+/*
+ * LMSetApplScratch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetApplScratch(const void * applScratchValue);
+
+
+
+/**************************************************************************************
+ "INDEXED ACCESSORS"
+
+ These lowmem accessors take an index parameter to get/set an indexed
+ lowmem global.
+**************************************************************************************/
+
+/* Carbon Usage: use GetParamText*/
+/*
+ * LMGetDAStrings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( StringHandle ) LMGetDAStrings(short whichString);
+
+
+/* Carbon Usage: use ParamText*/
+/*
+ * LMSetDAStrings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetDAStrings(StringHandle stringsValue, short whichString);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetLvl2DT()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UniversalProcPtr) LMGetLvl2DT(short vectorNumber);
+/*
+ * LMGetLvl2DT()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UniversalProcPtr ) LMGetLvl2DT(short vectorNumber);
- /*
- * LMSetLvl2DT()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetLvl2DT(UniversalProcPtr Lvl2DTValue, short vectorNumber);
+/*
+ * LMSetLvl2DT()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetLvl2DT(UniversalProcPtr Lvl2DTValue, short vectorNumber);
#if CALL_NOT_IN_CARBON
- /*
- * LMGetExtStsDT()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr) LMGetExtStsDT(short vectorNumber);
-
-
- /*
- * LMSetExtStsDT()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetExtStsDT(UniversalProcPtr ExtStsDTValue, short vectorNumber);
+/*
+ * LMGetExtStsDT()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr ) LMGetExtStsDT(short vectorNumber);
+
+
+/*
+ * LMSetExtStsDT()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetExtStsDT(UniversalProcPtr ExtStsDTValue, short vectorNumber);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_CPU_68K && !TARGET_RT_MAC_CFM */
- /**************************************************************************************
- "Missing Accessors"
+/**************************************************************************************
+ "Missing Accessors"
+
+ These lowmem accessors are not in the original InterfaceLib. They were
+ added to InterfaceLib in Mac OS 8.5. In Universal Interfaces 3.2 they
+ were defined via a macro. In you want to use these functions on a pre-8.5
+ systems, you must write your own macros to override the function prototype
+ or write your own implementation.
+
+**************************************************************************************/
- These lowmem accessors are not in the original InterfaceLib. They were
- added to InterfaceLib in Mac OS 8.5. In Universal Interfaces 3.2 they
- were defined via a macro. In you want to use these functions on a pre-8.5
- systems, you must write your own macros to override the function prototype
- or write your own implementation.
- **************************************************************************************/
+#if CALL_NOT_IN_CARBON
+/*
+ * LMSetMouseTemp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMouseTemp(Point value) TWOWORDINLINE(0x21DF, 0x0828);
-#if CALL_NOT_IN_CARBON
- /*
- * LMSetMouseTemp()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMouseTemp(Point value) TWOWORDINLINE(0x21DF, 0x0828);
-
-
-
- /* accesses "MTemp"*/
- /*
- * LMGetMouseTemp()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Point) LMGetMouseTemp(void) TWOWORDINLINE(0x2EB8, 0x0828);
-
-
- /*
- accesses "MBState"
- Carbon Usage: use Button()
- */
- /*
- * LMGetMouseButtonState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetMouseButtonState(void) TWOWORDINLINE(0x1EB8, 0x0172);
-
-
- /*
- * LMSetMouseButtonState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMouseButtonState(UInt8 value) TWOWORDINLINE(0x11DF, 0x0172);
-
-
- /*
- accesses "RawMouse"
- Carbon Usage: use GetGlobalMouse
- */
- /*
- * LMGetRawMouseLocation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Point) LMGetRawMouseLocation(void) TWOWORDINLINE(0x2EB8, 0x082C);
-
-
- /* Carbon Usage: use GetGlobalMouse*/
- /*
- * LMSetRawMouseLocation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetRawMouseLocation(Point value) TWOWORDINLINE(0x21DF, 0x082C);
-
-
-
- /*
- accesses "Mouse"
- Carbon Usage: use GetGlobalMouse
- */
- /*
- * LMGetMouseLocation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Point) LMGetMouseLocation(void) TWOWORDINLINE(0x2EB8, 0x0830);
-
-
- /*
- * LMSetMouseLocation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMouseLocation(Point value) TWOWORDINLINE(0x21DF, 0x0830);
-
-
- /* accesses "TheCrsr"*/
- /*
- * LMGetTheCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void) LMGetTheCursor(Cursor * currentCursor);
-
-
- /*
- * LMSetTheCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void) LMSetTheCursor(const Cursor * newCursor);
-
-
-
- /* accesses "HiHeapMark"*/
+
+/* accesses "MTemp"*/
+/*
+ * LMGetMouseTemp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Point ) LMGetMouseTemp(void) TWOWORDINLINE(0x2EB8, 0x0828);
+
+
+/*
+ accesses "MBState"
+ Carbon Usage: use Button()
+*/
+/*
+ * LMGetMouseButtonState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetMouseButtonState(void) TWOWORDINLINE(0x1EB8, 0x0172);
+
+
+/*
+ * LMSetMouseButtonState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMouseButtonState(UInt8 value) TWOWORDINLINE(0x11DF, 0x0172);
+
+
+/*
+ accesses "RawMouse"
+ Carbon Usage: use GetGlobalMouse
+*/
+/*
+ * LMGetRawMouseLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Point ) LMGetRawMouseLocation(void) TWOWORDINLINE(0x2EB8, 0x082C);
+
+
+/* Carbon Usage: use GetGlobalMouse*/
+/*
+ * LMSetRawMouseLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetRawMouseLocation(Point value) TWOWORDINLINE(0x21DF, 0x082C);
+
+
+
+/*
+ accesses "Mouse"
+ Carbon Usage: use GetGlobalMouse
+*/
+/*
+ * LMGetMouseLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Point ) LMGetMouseLocation(void) TWOWORDINLINE(0x2EB8, 0x0830);
+
+
+/*
+ * LMSetMouseLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMouseLocation(Point value) TWOWORDINLINE(0x21DF, 0x0830);
+
+
+/* accesses "TheCrsr"*/
+/*
+ * LMGetTheCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void ) LMGetTheCursor(Cursor * currentCursor);
+
+
+/*
+ * LMSetTheCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void ) LMSetTheCursor(const Cursor * newCursor);
+
+
+
+/* accesses "HiHeapMark"*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetHighHeapMark()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetHighHeapMark(void) TWOWORDINLINE(0x2EB8, 0x0BAE);
-
-
- /*
- * LMSetHighHeapMark()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetHighHeapMark(Ptr value) TWOWORDINLINE(0x21DF, 0x0BAE);
-
-
-
- /* accesses "StkLowPt"*/
- /*
- * LMGetStackLowPoint()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetStackLowPoint(void) TWOWORDINLINE(0x2EB8, 0x0110);
-
-
- /*
- * LMSetStackLowPoint()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetStackLowPoint(Ptr value) TWOWORDINLINE(0x21DF, 0x0110);
-
-
-
- /* accesses "ROMMapHndl"*/
+/*
+ * LMGetHighHeapMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetHighHeapMark(void) TWOWORDINLINE(0x2EB8, 0x0BAE);
+
+
+/*
+ * LMSetHighHeapMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetHighHeapMark(Ptr value) TWOWORDINLINE(0x21DF, 0x0BAE);
+
+
+
+/* accesses "StkLowPt"*/
+/*
+ * LMGetStackLowPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetStackLowPoint(void) TWOWORDINLINE(0x2EB8, 0x0110);
+
+
+/*
+ * LMSetStackLowPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetStackLowPoint(Ptr value) TWOWORDINLINE(0x21DF, 0x0110);
+
+
+
+/* accesses "ROMMapHndl"*/
#if CALL_NOT_IN_CARBON
- /*
- * LMGetROMMapHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle) LMGetROMMapHandle(void) TWOWORDINLINE(0x2EB8, 0x0B06);
-
-
- /*
- * LMSetROMMapHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetROMMapHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0B06);
-
-
-
- /* accesses "UnitNtryCnt"*/
- /*
- * LMGetUnitTableEntryCount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short) LMGetUnitTableEntryCount(void) TWOWORDINLINE(0x3EB8, 0x01D2);
-
-
- /*
- * LMSetUnitTableEntryCount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetUnitTableEntryCount(short value) TWOWORDINLINE(0x31DF, 0x01D2);
-
-
-
- /* accesses "FmtDefaults"*/
+/*
+ * LMGetROMMapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle ) LMGetROMMapHandle(void) TWOWORDINLINE(0x2EB8, 0x0B06);
+
+
+/*
+ * LMSetROMMapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetROMMapHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0B06);
+
+
+
+/* accesses "UnitNtryCnt"*/
+/*
+ * LMGetUnitTableEntryCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short ) LMGetUnitTableEntryCount(void) TWOWORDINLINE(0x3EB8, 0x01D2);
+
+
+/*
+ * LMSetUnitTableEntryCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetUnitTableEntryCount(short value) TWOWORDINLINE(0x31DF, 0x01D2);
+
+
+
+/* accesses "FmtDefaults"*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LMGetDiskFormatingHFSDefaults()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr) LMGetDiskFormatingHFSDefaults(void) TWOWORDINLINE(0x2EB8, 0x039E);
+/*
+ * LMGetDiskFormatingHFSDefaults()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr ) LMGetDiskFormatingHFSDefaults(void) TWOWORDINLINE(0x2EB8, 0x039E);
- /*
- * LMSetDiskFormatingHFSDefaults()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void) LMSetDiskFormatingHFSDefaults(Ptr value) TWOWORDINLINE(0x21DF, 0x039E);
+/*
+ * LMSetDiskFormatingHFSDefaults()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void ) LMSetDiskFormatingHFSDefaults(Ptr value) TWOWORDINLINE(0x21DF, 0x039E);
- /* accesses "PortAUse"*/
+/* accesses "PortAUse"*/
#if CALL_NOT_IN_CARBON
- /*
- * LMGetPortAInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt8) LMGetPortAInfo(void) TWOWORDINLINE(0x1EB8, 0x0290);
-
-
- /*
- * LMSetPortAInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetPortAInfo(UInt8 value) TWOWORDINLINE(0x11DF, 0x0290);
-
-
-
- /*
- * LMGetMBTicks()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long) LMGetMBTicks(void) TWOWORDINLINE(0x2EB8, 0x016E);
-
-
- /*
- * LMSetMBTicks()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetMBTicks(long value) TWOWORDINLINE(0x21DF, 0x016E);
-
-
-
- /*
- * LMGetKeyTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long) LMGetKeyTime(void) TWOWORDINLINE(0x2EB8, 0x0186);
-
-
- /*
- * LMSetKeyTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void) LMSetKeyTime(long value) TWOWORDINLINE(0x21DF, 0x0186);
+/*
+ * LMGetPortAInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt8 ) LMGetPortAInfo(void) TWOWORDINLINE(0x1EB8, 0x0290);
+
+
+/*
+ * LMSetPortAInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetPortAInfo(UInt8 value) TWOWORDINLINE(0x11DF, 0x0290);
+
+
+
+/*
+ * LMGetMBTicks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long ) LMGetMBTicks(void) TWOWORDINLINE(0x2EB8, 0x016E);
+
+
+/*
+ * LMSetMBTicks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetMBTicks(long value) TWOWORDINLINE(0x21DF, 0x016E);
+
+
+
+/*
+ * LMGetKeyTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long ) LMGetKeyTime(void) TWOWORDINLINE(0x2EB8, 0x0186);
+
+
+/*
+ * LMSetKeyTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void ) LMSetKeyTime(long value) TWOWORDINLINE(0x21DF, 0x0186);
@@ -4406,11 +4406,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MacApplication.h b/include/qt/MacApplication.h
index 8bff4880c..84ade9edc 100644
--- a/include/qt/MacApplication.h
+++ b/include/qt/MacApplication.h
@@ -1,17 +1,17 @@
/*
File: MacApplication.h
-
+
Contains: Application-level APIs
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACAPPLICATION__
#define __MACAPPLICATION__
@@ -48,475 +48,474 @@ extern "C" {
#endif
- /*
- * Summary:
- * Controls the presentation of system-provided user interface
- * elements.
- *
- * Discussion:
- * Note that the system UI mode is a per-process state. Switching
- * from a process that is suppressing system UI to another process
- * that is not will cause system UI elements to become visible
- * automatically. Switching back to the first process will suppress
- * system UI elements again.
- */
- enum {
-
- /*
- * In this mode, all standard system UI elements are visible.
- */
- kUIModeNormal = 0,
-
- /*
- * In this mode, system UI elements which cover the "content area" of
- * the screen (the area other than the menubar) are hidden. However,
- * these elements may automatically show themselves in response to
- * mouse movements or other user activity; specifically, the Dock
- * will still show itself automatically when the mouse moves into the
- * Dock's auto-show region.
- */
- kUIModeContentSuppressed = 1,
-
- /*
- * In this mode, system UI elements which cover the "content area" of
- * the screen (the area other than the menubar) are hidden. Unlike
- * kUIModeContentSuppressed, most UI elements will not automatically
- * show themselves in this mode.
- */
- kUIModeContentHidden = 2,
-
- /*
- * In this mode, all system UI elements, including the menubar, are
- * hidden. Most system UI elements will not automatically show
- * themselves in this mode. The application may request that the
- * menubar automatically show itself while in this mode by passing
- * the kUIOptionAutoShowMenuBar flag to SetSystemUIMode.
- */
- kUIModeAllHidden = 3
- };
-
- typedef UInt32 SystemUIMode;
-
- /*
- * Summary:
- * Controls optional behavior of system-provided user interface
- * elements.
- */
- enum
- {
-
- /*
- * Requests that the menubar automatically show itself when the user
- * moves the mouse into the screen area that would ordinarily be
- * occupied by the menubar. Only valid with kUIModeAllHidden.
- */
- kUIOptionAutoShowMenuBar = 1 << 0,
-
- /*
- * Disables all items in the Apple menu. Valid for all modes.
- */
- kUIOptionDisableAppleMenu = 1 << 2,
-
- /*
- * The active application may not be changed while this process is
- * active. Currently disables the Command-Tab and Command-Shift-Tab
- * key sequences to switch the active process, and the global window
- * rotation key sequence selected by the user in the Keyboard
- * preference pane. SetFrontProcess may still be used to explicitly
- * switch the active process. Only valid with modes other than
- * kUIModeNormal.
- */
- kUIOptionDisableProcessSwitch = 1 << 3,
-
- /*
- * The Force Quit window may not be displayed while this process is
- * active. Currently disables the Command-Option-Escape key sequence
- * to open the Force Quit window and the Force Quit menu item in the
- * Apple menu. Only valid with modes other than kUIModeNormal.
- */
- kUIOptionDisableForceQuit = 1 << 4,
-
- /*
- * The current login session may not be terminated while this process
- * is active. Currently disables the Power key and the Restart, Shut
- * Down, and Log Out menu items in the Apple menu. Only valid with
- * modes other than kUIModeNormal.
- */
- kUIOptionDisableSessionTerminate = 1 << 5
- };
-
- typedef OptionBits SystemUIOptions;
- /*
- * SetSystemUIMode()
- *
- * Summary:
- * Sets the presentation mode for system-provided user interface
- * elements.
- *
- * Discussion:
- * The presentation mode of an application determines which
- * system-provided user interface elements are visible on thes
- * screen. When the frontmost application changes its presentation
- * mode, a kEventAppSystemUIModeChanged Carbon event is sent to all
- * applications that have registered for the event. This event is
- * also sent when an application is activated; it contains the newly
- * active application's presentation mode.
- *
- * Parameters:
- *
- * inMode:
- * The new mode.
- *
- * inOptions:
- * Options controlling how the new mode behaves.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetSystemUIMode(
- SystemUIMode inMode,
- SystemUIOptions inOptions);
-
-
- /*
- * GetSystemUIMode()
- *
- * Summary:
- * Returns the current presentation mode of the application.
- *
- * Parameters:
- *
- * outMode:
- * On exit, contains the current mode. You may pass NULL if you
- * don't need this information.
- *
- * outOptions:
- * On exit, contains the current options for the mode. You may
- * pass NULL if you don't need this information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- GetSystemUIMode(
- SystemUIMode * outMode, /* can be NULL */
- SystemUIOptions * outOptions); /* can be NULL */
-
-
- /*
- * HIApplicationGetCurrent()
- *
- * Discussion:
- * Returns the HIObjectRef of the currently running application
- * object. This HIObject's EventTargetRef is what will be returned
- * from GetApplicationEventTarget.
- *
- * Result:
- * The HIObjectRef of the currently running application object.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(HIObjectRef)
- HIApplicationGetCurrent(void);
-
-
- /*
- * SetApplicationDockTileImage()
- *
- * Discussion:
- * Sets the image for the tile in the dock that represents your
- * application while it is running. If you set the image, it will
- * NOT revert back to its original image when your application
- * terminates. You need to manually restore it before quitting.
- *
- * Parameters:
- *
- * inImage:
- * The image you wish to have as your tile image.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetApplicationDockTileImage(CGImageRef inImage);
-
-
- /*
- * OverlayApplicationDockTileImage()
- *
- * Discussion:
- * Takes the image passed in and composites it on top of the current
- * image of your application's dock tile. You might do this to put a
- * standard badge over your application's icon to indicate something
- * to the user.
- *
- * Parameters:
- *
- * inImage:
- * The image you wish to overlay onto your tile image.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- OverlayApplicationDockTileImage(CGImageRef inImage);
-
-
- /*
- * RestoreApplicationDockTileImage()
- *
- * Discussion:
- * Restores the tile for your appliation in the dock to its normal
- * image (your application icon). You would use this if some overlay
- * or change of the application icon needed to be removed.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- RestoreApplicationDockTileImage(void);
-
-
- /*
- * BeginCGContextForApplicationDockTile()
- *
- * Discussion:
- * Creates and returns a CGContextRef. You can use this context to
- * draw into your application's dock tile with Quartz. You **MUST**
- * call EndCGContextForApplicationDockTile and NOT CGEndContext when
- * using this API, as it locks your application's tile in the dock.
- * If you call CGEndContext, the dock will never know you are done
- * with the tile.
- *
- * Result:
- * An Quartz (Core Graphics) context reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGContextRef)
- BeginCGContextForApplicationDockTile(void);
-
-
- /*
- * EndCGContextForApplicationDockTile()
- *
- * Discussion:
- * Ends the CG context for your application tile and frees the lock
- * on the application dock tile. You **MUST** call this routine and
- * NOT CGEndContext when using BeginCGContextForApplicationDockTile,
- * as it locks your application's tile in the dock. If you call
- * CGEndContext, the dock will never know you are done with the tile.
- *
- * Parameters:
- *
- * inContext:
- * The context to end. The context is invalid after this call and
- * should no longer be used.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- EndCGContextForApplicationDockTile(CGContextRef inContext);
-
-
-
-
- /*
- * BeginQDContextForApplicationDockTile()
- *
- * Discussion:
- * Creates and returns a CGrafPtr for your application's tile in the
- * dock. You can use this port to draw into your application's dock
- * tile with Quickdraw. You **MUST** call
- * EndQDContextForApplicationDockTile and NOT DisposePort when using
- * this API, as it locks your application's tile in the dock. If you
- * call DisposePort, the dock will never know you are done with the
- * tile.
- *
- * Result:
- * A Quickdraw port reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGrafPtr)
- BeginQDContextForApplicationDockTile(void);
-
-
- /*
- * EndQDContextForApplicationDockTile()
- *
- * Discussion:
- * Disposes the Quickdraw port for your application tile and frees
- * the lock on the application dock tile. You **MUST** call this
- * routine and NOT DisposePort when using
- * BeginQDContextForApplicationDockTile, else the dock will never
- * know you are done with the tile.
- *
- * Parameters:
- *
- * inContext:
- * The context to end. The context is invalid after this call and
- * should no longer be used.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- EndQDContextForApplicationDockTile(CGrafPtr inContext);
-
-
-
- /*
- * SetApplicationDockTileMenu()
- *
- * Summary:
- * Sets the menu that is displayed by the application's dock tile.
- *
- * Discussion:
- * The Carbon Window Manager and the Dock will always automatically
- * display a menu containing a list of the application's document
- * windows. If the application wants to add other additional menu
- * items, it can use the SetApplicationDockTileMenu API to provide
- * those items. The items in the specified menu will be combined
- * with the window title items. This API increments the refcount of
- * the specified menu. Before the menu is actually displayed, it
- * will receive kEventMenuPopulate, kEventMenuOpening, and
- * kEventMenuEnableItems Carbon events, so any event handlers for
- * these events may update the menu appropriately for the current
- * state of the application. The application should set a command ID
- * for each menu item in the dock tile menu, and when that item is
- * chosen, a kEventCommandProcess Carbon event containing the item's
- * command ID will be sent to the user focus target.
- *
- * Parameters:
- *
- * inMenu:
- * The menu to display, or NULL to remove the current dock tile
- * menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- SetApplicationDockTileMenu(MenuRef inMenu);
-
-
- /*
- * GetApplicationDockTileMenu()
- *
- * Summary:
- * Returns the menu that is displayed by the application's dock tile.
- *
- * Result:
- * The application's dock tile menu, or NULL if none.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(MenuRef)
- GetApplicationDockTileMenu(void);
-
-
-
- /*
- * CreateCGImageFromPixMaps()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateCGImageFromPixMaps(
- PixMapHandle inImage,
- PixMapHandle inMask,
- CGImageRef * outImage);
-
-
- /*
- * GetApplicationTextEncoding()
- *
- * Summary:
- * Returns the application's primary text encoding.
- *
- * Discussion:
- * The application text encoding is used when you create a
- * CFStringRef from text stored in Resource Manager resources, which
- * typically uses one of the Mac encodings such as MacRoman or
- * MacJapanese. The encoding is determined by: (a) if your app is
- * bundled, the encoding of the .lproj directory chosen by CFBundle,
- * (b) else if your plist has a CFBundleDevelopmentRegionKey, the
- * encoding specified by that key, (c) else if your app has a 'vers'
- * resource, the encoding for the region field in the 'vers', (d)
- * else the current localization of the operating system.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TextEncoding)
- GetApplicationTextEncoding(void);
-
-
- /*
- * GetApplicationScript()
- *
- * Summary:
- * Returns the application script.
- *
- * Discussion:
- * The application script is used when you need a ScriptCode to pass
- * to some other API, such as UseThemeFont.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ScriptCode)
- GetApplicationScript(void);
+/*
+ * Summary:
+ * Controls the presentation of system-provided user interface
+ * elements.
+ *
+ * Discussion:
+ * Note that the system UI mode is a per-process state. Switching
+ * from a process that is suppressing system UI to another process
+ * that is not will cause system UI elements to become visible
+ * automatically. Switching back to the first process will suppress
+ * system UI elements again.
+ */
+enum {
+
+ /*
+ * In this mode, all standard system UI elements are visible.
+ */
+ kUIModeNormal = 0,
+
+ /*
+ * In this mode, system UI elements which cover the "content area" of
+ * the screen (the area other than the menubar) are hidden. However,
+ * these elements may automatically show themselves in response to
+ * mouse movements or other user activity; specifically, the Dock
+ * will still show itself automatically when the mouse moves into the
+ * Dock's auto-show region.
+ */
+ kUIModeContentSuppressed = 1,
+
+ /*
+ * In this mode, system UI elements which cover the "content area" of
+ * the screen (the area other than the menubar) are hidden. Unlike
+ * kUIModeContentSuppressed, most UI elements will not automatically
+ * show themselves in this mode.
+ */
+ kUIModeContentHidden = 2,
+
+ /*
+ * In this mode, all system UI elements, including the menubar, are
+ * hidden. Most system UI elements will not automatically show
+ * themselves in this mode. The application may request that the
+ * menubar automatically show itself while in this mode by passing
+ * the kUIOptionAutoShowMenuBar flag to SetSystemUIMode.
+ */
+ kUIModeAllHidden = 3
+};
+
+typedef UInt32 SystemUIMode;
+
+/*
+ * Summary:
+ * Controls optional behavior of system-provided user interface
+ * elements.
+ */
+enum {
+
+ /*
+ * Requests that the menubar automatically show itself when the user
+ * moves the mouse into the screen area that would ordinarily be
+ * occupied by the menubar. Only valid with kUIModeAllHidden.
+ */
+ kUIOptionAutoShowMenuBar = 1 << 0,
+
+ /*
+ * Disables all items in the Apple menu. Valid for all modes.
+ */
+ kUIOptionDisableAppleMenu = 1 << 2,
+
+ /*
+ * The active application may not be changed while this process is
+ * active. Currently disables the Command-Tab and Command-Shift-Tab
+ * key sequences to switch the active process, and the global window
+ * rotation key sequence selected by the user in the Keyboard
+ * preference pane. SetFrontProcess may still be used to explicitly
+ * switch the active process. Only valid with modes other than
+ * kUIModeNormal.
+ */
+ kUIOptionDisableProcessSwitch = 1 << 3,
+
+ /*
+ * The Force Quit window may not be displayed while this process is
+ * active. Currently disables the Command-Option-Escape key sequence
+ * to open the Force Quit window and the Force Quit menu item in the
+ * Apple menu. Only valid with modes other than kUIModeNormal.
+ */
+ kUIOptionDisableForceQuit = 1 << 4,
+
+ /*
+ * The current login session may not be terminated while this process
+ * is active. Currently disables the Power key and the Restart, Shut
+ * Down, and Log Out menu items in the Apple menu. Only valid with
+ * modes other than kUIModeNormal.
+ */
+ kUIOptionDisableSessionTerminate = 1 << 5
+};
+
+typedef OptionBits SystemUIOptions;
+/*
+ * SetSystemUIMode()
+ *
+ * Summary:
+ * Sets the presentation mode for system-provided user interface
+ * elements.
+ *
+ * Discussion:
+ * The presentation mode of an application determines which
+ * system-provided user interface elements are visible on thes
+ * screen. When the frontmost application changes its presentation
+ * mode, a kEventAppSystemUIModeChanged Carbon event is sent to all
+ * applications that have registered for the event. This event is
+ * also sent when an application is activated; it contains the newly
+ * active application's presentation mode.
+ *
+ * Parameters:
+ *
+ * inMode:
+ * The new mode.
+ *
+ * inOptions:
+ * Options controlling how the new mode behaves.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetSystemUIMode(
+ SystemUIMode inMode,
+ SystemUIOptions inOptions);
+
+
+/*
+ * GetSystemUIMode()
+ *
+ * Summary:
+ * Returns the current presentation mode of the application.
+ *
+ * Parameters:
+ *
+ * outMode:
+ * On exit, contains the current mode. You may pass NULL if you
+ * don't need this information.
+ *
+ * outOptions:
+ * On exit, contains the current options for the mode. You may
+ * pass NULL if you don't need this information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+GetSystemUIMode(
+ SystemUIMode * outMode, /* can be NULL */
+ SystemUIOptions * outOptions); /* can be NULL */
+
+
+/*
+ * HIApplicationGetCurrent()
+ *
+ * Discussion:
+ * Returns the HIObjectRef of the currently running application
+ * object. This HIObject's EventTargetRef is what will be returned
+ * from GetApplicationEventTarget.
+ *
+ * Result:
+ * The HIObjectRef of the currently running application object.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( HIObjectRef )
+HIApplicationGetCurrent(void);
+
+
+/*
+ * SetApplicationDockTileImage()
+ *
+ * Discussion:
+ * Sets the image for the tile in the dock that represents your
+ * application while it is running. If you set the image, it will
+ * NOT revert back to its original image when your application
+ * terminates. You need to manually restore it before quitting.
+ *
+ * Parameters:
+ *
+ * inImage:
+ * The image you wish to have as your tile image.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetApplicationDockTileImage(CGImageRef inImage);
+
+
+/*
+ * OverlayApplicationDockTileImage()
+ *
+ * Discussion:
+ * Takes the image passed in and composites it on top of the current
+ * image of your application's dock tile. You might do this to put a
+ * standard badge over your application's icon to indicate something
+ * to the user.
+ *
+ * Parameters:
+ *
+ * inImage:
+ * The image you wish to overlay onto your tile image.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+OverlayApplicationDockTileImage(CGImageRef inImage);
+
+
+/*
+ * RestoreApplicationDockTileImage()
+ *
+ * Discussion:
+ * Restores the tile for your appliation in the dock to its normal
+ * image (your application icon). You would use this if some overlay
+ * or change of the application icon needed to be removed.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+RestoreApplicationDockTileImage(void);
+
+
+/*
+ * BeginCGContextForApplicationDockTile()
+ *
+ * Discussion:
+ * Creates and returns a CGContextRef. You can use this context to
+ * draw into your application's dock tile with Quartz. You **MUST**
+ * call EndCGContextForApplicationDockTile and NOT CGEndContext when
+ * using this API, as it locks your application's tile in the dock.
+ * If you call CGEndContext, the dock will never know you are done
+ * with the tile.
+ *
+ * Result:
+ * An Quartz (Core Graphics) context reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGContextRef )
+BeginCGContextForApplicationDockTile(void);
+
+
+/*
+ * EndCGContextForApplicationDockTile()
+ *
+ * Discussion:
+ * Ends the CG context for your application tile and frees the lock
+ * on the application dock tile. You **MUST** call this routine and
+ * NOT CGEndContext when using BeginCGContextForApplicationDockTile,
+ * as it locks your application's tile in the dock. If you call
+ * CGEndContext, the dock will never know you are done with the tile.
+ *
+ * Parameters:
+ *
+ * inContext:
+ * The context to end. The context is invalid after this call and
+ * should no longer be used.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+EndCGContextForApplicationDockTile(CGContextRef inContext);
+
+
+
+
+/*
+ * BeginQDContextForApplicationDockTile()
+ *
+ * Discussion:
+ * Creates and returns a CGrafPtr for your application's tile in the
+ * dock. You can use this port to draw into your application's dock
+ * tile with Quickdraw. You **MUST** call
+ * EndQDContextForApplicationDockTile and NOT DisposePort when using
+ * this API, as it locks your application's tile in the dock. If you
+ * call DisposePort, the dock will never know you are done with the
+ * tile.
+ *
+ * Result:
+ * A Quickdraw port reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGrafPtr )
+BeginQDContextForApplicationDockTile(void);
+
+
+/*
+ * EndQDContextForApplicationDockTile()
+ *
+ * Discussion:
+ * Disposes the Quickdraw port for your application tile and frees
+ * the lock on the application dock tile. You **MUST** call this
+ * routine and NOT DisposePort when using
+ * BeginQDContextForApplicationDockTile, else the dock will never
+ * know you are done with the tile.
+ *
+ * Parameters:
+ *
+ * inContext:
+ * The context to end. The context is invalid after this call and
+ * should no longer be used.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+EndQDContextForApplicationDockTile(CGrafPtr inContext);
+
+
+
+/*
+ * SetApplicationDockTileMenu()
+ *
+ * Summary:
+ * Sets the menu that is displayed by the application's dock tile.
+ *
+ * Discussion:
+ * The Carbon Window Manager and the Dock will always automatically
+ * display a menu containing a list of the application's document
+ * windows. If the application wants to add other additional menu
+ * items, it can use the SetApplicationDockTileMenu API to provide
+ * those items. The items in the specified menu will be combined
+ * with the window title items. This API increments the refcount of
+ * the specified menu. Before the menu is actually displayed, it
+ * will receive kEventMenuPopulate, kEventMenuOpening, and
+ * kEventMenuEnableItems Carbon events, so any event handlers for
+ * these events may update the menu appropriately for the current
+ * state of the application. The application should set a command ID
+ * for each menu item in the dock tile menu, and when that item is
+ * chosen, a kEventCommandProcess Carbon event containing the item's
+ * command ID will be sent to the user focus target.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu to display, or NULL to remove the current dock tile
+ * menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+SetApplicationDockTileMenu(MenuRef inMenu);
+
+
+/*
+ * GetApplicationDockTileMenu()
+ *
+ * Summary:
+ * Returns the menu that is displayed by the application's dock tile.
+ *
+ * Result:
+ * The application's dock tile menu, or NULL if none.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( MenuRef )
+GetApplicationDockTileMenu(void);
+
+
+
+/*
+ * CreateCGImageFromPixMaps()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateCGImageFromPixMaps(
+ PixMapHandle inImage,
+ PixMapHandle inMask,
+ CGImageRef * outImage);
+
+
+/*
+ * GetApplicationTextEncoding()
+ *
+ * Summary:
+ * Returns the application's primary text encoding.
+ *
+ * Discussion:
+ * The application text encoding is used when you create a
+ * CFStringRef from text stored in Resource Manager resources, which
+ * typically uses one of the Mac encodings such as MacRoman or
+ * MacJapanese. The encoding is determined by: (a) if your app is
+ * bundled, the encoding of the .lproj directory chosen by CFBundle,
+ * (b) else if your plist has a CFBundleDevelopmentRegionKey, the
+ * encoding specified by that key, (c) else if your app has a 'vers'
+ * resource, the encoding for the region field in the 'vers', (d)
+ * else the current localization of the operating system.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TextEncoding )
+GetApplicationTextEncoding(void);
+
+
+/*
+ * GetApplicationScript()
+ *
+ * Summary:
+ * Returns the application script.
+ *
+ * Discussion:
+ * The application script is used when you need a ScriptCode to pass
+ * to some other API, such as UseThemeFont.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ScriptCode )
+GetApplicationScript(void);
diff --git a/include/qt/MacErrors.h b/include/qt/MacErrors.h
index c03222d5e..b53a09ee3 100644
--- a/include/qt/MacErrors.h
+++ b/include/qt/MacErrors.h
@@ -1,17 +1,17 @@
/*
File: MacErrors.h
-
+
Contains: OSErr codes.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACERRORS__
#define __MACERRORS__
@@ -34,2935 +34,2801 @@ extern "C" {
#pragma import on
#endif
- enum {
- paramErr = -50, /*error in user parameter list*/
- noHardwareErr = -200, /*Sound Manager Error Returns*/
- notEnoughHardwareErr = -201, /*Sound Manager Error Returns*/
- userCanceledErr = -128,
- qErr = -1, /*queue element not found during deletion*/
- vTypErr = -2, /*invalid queue element*/
- corErr = -3, /*core routine number out of range*/
- unimpErr = -4, /*unimplemented core routine*/
- SlpTypeErr = -5, /*invalid queue element*/
- seNoDB = -8, /*no debugger installed to handle debugger command*/
- controlErr = -17, /*I/O System Errors*/
- statusErr = -18, /*I/O System Errors*/
- readErr = -19, /*I/O System Errors*/
- writErr = -20, /*I/O System Errors*/
- badUnitErr = -21, /*I/O System Errors*/
- unitEmptyErr = -22, /*I/O System Errors*/
- openErr = -23, /*I/O System Errors*/
- closErr = -24, /*I/O System Errors*/
- dRemovErr = -25, /*tried to remove an open driver*/
- dInstErr = -26 /*DrvrInstall couldn't find driver in resources*/
- };
-
- enum
- {
- abortErr = -27, /*IO call aborted by KillIO*/
- iIOAbortErr = -27, /*IO abort error (Printing Manager)*/
- notOpenErr = -28, /*Couldn't rd/wr/ctl/sts cause driver not opened*/
- unitTblFullErr = -29, /*unit table has no more entries*/
- dceExtErr = -30, /*dce extension error*/
- slotNumErr = -360, /*invalid slot # error*/
- gcrOnMFMErr = -400, /*gcr format on high density media error*/
- dirFulErr = -33, /*Directory full*/
- dskFulErr = -34, /*disk full*/
- nsvErr = -35, /*no such volume*/
- ioErr = -36, /*I/O error (bummers)*/
- bdNamErr = -37, /*there may be no bad names in the final system!*/
- fnOpnErr = -38, /*File not open*/
- eofErr = -39, /*End of file*/
- posErr = -40, /*tried to position to before start of file (r/w)*/
- mFulErr = -41, /*memory full (open) or file won't fit (load)*/
- tmfoErr = -42, /*too many files open*/
- fnfErr = -43, /*File not found*/
- wPrErr = -44, /*diskette is write protected.*/
- fLckdErr = -45 /*file is locked*/
- };
-
- enum
- {
- vLckdErr = -46, /*volume is locked*/
- fBsyErr = -47, /*File is busy (delete)*/
- dupFNErr = -48, /*duplicate filename (rename)*/
- opWrErr = -49, /*file already open with with write permission*/
- rfNumErr = -51, /*refnum error*/
- gfpErr = -52, /*get file position error*/
- volOffLinErr = -53, /*volume not on line error (was Ejected)*/
- permErr = -54, /*permissions error (on file open)*/
- volOnLinErr = -55, /*drive volume already on-line at MountVol*/
- nsDrvErr = -56, /*no such drive (tried to mount a bad drive num)*/
- noMacDskErr = -57, /*not a mac diskette (sig bytes are wrong)*/
- extFSErr = -58, /*volume in question belongs to an external fs*/
- fsRnErr = -59, /*file system internal error:during rename the old entry was deleted but could not be restored.*/
- badMDBErr = -60, /*bad master directory block*/
- wrPermErr = -61, /*write permissions error*/
- dirNFErr = -120, /*Directory not found*/
- tmwdoErr = -121, /*No free WDCB available*/
- badMovErr = -122, /*Move into offspring error*/
- wrgVolTypErr = -123, /*Wrong volume type error [operation not supported for MFS]*/
- volGoneErr = -124 /*Server volume has been disconnected.*/
- };
-
- enum
- {
- fidNotFound = -1300, /*no file thread exists.*/
- fidExists = -1301, /*file id already exists*/
- notAFileErr = -1302, /*directory specified*/
- diffVolErr = -1303, /*files on different volumes*/
- catChangedErr = -1304, /*the catalog has been modified*/
- desktopDamagedErr = -1305, /*desktop database files are corrupted*/
- sameFileErr = -1306, /*can't exchange a file with itself*/
- badFidErr = -1307, /*file id is dangling or doesn't match with the file number*/
- notARemountErr = -1308, /*when _Mount allows only remounts and doesn't get one*/
- fileBoundsErr = -1309, /*file's EOF, offset, mark or size is too big*/
- fsDataTooBigErr = -1310, /*file or volume is too big for system*/
- volVMBusyErr = -1311, /*can't eject because volume is in use by VM*/
- badFCBErr = -1327, /*FCBRecPtr is not valid*/
- errFSUnknownCall = -1400, /* selector is not recognized by this filesystem */
- errFSBadFSRef = -1401, /* FSRef parameter is bad */
- errFSBadForkName = -1402, /* Fork name parameter is bad */
- errFSBadBuffer = -1403, /* A buffer parameter was bad */
- errFSBadForkRef = -1404, /* A ForkRefNum parameter was bad */
- errFSBadInfoBitmap = -1405, /* A CatalogInfoBitmap or VolumeInfoBitmap has reserved or invalid bits set */
- errFSMissingCatInfo = -1406, /* A CatalogInfo parameter was NULL */
- errFSNotAFolder = -1407, /* Expected a folder, got a file */
- errFSForkNotFound = -1409, /* Named fork does not exist */
- errFSNameTooLong = -1410, /* File/fork name is too long to create/rename */
- errFSMissingName = -1411, /* A Unicode name parameter was NULL or nameLength parameter was zero */
- errFSBadPosMode = -1412, /* Newline bits set in positionMode */
- errFSBadAllocFlags = -1413, /* Invalid bits set in allocationFlags */
- errFSNoMoreItems = -1417, /* Iteration ran out of items to return */
- errFSBadItemCount = -1418, /* maximumItems was zero */
- errFSBadSearchParams = -1419, /* Something wrong with CatalogSearch searchParams */
- errFSRefsDifferent = -1420, /* FSCompareFSRefs; refs are for different objects */
- errFSForkExists = -1421, /* Named fork already exists. */
- errFSBadIteratorFlags = -1422, /* Flags passed to FSOpenIterator are bad */
- errFSIteratorNotFound = -1423, /* Passed FSIterator is not an open iterator */
- errFSIteratorNotSupported = -1424, /* The iterator's flags or container are not supported by this call */
- errFSQuotaExceeded = -1425, /* The user's quota of disk blocks has been exhausted. */
- envNotPresent = -5500, /*returned by glue.*/
- envBadVers = -5501, /*Version non-positive*/
- envVersTooBig = -5502, /*Version bigger than call can handle*/
- fontDecError = -64, /*error during font declaration*/
- fontNotDeclared = -65, /*font not declared*/
- fontSubErr = -66, /*font substitution occurred*/
- fontNotOutlineErr = -32615, /*bitmap font passed to routine that does outlines only*/
- firstDskErr = -84, /*I/O System Errors*/
- lastDskErr = -64, /*I/O System Errors*/
- noDriveErr = -64, /*drive not installed*/
- offLinErr = -65, /*r/w requested for an off-line drive*/
- noNybErr = -66 /*couldn't find 5 nybbles in 200 tries*/
- };
-
- enum
- {
- noAdrMkErr = -67, /*couldn't find valid addr mark*/
- dataVerErr = -68, /*read verify compare failed*/
- badCksmErr = -69, /*addr mark checksum didn't check*/
- badBtSlpErr = -70, /*bad addr mark bit slip nibbles*/
- noDtaMkErr = -71, /*couldn't find a data mark header*/
- badDCksum = -72, /*bad data mark checksum*/
- badDBtSlp = -73, /*bad data mark bit slip nibbles*/
- wrUnderrun = -74, /*write underrun occurred*/
- cantStepErr = -75, /*step handshake failed*/
- tk0BadErr = -76, /*track 0 detect doesn't change*/
- initIWMErr = -77, /*unable to initialize IWM*/
- twoSideErr = -78, /*tried to read 2nd side on a 1-sided drive*/
- spdAdjErr = -79, /*unable to correctly adjust disk speed*/
- seekErr = -80, /*track number wrong on address mark*/
- sectNFErr = -81, /*sector number never found on a track*/
- fmt1Err = -82, /*can't find sector 0 after track format*/
- fmt2Err = -83, /*can't get enough sync*/
- verErr = -84, /*track failed to verify*/
- clkRdErr = -85, /*unable to read same clock value twice*/
- clkWrErr = -86, /*time written did not verify*/
- prWrErr = -87, /*parameter ram written didn't read-verify*/
- prInitErr = -88, /*InitUtil found the parameter ram uninitialized*/
- rcvrErr = -89, /*SCC receiver error (framing; parity; OR)*/
- breakRecd = -90 /*Break received (SCC)*/
- };
-
- enum
- {
- /*Scrap Manager errors*/
- noScrapErr = -100, /*No scrap exists error*/
- noTypeErr = -102 /*No object of that type in scrap*/
- };
-
- enum
- {
- /* ENET error codes */
- eLenErr = -92, /*Length error ddpLenErr*/
- eMultiErr = -91 /*Multicast address error ddpSktErr*/
- };
-
- enum
- {
- ddpSktErr = -91, /*error in soket number*/
- ddpLenErr = -92, /*data length too big*/
- noBridgeErr = -93, /*no network bridge for non-local send*/
- lapProtErr = -94, /*error in attaching/detaching protocol*/
- excessCollsns = -95, /*excessive collisions on write*/
- portNotPwr = -96, /*serial port not currently powered*/
- portInUse = -97, /*driver Open error code (port is in use)*/
- portNotCf = -98 /*driver Open error code (parameter RAM not configured for this connection)*/
- };
-
- enum
- {
- /* Memory Manager errors*/
- memROZWarn = -99, /*soft error in ROZ*/
- memROZError = -99, /*hard error in ROZ*/
- memROZErr = -99, /*hard error in ROZ*/
- memFullErr = -108, /*Not enough room in heap zone*/
- nilHandleErr = -109, /*Master Pointer was NIL in HandleZone or other*/
- memWZErr = -111, /*WhichZone failed (applied to free block)*/
- memPurErr = -112, /*trying to purge a locked or non-purgeable block*/
- memAdrErr = -110, /*address was odd; or out of range*/
- memAZErr = -113, /*Address in zone check failed*/
- memPCErr = -114, /*Pointer Check failed*/
- memBCErr = -115, /*Block Check failed*/
- memSCErr = -116, /*Size Check failed*/
- memLockedErr = -117 /*trying to move a locked block (MoveHHi)*/
- };
-
- enum
- {
- /* Printing Errors */
- iMemFullErr = -108,
- iIOAbort = -27
- };
-
-
- enum
- {
- resourceInMemory = -188, /*Resource already in memory*/
- writingPastEnd = -189, /*Writing past end of file*/
- inputOutOfBounds = -190, /*Offset of Count out of bounds*/
- resNotFound = -192, /*Resource not found*/
- resFNotFound = -193, /*Resource file not found*/
- addResFailed = -194, /*AddResource failed*/
- addRefFailed = -195, /*AddReference failed*/
- rmvResFailed = -196, /*RmveResource failed*/
- rmvRefFailed = -197, /*RmveReference failed*/
- resAttrErr = -198, /*attribute inconsistent with operation*/
- mapReadErr = -199, /*map inconsistent with operation*/
- CantDecompress = -186, /*resource bent ("the bends") - can't decompress a compressed resource*/
- badExtResource = -185, /*extended resource has a bad format.*/
- noMemForPictPlaybackErr = -145,
- rgnOverflowErr = -147,
- rgnTooBigError = -147,
- pixMapTooDeepErr = -148,
- insufficientStackErr = -149,
- nsStackErr = -149
- };
-
- enum
- {
- evtNotEnb = 1 /*event not enabled at PostEvent*/
- };
-
- /* OffScreen QuickDraw Errors */
- enum
- {
- cMatchErr = -150, /*Color2Index failed to find an index*/
- cTempMemErr = -151, /*failed to allocate memory for temporary structures*/
- cNoMemErr = -152, /*failed to allocate memory for structure*/
- cRangeErr = -153, /*range error on colorTable request*/
- cProtectErr = -154, /*colorTable entry protection violation*/
- cDevErr = -155, /*invalid type of graphics device*/
- cResErr = -156, /*invalid resolution for MakeITable*/
- cDepthErr = -157, /*invalid pixel depth */
- rgnTooBigErr = -500, /* should have never been added! (cf. rgnTooBigError = 147) */
- updPixMemErr = -125, /*insufficient memory to update a pixmap*/
- pictInfoVersionErr = -11000, /*wrong version of the PictInfo structure*/
- pictInfoIDErr = -11001, /*the internal consistancy check for the PictInfoID is wrong*/
- pictInfoVerbErr = -11002, /*the passed verb was invalid*/
- cantLoadPickMethodErr = -11003, /*unable to load the custom pick proc*/
- colorsRequestedErr = -11004, /*the number of colors requested was illegal*/
- pictureDataErr = -11005 /*the picture data was invalid*/
- };
-
- /* ColorSync Result codes */
- enum
- {
- /* General Errors */
- cmProfileError = -170,
- cmMethodError = -171,
- cmMethodNotFound = -175, /* CMM not present */
- cmProfileNotFound = -176, /* Responder error */
- cmProfilesIdentical = -177, /* Profiles the same */
- cmCantConcatenateError = -178, /* Profile can't be concatenated */
- cmCantXYZ = -179, /* CMM cant handle XYZ space */
- cmCantDeleteProfile = -180, /* Responder error */
- cmUnsupportedDataType = -181, /* Responder error */
- cmNoCurrentProfile = -182 /* Responder error */
- };
-
-
- enum
- {
- /*Sound Manager errors*/
- noHardware = noHardwareErr, /*obsolete spelling*/
- notEnoughHardware = notEnoughHardwareErr, /*obsolete spelling*/
- queueFull = -203, /*Sound Manager Error Returns*/
- resProblem = -204, /*Sound Manager Error Returns*/
- badChannel = -205, /*Sound Manager Error Returns*/
- badFormat = -206, /*Sound Manager Error Returns*/
- notEnoughBufferSpace = -207, /*could not allocate enough memory*/
- badFileFormat = -208, /*was not type AIFF or was of bad format,corrupt*/
- channelBusy = -209, /*the Channel is being used for a PFD already*/
- buffersTooSmall = -210, /*can not operate in the memory allowed*/
- channelNotBusy = -211,
- noMoreRealTime = -212, /*not enough CPU cycles left to add another task*/
- siVBRCompressionNotSupported = -213, /*vbr audio compression not supported for this operation*/
- siNoSoundInHardware = -220, /*no Sound Input hardware*/
- siBadSoundInDevice = -221, /*invalid index passed to SoundInGetIndexedDevice*/
- siNoBufferSpecified = -222, /*returned by synchronous SPBRecord if nil buffer passed*/
- siInvalidCompression = -223, /*invalid compression type*/
- siHardDriveTooSlow = -224, /*hard drive too slow to record to disk*/
- siInvalidSampleRate = -225, /*invalid sample rate*/
- siInvalidSampleSize = -226, /*invalid sample size*/
- siDeviceBusyErr = -227, /*input device already in use*/
- siBadDeviceName = -228, /*input device could not be opened*/
- siBadRefNum = -229, /*invalid input device reference number*/
- siInputDeviceErr = -230, /*input device hardware failure*/
- siUnknownInfoType = -231, /*invalid info type selector (returned by driver)*/
- siUnknownQuality = -232 /*invalid quality selector (returned by driver)*/
- };
-
- /*Speech Manager errors*/
- enum
- {
- noSynthFound = -240,
- synthOpenFailed = -241,
- synthNotReady = -242,
- bufTooSmall = -243,
- voiceNotFound = -244,
- incompatibleVoice = -245,
- badDictFormat = -246,
- badInputText = -247
- };
-
- /* Midi Manager Errors: */
- enum
- {
- midiNoClientErr = -250, /*no client with that ID found*/
- midiNoPortErr = -251, /*no port with that ID found*/
- midiTooManyPortsErr = -252, /*too many ports already installed in the system*/
- midiTooManyConsErr = -253, /*too many connections made*/
- midiVConnectErr = -254, /*pending virtual connection created*/
- midiVConnectMade = -255, /*pending virtual connection resolved*/
- midiVConnectRmvd = -256, /*pending virtual connection removed*/
- midiNoConErr = -257, /*no connection exists between specified ports*/
- midiWriteErr = -258, /*MIDIWritePacket couldn't write to all connected ports*/
- midiNameLenErr = -259, /*name supplied is longer than 31 characters*/
- midiDupIDErr = -260, /*duplicate client ID*/
- midiInvalidCmdErr = -261 /*command not supported for port type*/
- };
-
-
- enum
- {
- nmTypErr = -299 /*Notification Manager:wrong queue type*/
- };
-
-
- enum
- {
- siInitSDTblErr = 1, /*slot int dispatch table could not be initialized.*/
- siInitVBLQsErr = 2, /*VBLqueues for all slots could not be initialized.*/
- siInitSPTblErr = 3, /*slot priority table could not be initialized.*/
- sdmJTInitErr = 10, /*SDM Jump Table could not be initialized.*/
- sdmInitErr = 11, /*SDM could not be initialized.*/
- sdmSRTInitErr = 12, /*Slot Resource Table could not be initialized.*/
- sdmPRAMInitErr = 13, /*Slot PRAM could not be initialized.*/
- sdmPriInitErr = 14 /*Cards could not be initialized.*/
- };
-
- enum
- {
- smSDMInitErr = -290, /*Error; SDM could not be initialized.*/
- smSRTInitErr = -291, /*Error; Slot Resource Table could not be initialized.*/
- smPRAMInitErr = -292, /*Error; Slot Resource Table could not be initialized.*/
- smPriInitErr = -293, /*Error; Cards could not be initialized.*/
- smEmptySlot = -300, /*No card in slot*/
- smCRCFail = -301, /*CRC check failed for declaration data*/
- smFormatErr = -302, /*FHeader Format is not Apple's*/
- smRevisionErr = -303, /*Wrong revison level*/
- smNoDir = -304, /*Directory offset is Nil*/
- smDisabledSlot = -305, /*This slot is disabled (-305 use to be smLWTstBad)*/
- smNosInfoArray = -306 /*No sInfoArray. Memory Mgr error.*/
- };
-
-
- enum
- {
- smResrvErr = -307, /*Fatal reserved error. Resreved field <> 0.*/
- smUnExBusErr = -308, /*Unexpected BusError*/
- smBLFieldBad = -309, /*ByteLanes field was bad.*/
- smFHBlockRdErr = -310, /*Error occurred during _sGetFHeader.*/
- smFHBlkDispErr = -311, /*Error occurred during _sDisposePtr (Dispose of FHeader block).*/
- smDisposePErr = -312, /*_DisposePointer error*/
- smNoBoardSRsrc = -313, /*No Board sResource.*/
- smGetPRErr = -314, /*Error occurred during _sGetPRAMRec (See SIMStatus).*/
- smNoBoardId = -315, /*No Board Id.*/
- smInitStatVErr = -316, /*The InitStatusV field was negative after primary or secondary init.*/
- smInitTblVErr = -317, /*An error occurred while trying to initialize the Slot Resource Table.*/
- smNoJmpTbl = -318, /*SDM jump table could not be created.*/
- smReservedSlot = -318, /*slot is reserved, VM should not use this address space.*/
- smBadBoardId = -319, /*BoardId was wrong; re-init the PRAM record.*/
- smBusErrTO = -320, /*BusError time out.*/
- /* These errors are logged in the vendor status field of the sInfo record. */
- svTempDisable = -32768L, /*Temporarily disable card but run primary init.*/
- svDisabled = -32640, /*Reserve range -32640 to -32768 for Apple temp disables.*/
- smBadRefId = -330, /*Reference Id not found in List*/
- smBadsList = -331, /*Bad sList: Id1 < Id2 < Id3 ...format is not followed.*/
- smReservedErr = -332, /*Reserved field not zero*/
- smCodeRevErr = -333 /*Code revision is wrong*/
- };
-
- enum
- {
- smCPUErr = -334, /*Code revision is wrong*/
- smsPointerNil = -335, /*LPointer is nil From sOffsetData. If this error occurs; check sInfo rec for more information.*/
- smNilsBlockErr = -336, /*Nil sBlock error (Dont allocate and try to use a nil sBlock)*/
- smSlotOOBErr = -337, /*Slot out of bounds error*/
- smSelOOBErr = -338, /*Selector out of bounds error*/
- smNewPErr = -339, /*_NewPtr error*/
- smBlkMoveErr = -340, /*_BlockMove error*/
- smCkStatusErr = -341, /*Status of slot = fail.*/
- smGetDrvrNamErr = -342, /*Error occurred during _sGetDrvrName.*/
- smDisDrvrNamErr = -343, /*Error occurred during _sDisDrvrName.*/
- smNoMoresRsrcs = -344, /*No more sResources*/
- smsGetDrvrErr = -345, /*Error occurred during _sGetDriver.*/
- smBadsPtrErr = -346, /*Bad pointer was passed to sCalcsPointer*/
- smByteLanesErr = -347, /*NumByteLanes was determined to be zero.*/
- smOffsetErr = -348, /*Offset was too big (temporary error*/
- smNoGoodOpens = -349, /*No opens were successfull in the loop.*/
- smSRTOvrFlErr = -350, /*SRT over flow.*/
- smRecNotFnd = -351 /*Record not found in the SRT.*/
- };
-
-
- enum
- {
- /*Dictionary Manager errors*/
- notBTree = -410, /*The file is not a dictionary.*/
- btNoSpace = -413, /*Can't allocate disk space.*/
- btDupRecErr = -414, /*Record already exists.*/
- btRecNotFnd = -415, /*Record cannot be found.*/
- btKeyLenErr = -416, /*Maximum key length is too long or equal to zero.*/
- btKeyAttrErr = -417, /*There is no such a key attribute.*/
- unknownInsertModeErr = -20000, /*There is no such an insert mode.*/
- recordDataTooBigErr = -20001, /*The record data is bigger than buffer size (1024 bytes).*/
- invalidIndexErr = -20002 /*The recordIndex parameter is not valid.*/
- };
-
-
- /*
- * Error codes from FSM functions
- */
- enum
- {
- fsmFFSNotFoundErr = -431, /* Foreign File system does not exist - new Pack2 could return this error too */
- fsmBusyFFSErr = -432, /* File system is busy, cannot be removed */
- fsmBadFFSNameErr = -433, /* Name length not 1 <= length <= 31 */
- fsmBadFSDLenErr = -434, /* FSD size incompatible with current FSM vers */
- fsmDuplicateFSIDErr = -435, /* FSID already exists on InstallFS */
- fsmBadFSDVersionErr = -436, /* FSM version incompatible with FSD */
- fsmNoAlternateStackErr = -437, /* no alternate stack for HFS CI */
- fsmUnknownFSMMessageErr = -438 /* unknown message passed to FSM */
- };
-
-
- enum
- {
- /* Edition Mgr errors*/
- editionMgrInitErr = -450, /*edition manager not inited by this app*/
- badSectionErr = -451, /*not a valid SectionRecord*/
- notRegisteredSectionErr = -452, /*not a registered SectionRecord*/
- badEditionFileErr = -453, /*edition file is corrupt*/
- badSubPartErr = -454, /*can not use sub parts in this release*/
- multiplePublisherWrn = -460, /*A Publisher is already registered for that container*/
- containerNotFoundWrn = -461, /*could not find editionContainer at this time*/
- containerAlreadyOpenWrn = -462, /*container already opened by this section*/
- notThePublisherWrn = -463 /*not the first registered publisher for that container*/
- };
-
- enum
- {
- teScrapSizeErr = -501, /*scrap item too big for text edit record*/
- hwParamErr = -502, /*bad selector for _HWPriv*/
- driverHardwareGoneErr = -503 /*disk driver's hardware was disconnected*/
- };
-
- enum
- {
- /*Process Manager errors*/
- procNotFound = -600, /*no eligible process with specified descriptor*/
- memFragErr = -601, /*not enough room to launch app w/special requirements*/
- appModeErr = -602, /*memory mode is 32-bit, but app not 32-bit clean*/
- protocolErr = -603, /*app made module calls in improper order*/
- hardwareConfigErr = -604, /*hardware configuration not correct for call*/
- appMemFullErr = -605, /*application SIZE not big enough for launch*/
- appIsDaemon = -606, /*app is BG-only, and launch flags disallow this*/
- bufferIsSmall = -607, /*error returns from Post and Accept */
- noOutstandingHLE = -608,
- connectionInvalid = -609,
- noUserInteractionAllowed = -610 /* no user interaction allowed */
- };
-
- enum
- {
- /* More Process Manager errors */
- wrongApplicationPlatform = -875, /* The application could not launch because the required platform is not available */
- appVersionTooOld = -876, /* The application's creator and version are incompatible with the current version of Mac OS. */
- notAppropriateForClassic = -877 /* This application won't or shouldn't run on Classic (Problem 2481058). */
- };
-
- /* Thread Manager Error Codes */
- enum
- {
- threadTooManyReqsErr = -617,
- threadNotFoundErr = -618,
- threadProtocolErr = -619
- };
-
- /*MemoryDispatch errors*/
- enum
- {
- notEnoughMemoryErr = -620, /*insufficient physical memory*/
- notHeldErr = -621, /*specified range of memory is not held*/
- cannotMakeContiguousErr = -622, /*cannot make specified range contiguous*/
- notLockedErr = -623, /*specified range of memory is not locked*/
- interruptsMaskedErr = -624, /*don't call with interrupts masked*/
- cannotDeferErr = -625, /*unable to defer additional functions*/
- noMMUErr = -626 /*no MMU present*/
- };
-
- /* FileMapping errors */
- enum
- {
- vmInvalidBackingFileIDErr = -640, /* invalid BackingFileID */
- vmMappingPrivilegesErr = -641, /* requested MappingPrivileges cannot be obtained */
- vmBusyBackingFileErr = -642, /* open views found on BackingFile */
- vmNoMoreBackingFilesErr = -643, /* no more BackingFiles were found */
- vmInvalidFileViewIDErr = -644, /*invalid FileViewID */
- vmFileViewAccessErr = -645, /* requested FileViewAccess cannot be obtained */
- vmNoMoreFileViewsErr = -646, /* no more FileViews were found */
- vmAddressNotInFileViewErr = -647, /* address is not in a FileView */
- vmInvalidOwningProcessErr = -648 /* current process does not own the BackingFileID or FileViewID */
- };
-
- /* Database access error codes */
- enum
- {
- rcDBNull = -800,
- rcDBValue = -801,
- rcDBError = -802,
- rcDBBadType = -803,
- rcDBBreak = -804,
- rcDBExec = -805,
- rcDBBadSessID = -806,
- rcDBBadSessNum = -807, /* bad session number for DBGetConnInfo */
- rcDBBadDDEV = -808, /* bad ddev specified on DBInit */
- rcDBAsyncNotSupp = -809, /* ddev does not support async calls */
- rcDBBadAsyncPB = -810, /* tried to kill a bad pb */
- rcDBNoHandler = -811, /* no app handler for specified data type */
- rcDBWrongVersion = -812, /* incompatible versions */
- rcDBPackNotInited = -813 /* attempt to call other routine before InitDBPack */
- };
-
-
- /*Help Mgr error range: -850 to -874*/
- enum
- {
- hmHelpDisabled = -850, /* Show Balloons mode was off, call to routine ignored */
- hmBalloonAborted = -853, /* Returned if mouse was moving or mouse wasn't in window port rect */
- hmSameAsLastBalloon = -854, /* Returned from HMShowMenuBalloon if menu & item is same as last time */
- hmHelpManagerNotInited = -855, /* Returned from HMGetHelpMenuHandle if help menu not setup */
- hmSkippedBalloon = -857, /* Returned from calls if helpmsg specified a skip balloon */
- hmWrongVersion = -858, /* Returned if help mgr resource was the wrong version */
- hmUnknownHelpType = -859, /* Returned if help msg record contained a bad type */
- hmOperationUnsupported = -861, /* Returned from HMShowBalloon call if bad method passed to routine */
- hmNoBalloonUp = -862, /* Returned from HMRemoveBalloon if no balloon was visible when call was made */
- hmCloseViewActive = -863 /* Returned from HMRemoveBalloon if CloseView was active */
- };
-
-
-
- enum
- {
- /*PPC errors*/
- notInitErr = -900, /*PPCToolBox not initialized*/
- nameTypeErr = -902, /*Invalid or inappropriate locationKindSelector in locationName*/
- noPortErr = -903, /*Unable to open port or bad portRefNum. If you're calling */
- /* AESend, this is because your application does not have */
- /* the isHighLevelEventAware bit set in your SIZE resource. */
- noGlobalsErr = -904, /*The system is hosed, better re-boot*/
- localOnlyErr = -905, /*Network activity is currently disabled*/
- destPortErr = -906, /*Port does not exist at destination*/
- sessTableErr = -907, /*Out of session tables, try again later*/
- noSessionErr = -908, /*Invalid session reference number*/
- badReqErr = -909, /*bad parameter or invalid state for operation*/
- portNameExistsErr = -910, /*port is already open (perhaps in another app)*/
- noUserNameErr = -911, /*user name unknown on destination machine*/
- userRejectErr = -912, /*Destination rejected the session request*/
- noMachineNameErr = -913, /*user hasn't named his Macintosh in the Network Setup Control Panel*/
- noToolboxNameErr = -914, /*A system resource is missing, not too likely*/
- noResponseErr = -915, /*unable to contact destination*/
- portClosedErr = -916, /*port was closed*/
- sessClosedErr = -917, /*session was closed*/
- badPortNameErr = -919, /*PPCPortRec malformed*/
- noDefaultUserErr = -922, /*user hasn't typed in owners name in Network Setup Control Pannel*/
- notLoggedInErr = -923, /*The default userRefNum does not yet exist*/
- noUserRefErr = -924, /*unable to create a new userRefNum*/
- networkErr = -925, /*An error has occurred in the network, not too likely*/
- noInformErr = -926, /*PPCStart failed because destination did not have inform pending*/
- authFailErr = -927, /*unable to authenticate user at destination*/
- noUserRecErr = -928, /*Invalid user reference number*/
- badServiceMethodErr = -930, /*illegal service type, or not supported*/
- badLocNameErr = -931, /*location name malformed*/
- guestNotAllowedErr = -932 /*destination port requires authentication*/
- };
-
- /* Font Mgr errors*/
- enum
- {
- kFMIterationCompleted = -980L,
- kFMInvalidFontFamilyErr = -981L,
- kFMInvalidFontErr = -982L,
- kFMIterationScopeModifiedErr = -983L,
- kFMFontTableAccessErr = -984L,
- kFMFontContainerAccessErr = -985L
- };
-
- enum
- {
- noMaskFoundErr = -1000 /*Icon Utilties Error*/
- };
-
- enum
- {
- nbpBuffOvr = -1024, /*Buffer overflow in LookupName*/
- nbpNoConfirm = -1025,
- nbpConfDiff = -1026, /*Name confirmed at different socket*/
- nbpDuplicate = -1027, /*Duplicate name exists already*/
- nbpNotFound = -1028, /*Name not found on remove*/
- nbpNISErr = -1029 /*Error trying to open the NIS*/
- };
-
- enum
- {
- aspBadVersNum = -1066, /*Server cannot support this ASP version*/
- aspBufTooSmall = -1067, /*Buffer too small*/
- aspNoMoreSess = -1068, /*No more sessions on server*/
- aspNoServers = -1069, /*No servers at that address*/
- aspParamErr = -1070, /*Parameter error*/
- aspServerBusy = -1071, /*Server cannot open another session*/
- aspSessClosed = -1072, /*Session closed*/
- aspSizeErr = -1073, /*Command block too big*/
- aspTooMany = -1074, /*Too many clients (server error)*/
- aspNoAck = -1075 /*No ack on attention request (server err)*/
- };
-
- enum
- {
- reqFailed = -1096,
- tooManyReqs = -1097,
- tooManySkts = -1098,
- badATPSkt = -1099,
- badBuffNum = -1100,
- noRelErr = -1101,
- cbNotFound = -1102,
- noSendResp = -1103,
- noDataArea = -1104,
- reqAborted = -1105
- };
-
- /* ADSP Error Codes */
- enum
- {
- /* driver control ioResults */
- errRefNum = -1280, /* bad connection refNum */
- errAborted = -1279, /* control call was aborted */
- errState = -1278, /* bad connection state for this operation */
- errOpening = -1277, /* open connection request failed */
- errAttention = -1276, /* attention message too long */
- errFwdReset = -1275, /* read terminated by forward reset */
- errDSPQueueSize = -1274, /* DSP Read/Write Queue Too small */
- errOpenDenied = -1273 /* open connection request was denied */
- };
-
-
- /*--------------------------------------------------------------
- Apple event manager error messages
- --------------------------------------------------------------*/
-
- enum
- {
- errAECoercionFail = -1700, /* bad parameter data or unable to coerce the data supplied */
- errAEDescNotFound = -1701,
- errAECorruptData = -1702,
- errAEWrongDataType = -1703,
- errAENotAEDesc = -1704,
- errAEBadListItem = -1705, /* the specified list item does not exist */
- errAENewerVersion = -1706, /* need newer version of the AppleEvent manager */
- errAENotAppleEvent = -1707, /* the event is not in AppleEvent format */
- errAEEventNotHandled = -1708, /* the AppleEvent was not handled by any handler */
- errAEReplyNotValid = -1709, /* AEResetTimer was passed an invalid reply parameter */
- errAEUnknownSendMode = -1710, /* mode wasn't NoReply, WaitReply, or QueueReply or Interaction level is unknown */
- errAEWaitCanceled = -1711, /* in AESend, the user cancelled out of wait loop for reply or receipt */
- errAETimeout = -1712, /* the AppleEvent timed out */
- errAENoUserInteraction = -1713, /* no user interaction is allowed */
- errAENotASpecialFunction = -1714, /* there is no special function for/with this keyword */
- errAEParamMissed = -1715, /* a required parameter was not accessed */
- errAEUnknownAddressType = -1716, /* the target address type is not known */
- errAEHandlerNotFound = -1717, /* no handler in the dispatch tables fits the parameters to AEGetEventHandler or AEGetCoercionHandler */
- errAEReplyNotArrived = -1718, /* the contents of the reply you are accessing have not arrived yet */
- errAEIllegalIndex = -1719, /* index is out of range in a put operation */
- errAEImpossibleRange = -1720, /* A range like 3rd to 2nd, or 1st to all. */
- errAEWrongNumberArgs = -1721, /* Logical op kAENOT used with other than 1 term */
- errAEAccessorNotFound = -1723, /* Accessor proc matching wantClass and containerType or wildcards not found */
- errAENoSuchLogical = -1725, /* Something other than AND, OR, or NOT */
- errAEBadTestKey = -1726, /* Test is neither typeLogicalDescriptor nor typeCompDescriptor */
- errAENotAnObjSpec = -1727, /* Param to AEResolve not of type 'obj ' */
- errAENoSuchObject = -1728, /* e.g.,: specifier asked for the 3rd, but there are only 2. Basically, this indicates a run-time resolution error. */
- errAENegativeCount = -1729, /* CountProc returned negative value */
- errAEEmptyListContainer = -1730, /* Attempt to pass empty list as container to accessor */
- errAEUnknownObjectType = -1731, /* available only in version 1.0.1 or greater */
- errAERecordingIsAlreadyOn = -1732, /* available only in version 1.0.1 or greater */
- errAEReceiveTerminate = -1733, /* break out of all levels of AEReceive to the topmost (1.1 or greater) */
- errAEReceiveEscapeCurrent = -1734, /* break out of only lowest level of AEReceive (1.1 or greater) */
- errAEEventFiltered = -1735, /* event has been filtered, and should not be propogated (1.1 or greater) */
- errAEDuplicateHandler = -1736, /* attempt to install handler in table for identical class and id (1.1 or greater) */
- errAEStreamBadNesting = -1737, /* nesting violation while streaming */
- errAEStreamAlreadyConverted = -1738, /* attempt to convert a stream that has already been converted */
- errAEDescIsNull = -1739, /* attempting to perform an invalid operation on a null descriptor */
- errAEBuildSyntaxError = -1740, /* AEBuildDesc and friends detected a syntax error */
- errAEBufferTooSmall = -1741 /* buffer for AEFlattenDesc too small */
- };
-
- enum
- {
- errOSASystemError = -1750,
- errOSAInvalidID = -1751,
- errOSABadStorageType = -1752,
- errOSAScriptError = -1753,
- errOSABadSelector = -1754,
- errOSASourceNotAvailable = -1756,
- errOSANoSuchDialect = -1757,
- errOSADataFormatObsolete = -1758,
- errOSADataFormatTooNew = -1759,
- errOSACorruptData = errAECorruptData,
- errOSARecordingIsAlreadyOn = errAERecordingIsAlreadyOn,
- errOSAComponentMismatch = -1761, /* Parameters are from 2 different components */
- errOSACantOpenComponent = -1762 /* Can't connect to scripting system with that ID */
- };
-
-
-
- /* AppleEvent error definitions */
- enum
- {
- errOffsetInvalid = -1800,
- errOffsetIsOutsideOfView = -1801,
- errTopOfDocument = -1810,
- errTopOfBody = -1811,
- errEndOfDocument = -1812,
- errEndOfBody = -1813
- };
-
-
- enum
- {
- /* Drag Manager error codes */
- badDragRefErr = -1850, /* unknown drag reference */
- badDragItemErr = -1851, /* unknown drag item reference */
- badDragFlavorErr = -1852, /* unknown flavor type */
- duplicateFlavorErr = -1853, /* flavor type already exists */
- cantGetFlavorErr = -1854, /* error while trying to get flavor data */
- duplicateHandlerErr = -1855, /* handler already exists */
- handlerNotFoundErr = -1856, /* handler not found */
- dragNotAcceptedErr = -1857, /* drag was not accepted by receiver */
- unsupportedForPlatformErr = -1858, /* call is for PowerPC only */
- noSuitableDisplaysErr = -1859, /* no displays support translucency */
- badImageRgnErr = -1860, /* bad translucent image region */
- badImageErr = -1861, /* bad translucent image PixMap */
- nonDragOriginatorErr = -1862 /* illegal attempt at originator only data */
- };
-
-
- /* QuickTime errors */
- enum
- {
- couldNotResolveDataRef = -2000,
- badImageDescription = -2001,
- badPublicMovieAtom = -2002,
- cantFindHandler = -2003,
- cantOpenHandler = -2004,
- badComponentType = -2005,
- noMediaHandler = -2006,
- noDataHandler = -2007,
- invalidMedia = -2008,
- invalidTrack = -2009,
- invalidMovie = -2010,
- invalidSampleTable = -2011,
- invalidDataRef = -2012,
- invalidHandler = -2013,
- invalidDuration = -2014,
- invalidTime = -2015,
- cantPutPublicMovieAtom = -2016,
- badEditList = -2017,
- mediaTypesDontMatch = -2018,
- progressProcAborted = -2019,
- movieToolboxUninitialized = -2020,
- noRecordOfApp = movieToolboxUninitialized, /* replica */
- wfFileNotFound = -2021,
- cantCreateSingleForkFile = -2022, /* happens when file already exists */
- invalidEditState = -2023,
- nonMatchingEditState = -2024,
- staleEditState = -2025,
- userDataItemNotFound = -2026,
- maxSizeToGrowTooSmall = -2027,
- badTrackIndex = -2028,
- trackIDNotFound = -2029,
- trackNotInMovie = -2030,
- timeNotInTrack = -2031,
- timeNotInMedia = -2032,
- badEditIndex = -2033,
- internalQuickTimeError = -2034,
- cantEnableTrack = -2035,
- invalidRect = -2036,
- invalidSampleNum = -2037,
- invalidChunkNum = -2038,
- invalidSampleDescIndex = -2039,
- invalidChunkCache = -2040,
- invalidSampleDescription = -2041,
- dataNotOpenForRead = -2042,
- dataNotOpenForWrite = -2043,
- dataAlreadyOpenForWrite = -2044,
- dataAlreadyClosed = -2045,
- endOfDataReached = -2046,
- dataNoDataRef = -2047,
- noMovieFound = -2048,
- invalidDataRefContainer = -2049,
- badDataRefIndex = -2050,
- noDefaultDataRef = -2051,
- couldNotUseAnExistingSample = -2052,
- featureUnsupported = -2053,
- noVideoTrackInMovieErr = -2054, /* QT for Windows error */
- noSoundTrackInMovieErr = -2055, /* QT for Windows error */
- soundSupportNotAvailableErr = -2056, /* QT for Windows error */
- unsupportedAuxiliaryImportData = -2057,
- auxiliaryExportDataUnavailable = -2058,
- samplesAlreadyInMediaErr = -2059,
- noSourceTreeFoundErr = -2060,
- sourceNotFoundErr = -2061,
- movieTextNotFoundErr = -2062,
- missingRequiredParameterErr = -2063,
- invalidSpriteWorldPropertyErr = -2064,
- invalidSpritePropertyErr = -2065,
- gWorldsNotSameDepthAndSizeErr = -2066,
- invalidSpriteIndexErr = -2067,
- invalidImageIndexErr = -2068,
- invalidSpriteIDErr = -2069
- };
-
- enum
- {
- internalComponentErr = -2070,
- notImplementedMusicOSErr = -2071,
- cantSendToSynthesizerOSErr = -2072,
- cantReceiveFromSynthesizerOSErr = -2073,
- illegalVoiceAllocationOSErr = -2074,
- illegalPartOSErr = -2075,
- illegalChannelOSErr = -2076,
- illegalKnobOSErr = -2077,
- illegalKnobValueOSErr = -2078,
- illegalInstrumentOSErr = -2079,
- illegalControllerOSErr = -2080,
- midiManagerAbsentOSErr = -2081,
- synthesizerNotRespondingOSErr = -2082,
- synthesizerOSErr = -2083,
- illegalNoteChannelOSErr = -2084,
- noteChannelNotAllocatedOSErr = -2085,
- tunePlayerFullOSErr = -2086,
- tuneParseOSErr = -2087,
- noExportProcAvailableErr = -2089,
- videoOutputInUseErr = -2090
- };
-
- enum
- {
- componentDllLoadErr = -2091, /* Windows specific errors (when component is loading)*/
- componentDllEntryNotFoundErr = -2092, /* Windows specific errors (when component is loading)*/
- qtmlDllLoadErr = -2093, /* Windows specific errors (when qtml is loading)*/
- qtmlDllEntryNotFoundErr = -2094, /* Windows specific errors (when qtml is loading)*/
- qtmlUninitialized = -2095,
- unsupportedOSErr = -2096,
- unsupportedProcessorErr = -2097
- };
-
- enum
- {
- cannotFindAtomErr = -2101,
- notLeafAtomErr = -2102,
- atomsNotOfSameTypeErr = -2103,
- atomIndexInvalidErr = -2104,
- duplicateAtomTypeAndIDErr = -2105,
- invalidAtomErr = -2106,
- invalidAtomContainerErr = -2107,
- invalidAtomTypeErr = -2108,
- cannotBeLeafAtomErr = -2109,
- pathTooLongErr = -2110,
- emptyPathErr = -2111,
- noPathMappingErr = -2112,
- pathNotVerifiedErr = -2113,
- unknownFormatErr = -2114,
- wackBadFileErr = -2115,
- wackForkNotFoundErr = -2116,
- wackBadMetaDataErr = -2117,
- qfcbNotFoundErr = -2118,
- qfcbNotCreatedErr = -2119,
- AAPNotCreatedErr = -2120,
- AAPNotFoundErr = -2121,
- ASDBadHeaderErr = -2122,
- ASDBadForkErr = -2123,
- ASDEntryNotFoundErr = -2124,
- fileOffsetTooBigErr = -2125,
- notAllowedToSaveMovieErr = -2126,
- qtNetworkAlreadyAllocatedErr = -2127,
- urlDataHHTTPProtocolErr = -2129,
- urlDataHHTTPNoNetDriverErr = -2130,
- urlDataHHTTPURLErr = -2131,
- urlDataHHTTPRedirectErr = -2132,
- urlDataHFTPProtocolErr = -2133,
- urlDataHFTPShutdownErr = -2134,
- urlDataHFTPBadUserErr = -2135,
- urlDataHFTPBadPasswordErr = -2136,
- urlDataHFTPServerErr = -2137,
- urlDataHFTPDataConnectionErr = -2138,
- urlDataHFTPNoDirectoryErr = -2139,
- urlDataHFTPQuotaErr = -2140,
- urlDataHFTPPermissionsErr = -2141,
- urlDataHFTPFilenameErr = -2142,
- urlDataHFTPNoNetDriverErr = -2143,
- urlDataHFTPBadNameListErr = -2144,
- urlDataHFTPNeedPasswordErr = -2145,
- urlDataHFTPNoPasswordErr = -2146,
- urlDataHFTPServerDisconnectedErr = -2147,
- urlDataHFTPURLErr = -2148,
- notEnoughDataErr = -2149,
- qtActionNotHandledErr = -2157,
- qtXMLParseErr = -2158,
- qtXMLApplicationErr = -2159
- };
-
-
- enum
- {
- digiUnimpErr = -2201, /* feature unimplemented */
- qtParamErr = -2202, /* bad input parameter (out of range, etc) */
- matrixErr = -2203, /* bad matrix, digitizer did nothing */
- notExactMatrixErr = -2204, /* warning of bad matrix, digitizer did its best */
- noMoreKeyColorsErr = -2205, /* all key indexes in use */
- notExactSizeErr = -2206, /* Can't do exact size requested */
- badDepthErr = -2207, /* Can't digitize into this depth */
- noDMAErr = -2208, /* Can't do DMA digitizing (i.e. can't go to requested dest */
- badCallOrderErr = -2209 /* Usually due to a status call being called prior to being setup first */
- };
-
-
- /* Kernel Error Codes */
- enum
- {
- kernelIncompleteErr = -2401,
- kernelCanceledErr = -2402,
- kernelOptionsErr = -2403,
- kernelPrivilegeErr = -2404,
- kernelUnsupportedErr = -2405,
- kernelObjectExistsErr = -2406,
- kernelWritePermissionErr = -2407,
- kernelReadPermissionErr = -2408,
- kernelExecutePermissionErr = -2409,
- kernelDeletePermissionErr = -2410,
- kernelExecutionLevelErr = -2411,
- kernelAttributeErr = -2412,
- kernelAsyncSendLimitErr = -2413,
- kernelAsyncReceiveLimitErr = -2414,
- kernelTimeoutErr = -2415,
- kernelInUseErr = -2416,
- kernelTerminatedErr = -2417,
- kernelExceptionErr = -2418,
- kernelIDErr = -2419,
- kernelAlreadyFreeErr = -2421,
- kernelReturnValueErr = -2422,
- kernelUnrecoverableErr = -2499
- };
-
-
-
- enum
- {
- /* Text Services Mgr error codes */
- tsmComponentNoErr = 0, /* component result = no error */
- tsmUnsupScriptLanguageErr = -2500,
- tsmInputMethodNotFoundErr = -2501,
- tsmNotAnAppErr = -2502, /* not an application error */
- tsmAlreadyRegisteredErr = -2503, /* want to register again error */
- tsmNeverRegisteredErr = -2504, /* app never registered error (not TSM aware) */
- tsmInvalidDocIDErr = -2505, /* invalid TSM documentation id */
- tsmTSMDocBusyErr = -2506, /* document is still active */
- tsmDocNotActiveErr = -2507, /* document is NOT active */
- tsmNoOpenTSErr = -2508, /* no open text service */
- tsmCantOpenComponentErr = -2509, /* can't open the component */
- tsmTextServiceNotFoundErr = -2510, /* no text service found */
- tsmDocumentOpenErr = -2511, /* there are open documents */
- tsmUseInputWindowErr = -2512, /* not TSM aware because we are using input window */
- tsmTSHasNoMenuErr = -2513, /* the text service has no menu */
- tsmTSNotOpenErr = -2514, /* text service is not open */
- tsmComponentAlreadyOpenErr = -2515, /* text service already opened for the document */
- tsmInputMethodIsOldErr = -2516, /* returned by GetDefaultInputMethod */
- tsmScriptHasNoIMErr = -2517, /* script has no imput method or is using old IM */
- tsmUnsupportedTypeErr = -2518, /* unSupported interface type error */
- tsmUnknownErr = -2519, /* any other errors */
- tsmInvalidContext = -2520, /* Invalid TSMContext specified in call */
- tsmNoHandler = -2521, /* No Callback Handler exists for callback */
- tsmNoMoreTokens = -2522, /* No more tokens are available for the source text */
- tsmNoStem = -2523, /* No stem exists for the token */
- tsmDefaultIsNotInputMethodErr = -2524, /* Current Input source is KCHR or uchr, not Input Method (GetDefaultInputMethod) */
- tsmDocPropertyNotFoundErr = -2528, /* Requested TSM Document property not found */
- tsmDocPropertyBufferTooSmallErr = -2529, /* Buffer passed in for property value is too small */
- tsmCantChangeForcedClassStateErr = -2530 /* Enabled state of a TextService class has been forced and cannot be changed */
- };
-
-
- enum
- {
- /* Mixed Mode error codes */
- mmInternalError = -2526
- };
-
- /* NameRegistry error codes */
- enum
- {
- nrLockedErr = -2536,
- nrNotEnoughMemoryErr = -2537,
- nrInvalidNodeErr = -2538,
- nrNotFoundErr = -2539,
- nrNotCreatedErr = -2540,
- nrNameErr = -2541,
- nrNotSlotDeviceErr = -2542,
- nrDataTruncatedErr = -2543,
- nrPowerErr = -2544,
- nrPowerSwitchAbortErr = -2545,
- nrTypeMismatchErr = -2546,
- nrNotModifiedErr = -2547,
- nrOverrunErr = -2548,
- nrResultCodeBase = -2549,
- nrPathNotFound = -2550, /* a path component lookup failed */
- nrPathBufferTooSmall = -2551, /* buffer for path is too small */
- nrInvalidEntryIterationOp = -2552, /* invalid entry iteration operation */
- nrPropertyAlreadyExists = -2553, /* property already exists */
- nrIterationDone = -2554, /* iteration operation is done */
- nrExitedIteratorScope = -2555, /* outer scope of iterator was exited */
- nrTransactionAborted = -2556, /* transaction was aborted */
- nrCallNotSupported = -2557 /* This call is not available or supported on this machine */
- };
-
- /* Icon Services error codes */
- enum
- {
- invalidIconRefErr = -2580, /* The icon ref is not valid */
- noSuchIconErr = -2581, /* The requested icon could not be found */
- noIconDataAvailableErr = -2582 /* The necessary icon data is not available */
- };
-
-
- /*
- Dynamic AppleScript errors:
-
- These errors result from data-dependent conditions and are typically
- signaled at runtime.
- */
- enum
- {
- errOSACantCoerce = errAECoercionFail, /* Signaled when a value can't be coerced to the desired type. */
- errOSACantAccess = errAENoSuchObject, /* Signaled when an object is not found in a container*/
- errOSACantAssign = -10006, /* Signaled when an object cannot be set in a container.*/
- errOSAGeneralError = -2700, /* Signaled by user scripts or applications when no actual error code is to be returned.*/
- errOSADivideByZero = -2701, /* Signaled when there is an attempt to divide by zero*/
- errOSANumericOverflow = -2702, /* Signaled when integer or real value is too large to be represented*/
- errOSACantLaunch = -2703, /* Signaled when application can't be launched or when it is remote and program linking is not enabled*/
- errOSAAppNotHighLevelEventAware = -2704, /* Signaled when an application can't respond to AppleEvents*/
- errOSACorruptTerminology = -2705, /* Signaled when an application's terminology resource is not readable*/
- errOSAStackOverflow = -2706, /* Signaled when the runtime stack overflows*/
- errOSAInternalTableOverflow = -2707, /* Signaled when a runtime internal data structure overflows*/
- errOSADataBlockTooLarge = -2708, /* Signaled when an intrinsic limitation is exceeded for the size of a value or data structure.*/
- errOSACantGetTerminology = -2709,
- errOSACantCreate = -2710
- };
-
- /*
- Component-specific dynamic script errors:
-
- The range -2720 thru -2739 is reserved for component-specific runtime errors.
- (Note that error codes from different scripting components in this range will
- overlap.)
- */
- /*
- Static AppleScript errors:
-
- These errors comprise what are commonly thought of as parse and compile-
- time errors. However, in a dynamic system (e.g. AppleScript) any or all
- of these may also occur at runtime.
- */
- enum
- {
- errOSATypeError = errAEWrongDataType,
- OSAMessageNotUnderstood = errAEEventNotHandled, /* Signaled when a message was sent to an object that didn't handle it*/
- OSAUndefinedHandler = errAEHandlerNotFound, /* Signaled when a function to be returned doesn't exist. */
- OSAIllegalAccess = errAEAccessorNotFound, /* Signaled when a container can never have the requested object*/
- OSAIllegalIndex = errAEIllegalIndex, /* Signaled when index was out of range. Specialization of errOSACantAccess*/
- OSAIllegalRange = errAEImpossibleRange, /* Signaled when a range is screwy. Specialization of errOSACantAccess*/
- OSAIllegalAssign = -10003, /* Signaled when an object can never be set in a container*/
- OSASyntaxError = -2740, /* Signaled when a syntax error occurs. (e.g. "Syntax error" or "<this> can't go after <that>")*/
- OSASyntaxTypeError = -2741, /* Signaled when another form of syntax was expected. (e.g. "expected a <type> but found <this>")*/
- OSATokenTooLong = -2742, /* Signaled when a name or number is too long to be parsed*/
- OSAMissingParameter = errAEDescNotFound, /* Signaled when a parameter is missing for a function invocation*/
- OSAParameterMismatch = errAEWrongNumberArgs, /* Signaled when function is called with the wrong number of parameters, or a parameter pattern cannot be matched*/
- OSADuplicateParameter = -2750, /* Signaled when a formal parameter, local variable, or instance variable is specified more than once*/
- OSADuplicateProperty = -2751, /* Signaled when a formal parameter, local variable, or instance variable is specified more than once.*/
- OSADuplicateHandler = -2752, /* Signaled when more than one handler is defined with the same name in a scope where the language doesn't allow it*/
- OSAUndefinedVariable = -2753, /* Signaled when a variable is accessed that has no value*/
- OSAInconsistentDeclarations = -2754, /* Signaled when a variable is declared inconsistently in the same scope, such as both local and global*/
- OSAControlFlowError = -2755 /* Signaled when illegal control flow occurs in an application (no catcher for throw, non-lexical loop exit, etc.)*/
- };
-
- /*
- Component-specific AppleScript static errors:
-
- The range -2760 thru -2779 is reserved for component-specific parsing and
- compile-time errors. (Note that error codes from different scripting
- components in this range will overlap.)
- */
- /*
- Dialect-specific AppleScript errors:
-
- The range -2780 thru -2799 is reserved for dialect specific error codes for
- scripting components that support dialects. (Note that error codes from
- different scripting components in this range will overlap, as well as error
- codes from different dialects in the same scripting component.)
- */
-
- /**************************************************************************
- Apple Script Error Codes
- **************************************************************************/
- /* Runtime errors: */
- enum
- {
- errASCantConsiderAndIgnore = -2720,
- errASCantCompareMoreThan32k = -2721, /* Parser/Compiler errors: */
- errASTerminologyNestingTooDeep = -2760,
- errASIllegalFormalParameter = -2761,
- errASParameterNotForEvent = -2762,
- errASNoResultReturned = -2763, /* The range -2780 thru -2799 is reserved for dialect specific error codes. (Error codes from different dialects may overlap.) */
- errASInconsistentNames = -2780 /* English errors: */
- };
-
-
- /* The preferred spelling for Code Fragment Manager errors:*/
- enum
- {
- cfragFirstErrCode = -2800, /* The first value in the range of CFM errors.*/
- cfragContextIDErr = -2800, /* The context ID was not valid.*/
- cfragConnectionIDErr = -2801, /* The connection ID was not valid.*/
- cfragNoSymbolErr = -2802, /* The specified symbol was not found.*/
- cfragNoSectionErr = -2803, /* The specified section was not found.*/
- cfragNoLibraryErr = -2804, /* The named library was not found.*/
- cfragDupRegistrationErr = -2805, /* The registration name was already in use.*/
- cfragFragmentFormatErr = -2806, /* A fragment's container format is unknown.*/
- cfragUnresolvedErr = -2807, /* A fragment had "hard" unresolved imports.*/
- cfragNoPositionErr = -2808, /* The registration insertion point was not found.*/
- cfragNoPrivateMemErr = -2809, /* Out of memory for internal bookkeeping.*/
- cfragNoClientMemErr = -2810, /* Out of memory for fragment mapping or section instances.*/
- cfragNoIDsErr = -2811, /* No more CFM IDs for contexts, connections, etc.*/
- cfragInitOrderErr = -2812, /* */
- cfragImportTooOldErr = -2813, /* An import library was too old for a client.*/
- cfragImportTooNewErr = -2814, /* An import library was too new for a client.*/
- cfragInitLoopErr = -2815, /* Circularity in required initialization order.*/
- cfragInitAtBootErr = -2816, /* A boot library has an initialization function. (System 7 only)*/
- cfragLibConnErr = -2817, /* */
- cfragCFMStartupErr = -2818, /* Internal error during CFM initialization.*/
- cfragCFMInternalErr = -2819, /* An internal inconstistancy has been detected.*/
- cfragFragmentCorruptErr = -2820, /* A fragment's container was corrupt (known format).*/
- cfragInitFunctionErr = -2821, /* A fragment's initialization routine returned an error.*/
- cfragNoApplicationErr = -2822, /* No application member found in the cfrg resource.*/
- cfragArchitectureErr = -2823, /* A fragment has an unacceptable architecture.*/
- cfragFragmentUsageErr = -2824, /* A semantic error in usage of the fragment.*/
- cfragFileSizeErr = -2825, /* A file was too large to be mapped.*/
- cfragNotClosureErr = -2826, /* The closure ID was actually a connection ID.*/
- cfragNoRegistrationErr = -2827, /* The registration name was not found.*/
- cfragContainerIDErr = -2828, /* The fragment container ID was not valid.*/
- cfragClosureIDErr = -2829, /* The closure ID was not valid.*/
- cfragAbortClosureErr = -2830, /* Used by notification handlers to abort a closure.*/
- cfragOutputLengthErr = -2831, /* An output parameter is too small to hold the value.*/
- cfragLastErrCode = -2899 /* The last value in the range of CFM errors.*/
- };
+enum {
+ paramErr = -50, /*error in user parameter list*/
+ noHardwareErr = -200, /*Sound Manager Error Returns*/
+ notEnoughHardwareErr = -201, /*Sound Manager Error Returns*/
+ userCanceledErr = -128,
+ qErr = -1, /*queue element not found during deletion*/
+ vTypErr = -2, /*invalid queue element*/
+ corErr = -3, /*core routine number out of range*/
+ unimpErr = -4, /*unimplemented core routine*/
+ SlpTypeErr = -5, /*invalid queue element*/
+ seNoDB = -8, /*no debugger installed to handle debugger command*/
+ controlErr = -17, /*I/O System Errors*/
+ statusErr = -18, /*I/O System Errors*/
+ readErr = -19, /*I/O System Errors*/
+ writErr = -20, /*I/O System Errors*/
+ badUnitErr = -21, /*I/O System Errors*/
+ unitEmptyErr = -22, /*I/O System Errors*/
+ openErr = -23, /*I/O System Errors*/
+ closErr = -24, /*I/O System Errors*/
+ dRemovErr = -25, /*tried to remove an open driver*/
+ dInstErr = -26 /*DrvrInstall couldn't find driver in resources*/
+};
+
+enum {
+ abortErr = -27, /*IO call aborted by KillIO*/
+ iIOAbortErr = -27, /*IO abort error (Printing Manager)*/
+ notOpenErr = -28, /*Couldn't rd/wr/ctl/sts cause driver not opened*/
+ unitTblFullErr = -29, /*unit table has no more entries*/
+ dceExtErr = -30, /*dce extension error*/
+ slotNumErr = -360, /*invalid slot # error*/
+ gcrOnMFMErr = -400, /*gcr format on high density media error*/
+ dirFulErr = -33, /*Directory full*/
+ dskFulErr = -34, /*disk full*/
+ nsvErr = -35, /*no such volume*/
+ ioErr = -36, /*I/O error (bummers)*/
+ bdNamErr = -37, /*there may be no bad names in the final system!*/
+ fnOpnErr = -38, /*File not open*/
+ eofErr = -39, /*End of file*/
+ posErr = -40, /*tried to position to before start of file (r/w)*/
+ mFulErr = -41, /*memory full (open) or file won't fit (load)*/
+ tmfoErr = -42, /*too many files open*/
+ fnfErr = -43, /*File not found*/
+ wPrErr = -44, /*diskette is write protected.*/
+ fLckdErr = -45 /*file is locked*/
+};
+
+enum {
+ vLckdErr = -46, /*volume is locked*/
+ fBsyErr = -47, /*File is busy (delete)*/
+ dupFNErr = -48, /*duplicate filename (rename)*/
+ opWrErr = -49, /*file already open with with write permission*/
+ rfNumErr = -51, /*refnum error*/
+ gfpErr = -52, /*get file position error*/
+ volOffLinErr = -53, /*volume not on line error (was Ejected)*/
+ permErr = -54, /*permissions error (on file open)*/
+ volOnLinErr = -55, /*drive volume already on-line at MountVol*/
+ nsDrvErr = -56, /*no such drive (tried to mount a bad drive num)*/
+ noMacDskErr = -57, /*not a mac diskette (sig bytes are wrong)*/
+ extFSErr = -58, /*volume in question belongs to an external fs*/
+ fsRnErr = -59, /*file system internal error:during rename the old entry was deleted but could not be restored.*/
+ badMDBErr = -60, /*bad master directory block*/
+ wrPermErr = -61, /*write permissions error*/
+ dirNFErr = -120, /*Directory not found*/
+ tmwdoErr = -121, /*No free WDCB available*/
+ badMovErr = -122, /*Move into offspring error*/
+ wrgVolTypErr = -123, /*Wrong volume type error [operation not supported for MFS]*/
+ volGoneErr = -124 /*Server volume has been disconnected.*/
+};
+
+enum {
+ fidNotFound = -1300, /*no file thread exists.*/
+ fidExists = -1301, /*file id already exists*/
+ notAFileErr = -1302, /*directory specified*/
+ diffVolErr = -1303, /*files on different volumes*/
+ catChangedErr = -1304, /*the catalog has been modified*/
+ desktopDamagedErr = -1305, /*desktop database files are corrupted*/
+ sameFileErr = -1306, /*can't exchange a file with itself*/
+ badFidErr = -1307, /*file id is dangling or doesn't match with the file number*/
+ notARemountErr = -1308, /*when _Mount allows only remounts and doesn't get one*/
+ fileBoundsErr = -1309, /*file's EOF, offset, mark or size is too big*/
+ fsDataTooBigErr = -1310, /*file or volume is too big for system*/
+ volVMBusyErr = -1311, /*can't eject because volume is in use by VM*/
+ badFCBErr = -1327, /*FCBRecPtr is not valid*/
+ errFSUnknownCall = -1400, /* selector is not recognized by this filesystem */
+ errFSBadFSRef = -1401, /* FSRef parameter is bad */
+ errFSBadForkName = -1402, /* Fork name parameter is bad */
+ errFSBadBuffer = -1403, /* A buffer parameter was bad */
+ errFSBadForkRef = -1404, /* A ForkRefNum parameter was bad */
+ errFSBadInfoBitmap = -1405, /* A CatalogInfoBitmap or VolumeInfoBitmap has reserved or invalid bits set */
+ errFSMissingCatInfo = -1406, /* A CatalogInfo parameter was NULL */
+ errFSNotAFolder = -1407, /* Expected a folder, got a file */
+ errFSForkNotFound = -1409, /* Named fork does not exist */
+ errFSNameTooLong = -1410, /* File/fork name is too long to create/rename */
+ errFSMissingName = -1411, /* A Unicode name parameter was NULL or nameLength parameter was zero */
+ errFSBadPosMode = -1412, /* Newline bits set in positionMode */
+ errFSBadAllocFlags = -1413, /* Invalid bits set in allocationFlags */
+ errFSNoMoreItems = -1417, /* Iteration ran out of items to return */
+ errFSBadItemCount = -1418, /* maximumItems was zero */
+ errFSBadSearchParams = -1419, /* Something wrong with CatalogSearch searchParams */
+ errFSRefsDifferent = -1420, /* FSCompareFSRefs; refs are for different objects */
+ errFSForkExists = -1421, /* Named fork already exists. */
+ errFSBadIteratorFlags = -1422, /* Flags passed to FSOpenIterator are bad */
+ errFSIteratorNotFound = -1423, /* Passed FSIterator is not an open iterator */
+ errFSIteratorNotSupported = -1424, /* The iterator's flags or container are not supported by this call */
+ errFSQuotaExceeded = -1425, /* The user's quota of disk blocks has been exhausted. */
+ envNotPresent = -5500, /*returned by glue.*/
+ envBadVers = -5501, /*Version non-positive*/
+ envVersTooBig = -5502, /*Version bigger than call can handle*/
+ fontDecError = -64, /*error during font declaration*/
+ fontNotDeclared = -65, /*font not declared*/
+ fontSubErr = -66, /*font substitution occurred*/
+ fontNotOutlineErr = -32615, /*bitmap font passed to routine that does outlines only*/
+ firstDskErr = -84, /*I/O System Errors*/
+ lastDskErr = -64, /*I/O System Errors*/
+ noDriveErr = -64, /*drive not installed*/
+ offLinErr = -65, /*r/w requested for an off-line drive*/
+ noNybErr = -66 /*couldn't find 5 nybbles in 200 tries*/
+};
+
+enum {
+ noAdrMkErr = -67, /*couldn't find valid addr mark*/
+ dataVerErr = -68, /*read verify compare failed*/
+ badCksmErr = -69, /*addr mark checksum didn't check*/
+ badBtSlpErr = -70, /*bad addr mark bit slip nibbles*/
+ noDtaMkErr = -71, /*couldn't find a data mark header*/
+ badDCksum = -72, /*bad data mark checksum*/
+ badDBtSlp = -73, /*bad data mark bit slip nibbles*/
+ wrUnderrun = -74, /*write underrun occurred*/
+ cantStepErr = -75, /*step handshake failed*/
+ tk0BadErr = -76, /*track 0 detect doesn't change*/
+ initIWMErr = -77, /*unable to initialize IWM*/
+ twoSideErr = -78, /*tried to read 2nd side on a 1-sided drive*/
+ spdAdjErr = -79, /*unable to correctly adjust disk speed*/
+ seekErr = -80, /*track number wrong on address mark*/
+ sectNFErr = -81, /*sector number never found on a track*/
+ fmt1Err = -82, /*can't find sector 0 after track format*/
+ fmt2Err = -83, /*can't get enough sync*/
+ verErr = -84, /*track failed to verify*/
+ clkRdErr = -85, /*unable to read same clock value twice*/
+ clkWrErr = -86, /*time written did not verify*/
+ prWrErr = -87, /*parameter ram written didn't read-verify*/
+ prInitErr = -88, /*InitUtil found the parameter ram uninitialized*/
+ rcvrErr = -89, /*SCC receiver error (framing; parity; OR)*/
+ breakRecd = -90 /*Break received (SCC)*/
+};
+
+enum {
+ /*Scrap Manager errors*/
+ noScrapErr = -100, /*No scrap exists error*/
+ noTypeErr = -102 /*No object of that type in scrap*/
+};
+
+enum {
+ /* ENET error codes */
+ eLenErr = -92, /*Length error ddpLenErr*/
+ eMultiErr = -91 /*Multicast address error ddpSktErr*/
+};
+
+enum {
+ ddpSktErr = -91, /*error in soket number*/
+ ddpLenErr = -92, /*data length too big*/
+ noBridgeErr = -93, /*no network bridge for non-local send*/
+ lapProtErr = -94, /*error in attaching/detaching protocol*/
+ excessCollsns = -95, /*excessive collisions on write*/
+ portNotPwr = -96, /*serial port not currently powered*/
+ portInUse = -97, /*driver Open error code (port is in use)*/
+ portNotCf = -98 /*driver Open error code (parameter RAM not configured for this connection)*/
+};
+
+enum {
+ /* Memory Manager errors*/
+ memROZWarn = -99, /*soft error in ROZ*/
+ memROZError = -99, /*hard error in ROZ*/
+ memROZErr = -99, /*hard error in ROZ*/
+ memFullErr = -108, /*Not enough room in heap zone*/
+ nilHandleErr = -109, /*Master Pointer was NIL in HandleZone or other*/
+ memWZErr = -111, /*WhichZone failed (applied to free block)*/
+ memPurErr = -112, /*trying to purge a locked or non-purgeable block*/
+ memAdrErr = -110, /*address was odd; or out of range*/
+ memAZErr = -113, /*Address in zone check failed*/
+ memPCErr = -114, /*Pointer Check failed*/
+ memBCErr = -115, /*Block Check failed*/
+ memSCErr = -116, /*Size Check failed*/
+ memLockedErr = -117 /*trying to move a locked block (MoveHHi)*/
+};
+
+enum {
+ /* Printing Errors */
+ iMemFullErr = -108,
+ iIOAbort = -27
+};
+
+
+enum {
+ resourceInMemory = -188, /*Resource already in memory*/
+ writingPastEnd = -189, /*Writing past end of file*/
+ inputOutOfBounds = -190, /*Offset of Count out of bounds*/
+ resNotFound = -192, /*Resource not found*/
+ resFNotFound = -193, /*Resource file not found*/
+ addResFailed = -194, /*AddResource failed*/
+ addRefFailed = -195, /*AddReference failed*/
+ rmvResFailed = -196, /*RmveResource failed*/
+ rmvRefFailed = -197, /*RmveReference failed*/
+ resAttrErr = -198, /*attribute inconsistent with operation*/
+ mapReadErr = -199, /*map inconsistent with operation*/
+ CantDecompress = -186, /*resource bent ("the bends") - can't decompress a compressed resource*/
+ badExtResource = -185, /*extended resource has a bad format.*/
+ noMemForPictPlaybackErr = -145,
+ rgnOverflowErr = -147,
+ rgnTooBigError = -147,
+ pixMapTooDeepErr = -148,
+ insufficientStackErr = -149,
+ nsStackErr = -149
+};
+
+enum {
+ evtNotEnb = 1 /*event not enabled at PostEvent*/
+};
+
+/* OffScreen QuickDraw Errors */
+enum {
+ cMatchErr = -150, /*Color2Index failed to find an index*/
+ cTempMemErr = -151, /*failed to allocate memory for temporary structures*/
+ cNoMemErr = -152, /*failed to allocate memory for structure*/
+ cRangeErr = -153, /*range error on colorTable request*/
+ cProtectErr = -154, /*colorTable entry protection violation*/
+ cDevErr = -155, /*invalid type of graphics device*/
+ cResErr = -156, /*invalid resolution for MakeITable*/
+ cDepthErr = -157, /*invalid pixel depth */
+ rgnTooBigErr = -500, /* should have never been added! (cf. rgnTooBigError = 147) */
+ updPixMemErr = -125, /*insufficient memory to update a pixmap*/
+ pictInfoVersionErr = -11000, /*wrong version of the PictInfo structure*/
+ pictInfoIDErr = -11001, /*the internal consistancy check for the PictInfoID is wrong*/
+ pictInfoVerbErr = -11002, /*the passed verb was invalid*/
+ cantLoadPickMethodErr = -11003, /*unable to load the custom pick proc*/
+ colorsRequestedErr = -11004, /*the number of colors requested was illegal*/
+ pictureDataErr = -11005 /*the picture data was invalid*/
+};
+
+/* ColorSync Result codes */
+enum {
+ /* General Errors */
+ cmProfileError = -170,
+ cmMethodError = -171,
+ cmMethodNotFound = -175, /* CMM not present */
+ cmProfileNotFound = -176, /* Responder error */
+ cmProfilesIdentical = -177, /* Profiles the same */
+ cmCantConcatenateError = -178, /* Profile can't be concatenated */
+ cmCantXYZ = -179, /* CMM cant handle XYZ space */
+ cmCantDeleteProfile = -180, /* Responder error */
+ cmUnsupportedDataType = -181, /* Responder error */
+ cmNoCurrentProfile = -182 /* Responder error */
+};
+
+
+enum {
+ /*Sound Manager errors*/
+ noHardware = noHardwareErr, /*obsolete spelling*/
+ notEnoughHardware = notEnoughHardwareErr, /*obsolete spelling*/
+ queueFull = -203, /*Sound Manager Error Returns*/
+ resProblem = -204, /*Sound Manager Error Returns*/
+ badChannel = -205, /*Sound Manager Error Returns*/
+ badFormat = -206, /*Sound Manager Error Returns*/
+ notEnoughBufferSpace = -207, /*could not allocate enough memory*/
+ badFileFormat = -208, /*was not type AIFF or was of bad format,corrupt*/
+ channelBusy = -209, /*the Channel is being used for a PFD already*/
+ buffersTooSmall = -210, /*can not operate in the memory allowed*/
+ channelNotBusy = -211,
+ noMoreRealTime = -212, /*not enough CPU cycles left to add another task*/
+ siVBRCompressionNotSupported = -213, /*vbr audio compression not supported for this operation*/
+ siNoSoundInHardware = -220, /*no Sound Input hardware*/
+ siBadSoundInDevice = -221, /*invalid index passed to SoundInGetIndexedDevice*/
+ siNoBufferSpecified = -222, /*returned by synchronous SPBRecord if nil buffer passed*/
+ siInvalidCompression = -223, /*invalid compression type*/
+ siHardDriveTooSlow = -224, /*hard drive too slow to record to disk*/
+ siInvalidSampleRate = -225, /*invalid sample rate*/
+ siInvalidSampleSize = -226, /*invalid sample size*/
+ siDeviceBusyErr = -227, /*input device already in use*/
+ siBadDeviceName = -228, /*input device could not be opened*/
+ siBadRefNum = -229, /*invalid input device reference number*/
+ siInputDeviceErr = -230, /*input device hardware failure*/
+ siUnknownInfoType = -231, /*invalid info type selector (returned by driver)*/
+ siUnknownQuality = -232 /*invalid quality selector (returned by driver)*/
+};
+
+/*Speech Manager errors*/
+enum {
+ noSynthFound = -240,
+ synthOpenFailed = -241,
+ synthNotReady = -242,
+ bufTooSmall = -243,
+ voiceNotFound = -244,
+ incompatibleVoice = -245,
+ badDictFormat = -246,
+ badInputText = -247
+};
+
+/* Midi Manager Errors: */
+enum {
+ midiNoClientErr = -250, /*no client with that ID found*/
+ midiNoPortErr = -251, /*no port with that ID found*/
+ midiTooManyPortsErr = -252, /*too many ports already installed in the system*/
+ midiTooManyConsErr = -253, /*too many connections made*/
+ midiVConnectErr = -254, /*pending virtual connection created*/
+ midiVConnectMade = -255, /*pending virtual connection resolved*/
+ midiVConnectRmvd = -256, /*pending virtual connection removed*/
+ midiNoConErr = -257, /*no connection exists between specified ports*/
+ midiWriteErr = -258, /*MIDIWritePacket couldn't write to all connected ports*/
+ midiNameLenErr = -259, /*name supplied is longer than 31 characters*/
+ midiDupIDErr = -260, /*duplicate client ID*/
+ midiInvalidCmdErr = -261 /*command not supported for port type*/
+};
+
+
+enum {
+ nmTypErr = -299 /*Notification Manager:wrong queue type*/
+};
+
+
+enum {
+ siInitSDTblErr = 1, /*slot int dispatch table could not be initialized.*/
+ siInitVBLQsErr = 2, /*VBLqueues for all slots could not be initialized.*/
+ siInitSPTblErr = 3, /*slot priority table could not be initialized.*/
+ sdmJTInitErr = 10, /*SDM Jump Table could not be initialized.*/
+ sdmInitErr = 11, /*SDM could not be initialized.*/
+ sdmSRTInitErr = 12, /*Slot Resource Table could not be initialized.*/
+ sdmPRAMInitErr = 13, /*Slot PRAM could not be initialized.*/
+ sdmPriInitErr = 14 /*Cards could not be initialized.*/
+};
+
+enum {
+ smSDMInitErr = -290, /*Error; SDM could not be initialized.*/
+ smSRTInitErr = -291, /*Error; Slot Resource Table could not be initialized.*/
+ smPRAMInitErr = -292, /*Error; Slot Resource Table could not be initialized.*/
+ smPriInitErr = -293, /*Error; Cards could not be initialized.*/
+ smEmptySlot = -300, /*No card in slot*/
+ smCRCFail = -301, /*CRC check failed for declaration data*/
+ smFormatErr = -302, /*FHeader Format is not Apple's*/
+ smRevisionErr = -303, /*Wrong revison level*/
+ smNoDir = -304, /*Directory offset is Nil*/
+ smDisabledSlot = -305, /*This slot is disabled (-305 use to be smLWTstBad)*/
+ smNosInfoArray = -306 /*No sInfoArray. Memory Mgr error.*/
+};
+
+
+enum {
+ smResrvErr = -307, /*Fatal reserved error. Resreved field <> 0.*/
+ smUnExBusErr = -308, /*Unexpected BusError*/
+ smBLFieldBad = -309, /*ByteLanes field was bad.*/
+ smFHBlockRdErr = -310, /*Error occurred during _sGetFHeader.*/
+ smFHBlkDispErr = -311, /*Error occurred during _sDisposePtr (Dispose of FHeader block).*/
+ smDisposePErr = -312, /*_DisposePointer error*/
+ smNoBoardSRsrc = -313, /*No Board sResource.*/
+ smGetPRErr = -314, /*Error occurred during _sGetPRAMRec (See SIMStatus).*/
+ smNoBoardId = -315, /*No Board Id.*/
+ smInitStatVErr = -316, /*The InitStatusV field was negative after primary or secondary init.*/
+ smInitTblVErr = -317, /*An error occurred while trying to initialize the Slot Resource Table.*/
+ smNoJmpTbl = -318, /*SDM jump table could not be created.*/
+ smReservedSlot = -318, /*slot is reserved, VM should not use this address space.*/
+ smBadBoardId = -319, /*BoardId was wrong; re-init the PRAM record.*/
+ smBusErrTO = -320, /*BusError time out.*/
+ /* These errors are logged in the vendor status field of the sInfo record. */
+ svTempDisable = -32768L, /*Temporarily disable card but run primary init.*/
+ svDisabled = -32640, /*Reserve range -32640 to -32768 for Apple temp disables.*/
+ smBadRefId = -330, /*Reference Id not found in List*/
+ smBadsList = -331, /*Bad sList: Id1 < Id2 < Id3 ...format is not followed.*/
+ smReservedErr = -332, /*Reserved field not zero*/
+ smCodeRevErr = -333 /*Code revision is wrong*/
+};
+
+enum {
+ smCPUErr = -334, /*Code revision is wrong*/
+ smsPointerNil = -335, /*LPointer is nil From sOffsetData. If this error occurs; check sInfo rec for more information.*/
+ smNilsBlockErr = -336, /*Nil sBlock error (Dont allocate and try to use a nil sBlock)*/
+ smSlotOOBErr = -337, /*Slot out of bounds error*/
+ smSelOOBErr = -338, /*Selector out of bounds error*/
+ smNewPErr = -339, /*_NewPtr error*/
+ smBlkMoveErr = -340, /*_BlockMove error*/
+ smCkStatusErr = -341, /*Status of slot = fail.*/
+ smGetDrvrNamErr = -342, /*Error occurred during _sGetDrvrName.*/
+ smDisDrvrNamErr = -343, /*Error occurred during _sDisDrvrName.*/
+ smNoMoresRsrcs = -344, /*No more sResources*/
+ smsGetDrvrErr = -345, /*Error occurred during _sGetDriver.*/
+ smBadsPtrErr = -346, /*Bad pointer was passed to sCalcsPointer*/
+ smByteLanesErr = -347, /*NumByteLanes was determined to be zero.*/
+ smOffsetErr = -348, /*Offset was too big (temporary error*/
+ smNoGoodOpens = -349, /*No opens were successfull in the loop.*/
+ smSRTOvrFlErr = -350, /*SRT over flow.*/
+ smRecNotFnd = -351 /*Record not found in the SRT.*/
+};
+
+
+enum {
+ /*Dictionary Manager errors*/
+ notBTree = -410, /*The file is not a dictionary.*/
+ btNoSpace = -413, /*Can't allocate disk space.*/
+ btDupRecErr = -414, /*Record already exists.*/
+ btRecNotFnd = -415, /*Record cannot be found.*/
+ btKeyLenErr = -416, /*Maximum key length is too long or equal to zero.*/
+ btKeyAttrErr = -417, /*There is no such a key attribute.*/
+ unknownInsertModeErr = -20000, /*There is no such an insert mode.*/
+ recordDataTooBigErr = -20001, /*The record data is bigger than buffer size (1024 bytes).*/
+ invalidIndexErr = -20002 /*The recordIndex parameter is not valid.*/
+};
+
+
+/*
+ * Error codes from FSM functions
+ */
+enum {
+ fsmFFSNotFoundErr = -431, /* Foreign File system does not exist - new Pack2 could return this error too */
+ fsmBusyFFSErr = -432, /* File system is busy, cannot be removed */
+ fsmBadFFSNameErr = -433, /* Name length not 1 <= length <= 31 */
+ fsmBadFSDLenErr = -434, /* FSD size incompatible with current FSM vers */
+ fsmDuplicateFSIDErr = -435, /* FSID already exists on InstallFS */
+ fsmBadFSDVersionErr = -436, /* FSM version incompatible with FSD */
+ fsmNoAlternateStackErr = -437, /* no alternate stack for HFS CI */
+ fsmUnknownFSMMessageErr = -438 /* unknown message passed to FSM */
+};
+
+
+enum {
+ /* Edition Mgr errors*/
+ editionMgrInitErr = -450, /*edition manager not inited by this app*/
+ badSectionErr = -451, /*not a valid SectionRecord*/
+ notRegisteredSectionErr = -452, /*not a registered SectionRecord*/
+ badEditionFileErr = -453, /*edition file is corrupt*/
+ badSubPartErr = -454, /*can not use sub parts in this release*/
+ multiplePublisherWrn = -460, /*A Publisher is already registered for that container*/
+ containerNotFoundWrn = -461, /*could not find editionContainer at this time*/
+ containerAlreadyOpenWrn = -462, /*container already opened by this section*/
+ notThePublisherWrn = -463 /*not the first registered publisher for that container*/
+};
+
+enum {
+ teScrapSizeErr = -501, /*scrap item too big for text edit record*/
+ hwParamErr = -502, /*bad selector for _HWPriv*/
+ driverHardwareGoneErr = -503 /*disk driver's hardware was disconnected*/
+};
+
+enum {
+ /*Process Manager errors*/
+ procNotFound = -600, /*no eligible process with specified descriptor*/
+ memFragErr = -601, /*not enough room to launch app w/special requirements*/
+ appModeErr = -602, /*memory mode is 32-bit, but app not 32-bit clean*/
+ protocolErr = -603, /*app made module calls in improper order*/
+ hardwareConfigErr = -604, /*hardware configuration not correct for call*/
+ appMemFullErr = -605, /*application SIZE not big enough for launch*/
+ appIsDaemon = -606, /*app is BG-only, and launch flags disallow this*/
+ bufferIsSmall = -607, /*error returns from Post and Accept */
+ noOutstandingHLE = -608,
+ connectionInvalid = -609,
+ noUserInteractionAllowed = -610 /* no user interaction allowed */
+};
+
+enum {
+ /* More Process Manager errors */
+ wrongApplicationPlatform = -875, /* The application could not launch because the required platform is not available */
+ appVersionTooOld = -876, /* The application's creator and version are incompatible with the current version of Mac OS. */
+ notAppropriateForClassic = -877 /* This application won't or shouldn't run on Classic (Problem 2481058). */
+};
+
+/* Thread Manager Error Codes */
+enum {
+ threadTooManyReqsErr = -617,
+ threadNotFoundErr = -618,
+ threadProtocolErr = -619
+};
+
+/*MemoryDispatch errors*/
+enum {
+ notEnoughMemoryErr = -620, /*insufficient physical memory*/
+ notHeldErr = -621, /*specified range of memory is not held*/
+ cannotMakeContiguousErr = -622, /*cannot make specified range contiguous*/
+ notLockedErr = -623, /*specified range of memory is not locked*/
+ interruptsMaskedErr = -624, /*don't call with interrupts masked*/
+ cannotDeferErr = -625, /*unable to defer additional functions*/
+ noMMUErr = -626 /*no MMU present*/
+};
+
+/* FileMapping errors */
+enum {
+ vmInvalidBackingFileIDErr = -640, /* invalid BackingFileID */
+ vmMappingPrivilegesErr = -641, /* requested MappingPrivileges cannot be obtained */
+ vmBusyBackingFileErr = -642, /* open views found on BackingFile */
+ vmNoMoreBackingFilesErr = -643, /* no more BackingFiles were found */
+ vmInvalidFileViewIDErr = -644, /*invalid FileViewID */
+ vmFileViewAccessErr = -645, /* requested FileViewAccess cannot be obtained */
+ vmNoMoreFileViewsErr = -646, /* no more FileViews were found */
+ vmAddressNotInFileViewErr = -647, /* address is not in a FileView */
+ vmInvalidOwningProcessErr = -648 /* current process does not own the BackingFileID or FileViewID */
+};
+
+/* Database access error codes */
+enum {
+ rcDBNull = -800,
+ rcDBValue = -801,
+ rcDBError = -802,
+ rcDBBadType = -803,
+ rcDBBreak = -804,
+ rcDBExec = -805,
+ rcDBBadSessID = -806,
+ rcDBBadSessNum = -807, /* bad session number for DBGetConnInfo */
+ rcDBBadDDEV = -808, /* bad ddev specified on DBInit */
+ rcDBAsyncNotSupp = -809, /* ddev does not support async calls */
+ rcDBBadAsyncPB = -810, /* tried to kill a bad pb */
+ rcDBNoHandler = -811, /* no app handler for specified data type */
+ rcDBWrongVersion = -812, /* incompatible versions */
+ rcDBPackNotInited = -813 /* attempt to call other routine before InitDBPack */
+};
+
+
+/*Help Mgr error range: -850 to -874*/
+enum {
+ hmHelpDisabled = -850, /* Show Balloons mode was off, call to routine ignored */
+ hmBalloonAborted = -853, /* Returned if mouse was moving or mouse wasn't in window port rect */
+ hmSameAsLastBalloon = -854, /* Returned from HMShowMenuBalloon if menu & item is same as last time */
+ hmHelpManagerNotInited = -855, /* Returned from HMGetHelpMenuHandle if help menu not setup */
+ hmSkippedBalloon = -857, /* Returned from calls if helpmsg specified a skip balloon */
+ hmWrongVersion = -858, /* Returned if help mgr resource was the wrong version */
+ hmUnknownHelpType = -859, /* Returned if help msg record contained a bad type */
+ hmOperationUnsupported = -861, /* Returned from HMShowBalloon call if bad method passed to routine */
+ hmNoBalloonUp = -862, /* Returned from HMRemoveBalloon if no balloon was visible when call was made */
+ hmCloseViewActive = -863 /* Returned from HMRemoveBalloon if CloseView was active */
+};
+
+
+
+enum {
+ /*PPC errors*/
+ notInitErr = -900, /*PPCToolBox not initialized*/
+ nameTypeErr = -902, /*Invalid or inappropriate locationKindSelector in locationName*/
+ noPortErr = -903, /*Unable to open port or bad portRefNum. If you're calling */
+ /* AESend, this is because your application does not have */
+ /* the isHighLevelEventAware bit set in your SIZE resource. */
+ noGlobalsErr = -904, /*The system is hosed, better re-boot*/
+ localOnlyErr = -905, /*Network activity is currently disabled*/
+ destPortErr = -906, /*Port does not exist at destination*/
+ sessTableErr = -907, /*Out of session tables, try again later*/
+ noSessionErr = -908, /*Invalid session reference number*/
+ badReqErr = -909, /*bad parameter or invalid state for operation*/
+ portNameExistsErr = -910, /*port is already open (perhaps in another app)*/
+ noUserNameErr = -911, /*user name unknown on destination machine*/
+ userRejectErr = -912, /*Destination rejected the session request*/
+ noMachineNameErr = -913, /*user hasn't named his Macintosh in the Network Setup Control Panel*/
+ noToolboxNameErr = -914, /*A system resource is missing, not too likely*/
+ noResponseErr = -915, /*unable to contact destination*/
+ portClosedErr = -916, /*port was closed*/
+ sessClosedErr = -917, /*session was closed*/
+ badPortNameErr = -919, /*PPCPortRec malformed*/
+ noDefaultUserErr = -922, /*user hasn't typed in owners name in Network Setup Control Pannel*/
+ notLoggedInErr = -923, /*The default userRefNum does not yet exist*/
+ noUserRefErr = -924, /*unable to create a new userRefNum*/
+ networkErr = -925, /*An error has occurred in the network, not too likely*/
+ noInformErr = -926, /*PPCStart failed because destination did not have inform pending*/
+ authFailErr = -927, /*unable to authenticate user at destination*/
+ noUserRecErr = -928, /*Invalid user reference number*/
+ badServiceMethodErr = -930, /*illegal service type, or not supported*/
+ badLocNameErr = -931, /*location name malformed*/
+ guestNotAllowedErr = -932 /*destination port requires authentication*/
+};
+
+/* Font Mgr errors*/
+enum {
+ kFMIterationCompleted = -980L,
+ kFMInvalidFontFamilyErr = -981L,
+ kFMInvalidFontErr = -982L,
+ kFMIterationScopeModifiedErr = -983L,
+ kFMFontTableAccessErr = -984L,
+ kFMFontContainerAccessErr = -985L
+};
+
+enum {
+ noMaskFoundErr = -1000 /*Icon Utilties Error*/
+};
+
+enum {
+ nbpBuffOvr = -1024, /*Buffer overflow in LookupName*/
+ nbpNoConfirm = -1025,
+ nbpConfDiff = -1026, /*Name confirmed at different socket*/
+ nbpDuplicate = -1027, /*Duplicate name exists already*/
+ nbpNotFound = -1028, /*Name not found on remove*/
+ nbpNISErr = -1029 /*Error trying to open the NIS*/
+};
+
+enum {
+ aspBadVersNum = -1066, /*Server cannot support this ASP version*/
+ aspBufTooSmall = -1067, /*Buffer too small*/
+ aspNoMoreSess = -1068, /*No more sessions on server*/
+ aspNoServers = -1069, /*No servers at that address*/
+ aspParamErr = -1070, /*Parameter error*/
+ aspServerBusy = -1071, /*Server cannot open another session*/
+ aspSessClosed = -1072, /*Session closed*/
+ aspSizeErr = -1073, /*Command block too big*/
+ aspTooMany = -1074, /*Too many clients (server error)*/
+ aspNoAck = -1075 /*No ack on attention request (server err)*/
+};
+
+enum {
+ reqFailed = -1096,
+ tooManyReqs = -1097,
+ tooManySkts = -1098,
+ badATPSkt = -1099,
+ badBuffNum = -1100,
+ noRelErr = -1101,
+ cbNotFound = -1102,
+ noSendResp = -1103,
+ noDataArea = -1104,
+ reqAborted = -1105
+};
+
+/* ADSP Error Codes */
+enum {
+ /* driver control ioResults */
+ errRefNum = -1280, /* bad connection refNum */
+ errAborted = -1279, /* control call was aborted */
+ errState = -1278, /* bad connection state for this operation */
+ errOpening = -1277, /* open connection request failed */
+ errAttention = -1276, /* attention message too long */
+ errFwdReset = -1275, /* read terminated by forward reset */
+ errDSPQueueSize = -1274, /* DSP Read/Write Queue Too small */
+ errOpenDenied = -1273 /* open connection request was denied */
+};
+
+
+/*--------------------------------------------------------------
+ Apple event manager error messages
+--------------------------------------------------------------*/
+
+enum {
+ errAECoercionFail = -1700, /* bad parameter data or unable to coerce the data supplied */
+ errAEDescNotFound = -1701,
+ errAECorruptData = -1702,
+ errAEWrongDataType = -1703,
+ errAENotAEDesc = -1704,
+ errAEBadListItem = -1705, /* the specified list item does not exist */
+ errAENewerVersion = -1706, /* need newer version of the AppleEvent manager */
+ errAENotAppleEvent = -1707, /* the event is not in AppleEvent format */
+ errAEEventNotHandled = -1708, /* the AppleEvent was not handled by any handler */
+ errAEReplyNotValid = -1709, /* AEResetTimer was passed an invalid reply parameter */
+ errAEUnknownSendMode = -1710, /* mode wasn't NoReply, WaitReply, or QueueReply or Interaction level is unknown */
+ errAEWaitCanceled = -1711, /* in AESend, the user cancelled out of wait loop for reply or receipt */
+ errAETimeout = -1712, /* the AppleEvent timed out */
+ errAENoUserInteraction = -1713, /* no user interaction is allowed */
+ errAENotASpecialFunction = -1714, /* there is no special function for/with this keyword */
+ errAEParamMissed = -1715, /* a required parameter was not accessed */
+ errAEUnknownAddressType = -1716, /* the target address type is not known */
+ errAEHandlerNotFound = -1717, /* no handler in the dispatch tables fits the parameters to AEGetEventHandler or AEGetCoercionHandler */
+ errAEReplyNotArrived = -1718, /* the contents of the reply you are accessing have not arrived yet */
+ errAEIllegalIndex = -1719, /* index is out of range in a put operation */
+ errAEImpossibleRange = -1720, /* A range like 3rd to 2nd, or 1st to all. */
+ errAEWrongNumberArgs = -1721, /* Logical op kAENOT used with other than 1 term */
+ errAEAccessorNotFound = -1723, /* Accessor proc matching wantClass and containerType or wildcards not found */
+ errAENoSuchLogical = -1725, /* Something other than AND, OR, or NOT */
+ errAEBadTestKey = -1726, /* Test is neither typeLogicalDescriptor nor typeCompDescriptor */
+ errAENotAnObjSpec = -1727, /* Param to AEResolve not of type 'obj ' */
+ errAENoSuchObject = -1728, /* e.g.,: specifier asked for the 3rd, but there are only 2. Basically, this indicates a run-time resolution error. */
+ errAENegativeCount = -1729, /* CountProc returned negative value */
+ errAEEmptyListContainer = -1730, /* Attempt to pass empty list as container to accessor */
+ errAEUnknownObjectType = -1731, /* available only in version 1.0.1 or greater */
+ errAERecordingIsAlreadyOn = -1732, /* available only in version 1.0.1 or greater */
+ errAEReceiveTerminate = -1733, /* break out of all levels of AEReceive to the topmost (1.1 or greater) */
+ errAEReceiveEscapeCurrent = -1734, /* break out of only lowest level of AEReceive (1.1 or greater) */
+ errAEEventFiltered = -1735, /* event has been filtered, and should not be propogated (1.1 or greater) */
+ errAEDuplicateHandler = -1736, /* attempt to install handler in table for identical class and id (1.1 or greater) */
+ errAEStreamBadNesting = -1737, /* nesting violation while streaming */
+ errAEStreamAlreadyConverted = -1738, /* attempt to convert a stream that has already been converted */
+ errAEDescIsNull = -1739, /* attempting to perform an invalid operation on a null descriptor */
+ errAEBuildSyntaxError = -1740, /* AEBuildDesc and friends detected a syntax error */
+ errAEBufferTooSmall = -1741 /* buffer for AEFlattenDesc too small */
+};
+
+enum {
+ errOSASystemError = -1750,
+ errOSAInvalidID = -1751,
+ errOSABadStorageType = -1752,
+ errOSAScriptError = -1753,
+ errOSABadSelector = -1754,
+ errOSASourceNotAvailable = -1756,
+ errOSANoSuchDialect = -1757,
+ errOSADataFormatObsolete = -1758,
+ errOSADataFormatTooNew = -1759,
+ errOSACorruptData = errAECorruptData,
+ errOSARecordingIsAlreadyOn = errAERecordingIsAlreadyOn,
+ errOSAComponentMismatch = -1761, /* Parameters are from 2 different components */
+ errOSACantOpenComponent = -1762 /* Can't connect to scripting system with that ID */
+};
+
+
+
+/* AppleEvent error definitions */
+enum {
+ errOffsetInvalid = -1800,
+ errOffsetIsOutsideOfView = -1801,
+ errTopOfDocument = -1810,
+ errTopOfBody = -1811,
+ errEndOfDocument = -1812,
+ errEndOfBody = -1813
+};
+
+
+enum {
+ /* Drag Manager error codes */
+ badDragRefErr = -1850, /* unknown drag reference */
+ badDragItemErr = -1851, /* unknown drag item reference */
+ badDragFlavorErr = -1852, /* unknown flavor type */
+ duplicateFlavorErr = -1853, /* flavor type already exists */
+ cantGetFlavorErr = -1854, /* error while trying to get flavor data */
+ duplicateHandlerErr = -1855, /* handler already exists */
+ handlerNotFoundErr = -1856, /* handler not found */
+ dragNotAcceptedErr = -1857, /* drag was not accepted by receiver */
+ unsupportedForPlatformErr = -1858, /* call is for PowerPC only */
+ noSuitableDisplaysErr = -1859, /* no displays support translucency */
+ badImageRgnErr = -1860, /* bad translucent image region */
+ badImageErr = -1861, /* bad translucent image PixMap */
+ nonDragOriginatorErr = -1862 /* illegal attempt at originator only data */
+};
+
+
+/* QuickTime errors */
+enum {
+ couldNotResolveDataRef = -2000,
+ badImageDescription = -2001,
+ badPublicMovieAtom = -2002,
+ cantFindHandler = -2003,
+ cantOpenHandler = -2004,
+ badComponentType = -2005,
+ noMediaHandler = -2006,
+ noDataHandler = -2007,
+ invalidMedia = -2008,
+ invalidTrack = -2009,
+ invalidMovie = -2010,
+ invalidSampleTable = -2011,
+ invalidDataRef = -2012,
+ invalidHandler = -2013,
+ invalidDuration = -2014,
+ invalidTime = -2015,
+ cantPutPublicMovieAtom = -2016,
+ badEditList = -2017,
+ mediaTypesDontMatch = -2018,
+ progressProcAborted = -2019,
+ movieToolboxUninitialized = -2020,
+ noRecordOfApp = movieToolboxUninitialized, /* replica */
+ wfFileNotFound = -2021,
+ cantCreateSingleForkFile = -2022, /* happens when file already exists */
+ invalidEditState = -2023,
+ nonMatchingEditState = -2024,
+ staleEditState = -2025,
+ userDataItemNotFound = -2026,
+ maxSizeToGrowTooSmall = -2027,
+ badTrackIndex = -2028,
+ trackIDNotFound = -2029,
+ trackNotInMovie = -2030,
+ timeNotInTrack = -2031,
+ timeNotInMedia = -2032,
+ badEditIndex = -2033,
+ internalQuickTimeError = -2034,
+ cantEnableTrack = -2035,
+ invalidRect = -2036,
+ invalidSampleNum = -2037,
+ invalidChunkNum = -2038,
+ invalidSampleDescIndex = -2039,
+ invalidChunkCache = -2040,
+ invalidSampleDescription = -2041,
+ dataNotOpenForRead = -2042,
+ dataNotOpenForWrite = -2043,
+ dataAlreadyOpenForWrite = -2044,
+ dataAlreadyClosed = -2045,
+ endOfDataReached = -2046,
+ dataNoDataRef = -2047,
+ noMovieFound = -2048,
+ invalidDataRefContainer = -2049,
+ badDataRefIndex = -2050,
+ noDefaultDataRef = -2051,
+ couldNotUseAnExistingSample = -2052,
+ featureUnsupported = -2053,
+ noVideoTrackInMovieErr = -2054, /* QT for Windows error */
+ noSoundTrackInMovieErr = -2055, /* QT for Windows error */
+ soundSupportNotAvailableErr = -2056, /* QT for Windows error */
+ unsupportedAuxiliaryImportData = -2057,
+ auxiliaryExportDataUnavailable = -2058,
+ samplesAlreadyInMediaErr = -2059,
+ noSourceTreeFoundErr = -2060,
+ sourceNotFoundErr = -2061,
+ movieTextNotFoundErr = -2062,
+ missingRequiredParameterErr = -2063,
+ invalidSpriteWorldPropertyErr = -2064,
+ invalidSpritePropertyErr = -2065,
+ gWorldsNotSameDepthAndSizeErr = -2066,
+ invalidSpriteIndexErr = -2067,
+ invalidImageIndexErr = -2068,
+ invalidSpriteIDErr = -2069
+};
+
+enum {
+ internalComponentErr = -2070,
+ notImplementedMusicOSErr = -2071,
+ cantSendToSynthesizerOSErr = -2072,
+ cantReceiveFromSynthesizerOSErr = -2073,
+ illegalVoiceAllocationOSErr = -2074,
+ illegalPartOSErr = -2075,
+ illegalChannelOSErr = -2076,
+ illegalKnobOSErr = -2077,
+ illegalKnobValueOSErr = -2078,
+ illegalInstrumentOSErr = -2079,
+ illegalControllerOSErr = -2080,
+ midiManagerAbsentOSErr = -2081,
+ synthesizerNotRespondingOSErr = -2082,
+ synthesizerOSErr = -2083,
+ illegalNoteChannelOSErr = -2084,
+ noteChannelNotAllocatedOSErr = -2085,
+ tunePlayerFullOSErr = -2086,
+ tuneParseOSErr = -2087,
+ noExportProcAvailableErr = -2089,
+ videoOutputInUseErr = -2090
+};
+
+enum {
+ componentDllLoadErr = -2091, /* Windows specific errors (when component is loading)*/
+ componentDllEntryNotFoundErr = -2092, /* Windows specific errors (when component is loading)*/
+ qtmlDllLoadErr = -2093, /* Windows specific errors (when qtml is loading)*/
+ qtmlDllEntryNotFoundErr = -2094, /* Windows specific errors (when qtml is loading)*/
+ qtmlUninitialized = -2095,
+ unsupportedOSErr = -2096,
+ unsupportedProcessorErr = -2097
+};
+
+enum {
+ cannotFindAtomErr = -2101,
+ notLeafAtomErr = -2102,
+ atomsNotOfSameTypeErr = -2103,
+ atomIndexInvalidErr = -2104,
+ duplicateAtomTypeAndIDErr = -2105,
+ invalidAtomErr = -2106,
+ invalidAtomContainerErr = -2107,
+ invalidAtomTypeErr = -2108,
+ cannotBeLeafAtomErr = -2109,
+ pathTooLongErr = -2110,
+ emptyPathErr = -2111,
+ noPathMappingErr = -2112,
+ pathNotVerifiedErr = -2113,
+ unknownFormatErr = -2114,
+ wackBadFileErr = -2115,
+ wackForkNotFoundErr = -2116,
+ wackBadMetaDataErr = -2117,
+ qfcbNotFoundErr = -2118,
+ qfcbNotCreatedErr = -2119,
+ AAPNotCreatedErr = -2120,
+ AAPNotFoundErr = -2121,
+ ASDBadHeaderErr = -2122,
+ ASDBadForkErr = -2123,
+ ASDEntryNotFoundErr = -2124,
+ fileOffsetTooBigErr = -2125,
+ notAllowedToSaveMovieErr = -2126,
+ qtNetworkAlreadyAllocatedErr = -2127,
+ urlDataHHTTPProtocolErr = -2129,
+ urlDataHHTTPNoNetDriverErr = -2130,
+ urlDataHHTTPURLErr = -2131,
+ urlDataHHTTPRedirectErr = -2132,
+ urlDataHFTPProtocolErr = -2133,
+ urlDataHFTPShutdownErr = -2134,
+ urlDataHFTPBadUserErr = -2135,
+ urlDataHFTPBadPasswordErr = -2136,
+ urlDataHFTPServerErr = -2137,
+ urlDataHFTPDataConnectionErr = -2138,
+ urlDataHFTPNoDirectoryErr = -2139,
+ urlDataHFTPQuotaErr = -2140,
+ urlDataHFTPPermissionsErr = -2141,
+ urlDataHFTPFilenameErr = -2142,
+ urlDataHFTPNoNetDriverErr = -2143,
+ urlDataHFTPBadNameListErr = -2144,
+ urlDataHFTPNeedPasswordErr = -2145,
+ urlDataHFTPNoPasswordErr = -2146,
+ urlDataHFTPServerDisconnectedErr = -2147,
+ urlDataHFTPURLErr = -2148,
+ notEnoughDataErr = -2149,
+ qtActionNotHandledErr = -2157,
+ qtXMLParseErr = -2158,
+ qtXMLApplicationErr = -2159
+};
+
+
+enum {
+ digiUnimpErr = -2201, /* feature unimplemented */
+ qtParamErr = -2202, /* bad input parameter (out of range, etc) */
+ matrixErr = -2203, /* bad matrix, digitizer did nothing */
+ notExactMatrixErr = -2204, /* warning of bad matrix, digitizer did its best */
+ noMoreKeyColorsErr = -2205, /* all key indexes in use */
+ notExactSizeErr = -2206, /* Can't do exact size requested */
+ badDepthErr = -2207, /* Can't digitize into this depth */
+ noDMAErr = -2208, /* Can't do DMA digitizing (i.e. can't go to requested dest */
+ badCallOrderErr = -2209 /* Usually due to a status call being called prior to being setup first */
+};
+
+
+/* Kernel Error Codes */
+enum {
+ kernelIncompleteErr = -2401,
+ kernelCanceledErr = -2402,
+ kernelOptionsErr = -2403,
+ kernelPrivilegeErr = -2404,
+ kernelUnsupportedErr = -2405,
+ kernelObjectExistsErr = -2406,
+ kernelWritePermissionErr = -2407,
+ kernelReadPermissionErr = -2408,
+ kernelExecutePermissionErr = -2409,
+ kernelDeletePermissionErr = -2410,
+ kernelExecutionLevelErr = -2411,
+ kernelAttributeErr = -2412,
+ kernelAsyncSendLimitErr = -2413,
+ kernelAsyncReceiveLimitErr = -2414,
+ kernelTimeoutErr = -2415,
+ kernelInUseErr = -2416,
+ kernelTerminatedErr = -2417,
+ kernelExceptionErr = -2418,
+ kernelIDErr = -2419,
+ kernelAlreadyFreeErr = -2421,
+ kernelReturnValueErr = -2422,
+ kernelUnrecoverableErr = -2499
+};
+
+
+
+enum {
+ /* Text Services Mgr error codes */
+ tsmComponentNoErr = 0, /* component result = no error */
+ tsmUnsupScriptLanguageErr = -2500,
+ tsmInputMethodNotFoundErr = -2501,
+ tsmNotAnAppErr = -2502, /* not an application error */
+ tsmAlreadyRegisteredErr = -2503, /* want to register again error */
+ tsmNeverRegisteredErr = -2504, /* app never registered error (not TSM aware) */
+ tsmInvalidDocIDErr = -2505, /* invalid TSM documentation id */
+ tsmTSMDocBusyErr = -2506, /* document is still active */
+ tsmDocNotActiveErr = -2507, /* document is NOT active */
+ tsmNoOpenTSErr = -2508, /* no open text service */
+ tsmCantOpenComponentErr = -2509, /* can't open the component */
+ tsmTextServiceNotFoundErr = -2510, /* no text service found */
+ tsmDocumentOpenErr = -2511, /* there are open documents */
+ tsmUseInputWindowErr = -2512, /* not TSM aware because we are using input window */
+ tsmTSHasNoMenuErr = -2513, /* the text service has no menu */
+ tsmTSNotOpenErr = -2514, /* text service is not open */
+ tsmComponentAlreadyOpenErr = -2515, /* text service already opened for the document */
+ tsmInputMethodIsOldErr = -2516, /* returned by GetDefaultInputMethod */
+ tsmScriptHasNoIMErr = -2517, /* script has no imput method or is using old IM */
+ tsmUnsupportedTypeErr = -2518, /* unSupported interface type error */
+ tsmUnknownErr = -2519, /* any other errors */
+ tsmInvalidContext = -2520, /* Invalid TSMContext specified in call */
+ tsmNoHandler = -2521, /* No Callback Handler exists for callback */
+ tsmNoMoreTokens = -2522, /* No more tokens are available for the source text */
+ tsmNoStem = -2523, /* No stem exists for the token */
+ tsmDefaultIsNotInputMethodErr = -2524, /* Current Input source is KCHR or uchr, not Input Method (GetDefaultInputMethod) */
+ tsmDocPropertyNotFoundErr = -2528, /* Requested TSM Document property not found */
+ tsmDocPropertyBufferTooSmallErr = -2529, /* Buffer passed in for property value is too small */
+ tsmCantChangeForcedClassStateErr = -2530 /* Enabled state of a TextService class has been forced and cannot be changed */
+};
+
+
+enum {
+ /* Mixed Mode error codes */
+ mmInternalError = -2526
+};
+
+/* NameRegistry error codes */
+enum {
+ nrLockedErr = -2536,
+ nrNotEnoughMemoryErr = -2537,
+ nrInvalidNodeErr = -2538,
+ nrNotFoundErr = -2539,
+ nrNotCreatedErr = -2540,
+ nrNameErr = -2541,
+ nrNotSlotDeviceErr = -2542,
+ nrDataTruncatedErr = -2543,
+ nrPowerErr = -2544,
+ nrPowerSwitchAbortErr = -2545,
+ nrTypeMismatchErr = -2546,
+ nrNotModifiedErr = -2547,
+ nrOverrunErr = -2548,
+ nrResultCodeBase = -2549,
+ nrPathNotFound = -2550, /* a path component lookup failed */
+ nrPathBufferTooSmall = -2551, /* buffer for path is too small */
+ nrInvalidEntryIterationOp = -2552, /* invalid entry iteration operation */
+ nrPropertyAlreadyExists = -2553, /* property already exists */
+ nrIterationDone = -2554, /* iteration operation is done */
+ nrExitedIteratorScope = -2555, /* outer scope of iterator was exited */
+ nrTransactionAborted = -2556, /* transaction was aborted */
+ nrCallNotSupported = -2557 /* This call is not available or supported on this machine */
+};
+
+/* Icon Services error codes */
+enum {
+ invalidIconRefErr = -2580, /* The icon ref is not valid */
+ noSuchIconErr = -2581, /* The requested icon could not be found */
+ noIconDataAvailableErr = -2582 /* The necessary icon data is not available */
+};
+
+
+/*
+ Dynamic AppleScript errors:
+
+ These errors result from data-dependent conditions and are typically
+ signaled at runtime.
+*/
+enum {
+ errOSACantCoerce = errAECoercionFail, /* Signaled when a value can't be coerced to the desired type. */
+ errOSACantAccess = errAENoSuchObject, /* Signaled when an object is not found in a container*/
+ errOSACantAssign = -10006, /* Signaled when an object cannot be set in a container.*/
+ errOSAGeneralError = -2700, /* Signaled by user scripts or applications when no actual error code is to be returned.*/
+ errOSADivideByZero = -2701, /* Signaled when there is an attempt to divide by zero*/
+ errOSANumericOverflow = -2702, /* Signaled when integer or real value is too large to be represented*/
+ errOSACantLaunch = -2703, /* Signaled when application can't be launched or when it is remote and program linking is not enabled*/
+ errOSAAppNotHighLevelEventAware = -2704, /* Signaled when an application can't respond to AppleEvents*/
+ errOSACorruptTerminology = -2705, /* Signaled when an application's terminology resource is not readable*/
+ errOSAStackOverflow = -2706, /* Signaled when the runtime stack overflows*/
+ errOSAInternalTableOverflow = -2707, /* Signaled when a runtime internal data structure overflows*/
+ errOSADataBlockTooLarge = -2708, /* Signaled when an intrinsic limitation is exceeded for the size of a value or data structure.*/
+ errOSACantGetTerminology = -2709,
+ errOSACantCreate = -2710
+};
+
+/*
+ Component-specific dynamic script errors:
+
+ The range -2720 thru -2739 is reserved for component-specific runtime errors.
+ (Note that error codes from different scripting components in this range will
+ overlap.)
+*/
+/*
+ Static AppleScript errors:
+
+ These errors comprise what are commonly thought of as parse and compile-
+ time errors. However, in a dynamic system (e.g. AppleScript) any or all
+ of these may also occur at runtime.
+*/
+enum {
+ errOSATypeError = errAEWrongDataType,
+ OSAMessageNotUnderstood = errAEEventNotHandled, /* Signaled when a message was sent to an object that didn't handle it*/
+ OSAUndefinedHandler = errAEHandlerNotFound, /* Signaled when a function to be returned doesn't exist. */
+ OSAIllegalAccess = errAEAccessorNotFound, /* Signaled when a container can never have the requested object*/
+ OSAIllegalIndex = errAEIllegalIndex, /* Signaled when index was out of range. Specialization of errOSACantAccess*/
+ OSAIllegalRange = errAEImpossibleRange, /* Signaled when a range is screwy. Specialization of errOSACantAccess*/
+ OSAIllegalAssign = -10003, /* Signaled when an object can never be set in a container*/
+ OSASyntaxError = -2740, /* Signaled when a syntax error occurs. (e.g. "Syntax error" or "<this> can't go after <that>")*/
+ OSASyntaxTypeError = -2741, /* Signaled when another form of syntax was expected. (e.g. "expected a <type> but found <this>")*/
+ OSATokenTooLong = -2742, /* Signaled when a name or number is too long to be parsed*/
+ OSAMissingParameter = errAEDescNotFound, /* Signaled when a parameter is missing for a function invocation*/
+ OSAParameterMismatch = errAEWrongNumberArgs, /* Signaled when function is called with the wrong number of parameters, or a parameter pattern cannot be matched*/
+ OSADuplicateParameter = -2750, /* Signaled when a formal parameter, local variable, or instance variable is specified more than once*/
+ OSADuplicateProperty = -2751, /* Signaled when a formal parameter, local variable, or instance variable is specified more than once.*/
+ OSADuplicateHandler = -2752, /* Signaled when more than one handler is defined with the same name in a scope where the language doesn't allow it*/
+ OSAUndefinedVariable = -2753, /* Signaled when a variable is accessed that has no value*/
+ OSAInconsistentDeclarations = -2754, /* Signaled when a variable is declared inconsistently in the same scope, such as both local and global*/
+ OSAControlFlowError = -2755 /* Signaled when illegal control flow occurs in an application (no catcher for throw, non-lexical loop exit, etc.)*/
+};
+
+/*
+ Component-specific AppleScript static errors:
+
+ The range -2760 thru -2779 is reserved for component-specific parsing and
+ compile-time errors. (Note that error codes from different scripting
+ components in this range will overlap.)
+*/
+/*
+ Dialect-specific AppleScript errors:
+
+ The range -2780 thru -2799 is reserved for dialect specific error codes for
+ scripting components that support dialects. (Note that error codes from
+ different scripting components in this range will overlap, as well as error
+ codes from different dialects in the same scripting component.)
+*/
+
+/**************************************************************************
+ Apple Script Error Codes
+**************************************************************************/
+/* Runtime errors: */
+enum {
+ errASCantConsiderAndIgnore = -2720,
+ errASCantCompareMoreThan32k = -2721, /* Parser/Compiler errors: */
+ errASTerminologyNestingTooDeep = -2760,
+ errASIllegalFormalParameter = -2761,
+ errASParameterNotForEvent = -2762,
+ errASNoResultReturned = -2763, /* The range -2780 thru -2799 is reserved for dialect specific error codes. (Error codes from different dialects may overlap.) */
+ errASInconsistentNames = -2780 /* English errors: */
+};
+
+
+/* The preferred spelling for Code Fragment Manager errors:*/
+enum {
+ cfragFirstErrCode = -2800, /* The first value in the range of CFM errors.*/
+ cfragContextIDErr = -2800, /* The context ID was not valid.*/
+ cfragConnectionIDErr = -2801, /* The connection ID was not valid.*/
+ cfragNoSymbolErr = -2802, /* The specified symbol was not found.*/
+ cfragNoSectionErr = -2803, /* The specified section was not found.*/
+ cfragNoLibraryErr = -2804, /* The named library was not found.*/
+ cfragDupRegistrationErr = -2805, /* The registration name was already in use.*/
+ cfragFragmentFormatErr = -2806, /* A fragment's container format is unknown.*/
+ cfragUnresolvedErr = -2807, /* A fragment had "hard" unresolved imports.*/
+ cfragNoPositionErr = -2808, /* The registration insertion point was not found.*/
+ cfragNoPrivateMemErr = -2809, /* Out of memory for internal bookkeeping.*/
+ cfragNoClientMemErr = -2810, /* Out of memory for fragment mapping or section instances.*/
+ cfragNoIDsErr = -2811, /* No more CFM IDs for contexts, connections, etc.*/
+ cfragInitOrderErr = -2812, /* */
+ cfragImportTooOldErr = -2813, /* An import library was too old for a client.*/
+ cfragImportTooNewErr = -2814, /* An import library was too new for a client.*/
+ cfragInitLoopErr = -2815, /* Circularity in required initialization order.*/
+ cfragInitAtBootErr = -2816, /* A boot library has an initialization function. (System 7 only)*/
+ cfragLibConnErr = -2817, /* */
+ cfragCFMStartupErr = -2818, /* Internal error during CFM initialization.*/
+ cfragCFMInternalErr = -2819, /* An internal inconstistancy has been detected.*/
+ cfragFragmentCorruptErr = -2820, /* A fragment's container was corrupt (known format).*/
+ cfragInitFunctionErr = -2821, /* A fragment's initialization routine returned an error.*/
+ cfragNoApplicationErr = -2822, /* No application member found in the cfrg resource.*/
+ cfragArchitectureErr = -2823, /* A fragment has an unacceptable architecture.*/
+ cfragFragmentUsageErr = -2824, /* A semantic error in usage of the fragment.*/
+ cfragFileSizeErr = -2825, /* A file was too large to be mapped.*/
+ cfragNotClosureErr = -2826, /* The closure ID was actually a connection ID.*/
+ cfragNoRegistrationErr = -2827, /* The registration name was not found.*/
+ cfragContainerIDErr = -2828, /* The fragment container ID was not valid.*/
+ cfragClosureIDErr = -2829, /* The closure ID was not valid.*/
+ cfragAbortClosureErr = -2830, /* Used by notification handlers to abort a closure.*/
+ cfragOutputLengthErr = -2831, /* An output parameter is too small to hold the value.*/
+ cfragLastErrCode = -2899 /* The last value in the range of CFM errors.*/
+};
#if OLDROUTINENAMES
- /* The old spelling for Code Fragment Manager errors, kept for compatibility:*/
- enum
- {
- fragContextNotFound = cfragContextIDErr,
- fragConnectionIDNotFound = cfragConnectionIDErr,
- fragSymbolNotFound = cfragNoSymbolErr,
- fragSectionNotFound = cfragNoSectionErr,
- fragLibNotFound = cfragNoLibraryErr,
- fragDupRegLibName = cfragDupRegistrationErr,
- fragFormatUnknown = cfragFragmentFormatErr,
- fragHadUnresolveds = cfragUnresolvedErr,
- fragNoMem = cfragNoPrivateMemErr,
- fragNoAddrSpace = cfragNoClientMemErr,
- fragNoContextIDs = cfragNoIDsErr,
- fragObjectInitSeqErr = cfragInitOrderErr,
- fragImportTooOld = cfragImportTooOldErr,
- fragImportTooNew = cfragImportTooNewErr,
- fragInitLoop = cfragInitLoopErr,
- fragInitRtnUsageErr = cfragInitAtBootErr,
- fragLibConnErr = cfragLibConnErr,
- fragMgrInitErr = cfragCFMStartupErr,
- fragConstErr = cfragCFMInternalErr,
- fragCorruptErr = cfragFragmentCorruptErr,
- fragUserInitProcErr = cfragInitFunctionErr,
- fragAppNotFound = cfragNoApplicationErr,
- fragArchError = cfragArchitectureErr,
- fragInvalidFragmentUsage = cfragFragmentUsageErr,
- fragLastErrCode = cfragLastErrCode
- };
+/* The old spelling for Code Fragment Manager errors, kept for compatibility:*/
+enum {
+ fragContextNotFound = cfragContextIDErr,
+ fragConnectionIDNotFound = cfragConnectionIDErr,
+ fragSymbolNotFound = cfragNoSymbolErr,
+ fragSectionNotFound = cfragNoSectionErr,
+ fragLibNotFound = cfragNoLibraryErr,
+ fragDupRegLibName = cfragDupRegistrationErr,
+ fragFormatUnknown = cfragFragmentFormatErr,
+ fragHadUnresolveds = cfragUnresolvedErr,
+ fragNoMem = cfragNoPrivateMemErr,
+ fragNoAddrSpace = cfragNoClientMemErr,
+ fragNoContextIDs = cfragNoIDsErr,
+ fragObjectInitSeqErr = cfragInitOrderErr,
+ fragImportTooOld = cfragImportTooOldErr,
+ fragImportTooNew = cfragImportTooNewErr,
+ fragInitLoop = cfragInitLoopErr,
+ fragInitRtnUsageErr = cfragInitAtBootErr,
+ fragLibConnErr = cfragLibConnErr,
+ fragMgrInitErr = cfragCFMStartupErr,
+ fragConstErr = cfragCFMInternalErr,
+ fragCorruptErr = cfragFragmentCorruptErr,
+ fragUserInitProcErr = cfragInitFunctionErr,
+ fragAppNotFound = cfragNoApplicationErr,
+ fragArchError = cfragArchitectureErr,
+ fragInvalidFragmentUsage = cfragFragmentUsageErr,
+ fragLastErrCode = cfragLastErrCode
+};
#endif /* OLDROUTINENAMES */
- /*Component Manager & component errors*/
- enum
- {
- invalidComponentID = -3000,
- validInstancesExist = -3001,
- componentNotCaptured = -3002,
- componentDontRegister = -3003,
- unresolvedComponentDLLErr = -3004,
- retryComponentRegistrationErr = -3005
- };
-
- /*Translation manager & Translation components*/
- enum
- {
- invalidTranslationPathErr = -3025, /*Source type to destination type not a valid path*/
- couldNotParseSourceFileErr = -3026, /*Source document does not contain source type*/
- noTranslationPathErr = -3030,
- badTranslationSpecErr = -3031,
- noPrefAppErr = -3032
- };
-
- enum
- {
- buf2SmallErr = -3101,
- noMPPErr = -3102,
- ckSumErr = -3103,
- extractErr = -3104,
- readQErr = -3105,
- atpLenErr = -3106,
- atpBadRsp = -3107,
- recNotFnd = -3108,
- sktClosedErr = -3109
- };
-
-
- /* OpenTransport errors*/
- enum
- {
- kOTNoError = 0, /* No Error occurred */
- kOTOutOfMemoryErr = -3211, /* OT ran out of memory, may be a temporary */
- kOTNotFoundErr = -3201, /* OT generic not found error */
- kOTDuplicateFoundErr = -3216, /* OT generic duplicate found error */
- kOTBadAddressErr = -3150, /* XTI2OSStatus(TBADADDR) A Bad address was specified */
- kOTBadOptionErr = -3151, /* XTI2OSStatus(TBADOPT) A Bad option was specified */
- kOTAccessErr = -3152, /* XTI2OSStatus(TACCES) Missing access permission */
- kOTBadReferenceErr = -3153, /* XTI2OSStatus(TBADF) Bad provider reference */
- kOTNoAddressErr = -3154, /* XTI2OSStatus(TNOADDR) No address was specified */
- kOTOutStateErr = -3155, /* XTI2OSStatus(TOUTSTATE) Call issued in wrong state */
- kOTBadSequenceErr = -3156, /* XTI2OSStatus(TBADSEQ) Sequence specified does not exist */
- kOTSysErrorErr = -3157, /* XTI2OSStatus(TSYSERR) A system error occurred */
- kOTLookErr = -3158, /* XTI2OSStatus(TLOOK) An event occurred - call Look() */
- kOTBadDataErr = -3159, /* XTI2OSStatus(TBADDATA) An illegal amount of data was specified */
- kOTBufferOverflowErr = -3160, /* XTI2OSStatus(TBUFOVFLW) Passed buffer not big enough */
- kOTFlowErr = -3161, /* XTI2OSStatus(TFLOW) Provider is flow-controlled */
- kOTNoDataErr = -3162, /* XTI2OSStatus(TNODATA) No data available for reading */
- kOTNoDisconnectErr = -3163, /* XTI2OSStatus(TNODIS) No disconnect indication available */
- kOTNoUDErrErr = -3164, /* XTI2OSStatus(TNOUDERR) No Unit Data Error indication available */
- kOTBadFlagErr = -3165, /* XTI2OSStatus(TBADFLAG) A Bad flag value was supplied */
- kOTNoReleaseErr = -3166, /* XTI2OSStatus(TNOREL) No orderly release indication available */
- kOTNotSupportedErr = -3167, /* XTI2OSStatus(TNOTSUPPORT) Command is not supported */
- kOTStateChangeErr = -3168, /* XTI2OSStatus(TSTATECHNG) State is changing - try again later */
- kOTNoStructureTypeErr = -3169, /* XTI2OSStatus(TNOSTRUCTYPE) Bad structure type requested for OTAlloc */
- kOTBadNameErr = -3170, /* XTI2OSStatus(TBADNAME) A bad endpoint name was supplied */
- kOTBadQLenErr = -3171, /* XTI2OSStatus(TBADQLEN) A Bind to an in-use addr with qlen > 0 */
- kOTAddressBusyErr = -3172, /* XTI2OSStatus(TADDRBUSY) Address requested is already in use */
- kOTIndOutErr = -3173, /* XTI2OSStatus(TINDOUT) Accept failed because of pending listen */
- kOTProviderMismatchErr = -3174, /* XTI2OSStatus(TPROVMISMATCH) Tried to accept on incompatible endpoint */
- kOTResQLenErr = -3175, /* XTI2OSStatus(TRESQLEN) */
- kOTResAddressErr = -3176, /* XTI2OSStatus(TRESADDR) */
- kOTQFullErr = -3177, /* XTI2OSStatus(TQFULL) */
- kOTProtocolErr = -3178, /* XTI2OSStatus(TPROTO) An unspecified provider error occurred */
- kOTBadSyncErr = -3179, /* XTI2OSStatus(TBADSYNC) A synchronous call at interrupt time */
- kOTCanceledErr = -3180, /* XTI2OSStatus(TCANCELED) The command was cancelled */
- kEPERMErr = -3200, /* Permission denied */
- kENOENTErr = -3201, /* No such file or directory */
- kENORSRCErr = -3202, /* No such resource */
- kEINTRErr = -3203, /* Interrupted system service */
- kEIOErr = -3204, /* I/O error */
- kENXIOErr = -3205, /* No such device or address */
- kEBADFErr = -3208, /* Bad file number */
- kEAGAINErr = -3210, /* Try operation again later */
- kENOMEMErr = -3211, /* Not enough space */
- kEACCESErr = -3212, /* Permission denied */
- kEFAULTErr = -3213, /* Bad address */
- kEBUSYErr = -3215, /* Device or resource busy */
- kEEXISTErr = -3216, /* File exists */
- kENODEVErr = -3218, /* No such device */
- kEINVALErr = -3221, /* Invalid argument */
- kENOTTYErr = -3224, /* Not a character device */
- kEPIPEErr = -3231, /* Broken pipe */
- kERANGEErr = -3233, /* Message size too large for STREAM */
- kEWOULDBLOCKErr = -3234, /* Call would block, so was aborted */
- kEDEADLKErr = -3234, /* or a deadlock would occur */
- kEALREADYErr = -3236, /* */
- kENOTSOCKErr = -3237, /* Socket operation on non-socket */
- kEDESTADDRREQErr = -3238, /* Destination address required */
- kEMSGSIZEErr = -3239, /* Message too long */
- kEPROTOTYPEErr = -3240, /* Protocol wrong type for socket */
- kENOPROTOOPTErr = -3241, /* Protocol not available */
- kEPROTONOSUPPORTErr = -3242, /* Protocol not supported */
- kESOCKTNOSUPPORTErr = -3243, /* Socket type not supported */
- kEOPNOTSUPPErr = -3244, /* Operation not supported on socket */
- kEADDRINUSEErr = -3247, /* Address already in use */
- kEADDRNOTAVAILErr = -3248, /* Can't assign requested address */
- kENETDOWNErr = -3249, /* Network is down */
- kENETUNREACHErr = -3250, /* Network is unreachable */
- kENETRESETErr = -3251, /* Network dropped connection on reset */
- kECONNABORTEDErr = -3252, /* Software caused connection abort */
- kECONNRESETErr = -3253, /* Connection reset by peer */
- kENOBUFSErr = -3254, /* No buffer space available */
- kEISCONNErr = -3255, /* Socket is already connected */
- kENOTCONNErr = -3256, /* Socket is not connected */
- kESHUTDOWNErr = -3257, /* Can't send after socket shutdown */
- kETOOMANYREFSErr = -3258, /* Too many references: can't splice */
- kETIMEDOUTErr = -3259, /* Connection timed out */
- kECONNREFUSEDErr = -3260, /* Connection refused */
- kEHOSTDOWNErr = -3263, /* Host is down */
- kEHOSTUNREACHErr = -3264, /* No route to host */
- kEPROTOErr = -3269, /* ooo fill out missing codes ooo */
- kETIMEErr = -3270, /* */
- kENOSRErr = -3271, /* */
- kEBADMSGErr = -3272, /* */
- kECANCELErr = -3273, /* */
- kENOSTRErr = -3274, /* */
- kENODATAErr = -3275, /* */
- kEINPROGRESSErr = -3276, /* */
- kESRCHErr = -3277, /* */
- kENOMSGErr = -3278, /* */
- kOTClientNotInittedErr = -3279, /* */
- kOTPortHasDiedErr = -3280, /* */
- kOTPortWasEjectedErr = -3281, /* */
- kOTBadConfigurationErr = -3282, /* */
- kOTConfigurationChangedErr = -3283, /* */
- kOTUserRequestedErr = -3284, /* */
- kOTPortLostConnection = -3285 /* */
- };
-
-
- /* Additional Quickdraw errors in the assigned range -3950 .. -3999*/
- enum
- {
- kQDNoPalette = -3950, /* PaletteHandle is NULL*/
- kQDNoColorHWCursorSupport = -3951, /* CGSSystemSupportsColorHardwareCursors() returned false*/
- kQDCursorAlreadyRegistered = -3952, /* can be returned from QDRegisterNamedPixMapCursor()*/
- kQDCursorNotRegistered = -3953, /* can be returned from QDSetNamedPixMapCursor()*/
- kQDCorruptPICTDataErr = -3954
- };
-
-
-
- /* Color Picker errors*/
- enum
- {
- firstPickerError = -4000,
- invalidPickerType = firstPickerError,
- requiredFlagsDontMatch = -4001,
- pickerResourceError = -4002,
- cantLoadPicker = -4003,
- cantCreatePickerWindow = -4004,
- cantLoadPackage = -4005,
- pickerCantLive = -4006,
- colorSyncNotInstalled = -4007,
- badProfileError = -4008,
- noHelpForItem = -4009
- };
-
-
-
- /* NSL error codes*/
- enum
- {
- kNSL68kContextNotSupported = -4170, /* no 68k allowed*/
- kNSLSchedulerError = -4171, /* A custom thread routine encountered an error*/
- kNSLBadURLSyntax = -4172, /* URL contains illegal characters*/
- kNSLNoCarbonLib = -4173,
- kNSLUILibraryNotAvailable = -4174, /* The NSL UI Library needs to be in the Extensions Folder*/
- kNSLNotImplementedYet = -4175,
- kNSLErrNullPtrError = -4176,
- kNSLSomePluginsFailedToLoad = -4177, /* (one or more plugins failed to load, but at least one did load; this error isn't fatal)*/
- kNSLNullNeighborhoodPtr = -4178, /* (client passed a null neighborhood ptr)*/
- kNSLNoPluginsForSearch = -4179, /* (no plugins will respond to search request; bad protocol(s)?)*/
- kNSLSearchAlreadyInProgress = -4180, /* (you can only have one ongoing search per clientRef)*/
- kNSLNoPluginsFound = -4181, /* (manager didn't find any valid plugins to load)*/
- kNSLPluginLoadFailed = -4182, /* (manager unable to load one of the plugins)*/
- kNSLBadProtocolTypeErr = -4183, /* (client is trying to add a null protocol type)*/
- kNSLNullListPtr = -4184, /* (client is trying to add items to a nil list)*/
- kNSLBadClientInfoPtr = -4185, /* (nil ClientAsyncInfoPtr; no reference available)*/
- kNSLCannotContinueLookup = -4186, /* (Can't continue lookup; error or bad state)*/
- kNSLBufferTooSmallForData = -4187, /* (Client buffer too small for data from plugin)*/
- kNSLNoContextAvailable = -4188, /* (ContinueLookup function ptr invalid)*/
- kNSLRequestBufferAlreadyInList = -4189,
- kNSLInvalidPluginSpec = -4190,
- kNSLNoSupportForService = -4191,
- kNSLBadNetConnection = -4192,
- kNSLBadDataTypeErr = -4193,
- kNSLBadServiceTypeErr = -4194,
- kNSLBadReferenceErr = -4195,
- kNSLNoElementsInList = -4196,
- kNSLInsufficientOTVer = -4197,
- kNSLInsufficientSysVer = -4198,
- kNSLNotInitialized = -4199,
- kNSLInitializationFailed = -4200 /* UNABLE TO INITIALIZE THE MANAGER!!!!! DO NOT CONTINUE!!!!*/
- };
-
-
-
- /* desktop printing error codes*/
- enum
- {
- kDTPHoldJobErr = -4200,
- kDTPStopQueueErr = -4201,
- kDTPTryAgainErr = -4202,
- kDTPAbortJobErr = 128
- };
-
-
- /* ColorSync Result codes */
- enum
- {
- /* Profile Access Errors */
- cmElementTagNotFound = -4200,
- cmIndexRangeErr = -4201, /* Tag index out of range */
- cmCantDeleteElement = -4202,
- cmFatalProfileErr = -4203,
- cmInvalidProfile = -4204, /* A Profile must contain a 'cs1 ' tag to be valid */
- cmInvalidProfileLocation = -4205, /* Operation not supported for this profile location */
- cmCantCopyModifiedV1Profile = -4215, /* Illegal to copy version 1 profiles that have been modified */
- /* Profile Search Errors */
- cmInvalidSearch = -4206, /* Bad Search Handle */
- cmSearchError = -4207,
- cmErrIncompatibleProfile = -4208, /* Other ColorSync Errors */
- cmInvalidColorSpace = -4209, /* Profile colorspace does not match bitmap type */
- cmInvalidSrcMap = -4210, /* Source pix/bit map was invalid */
- cmInvalidDstMap = -4211, /* Destination pix/bit map was invalid */
- cmNoGDevicesError = -4212, /* Begin/End Matching -- no gdevices available */
- cmInvalidProfileComment = -4213, /* Bad Profile comment during drawpicture */
- cmRangeOverFlow = -4214, /* Color conversion warning that some output color values over/underflowed and were clipped */
- cmNamedColorNotFound = -4216, /* NamedColor not found */
- cmCantGamutCheckError = -4217 /* Gammut checking not supported by this ColorWorld */
- };
-
- /* new Folder Manager error codes */
- enum
- {
- badFolderDescErr = -4270,
- duplicateFolderDescErr = -4271,
- noMoreFolderDescErr = -4272,
- invalidFolderTypeErr = -4273,
- duplicateRoutingErr = -4274,
- routingNotFoundErr = -4275,
- badRoutingSizeErr = -4276
- };
-
-
- /* Core Foundation errors*/
- enum
- {
- coreFoundationUnknownErr = -4960
- };
-
- /* ScrapMgr error codes (CarbonLib 1.0 and later)*/
- enum
- {
- internalScrapErr = -4988,
- duplicateScrapFlavorErr = -4989,
- badScrapRefErr = -4990,
- processStateIncorrectErr = -4991,
- scrapPromiseNotKeptErr = -4992,
- noScrapPromiseKeeperErr = -4993,
- nilScrapFlavorDataErr = -4994,
- scrapFlavorFlagsMismatchErr = -4995,
- scrapFlavorSizeMismatchErr = -4996,
- illegalScrapFlavorFlagsErr = -4997,
- illegalScrapFlavorTypeErr = -4998,
- illegalScrapFlavorSizeErr = -4999,
- scrapFlavorNotFoundErr = -102, /* == noTypeErr*/
- needClearScrapErr = -100 /* == noScrapErr*/
- };
-
-
- enum
- {
- /* AFP Protocol Errors */
- afpAccessDenied = -5000, /* Insufficient access privileges for operation */
- afpAuthContinue = -5001, /* Further information required to complete AFPLogin call */
- afpBadUAM = -5002, /* Unknown user authentication method specified */
- afpBadVersNum = -5003, /* Unknown AFP protocol version number specified */
- afpBitmapErr = -5004, /* Bitmap contained bits undefined for call */
- afpCantMove = -5005, /* Move destination is offspring of source, or root was specified */
- afpDenyConflict = -5006, /* Specified open/deny modes conflict with current open modes */
- afpDirNotEmpty = -5007, /* Cannot delete non-empty directory */
- afpDiskFull = -5008, /* Insufficient free space on volume for operation */
- afpEofError = -5009, /* Read beyond logical end-of-file */
- afpFileBusy = -5010, /* Cannot delete an open file */
- afpFlatVol = -5011, /* Cannot create directory on specified volume */
- afpItemNotFound = -5012, /* Unknown UserName/UserID or missing comment/APPL entry */
- afpLockErr = -5013, /* Some or all of requested range is locked by another user */
- afpMiscErr = -5014, /* Unexpected error encountered during execution */
- afpNoMoreLocks = -5015, /* Maximum lock limit reached */
- afpNoServer = -5016, /* Server not responding */
- afpObjectExists = -5017, /* Specified destination file or directory already exists */
- afpObjectNotFound = -5018, /* Specified file or directory does not exist */
- afpParmErr = -5019, /* A specified parameter was out of allowable range */
- afpRangeNotLocked = -5020, /* Tried to unlock range that was not locked by user */
- afpRangeOverlap = -5021, /* Some or all of range already locked by same user */
- afpSessClosed = -5022, /* Session closed*/
- afpUserNotAuth = -5023, /* No AFPLogin call has successfully been made for this session */
- afpCallNotSupported = -5024, /* Unsupported AFP call was made */
- afpObjectTypeErr = -5025, /* File/Directory specified where Directory/File expected */
- afpTooManyFilesOpen = -5026, /* Maximum open file count reached */
- afpServerGoingDown = -5027, /* Server is shutting down */
- afpCantRename = -5028, /* AFPRename cannot rename volume */
- afpDirNotFound = -5029, /* Unknown directory specified */
- afpIconTypeError = -5030, /* Icon size specified different from existing icon size */
- afpVolLocked = -5031, /* Volume is Read-Only */
- afpObjectLocked = -5032, /* Object is M/R/D/W inhibited*/
- afpContainsSharedErr = -5033, /* the folder being shared contains a shared folder*/
- afpIDNotFound = -5034,
- afpIDExists = -5035,
- afpDiffVolErr = -5036,
- afpCatalogChanged = -5037,
- afpSameObjectErr = -5038,
- afpBadIDErr = -5039,
- afpPwdSameErr = -5040, /* Someone tried to change their password to the same password on a mantadory password change */
- afpPwdTooShortErr = -5041, /* The password being set is too short: there is a minimum length that must be met or exceeded */
- afpPwdExpiredErr = -5042, /* The password being used is too old: this requires the user to change the password before log-in can continue */
- afpInsideSharedErr = -5043, /* The folder being shared is inside a shared folder OR the folder contains a shared folder and is being moved into a shared folder */
- /* OR the folder contains a shared folder and is being moved into the descendent of a shared folder.*/
- afpInsideTrashErr = -5044, /* The folder being shared is inside the trash folder OR the shared folder is being moved into the trash folder */
- /* OR the folder is being moved to the trash and it contains a shared folder */
- afpPwdNeedsChangeErr = -5045, /* The password needs to be changed*/
- afpPwdPolicyErr = -5046, /* Password does not conform to servers password policy */
- afpAlreadyLoggedInErr = -5047, /* User has been authenticated but is already logged in from another machine (and that's not allowed on this server) */
- afpCallNotAllowed = -5048 /* The server knows what you wanted to do, but won't let you do it just now */
- };
-
- enum
- {
- /* AppleShare Client Errors */
- afpBadDirIDType = -5060,
- afpCantMountMoreSrvre = -5061, /* The Maximum number of server connections has been reached */
- afpAlreadyMounted = -5062, /* The volume is already mounted */
- afpSameNodeErr = -5063 /* An Attempt was made to connect to a file server running on the same machine */
- };
-
-
-
- /*Text Engines, TSystemTextEngines, HIEditText error coded*/
-
- enum
- {
- errUnknownAttributeTag = -5240,
- errMarginWilllNotFit = -5241,
- errNotInImagingMode = -5242,
- errAlreadyInImagingMode = -5243,
- errEngineNotFound = -5244,
- errIteratorReachedEnd = -5245,
- errInvalidRange = -5246,
- errOffsetNotOnElementBounday = -5247,
- errNoHiliteText = -5248,
- errEmptyScrap = -5249,
- errReadOnlyText = -5250,
- errUnknownElement = -5251,
- errNonContiuousAttribute = -5252,
- errCannotUndo = -5253
- };
-
-
- /* HTMLRendering OSStaus codes*/
- enum
- {
- hrHTMLRenderingLibNotInstalledErr = -5360,
- hrMiscellaneousExceptionErr = -5361,
- hrUnableToResizeHandleErr = -5362,
- hrURLNotHandledErr = -5363
- };
-
-
- /* IAExtractor result codes */
- enum
- {
- errIANoErr = 0,
- errIAUnknownErr = -5380,
- errIAAllocationErr = -5381,
- errIAParamErr = -5382,
- errIANoMoreItems = -5383,
- errIABufferTooSmall = -5384,
- errIACanceled = -5385,
- errIAInvalidDocument = -5386,
- errIATextExtractionErr = -5387,
- errIAEndOfTextRun = -5388
- };
-
-
- /* QuickTime Streaming Errors */
- enum
- {
- qtsBadSelectorErr = -5400,
- qtsBadStateErr = -5401,
- qtsBadDataErr = -5402, /* something is wrong with the data */
- qtsUnsupportedDataTypeErr = -5403,
- qtsUnsupportedRateErr = -5404,
- qtsUnsupportedFeatureErr = -5405,
- qtsTooMuchDataErr = -5406,
- qtsUnknownValueErr = -5407,
- qtsTimeoutErr = -5408,
- qtsConnectionFailedErr = -5420,
- qtsAddressBusyErr = -5421
- };
-
-
- enum
- {
- /*Gestalt error codes*/
- gestaltUnknownErr = -5550, /*value returned if Gestalt doesn't know the answer*/
- gestaltUndefSelectorErr = -5551, /*undefined selector was passed to Gestalt*/
- gestaltDupSelectorErr = -5552, /*tried to add an entry that already existed*/
- gestaltLocationErr = -5553 /*gestalt function ptr wasn't in sysheap*/
- };
-
-
- /* Menu Manager error codes*/
- enum
- {
- menuPropertyInvalidErr = -5603, /* invalid property creator */
- menuPropertyInvalid = menuPropertyInvalidErr, /* "menuPropertyInvalid" is deprecated */
- menuPropertyNotFoundErr = -5604, /* specified property wasn't found */
- menuNotFoundErr = -5620, /* specified menu or menu ID wasn't found */
- menuUsesSystemDefErr = -5621, /* GetMenuDefinition failed because the menu uses the system MDEF */
- menuItemNotFoundErr = -5622, /* specified menu item wasn't found*/
- menuInvalidErr = -5623 /* menu is invalid*/
- };
-
-
- /* Window Manager error codes*/
- enum
- {
- errInvalidWindowPtr = -5600, /* tried to pass a bad WindowRef argument*/
- errInvalidWindowRef = -5600, /* tried to pass a bad WindowRef argument*/
- errUnsupportedWindowAttributesForClass = -5601, /* tried to create a window with WindowAttributes not supported by the WindowClass*/
- errWindowDoesNotHaveProxy = -5602, /* tried to do something requiring a proxy to a window which doesn't have a proxy*/
- errInvalidWindowProperty = -5603, /* tried to access a property tag with private creator*/
- errWindowPropertyNotFound = -5604, /* tried to get a nonexistent property*/
- errUnrecognizedWindowClass = -5605, /* tried to create a window with a bad WindowClass*/
- errCorruptWindowDescription = -5606, /* tried to load a corrupt window description (size or version fields incorrect)*/
- errUserWantsToDragWindow = -5607, /* if returned from TrackWindowProxyDrag, you should call DragWindow on the window*/
- errWindowsAlreadyInitialized = -5608, /* tried to call InitFloatingWindows twice, or called InitWindows and then floating windows*/
- errFloatingWindowsNotInitialized = -5609, /* called HideFloatingWindows or ShowFloatingWindows without calling InitFloatingWindows*/
- errWindowNotFound = -5610, /* returned from FindWindowOfClass*/
- errWindowDoesNotFitOnscreen = -5611, /* ConstrainWindowToScreen could not make the window fit onscreen*/
- windowAttributeImmutableErr = -5612, /* tried to change attributes which can't be changed*/
- windowAttributesConflictErr = -5613, /* passed some attributes that are mutually exclusive*/
- windowManagerInternalErr = -5614, /* something really weird happened inside the window manager*/
- windowWrongStateErr = -5615, /* window is not in a state that is valid for the current action*/
- windowGroupInvalidErr = -5616, /* WindowGroup is invalid*/
- windowAppModalStateAlreadyExistsErr = -5617, /* we're already running this window modally*/
- windowNoAppModalStateErr = -5618, /* there's no app modal state for the window*/
- errWindowDoesntSupportFocus = -30583,
- errWindowRegionCodeInvalid = -30593
- };
-
-
- /* Dialog Mgr error codes*/
- enum
- {
- dialogNoTimeoutErr = -5640
- };
-
-
- /* NavigationLib error codes*/
- enum
- {
- kNavWrongDialogStateErr = -5694,
- kNavWrongDialogClassErr = -5695,
- kNavInvalidSystemConfigErr = -5696,
- kNavCustomControlMessageFailedErr = -5697,
- kNavInvalidCustomControlMessageErr = -5698,
- kNavMissingKindStringErr = -5699
- };
-
-
- /* Collection Manager errors */
- enum
- {
- collectionItemLockedErr = -5750,
- collectionItemNotFoundErr = -5751,
- collectionIndexRangeErr = -5752,
- collectionVersionErr = -5753
- };
-
-
- /* QuickTime Streaming Server Errors */
- enum
- {
- kQTSSUnknownErr = -6150
- };
-
-
- enum
- {
- /* Display Manager error codes (-6220...-6269)*/
- kDMGenErr = -6220, /*Unexpected Error*/
- /* Mirroring-Specific Errors */
- kDMMirroringOnAlready = -6221, /*Returned by all calls that need mirroring to be off to do their thing.*/
- kDMWrongNumberOfDisplays = -6222, /*Can only handle 2 displays for now.*/
- kDMMirroringBlocked = -6223, /*DMBlockMirroring() has been called.*/
- kDMCantBlock = -6224, /*Mirroring is already on, can't Block now (call DMUnMirror() first).*/
- kDMMirroringNotOn = -6225, /*Returned by all calls that need mirroring to be on to do their thing.*/
- /* Other Display Manager Errors */
- kSysSWTooOld = -6226, /*Missing critical pieces of System Software.*/
- kDMSWNotInitializedErr = -6227, /*Required software not initialized (eg windowmanager or display mgr).*/
- kDMDriverNotDisplayMgrAwareErr = -6228, /*Video Driver does not support display manager.*/
- kDMDisplayNotFoundErr = -6229, /*Could not find item (will someday remove).*/
- kDMNotFoundErr = -6229, /*Could not find item.*/
- kDMDisplayAlreadyInstalledErr = -6230, /*Attempt to add an already installed display.*/
- kDMMainDisplayCannotMoveErr = -6231, /*Trying to move main display (or a display mirrored to it) */
- kDMNoDeviceTableclothErr = -6231, /*obsolete*/
- kDMFoundErr = -6232 /*Did not proceed because we found an item*/
- };
-
-
- /*
- Language Analysis error codes
- */
- enum
- {
- laTooSmallBufferErr = -6984, /* output buffer is too small to store any result */
- laEnvironmentBusyErr = -6985, /* specified environment is used */
- laEnvironmentNotFoundErr = -6986, /* can't fint the specified environment */
- laEnvironmentExistErr = -6987, /* same name environment is already exists */
- laInvalidPathErr = -6988, /* path is not correct */
- laNoMoreMorphemeErr = -6989, /* nothing to read*/
- laFailAnalysisErr = -6990, /* analysis failed*/
- laTextOverFlowErr = -6991, /* text is too long*/
- laDictionaryNotOpenedErr = -6992, /* the dictionary is not opened*/
- laDictionaryUnknownErr = -6993, /* can't use this dictionary with this environment*/
- laDictionaryTooManyErr = -6994, /* too many dictionaries*/
- laPropertyValueErr = -6995, /* Invalid property value*/
- laPropertyUnknownErr = -6996, /* the property is unknown to this environment*/
- laPropertyIsReadOnlyErr = -6997, /* the property is read only*/
- laPropertyNotFoundErr = -6998, /* can't find the property*/
- laPropertyErr = -6999, /* Error in properties*/
- laEngineNotFoundErr = -7000 /* can't find the engine*/
- };
-
-
- enum
- {
- kUSBNoErr = 0,
- kUSBNoTran = 0,
- kUSBNoDelay = 0,
- kUSBPending = 1
- };
-
- /*
-
- USB Hardware Errors
- Note pipe stalls are communication
- errors. The affected pipe can not
- be used until USBClearPipeStallByReference
- is used.
- kUSBEndpointStallErr is returned in
- response to a stall handshake
- from a device. The device has to be
- cleared before a USBClearPipeStallByReference
- can be used.
- */
- enum
- {
- kUSBNotSent2Err = -6901, /* Transaction not sent */
- kUSBNotSent1Err = -6902, /* Transaction not sent */
- kUSBBufUnderRunErr = -6903, /* Host hardware failure on data out, PCI busy? */
- kUSBBufOvrRunErr = -6904, /* Host hardware failure on data in, PCI busy? */
- kUSBRes2Err = -6905,
- kUSBRes1Err = -6906,
- kUSBUnderRunErr = -6907, /* Less data than buffer */
- kUSBOverRunErr = -6908, /* Packet too large or more data than buffer */
- kUSBWrongPIDErr = -6909, /* Pipe stall, Bad or wrong PID */
- kUSBPIDCheckErr = -6910, /* Pipe stall, PID CRC error */
- kUSBNotRespondingErr = -6911, /* Pipe stall, No device, device hung */
- kUSBEndpointStallErr = -6912, /* Device didn't understand */
- kUSBDataToggleErr = -6913, /* Pipe stall, Bad data toggle */
- kUSBBitstufErr = -6914, /* Pipe stall, bitstuffing */
- kUSBCRCErr = -6915, /* Pipe stall, bad CRC */
- kUSBLinkErr = -6916
- };
-
-
- /*
-
- USB Manager Errors
- */
- enum
- {
- kUSBQueueFull = -6948, /* Internal queue maxxed */
- kUSBNotHandled = -6987, /* Notification was not handled (same as NotFound)*/
- kUSBUnknownNotification = -6949, /* Notification type not defined */
- kUSBBadDispatchTable = -6950 /* Improper driver dispatch table */
- };
-
-
- /* USB Services Errors */
- enum
- {
- kUSBPortDisabled = -6969, /* The port you are attached to is disabled, use USBDeviceReset.*/
- kUSBQueueAborted = -6970, /* Pipe zero stall cleared.*/
- kUSBTimedOut = -6971, /* Transaction timed out. */
- kUSBDeviceDisconnected = -6972, /* Disconnected during suspend or reset */
- kUSBDeviceNotSuspended = -6973, /* device is not suspended for resume */
- kUSBDeviceSuspended = -6974, /* Device is suspended */
- kUSBInvalidBuffer = -6975, /* bad buffer, usually nil */
- kUSBDevicePowerProblem = -6976, /* Device has a power problem */
- kUSBDeviceBusy = -6977, /* Device is already being configured */
- kUSBUnknownInterfaceErr = -6978, /* Interface ref not recognised */
- kUSBPipeStalledError = -6979, /* Pipe has stalled, error needs to be cleared */
- kUSBPipeIdleError = -6980, /* Pipe is Idle, it will not accept transactions */
- kUSBNoBandwidthError = -6981, /* Not enough bandwidth available */
- kUSBAbortedError = -6982, /* Pipe aborted */
- kUSBFlagsError = -6983, /* Unused flags not zeroed */
- kUSBCompletionError = -6984, /* no completion routine specified */
- kUSBPBLengthError = -6985, /* pbLength too small */
- kUSBPBVersionError = -6986, /* Wrong pbVersion */
- kUSBNotFound = -6987, /* Not found */
- kUSBOutOfMemoryErr = -6988, /* Out of memory */
- kUSBDeviceErr = -6989, /* Device error */
- kUSBNoDeviceErr = -6990, /* No device*/
- kUSBAlreadyOpenErr = -6991, /* Already open */
- kUSBTooManyTransactionsErr = -6992, /* Too many transactions */
- kUSBUnknownRequestErr = -6993, /* Unknown request */
- kUSBRqErr = -6994, /* Request error */
- kUSBIncorrectTypeErr = -6995, /* Incorrect type */
- kUSBTooManyPipesErr = -6996, /* Too many pipes */
- kUSBUnknownPipeErr = -6997, /* Pipe ref not recognised */
- kUSBUnknownDeviceErr = -6998, /* device ref not recognised */
- kUSBInternalErr = -6999 /* Internal error */
- };
-
-
- /*
- DictionaryMgr error codes
- */
- enum
- {
- dcmParamErr = -7100, /* bad parameter*/
- dcmNotDictionaryErr = -7101, /* not dictionary*/
- dcmBadDictionaryErr = -7102, /* invalid dictionary*/
- dcmPermissionErr = -7103, /* invalid permission*/
- dcmDictionaryNotOpenErr = -7104, /* dictionary not opened*/
- dcmDictionaryBusyErr = -7105, /* dictionary is busy*/
- dcmBlockFullErr = -7107, /* dictionary block full*/
- dcmNoRecordErr = -7108, /* no such record*/
- dcmDupRecordErr = -7109, /* same record already exist*/
- dcmNecessaryFieldErr = -7110, /* lack required/identify field*/
- dcmBadFieldInfoErr = -7111, /* incomplete information*/
- dcmBadFieldTypeErr = -7112, /* no such field type supported*/
- dcmNoFieldErr = -7113, /* no such field exist*/
- dcmBadKeyErr = -7115, /* bad key information*/
- dcmTooManyKeyErr = -7116, /* too many key field*/
- dcmBadDataSizeErr = -7117, /* too big data size*/
- dcmBadFindMethodErr = -7118, /* no such find method supported*/
- dcmBadPropertyErr = -7119, /* no such property exist*/
- dcmProtectedErr = -7121, /* need keyword to use dictionary*/
- dcmNoAccessMethodErr = -7122, /* no such AccessMethod*/
- dcmBadFeatureErr = -7124, /* invalid AccessMethod feature*/
- dcmIterationCompleteErr = -7126, /* no more item in iterator*/
- dcmBufferOverflowErr = -7127 /* data is larger than buffer size*/
- };
-
-
- /* Apple Remote Access error codes*/
- enum
- {
- kRAInvalidParameter = -7100,
- kRAInvalidPort = -7101,
- kRAStartupFailed = -7102,
- kRAPortSetupFailed = -7103,
- kRAOutOfMemory = -7104,
- kRANotSupported = -7105,
- kRAMissingResources = -7106,
- kRAIncompatiblePrefs = -7107,
- kRANotConnected = -7108,
- kRAConnectionCanceled = -7109,
- kRAUnknownUser = -7110,
- kRAInvalidPassword = -7111,
- kRAInternalError = -7112,
- kRAInstallationDamaged = -7113,
- kRAPortBusy = -7114,
- kRAUnknownPortState = -7115,
- kRAInvalidPortState = -7116,
- kRAInvalidSerialProtocol = -7117,
- kRAUserLoginDisabled = -7118,
- kRAUserPwdChangeRequired = -7119,
- kRAUserPwdEntryRequired = -7120,
- kRAUserInteractionRequired = -7121,
- kRAInitOpenTransportFailed = -7122,
- kRARemoteAccessNotReady = -7123,
- kRATCPIPInactive = -7124, /* TCP/IP inactive, cannot be loaded*/
- kRATCPIPNotConfigured = -7125, /* TCP/IP not configured, could be loaded*/
- kRANotPrimaryInterface = -7126, /* when IPCP is not primary TCP/IP intf.*/
- kRAConfigurationDBInitErr = -7127,
- kRAPPPProtocolRejected = -7128,
- kRAPPPAuthenticationFailed = -7129,
- kRAPPPNegotiationFailed = -7130,
- kRAPPPUserDisconnected = -7131,
- kRAPPPPeerDisconnected = -7132,
- kRAPeerNotResponding = -7133,
- kRAATalkInactive = -7134,
- kRAExtAuthenticationFailed = -7135,
- kRANCPRejectedbyPeer = -7136,
- kRADuplicateIPAddr = -7137,
- kRACallBackFailed = -7138,
- kRANotEnabled = -7139
- };
-
-
-
-
-
-
- /* ATSUI Error Codes - Range 1 of 2*/
-
-
- enum
- {
- kATSUInvalidTextLayoutErr = -8790, /* An attempt was made to use a ATSUTextLayout */
- /* which hadn't been initialized or is otherwise */
- /* in an invalid state. */
- kATSUInvalidStyleErr = -8791, /* An attempt was made to use a ATSUStyle which */
- /* hadn't been properly allocated or is otherwise */
- /* in an invalid state. */
- kATSUInvalidTextRangeErr = -8792, /* An attempt was made to extract information */
- /* from or perform an operation on a ATSUTextLayout */
- /* for a range of text not covered by the ATSUTextLayout. */
- kATSUFontsMatched = -8793, /* This is not an error code but is returned by */
- /* ATSUMatchFontsToText() when changes need to */
- /* be made to the fonts associated with the text. */
- kATSUFontsNotMatched = -8794, /* This value is returned by ATSUMatchFontsToText() */
- /* when the text contains Unicode characters which */
- /* cannot be represented by any installed font. */
- kATSUNoCorrespondingFontErr = -8795, /* This value is retrned by font ID conversion */
- /* routines ATSUFONDtoFontID() and ATSUFontIDtoFOND() */
- /* to indicate that the input font ID is valid but */
- /* there is no conversion possible. For example, */
- /* data-fork fonts can only be used with ATSUI not */
- /* the FontManager, and so converting an ATSUIFontID */
- /* for such a font will fail. */
- kATSUInvalidFontErr = -8796, /* Used when an attempt was made to use an invalid font ID.*/
- kATSUInvalidAttributeValueErr = -8797, /* Used when an attempt was made to use an attribute with */
- /* a bad or undefined value. */
- kATSUInvalidAttributeSizeErr = -8798, /* Used when an attempt was made to use an attribute with a */
- /* bad size. */
- kATSUInvalidAttributeTagErr = -8799, /* Used when an attempt was made to use a tag value that*/
- /* was not appropriate for the function call it was used. */
- kATSUInvalidCacheErr = -8800, /* Used when an attempt was made to read in style data */
- /* from an invalid cache. Either the format of the */
- /* cached data doesn't match that used by Apple Type */
- /* Services for Unicode(tm) Imaging, or the cached data */
- /* is corrupt. */
- kATSUNotSetErr = -8801, /* Used when the client attempts to retrieve an attribute, */
- /* font feature, or font variation from a style when it */
- /* hadn't been set. In such a case, the default value will*/
- /* be returned for the attribute's value.*/
- kATSUNoStyleRunsAssignedErr = -8802, /* Used when an attempt was made to measure, highlight or draw*/
- /* a ATSUTextLayout object that has no styleRuns associated with it.*/
- kATSUQuickDrawTextErr = -8803, /* Used when QuickDraw Text encounters an error rendering or measuring*/
- /* a line of ATSUI text.*/
- kATSULowLevelErr = -8804, /* Used when an error was encountered within the low level ATS */
- /* mechanism performing an operation requested by ATSUI.*/
- kATSUNoFontCmapAvailableErr = -8805, /* Used when no CMAP table can be accessed or synthesized for the */
- /* font passed into a SetAttributes Font call.*/
- kATSUNoFontScalerAvailableErr = -8806, /* Used when no font scaler is available for the font passed*/
- /* into a SetAttributes Font call.*/
- kATSUCoordinateOverflowErr = -8807, /* Used to indicate the coordinates provided to an ATSUI routine caused*/
- /* a coordinate overflow (i.e. > 32K).*/
- kATSULineBreakInWord = -8808, /* This is not an error code but is returned by ATSUBreakLine to */
- /* indicate that the returned offset is within a word since there was*/
- /* only less than one word that could fit the requested width.*/
- kATSUBusyObjectErr = -8809 /* An ATSUI object is being used by another thread */
- };
-
- /*
- kATSUInvalidFontFallbacksErr, which had formerly occupied -8810 has been relocated to error code -8900. See
- below in this range for additional error codes.
- */
-
-
- /* Error & status codes for general text and text encoding conversion*/
-
- enum
- {
- /* general text errors*/
- kTextUnsupportedEncodingErr = -8738, /* specified encoding not supported for this operation*/
- kTextMalformedInputErr = -8739, /* in DBCS, for example, high byte followed by invalid low byte*/
- kTextUndefinedElementErr = -8740, /* text conversion errors*/
- kTECMissingTableErr = -8745,
- kTECTableChecksumErr = -8746,
- kTECTableFormatErr = -8747,
- kTECCorruptConverterErr = -8748, /* invalid converter object reference*/
- kTECNoConversionPathErr = -8749,
- kTECBufferBelowMinimumSizeErr = -8750, /* output buffer too small to allow processing of first input text element*/
- kTECArrayFullErr = -8751, /* supplied name buffer or TextRun, TextEncoding, or UnicodeMapping array is too small*/
- kTECBadTextRunErr = -8752,
- kTECPartialCharErr = -8753, /* input buffer ends in the middle of a multibyte character, conversion stopped*/
- kTECUnmappableElementErr = -8754,
- kTECIncompleteElementErr = -8755, /* text element may be incomplete or is too long for internal buffers*/
- kTECDirectionErr = -8756, /* direction stack overflow, etc.*/
- kTECGlobalsUnavailableErr = -8770, /* globals have already been deallocated (premature TERM)*/
- kTECItemUnavailableErr = -8771, /* item (e.g. name) not available for specified region (& encoding if relevant)*/
- /* text conversion status codes*/
- kTECUsedFallbacksStatus = -8783,
- kTECNeedFlushStatus = -8784,
- kTECOutputBufferFullStatus = -8785, /* output buffer has no room for conversion of next input text element (partial conversion)*/
- /* deprecated error & status codes for low-level converter*/
- unicodeChecksumErr = -8769,
- unicodeNoTableErr = -8768,
- unicodeVariantErr = -8767,
- unicodeFallbacksErr = -8766,
- unicodePartConvertErr = -8765,
- unicodeBufErr = -8764,
- unicodeCharErr = -8763,
- unicodeElementErr = -8762,
- unicodeNotFoundErr = -8761,
- unicodeTableFormatErr = -8760,
- unicodeDirectionErr = -8759,
- unicodeContextualErr = -8758,
- unicodeTextEncodingDataErr = -8757
- };
-
-
- /* UTCUtils Status Codes */
- enum
- {
- kUTCUnderflowErr = -8850,
- kUTCOverflowErr = -8851,
- kIllegalClockValueErr = -8852
- };
-
-
- /* ATSUI Error Codes - Range 2 of 2*/
-
-
- enum
- {
- kATSUInvalidFontFallbacksErr = -8900, /* An attempt was made to use a ATSUFontFallbacks which hadn't */
- /* been initialized or is otherwise in an invalid state. */
- kATSUUnsupportedStreamFormatErr = -8901, /* An attempt was made to use a ATSUFlattenedDataStreamFormat*/
- /* which is invalid is not compatible with this version of ATSUI.*/
- kATSUBadStreamErr = -8902, /* An attempt was made to use a stream which is incorrectly*/
- /* structured, contains bad or out of range values or is*/
- /* missing required information.*/
- kATSUOutputBufferTooSmallErr = -8903, /* An attempt was made to use an output buffer which was too small*/
- /* for the requested operation.*/
- kATSUInvalidCallInsideCallbackErr = -8904, /* A call was made within the context of a callback that could*/
- /* potetially cause an infinite recursion*/
- kATSULastErr = -8959 /* The last ATSUI error code.*/
- };
-
-
- /* QuickTime errors (Image Compression Manager) */
- enum
- {
- codecErr = -8960,
- noCodecErr = -8961,
- codecUnimpErr = -8962,
- codecSizeErr = -8963,
- codecScreenBufErr = -8964,
- codecImageBufErr = -8965,
- codecSpoolErr = -8966,
- codecAbortErr = -8967,
- codecWouldOffscreenErr = -8968,
- codecBadDataErr = -8969,
- codecDataVersErr = -8970,
- codecExtensionNotFoundErr = -8971,
- scTypeNotFoundErr = codecExtensionNotFoundErr,
- codecConditionErr = -8972,
- codecOpenErr = -8973,
- codecCantWhenErr = -8974,
- codecCantQueueErr = -8975,
- codecNothingToBlitErr = -8976,
- codecNoMemoryPleaseWaitErr = -8977,
- codecDisabledErr = -8978, /* codec disabled itself -- pass codecFlagReenable to reset*/
- codecNeedToFlushChainErr = -8979,
- lockPortBitsBadSurfaceErr = -8980,
- lockPortBitsWindowMovedErr = -8981,
- lockPortBitsWindowResizedErr = -8982,
- lockPortBitsWindowClippedErr = -8983,
- lockPortBitsBadPortErr = -8984,
- lockPortBitsSurfaceLostErr = -8985,
- codecParameterDialogConfirm = -8986,
- codecNeedAccessKeyErr = -8987, /* codec needs password in order to decompress*/
- codecOffscreenFailedErr = -8988,
- codecDroppedFrameErr = -8989, /* returned from ImageCodecDrawBand */
- directXObjectAlreadyExists = -8990,
- lockPortBitsWrongGDeviceErr = -8991,
- codecOffscreenFailedPleaseRetryErr = -8992,
- badCodecCharacterizationErr = -8993,
- noThumbnailFoundErr = -8994
- };
-
-
- /* PCCard error codes */
- enum
- {
- kBadAdapterErr = -9050, /* invalid adapter number*/
- kBadAttributeErr = -9051, /* specified attributes field value is invalid*/
- kBadBaseErr = -9052, /* specified base system memory address is invalid*/
- kBadEDCErr = -9053, /* specified EDC generator specified is invalid*/
- kBadIRQErr = -9054, /* specified IRQ level is invalid*/
- kBadOffsetErr = -9055, /* specified PC card memory array offset is invalid*/
- kBadPageErr = -9056, /* specified page is invalid*/
- kBadSizeErr = -9057, /* specified size is invalid*/
- kBadSocketErr = -9058, /* specified logical or physical socket number is invalid*/
- kBadTypeErr = -9059, /* specified window or interface type is invalid*/
- kBadVccErr = -9060, /* specified Vcc power level index is invalid*/
- kBadVppErr = -9061, /* specified Vpp1 or Vpp2 power level index is invalid*/
- kBadWindowErr = -9062, /* specified window is invalid*/
- kBadArgLengthErr = -9063, /* ArgLength argument is invalid*/
- kBadArgsErr = -9064, /* values in argument packet are invalid*/
- kBadHandleErr = -9065, /* clientHandle is invalid*/
- kBadCISErr = -9066, /* CIS on card is invalid*/
- kBadSpeedErr = -9067, /* specified speed is unavailable*/
- kReadFailureErr = -9068, /* unable to complete read request*/
- kWriteFailureErr = -9069, /* unable to complete write request*/
- kGeneralFailureErr = -9070, /* an undefined error has occurred*/
- kNoCardErr = -9071, /* no PC card in the socket*/
- kUnsupportedFunctionErr = -9072, /* function is not supported by this implementation*/
- kUnsupportedModeErr = -9073, /* mode is not supported*/
- kBusyErr = -9074, /* unable to process request at this time - try later*/
- kWriteProtectedErr = -9075, /* media is write-protected*/
- kConfigurationLockedErr = -9076, /* a configuration has already been locked*/
- kInUseErr = -9077, /* requested resource is being used by a client*/
- kNoMoreItemsErr = -9078, /* there are no more of the requested item*/
- kOutOfResourceErr = -9079, /* Card Services has exhausted the resource*/
- kNoCardSevicesSocketsErr = -9080,
- kInvalidRegEntryErr = -9081,
- kBadLinkErr = -9082,
- kBadDeviceErr = -9083,
- k16BitCardErr = -9084,
- kCardBusCardErr = -9085,
- kPassCallToChainErr = -9086,
- kCantConfigureCardErr = -9087,
- kPostCardEventErr = -9088, /* _PCCSLPostCardEvent failed and dropped an event */
- kInvalidDeviceNumber = -9089,
- kUnsupportedVsErr = -9090, /* Unsupported Voltage Sense */
- kInvalidCSClientErr = -9091, /* Card Services ClientID is not registered */
- kBadTupleDataErr = -9092, /* Data in tuple is invalid */
- kBadCustomIFIDErr = -9093, /* Custom interface ID is invalid */
- kNoIOWindowRequestedErr = -9094, /* Request I/O window before calling configuration */
- kNoMoreTimerClientsErr = -9095, /* All timer callbacks are in use */
- kNoMoreInterruptSlotsErr = -9096, /* All internal Interrupt slots are in use */
- kNoClientTableErr = -9097, /* The client table has not be initialized yet */
- kUnsupportedCardErr = -9098, /* Card not supported by generic enabler*/
- kNoCardEnablersFoundErr = -9099, /* No Enablers were found*/
- kNoEnablerForCardErr = -9100, /* No Enablers were found that can support the card*/
- kNoCompatibleNameErr = -9101, /* There is no compatible driver name for this device*/
- kClientRequestDenied = -9102, /* CS Clients should return this code inorder to */
- /* deny a request-type CS Event */
- kNotReadyErr = -9103, /* PC Card failed to go ready */
- kTooManyIOWindowsErr = -9104, /* device requested more than one I/O window */
- kAlreadySavedStateErr = -9105, /* The state has been saved on previous call */
- kAttemptDupCardEntryErr = -9106, /* The Enabler was asked to create a duplicate card entry */
- kCardPowerOffErr = -9107, /* Power to the card has been turned off */
- kNotZVCapableErr = -9108, /* This socket does not support Zoomed Video */
- kNoCardBusCISErr = -9109 /* No valid CIS exists for this CardBus card */
- };
-
-
- /* QuickTime errors (Sequence Grabber) */
- enum
- {
- noDeviceForChannel = -9400,
- grabTimeComplete = -9401,
- cantDoThatInCurrentMode = -9402,
- notEnoughMemoryToGrab = -9403,
- notEnoughDiskSpaceToGrab = -9404,
- couldntGetRequiredComponent = -9405,
- badSGChannel = -9406,
- seqGrabInfoNotAvailable = -9407,
- deviceCantMeetRequest = -9408
- };
-
- /* QuickTime errors (Movie Controller) */
- enum
- {
- badControllerHeight = -9994,
- editingNotAllowed = -9995,
- controllerBoundsNotExact = -9996,
- cannotSetWidthOfAttachedController = -9997,
- controllerHasFixedHeight = -9998,
- cannotMoveAttachedController = -9999
- };
-
- /* AERegistry Errors */
- enum
- {
- errAEBadKeyForm = -10002,
- errAECantHandleClass = -10010,
- errAECantSupplyType = -10009,
- errAECantUndo = -10015,
- errAEEventFailed = -10000,
- errAEIndexTooLarge = -10007,
- errAEInTransaction = -10011,
- errAELocalOnly = -10016,
- errAENoSuchTransaction = -10012,
- errAENotAnElement = -10008,
- errAENotASingleObject = -10014,
- errAENotModifiable = -10003,
- errAENoUserSelection = -10013,
- errAEPrivilegeError = -10004,
- errAEReadDenied = -10005,
- errAETypeError = -10001,
- errAEWriteDenied = -10006,
- errAENotAnEnumMember = -10023, /* enumerated value in SetData is not allowed for this property */
- errAECantPutThatThere = -10024, /* in make new, duplicate, etc. class can't be an element of container */
- errAEPropertiesClash = -10025 /* illegal combination of properties settings for Set Data, make new, or duplicate */
- };
-
- /* TELErr */
- enum
- {
- telGenericError = -1,
- telNoErr = 0,
- telNoTools = 8, /* no telephone tools found in extension folder */
- telBadTermErr = -10001, /* invalid TELHandle or handle not found*/
- telBadDNErr = -10002, /* TELDNHandle not found or invalid */
- telBadCAErr = -10003, /* TELCAHandle not found or invalid */
- telBadHandErr = -10004, /* bad handle specified */
- telBadProcErr = -10005, /* bad msgProc specified */
- telCAUnavail = -10006, /* a CA is not available */
- telNoMemErr = -10007, /* no memory to allocate handle */
- telNoOpenErr = -10008, /* unable to open terminal */
- telBadHTypeErr = -10010, /* bad hook type specified */
- telHTypeNotSupp = -10011, /* hook type not supported by this tool */
- telBadLevelErr = -10012, /* bad volume level setting */
- telBadVTypeErr = -10013, /* bad volume type error */
- telVTypeNotSupp = -10014, /* volume type not supported by this tool*/
- telBadAPattErr = -10015, /* bad alerting pattern specified */
- telAPattNotSupp = -10016, /* alerting pattern not supported by tool*/
- telBadIndex = -10017, /* bad index specified */
- telIndexNotSupp = -10018, /* index not supported by this tool */
- telBadStateErr = -10019, /* bad device state specified */
- telStateNotSupp = -10020, /* device state not supported by tool */
- telBadIntExt = -10021, /* bad internal external error */
- telIntExtNotSupp = -10022, /* internal external type not supported by this tool */
- telBadDNDType = -10023, /* bad DND type specified */
- telDNDTypeNotSupp = -10024, /* DND type is not supported by this tool */
- telFeatNotSub = -10030, /* feature not subscribed */
- telFeatNotAvail = -10031, /* feature subscribed but not available */
- telFeatActive = -10032, /* feature already active */
- telFeatNotSupp = -10033, /* feature program call not supported by this tool */
- telConfLimitErr = -10040, /* limit specified is too high for this configuration */
- telConfNoLimit = -10041, /* no limit was specified but required*/
- telConfErr = -10042, /* conference was not prepared */
- telConfRej = -10043, /* conference request was rejected */
- telTransferErr = -10044, /* transfer not prepared */
- telTransferRej = -10045, /* transfer request rejected */
- telCBErr = -10046, /* call back feature not set previously */
- telConfLimitExceeded = -10047, /* attempt to exceed switch conference limits */
- telBadDNType = -10050, /* DN type invalid */
- telBadPageID = -10051, /* bad page ID specified*/
- telBadIntercomID = -10052, /* bad intercom ID specified */
- telBadFeatureID = -10053, /* bad feature ID specified */
- telBadFwdType = -10054, /* bad fwdType specified */
- telBadPickupGroupID = -10055, /* bad pickup group ID specified */
- telBadParkID = -10056, /* bad park id specified */
- telBadSelect = -10057, /* unable to select or deselect DN */
- telBadBearerType = -10058, /* bad bearerType specified */
- telBadRate = -10059, /* bad rate specified */
- telDNTypeNotSupp = -10060, /* DN type not supported by tool */
- telFwdTypeNotSupp = -10061, /* forward type not supported by tool */
- telBadDisplayMode = -10062, /* bad display mode specified */
- telDisplayModeNotSupp = -10063, /* display mode not supported by tool */
- telNoCallbackRef = -10064, /* no call back reference was specified, but is required */
- telAlreadyOpen = -10070, /* terminal already open */
- telStillNeeded = -10071, /* terminal driver still needed by someone else */
- telTermNotOpen = -10072, /* terminal not opened via TELOpenTerm */
- telCANotAcceptable = -10080, /* CA not "acceptable" */
- telCANotRejectable = -10081, /* CA not "rejectable" */
- telCANotDeflectable = -10082, /* CA not "deflectable" */
- telPBErr = -10090, /* parameter block error, bad format */
- telBadFunction = -10091, /* bad msgCode specified */
- /* telNoTools = -10101, unable to find any telephone tools */
- telNoSuchTool = -10102, /* unable to find tool with name specified */
- telUnknownErr = -10103, /* unable to set config */
- telNoCommFolder = -10106, /* Communications/Extensions f not found */
- telInitFailed = -10107, /* initialization failed */
- telBadCodeResource = -10108, /* code resource not found */
- telDeviceNotFound = -10109, /* device not found */
- telBadProcID = -10110, /* invalid procID */
- telValidateFailed = -10111, /* telValidate failed */
- telAutoAnsNotOn = -10112, /* autoAnswer in not turned on */
- telDetAlreadyOn = -10113, /* detection is already turned on */
- telBadSWErr = -10114, /* Software not installed properly */
- telBadSampleRate = -10115, /* incompatible sample rate */
- telNotEnoughdspBW = -10116 /* not enough real-time for allocation */
- };
-
- enum
- {
- errTaskNotFound = -10780 /* no task with that task id exists */
- };
-
-
- /* Video driver Errorrs -10930 to -10959 */
- /* Defined in video.h. */
-
- enum
- {
- /*Power Manager Errors*/
- pmBusyErr = -13000, /*Power Mgr never ready to start handshake*/
- pmReplyTOErr = -13001, /*Timed out waiting for reply*/
- pmSendStartErr = -13002, /*during send, pmgr did not start hs*/
- pmSendEndErr = -13003, /*during send, pmgr did not finish hs*/
- pmRecvStartErr = -13004, /*during receive, pmgr did not start hs*/
- pmRecvEndErr = -13005 /*during receive, pmgr did not finish hs configured for this connection*/
- };
-
- /*Power Manager 2.0 Errors*/
- enum
- {
- kPowerHandlerExistsForDeviceErr = -13006,
- kPowerHandlerNotFoundForDeviceErr = -13007,
- kPowerHandlerNotFoundForProcErr = -13008,
- kPowerMgtMessageNotHandled = -13009,
- kPowerMgtRequestDenied = -13010,
- kCantReportProcessorTemperatureErr = -13013,
- kProcessorTempRoutineRequiresMPLib2 = -13014,
- kNoSuchPowerSource = -13020,
- kBridgeSoftwareRunningCantSleep = -13038
- };
-
-
- /* Debugging library errors */
- enum
- {
- debuggingExecutionContextErr = -13880, /* routine cannot be called at this time */
- debuggingDuplicateSignatureErr = -13881, /* componentSignature already registered */
- debuggingDuplicateOptionErr = -13882, /* optionSelectorNum already registered */
- debuggingInvalidSignatureErr = -13883, /* componentSignature not registered */
- debuggingInvalidOptionErr = -13884, /* optionSelectorNum is not registered */
- debuggingInvalidNameErr = -13885, /* componentName or optionName is invalid (NULL) */
- debuggingNoCallbackErr = -13886, /* debugging component has no callback */
- debuggingNoMatchErr = -13887 /* debugging component or option not found at this index */
- };
-
-
- /* HID device driver error codes */
- enum
- {
- kHIDVersionIncompatibleErr = -13909,
- kHIDDeviceNotReady = -13910 /* The device is still initializing, try again later*/
- };
-
-
- /* HID error codes */
- enum
- {
- kHIDSuccess = 0,
- kHIDInvalidRangePageErr = -13923,
- kHIDReportIDZeroErr = -13924,
- kHIDReportCountZeroErr = -13925,
- kHIDReportSizeZeroErr = -13926,
- kHIDUnmatchedDesignatorRangeErr = -13927,
- kHIDUnmatchedStringRangeErr = -13928,
- kHIDInvertedUsageRangeErr = -13929,
- kHIDUnmatchedUsageRangeErr = -13930,
- kHIDInvertedPhysicalRangeErr = -13931,
- kHIDInvertedLogicalRangeErr = -13932,
- kHIDBadLogicalMaximumErr = -13933,
- kHIDBadLogicalMinimumErr = -13934,
- kHIDUsagePageZeroErr = -13935,
- kHIDEndOfDescriptorErr = -13936,
- kHIDNotEnoughMemoryErr = -13937,
- kHIDBadParameterErr = -13938,
- kHIDNullPointerErr = -13939,
- kHIDInvalidReportLengthErr = -13940,
- kHIDInvalidReportTypeErr = -13941,
- kHIDBadLogPhysValuesErr = -13942,
- kHIDIncompatibleReportErr = -13943,
- kHIDInvalidPreparsedDataErr = -13944,
- kHIDNotValueArrayErr = -13945,
- kHIDUsageNotFoundErr = -13946,
- kHIDValueOutOfRangeErr = -13947,
- kHIDBufferTooSmallErr = -13948,
- kHIDNullStateErr = -13949,
- kHIDBaseError = -13950
- };
-
-
- /* the OT modem module may return the following error codes:*/
- enum
- {
- kModemOutOfMemory = -14000,
- kModemPreferencesMissing = -14001,
- kModemScriptMissing = -14002
- };
-
-
-
- /* MacTextEditor error codes */
- enum
- {
- kTXNEndIterationErr = -22000,
- kTXNCannotAddFrameErr = -22001,
- kTXNInvalidFrameIDErr = -22002,
- kTXNIllegalToCrossDataBoundariesErr = -22003,
- kTXNUserCanceledOperationErr = -22004,
- kTXNBadDefaultFileTypeWarning = -22005,
- kTXNCannotSetAutoIndentErr = -22006,
- kTXNRunIndexOutofBoundsErr = -22007,
- kTXNNoMatchErr = -22008,
- kTXNAttributeTagInvalidForRunErr = -22009, /*dataValue is set to this per invalid tag*/
- kTXNSomeOrAllTagsInvalidForRunErr = -22010,
- kTXNInvalidRunIndex = -22011,
- kTXNAlreadyInitializedErr = -22012,
- kTXNCannotTurnTSMOffWhenUsingUnicodeErr = -22013,
- kTXNCopyNotAllowedInEchoModeErr = -22014,
- kTXNDataTypeNotAllowedErr = -22015,
- kTXNATSUIIsNotInstalledErr = -22016,
- kTXNOutsideOfLineErr = -22017,
- kTXNOutsideOfFrameErr = -22018
- };
-
-
-
-
- /*Possible errors from the PrinterStatus bottleneck*/
- enum
- {
- printerStatusOpCodeNotSupportedErr = -25280
- };
-
-
- /* Keychain Manager error codes */
- enum
- {
- errKCNotAvailable = -25291,
- errKCReadOnly = -25292,
- errKCAuthFailed = -25293,
- errKCNoSuchKeychain = -25294,
- errKCInvalidKeychain = -25295,
- errKCDuplicateKeychain = -25296,
- errKCDuplicateCallback = -25297,
- errKCInvalidCallback = -25298,
- errKCDuplicateItem = -25299,
- errKCItemNotFound = -25300,
- errKCBufferTooSmall = -25301,
- errKCDataTooLarge = -25302,
- errKCNoSuchAttr = -25303,
- errKCInvalidItemRef = -25304,
- errKCInvalidSearchRef = -25305,
- errKCNoSuchClass = -25306,
- errKCNoDefaultKeychain = -25307,
- errKCInteractionNotAllowed = -25308,
- errKCReadOnlyAttr = -25309,
- errKCWrongKCVersion = -25310,
- errKCKeySizeNotAllowed = -25311,
- errKCNoStorageModule = -25312,
- errKCNoCertificateModule = -25313,
- errKCNoPolicyModule = -25314,
- errKCInteractionRequired = -25315,
- errKCDataNotAvailable = -25316,
- errKCDataNotModifiable = -25317,
- errKCCreateChainFailed = -25318
- };
-
-
- /* UnicodeUtilities error & status codes*/
- enum
- {
- kUCOutputBufferTooSmall = -25340, /* Output buffer too small for Unicode string result*/
- kUCTextBreakLocatorMissingType = -25341 /* Unicode text break error*/
- };
-
- /* Multiprocessing API error codes*/
- enum
- {
- kMPIterationEndErr = -29275,
- kMPPrivilegedErr = -29276,
- kMPProcessCreatedErr = -29288,
- kMPProcessTerminatedErr = -29289,
- kMPTaskCreatedErr = -29290,
- kMPTaskBlockedErr = -29291,
- kMPTaskStoppedErr = -29292, /* A convention used with MPThrowException.*/
- kMPBlueBlockingErr = -29293,
- kMPDeletedErr = -29295,
- kMPTimeoutErr = -29296,
- kMPTaskAbortedErr = -29297,
- kMPInsufficientResourcesErr = -29298,
- kMPInvalidIDErr = -29299
- };
-
- /* StringCompare error codes (in TextUtils range)*/
- enum
- {
- kCollateAttributesNotFoundErr = -29500,
- kCollateInvalidOptions = -29501,
- kCollateMissingUnicodeTableErr = -29502,
- kCollateUnicodeConvertFailedErr = -29503,
- kCollatePatternNotFoundErr = -29504,
- kCollateInvalidChar = -29505,
- kCollateBufferTooSmall = -29506,
- kCollateInvalidCollationRef = -29507
- };
-
-
- /* FontSync OSStatus Codes */
- enum
- {
- kFNSInvalidReferenceErr = -29580, /* ref. was NULL or otherwise bad */
- kFNSBadReferenceVersionErr = -29581, /* ref. version is out of known range */
- kFNSInvalidProfileErr = -29582, /* profile is NULL or otherwise bad */
- kFNSBadProfileVersionErr = -29583, /* profile version is out of known range */
- kFNSDuplicateReferenceErr = -29584, /* the ref. being added is already in the profile */
- kFNSMismatchErr = -29585, /* reference didn't match or wasn't found in profile */
- kFNSInsufficientDataErr = -29586, /* insufficient data for the operation */
- kFNSBadFlattenedSizeErr = -29587, /* flattened size didn't match input or was too small */
- kFNSNameNotFoundErr = -29589 /* The name with the requested paramters was not found */
- };
-
-
-
- /* MacLocales error codes*/
- enum
- {
- kLocalesBufferTooSmallErr = -30001,
- kLocalesTableFormatErr = -30002,
- kLocalesDefaultDisplayStatus = -30029 /* Requested display locale unavailable, used default*/
- };
-
-
- /* Settings Manager (formerly known as Location Manager) Errors */
- enum
- {
- kALMInternalErr = -30049,
- kALMGroupNotFoundErr = -30048,
- kALMNoSuchModuleErr = -30047,
- kALMModuleCommunicationErr = -30046,
- kALMDuplicateModuleErr = -30045,
- kALMInstallationErr = -30044,
- kALMDeferSwitchErr = -30043,
- kALMRebootFlagsLevelErr = -30042
- };
-
- enum
- {
- kALMLocationNotFoundErr = kALMGroupNotFoundErr /* Old name */
- };
-
-
- /* SoundSprocket Error Codes */
- enum
- {
- kSSpInternalErr = -30340,
- kSSpVersionErr = -30341,
- kSSpCantInstallErr = -30342,
- kSSpParallelUpVectorErr = -30343,
- kSSpScaleToZeroErr = -30344
- };
-
-
- /* NetSprocket Error Codes */
- enum
- {
- kNSpInitializationFailedErr = -30360,
- kNSpAlreadyInitializedErr = -30361,
- kNSpTopologyNotSupportedErr = -30362,
- kNSpPipeFullErr = -30364,
- kNSpHostFailedErr = -30365,
- kNSpProtocolNotAvailableErr = -30366,
- kNSpInvalidGameRefErr = -30367,
- kNSpInvalidParameterErr = -30369,
- kNSpOTNotPresentErr = -30370,
- kNSpOTVersionTooOldErr = -30371,
- kNSpMemAllocationErr = -30373,
- kNSpAlreadyAdvertisingErr = -30374,
- kNSpNotAdvertisingErr = -30376,
- kNSpInvalidAddressErr = -30377,
- kNSpFreeQExhaustedErr = -30378,
- kNSpRemovePlayerFailedErr = -30379,
- kNSpAddressInUseErr = -30380,
- kNSpFeatureNotImplementedErr = -30381,
- kNSpNameRequiredErr = -30382,
- kNSpInvalidPlayerIDErr = -30383,
- kNSpInvalidGroupIDErr = -30384,
- kNSpNoPlayersErr = -30385,
- kNSpNoGroupsErr = -30386,
- kNSpNoHostVolunteersErr = -30387,
- kNSpCreateGroupFailedErr = -30388,
- kNSpAddPlayerFailedErr = -30389,
- kNSpInvalidDefinitionErr = -30390,
- kNSpInvalidProtocolRefErr = -30391,
- kNSpInvalidProtocolListErr = -30392,
- kNSpTimeoutErr = -30393,
- kNSpGameTerminatedErr = -30394,
- kNSpConnectFailedErr = -30395,
- kNSpSendFailedErr = -30396,
- kNSpMessageTooBigErr = -30397,
- kNSpCantBlockErr = -30398,
- kNSpJoinFailedErr = -30399
- };
-
-
- /* InputSprockets error codes */
- enum
- {
- kISpInternalErr = -30420,
- kISpSystemListErr = -30421,
- kISpBufferToSmallErr = -30422,
- kISpElementInListErr = -30423,
- kISpElementNotInListErr = -30424,
- kISpSystemInactiveErr = -30425,
- kISpDeviceInactiveErr = -30426,
- kISpSystemActiveErr = -30427,
- kISpDeviceActiveErr = -30428,
- kISpListBusyErr = -30429
- };
-
- /* DrawSprockets error/warning codes */
- enum
- {
- kDSpNotInitializedErr = -30440L,
- kDSpSystemSWTooOldErr = -30441L,
- kDSpInvalidContextErr = -30442L,
- kDSpInvalidAttributesErr = -30443L,
- kDSpContextAlreadyReservedErr = -30444L,
- kDSpContextNotReservedErr = -30445L,
- kDSpContextNotFoundErr = -30446L,
- kDSpFrameRateNotReadyErr = -30447L,
- kDSpConfirmSwitchWarning = -30448L,
- kDSpInternalErr = -30449L,
- kDSpStereoContextErr = -30450L
- };
-
-
- /*
- ***************************************************************************
- Find By Content errors are assigned in the range -30500 to -30539, inclusive.
- ***************************************************************************
- */
- enum
- {
- kFBCvTwinExceptionErr = -30500, /*no telling what it was*/
- kFBCnoIndexesFound = -30501,
- kFBCallocFailed = -30502, /*probably low memory*/
- kFBCbadParam = -30503,
- kFBCfileNotIndexed = -30504,
- kFBCbadIndexFile = -30505, /*bad FSSpec, or bad data in file*/
- kFBCcompactionFailed = -30506, /*V-Twin exception caught*/
- kFBCvalidationFailed = -30507, /*V-Twin exception caught*/
- kFBCindexingFailed = -30508, /*V-Twin exception caught*/
- kFBCcommitFailed = -30509, /*V-Twin exception caught*/
- kFBCdeletionFailed = -30510, /*V-Twin exception caught*/
- kFBCmoveFailed = -30511, /*V-Twin exception caught*/
- kFBCtokenizationFailed = -30512, /*couldn't read from document or query*/
- kFBCmergingFailed = -30513, /*couldn't merge index files*/
- kFBCindexCreationFailed = -30514, /*couldn't create index*/
- kFBCaccessorStoreFailed = -30515,
- kFBCaddDocFailed = -30516,
- kFBCflushFailed = -30517,
- kFBCindexNotFound = -30518,
- kFBCnoSearchSession = -30519,
- kFBCindexingCanceled = -30520,
- kFBCaccessCanceled = -30521,
- kFBCindexFileDestroyed = -30522,
- kFBCindexNotAvailable = -30523,
- kFBCsearchFailed = -30524,
- kFBCsomeFilesNotIndexed = -30525,
- kFBCillegalSessionChange = -30526, /*tried to add/remove vols to a session*/
- /*that has hits*/
- kFBCanalysisNotAvailable = -30527,
- kFBCbadIndexFileVersion = -30528,
- kFBCsummarizationCanceled = -30529,
- kFBCindexDiskIOFailed = -30530,
- kFBCbadSearchSession = -30531,
- kFBCnoSuchHit = -30532
- };
-
-
- /* QuickTime VR Errors */
- enum
- {
- notAQTVRMovieErr = -30540,
- constraintReachedErr = -30541,
- callNotSupportedByNodeErr = -30542,
- selectorNotSupportedByNodeErr = -30543,
- invalidNodeIDErr = -30544,
- invalidViewStateErr = -30545,
- timeNotInViewErr = -30546,
- propertyNotSupportedByNodeErr = -30547,
- settingNotSupportedByNodeErr = -30548,
- limitReachedErr = -30549,
- invalidNodeFormatErr = -30550,
- invalidHotSpotIDErr = -30551,
- noMemoryNodeFailedInitialize = -30552,
- streamingNodeNotReadyErr = -30553,
- qtvrLibraryLoadErr = -30554,
- qtvrUninitialized = -30555
- };
-
-
- /* Appearance Manager Error Codes */
- enum
- {
- themeInvalidBrushErr = -30560, /* pattern index invalid */
- themeProcessRegisteredErr = -30561,
- themeProcessNotRegisteredErr = -30562,
- themeBadTextColorErr = -30563,
- themeHasNoAccentsErr = -30564,
- themeBadCursorIndexErr = -30565,
- themeScriptFontNotFoundErr = -30566, /* theme font requested for uninstalled script system */
- themeMonitorDepthNotSupportedErr = -30567, /* theme not supported at monitor depth */
- themeNoAppropriateBrushErr = -30568 /* theme brush has no corresponding theme text color */
- };
-
-
- /* Control Manager Error Codes */
- enum
- {
- errMessageNotSupported = -30580,
- errDataNotSupported = -30581,
- errControlDoesntSupportFocus = -30582,
- errUnknownControl = -30584,
- errCouldntSetFocus = -30585,
- errNoRootControl = -30586,
- errRootAlreadyExists = -30587,
- errInvalidPartCode = -30588,
- errControlsAlreadyExist = -30589,
- errControlIsNotEmbedder = -30590,
- errDataSizeMismatch = -30591,
- errControlHiddenOrDisabled = -30592,
- errCantEmbedIntoSelf = -30594,
- errCantEmbedRoot = -30595,
- errItemNotControl = -30596,
- controlInvalidDataVersionErr = -30597,
- controlPropertyInvalid = -5603,
- controlPropertyNotFoundErr = -5604,
- controlHandleInvalidErr = -30599
- };
-
-
-
-
- /* URLAccess Error Codes */
- enum
- {
- kURLInvalidURLReferenceError = -30770,
- kURLProgressAlreadyDisplayedError = -30771,
- kURLDestinationExistsError = -30772,
- kURLInvalidURLError = -30773,
- kURLUnsupportedSchemeError = -30774,
- kURLServerBusyError = -30775,
- kURLAuthenticationError = -30776,
- kURLPropertyNotYetKnownError = -30777,
- kURLUnknownPropertyError = -30778,
- kURLPropertyBufferTooSmallError = -30779,
- kURLUnsettablePropertyError = -30780,
- kURLInvalidCallError = -30781,
- kURLFileEmptyError = -30783,
- kURLExtensionFailureError = -30785,
- kURLInvalidConfigurationError = -30786,
- kURLAccessNotAvailableError = -30787,
- kURL68kNotSupportedError = -30788
- };
-
-
- /* ComponentError codes*/
- enum
- {
- badComponentInstance = (long)0x80008001, /* when cast to an OSErr this is -32767*/
- badComponentSelector = (long)0x80008002 /* when cast to an OSErr this is -32766*/
- };
-
-
-
- enum
- {
- dsBusError = 1, /*bus error*/
- dsAddressErr = 2, /*address error*/
- dsIllInstErr = 3, /*illegal instruction error*/
- dsZeroDivErr = 4, /*zero divide error*/
- dsChkErr = 5, /*check trap error*/
- dsOvflowErr = 6, /*overflow trap error*/
- dsPrivErr = 7, /*privilege violation error*/
- dsTraceErr = 8, /*trace mode error*/
- dsLineAErr = 9, /*line 1010 trap error*/
- dsLineFErr = 10, /*line 1111 trap error*/
- dsMiscErr = 11, /*miscellaneous hardware exception error*/
- dsCoreErr = 12, /*unimplemented core routine error*/
- dsIrqErr = 13, /*uninstalled interrupt error*/
- dsIOCoreErr = 14, /*IO Core Error*/
- dsLoadErr = 15, /*Segment Loader Error*/
- dsFPErr = 16, /*Floating point error*/
- dsNoPackErr = 17, /*package 0 not present*/
- dsNoPk1 = 18, /*package 1 not present*/
- dsNoPk2 = 19 /*package 2 not present*/
- };
-
- enum
- {
- dsNoPk3 = 20, /*package 3 not present*/
- dsNoPk4 = 21, /*package 4 not present*/
- dsNoPk5 = 22, /*package 5 not present*/
- dsNoPk6 = 23, /*package 6 not present*/
- dsNoPk7 = 24, /*package 7 not present*/
- dsMemFullErr = 25, /*out of memory!*/
- dsBadLaunch = 26, /*can't launch file*/
- dsFSErr = 27, /*file system map has been trashed*/
- dsStknHeap = 28, /*stack has moved into application heap*/
- negZcbFreeErr = 33, /*ZcbFree has gone negative*/
- dsFinderErr = 41, /*can't load the Finder error*/
- dsBadSlotInt = 51, /*unserviceable slot interrupt*/
- dsBadSANEOpcode = 81, /*bad opcode given to SANE Pack4*/
- dsBadPatchHeader = 83, /*SetTrapAddress saw the "come-from" header*/
- menuPrgErr = 84, /*happens when a menu is purged*/
- dsMBarNFnd = 85, /*Menu Manager Errors*/
- dsHMenuFindErr = 86, /*Menu Manager Errors*/
- dsWDEFNotFound = 87, /*could not load WDEF*/
- dsCDEFNotFound = 88, /*could not load CDEF*/
- dsMDEFNotFound = 89 /*could not load MDEF*/
- };
-
- enum
- {
- dsNoFPU = 90, /*an FPU instruction was executed and the machine doesn't have one*/
- dsNoPatch = 98, /*Can't patch for particular Model Mac*/
- dsBadPatch = 99, /*Can't load patch resource*/
- dsParityErr = 101, /*memory parity error*/
- dsOldSystem = 102, /*System is too old for this ROM*/
- ds32BitMode = 103, /*booting in 32-bit on a 24-bit sys*/
- dsNeedToWriteBootBlocks = 104, /*need to write new boot blocks*/
- dsNotEnoughRAMToBoot = 105, /*must have at least 1.5MB of RAM to boot 7.0*/
- dsBufPtrTooLow = 106, /*bufPtr moved too far during boot*/
- dsVMDeferredFuncTableFull = 112, /*VM's DeferUserFn table is full*/
- dsVMBadBackingStore = 113, /*Error occurred while reading or writing the VM backing-store file*/
- dsCantHoldSystemHeap = 114, /*Unable to hold the system heap during boot*/
- dsSystemRequiresPowerPC = 116, /*Startup disk requires PowerPC*/
- dsGibblyMovedToDisabledFolder = 117, /* For debug builds only, signals that active gibbly was disabled during boot. */
- dsUnBootableSystem = 118, /* Active system file will not boot on this system because it was designed only to boot from a CD. */
- dsMustUseFCBAccessors = 119, /* FCBSPtr and FSFCBLen are invalid - must use FSM FCB accessor functions */
- dsMacOSROMVersionTooOld = 120, /* The version of the "Mac OS ROM" file is too old to be used with the installed version of system software */
- dsLostConnectionToNetworkDisk = 121, /* Lost communication with Netboot server */
- dsRAMDiskTooBig = 122, /* The RAM disk is too big to boot safely; will be turned off */
- dsWriteToSupervisorStackGuardPage = 128, /*the supervisor stack overflowed into its guard page */
- dsReinsert = 30, /*request user to reinsert off-line volume*/
- shutDownAlert = 42, /*handled like a shutdown error*/
- dsShutDownOrRestart = 20000, /*user choice between ShutDown and Restart*/
- dsSwitchOffOrRestart = 20001, /*user choice between switching off and Restart*/
- dsForcedQuit = 20002, /*allow the user to ExitToShell, return if Cancel*/
- dsRemoveDisk = 20003, /*request user to remove disk from manual eject drive*/
- dsDirtyDisk = 20004, /*request user to return a manually-ejected dirty disk*/
- dsShutDownOrResume = 20109, /*allow user to return to Finder or ShutDown*/
- dsSCSIWarn = 20010, /*Portable SCSI adapter warning.*/
- dsMBSysError = 29200, /*Media Bay replace warning.*/
- dsMBFlpySysError = 29201, /*Media Bay, floppy replace warning.*/
- dsMBATASysError = 29202, /*Media Bay, ATA replace warning.*/
- dsMBATAPISysError = 29203, /*Media Bay, ATAPI replace warning...*/
- dsMBExternFlpySysError = 29204, /*Media Bay, external floppy drive reconnect warning*/
- dsPCCardATASysError = 29205 /*PCCard has been ejected while still in use. */
- };
-
- /*
- System Errors that are used after MacsBug is loaded to put up dialogs since these should not
- cause MacsBug to stop, they must be in the range (30, 42, 16384-32767) negative numbers add
- to an existing dialog without putting up a whole new dialog
- */
- enum
- {
- dsNoExtsMacsBug = -1, /*not a SysErr, just a placeholder */
- dsNoExtsDisassembler = -2, /*not a SysErr, just a placeholder */
- dsMacsBugInstalled = -10, /*say "MacsBug Installed"*/
- dsDisassemblerInstalled = -11, /*say "Disassembler Installed"*/
- dsExtensionsDisabled = -13, /*say "Extensions Disabled"*/
- dsGreeting = 40, /*welcome to Macintosh greeting*/
- dsSysErr = 32767, /*general system error*/
- /*old names here for compatibility's sake*/
- WDEFNFnd = dsWDEFNotFound
- };
-
- enum
- {
- CDEFNFnd = dsCDEFNotFound,
- dsNotThe1 = 31, /*not the disk I wanted*/
- dsBadStartupDisk = 42, /*unable to mount boot volume (sad Mac only)*/
- dsSystemFileErr = 43, /*can't find System file to open (sad Mac only)*/
- dsHD20Installed = -12, /*say "HD20 Startup"*/
- mBarNFnd = -126, /*system error code for MBDF not found*/
- fsDSIntErr = -127, /*non-hardware Internal file system error*/
- hMenuFindErr = -127, /*could not find HMenu's parent in MenuKey (wrong error code - obsolete)*/
- userBreak = -490, /*user debugger break*/
- strUserBreak = -491, /*user debugger break; display string on stack*/
- exUserBreak = -492 /*user debugger break; execute debugger commands on stack*/
- };
-
-
- enum
- {
- /* DS Errors which are specific to the new runtime model introduced with PowerPC */
- dsBadLibrary = 1010, /* Bad shared library */
- dsMixedModeFailure = 1011 /* Internal Mixed Mode Failure */
- };
-
-
- /*
- * SysError()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*Component Manager & component errors*/
+enum {
+ invalidComponentID = -3000,
+ validInstancesExist = -3001,
+ componentNotCaptured = -3002,
+ componentDontRegister = -3003,
+ unresolvedComponentDLLErr = -3004,
+ retryComponentRegistrationErr = -3005
+};
+
+/*Translation manager & Translation components*/
+enum {
+ invalidTranslationPathErr = -3025, /*Source type to destination type not a valid path*/
+ couldNotParseSourceFileErr = -3026, /*Source document does not contain source type*/
+ noTranslationPathErr = -3030,
+ badTranslationSpecErr = -3031,
+ noPrefAppErr = -3032
+};
+
+enum {
+ buf2SmallErr = -3101,
+ noMPPErr = -3102,
+ ckSumErr = -3103,
+ extractErr = -3104,
+ readQErr = -3105,
+ atpLenErr = -3106,
+ atpBadRsp = -3107,
+ recNotFnd = -3108,
+ sktClosedErr = -3109
+};
+
+
+/* OpenTransport errors*/
+enum {
+ kOTNoError = 0, /* No Error occurred */
+ kOTOutOfMemoryErr = -3211, /* OT ran out of memory, may be a temporary */
+ kOTNotFoundErr = -3201, /* OT generic not found error */
+ kOTDuplicateFoundErr = -3216, /* OT generic duplicate found error */
+ kOTBadAddressErr = -3150, /* XTI2OSStatus(TBADADDR) A Bad address was specified */
+ kOTBadOptionErr = -3151, /* XTI2OSStatus(TBADOPT) A Bad option was specified */
+ kOTAccessErr = -3152, /* XTI2OSStatus(TACCES) Missing access permission */
+ kOTBadReferenceErr = -3153, /* XTI2OSStatus(TBADF) Bad provider reference */
+ kOTNoAddressErr = -3154, /* XTI2OSStatus(TNOADDR) No address was specified */
+ kOTOutStateErr = -3155, /* XTI2OSStatus(TOUTSTATE) Call issued in wrong state */
+ kOTBadSequenceErr = -3156, /* XTI2OSStatus(TBADSEQ) Sequence specified does not exist */
+ kOTSysErrorErr = -3157, /* XTI2OSStatus(TSYSERR) A system error occurred */
+ kOTLookErr = -3158, /* XTI2OSStatus(TLOOK) An event occurred - call Look() */
+ kOTBadDataErr = -3159, /* XTI2OSStatus(TBADDATA) An illegal amount of data was specified */
+ kOTBufferOverflowErr = -3160, /* XTI2OSStatus(TBUFOVFLW) Passed buffer not big enough */
+ kOTFlowErr = -3161, /* XTI2OSStatus(TFLOW) Provider is flow-controlled */
+ kOTNoDataErr = -3162, /* XTI2OSStatus(TNODATA) No data available for reading */
+ kOTNoDisconnectErr = -3163, /* XTI2OSStatus(TNODIS) No disconnect indication available */
+ kOTNoUDErrErr = -3164, /* XTI2OSStatus(TNOUDERR) No Unit Data Error indication available */
+ kOTBadFlagErr = -3165, /* XTI2OSStatus(TBADFLAG) A Bad flag value was supplied */
+ kOTNoReleaseErr = -3166, /* XTI2OSStatus(TNOREL) No orderly release indication available */
+ kOTNotSupportedErr = -3167, /* XTI2OSStatus(TNOTSUPPORT) Command is not supported */
+ kOTStateChangeErr = -3168, /* XTI2OSStatus(TSTATECHNG) State is changing - try again later */
+ kOTNoStructureTypeErr = -3169, /* XTI2OSStatus(TNOSTRUCTYPE) Bad structure type requested for OTAlloc */
+ kOTBadNameErr = -3170, /* XTI2OSStatus(TBADNAME) A bad endpoint name was supplied */
+ kOTBadQLenErr = -3171, /* XTI2OSStatus(TBADQLEN) A Bind to an in-use addr with qlen > 0 */
+ kOTAddressBusyErr = -3172, /* XTI2OSStatus(TADDRBUSY) Address requested is already in use */
+ kOTIndOutErr = -3173, /* XTI2OSStatus(TINDOUT) Accept failed because of pending listen */
+ kOTProviderMismatchErr = -3174, /* XTI2OSStatus(TPROVMISMATCH) Tried to accept on incompatible endpoint */
+ kOTResQLenErr = -3175, /* XTI2OSStatus(TRESQLEN) */
+ kOTResAddressErr = -3176, /* XTI2OSStatus(TRESADDR) */
+ kOTQFullErr = -3177, /* XTI2OSStatus(TQFULL) */
+ kOTProtocolErr = -3178, /* XTI2OSStatus(TPROTO) An unspecified provider error occurred */
+ kOTBadSyncErr = -3179, /* XTI2OSStatus(TBADSYNC) A synchronous call at interrupt time */
+ kOTCanceledErr = -3180, /* XTI2OSStatus(TCANCELED) The command was cancelled */
+ kEPERMErr = -3200, /* Permission denied */
+ kENOENTErr = -3201, /* No such file or directory */
+ kENORSRCErr = -3202, /* No such resource */
+ kEINTRErr = -3203, /* Interrupted system service */
+ kEIOErr = -3204, /* I/O error */
+ kENXIOErr = -3205, /* No such device or address */
+ kEBADFErr = -3208, /* Bad file number */
+ kEAGAINErr = -3210, /* Try operation again later */
+ kENOMEMErr = -3211, /* Not enough space */
+ kEACCESErr = -3212, /* Permission denied */
+ kEFAULTErr = -3213, /* Bad address */
+ kEBUSYErr = -3215, /* Device or resource busy */
+ kEEXISTErr = -3216, /* File exists */
+ kENODEVErr = -3218, /* No such device */
+ kEINVALErr = -3221, /* Invalid argument */
+ kENOTTYErr = -3224, /* Not a character device */
+ kEPIPEErr = -3231, /* Broken pipe */
+ kERANGEErr = -3233, /* Message size too large for STREAM */
+ kEWOULDBLOCKErr = -3234, /* Call would block, so was aborted */
+ kEDEADLKErr = -3234, /* or a deadlock would occur */
+ kEALREADYErr = -3236, /* */
+ kENOTSOCKErr = -3237, /* Socket operation on non-socket */
+ kEDESTADDRREQErr = -3238, /* Destination address required */
+ kEMSGSIZEErr = -3239, /* Message too long */
+ kEPROTOTYPEErr = -3240, /* Protocol wrong type for socket */
+ kENOPROTOOPTErr = -3241, /* Protocol not available */
+ kEPROTONOSUPPORTErr = -3242, /* Protocol not supported */
+ kESOCKTNOSUPPORTErr = -3243, /* Socket type not supported */
+ kEOPNOTSUPPErr = -3244, /* Operation not supported on socket */
+ kEADDRINUSEErr = -3247, /* Address already in use */
+ kEADDRNOTAVAILErr = -3248, /* Can't assign requested address */
+ kENETDOWNErr = -3249, /* Network is down */
+ kENETUNREACHErr = -3250, /* Network is unreachable */
+ kENETRESETErr = -3251, /* Network dropped connection on reset */
+ kECONNABORTEDErr = -3252, /* Software caused connection abort */
+ kECONNRESETErr = -3253, /* Connection reset by peer */
+ kENOBUFSErr = -3254, /* No buffer space available */
+ kEISCONNErr = -3255, /* Socket is already connected */
+ kENOTCONNErr = -3256, /* Socket is not connected */
+ kESHUTDOWNErr = -3257, /* Can't send after socket shutdown */
+ kETOOMANYREFSErr = -3258, /* Too many references: can't splice */
+ kETIMEDOUTErr = -3259, /* Connection timed out */
+ kECONNREFUSEDErr = -3260, /* Connection refused */
+ kEHOSTDOWNErr = -3263, /* Host is down */
+ kEHOSTUNREACHErr = -3264, /* No route to host */
+ kEPROTOErr = -3269, /* ooo fill out missing codes ooo */
+ kETIMEErr = -3270, /* */
+ kENOSRErr = -3271, /* */
+ kEBADMSGErr = -3272, /* */
+ kECANCELErr = -3273, /* */
+ kENOSTRErr = -3274, /* */
+ kENODATAErr = -3275, /* */
+ kEINPROGRESSErr = -3276, /* */
+ kESRCHErr = -3277, /* */
+ kENOMSGErr = -3278, /* */
+ kOTClientNotInittedErr = -3279, /* */
+ kOTPortHasDiedErr = -3280, /* */
+ kOTPortWasEjectedErr = -3281, /* */
+ kOTBadConfigurationErr = -3282, /* */
+ kOTConfigurationChangedErr = -3283, /* */
+ kOTUserRequestedErr = -3284, /* */
+ kOTPortLostConnection = -3285 /* */
+};
+
+
+/* Additional Quickdraw errors in the assigned range -3950 .. -3999*/
+enum {
+ kQDNoPalette = -3950, /* PaletteHandle is NULL*/
+ kQDNoColorHWCursorSupport = -3951, /* CGSSystemSupportsColorHardwareCursors() returned false*/
+ kQDCursorAlreadyRegistered = -3952, /* can be returned from QDRegisterNamedPixMapCursor()*/
+ kQDCursorNotRegistered = -3953, /* can be returned from QDSetNamedPixMapCursor()*/
+ kQDCorruptPICTDataErr = -3954
+};
+
+
+
+/* Color Picker errors*/
+enum {
+ firstPickerError = -4000,
+ invalidPickerType = firstPickerError,
+ requiredFlagsDontMatch = -4001,
+ pickerResourceError = -4002,
+ cantLoadPicker = -4003,
+ cantCreatePickerWindow = -4004,
+ cantLoadPackage = -4005,
+ pickerCantLive = -4006,
+ colorSyncNotInstalled = -4007,
+ badProfileError = -4008,
+ noHelpForItem = -4009
+};
+
+
+
+/* NSL error codes*/
+enum {
+ kNSL68kContextNotSupported = -4170, /* no 68k allowed*/
+ kNSLSchedulerError = -4171, /* A custom thread routine encountered an error*/
+ kNSLBadURLSyntax = -4172, /* URL contains illegal characters*/
+ kNSLNoCarbonLib = -4173,
+ kNSLUILibraryNotAvailable = -4174, /* The NSL UI Library needs to be in the Extensions Folder*/
+ kNSLNotImplementedYet = -4175,
+ kNSLErrNullPtrError = -4176,
+ kNSLSomePluginsFailedToLoad = -4177, /* (one or more plugins failed to load, but at least one did load; this error isn't fatal)*/
+ kNSLNullNeighborhoodPtr = -4178, /* (client passed a null neighborhood ptr)*/
+ kNSLNoPluginsForSearch = -4179, /* (no plugins will respond to search request; bad protocol(s)?)*/
+ kNSLSearchAlreadyInProgress = -4180, /* (you can only have one ongoing search per clientRef)*/
+ kNSLNoPluginsFound = -4181, /* (manager didn't find any valid plugins to load)*/
+ kNSLPluginLoadFailed = -4182, /* (manager unable to load one of the plugins)*/
+ kNSLBadProtocolTypeErr = -4183, /* (client is trying to add a null protocol type)*/
+ kNSLNullListPtr = -4184, /* (client is trying to add items to a nil list)*/
+ kNSLBadClientInfoPtr = -4185, /* (nil ClientAsyncInfoPtr; no reference available)*/
+ kNSLCannotContinueLookup = -4186, /* (Can't continue lookup; error or bad state)*/
+ kNSLBufferTooSmallForData = -4187, /* (Client buffer too small for data from plugin)*/
+ kNSLNoContextAvailable = -4188, /* (ContinueLookup function ptr invalid)*/
+ kNSLRequestBufferAlreadyInList = -4189,
+ kNSLInvalidPluginSpec = -4190,
+ kNSLNoSupportForService = -4191,
+ kNSLBadNetConnection = -4192,
+ kNSLBadDataTypeErr = -4193,
+ kNSLBadServiceTypeErr = -4194,
+ kNSLBadReferenceErr = -4195,
+ kNSLNoElementsInList = -4196,
+ kNSLInsufficientOTVer = -4197,
+ kNSLInsufficientSysVer = -4198,
+ kNSLNotInitialized = -4199,
+ kNSLInitializationFailed = -4200 /* UNABLE TO INITIALIZE THE MANAGER!!!!! DO NOT CONTINUE!!!!*/
+};
+
+
+
+/* desktop printing error codes*/
+enum {
+ kDTPHoldJobErr = -4200,
+ kDTPStopQueueErr = -4201,
+ kDTPTryAgainErr = -4202,
+ kDTPAbortJobErr = 128
+};
+
+
+/* ColorSync Result codes */
+enum {
+ /* Profile Access Errors */
+ cmElementTagNotFound = -4200,
+ cmIndexRangeErr = -4201, /* Tag index out of range */
+ cmCantDeleteElement = -4202,
+ cmFatalProfileErr = -4203,
+ cmInvalidProfile = -4204, /* A Profile must contain a 'cs1 ' tag to be valid */
+ cmInvalidProfileLocation = -4205, /* Operation not supported for this profile location */
+ cmCantCopyModifiedV1Profile = -4215, /* Illegal to copy version 1 profiles that have been modified */
+ /* Profile Search Errors */
+ cmInvalidSearch = -4206, /* Bad Search Handle */
+ cmSearchError = -4207,
+ cmErrIncompatibleProfile = -4208, /* Other ColorSync Errors */
+ cmInvalidColorSpace = -4209, /* Profile colorspace does not match bitmap type */
+ cmInvalidSrcMap = -4210, /* Source pix/bit map was invalid */
+ cmInvalidDstMap = -4211, /* Destination pix/bit map was invalid */
+ cmNoGDevicesError = -4212, /* Begin/End Matching -- no gdevices available */
+ cmInvalidProfileComment = -4213, /* Bad Profile comment during drawpicture */
+ cmRangeOverFlow = -4214, /* Color conversion warning that some output color values over/underflowed and were clipped */
+ cmNamedColorNotFound = -4216, /* NamedColor not found */
+ cmCantGamutCheckError = -4217 /* Gammut checking not supported by this ColorWorld */
+};
+
+/* new Folder Manager error codes */
+enum {
+ badFolderDescErr = -4270,
+ duplicateFolderDescErr = -4271,
+ noMoreFolderDescErr = -4272,
+ invalidFolderTypeErr = -4273,
+ duplicateRoutingErr = -4274,
+ routingNotFoundErr = -4275,
+ badRoutingSizeErr = -4276
+};
+
+
+/* Core Foundation errors*/
+enum {
+ coreFoundationUnknownErr = -4960
+};
+
+/* ScrapMgr error codes (CarbonLib 1.0 and later)*/
+enum {
+ internalScrapErr = -4988,
+ duplicateScrapFlavorErr = -4989,
+ badScrapRefErr = -4990,
+ processStateIncorrectErr = -4991,
+ scrapPromiseNotKeptErr = -4992,
+ noScrapPromiseKeeperErr = -4993,
+ nilScrapFlavorDataErr = -4994,
+ scrapFlavorFlagsMismatchErr = -4995,
+ scrapFlavorSizeMismatchErr = -4996,
+ illegalScrapFlavorFlagsErr = -4997,
+ illegalScrapFlavorTypeErr = -4998,
+ illegalScrapFlavorSizeErr = -4999,
+ scrapFlavorNotFoundErr = -102, /* == noTypeErr*/
+ needClearScrapErr = -100 /* == noScrapErr*/
+};
+
+
+enum {
+ /* AFP Protocol Errors */
+ afpAccessDenied = -5000, /* Insufficient access privileges for operation */
+ afpAuthContinue = -5001, /* Further information required to complete AFPLogin call */
+ afpBadUAM = -5002, /* Unknown user authentication method specified */
+ afpBadVersNum = -5003, /* Unknown AFP protocol version number specified */
+ afpBitmapErr = -5004, /* Bitmap contained bits undefined for call */
+ afpCantMove = -5005, /* Move destination is offspring of source, or root was specified */
+ afpDenyConflict = -5006, /* Specified open/deny modes conflict with current open modes */
+ afpDirNotEmpty = -5007, /* Cannot delete non-empty directory */
+ afpDiskFull = -5008, /* Insufficient free space on volume for operation */
+ afpEofError = -5009, /* Read beyond logical end-of-file */
+ afpFileBusy = -5010, /* Cannot delete an open file */
+ afpFlatVol = -5011, /* Cannot create directory on specified volume */
+ afpItemNotFound = -5012, /* Unknown UserName/UserID or missing comment/APPL entry */
+ afpLockErr = -5013, /* Some or all of requested range is locked by another user */
+ afpMiscErr = -5014, /* Unexpected error encountered during execution */
+ afpNoMoreLocks = -5015, /* Maximum lock limit reached */
+ afpNoServer = -5016, /* Server not responding */
+ afpObjectExists = -5017, /* Specified destination file or directory already exists */
+ afpObjectNotFound = -5018, /* Specified file or directory does not exist */
+ afpParmErr = -5019, /* A specified parameter was out of allowable range */
+ afpRangeNotLocked = -5020, /* Tried to unlock range that was not locked by user */
+ afpRangeOverlap = -5021, /* Some or all of range already locked by same user */
+ afpSessClosed = -5022, /* Session closed*/
+ afpUserNotAuth = -5023, /* No AFPLogin call has successfully been made for this session */
+ afpCallNotSupported = -5024, /* Unsupported AFP call was made */
+ afpObjectTypeErr = -5025, /* File/Directory specified where Directory/File expected */
+ afpTooManyFilesOpen = -5026, /* Maximum open file count reached */
+ afpServerGoingDown = -5027, /* Server is shutting down */
+ afpCantRename = -5028, /* AFPRename cannot rename volume */
+ afpDirNotFound = -5029, /* Unknown directory specified */
+ afpIconTypeError = -5030, /* Icon size specified different from existing icon size */
+ afpVolLocked = -5031, /* Volume is Read-Only */
+ afpObjectLocked = -5032, /* Object is M/R/D/W inhibited*/
+ afpContainsSharedErr = -5033, /* the folder being shared contains a shared folder*/
+ afpIDNotFound = -5034,
+ afpIDExists = -5035,
+ afpDiffVolErr = -5036,
+ afpCatalogChanged = -5037,
+ afpSameObjectErr = -5038,
+ afpBadIDErr = -5039,
+ afpPwdSameErr = -5040, /* Someone tried to change their password to the same password on a mantadory password change */
+ afpPwdTooShortErr = -5041, /* The password being set is too short: there is a minimum length that must be met or exceeded */
+ afpPwdExpiredErr = -5042, /* The password being used is too old: this requires the user to change the password before log-in can continue */
+ afpInsideSharedErr = -5043, /* The folder being shared is inside a shared folder OR the folder contains a shared folder and is being moved into a shared folder */
+ /* OR the folder contains a shared folder and is being moved into the descendent of a shared folder.*/
+ afpInsideTrashErr = -5044, /* The folder being shared is inside the trash folder OR the shared folder is being moved into the trash folder */
+ /* OR the folder is being moved to the trash and it contains a shared folder */
+ afpPwdNeedsChangeErr = -5045, /* The password needs to be changed*/
+ afpPwdPolicyErr = -5046, /* Password does not conform to servers password policy */
+ afpAlreadyLoggedInErr = -5047, /* User has been authenticated but is already logged in from another machine (and that's not allowed on this server) */
+ afpCallNotAllowed = -5048 /* The server knows what you wanted to do, but won't let you do it just now */
+};
+
+enum {
+ /* AppleShare Client Errors */
+ afpBadDirIDType = -5060,
+ afpCantMountMoreSrvre = -5061, /* The Maximum number of server connections has been reached */
+ afpAlreadyMounted = -5062, /* The volume is already mounted */
+ afpSameNodeErr = -5063 /* An Attempt was made to connect to a file server running on the same machine */
+};
+
+
+
+/*Text Engines, TSystemTextEngines, HIEditText error coded*/
+
+enum {
+ errUnknownAttributeTag = -5240,
+ errMarginWilllNotFit = -5241,
+ errNotInImagingMode = -5242,
+ errAlreadyInImagingMode = -5243,
+ errEngineNotFound = -5244,
+ errIteratorReachedEnd = -5245,
+ errInvalidRange = -5246,
+ errOffsetNotOnElementBounday = -5247,
+ errNoHiliteText = -5248,
+ errEmptyScrap = -5249,
+ errReadOnlyText = -5250,
+ errUnknownElement = -5251,
+ errNonContiuousAttribute = -5252,
+ errCannotUndo = -5253
+};
+
+
+/* HTMLRendering OSStaus codes*/
+enum {
+ hrHTMLRenderingLibNotInstalledErr = -5360,
+ hrMiscellaneousExceptionErr = -5361,
+ hrUnableToResizeHandleErr = -5362,
+ hrURLNotHandledErr = -5363
+};
+
+
+/* IAExtractor result codes */
+enum {
+ errIANoErr = 0,
+ errIAUnknownErr = -5380,
+ errIAAllocationErr = -5381,
+ errIAParamErr = -5382,
+ errIANoMoreItems = -5383,
+ errIABufferTooSmall = -5384,
+ errIACanceled = -5385,
+ errIAInvalidDocument = -5386,
+ errIATextExtractionErr = -5387,
+ errIAEndOfTextRun = -5388
+};
+
+
+/* QuickTime Streaming Errors */
+enum {
+ qtsBadSelectorErr = -5400,
+ qtsBadStateErr = -5401,
+ qtsBadDataErr = -5402, /* something is wrong with the data */
+ qtsUnsupportedDataTypeErr = -5403,
+ qtsUnsupportedRateErr = -5404,
+ qtsUnsupportedFeatureErr = -5405,
+ qtsTooMuchDataErr = -5406,
+ qtsUnknownValueErr = -5407,
+ qtsTimeoutErr = -5408,
+ qtsConnectionFailedErr = -5420,
+ qtsAddressBusyErr = -5421
+};
+
+
+enum {
+ /*Gestalt error codes*/
+ gestaltUnknownErr = -5550, /*value returned if Gestalt doesn't know the answer*/
+ gestaltUndefSelectorErr = -5551, /*undefined selector was passed to Gestalt*/
+ gestaltDupSelectorErr = -5552, /*tried to add an entry that already existed*/
+ gestaltLocationErr = -5553 /*gestalt function ptr wasn't in sysheap*/
+};
+
+
+/* Menu Manager error codes*/
+enum {
+ menuPropertyInvalidErr = -5603, /* invalid property creator */
+ menuPropertyInvalid = menuPropertyInvalidErr, /* "menuPropertyInvalid" is deprecated */
+ menuPropertyNotFoundErr = -5604, /* specified property wasn't found */
+ menuNotFoundErr = -5620, /* specified menu or menu ID wasn't found */
+ menuUsesSystemDefErr = -5621, /* GetMenuDefinition failed because the menu uses the system MDEF */
+ menuItemNotFoundErr = -5622, /* specified menu item wasn't found*/
+ menuInvalidErr = -5623 /* menu is invalid*/
+};
+
+
+/* Window Manager error codes*/
+enum {
+ errInvalidWindowPtr = -5600, /* tried to pass a bad WindowRef argument*/
+ errInvalidWindowRef = -5600, /* tried to pass a bad WindowRef argument*/
+ errUnsupportedWindowAttributesForClass = -5601, /* tried to create a window with WindowAttributes not supported by the WindowClass*/
+ errWindowDoesNotHaveProxy = -5602, /* tried to do something requiring a proxy to a window which doesn't have a proxy*/
+ errInvalidWindowProperty = -5603, /* tried to access a property tag with private creator*/
+ errWindowPropertyNotFound = -5604, /* tried to get a nonexistent property*/
+ errUnrecognizedWindowClass = -5605, /* tried to create a window with a bad WindowClass*/
+ errCorruptWindowDescription = -5606, /* tried to load a corrupt window description (size or version fields incorrect)*/
+ errUserWantsToDragWindow = -5607, /* if returned from TrackWindowProxyDrag, you should call DragWindow on the window*/
+ errWindowsAlreadyInitialized = -5608, /* tried to call InitFloatingWindows twice, or called InitWindows and then floating windows*/
+ errFloatingWindowsNotInitialized = -5609, /* called HideFloatingWindows or ShowFloatingWindows without calling InitFloatingWindows*/
+ errWindowNotFound = -5610, /* returned from FindWindowOfClass*/
+ errWindowDoesNotFitOnscreen = -5611, /* ConstrainWindowToScreen could not make the window fit onscreen*/
+ windowAttributeImmutableErr = -5612, /* tried to change attributes which can't be changed*/
+ windowAttributesConflictErr = -5613, /* passed some attributes that are mutually exclusive*/
+ windowManagerInternalErr = -5614, /* something really weird happened inside the window manager*/
+ windowWrongStateErr = -5615, /* window is not in a state that is valid for the current action*/
+ windowGroupInvalidErr = -5616, /* WindowGroup is invalid*/
+ windowAppModalStateAlreadyExistsErr = -5617, /* we're already running this window modally*/
+ windowNoAppModalStateErr = -5618, /* there's no app modal state for the window*/
+ errWindowDoesntSupportFocus = -30583,
+ errWindowRegionCodeInvalid = -30593
+};
+
+
+/* Dialog Mgr error codes*/
+enum {
+ dialogNoTimeoutErr = -5640
+};
+
+
+/* NavigationLib error codes*/
+enum {
+ kNavWrongDialogStateErr = -5694,
+ kNavWrongDialogClassErr = -5695,
+ kNavInvalidSystemConfigErr = -5696,
+ kNavCustomControlMessageFailedErr = -5697,
+ kNavInvalidCustomControlMessageErr = -5698,
+ kNavMissingKindStringErr = -5699
+};
+
+
+/* Collection Manager errors */
+enum {
+ collectionItemLockedErr = -5750,
+ collectionItemNotFoundErr = -5751,
+ collectionIndexRangeErr = -5752,
+ collectionVersionErr = -5753
+};
+
+
+/* QuickTime Streaming Server Errors */
+enum {
+ kQTSSUnknownErr = -6150
+};
+
+
+enum {
+ /* Display Manager error codes (-6220...-6269)*/
+ kDMGenErr = -6220, /*Unexpected Error*/
+ /* Mirroring-Specific Errors */
+ kDMMirroringOnAlready = -6221, /*Returned by all calls that need mirroring to be off to do their thing.*/
+ kDMWrongNumberOfDisplays = -6222, /*Can only handle 2 displays for now.*/
+ kDMMirroringBlocked = -6223, /*DMBlockMirroring() has been called.*/
+ kDMCantBlock = -6224, /*Mirroring is already on, can't Block now (call DMUnMirror() first).*/
+ kDMMirroringNotOn = -6225, /*Returned by all calls that need mirroring to be on to do their thing.*/
+ /* Other Display Manager Errors */
+ kSysSWTooOld = -6226, /*Missing critical pieces of System Software.*/
+ kDMSWNotInitializedErr = -6227, /*Required software not initialized (eg windowmanager or display mgr).*/
+ kDMDriverNotDisplayMgrAwareErr = -6228, /*Video Driver does not support display manager.*/
+ kDMDisplayNotFoundErr = -6229, /*Could not find item (will someday remove).*/
+ kDMNotFoundErr = -6229, /*Could not find item.*/
+ kDMDisplayAlreadyInstalledErr = -6230, /*Attempt to add an already installed display.*/
+ kDMMainDisplayCannotMoveErr = -6231, /*Trying to move main display (or a display mirrored to it) */
+ kDMNoDeviceTableclothErr = -6231, /*obsolete*/
+ kDMFoundErr = -6232 /*Did not proceed because we found an item*/
+};
+
+
+/*
+ Language Analysis error codes
+*/
+enum {
+ laTooSmallBufferErr = -6984, /* output buffer is too small to store any result */
+ laEnvironmentBusyErr = -6985, /* specified environment is used */
+ laEnvironmentNotFoundErr = -6986, /* can't fint the specified environment */
+ laEnvironmentExistErr = -6987, /* same name environment is already exists */
+ laInvalidPathErr = -6988, /* path is not correct */
+ laNoMoreMorphemeErr = -6989, /* nothing to read*/
+ laFailAnalysisErr = -6990, /* analysis failed*/
+ laTextOverFlowErr = -6991, /* text is too long*/
+ laDictionaryNotOpenedErr = -6992, /* the dictionary is not opened*/
+ laDictionaryUnknownErr = -6993, /* can't use this dictionary with this environment*/
+ laDictionaryTooManyErr = -6994, /* too many dictionaries*/
+ laPropertyValueErr = -6995, /* Invalid property value*/
+ laPropertyUnknownErr = -6996, /* the property is unknown to this environment*/
+ laPropertyIsReadOnlyErr = -6997, /* the property is read only*/
+ laPropertyNotFoundErr = -6998, /* can't find the property*/
+ laPropertyErr = -6999, /* Error in properties*/
+ laEngineNotFoundErr = -7000 /* can't find the engine*/
+};
+
+
+enum {
+ kUSBNoErr = 0,
+ kUSBNoTran = 0,
+ kUSBNoDelay = 0,
+ kUSBPending = 1
+};
+
+/*
+
+ USB Hardware Errors
+ Note pipe stalls are communication
+ errors. The affected pipe can not
+ be used until USBClearPipeStallByReference
+ is used.
+ kUSBEndpointStallErr is returned in
+ response to a stall handshake
+ from a device. The device has to be
+ cleared before a USBClearPipeStallByReference
+ can be used.
+*/
+enum {
+ kUSBNotSent2Err = -6901, /* Transaction not sent */
+ kUSBNotSent1Err = -6902, /* Transaction not sent */
+ kUSBBufUnderRunErr = -6903, /* Host hardware failure on data out, PCI busy? */
+ kUSBBufOvrRunErr = -6904, /* Host hardware failure on data in, PCI busy? */
+ kUSBRes2Err = -6905,
+ kUSBRes1Err = -6906,
+ kUSBUnderRunErr = -6907, /* Less data than buffer */
+ kUSBOverRunErr = -6908, /* Packet too large or more data than buffer */
+ kUSBWrongPIDErr = -6909, /* Pipe stall, Bad or wrong PID */
+ kUSBPIDCheckErr = -6910, /* Pipe stall, PID CRC error */
+ kUSBNotRespondingErr = -6911, /* Pipe stall, No device, device hung */
+ kUSBEndpointStallErr = -6912, /* Device didn't understand */
+ kUSBDataToggleErr = -6913, /* Pipe stall, Bad data toggle */
+ kUSBBitstufErr = -6914, /* Pipe stall, bitstuffing */
+ kUSBCRCErr = -6915, /* Pipe stall, bad CRC */
+ kUSBLinkErr = -6916
+};
+
+
+/*
+
+ USB Manager Errors
+*/
+enum {
+ kUSBQueueFull = -6948, /* Internal queue maxxed */
+ kUSBNotHandled = -6987, /* Notification was not handled (same as NotFound)*/
+ kUSBUnknownNotification = -6949, /* Notification type not defined */
+ kUSBBadDispatchTable = -6950 /* Improper driver dispatch table */
+};
+
+
+/* USB Services Errors */
+enum {
+ kUSBPortDisabled = -6969, /* The port you are attached to is disabled, use USBDeviceReset.*/
+ kUSBQueueAborted = -6970, /* Pipe zero stall cleared.*/
+ kUSBTimedOut = -6971, /* Transaction timed out. */
+ kUSBDeviceDisconnected = -6972, /* Disconnected during suspend or reset */
+ kUSBDeviceNotSuspended = -6973, /* device is not suspended for resume */
+ kUSBDeviceSuspended = -6974, /* Device is suspended */
+ kUSBInvalidBuffer = -6975, /* bad buffer, usually nil */
+ kUSBDevicePowerProblem = -6976, /* Device has a power problem */
+ kUSBDeviceBusy = -6977, /* Device is already being configured */
+ kUSBUnknownInterfaceErr = -6978, /* Interface ref not recognised */
+ kUSBPipeStalledError = -6979, /* Pipe has stalled, error needs to be cleared */
+ kUSBPipeIdleError = -6980, /* Pipe is Idle, it will not accept transactions */
+ kUSBNoBandwidthError = -6981, /* Not enough bandwidth available */
+ kUSBAbortedError = -6982, /* Pipe aborted */
+ kUSBFlagsError = -6983, /* Unused flags not zeroed */
+ kUSBCompletionError = -6984, /* no completion routine specified */
+ kUSBPBLengthError = -6985, /* pbLength too small */
+ kUSBPBVersionError = -6986, /* Wrong pbVersion */
+ kUSBNotFound = -6987, /* Not found */
+ kUSBOutOfMemoryErr = -6988, /* Out of memory */
+ kUSBDeviceErr = -6989, /* Device error */
+ kUSBNoDeviceErr = -6990, /* No device*/
+ kUSBAlreadyOpenErr = -6991, /* Already open */
+ kUSBTooManyTransactionsErr = -6992, /* Too many transactions */
+ kUSBUnknownRequestErr = -6993, /* Unknown request */
+ kUSBRqErr = -6994, /* Request error */
+ kUSBIncorrectTypeErr = -6995, /* Incorrect type */
+ kUSBTooManyPipesErr = -6996, /* Too many pipes */
+ kUSBUnknownPipeErr = -6997, /* Pipe ref not recognised */
+ kUSBUnknownDeviceErr = -6998, /* device ref not recognised */
+ kUSBInternalErr = -6999 /* Internal error */
+};
+
+
+/*
+ DictionaryMgr error codes
+*/
+enum {
+ dcmParamErr = -7100, /* bad parameter*/
+ dcmNotDictionaryErr = -7101, /* not dictionary*/
+ dcmBadDictionaryErr = -7102, /* invalid dictionary*/
+ dcmPermissionErr = -7103, /* invalid permission*/
+ dcmDictionaryNotOpenErr = -7104, /* dictionary not opened*/
+ dcmDictionaryBusyErr = -7105, /* dictionary is busy*/
+ dcmBlockFullErr = -7107, /* dictionary block full*/
+ dcmNoRecordErr = -7108, /* no such record*/
+ dcmDupRecordErr = -7109, /* same record already exist*/
+ dcmNecessaryFieldErr = -7110, /* lack required/identify field*/
+ dcmBadFieldInfoErr = -7111, /* incomplete information*/
+ dcmBadFieldTypeErr = -7112, /* no such field type supported*/
+ dcmNoFieldErr = -7113, /* no such field exist*/
+ dcmBadKeyErr = -7115, /* bad key information*/
+ dcmTooManyKeyErr = -7116, /* too many key field*/
+ dcmBadDataSizeErr = -7117, /* too big data size*/
+ dcmBadFindMethodErr = -7118, /* no such find method supported*/
+ dcmBadPropertyErr = -7119, /* no such property exist*/
+ dcmProtectedErr = -7121, /* need keyword to use dictionary*/
+ dcmNoAccessMethodErr = -7122, /* no such AccessMethod*/
+ dcmBadFeatureErr = -7124, /* invalid AccessMethod feature*/
+ dcmIterationCompleteErr = -7126, /* no more item in iterator*/
+ dcmBufferOverflowErr = -7127 /* data is larger than buffer size*/
+};
+
+
+/* Apple Remote Access error codes*/
+enum {
+ kRAInvalidParameter = -7100,
+ kRAInvalidPort = -7101,
+ kRAStartupFailed = -7102,
+ kRAPortSetupFailed = -7103,
+ kRAOutOfMemory = -7104,
+ kRANotSupported = -7105,
+ kRAMissingResources = -7106,
+ kRAIncompatiblePrefs = -7107,
+ kRANotConnected = -7108,
+ kRAConnectionCanceled = -7109,
+ kRAUnknownUser = -7110,
+ kRAInvalidPassword = -7111,
+ kRAInternalError = -7112,
+ kRAInstallationDamaged = -7113,
+ kRAPortBusy = -7114,
+ kRAUnknownPortState = -7115,
+ kRAInvalidPortState = -7116,
+ kRAInvalidSerialProtocol = -7117,
+ kRAUserLoginDisabled = -7118,
+ kRAUserPwdChangeRequired = -7119,
+ kRAUserPwdEntryRequired = -7120,
+ kRAUserInteractionRequired = -7121,
+ kRAInitOpenTransportFailed = -7122,
+ kRARemoteAccessNotReady = -7123,
+ kRATCPIPInactive = -7124, /* TCP/IP inactive, cannot be loaded*/
+ kRATCPIPNotConfigured = -7125, /* TCP/IP not configured, could be loaded*/
+ kRANotPrimaryInterface = -7126, /* when IPCP is not primary TCP/IP intf.*/
+ kRAConfigurationDBInitErr = -7127,
+ kRAPPPProtocolRejected = -7128,
+ kRAPPPAuthenticationFailed = -7129,
+ kRAPPPNegotiationFailed = -7130,
+ kRAPPPUserDisconnected = -7131,
+ kRAPPPPeerDisconnected = -7132,
+ kRAPeerNotResponding = -7133,
+ kRAATalkInactive = -7134,
+ kRAExtAuthenticationFailed = -7135,
+ kRANCPRejectedbyPeer = -7136,
+ kRADuplicateIPAddr = -7137,
+ kRACallBackFailed = -7138,
+ kRANotEnabled = -7139
+};
+
+
+
+
+
+
+/* ATSUI Error Codes - Range 1 of 2*/
+
+
+enum {
+ kATSUInvalidTextLayoutErr = -8790, /* An attempt was made to use a ATSUTextLayout */
+ /* which hadn't been initialized or is otherwise */
+ /* in an invalid state. */
+ kATSUInvalidStyleErr = -8791, /* An attempt was made to use a ATSUStyle which */
+ /* hadn't been properly allocated or is otherwise */
+ /* in an invalid state. */
+ kATSUInvalidTextRangeErr = -8792, /* An attempt was made to extract information */
+ /* from or perform an operation on a ATSUTextLayout */
+ /* for a range of text not covered by the ATSUTextLayout. */
+ kATSUFontsMatched = -8793, /* This is not an error code but is returned by */
+ /* ATSUMatchFontsToText() when changes need to */
+ /* be made to the fonts associated with the text. */
+ kATSUFontsNotMatched = -8794, /* This value is returned by ATSUMatchFontsToText() */
+ /* when the text contains Unicode characters which */
+ /* cannot be represented by any installed font. */
+ kATSUNoCorrespondingFontErr = -8795, /* This value is retrned by font ID conversion */
+ /* routines ATSUFONDtoFontID() and ATSUFontIDtoFOND() */
+ /* to indicate that the input font ID is valid but */
+ /* there is no conversion possible. For example, */
+ /* data-fork fonts can only be used with ATSUI not */
+ /* the FontManager, and so converting an ATSUIFontID */
+ /* for such a font will fail. */
+ kATSUInvalidFontErr = -8796, /* Used when an attempt was made to use an invalid font ID.*/
+ kATSUInvalidAttributeValueErr = -8797, /* Used when an attempt was made to use an attribute with */
+ /* a bad or undefined value. */
+ kATSUInvalidAttributeSizeErr = -8798, /* Used when an attempt was made to use an attribute with a */
+ /* bad size. */
+ kATSUInvalidAttributeTagErr = -8799, /* Used when an attempt was made to use a tag value that*/
+ /* was not appropriate for the function call it was used. */
+ kATSUInvalidCacheErr = -8800, /* Used when an attempt was made to read in style data */
+ /* from an invalid cache. Either the format of the */
+ /* cached data doesn't match that used by Apple Type */
+ /* Services for Unicode(tm) Imaging, or the cached data */
+ /* is corrupt. */
+ kATSUNotSetErr = -8801, /* Used when the client attempts to retrieve an attribute, */
+ /* font feature, or font variation from a style when it */
+ /* hadn't been set. In such a case, the default value will*/
+ /* be returned for the attribute's value.*/
+ kATSUNoStyleRunsAssignedErr = -8802, /* Used when an attempt was made to measure, highlight or draw*/
+ /* a ATSUTextLayout object that has no styleRuns associated with it.*/
+ kATSUQuickDrawTextErr = -8803, /* Used when QuickDraw Text encounters an error rendering or measuring*/
+ /* a line of ATSUI text.*/
+ kATSULowLevelErr = -8804, /* Used when an error was encountered within the low level ATS */
+ /* mechanism performing an operation requested by ATSUI.*/
+ kATSUNoFontCmapAvailableErr = -8805, /* Used when no CMAP table can be accessed or synthesized for the */
+ /* font passed into a SetAttributes Font call.*/
+ kATSUNoFontScalerAvailableErr = -8806, /* Used when no font scaler is available for the font passed*/
+ /* into a SetAttributes Font call.*/
+ kATSUCoordinateOverflowErr = -8807, /* Used to indicate the coordinates provided to an ATSUI routine caused*/
+ /* a coordinate overflow (i.e. > 32K).*/
+ kATSULineBreakInWord = -8808, /* This is not an error code but is returned by ATSUBreakLine to */
+ /* indicate that the returned offset is within a word since there was*/
+ /* only less than one word that could fit the requested width.*/
+ kATSUBusyObjectErr = -8809 /* An ATSUI object is being used by another thread */
+};
+
+/*
+ kATSUInvalidFontFallbacksErr, which had formerly occupied -8810 has been relocated to error code -8900. See
+ below in this range for additional error codes.
+*/
+
+
+/* Error & status codes for general text and text encoding conversion*/
+
+enum {
+ /* general text errors*/
+ kTextUnsupportedEncodingErr = -8738, /* specified encoding not supported for this operation*/
+ kTextMalformedInputErr = -8739, /* in DBCS, for example, high byte followed by invalid low byte*/
+ kTextUndefinedElementErr = -8740, /* text conversion errors*/
+ kTECMissingTableErr = -8745,
+ kTECTableChecksumErr = -8746,
+ kTECTableFormatErr = -8747,
+ kTECCorruptConverterErr = -8748, /* invalid converter object reference*/
+ kTECNoConversionPathErr = -8749,
+ kTECBufferBelowMinimumSizeErr = -8750, /* output buffer too small to allow processing of first input text element*/
+ kTECArrayFullErr = -8751, /* supplied name buffer or TextRun, TextEncoding, or UnicodeMapping array is too small*/
+ kTECBadTextRunErr = -8752,
+ kTECPartialCharErr = -8753, /* input buffer ends in the middle of a multibyte character, conversion stopped*/
+ kTECUnmappableElementErr = -8754,
+ kTECIncompleteElementErr = -8755, /* text element may be incomplete or is too long for internal buffers*/
+ kTECDirectionErr = -8756, /* direction stack overflow, etc.*/
+ kTECGlobalsUnavailableErr = -8770, /* globals have already been deallocated (premature TERM)*/
+ kTECItemUnavailableErr = -8771, /* item (e.g. name) not available for specified region (& encoding if relevant)*/
+ /* text conversion status codes*/
+ kTECUsedFallbacksStatus = -8783,
+ kTECNeedFlushStatus = -8784,
+ kTECOutputBufferFullStatus = -8785, /* output buffer has no room for conversion of next input text element (partial conversion)*/
+ /* deprecated error & status codes for low-level converter*/
+ unicodeChecksumErr = -8769,
+ unicodeNoTableErr = -8768,
+ unicodeVariantErr = -8767,
+ unicodeFallbacksErr = -8766,
+ unicodePartConvertErr = -8765,
+ unicodeBufErr = -8764,
+ unicodeCharErr = -8763,
+ unicodeElementErr = -8762,
+ unicodeNotFoundErr = -8761,
+ unicodeTableFormatErr = -8760,
+ unicodeDirectionErr = -8759,
+ unicodeContextualErr = -8758,
+ unicodeTextEncodingDataErr = -8757
+};
+
+
+/* UTCUtils Status Codes */
+enum {
+ kUTCUnderflowErr = -8850,
+ kUTCOverflowErr = -8851,
+ kIllegalClockValueErr = -8852
+};
+
+
+/* ATSUI Error Codes - Range 2 of 2*/
+
+
+enum {
+ kATSUInvalidFontFallbacksErr = -8900, /* An attempt was made to use a ATSUFontFallbacks which hadn't */
+ /* been initialized or is otherwise in an invalid state. */
+ kATSUUnsupportedStreamFormatErr = -8901, /* An attempt was made to use a ATSUFlattenedDataStreamFormat*/
+ /* which is invalid is not compatible with this version of ATSUI.*/
+ kATSUBadStreamErr = -8902, /* An attempt was made to use a stream which is incorrectly*/
+ /* structured, contains bad or out of range values or is*/
+ /* missing required information.*/
+ kATSUOutputBufferTooSmallErr = -8903, /* An attempt was made to use an output buffer which was too small*/
+ /* for the requested operation.*/
+ kATSUInvalidCallInsideCallbackErr = -8904, /* A call was made within the context of a callback that could*/
+ /* potetially cause an infinite recursion*/
+ kATSULastErr = -8959 /* The last ATSUI error code.*/
+};
+
+
+/* QuickTime errors (Image Compression Manager) */
+enum {
+ codecErr = -8960,
+ noCodecErr = -8961,
+ codecUnimpErr = -8962,
+ codecSizeErr = -8963,
+ codecScreenBufErr = -8964,
+ codecImageBufErr = -8965,
+ codecSpoolErr = -8966,
+ codecAbortErr = -8967,
+ codecWouldOffscreenErr = -8968,
+ codecBadDataErr = -8969,
+ codecDataVersErr = -8970,
+ codecExtensionNotFoundErr = -8971,
+ scTypeNotFoundErr = codecExtensionNotFoundErr,
+ codecConditionErr = -8972,
+ codecOpenErr = -8973,
+ codecCantWhenErr = -8974,
+ codecCantQueueErr = -8975,
+ codecNothingToBlitErr = -8976,
+ codecNoMemoryPleaseWaitErr = -8977,
+ codecDisabledErr = -8978, /* codec disabled itself -- pass codecFlagReenable to reset*/
+ codecNeedToFlushChainErr = -8979,
+ lockPortBitsBadSurfaceErr = -8980,
+ lockPortBitsWindowMovedErr = -8981,
+ lockPortBitsWindowResizedErr = -8982,
+ lockPortBitsWindowClippedErr = -8983,
+ lockPortBitsBadPortErr = -8984,
+ lockPortBitsSurfaceLostErr = -8985,
+ codecParameterDialogConfirm = -8986,
+ codecNeedAccessKeyErr = -8987, /* codec needs password in order to decompress*/
+ codecOffscreenFailedErr = -8988,
+ codecDroppedFrameErr = -8989, /* returned from ImageCodecDrawBand */
+ directXObjectAlreadyExists = -8990,
+ lockPortBitsWrongGDeviceErr = -8991,
+ codecOffscreenFailedPleaseRetryErr = -8992,
+ badCodecCharacterizationErr = -8993,
+ noThumbnailFoundErr = -8994
+};
+
+
+/* PCCard error codes */
+enum {
+ kBadAdapterErr = -9050, /* invalid adapter number*/
+ kBadAttributeErr = -9051, /* specified attributes field value is invalid*/
+ kBadBaseErr = -9052, /* specified base system memory address is invalid*/
+ kBadEDCErr = -9053, /* specified EDC generator specified is invalid*/
+ kBadIRQErr = -9054, /* specified IRQ level is invalid*/
+ kBadOffsetErr = -9055, /* specified PC card memory array offset is invalid*/
+ kBadPageErr = -9056, /* specified page is invalid*/
+ kBadSizeErr = -9057, /* specified size is invalid*/
+ kBadSocketErr = -9058, /* specified logical or physical socket number is invalid*/
+ kBadTypeErr = -9059, /* specified window or interface type is invalid*/
+ kBadVccErr = -9060, /* specified Vcc power level index is invalid*/
+ kBadVppErr = -9061, /* specified Vpp1 or Vpp2 power level index is invalid*/
+ kBadWindowErr = -9062, /* specified window is invalid*/
+ kBadArgLengthErr = -9063, /* ArgLength argument is invalid*/
+ kBadArgsErr = -9064, /* values in argument packet are invalid*/
+ kBadHandleErr = -9065, /* clientHandle is invalid*/
+ kBadCISErr = -9066, /* CIS on card is invalid*/
+ kBadSpeedErr = -9067, /* specified speed is unavailable*/
+ kReadFailureErr = -9068, /* unable to complete read request*/
+ kWriteFailureErr = -9069, /* unable to complete write request*/
+ kGeneralFailureErr = -9070, /* an undefined error has occurred*/
+ kNoCardErr = -9071, /* no PC card in the socket*/
+ kUnsupportedFunctionErr = -9072, /* function is not supported by this implementation*/
+ kUnsupportedModeErr = -9073, /* mode is not supported*/
+ kBusyErr = -9074, /* unable to process request at this time - try later*/
+ kWriteProtectedErr = -9075, /* media is write-protected*/
+ kConfigurationLockedErr = -9076, /* a configuration has already been locked*/
+ kInUseErr = -9077, /* requested resource is being used by a client*/
+ kNoMoreItemsErr = -9078, /* there are no more of the requested item*/
+ kOutOfResourceErr = -9079, /* Card Services has exhausted the resource*/
+ kNoCardSevicesSocketsErr = -9080,
+ kInvalidRegEntryErr = -9081,
+ kBadLinkErr = -9082,
+ kBadDeviceErr = -9083,
+ k16BitCardErr = -9084,
+ kCardBusCardErr = -9085,
+ kPassCallToChainErr = -9086,
+ kCantConfigureCardErr = -9087,
+ kPostCardEventErr = -9088, /* _PCCSLPostCardEvent failed and dropped an event */
+ kInvalidDeviceNumber = -9089,
+ kUnsupportedVsErr = -9090, /* Unsupported Voltage Sense */
+ kInvalidCSClientErr = -9091, /* Card Services ClientID is not registered */
+ kBadTupleDataErr = -9092, /* Data in tuple is invalid */
+ kBadCustomIFIDErr = -9093, /* Custom interface ID is invalid */
+ kNoIOWindowRequestedErr = -9094, /* Request I/O window before calling configuration */
+ kNoMoreTimerClientsErr = -9095, /* All timer callbacks are in use */
+ kNoMoreInterruptSlotsErr = -9096, /* All internal Interrupt slots are in use */
+ kNoClientTableErr = -9097, /* The client table has not be initialized yet */
+ kUnsupportedCardErr = -9098, /* Card not supported by generic enabler*/
+ kNoCardEnablersFoundErr = -9099, /* No Enablers were found*/
+ kNoEnablerForCardErr = -9100, /* No Enablers were found that can support the card*/
+ kNoCompatibleNameErr = -9101, /* There is no compatible driver name for this device*/
+ kClientRequestDenied = -9102, /* CS Clients should return this code inorder to */
+ /* deny a request-type CS Event */
+ kNotReadyErr = -9103, /* PC Card failed to go ready */
+ kTooManyIOWindowsErr = -9104, /* device requested more than one I/O window */
+ kAlreadySavedStateErr = -9105, /* The state has been saved on previous call */
+ kAttemptDupCardEntryErr = -9106, /* The Enabler was asked to create a duplicate card entry */
+ kCardPowerOffErr = -9107, /* Power to the card has been turned off */
+ kNotZVCapableErr = -9108, /* This socket does not support Zoomed Video */
+ kNoCardBusCISErr = -9109 /* No valid CIS exists for this CardBus card */
+};
+
+
+/* QuickTime errors (Sequence Grabber) */
+enum {
+ noDeviceForChannel = -9400,
+ grabTimeComplete = -9401,
+ cantDoThatInCurrentMode = -9402,
+ notEnoughMemoryToGrab = -9403,
+ notEnoughDiskSpaceToGrab = -9404,
+ couldntGetRequiredComponent = -9405,
+ badSGChannel = -9406,
+ seqGrabInfoNotAvailable = -9407,
+ deviceCantMeetRequest = -9408
+};
+
+/* QuickTime errors (Movie Controller) */
+enum {
+ badControllerHeight = -9994,
+ editingNotAllowed = -9995,
+ controllerBoundsNotExact = -9996,
+ cannotSetWidthOfAttachedController = -9997,
+ controllerHasFixedHeight = -9998,
+ cannotMoveAttachedController = -9999
+};
+
+/* AERegistry Errors */
+enum {
+ errAEBadKeyForm = -10002,
+ errAECantHandleClass = -10010,
+ errAECantSupplyType = -10009,
+ errAECantUndo = -10015,
+ errAEEventFailed = -10000,
+ errAEIndexTooLarge = -10007,
+ errAEInTransaction = -10011,
+ errAELocalOnly = -10016,
+ errAENoSuchTransaction = -10012,
+ errAENotAnElement = -10008,
+ errAENotASingleObject = -10014,
+ errAENotModifiable = -10003,
+ errAENoUserSelection = -10013,
+ errAEPrivilegeError = -10004,
+ errAEReadDenied = -10005,
+ errAETypeError = -10001,
+ errAEWriteDenied = -10006,
+ errAENotAnEnumMember = -10023, /* enumerated value in SetData is not allowed for this property */
+ errAECantPutThatThere = -10024, /* in make new, duplicate, etc. class can't be an element of container */
+ errAEPropertiesClash = -10025 /* illegal combination of properties settings for Set Data, make new, or duplicate */
+};
+
+/* TELErr */
+enum {
+ telGenericError = -1,
+ telNoErr = 0,
+ telNoTools = 8, /* no telephone tools found in extension folder */
+ telBadTermErr = -10001, /* invalid TELHandle or handle not found*/
+ telBadDNErr = -10002, /* TELDNHandle not found or invalid */
+ telBadCAErr = -10003, /* TELCAHandle not found or invalid */
+ telBadHandErr = -10004, /* bad handle specified */
+ telBadProcErr = -10005, /* bad msgProc specified */
+ telCAUnavail = -10006, /* a CA is not available */
+ telNoMemErr = -10007, /* no memory to allocate handle */
+ telNoOpenErr = -10008, /* unable to open terminal */
+ telBadHTypeErr = -10010, /* bad hook type specified */
+ telHTypeNotSupp = -10011, /* hook type not supported by this tool */
+ telBadLevelErr = -10012, /* bad volume level setting */
+ telBadVTypeErr = -10013, /* bad volume type error */
+ telVTypeNotSupp = -10014, /* volume type not supported by this tool*/
+ telBadAPattErr = -10015, /* bad alerting pattern specified */
+ telAPattNotSupp = -10016, /* alerting pattern not supported by tool*/
+ telBadIndex = -10017, /* bad index specified */
+ telIndexNotSupp = -10018, /* index not supported by this tool */
+ telBadStateErr = -10019, /* bad device state specified */
+ telStateNotSupp = -10020, /* device state not supported by tool */
+ telBadIntExt = -10021, /* bad internal external error */
+ telIntExtNotSupp = -10022, /* internal external type not supported by this tool */
+ telBadDNDType = -10023, /* bad DND type specified */
+ telDNDTypeNotSupp = -10024, /* DND type is not supported by this tool */
+ telFeatNotSub = -10030, /* feature not subscribed */
+ telFeatNotAvail = -10031, /* feature subscribed but not available */
+ telFeatActive = -10032, /* feature already active */
+ telFeatNotSupp = -10033, /* feature program call not supported by this tool */
+ telConfLimitErr = -10040, /* limit specified is too high for this configuration */
+ telConfNoLimit = -10041, /* no limit was specified but required*/
+ telConfErr = -10042, /* conference was not prepared */
+ telConfRej = -10043, /* conference request was rejected */
+ telTransferErr = -10044, /* transfer not prepared */
+ telTransferRej = -10045, /* transfer request rejected */
+ telCBErr = -10046, /* call back feature not set previously */
+ telConfLimitExceeded = -10047, /* attempt to exceed switch conference limits */
+ telBadDNType = -10050, /* DN type invalid */
+ telBadPageID = -10051, /* bad page ID specified*/
+ telBadIntercomID = -10052, /* bad intercom ID specified */
+ telBadFeatureID = -10053, /* bad feature ID specified */
+ telBadFwdType = -10054, /* bad fwdType specified */
+ telBadPickupGroupID = -10055, /* bad pickup group ID specified */
+ telBadParkID = -10056, /* bad park id specified */
+ telBadSelect = -10057, /* unable to select or deselect DN */
+ telBadBearerType = -10058, /* bad bearerType specified */
+ telBadRate = -10059, /* bad rate specified */
+ telDNTypeNotSupp = -10060, /* DN type not supported by tool */
+ telFwdTypeNotSupp = -10061, /* forward type not supported by tool */
+ telBadDisplayMode = -10062, /* bad display mode specified */
+ telDisplayModeNotSupp = -10063, /* display mode not supported by tool */
+ telNoCallbackRef = -10064, /* no call back reference was specified, but is required */
+ telAlreadyOpen = -10070, /* terminal already open */
+ telStillNeeded = -10071, /* terminal driver still needed by someone else */
+ telTermNotOpen = -10072, /* terminal not opened via TELOpenTerm */
+ telCANotAcceptable = -10080, /* CA not "acceptable" */
+ telCANotRejectable = -10081, /* CA not "rejectable" */
+ telCANotDeflectable = -10082, /* CA not "deflectable" */
+ telPBErr = -10090, /* parameter block error, bad format */
+ telBadFunction = -10091, /* bad msgCode specified */
+ /* telNoTools = -10101, unable to find any telephone tools */
+ telNoSuchTool = -10102, /* unable to find tool with name specified */
+ telUnknownErr = -10103, /* unable to set config */
+ telNoCommFolder = -10106, /* Communications/Extensions f not found */
+ telInitFailed = -10107, /* initialization failed */
+ telBadCodeResource = -10108, /* code resource not found */
+ telDeviceNotFound = -10109, /* device not found */
+ telBadProcID = -10110, /* invalid procID */
+ telValidateFailed = -10111, /* telValidate failed */
+ telAutoAnsNotOn = -10112, /* autoAnswer in not turned on */
+ telDetAlreadyOn = -10113, /* detection is already turned on */
+ telBadSWErr = -10114, /* Software not installed properly */
+ telBadSampleRate = -10115, /* incompatible sample rate */
+ telNotEnoughdspBW = -10116 /* not enough real-time for allocation */
+};
+
+enum {
+ errTaskNotFound = -10780 /* no task with that task id exists */
+};
+
+
+/* Video driver Errorrs -10930 to -10959 */
+/* Defined in video.h. */
+
+enum {
+ /*Power Manager Errors*/
+ pmBusyErr = -13000, /*Power Mgr never ready to start handshake*/
+ pmReplyTOErr = -13001, /*Timed out waiting for reply*/
+ pmSendStartErr = -13002, /*during send, pmgr did not start hs*/
+ pmSendEndErr = -13003, /*during send, pmgr did not finish hs*/
+ pmRecvStartErr = -13004, /*during receive, pmgr did not start hs*/
+ pmRecvEndErr = -13005 /*during receive, pmgr did not finish hs configured for this connection*/
+};
+
+/*Power Manager 2.0 Errors*/
+enum {
+ kPowerHandlerExistsForDeviceErr = -13006,
+ kPowerHandlerNotFoundForDeviceErr = -13007,
+ kPowerHandlerNotFoundForProcErr = -13008,
+ kPowerMgtMessageNotHandled = -13009,
+ kPowerMgtRequestDenied = -13010,
+ kCantReportProcessorTemperatureErr = -13013,
+ kProcessorTempRoutineRequiresMPLib2 = -13014,
+ kNoSuchPowerSource = -13020,
+ kBridgeSoftwareRunningCantSleep = -13038
+};
+
+
+/* Debugging library errors */
+enum {
+ debuggingExecutionContextErr = -13880, /* routine cannot be called at this time */
+ debuggingDuplicateSignatureErr = -13881, /* componentSignature already registered */
+ debuggingDuplicateOptionErr = -13882, /* optionSelectorNum already registered */
+ debuggingInvalidSignatureErr = -13883, /* componentSignature not registered */
+ debuggingInvalidOptionErr = -13884, /* optionSelectorNum is not registered */
+ debuggingInvalidNameErr = -13885, /* componentName or optionName is invalid (NULL) */
+ debuggingNoCallbackErr = -13886, /* debugging component has no callback */
+ debuggingNoMatchErr = -13887 /* debugging component or option not found at this index */
+};
+
+
+/* HID device driver error codes */
+enum {
+ kHIDVersionIncompatibleErr = -13909,
+ kHIDDeviceNotReady = -13910 /* The device is still initializing, try again later*/
+};
+
+
+/* HID error codes */
+enum {
+ kHIDSuccess = 0,
+ kHIDInvalidRangePageErr = -13923,
+ kHIDReportIDZeroErr = -13924,
+ kHIDReportCountZeroErr = -13925,
+ kHIDReportSizeZeroErr = -13926,
+ kHIDUnmatchedDesignatorRangeErr = -13927,
+ kHIDUnmatchedStringRangeErr = -13928,
+ kHIDInvertedUsageRangeErr = -13929,
+ kHIDUnmatchedUsageRangeErr = -13930,
+ kHIDInvertedPhysicalRangeErr = -13931,
+ kHIDInvertedLogicalRangeErr = -13932,
+ kHIDBadLogicalMaximumErr = -13933,
+ kHIDBadLogicalMinimumErr = -13934,
+ kHIDUsagePageZeroErr = -13935,
+ kHIDEndOfDescriptorErr = -13936,
+ kHIDNotEnoughMemoryErr = -13937,
+ kHIDBadParameterErr = -13938,
+ kHIDNullPointerErr = -13939,
+ kHIDInvalidReportLengthErr = -13940,
+ kHIDInvalidReportTypeErr = -13941,
+ kHIDBadLogPhysValuesErr = -13942,
+ kHIDIncompatibleReportErr = -13943,
+ kHIDInvalidPreparsedDataErr = -13944,
+ kHIDNotValueArrayErr = -13945,
+ kHIDUsageNotFoundErr = -13946,
+ kHIDValueOutOfRangeErr = -13947,
+ kHIDBufferTooSmallErr = -13948,
+ kHIDNullStateErr = -13949,
+ kHIDBaseError = -13950
+};
+
+
+/* the OT modem module may return the following error codes:*/
+enum {
+ kModemOutOfMemory = -14000,
+ kModemPreferencesMissing = -14001,
+ kModemScriptMissing = -14002
+};
+
+
+
+/* MacTextEditor error codes */
+enum {
+ kTXNEndIterationErr = -22000,
+ kTXNCannotAddFrameErr = -22001,
+ kTXNInvalidFrameIDErr = -22002,
+ kTXNIllegalToCrossDataBoundariesErr = -22003,
+ kTXNUserCanceledOperationErr = -22004,
+ kTXNBadDefaultFileTypeWarning = -22005,
+ kTXNCannotSetAutoIndentErr = -22006,
+ kTXNRunIndexOutofBoundsErr = -22007,
+ kTXNNoMatchErr = -22008,
+ kTXNAttributeTagInvalidForRunErr = -22009, /*dataValue is set to this per invalid tag*/
+ kTXNSomeOrAllTagsInvalidForRunErr = -22010,
+ kTXNInvalidRunIndex = -22011,
+ kTXNAlreadyInitializedErr = -22012,
+ kTXNCannotTurnTSMOffWhenUsingUnicodeErr = -22013,
+ kTXNCopyNotAllowedInEchoModeErr = -22014,
+ kTXNDataTypeNotAllowedErr = -22015,
+ kTXNATSUIIsNotInstalledErr = -22016,
+ kTXNOutsideOfLineErr = -22017,
+ kTXNOutsideOfFrameErr = -22018
+};
+
+
+
+
+/*Possible errors from the PrinterStatus bottleneck*/
+enum {
+ printerStatusOpCodeNotSupportedErr = -25280
+};
+
+
+/* Keychain Manager error codes */
+enum {
+ errKCNotAvailable = -25291,
+ errKCReadOnly = -25292,
+ errKCAuthFailed = -25293,
+ errKCNoSuchKeychain = -25294,
+ errKCInvalidKeychain = -25295,
+ errKCDuplicateKeychain = -25296,
+ errKCDuplicateCallback = -25297,
+ errKCInvalidCallback = -25298,
+ errKCDuplicateItem = -25299,
+ errKCItemNotFound = -25300,
+ errKCBufferTooSmall = -25301,
+ errKCDataTooLarge = -25302,
+ errKCNoSuchAttr = -25303,
+ errKCInvalidItemRef = -25304,
+ errKCInvalidSearchRef = -25305,
+ errKCNoSuchClass = -25306,
+ errKCNoDefaultKeychain = -25307,
+ errKCInteractionNotAllowed = -25308,
+ errKCReadOnlyAttr = -25309,
+ errKCWrongKCVersion = -25310,
+ errKCKeySizeNotAllowed = -25311,
+ errKCNoStorageModule = -25312,
+ errKCNoCertificateModule = -25313,
+ errKCNoPolicyModule = -25314,
+ errKCInteractionRequired = -25315,
+ errKCDataNotAvailable = -25316,
+ errKCDataNotModifiable = -25317,
+ errKCCreateChainFailed = -25318
+};
+
+
+/* UnicodeUtilities error & status codes*/
+enum {
+ kUCOutputBufferTooSmall = -25340, /* Output buffer too small for Unicode string result*/
+ kUCTextBreakLocatorMissingType = -25341 /* Unicode text break error*/
+};
+
+/* Multiprocessing API error codes*/
+enum {
+ kMPIterationEndErr = -29275,
+ kMPPrivilegedErr = -29276,
+ kMPProcessCreatedErr = -29288,
+ kMPProcessTerminatedErr = -29289,
+ kMPTaskCreatedErr = -29290,
+ kMPTaskBlockedErr = -29291,
+ kMPTaskStoppedErr = -29292, /* A convention used with MPThrowException.*/
+ kMPBlueBlockingErr = -29293,
+ kMPDeletedErr = -29295,
+ kMPTimeoutErr = -29296,
+ kMPTaskAbortedErr = -29297,
+ kMPInsufficientResourcesErr = -29298,
+ kMPInvalidIDErr = -29299
+};
+
+/* StringCompare error codes (in TextUtils range)*/
+enum {
+ kCollateAttributesNotFoundErr = -29500,
+ kCollateInvalidOptions = -29501,
+ kCollateMissingUnicodeTableErr = -29502,
+ kCollateUnicodeConvertFailedErr = -29503,
+ kCollatePatternNotFoundErr = -29504,
+ kCollateInvalidChar = -29505,
+ kCollateBufferTooSmall = -29506,
+ kCollateInvalidCollationRef = -29507
+};
+
+
+/* FontSync OSStatus Codes */
+enum {
+ kFNSInvalidReferenceErr = -29580, /* ref. was NULL or otherwise bad */
+ kFNSBadReferenceVersionErr = -29581, /* ref. version is out of known range */
+ kFNSInvalidProfileErr = -29582, /* profile is NULL or otherwise bad */
+ kFNSBadProfileVersionErr = -29583, /* profile version is out of known range */
+ kFNSDuplicateReferenceErr = -29584, /* the ref. being added is already in the profile */
+ kFNSMismatchErr = -29585, /* reference didn't match or wasn't found in profile */
+ kFNSInsufficientDataErr = -29586, /* insufficient data for the operation */
+ kFNSBadFlattenedSizeErr = -29587, /* flattened size didn't match input or was too small */
+ kFNSNameNotFoundErr = -29589 /* The name with the requested paramters was not found */
+};
+
+
+
+/* MacLocales error codes*/
+enum {
+ kLocalesBufferTooSmallErr = -30001,
+ kLocalesTableFormatErr = -30002,
+ kLocalesDefaultDisplayStatus = -30029 /* Requested display locale unavailable, used default*/
+};
+
+
+/* Settings Manager (formerly known as Location Manager) Errors */
+enum {
+ kALMInternalErr = -30049,
+ kALMGroupNotFoundErr = -30048,
+ kALMNoSuchModuleErr = -30047,
+ kALMModuleCommunicationErr = -30046,
+ kALMDuplicateModuleErr = -30045,
+ kALMInstallationErr = -30044,
+ kALMDeferSwitchErr = -30043,
+ kALMRebootFlagsLevelErr = -30042
+};
+
+enum {
+ kALMLocationNotFoundErr = kALMGroupNotFoundErr /* Old name */
+};
+
+
+/* SoundSprocket Error Codes */
+enum {
+ kSSpInternalErr = -30340,
+ kSSpVersionErr = -30341,
+ kSSpCantInstallErr = -30342,
+ kSSpParallelUpVectorErr = -30343,
+ kSSpScaleToZeroErr = -30344
+};
+
+
+/* NetSprocket Error Codes */
+enum {
+ kNSpInitializationFailedErr = -30360,
+ kNSpAlreadyInitializedErr = -30361,
+ kNSpTopologyNotSupportedErr = -30362,
+ kNSpPipeFullErr = -30364,
+ kNSpHostFailedErr = -30365,
+ kNSpProtocolNotAvailableErr = -30366,
+ kNSpInvalidGameRefErr = -30367,
+ kNSpInvalidParameterErr = -30369,
+ kNSpOTNotPresentErr = -30370,
+ kNSpOTVersionTooOldErr = -30371,
+ kNSpMemAllocationErr = -30373,
+ kNSpAlreadyAdvertisingErr = -30374,
+ kNSpNotAdvertisingErr = -30376,
+ kNSpInvalidAddressErr = -30377,
+ kNSpFreeQExhaustedErr = -30378,
+ kNSpRemovePlayerFailedErr = -30379,
+ kNSpAddressInUseErr = -30380,
+ kNSpFeatureNotImplementedErr = -30381,
+ kNSpNameRequiredErr = -30382,
+ kNSpInvalidPlayerIDErr = -30383,
+ kNSpInvalidGroupIDErr = -30384,
+ kNSpNoPlayersErr = -30385,
+ kNSpNoGroupsErr = -30386,
+ kNSpNoHostVolunteersErr = -30387,
+ kNSpCreateGroupFailedErr = -30388,
+ kNSpAddPlayerFailedErr = -30389,
+ kNSpInvalidDefinitionErr = -30390,
+ kNSpInvalidProtocolRefErr = -30391,
+ kNSpInvalidProtocolListErr = -30392,
+ kNSpTimeoutErr = -30393,
+ kNSpGameTerminatedErr = -30394,
+ kNSpConnectFailedErr = -30395,
+ kNSpSendFailedErr = -30396,
+ kNSpMessageTooBigErr = -30397,
+ kNSpCantBlockErr = -30398,
+ kNSpJoinFailedErr = -30399
+};
+
+
+/* InputSprockets error codes */
+enum {
+ kISpInternalErr = -30420,
+ kISpSystemListErr = -30421,
+ kISpBufferToSmallErr = -30422,
+ kISpElementInListErr = -30423,
+ kISpElementNotInListErr = -30424,
+ kISpSystemInactiveErr = -30425,
+ kISpDeviceInactiveErr = -30426,
+ kISpSystemActiveErr = -30427,
+ kISpDeviceActiveErr = -30428,
+ kISpListBusyErr = -30429
+};
+
+/* DrawSprockets error/warning codes */
+enum {
+ kDSpNotInitializedErr = -30440L,
+ kDSpSystemSWTooOldErr = -30441L,
+ kDSpInvalidContextErr = -30442L,
+ kDSpInvalidAttributesErr = -30443L,
+ kDSpContextAlreadyReservedErr = -30444L,
+ kDSpContextNotReservedErr = -30445L,
+ kDSpContextNotFoundErr = -30446L,
+ kDSpFrameRateNotReadyErr = -30447L,
+ kDSpConfirmSwitchWarning = -30448L,
+ kDSpInternalErr = -30449L,
+ kDSpStereoContextErr = -30450L
+};
+
+
+/*
+ ***************************************************************************
+ Find By Content errors are assigned in the range -30500 to -30539, inclusive.
+ ***************************************************************************
+*/
+enum {
+ kFBCvTwinExceptionErr = -30500, /*no telling what it was*/
+ kFBCnoIndexesFound = -30501,
+ kFBCallocFailed = -30502, /*probably low memory*/
+ kFBCbadParam = -30503,
+ kFBCfileNotIndexed = -30504,
+ kFBCbadIndexFile = -30505, /*bad FSSpec, or bad data in file*/
+ kFBCcompactionFailed = -30506, /*V-Twin exception caught*/
+ kFBCvalidationFailed = -30507, /*V-Twin exception caught*/
+ kFBCindexingFailed = -30508, /*V-Twin exception caught*/
+ kFBCcommitFailed = -30509, /*V-Twin exception caught*/
+ kFBCdeletionFailed = -30510, /*V-Twin exception caught*/
+ kFBCmoveFailed = -30511, /*V-Twin exception caught*/
+ kFBCtokenizationFailed = -30512, /*couldn't read from document or query*/
+ kFBCmergingFailed = -30513, /*couldn't merge index files*/
+ kFBCindexCreationFailed = -30514, /*couldn't create index*/
+ kFBCaccessorStoreFailed = -30515,
+ kFBCaddDocFailed = -30516,
+ kFBCflushFailed = -30517,
+ kFBCindexNotFound = -30518,
+ kFBCnoSearchSession = -30519,
+ kFBCindexingCanceled = -30520,
+ kFBCaccessCanceled = -30521,
+ kFBCindexFileDestroyed = -30522,
+ kFBCindexNotAvailable = -30523,
+ kFBCsearchFailed = -30524,
+ kFBCsomeFilesNotIndexed = -30525,
+ kFBCillegalSessionChange = -30526, /*tried to add/remove vols to a session*/
+ /*that has hits*/
+ kFBCanalysisNotAvailable = -30527,
+ kFBCbadIndexFileVersion = -30528,
+ kFBCsummarizationCanceled = -30529,
+ kFBCindexDiskIOFailed = -30530,
+ kFBCbadSearchSession = -30531,
+ kFBCnoSuchHit = -30532
+};
+
+
+/* QuickTime VR Errors */
+enum {
+ notAQTVRMovieErr = -30540,
+ constraintReachedErr = -30541,
+ callNotSupportedByNodeErr = -30542,
+ selectorNotSupportedByNodeErr = -30543,
+ invalidNodeIDErr = -30544,
+ invalidViewStateErr = -30545,
+ timeNotInViewErr = -30546,
+ propertyNotSupportedByNodeErr = -30547,
+ settingNotSupportedByNodeErr = -30548,
+ limitReachedErr = -30549,
+ invalidNodeFormatErr = -30550,
+ invalidHotSpotIDErr = -30551,
+ noMemoryNodeFailedInitialize = -30552,
+ streamingNodeNotReadyErr = -30553,
+ qtvrLibraryLoadErr = -30554,
+ qtvrUninitialized = -30555
+};
+
+
+/* Appearance Manager Error Codes */
+enum {
+ themeInvalidBrushErr = -30560, /* pattern index invalid */
+ themeProcessRegisteredErr = -30561,
+ themeProcessNotRegisteredErr = -30562,
+ themeBadTextColorErr = -30563,
+ themeHasNoAccentsErr = -30564,
+ themeBadCursorIndexErr = -30565,
+ themeScriptFontNotFoundErr = -30566, /* theme font requested for uninstalled script system */
+ themeMonitorDepthNotSupportedErr = -30567, /* theme not supported at monitor depth */
+ themeNoAppropriateBrushErr = -30568 /* theme brush has no corresponding theme text color */
+};
+
+
+/* Control Manager Error Codes */
+enum {
+ errMessageNotSupported = -30580,
+ errDataNotSupported = -30581,
+ errControlDoesntSupportFocus = -30582,
+ errUnknownControl = -30584,
+ errCouldntSetFocus = -30585,
+ errNoRootControl = -30586,
+ errRootAlreadyExists = -30587,
+ errInvalidPartCode = -30588,
+ errControlsAlreadyExist = -30589,
+ errControlIsNotEmbedder = -30590,
+ errDataSizeMismatch = -30591,
+ errControlHiddenOrDisabled = -30592,
+ errCantEmbedIntoSelf = -30594,
+ errCantEmbedRoot = -30595,
+ errItemNotControl = -30596,
+ controlInvalidDataVersionErr = -30597,
+ controlPropertyInvalid = -5603,
+ controlPropertyNotFoundErr = -5604,
+ controlHandleInvalidErr = -30599
+};
+
+
+
+
+/* URLAccess Error Codes */
+enum {
+ kURLInvalidURLReferenceError = -30770,
+ kURLProgressAlreadyDisplayedError = -30771,
+ kURLDestinationExistsError = -30772,
+ kURLInvalidURLError = -30773,
+ kURLUnsupportedSchemeError = -30774,
+ kURLServerBusyError = -30775,
+ kURLAuthenticationError = -30776,
+ kURLPropertyNotYetKnownError = -30777,
+ kURLUnknownPropertyError = -30778,
+ kURLPropertyBufferTooSmallError = -30779,
+ kURLUnsettablePropertyError = -30780,
+ kURLInvalidCallError = -30781,
+ kURLFileEmptyError = -30783,
+ kURLExtensionFailureError = -30785,
+ kURLInvalidConfigurationError = -30786,
+ kURLAccessNotAvailableError = -30787,
+ kURL68kNotSupportedError = -30788
+};
+
+
+/* ComponentError codes*/
+enum {
+ badComponentInstance = (long)0x80008001, /* when cast to an OSErr this is -32767*/
+ badComponentSelector = (long)0x80008002 /* when cast to an OSErr this is -32766*/
+};
+
+
+
+enum {
+ dsBusError = 1, /*bus error*/
+ dsAddressErr = 2, /*address error*/
+ dsIllInstErr = 3, /*illegal instruction error*/
+ dsZeroDivErr = 4, /*zero divide error*/
+ dsChkErr = 5, /*check trap error*/
+ dsOvflowErr = 6, /*overflow trap error*/
+ dsPrivErr = 7, /*privilege violation error*/
+ dsTraceErr = 8, /*trace mode error*/
+ dsLineAErr = 9, /*line 1010 trap error*/
+ dsLineFErr = 10, /*line 1111 trap error*/
+ dsMiscErr = 11, /*miscellaneous hardware exception error*/
+ dsCoreErr = 12, /*unimplemented core routine error*/
+ dsIrqErr = 13, /*uninstalled interrupt error*/
+ dsIOCoreErr = 14, /*IO Core Error*/
+ dsLoadErr = 15, /*Segment Loader Error*/
+ dsFPErr = 16, /*Floating point error*/
+ dsNoPackErr = 17, /*package 0 not present*/
+ dsNoPk1 = 18, /*package 1 not present*/
+ dsNoPk2 = 19 /*package 2 not present*/
+};
+
+enum {
+ dsNoPk3 = 20, /*package 3 not present*/
+ dsNoPk4 = 21, /*package 4 not present*/
+ dsNoPk5 = 22, /*package 5 not present*/
+ dsNoPk6 = 23, /*package 6 not present*/
+ dsNoPk7 = 24, /*package 7 not present*/
+ dsMemFullErr = 25, /*out of memory!*/
+ dsBadLaunch = 26, /*can't launch file*/
+ dsFSErr = 27, /*file system map has been trashed*/
+ dsStknHeap = 28, /*stack has moved into application heap*/
+ negZcbFreeErr = 33, /*ZcbFree has gone negative*/
+ dsFinderErr = 41, /*can't load the Finder error*/
+ dsBadSlotInt = 51, /*unserviceable slot interrupt*/
+ dsBadSANEOpcode = 81, /*bad opcode given to SANE Pack4*/
+ dsBadPatchHeader = 83, /*SetTrapAddress saw the "come-from" header*/
+ menuPrgErr = 84, /*happens when a menu is purged*/
+ dsMBarNFnd = 85, /*Menu Manager Errors*/
+ dsHMenuFindErr = 86, /*Menu Manager Errors*/
+ dsWDEFNotFound = 87, /*could not load WDEF*/
+ dsCDEFNotFound = 88, /*could not load CDEF*/
+ dsMDEFNotFound = 89 /*could not load MDEF*/
+};
+
+enum {
+ dsNoFPU = 90, /*an FPU instruction was executed and the machine doesn't have one*/
+ dsNoPatch = 98, /*Can't patch for particular Model Mac*/
+ dsBadPatch = 99, /*Can't load patch resource*/
+ dsParityErr = 101, /*memory parity error*/
+ dsOldSystem = 102, /*System is too old for this ROM*/
+ ds32BitMode = 103, /*booting in 32-bit on a 24-bit sys*/
+ dsNeedToWriteBootBlocks = 104, /*need to write new boot blocks*/
+ dsNotEnoughRAMToBoot = 105, /*must have at least 1.5MB of RAM to boot 7.0*/
+ dsBufPtrTooLow = 106, /*bufPtr moved too far during boot*/
+ dsVMDeferredFuncTableFull = 112, /*VM's DeferUserFn table is full*/
+ dsVMBadBackingStore = 113, /*Error occurred while reading or writing the VM backing-store file*/
+ dsCantHoldSystemHeap = 114, /*Unable to hold the system heap during boot*/
+ dsSystemRequiresPowerPC = 116, /*Startup disk requires PowerPC*/
+ dsGibblyMovedToDisabledFolder = 117, /* For debug builds only, signals that active gibbly was disabled during boot. */
+ dsUnBootableSystem = 118, /* Active system file will not boot on this system because it was designed only to boot from a CD. */
+ dsMustUseFCBAccessors = 119, /* FCBSPtr and FSFCBLen are invalid - must use FSM FCB accessor functions */
+ dsMacOSROMVersionTooOld = 120, /* The version of the "Mac OS ROM" file is too old to be used with the installed version of system software */
+ dsLostConnectionToNetworkDisk = 121, /* Lost communication with Netboot server */
+ dsRAMDiskTooBig = 122, /* The RAM disk is too big to boot safely; will be turned off */
+ dsWriteToSupervisorStackGuardPage = 128, /*the supervisor stack overflowed into its guard page */
+ dsReinsert = 30, /*request user to reinsert off-line volume*/
+ shutDownAlert = 42, /*handled like a shutdown error*/
+ dsShutDownOrRestart = 20000, /*user choice between ShutDown and Restart*/
+ dsSwitchOffOrRestart = 20001, /*user choice between switching off and Restart*/
+ dsForcedQuit = 20002, /*allow the user to ExitToShell, return if Cancel*/
+ dsRemoveDisk = 20003, /*request user to remove disk from manual eject drive*/
+ dsDirtyDisk = 20004, /*request user to return a manually-ejected dirty disk*/
+ dsShutDownOrResume = 20109, /*allow user to return to Finder or ShutDown*/
+ dsSCSIWarn = 20010, /*Portable SCSI adapter warning.*/
+ dsMBSysError = 29200, /*Media Bay replace warning.*/
+ dsMBFlpySysError = 29201, /*Media Bay, floppy replace warning.*/
+ dsMBATASysError = 29202, /*Media Bay, ATA replace warning.*/
+ dsMBATAPISysError = 29203, /*Media Bay, ATAPI replace warning...*/
+ dsMBExternFlpySysError = 29204, /*Media Bay, external floppy drive reconnect warning*/
+ dsPCCardATASysError = 29205 /*PCCard has been ejected while still in use. */
+};
+
+/*
+ System Errors that are used after MacsBug is loaded to put up dialogs since these should not
+ cause MacsBug to stop, they must be in the range (30, 42, 16384-32767) negative numbers add
+ to an existing dialog without putting up a whole new dialog
+*/
+enum {
+ dsNoExtsMacsBug = -1, /*not a SysErr, just a placeholder */
+ dsNoExtsDisassembler = -2, /*not a SysErr, just a placeholder */
+ dsMacsBugInstalled = -10, /*say "MacsBug Installed"*/
+ dsDisassemblerInstalled = -11, /*say "Disassembler Installed"*/
+ dsExtensionsDisabled = -13, /*say "Extensions Disabled"*/
+ dsGreeting = 40, /*welcome to Macintosh greeting*/
+ dsSysErr = 32767, /*general system error*/
+ /*old names here for compatibility's sake*/
+ WDEFNFnd = dsWDEFNotFound
+};
+
+enum {
+ CDEFNFnd = dsCDEFNotFound,
+ dsNotThe1 = 31, /*not the disk I wanted*/
+ dsBadStartupDisk = 42, /*unable to mount boot volume (sad Mac only)*/
+ dsSystemFileErr = 43, /*can't find System file to open (sad Mac only)*/
+ dsHD20Installed = -12, /*say "HD20 Startup"*/
+ mBarNFnd = -126, /*system error code for MBDF not found*/
+ fsDSIntErr = -127, /*non-hardware Internal file system error*/
+ hMenuFindErr = -127, /*could not find HMenu's parent in MenuKey (wrong error code - obsolete)*/
+ userBreak = -490, /*user debugger break*/
+ strUserBreak = -491, /*user debugger break; display string on stack*/
+ exUserBreak = -492 /*user debugger break; execute debugger commands on stack*/
+};
+
+
+enum {
+ /* DS Errors which are specific to the new runtime model introduced with PowerPC */
+ dsBadLibrary = 1010, /* Bad shared library */
+ dsMixedModeFailure = 1011 /* Internal Mixed Mode Failure */
+};
+
+
+/*
+ * SysError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SysError(__D0)
#endif
- EXTERN_API(void)
- SysError(short errorCode) ONEWORDINLINE(0xA9C9);
+EXTERN_API( void )
+SysError(short errorCode) ONEWORDINLINE(0xA9C9);
diff --git a/include/qt/MacHelp.h b/include/qt/MacHelp.h
index de6360908..465ce65e2 100644
--- a/include/qt/MacHelp.h
+++ b/include/qt/MacHelp.h
@@ -1,17 +1,17 @@
/*
File: MacHelp.h
-
+
Contains: Macintosh Help Package Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1998-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACHELP__
#define __MACHELP__
@@ -56,893 +56,845 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
+ #pragma pack(2)
+#endif
+
+/*----------------------------------------------------------------------------------*/
+/* Help Manager constants, etc. */
+/*----------------------------------------------------------------------------------*/
+enum {
+ kMacHelpVersion = 0x0003
+};
+
+typedef SInt16 HMContentRequest;
+enum {
+ kHMSupplyContent = 0,
+ kHMDisposeContent = 1
+};
+
+typedef UInt32 HMContentType;
+enum {
+ kHMNoContent = FOUR_CHAR_CODE('none'),
+ kHMCFStringContent = FOUR_CHAR_CODE('cfst'), /* CFStringRef*/
+ kHMCFStringLocalizedContent = FOUR_CHAR_CODE('cfsl'), /* CFStringRef; name of a localized string. Supported by Jaguar and later.*/
+ kHMPascalStrContent = FOUR_CHAR_CODE('pstr'),
+ kHMStringResContent = FOUR_CHAR_CODE('str#'),
+ kHMTEHandleContent = FOUR_CHAR_CODE('txth'), /* Supported by CarbonLib and Jaguar and later*/
+ kHMTextResContent = FOUR_CHAR_CODE('text'), /* Supported by CarbonLib and Jaguar and later*/
+ kHMStrResContent = FOUR_CHAR_CODE('str ')
+};
- /*----------------------------------------------------------------------------------*/
- /* Help Manager constants, etc. */
- /*----------------------------------------------------------------------------------*/
- enum {
- kMacHelpVersion = 0x0003
- };
-
- typedef SInt16 HMContentRequest;
- enum
- {
- kHMSupplyContent = 0,
- kHMDisposeContent = 1
- };
-
- typedef UInt32 HMContentType;
- enum
- {
- kHMNoContent = FOUR_CHAR_CODE('none'),
- kHMCFStringContent = FOUR_CHAR_CODE('cfst'), /* CFStringRef*/
- kHMCFStringLocalizedContent = FOUR_CHAR_CODE('cfsl'), /* CFStringRef; name of a localized string. Supported by Jaguar and later.*/
- kHMPascalStrContent = FOUR_CHAR_CODE('pstr'),
- kHMStringResContent = FOUR_CHAR_CODE('str#'),
- kHMTEHandleContent = FOUR_CHAR_CODE('txth'), /* Supported by CarbonLib and Jaguar and later*/
- kHMTextResContent = FOUR_CHAR_CODE('text'), /* Supported by CarbonLib and Jaguar and later*/
- kHMStrResContent = FOUR_CHAR_CODE('str ')
- };
-
-
- /*
- * HMTagDisplaySide
- *
- * Discussion:
- * Help tag display locations relative to absolute hot rect
- */
- typedef SInt16 HMTagDisplaySide;
- enum
- {
-
- /*
- * System default location
- */
- kHMDefaultSide = 0,
-
- /*
- * Above, aligned with left or right depending on system script
- */
- kHMOutsideTopScriptAligned = 1,
-
- /*
- * To the left, centered vertically
- */
- kHMOutsideLeftCenterAligned = 2,
- kHMOutsideBottomScriptAligned = 3,
-
- /*
- * To the right, centered vertically
- */
- kHMOutsideRightCenterAligned = 4,
-
- /*
- * Above, aligned with left
- */
- kHMOutsideTopLeftAligned = 5,
-
- /*
- * Above, aligned with right
- */
- kHMOutsideTopRightAligned = 6,
-
- /*
- * To the left, aligned with top
- */
- kHMOutsideLeftTopAligned = 7,
-
- /*
- * To the left, aligned with bottom
- */
- kHMOutsideLeftBottomAligned = 8,
-
- /*
- * To the right, aligned with top
- */
- kHMOutsideBottomLeftAligned = 9,
-
- /*
- * To the right, aligned with bottom
- */
- kHMOutsideBottomRightAligned = 10,
- kHMOutsideRightTopAligned = 11,
- kHMOutsideRightBottomAligned = 12,
-
- /*
- * Above, centered horizontally
- */
- kHMOutsideTopCenterAligned = 13,
-
- /*
- * Below, centered horizontally
- */
- kHMOutsideBottomCenterAligned = 14,
-
- /*
- * Inside, aligned with right, centered vertically
- */
- kHMInsideRightCenterAligned = 15,
-
- /*
- * Inside, aligned with left, centered vertically
- */
- kHMInsideLeftCenterAligned = 16,
-
- /*
- * Inside, aligned with bottom, centered horizontally
- */
- kHMInsideBottomCenterAligned = 17,
-
- /*
- * Inside, aligned with top, centered horizontally
- */
- kHMInsideTopCenterAligned = 18,
-
- /*
- * Inside, aligned with top and left
- */
- kHMInsideTopLeftCorner = 19,
-
- /*
- * Inside, aligned with top and right
- */
- kHMInsideTopRightCorner = 20,
-
- /*
- * Inside, aligned with bottom and left
- */
- kHMInsideBottomLeftCorner = 21,
-
- /*
- * Inside, aligned with bottom and right
- */
- kHMInsideBottomRightCorner = 22,
-
- /*
- * Centered vertically and horizontally
- */
- kHMAbsoluteCenterAligned = 23
- };
-
- /* Obsoleted constants HMTagDisplaySides, use the new ones, please */
- enum
- {
- kHMTopSide = kHMOutsideTopScriptAligned,
- kHMLeftSide = kHMOutsideLeftCenterAligned,
- kHMBottomSide = kHMOutsideBottomScriptAligned,
- kHMRightSide = kHMOutsideRightCenterAligned,
- kHMTopLeftCorner = kHMOutsideTopLeftAligned,
- kHMTopRightCorner = kHMOutsideTopRightAligned,
- kHMLeftTopCorner = kHMOutsideLeftTopAligned,
- kHMLeftBottomCorner = kHMOutsideLeftBottomAligned,
- kHMBottomLeftCorner = kHMOutsideBottomLeftAligned,
- kHMBottomRightCorner = kHMOutsideBottomRightAligned,
- kHMRightTopCorner = kHMOutsideRightTopAligned,
- kHMRightBottomCorner = kHMOutsideRightBottomAligned
- };
-
- typedef SInt16 HMContentProvidedType;
- enum
- {
- kHMContentProvided = 0,
- kHMContentNotProvided = 1,
- kHMContentNotProvidedDontPropagate = 2
- };
-
- enum
- {
- kHMMinimumContentIndex = 0, /* first entry in HMHelpContentRec.content is the minimum content */
- kHMMaximumContentIndex = 1 /* second entry in HMHelpContentRec.content is the maximum content */
- };
-
- enum
- {
- errHMIllegalContentForMinimumState = -10980, /* unrecognized content type for minimum content */
- errHMIllegalContentForMaximumState = -10981 /* unrecognized content type for maximum content */
- };
-
- /* obsolete names; will be removed*/
- enum
- {
- kHMIllegalContentForMinimumState = errHMIllegalContentForMinimumState
- };
-
- enum
- {
- kHelpTagEventHandlerTag = FOUR_CHAR_CODE('hevt')
- };
-
- struct HMHelpContent
- {
- HMContentType contentType;
- union
- {
- CFStringRef tagCFString; /* CFStringRef*/
- Str255 tagString; /* Pascal String*/
- HMStringResType tagStringRes; /* STR# resource ID and index*/
- TEHandle tagTEHandle; /* TextEdit handle (NOT SUPPORTED ON MAC OS X)*/
- SInt16 tagTextRes; /* TEXT/styl resource ID (NOT SUPPORTED ON MAC OS X)*/
- SInt16 tagStrRes; /* STR resource ID*/
- } u;
- };
- typedef struct HMHelpContent HMHelpContent;
- struct HMHelpContentRec
- {
- SInt32 version;
- Rect absHotRect;
- HMTagDisplaySide tagSide;
- HMHelpContent content[2];
- };
- typedef struct HMHelpContentRec HMHelpContentRec;
- typedef HMHelpContentRec * HMHelpContentPtr;
- /*------------------------------------------------------------------------------------------*/
- /* Callback procs */
- /*------------------------------------------------------------------------------------------ */
- typedef CALLBACK_API(OSStatus , HMControlContentProcPtr)(ControlRef inControl, Point inGlobalMouse, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
- typedef CALLBACK_API(OSStatus , HMWindowContentProcPtr)(WindowRef inWindow, Point inGlobalMouse, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
- typedef CALLBACK_API(OSStatus , HMMenuTitleContentProcPtr)(MenuRef inMenu, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
- typedef CALLBACK_API(OSStatus , HMMenuItemContentProcPtr)(const MenuTrackingData *inTrackingData, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
- typedef STACK_UPP_TYPE(HMControlContentProcPtr) HMControlContentUPP;
- typedef STACK_UPP_TYPE(HMWindowContentProcPtr) HMWindowContentUPP;
- typedef STACK_UPP_TYPE(HMMenuTitleContentProcPtr) HMMenuTitleContentUPP;
- typedef STACK_UPP_TYPE(HMMenuItemContentProcPtr) HMMenuItemContentUPP;
- /*
- * NewHMControlContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HMControlContentUPP)
- NewHMControlContentUPP(HMControlContentProcPtr userRoutine);
+
+/*
+ * HMTagDisplaySide
+ *
+ * Discussion:
+ * Help tag display locations relative to absolute hot rect
+ */
+typedef SInt16 HMTagDisplaySide;
+enum {
+
+ /*
+ * System default location
+ */
+ kHMDefaultSide = 0,
+
+ /*
+ * Above, aligned with left or right depending on system script
+ */
+ kHMOutsideTopScriptAligned = 1,
+
+ /*
+ * To the left, centered vertically
+ */
+ kHMOutsideLeftCenterAligned = 2,
+ kHMOutsideBottomScriptAligned = 3,
+
+ /*
+ * To the right, centered vertically
+ */
+ kHMOutsideRightCenterAligned = 4,
+
+ /*
+ * Above, aligned with left
+ */
+ kHMOutsideTopLeftAligned = 5,
+
+ /*
+ * Above, aligned with right
+ */
+ kHMOutsideTopRightAligned = 6,
+
+ /*
+ * To the left, aligned with top
+ */
+ kHMOutsideLeftTopAligned = 7,
+
+ /*
+ * To the left, aligned with bottom
+ */
+ kHMOutsideLeftBottomAligned = 8,
+
+ /*
+ * To the right, aligned with top
+ */
+ kHMOutsideBottomLeftAligned = 9,
+
+ /*
+ * To the right, aligned with bottom
+ */
+ kHMOutsideBottomRightAligned = 10,
+ kHMOutsideRightTopAligned = 11,
+ kHMOutsideRightBottomAligned = 12,
+
+ /*
+ * Above, centered horizontally
+ */
+ kHMOutsideTopCenterAligned = 13,
+
+ /*
+ * Below, centered horizontally
+ */
+ kHMOutsideBottomCenterAligned = 14,
+
+ /*
+ * Inside, aligned with right, centered vertically
+ */
+ kHMInsideRightCenterAligned = 15,
+
+ /*
+ * Inside, aligned with left, centered vertically
+ */
+ kHMInsideLeftCenterAligned = 16,
+
+ /*
+ * Inside, aligned with bottom, centered horizontally
+ */
+ kHMInsideBottomCenterAligned = 17,
+
+ /*
+ * Inside, aligned with top, centered horizontally
+ */
+ kHMInsideTopCenterAligned = 18,
+
+ /*
+ * Inside, aligned with top and left
+ */
+ kHMInsideTopLeftCorner = 19,
+
+ /*
+ * Inside, aligned with top and right
+ */
+ kHMInsideTopRightCorner = 20,
+
+ /*
+ * Inside, aligned with bottom and left
+ */
+ kHMInsideBottomLeftCorner = 21,
+
+ /*
+ * Inside, aligned with bottom and right
+ */
+ kHMInsideBottomRightCorner = 22,
+
+ /*
+ * Centered vertically and horizontally
+ */
+ kHMAbsoluteCenterAligned = 23
+};
+
+/* Obsoleted constants HMTagDisplaySides, use the new ones, please */
+enum {
+ kHMTopSide = kHMOutsideTopScriptAligned,
+ kHMLeftSide = kHMOutsideLeftCenterAligned,
+ kHMBottomSide = kHMOutsideBottomScriptAligned,
+ kHMRightSide = kHMOutsideRightCenterAligned,
+ kHMTopLeftCorner = kHMOutsideTopLeftAligned,
+ kHMTopRightCorner = kHMOutsideTopRightAligned,
+ kHMLeftTopCorner = kHMOutsideLeftTopAligned,
+ kHMLeftBottomCorner = kHMOutsideLeftBottomAligned,
+ kHMBottomLeftCorner = kHMOutsideBottomLeftAligned,
+ kHMBottomRightCorner = kHMOutsideBottomRightAligned,
+ kHMRightTopCorner = kHMOutsideRightTopAligned,
+ kHMRightBottomCorner = kHMOutsideRightBottomAligned
+};
+
+typedef SInt16 HMContentProvidedType;
+enum {
+ kHMContentProvided = 0,
+ kHMContentNotProvided = 1,
+ kHMContentNotProvidedDontPropagate = 2
+};
+
+enum {
+ kHMMinimumContentIndex = 0, /* first entry in HMHelpContentRec.content is the minimum content */
+ kHMMaximumContentIndex = 1 /* second entry in HMHelpContentRec.content is the maximum content */
+};
+
+enum {
+ errHMIllegalContentForMinimumState = -10980, /* unrecognized content type for minimum content */
+ errHMIllegalContentForMaximumState = -10981 /* unrecognized content type for maximum content */
+};
+
+/* obsolete names; will be removed*/
+enum {
+ kHMIllegalContentForMinimumState = errHMIllegalContentForMinimumState
+};
+
+enum {
+ kHelpTagEventHandlerTag = FOUR_CHAR_CODE('hevt')
+};
+
+struct HMHelpContent {
+ HMContentType contentType;
+ union {
+ CFStringRef tagCFString; /* CFStringRef*/
+ Str255 tagString; /* Pascal String*/
+ HMStringResType tagStringRes; /* STR# resource ID and index*/
+ TEHandle tagTEHandle; /* TextEdit handle (NOT SUPPORTED ON MAC OS X)*/
+ SInt16 tagTextRes; /* TEXT/styl resource ID (NOT SUPPORTED ON MAC OS X)*/
+ SInt16 tagStrRes; /* STR resource ID*/
+ } u;
+};
+typedef struct HMHelpContent HMHelpContent;
+struct HMHelpContentRec {
+ SInt32 version;
+ Rect absHotRect;
+ HMTagDisplaySide tagSide;
+ HMHelpContent content[2];
+};
+typedef struct HMHelpContentRec HMHelpContentRec;
+typedef HMHelpContentRec * HMHelpContentPtr;
+/*------------------------------------------------------------------------------------------*/
+/* Callback procs */
+/*------------------------------------------------------------------------------------------ */
+typedef CALLBACK_API( OSStatus , HMControlContentProcPtr )(ControlRef inControl, Point inGlobalMouse, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
+typedef CALLBACK_API( OSStatus , HMWindowContentProcPtr )(WindowRef inWindow, Point inGlobalMouse, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
+typedef CALLBACK_API( OSStatus , HMMenuTitleContentProcPtr )(MenuRef inMenu, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
+typedef CALLBACK_API( OSStatus , HMMenuItemContentProcPtr )(const MenuTrackingData *inTrackingData, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent);
+typedef STACK_UPP_TYPE(HMControlContentProcPtr) HMControlContentUPP;
+typedef STACK_UPP_TYPE(HMWindowContentProcPtr) HMWindowContentUPP;
+typedef STACK_UPP_TYPE(HMMenuTitleContentProcPtr) HMMenuTitleContentUPP;
+typedef STACK_UPP_TYPE(HMMenuItemContentProcPtr) HMMenuItemContentUPP;
+/*
+ * NewHMControlContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HMControlContentUPP )
+NewHMControlContentUPP(HMControlContentProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHMControlContentProcInfo = 0x0000FBF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HMControlContentUPP) NewHMControlContentUPP(HMControlContentProcPtr userRoutine)
- {
- return (HMControlContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMControlContentProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHMControlContentUPP(userRoutine) (HMControlContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMControlContentProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHMControlContentProcInfo = 0x0000FBF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HMControlContentUPP) NewHMControlContentUPP(HMControlContentProcPtr userRoutine) { return (HMControlContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMControlContentProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHMControlContentUPP(userRoutine) (HMControlContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMControlContentProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewHMWindowContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HMWindowContentUPP)
- NewHMWindowContentUPP(HMWindowContentProcPtr userRoutine);
+/*
+ * NewHMWindowContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HMWindowContentUPP )
+NewHMWindowContentUPP(HMWindowContentProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHMWindowContentProcInfo = 0x0000FBF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HMWindowContentUPP) NewHMWindowContentUPP(HMWindowContentProcPtr userRoutine)
- {
- return (HMWindowContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMWindowContentProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHMWindowContentUPP(userRoutine) (HMWindowContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMWindowContentProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHMWindowContentProcInfo = 0x0000FBF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HMWindowContentUPP) NewHMWindowContentUPP(HMWindowContentProcPtr userRoutine) { return (HMWindowContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMWindowContentProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHMWindowContentUPP(userRoutine) (HMWindowContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMWindowContentProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewHMMenuTitleContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HMMenuTitleContentUPP)
- NewHMMenuTitleContentUPP(HMMenuTitleContentProcPtr userRoutine);
+/*
+ * NewHMMenuTitleContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HMMenuTitleContentUPP )
+NewHMMenuTitleContentUPP(HMMenuTitleContentProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHMMenuTitleContentProcInfo = 0x00003EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HMMenuTitleContentUPP) NewHMMenuTitleContentUPP(HMMenuTitleContentProcPtr userRoutine)
- {
- return (HMMenuTitleContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMMenuTitleContentProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHMMenuTitleContentUPP(userRoutine) (HMMenuTitleContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMMenuTitleContentProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHMMenuTitleContentProcInfo = 0x00003EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HMMenuTitleContentUPP) NewHMMenuTitleContentUPP(HMMenuTitleContentProcPtr userRoutine) { return (HMMenuTitleContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMMenuTitleContentProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHMMenuTitleContentUPP(userRoutine) (HMMenuTitleContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMMenuTitleContentProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewHMMenuItemContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HMMenuItemContentUPP)
- NewHMMenuItemContentUPP(HMMenuItemContentProcPtr userRoutine);
+/*
+ * NewHMMenuItemContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HMMenuItemContentUPP )
+NewHMMenuItemContentUPP(HMMenuItemContentProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHMMenuItemContentProcInfo = 0x00003EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HMMenuItemContentUPP) NewHMMenuItemContentUPP(HMMenuItemContentProcPtr userRoutine)
- {
- return (HMMenuItemContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMMenuItemContentProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHMMenuItemContentUPP(userRoutine) (HMMenuItemContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMMenuItemContentProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHMMenuItemContentProcInfo = 0x00003EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HMMenuItemContentUPP) NewHMMenuItemContentUPP(HMMenuItemContentProcPtr userRoutine) { return (HMMenuItemContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMMenuItemContentProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHMMenuItemContentUPP(userRoutine) (HMMenuItemContentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHMMenuItemContentProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeHMControlContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHMControlContentUPP(HMControlContentUPP userUPP);
+/*
+ * DisposeHMControlContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHMControlContentUPP(HMControlContentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHMControlContentUPP(HMControlContentUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHMControlContentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHMControlContentUPP(HMControlContentUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHMControlContentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeHMWindowContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHMWindowContentUPP(HMWindowContentUPP userUPP);
+/*
+ * DisposeHMWindowContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHMWindowContentUPP(HMWindowContentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHMWindowContentUPP(HMWindowContentUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHMWindowContentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHMWindowContentUPP(HMWindowContentUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHMWindowContentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeHMMenuTitleContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHMMenuTitleContentUPP(HMMenuTitleContentUPP userUPP);
+/*
+ * DisposeHMMenuTitleContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHMMenuTitleContentUPP(HMMenuTitleContentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHMMenuTitleContentUPP(HMMenuTitleContentUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHMMenuTitleContentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHMMenuTitleContentUPP(HMMenuTitleContentUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHMMenuTitleContentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeHMMenuItemContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHMMenuItemContentUPP(HMMenuItemContentUPP userUPP);
+/*
+ * DisposeHMMenuItemContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHMMenuItemContentUPP(HMMenuItemContentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHMMenuItemContentUPP(HMMenuItemContentUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHMMenuItemContentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHMMenuItemContentUPP(HMMenuItemContentUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHMMenuItemContentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeHMControlContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeHMControlContentUPP(
- ControlRef inControl,
- Point inGlobalMouse,
- HMContentRequest inRequest,
- HMContentProvidedType * outContentProvided,
- HMHelpContentPtr ioHelpContent,
- HMControlContentUPP userUPP);
+/*
+ * InvokeHMControlContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeHMControlContentUPP(
+ ControlRef inControl,
+ Point inGlobalMouse,
+ HMContentRequest inRequest,
+ HMContentProvidedType * outContentProvided,
+ HMHelpContentPtr ioHelpContent,
+ HMControlContentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeHMControlContentUPP(ControlRef inControl, Point inGlobalMouse, HMContentRequest inRequest, HMContentProvidedType * outContentProvided, HMHelpContentPtr ioHelpContent, HMControlContentUPP userUPP)
- {
- return (OSStatus)CALL_FIVE_PARAMETER_UPP(userUPP, uppHMControlContentProcInfo, inControl, inGlobalMouse, inRequest, outContentProvided, ioHelpContent);
- }
-#else
-#define InvokeHMControlContentUPP(inControl, inGlobalMouse, inRequest, outContentProvided, ioHelpContent, userUPP) (OSStatus)CALL_FIVE_PARAMETER_UPP((userUPP), uppHMControlContentProcInfo, (inControl), (inGlobalMouse), (inRequest), (outContentProvided), (ioHelpContent))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeHMControlContentUPP(ControlRef inControl, Point inGlobalMouse, HMContentRequest inRequest, HMContentProvidedType * outContentProvided, HMHelpContentPtr ioHelpContent, HMControlContentUPP userUPP) { return (OSStatus)CALL_FIVE_PARAMETER_UPP(userUPP, uppHMControlContentProcInfo, inControl, inGlobalMouse, inRequest, outContentProvided, ioHelpContent); }
+ #else
+ #define InvokeHMControlContentUPP(inControl, inGlobalMouse, inRequest, outContentProvided, ioHelpContent, userUPP) (OSStatus)CALL_FIVE_PARAMETER_UPP((userUPP), uppHMControlContentProcInfo, (inControl), (inGlobalMouse), (inRequest), (outContentProvided), (ioHelpContent))
+ #endif
#endif
- /*
- * InvokeHMWindowContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeHMWindowContentUPP(
- WindowRef inWindow,
- Point inGlobalMouse,
- HMContentRequest inRequest,
- HMContentProvidedType * outContentProvided,
- HMHelpContentPtr ioHelpContent,
- HMWindowContentUPP userUPP);
+/*
+ * InvokeHMWindowContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeHMWindowContentUPP(
+ WindowRef inWindow,
+ Point inGlobalMouse,
+ HMContentRequest inRequest,
+ HMContentProvidedType * outContentProvided,
+ HMHelpContentPtr ioHelpContent,
+ HMWindowContentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeHMWindowContentUPP(WindowRef inWindow, Point inGlobalMouse, HMContentRequest inRequest, HMContentProvidedType * outContentProvided, HMHelpContentPtr ioHelpContent, HMWindowContentUPP userUPP)
- {
- return (OSStatus)CALL_FIVE_PARAMETER_UPP(userUPP, uppHMWindowContentProcInfo, inWindow, inGlobalMouse, inRequest, outContentProvided, ioHelpContent);
- }
-#else
-#define InvokeHMWindowContentUPP(inWindow, inGlobalMouse, inRequest, outContentProvided, ioHelpContent, userUPP) (OSStatus)CALL_FIVE_PARAMETER_UPP((userUPP), uppHMWindowContentProcInfo, (inWindow), (inGlobalMouse), (inRequest), (outContentProvided), (ioHelpContent))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeHMWindowContentUPP(WindowRef inWindow, Point inGlobalMouse, HMContentRequest inRequest, HMContentProvidedType * outContentProvided, HMHelpContentPtr ioHelpContent, HMWindowContentUPP userUPP) { return (OSStatus)CALL_FIVE_PARAMETER_UPP(userUPP, uppHMWindowContentProcInfo, inWindow, inGlobalMouse, inRequest, outContentProvided, ioHelpContent); }
+ #else
+ #define InvokeHMWindowContentUPP(inWindow, inGlobalMouse, inRequest, outContentProvided, ioHelpContent, userUPP) (OSStatus)CALL_FIVE_PARAMETER_UPP((userUPP), uppHMWindowContentProcInfo, (inWindow), (inGlobalMouse), (inRequest), (outContentProvided), (ioHelpContent))
+ #endif
#endif
- /*
- * InvokeHMMenuTitleContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeHMMenuTitleContentUPP(
- MenuRef inMenu,
- HMContentRequest inRequest,
- HMContentProvidedType * outContentProvided,
- HMHelpContentPtr ioHelpContent,
- HMMenuTitleContentUPP userUPP);
+/*
+ * InvokeHMMenuTitleContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeHMMenuTitleContentUPP(
+ MenuRef inMenu,
+ HMContentRequest inRequest,
+ HMContentProvidedType * outContentProvided,
+ HMHelpContentPtr ioHelpContent,
+ HMMenuTitleContentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeHMMenuTitleContentUPP(MenuRef inMenu, HMContentRequest inRequest, HMContentProvidedType * outContentProvided, HMHelpContentPtr ioHelpContent, HMMenuTitleContentUPP userUPP)
- {
- return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppHMMenuTitleContentProcInfo, inMenu, inRequest, outContentProvided, ioHelpContent);
- }
-#else
-#define InvokeHMMenuTitleContentUPP(inMenu, inRequest, outContentProvided, ioHelpContent, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppHMMenuTitleContentProcInfo, (inMenu), (inRequest), (outContentProvided), (ioHelpContent))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeHMMenuTitleContentUPP(MenuRef inMenu, HMContentRequest inRequest, HMContentProvidedType * outContentProvided, HMHelpContentPtr ioHelpContent, HMMenuTitleContentUPP userUPP) { return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppHMMenuTitleContentProcInfo, inMenu, inRequest, outContentProvided, ioHelpContent); }
+ #else
+ #define InvokeHMMenuTitleContentUPP(inMenu, inRequest, outContentProvided, ioHelpContent, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppHMMenuTitleContentProcInfo, (inMenu), (inRequest), (outContentProvided), (ioHelpContent))
+ #endif
#endif
- /*
- * InvokeHMMenuItemContentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeHMMenuItemContentUPP(
- const MenuTrackingData * inTrackingData,
- HMContentRequest inRequest,
- HMContentProvidedType * outContentProvided,
- HMHelpContentPtr ioHelpContent,
- HMMenuItemContentUPP userUPP);
+/*
+ * InvokeHMMenuItemContentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeHMMenuItemContentUPP(
+ const MenuTrackingData * inTrackingData,
+ HMContentRequest inRequest,
+ HMContentProvidedType * outContentProvided,
+ HMHelpContentPtr ioHelpContent,
+ HMMenuItemContentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeHMMenuItemContentUPP(const MenuTrackingData * inTrackingData, HMContentRequest inRequest, HMContentProvidedType * outContentProvided, HMHelpContentPtr ioHelpContent, HMMenuItemContentUPP userUPP)
- {
- return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppHMMenuItemContentProcInfo, inTrackingData, inRequest, outContentProvided, ioHelpContent);
- }
-#else
-#define InvokeHMMenuItemContentUPP(inTrackingData, inRequest, outContentProvided, ioHelpContent, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppHMMenuItemContentProcInfo, (inTrackingData), (inRequest), (outContentProvided), (ioHelpContent))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeHMMenuItemContentUPP(const MenuTrackingData * inTrackingData, HMContentRequest inRequest, HMContentProvidedType * outContentProvided, HMHelpContentPtr ioHelpContent, HMMenuItemContentUPP userUPP) { return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppHMMenuItemContentProcInfo, inTrackingData, inRequest, outContentProvided, ioHelpContent); }
+ #else
+ #define InvokeHMMenuItemContentUPP(inTrackingData, inRequest, outContentProvided, ioHelpContent, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppHMMenuItemContentProcInfo, (inTrackingData), (inRequest), (outContentProvided), (ioHelpContent))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewHMControlContentProc(userRoutine) NewHMControlContentUPP(userRoutine)
-#define NewHMWindowContentProc(userRoutine) NewHMWindowContentUPP(userRoutine)
-#define NewHMMenuTitleContentProc(userRoutine) NewHMMenuTitleContentUPP(userRoutine)
-#define NewHMMenuItemContentProc(userRoutine) NewHMMenuItemContentUPP(userRoutine)
-#define CallHMControlContentProc(userRoutine, inControl, inGlobalMouse, inRequest, outContentProvided, ioHelpContent) InvokeHMControlContentUPP(inControl, inGlobalMouse, inRequest, outContentProvided, ioHelpContent, userRoutine)
-#define CallHMWindowContentProc(userRoutine, inWindow, inGlobalMouse, inRequest, outContentProvided, ioHelpContent) InvokeHMWindowContentUPP(inWindow, inGlobalMouse, inRequest, outContentProvided, ioHelpContent, userRoutine)
-#define CallHMMenuTitleContentProc(userRoutine, inMenu, inRequest, outContentProvided, ioHelpContent) InvokeHMMenuTitleContentUPP(inMenu, inRequest, outContentProvided, ioHelpContent, userRoutine)
-#define CallHMMenuItemContentProc(userRoutine, inTrackingData, inRequest, outContentProvided, ioHelpContent) InvokeHMMenuItemContentUPP(inTrackingData, inRequest, outContentProvided, ioHelpContent, userRoutine)
+ #define NewHMControlContentProc(userRoutine) NewHMControlContentUPP(userRoutine)
+ #define NewHMWindowContentProc(userRoutine) NewHMWindowContentUPP(userRoutine)
+ #define NewHMMenuTitleContentProc(userRoutine) NewHMMenuTitleContentUPP(userRoutine)
+ #define NewHMMenuItemContentProc(userRoutine) NewHMMenuItemContentUPP(userRoutine)
+ #define CallHMControlContentProc(userRoutine, inControl, inGlobalMouse, inRequest, outContentProvided, ioHelpContent) InvokeHMControlContentUPP(inControl, inGlobalMouse, inRequest, outContentProvided, ioHelpContent, userRoutine)
+ #define CallHMWindowContentProc(userRoutine, inWindow, inGlobalMouse, inRequest, outContentProvided, ioHelpContent) InvokeHMWindowContentUPP(inWindow, inGlobalMouse, inRequest, outContentProvided, ioHelpContent, userRoutine)
+ #define CallHMMenuTitleContentProc(userRoutine, inMenu, inRequest, outContentProvided, ioHelpContent) InvokeHMMenuTitleContentUPP(inMenu, inRequest, outContentProvided, ioHelpContent, userRoutine)
+ #define CallHMMenuItemContentProc(userRoutine, inTrackingData, inRequest, outContentProvided, ioHelpContent) InvokeHMMenuItemContentUPP(inTrackingData, inRequest, outContentProvided, ioHelpContent, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*------------------------------------------------------------------------------------------*/
- /* API */
- /*------------------------------------------------------------------------------------------*/
- /* Help Menu */
- /*
- * HMGetHelpMenu()
- *
- * Summary:
- * Returns a menu to which applications may add their own help items.
- *
- * Parameters:
- *
- * outHelpMenu:
- * On exit, contains the help menu.
- *
- * outFirstCustomItemIndex:
- * On exit, contains the menu item index that will be used by the
- * first item added by the application. This parameter may be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetHelpMenu(
- MenuRef * outHelpMenu,
- MenuItemIndex * outFirstCustomItemIndex); /* can be NULL */
-
-
- /* Installing/Retrieving Content */
- /* Menu title and item help tags are not yet supported by Carbon or CarbonLib. */
- /* They will be fully supported in a future release. */
- /*
- * HMSetControlHelpContent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMSetControlHelpContent(
- ControlRef inControl,
- const HMHelpContentRec * inContent);
-
-
- /*
- * HMGetControlHelpContent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetControlHelpContent(
- ControlRef inControl,
- HMHelpContentRec * outContent);
-
-
- /*
- * HMSetWindowHelpContent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMSetWindowHelpContent(
- WindowRef inWindow,
- const HMHelpContentRec * inContent);
-
-
- /*
- * HMGetWindowHelpContent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetWindowHelpContent(
- WindowRef inWindow,
- HMHelpContentRec * outContent);
-
-
- /*
- * HMSetMenuItemHelpContent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMSetMenuItemHelpContent(
- MenuRef inMenu,
- MenuItemIndex inItem,
- const HMHelpContentRec * inContent);
-
-
- /*
- * HMGetMenuItemHelpContent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetMenuItemHelpContent(
- MenuRef inMenu,
- MenuItemIndex inItem,
- HMHelpContentRec * outContent);
-
-
- /* Installing/Retrieving Content Callbacks */
- /*
- * HMInstallControlContentCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMInstallControlContentCallback(
- ControlRef inControl,
- HMControlContentUPP inContentUPP);
-
-
- /*
- * HMInstallWindowContentCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMInstallWindowContentCallback(
- WindowRef inWindow,
- HMWindowContentUPP inContentUPP);
-
-
- /*
- * HMInstallMenuTitleContentCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMInstallMenuTitleContentCallback(
- MenuRef inMenu,
- HMMenuTitleContentUPP inContentUPP);
-
-
- /*
- * HMInstallMenuItemContentCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMInstallMenuItemContentCallback(
- MenuRef inMenu,
- HMMenuItemContentUPP inContentUPP);
-
-
- /*
- * HMGetControlContentCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetControlContentCallback(
- ControlRef inControl,
- HMControlContentUPP * outContentUPP);
-
-
- /*
- * HMGetWindowContentCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetWindowContentCallback(
- WindowRef inWindow,
- HMWindowContentUPP * outContentUPP);
-
-
- /*
- * HMGetMenuTitleContentCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetMenuTitleContentCallback(
- MenuRef inMenu,
- HMMenuTitleContentUPP * outContentUPP);
-
-
- /*
- * HMGetMenuItemContentCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetMenuItemContentCallback(
- MenuRef inMenu,
- HMMenuItemContentUPP * outContentUPP);
-
-
- /* Enabling and Disabling Help Tags */
- /*
- * HMAreHelpTagsDisplayed()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- HMAreHelpTagsDisplayed(void);
-
-
- /*
- * HMSetHelpTagsDisplayed()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMSetHelpTagsDisplayed(Boolean inDisplayTags);
-
-
- /*
- * HMSetTagDelay()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMSetTagDelay(Duration inDelay);
-
-
- /*
- * HMGetTagDelay()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMGetTagDelay(Duration * outDelay);
-
-
- /* Compatibility */
- /*
- * HMSetMenuHelpFromBalloonRsrc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMSetMenuHelpFromBalloonRsrc(
- MenuRef inMenu,
- SInt16 inHmnuRsrcID);
-
-
- /*
- * HMSetDialogHelpFromBalloonRsrc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMSetDialogHelpFromBalloonRsrc(
- DialogRef inDialog,
- SInt16 inHdlgRsrcID,
- SInt16 inItemStart);
-
-
- /* Displaying tags */
- /*
- * HMDisplayTag()
- *
- * Summary:
- * Displays a help tag at a user defined location.
- *
- * Parameters:
- *
- * inContent:
- * HMHelpContentRec describing the help tag to be displayed.
- *
- * Result:
- * An OSStatus code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HMDisplayTag(const HMHelpContentRec * inContent);
-
-
- /*
- * HMHideTag()
- *
- * Summary:
- * HMHideTag hides the currently visible help tag. If there is no
- * current help tag, this call does nothing.
- *
- * Result:
- * An OSStatus code indicating success or failure.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.2 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- HMHideTag(void);
+/*------------------------------------------------------------------------------------------*/
+/* API */
+/*------------------------------------------------------------------------------------------*/
+/* Help Menu */
+/*
+ * HMGetHelpMenu()
+ *
+ * Summary:
+ * Returns a menu to which applications may add their own help items.
+ *
+ * Parameters:
+ *
+ * outHelpMenu:
+ * On exit, contains the help menu.
+ *
+ * outFirstCustomItemIndex:
+ * On exit, contains the menu item index that will be used by the
+ * first item added by the application. This parameter may be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetHelpMenu(
+ MenuRef * outHelpMenu,
+ MenuItemIndex * outFirstCustomItemIndex); /* can be NULL */
+
+
+/* Installing/Retrieving Content */
+/* Menu title and item help tags are not yet supported by Carbon or CarbonLib. */
+/* They will be fully supported in a future release. */
+/*
+ * HMSetControlHelpContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMSetControlHelpContent(
+ ControlRef inControl,
+ const HMHelpContentRec * inContent);
+
+
+/*
+ * HMGetControlHelpContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetControlHelpContent(
+ ControlRef inControl,
+ HMHelpContentRec * outContent);
+
+
+/*
+ * HMSetWindowHelpContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMSetWindowHelpContent(
+ WindowRef inWindow,
+ const HMHelpContentRec * inContent);
+
+
+/*
+ * HMGetWindowHelpContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetWindowHelpContent(
+ WindowRef inWindow,
+ HMHelpContentRec * outContent);
+
+
+/*
+ * HMSetMenuItemHelpContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMSetMenuItemHelpContent(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ const HMHelpContentRec * inContent);
+
+
+/*
+ * HMGetMenuItemHelpContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetMenuItemHelpContent(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ HMHelpContentRec * outContent);
+
+
+/* Installing/Retrieving Content Callbacks */
+/*
+ * HMInstallControlContentCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMInstallControlContentCallback(
+ ControlRef inControl,
+ HMControlContentUPP inContentUPP);
+
+
+/*
+ * HMInstallWindowContentCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMInstallWindowContentCallback(
+ WindowRef inWindow,
+ HMWindowContentUPP inContentUPP);
+
+
+/*
+ * HMInstallMenuTitleContentCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMInstallMenuTitleContentCallback(
+ MenuRef inMenu,
+ HMMenuTitleContentUPP inContentUPP);
+
+
+/*
+ * HMInstallMenuItemContentCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMInstallMenuItemContentCallback(
+ MenuRef inMenu,
+ HMMenuItemContentUPP inContentUPP);
+
+
+/*
+ * HMGetControlContentCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetControlContentCallback(
+ ControlRef inControl,
+ HMControlContentUPP * outContentUPP);
+
+
+/*
+ * HMGetWindowContentCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetWindowContentCallback(
+ WindowRef inWindow,
+ HMWindowContentUPP * outContentUPP);
+
+
+/*
+ * HMGetMenuTitleContentCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetMenuTitleContentCallback(
+ MenuRef inMenu,
+ HMMenuTitleContentUPP * outContentUPP);
+
+
+/*
+ * HMGetMenuItemContentCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetMenuItemContentCallback(
+ MenuRef inMenu,
+ HMMenuItemContentUPP * outContentUPP);
+
+
+/* Enabling and Disabling Help Tags */
+/*
+ * HMAreHelpTagsDisplayed()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+HMAreHelpTagsDisplayed(void);
+
+
+/*
+ * HMSetHelpTagsDisplayed()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMSetHelpTagsDisplayed(Boolean inDisplayTags);
+
+
+/*
+ * HMSetTagDelay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMSetTagDelay(Duration inDelay);
+
+
+/*
+ * HMGetTagDelay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMGetTagDelay(Duration * outDelay);
+
+
+/* Compatibility */
+/*
+ * HMSetMenuHelpFromBalloonRsrc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMSetMenuHelpFromBalloonRsrc(
+ MenuRef inMenu,
+ SInt16 inHmnuRsrcID);
+
+
+/*
+ * HMSetDialogHelpFromBalloonRsrc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMSetDialogHelpFromBalloonRsrc(
+ DialogRef inDialog,
+ SInt16 inHdlgRsrcID,
+ SInt16 inItemStart);
+
+
+/* Displaying tags */
+/*
+ * HMDisplayTag()
+ *
+ * Summary:
+ * Displays a help tag at a user defined location.
+ *
+ * Parameters:
+ *
+ * inContent:
+ * HMHelpContentRec describing the help tag to be displayed.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HMDisplayTag(const HMHelpContentRec * inContent);
+
+
+/*
+ * HMHideTag()
+ *
+ * Summary:
+ * HMHideTag hides the currently visible help tag. If there is no
+ * current help tag, this call does nothing.
+ *
+ * Result:
+ * An OSStatus code indicating success or failure.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.2 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+HMHideTag(void);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MacLocales.h b/include/qt/MacLocales.h
index 09b17dac3..bde3721f7 100644
--- a/include/qt/MacLocales.h
+++ b/include/qt/MacLocales.h
@@ -1,17 +1,17 @@
/*
File: MacLocales.h
-
+
Contains: Types & prototypes for locale functions
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1998-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACLOCALES__
#define __MACLOCALES__
@@ -40,280 +40,277 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- -------------------------------------------------------------------------------------------------
- TYPES & CONSTANTS
- -------------------------------------------------------------------------------------------------
- */
-
- typedef struct OpaqueLocaleRef* LocaleRef;
- typedef UInt32 LocalePartMask;
- enum
- {
- /* bit set requests the following:*/
- kLocaleLanguageMask = 1L << 0, /* ISO 639-1 or -2 language code (2 or 3 letters)*/
- kLocaleLanguageVariantMask = 1L << 1, /* custom string for language variant*/
- kLocaleScriptMask = 1L << 2, /* ISO 15924 script code (2 letters)*/
- kLocaleScriptVariantMask = 1L << 3, /* custom string for script variant*/
- kLocaleRegionMask = 1L << 4, /* ISO 3166 country/region code (2 letters)*/
- kLocaleRegionVariantMask = 1L << 5, /* custom string for region variant*/
- kLocaleAllPartsMask = 0x0000003F /* all of the above*/
- };
-
- typedef FourCharCode LocaleOperationClass;
- /* constants for LocaleOperationClass are in UnicodeUtilities interfaces*/
- typedef FourCharCode LocaleOperationVariant;
- struct LocaleAndVariant
- {
- LocaleRef locale;
- LocaleOperationVariant opVariant;
- };
- typedef struct LocaleAndVariant LocaleAndVariant;
-
- typedef UInt32 LocaleNameMask;
- enum
- {
- /* bit set requests the following:*/
- kLocaleNameMask = 1L << 0, /* name of locale*/
- kLocaleOperationVariantNameMask = 1L << 1, /* name of LocaleOperationVariant*/
- kLocaleAndVariantNameMask = 0x00000003 /* all of the above*/
- };
-
- /*
- -------------------------------------------------------------------------------------------------
- FUNCTION PROTOTYPES
- -------------------------------------------------------------------------------------------------
- */
-
- /* Convert to or from LocaleRefs (and related utilities)*/
-
- /*
- * LocaleRefFromLangOrRegionCode()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleRefFromLangOrRegionCode(
- LangCode lang,
- RegionCode region,
- LocaleRef * locale);
-
-
- /*
- * LocaleRefFromLocaleString()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleRefFromLocaleString(
- const char localeString[],
- LocaleRef * locale);
-
-
- /*
- * LocaleRefGetPartString()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleRefGetPartString(
- LocaleRef locale,
- LocalePartMask partMask,
- ByteCount maxStringLen,
- char partString[]);
-
-
- /*
- * LocaleStringToLangAndRegionCodes()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleStringToLangAndRegionCodes(
- const char localeString[],
- LangCode * lang,
- RegionCode * region);
-
-
- /* Enumerate locales for a LocaleOperationClass */
- /*
- * LocaleOperationCountLocales()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleOperationCountLocales(
- LocaleOperationClass opClass,
- ItemCount * localeCount);
-
-
- /*
- * LocaleOperationGetLocales()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleOperationGetLocales(
- LocaleOperationClass opClass,
- ItemCount maxLocaleCount,
- ItemCount * actualLocaleCount,
- LocaleAndVariant localeVariantList[]);
-
-
- /* Get names for a locale (or a region's language)*/
-
- /*
- * LocaleGetName()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleGetName(
- LocaleRef locale,
- LocaleOperationVariant opVariant,
- LocaleNameMask nameMask,
- LocaleRef displayLocale,
- UniCharCount maxNameLen,
- UniCharCount * actualNameLen,
- UniChar displayName[]);
-
-
- /*
- * LocaleCountNames()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleCountNames(
- LocaleRef locale,
- LocaleOperationVariant opVariant,
- LocaleNameMask nameMask,
- ItemCount * nameCount);
-
-
- /*
- * LocaleGetIndName()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleGetIndName(
- LocaleRef locale,
- LocaleOperationVariant opVariant,
- LocaleNameMask nameMask,
- ItemCount nameIndex,
- UniCharCount maxNameLen,
- UniCharCount * actualNameLen,
- UniChar displayName[],
- LocaleRef * displayLocale);
-
-
- /*
- * LocaleGetRegionLanguageName()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleGetRegionLanguageName(
- RegionCode region,
- Str255 languageName);
-
-
- /* Get names for a LocaleOperationClass*/
- /*
- * LocaleOperationGetName()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleOperationGetName(
- LocaleOperationClass opClass,
- LocaleRef displayLocale,
- UniCharCount maxNameLen,
- UniCharCount * actualNameLen,
- UniChar displayName[]);
-
-
- /*
- * LocaleOperationCountNames()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleOperationCountNames(
- LocaleOperationClass opClass,
- ItemCount * nameCount);
-
-
- /*
- * LocaleOperationGetIndName()
- *
- * Availability:
- * Non-Carbon CFM: in LocalesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- LocaleOperationGetIndName(
- LocaleOperationClass opClass,
- ItemCount nameIndex,
- UniCharCount maxNameLen,
- UniCharCount * actualNameLen,
- UniChar displayName[],
- LocaleRef * displayLocale);
+/*
+ -------------------------------------------------------------------------------------------------
+ TYPES & CONSTANTS
+ -------------------------------------------------------------------------------------------------
+*/
+
+typedef struct OpaqueLocaleRef* LocaleRef;
+typedef UInt32 LocalePartMask;
+enum {
+ /* bit set requests the following:*/
+ kLocaleLanguageMask = 1L << 0, /* ISO 639-1 or -2 language code (2 or 3 letters)*/
+ kLocaleLanguageVariantMask = 1L << 1, /* custom string for language variant*/
+ kLocaleScriptMask = 1L << 2, /* ISO 15924 script code (2 letters)*/
+ kLocaleScriptVariantMask = 1L << 3, /* custom string for script variant*/
+ kLocaleRegionMask = 1L << 4, /* ISO 3166 country/region code (2 letters)*/
+ kLocaleRegionVariantMask = 1L << 5, /* custom string for region variant*/
+ kLocaleAllPartsMask = 0x0000003F /* all of the above*/
+};
+
+typedef FourCharCode LocaleOperationClass;
+/* constants for LocaleOperationClass are in UnicodeUtilities interfaces*/
+typedef FourCharCode LocaleOperationVariant;
+struct LocaleAndVariant {
+ LocaleRef locale;
+ LocaleOperationVariant opVariant;
+};
+typedef struct LocaleAndVariant LocaleAndVariant;
+
+typedef UInt32 LocaleNameMask;
+enum {
+ /* bit set requests the following:*/
+ kLocaleNameMask = 1L << 0, /* name of locale*/
+ kLocaleOperationVariantNameMask = 1L << 1, /* name of LocaleOperationVariant*/
+ kLocaleAndVariantNameMask = 0x00000003 /* all of the above*/
+};
+
+/*
+ -------------------------------------------------------------------------------------------------
+ FUNCTION PROTOTYPES
+ -------------------------------------------------------------------------------------------------
+*/
+
+/* Convert to or from LocaleRefs (and related utilities)*/
+
+/*
+ * LocaleRefFromLangOrRegionCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleRefFromLangOrRegionCode(
+ LangCode lang,
+ RegionCode region,
+ LocaleRef * locale);
+
+
+/*
+ * LocaleRefFromLocaleString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleRefFromLocaleString(
+ const char localeString[],
+ LocaleRef * locale);
+
+
+/*
+ * LocaleRefGetPartString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleRefGetPartString(
+ LocaleRef locale,
+ LocalePartMask partMask,
+ ByteCount maxStringLen,
+ char partString[]);
+
+
+/*
+ * LocaleStringToLangAndRegionCodes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleStringToLangAndRegionCodes(
+ const char localeString[],
+ LangCode * lang,
+ RegionCode * region);
+
+
+/* Enumerate locales for a LocaleOperationClass */
+/*
+ * LocaleOperationCountLocales()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleOperationCountLocales(
+ LocaleOperationClass opClass,
+ ItemCount * localeCount);
+
+
+/*
+ * LocaleOperationGetLocales()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleOperationGetLocales(
+ LocaleOperationClass opClass,
+ ItemCount maxLocaleCount,
+ ItemCount * actualLocaleCount,
+ LocaleAndVariant localeVariantList[]);
+
+
+/* Get names for a locale (or a region's language)*/
+
+/*
+ * LocaleGetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleGetName(
+ LocaleRef locale,
+ LocaleOperationVariant opVariant,
+ LocaleNameMask nameMask,
+ LocaleRef displayLocale,
+ UniCharCount maxNameLen,
+ UniCharCount * actualNameLen,
+ UniChar displayName[]);
+
+
+/*
+ * LocaleCountNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleCountNames(
+ LocaleRef locale,
+ LocaleOperationVariant opVariant,
+ LocaleNameMask nameMask,
+ ItemCount * nameCount);
+
+
+/*
+ * LocaleGetIndName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleGetIndName(
+ LocaleRef locale,
+ LocaleOperationVariant opVariant,
+ LocaleNameMask nameMask,
+ ItemCount nameIndex,
+ UniCharCount maxNameLen,
+ UniCharCount * actualNameLen,
+ UniChar displayName[],
+ LocaleRef * displayLocale);
+
+
+/*
+ * LocaleGetRegionLanguageName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleGetRegionLanguageName(
+ RegionCode region,
+ Str255 languageName);
+
+
+/* Get names for a LocaleOperationClass*/
+/*
+ * LocaleOperationGetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleOperationGetName(
+ LocaleOperationClass opClass,
+ LocaleRef displayLocale,
+ UniCharCount maxNameLen,
+ UniCharCount * actualNameLen,
+ UniChar displayName[]);
+
+
+/*
+ * LocaleOperationCountNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleOperationCountNames(
+ LocaleOperationClass opClass,
+ ItemCount * nameCount);
+
+
+/*
+ * LocaleOperationGetIndName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LocalesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+LocaleOperationGetIndName(
+ LocaleOperationClass opClass,
+ ItemCount nameIndex,
+ UniCharCount maxNameLen,
+ UniCharCount * actualNameLen,
+ UniChar displayName[],
+ LocaleRef * displayLocale);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MacMemory.h b/include/qt/MacMemory.h
index 10ddb6af7..dfad66991 100644
--- a/include/qt/MacMemory.h
+++ b/include/qt/MacMemory.h
@@ -1,17 +1,17 @@
/*
File: MacMemory.h
-
+
Contains: Memory Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACMEMORY__
#define __MACMEMORY__
@@ -40,1165 +40,1128 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- enum {
- maxSize = 0x7FFFFFF0 /*the largest block possible*/
- };
-
- enum
- {
- defaultPhysicalEntryCount = 8
- };
-
- enum
- {
- /* values returned from the GetPageState function */
- kPageInMemory = 0,
- kPageOnDisk = 1,
- kNotPaged = 2
- };
-
- enum
- {
- /* masks for Zone->heapType field */
- k32BitHeap = 1, /* valid in all Memory Managers */
- kNewStyleHeap = 2, /* true if new Heap Manager is present */
- kNewDebugHeap = 4 /* true if new Heap Manager is running in debug mode on this heap */
- };
-
-
- /* bits for use with HGetState/HSetState*/
- enum
- {
- kHandleIsResourceBit = 5,
- kHandlePurgeableBit = 6,
- kHandleLockedBit = 7
- };
-
- /* masks for use with HGetState/HSetState*/
- enum
- {
- kHandleIsResourceMask = 0x20,
- kHandlePurgeableMask = 0x40,
- kHandleLockedMask = 0x80
- };
-
-
- typedef CALLBACK_API(long , GrowZoneProcPtr)(Size cbNeeded);
- typedef CALLBACK_API(void , PurgeProcPtr)(Handle blockToPurge);
- typedef CALLBACK_API_REGISTER68K(void , UserFnProcPtr, (void * parameter));
- typedef STACK_UPP_TYPE(GrowZoneProcPtr) GrowZoneUPP;
- typedef STACK_UPP_TYPE(PurgeProcPtr) PurgeUPP;
- typedef REGISTER_UPP_TYPE(UserFnProcPtr) UserFnUPP;
- struct Zone
- {
- Ptr bkLim;
- Ptr purgePtr;
- Ptr hFstFree;
- long zcbFree;
- GrowZoneUPP gzProc;
- short moreMast;
- short flags;
- short cntRel;
- short maxRel;
- short cntNRel;
- SInt8 heapType; /* previously "maxNRel", now holds flags (e.g. k32BitHeap)*/
- SInt8 unused;
- short cntEmpty;
- short cntHandles;
- long minCBFree;
- PurgeUPP purgeProc;
- Ptr sparePtr;
- Ptr allocPtr;
- short heapData;
- };
- typedef struct Zone Zone;
- typedef Zone * THz;
- typedef THz * THzPtr;
- struct MemoryBlock
- {
- void * address;
- unsigned long count;
- };
- typedef struct MemoryBlock MemoryBlock;
- struct LogicalToPhysicalTable
- {
- MemoryBlock logical;
- MemoryBlock physical[8];
- };
- typedef struct LogicalToPhysicalTable LogicalToPhysicalTable;
-
- typedef short PageState;
- typedef short StatusRegisterContents;
- enum
- {
- kVolumeVirtualMemoryInfoVersion1 = 1 /* first version of VolumeVirtualMemoryInfo*/
- };
-
- struct VolumeVirtualMemoryInfo
- {
- PBVersion version; /* Input: Version of the VolumeVirtualMemoryInfo structure*/
- SInt16 volumeRefNum; /* Input: volume reference number*/
- Boolean inUse; /* output: true if volume is currently used for file mapping*/
- UInt8 _fill;
- UInt32 vmOptions; /* output: tells what volume can support (same as DriverGestaltVMOptionsResponse vmOptions bits in DriverGestalt)*/
- /* end of kVolumeVirtualMemoryInfoVersion1 structure*/
- };
- typedef struct VolumeVirtualMemoryInfo VolumeVirtualMemoryInfo;
- typedef VolumeVirtualMemoryInfo * VolumeVirtualMemoryInfoPtr;
- /*
- * NewGrowZoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(GrowZoneUPP)
- NewGrowZoneUPP(GrowZoneProcPtr userRoutine);
-#if !OPAQUE_UPP_TYPES
- enum { uppGrowZoneProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(GrowZoneUPP) NewGrowZoneUPP(GrowZoneProcPtr userRoutine)
- {
- return (GrowZoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGrowZoneProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewGrowZoneUPP(userRoutine) (GrowZoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGrowZoneProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewPurgeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PurgeUPP)
- NewPurgeUPP(PurgeProcPtr userRoutine);
+ #pragma pack(2)
+#endif
+
+enum {
+ maxSize = 0x7FFFFFF0 /*the largest block possible*/
+};
+
+enum {
+ defaultPhysicalEntryCount = 8
+};
+
+enum {
+ /* values returned from the GetPageState function */
+ kPageInMemory = 0,
+ kPageOnDisk = 1,
+ kNotPaged = 2
+};
+
+enum {
+ /* masks for Zone->heapType field */
+ k32BitHeap = 1, /* valid in all Memory Managers */
+ kNewStyleHeap = 2, /* true if new Heap Manager is present */
+ kNewDebugHeap = 4 /* true if new Heap Manager is running in debug mode on this heap */
+};
+
+
+/* bits for use with HGetState/HSetState*/
+enum {
+ kHandleIsResourceBit = 5,
+ kHandlePurgeableBit = 6,
+ kHandleLockedBit = 7
+};
+
+/* masks for use with HGetState/HSetState*/
+enum {
+ kHandleIsResourceMask = 0x20,
+ kHandlePurgeableMask = 0x40,
+ kHandleLockedMask = 0x80
+};
+
+
+typedef CALLBACK_API( long , GrowZoneProcPtr )(Size cbNeeded);
+typedef CALLBACK_API( void , PurgeProcPtr )(Handle blockToPurge);
+typedef CALLBACK_API_REGISTER68K( void , UserFnProcPtr, (void * parameter) );
+typedef STACK_UPP_TYPE(GrowZoneProcPtr) GrowZoneUPP;
+typedef STACK_UPP_TYPE(PurgeProcPtr) PurgeUPP;
+typedef REGISTER_UPP_TYPE(UserFnProcPtr) UserFnUPP;
+struct Zone {
+ Ptr bkLim;
+ Ptr purgePtr;
+ Ptr hFstFree;
+ long zcbFree;
+ GrowZoneUPP gzProc;
+ short moreMast;
+ short flags;
+ short cntRel;
+ short maxRel;
+ short cntNRel;
+ SInt8 heapType; /* previously "maxNRel", now holds flags (e.g. k32BitHeap)*/
+ SInt8 unused;
+ short cntEmpty;
+ short cntHandles;
+ long minCBFree;
+ PurgeUPP purgeProc;
+ Ptr sparePtr;
+ Ptr allocPtr;
+ short heapData;
+};
+typedef struct Zone Zone;
+typedef Zone * THz;
+typedef THz * THzPtr;
+struct MemoryBlock {
+ void * address;
+ unsigned long count;
+};
+typedef struct MemoryBlock MemoryBlock;
+struct LogicalToPhysicalTable {
+ MemoryBlock logical;
+ MemoryBlock physical[8];
+};
+typedef struct LogicalToPhysicalTable LogicalToPhysicalTable;
+
+typedef short PageState;
+typedef short StatusRegisterContents;
+enum {
+ kVolumeVirtualMemoryInfoVersion1 = 1 /* first version of VolumeVirtualMemoryInfo*/
+};
+
+struct VolumeVirtualMemoryInfo {
+ PBVersion version; /* Input: Version of the VolumeVirtualMemoryInfo structure*/
+ SInt16 volumeRefNum; /* Input: volume reference number*/
+ Boolean inUse; /* output: true if volume is currently used for file mapping*/
+ UInt8 _fill;
+ UInt32 vmOptions; /* output: tells what volume can support (same as DriverGestaltVMOptionsResponse vmOptions bits in DriverGestalt)*/
+ /* end of kVolumeVirtualMemoryInfoVersion1 structure*/
+};
+typedef struct VolumeVirtualMemoryInfo VolumeVirtualMemoryInfo;
+typedef VolumeVirtualMemoryInfo * VolumeVirtualMemoryInfoPtr;
+/*
+ * NewGrowZoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( GrowZoneUPP )
+NewGrowZoneUPP(GrowZoneProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppPurgeProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(PurgeUPP) NewPurgeUPP(PurgeProcPtr userRoutine)
- {
- return (PurgeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPurgeProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewPurgeUPP(userRoutine) (PurgeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPurgeProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewUserFnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UserFnUPP)
- NewUserFnUPP(UserFnProcPtr userRoutine);
+ enum { uppGrowZoneProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(GrowZoneUPP) NewGrowZoneUPP(GrowZoneProcPtr userRoutine) { return (GrowZoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGrowZoneProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewGrowZoneUPP(userRoutine) (GrowZoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGrowZoneProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewPurgeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PurgeUPP )
+NewPurgeUPP(PurgeProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppUserFnProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(UserFnUPP) NewUserFnUPP(UserFnProcPtr userRoutine)
- {
- return (UserFnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserFnProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewUserFnUPP(userRoutine) (UserFnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserFnProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * DisposeGrowZoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeGrowZoneUPP(GrowZoneUPP userUPP);
+ enum { uppPurgeProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PurgeUPP) NewPurgeUPP(PurgeProcPtr userRoutine) { return (PurgeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPurgeProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPurgeUPP(userRoutine) (PurgeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPurgeProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewUserFnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UserFnUPP )
+NewUserFnUPP(UserFnProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeGrowZoneUPP(GrowZoneUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeGrowZoneUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposePurgeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePurgeUPP(PurgeUPP userUPP);
+ enum { uppUserFnProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UserFnUPP) NewUserFnUPP(UserFnProcPtr userRoutine) { return (UserFnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserFnProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewUserFnUPP(userRoutine) (UserFnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserFnProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposeGrowZoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeGrowZoneUPP(GrowZoneUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposePurgeUPP(PurgeUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposePurgeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeUserFnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeUserFnUPP(UserFnUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeGrowZoneUPP(GrowZoneUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeGrowZoneUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposePurgeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePurgeUPP(PurgeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeUserFnUPP(UserFnUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeUserFnUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * InvokeGrowZoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long)
- InvokeGrowZoneUPP(
- Size cbNeeded,
- GrowZoneUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePurgeUPP(PurgeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePurgeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeUserFnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeUserFnUPP(UserFnUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(long) InvokeGrowZoneUPP(Size cbNeeded, GrowZoneUPP userUPP)
- {
- return (long)CALL_ONE_PARAMETER_UPP(userUPP, uppGrowZoneProcInfo, cbNeeded);
- }
-#else
-#define InvokeGrowZoneUPP(cbNeeded, userUPP) (long)CALL_ONE_PARAMETER_UPP((userUPP), uppGrowZoneProcInfo, (cbNeeded))
-#endif
-#endif
-
- /*
- * InvokePurgeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokePurgeUPP(
- Handle blockToPurge,
- PurgeUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeUserFnUPP(UserFnUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeUserFnUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokeGrowZoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long )
+InvokeGrowZoneUPP(
+ Size cbNeeded,
+ GrowZoneUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokePurgeUPP(Handle blockToPurge, PurgeUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppPurgeProcInfo, blockToPurge);
- }
-#else
-#define InvokePurgeUPP(blockToPurge, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppPurgeProcInfo, (blockToPurge))
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long) InvokeGrowZoneUPP(Size cbNeeded, GrowZoneUPP userUPP) { return (long)CALL_ONE_PARAMETER_UPP(userUPP, uppGrowZoneProcInfo, cbNeeded); }
+ #else
+ #define InvokeGrowZoneUPP(cbNeeded, userUPP) (long)CALL_ONE_PARAMETER_UPP((userUPP), uppGrowZoneProcInfo, (cbNeeded))
+ #endif
#endif
+
+/*
+ * InvokePurgeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePurgeUPP(
+ Handle blockToPurge,
+ PurgeUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokePurgeUPP(Handle blockToPurge, PurgeUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppPurgeProcInfo, blockToPurge); }
+ #else
+ #define InvokePurgeUPP(blockToPurge, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppPurgeProcInfo, (blockToPurge))
+ #endif
#endif
- /*
- * InvokeUserFnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * InvokeUserFnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeUserFnUPP(__A0, __A1)
#endif
- EXTERN_API_C(void)
- InvokeUserFnUPP(
- void * parameter,
- UserFnUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( void )
+InvokeUserFnUPP(
+ void * parameter,
+ UserFnUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeUserFnUPP(void * parameter, UserFnUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppUserFnProcInfo, parameter);
- }
-#else
-#define InvokeUserFnUPP(parameter, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppUserFnProcInfo, (parameter))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeUserFnUPP(void * parameter, UserFnUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppUserFnProcInfo, parameter); }
+ #else
+ #define InvokeUserFnUPP(parameter, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppUserFnProcInfo, (parameter))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewGrowZoneProc(userRoutine) NewGrowZoneUPP(userRoutine)
-#define NewPurgeProc(userRoutine) NewPurgeUPP(userRoutine)
-#define NewUserFnProc(userRoutine) NewUserFnUPP(userRoutine)
-#define CallGrowZoneProc(userRoutine, cbNeeded) InvokeGrowZoneUPP(cbNeeded, userRoutine)
-#define CallPurgeProc(userRoutine, blockToPurge) InvokePurgeUPP(blockToPurge, userRoutine)
-#define CallUserFnProc(userRoutine, parameter) InvokeUserFnUPP(parameter, userRoutine)
+ #define NewGrowZoneProc(userRoutine) NewGrowZoneUPP(userRoutine)
+ #define NewPurgeProc(userRoutine) NewPurgeUPP(userRoutine)
+ #define NewUserFnProc(userRoutine) NewUserFnUPP(userRoutine)
+ #define CallGrowZoneProc(userRoutine, cbNeeded) InvokeGrowZoneUPP(cbNeeded, userRoutine)
+ #define CallPurgeProc(userRoutine, blockToPurge) InvokePurgeUPP(blockToPurge, userRoutine)
+ #define CallUserFnProc(userRoutine, parameter) InvokeUserFnUPP(parameter, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * GetApplLimit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr)
- GetApplLimit(void) TWOWORDINLINE(0x2EB8, 0x0130);
-
-
- /*
- * SystemZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(THz)
- SystemZone(void) TWOWORDINLINE(0x2EB8, 0x02A6);
-
-
- /*
- * ApplicationZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(THz)
- ApplicationZone(void) TWOWORDINLINE(0x2EB8, 0x02AA);
+/*
+ * GetApplLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr )
+GetApplLimit(void) TWOWORDINLINE(0x2EB8, 0x0130);
+
+
+/*
+ * SystemZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( THz )
+SystemZone(void) TWOWORDINLINE(0x2EB8, 0x02A6);
+
+
+/*
+ * ApplicationZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( THz )
+ApplicationZone(void) TWOWORDINLINE(0x2EB8, 0x02AA);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GZSaveHnd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GZSaveHnd(void) TWOWORDINLINE(0x2EB8, 0x0328);
-
-
- /*
- * TopMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr)
- TopMem(void) TWOWORDINLINE(0x2EB8, 0x0108);
-
-
- /*
- * MemError()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- MemError(void) TWOWORDINLINE(0x3EB8, 0x0220);
+/*
+ * GZSaveHnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GZSaveHnd(void) TWOWORDINLINE(0x2EB8, 0x0328);
+
+
+/*
+ * TopMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr )
+TopMem(void) TWOWORDINLINE(0x2EB8, 0x0108);
+
+
+/*
+ * MemError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+MemError(void) TWOWORDINLINE(0x3EB8, 0x0220);
#if CALL_NOT_IN_CARBON
- /*
- * GetZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 GetZone
#endif
- EXTERN_API(THz)
- GetZone(void) ONEWORDINLINE(0xA11A);
+EXTERN_API( THz )
+GetZone(void) ONEWORDINLINE(0xA11A);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NewHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewHandle(__D0)
#endif
- EXTERN_API(Handle)
- NewHandle(Size byteCount) ONEWORDINLINE(0xA122);
+EXTERN_API( Handle )
+NewHandle(Size byteCount) ONEWORDINLINE(0xA122);
#if CALL_NOT_IN_CARBON
- /*
- * NewHandleSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * NewHandleSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewHandleSys(__D0)
#endif
- EXTERN_API(Handle)
- NewHandleSys(Size byteCount) ONEWORDINLINE(0xA522);
+EXTERN_API( Handle )
+NewHandleSys(Size byteCount) ONEWORDINLINE(0xA522);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewHandleClear()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NewHandleClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewHandleClear(__D0)
#endif
- EXTERN_API(Handle)
- NewHandleClear(Size byteCount) ONEWORDINLINE(0xA322);
+EXTERN_API( Handle )
+NewHandleClear(Size byteCount) ONEWORDINLINE(0xA322);
#if CALL_NOT_IN_CARBON
- /*
- * NewHandleSysClear()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * NewHandleSysClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewHandleSysClear(__D0)
#endif
- EXTERN_API(Handle)
- NewHandleSysClear(Size byteCount) ONEWORDINLINE(0xA722);
+EXTERN_API( Handle )
+NewHandleSysClear(Size byteCount) ONEWORDINLINE(0xA722);
- /*
- * HandleZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * HandleZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 HandleZone(__A0)
#endif
- EXTERN_API(THz)
- HandleZone(Handle h) ONEWORDINLINE(0xA126);
+EXTERN_API( THz )
+HandleZone(Handle h) ONEWORDINLINE(0xA126);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * RecoverHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * RecoverHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 RecoverHandle(__A0)
#endif
- EXTERN_API(Handle)
- RecoverHandle(Ptr p) ONEWORDINLINE(0xA128);
+EXTERN_API( Handle )
+RecoverHandle(Ptr p) ONEWORDINLINE(0xA128);
#if CALL_NOT_IN_CARBON
- /*
- * RecoverHandleSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * RecoverHandleSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 RecoverHandleSys(__A0)
#endif
- EXTERN_API(Handle)
- RecoverHandleSys(Ptr p) ONEWORDINLINE(0xA528);
+EXTERN_API( Handle )
+RecoverHandleSys(Ptr p) ONEWORDINLINE(0xA528);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NewPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewPtr(__D0)
#endif
- EXTERN_API(Ptr)
- NewPtr(Size byteCount) ONEWORDINLINE(0xA11E);
+EXTERN_API( Ptr )
+NewPtr(Size byteCount) ONEWORDINLINE(0xA11E);
#if CALL_NOT_IN_CARBON
- /*
- * NewPtrSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * NewPtrSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewPtrSys(__D0)
#endif
- EXTERN_API(Ptr)
- NewPtrSys(Size byteCount) ONEWORDINLINE(0xA51E);
+EXTERN_API( Ptr )
+NewPtrSys(Size byteCount) ONEWORDINLINE(0xA51E);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewPtrClear()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NewPtrClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewPtrClear(__D0)
#endif
- EXTERN_API(Ptr)
- NewPtrClear(Size byteCount) ONEWORDINLINE(0xA31E);
+EXTERN_API( Ptr )
+NewPtrClear(Size byteCount) ONEWORDINLINE(0xA31E);
#if CALL_NOT_IN_CARBON
- /*
- * NewPtrSysClear()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * NewPtrSysClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewPtrSysClear(__D0)
#endif
- EXTERN_API(Ptr)
- NewPtrSysClear(Size byteCount) ONEWORDINLINE(0xA71E);
+EXTERN_API( Ptr )
+NewPtrSysClear(Size byteCount) ONEWORDINLINE(0xA71E);
- /*
- * PtrZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PtrZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 PtrZone(__A0)
#endif
- EXTERN_API(THz)
- PtrZone(Ptr p) ONEWORDINLINE(0xA148);
+EXTERN_API( THz )
+PtrZone(Ptr p) ONEWORDINLINE(0xA148);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * MaxBlock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * MaxBlock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 MaxBlock
#endif
- EXTERN_API(long)
- MaxBlock(void) ONEWORDINLINE(0xA061);
+EXTERN_API( long )
+MaxBlock(void) ONEWORDINLINE(0xA061);
#if CALL_NOT_IN_CARBON
- /*
- * MaxBlockSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * MaxBlockSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 MaxBlockSys
#endif
- EXTERN_API(long)
- MaxBlockSys(void) ONEWORDINLINE(0xA461);
+EXTERN_API( long )
+MaxBlockSys(void) ONEWORDINLINE(0xA461);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * StackSpace()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * StackSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 StackSpace
#endif
- EXTERN_API(long)
- StackSpace(void) ONEWORDINLINE(0xA065);
+EXTERN_API( long )
+StackSpace(void) ONEWORDINLINE(0xA065);
- /*
- * NewEmptyHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NewEmptyHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewEmptyHandle
#endif
- EXTERN_API(Handle)
- NewEmptyHandle(void) ONEWORDINLINE(0xA166);
+EXTERN_API( Handle )
+NewEmptyHandle(void) ONEWORDINLINE(0xA166);
#if CALL_NOT_IN_CARBON
- /*
- * NewEmptyHandleSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * NewEmptyHandleSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 NewEmptyHandleSys
#endif
- EXTERN_API(Handle)
- NewEmptyHandleSys(void) ONEWORDINLINE(0xA566);
+EXTERN_API( Handle )
+NewEmptyHandleSys(void) ONEWORDINLINE(0xA566);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * HLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter HLock(__A0)
#endif
- EXTERN_API(void)
- HLock(Handle h) ONEWORDINLINE(0xA029);
+EXTERN_API( void )
+HLock(Handle h) ONEWORDINLINE(0xA029);
- /*
- * HUnlock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HUnlock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter HUnlock(__A0)
#endif
- EXTERN_API(void)
- HUnlock(Handle h) ONEWORDINLINE(0xA02A);
+EXTERN_API( void )
+HUnlock(Handle h) ONEWORDINLINE(0xA02A);
- /*
- * HPurge()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HPurge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter HPurge(__A0)
#endif
- EXTERN_API(void)
- HPurge(Handle h) ONEWORDINLINE(0xA049);
+EXTERN_API( void )
+HPurge(Handle h) ONEWORDINLINE(0xA049);
- /*
- * HNoPurge()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HNoPurge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter HNoPurge(__A0)
#endif
- EXTERN_API(void)
- HNoPurge(Handle h) ONEWORDINLINE(0xA04A);
+EXTERN_API( void )
+HNoPurge(Handle h) ONEWORDINLINE(0xA04A);
- /*
- * HLockHi()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HLockHi()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter HLockHi(__A0)
#endif
- EXTERN_API(void)
- HLockHi(Handle h) TWOWORDINLINE(0xA064, 0xA029);
-
-
- /*
- * TempNewHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- TempNewHandle(
- Size logicalSize,
- OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001D, 0xA88F);
-
-
- /*
- * TempMaxMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Size)
- TempMaxMem(Size * grow) THREEWORDINLINE(0x3F3C, 0x0015, 0xA88F);
-
-
- /*
- * TempFreeMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- TempFreeMem(void) THREEWORDINLINE(0x3F3C, 0x0018, 0xA88F);
+EXTERN_API( void )
+HLockHi(Handle h) TWOWORDINLINE(0xA064, 0xA029);
+
+
+/*
+ * TempNewHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+TempNewHandle(
+ Size logicalSize,
+ OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001D, 0xA88F);
+
+
+/*
+ * TempMaxMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Size )
+TempMaxMem(Size * grow) THREEWORDINLINE(0x3F3C, 0x0015, 0xA88F);
+
+
+/*
+ * TempFreeMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+TempFreeMem(void) THREEWORDINLINE(0x3F3C, 0x0018, 0xA88F);
#if CALL_NOT_IN_CARBON
- /*
- * InitZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitZone(
- GrowZoneUPP pgrowZone,
- short cmoreMasters,
- void * limitPtr,
- void * startPtr);
+/*
+ * InitZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitZone(
+ GrowZoneUPP pgrowZone,
+ short cmoreMasters,
+ void * limitPtr,
+ void * startPtr);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * SetZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * SetZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetZone(__A0)
#endif
- EXTERN_API(void)
- SetZone(THz hz) ONEWORDINLINE(0xA01B);
+EXTERN_API( void )
+SetZone(THz hz) ONEWORDINLINE(0xA01B);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * CompactMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * CompactMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 CompactMem(__D0)
#endif
- EXTERN_API(Size)
- CompactMem(Size cbNeeded) ONEWORDINLINE(0xA04C);
+EXTERN_API( Size )
+CompactMem(Size cbNeeded) ONEWORDINLINE(0xA04C);
#if CALL_NOT_IN_CARBON
- /*
- * CompactMemSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * CompactMemSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 CompactMemSys(__D0)
#endif
- EXTERN_API(Size)
- CompactMemSys(Size cbNeeded) ONEWORDINLINE(0xA44C);
+EXTERN_API( Size )
+CompactMemSys(Size cbNeeded) ONEWORDINLINE(0xA44C);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PurgeMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PurgeMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PurgeMem(__D0)
#endif
- EXTERN_API(void)
- PurgeMem(Size cbNeeded) ONEWORDINLINE(0xA04D);
+EXTERN_API( void )
+PurgeMem(Size cbNeeded) ONEWORDINLINE(0xA04D);
#if CALL_NOT_IN_CARBON
- /*
- * PurgeMemSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PurgeMemSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PurgeMemSys(__D0)
#endif
- EXTERN_API(void)
- PurgeMemSys(Size cbNeeded) ONEWORDINLINE(0xA44D);
+EXTERN_API( void )
+PurgeMemSys(Size cbNeeded) ONEWORDINLINE(0xA44D);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * FreeMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * FreeMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 FreeMem
#endif
- EXTERN_API(long)
- FreeMem(void) ONEWORDINLINE(0xA01C);
+EXTERN_API( long )
+FreeMem(void) ONEWORDINLINE(0xA01C);
#if CALL_NOT_IN_CARBON
- /*
- * FreeMemSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * FreeMemSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 FreeMemSys
#endif
- EXTERN_API(long)
- FreeMemSys(void) ONEWORDINLINE(0xA41C);
+EXTERN_API( long )
+FreeMemSys(void) ONEWORDINLINE(0xA41C);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * ReserveMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * ReserveMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter ReserveMem(__D0)
#endif
- EXTERN_API(void)
- ReserveMem(Size cbNeeded) ONEWORDINLINE(0xA040);
+EXTERN_API( void )
+ReserveMem(Size cbNeeded) ONEWORDINLINE(0xA040);
#if CALL_NOT_IN_CARBON
- /*
- * ReserveMemSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * ReserveMemSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter ReserveMemSys(__D0)
#endif
- EXTERN_API(void)
- ReserveMemSys(Size cbNeeded) ONEWORDINLINE(0xA440);
+EXTERN_API( void )
+ReserveMemSys(Size cbNeeded) ONEWORDINLINE(0xA440);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * MaxMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * MaxMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 MaxMem(__A1)
#endif
- EXTERN_API(Size)
- MaxMem(Size * grow) TWOWORDINLINE(0xA11D, 0x2288);
+EXTERN_API( Size )
+MaxMem(Size * grow) TWOWORDINLINE(0xA11D, 0x2288);
#if CALL_NOT_IN_CARBON
- /*
- * MaxMemSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * MaxMemSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 MaxMemSys(__A1)
#endif
- EXTERN_API(Size)
- MaxMemSys(Size * grow) TWOWORDINLINE(0xA51D, 0x2288);
+EXTERN_API( Size )
+MaxMemSys(Size * grow) TWOWORDINLINE(0xA51D, 0x2288);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SetGrowZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetGrowZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetGrowZone(__A0)
#endif
- EXTERN_API(void)
- SetGrowZone(GrowZoneUPP growZone) ONEWORDINLINE(0xA04B);
+EXTERN_API( void )
+SetGrowZone(GrowZoneUPP growZone) ONEWORDINLINE(0xA04B);
- /*
- * GetGrowZone()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GrowZoneUPP)
- GetGrowZone(void);
+/*
+ * GetGrowZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GrowZoneUPP )
+GetGrowZone(void);
- /*
- * MoveHHi()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * MoveHHi()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter MoveHHi(__A0)
#endif
- EXTERN_API(void)
- MoveHHi(Handle h) ONEWORDINLINE(0xA064);
+EXTERN_API( void )
+MoveHHi(Handle h) ONEWORDINLINE(0xA064);
- /*
- * DisposePtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * DisposePtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter DisposePtr(__A0)
#endif
- EXTERN_API(void)
- DisposePtr(Ptr p) ONEWORDINLINE(0xA01F);
+EXTERN_API( void )
+DisposePtr(Ptr p) ONEWORDINLINE(0xA01F);
- /*
- * GetPtrSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Size)
- GetPtrSize(Ptr p);
+/*
+ * GetPtrSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Size )
+GetPtrSize(Ptr p);
- /*
- * SetPtrSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetPtrSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetPtrSize(__A0, __D0)
#endif
- EXTERN_API(void)
- SetPtrSize(
- Ptr p,
- Size newSize) ONEWORDINLINE(0xA020);
+EXTERN_API( void )
+SetPtrSize(
+ Ptr p,
+ Size newSize) ONEWORDINLINE(0xA020);
- /*
- * DisposeHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * DisposeHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter DisposeHandle(__A0)
#endif
- EXTERN_API(void)
- DisposeHandle(Handle h) ONEWORDINLINE(0xA023);
+EXTERN_API( void )
+DisposeHandle(Handle h) ONEWORDINLINE(0xA023);
- /*
- * SetHandleSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetHandleSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetHandleSize(__A0, __D0)
#endif
- EXTERN_API(void)
- SetHandleSize(
- Handle h,
- Size newSize) ONEWORDINLINE(0xA024);
-
+EXTERN_API( void )
+SetHandleSize(
+ Handle h,
+ Size newSize) ONEWORDINLINE(0xA024);
- /*
- NOTE
- GetHandleSize and GetPtrSize are documented in Inside Mac as returning 0
- in case of an error, but the traps actually return an error code in D0.
- The glue sets D0 to 0 if an error occurred.
- */
- /*
- * GetHandleSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Size)
- GetHandleSize(Handle h);
+/*
+ NOTE
+
+ GetHandleSize and GetPtrSize are documented in Inside Mac as returning 0
+ in case of an error, but the traps actually return an error code in D0.
+ The glue sets D0 to 0 if an error occurred.
+*/
+/*
+ * GetHandleSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Size )
+GetHandleSize(Handle h);
#if CALL_NOT_IN_CARBON
- /*
- * InlineGetHandleSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InlineGetHandleSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InlineGetHandleSize(__A0)
#endif
- EXTERN_API(Size)
- InlineGetHandleSize(Handle h) ONEWORDINLINE(0xA025);
+EXTERN_API( Size )
+InlineGetHandleSize(Handle h) ONEWORDINLINE(0xA025);
#endif /* CALL_NOT_IN_CARBON */
@@ -1206,1000 +1169,994 @@ extern "C" {
#if !TARGET_OS_MAC
#define InlineGetHandleSize GetHandleSize
#endif
- /*
- * ReallocateHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * ReallocateHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter ReallocateHandle(__A0, __D0)
#endif
- EXTERN_API(void)
- ReallocateHandle(
- Handle h,
- Size byteCount) ONEWORDINLINE(0xA027);
+EXTERN_API( void )
+ReallocateHandle(
+ Handle h,
+ Size byteCount) ONEWORDINLINE(0xA027);
#if CALL_NOT_IN_CARBON
- /*
- * ReallocateHandleSys()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * ReallocateHandleSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter ReallocateHandleSys(__A0, __D0)
#endif
- EXTERN_API(void)
- ReallocateHandleSys(
- Handle h,
- Size byteCount) ONEWORDINLINE(0xA427);
+EXTERN_API( void )
+ReallocateHandleSys(
+ Handle h,
+ Size byteCount) ONEWORDINLINE(0xA427);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * EmptyHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * EmptyHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter EmptyHandle(__A0)
#endif
- EXTERN_API(void)
- EmptyHandle(Handle h) ONEWORDINLINE(0xA02B);
+EXTERN_API( void )
+EmptyHandle(Handle h) ONEWORDINLINE(0xA02B);
- /*
- * HSetRBit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HSetRBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter HSetRBit(__A0)
#endif
- EXTERN_API(void)
- HSetRBit(Handle h) ONEWORDINLINE(0xA067);
+EXTERN_API( void )
+HSetRBit(Handle h) ONEWORDINLINE(0xA067);
- /*
- * HClrRBit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HClrRBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter HClrRBit(__A0)
#endif
- EXTERN_API(void)
- HClrRBit(Handle h) ONEWORDINLINE(0xA068);
+EXTERN_API( void )
+HClrRBit(Handle h) ONEWORDINLINE(0xA068);
- /*
- * HGetState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HGetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 HGetState(__A0)
#endif
- EXTERN_API(SInt8)
- HGetState(Handle h) ONEWORDINLINE(0xA069);
+EXTERN_API( SInt8 )
+HGetState(Handle h) ONEWORDINLINE(0xA069);
- /*
- * HSetState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HSetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter HSetState(__A0, __D0)
#endif
- EXTERN_API(void)
- HSetState(
- Handle h,
- SInt8 flags) ONEWORDINLINE(0xA06A);
-
-
- /*
- * PurgeSpace()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PurgeSpace(
- long * total,
- long * contig);
-
-
- /*
- PurgeSpaceTotal and PurgeSpaceContiguous are currently only implement
- on classic 68K. The are the same as PurgeSpace() but return just
- one value (either total space purgable or contiguous space purgable).
- Begining in Mac OS 8.5 they are available in InterfaceLib.
- */
- /*
- * PurgeSpaceTotal()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+HSetState(
+ Handle h,
+ SInt8 flags) ONEWORDINLINE(0xA06A);
+
+
+/*
+ * PurgeSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PurgeSpace(
+ long * total,
+ long * contig);
+
+
+/*
+ PurgeSpaceTotal and PurgeSpaceContiguous are currently only implement
+ on classic 68K. The are the same as PurgeSpace() but return just
+ one value (either total space purgable or contiguous space purgable).
+ Begining in Mac OS 8.5 they are available in InterfaceLib.
+*/
+/*
+ * PurgeSpaceTotal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 PurgeSpaceTotal
#endif
- EXTERN_API(long)
- PurgeSpaceTotal(void) ONEWORDINLINE(0xA062);
+EXTERN_API( long )
+PurgeSpaceTotal(void) ONEWORDINLINE(0xA062);
- /*
- * PurgeSpaceContiguous()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PurgeSpaceContiguous()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PurgeSpaceContiguous
#endif
- EXTERN_API(long)
- PurgeSpaceContiguous(void) ONEWORDINLINE(0xA062);
+EXTERN_API( long )
+PurgeSpaceContiguous(void) ONEWORDINLINE(0xA062);
#if CALL_NOT_IN_CARBON
- /*
- * PurgeSpaceSysTotal()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PurgeSpaceSysTotal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 PurgeSpaceSysTotal
#endif
- EXTERN_API(long)
- PurgeSpaceSysTotal(void) ONEWORDINLINE(0xA562);
+EXTERN_API( long )
+PurgeSpaceSysTotal(void) ONEWORDINLINE(0xA562);
- /*
- * PurgeSpaceSysContiguous()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PurgeSpaceSysContiguous()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PurgeSpaceSysContiguous
#endif
- EXTERN_API(long)
- PurgeSpaceSysContiguous(void) ONEWORDINLINE(0xA562);
+EXTERN_API( long )
+PurgeSpaceSysContiguous(void) ONEWORDINLINE(0xA562);
- /*****************************************************************************
+/*****************************************************************************
- The routines:
+ The routines:
- BlockMoveUncached, BlockMoveDataUncached
- BlockZero, BlockZeroUncached
-
- were first created for developers writing drivers. Originally they only
- existed in DriverServicesLib. Later they were added to InterfaceLib
- in PCI based PowerMacs. MacOS 8.5 provides these routines in InterfaceLib
- on all supported machines.
-
- *****************************************************************************/
+ BlockMoveUncached, BlockMoveDataUncached
+ BlockZero, BlockZeroUncached
+
+ were first created for developers writing drivers. Originally they only
+ existed in DriverServicesLib. Later they were added to InterfaceLib
+ in PCI based PowerMacs. MacOS 8.5 provides these routines in InterfaceLib
+ on all supported machines.
+
+*****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * BlockMove()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * BlockMove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter BlockMove(__A0, __A1, __D0)
#endif
- EXTERN_API(void)
- BlockMove(
- const void * srcPtr,
- void * destPtr,
- Size byteCount) ONEWORDINLINE(0xA02E);
+EXTERN_API( void )
+BlockMove(
+ const void * srcPtr,
+ void * destPtr,
+ Size byteCount) ONEWORDINLINE(0xA02E);
- /*
- * BlockMoveData()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * BlockMoveData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter BlockMoveData(__A0, __A1, __D0)
#endif
- EXTERN_API(void)
- BlockMoveData(
- const void * srcPtr,
- void * destPtr,
- Size byteCount) ONEWORDINLINE(0xA22E);
-
-
- /*
- * BlockMoveUncached()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- BlockMoveUncached(
- const void * srcPtr,
- void * destPtr,
- Size byteCount);
-
-
- /*
- * BlockMoveDataUncached()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- BlockMoveDataUncached(
- const void * srcPtr,
- void * destPtr,
- Size byteCount);
-
-
- /*
- * BlockZero()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- BlockZero(
- void * destPtr,
- Size byteCount);
-
-
- /*
- * BlockZeroUncached()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- BlockZeroUncached(
- void * destPtr,
- Size byteCount);
+EXTERN_API( void )
+BlockMoveData(
+ const void * srcPtr,
+ void * destPtr,
+ Size byteCount) ONEWORDINLINE(0xA22E);
+
+
+/*
+ * BlockMoveUncached()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+BlockMoveUncached(
+ const void * srcPtr,
+ void * destPtr,
+ Size byteCount);
+
+
+/*
+ * BlockMoveDataUncached()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+BlockMoveDataUncached(
+ const void * srcPtr,
+ void * destPtr,
+ Size byteCount);
+
+
+/*
+ * BlockZero()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+BlockZero(
+ void * destPtr,
+ Size byteCount);
+
+
+/*
+ * BlockZeroUncached()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+BlockZeroUncached(
+ void * destPtr,
+ Size byteCount);
#if CALL_NOT_IN_CARBON
- /*
- * MaxApplZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- MaxApplZone(void) ONEWORDINLINE(0xA063);
-
-
- /*
- * SetApplBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * MaxApplZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+MaxApplZone(void) ONEWORDINLINE(0xA063);
+
+
+/*
+ * SetApplBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetApplBase(__A0)
#endif
- EXTERN_API(void)
- SetApplBase(void * startPtr) ONEWORDINLINE(0xA057);
+EXTERN_API( void )
+SetApplBase(void * startPtr) ONEWORDINLINE(0xA057);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * MoreMasters()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MoreMasters(void) ONEWORDINLINE(0xA036);
-
-
- /*
- * MoreMasterPointers()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- MoreMasterPointers(UInt32 inCount);
+/*
+ * MoreMasters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MoreMasters(void) ONEWORDINLINE(0xA036);
+
+
+/*
+ * MoreMasterPointers()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+MoreMasterPointers(UInt32 inCount);
#if CALL_NOT_IN_CARBON
- /*
- * SetApplLimit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * SetApplLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetApplLimit(__A0)
#endif
- EXTERN_API(void)
- SetApplLimit(void * zoneLimit) ONEWORDINLINE(0xA02D);
+EXTERN_API( void )
+SetApplLimit(void * zoneLimit) ONEWORDINLINE(0xA02D);
- /*
- * InitApplZone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitApplZone(void) ONEWORDINLINE(0xA02C);
+/*
+ * InitApplZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitApplZone(void) ONEWORDINLINE(0xA02C);
- /* Temporary Memory routines renamed, but obsolete, in System 7.0 and later. */
+/* Temporary Memory routines renamed, but obsolete, in System 7.0 and later. */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * TempHLock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TempHLock(
- Handle h,
- OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001E, 0xA88F);
-
-
- /*
- * TempHUnlock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TempHUnlock(
- Handle h,
- OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001F, 0xA88F);
-
-
- /*
- * TempDisposeHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TempDisposeHandle(
- Handle h,
- OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x0020, 0xA88F);
-
-
- /*
- * TempTopMem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr)
- TempTopMem(void) THREEWORDINLINE(0x3F3C, 0x0016, 0xA88F);
-
-
- /*
- * HoldMemory()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * TempHLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TempHLock(
+ Handle h,
+ OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001E, 0xA88F);
+
+
+/*
+ * TempHUnlock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TempHUnlock(
+ Handle h,
+ OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001F, 0xA88F);
+
+
+/*
+ * TempDisposeHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TempDisposeHandle(
+ Handle h,
+ OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x0020, 0xA88F);
+
+
+/*
+ * TempTopMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr )
+TempTopMem(void) THREEWORDINLINE(0x3F3C, 0x0016, 0xA88F);
+
+
+/*
+ * HoldMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 HoldMemory(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- HoldMemory(
- void * address,
- unsigned long count) TWOWORDINLINE(0x7000, 0xA05C);
+EXTERN_API( OSErr )
+HoldMemory(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7000, 0xA05C);
- /*
- * UnholdMemory()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * UnholdMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 UnholdMemory(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- UnholdMemory(
- void * address,
- unsigned long count) TWOWORDINLINE(0x7001, 0xA05C);
+EXTERN_API( OSErr )
+UnholdMemory(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7001, 0xA05C);
#if CALL_NOT_IN_CARBON
- /*
- * LockMemory()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * LockMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 LockMemory(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- LockMemory(
- void * address,
- unsigned long count) TWOWORDINLINE(0x7002, 0xA05C);
+EXTERN_API( OSErr )
+LockMemory(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7002, 0xA05C);
- /*
- * LockMemoryForOutput()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * LockMemoryForOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 LockMemoryForOutput(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- LockMemoryForOutput(
- void * address,
- unsigned long count) TWOWORDINLINE(0x700A, 0xA05C);
+EXTERN_API( OSErr )
+LockMemoryForOutput(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x700A, 0xA05C);
- /*
- * LockMemoryContiguous()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * LockMemoryContiguous()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 LockMemoryContiguous(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- LockMemoryContiguous(
- void * address,
- unsigned long count) TWOWORDINLINE(0x7004, 0xA05C);
+EXTERN_API( OSErr )
+LockMemoryContiguous(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7004, 0xA05C);
- /*
- * UnlockMemory()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * UnlockMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 UnlockMemory(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- UnlockMemory(
- void * address,
- unsigned long count) TWOWORDINLINE(0x7003, 0xA05C);
+EXTERN_API( OSErr )
+UnlockMemory(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7003, 0xA05C);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * MakeMemoryResident()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * MakeMemoryResident()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 MakeMemoryResident(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- MakeMemoryResident(
- void * address,
- unsigned long count) TWOWORDINLINE(0x700B, 0xA05C);
+EXTERN_API( OSErr )
+MakeMemoryResident(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x700B, 0xA05C);
- /*
- * ReleaseMemoryData()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * ReleaseMemoryData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 ReleaseMemoryData(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- ReleaseMemoryData(
- void * address,
- unsigned long count) TWOWORDINLINE(0x700C, 0xA05C);
+EXTERN_API( OSErr )
+ReleaseMemoryData(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x700C, 0xA05C);
- /*
- * MakeMemoryNonResident()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * MakeMemoryNonResident()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 MakeMemoryNonResident(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- MakeMemoryNonResident(
- void * address,
- unsigned long count) TWOWORDINLINE(0x700D, 0xA05C);
+EXTERN_API( OSErr )
+MakeMemoryNonResident(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x700D, 0xA05C);
- /*
- * FlushMemory()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * FlushMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 FlushMemory(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- FlushMemory(
- void * address,
- unsigned long count) TWOWORDINLINE(0x700E, 0xA05C);
+EXTERN_API( OSErr )
+FlushMemory(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x700E, 0xA05C);
#if CALL_NOT_IN_CARBON
- /*
- * GetPhysical()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetPhysical()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetPhysical(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- GetPhysical(
- LogicalToPhysicalTable * addresses,
- unsigned long * physicalEntryCount) SIXWORDINLINE(0x2209, 0x2251, 0x7005, 0xA15C, 0x2241, 0x2288);
+EXTERN_API( OSErr )
+GetPhysical(
+ LogicalToPhysicalTable * addresses,
+ unsigned long * physicalEntryCount) SIXWORDINLINE(0x2209, 0x2251, 0x7005, 0xA15C, 0x2241, 0x2288);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * GetVolumeVirtualMemoryInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetVolumeVirtualMemoryInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetVolumeVirtualMemoryInfo(__A0)
#endif
- EXTERN_API(OSErr)
- GetVolumeVirtualMemoryInfo(VolumeVirtualMemoryInfoPtr volVMInfo) TWOWORDINLINE(0x700F, 0xA05C);
+EXTERN_API( OSErr )
+GetVolumeVirtualMemoryInfo(VolumeVirtualMemoryInfoPtr volVMInfo) TWOWORDINLINE(0x700F, 0xA05C);
- /*
- * DeferUserFn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * DeferUserFn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DeferUserFn(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- DeferUserFn(
- UserFnUPP userFunction,
- void * argument) ONEWORDINLINE(0xA08F);
+EXTERN_API( OSErr )
+DeferUserFn(
+ UserFnUPP userFunction,
+ void * argument) ONEWORDINLINE(0xA08F);
- /*
- * DebuggerGetMax()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * DebuggerGetMax()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DebuggerGetMax
#endif
- EXTERN_API(long)
- DebuggerGetMax(void) TWOWORDINLINE(0x7000, 0xA08D);
-
-
- /*
- * DebuggerEnter()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- DebuggerEnter(void) TWOWORDINLINE(0x7001, 0xA08D);
-
-
- /*
- * DebuggerExit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- DebuggerExit(void) TWOWORDINLINE(0x7002, 0xA08D);
-
-
- /*
- * DebuggerPoll()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- DebuggerPoll(void) TWOWORDINLINE(0x7003, 0xA08D);
-
-
- /*
- * GetPageState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( long )
+DebuggerGetMax(void) TWOWORDINLINE(0x7000, 0xA08D);
+
+
+/*
+ * DebuggerEnter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+DebuggerEnter(void) TWOWORDINLINE(0x7001, 0xA08D);
+
+
+/*
+ * DebuggerExit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+DebuggerExit(void) TWOWORDINLINE(0x7002, 0xA08D);
+
+
+/*
+ * DebuggerPoll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+DebuggerPoll(void) TWOWORDINLINE(0x7003, 0xA08D);
+
+
+/*
+ * GetPageState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetPageState(__A0)
#endif
- EXTERN_API(PageState)
- GetPageState(const void * address) TWOWORDINLINE(0x7004, 0xA08D);
+EXTERN_API( PageState )
+GetPageState(const void * address) TWOWORDINLINE(0x7004, 0xA08D);
- /*
- * PageFaultFatal()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * PageFaultFatal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PageFaultFatal
#endif
- EXTERN_API(Boolean)
- PageFaultFatal(void) TWOWORDINLINE(0x7005, 0xA08D);
+EXTERN_API( Boolean )
+PageFaultFatal(void) TWOWORDINLINE(0x7005, 0xA08D);
- /*
- * DebuggerLockMemory()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * DebuggerLockMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DebuggerLockMemory(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- DebuggerLockMemory(
- void * address,
- unsigned long count) TWOWORDINLINE(0x7006, 0xA08D);
+EXTERN_API( OSErr )
+DebuggerLockMemory(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7006, 0xA08D);
- /*
- * DebuggerUnlockMemory()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * DebuggerUnlockMemory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DebuggerUnlockMemory(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- DebuggerUnlockMemory(
- void * address,
- unsigned long count) TWOWORDINLINE(0x7007, 0xA08D);
+EXTERN_API( OSErr )
+DebuggerUnlockMemory(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7007, 0xA08D);
- /*
- * EnterSupervisorMode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * EnterSupervisorMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 EnterSupervisorMode
#endif
- EXTERN_API(StatusRegisterContents)
- EnterSupervisorMode(void) TWOWORDINLINE(0x7008, 0xA08D);
+EXTERN_API( StatusRegisterContents )
+EnterSupervisorMode(void) TWOWORDINLINE(0x7008, 0xA08D);
- /*
- * StripAddress()
- *
- * Summary:
- * A trap on classic 68K, and the identity function for pre-carbon
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * StripAddress()
+ *
+ * Summary:
+ * A trap on classic 68K, and the identity function for pre-carbon
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 StripAddress(__D0)
#endif
- EXTERN_API(Ptr)
- StripAddress(void * theAddress) ONEWORDINLINE(0xA055);
+EXTERN_API( Ptr )
+StripAddress(void * theAddress) ONEWORDINLINE(0xA055);
#if !TARGET_OS_MAC || !TARGET_CPU_68K
-#ifdef __cplusplus
- inline DEFINE_API(Ptr) StripAddress(void *theAddress)
- {
- return (Ptr)theAddress;
- }
-#else
-#define StripAddress(theAddress) ((Ptr)theAddress)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Ptr ) StripAddress(void *theAddress) { return (Ptr)theAddress; }
+ #else
+ #define StripAddress(theAddress) ((Ptr)theAddress)
+ #endif
#endif
- /*
- * Translate24To32()
- *
- * Summary:
- * A trap on classic 68K, and the identity function for pre-carbon
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * Translate24To32()
+ *
+ * Summary:
+ * A trap on classic 68K, and the identity function for pre-carbon
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 Translate24To32(__D0)
#endif
- EXTERN_API(Ptr)
- Translate24To32(void * addr24) ONEWORDINLINE(0xA091);
+EXTERN_API( Ptr )
+Translate24To32(void * addr24) ONEWORDINLINE(0xA091);
#if !TARGET_OS_MAC || !TARGET_CPU_68K
-#ifdef __cplusplus
- inline DEFINE_API(Ptr) Translate24To32(void *addr24)
- {
- return (Ptr)addr24;
- }
-#else
-#define Translate24To32(addr24) ((Ptr)addr24)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Ptr ) Translate24To32(void *addr24) { return (Ptr)addr24; }
+ #else
+ #define Translate24To32(addr24) ((Ptr)addr24)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * HandToHand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- HandToHand(Handle * theHndl);
-
-
- /*
- * PtrToXHand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HandToHand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+HandToHand(Handle * theHndl);
+
+
+/*
+ * PtrToXHand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PtrToXHand(__A0, __A1, __D0)
#endif
- EXTERN_API(OSErr)
- PtrToXHand(
- const void * srcPtr,
- Handle dstHndl,
- long size) ONEWORDINLINE(0xA9E2);
-
-
- /*
- * PtrToHand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PtrToHand(
- const void * srcPtr,
- Handle * dstHndl,
- long size);
-
-
- /*
- * HandAndHand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+PtrToXHand(
+ const void * srcPtr,
+ Handle dstHndl,
+ long size) ONEWORDINLINE(0xA9E2);
+
+
+/*
+ * PtrToHand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PtrToHand(
+ const void * srcPtr,
+ Handle * dstHndl,
+ long size);
+
+
+/*
+ * HandAndHand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 HandAndHand(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- HandAndHand(
- Handle hand1,
- Handle hand2) ONEWORDINLINE(0xA9E4);
+EXTERN_API( OSErr )
+HandAndHand(
+ Handle hand1,
+ Handle hand2) ONEWORDINLINE(0xA9E4);
- /*
- * PtrAndHand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PtrAndHand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PtrAndHand(__A0, __A1, __D0)
#endif
- EXTERN_API(OSErr)
- PtrAndHand(
- const void * ptr1,
- Handle hand2,
- long size) ONEWORDINLINE(0xA9EF);
-
-
- /* Carbon routines to aid in debugging. */
- /* Checks all applicable heaps for validity */
- /*
- * CheckAllHeaps()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- CheckAllHeaps(void);
-
-
- /* Checks the application heap for validity */
- /*
- * IsHeapValid()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsHeapValid(void);
-
-
- /* It is invalid to pass a NULL or an empty Handle to IsHandleValid */
- /*
- * IsHandleValid()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsHandleValid(Handle h);
-
-
- /* It is invalid to pass a NULL Pointer to IsPointerValid */
- /*
- * IsPointerValid()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsPointerValid(Ptr p);
+EXTERN_API( OSErr )
+PtrAndHand(
+ const void * ptr1,
+ Handle hand2,
+ long size) ONEWORDINLINE(0xA9EF);
+
+
+/* Carbon routines to aid in debugging. */
+/* Checks all applicable heaps for validity */
+/*
+ * CheckAllHeaps()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+CheckAllHeaps(void);
+
+
+/* Checks the application heap for validity */
+/*
+ * IsHeapValid()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsHeapValid(void);
+
+
+/* It is invalid to pass a NULL or an empty Handle to IsHandleValid */
+/*
+ * IsHandleValid()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsHandleValid(Handle h);
+
+
+/* It is invalid to pass a NULL Pointer to IsPointerValid */
+/*
+ * IsPointerValid()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsPointerValid(Ptr p);
@@ -2220,11 +2177,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MacTextEditor.h b/include/qt/MacTextEditor.h
index ba9a6b1f1..963e407bd 100644
--- a/include/qt/MacTextEditor.h
+++ b/include/qt/MacTextEditor.h
@@ -1,17 +1,17 @@
/*
File: MacTextEditor.h
-
+
Contains: Interfaces for MLTE - TextEdit replacement
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTEXTEDITOR__
#define __MACTEXTEDITOR__
@@ -76,1021 +76,933 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct OpaqueTXNObject* TXNObject;
- typedef struct OpaqueTXNFontMenuObject* TXNFontMenuObject;
- typedef UInt32 TXNFrameID;
- typedef UInt32 TXNVersionValue;
- enum
- {
- kTXNWillDefaultToATSUIBit = 0,
- kTXNWillDefaultToCarbonEventBit = 1
- };
-
-
- typedef OptionBits TXNFeatureBits;
- enum
- {
- kTXNWillDefaultToATSUIMask = 1L << kTXNWillDefaultToATSUIBit,
- kTXNWillDefaultToCarbonEventMask = 1L << kTXNWillDefaultToCarbonEventBit
- };
-
- enum
- {
- kTXNWantMoviesBit = 0,
- kTXNWantSoundBit = 1,
- kTXNWantGraphicsBit = 2,
- kTXNAlwaysUseQuickDrawTextBit = 3,
- kTXNUseTemporaryMemoryBit = 4
- };
-
-
- typedef OptionBits TXNInitOptions;
- enum
- {
- kTXNWantMoviesMask = 1L << kTXNWantMoviesBit,
- kTXNWantSoundMask = 1L << kTXNWantSoundBit,
- kTXNWantGraphicsMask = 1L << kTXNWantGraphicsBit,
- kTXNAlwaysUseQuickDrawTextMask = 1L << kTXNAlwaysUseQuickDrawTextBit,
- kTXNUseTemporaryMemoryMask = 1L << kTXNUseTemporaryMemoryBit
- };
-
- enum
- {
- kTXNDrawGrowIconBit = 0,
- kTXNShowWindowBit = 1,
- kTXNWantHScrollBarBit = 2,
- kTXNWantVScrollBarBit = 3,
- kTXNNoTSMEverBit = 4,
- kTXNReadOnlyBit = 5,
- kTXNNoKeyboardSyncBit = 6,
- kTXNNoSelectionBit = 7,
- kTXNSaveStylesAsSTYLResourceBit = 8,
- kOutputTextInUnicodeEncodingBit = 9,
- kTXNDoNotInstallDragProcsBit = 10,
- kTXNAlwaysWrapAtViewEdgeBit = 11,
- kTXNDontDrawCaretWhenInactiveBit = 12,
- kTXNDontDrawSelectionWhenInactiveBit = 13,
- kTXNSingleLineOnlyBit = 14,
- kTXNDisableDragAndDropBit = 15,
- kTXNUseQDforImagingBit = 16,
- kTXNMonostyledTextBit = 17
- };
-
-
-
- /*
- * TXNFrameOptions
- *
- * Summary:
- * Defines the initial behavior of an MLTE object created with
- * TXNNewObject.
- *
- * Discussion:
- * These masks can be combined and passed to TXNNewObject to define
- * the initial behavior of a new object.
- */
- typedef OptionBits TXNFrameOptions;
- enum
- {
-
- /*
- * Indicates that the frame will have a size box.
- */
- kTXNDrawGrowIconMask = 1L << kTXNDrawGrowIconBit,
-
- /*
- * Indicates that the window associated with the text object will be
- * displayed when the object is created. The application no longer
- * needs to call the ShowWindow function from the Window Manager;
- * MLTE will do this for you.
- */
- kTXNShowWindowMask = 1L << kTXNShowWindowBit,
-
- /*
- * Indicates that the frame will have a horizontal scrollbar.
- */
- kTXNWantHScrollBarMask = 1L << kTXNWantHScrollBarBit,
-
- /*
- * Indicates that the frame will have a vertical scrollbar.
- */
- kTXNWantVScrollBarMask = 1L << kTXNWantVScrollBarBit,
-
- /*
- * Indicates that the Text Services Manager will not be used. You
- * cannot use this mask when your application accepts Unicode input.
- */
- kTXNNoTSMEverMask = 1L << kTXNNoTSMEverBit,
-
- /*
- * Indicates that the text object will be read-only.
- */
- kTXNReadOnlyMask = 1L << kTXNReadOnlyBit,
-
- /*
- * Indicates that keyboard synchronization will not occur.
- */
- kTXNNoKeyboardSyncMask = 1L << kTXNNoKeyboardSyncBit,
-
- /*
- * Indicates that the user shouldn't be able to set the insertion
- * point or make a selection.
- */
- kTXNNoSelectionMask = 1L << kTXNNoSelectionBit,
-
- /*
- * Indicates that the text style will be saved as a
- * kTXNMultipleStylesPerTextDocumentResType resource. You can set
- * this to assure compatibility with SimpleText. If you use
- * kTXNMultipleStylesPerTextDocumentResType resources to save style
- * info, your documents can have as many styles as you'd like.
- * However tabs are not saved. If you don't use this mask, plain
- * text files are saved as kTXNSingleStylePerTextDocumentResType
- * resources, and only the first style in the document is saved.
- * (Your application is expected to apply all style changes to the
- * entire document.) If you save files with a
- * kTXNSingleStylePerTextDocumentResType resource, their output is
- * similar to those output by CodeWarrior, BBEdit, and MPW.
- */
- kTXNSaveStylesAsSTYLResourceMask = 1L << kTXNSaveStylesAsSTYLResourceBit,
-
- /*
- * Indicates that plain text will be saved as Unicode.
- */
- kOutputTextInUnicodeEncodingMask = 1L << kOutputTextInUnicodeEncodingBit,
-
- /*
- * Indicates that MLTE will not install its own drag handler for the
- * text object. This can be used if the client wants to install
- * their own handler.
- */
- kTXNDoNotInstallDragProcsMask = 1L << kTXNDoNotInstallDragProcsBit,
-
- /*
- * Indicates that lines will wrap at the edge of the view rectangle.
- */
- kTXNAlwaysWrapAtViewEdgeMask = 1L << kTXNAlwaysWrapAtViewEdgeBit,
-
- /*
- * Indicates that the caret shouldn't be drawn when the text object
- * doesn't have focus.
- */
- kTXNDontDrawCaretWhenInactiveMask = 1L << kTXNDontDrawCaretWhenInactiveBit,
-
- /*
- * Indicates that the selection (if one) shouldn't be drawn when the
- * text object doesn't have focus.
- */
- kTXNDontDrawSelectionWhenInactiveMask = 1L << kTXNDontDrawSelectionWhenInactiveBit,
-
- /*
- * Indicates that the text object will not scroll vertically,
- * horizontal scrolling will stop when the end of the text is visible
- * (plus any right margin), and there will be no limit to the width
- * of the text.
- */
- kTXNSingleLineOnlyMask = 1L << kTXNSingleLineOnlyBit,
-
- /*
- * Indicates that drag and drop will not be allowed in the text
- * object.
- */
- kTXNDisableDragAndDropMask = 1L << kTXNDisableDragAndDropBit,
-
- /*
- * Indicates that QuickDraw will be used for imaging instead of the
- * default CoreGraphics (Quartz). [X-only]
- */
- kTXNUseQDforImagingMask = 1L << kTXNUseQDforImagingBit,
-
- /*
- * Indicates that the text object will keep in single style no matter
- * what kind of changes made to the object.
- */
- kTXNMonostyledTextMask = 1L << kTXNMonostyledTextBit
- };
-
- enum
- {
- kTXNSetFlushnessBit = 0,
- kTXNSetJustificationBit = 1,
- kTXNUseFontFallBackBit = 2,
- kTXNRotateTextBit = 3,
- kTXNUseVerticalTextBit = 4,
- kTXNDontUpdateBoxRectBit = 5,
- kTXNDontDrawTextBit = 6,
- kTXNUseCGContextRefBit = 7,
- kTXNImageWithQDBit = 8,
- kTXNDontWrapTextBit = 9
- };
-
-
- /*
- * TXNTextBoxOptions
- *
- * Summary:
- * Defines how text will be drawn by one of the TXNxxxDrawTextBox
- * API.
- *
- * Discussion:
- * These masks can be combined and added to a TXNTextBoxOptionsData
- * structure to be passed to a TXNxxxDrawTextBox API.
- */
- typedef OptionBits TXNTextBoxOptions;
- enum
- {
-
- /*
- * Indicates that the text will be flush according to the line
- * direction.
- */
- kTXNSetFlushnessMask = 1L << kTXNSetFlushnessBit,
-
- /*
- * Indicates that the text will be justified in the direction that
- * the text is displayed. Horizontal text will be justified
- * horizontally, but not vertically. Vertical text will be justified
- * vertically, but not horizontally.
- */
- kTXNSetJustificationMask = 1L << kTXNSetJustificationBit,
-
- /*
- * Indicates that ATSUI transient font matching (that searches for a
- * font that has a matching character) will be used.
- */
- kTXNUseFontFallBackMask = 1L << kTXNUseFontFallBackBit,
-
- /*
- * Indicates that the text will be rotated. The amount of rotation
- * is given in the rotation field of the TXNTextBoxOptionsData
- * structure and is in units of degrees (negative values indicate
- * clockwise rotation).
- */
- kTXNRotateTextMask = 1L << kTXNRotateTextBit,
-
- /*
- * Indicates that the text will be displayed vertically from top to
- * bottom.
- */
- kTXNUseVerticalTextMask = 1L << kTXNUseVerticalTextBit,
-
- /*
- * Indicates that the specified rectangle will not be updated. If
- * you use this mask when you call a TXNDrawxxxTextBox function, the
- * funtion does not update the right coordinate (bottom coordinate if
- * kTXNUseVerticalTextMask is used) of the specified rectangle to
- * accommodate the longest line for text.
- */
- kTXNDontUpdateBoxRectMask = 1L << kTXNDontUpdateBoxRectBit,
-
- /*
- * Indicates that the size of the text will be returned but the text
- * box will not be drawn.
- */
- kTXNDontDrawTextMask = 1L << kTXNDontDrawTextBit,
-
- /*
- * Indicates that the client has provided a CGContext to be used for
- * CG imaging inside the text box. [X-only]
- */
- kTXNUseCGContextRefMask = 1L << kTXNUseCGContextRefBit,
-
- /*
- * Indicates that imaging will be done using QuickDraw instead of the
- * default CoreGraphics. [X-only]
- */
- kTXNImageWithQDMask = 1L << kTXNImageWithQDBit,
-
- /*
- * Indicates that text should not be wrapped. [X-only]
- */
- kTXNDontWrapTextMask = 1L << kTXNDontWrapTextBit
- };
-
- struct TXNTextBoxOptionsData
- {
- TXNTextBoxOptions optionTags;
- Fract flushness;
- Fract justification;
- Fixed rotation;
- void * options; /* for future use*/
- };
- typedef struct TXNTextBoxOptionsData TXNTextBoxOptionsData;
- enum
- {
- kTXNFontContinuousBit = 0,
- kTXNSizeContinuousBit = 1,
- kTXNStyleContinuousBit = 2,
- kTXNColorContinuousBit = 3
- };
-
- typedef OptionBits TXNContinuousFlags;
- enum
- {
- kTXNFontContinuousMask = 1L << kTXNFontContinuousBit,
- kTXNSizeContinuousMask = 1L << kTXNSizeContinuousBit,
- kTXNStyleContinuousMask = 1L << kTXNStyleContinuousBit,
- kTXNColorContinuousMask = 1L << kTXNColorContinuousBit
- };
-
- enum
- {
- kTXNIgnoreCaseBit = 0,
- kTXNEntireWordBit = 1,
- kTXNUseEncodingWordRulesBit = 31
- };
-
- typedef OptionBits TXNMatchOptions;
- enum
- {
- kTXNIgnoreCaseMask = 1L << kTXNIgnoreCaseBit,
- kTXNEntireWordMask = 1L << kTXNEntireWordBit,
- kTXNUseEncodingWordRulesMask = (unsigned long)(1L << kTXNUseEncodingWordRulesBit)
- };
-
-
- typedef OSType TXNFileType;
- enum
- {
- kTXNTextensionFile = FOUR_CHAR_CODE('txtn'),
- kTXNTextFile = FOUR_CHAR_CODE('TEXT'),
- kTXNPictureFile = FOUR_CHAR_CODE('PICT'),
- kTXNMovieFile = FOUR_CHAR_CODE('MooV'),
- kTXNSoundFile = FOUR_CHAR_CODE('sfil'),
- kTXNAIFFFile = FOUR_CHAR_CODE('AIFF'),
- kTXNUnicodeTextFile = FOUR_CHAR_CODE('utxt')
- };
-
- /* Only kTXNTextEditStyleFrameType is supported at this time */
- typedef UInt32 TXNFrameType;
- enum
- {
- kTXNTextEditStyleFrameType = 1,
- kTXNPageFrameType = 2, /* not supported*/
- kTXNMultipleFrameType = 3 /* not supported*/
- };
-
-
- typedef OSType TXNDataType;
- enum
- {
- kTXNTextData = FOUR_CHAR_CODE('TEXT'),
- kTXNPictureData = FOUR_CHAR_CODE('PICT'),
- kTXNMovieData = FOUR_CHAR_CODE('moov'),
- kTXNSoundData = FOUR_CHAR_CODE('snd '),
- kTXNUnicodeTextData = FOUR_CHAR_CODE('utxt')
- };
-
-
- typedef FourCharCode TXNControlTag;
- enum
- {
- kTXNLineDirectionTag = FOUR_CHAR_CODE('lndr'),
- kTXNJustificationTag = FOUR_CHAR_CODE('just'),
- kTXNIOPrivilegesTag = FOUR_CHAR_CODE('iopv'),
- kTXNSelectionStateTag = FOUR_CHAR_CODE('slst'),
- kTXNInlineStateTag = FOUR_CHAR_CODE('inst'),
- kTXNWordWrapStateTag = FOUR_CHAR_CODE('wwrs'),
- kTXNKeyboardSyncStateTag = FOUR_CHAR_CODE('kbsy'),
- kTXNAutoIndentStateTag = FOUR_CHAR_CODE('auin'),
- kTXNTabSettingsTag = FOUR_CHAR_CODE('tabs'),
- kTXNRefConTag = FOUR_CHAR_CODE('rfcn'),
- kTXNMarginsTag = FOUR_CHAR_CODE('marg'),
- kTXNFlattenMoviesTag = FOUR_CHAR_CODE('flat'),
- kTXNDoFontSubstitution = FOUR_CHAR_CODE('fSub'), /*note : this could degrade performance greatly in the case of large documents.*/
- kTXNNoUserIOTag = FOUR_CHAR_CODE('nuio'),
- kTXNUseCarbonEvents = FOUR_CHAR_CODE('cbcb'),
- kTXNDrawCaretWhenInactiveTag = FOUR_CHAR_CODE('dcrt'),
- kTXNDrawSelectionWhenInactiveTag = FOUR_CHAR_CODE('dsln'),
- kTXNDisableDragAndDropTag = FOUR_CHAR_CODE('drag'),
- kTXNSingleLevelUndoTag = FOUR_CHAR_CODE('undo'),
- kTXNVisibilityTag = FOUR_CHAR_CODE('visb') /*set the visibility state of the object*/
- };
-
- typedef UInt32 TXNActionKey;
- enum
- {
- kTXNTypingAction = 0,
- kTXNCutAction = 1,
- kTXNPasteAction = 2,
- kTXNClearAction = 3,
- kTXNChangeFontAction = 4,
- kTXNChangeFontColorAction = 5,
- kTXNChangeFontSizeAction = 6,
- kTXNChangeStyleAction = 7,
- kTXNAlignLeftAction = 8,
- kTXNAlignCenterAction = 9,
- kTXNAlignRightAction = 10,
- kTXNDropAction = 11,
- kTXNMoveAction = 12,
- kTXNFontFeatureAction = 13,
- kTXNFontVariationAction = 14,
- kTXNUndoLastAction = 1024 /*use if none of the above apply*/
- };
-
- enum
- {
- kTXNClearThisControl = (long)0xFFFFFFFF,
- kTXNClearTheseFontFeatures = (long)0x80000000
- };
-
- /*
- convenience constants for TXNGet/SetTXNControls
- kTXNIOPrivilegesTag
- */
- enum
- {
- kTXNReadWrite = false,
- kTXNReadOnly = true
- };
-
- /* kTXNSelectionStateTag*/
- enum
- {
- kTXNSelectionOn = true,
- kTXNSelectionOff = false
- };
-
- /* kTXNInlineStateTag*/
- enum
- {
- kTXNUseInline = false,
- kTXNUseBottomline = true
- };
-
-
- /* kTXNWordWrapStateTag*/
- enum
- {
- kTXNAutoWrap = false,
- kTXNNoAutoWrap = true
- };
-
- /* kTXNKeyboardSyncStateTag*/
- enum
- {
- kTXNSyncKeyboard = false,
- kTXNNoSyncKeyboard = true
- };
-
- /* kTXNAutoIndentStateTag*/
- enum
- {
- kTXNAutoIndentOff = false,
- kTXNAutoIndentOn = true
- };
-
- /* kTXNDrawCaretWhenInactiveTag*/
- enum
- {
- kTXNDontDrawCaretWhenInactive = false,
- kTXNDrawCaretWhenInactive = true
- };
-
- /* kTXNDrawSelectionWhenInactiveTag*/
- enum
- {
- kTXNDontDrawSelectionWhenInactive = false,
- kTXNDrawSelectionWhenInactive = true
- };
-
- /* kTXNDisableDragAndDropTag*/
- enum
- {
- kTXNEnableDragAndDrop = false,
- kTXNDisableDragAndDrop = true
- };
-
- typedef SInt8 TXNTabType;
- enum
- {
- kTXNRightTab = -1,
- kTXNLeftTab = 0,
- kTXNCenterTab = 1
- };
-
- struct TXNTab
- {
- SInt16 value;
- TXNTabType tabType;
- UInt8 filler;
- };
- typedef struct TXNTab TXNTab;
- enum
- {
- kTXNLeftToRight = 0,
- kTXNRightToLeft = 1
- };
-
- enum
- {
- kTXNFlushDefault = 0, /*flush according to the line direction */
- kTXNFlushLeft = 1,
- kTXNFlushRight = 2,
- kTXNCenter = 4,
- kTXNFullJust = 8,
- kTXNForceFullJust = 16 /*flush left for all scripts */
- };
-
- /*
- In version 1.2 of MLTE and later you can change the top, left and right margins.
- The bottom margin is a placeholder for possible future enhancements.
- */
- struct TXNMargins
- {
- SInt16 topMargin;
- SInt16 leftMargin;
- SInt16 bottomMargin;
- SInt16 rightMargin;
- };
- typedef struct TXNMargins TXNMargins;
- union TXNControlData
- {
- UInt32 uValue;
- SInt32 sValue;
- TXNTab tabValue;
- TXNMargins * marginsPtr;
- };
- typedef union TXNControlData TXNControlData;
- typedef Boolean TXNScrollBarState;
- enum
- {
- kScrollBarsAlwaysActive = true,
- kScrollBarsSyncWithFocus = false
- };
-
- /*
- kTXNNoFontVariations is returned in the dataValue field when the caller as asked
- to see if the variation is continuous and there was no variation in the continuous range
- */
- enum
- {
- kTXNDontCareTypeSize = (long)0xFFFFFFFF,
- kTXNDontCareTypeStyle = 0xFF,
- kTXNIncrementTypeSize = 0x00000001,
- kTXNDecrementTypeSize = (long)0x80000000,
- kTXNUseScriptDefaultValue = -1,
- kTXNNoFontVariations = 0x7FFF
- };
-
- typedef UInt32 TXNOffset;
- enum
- {
- kTXNUseCurrentSelection = (unsigned long)0xFFFFFFFF,
- kTXNStartOffset = 0,
- kTXNEndOffset = 0x7FFFFFFF
- };
-
-
- enum
- {
- kTXNSingleStylePerTextDocumentResType = FOUR_CHAR_CODE('MPSR'),
- kTXNMultipleStylesPerTextDocumentResType = FOUR_CHAR_CODE('styl')
- };
-
-
- typedef void * TXNObjectRefcon;
- /*constants for TXNShowSelection*/
- enum
- {
- kTXNShowStart = false,
- kTXNShowEnd = true
- };
-
- typedef OSStatus TXNErrors;
- /*default constants for TXTNInit. */
+typedef struct OpaqueTXNObject* TXNObject;
+typedef struct OpaqueTXNFontMenuObject* TXNFontMenuObject;
+typedef UInt32 TXNFrameID;
+typedef UInt32 TXNVersionValue;
+enum {
+ kTXNWillDefaultToATSUIBit = 0,
+ kTXNWillDefaultToCarbonEventBit = 1
+};
+
+
+typedef OptionBits TXNFeatureBits;
+enum {
+ kTXNWillDefaultToATSUIMask = 1L << kTXNWillDefaultToATSUIBit,
+ kTXNWillDefaultToCarbonEventMask = 1L << kTXNWillDefaultToCarbonEventBit
+};
+
+enum {
+ kTXNWantMoviesBit = 0,
+ kTXNWantSoundBit = 1,
+ kTXNWantGraphicsBit = 2,
+ kTXNAlwaysUseQuickDrawTextBit = 3,
+ kTXNUseTemporaryMemoryBit = 4
+};
+
+
+typedef OptionBits TXNInitOptions;
+enum {
+ kTXNWantMoviesMask = 1L << kTXNWantMoviesBit,
+ kTXNWantSoundMask = 1L << kTXNWantSoundBit,
+ kTXNWantGraphicsMask = 1L << kTXNWantGraphicsBit,
+ kTXNAlwaysUseQuickDrawTextMask = 1L << kTXNAlwaysUseQuickDrawTextBit,
+ kTXNUseTemporaryMemoryMask = 1L << kTXNUseTemporaryMemoryBit
+};
+
+enum {
+ kTXNDrawGrowIconBit = 0,
+ kTXNShowWindowBit = 1,
+ kTXNWantHScrollBarBit = 2,
+ kTXNWantVScrollBarBit = 3,
+ kTXNNoTSMEverBit = 4,
+ kTXNReadOnlyBit = 5,
+ kTXNNoKeyboardSyncBit = 6,
+ kTXNNoSelectionBit = 7,
+ kTXNSaveStylesAsSTYLResourceBit = 8,
+ kOutputTextInUnicodeEncodingBit = 9,
+ kTXNDoNotInstallDragProcsBit = 10,
+ kTXNAlwaysWrapAtViewEdgeBit = 11,
+ kTXNDontDrawCaretWhenInactiveBit = 12,
+ kTXNDontDrawSelectionWhenInactiveBit = 13,
+ kTXNSingleLineOnlyBit = 14,
+ kTXNDisableDragAndDropBit = 15,
+ kTXNUseQDforImagingBit = 16,
+ kTXNMonostyledTextBit = 17
+};
+
+
+
+/*
+ * TXNFrameOptions
+ *
+ * Summary:
+ * Defines the initial behavior of an MLTE object created with
+ * TXNNewObject.
+ *
+ * Discussion:
+ * These masks can be combined and passed to TXNNewObject to define
+ * the initial behavior of a new object.
+ */
+typedef OptionBits TXNFrameOptions;
+enum {
+
+ /*
+ * Indicates that the frame will have a size box.
+ */
+ kTXNDrawGrowIconMask = 1L << kTXNDrawGrowIconBit,
+
+ /*
+ * Indicates that the window associated with the text object will be
+ * displayed when the object is created. The application no longer
+ * needs to call the ShowWindow function from the Window Manager;
+ * MLTE will do this for you.
+ */
+ kTXNShowWindowMask = 1L << kTXNShowWindowBit,
+
+ /*
+ * Indicates that the frame will have a horizontal scrollbar.
+ */
+ kTXNWantHScrollBarMask = 1L << kTXNWantHScrollBarBit,
+
+ /*
+ * Indicates that the frame will have a vertical scrollbar.
+ */
+ kTXNWantVScrollBarMask = 1L << kTXNWantVScrollBarBit,
+
+ /*
+ * Indicates that the Text Services Manager will not be used. You
+ * cannot use this mask when your application accepts Unicode input.
+ */
+ kTXNNoTSMEverMask = 1L << kTXNNoTSMEverBit,
+
+ /*
+ * Indicates that the text object will be read-only.
+ */
+ kTXNReadOnlyMask = 1L << kTXNReadOnlyBit,
+
+ /*
+ * Indicates that keyboard synchronization will not occur.
+ */
+ kTXNNoKeyboardSyncMask = 1L << kTXNNoKeyboardSyncBit,
+
+ /*
+ * Indicates that the user shouldn't be able to set the insertion
+ * point or make a selection.
+ */
+ kTXNNoSelectionMask = 1L << kTXNNoSelectionBit,
+
+ /*
+ * Indicates that the text style will be saved as a
+ * kTXNMultipleStylesPerTextDocumentResType resource. You can set
+ * this to assure compatibility with SimpleText. If you use
+ * kTXNMultipleStylesPerTextDocumentResType resources to save style
+ * info, your documents can have as many styles as you'd like.
+ * However tabs are not saved. If you don't use this mask, plain
+ * text files are saved as kTXNSingleStylePerTextDocumentResType
+ * resources, and only the first style in the document is saved.
+ * (Your application is expected to apply all style changes to the
+ * entire document.) If you save files with a
+ * kTXNSingleStylePerTextDocumentResType resource, their output is
+ * similar to those output by CodeWarrior, BBEdit, and MPW.
+ */
+ kTXNSaveStylesAsSTYLResourceMask = 1L << kTXNSaveStylesAsSTYLResourceBit,
+
+ /*
+ * Indicates that plain text will be saved as Unicode.
+ */
+ kOutputTextInUnicodeEncodingMask = 1L << kOutputTextInUnicodeEncodingBit,
+
+ /*
+ * Indicates that MLTE will not install its own drag handler for the
+ * text object. This can be used if the client wants to install
+ * their own handler.
+ */
+ kTXNDoNotInstallDragProcsMask = 1L << kTXNDoNotInstallDragProcsBit,
+
+ /*
+ * Indicates that lines will wrap at the edge of the view rectangle.
+ */
+ kTXNAlwaysWrapAtViewEdgeMask = 1L << kTXNAlwaysWrapAtViewEdgeBit,
+
+ /*
+ * Indicates that the caret shouldn't be drawn when the text object
+ * doesn't have focus.
+ */
+ kTXNDontDrawCaretWhenInactiveMask = 1L << kTXNDontDrawCaretWhenInactiveBit,
+
+ /*
+ * Indicates that the selection (if one) shouldn't be drawn when the
+ * text object doesn't have focus.
+ */
+ kTXNDontDrawSelectionWhenInactiveMask = 1L << kTXNDontDrawSelectionWhenInactiveBit,
+
+ /*
+ * Indicates that the text object will not scroll vertically,
+ * horizontal scrolling will stop when the end of the text is visible
+ * (plus any right margin), and there will be no limit to the width
+ * of the text.
+ */
+ kTXNSingleLineOnlyMask = 1L << kTXNSingleLineOnlyBit,
+
+ /*
+ * Indicates that drag and drop will not be allowed in the text
+ * object.
+ */
+ kTXNDisableDragAndDropMask = 1L << kTXNDisableDragAndDropBit,
+
+ /*
+ * Indicates that QuickDraw will be used for imaging instead of the
+ * default CoreGraphics (Quartz). [X-only]
+ */
+ kTXNUseQDforImagingMask = 1L << kTXNUseQDforImagingBit,
+
+ /*
+ * Indicates that the text object will keep in single style no matter
+ * what kind of changes made to the object.
+ */
+ kTXNMonostyledTextMask = 1L << kTXNMonostyledTextBit
+};
+
+enum {
+ kTXNSetFlushnessBit = 0,
+ kTXNSetJustificationBit = 1,
+ kTXNUseFontFallBackBit = 2,
+ kTXNRotateTextBit = 3,
+ kTXNUseVerticalTextBit = 4,
+ kTXNDontUpdateBoxRectBit = 5,
+ kTXNDontDrawTextBit = 6,
+ kTXNUseCGContextRefBit = 7,
+ kTXNImageWithQDBit = 8,
+ kTXNDontWrapTextBit = 9
+};
+
+
+/*
+ * TXNTextBoxOptions
+ *
+ * Summary:
+ * Defines how text will be drawn by one of the TXNxxxDrawTextBox
+ * API.
+ *
+ * Discussion:
+ * These masks can be combined and added to a TXNTextBoxOptionsData
+ * structure to be passed to a TXNxxxDrawTextBox API.
+ */
+typedef OptionBits TXNTextBoxOptions;
+enum {
+
+ /*
+ * Indicates that the text will be flush according to the line
+ * direction.
+ */
+ kTXNSetFlushnessMask = 1L << kTXNSetFlushnessBit,
+
+ /*
+ * Indicates that the text will be justified in the direction that
+ * the text is displayed. Horizontal text will be justified
+ * horizontally, but not vertically. Vertical text will be justified
+ * vertically, but not horizontally.
+ */
+ kTXNSetJustificationMask = 1L << kTXNSetJustificationBit,
+
+ /*
+ * Indicates that ATSUI transient font matching (that searches for a
+ * font that has a matching character) will be used.
+ */
+ kTXNUseFontFallBackMask = 1L << kTXNUseFontFallBackBit,
+
+ /*
+ * Indicates that the text will be rotated. The amount of rotation
+ * is given in the rotation field of the TXNTextBoxOptionsData
+ * structure and is in units of degrees (negative values indicate
+ * clockwise rotation).
+ */
+ kTXNRotateTextMask = 1L << kTXNRotateTextBit,
+
+ /*
+ * Indicates that the text will be displayed vertically from top to
+ * bottom.
+ */
+ kTXNUseVerticalTextMask = 1L << kTXNUseVerticalTextBit,
+
+ /*
+ * Indicates that the specified rectangle will not be updated. If
+ * you use this mask when you call a TXNDrawxxxTextBox function, the
+ * funtion does not update the right coordinate (bottom coordinate if
+ * kTXNUseVerticalTextMask is used) of the specified rectangle to
+ * accommodate the longest line for text.
+ */
+ kTXNDontUpdateBoxRectMask = 1L << kTXNDontUpdateBoxRectBit,
+
+ /*
+ * Indicates that the size of the text will be returned but the text
+ * box will not be drawn.
+ */
+ kTXNDontDrawTextMask = 1L << kTXNDontDrawTextBit,
+
+ /*
+ * Indicates that the client has provided a CGContext to be used for
+ * CG imaging inside the text box. [X-only]
+ */
+ kTXNUseCGContextRefMask = 1L << kTXNUseCGContextRefBit,
+
+ /*
+ * Indicates that imaging will be done using QuickDraw instead of the
+ * default CoreGraphics. [X-only]
+ */
+ kTXNImageWithQDMask = 1L << kTXNImageWithQDBit,
+
+ /*
+ * Indicates that text should not be wrapped. [X-only]
+ */
+ kTXNDontWrapTextMask = 1L << kTXNDontWrapTextBit
+};
+
+struct TXNTextBoxOptionsData {
+ TXNTextBoxOptions optionTags;
+ Fract flushness;
+ Fract justification;
+ Fixed rotation;
+ void * options; /* for future use*/
+};
+typedef struct TXNTextBoxOptionsData TXNTextBoxOptionsData;
+enum {
+ kTXNFontContinuousBit = 0,
+ kTXNSizeContinuousBit = 1,
+ kTXNStyleContinuousBit = 2,
+ kTXNColorContinuousBit = 3
+};
+
+typedef OptionBits TXNContinuousFlags;
+enum {
+ kTXNFontContinuousMask = 1L << kTXNFontContinuousBit,
+ kTXNSizeContinuousMask = 1L << kTXNSizeContinuousBit,
+ kTXNStyleContinuousMask = 1L << kTXNStyleContinuousBit,
+ kTXNColorContinuousMask = 1L << kTXNColorContinuousBit
+};
+
+enum {
+ kTXNIgnoreCaseBit = 0,
+ kTXNEntireWordBit = 1,
+ kTXNUseEncodingWordRulesBit = 31
+};
+
+typedef OptionBits TXNMatchOptions;
+enum {
+ kTXNIgnoreCaseMask = 1L << kTXNIgnoreCaseBit,
+ kTXNEntireWordMask = 1L << kTXNEntireWordBit,
+ kTXNUseEncodingWordRulesMask = (unsigned long)(1L << kTXNUseEncodingWordRulesBit)
+};
+
+
+typedef OSType TXNFileType;
+enum {
+ kTXNTextensionFile = FOUR_CHAR_CODE('txtn'),
+ kTXNTextFile = FOUR_CHAR_CODE('TEXT'),
+ kTXNPictureFile = FOUR_CHAR_CODE('PICT'),
+ kTXNMovieFile = FOUR_CHAR_CODE('MooV'),
+ kTXNSoundFile = FOUR_CHAR_CODE('sfil'),
+ kTXNAIFFFile = FOUR_CHAR_CODE('AIFF'),
+ kTXNUnicodeTextFile = FOUR_CHAR_CODE('utxt')
+};
+
+/* Only kTXNTextEditStyleFrameType is supported at this time */
+typedef UInt32 TXNFrameType;
+enum {
+ kTXNTextEditStyleFrameType = 1,
+ kTXNPageFrameType = 2, /* not supported*/
+ kTXNMultipleFrameType = 3 /* not supported*/
+};
+
+
+typedef OSType TXNDataType;
+enum {
+ kTXNTextData = FOUR_CHAR_CODE('TEXT'),
+ kTXNPictureData = FOUR_CHAR_CODE('PICT'),
+ kTXNMovieData = FOUR_CHAR_CODE('moov'),
+ kTXNSoundData = FOUR_CHAR_CODE('snd '),
+ kTXNUnicodeTextData = FOUR_CHAR_CODE('utxt')
+};
+
+
+typedef FourCharCode TXNControlTag;
+enum {
+ kTXNLineDirectionTag = FOUR_CHAR_CODE('lndr'),
+ kTXNJustificationTag = FOUR_CHAR_CODE('just'),
+ kTXNIOPrivilegesTag = FOUR_CHAR_CODE('iopv'),
+ kTXNSelectionStateTag = FOUR_CHAR_CODE('slst'),
+ kTXNInlineStateTag = FOUR_CHAR_CODE('inst'),
+ kTXNWordWrapStateTag = FOUR_CHAR_CODE('wwrs'),
+ kTXNKeyboardSyncStateTag = FOUR_CHAR_CODE('kbsy'),
+ kTXNAutoIndentStateTag = FOUR_CHAR_CODE('auin'),
+ kTXNTabSettingsTag = FOUR_CHAR_CODE('tabs'),
+ kTXNRefConTag = FOUR_CHAR_CODE('rfcn'),
+ kTXNMarginsTag = FOUR_CHAR_CODE('marg'),
+ kTXNFlattenMoviesTag = FOUR_CHAR_CODE('flat'),
+ kTXNDoFontSubstitution = FOUR_CHAR_CODE('fSub'), /*note : this could degrade performance greatly in the case of large documents.*/
+ kTXNNoUserIOTag = FOUR_CHAR_CODE('nuio'),
+ kTXNUseCarbonEvents = FOUR_CHAR_CODE('cbcb'),
+ kTXNDrawCaretWhenInactiveTag = FOUR_CHAR_CODE('dcrt'),
+ kTXNDrawSelectionWhenInactiveTag = FOUR_CHAR_CODE('dsln'),
+ kTXNDisableDragAndDropTag = FOUR_CHAR_CODE('drag'),
+ kTXNSingleLevelUndoTag = FOUR_CHAR_CODE('undo'),
+ kTXNVisibilityTag = FOUR_CHAR_CODE('visb') /*set the visibility state of the object*/
+};
+
+typedef UInt32 TXNActionKey;
+enum {
+ kTXNTypingAction = 0,
+ kTXNCutAction = 1,
+ kTXNPasteAction = 2,
+ kTXNClearAction = 3,
+ kTXNChangeFontAction = 4,
+ kTXNChangeFontColorAction = 5,
+ kTXNChangeFontSizeAction = 6,
+ kTXNChangeStyleAction = 7,
+ kTXNAlignLeftAction = 8,
+ kTXNAlignCenterAction = 9,
+ kTXNAlignRightAction = 10,
+ kTXNDropAction = 11,
+ kTXNMoveAction = 12,
+ kTXNFontFeatureAction = 13,
+ kTXNFontVariationAction = 14,
+ kTXNUndoLastAction = 1024 /*use if none of the above apply*/
+};
+
+enum {
+ kTXNClearThisControl = (long)0xFFFFFFFF,
+ kTXNClearTheseFontFeatures = (long)0x80000000
+};
+
+/*
+ convenience constants for TXNGet/SetTXNControls
+ kTXNIOPrivilegesTag
+*/
+enum {
+ kTXNReadWrite = false,
+ kTXNReadOnly = true
+};
+
+/* kTXNSelectionStateTag*/
+enum {
+ kTXNSelectionOn = true,
+ kTXNSelectionOff = false
+};
+
+/* kTXNInlineStateTag*/
+enum {
+ kTXNUseInline = false,
+ kTXNUseBottomline = true
+};
+
+
+/* kTXNWordWrapStateTag*/
+enum {
+ kTXNAutoWrap = false,
+ kTXNNoAutoWrap = true
+};
+
+/* kTXNKeyboardSyncStateTag*/
+enum {
+ kTXNSyncKeyboard = false,
+ kTXNNoSyncKeyboard = true
+};
+
+/* kTXNAutoIndentStateTag*/
+enum {
+ kTXNAutoIndentOff = false,
+ kTXNAutoIndentOn = true
+};
+
+/* kTXNDrawCaretWhenInactiveTag*/
+enum {
+ kTXNDontDrawCaretWhenInactive = false,
+ kTXNDrawCaretWhenInactive = true
+};
+
+/* kTXNDrawSelectionWhenInactiveTag*/
+enum {
+ kTXNDontDrawSelectionWhenInactive = false,
+ kTXNDrawSelectionWhenInactive = true
+};
+
+/* kTXNDisableDragAndDropTag*/
+enum {
+ kTXNEnableDragAndDrop = false,
+ kTXNDisableDragAndDrop = true
+};
+
+typedef SInt8 TXNTabType;
+enum {
+ kTXNRightTab = -1,
+ kTXNLeftTab = 0,
+ kTXNCenterTab = 1
+};
+
+struct TXNTab {
+ SInt16 value;
+ TXNTabType tabType;
+ UInt8 filler;
+};
+typedef struct TXNTab TXNTab;
+enum {
+ kTXNLeftToRight = 0,
+ kTXNRightToLeft = 1
+};
+
+enum {
+ kTXNFlushDefault = 0, /*flush according to the line direction */
+ kTXNFlushLeft = 1,
+ kTXNFlushRight = 2,
+ kTXNCenter = 4,
+ kTXNFullJust = 8,
+ kTXNForceFullJust = 16 /*flush left for all scripts */
+};
+
+/*
+ In version 1.2 of MLTE and later you can change the top, left and right margins.
+ The bottom margin is a placeholder for possible future enhancements.
+*/
+struct TXNMargins {
+ SInt16 topMargin;
+ SInt16 leftMargin;
+ SInt16 bottomMargin;
+ SInt16 rightMargin;
+};
+typedef struct TXNMargins TXNMargins;
+union TXNControlData {
+ UInt32 uValue;
+ SInt32 sValue;
+ TXNTab tabValue;
+ TXNMargins * marginsPtr;
+};
+typedef union TXNControlData TXNControlData;
+typedef Boolean TXNScrollBarState;
+enum {
+ kScrollBarsAlwaysActive = true,
+ kScrollBarsSyncWithFocus = false
+};
+
+/*
+ kTXNNoFontVariations is returned in the dataValue field when the caller as asked
+ to see if the variation is continuous and there was no variation in the continuous range
+*/
+enum {
+ kTXNDontCareTypeSize = (long)0xFFFFFFFF,
+ kTXNDontCareTypeStyle = 0xFF,
+ kTXNIncrementTypeSize = 0x00000001,
+ kTXNDecrementTypeSize = (long)0x80000000,
+ kTXNUseScriptDefaultValue = -1,
+ kTXNNoFontVariations = 0x7FFF
+};
+
+typedef UInt32 TXNOffset;
+enum {
+ kTXNUseCurrentSelection = (unsigned long)0xFFFFFFFF,
+ kTXNStartOffset = 0,
+ kTXNEndOffset = 0x7FFFFFFF
+};
+
+
+enum {
+ kTXNSingleStylePerTextDocumentResType = FOUR_CHAR_CODE('MPSR'),
+ kTXNMultipleStylesPerTextDocumentResType = FOUR_CHAR_CODE('styl')
+};
+
+
+typedef void * TXNObjectRefcon;
+/*constants for TXNShowSelection*/
+enum {
+ kTXNShowStart = false,
+ kTXNShowEnd = true
+};
+
+typedef OSStatus TXNErrors;
+/*default constants for TXTNInit. */
#define kTXNDefaultFontName ((StringPtr)NULL)
- enum
- {
- kTXNDefaultFontSize = 0x000C0000
- };
-
- enum
- {
- kTXNDefaultFontStyle = normal
- };
-
-
- typedef UInt32 TXNHyperLinkState;
- enum
- {
- kTXNLinkNotPressed = 0,
- kTXNLinkWasPressed = 1,
- kTXNLinkTracking = 3
- };
-
- typedef FourCharCode TXNTypeRunAttributes;
- enum
- {
- kTXNQDFontNameAttribute = FOUR_CHAR_CODE('fntn'),
- kTXNQDFontFamilyIDAttribute = FOUR_CHAR_CODE('font'),
- kTXNQDFontSizeAttribute = FOUR_CHAR_CODE('size'),
- kTXNQDFontStyleAttribute = FOUR_CHAR_CODE('face'),
- kTXNQDFontColorAttribute = FOUR_CHAR_CODE('klor'),
- kTXNTextEncodingAttribute = FOUR_CHAR_CODE('encd'),
- kTXNATSUIFontFeaturesAttribute = FOUR_CHAR_CODE('atfe'),
- kTXNATSUIFontVariationsAttribute = FOUR_CHAR_CODE('atva'),
- kTXNURLAttribute = FOUR_CHAR_CODE('urla')
- };
-
- /*
- kTXNQDFontSizeAttributeSize is obsolete and incorrect
- font sizes are always returned as a Fixed value, just as
- they are passed to MLTE. Use kTXNFontSizeAttributeSize.
- */
- typedef ByteCount TXNTypeRunAttributeSizes;
- enum
- {
- kTXNQDFontNameAttributeSize = sizeof(Str255),
- kTXNQDFontFamilyIDAttributeSize = sizeof(SInt16),
- kTXNQDFontSizeAttributeSize = sizeof(SInt16),
- kTXNQDFontStyleAttributeSize = sizeof(Style),
- kTXNQDFontColorAttributeSize = sizeof(RGBColor),
- kTXNTextEncodingAttributeSize = sizeof(TextEncoding),
- kTXNFontSizeAttributeSize = sizeof(Fixed)
- };
-
- typedef UInt32 TXNPermanentTextEncodingType;
- enum
- {
- kTXNSystemDefaultEncoding = 0,
- kTXNMacOSEncoding = 1,
- kTXNUnicodeEncoding = 2
- };
-
-
-
- typedef FourCharCode TXTNTag;
- struct TXNATSUIFeatures
- {
- ItemCount featureCount;
- ATSUFontFeatureType * featureTypes;
- ATSUFontFeatureSelector * featureSelectors;
- };
- typedef struct TXNATSUIFeatures TXNATSUIFeatures;
- struct TXNATSUIVariations
- {
- ItemCount variationCount;
- ATSUFontVariationAxis * variationAxis;
- ATSUFontVariationValue * variationValues;
- };
- typedef struct TXNATSUIVariations TXNATSUIVariations;
- union TXNAttributeData
- {
- void * dataPtr;
- UInt32 dataValue;
- TXNATSUIFeatures * atsuFeatures;
- TXNATSUIVariations * atsuVariations;
- CFURLRef urlReference;
- };
- typedef union TXNAttributeData TXNAttributeData;
- struct TXNTypeAttributes
- {
- TXTNTag tag;
- ByteCount size;
- TXNAttributeData data;
- };
- typedef struct TXNTypeAttributes TXNTypeAttributes;
- struct TXNMacOSPreferredFontDescription
- {
- UInt32 fontID;
- Fixed pointSize;
- TextEncoding encoding;
- Style fontStyle;
- };
- typedef struct TXNMacOSPreferredFontDescription TXNMacOSPreferredFontDescription;
- struct TXNMatchTextRecord
- {
- const void * iTextPtr;
- SInt32 iTextToMatchLength;
- TextEncoding iTextEncoding;
- };
- typedef struct TXNMatchTextRecord TXNMatchTextRecord;
- /*constants & typedefs for setting the background*/
- typedef UInt32 TXNBackgroundType;
- enum
- {
- kTXNBackgroundTypeRGB = 1
- };
-
- /*
- The TXNBackgroundData is left as a union so that it can be expanded
- in the future to support other background types
- */
- union TXNBackgroundData
- {
- RGBColor color;
- };
- typedef union TXNBackgroundData TXNBackgroundData;
- struct TXNBackground
- {
- TXNBackgroundType bgType;
- TXNBackgroundData bg;
- };
- typedef struct TXNBackground TXNBackground;
- struct TXNLongRect
- {
- SInt32 top;
- SInt32 left;
- SInt32 bottom;
- SInt32 right;
- };
- typedef struct TXNLongRect TXNLongRect;
- /*
- options for TXNGet/ClearActionChangeCount to decide what type(s) of action
- count to use
- */
- enum
- {
- kTXNTextInputCountBit = 0,
- kTXNRunCountBit = 1
- };
-
- typedef OptionBits TXNCountOptions;
- enum
- {
- kTXNTextInputCountMask = 1L << kTXNTextInputCountBit,
- kTXNRunCountMask = 1L << kTXNRunCountBit,
- kTXNAllCountMask = kTXNTextInputCountMask | kTXNRunCountMask
- };
-
-
- typedef UInt32 TXNScrollUnit;
- enum
- {
- kTXNScrollUnitsInPixels = 0,
- kTXNScrollUnitsInLines = 1,
- kTXNScrollUnitsInViewRects = 2
- };
-
- typedef UInt32 TXNScrollBarOrientation;
- enum
- {
- kTXNHorizontal = 0,
- kTXNVertical = 1
- };
-
- typedef CALLBACK_API(OSStatus , TXNFindProcPtr)(const TXNMatchTextRecord *matchData, TXNDataType iDataType, TXNMatchOptions iMatchOptions, const void *iSearchTextPtr, TextEncoding encoding, TXNOffset absStartOffset, ByteCount searchTextLength, TXNOffset *oStartMatch, TXNOffset *oEndMatch, Boolean *ofound, UInt32 refCon);
- typedef CALLBACK_API(CFStringRef , TXNActionKeyMapperProcPtr)(TXNActionKey actionKey, UInt32 commandID);
-
- typedef CALLBACK_API(void , TXNScrollInfoProcPtr)(SInt32 iValue, SInt32 iMaximumValue, TXNScrollBarOrientation iScrollBarOrientation, SInt32 iRefCon);
- typedef STACK_UPP_TYPE(TXNFindProcPtr) TXNFindUPP;
- typedef STACK_UPP_TYPE(TXNActionKeyMapperProcPtr) TXNActionKeyMapperUPP;
- typedef STACK_UPP_TYPE(TXNScrollInfoProcPtr) TXNScrollInfoUPP;
- /*
- * NewTXNFindUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TXNFindUPP)
- NewTXNFindUPP(TXNFindProcPtr userRoutine);
+enum {
+ kTXNDefaultFontSize = 0x000C0000
+};
+
+enum {
+ kTXNDefaultFontStyle = normal
+};
+
+
+typedef UInt32 TXNHyperLinkState;
+enum {
+ kTXNLinkNotPressed = 0,
+ kTXNLinkWasPressed = 1,
+ kTXNLinkTracking = 3
+};
+
+typedef FourCharCode TXNTypeRunAttributes;
+enum {
+ kTXNQDFontNameAttribute = FOUR_CHAR_CODE('fntn'),
+ kTXNQDFontFamilyIDAttribute = FOUR_CHAR_CODE('font'),
+ kTXNQDFontSizeAttribute = FOUR_CHAR_CODE('size'),
+ kTXNQDFontStyleAttribute = FOUR_CHAR_CODE('face'),
+ kTXNQDFontColorAttribute = FOUR_CHAR_CODE('klor'),
+ kTXNTextEncodingAttribute = FOUR_CHAR_CODE('encd'),
+ kTXNATSUIFontFeaturesAttribute = FOUR_CHAR_CODE('atfe'),
+ kTXNATSUIFontVariationsAttribute = FOUR_CHAR_CODE('atva'),
+ kTXNURLAttribute = FOUR_CHAR_CODE('urla')
+};
+
+/*
+ kTXNQDFontSizeAttributeSize is obsolete and incorrect
+ font sizes are always returned as a Fixed value, just as
+ they are passed to MLTE. Use kTXNFontSizeAttributeSize.
+*/
+typedef ByteCount TXNTypeRunAttributeSizes;
+enum {
+ kTXNQDFontNameAttributeSize = sizeof(Str255),
+ kTXNQDFontFamilyIDAttributeSize = sizeof(SInt16),
+ kTXNQDFontSizeAttributeSize = sizeof(SInt16),
+ kTXNQDFontStyleAttributeSize = sizeof(Style),
+ kTXNQDFontColorAttributeSize = sizeof(RGBColor),
+ kTXNTextEncodingAttributeSize = sizeof(TextEncoding),
+ kTXNFontSizeAttributeSize = sizeof(Fixed)
+};
+
+typedef UInt32 TXNPermanentTextEncodingType;
+enum {
+ kTXNSystemDefaultEncoding = 0,
+ kTXNMacOSEncoding = 1,
+ kTXNUnicodeEncoding = 2
+};
+
+
+
+typedef FourCharCode TXTNTag;
+struct TXNATSUIFeatures {
+ ItemCount featureCount;
+ ATSUFontFeatureType * featureTypes;
+ ATSUFontFeatureSelector * featureSelectors;
+};
+typedef struct TXNATSUIFeatures TXNATSUIFeatures;
+struct TXNATSUIVariations {
+ ItemCount variationCount;
+ ATSUFontVariationAxis * variationAxis;
+ ATSUFontVariationValue * variationValues;
+};
+typedef struct TXNATSUIVariations TXNATSUIVariations;
+union TXNAttributeData {
+ void * dataPtr;
+ UInt32 dataValue;
+ TXNATSUIFeatures * atsuFeatures;
+ TXNATSUIVariations * atsuVariations;
+ CFURLRef urlReference;
+};
+typedef union TXNAttributeData TXNAttributeData;
+struct TXNTypeAttributes {
+ TXTNTag tag;
+ ByteCount size;
+ TXNAttributeData data;
+};
+typedef struct TXNTypeAttributes TXNTypeAttributes;
+struct TXNMacOSPreferredFontDescription {
+ UInt32 fontID;
+ Fixed pointSize;
+ TextEncoding encoding;
+ Style fontStyle;
+};
+typedef struct TXNMacOSPreferredFontDescription TXNMacOSPreferredFontDescription;
+struct TXNMatchTextRecord {
+ const void * iTextPtr;
+ SInt32 iTextToMatchLength;
+ TextEncoding iTextEncoding;
+};
+typedef struct TXNMatchTextRecord TXNMatchTextRecord;
+/*constants & typedefs for setting the background*/
+typedef UInt32 TXNBackgroundType;
+enum {
+ kTXNBackgroundTypeRGB = 1
+};
+
+/*
+ The TXNBackgroundData is left as a union so that it can be expanded
+ in the future to support other background types
+*/
+union TXNBackgroundData {
+ RGBColor color;
+};
+typedef union TXNBackgroundData TXNBackgroundData;
+struct TXNBackground {
+ TXNBackgroundType bgType;
+ TXNBackgroundData bg;
+};
+typedef struct TXNBackground TXNBackground;
+struct TXNLongRect {
+ SInt32 top;
+ SInt32 left;
+ SInt32 bottom;
+ SInt32 right;
+};
+typedef struct TXNLongRect TXNLongRect;
+/*
+ options for TXNGet/ClearActionChangeCount to decide what type(s) of action
+ count to use
+*/
+enum {
+ kTXNTextInputCountBit = 0,
+ kTXNRunCountBit = 1
+};
+
+typedef OptionBits TXNCountOptions;
+enum {
+ kTXNTextInputCountMask = 1L << kTXNTextInputCountBit,
+ kTXNRunCountMask = 1L << kTXNRunCountBit,
+ kTXNAllCountMask = kTXNTextInputCountMask | kTXNRunCountMask
+};
+
+
+typedef UInt32 TXNScrollUnit;
+enum {
+ kTXNScrollUnitsInPixels = 0,
+ kTXNScrollUnitsInLines = 1,
+ kTXNScrollUnitsInViewRects = 2
+};
+
+typedef UInt32 TXNScrollBarOrientation;
+enum {
+ kTXNHorizontal = 0,
+ kTXNVertical = 1
+};
+
+typedef CALLBACK_API( OSStatus , TXNFindProcPtr )(const TXNMatchTextRecord *matchData, TXNDataType iDataType, TXNMatchOptions iMatchOptions, const void *iSearchTextPtr, TextEncoding encoding, TXNOffset absStartOffset, ByteCount searchTextLength, TXNOffset *oStartMatch, TXNOffset *oEndMatch, Boolean *ofound, UInt32 refCon);
+typedef CALLBACK_API( CFStringRef , TXNActionKeyMapperProcPtr )(TXNActionKey actionKey, UInt32 commandID);
+
+typedef CALLBACK_API( void , TXNScrollInfoProcPtr )(SInt32 iValue, SInt32 iMaximumValue, TXNScrollBarOrientation iScrollBarOrientation, SInt32 iRefCon);
+typedef STACK_UPP_TYPE(TXNFindProcPtr) TXNFindUPP;
+typedef STACK_UPP_TYPE(TXNActionKeyMapperProcPtr) TXNActionKeyMapperUPP;
+typedef STACK_UPP_TYPE(TXNScrollInfoProcPtr) TXNScrollInfoUPP;
+/*
+ * NewTXNFindUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TXNFindUPP )
+NewTXNFindUPP(TXNFindProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTXNFindProcInfo = 0x0FFFFFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TXNFindUPP) NewTXNFindUPP(TXNFindProcPtr userRoutine)
- {
- return (TXNFindUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNFindProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTXNFindUPP(userRoutine) (TXNFindUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNFindProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTXNFindProcInfo = 0x0FFFFFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TXNFindUPP) NewTXNFindUPP(TXNFindProcPtr userRoutine) { return (TXNFindUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNFindProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTXNFindUPP(userRoutine) (TXNFindUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNFindProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTXNActionKeyMapperUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TXNActionKeyMapperUPP)
- NewTXNActionKeyMapperUPP(TXNActionKeyMapperProcPtr userRoutine);
+/*
+ * NewTXNActionKeyMapperUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TXNActionKeyMapperUPP )
+NewTXNActionKeyMapperUPP(TXNActionKeyMapperProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTXNActionKeyMapperProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TXNActionKeyMapperUPP) NewTXNActionKeyMapperUPP(TXNActionKeyMapperProcPtr userRoutine)
- {
- return (TXNActionKeyMapperUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNActionKeyMapperProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTXNActionKeyMapperUPP(userRoutine) (TXNActionKeyMapperUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNActionKeyMapperProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTXNActionKeyMapperProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TXNActionKeyMapperUPP) NewTXNActionKeyMapperUPP(TXNActionKeyMapperProcPtr userRoutine) { return (TXNActionKeyMapperUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNActionKeyMapperProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTXNActionKeyMapperUPP(userRoutine) (TXNActionKeyMapperUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNActionKeyMapperProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTXNScrollInfoUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(TXNScrollInfoUPP)
- NewTXNScrollInfoUPP(TXNScrollInfoProcPtr userRoutine);
+/*
+ * NewTXNScrollInfoUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( TXNScrollInfoUPP )
+NewTXNScrollInfoUPP(TXNScrollInfoProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTXNScrollInfoProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TXNScrollInfoUPP) NewTXNScrollInfoUPP(TXNScrollInfoProcPtr userRoutine)
- {
- return (TXNScrollInfoUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNScrollInfoProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTXNScrollInfoUPP(userRoutine) (TXNScrollInfoUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNScrollInfoProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTXNScrollInfoProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TXNScrollInfoUPP) NewTXNScrollInfoUPP(TXNScrollInfoProcPtr userRoutine) { return (TXNScrollInfoUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNScrollInfoProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTXNScrollInfoUPP(userRoutine) (TXNScrollInfoUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTXNScrollInfoProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeTXNFindUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTXNFindUPP(TXNFindUPP userUPP);
+/*
+ * DisposeTXNFindUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTXNFindUPP(TXNFindUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTXNFindUPP(TXNFindUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTXNFindUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTXNFindUPP(TXNFindUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTXNFindUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTXNActionKeyMapperUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTXNActionKeyMapperUPP(TXNActionKeyMapperUPP userUPP);
+/*
+ * DisposeTXNActionKeyMapperUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTXNActionKeyMapperUPP(TXNActionKeyMapperUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTXNActionKeyMapperUPP(TXNActionKeyMapperUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTXNActionKeyMapperUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTXNActionKeyMapperUPP(TXNActionKeyMapperUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTXNActionKeyMapperUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTXNScrollInfoUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeTXNScrollInfoUPP(TXNScrollInfoUPP userUPP);
+/*
+ * DisposeTXNScrollInfoUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeTXNScrollInfoUPP(TXNScrollInfoUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTXNScrollInfoUPP(TXNScrollInfoUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTXNScrollInfoUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTXNScrollInfoUPP(TXNScrollInfoUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTXNScrollInfoUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeTXNFindUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeTXNFindUPP(
- const TXNMatchTextRecord * matchData,
- TXNDataType iDataType,
- TXNMatchOptions iMatchOptions,
- const void * iSearchTextPtr,
- TextEncoding encoding,
- TXNOffset absStartOffset,
- ByteCount searchTextLength,
- TXNOffset * oStartMatch,
- TXNOffset * oEndMatch,
- Boolean * ofound,
- UInt32 refCon,
- TXNFindUPP userUPP);
+/*
+ * InvokeTXNFindUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeTXNFindUPP(
+ const TXNMatchTextRecord * matchData,
+ TXNDataType iDataType,
+ TXNMatchOptions iMatchOptions,
+ const void * iSearchTextPtr,
+ TextEncoding encoding,
+ TXNOffset absStartOffset,
+ ByteCount searchTextLength,
+ TXNOffset * oStartMatch,
+ TXNOffset * oEndMatch,
+ Boolean * ofound,
+ UInt32 refCon,
+ TXNFindUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeTXNFindUPP(const TXNMatchTextRecord * matchData, TXNDataType iDataType, TXNMatchOptions iMatchOptions, const void * iSearchTextPtr, TextEncoding encoding, TXNOffset absStartOffset, ByteCount searchTextLength, TXNOffset * oStartMatch, TXNOffset * oEndMatch, Boolean * ofound, UInt32 refCon, TXNFindUPP userUPP)
- {
- return (OSStatus)CALL_ELEVEN_PARAMETER_UPP(userUPP, uppTXNFindProcInfo, matchData, iDataType, iMatchOptions, iSearchTextPtr, encoding, absStartOffset, searchTextLength, oStartMatch, oEndMatch, ofound, refCon);
- }
-#else
-#define InvokeTXNFindUPP(matchData, iDataType, iMatchOptions, iSearchTextPtr, encoding, absStartOffset, searchTextLength, oStartMatch, oEndMatch, ofound, refCon, userUPP) (OSStatus)CALL_ELEVEN_PARAMETER_UPP((userUPP), uppTXNFindProcInfo, (matchData), (iDataType), (iMatchOptions), (iSearchTextPtr), (encoding), (absStartOffset), (searchTextLength), (oStartMatch), (oEndMatch), (ofound), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeTXNFindUPP(const TXNMatchTextRecord * matchData, TXNDataType iDataType, TXNMatchOptions iMatchOptions, const void * iSearchTextPtr, TextEncoding encoding, TXNOffset absStartOffset, ByteCount searchTextLength, TXNOffset * oStartMatch, TXNOffset * oEndMatch, Boolean * ofound, UInt32 refCon, TXNFindUPP userUPP) { return (OSStatus)CALL_ELEVEN_PARAMETER_UPP(userUPP, uppTXNFindProcInfo, matchData, iDataType, iMatchOptions, iSearchTextPtr, encoding, absStartOffset, searchTextLength, oStartMatch, oEndMatch, ofound, refCon); }
+ #else
+ #define InvokeTXNFindUPP(matchData, iDataType, iMatchOptions, iSearchTextPtr, encoding, absStartOffset, searchTextLength, oStartMatch, oEndMatch, ofound, refCon, userUPP) (OSStatus)CALL_ELEVEN_PARAMETER_UPP((userUPP), uppTXNFindProcInfo, (matchData), (iDataType), (iMatchOptions), (iSearchTextPtr), (encoding), (absStartOffset), (searchTextLength), (oStartMatch), (oEndMatch), (ofound), (refCon))
+ #endif
#endif
- /*
- * InvokeTXNActionKeyMapperUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CFStringRef)
- InvokeTXNActionKeyMapperUPP(
- TXNActionKey actionKey,
- UInt32 commandID,
- TXNActionKeyMapperUPP userUPP);
+/*
+ * InvokeTXNActionKeyMapperUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFStringRef )
+InvokeTXNActionKeyMapperUPP(
+ TXNActionKey actionKey,
+ UInt32 commandID,
+ TXNActionKeyMapperUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(CFStringRef) InvokeTXNActionKeyMapperUPP(TXNActionKey actionKey, UInt32 commandID, TXNActionKeyMapperUPP userUPP)
- {
- return (CFStringRef)CALL_TWO_PARAMETER_UPP(userUPP, uppTXNActionKeyMapperProcInfo, actionKey, commandID);
- }
-#else
-#define InvokeTXNActionKeyMapperUPP(actionKey, commandID, userUPP) (CFStringRef)CALL_TWO_PARAMETER_UPP((userUPP), uppTXNActionKeyMapperProcInfo, (actionKey), (commandID))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CFStringRef) InvokeTXNActionKeyMapperUPP(TXNActionKey actionKey, UInt32 commandID, TXNActionKeyMapperUPP userUPP) { return (CFStringRef)CALL_TWO_PARAMETER_UPP(userUPP, uppTXNActionKeyMapperProcInfo, actionKey, commandID); }
+ #else
+ #define InvokeTXNActionKeyMapperUPP(actionKey, commandID, userUPP) (CFStringRef)CALL_TWO_PARAMETER_UPP((userUPP), uppTXNActionKeyMapperProcInfo, (actionKey), (commandID))
+ #endif
#endif
- /*
- * InvokeTXNScrollInfoUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- InvokeTXNScrollInfoUPP(
- SInt32 iValue,
- SInt32 iMaximumValue,
- TXNScrollBarOrientation iScrollBarOrientation,
- SInt32 iRefCon,
- TXNScrollInfoUPP userUPP);
+/*
+ * InvokeTXNScrollInfoUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+InvokeTXNScrollInfoUPP(
+ SInt32 iValue,
+ SInt32 iMaximumValue,
+ TXNScrollBarOrientation iScrollBarOrientation,
+ SInt32 iRefCon,
+ TXNScrollInfoUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTXNScrollInfoUPP(SInt32 iValue, SInt32 iMaximumValue, TXNScrollBarOrientation iScrollBarOrientation, SInt32 iRefCon, TXNScrollInfoUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppTXNScrollInfoProcInfo, iValue, iMaximumValue, iScrollBarOrientation, iRefCon);
- }
-#else
-#define InvokeTXNScrollInfoUPP(iValue, iMaximumValue, iScrollBarOrientation, iRefCon, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppTXNScrollInfoProcInfo, (iValue), (iMaximumValue), (iScrollBarOrientation), (iRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTXNScrollInfoUPP(SInt32 iValue, SInt32 iMaximumValue, TXNScrollBarOrientation iScrollBarOrientation, SInt32 iRefCon, TXNScrollInfoUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppTXNScrollInfoProcInfo, iValue, iMaximumValue, iScrollBarOrientation, iRefCon); }
+ #else
+ #define InvokeTXNScrollInfoUPP(iValue, iMaximumValue, iScrollBarOrientation, iRefCon, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppTXNScrollInfoProcInfo, (iValue), (iMaximumValue), (iScrollBarOrientation), (iRefCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewTXNFindProc(userRoutine) NewTXNFindUPP(userRoutine)
-#define NewTXNActionKeyMapperProc(userRoutine) NewTXNActionKeyMapperUPP(userRoutine)
-#define NewTXNScrollInfoProc(userRoutine) NewTXNScrollInfoUPP(userRoutine)
-#define CallTXNFindProc(userRoutine, matchData, iDataType, iMatchOptions, iSearchTextPtr, encoding, absStartOffset, searchTextLength, oStartMatch, oEndMatch, ofound, refCon) InvokeTXNFindUPP(matchData, iDataType, iMatchOptions, iSearchTextPtr, encoding, absStartOffset, searchTextLength, oStartMatch, oEndMatch, ofound, refCon, userRoutine)
-#define CallTXNActionKeyMapperProc(userRoutine, actionKey, commandID) InvokeTXNActionKeyMapperUPP(actionKey, commandID, userRoutine)
-#define CallTXNScrollInfoProc(userRoutine, iValue, iMaximumValue, iScrollBarOrientation, iRefCon) InvokeTXNScrollInfoUPP(iValue, iMaximumValue, iScrollBarOrientation, iRefCon, userRoutine)
+ #define NewTXNFindProc(userRoutine) NewTXNFindUPP(userRoutine)
+ #define NewTXNActionKeyMapperProc(userRoutine) NewTXNActionKeyMapperUPP(userRoutine)
+ #define NewTXNScrollInfoProc(userRoutine) NewTXNScrollInfoUPP(userRoutine)
+ #define CallTXNFindProc(userRoutine, matchData, iDataType, iMatchOptions, iSearchTextPtr, encoding, absStartOffset, searchTextLength, oStartMatch, oEndMatch, ofound, refCon) InvokeTXNFindUPP(matchData, iDataType, iMatchOptions, iSearchTextPtr, encoding, absStartOffset, searchTextLength, oStartMatch, oEndMatch, ofound, refCon, userRoutine)
+ #define CallTXNActionKeyMapperProc(userRoutine, actionKey, commandID) InvokeTXNActionKeyMapperUPP(actionKey, commandID, userRoutine)
+ #define CallTXNScrollInfoProc(userRoutine, iValue, iMaximumValue, iScrollBarOrientation, iRefCon) InvokeTXNScrollInfoUPP(iValue, iMaximumValue, iScrollBarOrientation, iRefCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- These are currently the only settings for the flags field of TXNCarbonEventInfo
- If you want the AppleEventHandlers removed use kTXNNoAppleEventHandlersMask.
- If you want to subsequently restart AppleEvent Handlers after removing
- your Texthandlers. Use kTXNRestartAppleEventHandlersMask.
- */
+/*
+ These are currently the only settings for the flags field of TXNCarbonEventInfo
+ If you want the AppleEventHandlers removed use kTXNNoAppleEventHandlersMask.
+ If you want to subsequently restart AppleEvent Handlers after removing
+ your Texthandlers. Use kTXNRestartAppleEventHandlersMask.
+*/
- enum
- {
- kTXNNoAppleEventHandlersBit = 0,
- kTXNRestartAppleEventHandlersBit = 1
- };
+enum {
+ kTXNNoAppleEventHandlersBit = 0,
+ kTXNRestartAppleEventHandlersBit = 1
+};
- enum
- {
- kTXNNoAppleEventHandlersMask = 1 << kTXNNoAppleEventHandlersBit,
- kTXNRestartAppleEventHandlersMask = 1 << kTXNRestartAppleEventHandlersBit
- };
+enum {
+ kTXNNoAppleEventHandlersMask = 1 << kTXNNoAppleEventHandlersBit,
+ kTXNRestartAppleEventHandlersMask = 1 << kTXNRestartAppleEventHandlersBit
+};
- /*dictionary keys currently supported in the TXNCarbonEventInfo dictionary*/
+/*dictionary keys currently supported in the TXNCarbonEventInfo dictionary*/
#define kTXNTextHandlerKey CFSTR("TextInput")
#define kTXNWindowEventHandlerKey CFSTR("WindowEvent")
#define kTXNWindowResizeEventHandlerKey CFSTR("WindowResize")
@@ -1101,2450 +1013,2449 @@ extern "C" {
#define kTXNActionKeyMapperKey CFSTR("ActionKeyMapper")
#define kTXNWheelMouseEventHandlerKey CFSTR("WheelMouseEvent")
- /* use this to pass an EventTargetRef to MLTE via the TXNSetTXNControl... call*/
- struct TXNCarbonEventInfo
- {
- Boolean useCarbonEvents;
- UInt8 filler;
- UInt16 flags;
- CFDictionaryRef fDictionary;
- };
- typedef struct TXNCarbonEventInfo TXNCarbonEventInfo;
-
- /*
- *****************************************************************************************************
- Allocates a new frame (i.e. new is called to allocate a TXNObject) and returns a pointer to the object
- in the newDoc parameter.
- Input:
-
- iFileSpec: If not NULL the file is read to obtain the document contents after the object is
- successfully allocated. If NULL you start with an empty document.
-
- iWindow: Required. The window in which the document is going to be displayed.
-
- iFrame: If text-area does not fill the entire window. This specifies the area to fill. Can be NULL.
- In which case, the window's portRect is used as the frame.
-
- iFrameOptions: Specify the options to be supported by this frame. The available options are support
- for cutting and pasting movies and sound, handle scrollbars and handle grow box in the
- frame.
- iFrameType: Specify the type of frame to be used. In MLTE version 1.1 and earlier, only
- kTXNTextEditStyleFrameType is supported.
-
- iFileType: Specify the primary file type. If you use kTextensionTextFile files will be saved
- in a private format (see xxx). If you want saved files to be plain text files you should
- specify 'TEXT' here. If you specify 'TEXT' here you can use the frameOptions parameter to
- specify whether the TEXT files should be saved with 'MPSR' resources or 'styl' resources.
- These are resources which contain style information for a file, and they both have there
- own limitations. If you use 'styl' resources to save style info your documents can have as
- many styles as you like however tabs will not be saved. If you use 'MPSR' resources only the
- first style in the document will be saved (you as client are expected to apply all style
- changes to the entire document). If you truly want rich documents which can potentially
- contain graphics and sound you should specify kTextensionTextFileOutput. If you want a plain
- text editor like SimpleText specify that style information by saved via 'styl' resources.
- If you want files similar to those output by CW IDE, BBEdit, and MPW specify that style
- information be saved in a 'MPSR' resource.
-
- Output:
-
- OSStatus: function result. If anything goes wrong the error is returned. Success must be complete.
- That is if everything works, but there is a failure reading a specified file the object
- is freed.
- oTXNObject: Pointer to the opaque datastructure allocated by the function. Most of the subsequent
- functions require that such a pointer be passed in.
-
- oTXNFrameID: Unique ID for the frame. <Note in version 1.0 this value is always set to 0>
- iRefCon: Caller can set this to any value. It is retained by the
- TXNNewObject which can later be asked to return it.
- **************************************************************************************************************
- */
- /*
- * TXNNewObject()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNNewObject(
- const FSSpec * iFileSpec, /* can be NULL */
- WindowRef iWindow,
- const Rect * iFrame, /* can be NULL */
- TXNFrameOptions iFrameOptions,
- TXNFrameType iFrameType,
- TXNFileType iFileType,
- TXNPermanentTextEncodingType iPermanentEncoding,
- TXNObject * oTXNObject,
- TXNFrameID * oTXNFrameID,
- TXNObjectRefcon iRefCon);
-
-
-
- /*
- *************************************************************************************************
- Delete a previously allocated TXNObject and all associated data structures. If the frameType is
- multiple frames all frames are released.
-
- Input:
- iTXNObject: opaque structure to free.
- **************************************************************************************************
- */
- /*
- * TXNDeleteObject()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNDeleteObject(TXNObject iTXNObject);
-
-
-
- /*
- *************************************************************************************************
- Changes the frame's size to match the new width and height.
- Input:
-
- iTXNObject: opaque Textension structure.
-
- iWidth: New width in pixels.
-
- iHeight: New height in pixels.
-
- iTXNFrameID: FrameID that specifies the frame to move.
- *************************************************************************************************
- */
- /*
- * TXNResizeFrame()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNResizeFrame(
- TXNObject iTXNObject,
- UInt32 iWidth,
- UInt32 iHeight,
- TXNFrameID iTXNFrameID);
-
-
-
- /*
- *************************************************************************************************
- Changes the frame's bounds to match the Rect.
- Input:
- iTXNObject : opaque Textension structure.
-
- (iTop, iLeft, iBottom, iRight): Rect of the view
-
-
- iTXNFrameID: FrameID that specifies the frame to move.
- *************************************************************************************************
- */
- /*
- * TXNSetFrameBounds()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNSetFrameBounds(
- TXNObject iTXNObject,
- SInt32 iTop,
- SInt32 iLeft,
- SInt32 iBottom,
- SInt32 iRight,
- TXNFrameID iTXNFrameID);
-
-
-
- /*
- ****************************************************************************************************
- Initialize the Textension library. Should be called as soon as possible after the Macintosh toolbox
- is initialized.
- Input:
- iDefaultFonts: A table of font information including fontFamily ID, point size,
- style, and script code. The table can be NULL or can have
- an entry for any script for which you would like to to
- designate a default font. Only a valid script number is
- required. You can designate that Textension should use
- the default for a give script by setting the field to kTXNUseScriptDefaultValue (-1).
-
- For example, if you wanted to specify New York as the default
- font to use for Roman scripts, but were happy with the
- default style and size you would call the function like this:
-
- TXNMacOSPreferredFontDescription defaults;
- GetFNum( "\pNew York", &defaults.fontFamilyID );
- defaults.pointSize = kTXNDefaultFontSize;
- defaults.fontStyle = kTXNDefaultFontStyle;
- defaults.script = smRoman;
- status = TXNInitTextension( &defaults, 1, 0 );
- iCountDefaultFonts: Count of entries in the iDefaultFonts parameter.
-
-
-
- iUsageFlags: Specify whether sound and movies should be supported.
- Output:
- OSStatus: Function result. NoErr if everything initialized correctly. Variety of
- possible MacOS errors if something goes wrong.
- *********************************************************************************************|
- */
- /*
- * TXNInitTextension()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNInitTextension(
- const TXNMacOSPreferredFontDescription iDefaultFonts[], /* can be NULL */
- ItemCount iCountDefaultFonts,
- TXNInitOptions iUsageFlags);
-
-
-
- /*
- *************************************************************************************
- Close the Textension library. It is necessary to call this function so that Textension
- can correctly close down any TSM connections and do other clean up.
- **************************************************************************************
- */
- /*
- * TXNTerminateTextension()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNTerminateTextension(void);
-
-
-
- /*
- **************************************************************************************
- Process a keydown event. Note that if CJK script is installed and current font is
- CJK inline input will take place. This is always the case unless the application has
- requested the bottomline window or has turned off TSM (see initialization options above).
-
- Input:
- iTXNObject: opaque struct to apply keydown to.
-
- iEvent: the keydown event.
- ***************************************************************************************
- */
- /*
- * TXNKeyDown()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNKeyDown(
- TXNObject iTXNObject,
- const EventRecord * iEvent);
-
-
- /*
- ***************************************************************************************
- Handle switching the cursor. If over text area set to i-beam. Over graphics, sound,
- movie, scrollbar or outside of window set to arrow.
+/* use this to pass an EventTargetRef to MLTE via the TXNSetTXNControl... call*/
+struct TXNCarbonEventInfo {
+ Boolean useCarbonEvents;
+ UInt8 filler;
+ UInt16 flags;
+ CFDictionaryRef fDictionary;
+};
+typedef struct TXNCarbonEventInfo TXNCarbonEventInfo;
- Input:
- iTXNObject: Opaque struct obtained from TXNNewObject.
- ioCursorRgn: Region to be passed to WaitNextEvent. Resized accordingly by
- TXNAdjustCursor.
- ***************************************************************************************
- */
- /*
- * TXNAdjustCursor()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNAdjustCursor(
- TXNObject iTXNObject,
- RgnHandle ioCursorRgn);
-
-
-
- /*
- ****************************************************************************************
- Process click in content region. Takes care of scrolling, selecting text, playing
- sound and movies, drag & drop, and double-clicks.
- Input:
- iTXNObject: Opaque struct obtained from TXNNewObject.
- iEvent: the mousedown event
- *****************************************************************************************
- */
- /*
- * TXNClick()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNClick(
- TXNObject iTXNObject,
- const EventRecord * iEvent);
-
-
-
- /*
- ********************************************************************************************
-
- Call this when WaitNextEvent returns false or there is no active TSNObject .
- The TXNObject parameter can be NULL which allows a client to call this function at any
- time. This is necessary to insure input methods enough time to be reasonably responsive.
- NOTE : You do not need to call this when working on Carbon, TSM events are passed directly
- to the text object.
- Input:
- iTXNObject: The currently active TXNObject or NULL.
- ioEvent: The event record. Usually a NULL event. If the
- event is not an NULL event on entry, and an input
- method consumes the event the event should return
- as a NULL event.
- Output:
- Boolean: True if TSM handled this event. False if TSM did not handle this event.
- **********************************************************************************************
- */
+/*
+ *****************************************************************************************************
+ Allocates a new frame (i.e. new is called to allocate a TXNObject) and returns a pointer to the object
+ in the newDoc parameter.
+ Input:
+
+ iFileSpec: If not NULL the file is read to obtain the document contents after the object is
+ successfully allocated. If NULL you start with an empty document.
+
+ iWindow: Required. The window in which the document is going to be displayed.
+
+ iFrame: If text-area does not fill the entire window. This specifies the area to fill. Can be NULL.
+ In which case, the window's portRect is used as the frame.
+
+ iFrameOptions: Specify the options to be supported by this frame. The available options are support
+ for cutting and pasting movies and sound, handle scrollbars and handle grow box in the
+ frame.
+ iFrameType: Specify the type of frame to be used. In MLTE version 1.1 and earlier, only
+ kTXNTextEditStyleFrameType is supported.
+
+ iFileType: Specify the primary file type. If you use kTextensionTextFile files will be saved
+ in a private format (see xxx). If you want saved files to be plain text files you should
+ specify 'TEXT' here. If you specify 'TEXT' here you can use the frameOptions parameter to
+ specify whether the TEXT files should be saved with 'MPSR' resources or 'styl' resources.
+ These are resources which contain style information for a file, and they both have there
+ own limitations. If you use 'styl' resources to save style info your documents can have as
+ many styles as you like however tabs will not be saved. If you use 'MPSR' resources only the
+ first style in the document will be saved (you as client are expected to apply all style
+ changes to the entire document). If you truly want rich documents which can potentially
+ contain graphics and sound you should specify kTextensionTextFileOutput. If you want a plain
+ text editor like SimpleText specify that style information by saved via 'styl' resources.
+ If you want files similar to those output by CW IDE, BBEdit, and MPW specify that style
+ information be saved in a 'MPSR' resource.
+
+ Output:
+
+ OSStatus: function result. If anything goes wrong the error is returned. Success must be complete.
+ That is if everything works, but there is a failure reading a specified file the object
+ is freed.
+ oTXNObject: Pointer to the opaque datastructure allocated by the function. Most of the subsequent
+ functions require that such a pointer be passed in.
+
+ oTXNFrameID: Unique ID for the frame. <Note in version 1.0 this value is always set to 0>
+ iRefCon: Caller can set this to any value. It is retained by the
+ TXNNewObject which can later be asked to return it.
+ **************************************************************************************************************
+*/
+/*
+ * TXNNewObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNNewObject(
+ const FSSpec * iFileSpec, /* can be NULL */
+ WindowRef iWindow,
+ const Rect * iFrame, /* can be NULL */
+ TXNFrameOptions iFrameOptions,
+ TXNFrameType iFrameType,
+ TXNFileType iFileType,
+ TXNPermanentTextEncodingType iPermanentEncoding,
+ TXNObject * oTXNObject,
+ TXNFrameID * oTXNFrameID,
+ TXNObjectRefcon iRefCon);
+
+
+
+/*
+ *************************************************************************************************
+ Delete a previously allocated TXNObject and all associated data structures. If the frameType is
+ multiple frames all frames are released.
+
+ Input:
+ iTXNObject: opaque structure to free.
+ **************************************************************************************************
+*/
+/*
+ * TXNDeleteObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNDeleteObject(TXNObject iTXNObject);
+
+
+
+/*
+ *************************************************************************************************
+ Changes the frame's size to match the new width and height.
+ Input:
+
+ iTXNObject: opaque Textension structure.
+
+ iWidth: New width in pixels.
+
+ iHeight: New height in pixels.
+
+ iTXNFrameID: FrameID that specifies the frame to move.
+ *************************************************************************************************
+*/
+/*
+ * TXNResizeFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNResizeFrame(
+ TXNObject iTXNObject,
+ UInt32 iWidth,
+ UInt32 iHeight,
+ TXNFrameID iTXNFrameID);
+
+
+
+/*
+ *************************************************************************************************
+ Changes the frame's bounds to match the Rect.
+ Input:
+ iTXNObject : opaque Textension structure.
+
+ (iTop, iLeft, iBottom, iRight): Rect of the view
+
+
+ iTXNFrameID: FrameID that specifies the frame to move.
+ *************************************************************************************************
+*/
+/*
+ * TXNSetFrameBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNSetFrameBounds(
+ TXNObject iTXNObject,
+ SInt32 iTop,
+ SInt32 iLeft,
+ SInt32 iBottom,
+ SInt32 iRight,
+ TXNFrameID iTXNFrameID);
+
+
+
+/*
+ ****************************************************************************************************
+ Initialize the Textension library. Should be called as soon as possible after the Macintosh toolbox
+ is initialized.
+ Input:
+ iDefaultFonts: A table of font information including fontFamily ID, point size,
+ style, and script code. The table can be NULL or can have
+ an entry for any script for which you would like to to
+ designate a default font. Only a valid script number is
+ required. You can designate that Textension should use
+ the default for a give script by setting the field to kTXNUseScriptDefaultValue (-1).
+
+ For example, if you wanted to specify New York as the default
+ font to use for Roman scripts, but were happy with the
+ default style and size you would call the function like this:
+
+ TXNMacOSPreferredFontDescription defaults;
+ GetFNum( "\pNew York", &defaults.fontFamilyID );
+ defaults.pointSize = kTXNDefaultFontSize;
+ defaults.fontStyle = kTXNDefaultFontStyle;
+ defaults.script = smRoman;
+ status = TXNInitTextension( &defaults, 1, 0 );
+ iCountDefaultFonts: Count of entries in the iDefaultFonts parameter.
+
+
+
+ iUsageFlags: Specify whether sound and movies should be supported.
+ Output:
+ OSStatus: Function result. NoErr if everything initialized correctly. Variety of
+ possible MacOS errors if something goes wrong.
+ *********************************************************************************************|
+*/
+/*
+ * TXNInitTextension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNInitTextension(
+ const TXNMacOSPreferredFontDescription iDefaultFonts[], /* can be NULL */
+ ItemCount iCountDefaultFonts,
+ TXNInitOptions iUsageFlags);
+
+
+
+/*
+ *************************************************************************************
+ Close the Textension library. It is necessary to call this function so that Textension
+ can correctly close down any TSM connections and do other clean up.
+ **************************************************************************************
+*/
+/*
+ * TXNTerminateTextension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNTerminateTextension(void);
+
+
+
+/*
+ **************************************************************************************
+ Process a keydown event. Note that if CJK script is installed and current font is
+ CJK inline input will take place. This is always the case unless the application has
+ requested the bottomline window or has turned off TSM (see initialization options above).
+
+ Input:
+ iTXNObject: opaque struct to apply keydown to.
+
+ iEvent: the keydown event.
+ ***************************************************************************************
+*/
+/*
+ * TXNKeyDown()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNKeyDown(
+ TXNObject iTXNObject,
+ const EventRecord * iEvent);
+
+
+/*
+ ***************************************************************************************
+ Handle switching the cursor. If over text area set to i-beam. Over graphics, sound,
+ movie, scrollbar or outside of window set to arrow.
+
+ Input:
+ iTXNObject: Opaque struct obtained from TXNNewObject.
+ ioCursorRgn: Region to be passed to WaitNextEvent. Resized accordingly by
+ TXNAdjustCursor.
+ ***************************************************************************************
+*/
+/*
+ * TXNAdjustCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNAdjustCursor(
+ TXNObject iTXNObject,
+ RgnHandle ioCursorRgn);
+
+
+
+/*
+ ****************************************************************************************
+ Process click in content region. Takes care of scrolling, selecting text, playing
+ sound and movies, drag & drop, and double-clicks.
+ Input:
+ iTXNObject: Opaque struct obtained from TXNNewObject.
+ iEvent: the mousedown event
+ *****************************************************************************************
+*/
+/*
+ * TXNClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNClick(
+ TXNObject iTXNObject,
+ const EventRecord * iEvent);
+
+
+
+/*
+ ********************************************************************************************
+
+ Call this when WaitNextEvent returns false or there is no active TSNObject .
+ The TXNObject parameter can be NULL which allows a client to call this function at any
+ time. This is necessary to insure input methods enough time to be reasonably responsive.
+ NOTE : You do not need to call this when working on Carbon, TSM events are passed directly
+ to the text object.
+ Input:
+ iTXNObject: The currently active TXNObject or NULL.
+ ioEvent: The event record. Usually a NULL event. If the
+ event is not an NULL event on entry, and an input
+ method consumes the event the event should return
+ as a NULL event.
+ Output:
+ Boolean: True if TSM handled this event. False if TSM did not handle this event.
+ **********************************************************************************************
+*/
#if CALL_NOT_IN_CARBON
- /*
- * TXNTSMCheck()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- TXNTSMCheck(
- TXNObject iTXNObject, /* can be NULL */
- EventRecord * ioEvent);
-
-
-
- /*
- ***********************************************************************************************
- Selects everything in a frame.
- Input:
- iTXNObject: opaque TXNObject
- ***********************************************************************************************
- */
+/*
+ * TXNTSMCheck()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+TXNTSMCheck(
+ TXNObject iTXNObject, /* can be NULL */
+ EventRecord * ioEvent);
+
+
+
+/*
+ ***********************************************************************************************
+ Selects everything in a frame.
+ Input:
+ iTXNObject: opaque TXNObject
+ ***********************************************************************************************
+*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * TXNSelectAll()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNSelectAll(TXNObject iTXNObject);
+/*
+ * TXNSelectAll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNSelectAll(TXNObject iTXNObject);
- /*
- ***********************************************************************************************
- Focues the TXNObject. Scrollbars and insertion point are made active if iBecomingFocused
- is true, and inactive if false.
+/*
+ ***********************************************************************************************
+ Focues the TXNObject. Scrollbars and insertion point are made active if iBecomingFocused
+ is true, and inactive if false.
+
+ Input:
+ iTXNObject: opaque TXNObject
+
+ iBecomingFocused: true if becoming active. false otherwise.
+ ************************************************************************************************
+*/
+/*
+ * TXNFocus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNFocus(
+ TXNObject iTXNObject,
+ Boolean iBecomingFocused);
- Input:
- iTXNObject: opaque TXNObject
-
- iBecomingFocused: true if becoming active. false otherwise.
- ************************************************************************************************
- */
- /*
- * TXNFocus()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNFocus(
- TXNObject iTXNObject,
- Boolean iBecomingFocused);
-
-
- /*
- ************************************************************************************************
- Handle update event (i.e. draw everything in a frame.) This function calls the Toolbox
- BeginUpdate - EndUpdate functions for the window that was passed to TXNNewObject. This
- makes it inappropriate for windows that contain something else besides the TXNObject.
- Input:
- iTXNObject: opaque TXNObject
- ************************************************************************************************
- */
- /*
- * TXNUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNUpdate(TXNObject iTXNObject);
-
-
- /*
- *************************************************************************************************
- Redraw the TXNObject including any scrollbars associated with the text frame. Call this function
- in response to an update event for a window that contains multiple TXNObjects or some other graphic
- element. The caller is responsible for calling BeginUpdate/EndUpdate in response to the update
- event.
- Input:
- iTXNObject: opaque TXNObject to draw
- iDrawPort: Can be NULL. If NULL the port is drawn to the port currently attached to the
- iTXNObject. If not NULL drawing goes to the iDrawPort. If drawing is done
- to the iDrawPort selection is not updated. This works this way so that it
- is possible to Draw a TXNObject to a static port (i.e. print the thing without
- reflowing the text to match the paper size which is what TXNPrint does)
- and not have a line drawn where the selection would be. If you pass an
- iDrawPort to an active TXNObject (i.e. editable) the selection will not be updated. In
- this case the selection will behave oddly until text is typed which will serve
- to realign the selection. Bottom-line don't pass a port in unless you want
- static text (printed or non-editable)
- *************************************************************************************************
- */
- /*
- * TXNDraw()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNDraw(
- TXNObject iTXNObject,
- GWorldPtr iDrawPort); /* can be NULL */
-
-
- /*
- *************************************************************************************************
- Force a frame to be updated. Very much like toolbox call InvalRect.
- Input:
- iTXNObject: opaque TXNObject
- **************************************************************************************************
- */
- /*
- * TXNForceUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNForceUpdate(TXNObject iTXNObject);
-
-
-
- /*
- **************************************************************************************************
- Depending on state of window get the appropriate sleep time to be passed to WaitNextEvent.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
+/*
+ ************************************************************************************************
+ Handle update event (i.e. draw everything in a frame.) This function calls the Toolbox
+ BeginUpdate - EndUpdate functions for the window that was passed to TXNNewObject. This
+ makes it inappropriate for windows that contain something else besides the TXNObject.
+ Input:
+ iTXNObject: opaque TXNObject
+ ************************************************************************************************
+*/
+/*
+ * TXNUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNUpdate(TXNObject iTXNObject);
- Output:
- UInt32: function result appropriate sleep time.
- ***************************************************************************************************
- */
- /*
- * TXNGetSleepTicks()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- TXNGetSleepTicks(TXNObject iTXNObject);
-
-
- /*
- ***************************************************************************************************
- Do necessary Idle time processing. Typically flash the cursor. If a TextService is active
- pass a NULL event to the Text Service so it gets time.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- ****************************************************************************************************
- */
- /*
- * TXNIdle()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNIdle(TXNObject iTXNObject);
-
-
-
- /*
- *********************************************************************************************************
- Handle mouse-down in grow region.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- iEvent: The mousedown event
- *********************************************************************************************************
- */
- /*
- * TXNGrowWindow()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNGrowWindow(
- TXNObject iTXNObject,
- const EventRecord * iEvent);
-
-
-
- /*
- ********************************************************************************************************
- Handle mousedown in zoom.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- iPart: Value returned by FindWindow
- *********************************************************************************************************
- */
- /*
- * TXNZoomWindow()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNZoomWindow(
- TXNObject iTXNObject,
- SInt16 iPart);
-
-
-
- /*
- *******************************************************************************************************
- Use this to determine if the Undo item in Edit menu should be highlighted or not. Tells you if last
- command was undoable.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- Output:
- Boolean function result. If True the last command is undoable and the undo item in the menu
- should be active. If false last command cannot be undone and undo should be grayed
- in the menu.
- oTXNActionKey The key code that the caller can use to pick a string to describe the undoable
- action in the undo item. Pass in NULL if the string isn't needed.
- *********************************************************************************************************
- */
- /*
- * TXNCanUndo()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- TXNCanUndo(
- TXNObject iTXNObject,
- TXNActionKey * oTXNActionKey); /* can be NULL */
-
-
- /*
- ********************************************************************************************************
- Undo the last command.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- *********************************************************************************************************
- */
- /*
- * TXNUndo()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNUndo(TXNObject iTXNObject);
-
-
-
- /*
- *********************************************************************************************************
- Use this to determine if the current item on the undo stack is redoable. If it returns true.
- than the redo item in the edit menu should be active.
+/*
+ *************************************************************************************************
+ Redraw the TXNObject including any scrollbars associated with the text frame. Call this function
+ in response to an update event for a window that contains multiple TXNObjects or some other graphic
+ element. The caller is responsible for calling BeginUpdate/EndUpdate in response to the update
+ event.
+ Input:
+ iTXNObject: opaque TXNObject to draw
+ iDrawPort: Can be NULL. If NULL the port is drawn to the port currently attached to the
+ iTXNObject. If not NULL drawing goes to the iDrawPort. If drawing is done
+ to the iDrawPort selection is not updated. This works this way so that it
+ is possible to Draw a TXNObject to a static port (i.e. print the thing without
+ reflowing the text to match the paper size which is what TXNPrint does)
+ and not have a line drawn where the selection would be. If you pass an
+ iDrawPort to an active TXNObject (i.e. editable) the selection will not be updated. In
+ this case the selection will behave oddly until text is typed which will serve
+ to realign the selection. Bottom-line don't pass a port in unless you want
+ static text (printed or non-editable)
+ *************************************************************************************************
+*/
+/*
+ * TXNDraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNDraw(
+ TXNObject iTXNObject,
+ GWorldPtr iDrawPort); /* can be NULL */
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- oTXNActionKey The key code that the caller can use to pick a string to describe the redoable
- action in the redo item. Pass in NULL if the string isn't needed.
- */
-
- /***********************************************************************************************************/
- /*
- * TXNCanRedo()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- TXNCanRedo(
- TXNObject iTXNObject,
- TXNActionKey * oTXNActionKey); /* can be NULL */
-
-
-
- /*
- ********************************************************************************************************
- Redo the last command.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- *********************************************************************************************************
- */
- /*
- * TXNRedo()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNRedo(TXNObject iTXNObject);
-
-
-
- /*
- *********************************************************************************************************
- Cut the current selection to the clipboard.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- Output:
- OSStatus: function result. Variety of memory or scrap MacOS errors.
- **********************************************************************************************************
- */
- /*
- * TXNCut()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNCut(TXNObject iTXNObject);
-
-
-
- /*
- *********************************************************************************************************
- TXNCopy
- Copy current selection
- Input:
- iTXNObject: current document
+/*
+ *************************************************************************************************
+ Force a frame to be updated. Very much like toolbox call InvalRect.
+
+ Input:
+ iTXNObject: opaque TXNObject
+ **************************************************************************************************
+*/
+/*
+ * TXNForceUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNForceUpdate(TXNObject iTXNObject);
- **********************************************************************************************************
- */
- /*
- * TXNCopy()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNCopy(TXNObject iTXNObject);
+/*
+ **************************************************************************************************
+ Depending on state of window get the appropriate sleep time to be passed to WaitNextEvent.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+
+ Output:
+
+ UInt32: function result appropriate sleep time.
+ ***************************************************************************************************
+*/
+/*
+ * TXNGetSleepTicks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+TXNGetSleepTicks(TXNObject iTXNObject);
- /*
- ***********************************************************************************************************
- TXNPaste
- Paste the clipboard
- Input:
- iTXNObject: current document
+/*
+ ***************************************************************************************************
+ Do necessary Idle time processing. Typically flash the cursor. If a TextService is active
+ pass a NULL event to the Text Service so it gets time.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ ****************************************************************************************************
+*/
+/*
+ * TXNIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNIdle(TXNObject iTXNObject);
- **********************************************************************************************************
- */
- /*
- * TXNPaste()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNPaste(TXNObject iTXNObject);
+/*
+ *********************************************************************************************************
+ Handle mouse-down in grow region.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ iEvent: The mousedown event
+ *********************************************************************************************************
+*/
+/*
+ * TXNGrowWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNGrowWindow(
+ TXNObject iTXNObject,
+ const EventRecord * iEvent);
- /*
- **********************************************************************************************************
- TXNClear
- clear the current selection
- Input:
- iTXNObject: current document
- **********************************************************************************************************
- */
- /*
- * TXNClear()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNClear(TXNObject iTXNObject);
+/*
+ ********************************************************************************************************
+ Handle mousedown in zoom.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ iPart: Value returned by FindWindow
+ *********************************************************************************************************
+*/
+/*
+ * TXNZoomWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNZoomWindow(
+ TXNObject iTXNObject,
+ SInt16 iPart);
- /*
- *********************************************************************************************************
- TXNGetSelection
- Get the absolute offsets of the current selection.
- Embedded graphics, sound, etc. each count as one character.
+/*
+ *******************************************************************************************************
+ Use this to determine if the Undo item in Edit menu should be highlighted or not. Tells you if last
+ command was undoable.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ Output:
+ Boolean function result. If True the last command is undoable and the undo item in the menu
+ should be active. If false last command cannot be undone and undo should be grayed
+ in the menu.
+ oTXNActionKey The key code that the caller can use to pick a string to describe the undoable
+ action in the undo item. Pass in NULL if the string isn't needed.
+ *********************************************************************************************************
+*/
+/*
+ * TXNCanUndo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+TXNCanUndo(
+ TXNObject iTXNObject,
+ TXNActionKey * oTXNActionKey); /* can be NULL */
- Input:
- iTXNObject: current document
- Output:
- oStartOffset: absolute beginning of the current selection.
- oEndOffset: end of current selection.
- *********************************************************************************************************
- */
- /*
- * TXNGetSelection()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNGetSelection(
- TXNObject iTXNObject,
- TXNOffset * oStartOffset,
- TXNOffset * oEndOffset);
-
-
-
- /*
- *****************************************************************************************************
- Scroll the current selection into view.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- iShowEnd: If true the end of the selection is scrolled into view. If false the
- beginning of selection is scrolled into view.
- ****************************************************************************************************
- */
- /*
- * TXNShowSelection()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNShowSelection(
- TXNObject iTXNObject,
- Boolean iShowEnd);
-
-
-
- /*
- *****************************************************************************************************
- Call to find out if the current selection is empty. Use this to determine if Paste, Cut, Copy,
- Clear should be highlighted in Edit menu.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- Output:
- Boolean: function result. True if current selection is empty (i.e. start offset == end offset).
- False if selection is not empty.
- ********************************************************************************************************
- */
- /*
- * TXNIsSelectionEmpty()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- TXNIsSelectionEmpty(TXNObject iTXNObject);
-
-
-
- /*
- ********************************************************************************************************
- Set the current selection.
+/*
+ ********************************************************************************************************
+ Undo the last command.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ *********************************************************************************************************
+*/
+/*
+ * TXNUndo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNUndo(TXNObject iTXNObject);
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- iStartOffset: new beginning
- iEndOffset: new end
- ********************************************************************************************************
- */
- /*
- * TXNSetSelection()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNSetSelection(
- TXNObject iTXNObject,
- TXNOffset iStartOffset,
- TXNOffset iEndOffset);
-
-
-
- /*
- *******************************************************************************************************
- TXNGetContinuousTypeAttributes
- Test the current selection to see if type size, style, color and/or font are continuous.
- That is is the current selection made up of one font, one font size, one Style, and/or one color.
- On return examine the flags to see if the attributes specified were continuous. If an attribute
- is continuous then the dataValue field in the TXNTypeAttributes can be examined to get the continous
- value. Remember that for color you pass a ptr to an RGBColor in attr[0].data.dataPtr.
- Input:
- iTXNObject: current document
- oContinuousFlags: Bits which can be examined to see if type size, style, color, and/or font are continuous
-
- e.g
- if ( TXNGetContinuousTypeAttributes( txnObject, &flags, 1, &attr ) == noErr )
- {
- if ( flags & kTXNFontContinuousMask )
- ....check a font name
- ioCount: Count of TXNTypeAttributes records in the ioTypeAttributes array.
- ioTypeAttributes: Array of TXNTypeAttributes that indicate the type attributes the
- caller is interested in. For example, if you wanted to know if
- the current selection was continuous in terms of being all
- one same font size you could do something like this.
-
- TXNTypeAttributes attr[1] = { TXNFontSizeAttribute, sizeof(Fixed),{ 0 } }
-
- on return from the function if size is continuous (i.e. if the bit 3 of flags is set)
- then the third field (attr[0].data.dataValue) will contain the size of the font as a Fixed value.
-
-
- ***********************************************************************************************************
- */
- /*
- * TXNGetContinuousTypeAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNGetContinuousTypeAttributes(
- TXNObject iTxnObject,
- TXNContinuousFlags * oContinuousFlags,
- ItemCount iCount,
- TXNTypeAttributes ioTypeAttributes[]); /* can be NULL */
-
-
-
- /*
- *************************************************************************************************
- TXNSetTypeAttributes
- Set the current ranges font information. Values are passed
- in the attributes array. Values <= sizeof(UInt32) are passed
- by value. > sizeof(UInt32) are passed as a pointer. That is
- the TXNTypeAttributes' 3rd field is a union that servers as
- either a 32-bit integer where values can be written or a 32-bit pointer
- a value.
- Input:
- iTXNObject: current document
- iAttrCount: Count of type attributes in the TXNTypeAttributes array.
- iAttributes: Attributes that caller would like to set.
- iStartOffset: Start of the range where text attributes should be changed.
- iEndOffset: End of the range.
- Output:
- OSStatus: various MacOS errs. Notably memory manager and paramErrs.
- *************************************************************************************************
- */
- /*
- * TXNSetTypeAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNSetTypeAttributes(
- TXNObject iTXNObject,
- ItemCount iAttrCount,
- const TXNTypeAttributes iAttributes[],
- TXNOffset iStartOffset,
- TXNOffset iEndOffset);
-
-
-
- /*
- * TXNSetTXNObjectControls()
- *
- * Summary:
- * Sets formatting and privileges attributes (such as justification,
- * line direction, tab values, and read-only status) that apply to
- * the entire text object.
- *
- * Discussion:
- * On systems that use Apple Type Services for Unicode Imaging
- * (ATSUI), the ATSUI line control attribute tags can be passed to
- * this function in the iControlTag parameter. This is the case for
- * all the ATSUI tags except kATSULineRotationTag. ATSUI tags are
- * applied to the entire text object.
- *
- * Parameters:
- *
- * iTXNObject:
- * The text object that identifies the document for which you want
- * to set formatting and privileges attributes.
- *
- * iClearAll:
- * A Boolean value. If you set this to true, all formatting and
- * privileges attributes are reset to their default value. That
- * is, true clears existing tags and resets each to its default
- * value.
- *
- * iControlCount:
- * The number of items in the iControlTags array.
- *
- * iControlTags:
- * An array of values that specifies kind of data that is passed
- * in the iControlData parameter. See "Formatting and Privileges
- * Settings" for a description of possible values. On systems that
- * use Apple Type Services for Unicode Imaging (ATSUI), you can
- * also pass ATSUI attribute tag constants. See the ATSUI
- * documentation for a description of the ATSUI constants. Can be
- * NULL if iClearAll is true.
- *
- * iControlData:
- * An array of TXNControlData unions that contain the information
- * your application wants to set. The value you supply to the
- * iControlTags parameter specifies how the union of type
- * TXNControlData is treated. You must make sure that the value
- * you assign to the iControlData parameter is the appropriate
- * type implied by the value you passed in the iControlTags
- * parameter. Can be NULL if iClearAll is true.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNSetTXNObjectControls(
- TXNObject iTXNObject,
- Boolean iClearAll,
- ItemCount iControlCount,
- const TXNControlTag iControlTags[], /* can be NULL */
- const TXNControlData iControlData[]); /* can be NULL */
-
-
-
- /*
- * TXNGetTXNObjectControls()
- *
- * Summary:
- * Gets the current formatting and privileges attributes (such as
- * justification, line direction, tab values, and read-only status)
- * for a text object.
- *
- * Parameters:
- *
- * iTXNObject:
- * The text object that identifies the document to be activated.
- *
- * iControlCount:
- * The number of items in the iControlTags array.
- *
- * iControlTags:
- * An array of values that specify the kind of formatting
- * information you want returned in the oControlData array. See
- * "Formatting and Privileges Settings" for a description of
- * possible values.
- *
- * oControlData:
- * An array of TXNControlData unions. On return, the array
- * contains the information that was requested through the
- * iControlTags array. Your application must allocate the
- * oControlData array.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNGetTXNObjectControls(
- TXNObject iTXNObject, /* can be NULL */
- ItemCount iControlCount,
- const TXNControlTag iControlTags[],
- TXNControlData oControlData[]);
-
-
-
- /*
- ******************************************************************************************************
- TXNCountRunsInRange
- Given a range specified by the starting and ending offset return a count of the runs in that
- range. Run in this case means changes in TextSyles or a graphic or sound.
- Result:
- OSStatus: paramerr mostly
- Input:
- iTXNObject The TXNObject you are interested in.
- iStartOffset start of range
- iEndOffset end of range
-
- Output:
- oRunCount count of runs in the range
- *******************************************************************************************************
- */
- /*
- * TXNCountRunsInRange()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNCountRunsInRange(
- TXNObject iTXNObject,
- TXNOffset iStartOffset,
- TXNOffset iEndOffset,
- ItemCount * oRunCount);
-
-
-
- /*
- * TXNGetIndexedRunInfoFromRange()
- *
- * Summary:
- * Gets information about a run in a range of data.
- *
- * Discussion:
- * You should first call the TXNCountRunsInRange function to get the
- * count. The TXNTypeAttributes structure must specify the text
- * attribute in which the application is interested. In other words,
- * the tag field must be set.
- *
- * Parameters:
- *
- * iTXNObject:
- * The text object for the current text area.
- *
- * iIndex:
- * The value that corresponds to the run for which you want to get
- * information. You call the TXNCountRunsInRange function to get
- * the number of runs in a range. The iIndex parameter is
- * zero-based, so its possible values are from 0 to the number of
- * runs in a range minus 1.
- *
- * iStartOffset:
- * The offset at which you want to start to obtain run information.
- *
- * iEndOffset:
- * The offset at which you want run information to end.
- *
- * oRunStartOffset:
- * On return, a pointer to a value that identifies the start of
- * run relative to the beginning of the text, not the beginning of
- * the range you specified in the iStartOffset parameter.
- *
- * oRunEndOffset:
- * On return, a pointer to a value that identifies the end of the
- * run relative to the beginning of the text, not the beginning of
- * the range you specified in the iStartOffset parameter.
- *
- * oRunDataType:
- * On return, a pointer to a value that identifies the type of
- * data in the run. See "Supported Data Types" for a description
- * of possible values.
- *
- * iTypeAttributeCount:
- * The number of font attributes.
- *
- * ioTypeAttributes:
- * A pointer to a structure of type TXNTypeAttributes. On input,
- * you specify the attribute (such as color) in the tag field and
- * the attribute size in the size field. You can pass NULL for the
- * data field. On return, the data field contains the attribute
- * data. The data field is a union that serves either as a 32-bit
- * integer or a 32-bit pointer, depending on the size field.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNGetIndexedRunInfoFromRange(
- TXNObject iTXNObject,
- ItemCount iIndex,
- TXNOffset iStartOffset,
- TXNOffset iEndOffset,
- TXNOffset * oRunStartOffset, /* can be NULL */
- TXNOffset * oRunEndOffset, /* can be NULL */
- TXNDataType * oRunDataType, /* can be NULL */
- ItemCount iTypeAttributeCount,
- TXNTypeAttributes * ioTypeAttributes); /* can be NULL */
-
-
-
- /*
- **********************************************************************************************************
- TXNDataSize
- Return the size in bytes of the characters in a given TXNObject.
- Result:
- ByteCount: The bytes required to hold the characters
- Input:
- iTXNObject: The TXNObject
-
- **********************************************************************************************************
- */
- /*
- * TXNDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ByteCount)
- TXNDataSize(TXNObject iTXNObject);
-
-
-
- /*
- ***********************************************************************************************************
- Copy the data in the range specified by startOffset and endOffset. This function should be used
- in conjunction with TXNNextDataRun. The client would call TXNCountRunsInRange to the number of data
- runs in a given range. The client can then walk the runs with the function TXNGetIndexedRunInfoFromRange.
- TXNGetIndexedRunInfoFromRange lets you examine each runs type and text attributes.
- For each data run of interest (i.e. one whose data the caller wanted to look at)
- the client would call TXNGetData. The handle passed to TXNGetData should not be allocated.
- TXNGetData takes care of allocating the dataHandle as necessary. However, the caller is responsible
- for disposing the handle.
- No effort is made to insure that data copies align on a word boundary. Data is simply copied as
- specified in the offsets.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iStartOffset: absolute offset from which data copy should begin.
- iEndOffset: absolute offset at which data copy should end.
- Output:
- OSStatus Memory errors or TXN_IllegalToCrossDataBoundaries if offsets specify a range that
- crosses a data type boundary.
- oDataHandle: If noErr a new handle containing the requested data. The caller is responsible
- for disposing the handle. Note that the handle is a copy so it can be safely
- disposed at any time.
- **********************************************************************************************************
- */
- /*
- * TXNGetData()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNGetData(
- TXNObject iTXNObject,
- TXNOffset iStartOffset,
- TXNOffset iEndOffset,
- Handle * oDataHandle);
-
-
-
- /*
- ***********************************************************************************************************
- Copy the data in the range specified by startOffset and endOffset.
- The handle passed to TXNGetDataEncoded should not be allocated.
- TXNGetData takes care of allocating the dataHandle as necessary. However, the caller is responsible
- for disposing the handle.
- No effort is made to insure that data copies align on a word boundary. Data is simply copied as
- specified in the offsets.
+/*
+ *********************************************************************************************************
+ Use this to determine if the current item on the undo stack is redoable. If it returns true.
+ than the redo item in the edit menu should be active.
+
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ oTXNActionKey The key code that the caller can use to pick a string to describe the redoable
+ action in the redo item. Pass in NULL if the string isn't needed.
+*/
+
+/***********************************************************************************************************/
+/*
+ * TXNCanRedo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+TXNCanRedo(
+ TXNObject iTXNObject,
+ TXNActionKey * oTXNActionKey); /* can be NULL */
+
+
+
+/*
+ ********************************************************************************************************
+ Redo the last command.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ *********************************************************************************************************
+*/
+/*
+ * TXNRedo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNRedo(TXNObject iTXNObject);
+
+
+
+/*
+ *********************************************************************************************************
+ Cut the current selection to the clipboard.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ Output:
+ OSStatus: function result. Variety of memory or scrap MacOS errors.
+ **********************************************************************************************************
+*/
+/*
+ * TXNCut()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNCut(TXNObject iTXNObject);
+
+
+
+/*
+ *********************************************************************************************************
+ TXNCopy
+ Copy current selection
+
+ Input:
+ iTXNObject: current document
+
+ **********************************************************************************************************
+*/
+/*
+ * TXNCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNCopy(TXNObject iTXNObject);
+
+
+
+/*
+ ***********************************************************************************************************
+ TXNPaste
+ Paste the clipboard
+
+ Input:
+ iTXNObject: current document
+
+ **********************************************************************************************************
+*/
+/*
+ * TXNPaste()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNPaste(TXNObject iTXNObject);
+
+
+
+/*
+ **********************************************************************************************************
+ TXNClear
+ clear the current selection
+
+ Input:
+ iTXNObject: current document
+
+ **********************************************************************************************************
+*/
+/*
+ * TXNClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNClear(TXNObject iTXNObject);
+
+
+
+/*
+ *********************************************************************************************************
+ TXNGetSelection
+ Get the absolute offsets of the current selection.
+ Embedded graphics, sound, etc. each count as one character.
+
+ Input:
+ iTXNObject: current document
+
+ Output:
+ oStartOffset: absolute beginning of the current selection.
+ oEndOffset: end of current selection.
+ *********************************************************************************************************
+*/
+/*
+ * TXNGetSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNGetSelection(
+ TXNObject iTXNObject,
+ TXNOffset * oStartOffset,
+ TXNOffset * oEndOffset);
+
+
+
+/*
+ *****************************************************************************************************
+ Scroll the current selection into view.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ iShowEnd: If true the end of the selection is scrolled into view. If false the
+ beginning of selection is scrolled into view.
+ ****************************************************************************************************
+*/
+/*
+ * TXNShowSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNShowSelection(
+ TXNObject iTXNObject,
+ Boolean iShowEnd);
+
+
+
+/*
+ *****************************************************************************************************
+ Call to find out if the current selection is empty. Use this to determine if Paste, Cut, Copy,
+ Clear should be highlighted in Edit menu.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ Output:
+ Boolean: function result. True if current selection is empty (i.e. start offset == end offset).
+ False if selection is not empty.
+ ********************************************************************************************************
+*/
+/*
+ * TXNIsSelectionEmpty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+TXNIsSelectionEmpty(TXNObject iTXNObject);
+
+
+
+/*
+ ********************************************************************************************************
+ Set the current selection.
+
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ iStartOffset: new beginning
+ iEndOffset: new end
+ ********************************************************************************************************
+*/
+/*
+ * TXNSetSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNSetSelection(
+ TXNObject iTXNObject,
+ TXNOffset iStartOffset,
+ TXNOffset iEndOffset);
+
+
+
+/*
+ *******************************************************************************************************
+ TXNGetContinuousTypeAttributes
+ Test the current selection to see if type size, style, color and/or font are continuous.
+ That is is the current selection made up of one font, one font size, one Style, and/or one color.
+ On return examine the flags to see if the attributes specified were continuous. If an attribute
+ is continuous then the dataValue field in the TXNTypeAttributes can be examined to get the continous
+ value. Remember that for color you pass a ptr to an RGBColor in attr[0].data.dataPtr.
+ Input:
+ iTXNObject: current document
+ oContinuousFlags: Bits which can be examined to see if type size, style, color, and/or font are continuous
+
+ e.g
+ if ( TXNGetContinuousTypeAttributes( txnObject, &flags, 1, &attr ) == noErr )
+ {
+ if ( flags & kTXNFontContinuousMask )
+ ....check a font name
+ ioCount: Count of TXNTypeAttributes records in the ioTypeAttributes array.
+ ioTypeAttributes: Array of TXNTypeAttributes that indicate the type attributes the
+ caller is interested in. For example, if you wanted to know if
+ the current selection was continuous in terms of being all
+ one same font size you could do something like this.
+
+ TXNTypeAttributes attr[1] = { TXNFontSizeAttribute, sizeof(Fixed),{ 0 } }
+
+ on return from the function if size is continuous (i.e. if the bit 3 of flags is set)
+ then the third field (attr[0].data.dataValue) will contain the size of the font as a Fixed value.
+
+
+ ***********************************************************************************************************
+*/
+/*
+ * TXNGetContinuousTypeAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNGetContinuousTypeAttributes(
+ TXNObject iTxnObject,
+ TXNContinuousFlags * oContinuousFlags,
+ ItemCount iCount,
+ TXNTypeAttributes ioTypeAttributes[]); /* can be NULL */
+
+
+
+/*
+ *************************************************************************************************
+ TXNSetTypeAttributes
+ Set the current ranges font information. Values are passed
+ in the attributes array. Values <= sizeof(UInt32) are passed
+ by value. > sizeof(UInt32) are passed as a pointer. That is
+ the TXNTypeAttributes' 3rd field is a union that servers as
+ either a 32-bit integer where values can be written or a 32-bit pointer
+ a value.
+ Input:
+ iTXNObject: current document
+ iAttrCount: Count of type attributes in the TXNTypeAttributes array.
+ iAttributes: Attributes that caller would like to set.
+ iStartOffset: Start of the range where text attributes should be changed.
+ iEndOffset: End of the range.
+
+ Output:
+ OSStatus: various MacOS errs. Notably memory manager and paramErrs.
+ *************************************************************************************************
+*/
+/*
+ * TXNSetTypeAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNSetTypeAttributes(
+ TXNObject iTXNObject,
+ ItemCount iAttrCount,
+ const TXNTypeAttributes iAttributes[],
+ TXNOffset iStartOffset,
+ TXNOffset iEndOffset);
+
+
+
+/*
+ * TXNSetTXNObjectControls()
+ *
+ * Summary:
+ * Sets formatting and privileges attributes (such as justification,
+ * line direction, tab values, and read-only status) that apply to
+ * the entire text object.
+ *
+ * Discussion:
+ * On systems that use Apple Type Services for Unicode Imaging
+ * (ATSUI), the ATSUI line control attribute tags can be passed to
+ * this function in the iControlTag parameter. This is the case for
+ * all the ATSUI tags except kATSULineRotationTag. ATSUI tags are
+ * applied to the entire text object.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * The text object that identifies the document for which you want
+ * to set formatting and privileges attributes.
+ *
+ * iClearAll:
+ * A Boolean value. If you set this to true, all formatting and
+ * privileges attributes are reset to their default value. That
+ * is, true clears existing tags and resets each to its default
+ * value.
+ *
+ * iControlCount:
+ * The number of items in the iControlTags array.
+ *
+ * iControlTags:
+ * An array of values that specifies kind of data that is passed
+ * in the iControlData parameter. See "Formatting and Privileges
+ * Settings" for a description of possible values. On systems that
+ * use Apple Type Services for Unicode Imaging (ATSUI), you can
+ * also pass ATSUI attribute tag constants. See the ATSUI
+ * documentation for a description of the ATSUI constants. Can be
+ * NULL if iClearAll is true.
+ *
+ * iControlData:
+ * An array of TXNControlData unions that contain the information
+ * your application wants to set. The value you supply to the
+ * iControlTags parameter specifies how the union of type
+ * TXNControlData is treated. You must make sure that the value
+ * you assign to the iControlData parameter is the appropriate
+ * type implied by the value you passed in the iControlTags
+ * parameter. Can be NULL if iClearAll is true.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNSetTXNObjectControls(
+ TXNObject iTXNObject,
+ Boolean iClearAll,
+ ItemCount iControlCount,
+ const TXNControlTag iControlTags[], /* can be NULL */
+ const TXNControlData iControlData[]); /* can be NULL */
+
+
+
+/*
+ * TXNGetTXNObjectControls()
+ *
+ * Summary:
+ * Gets the current formatting and privileges attributes (such as
+ * justification, line direction, tab values, and read-only status)
+ * for a text object.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * The text object that identifies the document to be activated.
+ *
+ * iControlCount:
+ * The number of items in the iControlTags array.
+ *
+ * iControlTags:
+ * An array of values that specify the kind of formatting
+ * information you want returned in the oControlData array. See
+ * "Formatting and Privileges Settings" for a description of
+ * possible values.
+ *
+ * oControlData:
+ * An array of TXNControlData unions. On return, the array
+ * contains the information that was requested through the
+ * iControlTags array. Your application must allocate the
+ * oControlData array.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNGetTXNObjectControls(
+ TXNObject iTXNObject, /* can be NULL */
+ ItemCount iControlCount,
+ const TXNControlTag iControlTags[],
+ TXNControlData oControlData[]);
+
+
+
+/*
+ ******************************************************************************************************
+ TXNCountRunsInRange
+ Given a range specified by the starting and ending offset return a count of the runs in that
+ range. Run in this case means changes in TextSyles or a graphic or sound.
+ Result:
+ OSStatus: paramerr mostly
Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iStartOffset: absolute offset from which data copy should begin.
- iEndOffset: absolute offset at which data copy should end.
- iEncoding : should be kTXNTextData or kTXNUnicodeTextData
+ iTXNObject The TXNObject you are interested in.
+ iStartOffset start of range
+ iEndOffset end of range
+
Output:
- OSStatus Memory errors or TXN_IllegalToCrossDataBoundaries if offsets specify a range that
+ oRunCount count of runs in the range
+ *******************************************************************************************************
+*/
+/*
+ * TXNCountRunsInRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNCountRunsInRange(
+ TXNObject iTXNObject,
+ TXNOffset iStartOffset,
+ TXNOffset iEndOffset,
+ ItemCount * oRunCount);
+
+
+
+/*
+ * TXNGetIndexedRunInfoFromRange()
+ *
+ * Summary:
+ * Gets information about a run in a range of data.
+ *
+ * Discussion:
+ * You should first call the TXNCountRunsInRange function to get the
+ * count. The TXNTypeAttributes structure must specify the text
+ * attribute in which the application is interested. In other words,
+ * the tag field must be set.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * The text object for the current text area.
+ *
+ * iIndex:
+ * The value that corresponds to the run for which you want to get
+ * information. You call the TXNCountRunsInRange function to get
+ * the number of runs in a range. The iIndex parameter is
+ * zero-based, so its possible values are from 0 to the number of
+ * runs in a range minus 1.
+ *
+ * iStartOffset:
+ * The offset at which you want to start to obtain run information.
+ *
+ * iEndOffset:
+ * The offset at which you want run information to end.
+ *
+ * oRunStartOffset:
+ * On return, a pointer to a value that identifies the start of
+ * run relative to the beginning of the text, not the beginning of
+ * the range you specified in the iStartOffset parameter.
+ *
+ * oRunEndOffset:
+ * On return, a pointer to a value that identifies the end of the
+ * run relative to the beginning of the text, not the beginning of
+ * the range you specified in the iStartOffset parameter.
+ *
+ * oRunDataType:
+ * On return, a pointer to a value that identifies the type of
+ * data in the run. See "Supported Data Types" for a description
+ * of possible values.
+ *
+ * iTypeAttributeCount:
+ * The number of font attributes.
+ *
+ * ioTypeAttributes:
+ * A pointer to a structure of type TXNTypeAttributes. On input,
+ * you specify the attribute (such as color) in the tag field and
+ * the attribute size in the size field. You can pass NULL for the
+ * data field. On return, the data field contains the attribute
+ * data. The data field is a union that serves either as a 32-bit
+ * integer or a 32-bit pointer, depending on the size field.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNGetIndexedRunInfoFromRange(
+ TXNObject iTXNObject,
+ ItemCount iIndex,
+ TXNOffset iStartOffset,
+ TXNOffset iEndOffset,
+ TXNOffset * oRunStartOffset, /* can be NULL */
+ TXNOffset * oRunEndOffset, /* can be NULL */
+ TXNDataType * oRunDataType, /* can be NULL */
+ ItemCount iTypeAttributeCount,
+ TXNTypeAttributes * ioTypeAttributes); /* can be NULL */
+
+
+
+/*
+ **********************************************************************************************************
+ TXNDataSize
+ Return the size in bytes of the characters in a given TXNObject.
+ Result:
+ ByteCount: The bytes required to hold the characters
+ Input:
+ iTXNObject: The TXNObject
+
+ **********************************************************************************************************
+*/
+/*
+ * TXNDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ByteCount )
+TXNDataSize(TXNObject iTXNObject);
+
+
+
+/*
+ ***********************************************************************************************************
+ Copy the data in the range specified by startOffset and endOffset. This function should be used
+ in conjunction with TXNNextDataRun. The client would call TXNCountRunsInRange to the number of data
+ runs in a given range. The client can then walk the runs with the function TXNGetIndexedRunInfoFromRange.
+ TXNGetIndexedRunInfoFromRange lets you examine each runs type and text attributes.
+ For each data run of interest (i.e. one whose data the caller wanted to look at)
+ the client would call TXNGetData. The handle passed to TXNGetData should not be allocated.
+ TXNGetData takes care of allocating the dataHandle as necessary. However, the caller is responsible
+ for disposing the handle.
+ No effort is made to insure that data copies align on a word boundary. Data is simply copied as
+ specified in the offsets.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iStartOffset: absolute offset from which data copy should begin.
+ iEndOffset: absolute offset at which data copy should end.
+
+ Output:
+ OSStatus Memory errors or TXN_IllegalToCrossDataBoundaries if offsets specify a range that
crosses a data type boundary.
- oDataHandle: If noErr a new handle containing the requested data.
- **********************************************************************************************************
- */
- /*
- * TXNGetDataEncoded()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNGetDataEncoded(
- TXNObject iTXNObject,
- TXNOffset iStartOffset,
- TXNOffset iEndOffset,
- Handle * oDataHandle,
- TXNDataType iEncoding);
-
-
-
- /*
- *********************************************************************************************************
- Replace the specified range with the contents of the specified file. The data fork of the file
- must be opened by the caller.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- fileSpec: HFS file reference obtained when file is opened.
- fileType: files type.
- iFileLength: The length of data in the file that should be considered data. This
- parameter is available to enable callers to embed text inside their
- own private data structures. Note that if the data is in the Textension(txtn)
- format this parameter is ignored since length, etc. information is
- part of the format. Further note that if you you just want Textension
- to read a file and you are not interested in embedding you can just pass
- kTXNEndOffset(0x7FFFFFFF), and Textension will use the file manager to
- determine the files length.
- iStartOffset: start position at which to insert the file into the document.
- iEndOffset: end position of range being replaced by the file.
- Output:
- OSStatus: File manager error or noErr.
- ***********************************************************************************************************
- */
- /*
- * TXNSetDataFromFile()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNSetDataFromFile(
- TXNObject iTXNObject,
- SInt16 iFileRefNum,
- OSType iFileType,
- ByteCount iFileLength,
- TXNOffset iStartOffset,
- TXNOffset iEndOffset);
-
-
-
- /*
- * TXNSetData()
- *
- * Summary:
- * Replaces a range of data (text, graphics, and so forth).
- *
- * Parameters:
- *
- * iTXNObject:
- * The text object that identifies the document in which you want
- * to replace data.
- *
- * iDataType:
- * The type of the replacement data. See "Supported Data Types"
- * for a description of possible values.
- *
- * iDataPtr:
- * A pointer to the data that will replace the data that is in the
- * range specified by the iStartOffset and iEndOffset parameters.
- * Can be NULL if the start and end offsets are different.
- *
- * iDataSize:
- * The size of the data to which iDataPtr points.
- *
- * iStartOffset:
- * The beginning of the range of data to replace. You can use the
- * TXNGetSelection function to get the absolute offsets of the
- * current selection.
- *
- * iEndOffset:
- * The end of the range to replace. You can use the
- * TXNGetSelection function to get the absolute offsets of the
- * current selection. If you want to insert text, the ending and
- * starting offsets should be the same value.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNSetData(
- TXNObject iTXNObject,
- TXNDataType iDataType,
- const void * iDataPtr, /* can be NULL */
- ByteCount iDataSize,
- TXNOffset iStartOffset,
- TXNOffset iEndOffset);
-
-
- /*
- ************************************************************************************************************
- Retrieve number of times document has been changed. That is for every committed command
- (keydown, cut, copy) the value returned is count of those. This is useful for deciding if the Save
- item in the File menu should be active.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
+ oDataHandle: If noErr a new handle containing the requested data. The caller is responsible
+ for disposing the handle. Note that the handle is a copy so it can be safely
+ disposed at any time.
+ **********************************************************************************************************
+*/
+/*
+ * TXNGetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNGetData(
+ TXNObject iTXNObject,
+ TXNOffset iStartOffset,
+ TXNOffset iEndOffset,
+ Handle * oDataHandle);
- Output:
- ItemCount: count of changes. This is total changes since document was created or last saved.
- Not count since this routine was last called or anything like that.
- ***********************************************************************************************************
- */
- /*
- * TXNGetChangeCount()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ItemCount)
- TXNGetChangeCount(TXNObject iTXNObject);
-
-
-
- /*
- *********************************************************************************************************
- Save the contents of the document as the given type.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iType: The type of file to create.
- iResType: When saving file as plain TEXT the type of resource to
- save style information. Use kTXNMultipleStylesPerTextDocumentResType
- if your document contains multiple styles and you want a SimpleText
- like document. Use kTXNSingleStylePerTextDocumentResType if the
- document has a single style and you would like a BBEdit, MPW, CW type
- of document.
- iPermanentEncoding: The encoding in which the document should be saved (Unicode, Text or System
- default).
- iFileSpecification: The file specification to which the document should be saved. The
- file must have been opened by the caller. The file specification is remembered by the TXNObject
- and is used for any subsequent calls to TXNRevert.
- iDataReference: The data fork ref num. This is used to write data to the data fork of the
- file. The data is written beginning at the current mark.
- iResourceReference: The resource fork ref num. If the caller has specified that style information be
- saved as a resource (MPW or SimpleText) than this should be a valid reference to
- an open resource fork. If the txtn format is being used than this input value
- is ignored.
- Output:
- OSStatus The result of writing the file.
- **********************************************************************************************************
- */
- /*
- * TXNSave()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNSave(
- TXNObject iTXNObject,
- TXNFileType iType,
- OSType iResType,
- TXNPermanentTextEncodingType iPermanentEncoding,
- const FSSpec * iFileSpecification,
- SInt16 iDataReference,
- SInt16 iResourceReference);
-
-
-
- /*
- ***********************************************************************************************************
- Revert to the last saved version of this document. If the file was not previously saved the document
- is reverted to an empty document.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject
- Output:
- OSStatus: File manager errors, paramErr, or noErr.
- **********************************************************************************************************
- */
- /*
- * TXNRevert()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNRevert(TXNObject iTXNObject);
-
-
-
- /*
- *********************************************************************************************************
- Display the Page Setup dialog of the current default printer and react to any changes
- (i.e. Reformat the text if the page layout changes.)
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- Output:
- OSStatus: Print Manager errors, paramErr, noErr.
- **********************************************************************************************************
- */
- /*
- * TXNPageSetup()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNPageSetup(TXNObject iTXNObject);
-
-
-
- /*
- **********************************************************************************************************
- Print the document.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- Output:
- OSStatus: Print Manager errors, paramErr, noErr.
- **********************************************************************************************************
- */
- /*
- * TXNPrint()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNPrint(TXNObject iTXNObject);
-
-
-
- /*
- ***********************************************************************************************************
- Test to see if the current scrap contains data that is supported by Textension. Used to determine
- if Paste item in Edit menu should be active or inactive. The types of data supported depends on what
- data types were specified in the TXNInitTextension options.
- Output:
- Boolean: function result. True if data type in Clipboard is supported. False if
- not a supported data type. If result is True the Paste item in the menu can
- be highlighted.
- **********************************************************************************************************
- */
- /*
- * TXNIsScrapPastable()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- TXNIsScrapPastable(void);
-
-
-
- /*
- ***********************************************************************************************************
- Convert the Textension private scrap to the public clipboard. This should be called on suspend
- events and before the application displays a dialog that might support cut and paste. Or more
- generally, whenever someone other than the Textension Shared Library needs access to the scrap data.
- Output:
- OSStatus: Function result. Memory Manager errors, Scrap Manager errors, noErr.
- ************************************************************************************************************
- */
- /*
- * TXNConvertToPublicScrap()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNConvertToPublicScrap(void);
-
-
-
- /*
- ***********************************************************************************************************
- Convert the public clipboard to our private scrap . This should be called on resume
- events and after an application has modified the scrap. Before doing work we check the validity of the public
- scrap (date modification and type)
- Output:
- OSStatus: Function result. Memory Manager errors, Scrap Manager errors, noErr.
- ************************************************************************************************************
- */
- /*
- * TXNConvertFromPublicScrap()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNConvertFromPublicScrap(void);
-
-
-
- /*
- ************************************************************************************************************
- Get the rectangle describing the current view into the document. The coordinates of this rectangle will be
- local to the the window.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- Output:
- oViewRect: the requested view rectangle.
- *************************************************************************************************************
- */
- /*
- * TXNGetViewRect()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNGetViewRect(
- TXNObject iTXNObject,
- Rect * oViewRect);
-
-
-
- /*
- !! TXNSetViewRect is now deprecated for 10.2 and later. Please use TXNSetFrameBounds or TXNSetRectBounds API !!
- *************************************************************************************************
- Set the rectangle describing the current view into the document. This
- will change how much text is viewable. Not where a line of text wraps.
- That is controlled by TXNSetFrameBoundsSize.
- Input:
- iTXNObject : opaque Textension structure.
-
- iViewRect: Rect of the view
-
-
- *************************************************************************************************
- */
- /*
- * TXNSetViewRect()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.3 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- TXNSetViewRect(
- TXNObject iTXNObject,
- const Rect * iViewRect);
-
-
-
- /*
- ***********************************************************************************************************
- Find a piece of text or a graphics object.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iMatchTextDataPtr ptr to a MatchTextRecord which contains the text to match, the length of that text
- and the TextEncoding the text is encoded in. This must be there if you are looking
- for Text, but can be NULL if you are looking for a graphics object.
- iDataType The type of data to find. This can be any of the types defined in TXNDataType enum
- (TEXT, PICT, moov, snd ). However, if PICT, moov, or snd is passed then the default
- behavior is to match on any non-Text object. If you really want to find a specific
- type you can provide a custom find callback or ignore matches which aren't the precise
- type you are interested in.
- iStartSearchOffset The offset at which a search should begin. The constant kTXNStartOffset specifies the start
- of the objects data.
- iEndSearchOffset The offset at which the search should end. The constant kTXNEndOffset specifies the end
- of the objects data.
- iFindProc A custom callback. If will be called to match things rather than the default matching
- behavior.
- iRefCon This can be use for whatever the caller likes. It is passed to the FindProc (if a FindProc
- is provided.
- Output:
- oStartMatchOffset absolute offset to start of match. set to 0xFFFFFFFF if not match.
- oEndMatchOffset absolute offset to end of match. Set to 0xFFFFFFFF is no match.
- The default matching behavior is pretty simple for Text a basic binary compare is done. If the matchOptions say
- to ignore case the characters to be searched are duplicated and case neutralized. This naturally can fail due
- to lack of memory if there is a large amount of text. It also slows things down. If MatchOptions say
- find an entire word that once a match is found an effort is made to determine if the match is a word. The default
- behavior is to test the character before and after the to see if it is White space. If the kTXNUseEncodingWordRulesBit
- is set than the Script Manager's FindWord function is called to make this determination.
- If the caller is looking for a non-text type than each non-text type in the document is returned.
- If more elaborate ( a regular expression processor or whatever ) is what you want then that is what the FindProc is
- for.
- *******************************************************************************************************************
- */
- /*
- * TXNFind()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNFind(
- TXNObject iTXNObject,
- const TXNMatchTextRecord * iMatchTextDataPtr, /* can be NULL */
- TXNDataType iDataType,
- TXNMatchOptions iMatchOptions,
- TXNOffset iStartSearchOffset,
- TXNOffset iEndSearchOffset,
- TXNFindUPP iFindProc,
- SInt32 iRefCon,
- TXNOffset * oStartMatchOffset,
- TXNOffset * oEndMatchOffset);
-
-
-
- /*
- ***************************************************************************************************************
- TXNSetFontDefaults
-
- For a given TXNObject specify the font defaults for each script.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iCount: count of FontDescriptions.
- iFontDefaults: array of FontDescriptions.
- Output:
- OSStatus: function result ( memory error, paramErr )
- ****************************************************************************************************************
- */
- /*
- * TXNSetFontDefaults()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNSetFontDefaults(
- TXNObject iTXNObject,
- ItemCount iCount,
- const TXNMacOSPreferredFontDescription iFontDefaults[]);
-
-
-
- /*
- ***************************************************************************************************************
- TXNGetFontDefaults
-
- For a given TXNObject make a copy of the font defaults.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iCount: count of FontDescriptions in the array.
- iFontDefaults: array of FontDescriptins to be filled out.
- Output:
- OSStatus: function result ( memory error, paramErr )
- To determine how many font descriptions need to be in the array you should call this function with
- a NULL for the array. iCount will return with the number of font defaults currently stored.
- ****************************************************************************************************************
- */
- /*
- * TXNGetFontDefaults()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNGetFontDefaults(
- TXNObject iTXNObject,
- ItemCount * ioCount,
- TXNMacOSPreferredFontDescription ioFontDefaults[]); /* can be NULL */
-
-
-
- /*
- ****************************************************************************************************************
- TXNAttachObjectToWindow
- If a TXNObject was initialized with a NULL window pointer use this function to attach a window
- to that object. In version 1.0 of Textension attaching a TXNObject to more than one window
- is not supported. Note that if a CGContextRef was passed to the TXNObject previously thru the
- API TXNSetTXNObjectControls, that CGContextRef will be ignored. The CGContextRef associated with
- the iWindow will be used instead. You may revert back to the previous CGContextRef by calling the
- API TXNSetTXNObjectControls with the desired CGContextRef again after calling TXNAttachObjectToWindow.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iWindow: GWorldPtr that the object should be attached to
- iIsActualWindow: Let the library know if the GWorldPtr is actually
- a WindowRef or actually a GWorldPtr. This is important
- if the client is taking advantage of the editing packages
- scrollbar support.
- Output:
- OSStatus: function result. paramErrs.
- ****************************************************************************************************************
- */
- /*
- * TXNAttachObjectToWindow()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNAttachObjectToWindow(
- TXNObject iTXNObject,
- GWorldPtr iWindow,
- Boolean iIsActualWindow);
-
-
-
- /*
- ****************************************************************************************************************
- TXNIsObjectAttachedToWindow
- A utility function that allows a caller to check a TXNObject to see if it is attached
- to a window.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- Output:
- Boolean: function result. True is object is attached.
- False if TXNObject is not attached.
- ****************************************************************************************************************
- */
- /*
- * TXNIsObjectAttachedToWindow()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- TXNIsObjectAttachedToWindow(TXNObject iTXNObject);
-
-
-
- /*
- ****************************************************************************************************************
- TXNDragTracker
- If you ask that Drag handling procs not be installed. Call this when your drag tracker is called
- and you want Textension to take over
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iTXNFrameID: TXNFrameID obtained from TXNNewObject
- iMessage: drag message obtained from Drag Manager
- iWindow : WindowRef obtained from Drag Manager
- iDragReference: dragReference obtained from Drag Manager
- iDifferentObjectSameWindow: Pass true if the drag is still in the same window
- that it started in. False if the drag has moved into
- a different window.
- Output:
- OSErr: function result. OSErr is used over
- OSStatus so that it matches the Drag Manager definition of Tracking callback
- ****************************************************************************************************************
- */
- /*
- * TXNDragTracker()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- TXNDragTracker(
- TXNObject iTXNObject,
- TXNFrameID iTXNFrameID,
- DragTrackingMessage iMessage,
- WindowRef iWindow,
- DragReference iDragReference,
- Boolean iDifferentObjectSameWindow);
-
-
-
- /*
- ****************************************************************************************************************
- TXNDragReceiver
- If you ask that Drag handling procs not be installed. Call this when your drag receiver is called
- and you want Textension to take over
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iTXNFrameID TXNFrameID obtained from TXNNewObject
- iWindow WindowRef obtained from Drag Manager
- iDragReference dragReference obtained from Drag Manager
- iDifferentObjectSameWindow: Pass true if the drag is still in the same window
- that it started in. False if the drag has moved into
- a different window.
- Output:
- OSErr: function result. OSErr is used over
- OSStatus so that it matches the Drag Manager definition of Tracking callback
- ****************************************************************************************************************
- */
- /*
- * TXNDragReceiver()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- TXNDragReceiver(
- TXNObject iTXNObject,
- TXNFrameID iTXNFrameID,
- WindowRef iWindow,
- DragReference iDragReference,
- Boolean iDifferentObjectSameWindow);
-
-
-
- /*
- ****************************************************************************************************************
- TXNActivate
- Make the TXNObject object active in the sense that it can be scrolled if it has scrollbars. If the TXNScrollBarState parameter
- is true than the scrollbars will be active even when the TXNObject is not focused (i.e. insertion point not active)
-
- This function should be used if you have multiple TXNObjects in a window, and you want them all to be scrollable
- even though only one at a time can have the keyboard focus.
- Input:
- iTXNObject: opaque TXNObject obtained from TXNNewObject.
- iTXNFrameID TXNFrameID obtained from TXNNewObject
- iActiveState Boolean if true Scrollbars active even though TXNObject does not have the keyboard focus.
- if false scrollbars are synced with active state (i.e. a focused object has an
- active insertion point or selection and active scrollbars. An unfocused object has inactive
- selection (grayed or framed selection) and inactive scrollbars. The latter state is the
- default and usually the one you use if you have one TXNObject in a window.
- Output:
- OSStatus: function result. ParamErr if bad iTXNObject or frame ID.
- ****************************************************************************************************************
- */
- /*
- * TXNActivate()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNActivate(
- TXNObject iTXNObject,
- TXNFrameID iTXNFrameID,
- TXNScrollBarState iActiveState);
-
-
-
- /*
- *****************************************************************************************************************
- TXNSetBackgound
- Set the type of background the TXNObject's text, etc. is drawn onto. At this point the background
- can be a color or a picture.
+/*
+ ***********************************************************************************************************
+ Copy the data in the range specified by startOffset and endOffset.
+ The handle passed to TXNGetDataEncoded should not be allocated.
+ TXNGetData takes care of allocating the dataHandle as necessary. However, the caller is responsible
+ for disposing the handle.
+ No effort is made to insure that data copies align on a word boundary. Data is simply copied as
+ specified in the offsets.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iStartOffset: absolute offset from which data copy should begin.
+ iEndOffset: absolute offset at which data copy should end.
+ iEncoding : should be kTXNTextData or kTXNUnicodeTextData
+ Output:
+ OSStatus Memory errors or TXN_IllegalToCrossDataBoundaries if offsets specify a range that
+ crosses a data type boundary.
+ oDataHandle: If noErr a new handle containing the requested data.
+ **********************************************************************************************************
+*/
+/*
+ * TXNGetDataEncoded()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNGetDataEncoded(
+ TXNObject iTXNObject,
+ TXNOffset iStartOffset,
+ TXNOffset iEndOffset,
+ Handle * oDataHandle,
+ TXNDataType iEncoding);
- Input:
- iTXNObject: opaque TXNObject obtained from IncomingDataFilter callback.
- iBackgroundInfo: struct containing information that describes the background
- Output:
- OSStatus: function result. paramErrs.
- ********************************************************************************************************************
- */
- /*
- * TXNSetBackground()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNSetBackground(
- TXNObject iTXNObject,
- const TXNBackground * iBackgroundInfo);
-
-
-
- /*
- *****************************************************************************************************************
- TXNEchoMode
- Put the TXNObject into echo mode. What that means is that all characters in the TXNObject have the character
- 'echoCharacter' substituted for the actual glyph when drawing occurs. Note that the echoCharacter is typed
- as a UniChar, but this is done merely to facilitate passing any 2 byte character. The encoding parameter
- actually determines the encoding used to locate a font and display a character. Thus if you wanted to
- display the diamond found in the Shift-JIS encoding for MacOS you would pass in 0x86A6 for the character
- but an encoding that was built to represent the MacOS Japanese encoding.
- Input:
- iTXNObject: opaque TXNObject obtained from IncomingDataFilter callback.
- iEchoCharacter: character to use in substitution
- iEncoding: encoding from which character is drawn.
- iOn: true if turning EchoMode on. False if turning it off.
- Output:
- OSStatus: function result. paramErrs.
- ********************************************************************************************************************
- */
- /*
- * TXNEchoMode()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNEchoMode(
- TXNObject iTXNObject,
- UniChar iEchoCharacter,
- TextEncoding iEncoding,
- Boolean iOn);
-
-
-
- /*
- ********************************************************************************************************************
- TXNNewFontMenuObject
- Get a FontMenuObject. Caller can extract a fontmenu from this object and pass this object to the active
- TXNObject to handle events in the font menu.
- Input:
- iFontMenuHandle: An empty menu handle (well the title is there) that the caller created via
- NewMenu or GetNewMenu. This menu handle should not be disposed before
- the returned TXNFontMenuObject has been disposed via TXNDisposeFontMenuObject.
- iMenuID: The MenuID for iFontMenuHandle.
- iStartHierMenuID: The first MenuID to use if any hierarchical menus need to be created. TXNNewFontMenuObject
- uses SetMenuItemHierarchicalID when creating hierarchial menus. The iStartHierMenuID must
- therefor follow the rules for this function. On systems less than system 8.5 the submenuID
- must be less than 255. For systems above system 8.5 the range can be as large can be as large
- 32767. However, it is important to remember that TXNNewFontMenuObject only uses iStartHierMenuID
- as a starting id when adding hierarchical menus. Therefore provide plenty of room to increment
- this value. For example, on a system less than 8.5 it would be good to start at 175. On systems greater
- than 8.5 it is probably a good idea to not use a value higher than 32000.
- Output:
- OSStatus: function result. memory, parameter errors.
- TXNFontMenuObject: A font menu object
- *********************************************************************************************************************
- */
- /*
- * TXNNewFontMenuObject()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNNewFontMenuObject(
- MenuRef iFontMenuHandle,
- SInt16 iMenuID,
- SInt16 iStartHierMenuID,
- TXNFontMenuObject * oTXNFontMenuObject);
-
-
-
- /*
- *********************************************************************************************************************
- TXNGetFontMenuHandle
- Get the MenuRef from the TXNFontMenuObject.
- Input:
- iTXNFontMenuObject: A Font Menu Object obtained from TXNNewFontMenuObject.
- Output:
- OSStatus: function result. parameter errors.
- oFontMenuHandle: The returned font menu. (returned value could be NULL)
- *********************************************************************************************************************
- */
- /*
- * TXNGetFontMenuHandle()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNGetFontMenuHandle(
- TXNFontMenuObject iTXNFontMenuObject,
- MenuRef * oFontMenuHandle);
+/*
+ *********************************************************************************************************
+ Replace the specified range with the contents of the specified file. The data fork of the file
+ must be opened by the caller.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ fileSpec: HFS file reference obtained when file is opened.
+ fileType: files type.
+ iFileLength: The length of data in the file that should be considered data. This
+ parameter is available to enable callers to embed text inside their
+ own private data structures. Note that if the data is in the Textension(txtn)
+ format this parameter is ignored since length, etc. information is
+ part of the format. Further note that if you you just want Textension
+ to read a file and you are not interested in embedding you can just pass
+ kTXNEndOffset(0x7FFFFFFF), and Textension will use the file manager to
+ determine the files length.
+ iStartOffset: start position at which to insert the file into the document.
+ iEndOffset: end position of range being replaced by the file.
+ Output:
+ OSStatus: File manager error or noErr.
+ ***********************************************************************************************************
+*/
+/*
+ * TXNSetDataFromFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNSetDataFromFile(
+ TXNObject iTXNObject,
+ SInt16 iFileRefNum,
+ OSType iFileType,
+ ByteCount iFileLength,
+ TXNOffset iStartOffset,
+ TXNOffset iEndOffset);
+
+
+
+/*
+ * TXNSetData()
+ *
+ * Summary:
+ * Replaces a range of data (text, graphics, and so forth).
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * The text object that identifies the document in which you want
+ * to replace data.
+ *
+ * iDataType:
+ * The type of the replacement data. See "Supported Data Types"
+ * for a description of possible values.
+ *
+ * iDataPtr:
+ * A pointer to the data that will replace the data that is in the
+ * range specified by the iStartOffset and iEndOffset parameters.
+ * Can be NULL if the start and end offsets are different.
+ *
+ * iDataSize:
+ * The size of the data to which iDataPtr points.
+ *
+ * iStartOffset:
+ * The beginning of the range of data to replace. You can use the
+ * TXNGetSelection function to get the absolute offsets of the
+ * current selection.
+ *
+ * iEndOffset:
+ * The end of the range to replace. You can use the
+ * TXNGetSelection function to get the absolute offsets of the
+ * current selection. If you want to insert text, the ending and
+ * starting offsets should be the same value.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNSetData(
+ TXNObject iTXNObject,
+ TXNDataType iDataType,
+ const void * iDataPtr, /* can be NULL */
+ ByteCount iDataSize,
+ TXNOffset iStartOffset,
+ TXNOffset iEndOffset);
+
+
+/*
+ ************************************************************************************************************
+ Retrieve number of times document has been changed. That is for every committed command
+ (keydown, cut, copy) the value returned is count of those. This is useful for deciding if the Save
+ item in the File menu should be active.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+
+ Output:
+ ItemCount: count of changes. This is total changes since document was created or last saved.
+ Not count since this routine was last called or anything like that.
+ ***********************************************************************************************************
+*/
+/*
+ * TXNGetChangeCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ItemCount )
+TXNGetChangeCount(TXNObject iTXNObject);
+
+
+
+/*
+ *********************************************************************************************************
+ Save the contents of the document as the given type.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iType: The type of file to create.
+ iResType: When saving file as plain TEXT the type of resource to
+ save style information. Use kTXNMultipleStylesPerTextDocumentResType
+ if your document contains multiple styles and you want a SimpleText
+ like document. Use kTXNSingleStylePerTextDocumentResType if the
+ document has a single style and you would like a BBEdit, MPW, CW type
+ of document.
+ iPermanentEncoding: The encoding in which the document should be saved (Unicode, Text or System
+ default).
+ iFileSpecification: The file specification to which the document should be saved. The
+ file must have been opened by the caller. The file specification is remembered by the TXNObject
+ and is used for any subsequent calls to TXNRevert.
+ iDataReference: The data fork ref num. This is used to write data to the data fork of the
+ file. The data is written beginning at the current mark.
+ iResourceReference: The resource fork ref num. If the caller has specified that style information be
+ saved as a resource (MPW or SimpleText) than this should be a valid reference to
+ an open resource fork. If the txtn format is being used than this input value
+ is ignored.
+ Output:
+ OSStatus The result of writing the file.
+ **********************************************************************************************************
+*/
+/*
+ * TXNSave()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNSave(
+ TXNObject iTXNObject,
+ TXNFileType iType,
+ OSType iResType,
+ TXNPermanentTextEncodingType iPermanentEncoding,
+ const FSSpec * iFileSpecification,
+ SInt16 iDataReference,
+ SInt16 iResourceReference);
+
+
+
+/*
+ ***********************************************************************************************************
+ Revert to the last saved version of this document. If the file was not previously saved the document
+ is reverted to an empty document.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject
+ Output:
+ OSStatus: File manager errors, paramErr, or noErr.
+ **********************************************************************************************************
+*/
+/*
+ * TXNRevert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNRevert(TXNObject iTXNObject);
+
+
+
+/*
+ *********************************************************************************************************
+ Display the Page Setup dialog of the current default printer and react to any changes
+ (i.e. Reformat the text if the page layout changes.)
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+
+ Output:
+ OSStatus: Print Manager errors, paramErr, noErr.
+ **********************************************************************************************************
+*/
+/*
+ * TXNPageSetup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNPageSetup(TXNObject iTXNObject);
+
+
+
+/*
+ **********************************************************************************************************
+ Print the document.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ Output:
+ OSStatus: Print Manager errors, paramErr, noErr.
+ **********************************************************************************************************
+*/
+/*
+ * TXNPrint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNPrint(TXNObject iTXNObject);
+
+
+
+/*
+ ***********************************************************************************************************
+ Test to see if the current scrap contains data that is supported by Textension. Used to determine
+ if Paste item in Edit menu should be active or inactive. The types of data supported depends on what
+ data types were specified in the TXNInitTextension options.
+ Output:
+ Boolean: function result. True if data type in Clipboard is supported. False if
+ not a supported data type. If result is True the Paste item in the menu can
+ be highlighted.
+ **********************************************************************************************************
+*/
+/*
+ * TXNIsScrapPastable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+TXNIsScrapPastable(void);
+
+
+
+/*
+ ***********************************************************************************************************
+ Convert the Textension private scrap to the public clipboard. This should be called on suspend
+ events and before the application displays a dialog that might support cut and paste. Or more
+ generally, whenever someone other than the Textension Shared Library needs access to the scrap data.
+ Output:
+ OSStatus: Function result. Memory Manager errors, Scrap Manager errors, noErr.
+ ************************************************************************************************************
+*/
+/*
+ * TXNConvertToPublicScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNConvertToPublicScrap(void);
+
+
+
+/*
+ ***********************************************************************************************************
+ Convert the public clipboard to our private scrap . This should be called on resume
+ events and after an application has modified the scrap. Before doing work we check the validity of the public
+ scrap (date modification and type)
+ Output:
+ OSStatus: Function result. Memory Manager errors, Scrap Manager errors, noErr.
+ ************************************************************************************************************
+*/
+/*
+ * TXNConvertFromPublicScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNConvertFromPublicScrap(void);
+
+
+
+/*
+ ************************************************************************************************************
+ Get the rectangle describing the current view into the document. The coordinates of this rectangle will be
+ local to the the window.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ Output:
+ oViewRect: the requested view rectangle.
+ *************************************************************************************************************
+*/
+/*
+ * TXNGetViewRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNGetViewRect(
+ TXNObject iTXNObject,
+ Rect * oViewRect);
+
+
+
+/*
+ !! TXNSetViewRect is now deprecated for 10.2 and later. Please use TXNSetFrameBounds or TXNSetRectBounds API !!
+ *************************************************************************************************
+ Set the rectangle describing the current view into the document. This
+ will change how much text is viewable. Not where a line of text wraps.
+ That is controlled by TXNSetFrameBoundsSize.
+ Input:
+ iTXNObject : opaque Textension structure.
+
+ iViewRect: Rect of the view
+
+
+ *************************************************************************************************
+*/
+/*
+ * TXNSetViewRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.3 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+TXNSetViewRect(
+ TXNObject iTXNObject,
+ const Rect * iViewRect);
+
+
+
+/*
+ ***********************************************************************************************************
+ Find a piece of text or a graphics object.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iMatchTextDataPtr ptr to a MatchTextRecord which contains the text to match, the length of that text
+ and the TextEncoding the text is encoded in. This must be there if you are looking
+ for Text, but can be NULL if you are looking for a graphics object.
+ iDataType The type of data to find. This can be any of the types defined in TXNDataType enum
+ (TEXT, PICT, moov, snd ). However, if PICT, moov, or snd is passed then the default
+ behavior is to match on any non-Text object. If you really want to find a specific
+ type you can provide a custom find callback or ignore matches which aren't the precise
+ type you are interested in.
+ iStartSearchOffset The offset at which a search should begin. The constant kTXNStartOffset specifies the start
+ of the objects data.
+ iEndSearchOffset The offset at which the search should end. The constant kTXNEndOffset specifies the end
+ of the objects data.
+ iFindProc A custom callback. If will be called to match things rather than the default matching
+ behavior.
+ iRefCon This can be use for whatever the caller likes. It is passed to the FindProc (if a FindProc
+ is provided.
+ Output:
+ oStartMatchOffset absolute offset to start of match. set to 0xFFFFFFFF if not match.
+ oEndMatchOffset absolute offset to end of match. Set to 0xFFFFFFFF is no match.
+ The default matching behavior is pretty simple for Text a basic binary compare is done. If the matchOptions say
+ to ignore case the characters to be searched are duplicated and case neutralized. This naturally can fail due
+ to lack of memory if there is a large amount of text. It also slows things down. If MatchOptions say
+ find an entire word that once a match is found an effort is made to determine if the match is a word. The default
+ behavior is to test the character before and after the to see if it is White space. If the kTXNUseEncodingWordRulesBit
+ is set than the Script Manager's FindWord function is called to make this determination.
+ If the caller is looking for a non-text type than each non-text type in the document is returned.
+ If more elaborate ( a regular expression processor or whatever ) is what you want then that is what the FindProc is
+ for.
+ *******************************************************************************************************************
+*/
+/*
+ * TXNFind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNFind(
+ TXNObject iTXNObject,
+ const TXNMatchTextRecord * iMatchTextDataPtr, /* can be NULL */
+ TXNDataType iDataType,
+ TXNMatchOptions iMatchOptions,
+ TXNOffset iStartSearchOffset,
+ TXNOffset iEndSearchOffset,
+ TXNFindUPP iFindProc,
+ SInt32 iRefCon,
+ TXNOffset * oStartMatchOffset,
+ TXNOffset * oEndMatchOffset);
+
+
+
+/*
+ ***************************************************************************************************************
+ TXNSetFontDefaults
+
+ For a given TXNObject specify the font defaults for each script.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iCount: count of FontDescriptions.
+ iFontDefaults: array of FontDescriptions.
+ Output:
+ OSStatus: function result ( memory error, paramErr )
+ ****************************************************************************************************************
+*/
+/*
+ * TXNSetFontDefaults()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNSetFontDefaults(
+ TXNObject iTXNObject,
+ ItemCount iCount,
+ const TXNMacOSPreferredFontDescription iFontDefaults[]);
+
+
+
+/*
+ ***************************************************************************************************************
+ TXNGetFontDefaults
+
+ For a given TXNObject make a copy of the font defaults.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iCount: count of FontDescriptions in the array.
+ iFontDefaults: array of FontDescriptins to be filled out.
+ Output:
+ OSStatus: function result ( memory error, paramErr )
+ To determine how many font descriptions need to be in the array you should call this function with
+ a NULL for the array. iCount will return with the number of font defaults currently stored.
+ ****************************************************************************************************************
+*/
+/*
+ * TXNGetFontDefaults()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNGetFontDefaults(
+ TXNObject iTXNObject,
+ ItemCount * ioCount,
+ TXNMacOSPreferredFontDescription ioFontDefaults[]); /* can be NULL */
+
+
+
+/*
+ ****************************************************************************************************************
+ TXNAttachObjectToWindow
+ If a TXNObject was initialized with a NULL window pointer use this function to attach a window
+ to that object. In version 1.0 of Textension attaching a TXNObject to more than one window
+ is not supported. Note that if a CGContextRef was passed to the TXNObject previously thru the
+ API TXNSetTXNObjectControls, that CGContextRef will be ignored. The CGContextRef associated with
+ the iWindow will be used instead. You may revert back to the previous CGContextRef by calling the
+ API TXNSetTXNObjectControls with the desired CGContextRef again after calling TXNAttachObjectToWindow.
+
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iWindow: GWorldPtr that the object should be attached to
+ iIsActualWindow: Let the library know if the GWorldPtr is actually
+ a WindowRef or actually a GWorldPtr. This is important
+ if the client is taking advantage of the editing packages
+ scrollbar support.
+ Output:
+ OSStatus: function result. paramErrs.
+ ****************************************************************************************************************
+*/
+/*
+ * TXNAttachObjectToWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNAttachObjectToWindow(
+ TXNObject iTXNObject,
+ GWorldPtr iWindow,
+ Boolean iIsActualWindow);
+
+
+
+/*
+ ****************************************************************************************************************
+ TXNIsObjectAttachedToWindow
+ A utility function that allows a caller to check a TXNObject to see if it is attached
+ to a window.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ Output:
+ Boolean: function result. True is object is attached.
+ False if TXNObject is not attached.
+ ****************************************************************************************************************
+*/
+/*
+ * TXNIsObjectAttachedToWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+TXNIsObjectAttachedToWindow(TXNObject iTXNObject);
+
+
+
+/*
+ ****************************************************************************************************************
+ TXNDragTracker
+ If you ask that Drag handling procs not be installed. Call this when your drag tracker is called
+ and you want Textension to take over
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iTXNFrameID: TXNFrameID obtained from TXNNewObject
+ iMessage: drag message obtained from Drag Manager
+ iWindow : WindowRef obtained from Drag Manager
+ iDragReference: dragReference obtained from Drag Manager
+ iDifferentObjectSameWindow: Pass true if the drag is still in the same window
+ that it started in. False if the drag has moved into
+ a different window.
+ Output:
+ OSErr: function result. OSErr is used over
+ OSStatus so that it matches the Drag Manager definition of Tracking callback
+ ****************************************************************************************************************
+*/
+/*
+ * TXNDragTracker()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+TXNDragTracker(
+ TXNObject iTXNObject,
+ TXNFrameID iTXNFrameID,
+ DragTrackingMessage iMessage,
+ WindowRef iWindow,
+ DragReference iDragReference,
+ Boolean iDifferentObjectSameWindow);
+
+
+
+/*
+ ****************************************************************************************************************
+ TXNDragReceiver
+ If you ask that Drag handling procs not be installed. Call this when your drag receiver is called
+ and you want Textension to take over
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iTXNFrameID TXNFrameID obtained from TXNNewObject
+ iWindow WindowRef obtained from Drag Manager
+ iDragReference dragReference obtained from Drag Manager
+ iDifferentObjectSameWindow: Pass true if the drag is still in the same window
+ that it started in. False if the drag has moved into
+ a different window.
+ Output:
+ OSErr: function result. OSErr is used over
+ OSStatus so that it matches the Drag Manager definition of Tracking callback
+ ****************************************************************************************************************
+*/
+/*
+ * TXNDragReceiver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+TXNDragReceiver(
+ TXNObject iTXNObject,
+ TXNFrameID iTXNFrameID,
+ WindowRef iWindow,
+ DragReference iDragReference,
+ Boolean iDifferentObjectSameWindow);
+
+
+
+/*
+ ****************************************************************************************************************
+ TXNActivate
+ Make the TXNObject object active in the sense that it can be scrolled if it has scrollbars. If the TXNScrollBarState parameter
+ is true than the scrollbars will be active even when the TXNObject is not focused (i.e. insertion point not active)
+
+ This function should be used if you have multiple TXNObjects in a window, and you want them all to be scrollable
+ even though only one at a time can have the keyboard focus.
+ Input:
+ iTXNObject: opaque TXNObject obtained from TXNNewObject.
+ iTXNFrameID TXNFrameID obtained from TXNNewObject
+ iActiveState Boolean if true Scrollbars active even though TXNObject does not have the keyboard focus.
+ if false scrollbars are synced with active state (i.e. a focused object has an
+ active insertion point or selection and active scrollbars. An unfocused object has inactive
+ selection (grayed or framed selection) and inactive scrollbars. The latter state is the
+ default and usually the one you use if you have one TXNObject in a window.
+ Output:
+ OSStatus: function result. ParamErr if bad iTXNObject or frame ID.
+ ****************************************************************************************************************
+*/
+/*
+ * TXNActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNActivate(
+ TXNObject iTXNObject,
+ TXNFrameID iTXNFrameID,
+ TXNScrollBarState iActiveState);
+
+
+
+/*
+ *****************************************************************************************************************
+ TXNSetBackgound
+ Set the type of background the TXNObject's text, etc. is drawn onto. At this point the background
+ can be a color or a picture.
+
+ Input:
+ iTXNObject: opaque TXNObject obtained from IncomingDataFilter callback.
+ iBackgroundInfo: struct containing information that describes the background
+ Output:
+ OSStatus: function result. paramErrs.
+ ********************************************************************************************************************
+*/
+/*
+ * TXNSetBackground()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNSetBackground(
+ TXNObject iTXNObject,
+ const TXNBackground * iBackgroundInfo);
+
+
+
+/*
+ *****************************************************************************************************************
+ TXNEchoMode
+ Put the TXNObject into echo mode. What that means is that all characters in the TXNObject have the character
+ 'echoCharacter' substituted for the actual glyph when drawing occurs. Note that the echoCharacter is typed
+ as a UniChar, but this is done merely to facilitate passing any 2 byte character. The encoding parameter
+ actually determines the encoding used to locate a font and display a character. Thus if you wanted to
+ display the diamond found in the Shift-JIS encoding for MacOS you would pass in 0x86A6 for the character
+ but an encoding that was built to represent the MacOS Japanese encoding.
+
+ Input:
+ iTXNObject: opaque TXNObject obtained from IncomingDataFilter callback.
+ iEchoCharacter: character to use in substitution
+ iEncoding: encoding from which character is drawn.
+ iOn: true if turning EchoMode on. False if turning it off.
+ Output:
+ OSStatus: function result. paramErrs.
+ ********************************************************************************************************************
+*/
+/*
+ * TXNEchoMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNEchoMode(
+ TXNObject iTXNObject,
+ UniChar iEchoCharacter,
+ TextEncoding iEncoding,
+ Boolean iOn);
+
+
+
+/*
+ ********************************************************************************************************************
+ TXNNewFontMenuObject
+ Get a FontMenuObject. Caller can extract a fontmenu from this object and pass this object to the active
+ TXNObject to handle events in the font menu.
+ Input:
+ iFontMenuHandle: An empty menu handle (well the title is there) that the caller created via
+ NewMenu or GetNewMenu. This menu handle should not be disposed before
+ the returned TXNFontMenuObject has been disposed via TXNDisposeFontMenuObject.
+ iMenuID: The MenuID for iFontMenuHandle.
+ iStartHierMenuID: The first MenuID to use if any hierarchical menus need to be created. TXNNewFontMenuObject
+ uses SetMenuItemHierarchicalID when creating hierarchial menus. The iStartHierMenuID must
+ therefor follow the rules for this function. On systems less than system 8.5 the submenuID
+ must be less than 255. For systems above system 8.5 the range can be as large can be as large
+ 32767. However, it is important to remember that TXNNewFontMenuObject only uses iStartHierMenuID
+ as a starting id when adding hierarchical menus. Therefore provide plenty of room to increment
+ this value. For example, on a system less than 8.5 it would be good to start at 175. On systems greater
+ than 8.5 it is probably a good idea to not use a value higher than 32000.
+
+ Output:
+ OSStatus: function result. memory, parameter errors.
+ TXNFontMenuObject: A font menu object
+ *********************************************************************************************************************
+*/
+/*
+ * TXNNewFontMenuObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNNewFontMenuObject(
+ MenuRef iFontMenuHandle,
+ SInt16 iMenuID,
+ SInt16 iStartHierMenuID,
+ TXNFontMenuObject * oTXNFontMenuObject);
+
+
+
+/*
+ *********************************************************************************************************************
+ TXNGetFontMenuHandle
+ Get the MenuRef from the TXNFontMenuObject.
+ Input:
+ iTXNFontMenuObject: A Font Menu Object obtained from TXNNewFontMenuObject.
+ Output:
+ OSStatus: function result. parameter errors.
+ oFontMenuHandle: The returned font menu. (returned value could be NULL)
+ *********************************************************************************************************************
+*/
+/*
+ * TXNGetFontMenuHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNGetFontMenuHandle(
+ TXNFontMenuObject iTXNFontMenuObject,
+ MenuRef * oFontMenuHandle);
#define TXNGetFontMenuRef TXNGetFontMenuHandle
- /*
- *********************************************************************************************************************
- TXNDisposeFontMenuObject
- Dispose a TXNFontMenuObject and its font menu handle
- Input:
- iTXNFontMenuObject: A Font Menu Object obtained from TXNNewFontMenuObject.
- Output:
- OSStatus: function result. parameter errors.
- *********************************************************************************************************************
- */
- /*
- * TXNDisposeFontMenuObject()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNDisposeFontMenuObject(TXNFontMenuObject iTXNFontMenuObject);
-
-
-
- /*
- *********************************************************************************************************************
- TXNDoFontMenuSelection
- Given the menuID and menu item returned by MenuSelect determine the selected font
- and change the current selection to be that Font. If the input TXNObject is
- not active a parameter error is returned.
- Input:
- iTXNObject: An opaque TXNObject obtained from TXNNewObject.
- iTXNFontMenuObject: A Font Menu Object obtained from TXNNewFontMenuObject.
- iMenuID: SInt16 the ID of the selected menu.
- iMenuItem: The item that was selected.
- Output:
- OSStatus: ParamErr and memory errors are possible.
- **********************************************************************************************************************
- */
- /*
- * TXNDoFontMenuSelection()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNDoFontMenuSelection(
- TXNObject iTXNObject,
- TXNFontMenuObject iTXNFontMenuObject,
- SInt16 iMenuID,
- SInt16 iMenuItem);
-
-
-
- /*
- * TXNPrepareFontMenu()
- *
- * Summary:
- * Prepares a Font menu for display.
- *
- * Discussion:
- * You should call the TXNPrepareFontMenu function just before your
- * application opens the Font menu for your user. If the text
- * object's current selection is a single font, MLTE places a
- * checkmark next to the menu item for that font.
- *
- * Parameters:
- *
- * iTXNObject:
- * The text object that identifies the document with the Font menu
- * you want to prepare. Pass NULL to display an inactive menu
- * (dimmed).
- *
- * iTXNFontMenuObject:
- * A Font menu object.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNPrepareFontMenu(
- TXNObject iTXNObject, /* can be NULL */
- TXNFontMenuObject iTXNFontMenuObject);
-
-
-
- /*
- **********************************************************************************************************************
- TXNVersionValue
- Get the version number and a set of feature bits. TXNVersionValue uses a NumVersion structure.
- See MacTypes.h for the format of the version. Currently there are two feature bits: one for
- ATSUI default, another one for CarbonEvent default.
- Input:
- NONE
+/*
+ *********************************************************************************************************************
+ TXNDisposeFontMenuObject
+ Dispose a TXNFontMenuObject and its font menu handle
+ Input:
+ iTXNFontMenuObject: A Font Menu Object obtained from TXNNewFontMenuObject.
+ Output:
+ OSStatus: function result. parameter errors.
+ *********************************************************************************************************************
+*/
+/*
+ * TXNDisposeFontMenuObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNDisposeFontMenuObject(TXNFontMenuObject iTXNFontMenuObject);
- Output:
- TXNVersionValue: Current version.
- TXNFeatureBits*: Pointer to a bit mask. See TXNFeatureMask enum above. If kTXNWillDefaultToATSUIBit
- is set it means that by default MLTE will use ATSUI to image and measure text and will
- default to using Unicode to store characters. If kTXNWillDefaultToCarbonEventBit is set,
- then MLTE will use carbon events by default and apple event will not be supported.
- **********************************************************************************************************************
- */
- /*
- * TXNVersionInformation()
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TXNVersionValue)
- TXNVersionInformation(TXNFeatureBits * oFeatureFlags);
-
-
-
- /*
- * TXNIsObjectAttachedToSpecificWindow()
- *
- * Summary:
- * Determines whether the given object is attached to the given
- * window.
- *
- * Parameters:
- *
- * iTXNObject:
- * Opaque TXNObject obtained from TXNNewObject.
- *
- * iWindow:
- * The window to check attachment against.
- *
- * oAttached:
- * true if the object is attached to the given window, false
- * otherwise.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: in Textension 1.2 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- TXNIsObjectAttachedToSpecificWindow(
- TXNObject iTXNObject,
- WindowRef iWindow,
- Boolean * oAttached);
-
-
- /*
- * TXNSetRectBounds()
- *
- * Summary:
- * Set the View rectangle and or the Destination rectangle.
- *
- * Discussion:
- * The View rectangle controls the text you see. The Destination
- * rectangle controls how text is laid out. The Scrollbar is drawn
- * inside the View rectangle. You only need to pass in pointers for
- * the rectangles you want to set.
- *
- * Parameters:
- *
- * iTXNObject:
- * Opaque TXNObject obtained from TXNNewObject.
- *
- * iViewRect:
- * The new view rectangle. If you do not want to change the view
- * rectangle pass NULL.
- *
- * iDestinationRect:
- * The new destination rectangle. Pass NULL if you don't want to
- * change the destination retangle.
- *
- * iUpdate:
- * If you would like the the text and where the scrollbars are
- * placed recalculated and redrawn pass true. If you prefer to
- * wait on this pass false.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- TXNSetRectBounds(
- TXNObject iTXNObject,
- const Rect * iViewRect, /* can be NULL */
- const TXNLongRect * iDestinationRect, /* can be NULL */
- Boolean iUpdate);
-
-
- /*
- * TXNGetRectBounds()
- *
- * Summary:
- * Get the values for the current View rectangle, Destination
- * rectangle and Text rectangle.
- *
- * Discussion:
- * You only need to pass in pointers for the rectangles you're
- * interested in.
- *
- * Parameters:
- *
- * iTXNObject:
- * Opaque TXNObject obtained from TXNNewObject.
- *
- * oViewRect:
- * The current view rectangle
- *
- * oDestinationRect:
- * The current destination rectangle
- *
- * oTextRect:
- * The smallest rectangle needed to contain the current text.
- * This rectangle is calculated by walking the lines of text and
- * measuring each line. So this can be expensive. The width of
- * this rectangle will be the width of the longest line in the
- * text.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- TXNGetRectBounds(
- TXNObject iTXNObject,
- Rect * oViewRect, /* can be NULL */
- TXNLongRect * oDestinationRect, /* can be NULL */
- TXNLongRect * oTextRect); /* can be NULL */
-
-
-
- /*
- * TXNRecalcTextLayout()
- *
- * Summary:
- * Recalculates the text layout based on the new View and
- * Destination rectangles.
- *
- * Discussion:
- * Call this if you called TXNSetRectBounds with the iUpdate
- * parameter set to false. It will also recalcuate where the
- * scrollbars, if any, should be placed. Finally an update event
- * will be generated so that the TXNObject is redrawn.
- *
- * Parameters:
- *
- * iTXNObject:
- * Opaque TXNObject obtained from TXNNewObject.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- TXNRecalcTextLayout(TXNObject iTXNObject);
-
-
-
-
- /*
- * TXNScroll()
- *
- * Discussion:
- * TXNScroll scrolls the text within a view rectangle of the
- * specified object by the designated number of units. For example,
- * you might want to scroll the text in an object in response to
- * user input in a control other than the standard scrollbars that
- * MLTE supplies.
- *
- * Parameters:
- *
- * iTXNObject:
- * Opaque TXNObject obtained from TXNNewObject.
- *
- * iVerticalScrollUnit:
- * Specifies what units the values in ioVerticalDelta are in. If
- * iVerticalScrollUnit is equal to kTXNScrollUnitsArePixels the
- * value is treated as pixels. If the value is
- * kTXNScrollUnitsAreLines the value is treated as a count of
- * lines. Note that using this value is the slowest because each
- * line must be measured before it scrolls. Finally if
- * kTXNScrollUnitsAreViewRects the value is treated as the height
- * of the current viewRect.
- *
- * iHorizontalScrollUnit:
- * Specifies what units the values in iDh are in. If
- * iHorizontalScrollUnit is equal to kTXNScrollUnitsArePixels the
- * value is treated as pixels. If the value is
- * kTXNScrollUnitsAreLines the value is treated as a count of
- * lines. Note that using this value for horizontal scrolling
- * means that 16 pixels will be used to represent a line. Finally
- * if kTXNScrollUnitsAreViewRects the value is treated as the
- * width of the current viewRect.
- *
- * ioVerticalDelta:
- * The vertical amount to scroll. The values in ioVerticalDelta
- * can be treated as pixels, lines or viewrects. See the
- * discussion of the TXNScrollUnit parameters for more information
- * for this. On return this will contain the number of pixels
- * actually scrolled in the vertical direction. A positive value
- * moves the text down.
- *
- * ioHorizontalDelta:
- * The horizontal amount to scroll. The values in
- * ioHorizontalDelta can specify a scroll amount that is pixels,
- * lines or view rects. Set TXNScrollUnit discussion for more
- * information. On return this will contain the number of pixels
- * actually scrolled in the horizontal direction. A positive value
- * moves the text to the right.
- *
- * Availability:
- * Non-Carbon CFM: in Textension not yet available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- TXNScroll(
- TXNObject iTXNObject,
- TXNScrollUnit iVerticalScrollUnit,
- TXNScrollUnit iHorizontalScrollUnit,
- SInt32 * ioVerticalDelta,
- SInt32 * ioHorizontalDelta);
-
-
-
- /*
- * TXNRegisterScrollInfoProc()
- *
- * Discussion:
- * If your application is drawing and handling its own scrolling
- * widgets use this function to register a TXNScrollInfoUPP. If you
- * register a TXNScrollInfoUPP it will be called every time MLTE
- * would normally update the values and maximum values of an MLTE
- * scrollbar. For example when the user types the return key to add
- * a new line at the end of their text MLTE will calculate a new
- * maximum value. If you have registered a TXNScrollInfoUPP it will
- * be called with this nex maximum value. To turn off the callbacks
- * call TXNRegisterScrollInfoProc with a value of NULL for the
- * iTXNScrollInfoUPP.
- *
- * Parameters:
- *
- * iTXNObject:
- * Opaque TXNObject obtained from TXNNewObject.
- *
- * iTXNScrollInfoUPP:
- * A universal procedure pointer.
- *
- * iRefCon:
- * A refcon that is passed to the callback.
- *
- * Availability:
- * Non-Carbon CFM: in Textension not yet available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- TXNRegisterScrollInfoProc(
- TXNObject iTXNObject,
- TXNScrollInfoUPP iTXNScrollInfoUPP,
- SInt32 iRefCon);
-
-
-
-
-
- /*
- * TXNClearUndo()
- *
- * Summary:
- * Purge the undo stack
- *
- * Parameters:
- *
- * iTXNObject:
- * Opaque TXNObject obtained from TXNNewObject.
- *
- * Availability:
- * Non-Carbon CFM: in Textension not yet available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- TXNClearUndo(TXNObject iTXNObject);
+
+
+/*
+ *********************************************************************************************************************
+ TXNDoFontMenuSelection
+ Given the menuID and menu item returned by MenuSelect determine the selected font
+ and change the current selection to be that Font. If the input TXNObject is
+ not active a parameter error is returned.
+ Input:
+ iTXNObject: An opaque TXNObject obtained from TXNNewObject.
+ iTXNFontMenuObject: A Font Menu Object obtained from TXNNewFontMenuObject.
+ iMenuID: SInt16 the ID of the selected menu.
+ iMenuItem: The item that was selected.
+ Output:
+ OSStatus: ParamErr and memory errors are possible.
+ **********************************************************************************************************************
+*/
+/*
+ * TXNDoFontMenuSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNDoFontMenuSelection(
+ TXNObject iTXNObject,
+ TXNFontMenuObject iTXNFontMenuObject,
+ SInt16 iMenuID,
+ SInt16 iMenuItem);
+
+
+
+/*
+ * TXNPrepareFontMenu()
+ *
+ * Summary:
+ * Prepares a Font menu for display.
+ *
+ * Discussion:
+ * You should call the TXNPrepareFontMenu function just before your
+ * application opens the Font menu for your user. If the text
+ * object's current selection is a single font, MLTE places a
+ * checkmark next to the menu item for that font.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * The text object that identifies the document with the Font menu
+ * you want to prepare. Pass NULL to display an inactive menu
+ * (dimmed).
+ *
+ * iTXNFontMenuObject:
+ * A Font menu object.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNPrepareFontMenu(
+ TXNObject iTXNObject, /* can be NULL */
+ TXNFontMenuObject iTXNFontMenuObject);
+
+
+
+/*
+ **********************************************************************************************************************
+ TXNVersionValue
+ Get the version number and a set of feature bits. TXNVersionValue uses a NumVersion structure.
+ See MacTypes.h for the format of the version. Currently there are two feature bits: one for
+ ATSUI default, another one for CarbonEvent default.
+ Input:
+ NONE
+
+ Output:
+ TXNVersionValue: Current version.
+ TXNFeatureBits*: Pointer to a bit mask. See TXNFeatureMask enum above. If kTXNWillDefaultToATSUIBit
+ is set it means that by default MLTE will use ATSUI to image and measure text and will
+ default to using Unicode to store characters. If kTXNWillDefaultToCarbonEventBit is set,
+ then MLTE will use carbon events by default and apple event will not be supported.
+ **********************************************************************************************************************
+*/
+/*
+ * TXNVersionInformation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TXNVersionValue )
+TXNVersionInformation(TXNFeatureBits * oFeatureFlags);
+
+
+
+/*
+ * TXNIsObjectAttachedToSpecificWindow()
+ *
+ * Summary:
+ * Determines whether the given object is attached to the given
+ * window.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * Opaque TXNObject obtained from TXNNewObject.
+ *
+ * iWindow:
+ * The window to check attachment against.
+ *
+ * oAttached:
+ * true if the object is attached to the given window, false
+ * otherwise.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension 1.2 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNIsObjectAttachedToSpecificWindow(
+ TXNObject iTXNObject,
+ WindowRef iWindow,
+ Boolean * oAttached);
+
+
+/*
+ * TXNSetRectBounds()
+ *
+ * Summary:
+ * Set the View rectangle and or the Destination rectangle.
+ *
+ * Discussion:
+ * The View rectangle controls the text you see. The Destination
+ * rectangle controls how text is laid out. The Scrollbar is drawn
+ * inside the View rectangle. You only need to pass in pointers for
+ * the rectangles you want to set.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * Opaque TXNObject obtained from TXNNewObject.
+ *
+ * iViewRect:
+ * The new view rectangle. If you do not want to change the view
+ * rectangle pass NULL.
+ *
+ * iDestinationRect:
+ * The new destination rectangle. Pass NULL if you don't want to
+ * change the destination retangle.
+ *
+ * iUpdate:
+ * If you would like the the text and where the scrollbars are
+ * placed recalculated and redrawn pass true. If you prefer to
+ * wait on this pass false.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+TXNSetRectBounds(
+ TXNObject iTXNObject,
+ const Rect * iViewRect, /* can be NULL */
+ const TXNLongRect * iDestinationRect, /* can be NULL */
+ Boolean iUpdate);
+
+
+/*
+ * TXNGetRectBounds()
+ *
+ * Summary:
+ * Get the values for the current View rectangle, Destination
+ * rectangle and Text rectangle.
+ *
+ * Discussion:
+ * You only need to pass in pointers for the rectangles you're
+ * interested in.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * Opaque TXNObject obtained from TXNNewObject.
+ *
+ * oViewRect:
+ * The current view rectangle
+ *
+ * oDestinationRect:
+ * The current destination rectangle
+ *
+ * oTextRect:
+ * The smallest rectangle needed to contain the current text.
+ * This rectangle is calculated by walking the lines of text and
+ * measuring each line. So this can be expensive. The width of
+ * this rectangle will be the width of the longest line in the
+ * text.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNGetRectBounds(
+ TXNObject iTXNObject,
+ Rect * oViewRect, /* can be NULL */
+ TXNLongRect * oDestinationRect, /* can be NULL */
+ TXNLongRect * oTextRect); /* can be NULL */
+
+
+
+/*
+ * TXNRecalcTextLayout()
+ *
+ * Summary:
+ * Recalculates the text layout based on the new View and
+ * Destination rectangles.
+ *
+ * Discussion:
+ * Call this if you called TXNSetRectBounds with the iUpdate
+ * parameter set to false. It will also recalcuate where the
+ * scrollbars, if any, should be placed. Finally an update event
+ * will be generated so that the TXNObject is redrawn.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * Opaque TXNObject obtained from TXNNewObject.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+TXNRecalcTextLayout(TXNObject iTXNObject);
+
+
+
+
+/*
+ * TXNScroll()
+ *
+ * Discussion:
+ * TXNScroll scrolls the text within a view rectangle of the
+ * specified object by the designated number of units. For example,
+ * you might want to scroll the text in an object in response to
+ * user input in a control other than the standard scrollbars that
+ * MLTE supplies.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * Opaque TXNObject obtained from TXNNewObject.
+ *
+ * iVerticalScrollUnit:
+ * Specifies what units the values in ioVerticalDelta are in. If
+ * iVerticalScrollUnit is equal to kTXNScrollUnitsArePixels the
+ * value is treated as pixels. If the value is
+ * kTXNScrollUnitsAreLines the value is treated as a count of
+ * lines. Note that using this value is the slowest because each
+ * line must be measured before it scrolls. Finally if
+ * kTXNScrollUnitsAreViewRects the value is treated as the height
+ * of the current viewRect.
+ *
+ * iHorizontalScrollUnit:
+ * Specifies what units the values in iDh are in. If
+ * iHorizontalScrollUnit is equal to kTXNScrollUnitsArePixels the
+ * value is treated as pixels. If the value is
+ * kTXNScrollUnitsAreLines the value is treated as a count of
+ * lines. Note that using this value for horizontal scrolling
+ * means that 16 pixels will be used to represent a line. Finally
+ * if kTXNScrollUnitsAreViewRects the value is treated as the
+ * width of the current viewRect.
+ *
+ * ioVerticalDelta:
+ * The vertical amount to scroll. The values in ioVerticalDelta
+ * can be treated as pixels, lines or viewrects. See the
+ * discussion of the TXNScrollUnit parameters for more information
+ * for this. On return this will contain the number of pixels
+ * actually scrolled in the vertical direction. A positive value
+ * moves the text down.
+ *
+ * ioHorizontalDelta:
+ * The horizontal amount to scroll. The values in
+ * ioHorizontalDelta can specify a scroll amount that is pixels,
+ * lines or view rects. Set TXNScrollUnit discussion for more
+ * information. On return this will contain the number of pixels
+ * actually scrolled in the horizontal direction. A positive value
+ * moves the text to the right.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension not yet available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNScroll(
+ TXNObject iTXNObject,
+ TXNScrollUnit iVerticalScrollUnit,
+ TXNScrollUnit iHorizontalScrollUnit,
+ SInt32 * ioVerticalDelta,
+ SInt32 * ioHorizontalDelta);
+
+
+
+/*
+ * TXNRegisterScrollInfoProc()
+ *
+ * Discussion:
+ * If your application is drawing and handling its own scrolling
+ * widgets use this function to register a TXNScrollInfoUPP. If you
+ * register a TXNScrollInfoUPP it will be called every time MLTE
+ * would normally update the values and maximum values of an MLTE
+ * scrollbar. For example when the user types the return key to add
+ * a new line at the end of their text MLTE will calculate a new
+ * maximum value. If you have registered a TXNScrollInfoUPP it will
+ * be called with this nex maximum value. To turn off the callbacks
+ * call TXNRegisterScrollInfoProc with a value of NULL for the
+ * iTXNScrollInfoUPP.
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * Opaque TXNObject obtained from TXNNewObject.
+ *
+ * iTXNScrollInfoUPP:
+ * A universal procedure pointer.
+ *
+ * iRefCon:
+ * A refcon that is passed to the callback.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension not yet available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+TXNRegisterScrollInfoProc(
+ TXNObject iTXNObject,
+ TXNScrollInfoUPP iTXNScrollInfoUPP,
+ SInt32 iRefCon);
+
+
+
+
+
+/*
+ * TXNClearUndo()
+ *
+ * Summary:
+ * Purge the undo stack
+ *
+ * Parameters:
+ *
+ * iTXNObject:
+ * Opaque TXNObject obtained from TXNNewObject.
+ *
+ * Availability:
+ * Non-Carbon CFM: in Textension not yet available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+TXNClearUndo(TXNObject iTXNObject);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MacTypes.h b/include/qt/MacTypes.h
index 55860cd98..a95d10c00 100644
--- a/include/qt/MacTypes.h
+++ b/include/qt/MacTypes.h
@@ -1,17 +1,17 @@
/*
File: MacTypes.h
-
+
Contains: Basic Macintosh data types.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#define __MACTYPES__
@@ -37,439 +37,424 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /********************************************************************************
+/********************************************************************************
- Special values in C
+ Special values in C
- NULL The C standard for an impossible pointer value
- nil A carry over from pascal, NULL is prefered for C
+ NULL The C standard for an impossible pointer value
+ nil A carry over from pascal, NULL is prefered for C
- *********************************************************************************/
+*********************************************************************************/
#ifndef NULL
-#if !defined(__cplusplus) && (defined(__SC__) || defined(THINK_C))
- /* Symantec C compilers (but not C++) want NULL and nil to be (void*)0 */
-#define NULL ((void *) 0)
-#else
- /* in case int is 16-bits, make sure NULL is 32-bits */
-#define NULL 0L
-#endif
+ #if !defined(__cplusplus) && (defined(__SC__) || defined(THINK_C))
+ /* Symantec C compilers (but not C++) want NULL and nil to be (void*)0 */
+ #define NULL ((void *) 0)
+ #else
+ /* in case int is 16-bits, make sure NULL is 32-bits */
+ #define NULL 0L
+ #endif
#endif
#ifndef nil
-#define nil NULL
+ #define nil NULL
#endif
- /********************************************************************************
-
- Base integer types for all target OS's and CPU's
-
- UInt8 8-bit unsigned integer
- SInt8 8-bit signed integer
- UInt16 16-bit unsigned integer
- SInt16 16-bit signed integer
- UInt32 32-bit unsigned integer
- SInt32 32-bit signed integer
- UInt64 64-bit unsigned integer
- SInt64 64-bit signed integer
-
- *********************************************************************************/
- typedef unsigned char UInt8;
- typedef signed char SInt8;
- typedef unsigned short UInt16;
- typedef signed short SInt16;
- typedef unsigned long UInt32;
- typedef signed long SInt32;
+/********************************************************************************
+
+ Base integer types for all target OS's and CPU's
+
+ UInt8 8-bit unsigned integer
+ SInt8 8-bit signed integer
+ UInt16 16-bit unsigned integer
+ SInt16 16-bit signed integer
+ UInt32 32-bit unsigned integer
+ SInt32 32-bit signed integer
+ UInt64 64-bit unsigned integer
+ SInt64 64-bit signed integer
+
+*********************************************************************************/
+typedef unsigned char UInt8;
+typedef signed char SInt8;
+typedef unsigned short UInt16;
+typedef signed short SInt16;
+typedef unsigned long UInt32;
+typedef signed long SInt32;
#if TARGET_RT_BIG_ENDIAN
- struct wide
- {
- SInt32 hi;
- UInt32 lo;
- };
- typedef struct wide wide;
- struct UnsignedWide
- {
- UInt32 hi;
- UInt32 lo;
- };
- typedef struct UnsignedWide UnsignedWide;
+struct wide {
+ SInt32 hi;
+ UInt32 lo;
+};
+typedef struct wide wide;
+struct UnsignedWide {
+ UInt32 hi;
+ UInt32 lo;
+};
+typedef struct UnsignedWide UnsignedWide;
#else
- struct wide
- {
- UInt32 lo;
- SInt32 hi;
- };
- typedef struct wide wide;
- struct UnsignedWide
- {
- UInt32 lo;
- UInt32 hi;
- };
- typedef struct UnsignedWide UnsignedWide;
+struct wide {
+ UInt32 lo;
+ SInt32 hi;
+};
+typedef struct wide wide;
+struct UnsignedWide {
+ UInt32 lo;
+ UInt32 hi;
+};
+typedef struct UnsignedWide UnsignedWide;
#endif /* TARGET_RT_BIG_ENDIAN */
#if TYPE_LONGLONG
- /*
- Note: wide and UnsignedWide must always be structs for source code
- compatibility. On the other hand UInt64 and SInt64 can be
- either a struct or a long long, depending on the compiler.
-
- If you use UInt64 and SInt64 you should do all operations on
- those data types through the functions/macros in Math64.h.
- This will assure that your code compiles with compilers that
- support long long and those that don't.
-
- The MS Visual C/C++ compiler uses __int64 instead of long long.
- */
-#if defined(_MSC_VER) && !defined(__MWERKS__) && defined(_M_IX86)
- typedef signed __int64 SInt64;
- typedef unsigned __int64 UInt64;
-#else
- typedef signed long long SInt64;
- typedef unsigned long long UInt64;
-#endif
+/*
+ Note: wide and UnsignedWide must always be structs for source code
+ compatibility. On the other hand UInt64 and SInt64 can be
+ either a struct or a long long, depending on the compiler.
+
+ If you use UInt64 and SInt64 you should do all operations on
+ those data types through the functions/macros in Math64.h.
+ This will assure that your code compiles with compilers that
+ support long long and those that don't.
+
+ The MS Visual C/C++ compiler uses __int64 instead of long long.
+*/
+ #if defined(_MSC_VER) && !defined(__MWERKS__) && defined(_M_IX86)
+ typedef signed __int64 SInt64;
+ typedef unsigned __int64 UInt64;
+ #else
+ typedef signed long long SInt64;
+ typedef unsigned long long UInt64;
+ #endif
#else
- typedef wide SInt64;
- typedef UnsignedWide UInt64;
+typedef wide SInt64;
+typedef UnsignedWide UInt64;
#endif /* TYPE_LONGLONG */
- /********************************************************************************
-
- Base fixed point types
-
- Fixed 16-bit signed integer plus 16-bit fraction
- UnsignedFixed 16-bit unsigned integer plus 16-bit fraction
- Fract 2-bit signed integer plus 30-bit fraction
- ShortFixed 8-bit signed integer plus 8-bit fraction
-
- *********************************************************************************/
- typedef long Fixed;
- typedef Fixed * FixedPtr;
- typedef long Fract;
- typedef Fract * FractPtr;
- typedef unsigned long UnsignedFixed;
- typedef UnsignedFixed * UnsignedFixedPtr;
- typedef short ShortFixed;
- typedef ShortFixed * ShortFixedPtr;
-
-
- /********************************************************************************
-
- Base floating point types
-
- Float32 32 bit IEEE float: 1 sign bit, 8 exponent bits, 23 fraction bits
- Float64 64 bit IEEE float: 1 sign bit, 11 exponent bits, 52 fraction bits
- Float80 80 bit MacOS float: 1 sign bit, 15 exponent bits, 1 integer bit, 63 fraction bits
- Float96 96 bit 68881 float: 1 sign bit, 15 exponent bits, 16 pad bits, 1 integer bit, 63 fraction bits
-
- Note: These are fixed size floating point types, useful when writing a floating
- point value to disk. If your compiler does not support a particular size
- float, a struct is used instead.
- Use of of the NCEG types (e.g. double_t) or an ANSI C type (e.g. double) if
- you want a floating point representation that is natural for any given
- compiler, but might be a different size on different compilers.
-
- *********************************************************************************/
- typedef float Float32;
- typedef double Float64;
- struct Float80
- {
- SInt16 exp;
- UInt16 man[4];
- };
- typedef struct Float80 Float80;
-
- struct Float96
- {
- SInt16 exp[2]; /* the second 16-bits are undefined */
- UInt16 man[4];
- };
- typedef struct Float96 Float96;
- struct Float32Point
- {
- Float32 x;
- Float32 y;
- };
- typedef struct Float32Point Float32Point;
-
- /********************************************************************************
-
- MacOS Memory Manager types
-
- Ptr Pointer to a non-relocatable block
- Handle Pointer to a master pointer to a relocatable block
- Size The number of bytes in a block (signed for historical reasons)
-
- *********************************************************************************/
- typedef char * Ptr;
- typedef Ptr * Handle;
- typedef long Size;
-
- /********************************************************************************
-
- Higher level basic types
-
- OSErr 16-bit result error code
- OSStatus 32-bit result error code
- LogicalAddress Address in the clients virtual address space
- ConstLogicalAddress Address in the clients virtual address space that will only be read
- PhysicalAddress Real address as used on the hardware bus
- BytePtr Pointer to an array of bytes
- ByteCount The size of an array of bytes
- ByteOffset An offset into an array of bytes
- ItemCount 32-bit iteration count
- OptionBits Standard 32-bit set of bit flags
- PBVersion ?
- Duration 32-bit millisecond timer for drivers
- AbsoluteTime 64-bit clock
- ScriptCode A particular set of written characters (e.g. Roman vs Cyrillic) and their encoding
- LangCode A particular language (e.g. English), as represented using a particular ScriptCode
- RegionCode Designates a language as used in a particular region (e.g. British vs American
- English) together with other region-dependent characteristics (e.g. date format)
- FourCharCode A 32-bit value made by packing four 1 byte characters together
- OSType A FourCharCode used in the OS and file system (e.g. creator)
- ResType A FourCharCode used to tag resources (e.g. 'DLOG')
-
- *********************************************************************************/
- typedef SInt16 OSErr;
- typedef SInt32 OSStatus;
- typedef void * LogicalAddress;
- typedef const void * ConstLogicalAddress;
- typedef void * PhysicalAddress;
- typedef UInt8 * BytePtr;
- typedef UInt32 ByteCount;
- typedef UInt32 ByteOffset;
- typedef SInt32 Duration;
- typedef UnsignedWide AbsoluteTime;
- typedef UInt32 OptionBits;
- typedef UInt32 ItemCount;
- typedef UInt32 PBVersion;
- typedef SInt16 ScriptCode;
- typedef SInt16 LangCode;
- typedef SInt16 RegionCode;
- typedef unsigned long FourCharCode;
- typedef FourCharCode OSType;
- typedef FourCharCode ResType;
- typedef OSType * OSTypePtr;
- typedef ResType * ResTypePtr;
- /********************************************************************************
-
- Boolean types and values
-
- Boolean A one byte value, holds "false" (0) or "true" (1)
- false The Boolean value of zero (0)
- true The Boolean value of one (1)
-
- *********************************************************************************/
- /*
- The identifiers "true" and "false" are becoming keywords in C++
- and work with the new built-in type "bool"
- "Boolean" will remain an unsigned char for compatibility with source
- code written before "bool" existed.
- */
+/********************************************************************************
+
+ Base fixed point types
+
+ Fixed 16-bit signed integer plus 16-bit fraction
+ UnsignedFixed 16-bit unsigned integer plus 16-bit fraction
+ Fract 2-bit signed integer plus 30-bit fraction
+ ShortFixed 8-bit signed integer plus 8-bit fraction
+
+*********************************************************************************/
+typedef long Fixed;
+typedef Fixed * FixedPtr;
+typedef long Fract;
+typedef Fract * FractPtr;
+typedef unsigned long UnsignedFixed;
+typedef UnsignedFixed * UnsignedFixedPtr;
+typedef short ShortFixed;
+typedef ShortFixed * ShortFixedPtr;
+
+
+/********************************************************************************
+
+ Base floating point types
+
+ Float32 32 bit IEEE float: 1 sign bit, 8 exponent bits, 23 fraction bits
+ Float64 64 bit IEEE float: 1 sign bit, 11 exponent bits, 52 fraction bits
+ Float80 80 bit MacOS float: 1 sign bit, 15 exponent bits, 1 integer bit, 63 fraction bits
+ Float96 96 bit 68881 float: 1 sign bit, 15 exponent bits, 16 pad bits, 1 integer bit, 63 fraction bits
+
+ Note: These are fixed size floating point types, useful when writing a floating
+ point value to disk. If your compiler does not support a particular size
+ float, a struct is used instead.
+ Use of of the NCEG types (e.g. double_t) or an ANSI C type (e.g. double) if
+ you want a floating point representation that is natural for any given
+ compiler, but might be a different size on different compilers.
+
+*********************************************************************************/
+typedef float Float32;
+typedef double Float64;
+struct Float80 {
+ SInt16 exp;
+ UInt16 man[4];
+};
+typedef struct Float80 Float80;
+
+struct Float96 {
+ SInt16 exp[2]; /* the second 16-bits are undefined */
+ UInt16 man[4];
+};
+typedef struct Float96 Float96;
+struct Float32Point {
+ Float32 x;
+ Float32 y;
+};
+typedef struct Float32Point Float32Point;
+
+/********************************************************************************
+
+ MacOS Memory Manager types
+
+ Ptr Pointer to a non-relocatable block
+ Handle Pointer to a master pointer to a relocatable block
+ Size The number of bytes in a block (signed for historical reasons)
+
+*********************************************************************************/
+typedef char * Ptr;
+typedef Ptr * Handle;
+typedef long Size;
+
+/********************************************************************************
+
+ Higher level basic types
+
+ OSErr 16-bit result error code
+ OSStatus 32-bit result error code
+ LogicalAddress Address in the clients virtual address space
+ ConstLogicalAddress Address in the clients virtual address space that will only be read
+ PhysicalAddress Real address as used on the hardware bus
+ BytePtr Pointer to an array of bytes
+ ByteCount The size of an array of bytes
+ ByteOffset An offset into an array of bytes
+ ItemCount 32-bit iteration count
+ OptionBits Standard 32-bit set of bit flags
+ PBVersion ?
+ Duration 32-bit millisecond timer for drivers
+ AbsoluteTime 64-bit clock
+ ScriptCode A particular set of written characters (e.g. Roman vs Cyrillic) and their encoding
+ LangCode A particular language (e.g. English), as represented using a particular ScriptCode
+ RegionCode Designates a language as used in a particular region (e.g. British vs American
+ English) together with other region-dependent characteristics (e.g. date format)
+ FourCharCode A 32-bit value made by packing four 1 byte characters together
+ OSType A FourCharCode used in the OS and file system (e.g. creator)
+ ResType A FourCharCode used to tag resources (e.g. 'DLOG')
+
+*********************************************************************************/
+typedef SInt16 OSErr;
+typedef SInt32 OSStatus;
+typedef void * LogicalAddress;
+typedef const void * ConstLogicalAddress;
+typedef void * PhysicalAddress;
+typedef UInt8 * BytePtr;
+typedef UInt32 ByteCount;
+typedef UInt32 ByteOffset;
+typedef SInt32 Duration;
+typedef UnsignedWide AbsoluteTime;
+typedef UInt32 OptionBits;
+typedef UInt32 ItemCount;
+typedef UInt32 PBVersion;
+typedef SInt16 ScriptCode;
+typedef SInt16 LangCode;
+typedef SInt16 RegionCode;
+typedef unsigned long FourCharCode;
+typedef FourCharCode OSType;
+typedef FourCharCode ResType;
+typedef OSType * OSTypePtr;
+typedef ResType * ResTypePtr;
+/********************************************************************************
+
+ Boolean types and values
+
+ Boolean A one byte value, holds "false" (0) or "true" (1)
+ false The Boolean value of zero (0)
+ true The Boolean value of one (1)
+
+*********************************************************************************/
+/*
+ The identifiers "true" and "false" are becoming keywords in C++
+ and work with the new built-in type "bool"
+ "Boolean" will remain an unsigned char for compatibility with source
+ code written before "bool" existed.
+ */
#if !TYPE_BOOL
-#if TARGET_OS_WIN32
- /* MS VC normally warns if true or false is defined */
-#pragma warning (disable: 4237)
-#endif
- enum
- {
- false = 0,
- true = 1
- };
-
-#if TARGET_OS_WIN32
-#pragma warning (default: 4237)
-#endif
+ #if TARGET_OS_WIN32
+ /* MS VC normally warns if true or false is defined */
+ #pragma warning (disable: 4237)
+ #endif
+enum {
+ false = 0,
+ true = 1
+};
+
+ #if TARGET_OS_WIN32
+ #pragma warning (default: 4237)
+ #endif
#endif /* !TYPE_BOOL */
- typedef unsigned char Boolean;
- /********************************************************************************
-
- Function Pointer Types
-
- ProcPtr Generic pointer to a function
- Register68kProcPtr Pointer to a 68K function that expects parameters in registers
- UniversalProcPtr Pointer to classic 68K code or a RoutineDescriptor
-
- ProcHandle Pointer to a ProcPtr
- UniversalProcHandle Pointer to a UniversalProcPtr
-
- *********************************************************************************/
- typedef CALLBACK_API_C(long , ProcPtr)();
- typedef CALLBACK_API(void , Register68kProcPtr)();
+typedef unsigned char Boolean;
+/********************************************************************************
+
+ Function Pointer Types
+
+ ProcPtr Generic pointer to a function
+ Register68kProcPtr Pointer to a 68K function that expects parameters in registers
+ UniversalProcPtr Pointer to classic 68K code or a RoutineDescriptor
+
+ ProcHandle Pointer to a ProcPtr
+ UniversalProcHandle Pointer to a UniversalProcPtr
+
+*********************************************************************************/
+typedef CALLBACK_API_C( long , ProcPtr )();
+typedef CALLBACK_API( void , Register68kProcPtr )();
#if TARGET_OS_MAC && TARGET_RT_MAC_CFM
- /* The RoutineDescriptor structure is defined in MixedMode.h */
- typedef struct RoutineDescriptor *UniversalProcPtr;
+/* The RoutineDescriptor structure is defined in MixedMode.h */
+typedef struct RoutineDescriptor *UniversalProcPtr;
#else
- typedef ProcPtr UniversalProcPtr;
+typedef ProcPtr UniversalProcPtr;
#endif /* TARGET_OS_MAC && TARGET_RT_MAC_CFM */
- typedef ProcPtr * ProcHandle;
- typedef UniversalProcPtr * UniversalProcHandle;
-
-
- /********************************************************************************
-
- Common Constants
-
- noErr OSErr: function performed properly - no error
- kNilOptions OptionBits: all flags false
- kInvalidID KernelID: NULL is for pointers as kInvalidID is for ID's
- kVariableLengthArray array bounds: variable length array
-
- Note: kVariableLengthArray is used in array bounds to specify a variable length array.
- It is ususally used in variable length structs when the last field is an array
- of any size. Before ANSI C, we used zero as the bounds of variable length
- array, but zero length array are illegal in ANSI C. Example usage:
-
- struct FooList
- {
- short listLength;
- Foo elements[kVariableLengthArray];
- };
-
- *********************************************************************************/
- enum
- {
- noErr = 0
- };
-
- enum
- {
- kNilOptions = 0
- };
+typedef ProcPtr * ProcHandle;
+typedef UniversalProcPtr * UniversalProcHandle;
+
+
+/********************************************************************************
+
+ Common Constants
+
+ noErr OSErr: function performed properly - no error
+ kNilOptions OptionBits: all flags false
+ kInvalidID KernelID: NULL is for pointers as kInvalidID is for ID's
+ kVariableLengthArray array bounds: variable length array
+
+ Note: kVariableLengthArray is used in array bounds to specify a variable length array.
+ It is ususally used in variable length structs when the last field is an array
+ of any size. Before ANSI C, we used zero as the bounds of variable length
+ array, but zero length array are illegal in ANSI C. Example usage:
+
+ struct FooList
+ {
+ short listLength;
+ Foo elements[kVariableLengthArray];
+ };
+
+*********************************************************************************/
+enum {
+ noErr = 0
+};
+
+enum {
+ kNilOptions = 0
+};
#define kInvalidID 0
- enum
- {
- kVariableLengthArray = 1
- };
-
- enum
- {
- kUnknownType = 0x3F3F3F3F /* "????" QuickTime 3.0: default unknown ResType or OSType */
- };
-
-
-
- /********************************************************************************
-
- String Types and Unicode Types
-
- UnicodeScalarValue, A complete Unicode character in UTF-32 format, with
- UTF32Char values from 0 through 0x10FFFF (excluding the surrogate
- range 0xD800-0xDFFF and certain disallowed values).
-
- UniChar, A 16-bit Unicode code value in the default UTF-16 format.
- UTF16Char UnicodeScalarValues 0-0xFFFF are expressed in UTF-16
- format using a single UTF16Char with the same value.
- UnicodeScalarValues 0x10000-0x10FFFF are expressed in
- UTF-16 format using a pair of UTF16Chars - one in the
- high surrogate range (0xD800-0xDBFF) followed by one in
- the low surrogate range (0xDC00-0xDFFF). All of the
- characters defined in Unicode versions through 3.0 are
- in the range 0-0xFFFF and can be expressed using a single
- UTF16Char, thus the term "Unicode character" generally
- refers to a UniChar = UTF16Char.
-
- UTF8Char An 8-bit code value in UTF-8 format. UnicodeScalarValues
- 0-0x7F are expressed in UTF-8 format using one UTF8Char
- with the same value. UnicodeScalarValues above 0x7F are
- expressed in UTF-8 format using 2-4 UTF8Chars, all with
- values in the range 0x80-0xF4 (UnicodeScalarValues
- 0x100-0xFFFF use two or three UTF8Chars,
- UnicodeScalarValues 0x10000-0x10FFFF use four UTF8Chars).
-
- UniCharCount A count of UTF-16 code values in an array or buffer.
-
- StrNNN Pascal string holding up to NNN bytes
- StringPtr Pointer to a pascal string
- StringHandle Pointer to a StringPtr
- ConstStringPtr Pointer to a read-only pascal string
- ConstStrNNNParam For function parameters only - means string is const
-
- CStringPtr Pointer to a C string (in C: char*)
- ConstCStringPtr Pointer to a read-only C string (in C: const char*)
-
- Note: The length of a pascal string is stored as the first byte.
- A pascal string does not have a termination byte.
- A pascal string can hold at most 255 bytes of data.
- The first character in a pascal string is offset one byte from the start of the string.
-
- A C string is terminated with a byte of value zero.
- A C string has no length limitation.
- The first character in a C string is the zeroth byte of the string.
-
-
- *********************************************************************************/
- typedef UInt32 UnicodeScalarValue;
- typedef UInt32 UTF32Char;
- typedef UInt16 UniChar;
- typedef UInt16 UTF16Char;
- typedef UInt8 UTF8Char;
- typedef UniChar * UniCharPtr;
- typedef UInt32 UniCharCount;
- typedef UniCharCount * UniCharCountPtr;
- typedef unsigned char Str255[256];
- typedef unsigned char Str63[64];
- typedef unsigned char Str32[33];
- typedef unsigned char Str31[32];
- typedef unsigned char Str27[28];
- typedef unsigned char Str15[16];
- /*
- The type Str32 is used in many AppleTalk based data structures.
- It holds up to 32 one byte chars. The problem is that with the
- length byte it is 33 bytes long. This can cause weird alignment
- problems in structures. To fix this the type "Str32Field" has
- been created. It should only be used to hold 32 chars, but
- it is 34 bytes long so that there are no alignment problems.
- */
- typedef unsigned char Str32Field[34];
- /*
- QuickTime 3.0:
- The type StrFileName is used to make MacOS structs work
- cross-platform. For example FSSpec or SFReply previously
- contained a Str63 field. They now contain a StrFileName
- field which is the same when targeting the MacOS but is
- a 256 char buffer for Win32 and unix, allowing them to
- contain long file names.
- */
+enum {
+ kVariableLengthArray = 1
+};
+
+enum {
+ kUnknownType = 0x3F3F3F3F /* "????" QuickTime 3.0: default unknown ResType or OSType */
+};
+
+
+
+/********************************************************************************
+
+ String Types and Unicode Types
+
+ UnicodeScalarValue, A complete Unicode character in UTF-32 format, with
+ UTF32Char values from 0 through 0x10FFFF (excluding the surrogate
+ range 0xD800-0xDFFF and certain disallowed values).
+
+ UniChar, A 16-bit Unicode code value in the default UTF-16 format.
+ UTF16Char UnicodeScalarValues 0-0xFFFF are expressed in UTF-16
+ format using a single UTF16Char with the same value.
+ UnicodeScalarValues 0x10000-0x10FFFF are expressed in
+ UTF-16 format using a pair of UTF16Chars - one in the
+ high surrogate range (0xD800-0xDBFF) followed by one in
+ the low surrogate range (0xDC00-0xDFFF). All of the
+ characters defined in Unicode versions through 3.0 are
+ in the range 0-0xFFFF and can be expressed using a single
+ UTF16Char, thus the term "Unicode character" generally
+ refers to a UniChar = UTF16Char.
+
+ UTF8Char An 8-bit code value in UTF-8 format. UnicodeScalarValues
+ 0-0x7F are expressed in UTF-8 format using one UTF8Char
+ with the same value. UnicodeScalarValues above 0x7F are
+ expressed in UTF-8 format using 2-4 UTF8Chars, all with
+ values in the range 0x80-0xF4 (UnicodeScalarValues
+ 0x100-0xFFFF use two or three UTF8Chars,
+ UnicodeScalarValues 0x10000-0x10FFFF use four UTF8Chars).
+
+ UniCharCount A count of UTF-16 code values in an array or buffer.
+
+ StrNNN Pascal string holding up to NNN bytes
+ StringPtr Pointer to a pascal string
+ StringHandle Pointer to a StringPtr
+ ConstStringPtr Pointer to a read-only pascal string
+ ConstStrNNNParam For function parameters only - means string is const
+
+ CStringPtr Pointer to a C string (in C: char*)
+ ConstCStringPtr Pointer to a read-only C string (in C: const char*)
+
+ Note: The length of a pascal string is stored as the first byte.
+ A pascal string does not have a termination byte.
+ A pascal string can hold at most 255 bytes of data.
+ The first character in a pascal string is offset one byte from the start of the string.
+
+ A C string is terminated with a byte of value zero.
+ A C string has no length limitation.
+ The first character in a C string is the zeroth byte of the string.
+
+
+*********************************************************************************/
+typedef UInt32 UnicodeScalarValue;
+typedef UInt32 UTF32Char;
+typedef UInt16 UniChar;
+typedef UInt16 UTF16Char;
+typedef UInt8 UTF8Char;
+typedef UniChar * UniCharPtr;
+typedef UInt32 UniCharCount;
+typedef UniCharCount * UniCharCountPtr;
+typedef unsigned char Str255[256];
+typedef unsigned char Str63[64];
+typedef unsigned char Str32[33];
+typedef unsigned char Str31[32];
+typedef unsigned char Str27[28];
+typedef unsigned char Str15[16];
+/*
+ The type Str32 is used in many AppleTalk based data structures.
+ It holds up to 32 one byte chars. The problem is that with the
+ length byte it is 33 bytes long. This can cause weird alignment
+ problems in structures. To fix this the type "Str32Field" has
+ been created. It should only be used to hold 32 chars, but
+ it is 34 bytes long so that there are no alignment problems.
+*/
+typedef unsigned char Str32Field[34];
+/*
+ QuickTime 3.0:
+ The type StrFileName is used to make MacOS structs work
+ cross-platform. For example FSSpec or SFReply previously
+ contained a Str63 field. They now contain a StrFileName
+ field which is the same when targeting the MacOS but is
+ a 256 char buffer for Win32 and unix, allowing them to
+ contain long file names.
+*/
#if TARGET_OS_MAC
- typedef Str63 StrFileName;
+typedef Str63 StrFileName;
#else
- typedef Str255 StrFileName;
+typedef Str255 StrFileName;
#endif /* TARGET_OS_MAC */
- typedef unsigned char * StringPtr;
- typedef StringPtr * StringHandle;
- typedef const unsigned char * ConstStringPtr;
- typedef const unsigned char * ConstStr255Param;
- typedef const unsigned char * ConstStr63Param;
- typedef const unsigned char * ConstStr32Param;
- typedef const unsigned char * ConstStr31Param;
- typedef const unsigned char * ConstStr27Param;
- typedef const unsigned char * ConstStr15Param;
+typedef unsigned char * StringPtr;
+typedef StringPtr * StringHandle;
+typedef const unsigned char * ConstStringPtr;
+typedef const unsigned char * ConstStr255Param;
+typedef const unsigned char * ConstStr63Param;
+typedef const unsigned char * ConstStr32Param;
+typedef const unsigned char * ConstStr31Param;
+typedef const unsigned char * ConstStr27Param;
+typedef const unsigned char * ConstStr15Param;
#if TARGET_OS_MAC
- typedef ConstStr63Param ConstStrFileNameParam;
+typedef ConstStr63Param ConstStrFileNameParam;
#else
- typedef ConstStr255Param ConstStrFileNameParam;
+typedef ConstStr255Param ConstStrFileNameParam;
#endif /* TARGET_OS_MAC */
#ifdef __cplusplus
- inline unsigned char StrLength(ConstStr255Param string)
- {
- return (*string);
- }
+inline unsigned char StrLength(ConstStr255Param string) { return (*string); }
#else
#define StrLength(string) (*(unsigned char *)(string))
#endif /* defined(__cplusplus) */
@@ -478,317 +463,306 @@ extern "C" {
#define Length(string) StrLength(string)
#endif /* OLDROUTINENAMES */
- /********************************************************************************
-
- Quickdraw Types
-
- Point 2D Quickdraw coordinate, range: -32K to +32K
- Rect Rectangular Quickdraw area
- Style Quickdraw font rendering styles
- StyleParameter Style when used as a parameter (historical 68K convention)
- StyleField Style when used as a field (historical 68K convention)
- CharParameter Char when used as a parameter (historical 68K convention)
-
- Note: The original Macintosh toolbox in 68K Pascal defined Style as a SET.
- Both Style and CHAR occupy 8-bits in packed records or 16-bits when
- used as fields in non-packed records or as parameters.
-
- *********************************************************************************/
- struct Point
- {
- short v;
- short h;
- };
- typedef struct Point Point;
- typedef Point * PointPtr;
- struct Rect
- {
- short top;
- short left;
- short bottom;
- short right;
- };
- typedef struct Rect Rect;
- typedef Rect * RectPtr;
- struct FixedPoint
- {
- Fixed x;
- Fixed y;
- };
- typedef struct FixedPoint FixedPoint;
- struct FixedRect
- {
- Fixed left;
- Fixed top;
- Fixed right;
- Fixed bottom;
- };
- typedef struct FixedRect FixedRect;
-
- typedef short CharParameter;
- enum
- {
- normal = 0,
- bold = 1,
- italic = 2,
- underline = 4,
- outline = 8,
- shadow = 0x10,
- condense = 0x20,
- extend = 0x40
- };
-
- typedef unsigned char Style;
- typedef short StyleParameter;
- typedef Style StyleField;
-
-
- /********************************************************************************
-
- QuickTime TimeBase types (previously in Movies.h)
-
- TimeValue Count of units
- TimeScale Units per second
- CompTimeValue 64-bit count of units (always a struct)
- TimeValue64 64-bit count of units (long long or struct)
- TimeBase An opaque reference to a time base
- TimeRecord Package of TimeBase, duration, and scale
-
- *********************************************************************************/
- typedef long TimeValue;
- typedef long TimeScale;
- typedef wide CompTimeValue;
- typedef SInt64 TimeValue64;
- typedef struct TimeBaseRecord* TimeBase;
- struct TimeRecord
- {
- CompTimeValue value; /* units (duration or absolute) */
- TimeScale scale; /* units per second */
- TimeBase base; /* refernce to the time base */
- };
- typedef struct TimeRecord TimeRecord;
-
- /********************************************************************************
-
- THINK C base objects
-
- HandleObject Root class for handle based THINK C++ objects
- PascalObject Root class for pascal style objects in THINK C++
-
- *********************************************************************************/
+/********************************************************************************
+
+ Quickdraw Types
+
+ Point 2D Quickdraw coordinate, range: -32K to +32K
+ Rect Rectangular Quickdraw area
+ Style Quickdraw font rendering styles
+ StyleParameter Style when used as a parameter (historical 68K convention)
+ StyleField Style when used as a field (historical 68K convention)
+ CharParameter Char when used as a parameter (historical 68K convention)
+
+ Note: The original Macintosh toolbox in 68K Pascal defined Style as a SET.
+ Both Style and CHAR occupy 8-bits in packed records or 16-bits when
+ used as fields in non-packed records or as parameters.
+
+*********************************************************************************/
+struct Point {
+ short v;
+ short h;
+};
+typedef struct Point Point;
+typedef Point * PointPtr;
+struct Rect {
+ short top;
+ short left;
+ short bottom;
+ short right;
+};
+typedef struct Rect Rect;
+typedef Rect * RectPtr;
+struct FixedPoint {
+ Fixed x;
+ Fixed y;
+};
+typedef struct FixedPoint FixedPoint;
+struct FixedRect {
+ Fixed left;
+ Fixed top;
+ Fixed right;
+ Fixed bottom;
+};
+typedef struct FixedRect FixedRect;
+
+typedef short CharParameter;
+enum {
+ normal = 0,
+ bold = 1,
+ italic = 2,
+ underline = 4,
+ outline = 8,
+ shadow = 0x10,
+ condense = 0x20,
+ extend = 0x40
+};
+
+typedef unsigned char Style;
+typedef short StyleParameter;
+typedef Style StyleField;
+
+
+/********************************************************************************
+
+ QuickTime TimeBase types (previously in Movies.h)
+
+ TimeValue Count of units
+ TimeScale Units per second
+ CompTimeValue 64-bit count of units (always a struct)
+ TimeValue64 64-bit count of units (long long or struct)
+ TimeBase An opaque reference to a time base
+ TimeRecord Package of TimeBase, duration, and scale
+
+*********************************************************************************/
+typedef long TimeValue;
+typedef long TimeScale;
+typedef wide CompTimeValue;
+typedef SInt64 TimeValue64;
+typedef struct TimeBaseRecord* TimeBase;
+struct TimeRecord {
+ CompTimeValue value; /* units (duration or absolute) */
+ TimeScale scale; /* units per second */
+ TimeBase base; /* refernce to the time base */
+};
+typedef struct TimeRecord TimeRecord;
+
+/********************************************************************************
+
+ THINK C base objects
+
+ HandleObject Root class for handle based THINK C++ objects
+ PascalObject Root class for pascal style objects in THINK C++
+
+*********************************************************************************/
#if defined(__SC__) && !defined(__STDC__) && defined(__cplusplus)
- class __machdl HandleObject {};
-#if TARGET_CPU_68K
- class __pasobj PascalObject {};
+ class __machdl HandleObject {};
+ #if TARGET_CPU_68K
+ class __pasobj PascalObject {};
+ #endif
#endif
-#endif
-
-
- /********************************************************************************
-
- MacOS versioning structures
- VersRec Contents of a 'vers' resource
- VersRecPtr Pointer to a VersRecPtr
- VersRecHndl Resource Handle containing a VersRec
- NumVersion Packed BCD version representation (e.g. "4.2.1a3" is 0x04214003)
- UniversalProcPtr Pointer to classic 68K code or a RoutineDescriptor
- ProcHandle Pointer to a ProcPtr
- UniversalProcHandle Pointer to a UniversalProcPtr
-
- *********************************************************************************/
+/********************************************************************************
+
+ MacOS versioning structures
+
+ VersRec Contents of a 'vers' resource
+ VersRecPtr Pointer to a VersRecPtr
+ VersRecHndl Resource Handle containing a VersRec
+ NumVersion Packed BCD version representation (e.g. "4.2.1a3" is 0x04214003)
+ UniversalProcPtr Pointer to classic 68K code or a RoutineDescriptor
+
+ ProcHandle Pointer to a ProcPtr
+ UniversalProcHandle Pointer to a UniversalProcPtr
+
+*********************************************************************************/
#if TARGET_RT_BIG_ENDIAN
- struct NumVersion
- {
- /* Numeric version part of 'vers' resource */
- UInt8 majorRev; /*1st part of version number in BCD*/
- UInt8 minorAndBugRev; /*2nd & 3rd part of version number share a byte*/
- UInt8 stage; /*stage code: dev, alpha, beta, final*/
- UInt8 nonRelRev; /*revision level of non-released version*/
- };
- typedef struct NumVersion NumVersion;
+struct NumVersion {
+ /* Numeric version part of 'vers' resource */
+ UInt8 majorRev; /*1st part of version number in BCD*/
+ UInt8 minorAndBugRev; /*2nd & 3rd part of version number share a byte*/
+ UInt8 stage; /*stage code: dev, alpha, beta, final*/
+ UInt8 nonRelRev; /*revision level of non-released version*/
+};
+typedef struct NumVersion NumVersion;
#else
- struct NumVersion
- {
- /* Numeric version part of 'vers' resource accessable in little endian format */
- UInt8 nonRelRev; /*revision level of non-released version*/
- UInt8 stage; /*stage code: dev, alpha, beta, final*/
- UInt8 minorAndBugRev; /*2nd & 3rd part of version number share a byte*/
- UInt8 majorRev; /*1st part of version number in BCD*/
- };
- typedef struct NumVersion NumVersion;
+struct NumVersion {
+ /* Numeric version part of 'vers' resource accessable in little endian format */
+ UInt8 nonRelRev; /*revision level of non-released version*/
+ UInt8 stage; /*stage code: dev, alpha, beta, final*/
+ UInt8 minorAndBugRev; /*2nd & 3rd part of version number share a byte*/
+ UInt8 majorRev; /*1st part of version number in BCD*/
+};
+typedef struct NumVersion NumVersion;
#endif /* TARGET_RT_BIG_ENDIAN */
- enum
- {
- /* Version Release Stage Codes */
- developStage = 0x20,
- alphaStage = 0x40,
- betaStage = 0x60,
- finalStage = 0x80
- };
-
- union NumVersionVariant
- {
- /* NumVersionVariant is a wrapper so NumVersion can be accessed as a 32-bit value */
- NumVersion parts;
- unsigned long whole;
- };
- typedef union NumVersionVariant NumVersionVariant;
- typedef NumVersionVariant * NumVersionVariantPtr;
- typedef NumVersionVariantPtr * NumVersionVariantHandle;
- struct VersRec
- {
- /* 'vers' resource format */
- NumVersion numericVersion; /*encoded version number*/
- short countryCode; /*country code from intl utilities*/
- Str255 shortVersion; /*version number string - worst case*/
- Str255 reserved; /*longMessage string packed after shortVersion*/
- };
- typedef struct VersRec VersRec;
- typedef VersRec * VersRecPtr;
- typedef VersRecPtr * VersRecHndl;
- /*********************************************************************************
-
- Old names for types
-
- *********************************************************************************/
- typedef UInt8 Byte;
- typedef SInt8 SignedByte;
- typedef wide * WidePtr;
- typedef UnsignedWide * UnsignedWidePtr;
- typedef Float80 extended80;
- typedef Float96 extended96;
- typedef SInt8 VHSelect;
- /*********************************************************************************
-
- Debugger functions
-
- *********************************************************************************/
- /*
- * Debugger()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Debugger(void) ONEWORDINLINE(0xA9FF);
-
-
- /*
- * DebugStr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DebugStr(ConstStr255Param debuggerMsg) ONEWORDINLINE(0xABFF);
+enum {
+ /* Version Release Stage Codes */
+ developStage = 0x20,
+ alphaStage = 0x40,
+ betaStage = 0x60,
+ finalStage = 0x80
+};
+
+union NumVersionVariant {
+ /* NumVersionVariant is a wrapper so NumVersion can be accessed as a 32-bit value */
+ NumVersion parts;
+ unsigned long whole;
+};
+typedef union NumVersionVariant NumVersionVariant;
+typedef NumVersionVariant * NumVersionVariantPtr;
+typedef NumVersionVariantPtr * NumVersionVariantHandle;
+struct VersRec {
+ /* 'vers' resource format */
+ NumVersion numericVersion; /*encoded version number*/
+ short countryCode; /*country code from intl utilities*/
+ Str255 shortVersion; /*version number string - worst case*/
+ Str255 reserved; /*longMessage string packed after shortVersion*/
+};
+typedef struct VersRec VersRec;
+typedef VersRec * VersRecPtr;
+typedef VersRecPtr * VersRecHndl;
+/*********************************************************************************
+
+ Old names for types
+
+*********************************************************************************/
+typedef UInt8 Byte;
+typedef SInt8 SignedByte;
+typedef wide * WidePtr;
+typedef UnsignedWide * UnsignedWidePtr;
+typedef Float80 extended80;
+typedef Float96 extended96;
+typedef SInt8 VHSelect;
+/*********************************************************************************
+
+ Debugger functions
+
+*********************************************************************************/
+/*
+ * Debugger()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Debugger(void) ONEWORDINLINE(0xA9FF);
+
+
+/*
+ * DebugStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DebugStr(ConstStr255Param debuggerMsg) ONEWORDINLINE(0xABFF);
#if TARGET_OS_MAC
#if CALL_NOT_IN_CARBON
- /*
- * debugstr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- debugstr(const char * debuggerMsg);
+/*
+ * debugstr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+debugstr(const char * debuggerMsg);
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_CPU_PPC
- /* Only for Mac OS native drivers */
+/* Only for Mac OS native drivers */
#if CALL_NOT_IN_CARBON
- /*
- * SysDebug()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- SysDebug(void);
-
-
- /*
- * SysDebugStr()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- SysDebugStr(ConstStr255Param str);
+/*
+ * SysDebug()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+SysDebug(void);
+
+
+/*
+ * SysDebugStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+SysDebugStr(ConstStr255Param str);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_CPU_PPC */
- /* SADE break points */
- /*
- * SysBreak()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SysBreak(void) THREEWORDINLINE(0x303C, 0xFE16, 0xA9C9);
-
-
- /*
- * SysBreakStr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SysBreakStr(ConstStr255Param debuggerMsg) THREEWORDINLINE(0x303C, 0xFE15, 0xA9C9);
-
-
- /*
- * SysBreakFunc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SysBreakFunc(ConstStr255Param debuggerMsg) THREEWORDINLINE(0x303C, 0xFE14, 0xA9C9);
-
-
- /* old names for Debugger and DebugStr */
+/* SADE break points */
+/*
+ * SysBreak()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SysBreak(void) THREEWORDINLINE(0x303C, 0xFE16, 0xA9C9);
+
+
+/*
+ * SysBreakStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SysBreakStr(ConstStr255Param debuggerMsg) THREEWORDINLINE(0x303C, 0xFE15, 0xA9C9);
+
+
+/*
+ * SysBreakFunc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SysBreakFunc(ConstStr255Param debuggerMsg) THREEWORDINLINE(0x303C, 0xFE14, 0xA9C9);
+
+
+/* old names for Debugger and DebugStr */
#if OLDROUTINENAMES && TARGET_CPU_68K
-#define Debugger68k() Debugger()
-#define DebugStr68k(s) DebugStr(s)
+ #define Debugger68k() Debugger()
+ #define DebugStr68k(s) DebugStr(s)
#endif
#endif /* TARGET_OS_MAC */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MacWindows.h b/include/qt/MacWindows.h
index 30dc6ef50..31e70e15a 100644
--- a/include/qt/MacWindows.h
+++ b/include/qt/MacWindows.h
@@ -1,17 +1,17 @@
/*
File: MacWindows.h
-
+
Contains: Window Manager Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2002 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 __MACWINDOWS__
#define __MACWINDOWS__
@@ -92,7544 +92,7399 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* */
- /* Current documentation for the Mac OS Window Manager is available on the web: */
- /* <http://developer.apple.com/techpubs/macos8/HumanInterfaceToolbox/WindowManager/windowmanager.html> */
- /* */
- /*--------------------------------------------------------------------------------------*/
- /* o Property Types */
- /*--------------------------------------------------------------------------------------*/
- typedef OSType PropertyCreator;
- typedef OSType PropertyTag;
- /*--------------------------------------------------------------------------------------*/
- /* o Window Classes */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * WindowClass
- *
- * Summary:
- * The types of windows provided by the Window Manager.
- *
- * Discussion:
- * The class of a window determines several aspects of the window:
- * its appearance, its initial window attributes, its initial window
- * group, and its initial modality. All of these except for the
- * window's appearance may be changed later using other Window
- * Manager APIs.
- */
- typedef UInt32 WindowClass;
- enum
- {
-
- /*
- * An alert window is used when the application needs the user's
- * attention immediately. On Mac OS 9 and earlier, a visible alert
- * window will prevent the user from switching to any other
- * application. Use kThemeBrushAlertBackgroundActive to draw the
- * background of alert windows. Alert windows are initially placed in
- * the modal window group, given a modality of
- * kWindowModalityAppModal, and given an activation scope of
- * kWindowActivationScopeAll. Available in Mac OS 8.5 and later.
- */
- kAlertWindowClass = 1,
-
- /*
- * Similar to kAlertWindowClass, but provides a window that is
- * movable and that allows switching to other applications. Generally
- * you should use this window class rather than kAlertWindowClass.
- * Use kThemeBrushAlertBackgroundActive to draw the background of
- * movable alert windows. Movable alert windows are initially placed
- * in the modal window group, given a modality of
- * kWindowModalityAppModal, and given an activation scope of
- * kWindowActivationScopeAll. Available in Mac OS 8.5 and later.
- */
- kMovableAlertWindowClass = 2,
-
- /*
- * A modal window is used to display a dialog (but not an alert; use
- * kAlertWindowClass for alerts). On Mac OS 9 and earlier, a visible
- * modal window will prevent the user from switching to any other
- * application. Use kThemeBrushDialogBackgroundActive to draw the
- * background of modal windows. Modal windows are initially placed in
- * the modal window group, given a modality of
- * kWindowModalityAppModal, and given an activation scope of
- * kWindowActivationScopeAll. Available in Mac OS 8.5 and later.
- */
- kModalWindowClass = 3,
-
- /*
- * Similar to kModalWindowClass, but provides a window that is
- * movable and that allows switching to other applications. Generally
- * you should use this window class rather than kModalWindowClass. If
- * you are using CarbonLib 1.3 or later, or Mac OS X, use
- * kThemeBrushMovableModalBackground to draw the background of
- * movable modal windows; on earlier versions of CarbonLib, or for
- * non-Carbon programming, use kThemeBrushDialogBackgroundActive.
- * Movable modal windows are initially placed in the modal window
- * group, given a modality of kWindowModalityAppModal, and given an
- * activation scope of kWindowActivationScopeAll. Available in Mac OS
- * 8.5 and later.
- */
- kMovableModalWindowClass = 4,
-
- /*
- * A floating window is layered above all application windows except
- * for alert and modal windows. It is commonly used for palette
- * windows, inspectors, and other accessory (non-document) windows.
- * Use kThemeBrushUtilityWindowBackgroundActive or
- * kThemeBrushDocumentWindowBackground to draw the background of
- * floating windows. Floating windows are initially placed in the
- * floating window group, given a modality of kWindowModalityNone,
- * and given an activation scope of
- * kWindowActivationScopeIndependent. Available in Mac OS 8.6 and
- * later.
- */
- kFloatingWindowClass = 5,
-
- /*
- * A document window is used for normal application document windows.
- * Use kThemeBrushDocumentWindowBackground or your own custom drawing
- * to draw the background of a document window. Document windows are
- * initially placed in the document window group, given a modality of
- * kWindowModalityNone, and given an activation scope of
- * kWindowActivationScopeAll. Available in Mac OS 8.5 and later.
- */
- kDocumentWindowClass = 6,
-
- /*
- * A utility window is similar to a floating window, but it floats
- * above the windows of all applications rather than just above the
- * windows of the application that creates it. Use
- * kThemeBrushUtilityWindowBackgroundActive or
- * kThemeBrushDocumentWindowBackground to draw the background of
- * utility windows. Utility windows are initially placed in the
- * utility window group, given a modality of kWindowModalityNone, and
- * given an activation scope of kWindowActivationScopeIndependent.
- * Available in CarbonLib 1.1 and later, and in Mac OS X.
- */
- kUtilityWindowClass = 8,
-
- /*
- * A help window is used to display help tags. It has no window
- * frame. Typically you should use the Help Manager to display help
- * tags, rather than creating a help tag window yourself. Help
- * windows are initially placed in the help window group, given a
- * modality of kWindowModalityNone, and given an activation scope of
- * kWindowActivationScopeNone. Available in CarbonLib 1.1 and later,
- * and in Mac OS X.
- */
- kHelpWindowClass = 10,
-
- /*
- * A sheet window is used to display a dialog that is attached
- * directly to its parent window, rather than being a independent
- * window. A sheet dialog only prevents interaction with its parent
- * window; the user may still interact with other windows in the same
- * application. Use kThemeBrushSheetBackgroundOpaque to draw an
- * opaque background for sheet windows, or
- * kThemeBrushSheetBackgroundTransparent to draw a transparent
- * background (the transparent brush is only available in Mac OS X
- * 10.1 and later). Sheet windows are initially placed in the
- * document window group, given a modality of kWindowModalityNone,
- * and given an activation scope of kWindowActivationScopeAll.
- * Available in CarbonLib 1.3 and later, and in Mac OS X; in
- * CarbonLib, a sheet window is actually a movable-modal window,
- * which blocks user interaction with all windows of the application.
- */
- kSheetWindowClass = 11,
-
- /*
- * A toolbar window is used to display a palette of controls. It is
- * similar to a floating window, and like a floating window is
- * layered above all application windows except for alert and modal
- * windows, but is layered beneath floating windows. Use
- * kThemeBrushToolbarBackground to draw the background of a toolbar
- * window in Mac OS X or later; CarbonLib does not currently support
- * kThemeBrushToolbarBackground. Floating windows are initially
- * placed in the toolbar window group, given a modality of
- * kWindowModalityNone, and given an activation scope of
- * kWindowActivationScopeNone. Available in CarbonLib 1.1 and later,
- * and Mac OS X.
- */
- kToolbarWindowClass = 12,
-
- /*
- * A plain window has a single-pixel window frame.
- * kThemeBrushDocumentWindowBackground,
- * kThemeBrushDialogBackgroundActive, and application-specific custom
- * drawing are all commonly used to draw the background of a plain
- * window. Plain windows are initially placed in the document window
- * group, given a modality of kWindowModalityNone, and given an
- * activation scope of kWindowActivationScopeAll. Available in
- * CarbonLib 1.2.5 and later, and Mac OS X.
- */
- kPlainWindowClass = 13,
-
- /*
- * An overlay window is a completely transparent window positioned
- * above all other windows. Overlay windows are intended as a
- * replacement for the pre-Carbon practice of drawing directly into
- * the window manager port; by creating a full-screen overlay window
- * and drawing into it, you can draw over any window in any
- * application without disturbing the contents of the windows
- * underneath your drawing. After creating an overlay window, you
- * should use CGContextClearRect to clear the overlay window's alpha
- * channel to zero; this ensures the initial transparancy of the
- * window. You must use CoreGraphics to draw into an overlay window
- * to preserve the transparency of the window. Overlay windows are
- * initially placed in the overlay window group, given a modality of
- * kWindowModalityNone, and given an activation scope of
- * kWindowActivationScopeNone. Available in Mac OS X.
- */
- kOverlayWindowClass = 14,
-
- /*
- * A sheet alert window is similar to a sheet window, but is intended
- * to display an alert rather than a dialog. On Mac OS X, the
- * appearance of a sheet window and a sheet alert window is currently
- * identical, but in CarbonLib a sheet alert window has a different
- * appearance from a sheet window. Use
- * kThemeBrushSheetBackgroundOpaque to draw an opaque background for
- * sheet alert windows, or kThemeBrushSheetBackgroundTransparent to
- * draw a transparent background (the transparent brush is only
- * available in Mac OS X 10.1 and later). Sheet alert windows are
- * initially placed in the document window group, given a modality of
- * kWindowModalityNone, and given an activation scope of
- * kWindowActivationScopeAll. Available in CarbonLib 1.3 and later,
- * and in Mac OS X 10.1 and later; in CarbonLib, a sheet alert window
- * is actually a movable alert window, which blocks user interaction
- * with all windows of the application.
- */
- kSheetAlertWindowClass = 15,
-
- /*
- * A alternate plain window is similar to a plain window but has a
- * solid black shadow on its right and bottom sides. It is rarely
- * used in modern Mac OS applications.
- * kThemeBrushDocumentWindowBackground,
- * kThemeBrushDialogBackgroundActive, and application-specific custom
- * drawing are all commonly used to draw the background of an
- * alternate plain window. Alternate plain windows are initially
- * placed in the document window group, given a modality of
- * kWindowModalityNone, and given an activation scope of
- * kWindowActivationScopeAll. Available in CarbonLib 1.3 and later,
- * and Mac OS X 10.1 and later.
- */
- kAltPlainWindowClass = 16,
-
- /*
- * A drawer window is used when implementing a drawer user interface,
- * in which the drawer windo slides out from underneath a document
- * window. Use kThemeBrushDrawerBackground or
- * kThemeBrushDocumentWindowBackground to draw the background of
- * drawer windows. Drawer windows are initially placed in the
- * document window group, given a modality of kWindowModalityNone,
- * and given an activation scope of kWindowActivationScopeAll.
- * Available in Mac OS X 10.2 or later.
- */
- kDrawerWindowClass = 20,
-
- /*
- * Not an actual window class, but a meta-constant that is used with
- * GetFrontWindowOfClass, FindWindowOfClass, and GetNextWindowOfClass
- * to indicate that there should be no restriction on the class of
- * the returned window. Also used with GetWindowGroupOfClass to get
- * the root window group.
- */
- kAllWindowClasses = (unsigned long)0xFFFFFFFF
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Attributes */
- /*--------------------------------------------------------------------------------------*/
-
- typedef UInt32 WindowAttributes;
-
- /*
- * Summary:
- * Window attributes
- */
- enum
- {
-
- /*
- * A constant with value zero; the lack of any attributes.
- */
- kWindowNoAttributes = 0L,
-
- /*
- * This window has a close box. Available for windows of
- * kDocumentWindowClass, kFloatingWindowClass, and
- * kUtilityWindowClass.
- */
- kWindowCloseBoxAttribute = (1L << 0),
-
- /*
- * This window changes width when zooming. Available for windows of
- * kDocumentWindowClass, kFloatingWindowClass, and
- * kUtilityWindowClass.
- */
- kWindowHorizontalZoomAttribute = (1L << 1),
-
- /*
- * This window changes height when zooming. Available for windows of
- * kDocumentWindowClass, kFloatingWindowClass, and
- * kUtilityWindowClass.
- */
- kWindowVerticalZoomAttribute = (1L << 2),
-
- /*
- * This window changes both width and height when zooming. Available
- * for windows of kDocumentWindowClass, kFloatingWindowClass, and
- * kUtilityWindowClass.
- */
- kWindowFullZoomAttribute = (kWindowVerticalZoomAttribute | kWindowHorizontalZoomAttribute),
-
- /*
- * This window has a collapse box. Available for windows of
- * kDocumentWindowClass and, on Mac OS 9, kFloatingWindowClass and
- * kUtilityWindowClass; not available for windows of
- * kFloatingWindowClass or kUtilityWindowClass on Mac OS X.
- */
- kWindowCollapseBoxAttribute = (1L << 3),
-
- /*
- * This window can be resized. Available for windows of
- * kDocumentWindowClass, kMovableModalWindowClass,
- * kFloatingWindowClass, kUtilityWindowClass, and kSheetWindowClass.
- */
- kWindowResizableAttribute = (1L << 4),
-
- /*
- * This window has a vertical titlebar on the side of the window.
- * Available for windows of kFloatingWindowClass and
- * kUtilityWindowClass.
- */
- kWindowSideTitlebarAttribute = (1L << 5),
-
- /*
- * This window has a toolbar button. Available for windows of
- * kDocumentWindowClass on Mac OS X.
- */
- kWindowToolbarButtonAttribute = (1L << 6),
-
- /*
- * This window uses the Metal appearance. Available for document and
- * floating window classes on Mac OS X 10.2 and later. Drawers can
- * also be metal, but dynamically adjust their appearance based on
- * their parent window's appearance; it is not necessary to specify
- * this attribute for a metal drawer.
- */
- kWindowMetalAttribute = (1L << 8),
-
- /*
- * This window receives no update events. Available for all windows.
- */
- kWindowNoUpdatesAttribute = (1L << 16),
-
- /*
- * This window receives no activate events. Available for all windows.
- */
- kWindowNoActivatesAttribute = (1L << 17),
-
- /*
- * This window receives mouse events even for areas of the window
- * that are transparent (have an alpha channel component of zero).
- * Available for windows of kOverlayWindowClass on Mac OS X 10.0 and
- * 10.1, and available for all windows on Mac OS X 10.2 and later.
- */
- kWindowOpaqueForEventsAttribute = (1L << 18),
-
- /*
- * This window uses composited drawing. This means that the entire
- * window is comprised of HIViews, and can be treated thusly. This
- * attribute must be specified at window creation, and cannot be
- * changed later with ChangeWindowAttributes. Available on Mac OS X
- * 10.2 and later.
- */
- kWindowCompositingAttribute = (1L << 19),
-
- /*
- * This window has no shadow. Available for all windows on Mac OS X.
- * This attribute is automatically given to windows of
- * kOverlayWindowClass.
- */
- kWindowNoShadowAttribute = (1L << 21),
-
- /*
- * This window is automatically hidden on suspend and shown on
- * resume. Available for all windows. This attribute is automatically
- * given to windows of kFloatingWindowClass, kHelpWindowClass, and
- * kToolbarWindowClass.
- */
- kWindowHideOnSuspendAttribute = (1L << 24),
-
- /*
- * This window has the standard Carbon window event handler
- * installed. Available for all windows.
- */
- kWindowStandardHandlerAttribute = (1L << 25),
-
- /*
- * This window is automatically hidden during fullscreen mode (when
- * the menubar is invisible) and shown afterwards. Available for all
- * windows. This attribute is automatically given to windows of
- * kUtilityWindowClass.
- */
- kWindowHideOnFullScreenAttribute = (1L << 26),
-
- /*
- * This window is added to the standard Window menu. Available for
- * windows of kDocumentWindowClass. This attribute is automatically
- * given to windows of kDocumentWindowClass.
- */
- kWindowInWindowMenuAttribute = (1L << 27),
-
- /*
- * This window supports live resizing. Available for all windows on
- * Mac OS X.
- */
- kWindowLiveResizeAttribute = (1L << 28),
-
- /*
- * This window never receives mouse events, even in areas that are
- * opaque. Instead, clicks on the window will be passed through to
- * windows beneath it. Available for all windows on Mac OS X 10.2 and
- * later.
- */
- kWindowIgnoreClicksAttribute = (1L << 29),
-
- /*
- * This window will not be repositioned by the default
- * kEventWindowConstrain handler in response to changes in monitor
- * size, Dock position, and so on. Available for all windows on Mac
- * OS X 10.1 and later, and CarbonLib 1.6 and later.
- */
- kWindowNoConstrainAttribute = (unsigned long)((1L << 31)),
-
- /*
- * The minimum set of window attributes commonly used by document
- * windows.
- */
- kWindowStandardDocumentAttributes = (kWindowCloseBoxAttribute | kWindowFullZoomAttribute | kWindowCollapseBoxAttribute | kWindowResizableAttribute),
-
- /*
- * The minimum set of window attributes commonly used by floating
- * windows.
- */
- kWindowStandardFloatingAttributes = (kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute)
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Definition Type */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kWindowDefProcType = FOUR_CHAR_CODE('WDEF')
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Mac OS 7.5 Window Definition Resource IDs */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kStandardWindowDefinition = 0, /* for document windows and dialogs*/
- kRoundWindowDefinition = 1, /* old da-style window*/
- kFloatingWindowDefinition = 124 /* for floating windows*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Variant Codes */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- /* for use with kStandardWindowDefinition */
- kDocumentWindowVariantCode = 0,
- kModalDialogVariantCode = 1,
- kPlainDialogVariantCode = 2,
- kShadowDialogVariantCode = 3,
- kMovableModalDialogVariantCode = 5,
- kAlertVariantCode = 7,
- kMovableAlertVariantCode = 9, /* for use with kFloatingWindowDefinition */
- kSideFloaterVariantCode = 8
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o DefProc IDs */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- /* classic ids */
- documentProc = 0,
- dBoxProc = 1,
- plainDBox = 2,
- altDBoxProc = 3,
- noGrowDocProc = 4,
- movableDBoxProc = 5,
- zoomDocProc = 8,
- zoomNoGrow = 12, /* floating window defproc ids */
- floatProc = 1985,
- floatGrowProc = 1987,
- floatZoomProc = 1989,
- floatZoomGrowProc = 1991,
- floatSideProc = 1993,
- floatSideGrowProc = 1995,
- floatSideZoomProc = 1997,
- floatSideZoomGrowProc = 1999
- };
+/* */
+/* Current documentation for the Mac OS Window Manager is available on the web: */
+/* <http://developer.apple.com/techpubs/macos8/HumanInterfaceToolbox/WindowManager/windowmanager.html> */
+/* */
+/*--------------------------------------------------------------------------------------*/
+/* o Property Types */
+/*--------------------------------------------------------------------------------------*/
+typedef OSType PropertyCreator;
+typedef OSType PropertyTag;
+/*--------------------------------------------------------------------------------------*/
+/* o Window Classes */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * WindowClass
+ *
+ * Summary:
+ * The types of windows provided by the Window Manager.
+ *
+ * Discussion:
+ * The class of a window determines several aspects of the window:
+ * its appearance, its initial window attributes, its initial window
+ * group, and its initial modality. All of these except for the
+ * window's appearance may be changed later using other Window
+ * Manager APIs.
+ */
+typedef UInt32 WindowClass;
+enum {
+
+ /*
+ * An alert window is used when the application needs the user's
+ * attention immediately. On Mac OS 9 and earlier, a visible alert
+ * window will prevent the user from switching to any other
+ * application. Use kThemeBrushAlertBackgroundActive to draw the
+ * background of alert windows. Alert windows are initially placed in
+ * the modal window group, given a modality of
+ * kWindowModalityAppModal, and given an activation scope of
+ * kWindowActivationScopeAll. Available in Mac OS 8.5 and later.
+ */
+ kAlertWindowClass = 1,
+
+ /*
+ * Similar to kAlertWindowClass, but provides a window that is
+ * movable and that allows switching to other applications. Generally
+ * you should use this window class rather than kAlertWindowClass.
+ * Use kThemeBrushAlertBackgroundActive to draw the background of
+ * movable alert windows. Movable alert windows are initially placed
+ * in the modal window group, given a modality of
+ * kWindowModalityAppModal, and given an activation scope of
+ * kWindowActivationScopeAll. Available in Mac OS 8.5 and later.
+ */
+ kMovableAlertWindowClass = 2,
+
+ /*
+ * A modal window is used to display a dialog (but not an alert; use
+ * kAlertWindowClass for alerts). On Mac OS 9 and earlier, a visible
+ * modal window will prevent the user from switching to any other
+ * application. Use kThemeBrushDialogBackgroundActive to draw the
+ * background of modal windows. Modal windows are initially placed in
+ * the modal window group, given a modality of
+ * kWindowModalityAppModal, and given an activation scope of
+ * kWindowActivationScopeAll. Available in Mac OS 8.5 and later.
+ */
+ kModalWindowClass = 3,
+
+ /*
+ * Similar to kModalWindowClass, but provides a window that is
+ * movable and that allows switching to other applications. Generally
+ * you should use this window class rather than kModalWindowClass. If
+ * you are using CarbonLib 1.3 or later, or Mac OS X, use
+ * kThemeBrushMovableModalBackground to draw the background of
+ * movable modal windows; on earlier versions of CarbonLib, or for
+ * non-Carbon programming, use kThemeBrushDialogBackgroundActive.
+ * Movable modal windows are initially placed in the modal window
+ * group, given a modality of kWindowModalityAppModal, and given an
+ * activation scope of kWindowActivationScopeAll. Available in Mac OS
+ * 8.5 and later.
+ */
+ kMovableModalWindowClass = 4,
+
+ /*
+ * A floating window is layered above all application windows except
+ * for alert and modal windows. It is commonly used for palette
+ * windows, inspectors, and other accessory (non-document) windows.
+ * Use kThemeBrushUtilityWindowBackgroundActive or
+ * kThemeBrushDocumentWindowBackground to draw the background of
+ * floating windows. Floating windows are initially placed in the
+ * floating window group, given a modality of kWindowModalityNone,
+ * and given an activation scope of
+ * kWindowActivationScopeIndependent. Available in Mac OS 8.6 and
+ * later.
+ */
+ kFloatingWindowClass = 5,
+
+ /*
+ * A document window is used for normal application document windows.
+ * Use kThemeBrushDocumentWindowBackground or your own custom drawing
+ * to draw the background of a document window. Document windows are
+ * initially placed in the document window group, given a modality of
+ * kWindowModalityNone, and given an activation scope of
+ * kWindowActivationScopeAll. Available in Mac OS 8.5 and later.
+ */
+ kDocumentWindowClass = 6,
+
+ /*
+ * A utility window is similar to a floating window, but it floats
+ * above the windows of all applications rather than just above the
+ * windows of the application that creates it. Use
+ * kThemeBrushUtilityWindowBackgroundActive or
+ * kThemeBrushDocumentWindowBackground to draw the background of
+ * utility windows. Utility windows are initially placed in the
+ * utility window group, given a modality of kWindowModalityNone, and
+ * given an activation scope of kWindowActivationScopeIndependent.
+ * Available in CarbonLib 1.1 and later, and in Mac OS X.
+ */
+ kUtilityWindowClass = 8,
+
+ /*
+ * A help window is used to display help tags. It has no window
+ * frame. Typically you should use the Help Manager to display help
+ * tags, rather than creating a help tag window yourself. Help
+ * windows are initially placed in the help window group, given a
+ * modality of kWindowModalityNone, and given an activation scope of
+ * kWindowActivationScopeNone. Available in CarbonLib 1.1 and later,
+ * and in Mac OS X.
+ */
+ kHelpWindowClass = 10,
+
+ /*
+ * A sheet window is used to display a dialog that is attached
+ * directly to its parent window, rather than being a independent
+ * window. A sheet dialog only prevents interaction with its parent
+ * window; the user may still interact with other windows in the same
+ * application. Use kThemeBrushSheetBackgroundOpaque to draw an
+ * opaque background for sheet windows, or
+ * kThemeBrushSheetBackgroundTransparent to draw a transparent
+ * background (the transparent brush is only available in Mac OS X
+ * 10.1 and later). Sheet windows are initially placed in the
+ * document window group, given a modality of kWindowModalityNone,
+ * and given an activation scope of kWindowActivationScopeAll.
+ * Available in CarbonLib 1.3 and later, and in Mac OS X; in
+ * CarbonLib, a sheet window is actually a movable-modal window,
+ * which blocks user interaction with all windows of the application.
+ */
+ kSheetWindowClass = 11,
+
+ /*
+ * A toolbar window is used to display a palette of controls. It is
+ * similar to a floating window, and like a floating window is
+ * layered above all application windows except for alert and modal
+ * windows, but is layered beneath floating windows. Use
+ * kThemeBrushToolbarBackground to draw the background of a toolbar
+ * window in Mac OS X or later; CarbonLib does not currently support
+ * kThemeBrushToolbarBackground. Floating windows are initially
+ * placed in the toolbar window group, given a modality of
+ * kWindowModalityNone, and given an activation scope of
+ * kWindowActivationScopeNone. Available in CarbonLib 1.1 and later,
+ * and Mac OS X.
+ */
+ kToolbarWindowClass = 12,
+
+ /*
+ * A plain window has a single-pixel window frame.
+ * kThemeBrushDocumentWindowBackground,
+ * kThemeBrushDialogBackgroundActive, and application-specific custom
+ * drawing are all commonly used to draw the background of a plain
+ * window. Plain windows are initially placed in the document window
+ * group, given a modality of kWindowModalityNone, and given an
+ * activation scope of kWindowActivationScopeAll. Available in
+ * CarbonLib 1.2.5 and later, and Mac OS X.
+ */
+ kPlainWindowClass = 13,
+
+ /*
+ * An overlay window is a completely transparent window positioned
+ * above all other windows. Overlay windows are intended as a
+ * replacement for the pre-Carbon practice of drawing directly into
+ * the window manager port; by creating a full-screen overlay window
+ * and drawing into it, you can draw over any window in any
+ * application without disturbing the contents of the windows
+ * underneath your drawing. After creating an overlay window, you
+ * should use CGContextClearRect to clear the overlay window's alpha
+ * channel to zero; this ensures the initial transparancy of the
+ * window. You must use CoreGraphics to draw into an overlay window
+ * to preserve the transparency of the window. Overlay windows are
+ * initially placed in the overlay window group, given a modality of
+ * kWindowModalityNone, and given an activation scope of
+ * kWindowActivationScopeNone. Available in Mac OS X.
+ */
+ kOverlayWindowClass = 14,
+
+ /*
+ * A sheet alert window is similar to a sheet window, but is intended
+ * to display an alert rather than a dialog. On Mac OS X, the
+ * appearance of a sheet window and a sheet alert window is currently
+ * identical, but in CarbonLib a sheet alert window has a different
+ * appearance from a sheet window. Use
+ * kThemeBrushSheetBackgroundOpaque to draw an opaque background for
+ * sheet alert windows, or kThemeBrushSheetBackgroundTransparent to
+ * draw a transparent background (the transparent brush is only
+ * available in Mac OS X 10.1 and later). Sheet alert windows are
+ * initially placed in the document window group, given a modality of
+ * kWindowModalityNone, and given an activation scope of
+ * kWindowActivationScopeAll. Available in CarbonLib 1.3 and later,
+ * and in Mac OS X 10.1 and later; in CarbonLib, a sheet alert window
+ * is actually a movable alert window, which blocks user interaction
+ * with all windows of the application.
+ */
+ kSheetAlertWindowClass = 15,
+
+ /*
+ * A alternate plain window is similar to a plain window but has a
+ * solid black shadow on its right and bottom sides. It is rarely
+ * used in modern Mac OS applications.
+ * kThemeBrushDocumentWindowBackground,
+ * kThemeBrushDialogBackgroundActive, and application-specific custom
+ * drawing are all commonly used to draw the background of an
+ * alternate plain window. Alternate plain windows are initially
+ * placed in the document window group, given a modality of
+ * kWindowModalityNone, and given an activation scope of
+ * kWindowActivationScopeAll. Available in CarbonLib 1.3 and later,
+ * and Mac OS X 10.1 and later.
+ */
+ kAltPlainWindowClass = 16,
+
+ /*
+ * A drawer window is used when implementing a drawer user interface,
+ * in which the drawer windo slides out from underneath a document
+ * window. Use kThemeBrushDrawerBackground or
+ * kThemeBrushDocumentWindowBackground to draw the background of
+ * drawer windows. Drawer windows are initially placed in the
+ * document window group, given a modality of kWindowModalityNone,
+ * and given an activation scope of kWindowActivationScopeAll.
+ * Available in Mac OS X 10.2 or later.
+ */
+ kDrawerWindowClass = 20,
+
+ /*
+ * Not an actual window class, but a meta-constant that is used with
+ * GetFrontWindowOfClass, FindWindowOfClass, and GetNextWindowOfClass
+ * to indicate that there should be no restriction on the class of
+ * the returned window. Also used with GetWindowGroupOfClass to get
+ * the root window group.
+ */
+ kAllWindowClasses = (unsigned long)0xFFFFFFFF
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Attributes */
+/*--------------------------------------------------------------------------------------*/
+
+typedef UInt32 WindowAttributes;
+
+/*
+ * Summary:
+ * Window attributes
+ */
+enum {
+
+ /*
+ * A constant with value zero; the lack of any attributes.
+ */
+ kWindowNoAttributes = 0L,
+
+ /*
+ * This window has a close box. Available for windows of
+ * kDocumentWindowClass, kFloatingWindowClass, and
+ * kUtilityWindowClass.
+ */
+ kWindowCloseBoxAttribute = (1L << 0),
+
+ /*
+ * This window changes width when zooming. Available for windows of
+ * kDocumentWindowClass, kFloatingWindowClass, and
+ * kUtilityWindowClass.
+ */
+ kWindowHorizontalZoomAttribute = (1L << 1),
+
+ /*
+ * This window changes height when zooming. Available for windows of
+ * kDocumentWindowClass, kFloatingWindowClass, and
+ * kUtilityWindowClass.
+ */
+ kWindowVerticalZoomAttribute = (1L << 2),
+
+ /*
+ * This window changes both width and height when zooming. Available
+ * for windows of kDocumentWindowClass, kFloatingWindowClass, and
+ * kUtilityWindowClass.
+ */
+ kWindowFullZoomAttribute = (kWindowVerticalZoomAttribute | kWindowHorizontalZoomAttribute),
+
+ /*
+ * This window has a collapse box. Available for windows of
+ * kDocumentWindowClass and, on Mac OS 9, kFloatingWindowClass and
+ * kUtilityWindowClass; not available for windows of
+ * kFloatingWindowClass or kUtilityWindowClass on Mac OS X.
+ */
+ kWindowCollapseBoxAttribute = (1L << 3),
+
+ /*
+ * This window can be resized. Available for windows of
+ * kDocumentWindowClass, kMovableModalWindowClass,
+ * kFloatingWindowClass, kUtilityWindowClass, and kSheetWindowClass.
+ */
+ kWindowResizableAttribute = (1L << 4),
+
+ /*
+ * This window has a vertical titlebar on the side of the window.
+ * Available for windows of kFloatingWindowClass and
+ * kUtilityWindowClass.
+ */
+ kWindowSideTitlebarAttribute = (1L << 5),
+
+ /*
+ * This window has a toolbar button. Available for windows of
+ * kDocumentWindowClass on Mac OS X.
+ */
+ kWindowToolbarButtonAttribute = (1L << 6),
+
+ /*
+ * This window uses the Metal appearance. Available for document and
+ * floating window classes on Mac OS X 10.2 and later. Drawers can
+ * also be metal, but dynamically adjust their appearance based on
+ * their parent window's appearance; it is not necessary to specify
+ * this attribute for a metal drawer.
+ */
+ kWindowMetalAttribute = (1L << 8),
+
+ /*
+ * This window receives no update events. Available for all windows.
+ */
+ kWindowNoUpdatesAttribute = (1L << 16),
+
+ /*
+ * This window receives no activate events. Available for all windows.
+ */
+ kWindowNoActivatesAttribute = (1L << 17),
+
+ /*
+ * This window receives mouse events even for areas of the window
+ * that are transparent (have an alpha channel component of zero).
+ * Available for windows of kOverlayWindowClass on Mac OS X 10.0 and
+ * 10.1, and available for all windows on Mac OS X 10.2 and later.
+ */
+ kWindowOpaqueForEventsAttribute = (1L << 18),
+
+ /*
+ * This window uses composited drawing. This means that the entire
+ * window is comprised of HIViews, and can be treated thusly. This
+ * attribute must be specified at window creation, and cannot be
+ * changed later with ChangeWindowAttributes. Available on Mac OS X
+ * 10.2 and later.
+ */
+ kWindowCompositingAttribute = (1L << 19),
+
+ /*
+ * This window has no shadow. Available for all windows on Mac OS X.
+ * This attribute is automatically given to windows of
+ * kOverlayWindowClass.
+ */
+ kWindowNoShadowAttribute = (1L << 21),
+
+ /*
+ * This window is automatically hidden on suspend and shown on
+ * resume. Available for all windows. This attribute is automatically
+ * given to windows of kFloatingWindowClass, kHelpWindowClass, and
+ * kToolbarWindowClass.
+ */
+ kWindowHideOnSuspendAttribute = (1L << 24),
+
+ /*
+ * This window has the standard Carbon window event handler
+ * installed. Available for all windows.
+ */
+ kWindowStandardHandlerAttribute = (1L << 25),
+
+ /*
+ * This window is automatically hidden during fullscreen mode (when
+ * the menubar is invisible) and shown afterwards. Available for all
+ * windows. This attribute is automatically given to windows of
+ * kUtilityWindowClass.
+ */
+ kWindowHideOnFullScreenAttribute = (1L << 26),
+
+ /*
+ * This window is added to the standard Window menu. Available for
+ * windows of kDocumentWindowClass. This attribute is automatically
+ * given to windows of kDocumentWindowClass.
+ */
+ kWindowInWindowMenuAttribute = (1L << 27),
+
+ /*
+ * This window supports live resizing. Available for all windows on
+ * Mac OS X.
+ */
+ kWindowLiveResizeAttribute = (1L << 28),
+
+ /*
+ * This window never receives mouse events, even in areas that are
+ * opaque. Instead, clicks on the window will be passed through to
+ * windows beneath it. Available for all windows on Mac OS X 10.2 and
+ * later.
+ */
+ kWindowIgnoreClicksAttribute = (1L << 29),
+
+ /*
+ * This window will not be repositioned by the default
+ * kEventWindowConstrain handler in response to changes in monitor
+ * size, Dock position, and so on. Available for all windows on Mac
+ * OS X 10.1 and later, and CarbonLib 1.6 and later.
+ */
+ kWindowNoConstrainAttribute = (unsigned long)((1L << 31)),
+
+ /*
+ * The minimum set of window attributes commonly used by document
+ * windows.
+ */
+ kWindowStandardDocumentAttributes = (kWindowCloseBoxAttribute | kWindowFullZoomAttribute | kWindowCollapseBoxAttribute | kWindowResizableAttribute),
+
+ /*
+ * The minimum set of window attributes commonly used by floating
+ * windows.
+ */
+ kWindowStandardFloatingAttributes = (kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute)
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Definition Type */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kWindowDefProcType = FOUR_CHAR_CODE('WDEF')
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Mac OS 7.5 Window Definition Resource IDs */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kStandardWindowDefinition = 0, /* for document windows and dialogs*/
+ kRoundWindowDefinition = 1, /* old da-style window*/
+ kFloatingWindowDefinition = 124 /* for floating windows*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Variant Codes */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ /* for use with kStandardWindowDefinition */
+ kDocumentWindowVariantCode = 0,
+ kModalDialogVariantCode = 1,
+ kPlainDialogVariantCode = 2,
+ kShadowDialogVariantCode = 3,
+ kMovableModalDialogVariantCode = 5,
+ kAlertVariantCode = 7,
+ kMovableAlertVariantCode = 9, /* for use with kFloatingWindowDefinition */
+ kSideFloaterVariantCode = 8
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o DefProc IDs */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ /* classic ids */
+ documentProc = 0,
+ dBoxProc = 1,
+ plainDBox = 2,
+ altDBoxProc = 3,
+ noGrowDocProc = 4,
+ movableDBoxProc = 5,
+ zoomDocProc = 8,
+ zoomNoGrow = 12, /* floating window defproc ids */
+ floatProc = 1985,
+ floatGrowProc = 1987,
+ floatZoomProc = 1989,
+ floatZoomGrowProc = 1991,
+ floatSideProc = 1993,
+ floatSideGrowProc = 1995,
+ floatSideZoomProc = 1997,
+ floatSideZoomGrowProc = 1999
+};
#if CALL_NOT_IN_CARBON
- /* The rDocProc (rounded WDEF, ala calculator) is not supported in Carbon.*/
- enum
- {
- rDocProc = 16
- };
+/* The rDocProc (rounded WDEF, ala calculator) is not supported in Carbon.*/
+enum {
+ rDocProc = 16
+};
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- /* Resource IDs for theme-savvy window defprocs */
- kWindowDocumentDefProcResID = 64,
- kWindowDialogDefProcResID = 65,
- kWindowUtilityDefProcResID = 66,
- kWindowUtilitySideTitleDefProcResID = 67,
- kWindowSheetDefProcResID = 68,
- kWindowSimpleDefProcResID = 69,
- kWindowSheetAlertDefProcResID = 70
- };
-
- enum
- {
- /* Proc IDs for theme-savvy windows */
- kWindowDocumentProc = 1024,
- kWindowGrowDocumentProc = 1025,
- kWindowVertZoomDocumentProc = 1026,
- kWindowVertZoomGrowDocumentProc = 1027,
- kWindowHorizZoomDocumentProc = 1028,
- kWindowHorizZoomGrowDocumentProc = 1029,
- kWindowFullZoomDocumentProc = 1030,
- kWindowFullZoomGrowDocumentProc = 1031
- };
-
-
- enum
- {
- /* Proc IDs for theme-savvy dialogs */
- kWindowPlainDialogProc = 1040,
- kWindowShadowDialogProc = 1041,
- kWindowModalDialogProc = 1042,
- kWindowMovableModalDialogProc = 1043,
- kWindowAlertProc = 1044,
- kWindowMovableAlertProc = 1045
- };
-
-
- enum
- {
- /* procIDs available from Mac OS 8.1 (Appearance 1.0.1) forward */
- kWindowMovableModalGrowProc = 1046
- };
-
-
- enum
- {
- /* Proc IDs for top title bar theme-savvy floating windows */
- kWindowFloatProc = 1057,
- kWindowFloatGrowProc = 1059,
- kWindowFloatVertZoomProc = 1061,
- kWindowFloatVertZoomGrowProc = 1063,
- kWindowFloatHorizZoomProc = 1065,
- kWindowFloatHorizZoomGrowProc = 1067,
- kWindowFloatFullZoomProc = 1069,
- kWindowFloatFullZoomGrowProc = 1071
- };
-
-
- enum
- {
- /* Proc IDs for side title bar theme-savvy floating windows */
- kWindowFloatSideProc = 1073,
- kWindowFloatSideGrowProc = 1075,
- kWindowFloatSideVertZoomProc = 1077,
- kWindowFloatSideVertZoomGrowProc = 1079,
- kWindowFloatSideHorizZoomProc = 1081,
- kWindowFloatSideHorizZoomGrowProc = 1083,
- kWindowFloatSideFullZoomProc = 1085,
- kWindowFloatSideFullZoomGrowProc = 1087
- };
-
-
- enum
- {
- /* Proc IDs for sheet windows */
- kWindowSheetProc = 1088, /* available in Mac OS X and CarbonLib 1.3 */
- kWindowSheetAlertProc = 1120 /* available in Mac OS X after 1.0, and CarbonLib 1.3 */
- };
-
-
-
- /*
- * Discussion:
- * Window defproc IDs for simple windows
- */
- enum
- {
- /* Proc IDs for simple windows */
-
- /*
- * A window that has no structure region; the content covers the
- * entire window.
- */
- kWindowSimpleProc = 1104,
-
- /*
- * A window that has a 1-pixel black frame as its structure.
- */
- kWindowSimpleFrameProc = 1105
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o System 7 Window Positioning Constants */
- /* */
- /* Passed into StandardAlert and used in 'WIND', 'DLOG', and 'ALRT' templates */
- /* StandardAlert uses zero to specify the default position. Other calls use zero to */
- /* specify "no position". Do not pass these constants to RepositionWindow. Do not */
- /* store these constants in the BasicWindowDescription of a 'wind' resource. */
- /*--------------------------------------------------------------------------------------*/
-
- enum
- {
- kWindowNoPosition = 0x0000,
- kWindowDefaultPosition = 0x0000, /* used by StandardAlert*/
- kWindowCenterMainScreen = 0x280A,
- kWindowAlertPositionMainScreen = 0x300A,
- kWindowStaggerMainScreen = 0x380A,
- kWindowCenterParentWindow = 0xA80A,
- kWindowAlertPositionParentWindow = 0xB00A,
- kWindowStaggerParentWindow = 0xB80A,
- kWindowCenterParentWindowScreen = 0x680A,
- kWindowAlertPositionParentWindowScreen = 0x700A,
- kWindowStaggerParentWindowScreen = 0x780A
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Positioning Methods */
- /* */
- /* Positioning methods passed to RepositionWindow. */
- /* Do not use them in WIND, ALRT, DLOG templates. */
- /* Do not confuse these constants with the constants above */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * WindowPositionMethod
- *
- * Summary:
- * Positioning methods usable with RepositionWindow.
- *
- * Discussion:
- * These constants are for use solely with the RepositionWindow API.
- * They should not be used in 'WIND', 'ALRT', or 'DLOG' resources.
- */
- typedef UInt32 WindowPositionMethod;
- enum
- {
-
- /*
- * Centers the window on the main screen.
- */
- kWindowCenterOnMainScreen = 1,
-
- /*
- * Centers the window on its parent window.
- */
- kWindowCenterOnParentWindow = 2,
-
- /*
- * Centers the window on the screen containing the largest portion of
- * its parent window.
- */
- kWindowCenterOnParentWindowScreen = 3,
-
- /*
- * Cascades the window on the main screen.
- */
- kWindowCascadeOnMainScreen = 4,
-
- /*
- * Cascades the window on its parent window.
- */
- kWindowCascadeOnParentWindow = 5,
-
- /*
- * Cascades the window on the screen containing the largest portion
- * of its parent window.
- */
- kWindowCascadeOnParentWindowScreen = 6,
-
- /*
- * Cascades the window on the screen containing the largest portion
- * of its parent window, starting below and to the right of its
- * parent window. Available in Mac OS X after version 10.1.x and
- * CarbonLib after 1.5.
- */
- kWindowCascadeStartAtParentWindowScreen = 10,
-
- /*
- * Puts the window into the alert position on the main screen.
- */
- kWindowAlertPositionOnMainScreen = 7,
-
- /*
- * Puts the window into the alert position on its parent window.
- */
- kWindowAlertPositionOnParentWindow = 8,
-
- /*
- * Puts the window into the alert position on the screen containing
- * the largest portion of its parent window.
- */
- kWindowAlertPositionOnParentWindowScreen = 9
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o GetWindowRegion Types */
- /*--------------------------------------------------------------------------------------*/
- typedef UInt16 WindowRegionCode;
- enum
- {
- /* Region values to pass into GetWindowRegion & GetWindowBounds. All regions are reported in global coordinates. */
- kWindowTitleBarRgn = 0,
- kWindowTitleTextRgn = 1,
- kWindowCloseBoxRgn = 2,
- kWindowZoomBoxRgn = 3,
- kWindowDragRgn = 5,
- kWindowGrowRgn = 6,
- kWindowCollapseBoxRgn = 7,
- kWindowTitleProxyIconRgn = 8, /* Mac OS 8.5 forward*/
- kWindowStructureRgn = 32,
- kWindowContentRgn = 33, /* Content area of the window; empty when the window is collapsed*/
- kWindowUpdateRgn = 34, /* Carbon forward*/
- kWindowOpaqueRgn = 35, /* Mac OS X: Area of window considered to be opaque. Only valid for windows with alpha channels.*/
- kWindowGlobalPortRgn = 40 /* Carbon forward - bounds of the window's port in global coordinates; not affected by CollapseWindow*/
- };
-
- /* GetWindowRegionRec - a pointer to this is passed in WDEF param for kWindowMsgGetRegion*/
- struct GetWindowRegionRec
- {
- RgnHandle winRgn;
- WindowRegionCode regionCode;
- };
- typedef struct GetWindowRegionRec GetWindowRegionRec;
- typedef GetWindowRegionRec * GetWindowRegionPtr;
- typedef GetWindowRegionRec * GetWindowRegionRecPtr;
- /*--------------------------------------------------------------------------------------*/
- /* o WDEF Message Types */
- /*--------------------------------------------------------------------------------------*/
- /*
- SetupWindowProxyDragImageRec - setup the proxy icon drag image
- Both regions are allocated and disposed by the Window Manager.
- The GWorld is disposed of by the Window Manager, but the WDEF must allocate
- it. See Technote on Drag Manager 1.1 additions for more information and sample code for
- setting up drag images.
- */
-
- struct SetupWindowProxyDragImageRec
- {
- GWorldPtr imageGWorld; /* locked GWorld containing the drag image - output - can be NULL*/
- RgnHandle imageRgn; /* image clip region, contains the portion of the image which gets blitted to screen - preallocated output - if imageGWorld is NULL, this is ignored*/
- RgnHandle outlineRgn; /* the outline region used on shallow monitors - preallocated output - must always be non-empty*/
- };
- typedef struct SetupWindowProxyDragImageRec SetupWindowProxyDragImageRec;
- /* MeasureWindowTitleRec - a pointer to this is passed in WDEF param for kWindowMsgMeasureTitle*/
- struct MeasureWindowTitleRec
- {
- /* output parameters (filled in by the WDEF)*/
- SInt16 fullTitleWidth; /* text + proxy icon width*/
- SInt16 titleTextWidth; /* text width*/
- };
- typedef struct MeasureWindowTitleRec MeasureWindowTitleRec;
- typedef MeasureWindowTitleRec * MeasureWindowTitleRecPtr;
- /*
- GetGrowImageRegionRec - generate a region to be xored during GrowWindow and ResizeWindow.
- This is passed along with a kWindowMsgGetGrowImageRegion message. On input, the growRect
- parameter is the window's new bounds in global coordinates. The growImageRegion parameter
- will be allocated and disposed automatically; the window definition should alter the
- region appropriately.
- */
- struct GetGrowImageRegionRec
- {
- Rect growRect;
- RgnHandle growImageRegion;
- };
- typedef struct GetGrowImageRegionRec GetGrowImageRegionRec;
- /*--------------------------------------------------------------------------------------*/
- /* o Standard Window Kinds */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- dialogKind = 2,
- userKind = 8,
- kDialogWindowKind = 2,
- kApplicationWindowKind = 8
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o FindWindow Result Codes */
- /*--------------------------------------------------------------------------------------*/
- typedef SInt16 WindowPartCode;
- enum
- {
- inDesk = 0,
- inNoWindow = 0,
- inMenuBar = 1,
- inSysWindow = 2,
- inContent = 3,
- inDrag = 4,
- inGrow = 5,
- inGoAway = 6,
- inZoomIn = 7,
- inZoomOut = 8,
- inCollapseBox = 11, /* Mac OS 8.0 forward*/
- inProxyIcon = 12, /* Mac OS 8.5 forward*/
- inToolbarButton = 13, /* Mac OS X forward*/
- inStructure = 15 /* Mac OS X 10.1 forward*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Definition Hit Test Result Codes */
- /*--------------------------------------------------------------------------------------*/
- typedef SInt16 WindowDefPartCode;
- enum
- {
- wNoHit = 0,
- wInContent = 1,
- wInDrag = 2,
- wInGrow = 3,
- wInGoAway = 4,
- wInZoomIn = 5,
- wInZoomOut = 6,
- wInCollapseBox = 9, /* Mac OS 8.0 forward*/
- wInProxyIcon = 10, /* Mac OS 8.5 forward*/
- wInToolbarButton = 11, /* Mac OS X forward*/
- wInStructure = 13 /* Mac OS X 10.1 forward*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Definition Messages */
- /*--------------------------------------------------------------------------------------*/
-
- enum
- {
- kWindowMsgDraw = 0,
- kWindowMsgHitTest = 1,
- kWindowMsgCalculateShape = 2,
- kWindowMsgInitialize = 3,
- kWindowMsgCleanUp = 4,
- kWindowMsgDrawGrowOutline = 5,
- kWindowMsgDrawGrowBox = 6
- };
-
- /* Messages available from Mac OS 8.0 forward*/
- enum
- {
- kWindowMsgGetFeatures = 7,
- kWindowMsgGetRegion = 8
- };
-
- /* Messages available from Mac OS 8.5 forward*/
- enum
- {
- kWindowMsgDragHilite = 9, /* parameter boolean indicating on or off*/
- kWindowMsgModified = 10, /* parameter boolean indicating saved (false) or modified (true)*/
- kWindowMsgDrawInCurrentPort = 11, /* same as kWindowMsgDraw, but must draw in current port*/
- kWindowMsgSetupProxyDragImage = 12, /* parameter pointer to SetupWindowProxyDragImageRec*/
- kWindowMsgStateChanged = 13, /* something about the window's state has changed*/
- kWindowMsgMeasureTitle = 14 /* measure and return the ideal title width*/
- };
-
- /* Messages only available in Carbon*/
- enum
- {
- kWindowMsgGetGrowImageRegion = 19 /* get region to xor during grow/resize. parameter pointer to GetGrowImageRegionRec.*/
- };
-
- /* old names*/
- enum
- {
- wDraw = 0,
- wHit = 1,
- wCalcRgns = 2,
- wNew = 3,
- wDispose = 4,
- wGrow = 5,
- wDrawGIcon = 6
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o State-changed Flags for kWindowMsgStateChanged */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kWindowStateTitleChanged = (1 << 0)
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Feature Bits */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kWindowCanGrow = (1 << 0),
- kWindowCanZoom = (1 << 1),
- kWindowCanCollapse = (1 << 2),
- kWindowIsModal = (1 << 3),
- kWindowCanGetWindowRegion = (1 << 4),
- kWindowIsAlert = (1 << 5),
- kWindowHasTitleBar = (1 << 6)
- };
-
- /* Feature bits available from Mac OS 8.5 forward*/
- enum
- {
- kWindowSupportsDragHilite = (1 << 7), /* window definition supports kWindowMsgDragHilite*/
- kWindowSupportsModifiedBit = (1 << 8), /* window definition supports kWindowMsgModified*/
- kWindowCanDrawInCurrentPort = (1 << 9), /* window definition supports kWindowMsgDrawInCurrentPort*/
- kWindowCanSetupProxyDragImage = (1 << 10), /* window definition supports kWindowMsgSetupProxyDragImage*/
- kWindowCanMeasureTitle = (1 << 11), /* window definition supports kWindowMsgMeasureTitle*/
- kWindowWantsDisposeAtProcessDeath = (1 << 12), /* window definition wants a Dispose message for windows still extant during ExitToShell*/
- kWindowSupportsGetGrowImageRegion = (1 << 13), /* window definition will calculate the grow image region manually.*/
- kWindowDefSupportsColorGrafPort = 0x40000002
- };
-
- /* Feature bits for post MacOS 10.0*/
- enum
- {
- kWindowIsOpaque = (1 << 14) /* Window doesn't need an alpha channel. Saves memory.*/
- };
-
- /*
- THIS CONSTANT IS GOING AWAY. IT IS NAMED INCORRECTLY. USE THE GETGROWIMAGE CONSTANT ABOVE INSTEAD.
- DO YOU HEAR ME! AM I YELLING LOUD ENOUGH?!
- */
- enum
- {
- kWindowSupportsSetGrowImageRegion = (1 << 13)
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Desktop Pattern Resource ID */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- deskPatID = 16
- };
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Color Part Codes */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- wContentColor = 0,
- wFrameColor = 1,
- wTextColor = 2,
- wHiliteColor = 3,
- wTitleBarColor = 4
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Region Dragging Constants */
- /*--------------------------------------------------------------------------------------*/
-
- enum
- {
- kMouseUpOutOfSlop = (long)0x80008000
- };
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Color Table */
- /*--------------------------------------------------------------------------------------*/
- struct WinCTab
- {
- long wCSeed; /* reserved */
- short wCReserved; /* reserved */
- short ctSize; /* usually 4 for windows */
- ColorSpec ctTable[5];
- };
- typedef struct WinCTab WinCTab;
- typedef WinCTab * WCTabPtr;
- typedef WCTabPtr * WCTabHandle;
- /*--------------------------------------------------------------------------------------*/
- /* o WindowRecord */
- /*--------------------------------------------------------------------------------------*/
+enum {
+ /* Resource IDs for theme-savvy window defprocs */
+ kWindowDocumentDefProcResID = 64,
+ kWindowDialogDefProcResID = 65,
+ kWindowUtilityDefProcResID = 66,
+ kWindowUtilitySideTitleDefProcResID = 67,
+ kWindowSheetDefProcResID = 68,
+ kWindowSimpleDefProcResID = 69,
+ kWindowSheetAlertDefProcResID = 70
+};
+
+enum {
+ /* Proc IDs for theme-savvy windows */
+ kWindowDocumentProc = 1024,
+ kWindowGrowDocumentProc = 1025,
+ kWindowVertZoomDocumentProc = 1026,
+ kWindowVertZoomGrowDocumentProc = 1027,
+ kWindowHorizZoomDocumentProc = 1028,
+ kWindowHorizZoomGrowDocumentProc = 1029,
+ kWindowFullZoomDocumentProc = 1030,
+ kWindowFullZoomGrowDocumentProc = 1031
+};
+
+
+enum {
+ /* Proc IDs for theme-savvy dialogs */
+ kWindowPlainDialogProc = 1040,
+ kWindowShadowDialogProc = 1041,
+ kWindowModalDialogProc = 1042,
+ kWindowMovableModalDialogProc = 1043,
+ kWindowAlertProc = 1044,
+ kWindowMovableAlertProc = 1045
+};
+
+
+enum {
+ /* procIDs available from Mac OS 8.1 (Appearance 1.0.1) forward */
+ kWindowMovableModalGrowProc = 1046
+};
+
+
+enum {
+ /* Proc IDs for top title bar theme-savvy floating windows */
+ kWindowFloatProc = 1057,
+ kWindowFloatGrowProc = 1059,
+ kWindowFloatVertZoomProc = 1061,
+ kWindowFloatVertZoomGrowProc = 1063,
+ kWindowFloatHorizZoomProc = 1065,
+ kWindowFloatHorizZoomGrowProc = 1067,
+ kWindowFloatFullZoomProc = 1069,
+ kWindowFloatFullZoomGrowProc = 1071
+};
+
+
+enum {
+ /* Proc IDs for side title bar theme-savvy floating windows */
+ kWindowFloatSideProc = 1073,
+ kWindowFloatSideGrowProc = 1075,
+ kWindowFloatSideVertZoomProc = 1077,
+ kWindowFloatSideVertZoomGrowProc = 1079,
+ kWindowFloatSideHorizZoomProc = 1081,
+ kWindowFloatSideHorizZoomGrowProc = 1083,
+ kWindowFloatSideFullZoomProc = 1085,
+ kWindowFloatSideFullZoomGrowProc = 1087
+};
+
+
+enum {
+ /* Proc IDs for sheet windows */
+ kWindowSheetProc = 1088, /* available in Mac OS X and CarbonLib 1.3 */
+ kWindowSheetAlertProc = 1120 /* available in Mac OS X after 1.0, and CarbonLib 1.3 */
+};
+
+
+
+/*
+ * Discussion:
+ * Window defproc IDs for simple windows
+ */
+enum {
+ /* Proc IDs for simple windows */
+
+ /*
+ * A window that has no structure region; the content covers the
+ * entire window.
+ */
+ kWindowSimpleProc = 1104,
+
+ /*
+ * A window that has a 1-pixel black frame as its structure.
+ */
+ kWindowSimpleFrameProc = 1105
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o System 7 Window Positioning Constants */
+/* */
+/* Passed into StandardAlert and used in 'WIND', 'DLOG', and 'ALRT' templates */
+/* StandardAlert uses zero to specify the default position. Other calls use zero to */
+/* specify "no position". Do not pass these constants to RepositionWindow. Do not */
+/* store these constants in the BasicWindowDescription of a 'wind' resource. */
+/*--------------------------------------------------------------------------------------*/
+
+enum {
+ kWindowNoPosition = 0x0000,
+ kWindowDefaultPosition = 0x0000, /* used by StandardAlert*/
+ kWindowCenterMainScreen = 0x280A,
+ kWindowAlertPositionMainScreen = 0x300A,
+ kWindowStaggerMainScreen = 0x380A,
+ kWindowCenterParentWindow = 0xA80A,
+ kWindowAlertPositionParentWindow = 0xB00A,
+ kWindowStaggerParentWindow = 0xB80A,
+ kWindowCenterParentWindowScreen = 0x680A,
+ kWindowAlertPositionParentWindowScreen = 0x700A,
+ kWindowStaggerParentWindowScreen = 0x780A
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Positioning Methods */
+/* */
+/* Positioning methods passed to RepositionWindow. */
+/* Do not use them in WIND, ALRT, DLOG templates. */
+/* Do not confuse these constants with the constants above */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * WindowPositionMethod
+ *
+ * Summary:
+ * Positioning methods usable with RepositionWindow.
+ *
+ * Discussion:
+ * These constants are for use solely with the RepositionWindow API.
+ * They should not be used in 'WIND', 'ALRT', or 'DLOG' resources.
+ */
+typedef UInt32 WindowPositionMethod;
+enum {
+
+ /*
+ * Centers the window on the main screen.
+ */
+ kWindowCenterOnMainScreen = 1,
+
+ /*
+ * Centers the window on its parent window.
+ */
+ kWindowCenterOnParentWindow = 2,
+
+ /*
+ * Centers the window on the screen containing the largest portion of
+ * its parent window.
+ */
+ kWindowCenterOnParentWindowScreen = 3,
+
+ /*
+ * Cascades the window on the main screen.
+ */
+ kWindowCascadeOnMainScreen = 4,
+
+ /*
+ * Cascades the window on its parent window.
+ */
+ kWindowCascadeOnParentWindow = 5,
+
+ /*
+ * Cascades the window on the screen containing the largest portion
+ * of its parent window.
+ */
+ kWindowCascadeOnParentWindowScreen = 6,
+
+ /*
+ * Cascades the window on the screen containing the largest portion
+ * of its parent window, starting below and to the right of its
+ * parent window. Available in Mac OS X after version 10.1.x and
+ * CarbonLib after 1.5.
+ */
+ kWindowCascadeStartAtParentWindowScreen = 10,
+
+ /*
+ * Puts the window into the alert position on the main screen.
+ */
+ kWindowAlertPositionOnMainScreen = 7,
+
+ /*
+ * Puts the window into the alert position on its parent window.
+ */
+ kWindowAlertPositionOnParentWindow = 8,
+
+ /*
+ * Puts the window into the alert position on the screen containing
+ * the largest portion of its parent window.
+ */
+ kWindowAlertPositionOnParentWindowScreen = 9
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o GetWindowRegion Types */
+/*--------------------------------------------------------------------------------------*/
+typedef UInt16 WindowRegionCode;
+enum {
+ /* Region values to pass into GetWindowRegion & GetWindowBounds. All regions are reported in global coordinates. */
+ kWindowTitleBarRgn = 0,
+ kWindowTitleTextRgn = 1,
+ kWindowCloseBoxRgn = 2,
+ kWindowZoomBoxRgn = 3,
+ kWindowDragRgn = 5,
+ kWindowGrowRgn = 6,
+ kWindowCollapseBoxRgn = 7,
+ kWindowTitleProxyIconRgn = 8, /* Mac OS 8.5 forward*/
+ kWindowStructureRgn = 32,
+ kWindowContentRgn = 33, /* Content area of the window; empty when the window is collapsed*/
+ kWindowUpdateRgn = 34, /* Carbon forward*/
+ kWindowOpaqueRgn = 35, /* Mac OS X: Area of window considered to be opaque. Only valid for windows with alpha channels.*/
+ kWindowGlobalPortRgn = 40 /* Carbon forward - bounds of the window's port in global coordinates; not affected by CollapseWindow*/
+};
+
+/* GetWindowRegionRec - a pointer to this is passed in WDEF param for kWindowMsgGetRegion*/
+struct GetWindowRegionRec {
+ RgnHandle winRgn;
+ WindowRegionCode regionCode;
+};
+typedef struct GetWindowRegionRec GetWindowRegionRec;
+typedef GetWindowRegionRec * GetWindowRegionPtr;
+typedef GetWindowRegionRec * GetWindowRegionRecPtr;
+/*--------------------------------------------------------------------------------------*/
+/* o WDEF Message Types */
+/*--------------------------------------------------------------------------------------*/
+/*
+ SetupWindowProxyDragImageRec - setup the proxy icon drag image
+ Both regions are allocated and disposed by the Window Manager.
+ The GWorld is disposed of by the Window Manager, but the WDEF must allocate
+ it. See Technote on Drag Manager 1.1 additions for more information and sample code for
+ setting up drag images.
+*/
+
+struct SetupWindowProxyDragImageRec {
+ GWorldPtr imageGWorld; /* locked GWorld containing the drag image - output - can be NULL*/
+ RgnHandle imageRgn; /* image clip region, contains the portion of the image which gets blitted to screen - preallocated output - if imageGWorld is NULL, this is ignored*/
+ RgnHandle outlineRgn; /* the outline region used on shallow monitors - preallocated output - must always be non-empty*/
+};
+typedef struct SetupWindowProxyDragImageRec SetupWindowProxyDragImageRec;
+/* MeasureWindowTitleRec - a pointer to this is passed in WDEF param for kWindowMsgMeasureTitle*/
+struct MeasureWindowTitleRec {
+ /* output parameters (filled in by the WDEF)*/
+ SInt16 fullTitleWidth; /* text + proxy icon width*/
+ SInt16 titleTextWidth; /* text width*/
+};
+typedef struct MeasureWindowTitleRec MeasureWindowTitleRec;
+typedef MeasureWindowTitleRec * MeasureWindowTitleRecPtr;
+/*
+ GetGrowImageRegionRec - generate a region to be xored during GrowWindow and ResizeWindow.
+ This is passed along with a kWindowMsgGetGrowImageRegion message. On input, the growRect
+ parameter is the window's new bounds in global coordinates. The growImageRegion parameter
+ will be allocated and disposed automatically; the window definition should alter the
+ region appropriately.
+*/
+struct GetGrowImageRegionRec {
+ Rect growRect;
+ RgnHandle growImageRegion;
+};
+typedef struct GetGrowImageRegionRec GetGrowImageRegionRec;
+/*--------------------------------------------------------------------------------------*/
+/* o Standard Window Kinds */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ dialogKind = 2,
+ userKind = 8,
+ kDialogWindowKind = 2,
+ kApplicationWindowKind = 8
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o FindWindow Result Codes */
+/*--------------------------------------------------------------------------------------*/
+typedef SInt16 WindowPartCode;
+enum {
+ inDesk = 0,
+ inNoWindow = 0,
+ inMenuBar = 1,
+ inSysWindow = 2,
+ inContent = 3,
+ inDrag = 4,
+ inGrow = 5,
+ inGoAway = 6,
+ inZoomIn = 7,
+ inZoomOut = 8,
+ inCollapseBox = 11, /* Mac OS 8.0 forward*/
+ inProxyIcon = 12, /* Mac OS 8.5 forward*/
+ inToolbarButton = 13, /* Mac OS X forward*/
+ inStructure = 15 /* Mac OS X 10.1 forward*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Definition Hit Test Result Codes */
+/*--------------------------------------------------------------------------------------*/
+typedef SInt16 WindowDefPartCode;
+enum {
+ wNoHit = 0,
+ wInContent = 1,
+ wInDrag = 2,
+ wInGrow = 3,
+ wInGoAway = 4,
+ wInZoomIn = 5,
+ wInZoomOut = 6,
+ wInCollapseBox = 9, /* Mac OS 8.0 forward*/
+ wInProxyIcon = 10, /* Mac OS 8.5 forward*/
+ wInToolbarButton = 11, /* Mac OS X forward*/
+ wInStructure = 13 /* Mac OS X 10.1 forward*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Definition Messages */
+/*--------------------------------------------------------------------------------------*/
+
+enum {
+ kWindowMsgDraw = 0,
+ kWindowMsgHitTest = 1,
+ kWindowMsgCalculateShape = 2,
+ kWindowMsgInitialize = 3,
+ kWindowMsgCleanUp = 4,
+ kWindowMsgDrawGrowOutline = 5,
+ kWindowMsgDrawGrowBox = 6
+};
+
+/* Messages available from Mac OS 8.0 forward*/
+enum {
+ kWindowMsgGetFeatures = 7,
+ kWindowMsgGetRegion = 8
+};
+
+/* Messages available from Mac OS 8.5 forward*/
+enum {
+ kWindowMsgDragHilite = 9, /* parameter boolean indicating on or off*/
+ kWindowMsgModified = 10, /* parameter boolean indicating saved (false) or modified (true)*/
+ kWindowMsgDrawInCurrentPort = 11, /* same as kWindowMsgDraw, but must draw in current port*/
+ kWindowMsgSetupProxyDragImage = 12, /* parameter pointer to SetupWindowProxyDragImageRec*/
+ kWindowMsgStateChanged = 13, /* something about the window's state has changed*/
+ kWindowMsgMeasureTitle = 14 /* measure and return the ideal title width*/
+};
+
+/* Messages only available in Carbon*/
+enum {
+ kWindowMsgGetGrowImageRegion = 19 /* get region to xor during grow/resize. parameter pointer to GetGrowImageRegionRec.*/
+};
+
+/* old names*/
+enum {
+ wDraw = 0,
+ wHit = 1,
+ wCalcRgns = 2,
+ wNew = 3,
+ wDispose = 4,
+ wGrow = 5,
+ wDrawGIcon = 6
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o State-changed Flags for kWindowMsgStateChanged */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kWindowStateTitleChanged = (1 << 0)
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Feature Bits */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kWindowCanGrow = (1 << 0),
+ kWindowCanZoom = (1 << 1),
+ kWindowCanCollapse = (1 << 2),
+ kWindowIsModal = (1 << 3),
+ kWindowCanGetWindowRegion = (1 << 4),
+ kWindowIsAlert = (1 << 5),
+ kWindowHasTitleBar = (1 << 6)
+};
+
+/* Feature bits available from Mac OS 8.5 forward*/
+enum {
+ kWindowSupportsDragHilite = (1 << 7), /* window definition supports kWindowMsgDragHilite*/
+ kWindowSupportsModifiedBit = (1 << 8), /* window definition supports kWindowMsgModified*/
+ kWindowCanDrawInCurrentPort = (1 << 9), /* window definition supports kWindowMsgDrawInCurrentPort*/
+ kWindowCanSetupProxyDragImage = (1 << 10), /* window definition supports kWindowMsgSetupProxyDragImage*/
+ kWindowCanMeasureTitle = (1 << 11), /* window definition supports kWindowMsgMeasureTitle*/
+ kWindowWantsDisposeAtProcessDeath = (1 << 12), /* window definition wants a Dispose message for windows still extant during ExitToShell*/
+ kWindowSupportsGetGrowImageRegion = (1 << 13), /* window definition will calculate the grow image region manually.*/
+ kWindowDefSupportsColorGrafPort = 0x40000002
+};
+
+/* Feature bits for post MacOS 10.0*/
+enum {
+ kWindowIsOpaque = (1 << 14) /* Window doesn't need an alpha channel. Saves memory.*/
+};
+
+/*
+ THIS CONSTANT IS GOING AWAY. IT IS NAMED INCORRECTLY. USE THE GETGROWIMAGE CONSTANT ABOVE INSTEAD.
+ DO YOU HEAR ME! AM I YELLING LOUD ENOUGH?!
+*/
+enum {
+ kWindowSupportsSetGrowImageRegion = (1 << 13)
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Desktop Pattern Resource ID */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ deskPatID = 16
+};
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Color Part Codes */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ wContentColor = 0,
+ wFrameColor = 1,
+ wTextColor = 2,
+ wHiliteColor = 3,
+ wTitleBarColor = 4
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Region Dragging Constants */
+/*--------------------------------------------------------------------------------------*/
+
+enum {
+ kMouseUpOutOfSlop = (long)0x80008000
+};
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Color Table */
+/*--------------------------------------------------------------------------------------*/
+struct WinCTab {
+ long wCSeed; /* reserved */
+ short wCReserved; /* reserved */
+ short ctSize; /* usually 4 for windows */
+ ColorSpec ctTable[5];
+};
+typedef struct WinCTab WinCTab;
+typedef WinCTab * WCTabPtr;
+typedef WCTabPtr * WCTabHandle;
+/*--------------------------------------------------------------------------------------*/
+/* o WindowRecord */
+/*--------------------------------------------------------------------------------------*/
#if !OPAQUE_TOOLBOX_STRUCTS
- typedef struct WindowRecord WindowRecord;
- typedef WindowRecord * WindowPeek;
- struct WindowRecord
- {
- GrafPort port; /* in Carbon use GetWindowPort*/
- short windowKind; /* in Carbon use Get/SetWindowKind*/
- Boolean visible; /* in Carbon use Hide/ShowWindow, ShowHide, IsWindowVisible*/
- Boolean hilited; /* in Carbon use HiliteWindow, IsWindowHilited*/
- Boolean goAwayFlag; /* in Carbon use ChangeWindowAttributes*/
- Boolean spareFlag; /* in Carbon use ChangeWindowAttributes*/
- RgnHandle strucRgn; /* in Carbon use GetWindowRegion*/
- RgnHandle contRgn; /* in Carbon use GetWindowRegion*/
- RgnHandle updateRgn; /* in Carbon use GetWindowRegion*/
- Handle windowDefProc; /* not supported in Carbon */
- Handle dataHandle; /* not supported in Carbon */
- StringHandle titleHandle; /* in Carbon use Get/SetWTitle */
- short titleWidth; /* in Carbon use GetWindowRegion */
- Handle controlList; /* in Carbon use GetRootControl */
- WindowPeek nextWindow; /* in Carbon use GetNextWindow */
- PicHandle windowPic; /* in Carbon use Get/SetWindowPic */
- long refCon; /* in Carbon use Get/SetWRefCon*/
- };
+typedef struct WindowRecord WindowRecord;
+typedef WindowRecord * WindowPeek;
+struct WindowRecord {
+ GrafPort port; /* in Carbon use GetWindowPort*/
+ short windowKind; /* in Carbon use Get/SetWindowKind*/
+ Boolean visible; /* in Carbon use Hide/ShowWindow, ShowHide, IsWindowVisible*/
+ Boolean hilited; /* in Carbon use HiliteWindow, IsWindowHilited*/
+ Boolean goAwayFlag; /* in Carbon use ChangeWindowAttributes*/
+ Boolean spareFlag; /* in Carbon use ChangeWindowAttributes*/
+ RgnHandle strucRgn; /* in Carbon use GetWindowRegion*/
+ RgnHandle contRgn; /* in Carbon use GetWindowRegion*/
+ RgnHandle updateRgn; /* in Carbon use GetWindowRegion*/
+ Handle windowDefProc; /* not supported in Carbon */
+ Handle dataHandle; /* not supported in Carbon */
+ StringHandle titleHandle; /* in Carbon use Get/SetWTitle */
+ short titleWidth; /* in Carbon use GetWindowRegion */
+ Handle controlList; /* in Carbon use GetRootControl */
+ WindowPeek nextWindow; /* in Carbon use GetNextWindow */
+ PicHandle windowPic; /* in Carbon use Get/SetWindowPic */
+ long refCon; /* in Carbon use Get/SetWRefCon*/
+};
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /*--------------------------------------------------------------------------------------*/
- /* o Color WindowRecord */
- /*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o Color WindowRecord */
+/*--------------------------------------------------------------------------------------*/
#if !OPAQUE_TOOLBOX_STRUCTS
- typedef struct CWindowRecord CWindowRecord;
- typedef CWindowRecord * CWindowPeek;
- struct CWindowRecord
- {
- CGrafPort port; /* in Carbon use GetWindowPort*/
- short windowKind; /* in Carbon use Get/SetWindowKind */
- Boolean visible; /* in Carbon use Hide/ShowWindow, ShowHide, IsWindowVisible */
- Boolean hilited; /* in Carbon use HiliteWindow, IsWindowHilited*/
- Boolean goAwayFlag; /* in Carbon use ChangeWindowAttributes */
- Boolean spareFlag; /* in Carbon use ChangeWindowAttributes */
- RgnHandle strucRgn; /* in Carbon use GetWindowRegion */
- RgnHandle contRgn; /* in Carbon use GetWindowRegion */
- RgnHandle updateRgn; /* in Carbon use GetWindowRegion */
- Handle windowDefProc; /* not supported in Carbon */
- Handle dataHandle; /* not supported in Carbon */
- StringHandle titleHandle; /* in Carbon use Get/SetWTitle */
- short titleWidth; /* in Carbon use GetWindowRegion */
- Handle controlList; /* in Carbon use GetRootControl */
- CWindowPeek nextWindow; /* in Carbon use GetNextWindow */
- PicHandle windowPic; /* in Carbon use Get/SetWindowPic */
- long refCon; /* in Carbon use Get/SetWRefCon */
- };
+typedef struct CWindowRecord CWindowRecord;
+typedef CWindowRecord * CWindowPeek;
+struct CWindowRecord {
+ CGrafPort port; /* in Carbon use GetWindowPort*/
+ short windowKind; /* in Carbon use Get/SetWindowKind */
+ Boolean visible; /* in Carbon use Hide/ShowWindow, ShowHide, IsWindowVisible */
+ Boolean hilited; /* in Carbon use HiliteWindow, IsWindowHilited*/
+ Boolean goAwayFlag; /* in Carbon use ChangeWindowAttributes */
+ Boolean spareFlag; /* in Carbon use ChangeWindowAttributes */
+ RgnHandle strucRgn; /* in Carbon use GetWindowRegion */
+ RgnHandle contRgn; /* in Carbon use GetWindowRegion */
+ RgnHandle updateRgn; /* in Carbon use GetWindowRegion */
+ Handle windowDefProc; /* not supported in Carbon */
+ Handle dataHandle; /* not supported in Carbon */
+ StringHandle titleHandle; /* in Carbon use Get/SetWTitle */
+ short titleWidth; /* in Carbon use GetWindowRegion */
+ Handle controlList; /* in Carbon use GetRootControl */
+ CWindowPeek nextWindow; /* in Carbon use GetNextWindow */
+ PicHandle windowPic; /* in Carbon use Get/SetWindowPic */
+ long refCon; /* in Carbon use Get/SetWRefCon */
+};
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /*--------------------------------------------------------------------------------------*/
- /* o AuxWinHandle */
- /*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o AuxWinHandle */
+/*--------------------------------------------------------------------------------------*/
#if !OPAQUE_TOOLBOX_STRUCTS
- typedef struct AuxWinRec AuxWinRec;
- typedef AuxWinRec * AuxWinPtr;
- typedef AuxWinPtr * AuxWinHandle;
- struct AuxWinRec
- {
- AuxWinHandle awNext; /* handle to next AuxWinRec, not supported in Carbon*/
- WindowRef awOwner; /* not supported in Carbon*/
- CTabHandle awCTable; /* color table for this window, use Get/SetWindowContentColor in Carbon*/
- Handle reserved; /* not supported in Carbon*/
- long awFlags; /* reserved for expansion, not supported in Carbon*/
- CTabHandle awReserved; /* reserved for expansion, not supported in Carbon*/
- long awRefCon; /* user constant, in Carbon use Get/SetWindowProperty if you need more refCons*/
- };
+typedef struct AuxWinRec AuxWinRec;
+typedef AuxWinRec * AuxWinPtr;
+typedef AuxWinPtr * AuxWinHandle;
+struct AuxWinRec {
+ AuxWinHandle awNext; /* handle to next AuxWinRec, not supported in Carbon*/
+ WindowRef awOwner; /* not supported in Carbon*/
+ CTabHandle awCTable; /* color table for this window, use Get/SetWindowContentColor in Carbon*/
+ Handle reserved; /* not supported in Carbon*/
+ long awFlags; /* reserved for expansion, not supported in Carbon*/
+ CTabHandle awReserved; /* reserved for expansion, not supported in Carbon*/
+ long awRefCon; /* user constant, in Carbon use Get/SetWindowProperty if you need more refCons*/
+};
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /*--------------------------------------------------------------------------------------*/
- /* o BasicWindowDescription */
- /* */
- /* Contains statically-sized basic attributes of the window, for storage in a */
- /* collection item. */
- /*--------------------------------------------------------------------------------------*/
- /* constants for the version field*/
- enum
- {
- kWindowDefinitionVersionOne = 1,
- kWindowDefinitionVersionTwo = 2
- };
-
- /* constants for the stateflags bit field */
- enum
- {
- kWindowIsCollapsedState = (1 << 0L)
- };
-
- struct BasicWindowDescription
- {
- UInt32 descriptionSize; /* sizeof(BasicWindowDescription)*/
-
- Rect windowContentRect; /* location on screen*/
- Rect windowZoomRect; /* location on screen when zoomed out*/
- UInt32 windowRefCon; /* the refcon - __avoid saving stale pointers here__ */
- UInt32 windowStateFlags; /* window state bit flags*/
- WindowPositionMethod windowPositionMethod; /* method last used by RepositionWindow to position the window (if any)*/
-
- UInt32 windowDefinitionVersion;
- union
- {
- struct
- {
- SInt16 windowDefProc; /* defProc and variant*/
- Boolean windowHasCloseBox;
- } versionOne;
-
- struct
- {
- WindowClass windowClass; /* the class*/
- WindowAttributes windowAttributes; /* the attributes*/
- } versionTwo;
-
- } windowDefinition;
- };
- typedef struct BasicWindowDescription BasicWindowDescription;
- /* the window manager stores the default collection items using these IDs*/
- enum
- {
- kStoredWindowSystemTag = FOUR_CHAR_CODE('appl'), /* Only Apple collection items will be of this tag*/
- kStoredBasicWindowDescriptionID = FOUR_CHAR_CODE('sbas'), /* BasicWindowDescription*/
- kStoredWindowPascalTitleID = FOUR_CHAR_CODE('s255') /* pascal title string*/
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Class Ordering */
- /* */
- /* Special cases for the "behind" parameter in window creation calls. */
- /*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o BasicWindowDescription */
+/* */
+/* Contains statically-sized basic attributes of the window, for storage in a */
+/* collection item. */
+/*--------------------------------------------------------------------------------------*/
+/* constants for the version field*/
+enum {
+ kWindowDefinitionVersionOne = 1,
+ kWindowDefinitionVersionTwo = 2
+};
+
+/* constants for the stateflags bit field */
+enum {
+ kWindowIsCollapsedState = (1 << 0L)
+};
+
+struct BasicWindowDescription {
+ UInt32 descriptionSize; /* sizeof(BasicWindowDescription)*/
+
+ Rect windowContentRect; /* location on screen*/
+ Rect windowZoomRect; /* location on screen when zoomed out*/
+ UInt32 windowRefCon; /* the refcon - __avoid saving stale pointers here__ */
+ UInt32 windowStateFlags; /* window state bit flags*/
+ WindowPositionMethod windowPositionMethod; /* method last used by RepositionWindow to position the window (if any)*/
+
+ UInt32 windowDefinitionVersion;
+ union {
+ struct {
+ SInt16 windowDefProc; /* defProc and variant*/
+ Boolean windowHasCloseBox;
+ } versionOne;
+
+ struct {
+ WindowClass windowClass; /* the class*/
+ WindowAttributes windowAttributes; /* the attributes*/
+ } versionTwo;
+
+ } windowDefinition;
+};
+typedef struct BasicWindowDescription BasicWindowDescription;
+/* the window manager stores the default collection items using these IDs*/
+enum {
+ kStoredWindowSystemTag = FOUR_CHAR_CODE('appl'), /* Only Apple collection items will be of this tag*/
+ kStoredBasicWindowDescriptionID = FOUR_CHAR_CODE('sbas'), /* BasicWindowDescription*/
+ kStoredWindowPascalTitleID = FOUR_CHAR_CODE('s255') /* pascal title string*/
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Class Ordering */
+/* */
+/* Special cases for the "behind" parameter in window creation calls. */
+/*--------------------------------------------------------------------------------------*/
#define kFirstWindowOfClass ((WindowRef)(-1))
#define kLastWindowOfClass ((WindowRef)0)
- /*--------------------------------------------------------------------------------------*/
- /* o Zoom Information Handle */
- /*--------------------------------------------------------------------------------------*/
- struct WStateData
- {
- Rect userState; /*user zoom state*/
- Rect stdState; /*standard zoom state*/
- };
- typedef struct WStateData WStateData;
- typedef WStateData * WStateDataPtr;
- typedef WStateDataPtr * WStateDataHandle;
- /*--------------------------------------------------------------------------------------*/
- /* o MixedMode & ProcPtrs */
- /*--------------------------------------------------------------------------------------*/
- typedef CALLBACK_API(long , WindowDefProcPtr)(short varCode, WindowRef window, short message, long param);
- typedef CALLBACK_API_REGISTER68K(void , DeskHookProcPtr, (Boolean mouseClick, EventRecord *theEvent));
- typedef CALLBACK_API(OSStatus , WindowPaintProcPtr)(GDHandle device, GrafPtr qdContext, WindowRef window, RgnHandle inClientPaintRgn, RgnHandle outSystemPaintRgn, void *refCon);
- typedef STACK_UPP_TYPE(WindowDefProcPtr) WindowDefUPP;
- typedef REGISTER_UPP_TYPE(DeskHookProcPtr) DeskHookUPP;
- typedef STACK_UPP_TYPE(WindowPaintProcPtr) WindowPaintUPP;
- /*
- * NewWindowDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowDefUPP)
- NewWindowDefUPP(WindowDefProcPtr userRoutine);
+/*--------------------------------------------------------------------------------------*/
+/* o Zoom Information Handle */
+/*--------------------------------------------------------------------------------------*/
+struct WStateData {
+ Rect userState; /*user zoom state*/
+ Rect stdState; /*standard zoom state*/
+};
+typedef struct WStateData WStateData;
+typedef WStateData * WStateDataPtr;
+typedef WStateDataPtr * WStateDataHandle;
+/*--------------------------------------------------------------------------------------*/
+/* o MixedMode & ProcPtrs */
+/*--------------------------------------------------------------------------------------*/
+typedef CALLBACK_API( long , WindowDefProcPtr )(short varCode, WindowRef window, short message, long param);
+typedef CALLBACK_API_REGISTER68K( void , DeskHookProcPtr, (Boolean mouseClick, EventRecord *theEvent) );
+typedef CALLBACK_API( OSStatus , WindowPaintProcPtr )(GDHandle device, GrafPtr qdContext, WindowRef window, RgnHandle inClientPaintRgn, RgnHandle outSystemPaintRgn, void *refCon);
+typedef STACK_UPP_TYPE(WindowDefProcPtr) WindowDefUPP;
+typedef REGISTER_UPP_TYPE(DeskHookProcPtr) DeskHookUPP;
+typedef STACK_UPP_TYPE(WindowPaintProcPtr) WindowPaintUPP;
+/*
+ * NewWindowDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowDefUPP )
+NewWindowDefUPP(WindowDefProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppWindowDefProcInfo = 0x00003BB0 }; /* pascal 4_bytes Func(2_bytes, 4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(WindowDefUPP) NewWindowDefUPP(WindowDefProcPtr userRoutine)
- {
- return (WindowDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowDefProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewWindowDefUPP(userRoutine) (WindowDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowDefProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppWindowDefProcInfo = 0x00003BB0 }; /* pascal 4_bytes Func(2_bytes, 4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(WindowDefUPP) NewWindowDefUPP(WindowDefProcPtr userRoutine) { return (WindowDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowDefProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewWindowDefUPP(userRoutine) (WindowDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowDefProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * NewDeskHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DeskHookUPP)
- NewDeskHookUPP(DeskHookProcPtr userRoutine);
+/*
+ * NewDeskHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DeskHookUPP )
+NewDeskHookUPP(DeskHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDeskHookProcInfo = 0x00130802 }; /* register no_return_value Func(1_byte:D0, 4_bytes:A0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DeskHookUPP) NewDeskHookUPP(DeskHookProcPtr userRoutine)
- {
- return (DeskHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeskHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDeskHookUPP(userRoutine) (DeskHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeskHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDeskHookProcInfo = 0x00130802 }; /* register no_return_value Func(1_byte:D0, 4_bytes:A0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DeskHookUPP) NewDeskHookUPP(DeskHookProcPtr userRoutine) { return (DeskHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeskHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDeskHookUPP(userRoutine) (DeskHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeskHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewWindowPaintUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowPaintUPP)
- NewWindowPaintUPP(WindowPaintProcPtr userRoutine);
+/*
+ * NewWindowPaintUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowPaintUPP )
+NewWindowPaintUPP(WindowPaintProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppWindowPaintProcInfo = 0x0003FFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(WindowPaintUPP) NewWindowPaintUPP(WindowPaintProcPtr userRoutine)
- {
- return (WindowPaintUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowPaintProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewWindowPaintUPP(userRoutine) (WindowPaintUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowPaintProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppWindowPaintProcInfo = 0x0003FFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(WindowPaintUPP) NewWindowPaintUPP(WindowPaintProcPtr userRoutine) { return (WindowPaintUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowPaintProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewWindowPaintUPP(userRoutine) (WindowPaintUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWindowPaintProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeWindowDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeWindowDefUPP(WindowDefUPP userUPP);
+/*
+ * DisposeWindowDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeWindowDefUPP(WindowDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeWindowDefUPP(WindowDefUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeWindowDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeWindowDefUPP(WindowDefUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeWindowDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * DisposeDeskHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeDeskHookUPP(DeskHookUPP userUPP);
+/*
+ * DisposeDeskHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeDeskHookUPP(DeskHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDeskHookUPP(DeskHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDeskHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDeskHookUPP(DeskHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDeskHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DisposeWindowPaintUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeWindowPaintUPP(WindowPaintUPP userUPP);
+/*
+ * DisposeWindowPaintUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeWindowPaintUPP(WindowPaintUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeWindowPaintUPP(WindowPaintUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeWindowPaintUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeWindowPaintUPP(WindowPaintUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeWindowPaintUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeWindowDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long)
- InvokeWindowDefUPP(
- short varCode,
- WindowRef window,
- short message,
- long param,
- WindowDefUPP userUPP);
+/*
+ * InvokeWindowDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long )
+InvokeWindowDefUPP(
+ short varCode,
+ WindowRef window,
+ short message,
+ long param,
+ WindowDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(long) InvokeWindowDefUPP(short varCode, WindowRef window, short message, long param, WindowDefUPP userUPP)
- {
- return (long)CALL_FOUR_PARAMETER_UPP(userUPP, uppWindowDefProcInfo, varCode, window, message, param);
- }
-#else
-#define InvokeWindowDefUPP(varCode, window, message, param, userUPP) (long)CALL_FOUR_PARAMETER_UPP((userUPP), uppWindowDefProcInfo, (varCode), (window), (message), (param))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long) InvokeWindowDefUPP(short varCode, WindowRef window, short message, long param, WindowDefUPP userUPP) { return (long)CALL_FOUR_PARAMETER_UPP(userUPP, uppWindowDefProcInfo, varCode, window, message, param); }
+ #else
+ #define InvokeWindowDefUPP(varCode, window, message, param, userUPP) (long)CALL_FOUR_PARAMETER_UPP((userUPP), uppWindowDefProcInfo, (varCode), (window), (message), (param))
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * InvokeDeskHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InvokeDeskHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeDeskHookUPP(__D0, __A0, __A1)
#endif
- EXTERN_API_C(void)
- InvokeDeskHookUPP(
- Boolean mouseClick,
- EventRecord * theEvent,
- DeskHookUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( void )
+InvokeDeskHookUPP(
+ Boolean mouseClick,
+ EventRecord * theEvent,
+ DeskHookUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDeskHookUPP(Boolean mouseClick, EventRecord * theEvent, DeskHookUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppDeskHookProcInfo, mouseClick, theEvent);
- }
-#else
-#define InvokeDeskHookUPP(mouseClick, theEvent, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppDeskHookProcInfo, (mouseClick), (theEvent))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDeskHookUPP(Boolean mouseClick, EventRecord * theEvent, DeskHookUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppDeskHookProcInfo, mouseClick, theEvent); }
+ #else
+ #define InvokeDeskHookUPP(mouseClick, theEvent, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppDeskHookProcInfo, (mouseClick), (theEvent))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * InvokeWindowPaintUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeWindowPaintUPP(
- GDHandle device,
- GrafPtr qdContext,
- WindowRef window,
- RgnHandle inClientPaintRgn,
- RgnHandle outSystemPaintRgn,
- void * refCon,
- WindowPaintUPP userUPP);
+/*
+ * InvokeWindowPaintUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeWindowPaintUPP(
+ GDHandle device,
+ GrafPtr qdContext,
+ WindowRef window,
+ RgnHandle inClientPaintRgn,
+ RgnHandle outSystemPaintRgn,
+ void * refCon,
+ WindowPaintUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeWindowPaintUPP(GDHandle device, GrafPtr qdContext, WindowRef window, RgnHandle inClientPaintRgn, RgnHandle outSystemPaintRgn, void * refCon, WindowPaintUPP userUPP)
- {
- return (OSStatus)CALL_SIX_PARAMETER_UPP(userUPP, uppWindowPaintProcInfo, device, qdContext, window, inClientPaintRgn, outSystemPaintRgn, refCon);
- }
-#else
-#define InvokeWindowPaintUPP(device, qdContext, window, inClientPaintRgn, outSystemPaintRgn, refCon, userUPP) (OSStatus)CALL_SIX_PARAMETER_UPP((userUPP), uppWindowPaintProcInfo, (device), (qdContext), (window), (inClientPaintRgn), (outSystemPaintRgn), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeWindowPaintUPP(GDHandle device, GrafPtr qdContext, WindowRef window, RgnHandle inClientPaintRgn, RgnHandle outSystemPaintRgn, void * refCon, WindowPaintUPP userUPP) { return (OSStatus)CALL_SIX_PARAMETER_UPP(userUPP, uppWindowPaintProcInfo, device, qdContext, window, inClientPaintRgn, outSystemPaintRgn, refCon); }
+ #else
+ #define InvokeWindowPaintUPP(device, qdContext, window, inClientPaintRgn, outSystemPaintRgn, refCon, userUPP) (OSStatus)CALL_SIX_PARAMETER_UPP((userUPP), uppWindowPaintProcInfo, (device), (qdContext), (window), (inClientPaintRgn), (outSystemPaintRgn), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewWindowDefProc(userRoutine) NewWindowDefUPP(userRoutine)
-#define NewDeskHookProc(userRoutine) NewDeskHookUPP(userRoutine)
-#define NewWindowPaintProc(userRoutine) NewWindowPaintUPP(userRoutine)
-#define CallWindowDefProc(userRoutine, varCode, window, message, param) InvokeWindowDefUPP(varCode, window, message, param, userRoutine)
-#define CallDeskHookProc(userRoutine, mouseClick, theEvent) InvokeDeskHookUPP(mouseClick, theEvent, userRoutine)
-#define CallWindowPaintProc(userRoutine, device, qdContext, window, inClientPaintRgn, outSystemPaintRgn, refCon) InvokeWindowPaintUPP(device, qdContext, window, inClientPaintRgn, outSystemPaintRgn, refCon, userRoutine)
+ #define NewWindowDefProc(userRoutine) NewWindowDefUPP(userRoutine)
+ #define NewDeskHookProc(userRoutine) NewDeskHookUPP(userRoutine)
+ #define NewWindowPaintProc(userRoutine) NewWindowPaintUPP(userRoutine)
+ #define CallWindowDefProc(userRoutine, varCode, window, message, param) InvokeWindowDefUPP(varCode, window, message, param, userRoutine)
+ #define CallDeskHookProc(userRoutine, mouseClick, theEvent) InvokeDeskHookUPP(mouseClick, theEvent, userRoutine)
+ #define CallWindowPaintProc(userRoutine, device, qdContext, window, inClientPaintRgn, outSystemPaintRgn, refCon) InvokeWindowPaintUPP(device, qdContext, window, inClientPaintRgn, outSystemPaintRgn, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*--------------------------------------------------------------------------------------*/
- /* o Window Definition Spec. Used in Carbon to specify the code that defines a window. */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kWindowDefProcPtr = 0, /* raw proc-ptr based access*/
- kWindowDefObjectClass = 1, /* event-based definition (Carbon 1.1 or later)*/
- kWindowDefProcID = 2, /* explicit proc ID; overrides the window class default proc ID*/
- kWindowDefHIView = 3 /* this window uses a view as its frame, not a WDEF*/
- };
-
- typedef UInt32 WindowDefType;
- struct WindowDefSpec
- {
- WindowDefType defType;
- union
- {
- WindowDefUPP defProc;
- void * classRef;
- short procID;
- void * rootView; /* ControlRef*/
- } u;
- };
- typedef struct WindowDefSpec WindowDefSpec;
- typedef WindowDefSpec * WindowDefSpecPtr;
- /*--------------------------------------------------------------------------------------*/
- /* o Window Creation & Persistence */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetNewCWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetNewCWindow(
- short windowID,
- void * wStorage,
- WindowRef behind) ONEWORDINLINE(0xAA46);
-
-
- /*
- * NewWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- NewWindow(
- void * wStorage,
- const Rect * boundsRect,
- ConstStr255Param title,
- Boolean visible,
- short theProc,
- WindowRef behind,
- Boolean goAwayFlag,
- long refCon) ONEWORDINLINE(0xA913);
-
-
- /*
- * GetNewWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetNewWindow(
- short windowID,
- void * wStorage,
- WindowRef behind) ONEWORDINLINE(0xA9BD);
-
-
- /*
- * NewCWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- NewCWindow(
- void * wStorage,
- const Rect * boundsRect,
- ConstStr255Param title,
- Boolean visible,
- short procID,
- WindowRef behind,
- Boolean goAwayFlag,
- long refCon) ONEWORDINLINE(0xAA45);
-
-
- /*
- * DisposeWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeWindow(WindowRef window) ONEWORDINLINE(0xA914);
+/*--------------------------------------------------------------------------------------*/
+/* o Window Definition Spec. Used in Carbon to specify the code that defines a window. */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kWindowDefProcPtr = 0, /* raw proc-ptr based access*/
+ kWindowDefObjectClass = 1, /* event-based definition (Carbon 1.1 or later)*/
+ kWindowDefProcID = 2, /* explicit proc ID; overrides the window class default proc ID*/
+ kWindowDefHIView = 3 /* this window uses a view as its frame, not a WDEF*/
+};
+
+typedef UInt32 WindowDefType;
+struct WindowDefSpec {
+ WindowDefType defType;
+ union {
+ WindowDefUPP defProc;
+ void * classRef;
+ short procID;
+ void * rootView; /* ControlRef*/
+ } u;
+};
+typedef struct WindowDefSpec WindowDefSpec;
+typedef WindowDefSpec * WindowDefSpecPtr;
+/*--------------------------------------------------------------------------------------*/
+/* o Window Creation & Persistence */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetNewCWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetNewCWindow(
+ short windowID,
+ void * wStorage,
+ WindowRef behind) ONEWORDINLINE(0xAA46);
+
+
+/*
+ * NewWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+NewWindow(
+ void * wStorage,
+ const Rect * boundsRect,
+ ConstStr255Param title,
+ Boolean visible,
+ short theProc,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ long refCon) ONEWORDINLINE(0xA913);
+
+
+/*
+ * GetNewWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetNewWindow(
+ short windowID,
+ void * wStorage,
+ WindowRef behind) ONEWORDINLINE(0xA9BD);
+
+
+/*
+ * NewCWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+NewCWindow(
+ void * wStorage,
+ const Rect * boundsRect,
+ ConstStr255Param title,
+ Boolean visible,
+ short procID,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ long refCon) ONEWORDINLINE(0xAA45);
+
+
+/*
+ * DisposeWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeWindow(WindowRef window) ONEWORDINLINE(0xA914);
#if CALL_NOT_IN_CARBON
- /*
- * [Mac]CloseWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * [Mac]CloseWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC
-#define MacCloseWindow CloseWindow
+ #define MacCloseWindow CloseWindow
#endif
- EXTERN_API(void)
- MacCloseWindow(WindowRef window) ONEWORDINLINE(0xA92D);
+EXTERN_API( void )
+MacCloseWindow(WindowRef window) ONEWORDINLINE(0xA92D);
- /*
- Routines available from Mac OS 8.5 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
+/*
+ Routines available from Mac OS 8.5 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * CreateNewWindow()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateNewWindow(
- WindowClass windowClass,
- WindowAttributes attributes,
- const Rect * contentBounds,
- WindowRef * outWindow);
-
-
- /* Routines available from Mac OS 8.5 forward*/
-
- /* Create a window from a 'wind' resource*/
- /*
- * CreateWindowFromResource()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateWindowFromResource(
- SInt16 resID,
- WindowRef * outWindow);
-
-
- /* window persistence*/
- /*
- * StoreWindowIntoCollection()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- StoreWindowIntoCollection(
- WindowRef window,
- Collection collection);
-
-
- /*
- * CreateWindowFromCollection()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateWindowFromCollection(
- Collection collection,
- WindowRef * outWindow);
-
-
- /* window refcounting*/
- /*
- * GetWindowOwnerCount()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowOwnerCount(
- WindowRef window,
- UInt32 * outCount);
-
-
- /*
- * CloneWindow()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CloneWindow(WindowRef window);
-
-
- /*
- * GetWindowRetainCount()
- *
- * Summary:
- * Returns the retain count of a window.
- *
- * Discussion:
- * This API is equivalent to GetWindowOwnerCount. For consistency
- * with CoreFoundation and Carbon Events, it is preferred over
- * GetWindowOwnerCount. Both APIs will continue to be supported.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose retain count to retrieve.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ItemCount)
- GetWindowRetainCount(WindowRef inWindow);
-
-
- /*
- * RetainWindow()
- *
- * Summary:
- * Increments the retain count of a window.
- *
- * Discussion:
- * This API is equivalent to CloneWindow. For consistency with
- * CoreFoundation and Carbon Events, it is preferred over
- * CloneWindow. Both APIs will continue to be supported.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose retain count to increment.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RetainWindow(WindowRef inWindow);
-
-
- /*
- * ReleaseWindow()
- *
- * Summary:
- * Decrements the retain count of a window, and destroys the window
- * if the retain count falls to zero.
- *
- * Discussion:
- * This API is equivalent to DisposeWindow. For consistency with
- * CoreFoundation and Carbon Events, it is preferred over
- * DisposeWindow. Both APIs will continue to be supported.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose retain count to decrement.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ReleaseWindow(WindowRef inWindow);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Custom Windows */
- /*--------------------------------------------------------------------------------------*/
- /* Routines available from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward*/
-
- /*
- * CreateCustomWindow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateCustomWindow(
- const WindowDefSpec * def,
- WindowClass windowClass,
- WindowAttributes attributes,
- const Rect * contentBounds,
- WindowRef * outWindow);
-
-
- /*
- * ReshapeCustomWindow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ReshapeCustomWindow(WindowRef window);
-
-
- /*
- * RegisterWindowDefinition()
- *
- * Summary:
- * Registers or unregisters a binding between a resource ID and a
- * window definition function.
- *
- * Discussion:
- * In the Mac OS 8.x Window Manager, a 'WIND' resource can contain
- * an embedded WDEF procID that is used by the Window Manager as the
- * resource ID of an 'WDEF' resource to lay out and draw the window.
- * The 'WDEF' resource is loaded by the Window Manager when you load
- * the menu with GetNewWindow. Since WDEFs can no longer be packaged
- * as code resources on Carbon, the procID can no longer refer
- * directly to a WDEF resource. However, using
- * RegisterWindowDefinition you can instead specify a
- * UniversalProcPtr pointing to code in your application code
- * fragment. RegisterWindowDefinition is available when linking to
- * CarbonLib 1.1 forward.
- *
- * Parameters:
- *
- * inResID:
- * A WDEF proc ID, as used in a 'WIND' resource.
- *
- * inDefSpec:
- * Specifies the WindowDefUPP that should be used for windows with
- * the given WDEF proc ID. Passing NULL allows you to unregister
- * the window definition that had been associated with the given
- * WDEF proc ID.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RegisterWindowDefinition(
- SInt16 inResID,
- const WindowDefSpec * inDefSpec);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window part tracking */
- /*--------------------------------------------------------------------------------------*/
- /*
- Routines available from Mac OS 8.5 forward
- (or from Mac OS 8.6 forward when linking to CarbonLib 1.1 forward)
- */
-
-
- /*
- * GetWindowWidgetHilite()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowWidgetHilite(
- WindowRef inWindow,
- WindowDefPartCode * outHilite);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Metainformation Accessors */
- /*--------------------------------------------------------------------------------------*/
- /*
- * IsValidWindowClass()
- *
- * Summary:
- * Indicates whether a window class is supported by the Window
- * Manager.
- *
- * Parameters:
- *
- * inClass:
- * The window class.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(Boolean)
- IsValidWindowClass(WindowClass inClass);
-
-
- /*
- * GetAvailableWindowAttributes()
- *
- * Summary:
- * Returns the window attributes that are valid for a window class.
- *
- * Discussion:
- * This API is useful because some window classes support different
- * attributes on different platforms (for example, floating windows
- * can have collapse boxes on 9, but not on X), and the Window
- * Manager will return an error if you attempt to create a window
- * with attributes that aren't supported for the requested window
- * class. You can use this API to remove attributes that are not
- * supported by the current platform before calling CreateNewWindow.
- *
- * Parameters:
- *
- * inClass:
- * The window class.
- *
- * Result:
- * The window attributes that are supported for the specified window
- * class.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(WindowAttributes)
- GetAvailableWindowAttributes(WindowClass inClass);
-
-
- /*
- Routines available from Mac OS 8.5 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
- /*
- * GetWindowClass()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowClass(
- WindowRef window,
- WindowClass * outClass);
-
-
- /*
- * GetWindowAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowAttributes(
- WindowRef window,
- WindowAttributes * outAttributes);
-
-
- /*
- Routines available from Mac OS 9.0 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
- /*
- * ChangeWindowAttributes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ChangeWindowAttributes(
- WindowRef window,
- WindowAttributes setTheseAttributes,
- WindowAttributes clearTheseAttributes);
-
-
- /*
- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
-
- SetWindowClass will disappear in the near future. Instead of SetWindowClass,
- you should use SetWindowGroup to move a window into the group of the desired
- class. This API is very dangerous in that is actually does change the class
- of the window, but class was meant to be an immutable property of the window.
- At the very least, this API will be modified to only change the layer of the
- window to match the layer that the specified class normally lives in. Consider
- yourself warned!
-
- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
- WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
- */
- /*
- * SetWindowClass()
- *
- * Summary:
- * Changes the window class of a window.
- *
- * Discussion:
- * SetWindowClass changes the class of a window. It also changes the
- * window's z-order so that it is grouped with other windows of the
- * same class. It does not change the visual appearance of the
- * window. In CarbonLib, SetWindowClass may not be used to change a
- * non-utility window to have utility window class, or to make a
- * utility window have non-utility class. SetWindowClass is
- * available from CarbonLib 1.1 forward.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose class to change.
- *
- * inWindowClass:
- * The new window class.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowClass(
- WindowRef inWindow,
- WindowClass inWindowClass);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Modality */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * WindowModality
- *
- */
- typedef UInt32 WindowModality;
- enum
- {
-
- /*
- * A window does not prevent interaction with any other window in the
- * system.
- */
- kWindowModalityNone = 0,
-
- /*
- * A window prevents interaction with all other windows in the
- * system. Only available in CarbonLib. Mapped to
- * kWindowModalityAppModal in Mac OS X.
- */
- kWindowModalitySystemModal = 1,
-
- /*
- * A window prevents interaction with other windows in the same
- * process.
- */
- kWindowModalityAppModal = 2,
-
- /*
- * A window prevents interaction with a single other window.
- */
- kWindowModalityWindowModal = 3
- };
-
-
- /*
- * SetWindowModality()
- *
- * Summary:
- * Sets the modality of a window.
- *
- * Discussion:
- * The modality of a window is used by the Carbon event manager to
- * automatically determine appropriate event handling.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose modality to set.
- *
- * inModalKind:
- * The new modality for the window.
- *
- * inUnavailableWindow:
- * If the window is becoming window-modal, this parameter
- * specifies the window to which the inWindow parameter is modal.
- * The unavailableWindow will not be available while inWindow is
- * in window-modal state.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowModality(
- WindowRef inWindow,
- WindowModality inModalKind,
- WindowRef inUnavailableWindow);
-
-
- /*
- * GetWindowModality()
- *
- * Summary:
- * Retrieves the modality of a window.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose modality to retrieve.
- *
- * outModalKind:
- * On exit, contains the modality of the window.
- *
- * outUnavailableWindow:
- * On exit, if.the window is window-modal, contains the target
- * window of the specified window's modality.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowModality(
- WindowRef inWindow,
- WindowModality * outModalKind,
- WindowRef * outUnavailableWindow); /* can be NULL */
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Floating Windows */
- /*--------------------------------------------------------------------------------------*/
- /*
- Routines available from Mac OS 8.6 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
-
- /*
- * ShowFloatingWindows()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ShowFloatingWindows(void);
-
-
- /*
- * HideFloatingWindows()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HideFloatingWindows(void);
-
-
- /*
- * AreFloatingWindowsVisible()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- AreFloatingWindowsVisible(void);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Groups */
- /* */
- /* The Window Group API allows the creation and management of groups of windows, */
- /* allowing control of the z-order, activation, and positioning of the windows. */
- /* Internally to the Window Manager, each of the standard window tiers (document, */
- /* toolbar, floating, modal, utility, help, and overlay) is implemented as a window */
- /* group; you can access the window group for a class with GetWindowGroupOfClass. */
- /* You can create your own window groups, if you would like your windows to float, */
- /* for example, above the floating window layer but below the modal layer. It is */
- /* also possible to create more complex hierarchical arrangements of window groups. */
- /*--------------------------------------------------------------------------------------*/
- typedef struct OpaqueWindowGroupRef* WindowGroupRef;
- /* may be passed as the "behindWindow" parameter to NewCWindow and SendBehind*/
+/*
+ * CreateNewWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateNewWindow(
+ WindowClass windowClass,
+ WindowAttributes attributes,
+ const Rect * contentBounds,
+ WindowRef * outWindow);
+
+
+/* Routines available from Mac OS 8.5 forward*/
+
+/* Create a window from a 'wind' resource*/
+/*
+ * CreateWindowFromResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateWindowFromResource(
+ SInt16 resID,
+ WindowRef * outWindow);
+
+
+/* window persistence*/
+/*
+ * StoreWindowIntoCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+StoreWindowIntoCollection(
+ WindowRef window,
+ Collection collection);
+
+
+/*
+ * CreateWindowFromCollection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateWindowFromCollection(
+ Collection collection,
+ WindowRef * outWindow);
+
+
+/* window refcounting*/
+/*
+ * GetWindowOwnerCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowOwnerCount(
+ WindowRef window,
+ UInt32 * outCount);
+
+
+/*
+ * CloneWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CloneWindow(WindowRef window);
+
+
+/*
+ * GetWindowRetainCount()
+ *
+ * Summary:
+ * Returns the retain count of a window.
+ *
+ * Discussion:
+ * This API is equivalent to GetWindowOwnerCount. For consistency
+ * with CoreFoundation and Carbon Events, it is preferred over
+ * GetWindowOwnerCount. Both APIs will continue to be supported.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose retain count to retrieve.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ItemCount )
+GetWindowRetainCount(WindowRef inWindow);
+
+
+/*
+ * RetainWindow()
+ *
+ * Summary:
+ * Increments the retain count of a window.
+ *
+ * Discussion:
+ * This API is equivalent to CloneWindow. For consistency with
+ * CoreFoundation and Carbon Events, it is preferred over
+ * CloneWindow. Both APIs will continue to be supported.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose retain count to increment.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RetainWindow(WindowRef inWindow);
+
+
+/*
+ * ReleaseWindow()
+ *
+ * Summary:
+ * Decrements the retain count of a window, and destroys the window
+ * if the retain count falls to zero.
+ *
+ * Discussion:
+ * This API is equivalent to DisposeWindow. For consistency with
+ * CoreFoundation and Carbon Events, it is preferred over
+ * DisposeWindow. Both APIs will continue to be supported.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose retain count to decrement.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ReleaseWindow(WindowRef inWindow);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Custom Windows */
+/*--------------------------------------------------------------------------------------*/
+/* Routines available from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward*/
+
+/*
+ * CreateCustomWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateCustomWindow(
+ const WindowDefSpec * def,
+ WindowClass windowClass,
+ WindowAttributes attributes,
+ const Rect * contentBounds,
+ WindowRef * outWindow);
+
+
+/*
+ * ReshapeCustomWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ReshapeCustomWindow(WindowRef window);
+
+
+/*
+ * RegisterWindowDefinition()
+ *
+ * Summary:
+ * Registers or unregisters a binding between a resource ID and a
+ * window definition function.
+ *
+ * Discussion:
+ * In the Mac OS 8.x Window Manager, a 'WIND' resource can contain
+ * an embedded WDEF procID that is used by the Window Manager as the
+ * resource ID of an 'WDEF' resource to lay out and draw the window.
+ * The 'WDEF' resource is loaded by the Window Manager when you load
+ * the menu with GetNewWindow. Since WDEFs can no longer be packaged
+ * as code resources on Carbon, the procID can no longer refer
+ * directly to a WDEF resource. However, using
+ * RegisterWindowDefinition you can instead specify a
+ * UniversalProcPtr pointing to code in your application code
+ * fragment. RegisterWindowDefinition is available when linking to
+ * CarbonLib 1.1 forward.
+ *
+ * Parameters:
+ *
+ * inResID:
+ * A WDEF proc ID, as used in a 'WIND' resource.
+ *
+ * inDefSpec:
+ * Specifies the WindowDefUPP that should be used for windows with
+ * the given WDEF proc ID. Passing NULL allows you to unregister
+ * the window definition that had been associated with the given
+ * WDEF proc ID.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RegisterWindowDefinition(
+ SInt16 inResID,
+ const WindowDefSpec * inDefSpec);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window part tracking */
+/*--------------------------------------------------------------------------------------*/
+/*
+ Routines available from Mac OS 8.5 forward
+ (or from Mac OS 8.6 forward when linking to CarbonLib 1.1 forward)
+*/
+
+
+/*
+ * GetWindowWidgetHilite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowWidgetHilite(
+ WindowRef inWindow,
+ WindowDefPartCode * outHilite);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Metainformation Accessors */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * IsValidWindowClass()
+ *
+ * Summary:
+ * Indicates whether a window class is supported by the Window
+ * Manager.
+ *
+ * Parameters:
+ *
+ * inClass:
+ * The window class.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( Boolean )
+IsValidWindowClass(WindowClass inClass);
+
+
+/*
+ * GetAvailableWindowAttributes()
+ *
+ * Summary:
+ * Returns the window attributes that are valid for a window class.
+ *
+ * Discussion:
+ * This API is useful because some window classes support different
+ * attributes on different platforms (for example, floating windows
+ * can have collapse boxes on 9, but not on X), and the Window
+ * Manager will return an error if you attempt to create a window
+ * with attributes that aren't supported for the requested window
+ * class. You can use this API to remove attributes that are not
+ * supported by the current platform before calling CreateNewWindow.
+ *
+ * Parameters:
+ *
+ * inClass:
+ * The window class.
+ *
+ * Result:
+ * The window attributes that are supported for the specified window
+ * class.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( WindowAttributes )
+GetAvailableWindowAttributes(WindowClass inClass);
+
+
+/*
+ Routines available from Mac OS 8.5 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
+/*
+ * GetWindowClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowClass(
+ WindowRef window,
+ WindowClass * outClass);
+
+
+/*
+ * GetWindowAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowAttributes(
+ WindowRef window,
+ WindowAttributes * outAttributes);
+
+
+/*
+ Routines available from Mac OS 9.0 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
+/*
+ * ChangeWindowAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ChangeWindowAttributes(
+ WindowRef window,
+ WindowAttributes setTheseAttributes,
+ WindowAttributes clearTheseAttributes);
+
+
+/*
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+
+ SetWindowClass will disappear in the near future. Instead of SetWindowClass,
+ you should use SetWindowGroup to move a window into the group of the desired
+ class. This API is very dangerous in that is actually does change the class
+ of the window, but class was meant to be an immutable property of the window.
+ At the very least, this API will be modified to only change the layer of the
+ window to match the layer that the specified class normally lives in. Consider
+ yourself warned!
+
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+ WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+*/
+/*
+ * SetWindowClass()
+ *
+ * Summary:
+ * Changes the window class of a window.
+ *
+ * Discussion:
+ * SetWindowClass changes the class of a window. It also changes the
+ * window's z-order so that it is grouped with other windows of the
+ * same class. It does not change the visual appearance of the
+ * window. In CarbonLib, SetWindowClass may not be used to change a
+ * non-utility window to have utility window class, or to make a
+ * utility window have non-utility class. SetWindowClass is
+ * available from CarbonLib 1.1 forward.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose class to change.
+ *
+ * inWindowClass:
+ * The new window class.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowClass(
+ WindowRef inWindow,
+ WindowClass inWindowClass);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Modality */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * WindowModality
+ *
+ */
+typedef UInt32 WindowModality;
+enum {
+
+ /*
+ * A window does not prevent interaction with any other window in the
+ * system.
+ */
+ kWindowModalityNone = 0,
+
+ /*
+ * A window prevents interaction with all other windows in the
+ * system. Only available in CarbonLib. Mapped to
+ * kWindowModalityAppModal in Mac OS X.
+ */
+ kWindowModalitySystemModal = 1,
+
+ /*
+ * A window prevents interaction with other windows in the same
+ * process.
+ */
+ kWindowModalityAppModal = 2,
+
+ /*
+ * A window prevents interaction with a single other window.
+ */
+ kWindowModalityWindowModal = 3
+};
+
+
+/*
+ * SetWindowModality()
+ *
+ * Summary:
+ * Sets the modality of a window.
+ *
+ * Discussion:
+ * The modality of a window is used by the Carbon event manager to
+ * automatically determine appropriate event handling.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose modality to set.
+ *
+ * inModalKind:
+ * The new modality for the window.
+ *
+ * inUnavailableWindow:
+ * If the window is becoming window-modal, this parameter
+ * specifies the window to which the inWindow parameter is modal.
+ * The unavailableWindow will not be available while inWindow is
+ * in window-modal state.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowModality(
+ WindowRef inWindow,
+ WindowModality inModalKind,
+ WindowRef inUnavailableWindow);
+
+
+/*
+ * GetWindowModality()
+ *
+ * Summary:
+ * Retrieves the modality of a window.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose modality to retrieve.
+ *
+ * outModalKind:
+ * On exit, contains the modality of the window.
+ *
+ * outUnavailableWindow:
+ * On exit, if.the window is window-modal, contains the target
+ * window of the specified window's modality.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowModality(
+ WindowRef inWindow,
+ WindowModality * outModalKind,
+ WindowRef * outUnavailableWindow); /* can be NULL */
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Floating Windows */
+/*--------------------------------------------------------------------------------------*/
+/*
+ Routines available from Mac OS 8.6 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
+
+/*
+ * ShowFloatingWindows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ShowFloatingWindows(void);
+
+
+/*
+ * HideFloatingWindows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HideFloatingWindows(void);
+
+
+/*
+ * AreFloatingWindowsVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+AreFloatingWindowsVisible(void);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Groups */
+/* */
+/* The Window Group API allows the creation and management of groups of windows, */
+/* allowing control of the z-order, activation, and positioning of the windows. */
+/* Internally to the Window Manager, each of the standard window tiers (document, */
+/* toolbar, floating, modal, utility, help, and overlay) is implemented as a window */
+/* group; you can access the window group for a class with GetWindowGroupOfClass. */
+/* You can create your own window groups, if you would like your windows to float, */
+/* for example, above the floating window layer but below the modal layer. It is */
+/* also possible to create more complex hierarchical arrangements of window groups. */
+/*--------------------------------------------------------------------------------------*/
+typedef struct OpaqueWindowGroupRef* WindowGroupRef;
+/* may be passed as the "behindWindow" parameter to NewCWindow and SendBehind*/
#define kFirstWindowOfGroup ((WindowRef)(-1))
#define kLastWindowOfGroup ((WindowRef)NULL)
- /* may be passed as the "behindGroup" parameter to SendWindowGroupBehind*/
+/* may be passed as the "behindGroup" parameter to SendWindowGroupBehind*/
#define kFirstWindowGroup ((WindowGroupRef)(-1))
#define kLastWindowGroup ((WindowGroupRef)NULL)
- /*
- * WindowGroupAttributes
- *
- * Summary:
- * These are attributes that may be applied to a window group.
- */
- typedef UInt32 WindowGroupAttributes;
- enum
- {
-
- /*
- * Makes the group behave somewhat as a layer of windows that move
- * together. When any window in the group is brought to the front of
- * the group, the entire group will also be brought to the front of
- * the containing group's child hierarchy.
- */
- kWindowGroupAttrSelectAsLayer = 1 << 0,
-
- /*
- * The positions of the contents of this group with respect to each
- * other cannot be changed. When one item moves, all other items are
- * moved simultaneously.
- */
- kWindowGroupAttrMoveTogether = 1 << 1,
-
- /*
- * The z-order of the contents of this group with respect to each
- * other cannot be changed. When one item changes z-order, all other
- * items are moved simulataneously. For purposes of z-ordering, the
- * group and all its subgroups are effectively treated as if they
- * were a single window in the parent group of this group.
- */
- kWindowGroupAttrLayerTogether = 1 << 2,
-
- /*
- * The active state of the windows in this group is shared. The
- * windows in the group are activated or deactivated according to the
- * activation scope of the group, but when any window in the group
- * changes activation, all other windows change to match.
- */
- kWindowGroupAttrSharedActivation = 1 << 3,
-
- /*
- * When any window in this group is collapsed, all other windows in
- * this group are hidden. All subgroups of this group are also
- * examined for the HideOnCollapse attribute, and any the windows of
- * any subgroup with this attribute are also hidden. All windows will
- * be shown again when the collapsed window is expanded.
- */
- kWindowGroupAttrHideOnCollapse = 1 << 4
- };
-
-
- /*
- * WindowActivationScope
- *
- * Discussion:
- * Every window has a WindowActivationScope. It defines how windows
- * are activated by the Window Manager with respect to other windows
- * in the window's group and in the current process.
- */
- typedef UInt32 WindowActivationScope;
- enum
- {
-
- /*
- * Windows with this scope are never activated by the Window Manager.
- * This should be used when the window's visual state does not change
- * based on activation (for example, tooltip windows), or when the
- * client wishes to manually control all activation. The window owner
- * is free to explicitly activate windows using the ActivateWindow
- * and DeactivateWindow APIs.
- */
- kWindowActivationScopeNone = 0,
-
- /*
- * Windows with this scope are always active if visible. Windows with
- * this scope are unaffected by the activation state of other
- * windows. This activation scope is automatically used by floating
- * windows.
- */
- kWindowActivationScopeIndependent = 1,
-
- /*
- * Windows with this scope are activated relative to other windows
- * with the same scope in the current process. Only one window with
- * this scope can be active in the entire process. This activation
- * scope is automatically used by document and dialog windows.
- */
- kWindowActivationScopeAll = 2
- };
-
-
- /*
- * Summary:
- * These are constants that can be used for the inNextGroup
- * parameter to GetSiblingWindowGroup.
- */
- enum
- {
-
- /*
- * Indicates that GetSiblingWindowGroup should return the next deeper
- * sibling group in the z-order.
- */
- kNextWindowGroup = true,
-
- /*
- * Indicates that GetSiblingWindowGroup should return the next higher
- * sibling group in the z-order.
- */
- kPreviousWindowGroup = false
- };
-
-
- /*
- * WindowGroupContentOptions
- *
- * Discussion:
- * Window group contents options are used to control what group
- * content is counted or returned by the CountWindowGroupContents
- * and GetWindowGroupContents APIs.
- */
- typedef UInt32 WindowGroupContentOptions;
- enum
- {
-
- /*
- * Indicates that Count/GetWindowGroupContents should return the
- * windows in a group. If this option is not set, these APIs return
- * the groups in a group.
- */
- kWindowGroupContentsReturnWindows = 1 << 0,
-
- /*
- * Indicates that Count/GetWindowGroupContents should include the
- * contents of groups contained by the specified group. If this
- * option is not set, these APIs only return information about the
- * specified group's contents.
- */
- kWindowGroupContentsRecurse = 1 << 1,
-
- /*
- * Indicates that Count/GetWindowGroupContents should only include
- * visible windows. Only valid when kWindowGroupContentsReturnWindows
- * is specified.
- */
- kWindowGroupContentsVisible = 1 << 2
- };
-
-
- /*----------------------------------------------------------------------------------*/
- /* o Group creation, destruction, and refcounting */
- /*----------------------------------------------------------------------------------*/
- /*
- * CreateWindowGroup()
- *
- * Summary:
- * Creates a new window group.
- *
- * Parameters:
- *
- * inAttributes:
- * Attributes for the new window group.
- *
- * outGroup:
- * On exit, contains the new window group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateWindowGroup(
- WindowGroupAttributes inAttributes,
- WindowGroupRef * outGroup);
-
-
- /*
- * RetainWindowGroup()
- *
- * Summary:
- * Increments the refcount of a window group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose refcount to increment.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- RetainWindowGroup(WindowGroupRef inGroup);
-
-
- /*
- * ReleaseWindowGroup()
- *
- * Summary:
- * Releases a refcount on a window group. If the refcount goes to
- * zero, the group is destroyed, and a refcount is released from all
- * contained objects.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose refcount to decrement.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ReleaseWindowGroup(WindowGroupRef inGroup);
-
-
- /*
- * GetWindowGroupRetainCount()
- *
- * Summary:
- * Returns the refcount of a window group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose refcount to return.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(ItemCount)
- GetWindowGroupRetainCount(WindowGroupRef inGroup);
-
-
- /*
- * GetWindowGroupOfClass()
- *
- * Summary:
- * Gets the window group in which windows of a given class are
- * placed.
- *
- * Discussion:
- * The Window Manager uses window groups internally to manage the
- * ordering of windows of different classes. In some cases, multiple
- * classes are placed within the same group; for example, windows
- * from all of the modal and alert window classes are placed into
- * the same modal window group. The refcount of the group returned
- * by this API is not incremented, and the caller does not need to
- * release the reference.
- *
- * Parameters:
- *
- * windowClass:
- * The class whose window group to retrieve. You may pass
- * kAllWindowClasses to retrieve the root window group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowGroupRef)
- GetWindowGroupOfClass(WindowClass windowClass);
-
-
-
- /*----------------------------------------------------------------------------------*/
- /* o.Group name, attributes, and level */
- /*----------------------------------------------------------------------------------*/
- /*
- * SetWindowGroupName()
- *
- * Summary:
- * Sets the name of a window group.
- *
- * Discussion:
- * The name of a window group is never displayed to the user.
- * However, it is displayed by debugging functions such as
- * DebugPrintWindowGroup. This can be very useful when debugging the
- * structure of your window groups.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose name to set.
- *
- * inName:
- * The name of the group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowGroupName(
- WindowGroupRef inGroup,
- CFStringRef inName);
-
-
- /*
- * CopyWindowGroupName()
- *
- * Summary:
- * Returns a copy of the name of a window group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose name to retrieve.
- *
- * outName:
- * On exit, contains the name of the group. It is the caller's
- * responsibility to release the name.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CopyWindowGroupName(
- WindowGroupRef inGroup,
- CFStringRef * outName);
-
-
- /*
- * GetWindowGroupAttributes()
- *
- * Summary:
- * Retrieves the attributes of a window group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose attributes to retrieve.
- *
- * outAttributes:
- * On exit, the group's attributes.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowGroupAttributes(
- WindowGroupRef inGroup,
- WindowGroupAttributes * outAttributes);
-
-
- /*
- * ChangeWindowGroupAttributes()
- *
- * Summary:
- * Changes the attributes of a window group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose attributes to change.
- *
- * setTheseAttributes:
- * The attributes to set.
- *
- * clearTheseAttributes:
- * The attributes to clear.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ChangeWindowGroupAttributes(
- WindowGroupRef inGroup,
- WindowGroupAttributes setTheseAttributes,
- WindowGroupAttributes clearTheseAttributes);
-
-
- /*
- * SetWindowGroupLevel()
- *
- * Summary:
- * Sets the CoreGraphics window group level of windows in a group.
- *
- * Discussion:
- * CoreGraphics windows (used to implement all windows in Carbon and
- * Cocoa applications on Mac OS X) are divided into layers specified
- * by a window level. Standard window levels are listed in
- * <CoreGraphics/CGWindowLevel.h". By default, a new window group
- * has a window level of kCGNormalWindowLevel. When a window is
- * placed into a window group, its window level is determined by the
- * window level of its "base group". This is the containing group
- * that is a child of the root group. For example, if group A is a
- * child of the root group, and group B is a child of group A, and
- * window C is in group B, then window C's base group is group A,
- * and group A's window level determines the level of window C.
- * SetWindowGroupLevel only allows changing the window level of
- * groups that are children of the root group. It returns paramErr
- * for other groups, since a group that is not a child of the root
- * group is not a base group and changing its level has no effect.
- * Changing the level of a group also changes the level of all
- * windows currently contained by the group.
- *
- * Parameters:
- *
- * inGroup:
- * The window group whose level to change.
- *
- * inLevel:
- * The new level for the windows in this group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowGroupLevel(
- WindowGroupRef inGroup,
- SInt32 inLevel);
-
-
- /*
- * GetWindowGroupLevel()
- *
- * Summary:
- * Gets the CoreGraphics window group level of windows in a group.
- *
- * Parameters:
- *
- * inGroup:
- * The window group whose level to return.
- *
- * outLevel:
- * On exit, contains the window level of the windows in this group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowGroupLevel(
- WindowGroupRef inGroup,
- SInt32 * outLevel);
-
-
-
- /*----------------------------------------------------------------------------------*/
- /* o.Group z-ordering */
- /*----------------------------------------------------------------------------------*/
- /*
- * SendWindowGroupBehind()
- *
- * Summary:
- * Changes the z-order of a group, if the group does not have the
- * kWindowGroupAttributeLayerTogether attribute set.
- *
- * Discussion:
- * SendWindowGroupBehind currently requires that the group being
- * moved and the behindGroup have the same parent group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose z-order to change.
- *
- * behindGroup:
- * The group behind which to position the specified group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SendWindowGroupBehind(
- WindowGroupRef inGroup,
- WindowGroupRef behindGroup);
-
-
- /*----------------------------------------------------------------------------------*/
- /* o.Group containment hierarchy manipulation */
- /*----------------------------------------------------------------------------------*/
- /*
- * GetWindowGroup()
- *
- * Summary:
- * Gets the window group that contains a window.
- *
- * Discussion:
- * The refcount of the group returned by this API is not
- * incremented, and the caller does not need to release the
- * reference.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose containing group to retrieve.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowGroupRef)
- GetWindowGroup(WindowRef inWindow);
-
-
- /*
- * SetWindowGroup()
- *
- * Summary:
- * Sets the window group that contains a window.
- *
- * Discussion:
- * The window's z-order relative to windows in the current process
- * may also be changed by this API. If the new window group is
- * z-ordered above the window's current group, the window will be
- * placed at the end of the new group. If the new window group is
- * z-ordered below the window's current group, the window will be
- * placed at the top of the new group. You may not place a window
- * directly into the root group.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose group to change.
- *
- * inNewGroup:
- * The new containing group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowGroup(
- WindowRef inWindow,
- WindowGroupRef inNewGroup);
-
-
- /*
- * IsWindowContainedInGroup()
- *
- * Summary:
- * Indicates whether a window is contained within a group or any of
- * its subgroups.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose containment to examine.
- *
- * inGroup:
- * The group that might contain the window.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- IsWindowContainedInGroup(
- WindowRef inWindow,
- WindowGroupRef inGroup);
-
-
- /*
- * GetWindowGroupParent()
- *
- * Summary:
- * Gets the window group that contains a group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose containing group to retrieve.
- *
- * outGroup:
- * On exit, the containing window group of the group. The group's
- * refcount is not incremented by this API, and the caller does
- * not need to release the reference.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowGroupRef)
- GetWindowGroupParent(WindowGroupRef inGroup);
-
-
- /*
- * SetWindowGroupParent()
- *
- * Summary:
- * Sets the window group that contains a group.
- *
- * Discussion:
- * SetWindowGroupParent currently requires that the group have no
- * windows in it.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose containing group to change.
- *
- * inNewGroup:
- * The new containing group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowGroupParent(
- WindowGroupRef inGroup,
- WindowGroupRef inNewGroup);
-
-
- /*
- * GetWindowGroupSibling()
- *
- * Summary:
- * Returns the next or previous group of a window group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose sibling to return.
- *
- * inNextGroup:
- * True to return the next sibling, false to return the previous
- * sibling.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowGroupRef)
- GetWindowGroupSibling(
- WindowGroupRef inGroup,
- Boolean inNextGroup);
-
-
- /*
- * GetWindowGroupOwner()
- *
- * Summary:
- * Returns the window that owns a window group, or NULL if none.
- *
- * Discussion:
- * A window may own one or more window groups. The windows in an
- * owned window group will always be z-ordered above the owner
- * window. Whenever the owner window changes z-order, the windows in
- * the groups owned by the window will be moved also.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose owner to retrieve.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowRef)
- GetWindowGroupOwner(WindowGroupRef inGroup);
-
-
- /*
- * SetWindowGroupOwner()
- *
- * Summary:
- * Sets the window that owns a window group.
- *
- * Discussion:
- * The group and the window must have the same parent group.
- * SetWindowGroupOwner currently requires that the group have no
- * windows in it.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose owner to set.
- *
- * inWindow:
- * The group's new owner.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowGroupOwner(
- WindowGroupRef inGroup,
- WindowRef inWindow);
-
-
-
- /*----------------------------------------------------------------------------------*/
- /* o Inspection of group contents */
- /*----------------------------------------------------------------------------------*/
-
- /*
- * CountWindowGroupContents()
- *
- * Summary:
- * Counts the windows or groups contained in a group.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose contents to count.
- *
- * inOptions:
- * Specifies how to count the group's contents.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ItemCount)
- CountWindowGroupContents(
- WindowGroupRef inGroup,
- WindowGroupContentOptions inOptions);
-
-
- /*
- * GetWindowGroupContents()
- *
- * Summary:
- * Retrieves the windows or groups contained in a group.
- *
- * Discussion:
- * The windows or groups returned by this API will be placed into
- * the output buffer in z-order, from highest to lowest.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose contents to retrieve.
- *
- * inOptions:
- * Specifies which content to retrieve.
- *
- * inAllowedItems:
- * The number of items that will fit in the output buffer.
- *
- * outNumItems:
- * On exit, the number of items that were returned. May be NULL.
- *
- * outItems:
- * On entry, points to enough memory to hold inAllowedSize
- * WindowRefs or WindowGroupRefs. On exit, contains *outNumItems
- * WindowRefs or WindowGroupRefs.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowGroupContents(
- WindowGroupRef inGroup,
- WindowGroupContentOptions inOptions,
- ItemCount inAllowedItems,
- ItemCount * outNumItems, /* can be NULL */
- void ** outItems);
-
-
- /*
- * GetIndexedWindow()
- *
- * Summary:
- * Retrieves a specified window from a group.
- *
- * Discussion:
- * GetIndexedWindow is provided as an easier way to get a particular
- * window from a group than using GetWindowGroupContents. If you
- * only need to retrieve, say, the last window in a group, it is
- * easier and more efficient to use GetIndexedWindow. If you need to
- * retrieve all the windows in a group, it is more efficient to use
- * GetWindowGroupContents.
- *
- * Parameters:
- *
- * inGroup:
- * The group containing the window to retrieve.
- *
- * inIndex:
- * The index of the window. This parameter may range from 1 to
- * CountWindowGroupContents( inGroup,
- * kWindowGroupContentsReturnWindows | inOptions );
- *
- * inOptions:
- * Indicates how to locate the specified window.
- * kWindowGroupContentsReturnWindows is implied by this API and
- * does not need to be explicitly specified.
- *
- * outWindow:
- * On exit, the window at the specified index.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetIndexedWindow(
- WindowGroupRef inGroup,
- UInt32 inIndex,
- WindowGroupContentOptions inOptions,
- WindowRef * outWindow);
-
-
- /*
- * GetWindowIndex()
- *
- * Summary:
- * Retrieves the z-order index of a window inside a group.
- *
- * Discussion:
- * The z-order index of a window is its relative position in z-order
- * inside a group. The index ranges from 1 to the number of windows
- * in the group.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose z-order index to retrieve.
- *
- * inStartGroup:
- * The group on which to base the z-order index. This should be
- * either the containing group of the window, or NULL. If NULL,
- * this API returns the z-order index of the window across the
- * entire process.
- *
- * inOptions:
- * Indicates how to enumerate the specified window.
- * kWindowGroupContentsReturnWindows is implied by this API and
- * does not need to be explicitly specified.
- *
- * outIndex:
- * On exit, contains the window's z-order index.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowIndex(
- WindowRef inWindow,
- WindowGroupRef inStartGroup,
- WindowGroupContentOptions inOptions,
- UInt32 * outIndex);
-
-
-
- /*----------------------------------------------------------------------------------*/
- /* o.Window activation */
- /*----------------------------------------------------------------------------------*/
- /*
- * ActiveNonFloatingWindow()
- *
- * Summary:
- * Returns the window, among all windows with activation scope of
- * kWindowActivationScopeAll, that is considered active.
- *
- * Discussion:
- * The Mac OS 8.5 Window Manager introduced the
- * FrontNonFloatingWindow API, which was designed to return the
- * window that should be considered active by the application. With
- * the advent of window groups, it is now possible to have a window
- * that looks active (is highlighted, and accepts keyboard input)
- * but to have other non-floating windows grouped above the active
- * window. The ActiveNonFloatingWindow API returns the active window
- * regardless of where it is positioned in the z-order. Most code
- * that currently uses FrontNonFloatingWindow or
- * GetFrontWindowOfClass(kDocumentClass) to get the active window
- * should use ActiveNonFloatingWindow instead.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WindowRef)
- ActiveNonFloatingWindow(void);
-
-
- /*
- * IsWindowActive()
- *
- * Summary:
- * Indicates whether a window is active.
- *
- * Discussion:
- * The active state of a window is simply determined by whether its
- * window frame is drawn using an active appearance. This does not
- * indicate whether the window has keyboard focus. To get the window
- * with keyboard focus, use GetUserFocusWindow().
- *
- * Parameters:
- *
- * inWindow:
- * The window whose active state to retrieve.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- IsWindowActive(WindowRef inWindow);
-
-
- /*
- * ActivateWindow()
- *
- * Summary:
- * Activates or deactivates a window.
- *
- * Discussion:
- * Window activation consists of two steps: hiliting the window
- * frame and sending an activate event to the window. ActivateWindow
- * handles both of these steps and also updates internal Window
- * Manager state. If you just need to hilite the window frame, you
- * may use HiliteWindow. If you need to send an activate event, you
- * should always use ActivateWindow rather than creating and sending
- * the event yourself.
- *
- * Parameters:
- *
- * inWindow:
- * The window to activate or deactivate.
- *
- * inActivate:
- * Whether to activate or deactivate the window.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ActivateWindow(
- WindowRef inWindow,
- Boolean inActivate);
-
-
- /*
- * GetWindowActivationScope()
- *
- * Summary:
- * Retrieves a window's activation scope.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose activation scope to retrieve.
- *
- * outScope:
- * On exit, the window's activation scope.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowActivationScope(
- WindowRef inWindow,
- WindowActivationScope * outScope);
-
-
- /*
- * SetWindowActivationScope()
- *
- * Summary:
- * Sets a window's activation scope.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose activation scope to set.
- *
- * inScope:
- * The new activation scope.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowActivationScope(
- WindowRef inWindow,
- WindowActivationScope inScope);
-
-
-
- /*----------------------------------------------------------------------------------*/
- /* o.Debugging Utilities */
- /*----------------------------------------------------------------------------------*/
- /*
- * DebugPrintWindowGroup()
- *
- * Summary:
- * Prints the contents of a window group to stdout.
- *
- * Parameters:
- *
- * inGroup:
- * The group whose contents to print.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DebugPrintWindowGroup(WindowGroupRef inGroup);
-
-
- /*
- * DebugPrintAllWindowGroups()
- *
- * Summary:
- * Prints the full window group hierarchy, starting at the root
- * group.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DebugPrintAllWindowGroups(void);
-
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Background Image */
- /*--------------------------------------------------------------------------------------*/
- /* SetWinColor is not available in Carbon.*/
+/*
+ * WindowGroupAttributes
+ *
+ * Summary:
+ * These are attributes that may be applied to a window group.
+ */
+typedef UInt32 WindowGroupAttributes;
+enum {
+
+ /*
+ * Makes the group behave somewhat as a layer of windows that move
+ * together. When any window in the group is brought to the front of
+ * the group, the entire group will also be brought to the front of
+ * the containing group's child hierarchy.
+ */
+ kWindowGroupAttrSelectAsLayer = 1 << 0,
+
+ /*
+ * The positions of the contents of this group with respect to each
+ * other cannot be changed. When one item moves, all other items are
+ * moved simultaneously.
+ */
+ kWindowGroupAttrMoveTogether = 1 << 1,
+
+ /*
+ * The z-order of the contents of this group with respect to each
+ * other cannot be changed. When one item changes z-order, all other
+ * items are moved simulataneously. For purposes of z-ordering, the
+ * group and all its subgroups are effectively treated as if they
+ * were a single window in the parent group of this group.
+ */
+ kWindowGroupAttrLayerTogether = 1 << 2,
+
+ /*
+ * The active state of the windows in this group is shared. The
+ * windows in the group are activated or deactivated according to the
+ * activation scope of the group, but when any window in the group
+ * changes activation, all other windows change to match.
+ */
+ kWindowGroupAttrSharedActivation = 1 << 3,
+
+ /*
+ * When any window in this group is collapsed, all other windows in
+ * this group are hidden. All subgroups of this group are also
+ * examined for the HideOnCollapse attribute, and any the windows of
+ * any subgroup with this attribute are also hidden. All windows will
+ * be shown again when the collapsed window is expanded.
+ */
+ kWindowGroupAttrHideOnCollapse = 1 << 4
+};
+
+
+/*
+ * WindowActivationScope
+ *
+ * Discussion:
+ * Every window has a WindowActivationScope. It defines how windows
+ * are activated by the Window Manager with respect to other windows
+ * in the window's group and in the current process.
+ */
+typedef UInt32 WindowActivationScope;
+enum {
+
+ /*
+ * Windows with this scope are never activated by the Window Manager.
+ * This should be used when the window's visual state does not change
+ * based on activation (for example, tooltip windows), or when the
+ * client wishes to manually control all activation. The window owner
+ * is free to explicitly activate windows using the ActivateWindow
+ * and DeactivateWindow APIs.
+ */
+ kWindowActivationScopeNone = 0,
+
+ /*
+ * Windows with this scope are always active if visible. Windows with
+ * this scope are unaffected by the activation state of other
+ * windows. This activation scope is automatically used by floating
+ * windows.
+ */
+ kWindowActivationScopeIndependent = 1,
+
+ /*
+ * Windows with this scope are activated relative to other windows
+ * with the same scope in the current process. Only one window with
+ * this scope can be active in the entire process. This activation
+ * scope is automatically used by document and dialog windows.
+ */
+ kWindowActivationScopeAll = 2
+};
+
+
+/*
+ * Summary:
+ * These are constants that can be used for the inNextGroup
+ * parameter to GetSiblingWindowGroup.
+ */
+enum {
+
+ /*
+ * Indicates that GetSiblingWindowGroup should return the next deeper
+ * sibling group in the z-order.
+ */
+ kNextWindowGroup = true,
+
+ /*
+ * Indicates that GetSiblingWindowGroup should return the next higher
+ * sibling group in the z-order.
+ */
+ kPreviousWindowGroup = false
+};
+
+
+/*
+ * WindowGroupContentOptions
+ *
+ * Discussion:
+ * Window group contents options are used to control what group
+ * content is counted or returned by the CountWindowGroupContents
+ * and GetWindowGroupContents APIs.
+ */
+typedef UInt32 WindowGroupContentOptions;
+enum {
+
+ /*
+ * Indicates that Count/GetWindowGroupContents should return the
+ * windows in a group. If this option is not set, these APIs return
+ * the groups in a group.
+ */
+ kWindowGroupContentsReturnWindows = 1 << 0,
+
+ /*
+ * Indicates that Count/GetWindowGroupContents should include the
+ * contents of groups contained by the specified group. If this
+ * option is not set, these APIs only return information about the
+ * specified group's contents.
+ */
+ kWindowGroupContentsRecurse = 1 << 1,
+
+ /*
+ * Indicates that Count/GetWindowGroupContents should only include
+ * visible windows. Only valid when kWindowGroupContentsReturnWindows
+ * is specified.
+ */
+ kWindowGroupContentsVisible = 1 << 2
+};
+
+
+/*----------------------------------------------------------------------------------*/
+/* o Group creation, destruction, and refcounting */
+/*----------------------------------------------------------------------------------*/
+/*
+ * CreateWindowGroup()
+ *
+ * Summary:
+ * Creates a new window group.
+ *
+ * Parameters:
+ *
+ * inAttributes:
+ * Attributes for the new window group.
+ *
+ * outGroup:
+ * On exit, contains the new window group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateWindowGroup(
+ WindowGroupAttributes inAttributes,
+ WindowGroupRef * outGroup);
+
+
+/*
+ * RetainWindowGroup()
+ *
+ * Summary:
+ * Increments the refcount of a window group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose refcount to increment.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+RetainWindowGroup(WindowGroupRef inGroup);
+
+
+/*
+ * ReleaseWindowGroup()
+ *
+ * Summary:
+ * Releases a refcount on a window group. If the refcount goes to
+ * zero, the group is destroyed, and a refcount is released from all
+ * contained objects.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose refcount to decrement.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ReleaseWindowGroup(WindowGroupRef inGroup);
+
+
+/*
+ * GetWindowGroupRetainCount()
+ *
+ * Summary:
+ * Returns the refcount of a window group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose refcount to return.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( ItemCount )
+GetWindowGroupRetainCount(WindowGroupRef inGroup);
+
+
+/*
+ * GetWindowGroupOfClass()
+ *
+ * Summary:
+ * Gets the window group in which windows of a given class are
+ * placed.
+ *
+ * Discussion:
+ * The Window Manager uses window groups internally to manage the
+ * ordering of windows of different classes. In some cases, multiple
+ * classes are placed within the same group; for example, windows
+ * from all of the modal and alert window classes are placed into
+ * the same modal window group. The refcount of the group returned
+ * by this API is not incremented, and the caller does not need to
+ * release the reference.
+ *
+ * Parameters:
+ *
+ * windowClass:
+ * The class whose window group to retrieve. You may pass
+ * kAllWindowClasses to retrieve the root window group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowGroupRef )
+GetWindowGroupOfClass(WindowClass windowClass);
+
+
+
+/*----------------------------------------------------------------------------------*/
+/* o.Group name, attributes, and level */
+/*----------------------------------------------------------------------------------*/
+/*
+ * SetWindowGroupName()
+ *
+ * Summary:
+ * Sets the name of a window group.
+ *
+ * Discussion:
+ * The name of a window group is never displayed to the user.
+ * However, it is displayed by debugging functions such as
+ * DebugPrintWindowGroup. This can be very useful when debugging the
+ * structure of your window groups.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose name to set.
+ *
+ * inName:
+ * The name of the group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowGroupName(
+ WindowGroupRef inGroup,
+ CFStringRef inName);
+
+
+/*
+ * CopyWindowGroupName()
+ *
+ * Summary:
+ * Returns a copy of the name of a window group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose name to retrieve.
+ *
+ * outName:
+ * On exit, contains the name of the group. It is the caller's
+ * responsibility to release the name.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CopyWindowGroupName(
+ WindowGroupRef inGroup,
+ CFStringRef * outName);
+
+
+/*
+ * GetWindowGroupAttributes()
+ *
+ * Summary:
+ * Retrieves the attributes of a window group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose attributes to retrieve.
+ *
+ * outAttributes:
+ * On exit, the group's attributes.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowGroupAttributes(
+ WindowGroupRef inGroup,
+ WindowGroupAttributes * outAttributes);
+
+
+/*
+ * ChangeWindowGroupAttributes()
+ *
+ * Summary:
+ * Changes the attributes of a window group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose attributes to change.
+ *
+ * setTheseAttributes:
+ * The attributes to set.
+ *
+ * clearTheseAttributes:
+ * The attributes to clear.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ChangeWindowGroupAttributes(
+ WindowGroupRef inGroup,
+ WindowGroupAttributes setTheseAttributes,
+ WindowGroupAttributes clearTheseAttributes);
+
+
+/*
+ * SetWindowGroupLevel()
+ *
+ * Summary:
+ * Sets the CoreGraphics window group level of windows in a group.
+ *
+ * Discussion:
+ * CoreGraphics windows (used to implement all windows in Carbon and
+ * Cocoa applications on Mac OS X) are divided into layers specified
+ * by a window level. Standard window levels are listed in
+ * <CoreGraphics/CGWindowLevel.h". By default, a new window group
+ * has a window level of kCGNormalWindowLevel. When a window is
+ * placed into a window group, its window level is determined by the
+ * window level of its "base group". This is the containing group
+ * that is a child of the root group. For example, if group A is a
+ * child of the root group, and group B is a child of group A, and
+ * window C is in group B, then window C's base group is group A,
+ * and group A's window level determines the level of window C.
+ * SetWindowGroupLevel only allows changing the window level of
+ * groups that are children of the root group. It returns paramErr
+ * for other groups, since a group that is not a child of the root
+ * group is not a base group and changing its level has no effect.
+ * Changing the level of a group also changes the level of all
+ * windows currently contained by the group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The window group whose level to change.
+ *
+ * inLevel:
+ * The new level for the windows in this group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowGroupLevel(
+ WindowGroupRef inGroup,
+ SInt32 inLevel);
+
+
+/*
+ * GetWindowGroupLevel()
+ *
+ * Summary:
+ * Gets the CoreGraphics window group level of windows in a group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The window group whose level to return.
+ *
+ * outLevel:
+ * On exit, contains the window level of the windows in this group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowGroupLevel(
+ WindowGroupRef inGroup,
+ SInt32 * outLevel);
+
+
+
+/*----------------------------------------------------------------------------------*/
+/* o.Group z-ordering */
+/*----------------------------------------------------------------------------------*/
+/*
+ * SendWindowGroupBehind()
+ *
+ * Summary:
+ * Changes the z-order of a group, if the group does not have the
+ * kWindowGroupAttributeLayerTogether attribute set.
+ *
+ * Discussion:
+ * SendWindowGroupBehind currently requires that the group being
+ * moved and the behindGroup have the same parent group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose z-order to change.
+ *
+ * behindGroup:
+ * The group behind which to position the specified group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SendWindowGroupBehind(
+ WindowGroupRef inGroup,
+ WindowGroupRef behindGroup);
+
+
+/*----------------------------------------------------------------------------------*/
+/* o.Group containment hierarchy manipulation */
+/*----------------------------------------------------------------------------------*/
+/*
+ * GetWindowGroup()
+ *
+ * Summary:
+ * Gets the window group that contains a window.
+ *
+ * Discussion:
+ * The refcount of the group returned by this API is not
+ * incremented, and the caller does not need to release the
+ * reference.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose containing group to retrieve.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowGroupRef )
+GetWindowGroup(WindowRef inWindow);
+
+
+/*
+ * SetWindowGroup()
+ *
+ * Summary:
+ * Sets the window group that contains a window.
+ *
+ * Discussion:
+ * The window's z-order relative to windows in the current process
+ * may also be changed by this API. If the new window group is
+ * z-ordered above the window's current group, the window will be
+ * placed at the end of the new group. If the new window group is
+ * z-ordered below the window's current group, the window will be
+ * placed at the top of the new group. You may not place a window
+ * directly into the root group.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose group to change.
+ *
+ * inNewGroup:
+ * The new containing group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowGroup(
+ WindowRef inWindow,
+ WindowGroupRef inNewGroup);
+
+
+/*
+ * IsWindowContainedInGroup()
+ *
+ * Summary:
+ * Indicates whether a window is contained within a group or any of
+ * its subgroups.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose containment to examine.
+ *
+ * inGroup:
+ * The group that might contain the window.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+IsWindowContainedInGroup(
+ WindowRef inWindow,
+ WindowGroupRef inGroup);
+
+
+/*
+ * GetWindowGroupParent()
+ *
+ * Summary:
+ * Gets the window group that contains a group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose containing group to retrieve.
+ *
+ * outGroup:
+ * On exit, the containing window group of the group. The group's
+ * refcount is not incremented by this API, and the caller does
+ * not need to release the reference.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowGroupRef )
+GetWindowGroupParent(WindowGroupRef inGroup);
+
+
+/*
+ * SetWindowGroupParent()
+ *
+ * Summary:
+ * Sets the window group that contains a group.
+ *
+ * Discussion:
+ * SetWindowGroupParent currently requires that the group have no
+ * windows in it.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose containing group to change.
+ *
+ * inNewGroup:
+ * The new containing group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowGroupParent(
+ WindowGroupRef inGroup,
+ WindowGroupRef inNewGroup);
+
+
+/*
+ * GetWindowGroupSibling()
+ *
+ * Summary:
+ * Returns the next or previous group of a window group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose sibling to return.
+ *
+ * inNextGroup:
+ * True to return the next sibling, false to return the previous
+ * sibling.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowGroupRef )
+GetWindowGroupSibling(
+ WindowGroupRef inGroup,
+ Boolean inNextGroup);
+
+
+/*
+ * GetWindowGroupOwner()
+ *
+ * Summary:
+ * Returns the window that owns a window group, or NULL if none.
+ *
+ * Discussion:
+ * A window may own one or more window groups. The windows in an
+ * owned window group will always be z-ordered above the owner
+ * window. Whenever the owner window changes z-order, the windows in
+ * the groups owned by the window will be moved also.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose owner to retrieve.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowRef )
+GetWindowGroupOwner(WindowGroupRef inGroup);
+
+
+/*
+ * SetWindowGroupOwner()
+ *
+ * Summary:
+ * Sets the window that owns a window group.
+ *
+ * Discussion:
+ * The group and the window must have the same parent group.
+ * SetWindowGroupOwner currently requires that the group have no
+ * windows in it.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose owner to set.
+ *
+ * inWindow:
+ * The group's new owner.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowGroupOwner(
+ WindowGroupRef inGroup,
+ WindowRef inWindow);
+
+
+
+/*----------------------------------------------------------------------------------*/
+/* o Inspection of group contents */
+/*----------------------------------------------------------------------------------*/
+
+/*
+ * CountWindowGroupContents()
+ *
+ * Summary:
+ * Counts the windows or groups contained in a group.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose contents to count.
+ *
+ * inOptions:
+ * Specifies how to count the group's contents.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ItemCount )
+CountWindowGroupContents(
+ WindowGroupRef inGroup,
+ WindowGroupContentOptions inOptions);
+
+
+/*
+ * GetWindowGroupContents()
+ *
+ * Summary:
+ * Retrieves the windows or groups contained in a group.
+ *
+ * Discussion:
+ * The windows or groups returned by this API will be placed into
+ * the output buffer in z-order, from highest to lowest.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose contents to retrieve.
+ *
+ * inOptions:
+ * Specifies which content to retrieve.
+ *
+ * inAllowedItems:
+ * The number of items that will fit in the output buffer.
+ *
+ * outNumItems:
+ * On exit, the number of items that were returned. May be NULL.
+ *
+ * outItems:
+ * On entry, points to enough memory to hold inAllowedSize
+ * WindowRefs or WindowGroupRefs. On exit, contains *outNumItems
+ * WindowRefs or WindowGroupRefs.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowGroupContents(
+ WindowGroupRef inGroup,
+ WindowGroupContentOptions inOptions,
+ ItemCount inAllowedItems,
+ ItemCount * outNumItems, /* can be NULL */
+ void ** outItems);
+
+
+/*
+ * GetIndexedWindow()
+ *
+ * Summary:
+ * Retrieves a specified window from a group.
+ *
+ * Discussion:
+ * GetIndexedWindow is provided as an easier way to get a particular
+ * window from a group than using GetWindowGroupContents. If you
+ * only need to retrieve, say, the last window in a group, it is
+ * easier and more efficient to use GetIndexedWindow. If you need to
+ * retrieve all the windows in a group, it is more efficient to use
+ * GetWindowGroupContents.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group containing the window to retrieve.
+ *
+ * inIndex:
+ * The index of the window. This parameter may range from 1 to
+ * CountWindowGroupContents( inGroup,
+ * kWindowGroupContentsReturnWindows | inOptions );
+ *
+ * inOptions:
+ * Indicates how to locate the specified window.
+ * kWindowGroupContentsReturnWindows is implied by this API and
+ * does not need to be explicitly specified.
+ *
+ * outWindow:
+ * On exit, the window at the specified index.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetIndexedWindow(
+ WindowGroupRef inGroup,
+ UInt32 inIndex,
+ WindowGroupContentOptions inOptions,
+ WindowRef * outWindow);
+
+
+/*
+ * GetWindowIndex()
+ *
+ * Summary:
+ * Retrieves the z-order index of a window inside a group.
+ *
+ * Discussion:
+ * The z-order index of a window is its relative position in z-order
+ * inside a group. The index ranges from 1 to the number of windows
+ * in the group.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose z-order index to retrieve.
+ *
+ * inStartGroup:
+ * The group on which to base the z-order index. This should be
+ * either the containing group of the window, or NULL. If NULL,
+ * this API returns the z-order index of the window across the
+ * entire process.
+ *
+ * inOptions:
+ * Indicates how to enumerate the specified window.
+ * kWindowGroupContentsReturnWindows is implied by this API and
+ * does not need to be explicitly specified.
+ *
+ * outIndex:
+ * On exit, contains the window's z-order index.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowIndex(
+ WindowRef inWindow,
+ WindowGroupRef inStartGroup,
+ WindowGroupContentOptions inOptions,
+ UInt32 * outIndex);
+
+
+
+/*----------------------------------------------------------------------------------*/
+/* o.Window activation */
+/*----------------------------------------------------------------------------------*/
+/*
+ * ActiveNonFloatingWindow()
+ *
+ * Summary:
+ * Returns the window, among all windows with activation scope of
+ * kWindowActivationScopeAll, that is considered active.
+ *
+ * Discussion:
+ * The Mac OS 8.5 Window Manager introduced the
+ * FrontNonFloatingWindow API, which was designed to return the
+ * window that should be considered active by the application. With
+ * the advent of window groups, it is now possible to have a window
+ * that looks active (is highlighted, and accepts keyboard input)
+ * but to have other non-floating windows grouped above the active
+ * window. The ActiveNonFloatingWindow API returns the active window
+ * regardless of where it is positioned in the z-order. Most code
+ * that currently uses FrontNonFloatingWindow or
+ * GetFrontWindowOfClass(kDocumentClass) to get the active window
+ * should use ActiveNonFloatingWindow instead.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WindowRef )
+ActiveNonFloatingWindow(void);
+
+
+/*
+ * IsWindowActive()
+ *
+ * Summary:
+ * Indicates whether a window is active.
+ *
+ * Discussion:
+ * The active state of a window is simply determined by whether its
+ * window frame is drawn using an active appearance. This does not
+ * indicate whether the window has keyboard focus. To get the window
+ * with keyboard focus, use GetUserFocusWindow().
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose active state to retrieve.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+IsWindowActive(WindowRef inWindow);
+
+
+/*
+ * ActivateWindow()
+ *
+ * Summary:
+ * Activates or deactivates a window.
+ *
+ * Discussion:
+ * Window activation consists of two steps: hiliting the window
+ * frame and sending an activate event to the window. ActivateWindow
+ * handles both of these steps and also updates internal Window
+ * Manager state. If you just need to hilite the window frame, you
+ * may use HiliteWindow. If you need to send an activate event, you
+ * should always use ActivateWindow rather than creating and sending
+ * the event yourself.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to activate or deactivate.
+ *
+ * inActivate:
+ * Whether to activate or deactivate the window.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ActivateWindow(
+ WindowRef inWindow,
+ Boolean inActivate);
+
+
+/*
+ * GetWindowActivationScope()
+ *
+ * Summary:
+ * Retrieves a window's activation scope.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose activation scope to retrieve.
+ *
+ * outScope:
+ * On exit, the window's activation scope.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowActivationScope(
+ WindowRef inWindow,
+ WindowActivationScope * outScope);
+
+
+/*
+ * SetWindowActivationScope()
+ *
+ * Summary:
+ * Sets a window's activation scope.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose activation scope to set.
+ *
+ * inScope:
+ * The new activation scope.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowActivationScope(
+ WindowRef inWindow,
+ WindowActivationScope inScope);
+
+
+
+/*----------------------------------------------------------------------------------*/
+/* o.Debugging Utilities */
+/*----------------------------------------------------------------------------------*/
+/*
+ * DebugPrintWindowGroup()
+ *
+ * Summary:
+ * Prints the contents of a window group to stdout.
+ *
+ * Parameters:
+ *
+ * inGroup:
+ * The group whose contents to print.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DebugPrintWindowGroup(WindowGroupRef inGroup);
+
+
+/*
+ * DebugPrintAllWindowGroups()
+ *
+ * Summary:
+ * Prints the full window group hierarchy, starting at the root
+ * group.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DebugPrintAllWindowGroups(void);
+
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Background Image */
+/*--------------------------------------------------------------------------------------*/
+/* SetWinColor is not available in Carbon.*/
#if CALL_NOT_IN_CARBON
- /*
- * SetWinColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetWinColor(
- WindowRef window,
- WCTabHandle newColorTable) ONEWORDINLINE(0xAA41);
-
-
- /* SetDeskCPat is not available in Carbon.*/
- /*
- * SetDeskCPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetDeskCPat(PixPatHandle deskPixPat) ONEWORDINLINE(0xAA47);
-
-
- /*
- Routines available from Mac OS 8.5 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
+/*
+ * SetWinColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetWinColor(
+ WindowRef window,
+ WCTabHandle newColorTable) ONEWORDINLINE(0xAA41);
+
+
+/* SetDeskCPat is not available in Carbon.*/
+/*
+ * SetDeskCPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetDeskCPat(PixPatHandle deskPixPat) ONEWORDINLINE(0xAA47);
+
+
+/*
+ Routines available from Mac OS 8.5 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SetWindowContentColor()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowContentColor(
- WindowRef window,
- const RGBColor * color);
-
-
- /*
- * GetWindowContentColor()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowContentColor(
- WindowRef window,
- RGBColor * color);
-
-
- /* Routines available from Mac OS 8.5 forward*/
- /*
- * GetWindowContentPattern()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowContentPattern(
- WindowRef window,
- PixPatHandle outPixPat);
-
-
- /*
- * SetWindowContentPattern()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowContentPattern(
- WindowRef window,
- PixPatHandle pixPat);
-
-
- /* Routines available from Mac OS 9.0 forward*/
- typedef OptionBits WindowPaintProcOptions;
- enum
- {
- kWindowPaintProcOptionsNone = 0
- };
-
- /*
- * InstallWindowContentPaintProc()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InstallWindowContentPaintProc(
- WindowRef window,
- WindowPaintUPP paintProc,
- WindowPaintProcOptions options,
- void * refCon); /* can be NULL */
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Scrolling Routines */
- /*--------------------------------------------------------------------------------------*/
- typedef UInt32 ScrollWindowOptions;
- enum
- {
- kScrollWindowNoOptions = 0,
- kScrollWindowInvalidate = (1L << 0), /* add the exposed area to the window's update region*/
- kScrollWindowEraseToPortBackground = (1L << 1) /* erase the exposed area using the background color/pattern of the window's grafport*/
- };
-
-
- /* Routines available from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward*/
-
- /*
- * ScrollWindowRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ScrollWindowRect(
- WindowRef inWindow,
- const Rect * inScrollRect,
- SInt16 inHPixels,
- SInt16 inVPixels,
- ScrollWindowOptions inOptions,
- RgnHandle outExposedRgn); /* can be NULL */
-
-
- /*
- * ScrollWindowRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ScrollWindowRegion(
- WindowRef inWindow,
- RgnHandle inScrollRgn,
- SInt16 inHPixels,
- SInt16 inVPixels,
- ScrollWindowOptions inOptions,
- RgnHandle outExposedRgn); /* can be NULL */
-
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Low-Level Region & Painting Routines */
- /*--------------------------------------------------------------------------------------*/
- /*
- * ClipAbove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ClipAbove(WindowRef window) ONEWORDINLINE(0xA90B);
-
-
- /* SaveOld/DrawNew are not available in Carbon. Use ReshapeCustomWindow instead.*/
+/*
+ * SetWindowContentColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowContentColor(
+ WindowRef window,
+ const RGBColor * color);
+
+
+/*
+ * GetWindowContentColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowContentColor(
+ WindowRef window,
+ RGBColor * color);
+
+
+/* Routines available from Mac OS 8.5 forward*/
+/*
+ * GetWindowContentPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowContentPattern(
+ WindowRef window,
+ PixPatHandle outPixPat);
+
+
+/*
+ * SetWindowContentPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowContentPattern(
+ WindowRef window,
+ PixPatHandle pixPat);
+
+
+/* Routines available from Mac OS 9.0 forward*/
+typedef OptionBits WindowPaintProcOptions;
+enum {
+ kWindowPaintProcOptionsNone = 0
+};
+
+/*
+ * InstallWindowContentPaintProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InstallWindowContentPaintProc(
+ WindowRef window,
+ WindowPaintUPP paintProc,
+ WindowPaintProcOptions options,
+ void * refCon); /* can be NULL */
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Scrolling Routines */
+/*--------------------------------------------------------------------------------------*/
+typedef UInt32 ScrollWindowOptions;
+enum {
+ kScrollWindowNoOptions = 0,
+ kScrollWindowInvalidate = (1L << 0), /* add the exposed area to the window's update region*/
+ kScrollWindowEraseToPortBackground = (1L << 1) /* erase the exposed area using the background color/pattern of the window's grafport*/
+};
+
+
+/* Routines available from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward*/
+
+/*
+ * ScrollWindowRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ScrollWindowRect(
+ WindowRef inWindow,
+ const Rect * inScrollRect,
+ SInt16 inHPixels,
+ SInt16 inVPixels,
+ ScrollWindowOptions inOptions,
+ RgnHandle outExposedRgn); /* can be NULL */
+
+
+/*
+ * ScrollWindowRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ScrollWindowRegion(
+ WindowRef inWindow,
+ RgnHandle inScrollRgn,
+ SInt16 inHPixels,
+ SInt16 inVPixels,
+ ScrollWindowOptions inOptions,
+ RgnHandle outExposedRgn); /* can be NULL */
+
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Low-Level Region & Painting Routines */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * ClipAbove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ClipAbove(WindowRef window) ONEWORDINLINE(0xA90B);
+
+
+/* SaveOld/DrawNew are not available in Carbon. Use ReshapeCustomWindow instead.*/
#if CALL_NOT_IN_CARBON
- /*
- * SaveOld()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SaveOld(WindowRef window) ONEWORDINLINE(0xA90E);
-
-
- /*
- * DrawNew()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- DrawNew(
- WindowRef window,
- Boolean update) ONEWORDINLINE(0xA90F);
+/*
+ * SaveOld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SaveOld(WindowRef window) ONEWORDINLINE(0xA90E);
+
+
+/*
+ * DrawNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+DrawNew(
+ WindowRef window,
+ Boolean update) ONEWORDINLINE(0xA90F);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PaintOne()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PaintOne(
- WindowRef window, /* can be NULL */
- RgnHandle clobberedRgn) ONEWORDINLINE(0xA90C);
-
-
- /*
- * PaintBehind()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PaintBehind(
- WindowRef startWindow, /* can be NULL */
- RgnHandle clobberedRgn) ONEWORDINLINE(0xA90D);
-
-
- /*
- * CalcVis()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CalcVis(WindowRef window) ONEWORDINLINE(0xA909);
-
-
- /*
- * CalcVisBehind()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CalcVisBehind(
- WindowRef startWindow, /* can be NULL */
- RgnHandle clobberedRgn) ONEWORDINLINE(0xA90A);
-
-
- /*
- * CheckUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- CheckUpdate(EventRecord * theEvent) ONEWORDINLINE(0xA911);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window List */
- /*--------------------------------------------------------------------------------------*/
- /*
- * [Mac]FindWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PaintOne()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PaintOne(
+ WindowRef window, /* can be NULL */
+ RgnHandle clobberedRgn) ONEWORDINLINE(0xA90C);
+
+
+/*
+ * PaintBehind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PaintBehind(
+ WindowRef startWindow, /* can be NULL */
+ RgnHandle clobberedRgn) ONEWORDINLINE(0xA90D);
+
+
+/*
+ * CalcVis()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CalcVis(WindowRef window) ONEWORDINLINE(0xA909);
+
+
+/*
+ * CalcVisBehind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CalcVisBehind(
+ WindowRef startWindow, /* can be NULL */
+ RgnHandle clobberedRgn) ONEWORDINLINE(0xA90A);
+
+
+/*
+ * CheckUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+CheckUpdate(EventRecord * theEvent) ONEWORDINLINE(0xA911);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window List */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * [Mac]FindWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacFindWindow FindWindow
+ #define MacFindWindow FindWindow
#endif
- EXTERN_API(WindowPartCode)
- MacFindWindow(
- Point thePoint,
- WindowRef * window) ONEWORDINLINE(0xA92C);
-
-
- /*
- * FrontWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- FrontWindow(void) ONEWORDINLINE(0xA924);
-
-
- /*
- * BringToFront()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BringToFront(WindowRef window) ONEWORDINLINE(0xA920);
-
-
- /*
- * SendBehind()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SendBehind(
- WindowRef window,
- WindowRef behindWindow) ONEWORDINLINE(0xA921);
-
-
- /*
- * SelectWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SelectWindow(WindowRef window) ONEWORDINLINE(0xA91F);
-
-
- /*
- Routines available from Mac OS 8.6 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
-
- /*
- * FrontNonFloatingWindow()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- FrontNonFloatingWindow(void);
-
-
- /* Routines available from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward*/
-
- /*
- * GetNextWindowOfClass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetNextWindowOfClass(
- WindowRef inWindow,
- WindowClass inWindowClass,
- Boolean mustBeVisible);
-
-
- /*
- * GetFrontWindowOfClass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetFrontWindowOfClass(
- WindowClass inWindowClass,
- Boolean mustBeVisible);
-
-
- /*
- * FindWindowOfClass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- FindWindowOfClass(
- const Point * where,
- WindowClass inWindowClass,
- WindowRef * outWindow,
- WindowPartCode * outWindowPart); /* can be NULL */
-
-
-
- /*
- * Summary:
- * Options for the CreateStandardWindowMenu API.
- */
- enum
- {
-
- /*
- * Requests the standard window menu include a Rotate Windows menu
- * item. Available in Mac OS X after version 10.1.
- */
- kWindowMenuIncludeRotate = 1 << 0
- };
-
- /*
- * CreateStandardWindowMenu()
- *
- * Discussion:
- * Creates a standard Window menu for your application. You can call
- * this to create a window menu for your application. Once you have
- * the menu, you need to insert it in your menu bar (typically at
- * the end of your menu list) with a call to InsertMenu. To register
- * a window to be tracked by this menu, you either create your
- * window with CreateNewWindow, passing the
- * kWindowInWindowMenuAttribute, or you can use
- * ChangeWindowAttributes after the window is created. The Toolbox
- * takes care of acting on the standard items such as zoom and
- * minimize, as well as bringing selected windows to the front. All
- * you need to do is install it and register your windows and the
- * Toolbox does the rest.
- *
- * You may also add your own menu items to the standard window menu.
- * To do this, we recommend that you use the
- * GetIndMenuItemWithCommandID API to locate one of the standard
- * menu items in the menu which is immediately above or below the
- * location where you wish to insert your items. Then insert your
- * items relative to the position of the standard menu item. Do not
- * attempt to search the menu items yourself without calling
- * GetIndMenuItemWithCommandID; in Mac OS X 10.2,
- * CreateStandardWindowMenu returns an initially empty menu which is
- * populated later when the menu is displayed or when
- * GetIndMenuItemWithCommandID is called, so you will find no items
- * in the menu unless you first call GetIndMenuItemWithCommandID.
- *
- * Parameters:
- *
- * inOptions:
- * Requests optional behavior of the standard window menu. Mac OS
- * X 10.2 supports the kWindowMenuIncludeRotate option; in earlier
- * versions of Mac OS X, and in CarbonLib, you must pass zero for
- * this parameter.
- *
- * outMenu:
- * Receives a new menu reference which contains the standard
- * window menu items and commands.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateStandardWindowMenu(
- OptionBits inOptions,
- MenuRef * outMenu);
-
-
- /*
- * SetWindowAlternateTitle()
- *
- * Discussion:
- * This API sets an alternate title for a window. The alternate
- * title overrides what is displayed in the Window menu. If you do
- * not set an alternate title, the normal window title is used. You
- * would normally use this if the window title was not expressive
- * enough to be used in the Window menu (or similar text-only
- * situation).
- *
- * Parameters:
- *
- * inWindow:
- * The window to set the alternate title.
- *
- * inTitle:
- * The alternate title for the window. Passing NULL for this
- * parameter will remove any alternate title that might be present.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowAlternateTitle(
- WindowRef inWindow,
- CFStringRef inTitle);
-
-
- /*
- * CopyWindowAlternateTitle()
- *
- * Discussion:
- * This API gets the alternate title for a window. See the
- * discussion of SetWindowAlternateTitle for more info.
- *
- * Parameters:
- *
- * inWindow:
- * The window to get the alternate title from.
- *
- * outTitle:
- * Receives the alternate title for the window. If the window does
- * not have an alternate title, NULL will be returned in outTitle.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CopyWindowAlternateTitle(
- WindowRef inWindow,
- CFStringRef * outTitle);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Misc Low-Level stuff */
- /*--------------------------------------------------------------------------------------*/
+EXTERN_API( WindowPartCode )
+MacFindWindow(
+ Point thePoint,
+ WindowRef * window) ONEWORDINLINE(0xA92C);
+
+
+/*
+ * FrontWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+FrontWindow(void) ONEWORDINLINE(0xA924);
+
+
+/*
+ * BringToFront()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BringToFront(WindowRef window) ONEWORDINLINE(0xA920);
+
+
+/*
+ * SendBehind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SendBehind(
+ WindowRef window,
+ WindowRef behindWindow) ONEWORDINLINE(0xA921);
+
+
+/*
+ * SelectWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SelectWindow(WindowRef window) ONEWORDINLINE(0xA91F);
+
+
+/*
+ Routines available from Mac OS 8.6 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
+
+/*
+ * FrontNonFloatingWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+FrontNonFloatingWindow(void);
+
+
+/* Routines available from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward*/
+
+/*
+ * GetNextWindowOfClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetNextWindowOfClass(
+ WindowRef inWindow,
+ WindowClass inWindowClass,
+ Boolean mustBeVisible);
+
+
+/*
+ * GetFrontWindowOfClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetFrontWindowOfClass(
+ WindowClass inWindowClass,
+ Boolean mustBeVisible);
+
+
+/*
+ * FindWindowOfClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+FindWindowOfClass(
+ const Point * where,
+ WindowClass inWindowClass,
+ WindowRef * outWindow,
+ WindowPartCode * outWindowPart); /* can be NULL */
+
+
+
+/*
+ * Summary:
+ * Options for the CreateStandardWindowMenu API.
+ */
+enum {
+
+ /*
+ * Requests the standard window menu include a Rotate Windows menu
+ * item. Available in Mac OS X after version 10.1.
+ */
+ kWindowMenuIncludeRotate = 1 << 0
+};
+
+/*
+ * CreateStandardWindowMenu()
+ *
+ * Discussion:
+ * Creates a standard Window menu for your application. You can call
+ * this to create a window menu for your application. Once you have
+ * the menu, you need to insert it in your menu bar (typically at
+ * the end of your menu list) with a call to InsertMenu. To register
+ * a window to be tracked by this menu, you either create your
+ * window with CreateNewWindow, passing the
+ * kWindowInWindowMenuAttribute, or you can use
+ * ChangeWindowAttributes after the window is created. The Toolbox
+ * takes care of acting on the standard items such as zoom and
+ * minimize, as well as bringing selected windows to the front. All
+ * you need to do is install it and register your windows and the
+ * Toolbox does the rest.
+ *
+ * You may also add your own menu items to the standard window menu.
+ * To do this, we recommend that you use the
+ * GetIndMenuItemWithCommandID API to locate one of the standard
+ * menu items in the menu which is immediately above or below the
+ * location where you wish to insert your items. Then insert your
+ * items relative to the position of the standard menu item. Do not
+ * attempt to search the menu items yourself without calling
+ * GetIndMenuItemWithCommandID; in Mac OS X 10.2,
+ * CreateStandardWindowMenu returns an initially empty menu which is
+ * populated later when the menu is displayed or when
+ * GetIndMenuItemWithCommandID is called, so you will find no items
+ * in the menu unless you first call GetIndMenuItemWithCommandID.
+ *
+ * Parameters:
+ *
+ * inOptions:
+ * Requests optional behavior of the standard window menu. Mac OS
+ * X 10.2 supports the kWindowMenuIncludeRotate option; in earlier
+ * versions of Mac OS X, and in CarbonLib, you must pass zero for
+ * this parameter.
+ *
+ * outMenu:
+ * Receives a new menu reference which contains the standard
+ * window menu items and commands.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateStandardWindowMenu(
+ OptionBits inOptions,
+ MenuRef * outMenu);
+
+
+/*
+ * SetWindowAlternateTitle()
+ *
+ * Discussion:
+ * This API sets an alternate title for a window. The alternate
+ * title overrides what is displayed in the Window menu. If you do
+ * not set an alternate title, the normal window title is used. You
+ * would normally use this if the window title was not expressive
+ * enough to be used in the Window menu (or similar text-only
+ * situation).
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to set the alternate title.
+ *
+ * inTitle:
+ * The alternate title for the window. Passing NULL for this
+ * parameter will remove any alternate title that might be present.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowAlternateTitle(
+ WindowRef inWindow,
+ CFStringRef inTitle);
+
+
+/*
+ * CopyWindowAlternateTitle()
+ *
+ * Discussion:
+ * This API gets the alternate title for a window. See the
+ * discussion of SetWindowAlternateTitle for more info.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to get the alternate title from.
+ *
+ * outTitle:
+ * Receives the alternate title for the window. If the window does
+ * not have an alternate title, NULL will be returned in outTitle.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CopyWindowAlternateTitle(
+ WindowRef inWindow,
+ CFStringRef * outTitle);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Misc Low-Level stuff */
+/*--------------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
- /*
- * InitWindows()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitWindows(void) ONEWORDINLINE(0xA912);
-
-
- /* The window manager port does not exist in Carbon. */
- /* We are investigating replacement technologies. */
- /*
- * GetWMgrPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- GetWMgrPort(GrafPtr * wPort) ONEWORDINLINE(0xA910);
-
-
- /*
- * GetCWMgrPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- GetCWMgrPort(CGrafPtr * wMgrCPort) ONEWORDINLINE(0xAA48);
-
-
- /*
- Routines available from Mac OS 8.5 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
+/*
+ * InitWindows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitWindows(void) ONEWORDINLINE(0xA912);
+
+
+/* The window manager port does not exist in Carbon. */
+/* We are investigating replacement technologies. */
+/*
+ * GetWMgrPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+GetWMgrPort(GrafPtr * wPort) ONEWORDINLINE(0xA910);
+
+
+/*
+ * GetCWMgrPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+GetCWMgrPort(CGrafPtr * wMgrCPort) ONEWORDINLINE(0xAA48);
+
+
+/*
+ Routines available from Mac OS 8.5 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * IsValidWindowPtr()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsValidWindowPtr(WindowRef possibleWindow);
+/*
+ * IsValidWindowPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsValidWindowPtr(WindowRef possibleWindow);
#define IsValidWindowRef IsValidWindowPtr
- /*
- Routines available from Mac OS 8.6 forward
- InitFloatingWindows is not available in Carbon;
- window ordering is always active for Carbon clients
- */
+/*
+ Routines available from Mac OS 8.6 forward
+ InitFloatingWindows is not available in Carbon;
+ window ordering is always active for Carbon clients
+*/
#if CALL_NOT_IN_CARBON
- /*
- * InitFloatingWindows()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- InitFloatingWindows(void);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Various & Sundry Window Accessors */
- /*--------------------------------------------------------------------------------------*/
+/*
+ * InitFloatingWindows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+InitFloatingWindows(void);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Various & Sundry Window Accessors */
+/*--------------------------------------------------------------------------------------*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * HiliteWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HiliteWindow(
- WindowRef window,
- Boolean fHilite) ONEWORDINLINE(0xA91C);
-
-
- /*
- * SetWRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetWRefCon(
- WindowRef window,
- long data) ONEWORDINLINE(0xA918);
-
-
- /*
- * GetWRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GetWRefCon(WindowRef window) ONEWORDINLINE(0xA917);
-
-
- /*
- * SetWindowPic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetWindowPic(
- WindowRef window,
- PicHandle pic) ONEWORDINLINE(0xA92E);
-
-
- /*
- * GetWindowPic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PicHandle)
- GetWindowPic(WindowRef window) ONEWORDINLINE(0xA92F);
-
-
- /*
- * GetWVariant()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetWVariant(WindowRef window) ONEWORDINLINE(0xA80A);
-
-
- /* Routines available from Mac OS 8.0 (Appearance 1.0) forward*/
- /*
- * GetWindowFeatures()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowFeatures(
- WindowRef window,
- UInt32 * outFeatures) THREEWORDINLINE(0x303C, 0x0013, 0xAA74);
-
-
- /*
- * GetWindowRegion()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowRegion(
- WindowRef window,
- WindowRegionCode inRegionCode,
- RgnHandle ioWinRgn) THREEWORDINLINE(0x303C, 0x0014, 0xAA74);
-
-
- /*
- * GetWindowStructureWidths()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowStructureWidths(
- WindowRef inWindow,
- Rect * outRect);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Update Events */
- /*--------------------------------------------------------------------------------------*/
- /*
- These aren't present in Carbon. Please use the InvalWindowRect, etc. routines
- below instead.
- */
+/*
+ * HiliteWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HiliteWindow(
+ WindowRef window,
+ Boolean fHilite) ONEWORDINLINE(0xA91C);
+
+
+/*
+ * SetWRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetWRefCon(
+ WindowRef window,
+ long data) ONEWORDINLINE(0xA918);
+
+
+/*
+ * GetWRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GetWRefCon(WindowRef window) ONEWORDINLINE(0xA917);
+
+
+/*
+ * SetWindowPic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetWindowPic(
+ WindowRef window,
+ PicHandle pic) ONEWORDINLINE(0xA92E);
+
+
+/*
+ * GetWindowPic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PicHandle )
+GetWindowPic(WindowRef window) ONEWORDINLINE(0xA92F);
+
+
+/*
+ * GetWVariant()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetWVariant(WindowRef window) ONEWORDINLINE(0xA80A);
+
+
+/* Routines available from Mac OS 8.0 (Appearance 1.0) forward*/
+/*
+ * GetWindowFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowFeatures(
+ WindowRef window,
+ UInt32 * outFeatures) THREEWORDINLINE(0x303C, 0x0013, 0xAA74);
+
+
+/*
+ * GetWindowRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowRegion(
+ WindowRef window,
+ WindowRegionCode inRegionCode,
+ RgnHandle ioWinRgn) THREEWORDINLINE(0x303C, 0x0014, 0xAA74);
+
+
+/*
+ * GetWindowStructureWidths()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowStructureWidths(
+ WindowRef inWindow,
+ Rect * outRect);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Update Events */
+/*--------------------------------------------------------------------------------------*/
+/*
+ These aren't present in Carbon. Please use the InvalWindowRect, etc. routines
+ below instead.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * InvalRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InvalRect(const Rect * badRect) ONEWORDINLINE(0xA928);
-
-
- /*
- * InvalRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InvalRgn(RgnHandle badRgn) ONEWORDINLINE(0xA927);
-
-
- /*
- * ValidRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- ValidRect(const Rect * goodRect) ONEWORDINLINE(0xA92A);
-
-
- /*
- * ValidRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- ValidRgn(RgnHandle goodRgn) ONEWORDINLINE(0xA929);
+/*
+ * InvalRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InvalRect(const Rect * badRect) ONEWORDINLINE(0xA928);
+
+
+/*
+ * InvalRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InvalRgn(RgnHandle badRgn) ONEWORDINLINE(0xA927);
+
+
+/*
+ * ValidRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+ValidRect(const Rect * goodRect) ONEWORDINLINE(0xA92A);
+
+
+/*
+ * ValidRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+ValidRgn(RgnHandle goodRgn) ONEWORDINLINE(0xA929);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * BeginUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BeginUpdate(WindowRef window) ONEWORDINLINE(0xA922);
-
-
- /*
- * EndUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EndUpdate(WindowRef window) ONEWORDINLINE(0xA923);
-
-
- /*
- Routines available from Mac OS 8.5 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
-
- /*
- * InvalWindowRgn()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InvalWindowRgn(
- WindowRef window,
- RgnHandle region);
-
-
- /*
- * InvalWindowRect()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InvalWindowRect(
- WindowRef window,
- const Rect * bounds);
-
-
- /*
- * ValidWindowRgn()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ValidWindowRgn(
- WindowRef window,
- RgnHandle region);
-
-
- /*
- * ValidWindowRect()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ValidWindowRect(
- WindowRef window,
- const Rect * bounds);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o DrawGrowIcon */
- /* */
- /* DrawGrowIcon is deprecated from Mac OS 8.0 forward. Theme-savvy window defprocs */
- /* include the grow box in the window frame. */
- /*--------------------------------------------------------------------------------------*/
- /*
- * DrawGrowIcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DrawGrowIcon(WindowRef window) ONEWORDINLINE(0xA904);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Titles */
- /*--------------------------------------------------------------------------------------*/
- /*
- * SetWTitle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetWTitle(
- WindowRef window,
- ConstStr255Param title) ONEWORDINLINE(0xA91A);
-
-
- /*
- * GetWTitle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetWTitle(
- WindowRef window,
- Str255 title) ONEWORDINLINE(0xA919);
-
-
- /*
- * SetWindowTitleWithCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowTitleWithCFString(
- WindowRef inWindow,
- CFStringRef inString);
-
-
- /*
- * CopyWindowTitleAsCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CopyWindowTitleAsCFString(
- WindowRef inWindow,
- CFStringRef * outString);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Proxies */
- /*--------------------------------------------------------------------------------------*/
- /* Routines available from Mac OS 8.5 forward*/
-
- /*
- * SetWindowProxyFSSpec()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowProxyFSSpec(
- WindowRef window,
- const FSSpec * inFile);
-
-
- /*
- * GetWindowProxyFSSpec()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowProxyFSSpec(
- WindowRef window,
- FSSpec * outFile);
-
-
- /*
- * SetWindowProxyAlias()
- *
- * Summary:
- * Sets the proxy icon for a window based on an AliasHandle.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose proxy icon to set.
- *
- * inAlias:
- * The alias that specifies the proxy icon. The Window Manager
- * copies the alias data; the caller may dispose of the alias
- * after SetWindowProxyAlias returns.
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowProxyAlias(
- WindowRef inWindow,
- AliasHandle inAlias);
-
-
- /*
- * GetWindowProxyAlias()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowProxyAlias(
- WindowRef window,
- AliasHandle * alias);
-
-
- /*
- * SetWindowProxyCreatorAndType()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowProxyCreatorAndType(
- WindowRef window,
- OSType fileCreator,
- OSType fileType,
- SInt16 vRefNum);
-
-
- /*
- * GetWindowProxyIcon()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowProxyIcon(
- WindowRef window,
- IconRef * outIcon);
-
-
- /*
- * SetWindowProxyIcon()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowProxyIcon(
- WindowRef window,
- IconRef icon);
-
-
- /*
- * RemoveWindowProxy()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveWindowProxy(WindowRef window);
-
-
- /*
- * BeginWindowProxyDrag()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- BeginWindowProxyDrag(
- WindowRef window,
- DragReference * outNewDrag,
- RgnHandle outDragOutlineRgn);
-
-
- /*
- * EndWindowProxyDrag()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- EndWindowProxyDrag(
- WindowRef window,
- DragReference theDrag);
-
-
- /*
- * TrackWindowProxyFromExistingDrag()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TrackWindowProxyFromExistingDrag(
- WindowRef window,
- Point startPt,
- DragReference drag,
- RgnHandle inDragOutlineRgn);
-
-
- /*
- * TrackWindowProxyDrag()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TrackWindowProxyDrag(
- WindowRef window,
- Point startPt);
-
-
- /*
- * IsWindowModified()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsWindowModified(WindowRef window);
-
-
- /*
- * SetWindowModified()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowModified(
- WindowRef window,
- Boolean modified);
-
-
- /*
- * IsWindowPathSelectClick()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsWindowPathSelectClick(
- WindowRef window,
- const EventRecord * event);
-
-
- /*
- * WindowPathSelect()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- WindowPathSelect(
- WindowRef window,
- MenuRef menu, /* can be NULL */
- SInt32 * outMenuResult);
-
-
- /*
- * IsWindowPathSelectEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsWindowPathSelectEvent(
- WindowRef window,
- EventRef inEvent);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o HiliteWindowFrameForDrag */
- /* */
- /* If you call ShowDragHilite and HideDragHilite, you don't need to use this routine. */
- /* If you implement custom drag hiliting, you should call HiliteWindowFrameForDrag */
- /* when the drag is tracking inside a window with drag-hilited content. */
- /*--------------------------------------------------------------------------------------*/
- /* Routines available from Mac OS 8.5 forward*/
-
- /*
- * HiliteWindowFrameForDrag()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HiliteWindowFrameForDrag(
- WindowRef window,
- Boolean hilited) TWOWORDINLINE(0x7019, 0xA829);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Transitions */
- /* */
- /* TransitionWindow displays a window with accompanying animation and sound. */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * WindowTransitionEffect
- *
- * Summary:
- * Visual effects that are provided by TransitionWindow
- */
- typedef UInt32 WindowTransitionEffect;
- enum
- {
-
- /*
- * Finder-like zoom rectangles. Use with TransitionWindow and Show or
- * Hide transition actions
- */
- kWindowZoomTransitionEffect = 1,
-
- /*
- * Zoom in/out from parent. Use with TransitionWindowAndParent and
- * Show or Hide transition actions. Available in Mac OS X, and in
- * CarbonLib 1.5 and later.
- */
- kWindowSheetTransitionEffect = 2,
-
- /*
- * Slide the window into its new position. Use with TransitionWindow
- * and Move or Resize transition actions. Available in Mac OS X, and
- * in CarbonLib 1.5 and later.
- */
- kWindowSlideTransitionEffect = 3
- };
-
-
- /*
- * WindowTransitionAction
- *
- * Summary:
- * Modifications to window state that are provided by
- * TransitionWindow
- */
- typedef UInt32 WindowTransitionAction;
- enum
- {
-
- /*
- * Shows the window. Use with the Zoom or Sheet transition effects.
- * The inRect parameter is the global coordinates from which to start
- * the animation; if inRect is NULL, the animation begins at the
- * center of the window.
- */
- kWindowShowTransitionAction = 1,
-
- /*
- * Hides the window. Use with the Zoom or Sheet transition effects.
- * The inRect parameter is the global coordinates at which to end the
- * animation; if inRect is NULL, the animation ends at the center of
- * the window.
- */
- kWindowHideTransitionAction = 2,
-
- /*
- * Moves the window. Use with the Slide transition effect. The inRect
- * parameter is the global coordinates of the window's new structure
- * bounds; inRect must be non-NULL. Available in Mac OS X, and in
- * CarbonLib 1.5 and later.
- */
- kWindowMoveTransitionAction = 3,
-
- /*
- * Resizes the window. Use with the Slide transition effect. The
- * inRect parameter is the global coordinates of the window's new
- * structure bounds; inRect must be non-NULL. Available in Mac OS X,
- * and in CarbonLib 1.5 and later.
- */
- kWindowResizeTransitionAction = 4
- };
-
- /*
- * TransitionWindow()
- *
- * Summary:
- * Shows, hides, moves, or resizes a window with appropriate
- * animation and sound.
- *
- * Parameters:
- *
- * inWindow:
- * The window on which to act.
- *
- * inEffect:
- * The type of visual effect to use. TransitionWindow supports the
- * Zoom and Slide transition effects. The Slide effect is
- * supported on Mac OS X and in CarbonLib 1.5 and later.
- *
- * inAction:
- * The action to take on the window. TransitionWindow supports the
- * Show, Hide, Move, and Resize actions. The Move and Resize
- * actions are supported on Mac OS X and in CarbonLib 1.5 and
- * later.
- *
- * inRect:
- * A screen rect in global coordinates. The interpretation of the
- * rect is dependent on the transition action; see the
- * documentation for each action for details. May be NULL for some
- * transition actions.
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TransitionWindow(
- WindowRef inWindow,
- WindowTransitionEffect inEffect,
- WindowTransitionAction inAction,
- const Rect * inRect); /* can be NULL */
-
-
- /*
- * TransitionWindowAndParent()
- *
- * Summary:
- * Shows or hides a window, potentially also moving a second window,
- * with appropriate animation and sound.
- *
- * Parameters:
- *
- * inWindow:
- * The window on which to act.
- *
- * inParentWindow:
- * The window to which the primary window is related.
- *
- * inEffect:
- * The type of visual effect to use. TransitionWindowAndParent
- * supports the Sheet transition effect.
- *
- * inAction:
- * The action to take on the window. TransitionWindowAndParent
- * supports the Show and Hide actions.
- *
- * inRect:
- * A screen rect in global coordinates. The interpretation of the
- * rect is dependent on the transition action; see the
- * documentation for each action for details. May be NULL for some
- * transition actions.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TransitionWindowAndParent(
- WindowRef inWindow,
- WindowRef inParentWindow,
- WindowTransitionEffect inEffect,
- WindowTransitionAction inAction,
- const Rect * inRect); /* can be NULL */
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Positioning */
- /*--------------------------------------------------------------------------------------*/
-
- /*
- * [Mac]MoveWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * BeginUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BeginUpdate(WindowRef window) ONEWORDINLINE(0xA922);
+
+
+/*
+ * EndUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EndUpdate(WindowRef window) ONEWORDINLINE(0xA923);
+
+
+/*
+ Routines available from Mac OS 8.5 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
+
+/*
+ * InvalWindowRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InvalWindowRgn(
+ WindowRef window,
+ RgnHandle region);
+
+
+/*
+ * InvalWindowRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InvalWindowRect(
+ WindowRef window,
+ const Rect * bounds);
+
+
+/*
+ * ValidWindowRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ValidWindowRgn(
+ WindowRef window,
+ RgnHandle region);
+
+
+/*
+ * ValidWindowRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ValidWindowRect(
+ WindowRef window,
+ const Rect * bounds);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o DrawGrowIcon */
+/* */
+/* DrawGrowIcon is deprecated from Mac OS 8.0 forward. Theme-savvy window defprocs */
+/* include the grow box in the window frame. */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * DrawGrowIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DrawGrowIcon(WindowRef window) ONEWORDINLINE(0xA904);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Titles */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * SetWTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetWTitle(
+ WindowRef window,
+ ConstStr255Param title) ONEWORDINLINE(0xA91A);
+
+
+/*
+ * GetWTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetWTitle(
+ WindowRef window,
+ Str255 title) ONEWORDINLINE(0xA919);
+
+
+/*
+ * SetWindowTitleWithCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowTitleWithCFString(
+ WindowRef inWindow,
+ CFStringRef inString);
+
+
+/*
+ * CopyWindowTitleAsCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CopyWindowTitleAsCFString(
+ WindowRef inWindow,
+ CFStringRef * outString);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Proxies */
+/*--------------------------------------------------------------------------------------*/
+/* Routines available from Mac OS 8.5 forward*/
+
+/*
+ * SetWindowProxyFSSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowProxyFSSpec(
+ WindowRef window,
+ const FSSpec * inFile);
+
+
+/*
+ * GetWindowProxyFSSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowProxyFSSpec(
+ WindowRef window,
+ FSSpec * outFile);
+
+
+/*
+ * SetWindowProxyAlias()
+ *
+ * Summary:
+ * Sets the proxy icon for a window based on an AliasHandle.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose proxy icon to set.
+ *
+ * inAlias:
+ * The alias that specifies the proxy icon. The Window Manager
+ * copies the alias data; the caller may dispose of the alias
+ * after SetWindowProxyAlias returns.
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowProxyAlias(
+ WindowRef inWindow,
+ AliasHandle inAlias);
+
+
+/*
+ * GetWindowProxyAlias()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowProxyAlias(
+ WindowRef window,
+ AliasHandle * alias);
+
+
+/*
+ * SetWindowProxyCreatorAndType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowProxyCreatorAndType(
+ WindowRef window,
+ OSType fileCreator,
+ OSType fileType,
+ SInt16 vRefNum);
+
+
+/*
+ * GetWindowProxyIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowProxyIcon(
+ WindowRef window,
+ IconRef * outIcon);
+
+
+/*
+ * SetWindowProxyIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowProxyIcon(
+ WindowRef window,
+ IconRef icon);
+
+
+/*
+ * RemoveWindowProxy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveWindowProxy(WindowRef window);
+
+
+/*
+ * BeginWindowProxyDrag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+BeginWindowProxyDrag(
+ WindowRef window,
+ DragReference * outNewDrag,
+ RgnHandle outDragOutlineRgn);
+
+
+/*
+ * EndWindowProxyDrag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+EndWindowProxyDrag(
+ WindowRef window,
+ DragReference theDrag);
+
+
+/*
+ * TrackWindowProxyFromExistingDrag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TrackWindowProxyFromExistingDrag(
+ WindowRef window,
+ Point startPt,
+ DragReference drag,
+ RgnHandle inDragOutlineRgn);
+
+
+/*
+ * TrackWindowProxyDrag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TrackWindowProxyDrag(
+ WindowRef window,
+ Point startPt);
+
+
+/*
+ * IsWindowModified()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsWindowModified(WindowRef window);
+
+
+/*
+ * SetWindowModified()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowModified(
+ WindowRef window,
+ Boolean modified);
+
+
+/*
+ * IsWindowPathSelectClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsWindowPathSelectClick(
+ WindowRef window,
+ const EventRecord * event);
+
+
+/*
+ * WindowPathSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+WindowPathSelect(
+ WindowRef window,
+ MenuRef menu, /* can be NULL */
+ SInt32 * outMenuResult);
+
+
+/*
+ * IsWindowPathSelectEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsWindowPathSelectEvent(
+ WindowRef window,
+ EventRef inEvent);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o HiliteWindowFrameForDrag */
+/* */
+/* If you call ShowDragHilite and HideDragHilite, you don't need to use this routine. */
+/* If you implement custom drag hiliting, you should call HiliteWindowFrameForDrag */
+/* when the drag is tracking inside a window with drag-hilited content. */
+/*--------------------------------------------------------------------------------------*/
+/* Routines available from Mac OS 8.5 forward*/
+
+/*
+ * HiliteWindowFrameForDrag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HiliteWindowFrameForDrag(
+ WindowRef window,
+ Boolean hilited) TWOWORDINLINE(0x7019, 0xA829);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Transitions */
+/* */
+/* TransitionWindow displays a window with accompanying animation and sound. */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * WindowTransitionEffect
+ *
+ * Summary:
+ * Visual effects that are provided by TransitionWindow
+ */
+typedef UInt32 WindowTransitionEffect;
+enum {
+
+ /*
+ * Finder-like zoom rectangles. Use with TransitionWindow and Show or
+ * Hide transition actions
+ */
+ kWindowZoomTransitionEffect = 1,
+
+ /*
+ * Zoom in/out from parent. Use with TransitionWindowAndParent and
+ * Show or Hide transition actions. Available in Mac OS X, and in
+ * CarbonLib 1.5 and later.
+ */
+ kWindowSheetTransitionEffect = 2,
+
+ /*
+ * Slide the window into its new position. Use with TransitionWindow
+ * and Move or Resize transition actions. Available in Mac OS X, and
+ * in CarbonLib 1.5 and later.
+ */
+ kWindowSlideTransitionEffect = 3
+};
+
+
+/*
+ * WindowTransitionAction
+ *
+ * Summary:
+ * Modifications to window state that are provided by
+ * TransitionWindow
+ */
+typedef UInt32 WindowTransitionAction;
+enum {
+
+ /*
+ * Shows the window. Use with the Zoom or Sheet transition effects.
+ * The inRect parameter is the global coordinates from which to start
+ * the animation; if inRect is NULL, the animation begins at the
+ * center of the window.
+ */
+ kWindowShowTransitionAction = 1,
+
+ /*
+ * Hides the window. Use with the Zoom or Sheet transition effects.
+ * The inRect parameter is the global coordinates at which to end the
+ * animation; if inRect is NULL, the animation ends at the center of
+ * the window.
+ */
+ kWindowHideTransitionAction = 2,
+
+ /*
+ * Moves the window. Use with the Slide transition effect. The inRect
+ * parameter is the global coordinates of the window's new structure
+ * bounds; inRect must be non-NULL. Available in Mac OS X, and in
+ * CarbonLib 1.5 and later.
+ */
+ kWindowMoveTransitionAction = 3,
+
+ /*
+ * Resizes the window. Use with the Slide transition effect. The
+ * inRect parameter is the global coordinates of the window's new
+ * structure bounds; inRect must be non-NULL. Available in Mac OS X,
+ * and in CarbonLib 1.5 and later.
+ */
+ kWindowResizeTransitionAction = 4
+};
+
+/*
+ * TransitionWindow()
+ *
+ * Summary:
+ * Shows, hides, moves, or resizes a window with appropriate
+ * animation and sound.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window on which to act.
+ *
+ * inEffect:
+ * The type of visual effect to use. TransitionWindow supports the
+ * Zoom and Slide transition effects. The Slide effect is
+ * supported on Mac OS X and in CarbonLib 1.5 and later.
+ *
+ * inAction:
+ * The action to take on the window. TransitionWindow supports the
+ * Show, Hide, Move, and Resize actions. The Move and Resize
+ * actions are supported on Mac OS X and in CarbonLib 1.5 and
+ * later.
+ *
+ * inRect:
+ * A screen rect in global coordinates. The interpretation of the
+ * rect is dependent on the transition action; see the
+ * documentation for each action for details. May be NULL for some
+ * transition actions.
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TransitionWindow(
+ WindowRef inWindow,
+ WindowTransitionEffect inEffect,
+ WindowTransitionAction inAction,
+ const Rect * inRect); /* can be NULL */
+
+
+/*
+ * TransitionWindowAndParent()
+ *
+ * Summary:
+ * Shows or hides a window, potentially also moving a second window,
+ * with appropriate animation and sound.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window on which to act.
+ *
+ * inParentWindow:
+ * The window to which the primary window is related.
+ *
+ * inEffect:
+ * The type of visual effect to use. TransitionWindowAndParent
+ * supports the Sheet transition effect.
+ *
+ * inAction:
+ * The action to take on the window. TransitionWindowAndParent
+ * supports the Show and Hide actions.
+ *
+ * inRect:
+ * A screen rect in global coordinates. The interpretation of the
+ * rect is dependent on the transition action; see the
+ * documentation for each action for details. May be NULL for some
+ * transition actions.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TransitionWindowAndParent(
+ WindowRef inWindow,
+ WindowRef inParentWindow,
+ WindowTransitionEffect inEffect,
+ WindowTransitionAction inAction,
+ const Rect * inRect); /* can be NULL */
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Positioning */
+/*--------------------------------------------------------------------------------------*/
+
+/*
+ * [Mac]MoveWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacMoveWindow MoveWindow
+ #define MacMoveWindow MoveWindow
#endif
- EXTERN_API(void)
- MacMoveWindow(
- WindowRef window,
- short hGlobal,
- short vGlobal,
- Boolean front) ONEWORDINLINE(0xA91B);
-
-
- /*
- * SizeWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SizeWindow(
- WindowRef window,
- short w,
- short h,
- Boolean fUpdate) ONEWORDINLINE(0xA91D);
-
-
-
- /* Note: bBox can only be NULL when linking to CarbonLib 1.0 forward */
- /*
- * GrowWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GrowWindow(
- WindowRef window,
- Point startPt,
- const Rect * bBox) /* can be NULL */ ONEWORDINLINE(0xA92B);
-
-
- /* Note: boundsRect can only be NULL when linking to CarbonLib 1.0 forward */
- /*
- * DragWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DragWindow(
- WindowRef window,
- Point startPt,
- const Rect * boundsRect) /* can be NULL */ ONEWORDINLINE(0xA925);
-
-
- /*
- * ZoomWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ZoomWindow(
- WindowRef window,
- WindowPartCode partCode,
- Boolean front) ONEWORDINLINE(0xA83A);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Collapsing/Expanding */
- /*--------------------------------------------------------------------------------------*/
- /* Routines available from Mac OS 8.0 (Appearance 1.0) forward*/
- /*
- * IsWindowCollapsable()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsWindowCollapsable(WindowRef window) THREEWORDINLINE(0x303C, 0x000F, 0xAA74);
-
-
- /*
- * IsWindowCollapsed()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsWindowCollapsed(WindowRef window) THREEWORDINLINE(0x303C, 0x0010, 0xAA74);
-
-
- /*
- * CollapseWindow()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CollapseWindow(
- WindowRef window,
- Boolean collapse) THREEWORDINLINE(0x303C, 0x0011, 0xAA74);
-
-
- /*
- * CollapseAllWindows()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CollapseAllWindows(Boolean collapse) THREEWORDINLINE(0x303C, 0x0012, 0xAA74);
-
-
- /* Routines available on Mac OS X*/
-
- /*
- * CreateQDContextForCollapsedWindowDockTile()
- *
- * Discussion:
- * Creates and returns a CGrafPtr for a collapsed window's tile in
- * the dock. You can use this port to draw into your window's dock
- * tile with Quickdraw. You **MUST** call
- * ReleaseQDContextForCollapsedWindowDockTile and NOT DisposePort
- * when using this API, as it maintains more state than just the
- * port. If you call DisposePort, you may leak system resources.
- *
- * Parameters:
- *
- * inWindow:
- * The window to create the dock tile port for. If this window is
- * not collapsed, an error is returned.
- *
- * outContext:
- * The Quickdraw port for you to use to draw into. If you wish to
- * use CoreGraphics (Quartz) drawing, call CreateCGContextForPort
- * with this port to obtain a CGContext.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateQDContextForCollapsedWindowDockTile(
- WindowRef inWindow,
- CGrafPtr * outContext);
-
-
- /*
- * ReleaseQDContextForCollapsedWindowDockTile()
- *
- * Discussion:
- * Releases a port and other state created by the
- * CreateQDContextForCollapsedWindowDockTile API. You MUST call this
- * instead of DisposePort directly, or you may leak system resources.
- *
- * Parameters:
- *
- * inWindow:
- * The window you created the port for. If this window is not
- * collapsed, an error is returned.
- *
- * inContext:
- * The Quickdraw context to dispose.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ReleaseQDContextForCollapsedWindowDockTile(
- WindowRef inWindow,
- CGrafPtr inContext);
-
-
- /*
- * UpdateCollapsedWindowDockTile()
- *
- * Discussion:
- * Automatically updates the image of a particular window in the
- * dock to the current contents of the window. Use this for periodic
- * updates, etc. Do not use this for animation purposes, if you want
- * animation, use the above create/release drawing context APIs.
- *
- * Parameters:
- *
- * inWindow:
- * The window to update the dock tile for. If this window is not
- * collapsed, an error is returned.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UpdateCollapsedWindowDockTile(WindowRef inWindow);
-
-
- /*
- * SetWindowDockTileMenu()
- *
- * Summary:
- * Sets the menu that is displayed by a window's dock tile.
- *
- * Discussion:
- * When a window's dock tile menu is right-clicked or
- * control-clicked, the Dock will always automatically display a
- * menu containing a Close menu item that closes the window. If the
- * application wants to add other additional menu items, it can use
- * the SetWindowDockTileMenu API to provide those items. The items
- * in the specified menu will be combined with the standard items
- * provided by the Dock.
- *
- * Before the menu is actually displayed, it will receive
- * kEventMenuPopulate, kEventMenuOpening, and kEventMenuEnableItems
- * Carbon events, so any event handlers for these events may update
- * the menu appropriately for the current state of the
- * application.
- *
- * The application should set a command ID for each menu item in the
- * dock tile menu, and when that item is chosen, a
- * kEventCommandProcess Carbon event containing the item's command
- * ID will be sent to the window's event target (and from there to
- * the application, if the window does not handle the
- * event).
- *
- * This API increments the refcount of the specified menu.
- *
- * The toolbox provides a default handler for the
- * kEventWindowGetDockTileMenu event that returns the menu specified
- * by the SetWindowDockTileMenu API.
- *
- * Parameters:
- *
- * inWindow:
- * The window for which to set the dock tile menu.
- *
- * inMenu:
- * The menu to display, or NULL to remove the current dock tile
- * menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowDockTileMenu(
- WindowRef inWindow,
- MenuRef inMenu); /* can be NULL */
-
-
- /*
- * GetWindowDockTileMenu()
- *
- * Summary:
- * Returns the menu that is displayed by a window's dock tile.
- *
- * Result:
- * The application's dock tile menu, or NULL if none.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(MenuRef)
- GetWindowDockTileMenu(WindowRef inWindow);
-
-
- /*
- Routines available from Mac OS 8.5 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
-
- /*
- * GetWindowBounds()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowBounds(
- WindowRef window,
- WindowRegionCode regionCode,
- Rect * globalBounds);
-
-
- /*
- * SetWindowResizeLimits()
- *
- * Summary:
- * Sets the minimum and maximum content sizes for a window.
- *
- * Discussion:
- * The minimum and maximum sizes are obeyed by ResizeWindow and
- * GrowWindow. The default Carbon event handler installed for all
- * windows will return these sizes in response to
- * kEventWindowGetMinimumSize and kEventWindowGetMaximumSize events.
- * When a window is first created, its minimum and maximum sizes are
- * set to reasonable values (which may change from one system
- * release to the next).
- *
- * Parameters:
- *
- * inWindow:
- * The window whose minimum and maximum sizes to set.
- *
- * inMinLimits:
- * The new minimum size for the content region of the window. Pass
- * NULL if you don't want to set a minimum size.
- *
- * inMaxLimits:
- * The new maximum size for the content region of the window. Pass
- * NULL if you don't want to set a maximum size.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowResizeLimits(
- WindowRef inWindow,
- const HISize * inMinLimits, /* can be NULL */
- const HISize * inMaxLimits); /* can be NULL */
-
-
- /*
- * GetWindowResizeLimits()
- *
- * Summary:
- * Returns the minimum and maximum content sizes for a window.
- *
- * Discussion:
- * GetWindowResizeLimits returns the minimum and maximum sizes that
- * were set by SetWindowResizeLimits. Note that it does not send
- * kEventWindowGetMinimumSize or kEventWindowGetMaximumSize Carbon
- * events to get these sizes; it simply retrieves the sizes from the
- * WindowRef. It is entirely possible (and quite likely) that a
- * given window will have event handlers for the
- * kEventWindowGetMinimum/MaximumSize events that will modify or
- * override the sizes in the WindowRef; therefore, to accurately
- * determine the desired minimum and maximum sizes, you should send
- * kEventWindowGetMinimum/MaximumSize Carbon events rather than
- * using this API.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose minimum and maximum sizes to retrieve.
- *
- * outMinLimits:
- * On exit, contains the minimum size of the window's content
- * region. Pass NULL if you don't want this information.
- *
- * outMaxLimits:
- * On exit, contains the maximum size of the window's content
- * region. Pass NULL if you don't want this information.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowResizeLimits(
- WindowRef inWindow,
- HISize * outMinLimits, /* can be NULL */
- HISize * outMaxLimits); /* can be NULL */
-
-
- /*
- * ResizeWindow()
- *
- * Summary:
- * Handles all user interaction while a window is being resized.
- *
- * Discussion:
- * The ResizeWindow function moves either an outline of the window's
- * edges (on Mac OS 9.x and earlier) or the actual window (on Mac OS
- * X) around the screen, following the user's cursor movements, and
- * handles all user interaction until the mouse button is released.
- * Unlike the GrowWindow API, there is no need to follow this call
- * with a call to the function SizeWindow, because once the mouse
- * button is released, ResizeWindow resizes the window if the user
- * has changed the window size. Once the resizing is complete,
- * ResizeWindow draws the window in the new size. Your application
- * should call the ResizeWindow function instead of the earlier
- * Window Manager APIs SizeWindow and GrowWindow. Some windows may
- * allow themselves to be resized from any corner or edge, not just
- * the bottom right, and as a result, when the user resizes the
- * window, the window may move on the screen and not merely change
- * size. ResizeWindow informs your application of the new window
- * bounds, so that your application can respond to any changes in
- * the window's position.
- *
- * Parameters:
- *
- * inWindow:
- * The window to be resized.
- *
- * inStartPoint:
- * The point, in global coordinates, at which the original
- * mouse-down occurred.
- *
- * inSizeConstraints:
- * The limits on the vertical and horizontal measurements of the
- * content rectangle, in pixels. Although this parameter is typed
- * as a Rect, the four numbers in the structure represent limits,
- * not screen coordinates. The top, left, bottom, and right fields
- * of the structure specify the minimum vertical measurement
- * (top), the minimum horizontal measurement (left), the maximum
- * vertical measurement (bottom), and the maximum horizontal
- * measurement (right). The minimum dimensions should be large
- * enough to allow a manageable rectangle; 64 pixels on a side is
- * typical. The maximum dimensions can be no greater than 32,767.
- * You can pass NULL to allow the user to resize the window to any
- * size that is contained onscreen.
- *
- * outNewContentRect:
- * On exit, the structure contains the new dimensions of the
- * window's content region, in global coordinates. On Mac OS 9.x
- * and earlier, you must pass a non-NULL value in this parameter;
- * in Carbon, you may pass NULL if you do not need the window's
- * new dimensions.
- *
- * Result:
- * Returns true if the window changed size, or false if not.
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- ResizeWindow(
- WindowRef inWindow,
- Point inStartPoint,
- const Rect * inSizeConstraints, /* can be NULL */
- Rect * outNewContentRect); /* can be NULL */
-
-
-
- /*
- Routines available from Mac OS 8.5 forward,
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0.2 forward
- */
-
- /*
- * SetWindowBounds()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowBounds(
- WindowRef window,
- WindowRegionCode regionCode,
- const Rect * globalBounds);
-
-
- /* Routines available from Mac OS 8.5 forward*/
-
- /*
- * RepositionWindow()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RepositionWindow(
- WindowRef window,
- WindowRef parentWindow,
- WindowPositionMethod method);
-
-
- /*
- * MoveWindowStructure()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- MoveWindowStructure(
- WindowRef window,
- short hGlobal,
- short vGlobal);
-
-
- /*
- Routines available from Mac OS 8.5 forward,
- or from Mac OS 8.6 forward when linking to CarbonLib 1.1 forward
- */
-
- /* Routines available from Mac OS 8.5 forward*/
-
- /*
- * IsWindowInStandardState()
- *
- * Summary:
- * Determines whether a window is currently zoomed in to the user
- * state or zoomed out to the standard state.
- *
- * Discussion:
- * IsWindowInStandardState compares the window's current dimensions
- * to those given by the inIdealSize parameter to determine if the
- * window is currently in its standard (zoomed-out) state. Your
- * application may use IsWindowInStandardState to decide whether a
- * user's click of the zoom box is a request to zoom in to the user
- * state or out to the standard state. Your application may also use
- * IsWindowInStandardState to determine the size and position of the
- * standard state that the Window Manager would calculate for a
- * window, given a specified ideal size; this value is returned in
- * the outIdealStandardState parameter.
- *
- * Parameters:
- *
- * inWindow:
- * The window for which to determine the zoom state.
- *
- * inIdealSize:
- * The ideal width and height of the window's content region,
- * regardless of the actual screen device dimensions. If you set
- * idealSize to NULL, IsWindowInStandardState examines the
- * dimensions stored in the stdState field of the WStateData
- * structure attached to the window.
- *
- * outIdealStandardState:
- * On exit, contains the global coordinates for the content region
- * of the window in its standard state, based on the data supplied
- * in the inIdealSize parameter. You may pass NULL if you do not
- * need this information.
- *
- * Result:
- * Returns true if the window is currently in its standard
- * (zoomed-out) state, or false if the window is a non-zoomed-out
- * state.
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsWindowInStandardState(
- WindowRef inWindow,
- const Point * inIdealSize, /* can be NULL */
- Rect * outIdealStandardState); /* can be NULL */
-
-
- /*
- * ZoomWindowIdeal()
- *
- * Summary:
- * Zooms a window in accordance with human interface guidelines.
- *
- * Discussion:
- * Applications should use the ZoomWindowIdeal API instead of the
- * older ZoomWindow API. When your application calls
- * ZoomWindowIdeal, it automatically conforms to the human interface
- * guidelines for determining a window's standard state: the window
- * is moved as little as possible when switching between user and
- * standard states, the window is zoomed to the screen that contains
- * the largest portion of the window, and the window is positioned
- * in its zoomed-out size to avoid the Dock on Mac OS X. The
- * ZoomWindowIdeal API calculates a window's ideal standard state
- * and updates a window's ideal user state independently of the
- * WStateData structure. Previously, the window definition function
- * was responsible for updating the user state, but because it
- * relies upon the WStateData structure, the window definition
- * function is unaware of the ideal standard state and can no longer
- * track the window's zoom state reliably. The Window Manager
- * provides the GetWindowIdealUserState and SetWindowIdealUserState
- * APIs to access a window's current ideal user state, previously
- * recorded by ZoomWindowIdeal.
- *
- * Parameters:
- *
- * inWindow:
- * The window to be zoomed.
- *
- * inPartCode:
- * The direction of the zoom, either inZoomIn or inZoomOut. The
- * value passed in this parameter should generally be determined
- * by calling IsWindowInStandardState; if IsWindowInStandardState
- * returns true, pass inZoomIn, otherwise pass inZoomOut.
- *
- * ioIdealSize:
- * When you specify inZoomIn in the inPartCode parameter, this
- * parameter is unused on entry; you pass a pointer to a Point
- * structure, but do not fill the structure with data. On exit,
- * the Point contains the new height and width of the window's
- * content region, and ZoomWindowIdeal restores the previous ideal
- * user state. When you specify inZoomOut in the inPartCode
- * parameter, you pass the ideal height and width of the window's
- * content region in the Point structure. On return, the Point
- * contains the new height and width of the window's content
- * region; ZoomWindowIdeal saves the current user state of the
- * window and zooms the window to its ideal size for the standard
- * state.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ZoomWindowIdeal(
- WindowRef inWindow,
- WindowPartCode inPartCode,
- Point * ioIdealSize);
-
-
- /*
- * GetWindowIdealUserState()
- *
- * Summary:
- * Returns the bounds of a window's content region in its user
- * (zoomed-in) state.
- *
- * Discussion:
- * Traditionally, the user (zoomed-in) state of a window has been
- * stored in the WStateData structure attached to a window. This
- * field is updated by the window definition when the user clicks on
- * the zoom box and the window definition determines that the window
- * is currently not zoomed out. When determining whether the window
- * is zoomed out, however, the window definition can only look at
- * the standard state stored in the WStateData field. With the
- * introduction of the ZoomWindowIdeal API, there is a new basis for
- * determining whether a window is zoomed out: the window's ideal
- * size. The window definition does not have access to the window's
- * ideal size, and therefore cannot accurately determine whether a
- * window that is zoomed with ZoomWindowIdeal is in its user state
- * or standard state; therefore, the user state that the window
- * definition stores in the WStateData is also unreliable. The
- * ZoomWindowIdeal API therefore stores the window's user state
- * before zooming out in a new location, which is accessed using the
- * GetWindowIdealUserState API. The GetWindowIdealUserState API
- * returns the window's user state most recently recorded by
- * ZoomWindowIdeal.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose ideal user state you wish to retrieve.
- *
- * outUserState:
- * On exit, contains the global coordinates of the window's
- * content region when zoomed in. On Mac OS X 10.1 and earlier,
- * and CarbonLib 1.5 and earlier, the window's ideal user state is
- * an empty rect with coordinates (0,0,0,0) if the window has
- * never been zoomed out; you should check for an empty rect and
- * use GetWindowBounds with the kWindowContentRgn selector to
- * determine the window's current content region. On later
- * versions of Mac OS X and CarbonLib, GetWindowIdealUserState
- * automatically returns the window's current content bounds if
- * the window has not yet been zoomed.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowIdealUserState(
- WindowRef inWindow,
- Rect * outUserState);
-
-
- /*
- * SetWindowIdealUserState()
- *
- * Summary:
- * Sets the bounds of a window's content region in its user
- * (zoomed-in) state.
- *
- * Discussion:
- * The window's ideal user state is used by the ZoomWindowIdeal API
- * when zooming in. The ideal user state is ignored by the
- * ZoomWindow API.
- *
- * Parameters:
- *
- * inWindow:
- * The window whose ideal user state to set.
- *
- * inUserState:
- * The global coordinates of the window's content region in its
- * ideal user state.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowIdealUserState(
- WindowRef inWindow,
- const Rect * inUserState);
-
-
- /* Routines available in CarbonLib 1.1 and later*/
-
- /*
- * GetWindowGreatestAreaDevice()
- *
- * Summary:
- * Returns the graphics device with the greatest area of
- * intersection with a specified window region.
- *
- * Parameters:
- *
- * inWindow:
- * The window to compare against.
- *
- * inRegion:
- * The window region to compare against.
- *
- * outGreatestDevice:
- * On exit, the graphics device with the greatest intersection.
- * May be NULL.
- *
- * outGreatestDeviceRect:
- * On exit, the bounds of the graphics device with the greatest
- * intersection. May be NULL. If the device with the greatest
- * intersection also contains the menu bar, the device rect will
- * exclude the menu bar area.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowGreatestAreaDevice(
- WindowRef inWindow,
- WindowRegionCode inRegion,
- GDHandle * outGreatestDevice, /* can be NULL */
- Rect * outGreatestDeviceRect); /* can be NULL */
-
-
-
- /*
- * WindowConstrainOptions
- *
- */
- typedef UInt32 WindowConstrainOptions;
- enum
- {
-
- /*
- * The window may be resized if necessary to make it fit onscreen.
- */
- kWindowConstrainMayResize = (1L << 0),
-
- /*
- * The window will be moved even if it doesn't fit entirely onscreen.
- */
- kWindowConstrainMoveRegardlessOfFit = (1L << 1),
-
- /*
- * Allow partial intersection of the specified window region with the
- * screen, instead of requiring total intersection.
- */
- kWindowConstrainAllowPartial = (1L << 2),
-
- /*
- * Only calculate the new window bounds; don't actually move the
- * window.
- */
- kWindowConstrainCalcOnly = (1L << 3),
-
- /*
- * Use TransitionWindow with kWindowSlideTransitionEffect to move
- * windows onscreen. Available in Mac OS X 10.2.
- */
- kWindowConstrainUseTransitionWindow = (1L << 4),
-
- /*
- * The most common options: don't resize the window, move the window
- * regardless of fit to the screen, require total intersection of the
- * specified window region with the screen, and do actually move the
- * window.
- */
- kWindowConstrainStandardOptions = kWindowConstrainMoveRegardlessOfFit
- };
-
- /*
- * ConstrainWindowToScreen()
- *
- * Summary:
- * Moves and resizes a window so that it's contained entirely on a
- * single screen.
- *
- * Parameters:
- *
- * inWindowRef:
- * The window to constrain.
- *
- * inRegionCode:
- * The window region to constrain.
- *
- * inOptions:
- * Flags controlling how the window is constrained.
- *
- * inScreenRect:
- * A rectangle, in global coordinates, in which to constrain the
- * window. May be NULL. If NULL, the window is constrained to the
- * screen with the greatest intersection with the specified window
- * region.
- *
- * outStructure:
- * On exit, contains the new structure bounds of the window, in
- * global coordinates. May be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ConstrainWindowToScreen(
- WindowRef inWindowRef,
- WindowRegionCode inRegionCode,
- WindowConstrainOptions inOptions,
- const Rect * inScreenRect, /* can be NULL */
- Rect * outStructure); /* can be NULL */
-
-
- /*
- * GetAvailableWindowPositioningBounds()
- *
- * Summary:
- * Returns the available window positioning bounds on the given
- * screen (i.e., the screen rect minus the MenuBar and Dock if
- * located on that screen).
- *
- * Parameters:
- *
- * inDevice:
- * The device for which to find the available bounds.
- *
- * outAvailableRect:
- * On exit, contains the available bounds for the given device.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetAvailableWindowPositioningBounds(
- GDHandle inDevice,
- Rect * outAvailableRect);
-
-
-
- /*
- * GetAvailableWindowPositioningRegion()
- *
- * Summary:
- * Returns the available window positioning region on the given
- * screen (i.e., the screen rect minus the MenuBar and Dock if
- * located on that screen).
- *
- * Discussion:
- * GetAvailableWindowPositionRegion differs from
- * GetAvailableWindowPositioningBounds in that the Bounds API
- * removes the entire area that may theoretically be covered by the
- * Dock, even if the the Dock does not currently reach from edge to
- * edge of the device on which it is positioned. The Region API
- * includes the area at the sides of the Dock that is not covered by
- * the Dock in the available region.
- *
- * Parameters:
- *
- * inDevice:
- * The device for which to find the available bounds.
- *
- * ioRgn:
- * On entry, contains a preallocated RgnHandle. On exit, the
- * RgnHandle has been modified to contain the available region for
- * the given device.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- GetAvailableWindowPositioningRegion(
- GDHandle inDevice,
- RgnHandle ioRgn);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Visibility */
- /*--------------------------------------------------------------------------------------*/
- /*
- * HideWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HideWindow(WindowRef window) ONEWORDINLINE(0xA916);
-
-
- /*
- * [Mac]ShowWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacMoveWindow(
+ WindowRef window,
+ short hGlobal,
+ short vGlobal,
+ Boolean front) ONEWORDINLINE(0xA91B);
+
+
+/*
+ * SizeWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SizeWindow(
+ WindowRef window,
+ short w,
+ short h,
+ Boolean fUpdate) ONEWORDINLINE(0xA91D);
+
+
+
+/* Note: bBox can only be NULL when linking to CarbonLib 1.0 forward */
+/*
+ * GrowWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GrowWindow(
+ WindowRef window,
+ Point startPt,
+ const Rect * bBox) /* can be NULL */ ONEWORDINLINE(0xA92B);
+
+
+/* Note: boundsRect can only be NULL when linking to CarbonLib 1.0 forward */
+/*
+ * DragWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DragWindow(
+ WindowRef window,
+ Point startPt,
+ const Rect * boundsRect) /* can be NULL */ ONEWORDINLINE(0xA925);
+
+
+/*
+ * ZoomWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ZoomWindow(
+ WindowRef window,
+ WindowPartCode partCode,
+ Boolean front) ONEWORDINLINE(0xA83A);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Collapsing/Expanding */
+/*--------------------------------------------------------------------------------------*/
+/* Routines available from Mac OS 8.0 (Appearance 1.0) forward*/
+/*
+ * IsWindowCollapsable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsWindowCollapsable(WindowRef window) THREEWORDINLINE(0x303C, 0x000F, 0xAA74);
+
+
+/*
+ * IsWindowCollapsed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsWindowCollapsed(WindowRef window) THREEWORDINLINE(0x303C, 0x0010, 0xAA74);
+
+
+/*
+ * CollapseWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CollapseWindow(
+ WindowRef window,
+ Boolean collapse) THREEWORDINLINE(0x303C, 0x0011, 0xAA74);
+
+
+/*
+ * CollapseAllWindows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CollapseAllWindows(Boolean collapse) THREEWORDINLINE(0x303C, 0x0012, 0xAA74);
+
+
+/* Routines available on Mac OS X*/
+
+/*
+ * CreateQDContextForCollapsedWindowDockTile()
+ *
+ * Discussion:
+ * Creates and returns a CGrafPtr for a collapsed window's tile in
+ * the dock. You can use this port to draw into your window's dock
+ * tile with Quickdraw. You **MUST** call
+ * ReleaseQDContextForCollapsedWindowDockTile and NOT DisposePort
+ * when using this API, as it maintains more state than just the
+ * port. If you call DisposePort, you may leak system resources.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to create the dock tile port for. If this window is
+ * not collapsed, an error is returned.
+ *
+ * outContext:
+ * The Quickdraw port for you to use to draw into. If you wish to
+ * use CoreGraphics (Quartz) drawing, call CreateCGContextForPort
+ * with this port to obtain a CGContext.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateQDContextForCollapsedWindowDockTile(
+ WindowRef inWindow,
+ CGrafPtr * outContext);
+
+
+/*
+ * ReleaseQDContextForCollapsedWindowDockTile()
+ *
+ * Discussion:
+ * Releases a port and other state created by the
+ * CreateQDContextForCollapsedWindowDockTile API. You MUST call this
+ * instead of DisposePort directly, or you may leak system resources.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window you created the port for. If this window is not
+ * collapsed, an error is returned.
+ *
+ * inContext:
+ * The Quickdraw context to dispose.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ReleaseQDContextForCollapsedWindowDockTile(
+ WindowRef inWindow,
+ CGrafPtr inContext);
+
+
+/*
+ * UpdateCollapsedWindowDockTile()
+ *
+ * Discussion:
+ * Automatically updates the image of a particular window in the
+ * dock to the current contents of the window. Use this for periodic
+ * updates, etc. Do not use this for animation purposes, if you want
+ * animation, use the above create/release drawing context APIs.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to update the dock tile for. If this window is not
+ * collapsed, an error is returned.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UpdateCollapsedWindowDockTile(WindowRef inWindow);
+
+
+/*
+ * SetWindowDockTileMenu()
+ *
+ * Summary:
+ * Sets the menu that is displayed by a window's dock tile.
+ *
+ * Discussion:
+ * When a window's dock tile menu is right-clicked or
+ * control-clicked, the Dock will always automatically display a
+ * menu containing a Close menu item that closes the window. If the
+ * application wants to add other additional menu items, it can use
+ * the SetWindowDockTileMenu API to provide those items. The items
+ * in the specified menu will be combined with the standard items
+ * provided by the Dock.
+ *
+ * Before the menu is actually displayed, it will receive
+ * kEventMenuPopulate, kEventMenuOpening, and kEventMenuEnableItems
+ * Carbon events, so any event handlers for these events may update
+ * the menu appropriately for the current state of the
+ * application.
+ *
+ * The application should set a command ID for each menu item in the
+ * dock tile menu, and when that item is chosen, a
+ * kEventCommandProcess Carbon event containing the item's command
+ * ID will be sent to the window's event target (and from there to
+ * the application, if the window does not handle the
+ * event).
+ *
+ * This API increments the refcount of the specified menu.
+ *
+ * The toolbox provides a default handler for the
+ * kEventWindowGetDockTileMenu event that returns the menu specified
+ * by the SetWindowDockTileMenu API.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window for which to set the dock tile menu.
+ *
+ * inMenu:
+ * The menu to display, or NULL to remove the current dock tile
+ * menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowDockTileMenu(
+ WindowRef inWindow,
+ MenuRef inMenu); /* can be NULL */
+
+
+/*
+ * GetWindowDockTileMenu()
+ *
+ * Summary:
+ * Returns the menu that is displayed by a window's dock tile.
+ *
+ * Result:
+ * The application's dock tile menu, or NULL if none.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( MenuRef )
+GetWindowDockTileMenu(WindowRef inWindow);
+
+
+/*
+ Routines available from Mac OS 8.5 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
+
+/*
+ * GetWindowBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowBounds(
+ WindowRef window,
+ WindowRegionCode regionCode,
+ Rect * globalBounds);
+
+
+/*
+ * SetWindowResizeLimits()
+ *
+ * Summary:
+ * Sets the minimum and maximum content sizes for a window.
+ *
+ * Discussion:
+ * The minimum and maximum sizes are obeyed by ResizeWindow and
+ * GrowWindow. The default Carbon event handler installed for all
+ * windows will return these sizes in response to
+ * kEventWindowGetMinimumSize and kEventWindowGetMaximumSize events.
+ * When a window is first created, its minimum and maximum sizes are
+ * set to reasonable values (which may change from one system
+ * release to the next).
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose minimum and maximum sizes to set.
+ *
+ * inMinLimits:
+ * The new minimum size for the content region of the window. Pass
+ * NULL if you don't want to set a minimum size.
+ *
+ * inMaxLimits:
+ * The new maximum size for the content region of the window. Pass
+ * NULL if you don't want to set a maximum size.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowResizeLimits(
+ WindowRef inWindow,
+ const HISize * inMinLimits, /* can be NULL */
+ const HISize * inMaxLimits); /* can be NULL */
+
+
+/*
+ * GetWindowResizeLimits()
+ *
+ * Summary:
+ * Returns the minimum and maximum content sizes for a window.
+ *
+ * Discussion:
+ * GetWindowResizeLimits returns the minimum and maximum sizes that
+ * were set by SetWindowResizeLimits. Note that it does not send
+ * kEventWindowGetMinimumSize or kEventWindowGetMaximumSize Carbon
+ * events to get these sizes; it simply retrieves the sizes from the
+ * WindowRef. It is entirely possible (and quite likely) that a
+ * given window will have event handlers for the
+ * kEventWindowGetMinimum/MaximumSize events that will modify or
+ * override the sizes in the WindowRef; therefore, to accurately
+ * determine the desired minimum and maximum sizes, you should send
+ * kEventWindowGetMinimum/MaximumSize Carbon events rather than
+ * using this API.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose minimum and maximum sizes to retrieve.
+ *
+ * outMinLimits:
+ * On exit, contains the minimum size of the window's content
+ * region. Pass NULL if you don't want this information.
+ *
+ * outMaxLimits:
+ * On exit, contains the maximum size of the window's content
+ * region. Pass NULL if you don't want this information.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowResizeLimits(
+ WindowRef inWindow,
+ HISize * outMinLimits, /* can be NULL */
+ HISize * outMaxLimits); /* can be NULL */
+
+
+/*
+ * ResizeWindow()
+ *
+ * Summary:
+ * Handles all user interaction while a window is being resized.
+ *
+ * Discussion:
+ * The ResizeWindow function moves either an outline of the window's
+ * edges (on Mac OS 9.x and earlier) or the actual window (on Mac OS
+ * X) around the screen, following the user's cursor movements, and
+ * handles all user interaction until the mouse button is released.
+ * Unlike the GrowWindow API, there is no need to follow this call
+ * with a call to the function SizeWindow, because once the mouse
+ * button is released, ResizeWindow resizes the window if the user
+ * has changed the window size. Once the resizing is complete,
+ * ResizeWindow draws the window in the new size. Your application
+ * should call the ResizeWindow function instead of the earlier
+ * Window Manager APIs SizeWindow and GrowWindow. Some windows may
+ * allow themselves to be resized from any corner or edge, not just
+ * the bottom right, and as a result, when the user resizes the
+ * window, the window may move on the screen and not merely change
+ * size. ResizeWindow informs your application of the new window
+ * bounds, so that your application can respond to any changes in
+ * the window's position.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to be resized.
+ *
+ * inStartPoint:
+ * The point, in global coordinates, at which the original
+ * mouse-down occurred.
+ *
+ * inSizeConstraints:
+ * The limits on the vertical and horizontal measurements of the
+ * content rectangle, in pixels. Although this parameter is typed
+ * as a Rect, the four numbers in the structure represent limits,
+ * not screen coordinates. The top, left, bottom, and right fields
+ * of the structure specify the minimum vertical measurement
+ * (top), the minimum horizontal measurement (left), the maximum
+ * vertical measurement (bottom), and the maximum horizontal
+ * measurement (right). The minimum dimensions should be large
+ * enough to allow a manageable rectangle; 64 pixels on a side is
+ * typical. The maximum dimensions can be no greater than 32,767.
+ * You can pass NULL to allow the user to resize the window to any
+ * size that is contained onscreen.
+ *
+ * outNewContentRect:
+ * On exit, the structure contains the new dimensions of the
+ * window's content region, in global coordinates. On Mac OS 9.x
+ * and earlier, you must pass a non-NULL value in this parameter;
+ * in Carbon, you may pass NULL if you do not need the window's
+ * new dimensions.
+ *
+ * Result:
+ * Returns true if the window changed size, or false if not.
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+ResizeWindow(
+ WindowRef inWindow,
+ Point inStartPoint,
+ const Rect * inSizeConstraints, /* can be NULL */
+ Rect * outNewContentRect); /* can be NULL */
+
+
+
+/*
+ Routines available from Mac OS 8.5 forward,
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0.2 forward
+*/
+
+/*
+ * SetWindowBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowBounds(
+ WindowRef window,
+ WindowRegionCode regionCode,
+ const Rect * globalBounds);
+
+
+/* Routines available from Mac OS 8.5 forward*/
+
+/*
+ * RepositionWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RepositionWindow(
+ WindowRef window,
+ WindowRef parentWindow,
+ WindowPositionMethod method);
+
+
+/*
+ * MoveWindowStructure()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+MoveWindowStructure(
+ WindowRef window,
+ short hGlobal,
+ short vGlobal);
+
+
+/*
+ Routines available from Mac OS 8.5 forward,
+ or from Mac OS 8.6 forward when linking to CarbonLib 1.1 forward
+*/
+
+/* Routines available from Mac OS 8.5 forward*/
+
+/*
+ * IsWindowInStandardState()
+ *
+ * Summary:
+ * Determines whether a window is currently zoomed in to the user
+ * state or zoomed out to the standard state.
+ *
+ * Discussion:
+ * IsWindowInStandardState compares the window's current dimensions
+ * to those given by the inIdealSize parameter to determine if the
+ * window is currently in its standard (zoomed-out) state. Your
+ * application may use IsWindowInStandardState to decide whether a
+ * user's click of the zoom box is a request to zoom in to the user
+ * state or out to the standard state. Your application may also use
+ * IsWindowInStandardState to determine the size and position of the
+ * standard state that the Window Manager would calculate for a
+ * window, given a specified ideal size; this value is returned in
+ * the outIdealStandardState parameter.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window for which to determine the zoom state.
+ *
+ * inIdealSize:
+ * The ideal width and height of the window's content region,
+ * regardless of the actual screen device dimensions. If you set
+ * idealSize to NULL, IsWindowInStandardState examines the
+ * dimensions stored in the stdState field of the WStateData
+ * structure attached to the window.
+ *
+ * outIdealStandardState:
+ * On exit, contains the global coordinates for the content region
+ * of the window in its standard state, based on the data supplied
+ * in the inIdealSize parameter. You may pass NULL if you do not
+ * need this information.
+ *
+ * Result:
+ * Returns true if the window is currently in its standard
+ * (zoomed-out) state, or false if the window is a non-zoomed-out
+ * state.
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsWindowInStandardState(
+ WindowRef inWindow,
+ const Point * inIdealSize, /* can be NULL */
+ Rect * outIdealStandardState); /* can be NULL */
+
+
+/*
+ * ZoomWindowIdeal()
+ *
+ * Summary:
+ * Zooms a window in accordance with human interface guidelines.
+ *
+ * Discussion:
+ * Applications should use the ZoomWindowIdeal API instead of the
+ * older ZoomWindow API. When your application calls
+ * ZoomWindowIdeal, it automatically conforms to the human interface
+ * guidelines for determining a window's standard state: the window
+ * is moved as little as possible when switching between user and
+ * standard states, the window is zoomed to the screen that contains
+ * the largest portion of the window, and the window is positioned
+ * in its zoomed-out size to avoid the Dock on Mac OS X. The
+ * ZoomWindowIdeal API calculates a window's ideal standard state
+ * and updates a window's ideal user state independently of the
+ * WStateData structure. Previously, the window definition function
+ * was responsible for updating the user state, but because it
+ * relies upon the WStateData structure, the window definition
+ * function is unaware of the ideal standard state and can no longer
+ * track the window's zoom state reliably. The Window Manager
+ * provides the GetWindowIdealUserState and SetWindowIdealUserState
+ * APIs to access a window's current ideal user state, previously
+ * recorded by ZoomWindowIdeal.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to be zoomed.
+ *
+ * inPartCode:
+ * The direction of the zoom, either inZoomIn or inZoomOut. The
+ * value passed in this parameter should generally be determined
+ * by calling IsWindowInStandardState; if IsWindowInStandardState
+ * returns true, pass inZoomIn, otherwise pass inZoomOut.
+ *
+ * ioIdealSize:
+ * When you specify inZoomIn in the inPartCode parameter, this
+ * parameter is unused on entry; you pass a pointer to a Point
+ * structure, but do not fill the structure with data. On exit,
+ * the Point contains the new height and width of the window's
+ * content region, and ZoomWindowIdeal restores the previous ideal
+ * user state. When you specify inZoomOut in the inPartCode
+ * parameter, you pass the ideal height and width of the window's
+ * content region in the Point structure. On return, the Point
+ * contains the new height and width of the window's content
+ * region; ZoomWindowIdeal saves the current user state of the
+ * window and zooms the window to its ideal size for the standard
+ * state.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ZoomWindowIdeal(
+ WindowRef inWindow,
+ WindowPartCode inPartCode,
+ Point * ioIdealSize);
+
+
+/*
+ * GetWindowIdealUserState()
+ *
+ * Summary:
+ * Returns the bounds of a window's content region in its user
+ * (zoomed-in) state.
+ *
+ * Discussion:
+ * Traditionally, the user (zoomed-in) state of a window has been
+ * stored in the WStateData structure attached to a window. This
+ * field is updated by the window definition when the user clicks on
+ * the zoom box and the window definition determines that the window
+ * is currently not zoomed out. When determining whether the window
+ * is zoomed out, however, the window definition can only look at
+ * the standard state stored in the WStateData field. With the
+ * introduction of the ZoomWindowIdeal API, there is a new basis for
+ * determining whether a window is zoomed out: the window's ideal
+ * size. The window definition does not have access to the window's
+ * ideal size, and therefore cannot accurately determine whether a
+ * window that is zoomed with ZoomWindowIdeal is in its user state
+ * or standard state; therefore, the user state that the window
+ * definition stores in the WStateData is also unreliable. The
+ * ZoomWindowIdeal API therefore stores the window's user state
+ * before zooming out in a new location, which is accessed using the
+ * GetWindowIdealUserState API. The GetWindowIdealUserState API
+ * returns the window's user state most recently recorded by
+ * ZoomWindowIdeal.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose ideal user state you wish to retrieve.
+ *
+ * outUserState:
+ * On exit, contains the global coordinates of the window's
+ * content region when zoomed in. On Mac OS X 10.1 and earlier,
+ * and CarbonLib 1.5 and earlier, the window's ideal user state is
+ * an empty rect with coordinates (0,0,0,0) if the window has
+ * never been zoomed out; you should check for an empty rect and
+ * use GetWindowBounds with the kWindowContentRgn selector to
+ * determine the window's current content region. On later
+ * versions of Mac OS X and CarbonLib, GetWindowIdealUserState
+ * automatically returns the window's current content bounds if
+ * the window has not yet been zoomed.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowIdealUserState(
+ WindowRef inWindow,
+ Rect * outUserState);
+
+
+/*
+ * SetWindowIdealUserState()
+ *
+ * Summary:
+ * Sets the bounds of a window's content region in its user
+ * (zoomed-in) state.
+ *
+ * Discussion:
+ * The window's ideal user state is used by the ZoomWindowIdeal API
+ * when zooming in. The ideal user state is ignored by the
+ * ZoomWindow API.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose ideal user state to set.
+ *
+ * inUserState:
+ * The global coordinates of the window's content region in its
+ * ideal user state.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowIdealUserState(
+ WindowRef inWindow,
+ const Rect * inUserState);
+
+
+/* Routines available in CarbonLib 1.1 and later*/
+
+/*
+ * GetWindowGreatestAreaDevice()
+ *
+ * Summary:
+ * Returns the graphics device with the greatest area of
+ * intersection with a specified window region.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to compare against.
+ *
+ * inRegion:
+ * The window region to compare against.
+ *
+ * outGreatestDevice:
+ * On exit, the graphics device with the greatest intersection.
+ * May be NULL.
+ *
+ * outGreatestDeviceRect:
+ * On exit, the bounds of the graphics device with the greatest
+ * intersection. May be NULL. If the device with the greatest
+ * intersection also contains the menu bar, the device rect will
+ * exclude the menu bar area.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowGreatestAreaDevice(
+ WindowRef inWindow,
+ WindowRegionCode inRegion,
+ GDHandle * outGreatestDevice, /* can be NULL */
+ Rect * outGreatestDeviceRect); /* can be NULL */
+
+
+
+/*
+ * WindowConstrainOptions
+ *
+ */
+typedef UInt32 WindowConstrainOptions;
+enum {
+
+ /*
+ * The window may be resized if necessary to make it fit onscreen.
+ */
+ kWindowConstrainMayResize = (1L << 0),
+
+ /*
+ * The window will be moved even if it doesn't fit entirely onscreen.
+ */
+ kWindowConstrainMoveRegardlessOfFit = (1L << 1),
+
+ /*
+ * Allow partial intersection of the specified window region with the
+ * screen, instead of requiring total intersection.
+ */
+ kWindowConstrainAllowPartial = (1L << 2),
+
+ /*
+ * Only calculate the new window bounds; don't actually move the
+ * window.
+ */
+ kWindowConstrainCalcOnly = (1L << 3),
+
+ /*
+ * Use TransitionWindow with kWindowSlideTransitionEffect to move
+ * windows onscreen. Available in Mac OS X 10.2.
+ */
+ kWindowConstrainUseTransitionWindow = (1L << 4),
+
+ /*
+ * The most common options: don't resize the window, move the window
+ * regardless of fit to the screen, require total intersection of the
+ * specified window region with the screen, and do actually move the
+ * window.
+ */
+ kWindowConstrainStandardOptions = kWindowConstrainMoveRegardlessOfFit
+};
+
+/*
+ * ConstrainWindowToScreen()
+ *
+ * Summary:
+ * Moves and resizes a window so that it's contained entirely on a
+ * single screen.
+ *
+ * Parameters:
+ *
+ * inWindowRef:
+ * The window to constrain.
+ *
+ * inRegionCode:
+ * The window region to constrain.
+ *
+ * inOptions:
+ * Flags controlling how the window is constrained.
+ *
+ * inScreenRect:
+ * A rectangle, in global coordinates, in which to constrain the
+ * window. May be NULL. If NULL, the window is constrained to the
+ * screen with the greatest intersection with the specified window
+ * region.
+ *
+ * outStructure:
+ * On exit, contains the new structure bounds of the window, in
+ * global coordinates. May be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ConstrainWindowToScreen(
+ WindowRef inWindowRef,
+ WindowRegionCode inRegionCode,
+ WindowConstrainOptions inOptions,
+ const Rect * inScreenRect, /* can be NULL */
+ Rect * outStructure); /* can be NULL */
+
+
+/*
+ * GetAvailableWindowPositioningBounds()
+ *
+ * Summary:
+ * Returns the available window positioning bounds on the given
+ * screen (i.e., the screen rect minus the MenuBar and Dock if
+ * located on that screen).
+ *
+ * Parameters:
+ *
+ * inDevice:
+ * The device for which to find the available bounds.
+ *
+ * outAvailableRect:
+ * On exit, contains the available bounds for the given device.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetAvailableWindowPositioningBounds(
+ GDHandle inDevice,
+ Rect * outAvailableRect);
+
+
+
+/*
+ * GetAvailableWindowPositioningRegion()
+ *
+ * Summary:
+ * Returns the available window positioning region on the given
+ * screen (i.e., the screen rect minus the MenuBar and Dock if
+ * located on that screen).
+ *
+ * Discussion:
+ * GetAvailableWindowPositionRegion differs from
+ * GetAvailableWindowPositioningBounds in that the Bounds API
+ * removes the entire area that may theoretically be covered by the
+ * Dock, even if the the Dock does not currently reach from edge to
+ * edge of the device on which it is positioned. The Region API
+ * includes the area at the sides of the Dock that is not covered by
+ * the Dock in the available region.
+ *
+ * Parameters:
+ *
+ * inDevice:
+ * The device for which to find the available bounds.
+ *
+ * ioRgn:
+ * On entry, contains a preallocated RgnHandle. On exit, the
+ * RgnHandle has been modified to contain the available region for
+ * the given device.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+GetAvailableWindowPositioningRegion(
+ GDHandle inDevice,
+ RgnHandle ioRgn);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Visibility */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * HideWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HideWindow(WindowRef window) ONEWORDINLINE(0xA916);
+
+
+/*
+ * [Mac]ShowWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacShowWindow ShowWindow
+ #define MacShowWindow ShowWindow
#endif
- EXTERN_API(void)
- MacShowWindow(WindowRef window) ONEWORDINLINE(0xA915);
-
-
- /*
- * ShowHide()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ShowHide(
- WindowRef window,
- Boolean showFlag) ONEWORDINLINE(0xA908);
-
-
-
- /*
- * [Mac]IsWindowVisible()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacShowWindow(WindowRef window) ONEWORDINLINE(0xA915);
+
+
+/*
+ * ShowHide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ShowHide(
+ WindowRef window,
+ Boolean showFlag) ONEWORDINLINE(0xA908);
+
+
+
+/*
+ * [Mac]IsWindowVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacIsWindowVisible IsWindowVisible
+ #define MacIsWindowVisible IsWindowVisible
#endif
- EXTERN_API(Boolean)
- MacIsWindowVisible(WindowRef window);
+EXTERN_API( Boolean )
+MacIsWindowVisible(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(Boolean) MacIsWindowVisible(WindowRef window)
- {
- return ((WindowPeek)window)->visible != 0;
- }
-#else
-#if TARGET_OS_MAC
-#define IsWindowVisible(window) (((WindowPeek)window)->visible != 0)
-#else
-#define MacIsWindowVisible(window) (((WindowPeek)window)->visible != 0)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Boolean ) MacIsWindowVisible(WindowRef window) { return ((WindowPeek)window)->visible != 0; }
+ #else
+ #if TARGET_OS_MAC
+ #define IsWindowVisible(window) (((WindowPeek)window)->visible != 0)
+ #else
+ #define MacIsWindowVisible(window) (((WindowPeek)window)->visible != 0)
+ #endif
#endif
#endif
- /*
- --------------------------------------------------------------------------------------
- o.Latent window visibility
- --------------------------------------------------------------------------------------
- */
-
-
- /*
- * WindowLatentVisibility
- *
- * Summary:
- * Reasons why a window is currently invisible when ordinarily it
- * would be visible.
- */
- typedef UInt32 WindowLatentVisibility;
- enum
- {
-
- /*
- * Window is a floater and floating windows are hidden
- */
- kWindowLatentVisibleFloater = 1 << 0,
-
- /*
- * Window has HideOnSuspend and we are suspended
- */
- kWindowLatentVisibleSuspend = 1 << 1,
-
- /*
- * Window has HideOnFullScreen and we are full-screen
- */
- kWindowLatentVisibleFullScreen = 1 << 2,
-
- /*
- * Window's process is hidden
- */
- kWindowLatentVisibleAppHidden = 1 << 3,
-
- /*
- * Window is in an owned group and the owner was collapsed
- */
- kWindowLatentVisibleCollapsedOwner = 1 << 4,
-
- /*
- * Window is in a HideOnCollapse group and another window in the
- * group was collapsed
- */
- kWindowLatentVisibleCollapsedGroup = 1 << 5
- };
-
- /*
- * IsWindowLatentVisible()
- *
- * Summary:
- * Indicates whether a window is visible onscreen and also whether
- * it is latently visible but not currently onscreen.
- *
- * Discussion:
- * All windows are either onscreen or offscreen. A window that is
- * offscreen may still be latently visible; this occurs, for
- * example, when a floating window is hidden as an application is
- * suspended. The floating window is not visible onscreen, but it is
- * latently visible and is only hidden due to the suspended state of
- * the application; when the application becomes active again, the
- * floating window will be placed back onscreen.
- * IsWindowLatentVisible may be used to determine both the window's
- * onscreen/offscreen status and its latent visibility (if the
- * window is offscreen).
- *
- * Parameters:
- *
- * inWindow:
- * The window whose visibility to return.
- *
- * outLatentVisible:
- * If the window is onscreen, the latent visibility is zero. If
- * the window is offscreen, this parameter is used to return the
- * latent visibility flags of the window. If any of the flags are
- * set, then the window is latently visible.
- *
- * Result:
- * Indicates whether the window is currently onscreen.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(Boolean)
- IsWindowLatentVisible(
- WindowRef inWindow,
- WindowLatentVisibility * outLatentVisible); /* can be NULL */
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /*
- o Sheets
-
- Sheets are a new user interface object in Mac OS X. A sheet is a modal alert or dialog,
- but unlike a traditional alert or dialog window (which is visually separate from the
- frontmost document window), a sheet appears to be attached to its parent window; it
- moves and z-orders simultaneously with its parent. Furthermore, sheets on Mac OS X
- use a new type of modality called window modality. A traditional alert or dialog is
- app-modal; it prevents user interaction with all other windows in the current application.
- A sheet is window-modal; it only prevents user interaction with its parent window, and
- events continue to flow to other windows in the application.
-
- o Sheet Event Handling
-
- Implementing a sheet window in your application generally requires some modifications
- to your event-handling code. A traditional app-modal window is implemented using a modal
- event loop; your application starts a new event loop (either by processing events itself,
- or by calling ModalDialog), which does not return back to your application's main event
- loop until the app-modal window has closed.
-
- Starting a new event loop doesn't work with sheets, because typically the modal event loop
- will only handle events destined for the sheet, and not events for other windows, but
- a sheet only blocks events for its parent window, and your application must still handle
- events for the rest of its windows as normal. Therefore, you will usually not use a modal
- event loop to handle events in a sheet. Rather, you will show the sheet window, and then
- return directly back to your main event loop. The Carbon Event Manager automatically
- prevents events in the sheet's parent window from reaching it; events in your application's
- other windows are still returned to you via WaitNextEvent or your application's Carbon
- event handlers, where you can process them as normal.
-
- You have several choices for handling events in the sheet itself. A sheet is, at the most
- basic level, simply another window in your application, and you can use any of the standard
- event-handling APIs to receive events in the sheet. For example, you can:
-
- - receive events in the sheet via WaitNextEvent, and handle them directly in your
- main event loop
-
- - create the sheet using Dialog Manager APIs, and use IsDialogEvent and DialogSelect
- to handle events in the sheet
-
- - install Carbon event handlers on the sheet, and respond to events in your handlers
-
- Which approach you choose is up to you.
-
- o Sheets in CarbonLib
-
- The sheet window class, sheet WDEF procIDs, and ShowSheetWindow, HideSheetWindow, and
- GetSheetWindowParent APIs are implemented in CarbonLib starting with version 1.3. However,
- since Mac OS 8 and 9 do not traditionally support a window-modal user interface, sheet
- windows are displayed as app-modal windows by CarbonLib. From your application's perspective,
- event handling for a sheet in CarbonLib is the same as event handling for a sheet on X;
- ShowSheetWindow still returns immediately, and your application should still return back
- to its main event loop and be prepared to handle events in other windows. On CarbonLib,
- your application will simply never receive an user input in any of your other windows;
- since the sheet has application modality, the Carbon Event Manager will discard events
- in any windows other than the sheet.
-
- o.Creating a Sheet
-
- A sheet is just a normal window with a special window class: kSheetWindowClass or
- kSheetAlertWindowClass. As such, it can be created in any of the ways you might create
- a window: NewWindow, NewCWindow, CreateNewWindow, GetNewWindow, GetNewCWindow,
- CreateWindowFromCollection, CreateWindowFromResource, CreateWindowFromNib, NewDialog,
- NewColorDialog, NewFeaturesDialog, or GetNewDialog.
-
- The Window Manager defines two window classes and two WDEF procIDs for sheets:
-
- - kSheetWindowClass and kSheetAlertWindowClass
- - kWindowSheetProc and kWindowSheetAlertProc
-
- The window classes may be used with CreateNewWindow, CreateWindowFromCollection, and
- CreateWindowFromResource; the WDEF procIDs may be used with NewWindow, NewCWindow, NewDialog,
- NewColorDialog, NewFeaturesDialog, and in 'WDEF' and 'DLOG' resources.
-
- The first release of Mac OS X only supports kSheetWindowClass and kWindowSheetProc;
- it does not support kSheetAlertWindowClass or kWindowSheetAlertProc. The latter window
- class and procID were added in CarbonLib 1.3 and will be added to a future version of
- Mac OS X. A new window class and procID were necessary for CarbonLib support because
- sheets can be used for both alerts ("Do you want to save changes before closing this
- window?") and dialogs (a Navigation Services PutFile dialog). On Mac OS X, sheet windows
- have the same appearance when used for either an alert or a dialog, but on Mac OS 8 and 9,
- alert windows have a different appearance from dialog windows. Two separate window classes
- are necessary for CarbonLib to know whether to display a sheet using a movable alert or a
- movable dialog window. Therefore, it is recommended that you use kSheetAlertWindowClass when
- creating a sheet window that will be used to display an alert, although this is not required.
-
- o Displaying a Sheet
-
- A sheet is made visible by calling the ShowSheetWindow API. This API shows the sheet,
- using whatever visual effects are appropriate for the platform, and then returns immediately.
- On Mac OS X, it creates a window group and places the sheet and its parent window into the
- group; it also marks the sheet as window-modal. On CarbonLib, it marks the sheet as app-modal
- but does not create a window group.
-
- On Mac OS X, before the sheet window is actually made visible, ShowSheetWindow sends a
- kEventWindowDrawContent event to the sheet window, asking it to draw its content into the
- window's offscreen buffer. The sheet must handle this event, or its content area will be
- blank after the sheet becomes visible.
-
- In some cases, this handler is automatically provided for you:
-
- - If you create your sheet window using the Dialog Manager, the Dialog Manager
- automatically installs a handler for this event that calls DrawDialog, so you
- don't need to install the handler yourself.
-
- - If you install the standard Carbon window event handler on your sheet window
- (using kWindowStandardHandlerAttribute or InstallStandardEventHandler), the
- standard handler automatically handles this event and calls DrawControls.
-
- Typically, your event handling code (whether it uses WaitNextEvent, the Dialog Manager,
- or Carbon event handlers) will receive and respond to events in the sheet until the
- user does something that should cause the sheet to close. This might be clicking in an
- OK or Cancel button, for example. At that time, your event handling code should call
- HideSheetWindow. The sheet window will hide, but will not be destroyed, so you can use
- it again later if you want.
- */
- /*
- * ShowSheetWindow()
- *
- * Summary:
- * Shows a sheet window using appropriate visual effects.
- *
- * Discussion:
- * ShowSheetWindow is implemented in both CarbonLib 1.3 and Mac OS
- * X. Since Mac OS 9 does not use a window-modal user interface for
- * alerts and dialogs, ShowSheetWindow in CarbonLib does not bind
- * the sheet to the parent window in the same way that it does on
- * Mac OS X; instead, it shows the sheet like a standard
- * movable-modal dialog window. Sheet windows must use the window
- * classes kSheetWindowClass or kSheetAlertWindowClass to get the
- * right appearance on both platforms.
- *
- * Parameters:
- *
- * inSheet:
- * The sheet window to show.
- *
- * inParentWindow:
- * The sheet's parent window.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ShowSheetWindow(
- WindowRef inSheet,
- WindowRef inParentWindow);
-
-
- /*
- * HideSheetWindow()
- *
- * Summary:
- * Hides a sheet window using appropriate visual effects.
- *
- * Parameters:
- *
- * inSheet:
- * The sheet window to hide.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- HideSheetWindow(WindowRef inSheet);
-
-
- /*
- * GetSheetWindowParent()
- *
- * Summary:
- * Returns the parent window of a sheet.
- *
- * Parameters:
- *
- * inSheet:
- * The sheet window whose parent to retrieve.
- *
- * outParentWindow:
- * On exit, contains the parent window of the sheet.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetSheetWindowParent(
- WindowRef inSheet,
- WindowRef * outParentWindow);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /*
- o Drawers
-
- Drawers are supported in Carbon by Jaguar and later. To create and use a drawer:
-
- - Create a window using kDrawerWindowClass. You may optionally set the background
- brush of the window to kThemeBrushDrawerBackground using the SetThemeWindowBackground
- function.
-
- - Either install the standard window event handler on the drawer window, or use
- your own Carbon event or WaitNextEvent code to handle user interaction with the
- drawer. If you do not use the standard window event handler, you should call
- ResizeWindow in response to clicks on the grow region of the drawer if you want
- the drawer to be resizable.
-
- - Install a handler on the drawer window for the kEventWindowDrawContent event.
- You must handle this event and draw your drawer's content so that the content
- will be visible when the drawer is slid out from underneath the parent window.
-
- - Set the drawer's parent window with the SetDrawerParent function. The parent is
- the window on which the drawer will open.
-
- - Optionally, install a Carbon event handler on the drawer or the drawer's parent
- window for the kEventWindowDrawerOpening/Opened/Closing/Closed events, to be notified
- when the drawer has started or finished opening or closing.
-
- - Optionally, set the drawer's preferred edge on the parent window with the
- SetDrawerPreferredEdge function. If you do not set a preferred edge, the drawer
- opens on the parent's left side on a left-to-right system, or on the parent's right
- side on a right-to-left system.
-
- - Optionally, Set the drawer's offsets with the SetDrawerOffsets function. The offsets
- control the amount of inset between the edge of the parent's content area and the edge
- of the drawer's structure. If you do not set any offsets, the drawer's edges are flush
- with the edges of the parent's content.
-
- - Optionally, set the drawer's minimum and maximum sizes with the SetWindowResizeLimits
- function. Or, install a Carbon event handler on the drawer to handle the kEventWindow-
- GetMinimumSize and kEventWindowGetMaximumSize events. The drawer's minimum and maximum
- sizes control how small or large it will resize together with the parent. If you do not
- set resize limits, the drawer will be capable of resizing to default small and large
- limits.
-
- - Call ToggleDrawer to open or close the drawer, or use OpenDrawer or CloseDrawer if
- you require more control over how the drawer opens or closes.
- */
-
- /*
- * Summary:
- * Indicates the parent window edge on which a drawer will be shown.
- */
- enum
- {
-
- /*
- * This constant is typically used with the OpenDrawer API; it
- * indicates that the drawer should be opened on whatever edge of the
- * parent window has previously been set as the drawer's preferred
- * edge.
- */
- kWindowEdgeDefault = 0,
-
- /*
- * The drawer should open on the top edge of the parent window.
- */
- kWindowEdgeTop = 1 << 0,
-
- /*
- * The drawer should open on the left edge of the parent window.
- */
- kWindowEdgeLeft = 1 << 1,
-
- /*
- * The drawer should open on the bottom edge of the parent window.
- */
- kWindowEdgeBottom = 1 << 2,
-
- /*
- * The drawer should open on the right edge of the parent window.
- */
- kWindowEdgeRight = 1 << 3
- };
-
-
- /*
- * Summary:
- * Indicates the current state of a drawer window.
- */
- enum
- {
-
- /*
- * The drawer is opening, but is not yet fully open.
- */
- kWindowDrawerOpening = 1,
-
- /*
- * The drawer is fully open.
- */
- kWindowDrawerOpen = 2,
-
- /*
- * The drawer is closing, but is not yet fully closed.
- */
- kWindowDrawerClosing = 3,
-
- /*
- * The drawer is fully closed.
- */
- kWindowDrawerClosed = 4
- };
-
- typedef UInt32 WindowDrawerState;
-
- /*
- * GetDrawerPreferredEdge()
- *
- * Summary:
- * Returns the preferred parent window edge of a drawer.
- *
- * Discussion:
- * Drawers start out with a preferred parent window edge of
- * kWindowEdgeDefault. On left-to-right systems, the default edge is
- * the left edge of the parent window; on right-to-left systems, the
- * default edge is the right edge. You can set the preferred edge
- * with SetDrawerPreferredEdge. If there's not enough room on the
- * preferred edge, the drawer will automatically switch to the
- * opposite edge.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window whose preferred edge to retrieve.
- *
- * Result:
- * The preferred edge of the drawer window.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OptionBits)
- GetDrawerPreferredEdge(WindowRef inDrawerWindow);
-
-
- /*
- * SetDrawerPreferredEdge()
- *
- * Summary:
- * Sets the preferred parent window edge of a drawer.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window whose preferred edge to set.
- *
- * inEdge:
- * The preferred edge of the drawer window. Note that although the
- * WindowEdge enumeration has values appropriate for a bitfield,
- * the current implementation does not support receiving more than
- * one edge bit in this parameter. You can also pass
- * kWindowEdgeDefault to allow the Window Manager to pick an edge.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetDrawerPreferredEdge(
- WindowRef inDrawerWindow,
- OptionBits inEdge);
-
-
- /*
- * GetDrawerCurrentEdge()
- *
- * Summary:
- * Returns the current parent window edge on which a drawer is
- * displayed.
- *
- * Discussion:
- * If the drawer window is currently visible, this API returns the
- * parent window edge on which the drawer is displayed. If the
- * drawer is not visible, this API determines on which edge of the
- * parent window the drawer should be displayed, given the current
- * size of the drawer, position of the parent, and preferred edge
- * for the drawer.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window whose current edge to retrieve.
- *
- * Result:
- * The current edge of the drawer window.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OptionBits)
- GetDrawerCurrentEdge(WindowRef inDrawerWindow);
-
-
- /*
- * GetDrawerState()
- *
- * Summary:
- * Returns the current state of a drawer: opening, open, closing, or
- * closed.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window whose state to retrieve.
- *
- * Result:
- * The current state of the drawer window.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(WindowDrawerState)
- GetDrawerState(WindowRef inDrawerWindow);
-
-
- /*
- * GetDrawerParent()
- *
- * Summary:
- * Returns the parent window of a drawer.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window whose parent window to retrieve.
- *
- * Result:
- * The drawer's parent window, or NULL if the drawer has no assigned
- * parent.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(WindowRef)
- GetDrawerParent(WindowRef inDrawerWindow);
-
-
- /*
- * SetDrawerParent()
- *
- * Summary:
- * Sets the parent window of a drawer.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window whose parent window to set.
- *
- * inParent:
- * The drawer's new parent window, or NULL if the drawer should
- * have no parent.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetDrawerParent(
- WindowRef inDrawerWindow,
- WindowRef inParent);
-
-
-
- /*
- * kWindowOffsetUnchanged
- *
- * Discussion:
- * Pass this value to SetDrawerOffsets to indicate that an existing
- * offset should not be changed.
- */
+/*
+ --------------------------------------------------------------------------------------
+ o.Latent window visibility
+ --------------------------------------------------------------------------------------
+*/
+
+
+/*
+ * WindowLatentVisibility
+ *
+ * Summary:
+ * Reasons why a window is currently invisible when ordinarily it
+ * would be visible.
+ */
+typedef UInt32 WindowLatentVisibility;
+enum {
+
+ /*
+ * Window is a floater and floating windows are hidden
+ */
+ kWindowLatentVisibleFloater = 1 << 0,
+
+ /*
+ * Window has HideOnSuspend and we are suspended
+ */
+ kWindowLatentVisibleSuspend = 1 << 1,
+
+ /*
+ * Window has HideOnFullScreen and we are full-screen
+ */
+ kWindowLatentVisibleFullScreen = 1 << 2,
+
+ /*
+ * Window's process is hidden
+ */
+ kWindowLatentVisibleAppHidden = 1 << 3,
+
+ /*
+ * Window is in an owned group and the owner was collapsed
+ */
+ kWindowLatentVisibleCollapsedOwner = 1 << 4,
+
+ /*
+ * Window is in a HideOnCollapse group and another window in the
+ * group was collapsed
+ */
+ kWindowLatentVisibleCollapsedGroup = 1 << 5
+};
+
+/*
+ * IsWindowLatentVisible()
+ *
+ * Summary:
+ * Indicates whether a window is visible onscreen and also whether
+ * it is latently visible but not currently onscreen.
+ *
+ * Discussion:
+ * All windows are either onscreen or offscreen. A window that is
+ * offscreen may still be latently visible; this occurs, for
+ * example, when a floating window is hidden as an application is
+ * suspended. The floating window is not visible onscreen, but it is
+ * latently visible and is only hidden due to the suspended state of
+ * the application; when the application becomes active again, the
+ * floating window will be placed back onscreen.
+ * IsWindowLatentVisible may be used to determine both the window's
+ * onscreen/offscreen status and its latent visibility (if the
+ * window is offscreen).
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose visibility to return.
+ *
+ * outLatentVisible:
+ * If the window is onscreen, the latent visibility is zero. If
+ * the window is offscreen, this parameter is used to return the
+ * latent visibility flags of the window. If any of the flags are
+ * set, then the window is latently visible.
+ *
+ * Result:
+ * Indicates whether the window is currently onscreen.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( Boolean )
+IsWindowLatentVisible(
+ WindowRef inWindow,
+ WindowLatentVisibility * outLatentVisible); /* can be NULL */
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/*
+ o Sheets
+
+ Sheets are a new user interface object in Mac OS X. A sheet is a modal alert or dialog,
+ but unlike a traditional alert or dialog window (which is visually separate from the
+ frontmost document window), a sheet appears to be attached to its parent window; it
+ moves and z-orders simultaneously with its parent. Furthermore, sheets on Mac OS X
+ use a new type of modality called window modality. A traditional alert or dialog is
+ app-modal; it prevents user interaction with all other windows in the current application.
+ A sheet is window-modal; it only prevents user interaction with its parent window, and
+ events continue to flow to other windows in the application.
+
+ o Sheet Event Handling
+
+ Implementing a sheet window in your application generally requires some modifications
+ to your event-handling code. A traditional app-modal window is implemented using a modal
+ event loop; your application starts a new event loop (either by processing events itself,
+ or by calling ModalDialog), which does not return back to your application's main event
+ loop until the app-modal window has closed.
+
+ Starting a new event loop doesn't work with sheets, because typically the modal event loop
+ will only handle events destined for the sheet, and not events for other windows, but
+ a sheet only blocks events for its parent window, and your application must still handle
+ events for the rest of its windows as normal. Therefore, you will usually not use a modal
+ event loop to handle events in a sheet. Rather, you will show the sheet window, and then
+ return directly back to your main event loop. The Carbon Event Manager automatically
+ prevents events in the sheet's parent window from reaching it; events in your application's
+ other windows are still returned to you via WaitNextEvent or your application's Carbon
+ event handlers, where you can process them as normal.
+
+ You have several choices for handling events in the sheet itself. A sheet is, at the most
+ basic level, simply another window in your application, and you can use any of the standard
+ event-handling APIs to receive events in the sheet. For example, you can:
+
+ - receive events in the sheet via WaitNextEvent, and handle them directly in your
+ main event loop
+
+ - create the sheet using Dialog Manager APIs, and use IsDialogEvent and DialogSelect
+ to handle events in the sheet
+
+ - install Carbon event handlers on the sheet, and respond to events in your handlers
+
+ Which approach you choose is up to you.
+
+ o Sheets in CarbonLib
+
+ The sheet window class, sheet WDEF procIDs, and ShowSheetWindow, HideSheetWindow, and
+ GetSheetWindowParent APIs are implemented in CarbonLib starting with version 1.3. However,
+ since Mac OS 8 and 9 do not traditionally support a window-modal user interface, sheet
+ windows are displayed as app-modal windows by CarbonLib. From your application's perspective,
+ event handling for a sheet in CarbonLib is the same as event handling for a sheet on X;
+ ShowSheetWindow still returns immediately, and your application should still return back
+ to its main event loop and be prepared to handle events in other windows. On CarbonLib,
+ your application will simply never receive an user input in any of your other windows;
+ since the sheet has application modality, the Carbon Event Manager will discard events
+ in any windows other than the sheet.
+
+ o.Creating a Sheet
+
+ A sheet is just a normal window with a special window class: kSheetWindowClass or
+ kSheetAlertWindowClass. As such, it can be created in any of the ways you might create
+ a window: NewWindow, NewCWindow, CreateNewWindow, GetNewWindow, GetNewCWindow,
+ CreateWindowFromCollection, CreateWindowFromResource, CreateWindowFromNib, NewDialog,
+ NewColorDialog, NewFeaturesDialog, or GetNewDialog.
+
+ The Window Manager defines two window classes and two WDEF procIDs for sheets:
+
+ - kSheetWindowClass and kSheetAlertWindowClass
+ - kWindowSheetProc and kWindowSheetAlertProc
+
+ The window classes may be used with CreateNewWindow, CreateWindowFromCollection, and
+ CreateWindowFromResource; the WDEF procIDs may be used with NewWindow, NewCWindow, NewDialog,
+ NewColorDialog, NewFeaturesDialog, and in 'WDEF' and 'DLOG' resources.
+
+ The first release of Mac OS X only supports kSheetWindowClass and kWindowSheetProc;
+ it does not support kSheetAlertWindowClass or kWindowSheetAlertProc. The latter window
+ class and procID were added in CarbonLib 1.3 and will be added to a future version of
+ Mac OS X. A new window class and procID were necessary for CarbonLib support because
+ sheets can be used for both alerts ("Do you want to save changes before closing this
+ window?") and dialogs (a Navigation Services PutFile dialog). On Mac OS X, sheet windows
+ have the same appearance when used for either an alert or a dialog, but on Mac OS 8 and 9,
+ alert windows have a different appearance from dialog windows. Two separate window classes
+ are necessary for CarbonLib to know whether to display a sheet using a movable alert or a
+ movable dialog window. Therefore, it is recommended that you use kSheetAlertWindowClass when
+ creating a sheet window that will be used to display an alert, although this is not required.
+
+ o Displaying a Sheet
+
+ A sheet is made visible by calling the ShowSheetWindow API. This API shows the sheet,
+ using whatever visual effects are appropriate for the platform, and then returns immediately.
+ On Mac OS X, it creates a window group and places the sheet and its parent window into the
+ group; it also marks the sheet as window-modal. On CarbonLib, it marks the sheet as app-modal
+ but does not create a window group.
+
+ On Mac OS X, before the sheet window is actually made visible, ShowSheetWindow sends a
+ kEventWindowDrawContent event to the sheet window, asking it to draw its content into the
+ window's offscreen buffer. The sheet must handle this event, or its content area will be
+ blank after the sheet becomes visible.
+
+ In some cases, this handler is automatically provided for you:
+
+ - If you create your sheet window using the Dialog Manager, the Dialog Manager
+ automatically installs a handler for this event that calls DrawDialog, so you
+ don't need to install the handler yourself.
+
+ - If you install the standard Carbon window event handler on your sheet window
+ (using kWindowStandardHandlerAttribute or InstallStandardEventHandler), the
+ standard handler automatically handles this event and calls DrawControls.
+
+ Typically, your event handling code (whether it uses WaitNextEvent, the Dialog Manager,
+ or Carbon event handlers) will receive and respond to events in the sheet until the
+ user does something that should cause the sheet to close. This might be clicking in an
+ OK or Cancel button, for example. At that time, your event handling code should call
+ HideSheetWindow. The sheet window will hide, but will not be destroyed, so you can use
+ it again later if you want.
+*/
+/*
+ * ShowSheetWindow()
+ *
+ * Summary:
+ * Shows a sheet window using appropriate visual effects.
+ *
+ * Discussion:
+ * ShowSheetWindow is implemented in both CarbonLib 1.3 and Mac OS
+ * X. Since Mac OS 9 does not use a window-modal user interface for
+ * alerts and dialogs, ShowSheetWindow in CarbonLib does not bind
+ * the sheet to the parent window in the same way that it does on
+ * Mac OS X; instead, it shows the sheet like a standard
+ * movable-modal dialog window. Sheet windows must use the window
+ * classes kSheetWindowClass or kSheetAlertWindowClass to get the
+ * right appearance on both platforms.
+ *
+ * Parameters:
+ *
+ * inSheet:
+ * The sheet window to show.
+ *
+ * inParentWindow:
+ * The sheet's parent window.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ShowSheetWindow(
+ WindowRef inSheet,
+ WindowRef inParentWindow);
+
+
+/*
+ * HideSheetWindow()
+ *
+ * Summary:
+ * Hides a sheet window using appropriate visual effects.
+ *
+ * Parameters:
+ *
+ * inSheet:
+ * The sheet window to hide.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+HideSheetWindow(WindowRef inSheet);
+
+
+/*
+ * GetSheetWindowParent()
+ *
+ * Summary:
+ * Returns the parent window of a sheet.
+ *
+ * Parameters:
+ *
+ * inSheet:
+ * The sheet window whose parent to retrieve.
+ *
+ * outParentWindow:
+ * On exit, contains the parent window of the sheet.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetSheetWindowParent(
+ WindowRef inSheet,
+ WindowRef * outParentWindow);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/*
+ o Drawers
+
+ Drawers are supported in Carbon by Jaguar and later. To create and use a drawer:
+
+ - Create a window using kDrawerWindowClass. You may optionally set the background
+ brush of the window to kThemeBrushDrawerBackground using the SetThemeWindowBackground
+ function.
+
+ - Either install the standard window event handler on the drawer window, or use
+ your own Carbon event or WaitNextEvent code to handle user interaction with the
+ drawer. If you do not use the standard window event handler, you should call
+ ResizeWindow in response to clicks on the grow region of the drawer if you want
+ the drawer to be resizable.
+
+ - Install a handler on the drawer window for the kEventWindowDrawContent event.
+ You must handle this event and draw your drawer's content so that the content
+ will be visible when the drawer is slid out from underneath the parent window.
+
+ - Set the drawer's parent window with the SetDrawerParent function. The parent is
+ the window on which the drawer will open.
+
+ - Optionally, install a Carbon event handler on the drawer or the drawer's parent
+ window for the kEventWindowDrawerOpening/Opened/Closing/Closed events, to be notified
+ when the drawer has started or finished opening or closing.
+
+ - Optionally, set the drawer's preferred edge on the parent window with the
+ SetDrawerPreferredEdge function. If you do not set a preferred edge, the drawer
+ opens on the parent's left side on a left-to-right system, or on the parent's right
+ side on a right-to-left system.
+
+ - Optionally, Set the drawer's offsets with the SetDrawerOffsets function. The offsets
+ control the amount of inset between the edge of the parent's content area and the edge
+ of the drawer's structure. If you do not set any offsets, the drawer's edges are flush
+ with the edges of the parent's content.
+
+ - Optionally, set the drawer's minimum and maximum sizes with the SetWindowResizeLimits
+ function. Or, install a Carbon event handler on the drawer to handle the kEventWindow-
+ GetMinimumSize and kEventWindowGetMaximumSize events. The drawer's minimum and maximum
+ sizes control how small or large it will resize together with the parent. If you do not
+ set resize limits, the drawer will be capable of resizing to default small and large
+ limits.
+
+ - Call ToggleDrawer to open or close the drawer, or use OpenDrawer or CloseDrawer if
+ you require more control over how the drawer opens or closes.
+*/
+
+/*
+ * Summary:
+ * Indicates the parent window edge on which a drawer will be shown.
+ */
+enum {
+
+ /*
+ * This constant is typically used with the OpenDrawer API; it
+ * indicates that the drawer should be opened on whatever edge of the
+ * parent window has previously been set as the drawer's preferred
+ * edge.
+ */
+ kWindowEdgeDefault = 0,
+
+ /*
+ * The drawer should open on the top edge of the parent window.
+ */
+ kWindowEdgeTop = 1 << 0,
+
+ /*
+ * The drawer should open on the left edge of the parent window.
+ */
+ kWindowEdgeLeft = 1 << 1,
+
+ /*
+ * The drawer should open on the bottom edge of the parent window.
+ */
+ kWindowEdgeBottom = 1 << 2,
+
+ /*
+ * The drawer should open on the right edge of the parent window.
+ */
+ kWindowEdgeRight = 1 << 3
+};
+
+
+/*
+ * Summary:
+ * Indicates the current state of a drawer window.
+ */
+enum {
+
+ /*
+ * The drawer is opening, but is not yet fully open.
+ */
+ kWindowDrawerOpening = 1,
+
+ /*
+ * The drawer is fully open.
+ */
+ kWindowDrawerOpen = 2,
+
+ /*
+ * The drawer is closing, but is not yet fully closed.
+ */
+ kWindowDrawerClosing = 3,
+
+ /*
+ * The drawer is fully closed.
+ */
+ kWindowDrawerClosed = 4
+};
+
+typedef UInt32 WindowDrawerState;
+
+/*
+ * GetDrawerPreferredEdge()
+ *
+ * Summary:
+ * Returns the preferred parent window edge of a drawer.
+ *
+ * Discussion:
+ * Drawers start out with a preferred parent window edge of
+ * kWindowEdgeDefault. On left-to-right systems, the default edge is
+ * the left edge of the parent window; on right-to-left systems, the
+ * default edge is the right edge. You can set the preferred edge
+ * with SetDrawerPreferredEdge. If there's not enough room on the
+ * preferred edge, the drawer will automatically switch to the
+ * opposite edge.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window whose preferred edge to retrieve.
+ *
+ * Result:
+ * The preferred edge of the drawer window.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OptionBits )
+GetDrawerPreferredEdge(WindowRef inDrawerWindow);
+
+
+/*
+ * SetDrawerPreferredEdge()
+ *
+ * Summary:
+ * Sets the preferred parent window edge of a drawer.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window whose preferred edge to set.
+ *
+ * inEdge:
+ * The preferred edge of the drawer window. Note that although the
+ * WindowEdge enumeration has values appropriate for a bitfield,
+ * the current implementation does not support receiving more than
+ * one edge bit in this parameter. You can also pass
+ * kWindowEdgeDefault to allow the Window Manager to pick an edge.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetDrawerPreferredEdge(
+ WindowRef inDrawerWindow,
+ OptionBits inEdge);
+
+
+/*
+ * GetDrawerCurrentEdge()
+ *
+ * Summary:
+ * Returns the current parent window edge on which a drawer is
+ * displayed.
+ *
+ * Discussion:
+ * If the drawer window is currently visible, this API returns the
+ * parent window edge on which the drawer is displayed. If the
+ * drawer is not visible, this API determines on which edge of the
+ * parent window the drawer should be displayed, given the current
+ * size of the drawer, position of the parent, and preferred edge
+ * for the drawer.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window whose current edge to retrieve.
+ *
+ * Result:
+ * The current edge of the drawer window.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OptionBits )
+GetDrawerCurrentEdge(WindowRef inDrawerWindow);
+
+
+/*
+ * GetDrawerState()
+ *
+ * Summary:
+ * Returns the current state of a drawer: opening, open, closing, or
+ * closed.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window whose state to retrieve.
+ *
+ * Result:
+ * The current state of the drawer window.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( WindowDrawerState )
+GetDrawerState(WindowRef inDrawerWindow);
+
+
+/*
+ * GetDrawerParent()
+ *
+ * Summary:
+ * Returns the parent window of a drawer.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window whose parent window to retrieve.
+ *
+ * Result:
+ * The drawer's parent window, or NULL if the drawer has no assigned
+ * parent.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( WindowRef )
+GetDrawerParent(WindowRef inDrawerWindow);
+
+
+/*
+ * SetDrawerParent()
+ *
+ * Summary:
+ * Sets the parent window of a drawer.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window whose parent window to set.
+ *
+ * inParent:
+ * The drawer's new parent window, or NULL if the drawer should
+ * have no parent.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetDrawerParent(
+ WindowRef inDrawerWindow,
+ WindowRef inParent);
+
+
+
+/*
+ * kWindowOffsetUnchanged
+ *
+ * Discussion:
+ * Pass this value to SetDrawerOffsets to indicate that an existing
+ * offset should not be changed.
+ */
#define kWindowOffsetUnchanged ((float)(-1.0))
- /*
- * SetDrawerOffsets()
- *
- * Summary:
- * Sets the offsets from the beginning and end of the parent window
- * to the beginning and end of the drawer window.
- *
- * Discussion:
- * The drawer offsets control the positioning of the drawer relative
- * to its parent window. When a drawer is first created, its offsets
- * are zero. When a drawer is positioned, it is initially given a
- * height or width equal to the height or width of the content area
- * of the parent to which it is attached. If a drawer is opening on
- * the left side of its parent, for example, the drawer's height
- * will be the height of the parent's content area. In this case,
- * the top side of the drawer window is called the leading edge of
- * the drawer, and the bottom side of the drawer window is called
- * the trailing edge of the drawer. The drawer's size is then
- * adjusted by the leading and trailing offsets. The leading edge of
- * the drawer is moved inward by an amount equal to the leading
- * offset, and the trailing edge is moved inward by an amount equal
- * to the trailing offset. For example, if the leading and trailing
- * offsets are five and fifteen, then the top edge of a left-opening
- * drawer will be five pixels inside the top edge of the parent
- * window's content area, and the bottom edge of the drawer will be
- * fifteen pixels inside the bottom edge of the parent's content
- * area.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window whose offsets to change.
- *
- * inLeadingOffset:
- * The new leading offset, in pixels. Pass kWindowOffsetUnchanged
- * if you don't want to change the leading offset.
- *
- * inTrailingOffset:
- * The new trailing offset, in pixels. Pass kWindowOffsetUnchanged
- * if you don't want to change the trailing offset.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetDrawerOffsets(
- WindowRef inDrawerWindow,
- float inLeadingOffset,
- float inTrailingOffset);
-
-
- /*
- * GetDrawerOffsets()
- *
- * Summary:
- * Returns the offsets from the beginning and end of the parent
- * window to the beginning and end of the drawer window.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window whose offsets to retrieve.
- *
- * outLeadingOffset:
- * On exit, contains the drawer's leading offset. Pass NULL if you
- * don't need this information returned.
- *
- * outTrailingOffset:
- * On exit, contains the drawer's trailing offset. Pass NULL if
- * you don't need this information returned.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- GetDrawerOffsets(
- WindowRef inDrawerWindow,
- float * outLeadingOffset, /* can be NULL */
- float * outTrailingOffset); /* can be NULL */
-
-
- /*
- * ToggleDrawer()
- *
- * Summary:
- * Toggles a drawer from open to closed, or vice versa.
- *
- * Discussion:
- * ToggleDrawer opens the drawer if it is closed, opening, or
- * closing. If the drawer is open, it closes the drawer.
- * ToggleDrawer attemps to open the drawer on its preferred edge,
- * but if there is not enough room on that edge, it will try the
- * opposite edge instead. If there is insufficient room on either
- * edge, the drawer will open on the preferred edge but may extend
- * offscreen, under the Dock, or under the menubar.
- * The opening or closing of the drawer is performed asynchronously;
- * ToggleDrawer installs an event loop timer that opens or closes
- * the drawer after ToggleDrawer returns to the caller. Therefore,
- * the caller must be running its event loop for the drawer to open
- * or close. To open or close the drawer synchronously, use the
- * OpenDrawer or CloseDrawer APIs.
- * ToggleDrawer retains the drawer window while the drawer is
- * opening or closing, and releases it when the drawer is fully
- * opened or closed.
- * ToggleDrawer sends the kEventWindowDrawerOpening,
- * kEventWindowDrawerOpened, kEventWindowDrawerClosing, and
- * kEventWindowDrawerClosed events as the drawer opens or closes.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window to open or close.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ToggleDrawer(WindowRef inDrawerWindow);
-
-
- /*
- * OpenDrawer()
- *
- * Summary:
- * Opens a drawer on a specified parent window edge.
- *
- * Discussion:
- * OpenDrawer may open the drawer either synchronously or
- * asynchronously, depending on the value of the inAsync parameter.
- * If inAsync is true, OpenDrawer installs an event loop timer that
- * opens the drawer after OpenDrawer returns to the caller;
- * therefore, the caller must be running its event loop for the
- * drawer to open. If inAsync is false, OpenDrawer opens the drawer
- * completely before returning to the caller.
- * OpenDrawer retains the drawer window while the drawer is opening,
- * and releases it when the drawer is fully open.
- * OpenDrawer sends the kEventWindowDrawerOpening event to the
- * drawer, the drawer's parent, and the application before opening
- * the drawer. If an event handler for this event returns
- * userCanceledErr, OpenDrawer will return immediately without
- * opening the drawer. OpenDrawer sends the kEventWindowDrawerOpened
- * event to the drawer, the drawer's parent, and the application
- * after the drawer has finished opening.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window to open.
- *
- * inEdge:
- * The parent window edge on which to open the drawer. Pass
- * kWindowEdgeDefault to use the drawer's preferred edge. If there
- * is not enough room on the preferred edge, OpenDrawer will try
- * the opposite edge instead. If there is insufficient room on
- * either edge, the drawer will open on the preferred edge but may
- * extend offscreen, under the Dock, or under the menubar.
- *
- * inAsync:
- * Whether to open the drawer synchronously (the drawer is
- * entirely opened before the function call returns) or
- * asynchronously (the drawer opens using an event loop timer
- * after the function call returns).
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- OpenDrawer(
- WindowRef inDrawerWindow,
- OptionBits inEdge,
- Boolean inAsync);
-
-
- /*
- * CloseDrawer()
- *
- * Summary:
- * Closes a drawer.
- *
- * Discussion:
- * CloseDrawer may close the drawer either synchronously or
- * asynchronously, depending on the value of the inAsync parameter.
- * If inAsync is true, CloseDrawer installs an event loop timer that
- * closes the drawer after CloseDrawer returns to the caller;
- * therefore, the caller must be running its event loop for the
- * drawer to close. If inAsync is false, CloseDrawer closes the
- * drawer completely before returning to the caller.
- * CloseDrawer retains the drawer window while the drawer is
- * closing, and releases it when the drawer is fully closed.
- * CloseDrawer sends the kEventWindowDrawerClosing event to the
- * drawer, the drawer's parent, and the application before closing
- * the drawer. If an event handler for this event returns
- * userCanceledErr, CloseDrawer will return immediately without
- * closing the drawer. CloseDrawer sends the
- * kEventWindowDrawerClosed event to the drawer, the drawer's
- * parent, and the application after the drawer has finished closing.
- *
- * Parameters:
- *
- * inDrawerWindow:
- * The drawer window to close.
- *
- * inAsync:
- * Whether to close the drawer synchronously (the drawer is
- * entirely closed before the function call returns) or
- * asynchronously (the drawer closes using an event loop timer
- * after the function call returns).
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- CloseDrawer(
- WindowRef inDrawerWindow,
- Boolean inAsync);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Disabling Screen Redraw */
- /*--------------------------------------------------------------------------------------*/
- /*
- disable and enable screen updates for changes to the current application's windows
- (OS X only for now)
- */
-
- /*
- * DisableScreenUpdates()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DisableScreenUpdates(void);
-
-
- /*
- * EnableScreenUpdates()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- EnableScreenUpdates(void);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Toolbars */
- /*--------------------------------------------------------------------------------------*/
+/*
+ * SetDrawerOffsets()
+ *
+ * Summary:
+ * Sets the offsets from the beginning and end of the parent window
+ * to the beginning and end of the drawer window.
+ *
+ * Discussion:
+ * The drawer offsets control the positioning of the drawer relative
+ * to its parent window. When a drawer is first created, its offsets
+ * are zero. When a drawer is positioned, it is initially given a
+ * height or width equal to the height or width of the content area
+ * of the parent to which it is attached. If a drawer is opening on
+ * the left side of its parent, for example, the drawer's height
+ * will be the height of the parent's content area. In this case,
+ * the top side of the drawer window is called the leading edge of
+ * the drawer, and the bottom side of the drawer window is called
+ * the trailing edge of the drawer. The drawer's size is then
+ * adjusted by the leading and trailing offsets. The leading edge of
+ * the drawer is moved inward by an amount equal to the leading
+ * offset, and the trailing edge is moved inward by an amount equal
+ * to the trailing offset. For example, if the leading and trailing
+ * offsets are five and fifteen, then the top edge of a left-opening
+ * drawer will be five pixels inside the top edge of the parent
+ * window's content area, and the bottom edge of the drawer will be
+ * fifteen pixels inside the bottom edge of the parent's content
+ * area.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window whose offsets to change.
+ *
+ * inLeadingOffset:
+ * The new leading offset, in pixels. Pass kWindowOffsetUnchanged
+ * if you don't want to change the leading offset.
+ *
+ * inTrailingOffset:
+ * The new trailing offset, in pixels. Pass kWindowOffsetUnchanged
+ * if you don't want to change the trailing offset.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetDrawerOffsets(
+ WindowRef inDrawerWindow,
+ float inLeadingOffset,
+ float inTrailingOffset);
+
+
+/*
+ * GetDrawerOffsets()
+ *
+ * Summary:
+ * Returns the offsets from the beginning and end of the parent
+ * window to the beginning and end of the drawer window.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window whose offsets to retrieve.
+ *
+ * outLeadingOffset:
+ * On exit, contains the drawer's leading offset. Pass NULL if you
+ * don't need this information returned.
+ *
+ * outTrailingOffset:
+ * On exit, contains the drawer's trailing offset. Pass NULL if
+ * you don't need this information returned.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+GetDrawerOffsets(
+ WindowRef inDrawerWindow,
+ float * outLeadingOffset, /* can be NULL */
+ float * outTrailingOffset); /* can be NULL */
+
+
+/*
+ * ToggleDrawer()
+ *
+ * Summary:
+ * Toggles a drawer from open to closed, or vice versa.
+ *
+ * Discussion:
+ * ToggleDrawer opens the drawer if it is closed, opening, or
+ * closing. If the drawer is open, it closes the drawer.
+ * ToggleDrawer attemps to open the drawer on its preferred edge,
+ * but if there is not enough room on that edge, it will try the
+ * opposite edge instead. If there is insufficient room on either
+ * edge, the drawer will open on the preferred edge but may extend
+ * offscreen, under the Dock, or under the menubar.
+ * The opening or closing of the drawer is performed asynchronously;
+ * ToggleDrawer installs an event loop timer that opens or closes
+ * the drawer after ToggleDrawer returns to the caller. Therefore,
+ * the caller must be running its event loop for the drawer to open
+ * or close. To open or close the drawer synchronously, use the
+ * OpenDrawer or CloseDrawer APIs.
+ * ToggleDrawer retains the drawer window while the drawer is
+ * opening or closing, and releases it when the drawer is fully
+ * opened or closed.
+ * ToggleDrawer sends the kEventWindowDrawerOpening,
+ * kEventWindowDrawerOpened, kEventWindowDrawerClosing, and
+ * kEventWindowDrawerClosed events as the drawer opens or closes.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window to open or close.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ToggleDrawer(WindowRef inDrawerWindow);
+
+
+/*
+ * OpenDrawer()
+ *
+ * Summary:
+ * Opens a drawer on a specified parent window edge.
+ *
+ * Discussion:
+ * OpenDrawer may open the drawer either synchronously or
+ * asynchronously, depending on the value of the inAsync parameter.
+ * If inAsync is true, OpenDrawer installs an event loop timer that
+ * opens the drawer after OpenDrawer returns to the caller;
+ * therefore, the caller must be running its event loop for the
+ * drawer to open. If inAsync is false, OpenDrawer opens the drawer
+ * completely before returning to the caller.
+ * OpenDrawer retains the drawer window while the drawer is opening,
+ * and releases it when the drawer is fully open.
+ * OpenDrawer sends the kEventWindowDrawerOpening event to the
+ * drawer, the drawer's parent, and the application before opening
+ * the drawer. If an event handler for this event returns
+ * userCanceledErr, OpenDrawer will return immediately without
+ * opening the drawer. OpenDrawer sends the kEventWindowDrawerOpened
+ * event to the drawer, the drawer's parent, and the application
+ * after the drawer has finished opening.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window to open.
+ *
+ * inEdge:
+ * The parent window edge on which to open the drawer. Pass
+ * kWindowEdgeDefault to use the drawer's preferred edge. If there
+ * is not enough room on the preferred edge, OpenDrawer will try
+ * the opposite edge instead. If there is insufficient room on
+ * either edge, the drawer will open on the preferred edge but may
+ * extend offscreen, under the Dock, or under the menubar.
+ *
+ * inAsync:
+ * Whether to open the drawer synchronously (the drawer is
+ * entirely opened before the function call returns) or
+ * asynchronously (the drawer opens using an event loop timer
+ * after the function call returns).
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+OpenDrawer(
+ WindowRef inDrawerWindow,
+ OptionBits inEdge,
+ Boolean inAsync);
+
+
+/*
+ * CloseDrawer()
+ *
+ * Summary:
+ * Closes a drawer.
+ *
+ * Discussion:
+ * CloseDrawer may close the drawer either synchronously or
+ * asynchronously, depending on the value of the inAsync parameter.
+ * If inAsync is true, CloseDrawer installs an event loop timer that
+ * closes the drawer after CloseDrawer returns to the caller;
+ * therefore, the caller must be running its event loop for the
+ * drawer to close. If inAsync is false, CloseDrawer closes the
+ * drawer completely before returning to the caller.
+ * CloseDrawer retains the drawer window while the drawer is
+ * closing, and releases it when the drawer is fully closed.
+ * CloseDrawer sends the kEventWindowDrawerClosing event to the
+ * drawer, the drawer's parent, and the application before closing
+ * the drawer. If an event handler for this event returns
+ * userCanceledErr, CloseDrawer will return immediately without
+ * closing the drawer. CloseDrawer sends the
+ * kEventWindowDrawerClosed event to the drawer, the drawer's
+ * parent, and the application after the drawer has finished closing.
+ *
+ * Parameters:
+ *
+ * inDrawerWindow:
+ * The drawer window to close.
+ *
+ * inAsync:
+ * Whether to close the drawer synchronously (the drawer is
+ * entirely closed before the function call returns) or
+ * asynchronously (the drawer closes using an event loop timer
+ * after the function call returns).
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+CloseDrawer(
+ WindowRef inDrawerWindow,
+ Boolean inAsync);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Disabling Screen Redraw */
+/*--------------------------------------------------------------------------------------*/
+/*
+ disable and enable screen updates for changes to the current application's windows
+ (OS X only for now)
+*/
+
+/*
+ * DisableScreenUpdates()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DisableScreenUpdates(void);
+
+
+/*
+ * EnableScreenUpdates()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+EnableScreenUpdates(void);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Toolbars */
+/*--------------------------------------------------------------------------------------*/
#define _SetWindowToolbar SetWindowToolbar
- /*
- * SetWindowToolbar()
- *
- * Discussion:
- * Sets the toolbar for a window. If any other toolbar is currently
- * bound to the window, it is released. This API does NOT add the
- * toolbar button to the window, your application must set the
- * attribute itself.
- *
- * Parameters:
- *
- * inWindow:
- * The window to add the toolbar to.
- *
- * inToolbar:
- * The toolbar to add.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowToolbar(
- WindowRef inWindow,
- HIToolbarRef inToolbar);
+/*
+ * SetWindowToolbar()
+ *
+ * Discussion:
+ * Sets the toolbar for a window. If any other toolbar is currently
+ * bound to the window, it is released. This API does NOT add the
+ * toolbar button to the window, your application must set the
+ * attribute itself.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to add the toolbar to.
+ *
+ * inToolbar:
+ * The toolbar to add.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowToolbar(
+ WindowRef inWindow,
+ HIToolbarRef inToolbar);
#define _GetWindowToolbar GetWindowToolbar
- /*
- * GetWindowToolbar()
- *
- * Discussion:
- * Gets the toolbar of a window, if any.
- *
- * Parameters:
- *
- * inWindow:
- * The window to add the toolbar to.
- *
- * outToolbar:
- * The toolbar. You do not own the toolbar reference returned by
- * this function. Do not release it! It is possibly for the
- * toolbar returned to be NULL, indicating there is no toolbar
- * associated with this window. ooo NOTE: May need to change the
- * release strategy here.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowToolbar(
- WindowRef inWindow,
- HIToolbarRef * outToolbar);
+/*
+ * GetWindowToolbar()
+ *
+ * Discussion:
+ * Gets the toolbar of a window, if any.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to add the toolbar to.
+ *
+ * outToolbar:
+ * The toolbar. You do not own the toolbar reference returned by
+ * this function. Do not release it! It is possibly for the
+ * toolbar returned to be NULL, indicating there is no toolbar
+ * associated with this window. ooo NOTE: May need to change the
+ * release strategy here.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowToolbar(
+ WindowRef inWindow,
+ HIToolbarRef * outToolbar);
#define _ShowHideWindowToolbar ShowHideWindowToolbar
- /*
- * ShowHideWindowToolbar()
- *
- * Discussion:
- * Shows or hides a window's toolbar. Optionally, you can ask for
- * the transition to be animated or not. Typically, you would not
- * need to call this other than to set up your window accordingly.
- *
- * Parameters:
- *
- * inWindow:
- * The window to show or hide the toolbar for.
- *
- * inShow:
- * Pass true to show the toolbar, false to hide it.
- *
- * inAnimate:
- * Pass true to animate the transition, false to do it quickly and
- * without fanfare.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- ShowHideWindowToolbar(
- WindowRef inWindow,
- Boolean inShow,
- Boolean inAnimate);
+/*
+ * ShowHideWindowToolbar()
+ *
+ * Discussion:
+ * Shows or hides a window's toolbar. Optionally, you can ask for
+ * the transition to be animated or not. Typically, you would not
+ * need to call this other than to set up your window accordingly.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window to show or hide the toolbar for.
+ *
+ * inShow:
+ * Pass true to show the toolbar, false to hide it.
+ *
+ * inAnimate:
+ * Pass true to animate the transition, false to do it quickly and
+ * without fanfare.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+ShowHideWindowToolbar(
+ WindowRef inWindow,
+ Boolean inShow,
+ Boolean inAnimate);
#define _IsWindowToolbarVisible IsWindowToolbarVisible
- /*
- * IsWindowToolbarVisible()
- *
- * Discussion:
- * Returns whether the toolbar (if any) attached to a window is
- * visible. If the window has no toolbar, false is returned.
- *
- * Parameters:
- *
- * inWindow:
- * The window test the toolbar visiblity for.
- *
- * Result:
- * A boolean result indicating whether the toolbar is visible (true)
- * or not (false).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- IsWindowToolbarVisible(WindowRef inWindow);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Transparency */
- /*--------------------------------------------------------------------------------------*/
- /*
- * SetWindowAlpha()
- *
- * Discussion:
- * Alters the overall alpha of a window, making the entire window
- * (including window frame) either more or less transparent. The
- * alpha is expressed as a floating point value from 0.0 (completely
- * transparent) to 1.0 (completely opaque).
- *
- * Parameters:
- *
- * inWindow:
- * The window whose alpha to modify.
- *
- * inAlpha:
- * The new alpha value.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetWindowAlpha(
- WindowRef inWindow,
- float inAlpha);
-
-
-
- /*
- * GetWindowAlpha()
- *
- * Discussion:
- * Returns the current overall alpha value for a window. The alpha
- * is expressed as a floating point value from 0.0 (completely
- * transparent) to 1.0 (completely opaque).
- *
- * Parameters:
- *
- * inWindow:
- * The window whose alpha to return.
- *
- * outAlpha:
- * On exit, contains the window's current alpha value.
- *
- * Result:
- * An operating system result code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetWindowAlpha(
- WindowRef inWindow,
- float * outAlpha);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Properties */
- /*--------------------------------------------------------------------------------------*/
- /*
- Routines available from Mac OS 8.5 forward
- or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
- */
-
- /*
- * GetWindowProperty()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowProperty(
- WindowRef window,
- PropertyCreator propertyCreator,
- PropertyTag propertyTag,
- UInt32 bufferSize,
- UInt32 * actualSize, /* can be NULL */
- void * propertyBuffer);
-
-
- /*
- * GetWindowPropertySize()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowPropertySize(
- WindowRef window,
- PropertyCreator creator,
- PropertyTag tag,
- UInt32 * size);
-
-
- /*
- * SetWindowProperty()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetWindowProperty(
- WindowRef window,
- PropertyCreator propertyCreator,
- PropertyTag propertyTag,
- UInt32 propertySize,
- const void * propertyBuffer);
-
-
- /*
- * RemoveWindowProperty()
- *
- * Availability:
- * Non-Carbon CFM: in WindowsLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveWindowProperty(
- WindowRef window,
- PropertyCreator propertyCreator,
- PropertyTag propertyTag);
-
-
-
- /* Routines available from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward*/
-
- enum
- {
- kWindowPropertyPersistent = 0x00000001 /* whether this property gets saved when flattening the window */
- };
-
- /*
- * GetWindowPropertyAttributes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetWindowPropertyAttributes(
- WindowRef window,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 * attributes);
-
-
- /*
- * ChangeWindowPropertyAttributes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ChangeWindowPropertyAttributes(
- WindowRef window,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 attributesToSet,
- UInt32 attributesToClear);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Utilities */
- /*--------------------------------------------------------------------------------------*/
- /*
- * PinRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- PinRect(
- const Rect * theRect,
- Point thePt) ONEWORDINLINE(0xA94E);
-
-
-
- /*
- * GetGrayRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RgnHandle)
- GetGrayRgn(void) TWOWORDINLINE(0x2EB8, 0x09EE);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Window Part Tracking */
- /*--------------------------------------------------------------------------------------*/
- /*
- * TrackBox()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- TrackBox(
- WindowRef window,
- Point thePt,
- WindowPartCode partCode) ONEWORDINLINE(0xA83B);
-
-
- /*
- * TrackGoAway()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- TrackGoAway(
- WindowRef window,
- Point thePt) ONEWORDINLINE(0xA91E);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Region Dragging */
- /*--------------------------------------------------------------------------------------*/
- /*
- * DragGrayRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- DragGrayRgn(
- RgnHandle theRgn,
- Point startPt,
- const Rect * limitRect,
- const Rect * slopRect,
- short axis,
- DragGrayRgnUPP actionProc) ONEWORDINLINE(0xA905);
-
-
- /*
- * DragTheRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- DragTheRgn(
- RgnHandle theRgn,
- Point startPt,
- const Rect * limitRect,
- const Rect * slopRect,
- short axis,
- DragGrayRgnUPP actionProc) ONEWORDINLINE(0xA926);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o GetAuxWin */
- /* */
- /* GetAuxWin is not available in Carbon */
- /*--------------------------------------------------------------------------------------*/
+/*
+ * IsWindowToolbarVisible()
+ *
+ * Discussion:
+ * Returns whether the toolbar (if any) attached to a window is
+ * visible. If the window has no toolbar, false is returned.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window test the toolbar visiblity for.
+ *
+ * Result:
+ * A boolean result indicating whether the toolbar is visible (true)
+ * or not (false).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+IsWindowToolbarVisible(WindowRef inWindow);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Transparency */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * SetWindowAlpha()
+ *
+ * Discussion:
+ * Alters the overall alpha of a window, making the entire window
+ * (including window frame) either more or less transparent. The
+ * alpha is expressed as a floating point value from 0.0 (completely
+ * transparent) to 1.0 (completely opaque).
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose alpha to modify.
+ *
+ * inAlpha:
+ * The new alpha value.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetWindowAlpha(
+ WindowRef inWindow,
+ float inAlpha);
+
+
+
+/*
+ * GetWindowAlpha()
+ *
+ * Discussion:
+ * Returns the current overall alpha value for a window. The alpha
+ * is expressed as a floating point value from 0.0 (completely
+ * transparent) to 1.0 (completely opaque).
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window whose alpha to return.
+ *
+ * outAlpha:
+ * On exit, contains the window's current alpha value.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetWindowAlpha(
+ WindowRef inWindow,
+ float * outAlpha);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Properties */
+/*--------------------------------------------------------------------------------------*/
+/*
+ Routines available from Mac OS 8.5 forward
+ or from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward
+*/
+
+/*
+ * GetWindowProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowProperty(
+ WindowRef window,
+ PropertyCreator propertyCreator,
+ PropertyTag propertyTag,
+ UInt32 bufferSize,
+ UInt32 * actualSize, /* can be NULL */
+ void * propertyBuffer);
+
+
+/*
+ * GetWindowPropertySize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowPropertySize(
+ WindowRef window,
+ PropertyCreator creator,
+ PropertyTag tag,
+ UInt32 * size);
+
+
+/*
+ * SetWindowProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetWindowProperty(
+ WindowRef window,
+ PropertyCreator propertyCreator,
+ PropertyTag propertyTag,
+ UInt32 propertySize,
+ const void * propertyBuffer);
+
+
+/*
+ * RemoveWindowProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in WindowsLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveWindowProperty(
+ WindowRef window,
+ PropertyCreator propertyCreator,
+ PropertyTag propertyTag);
+
+
+
+/* Routines available from Mac OS 8.1 forward when linking to CarbonLib 1.0 forward*/
+
+enum {
+ kWindowPropertyPersistent = 0x00000001 /* whether this property gets saved when flattening the window */
+};
+
+/*
+ * GetWindowPropertyAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetWindowPropertyAttributes(
+ WindowRef window,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 * attributes);
+
+
+/*
+ * ChangeWindowPropertyAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ChangeWindowPropertyAttributes(
+ WindowRef window,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 attributesToSet,
+ UInt32 attributesToClear);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Utilities */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * PinRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+PinRect(
+ const Rect * theRect,
+ Point thePt) ONEWORDINLINE(0xA94E);
+
+
+
+/*
+ * GetGrayRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetGrayRgn(void) TWOWORDINLINE(0x2EB8, 0x09EE);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Window Part Tracking */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * TrackBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+TrackBox(
+ WindowRef window,
+ Point thePt,
+ WindowPartCode partCode) ONEWORDINLINE(0xA83B);
+
+
+/*
+ * TrackGoAway()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+TrackGoAway(
+ WindowRef window,
+ Point thePt) ONEWORDINLINE(0xA91E);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Region Dragging */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * DragGrayRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+DragGrayRgn(
+ RgnHandle theRgn,
+ Point startPt,
+ const Rect * limitRect,
+ const Rect * slopRect,
+ short axis,
+ DragGrayRgnUPP actionProc) ONEWORDINLINE(0xA905);
+
+
+/*
+ * DragTheRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+DragTheRgn(
+ RgnHandle theRgn,
+ Point startPt,
+ const Rect * limitRect,
+ const Rect * slopRect,
+ short axis,
+ DragGrayRgnUPP actionProc) ONEWORDINLINE(0xA926);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o GetAuxWin */
+/* */
+/* GetAuxWin is not available in Carbon */
+/*--------------------------------------------------------------------------------------*/
#if !OPAQUE_TOOLBOX_STRUCTS
#if CALL_NOT_IN_CARBON
- /*
- * GetAuxWin()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- GetAuxWin(
- WindowRef window,
- AuxWinHandle * awHndl) ONEWORDINLINE(0xAA42);
+/*
+ * GetAuxWin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+GetAuxWin(
+ WindowRef window,
+ AuxWinHandle * awHndl) ONEWORDINLINE(0xAA42);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /*--------------------------------------------------------------------------------------*/
- /* o C Glue */
- /*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o C Glue */
+/*--------------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
- /*
- * setwtitle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- setwtitle(
- WindowRef window,
- const char * title);
-
-
- /*
- * trackgoaway()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- trackgoaway(
- WindowRef window,
- Point * thePt);
-
-
- /*
- * findwindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- findwindow(
- Point * thePoint,
- WindowRef * window);
-
-
- /*
- * getwtitle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getwtitle(
- WindowRef window,
- char * title);
-
-
- /*
- * growwindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- growwindow(
- WindowRef window,
- Point * startPt,
- const Rect * bBox);
-
-
- /*
- * newwindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(WindowRef)
- newwindow(
- void * wStorage,
- const Rect * boundsRect,
- const char * title,
- Boolean visible,
- short theProc,
- WindowRef behind,
- Boolean goAwayFlag,
- long refCon);
-
-
- /*
- * newcwindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(WindowRef)
- newcwindow(
- void * wStorage,
- const Rect * boundsRect,
- const char * title,
- Boolean visible,
- short procID,
- WindowRef behind,
- Boolean goAwayFlag,
- long refCon);
-
-
- /*
- * pinrect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- pinrect(
- const Rect * theRect,
- Point * thePt);
-
-
- /*
- * trackbox()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- trackbox(
- WindowRef window,
- Point * thePt,
- short partCode);
-
-
- /*
- * draggrayrgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- draggrayrgn(
- RgnHandle theRgn,
- Point * startPt,
- const Rect * boundsRect,
- const Rect * slopRect,
- short axis,
- DragGrayRgnUPP actionProc);
-
-
- /*
- * dragwindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- dragwindow(
- WindowRef window,
- Point * startPt,
- const Rect * boundsRect);
+/*
+ * setwtitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+setwtitle(
+ WindowRef window,
+ const char * title);
+
+
+/*
+ * trackgoaway()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+trackgoaway(
+ WindowRef window,
+ Point * thePt);
+
+
+/*
+ * findwindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+findwindow(
+ Point * thePoint,
+ WindowRef * window);
+
+
+/*
+ * getwtitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getwtitle(
+ WindowRef window,
+ char * title);
+
+
+/*
+ * growwindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+growwindow(
+ WindowRef window,
+ Point * startPt,
+ const Rect * bBox);
+
+
+/*
+ * newwindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( WindowRef )
+newwindow(
+ void * wStorage,
+ const Rect * boundsRect,
+ const char * title,
+ Boolean visible,
+ short theProc,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ long refCon);
+
+
+/*
+ * newcwindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( WindowRef )
+newcwindow(
+ void * wStorage,
+ const Rect * boundsRect,
+ const char * title,
+ Boolean visible,
+ short procID,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ long refCon);
+
+
+/*
+ * pinrect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+pinrect(
+ const Rect * theRect,
+ Point * thePt);
+
+
+/*
+ * trackbox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+trackbox(
+ WindowRef window,
+ Point * thePt,
+ short partCode);
+
+
+/*
+ * draggrayrgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+draggrayrgn(
+ RgnHandle theRgn,
+ Point * startPt,
+ const Rect * boundsRect,
+ const Rect * slopRect,
+ short axis,
+ DragGrayRgnUPP actionProc);
+
+
+/*
+ * dragwindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+dragwindow(
+ WindowRef window,
+ Point * startPt,
+ const Rect * boundsRect);
#endif /* CALL_NOT_IN_CARBON */
- /*--------------------------------------------------------------------------------------*/
- /* o Window Accessors */
- /*--------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------*/
+/* o Window Accessors */
+/*--------------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
- /*
- * GetWindowGoAwayFlag()
- *
- * Discussion:
- * use GetWindowAttributes in Carbon
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- GetWindowGoAwayFlag(WindowRef window);
+/*
+ * GetWindowGoAwayFlag()
+ *
+ * Discussion:
+ * use GetWindowAttributes in Carbon
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+GetWindowGoAwayFlag(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(Boolean) GetWindowGoAwayFlag(WindowRef window)
- {
- return ((WindowPeek)window)->goAwayFlag;
- }
-#else
-#define GetWindowGoAwayFlag(window) (((WindowPeek)window)->goAwayFlag)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Boolean ) GetWindowGoAwayFlag(WindowRef window) { return ((WindowPeek)window)->goAwayFlag; }
+ #else
+ #define GetWindowGoAwayFlag(window) (((WindowPeek)window)->goAwayFlag)
+ #endif
#endif
- /*
- * GetWindowSpareFlag()
- *
- * Discussion:
- * use GetWindowAttributes in Carbon
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- GetWindowSpareFlag(WindowRef window);
+/*
+ * GetWindowSpareFlag()
+ *
+ * Discussion:
+ * use GetWindowAttributes in Carbon
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+GetWindowSpareFlag(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(Boolean) GetWindowSpareFlag(WindowRef window)
- {
- return ((WindowPeek)window)->spareFlag;
- }
-#else
-#define GetWindowSpareFlag(window) (((WindowPeek)window)->spareFlag)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Boolean ) GetWindowSpareFlag(WindowRef window) { return ((WindowPeek)window)->spareFlag; }
+ #else
+ #define GetWindowSpareFlag(window) (((WindowPeek)window)->spareFlag)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetWindowList()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetWindowList(void);
-
-
-
- /*
- * GetWindowPort()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CGrafPtr)
- GetWindowPort(WindowRef window);
+/*
+ * GetWindowList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetWindowList(void);
+
+
+
+/*
+ * GetWindowPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CGrafPtr )
+GetWindowPort(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(CGrafPtr) GetWindowPort(WindowRef window)
- {
- return (CGrafPtr)window;
- }
-#else
-#define GetWindowPort(window) ((CGrafPtr)window)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(CGrafPtr ) GetWindowPort(WindowRef window) { return (CGrafPtr)window; }
+ #else
+ #define GetWindowPort(window) ((CGrafPtr)window)
+ #endif
#endif
- /*
- * GetWindowStructurePort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CGrafPtr)
- GetWindowStructurePort(WindowRef inWindow);
-
-
-
- /*
- * GetWindowKind()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetWindowKind(WindowRef window);
+/*
+ * GetWindowStructurePort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CGrafPtr )
+GetWindowStructurePort(WindowRef inWindow);
+
+
+
+/*
+ * GetWindowKind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetWindowKind(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(short) GetWindowKind(WindowRef window)
- {
- return ((WindowPeek)window)->windowKind;
- }
-#else
-#define GetWindowKind(window) (((WindowPeek)window)->windowKind)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(short ) GetWindowKind(WindowRef window) { return ((WindowPeek)window)->windowKind; }
+ #else
+ #define GetWindowKind(window) (((WindowPeek)window)->windowKind)
+ #endif
#endif
- /*
- * IsWindowHilited()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsWindowHilited(WindowRef window);
+/*
+ * IsWindowHilited()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsWindowHilited(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(Boolean) IsWindowHilited(WindowRef window)
- {
- return ((WindowPeek)window)->hilited != 0;
- }
-#else
-#define IsWindowHilited(window) (((WindowPeek)window)->hilited != 0)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Boolean ) IsWindowHilited(WindowRef window) { return ((WindowPeek)window)->hilited != 0; }
+ #else
+ #define IsWindowHilited(window) (((WindowPeek)window)->hilited != 0)
+ #endif
#endif
- /*
- * IsWindowUpdatePending()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsWindowUpdatePending(WindowRef window);
+/*
+ * IsWindowUpdatePending()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsWindowUpdatePending(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(Boolean) IsWindowUpdatePending(WindowRef window)
- {
- return (((WindowPeek) window)->updateRgn != NULL) && !EmptyRgn(((WindowPeek) window)->updateRgn);
- }
-#else
-#define IsWindowUpdatePending(window) ((((WindowPeek) window)->updateRgn != NULL) && !EmptyRgn(((WindowPeek) window)->updateRgn))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Boolean ) IsWindowUpdatePending(WindowRef window) { return (((WindowPeek) window)->updateRgn != NULL) && !EmptyRgn(((WindowPeek) window)->updateRgn); }
+ #else
+ #define IsWindowUpdatePending(window) ((((WindowPeek) window)->updateRgn != NULL) && !EmptyRgn(((WindowPeek) window)->updateRgn))
+ #endif
#endif
- /*
- * [Mac]GetNextWindow()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * [Mac]GetNextWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacGetNextWindow GetNextWindow
+ #define MacGetNextWindow GetNextWindow
#endif
- EXTERN_API(WindowRef)
- MacGetNextWindow(WindowRef window);
+EXTERN_API( WindowRef )
+MacGetNextWindow(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(WindowRef) MacGetNextWindow(WindowRef window)
- {
- return (WindowRef)(((WindowPeek)window)->nextWindow);
- }
-#else
-#if TARGET_OS_MAC
-#define GetNextWindow(window) ((WindowRef)(((WindowPeek)window)->nextWindow))
-#else
-#define MacGetNextWindow(window) ((WindowRef)(((WindowPeek)window)->nextWindow))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(WindowRef ) MacGetNextWindow(WindowRef window) { return (WindowRef)(((WindowPeek)window)->nextWindow); }
+ #else
+ #if TARGET_OS_MAC
+ #define GetNextWindow(window) ((WindowRef)(((WindowPeek)window)->nextWindow))
+ #else
+ #define MacGetNextWindow(window) ((WindowRef)(((WindowPeek)window)->nextWindow))
+ #endif
#endif
#endif
- /*
- * GetPreviousWindow()
- *
- * Summary:
- * Returns the window above a given window in the window list.
- *
- * Parameters:
- *
- * inWindow:
- * The window above this window is returned.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(WindowRef)
- GetPreviousWindow(WindowRef inWindow);
-
-
-
- /*
- * GetWindowStandardState()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- GetWindowStandardState(
- WindowRef window,
- Rect * rect);
+/*
+ * GetPreviousWindow()
+ *
+ * Summary:
+ * Returns the window above a given window in the window list.
+ *
+ * Parameters:
+ *
+ * inWindow:
+ * The window above this window is returned.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( WindowRef )
+GetPreviousWindow(WindowRef inWindow);
+
+
+
+/*
+ * GetWindowStandardState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+GetWindowStandardState(
+ WindowRef window,
+ Rect * rect);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(Rect *) GetWindowStandardState(WindowRef window, Rect *rect)
- {
- return (*(rect) = ((*(((WindowPeek)window)->dataHandle) == NULL) ? *(rect) : ((Rect*)(*(((WindowPeek)window)->dataHandle)))[1])), (rect);
- }
-#else
-#define GetWindowStandardState(window, rect) ((*(rect) = ((*(((WindowPeek)window)->dataHandle) == NULL) ? *(rect) : ((Rect*)(*(((WindowPeek)window)->dataHandle)))[1])), (rect))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Rect *) GetWindowStandardState(WindowRef window, Rect *rect) { return (*(rect) = ((*(((WindowPeek)window)->dataHandle) == NULL) ? *(rect) : ((Rect*)(*(((WindowPeek)window)->dataHandle)))[1])), (rect); }
+ #else
+ #define GetWindowStandardState(window, rect) ((*(rect) = ((*(((WindowPeek)window)->dataHandle) == NULL) ? *(rect) : ((Rect*)(*(((WindowPeek)window)->dataHandle)))[1])), (rect))
+ #endif
#endif
- /*
- * GetWindowUserState()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- GetWindowUserState(
- WindowRef window,
- Rect * rect);
+/*
+ * GetWindowUserState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+GetWindowUserState(
+ WindowRef window,
+ Rect * rect);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(Rect *) GetWindowUserState(WindowRef window, Rect *rect)
- {
- return (*(rect) = ((*(((WindowPeek)window)->dataHandle) == NULL) ? *(rect) : ((Rect*)(*(((WindowPeek)window)->dataHandle)))[0])), (rect);
- }
-#else
-#define GetWindowUserState(window, rect) ((*(rect) = ((*(((WindowPeek)window)->dataHandle) == NULL) ? *(rect) : ((Rect*)(*(((WindowPeek)window)->dataHandle)))[0])), (rect))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Rect *) GetWindowUserState(WindowRef window, Rect *rect) { return (*(rect) = ((*(((WindowPeek)window)->dataHandle) == NULL) ? *(rect) : ((Rect*)(*(((WindowPeek)window)->dataHandle)))[0])), (rect); }
+ #else
+ #define GetWindowUserState(window, rect) ((*(rect) = ((*(((WindowPeek)window)->dataHandle) == NULL) ? *(rect) : ((Rect*)(*(((WindowPeek)window)->dataHandle)))[0])), (rect))
+ #endif
#endif
- /*
- * SetWindowKind()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetWindowKind(
- WindowRef window,
- short kind);
+/*
+ * SetWindowKind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetWindowKind(
+ WindowRef window,
+ short kind);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(void) SetWindowKind(WindowRef window, short kind)
- {
- ((WindowPeek)window)->windowKind = kind;
- }
-#else
-#define SetWindowKind(window, kind) (((WindowPeek)window)->windowKind = kind)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(void) SetWindowKind(WindowRef window, short kind) { ((WindowPeek)window)->windowKind = kind; }
+ #else
+ #define SetWindowKind(window, kind) (((WindowPeek)window)->windowKind = kind)
+ #endif
#endif
- /*
- * SetWindowStandardState()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetWindowStandardState(
- WindowRef window,
- const Rect * rect);
+/*
+ * SetWindowStandardState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetWindowStandardState(
+ WindowRef window,
+ const Rect * rect);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(void) SetWindowStandardState(WindowRef window, const Rect *rect)
- {
- Rect* stateRects = (Rect*)(*(((WindowPeek)window)->dataHandle));
- if(stateRects != NULL) stateRects[1] = *rect;
- }
-#else
-#define SetWindowStandardState(window, rect) do { Rect* stateRects = (Rect*)(*(((WindowPeek)window)->dataHandle)); if (stateRects != NULL) stateRects[1] = *rect; } while (false)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(void) SetWindowStandardState(WindowRef window, const Rect *rect) { Rect* stateRects = (Rect*)(*(((WindowPeek)window)->dataHandle)); if (stateRects != NULL) stateRects[1] = *rect; }
+ #else
+ #define SetWindowStandardState(window, rect) do { Rect* stateRects = (Rect*)(*(((WindowPeek)window)->dataHandle)); if (stateRects != NULL) stateRects[1] = *rect; } while (false)
+ #endif
#endif
- /*
- * SetWindowUserState()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetWindowUserState(
- WindowRef window,
- const Rect * rect);
+/*
+ * SetWindowUserState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetWindowUserState(
+ WindowRef window,
+ const Rect * rect);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(void) SetWindowUserState(WindowRef window, const Rect *rect)
- {
- Rect* stateRects = (Rect*)(*(((WindowPeek)window)->dataHandle));
- if(stateRects != NULL) stateRects[0] = *rect;
- }
-#else
-#define SetWindowUserState(window, rect) do { Rect* stateRects = (Rect*)(*(((WindowPeek)window)->dataHandle)); if (stateRects != NULL) stateRects[0] = *rect; } while (false)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(void) SetWindowUserState(WindowRef window, const Rect *rect) { Rect* stateRects = (Rect*)(*(((WindowPeek)window)->dataHandle)); if (stateRects != NULL) stateRects[0] = *rect; }
+ #else
+ #define SetWindowUserState(window, rect) do { Rect* stateRects = (Rect*)(*(((WindowPeek)window)->dataHandle)); if (stateRects != NULL) stateRects[0] = *rect; } while (false)
+ #endif
#endif
- /*
- * SetPortWindowPort()
- *
- * Discussion:
- * set the current QuickDraw port to the port associated with the
- * window
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortWindowPort(WindowRef window);
+/*
+ * SetPortWindowPort()
+ *
+ * Discussion:
+ * set the current QuickDraw port to the port associated with the
+ * window
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortWindowPort(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(void) SetPortWindowPort(WindowRef window)
- {
- MacSetPort((GrafPtr)window);
- }
-#else
-#define SetPortWindowPort(window) (MacSetPort((GrafPtr)window))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(void) SetPortWindowPort(WindowRef window) { MacSetPort((GrafPtr)window); }
+ #else
+ #define SetPortWindowPort(window) (MacSetPort((GrafPtr)window))
+ #endif
#endif
- /*
- * GetWindowPortBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- GetWindowPortBounds(
- WindowRef window,
- Rect * bounds);
+/*
+ * GetWindowPortBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+GetWindowPortBounds(
+ WindowRef window,
+ Rect * bounds);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(Rect *) GetWindowPortBounds(WindowRef window, Rect *bounds)
- {
- return ((*(bounds) = (window)->portRect)), (bounds);
- }
-#else
-#define GetWindowPortBounds(window, bounds) (((*(bounds) = (window)->portRect)), (bounds))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(Rect *) GetWindowPortBounds(WindowRef window, Rect *bounds) { return ((*(bounds) = (window)->portRect)), (bounds); }
+ #else
+ #define GetWindowPortBounds(window, bounds) (((*(bounds) = (window)->portRect)), (bounds))
+ #endif
#endif
- /*
- * GetWindowFromPort()
- *
- * Discussion:
- * Needed to 'cast up' to a WindowRef from a GrafPtr
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(WindowRef)
- GetWindowFromPort(CGrafPtr port);
+/*
+ * GetWindowFromPort()
+ *
+ * Discussion:
+ * Needed to 'cast up' to a WindowRef from a GrafPtr
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( WindowRef )
+GetWindowFromPort(CGrafPtr port);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API(WindowRef) GetWindowFromPort(CGrafPtr port)
- {
- return (WindowRef)port;
- }
-#else
-#define GetWindowFromPort(port) ((WindowRef)port)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(WindowRef ) GetWindowFromPort(CGrafPtr port) { return (WindowRef)port; }
+ #else
+ #define GetWindowFromPort(port) ((WindowRef)port)
+ #endif
#endif
@@ -7637,189 +7492,167 @@ extern "C" {
- /* old accessors*/
+/* old accessors*/
#if CALL_NOT_IN_CARBON
- /*
- * GetWindowDataHandle()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Handle)
- GetWindowDataHandle(WindowRef window);
+/*
+ * GetWindowDataHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Handle )
+GetWindowDataHandle(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API_C(Handle) GetWindowDataHandle(WindowRef window)
- {
- return ((WindowPeek)window)->dataHandle;
- }
-#else
-#define GetWindowDataHandle(window) (((WindowPeek)window)->dataHandle)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Handle ) GetWindowDataHandle(WindowRef window) { return ((WindowPeek)window)->dataHandle; }
+ #else
+ #define GetWindowDataHandle(window) (((WindowPeek)window)->dataHandle)
+ #endif
#endif
- /*
- * SetWindowDataHandle()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- SetWindowDataHandle(
- WindowRef window,
- Handle data);
+/*
+ * SetWindowDataHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+SetWindowDataHandle(
+ WindowRef window,
+ Handle data);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API_C(void) SetWindowDataHandle(WindowRef window, Handle data)
- {
- ((WindowPeek)window)->dataHandle = data;
- }
-#else
-#define SetWindowDataHandle(window, data) (((WindowPeek)window)->dataHandle = data)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) SetWindowDataHandle(WindowRef window, Handle data) { ((WindowPeek)window)->dataHandle = data; }
+ #else
+ #define SetWindowDataHandle(window, data) (((WindowPeek)window)->dataHandle = data)
+ #endif
#endif
- /*
- * GetWindowZoomFlag()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- GetWindowZoomFlag(WindowRef window);
+/*
+ * GetWindowZoomFlag()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+GetWindowZoomFlag(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) GetWindowZoomFlag(WindowRef window)
- {
- return ((WindowPeek)window)->spareFlag;
- }
-#else
-#define GetWindowZoomFlag(window) (((WindowPeek)window)->spareFlag)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) GetWindowZoomFlag(WindowRef window) { return ((WindowPeek)window)->spareFlag; }
+ #else
+ #define GetWindowZoomFlag(window) (((WindowPeek)window)->spareFlag)
+ #endif
#endif
- /*
- * GetWindowStructureRgn()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GetWindowStructureRgn(
- WindowRef window,
- RgnHandle r);
+/*
+ * GetWindowStructureRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GetWindowStructureRgn(
+ WindowRef window,
+ RgnHandle r);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API_C(void) GetWindowStructureRgn(WindowRef window, RgnHandle r)
- {
- MacCopyRgn(((WindowPeek)window)->strucRgn, r);
- }
-#else
-#define GetWindowStructureRgn(window, r) (MacCopyRgn(((WindowPeek)window)->strucRgn, r))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) GetWindowStructureRgn(WindowRef window, RgnHandle r) { MacCopyRgn(((WindowPeek)window)->strucRgn, r); }
+ #else
+ #define GetWindowStructureRgn(window, r) (MacCopyRgn(((WindowPeek)window)->strucRgn, r))
+ #endif
#endif
- /*
- * GetWindowContentRgn()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GetWindowContentRgn(
- WindowRef window,
- RgnHandle r);
+/*
+ * GetWindowContentRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GetWindowContentRgn(
+ WindowRef window,
+ RgnHandle r);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API_C(void) GetWindowContentRgn(WindowRef window, RgnHandle r)
- {
- MacCopyRgn(((WindowPeek)window)->contRgn, r);
- }
-#else
-#define GetWindowContentRgn(window, r) (MacCopyRgn(((WindowPeek)window)->contRgn, r))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) GetWindowContentRgn(WindowRef window, RgnHandle r) { MacCopyRgn(((WindowPeek)window)->contRgn, r); }
+ #else
+ #define GetWindowContentRgn(window, r) (MacCopyRgn(((WindowPeek)window)->contRgn, r))
+ #endif
#endif
- /*
- * GetWindowUpdateRgn()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- GetWindowUpdateRgn(
- WindowRef window,
- RgnHandle r);
+/*
+ * GetWindowUpdateRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+GetWindowUpdateRgn(
+ WindowRef window,
+ RgnHandle r);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API_C(void) GetWindowUpdateRgn(WindowRef window, RgnHandle r)
- {
- MacCopyRgn(((WindowPeek)window)->updateRgn, r);
- }
-#else
-#define GetWindowUpdateRgn(window, r) (MacCopyRgn(((WindowPeek)window)->updateRgn, r))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) GetWindowUpdateRgn(WindowRef window, RgnHandle r) { MacCopyRgn(((WindowPeek)window)->updateRgn, r); }
+ #else
+ #define GetWindowUpdateRgn(window, r) (MacCopyRgn(((WindowPeek)window)->updateRgn, r))
+ #endif
#endif
- /*
- * GetWindowTitleWidth()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt16)
- GetWindowTitleWidth(WindowRef window);
+/*
+ * GetWindowTitleWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt16 )
+GetWindowTitleWidth(WindowRef window);
#if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt16) GetWindowTitleWidth(WindowRef window)
- {
- return ((WindowPeek)window)->titleWidth;
- }
-#else
-#define GetWindowTitleWidth(window) (((WindowPeek)window)->titleWidth)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt16 ) GetWindowTitleWidth(WindowRef window) { return ((WindowPeek)window)->titleWidth; }
+ #else
+ #define GetWindowTitleWidth(window) (((WindowPeek)window)->titleWidth)
+ #endif
#endif
- /*--------------------------------------------------------------------------------------------------*/
- /* Obsolete symbolic names */
- /*--------------------------------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------------------------------*/
+/* Obsolete symbolic names */
+/*--------------------------------------------------------------------------------------------------*/
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kWindowGroupAttrSelectable = kWindowGroupAttrSelectAsLayer,
- kWindowGroupAttrPositionFixed = kWindowGroupAttrMoveTogether,
- kWindowGroupAttrZOrderFixed = kWindowGroupAttrLayerTogether
- };
+enum {
+ kWindowGroupAttrSelectable = kWindowGroupAttrSelectAsLayer,
+ kWindowGroupAttrPositionFixed = kWindowGroupAttrMoveTogether,
+ kWindowGroupAttrZOrderFixed = kWindowGroupAttrLayerTogether
+};
@@ -7831,11 +7664,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MachineExceptions.h b/include/qt/MachineExceptions.h
index ec77e842a..4280804b3 100644
--- a/include/qt/MachineExceptions.h
+++ b/include/qt/MachineExceptions.h
@@ -1,17 +1,17 @@
/*
File: MachineExceptions.h
-
+
Contains: Processor Exception Handling Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACHINEEXCEPTIONS__
#define __MACHINEEXCEPTIONS__
@@ -40,280 +40,263 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Some basic declarations used throughout the kernel */
- typedef struct OpaqueAreaID* AreaID;
+/* Some basic declarations used throughout the kernel */
+typedef struct OpaqueAreaID* AreaID;
#if TARGET_OS_MAC
- /* Machine Dependent types for PowerPC: */
- struct MachineInformationPowerPC
- {
- UnsignedWide CTR;
- UnsignedWide LR;
- UnsignedWide PC;
- unsigned long CR;
- unsigned long XER;
- unsigned long MSR;
- unsigned long MQ;
- unsigned long ExceptKind;
- unsigned long DSISR;
- UnsignedWide DAR;
- UnsignedWide Reserved;
- };
- typedef struct MachineInformationPowerPC MachineInformationPowerPC;
- struct RegisterInformationPowerPC
- {
- UnsignedWide R0;
- UnsignedWide R1;
- UnsignedWide R2;
- UnsignedWide R3;
- UnsignedWide R4;
- UnsignedWide R5;
- UnsignedWide R6;
- UnsignedWide R7;
- UnsignedWide R8;
- UnsignedWide R9;
- UnsignedWide R10;
- UnsignedWide R11;
- UnsignedWide R12;
- UnsignedWide R13;
- UnsignedWide R14;
- UnsignedWide R15;
- UnsignedWide R16;
- UnsignedWide R17;
- UnsignedWide R18;
- UnsignedWide R19;
- UnsignedWide R20;
- UnsignedWide R21;
- UnsignedWide R22;
- UnsignedWide R23;
- UnsignedWide R24;
- UnsignedWide R25;
- UnsignedWide R26;
- UnsignedWide R27;
- UnsignedWide R28;
- UnsignedWide R29;
- UnsignedWide R30;
- UnsignedWide R31;
- };
- typedef struct RegisterInformationPowerPC RegisterInformationPowerPC;
- struct FPUInformationPowerPC
- {
- UnsignedWide Registers[32];
- unsigned long FPSCR;
- unsigned long Reserved;
- };
- typedef struct FPUInformationPowerPC FPUInformationPowerPC;
- union Vector128
- {
+/* Machine Dependent types for PowerPC: */
+struct MachineInformationPowerPC {
+ UnsignedWide CTR;
+ UnsignedWide LR;
+ UnsignedWide PC;
+ unsigned long CR;
+ unsigned long XER;
+ unsigned long MSR;
+ unsigned long MQ;
+ unsigned long ExceptKind;
+ unsigned long DSISR;
+ UnsignedWide DAR;
+ UnsignedWide Reserved;
+};
+typedef struct MachineInformationPowerPC MachineInformationPowerPC;
+struct RegisterInformationPowerPC {
+ UnsignedWide R0;
+ UnsignedWide R1;
+ UnsignedWide R2;
+ UnsignedWide R3;
+ UnsignedWide R4;
+ UnsignedWide R5;
+ UnsignedWide R6;
+ UnsignedWide R7;
+ UnsignedWide R8;
+ UnsignedWide R9;
+ UnsignedWide R10;
+ UnsignedWide R11;
+ UnsignedWide R12;
+ UnsignedWide R13;
+ UnsignedWide R14;
+ UnsignedWide R15;
+ UnsignedWide R16;
+ UnsignedWide R17;
+ UnsignedWide R18;
+ UnsignedWide R19;
+ UnsignedWide R20;
+ UnsignedWide R21;
+ UnsignedWide R22;
+ UnsignedWide R23;
+ UnsignedWide R24;
+ UnsignedWide R25;
+ UnsignedWide R26;
+ UnsignedWide R27;
+ UnsignedWide R28;
+ UnsignedWide R29;
+ UnsignedWide R30;
+ UnsignedWide R31;
+};
+typedef struct RegisterInformationPowerPC RegisterInformationPowerPC;
+struct FPUInformationPowerPC {
+ UnsignedWide Registers[32];
+ unsigned long FPSCR;
+ unsigned long Reserved;
+};
+typedef struct FPUInformationPowerPC FPUInformationPowerPC;
+union Vector128 {
#ifdef __VEC__
- vector unsigned int v;
+ vector unsigned int v;
#endif
- unsigned long l[4];
- unsigned short s[8];
- unsigned char c[16];
- };
- typedef union Vector128 Vector128;
- struct VectorInformationPowerPC
- {
- Vector128 Registers[32];
- Vector128 VSCR;
- UInt32 VRsave;
- };
- typedef struct VectorInformationPowerPC VectorInformationPowerPC;
- /* Exception related declarations */
- enum
- {
- kWriteReference = 0,
- kReadReference = 1,
- kFetchReference = 2,
- writeReference = kWriteReference, /* Obsolete name*/
- readReference = kReadReference, /* Obsolete name*/
- fetchReference = kFetchReference /* Obsolete name*/
- };
-
-
- typedef unsigned long MemoryReferenceKind;
- struct MemoryExceptionInformation
- {
- AreaID theArea; /* The area related to the execption, same as MPAreaID.*/
- LogicalAddress theAddress; /* The 32-bit address of the exception.*/
- OSStatus theError; /* See enum below.*/
- MemoryReferenceKind theReference; /* read, write, instruction fetch.*/
- };
- typedef struct MemoryExceptionInformation MemoryExceptionInformation;
- enum
- {
- kUnknownException = 0,
- kIllegalInstructionException = 1,
- kTrapException = 2,
- kAccessException = 3,
- kUnmappedMemoryException = 4,
- kExcludedMemoryException = 5,
- kReadOnlyMemoryException = 6,
- kUnresolvablePageFaultException = 7,
- kPrivilegeViolationException = 8,
- kTraceException = 9,
- kInstructionBreakpointException = 10, /* Optional*/
- kDataBreakpointException = 11, /* Optional*/
- kIntegerException = 12,
- kFloatingPointException = 13,
- kStackOverflowException = 14, /* Optional, may be implemented as kAccessException on some systems.*/
- kTaskTerminationException = 15, /* Obsolete*/
- kTaskCreationException = 16, /* Obsolete*/
- kDataAlignmentException = 17 /* May occur when a task is in little endian mode or created with kMPTaskTakesAllExceptions.*/
- };
+ unsigned long l[4];
+ unsigned short s[8];
+ unsigned char c[16];
+};
+typedef union Vector128 Vector128;
+struct VectorInformationPowerPC {
+ Vector128 Registers[32];
+ Vector128 VSCR;
+ UInt32 VRsave;
+};
+typedef struct VectorInformationPowerPC VectorInformationPowerPC;
+/* Exception related declarations */
+enum {
+ kWriteReference = 0,
+ kReadReference = 1,
+ kFetchReference = 2,
+ writeReference = kWriteReference, /* Obsolete name*/
+ readReference = kReadReference, /* Obsolete name*/
+ fetchReference = kFetchReference /* Obsolete name*/
+};
+
+
+typedef unsigned long MemoryReferenceKind;
+struct MemoryExceptionInformation {
+ AreaID theArea; /* The area related to the execption, same as MPAreaID.*/
+ LogicalAddress theAddress; /* The 32-bit address of the exception.*/
+ OSStatus theError; /* See enum below.*/
+ MemoryReferenceKind theReference; /* read, write, instruction fetch.*/
+};
+typedef struct MemoryExceptionInformation MemoryExceptionInformation;
+enum {
+ kUnknownException = 0,
+ kIllegalInstructionException = 1,
+ kTrapException = 2,
+ kAccessException = 3,
+ kUnmappedMemoryException = 4,
+ kExcludedMemoryException = 5,
+ kReadOnlyMemoryException = 6,
+ kUnresolvablePageFaultException = 7,
+ kPrivilegeViolationException = 8,
+ kTraceException = 9,
+ kInstructionBreakpointException = 10, /* Optional*/
+ kDataBreakpointException = 11, /* Optional*/
+ kIntegerException = 12,
+ kFloatingPointException = 13,
+ kStackOverflowException = 14, /* Optional, may be implemented as kAccessException on some systems.*/
+ kTaskTerminationException = 15, /* Obsolete*/
+ kTaskCreationException = 16, /* Obsolete*/
+ kDataAlignmentException = 17 /* May occur when a task is in little endian mode or created with kMPTaskTakesAllExceptions.*/
+};
#if OLDROUTINENAMES
- enum
- {
- unknownException = kUnknownException, /* Obsolete name*/
- illegalInstructionException = kIllegalInstructionException, /* Obsolete name*/
- trapException = kTrapException, /* Obsolete name*/
- accessException = kAccessException, /* Obsolete name*/
- unmappedMemoryException = kUnmappedMemoryException, /* Obsolete name*/
- excludedMemoryException = kExcludedMemoryException, /* Obsolete name*/
- readOnlyMemoryException = kReadOnlyMemoryException, /* Obsolete name*/
- unresolvablePageFaultException = kUnresolvablePageFaultException, /* Obsolete name*/
- privilegeViolationException = kPrivilegeViolationException, /* Obsolete name*/
- traceException = kTraceException, /* Obsolete name*/
- instructionBreakpointException = kInstructionBreakpointException, /* Obsolete name*/
- dataBreakpointException = kDataBreakpointException, /* Obsolete name*/
- integerException = kIntegerException, /* Obsolete name*/
- floatingPointException = kFloatingPointException, /* Obsolete name*/
- stackOverflowException = kStackOverflowException, /* Obsolete name*/
- terminationException = kTaskTerminationException, /* Obsolete name*/
- kTerminationException = kTaskTerminationException /* Obsolete name*/
- };
+enum {
+ unknownException = kUnknownException, /* Obsolete name*/
+ illegalInstructionException = kIllegalInstructionException, /* Obsolete name*/
+ trapException = kTrapException, /* Obsolete name*/
+ accessException = kAccessException, /* Obsolete name*/
+ unmappedMemoryException = kUnmappedMemoryException, /* Obsolete name*/
+ excludedMemoryException = kExcludedMemoryException, /* Obsolete name*/
+ readOnlyMemoryException = kReadOnlyMemoryException, /* Obsolete name*/
+ unresolvablePageFaultException = kUnresolvablePageFaultException, /* Obsolete name*/
+ privilegeViolationException = kPrivilegeViolationException, /* Obsolete name*/
+ traceException = kTraceException, /* Obsolete name*/
+ instructionBreakpointException = kInstructionBreakpointException, /* Obsolete name*/
+ dataBreakpointException = kDataBreakpointException, /* Obsolete name*/
+ integerException = kIntegerException, /* Obsolete name*/
+ floatingPointException = kFloatingPointException, /* Obsolete name*/
+ stackOverflowException = kStackOverflowException, /* Obsolete name*/
+ terminationException = kTaskTerminationException, /* Obsolete name*/
+ kTerminationException = kTaskTerminationException /* Obsolete name*/
+};
#endif /* OLDROUTINENAMES */
- typedef unsigned long ExceptionKind;
- union ExceptionInfo
- {
- MemoryExceptionInformation * memoryInfo;
- };
- typedef union ExceptionInfo ExceptionInfo;
- struct ExceptionInformationPowerPC
- {
- ExceptionKind theKind;
- MachineInformationPowerPC * machineState;
- RegisterInformationPowerPC * registerImage;
- FPUInformationPowerPC * FPUImage;
- ExceptionInfo info;
- VectorInformationPowerPC * vectorImage;
- };
- typedef struct ExceptionInformationPowerPC ExceptionInformationPowerPC;
+typedef unsigned long ExceptionKind;
+union ExceptionInfo {
+ MemoryExceptionInformation * memoryInfo;
+};
+typedef union ExceptionInfo ExceptionInfo;
+struct ExceptionInformationPowerPC {
+ ExceptionKind theKind;
+ MachineInformationPowerPC * machineState;
+ RegisterInformationPowerPC * registerImage;
+ FPUInformationPowerPC * FPUImage;
+ ExceptionInfo info;
+ VectorInformationPowerPC * vectorImage;
+};
+typedef struct ExceptionInformationPowerPC ExceptionInformationPowerPC;
#if TARGET_CPU_PPC || TARGET_CPU_68K
- typedef ExceptionInformationPowerPC ExceptionInformation;
- typedef MachineInformationPowerPC MachineInformation;
- typedef RegisterInformationPowerPC RegisterInformation;
- typedef FPUInformationPowerPC FPUInformation;
- typedef VectorInformationPowerPC VectorInformation;
+typedef ExceptionInformationPowerPC ExceptionInformation;
+typedef MachineInformationPowerPC MachineInformation;
+typedef RegisterInformationPowerPC RegisterInformation;
+typedef FPUInformationPowerPC FPUInformation;
+typedef VectorInformationPowerPC VectorInformation;
#endif /* TARGET_CPU_PPC || TARGET_CPU_68K */
- /*
- Note: An ExceptionHandler is NOT a UniversalProcPtr, except in Carbon.
- It must be a PowerPC function pointer with NO routine descriptor,
- except on Carbon, where it must be a UniversalProcPtr (TPP actually)
- to allow the interface to work from both CFM and Mach-O.
- */
- typedef CALLBACK_API_C(OSStatus , ExceptionHandlerProcPtr)(ExceptionInformation * theException);
- typedef TVECTOR_UPP_TYPE(ExceptionHandlerProcPtr) ExceptionHandlerUPP;
- /*
- * NewExceptionHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ExceptionHandlerUPP)
- NewExceptionHandlerUPP(ExceptionHandlerProcPtr userRoutine);
+/*
+ Note: An ExceptionHandler is NOT a UniversalProcPtr, except in Carbon.
+ It must be a PowerPC function pointer with NO routine descriptor,
+ except on Carbon, where it must be a UniversalProcPtr (TPP actually)
+ to allow the interface to work from both CFM and Mach-O.
+*/
+typedef CALLBACK_API_C( OSStatus , ExceptionHandlerProcPtr )(ExceptionInformation * theException);
+typedef TVECTOR_UPP_TYPE(ExceptionHandlerProcPtr) ExceptionHandlerUPP;
+/*
+ * NewExceptionHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ExceptionHandlerUPP )
+NewExceptionHandlerUPP(ExceptionHandlerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppExceptionHandlerProcInfo = 0x000000F1 }; /* 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ExceptionHandlerUPP) NewExceptionHandlerUPP(ExceptionHandlerProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewExceptionHandlerUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppExceptionHandlerProcInfo = 0x000000F1 }; /* 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ExceptionHandlerUPP) NewExceptionHandlerUPP(ExceptionHandlerProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewExceptionHandlerUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeExceptionHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeExceptionHandlerUPP(ExceptionHandlerUPP userUPP);
+/*
+ * DisposeExceptionHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeExceptionHandlerUPP(ExceptionHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeExceptionHandlerUPP(ExceptionHandlerUPP) {}
-#else
-#define DisposeExceptionHandlerUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeExceptionHandlerUPP(ExceptionHandlerUPP) {}
+ #else
+ #define DisposeExceptionHandlerUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeExceptionHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeExceptionHandlerUPP(
- ExceptionInformation * theException,
- ExceptionHandlerUPP userUPP);
+/*
+ * InvokeExceptionHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeExceptionHandlerUPP(
+ ExceptionInformation * theException,
+ ExceptionHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeExceptionHandlerUPP(ExceptionInformation * theException, ExceptionHandlerUPP userUPP)
- {
- return (*userUPP)(theException);
- }
-#else
-#define InvokeExceptionHandlerUPP(theException, userUPP) (*userUPP)(theException)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeExceptionHandlerUPP(ExceptionInformation * theException, ExceptionHandlerUPP userUPP) { return (*userUPP)(theException); }
+ #else
+ #define InvokeExceptionHandlerUPP(theException, userUPP) (*userUPP)(theException)
+ #endif
#endif
- /*
- ExceptionHandler function pointers (TPP):
- on classic PowerPC, use raw function pointers
- on classic PowerPC with OPAQUE_UPP_TYPES=1, use UPP's
- on Carbon, use UPP's
- */
+/*
+ ExceptionHandler function pointers (TPP):
+ on classic PowerPC, use raw function pointers
+ on classic PowerPC with OPAQUE_UPP_TYPES=1, use UPP's
+ on Carbon, use UPP's
+*/
#if TARGET_OS_MAC && !OPAQUE_UPP_TYPES
- /* use raw function pointers*/
- typedef ExceptionHandlerProcPtr ExceptionHandlerTPP;
+/* use raw function pointers*/
+typedef ExceptionHandlerProcPtr ExceptionHandlerTPP;
#else
- /* use UPP's*/
- typedef ExceptionHandlerUPP ExceptionHandlerTPP;
+/* use UPP's*/
+typedef ExceptionHandlerUPP ExceptionHandlerTPP;
#endif /* TARGET_OS_MAC && !OPAQUE_UPP_TYPES */
- typedef ExceptionHandlerTPP ExceptionHandler;
- /* Routine for installing per-process exception handlers */
- /*
- * InstallExceptionHandler()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ExceptionHandlerTPP) InstallExceptionHandler(ExceptionHandlerTPP theHandler);
+typedef ExceptionHandlerTPP ExceptionHandler;
+/* Routine for installing per-process exception handlers */
+/*
+ * InstallExceptionHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ExceptionHandlerTPP ) InstallExceptionHandler(ExceptionHandlerTPP theHandler);
#endif /* TARGET_OS_MAC */
@@ -321,11 +304,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Math64.h b/include/qt/Math64.h
index a421aa409..b18543683 100644
--- a/include/qt/Math64.h
+++ b/include/qt/Math64.h
@@ -1,17 +1,17 @@
/*
File: Math64.h
-
+
Contains: 64-bit integer math Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MATH64__
#define __MATH64__
@@ -41,745 +41,670 @@ extern "C" {
#if TYPE_LONGLONG && TARGET_OS_WIN32
-#define S64Max() 9223372036854775807i64
+ #define S64Max() 9223372036854775807i64
#elif TYPE_LONGLONG && defined(__MWERKS__) && (__MWERKS__ < 0x1800)
-#define S64Max() 9223372036854775807
+ #define S64Max() 9223372036854775807
#else
- /*
- * S64Max()
- *
- * Discussion:
- * Returns largest possible SInt64 value
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Max(void);
+/*
+ * S64Max()
+ *
+ * Discussion:
+ * Returns largest possible SInt64 value
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Max(void);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Max(void)
- {
- return 9223372036854775807LL;
- }
-#else
-#define S64Max() (9223372036854775807LL)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Max(void) { return 9223372036854775807LL; }
+ #else
+ #define S64Max() (9223372036854775807LL)
+ #endif
#endif
#endif
- /*
- * S64Min()
- *
- * Discussion:
- * Returns smallest possible SInt64 value
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Min(void);
+/*
+ * S64Min()
+ *
+ * Discussion:
+ * Returns smallest possible SInt64 value
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Min(void);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Min(void)
- {
- return -S64Max() - 1;
- }
-#else
-#define S64Min() (-S64Max() - 1)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Min(void) { return -S64Max() - 1; }
+ #else
+ #define S64Min() (-S64Max() - 1)
+ #endif
#endif
- /*
- * S64Add()
- *
- * Discussion:
- * Adds two integers, producing an integer result. If an overflow
- * occurs the result is congruent mod (2^64) as if the operands and
- * result were unsigned. No overflow is signaled.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Add(
- SInt64 left,
- SInt64 right);
+/*
+ * S64Add()
+ *
+ * Discussion:
+ * Adds two integers, producing an integer result. If an overflow
+ * occurs the result is congruent mod (2^64) as if the operands and
+ * result were unsigned. No overflow is signaled.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Add(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Add(SInt64 left, SInt64 right)
- {
- return (SInt64)(left) + (SInt64)(right);
- }
-#else
-#define S64Add(left, right) ((SInt64)(left) + (SInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Add(SInt64 left, SInt64 right) { return (SInt64)(left) + (SInt64)(right); }
+ #else
+ #define S64Add(left, right) ((SInt64)(left) + (SInt64)(right))
+ #endif
#endif
- /*
- * S64Subtract()
- *
- * Discussion:
- * Subtracts two integers, producing an integer result. If an
- * overflow occurs the result is congruent mod (2^64) as if the
- * operands and result were unsigned. No overflow is signaled.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Subtract(
- SInt64 left,
- SInt64 right);
+/*
+ * S64Subtract()
+ *
+ * Discussion:
+ * Subtracts two integers, producing an integer result. If an
+ * overflow occurs the result is congruent mod (2^64) as if the
+ * operands and result were unsigned. No overflow is signaled.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Subtract(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Subtract(SInt64 left, SInt64 right)
- {
- return (SInt64)(left) - (SInt64)(right);
- }
-#else
-#define S64Subtract(left, right) ((SInt64)(left) - (SInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Subtract(SInt64 left, SInt64 right) { return (SInt64)(left) - (SInt64)(right); }
+ #else
+ #define S64Subtract(left, right) ((SInt64)(left) - (SInt64)(right))
+ #endif
#endif
- /*
- * S64Negate()
- *
- * Discussion:
- * Returns the additive inverse of a signed number (i.e. it returns
- * 0 - the number). S64Negate (S64Min) is not representable (in
- * fact, it returns S64Min).
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Negate(SInt64 value);
+/*
+ * S64Negate()
+ *
+ * Discussion:
+ * Returns the additive inverse of a signed number (i.e. it returns
+ * 0 - the number). S64Negate (S64Min) is not representable (in
+ * fact, it returns S64Min).
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Negate(SInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Negate(SInt64 value)
- {
- return -(SInt64)(value);
- }
-#else
-#define S64Negate(value) (-(SInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Negate(SInt64 value) { return -(SInt64)(value); }
+ #else
+ #define S64Negate(value) (-(SInt64)(value))
+ #endif
#endif
#if !TYPE_LONGLONG
- /*
- * S64Absolute()
- *
- * Discussion:
- * Returns the absolute value of the number (i.e. the number if it
- * is positive, or 0 - the number if it is negative). Disabled for
- * compilers that support long long until llabs() is available
- * everywhere.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Absolute(SInt64 value);
+/*
+ * S64Absolute()
+ *
+ * Discussion:
+ * Returns the absolute value of the number (i.e. the number if it
+ * is positive, or 0 - the number if it is negative). Disabled for
+ * compilers that support long long until llabs() is available
+ * everywhere.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Absolute(SInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Absolute(SInt64 value)
- {
- return llabs((SInt64)value);
- }
-#else
-#define S64Absolute(value) (llabs((SInt64)value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Absolute(SInt64 value) { return llabs((SInt64)value); }
+ #else
+ #define S64Absolute(value) (llabs((SInt64)value))
+ #endif
#endif
#endif /* !TYPE_LONGLONG */
- /*
- * S64Multiply()
- *
- * Discussion:
- * Multiplies two signed numbers, producing a signed result.
- * Overflow is ignored and the low-order part of the product is
- * returned. The sign of the result is not guaranteed to be correct
- * if the magnitude of the product is not representable.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Multiply(
- SInt64 left,
- SInt64 right);
+/*
+ * S64Multiply()
+ *
+ * Discussion:
+ * Multiplies two signed numbers, producing a signed result.
+ * Overflow is ignored and the low-order part of the product is
+ * returned. The sign of the result is not guaranteed to be correct
+ * if the magnitude of the product is not representable.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Multiply(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Multiply(SInt64 left, SInt64 right)
- {
- return (SInt64)(left) * (SInt64)(right);
- }
-#else
-#define S64Multiply(left, right) ((SInt64)(left) * (SInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Multiply(SInt64 left, SInt64 right) { return (SInt64)(left) * (SInt64)(right); }
+ #else
+ #define S64Multiply(left, right) ((SInt64)(left) * (SInt64)(right))
+ #endif
#endif
- /*
- * S64Mod()
- *
- * Discussion:
- * Returns the remainder of divide of dividend by divisor. The sign
- * of the remainder is the same as the sign of the dividend (i.e.,
- * it takes the absolute values of the operands, does the division,
- * then fixes the sign of the quotient and remainder).
- *
- * Availability:
- * Implemented by client
- */
- EXTERN_API_C(SInt64)
- S64Mod(
- SInt64 dividend,
- SInt64 divisor);
+/*
+ * S64Mod()
+ *
+ * Discussion:
+ * Returns the remainder of divide of dividend by divisor. The sign
+ * of the remainder is the same as the sign of the dividend (i.e.,
+ * it takes the absolute values of the operands, does the division,
+ * then fixes the sign of the quotient and remainder).
+ *
+ * Availability:
+ * Implemented by client
+ */
+EXTERN_API_C( SInt64 )
+S64Mod(
+ SInt64 dividend,
+ SInt64 divisor);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Mod(SInt64 dividend, SInt64 divisor)
- {
- return (SInt64)(dividend) % (SInt64)(divisor);
- }
-#else
-#define S64Mod(dividend, divisor) ((SInt64)(dividend) % (SInt64)(divisor))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Mod(SInt64 dividend, SInt64 divisor) { return (SInt64)(dividend) % (SInt64)(divisor); }
+ #else
+ #define S64Mod(dividend, divisor) ((SInt64)(dividend) % (SInt64)(divisor))
+ #endif
#endif
- /*
- * S64Divide()
- *
- * Discussion:
- * Divides dividend by divisor, returning the quotient. The
- * remainder is returned in *remainder if remainder (the pointer) is
- * non-NULL. The sign of the remainder is the same as the sign of
- * the dividend (i.e. it takes the absolute values of the operands,
- * does the division, then fixes the sign of the quotient and
- * remainder). If the divisor is zero, then S64Max() will be
- * returned (or S64Min() if the dividend is negative), and the
- * remainder will be the dividend; no error is reported.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Divide(
- SInt64 dividend,
- SInt64 divisor,
- SInt64 * remainder); /* can be NULL */
+/*
+ * S64Divide()
+ *
+ * Discussion:
+ * Divides dividend by divisor, returning the quotient. The
+ * remainder is returned in *remainder if remainder (the pointer) is
+ * non-NULL. The sign of the remainder is the same as the sign of
+ * the dividend (i.e. it takes the absolute values of the operands,
+ * does the division, then fixes the sign of the quotient and
+ * remainder). If the divisor is zero, then S64Max() will be
+ * returned (or S64Min() if the dividend is negative), and the
+ * remainder will be the dividend; no error is reported.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Divide(
+ SInt64 dividend,
+ SInt64 divisor,
+ SInt64 * remainder); /* can be NULL */
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Divide(SInt64 dividend, SInt64 divisor, SInt64 *remainder)
- {
- return ((void)((remainder) && (*((SInt64*)(remainder)) = ((SInt64)(dividend) % (SInt64)(divisor)))), ((SInt64)(dividend) / (SInt64)(divisor)));
- }
-#else
-#define S64Divide(dividend, divisor, remainder) (( (void)((remainder) && (*((SInt64*)(remainder)) = ((SInt64)(dividend) % (SInt64)(divisor)))), ((SInt64)(dividend) / (SInt64)(divisor)) ))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Divide(SInt64 dividend, SInt64 divisor, SInt64 *remainder) { return ( (void)((remainder) && (*((SInt64*)(remainder)) = ((SInt64)(dividend) % (SInt64)(divisor)))), ((SInt64)(dividend) / (SInt64)(divisor)) ); }
+ #else
+ #define S64Divide(dividend, divisor, remainder) (( (void)((remainder) && (*((SInt64*)(remainder)) = ((SInt64)(dividend) % (SInt64)(divisor)))), ((SInt64)(dividend) / (SInt64)(divisor)) ))
+ #endif
#endif
- /*
- * S64Div()
- *
- * Discussion:
- * Divides dividend by divisor, returning the quotient.
- *
- * Availability:
- * Implemented by client
- */
- EXTERN_API_C(SInt64)
- S64Div(
- SInt64 dividend,
- SInt64 divisor);
+/*
+ * S64Div()
+ *
+ * Discussion:
+ * Divides dividend by divisor, returning the quotient.
+ *
+ * Availability:
+ * Implemented by client
+ */
+EXTERN_API_C( SInt64 )
+S64Div(
+ SInt64 dividend,
+ SInt64 divisor);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Div(SInt64 dividend, SInt64 divisor)
- {
- return S64Divide((dividend), (divisor), NULL);
- }
-#else
-#define S64Div(dividend, divisor) (S64Divide((dividend), (divisor), NULL))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Div(SInt64 dividend, SInt64 divisor) { return S64Divide((dividend), (divisor), NULL); }
+ #else
+ #define S64Div(dividend, divisor) (S64Divide((dividend), (divisor), NULL))
+ #endif
#endif
- /*
- * S64Set()
- *
- * Discussion:
- * Given an SInt32, returns an SInt64 with the same value. Use this
- * routine instead of coding 64-bit constants (at least when the
- * constant will fit in an SInt32).
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64Set(SInt32 value);
+/*
+ * S64Set()
+ *
+ * Discussion:
+ * Given an SInt32, returns an SInt64 with the same value. Use this
+ * routine instead of coding 64-bit constants (at least when the
+ * constant will fit in an SInt32).
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64Set(SInt32 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64Set(SInt32 value)
- {
- return (SInt64)(value);
- }
-#else
-#define S64Set(value) ((SInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64Set(SInt32 value) { return (SInt64)(value); }
+ #else
+ #define S64Set(value) ((SInt64)(value))
+ #endif
#endif
- /*
- * S64SetU()
- *
- * Discussion:
- * Given a UInt32, returns a SInt64 with the same value.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64SetU(UInt32 value);
+/*
+ * S64SetU()
+ *
+ * Discussion:
+ * Given a UInt32, returns a SInt64 with the same value.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64SetU(UInt32 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64SetU(UInt32 value)
- {
- return (SInt64)(value);
- }
-#else
-#define S64SetU(value) ((SInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64SetU(UInt32 value) { return (SInt64)(value); }
+ #else
+ #define S64SetU(value) ((SInt64)(value))
+ #endif
#endif
- /*
- * S32Set()
- *
- * Discussion:
- * Given an SInt64, returns an SInt32 by discarding the high-order
- * 32 bits.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt32)
- S32Set(SInt64 value);
+/*
+ * S32Set()
+ *
+ * Discussion:
+ * Given an SInt64, returns an SInt32 by discarding the high-order
+ * 32 bits.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt32 )
+S32Set(SInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt32) S32Set(SInt64 value)
- {
- return (SInt32)(value);
- }
-#else
-#define S32Set(value) ((SInt32)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt32 ) S32Set(SInt64 value) { return (SInt32)(value); }
+ #else
+ #define S32Set(value) ((SInt32)(value))
+ #endif
#endif
- /*
- * S64And()
- *
- * Discussion:
- * Returns one if left and right are non-zero, otherwise returns zero
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- S64And(
- SInt64 left,
- SInt64 right);
+/*
+ * S64And()
+ *
+ * Discussion:
+ * Returns one if left and right are non-zero, otherwise returns zero
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+S64And(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) S64And(SInt64 left, SInt64 right)
- {
- return (SInt64)(left) && (SInt64)(right);
- }
-#else
-#define S64And(left, right) ((SInt64)(left) && (SInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) S64And(SInt64 left, SInt64 right) { return (SInt64)(left) && (SInt64)(right); }
+ #else
+ #define S64And(left, right) ((SInt64)(left) && (SInt64)(right))
+ #endif
#endif
- /*
- * S64Or()
- *
- * Discussion:
- * Returns one if left or right are non-zero, otherwise returns zero
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- S64Or(
- SInt64 left,
- SInt64 right);
+/*
+ * S64Or()
+ *
+ * Discussion:
+ * Returns one if left or right are non-zero, otherwise returns zero
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+S64Or(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) S64Or(SInt64 left, SInt64 right)
- {
- return (SInt64)(left) || (SInt64)(right);
- }
-#else
-#define S64Or(left, right) ((SInt64)(left) || (SInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) S64Or(SInt64 left, SInt64 right) { return (SInt64)(left) || (SInt64)(right); }
+ #else
+ #define S64Or(left, right) ((SInt64)(left) || (SInt64)(right))
+ #endif
#endif
- /*
- * S64Eor()
- *
- * Discussion:
- * Returns one if left xor right are non-zero, otherwise returns zero
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- S64Eor(
- SInt64 left,
- SInt64 right);
+/*
+ * S64Eor()
+ *
+ * Discussion:
+ * Returns one if left xor right are non-zero, otherwise returns zero
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+S64Eor(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) S64Eor(SInt64 left, SInt64 right)
- {
- return (Boolean)(((SInt64)(left) ? 1 : 0) ^((SInt64)(right) ? 1 : 0));
- }
-#else
-#define S64Eor(left, right) ((Boolean)(((SInt64)(left) ? 1 : 0) ^ ((SInt64)(right) ? 1 : 0)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) S64Eor(SInt64 left, SInt64 right) { return (Boolean)(((SInt64)(left) ? 1 : 0) ^ ((SInt64)(right) ? 1 : 0)); }
+ #else
+ #define S64Eor(left, right) ((Boolean)(((SInt64)(left) ? 1 : 0) ^ ((SInt64)(right) ? 1 : 0)))
+ #endif
#endif
- /*
- * S64Not()
- *
- * Discussion:
- * Returns one if value is non-zero, otherwisze returns zero.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- S64Not(SInt64 value);
+/*
+ * S64Not()
+ *
+ * Discussion:
+ * Returns one if value is non-zero, otherwisze returns zero.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+S64Not(SInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) S64Not(SInt64 value)
- {
- return !((SInt64)(value));
- }
-#else
-#define S64Not(value) (!((SInt64)(value)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) S64Not(SInt64 value) { return !((SInt64)(value)); }
+ #else
+ #define S64Not(value) (!((SInt64)(value)))
+ #endif
#endif
- /*
- * S64Compare()
- *
- * Discussion:
- * Given two signed numbers, left and right, returns an SInt32 that
- * compares with zero the same way left compares with right. If you
- * wanted to perform a comparison on 64-bit integers of the
- * form:
- * operand_1 <operation> operand_2
- * then you could use an expression of the form:
- * xxxS64Compare(operand_1,operand_2) <operation> 0
- * to test for the same condition. CAUTION: DO NOT depend on the
- * exact value returned by this routine. Only the sign (i.e.
- * positive, zero, or negative) of the result is guaranteed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt32)
- S64Compare(
- SInt64 left,
- SInt64 right);
-
-
-
- /*
- * S64BitwiseAnd()
- *
- * Discussion:
- * bitwise AND
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64BitwiseAnd(
- SInt64 left,
- SInt64 right);
+/*
+ * S64Compare()
+ *
+ * Discussion:
+ * Given two signed numbers, left and right, returns an SInt32 that
+ * compares with zero the same way left compares with right. If you
+ * wanted to perform a comparison on 64-bit integers of the
+ * form:
+ * operand_1 <operation> operand_2
+ * then you could use an expression of the form:
+ * xxxS64Compare(operand_1,operand_2) <operation> 0
+ * to test for the same condition. CAUTION: DO NOT depend on the
+ * exact value returned by this routine. Only the sign (i.e.
+ * positive, zero, or negative) of the result is guaranteed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt32 )
+S64Compare(
+ SInt64 left,
+ SInt64 right);
+
+
+
+/*
+ * S64BitwiseAnd()
+ *
+ * Discussion:
+ * bitwise AND
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64BitwiseAnd(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64BitwiseAnd(SInt64 left, SInt64 right)
- {
- return (SInt64)(left) & (SInt64)(right);
- }
-#else
-#define S64BitwiseAnd(left, right) ((SInt64)(left) & (SInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64BitwiseAnd(SInt64 left, SInt64 right) { return (SInt64)(left) & (SInt64)(right); }
+ #else
+ #define S64BitwiseAnd(left, right) ((SInt64)(left) & (SInt64)(right))
+ #endif
#endif
- /*
- * S64BitwiseOr()
- *
- * Discussion:
- * bitwise OR
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64BitwiseOr(
- SInt64 left,
- SInt64 right);
+/*
+ * S64BitwiseOr()
+ *
+ * Discussion:
+ * bitwise OR
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64BitwiseOr(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64BitwiseOr(SInt64 left, SInt64 right)
- {
- return (SInt64)(left) | (SInt64)(right);
- }
-#else
-#define S64BitwiseOr(left, right) ((SInt64)(left) | (SInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64BitwiseOr(SInt64 left, SInt64 right) { return (SInt64)(left) | (SInt64)(right); }
+ #else
+ #define S64BitwiseOr(left, right) ((SInt64)(left) | (SInt64)(right))
+ #endif
#endif
- /*
- * S64BitwiseEor()
- *
- * Discussion:
- * bitwise XOR
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64BitwiseEor(
- SInt64 left,
- SInt64 right);
+/*
+ * S64BitwiseEor()
+ *
+ * Discussion:
+ * bitwise XOR
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64BitwiseEor(
+ SInt64 left,
+ SInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64BitwiseEor(SInt64 left, SInt64 right)
- {
- return (SInt64)(left) ^(SInt64)(right);
- }
-#else
-#define S64BitwiseEor(left, right) ((SInt64)(left) ^ (SInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64BitwiseEor(SInt64 left, SInt64 right) { return (SInt64)(left) ^ (SInt64)(right); }
+ #else
+ #define S64BitwiseEor(left, right) ((SInt64)(left) ^ (SInt64)(right))
+ #endif
#endif
- /*
- * S64BitwiseNot()
- *
- * Discussion:
- * bitwise negate
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64BitwiseNot(SInt64 value);
+/*
+ * S64BitwiseNot()
+ *
+ * Discussion:
+ * bitwise negate
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64BitwiseNot(SInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64BitwiseNot(SInt64 value)
- {
- return ~((SInt64)(value));
- }
-#else
-#define S64BitwiseNot(value) (~((SInt64)(value)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64BitwiseNot(SInt64 value) { return ~((SInt64)(value)); }
+ #else
+ #define S64BitwiseNot(value) (~((SInt64)(value)))
+ #endif
#endif
- /*
- * S64ShiftRight()
- *
- * Discussion:
- * Arithmetic shift of value by the lower 7 bits of the shift.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64ShiftRight(
- SInt64 value,
- UInt32 shift);
+/*
+ * S64ShiftRight()
+ *
+ * Discussion:
+ * Arithmetic shift of value by the lower 7 bits of the shift.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64ShiftRight(
+ SInt64 value,
+ UInt32 shift);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64ShiftRight(SInt64 value, UInt32 shift)
- {
- return (SInt64)(value) >> ((shift) & 0x7F);
- }
-#else
-#define S64ShiftRight(value, shift) ((SInt64)(value) >> ((shift) & 0x7F))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64ShiftRight(SInt64 value, UInt32 shift) { return (SInt64)(value) >> ((shift) & 0x7F); }
+ #else
+ #define S64ShiftRight(value, shift) ((SInt64)(value) >> ((shift) & 0x7F))
+ #endif
#endif
- /*
- * S64ShiftLeft()
- *
- * Discussion:
- * Logical shift of value by the lower 7 bits of the shift.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- S64ShiftLeft(
- SInt64 value,
- UInt32 shift);
+/*
+ * S64ShiftLeft()
+ *
+ * Discussion:
+ * Logical shift of value by the lower 7 bits of the shift.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+S64ShiftLeft(
+ SInt64 value,
+ UInt32 shift);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) S64ShiftLeft(SInt64 value, UInt32 shift)
- {
- return (SInt64)(value) << ((shift) & 0x7F);
- }
-#else
-#define S64ShiftLeft(value, shift) ((SInt64)(value) << ((shift) & 0x7F))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) S64ShiftLeft(SInt64 value, UInt32 shift) { return (SInt64)(value) << ((shift) & 0x7F); }
+ #else
+ #define S64ShiftLeft(value, shift) ((SInt64)(value) << ((shift) & 0x7F))
+ #endif
#endif
#if !TYPE_LONGDOUBLE_IS_DOUBLE
- /*
- * SInt64ToLongDouble()
- *
- * Discussion:
- * Converts SInt64 to long double. Note all SInt64s fit exactly
- * into long doubles, thus, the binary -> decimal conversion
- * routines in fp.h can be used to achieve SInt64 -> long double ->
- * decimal conversions. Note: The function implementation assumes
- * long double is a 128-bit floating point on PowerPC and 80-bit
- * type on 68K
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double)
- SInt64ToLongDouble(SInt64 value);
+/*
+ * SInt64ToLongDouble()
+ *
+ * Discussion:
+ * Converts SInt64 to long double. Note all SInt64s fit exactly
+ * into long doubles, thus, the binary -> decimal conversion
+ * routines in fp.h can be used to achieve SInt64 -> long double ->
+ * decimal conversions. Note: The function implementation assumes
+ * long double is a 128-bit floating point on PowerPC and 80-bit
+ * type on 68K
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double )
+SInt64ToLongDouble(SInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) SInt64ToLongDouble(SInt64 value)
- {
- return (long double)(value);
- }
-#else
-#define SInt64ToLongDouble(value) ((long double)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) SInt64ToLongDouble(SInt64 value) { return (long double)(value); }
+ #else
+ #define SInt64ToLongDouble(value) ((long double)(value))
+ #endif
#endif
- /*
- * LongDoubleToSInt64()
- *
- * Discussion:
- * Converts a long double to a SInt64. Any decimal string that fits
- * into a SInt64 can be converted exactly into a long double, using
- * the conversion routines found in fp.h. Then this routine can be
- * used to complete the conversion to SInt64. Note: The function
- * implementation assumes long double is a 128-bit floating point on
- * PowerPC and 80-bit type on 68K
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(SInt64)
- LongDoubleToSInt64(long double value);
+/*
+ * LongDoubleToSInt64()
+ *
+ * Discussion:
+ * Converts a long double to a SInt64. Any decimal string that fits
+ * into a SInt64 can be converted exactly into a long double, using
+ * the conversion routines found in fp.h. Then this routine can be
+ * used to complete the conversion to SInt64. Note: The function
+ * implementation assumes long double is a 128-bit floating point on
+ * PowerPC and 80-bit type on 68K
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SInt64 )
+LongDoubleToSInt64(long double value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) LongDoubleToSInt64(long double value)
- {
- return (SInt64)(value);
- }
-#else
-#define LongDoubleToSInt64(value) ((SInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) LongDoubleToSInt64(long double value) { return (SInt64)(value); }
+ #else
+ #define LongDoubleToSInt64(value) ((SInt64)(value))
+ #endif
#endif
@@ -787,705 +712,633 @@ extern "C" {
#if TYPE_LONGLONG && TARGET_OS_WIN32
-#define U64Max() 0xffffffffffffffffui64
+ #define U64Max() 0xffffffffffffffffui64
#elif TYPE_LONGLONG && defined(__MWERKS__) && (__MWERKS__ < 0x1800)
-#define U64Max() 0xffffffffffffffff
+ #define U64Max() 0xffffffffffffffff
#else
- /*
- * U64Max()
- *
- * Discussion:
- * Returns largest possible UInt64 value
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64Max(void);
+/*
+ * U64Max()
+ *
+ * Discussion:
+ * Returns largest possible UInt64 value
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64Max(void);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64Max(void)
- {
- return 0xffffffffffffffffULL;
- }
-#else
-#define U64Max() (0xffffffffffffffffULL)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64Max(void) { return 0xffffffffffffffffULL; }
+ #else
+ #define U64Max() (0xffffffffffffffffULL)
+ #endif
#endif
#endif
- /*
- * U64Add()
- *
- * Discussion:
- * Adds two unsigned integers, producing an integer result. If an
- * overflow occurs the result is congruent mod (2^64) as if the
- * operands and result were unsigned. No overflow is signaled.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64Add(
- UInt64 left,
- UInt64 right);
+/*
+ * U64Add()
+ *
+ * Discussion:
+ * Adds two unsigned integers, producing an integer result. If an
+ * overflow occurs the result is congruent mod (2^64) as if the
+ * operands and result were unsigned. No overflow is signaled.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64Add(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64Add(UInt64 left, UInt64 right)
- {
- return (UInt64)(left) + (UInt64)(right);
- }
-#else
-#define U64Add(left, right) ((UInt64)(left) + (UInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64Add(UInt64 left, UInt64 right) { return (UInt64)(left) + (UInt64)(right); }
+ #else
+ #define U64Add(left, right) ((UInt64)(left) + (UInt64)(right))
+ #endif
#endif
- /*
- * U64Subtract()
- *
- * Discussion:
- * Subtracts two unsigned integers, producing an integer result. If
- * an overflow occurs the result is congruent mod (2^64) as if the
- * operands and result were unsigned. No overflow is signaled.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64Subtract(
- UInt64 left,
- UInt64 right);
+/*
+ * U64Subtract()
+ *
+ * Discussion:
+ * Subtracts two unsigned integers, producing an integer result. If
+ * an overflow occurs the result is congruent mod (2^64) as if the
+ * operands and result were unsigned. No overflow is signaled.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64Subtract(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64Subtract(UInt64 left, UInt64 right)
- {
- return (UInt64)(left) - (UInt64)(right);
- }
-#else
-#define U64Subtract(left, right) ((UInt64)(left) - (UInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64Subtract(UInt64 left, UInt64 right) { return (UInt64)(left) - (UInt64)(right); }
+ #else
+ #define U64Subtract(left, right) ((UInt64)(left) - (UInt64)(right))
+ #endif
#endif
- /*
- * U64Multiply()
- *
- * Discussion:
- * Multiplies two unsigned numbers, producing a signed result.
- * Overflow is ignored and the low-order part of the product is
- * returned. The sign of the result is not guaranteed to be correct
- * if the magnitude of the product is not representable.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64Multiply(
- UInt64 left,
- UInt64 right);
+/*
+ * U64Multiply()
+ *
+ * Discussion:
+ * Multiplies two unsigned numbers, producing a signed result.
+ * Overflow is ignored and the low-order part of the product is
+ * returned. The sign of the result is not guaranteed to be correct
+ * if the magnitude of the product is not representable.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64Multiply(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64Multiply(UInt64 left, UInt64 right)
- {
- return (UInt64)(left) * (UInt64)(right);
- }
-#else
-#define U64Multiply(left, right) ((UInt64)(left) * (UInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64Multiply(UInt64 left, UInt64 right) { return (UInt64)(left) * (UInt64)(right); }
+ #else
+ #define U64Multiply(left, right) ((UInt64)(left) * (UInt64)(right))
+ #endif
#endif
- /*
- * U64Mod()
- *
- * Discussion:
- * Returns the remainder of divide of dividend by divisor. The sign
- * of the remainder is the same as the sign of the dividend (i.e.,
- * it takes the absolute values of the operands, does the division,
- * then fixes the sign of the quotient and remainder).
- *
- * Availability:
- * Implemented by client
- */
- EXTERN_API_C(UInt64)
- U64Mod(
- UInt64 dividend,
- UInt64 divisor);
+/*
+ * U64Mod()
+ *
+ * Discussion:
+ * Returns the remainder of divide of dividend by divisor. The sign
+ * of the remainder is the same as the sign of the dividend (i.e.,
+ * it takes the absolute values of the operands, does the division,
+ * then fixes the sign of the quotient and remainder).
+ *
+ * Availability:
+ * Implemented by client
+ */
+EXTERN_API_C( UInt64 )
+U64Mod(
+ UInt64 dividend,
+ UInt64 divisor);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64Mod(UInt64 dividend, UInt64 divisor)
- {
- return (UInt64)(dividend) % (UInt64)(divisor);
- }
-#else
-#define U64Mod(dividend, divisor) ((UInt64)(dividend) % (UInt64)(divisor))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64Mod(UInt64 dividend, UInt64 divisor) { return (UInt64)(dividend) % (UInt64)(divisor); }
+ #else
+ #define U64Mod(dividend, divisor) ((UInt64)(dividend) % (UInt64)(divisor))
+ #endif
#endif
- /*
- * U64Divide()
- *
- * Discussion:
- * Divides dividend by divisor, returning the quotient. The
- * remainder is returned in *remainder if remainder (the pointer) is
- * non-NULL. The sign of the remainder is the same as the sign of
- * the dividend (i.e. it takes the absolute values of the operands,
- * does the division, then fixes the sign of the quotient and
- * remainder). If the divisor is zero, then U64Max() will be
- * returned (or U64Min() if the dividend is negative), and the
- * remainder will be the dividend; no error is reported.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64Divide(
- UInt64 dividend,
- UInt64 divisor,
- UInt64 * remainder); /* can be NULL */
+/*
+ * U64Divide()
+ *
+ * Discussion:
+ * Divides dividend by divisor, returning the quotient. The
+ * remainder is returned in *remainder if remainder (the pointer) is
+ * non-NULL. The sign of the remainder is the same as the sign of
+ * the dividend (i.e. it takes the absolute values of the operands,
+ * does the division, then fixes the sign of the quotient and
+ * remainder). If the divisor is zero, then U64Max() will be
+ * returned (or U64Min() if the dividend is negative), and the
+ * remainder will be the dividend; no error is reported.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64Divide(
+ UInt64 dividend,
+ UInt64 divisor,
+ UInt64 * remainder); /* can be NULL */
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64Divide(UInt64 dividend, UInt64 divisor, UInt64 *remainder)
- {
- return ((void)((remainder) && (*((UInt64*)(remainder)) = ((UInt64)(dividend) % (UInt64)(divisor)))), ((UInt64)(dividend) / (UInt64)(divisor)));
- }
-#else
-#define U64Divide(dividend, divisor, remainder) (( (void)((remainder) && (*((UInt64*)(remainder)) = ((UInt64)(dividend) % (UInt64)(divisor)))), ((UInt64)(dividend) / (UInt64)(divisor)) ))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64Divide(UInt64 dividend, UInt64 divisor, UInt64 *remainder) { return ( (void)((remainder) && (*((UInt64*)(remainder)) = ((UInt64)(dividend) % (UInt64)(divisor)))), ((UInt64)(dividend) / (UInt64)(divisor)) ); }
+ #else
+ #define U64Divide(dividend, divisor, remainder) (( (void)((remainder) && (*((UInt64*)(remainder)) = ((UInt64)(dividend) % (UInt64)(divisor)))), ((UInt64)(dividend) / (UInt64)(divisor)) ))
+ #endif
#endif
- /*
- * U64Div()
- *
- * Discussion:
- * Divides dividend by divisor, returning the quotient.
- *
- * Availability:
- * Implemented by client
- */
- EXTERN_API_C(UInt64)
- U64Div(
- UInt64 dividend,
- UInt64 divisor);
+/*
+ * U64Div()
+ *
+ * Discussion:
+ * Divides dividend by divisor, returning the quotient.
+ *
+ * Availability:
+ * Implemented by client
+ */
+EXTERN_API_C( UInt64 )
+U64Div(
+ UInt64 dividend,
+ UInt64 divisor);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64Div(UInt64 dividend, UInt64 divisor)
- {
- return U64Divide((dividend), (divisor), NULL);
- }
-#else
-#define U64Div(dividend, divisor) (U64Divide((dividend), (divisor), NULL))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64Div(UInt64 dividend, UInt64 divisor) { return U64Divide((dividend), (divisor), NULL); }
+ #else
+ #define U64Div(dividend, divisor) (U64Divide((dividend), (divisor), NULL))
+ #endif
#endif
- /*
- * U64Set()
- *
- * Discussion:
- * Given an SInt32, returns an UInt64 with the same value. Use this
- * routine instead of coding 64-bit constants (at least when the
- * constant will fit in an SInt32).
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64Set(SInt32 value);
+/*
+ * U64Set()
+ *
+ * Discussion:
+ * Given an SInt32, returns an UInt64 with the same value. Use this
+ * routine instead of coding 64-bit constants (at least when the
+ * constant will fit in an SInt32).
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64Set(SInt32 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64Set(SInt32 value)
- {
- return (UInt64)(value);
- }
-#else
-#define U64Set(value) ((UInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64Set(SInt32 value) { return (UInt64)(value); }
+ #else
+ #define U64Set(value) ((UInt64)(value))
+ #endif
#endif
- /*
- * U64SetU()
- *
- * Discussion:
- * Given a UInt32, returns a UInt64 with the same value.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64SetU(UInt32 value);
+/*
+ * U64SetU()
+ *
+ * Discussion:
+ * Given a UInt32, returns a UInt64 with the same value.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64SetU(UInt32 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64SetU(UInt32 value)
- {
- return (UInt64)(value);
- }
-#else
-#define U64SetU(value) ((UInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64SetU(UInt32 value) { return (UInt64)(value); }
+ #else
+ #define U64SetU(value) ((UInt64)(value))
+ #endif
#endif
- /*
- * U32SetU()
- *
- * Discussion:
- * Given an UInt64, returns an UInt32 by discarding the high-order
- * 32 bits.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- U32SetU(UInt64 value);
+/*
+ * U32SetU()
+ *
+ * Discussion:
+ * Given an UInt64, returns an UInt32 by discarding the high-order
+ * 32 bits.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+U32SetU(UInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt32) U32SetU(UInt64 value)
- {
- return (UInt32)(value);
- }
-#else
-#define U32SetU(value) ((UInt32)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt32 ) U32SetU(UInt64 value) { return (UInt32)(value); }
+ #else
+ #define U32SetU(value) ((UInt32)(value))
+ #endif
#endif
- /*
- * U64And()
- *
- * Discussion:
- * Returns one if left and right are non-zero, otherwise returns zero
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- U64And(
- UInt64 left,
- UInt64 right);
+/*
+ * U64And()
+ *
+ * Discussion:
+ * Returns one if left and right are non-zero, otherwise returns zero
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+U64And(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) U64And(UInt64 left, UInt64 right)
- {
- return (UInt64)(left) && (UInt64)(right);
- }
-#else
-#define U64And(left, right) ((UInt64)(left) && (UInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) U64And(UInt64 left, UInt64 right) { return (UInt64)(left) && (UInt64)(right); }
+ #else
+ #define U64And(left, right) ((UInt64)(left) && (UInt64)(right))
+ #endif
#endif
- /*
- * U64Or()
- *
- * Discussion:
- * Returns one if left or right are non-zero, otherwise returns zero
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- U64Or(
- UInt64 left,
- UInt64 right);
+/*
+ * U64Or()
+ *
+ * Discussion:
+ * Returns one if left or right are non-zero, otherwise returns zero
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+U64Or(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) U64Or(UInt64 left, UInt64 right)
- {
- return (UInt64)(left) || (UInt64)(right);
- }
-#else
-#define U64Or(left, right) ((UInt64)(left) || (UInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) U64Or(UInt64 left, UInt64 right) { return (UInt64)(left) || (UInt64)(right); }
+ #else
+ #define U64Or(left, right) ((UInt64)(left) || (UInt64)(right))
+ #endif
#endif
- /*
- * U64Eor()
- *
- * Discussion:
- * Returns one if left xor right are non-zero, otherwise returns zero
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- U64Eor(
- UInt64 left,
- UInt64 right);
+/*
+ * U64Eor()
+ *
+ * Discussion:
+ * Returns one if left xor right are non-zero, otherwise returns zero
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+U64Eor(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) U64Eor(UInt64 left, UInt64 right)
- {
- return (Boolean)(((UInt64)(left) ? 1 : 0) ^((UInt64)(right) ? 1 : 0));
- }
-#else
-#define U64Eor(left, right) ((Boolean)(((UInt64)(left) ? 1 : 0) ^ ((UInt64)(right) ? 1 : 0)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) U64Eor(UInt64 left, UInt64 right) { return (Boolean)(((UInt64)(left) ? 1 : 0) ^ ((UInt64)(right) ? 1 : 0)); }
+ #else
+ #define U64Eor(left, right) ((Boolean)(((UInt64)(left) ? 1 : 0) ^ ((UInt64)(right) ? 1 : 0)))
+ #endif
#endif
- /*
- * U64Not()
- *
- * Discussion:
- * Returns one if value is non-zero, otherwisze returns zero.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- U64Not(UInt64 value);
+/*
+ * U64Not()
+ *
+ * Discussion:
+ * Returns one if value is non-zero, otherwisze returns zero.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+U64Not(UInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) U64Not(UInt64 value)
- {
- return !((UInt64)(value));
- }
-#else
-#define U64Not(value) (!((UInt64)(value)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean ) U64Not(UInt64 value) { return !((UInt64)(value)); }
+ #else
+ #define U64Not(value) (!((UInt64)(value)))
+ #endif
#endif
- /*
- * U64Compare()
- *
- * Discussion:
- * Given two unsigned numbers, left and right, returns an SInt32
- * that compares with zero the same way left compares with right.
- * If you wanted to perform a comparison on 64-bit integers of the
- * form:
- * operand_1 <operation> operand_2
- * then you could use an expression of the form:
- * xxxU64Compare(operand_1,operand_2) <operation> 0
- * to test for the same condition. CAUTION: DO NOT depend on the
- * exact value returned by this routine. Only the sign (i.e.
- * positive, zero, or negative) of the result is guaranteed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt32)
- U64Compare(
- UInt64 left,
- UInt64 right);
-
-
- /*
- * U64BitwiseAnd()
- *
- * Discussion:
- * bitwise AND
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64BitwiseAnd(
- UInt64 left,
- UInt64 right);
+/*
+ * U64Compare()
+ *
+ * Discussion:
+ * Given two unsigned numbers, left and right, returns an SInt32
+ * that compares with zero the same way left compares with right.
+ * If you wanted to perform a comparison on 64-bit integers of the
+ * form:
+ * operand_1 <operation> operand_2
+ * then you could use an expression of the form:
+ * xxxU64Compare(operand_1,operand_2) <operation> 0
+ * to test for the same condition. CAUTION: DO NOT depend on the
+ * exact value returned by this routine. Only the sign (i.e.
+ * positive, zero, or negative) of the result is guaranteed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt32 )
+U64Compare(
+ UInt64 left,
+ UInt64 right);
+
+
+/*
+ * U64BitwiseAnd()
+ *
+ * Discussion:
+ * bitwise AND
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64BitwiseAnd(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64BitwiseAnd(UInt64 left, UInt64 right)
- {
- return (UInt64)(left) & (UInt64)(right);
- }
-#else
-#define U64BitwiseAnd(left, right) ((UInt64)(left) & (UInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64BitwiseAnd(UInt64 left, UInt64 right) { return (UInt64)(left) & (UInt64)(right); }
+ #else
+ #define U64BitwiseAnd(left, right) ((UInt64)(left) & (UInt64)(right))
+ #endif
#endif
- /*
- * U64BitwiseOr()
- *
- * Discussion:
- * bitwise OR
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64BitwiseOr(
- UInt64 left,
- UInt64 right);
+/*
+ * U64BitwiseOr()
+ *
+ * Discussion:
+ * bitwise OR
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64BitwiseOr(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64BitwiseOr(UInt64 left, UInt64 right)
- {
- return (UInt64)(left) | (UInt64)(right);
- }
-#else
-#define U64BitwiseOr(left, right) ((UInt64)(left) | (UInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64BitwiseOr(UInt64 left, UInt64 right) { return (UInt64)(left) | (UInt64)(right); }
+ #else
+ #define U64BitwiseOr(left, right) ((UInt64)(left) | (UInt64)(right))
+ #endif
#endif
- /*
- * U64BitwiseEor()
- *
- * Discussion:
- * bitwise XOR
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64BitwiseEor(
- UInt64 left,
- UInt64 right);
+/*
+ * U64BitwiseEor()
+ *
+ * Discussion:
+ * bitwise XOR
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64BitwiseEor(
+ UInt64 left,
+ UInt64 right);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64BitwiseEor(UInt64 left, UInt64 right)
- {
- return (UInt64)(left) ^(UInt64)(right);
- }
-#else
-#define U64BitwiseEor(left, right) ((UInt64)(left) ^ (UInt64)(right))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64BitwiseEor(UInt64 left, UInt64 right) { return (UInt64)(left) ^ (UInt64)(right); }
+ #else
+ #define U64BitwiseEor(left, right) ((UInt64)(left) ^ (UInt64)(right))
+ #endif
#endif
- /*
- * U64BitwiseNot()
- *
- * Discussion:
- * bitwise negate
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64BitwiseNot(UInt64 value);
+/*
+ * U64BitwiseNot()
+ *
+ * Discussion:
+ * bitwise negate
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64BitwiseNot(UInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64BitwiseNot(UInt64 value)
- {
- return ~((UInt64)(value));
- }
-#else
-#define U64BitwiseNot(value) (~((UInt64)(value)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64BitwiseNot(UInt64 value) { return ~((UInt64)(value)); }
+ #else
+ #define U64BitwiseNot(value) (~((UInt64)(value)))
+ #endif
#endif
- /*
- * U64ShiftRight()
- *
- * Discussion:
- * Arithmetic shift of value by the lower 7 bits of the shift.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64ShiftRight(
- UInt64 value,
- UInt32 shift);
+/*
+ * U64ShiftRight()
+ *
+ * Discussion:
+ * Arithmetic shift of value by the lower 7 bits of the shift.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64ShiftRight(
+ UInt64 value,
+ UInt32 shift);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64ShiftRight(UInt64 value, UInt32 shift)
- {
- return (UInt64)(value) >> ((shift) & 0x7F);
- }
-#else
-#define U64ShiftRight(value, shift) ((UInt64)(value) >> ((shift) & 0x7F))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64ShiftRight(UInt64 value, UInt32 shift) { return (UInt64)(value) >> ((shift) & 0x7F); }
+ #else
+ #define U64ShiftRight(value, shift) ((UInt64)(value) >> ((shift) & 0x7F))
+ #endif
#endif
- /*
- * U64ShiftLeft()
- *
- * Discussion:
- * Logical shift of value by the lower 7 bits of the shift.
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- U64ShiftLeft(
- UInt64 value,
- UInt32 shift);
+/*
+ * U64ShiftLeft()
+ *
+ * Discussion:
+ * Logical shift of value by the lower 7 bits of the shift.
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+U64ShiftLeft(
+ UInt64 value,
+ UInt32 shift);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) U64ShiftLeft(UInt64 value, UInt32 shift)
- {
- return (UInt64)(value) << ((shift) & 0x7F);
- }
-#else
-#define U64ShiftLeft(value, shift) ((UInt64)(value) << ((shift) & 0x7F))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) U64ShiftLeft(UInt64 value, UInt32 shift) { return (UInt64)(value) << ((shift) & 0x7F); }
+ #else
+ #define U64ShiftLeft(value, shift) ((UInt64)(value) << ((shift) & 0x7F))
+ #endif
#endif
#if !TYPE_LONGDOUBLE_IS_DOUBLE
- /*
- * UInt64ToLongDouble()
- *
- * Discussion:
- * Convert an signed 64 bit integer to a long double (128-bit on
- * PowerPC floating point)
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double)
- UInt64ToLongDouble(UInt64 value);
+/*
+ * UInt64ToLongDouble()
+ *
+ * Discussion:
+ * Convert an signed 64 bit integer to a long double (128-bit on
+ * PowerPC floating point)
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double )
+UInt64ToLongDouble(UInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) UInt64ToLongDouble(UInt64 value)
- {
- return (long double)(value);
- }
-#else
-#define UInt64ToLongDouble(value) ((long double)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) UInt64ToLongDouble(UInt64 value) { return (long double)(value); }
+ #else
+ #define UInt64ToLongDouble(value) ((long double)(value))
+ #endif
#endif
- /*
- * LongDoubleToUInt64()
- *
- * Discussion:
- * Convert long double (128-bit on PowerPC floating point) to a
- * signed 64-bit integer
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt64)
- LongDoubleToUInt64(long double value);
+/*
+ * LongDoubleToUInt64()
+ *
+ * Discussion:
+ * Convert long double (128-bit on PowerPC floating point) to a
+ * signed 64-bit integer
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt64 )
+LongDoubleToUInt64(long double value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) LongDoubleToUInt64(long double value)
- {
- return (UInt64)(value);
- }
-#else
-#define LongDoubleToUInt64(value) ((UInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) LongDoubleToUInt64(long double value) { return (UInt64)(value); }
+ #else
+ #define LongDoubleToUInt64(value) ((UInt64)(value))
+ #endif
#endif
#endif /* !TYPE_LONGDOUBLE_IS_DOUBLE */
- /*
- * UInt64ToSInt64()
- *
- * Discussion:
- * converts UInt64 -> SInt64
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt64)
- UInt64ToSInt64(UInt64 value);
+/*
+ * UInt64ToSInt64()
+ *
+ * Discussion:
+ * converts UInt64 -> SInt64
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt64 )
+UInt64ToSInt64(UInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(SInt64) UInt64ToSInt64(UInt64 value)
- {
- return (SInt64)(value);
- }
-#else
-#define UInt64ToSInt64(value) ((SInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SInt64 ) UInt64ToSInt64(UInt64 value) { return (SInt64)(value); }
+ #else
+ #define UInt64ToSInt64(value) ((SInt64)(value))
+ #endif
#endif
- /*
- * SInt64ToUInt64()
- *
- * Discussion:
- * converts SInt64 -> UInt64
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt64)
- SInt64ToUInt64(SInt64 value);
+/*
+ * SInt64ToUInt64()
+ *
+ * Discussion:
+ * converts SInt64 -> UInt64
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt64 )
+SInt64ToUInt64(SInt64 value);
#if TYPE_LONGLONG
-#ifdef __cplusplus
- inline DEFINE_API_C(UInt64) SInt64ToUInt64(SInt64 value)
- {
- return (UInt64)(value);
- }
-#else
-#define SInt64ToUInt64(value) ((UInt64)(value))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UInt64 ) SInt64ToUInt64(SInt64 value) { return (UInt64)(value); }
+ #else
+ #define SInt64ToUInt64(value) ((UInt64)(value))
+ #endif
#endif
@@ -1493,36 +1346,36 @@ extern "C" {
- /*
- Functions to convert between [Unsigned]Wide and [S|U]Int64 types.
-
- These functions are necessary if source code which uses both
- wide and SInt64 is to compile under a compiler that supports
- long long.
-
- SInt64ToWide
-
- Converts a SInt64 to a wide struct. If SInt64 is implemented
- as a typedef of wide, the macro does nothing. If SInt64 is
- implemented as a long long, it casts the long long into a
- wide struct.
-
- WideToSInt64
-
- Converts a wide struct into a SInt64. If SInt64 is implemented
- as a typedef of wide, the macro does nothing. If SInt64 is
- implemented as a long long, it reads the struct into a long long.
- */
-#if TYPE_LONGLONG
-#define SInt64ToWide(x) (*((wide*)(&(x))))
-#define WideToSInt64(x) (*((SInt64*)(&(x))))
-#define UInt64ToUnsignedWide(x) (*((UnsignedWide*)(&(x))))
-#define UnsignedWideToUInt64(x) (*((UInt64*)(&(x))))
+/*
+ Functions to convert between [Unsigned]Wide and [S|U]Int64 types.
+
+ These functions are necessary if source code which uses both
+ wide and SInt64 is to compile under a compiler that supports
+ long long.
+
+ SInt64ToWide
+
+ Converts a SInt64 to a wide struct. If SInt64 is implemented
+ as a typedef of wide, the macro does nothing. If SInt64 is
+ implemented as a long long, it casts the long long into a
+ wide struct.
+
+ WideToSInt64
+
+ Converts a wide struct into a SInt64. If SInt64 is implemented
+ as a typedef of wide, the macro does nothing. If SInt64 is
+ implemented as a long long, it reads the struct into a long long.
+*/
+#if TYPE_LONGLONG
+ #define SInt64ToWide(x) (*((wide*)(&(x))))
+ #define WideToSInt64(x) (*((SInt64*)(&(x))))
+ #define UInt64ToUnsignedWide(x) (*((UnsignedWide*)(&(x))))
+ #define UnsignedWideToUInt64(x) (*((UInt64*)(&(x))))
#else
-#define SInt64ToWide(x) (x)
-#define WideToSInt64(x) (x)
-#define UInt64ToUnsignedWide(x) (x)
-#define UnsignedWideToUInt64(x) (x)
+ #define SInt64ToWide(x) (x)
+ #define WideToSInt64(x) (x)
+ #define UInt64ToUnsignedWide(x) (x)
+ #define UnsignedWideToUInt64(x) (x)
#endif
diff --git a/include/qt/MediaHandlers.h b/include/qt/MediaHandlers.h
index 438ea46e9..d725e0366 100644
--- a/include/qt/MediaHandlers.h
+++ b/include/qt/MediaHandlers.h
@@ -1,17 +1,17 @@
/*
File: MediaHandlers.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __MEDIAHANDLERS__
#define __MEDIAHANDLERS__
@@ -53,2086 +53,2062 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- typedef CALLBACK_API(void , PrePrerollCompleteProcPtr)(MediaHandler mh, OSErr err, void *refcon);
- typedef STACK_UPP_TYPE(PrePrerollCompleteProcPtr) PrePrerollCompleteUPP;
- /* derived media handler capability flags */
- enum
- {
- handlerHasSpatial = 1 << 0,
- handlerCanClip = 1 << 1,
- handlerCanMatte = 1 << 2,
- handlerCanTransferMode = 1 << 3,
- handlerNeedsBuffer = 1 << 4,
- handlerNoIdle = 1 << 5,
- handlerNoScheduler = 1 << 6,
- handlerWantsTime = 1 << 7,
- handlerCGrafPortOnly = 1 << 8,
- handlerCanSend = 1 << 9,
- handlerCanHandleComplexMatrix = 1 << 10,
- handlerWantsDestinationPixels = 1 << 11,
- handlerCanSendImageData = 1 << 12,
- handlerCanPicSave = 1 << 13
- };
-
- /* media task flags */
- enum
- {
- mMustDraw = 1 << 3,
- mAtEnd = 1 << 4,
- mPreflightDraw = 1 << 5,
- mSyncDrawing = 1 << 6,
- mPrecompositeOnly = 1 << 9,
- mSoundOnly = 1 << 10,
- mDoIdleActionsBeforeDraws = 1 << 11,
- mDisableIdleActions = 1 << 12
- };
-
- /* media task result flags */
- enum
- {
- mDidDraw = 1 << 0,
- mNeedsToDraw = 1 << 2,
- mDrawAgain = 1 << 3,
- mPartialDraw = 1 << 4,
- mWantIdleActions = 1 << 5
- };
-
- enum
- {
- forceUpdateRedraw = 1 << 0,
- forceUpdateNewBuffer = 1 << 1
- };
-
- /* media hit test flags */
- enum
- {
- mHitTestBounds = 1L << 0, /* point must only be within targetRefCon's bounding box */
- mHitTestImage = 1L << 1, /* point must be within the shape of the targetRefCon's image */
- mHitTestInvisible = 1L << 2, /* invisible targetRefCon's may be hit tested */
- mHitTestIsClick = 1L << 3 /* for codecs that want mouse events */
- };
-
- /* media is opaque flags */
- enum
- {
- mOpaque = 1L << 0,
- mInvisible = 1L << 1
- };
-
- /* MediaSetPublicInfo/MediaGetPublicInfo selectors */
- enum
- {
- kMediaQTIdleFrequencySelector = FOUR_CHAR_CODE('idfq')
- };
-
- struct GetMovieCompleteParams
- {
- short version;
- Movie theMovie;
- Track theTrack;
- Media theMedia;
- TimeScale movieScale;
- TimeScale mediaScale;
- TimeValue movieDuration;
- TimeValue trackDuration;
- TimeValue mediaDuration;
- Fixed effectiveRate;
- TimeBase timeBase;
- short volume;
- Fixed width;
- Fixed height;
- MatrixRecord trackMovieMatrix;
- CGrafPtr moviePort;
- GDHandle movieGD;
- PixMapHandle trackMatte;
- QTAtomContainer inputMap;
- QTMediaContextID mediaContextID;
- };
- typedef struct GetMovieCompleteParams GetMovieCompleteParams;
- enum
- {
- kMediaVideoParamBrightness = 1,
- kMediaVideoParamContrast = 2,
- kMediaVideoParamHue = 3,
- kMediaVideoParamSharpness = 4,
- kMediaVideoParamSaturation = 5,
- kMediaVideoParamBlackLevel = 6,
- kMediaVideoParamWhiteLevel = 7
- };
-
- /* These are for MediaGetInfo() and MediaSetInfo().*/
- enum
- {
- kMHInfoEncodedFrameRate = FOUR_CHAR_CODE('orat') /* Parameter is a MHInfoEncodedFrameRateRecord*.*/
- };
-
- /* This holds the frame rate at which the track was encoded.*/
- struct MHInfoEncodedFrameRateRecord
- {
- Fixed encodedFrameRate;
- };
- typedef struct MHInfoEncodedFrameRateRecord MHInfoEncodedFrameRateRecord;
-
- typedef Handle * dataHandlePtr;
- typedef dataHandlePtr * dataHandleHandle;
-
- struct QTCustomActionTargetRecord
- {
- Movie movie;
- DoMCActionUPP doMCActionCallbackProc;
- long callBackRefcon;
- Track track;
- long trackObjectRefCon;
- Track defaultTrack;
- long defaultObjectRefCon;
- long reserved1;
- long reserved2;
- };
- typedef struct QTCustomActionTargetRecord QTCustomActionTargetRecord;
- typedef QTCustomActionTargetRecord * QTCustomActionTargetPtr;
- struct MediaEQSpectrumBandsRecord
- {
- short count;
- UnsignedFixedPtr frequency; /* pointer to array of frequencies*/
- };
- typedef struct MediaEQSpectrumBandsRecord MediaEQSpectrumBandsRecord;
- typedef MediaEQSpectrumBandsRecord * MediaEQSpectrumBandsRecordPtr;
- /*
- * CallComponentExecuteWiredAction()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- CallComponentExecuteWiredAction(
- ComponentInstance ci,
- QTAtomContainer actionContainer,
- QTAtom actionAtom,
- QTCustomActionTargetPtr target,
- QTEventRecordPtr event) FIVEWORDINLINE(0x2F3C, 0x0010, 0xFFF7, 0x7000, 0xA82A);
-
-
-
- /* MediaCallRange2 */
- /* These are unique to each type of media handler */
- /* They are also included in the public interfaces */
-
-
- /* Flags for MediaSetChunkManagementFlags*/
- enum
- {
- kEmptyPurgableChunksOverAllowance = 1
- };
-
- /*
- * MediaSetChunkManagementFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetChunkManagementFlags(
- MediaHandler mh,
- UInt32 flags,
- UInt32 flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0415, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetChunkManagementFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetChunkManagementFlags(
- MediaHandler mh,
- UInt32 * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0416, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetPurgeableChunkMemoryAllowance()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetPurgeableChunkMemoryAllowance(
- MediaHandler mh,
- Size allowance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0417, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetPurgeableChunkMemoryAllowance()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetPurgeableChunkMemoryAllowance(
- MediaHandler mh,
- Size * allowance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0418, 0x7000, 0xA82A);
-
-
- /*
- * MediaEmptyAllPurgeableChunks()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaEmptyAllPurgeableChunks(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0419, 0x7000, 0xA82A);
-
-
- /***** These are the calls for dealing with the Generic media handler *****/
- /*
- * MediaInitialize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaInitialize(
- MediaHandler mh,
- GetMovieCompleteParams * gmc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0501, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetHandlerCapabilities()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetHandlerCapabilities(
- MediaHandler mh,
- long flags,
- long flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0502, 0x7000, 0xA82A);
-
-
- /*
- * MediaIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaIdle(
- MediaHandler mh,
- TimeValue atMediaTime,
- long flagsIn,
- long * flagsOut,
- const TimeRecord * movieTime) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0503, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetMediaInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetMediaInfo(
- MediaHandler mh,
- Handle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0504, 0x7000, 0xA82A);
-
-
- /*
- * MediaPutMediaInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaPutMediaInfo(
- MediaHandler mh,
- Handle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0505, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetActive()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetActive(
- MediaHandler mh,
- Boolean enableMedia) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0506, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetRate(
- MediaHandler mh,
- Fixed rate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0507, 0x7000, 0xA82A);
-
-
- /*
- * MediaGGetStatus()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGGetStatus(
- MediaHandler mh,
- ComponentResult * statusErr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0508, 0x7000, 0xA82A);
-
-
- /*
- * MediaTrackEdited()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaTrackEdited(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0509, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetMediaTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetMediaTimeScale(
- MediaHandler mh,
- TimeScale newTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050A, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetMovieTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetMovieTimeScale(
- MediaHandler mh,
- TimeScale newTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050B, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetGWorld(
- MediaHandler mh,
- CGrafPtr aPort,
- GDHandle aGD) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050C, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetDimensions(
- MediaHandler mh,
- Fixed width,
- Fixed height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050D, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetClip(
- MediaHandler mh,
- RgnHandle theClip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050E, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetMatrix(
- MediaHandler mh,
- MatrixRecord * trackMovieMatrix) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050F, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetTrackOpaque()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetTrackOpaque(
- MediaHandler mh,
- Boolean * trackIsOpaque) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0510, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetGraphicsMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetGraphicsMode(
- MediaHandler mh,
- long mode,
- const RGBColor * opColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0511, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetGraphicsMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetGraphicsMode(
- MediaHandler mh,
- long * mode,
- RGBColor * opColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0512, 0x7000, 0xA82A);
-
-
- /*
- * MediaGSetVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGSetVolume(
- MediaHandler mh,
- short volume) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0513, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetSoundBalance()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetSoundBalance(
- MediaHandler mh,
- short balance) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0514, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSoundBalance()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSoundBalance(
- MediaHandler mh,
- short * balance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0515, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetNextBoundsChange()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetNextBoundsChange(
- MediaHandler mh,
- TimeValue * when) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0516, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSrcRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSrcRgn(
- MediaHandler mh,
- RgnHandle rgn,
- TimeValue atMediaTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0517, 0x7000, 0xA82A);
-
-
- /*
- * MediaPreroll()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaPreroll(
- MediaHandler mh,
- TimeValue time,
- Fixed rate) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0518, 0x7000, 0xA82A);
-
-
- /*
- * MediaSampleDescriptionChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSampleDescriptionChanged(
- MediaHandler mh,
- long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0519, 0x7000, 0xA82A);
-
-
- /*
- * MediaHasCharacteristic()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaHasCharacteristic(
- MediaHandler mh,
- OSType characteristic,
- Boolean * hasIt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x051A, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetOffscreenBufferSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetOffscreenBufferSize(
- MediaHandler mh,
- Rect * bounds,
- short depth,
- CTabHandle ctab) FIVEWORDINLINE(0x2F3C, 0x000A, 0x051B, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetHints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetHints(
- MediaHandler mh,
- long hints) FIVEWORDINLINE(0x2F3C, 0x0004, 0x051C, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetName(
- MediaHandler mh,
- Str255 name,
- long requestedLanguage,
- long * actualLanguage) FIVEWORDINLINE(0x2F3C, 0x000C, 0x051D, 0x7000, 0xA82A);
-
-
- /*
- * MediaForceUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaForceUpdate(
- MediaHandler mh,
- long forceUpdateFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x051E, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetDrawingRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetDrawingRgn(
- MediaHandler mh,
- RgnHandle * partialRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x051F, 0x7000, 0xA82A);
-
-
- /*
- * MediaGSetActiveSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGSetActiveSegment(
- MediaHandler mh,
- TimeValue activeStart,
- TimeValue activeDuration) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0520, 0x7000, 0xA82A);
-
-
- /*
- * MediaInvalidateRegion()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaInvalidateRegion(
- MediaHandler mh,
- RgnHandle invalRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0521, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetNextStepTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetNextStepTime(
- MediaHandler mh,
- short flags,
- TimeValue mediaTimeIn,
- TimeValue * mediaTimeOut,
- Fixed rate) FIVEWORDINLINE(0x2F3C, 0x000E, 0x0522, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetNonPrimarySourceData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetNonPrimarySourceData(
- MediaHandler mh,
- long inputIndex,
- long dataDescriptionSeed,
- Handle dataDescription,
- void * data,
- long dataSize,
- ICMCompletionProcRecordPtr asyncCompletionProc,
- ICMConvertDataFormatUPP transferProc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0020, 0x0523, 0x7000, 0xA82A);
-
-
- /*
- * MediaChangedNonPrimarySource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaChangedNonPrimarySource(
- MediaHandler mh,
- long inputIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0524, 0x7000, 0xA82A);
-
-
- /*
- * MediaTrackReferencesChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaTrackReferencesChanged(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0525, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSampleDataPointer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSampleDataPointer(
- MediaHandler mh,
- long sampleNum,
- Ptr * dataPtr,
- long * dataSize,
- long * sampleDescIndex) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0526, 0x7000, 0xA82A);
-
-
- /*
- * MediaReleaseSampleDataPointer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaReleaseSampleDataPointer(
- MediaHandler mh,
- long sampleNum) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0527, 0x7000, 0xA82A);
-
-
- /*
- * MediaTrackPropertyAtomChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaTrackPropertyAtomChanged(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0528, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetTrackInputMapReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetTrackInputMapReference(
- MediaHandler mh,
- QTAtomContainer inputMap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0529, 0x7000, 0xA82A);
-
-
-
- /*
- * MediaSetVideoParam()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetVideoParam(
- MediaHandler mh,
- long whichParam,
- unsigned short * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x052B, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetVideoParam()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetVideoParam(
- MediaHandler mh,
- long whichParam,
- unsigned short * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x052C, 0x7000, 0xA82A);
-
-
- /*
- * MediaCompare()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaCompare(
- MediaHandler mh,
- Boolean * isOK,
- Media srcMedia,
- ComponentInstance srcMediaComponent) FIVEWORDINLINE(0x2F3C, 0x000C, 0x052D, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetClock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetClock(
- MediaHandler mh,
- ComponentInstance * clock) FIVEWORDINLINE(0x2F3C, 0x0004, 0x052E, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetSoundOutputComponent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetSoundOutputComponent(
- MediaHandler mh,
- Component outputComponent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x052F, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSoundOutputComponent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSoundOutputComponent(
- MediaHandler mh,
- Component * outputComponent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0530, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetSoundLocalizationData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetSoundLocalizationData(
- MediaHandler mh,
- Handle data) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0531, 0x7000, 0xA82A);
-
-
-
- /*
- * MediaGetInvalidRegion()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetInvalidRegion(
- MediaHandler mh,
- RgnHandle rgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x053C, 0x7000, 0xA82A);
-
-
-
- /*
- * MediaSampleDescriptionB2N()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSampleDescriptionB2N(
- MediaHandler mh,
- SampleDescriptionHandle sampleDescriptionH) FIVEWORDINLINE(0x2F3C, 0x0004, 0x053E, 0x7000, 0xA82A);
-
-
- /*
- * MediaSampleDescriptionN2B()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSampleDescriptionN2B(
- MediaHandler mh,
- SampleDescriptionHandle sampleDescriptionH) FIVEWORDINLINE(0x2F3C, 0x0004, 0x053F, 0x7000, 0xA82A);
-
-
- /*
- * MediaQueueNonPrimarySourceData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaQueueNonPrimarySourceData(
- MediaHandler mh,
- long inputIndex,
- long dataDescriptionSeed,
- Handle dataDescription,
- void * data,
- long dataSize,
- ICMCompletionProcRecordPtr asyncCompletionProc,
- const ICMFrameTimeRecord * frameTime,
- ICMConvertDataFormatUPP transferProc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0024, 0x0540, 0x7000, 0xA82A);
-
-
- /*
- * MediaFlushNonPrimarySourceData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaFlushNonPrimarySourceData(
- MediaHandler mh,
- long inputIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0541, 0x7000, 0xA82A);
-
-
-
- /*
- * MediaGetURLLink()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetURLLink(
- MediaHandler mh,
- Point displayWhere,
- Handle * urlLink) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0543, 0x7000, 0xA82A);
-
-
-
- /*
- * MediaMakeMediaTimeTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaMakeMediaTimeTable(
- MediaHandler mh,
- long ** offsets,
- TimeValue startTime,
- TimeValue endTime,
- TimeValue timeIncrement,
- short firstDataRefIndex,
- short lastDataRefIndex,
- long * retDataRefSkew) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0545, 0x7000, 0xA82A);
-
-
- /*
- * MediaHitTestForTargetRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaHitTestForTargetRefCon(
- MediaHandler mh,
- long flags,
- Point loc,
- long * targetRefCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0546, 0x7000, 0xA82A);
-
-
- /*
- * MediaHitTestTargetRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaHitTestTargetRefCon(
- MediaHandler mh,
- long targetRefCon,
- long flags,
- Point loc,
- Boolean * wasHit) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0547, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetActionsForQTEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetActionsForQTEvent(
- MediaHandler mh,
- QTEventRecordPtr event,
- long targetRefCon,
- QTAtomContainer * container,
- QTAtom * atom) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0548, 0x7000, 0xA82A);
-
-
- /*
- * MediaDisposeTargetRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaDisposeTargetRefCon(
- MediaHandler mh,
- long targetRefCon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0549, 0x7000, 0xA82A);
-
-
- /*
- * MediaTargetRefConsEqual()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaTargetRefConsEqual(
- MediaHandler mh,
- long firstRefCon,
- long secondRefCon,
- Boolean * equal) FIVEWORDINLINE(0x2F3C, 0x000C, 0x054A, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetActionsCallback()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetActionsCallback(
- MediaHandler mh,
- ActionsUPP actionsCallbackProc,
- void * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x054B, 0x7000, 0xA82A);
-
-
- /*
- * MediaPrePrerollBegin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaPrePrerollBegin(
- MediaHandler mh,
- TimeValue time,
- Fixed rate,
- PrePrerollCompleteUPP completeProc,
- void * refcon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x054C, 0x7000, 0xA82A);
-
-
- /*
- * MediaPrePrerollCancel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaPrePrerollCancel(
- MediaHandler mh,
- void * refcon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x054D, 0x7000, 0xA82A);
-
-
- /*
- * MediaEnterEmptyEdit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaEnterEmptyEdit(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x054F, 0x7000, 0xA82A);
-
-
- /*
- * MediaCurrentMediaQueuedData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaCurrentMediaQueuedData(
- MediaHandler mh,
- long * milliSecs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0550, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetEffectiveVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetEffectiveVolume(
- MediaHandler mh,
- short * volume) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0551, 0x7000, 0xA82A);
-
-
- /*
- * MediaResolveTargetRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaResolveTargetRefCon(
- MediaHandler mh,
- QTAtomContainer container,
- QTAtom atom,
- long * targetRefCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0552, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSoundLevelMeteringEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSoundLevelMeteringEnabled(
- MediaHandler mh,
- Boolean * enabled) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0553, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetSoundLevelMeteringEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetSoundLevelMeteringEnabled(
- MediaHandler mh,
- Boolean enable) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0554, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSoundLevelMeterInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSoundLevelMeterInfo(
- MediaHandler mh,
- LevelMeterInfoPtr levelInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0555, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetEffectiveSoundBalance()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetEffectiveSoundBalance(
- MediaHandler mh,
- short * balance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0556, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetScreenLock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetScreenLock(
- MediaHandler mh,
- Boolean lockIt) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0557, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetDoMCActionCallback()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetDoMCActionCallback(
- MediaHandler mh,
- DoMCActionUPP doMCActionCallbackProc,
- void * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0558, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetErrorString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetErrorString(
- MediaHandler mh,
- ComponentResult theError,
- Str255 errorString) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0559, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSoundEqualizerBands()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSoundEqualizerBands(
- MediaHandler mh,
- MediaEQSpectrumBandsRecordPtr spectrumInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x055A, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetSoundEqualizerBands()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetSoundEqualizerBands(
- MediaHandler mh,
- MediaEQSpectrumBandsRecordPtr spectrumInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x055B, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSoundEqualizerBandLevels()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSoundEqualizerBandLevels(
- MediaHandler mh,
- UInt8 * bandLevels) FIVEWORDINLINE(0x2F3C, 0x0004, 0x055C, 0x7000, 0xA82A);
-
-
- /*
- * MediaDoIdleActions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaDoIdleActions(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x055D, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetSoundBassAndTreble()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetSoundBassAndTreble(
- MediaHandler mh,
- short bass,
- short treble) FIVEWORDINLINE(0x2F3C, 0x0004, 0x055E, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetSoundBassAndTreble()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetSoundBassAndTreble(
- MediaHandler mh,
- short * bass,
- short * treble) FIVEWORDINLINE(0x2F3C, 0x0008, 0x055F, 0x7000, 0xA82A);
-
-
- /*
- * MediaTimeBaseChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaTimeBaseChanged(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0560, 0x7000, 0xA82A);
-
-
- /*
- * MediaMCIsPlayerEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MediaMCIsPlayerEvent(
- MediaHandler mh,
- const EventRecord * e,
- Boolean * handledIt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0561, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetMediaLoadState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetMediaLoadState(
- MediaHandler mh,
- long * mediaLoadState) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0562, 0x7000, 0xA82A);
-
-
- /*
- * MediaVideoOutputChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaVideoOutputChanged(
- MediaHandler mh,
- ComponentInstance vout) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0563, 0x7000, 0xA82A);
-
-
- /*
- * MediaEmptySampleCache()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaEmptySampleCache(
- MediaHandler mh,
- long sampleNum,
- long sampleCount) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0564, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetPublicInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetPublicInfo(
- MediaHandler mh,
- OSType infoSelector,
- void * infoDataPtr,
- Size * ioDataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0565, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetPublicInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetPublicInfo(
- MediaHandler mh,
- OSType infoSelector,
- void * infoDataPtr,
- Size dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0566, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetUserPreferredCodecs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGetUserPreferredCodecs(
- MediaHandler mh,
- CodecComponentHandle * userPreferredCodecs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0567, 0x7000, 0xA82A);
-
-
- /*
- * MediaSetUserPreferredCodecs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaSetUserPreferredCodecs(
- MediaHandler mh,
- CodecComponentHandle userPreferredCodecs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0568, 0x7000, 0xA82A);
-
-
- /* Keyboard Focus Support*/
-
- /*
- * MediaRefConSetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaRefConSetProperty(
- MediaHandler mh,
- long refCon,
- long propertyType,
- void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0569, 0x7000, 0xA82A);
-
-
- /*
- * MediaRefConGetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaRefConGetProperty(
- MediaHandler mh,
- long refCon,
- long propertyType,
- void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x056A, 0x7000, 0xA82A);
-
-
- /*
- * MediaNavigateTargetRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaNavigateTargetRefCon(
- MediaHandler mh,
- long navigation,
- long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x056B, 0x7000, 0xA82A);
-
-
-
- /*
- * MediaGGetIdleManager()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGGetIdleManager(
- MediaHandler mh,
- IdleManager * pim) FIVEWORDINLINE(0x2F3C, 0x0004, 0x056C, 0x7000, 0xA82A);
-
-
- /*
- * MediaGSetIdleManager()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MediaGSetIdleManager(
- MediaHandler mh,
- IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x056D, 0x7000, 0xA82A);
-
-
- /*
- * MediaGGetLatency()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- MediaGGetLatency(
- MediaHandler mh,
- TimeRecord * latency) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0571, 0x7000, 0xA82A);
-
-
- /* Aperture Mode Support*/
-
- /*
- * MediaSetTrackApertureModeDimensionsUsingSampleDescription()
- *
- * Summary:
- * Sets the three aperture mode dimension properties on the track,
- * calculating the values using the provided sample description.
- *
- * Parameters:
- *
- * mh:
- * [in] The media handler.
- *
- * sampleDesc:
- * [in] The sample description handle.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(ComponentResult)
- MediaSetTrackApertureModeDimensionsUsingSampleDescription(
- MediaHandler mh,
- SampleDescriptionHandle sampleDesc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0579, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetApertureModeClipRectForSampleDescriptionIndex()
- *
- * Summary:
- * Calculates a source clip rectangle appropriate for the current
- * aperture mode and the given sample description.
- *
- * Discussion:
- * If the track's aperture mode is kQTApertureMode_CleanAperture,
- * the rectangle should be the clean aperture as described by the
- * sample description (see
- * kICMImageDescriptionPropertyID_CleanApertureClipRect); otherwise
- * it should be the full dimensions of the sample description.
- *
- * Parameters:
- *
- * mh:
- * [in] The media handler.
- *
- * sampleDescIndex:
- * [in] Indicates the sample description index of sample
- * description in the media
- *
- * clipFixedRectOut:
- * [out] Points to a variable to receive the clip rectangle.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(ComponentResult)
- MediaGetApertureModeClipRectForSampleDescriptionIndex(
- MediaHandler mh,
- long sampleDescIndex,
- FixedRect * clipFixedRectOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x057A, 0x7000, 0xA82A);
-
-
- /*
- * MediaGetApertureModeMatrixForSampleDescriptionIndex()
- *
- * Summary:
- * Calculates a matrix appropriate for the current aperture mode and
- * the given sample description.
- *
- * Discussion:
- * If the track's aperture mode is kQTApertureMode_CleanAperture or
- * kQTApertureMode_ProductionAperture, the matrix should scale
- * horizontally to compensate for the pixel aspect ratio. Otherwise
- * the matrix should be identity. If the track's aperture mode is
- * kQTApertureMode_CleanAperture, the matrix should translate the
- * top-left point of the clean aperture to the origin. (See
- * kICMImageDescriptionPropertyID_CleanApertureMatrix and
- * kICMImageDescriptionPropertyID_ProductionApertureMatrix.)
- *
- * Parameters:
- *
- * mh:
- * [in] The media handler.
- *
- * sampleDescIndex:
- * [in] Indicates the sample description index of sample
- * description in the media
- *
- * matrixOut:
- * [out] Points to a variable to receive the matrix.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(ComponentResult)
- MediaGetApertureModeMatrixForSampleDescriptionIndex(
- MediaHandler mh,
- long sampleDescIndex,
- MatrixRecord * matrixOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x057B, 0x7000, 0xA82A);
-
-
- /*
- * MediaGenerateApertureModeDimensions()
- *
- * Summary:
- * Examines a movie and sets up track aperture mode dimensions.
- *
- * Discussion:
- * If the sample descriptions tracks lack tags describing clean
- * aperture and pixel aspect ratio information, the media data may
- * be scanned to see if the correct values can be divined and
- * attached. Then the aperture mode dimensions should be calculated
- * and set, as by
- * MediaSetTrackApertureModeDimensionsUsingSampleDescription.
- *
- * Parameters:
- *
- * mh:
- * [in] The media handler.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(ComponentResult)
- MediaGenerateApertureModeDimensions(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x057C, 0x7000, 0xA82A);
-
-
-
-
-
-
- /* selectors for component calls */
- enum
- {
- kCallComponentExecuteWiredActionSelect = -9,
- kMediaSetChunkManagementFlagsSelect = 0x0415,
- kMediaGetChunkManagementFlagsSelect = 0x0416,
- kMediaSetPurgeableChunkMemoryAllowanceSelect = 0x0417,
- kMediaGetPurgeableChunkMemoryAllowanceSelect = 0x0418,
- kMediaEmptyAllPurgeableChunksSelect = 0x0419,
- kMediaInitializeSelect = 0x0501,
- kMediaSetHandlerCapabilitiesSelect = 0x0502,
- kMediaIdleSelect = 0x0503,
- kMediaGetMediaInfoSelect = 0x0504,
- kMediaPutMediaInfoSelect = 0x0505,
- kMediaSetActiveSelect = 0x0506,
- kMediaSetRateSelect = 0x0507,
- kMediaGGetStatusSelect = 0x0508,
- kMediaTrackEditedSelect = 0x0509,
- kMediaSetMediaTimeScaleSelect = 0x050A,
- kMediaSetMovieTimeScaleSelect = 0x050B,
- kMediaSetGWorldSelect = 0x050C,
- kMediaSetDimensionsSelect = 0x050D,
- kMediaSetClipSelect = 0x050E,
- kMediaSetMatrixSelect = 0x050F,
- kMediaGetTrackOpaqueSelect = 0x0510,
- kMediaSetGraphicsModeSelect = 0x0511,
- kMediaGetGraphicsModeSelect = 0x0512,
- kMediaGSetVolumeSelect = 0x0513,
- kMediaSetSoundBalanceSelect = 0x0514,
- kMediaGetSoundBalanceSelect = 0x0515,
- kMediaGetNextBoundsChangeSelect = 0x0516,
- kMediaGetSrcRgnSelect = 0x0517,
- kMediaPrerollSelect = 0x0518,
- kMediaSampleDescriptionChangedSelect = 0x0519,
- kMediaHasCharacteristicSelect = 0x051A,
- kMediaGetOffscreenBufferSizeSelect = 0x051B,
- kMediaSetHintsSelect = 0x051C,
- kMediaGetNameSelect = 0x051D,
- kMediaForceUpdateSelect = 0x051E,
- kMediaGetDrawingRgnSelect = 0x051F,
- kMediaGSetActiveSegmentSelect = 0x0520,
- kMediaInvalidateRegionSelect = 0x0521,
- kMediaGetNextStepTimeSelect = 0x0522,
- kMediaSetNonPrimarySourceDataSelect = 0x0523,
- kMediaChangedNonPrimarySourceSelect = 0x0524,
- kMediaTrackReferencesChangedSelect = 0x0525,
- kMediaGetSampleDataPointerSelect = 0x0526,
- kMediaReleaseSampleDataPointerSelect = 0x0527,
- kMediaTrackPropertyAtomChangedSelect = 0x0528,
- kMediaSetTrackInputMapReferenceSelect = 0x0529,
- kMediaSetVideoParamSelect = 0x052B,
- kMediaGetVideoParamSelect = 0x052C,
- kMediaCompareSelect = 0x052D,
- kMediaGetClockSelect = 0x052E,
- kMediaSetSoundOutputComponentSelect = 0x052F,
- kMediaGetSoundOutputComponentSelect = 0x0530,
- kMediaSetSoundLocalizationDataSelect = 0x0531,
- kMediaGetInvalidRegionSelect = 0x053C,
- kMediaSampleDescriptionB2NSelect = 0x053E,
- kMediaSampleDescriptionN2BSelect = 0x053F,
- kMediaQueueNonPrimarySourceDataSelect = 0x0540,
- kMediaFlushNonPrimarySourceDataSelect = 0x0541,
- kMediaGetURLLinkSelect = 0x0543,
- kMediaMakeMediaTimeTableSelect = 0x0545,
- kMediaHitTestForTargetRefConSelect = 0x0546,
- kMediaHitTestTargetRefConSelect = 0x0547,
- kMediaGetActionsForQTEventSelect = 0x0548,
- kMediaDisposeTargetRefConSelect = 0x0549,
- kMediaTargetRefConsEqualSelect = 0x054A,
- kMediaSetActionsCallbackSelect = 0x054B,
- kMediaPrePrerollBeginSelect = 0x054C,
- kMediaPrePrerollCancelSelect = 0x054D,
- kMediaEnterEmptyEditSelect = 0x054F,
- kMediaCurrentMediaQueuedDataSelect = 0x0550,
- kMediaGetEffectiveVolumeSelect = 0x0551,
- kMediaResolveTargetRefConSelect = 0x0552,
- kMediaGetSoundLevelMeteringEnabledSelect = 0x0553,
- kMediaSetSoundLevelMeteringEnabledSelect = 0x0554,
- kMediaGetSoundLevelMeterInfoSelect = 0x0555,
- kMediaGetEffectiveSoundBalanceSelect = 0x0556,
- kMediaSetScreenLockSelect = 0x0557,
- kMediaSetDoMCActionCallbackSelect = 0x0558,
- kMediaGetErrorStringSelect = 0x0559,
- kMediaGetSoundEqualizerBandsSelect = 0x055A,
- kMediaSetSoundEqualizerBandsSelect = 0x055B,
- kMediaGetSoundEqualizerBandLevelsSelect = 0x055C,
- kMediaDoIdleActionsSelect = 0x055D,
- kMediaSetSoundBassAndTrebleSelect = 0x055E,
- kMediaGetSoundBassAndTrebleSelect = 0x055F,
- kMediaTimeBaseChangedSelect = 0x0560,
- kMediaMCIsPlayerEventSelect = 0x0561,
- kMediaGetMediaLoadStateSelect = 0x0562,
- kMediaVideoOutputChangedSelect = 0x0563,
- kMediaEmptySampleCacheSelect = 0x0564,
- kMediaGetPublicInfoSelect = 0x0565,
- kMediaSetPublicInfoSelect = 0x0566,
- kMediaGetUserPreferredCodecsSelect = 0x0567,
- kMediaSetUserPreferredCodecsSelect = 0x0568,
- kMediaRefConSetPropertySelect = 0x0569,
- kMediaRefConGetPropertySelect = 0x056A,
- kMediaNavigateTargetRefConSelect = 0x056B,
- kMediaGGetIdleManagerSelect = 0x056C,
- kMediaGSetIdleManagerSelect = 0x056D,
- kMediaGGetLatencySelect = 0x0571,
- kMediaSetTrackApertureModeDimensionsUsingSampleDescriptionSelect = 0x0579,
- kMediaGetApertureModeClipRectForSampleDescriptionIndexSelect = 0x057A,
- kMediaGetApertureModeMatrixForSampleDescriptionIndexSelect = 0x057B,
- kMediaGenerateApertureModeDimensionsSelect = 0x057C
- };
- /*
- * NewPrePrerollCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PrePrerollCompleteUPP)
- NewPrePrerollCompleteUPP(PrePrerollCompleteProcPtr userRoutine);
+typedef CALLBACK_API( void , PrePrerollCompleteProcPtr )(MediaHandler mh, OSErr err, void *refcon);
+typedef STACK_UPP_TYPE(PrePrerollCompleteProcPtr) PrePrerollCompleteUPP;
+/* derived media handler capability flags */
+enum {
+ handlerHasSpatial = 1 << 0,
+ handlerCanClip = 1 << 1,
+ handlerCanMatte = 1 << 2,
+ handlerCanTransferMode = 1 << 3,
+ handlerNeedsBuffer = 1 << 4,
+ handlerNoIdle = 1 << 5,
+ handlerNoScheduler = 1 << 6,
+ handlerWantsTime = 1 << 7,
+ handlerCGrafPortOnly = 1 << 8,
+ handlerCanSend = 1 << 9,
+ handlerCanHandleComplexMatrix = 1 << 10,
+ handlerWantsDestinationPixels = 1 << 11,
+ handlerCanSendImageData = 1 << 12,
+ handlerCanPicSave = 1 << 13
+};
+
+/* media task flags */
+enum {
+ mMustDraw = 1 << 3,
+ mAtEnd = 1 << 4,
+ mPreflightDraw = 1 << 5,
+ mSyncDrawing = 1 << 6,
+ mPrecompositeOnly = 1 << 9,
+ mSoundOnly = 1 << 10,
+ mDoIdleActionsBeforeDraws = 1 << 11,
+ mDisableIdleActions = 1 << 12
+};
+
+/* media task result flags */
+enum {
+ mDidDraw = 1 << 0,
+ mNeedsToDraw = 1 << 2,
+ mDrawAgain = 1 << 3,
+ mPartialDraw = 1 << 4,
+ mWantIdleActions = 1 << 5
+};
+
+enum {
+ forceUpdateRedraw = 1 << 0,
+ forceUpdateNewBuffer = 1 << 1
+};
+
+/* media hit test flags */
+enum {
+ mHitTestBounds = 1L << 0, /* point must only be within targetRefCon's bounding box */
+ mHitTestImage = 1L << 1, /* point must be within the shape of the targetRefCon's image */
+ mHitTestInvisible = 1L << 2, /* invisible targetRefCon's may be hit tested */
+ mHitTestIsClick = 1L << 3 /* for codecs that want mouse events */
+};
+
+/* media is opaque flags */
+enum {
+ mOpaque = 1L << 0,
+ mInvisible = 1L << 1
+};
+
+/* MediaSetPublicInfo/MediaGetPublicInfo selectors */
+enum {
+ kMediaQTIdleFrequencySelector = FOUR_CHAR_CODE('idfq')
+};
+
+struct GetMovieCompleteParams {
+ short version;
+ Movie theMovie;
+ Track theTrack;
+ Media theMedia;
+ TimeScale movieScale;
+ TimeScale mediaScale;
+ TimeValue movieDuration;
+ TimeValue trackDuration;
+ TimeValue mediaDuration;
+ Fixed effectiveRate;
+ TimeBase timeBase;
+ short volume;
+ Fixed width;
+ Fixed height;
+ MatrixRecord trackMovieMatrix;
+ CGrafPtr moviePort;
+ GDHandle movieGD;
+ PixMapHandle trackMatte;
+ QTAtomContainer inputMap;
+ QTMediaContextID mediaContextID;
+};
+typedef struct GetMovieCompleteParams GetMovieCompleteParams;
+enum {
+ kMediaVideoParamBrightness = 1,
+ kMediaVideoParamContrast = 2,
+ kMediaVideoParamHue = 3,
+ kMediaVideoParamSharpness = 4,
+ kMediaVideoParamSaturation = 5,
+ kMediaVideoParamBlackLevel = 6,
+ kMediaVideoParamWhiteLevel = 7
+};
+
+/* These are for MediaGetInfo() and MediaSetInfo().*/
+enum {
+ kMHInfoEncodedFrameRate = FOUR_CHAR_CODE('orat') /* Parameter is a MHInfoEncodedFrameRateRecord*.*/
+};
+
+/* This holds the frame rate at which the track was encoded.*/
+struct MHInfoEncodedFrameRateRecord {
+ Fixed encodedFrameRate;
+};
+typedef struct MHInfoEncodedFrameRateRecord MHInfoEncodedFrameRateRecord;
+
+typedef Handle * dataHandlePtr;
+typedef dataHandlePtr * dataHandleHandle;
+
+struct QTCustomActionTargetRecord {
+ Movie movie;
+ DoMCActionUPP doMCActionCallbackProc;
+ long callBackRefcon;
+ Track track;
+ long trackObjectRefCon;
+ Track defaultTrack;
+ long defaultObjectRefCon;
+ long reserved1;
+ long reserved2;
+};
+typedef struct QTCustomActionTargetRecord QTCustomActionTargetRecord;
+typedef QTCustomActionTargetRecord * QTCustomActionTargetPtr;
+struct MediaEQSpectrumBandsRecord {
+ short count;
+ UnsignedFixedPtr frequency; /* pointer to array of frequencies*/
+};
+typedef struct MediaEQSpectrumBandsRecord MediaEQSpectrumBandsRecord;
+typedef MediaEQSpectrumBandsRecord * MediaEQSpectrumBandsRecordPtr;
+/*
+ * CallComponentExecuteWiredAction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+CallComponentExecuteWiredAction(
+ ComponentInstance ci,
+ QTAtomContainer actionContainer,
+ QTAtom actionAtom,
+ QTCustomActionTargetPtr target,
+ QTEventRecordPtr event) FIVEWORDINLINE(0x2F3C, 0x0010, 0xFFF7, 0x7000, 0xA82A);
+
+
+
+/* MediaCallRange2 */
+/* These are unique to each type of media handler */
+/* They are also included in the public interfaces */
+
+
+/* Flags for MediaSetChunkManagementFlags*/
+enum {
+ kEmptyPurgableChunksOverAllowance = 1
+};
+
+/*
+ * MediaSetChunkManagementFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetChunkManagementFlags(
+ MediaHandler mh,
+ UInt32 flags,
+ UInt32 flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0415, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetChunkManagementFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetChunkManagementFlags(
+ MediaHandler mh,
+ UInt32 * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0416, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetPurgeableChunkMemoryAllowance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetPurgeableChunkMemoryAllowance(
+ MediaHandler mh,
+ Size allowance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0417, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetPurgeableChunkMemoryAllowance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetPurgeableChunkMemoryAllowance(
+ MediaHandler mh,
+ Size * allowance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0418, 0x7000, 0xA82A);
+
+
+/*
+ * MediaEmptyAllPurgeableChunks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaEmptyAllPurgeableChunks(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0419, 0x7000, 0xA82A);
+
+
+/***** These are the calls for dealing with the Generic media handler *****/
+/*
+ * MediaInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaInitialize(
+ MediaHandler mh,
+ GetMovieCompleteParams * gmc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0501, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetHandlerCapabilities()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetHandlerCapabilities(
+ MediaHandler mh,
+ long flags,
+ long flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0502, 0x7000, 0xA82A);
+
+
+/*
+ * MediaIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaIdle(
+ MediaHandler mh,
+ TimeValue atMediaTime,
+ long flagsIn,
+ long * flagsOut,
+ const TimeRecord * movieTime) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0503, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetMediaInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetMediaInfo(
+ MediaHandler mh,
+ Handle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0504, 0x7000, 0xA82A);
+
+
+/*
+ * MediaPutMediaInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaPutMediaInfo(
+ MediaHandler mh,
+ Handle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0505, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetActive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetActive(
+ MediaHandler mh,
+ Boolean enableMedia) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0506, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetRate(
+ MediaHandler mh,
+ Fixed rate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0507, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGGetStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGGetStatus(
+ MediaHandler mh,
+ ComponentResult * statusErr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0508, 0x7000, 0xA82A);
+
+
+/*
+ * MediaTrackEdited()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaTrackEdited(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0509, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetMediaTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetMediaTimeScale(
+ MediaHandler mh,
+ TimeScale newTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050A, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetMovieTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetMovieTimeScale(
+ MediaHandler mh,
+ TimeScale newTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050B, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetGWorld(
+ MediaHandler mh,
+ CGrafPtr aPort,
+ GDHandle aGD) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050C, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetDimensions(
+ MediaHandler mh,
+ Fixed width,
+ Fixed height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050D, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetClip(
+ MediaHandler mh,
+ RgnHandle theClip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050E, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetMatrix(
+ MediaHandler mh,
+ MatrixRecord * trackMovieMatrix) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050F, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetTrackOpaque()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetTrackOpaque(
+ MediaHandler mh,
+ Boolean * trackIsOpaque) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0510, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetGraphicsMode(
+ MediaHandler mh,
+ long mode,
+ const RGBColor * opColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0511, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetGraphicsMode(
+ MediaHandler mh,
+ long * mode,
+ RGBColor * opColor) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0512, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGSetVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGSetVolume(
+ MediaHandler mh,
+ short volume) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0513, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetSoundBalance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetSoundBalance(
+ MediaHandler mh,
+ short balance) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0514, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSoundBalance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSoundBalance(
+ MediaHandler mh,
+ short * balance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0515, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetNextBoundsChange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetNextBoundsChange(
+ MediaHandler mh,
+ TimeValue * when) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0516, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSrcRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSrcRgn(
+ MediaHandler mh,
+ RgnHandle rgn,
+ TimeValue atMediaTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0517, 0x7000, 0xA82A);
+
+
+/*
+ * MediaPreroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaPreroll(
+ MediaHandler mh,
+ TimeValue time,
+ Fixed rate) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0518, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSampleDescriptionChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSampleDescriptionChanged(
+ MediaHandler mh,
+ long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0519, 0x7000, 0xA82A);
+
+
+/*
+ * MediaHasCharacteristic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaHasCharacteristic(
+ MediaHandler mh,
+ OSType characteristic,
+ Boolean * hasIt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x051A, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetOffscreenBufferSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetOffscreenBufferSize(
+ MediaHandler mh,
+ Rect * bounds,
+ short depth,
+ CTabHandle ctab) FIVEWORDINLINE(0x2F3C, 0x000A, 0x051B, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetHints(
+ MediaHandler mh,
+ long hints) FIVEWORDINLINE(0x2F3C, 0x0004, 0x051C, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetName(
+ MediaHandler mh,
+ Str255 name,
+ long requestedLanguage,
+ long * actualLanguage) FIVEWORDINLINE(0x2F3C, 0x000C, 0x051D, 0x7000, 0xA82A);
+
+
+/*
+ * MediaForceUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaForceUpdate(
+ MediaHandler mh,
+ long forceUpdateFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x051E, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetDrawingRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetDrawingRgn(
+ MediaHandler mh,
+ RgnHandle * partialRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x051F, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGSetActiveSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGSetActiveSegment(
+ MediaHandler mh,
+ TimeValue activeStart,
+ TimeValue activeDuration) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0520, 0x7000, 0xA82A);
+
+
+/*
+ * MediaInvalidateRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaInvalidateRegion(
+ MediaHandler mh,
+ RgnHandle invalRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0521, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetNextStepTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetNextStepTime(
+ MediaHandler mh,
+ short flags,
+ TimeValue mediaTimeIn,
+ TimeValue * mediaTimeOut,
+ Fixed rate) FIVEWORDINLINE(0x2F3C, 0x000E, 0x0522, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetNonPrimarySourceData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetNonPrimarySourceData(
+ MediaHandler mh,
+ long inputIndex,
+ long dataDescriptionSeed,
+ Handle dataDescription,
+ void * data,
+ long dataSize,
+ ICMCompletionProcRecordPtr asyncCompletionProc,
+ ICMConvertDataFormatUPP transferProc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0020, 0x0523, 0x7000, 0xA82A);
+
+
+/*
+ * MediaChangedNonPrimarySource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaChangedNonPrimarySource(
+ MediaHandler mh,
+ long inputIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0524, 0x7000, 0xA82A);
+
+
+/*
+ * MediaTrackReferencesChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaTrackReferencesChanged(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0525, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSampleDataPointer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSampleDataPointer(
+ MediaHandler mh,
+ long sampleNum,
+ Ptr * dataPtr,
+ long * dataSize,
+ long * sampleDescIndex) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0526, 0x7000, 0xA82A);
+
+
+/*
+ * MediaReleaseSampleDataPointer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaReleaseSampleDataPointer(
+ MediaHandler mh,
+ long sampleNum) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0527, 0x7000, 0xA82A);
+
+
+/*
+ * MediaTrackPropertyAtomChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaTrackPropertyAtomChanged(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0528, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetTrackInputMapReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetTrackInputMapReference(
+ MediaHandler mh,
+ QTAtomContainer inputMap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0529, 0x7000, 0xA82A);
+
+
+
+/*
+ * MediaSetVideoParam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetVideoParam(
+ MediaHandler mh,
+ long whichParam,
+ unsigned short * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x052B, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetVideoParam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetVideoParam(
+ MediaHandler mh,
+ long whichParam,
+ unsigned short * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x052C, 0x7000, 0xA82A);
+
+
+/*
+ * MediaCompare()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaCompare(
+ MediaHandler mh,
+ Boolean * isOK,
+ Media srcMedia,
+ ComponentInstance srcMediaComponent) FIVEWORDINLINE(0x2F3C, 0x000C, 0x052D, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetClock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetClock(
+ MediaHandler mh,
+ ComponentInstance * clock) FIVEWORDINLINE(0x2F3C, 0x0004, 0x052E, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetSoundOutputComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetSoundOutputComponent(
+ MediaHandler mh,
+ Component outputComponent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x052F, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSoundOutputComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSoundOutputComponent(
+ MediaHandler mh,
+ Component * outputComponent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0530, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetSoundLocalizationData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetSoundLocalizationData(
+ MediaHandler mh,
+ Handle data) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0531, 0x7000, 0xA82A);
+
+
+
+/*
+ * MediaGetInvalidRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetInvalidRegion(
+ MediaHandler mh,
+ RgnHandle rgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x053C, 0x7000, 0xA82A);
+
+
+
+/*
+ * MediaSampleDescriptionB2N()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSampleDescriptionB2N(
+ MediaHandler mh,
+ SampleDescriptionHandle sampleDescriptionH) FIVEWORDINLINE(0x2F3C, 0x0004, 0x053E, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSampleDescriptionN2B()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSampleDescriptionN2B(
+ MediaHandler mh,
+ SampleDescriptionHandle sampleDescriptionH) FIVEWORDINLINE(0x2F3C, 0x0004, 0x053F, 0x7000, 0xA82A);
+
+
+/*
+ * MediaQueueNonPrimarySourceData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaQueueNonPrimarySourceData(
+ MediaHandler mh,
+ long inputIndex,
+ long dataDescriptionSeed,
+ Handle dataDescription,
+ void * data,
+ long dataSize,
+ ICMCompletionProcRecordPtr asyncCompletionProc,
+ const ICMFrameTimeRecord * frameTime,
+ ICMConvertDataFormatUPP transferProc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0024, 0x0540, 0x7000, 0xA82A);
+
+
+/*
+ * MediaFlushNonPrimarySourceData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaFlushNonPrimarySourceData(
+ MediaHandler mh,
+ long inputIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0541, 0x7000, 0xA82A);
+
+
+
+/*
+ * MediaGetURLLink()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetURLLink(
+ MediaHandler mh,
+ Point displayWhere,
+ Handle * urlLink) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0543, 0x7000, 0xA82A);
+
+
+
+/*
+ * MediaMakeMediaTimeTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaMakeMediaTimeTable(
+ MediaHandler mh,
+ long ** offsets,
+ TimeValue startTime,
+ TimeValue endTime,
+ TimeValue timeIncrement,
+ short firstDataRefIndex,
+ short lastDataRefIndex,
+ long * retDataRefSkew) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0545, 0x7000, 0xA82A);
+
+
+/*
+ * MediaHitTestForTargetRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaHitTestForTargetRefCon(
+ MediaHandler mh,
+ long flags,
+ Point loc,
+ long * targetRefCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0546, 0x7000, 0xA82A);
+
+
+/*
+ * MediaHitTestTargetRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaHitTestTargetRefCon(
+ MediaHandler mh,
+ long targetRefCon,
+ long flags,
+ Point loc,
+ Boolean * wasHit) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0547, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetActionsForQTEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetActionsForQTEvent(
+ MediaHandler mh,
+ QTEventRecordPtr event,
+ long targetRefCon,
+ QTAtomContainer * container,
+ QTAtom * atom) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0548, 0x7000, 0xA82A);
+
+
+/*
+ * MediaDisposeTargetRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaDisposeTargetRefCon(
+ MediaHandler mh,
+ long targetRefCon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0549, 0x7000, 0xA82A);
+
+
+/*
+ * MediaTargetRefConsEqual()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaTargetRefConsEqual(
+ MediaHandler mh,
+ long firstRefCon,
+ long secondRefCon,
+ Boolean * equal) FIVEWORDINLINE(0x2F3C, 0x000C, 0x054A, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetActionsCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetActionsCallback(
+ MediaHandler mh,
+ ActionsUPP actionsCallbackProc,
+ void * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x054B, 0x7000, 0xA82A);
+
+
+/*
+ * MediaPrePrerollBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaPrePrerollBegin(
+ MediaHandler mh,
+ TimeValue time,
+ Fixed rate,
+ PrePrerollCompleteUPP completeProc,
+ void * refcon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x054C, 0x7000, 0xA82A);
+
+
+/*
+ * MediaPrePrerollCancel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaPrePrerollCancel(
+ MediaHandler mh,
+ void * refcon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x054D, 0x7000, 0xA82A);
+
+
+/*
+ * MediaEnterEmptyEdit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaEnterEmptyEdit(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x054F, 0x7000, 0xA82A);
+
+
+/*
+ * MediaCurrentMediaQueuedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaCurrentMediaQueuedData(
+ MediaHandler mh,
+ long * milliSecs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0550, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetEffectiveVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetEffectiveVolume(
+ MediaHandler mh,
+ short * volume) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0551, 0x7000, 0xA82A);
+
+
+/*
+ * MediaResolveTargetRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaResolveTargetRefCon(
+ MediaHandler mh,
+ QTAtomContainer container,
+ QTAtom atom,
+ long * targetRefCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0552, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSoundLevelMeteringEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSoundLevelMeteringEnabled(
+ MediaHandler mh,
+ Boolean * enabled) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0553, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetSoundLevelMeteringEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetSoundLevelMeteringEnabled(
+ MediaHandler mh,
+ Boolean enable) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0554, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSoundLevelMeterInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSoundLevelMeterInfo(
+ MediaHandler mh,
+ LevelMeterInfoPtr levelInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0555, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetEffectiveSoundBalance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetEffectiveSoundBalance(
+ MediaHandler mh,
+ short * balance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0556, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetScreenLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetScreenLock(
+ MediaHandler mh,
+ Boolean lockIt) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0557, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetDoMCActionCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetDoMCActionCallback(
+ MediaHandler mh,
+ DoMCActionUPP doMCActionCallbackProc,
+ void * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0558, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetErrorString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetErrorString(
+ MediaHandler mh,
+ ComponentResult theError,
+ Str255 errorString) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0559, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSoundEqualizerBands()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSoundEqualizerBands(
+ MediaHandler mh,
+ MediaEQSpectrumBandsRecordPtr spectrumInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x055A, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetSoundEqualizerBands()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetSoundEqualizerBands(
+ MediaHandler mh,
+ MediaEQSpectrumBandsRecordPtr spectrumInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x055B, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSoundEqualizerBandLevels()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSoundEqualizerBandLevels(
+ MediaHandler mh,
+ UInt8 * bandLevels) FIVEWORDINLINE(0x2F3C, 0x0004, 0x055C, 0x7000, 0xA82A);
+
+
+/*
+ * MediaDoIdleActions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaDoIdleActions(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x055D, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetSoundBassAndTreble()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetSoundBassAndTreble(
+ MediaHandler mh,
+ short bass,
+ short treble) FIVEWORDINLINE(0x2F3C, 0x0004, 0x055E, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetSoundBassAndTreble()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetSoundBassAndTreble(
+ MediaHandler mh,
+ short * bass,
+ short * treble) FIVEWORDINLINE(0x2F3C, 0x0008, 0x055F, 0x7000, 0xA82A);
+
+
+/*
+ * MediaTimeBaseChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaTimeBaseChanged(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0560, 0x7000, 0xA82A);
+
+
+/*
+ * MediaMCIsPlayerEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MediaMCIsPlayerEvent(
+ MediaHandler mh,
+ const EventRecord * e,
+ Boolean * handledIt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0561, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetMediaLoadState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetMediaLoadState(
+ MediaHandler mh,
+ long * mediaLoadState) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0562, 0x7000, 0xA82A);
+
+
+/*
+ * MediaVideoOutputChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaVideoOutputChanged(
+ MediaHandler mh,
+ ComponentInstance vout) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0563, 0x7000, 0xA82A);
+
+
+/*
+ * MediaEmptySampleCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaEmptySampleCache(
+ MediaHandler mh,
+ long sampleNum,
+ long sampleCount) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0564, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetPublicInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetPublicInfo(
+ MediaHandler mh,
+ OSType infoSelector,
+ void * infoDataPtr,
+ Size * ioDataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0565, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetPublicInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetPublicInfo(
+ MediaHandler mh,
+ OSType infoSelector,
+ void * infoDataPtr,
+ Size dataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0566, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetUserPreferredCodecs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetUserPreferredCodecs(
+ MediaHandler mh,
+ CodecComponentHandle * userPreferredCodecs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0567, 0x7000, 0xA82A);
+
+
+/*
+ * MediaSetUserPreferredCodecs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetUserPreferredCodecs(
+ MediaHandler mh,
+ CodecComponentHandle userPreferredCodecs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0568, 0x7000, 0xA82A);
+
+
+/* Keyboard Focus Support*/
+
+/*
+ * MediaRefConSetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaRefConSetProperty(
+ MediaHandler mh,
+ long refCon,
+ long propertyType,
+ void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0569, 0x7000, 0xA82A);
+
+
+/*
+ * MediaRefConGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaRefConGetProperty(
+ MediaHandler mh,
+ long refCon,
+ long propertyType,
+ void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x056A, 0x7000, 0xA82A);
+
+
+/*
+ * MediaNavigateTargetRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaNavigateTargetRefCon(
+ MediaHandler mh,
+ long navigation,
+ long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x056B, 0x7000, 0xA82A);
+
+
+
+/*
+ * MediaGGetIdleManager()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGGetIdleManager(
+ MediaHandler mh,
+ IdleManager * pim) FIVEWORDINLINE(0x2F3C, 0x0004, 0x056C, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGSetIdleManager()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGSetIdleManager(
+ MediaHandler mh,
+ IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x056D, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGGetLatency()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+MediaGGetLatency(
+ MediaHandler mh,
+ TimeRecord * latency) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0571, 0x7000, 0xA82A);
+
+
+/* Aperture Mode Support*/
+
+/*
+ * MediaSetTrackApertureModeDimensionsUsingSampleDescription()
+ *
+ * Summary:
+ * Sets the three aperture mode dimension properties on the track,
+ * calculating the values using the provided sample description.
+ *
+ * Parameters:
+ *
+ * mh:
+ * [in] The media handler.
+ *
+ * sampleDesc:
+ * [in] The sample description handle.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( ComponentResult )
+MediaSetTrackApertureModeDimensionsUsingSampleDescription(
+ MediaHandler mh,
+ SampleDescriptionHandle sampleDesc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0579, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetApertureModeClipRectForSampleDescriptionIndex()
+ *
+ * Summary:
+ * Calculates a source clip rectangle appropriate for the current
+ * aperture mode and the given sample description.
+ *
+ * Discussion:
+ * If the track's aperture mode is kQTApertureMode_CleanAperture,
+ * the rectangle should be the clean aperture as described by the
+ * sample description (see
+ * kICMImageDescriptionPropertyID_CleanApertureClipRect); otherwise
+ * it should be the full dimensions of the sample description.
+ *
+ * Parameters:
+ *
+ * mh:
+ * [in] The media handler.
+ *
+ * sampleDescIndex:
+ * [in] Indicates the sample description index of sample
+ * description in the media
+ *
+ * clipFixedRectOut:
+ * [out] Points to a variable to receive the clip rectangle.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetApertureModeClipRectForSampleDescriptionIndex(
+ MediaHandler mh,
+ long sampleDescIndex,
+ FixedRect * clipFixedRectOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x057A, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGetApertureModeMatrixForSampleDescriptionIndex()
+ *
+ * Summary:
+ * Calculates a matrix appropriate for the current aperture mode and
+ * the given sample description.
+ *
+ * Discussion:
+ * If the track's aperture mode is kQTApertureMode_CleanAperture or
+ * kQTApertureMode_ProductionAperture, the matrix should scale
+ * horizontally to compensate for the pixel aspect ratio. Otherwise
+ * the matrix should be identity. If the track's aperture mode is
+ * kQTApertureMode_CleanAperture, the matrix should translate the
+ * top-left point of the clean aperture to the origin. (See
+ * kICMImageDescriptionPropertyID_CleanApertureMatrix and
+ * kICMImageDescriptionPropertyID_ProductionApertureMatrix.)
+ *
+ * Parameters:
+ *
+ * mh:
+ * [in] The media handler.
+ *
+ * sampleDescIndex:
+ * [in] Indicates the sample description index of sample
+ * description in the media
+ *
+ * matrixOut:
+ * [out] Points to a variable to receive the matrix.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( ComponentResult )
+MediaGetApertureModeMatrixForSampleDescriptionIndex(
+ MediaHandler mh,
+ long sampleDescIndex,
+ MatrixRecord * matrixOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x057B, 0x7000, 0xA82A);
+
+
+/*
+ * MediaGenerateApertureModeDimensions()
+ *
+ * Summary:
+ * Examines a movie and sets up track aperture mode dimensions.
+ *
+ * Discussion:
+ * If the sample descriptions tracks lack tags describing clean
+ * aperture and pixel aspect ratio information, the media data may
+ * be scanned to see if the correct values can be divined and
+ * attached. Then the aperture mode dimensions should be calculated
+ * and set, as by
+ * MediaSetTrackApertureModeDimensionsUsingSampleDescription.
+ *
+ * Parameters:
+ *
+ * mh:
+ * [in] The media handler.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( ComponentResult )
+MediaGenerateApertureModeDimensions(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x057C, 0x7000, 0xA82A);
+
+
+
+
+
+
+/* selectors for component calls */
+enum {
+ kCallComponentExecuteWiredActionSelect = -9,
+ kMediaSetChunkManagementFlagsSelect = 0x0415,
+ kMediaGetChunkManagementFlagsSelect = 0x0416,
+ kMediaSetPurgeableChunkMemoryAllowanceSelect = 0x0417,
+ kMediaGetPurgeableChunkMemoryAllowanceSelect = 0x0418,
+ kMediaEmptyAllPurgeableChunksSelect = 0x0419,
+ kMediaInitializeSelect = 0x0501,
+ kMediaSetHandlerCapabilitiesSelect = 0x0502,
+ kMediaIdleSelect = 0x0503,
+ kMediaGetMediaInfoSelect = 0x0504,
+ kMediaPutMediaInfoSelect = 0x0505,
+ kMediaSetActiveSelect = 0x0506,
+ kMediaSetRateSelect = 0x0507,
+ kMediaGGetStatusSelect = 0x0508,
+ kMediaTrackEditedSelect = 0x0509,
+ kMediaSetMediaTimeScaleSelect = 0x050A,
+ kMediaSetMovieTimeScaleSelect = 0x050B,
+ kMediaSetGWorldSelect = 0x050C,
+ kMediaSetDimensionsSelect = 0x050D,
+ kMediaSetClipSelect = 0x050E,
+ kMediaSetMatrixSelect = 0x050F,
+ kMediaGetTrackOpaqueSelect = 0x0510,
+ kMediaSetGraphicsModeSelect = 0x0511,
+ kMediaGetGraphicsModeSelect = 0x0512,
+ kMediaGSetVolumeSelect = 0x0513,
+ kMediaSetSoundBalanceSelect = 0x0514,
+ kMediaGetSoundBalanceSelect = 0x0515,
+ kMediaGetNextBoundsChangeSelect = 0x0516,
+ kMediaGetSrcRgnSelect = 0x0517,
+ kMediaPrerollSelect = 0x0518,
+ kMediaSampleDescriptionChangedSelect = 0x0519,
+ kMediaHasCharacteristicSelect = 0x051A,
+ kMediaGetOffscreenBufferSizeSelect = 0x051B,
+ kMediaSetHintsSelect = 0x051C,
+ kMediaGetNameSelect = 0x051D,
+ kMediaForceUpdateSelect = 0x051E,
+ kMediaGetDrawingRgnSelect = 0x051F,
+ kMediaGSetActiveSegmentSelect = 0x0520,
+ kMediaInvalidateRegionSelect = 0x0521,
+ kMediaGetNextStepTimeSelect = 0x0522,
+ kMediaSetNonPrimarySourceDataSelect = 0x0523,
+ kMediaChangedNonPrimarySourceSelect = 0x0524,
+ kMediaTrackReferencesChangedSelect = 0x0525,
+ kMediaGetSampleDataPointerSelect = 0x0526,
+ kMediaReleaseSampleDataPointerSelect = 0x0527,
+ kMediaTrackPropertyAtomChangedSelect = 0x0528,
+ kMediaSetTrackInputMapReferenceSelect = 0x0529,
+ kMediaSetVideoParamSelect = 0x052B,
+ kMediaGetVideoParamSelect = 0x052C,
+ kMediaCompareSelect = 0x052D,
+ kMediaGetClockSelect = 0x052E,
+ kMediaSetSoundOutputComponentSelect = 0x052F,
+ kMediaGetSoundOutputComponentSelect = 0x0530,
+ kMediaSetSoundLocalizationDataSelect = 0x0531,
+ kMediaGetInvalidRegionSelect = 0x053C,
+ kMediaSampleDescriptionB2NSelect = 0x053E,
+ kMediaSampleDescriptionN2BSelect = 0x053F,
+ kMediaQueueNonPrimarySourceDataSelect = 0x0540,
+ kMediaFlushNonPrimarySourceDataSelect = 0x0541,
+ kMediaGetURLLinkSelect = 0x0543,
+ kMediaMakeMediaTimeTableSelect = 0x0545,
+ kMediaHitTestForTargetRefConSelect = 0x0546,
+ kMediaHitTestTargetRefConSelect = 0x0547,
+ kMediaGetActionsForQTEventSelect = 0x0548,
+ kMediaDisposeTargetRefConSelect = 0x0549,
+ kMediaTargetRefConsEqualSelect = 0x054A,
+ kMediaSetActionsCallbackSelect = 0x054B,
+ kMediaPrePrerollBeginSelect = 0x054C,
+ kMediaPrePrerollCancelSelect = 0x054D,
+ kMediaEnterEmptyEditSelect = 0x054F,
+ kMediaCurrentMediaQueuedDataSelect = 0x0550,
+ kMediaGetEffectiveVolumeSelect = 0x0551,
+ kMediaResolveTargetRefConSelect = 0x0552,
+ kMediaGetSoundLevelMeteringEnabledSelect = 0x0553,
+ kMediaSetSoundLevelMeteringEnabledSelect = 0x0554,
+ kMediaGetSoundLevelMeterInfoSelect = 0x0555,
+ kMediaGetEffectiveSoundBalanceSelect = 0x0556,
+ kMediaSetScreenLockSelect = 0x0557,
+ kMediaSetDoMCActionCallbackSelect = 0x0558,
+ kMediaGetErrorStringSelect = 0x0559,
+ kMediaGetSoundEqualizerBandsSelect = 0x055A,
+ kMediaSetSoundEqualizerBandsSelect = 0x055B,
+ kMediaGetSoundEqualizerBandLevelsSelect = 0x055C,
+ kMediaDoIdleActionsSelect = 0x055D,
+ kMediaSetSoundBassAndTrebleSelect = 0x055E,
+ kMediaGetSoundBassAndTrebleSelect = 0x055F,
+ kMediaTimeBaseChangedSelect = 0x0560,
+ kMediaMCIsPlayerEventSelect = 0x0561,
+ kMediaGetMediaLoadStateSelect = 0x0562,
+ kMediaVideoOutputChangedSelect = 0x0563,
+ kMediaEmptySampleCacheSelect = 0x0564,
+ kMediaGetPublicInfoSelect = 0x0565,
+ kMediaSetPublicInfoSelect = 0x0566,
+ kMediaGetUserPreferredCodecsSelect = 0x0567,
+ kMediaSetUserPreferredCodecsSelect = 0x0568,
+ kMediaRefConSetPropertySelect = 0x0569,
+ kMediaRefConGetPropertySelect = 0x056A,
+ kMediaNavigateTargetRefConSelect = 0x056B,
+ kMediaGGetIdleManagerSelect = 0x056C,
+ kMediaGSetIdleManagerSelect = 0x056D,
+ kMediaGGetLatencySelect = 0x0571,
+ kMediaSetTrackApertureModeDimensionsUsingSampleDescriptionSelect = 0x0579,
+ kMediaGetApertureModeClipRectForSampleDescriptionIndexSelect = 0x057A,
+ kMediaGetApertureModeMatrixForSampleDescriptionIndexSelect = 0x057B,
+ kMediaGenerateApertureModeDimensionsSelect = 0x057C
+};
+/*
+ * NewPrePrerollCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PrePrerollCompleteUPP )
+NewPrePrerollCompleteUPP(PrePrerollCompleteProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppPrePrerollCompleteProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(PrePrerollCompleteUPP) NewPrePrerollCompleteUPP(PrePrerollCompleteProcPtr userRoutine)
- {
- return (PrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrePrerollCompleteProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewPrePrerollCompleteUPP(userRoutine) (PrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrePrerollCompleteProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppPrePrerollCompleteProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PrePrerollCompleteUPP) NewPrePrerollCompleteUPP(PrePrerollCompleteProcPtr userRoutine) { return (PrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrePrerollCompleteProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPrePrerollCompleteUPP(userRoutine) (PrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrePrerollCompleteProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposePrePrerollCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePrePrerollCompleteUPP(PrePrerollCompleteUPP userUPP);
+/*
+ * DisposePrePrerollCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePrePrerollCompleteUPP(PrePrerollCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposePrePrerollCompleteUPP(PrePrerollCompleteUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposePrePrerollCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePrePrerollCompleteUPP(PrePrerollCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePrePrerollCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokePrePrerollCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokePrePrerollCompleteUPP(
- MediaHandler mh,
- OSErr err,
- void * refcon,
- PrePrerollCompleteUPP userUPP);
+/*
+ * InvokePrePrerollCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePrePrerollCompleteUPP(
+ MediaHandler mh,
+ OSErr err,
+ void * refcon,
+ PrePrerollCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokePrePrerollCompleteUPP(MediaHandler mh, OSErr err, void * refcon, PrePrerollCompleteUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppPrePrerollCompleteProcInfo, mh, err, refcon);
- }
-#else
-#define InvokePrePrerollCompleteUPP(mh, err, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppPrePrerollCompleteProcInfo, (mh), (err), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokePrePrerollCompleteUPP(MediaHandler mh, OSErr err, void * refcon, PrePrerollCompleteUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppPrePrerollCompleteProcInfo, mh, err, refcon); }
+ #else
+ #define InvokePrePrerollCompleteUPP(mh, err, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppPrePrerollCompleteProcInfo, (mh), (err), (refcon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewPrePrerollCompleteProc(userRoutine) NewPrePrerollCompleteUPP(userRoutine)
-#define CallPrePrerollCompleteProc(userRoutine, mh, err, refcon) InvokePrePrerollCompleteUPP(mh, err, refcon, userRoutine)
+ #define NewPrePrerollCompleteProc(userRoutine) NewPrePrerollCompleteUPP(userRoutine)
+ #define CallPrePrerollCompleteProc(userRoutine, mh, err, refcon) InvokePrePrerollCompleteUPP(mh, err, refcon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
@@ -2141,11 +2117,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Menus.h b/include/qt/Menus.h
index c65a2445a..18fd7997d 100644
--- a/include/qt/Menus.h
+++ b/include/qt/Menus.h
@@ -1,17 +1,17 @@
/*
File: Menus.h
-
+
Contains: Menu Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MENUS__
#define __MENUS__
@@ -84,5649 +84,5567 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- * Menu Manager
- */
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Constants */
- /*--------------------------------------------------------------------------------------*/
- enum {
- noMark = 0 /* mark symbol for SetItemMark; other mark symbols are defined in Fonts.h */
- };
-
- /*
- A Short Course on Menu Definition Functions
-
- A menu definition function is used to implement a custom visual appearance for a menu.
- Menu definition functions are still supported in Carbon, but the messages sent to a
- menu definition function in Carbon are different than for a non-Carbon application.
-
- In general, Apple recommends using the system menu definition whenever possible.
- Menu definition functions will continue to be supported, but it is not easy to write
- a correct menu definition, especially one that attempts to imitate the standard system
- menu appearance. If you require special features in your menu that the system menu
- definition does not support, please mail <toolbox@apple.com> and describe your requirements;
- we would much rather enhance the system menu definition than have you write a custom one.
-
- Menu definition functions before Carbon used the following messages:
-
- kMenuDrawMsg
- kMenuChooseMsg
- kMenuSizeMsg
- kMenuPopUpMsg
- kMenuDrawItemMsg
- kMenuCalcItemMsg
- kMenuThemeSavvyMsg
-
- kMenuChooseMsg and kMenuDrawItemMsg are not supported in Carbon and are not sent to
- Carbon menu definitions. In Carbon, kMenuChooseMsg is replaced by kMenuFindItemMsg and
- kMenuHiliteItemMsg. Menu definition functions in Carbon use the following messages:
-
- kMenuInitMsg
- kMenuDisposeMsg
- kMenuFindItemMsg
- kMenuHiliteItemMsg
- kMenuDrawItemsMsg
- kMenuDrawMsg
- kMenuSizeMsg
- kMenuPopUpMsg
- kMenuCalcItemMsg
- kMenuThemeSavvyMsg
-
- The rest of this documentation will focus on Carbon menu definitions only.
-
- Menu Definition Messages
-
- Carbon menu definition functions should support the following messages:
-
- kMenuInitMsg
-
- menuRect unused
- hitPt unused
- whichItem OSErr*
-
- Sent when a menu is created. This message gives the menu definition an opportunity
- to initialize its own state. If the menu definition encounters an error while
- initializing, it should set *whichItem to a non-zero error code; this will cause the
- Menu Manager to destroy the menu and return an error back from the API that was used
- to create the menu.
-
- kMenuDisposeMsg
-
- menuRect unused
- hitPt unused
- whichItem unused
-
- Sent when a menu is destroyed. This message gives the menu definition an opportunity
- to destroy its own data.
-
- kMenuFindItemMsg
-
- menuRect menu bounds
- hitPt point to hit-test
- whichItem MDEFFindItemData*
-
- Sent when the Menu Manager is displaying a menu and needs to know what item is under
- the mouse. The whichItem parameter is actually a pointer to a MenuTrackingData structure.
- On entry, the menu, virtualMenuTop, and virtualMenuBottom fields of this structure are
- valid. The menu definition should determine which item containst the given point, if any,
- and fill in the itemUnderMouse, itemSelected, and itemRect fields. If an item is found,
- the menu definition should always fill in the itemUnderMouse and itemRect fields. The
- menu definition should only fill in the itemSelected field if the item is available for
- selection; if it is unavailable (because it is disabled, or for some other reason), the
- menu definition should set the itemSelected field to zero.
-
- The values placed in the itemUnderMouse and itemSelected fields should be less than or
- equal to the number of items returned by CountMenuItems on this menu.
-
- The menu definition should not hilite the found item during this message. The Menu
- Manager will send a separate kMenuHiliteItemMsg to request hiliting of the item.
-
- If the menu definition supports scrolling, it should scroll the menu during this message,
- and update the virtualMenuTop and virtualMenuBottom fields of the MenuTrackingData to
- indicate the menu's new scrolled position.
-
- If the menu definition uses QuickDraw to draw while scrolling, it should draw into the
- current port.
-
- If the menu definition uses CoreGraphics to draw while scrolling, it should use the
- CGContextRef passed in the context field of the MDEFHiliteItemData structure.
-
- Menu definitions must use the ScrollMenuImage API, if available, to scroll the menu contents.
- This API is available in CarbonLib 1.5 and later, and in Mac OS X 10.1 and later. ScrollMenuImage
- properly supports scrolling the alpha channel in the menu's image data. Use of QuickDraw's
- ScrollRect API to scroll the menu contents will result in the alpha channel being set to 0xFF
- (opaque) and the menu will no longer be transparent.
-
- The menu definition should not modify the menu field of the MenuTrackingData.
-
- kMenuHiliteItemMsg
-
- menuRect menu bounds
- hitPt unused
- whichItem MDEFHiliteItemData*
-
- Sent when the Menu Manager is displaying a menu and needs to hilite a newly selected
- item. The whichItem parameter is actually a pointer to a MDEFHiliteItemData structure.
- The menu definition should unhilite the item in the previousItem field, if non-zero,
- and hilite the item in the newItem field.
+/*
+ * Menu Manager
+ */
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Constants */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ noMark = 0 /* mark symbol for SetItemMark; other mark symbols are defined in Fonts.h */
+};
- Menu definitions should use the EraseMenuBackground API to erase the old menu contents
- before unhiliting a menu item, if the menu definition is using the Appearance Manager's
- menu drawing APIs. This is necessary because the background of a menu is transparent on
- Aqua, and if the old hilite is not erased first, it will show through the new unhilited
- menu background.
+/*
+ A Short Course on Menu Definition Functions
+
+ A menu definition function is used to implement a custom visual appearance for a menu.
+ Menu definition functions are still supported in Carbon, but the messages sent to a
+ menu definition function in Carbon are different than for a non-Carbon application.
+
+ In general, Apple recommends using the system menu definition whenever possible.
+ Menu definition functions will continue to be supported, but it is not easy to write
+ a correct menu definition, especially one that attempts to imitate the standard system
+ menu appearance. If you require special features in your menu that the system menu
+ definition does not support, please mail <toolbox@apple.com> and describe your requirements;
+ we would much rather enhance the system menu definition than have you write a custom one.
+
+ Menu definition functions before Carbon used the following messages:
+
+ kMenuDrawMsg
+ kMenuChooseMsg
+ kMenuSizeMsg
+ kMenuPopUpMsg
+ kMenuDrawItemMsg
+ kMenuCalcItemMsg
+ kMenuThemeSavvyMsg
+
+ kMenuChooseMsg and kMenuDrawItemMsg are not supported in Carbon and are not sent to
+ Carbon menu definitions. In Carbon, kMenuChooseMsg is replaced by kMenuFindItemMsg and
+ kMenuHiliteItemMsg. Menu definition functions in Carbon use the following messages:
+
+ kMenuInitMsg
+ kMenuDisposeMsg
+ kMenuFindItemMsg
+ kMenuHiliteItemMsg
+ kMenuDrawItemsMsg
+ kMenuDrawMsg
+ kMenuSizeMsg
+ kMenuPopUpMsg
+ kMenuCalcItemMsg
+ kMenuThemeSavvyMsg
+
+ The rest of this documentation will focus on Carbon menu definitions only.
+
+ Menu Definition Messages
+
+ Carbon menu definition functions should support the following messages:
+
+ kMenuInitMsg
+
+ menuRect unused
+ hitPt unused
+ whichItem OSErr*
+
+ Sent when a menu is created. This message gives the menu definition an opportunity
+ to initialize its own state. If the menu definition encounters an error while
+ initializing, it should set *whichItem to a non-zero error code; this will cause the
+ Menu Manager to destroy the menu and return an error back from the API that was used
+ to create the menu.
+
+ kMenuDisposeMsg
+
+ menuRect unused
+ hitPt unused
+ whichItem unused
+
+ Sent when a menu is destroyed. This message gives the menu definition an opportunity
+ to destroy its own data.
+
+ kMenuFindItemMsg
+
+ menuRect menu bounds
+ hitPt point to hit-test
+ whichItem MDEFFindItemData*
+
+ Sent when the Menu Manager is displaying a menu and needs to know what item is under
+ the mouse. The whichItem parameter is actually a pointer to a MenuTrackingData structure.
+ On entry, the menu, virtualMenuTop, and virtualMenuBottom fields of this structure are
+ valid. The menu definition should determine which item containst the given point, if any,
+ and fill in the itemUnderMouse, itemSelected, and itemRect fields. If an item is found,
+ the menu definition should always fill in the itemUnderMouse and itemRect fields. The
+ menu definition should only fill in the itemSelected field if the item is available for
+ selection; if it is unavailable (because it is disabled, or for some other reason), the
+ menu definition should set the itemSelected field to zero.
+
+ The values placed in the itemUnderMouse and itemSelected fields should be less than or
+ equal to the number of items returned by CountMenuItems on this menu.
+
+ The menu definition should not hilite the found item during this message. The Menu
+ Manager will send a separate kMenuHiliteItemMsg to request hiliting of the item.
+
+ If the menu definition supports scrolling, it should scroll the menu during this message,
+ and update the virtualMenuTop and virtualMenuBottom fields of the MenuTrackingData to
+ indicate the menu's new scrolled position.
+
+ If the menu definition uses QuickDraw to draw while scrolling, it should draw into the
+ current port.
+
+ If the menu definition uses CoreGraphics to draw while scrolling, it should use the
+ CGContextRef passed in the context field of the MDEFHiliteItemData structure.
+
+ Menu definitions must use the ScrollMenuImage API, if available, to scroll the menu contents.
+ This API is available in CarbonLib 1.5 and later, and in Mac OS X 10.1 and later. ScrollMenuImage
+ properly supports scrolling the alpha channel in the menu's image data. Use of QuickDraw's
+ ScrollRect API to scroll the menu contents will result in the alpha channel being set to 0xFF
+ (opaque) and the menu will no longer be transparent.
+
+ The menu definition should not modify the menu field of the MenuTrackingData.
+
+ kMenuHiliteItemMsg
+
+ menuRect menu bounds
+ hitPt unused
+ whichItem MDEFHiliteItemData*
+
+ Sent when the Menu Manager is displaying a menu and needs to hilite a newly selected
+ item. The whichItem parameter is actually a pointer to a MDEFHiliteItemData structure.
+ The menu definition should unhilite the item in the previousItem field, if non-zero,
+ and hilite the item in the newItem field.
+
+ Menu definitions should use the EraseMenuBackground API to erase the old menu contents
+ before unhiliting a menu item, if the menu definition is using the Appearance Manager's
+ menu drawing APIs. This is necessary because the background of a menu is transparent on
+ Aqua, and if the old hilite is not erased first, it will show through the new unhilited
+ menu background.
+
+ If the menu definition uses QuickDraw to draw, it should draw into the current port.
+
+ If the menu definition uses CoreGraphics to draw, it should use the CGContextRef passed
+ in the context field of the MDEFHiliteItemData structure.
+
+ kMenuDrawItemsMsg
+
+ menuRect menu bounds
+ hitPt unused
+ whichItem MDEFDrawItemsData*
+
+ Sent when the Menu Manager is displaying a menu and needs to redraw a portion of the
+ menu. This message is used by the dynamic menu item support code in the Menu Manager;
+ for example, if items five and six in a menu are a dynamic group, the Menu Manager will
+ send a DrawItems message when the group's modifier key is pressed or released to redraw
+ the appropriate item, but no other items in the menu.
+
+ The whichItem parameter for this message is actually a pointer to a MDEFDrawItemsData
+ structure. The menu definition should redraw the items starting with firstItem and
+ ending with lastItem, inclusive.
+
+ If the menu definition uses QuickDraw to draw, it should draw into the current port.
+
+ If the menu definition uses CoreGraphics to draw, it should use the CGContextRef passed
+ in the context field of the MDEFDrawItemsData structure.
+
+ kMenuDrawMsg
+
+ menuRect menu bounds
+ hitPt unused
+ whichItem MDEFDrawData*
+
+ Sent when the Menu Manager is displaying a menu and needs to redraw the entire menu.
+ The whichItem parameter is actually a pointer to a MenuTrackingData structure. On entry,
+ the menu field of this structure is valid. The menu definition should draw the menu and,
+ if it supports scrolling, should also fill in the virtualMenuTop and virtualMenuBottom
+ fields of the structure to indicate the menu's initial unscrolled position; typically,
+ virtualMenuTop would be set to the same value as the top coordinate of the menu rect,
+ and virtualMenuBottom would be set to virtualMenuTop plus the virtual height of the menu.
+
+ If the menu definition uses QuickDraw to draw, it should draw into the current port.
+
+ If the menu definition uses CoreGraphics to draw, it should use the CGContextRef passed
+ in the context field of the MDEFDrawData structure.
+
+ kMenuSizeMsg
+
+ menuRect unused
+ hitPt maximum width and height of the menu
+ whichItem unused
+
+ Sent when the Menu Manager needs to determine the size of a menu. The menu definition
+ should calculate the width and height of the menu and store the sizes into the menu with
+ SetMenuWidth and SetMenuHeight.
+
+ If the gestaltMenuMgrSendsMenuBoundsToDefProc bit is set in the Menu Manager's Gestalt
+ value, then the hitPt parameter to this message is the maximum width (hitPt.h) and height
+ (hitPt.v) of the menu. The menu definition should ensure that the width and height that it
+ places in the menu do not exceed these values. If the gestalt bit is not set, the menu
+ definition should just use the main GDevice's width and height as constraints on the menu's
+ width and height.
+
+ kMenuPopUpMsg
+
+ menuRect on entry, constraints on the menu's position; on exit, menu bounds
+ hitPt requested menu location, with swapped coordinates
+ whichItem on entry, requested initial selection; on exit, virtual menu top
+
+ Sent when the Menu Manager is about to display a popup menu. The menu definition should
+ calculate the appropriate menu bounds to contain the menu based on the requested menu
+ location and selected item. It should write the menuBounds into the rect given by the
+ menuRect parameter.
+
+ If the gestaltMenuMgrSendsMenuBoundsToDefProc bit is set in the Menu Manager's Gestalt
+ value, then the menuRect parameter on entry to this message contains a constraint rect,
+ in global coordinates, outside of which the popup menu should not be positioned. The menu
+ definition should take this constraint rect into account as it calculates the menu bounds.
+ If the gestalt bit is not set, the menu definition should use the bounds of the GDevice
+ containing the menu's top left corner as a constraint on the menu's position.
+
+ The hitPt parameter is a requested location for the top left corner of the menu. The
+ coordinates of this parameter are swapped from their normal order; the h field of the
+ hitPt parameter contains the vertical coordinate, and the v field of hitPt contains
+ the horizontal coordinate.
+
+ On entry, the whichItem parameter points at a menu item index which is requested to be
+ the initial selection when the menu is displayed. After calculating the menu's bounds,
+ the menu definition should write the menu's virtual top coordinate into the location
+ pointed at by the whichItem parameter. If displaying the menu at the requested location
+ does not require scrolling, the virtual top will be the same as the menu bounds top;
+ if the menu must scroll to fit in the requested location, the virtual top may be different.
+
+ kMenuCalcItemMsg
+
+ menuRect on exit, item bounds
+ hitPt unused
+ whichItem the item whose rect to calculate
+
+ Sent when the Menu Manager needs to know the bounds of a menu item. The menu definition
+ should calculate the size of the item specified by the whichItem parameter, and store
+ the bounds in the rect specified by the menuRect parameter.
+
+ Some sample menu definition code provided by Apple has previously shown an implementation
+ of this message that always sets the top left corner of the item bounds to (0,0), regardless
+ of the item's actual position in the menu. For best future compatibility, menu definitions
+ should begin storing an item bounds that gives the item's actual position in the menu based
+ on the menu's current virtual top. For example, if the virtual menu top starts at 20, then
+ the menu definition would calculate an item bounds for the first item that starts at (0,20),
+ an item bounds for the second item that starts at (0,40), and so on. The menu definition
+ should call GetMenuTrackingData to get the menu's current virtual position, and use zero
+ for the menu top if GetMenuTrackingData returns an error.
+
+ kMenuThemeSavvyMsg
+
+ menuRect unused
+ hitPt unused
+ whichItem on exit, indicates theme-savvyness of the menu definition
+
+ Sent by the Menu Manager to determine whether the MDEF uses the Appearance Manager
+ menu-drawing functions to draw its menu. If it does, the menu definition should return
+ kThemeSavvyMenuResponse in the location pointed to by whichItem. If the menu definition
+ draws its own custom content without using the Appearance Manager menu-drawing functions,
+ it should ignore this message.
+
+ Low-memory Global Replacements
+
+ Pre-Carbon menu definitions needed to use several low-memory globals to communicate with the
+ Menu Manager. These globals have all been replaced or made obsolete in Carbon, as follows:
+
+ MenuDisable
+
+ MenuDisable is now set automatically by the Menu Manager using the value returned in the
+ itemUnderMouse field of the MenuTrackingData structure passed to kMenuFindItemMsg.
+
+ TopMenuItem
+ AtMenuBottom
+
+ TopMenuItem and AtMenuBottom are now set automatically by the Menu Manager using the
+ values returned in the virtualMenuTop and virtualMenuBottom fields of the MenuTrackingData
+ structure passed to kMenuDrawMsg and kMenuFindItemMsg.
+
+ mbSaveLoc
+
+ This undocumented low-memory global was used by pre-Carbon menu definitions to store
+ the bounding rect of the currently selected item and to avoid drawing glitches while
+ the menu definition was scrolling the contents of a menu that had submenus. The Menu
+ Manager now automatically sets the selected item bounds using the value returned in
+ the itemRect field of the MenuTrackingData structure passed to kMenuFindItemMsg. In
+ order to correctly support scrolling of menus with submenus, a menu definition should
+ verify, before scrolling the menu contents, that no submenus of the scrolling menu are
+ currently visible. A menu definition can use GetMenuTrackingData to verify this condition,
+ as follows:
+
+ Boolean SafeToScroll( MenuRef menuBeingScrolled )
+ {
+ MenuTrackingData lastMenuData;
+ return GetMenuTrackingData( NULL, &lastMenuData ) == noErr
+ && lastMenuData.menu == menuBeingScrolled;
+ }
+
+ If SafeToScroll returns false, the menu definition should not scroll the menu.
+*/
+enum {
+ /* menu defProc messages */
+ kMenuDrawMsg = 0,
+ kMenuSizeMsg = 2,
+ kMenuPopUpMsg = 3,
+ kMenuCalcItemMsg = 5,
+ kMenuThemeSavvyMsg = 7, /* is your MDEF theme-savvy? If so, return kThemeSavvyMenuResponse in the whichItem parameter*/
+ mDrawMsg = 0,
+ mSizeMsg = 2,
+ mPopUpMsg = 3, /* position the popup menu rect appropriately */
+ mCalcItemMsg = 5
+};
- If the menu definition uses QuickDraw to draw, it should draw into the current port.
+#if CALL_NOT_IN_CARBON
+/*
+ Carbon MDEFs must replace mChooseMsg with the new messages kMenuFindItemMsg and kMenuHiliteItemMsg.
+ mDrawItemMsg was used by the popup menu control before 8.5, but is no longer used.
+*/
+enum {
+ mChooseMsg = 1,
+ mDrawItemMsg = 4,
+ kMenuChooseMsg = 1,
+ kMenuDrawItemMsg = 4
+};
- If the menu definition uses CoreGraphics to draw, it should use the CGContextRef passed
- in the context field of the MDEFHiliteItemData structure.
+#endif /* CALL_NOT_IN_CARBON */
- kMenuDrawItemsMsg
+enum {
+ kThemeSavvyMenuResponse = 0x7473 /* should be returned in *whichItem when handling kMenuThemeSavvyMsg*/
+};
+
+/* these MDEF messages are only supported in Carbon*/
+enum {
+ kMenuInitMsg = 8,
+ kMenuDisposeMsg = 9,
+ kMenuFindItemMsg = 10,
+ kMenuHiliteItemMsg = 11,
+ kMenuDrawItemsMsg = 12
+};
+
+enum {
+ textMenuProc = 0,
+ hMenuCmd = 27, /*itemCmd == 0x001B ==> hierarchical menu*/
+ hierMenu = -1, /*a hierarchical menu - for InsertMenu call*/
+ kInsertHierarchicalMenu = -1, /*a better name for hierMenu */
+ mctAllItems = -98, /*search for all Items for the given ID*/
+ mctLastIDIndic = -99 /*last color table entry has this in ID field*/
+};
+
+/* Constants for use with MacOS 8.0 (Appearance 1.0) and later*/
+enum {
+ kMenuStdMenuProc = 63,
+ kMenuStdMenuBarProc = 63
+};
+
+/* For use with Get/SetMenuItemModifiers*/
+enum {
+ kMenuNoModifiers = 0, /* Mask for no modifiers*/
+ kMenuShiftModifier = (1 << 0), /* Mask for shift key modifier*/
+ kMenuOptionModifier = (1 << 1), /* Mask for option key modifier*/
+ kMenuControlModifier = (1 << 2), /* Mask for control key modifier*/
+ kMenuNoCommandModifier = (1 << 3) /* Mask for no command key modifier*/
+};
+
+/* For use with Get/SetMenuItemIconHandle*/
+enum {
+ kMenuNoIcon = 0, /* No icon*/
+ kMenuIconType = 1, /* Type for ICON*/
+ kMenuShrinkIconType = 2, /* Type for ICON plotted 16 x 16*/
+ kMenuSmallIconType = 3, /* Type for SICN*/
+ kMenuColorIconType = 4, /* Type for cicn*/
+ kMenuIconSuiteType = 5, /* Type for Icon Suite*/
+ kMenuIconRefType = 6, /* Type for Icon Ref*/
+ kMenuCGImageRefType = 7, /* Type for a CGImageRef (Mac OS X only)*/
+ kMenuSystemIconSelectorType = 8, /* Type for an IconRef registered with Icon Services under kSystemIconsCreator (Mac OS X 10.1 and later only)*/
+ kMenuIconResourceType = 9 /* Type for a CFStringRef naming a resource in the main bundle of the process (Mac OS X 10.1 and later only)*/
+};
+
+/* For use with Get/SetMenuItemKeyGlyph*/
+enum {
+ kMenuNullGlyph = 0x00, /* Null (always glyph 1)*/
+ kMenuTabRightGlyph = 0x02, /* Tab to the right key (for left-to-right script systems)*/
+ kMenuTabLeftGlyph = 0x03, /* Tab to the left key (for right-to-left script systems)*/
+ kMenuEnterGlyph = 0x04, /* Enter key*/
+ kMenuShiftGlyph = 0x05, /* Shift key*/
+ kMenuControlGlyph = 0x06, /* Control key*/
+ kMenuOptionGlyph = 0x07, /* Option key*/
+ kMenuSpaceGlyph = 0x09, /* Space (always glyph 3) key*/
+ kMenuDeleteRightGlyph = 0x0A, /* Delete to the right key (for right-to-left script systems)*/
+ kMenuReturnGlyph = 0x0B, /* Return key (for left-to-right script systems)*/
+ kMenuReturnR2LGlyph = 0x0C, /* Return key (for right-to-left script systems)*/
+ kMenuNonmarkingReturnGlyph = 0x0D, /* Nonmarking return key*/
+ kMenuPencilGlyph = 0x0F, /* Pencil key*/
+ kMenuDownwardArrowDashedGlyph = 0x10, /* Downward dashed arrow key*/
+ kMenuCommandGlyph = 0x11, /* Command key*/
+ kMenuCheckmarkGlyph = 0x12, /* Checkmark key*/
+ kMenuDiamondGlyph = 0x13, /* Diamond key*/
+ kMenuAppleLogoFilledGlyph = 0x14, /* Apple logo key (filled)*/
+ kMenuParagraphKoreanGlyph = 0x15, /* Unassigned (paragraph in Korean)*/
+ kMenuDeleteLeftGlyph = 0x17, /* Delete to the left key (for left-to-right script systems)*/
+ kMenuLeftArrowDashedGlyph = 0x18, /* Leftward dashed arrow key*/
+ kMenuUpArrowDashedGlyph = 0x19, /* Upward dashed arrow key*/
+ kMenuRightArrowDashedGlyph = 0x1A, /* Rightward dashed arrow key*/
+ kMenuEscapeGlyph = 0x1B, /* Escape key*/
+ kMenuClearGlyph = 0x1C, /* Clear key*/
+ kMenuLeftDoubleQuotesJapaneseGlyph = 0x1D, /* Unassigned (left double quotes in Japanese)*/
+ kMenuRightDoubleQuotesJapaneseGlyph = 0x1E, /* Unassigned (right double quotes in Japanese)*/
+ kMenuTrademarkJapaneseGlyph = 0x1F, /* Unassigned (trademark in Japanese)*/
+ kMenuBlankGlyph = 0x61, /* Blank key*/
+ kMenuPageUpGlyph = 0x62, /* Page up key*/
+ kMenuCapsLockGlyph = 0x63, /* Caps lock key*/
+ kMenuLeftArrowGlyph = 0x64, /* Left arrow key*/
+ kMenuRightArrowGlyph = 0x65, /* Right arrow key*/
+ kMenuNorthwestArrowGlyph = 0x66, /* Northwest arrow key*/
+ kMenuHelpGlyph = 0x67, /* Help key*/
+ kMenuUpArrowGlyph = 0x68, /* Up arrow key*/
+ kMenuSoutheastArrowGlyph = 0x69, /* Southeast arrow key*/
+ kMenuDownArrowGlyph = 0x6A, /* Down arrow key*/
+ kMenuPageDownGlyph = 0x6B, /* Page down key*/
+ kMenuAppleLogoOutlineGlyph = 0x6C, /* Apple logo key (outline)*/
+ kMenuContextualMenuGlyph = 0x6D, /* Contextual menu key*/
+ kMenuPowerGlyph = 0x6E, /* Power key*/
+ kMenuF1Glyph = 0x6F, /* F1 key*/
+ kMenuF2Glyph = 0x70, /* F2 key*/
+ kMenuF3Glyph = 0x71, /* F3 key*/
+ kMenuF4Glyph = 0x72, /* F4 key*/
+ kMenuF5Glyph = 0x73, /* F5 key*/
+ kMenuF6Glyph = 0x74, /* F6 key*/
+ kMenuF7Glyph = 0x75, /* F7 key*/
+ kMenuF8Glyph = 0x76, /* F8 key*/
+ kMenuF9Glyph = 0x77, /* F9 key*/
+ kMenuF10Glyph = 0x78, /* F10 key*/
+ kMenuF11Glyph = 0x79, /* F11 key*/
+ kMenuF12Glyph = 0x7A, /* F12 key*/
+ kMenuF13Glyph = 0x87, /* F13 key*/
+ kMenuF14Glyph = 0x88, /* F14 key*/
+ kMenuF15Glyph = 0x89, /* F15 key*/
+ kMenuControlISOGlyph = 0x8A, /* Control key (ISO standard)*/
+ kMenuEjectGlyph = 0x8C /* Eject key (available on Jaguar and later)*/
+};
- menuRect menu bounds
- hitPt unused
- whichItem MDEFDrawItemsData*
- Sent when the Menu Manager is displaying a menu and needs to redraw a portion of the
- menu. This message is used by the dynamic menu item support code in the Menu Manager;
- for example, if items five and six in a menu are a dynamic group, the Menu Manager will
- send a DrawItems message when the group's modifier key is pressed or released to redraw
- the appropriate item, but no other items in the menu.
+/*
+ * MenuAttributes
+ *
+ * Summary:
+ * Menu attributes control behavior of the entire menu. They are
+ * used with the Get/ChangeMenuAttributes APIs.
+ */
+typedef UInt32 MenuAttributes;
+enum {
+
+ /*
+ * No column space is allocated for the mark character when this menu
+ * is drawn.
+ */
+ kMenuAttrExcludesMarkColumn = (1 << 0),
+
+ /*
+ * The menu title is automatically disabled when all items are
+ * disabled.
+ */
+ kMenuAttrAutoDisable = (1 << 2),
+
+ /*
+ * The pencil glyph from the Keyboard font (kMenuPencilGlyph) is used
+ * to draw the Control modifier key in menu keyboard equivalents.
+ * This appearance is typically used only by Japanese input method
+ * menus.
+ */
+ kMenuAttrUsePencilGlyph = (1 << 3),
+
+ /*
+ * The menu title is not drawn in the menubar, even when the menu is
+ * inserted in the menubar. Useful for adding command keys that don't
+ * correspond to a visible menu item; menu items with the desired
+ * command keys can be added to the menu and inserted in the menubar
+ * without making the menu visible. This attribute is available in
+ * Mac OS X after 10.1.
+ */
+ kMenuAttrHidden = (1 << 4)
+};
- The whichItem parameter for this message is actually a pointer to a MDEFDrawItemsData
- structure. The menu definition should redraw the items starting with firstItem and
- ending with lastItem, inclusive.
- If the menu definition uses QuickDraw to draw, it should draw into the current port.
-
- If the menu definition uses CoreGraphics to draw, it should use the CGContextRef passed
- in the context field of the MDEFDrawItemsData structure.
+/*
+ * MenuItemAttributes
+ *
+ * Summary:
+ * Menu item attributes control behavior of individual menu items.
+ * They are used with the Get/ChangeMenuItemAttributes APIs.
+ */
+typedef UInt32 MenuItemAttributes;
+enum {
+
+ /*
+ * This item is disabled.
+ */
+ kMenuItemAttrDisabled = (1 << 0),
+
+ /*
+ * This item's icon is disabled.
+ */
+ kMenuItemAttrIconDisabled = (1 << 1),
+
+ /*
+ * Allows the parent item of a submenu to be selectable.
+ */
+ kMenuItemAttrSubmenuParentChoosable = (1 << 2),
+
+ /*
+ * This item changes dynamically based on modifier key state.
+ */
+ kMenuItemAttrDynamic = (1 << 3),
+
+ /*
+ * This item is not part of the same dynamic group as the previous
+ * item.
+ */
+ kMenuItemAttrNotPreviousAlternate = (1 << 4),
+
+ /*
+ * This item is not drawn when the menu is displayed. It is also not
+ * included in command key matching, unless the item also has either
+ * the Dynamic or IncludeInCmdKeyMatching attributes.
+ */
+ kMenuItemAttrHidden = (1 << 5),
+
+ /*
+ * This item is a separator; the text of the item is ignored.
+ */
+ kMenuItemAttrSeparator = (1 << 6),
+
+ /*
+ * This item is a menu section header; it is disabled and
+ * unselectable.
+ */
+ kMenuItemAttrSectionHeader = (1 << 7),
+
+ /*
+ * Metacharacters in the text of this item (such as the dash) are
+ * ignored.
+ */
+ kMenuItemAttrIgnoreMeta = (1 << 8),
+
+ /*
+ * This item is recognized by IsMenuKeyEvent when it is passed an
+ * auto-repeat keyboard event.
+ */
+ kMenuItemAttrAutoRepeat = (1 << 9),
+
+ /*
+ * When MenuEvent and IsMenuKeyEvent compare this item's keyboard
+ * equivalent against a keyboard event, they use the item's virtual
+ * keycode equivalent rather than its character code equivalent.
+ */
+ kMenuItemAttrUseVirtualKey = (1 << 10),
+
+ /*
+ * This item is drawn in a customized fashion by the application.
+ * Causes custom menu item drawing Carbon events to be sent. This
+ * attribute is available in CarbonLib 1.4 and Mac OS X 10.1, and
+ * later.
+ */
+ kMenuItemAttrCustomDraw = (1 << 11),
+
+ /*
+ * This item is examined during command key matching by MenuKey,
+ * MenuEvent, and IsMenuKeyEvent. Normally, visible menu items are
+ * included in command key matching, but hidden menu items are
+ * excluded (unless the item also has the Dynamic menu item
+ * attribute). The IncludeInCmdKeyMatching attribute can be used to
+ * force a hidden, non-dynamic menu item to be included in command
+ * key matching when it normally wouldn't. This attribute is
+ * available in CarbonLib 1.6 and later, and in Mac OS X after 10.1.
+ */
+ kMenuItemAttrIncludeInCmdKeyMatching = (1 << 12)
+};
- kMenuDrawMsg
- menuRect menu bounds
- hitPt unused
- whichItem MDEFDrawData*
+/*
+ * MenuTrackingMode
+ *
+ * Summary:
+ * A menu tracking mode constant is part of the
+ * kEventMenuBeginTracking and kEventMenuChangeTrackingMode Carbon
+ * events. It indicates whether menus are being tracked using the
+ * mouse or keyboard.
+ */
+typedef UInt32 MenuTrackingMode;
+enum {
+
+ /*
+ * Menus are being tracked using the mouse.
+ */
+ kMenuTrackingModeMouse = 1,
+
+ /*
+ * Menus are being tracked using the keyboard.
+ */
+ kMenuTrackingModeKeyboard = 2
+};
- Sent when the Menu Manager is displaying a menu and needs to redraw the entire menu.
- The whichItem parameter is actually a pointer to a MenuTrackingData structure. On entry,
- the menu field of this structure is valid. The menu definition should draw the menu and,
- if it supports scrolling, should also fill in the virtualMenuTop and virtualMenuBottom
- fields of the structure to indicate the menu's initial unscrolled position; typically,
- virtualMenuTop would be set to the same value as the top coordinate of the menu rect,
- and virtualMenuBottom would be set to virtualMenuTop plus the virtual height of the menu.
- If the menu definition uses QuickDraw to draw, it should draw into the current port.
+/*
+ * MenuEventOptions
+ *
+ * Summary:
+ * Menu event options control how the menus are searched for an item
+ * matching a particular keyboard event. They are used with the
+ * IsMenuKeyEvent API.
+ */
+typedef UInt32 MenuEventOptions;
+enum {
+
+ /*
+ * Disabled items are examined for a match.
+ */
+ kMenuEventIncludeDisabledItems = 0x0001,
+
+ /*
+ * Don't hilite the menu title if a match is found.
+ */
+ kMenuEventQueryOnly = 0x0002,
+
+ /*
+ * Don't look for a match in submenus of the starting menu.
+ */
+ kMenuEventDontCheckSubmenus = 0x0004
+};
+
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Types */
+/*--------------------------------------------------------------------------------------*/
+typedef SInt16 MenuID;
+typedef UInt16 MenuItemIndex;
+typedef UInt32 MenuCommand;
+#if !OPAQUE_TOOLBOX_STRUCTS
+struct MenuInfo {
+ MenuID menuID; /* in Carbon use Get/SetMenuID*/
+ short menuWidth; /* in Carbon use Get/SetMenuWidth*/
+ short menuHeight; /* in Carbon use Get/SetMenuHeight*/
+ Handle menuProc; /* not supported in Carbon*/
+ long enableFlags; /* in Carbon use Enable/DisableMenuItem, IsMenuItemEnable*/
+ Str255 menuData; /* in Carbon use Get/SetMenuTitle*/
+};
+typedef struct MenuInfo MenuInfo;
+typedef MenuInfo * MenuPtr;
+typedef MenuPtr * MenuHandle;
+typedef MenuHandle MenuRef;
+#else
+typedef struct OpaqueMenuRef* MenuRef;
+/* MenuHandle is old name for MenuRef*/
+typedef MenuRef MenuHandle;
+#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- If the menu definition uses CoreGraphics to draw, it should use the CGContextRef passed
- in the context field of the MDEFDrawData structure.
- kMenuSizeMsg
+/*
+ A MenuBarHandle is a handle to a MenuBarHeader. An instance of this structure is returned
+ by the GetMenuBar and GetNewMBar APIs. It is typedef'd to a plain Handle to retain
+ source compatibility with previous versions of this header file.
+*/
+typedef Handle MenuBarHandle;
- menuRect unused
- hitPt maximum width and height of the menu
- whichItem unused
-
- Sent when the Menu Manager needs to determine the size of a menu. The menu definition
- should calculate the width and height of the menu and store the sizes into the menu with
- SetMenuWidth and SetMenuHeight.
+/*
+ * MenuBarHeader
+ *
+ * Summary:
+ * This structure is contained in a MenuBarHandle. It contains a
+ * list of the non-hierarchical menus that have been inserted into
+ * the menubar.
+ *
+ * Discussion:
+ * The MenuBarHandle is a dynamically sized object which cannot be
+ * directly expressed as a C or Pascal structure. First is the
+ * MenuBarHeader structure, followed by a dynamically sized array of
+ * MenuBarMenus, one for each menu. This array is followed by the
+ * HMenuBarHeader, followed by another dynamically sized array of
+ * HMenuBarMenus, one for each hierarchical menu.
+ */
+struct MenuBarHeader {
+
+ /*
+ * Offset in bytes from the start of the header to the last menu in
+ * the array of MenuBarMenus.
+ */
+ UInt16 lastMenu;
+
+ /*
+ * Global coordinate of the right edge of the rightmost menu; unused
+ * in a MenuBarHandle returned by GetMenuBar or GetNewMBar.
+ */
+ SInt16 lastRight;
+
+ /*
+ * The MBDF resource ID; unused in a MenuBarHandle returned by
+ * GetMenuBar or GetNewMBar.
+ */
+ SInt16 mbResID;
+};
+typedef struct MenuBarHeader MenuBarHeader;
- If the gestaltMenuMgrSendsMenuBoundsToDefProc bit is set in the Menu Manager's Gestalt
- value, then the hitPt parameter to this message is the maximum width (hitPt.h) and height
- (hitPt.v) of the menu. The menu definition should ensure that the width and height that it
- places in the menu do not exceed these values. If the gestalt bit is not set, the menu
- definition should just use the main GDevice's width and height as constraints on the menu's
- width and height.
+/*
+ * HMenuBarHeader
+ *
+ * Summary:
+ * This structure is contained in a MenuBarHandle. It contains a
+ * list of the hierarchical menus that have been inserted into the
+ * menubar with InsertMenu( menu, -1 ).
+ *
+ * Discussion:
+ * The hierarchical portion of the menubar follows the
+ * non-hierarchical portion in a menubar handle. The hierarchical
+ * portion begins with the HMenuBarHeader structure, followed by a
+ * dynamically sized array of HMenuBarMenus.
+ */
+struct HMenuBarHeader {
+
+ /*
+ * Offset in bytes from the start of the header to the last menu in
+ * the array of HMenuBarMenus.
+ */
+ UInt16 lastHMenu;
+
+ /*
+ * Saved bits behind the hilited menu title; unused in a
+ * MenuBarHandle returned by GetMenuBar or GetNewMBar.
+ */
+ PixMapHandle menuTitleBits;
+};
+typedef struct HMenuBarHeader HMenuBarHeader;
- kMenuPopUpMsg
-
- menuRect on entry, constraints on the menu's position; on exit, menu bounds
- hitPt requested menu location, with swapped coordinates
- whichItem on entry, requested initial selection; on exit, virtual menu top
-
- Sent when the Menu Manager is about to display a popup menu. The menu definition should
- calculate the appropriate menu bounds to contain the menu based on the requested menu
- location and selected item. It should write the menuBounds into the rect given by the
- menuRect parameter.
-
- If the gestaltMenuMgrSendsMenuBoundsToDefProc bit is set in the Menu Manager's Gestalt
- value, then the menuRect parameter on entry to this message contains a constraint rect,
- in global coordinates, outside of which the popup menu should not be positioned. The menu
- definition should take this constraint rect into account as it calculates the menu bounds.
- If the gestalt bit is not set, the menu definition should use the bounds of the GDevice
- containing the menu's top left corner as a constraint on the menu's position.
-
- The hitPt parameter is a requested location for the top left corner of the menu. The
- coordinates of this parameter are swapped from their normal order; the h field of the
- hitPt parameter contains the vertical coordinate, and the v field of hitPt contains
- the horizontal coordinate.
-
- On entry, the whichItem parameter points at a menu item index which is requested to be
- the initial selection when the menu is displayed. After calculating the menu's bounds,
- the menu definition should write the menu's virtual top coordinate into the location
- pointed at by the whichItem parameter. If displaying the menu at the requested location
- does not require scrolling, the virtual top will be the same as the menu bounds top;
- if the menu must scroll to fit in the requested location, the virtual top may be different.
-
- kMenuCalcItemMsg
-
- menuRect on exit, item bounds
- hitPt unused
- whichItem the item whose rect to calculate
-
- Sent when the Menu Manager needs to know the bounds of a menu item. The menu definition
- should calculate the size of the item specified by the whichItem parameter, and store
- the bounds in the rect specified by the menuRect parameter.
-
- Some sample menu definition code provided by Apple has previously shown an implementation
- of this message that always sets the top left corner of the item bounds to (0,0), regardless
- of the item's actual position in the menu. For best future compatibility, menu definitions
- should begin storing an item bounds that gives the item's actual position in the menu based
- on the menu's current virtual top. For example, if the virtual menu top starts at 20, then
- the menu definition would calculate an item bounds for the first item that starts at (0,20),
- an item bounds for the second item that starts at (0,40), and so on. The menu definition
- should call GetMenuTrackingData to get the menu's current virtual position, and use zero
- for the menu top if GetMenuTrackingData returns an error.
-
- kMenuThemeSavvyMsg
-
- menuRect unused
- hitPt unused
- whichItem on exit, indicates theme-savvyness of the menu definition
-
- Sent by the Menu Manager to determine whether the MDEF uses the Appearance Manager
- menu-drawing functions to draw its menu. If it does, the menu definition should return
- kThemeSavvyMenuResponse in the location pointed to by whichItem. If the menu definition
- draws its own custom content without using the Appearance Manager menu-drawing functions,
- it should ignore this message.
-
- Low-memory Global Replacements
-
- Pre-Carbon menu definitions needed to use several low-memory globals to communicate with the
- Menu Manager. These globals have all been replaced or made obsolete in Carbon, as follows:
-
- MenuDisable
-
- MenuDisable is now set automatically by the Menu Manager using the value returned in the
- itemUnderMouse field of the MenuTrackingData structure passed to kMenuFindItemMsg.
-
- TopMenuItem
- AtMenuBottom
-
- TopMenuItem and AtMenuBottom are now set automatically by the Menu Manager using the
- values returned in the virtualMenuTop and virtualMenuBottom fields of the MenuTrackingData
- structure passed to kMenuDrawMsg and kMenuFindItemMsg.
-
- mbSaveLoc
-
- This undocumented low-memory global was used by pre-Carbon menu definitions to store
- the bounding rect of the currently selected item and to avoid drawing glitches while
- the menu definition was scrolling the contents of a menu that had submenus. The Menu
- Manager now automatically sets the selected item bounds using the value returned in
- the itemRect field of the MenuTrackingData structure passed to kMenuFindItemMsg. In
- order to correctly support scrolling of menus with submenus, a menu definition should
- verify, before scrolling the menu contents, that no submenus of the scrolling menu are
- currently visible. A menu definition can use GetMenuTrackingData to verify this condition,
- as follows:
-
- Boolean SafeToScroll( MenuRef menuBeingScrolled )
- {
- MenuTrackingData lastMenuData;
- return GetMenuTrackingData( NULL, &lastMenuData ) == noErr
- && lastMenuData.menu == menuBeingScrolled;
- }
-
- If SafeToScroll returns false, the menu definition should not scroll the menu.
- */
- enum
- {
- /* menu defProc messages */
- kMenuDrawMsg = 0,
- kMenuSizeMsg = 2,
- kMenuPopUpMsg = 3,
- kMenuCalcItemMsg = 5,
- kMenuThemeSavvyMsg = 7, /* is your MDEF theme-savvy? If so, return kThemeSavvyMenuResponse in the whichItem parameter*/
- mDrawMsg = 0,
- mSizeMsg = 2,
- mPopUpMsg = 3, /* position the popup menu rect appropriately */
- mCalcItemMsg = 5
- };
+/*
+ * MenuBarMenu
+ *
+ * Summary:
+ * This structure contains a single menu in the menubar. It is an
+ * element in an array in the MenuBarHeader data strucuture.
+ */
+struct MenuBarMenu {
+
+ /*
+ * A menu in the menubar.
+ */
+ MenuRef menu;
+
+ /*
+ * The global coordinate of the left edge of the menu title; unused
+ * in a MenuBarHandle returned by GetMenuBar or GetNewMBar.
+ */
+ SInt16 menuLeft;
+};
+typedef struct MenuBarMenu MenuBarMenu;
+/*
+ * HMenuBarMenu
+ *
+ * Summary:
+ * This structure contains a single hierarchical menu in the
+ * menubar. It is an element in an array in the HMenuBarHeader data
+ * strucuture.
+ */
+struct HMenuBarMenu {
+
+ /*
+ * An hierarchical menu in the menubar.
+ */
+ MenuRef menu;
+
+ /*
+ * This field is currently unused.
+ */
+ SInt16 reserved;
+};
+typedef struct HMenuBarMenu HMenuBarMenu;
+struct MCEntry {
+ MenuID mctID; /*menu ID. ID = 0 is the menu bar*/
+ short mctItem; /*menu Item. Item = 0 is a title*/
+ RGBColor mctRGB1; /*usage depends on ID and Item*/
+ RGBColor mctRGB2; /*usage depends on ID and Item*/
+ RGBColor mctRGB3; /*usage depends on ID and Item*/
+ RGBColor mctRGB4; /*usage depends on ID and Item*/
+ short mctReserved; /*reserved for internal use*/
+};
+typedef struct MCEntry MCEntry;
+typedef MCEntry * MCEntryPtr;
+typedef MCEntry MCTable[1];
+typedef MCEntry * MCTablePtr;
+typedef MCTablePtr * MCTableHandle;
+struct MenuCRsrc {
+ short numEntries; /*number of entries*/
+ MCTable mcEntryRecs; /*ARRAY [1..numEntries] of MCEntry*/
+};
+typedef struct MenuCRsrc MenuCRsrc;
+typedef MenuCRsrc * MenuCRsrcPtr;
+typedef MenuCRsrcPtr * MenuCRsrcHandle;
+#if TARGET_OS_WIN32
+/* QuickTime 3.0 */
+struct MenuAccessKeyRec {
+ short count;
+ long flags;
+ unsigned char keys[1];
+};
+typedef struct MenuAccessKeyRec MenuAccessKeyRec;
+typedef MenuAccessKeyRec * MenuAccessKeyPtr;
+typedef MenuAccessKeyPtr * MenuAccessKeyHandle;
#if CALL_NOT_IN_CARBON
- /*
- Carbon MDEFs must replace mChooseMsg with the new messages kMenuFindItemMsg and kMenuHiliteItemMsg.
- mDrawItemMsg was used by the popup menu control before 8.5, but is no longer used.
- */
- enum
- {
- mChooseMsg = 1,
- mDrawItemMsg = 4,
- kMenuChooseMsg = 1,
- kMenuDrawItemMsg = 4
- };
+/*
+ * SetMenuItemHotKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+SetMenuItemHotKey(
+ MenuRef menu,
+ short itemID,
+ char hotKey,
+ long flags);
+
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kThemeSavvyMenuResponse = 0x7473 /* should be returned in *whichItem when handling kMenuThemeSavvyMsg*/
- };
-
- /* these MDEF messages are only supported in Carbon*/
- enum
- {
- kMenuInitMsg = 8,
- kMenuDisposeMsg = 9,
- kMenuFindItemMsg = 10,
- kMenuHiliteItemMsg = 11,
- kMenuDrawItemsMsg = 12
- };
-
- enum
- {
- textMenuProc = 0,
- hMenuCmd = 27, /*itemCmd == 0x001B ==> hierarchical menu*/
- hierMenu = -1, /*a hierarchical menu - for InsertMenu call*/
- kInsertHierarchicalMenu = -1, /*a better name for hierMenu */
- mctAllItems = -98, /*search for all Items for the given ID*/
- mctLastIDIndic = -99 /*last color table entry has this in ID field*/
- };
-
- /* Constants for use with MacOS 8.0 (Appearance 1.0) and later*/
- enum
- {
- kMenuStdMenuProc = 63,
- kMenuStdMenuBarProc = 63
- };
-
- /* For use with Get/SetMenuItemModifiers*/
- enum
- {
- kMenuNoModifiers = 0, /* Mask for no modifiers*/
- kMenuShiftModifier = (1 << 0), /* Mask for shift key modifier*/
- kMenuOptionModifier = (1 << 1), /* Mask for option key modifier*/
- kMenuControlModifier = (1 << 2), /* Mask for control key modifier*/
- kMenuNoCommandModifier = (1 << 3) /* Mask for no command key modifier*/
- };
-
- /* For use with Get/SetMenuItemIconHandle*/
- enum
- {
- kMenuNoIcon = 0, /* No icon*/
- kMenuIconType = 1, /* Type for ICON*/
- kMenuShrinkIconType = 2, /* Type for ICON plotted 16 x 16*/
- kMenuSmallIconType = 3, /* Type for SICN*/
- kMenuColorIconType = 4, /* Type for cicn*/
- kMenuIconSuiteType = 5, /* Type for Icon Suite*/
- kMenuIconRefType = 6, /* Type for Icon Ref*/
- kMenuCGImageRefType = 7, /* Type for a CGImageRef (Mac OS X only)*/
- kMenuSystemIconSelectorType = 8, /* Type for an IconRef registered with Icon Services under kSystemIconsCreator (Mac OS X 10.1 and later only)*/
- kMenuIconResourceType = 9 /* Type for a CFStringRef naming a resource in the main bundle of the process (Mac OS X 10.1 and later only)*/
- };
-
- /* For use with Get/SetMenuItemKeyGlyph*/
- enum
- {
- kMenuNullGlyph = 0x00, /* Null (always glyph 1)*/
- kMenuTabRightGlyph = 0x02, /* Tab to the right key (for left-to-right script systems)*/
- kMenuTabLeftGlyph = 0x03, /* Tab to the left key (for right-to-left script systems)*/
- kMenuEnterGlyph = 0x04, /* Enter key*/
- kMenuShiftGlyph = 0x05, /* Shift key*/
- kMenuControlGlyph = 0x06, /* Control key*/
- kMenuOptionGlyph = 0x07, /* Option key*/
- kMenuSpaceGlyph = 0x09, /* Space (always glyph 3) key*/
- kMenuDeleteRightGlyph = 0x0A, /* Delete to the right key (for right-to-left script systems)*/
- kMenuReturnGlyph = 0x0B, /* Return key (for left-to-right script systems)*/
- kMenuReturnR2LGlyph = 0x0C, /* Return key (for right-to-left script systems)*/
- kMenuNonmarkingReturnGlyph = 0x0D, /* Nonmarking return key*/
- kMenuPencilGlyph = 0x0F, /* Pencil key*/
- kMenuDownwardArrowDashedGlyph = 0x10, /* Downward dashed arrow key*/
- kMenuCommandGlyph = 0x11, /* Command key*/
- kMenuCheckmarkGlyph = 0x12, /* Checkmark key*/
- kMenuDiamondGlyph = 0x13, /* Diamond key*/
- kMenuAppleLogoFilledGlyph = 0x14, /* Apple logo key (filled)*/
- kMenuParagraphKoreanGlyph = 0x15, /* Unassigned (paragraph in Korean)*/
- kMenuDeleteLeftGlyph = 0x17, /* Delete to the left key (for left-to-right script systems)*/
- kMenuLeftArrowDashedGlyph = 0x18, /* Leftward dashed arrow key*/
- kMenuUpArrowDashedGlyph = 0x19, /* Upward dashed arrow key*/
- kMenuRightArrowDashedGlyph = 0x1A, /* Rightward dashed arrow key*/
- kMenuEscapeGlyph = 0x1B, /* Escape key*/
- kMenuClearGlyph = 0x1C, /* Clear key*/
- kMenuLeftDoubleQuotesJapaneseGlyph = 0x1D, /* Unassigned (left double quotes in Japanese)*/
- kMenuRightDoubleQuotesJapaneseGlyph = 0x1E, /* Unassigned (right double quotes in Japanese)*/
- kMenuTrademarkJapaneseGlyph = 0x1F, /* Unassigned (trademark in Japanese)*/
- kMenuBlankGlyph = 0x61, /* Blank key*/
- kMenuPageUpGlyph = 0x62, /* Page up key*/
- kMenuCapsLockGlyph = 0x63, /* Caps lock key*/
- kMenuLeftArrowGlyph = 0x64, /* Left arrow key*/
- kMenuRightArrowGlyph = 0x65, /* Right arrow key*/
- kMenuNorthwestArrowGlyph = 0x66, /* Northwest arrow key*/
- kMenuHelpGlyph = 0x67, /* Help key*/
- kMenuUpArrowGlyph = 0x68, /* Up arrow key*/
- kMenuSoutheastArrowGlyph = 0x69, /* Southeast arrow key*/
- kMenuDownArrowGlyph = 0x6A, /* Down arrow key*/
- kMenuPageDownGlyph = 0x6B, /* Page down key*/
- kMenuAppleLogoOutlineGlyph = 0x6C, /* Apple logo key (outline)*/
- kMenuContextualMenuGlyph = 0x6D, /* Contextual menu key*/
- kMenuPowerGlyph = 0x6E, /* Power key*/
- kMenuF1Glyph = 0x6F, /* F1 key*/
- kMenuF2Glyph = 0x70, /* F2 key*/
- kMenuF3Glyph = 0x71, /* F3 key*/
- kMenuF4Glyph = 0x72, /* F4 key*/
- kMenuF5Glyph = 0x73, /* F5 key*/
- kMenuF6Glyph = 0x74, /* F6 key*/
- kMenuF7Glyph = 0x75, /* F7 key*/
- kMenuF8Glyph = 0x76, /* F8 key*/
- kMenuF9Glyph = 0x77, /* F9 key*/
- kMenuF10Glyph = 0x78, /* F10 key*/
- kMenuF11Glyph = 0x79, /* F11 key*/
- kMenuF12Glyph = 0x7A, /* F12 key*/
- kMenuF13Glyph = 0x87, /* F13 key*/
- kMenuF14Glyph = 0x88, /* F14 key*/
- kMenuF15Glyph = 0x89, /* F15 key*/
- kMenuControlISOGlyph = 0x8A, /* Control key (ISO standard)*/
- kMenuEjectGlyph = 0x8C /* Eject key (available on Jaguar and later)*/
- };
-
-
- /*
- * MenuAttributes
- *
- * Summary:
- * Menu attributes control behavior of the entire menu. They are
- * used with the Get/ChangeMenuAttributes APIs.
- */
- typedef UInt32 MenuAttributes;
- enum
- {
-
- /*
- * No column space is allocated for the mark character when this menu
- * is drawn.
- */
- kMenuAttrExcludesMarkColumn = (1 << 0),
-
- /*
- * The menu title is automatically disabled when all items are
- * disabled.
- */
- kMenuAttrAutoDisable = (1 << 2),
-
- /*
- * The pencil glyph from the Keyboard font (kMenuPencilGlyph) is used
- * to draw the Control modifier key in menu keyboard equivalents.
- * This appearance is typically used only by Japanese input method
- * menus.
- */
- kMenuAttrUsePencilGlyph = (1 << 3),
-
- /*
- * The menu title is not drawn in the menubar, even when the menu is
- * inserted in the menubar. Useful for adding command keys that don't
- * correspond to a visible menu item; menu items with the desired
- * command keys can be added to the menu and inserted in the menubar
- * without making the menu visible. This attribute is available in
- * Mac OS X after 10.1.
- */
- kMenuAttrHidden = (1 << 4)
- };
-
-
- /*
- * MenuItemAttributes
- *
- * Summary:
- * Menu item attributes control behavior of individual menu items.
- * They are used with the Get/ChangeMenuItemAttributes APIs.
- */
- typedef UInt32 MenuItemAttributes;
- enum
- {
-
- /*
- * This item is disabled.
- */
- kMenuItemAttrDisabled = (1 << 0),
-
- /*
- * This item's icon is disabled.
- */
- kMenuItemAttrIconDisabled = (1 << 1),
-
- /*
- * Allows the parent item of a submenu to be selectable.
- */
- kMenuItemAttrSubmenuParentChoosable = (1 << 2),
-
- /*
- * This item changes dynamically based on modifier key state.
- */
- kMenuItemAttrDynamic = (1 << 3),
-
- /*
- * This item is not part of the same dynamic group as the previous
- * item.
- */
- kMenuItemAttrNotPreviousAlternate = (1 << 4),
-
- /*
- * This item is not drawn when the menu is displayed. It is also not
- * included in command key matching, unless the item also has either
- * the Dynamic or IncludeInCmdKeyMatching attributes.
- */
- kMenuItemAttrHidden = (1 << 5),
-
- /*
- * This item is a separator; the text of the item is ignored.
- */
- kMenuItemAttrSeparator = (1 << 6),
-
- /*
- * This item is a menu section header; it is disabled and
- * unselectable.
- */
- kMenuItemAttrSectionHeader = (1 << 7),
-
- /*
- * Metacharacters in the text of this item (such as the dash) are
- * ignored.
- */
- kMenuItemAttrIgnoreMeta = (1 << 8),
-
- /*
- * This item is recognized by IsMenuKeyEvent when it is passed an
- * auto-repeat keyboard event.
- */
- kMenuItemAttrAutoRepeat = (1 << 9),
-
- /*
- * When MenuEvent and IsMenuKeyEvent compare this item's keyboard
- * equivalent against a keyboard event, they use the item's virtual
- * keycode equivalent rather than its character code equivalent.
- */
- kMenuItemAttrUseVirtualKey = (1 << 10),
-
- /*
- * This item is drawn in a customized fashion by the application.
- * Causes custom menu item drawing Carbon events to be sent. This
- * attribute is available in CarbonLib 1.4 and Mac OS X 10.1, and
- * later.
- */
- kMenuItemAttrCustomDraw = (1 << 11),
-
- /*
- * This item is examined during command key matching by MenuKey,
- * MenuEvent, and IsMenuKeyEvent. Normally, visible menu items are
- * included in command key matching, but hidden menu items are
- * excluded (unless the item also has the Dynamic menu item
- * attribute). The IncludeInCmdKeyMatching attribute can be used to
- * force a hidden, non-dynamic menu item to be included in command
- * key matching when it normally wouldn't. This attribute is
- * available in CarbonLib 1.6 and later, and in Mac OS X after 10.1.
- */
- kMenuItemAttrIncludeInCmdKeyMatching = (1 << 12)
- };
-
-
- /*
- * MenuTrackingMode
- *
- * Summary:
- * A menu tracking mode constant is part of the
- * kEventMenuBeginTracking and kEventMenuChangeTrackingMode Carbon
- * events. It indicates whether menus are being tracked using the
- * mouse or keyboard.
- */
- typedef UInt32 MenuTrackingMode;
- enum
- {
-
- /*
- * Menus are being tracked using the mouse.
- */
- kMenuTrackingModeMouse = 1,
-
- /*
- * Menus are being tracked using the keyboard.
- */
- kMenuTrackingModeKeyboard = 2
- };
-
-
- /*
- * MenuEventOptions
- *
- * Summary:
- * Menu event options control how the menus are searched for an item
- * matching a particular keyboard event. They are used with the
- * IsMenuKeyEvent API.
- */
- typedef UInt32 MenuEventOptions;
- enum
- {
-
- /*
- * Disabled items are examined for a match.
- */
- kMenuEventIncludeDisabledItems = 0x0001,
-
- /*
- * Don't hilite the menu title if a match is found.
- */
- kMenuEventQueryOnly = 0x0002,
-
- /*
- * Don't look for a match in submenus of the starting menu.
- */
- kMenuEventDontCheckSubmenus = 0x0004
- };
-
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Types */
- /*--------------------------------------------------------------------------------------*/
- typedef SInt16 MenuID;
- typedef UInt16 MenuItemIndex;
- typedef UInt32 MenuCommand;
-#if !OPAQUE_TOOLBOX_STRUCTS
- struct MenuInfo
- {
- MenuID menuID; /* in Carbon use Get/SetMenuID*/
- short menuWidth; /* in Carbon use Get/SetMenuWidth*/
- short menuHeight; /* in Carbon use Get/SetMenuHeight*/
- Handle menuProc; /* not supported in Carbon*/
- long enableFlags; /* in Carbon use Enable/DisableMenuItem, IsMenuItemEnable*/
- Str255 menuData; /* in Carbon use Get/SetMenuTitle*/
- };
- typedef struct MenuInfo MenuInfo;
- typedef MenuInfo * MenuPtr;
- typedef MenuPtr * MenuHandle;
- typedef MenuHandle MenuRef;
-#else
- typedef struct OpaqueMenuRef* MenuRef;
- /* MenuHandle is old name for MenuRef*/
- typedef MenuRef MenuHandle;
-#endif /* !OPAQUE_TOOLBOX_STRUCTS */
+#endif /* TARGET_OS_WIN32 */
- /*
- A MenuBarHandle is a handle to a MenuBarHeader. An instance of this structure is returned
- by the GetMenuBar and GetNewMBar APIs. It is typedef'd to a plain Handle to retain
- source compatibility with previous versions of this header file.
- */
- typedef Handle MenuBarHandle;
-
- /*
- * MenuBarHeader
- *
- * Summary:
- * This structure is contained in a MenuBarHandle. It contains a
- * list of the non-hierarchical menus that have been inserted into
- * the menubar.
- *
- * Discussion:
- * The MenuBarHandle is a dynamically sized object which cannot be
- * directly expressed as a C or Pascal structure. First is the
- * MenuBarHeader structure, followed by a dynamically sized array of
- * MenuBarMenus, one for each menu. This array is followed by the
- * HMenuBarHeader, followed by another dynamically sized array of
- * HMenuBarMenus, one for each hierarchical menu.
- */
- struct MenuBarHeader
- {
-
- /*
- * Offset in bytes from the start of the header to the last menu in
- * the array of MenuBarMenus.
- */
- UInt16 lastMenu;
-
- /*
- * Global coordinate of the right edge of the rightmost menu; unused
- * in a MenuBarHandle returned by GetMenuBar or GetNewMBar.
- */
- SInt16 lastRight;
-
- /*
- * The MBDF resource ID; unused in a MenuBarHandle returned by
- * GetMenuBar or GetNewMBar.
- */
- SInt16 mbResID;
- };
- typedef struct MenuBarHeader MenuBarHeader;
-
- /*
- * HMenuBarHeader
- *
- * Summary:
- * This structure is contained in a MenuBarHandle. It contains a
- * list of the hierarchical menus that have been inserted into the
- * menubar with InsertMenu( menu, -1 ).
- *
- * Discussion:
- * The hierarchical portion of the menubar follows the
- * non-hierarchical portion in a menubar handle. The hierarchical
- * portion begins with the HMenuBarHeader structure, followed by a
- * dynamically sized array of HMenuBarMenus.
- */
- struct HMenuBarHeader
- {
-
- /*
- * Offset in bytes from the start of the header to the last menu in
- * the array of HMenuBarMenus.
- */
- UInt16 lastHMenu;
-
- /*
- * Saved bits behind the hilited menu title; unused in a
- * MenuBarHandle returned by GetMenuBar or GetNewMBar.
- */
- PixMapHandle menuTitleBits;
- };
- typedef struct HMenuBarHeader HMenuBarHeader;
-
- /*
- * MenuBarMenu
- *
- * Summary:
- * This structure contains a single menu in the menubar. It is an
- * element in an array in the MenuBarHeader data strucuture.
- */
- struct MenuBarMenu
- {
-
- /*
- * A menu in the menubar.
- */
- MenuRef menu;
-
- /*
- * The global coordinate of the left edge of the menu title; unused
- * in a MenuBarHandle returned by GetMenuBar or GetNewMBar.
- */
- SInt16 menuLeft;
- };
- typedef struct MenuBarMenu MenuBarMenu;
-
- /*
- * HMenuBarMenu
- *
- * Summary:
- * This structure contains a single hierarchical menu in the
- * menubar. It is an element in an array in the HMenuBarHeader data
- * strucuture.
- */
- struct HMenuBarMenu
- {
-
- /*
- * An hierarchical menu in the menubar.
- */
- MenuRef menu;
-
- /*
- * This field is currently unused.
- */
- SInt16 reserved;
- };
- typedef struct HMenuBarMenu HMenuBarMenu;
- struct MCEntry
- {
- MenuID mctID; /*menu ID. ID = 0 is the menu bar*/
- short mctItem; /*menu Item. Item = 0 is a title*/
- RGBColor mctRGB1; /*usage depends on ID and Item*/
- RGBColor mctRGB2; /*usage depends on ID and Item*/
- RGBColor mctRGB3; /*usage depends on ID and Item*/
- RGBColor mctRGB4; /*usage depends on ID and Item*/
- short mctReserved; /*reserved for internal use*/
- };
- typedef struct MCEntry MCEntry;
- typedef MCEntry * MCEntryPtr;
- typedef MCEntry MCTable[1];
- typedef MCEntry * MCTablePtr;
- typedef MCTablePtr * MCTableHandle;
- struct MenuCRsrc
- {
- short numEntries; /*number of entries*/
- MCTable mcEntryRecs; /*ARRAY [1..numEntries] of MCEntry*/
- };
- typedef struct MenuCRsrc MenuCRsrc;
- typedef MenuCRsrc * MenuCRsrcPtr;
- typedef MenuCRsrcPtr * MenuCRsrcHandle;
-#if TARGET_OS_WIN32
- /* QuickTime 3.0 */
- struct MenuAccessKeyRec
- {
- short count;
- long flags;
- unsigned char keys[1];
- };
- typedef struct MenuAccessKeyRec MenuAccessKeyRec;
- typedef MenuAccessKeyRec * MenuAccessKeyPtr;
- typedef MenuAccessKeyPtr * MenuAccessKeyHandle;
-#if CALL_NOT_IN_CARBON
- /*
- * SetMenuItemHotKey()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- SetMenuItemHotKey(
- MenuRef menu,
- short itemID,
- char hotKey,
- long flags);
+/*
+ * MenuTrackingData
+ *
+ * Summary:
+ * The MenuTrackingData structure contains information about a menu
+ * currently being displayed. It is used with the
+ * GetMenuTrackingData API.
+ */
+struct MenuTrackingData {
+ MenuRef menu;
+ MenuItemIndex itemSelected;
+ MenuItemIndex itemUnderMouse;
+ Rect itemRect;
+ SInt32 virtualMenuTop;
+ SInt32 virtualMenuBottom;
+};
+typedef struct MenuTrackingData MenuTrackingData;
+typedef MenuTrackingData * MenuTrackingDataPtr;
+/*
+ * MDEFHiliteItemData
+ *
+ * Summary:
+ * The MDEFHiliteItemData structure contains information about which
+ * menu items should be hilited and unhilited as the user moves
+ * through the menus. It is used by menu definition functions, which
+ * receive a pointer to an MDEFHiliteItemData structure as the
+ * whichItem parameter during kMenuHiliteItemMsg.
+ */
+struct MDEFHiliteItemData {
+
+ /*
+ * The item that was previously selected. It should be redrawn in an
+ * unhilited state. May be zero if no item was previously selected.
+ */
+ MenuItemIndex previousItem;
+
+ /*
+ * The item that is now selected. It should be redrawn in a hilited
+ * state. May be zero if no item is now selected.
+ */
+ MenuItemIndex newItem;
+
+ /*
+ * A CoreGraphics context that the MDEF should draw into. The Menu
+ * Manager will flush the context after the MDEF has returned.
+ */
+ void * context;
+};
+typedef struct MDEFHiliteItemData MDEFHiliteItemData;
+typedef MDEFHiliteItemData * MDEFHiliteItemDataPtr;
+typedef MDEFHiliteItemData HiliteMenuItemData;
+typedef MDEFHiliteItemDataPtr HiliteMenuItemDataPtr;
-#endif /* CALL_NOT_IN_CARBON */
+/*
+ * MDEFDrawData
+ *
+ * Summary:
+ * The MDEFDrawData structure contains information needed to draw a
+ * menu. It is used by menu definition functions, which receive a
+ * pointer to an MDEFDrawData structure as the whichItem parameter
+ * during kMenuDrawMsg.
+ */
+struct MDEFDrawData {
+
+ /*
+ * Information about the menu being drawn. The MDEF should fill in
+ * the virtualMenuTop and virtualMenuBottom fields of this structure
+ * while drawing the menu.
+ */
+ MenuTrackingData trackingData;
+
+ /*
+ * A CoreGraphics context that the MDEF should draw into. The Menu
+ * Manager will flush the context after the MDEF has returned.
+ */
+ void * context;
+};
+typedef struct MDEFDrawData MDEFDrawData;
+typedef MDEFDrawData * MDEFDrawDataPtr;
-#endif /* TARGET_OS_WIN32 */
+/*
+ * MDEFFindItemData
+ *
+ * Summary:
+ * The MDEFFindItemData structure contains information needed to
+ * determine which item is currently selected by the user. It is
+ * used by menu definition functions, which receive a pointer to an
+ * MDEFDrawData structure as the whichItem parameter during
+ * kMenuFindItemMsg.
+ */
+struct MDEFFindItemData {
+
+ /*
+ * Information about the menu being drawn. The MDEF should fill in
+ * the itemSelected, itemUnderMouse, and itemRect fields of this
+ * structure after determining which item is at the specified point.
+ */
+ MenuTrackingData trackingData;
+
+ /*
+ * A CoreGraphics context that the MDEF should draw into if it needs
+ * to scroll the menu during the FindItem message. The Menu Manager
+ * will flush the context after the MDEF has returned.
+ */
+ void * context;
+};
+typedef struct MDEFFindItemData MDEFFindItemData;
+typedef MDEFFindItemData * MDEFFindItemDataPtr;
+/*
+ * MDEFDrawItemsData
+ *
+ * Summary:
+ * The MDEFDrawItemsData structure contains information about which
+ * menu items to redraw. It is used by menu definition functions,
+ * which receive a pointer to an MDEFDrawItemsData structure as the
+ * whichItem parameter during kMenuDrawItemsMsg.
+ */
+struct MDEFDrawItemsData {
+
+ /*
+ * The first item to draw.
+ */
+ MenuItemIndex firstItem;
+
+ /*
+ * The last item to draw.
+ */
+ MenuItemIndex lastItem;
+
+ /*
+ * Information about the menu's tracking state. The virtualMenuTop
+ * and virtualMenuBottom fields in this structure will be the most
+ * useful in handling the DrawItems message.
+ */
+ MenuTrackingData * trackingData;
+
+ /*
+ * A CoreGraphics context that the MDEF should draw into. The Menu
+ * Manager will flush the context after the MDEF returns.
+ */
+ void * context;
+};
+typedef struct MDEFDrawItemsData MDEFDrawItemsData;
+typedef MDEFDrawItemsData * MDEFDrawItemsDataPtr;
+
+/*
+ * Summary:
+ * A MenuItemDataFlags value indicates which fields of a
+ * MenuItemDataRec structure should be used by the
+ * Copy/SetMenuItemData APIs. All MenuItemDataFlags may be used when
+ * getting or setting the contents of a menu item; some may also be
+ * used when getting or setting information about the menu itself,
+ * if the item index given to Copy/SetMenuItemData is 0.
+ */
+enum {
+
+ /*
+ * Set or return the Str255 text of a menu using the
+ * MenuItemDataRec.text field. If getting the text, the text field
+ * must be initialized with a pointer to a Str255 variable before
+ * calling CopyMenuItemData. If both kMenuItemDataText and
+ * kMenuItemCFString are set on entry to CopyMenuItemData, the API
+ * will determine whether the menu text was most recently set using a
+ * Str255 or CFString, and return only that text format; the flags
+ * value for the other format will be cleared. Valid for both menu
+ * items and the menu title (if item number is 0).
+ */
+ kMenuItemDataText = (1 << 0),
+
+ /*
+ * Set or return the mark character of a menu item using the
+ * MenuItemDataRec.mark field. Valid only for menu items.
+ */
+ kMenuItemDataMark = (1 << 1),
+
+ /*
+ * Set or return the command key of a menu item using the
+ * MenuItemDataRec.cmdKey field. Valid only for menu items.
+ */
+ kMenuItemDataCmdKey = (1 << 2),
+
+ /*
+ * Set or return the command key glyph of a menu item using the
+ * MenuItemDataRec.cmdKeyGlyph field. Valid only for menu items.
+ */
+ kMenuItemDataCmdKeyGlyph = (1 << 3),
+
+ /*
+ * Set or return the command key modifiers of a menu item using the
+ * MenuItemDataRec.cmdKeyModifiers field. Valid only for menu items.
+ */
+ kMenuItemDataCmdKeyModifiers = (1 << 4),
+
+ /*
+ * Set or return the QuickDraw text style of a menu item using the
+ * MenuItemDataRec.style field. Valid only for menu items.
+ */
+ kMenuItemDataStyle = (1 << 5),
+
+ /*
+ * Set or return the enable state of a menu using the
+ * MenuItemDataRec.enabled field. Valid for both menu items and the
+ * menu itself (if item number is 0).
+ */
+ kMenuItemDataEnabled = (1 << 6),
+
+ /*
+ * Set or return the enable state of a menu item icon using the
+ * MenuItemDataRec.iconEnabled field. Valid only for menu items.
+ */
+ kMenuItemDataIconEnabled = (1 << 7),
+
+ /*
+ * Set or return the icon resource ID of a menu item using the
+ * MenuItemDataRec.iconID field. Valid only for menu items.
+ */
+ kMenuItemDataIconID = (1 << 8),
+
+ /*
+ * Set or return the icon handle of a menu item using the
+ * MenuItemDataRec.iconType and MenuItemDataRec.iconHandle fields.
+ * Both fields must be initialized if setting the icon handle; both
+ * fields will be returned when getting the handle. The iconType
+ * field should contain one of the constants kMenuIconType,
+ * kMenuShrinkIconType, kMenuSmallIconType, kMenuColorIconType,
+ * kMenuIconSuiteType, or kMenuIconRefType. An icon handle may be a
+ * handle to an ICON resource, a SICN resource, a cicn resource, an
+ * IconSuite, or an IconRef. Valid only for menu items.
+ */
+ kMenuItemDataIconHandle = (1 << 9),
+
+ /*
+ * Set or return the command ID of a menu item using the
+ * MenuItemDataRec.cmdID field. Valid only for menu items.
+ */
+ kMenuItemDataCommandID = (1 << 10),
+
+ /*
+ * Set or return the text encoding of a menu item using the
+ * MenuItemDataRec.encoding field. Valid only for menu items.
+ */
+ kMenuItemDataTextEncoding = (1 << 11),
+ kMenuItemDataSubmenuID = (1 << 12),
+ kMenuItemDataSubmenuHandle = (1 << 13),
+ kMenuItemDataFontID = (1 << 14),
+ kMenuItemDataRefcon = (1 << 15),
+ kMenuItemDataAttributes = (1 << 16),
+ kMenuItemDataCFString = (1 << 17),
+
+ /*
+ * Set or return the properties of a menu using the
+ * MenuItemDataRec.properties field. If setting the properties, the
+ * properties field should contain a collection with the new
+ * properties; existing menu properties with the same collection
+ * creator and tag will be replaced by the new properties. If getting
+ * the properties, the properties field should either be set to NULL
+ * or to a valid Collection. If NULL, a new collection is allocated
+ * by the CopyMenuItemData and returned in the properties field. If
+ * not NULL, the entire contents of the collection are replaced by
+ * the properties of the menu. Valid for both menu items and the menu
+ * itself (if item number is 0).
+ */
+ kMenuItemDataProperties = (1 << 18),
+
+ /*
+ * Set or return the item indent level of a menu item using the
+ * MenuItemDataRec.indent field. Valid only for menu items.
+ */
+ kMenuItemDataIndent = (1 << 19),
+
+ /*
+ * Set or return the virtual key code keyboard equivalent of a menu
+ * item using the MenuItemDataRec.cmdVirtualKey field. Valid only for
+ * menu items. On output, only valid if the item has the
+ * kMenuItemAttrUseVirtualKeyCode attribute.
+ */
+ kMenuItemDataCmdVirtualKey = (1 << 20),
+ kMenuItemDataAllDataVersionOne = 0x000FFFFF,
+ kMenuItemDataAllDataVersionTwo = kMenuItemDataAllDataVersionOne | kMenuItemDataCmdVirtualKey
+};
+
+typedef UInt64 MenuItemDataFlags;
- /*
- * MenuTrackingData
- *
- * Summary:
- * The MenuTrackingData structure contains information about a menu
- * currently being displayed. It is used with the
- * GetMenuTrackingData API.
- */
- struct MenuTrackingData
- {
- MenuRef menu;
- MenuItemIndex itemSelected;
- MenuItemIndex itemUnderMouse;
- Rect itemRect;
- SInt32 virtualMenuTop;
- SInt32 virtualMenuBottom;
- };
- typedef struct MenuTrackingData MenuTrackingData;
- typedef MenuTrackingData * MenuTrackingDataPtr;
-
- /*
- * MDEFHiliteItemData
- *
- * Summary:
- * The MDEFHiliteItemData structure contains information about which
- * menu items should be hilited and unhilited as the user moves
- * through the menus. It is used by menu definition functions, which
- * receive a pointer to an MDEFHiliteItemData structure as the
- * whichItem parameter during kMenuHiliteItemMsg.
- */
- struct MDEFHiliteItemData
- {
-
- /*
- * The item that was previously selected. It should be redrawn in an
- * unhilited state. May be zero if no item was previously selected.
- */
- MenuItemIndex previousItem;
-
- /*
- * The item that is now selected. It should be redrawn in a hilited
- * state. May be zero if no item is now selected.
- */
- MenuItemIndex newItem;
-
- /*
- * A CoreGraphics context that the MDEF should draw into. The Menu
- * Manager will flush the context after the MDEF has returned.
- */
- void * context;
- };
- typedef struct MDEFHiliteItemData MDEFHiliteItemData;
- typedef MDEFHiliteItemData * MDEFHiliteItemDataPtr;
- typedef MDEFHiliteItemData HiliteMenuItemData;
- typedef MDEFHiliteItemDataPtr HiliteMenuItemDataPtr;
-
- /*
- * MDEFDrawData
- *
- * Summary:
- * The MDEFDrawData structure contains information needed to draw a
- * menu. It is used by menu definition functions, which receive a
- * pointer to an MDEFDrawData structure as the whichItem parameter
- * during kMenuDrawMsg.
- */
- struct MDEFDrawData
- {
-
- /*
- * Information about the menu being drawn. The MDEF should fill in
- * the virtualMenuTop and virtualMenuBottom fields of this structure
- * while drawing the menu.
- */
- MenuTrackingData trackingData;
-
- /*
- * A CoreGraphics context that the MDEF should draw into. The Menu
- * Manager will flush the context after the MDEF has returned.
- */
- void * context;
- };
- typedef struct MDEFDrawData MDEFDrawData;
- typedef MDEFDrawData * MDEFDrawDataPtr;
-
- /*
- * MDEFFindItemData
- *
- * Summary:
- * The MDEFFindItemData structure contains information needed to
- * determine which item is currently selected by the user. It is
- * used by menu definition functions, which receive a pointer to an
- * MDEFDrawData structure as the whichItem parameter during
- * kMenuFindItemMsg.
- */
- struct MDEFFindItemData
- {
-
- /*
- * Information about the menu being drawn. The MDEF should fill in
- * the itemSelected, itemUnderMouse, and itemRect fields of this
- * structure after determining which item is at the specified point.
- */
- MenuTrackingData trackingData;
-
- /*
- * A CoreGraphics context that the MDEF should draw into if it needs
- * to scroll the menu during the FindItem message. The Menu Manager
- * will flush the context after the MDEF has returned.
- */
- void * context;
- };
- typedef struct MDEFFindItemData MDEFFindItemData;
- typedef MDEFFindItemData * MDEFFindItemDataPtr;
-
- /*
- * MDEFDrawItemsData
- *
- * Summary:
- * The MDEFDrawItemsData structure contains information about which
- * menu items to redraw. It is used by menu definition functions,
- * which receive a pointer to an MDEFDrawItemsData structure as the
- * whichItem parameter during kMenuDrawItemsMsg.
- */
- struct MDEFDrawItemsData
- {
-
- /*
- * The first item to draw.
- */
- MenuItemIndex firstItem;
-
- /*
- * The last item to draw.
- */
- MenuItemIndex lastItem;
-
- /*
- * Information about the menu's tracking state. The virtualMenuTop
- * and virtualMenuBottom fields in this structure will be the most
- * useful in handling the DrawItems message.
- */
- MenuTrackingData * trackingData;
-
- /*
- * A CoreGraphics context that the MDEF should draw into. The Menu
- * Manager will flush the context after the MDEF returns.
- */
- void * context;
- };
- typedef struct MDEFDrawItemsData MDEFDrawItemsData;
- typedef MDEFDrawItemsData * MDEFDrawItemsDataPtr;
-
- /*
- * Summary:
- * A MenuItemDataFlags value indicates which fields of a
- * MenuItemDataRec structure should be used by the
- * Copy/SetMenuItemData APIs. All MenuItemDataFlags may be used when
- * getting or setting the contents of a menu item; some may also be
- * used when getting or setting information about the menu itself,
- * if the item index given to Copy/SetMenuItemData is 0.
- */
- enum
- {
-
- /*
- * Set or return the Str255 text of a menu using the
- * MenuItemDataRec.text field. If getting the text, the text field
- * must be initialized with a pointer to a Str255 variable before
- * calling CopyMenuItemData. If both kMenuItemDataText and
- * kMenuItemCFString are set on entry to CopyMenuItemData, the API
- * will determine whether the menu text was most recently set using a
- * Str255 or CFString, and return only that text format; the flags
- * value for the other format will be cleared. Valid for both menu
- * items and the menu title (if item number is 0).
- */
- kMenuItemDataText = (1 << 0),
-
- /*
- * Set or return the mark character of a menu item using the
- * MenuItemDataRec.mark field. Valid only for menu items.
- */
- kMenuItemDataMark = (1 << 1),
-
- /*
- * Set or return the command key of a menu item using the
- * MenuItemDataRec.cmdKey field. Valid only for menu items.
- */
- kMenuItemDataCmdKey = (1 << 2),
-
- /*
- * Set or return the command key glyph of a menu item using the
- * MenuItemDataRec.cmdKeyGlyph field. Valid only for menu items.
- */
- kMenuItemDataCmdKeyGlyph = (1 << 3),
-
- /*
- * Set or return the command key modifiers of a menu item using the
- * MenuItemDataRec.cmdKeyModifiers field. Valid only for menu items.
- */
- kMenuItemDataCmdKeyModifiers = (1 << 4),
-
- /*
- * Set or return the QuickDraw text style of a menu item using the
- * MenuItemDataRec.style field. Valid only for menu items.
- */
- kMenuItemDataStyle = (1 << 5),
-
- /*
- * Set or return the enable state of a menu using the
- * MenuItemDataRec.enabled field. Valid for both menu items and the
- * menu itself (if item number is 0).
- */
- kMenuItemDataEnabled = (1 << 6),
-
- /*
- * Set or return the enable state of a menu item icon using the
- * MenuItemDataRec.iconEnabled field. Valid only for menu items.
- */
- kMenuItemDataIconEnabled = (1 << 7),
-
- /*
- * Set or return the icon resource ID of a menu item using the
- * MenuItemDataRec.iconID field. Valid only for menu items.
- */
- kMenuItemDataIconID = (1 << 8),
-
- /*
- * Set or return the icon handle of a menu item using the
- * MenuItemDataRec.iconType and MenuItemDataRec.iconHandle fields.
- * Both fields must be initialized if setting the icon handle; both
- * fields will be returned when getting the handle. The iconType
- * field should contain one of the constants kMenuIconType,
- * kMenuShrinkIconType, kMenuSmallIconType, kMenuColorIconType,
- * kMenuIconSuiteType, or kMenuIconRefType. An icon handle may be a
- * handle to an ICON resource, a SICN resource, a cicn resource, an
- * IconSuite, or an IconRef. Valid only for menu items.
- */
- kMenuItemDataIconHandle = (1 << 9),
-
- /*
- * Set or return the command ID of a menu item using the
- * MenuItemDataRec.cmdID field. Valid only for menu items.
- */
- kMenuItemDataCommandID = (1 << 10),
-
- /*
- * Set or return the text encoding of a menu item using the
- * MenuItemDataRec.encoding field. Valid only for menu items.
- */
- kMenuItemDataTextEncoding = (1 << 11),
- kMenuItemDataSubmenuID = (1 << 12),
- kMenuItemDataSubmenuHandle = (1 << 13),
- kMenuItemDataFontID = (1 << 14),
- kMenuItemDataRefcon = (1 << 15),
- kMenuItemDataAttributes = (1 << 16),
- kMenuItemDataCFString = (1 << 17),
-
- /*
- * Set or return the properties of a menu using the
- * MenuItemDataRec.properties field. If setting the properties, the
- * properties field should contain a collection with the new
- * properties; existing menu properties with the same collection
- * creator and tag will be replaced by the new properties. If getting
- * the properties, the properties field should either be set to NULL
- * or to a valid Collection. If NULL, a new collection is allocated
- * by the CopyMenuItemData and returned in the properties field. If
- * not NULL, the entire contents of the collection are replaced by
- * the properties of the menu. Valid for both menu items and the menu
- * itself (if item number is 0).
- */
- kMenuItemDataProperties = (1 << 18),
-
- /*
- * Set or return the item indent level of a menu item using the
- * MenuItemDataRec.indent field. Valid only for menu items.
- */
- kMenuItemDataIndent = (1 << 19),
-
- /*
- * Set or return the virtual key code keyboard equivalent of a menu
- * item using the MenuItemDataRec.cmdVirtualKey field. Valid only for
- * menu items. On output, only valid if the item has the
- * kMenuItemAttrUseVirtualKeyCode attribute.
- */
- kMenuItemDataCmdVirtualKey = (1 << 20),
- kMenuItemDataAllDataVersionOne = 0x000FFFFF,
- kMenuItemDataAllDataVersionTwo = kMenuItemDataAllDataVersionOne | kMenuItemDataCmdVirtualKey
- };
-
- typedef UInt64 MenuItemDataFlags;
-
- /*
- * MenuItemDataRec
- *
- * Summary:
- * The MenuItemDataRec structure is used to get and change aspects
- * of a menu item. It is used with the Copy/SetMenuItemData APIs.
- *
- * Discussion:
- * When using this structure with Copy/SetMenuItemData, the caller
- * must first set the whichData field to a combination of
- * MenuItemDataFlags indicating which specific data should be
- * retrieved or set. Some fields also require initialization before
- * calling CopyMenuItemData; see the individual MenuItemDataFlags
- * documentation for details.
- */
- struct MenuItemDataRec
- {
- MenuItemDataFlags whichData;
- StringPtr text;
- UniChar mark;
- UniChar cmdKey;
- UInt32 cmdKeyGlyph;
- UInt32 cmdKeyModifiers;
- Style style;
- Boolean enabled;
- Boolean iconEnabled;
- UInt8 filler1;
- SInt32 iconID;
- UInt32 iconType;
- Handle iconHandle;
- MenuCommand cmdID;
- TextEncoding encoding;
- MenuID submenuID;
- MenuRef submenuHandle;
- SInt32 fontID;
- UInt32 refcon;
- OptionBits attr;
- CFStringRef cfText;
- Collection properties;
- UInt32 indent;
- UInt16 cmdVirtualKey;
- };
- typedef struct MenuItemDataRec MenuItemDataRec;
- typedef MenuItemDataRec * MenuItemDataPtr;
- typedef UInt32 MenuItemID;
- /*--------------------------------------------------------------------------------------*/
- /* o Menu ProcPtrs */
- /* */
- /* All of these procs are considered deprecated. Developers interested in portability */
- /* to Carbon should avoid them entirely, if at all possible. */
- /*--------------------------------------------------------------------------------------*/
- typedef CALLBACK_API(void , MenuDefProcPtr)(short message, MenuRef theMenu, Rect *menuRect, Point hitPt, short *whichItem);
- typedef STACK_UPP_TYPE(MenuDefProcPtr) MenuDefUPP;
- /*
- * NewMenuDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MenuDefUPP)
- NewMenuDefUPP(MenuDefProcPtr userRoutine);
+/*
+ * MenuItemDataRec
+ *
+ * Summary:
+ * The MenuItemDataRec structure is used to get and change aspects
+ * of a menu item. It is used with the Copy/SetMenuItemData APIs.
+ *
+ * Discussion:
+ * When using this structure with Copy/SetMenuItemData, the caller
+ * must first set the whichData field to a combination of
+ * MenuItemDataFlags indicating which specific data should be
+ * retrieved or set. Some fields also require initialization before
+ * calling CopyMenuItemData; see the individual MenuItemDataFlags
+ * documentation for details.
+ */
+struct MenuItemDataRec {
+ MenuItemDataFlags whichData;
+ StringPtr text;
+ UniChar mark;
+ UniChar cmdKey;
+ UInt32 cmdKeyGlyph;
+ UInt32 cmdKeyModifiers;
+ Style style;
+ Boolean enabled;
+ Boolean iconEnabled;
+ UInt8 filler1;
+ SInt32 iconID;
+ UInt32 iconType;
+ Handle iconHandle;
+ MenuCommand cmdID;
+ TextEncoding encoding;
+ MenuID submenuID;
+ MenuRef submenuHandle;
+ SInt32 fontID;
+ UInt32 refcon;
+ OptionBits attr;
+ CFStringRef cfText;
+ Collection properties;
+ UInt32 indent;
+ UInt16 cmdVirtualKey;
+};
+typedef struct MenuItemDataRec MenuItemDataRec;
+typedef MenuItemDataRec * MenuItemDataPtr;
+typedef UInt32 MenuItemID;
+/*--------------------------------------------------------------------------------------*/
+/* o Menu ProcPtrs */
+/* */
+/* All of these procs are considered deprecated. Developers interested in portability */
+/* to Carbon should avoid them entirely, if at all possible. */
+/*--------------------------------------------------------------------------------------*/
+typedef CALLBACK_API( void , MenuDefProcPtr )(short message, MenuRef theMenu, Rect *menuRect, Point hitPt, short *whichItem);
+typedef STACK_UPP_TYPE(MenuDefProcPtr) MenuDefUPP;
+/*
+ * NewMenuDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MenuDefUPP )
+NewMenuDefUPP(MenuDefProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMenuDefProcInfo = 0x0000FF80 }; /* pascal no_return_value Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MenuDefUPP) NewMenuDefUPP(MenuDefProcPtr userRoutine)
- {
- return (MenuDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuDefProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMenuDefUPP(userRoutine) (MenuDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuDefProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMenuDefProcInfo = 0x0000FF80 }; /* pascal no_return_value Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MenuDefUPP) NewMenuDefUPP(MenuDefProcPtr userRoutine) { return (MenuDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuDefProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMenuDefUPP(userRoutine) (MenuDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuDefProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeMenuDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMenuDefUPP(MenuDefUPP userUPP);
+/*
+ * DisposeMenuDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMenuDefUPP(MenuDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMenuDefUPP(MenuDefUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMenuDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMenuDefUPP(MenuDefUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMenuDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeMenuDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeMenuDefUPP(
- short message,
- MenuRef theMenu,
- Rect * menuRect,
- Point hitPt,
- short * whichItem,
- MenuDefUPP userUPP);
+/*
+ * InvokeMenuDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeMenuDefUPP(
+ short message,
+ MenuRef theMenu,
+ Rect * menuRect,
+ Point hitPt,
+ short * whichItem,
+ MenuDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeMenuDefUPP(short message, MenuRef theMenu, Rect * menuRect, Point hitPt, short * whichItem, MenuDefUPP userUPP)
- {
- CALL_FIVE_PARAMETER_UPP(userUPP, uppMenuDefProcInfo, message, theMenu, menuRect, hitPt, whichItem);
- }
-#else
-#define InvokeMenuDefUPP(message, theMenu, menuRect, hitPt, whichItem, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppMenuDefProcInfo, (message), (theMenu), (menuRect), (hitPt), (whichItem))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeMenuDefUPP(short message, MenuRef theMenu, Rect * menuRect, Point hitPt, short * whichItem, MenuDefUPP userUPP) { CALL_FIVE_PARAMETER_UPP(userUPP, uppMenuDefProcInfo, message, theMenu, menuRect, hitPt, whichItem); }
+ #else
+ #define InvokeMenuDefUPP(message, theMenu, menuRect, hitPt, whichItem, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppMenuDefProcInfo, (message), (theMenu), (menuRect), (hitPt), (whichItem))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewMenuDefProc(userRoutine) NewMenuDefUPP(userRoutine)
-#define CallMenuDefProc(userRoutine, message, theMenu, menuRect, hitPt, whichItem) InvokeMenuDefUPP(message, theMenu, menuRect, hitPt, whichItem, userRoutine)
+ #define NewMenuDefProc(userRoutine) NewMenuDefUPP(userRoutine)
+ #define CallMenuDefProc(userRoutine, message, theMenu, menuRect, hitPt, whichItem) InvokeMenuDefUPP(message, theMenu, menuRect, hitPt, whichItem, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API(long , MenuBarDefProcPtr)(short selector, short message, short parameter1, long parameter2);
- typedef CALLBACK_API(void , MenuHookProcPtr)(void);
- typedef CALLBACK_API_REGISTER68K(short , MBarHookProcPtr, (Rect * menuRect));
- typedef STACK_UPP_TYPE(MenuBarDefProcPtr) MenuBarDefUPP;
- typedef STACK_UPP_TYPE(MenuHookProcPtr) MenuHookUPP;
- typedef REGISTER_UPP_TYPE(MBarHookProcPtr) MBarHookUPP;
+typedef CALLBACK_API( long , MenuBarDefProcPtr )(short selector, short message, short parameter1, long parameter2);
+typedef CALLBACK_API( void , MenuHookProcPtr )(void);
+typedef CALLBACK_API_REGISTER68K( short , MBarHookProcPtr, (Rect * menuRect) );
+typedef STACK_UPP_TYPE(MenuBarDefProcPtr) MenuBarDefUPP;
+typedef STACK_UPP_TYPE(MenuHookProcPtr) MenuHookUPP;
+typedef REGISTER_UPP_TYPE(MBarHookProcPtr) MBarHookUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewMenuBarDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(MenuBarDefUPP)
- NewMenuBarDefUPP(MenuBarDefProcPtr userRoutine);
+/*
+ * NewMenuBarDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( MenuBarDefUPP )
+NewMenuBarDefUPP(MenuBarDefProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMenuBarDefProcInfo = 0x00003AB0 }; /* pascal 4_bytes Func(2_bytes, 2_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MenuBarDefUPP) NewMenuBarDefUPP(MenuBarDefProcPtr userRoutine)
- {
- return (MenuBarDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuBarDefProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMenuBarDefUPP(userRoutine) (MenuBarDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuBarDefProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMenuBarDefProcInfo = 0x00003AB0 }; /* pascal 4_bytes Func(2_bytes, 2_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MenuBarDefUPP) NewMenuBarDefUPP(MenuBarDefProcPtr userRoutine) { return (MenuBarDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuBarDefProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMenuBarDefUPP(userRoutine) (MenuBarDefUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuBarDefProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMenuHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(MenuHookUPP)
- NewMenuHookUPP(MenuHookProcPtr userRoutine);
+/*
+ * NewMenuHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( MenuHookUPP )
+NewMenuHookUPP(MenuHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMenuHookProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
-#ifdef __cplusplus
- inline DEFINE_API_C(MenuHookUPP) NewMenuHookUPP(MenuHookProcPtr userRoutine)
- {
- return (MenuHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMenuHookUPP(userRoutine) (MenuHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMenuHookProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MenuHookUPP) NewMenuHookUPP(MenuHookProcPtr userRoutine) { return (MenuHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMenuHookUPP(userRoutine) (MenuHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMenuHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMBarHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(MBarHookUPP)
- NewMBarHookUPP(MBarHookProcPtr userRoutine);
+/*
+ * NewMBarHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( MBarHookUPP )
+NewMBarHookUPP(MBarHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMBarHookProcInfo = 0x000000CF }; /* SPECIAL_CASE_PROCINFO(12) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MBarHookUPP) NewMBarHookUPP(MBarHookProcPtr userRoutine)
- {
- return (MBarHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMBarHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMBarHookUPP(userRoutine) (MBarHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMBarHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMBarHookProcInfo = 0x000000CF }; /* SPECIAL_CASE_PROCINFO(12) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MBarHookUPP) NewMBarHookUPP(MBarHookProcPtr userRoutine) { return (MBarHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMBarHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMBarHookUPP(userRoutine) (MBarHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMBarHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeMenuBarDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeMenuBarDefUPP(MenuBarDefUPP userUPP);
+/*
+ * DisposeMenuBarDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeMenuBarDefUPP(MenuBarDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMenuBarDefUPP(MenuBarDefUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMenuBarDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMenuBarDefUPP(MenuBarDefUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMenuBarDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMenuHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeMenuHookUPP(MenuHookUPP userUPP);
+/*
+ * DisposeMenuHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeMenuHookUPP(MenuHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMenuHookUPP(MenuHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMenuHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMenuHookUPP(MenuHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMenuHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMBarHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeMBarHookUPP(MBarHookUPP userUPP);
+/*
+ * DisposeMBarHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeMBarHookUPP(MBarHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMBarHookUPP(MBarHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMBarHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMBarHookUPP(MBarHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMBarHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeMenuBarDefUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- InvokeMenuBarDefUPP(
- short selector,
- short message,
- short parameter1,
- long parameter2,
- MenuBarDefUPP userUPP);
+/*
+ * InvokeMenuBarDefUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+InvokeMenuBarDefUPP(
+ short selector,
+ short message,
+ short parameter1,
+ long parameter2,
+ MenuBarDefUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(long) InvokeMenuBarDefUPP(short selector, short message, short parameter1, long parameter2, MenuBarDefUPP userUPP)
- {
- return (long)CALL_FOUR_PARAMETER_UPP(userUPP, uppMenuBarDefProcInfo, selector, message, parameter1, parameter2);
- }
-#else
-#define InvokeMenuBarDefUPP(selector, message, parameter1, parameter2, userUPP) (long)CALL_FOUR_PARAMETER_UPP((userUPP), uppMenuBarDefProcInfo, (selector), (message), (parameter1), (parameter2))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long) InvokeMenuBarDefUPP(short selector, short message, short parameter1, long parameter2, MenuBarDefUPP userUPP) { return (long)CALL_FOUR_PARAMETER_UPP(userUPP, uppMenuBarDefProcInfo, selector, message, parameter1, parameter2); }
+ #else
+ #define InvokeMenuBarDefUPP(selector, message, parameter1, parameter2, userUPP) (long)CALL_FOUR_PARAMETER_UPP((userUPP), uppMenuBarDefProcInfo, (selector), (message), (parameter1), (parameter2))
+ #endif
#endif
- /*
- * InvokeMenuHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeMenuHookUPP(MenuHookUPP userUPP);
+/*
+ * InvokeMenuHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeMenuHookUPP(MenuHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeMenuHookUPP(MenuHookUPP userUPP)
- {
- CALL_ZERO_PARAMETER_UPP(userUPP, uppMenuHookProcInfo);
- }
-#else
-#define InvokeMenuHookUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppMenuHookProcInfo)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeMenuHookUPP(MenuHookUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppMenuHookProcInfo); }
+ #else
+ #define InvokeMenuHookUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppMenuHookProcInfo)
+ #endif
#endif
- /*
- * InvokeMBarHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- InvokeMBarHookUPP(
- Rect * menuRect,
- MBarHookUPP userUPP);
+/*
+ * InvokeMBarHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+InvokeMBarHookUPP(
+ Rect * menuRect,
+ MBarHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(short) InvokeMBarHookUPP(Rect * menuRect, MBarHookUPP userUPP)
- {
- return (short)CALL_ONE_PARAMETER_UPP(userUPP, uppMBarHookProcInfo, menuRect);
- }
-#else
-#define InvokeMBarHookUPP(menuRect, userUPP) (short)CALL_ONE_PARAMETER_UPP((userUPP), uppMBarHookProcInfo, (menuRect))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(short) InvokeMBarHookUPP(Rect * menuRect, MBarHookUPP userUPP) { return (short)CALL_ONE_PARAMETER_UPP(userUPP, uppMBarHookProcInfo, menuRect); }
+ #else
+ #define InvokeMBarHookUPP(menuRect, userUPP) (short)CALL_ONE_PARAMETER_UPP((userUPP), uppMBarHookProcInfo, (menuRect))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewMenuBarDefProc(userRoutine) NewMenuBarDefUPP(userRoutine)
-#define NewMenuHookProc(userRoutine) NewMenuHookUPP(userRoutine)
-#define NewMBarHookProc(userRoutine) NewMBarHookUPP(userRoutine)
-#define CallMenuBarDefProc(userRoutine, selector, message, parameter1, parameter2) InvokeMenuBarDefUPP(selector, message, parameter1, parameter2, userRoutine)
-#define CallMenuHookProc(userRoutine) InvokeMenuHookUPP(userRoutine)
-#define CallMBarHookProc(userRoutine, menuRect) InvokeMBarHookUPP(menuRect, userRoutine)
+ #define NewMenuBarDefProc(userRoutine) NewMenuBarDefUPP(userRoutine)
+ #define NewMenuHookProc(userRoutine) NewMenuHookUPP(userRoutine)
+ #define NewMBarHookProc(userRoutine) NewMBarHookUPP(userRoutine)
+ #define CallMenuBarDefProc(userRoutine, selector, message, parameter1, parameter2) InvokeMenuBarDefUPP(selector, message, parameter1, parameter2, userRoutine)
+ #define CallMenuHookProc(userRoutine) InvokeMenuHookUPP(userRoutine)
+ #define CallMBarHookProc(userRoutine, menuRect) InvokeMBarHookUPP(menuRect, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kMenuDefProcPtr = 0 /* raw proc-ptr access based on old MDEF */
- };
-
- typedef UInt32 MenuDefType;
- struct MenuDefSpec
- {
- MenuDefType defType;
- union
- {
- MenuDefUPP defProc;
- } u;
- };
- typedef struct MenuDefSpec MenuDefSpec;
- typedef MenuDefSpec * MenuDefSpecPtr;
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Manager Initialization */
- /*--------------------------------------------------------------------------------------*/
+enum {
+ kMenuDefProcPtr = 0 /* raw proc-ptr access based on old MDEF */
+};
+
+typedef UInt32 MenuDefType;
+struct MenuDefSpec {
+ MenuDefType defType;
+ union {
+ MenuDefUPP defProc;
+ } u;
+};
+typedef struct MenuDefSpec MenuDefSpec;
+typedef MenuDefSpec * MenuDefSpecPtr;
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Manager Initialization */
+/*--------------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
- /*
- * InitProcMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitProcMenu(short resID) ONEWORDINLINE(0xA808);
-
-
- /*
- * InitMenus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitMenus(void) ONEWORDINLINE(0xA930);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Manipulation */
- /*--------------------------------------------------------------------------------------*/
+/*
+ * InitProcMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitProcMenu(short resID) ONEWORDINLINE(0xA808);
+
+
+/*
+ * InitMenus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitMenus(void) ONEWORDINLINE(0xA930);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Manipulation */
+/*--------------------------------------------------------------------------------------*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MenuRef)
- NewMenu(
- MenuID menuID,
- ConstStr255Param menuTitle) ONEWORDINLINE(0xA931);
-
-
- /*
- * [Mac]GetMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NewMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MenuRef )
+NewMenu(
+ MenuID menuID,
+ ConstStr255Param menuTitle) ONEWORDINLINE(0xA931);
+
+
+/*
+ * [Mac]GetMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacGetMenu GetMenu
+ #define MacGetMenu GetMenu
#endif
- EXTERN_API(MenuRef)
- MacGetMenu(short resourceID) ONEWORDINLINE(0xA9BF);
-
-
- /*
- * DisposeMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeMenu(MenuRef theMenu) ONEWORDINLINE(0xA932);
-
-
- /*
- * CalcMenuSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CalcMenuSize(MenuRef theMenu) ONEWORDINLINE(0xA948);
+EXTERN_API( MenuRef )
+MacGetMenu(short resourceID) ONEWORDINLINE(0xA9BF);
+
+
+/*
+ * DisposeMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeMenu(MenuRef theMenu) ONEWORDINLINE(0xA932);
+
+
+/*
+ * CalcMenuSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CalcMenuSize(MenuRef theMenu) ONEWORDINLINE(0xA948);
#if CALL_NOT_IN_CARBON
- /*
- * CountMItems()
- *
- * Summary:
- * Renamed to CountMenuItems in Carbon
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UInt16)
- CountMItems(MenuRef theMenu) ONEWORDINLINE(0xA950);
+/*
+ * CountMItems()
+ *
+ * Summary:
+ * Renamed to CountMenuItems in Carbon
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UInt16 )
+CountMItems(MenuRef theMenu) ONEWORDINLINE(0xA950);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * CountMenuItems()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.3 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt16)
- CountMenuItems(MenuRef theMenu) ONEWORDINLINE(0xA950);
+/*
+ * CountMenuItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.3 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt16 )
+CountMenuItems(MenuRef theMenu) ONEWORDINLINE(0xA950);
#if CALL_NOT_IN_CARBON && !TARGET_CPU_68K
-#ifdef __cplusplus
- inline DEFINE_API(UInt16) CountMenuItems(MenuRef theMenu)
- {
- return CountMItems(theMenu);
- }
-#else
-#define CountMenuItems(theMenu) (CountMItems(theMenu))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(UInt16 ) CountMenuItems(MenuRef theMenu) { return CountMItems(theMenu); }
+ #else
+ #define CountMenuItems(theMenu) (CountMItems(theMenu))
+ #endif
#endif
- /* Routines available in Mac OS 8.5 and later, and on Mac OS 8.1 and later using CarbonLib 1.1 and later*/
-
- /*
- * GetMenuFont()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuFont(
- MenuRef menu,
- SInt16 * outFontID,
- UInt16 * outFontSize);
-
-
- /*
- * SetMenuFont()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuFont(
- MenuRef menu,
- SInt16 inFontID,
- UInt16 inFontSize);
-
-
- /*
- * GetMenuExcludesMarkColumn()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- GetMenuExcludesMarkColumn(MenuRef menu);
-
-
- /*
- * SetMenuExcludesMarkColumn()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuExcludesMarkColumn(
- MenuRef menu,
- Boolean excludesMark);
-
-
- /*
- * RegisterMenuDefinition()
- *
- * Summary:
- * Registers or unregisters a binding between a resource ID and a
- * menu definition function.
- *
- * Discussion:
- * In the Mac OS 8.x Menu Manager, a 'MENU' resource can contain an
- * embedded MDEF procID that is used by the Menu Manager as the
- * resource ID of an 'MDEF' resource to measure and draw the menu.
- * The 'MDEF' resource is loaded by the Menu Manager when you load
- * the menu with GetMenu. Since MDEFs can no longer be packaged as
- * code resources on Carbon, the procID can no longer refer directly
- * to an MDEF resource. However, using RegisterMenuDefinition you
- * can instead specify a UniversalProcPtr pointing to code in your
- * application code fragment.
- *
- * Parameters:
- *
- * inResID:
- * An MDEF proc ID, as used in a 'MENU' resource.
- *
- * inDefSpec:
- * Specifies the MenuDefUPP that should be used for menus with the
- * given MDEF proc ID. Passing NULL allows you to unregister the
- * menu definition that had been associated with the given MDEF
- * proc ID.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RegisterMenuDefinition(
- SInt16 inResID,
- MenuDefSpecPtr inDefSpec);
-
-
- /*
- * CreateNewMenu()
- *
- * Summary:
- * Creates a new, untitled, empty menu.
- *
- * Discussion:
- * CreateNewMenu is preferred over NewMenu because it allows you to
- * specify the menu's attributes and it does not require you to
- * specify a Str255-based menu title. To set the menu title, you can
- * use either SetMenuTitle or SetMenuTitleWithCFString.
- *
- * Parameters:
- *
- * inMenuID:
- * The menu ID to use for the new menu.
- *
- * inMenuAttributes:
- * The menu attributes to use for the new menu.
- *
- * outMenuRef:
- * On exit, contains the new menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateNewMenu(
- MenuID inMenuID,
- MenuAttributes inMenuAttributes,
- MenuRef * outMenuRef);
-
-
- /*
- * CreateCustomMenu()
- *
- * Summary:
- * Creates a new, untitled, empty menu using a custom menu
- * definition function.
- *
- * Discussion:
- * Similar to CreateNewMenu, but also allows you to specify a custom
- * menu definition function.
- *
- * Parameters:
- *
- * inDefSpec:
- * Specifies a custom menu definition function. defSpec->defType
- * must be kMenuDefProcPtr.
- *
- * inMenuID:
- * The menu ID to use for the new menu.
- *
- * inMenuAttributes:
- * The menu attributes to use for the new menu.
- *
- * outMenuRef:
- * On exit, contains the new menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateCustomMenu(
- const MenuDefSpec * inDefSpec,
- MenuID inMenuID,
- MenuAttributes inMenuAttributes,
- MenuRef * outMenuRef);
-
-
- /*
- * IsValidMenu()
- *
- * Summary:
- * Determines if a menu is valid.
- *
- * Parameters:
- *
- * inMenu:
- * The menu to check for validity.
- *
- * Result:
- * Indicates whether the menu is valid.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsValidMenu(MenuRef inMenu);
-
-
- /*
- * GetMenuRetainCount()
- *
- * Summary:
- * Returns the retain count of this menu.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose retain count to increment.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ItemCount)
- GetMenuRetainCount(MenuRef inMenu);
-
-
- /*
- * RetainMenu()
- *
- * Summary:
- * Increments the retain count of a menu.
- *
- * Discussion:
- * RetainMenu does not create a new menu. It simply adds one to the
- * retain count. If called on a menu that was not created by
- * CarbonLib, it will not affect the menu's retain count.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose retain count to increment.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RetainMenu(MenuRef inMenu);
-
-
- /*
- * ReleaseMenu()
- *
- * Summary:
- * Decrements the retain count of a menu.
- *
- * Discussion:
- * If called on a menu that was not created by CarbonLib, it will
- * not affect the menu's retain count.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose retain count to decrement. If the retain count
- * falls to zero, the menu is destroyed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ReleaseMenu(MenuRef inMenu);
-
-
- /*
- * DuplicateMenu()
- *
- * Summary:
- * Creates a new menu that is a copy of another menu.
- *
- * Discussion:
- * Unlike RetainMenu, DuplicateMenu creates an entirely new menu
- * that is an exact copy of the original menu. The MDEF for the new
- * menu will receive an init message after the menu has been fully
- * created.
- *
- * Parameters:
- *
- * inSourceMenu:
- * The menu to duplicate.
- *
- * outMenu:
- * On exit, a copy of the source menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DuplicateMenu(
- MenuRef inSourceMenu,
- MenuRef * outMenu);
-
-
- /*
- * CopyMenuTitleAsCFString()
- *
- * Summary:
- * Returns a CFString containing the title of a menu.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose title to return.
- *
- * outString:
- * On exit, a CFString containing the menu's title. This string
- * must be released by the caller.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CopyMenuTitleAsCFString(
- MenuRef inMenu,
- CFStringRef * outString);
-
-
- /*
- * SetMenuTitleWithCFString()
- *
- * Summary:
- * Sets the title of a menu to the text contained in a CFString.
- *
- * Discussion:
- * The Menu Manager will either make its own copy or just increment
- * the refcount of the CFString before returning from
- * SetMenuTitleWithCFString, depending on whether the string is
- * mutable or immutable. If the string is mutable, modifying the
- * string after calling SetMenuTitleWithCFString will have no effect
- * on the menu's actual title. The caller may release the string
- * after calling SetMenuTitleWithCFString.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose title to set.
- *
- * inString:
- * The string containing the new menu title text.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuTitleWithCFString(
- MenuRef inMenu,
- CFStringRef inString);
-
-
- /*
- * SetMenuTitleIcon()
- *
- * Summary:
- * Sets the title of a menu to be an icon.
- *
- * Discussion:
- * The Menu Manager takes ownership of the supplied icon after this
- * call. When a menu with an title icon is disposed, the Menu
- * Manager will dispose the icon also; the Menu Manager will also
- * dispose of the current title icon when a new text or icon title
- * is supplied for a menu. If an IconRef is specified, the Menu
- * Manager will increment its refcount, so you may freely release
- * your reference to the IconRef without invalidating the Menu
- * Manager's copy. The menubar will be invalidated by this call, and
- * redrawn at the next opportunity.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose title to set.
- *
- * inType:
- * The type of icon being used to specify the icon title; use
- * kMenuNoIcon to remove the icon from the menu title. The
- * supported types are kMenuIconSuiteType and kMenuIconRefType.
- *
- * inIcon:
- * The icon; must be NULL if inType is kMenuNoIcon. The supported
- * icon formats are IconSuiteRef and IconRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuTitleIcon(
- MenuRef inMenu,
- UInt32 inType,
- void * inIcon);
-
-
- /*
- * GetMenuTitleIcon()
- *
- * Summary:
- * Retrieves the icon, if any, being used as the title of a menu.
- *
- * Discussion:
- * This API does not increment a refcount on the returned icon. The
- * caller should not release the icon.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose icon title to retrieve.
- *
- * outType:
- * On exit, contains the type of icon being used as the title of
- * the menu. Contains kMenuNoIcon if the menu does not have an
- * icon title.
- *
- * outIcon:
- * On exit, contains the IconSuiteRef or IconRef being used as the
- * title of the menu, or NULL if the menu does not have an icon
- * title. May be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuTitleIcon(
- MenuRef inMenu,
- UInt32 * outType, /* can be NULL */
- void ** outIcon); /* can be NULL */
-
-
- /*
- * InvalidateMenuSize()
- *
- * Summary:
- * Invalidates the menu size so that it will be recalculated when
- * next displayed.
- *
- * Discussion:
- * The pre-Carbon technique for invalidating the menu size was to
- * set the width and height to -1. Although this technique still
- * works, for best compatibility it's preferable to use the
- * InvalidateMenuSize API so that the Menu Manager has explicit
- * notification that the menu is invalid.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose size to invalidate.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InvalidateMenuSize(MenuRef inMenu);
-
-
- /*
- * IsMenuSizeInvalid()
- *
- * Summary:
- * Determines if a menu's size is invalid and should be recalculated.
- *
- * Discussion:
- * The pre-Carbon technique for determining if a menu's size is
- * invalid was to check if the width or height was -1. This
- * technique is not always reliable on Carbon due to implementation
- * changes in the Menu Manager. You should now use IsMenuSizeInvalid
- * instead.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose size to examine.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMenuSizeInvalid(MenuRef inMenu);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o.MDEF support */
- /*--------------------------------------------------------------------------------------*/
- /*
- * EraseMenuBackground()
- *
- * Summary:
- * Erases a portion of a menu background in preparation for further
- * drawing.
- *
- * Discussion:
- * It is necessary to erase the menu background before calling
- * DrawThemeMenuBackground because some themes (such as Aqua on Mac
- * OS X) draw the menu background using the alpha channel, and if
- * the area underneath the menu background is not erased, portions
- * of the old image will show through the menu background.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose background to erase.
- *
- * inEraseRect:
- * The bounds of the area to erase, in local coordinates to the
- * current port.
- *
- * inContext:
- * The CG context to erase. If NULL, EraseMenuBackground will
- * create a context based on the current port.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- EraseMenuBackground(
- MenuRef inMenu,
- const Rect * inEraseRect,
- CGContextRef inContext); /* can be NULL */
-
-
- /*
- * ScrollMenuImage()
- *
- * Summary:
- * Scrolls a portion of the menu image.
- *
- * Discussion:
- * Menus on Mac OS X use an alpha channel, and QuickDraw does not
- * support alpha channels. Therefore, scrolling a menu image with
- * ScrollRect or other QuickDraw APIs does not work correctly; it
- * results in the destruction of the alpha channel data. The
- * ScrollMenuImage API uses CoreGraphics to move the menu image,
- * preserving the alpha channel.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose image to scroll.
- *
- * inScrollRect:
- * The bounds of the rect to scroll.
- *
- * inHScroll:
- * The distance to scroll horizontally.
- *
- * inVScroll:
- * The distance to scroll vertically.
- *
- * inContext:
- * The CG context to erase. If NULL, ScrollMenuImage will create a
- * context based on the current port.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- ScrollMenuImage(
- MenuRef inMenu,
- const Rect * inScrollRect,
- int inHScroll,
- int inVScroll,
- CGContextRef inContext); /* can be NULL */
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Item Insertion */
- /*--------------------------------------------------------------------------------------*/
- /*
- * [Mac]AppendMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/* Routines available in Mac OS 8.5 and later, and on Mac OS 8.1 and later using CarbonLib 1.1 and later*/
+
+/*
+ * GetMenuFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuFont(
+ MenuRef menu,
+ SInt16 * outFontID,
+ UInt16 * outFontSize);
+
+
+/*
+ * SetMenuFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuFont(
+ MenuRef menu,
+ SInt16 inFontID,
+ UInt16 inFontSize);
+
+
+/*
+ * GetMenuExcludesMarkColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetMenuExcludesMarkColumn(MenuRef menu);
+
+
+/*
+ * SetMenuExcludesMarkColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuExcludesMarkColumn(
+ MenuRef menu,
+ Boolean excludesMark);
+
+
+/*
+ * RegisterMenuDefinition()
+ *
+ * Summary:
+ * Registers or unregisters a binding between a resource ID and a
+ * menu definition function.
+ *
+ * Discussion:
+ * In the Mac OS 8.x Menu Manager, a 'MENU' resource can contain an
+ * embedded MDEF procID that is used by the Menu Manager as the
+ * resource ID of an 'MDEF' resource to measure and draw the menu.
+ * The 'MDEF' resource is loaded by the Menu Manager when you load
+ * the menu with GetMenu. Since MDEFs can no longer be packaged as
+ * code resources on Carbon, the procID can no longer refer directly
+ * to an MDEF resource. However, using RegisterMenuDefinition you
+ * can instead specify a UniversalProcPtr pointing to code in your
+ * application code fragment.
+ *
+ * Parameters:
+ *
+ * inResID:
+ * An MDEF proc ID, as used in a 'MENU' resource.
+ *
+ * inDefSpec:
+ * Specifies the MenuDefUPP that should be used for menus with the
+ * given MDEF proc ID. Passing NULL allows you to unregister the
+ * menu definition that had been associated with the given MDEF
+ * proc ID.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RegisterMenuDefinition(
+ SInt16 inResID,
+ MenuDefSpecPtr inDefSpec);
+
+
+/*
+ * CreateNewMenu()
+ *
+ * Summary:
+ * Creates a new, untitled, empty menu.
+ *
+ * Discussion:
+ * CreateNewMenu is preferred over NewMenu because it allows you to
+ * specify the menu's attributes and it does not require you to
+ * specify a Str255-based menu title. To set the menu title, you can
+ * use either SetMenuTitle or SetMenuTitleWithCFString.
+ *
+ * Parameters:
+ *
+ * inMenuID:
+ * The menu ID to use for the new menu.
+ *
+ * inMenuAttributes:
+ * The menu attributes to use for the new menu.
+ *
+ * outMenuRef:
+ * On exit, contains the new menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateNewMenu(
+ MenuID inMenuID,
+ MenuAttributes inMenuAttributes,
+ MenuRef * outMenuRef);
+
+
+/*
+ * CreateCustomMenu()
+ *
+ * Summary:
+ * Creates a new, untitled, empty menu using a custom menu
+ * definition function.
+ *
+ * Discussion:
+ * Similar to CreateNewMenu, but also allows you to specify a custom
+ * menu definition function.
+ *
+ * Parameters:
+ *
+ * inDefSpec:
+ * Specifies a custom menu definition function. defSpec->defType
+ * must be kMenuDefProcPtr.
+ *
+ * inMenuID:
+ * The menu ID to use for the new menu.
+ *
+ * inMenuAttributes:
+ * The menu attributes to use for the new menu.
+ *
+ * outMenuRef:
+ * On exit, contains the new menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateCustomMenu(
+ const MenuDefSpec * inDefSpec,
+ MenuID inMenuID,
+ MenuAttributes inMenuAttributes,
+ MenuRef * outMenuRef);
+
+
+/*
+ * IsValidMenu()
+ *
+ * Summary:
+ * Determines if a menu is valid.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu to check for validity.
+ *
+ * Result:
+ * Indicates whether the menu is valid.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsValidMenu(MenuRef inMenu);
+
+
+/*
+ * GetMenuRetainCount()
+ *
+ * Summary:
+ * Returns the retain count of this menu.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose retain count to increment.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ItemCount )
+GetMenuRetainCount(MenuRef inMenu);
+
+
+/*
+ * RetainMenu()
+ *
+ * Summary:
+ * Increments the retain count of a menu.
+ *
+ * Discussion:
+ * RetainMenu does not create a new menu. It simply adds one to the
+ * retain count. If called on a menu that was not created by
+ * CarbonLib, it will not affect the menu's retain count.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose retain count to increment.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RetainMenu(MenuRef inMenu);
+
+
+/*
+ * ReleaseMenu()
+ *
+ * Summary:
+ * Decrements the retain count of a menu.
+ *
+ * Discussion:
+ * If called on a menu that was not created by CarbonLib, it will
+ * not affect the menu's retain count.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose retain count to decrement. If the retain count
+ * falls to zero, the menu is destroyed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ReleaseMenu(MenuRef inMenu);
+
+
+/*
+ * DuplicateMenu()
+ *
+ * Summary:
+ * Creates a new menu that is a copy of another menu.
+ *
+ * Discussion:
+ * Unlike RetainMenu, DuplicateMenu creates an entirely new menu
+ * that is an exact copy of the original menu. The MDEF for the new
+ * menu will receive an init message after the menu has been fully
+ * created.
+ *
+ * Parameters:
+ *
+ * inSourceMenu:
+ * The menu to duplicate.
+ *
+ * outMenu:
+ * On exit, a copy of the source menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DuplicateMenu(
+ MenuRef inSourceMenu,
+ MenuRef * outMenu);
+
+
+/*
+ * CopyMenuTitleAsCFString()
+ *
+ * Summary:
+ * Returns a CFString containing the title of a menu.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose title to return.
+ *
+ * outString:
+ * On exit, a CFString containing the menu's title. This string
+ * must be released by the caller.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CopyMenuTitleAsCFString(
+ MenuRef inMenu,
+ CFStringRef * outString);
+
+
+/*
+ * SetMenuTitleWithCFString()
+ *
+ * Summary:
+ * Sets the title of a menu to the text contained in a CFString.
+ *
+ * Discussion:
+ * The Menu Manager will either make its own copy or just increment
+ * the refcount of the CFString before returning from
+ * SetMenuTitleWithCFString, depending on whether the string is
+ * mutable or immutable. If the string is mutable, modifying the
+ * string after calling SetMenuTitleWithCFString will have no effect
+ * on the menu's actual title. The caller may release the string
+ * after calling SetMenuTitleWithCFString.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose title to set.
+ *
+ * inString:
+ * The string containing the new menu title text.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuTitleWithCFString(
+ MenuRef inMenu,
+ CFStringRef inString);
+
+
+/*
+ * SetMenuTitleIcon()
+ *
+ * Summary:
+ * Sets the title of a menu to be an icon.
+ *
+ * Discussion:
+ * The Menu Manager takes ownership of the supplied icon after this
+ * call. When a menu with an title icon is disposed, the Menu
+ * Manager will dispose the icon also; the Menu Manager will also
+ * dispose of the current title icon when a new text or icon title
+ * is supplied for a menu. If an IconRef is specified, the Menu
+ * Manager will increment its refcount, so you may freely release
+ * your reference to the IconRef without invalidating the Menu
+ * Manager's copy. The menubar will be invalidated by this call, and
+ * redrawn at the next opportunity.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose title to set.
+ *
+ * inType:
+ * The type of icon being used to specify the icon title; use
+ * kMenuNoIcon to remove the icon from the menu title. The
+ * supported types are kMenuIconSuiteType and kMenuIconRefType.
+ *
+ * inIcon:
+ * The icon; must be NULL if inType is kMenuNoIcon. The supported
+ * icon formats are IconSuiteRef and IconRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuTitleIcon(
+ MenuRef inMenu,
+ UInt32 inType,
+ void * inIcon);
+
+
+/*
+ * GetMenuTitleIcon()
+ *
+ * Summary:
+ * Retrieves the icon, if any, being used as the title of a menu.
+ *
+ * Discussion:
+ * This API does not increment a refcount on the returned icon. The
+ * caller should not release the icon.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose icon title to retrieve.
+ *
+ * outType:
+ * On exit, contains the type of icon being used as the title of
+ * the menu. Contains kMenuNoIcon if the menu does not have an
+ * icon title.
+ *
+ * outIcon:
+ * On exit, contains the IconSuiteRef or IconRef being used as the
+ * title of the menu, or NULL if the menu does not have an icon
+ * title. May be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuTitleIcon(
+ MenuRef inMenu,
+ UInt32 * outType, /* can be NULL */
+ void ** outIcon); /* can be NULL */
+
+
+/*
+ * InvalidateMenuSize()
+ *
+ * Summary:
+ * Invalidates the menu size so that it will be recalculated when
+ * next displayed.
+ *
+ * Discussion:
+ * The pre-Carbon technique for invalidating the menu size was to
+ * set the width and height to -1. Although this technique still
+ * works, for best compatibility it's preferable to use the
+ * InvalidateMenuSize API so that the Menu Manager has explicit
+ * notification that the menu is invalid.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose size to invalidate.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InvalidateMenuSize(MenuRef inMenu);
+
+
+/*
+ * IsMenuSizeInvalid()
+ *
+ * Summary:
+ * Determines if a menu's size is invalid and should be recalculated.
+ *
+ * Discussion:
+ * The pre-Carbon technique for determining if a menu's size is
+ * invalid was to check if the width or height was -1. This
+ * technique is not always reliable on Carbon due to implementation
+ * changes in the Menu Manager. You should now use IsMenuSizeInvalid
+ * instead.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose size to examine.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMenuSizeInvalid(MenuRef inMenu);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o.MDEF support */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * EraseMenuBackground()
+ *
+ * Summary:
+ * Erases a portion of a menu background in preparation for further
+ * drawing.
+ *
+ * Discussion:
+ * It is necessary to erase the menu background before calling
+ * DrawThemeMenuBackground because some themes (such as Aqua on Mac
+ * OS X) draw the menu background using the alpha channel, and if
+ * the area underneath the menu background is not erased, portions
+ * of the old image will show through the menu background.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose background to erase.
+ *
+ * inEraseRect:
+ * The bounds of the area to erase, in local coordinates to the
+ * current port.
+ *
+ * inContext:
+ * The CG context to erase. If NULL, EraseMenuBackground will
+ * create a context based on the current port.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+EraseMenuBackground(
+ MenuRef inMenu,
+ const Rect * inEraseRect,
+ CGContextRef inContext); /* can be NULL */
+
+
+/*
+ * ScrollMenuImage()
+ *
+ * Summary:
+ * Scrolls a portion of the menu image.
+ *
+ * Discussion:
+ * Menus on Mac OS X use an alpha channel, and QuickDraw does not
+ * support alpha channels. Therefore, scrolling a menu image with
+ * ScrollRect or other QuickDraw APIs does not work correctly; it
+ * results in the destruction of the alpha channel data. The
+ * ScrollMenuImage API uses CoreGraphics to move the menu image,
+ * preserving the alpha channel.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose image to scroll.
+ *
+ * inScrollRect:
+ * The bounds of the rect to scroll.
+ *
+ * inHScroll:
+ * The distance to scroll horizontally.
+ *
+ * inVScroll:
+ * The distance to scroll vertically.
+ *
+ * inContext:
+ * The CG context to erase. If NULL, ScrollMenuImage will create a
+ * context based on the current port.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+ScrollMenuImage(
+ MenuRef inMenu,
+ const Rect * inScrollRect,
+ int inHScroll,
+ int inVScroll,
+ CGContextRef inContext); /* can be NULL */
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Item Insertion */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * [Mac]AppendMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacAppendMenu AppendMenu
+ #define MacAppendMenu AppendMenu
#endif
- EXTERN_API(void)
- MacAppendMenu(
- MenuRef menu,
- ConstStr255Param data) ONEWORDINLINE(0xA933);
-
-
- /*
- * InsertResMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InsertResMenu(
- MenuRef theMenu,
- ResType theType,
- short afterItem) ONEWORDINLINE(0xA951);
-
-
- /*
- * AppendResMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AppendResMenu(
- MenuRef theMenu,
- ResType theType) ONEWORDINLINE(0xA94D);
-
-
- /*
- * [Mac]InsertMenuItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacAppendMenu(
+ MenuRef menu,
+ ConstStr255Param data) ONEWORDINLINE(0xA933);
+
+
+/*
+ * InsertResMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InsertResMenu(
+ MenuRef theMenu,
+ ResType theType,
+ short afterItem) ONEWORDINLINE(0xA951);
+
+
+/*
+ * AppendResMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AppendResMenu(
+ MenuRef theMenu,
+ ResType theType) ONEWORDINLINE(0xA94D);
+
+
+/*
+ * [Mac]InsertMenuItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacInsertMenuItem InsertMenuItem
+ #define MacInsertMenuItem InsertMenuItem
#endif
- EXTERN_API(void)
- MacInsertMenuItem(
- MenuRef theMenu,
- ConstStr255Param itemString,
- short afterItem) ONEWORDINLINE(0xA826);
-
-
- /*
- * DeleteMenuItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DeleteMenuItem(
- MenuRef theMenu,
- short item) ONEWORDINLINE(0xA952);
-
-
- /*
- * InsertFontResMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InsertFontResMenu(
- MenuRef theMenu,
- short afterItem,
- short scriptFilter) THREEWORDINLINE(0x303C, 0x0400, 0xA825);
-
-
- /*
- * InsertIntlResMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InsertIntlResMenu(
- MenuRef theMenu,
- ResType theType,
- short afterItem,
- short scriptFilter) THREEWORDINLINE(0x303C, 0x0601, 0xA825);
-
-
- /*
- * AppendMenuItemText()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- AppendMenuItemText(
- MenuRef menu,
- ConstStr255Param inString);
-
-
- /*
- * InsertMenuItemText()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InsertMenuItemText(
- MenuRef menu,
- ConstStr255Param inString,
- MenuItemIndex afterItem);
-
-
- /*
- * CopyMenuItems()
- *
- * Summary:
- * Copies menu items from one menu to another.
- *
- * Parameters:
- *
- * inSourceMenu:
- * The menu from which to copy items.
- *
- * inFirstItem:
- * The first item to copy.
- *
- * inNumItems:
- * The number of items to copy.
- *
- * inDestMenu:
- * The menu to which to copy items.
- *
- * inInsertAfter:
- * The menu item in the destination menu after which to insert the
- * copied items.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CopyMenuItems(
- MenuRef inSourceMenu,
- MenuItemIndex inFirstItem,
- ItemCount inNumItems,
- MenuRef inDestMenu,
- MenuItemIndex inInsertAfter);
-
-
- /*
- * DeleteMenuItems()
- *
- * Summary:
- * Deletes multiple menu items.
- *
- * Discussion:
- * This API is more efficient than calling DeleteMenuItem multiple
- * times.
- *
- * Parameters:
- *
- * inMenu:
- * The menu from which to delete items.
- *
- * inFirstItem:
- * The first item to delete.
- *
- * inNumItems:
- * The number of items to delete.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DeleteMenuItems(
- MenuRef inMenu,
- MenuItemIndex inFirstItem,
- ItemCount inNumItems);
-
-
- /*
- * AppendMenuItemTextWithCFString()
- *
- * Summary:
- * Appends a new menu item with text from a CFString.
- *
- * Discussion:
- * The Menu Manager will either make its own copy or just increment
- * the refcount of the CFString before returning from
- * AppendMenuItemWithTextCFString, depending on whether the string
- * is mutable or immutable. If the string is mutable, modifying the
- * string after calling AppendMenuItemTextWithCFString will have no
- * effect on the menu item's actual text. The caller may release the
- * string after calling AppendMenuItemTextWithCFString.
- *
- * Parameters:
- *
- * inMenu:
- * The menu to which to append the new item.
- *
- * inString:
- * The text of the new item.
- *
- * inAttributes:
- * The attributes of the new item.
- *
- * inCommandID:
- * The command ID of the new item.
- *
- * outNewItem:
- * On exit, the index of the new item. May be NULL if the caller
- * does not need this information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- AppendMenuItemTextWithCFString(
- MenuRef inMenu,
- CFStringRef inString,
- MenuItemAttributes inAttributes,
- MenuCommand inCommandID,
- MenuItemIndex * outNewItem); /* can be NULL */
-
-
- /*
- * InsertMenuItemTextWithCFString()
- *
- * Summary:
- * Inserts a new menu item with text from a CFString.
- *
- * Discussion:
- * The Menu Manager will either make its own copy or just increment
- * the refcount of the CFString before returning from
- * InsertMenuItemWithCFString, depending on whether the string is
- * mutable or immutable. If the string is mutable, modifying the
- * string after calling InsertMenuItemWithCFString will have no
- * effect on the menu item's actual text. The caller may release the
- * string after calling InsertMenuItemWithCFString.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to insert the new item.
- *
- * inString:
- * The text of the new item.
- *
- * inAfterItem:
- * The item after which to insert the new item.
- *
- * inAttributes:
- * The attributes of the new item.
- *
- * inCommandID:
- * The command ID of the new item.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InsertMenuItemTextWithCFString(
- MenuRef inMenu,
- CFStringRef inString,
- MenuItemIndex inAfterItem,
- MenuItemAttributes inAttributes,
- MenuCommand inCommandID);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Events */
- /*--------------------------------------------------------------------------------------*/
- /*
- * MenuKey()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- MenuKey(CharParameter ch) ONEWORDINLINE(0xA93E);
-
-
- /*
- * MenuSelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- MenuSelect(Point startPt) ONEWORDINLINE(0xA93D);
-
-
- /*
- * PopUpMenuSelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- PopUpMenuSelect(
- MenuRef menu,
- short top,
- short left,
- short popUpItem) ONEWORDINLINE(0xA80B);
-
-
- /*
- * MenuChoice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- MenuChoice(void) ONEWORDINLINE(0xAA66);
-
-
- /*
- * MenuEvent()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- MenuEvent(const EventRecord * inEvent) THREEWORDINLINE(0x303C, 0x020C, 0xA825);
-
-
- /*
- * IsMenuKeyEvent()
- *
- * Summary:
- * Determines if an event corresponds to a menu command key.
- *
- * Discussion:
- * By default, IsMenuKeyEvent searches the menus in the current menu
- * bar and hilites the menu title of the menu containing the
- * selected item.
- *
- * Parameters:
- *
- * inStartMenu:
- * IsMenuKeyEvent searches for matching menu items in this menu
- * and all of its submenus. May be NULL to search the current menu
- * bar contents.
- *
- * inEvent:
- * The event to match against. Non-keyboard events are ignored.
- *
- * inOptions:
- * Options controlling how to search. Pass kNilOptions for the
- * default behavior.
- *
- * outMenu:
- * On exit, the menu containing the matching item. May be NULL.
- *
- * outMenuItem:
- * On exit, the menu item that matched. May be NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMenuKeyEvent(
- MenuRef inStartMenu,
- EventRef inEvent,
- MenuEventOptions inOptions,
- MenuRef * outMenu, /* can be NULL */
- MenuItemIndex * outMenuItem); /* can be NULL */
-
-
- /*
- * InvalidateMenuEnabling()
- *
- * Summary:
- * Causes the menu enable state to be recalculated at the next
- * convenient opportunity.
- *
- * Discussion:
- * It is common for state changes in an application (for example,
- * selection of text) to cause a change in the enabling of items in
- * the application's menu (for example, the Copy menu item might
- * become enabled). In a Carbon-event-savvy application, menu items
- * are enabled or disabled in response to an
- * kEventCommandUpdateStatus event; however, this event is normally
- * only sent before a command key press or a click in the menubar.
- * You can request an explicit recalculation of a menu's enable
- * state with the InvalidateMenuEnabling API. The Carbon Event
- * Manager will automatically invalidate the enable state of all
- * top-level menus when a user event is dispatched, the user focus
- * changes, or the active window changes, so in many cases you will
- * not need to explicitly invalidate the menu enabling state.
- *
- * Parameters:
- *
- * inMenu:
- * A menu to re-enable, or NULL if all menus in the root menu
- * should be re-enabled.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InvalidateMenuEnabling(MenuRef inMenu);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Bar */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetMBarHeight()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetMBarHeight(void) TWOWORDINLINE(0x3EB8, 0x0BAA);
-
-
- /*
- * [Mac]DrawMenuBar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacInsertMenuItem(
+ MenuRef theMenu,
+ ConstStr255Param itemString,
+ short afterItem) ONEWORDINLINE(0xA826);
+
+
+/*
+ * DeleteMenuItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DeleteMenuItem(
+ MenuRef theMenu,
+ short item) ONEWORDINLINE(0xA952);
+
+
+/*
+ * InsertFontResMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InsertFontResMenu(
+ MenuRef theMenu,
+ short afterItem,
+ short scriptFilter) THREEWORDINLINE(0x303C, 0x0400, 0xA825);
+
+
+/*
+ * InsertIntlResMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InsertIntlResMenu(
+ MenuRef theMenu,
+ ResType theType,
+ short afterItem,
+ short scriptFilter) THREEWORDINLINE(0x303C, 0x0601, 0xA825);
+
+
+/*
+ * AppendMenuItemText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+AppendMenuItemText(
+ MenuRef menu,
+ ConstStr255Param inString);
+
+
+/*
+ * InsertMenuItemText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InsertMenuItemText(
+ MenuRef menu,
+ ConstStr255Param inString,
+ MenuItemIndex afterItem);
+
+
+/*
+ * CopyMenuItems()
+ *
+ * Summary:
+ * Copies menu items from one menu to another.
+ *
+ * Parameters:
+ *
+ * inSourceMenu:
+ * The menu from which to copy items.
+ *
+ * inFirstItem:
+ * The first item to copy.
+ *
+ * inNumItems:
+ * The number of items to copy.
+ *
+ * inDestMenu:
+ * The menu to which to copy items.
+ *
+ * inInsertAfter:
+ * The menu item in the destination menu after which to insert the
+ * copied items.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CopyMenuItems(
+ MenuRef inSourceMenu,
+ MenuItemIndex inFirstItem,
+ ItemCount inNumItems,
+ MenuRef inDestMenu,
+ MenuItemIndex inInsertAfter);
+
+
+/*
+ * DeleteMenuItems()
+ *
+ * Summary:
+ * Deletes multiple menu items.
+ *
+ * Discussion:
+ * This API is more efficient than calling DeleteMenuItem multiple
+ * times.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu from which to delete items.
+ *
+ * inFirstItem:
+ * The first item to delete.
+ *
+ * inNumItems:
+ * The number of items to delete.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DeleteMenuItems(
+ MenuRef inMenu,
+ MenuItemIndex inFirstItem,
+ ItemCount inNumItems);
+
+
+/*
+ * AppendMenuItemTextWithCFString()
+ *
+ * Summary:
+ * Appends a new menu item with text from a CFString.
+ *
+ * Discussion:
+ * The Menu Manager will either make its own copy or just increment
+ * the refcount of the CFString before returning from
+ * AppendMenuItemWithTextCFString, depending on whether the string
+ * is mutable or immutable. If the string is mutable, modifying the
+ * string after calling AppendMenuItemTextWithCFString will have no
+ * effect on the menu item's actual text. The caller may release the
+ * string after calling AppendMenuItemTextWithCFString.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu to which to append the new item.
+ *
+ * inString:
+ * The text of the new item.
+ *
+ * inAttributes:
+ * The attributes of the new item.
+ *
+ * inCommandID:
+ * The command ID of the new item.
+ *
+ * outNewItem:
+ * On exit, the index of the new item. May be NULL if the caller
+ * does not need this information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+AppendMenuItemTextWithCFString(
+ MenuRef inMenu,
+ CFStringRef inString,
+ MenuItemAttributes inAttributes,
+ MenuCommand inCommandID,
+ MenuItemIndex * outNewItem); /* can be NULL */
+
+
+/*
+ * InsertMenuItemTextWithCFString()
+ *
+ * Summary:
+ * Inserts a new menu item with text from a CFString.
+ *
+ * Discussion:
+ * The Menu Manager will either make its own copy or just increment
+ * the refcount of the CFString before returning from
+ * InsertMenuItemWithCFString, depending on whether the string is
+ * mutable or immutable. If the string is mutable, modifying the
+ * string after calling InsertMenuItemWithCFString will have no
+ * effect on the menu item's actual text. The caller may release the
+ * string after calling InsertMenuItemWithCFString.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to insert the new item.
+ *
+ * inString:
+ * The text of the new item.
+ *
+ * inAfterItem:
+ * The item after which to insert the new item.
+ *
+ * inAttributes:
+ * The attributes of the new item.
+ *
+ * inCommandID:
+ * The command ID of the new item.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InsertMenuItemTextWithCFString(
+ MenuRef inMenu,
+ CFStringRef inString,
+ MenuItemIndex inAfterItem,
+ MenuItemAttributes inAttributes,
+ MenuCommand inCommandID);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Events */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * MenuKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+MenuKey(CharParameter ch) ONEWORDINLINE(0xA93E);
+
+
+/*
+ * MenuSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+MenuSelect(Point startPt) ONEWORDINLINE(0xA93D);
+
+
+/*
+ * PopUpMenuSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+PopUpMenuSelect(
+ MenuRef menu,
+ short top,
+ short left,
+ short popUpItem) ONEWORDINLINE(0xA80B);
+
+
+/*
+ * MenuChoice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+MenuChoice(void) ONEWORDINLINE(0xAA66);
+
+
+/*
+ * MenuEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+MenuEvent(const EventRecord * inEvent) THREEWORDINLINE(0x303C, 0x020C, 0xA825);
+
+
+/*
+ * IsMenuKeyEvent()
+ *
+ * Summary:
+ * Determines if an event corresponds to a menu command key.
+ *
+ * Discussion:
+ * By default, IsMenuKeyEvent searches the menus in the current menu
+ * bar and hilites the menu title of the menu containing the
+ * selected item.
+ *
+ * Parameters:
+ *
+ * inStartMenu:
+ * IsMenuKeyEvent searches for matching menu items in this menu
+ * and all of its submenus. May be NULL to search the current menu
+ * bar contents.
+ *
+ * inEvent:
+ * The event to match against. Non-keyboard events are ignored.
+ *
+ * inOptions:
+ * Options controlling how to search. Pass kNilOptions for the
+ * default behavior.
+ *
+ * outMenu:
+ * On exit, the menu containing the matching item. May be NULL.
+ *
+ * outMenuItem:
+ * On exit, the menu item that matched. May be NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMenuKeyEvent(
+ MenuRef inStartMenu,
+ EventRef inEvent,
+ MenuEventOptions inOptions,
+ MenuRef * outMenu, /* can be NULL */
+ MenuItemIndex * outMenuItem); /* can be NULL */
+
+
+/*
+ * InvalidateMenuEnabling()
+ *
+ * Summary:
+ * Causes the menu enable state to be recalculated at the next
+ * convenient opportunity.
+ *
+ * Discussion:
+ * It is common for state changes in an application (for example,
+ * selection of text) to cause a change in the enabling of items in
+ * the application's menu (for example, the Copy menu item might
+ * become enabled). In a Carbon-event-savvy application, menu items
+ * are enabled or disabled in response to an
+ * kEventCommandUpdateStatus event; however, this event is normally
+ * only sent before a command key press or a click in the menubar.
+ * You can request an explicit recalculation of a menu's enable
+ * state with the InvalidateMenuEnabling API. The Carbon Event
+ * Manager will automatically invalidate the enable state of all
+ * top-level menus when a user event is dispatched, the user focus
+ * changes, or the active window changes, so in many cases you will
+ * not need to explicitly invalidate the menu enabling state.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * A menu to re-enable, or NULL if all menus in the root menu
+ * should be re-enabled.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InvalidateMenuEnabling(MenuRef inMenu);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Bar */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetMBarHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetMBarHeight(void) TWOWORDINLINE(0x3EB8, 0x0BAA);
+
+
+/*
+ * [Mac]DrawMenuBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacDrawMenuBar DrawMenuBar
+ #define MacDrawMenuBar DrawMenuBar
#endif
- EXTERN_API(void)
- MacDrawMenuBar(void) ONEWORDINLINE(0xA937);
-
-
- /*
- * InvalMenuBar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InvalMenuBar(void) ONEWORDINLINE(0xA81D);
-
-
- /*
- * IsMenuBarInvalid()
- *
- * Summary:
- * Determines if the menubar is invalid and should be redrawn.
- *
- * Parameters:
- *
- * rootMenu:
- * The root menu for the menubar to be examined. Pass NULL to
- * check the state of the current menubar.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMenuBarInvalid(MenuRef rootMenu);
-
-
- /*
- * HiliteMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HiliteMenu(MenuID menuID) ONEWORDINLINE(0xA938);
-
-
- /*
- * GetNewMBar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MenuBarHandle)
- GetNewMBar(short menuBarID) ONEWORDINLINE(0xA9C0);
-
-
- /*
- * GetMenuBar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MenuBarHandle)
- GetMenuBar(void) ONEWORDINLINE(0xA93B);
-
-
- /*
- * SetMenuBar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetMenuBar(MenuBarHandle mbar) ONEWORDINLINE(0xA93C);
-
-
- /*
- * DuplicateMenuBar()
- *
- * Summary:
- * Duplicates a menubar handle.
- *
- * Discussion:
- * This API should be used in Carbon applications when duplicating a
- * handle returned from GetMenuBar or GetNewMBar. You should not use
- * Memory Manager APIs (HandToHand, NewHandle, etc) to duplicate
- * such a handle. This is necessary in Carbon so that the refcounts
- * of the menus in the menubar handle can be incremented when the
- * handle is duplicated.
- *
- * Parameters:
- *
- * inMbar:
- * The menubar handle to duplicate.
- *
- * outMbar:
- * On exit, contains the new menubar handle.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DuplicateMenuBar(
- MenuBarHandle inMbar,
- MenuBarHandle * outMbar);
-
-
- /*
- * DisposeMenuBar()
- *
- * Summary:
- * Releases a menubar handle.
- *
- * Discussion:
- * This API should be used in Carbon applications when releasing a
- * handle returned from GetMenuBar or GetNewMBar. You should not use
- * DisposeHandle to release such a handle. This is necessary in
- * Carbon so that the refcounts of the menus in the menubar handle
- * can be decremented when the handle is released.
- *
- * Parameters:
- *
- * inMbar:
- * The menubar handle to release.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DisposeMenuBar(MenuBarHandle inMbar);
-
-
- /*
- * GetMenuHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MenuRef)
- GetMenuHandle(MenuID menuID) ONEWORDINLINE(0xA949);
+EXTERN_API( void )
+MacDrawMenuBar(void) ONEWORDINLINE(0xA937);
+
+
+/*
+ * InvalMenuBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InvalMenuBar(void) ONEWORDINLINE(0xA81D);
+
+
+/*
+ * IsMenuBarInvalid()
+ *
+ * Summary:
+ * Determines if the menubar is invalid and should be redrawn.
+ *
+ * Parameters:
+ *
+ * rootMenu:
+ * The root menu for the menubar to be examined. Pass NULL to
+ * check the state of the current menubar.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMenuBarInvalid(MenuRef rootMenu);
+
+
+/*
+ * HiliteMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HiliteMenu(MenuID menuID) ONEWORDINLINE(0xA938);
+
+
+/*
+ * GetNewMBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MenuBarHandle )
+GetNewMBar(short menuBarID) ONEWORDINLINE(0xA9C0);
+
+
+/*
+ * GetMenuBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MenuBarHandle )
+GetMenuBar(void) ONEWORDINLINE(0xA93B);
+
+
+/*
+ * SetMenuBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetMenuBar(MenuBarHandle mbar) ONEWORDINLINE(0xA93C);
+
+
+/*
+ * DuplicateMenuBar()
+ *
+ * Summary:
+ * Duplicates a menubar handle.
+ *
+ * Discussion:
+ * This API should be used in Carbon applications when duplicating a
+ * handle returned from GetMenuBar or GetNewMBar. You should not use
+ * Memory Manager APIs (HandToHand, NewHandle, etc) to duplicate
+ * such a handle. This is necessary in Carbon so that the refcounts
+ * of the menus in the menubar handle can be incremented when the
+ * handle is duplicated.
+ *
+ * Parameters:
+ *
+ * inMbar:
+ * The menubar handle to duplicate.
+ *
+ * outMbar:
+ * On exit, contains the new menubar handle.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DuplicateMenuBar(
+ MenuBarHandle inMbar,
+ MenuBarHandle * outMbar);
+
+
+/*
+ * DisposeMenuBar()
+ *
+ * Summary:
+ * Releases a menubar handle.
+ *
+ * Discussion:
+ * This API should be used in Carbon applications when releasing a
+ * handle returned from GetMenuBar or GetNewMBar. You should not use
+ * DisposeHandle to release such a handle. This is necessary in
+ * Carbon so that the refcounts of the menus in the menubar handle
+ * can be decremented when the handle is released.
+ *
+ * Parameters:
+ *
+ * inMbar:
+ * The menubar handle to release.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DisposeMenuBar(MenuBarHandle inMbar);
+
+
+/*
+ * GetMenuHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MenuRef )
+GetMenuHandle(MenuID menuID) ONEWORDINLINE(0xA949);
#define GetMenuRef GetMenuHandle
- /*
- * [Mac]InsertMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * [Mac]InsertMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacInsertMenu InsertMenu
+ #define MacInsertMenu InsertMenu
#endif
- EXTERN_API(void)
- MacInsertMenu(
- MenuRef theMenu,
- MenuID beforeID) ONEWORDINLINE(0xA935);
-
-
- /*
- * [Mac]DeleteMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacInsertMenu(
+ MenuRef theMenu,
+ MenuID beforeID) ONEWORDINLINE(0xA935);
+
+
+/*
+ * [Mac]DeleteMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacDeleteMenu DeleteMenu
+ #define MacDeleteMenu DeleteMenu
#endif
- EXTERN_API(void)
- MacDeleteMenu(MenuID menuID) ONEWORDINLINE(0xA936);
+EXTERN_API( void )
+MacDeleteMenu(MenuID menuID) ONEWORDINLINE(0xA936);
- /*
- * ClearMenuBar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ClearMenuBar(void) ONEWORDINLINE(0xA934);
+/*
+ * ClearMenuBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ClearMenuBar(void) ONEWORDINLINE(0xA934);
#if CALL_NOT_IN_CARBON
- /*
- * SetMenuFlash()
- *
- * Summary:
- * Renamed to SetMenuFlashCount in Carbon
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetMenuFlash(short count) ONEWORDINLINE(0xA94A);
+/*
+ * SetMenuFlash()
+ *
+ * Summary:
+ * Renamed to SetMenuFlashCount in Carbon
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetMenuFlash(short count) ONEWORDINLINE(0xA94A);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SetMenuFlashCount()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.3 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetMenuFlashCount(short count) ONEWORDINLINE(0xA94A);
+/*
+ * SetMenuFlashCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.3 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetMenuFlashCount(short count) ONEWORDINLINE(0xA94A);
#if CALL_NOT_IN_CARBON && !TARGET_CPU_68K
-#ifdef __cplusplus
- inline DEFINE_API(void) SetMenuFlashCount(short count)
- {
- SetMenuFlash(count);
- }
-#else
-#define SetMenuFlashCount(count) (SetMenuFlash(count))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(void) SetMenuFlashCount(short count) { SetMenuFlash(count); }
+ #else
+ #define SetMenuFlashCount(count) (SetMenuFlash(count))
+ #endif
#endif
- /*
- * FlashMenuBar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FlashMenuBar(MenuID menuID) ONEWORDINLINE(0xA94C);
+/*
+ * FlashMenuBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FlashMenuBar(MenuID menuID) ONEWORDINLINE(0xA94C);
+
+
+/* These are obsolete because Carbon does not support desk accessories.*/
+#if CALL_NOT_IN_CARBON
+/*
+ * SystemEdit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+SystemEdit(short editCmd) ONEWORDINLINE(0xA9C2);
- /* These are obsolete because Carbon does not support desk accessories.*/
-#if CALL_NOT_IN_CARBON
- /*
- * SystemEdit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- SystemEdit(short editCmd) ONEWORDINLINE(0xA9C2);
-
-
- /*
- * SystemMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SystemMenu(long menuResult) ONEWORDINLINE(0xA9B5);
+/*
+ * SystemMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SystemMenu(long menuResult) ONEWORDINLINE(0xA9B5);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * IsMenuBarVisible()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMenuBarVisible(void);
-
-
- /*
- * ShowMenuBar()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ShowMenuBar(void);
-
-
- /*
- * HideMenuBar()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HideMenuBar(void);
-
-
- /*
- * AcquireRootMenu()
- *
- * Summary:
- * Get the menu whose contents are displayed in the menubar.
- *
- * Discussion:
- * The refcount of the root menu is incremented by this API. The
- * caller should release a refcount with ReleaseMenu when it's done
- * with the menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MenuRef)
- AcquireRootMenu(void);
-
-
- /*
- * SetRootMenu()
- *
- * Summary:
- * Sets the menu whose contents are displayed in the menubar.
- *
- * Discussion:
- * The refcount of the root menu is incremented by this API. The
- * caller may release the menu after calling SetRootMenu.
- *
- * Parameters:
- *
- * inMenu:
- * The new root menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetRootMenu(MenuRef inMenu);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Item Accessors */
- /*--------------------------------------------------------------------------------------*/
+/*
+ * IsMenuBarVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMenuBarVisible(void);
+
+
+/*
+ * ShowMenuBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ShowMenuBar(void);
+
+
+/*
+ * HideMenuBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HideMenuBar(void);
+
+
+/*
+ * AcquireRootMenu()
+ *
+ * Summary:
+ * Get the menu whose contents are displayed in the menubar.
+ *
+ * Discussion:
+ * The refcount of the root menu is incremented by this API. The
+ * caller should release a refcount with ReleaseMenu when it's done
+ * with the menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MenuRef )
+AcquireRootMenu(void);
+
+
+/*
+ * SetRootMenu()
+ *
+ * Summary:
+ * Sets the menu whose contents are displayed in the menubar.
+ *
+ * Discussion:
+ * The refcount of the root menu is incremented by this API. The
+ * caller may release the menu after calling SetRootMenu.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The new root menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetRootMenu(MenuRef inMenu);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Item Accessors */
+/*--------------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
- /*
- * CheckItem()
- *
- * Summary:
- * Renamed to CheckMenuItem in Carbon
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CheckItem(
- MenuRef theMenu,
- short item,
- Boolean checked) ONEWORDINLINE(0xA945);
+/*
+ * CheckItem()
+ *
+ * Summary:
+ * Renamed to CheckMenuItem in Carbon
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CheckItem(
+ MenuRef theMenu,
+ short item,
+ Boolean checked) ONEWORDINLINE(0xA945);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * [Mac]CheckMenuItem()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.3 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * [Mac]CheckMenuItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.3 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacCheckMenuItem CheckMenuItem
+ #define MacCheckMenuItem CheckMenuItem
#endif
- EXTERN_API(void)
- MacCheckMenuItem(
- MenuRef theMenu,
- short item,
- Boolean checked) ONEWORDINLINE(0xA945);
+EXTERN_API( void )
+MacCheckMenuItem(
+ MenuRef theMenu,
+ short item,
+ Boolean checked) ONEWORDINLINE(0xA945);
#if CALL_NOT_IN_CARBON && !TARGET_CPU_68K
-#ifdef __cplusplus
- inline DEFINE_API(void) MacCheckMenuItem(MenuRef theMenu, short item, Boolean checked)
- {
- CheckItem(theMenu, item, checked);
- }
-#else
-#if TARGET_OS_MAC
-#define CheckMenuItem(theMenu, item, checked) (CheckItem(theMenu, item, checked))
-#else
-#define MacCheckMenuItem(theMenu, item, checked) (CheckItem(theMenu, item, checked))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API(void) MacCheckMenuItem(MenuRef theMenu, short item, Boolean checked) { CheckItem(theMenu, item, checked); }
+ #else
+ #if TARGET_OS_MAC
+ #define CheckMenuItem(theMenu, item, checked) (CheckItem(theMenu, item, checked))
+ #else
+ #define MacCheckMenuItem(theMenu, item, checked) (CheckItem(theMenu, item, checked))
+ #endif
#endif
#endif
- /*
- * SetMenuItemText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetMenuItemText(
- MenuRef theMenu,
- short item,
- ConstStr255Param itemString) ONEWORDINLINE(0xA947);
-
-
- /*
- * GetMenuItemText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetMenuItemText(
- MenuRef theMenu,
- short item,
- Str255 itemString) ONEWORDINLINE(0xA946);
-
-
- /*
- * SetItemMark()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetItemMark(
- MenuRef theMenu,
- short item,
- CharParameter markChar) ONEWORDINLINE(0xA944);
-
-
- /*
- * GetItemMark()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetItemMark(
- MenuRef theMenu,
- short item,
- CharParameter * markChar) ONEWORDINLINE(0xA943);
-
-
- /*
- * SetItemCmd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetItemCmd(
- MenuRef theMenu,
- short item,
- CharParameter cmdChar) ONEWORDINLINE(0xA84F);
-
-
- /*
- * GetItemCmd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetItemCmd(
- MenuRef theMenu,
- short item,
- CharParameter * cmdChar) ONEWORDINLINE(0xA84E);
-
-
- /*
- * SetItemIcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetItemIcon(
- MenuRef theMenu,
- short item,
- short iconIndex) ONEWORDINLINE(0xA940);
-
-
- /* icon is returned in high byte of 16-bit iconIndex */
- /*
- * GetItemIcon()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetItemIcon(
- MenuRef theMenu,
- short item,
- short * iconIndex) ONEWORDINLINE(0xA93F);
-
-
- /*
- * SetItemStyle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetItemStyle(
- MenuRef theMenu,
- short item,
- StyleParameter chStyle) ONEWORDINLINE(0xA942);
-
-
- /*
- * GetItemStyle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetItemStyle(
- MenuRef theMenu,
- short item,
- Style * chStyle);
-
-
- /* These APIs are not supported in Carbon. Please use EnableMenuItem and */
- /* DisableMenuItem (available back through Mac OS 8.5) instead. */
+/*
+ * SetMenuItemText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetMenuItemText(
+ MenuRef theMenu,
+ short item,
+ ConstStr255Param itemString) ONEWORDINLINE(0xA947);
+
+
+/*
+ * GetMenuItemText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetMenuItemText(
+ MenuRef theMenu,
+ short item,
+ Str255 itemString) ONEWORDINLINE(0xA946);
+
+
+/*
+ * SetItemMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetItemMark(
+ MenuRef theMenu,
+ short item,
+ CharParameter markChar) ONEWORDINLINE(0xA944);
+
+
+/*
+ * GetItemMark()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetItemMark(
+ MenuRef theMenu,
+ short item,
+ CharParameter * markChar) ONEWORDINLINE(0xA943);
+
+
+/*
+ * SetItemCmd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetItemCmd(
+ MenuRef theMenu,
+ short item,
+ CharParameter cmdChar) ONEWORDINLINE(0xA84F);
+
+
+/*
+ * GetItemCmd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetItemCmd(
+ MenuRef theMenu,
+ short item,
+ CharParameter * cmdChar) ONEWORDINLINE(0xA84E);
+
+
+/*
+ * SetItemIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetItemIcon(
+ MenuRef theMenu,
+ short item,
+ short iconIndex) ONEWORDINLINE(0xA940);
+
+
+/* icon is returned in high byte of 16-bit iconIndex */
+/*
+ * GetItemIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetItemIcon(
+ MenuRef theMenu,
+ short item,
+ short * iconIndex) ONEWORDINLINE(0xA93F);
+
+
+/*
+ * SetItemStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetItemStyle(
+ MenuRef theMenu,
+ short item,
+ StyleParameter chStyle) ONEWORDINLINE(0xA942);
+
+
+/*
+ * GetItemStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetItemStyle(
+ MenuRef theMenu,
+ short item,
+ Style * chStyle);
+
+
+/* These APIs are not supported in Carbon. Please use EnableMenuItem and */
+/* DisableMenuItem (available back through Mac OS 8.5) instead. */
#if CALL_NOT_IN_CARBON
- /*
- * DisableItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- DisableItem(
- MenuRef theMenu,
- short item) ONEWORDINLINE(0xA93A);
-
-
- /*
- * EnableItem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- EnableItem(
- MenuRef theMenu,
- short item) ONEWORDINLINE(0xA939);
+/*
+ * DisableItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+DisableItem(
+ MenuRef theMenu,
+ short item) ONEWORDINLINE(0xA93A);
+
+
+/*
+ * EnableItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+EnableItem(
+ MenuRef theMenu,
+ short item) ONEWORDINLINE(0xA939);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SetMenuItemCommandID()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetMenuItemCommandID(
- MenuRef inMenu,
- SInt16 inItem,
- MenuCommand inCommandID) THREEWORDINLINE(0x303C, 0x0502, 0xA825);
-
-
- /*
- * GetMenuItemCommandID()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMenuItemCommandID(
- MenuRef inMenu,
- SInt16 inItem,
- MenuCommand * outCommandID) THREEWORDINLINE(0x303C, 0x0503, 0xA825);
-
-
- /*
- * SetMenuItemModifiers()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetMenuItemModifiers(
- MenuRef inMenu,
- SInt16 inItem,
- UInt8 inModifiers) THREEWORDINLINE(0x303C, 0x0404, 0xA825);
-
-
- /*
- * GetMenuItemModifiers()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMenuItemModifiers(
- MenuRef inMenu,
- SInt16 inItem,
- UInt8 * outModifiers) THREEWORDINLINE(0x303C, 0x0505, 0xA825);
-
-
- /*
- * SetMenuItemIconHandle()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetMenuItemIconHandle(
- MenuRef inMenu,
- SInt16 inItem,
- UInt8 inIconType,
- Handle inIconHandle) THREEWORDINLINE(0x303C, 0x0606, 0xA825);
-
-
- /*
- * GetMenuItemIconHandle()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMenuItemIconHandle(
- MenuRef inMenu,
- SInt16 inItem,
- UInt8 * outIconType,
- Handle * outIconHandle) THREEWORDINLINE(0x303C, 0x0707, 0xA825);
-
-
- /*
- * SetMenuItemTextEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetMenuItemTextEncoding(
- MenuRef inMenu,
- SInt16 inItem,
- TextEncoding inScriptID) THREEWORDINLINE(0x303C, 0x0408, 0xA825);
-
-
- /*
- * GetMenuItemTextEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMenuItemTextEncoding(
- MenuRef inMenu,
- SInt16 inItem,
- TextEncoding * outScriptID) THREEWORDINLINE(0x303C, 0x0509, 0xA825);
-
-
- /*
- * SetMenuItemHierarchicalID()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetMenuItemHierarchicalID(
- MenuRef inMenu,
- SInt16 inItem,
- MenuID inHierID) THREEWORDINLINE(0x303C, 0x040D, 0xA825);
-
-
- /*
- * GetMenuItemHierarchicalID()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMenuItemHierarchicalID(
- MenuRef inMenu,
- SInt16 inItem,
- MenuID * outHierID) THREEWORDINLINE(0x303C, 0x050E, 0xA825);
-
-
- /*
- * SetMenuItemFontID()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetMenuItemFontID(
- MenuRef inMenu,
- SInt16 inItem,
- SInt16 inFontID) THREEWORDINLINE(0x303C, 0x040F, 0xA825);
-
-
- /*
- * GetMenuItemFontID()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMenuItemFontID(
- MenuRef inMenu,
- SInt16 inItem,
- SInt16 * outFontID) THREEWORDINLINE(0x303C, 0x0510, 0xA825);
-
-
- /*
- * SetMenuItemRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetMenuItemRefCon(
- MenuRef inMenu,
- SInt16 inItem,
- UInt32 inRefCon) THREEWORDINLINE(0x303C, 0x050A, 0xA825);
-
-
- /*
- * GetMenuItemRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMenuItemRefCon(
- MenuRef inMenu,
- SInt16 inItem,
- UInt32 * outRefCon) THREEWORDINLINE(0x303C, 0x050B, 0xA825);
-
-
- /* Please use the menu item property APIs in Carbon.*/
+/*
+ * SetMenuItemCommandID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetMenuItemCommandID(
+ MenuRef inMenu,
+ SInt16 inItem,
+ MenuCommand inCommandID) THREEWORDINLINE(0x303C, 0x0502, 0xA825);
+
+
+/*
+ * GetMenuItemCommandID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMenuItemCommandID(
+ MenuRef inMenu,
+ SInt16 inItem,
+ MenuCommand * outCommandID) THREEWORDINLINE(0x303C, 0x0503, 0xA825);
+
+
+/*
+ * SetMenuItemModifiers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetMenuItemModifiers(
+ MenuRef inMenu,
+ SInt16 inItem,
+ UInt8 inModifiers) THREEWORDINLINE(0x303C, 0x0404, 0xA825);
+
+
+/*
+ * GetMenuItemModifiers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMenuItemModifiers(
+ MenuRef inMenu,
+ SInt16 inItem,
+ UInt8 * outModifiers) THREEWORDINLINE(0x303C, 0x0505, 0xA825);
+
+
+/*
+ * SetMenuItemIconHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetMenuItemIconHandle(
+ MenuRef inMenu,
+ SInt16 inItem,
+ UInt8 inIconType,
+ Handle inIconHandle) THREEWORDINLINE(0x303C, 0x0606, 0xA825);
+
+
+/*
+ * GetMenuItemIconHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMenuItemIconHandle(
+ MenuRef inMenu,
+ SInt16 inItem,
+ UInt8 * outIconType,
+ Handle * outIconHandle) THREEWORDINLINE(0x303C, 0x0707, 0xA825);
+
+
+/*
+ * SetMenuItemTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetMenuItemTextEncoding(
+ MenuRef inMenu,
+ SInt16 inItem,
+ TextEncoding inScriptID) THREEWORDINLINE(0x303C, 0x0408, 0xA825);
+
+
+/*
+ * GetMenuItemTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMenuItemTextEncoding(
+ MenuRef inMenu,
+ SInt16 inItem,
+ TextEncoding * outScriptID) THREEWORDINLINE(0x303C, 0x0509, 0xA825);
+
+
+/*
+ * SetMenuItemHierarchicalID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetMenuItemHierarchicalID(
+ MenuRef inMenu,
+ SInt16 inItem,
+ MenuID inHierID) THREEWORDINLINE(0x303C, 0x040D, 0xA825);
+
+
+/*
+ * GetMenuItemHierarchicalID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMenuItemHierarchicalID(
+ MenuRef inMenu,
+ SInt16 inItem,
+ MenuID * outHierID) THREEWORDINLINE(0x303C, 0x050E, 0xA825);
+
+
+/*
+ * SetMenuItemFontID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetMenuItemFontID(
+ MenuRef inMenu,
+ SInt16 inItem,
+ SInt16 inFontID) THREEWORDINLINE(0x303C, 0x040F, 0xA825);
+
+
+/*
+ * GetMenuItemFontID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMenuItemFontID(
+ MenuRef inMenu,
+ SInt16 inItem,
+ SInt16 * outFontID) THREEWORDINLINE(0x303C, 0x0510, 0xA825);
+
+
+/*
+ * SetMenuItemRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetMenuItemRefCon(
+ MenuRef inMenu,
+ SInt16 inItem,
+ UInt32 inRefCon) THREEWORDINLINE(0x303C, 0x050A, 0xA825);
+
+
+/*
+ * GetMenuItemRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMenuItemRefCon(
+ MenuRef inMenu,
+ SInt16 inItem,
+ UInt32 * outRefCon) THREEWORDINLINE(0x303C, 0x050B, 0xA825);
+
+
+/* Please use the menu item property APIs in Carbon.*/
#if CALL_NOT_IN_CARBON
- /*
- * SetMenuItemRefCon2()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SetMenuItemRefCon2(
- MenuRef inMenu,
- SInt16 inItem,
- UInt32 inRefCon2) THREEWORDINLINE(0x303C, 0x0511, 0xA825);
-
-
- /*
- * GetMenuItemRefCon2()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetMenuItemRefCon2(
- MenuRef inMenu,
- SInt16 inItem,
- UInt32 * outRefCon2) THREEWORDINLINE(0x303C, 0x0512, 0xA825);
+/*
+ * SetMenuItemRefCon2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SetMenuItemRefCon2(
+ MenuRef inMenu,
+ SInt16 inItem,
+ UInt32 inRefCon2) THREEWORDINLINE(0x303C, 0x0511, 0xA825);
+
+
+/*
+ * GetMenuItemRefCon2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetMenuItemRefCon2(
+ MenuRef inMenu,
+ SInt16 inItem,
+ UInt32 * outRefCon2) THREEWORDINLINE(0x303C, 0x0512, 0xA825);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SetMenuItemKeyGlyph()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetMenuItemKeyGlyph(
- MenuRef inMenu,
- SInt16 inItem,
- SInt16 inGlyph) THREEWORDINLINE(0x303C, 0x0513, 0xA825);
-
-
- /*
- * GetMenuItemKeyGlyph()
- *
- * Availability:
- * Non-Carbon CFM: in AppearanceLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetMenuItemKeyGlyph(
- MenuRef inMenu,
- SInt16 inItem,
- SInt16 * outGlyph) THREEWORDINLINE(0x303C, 0x0514, 0xA825);
-
-
- /* Routines available in Mac OS 8.5 and later (supporting enabling/disabling of > 31 items)*/
-
- /*
- * [Mac]EnableMenuItem()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetMenuItemKeyGlyph()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetMenuItemKeyGlyph(
+ MenuRef inMenu,
+ SInt16 inItem,
+ SInt16 inGlyph) THREEWORDINLINE(0x303C, 0x0513, 0xA825);
+
+
+/*
+ * GetMenuItemKeyGlyph()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppearanceLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetMenuItemKeyGlyph(
+ MenuRef inMenu,
+ SInt16 inItem,
+ SInt16 * outGlyph) THREEWORDINLINE(0x303C, 0x0514, 0xA825);
+
+
+/* Routines available in Mac OS 8.5 and later (supporting enabling/disabling of > 31 items)*/
+
+/*
+ * [Mac]EnableMenuItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacEnableMenuItem EnableMenuItem
+ #define MacEnableMenuItem EnableMenuItem
#endif
- EXTERN_API(void)
- MacEnableMenuItem(
- MenuRef theMenu,
- MenuItemIndex item);
-
-
- /*
- * DisableMenuItem()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisableMenuItem(
- MenuRef theMenu,
- MenuItemIndex item);
-
-
- /*
- * IsMenuItemEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMenuItemEnabled(
- MenuRef menu,
- MenuItemIndex item);
-
-
- /*
- * EnableMenuItemIcon()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EnableMenuItemIcon(
- MenuRef theMenu,
- MenuItemIndex item) THREEWORDINLINE(0x303C, 0x0019, 0xA825);
-
-
- /*
- * DisableMenuItemIcon()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisableMenuItemIcon(
- MenuRef theMenu,
- MenuItemIndex item) THREEWORDINLINE(0x303C, 0x0020, 0xA825);
-
-
- /*
- * IsMenuItemIconEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMenuItemIconEnabled(
- MenuRef menu,
- MenuItemIndex item) THREEWORDINLINE(0x303C, 0x0018, 0xA825);
-
-
- /*
- * SetMenuItemHierarchicalMenu()
- *
- * Summary:
- * Attaches a submenu to a menu item.
- *
- * Discussion:
- * Using SetMenuItemHierarchicalMenu, it is possible to directly
- * specify the submenu for a menu item without specifying its menu
- * ID. It is not necessary to insert the submenu into the
- * hierarchical portion of the menubar, and it is not necessary for
- * the submenu to have a unique menu ID; it is recommended that you
- * use 0 as the menu ID for the submenu, and identify selections
- * from the menu by command ID. The Menu Manager will increment the
- * refcount of the submenu that you specify, and the submenu's
- * refcount will be decremented automatically when the parent menu
- * item is deleted or the parent menu is disposed.
- *
- * Parameters:
- *
- * inMenu:
- * The parent menu.
- *
- * inItem:
- * The parent item.
- *
- * inHierMenu:
- * The submenu. You may pass NULL to remove any existing submenu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuItemHierarchicalMenu(
- MenuRef inMenu,
- MenuItemIndex inItem,
- MenuRef inHierMenu); /* can be NULL */
-
-
- /*
- * GetMenuItemHierarchicalMenu()
- *
- * Summary:
- * Returns the submenu attached to a menu item.
- *
- * Discussion:
- * GetMenuItemHierarchicalMenu will return the submenu attached to a
- * menu item regardless of how the submenu was specified. If the
- * submenu was specified by menu ID (using SetItemCmd or
- * SetMenuItemHierarchicalID), GetMenuItemHierarchicalMenu will
- * return the currently installed menu with that ID, if any. The
- * only case where GetMenuItemHierarchicalMenu will fail to return
- * the item's submenu is when the submenu is specified by menu ID,
- * but the submenu is not currently inserted in the menu bar.
- *
- * Parameters:
- *
- * inMenu:
- * The parent menu.
- *
- * inItem:
- * The parent item.
- *
- * outHierMenu:
- * On exit, the item's submenu, or NULL if it does not have one.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuItemHierarchicalMenu(
- MenuRef inMenu,
- MenuItemIndex inItem,
- MenuRef * outHierMenu);
-
-
- /*
- * CopyMenuItemTextAsCFString()
- *
- * Summary:
- * Returns a CFString containing the text of a menu item.
- *
- * Parameters:
- *
- * inMenu:
- * The menu containing the item.
- *
- * inItem:
- * The item whose text to return.
- *
- * outString:
- * On exit, a CFString containing the item's text. This string
- * must be released by the caller.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CopyMenuItemTextAsCFString(
- MenuRef inMenu,
- MenuItemIndex inItem,
- CFStringRef * outString);
-
-
- /*
- * SetMenuItemTextWithCFString()
- *
- * Summary:
- * Sets the text of a menu item to the text contained in a CFString.
- *
- * Discussion:
- * The Menu Manager will either make its own copy or just increment
- * the refcount of the CFString before returning from
- * SetMenuItemTextWithCFString, depending on whether the string is
- * mutable or immutable. If the string is mutable, modifying the
- * string after calling SetMenuItemTextWithCFString will have no
- * effect on the menu item's actual text. The caller may release the
- * string after calling SetMenuItemTextWithCFString.
- *
- * Parameters:
- *
- * inMenu:
- * The menu containing the item.
- *
- * inItem:
- * The item whose text to return.
- *
- * inString:
- * The string containing the new menu item text.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuItemTextWithCFString(
- MenuRef inMenu,
- MenuItemIndex inItem,
- CFStringRef inString);
-
-
- /*
- * GetMenuItemIndent()
- *
- * Summary:
- * Gets the indent level of a menu item.
- *
- * Discussion:
- * The indent level of an item is an amount of extra space added to
- * the left of the item's icon or checkmark. The level is simply a
- * number, starting at zero, which the Menu Manager multiplies by a
- * constant to get the indent in pixels. The default indent level is
- * zero.
- *
- * Parameters:
- *
- * inMenu:
- * The menu containing the item.
- *
- * inItem:
- * The item whose indent to retrieve.
- *
- * outIndent:
- * On exit, the indent level of the item.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuItemIndent(
- MenuRef inMenu,
- MenuItemIndex inItem,
- UInt32 * outIndent);
-
-
- /*
- * SetMenuItemIndent()
- *
- * Summary:
- * Sets the indent level of a menu item.
- *
- * Discussion:
- * The indent level of an item is an amount of extra space added to
- * the left of the item's icon or checkmark. The level is simply a
- * number, starting at zero, which the Menu Manager multiplies by a
- * constant to get the indent in pixels. The default indent level is
- * zero.
- *
- * Parameters:
- *
- * inMenu:
- * The menu containing the item.
- *
- * inItem:
- * The item whose indent to set.
- *
- * inIndent:
- * The new indent level of the item.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuItemIndent(
- MenuRef inMenu,
- MenuItemIndex inItem,
- UInt32 inIndent);
-
-
- /*
- * GetMenuItemCommandKey()
- *
- * Summary:
- * Gets the keyboard equivalent of a menu item.
- *
- * Discussion:
- * A menu item's keyboard equivalent may be either a character code
- * or a virtual keycode. An item's character code and virtual
- * keycode are stored separately and may contain different values,
- * but only one is used by the Menu Manager at any given time. When
- * requesting a menu item's virtual keycode equivalent, you should
- * first check that the item is using a virtual keycode by testing
- * the kMenuItemAttrUseVirtualKey attribute for that item. If this
- * attribute is not set, the item's virtual keycode is ignored by
- * the Menu Manager. Note that zero is a valid virtual keycode, so
- * you cannot test the returned keycode against zero to determine if
- * the item is using a virtual keycode equivalent. You must test the
- * kMenuItemAttrUseVirtualKey attribute.
- *
- * Parameters:
- *
- * inMenu:
- * The menu containing the item.
- *
- * inItem:
- * The item whose keyboard equivalent to retrieve.
- *
- * inGetVirtualKey:
- * Indicates whether to retrieve the item's character code or
- * virtual keycode equivalent.
- *
- * outKey:
- * On exit, the keyboard equivalent of the item.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuItemCommandKey(
- MenuRef inMenu,
- MenuItemIndex inItem,
- Boolean inGetVirtualKey,
- UInt16 * outKey);
-
-
- /*
- * SetMenuItemCommandKey()
- *
- * Summary:
- * Sets the keyboard equivalent of a menu item.
- *
- * Discussion:
- * A menu item's keyboard equivalent may be either a character code
- * or a virtual keycode. The character code is always used to draw
- * the item's keyboard equivalent in the menu, but either may be
- * used for keyboard equivalent matching by MenuEvent and
- * IsMenuKeyEvent, depending on whether the
- * kMenuItemAttrUseVirtualKey item attribute is set. If
- * SetMenuItemCommandKey is used to set the virtual keycode
- * equivalent for a menu item, it also automatically sets the
- * kMenuItemAttrUseVirtualKey item attribute. To make the menu item
- * stop using the virtual keycode equivalent and use the character
- * code equivalent instead, use ChangeMenuItemAttributes to clear
- * the kMenuItemAttrUseVirtualKey item attribute.
- *
- * Parameters:
- *
- * inMenu:
- * The menu containing the item.
- *
- * inItem:
- * The item whose keyboard equivalent to set.
- *
- * inSetVirtualKey:
- * Indicates whether to set the item's character code or virtual
- * keycode equivalent.
- *
- * inKey:
- * The item's new character code or virtual keycode equivalent.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuItemCommandKey(
- MenuRef inMenu,
- MenuItemIndex inItem,
- Boolean inSetVirtualKey,
- UInt16 inKey);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Menu Item Color Tables */
- /* */
- /* Menu color manipulation is considered deprecated with the advent of the Appearance */
- /* Manager. Avoid using these routines if possible */
- /*--------------------------------------------------------------------------------------*/
- /*
- * DeleteMCEntries()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DeleteMCEntries(
- MenuID menuID,
- short menuItem) ONEWORDINLINE(0xAA60);
-
-
- /*
- * GetMCInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MCTableHandle)
- GetMCInfo(void) ONEWORDINLINE(0xAA61);
-
-
- /*
- * SetMCInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetMCInfo(MCTableHandle menuCTbl) ONEWORDINLINE(0xAA62);
-
-
- /*
- * DisposeMCInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeMCInfo(MCTableHandle menuCTbl) ONEWORDINLINE(0xAA63);
-
-
- /*
- * GetMCEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MCEntryPtr)
- GetMCEntry(
- MenuID menuID,
- short menuItem) ONEWORDINLINE(0xAA64);
-
-
- /*
- * SetMCEntries()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetMCEntries(
- short numEntries,
- MCTablePtr menuCEntries) ONEWORDINLINE(0xAA65);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Properties (Mac OS 8.5 and later) */
- /* */
- /* With the following property APIs, you can attach any piece of data you'd like to a */
- /* menu or menu item. Passing zero for the item number parameter indicates you'd like */
- /* to attach the data to the menu itself, and not to any specific menu item. */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kMenuPropertyPersistent = 0x00000001 /* whether this property gets saved when flattening the menu*/
- };
-
- /*
- * GetMenuItemProperty()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuItemProperty(
- MenuRef menu,
- MenuItemIndex item,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 bufferSize,
- UInt32 * actualSize,
- void * propertyBuffer);
-
-
- /*
- * GetMenuItemPropertySize()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuItemPropertySize(
- MenuRef menu,
- MenuItemIndex item,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 * size);
-
-
- /*
- * SetMenuItemProperty()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuItemProperty(
- MenuRef menu,
- MenuItemIndex item,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 propertySize,
- const void * propertyData);
-
-
- /*
- * RemoveMenuItemProperty()
- *
- * Availability:
- * Non-Carbon CFM: in MenusLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveMenuItemProperty(
- MenuRef menu,
- MenuItemIndex item,
- OSType propertyCreator,
- OSType propertyTag);
-
-
- /*
- * GetMenuItemPropertyAttributes()
- *
- * Summary:
- * Gets the attributes of a menu item property.
- *
- * Parameters:
- *
- * menu:
- * The menu.
- *
- * item:
- * The menu item.
- *
- * propertyCreator:
- * The creator code of the property.
- *
- * propertyTag:
- * The property tag.
- *
- * attributes:
- * On exit, contains the attributes of the property.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuItemPropertyAttributes(
- MenuRef menu,
- MenuItemIndex item,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 * attributes);
-
-
- /*
- * ChangeMenuItemPropertyAttributes()
- *
- * Summary:
- * Changes the attributes of a menu item property.
- *
- * Parameters:
- *
- * menu:
- * The menu.
- *
- * item:
- * The menu item.
- *
- * propertyCreator:
- * The creator code of the property.
- *
- * propertyTag:
- * The property tag.
- *
- * attributesToSet:
- * The attributes to add to the menu item property.
- *
- * attributesToClear:
- * The attributes to remove from the menu item property.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ChangeMenuItemPropertyAttributes(
- MenuRef menu,
- MenuItemIndex item,
- OSType propertyCreator,
- OSType propertyTag,
- UInt32 attributesToSet,
- UInt32 attributesToClear);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Attributes (Carbon and later) */
- /* */
- /* Each menu and menu item has attribute flags. */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetMenuAttributes()
- *
- * Summary:
- * Gets the attributes of a menu.
- *
- * Parameters:
- *
- * menu:
- * The menu.
- *
- * outAttributes:
- * On exit, contains the attributes of the menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuAttributes(
- MenuRef menu,
- MenuAttributes * outAttributes);
-
-
- /*
- * ChangeMenuAttributes()
- *
- * Summary:
- * Changes the attributes of a menu.
- *
- * Parameters:
- *
- * menu:
- * The menu.
- *
- * setTheseAttributes:
- * The attributes to add to the menu.
- *
- * clearTheseAttributes:
- * The attributes to remove from the menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ChangeMenuAttributes(
- MenuRef menu,
- MenuAttributes setTheseAttributes,
- MenuAttributes clearTheseAttributes);
-
-
- /*
- * GetMenuItemAttributes()
- *
- * Summary:
- * Gets the attributes of a menu item.
- *
- * Parameters:
- *
- * menu:
- * The menu.
- *
- * item:
- * The menu item.
- *
- * outAttributes:
- * On exit, contains the attributes of the menu item.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuItemAttributes(
- MenuRef menu,
- MenuItemIndex item,
- MenuItemAttributes * outAttributes);
-
-
- /*
- * ChangeMenuItemAttributes()
- *
- * Summary:
- * Changes the attributes of a menu item.
- *
- * Parameters:
- *
- * menu:
- * The menu.
- *
- * item:
- * The menu item.
- *
- * setTheseAttributes:
- * The attributes to add to the menu item.
- *
- * clearTheseAttributes:
- * The attributes to remove from the menu item.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ChangeMenuItemAttributes(
- MenuRef menu,
- MenuItemIndex item,
- MenuItemAttributes setTheseAttributes,
- MenuItemAttributes clearTheseAttributes);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Mass menu item enabling and disabling (Carbon and later) */
- /* */
- /* Useful when rewriting code that modifies the enableFlags field directly. */
- /*--------------------------------------------------------------------------------------*/
- /*
- * DisableAllMenuItems()
- *
- * Summary:
- * Disables all items in a menu.
- *
- * Discussion:
- * This API is equivalent to pre-Carbon code that masked the
- * enableFlags field of the MenuInfo with 0x01. It disables all
- * items (including items past item 31) but does not affect the
- * state of the menu title.
- *
- * Parameters:
- *
- * theMenu:
- * The menu whose items to disable.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisableAllMenuItems(MenuRef theMenu);
-
-
- /*
- * EnableAllMenuItems()
- *
- * Summary:
- * Enables all items in a menu.
- *
- * Discussion:
- * This API is equivalent to pre-Carbon code that or'd the
- * enableFlags field of the MenuInfo with 0xFFFFFFFE. It enables all
- * items (including items past item 31) but does not affect the
- * state of the menu title.
- *
- * Parameters:
- *
- * theMenu:
- * The menu whose items to enable.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EnableAllMenuItems(MenuRef theMenu);
-
-
- /*
- * MenuHasEnabledItems()
- *
- * Summary:
- * Determines if any items in a menu are enabled.
- *
- * Discussion:
- * This API is equivalent to pre-Carbon code that compared the
- * enableFlags field of the MenuInfo with 0. It checks the enable
- * state of all items to see if any are enabled, but ignores the
- * state of the menu title. It will return true even if the menu
- * title is disabled.
- *
- * Parameters:
- *
- * theMenu:
- * The menu whose items to examine.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- MenuHasEnabledItems(MenuRef theMenu);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Menu tracking status (Carbon and later) */
- /* */
- /* Get info about the selected menu item during menu tracking. Replaces direct access */
- /* to low-mem globals that previously held this info. */
- /*--------------------------------------------------------------------------------------*/
- /*
- * GetMenuTrackingData()
- *
- * Summary:
- * Gets information about the menu currently selected by the user.
- *
- * Discussion:
- * This API replaces direct access to the low-memory globals
- * TopMenuItem, AtMenuBottom, MenuDisable, and mbSaveLoc. It is only
- * valid to call this API while menu tracking is occurring. This API
- * will most commonly be used by custom MDEFs.
- *
- * Parameters:
- *
- * theMenu:
- * The menu about which to get tracking information. May be NULL
- * to get information about the menu that the user is currently
- * selecting. If the menu is not currently open, menuNotFoundErr
- * is returned.
- *
- * outData:
- * On exit, contains tracking data about the menu. On CarbonLib,
- * the itemRect field is not supported and is always set to an
- * empty rect.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuTrackingData(
- MenuRef theMenu,
- MenuTrackingData * outData);
-
-
- /*
- * GetMenuType()
- *
- * Summary:
- * Gets the display type (pulldown, hierarchical, or popup) of a
- * menu.
- *
- * Discussion:
- * This API may only be called when the menu is displayed. If the
- * menu is not currently open, an error is returned. The display
- * type of a menu may vary from one menu tracking session to
- * another; for example, the same menu might be displayed as a
- * pulldown menu and as a popup menu.
- *
- * Parameters:
- *
- * theMenu:
- * The menu whose type to get.
- *
- * outType:
- * On exit, the type of the menu. The returned value will be one
- * of the ThemeMenuType constants: kThemeMenuTypePullDown, PopUp,
- * or Hierarchical. The kThemeMenuTypeInactive bit will never be
- * set.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuType(
- MenuRef theMenu,
- UInt16 * outType);
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o.Universal command ID access (Carbon and later) */
- /* */
- /* These APIs allow you to operate on menu items strictly by command ID, with no */
- /* knowledge of a menu item's index. */
- /*--------------------------------------------------------------------------------------*/
- /*
- * CountMenuItemsWithCommandID()
- *
- * Summary:
- * Counts the menu items with a specified command ID.
- *
- * Discussion:
- * In CarbonLib 1.0.x and 1.1, this API always returns zero or one;
- * it stops after finding the first menu item with the specified
- * command ID. In CarbonLib 1.2 and Mac OS X 10.0 and later, it
- * counts all menu items with the specified command ID. In Mac OS X
- * 10.0 and CarbonLib 1.0 through 1.4, this API only searches
- * top-level menus (menus visible in the menubar) and submenus of
- * top-level menus. It does not search hierarchical menus that are
- * inserted in the menubar but are not submenus of a top-level menus
- * (for example, it does not search menus that are inserted for use
- * in a popup menu control). In Mac OS X 10.1 and CarbonLib 1.5 and
- * later, this API also searches inserted hierarchical menus.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for items with the
- * specified command ID. Pass NULL to hegin searching with the
- * root menu. The search will descend into all submenus of this
- * menu.
- *
- * inCommandID:
- * The command ID for which to search.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ItemCount)
- CountMenuItemsWithCommandID(
- MenuRef inMenu,
- MenuCommand inCommandID);
-
-
- /*
- * GetIndMenuItemWithCommandID()
- *
- * Summary:
- * Finds a menu item with a specified command ID.
- *
- * Discussion:
- * This API searches the specified menu and its submenus for the
- * n'th menu item with the specified command ID. In CarbonLib 1.0.x
- * and 1.1, only the first menu item is returned. In CarbonLib 1.2
- * and Mac OS X 10.0 and later, this API iterates over all menu
- * items with the specified command ID. In Mac OS X 10.0 and
- * CarbonLib 1.0 through 1.4, this API only searches top-level menus
- * (menus visible in the menubar) and submenus of top-level menus.
- * It does not search hierarchical menus that are inserted in the
- * menubar but are not submenus of a top-level menus (for example,
- * it does not search menus that are inserted for use in a popup
- * menu control). In Mac OS X 10.1 and CarbonLib 1.5 and later, this
- * API also searches inserted hierarchical menus.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for items with the
- * specified command ID. Pass NULL to hegin searching with the
- * root menu. The search will descend into all submenus of this
- * menu.
- *
- * inCommandID:
- * The command ID for which to search.
- *
- * inItemIndex:
- * The 1-based index of the menu item to retrieve. In CarbonLib
- * 1.0.x and 1.1, this parameter must be 1. In CarbonLib 1.2 and
- * Mac OS X 10.0, this parameter may vary from 1 to the number of
- * menu items with the specified command ID.
- *
- * outMenu:
- * On exit, the menu containing the menu item with the specified
- * command ID.
- *
- * outIndex:
- * On exit, the item index of the menu item with the specified
- * command ID.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetIndMenuItemWithCommandID(
- MenuRef inMenu,
- MenuCommand inCommandID,
- UInt32 inItemIndex,
- MenuRef * outMenu, /* can be NULL */
- MenuItemIndex * outIndex); /* can be NULL */
-
-
- /*
- * EnableMenuCommand()
- *
- * Summary:
- * Enables the menu item with a specified command ID.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item to be enabled. If more than one
- * item has this command ID, only the first will be enabled.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EnableMenuCommand(
- MenuRef inMenu,
- MenuCommand inCommandID);
-
-
- /*
- * DisableMenuCommand()
- *
- * Summary:
- * Disables the menu item with a specified command ID.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item to be disabled. If more than
- * one item has this command ID, only the first will be disabled.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisableMenuCommand(
- MenuRef inMenu,
- MenuCommand inCommandID);
-
-
- /*
- * IsMenuCommandEnabled()
- *
- * Summary:
- * Determines if the menu item with a specified command ID is
- * enabled.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item to examine. If more than one
- * item has this command ID, only the first will be examined.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMenuCommandEnabled(
- MenuRef inMenu,
- MenuCommand inCommandID);
-
-
- /*
- * SetMenuCommandMark()
- *
- * Summary:
- * Locates the menu item with a specified command ID and sets its
- * mark character.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item to be modified. If more than
- * one item has this command ID, only the first will be modified.
- *
- * inMark:
- * The new mark character. This is a Unicode character. On Mac OS
- * 8.x, the low byte of this character will be used as the mark
- * character. On Mac OS X, the entire UniChar will be used and
- * drawn.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuCommandMark(
- MenuRef inMenu,
- MenuCommand inCommandID,
- UniChar inMark);
-
-
- /*
- * GetMenuCommandMark()
- *
- * Summary:
- * Locates the menu item with a specified command ID and returns its
- * mark character.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item to be examined. If more than
- * one item has this command ID, only the first will be examined.
- *
- * outMark:
- * On exit, the menu item's mark character.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuCommandMark(
- MenuRef inMenu,
- MenuCommand inCommandID,
- UniChar * outMark);
-
-
- /*
- * GetMenuCommandProperty()
- *
- * Summary:
- * Retrives property data for a menu item with a specified command
- * ID.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item containing the property. If
- * more than one item has this command ID, only the first will be
- * used.
- *
- * inPropertyCreator:
- * The property creator.
- *
- * inPropertyTag:
- * The property tag.
- *
- * inBufferSize:
- * The size of the output buffer, in bytes.
- *
- * outActualSize:
- * On exit, contains the actual size of the property data. May be
- * NULL if you do not need this information.
- *
- * inPropertyBuffer:
- * The address of a buffer in which to place the property data.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuCommandProperty(
- MenuRef inMenu,
- MenuCommand inCommandID,
- OSType inPropertyCreator,
- OSType inPropertyTag,
- ByteCount inBufferSize,
- ByteCount * outActualSize, /* can be NULL */
- void * inPropertyBuffer);
-
-
- /*
- * GetMenuCommandPropertySize()
- *
- * Summary:
- * Retrives the size of property data for a menu item with a
- * specified command ID.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item containing the property. If
- * more than one item has this command ID, only the first will be
- * used.
- *
- * inPropertyCreator:
- * The property creator.
- *
- * inPropertyTag:
- * The property tag.
- *
- * outSize:
- * On exit, contains the size of the property data.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuCommandPropertySize(
- MenuRef inMenu,
- MenuCommand inCommandID,
- OSType inPropertyCreator,
- OSType inPropertyTag,
- ByteCount * outSize);
-
-
- /*
- * SetMenuCommandProperty()
- *
- * Summary:
- * Sets property data for a menu item with a specified command ID.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item that will receive the property.
- * If more than one item has this command ID, only the first will
- * be modified.
- *
- * inPropertyCreator:
- * The property creator.
- *
- * inPropertyTag:
- * The property tag.
- *
- * inPropertySize:
- * The size of the property data, in bytes.
- *
- * inPropertyData:
- * The address of the property data.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuCommandProperty(
- MenuRef inMenu,
- MenuCommand inCommandID,
- OSType inPropertyCreator,
- OSType inPropertyTag,
- ByteCount inPropertySize,
- const void * inPropertyData);
-
-
- /*
- * RemoveMenuCommandProperty()
- *
- * Summary:
- * Removes a property from a menu item with a specified command ID.
- *
- * Parameters:
- *
- * inMenu:
- * The menu in which to begin searching for the item. Pass NULL to
- * begin searching with the root menu. The search will descend
- * into all submenus of this menu.
- *
- * inCommandID:
- * The command ID of the menu item from which the property will be
- * removed. If more than one item has this command ID, only the
- * first will be modified.
- *
- * inPropertyCreator:
- * The property creator.
- *
- * inPropertyTag:
- * The property tag.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RemoveMenuCommandProperty(
- MenuRef inMenu,
- MenuCommand inCommandID,
- OSType inPropertyCreator,
- OSType inPropertyTag);
-
-
-
- /*
- * CopyMenuItemData()
- *
- * Summary:
- * Returns multiple attributes of a menu item at once.
- *
- * Discussion:
- * This function is used to retrieve many attributes of a menu item
- * simultaneously; for example, it might be used by a menu
- * definition function that needs to know how to draw a menu item.
- * It is more efficient to use this function than to use the
- * accessor functions for the individual attributes of the menu.
- * This function returns a copy of the data in the menu, so any data
- * in the MenuItemDataRec that is dynamically allocated (for
- * example, the CFString item text) should be released by the caller.
- *
- * Parameters:
- *
- * inMenu:
- * The menu from which to copy data. If inIsCommandID is true, you
- * may pass NULL for this parameter to search for an item in the
- * root menu; if inIsCommandID is false, this parameter must be a
- * valid MenuRef.
- *
- * inItem:
- * The item or command ID from which to copy data.
- *
- * inIsCommandID:
- * Indicates whether inItem is a MenuItemIndex or MenuCommand. If
- * inIsCommandID is true, the inItem parameter is interpreted as a
- * menu command ID, and data is copied from the first item in the
- * menu with that command ID. If inIsCommandID is false, the
- * inItem parameter is interpreted as a menu item index, and data
- * is copied for that item in the specified menu.
- *
- * ioData:
- * Data is copied from the item and placed here. On entry, the
- * whichData field of this structure should be initialized to
- * indicate which data the caller would like returned. Individual
- * fields of the MenuItemDataRec structure may require
- * pre-initialization also; see the individual MenuItemDataFlags
- * documentation for details.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CopyMenuItemData(
- MenuRef inMenu, /* can be NULL */
- MenuItemID inItem,
- Boolean inIsCommandID,
- MenuItemDataPtr ioData);
-
-
- /*
- * SetMenuItemData()
- *
- * Summary:
- * Sets multiple attributes of a menu item at once.
- *
- * Discussion:
- * This function is used to set many attributes of a menu item
- * simultaneously. It is more efficient to use this function than to
- * use the accessor functions for the individual attributes of the
- * menu.
- *
- * Parameters:
- *
- * inMenu:
- * The menu to modify.
- *
- * inItem:
- * The item or command ID to modify.
- *
- * inIsCommandID:
- * Indicates whether inItem is a MenuItemIndex or MenuCommand. If
- * inIsCommandID is true, the inItem parameter is interpreted as a
- * menu command ID, and the first item in the menu with that
- * command ID. is modified. If inIsCommandID is false, the inItem
- * parameter is interpreted as a menu item index, and the item
- * with that index in the specified menu is modified.
- *
- * inData:
- * The data to set. The caller should set the whichData field of
- * this structure to indicate which data should be set. Only the
- * fields of the structure corresponding to the non-zero whichData
- * flags must be initialized; other fields are ignored.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuItemData(
- MenuRef inMenu,
- MenuItemID inItem,
- Boolean inIsCommandID,
- const MenuItemDataRec * inData);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Dynamic menu item support (CarbonLib 1.1 and Carbon for Mac OS X, and later) */
- /* */
- /* Dynamic menu item support allows a menu item to be redrawn while the menu is open */
- /* and visible to the user. Carbon contains automatic support for dynamic items based */
- /* on keyboard modifier state. If you need to implement your own variable item state */
- /* based on other system state, you can use these APIs to implement it. */
- /* */
- /* To use the built-in support for dynamic items, you should create a menu containing */
- /* several contiguous items with the same command key but different text and modifier */
- /* keys. For example, you might have: */
- /* */
- /* Close cmd-W */
- /* Close All cmd-option-W */
- /* */
- /* In your MENU resource, you would create the Close and Close All items and give */
- /* them each the letter 'W' as the command key; using an associated xmnu resource, */
- /* you would specify kMenuOptionModifier as the modifier for the Close All item. */
- /* */
- /* After loading your menu from the resource, you must set the kMenuItemAttrDynamic */
- /* flag for each dynamic item. In this example, you would use: */
- /* */
- /* ChangeMenuItemAttributes( menu, kCloseItem, kMenuItemAttrDynamic, 0 ); */
- /* ChangeMenuItemAttributes( menu, kCloseAllItem, kMenuItemAttrDynamic, 0 ); */
- /* */
- /* The Menu Manager will now automatically display the correct item depending on */
- /* whether the Option key is pressed. The result from MenuSelect will be the item */
- /* number of the item that was visible when the menu closed. */
- /* */
- /* If the Menu Manager's built-in support is not sufficient, you can also change the */
- /* attributes of an item yourself and use the UpdateInvalidMenuItems API to cause */
- /* the menu to redraw. Changes to a menu item (changing text, command key, style, */
- /* etc.) that occur while the menu is open will cause the menu item to be invalidated, */
- /* but not redrawn. If you need to invalidate the item explicitly yourself, perhaps */
- /* because you have a custom MDEF that depends on state not accessed using Menu */
- /* Manager APIs, you can use the InvalidateMenuItems API. UpdateInvalidMenuItems will */
- /* scan the menu for invalid items and redraw each, clearing its invalid flag */
- /* afterwards. */
- /* */
- /* If you need to change menu contents based on modifier key state without using the */
- /* built-in support in the Menu Manager, we recommend that you install a Carbon event */
- /* handler on your menu for the [kEventClassKeyboard, kEventRawKeyModifiersChanged] */
- /* event. Modifier key events are passed to the currently open menu before being sent */
- /* to the user focus target. */
- /*--------------------------------------------------------------------------------------*/
- /*
- * IsMenuItemInvalid()
- *
- * Summary:
- * Determines if a menu item is invalid and should be redrawn.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose item to examine.
- *
- * inItem:
- * The item to examine.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMenuItemInvalid(
- MenuRef inMenu,
- MenuItemIndex inItem);
-
-
- /*
- * InvalidateMenuItems()
- *
- * Summary:
- * Invalidates a group of menu items so that they will be redrawn
- * when UpdateInvalidMenuItems is next called.
- *
- * Discussion:
- * Menu items are automatically invalidated when their contents are
- * changed using Menu Manager APIs while the menu is open. However,
- * you might need to use this API if you have a custom MDEF that
- * draws using state not contained in the menu.
- *
- * Parameters:
- *
- * inMenu:
- * The menu whose items to invalidate.
- *
- * inFirstItem:
- * The first item to invalidate.
- *
- * inNumItems:
- * The number of items to invalidate.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InvalidateMenuItems(
- MenuRef inMenu,
- MenuItemIndex inFirstItem,
- ItemCount inNumItems);
-
-
- /*
- * UpdateInvalidMenuItems()
- *
- * Summary:
- * Redraws the invalid items of an open menu.
- *
- * Discussion:
- * It is not necessary to use UpdateInvalidMenuItems if you are
- * using Carbon's built-in support for dynamic items based on
- * modifier key state. However, if you are modifying items
- * dynamically using your own implementation, you should call
- * UpdateInvalidMenuItems after completing your modifications for a
- * single menu. It will redraw any items that have been marked as
- * invalid, and clear the invalid flag for those items.
- *
- * Parameters:
- *
- * inMenu:
- * The menu to update.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UpdateInvalidMenuItems(MenuRef inMenu);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o.Standard font menu (Carbon and later) */
- /* */
- /* These APIs allow you to create and use the standard font menu. */
- /*--------------------------------------------------------------------------------------*/
- enum
- {
- kHierarchicalFontMenuOption = 0x00000001
- };
-
- /*
- * CreateStandardFontMenu()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateStandardFontMenu(
- MenuRef menu,
- MenuItemIndex afterItem,
- MenuID firstHierMenuID,
- OptionBits options,
- ItemCount * outHierMenuCount);
-
-
- /*
- * UpdateStandardFontMenu()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UpdateStandardFontMenu(
- MenuRef menu,
- ItemCount * outHierMenuCount);
-
-
- /*
- * GetFontFamilyFromMenuSelection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetFontFamilyFromMenuSelection(
- MenuRef menu,
- MenuItemIndex item,
- FMFontFamily * outFontFamily,
- FMFontStyle * outStyle);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* o Contextual Menu routines and constants */
- /* available with Conxtextual Menu extension 1.0 and later */
- /*--------------------------------------------------------------------------------------*/
- /* Gestalt Selector for classic 68K apps only. */
- /* CFM apps should weak link and check the symbols. */
- enum
- {
- gestaltContextualMenuAttr = FOUR_CHAR_CODE('cmnu'),
- gestaltContextualMenuUnusedBit = 0,
- gestaltContextualMenuTrapAvailable = 1,
- gestaltContextualMenuHasAttributeAndModifierKeys = 2, /* Contextual Menu Manager supports keyContextualMenuAttributes and keyContextualMenuModifiers */
- gestaltContextualMenuHasUnicodeSupport = 3 /* Contextual Menu Manager supports typeUnicodeText and typeCFStringRef */
- };
-
-
- /*
- * Summary:
- * Values indicating what kind of help the application supports
- */
- enum
- {
-
- /*
- * The application does not support any help. The Menu Manager will
- * put an appropriate help string into the contextual menu and
- * disable the Help item.
- */
- kCMHelpItemNoHelp = 0,
-
- /*
- * The application supports Apple Guide help. The Menu Manager will
- * put the name of the main Guide file into the contextual menu and
- * enable the Help item.
- */
- kCMHelpItemAppleGuide = 1,
-
- /*
- * The application supports some other form of help. In this case,
- * the application must also pass a valid string into the
- * inHelpItemString parameter of ContextualMenuSelect. This string
- * will be the text of the Help item in the contextual menu, and the
- * Help item will be enabled.
- */
- kCMHelpItemOtherHelp = 2,
-
- /*
- * The application does not support any help. The Menu Manager will
- * remove the Help item from the contextual menu. This constant is
- * available in Mac OS X and CarbonLib 1.6, and later; however, in
- * CarbonLib it is translated to kCMHelpItemNoHelp, and the Help item
- * is only disabled, not removed.
- */
- kCMHelpItemRemoveHelp = 3
- };
-
-
- /*
- * Summary:
- * Values indicating what was chosen from a contextual menu
- */
- enum
- {
-
- /*
- * The user did not choose an item from the contextual menu and the
- * application should do no further processing of the event.
- */
- kCMNothingSelected = 0,
-
- /*
- * The user chose one of the application's items from the menu. The
- * application can examine the outMenuID and outMenuItem parameters
- * of ContextualMenuSelect to see what the menu selection was, and it
- * should then handle the selection appropriately.
- */
- kCMMenuItemSelected = 1,
-
- /*
- * The user chose the Help item from the menu. The application should
- * open an Apple Guide database to a section appropriate for the
- * selection. If the application supports some other form of help, it
- * should be presented instead.
- */
- kCMShowHelpSelected = 3
- };
-
-
-
- /*
- * Summary:
- * AERecord keywords used by the ExamineContext method of a
- * Contextual Menu plugin to specify menu item contents.
- */
- enum
- {
-
- /*
- * Specifies the text of an item in a contextual menu. Data for this
- * parameter can be in one of several formats. In Mac OS 7/8/9.x and
- * Mac OS X 10.0 and 10.1, typeChar and typeIntlText are supported.
- * In Mac OS X after 10.1, typeStyledText, typeAEText,
- * typeUnicodeText, and typeCFStringRef are also supported. If you
- * provide data as typeCFStringRef, the Contextual Menu Manager will
- * automatically release the CFStringRef once the menu has been
- * displayed. If you need the CFStringRef to have a longer timetime,
- * your plugin should retain the CFStringRef before inserting it into
- * the AERecord.
- */
- keyContextualMenuName = FOUR_CHAR_CODE('pnam'),
-
- /*
- * Specifies the command ID of an item in a contextual menu. Data for
- * this parameter should be typeLongInteger.
- */
- keyContextualMenuCommandID = FOUR_CHAR_CODE('cmcd'),
-
- /*
- * Specifies a contextual menu item with a submenu. Typically used
- * with AEPutKeyDesc to add an entire AEDesc containing the submenu
- * as the data for the parameter.
- */
- keyContextualMenuSubmenu = FOUR_CHAR_CODE('cmsb'),
-
- /*
- * Specifies the menu item attributes of an item in a contextual
- * menu. Data for this parameter should be typeLongInteger. Available
- * in Mac OS X after 10.1.
- */
- keyContextualMenuAttributes = FOUR_CHAR_CODE('cmat'),
-
- /*
- * Specifies the modifier keys of an item in a contextual menu (see
- * kMenuShiftModifier, kMenuControlModifier, etc.) Data for this
- * parameter should be typeLongInteger. Using this parameter together
- * with the keyContextualMenuAttributes parameter, it is possible to
- * create a contextual menu with dynamic items which change according
- * to the modifier keys pressed by the user. Available in Mac OS X
- * after 10.1.
- */
- keyContextualMenuModifiers = FOUR_CHAR_CODE('cmmd')
- };
-
- /*
- * InitContextualMenus()
- *
- * Summary:
- * Adds the current process to the system registry of contextual
- * menu clients.
- *
- * Discussion:
- * On Mac OS 8.x and 9.x, your program should call the
- * InitContextualMenus function early in your startup code to
- * register your application as a contextual menu client. If you do
- * not register your program, some system-level functions may
- * respond as though your program does not use contextual menus. Not
- * registering your program may also cause
- * ProcessIsContextualMenuClient to return an incorrect value. On
- * Mac OS X, it is not necessary to call InitContextualMenus.
- *
- * Availability:
- * Non-Carbon CFM: in ContextualMenu 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InitContextualMenus(void) TWOWORDINLINE(0x7001, 0xAA72);
-
-
- /*
- * IsShowContextualMenuClick()
- *
- * Summary:
- * Determines whether a particular EventRecord could invoke a
- * contextual menu.
- *
- * Discussion:
- * Applications should call IsShowContextualMenuClick when they
- * receive non-null events. If IsShowContextualMenuClick returns
- * true, your application should generate its own menu and Apple
- * Event descriptor (AEDesc), and then call ContextualMenuSelect to
- * display and track the contextual menu, and then handle the user's
- * choice. Some users may choose to use a two-button mouse with
- * their Macintosh computer. This API does not return true for a
- * right-click unless the mouse manufacturer has provided driver
- * software that returns a control-left click in place of a right
- * click. For proper recognition of a right-click gesture, you must
- * use the IsShowContextualMenuEvent API.
- *
- * Parameters:
- *
- * inEvent:
- * The event to examine.
- *
- * Result:
- * Returns true if the application should display a contextual menu,
- * false if not.
- *
- * Availability:
- * Non-Carbon CFM: in ContextualMenu 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsShowContextualMenuClick(const EventRecord * inEvent) TWOWORDINLINE(0x7002, 0xAA72);
-
-
- /*
- * IsShowContextualMenuEvent()
- *
- * Summary:
- * Determines whether a particular EventRef could invoke a
- * contextual menu.
- *
- * Discussion:
- * This API is similar to IsShowContextualMenuClick, but takes a
- * Carbon EventRef as its parameter instead of an EventRecord.
- * EventRecords cannot express a right-mouse-click, but EventRefs
- * can, so this API will return true for a right- click where
- * IsShowContextualMenuClick will not.
- *
- * Parameters:
- *
- * inEvent:
- * The event to examine.
- *
- * Result:
- * Returns true if the application should display a contextual menu,
- * false if not.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsShowContextualMenuEvent(EventRef inEvent);
-
-
- /*
- * ContextualMenuSelect()
- *
- * Summary:
- * Displays a contextual menu.
- *
- * Discussion:
- * If IsShowContextualMenuClick returns true, you should call the
- * ContextualMenuSelect API after generating your own menu and
- * preparing an Apple Event descriptor (AEDesc) that describes the
- * item for which your application is displaying a contextual menu.
- * This descriptor may contain an object specifier or raw data and
- * will be passed to all contextual menu plug-ins. The system will
- * add other items before displaying the contextual menu, and it
- * will remove those items before returning, leaving the menu in its
- * original state. After all the system commands are added, the
- * contextual menu is displayed and tracked. If the user selects one
- * of the system items, it is handled by the system and the call
- * returns as though the user didn't select anything from the menu.
- * If the user selects any other item (or no item at all), the Menu
- * Manager passes back appropriate values in the parameters
- * outUserSelectionType, outMenuID, and outMenuItem. Your
- * application should provide visual feedback indicating the item
- * that was clicked upon. For example, a click on an icon should
- * highlight the icon, while a click on editable text should not
- * eliminate the current selection. If the outUserSelectionType
- * parameter contains kCMMenuItemSelected, you should look at the
- * outMenuID and outMenuItem parameters to determine what menu item
- * the user chose and handle it appropriately. If the user selected
- * kCMHelpItemSelected, you should open the proper Apple Guide
- * sequence or other form of custom help.
- *
- * Parameters:
- *
- * inMenu:
- * A menu containing application commands to display. The caller
- * creates this menu based on the current context, the mouse
- * location, and the current selection (if it was the target of
- * the mouse). If you pass nil, only system commands will be
- * displayed. The menu should be added to the menu list as a
- * pop-up menu (using the InsertMenu function).
- *
- * inGlobalLocation:
- * The location (in global coordinates) of the mouse near which
- * the menu is to be displayed.
- *
- * inReserved:
- * Reserved for future use. Pass false for this parameter.
- *
- * inHelpType:
- * An identifier specifying the type of help to be provided by the
- * application; see kCMHelpItem constants.
- *
- * inHelpItemString:
- * A string containing the text to be displayed for the help menu
- * item. This string is unused unless you also pass the constant
- * kCMHelpItemOtherHelp in the inHelpType parameter.
- *
- * inSelection:
- * An object specifier for the current selection. This allows he
- * system to examine the selection and add special system commands
- * accordingly. Passing a value of nil indicates that no selection
- * should be examined, and most likely, no special system actions
- * will be included.
- *
- * outUserSelectionType:
- * On exit, the value indicates what the user selected from the
- * contextual menu; see kCMNothingSelected, kCMMenuItemSelected,
- * and kCMShowHelpSelected.
- *
- * outMenuID:
- * On exit, if outUserSelectionType is set to kCMMenuItemSelected,
- * the value is set to the menu ID of the chosen item.
- *
- * outMenuItem:
- * On exit, if outUserSelectionType is set to kCMMenuItemSelected,
- * the value is set to the menu item chosen.
- *
- * Result:
- * An OSStatus result code. ContextualMenuSelect returns the result
- * code userCanceledErr and sets outUserSelectionType to
- * kCMNothingSelected to indicate that the user did not select
- * anything from the contextual menu and no further processing is
- * needed.
- *
- * Availability:
- * Non-Carbon CFM: in ContextualMenu 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ContextualMenuSelect(
- MenuRef inMenu,
- Point inGlobalLocation,
- Boolean inReserved,
- UInt32 inHelpType,
- ConstStr255Param inHelpItemString, /* can be NULL */
- const AEDesc * inSelection, /* can be NULL */
- UInt32 * outUserSelectionType,
- SInt16 * outMenuID,
- MenuItemIndex * outMenuItem) TWOWORDINLINE(0x7003, 0xAA72);
-
-
- /*
- * ProcessIsContextualMenuClient()
- *
- * Summary:
- * Determines whether the specified process is a contextual menu
- * client.
- *
- * Discussion:
- * On Mac OS 9, this API consults a global table of all processes
- * that have registered with the Contextual Menu Manager by calling
- * InitContextualMenus. On Mac OS X, this API ignores the inPSN
- * parameter and always returns whether the current process is
- * registered with the Contextual Menu Manager.
- *
- * Parameters:
- *
- * inPSN:
- * The process to examine.
- *
- * Result:
- * Whether the specified process (or, on Mac OS X, the current
- * process) is registered with the Contextual Menu Manager.
- *
- * Availability:
- * Non-Carbon CFM: in ContextualMenu 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- ProcessIsContextualMenuClient(ProcessSerialNumber * inPSN) TWOWORDINLINE(0x7004, 0xAA72);
-
-
-
- /*--------------------------------------------------------------------------------------*/
- /* Contextual Menu Plugin Interface */
- /* */
- /* For Mac OS X 10.1, we support a new type of Contextual Menu Plugin: the CFPlugIn */
- /* based plugin. Each plugin must be in a CFPlugIn in the Contextual Menu Items */
- /* folder in one of these paths: */
- /* /System/Library/Contextual Menu Items/ */
- /* /Library/Contextual Menu Items/ */
- /* ~/Library/Contextual Menu Items/ */
- /* */
- /* It must export the following functions using the following interface or a C++ */
- /* interface inheriting from IUnknown and including similar functions. */
- /*--------------------------------------------------------------------------------------*/
-
- /* The Contextual Menu Manager will only load CFPlugIns of type kContextualMenuTypeID */
+EXTERN_API( void )
+MacEnableMenuItem(
+ MenuRef theMenu,
+ MenuItemIndex item);
+
+
+/*
+ * DisableMenuItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisableMenuItem(
+ MenuRef theMenu,
+ MenuItemIndex item);
+
+
+/*
+ * IsMenuItemEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMenuItemEnabled(
+ MenuRef menu,
+ MenuItemIndex item);
+
+
+/*
+ * EnableMenuItemIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EnableMenuItemIcon(
+ MenuRef theMenu,
+ MenuItemIndex item) THREEWORDINLINE(0x303C, 0x0019, 0xA825);
+
+
+/*
+ * DisableMenuItemIcon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisableMenuItemIcon(
+ MenuRef theMenu,
+ MenuItemIndex item) THREEWORDINLINE(0x303C, 0x0020, 0xA825);
+
+
+/*
+ * IsMenuItemIconEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMenuItemIconEnabled(
+ MenuRef menu,
+ MenuItemIndex item) THREEWORDINLINE(0x303C, 0x0018, 0xA825);
+
+
+/*
+ * SetMenuItemHierarchicalMenu()
+ *
+ * Summary:
+ * Attaches a submenu to a menu item.
+ *
+ * Discussion:
+ * Using SetMenuItemHierarchicalMenu, it is possible to directly
+ * specify the submenu for a menu item without specifying its menu
+ * ID. It is not necessary to insert the submenu into the
+ * hierarchical portion of the menubar, and it is not necessary for
+ * the submenu to have a unique menu ID; it is recommended that you
+ * use 0 as the menu ID for the submenu, and identify selections
+ * from the menu by command ID. The Menu Manager will increment the
+ * refcount of the submenu that you specify, and the submenu's
+ * refcount will be decremented automatically when the parent menu
+ * item is deleted or the parent menu is disposed.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The parent menu.
+ *
+ * inItem:
+ * The parent item.
+ *
+ * inHierMenu:
+ * The submenu. You may pass NULL to remove any existing submenu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuItemHierarchicalMenu(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ MenuRef inHierMenu); /* can be NULL */
+
+
+/*
+ * GetMenuItemHierarchicalMenu()
+ *
+ * Summary:
+ * Returns the submenu attached to a menu item.
+ *
+ * Discussion:
+ * GetMenuItemHierarchicalMenu will return the submenu attached to a
+ * menu item regardless of how the submenu was specified. If the
+ * submenu was specified by menu ID (using SetItemCmd or
+ * SetMenuItemHierarchicalID), GetMenuItemHierarchicalMenu will
+ * return the currently installed menu with that ID, if any. The
+ * only case where GetMenuItemHierarchicalMenu will fail to return
+ * the item's submenu is when the submenu is specified by menu ID,
+ * but the submenu is not currently inserted in the menu bar.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The parent menu.
+ *
+ * inItem:
+ * The parent item.
+ *
+ * outHierMenu:
+ * On exit, the item's submenu, or NULL if it does not have one.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuItemHierarchicalMenu(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ MenuRef * outHierMenu);
+
+
+/*
+ * CopyMenuItemTextAsCFString()
+ *
+ * Summary:
+ * Returns a CFString containing the text of a menu item.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu containing the item.
+ *
+ * inItem:
+ * The item whose text to return.
+ *
+ * outString:
+ * On exit, a CFString containing the item's text. This string
+ * must be released by the caller.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CopyMenuItemTextAsCFString(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ CFStringRef * outString);
+
+
+/*
+ * SetMenuItemTextWithCFString()
+ *
+ * Summary:
+ * Sets the text of a menu item to the text contained in a CFString.
+ *
+ * Discussion:
+ * The Menu Manager will either make its own copy or just increment
+ * the refcount of the CFString before returning from
+ * SetMenuItemTextWithCFString, depending on whether the string is
+ * mutable or immutable. If the string is mutable, modifying the
+ * string after calling SetMenuItemTextWithCFString will have no
+ * effect on the menu item's actual text. The caller may release the
+ * string after calling SetMenuItemTextWithCFString.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu containing the item.
+ *
+ * inItem:
+ * The item whose text to return.
+ *
+ * inString:
+ * The string containing the new menu item text.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuItemTextWithCFString(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ CFStringRef inString);
+
+
+/*
+ * GetMenuItemIndent()
+ *
+ * Summary:
+ * Gets the indent level of a menu item.
+ *
+ * Discussion:
+ * The indent level of an item is an amount of extra space added to
+ * the left of the item's icon or checkmark. The level is simply a
+ * number, starting at zero, which the Menu Manager multiplies by a
+ * constant to get the indent in pixels. The default indent level is
+ * zero.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu containing the item.
+ *
+ * inItem:
+ * The item whose indent to retrieve.
+ *
+ * outIndent:
+ * On exit, the indent level of the item.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuItemIndent(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ UInt32 * outIndent);
+
+
+/*
+ * SetMenuItemIndent()
+ *
+ * Summary:
+ * Sets the indent level of a menu item.
+ *
+ * Discussion:
+ * The indent level of an item is an amount of extra space added to
+ * the left of the item's icon or checkmark. The level is simply a
+ * number, starting at zero, which the Menu Manager multiplies by a
+ * constant to get the indent in pixels. The default indent level is
+ * zero.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu containing the item.
+ *
+ * inItem:
+ * The item whose indent to set.
+ *
+ * inIndent:
+ * The new indent level of the item.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuItemIndent(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ UInt32 inIndent);
+
+
+/*
+ * GetMenuItemCommandKey()
+ *
+ * Summary:
+ * Gets the keyboard equivalent of a menu item.
+ *
+ * Discussion:
+ * A menu item's keyboard equivalent may be either a character code
+ * or a virtual keycode. An item's character code and virtual
+ * keycode are stored separately and may contain different values,
+ * but only one is used by the Menu Manager at any given time. When
+ * requesting a menu item's virtual keycode equivalent, you should
+ * first check that the item is using a virtual keycode by testing
+ * the kMenuItemAttrUseVirtualKey attribute for that item. If this
+ * attribute is not set, the item's virtual keycode is ignored by
+ * the Menu Manager. Note that zero is a valid virtual keycode, so
+ * you cannot test the returned keycode against zero to determine if
+ * the item is using a virtual keycode equivalent. You must test the
+ * kMenuItemAttrUseVirtualKey attribute.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu containing the item.
+ *
+ * inItem:
+ * The item whose keyboard equivalent to retrieve.
+ *
+ * inGetVirtualKey:
+ * Indicates whether to retrieve the item's character code or
+ * virtual keycode equivalent.
+ *
+ * outKey:
+ * On exit, the keyboard equivalent of the item.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuItemCommandKey(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ Boolean inGetVirtualKey,
+ UInt16 * outKey);
+
+
+/*
+ * SetMenuItemCommandKey()
+ *
+ * Summary:
+ * Sets the keyboard equivalent of a menu item.
+ *
+ * Discussion:
+ * A menu item's keyboard equivalent may be either a character code
+ * or a virtual keycode. The character code is always used to draw
+ * the item's keyboard equivalent in the menu, but either may be
+ * used for keyboard equivalent matching by MenuEvent and
+ * IsMenuKeyEvent, depending on whether the
+ * kMenuItemAttrUseVirtualKey item attribute is set. If
+ * SetMenuItemCommandKey is used to set the virtual keycode
+ * equivalent for a menu item, it also automatically sets the
+ * kMenuItemAttrUseVirtualKey item attribute. To make the menu item
+ * stop using the virtual keycode equivalent and use the character
+ * code equivalent instead, use ChangeMenuItemAttributes to clear
+ * the kMenuItemAttrUseVirtualKey item attribute.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu containing the item.
+ *
+ * inItem:
+ * The item whose keyboard equivalent to set.
+ *
+ * inSetVirtualKey:
+ * Indicates whether to set the item's character code or virtual
+ * keycode equivalent.
+ *
+ * inKey:
+ * The item's new character code or virtual keycode equivalent.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuItemCommandKey(
+ MenuRef inMenu,
+ MenuItemIndex inItem,
+ Boolean inSetVirtualKey,
+ UInt16 inKey);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Menu Item Color Tables */
+/* */
+/* Menu color manipulation is considered deprecated with the advent of the Appearance */
+/* Manager. Avoid using these routines if possible */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * DeleteMCEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DeleteMCEntries(
+ MenuID menuID,
+ short menuItem) ONEWORDINLINE(0xAA60);
+
+
+/*
+ * GetMCInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MCTableHandle )
+GetMCInfo(void) ONEWORDINLINE(0xAA61);
+
+
+/*
+ * SetMCInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetMCInfo(MCTableHandle menuCTbl) ONEWORDINLINE(0xAA62);
+
+
+/*
+ * DisposeMCInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeMCInfo(MCTableHandle menuCTbl) ONEWORDINLINE(0xAA63);
+
+
+/*
+ * GetMCEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MCEntryPtr )
+GetMCEntry(
+ MenuID menuID,
+ short menuItem) ONEWORDINLINE(0xAA64);
+
+
+/*
+ * SetMCEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetMCEntries(
+ short numEntries,
+ MCTablePtr menuCEntries) ONEWORDINLINE(0xAA65);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Properties (Mac OS 8.5 and later) */
+/* */
+/* With the following property APIs, you can attach any piece of data you'd like to a */
+/* menu or menu item. Passing zero for the item number parameter indicates you'd like */
+/* to attach the data to the menu itself, and not to any specific menu item. */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kMenuPropertyPersistent = 0x00000001 /* whether this property gets saved when flattening the menu*/
+};
+
+/*
+ * GetMenuItemProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuItemProperty(
+ MenuRef menu,
+ MenuItemIndex item,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 bufferSize,
+ UInt32 * actualSize,
+ void * propertyBuffer);
+
+
+/*
+ * GetMenuItemPropertySize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuItemPropertySize(
+ MenuRef menu,
+ MenuItemIndex item,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 * size);
+
+
+/*
+ * SetMenuItemProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuItemProperty(
+ MenuRef menu,
+ MenuItemIndex item,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 propertySize,
+ const void * propertyData);
+
+
+/*
+ * RemoveMenuItemProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MenusLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveMenuItemProperty(
+ MenuRef menu,
+ MenuItemIndex item,
+ OSType propertyCreator,
+ OSType propertyTag);
+
+
+/*
+ * GetMenuItemPropertyAttributes()
+ *
+ * Summary:
+ * Gets the attributes of a menu item property.
+ *
+ * Parameters:
+ *
+ * menu:
+ * The menu.
+ *
+ * item:
+ * The menu item.
+ *
+ * propertyCreator:
+ * The creator code of the property.
+ *
+ * propertyTag:
+ * The property tag.
+ *
+ * attributes:
+ * On exit, contains the attributes of the property.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuItemPropertyAttributes(
+ MenuRef menu,
+ MenuItemIndex item,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 * attributes);
+
+
+/*
+ * ChangeMenuItemPropertyAttributes()
+ *
+ * Summary:
+ * Changes the attributes of a menu item property.
+ *
+ * Parameters:
+ *
+ * menu:
+ * The menu.
+ *
+ * item:
+ * The menu item.
+ *
+ * propertyCreator:
+ * The creator code of the property.
+ *
+ * propertyTag:
+ * The property tag.
+ *
+ * attributesToSet:
+ * The attributes to add to the menu item property.
+ *
+ * attributesToClear:
+ * The attributes to remove from the menu item property.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ChangeMenuItemPropertyAttributes(
+ MenuRef menu,
+ MenuItemIndex item,
+ OSType propertyCreator,
+ OSType propertyTag,
+ UInt32 attributesToSet,
+ UInt32 attributesToClear);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Attributes (Carbon and later) */
+/* */
+/* Each menu and menu item has attribute flags. */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetMenuAttributes()
+ *
+ * Summary:
+ * Gets the attributes of a menu.
+ *
+ * Parameters:
+ *
+ * menu:
+ * The menu.
+ *
+ * outAttributes:
+ * On exit, contains the attributes of the menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuAttributes(
+ MenuRef menu,
+ MenuAttributes * outAttributes);
+
+
+/*
+ * ChangeMenuAttributes()
+ *
+ * Summary:
+ * Changes the attributes of a menu.
+ *
+ * Parameters:
+ *
+ * menu:
+ * The menu.
+ *
+ * setTheseAttributes:
+ * The attributes to add to the menu.
+ *
+ * clearTheseAttributes:
+ * The attributes to remove from the menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ChangeMenuAttributes(
+ MenuRef menu,
+ MenuAttributes setTheseAttributes,
+ MenuAttributes clearTheseAttributes);
+
+
+/*
+ * GetMenuItemAttributes()
+ *
+ * Summary:
+ * Gets the attributes of a menu item.
+ *
+ * Parameters:
+ *
+ * menu:
+ * The menu.
+ *
+ * item:
+ * The menu item.
+ *
+ * outAttributes:
+ * On exit, contains the attributes of the menu item.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuItemAttributes(
+ MenuRef menu,
+ MenuItemIndex item,
+ MenuItemAttributes * outAttributes);
+
+
+/*
+ * ChangeMenuItemAttributes()
+ *
+ * Summary:
+ * Changes the attributes of a menu item.
+ *
+ * Parameters:
+ *
+ * menu:
+ * The menu.
+ *
+ * item:
+ * The menu item.
+ *
+ * setTheseAttributes:
+ * The attributes to add to the menu item.
+ *
+ * clearTheseAttributes:
+ * The attributes to remove from the menu item.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ChangeMenuItemAttributes(
+ MenuRef menu,
+ MenuItemIndex item,
+ MenuItemAttributes setTheseAttributes,
+ MenuItemAttributes clearTheseAttributes);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Mass menu item enabling and disabling (Carbon and later) */
+/* */
+/* Useful when rewriting code that modifies the enableFlags field directly. */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * DisableAllMenuItems()
+ *
+ * Summary:
+ * Disables all items in a menu.
+ *
+ * Discussion:
+ * This API is equivalent to pre-Carbon code that masked the
+ * enableFlags field of the MenuInfo with 0x01. It disables all
+ * items (including items past item 31) but does not affect the
+ * state of the menu title.
+ *
+ * Parameters:
+ *
+ * theMenu:
+ * The menu whose items to disable.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisableAllMenuItems(MenuRef theMenu);
+
+
+/*
+ * EnableAllMenuItems()
+ *
+ * Summary:
+ * Enables all items in a menu.
+ *
+ * Discussion:
+ * This API is equivalent to pre-Carbon code that or'd the
+ * enableFlags field of the MenuInfo with 0xFFFFFFFE. It enables all
+ * items (including items past item 31) but does not affect the
+ * state of the menu title.
+ *
+ * Parameters:
+ *
+ * theMenu:
+ * The menu whose items to enable.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EnableAllMenuItems(MenuRef theMenu);
+
+
+/*
+ * MenuHasEnabledItems()
+ *
+ * Summary:
+ * Determines if any items in a menu are enabled.
+ *
+ * Discussion:
+ * This API is equivalent to pre-Carbon code that compared the
+ * enableFlags field of the MenuInfo with 0. It checks the enable
+ * state of all items to see if any are enabled, but ignores the
+ * state of the menu title. It will return true even if the menu
+ * title is disabled.
+ *
+ * Parameters:
+ *
+ * theMenu:
+ * The menu whose items to examine.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+MenuHasEnabledItems(MenuRef theMenu);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Menu tracking status (Carbon and later) */
+/* */
+/* Get info about the selected menu item during menu tracking. Replaces direct access */
+/* to low-mem globals that previously held this info. */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * GetMenuTrackingData()
+ *
+ * Summary:
+ * Gets information about the menu currently selected by the user.
+ *
+ * Discussion:
+ * This API replaces direct access to the low-memory globals
+ * TopMenuItem, AtMenuBottom, MenuDisable, and mbSaveLoc. It is only
+ * valid to call this API while menu tracking is occurring. This API
+ * will most commonly be used by custom MDEFs.
+ *
+ * Parameters:
+ *
+ * theMenu:
+ * The menu about which to get tracking information. May be NULL
+ * to get information about the menu that the user is currently
+ * selecting. If the menu is not currently open, menuNotFoundErr
+ * is returned.
+ *
+ * outData:
+ * On exit, contains tracking data about the menu. On CarbonLib,
+ * the itemRect field is not supported and is always set to an
+ * empty rect.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuTrackingData(
+ MenuRef theMenu,
+ MenuTrackingData * outData);
+
+
+/*
+ * GetMenuType()
+ *
+ * Summary:
+ * Gets the display type (pulldown, hierarchical, or popup) of a
+ * menu.
+ *
+ * Discussion:
+ * This API may only be called when the menu is displayed. If the
+ * menu is not currently open, an error is returned. The display
+ * type of a menu may vary from one menu tracking session to
+ * another; for example, the same menu might be displayed as a
+ * pulldown menu and as a popup menu.
+ *
+ * Parameters:
+ *
+ * theMenu:
+ * The menu whose type to get.
+ *
+ * outType:
+ * On exit, the type of the menu. The returned value will be one
+ * of the ThemeMenuType constants: kThemeMenuTypePullDown, PopUp,
+ * or Hierarchical. The kThemeMenuTypeInactive bit will never be
+ * set.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuType(
+ MenuRef theMenu,
+ UInt16 * outType);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o.Universal command ID access (Carbon and later) */
+/* */
+/* These APIs allow you to operate on menu items strictly by command ID, with no */
+/* knowledge of a menu item's index. */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * CountMenuItemsWithCommandID()
+ *
+ * Summary:
+ * Counts the menu items with a specified command ID.
+ *
+ * Discussion:
+ * In CarbonLib 1.0.x and 1.1, this API always returns zero or one;
+ * it stops after finding the first menu item with the specified
+ * command ID. In CarbonLib 1.2 and Mac OS X 10.0 and later, it
+ * counts all menu items with the specified command ID. In Mac OS X
+ * 10.0 and CarbonLib 1.0 through 1.4, this API only searches
+ * top-level menus (menus visible in the menubar) and submenus of
+ * top-level menus. It does not search hierarchical menus that are
+ * inserted in the menubar but are not submenus of a top-level menus
+ * (for example, it does not search menus that are inserted for use
+ * in a popup menu control). In Mac OS X 10.1 and CarbonLib 1.5 and
+ * later, this API also searches inserted hierarchical menus.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for items with the
+ * specified command ID. Pass NULL to hegin searching with the
+ * root menu. The search will descend into all submenus of this
+ * menu.
+ *
+ * inCommandID:
+ * The command ID for which to search.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ItemCount )
+CountMenuItemsWithCommandID(
+ MenuRef inMenu,
+ MenuCommand inCommandID);
+
+
+/*
+ * GetIndMenuItemWithCommandID()
+ *
+ * Summary:
+ * Finds a menu item with a specified command ID.
+ *
+ * Discussion:
+ * This API searches the specified menu and its submenus for the
+ * n'th menu item with the specified command ID. In CarbonLib 1.0.x
+ * and 1.1, only the first menu item is returned. In CarbonLib 1.2
+ * and Mac OS X 10.0 and later, this API iterates over all menu
+ * items with the specified command ID. In Mac OS X 10.0 and
+ * CarbonLib 1.0 through 1.4, this API only searches top-level menus
+ * (menus visible in the menubar) and submenus of top-level menus.
+ * It does not search hierarchical menus that are inserted in the
+ * menubar but are not submenus of a top-level menus (for example,
+ * it does not search menus that are inserted for use in a popup
+ * menu control). In Mac OS X 10.1 and CarbonLib 1.5 and later, this
+ * API also searches inserted hierarchical menus.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for items with the
+ * specified command ID. Pass NULL to hegin searching with the
+ * root menu. The search will descend into all submenus of this
+ * menu.
+ *
+ * inCommandID:
+ * The command ID for which to search.
+ *
+ * inItemIndex:
+ * The 1-based index of the menu item to retrieve. In CarbonLib
+ * 1.0.x and 1.1, this parameter must be 1. In CarbonLib 1.2 and
+ * Mac OS X 10.0, this parameter may vary from 1 to the number of
+ * menu items with the specified command ID.
+ *
+ * outMenu:
+ * On exit, the menu containing the menu item with the specified
+ * command ID.
+ *
+ * outIndex:
+ * On exit, the item index of the menu item with the specified
+ * command ID.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetIndMenuItemWithCommandID(
+ MenuRef inMenu,
+ MenuCommand inCommandID,
+ UInt32 inItemIndex,
+ MenuRef * outMenu, /* can be NULL */
+ MenuItemIndex * outIndex); /* can be NULL */
+
+
+/*
+ * EnableMenuCommand()
+ *
+ * Summary:
+ * Enables the menu item with a specified command ID.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item to be enabled. If more than one
+ * item has this command ID, only the first will be enabled.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EnableMenuCommand(
+ MenuRef inMenu,
+ MenuCommand inCommandID);
+
+
+/*
+ * DisableMenuCommand()
+ *
+ * Summary:
+ * Disables the menu item with a specified command ID.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item to be disabled. If more than
+ * one item has this command ID, only the first will be disabled.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisableMenuCommand(
+ MenuRef inMenu,
+ MenuCommand inCommandID);
+
+
+/*
+ * IsMenuCommandEnabled()
+ *
+ * Summary:
+ * Determines if the menu item with a specified command ID is
+ * enabled.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item to examine. If more than one
+ * item has this command ID, only the first will be examined.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMenuCommandEnabled(
+ MenuRef inMenu,
+ MenuCommand inCommandID);
+
+
+/*
+ * SetMenuCommandMark()
+ *
+ * Summary:
+ * Locates the menu item with a specified command ID and sets its
+ * mark character.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item to be modified. If more than
+ * one item has this command ID, only the first will be modified.
+ *
+ * inMark:
+ * The new mark character. This is a Unicode character. On Mac OS
+ * 8.x, the low byte of this character will be used as the mark
+ * character. On Mac OS X, the entire UniChar will be used and
+ * drawn.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuCommandMark(
+ MenuRef inMenu,
+ MenuCommand inCommandID,
+ UniChar inMark);
+
+
+/*
+ * GetMenuCommandMark()
+ *
+ * Summary:
+ * Locates the menu item with a specified command ID and returns its
+ * mark character.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item to be examined. If more than
+ * one item has this command ID, only the first will be examined.
+ *
+ * outMark:
+ * On exit, the menu item's mark character.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuCommandMark(
+ MenuRef inMenu,
+ MenuCommand inCommandID,
+ UniChar * outMark);
+
+
+/*
+ * GetMenuCommandProperty()
+ *
+ * Summary:
+ * Retrives property data for a menu item with a specified command
+ * ID.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item containing the property. If
+ * more than one item has this command ID, only the first will be
+ * used.
+ *
+ * inPropertyCreator:
+ * The property creator.
+ *
+ * inPropertyTag:
+ * The property tag.
+ *
+ * inBufferSize:
+ * The size of the output buffer, in bytes.
+ *
+ * outActualSize:
+ * On exit, contains the actual size of the property data. May be
+ * NULL if you do not need this information.
+ *
+ * inPropertyBuffer:
+ * The address of a buffer in which to place the property data.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuCommandProperty(
+ MenuRef inMenu,
+ MenuCommand inCommandID,
+ OSType inPropertyCreator,
+ OSType inPropertyTag,
+ ByteCount inBufferSize,
+ ByteCount * outActualSize, /* can be NULL */
+ void * inPropertyBuffer);
+
+
+/*
+ * GetMenuCommandPropertySize()
+ *
+ * Summary:
+ * Retrives the size of property data for a menu item with a
+ * specified command ID.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item containing the property. If
+ * more than one item has this command ID, only the first will be
+ * used.
+ *
+ * inPropertyCreator:
+ * The property creator.
+ *
+ * inPropertyTag:
+ * The property tag.
+ *
+ * outSize:
+ * On exit, contains the size of the property data.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuCommandPropertySize(
+ MenuRef inMenu,
+ MenuCommand inCommandID,
+ OSType inPropertyCreator,
+ OSType inPropertyTag,
+ ByteCount * outSize);
+
+
+/*
+ * SetMenuCommandProperty()
+ *
+ * Summary:
+ * Sets property data for a menu item with a specified command ID.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item that will receive the property.
+ * If more than one item has this command ID, only the first will
+ * be modified.
+ *
+ * inPropertyCreator:
+ * The property creator.
+ *
+ * inPropertyTag:
+ * The property tag.
+ *
+ * inPropertySize:
+ * The size of the property data, in bytes.
+ *
+ * inPropertyData:
+ * The address of the property data.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuCommandProperty(
+ MenuRef inMenu,
+ MenuCommand inCommandID,
+ OSType inPropertyCreator,
+ OSType inPropertyTag,
+ ByteCount inPropertySize,
+ const void * inPropertyData);
+
+
+/*
+ * RemoveMenuCommandProperty()
+ *
+ * Summary:
+ * Removes a property from a menu item with a specified command ID.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu in which to begin searching for the item. Pass NULL to
+ * begin searching with the root menu. The search will descend
+ * into all submenus of this menu.
+ *
+ * inCommandID:
+ * The command ID of the menu item from which the property will be
+ * removed. If more than one item has this command ID, only the
+ * first will be modified.
+ *
+ * inPropertyCreator:
+ * The property creator.
+ *
+ * inPropertyTag:
+ * The property tag.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RemoveMenuCommandProperty(
+ MenuRef inMenu,
+ MenuCommand inCommandID,
+ OSType inPropertyCreator,
+ OSType inPropertyTag);
+
+
+
+/*
+ * CopyMenuItemData()
+ *
+ * Summary:
+ * Returns multiple attributes of a menu item at once.
+ *
+ * Discussion:
+ * This function is used to retrieve many attributes of a menu item
+ * simultaneously; for example, it might be used by a menu
+ * definition function that needs to know how to draw a menu item.
+ * It is more efficient to use this function than to use the
+ * accessor functions for the individual attributes of the menu.
+ * This function returns a copy of the data in the menu, so any data
+ * in the MenuItemDataRec that is dynamically allocated (for
+ * example, the CFString item text) should be released by the caller.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu from which to copy data. If inIsCommandID is true, you
+ * may pass NULL for this parameter to search for an item in the
+ * root menu; if inIsCommandID is false, this parameter must be a
+ * valid MenuRef.
+ *
+ * inItem:
+ * The item or command ID from which to copy data.
+ *
+ * inIsCommandID:
+ * Indicates whether inItem is a MenuItemIndex or MenuCommand. If
+ * inIsCommandID is true, the inItem parameter is interpreted as a
+ * menu command ID, and data is copied from the first item in the
+ * menu with that command ID. If inIsCommandID is false, the
+ * inItem parameter is interpreted as a menu item index, and data
+ * is copied for that item in the specified menu.
+ *
+ * ioData:
+ * Data is copied from the item and placed here. On entry, the
+ * whichData field of this structure should be initialized to
+ * indicate which data the caller would like returned. Individual
+ * fields of the MenuItemDataRec structure may require
+ * pre-initialization also; see the individual MenuItemDataFlags
+ * documentation for details.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CopyMenuItemData(
+ MenuRef inMenu, /* can be NULL */
+ MenuItemID inItem,
+ Boolean inIsCommandID,
+ MenuItemDataPtr ioData);
+
+
+/*
+ * SetMenuItemData()
+ *
+ * Summary:
+ * Sets multiple attributes of a menu item at once.
+ *
+ * Discussion:
+ * This function is used to set many attributes of a menu item
+ * simultaneously. It is more efficient to use this function than to
+ * use the accessor functions for the individual attributes of the
+ * menu.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu to modify.
+ *
+ * inItem:
+ * The item or command ID to modify.
+ *
+ * inIsCommandID:
+ * Indicates whether inItem is a MenuItemIndex or MenuCommand. If
+ * inIsCommandID is true, the inItem parameter is interpreted as a
+ * menu command ID, and the first item in the menu with that
+ * command ID. is modified. If inIsCommandID is false, the inItem
+ * parameter is interpreted as a menu item index, and the item
+ * with that index in the specified menu is modified.
+ *
+ * inData:
+ * The data to set. The caller should set the whichData field of
+ * this structure to indicate which data should be set. Only the
+ * fields of the structure corresponding to the non-zero whichData
+ * flags must be initialized; other fields are ignored.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuItemData(
+ MenuRef inMenu,
+ MenuItemID inItem,
+ Boolean inIsCommandID,
+ const MenuItemDataRec * inData);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Dynamic menu item support (CarbonLib 1.1 and Carbon for Mac OS X, and later) */
+/* */
+/* Dynamic menu item support allows a menu item to be redrawn while the menu is open */
+/* and visible to the user. Carbon contains automatic support for dynamic items based */
+/* on keyboard modifier state. If you need to implement your own variable item state */
+/* based on other system state, you can use these APIs to implement it. */
+/* */
+/* To use the built-in support for dynamic items, you should create a menu containing */
+/* several contiguous items with the same command key but different text and modifier */
+/* keys. For example, you might have: */
+/* */
+/* Close cmd-W */
+/* Close All cmd-option-W */
+/* */
+/* In your MENU resource, you would create the Close and Close All items and give */
+/* them each the letter 'W' as the command key; using an associated xmnu resource, */
+/* you would specify kMenuOptionModifier as the modifier for the Close All item. */
+/* */
+/* After loading your menu from the resource, you must set the kMenuItemAttrDynamic */
+/* flag for each dynamic item. In this example, you would use: */
+/* */
+/* ChangeMenuItemAttributes( menu, kCloseItem, kMenuItemAttrDynamic, 0 ); */
+/* ChangeMenuItemAttributes( menu, kCloseAllItem, kMenuItemAttrDynamic, 0 ); */
+/* */
+/* The Menu Manager will now automatically display the correct item depending on */
+/* whether the Option key is pressed. The result from MenuSelect will be the item */
+/* number of the item that was visible when the menu closed. */
+/* */
+/* If the Menu Manager's built-in support is not sufficient, you can also change the */
+/* attributes of an item yourself and use the UpdateInvalidMenuItems API to cause */
+/* the menu to redraw. Changes to a menu item (changing text, command key, style, */
+/* etc.) that occur while the menu is open will cause the menu item to be invalidated, */
+/* but not redrawn. If you need to invalidate the item explicitly yourself, perhaps */
+/* because you have a custom MDEF that depends on state not accessed using Menu */
+/* Manager APIs, you can use the InvalidateMenuItems API. UpdateInvalidMenuItems will */
+/* scan the menu for invalid items and redraw each, clearing its invalid flag */
+/* afterwards. */
+/* */
+/* If you need to change menu contents based on modifier key state without using the */
+/* built-in support in the Menu Manager, we recommend that you install a Carbon event */
+/* handler on your menu for the [kEventClassKeyboard, kEventRawKeyModifiersChanged] */
+/* event. Modifier key events are passed to the currently open menu before being sent */
+/* to the user focus target. */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * IsMenuItemInvalid()
+ *
+ * Summary:
+ * Determines if a menu item is invalid and should be redrawn.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose item to examine.
+ *
+ * inItem:
+ * The item to examine.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMenuItemInvalid(
+ MenuRef inMenu,
+ MenuItemIndex inItem);
+
+
+/*
+ * InvalidateMenuItems()
+ *
+ * Summary:
+ * Invalidates a group of menu items so that they will be redrawn
+ * when UpdateInvalidMenuItems is next called.
+ *
+ * Discussion:
+ * Menu items are automatically invalidated when their contents are
+ * changed using Menu Manager APIs while the menu is open. However,
+ * you might need to use this API if you have a custom MDEF that
+ * draws using state not contained in the menu.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu whose items to invalidate.
+ *
+ * inFirstItem:
+ * The first item to invalidate.
+ *
+ * inNumItems:
+ * The number of items to invalidate.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InvalidateMenuItems(
+ MenuRef inMenu,
+ MenuItemIndex inFirstItem,
+ ItemCount inNumItems);
+
+
+/*
+ * UpdateInvalidMenuItems()
+ *
+ * Summary:
+ * Redraws the invalid items of an open menu.
+ *
+ * Discussion:
+ * It is not necessary to use UpdateInvalidMenuItems if you are
+ * using Carbon's built-in support for dynamic items based on
+ * modifier key state. However, if you are modifying items
+ * dynamically using your own implementation, you should call
+ * UpdateInvalidMenuItems after completing your modifications for a
+ * single menu. It will redraw any items that have been marked as
+ * invalid, and clear the invalid flag for those items.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * The menu to update.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UpdateInvalidMenuItems(MenuRef inMenu);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o.Standard font menu (Carbon and later) */
+/* */
+/* These APIs allow you to create and use the standard font menu. */
+/*--------------------------------------------------------------------------------------*/
+enum {
+ kHierarchicalFontMenuOption = 0x00000001
+};
+
+/*
+ * CreateStandardFontMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateStandardFontMenu(
+ MenuRef menu,
+ MenuItemIndex afterItem,
+ MenuID firstHierMenuID,
+ OptionBits options,
+ ItemCount * outHierMenuCount);
+
+
+/*
+ * UpdateStandardFontMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UpdateStandardFontMenu(
+ MenuRef menu,
+ ItemCount * outHierMenuCount);
+
+
+/*
+ * GetFontFamilyFromMenuSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetFontFamilyFromMenuSelection(
+ MenuRef menu,
+ MenuItemIndex item,
+ FMFontFamily * outFontFamily,
+ FMFontStyle * outStyle);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* o Contextual Menu routines and constants */
+/* available with Conxtextual Menu extension 1.0 and later */
+/*--------------------------------------------------------------------------------------*/
+/* Gestalt Selector for classic 68K apps only. */
+/* CFM apps should weak link and check the symbols. */
+enum {
+ gestaltContextualMenuAttr = FOUR_CHAR_CODE('cmnu'),
+ gestaltContextualMenuUnusedBit = 0,
+ gestaltContextualMenuTrapAvailable = 1,
+ gestaltContextualMenuHasAttributeAndModifierKeys = 2, /* Contextual Menu Manager supports keyContextualMenuAttributes and keyContextualMenuModifiers */
+ gestaltContextualMenuHasUnicodeSupport = 3 /* Contextual Menu Manager supports typeUnicodeText and typeCFStringRef */
+};
+
+
+/*
+ * Summary:
+ * Values indicating what kind of help the application supports
+ */
+enum {
+
+ /*
+ * The application does not support any help. The Menu Manager will
+ * put an appropriate help string into the contextual menu and
+ * disable the Help item.
+ */
+ kCMHelpItemNoHelp = 0,
+
+ /*
+ * The application supports Apple Guide help. The Menu Manager will
+ * put the name of the main Guide file into the contextual menu and
+ * enable the Help item.
+ */
+ kCMHelpItemAppleGuide = 1,
+
+ /*
+ * The application supports some other form of help. In this case,
+ * the application must also pass a valid string into the
+ * inHelpItemString parameter of ContextualMenuSelect. This string
+ * will be the text of the Help item in the contextual menu, and the
+ * Help item will be enabled.
+ */
+ kCMHelpItemOtherHelp = 2,
+
+ /*
+ * The application does not support any help. The Menu Manager will
+ * remove the Help item from the contextual menu. This constant is
+ * available in Mac OS X and CarbonLib 1.6, and later; however, in
+ * CarbonLib it is translated to kCMHelpItemNoHelp, and the Help item
+ * is only disabled, not removed.
+ */
+ kCMHelpItemRemoveHelp = 3
+};
+
+
+/*
+ * Summary:
+ * Values indicating what was chosen from a contextual menu
+ */
+enum {
+
+ /*
+ * The user did not choose an item from the contextual menu and the
+ * application should do no further processing of the event.
+ */
+ kCMNothingSelected = 0,
+
+ /*
+ * The user chose one of the application's items from the menu. The
+ * application can examine the outMenuID and outMenuItem parameters
+ * of ContextualMenuSelect to see what the menu selection was, and it
+ * should then handle the selection appropriately.
+ */
+ kCMMenuItemSelected = 1,
+
+ /*
+ * The user chose the Help item from the menu. The application should
+ * open an Apple Guide database to a section appropriate for the
+ * selection. If the application supports some other form of help, it
+ * should be presented instead.
+ */
+ kCMShowHelpSelected = 3
+};
+
+
+
+/*
+ * Summary:
+ * AERecord keywords used by the ExamineContext method of a
+ * Contextual Menu plugin to specify menu item contents.
+ */
+enum {
+
+ /*
+ * Specifies the text of an item in a contextual menu. Data for this
+ * parameter can be in one of several formats. In Mac OS 7/8/9.x and
+ * Mac OS X 10.0 and 10.1, typeChar and typeIntlText are supported.
+ * In Mac OS X after 10.1, typeStyledText, typeAEText,
+ * typeUnicodeText, and typeCFStringRef are also supported. If you
+ * provide data as typeCFStringRef, the Contextual Menu Manager will
+ * automatically release the CFStringRef once the menu has been
+ * displayed. If you need the CFStringRef to have a longer timetime,
+ * your plugin should retain the CFStringRef before inserting it into
+ * the AERecord.
+ */
+ keyContextualMenuName = FOUR_CHAR_CODE('pnam'),
+
+ /*
+ * Specifies the command ID of an item in a contextual menu. Data for
+ * this parameter should be typeLongInteger.
+ */
+ keyContextualMenuCommandID = FOUR_CHAR_CODE('cmcd'),
+
+ /*
+ * Specifies a contextual menu item with a submenu. Typically used
+ * with AEPutKeyDesc to add an entire AEDesc containing the submenu
+ * as the data for the parameter.
+ */
+ keyContextualMenuSubmenu = FOUR_CHAR_CODE('cmsb'),
+
+ /*
+ * Specifies the menu item attributes of an item in a contextual
+ * menu. Data for this parameter should be typeLongInteger. Available
+ * in Mac OS X after 10.1.
+ */
+ keyContextualMenuAttributes = FOUR_CHAR_CODE('cmat'),
+
+ /*
+ * Specifies the modifier keys of an item in a contextual menu (see
+ * kMenuShiftModifier, kMenuControlModifier, etc.) Data for this
+ * parameter should be typeLongInteger. Using this parameter together
+ * with the keyContextualMenuAttributes parameter, it is possible to
+ * create a contextual menu with dynamic items which change according
+ * to the modifier keys pressed by the user. Available in Mac OS X
+ * after 10.1.
+ */
+ keyContextualMenuModifiers = FOUR_CHAR_CODE('cmmd')
+};
+
+/*
+ * InitContextualMenus()
+ *
+ * Summary:
+ * Adds the current process to the system registry of contextual
+ * menu clients.
+ *
+ * Discussion:
+ * On Mac OS 8.x and 9.x, your program should call the
+ * InitContextualMenus function early in your startup code to
+ * register your application as a contextual menu client. If you do
+ * not register your program, some system-level functions may
+ * respond as though your program does not use contextual menus. Not
+ * registering your program may also cause
+ * ProcessIsContextualMenuClient to return an incorrect value. On
+ * Mac OS X, it is not necessary to call InitContextualMenus.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ContextualMenu 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InitContextualMenus(void) TWOWORDINLINE(0x7001, 0xAA72);
+
+
+/*
+ * IsShowContextualMenuClick()
+ *
+ * Summary:
+ * Determines whether a particular EventRecord could invoke a
+ * contextual menu.
+ *
+ * Discussion:
+ * Applications should call IsShowContextualMenuClick when they
+ * receive non-null events. If IsShowContextualMenuClick returns
+ * true, your application should generate its own menu and Apple
+ * Event descriptor (AEDesc), and then call ContextualMenuSelect to
+ * display and track the contextual menu, and then handle the user's
+ * choice. Some users may choose to use a two-button mouse with
+ * their Macintosh computer. This API does not return true for a
+ * right-click unless the mouse manufacturer has provided driver
+ * software that returns a control-left click in place of a right
+ * click. For proper recognition of a right-click gesture, you must
+ * use the IsShowContextualMenuEvent API.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event to examine.
+ *
+ * Result:
+ * Returns true if the application should display a contextual menu,
+ * false if not.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ContextualMenu 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsShowContextualMenuClick(const EventRecord * inEvent) TWOWORDINLINE(0x7002, 0xAA72);
+
+
+/*
+ * IsShowContextualMenuEvent()
+ *
+ * Summary:
+ * Determines whether a particular EventRef could invoke a
+ * contextual menu.
+ *
+ * Discussion:
+ * This API is similar to IsShowContextualMenuClick, but takes a
+ * Carbon EventRef as its parameter instead of an EventRecord.
+ * EventRecords cannot express a right-mouse-click, but EventRefs
+ * can, so this API will return true for a right- click where
+ * IsShowContextualMenuClick will not.
+ *
+ * Parameters:
+ *
+ * inEvent:
+ * The event to examine.
+ *
+ * Result:
+ * Returns true if the application should display a contextual menu,
+ * false if not.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsShowContextualMenuEvent(EventRef inEvent);
+
+
+/*
+ * ContextualMenuSelect()
+ *
+ * Summary:
+ * Displays a contextual menu.
+ *
+ * Discussion:
+ * If IsShowContextualMenuClick returns true, you should call the
+ * ContextualMenuSelect API after generating your own menu and
+ * preparing an Apple Event descriptor (AEDesc) that describes the
+ * item for which your application is displaying a contextual menu.
+ * This descriptor may contain an object specifier or raw data and
+ * will be passed to all contextual menu plug-ins. The system will
+ * add other items before displaying the contextual menu, and it
+ * will remove those items before returning, leaving the menu in its
+ * original state. After all the system commands are added, the
+ * contextual menu is displayed and tracked. If the user selects one
+ * of the system items, it is handled by the system and the call
+ * returns as though the user didn't select anything from the menu.
+ * If the user selects any other item (or no item at all), the Menu
+ * Manager passes back appropriate values in the parameters
+ * outUserSelectionType, outMenuID, and outMenuItem. Your
+ * application should provide visual feedback indicating the item
+ * that was clicked upon. For example, a click on an icon should
+ * highlight the icon, while a click on editable text should not
+ * eliminate the current selection. If the outUserSelectionType
+ * parameter contains kCMMenuItemSelected, you should look at the
+ * outMenuID and outMenuItem parameters to determine what menu item
+ * the user chose and handle it appropriately. If the user selected
+ * kCMHelpItemSelected, you should open the proper Apple Guide
+ * sequence or other form of custom help.
+ *
+ * Parameters:
+ *
+ * inMenu:
+ * A menu containing application commands to display. The caller
+ * creates this menu based on the current context, the mouse
+ * location, and the current selection (if it was the target of
+ * the mouse). If you pass nil, only system commands will be
+ * displayed. The menu should be added to the menu list as a
+ * pop-up menu (using the InsertMenu function).
+ *
+ * inGlobalLocation:
+ * The location (in global coordinates) of the mouse near which
+ * the menu is to be displayed.
+ *
+ * inReserved:
+ * Reserved for future use. Pass false for this parameter.
+ *
+ * inHelpType:
+ * An identifier specifying the type of help to be provided by the
+ * application; see kCMHelpItem constants.
+ *
+ * inHelpItemString:
+ * A string containing the text to be displayed for the help menu
+ * item. This string is unused unless you also pass the constant
+ * kCMHelpItemOtherHelp in the inHelpType parameter.
+ *
+ * inSelection:
+ * An object specifier for the current selection. This allows he
+ * system to examine the selection and add special system commands
+ * accordingly. Passing a value of nil indicates that no selection
+ * should be examined, and most likely, no special system actions
+ * will be included.
+ *
+ * outUserSelectionType:
+ * On exit, the value indicates what the user selected from the
+ * contextual menu; see kCMNothingSelected, kCMMenuItemSelected,
+ * and kCMShowHelpSelected.
+ *
+ * outMenuID:
+ * On exit, if outUserSelectionType is set to kCMMenuItemSelected,
+ * the value is set to the menu ID of the chosen item.
+ *
+ * outMenuItem:
+ * On exit, if outUserSelectionType is set to kCMMenuItemSelected,
+ * the value is set to the menu item chosen.
+ *
+ * Result:
+ * An OSStatus result code. ContextualMenuSelect returns the result
+ * code userCanceledErr and sets outUserSelectionType to
+ * kCMNothingSelected to indicate that the user did not select
+ * anything from the contextual menu and no further processing is
+ * needed.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ContextualMenu 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ContextualMenuSelect(
+ MenuRef inMenu,
+ Point inGlobalLocation,
+ Boolean inReserved,
+ UInt32 inHelpType,
+ ConstStr255Param inHelpItemString, /* can be NULL */
+ const AEDesc * inSelection, /* can be NULL */
+ UInt32 * outUserSelectionType,
+ SInt16 * outMenuID,
+ MenuItemIndex * outMenuItem) TWOWORDINLINE(0x7003, 0xAA72);
+
+
+/*
+ * ProcessIsContextualMenuClient()
+ *
+ * Summary:
+ * Determines whether the specified process is a contextual menu
+ * client.
+ *
+ * Discussion:
+ * On Mac OS 9, this API consults a global table of all processes
+ * that have registered with the Contextual Menu Manager by calling
+ * InitContextualMenus. On Mac OS X, this API ignores the inPSN
+ * parameter and always returns whether the current process is
+ * registered with the Contextual Menu Manager.
+ *
+ * Parameters:
+ *
+ * inPSN:
+ * The process to examine.
+ *
+ * Result:
+ * Whether the specified process (or, on Mac OS X, the current
+ * process) is registered with the Contextual Menu Manager.
+ *
+ * Availability:
+ * Non-Carbon CFM: in ContextualMenu 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+ProcessIsContextualMenuClient(ProcessSerialNumber * inPSN) TWOWORDINLINE(0x7004, 0xAA72);
+
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Contextual Menu Plugin Interface */
+/* */
+/* For Mac OS X 10.1, we support a new type of Contextual Menu Plugin: the CFPlugIn */
+/* based plugin. Each plugin must be in a CFPlugIn in the Contextual Menu Items */
+/* folder in one of these paths: */
+/* /System/Library/Contextual Menu Items/ */
+/* /Library/Contextual Menu Items/ */
+/* ~/Library/Contextual Menu Items/ */
+/* */
+/* It must export the following functions using the following interface or a C++ */
+/* interface inheriting from IUnknown and including similar functions. */
+/*--------------------------------------------------------------------------------------*/
+
+/* The Contextual Menu Manager will only load CFPlugIns of type kContextualMenuTypeID */
#define kContextualMenuTypeID ( CFUUIDGetConstantUUIDWithBytes( NULL, \
0x2F, 0x65, 0x22, 0xE9, 0x3E, 0x66, 0x11, 0xD5, \
0x80, 0xA7, 0x00, 0x30, 0x65, 0xB3, 0x00, 0xBC ) )
- /* 2F6522E9-3E66-11D5-80A7-003065B300BC */
+ /* 2F6522E9-3E66-11D5-80A7-003065B300BC */
- /* Contextual Menu Plugins must implement this Contexual Menu Plugin Interface */
+/* Contextual Menu Plugins must implement this Contexual Menu Plugin Interface */
#define kContextualMenuInterfaceID ( CFUUIDGetConstantUUIDWithBytes( NULL, \
0x32, 0x99, 0x7B, 0x62, 0x3E, 0x66, 0x11, 0xD5, \
0xBE, 0xAB, 0x00, 0x30, 0x65, 0xB3, 0x00, 0xBC ) )
- /* 32997B62-3E66-11D5-BEAB-003065B300BC */
+ /* 32997B62-3E66-11D5-BEAB-003065B300BC */
#define CM_IUNKNOWN_C_GUTS \
void *_reserved; \
@@ -5734,159 +5652,159 @@ extern "C" {
UInt32 (*AddRef)(void *thisPointer); \
UInt32 (*Release)(void *thisPointer)
- /* The function table for the interface */
- struct ContextualMenuInterfaceStruct
- {
- CM_IUNKNOWN_C_GUTS;
- OSStatus(*ExamineContext)(
- void* thisInstance,
- const AEDesc* inContext,
- AEDescList* outCommandPairs);
- OSStatus(*HandleSelection)(
- void* thisInstance,
- AEDesc* inContext,
- SInt32 inCommandID);
- void (*PostMenuCleanup)(
- void* thisInstance);
- };
- typedef struct ContextualMenuInterfaceStruct ContextualMenuInterfaceStruct;
-
- /*
- * CMPluginExamineContext()
- *
- * Availability:
- * Implemented by client
- */
- EXTERN_API_C(OSStatus)
- CMPluginExamineContext(
- void * thisInstance,
- const AEDesc * inContext,
- AEDescList * outCommandPairs);
-
-
- /*
- * CMPluginHandleSelection()
- *
- * Availability:
- * Implemented by client
- */
- EXTERN_API_C(OSStatus)
- CMPluginHandleSelection(
- void * thisInstance,
- AEDesc * inContext,
- SInt32 inCommandID);
-
-
- /*
- * CMPluginPostMenuCleanup()
- *
- * Availability:
- * Implemented by client
- */
- EXTERN_API_C(void)
- CMPluginPostMenuCleanup(void * thisInstance);
-
-
-
- /* previously in LowMem.h. This functions return the menu ID of the hilited menu */
- /*
- * LMGetTheMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- LMGetTheMenu(void) TWOWORDINLINE(0x3EB8, 0x0A26);
+/* The function table for the interface */
+struct ContextualMenuInterfaceStruct
+{
+ CM_IUNKNOWN_C_GUTS;
+ OSStatus ( *ExamineContext )(
+ void* thisInstance,
+ const AEDesc* inContext,
+ AEDescList* outCommandPairs );
+ OSStatus ( *HandleSelection )(
+ void* thisInstance,
+ AEDesc* inContext,
+ SInt32 inCommandID );
+ void ( *PostMenuCleanup )(
+ void* thisInstance );
+};
+typedef struct ContextualMenuInterfaceStruct ContextualMenuInterfaceStruct;
+
+/*
+ * CMPluginExamineContext()
+ *
+ * Availability:
+ * Implemented by client
+ */
+EXTERN_API_C( OSStatus )
+CMPluginExamineContext(
+ void * thisInstance,
+ const AEDesc * inContext,
+ AEDescList * outCommandPairs);
+
+
+/*
+ * CMPluginHandleSelection()
+ *
+ * Availability:
+ * Implemented by client
+ */
+EXTERN_API_C( OSStatus )
+CMPluginHandleSelection(
+ void * thisInstance,
+ AEDesc * inContext,
+ SInt32 inCommandID);
+
+
+/*
+ * CMPluginPostMenuCleanup()
+ *
+ * Availability:
+ * Implemented by client
+ */
+EXTERN_API_C( void )
+CMPluginPostMenuCleanup(void * thisInstance);
+
+
+
+/* previously in LowMem.h. This functions return the menu ID of the hilited menu */
+/*
+ * LMGetTheMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+LMGetTheMenu(void) TWOWORDINLINE(0x3EB8, 0x0A26);
#if CALL_NOT_IN_CARBON
- /*
- * newmenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(MenuRef)
- newmenu(
- MenuID menuID,
- const char * menuTitle);
-
-
- /*
- * appendmenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- appendmenu(
- MenuRef menu,
- const char * data);
-
-
- /*
- * insertmenuitem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- insertmenuitem(
- MenuRef theMenu,
- const char * itemString,
- short afterItem);
-
-
- /*
- * menuselect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- menuselect(const Point * startPt);
-
-
- /*
- * setmenuitemtext()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- setmenuitemtext(
- MenuRef menu,
- short item,
- const char * itemString);
-
-
- /*
- * getmenuitemtext()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getmenuitemtext(
- MenuRef menu,
- short item,
- char * itemString);
+/*
+ * newmenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( MenuRef )
+newmenu(
+ MenuID menuID,
+ const char * menuTitle);
+
+
+/*
+ * appendmenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+appendmenu(
+ MenuRef menu,
+ const char * data);
+
+
+/*
+ * insertmenuitem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+insertmenuitem(
+ MenuRef theMenu,
+ const char * itemString,
+ short afterItem);
+
+
+/*
+ * menuselect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+menuselect(const Point * startPt);
+
+
+/*
+ * setmenuitemtext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+setmenuitemtext(
+ MenuRef menu,
+ short item,
+ const char * itemString);
+
+
+/*
+ * getmenuitemtext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getmenuitemtext(
+ MenuRef menu,
+ short item,
+ char * itemString);
#endif /* CALL_NOT_IN_CARBON */
@@ -5913,140 +5831,140 @@ extern "C" {
#endif /* OLDROUTINENAMES */
#if ACCESSOR_CALLS_ARE_FUNCTIONS
- /* Getters */
- /*
- * GetMenuID()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MenuID)
- GetMenuID(MenuRef menu);
-
-
- /*
- * GetMenuWidth()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetMenuWidth(MenuRef menu);
-
-
- /*
- * GetMenuHeight()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- GetMenuHeight(MenuRef menu);
-
-
- /*
- * GetMenuTitle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringPtr)
- GetMenuTitle(
- MenuRef menu,
- Str255 title);
-
-
- /*
- * GetMenuDefinition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetMenuDefinition(
- MenuRef menu,
- MenuDefSpecPtr outDefSpec);
-
-
- /* Setters */
- /*
- * SetMenuID()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetMenuID(
- MenuRef menu,
- MenuID menuID);
-
-
- /*
- * SetMenuWidth()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetMenuWidth(
- MenuRef menu,
- SInt16 width);
-
-
- /*
- * SetMenuHeight()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetMenuHeight(
- MenuRef menu,
- SInt16 height);
-
-
- /*
- * SetMenuTitle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuTitle(
- MenuRef menu,
- ConstStr255Param title);
-
-
- /*
- * SetMenuDefinition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetMenuDefinition(
- MenuRef menu,
- const MenuDefSpec * defSpec);
+/* Getters */
+/*
+ * GetMenuID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MenuID )
+GetMenuID(MenuRef menu);
+
+
+/*
+ * GetMenuWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetMenuWidth(MenuRef menu);
+
+
+/*
+ * GetMenuHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+GetMenuHeight(MenuRef menu);
+
+
+/*
+ * GetMenuTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringPtr )
+GetMenuTitle(
+ MenuRef menu,
+ Str255 title);
+
+
+/*
+ * GetMenuDefinition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetMenuDefinition(
+ MenuRef menu,
+ MenuDefSpecPtr outDefSpec);
+
+
+/* Setters */
+/*
+ * SetMenuID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetMenuID(
+ MenuRef menu,
+ MenuID menuID);
+
+
+/*
+ * SetMenuWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetMenuWidth(
+ MenuRef menu,
+ SInt16 width);
+
+
+/*
+ * SetMenuHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetMenuHeight(
+ MenuRef menu,
+ SInt16 height);
+
+
+/*
+ * SetMenuTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuTitle(
+ MenuRef menu,
+ ConstStr255Param title);
+
+
+/*
+ * SetMenuDefinition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetMenuDefinition(
+ MenuRef menu,
+ const MenuDefSpec * defSpec);
#endif /* ACCESSOR_CALLS_ARE_FUNCTIONS */
@@ -6059,11 +5977,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MixedMode.h b/include/qt/MixedMode.h
index dd900f713..daf79475d 100644
--- a/include/qt/MixedMode.h
+++ b/include/qt/MixedMode.h
@@ -1,17 +1,17 @@
/*
File: MixedMode.h
-
+
Contains: Mixed Mode Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MIXEDMODE__
#define __MIXEDMODE__
@@ -36,206 +36,189 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Mixed Mode constants */
- /* Current Routine Descriptor Version */
- enum {
- kRoutineDescriptorVersion = 7
- };
-
- /* MixedModeMagic Magic Cookie/Trap number */
- enum
- {
- _MixedModeMagic = 0xAAFE
- };
-
- /* MixedModeState Version for CFM68K Mixed Mode */
- enum
- {
- kCurrentMixedModeStateRecord = 1
- };
-
- /* Calling Conventions */
- typedef unsigned short CallingConventionType;
- enum
- {
- kPascalStackBased = 0,
- kCStackBased = 1,
- kRegisterBased = 2,
- kD0DispatchedPascalStackBased = 8,
- kD1DispatchedPascalStackBased = 12,
- kD0DispatchedCStackBased = 9,
- kStackDispatchedPascalStackBased = 14,
- kThinkCStackBased = 5
- };
-
- /* ISA Types */
- typedef SInt8 ISAType;
- enum
- {
- kM68kISA = 0,
- kPowerPCISA = 1
- };
-
- /* RTA Types */
- typedef SInt8 RTAType;
- enum
- {
- kOld68kRTA = 0 << 4,
- kPowerPCRTA = 0 << 4,
- kCFM68kRTA = 1 << 4
- };
+/* Mixed Mode constants */
+/* Current Routine Descriptor Version */
+enum {
+ kRoutineDescriptorVersion = 7
+};
+
+/* MixedModeMagic Magic Cookie/Trap number */
+enum {
+ _MixedModeMagic = 0xAAFE
+};
+
+/* MixedModeState Version for CFM68K Mixed Mode */
+enum {
+ kCurrentMixedModeStateRecord = 1
+};
+
+/* Calling Conventions */
+typedef unsigned short CallingConventionType;
+enum {
+ kPascalStackBased = 0,
+ kCStackBased = 1,
+ kRegisterBased = 2,
+ kD0DispatchedPascalStackBased = 8,
+ kD1DispatchedPascalStackBased = 12,
+ kD0DispatchedCStackBased = 9,
+ kStackDispatchedPascalStackBased = 14,
+ kThinkCStackBased = 5
+};
+
+/* ISA Types */
+typedef SInt8 ISAType;
+enum {
+ kM68kISA = 0,
+ kPowerPCISA = 1
+};
+
+/* RTA Types */
+typedef SInt8 RTAType;
+enum {
+ kOld68kRTA = 0 << 4,
+ kPowerPCRTA = 0 << 4,
+ kCFM68kRTA = 1 << 4
+};
#if TARGET_OS_MAC
-#if TARGET_CPU_PPC
-#define GetCurrentISA() ((ISAType) kPowerPCISA)
-#define GetCurrentRTA() ((RTAType) kPowerPCRTA)
-#elif TARGET_CPU_68K
-#define GetCurrentISA() ((ISAType) kM68kISA)
-#if TARGET_RT_MAC_CFM
-#define GetCurrentRTA() ((RTAType) kCFM68kRTA)
+ #if TARGET_CPU_PPC
+ #define GetCurrentISA() ((ISAType) kPowerPCISA)
+ #define GetCurrentRTA() ((RTAType) kPowerPCRTA)
+ #elif TARGET_CPU_68K
+ #define GetCurrentISA() ((ISAType) kM68kISA)
+ #if TARGET_RT_MAC_CFM
+ #define GetCurrentRTA() ((RTAType) kCFM68kRTA)
+ #else
+ #define GetCurrentRTA() ((RTAType) kOld68kRTA)
+ #endif
+
+ #endif
+ #define GetCurrentArchitecture() (GetCurrentISA() | GetCurrentRTA())
#else
-#define GetCurrentRTA() ((RTAType) kOld68kRTA)
+ #define GetCurrentArchitecture() 0
#endif
-#endif
-#define GetCurrentArchitecture() (GetCurrentISA() | GetCurrentRTA())
-#else
-#define GetCurrentArchitecture() 0
-#endif
-
- /* Constants for specifing 68k registers */
- enum
- {
- kRegisterD0 = 0,
- kRegisterD1 = 1,
- kRegisterD2 = 2,
- kRegisterD3 = 3,
- kRegisterD4 = 8,
- kRegisterD5 = 9,
- kRegisterD6 = 10,
- kRegisterD7 = 11,
- kRegisterA0 = 4,
- kRegisterA1 = 5,
- kRegisterA2 = 6,
- kRegisterA3 = 7,
- kRegisterA4 = 12,
- kRegisterA5 = 13,
- kRegisterA6 = 14, /* A7 is the same as the PowerPC SP */
- kCCRegisterCBit = 16,
- kCCRegisterVBit = 17,
- kCCRegisterZBit = 18,
- kCCRegisterNBit = 19,
- kCCRegisterXBit = 20
- };
-
- typedef unsigned short registerSelectorType;
- /* SizeCodes we use everywhere */
- enum
- {
- kNoByteCode = 0,
- kOneByteCode = 1,
- kTwoByteCode = 2,
- kFourByteCode = 3
- };
-
- /* Mixed Mode Routine Records */
- typedef unsigned long ProcInfoType;
- /* Routine Flag Bits */
- typedef unsigned short RoutineFlagsType;
- enum
- {
- kProcDescriptorIsAbsolute = 0x00,
- kProcDescriptorIsRelative = 0x01
- };
-
- enum
- {
- kFragmentIsPrepared = 0x00,
- kFragmentNeedsPreparing = 0x02
- };
-
- enum
- {
- kUseCurrentISA = 0x00,
- kUseNativeISA = 0x04
- };
-
- enum
- {
- kPassSelector = 0x00,
- kDontPassSelector = 0x08
- };
-
- enum
- {
- kRoutineIsNotDispatchedDefaultRoutine = 0x00,
- kRoutineIsDispatchedDefaultRoutine = 0x10
- };
-
- enum
- {
- kProcDescriptorIsProcPtr = 0x00,
- kProcDescriptorIsIndex = 0x20
- };
-
- struct RoutineRecord
- {
- ProcInfoType procInfo; /* calling conventions */
- SInt8 reserved1; /* Must be 0 */
- ISAType ISA; /* Instruction Set Architecture */
- RoutineFlagsType routineFlags; /* Flags for each routine */
- ProcPtr procDescriptor; /* Where is the thing we're calling? */
- UInt32 reserved2; /* Must be 0 */
- UInt32 selector; /* For dispatched routines, the selector */
- };
- typedef struct RoutineRecord RoutineRecord;
- typedef RoutineRecord * RoutineRecordPtr;
- typedef RoutineRecordPtr * RoutineRecordHandle;
- /* Mixed Mode Routine Descriptors */
- /* Definitions of the Routine Descriptor Flag Bits */
- typedef UInt8 RDFlagsType;
- enum
- {
- kSelectorsAreNotIndexable = 0x00,
- kSelectorsAreIndexable = 0x01
- };
-
- /* Routine Descriptor Structure */
- struct RoutineDescriptor
- {
- UInt16 goMixedModeTrap; /* Our A-Trap */
- SInt8 version; /* Current Routine Descriptor version */
- RDFlagsType routineDescriptorFlags; /* Routine Descriptor Flags */
- UInt32 reserved1; /* Unused, must be zero */
- UInt8 reserved2; /* Unused, must be zero */
- UInt8 selectorInfo; /* If a dispatched routine, calling convention, else 0 */
- UInt16 routineCount; /* Number of routines in this RD */
- RoutineRecord routineRecords[1]; /* The individual routines */
- };
- typedef struct RoutineDescriptor RoutineDescriptor;
- typedef RoutineDescriptor * RoutineDescriptorPtr;
- typedef RoutineDescriptorPtr * RoutineDescriptorHandle;
- /* 68K MixedModeStateRecord */
- struct MixedModeStateRecord
- {
- UInt32 state1;
- UInt32 state2;
- UInt32 state3;
- UInt32 state4;
- };
- typedef struct MixedModeStateRecord MixedModeStateRecord;
+/* Constants for specifing 68k registers */
+enum {
+ kRegisterD0 = 0,
+ kRegisterD1 = 1,
+ kRegisterD2 = 2,
+ kRegisterD3 = 3,
+ kRegisterD4 = 8,
+ kRegisterD5 = 9,
+ kRegisterD6 = 10,
+ kRegisterD7 = 11,
+ kRegisterA0 = 4,
+ kRegisterA1 = 5,
+ kRegisterA2 = 6,
+ kRegisterA3 = 7,
+ kRegisterA4 = 12,
+ kRegisterA5 = 13,
+ kRegisterA6 = 14, /* A7 is the same as the PowerPC SP */
+ kCCRegisterCBit = 16,
+ kCCRegisterVBit = 17,
+ kCCRegisterZBit = 18,
+ kCCRegisterNBit = 19,
+ kCCRegisterXBit = 20
+};
+
+typedef unsigned short registerSelectorType;
+/* SizeCodes we use everywhere */
+enum {
+ kNoByteCode = 0,
+ kOneByteCode = 1,
+ kTwoByteCode = 2,
+ kFourByteCode = 3
+};
+
+/* Mixed Mode Routine Records */
+typedef unsigned long ProcInfoType;
+/* Routine Flag Bits */
+typedef unsigned short RoutineFlagsType;
+enum {
+ kProcDescriptorIsAbsolute = 0x00,
+ kProcDescriptorIsRelative = 0x01
+};
+
+enum {
+ kFragmentIsPrepared = 0x00,
+ kFragmentNeedsPreparing = 0x02
+};
+
+enum {
+ kUseCurrentISA = 0x00,
+ kUseNativeISA = 0x04
+};
+
+enum {
+ kPassSelector = 0x00,
+ kDontPassSelector = 0x08
+};
+
+enum {
+ kRoutineIsNotDispatchedDefaultRoutine = 0x00,
+ kRoutineIsDispatchedDefaultRoutine = 0x10
+};
+
+enum {
+ kProcDescriptorIsProcPtr = 0x00,
+ kProcDescriptorIsIndex = 0x20
+};
+
+struct RoutineRecord {
+ ProcInfoType procInfo; /* calling conventions */
+ SInt8 reserved1; /* Must be 0 */
+ ISAType ISA; /* Instruction Set Architecture */
+ RoutineFlagsType routineFlags; /* Flags for each routine */
+ ProcPtr procDescriptor; /* Where is the thing we're calling? */
+ UInt32 reserved2; /* Must be 0 */
+ UInt32 selector; /* For dispatched routines, the selector */
+};
+typedef struct RoutineRecord RoutineRecord;
+typedef RoutineRecord * RoutineRecordPtr;
+typedef RoutineRecordPtr * RoutineRecordHandle;
+/* Mixed Mode Routine Descriptors */
+/* Definitions of the Routine Descriptor Flag Bits */
+typedef UInt8 RDFlagsType;
+enum {
+ kSelectorsAreNotIndexable = 0x00,
+ kSelectorsAreIndexable = 0x01
+};
+
+/* Routine Descriptor Structure */
+struct RoutineDescriptor {
+ UInt16 goMixedModeTrap; /* Our A-Trap */
+ SInt8 version; /* Current Routine Descriptor version */
+ RDFlagsType routineDescriptorFlags; /* Routine Descriptor Flags */
+ UInt32 reserved1; /* Unused, must be zero */
+ UInt8 reserved2; /* Unused, must be zero */
+ UInt8 selectorInfo; /* If a dispatched routine, calling convention, else 0 */
+ UInt16 routineCount; /* Number of routines in this RD */
+ RoutineRecord routineRecords[1]; /* The individual routines */
+};
+typedef struct RoutineDescriptor RoutineDescriptor;
+typedef RoutineDescriptor * RoutineDescriptorPtr;
+typedef RoutineDescriptorPtr * RoutineDescriptorHandle;
+/* 68K MixedModeStateRecord */
+struct MixedModeStateRecord {
+ UInt32 state1;
+ UInt32 state2;
+ UInt32 state3;
+ UInt32 state4;
+};
+typedef struct MixedModeStateRecord MixedModeStateRecord;
#if CALL_NOT_IN_CARBON
- /* Macros for building static Routine Descriptors (not available in Carbon) */
+/* Macros for building static Routine Descriptors (not available in Carbon) */
- /* A macro which creates a static instance of a non-dispatched routine descriptor */
+/* A macro which creates a static instance of a non-dispatched routine descriptor */
#define BUILD_ROUTINE_DESCRIPTOR(procInfo, procedure) \
{ \
_MixedModeMagic, /* Mixed Mode A-Trap */ \
@@ -260,7 +243,7 @@ extern "C" {
} \
}
- /* a macro which creates a static instance of a fat routine descriptor */
+/* a macro which creates a static instance of a fat routine descriptor */
#define BUILD_FAT_ROUTINE_DESCRIPTOR(m68kProcInfo, m68kProcPtr, powerPCProcInfo, powerPCProcPtr) \
{ \
_MixedModeMagic, /* Mixed Mode A-Trap */ \
@@ -297,227 +280,221 @@ extern "C" {
}
#endif /* CALL_NOT_IN_CARBON */
- /* Mixed Mode ProcInfos */
- enum
- {
- /* Calling Convention Offsets */
- kCallingConventionWidth = 4,
- kCallingConventionPhase = 0,
- kCallingConventionMask = 0x0F, /* Result Offsets */
- kResultSizeWidth = 2,
- kResultSizePhase = kCallingConventionWidth,
- kResultSizeMask = 0x30, /* Parameter offsets & widths */
- kStackParameterWidth = 2,
- kStackParameterPhase = (kCallingConventionWidth + kResultSizeWidth),
- kStackParameterMask = (long)0xFFFFFFC0, /* Register Result Location offsets & widths */
- kRegisterResultLocationWidth = 5,
- kRegisterResultLocationPhase = (kCallingConventionWidth + kResultSizeWidth), /* Register Parameter offsets & widths */
- kRegisterParameterWidth = 5,
- kRegisterParameterPhase = (kCallingConventionWidth + kResultSizeWidth + kRegisterResultLocationWidth),
- kRegisterParameterMask = 0x7FFFF800,
- kRegisterParameterSizePhase = 0,
- kRegisterParameterSizeWidth = 2,
- kRegisterParameterWhichPhase = kRegisterParameterSizeWidth,
- kRegisterParameterWhichWidth = 3, /* Dispatched Stack Routine Selector offsets & widths */
- kDispatchedSelectorSizeWidth = 2,
- kDispatchedSelectorSizePhase = (kCallingConventionWidth + kResultSizeWidth), /* Dispatched Stack Routine Parameter offsets */
- kDispatchedParameterPhase = (kCallingConventionWidth + kResultSizeWidth + kDispatchedSelectorSizeWidth), /* Special Case offsets & widths */
- kSpecialCaseSelectorWidth = 6,
- kSpecialCaseSelectorPhase = kCallingConventionWidth,
- kSpecialCaseSelectorMask = 0x03F0
- };
-
- enum
- {
- kSpecialCase = 0x000F /* (CallingConventionType) */
- };
-
- enum
- {
- /* all of the special cases enumerated. The selector field is 6 bits wide */
- kSpecialCaseHighHook = 0,
- kSpecialCaseCaretHook = 0, /* same as kSpecialCaseHighHook */
- kSpecialCaseEOLHook = 1,
- kSpecialCaseWidthHook = 2,
- kSpecialCaseTextWidthHook = 2, /* same as kSpecialCaseWidthHook */
- kSpecialCaseNWidthHook = 3,
- kSpecialCaseDrawHook = 4,
- kSpecialCaseHitTestHook = 5,
- kSpecialCaseTEFindWord = 6,
- kSpecialCaseProtocolHandler = 7,
- kSpecialCaseSocketListener = 8,
- kSpecialCaseTERecalc = 9,
- kSpecialCaseTEDoText = 10,
- kSpecialCaseGNEFilterProc = 11,
- kSpecialCaseMBarHook = 12
- };
-
-
- /*
- NOTES ON USING ROUTINE DESCRIPTOR FUNCTIONS
-
- When calling these routine from classic 68k code there are two possible intentions.
-
- The first is source compatibility with code ported to CFM (either PowerPC or 68k CFM). When
- the code is compiled for CFM the functions create routine descriptors that can be used by
- the mixed mode manager operating on that machine. When the code is compiled for classic 68k
- these functions do nothing so that the code will run on Macintoshes that do not have a
- mixed mode manager. The dual nature of these functions is achieved by turning the CFM calls
- into "no-op" macros for classic 68k: You can put "NewRoutineDescriptor" in your source,
- compile it for any runtime or instruction set architecture, and it will run correctly on the
- intended runtime/instruction platform. All without source changes and/or conditional source.
-
- The other intention is for code that "knows" that it is executing as classic 68k runtime
- and is specifically trying to call code of another architecture using mixed mode. Since the
- routines were designed with classic <-> CFM source compatibility in mind this second case
- is treated special. For classic 68k code to create routines descriptors for use by mixed mode
- it must call the "Trap" versions of the routines (NewRoutineDescriptorTrap). These versions
- are only available to classic 68k callers: rigging the interfaces to allow calling them
- from CFM code will result in runtime failure because no shared library implements or exports
- the functions.
-
-
- This almost appears seamless until you consider "fat" routine descriptors and the advent of
- CFM-68K. What does "fat" mean? CFM-68K is not emulated on PowerPC and PowerPC is not emulated
- on CFM-68K. It makes no sense to create a routine descriptor having both a CFM-68K routine
- and a PowerPC native routine pointer. Therefore "fat" is defined to be a mix of classic and
- CFM for the hardware's native instruction set: on PowerPC fat is classic and PowerPC native,
- on a 68k machine with CFM-68K installed fat is classic and CFM-68K.
-
- By definition fat routine descriptors are only constructed by code that is aware of the
- architecture it is executing as and that another architecture exists. Source compatibility
- between code intented as pure classic and pure CFM is not an issue and so NewFatRoutineDescriptor
- is not available when building pure classic code.
-
- NewFatRoutineDescriptorTrap is available to classic code on both PowerPC and CFM-68K. The
- classic code can use the code fragment manager routine "FindSymbol" to obtain the address of
- a routine in a shared library and then construct a routine descriptor with both the CFM routine
- and classic routine.
- */
+/* Mixed Mode ProcInfos */
+enum {
+ /* Calling Convention Offsets */
+ kCallingConventionWidth = 4,
+ kCallingConventionPhase = 0,
+ kCallingConventionMask = 0x0F, /* Result Offsets */
+ kResultSizeWidth = 2,
+ kResultSizePhase = kCallingConventionWidth,
+ kResultSizeMask = 0x30, /* Parameter offsets & widths */
+ kStackParameterWidth = 2,
+ kStackParameterPhase = (kCallingConventionWidth + kResultSizeWidth),
+ kStackParameterMask = (long)0xFFFFFFC0, /* Register Result Location offsets & widths */
+ kRegisterResultLocationWidth = 5,
+ kRegisterResultLocationPhase = (kCallingConventionWidth + kResultSizeWidth), /* Register Parameter offsets & widths */
+ kRegisterParameterWidth = 5,
+ kRegisterParameterPhase = (kCallingConventionWidth + kResultSizeWidth + kRegisterResultLocationWidth),
+ kRegisterParameterMask = 0x7FFFF800,
+ kRegisterParameterSizePhase = 0,
+ kRegisterParameterSizeWidth = 2,
+ kRegisterParameterWhichPhase = kRegisterParameterSizeWidth,
+ kRegisterParameterWhichWidth = 3, /* Dispatched Stack Routine Selector offsets & widths */
+ kDispatchedSelectorSizeWidth = 2,
+ kDispatchedSelectorSizePhase = (kCallingConventionWidth + kResultSizeWidth), /* Dispatched Stack Routine Parameter offsets */
+ kDispatchedParameterPhase = (kCallingConventionWidth + kResultSizeWidth + kDispatchedSelectorSizeWidth), /* Special Case offsets & widths */
+ kSpecialCaseSelectorWidth = 6,
+ kSpecialCaseSelectorPhase = kCallingConventionWidth,
+ kSpecialCaseSelectorMask = 0x03F0
+};
+
+enum {
+ kSpecialCase = 0x000F /* (CallingConventionType) */
+};
+
+enum {
+ /* all of the special cases enumerated. The selector field is 6 bits wide */
+ kSpecialCaseHighHook = 0,
+ kSpecialCaseCaretHook = 0, /* same as kSpecialCaseHighHook */
+ kSpecialCaseEOLHook = 1,
+ kSpecialCaseWidthHook = 2,
+ kSpecialCaseTextWidthHook = 2, /* same as kSpecialCaseWidthHook */
+ kSpecialCaseNWidthHook = 3,
+ kSpecialCaseDrawHook = 4,
+ kSpecialCaseHitTestHook = 5,
+ kSpecialCaseTEFindWord = 6,
+ kSpecialCaseProtocolHandler = 7,
+ kSpecialCaseSocketListener = 8,
+ kSpecialCaseTERecalc = 9,
+ kSpecialCaseTEDoText = 10,
+ kSpecialCaseGNEFilterProc = 11,
+ kSpecialCaseMBarHook = 12
+};
+
+
+/*
+ NOTES ON USING ROUTINE DESCRIPTOR FUNCTIONS
+
+ When calling these routine from classic 68k code there are two possible intentions.
+
+ The first is source compatibility with code ported to CFM (either PowerPC or 68k CFM). When
+ the code is compiled for CFM the functions create routine descriptors that can be used by
+ the mixed mode manager operating on that machine. When the code is compiled for classic 68k
+ these functions do nothing so that the code will run on Macintoshes that do not have a
+ mixed mode manager. The dual nature of these functions is achieved by turning the CFM calls
+ into "no-op" macros for classic 68k: You can put "NewRoutineDescriptor" in your source,
+ compile it for any runtime or instruction set architecture, and it will run correctly on the
+ intended runtime/instruction platform. All without source changes and/or conditional source.
+
+ The other intention is for code that "knows" that it is executing as classic 68k runtime
+ and is specifically trying to call code of another architecture using mixed mode. Since the
+ routines were designed with classic <-> CFM source compatibility in mind this second case
+ is treated special. For classic 68k code to create routines descriptors for use by mixed mode
+ it must call the "Trap" versions of the routines (NewRoutineDescriptorTrap). These versions
+ are only available to classic 68k callers: rigging the interfaces to allow calling them
+ from CFM code will result in runtime failure because no shared library implements or exports
+ the functions.
+
+
+ This almost appears seamless until you consider "fat" routine descriptors and the advent of
+ CFM-68K. What does "fat" mean? CFM-68K is not emulated on PowerPC and PowerPC is not emulated
+ on CFM-68K. It makes no sense to create a routine descriptor having both a CFM-68K routine
+ and a PowerPC native routine pointer. Therefore "fat" is defined to be a mix of classic and
+ CFM for the hardware's native instruction set: on PowerPC fat is classic and PowerPC native,
+ on a 68k machine with CFM-68K installed fat is classic and CFM-68K.
+
+ By definition fat routine descriptors are only constructed by code that is aware of the
+ architecture it is executing as and that another architecture exists. Source compatibility
+ between code intented as pure classic and pure CFM is not an issue and so NewFatRoutineDescriptor
+ is not available when building pure classic code.
+
+ NewFatRoutineDescriptorTrap is available to classic code on both PowerPC and CFM-68K. The
+ classic code can use the code fragment manager routine "FindSymbol" to obtain the address of
+ a routine in a shared library and then construct a routine descriptor with both the CFM routine
+ and classic routine.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * NewRoutineDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later or as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UniversalProcPtr)
- NewRoutineDescriptor(
- ProcPtr theProc,
- ProcInfoType theProcInfo,
- ISAType theISA);
+/*
+ * NewRoutineDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later or as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UniversalProcPtr )
+NewRoutineDescriptor(
+ ProcPtr theProc,
+ ProcInfoType theProcInfo,
+ ISAType theISA);
#if !TARGET_OS_MAC || !TARGET_RT_MAC_CFM
-#ifdef __cplusplus
- inline DEFINE_API_C(UniversalProcPtr) NewRoutineDescriptor(ProcPtr theProc, ProcInfoType , ISAType)
- {
- return (UniversalProcPtr)theProc;
- }
-#else
-#define NewRoutineDescriptor(theProc, theProcInfo, theISA) ((UniversalProcPtr)theProc)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UniversalProcPtr ) NewRoutineDescriptor(ProcPtr theProc, ProcInfoType , ISAType ) { return (UniversalProcPtr)theProc; }
+ #else
+ #define NewRoutineDescriptor(theProc, theProcInfo, theISA) ((UniversalProcPtr)theProc)
+ #endif
#endif
-#if TARGET_OS_MAC && TARGET_RT_MAC_CFM
-#define NewRoutineDescriptor(theProc, procInfo, isa) ((UniversalProcPtr) theProc)
-#endif
-
+ #if TARGET_OS_MAC && TARGET_RT_MAC_CFM
+ #define NewRoutineDescriptor(theProc, procInfo, isa) ((UniversalProcPtr) theProc)
+ #endif
+
- /*
- * DisposeRoutineDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later or as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeRoutineDescriptor(UniversalProcPtr theUPP);
+/*
+ * DisposeRoutineDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later or as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeRoutineDescriptor(UniversalProcPtr theUPP);
#if !TARGET_OS_MAC || !TARGET_RT_MAC_CFM
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeRoutineDescriptor(UniversalProcPtr) {}
-#else
-#define DisposeRoutineDescriptor(theUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeRoutineDescriptor(UniversalProcPtr ) {}
+ #else
+ #define DisposeRoutineDescriptor(theUPP)
+ #endif
#endif
-#if TARGET_OS_MAC && TARGET_RT_MAC_CFM
-#define DisposeRoutineDescriptor(upp)
-#endif
-
+ #if TARGET_OS_MAC && TARGET_RT_MAC_CFM
+ #define DisposeRoutineDescriptor(upp)
+ #endif
+
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * NewFatRoutineDescriptor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr)
- NewFatRoutineDescriptor(
- ProcPtr theM68kProc,
- ProcPtr thePowerPCProc,
- ProcInfoType theProcInfo);
+/*
+ * NewFatRoutineDescriptor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr )
+NewFatRoutineDescriptor(
+ ProcPtr theM68kProc,
+ ProcPtr thePowerPCProc,
+ ProcInfoType theProcInfo);
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
- /*
- The "Trap" versions of the MixedMode calls are only for classic 68K clients that
- want to load and use CFM based code.
- */
+/*
+ The "Trap" versions of the MixedMode calls are only for classic 68K clients that
+ want to load and use CFM based code.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * NewRoutineDescriptorTrap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr)
- NewRoutineDescriptorTrap(
- ProcPtr theProc,
- ProcInfoType theProcInfo,
- ISAType theISA) TWOWORDINLINE(0x7000, 0xAA59);
-
-
- /*
- * DisposeRoutineDescriptorTrap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- DisposeRoutineDescriptorTrap(UniversalProcPtr theProcPtr) TWOWORDINLINE(0x7001, 0xAA59);
-
-
- /*
- * NewFatRoutineDescriptorTrap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr)
- NewFatRoutineDescriptorTrap(
- ProcPtr theM68kProc,
- ProcPtr thePowerPCProc,
- ProcInfoType theProcInfo) TWOWORDINLINE(0x7002, 0xAA59);
+/*
+ * NewRoutineDescriptorTrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr )
+NewRoutineDescriptorTrap(
+ ProcPtr theProc,
+ ProcInfoType theProcInfo,
+ ISAType theISA) TWOWORDINLINE(0x7000, 0xAA59);
+
+
+/*
+ * DisposeRoutineDescriptorTrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+DisposeRoutineDescriptorTrap(UniversalProcPtr theProcPtr) TWOWORDINLINE(0x7001, 0xAA59);
+
+
+/*
+ * NewFatRoutineDescriptorTrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr )
+NewFatRoutineDescriptorTrap(
+ ProcPtr theM68kProc,
+ ProcPtr thePowerPCProc,
+ ProcInfoType theProcInfo) TWOWORDINLINE(0x7002, 0xAA59);
#endif /* CALL_NOT_IN_CARBON */
@@ -525,40 +502,40 @@ extern "C" {
#endif /* TARGET_CPU_68K && !TARGET_RT_MAC_CFM */
#if !TARGET_CPU_68K || TARGET_RT_MAC_CFM
- /*
- CallUniversalProc is defined for all targets except classic 68k code. This will
- catch accidental calls from classic 68K code that previously only showed up as
- linker errors.
- */
+/*
+ CallUniversalProc is defined for all targets except classic 68k code. This will
+ catch accidental calls from classic 68K code that previously only showed up as
+ linker errors.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * CallUniversalProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- CallUniversalProc(
- UniversalProcPtr theProcPtr,
- ProcInfoType procInfo,
- ...);
-
-
- /*
- * CallOSTrapUniversalProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- CallOSTrapUniversalProc(
- UniversalProcPtr theProcPtr,
- ProcInfoType procInfo,
- ...);
+/*
+ * CallUniversalProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+CallUniversalProc(
+ UniversalProcPtr theProcPtr,
+ ProcInfoType procInfo,
+ ...);
+
+
+/*
+ * CallOSTrapUniversalProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+CallOSTrapUniversalProc(
+ UniversalProcPtr theProcPtr,
+ ProcInfoType procInfo,
+ ...);
#endif /* CALL_NOT_IN_CARBON */
@@ -567,252 +544,252 @@ extern "C" {
#if TARGET_CPU_68K
#if CALL_NOT_IN_CARBON
- /*
- * SaveMixedModeState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SaveMixedModeState(
- MixedModeStateRecord * stateStorage,
- UInt32 stateVersion) TWOWORDINLINE(0x7003, 0xAA59);
-
-
- /*
- * RestoreMixedModeState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- RestoreMixedModeState(
- MixedModeStateRecord * stateStorage,
- UInt32 stateVersion) TWOWORDINLINE(0x7004, 0xAA59);
+/*
+ * SaveMixedModeState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SaveMixedModeState(
+ MixedModeStateRecord * stateStorage,
+ UInt32 stateVersion) TWOWORDINLINE(0x7003, 0xAA59);
+
+
+/*
+ * RestoreMixedModeState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+RestoreMixedModeState(
+ MixedModeStateRecord * stateStorage,
+ UInt32 stateVersion) TWOWORDINLINE(0x7004, 0xAA59);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_CPU_68K */
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Macros for building ProcInfos. Examples:
- *
- *
- * uppModalFilterProcInfo = kPascalStackBased
- * | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- * | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DialogRef)))
- * | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(EventRecord*)))
- * | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short*))),
- *
- * uppDeskHookProcInfo = kRegisterBased
- * | REGISTER_ROUTINE_PARAMETER(1, kRegisterD0, SIZE_CODE(sizeof(Boolean)))
- * | REGISTER_ROUTINE_PARAMETER(2, kRegisterA0, SIZE_CODE(sizeof(EventRecord*)))
- *
- * uppGXSpoolResourceProcInfo = kCStackBased
- * | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
- * | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
- * | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle)))
- * | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ResType)))
- * | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long)))
- *
- * uppTEFindWordProcInfo = SPECIAL_CASE_PROCINFO( 6 ),
- *
- */
-
-
- /* * * * * * * * * * * * * *
- * SIZE_CODE - Return the size code for an object, given its size in bytes.
- * size - size of an object in bytes
- */
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Macros for building ProcInfos. Examples:
+ *
+ *
+ * uppModalFilterProcInfo = kPascalStackBased
+ * | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
+ * | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DialogRef)))
+ * | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(EventRecord*)))
+ * | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short*))),
+ *
+ * uppDeskHookProcInfo = kRegisterBased
+ * | REGISTER_ROUTINE_PARAMETER(1, kRegisterD0, SIZE_CODE(sizeof(Boolean)))
+ * | REGISTER_ROUTINE_PARAMETER(2, kRegisterA0, SIZE_CODE(sizeof(EventRecord*)))
+ *
+ * uppGXSpoolResourceProcInfo = kCStackBased
+ * | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
+ * | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(gxSpoolFile)))
+ * | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle)))
+ * | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ResType)))
+ * | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long)))
+ *
+ * uppTEFindWordProcInfo = SPECIAL_CASE_PROCINFO( 6 ),
+ *
+ */
+
+
+/* * * * * * * * * * * * * *
+ * SIZE_CODE - Return the size code for an object, given its size in bytes.
+ * size - size of an object in bytes
+ */
#define SIZE_CODE(size) \
(((size) == 4) ? kFourByteCode : (((size) == 2) ? kTwoByteCode : (((size) == 1) ? kOneByteCode : 0)))
- /* * * * * * * * * * * * * *
- * RESULT_SIZE - Return the result field of a ProcInfo, given the return objectÕs size.
- * This is the same for all ProcInfos
- * sizeCode - size code
- */
+/* * * * * * * * * * * * * *
+ * RESULT_SIZE - Return the result field of a ProcInfo, given the return objectÕs size.
+ * This is the same for all ProcInfos
+ * sizeCode - size code
+ */
#define RESULT_SIZE(sizeCode) \
((ProcInfoType)(sizeCode) << kResultSizePhase)
- /* * * * * * * * * * * * * *
- * STACK_ROUTINE_PARAMETER - Return a parameter field of a ProcInfo, for a simple,
- * non-dispatched, stack based routine.
- * whichParam - which parameter
- * sizeCode - size code
- */
+/* * * * * * * * * * * * * *
+ * STACK_ROUTINE_PARAMETER - Return a parameter field of a ProcInfo, for a simple,
+ * non-dispatched, stack based routine.
+ * whichParam - which parameter
+ * sizeCode - size code
+ */
#define STACK_ROUTINE_PARAMETER(whichParam, sizeCode) \
((ProcInfoType)(sizeCode) << (kStackParameterPhase + (((whichParam) - 1) * kStackParameterWidth)))
- /* * * * * * * * * * * * * *
- * DISPATCHED_STACK_ROUTINE_PARAMETER - Return a parameter field of a ProcInfo, for
- * a dispatched, stack based routine. The same
- * macro is used regardless of the type of
- * dispatching.
- * whichParam - which parameter
- * sizeCode - size code
- */
+/* * * * * * * * * * * * * *
+ * DISPATCHED_STACK_ROUTINE_PARAMETER - Return a parameter field of a ProcInfo, for
+ * a dispatched, stack based routine. The same
+ * macro is used regardless of the type of
+ * dispatching.
+ * whichParam - which parameter
+ * sizeCode - size code
+ */
#define DISPATCHED_STACK_ROUTINE_PARAMETER(whichParam, sizeCode) \
((ProcInfoType)(sizeCode) << (kDispatchedParameterPhase + (((whichParam) - 1) * kStackParameterWidth)))
- /* * * * * * * * * * * * * *
- * DISPATCHED_STACK_ROUTINE_SELECTOR_SIZE - Return a the selector size field of a ProcInfo
- * for a dispatched, stack based routine. The
- * same macro is used regardless of the type of
- * dispatching.
- * sizeCode - size code
- */
+/* * * * * * * * * * * * * *
+ * DISPATCHED_STACK_ROUTINE_SELECTOR_SIZE - Return a the selector size field of a ProcInfo
+ * for a dispatched, stack based routine. The
+ * same macro is used regardless of the type of
+ * dispatching.
+ * sizeCode - size code
+ */
#define DISPATCHED_STACK_ROUTINE_SELECTOR_SIZE(sizeCode) \
((ProcInfoType)(sizeCode) << kDispatchedSelectorSizePhase)
- /* * * * * * * * * * * * * *
- * REGISTER_RESULT_LOCATION - Return the Result Location field of a ProcInfo,
- * given the location.
- * whichReg - which register
- */
+/* * * * * * * * * * * * * *
+ * REGISTER_RESULT_LOCATION - Return the Result Location field of a ProcInfo,
+ * given the location.
+ * whichReg - which register
+ */
#define REGISTER_RESULT_LOCATION(whichReg) \
((ProcInfoType)(whichReg) << kRegisterResultLocationPhase)
- /* * * * * * * * * * * * * *
- * REGISTER_ROUTINE_PARAMETER - Return a parameter field of a ProcInfo for a
- * register based routine.
- */
+/* * * * * * * * * * * * * *
+ * REGISTER_ROUTINE_PARAMETER - Return a parameter field of a ProcInfo for a
+ * register based routine.
+ */
#define REGISTER_ROUTINE_PARAMETER(whichParam, whichReg, sizeCode) \
((((ProcInfoType)(sizeCode) << kRegisterParameterSizePhase) | ((ProcInfoType)(whichReg) << kRegisterParameterWhichPhase)) << \
(kRegisterParameterPhase + (((whichParam) - 1) * kRegisterParameterWidth)))
- /* * * * * * * * * * * * * *
- *
- * SPECIAL_CASE_PROCINFO - Returns the procInfo constant for the following special cases:
- *
- * High Hook & Caret Hook - (see I-379)
- * C calling conventions, Rect on stack, pointer in A3, no return value
- * EOL Hook - (see VI-15-26)
- * Register-based; inputs in D0, A3, A4;
- * output is Z flag of status register
- * Width Hook - (see VI-15-27)
- * Register-based; inputs in D0, D1, A0, A3, A4; output in D1
- * NWidth Hook - (see VI-15-27)
- * Register-based; inputs in D0, D1, D2, A0, A2, A3, A4; output in D1
- * TextWidthHook - (see VI-15-28)
- * Register-based; inputs in D0, D1, A0, A3, A4; output in D1
- * DrawHook - (see VI-15-28)
- * Register-based; inputs in D0, D1, A0, A3, A4; no output
- * HitTestHook - (See VI-15-29)
- * Register-based; inputs in D0, D1, D2, A0, A3, A4; outputs in D0, D1, D2
- * FindWord - (see VI-15-30)
- * Register-based; inputs in D0, D2, A3, A4; outputs in D0, D1
- * ADBRoutines - (see V-371)
- * Register-based; inputs in A0, A1, A2, D0; no outputs
- * ProtocolHandler - (see II-326)
- * Register-based; inputs in A0, A1, A2, A3, A4, D1.w; output in Z
- * SocketListener - (see II-329)
- * Register-based; inputs in A0, A1, A2, A3, A4, D0.b, D1.w; output in Z
- * Reclac - (see I-391)
- * Register-based; inputs in A3, D7; outputs in D2, D3, D4
- * DoText - (see I-391)
- * Register-based; inputs in A3, D3, D4, D7; outputs in A0, D0
- * GNEFilterProc - (see tech note 85)
- * Register & Stack Based; inputs in A1, D0 & on the stack; outputs on the stack
- * MenuBarHook - (see I-356)
- * Register & Stack Based; input on the stack; output in D0
- */
+/* * * * * * * * * * * * * *
+ *
+ * SPECIAL_CASE_PROCINFO - Returns the procInfo constant for the following special cases:
+ *
+ * High Hook & Caret Hook - (see I-379)
+ * C calling conventions, Rect on stack, pointer in A3, no return value
+ * EOL Hook - (see VI-15-26)
+ * Register-based; inputs in D0, A3, A4;
+ * output is Z flag of status register
+ * Width Hook - (see VI-15-27)
+ * Register-based; inputs in D0, D1, A0, A3, A4; output in D1
+ * NWidth Hook - (see VI-15-27)
+ * Register-based; inputs in D0, D1, D2, A0, A2, A3, A4; output in D1
+ * TextWidthHook - (see VI-15-28)
+ * Register-based; inputs in D0, D1, A0, A3, A4; output in D1
+ * DrawHook - (see VI-15-28)
+ * Register-based; inputs in D0, D1, A0, A3, A4; no output
+ * HitTestHook - (See VI-15-29)
+ * Register-based; inputs in D0, D1, D2, A0, A3, A4; outputs in D0, D1, D2
+ * FindWord - (see VI-15-30)
+ * Register-based; inputs in D0, D2, A3, A4; outputs in D0, D1
+ * ADBRoutines - (see V-371)
+ * Register-based; inputs in A0, A1, A2, D0; no outputs
+ * ProtocolHandler - (see II-326)
+ * Register-based; inputs in A0, A1, A2, A3, A4, D1.w; output in Z
+ * SocketListener - (see II-329)
+ * Register-based; inputs in A0, A1, A2, A3, A4, D0.b, D1.w; output in Z
+ * Reclac - (see I-391)
+ * Register-based; inputs in A3, D7; outputs in D2, D3, D4
+ * DoText - (see I-391)
+ * Register-based; inputs in A3, D3, D4, D7; outputs in A0, D0
+ * GNEFilterProc - (see tech note 85)
+ * Register & Stack Based; inputs in A1, D0 & on the stack; outputs on the stack
+ * MenuBarHook - (see I-356)
+ * Register & Stack Based; input on the stack; output in D0
+*/
#define SPECIAL_CASE_PROCINFO(specialCaseCode) \
(kSpecialCase | ((ProcInfoType)(specialCaseCode) << 4))
- /* * * * * * * * * * * * * * *
- * STACK_UPP_TYPE - used in typedefs to create ÅUPP type
- * REGISTER_UPP_TYPE - used in typedefs to create ÅUPP type
- * TVECTOR_UPP_TYPE - used in typedefs to create ÅUPP type
- *
- * Example:
- *
- * typedef STACK_UPP_TYPE(ModalFilterProcPtr) ModalFilterUPP;
- * typedef REGISTER_UPP_TYPE(IOCompletionProcPtr) IOCompletionUPP;
- *
- */
+/* * * * * * * * * * * * * * *
+ * STACK_UPP_TYPE - used in typedefs to create ÅUPP type
+ * REGISTER_UPP_TYPE - used in typedefs to create ÅUPP type
+ * TVECTOR_UPP_TYPE - used in typedefs to create ÅUPP type
+ *
+ * Example:
+ *
+ * typedef STACK_UPP_TYPE(ModalFilterProcPtr) ModalFilterUPP;
+ * typedef REGISTER_UPP_TYPE(IOCompletionProcPtr) IOCompletionUPP;
+ *
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
- /* classic 68k runtime */
-#define STACK_UPP_TYPE(name) name
-#define REGISTER_UPP_TYPE(name) Register68kProcPtr
-#define TVECTOR_UPP_TYPE(name) name
+ /* classic 68k runtime */
+ #define STACK_UPP_TYPE(name) name
+ #define REGISTER_UPP_TYPE(name) Register68kProcPtr
+ #define TVECTOR_UPP_TYPE(name) name
#elif TARGET_OS_MAC && TARGET_RT_MAC_CFM
- /* PowerPC and CFM68K runtime */
-#if OPAQUE_UPP_TYPES
-#define STACK_UPP_TYPE(name) struct Opaque##name##*
-#define REGISTER_UPP_TYPE(name) struct Opaque##name##*
-#define TVECTOR_UPP_TYPE(name) struct Opaque##name##*
-#else
-#define STACK_UPP_TYPE(name) UniversalProcPtr
-#define REGISTER_UPP_TYPE(name) UniversalProcPtr
-#define TVECTOR_UPP_TYPE(name) name
-#endif
+ /* PowerPC and CFM68K runtime */
+ #if OPAQUE_UPP_TYPES
+ #define STACK_UPP_TYPE(name) struct Opaque##name##*
+ #define REGISTER_UPP_TYPE(name) struct Opaque##name##*
+ #define TVECTOR_UPP_TYPE(name) struct Opaque##name##*
+ #else
+ #define STACK_UPP_TYPE(name) UniversalProcPtr
+ #define REGISTER_UPP_TYPE(name) UniversalProcPtr
+ #define TVECTOR_UPP_TYPE(name) name
+ #endif
#elif TARGET_OS_MAC && TARGET_RT_MAC_MACHO
- /* Mac OS X runtime */
-#define STACK_UPP_TYPE(name) name
-#define REGISTER_UPP_TYPE(name) name
-#define TVECTOR_UPP_TYPE(name) name
+ /* Mac OS X runtime */
+ #define STACK_UPP_TYPE(name) name
+ #define REGISTER_UPP_TYPE(name) name
+ #define TVECTOR_UPP_TYPE(name) name
#else
- /* other runtimes */
-#define STACK_UPP_TYPE(name) name
-#define REGISTER_UPP_TYPE(name) name
-#define TVECTOR_UPP_TYPE(name) name
+ /* other runtimes */
+ #define STACK_UPP_TYPE(name) name
+ #define REGISTER_UPP_TYPE(name) name
+ #define TVECTOR_UPP_TYPE(name) name
#endif
- /* * * * * * * * * * * * * * *
- * CALL_Å_PARAMETER_UPP - used in CallÅProc macros
- *
- * Example:
- *
- * #define CallIOCompletionProc(userRoutine, paramBlock) \
- * CALL_TWO_PARAMETER_UPP((userRoutine), uppIOCompletionProcInfo, (paramBlock))
- *
- */
+/* * * * * * * * * * * * * * *
+ * CALL_Å_PARAMETER_UPP - used in CallÅProc macros
+ *
+ * Example:
+ *
+ * #define CallIOCompletionProc(userRoutine, paramBlock) \
+ * CALL_TWO_PARAMETER_UPP((userRoutine), uppIOCompletionProcInfo, (paramBlock))
+ *
+ */
#if TARGET_OS_MAC && TARGET_RT_MAC_CFM
-#define CALL_ZERO_PARAMETER_UPP( upp, procInfo) CallUniversalProc(upp, procInfo)
-#define CALL_ONE_PARAMETER_UPP( upp, procInfo, p1) CallUniversalProc(upp, procInfo, (p1))
-#define CALL_TWO_PARAMETER_UPP( upp, procInfo, p1, p2) CallUniversalProc(upp, procInfo, (p1), (p2))
-#define CALL_THREE_PARAMETER_UPP( upp, procInfo, p1, p2, p3) CallUniversalProc(upp, procInfo, (p1), (p2), (p3))
-#define CALL_FOUR_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4))
-#define CALL_FIVE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5))
-#define CALL_SIX_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6))
-#define CALL_SEVEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7))
-#define CALL_EIGHT_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8))
-#define CALL_NINE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9))
-#define CALL_TEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10))
-#define CALL_ELEVEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11))
-#define CALL_TWELVE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11), (p12))
-#define CALL_THIRTEEN_PARAMETER_UPP(upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11), (p12), (p13))
+ #define CALL_ZERO_PARAMETER_UPP( upp, procInfo) CallUniversalProc(upp, procInfo)
+ #define CALL_ONE_PARAMETER_UPP( upp, procInfo, p1) CallUniversalProc(upp, procInfo, (p1))
+ #define CALL_TWO_PARAMETER_UPP( upp, procInfo, p1, p2) CallUniversalProc(upp, procInfo, (p1), (p2))
+ #define CALL_THREE_PARAMETER_UPP( upp, procInfo, p1, p2, p3) CallUniversalProc(upp, procInfo, (p1), (p2), (p3))
+ #define CALL_FOUR_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4))
+ #define CALL_FIVE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5))
+ #define CALL_SIX_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6))
+ #define CALL_SEVEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7))
+ #define CALL_EIGHT_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8))
+ #define CALL_NINE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9))
+ #define CALL_TEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10))
+ #define CALL_ELEVEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11))
+ #define CALL_TWELVE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11), (p12))
+ #define CALL_THIRTEEN_PARAMETER_UPP(upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13) CallUniversalProc(upp, procInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11), (p12), (p13))
#else
-#define CALL_ZERO_PARAMETER_UPP( upp, procInfo) (*(upp))()
-#define CALL_ONE_PARAMETER_UPP( upp, procInfo, p1) (*(upp))((p1))
-#define CALL_TWO_PARAMETER_UPP( upp, procInfo, p1, p2) (*(upp))((p1), (p2))
-#define CALL_THREE_PARAMETER_UPP( upp, procInfo, p1, p2, p3) (*(upp))((p1), (p2), (p3))
-#define CALL_FOUR_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4) (*(upp))((p1), (p2), (p3), (p4))
-#define CALL_FIVE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5) (*(upp))((p1), (p2), (p3), (p4), (p5))
-#define CALL_SIX_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6))
-#define CALL_SEVEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7))
-#define CALL_EIGHT_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8))
-#define CALL_NINE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9))
-#define CALL_TEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10))
-#define CALL_ELEVEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11))
-#define CALL_TWELVE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11), (p12))
-#define CALL_THIRTEEN_PARAMETER_UPP(upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11), (p12), (p13))
+ #define CALL_ZERO_PARAMETER_UPP( upp, procInfo) (*(upp))()
+ #define CALL_ONE_PARAMETER_UPP( upp, procInfo, p1) (*(upp))((p1))
+ #define CALL_TWO_PARAMETER_UPP( upp, procInfo, p1, p2) (*(upp))((p1), (p2))
+ #define CALL_THREE_PARAMETER_UPP( upp, procInfo, p1, p2, p3) (*(upp))((p1), (p2), (p3))
+ #define CALL_FOUR_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4) (*(upp))((p1), (p2), (p3), (p4))
+ #define CALL_FIVE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5) (*(upp))((p1), (p2), (p3), (p4), (p5))
+ #define CALL_SIX_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6))
+ #define CALL_SEVEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7))
+ #define CALL_EIGHT_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8))
+ #define CALL_NINE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9))
+ #define CALL_TEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10))
+ #define CALL_ELEVEN_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11))
+ #define CALL_TWELVE_PARAMETER_UPP( upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11), (p12))
+ #define CALL_THIRTEEN_PARAMETER_UPP(upp, procInfo, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13) (*(upp))((p1), (p2), (p3), (p4), (p5), (p6), (p7), (p8), (p9), (p10), (p11), (p12), (p13))
#endif
@@ -820,11 +797,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Movies.h b/include/qt/Movies.h
index ee5bfe972..fbc812734 100644
--- a/include/qt/Movies.h
+++ b/include/qt/Movies.h
@@ -1,40 +1,40 @@
/*
File: Movies.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 by Apple Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
/*
Important note regarding availability macros
============================================
-
- QuickTime APIs that were introduced in QuickTime 6.0 and later are tagged with
- availability macros indicating the first Mac OS X version in which they were
- *always* available. Such APIs may also be present on systems running earlier
+
+ QuickTime APIs that were introduced in QuickTime 6.0 and later are tagged with
+ availability macros indicating the first Mac OS X version in which they were
+ *always* available. Such APIs may also be present on systems running earlier
Mac OS X releases when QuickTime updates have been installed.
-
+
For example, QTNewDataReferenceFromCFURL was introduced in QuickTime 6.4.
It is always available on Mac OS X 10.3, which shipped with QuickTime 6.4.
However, QuickTime 6.4 can also be installed as an update to Mac OS X 10.2.x,
- so QTNewDataReferenceFromCFURL is also available on some systems running
+ so QTNewDataReferenceFromCFURL is also available on some systems running
Mac OS X 10.2.x.
-
+
QuickTime 6.0 / Mac OS X 10.2 : AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
QuickTime 6.4 / Mac OS X 10.3 : AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
QuickTime 7.0 / Mac OS X 10.4 : AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
QuickTime 7.2 / Mac OS X 10.5 : AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
-
+
As described in /usr/include/AvailabilityMacros.h, you can use the
- MAC_OS_X_VERSION_MIN_REQUIRED macro to weak-link to the APIs that may not be
+ MAC_OS_X_VERSION_MIN_REQUIRED macro to weak-link to the APIs that may not be
available on the Mac OS X versions your software targets.
*/
#ifndef __MOVIES__
@@ -88,13934 +88,13595 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
#include "CoreAudioTypes.h"
- typedef UInt32 AudioUnitRenderActionFlags;
- /* This sets the user defined exportset name i.e. fw_QuickTime_XManchego, available on 10.5 or later, and comment [4486184] */
- /* NOTE: Requires Interfacer-35 or later */
- /* <exportset=fw_QuickTime_XManchego> */
- /* <exportset=fw_QuickTime_XMaguro> */
-
- /* "kFix1" is defined in FixMath as "fixed1" */
- /* error codes are in Errors.[haa] */
- /* gestalt codes are in Gestalt.[hpa] */
- enum
- {
- MovieFileType = FOUR_CHAR_CODE('MooV'),
- MovieScrapType = FOUR_CHAR_CODE('moov')
- };
-
- enum
- {
- MovieResourceType = FOUR_CHAR_CODE('moov'),
- MovieForwardPointerResourceType = FOUR_CHAR_CODE('fore'),
- MovieBackwardPointerResourceType = FOUR_CHAR_CODE('back')
- };
-
- enum
- {
- MovieResourceAtomType = FOUR_CHAR_CODE('moov'),
- MovieDataAtomType = FOUR_CHAR_CODE('mdat'),
- FreeAtomType = FOUR_CHAR_CODE('free'),
- SkipAtomType = FOUR_CHAR_CODE('skip'),
- WideAtomPlaceholderType = FOUR_CHAR_CODE('wide')
- };
-
- enum
- {
- MediaHandlerType = FOUR_CHAR_CODE('mhlr'),
- DataHandlerType = FOUR_CHAR_CODE('dhlr')
- };
-
- enum
- {
- VideoMediaType = FOUR_CHAR_CODE('vide'),
- SoundMediaType = FOUR_CHAR_CODE('soun'),
- TextMediaType = FOUR_CHAR_CODE('text'),
- BaseMediaType = FOUR_CHAR_CODE('gnrc'),
- MPEGMediaType = FOUR_CHAR_CODE('MPEG'),
- MusicMediaType = FOUR_CHAR_CODE('musi'),
- TimeCodeMediaType = FOUR_CHAR_CODE('tmcd'),
- SpriteMediaType = FOUR_CHAR_CODE('sprt'),
- FlashMediaType = FOUR_CHAR_CODE('flsh'),
- MovieMediaType = FOUR_CHAR_CODE('moov'),
- TweenMediaType = FOUR_CHAR_CODE('twen'),
- ThreeDeeMediaType = FOUR_CHAR_CODE('qd3d'),
- SkinMediaType = FOUR_CHAR_CODE('skin'),
- HandleDataHandlerSubType = FOUR_CHAR_CODE('hndl'),
- PointerDataHandlerSubType = FOUR_CHAR_CODE('ptr '),
- NullDataHandlerSubType = FOUR_CHAR_CODE('null'),
- ResourceDataHandlerSubType = FOUR_CHAR_CODE('rsrc'),
- URLDataHandlerSubType = FOUR_CHAR_CODE('url '),
- AliasDataHandlerSubType = FOUR_CHAR_CODE('alis'),
- WiredActionHandlerType = FOUR_CHAR_CODE('wire'),
- kQTQuartzComposerMediaType = FOUR_CHAR_CODE('qtz '),
- TimeCode64MediaType = FOUR_CHAR_CODE('tc64')
- };
-
- enum
- {
- VisualMediaCharacteristic = FOUR_CHAR_CODE('eyes'),
- AudioMediaCharacteristic = FOUR_CHAR_CODE('ears'),
- kCharacteristicCanSendVideo = FOUR_CHAR_CODE('vsnd'),
- kCharacteristicProvidesActions = FOUR_CHAR_CODE('actn'),
- kCharacteristicNonLinear = FOUR_CHAR_CODE('nonl'),
- kCharacteristicCanStep = FOUR_CHAR_CODE('step'),
- kCharacteristicHasNoDuration = FOUR_CHAR_CODE('noti'),
- kCharacteristicHasSkinData = FOUR_CHAR_CODE('skin'),
- kCharacteristicProvidesKeyFocus = FOUR_CHAR_CODE('keyf'),
- kCharacteristicSupportsDisplayOffsets = FOUR_CHAR_CODE('dtdd')
- };
-
- enum
- {
- kUserDataMovieControllerType = FOUR_CHAR_CODE('ctyp'),
- kUserDataName = FOUR_CHAR_CODE('name'),
- kUserDataTextAlbum = 0xA9616C62,
- kUserDataTextArtist = 0xA9415254,
- kUserDataTextAuthor = 0xA9617574,
- kUserDataTextChapter = 0xA9636870,
- kUserDataTextComment = 0xA9636D74,
- kUserDataTextComposer = 0xA9636F6D,
- kUserDataTextCopyright = 0xA9637079,
- kUserDataTextCreationDate = 0xA9646179,
- kUserDataTextDescription = 0xA9646573,
- kUserDataTextDirector = 0xA9646972,
- kUserDataTextDisclaimer = 0xA9646973,
- kUserDataTextEncodedBy = 0xA9656E63,
- kUserDataTextFullName = 0xA96E616D,
- kUserDataTextGenre = 0xA967656E,
- kUserDataTextHostComputer = 0xA9687374,
- kUserDataTextInformation = 0xA9696E66,
- kUserDataTextKeywords = 0xA96B6579,
- kUserDataTextMake = 0xA96D616B,
- kUserDataTextModel = 0xA96D6F64,
- kUserDataTextOriginalArtist = 0xA96F7065,
- kUserDataTextOriginalFormat = 0xA9666D74,
- kUserDataTextOriginalSource = 0xA9737263,
- kUserDataTextPerformers = 0xA9707266,
- kUserDataTextProducer = 0xA9707264,
- kUserDataTextProduct = 0xA9505244,
- kUserDataTextSoftware = 0xA9737772,
- kUserDataTextSpecialPlaybackRequirements = 0xA9726571,
- kUserDataTextTrack = 0xA974726B,
- kUserDataTextWarning = 0xA977726E,
- kUserDataTextWriter = 0xA9777274,
- kUserDataTextURLLink = 0xA975726C,
- kUserDataTextEditDate1 = 0xA9656431,
- kUserDataAnimatedGIFLoopCount = FOUR_CHAR_CODE('gifc'), /* data is big-endian UInt16 */
- kQTAnimatedGIFLoopCountInfinite = 0,
- kUserDataAnimatedGIFBufferingSize = FOUR_CHAR_CODE('gifb') /* data is big-endian UInt32 */
- };
-
- enum
- {
- kUserDataUnicodeBit = 1L << 7
- };
-
- enum
- {
- DoTheRightThing = 0
- };
-
- /* property types*/
- typedef OSType QTPropertyClass;
- typedef OSType QTPropertyID;
- typedef OSType QTPropertyValueType;
- typedef void * QTPropertyValuePtr;
- typedef const void * ConstQTPropertyValuePtr;
- typedef struct MovieType** Movie;
- typedef Movie * PtrToMovie;
- typedef struct TrackType** Track;
- typedef struct MediaType** Media;
- typedef struct UserDataRecord** UserData;
- typedef struct MovieStateRecord** MovieEditState;
- typedef struct TrackStateRecord** TrackEditState;
- typedef struct QTRestrictionSetRecord** QTRestrictionSet;
- typedef struct SpriteWorldRecord* SpriteWorld;
- typedef struct SpriteRecord* Sprite;
- typedef struct QTTweenerRecord* QTTweener;
- struct SampleDescription
- {
- long descSize;
- long dataFormat;
- long resvd1;
- short resvd2;
- short dataRefIndex;
- };
- typedef struct SampleDescription SampleDescription;
- typedef SampleDescription * SampleDescriptionPtr;
- typedef SampleDescriptionPtr * SampleDescriptionHandle;
- enum
- {
- kQTNetworkStatusNoNetwork = -2,
- kQTNetworkStatusUncertain = -1,
- kQTNetworkStatusNotConnected = 0,
- kQTNetworkStatusConnected = 1
- };
-
- typedef Handle QTAtomContainer;
- typedef long QTAtom;
- typedef long QTAtomType;
- typedef long QTAtomID;
- /* QTFloatDouble is the 64-bit IEEE-754 standard*/
- typedef Float64 QTFloatDouble;
- /* QTFloatSingle is the 32-bit IEEE-754 standard*/
- typedef Float32 QTFloatSingle;
- /*************************
- * SoundDescription
- *************************/
- struct SoundDescription
- {
- long descSize; /* total size of SoundDescription including extra data */
- long dataFormat; /* sound format */
- long resvd1; /* reserved for apple use. set to zero */
- short resvd2; /* reserved for apple use. set to zero */
- short dataRefIndex;
- short version; /* which version is this data */
- short revlevel; /* what version of that codec did this */
- long vendor; /* whose codec compressed this data */
- short numChannels; /* number of channels of sound */
- short sampleSize; /* number of bits per sample */
- short compressionID; /* unused. set to zero. */
- short packetSize; /* unused. set to zero. */
- UnsignedFixed sampleRate; /* sample rate sound is captured at */
- };
- typedef struct SoundDescription SoundDescription;
- typedef SoundDescription * SoundDescriptionPtr;
- typedef SoundDescriptionPtr * SoundDescriptionHandle;
- /* version 1 of the SoundDescription record*/
- struct SoundDescriptionV1
- {
- /* original fields*/
- SoundDescription desc;
- /* fixed compression ratio information*/
- unsigned long samplesPerPacket;
- unsigned long bytesPerPacket;
- unsigned long bytesPerFrame;
- unsigned long bytesPerSample;
- /* additional atom based fields ([long size, long type, some data], repeat)*/
- };
- typedef struct SoundDescriptionV1 SoundDescriptionV1;
- typedef SoundDescriptionV1 * SoundDescriptionV1Ptr;
- typedef SoundDescriptionV1Ptr * SoundDescriptionV1Handle;
- /*
- Definitions for SoundDescriptionV2:
- LPCMFrame = one uncompressed sample in each of the channels (ie. 44100Hz audio has
- 44100 LPCMFrames per second, whether it is mono, stereo, 5.1, or whatever).
- In other words, LPCMFrames/audioSampleRate is duration in seconds.
- AudioPacket = For compressed audio, an AudioPacket is the natural compressed access
- unit of that format. For uncompressed audio, an AudioPacket is simply one
- LPCMFrame.
- */
- /* version 2 of the SoundDescription record*/
- struct SoundDescriptionV2
- {
- SInt32 descSize; /* total size of SoundDescription including extra data */
- OSType dataFormat; /* 'lpcm' for uncompressed, compression type otherwise (eg. 'ima4') */
- SInt32 resvd1; /* reserved for apple use. Must be set to zero */
- SInt16 resvd2; /* reserved for apple use. Must be set to zero */
- SInt16 dataRefIndex;
- SInt16 version; /* which version is this data (2 in this case) */
- SInt16 revlevel; /* what version of that codec did this */
- SInt32 vendor; /* whose codec compressed this data */
-
- SInt16 always3; /* Reserved, must be set to 3 */
- SInt16 always16; /* Reserved, must be set to 16 (0x0010) */
- SInt16 alwaysMinus2; /* Reserved, must be set to -2 (0xFFFE) */
- SInt16 always0; /* Reserved, must be set to 0 */
- UInt32 always65536; /* Reserved, must be set to 65536 (0x00010000) */
-
- UInt32 sizeOfStructOnly; /* must be set to sizeof(SoundDescriptionV2), ie. offset to extensions */
- Float64 audioSampleRate; /* audio frames per second, eg. 44100.0 */
- UInt32 numAudioChannels; /* any channel assignment info will be in an extension */
-
- SInt32 always7F000000; /* Reserved, must be set to 0x7F000000 */
- UInt32 constBitsPerChannel; /* only set if constant (and only for uncompressed audio) */
-
- UInt32 formatSpecificFlags; /* eg. see LPCM flag definitions in CoreAudioTypes.h */
- UInt32 constBytesPerAudioPacket; /* only set if constant */
- UInt32 constLPCMFramesPerAudioPacket; /* only set if constant */
-
- /* additional atom based extensions ([long size, long type, some data], repeat)*/
- };
- typedef struct SoundDescriptionV2 SoundDescriptionV2;
- typedef SoundDescriptionV2 * SoundDescriptionV2Ptr;
- typedef SoundDescriptionV2Ptr * SoundDescriptionV2Handle;
- enum
- {
- kQTSoundDescriptionKind_Movie_Version1 = FOUR_CHAR_CODE('mvv1'),
- kQTSoundDescriptionKind_Movie_Version2 = FOUR_CHAR_CODE('mvv2'),
- kQTSoundDescriptionKind_Movie_LowestPossibleVersion = FOUR_CHAR_CODE('mvlo'),
- kQTSoundDescriptionKind_Movie_AnyVersion = FOUR_CHAR_CODE('mvny')
- };
-
- typedef FourCharCode QTSoundDescriptionKind;
- /*
- * QTSoundDescriptionCreate()
- *
- * Summary:
- * QTSoundDescriptionCreate creates a SoundDescription of the
- * requested kind from an AudioStreamBasicDescription, optional
- * AudioChannelLayout, and optional magic cookie.
- * QTSoundDescriptionCreate allocates the returned
- * SoundDescriptionHandle, and the caller is responsible for
- * disposing it.
- *
- * Parameters:
- *
- * inASBD:
- * a description of the format
- *
- * inLayout:
- * the audio channel layout (can be NULL if there isn't one)
- *
- * inLayoutSize:
- * size of the audio channel layout (should be 0 if inLayout is
- * NULL)
- *
- * inMagicCookie:
- * the magic cookie for the decompressor (can be NULL if there
- * isn't one)
- *
- * inMagicCookieSize:
- * size of the magic cookie (should be 0 if inMagicCookie is NULL)
- *
- * inRequestedKind:
- * the kind of SoundDescription to create
- *
- * outSoundDesc:
- * the resulting SoundDescription. Caller must dispose with
- * DisposeHandle.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSoundDescriptionCreate(
- AudioStreamBasicDescription * inASBD,
- AudioChannelLayout * inLayout,
- ByteCount inLayoutSize,
- void * inMagicCookie,
- ByteCount inMagicCookieSize,
- QTSoundDescriptionKind inRequestedKind,
- SoundDescriptionHandle * outSoundDesc);
-
-
- /*
- * QTSoundDescriptionConvert()
- *
- * Summary:
- * Converts from one kind of SoundDescription to another. Note that
- * fromKind is reserved for future expansion. You must set it to
- * kSoundDescriptionKind_Movie_AnyVersion. You can specify (via
- * toKind) that you would like a specific SoundDescription version,
- * the lowest possible version (given the constraints of the format
- * described by fromDescription), or any version of SoundDescription
- * at all. QTSoundDescriptionConvert allocates the returned
- * SoundDescriptionHandle and the caller is responsible for
- * disposing it.
- *
- * Parameters:
- *
- * fromKind:
- * reserved, must be set to kSoundDescriptionKind_Movie_AnyVersion
- *
- * fromDescription:
- * input description to be converted
- *
- * toKind:
- * kind of description toDescription will be
- *
- * toDescription:
- * the resulting SoundDescription. Caller must dispose with
- * DisposeHandle.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSoundDescriptionConvert(
- QTSoundDescriptionKind fromKind,
- SoundDescriptionHandle fromDescription,
- QTSoundDescriptionKind toKind,
- SoundDescriptionHandle * toDescription);
-
-
-
- /* SoundDescription Properties*/
-
- /*
- */
- enum
- {
-
- /*
- * Properties of a SoundDescription
- */
- kQTPropertyClass_SoundDescription = FOUR_CHAR_CODE('sdes') /* class for SoundDescription properties*/
- };
-
-
- /*
- */
- enum
- {
-
- /*
- * kQTSoundDescriptionPropertyID_AudioChannelLayout: Value is
- * AudioChannelLayout (Get/Set) Note that this is a variable sized
- * property (since it may contain an array of ChannelDescriptions;
- * see CoreAudioTypes.h). You must get the size first (by calling
- * QTSoundDescriptionGetPropertyInfo), allocate a struct of that
- * size, and then get the property.
- */
- kQTSoundDescriptionPropertyID_AudioChannelLayout = FOUR_CHAR_CODE('clay'),
-
- /*
- * kQTSoundDescriptionPropertyID_MagicCookie: Value is opaque bytes
- * (Get/Set) Note that this is a variable sized property (since it is
- * completely defined by the codec in question). You must get the
- * size first (by calling QTSoundDescriptionGetPropertyInfo),
- * allocate a struct of that size, and then get the property.
- */
- kQTSoundDescriptionPropertyID_MagicCookie = FOUR_CHAR_CODE('kuki'),
-
- /*
- * kQTSoundDescriptionPropertyID_AudioStreamBasicDescription: Value
- * is AudioStreamBasicDescription (Get only)
- */
- kQTSoundDescriptionPropertyID_AudioStreamBasicDescription = FOUR_CHAR_CODE('asbd'),
-
- /*
- * kQTSoundDescriptionPropertyID_BitRate: Value is UInt32 in bits per
- * second (Get only) kQTSoundDescriptionPropertyID_BitRate Note that
- * this property may not be available for formats that are inherently
- * very variable in bitrate and highly source-data dependent (such as
- * Apple Lossless).
- */
- kQTSoundDescriptionPropertyID_BitRate = FOUR_CHAR_CODE('brat'),
-
- /*
- * kQTSoundDescriptionPropertyID_UserReadableText: Value is
- * CFStringRef (Get only) QTSoundDescriptionGetProperty does a
- * CFRetain of the returned CFString on behalf of the caller, so the
- * caller is responsible for calling CFRelease on the returned
- * CFString.
- */
- kQTSoundDescriptionPropertyID_UserReadableText = FOUR_CHAR_CODE('text')
- };
-
- /*
- * QTSoundDescriptionGetPropertyInfo()
- *
- * Summary:
- * Gets info about a particular property of a SoundDescription.
- *
- * Parameters:
- *
- * inDesc:
- * SoundDescription being interrogated
- *
- * inPropClass:
- * class of property being requested
- *
- * inPropID:
- * ID of property being requested
- *
- * outPropType:
- * type of property is returned here (can be NULL)
- *
- * outPropValueSize:
- * size of property is returned here (can be NULL)
- *
- * outPropertyFlags:
- * property flags are returned here (can be NULL)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSoundDescriptionGetPropertyInfo(
- SoundDescriptionHandle inDesc,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTPropertyValueType * outPropType,
- ByteCount * outPropValueSize,
- UInt32 * outPropertyFlags);
-
-
- /*
- * QTSoundDescriptionGetProperty()
- *
- * Summary:
- * Gets a particular property of a SoundDescription.
- *
- * Parameters:
- *
- * inDesc:
- * SoundDescription being interrogated
- *
- * inPropClass:
- * class of property being requested
- *
- * inPropID:
- * ID of property being requested
- *
- * inPropValueSize:
- * size of property value buffer
- *
- * outPropValueAddress:
- * pointer to property value buffer
- *
- * outPropValueSizeUsed:
- * actual size of returned property value (can be NULL)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSoundDescriptionGetProperty(
- SoundDescriptionHandle inDesc,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- QTPropertyValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed);
-
-
- /*
- * QTSoundDescriptionSetProperty()
- *
- * Summary:
- * Sets a particular property of a SoundDescription.
- *
- * Parameters:
- *
- * inDesc:
- * SoundDescription being modified
- *
- * inPropClass:
- * class of property being set
- *
- * inPropID:
- * ID of property being set
- *
- * inPropValueSize:
- * size of property value buffer
- *
- * inPropValueAddress:
- * pointer to property value buffer
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSoundDescriptionSetProperty(
- SoundDescriptionHandle inDesc,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstQTPropertyValuePtr inPropValueAddress);
-
-
-
- /* Sound Description Extensions*/
-
- /*
- * AddSoundDescriptionExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddSoundDescriptionExtension(
- SoundDescriptionHandle desc,
- Handle extension,
- OSType idType);
-
-
- /*
- * GetSoundDescriptionExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetSoundDescriptionExtension(
- SoundDescriptionHandle desc,
- Handle * extension,
- OSType idType);
-
-
- /*
- * RemoveSoundDescriptionExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- RemoveSoundDescriptionExtension(
- SoundDescriptionHandle desc,
- OSType idType);
-
-
-
-
-
- enum
- {
- kTx3gSampleType = FOUR_CHAR_CODE('tx3g'),
- kTx3gFontTableAtomType = FOUR_CHAR_CODE('ftab'),
- kTx3gBlinkAtomType = FOUR_CHAR_CODE('blnk')
- };
-
- struct Tx3gRGBAColor
- {
- unsigned char red;
- unsigned char green;
- unsigned char blue;
- unsigned char transparency;
- };
- typedef struct Tx3gRGBAColor Tx3gRGBAColor;
- struct Tx3gStyleRecord
- {
- unsigned short startChar;
- unsigned short endChar;
- unsigned short fontID;
- unsigned char fontFace;
- unsigned char fontSize;
- Tx3gRGBAColor fontColor;
- };
- typedef struct Tx3gStyleRecord Tx3gStyleRecord;
- typedef Tx3gStyleRecord * Tx3gStylePtr;
- typedef Tx3gStylePtr * Tx3gStyleHandle;
- struct Tx3gStyleTableRecord
- {
- unsigned short count;
- Tx3gStyleRecord table[1];
- };
- typedef struct Tx3gStyleTableRecord Tx3gStyleTableRecord;
- typedef Tx3gStyleTableRecord * Tx3gStyleTablePtr;
- typedef Tx3gStyleTablePtr * Tx3gStyleTableHandle;
- struct Tx3gFontRecord
- {
- unsigned short fontID;
- unsigned char nameLength;
- unsigned char name[1];
- };
- typedef struct Tx3gFontRecord Tx3gFontRecord;
- typedef Tx3gFontRecord * Tx3gFontRecordPtr;
- struct Tx3gFontTableRecord
- {
- unsigned short entryCount;
- Tx3gFontRecord fontEntries[1];
- };
- typedef struct Tx3gFontTableRecord Tx3gFontTableRecord;
- typedef Tx3gFontTableRecord * Tx3gFontTablePtr;
- typedef Tx3gFontTablePtr * Tx3gFontTableHandle;
- struct Tx3gDescription
- {
- long descSize;
- long dataFormat;
- long resvd1;
- short resvd2;
- short dataRefIndex;
-
- unsigned long displayFlags;
- char horizontalJustification;
- char verticalJustification;
- Tx3gRGBAColor backgroundColor;
- Rect defaultTextBox;
- Tx3gStyleRecord defaultStyle;
- };
- typedef struct Tx3gDescription Tx3gDescription;
- typedef Tx3gDescription * Tx3gDescriptionPtr;
- typedef Tx3gDescriptionPtr * Tx3gDescriptionHandle;
- struct TextDescription
- {
- long descSize; /* Total size of TextDescription*/
- long dataFormat; /* 'text'*/
-
- long resvd1;
- short resvd2;
- short dataRefIndex;
-
- long displayFlags; /* see enum below for flag values*/
-
- long textJustification; /* Can be: teCenter,teFlush -Default,-Right,-Left*/
-
- RGBColor bgColor; /* Background color*/
-
- Rect defaultTextBox; /* Location to place the text within the track bounds*/
- ScrpSTElement defaultStyle; /* Default style (struct defined in TextEdit.h)*/
- char defaultFontName[1]; /* Font Name (pascal string - struct extended to fit) */
- };
- typedef struct TextDescription TextDescription;
- typedef TextDescription * TextDescriptionPtr;
- typedef TextDescriptionPtr * TextDescriptionHandle;
- struct SpriteDescription
- {
- long descSize; /* total size of SpriteDescription including extra data */
- long dataFormat; /* */
- long resvd1; /* reserved for apple use */
- short resvd2;
- short dataRefIndex;
- long version; /* which version is this data */
- OSType decompressorType; /* which decompressor to use, 0 for no decompression */
- long sampleFlags; /* how to interpret samples */
- };
- typedef struct SpriteDescription SpriteDescription;
- typedef SpriteDescription * SpriteDescriptionPtr;
- typedef SpriteDescriptionPtr * SpriteDescriptionHandle;
- struct FlashDescription
- {
- long descSize;
- long dataFormat;
- long resvd1;
- short resvd2;
- short dataRefIndex;
- long version; /* which version is this data */
- OSType decompressorType; /* which decompressor to use, 0 for no decompression */
- long flags;
- };
- typedef struct FlashDescription FlashDescription;
- typedef FlashDescription * FlashDescriptionPtr;
- typedef FlashDescriptionPtr * FlashDescriptionHandle;
- struct ThreeDeeDescription
- {
- long descSize; /* total size of ThreeDeeDescription including extra data */
- long dataFormat; /* */
- long resvd1; /* reserved for apple use */
- short resvd2;
- short dataRefIndex;
- long version; /* which version is this data */
- long rendererType; /* which renderer to use, 0 for default */
- long decompressorType; /* which decompressor to use, 0 for default */
- };
- typedef struct ThreeDeeDescription ThreeDeeDescription;
- typedef ThreeDeeDescription * ThreeDeeDescriptionPtr;
- typedef ThreeDeeDescriptionPtr * ThreeDeeDescriptionHandle;
- struct DataReferenceRecord
- {
- OSType dataRefType;
- Handle dataRef;
- };
- typedef struct DataReferenceRecord DataReferenceRecord;
- typedef DataReferenceRecord * DataReferencePtr;
- /*--------------------------
- Music Sample Description
- --------------------------*/
- struct MusicDescription
- {
- long descSize;
- long dataFormat; /* 'musi' */
-
- long resvd1;
- short resvd2;
- short dataRefIndex;
-
- long musicFlags;
- unsigned long headerData[1]; /* variable size! */
-
- };
- typedef struct MusicDescription MusicDescription;
- typedef MusicDescription * MusicDescriptionPtr;
- typedef MusicDescriptionPtr * MusicDescriptionHandle;
- enum
- {
- kMusicFlagDontPlay2Soft = 1L << 0,
- kMusicFlagDontSlaveToMovie = 1L << 1
- };
-
-
- enum
- {
- dfDontDisplay = 1 << 0, /* Don't display the text*/
- dfDontAutoScale = 1 << 1, /* Don't scale text as track bounds grows or shrinks*/
- dfClipToTextBox = 1 << 2, /* Clip update to the textbox*/
- dfUseMovieBGColor = 1 << 3, /* Set text background to movie's background color*/
- dfShrinkTextBoxToFit = 1 << 4, /* Compute minimum box to fit the sample*/
- dfScrollIn = 1 << 5, /* Scroll text in until last of text is in view */
- dfScrollOut = 1 << 6, /* Scroll text out until last of text is gone (if both set, scroll in then out)*/
- dfHorizScroll = 1 << 7, /* Scroll text horizontally (otherwise it's vertical)*/
- dfReverseScroll = 1 << 8, /* vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)*/
- dfContinuousScroll = 1 << 9, /* new samples cause previous samples to scroll out */
- dfFlowHoriz = 1 << 10, /* horiz scroll text flows in textbox rather than extend to right */
- dfContinuousKaraoke = 1 << 11, /* ignore begin offset, hilite everything up to the end offset(karaoke)*/
- dfDropShadow = 1 << 12, /* display text with a drop shadow */
- dfAntiAlias = 1 << 13, /* attempt to display text anti aliased*/
- dfKeyedText = 1 << 14, /* key the text over background*/
- dfInverseHilite = 1 << 15, /* Use inverse hiliting rather than using hilite color*/
- dfTextColorHilite = 1 << 16 /* changes text color in place of hiliting. */
- };
-
- enum
- {
- searchTextDontGoToFoundTime = 1L << 16,
- searchTextDontHiliteFoundText = 1L << 17,
- searchTextOneTrackOnly = 1L << 18,
- searchTextEnabledTracksOnly = 1L << 19
- };
-
- /*use these with the text property routines*/
- enum
- {
- /* set property parameter / get property parameter*/
- kTextTextHandle = 1, /* Handle / preallocated Handle*/
- kTextTextPtr = 2, /* Pointer*/
- kTextTEStyle = 3, /* TextStyle * / TextStyle **/
- kTextSelection = 4, /* long [2] / long [2]*/
- kTextBackColor = 5, /* RGBColor * / RGBColor **/
- kTextForeColor = 6, /* RGBColor * / RGBColor **/
- kTextFace = 7, /* long / long **/
- kTextFont = 8, /* long / long **/
- kTextSize = 9, /* long / long **/
- kTextAlignment = 10, /* short * / short **/
- kTextHilite = 11, /* hiliteRecord * / hiliteRecord **/
- kTextDropShadow = 12, /* dropShadowRecord * / dropShadowRecord **/
- kTextDisplayFlags = 13, /* long / long **/
- kTextScroll = 14, /* TimeValue * / TimeValue **/
- kTextRelativeScroll = 15, /* Point **/
- kTextHyperTextFace = 16, /* hyperTextSetFace * / hyperTextSetFace **/
- kTextHyperTextColor = 17, /* hyperTextSetColor * / hyperTextSetColor **/
- kTextKeyEntry = 18, /* short*/
- kTextMouseDown = 19, /* Point **/
- kTextTextBox = 20, /* Rect * / Rect **/
- kTextEditState = 21, /* short / short **/
- kTextLength = 22 /* / long **/
- };
-
- enum
- {
- k3DMediaRendererEntry = FOUR_CHAR_CODE('rend'),
- k3DMediaRendererName = FOUR_CHAR_CODE('name'),
- k3DMediaRendererCode = FOUR_CHAR_CODE('rcod')
- };
-
- /* progress messages */
- enum
- {
- movieProgressOpen = 0,
- movieProgressUpdatePercent = 1,
- movieProgressClose = 2
- };
-
- /* progress operations */
- enum
- {
- progressOpFlatten = 1,
- progressOpInsertTrackSegment = 2,
- progressOpInsertMovieSegment = 3,
- progressOpPaste = 4,
- progressOpAddMovieSelection = 5,
- progressOpCopy = 6,
- progressOpCut = 7,
- progressOpLoadMovieIntoRam = 8,
- progressOpLoadTrackIntoRam = 9,
- progressOpLoadMediaIntoRam = 10,
- progressOpImportMovie = 11,
- progressOpExportMovie = 12
- };
-
- enum
- {
- mediaQualityDraft = 0x0000,
- mediaQualityNormal = 0x0040,
- mediaQualityBetter = 0x0080,
- mediaQualityBest = 0x00C0
- };
-
- /*****
- Interactive Sprites Support
- *****/
- /* QTEventRecord flags*/
- enum
- {
- kQTEventPayloadIsQTList = 1L << 0
- };
-
- struct QTEventRecord
- {
- long version;
- OSType eventType;
- Point where;
- long flags;
- long payloadRefcon; /* from here down only present if version >= 2*/
- long param1;
- long param2;
- long param3;
- };
- typedef struct QTEventRecord QTEventRecord;
- typedef QTEventRecord * QTEventRecordPtr;
- struct QTAtomSpec
- {
- QTAtomContainer container;
- QTAtom atom;
- };
- typedef struct QTAtomSpec QTAtomSpec;
- typedef QTAtomSpec * QTAtomSpecPtr;
- struct ResolvedQTEventSpec
- {
- QTAtomSpec actionAtom;
- Track targetTrack;
- long targetRefCon;
- };
- typedef struct ResolvedQTEventSpec ResolvedQTEventSpec;
- typedef ResolvedQTEventSpec * ResolvedQTEventSpecPtr;
-
- /* action constants */
- enum
- {
- kActionMovieSetVolume = 1024, /* (short movieVolume) */
- kActionMovieSetRate = 1025, /* (Fixed rate) */
- kActionMovieSetLoopingFlags = 1026, /* (long loopingFlags) */
- kActionMovieGoToTime = 1027, /* (TimeValue time) */
- kActionMovieGoToTimeByName = 1028, /* (Str255 timeName) */
- kActionMovieGoToBeginning = 1029, /* no params */
- kActionMovieGoToEnd = 1030, /* no params */
- kActionMovieStepForward = 1031, /* no params */
- kActionMovieStepBackward = 1032, /* no params */
- kActionMovieSetSelection = 1033, /* (TimeValue startTime, TimeValue endTime) */
- kActionMovieSetSelectionByName = 1034, /* (Str255 startTimeName, Str255 endTimeName) */
- kActionMoviePlaySelection = 1035, /* (Boolean selectionOnly) */
- kActionMovieSetLanguage = 1036, /* (long language) */
- kActionMovieChanged = 1037, /* no params */
- kActionMovieRestartAtTime = 1038, /* (TimeValue startTime, Fixed rate) */
- kActionMovieGotoNextChapter = 1039, /* no params */
- kActionMovieGotoPreviousChapter = 1040, /* no params */
- kActionMovieGotoFirstChapter = 1041, /* no params */
- kActionMovieGotoLastChapter = 1042, /* no params */
- kActionMovieGotoChapterByIndex = 1043, /* ( short index ) */
- kActionMovieSetScale = 1044, /* (Fixed xScale, Fixed yScale) */
- kActionTrackSetVolume = 2048, /* (short volume) */
- kActionTrackSetBalance = 2049, /* (short balance) */
- kActionTrackSetEnabled = 2050, /* (Boolean enabled) */
- kActionTrackSetMatrix = 2051, /* (MatrixRecord matrix) */
- kActionTrackSetLayer = 2052, /* (short layer) */
- kActionTrackSetClip = 2053, /* (RgnHandle clip) */
- kActionTrackSetCursor = 2054, /* (QTATomID cursorID) */
- kActionTrackSetGraphicsMode = 2055, /* (ModifierTrackGraphicsModeRecord graphicsMode) */
- kActionTrackSetIdleFrequency = 2056, /* (long frequency) */
- kActionTrackSetBassTreble = 2057, /* (short base, short treble) */
- kActionSpriteSetMatrix = 3072, /* (MatrixRecord matrix) */
- kActionSpriteSetImageIndex = 3073, /* (short imageIndex) */
- kActionSpriteSetVisible = 3074, /* (short visible) */
- kActionSpriteSetLayer = 3075, /* (short layer) */
- kActionSpriteSetGraphicsMode = 3076, /* (ModifierTrackGraphicsModeRecord graphicsMode) */
- kActionSpritePassMouseToCodec = 3078, /* no params */
- kActionSpriteClickOnCodec = 3079, /* Point localLoc */
- kActionSpriteTranslate = 3080, /* (Fixed x, Fixed y, Boolean isAbsolute) */
- kActionSpriteScale = 3081, /* (Fixed xScale, Fixed yScale) */
- kActionSpriteRotate = 3082, /* (Fixed degrees) */
- kActionSpriteStretch = 3083, /* (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y) */
- kActionSpriteSetCanBeHitTested = 3094, /* (short canBeHitTested) */
- kActionQTVRSetPanAngle = 4096, /* (float panAngle) */
- kActionQTVRSetTiltAngle = 4097, /* (float tiltAngle) */
- kActionQTVRSetFieldOfView = 4098, /* (float fieldOfView) */
- kActionQTVRShowDefaultView = 4099, /* no params */
- kActionQTVRGoToNodeID = 4100, /* (UInt32 nodeID) */
- kActionQTVREnableHotSpot = 4101, /* long ID, Boolean enable */
- kActionQTVRShowHotSpots = 4102, /* Boolean show */
- kActionQTVRTranslateObject = 4103, /* float xMove, float yMove */
- kActionQTVRSetViewState = 4109, /* long viewStateType, short state */
- kActionMusicPlayNote = 5120, /* (long sampleDescIndex, long partNumber, long delay, long pitch, long velocity, long duration) */
- kActionMusicSetController = 5121, /* (long sampleDescIndex, long partNumber, long delay, long controller, long value) */
- kActionCase = 6144, /* [(CaseStatementActionAtoms)] */
- kActionWhile = 6145, /* [(WhileStatementActionAtoms)] */
- kActionGoToURL = 6146, /* (C string urlLink) */
- kActionSendQTEventToSprite = 6147, /* ([(SpriteTargetAtoms)], QTEventRecord theEvent) */
- kActionDebugStr = 6148, /* (Str255 theString) */
- kActionPushCurrentTime = 6149, /* no params */
- kActionPushCurrentTimeWithLabel = 6150, /* (Str255 theLabel) */
- kActionPopAndGotoTopTime = 6151, /* no params */
- kActionPopAndGotoLabeledTime = 6152, /* (Str255 theLabel) */
- kActionStatusString = 6153, /* (C string theString, long stringTypeFlags) */
- kActionSendQTEventToTrackObject = 6154, /* ([(TrackObjectTargetAtoms)], QTEventRecord theEvent) */
- kActionAddChannelSubscription = 6155, /* (Str255 channelName, C string channelsURL, C string channelsPictureURL) */
- kActionRemoveChannelSubscription = 6156, /* (C string channelsURL) */
- kActionOpenCustomActionHandler = 6157, /* (long handlerID, ComponentDescription handlerDesc) */
- kActionDoScript = 6158, /* (long scriptTypeFlags, CString command, CString arguments) */
- kActionDoCompressedActions = 6159, /* (compressed QTAtomContainer prefixed with eight bytes: long compressorType, long decompressedSize) */
- kActionSendAppMessage = 6160, /* (long appMessageID) */
- kActionLoadComponent = 6161, /* (ComponentDescription handlerDesc) */
- kActionSetFocus = 6162, /* [(TargetAtoms theObject)] */
- kActionDontPassKeyEvent = 6163, /* no params */
- kActionSetRandomSeed = 6164, /* long randomSeed */
- kActionSpriteTrackSetVariable = 7168, /* (QTAtomID variableID, float value) */
- kActionSpriteTrackNewSprite = 7169, /* (QTAtomID spriteID, short imageIndex, MatrixRecord *matrix, short visible, short layer, ModifierTrackGraphicsModeRecord *graphicsMode, QTAtomID actionHandlingSpriteID) */
- kActionSpriteTrackDisposeSprite = 7170, /* (QTAtomID spriteID) */
- kActionSpriteTrackSetVariableToString = 7171, /* (QTAtomID variableID, C string value) */
- kActionSpriteTrackConcatVariables = 7172, /* (QTAtomID firstVariableID, QTAtomID secondVariableID, QTAtomID resultVariableID ) */
- kActionSpriteTrackSetVariableToMovieURL = 7173, /* (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) */
- kActionSpriteTrackSetVariableToMovieBaseURL = 7174, /* (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) */
- kActionSpriteTrackSetAllSpritesHitTestingMode = 7181,
- kActionSpriteTrackNewImage = 7182, /* (C string imageURL, QTAtomID desiredID) */
- kActionSpriteTrackDisposeImage = 7183, /* (short imageIndex) */
- kActionApplicationNumberAndString = 8192, /* (long aNumber, Str255 aString ) */
- kActionQD3DNamedObjectTranslateTo = 9216, /* (Fixed x, Fixed y, Fixed z ) */
- kActionQD3DNamedObjectScaleTo = 9217, /* (Fixed xScale, Fixed yScale, Fixed zScale ) */
- kActionQD3DNamedObjectRotateTo = 9218, /* (Fixed xDegrees, Fixed yDegrees, Fixed zDegrees ) */
- kActionFlashTrackSetPan = 10240, /* (short xPercent, short yPercent ) */
- kActionFlashTrackSetZoom = 10241, /* (short zoomFactor ) */
- kActionFlashTrackSetZoomRect = 10242, /* (long left, long top, long right, long bottom ) */
- kActionFlashTrackGotoFrameNumber = 10243, /* (long frameNumber ) */
- kActionFlashTrackGotoFrameLabel = 10244, /* (C string frameLabel ) */
- kActionFlashTrackSetFlashVariable = 10245, /* (C string path, C string name, C string value, Boolean updateFocus) */
- kActionFlashTrackDoButtonActions = 10246, /* (C string path, long buttonID, long transition) */
- kActionMovieTrackAddChildMovie = 11264, /* (QTAtomID childMovieID, C string childMovieURL) */
- kActionMovieTrackLoadChildMovie = 11265, /* (QTAtomID childMovieID) */
- kActionMovieTrackLoadChildMovieWithQTListParams = 11266, /* (QTAtomID childMovieID, C string qtlistXML) */
- kActionTextTrackPasteText = 12288, /* (C string theText, long startSelection, long endSelection ) */
- kActionTextTrackSetTextBox = 12291, /* (short left, short top, short right, short bottom) */
- kActionTextTrackSetTextStyle = 12292, /* (Handle textStyle) */
- kActionTextTrackSetSelection = 12293, /* (long startSelection, long endSelection ) */
- kActionTextTrackSetBackgroundColor = 12294, /* (ModifierTrackGraphicsModeRecord backgroundColor ) */
- kActionTextTrackSetForegroundColor = 12295, /* (ModifierTrackGraphicsModeRecord foregroundColor ) */
- kActionTextTrackSetFace = 12296, /* (long fontFace ) */
- kActionTextTrackSetFont = 12297, /* (long fontID ) */
- kActionTextTrackSetSize = 12298, /* (long fontSize ) */
- kActionTextTrackSetAlignment = 12299, /* (short alignment ) */
- kActionTextTrackSetHilite = 12300, /* (long startHighlight, long endHighlight, ModifierTrackGraphicsModeRecord highlightColor ) */
- kActionTextTrackSetDropShadow = 12301, /* (Point dropShadow, short transparency ) */
- kActionTextTrackSetDisplayFlags = 12302, /* (long flags ) */
- kActionTextTrackSetScroll = 12303, /* (long delay ) */
- kActionTextTrackRelativeScroll = 12304, /* (short deltaX, short deltaY ) */
- kActionTextTrackFindText = 12305, /* (long flags, Str255 theText, ModifierTrackGraphicsModeRecord highlightColor ) */
- kActionTextTrackSetHyperTextFace = 12306, /* (short index, long fontFace ) */
- kActionTextTrackSetHyperTextColor = 12307, /* (short index, ModifierTrackGraphicsModeRecord highlightColor ) */
- kActionTextTrackKeyEntry = 12308, /* (short character ) */
- kActionTextTrackMouseDown = 12309, /* no params */
- kActionTextTrackSetEditable = 12310, /* (short editState) */
- kActionListAddElement = 13312, /* (C string parentPath, long atIndex, C string newElementName) */
- kActionListRemoveElements = 13313, /* (C string parentPath, long startIndex, long endIndex) */
- kActionListSetElementValue = 13314, /* (C string elementPath, C string valueString) */
- kActionListPasteFromXML = 13315, /* (C string xml, C string targetParentPath, long startIndex) */
- kActionListSetMatchingFromXML = 13316, /* (C string xml, C string targetParentPath) */
- kActionListSetFromURL = 13317, /* (C string url, C string targetParentPath ) */
- kActionListExchangeLists = 13318, /* (C string url, C string parentPath) */
- kActionListServerQuery = 13319, /* (C string url, C string keyValuePairs, long flags, C string parentPath) */
- kActionListAddAttribute = 13320, /* (C string elementPath, long atIndex, C string newAttributeName) */
- kActionListRemoveAttributes = 13321, /* (C string elementPath, long startIndex, long endIndex) */
- kActionListSetAttributeValue = 13322 /* (C string elementPath, C string attributeName, C string valueString) */
- };
-
-
- enum
- {
- kOperandExpression = 1,
- kOperandConstant = 2,
- kOperandSubscribedToChannel = 3, /* C string channelsURL */
- kOperandUniqueCustomActionHandlerID = 4,
- kOperandCustomActionHandlerIDIsOpen = 5, /* long ID */
- kOperandConnectionSpeed = 6,
- kOperandGMTDay = 7,
- kOperandGMTMonth = 8,
- kOperandGMTYear = 9,
- kOperandGMTHours = 10,
- kOperandGMTMinutes = 11,
- kOperandGMTSeconds = 12,
- kOperandLocalDay = 13,
- kOperandLocalMonth = 14,
- kOperandLocalYear = 15,
- kOperandLocalHours = 16,
- kOperandLocalMinutes = 17,
- kOperandLocalSeconds = 18,
- kOperandRegisteredForQuickTimePro = 19,
- kOperandPlatformRunningOn = 20,
- kOperandQuickTimeVersion = 21,
- kOperandComponentVersion = 22, /* C string type, C string subType, C string manufacturer */
- kOperandOriginalHandlerRefcon = 23,
- kOperandTicks = 24,
- kOperandMaxLoadedTimeInMovie = 25,
- kOperandEventParameter = 26, /* short index */
- kOperandFreeMemory = 27,
- kOperandNetworkStatus = 28,
- kOperandQuickTimeVersionRegistered = 29, /* long version */
- kOperandSystemVersion = 30,
- kOperandMovieVolume = 1024,
- kOperandMovieRate = 1025,
- kOperandMovieIsLooping = 1026,
- kOperandMovieLoopIsPalindrome = 1027,
- kOperandMovieTime = 1028,
- kOperandMovieDuration = 1029,
- kOperandMovieTimeScale = 1030,
- kOperandMovieWidth = 1031,
- kOperandMovieHeight = 1032,
- kOperandMovieLoadState = 1033,
- kOperandMovieTrackCount = 1034,
- kOperandMovieIsActive = 1035,
- kOperandMovieName = 1036,
- kOperandMovieID = 1037,
- kOperandMovieChapterCount = 1038,
- kOperandMovieChapterIndex = 1039,
- kOperandMovieChapterName = 1040,
- kOperandMovieChapterNameByIndex = 1041, /* ( short index ) */
- kOperandMovieChapterIndexByName = 1042, /* (c string name) */
- kOperandMovieAnnotation = 1043, /* (c string requested, long flags) */
- kOperandMovieConnectionFlags = 1044,
- kOperandMovieConnectionString = 1045,
- kOperandTrackVolume = 2048,
- kOperandTrackBalance = 2049,
- kOperandTrackEnabled = 2050,
- kOperandTrackLayer = 2051,
- kOperandTrackWidth = 2052,
- kOperandTrackHeight = 2053,
- kOperandTrackDuration = 2054,
- kOperandTrackName = 2055,
- kOperandTrackID = 2056,
- kOperandTrackIdleFrequency = 2057,
- kOperandTrackBass = 2058,
- kOperandTrackTreble = 2059,
- kOperandSpriteBoundsLeft = 3072,
- kOperandSpriteBoundsTop = 3073,
- kOperandSpriteBoundsRight = 3074,
- kOperandSpriteBoundsBottom = 3075,
- kOperandSpriteImageIndex = 3076,
- kOperandSpriteVisible = 3077,
- kOperandSpriteLayer = 3078,
- kOperandSpriteTrackVariable = 3079, /* [QTAtomID variableID] */
- kOperandSpriteTrackNumSprites = 3080,
- kOperandSpriteTrackNumImages = 3081,
- kOperandSpriteID = 3082,
- kOperandSpriteIndex = 3083,
- kOperandSpriteFirstCornerX = 3084,
- kOperandSpriteFirstCornerY = 3085,
- kOperandSpriteSecondCornerX = 3086,
- kOperandSpriteSecondCornerY = 3087,
- kOperandSpriteThirdCornerX = 3088,
- kOperandSpriteThirdCornerY = 3089,
- kOperandSpriteFourthCornerX = 3090,
- kOperandSpriteFourthCornerY = 3091,
- kOperandSpriteImageRegistrationPointX = 3092,
- kOperandSpriteImageRegistrationPointY = 3093,
- kOperandSpriteTrackSpriteIDAtPoint = 3094, /* short x, short y */
- kOperandSpriteName = 3095,
- kOperandSpriteCanBeHitTested = 3105, /* short */
- kOperandSpriteTrackAllSpritesHitTestingMode = 3106,
- kOperandSpriteTrackImageIDByIndex = 3107, /* short imageIndex */
- kOperandSpriteTrackImageIndexByID = 3108, /* QTAtomID */
- kOperandQTVRPanAngle = 4096,
- kOperandQTVRTiltAngle = 4097,
- kOperandQTVRFieldOfView = 4098,
- kOperandQTVRNodeID = 4099,
- kOperandQTVRHotSpotsVisible = 4100,
- kOperandQTVRViewCenterH = 4101,
- kOperandQTVRViewCenterV = 4102,
- kOperandQTVRViewStateCount = 4103,
- kOperandQTVRViewState = 4104, /* long viewStateType */
- kOperandMouseLocalHLoc = 5120, /* [TargetAtoms aTrack] */
- kOperandMouseLocalVLoc = 5121, /* [TargetAtoms aTrack] */
- kOperandKeyIsDown = 5122, /* [short modKeys, char asciiValue] */
- kOperandRandom = 5123, /* [short min, short max] */
- kOperandCanHaveFocus = 5124, /* [(TargetAtoms theObject)] */
- kOperandHasFocus = 5125, /* [(TargetAtoms theObject)] */
- kOperandTextTrackEditable = 6144,
- kOperandTextTrackCopyText = 6145, /* long startSelection, long endSelection */
- kOperandTextTrackStartSelection = 6146,
- kOperandTextTrackEndSelection = 6147,
- kOperandTextTrackTextBoxLeft = 6148,
- kOperandTextTrackTextBoxTop = 6149,
- kOperandTextTrackTextBoxRight = 6150,
- kOperandTextTrackTextBoxBottom = 6151,
- kOperandTextTrackTextLength = 6152,
- kOperandListCountElements = 7168, /* (C string parentPath) */
- kOperandListGetElementPathByIndex = 7169, /* (C string parentPath, long index) */
- kOperandListGetElementValue = 7170, /* (C string elementPath) */
- kOperandListCopyToXML = 7171, /* (C string parentPath, long startIndex, long endIndex) */
- kOperandListCountAttributes = 7172, /* (C string elementPath) */
- kOperandListGetAttributeNameByIndex = 7173, /* (C string elementPath, long index) */
- kOperandListGetAttributeValue = 7174, /* (C string elementPath, C string attributeName) */
- kOperandSin = 8192, /* float x */
- kOperandCos = 8193, /* float x */
- kOperandTan = 8194, /* float x */
- kOperandATan = 8195, /* float x */
- kOperandATan2 = 8196, /* float y, float x */
- kOperandDegreesToRadians = 8197, /* float x */
- kOperandRadiansToDegrees = 8198, /* float x */
- kOperandSquareRoot = 8199, /* float x */
- kOperandExponent = 8200, /* float x */
- kOperandLog = 8201, /* float x */
- kOperandFlashTrackVariable = 9216, /* [CString path, CString name] */
- kOperandStringLength = 10240, /* (C string text) */
- kOperandStringCompare = 10241, /* (C string aText, C string bText, Boolean caseSensitive, Boolan diacSensitive) */
- kOperandStringSubString = 10242, /* (C string text, long offset, long length) */
- kOperandStringConcat = 10243 /* (C string aText, C string bText) */
- };
-
- enum
- {
- kFirstMovieAction = kActionMovieSetVolume,
- kLastMovieAction = kActionMovieSetScale,
- kFirstTrackAction = kActionTrackSetVolume,
- kLastTrackAction = kActionTrackSetBassTreble,
- kFirstSpriteAction = kActionSpriteSetMatrix,
- kLastSpriteAction = kActionSpriteSetCanBeHitTested,
- kFirstQTVRAction = kActionQTVRSetPanAngle,
- kLastQTVRAction = kActionQTVRSetViewState,
- kFirstMusicAction = kActionMusicPlayNote,
- kLastMusicAction = kActionMusicSetController,
- kFirstSystemAction = kActionCase,
- kLastSystemAction = kActionSetRandomSeed,
- kFirstSpriteTrackAction = kActionSpriteTrackSetVariable,
- kLastSpriteTrackAction = kActionSpriteTrackDisposeImage,
- kFirstApplicationAction = kActionApplicationNumberAndString,
- kLastApplicationAction = kActionApplicationNumberAndString,
- kFirstQD3DNamedObjectAction = kActionQD3DNamedObjectTranslateTo,
- kLastQD3DNamedObjectAction = kActionQD3DNamedObjectRotateTo,
- kFirstFlashTrackAction = kActionFlashTrackSetPan,
- kLastFlashTrackAction = kActionFlashTrackDoButtonActions,
- kFirstMovieTrackAction = kActionMovieTrackAddChildMovie,
- kLastMovieTrackAction = kActionMovieTrackLoadChildMovieWithQTListParams,
- kFirstTextTrackAction = kActionTextTrackPasteText,
- kLastTextTrackAction = kActionTextTrackSetEditable,
- kFirstMultiTargetAction = kActionListAddElement,
- kLastMultiTargetAction = kActionListSetAttributeValue,
- kFirstAction = kFirstMovieAction,
- kLastAction = kLastMultiTargetAction
- };
-
- /* target atom types*/
- enum
- {
- kTargetMovie = FOUR_CHAR_CODE('moov'), /* no data */
- kTargetMovieName = FOUR_CHAR_CODE('mona'), /* (PString movieName) */
- kTargetMovieID = FOUR_CHAR_CODE('moid'), /* (long movieID) */
- kTargetRootMovie = FOUR_CHAR_CODE('moro'), /* no data */
- kTargetParentMovie = FOUR_CHAR_CODE('mopa'), /* no data */
- kTargetChildMovieTrackName = FOUR_CHAR_CODE('motn'), /* (PString childMovieTrackName) */
- kTargetChildMovieTrackID = FOUR_CHAR_CODE('moti'), /* (long childMovieTrackID) */
- kTargetChildMovieTrackIndex = FOUR_CHAR_CODE('motx'), /* (long childMovieTrackIndex) */
- kTargetChildMovieMovieName = FOUR_CHAR_CODE('momn'), /* (PString childMovieName) */
- kTargetChildMovieMovieID = FOUR_CHAR_CODE('momi'), /* (long childMovieID) */
- kTargetTrackName = FOUR_CHAR_CODE('trna'), /* (PString trackName) */
- kTargetTrackID = FOUR_CHAR_CODE('trid'), /* (long trackID) */
- kTargetTrackType = FOUR_CHAR_CODE('trty'), /* (OSType trackType) */
- kTargetTrackIndex = FOUR_CHAR_CODE('trin'), /* (long trackIndex) */
- kTargetSpriteName = FOUR_CHAR_CODE('spna'), /* (PString spriteName) */
- kTargetSpriteID = FOUR_CHAR_CODE('spid'), /* (QTAtomID spriteID) */
- kTargetSpriteIndex = FOUR_CHAR_CODE('spin'), /* (short spriteIndex) */
- kTargetQD3DNamedObjectName = FOUR_CHAR_CODE('nana'), /* (CString objectName) */
- kTargetCurrentQTEventParams = FOUR_CHAR_CODE('evpa') /* no data */
- };
-
- /* action container atom types*/
- enum
- {
- kQTEventType = FOUR_CHAR_CODE('evnt'),
- kAction = FOUR_CHAR_CODE('actn'),
- kWhichAction = FOUR_CHAR_CODE('whic'),
- kActionParameter = FOUR_CHAR_CODE('parm'),
- kActionTarget = FOUR_CHAR_CODE('targ'),
- kActionFlags = FOUR_CHAR_CODE('flag'),
- kActionParameterMinValue = FOUR_CHAR_CODE('minv'),
- kActionParameterMaxValue = FOUR_CHAR_CODE('maxv'),
- kActionListAtomType = FOUR_CHAR_CODE('list'),
- kExpressionContainerAtomType = FOUR_CHAR_CODE('expr'),
- kConditionalAtomType = FOUR_CHAR_CODE('test'),
- kOperatorAtomType = FOUR_CHAR_CODE('oper'),
- kOperandAtomType = FOUR_CHAR_CODE('oprn'),
- kCommentAtomType = FOUR_CHAR_CODE('why '),
- kCustomActionHandler = FOUR_CHAR_CODE('cust'),
- kCustomHandlerID = FOUR_CHAR_CODE('id '),
- kCustomHandlerDesc = FOUR_CHAR_CODE('desc'),
- kQTEventRecordAtomType = FOUR_CHAR_CODE('erec')
- };
-
- /* QTEvent types */
- enum
- {
- kQTEventMouseClick = FOUR_CHAR_CODE('clik'),
- kQTEventMouseClickEnd = FOUR_CHAR_CODE('cend'),
- kQTEventMouseClickEndTriggerButton = FOUR_CHAR_CODE('trig'),
- kQTEventMouseEnter = FOUR_CHAR_CODE('entr'),
- kQTEventMouseExit = FOUR_CHAR_CODE('exit'),
- kQTEventMouseMoved = FOUR_CHAR_CODE('move'),
- kQTEventFrameLoaded = FOUR_CHAR_CODE('fram'),
- kQTEventIdle = FOUR_CHAR_CODE('idle'),
- kQTEventKey = FOUR_CHAR_CODE('key '), /* qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode */
- kQTEventMovieLoaded = FOUR_CHAR_CODE('load'),
- kQTEventRequestToModifyMovie = FOUR_CHAR_CODE('reqm'),
- kQTEventListReceived = FOUR_CHAR_CODE('list'),
- kQTEventKeyUp = FOUR_CHAR_CODE('keyU') /* qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode */
- };
-
- /* flags for the kActionFlags atom */
- enum
- {
- kActionFlagActionIsDelta = 1L << 1,
- kActionFlagParameterWrapsAround = 1L << 2,
- kActionFlagActionIsToggle = 1L << 3
- };
-
- /* flags for stringTypeFlags field of the QTStatusStringRecord */
- enum
- {
- kStatusStringIsURLLink = 1L << 1,
- kStatusStringIsStreamingStatus = 1L << 2,
- kStatusHasCodeNumber = 1L << 3, /* high 16 bits of stringTypeFlags is error code number*/
- kStatusIsError = 1L << 4
- };
-
- /* flags for scriptTypeFlags field of the QTDoScriptRecord*/
- enum
- {
- kScriptIsUnknownType = 1L << 0,
- kScriptIsJavaScript = 1L << 1,
- kScriptIsLingoEvent = 1L << 2,
- kScriptIsVBEvent = 1L << 3,
- kScriptIsProjectorCommand = 1L << 4,
- kScriptIsAppleScript = 1L << 5
- };
-
- /* flags for CheckQuickTimeRegistration routine*/
- enum
- {
- kQTRegistrationDialogTimeOutFlag = 1 << 0,
- kQTRegistrationDialogShowDialog = 1 << 1,
- kQTRegistrationDialogForceDialog = 1 << 2
- };
-
- /* constants for kOperatorAtomType IDs (operator types)*/
- enum
- {
- kOperatorAdd = FOUR_CHAR_CODE('add '),
- kOperatorSubtract = FOUR_CHAR_CODE('sub '),
- kOperatorMultiply = FOUR_CHAR_CODE('mult'),
- kOperatorDivide = FOUR_CHAR_CODE('div '),
- kOperatorOr = FOUR_CHAR_CODE('or '),
- kOperatorAnd = FOUR_CHAR_CODE('and '),
- kOperatorNot = FOUR_CHAR_CODE('not '),
- kOperatorLessThan = FOUR_CHAR_CODE('< '),
- kOperatorLessThanEqualTo = FOUR_CHAR_CODE('<= '),
- kOperatorEqualTo = FOUR_CHAR_CODE('= '),
- kOperatorNotEqualTo = FOUR_CHAR_CODE('!= '),
- kOperatorGreaterThan = FOUR_CHAR_CODE('> '),
- kOperatorGreaterThanEqualTo = FOUR_CHAR_CODE('>= '),
- kOperatorModulo = FOUR_CHAR_CODE('mod '),
- kOperatorIntegerDivide = FOUR_CHAR_CODE('idiv'),
- kOperatorAbsoluteValue = FOUR_CHAR_CODE('abs '),
- kOperatorNegate = FOUR_CHAR_CODE('neg ')
- };
-
- /* constants for kOperandPlatformRunningOn*/
- enum
- {
- kPlatformMacintosh = 1,
- kPlatformWindows = 2
- };
-
- /* flags for kOperandSystemVersion*/
- enum
- {
- kSystemIsWindows9x = 0x00010000,
- kSystemIsWindowsNT = 0x00020000,
- kSystemIsClassicBlueBox = 0x00040000
- };
-
- /* constants for MediaPropertiesAtom*/
- enum
- {
- kMediaPropertyNonLinearAtomType = FOUR_CHAR_CODE('nonl'),
- kMediaPropertyHasActions = 105
- };
-
-
- /* TimeBase and TimeRecord moved to MacTypes.h */
- typedef UInt32 TimeBaseFlags;
- enum
- {
- loopTimeBase = 1,
- palindromeLoopTimeBase = 2,
- maintainTimeBaseZero = 4
- };
-
- typedef struct QTCallBackHeader* QTCallBack;
- /* CallBack equates */
- typedef UInt16 QTCallBackFlags;
- enum
- {
- triggerTimeFwd = 0x0001, /* when curTime exceeds triggerTime going forward */
- triggerTimeBwd = 0x0002, /* when curTime exceeds triggerTime going backwards */
- triggerTimeEither = 0x0003, /* when curTime exceeds triggerTime going either direction */
- triggerRateLT = 0x0004, /* when rate changes to less than trigger value */
- triggerRateGT = 0x0008, /* when rate changes to greater than trigger value */
- triggerRateEqual = 0x0010, /* when rate changes to equal trigger value */
- triggerRateLTE = triggerRateLT | triggerRateEqual,
- triggerRateGTE = triggerRateGT | triggerRateEqual,
- triggerRateNotEqual = triggerRateGT | triggerRateEqual | triggerRateLT,
- triggerRateChange = 0,
- triggerAtStart = 0x0001,
- triggerAtStop = 0x0002
- };
-
- typedef UInt32 TimeBaseStatus;
- enum
- {
- timeBaseBeforeStartTime = 1,
- timeBaseAfterStopTime = 2,
- timeBaseRateChanging = 4
- };
-
-
- typedef UInt16 QTCallBackType;
- enum
- {
- callBackAtTime = 1,
- callBackAtRate = 2,
- callBackAtTimeJump = 3,
- callBackAtExtremes = 4,
- callBackAtTimeBaseDisposed = 5,
- callBackAtInterrupt = 0x8000,
- callBackAtDeferredTask = 0x4000
- };
-
- typedef CALLBACK_API(void , QTCallBackProcPtr)(QTCallBack cb, long refCon);
- typedef STACK_UPP_TYPE(QTCallBackProcPtr) QTCallBackUPP;
- enum
- {
- qtcbNeedsRateChanges = 1, /* wants to know about rate changes */
- qtcbNeedsTimeChanges = 2, /* wants to know about time changes */
- qtcbNeedsStartStopChanges = 4 /* wants to know when TimeBase start/stop is changed*/
- };
-
- struct QTCallBackOpaqueHeader
- {
- long callBackFlags;
- long reserved1;
- SInt8 qtPrivate[52];
- };
- typedef struct QTCallBackOpaqueHeader QTCallBackOpaqueHeader;
- typedef CALLBACK_API(void , QTSyncTaskProcPtr)(void * task);
- typedef STACK_UPP_TYPE(QTSyncTaskProcPtr) QTSyncTaskUPP;
- struct QTSyncTaskRecord
- {
- void * qLink;
- QTSyncTaskUPP proc;
- };
- typedef struct QTSyncTaskRecord QTSyncTaskRecord;
- typedef QTSyncTaskRecord * QTSyncTaskPtr;
-
- typedef CALLBACK_API(OSErr , MovieRgnCoverProcPtr)(Movie theMovie, RgnHandle changedRgn, long refcon);
- typedef CALLBACK_API(OSErr , MovieProgressProcPtr)(Movie theMovie, short message, short whatOperation, Fixed percentDone, long refcon);
- typedef CALLBACK_API(OSErr , MovieDrawingCompleteProcPtr)(Movie theMovie, long refCon);
- typedef CALLBACK_API(OSErr , TrackTransferProcPtr)(Track t, long refCon);
- typedef CALLBACK_API(OSErr , GetMovieProcPtr)(long offset, long size, void *dataPtr, void *refCon);
- typedef CALLBACK_API(Boolean , MoviePreviewCallOutProcPtr)(long refcon);
- typedef CALLBACK_API(OSErr , TextMediaProcPtr)(Handle theText, Movie theMovie, short *displayFlag, long refcon);
- typedef CALLBACK_API(OSErr , ActionsProcPtr)(void *refcon, Track targetTrack, long targetRefCon, QTEventRecordPtr theEvent);
- typedef CALLBACK_API(OSErr , DoMCActionProcPtr)(void *refcon, short action, void *params, Boolean *handled);
- typedef CALLBACK_API(OSErr , MovieExecuteWiredActionsProcPtr)(Movie theMovie, void *refcon, long flags, QTAtomContainer wiredActions);
- typedef CALLBACK_API(void , MoviePrePrerollCompleteProcPtr)(Movie theMovie, OSErr prerollErr, void *refcon);
- typedef CALLBACK_API(void , QTNextTaskNeededSoonerCallbackProcPtr)(TimeValue duration, unsigned long flags, void *refcon);
- typedef CALLBACK_API(void , MoviesErrorProcPtr)(OSErr theErr, long refcon);
- typedef STACK_UPP_TYPE(MovieRgnCoverProcPtr) MovieRgnCoverUPP;
- typedef STACK_UPP_TYPE(MovieProgressProcPtr) MovieProgressUPP;
- typedef STACK_UPP_TYPE(MovieDrawingCompleteProcPtr) MovieDrawingCompleteUPP;
- typedef STACK_UPP_TYPE(TrackTransferProcPtr) TrackTransferUPP;
- typedef STACK_UPP_TYPE(GetMovieProcPtr) GetMovieUPP;
- typedef STACK_UPP_TYPE(MoviePreviewCallOutProcPtr) MoviePreviewCallOutUPP;
- typedef STACK_UPP_TYPE(TextMediaProcPtr) TextMediaUPP;
- typedef STACK_UPP_TYPE(ActionsProcPtr) ActionsUPP;
- typedef STACK_UPP_TYPE(DoMCActionProcPtr) DoMCActionUPP;
- typedef STACK_UPP_TYPE(MovieExecuteWiredActionsProcPtr) MovieExecuteWiredActionsUPP;
- typedef STACK_UPP_TYPE(MoviePrePrerollCompleteProcPtr) MoviePrePrerollCompleteUPP;
- typedef STACK_UPP_TYPE(QTNextTaskNeededSoonerCallbackProcPtr) QTNextTaskNeededSoonerCallbackUPP;
- typedef STACK_UPP_TYPE(MoviesErrorProcPtr) MoviesErrorUPP;
- typedef ComponentInstance MediaHandler;
- typedef ComponentInstance DataHandler;
- typedef Component MediaHandlerComponent;
- typedef Component DataHandlerComponent;
- typedef ComponentResult HandlerError;
- enum
- {
- keepInRam = 1 << 0, /* load and make non-purgable*/
- unkeepInRam = 1 << 1, /* mark as purgable*/
- flushFromRam = 1 << 2, /* empty those handles*/
- loadForwardTrackEdits = 1 << 3, /* load track edits into ram for playing forward*/
- loadBackwardTrackEdits = 1 << 4 /* load track edits into ram for playing in reverse*/
- };
-
- enum
- {
- newMovieActive = 1 << 0,
- newMovieDontResolveDataRefs = 1 << 1,
- newMovieDontAskUnresolvedDataRefs = 1 << 2,
- newMovieDontAutoAlternates = 1 << 3,
- newMovieDontUpdateForeBackPointers = 1 << 4,
- newMovieDontAutoUpdateClock = 1 << 5,
- newMovieAsyncOK = 1 << 8,
- newMovieIdleImportOK = 1 << 10,
- newMovieDontInteractWithUser = 1 << 11
- };
-
- /* track usage bits */
- enum
- {
- trackUsageInMovie = 1 << 1,
- trackUsageInPreview = 1 << 2,
- trackUsageInPoster = 1 << 3
- };
-
- /* Add/GetMediaSample flags */
- enum
- {
- mediaSampleNotSync = 1 << 0, /* sample is not a sync sample (eg. is frame differenced */
- mediaSampleShadowSync = 1 << 1, /* sample is a shadow sync */
- mediaSampleDroppable = 1 << 27, /* sample is not required to be decoded for later samples to be decoded properly */
- mediaSamplePartialSync = 1 << 16, /* sample is a partial sync (e.g., I frame after open GOP) */
- mediaSampleHasRedundantCoding = 1 << 24, /* sample is known to contain redundant coding */
- mediaSampleHasNoRedundantCoding = 1 << 25, /* sample is known not to contain redundant coding */
- mediaSampleIsDependedOnByOthers = 1 << 26, /* one or more other samples depend upon the decode of this sample */
- mediaSampleIsNotDependedOnByOthers = 1 << 27, /* synonym for mediaSampleDroppable */
- mediaSampleDependsOnOthers = 1 << 28, /* sample's decode depends upon decode of other samples */
- mediaSampleDoesNotDependOnOthers = 1 << 29, /* sample's decode does not depend upon decode of other samples */
- mediaSampleEarlierDisplayTimesAllowed = 1 << 30 /* samples later in decode order may have earlier display times */
- };
-
- /*
- MediaSampleFlags is defined in ImageCompression.h:
- typedef UInt32 MediaSampleFlags;
- */
- enum
- {
- pasteInParallel = 1 << 0,
- showUserSettingsDialog = 1 << 1,
- movieToFileOnlyExport = 1 << 2,
- movieFileSpecValid = 1 << 3
- };
-
- enum
- {
- nextTimeMediaSample = 1 << 0,
- nextTimeMediaEdit = 1 << 1,
- nextTimeTrackEdit = 1 << 2,
- nextTimeSyncSample = 1 << 3,
- nextTimeStep = 1 << 4,
- nextTimePartialSyncSample = 1 << 5,
- nextTimeEdgeOK = 1 << 14,
- nextTimeIgnoreActiveSegment = 1 << 15
- };
-
- typedef unsigned short nextTimeFlagsEnum;
- enum
- {
- createMovieFileDeleteCurFile = 1L << 31,
- createMovieFileDontCreateMovie = 1L << 30,
- createMovieFileDontOpenFile = 1L << 29,
- createMovieFileDontCreateResFile = 1L << 28
- };
-
- typedef unsigned long createMovieFileFlagsEnum;
- enum
- {
- flattenAddMovieToDataFork = 1L << 0,
- flattenActiveTracksOnly = 1L << 2,
- flattenDontInterleaveFlatten = 1L << 3,
- flattenFSSpecPtrIsDataRefRecordPtr = 1L << 4,
- flattenCompressMovieResource = 1L << 5,
- flattenForceMovieResourceBeforeMovieData = 1L << 6
- };
-
- typedef unsigned long movieFlattenFlagsEnum;
- enum
- {
- movieInDataForkResID = -1 /* magic res ID */
- };
-
- enum
- {
- mcTopLeftMovie = 1 << 0, /* usually centered */
- mcScaleMovieToFit = 1 << 1, /* usually only scales down */
- mcWithBadge = 1 << 2, /* give me a badge */
- mcNotVisible = 1 << 3, /* don't show controller */
- mcWithFrame = 1 << 4 /* gimme a frame */
- };
-
- enum
- {
- movieScrapDontZeroScrap = 1 << 0,
- movieScrapOnlyPutMovie = 1 << 1
- };
-
- enum
- {
- dataRefSelfReference = 1 << 0,
- dataRefWasNotResolved = 1 << 1
- };
-
- typedef unsigned long dataRefAttributesFlags;
- enum
- {
- kMovieAnchorDataRefIsDefault = 1 << 0 /* data ref returned is movie default data ref */
- };
-
- enum
- {
- hintsScrubMode = 1 << 0, /* mask == && (if flags == scrub on, flags != scrub off) */
- hintsLoop = 1 << 1,
- hintsDontPurge = 1 << 2,
- hintsUseScreenBuffer = 1 << 5,
- hintsAllowInterlace = 1 << 6,
- hintsUseSoundInterp = 1 << 7,
- hintsHighQuality = 1 << 8, /* slooooow */
- hintsPalindrome = 1 << 9,
- hintsInactive = 1 << 11,
- hintsOffscreen = 1 << 12,
- hintsDontDraw = 1 << 13,
- hintsAllowBlacklining = 1 << 14,
- hintsDontUseVideoOverlaySurface = 1 << 16,
- hintsIgnoreBandwidthRestrictions = 1 << 17,
- hintsPlayingEveryFrame = 1 << 18,
- hintsAllowDynamicResize = 1 << 19,
- hintsSingleField = 1 << 20,
- hintsNoRenderingTimeOut = 1 << 21,
- hintsFlushVideoInsteadOfDirtying = 1 << 22,
- hintsEnableSubPixelPositioning = 1L << 23,
- hintsRenderingMode = 1L << 24,
- hintsAllowIdleSleep = 1L << 25, /* asks media handlers not to call UpdateSystemActivity etc */
- hintsDeinterlaceFields = 1L << 26
- };
-
- typedef unsigned long playHintsEnum;
- enum
- {
- mediaHandlerFlagBaseClient = 1
- };
-
- typedef unsigned long mediaHandlerFlagsEnum;
- enum
- {
- movieTrackMediaType = 1 << 0,
- movieTrackCharacteristic = 1 << 1,
- movieTrackEnabledOnly = 1 << 2
- };
-
- /*
- Opaque replacement for SampleReferenceRecord/SampleReference64Record arrays able to carry information
- not described in those arrays of those records
- */
- typedef const struct OpaqueQTSampleTable* QTSampleTableRef;
- typedef struct OpaqueQTSampleTable* QTMutableSampleTableRef;
- struct SampleReferenceRecord
- {
- long dataOffset;
- long dataSize;
- TimeValue durationPerSample;
- long numberOfSamples;
- short sampleFlags;
- };
- typedef struct SampleReferenceRecord SampleReferenceRecord;
- typedef SampleReferenceRecord * SampleReferencePtr;
- struct SampleReference64Record
- {
- wide dataOffset;
- unsigned long dataSize;
- TimeValue durationPerSample;
- unsigned long numberOfSamples;
- short sampleFlags;
- };
- typedef struct SampleReference64Record SampleReference64Record;
- typedef SampleReference64Record * SampleReference64Ptr;
-
- /*************************
- * Initialization Routines
- **************************/
- /*
- * CheckQuickTimeRegistration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CheckQuickTimeRegistration(
- void * registrationKey,
- long flags);
-
-
- /*
- * EnterMovies()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- EnterMovies(void);
-
-
- /*
- * ExitMovies()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ExitMovies(void);
-
-
- enum
- {
- kQTEnterMoviesFlagDontSetComponentsThreadMode = 1L << 0
- };
+typedef UInt32 AudioUnitRenderActionFlags;
+/* This sets the user defined exportset name i.e. fw_QuickTime_XManchego, available on 10.5 or later, and comment [4486184] */
+/* NOTE: Requires Interfacer-35 or later */
+/* <exportset=fw_QuickTime_XManchego> */
+/* <exportset=fw_QuickTime_XMaguro> */
+
+/* "kFix1" is defined in FixMath as "fixed1" */
+/* error codes are in Errors.[haa] */
+/* gestalt codes are in Gestalt.[hpa] */
+enum {
+ MovieFileType = FOUR_CHAR_CODE('MooV'),
+ MovieScrapType = FOUR_CHAR_CODE('moov')
+};
+
+enum {
+ MovieResourceType = FOUR_CHAR_CODE('moov'),
+ MovieForwardPointerResourceType = FOUR_CHAR_CODE('fore'),
+ MovieBackwardPointerResourceType = FOUR_CHAR_CODE('back')
+};
+
+enum {
+ MovieResourceAtomType = FOUR_CHAR_CODE('moov'),
+ MovieDataAtomType = FOUR_CHAR_CODE('mdat'),
+ FreeAtomType = FOUR_CHAR_CODE('free'),
+ SkipAtomType = FOUR_CHAR_CODE('skip'),
+ WideAtomPlaceholderType = FOUR_CHAR_CODE('wide')
+};
+
+enum {
+ MediaHandlerType = FOUR_CHAR_CODE('mhlr'),
+ DataHandlerType = FOUR_CHAR_CODE('dhlr')
+};
+
+enum {
+ VideoMediaType = FOUR_CHAR_CODE('vide'),
+ SoundMediaType = FOUR_CHAR_CODE('soun'),
+ TextMediaType = FOUR_CHAR_CODE('text'),
+ BaseMediaType = FOUR_CHAR_CODE('gnrc'),
+ MPEGMediaType = FOUR_CHAR_CODE('MPEG'),
+ MusicMediaType = FOUR_CHAR_CODE('musi'),
+ TimeCodeMediaType = FOUR_CHAR_CODE('tmcd'),
+ SpriteMediaType = FOUR_CHAR_CODE('sprt'),
+ FlashMediaType = FOUR_CHAR_CODE('flsh'),
+ MovieMediaType = FOUR_CHAR_CODE('moov'),
+ TweenMediaType = FOUR_CHAR_CODE('twen'),
+ ThreeDeeMediaType = FOUR_CHAR_CODE('qd3d'),
+ SkinMediaType = FOUR_CHAR_CODE('skin'),
+ HandleDataHandlerSubType = FOUR_CHAR_CODE('hndl'),
+ PointerDataHandlerSubType = FOUR_CHAR_CODE('ptr '),
+ NullDataHandlerSubType = FOUR_CHAR_CODE('null'),
+ ResourceDataHandlerSubType = FOUR_CHAR_CODE('rsrc'),
+ URLDataHandlerSubType = FOUR_CHAR_CODE('url '),
+ AliasDataHandlerSubType = FOUR_CHAR_CODE('alis'),
+ WiredActionHandlerType = FOUR_CHAR_CODE('wire'),
+ kQTQuartzComposerMediaType = FOUR_CHAR_CODE('qtz '),
+ TimeCode64MediaType = FOUR_CHAR_CODE('tc64')
+};
+
+enum {
+ VisualMediaCharacteristic = FOUR_CHAR_CODE('eyes'),
+ AudioMediaCharacteristic = FOUR_CHAR_CODE('ears'),
+ kCharacteristicCanSendVideo = FOUR_CHAR_CODE('vsnd'),
+ kCharacteristicProvidesActions = FOUR_CHAR_CODE('actn'),
+ kCharacteristicNonLinear = FOUR_CHAR_CODE('nonl'),
+ kCharacteristicCanStep = FOUR_CHAR_CODE('step'),
+ kCharacteristicHasNoDuration = FOUR_CHAR_CODE('noti'),
+ kCharacteristicHasSkinData = FOUR_CHAR_CODE('skin'),
+ kCharacteristicProvidesKeyFocus = FOUR_CHAR_CODE('keyf'),
+ kCharacteristicSupportsDisplayOffsets = FOUR_CHAR_CODE('dtdd')
+};
+
+enum {
+ kUserDataMovieControllerType = FOUR_CHAR_CODE('ctyp'),
+ kUserDataName = FOUR_CHAR_CODE('name'),
+ kUserDataTextAlbum = 0xA9616C62,
+ kUserDataTextArtist = 0xA9415254,
+ kUserDataTextAuthor = 0xA9617574,
+ kUserDataTextChapter = 0xA9636870,
+ kUserDataTextComment = 0xA9636D74,
+ kUserDataTextComposer = 0xA9636F6D,
+ kUserDataTextCopyright = 0xA9637079,
+ kUserDataTextCreationDate = 0xA9646179,
+ kUserDataTextDescription = 0xA9646573,
+ kUserDataTextDirector = 0xA9646972,
+ kUserDataTextDisclaimer = 0xA9646973,
+ kUserDataTextEncodedBy = 0xA9656E63,
+ kUserDataTextFullName = 0xA96E616D,
+ kUserDataTextGenre = 0xA967656E,
+ kUserDataTextHostComputer = 0xA9687374,
+ kUserDataTextInformation = 0xA9696E66,
+ kUserDataTextKeywords = 0xA96B6579,
+ kUserDataTextMake = 0xA96D616B,
+ kUserDataTextModel = 0xA96D6F64,
+ kUserDataTextOriginalArtist = 0xA96F7065,
+ kUserDataTextOriginalFormat = 0xA9666D74,
+ kUserDataTextOriginalSource = 0xA9737263,
+ kUserDataTextPerformers = 0xA9707266,
+ kUserDataTextProducer = 0xA9707264,
+ kUserDataTextProduct = 0xA9505244,
+ kUserDataTextSoftware = 0xA9737772,
+ kUserDataTextSpecialPlaybackRequirements = 0xA9726571,
+ kUserDataTextTrack = 0xA974726B,
+ kUserDataTextWarning = 0xA977726E,
+ kUserDataTextWriter = 0xA9777274,
+ kUserDataTextURLLink = 0xA975726C,
+ kUserDataTextEditDate1 = 0xA9656431,
+ kUserDataAnimatedGIFLoopCount = FOUR_CHAR_CODE('gifc'), /* data is big-endian UInt16 */
+ kQTAnimatedGIFLoopCountInfinite = 0,
+ kUserDataAnimatedGIFBufferingSize = FOUR_CHAR_CODE('gifb') /* data is big-endian UInt32 */
+};
+
+enum {
+ kUserDataUnicodeBit = 1L << 7
+};
+
+enum {
+ DoTheRightThing = 0
+};
+
+/* property types*/
+typedef OSType QTPropertyClass;
+typedef OSType QTPropertyID;
+typedef OSType QTPropertyValueType;
+typedef void * QTPropertyValuePtr;
+typedef const void * ConstQTPropertyValuePtr;
+typedef struct MovieType** Movie;
+typedef Movie * PtrToMovie;
+typedef struct TrackType** Track;
+typedef struct MediaType** Media;
+typedef struct UserDataRecord** UserData;
+typedef struct MovieStateRecord** MovieEditState;
+typedef struct TrackStateRecord** TrackEditState;
+typedef struct QTRestrictionSetRecord** QTRestrictionSet;
+typedef struct SpriteWorldRecord* SpriteWorld;
+typedef struct SpriteRecord* Sprite;
+typedef struct QTTweenerRecord* QTTweener;
+struct SampleDescription {
+ long descSize;
+ long dataFormat;
+ long resvd1;
+ short resvd2;
+ short dataRefIndex;
+};
+typedef struct SampleDescription SampleDescription;
+typedef SampleDescription * SampleDescriptionPtr;
+typedef SampleDescriptionPtr * SampleDescriptionHandle;
+enum {
+ kQTNetworkStatusNoNetwork = -2,
+ kQTNetworkStatusUncertain = -1,
+ kQTNetworkStatusNotConnected = 0,
+ kQTNetworkStatusConnected = 1
+};
+
+typedef Handle QTAtomContainer;
+typedef long QTAtom;
+typedef long QTAtomType;
+typedef long QTAtomID;
+/* QTFloatDouble is the 64-bit IEEE-754 standard*/
+typedef Float64 QTFloatDouble;
+/* QTFloatSingle is the 32-bit IEEE-754 standard*/
+typedef Float32 QTFloatSingle;
+/*************************
+ * SoundDescription
+ *************************/
+struct SoundDescription {
+ long descSize; /* total size of SoundDescription including extra data */
+ long dataFormat; /* sound format */
+ long resvd1; /* reserved for apple use. set to zero */
+ short resvd2; /* reserved for apple use. set to zero */
+ short dataRefIndex;
+ short version; /* which version is this data */
+ short revlevel; /* what version of that codec did this */
+ long vendor; /* whose codec compressed this data */
+ short numChannels; /* number of channels of sound */
+ short sampleSize; /* number of bits per sample */
+ short compressionID; /* unused. set to zero. */
+ short packetSize; /* unused. set to zero. */
+ UnsignedFixed sampleRate; /* sample rate sound is captured at */
+};
+typedef struct SoundDescription SoundDescription;
+typedef SoundDescription * SoundDescriptionPtr;
+typedef SoundDescriptionPtr * SoundDescriptionHandle;
+/* version 1 of the SoundDescription record*/
+struct SoundDescriptionV1 {
+ /* original fields*/
+ SoundDescription desc;
+ /* fixed compression ratio information*/
+ unsigned long samplesPerPacket;
+ unsigned long bytesPerPacket;
+ unsigned long bytesPerFrame;
+ unsigned long bytesPerSample;
+ /* additional atom based fields ([long size, long type, some data], repeat)*/
+};
+typedef struct SoundDescriptionV1 SoundDescriptionV1;
+typedef SoundDescriptionV1 * SoundDescriptionV1Ptr;
+typedef SoundDescriptionV1Ptr * SoundDescriptionV1Handle;
+/*
+ Definitions for SoundDescriptionV2:
+ LPCMFrame = one uncompressed sample in each of the channels (ie. 44100Hz audio has
+ 44100 LPCMFrames per second, whether it is mono, stereo, 5.1, or whatever).
+ In other words, LPCMFrames/audioSampleRate is duration in seconds.
+ AudioPacket = For compressed audio, an AudioPacket is the natural compressed access
+ unit of that format. For uncompressed audio, an AudioPacket is simply one
+ LPCMFrame.
+*/
+/* version 2 of the SoundDescription record*/
+struct SoundDescriptionV2 {
+ SInt32 descSize; /* total size of SoundDescription including extra data */
+ OSType dataFormat; /* 'lpcm' for uncompressed, compression type otherwise (eg. 'ima4') */
+ SInt32 resvd1; /* reserved for apple use. Must be set to zero */
+ SInt16 resvd2; /* reserved for apple use. Must be set to zero */
+ SInt16 dataRefIndex;
+ SInt16 version; /* which version is this data (2 in this case) */
+ SInt16 revlevel; /* what version of that codec did this */
+ SInt32 vendor; /* whose codec compressed this data */
+
+ SInt16 always3; /* Reserved, must be set to 3 */
+ SInt16 always16; /* Reserved, must be set to 16 (0x0010) */
+ SInt16 alwaysMinus2; /* Reserved, must be set to -2 (0xFFFE) */
+ SInt16 always0; /* Reserved, must be set to 0 */
+ UInt32 always65536; /* Reserved, must be set to 65536 (0x00010000) */
+
+ UInt32 sizeOfStructOnly; /* must be set to sizeof(SoundDescriptionV2), ie. offset to extensions */
+ Float64 audioSampleRate; /* audio frames per second, eg. 44100.0 */
+ UInt32 numAudioChannels; /* any channel assignment info will be in an extension */
+
+ SInt32 always7F000000; /* Reserved, must be set to 0x7F000000 */
+ UInt32 constBitsPerChannel; /* only set if constant (and only for uncompressed audio) */
+
+ UInt32 formatSpecificFlags; /* eg. see LPCM flag definitions in CoreAudioTypes.h */
+ UInt32 constBytesPerAudioPacket; /* only set if constant */
+ UInt32 constLPCMFramesPerAudioPacket; /* only set if constant */
+
+ /* additional atom based extensions ([long size, long type, some data], repeat)*/
+};
+typedef struct SoundDescriptionV2 SoundDescriptionV2;
+typedef SoundDescriptionV2 * SoundDescriptionV2Ptr;
+typedef SoundDescriptionV2Ptr * SoundDescriptionV2Handle;
+enum {
+ kQTSoundDescriptionKind_Movie_Version1 = FOUR_CHAR_CODE('mvv1'),
+ kQTSoundDescriptionKind_Movie_Version2 = FOUR_CHAR_CODE('mvv2'),
+ kQTSoundDescriptionKind_Movie_LowestPossibleVersion = FOUR_CHAR_CODE('mvlo'),
+ kQTSoundDescriptionKind_Movie_AnyVersion = FOUR_CHAR_CODE('mvny')
+};
+
+typedef FourCharCode QTSoundDescriptionKind;
+/*
+ * QTSoundDescriptionCreate()
+ *
+ * Summary:
+ * QTSoundDescriptionCreate creates a SoundDescription of the
+ * requested kind from an AudioStreamBasicDescription, optional
+ * AudioChannelLayout, and optional magic cookie.
+ * QTSoundDescriptionCreate allocates the returned
+ * SoundDescriptionHandle, and the caller is responsible for
+ * disposing it.
+ *
+ * Parameters:
+ *
+ * inASBD:
+ * a description of the format
+ *
+ * inLayout:
+ * the audio channel layout (can be NULL if there isn't one)
+ *
+ * inLayoutSize:
+ * size of the audio channel layout (should be 0 if inLayout is
+ * NULL)
+ *
+ * inMagicCookie:
+ * the magic cookie for the decompressor (can be NULL if there
+ * isn't one)
+ *
+ * inMagicCookieSize:
+ * size of the magic cookie (should be 0 if inMagicCookie is NULL)
+ *
+ * inRequestedKind:
+ * the kind of SoundDescription to create
+ *
+ * outSoundDesc:
+ * the resulting SoundDescription. Caller must dispose with
+ * DisposeHandle.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSoundDescriptionCreate(
+ AudioStreamBasicDescription * inASBD,
+ AudioChannelLayout * inLayout,
+ ByteCount inLayoutSize,
+ void * inMagicCookie,
+ ByteCount inMagicCookieSize,
+ QTSoundDescriptionKind inRequestedKind,
+ SoundDescriptionHandle * outSoundDesc);
+
+
+/*
+ * QTSoundDescriptionConvert()
+ *
+ * Summary:
+ * Converts from one kind of SoundDescription to another. Note that
+ * fromKind is reserved for future expansion. You must set it to
+ * kSoundDescriptionKind_Movie_AnyVersion. You can specify (via
+ * toKind) that you would like a specific SoundDescription version,
+ * the lowest possible version (given the constraints of the format
+ * described by fromDescription), or any version of SoundDescription
+ * at all. QTSoundDescriptionConvert allocates the returned
+ * SoundDescriptionHandle and the caller is responsible for
+ * disposing it.
+ *
+ * Parameters:
+ *
+ * fromKind:
+ * reserved, must be set to kSoundDescriptionKind_Movie_AnyVersion
+ *
+ * fromDescription:
+ * input description to be converted
+ *
+ * toKind:
+ * kind of description toDescription will be
+ *
+ * toDescription:
+ * the resulting SoundDescription. Caller must dispose with
+ * DisposeHandle.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSoundDescriptionConvert(
+ QTSoundDescriptionKind fromKind,
+ SoundDescriptionHandle fromDescription,
+ QTSoundDescriptionKind toKind,
+ SoundDescriptionHandle * toDescription);
+
+
+
+/* SoundDescription Properties*/
+
+/*
+ */
+enum {
+
+ /*
+ * Properties of a SoundDescription
+ */
+ kQTPropertyClass_SoundDescription = FOUR_CHAR_CODE('sdes') /* class for SoundDescription properties*/
+};
+
+
+/*
+ */
+enum {
+
+ /*
+ * kQTSoundDescriptionPropertyID_AudioChannelLayout: Value is
+ * AudioChannelLayout (Get/Set) Note that this is a variable sized
+ * property (since it may contain an array of ChannelDescriptions;
+ * see CoreAudioTypes.h). You must get the size first (by calling
+ * QTSoundDescriptionGetPropertyInfo), allocate a struct of that
+ * size, and then get the property.
+ */
+ kQTSoundDescriptionPropertyID_AudioChannelLayout = FOUR_CHAR_CODE('clay'),
+
+ /*
+ * kQTSoundDescriptionPropertyID_MagicCookie: Value is opaque bytes
+ * (Get/Set) Note that this is a variable sized property (since it is
+ * completely defined by the codec in question). You must get the
+ * size first (by calling QTSoundDescriptionGetPropertyInfo),
+ * allocate a struct of that size, and then get the property.
+ */
+ kQTSoundDescriptionPropertyID_MagicCookie = FOUR_CHAR_CODE('kuki'),
+
+ /*
+ * kQTSoundDescriptionPropertyID_AudioStreamBasicDescription: Value
+ * is AudioStreamBasicDescription (Get only)
+ */
+ kQTSoundDescriptionPropertyID_AudioStreamBasicDescription = FOUR_CHAR_CODE('asbd'),
+
+ /*
+ * kQTSoundDescriptionPropertyID_BitRate: Value is UInt32 in bits per
+ * second (Get only) kQTSoundDescriptionPropertyID_BitRate Note that
+ * this property may not be available for formats that are inherently
+ * very variable in bitrate and highly source-data dependent (such as
+ * Apple Lossless).
+ */
+ kQTSoundDescriptionPropertyID_BitRate = FOUR_CHAR_CODE('brat'),
+
+ /*
+ * kQTSoundDescriptionPropertyID_UserReadableText: Value is
+ * CFStringRef (Get only) QTSoundDescriptionGetProperty does a
+ * CFRetain of the returned CFString on behalf of the caller, so the
+ * caller is responsible for calling CFRelease on the returned
+ * CFString.
+ */
+ kQTSoundDescriptionPropertyID_UserReadableText = FOUR_CHAR_CODE('text')
+};
+
+/*
+ * QTSoundDescriptionGetPropertyInfo()
+ *
+ * Summary:
+ * Gets info about a particular property of a SoundDescription.
+ *
+ * Parameters:
+ *
+ * inDesc:
+ * SoundDescription being interrogated
+ *
+ * inPropClass:
+ * class of property being requested
+ *
+ * inPropID:
+ * ID of property being requested
+ *
+ * outPropType:
+ * type of property is returned here (can be NULL)
+ *
+ * outPropValueSize:
+ * size of property is returned here (can be NULL)
+ *
+ * outPropertyFlags:
+ * property flags are returned here (can be NULL)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSoundDescriptionGetPropertyInfo(
+ SoundDescriptionHandle inDesc,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTPropertyValueType * outPropType,
+ ByteCount * outPropValueSize,
+ UInt32 * outPropertyFlags);
+
+
+/*
+ * QTSoundDescriptionGetProperty()
+ *
+ * Summary:
+ * Gets a particular property of a SoundDescription.
+ *
+ * Parameters:
+ *
+ * inDesc:
+ * SoundDescription being interrogated
+ *
+ * inPropClass:
+ * class of property being requested
+ *
+ * inPropID:
+ * ID of property being requested
+ *
+ * inPropValueSize:
+ * size of property value buffer
+ *
+ * outPropValueAddress:
+ * pointer to property value buffer
+ *
+ * outPropValueSizeUsed:
+ * actual size of returned property value (can be NULL)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSoundDescriptionGetProperty(
+ SoundDescriptionHandle inDesc,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ QTPropertyValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed);
+
+
+/*
+ * QTSoundDescriptionSetProperty()
+ *
+ * Summary:
+ * Sets a particular property of a SoundDescription.
+ *
+ * Parameters:
+ *
+ * inDesc:
+ * SoundDescription being modified
+ *
+ * inPropClass:
+ * class of property being set
+ *
+ * inPropID:
+ * ID of property being set
+ *
+ * inPropValueSize:
+ * size of property value buffer
+ *
+ * inPropValueAddress:
+ * pointer to property value buffer
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSoundDescriptionSetProperty(
+ SoundDescriptionHandle inDesc,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstQTPropertyValuePtr inPropValueAddress);
+
+
+
+/* Sound Description Extensions*/
+
+/*
+ * AddSoundDescriptionExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddSoundDescriptionExtension(
+ SoundDescriptionHandle desc,
+ Handle extension,
+ OSType idType);
+
+
+/*
+ * GetSoundDescriptionExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetSoundDescriptionExtension(
+ SoundDescriptionHandle desc,
+ Handle * extension,
+ OSType idType);
+
+
+/*
+ * RemoveSoundDescriptionExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveSoundDescriptionExtension(
+ SoundDescriptionHandle desc,
+ OSType idType);
+
+
+
+
+
+enum {
+ kTx3gSampleType = FOUR_CHAR_CODE('tx3g'),
+ kTx3gFontTableAtomType = FOUR_CHAR_CODE('ftab'),
+ kTx3gBlinkAtomType = FOUR_CHAR_CODE('blnk')
+};
+
+struct Tx3gRGBAColor {
+ unsigned char red;
+ unsigned char green;
+ unsigned char blue;
+ unsigned char transparency;
+};
+typedef struct Tx3gRGBAColor Tx3gRGBAColor;
+struct Tx3gStyleRecord {
+ unsigned short startChar;
+ unsigned short endChar;
+ unsigned short fontID;
+ unsigned char fontFace;
+ unsigned char fontSize;
+ Tx3gRGBAColor fontColor;
+};
+typedef struct Tx3gStyleRecord Tx3gStyleRecord;
+typedef Tx3gStyleRecord * Tx3gStylePtr;
+typedef Tx3gStylePtr * Tx3gStyleHandle;
+struct Tx3gStyleTableRecord {
+ unsigned short count;
+ Tx3gStyleRecord table[1];
+};
+typedef struct Tx3gStyleTableRecord Tx3gStyleTableRecord;
+typedef Tx3gStyleTableRecord * Tx3gStyleTablePtr;
+typedef Tx3gStyleTablePtr * Tx3gStyleTableHandle;
+struct Tx3gFontRecord {
+ unsigned short fontID;
+ unsigned char nameLength;
+ unsigned char name[1];
+};
+typedef struct Tx3gFontRecord Tx3gFontRecord;
+typedef Tx3gFontRecord * Tx3gFontRecordPtr;
+struct Tx3gFontTableRecord {
+ unsigned short entryCount;
+ Tx3gFontRecord fontEntries[1];
+};
+typedef struct Tx3gFontTableRecord Tx3gFontTableRecord;
+typedef Tx3gFontTableRecord * Tx3gFontTablePtr;
+typedef Tx3gFontTablePtr * Tx3gFontTableHandle;
+struct Tx3gDescription {
+ long descSize;
+ long dataFormat;
+ long resvd1;
+ short resvd2;
+ short dataRefIndex;
+
+ unsigned long displayFlags;
+ char horizontalJustification;
+ char verticalJustification;
+ Tx3gRGBAColor backgroundColor;
+ Rect defaultTextBox;
+ Tx3gStyleRecord defaultStyle;
+};
+typedef struct Tx3gDescription Tx3gDescription;
+typedef Tx3gDescription * Tx3gDescriptionPtr;
+typedef Tx3gDescriptionPtr * Tx3gDescriptionHandle;
+struct TextDescription {
+ long descSize; /* Total size of TextDescription*/
+ long dataFormat; /* 'text'*/
+
+ long resvd1;
+ short resvd2;
+ short dataRefIndex;
+
+ long displayFlags; /* see enum below for flag values*/
+
+ long textJustification; /* Can be: teCenter,teFlush -Default,-Right,-Left*/
+
+ RGBColor bgColor; /* Background color*/
+
+ Rect defaultTextBox; /* Location to place the text within the track bounds*/
+ ScrpSTElement defaultStyle; /* Default style (struct defined in TextEdit.h)*/
+ char defaultFontName[1]; /* Font Name (pascal string - struct extended to fit) */
+};
+typedef struct TextDescription TextDescription;
+typedef TextDescription * TextDescriptionPtr;
+typedef TextDescriptionPtr * TextDescriptionHandle;
+struct SpriteDescription {
+ long descSize; /* total size of SpriteDescription including extra data */
+ long dataFormat; /* */
+ long resvd1; /* reserved for apple use */
+ short resvd2;
+ short dataRefIndex;
+ long version; /* which version is this data */
+ OSType decompressorType; /* which decompressor to use, 0 for no decompression */
+ long sampleFlags; /* how to interpret samples */
+};
+typedef struct SpriteDescription SpriteDescription;
+typedef SpriteDescription * SpriteDescriptionPtr;
+typedef SpriteDescriptionPtr * SpriteDescriptionHandle;
+struct FlashDescription {
+ long descSize;
+ long dataFormat;
+ long resvd1;
+ short resvd2;
+ short dataRefIndex;
+ long version; /* which version is this data */
+ OSType decompressorType; /* which decompressor to use, 0 for no decompression */
+ long flags;
+};
+typedef struct FlashDescription FlashDescription;
+typedef FlashDescription * FlashDescriptionPtr;
+typedef FlashDescriptionPtr * FlashDescriptionHandle;
+struct ThreeDeeDescription {
+ long descSize; /* total size of ThreeDeeDescription including extra data */
+ long dataFormat; /* */
+ long resvd1; /* reserved for apple use */
+ short resvd2;
+ short dataRefIndex;
+ long version; /* which version is this data */
+ long rendererType; /* which renderer to use, 0 for default */
+ long decompressorType; /* which decompressor to use, 0 for default */
+};
+typedef struct ThreeDeeDescription ThreeDeeDescription;
+typedef ThreeDeeDescription * ThreeDeeDescriptionPtr;
+typedef ThreeDeeDescriptionPtr * ThreeDeeDescriptionHandle;
+struct DataReferenceRecord {
+ OSType dataRefType;
+ Handle dataRef;
+};
+typedef struct DataReferenceRecord DataReferenceRecord;
+typedef DataReferenceRecord * DataReferencePtr;
+/*--------------------------
+ Music Sample Description
+--------------------------*/
+struct MusicDescription {
+ long descSize;
+ long dataFormat; /* 'musi' */
+
+ long resvd1;
+ short resvd2;
+ short dataRefIndex;
+
+ long musicFlags;
+ unsigned long headerData[1]; /* variable size! */
+
+};
+typedef struct MusicDescription MusicDescription;
+typedef MusicDescription * MusicDescriptionPtr;
+typedef MusicDescriptionPtr * MusicDescriptionHandle;
+enum {
+ kMusicFlagDontPlay2Soft = 1L << 0,
+ kMusicFlagDontSlaveToMovie = 1L << 1
+};
+
+
+enum {
+ dfDontDisplay = 1 << 0, /* Don't display the text*/
+ dfDontAutoScale = 1 << 1, /* Don't scale text as track bounds grows or shrinks*/
+ dfClipToTextBox = 1 << 2, /* Clip update to the textbox*/
+ dfUseMovieBGColor = 1 << 3, /* Set text background to movie's background color*/
+ dfShrinkTextBoxToFit = 1 << 4, /* Compute minimum box to fit the sample*/
+ dfScrollIn = 1 << 5, /* Scroll text in until last of text is in view */
+ dfScrollOut = 1 << 6, /* Scroll text out until last of text is gone (if both set, scroll in then out)*/
+ dfHorizScroll = 1 << 7, /* Scroll text horizontally (otherwise it's vertical)*/
+ dfReverseScroll = 1 << 8, /* vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)*/
+ dfContinuousScroll = 1 << 9, /* new samples cause previous samples to scroll out */
+ dfFlowHoriz = 1 << 10, /* horiz scroll text flows in textbox rather than extend to right */
+ dfContinuousKaraoke = 1 << 11, /* ignore begin offset, hilite everything up to the end offset(karaoke)*/
+ dfDropShadow = 1 << 12, /* display text with a drop shadow */
+ dfAntiAlias = 1 << 13, /* attempt to display text anti aliased*/
+ dfKeyedText = 1 << 14, /* key the text over background*/
+ dfInverseHilite = 1 << 15, /* Use inverse hiliting rather than using hilite color*/
+ dfTextColorHilite = 1 << 16 /* changes text color in place of hiliting. */
+};
+
+enum {
+ searchTextDontGoToFoundTime = 1L << 16,
+ searchTextDontHiliteFoundText = 1L << 17,
+ searchTextOneTrackOnly = 1L << 18,
+ searchTextEnabledTracksOnly = 1L << 19
+};
+
+/*use these with the text property routines*/
+enum {
+ /* set property parameter / get property parameter*/
+ kTextTextHandle = 1, /* Handle / preallocated Handle*/
+ kTextTextPtr = 2, /* Pointer*/
+ kTextTEStyle = 3, /* TextStyle * / TextStyle **/
+ kTextSelection = 4, /* long [2] / long [2]*/
+ kTextBackColor = 5, /* RGBColor * / RGBColor **/
+ kTextForeColor = 6, /* RGBColor * / RGBColor **/
+ kTextFace = 7, /* long / long **/
+ kTextFont = 8, /* long / long **/
+ kTextSize = 9, /* long / long **/
+ kTextAlignment = 10, /* short * / short **/
+ kTextHilite = 11, /* hiliteRecord * / hiliteRecord **/
+ kTextDropShadow = 12, /* dropShadowRecord * / dropShadowRecord **/
+ kTextDisplayFlags = 13, /* long / long **/
+ kTextScroll = 14, /* TimeValue * / TimeValue **/
+ kTextRelativeScroll = 15, /* Point **/
+ kTextHyperTextFace = 16, /* hyperTextSetFace * / hyperTextSetFace **/
+ kTextHyperTextColor = 17, /* hyperTextSetColor * / hyperTextSetColor **/
+ kTextKeyEntry = 18, /* short*/
+ kTextMouseDown = 19, /* Point **/
+ kTextTextBox = 20, /* Rect * / Rect **/
+ kTextEditState = 21, /* short / short **/
+ kTextLength = 22 /* / long **/
+};
+
+enum {
+ k3DMediaRendererEntry = FOUR_CHAR_CODE('rend'),
+ k3DMediaRendererName = FOUR_CHAR_CODE('name'),
+ k3DMediaRendererCode = FOUR_CHAR_CODE('rcod')
+};
+
+/* progress messages */
+enum {
+ movieProgressOpen = 0,
+ movieProgressUpdatePercent = 1,
+ movieProgressClose = 2
+};
+
+/* progress operations */
+enum {
+ progressOpFlatten = 1,
+ progressOpInsertTrackSegment = 2,
+ progressOpInsertMovieSegment = 3,
+ progressOpPaste = 4,
+ progressOpAddMovieSelection = 5,
+ progressOpCopy = 6,
+ progressOpCut = 7,
+ progressOpLoadMovieIntoRam = 8,
+ progressOpLoadTrackIntoRam = 9,
+ progressOpLoadMediaIntoRam = 10,
+ progressOpImportMovie = 11,
+ progressOpExportMovie = 12
+};
+
+enum {
+ mediaQualityDraft = 0x0000,
+ mediaQualityNormal = 0x0040,
+ mediaQualityBetter = 0x0080,
+ mediaQualityBest = 0x00C0
+};
+
+/*****
+ Interactive Sprites Support
+*****/
+/* QTEventRecord flags*/
+enum {
+ kQTEventPayloadIsQTList = 1L << 0
+};
+
+struct QTEventRecord {
+ long version;
+ OSType eventType;
+ Point where;
+ long flags;
+ long payloadRefcon; /* from here down only present if version >= 2*/
+ long param1;
+ long param2;
+ long param3;
+};
+typedef struct QTEventRecord QTEventRecord;
+typedef QTEventRecord * QTEventRecordPtr;
+struct QTAtomSpec {
+ QTAtomContainer container;
+ QTAtom atom;
+};
+typedef struct QTAtomSpec QTAtomSpec;
+typedef QTAtomSpec * QTAtomSpecPtr;
+struct ResolvedQTEventSpec {
+ QTAtomSpec actionAtom;
+ Track targetTrack;
+ long targetRefCon;
+};
+typedef struct ResolvedQTEventSpec ResolvedQTEventSpec;
+typedef ResolvedQTEventSpec * ResolvedQTEventSpecPtr;
+
+/* action constants */
+enum {
+ kActionMovieSetVolume = 1024, /* (short movieVolume) */
+ kActionMovieSetRate = 1025, /* (Fixed rate) */
+ kActionMovieSetLoopingFlags = 1026, /* (long loopingFlags) */
+ kActionMovieGoToTime = 1027, /* (TimeValue time) */
+ kActionMovieGoToTimeByName = 1028, /* (Str255 timeName) */
+ kActionMovieGoToBeginning = 1029, /* no params */
+ kActionMovieGoToEnd = 1030, /* no params */
+ kActionMovieStepForward = 1031, /* no params */
+ kActionMovieStepBackward = 1032, /* no params */
+ kActionMovieSetSelection = 1033, /* (TimeValue startTime, TimeValue endTime) */
+ kActionMovieSetSelectionByName = 1034, /* (Str255 startTimeName, Str255 endTimeName) */
+ kActionMoviePlaySelection = 1035, /* (Boolean selectionOnly) */
+ kActionMovieSetLanguage = 1036, /* (long language) */
+ kActionMovieChanged = 1037, /* no params */
+ kActionMovieRestartAtTime = 1038, /* (TimeValue startTime, Fixed rate) */
+ kActionMovieGotoNextChapter = 1039, /* no params */
+ kActionMovieGotoPreviousChapter = 1040, /* no params */
+ kActionMovieGotoFirstChapter = 1041, /* no params */
+ kActionMovieGotoLastChapter = 1042, /* no params */
+ kActionMovieGotoChapterByIndex = 1043, /* ( short index ) */
+ kActionMovieSetScale = 1044, /* (Fixed xScale, Fixed yScale) */
+ kActionTrackSetVolume = 2048, /* (short volume) */
+ kActionTrackSetBalance = 2049, /* (short balance) */
+ kActionTrackSetEnabled = 2050, /* (Boolean enabled) */
+ kActionTrackSetMatrix = 2051, /* (MatrixRecord matrix) */
+ kActionTrackSetLayer = 2052, /* (short layer) */
+ kActionTrackSetClip = 2053, /* (RgnHandle clip) */
+ kActionTrackSetCursor = 2054, /* (QTATomID cursorID) */
+ kActionTrackSetGraphicsMode = 2055, /* (ModifierTrackGraphicsModeRecord graphicsMode) */
+ kActionTrackSetIdleFrequency = 2056, /* (long frequency) */
+ kActionTrackSetBassTreble = 2057, /* (short base, short treble) */
+ kActionSpriteSetMatrix = 3072, /* (MatrixRecord matrix) */
+ kActionSpriteSetImageIndex = 3073, /* (short imageIndex) */
+ kActionSpriteSetVisible = 3074, /* (short visible) */
+ kActionSpriteSetLayer = 3075, /* (short layer) */
+ kActionSpriteSetGraphicsMode = 3076, /* (ModifierTrackGraphicsModeRecord graphicsMode) */
+ kActionSpritePassMouseToCodec = 3078, /* no params */
+ kActionSpriteClickOnCodec = 3079, /* Point localLoc */
+ kActionSpriteTranslate = 3080, /* (Fixed x, Fixed y, Boolean isAbsolute) */
+ kActionSpriteScale = 3081, /* (Fixed xScale, Fixed yScale) */
+ kActionSpriteRotate = 3082, /* (Fixed degrees) */
+ kActionSpriteStretch = 3083, /* (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y) */
+ kActionSpriteSetCanBeHitTested = 3094, /* (short canBeHitTested) */
+ kActionQTVRSetPanAngle = 4096, /* (float panAngle) */
+ kActionQTVRSetTiltAngle = 4097, /* (float tiltAngle) */
+ kActionQTVRSetFieldOfView = 4098, /* (float fieldOfView) */
+ kActionQTVRShowDefaultView = 4099, /* no params */
+ kActionQTVRGoToNodeID = 4100, /* (UInt32 nodeID) */
+ kActionQTVREnableHotSpot = 4101, /* long ID, Boolean enable */
+ kActionQTVRShowHotSpots = 4102, /* Boolean show */
+ kActionQTVRTranslateObject = 4103, /* float xMove, float yMove */
+ kActionQTVRSetViewState = 4109, /* long viewStateType, short state */
+ kActionMusicPlayNote = 5120, /* (long sampleDescIndex, long partNumber, long delay, long pitch, long velocity, long duration) */
+ kActionMusicSetController = 5121, /* (long sampleDescIndex, long partNumber, long delay, long controller, long value) */
+ kActionCase = 6144, /* [(CaseStatementActionAtoms)] */
+ kActionWhile = 6145, /* [(WhileStatementActionAtoms)] */
+ kActionGoToURL = 6146, /* (C string urlLink) */
+ kActionSendQTEventToSprite = 6147, /* ([(SpriteTargetAtoms)], QTEventRecord theEvent) */
+ kActionDebugStr = 6148, /* (Str255 theString) */
+ kActionPushCurrentTime = 6149, /* no params */
+ kActionPushCurrentTimeWithLabel = 6150, /* (Str255 theLabel) */
+ kActionPopAndGotoTopTime = 6151, /* no params */
+ kActionPopAndGotoLabeledTime = 6152, /* (Str255 theLabel) */
+ kActionStatusString = 6153, /* (C string theString, long stringTypeFlags) */
+ kActionSendQTEventToTrackObject = 6154, /* ([(TrackObjectTargetAtoms)], QTEventRecord theEvent) */
+ kActionAddChannelSubscription = 6155, /* (Str255 channelName, C string channelsURL, C string channelsPictureURL) */
+ kActionRemoveChannelSubscription = 6156, /* (C string channelsURL) */
+ kActionOpenCustomActionHandler = 6157, /* (long handlerID, ComponentDescription handlerDesc) */
+ kActionDoScript = 6158, /* (long scriptTypeFlags, CString command, CString arguments) */
+ kActionDoCompressedActions = 6159, /* (compressed QTAtomContainer prefixed with eight bytes: long compressorType, long decompressedSize) */
+ kActionSendAppMessage = 6160, /* (long appMessageID) */
+ kActionLoadComponent = 6161, /* (ComponentDescription handlerDesc) */
+ kActionSetFocus = 6162, /* [(TargetAtoms theObject)] */
+ kActionDontPassKeyEvent = 6163, /* no params */
+ kActionSetRandomSeed = 6164, /* long randomSeed */
+ kActionSpriteTrackSetVariable = 7168, /* (QTAtomID variableID, float value) */
+ kActionSpriteTrackNewSprite = 7169, /* (QTAtomID spriteID, short imageIndex, MatrixRecord *matrix, short visible, short layer, ModifierTrackGraphicsModeRecord *graphicsMode, QTAtomID actionHandlingSpriteID) */
+ kActionSpriteTrackDisposeSprite = 7170, /* (QTAtomID spriteID) */
+ kActionSpriteTrackSetVariableToString = 7171, /* (QTAtomID variableID, C string value) */
+ kActionSpriteTrackConcatVariables = 7172, /* (QTAtomID firstVariableID, QTAtomID secondVariableID, QTAtomID resultVariableID ) */
+ kActionSpriteTrackSetVariableToMovieURL = 7173, /* (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) */
+ kActionSpriteTrackSetVariableToMovieBaseURL = 7174, /* (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) */
+ kActionSpriteTrackSetAllSpritesHitTestingMode = 7181,
+ kActionSpriteTrackNewImage = 7182, /* (C string imageURL, QTAtomID desiredID) */
+ kActionSpriteTrackDisposeImage = 7183, /* (short imageIndex) */
+ kActionApplicationNumberAndString = 8192, /* (long aNumber, Str255 aString ) */
+ kActionQD3DNamedObjectTranslateTo = 9216, /* (Fixed x, Fixed y, Fixed z ) */
+ kActionQD3DNamedObjectScaleTo = 9217, /* (Fixed xScale, Fixed yScale, Fixed zScale ) */
+ kActionQD3DNamedObjectRotateTo = 9218, /* (Fixed xDegrees, Fixed yDegrees, Fixed zDegrees ) */
+ kActionFlashTrackSetPan = 10240, /* (short xPercent, short yPercent ) */
+ kActionFlashTrackSetZoom = 10241, /* (short zoomFactor ) */
+ kActionFlashTrackSetZoomRect = 10242, /* (long left, long top, long right, long bottom ) */
+ kActionFlashTrackGotoFrameNumber = 10243, /* (long frameNumber ) */
+ kActionFlashTrackGotoFrameLabel = 10244, /* (C string frameLabel ) */
+ kActionFlashTrackSetFlashVariable = 10245, /* (C string path, C string name, C string value, Boolean updateFocus) */
+ kActionFlashTrackDoButtonActions = 10246, /* (C string path, long buttonID, long transition) */
+ kActionMovieTrackAddChildMovie = 11264, /* (QTAtomID childMovieID, C string childMovieURL) */
+ kActionMovieTrackLoadChildMovie = 11265, /* (QTAtomID childMovieID) */
+ kActionMovieTrackLoadChildMovieWithQTListParams = 11266, /* (QTAtomID childMovieID, C string qtlistXML) */
+ kActionTextTrackPasteText = 12288, /* (C string theText, long startSelection, long endSelection ) */
+ kActionTextTrackSetTextBox = 12291, /* (short left, short top, short right, short bottom) */
+ kActionTextTrackSetTextStyle = 12292, /* (Handle textStyle) */
+ kActionTextTrackSetSelection = 12293, /* (long startSelection, long endSelection ) */
+ kActionTextTrackSetBackgroundColor = 12294, /* (ModifierTrackGraphicsModeRecord backgroundColor ) */
+ kActionTextTrackSetForegroundColor = 12295, /* (ModifierTrackGraphicsModeRecord foregroundColor ) */
+ kActionTextTrackSetFace = 12296, /* (long fontFace ) */
+ kActionTextTrackSetFont = 12297, /* (long fontID ) */
+ kActionTextTrackSetSize = 12298, /* (long fontSize ) */
+ kActionTextTrackSetAlignment = 12299, /* (short alignment ) */
+ kActionTextTrackSetHilite = 12300, /* (long startHighlight, long endHighlight, ModifierTrackGraphicsModeRecord highlightColor ) */
+ kActionTextTrackSetDropShadow = 12301, /* (Point dropShadow, short transparency ) */
+ kActionTextTrackSetDisplayFlags = 12302, /* (long flags ) */
+ kActionTextTrackSetScroll = 12303, /* (long delay ) */
+ kActionTextTrackRelativeScroll = 12304, /* (short deltaX, short deltaY ) */
+ kActionTextTrackFindText = 12305, /* (long flags, Str255 theText, ModifierTrackGraphicsModeRecord highlightColor ) */
+ kActionTextTrackSetHyperTextFace = 12306, /* (short index, long fontFace ) */
+ kActionTextTrackSetHyperTextColor = 12307, /* (short index, ModifierTrackGraphicsModeRecord highlightColor ) */
+ kActionTextTrackKeyEntry = 12308, /* (short character ) */
+ kActionTextTrackMouseDown = 12309, /* no params */
+ kActionTextTrackSetEditable = 12310, /* (short editState) */
+ kActionListAddElement = 13312, /* (C string parentPath, long atIndex, C string newElementName) */
+ kActionListRemoveElements = 13313, /* (C string parentPath, long startIndex, long endIndex) */
+ kActionListSetElementValue = 13314, /* (C string elementPath, C string valueString) */
+ kActionListPasteFromXML = 13315, /* (C string xml, C string targetParentPath, long startIndex) */
+ kActionListSetMatchingFromXML = 13316, /* (C string xml, C string targetParentPath) */
+ kActionListSetFromURL = 13317, /* (C string url, C string targetParentPath ) */
+ kActionListExchangeLists = 13318, /* (C string url, C string parentPath) */
+ kActionListServerQuery = 13319, /* (C string url, C string keyValuePairs, long flags, C string parentPath) */
+ kActionListAddAttribute = 13320, /* (C string elementPath, long atIndex, C string newAttributeName) */
+ kActionListRemoveAttributes = 13321, /* (C string elementPath, long startIndex, long endIndex) */
+ kActionListSetAttributeValue = 13322 /* (C string elementPath, C string attributeName, C string valueString) */
+};
+
+
+enum {
+ kOperandExpression = 1,
+ kOperandConstant = 2,
+ kOperandSubscribedToChannel = 3, /* C string channelsURL */
+ kOperandUniqueCustomActionHandlerID = 4,
+ kOperandCustomActionHandlerIDIsOpen = 5, /* long ID */
+ kOperandConnectionSpeed = 6,
+ kOperandGMTDay = 7,
+ kOperandGMTMonth = 8,
+ kOperandGMTYear = 9,
+ kOperandGMTHours = 10,
+ kOperandGMTMinutes = 11,
+ kOperandGMTSeconds = 12,
+ kOperandLocalDay = 13,
+ kOperandLocalMonth = 14,
+ kOperandLocalYear = 15,
+ kOperandLocalHours = 16,
+ kOperandLocalMinutes = 17,
+ kOperandLocalSeconds = 18,
+ kOperandRegisteredForQuickTimePro = 19,
+ kOperandPlatformRunningOn = 20,
+ kOperandQuickTimeVersion = 21,
+ kOperandComponentVersion = 22, /* C string type, C string subType, C string manufacturer */
+ kOperandOriginalHandlerRefcon = 23,
+ kOperandTicks = 24,
+ kOperandMaxLoadedTimeInMovie = 25,
+ kOperandEventParameter = 26, /* short index */
+ kOperandFreeMemory = 27,
+ kOperandNetworkStatus = 28,
+ kOperandQuickTimeVersionRegistered = 29, /* long version */
+ kOperandSystemVersion = 30,
+ kOperandMovieVolume = 1024,
+ kOperandMovieRate = 1025,
+ kOperandMovieIsLooping = 1026,
+ kOperandMovieLoopIsPalindrome = 1027,
+ kOperandMovieTime = 1028,
+ kOperandMovieDuration = 1029,
+ kOperandMovieTimeScale = 1030,
+ kOperandMovieWidth = 1031,
+ kOperandMovieHeight = 1032,
+ kOperandMovieLoadState = 1033,
+ kOperandMovieTrackCount = 1034,
+ kOperandMovieIsActive = 1035,
+ kOperandMovieName = 1036,
+ kOperandMovieID = 1037,
+ kOperandMovieChapterCount = 1038,
+ kOperandMovieChapterIndex = 1039,
+ kOperandMovieChapterName = 1040,
+ kOperandMovieChapterNameByIndex = 1041, /* ( short index ) */
+ kOperandMovieChapterIndexByName = 1042, /* (c string name) */
+ kOperandMovieAnnotation = 1043, /* (c string requested, long flags) */
+ kOperandMovieConnectionFlags = 1044,
+ kOperandMovieConnectionString = 1045,
+ kOperandTrackVolume = 2048,
+ kOperandTrackBalance = 2049,
+ kOperandTrackEnabled = 2050,
+ kOperandTrackLayer = 2051,
+ kOperandTrackWidth = 2052,
+ kOperandTrackHeight = 2053,
+ kOperandTrackDuration = 2054,
+ kOperandTrackName = 2055,
+ kOperandTrackID = 2056,
+ kOperandTrackIdleFrequency = 2057,
+ kOperandTrackBass = 2058,
+ kOperandTrackTreble = 2059,
+ kOperandSpriteBoundsLeft = 3072,
+ kOperandSpriteBoundsTop = 3073,
+ kOperandSpriteBoundsRight = 3074,
+ kOperandSpriteBoundsBottom = 3075,
+ kOperandSpriteImageIndex = 3076,
+ kOperandSpriteVisible = 3077,
+ kOperandSpriteLayer = 3078,
+ kOperandSpriteTrackVariable = 3079, /* [QTAtomID variableID] */
+ kOperandSpriteTrackNumSprites = 3080,
+ kOperandSpriteTrackNumImages = 3081,
+ kOperandSpriteID = 3082,
+ kOperandSpriteIndex = 3083,
+ kOperandSpriteFirstCornerX = 3084,
+ kOperandSpriteFirstCornerY = 3085,
+ kOperandSpriteSecondCornerX = 3086,
+ kOperandSpriteSecondCornerY = 3087,
+ kOperandSpriteThirdCornerX = 3088,
+ kOperandSpriteThirdCornerY = 3089,
+ kOperandSpriteFourthCornerX = 3090,
+ kOperandSpriteFourthCornerY = 3091,
+ kOperandSpriteImageRegistrationPointX = 3092,
+ kOperandSpriteImageRegistrationPointY = 3093,
+ kOperandSpriteTrackSpriteIDAtPoint = 3094, /* short x, short y */
+ kOperandSpriteName = 3095,
+ kOperandSpriteCanBeHitTested = 3105, /* short */
+ kOperandSpriteTrackAllSpritesHitTestingMode = 3106,
+ kOperandSpriteTrackImageIDByIndex = 3107, /* short imageIndex */
+ kOperandSpriteTrackImageIndexByID = 3108, /* QTAtomID */
+ kOperandQTVRPanAngle = 4096,
+ kOperandQTVRTiltAngle = 4097,
+ kOperandQTVRFieldOfView = 4098,
+ kOperandQTVRNodeID = 4099,
+ kOperandQTVRHotSpotsVisible = 4100,
+ kOperandQTVRViewCenterH = 4101,
+ kOperandQTVRViewCenterV = 4102,
+ kOperandQTVRViewStateCount = 4103,
+ kOperandQTVRViewState = 4104, /* long viewStateType */
+ kOperandMouseLocalHLoc = 5120, /* [TargetAtoms aTrack] */
+ kOperandMouseLocalVLoc = 5121, /* [TargetAtoms aTrack] */
+ kOperandKeyIsDown = 5122, /* [short modKeys, char asciiValue] */
+ kOperandRandom = 5123, /* [short min, short max] */
+ kOperandCanHaveFocus = 5124, /* [(TargetAtoms theObject)] */
+ kOperandHasFocus = 5125, /* [(TargetAtoms theObject)] */
+ kOperandTextTrackEditable = 6144,
+ kOperandTextTrackCopyText = 6145, /* long startSelection, long endSelection */
+ kOperandTextTrackStartSelection = 6146,
+ kOperandTextTrackEndSelection = 6147,
+ kOperandTextTrackTextBoxLeft = 6148,
+ kOperandTextTrackTextBoxTop = 6149,
+ kOperandTextTrackTextBoxRight = 6150,
+ kOperandTextTrackTextBoxBottom = 6151,
+ kOperandTextTrackTextLength = 6152,
+ kOperandListCountElements = 7168, /* (C string parentPath) */
+ kOperandListGetElementPathByIndex = 7169, /* (C string parentPath, long index) */
+ kOperandListGetElementValue = 7170, /* (C string elementPath) */
+ kOperandListCopyToXML = 7171, /* (C string parentPath, long startIndex, long endIndex) */
+ kOperandListCountAttributes = 7172, /* (C string elementPath) */
+ kOperandListGetAttributeNameByIndex = 7173, /* (C string elementPath, long index) */
+ kOperandListGetAttributeValue = 7174, /* (C string elementPath, C string attributeName) */
+ kOperandSin = 8192, /* float x */
+ kOperandCos = 8193, /* float x */
+ kOperandTan = 8194, /* float x */
+ kOperandATan = 8195, /* float x */
+ kOperandATan2 = 8196, /* float y, float x */
+ kOperandDegreesToRadians = 8197, /* float x */
+ kOperandRadiansToDegrees = 8198, /* float x */
+ kOperandSquareRoot = 8199, /* float x */
+ kOperandExponent = 8200, /* float x */
+ kOperandLog = 8201, /* float x */
+ kOperandFlashTrackVariable = 9216, /* [CString path, CString name] */
+ kOperandStringLength = 10240, /* (C string text) */
+ kOperandStringCompare = 10241, /* (C string aText, C string bText, Boolean caseSensitive, Boolan diacSensitive) */
+ kOperandStringSubString = 10242, /* (C string text, long offset, long length) */
+ kOperandStringConcat = 10243 /* (C string aText, C string bText) */
+};
+
+enum {
+ kFirstMovieAction = kActionMovieSetVolume,
+ kLastMovieAction = kActionMovieSetScale,
+ kFirstTrackAction = kActionTrackSetVolume,
+ kLastTrackAction = kActionTrackSetBassTreble,
+ kFirstSpriteAction = kActionSpriteSetMatrix,
+ kLastSpriteAction = kActionSpriteSetCanBeHitTested,
+ kFirstQTVRAction = kActionQTVRSetPanAngle,
+ kLastQTVRAction = kActionQTVRSetViewState,
+ kFirstMusicAction = kActionMusicPlayNote,
+ kLastMusicAction = kActionMusicSetController,
+ kFirstSystemAction = kActionCase,
+ kLastSystemAction = kActionSetRandomSeed,
+ kFirstSpriteTrackAction = kActionSpriteTrackSetVariable,
+ kLastSpriteTrackAction = kActionSpriteTrackDisposeImage,
+ kFirstApplicationAction = kActionApplicationNumberAndString,
+ kLastApplicationAction = kActionApplicationNumberAndString,
+ kFirstQD3DNamedObjectAction = kActionQD3DNamedObjectTranslateTo,
+ kLastQD3DNamedObjectAction = kActionQD3DNamedObjectRotateTo,
+ kFirstFlashTrackAction = kActionFlashTrackSetPan,
+ kLastFlashTrackAction = kActionFlashTrackDoButtonActions,
+ kFirstMovieTrackAction = kActionMovieTrackAddChildMovie,
+ kLastMovieTrackAction = kActionMovieTrackLoadChildMovieWithQTListParams,
+ kFirstTextTrackAction = kActionTextTrackPasteText,
+ kLastTextTrackAction = kActionTextTrackSetEditable,
+ kFirstMultiTargetAction = kActionListAddElement,
+ kLastMultiTargetAction = kActionListSetAttributeValue,
+ kFirstAction = kFirstMovieAction,
+ kLastAction = kLastMultiTargetAction
+};
+
+/* target atom types*/
+enum {
+ kTargetMovie = FOUR_CHAR_CODE('moov'), /* no data */
+ kTargetMovieName = FOUR_CHAR_CODE('mona'), /* (PString movieName) */
+ kTargetMovieID = FOUR_CHAR_CODE('moid'), /* (long movieID) */
+ kTargetRootMovie = FOUR_CHAR_CODE('moro'), /* no data */
+ kTargetParentMovie = FOUR_CHAR_CODE('mopa'), /* no data */
+ kTargetChildMovieTrackName = FOUR_CHAR_CODE('motn'), /* (PString childMovieTrackName) */
+ kTargetChildMovieTrackID = FOUR_CHAR_CODE('moti'), /* (long childMovieTrackID) */
+ kTargetChildMovieTrackIndex = FOUR_CHAR_CODE('motx'), /* (long childMovieTrackIndex) */
+ kTargetChildMovieMovieName = FOUR_CHAR_CODE('momn'), /* (PString childMovieName) */
+ kTargetChildMovieMovieID = FOUR_CHAR_CODE('momi'), /* (long childMovieID) */
+ kTargetTrackName = FOUR_CHAR_CODE('trna'), /* (PString trackName) */
+ kTargetTrackID = FOUR_CHAR_CODE('trid'), /* (long trackID) */
+ kTargetTrackType = FOUR_CHAR_CODE('trty'), /* (OSType trackType) */
+ kTargetTrackIndex = FOUR_CHAR_CODE('trin'), /* (long trackIndex) */
+ kTargetSpriteName = FOUR_CHAR_CODE('spna'), /* (PString spriteName) */
+ kTargetSpriteID = FOUR_CHAR_CODE('spid'), /* (QTAtomID spriteID) */
+ kTargetSpriteIndex = FOUR_CHAR_CODE('spin'), /* (short spriteIndex) */
+ kTargetQD3DNamedObjectName = FOUR_CHAR_CODE('nana'), /* (CString objectName) */
+ kTargetCurrentQTEventParams = FOUR_CHAR_CODE('evpa') /* no data */
+};
+
+/* action container atom types*/
+enum {
+ kQTEventType = FOUR_CHAR_CODE('evnt'),
+ kAction = FOUR_CHAR_CODE('actn'),
+ kWhichAction = FOUR_CHAR_CODE('whic'),
+ kActionParameter = FOUR_CHAR_CODE('parm'),
+ kActionTarget = FOUR_CHAR_CODE('targ'),
+ kActionFlags = FOUR_CHAR_CODE('flag'),
+ kActionParameterMinValue = FOUR_CHAR_CODE('minv'),
+ kActionParameterMaxValue = FOUR_CHAR_CODE('maxv'),
+ kActionListAtomType = FOUR_CHAR_CODE('list'),
+ kExpressionContainerAtomType = FOUR_CHAR_CODE('expr'),
+ kConditionalAtomType = FOUR_CHAR_CODE('test'),
+ kOperatorAtomType = FOUR_CHAR_CODE('oper'),
+ kOperandAtomType = FOUR_CHAR_CODE('oprn'),
+ kCommentAtomType = FOUR_CHAR_CODE('why '),
+ kCustomActionHandler = FOUR_CHAR_CODE('cust'),
+ kCustomHandlerID = FOUR_CHAR_CODE('id '),
+ kCustomHandlerDesc = FOUR_CHAR_CODE('desc'),
+ kQTEventRecordAtomType = FOUR_CHAR_CODE('erec')
+};
+
+/* QTEvent types */
+enum {
+ kQTEventMouseClick = FOUR_CHAR_CODE('clik'),
+ kQTEventMouseClickEnd = FOUR_CHAR_CODE('cend'),
+ kQTEventMouseClickEndTriggerButton = FOUR_CHAR_CODE('trig'),
+ kQTEventMouseEnter = FOUR_CHAR_CODE('entr'),
+ kQTEventMouseExit = FOUR_CHAR_CODE('exit'),
+ kQTEventMouseMoved = FOUR_CHAR_CODE('move'),
+ kQTEventFrameLoaded = FOUR_CHAR_CODE('fram'),
+ kQTEventIdle = FOUR_CHAR_CODE('idle'),
+ kQTEventKey = FOUR_CHAR_CODE('key '), /* qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode */
+ kQTEventMovieLoaded = FOUR_CHAR_CODE('load'),
+ kQTEventRequestToModifyMovie = FOUR_CHAR_CODE('reqm'),
+ kQTEventListReceived = FOUR_CHAR_CODE('list'),
+ kQTEventKeyUp = FOUR_CHAR_CODE('keyU') /* qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode */
+};
+
+/* flags for the kActionFlags atom */
+enum {
+ kActionFlagActionIsDelta = 1L << 1,
+ kActionFlagParameterWrapsAround = 1L << 2,
+ kActionFlagActionIsToggle = 1L << 3
+};
+
+/* flags for stringTypeFlags field of the QTStatusStringRecord */
+enum {
+ kStatusStringIsURLLink = 1L << 1,
+ kStatusStringIsStreamingStatus = 1L << 2,
+ kStatusHasCodeNumber = 1L << 3, /* high 16 bits of stringTypeFlags is error code number*/
+ kStatusIsError = 1L << 4
+};
+
+/* flags for scriptTypeFlags field of the QTDoScriptRecord*/
+enum {
+ kScriptIsUnknownType = 1L << 0,
+ kScriptIsJavaScript = 1L << 1,
+ kScriptIsLingoEvent = 1L << 2,
+ kScriptIsVBEvent = 1L << 3,
+ kScriptIsProjectorCommand = 1L << 4,
+ kScriptIsAppleScript = 1L << 5
+};
+
+/* flags for CheckQuickTimeRegistration routine*/
+enum {
+ kQTRegistrationDialogTimeOutFlag = 1 << 0,
+ kQTRegistrationDialogShowDialog = 1 << 1,
+ kQTRegistrationDialogForceDialog = 1 << 2
+};
+
+/* constants for kOperatorAtomType IDs (operator types)*/
+enum {
+ kOperatorAdd = FOUR_CHAR_CODE('add '),
+ kOperatorSubtract = FOUR_CHAR_CODE('sub '),
+ kOperatorMultiply = FOUR_CHAR_CODE('mult'),
+ kOperatorDivide = FOUR_CHAR_CODE('div '),
+ kOperatorOr = FOUR_CHAR_CODE('or '),
+ kOperatorAnd = FOUR_CHAR_CODE('and '),
+ kOperatorNot = FOUR_CHAR_CODE('not '),
+ kOperatorLessThan = FOUR_CHAR_CODE('< '),
+ kOperatorLessThanEqualTo = FOUR_CHAR_CODE('<= '),
+ kOperatorEqualTo = FOUR_CHAR_CODE('= '),
+ kOperatorNotEqualTo = FOUR_CHAR_CODE('!= '),
+ kOperatorGreaterThan = FOUR_CHAR_CODE('> '),
+ kOperatorGreaterThanEqualTo = FOUR_CHAR_CODE('>= '),
+ kOperatorModulo = FOUR_CHAR_CODE('mod '),
+ kOperatorIntegerDivide = FOUR_CHAR_CODE('idiv'),
+ kOperatorAbsoluteValue = FOUR_CHAR_CODE('abs '),
+ kOperatorNegate = FOUR_CHAR_CODE('neg ')
+};
+
+/* constants for kOperandPlatformRunningOn*/
+enum {
+ kPlatformMacintosh = 1,
+ kPlatformWindows = 2
+};
+
+/* flags for kOperandSystemVersion*/
+enum {
+ kSystemIsWindows9x = 0x00010000,
+ kSystemIsWindowsNT = 0x00020000,
+ kSystemIsClassicBlueBox = 0x00040000
+};
+
+/* constants for MediaPropertiesAtom*/
+enum {
+ kMediaPropertyNonLinearAtomType = FOUR_CHAR_CODE('nonl'),
+ kMediaPropertyHasActions = 105
+};
+
+
+/* TimeBase and TimeRecord moved to MacTypes.h */
+typedef UInt32 TimeBaseFlags;
+enum {
+ loopTimeBase = 1,
+ palindromeLoopTimeBase = 2,
+ maintainTimeBaseZero = 4
+};
+
+typedef struct QTCallBackHeader* QTCallBack;
+/* CallBack equates */
+typedef UInt16 QTCallBackFlags;
+enum {
+ triggerTimeFwd = 0x0001, /* when curTime exceeds triggerTime going forward */
+ triggerTimeBwd = 0x0002, /* when curTime exceeds triggerTime going backwards */
+ triggerTimeEither = 0x0003, /* when curTime exceeds triggerTime going either direction */
+ triggerRateLT = 0x0004, /* when rate changes to less than trigger value */
+ triggerRateGT = 0x0008, /* when rate changes to greater than trigger value */
+ triggerRateEqual = 0x0010, /* when rate changes to equal trigger value */
+ triggerRateLTE = triggerRateLT | triggerRateEqual,
+ triggerRateGTE = triggerRateGT | triggerRateEqual,
+ triggerRateNotEqual = triggerRateGT | triggerRateEqual | triggerRateLT,
+ triggerRateChange = 0,
+ triggerAtStart = 0x0001,
+ triggerAtStop = 0x0002
+};
+
+typedef UInt32 TimeBaseStatus;
+enum {
+ timeBaseBeforeStartTime = 1,
+ timeBaseAfterStopTime = 2,
+ timeBaseRateChanging = 4
+};
+
+
+typedef UInt16 QTCallBackType;
+enum {
+ callBackAtTime = 1,
+ callBackAtRate = 2,
+ callBackAtTimeJump = 3,
+ callBackAtExtremes = 4,
+ callBackAtTimeBaseDisposed = 5,
+ callBackAtInterrupt = 0x8000,
+ callBackAtDeferredTask = 0x4000
+};
+
+typedef CALLBACK_API( void , QTCallBackProcPtr )(QTCallBack cb, long refCon);
+typedef STACK_UPP_TYPE(QTCallBackProcPtr) QTCallBackUPP;
+enum {
+ qtcbNeedsRateChanges = 1, /* wants to know about rate changes */
+ qtcbNeedsTimeChanges = 2, /* wants to know about time changes */
+ qtcbNeedsStartStopChanges = 4 /* wants to know when TimeBase start/stop is changed*/
+};
+
+struct QTCallBackOpaqueHeader {
+ long callBackFlags;
+ long reserved1;
+ SInt8 qtPrivate[52];
+};
+typedef struct QTCallBackOpaqueHeader QTCallBackOpaqueHeader;
+typedef CALLBACK_API( void , QTSyncTaskProcPtr )(void * task);
+typedef STACK_UPP_TYPE(QTSyncTaskProcPtr) QTSyncTaskUPP;
+struct QTSyncTaskRecord {
+ void * qLink;
+ QTSyncTaskUPP proc;
+};
+typedef struct QTSyncTaskRecord QTSyncTaskRecord;
+typedef QTSyncTaskRecord * QTSyncTaskPtr;
+
+typedef CALLBACK_API( OSErr , MovieRgnCoverProcPtr )(Movie theMovie, RgnHandle changedRgn, long refcon);
+typedef CALLBACK_API( OSErr , MovieProgressProcPtr )(Movie theMovie, short message, short whatOperation, Fixed percentDone, long refcon);
+typedef CALLBACK_API( OSErr , MovieDrawingCompleteProcPtr )(Movie theMovie, long refCon);
+typedef CALLBACK_API( OSErr , TrackTransferProcPtr )(Track t, long refCon);
+typedef CALLBACK_API( OSErr , GetMovieProcPtr )(long offset, long size, void *dataPtr, void *refCon);
+typedef CALLBACK_API( Boolean , MoviePreviewCallOutProcPtr )(long refcon);
+typedef CALLBACK_API( OSErr , TextMediaProcPtr )(Handle theText, Movie theMovie, short *displayFlag, long refcon);
+typedef CALLBACK_API( OSErr , ActionsProcPtr )(void *refcon, Track targetTrack, long targetRefCon, QTEventRecordPtr theEvent);
+typedef CALLBACK_API( OSErr , DoMCActionProcPtr )(void *refcon, short action, void *params, Boolean *handled);
+typedef CALLBACK_API( OSErr , MovieExecuteWiredActionsProcPtr )(Movie theMovie, void *refcon, long flags, QTAtomContainer wiredActions);
+typedef CALLBACK_API( void , MoviePrePrerollCompleteProcPtr )(Movie theMovie, OSErr prerollErr, void *refcon);
+typedef CALLBACK_API( void , QTNextTaskNeededSoonerCallbackProcPtr )(TimeValue duration, unsigned long flags, void *refcon);
+typedef CALLBACK_API( void , MoviesErrorProcPtr )(OSErr theErr, long refcon);
+typedef STACK_UPP_TYPE(MovieRgnCoverProcPtr) MovieRgnCoverUPP;
+typedef STACK_UPP_TYPE(MovieProgressProcPtr) MovieProgressUPP;
+typedef STACK_UPP_TYPE(MovieDrawingCompleteProcPtr) MovieDrawingCompleteUPP;
+typedef STACK_UPP_TYPE(TrackTransferProcPtr) TrackTransferUPP;
+typedef STACK_UPP_TYPE(GetMovieProcPtr) GetMovieUPP;
+typedef STACK_UPP_TYPE(MoviePreviewCallOutProcPtr) MoviePreviewCallOutUPP;
+typedef STACK_UPP_TYPE(TextMediaProcPtr) TextMediaUPP;
+typedef STACK_UPP_TYPE(ActionsProcPtr) ActionsUPP;
+typedef STACK_UPP_TYPE(DoMCActionProcPtr) DoMCActionUPP;
+typedef STACK_UPP_TYPE(MovieExecuteWiredActionsProcPtr) MovieExecuteWiredActionsUPP;
+typedef STACK_UPP_TYPE(MoviePrePrerollCompleteProcPtr) MoviePrePrerollCompleteUPP;
+typedef STACK_UPP_TYPE(QTNextTaskNeededSoonerCallbackProcPtr) QTNextTaskNeededSoonerCallbackUPP;
+typedef STACK_UPP_TYPE(MoviesErrorProcPtr) MoviesErrorUPP;
+typedef ComponentInstance MediaHandler;
+typedef ComponentInstance DataHandler;
+typedef Component MediaHandlerComponent;
+typedef Component DataHandlerComponent;
+typedef ComponentResult HandlerError;
+enum {
+ keepInRam = 1 << 0, /* load and make non-purgable*/
+ unkeepInRam = 1 << 1, /* mark as purgable*/
+ flushFromRam = 1 << 2, /* empty those handles*/
+ loadForwardTrackEdits = 1 << 3, /* load track edits into ram for playing forward*/
+ loadBackwardTrackEdits = 1 << 4 /* load track edits into ram for playing in reverse*/
+};
+
+enum {
+ newMovieActive = 1 << 0,
+ newMovieDontResolveDataRefs = 1 << 1,
+ newMovieDontAskUnresolvedDataRefs = 1 << 2,
+ newMovieDontAutoAlternates = 1 << 3,
+ newMovieDontUpdateForeBackPointers = 1 << 4,
+ newMovieDontAutoUpdateClock = 1 << 5,
+ newMovieAsyncOK = 1 << 8,
+ newMovieIdleImportOK = 1 << 10,
+ newMovieDontInteractWithUser = 1 << 11
+};
+
+/* track usage bits */
+enum {
+ trackUsageInMovie = 1 << 1,
+ trackUsageInPreview = 1 << 2,
+ trackUsageInPoster = 1 << 3
+};
+
+/* Add/GetMediaSample flags */
+enum {
+ mediaSampleNotSync = 1 << 0, /* sample is not a sync sample (eg. is frame differenced */
+ mediaSampleShadowSync = 1 << 1, /* sample is a shadow sync */
+ mediaSampleDroppable = 1 << 27, /* sample is not required to be decoded for later samples to be decoded properly */
+ mediaSamplePartialSync = 1 << 16, /* sample is a partial sync (e.g., I frame after open GOP) */
+ mediaSampleHasRedundantCoding = 1 << 24, /* sample is known to contain redundant coding */
+ mediaSampleHasNoRedundantCoding = 1 << 25, /* sample is known not to contain redundant coding */
+ mediaSampleIsDependedOnByOthers = 1 << 26, /* one or more other samples depend upon the decode of this sample */
+ mediaSampleIsNotDependedOnByOthers = 1 << 27, /* synonym for mediaSampleDroppable */
+ mediaSampleDependsOnOthers = 1 << 28, /* sample's decode depends upon decode of other samples */
+ mediaSampleDoesNotDependOnOthers = 1 << 29, /* sample's decode does not depend upon decode of other samples */
+ mediaSampleEarlierDisplayTimesAllowed = 1 << 30 /* samples later in decode order may have earlier display times */
+};
+
+/*
+MediaSampleFlags is defined in ImageCompression.h:
+typedef UInt32 MediaSampleFlags;
+*/
+enum {
+ pasteInParallel = 1 << 0,
+ showUserSettingsDialog = 1 << 1,
+ movieToFileOnlyExport = 1 << 2,
+ movieFileSpecValid = 1 << 3
+};
+
+enum {
+ nextTimeMediaSample = 1 << 0,
+ nextTimeMediaEdit = 1 << 1,
+ nextTimeTrackEdit = 1 << 2,
+ nextTimeSyncSample = 1 << 3,
+ nextTimeStep = 1 << 4,
+ nextTimePartialSyncSample = 1 << 5,
+ nextTimeEdgeOK = 1 << 14,
+ nextTimeIgnoreActiveSegment = 1 << 15
+};
+
+typedef unsigned short nextTimeFlagsEnum;
+enum {
+ createMovieFileDeleteCurFile = 1L << 31,
+ createMovieFileDontCreateMovie = 1L << 30,
+ createMovieFileDontOpenFile = 1L << 29,
+ createMovieFileDontCreateResFile = 1L << 28
+};
+
+typedef unsigned long createMovieFileFlagsEnum;
+enum {
+ flattenAddMovieToDataFork = 1L << 0,
+ flattenActiveTracksOnly = 1L << 2,
+ flattenDontInterleaveFlatten = 1L << 3,
+ flattenFSSpecPtrIsDataRefRecordPtr = 1L << 4,
+ flattenCompressMovieResource = 1L << 5,
+ flattenForceMovieResourceBeforeMovieData = 1L << 6
+};
+
+typedef unsigned long movieFlattenFlagsEnum;
+enum {
+ movieInDataForkResID = -1 /* magic res ID */
+};
+
+enum {
+ mcTopLeftMovie = 1 << 0, /* usually centered */
+ mcScaleMovieToFit = 1 << 1, /* usually only scales down */
+ mcWithBadge = 1 << 2, /* give me a badge */
+ mcNotVisible = 1 << 3, /* don't show controller */
+ mcWithFrame = 1 << 4 /* gimme a frame */
+};
+
+enum {
+ movieScrapDontZeroScrap = 1 << 0,
+ movieScrapOnlyPutMovie = 1 << 1
+};
+
+enum {
+ dataRefSelfReference = 1 << 0,
+ dataRefWasNotResolved = 1 << 1
+};
+
+typedef unsigned long dataRefAttributesFlags;
+enum {
+ kMovieAnchorDataRefIsDefault = 1 << 0 /* data ref returned is movie default data ref */
+};
+
+enum {
+ hintsScrubMode = 1 << 0, /* mask == && (if flags == scrub on, flags != scrub off) */
+ hintsLoop = 1 << 1,
+ hintsDontPurge = 1 << 2,
+ hintsUseScreenBuffer = 1 << 5,
+ hintsAllowInterlace = 1 << 6,
+ hintsUseSoundInterp = 1 << 7,
+ hintsHighQuality = 1 << 8, /* slooooow */
+ hintsPalindrome = 1 << 9,
+ hintsInactive = 1 << 11,
+ hintsOffscreen = 1 << 12,
+ hintsDontDraw = 1 << 13,
+ hintsAllowBlacklining = 1 << 14,
+ hintsDontUseVideoOverlaySurface = 1 << 16,
+ hintsIgnoreBandwidthRestrictions = 1 << 17,
+ hintsPlayingEveryFrame = 1 << 18,
+ hintsAllowDynamicResize = 1 << 19,
+ hintsSingleField = 1 << 20,
+ hintsNoRenderingTimeOut = 1 << 21,
+ hintsFlushVideoInsteadOfDirtying = 1 << 22,
+ hintsEnableSubPixelPositioning = 1L << 23,
+ hintsRenderingMode = 1L << 24,
+ hintsAllowIdleSleep = 1L << 25, /* asks media handlers not to call UpdateSystemActivity etc */
+ hintsDeinterlaceFields = 1L << 26
+};
+
+typedef unsigned long playHintsEnum;
+enum {
+ mediaHandlerFlagBaseClient = 1
+};
+
+typedef unsigned long mediaHandlerFlagsEnum;
+enum {
+ movieTrackMediaType = 1 << 0,
+ movieTrackCharacteristic = 1 << 1,
+ movieTrackEnabledOnly = 1 << 2
+};
+
+/*
+ Opaque replacement for SampleReferenceRecord/SampleReference64Record arrays able to carry information
+ not described in those arrays of those records
+*/
+typedef const struct OpaqueQTSampleTable* QTSampleTableRef;
+typedef struct OpaqueQTSampleTable* QTMutableSampleTableRef;
+struct SampleReferenceRecord {
+ long dataOffset;
+ long dataSize;
+ TimeValue durationPerSample;
+ long numberOfSamples;
+ short sampleFlags;
+};
+typedef struct SampleReferenceRecord SampleReferenceRecord;
+typedef SampleReferenceRecord * SampleReferencePtr;
+struct SampleReference64Record {
+ wide dataOffset;
+ unsigned long dataSize;
+ TimeValue durationPerSample;
+ unsigned long numberOfSamples;
+ short sampleFlags;
+};
+typedef struct SampleReference64Record SampleReference64Record;
+typedef SampleReference64Record * SampleReference64Ptr;
+
+/*************************
+* Initialization Routines
+**************************/
+/*
+ * CheckQuickTimeRegistration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CheckQuickTimeRegistration(
+ void * registrationKey,
+ long flags);
+
+
+/*
+ * EnterMovies()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+EnterMovies(void);
+
+
+/*
+ * ExitMovies()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ExitMovies(void);
+
+
+enum {
+ kQTEnterMoviesFlagDontSetComponentsThreadMode = 1L << 0
+};
#if TARGET_OS_MAC
- /*
- * EnterMoviesOnThread()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- EnterMoviesOnThread(UInt32 inFlags);
-
-
- /*
- * ExitMoviesOnThread()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- ExitMoviesOnThread(void);
+/*
+ * EnterMoviesOnThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+EnterMoviesOnThread(UInt32 inFlags);
+
+
+/*
+ * ExitMoviesOnThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+ExitMoviesOnThread(void);
#endif /* TARGET_OS_MAC */
- /*************************
- * Error Routines
- **************************/
-
- /*
- * GetMoviesError()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMoviesError(void);
-
-
- /*
- * ClearMoviesStickyError()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ClearMoviesStickyError(void);
-
-
- /*
- * GetMoviesStickyError()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMoviesStickyError(void);
-
-
- /*
- * SetMoviesErrorProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMoviesErrorProc(
- MoviesErrorUPP errProc,
- long refcon);
-
-
-
- /*************************
- * Idle Routines
- **************************/
- /*
- * MoviesTask()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- MoviesTask(
- Movie theMovie,
- long maxMilliSecToUse);
-
-
- /*
- * PrerollMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- PrerollMovie(
- Movie theMovie,
- TimeValue time,
- Fixed Rate);
-
-
- /*
- * PrePrerollMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- PrePrerollMovie(
- Movie m,
- TimeValue time,
- Fixed rate,
- MoviePrePrerollCompleteUPP proc,
- void * refcon);
-
-
- /*
- * AbortPrePrerollMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(void)
- AbortPrePrerollMovie(
- Movie m,
- OSErr err);
-
-
- /*
- * LoadMovieIntoRam()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- LoadMovieIntoRam(
- Movie theMovie,
- TimeValue time,
- TimeValue duration,
- long flags);
-
-
- /*
- * LoadTrackIntoRam()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- LoadTrackIntoRam(
- Track theTrack,
- TimeValue time,
- TimeValue duration,
- long flags);
-
-
- /*
- * LoadMediaIntoRam()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- LoadMediaIntoRam(
- Media theMedia,
- TimeValue time,
- TimeValue duration,
- long flags);
-
-
- /*
- * SetMovieActive()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieActive(
- Movie theMovie,
- Boolean active);
-
-
- /*
- * GetMovieActive()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- GetMovieActive(Movie theMovie);
-
-
- /*
- * QTGetWallClockTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTGetWallClockTimeBase(TimeBase * wallClockTimeBase);
-
-
-
- /*************************
- * Idle Management
- **************************/
- typedef struct OpaqueIdleManager* IdleManager;
- /*
- * QTIdleManagerOpen()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(IdleManager)
- QTIdleManagerOpen(void);
-
-
- /*
- * QTIdleManagerClose()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTIdleManagerClose(IdleManager im);
-
-
- /*
- * QTIdleManagerGetNextIdleTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTIdleManagerGetNextIdleTime(
- IdleManager im,
- TimeRecord * nextIdle);
-
-
- /*
- * QTIdleManagerSetNextIdleTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTIdleManagerSetNextIdleTime(
- IdleManager im,
- TimeRecord * nextIdle);
-
-
- /*
- * QTIdleManagerSetNextIdleTimeNever()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTIdleManagerSetNextIdleTimeNever(IdleManager im);
-
-
- /*
- * QTIdleManagerSetNextIdleTimeNow()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTIdleManagerSetNextIdleTimeNow(IdleManager im);
-
-
- /*
- * QTIdleManagerSetNextIdleTimeDelta()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTIdleManagerSetNextIdleTimeDelta(
- IdleManager im,
- TimeValue duration,
- TimeScale scale);
-
-
- /*
- * QTIdleManagerSetParent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTIdleManagerSetParent(
- IdleManager im,
- IdleManager parent);
-
-
- /*
- * QTIdleManagerNeedsAnIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTIdleManagerNeedsAnIdle(
- IdleManager im,
- Boolean * needsOne);
-
-
-
- /*************************
- * Carbon Movie Control
- **************************/
- /* Movie Control option bits*/
- enum
- {
- kMovieControlOptionHideController = (1L << 0),
- kMovieControlOptionLocateTopLeft = (1L << 1),
- kMovieControlOptionEnableEditing = (1L << 2),
- kMovieControlOptionHandleEditingHI = (1L << 3),
- kMovieControlOptionSetKeysEnabled = (1L << 4),
- kMovieControlOptionManuallyIdled = (1L << 5)
- };
-
- /* Item tags for use in GetControlData() (some with SetControlData()) calls on Movie Controls*/
- enum
- {
- kMovieControlDataMovieController = FOUR_CHAR_CODE('mc '),
- kMovieControlDataMovie = FOUR_CHAR_CODE('moov'),
- kMovieControlDataManualIdling = FOUR_CHAR_CODE('manu')
- };
-
- /*
- ** CreateMovieControl() - This is the public API routine that creates a Movie Control. Given a window and location
- ** plus a movie, it constructs a Movie Control with a Movie Controller in the window.
- */
- /*
- * CreateMovieControl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSErr)
- CreateMovieControl(
- WindowRef theWindow,
- Rect * localRect,
- Movie theMovie,
- UInt32 options,
- ControlRef * returnedControl);
-
-
-
- /*************************
- * calls for playing movies, previews, posters
- **************************/
- /*
- * StartMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- StartMovie(Movie theMovie);
-
-
- /*
- * StopMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- StopMovie(Movie theMovie);
-
-
- /*
- * GoToBeginningOfMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GoToBeginningOfMovie(Movie theMovie);
-
-
- /*
- * GoToEndOfMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GoToEndOfMovie(Movie theMovie);
-
-
- /*
- * IsMovieDone()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- IsMovieDone(Movie theMovie);
-
-
- /*
- * GetMoviePreviewMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- GetMoviePreviewMode(Movie theMovie);
-
-
- /*
- * SetMoviePreviewMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMoviePreviewMode(
- Movie theMovie,
- Boolean usePreview);
-
-
- /*
- * ShowMoviePoster()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ShowMoviePoster(Movie theMovie);
-
-
- /*
- * PlayMoviePreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- PlayMoviePreview(
- Movie theMovie,
- MoviePreviewCallOutUPP callOutProc,
- long refcon);
-
-
- /*************************
- * calls for controlling movies & tracks which are playing
- **************************/
- /*
- * GetMovieTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeBase)
- GetMovieTimeBase(Movie theMovie);
-
-
- /*
- * SetMovieMasterTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieMasterTimeBase(
- Movie theMovie,
- TimeBase tb,
- const TimeRecord * slaveZero);
-
-
- /*
- * SetMovieMasterClock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieMasterClock(
- Movie theMovie,
- Component clockMeister,
- const TimeRecord * slaveZero);
-
-
- /*
- * ChooseMovieClock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(void)
- ChooseMovieClock(
- Movie m,
- long flags);
-
-
- /*
- * GetMovieGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMovieGWorld(
- Movie theMovie,
- CGrafPtr * port,
- GDHandle * gdh);
-
-
- /*
- * SetMovieGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieGWorld(
- Movie theMovie,
- CGrafPtr port,
- GDHandle gdh);
-
-
- enum
- {
- movieDrawingCallWhenChanged = 0,
- movieDrawingCallAlways = 1
- };
-
- /*
- * SetMovieDrawingCompleteProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieDrawingCompleteProc(
- Movie theMovie,
- long flags,
- MovieDrawingCompleteUPP proc,
- long refCon);
-
-
-
- /*
- * GetMovieNaturalBoundsRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMovieNaturalBoundsRect(
- Movie theMovie,
- Rect * naturalBounds);
-
-
- /*
- * GetNextTrackForCompositing()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- GetNextTrackForCompositing(
- Movie theMovie,
- Track theTrack);
-
-
- /*
- * GetPrevTrackForCompositing()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- GetPrevTrackForCompositing(
- Movie theMovie,
- Track theTrack);
-
-
- /*
- * SetTrackGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackGWorld(
- Track theTrack,
- CGrafPtr port,
- GDHandle gdh,
- TrackTransferUPP proc,
- long refCon);
-
-
- /*
- * GetMoviePict()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(PicHandle)
- GetMoviePict(
- Movie theMovie,
- TimeValue time);
-
-
- /*
- * GetTrackPict()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(PicHandle)
- GetTrackPict(
- Track theTrack,
- TimeValue time);
-
-
- /*
- * GetMoviePosterPict()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(PicHandle)
- GetMoviePosterPict(Movie theMovie);
-
-
- /* called between Begin & EndUpdate */
- /*
- * UpdateMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- UpdateMovie(Movie theMovie);
-
-
- /*
- * InvalidateMovieRegion()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- InvalidateMovieRegion(
- Movie theMovie,
- RgnHandle invalidRgn);
-
-
- /**** spatial movie routines ****/
- /*
- * GetMovieBox()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMovieBox(
- Movie theMovie,
- Rect * boxRect);
-
-
- /*
- * SetMovieBox()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieBox(
- Movie theMovie,
- const Rect * boxRect);
-
-
- /** movie display clip */
- /*
- * GetMovieDisplayClipRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetMovieDisplayClipRgn(Movie theMovie);
-
-
- /*
- * SetMovieDisplayClipRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieDisplayClipRgn(
- Movie theMovie,
- RgnHandle theClip);
-
-
- /** movie src clip */
- /*
- * GetMovieClipRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetMovieClipRgn(Movie theMovie);
-
-
- /*
- * SetMovieClipRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieClipRgn(
- Movie theMovie,
- RgnHandle theClip);
-
-
- /** track src clip */
- /*
- * GetTrackClipRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetTrackClipRgn(Track theTrack);
-
-
- /*
- * SetTrackClipRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackClipRgn(
- Track theTrack,
- RgnHandle theClip);
-
-
- /** bounds in display space (not clipped by display clip) */
- /*
- * GetMovieDisplayBoundsRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetMovieDisplayBoundsRgn(Movie theMovie);
-
-
- /*
- * GetTrackDisplayBoundsRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetTrackDisplayBoundsRgn(Track theTrack);
-
-
- /** bounds in movie space */
- /*
- * GetMovieBoundsRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetMovieBoundsRgn(Movie theMovie);
-
-
- /*
- * GetTrackMovieBoundsRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetTrackMovieBoundsRgn(Track theTrack);
-
-
- /** bounds in track space */
- /*
- * GetTrackBoundsRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetTrackBoundsRgn(Track theTrack);
-
-
- /** mattes - always in track space */
- /*
- * GetTrackMatte()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(PixMapHandle)
- GetTrackMatte(Track theTrack);
-
-
- /*
- * SetTrackMatte()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackMatte(
- Track theTrack,
- PixMapHandle theMatte);
-
-
- /*
- * DisposeMatte()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeMatte(PixMapHandle theMatte);
-
-
- /** video out */
- /*
- * SetMovieVideoOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(void)
- SetMovieVideoOutput(
- Movie theMovie,
- ComponentInstance vout);
-
-
-
- /*************************
- * Audio Context
- *************************/
- /*
- The QTAudioContextRef type encapsulates a connection to an audio output device.
- It represents a destination audio rendering environment that can be used for
- playback of a movie.
- */
- typedef struct QTAudioContextRefType* QTAudioContextRef;
- /*
- * QTAudioContextRetain()
- *
- * Summary:
- * Retains a QTAudioContext object by incrementing its reference
- * count. You should retain the object when you receive it from
- * elsewhere (that is, you did not create it) and you want it to
- * persist. If you retain a QTAudioContext object you are
- * responsible for releasing it. The same audio context is returned
- * for convenience. If audioContext is NULL, nothing happens.
- *
- * Parameters:
- *
- * audioContext:
- * [in] The audio context to retain.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(QTAudioContextRef)
- QTAudioContextRetain(QTAudioContextRef audioContext);
-
-
- /*
- * QTAudioContextRelease()
- *
- * Summary:
- * Release a QTAudioContext object by decrementing its reference
- * count. If that count consequently becomes zero the memory
- * allocated to the object is deallocated and the object is
- * destroyed. If you create or explicitly retain a QTAudioContext
- * object, you are responsible for releasing it when you no longer
- * need it. If audioContext is NULL, nothing happens.
- *
- * Parameters:
- *
- * audioContext:
- * [in] The audio context to release.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- QTAudioContextRelease(QTAudioContextRef audioContext);
-
-
- /*
- * QTAudioContextCreateForAudioDevice()
- *
- * Summary:
- * Creates a QTAudioContext object that encapsulates a connection to
- * an audio output device. This object is suitable for passing to
- * SetMovieAudioContext or NewMovieFromProperties, which targets the
- * audio output of the movie to that device. A QTAudioContext object
- * cannot be associated with more than one movie. Each movie needs
- * its own connection to the device. In order to play more than one
- * movie to a particular device, create a QTAudioContext object for
- * each movie. You are responsible for releasing the QTAudioContext
- * object created by this routine. After calling
- * SetMovieAudioContext or NewMovieFromProperties, you can release
- * the object since these APIs will retain it for their own use. On
- * Windows, the audioDeviceUID is the GUID of a DirectSound device,
- * stringified using such Win32 functions as StringFromCLSID() or
- * StringFromGUID2(), then wrapped in a CFStringRef using
- * CFStringCreateWithCharacters(). After passing the audioDeviceUID
- * CFStringRef to QTAudioContextCreateForAudioDevice(), remember to
- * CFRelease() the CFStringRef you created.
- *
- * Parameters:
- *
- * allocator:
- * [in] Allocator used to create the audio context.
- *
- * audioDeviceUID:
- * [in] Audio device UID. NULL means the default CoreAudio
- * device.
- *
- * options:
- * [in] Reserved. Pass NULL.
- *
- * newAudioContextOut:
- * [out] Points to a variable to receive the new audio context.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- QTAudioContextCreateForAudioDevice(
- CFAllocatorRef allocator,
- CFStringRef audioDeviceUID,
- CFDictionaryRef options,
- QTAudioContextRef * newAudioContextOut);
-
-
-
- /*************************
- * Audio Context Inserts
- *************************/
- /*
- Theory of operations:
- To register for a Movie Audio Context Insert during playback:
- 1) Get the movie's current audio context: GetMovieAudioContext()
- 2) Register the application insert: QTAudioContextRegisterInsert()
- To unregister a Movie Audio Context Insert:
- Call QTAudioContextRegisterInsert() with a NULL QTAudioContextInsertRegistryInfoRef
- If the registry ptr is non-NULL but the processDataCallback is NULL, this has the same effect.
- To register for a Track Audio Context Insert during playback:
- Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track,
- providing the same registry info structure that is used for the QTAudioContextRegisterInsert() call.
- To unregister a Track Audio Context Insert:
- Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track,
- with a NULL processDataCallback
- */
-
-
- /*
- * AudioContextInsertProcessDataCallback
- *
- * Summary:
- * A client-supplied function to be called during playback to get
- * data from the audio insert.
- *
- * Discussion:
- * This routine is called by the Audio Context for each buffer of
- * audio data it renders. The client receives a source buffer list
- * and a destination buffer list, and it is responsible for
- * supplying output buffers to the destination buffer list. This
- * routine is generally called on the IOProc at high thread
- * priority, and so should not do memory allocation or release,
- * acquire mutex resources, nor take very long to process.
- *
- * Parameters:
- *
- * inUserData:
- * An opaque pointer to the client's data.
- *
- * ioRenderFlags:
- * A field that contains render action flags (see AUComponent.h).
- *
- * inTimeStamp:
- * An AudioTimeStamp that indicates the start time of the buffer
- * to be processed. During normal playback or audio extraction,
- * the timestamp mSampleTime is normalized to the movie time that
- * this particular input sample buffer represents, expressed in
- * the sample rate being processed. During reverse playback, the
- * first Process Data call after Reset will contain a timestamp
- * designating the movie time, but subsequent timestamps will
- * advance forward instead of in reverse.
- *
- * inNumberFrames:
- * A UInt32 that specifies the number of frames to be rendered.
- *
- * inInputData:
- * An AudioBufferList used to pass input data to the insert.
- *
- * outOutputData:
- * An AudioBufferList to receive the processed data that is
- * produced by the insert. QuickTime sets buffer pointers in the
- * list to NULL. The client must set the buffer pointers to refer
- * to either its own allocated buffers or to be copies of the
- * buffer pointers received in inInputData.
- */
- typedef CALLBACK_API(OSStatus , AudioContextInsertProcessDataCallback)(void *inUserData, AudioUnitRenderActionFlags *ioRenderFlags, const AudioTimeStamp *inTimeStamp, UInt32 inNumberFrames, AudioBufferList *inInputData, AudioBufferList *outOutputData);
-
- /*
- * AudioContextInsertResetCallback
- *
- * Summary:
- * A client-supplied function to be called to initialize and reset
- * for processing data.
- *
- * Discussion:
- * This routine is called by the Audio Context to initialize for
- * rendering. The client is told the sample rate and the maximum
- * number of frames it will be asked to process on any single
- * ProcessData callback (ie, inNumberFrames will always be <=
- * inMaxFrames). On return, the client reports its processing
- * latency and tail times. This callback is invoked whenever the
- * rendering chain is interrupted (eg, when playback jumps to a new
- * point or changes direction). The client should call
- * AudioUnitReset on any audio units in use, and should be prepared
- * to respond to changes of sample rate or maxframes.
- *
- * Parameters:
- *
- * inUserData:
- * An opaque pointer to the client's data.
- *
- * inSampleRate:
- * A Float64 that will specifies the sample rate of the data to be
- * processed.
- *
- * inMaxFrames:
- * A UInt32 that specifies the maximum number of maximum frame
- * count that will be processed in a single call.
- *
- * outLatency:
- * A pointer to a Float64 that specifies the insert's render
- * latency, in seconds. Latency data will be pulled and discarded
- * by QuickTime after each reset.
- *
- * outTailTime:
- * A pointer to a Float64 that specifies the insert's tail render
- * time, in seconds.
- */
- typedef CALLBACK_API(OSStatus , AudioContextInsertResetCallback)(void *inUserData, Float64 inSampleRate, UInt32 inMaxFrames, Float64 *outLatency, Float64 *outTailTime);
-
- /*
- * AudioContextInsertFinalizeCallback
- *
- * Summary:
- * A client-supplied function to be called to release any resources
- * in use by the insert.
- *
- * Discussion:
- * This routine is called when the Audio Context is being disposed
- * (ie, the MovieAudioContext has been reset or the movie was
- * disposed). Once this callback returns, no more calls for this
- * registered insert will be made.
- *
- * Parameters:
- *
- * inUserData:
- * An opaque pointer to the client's data.
- */
- typedef CALLBACK_API(OSStatus , AudioContextInsertFinalizeCallback)(void * inUserData);
-
- /*
- * QTAudioContextInsertRegistryInfo
- *
- * Summary:
- * Parameters for registering an Audio Context insert
- *
- * Discussion:
- * This is used with QTAudioContextRegisterInsert() and the Movie
- * Audio Extraction
- * kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert
- * property.
- */
- struct QTAudioContextInsertRegistryInfo
- {
-
- /*
- * client user data to be passed to all client-specified callbacks.
- */
- void * userData;
-
- /*
- * The size of the input channel layout structure.
- */
- UInt32 inputChannelLayoutSize;
-
- /*
- * An AudioChannelLayout that describes the channel layout (and,
- * implicitly, channel valence) of the data that the insert expects
- * as input.
- */
- AudioChannelLayout * inputChannelLayout;
-
- /*
- * The size of the output channel layout structure.
- */
- UInt32 outputChannelLayoutSize;
-
- /*
- * An AudioChannelLayout that describes the channel layout (and,
- * implicitly, channel valence) of the processed data that the insert
- * will output.
- */
- AudioChannelLayout * outputChannelLayout;
-
- /*
- * Client-specified process data callback.
- */
- AudioContextInsertProcessDataCallback processDataCallback;
-
- /*
- * Client-specified reset callback.
- */
- AudioContextInsertResetCallback resetCallback;
-
- /*
- * Client-specified finalize callback (may be NULL). NOTE: Calls to
- * the client callbacks are interlocked with respect to each other:
- * there will never be simultaneous calls, with an identical
- * inUserData, on different threads.
- */
- AudioContextInsertFinalizeCallback finalizeCallback;
- };
- typedef struct QTAudioContextInsertRegistryInfo QTAudioContextInsertRegistryInfo;
- typedef QTAudioContextInsertRegistryInfo * QTAudioContextInsertRegistryInfoRef;
- /*
- * QTAudioContextRegisterInsert()
- *
- * Summary:
- * Register an audio insert with QuickTime
- *
- * Discussion:
- * This routine is called to register an application to tap into the
- * audio playback stream, via callbacks during audio rendering. The
- * inAudioContext parameter refers to a Movie Audio Context that has
- * not yet been associated with a movie. Once the application has
- * successfully registered its insert, it may associate a movie with
- * this Audio Context by calling SetMovieAudioContext(). The
- * application must then be prepared to handle callbacks, which may
- * be executed on different threads, until the Finalize callback
- * with a matching userData parameter, is received. The application
- * may supply a NULL Finalize callback if it has its own logic for
- * detecting when it may release its insert resources.
- *
- * Parameters:
- *
- * inAudioContext:
- * A QTAudioContextRef that specifies the Audio Context to tap
- * into.
- *
- * inRegistryInfoSize:
- * Size, in bytes, of the supplied
- * QTAudioContextInsertRegistryInfo structure.
- *
- * inRegistryInfo:
- * Pointer to a QTAudioContextInsertRegistryInfo structure
- * containing setup parameters for the Audio Context insert and
- * callbacks.
- *
- * Result:
- * readErr Cannot register an insert on a movie containing protected
- * data.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.2) and later
- */
- EXTERN_API_C(OSStatus)
- QTAudioContextRegisterInsert(
- QTAudioContextRef inAudioContext,
- UInt32 inRegistryInfoSize,
- QTAudioContextInsertRegistryInfoRef inRegistryInfo);
-
-
-
- /* Track-level Audio Context Insert property (kQTPropertyClass_Audio)*/
-
- /*
- */
- enum
- {
-
- /*
- * kQTAudioPropertyID_RegisterAudioContextInsert: Value is
- * QTAudioContextInsertRegistryInfoRef (Get/Set) Set on a Track to
- * register/unregister an Audio Context Insert for that specific
- * track. When this property is read back (QTGetTrackProperty) the
- * channel layout pointers will will be NULL. To unregister, supply
- * a NULL processDataCallback (in which case the rest of the registry
- * info will be ignored).
- */
- kQTAudioPropertyID_RegisterAudioContextInsert = FOUR_CHAR_CODE('regt') /* value is QTAudioContextInsertRegistryInfoRef. Get/Set.*/
- };
-
-
- /******************************************
- * Using Audio/Visual contexts with movies
- *****************************************/
- /*
- * SetMovieVisualContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetMovieVisualContext(
- Movie movie,
- QTVisualContextRef visualContext);
-
-
- /*
- * GetMovieVisualContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieVisualContext(
- Movie movie,
- QTVisualContextRef * visualContext);
-
-
- /*
- * SetMovieAudioContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetMovieAudioContext(
- Movie movie,
- QTAudioContextRef audioContext);
-
-
- /*
- * GetMovieAudioContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioContext(
- Movie movie,
- QTAudioContextRef * audioContext);
-
-
-
- /*************************
- * calls for getting/saving movies
- **************************/
- /** Properties for NewMovieFromProperties */
- enum
- {
- kQTPropertyClass_DataLocation = FOUR_CHAR_CODE('dloc'),
- kQTDataLocationPropertyID_DataReference = FOUR_CHAR_CODE('dref'), /* DataReferenceRecord (for semantics of NewMovieFromDataRef)*/
- kQTDataLocationPropertyID_CFStringNativePath = FOUR_CHAR_CODE('cfnp'),
- kQTDataLocationPropertyID_CFStringPosixPath = FOUR_CHAR_CODE('cfpp'),
- kQTDataLocationPropertyID_CFStringHFSPath = FOUR_CHAR_CODE('cfhp'),
- kQTDataLocationPropertyID_CFStringWindowsPath = FOUR_CHAR_CODE('cfwp'),
- kQTDataLocationPropertyID_CFURL = FOUR_CHAR_CODE('cfur'),
- kQTDataLocationPropertyID_QTDataHandler = FOUR_CHAR_CODE('qtdh'), /* for semantics of NewMovieFromStorageOffset*/
- kQTDataLocationPropertyID_Scrap = FOUR_CHAR_CODE('scrp'),
- kQTDataLocationPropertyID_LegacyMovieResourceHandle = FOUR_CHAR_CODE('rezh'), /* QTNewMovieUserProcInfo * (for semantics of NewMovieFromHandle)*/
- kQTDataLocationPropertyID_MovieUserProc = FOUR_CHAR_CODE('uspr'), /* for semantics of NewMovieFromUserProc*/
- kQTDataLocationPropertyID_ResourceFork = FOUR_CHAR_CODE('rfrk'), /* for semantics of NewMovieFromFile*/
- kQTDataLocationPropertyID_DataFork = FOUR_CHAR_CODE('dfrk'), /* for semantics of NewMovieFromDataFork64*/
- kQTPropertyClass_Context = FOUR_CHAR_CODE('ctxt'), /* Media Contexts*/
- kQTContextPropertyID_AudioContext = FOUR_CHAR_CODE('audi'),
- kQTContextPropertyID_VisualContext = FOUR_CHAR_CODE('visu'),
- kQTPropertyClass_MovieResourceLocator = FOUR_CHAR_CODE('rloc'),
- kQTMovieResourceLocatorPropertyID_LegacyResID = FOUR_CHAR_CODE('rezi'), /* (input/result property)*/
- kQTMovieResourceLocatorPropertyID_LegacyResName = FOUR_CHAR_CODE('rezn'), /* (result property)*/
- kQTMovieResourceLocatorPropertyID_FileOffset = FOUR_CHAR_CODE('foff'), /* NewMovieFromDataFork[64]*/
- kQTMovieResourceLocatorPropertyID_Callback = FOUR_CHAR_CODE('calb'), /* NewMovieFromUserProc(getProc,refcon)*/
- /* Uses kQTMovieDefaultDataRefPropertyID for default dataref*/
- kQTPropertyClass_MovieInstantiation = FOUR_CHAR_CODE('mins'),
- kQTMovieInstantiationPropertyID_DontResolveDataRefs = FOUR_CHAR_CODE('rdrn'),
- kQTMovieInstantiationPropertyID_DontAskUnresolvedDataRefs = FOUR_CHAR_CODE('aurn'),
- kQTMovieInstantiationPropertyID_DontAutoAlternates = FOUR_CHAR_CODE('aaln'),
- kQTMovieInstantiationPropertyID_DontUpdateForeBackPointers = FOUR_CHAR_CODE('fbpn'),
- kQTMovieInstantiationPropertyID_AsyncOK = FOUR_CHAR_CODE('asok'),
- kQTMovieInstantiationPropertyID_IdleImportOK = FOUR_CHAR_CODE('imok'),
- kQTMovieInstantiationPropertyID_DontAutoUpdateClock = FOUR_CHAR_CODE('aucl'),
- kQTMovieInstantiationPropertyID_ResultDataLocationChanged = FOUR_CHAR_CODE('dlch'), /* (result property)*/
- kQTMovieInstantiationPropertyID_AllowMediaOptimization = FOUR_CHAR_CODE('amop'),
- kQTPropertyClass_NewMovieProperty = FOUR_CHAR_CODE('mprp'),
- kQTNewMoviePropertyID_DefaultDataRef = FOUR_CHAR_CODE('ddrf'), /* DataReferenceRecord*/
- kQTNewMoviePropertyID_Active = FOUR_CHAR_CODE('actv'),
- kQTNewMoviePropertyID_DontInteractWithUser = FOUR_CHAR_CODE('intn')
- };
-
-
- /** Property value for kQTDataLocationPropertyID_MovieUserProc */
- struct QTNewMovieUserProcRecord
- {
- GetMovieUPP getMovieUserProc;
- void * getMovieUserProcRefcon;
- DataReferenceRecord defaultDataRef;
- };
- typedef struct QTNewMovieUserProcRecord QTNewMovieUserProcRecord;
- /** Property structure for NewMovieFromProperties */
- struct QTNewMoviePropertyElement
- {
- QTPropertyClass propClass;
- QTPropertyID propID;
- ByteCount propValueSize;
- QTPropertyValuePtr propValueAddress;
- OSStatus propStatus;
- };
- typedef struct QTNewMoviePropertyElement QTNewMoviePropertyElement;
- /*
- * NewMovieFromProperties()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- NewMovieFromProperties(
- ItemCount inputPropertyCount,
- QTNewMoviePropertyElement * inputProperties,
- ItemCount outputPropertyCount,
- QTNewMoviePropertyElement * outputProperties,
- Movie * theMovie);
-
-
- /*
- * NewMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- NewMovie(long flags);
-
-
- /*
- * PutMovieIntoHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- PutMovieIntoHandle(
- Movie theMovie,
- Handle publicMovie);
-
-
- /*
- * PutMovieIntoDataFork()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- PutMovieIntoDataFork(
- Movie theMovie,
- short fRefNum,
- long offset,
- long maxSize);
-
-
- /*
- * PutMovieIntoDataFork64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- PutMovieIntoDataFork64(
- Movie theMovie,
- long fRefNum,
- const wide * offset,
- unsigned long maxSize);
-
-
- /*
- * PutMovieIntoStorage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- PutMovieIntoStorage(
- Movie theMovie,
- DataHandler dh,
- const wide * offset,
- unsigned long maxSize);
-
-
- /*
- * PutMovieForDataRefIntoHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- PutMovieForDataRefIntoHandle(
- Movie theMovie,
- Handle dataRef,
- OSType dataRefType,
- Handle publicMovie);
-
-
- /*
- * DisposeMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeMovie(Movie theMovie);
-
-
- /*************************
- * Movie State Routines
- **************************/
- /*
- * GetMovieCreationTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(unsigned long)
- GetMovieCreationTime(Movie theMovie);
-
-
- /*
- * GetMovieModificationTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(unsigned long)
- GetMovieModificationTime(Movie theMovie);
-
-
- /*
- * GetMovieTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeScale)
- GetMovieTimeScale(Movie theMovie);
-
-
- /*
- * SetMovieTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieTimeScale(
- Movie theMovie,
- TimeScale timeScale);
-
-
- /*
- * GetMovieDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetMovieDuration(Movie theMovie);
-
-
- /*
- * GetMovieRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- GetMovieRate(Movie theMovie);
-
-
- /*
- * SetMovieRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieRate(
- Movie theMovie,
- Fixed rate);
-
-
- /*
- * GetMoviePreferredRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- GetMoviePreferredRate(Movie theMovie);
-
-
- /*
- * SetMoviePreferredRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMoviePreferredRate(
- Movie theMovie,
- Fixed rate);
-
-
- /*
- * GetMovieMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMovieMatrix(
- Movie theMovie,
- MatrixRecord * matrix);
-
-
- /*
- * SetMovieMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieMatrix(
- Movie theMovie,
- const MatrixRecord * matrix);
-
-
- /*
- * GetMoviePreviewTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMoviePreviewTime(
- Movie theMovie,
- TimeValue * previewTime,
- TimeValue * previewDuration);
-
-
- /*
- * SetMoviePreviewTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMoviePreviewTime(
- Movie theMovie,
- TimeValue previewTime,
- TimeValue previewDuration);
-
-
- /*
- * GetMoviePosterTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetMoviePosterTime(Movie theMovie);
-
-
- /*
- * SetMoviePosterTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMoviePosterTime(
- Movie theMovie,
- TimeValue posterTime);
-
-
- /*
- * GetMovieSelection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMovieSelection(
- Movie theMovie,
- TimeValue * selectionTime,
- TimeValue * selectionDuration);
-
-
- /*
- * SetMovieSelection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieSelection(
- Movie theMovie,
- TimeValue selectionTime,
- TimeValue selectionDuration);
-
-
- /*
- * SetMovieActiveSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieActiveSegment(
- Movie theMovie,
- TimeValue startTime,
- TimeValue duration);
-
-
- /*
- * GetMovieActiveSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMovieActiveSegment(
- Movie theMovie,
- TimeValue * startTime,
- TimeValue * duration);
-
-
- /*
- * GetMovieTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetMovieTime(
- Movie theMovie,
- TimeRecord * currentTime);
-
-
- /*
- * SetMovieTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieTime(
- Movie theMovie,
- const TimeRecord * newtime);
-
-
- /*
- * SetMovieTimeValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieTimeValue(
- Movie theMovie,
- TimeValue newtime);
-
-
-
- /*
- * GetMovieUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(UserData)
- GetMovieUserData(Movie theMovie);
-
-
- /*
- * QTGetTimeUntilNextTask()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTGetTimeUntilNextTask(
- long * duration,
- long scale);
-
-
- /*
- * QTInstallNextTaskNeededSoonerCallback()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTInstallNextTaskNeededSoonerCallback(
- QTNextTaskNeededSoonerCallbackUPP callbackProc,
- TimeScale scale,
- unsigned long flags,
- void * refcon);
-
-
- /*
- * QTUninstallNextTaskNeededSoonerCallback()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTUninstallNextTaskNeededSoonerCallback(
- QTNextTaskNeededSoonerCallbackUPP callbackProc,
- void * refcon);
-
-
- /*
- * GetMovieRateChangeConstraints()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- GetMovieRateChangeConstraints(
- Movie theMovie,
- TimeRecord * minimumDelay,
- TimeRecord * maximumDelay);
-
-
- /*************************
- * Track/Media finding routines
- **************************/
- /*
- * GetMovieTrackCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetMovieTrackCount(Movie theMovie);
-
-
- /*
- * GetMovieTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- GetMovieTrack(
- Movie theMovie,
- long trackID);
-
-
- /*
- * GetMovieIndTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- GetMovieIndTrack(
- Movie theMovie,
- long index);
-
-
- /*
- * GetMovieIndTrackType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- GetMovieIndTrackType(
- Movie theMovie,
- long index,
- OSType trackType,
- long flags);
-
-
- /*
- * GetTrackID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetTrackID(Track theTrack);
-
-
- /*
- * GetTrackMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- GetTrackMovie(Track theTrack);
-
-
- /*************************
- * Track creation routines
- **************************/
- /*
- * NewMovieTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- NewMovieTrack(
- Movie theMovie,
- Fixed width,
- Fixed height,
- short trackVolume);
-
-
- /*
- * DisposeMovieTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeMovieTrack(Track theTrack);
-
-
- /*************************
- * Track State routines
- **************************/
- /*
- * GetTrackCreationTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(unsigned long)
- GetTrackCreationTime(Track theTrack);
-
-
- /*
- * GetTrackModificationTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(unsigned long)
- GetTrackModificationTime(Track theTrack);
-
-
-
- /*
- * GetTrackEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- GetTrackEnabled(Track theTrack);
-
-
- /*
- * SetTrackEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackEnabled(
- Track theTrack,
- Boolean isEnabled);
-
-
- /*
- * GetTrackUsage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetTrackUsage(Track theTrack);
-
-
- /*
- * SetTrackUsage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackUsage(
- Track theTrack,
- long usage);
-
-
- /*
- * GetTrackDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetTrackDuration(Track theTrack);
-
-
- /*
- * GetTrackOffset()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetTrackOffset(Track theTrack);
-
-
- /*
- * SetTrackOffset()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackOffset(
- Track theTrack,
- TimeValue movieOffsetTime);
-
-
- /*
- * GetTrackLayer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- GetTrackLayer(Track theTrack);
-
-
- /*
- * SetTrackLayer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackLayer(
- Track theTrack,
- short layer);
-
-
- /*
- * GetTrackAlternate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- GetTrackAlternate(Track theTrack);
-
-
- /*
- * SetTrackAlternate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackAlternate(
- Track theTrack,
- Track alternateT);
-
-
- /*
- * SetAutoTrackAlternatesEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetAutoTrackAlternatesEnabled(
- Movie theMovie,
- Boolean enable);
-
-
- /*
- * SelectMovieAlternates()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SelectMovieAlternates(Movie theMovie);
-
-
- /*
- * GetTrackMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetTrackMatrix(
- Track theTrack,
- MatrixRecord * matrix);
-
-
- /*
- * SetTrackMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackMatrix(
- Track theTrack,
- const MatrixRecord * matrix);
-
-
- /*
- * GetTrackDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetTrackDimensions(
- Track theTrack,
- Fixed * width,
- Fixed * height);
-
-
- /*
- * SetTrackDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackDimensions(
- Track theTrack,
- Fixed width,
- Fixed height);
-
-
- /*
- * GetTrackUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(UserData)
- GetTrackUserData(Track theTrack);
-
-
- /*
- * GetTrackDisplayMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetTrackDisplayMatrix(
- Track theTrack,
- MatrixRecord * matrix);
-
-
-
- /*************************
- * get Media routines
- **************************/
- /*
- * NewTrackMedia()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Media)
- NewTrackMedia(
- Track theTrack,
- OSType mediaType,
- TimeScale timeScale,
- Handle dataRef,
- OSType dataRefType);
-
-
- /*
- * DisposeTrackMedia()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeTrackMedia(Media theMedia);
-
-
- /*
- * GetTrackMedia()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Media)
- GetTrackMedia(Track theTrack);
-
-
- /*
- * GetMediaTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- GetMediaTrack(Media theMedia);
-
-
-
-
- /*************************
- * Media State routines
- **************************/
- /*
- * GetMediaCreationTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(unsigned long)
- GetMediaCreationTime(Media theMedia);
-
-
- /*
- * GetMediaModificationTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(unsigned long)
- GetMediaModificationTime(Media theMedia);
-
-
- /*
- * GetMediaTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeScale)
- GetMediaTimeScale(Media theMedia);
-
-
- /*
- * SetMediaTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMediaTimeScale(
- Media theMedia,
- TimeScale timeScale);
-
-
- /*
- * GetMediaDecodeDuration()
- *
- * Summary:
- * Returns the decode duration of a media.
- *
- * Discussion:
- * A media's decode duration is the sum of the decode durations of
- * its samples.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeValue64)
- GetMediaDecodeDuration(Media theMedia);
-
-
- /*
- * GetMediaAdvanceDecodeTime()
- *
- * Summary:
- * Returns the advance decode time of a media.
- *
- * Discussion:
- * A media's advance decode time is the absolute value of the
- * greatest-magnitude negative display offset of its samples, or
- * zero if there are no samples with negative display offsets.
- * This is the amount that the decode time axis must be adjusted
- * ahead of the display time axis to ensure that no sample's
- * adjusted decode time is later than its display time.
- * For media without nonzero display offsets, the advance decode
- * time is zero.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeValue64)
- GetMediaAdvanceDecodeTime(Media theMedia);
-
-
- /*
- * GetMediaDisplayDuration()
- *
- * Summary:
- * Returns the display duration of a media.
- *
- * Discussion:
- * A media's display duration is its display end time minus its
- * display start time. For media without nonzero display offsets,
- * the decode duration and display duration are the same, so
- * GetMediaDisplayDuration and GetMediaDisplayDuration are
- * equivalent to GetMediaDuration.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeValue64)
- GetMediaDisplayDuration(Media theMedia);
-
-
- /*
- * GetMediaDisplayStartTime()
- *
- * Summary:
- * Returns the display start time of a media.
- *
- * Discussion:
- * A media's display start time is the earliest display time of any
- * of its samples. For media without nonzero display offsets, the
- * display start time is always zero.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeValue64)
- GetMediaDisplayStartTime(Media theMedia);
-
-
- /*
- * GetMediaDisplayEndTime()
- *
- * Summary:
- * Returns the display end time of a media.
- *
- * Discussion:
- * A media's display end time is the sum of the display time and
- * decode duration of the sample with the greatest display time. For
- * media without nonzero display offsets, the display end time is
- * the same as the media decode duration, which is the same as the
- * media duration.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeValue64)
- GetMediaDisplayEndTime(Media theMedia);
-
-
- /*
- * GetMediaDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetMediaDuration(Media theMedia);
-
-
- /*
- * GetMediaLanguage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- GetMediaLanguage(Media theMedia);
-
-
- /*
- * SetMediaLanguage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMediaLanguage(
- Media theMedia,
- short language);
-
-
- /*
- * GetMediaQuality()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- GetMediaQuality(Media theMedia);
-
-
- /*
- * SetMediaQuality()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMediaQuality(
- Media theMedia,
- short quality);
-
-
- /*
- * GetMediaHandlerDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMediaHandlerDescription(
- Media theMedia,
- OSType * mediaType,
- Str255 creatorName,
- OSType * creatorManufacturer);
-
-
- /*
- * GetMediaUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(UserData)
- GetMediaUserData(Media theMedia);
-
-
- /*
- * GetMediaInputMap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaInputMap(
- Media theMedia,
- QTAtomContainer * inputMap);
-
-
- /*
- * SetMediaInputMap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaInputMap(
- Media theMedia,
- QTAtomContainer inputMap);
-
-
- /*************************
- * Media Handler routines
- **************************/
- /*
- * GetMediaHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(MediaHandler)
- GetMediaHandler(Media theMedia);
-
-
- /*
- * SetMediaHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaHandler(
- Media theMedia,
- MediaHandlerComponent mH);
-
-
-
- /*************************
- * Media's Data routines
- **************************/
- /*
- * BeginMediaEdits()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- BeginMediaEdits(Media theMedia);
-
-
- /*
- * EndMediaEdits()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- EndMediaEdits(Media theMedia);
-
-
- /*
- * SetMediaDefaultDataRefIndex()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaDefaultDataRefIndex(
- Media theMedia,
- short index);
-
-
- /*
- * GetMediaDataHandlerDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMediaDataHandlerDescription(
- Media theMedia,
- short index,
- OSType * dhType,
- Str255 creatorName,
- OSType * creatorManufacturer);
-
-
- /*
- * GetMediaDataHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(DataHandler)
- GetMediaDataHandler(
- Media theMedia,
- short index);
-
-
- /*
- * SetMediaDataHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaDataHandler(
- Media theMedia,
- short index,
- DataHandlerComponent dataHandler);
-
-
- /*
- * GetDataHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Component)
- GetDataHandler(
- Handle dataRef,
- OSType dataHandlerSubType,
- long flags);
-
-
- /*
- * OpenADataHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- OpenADataHandler(
- Handle dataRef,
- OSType dataHandlerSubType,
- Handle anchorDataRef,
- OSType anchorDataRefType,
- TimeBase tb,
- long flags,
- ComponentInstance * dh);
-
-
- /*************************
- * Media Sample Table Routines
- **************************/
- /*
- * GetMediaSampleDescriptionCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetMediaSampleDescriptionCount(Media theMedia);
-
-
- /*
- * GetMediaSampleDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMediaSampleDescription(
- Media theMedia,
- long index,
- SampleDescriptionHandle descH);
-
-
- /*
- * SetMediaSampleDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaSampleDescription(
- Media theMedia,
- long index,
- SampleDescriptionHandle descH);
-
-
- /*
- * GetMediaSampleCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetMediaSampleCount(Media theMedia);
-
-
- /*
- * GetMediaSyncSampleCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetMediaSyncSampleCount(Media theMedia);
-
-
- /*
- * MediaContainsDisplayOffsets()
- *
- * Summary:
- * Tests whether a media contains display offsets.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * Result:
- * True, if the media is valid and contains at least one sample with
- * a nonzero display offset. False otherwise.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(Boolean)
- MediaContainsDisplayOffsets(Media theMedia);
-
-
- /*
- * SampleNumToMediaDecodeTime()
- *
- * Summary:
- * Finds the decode time for a specified sample.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * logicalSampleNum:
- * The sample number.
- *
- * sampleDecodeTime:
- * A pointer to a time value. The function updates this time value
- * to indicate the decode time of the sample specified by the
- * logicalSampleNum parameter. This time value is expressed in the
- * media's time scale. Set this parameter to NULL if you do not
- * want this information.
- *
- * sampleDecodeDuration:
- * A pointer to a time value. The function updates this time value
- * to indicate the decode duration of the sample specified by the
- * logicalSampleNum parameter. This time value is expressed in the
- * media's time scale. Set this parameter to NULL if you do not
- * want this information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(void)
- SampleNumToMediaDecodeTime(
- Media theMedia,
- SInt64 logicalSampleNum,
- TimeValue64 * sampleDecodeTime,
- TimeValue64 * sampleDecodeDuration);
-
-
- /*
- * MediaDecodeTimeToSampleNum()
- *
- * Summary:
- * Finds the sample for a specified decode time.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * decodeTime:
- * The decode time for which you are retrieving sample
- * information. You must specify this value in the media's time
- * scale.
- *
- * sampleNum:
- * Points to a variable that is to receive the sample number. The
- * function returns the sample number that identifies the sample
- * that contains data for the specified decode time, or zero if it
- * is not found.
- *
- * sampleDecodeTime:
- * A pointer to a time value. The function updates this time value
- * to indicate the decode time of the sample specified by the
- * logicalSampleNum parameter. This time value is expressed in the
- * media's time scale. Set this parameter to NULL if you do not
- * want this information.
- *
- * sampleDecodeDuration:
- * A pointer to a time value. The function updates this time value
- * to indicate the decode duration of the sample specified by the
- * logicalSampleNum parameter. This time value is expressed in the
- * media's time scale. Set this parameter to NULL if you do not
- * want this information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(void)
- MediaDecodeTimeToSampleNum(
- Media theMedia,
- TimeValue64 decodeTime,
- SInt64 * sampleNum,
- TimeValue64 * sampleDecodeTime,
- TimeValue64 * sampleDecodeDuration);
-
-
- /*
- * SampleNumToMediaDisplayTime()
- *
- * Summary:
- * Finds the display time for a specified sample.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * logicalSampleNum:
- * The sample number.
- *
- * sampleDisplayTime:
- * A pointer to a time value. The function updates this time value
- * to indicate the display time of the sample specified by the
- * logicalSampleNum parameter. This time value is expressed in the
- * media's time scale. Set this parameter to NULL if you do not
- * want this information.
- *
- * sampleDisplayDuration:
- * A pointer to a time value. The function updates this time value
- * to indicate the display duration of the sample specified by the
- * logicalSampleNum parameter. This time value is expressed in the
- * media's time scale. Set this parameter to NULL if you do not
- * want this information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(void)
- SampleNumToMediaDisplayTime(
- Media theMedia,
- SInt64 logicalSampleNum,
- TimeValue64 * sampleDisplayTime,
- TimeValue64 * sampleDisplayDuration);
-
-
- /*
- * MediaDisplayTimeToSampleNum()
- *
- * Summary:
- * Finds the sample number for a specified display time.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * displayTime:
- * The display time for which you are retrieving sample
- * information. You must specify this value in the media's time
- * scale.
- *
- * sampleNum:
- * Points to a long integer that is to receive the sample number.
- * The function returns the sample number that identifies the
- * sample for the specified display time, or zero if it is not
- * found.
- *
- * sampleDisplayTime:
- * A pointer to a time value. The function updates this time value
- * to indicate the display time of the sample specified by the
- * logicalSampleNum parameter. This time value is expressed in the
- * media's time scale. Set this parameter to NULL if you do not
- * want this information.
- *
- * sampleDisplayDuration:
- * A pointer to a time value. The function updates this time value
- * to indicate the display duration of the sample specified by the
- * logicalSampleNum parameter. This time value is expressed in the
- * media's time scale. Set this parameter to NULL if you do not
- * want this information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(void)
- MediaDisplayTimeToSampleNum(
- Media theMedia,
- TimeValue64 displayTime,
- SInt64 * sampleNum,
- TimeValue64 * sampleDisplayTime,
- TimeValue64 * sampleDisplayDuration);
-
-
- /*
- * SampleNumToMediaTime()
- *
- * Summary:
- * Finds the media time for a specified sample.
- *
- * Discussion:
- * For media with display offsets, SampleNumToMediaTime is ambiguous
- * and will return kQTMediaHasDisplayOffsetsErr. Call
- * SampleNumToMediaDecodeTime or SampleNumToMediaDisplayTime instead.
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SampleNumToMediaTime(
- Media theMedia,
- long logicalSampleNum,
- TimeValue * sampleTime,
- TimeValue * sampleDuration);
-
-
- /*
- * MediaTimeToSampleNum()
- *
- * Summary:
- * Finds the sample number for a specified media time.
- *
- * Discussion:
- * For media with display offsets, MediaTimeToSampleNum is ambiguous
- * and will return kQTMediaHasDisplayOffsetsErr. Call
- * MediaDecodeTimeToSampleNum or MediaDisplayTimeToSampleNum instead.
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- MediaTimeToSampleNum(
- Media theMedia,
- TimeValue time,
- long * sampleNum,
- TimeValue * sampleTime,
- TimeValue * sampleDuration);
-
-
- /*
- * AddMediaSample2()
- *
- * Summary:
- * Adds sample data and a description to a media. AddMediaSample2
- * extends and supercedes AddMediaSample.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * dataIn:
- * Points to sample data.
- *
- * size:
- * The number of bytes of sample data to be added to the media.
- * This parameter indicates the total number of bytes in the
- * sample data to be added to the media, not the number of bytes
- * per sample. Use the numberOfSamples parameter to indicate the
- * number of samples that are contained in the sample data.
- *
- * decodeDurationPerSample:
- * The duration of each sample to be added. You must specify this
- * parameter in the media time scale. For example, if you are
- * adding sound that was sampled at 22 kHz to a media that
- * contains a sound track with the same time scale, you would set
- * durationPerSample to 1. Similarly, if you are adding video that
- * was recorded at 10 frames per second to a video media that has
- * a time scale of 600, you would set this parameter to 60 to add
- * a single sample.
- *
- * displayOffset:
- * The offset from decode time to display time of each sample to
- * be added. You must specify this parameter in the media time
- * scale. If the decode times and display times for the samples
- * are identical, pass zero.
- *
- * sampleDescriptionH:
- * A handle to a SampleDescription structure. Some media
- * structures may require sample descriptions. There are different
- * descriptions for different types of samples. For example, a
- * media that contains compressed video requires that you supply
- * an ImageDescription structure. A media that contains sound
- * requires that you supply a SoundDescription structure.
- *
- * numberOfSamples:
- * The number of samples contained in the sample data to be added
- * to the media.
- *
- * sampleFlags:
- * Specifies the media sample flags for the samples to be added.
- *
- * sampleDecodeTimeOut:
- * A pointer to a time value. After adding the sample data to the
- * media, the AddMediaSample function returns the decode time
- * where the first sample was inserted in the time value referred
- * to by this parameter. If you don't want to receive this
- * information, set this parameter to NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- AddMediaSample2(
- Media theMedia,
- const UInt8 * dataIn,
- ByteCount size,
- TimeValue64 decodeDurationPerSample,
- TimeValue64 displayOffset,
- SampleDescriptionHandle sampleDescriptionH,
- ItemCount numberOfSamples,
- MediaSampleFlags sampleFlags,
- TimeValue64 * sampleDecodeTimeOut); /* can be NULL */
-
-
- /*
- * AddMediaSampleFromEncodedFrame()
- *
- * Summary:
- * Adds sample data and description from an encoded frame to a media.
- *
- * Discussion:
- * This is a convenience API to make it easy to add frames emitted
- * by ICM compression session APIs to media.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * encodedFrame:
- * An encoded frame token returned by an ICMCompressionSequence.
- *
- * sampleDecodeTimeOut:
- * A pointer to a time value. After adding the sample data to the
- * media, the function returns the decode time where the first
- * sample was inserted in the time value referred to by this
- * parameter. If you don't want to receive this information, set
- * this parameter to NULL.
- *
- * Result:
- * An operating system result code.
- * kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not
- * support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if
- * there is already a sample with this display time.
- * kQTDisplayTimeTooEarlyErr if a sample's display time would be
- * earlier than the display time of an existing sample that does not
- * have the mediaSampleEarlierDisplayTimesAllowed flag set.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- AddMediaSampleFromEncodedFrame(
- Media theMedia,
- ICMEncodedFrameRef encodedFrame,
- TimeValue64 * sampleDecodeTimeOut); /* can be NULL */
-
-
- /*
- * AddSampleTableToMedia()
- *
- * Summary:
- * Adds sample references from a sample table to a media.
- * AddSampleTableToMedia supercedes AddMediaSampleReferences and
- * AddMediaSampleReferences64.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * sampleTable:
- * The sample table containing sample references to be added to
- * the media.
- *
- * startSampleNum:
- * The sample number of the first sample reference in the sample
- * table to be added to the media. The first sample's number is 1.
- *
- * numberOfSamples:
- * The number of sample references from the sample table to be
- * added to the media.
- *
- * sampleDecodeTimeOut:
- * A pointer to a time value. After adding the sample references
- * to the media, the function returns the decode time where the
- * first sample was inserted in the time value referred to by this
- * parameter. If you don't want to receive this information, set
- * this parameter to NULL.
- *
- * Result:
- * An operating system result code.
- * kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not
- * support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if
- * there is already a sample with this display time.
- * kQTDisplayTimeTooEarlyErr if a sample's display time would be
- * earlier than the display time of an existing sample that does not
- * have the mediaSampleEarlierDisplayTimesAllowed flag set.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- AddSampleTableToMedia(
- Media theMedia,
- QTSampleTableRef sampleTable,
- SInt64 startSampleNum,
- SInt64 numberOfSamples,
- TimeValue64 * sampleDecodeTimeOut); /* can be NULL */
-
-
- /*
- * AddMediaSample()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddMediaSample(
- Media theMedia,
- Handle dataIn,
- long inOffset,
- unsigned long size,
- TimeValue durationPerSample,
- SampleDescriptionHandle sampleDescriptionH,
- long numberOfSamples,
- short sampleFlags,
- TimeValue * sampleTime);
-
-
- /*
- * AddMediaSampleReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddMediaSampleReference(
- Media theMedia,
- long dataOffset,
- unsigned long size,
- TimeValue durationPerSample,
- SampleDescriptionHandle sampleDescriptionH,
- long numberOfSamples,
- short sampleFlags,
- TimeValue * sampleTime);
-
-
- /*
- * AddMediaSampleReferences()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddMediaSampleReferences(
- Media theMedia,
- SampleDescriptionHandle sampleDescriptionH,
- long numberOfSamples,
- SampleReferencePtr sampleRefs,
- TimeValue * sampleTime);
-
-
- /*
- * AddMediaSampleReferences64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- AddMediaSampleReferences64(
- Media theMedia,
- SampleDescriptionHandle sampleDescriptionH,
- long numberOfSamples,
- SampleReference64Ptr sampleRefs,
- TimeValue * sampleTime);
-
-
- /*
- * ExtendMediaDecodeDurationToDisplayEndTime()
- *
- * Summary:
- * Prepares a media for the addition of a completely new sequence of
- * samples by ensuring that the media display end time is not later
- * than the media decode end time.
- *
- * Discussion:
- * After adding a complete, well-formed set of samples to a media,
- * the media's display end time should be the same as the media's
- * decode end time (also called the media decode duration).
- * However, this is not necessarily the case after individual
- * sample-adding operations, and hence it is possible for a media to
- * be left with a display end time later than its decode end time --
- * if adding a sequence of frames is aborted halfway, for example.
- *
- * This may make it difficult to add a new group of samples, because
- * a well-formed group of samples' earliest display time should be
- * the same as the first frame's decode time. If such a well-formed
- * group is added to an incompletely finished media, frames from the
- * old and new groups frames might collide in display time.
- * ExtendMediaDecodeDurationToDisplayEndTime prevents any such
- * collision or overlap by extending the last sample's decode
- * duration as necessary. It ensures that the next added sample
- * will have a decode time no earlier than the media's display end
- * time. If this was already the case, it makes no change to the
- * media.
- * You can call ExtendMediaDecodeDurationToDisplayEndTime before you
- * begin adding samples to a media if you're not certain that the
- * media was left in a well-finished state. You do not need to call
- * it before adding samples to a newly created media, nor should you
- * call it in between samples from the same compression session.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * mediaChanged:
- * Points to a variable which will be set to true if any samples
- * in the media were adjusted, false otherwise. If you don't want
- * to receive this information, set this parameter to NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- ExtendMediaDecodeDurationToDisplayEndTime(
- Media theMedia,
- Boolean * mediaChanged);
-
-
- /*
- * GetMediaSample2()
- *
- * Summary:
- * Retrieves sample data from a media file. GetMediaSample2 extends
- * and supercedes GetMediaSample.
- *
- * Discussion:
- * GetMediaSample2 will only return multiple samples that all have
- * the same decode duration per sample, the same display offset, the
- * same sample description, and the same size per sample.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * dataOut:
- * Points to a buffer to receive sample data. The buffer must be
- * large enough to contain at least maxDataSize bytes. If you do
- * not want to receive sample data, pass NULL.
- *
- * maxDataSize:
- * The maximum number of bytes of data to receive.
- *
- * size:
- * Points to a long integer to receive the number of bytes of
- * sample data returned. Pass NULL if you are not interested this
- * information.
- *
- * decodeTime:
- * The decode time for which you are retrieving sample
- * information. You must specify this value in the media's time
- * scale.
- *
- * sampleDecodeTime:
- * A pointer to a time value. The function updates this time value
- * to indicate the actual decode time of the returned sample data.
- * (The returned time may differ from the time you specified with
- * the decodeTime parameter. This will occur if the time you
- * specified falls in the middle of a sample.) If you are not
- * interested in this information, set this parameter to NULL.
- *
- * decodeDurationPerSample:
- * A pointer to a time value. The function updates this time value
- * to indicate the decode duration of each of the returned
- * samples. This time value is expressed in the media's time
- * scale. Set this parameter to NULL if you don't want this
- * information.
- *
- * displayOffset:
- * A pointer to a time value. The function updates this time value
- * to indicate the display offset of the returned sample. This
- * time value is expressed in the media's time scale. Set this
- * parameter to NULL if you don't want this information.
- *
- * sampleDescriptionH:
- * A handle to a SampleDescription structure. The function returns
- * the sample description corresponding to the returned sample
- * data. The function resizes this handle as appropriate. If you
- * don't want a SampleDescription structure, set this parameter to
- * NULL.
- *
- * sampleDescriptionIndex:
- * A pointer to a long integer. The function returns an index
- * value to the SampleDescription structure that corresponds to
- * the returned sample data. You can retrieve the structure by
- * calling GetMediaSampleDescription and passing this index in the
- * index parameter. If you don't want this information, set this
- * parameter to NULL.
- *
- * maxNumberOfSamples:
- * The maximum number of samples to be returned. The Movie Toolbox
- * does not return more samples than you specify with this
- * parameter. If you set this parameter to 0, the Movie Toolbox
- * uses a value that is appropriate for the media, and returns
- * that value in the field referenced by the numberOfSamples
- * parameter.
- *
- * numberOfSamples:
- * A pointer to a long integer. The function updates the field
- * referred to by this parameter with the number of samples it
- * actually returns. If you don't want this information, set this
- * parameter to NULL.
- *
- * sampleFlags:
- * A pointer to a short integer in which the function returns
- * media sample flags for the returned samples. If you don't want
- * this information, set this parameter to NULL.
- *
- * Result:
- * An operating system result code. maxSizeToGrowTooSmall if the
- * sample data is larger than maxDataSize.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- GetMediaSample2(
- Media theMedia,
- UInt8 * dataOut,
- ByteCount maxDataSize,
- ByteCount * size,
- TimeValue64 decodeTime,
- TimeValue64 * sampleDecodeTime,
- TimeValue64 * decodeDurationPerSample,
- TimeValue64 * displayOffset,
- SampleDescriptionHandle sampleDescriptionH,
- ItemCount * sampleDescriptionIndex,
- ItemCount maxNumberOfSamples,
- ItemCount * numberOfSamples,
- MediaSampleFlags * sampleFlags);
-
-
- /*
- * GetMediaSample()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaSample(
- Media theMedia,
- Handle dataOut,
- long maxSizeToGrow,
- long * size,
- TimeValue time,
- TimeValue * sampleTime,
- TimeValue * durationPerSample,
- SampleDescriptionHandle sampleDescriptionH,
- long * sampleDescriptionIndex,
- long maxNumberOfSample,
- long * numberOfSamples,
- short * sampleFlags);
-
-
- /*
- * CopyMediaMutableSampleTable()
- *
- * Summary:
- * Obtains information about sample references in a media in the
- * form of a sample table. CopyMediaMutableSampleTable supercedes
- * GetMediaSampleReferences and GetMediaSampleReferences64.
- *
- * Discussion:
- * When you are done with the returned sample table, release it with
- * QTSampleTableRelease.
- * To find out how many samples were returned in the sample table,
- * call QTSampleTableGetNumberOfSamples.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * startDecodeTime:
- * The starting decode time of the sample references to be
- * retrieved. You must specify this value in the media's time
- * scale.
- *
- * sampleStartDecodeTime:
- * A pointer to a time value. The function updates this time value
- * to indicate the actual decode time of the first returned sample
- * reference. (The returned time may differ from the time you
- * specified with the startDecodeTime parameter. This will occur
- * if the time you specified falls in the middle of a sample.) If
- * you are not interested in this information, set this parameter
- * to NULL.
- *
- * maxNumberOfSamples:
- * The maximum number of sample references to be returned. If you
- * set this parameter to 0, the Movie Toolbox uses a value that is
- * appropriate to the media.
- *
- * maxDecodeDuration:
- * The maximum decode duration to be returned. The function does
- * not return samples with greater decode duration than you
- * specify with this parameter. If you set this parameter to 0,
- * the Movie Toolbox uses a value that is appropriate for the
- * media.
- *
- * sampleTableOut:
- * A pointer to a sample table reference to receive the newly
- * created mutable sample table.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- CopyMediaMutableSampleTable(
- Media theMedia,
- TimeValue64 startDecodeTime,
- TimeValue64 * sampleStartDecodeTime,
- SInt64 maxNumberOfSamples,
- TimeValue64 maxDecodeDuration,
- QTMutableSampleTableRef * sampleTableOut);
-
-
- /*
- * GetMediaSampleReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaSampleReference(
- Media theMedia,
- long * dataOffset,
- long * size,
- TimeValue time,
- TimeValue * sampleTime,
- TimeValue * durationPerSample,
- SampleDescriptionHandle sampleDescriptionH,
- long * sampleDescriptionIndex,
- long maxNumberOfSamples,
- long * numberOfSamples,
- short * sampleFlags);
-
-
- /*
- * GetMediaSampleReferences()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaSampleReferences(
- Media theMedia,
- TimeValue time,
- TimeValue * sampleTime,
- SampleDescriptionHandle sampleDescriptionH,
- long * sampleDescriptionIndex,
- long maxNumberOfEntries,
- long * actualNumberofEntries,
- SampleReferencePtr sampleRefs);
-
-
- /*
- * GetMediaSampleReferences64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaSampleReferences64(
- Media theMedia,
- TimeValue time,
- TimeValue * sampleTime,
- SampleDescriptionHandle sampleDescriptionH,
- long * sampleDescriptionIndex,
- long maxNumberOfEntries,
- long * actualNumberofEntries,
- SampleReference64Ptr sampleRefs);
-
-
- /*
- * SetMediaPreferredChunkSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaPreferredChunkSize(
- Media theMedia,
- long maxChunkSize);
-
-
- /*
- * GetMediaPreferredChunkSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaPreferredChunkSize(
- Media theMedia,
- long * maxChunkSize);
-
-
- /*
- * SetMediaShadowSync()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaShadowSync(
- Media theMedia,
- long frameDiffSampleNum,
- long syncSampleNum);
-
-
- /*
- * GetMediaShadowSync()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaShadowSync(
- Media theMedia,
- long frameDiffSampleNum,
- long * syncSampleNum);
-
-
- /*************************
- * Editing Routines
- **************************/
- /*
- When inserting media that might have nonzero display offsets into a track, use display time:
- InsertMediaIntoTrack( track,
- 0, // track start time
- GetMediaDisplayStartTime( media ), // media start time
- GetMediaDisplayDuration( media ),
- fixed1 ); // normal speed
- It is safe to use these display time calls for media without display offsets.
- */
- /*
- * InsertMediaIntoTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- InsertMediaIntoTrack(
- Track theTrack,
- TimeValue trackStart,
- TimeValue mediaTime,
- TimeValue mediaDuration,
- Fixed mediaRate);
-
-
- /*
- * InsertTrackSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- InsertTrackSegment(
- Track srcTrack,
- Track dstTrack,
- TimeValue srcIn,
- TimeValue srcDuration,
- TimeValue dstIn);
-
-
- /*
- * InsertMovieSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- InsertMovieSegment(
- Movie srcMovie,
- Movie dstMovie,
- TimeValue srcIn,
- TimeValue srcDuration,
- TimeValue dstIn);
-
-
- /*
- * InsertEmptyTrackSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- InsertEmptyTrackSegment(
- Track dstTrack,
- TimeValue dstIn,
- TimeValue dstDuration);
-
-
- /*
- * InsertEmptyMovieSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- InsertEmptyMovieSegment(
- Movie dstMovie,
- TimeValue dstIn,
- TimeValue dstDuration);
-
-
- /*
- * DeleteTrackSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DeleteTrackSegment(
- Track theTrack,
- TimeValue startTime,
- TimeValue duration);
-
-
- /*
- * DeleteMovieSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DeleteMovieSegment(
- Movie theMovie,
- TimeValue startTime,
- TimeValue duration);
-
-
- /*
- * ScaleTrackSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ScaleTrackSegment(
- Track theTrack,
- TimeValue startTime,
- TimeValue oldDuration,
- TimeValue newDuration);
-
-
- /*
- * ScaleMovieSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ScaleMovieSegment(
- Movie theMovie,
- TimeValue startTime,
- TimeValue oldDuration,
- TimeValue newDuration);
-
-
-
- /*************************
- * Hi-level Editing Routines
- **************************/
- /*
- * CutMovieSelection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- CutMovieSelection(Movie theMovie);
-
-
- /*
- * CopyMovieSelection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- CopyMovieSelection(Movie theMovie);
-
-
- /*
- * PasteMovieSelection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- PasteMovieSelection(
- Movie theMovie,
- Movie src);
-
-
- /*
- * AddMovieSelection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- AddMovieSelection(
- Movie theMovie,
- Movie src);
-
-
- /*
- * ClearMovieSelection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ClearMovieSelection(Movie theMovie);
-
-
- /*
- * PasteHandleIntoMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- PasteHandleIntoMovie(
- Handle h,
- OSType handleType,
- Movie theMovie,
- long flags,
- ComponentInstance userComp);
-
-
- /*
- * PutMovieIntoTypedHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- PutMovieIntoTypedHandle(
- Movie theMovie,
- Track targetTrack,
- OSType handleType,
- Handle publicMovie,
- TimeValue start,
- TimeValue dur,
- long flags,
- ComponentInstance userComp);
-
-
- /*
- * IsScrapMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Component)
- IsScrapMovie(Track targetTrack);
-
-
- /*************************
- * Middle-level Editing Routines
- **************************/
- /*
- * CopyTrackSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CopyTrackSettings(
- Track srcTrack,
- Track dstTrack);
-
-
- /*
- * CopyMovieSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CopyMovieSettings(
- Movie srcMovie,
- Movie dstMovie);
-
-
- /*
- * AddEmptyTrackToMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddEmptyTrackToMovie(
- Track srcTrack,
- Movie dstMovie,
- Handle dataRef,
- OSType dataRefType,
- Track * dstTrack);
-
-
- enum
- {
- kQTCloneShareSamples = 1 << 0,
- kQTCloneDontCopyEdits = 1 << 1
- };
-
- /*
- * AddClonedTrackToMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- AddClonedTrackToMovie(
- Track srcTrack,
- Movie dstMovie,
- long flags,
- Track * dstTrack);
-
-
- /*************************
- * movie & track edit state routines
- **************************/
- /*
- * NewMovieEditState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(MovieEditState)
- NewMovieEditState(Movie theMovie);
-
-
- /*
- * UseMovieEditState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- UseMovieEditState(
- Movie theMovie,
- MovieEditState toState);
-
-
- /*
- * DisposeMovieEditState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DisposeMovieEditState(MovieEditState state);
-
-
- /*
- * NewTrackEditState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TrackEditState)
- NewTrackEditState(Track theTrack);
-
-
- /*
- * UseTrackEditState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- UseTrackEditState(
- Track theTrack,
- TrackEditState state);
-
-
- /*
- * DisposeTrackEditState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DisposeTrackEditState(TrackEditState state);
-
-
- /*************************
- * track reference routines
- **************************/
- /*
- * AddTrackReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddTrackReference(
- Track theTrack,
- Track refTrack,
- OSType refType,
- long * addedIndex);
-
-
- /*
- * DeleteTrackReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DeleteTrackReference(
- Track theTrack,
- OSType refType,
- long index);
-
-
- /*
- * SetTrackReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetTrackReference(
- Track theTrack,
- Track refTrack,
- OSType refType,
- long index);
-
-
- /*
- * GetTrackReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Track)
- GetTrackReference(
- Track theTrack,
- OSType refType,
- long index);
-
-
- /*
- * GetNextTrackReferenceType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSType)
- GetNextTrackReferenceType(
- Track theTrack,
- OSType refType);
-
-
- /*
- * GetTrackReferenceCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetTrackReferenceCount(
- Track theTrack,
- OSType refType);
-
-
-
- /*************************
- * high level file conversion routines
- **************************/
- /*
- * ConvertFileToMovieFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ConvertFileToMovieFile(
- const FSSpec * inputFile,
- const FSSpec * outputFile,
- OSType creator,
- ScriptCode scriptTag,
- short * resID,
- long flags,
- ComponentInstance userComp,
- MovieProgressUPP proc,
- long refCon);
-
-
- /*
- * ConvertMovieToFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ConvertMovieToFile(
- Movie theMovie,
- Track onlyTrack,
- FSSpec * outputFile,
- OSType fileType,
- OSType creator,
- ScriptCode scriptTag,
- short * resID,
- long flags,
- ComponentInstance userComp);
-
-
- /*
- * ConvertMovieToDataRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- ConvertMovieToDataRef(
- Movie m,
- Track onlyTrack,
- Handle dataRef,
- OSType dataRefType,
- OSType fileType,
- OSType creator,
- long flags,
- ComponentInstance userComp);
-
-
- /*
- * ConvertDataRefToMovieDataRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- ConvertDataRefToMovieDataRef(
- Handle inputDataRef,
- OSType inputDataRefType,
- Handle outputDataRef,
- OSType outputDataRefType,
- OSType creator,
- long flags,
- ComponentInstance userComp,
- MovieProgressUPP proc,
- long refCon);
-
-
- enum
- {
- kGetMovieImporterValidateToFind = 1L << 0,
- kGetMovieImporterAllowNewFile = 1L << 1,
- kGetMovieImporterDontConsiderGraphicsImporters = 1L << 2,
- kGetMovieImporterDontConsiderFileOnlyImporters = 1L << 6,
- kGetMovieImporterAutoImportOnly = 1L << 10 /* reject aggressive movie importers which have dontAutoFileMovieImport set*/
- };
-
- /*
- * GetMovieImporterForDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMovieImporterForDataRef(
- OSType dataRefType,
- Handle dataRef,
- long flags,
- Component * importer);
-
-
-
- enum
- {
- kQTGetMIMETypeInfoIsQuickTimeMovieType = FOUR_CHAR_CODE('moov'), /* info is a pointer to a Boolean*/
- kQTGetMIMETypeInfoIsUnhelpfulType = FOUR_CHAR_CODE('dumb') /* info is a pointer to a Boolean*/
- };
-
- /*
- * QTGetMIMETypeInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- QTGetMIMETypeInfo(
- const char * mimeStringStart,
- short mimeStringLength,
- OSType infoSelector,
- void * infoDataPtr,
- long * infoDataSize);
-
-
-
- /****************************
- * Movie importer properties
- *****************************/
-
- /*
- */
- enum
- {
- kQTPropertyClass_MovieImporter = FOUR_CHAR_CODE('eat '),
-
- /*
- * kQTMovieImporterPropertyID_AllowMediaOptimization: Value is
- * Boolean (get/set) Allow QuickTime importers to optimize the media
- * representation during import. This may create media that is not
- * fully compatible with applications that use older low-level APIs
- * to access and manipulate media samples. For instance, this
- * property allows the MP3 importer to create VBR sample tables,
- * which may be incompatible with applications that use
- * GetMediaSample and SoundConverter to manually decode audio samples.
- */
- kQTMovieImporterPropertyID_AllowMediaOptimization = FOUR_CHAR_CODE('amop') /* Boolean*/
- };
-
-
- /*************************
- * Movie Timebase Conversion Routines
- **************************/
- /*
- * TrackTimeToMediaDisplayTime()
- *
- * Summary:
- * Converts a track's time value to a display time value that is
- * appropriate to the track's media, using the track's edit list.
- * This is a 64-bit replacement for TrackTimeToMediaTime.
- *
- * Discussion:
- * This function maps the track time through the track's edit list
- * to come up with the media time. This time value contains the
- * track's time value according to the media's time coordinate
- * system. If the time you specified lies outside of the movie's
- * active segment or corresponds to empty space in the track, this
- * function returns a value of -1. Hence you can use it to determine
- * whether a specified track edit is empty.
- *
- * Parameters:
- *
- * value:
- * The track's time value; must be expressed in the time scale of
- * the movie that contains the track.
- *
- * theTrack:
- * The track for this operation. Your application obtains this
- * track identifier from such functions as NewMovieTrack and
- * GetMovieTrack.
- *
- * Result:
- * The corresponding time in media display time, in the media's time
- * coordinate system. If the track time corresponds to empty space,
- * this function returns a value of -1.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeValue64)
- TrackTimeToMediaDisplayTime(
- TimeValue64 value,
- Track theTrack);
-
-
- /*
- * TrackTimeToMediaTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- TrackTimeToMediaTime(
- TimeValue value,
- Track theTrack);
-
-
- /*
- * GetTrackEditRate64()
- *
- * Summary:
- * Returns the rate of the track edit of a specified track at an
- * indicated time. This is a 64-bit replacement for GetTrackEditRate.
- *
- * Discussion:
- * This function is useful if you are stepping through track edits
- * directly in your application or if you are a client of
- * QuickTime's base media handler.
- *
- * Parameters:
- *
- * theTrack:
- * The track identifier for which the rate of a track edit (at the
- * time given in the atTime parameter) is to be determined.
- *
- * atTime:
- * Indicates a time value at which the rate of a track edit (of a
- * track identified in the parameter theTrack) is to be determined.
- *
- * Result:
- * The rate of the track edit of the specified track at the
- * specified time.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(Fixed)
- GetTrackEditRate64(
- Track theTrack,
- TimeValue64 atTime);
-
-
- /*
- * GetTrackEditRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- GetTrackEditRate(
- Track theTrack,
- TimeValue atTime);
-
-
-
- /*************************
- * Miscellaneous Routines
- **************************/
-
- /*
- * GetMovieDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetMovieDataSize(
- Movie theMovie,
- TimeValue startTime,
- TimeValue duration);
-
-
- /*
- * GetMovieDataSize64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- GetMovieDataSize64(
- Movie theMovie,
- TimeValue startTime,
- TimeValue duration,
- wide * dataSize);
-
-
- /*
- * GetTrackDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetTrackDataSize(
- Track theTrack,
- TimeValue startTime,
- TimeValue duration);
-
-
- /*
- * GetTrackDataSize64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- GetTrackDataSize64(
- Track theTrack,
- TimeValue startTime,
- TimeValue duration,
- wide * dataSize);
-
-
- /*
- * GetMediaDataSizeTime64()
- *
- * Summary:
- * Determines the size, in bytes, of the sample data in a media
- * segment. This function uses 64-bit time values and returns a
- * 64-bit size.
- *
- * Discussion:
- * The only difference between this function and GetMediaDataSize64
- * is that it uses 64-bit time values.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * startDisplayTime:
- * A time value specifying the starting point of the segment in
- * media display time.
- *
- * displayDuration:
- * A time value that specifies the duration of the segment in
- * media display time.
- *
- * dataSize:
- * Points to a variable to receive the size, in bytes, of the
- * sample data in the defined media segment.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- GetMediaDataSizeTime64(
- Media theMedia,
- TimeValue64 startDisplayTime,
- TimeValue64 displayDuration,
- SInt64 * dataSize);
-
-
- /*
- * GetMediaDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetMediaDataSize(
- Media theMedia,
- TimeValue startTime,
- TimeValue duration);
-
-
- /*
- * GetMediaDataSize64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaDataSize64(
- Media theMedia,
- TimeValue startTime,
- TimeValue duration,
- wide * dataSize);
-
-
- /*
- * PtInMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- PtInMovie(
- Movie theMovie,
- Point pt);
-
-
- /*
- * PtInTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- PtInTrack(
- Track theTrack,
- Point pt);
-
-
- /*************************
- * Group Selection Routines
- **************************/
-
- /*
- * SetMovieLanguage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieLanguage(
- Movie theMovie,
- long language);
-
-
-
- /*************************
- * User Data
- **************************/
-
- /*
- * GetUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetUserData(
- UserData theUserData,
- Handle data,
- OSType udType,
- long index);
-
-
- /*
- * AddUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddUserData(
- UserData theUserData,
- Handle data,
- OSType udType);
-
-
- /*
- * RemoveUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- RemoveUserData(
- UserData theUserData,
- OSType udType,
- long index);
-
-
- /*
- * CountUserDataType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- CountUserDataType(
- UserData theUserData,
- OSType udType);
-
-
- /*
- * GetNextUserDataType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetNextUserDataType(
- UserData theUserData,
- OSType udType);
-
-
- /*
- * GetUserDataItem()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetUserDataItem(
- UserData theUserData,
- void * data,
- long size,
- OSType udType,
- long index);
-
-
- /*
- * SetUserDataItem()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetUserDataItem(
- UserData theUserData,
- void * data,
- long size,
- OSType udType,
- long index);
-
-
- /*
- * AddUserDataText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddUserDataText(
- UserData theUserData,
- Handle data,
- OSType udType,
- long index,
- short itlRegionTag);
-
-
- /*
- * GetUserDataText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetUserDataText(
- UserData theUserData,
- Handle data,
- OSType udType,
- long index,
- short itlRegionTag);
-
-
- /*
- * RemoveUserDataText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- RemoveUserDataText(
- UserData theUserData,
- OSType udType,
- long index,
- short itlRegionTag);
-
-
- /*
- * NewUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewUserData(UserData * theUserData);
-
-
- /*
- * DisposeUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DisposeUserData(UserData theUserData);
-
-
- /*
- * NewUserDataFromHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewUserDataFromHandle(
- Handle h,
- UserData * theUserData);
-
-
- /*
- * PutUserDataIntoHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- PutUserDataIntoHandle(
- UserData theUserData,
- Handle h);
-
-
-
- enum
- {
- kQTCopyUserDataReplace = FOUR_CHAR_CODE('rplc'), /* Delete all destination user data items and then add source user data items */
- kQTCopyUserDataMerge = FOUR_CHAR_CODE('merg') /* Add source user data items to destination user data */
- };
-
- /*
- * CopyMovieUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- CopyMovieUserData(
- Movie srcMovie,
- Movie dstMovie,
- OSType copyRule);
-
-
- /*
- * CopyTrackUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- CopyTrackUserData(
- Track srcTrack,
- Track dstTrack,
- OSType copyRule);
-
-
- /*
- * CopyMediaUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- CopyMediaUserData(
- Media srcMedia,
- Media dstMedia,
- OSType copyRule);
-
-
- /*
- * CopyUserData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- CopyUserData(
- UserData srcUserData,
- UserData dstUserData,
- OSType copyRule);
-
-
-
- /*
- * SetMoviePropertyAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- SetMoviePropertyAtom(
- Movie theMovie,
- QTAtomContainer propertyAtom);
-
-
- /*
- * GetMoviePropertyAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- GetMoviePropertyAtom(
- Movie theMovie,
- QTAtomContainer * propertyAtom);
-
-
- /*
- * GetMediaNextInterestingDecodeTime()
- *
- * Summary:
- * Searches for decode times of interest in a media.
- *
- * Discussion:
- * This function takes the same flags as GetMediaNextInterestingTime.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * interestingTimeFlags:
- * Contains flags that determine the search criteria. Note that
- * you may set only one of the nextTimeMediaSample,
- * nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused
- * flags to 0.
- *
- * decodeTime:
- * Specifies a time value that establishes the starting point for
- * the search. This time value must be expressed in the media's
- * time scale.
- *
- * rate:
- * The search direction. Negative values cause the Movie Toolbox
- * to search backward from the starting point specified in the
- * decodeTime parameter. Other values cause a forward search.
- *
- * interestingDecodeTime:
- * A pointer to a time value. The Movie Toolbox returns the first
- * decode time value it finds that meets the search criteria
- * specified in the flags parameter. This time value is in the
- * media's time scale. If there are no times that meet the search
- * criteria you specify, the Movie Toolbox sets this value to -1.
- * Set this parameter to NULL if you are not interested in this
- * information.
- *
- * interestingDecodeDuration:
- * A pointer to a time value. The Movie Toolbox returns the decode
- * duration of the interesting time. This time value is in the
- * media's time coordinate system. Set this parameter to NULL if
- * you don't want this information; this lets the function work
- * faster.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(void)
- GetMediaNextInterestingDecodeTime(
- Media theMedia,
- short interestingTimeFlags,
- TimeValue64 decodeTime,
- Fixed rate,
- TimeValue64 * interestingDecodeTime,
- TimeValue64 * interestingDecodeDuration);
-
-
- /*
- * GetMediaNextInterestingDisplayTime()
- *
- * Summary:
- * Searches for display times of interest in a media.
- *
- * Discussion:
- * This function takes the same flags as GetMediaNextInterestingTime.
- *
- * Parameters:
- *
- * theMedia:
- * The media for this operation. Your application obtains this
- * media identifier from such functions as NewTrackMedia and
- * GetTrackMedia.
- *
- * interestingTimeFlags:
- * Contains flags that determine the search criteria. Note that
- * you may set only one of the nextTimeMediaSample,
- * nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused
- * flags to 0.
- *
- * displayTime:
- * Specifies a time value that establishes the starting point for
- * the search. This time value must be expressed in the media's
- * time scale.
- *
- * rate:
- * The search direction. Negative values cause the Movie Toolbox
- * to search backward from the starting point specified in the
- * time parameter. Other values cause a forward search.
- *
- * interestingDisplayTime:
- * A pointer to a time value. The Movie Toolbox returns the first
- * display time value it finds that meets the search criteria
- * specified in the flags parameter. This time value is in the
- * media's time scale. If there are no times that meet the search
- * criteria you specify, the Movie Toolbox sets this value to -1.
- * Set this parameter to NULL if you are not interested in this
- * information.
- *
- * interestingDisplayDuration:
- * A pointer to a time value. The Movie Toolbox returns the
- * display duration of the interesting time. This time value is in
- * the media's time coordinate system. Set this parameter to NULL
- * if you don't want this information; this lets the function work
- * faster.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(void)
- GetMediaNextInterestingDisplayTime(
- Media theMedia,
- short interestingTimeFlags,
- TimeValue64 displayTime,
- Fixed rate,
- TimeValue64 * interestingDisplayTime,
- TimeValue64 * interestingDisplayDuration);
-
-
- /*
- * GetMediaNextInterestingTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMediaNextInterestingTime(
- Media theMedia,
- short interestingTimeFlags,
- TimeValue time,
- Fixed rate,
- TimeValue * interestingTime,
- TimeValue * interestingDuration);
-
-
- /*
- * GetTrackNextInterestingTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetTrackNextInterestingTime(
- Track theTrack,
- short interestingTimeFlags,
- TimeValue time,
- Fixed rate,
- TimeValue * interestingTime,
- TimeValue * interestingDuration);
-
-
- /*
- * GetMovieNextInterestingTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMovieNextInterestingTime(
- Movie theMovie,
- short interestingTimeFlags,
- short numMediaTypes,
- const OSType * whichMediaTypes,
- TimeValue time,
- Fixed rate,
- TimeValue * interestingTime,
- TimeValue * interestingDuration);
-
-
-
- /*
- * CreateMovieFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CreateMovieFile(
- const FSSpec * fileSpec,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags,
- short * resRefNum,
- Movie * newmovie);
-
-
- /*
- * OpenMovieFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- OpenMovieFile(
- const FSSpec * fileSpec,
- short * resRefNum,
- SInt8 permission);
-
-
- /*
- * CloseMovieFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CloseMovieFile(short resRefNum);
-
-
- /*
- * DeleteMovieFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- DeleteMovieFile(const FSSpec * fileSpec);
-
-
- /*
- * NewMovieFromFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewMovieFromFile(
- Movie * theMovie,
- short resRefNum,
- short * resId, /* can be NULL */
- StringPtr resName,
- short newMovieFlags,
- Boolean * dataRefWasChanged); /* can be NULL */
-
-
- /*
- * NewMovieFromHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewMovieFromHandle(
- Movie * theMovie,
- Handle h,
- short newMovieFlags,
- Boolean * dataRefWasChanged);
-
-
- /*
- * NewMovieFromDataFork()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewMovieFromDataFork(
- Movie * theMovie,
- short fRefNum,
- long fileOffset,
- short newMovieFlags,
- Boolean * dataRefWasChanged);
-
-
- /*
- * NewMovieFromDataFork64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- NewMovieFromDataFork64(
- Movie * theMovie,
- long fRefNum,
- const wide * fileOffset,
- short newMovieFlags,
- Boolean * dataRefWasChanged);
-
-
- /*
- * NewMovieFromUserProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewMovieFromUserProc(
- Movie * m,
- short flags,
- Boolean * dataRefWasChanged,
- GetMovieUPP getProc,
- void * refCon,
- Handle defaultDataRef,
- OSType dataRefType);
-
-
- /*
- * NewMovieFromDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewMovieFromDataRef(
- Movie * m,
- short flags,
- short * id,
- Handle dataRef,
- OSType dataRefType);
-
-
- /*
- * NewMovieFromStorageOffset()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- NewMovieFromStorageOffset(
- Movie * theMovie,
- DataHandler dh,
- const wide * fileOffset,
- short newMovieFlags,
- Boolean * dataRefWasChanged);
-
-
- /*
- * NewMovieForDataRefFromHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- NewMovieForDataRefFromHandle(
- Movie * theMovie,
- Handle h,
- short newMovieFlags,
- Boolean * dataRefWasChanged,
- Handle dataRef,
- OSType dataRefType);
-
-
- /*
- * AddMovieResource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddMovieResource(
- Movie theMovie,
- short resRefNum,
- short * resId,
- ConstStr255Param resName);
-
-
- /*
- * UpdateMovieResource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- UpdateMovieResource(
- Movie theMovie,
- short resRefNum,
- short resId,
- ConstStr255Param resName);
-
-
- /*
- * RemoveMovieResource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- RemoveMovieResource(
- short resRefNum,
- short resId);
-
-
- /*
- * CreateMovieStorage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- CreateMovieStorage(
- Handle dataRef,
- OSType dataRefType,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags,
- DataHandler * outDataHandler,
- Movie * newmovie);
-
-
- /*
- * OpenMovieStorage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- OpenMovieStorage(
- Handle dataRef,
- OSType dataRefType,
- long flags,
- DataHandler * outDataHandler);
-
-
- /*
- * CloseMovieStorage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- CloseMovieStorage(DataHandler dh);
-
-
- /*
- * DeleteMovieStorage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- DeleteMovieStorage(
- Handle dataRef,
- OSType dataRefType);
-
-
- /*
- * AddMovieToStorage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- AddMovieToStorage(
- Movie theMovie,
- DataHandler dh);
-
-
- /*
- * UpdateMovieInStorage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- UpdateMovieInStorage(
- Movie theMovie,
- DataHandler dh);
-
-
- /*
- * HasMovieChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- HasMovieChanged(Movie theMovie);
-
-
- /*
- * ClearMovieChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ClearMovieChanged(Movie theMovie);
-
-
- /*
- * SetMovieDefaultDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMovieDefaultDataRef(
- Movie theMovie,
- Handle dataRef,
- OSType dataRefType);
-
-
- /*
- * GetMovieDefaultDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMovieDefaultDataRef(
- Movie theMovie,
- Handle * dataRef,
- OSType * dataRefType);
-
-
- /*
- * SetMovieAnchorDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- SetMovieAnchorDataRef(
- Movie theMovie,
- Handle dataRef,
- OSType dataRefType);
-
-
- /*
- * GetMovieAnchorDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- GetMovieAnchorDataRef(
- Movie theMovie,
- Handle * dataRef,
- OSType * dataRefType,
- long * outFlags);
-
-
- /*
- * SetMovieColorTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMovieColorTable(
- Movie theMovie,
- CTabHandle ctab);
-
-
- /*
- * GetMovieColorTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMovieColorTable(
- Movie theMovie,
- CTabHandle * ctab);
-
-
- /*
- * FlattenMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- FlattenMovie(
- Movie theMovie,
- long movieFlattenFlags,
- const FSSpec * theFile,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags,
- short * resId,
- ConstStr255Param resName);
-
-
- /*
- * FlattenMovieData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- FlattenMovieData(
- Movie theMovie,
- long movieFlattenFlags,
- const FSSpec * theFile,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags);
-
-
- /*
- * FlattenMovieDataToDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(Movie)
- FlattenMovieDataToDataRef(
- Movie theMovie,
- long movieFlattenFlags,
- Handle dataRef,
- OSType dataRefType,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags);
-
-
- /*
- * SetMovieProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieProgressProc(
- Movie theMovie,
- MovieProgressUPP p,
- long refcon);
-
-
- /*
- * GetMovieProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(void)
- GetMovieProgressProc(
- Movie theMovie,
- MovieProgressUPP * p,
- long * refcon);
-
-
- /*
- * CreateShortcutMovieFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- CreateShortcutMovieFile(
- const FSSpec * fileSpec,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags,
- Handle targetDataRef,
- OSType targetDataRefType);
-
-
- /*
- * MovieSearchText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- MovieSearchText(
- Movie theMovie,
- Ptr text,
- long size,
- long searchFlags,
- Track * searchTrack,
- TimeValue * searchTime,
- long * searchOffset);
-
-
- /*
- * GetPosterBox()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetPosterBox(
- Movie theMovie,
- Rect * boxRect);
-
-
- /*
- * SetPosterBox()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetPosterBox(
- Movie theMovie,
- const Rect * boxRect);
-
-
- /*
- * GetMovieSegmentDisplayBoundsRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetMovieSegmentDisplayBoundsRgn(
- Movie theMovie,
- TimeValue time,
- TimeValue duration);
-
-
- /*
- * GetTrackSegmentDisplayBoundsRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- GetTrackSegmentDisplayBoundsRgn(
- Track theTrack,
- TimeValue time,
- TimeValue duration);
-
-
- /*
- * SetMovieCoverProcs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieCoverProcs(
- Movie theMovie,
- MovieRgnCoverUPP uncoverProc,
- MovieRgnCoverUPP coverProc,
- long refcon);
-
-
- /*
- * GetMovieCoverProcs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMovieCoverProcs(
- Movie theMovie,
- MovieRgnCoverUPP * uncoverProc,
- MovieRgnCoverUPP * coverProc,
- long * refcon);
-
-
- /*
- * GetTrackStatus()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GetTrackStatus(Track theTrack);
-
-
- /*
- * GetMovieStatus()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GetMovieStatus(
- Movie theMovie,
- Track * firstProblemTrack);
-
-
- enum
- {
- kMovieLoadStateError = -1L,
- kMovieLoadStateLoading = 1000,
- kMovieLoadStateLoaded = 2000,
- kMovieLoadStatePlayable = 10000,
- kMovieLoadStatePlaythroughOK = 20000,
- kMovieLoadStateComplete = 100000L
- };
-
- /*
- * GetMovieLoadState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(long)
- GetMovieLoadState(Movie theMovie);
+/*************************
+* Error Routines
+**************************/
+
+/*
+ * GetMoviesError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMoviesError(void);
+
+
+/*
+ * ClearMoviesStickyError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ClearMoviesStickyError(void);
+
+
+/*
+ * GetMoviesStickyError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMoviesStickyError(void);
+
+
+/*
+ * SetMoviesErrorProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMoviesErrorProc(
+ MoviesErrorUPP errProc,
+ long refcon);
+
+
+
+/*************************
+* Idle Routines
+**************************/
+/*
+ * MoviesTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+MoviesTask(
+ Movie theMovie,
+ long maxMilliSecToUse);
+
+
+/*
+ * PrerollMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+PrerollMovie(
+ Movie theMovie,
+ TimeValue time,
+ Fixed Rate);
+
+
+/*
+ * PrePrerollMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+PrePrerollMovie(
+ Movie m,
+ TimeValue time,
+ Fixed rate,
+ MoviePrePrerollCompleteUPP proc,
+ void * refcon);
+
+
+/*
+ * AbortPrePrerollMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( void )
+AbortPrePrerollMovie(
+ Movie m,
+ OSErr err);
+
+
+/*
+ * LoadMovieIntoRam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+LoadMovieIntoRam(
+ Movie theMovie,
+ TimeValue time,
+ TimeValue duration,
+ long flags);
+
+
+/*
+ * LoadTrackIntoRam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+LoadTrackIntoRam(
+ Track theTrack,
+ TimeValue time,
+ TimeValue duration,
+ long flags);
+
+
+/*
+ * LoadMediaIntoRam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+LoadMediaIntoRam(
+ Media theMedia,
+ TimeValue time,
+ TimeValue duration,
+ long flags);
+
+
+/*
+ * SetMovieActive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieActive(
+ Movie theMovie,
+ Boolean active);
+
+
+/*
+ * GetMovieActive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+GetMovieActive(Movie theMovie);
+
+
+/*
+ * QTGetWallClockTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetWallClockTimeBase(TimeBase * wallClockTimeBase);
+
+
+
+/*************************
+* Idle Management
+**************************/
+typedef struct OpaqueIdleManager* IdleManager;
+/*
+ * QTIdleManagerOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( IdleManager )
+QTIdleManagerOpen(void);
+
+
+/*
+ * QTIdleManagerClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTIdleManagerClose(IdleManager im);
+
+
+/*
+ * QTIdleManagerGetNextIdleTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTIdleManagerGetNextIdleTime(
+ IdleManager im,
+ TimeRecord * nextIdle);
+
+
+/*
+ * QTIdleManagerSetNextIdleTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTIdleManagerSetNextIdleTime(
+ IdleManager im,
+ TimeRecord * nextIdle);
+
+
+/*
+ * QTIdleManagerSetNextIdleTimeNever()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTIdleManagerSetNextIdleTimeNever(IdleManager im);
+
+
+/*
+ * QTIdleManagerSetNextIdleTimeNow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTIdleManagerSetNextIdleTimeNow(IdleManager im);
+
+
+/*
+ * QTIdleManagerSetNextIdleTimeDelta()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTIdleManagerSetNextIdleTimeDelta(
+ IdleManager im,
+ TimeValue duration,
+ TimeScale scale);
+
+
+/*
+ * QTIdleManagerSetParent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTIdleManagerSetParent(
+ IdleManager im,
+ IdleManager parent);
+
+
+/*
+ * QTIdleManagerNeedsAnIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTIdleManagerNeedsAnIdle(
+ IdleManager im,
+ Boolean * needsOne);
+
+
+
+/*************************
+* Carbon Movie Control
+**************************/
+/* Movie Control option bits*/
+enum {
+ kMovieControlOptionHideController = (1L << 0),
+ kMovieControlOptionLocateTopLeft = (1L << 1),
+ kMovieControlOptionEnableEditing = (1L << 2),
+ kMovieControlOptionHandleEditingHI = (1L << 3),
+ kMovieControlOptionSetKeysEnabled = (1L << 4),
+ kMovieControlOptionManuallyIdled = (1L << 5)
+};
+
+/* Item tags for use in GetControlData() (some with SetControlData()) calls on Movie Controls*/
+enum {
+ kMovieControlDataMovieController = FOUR_CHAR_CODE('mc '),
+ kMovieControlDataMovie = FOUR_CHAR_CODE('moov'),
+ kMovieControlDataManualIdling = FOUR_CHAR_CODE('manu')
+};
+
+/*
+** CreateMovieControl() - This is the public API routine that creates a Movie Control. Given a window and location
+** plus a movie, it constructs a Movie Control with a Movie Controller in the window.
+*/
+/*
+ * CreateMovieControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSErr )
+CreateMovieControl(
+ WindowRef theWindow,
+ Rect * localRect,
+ Movie theMovie,
+ UInt32 options,
+ ControlRef * returnedControl);
+
+
+
+/*************************
+* calls for playing movies, previews, posters
+**************************/
+/*
+ * StartMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+StartMovie(Movie theMovie);
+
+
+/*
+ * StopMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+StopMovie(Movie theMovie);
+
+
+/*
+ * GoToBeginningOfMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GoToBeginningOfMovie(Movie theMovie);
+
+
+/*
+ * GoToEndOfMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GoToEndOfMovie(Movie theMovie);
+
+
+/*
+ * IsMovieDone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+IsMovieDone(Movie theMovie);
+
+
+/*
+ * GetMoviePreviewMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+GetMoviePreviewMode(Movie theMovie);
+
+
+/*
+ * SetMoviePreviewMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMoviePreviewMode(
+ Movie theMovie,
+ Boolean usePreview);
+
+
+/*
+ * ShowMoviePoster()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ShowMoviePoster(Movie theMovie);
+
+
+/*
+ * PlayMoviePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+PlayMoviePreview(
+ Movie theMovie,
+ MoviePreviewCallOutUPP callOutProc,
+ long refcon);
+
+
+/*************************
+* calls for controlling movies & tracks which are playing
+**************************/
+/*
+ * GetMovieTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeBase )
+GetMovieTimeBase(Movie theMovie);
+
+
+/*
+ * SetMovieMasterTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieMasterTimeBase(
+ Movie theMovie,
+ TimeBase tb,
+ const TimeRecord * slaveZero);
+
+
+/*
+ * SetMovieMasterClock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieMasterClock(
+ Movie theMovie,
+ Component clockMeister,
+ const TimeRecord * slaveZero);
+
+
+/*
+ * ChooseMovieClock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( void )
+ChooseMovieClock(
+ Movie m,
+ long flags);
+
+
+/*
+ * GetMovieGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMovieGWorld(
+ Movie theMovie,
+ CGrafPtr * port,
+ GDHandle * gdh);
+
+
+/*
+ * SetMovieGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieGWorld(
+ Movie theMovie,
+ CGrafPtr port,
+ GDHandle gdh);
+
+
+enum {
+ movieDrawingCallWhenChanged = 0,
+ movieDrawingCallAlways = 1
+};
+
+/*
+ * SetMovieDrawingCompleteProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieDrawingCompleteProc(
+ Movie theMovie,
+ long flags,
+ MovieDrawingCompleteUPP proc,
+ long refCon);
+
+
+
+/*
+ * GetMovieNaturalBoundsRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMovieNaturalBoundsRect(
+ Movie theMovie,
+ Rect * naturalBounds);
+
+
+/*
+ * GetNextTrackForCompositing()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+GetNextTrackForCompositing(
+ Movie theMovie,
+ Track theTrack);
+
+
+/*
+ * GetPrevTrackForCompositing()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+GetPrevTrackForCompositing(
+ Movie theMovie,
+ Track theTrack);
+
+
+/*
+ * SetTrackGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackGWorld(
+ Track theTrack,
+ CGrafPtr port,
+ GDHandle gdh,
+ TrackTransferUPP proc,
+ long refCon);
+
+
+/*
+ * GetMoviePict()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( PicHandle )
+GetMoviePict(
+ Movie theMovie,
+ TimeValue time);
+
+
+/*
+ * GetTrackPict()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( PicHandle )
+GetTrackPict(
+ Track theTrack,
+ TimeValue time);
+
+
+/*
+ * GetMoviePosterPict()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( PicHandle )
+GetMoviePosterPict(Movie theMovie);
+
+
+/* called between Begin & EndUpdate */
+/*
+ * UpdateMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+UpdateMovie(Movie theMovie);
+
+
+/*
+ * InvalidateMovieRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+InvalidateMovieRegion(
+ Movie theMovie,
+ RgnHandle invalidRgn);
+
+
+/**** spatial movie routines ****/
+/*
+ * GetMovieBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMovieBox(
+ Movie theMovie,
+ Rect * boxRect);
+
+
+/*
+ * SetMovieBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieBox(
+ Movie theMovie,
+ const Rect * boxRect);
+
+
+/** movie display clip */
+/*
+ * GetMovieDisplayClipRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetMovieDisplayClipRgn(Movie theMovie);
+
+
+/*
+ * SetMovieDisplayClipRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieDisplayClipRgn(
+ Movie theMovie,
+ RgnHandle theClip);
+
+
+/** movie src clip */
+/*
+ * GetMovieClipRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetMovieClipRgn(Movie theMovie);
+
+
+/*
+ * SetMovieClipRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieClipRgn(
+ Movie theMovie,
+ RgnHandle theClip);
+
+
+/** track src clip */
+/*
+ * GetTrackClipRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetTrackClipRgn(Track theTrack);
+
+
+/*
+ * SetTrackClipRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackClipRgn(
+ Track theTrack,
+ RgnHandle theClip);
+
+
+/** bounds in display space (not clipped by display clip) */
+/*
+ * GetMovieDisplayBoundsRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetMovieDisplayBoundsRgn(Movie theMovie);
+
+
+/*
+ * GetTrackDisplayBoundsRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetTrackDisplayBoundsRgn(Track theTrack);
+
+
+/** bounds in movie space */
+/*
+ * GetMovieBoundsRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetMovieBoundsRgn(Movie theMovie);
+
+
+/*
+ * GetTrackMovieBoundsRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetTrackMovieBoundsRgn(Track theTrack);
+
+
+/** bounds in track space */
+/*
+ * GetTrackBoundsRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetTrackBoundsRgn(Track theTrack);
+
+
+/** mattes - always in track space */
+/*
+ * GetTrackMatte()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( PixMapHandle )
+GetTrackMatte(Track theTrack);
+
+
+/*
+ * SetTrackMatte()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackMatte(
+ Track theTrack,
+ PixMapHandle theMatte);
+
+
+/*
+ * DisposeMatte()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeMatte(PixMapHandle theMatte);
+
+
+/** video out */
+/*
+ * SetMovieVideoOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( void )
+SetMovieVideoOutput(
+ Movie theMovie,
+ ComponentInstance vout);
+
+
+
+/*************************
+ * Audio Context
+ *************************/
+/*
+ The QTAudioContextRef type encapsulates a connection to an audio output device.
+ It represents a destination audio rendering environment that can be used for
+ playback of a movie.
+*/
+typedef struct QTAudioContextRefType* QTAudioContextRef;
+/*
+ * QTAudioContextRetain()
+ *
+ * Summary:
+ * Retains a QTAudioContext object by incrementing its reference
+ * count. You should retain the object when you receive it from
+ * elsewhere (that is, you did not create it) and you want it to
+ * persist. If you retain a QTAudioContext object you are
+ * responsible for releasing it. The same audio context is returned
+ * for convenience. If audioContext is NULL, nothing happens.
+ *
+ * Parameters:
+ *
+ * audioContext:
+ * [in] The audio context to retain.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( QTAudioContextRef )
+QTAudioContextRetain(QTAudioContextRef audioContext);
+
+
+/*
+ * QTAudioContextRelease()
+ *
+ * Summary:
+ * Release a QTAudioContext object by decrementing its reference
+ * count. If that count consequently becomes zero the memory
+ * allocated to the object is deallocated and the object is
+ * destroyed. If you create or explicitly retain a QTAudioContext
+ * object, you are responsible for releasing it when you no longer
+ * need it. If audioContext is NULL, nothing happens.
+ *
+ * Parameters:
+ *
+ * audioContext:
+ * [in] The audio context to release.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+QTAudioContextRelease(QTAudioContextRef audioContext);
+
+
+/*
+ * QTAudioContextCreateForAudioDevice()
+ *
+ * Summary:
+ * Creates a QTAudioContext object that encapsulates a connection to
+ * an audio output device. This object is suitable for passing to
+ * SetMovieAudioContext or NewMovieFromProperties, which targets the
+ * audio output of the movie to that device. A QTAudioContext object
+ * cannot be associated with more than one movie. Each movie needs
+ * its own connection to the device. In order to play more than one
+ * movie to a particular device, create a QTAudioContext object for
+ * each movie. You are responsible for releasing the QTAudioContext
+ * object created by this routine. After calling
+ * SetMovieAudioContext or NewMovieFromProperties, you can release
+ * the object since these APIs will retain it for their own use. On
+ * Windows, the audioDeviceUID is the GUID of a DirectSound device,
+ * stringified using such Win32 functions as StringFromCLSID() or
+ * StringFromGUID2(), then wrapped in a CFStringRef using
+ * CFStringCreateWithCharacters(). After passing the audioDeviceUID
+ * CFStringRef to QTAudioContextCreateForAudioDevice(), remember to
+ * CFRelease() the CFStringRef you created.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * [in] Allocator used to create the audio context.
+ *
+ * audioDeviceUID:
+ * [in] Audio device UID. NULL means the default CoreAudio
+ * device.
+ *
+ * options:
+ * [in] Reserved. Pass NULL.
+ *
+ * newAudioContextOut:
+ * [out] Points to a variable to receive the new audio context.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+QTAudioContextCreateForAudioDevice(
+ CFAllocatorRef allocator,
+ CFStringRef audioDeviceUID,
+ CFDictionaryRef options,
+ QTAudioContextRef * newAudioContextOut);
+
+
+
+/*************************
+ * Audio Context Inserts
+ *************************/
+/*
+ Theory of operations:
+ To register for a Movie Audio Context Insert during playback:
+ 1) Get the movie's current audio context: GetMovieAudioContext()
+ 2) Register the application insert: QTAudioContextRegisterInsert()
+ To unregister a Movie Audio Context Insert:
+ Call QTAudioContextRegisterInsert() with a NULL QTAudioContextInsertRegistryInfoRef
+ If the registry ptr is non-NULL but the processDataCallback is NULL, this has the same effect.
+ To register for a Track Audio Context Insert during playback:
+ Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track,
+ providing the same registry info structure that is used for the QTAudioContextRegisterInsert() call.
+ To unregister a Track Audio Context Insert:
+ Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track,
+ with a NULL processDataCallback
+*/
+
+
+/*
+ * AudioContextInsertProcessDataCallback
+ *
+ * Summary:
+ * A client-supplied function to be called during playback to get
+ * data from the audio insert.
+ *
+ * Discussion:
+ * This routine is called by the Audio Context for each buffer of
+ * audio data it renders. The client receives a source buffer list
+ * and a destination buffer list, and it is responsible for
+ * supplying output buffers to the destination buffer list. This
+ * routine is generally called on the IOProc at high thread
+ * priority, and so should not do memory allocation or release,
+ * acquire mutex resources, nor take very long to process.
+ *
+ * Parameters:
+ *
+ * inUserData:
+ * An opaque pointer to the client's data.
+ *
+ * ioRenderFlags:
+ * A field that contains render action flags (see AUComponent.h).
+ *
+ * inTimeStamp:
+ * An AudioTimeStamp that indicates the start time of the buffer
+ * to be processed. During normal playback or audio extraction,
+ * the timestamp mSampleTime is normalized to the movie time that
+ * this particular input sample buffer represents, expressed in
+ * the sample rate being processed. During reverse playback, the
+ * first Process Data call after Reset will contain a timestamp
+ * designating the movie time, but subsequent timestamps will
+ * advance forward instead of in reverse.
+ *
+ * inNumberFrames:
+ * A UInt32 that specifies the number of frames to be rendered.
+ *
+ * inInputData:
+ * An AudioBufferList used to pass input data to the insert.
+ *
+ * outOutputData:
+ * An AudioBufferList to receive the processed data that is
+ * produced by the insert. QuickTime sets buffer pointers in the
+ * list to NULL. The client must set the buffer pointers to refer
+ * to either its own allocated buffers or to be copies of the
+ * buffer pointers received in inInputData.
+ */
+typedef CALLBACK_API( OSStatus , AudioContextInsertProcessDataCallback )(void *inUserData, AudioUnitRenderActionFlags *ioRenderFlags, const AudioTimeStamp *inTimeStamp, UInt32 inNumberFrames, AudioBufferList *inInputData, AudioBufferList *outOutputData);
+
+/*
+ * AudioContextInsertResetCallback
+ *
+ * Summary:
+ * A client-supplied function to be called to initialize and reset
+ * for processing data.
+ *
+ * Discussion:
+ * This routine is called by the Audio Context to initialize for
+ * rendering. The client is told the sample rate and the maximum
+ * number of frames it will be asked to process on any single
+ * ProcessData callback (ie, inNumberFrames will always be <=
+ * inMaxFrames). On return, the client reports its processing
+ * latency and tail times. This callback is invoked whenever the
+ * rendering chain is interrupted (eg, when playback jumps to a new
+ * point or changes direction). The client should call
+ * AudioUnitReset on any audio units in use, and should be prepared
+ * to respond to changes of sample rate or maxframes.
+ *
+ * Parameters:
+ *
+ * inUserData:
+ * An opaque pointer to the client's data.
+ *
+ * inSampleRate:
+ * A Float64 that will specifies the sample rate of the data to be
+ * processed.
+ *
+ * inMaxFrames:
+ * A UInt32 that specifies the maximum number of maximum frame
+ * count that will be processed in a single call.
+ *
+ * outLatency:
+ * A pointer to a Float64 that specifies the insert's render
+ * latency, in seconds. Latency data will be pulled and discarded
+ * by QuickTime after each reset.
+ *
+ * outTailTime:
+ * A pointer to a Float64 that specifies the insert's tail render
+ * time, in seconds.
+ */
+typedef CALLBACK_API( OSStatus , AudioContextInsertResetCallback )(void *inUserData, Float64 inSampleRate, UInt32 inMaxFrames, Float64 *outLatency, Float64 *outTailTime);
+
+/*
+ * AudioContextInsertFinalizeCallback
+ *
+ * Summary:
+ * A client-supplied function to be called to release any resources
+ * in use by the insert.
+ *
+ * Discussion:
+ * This routine is called when the Audio Context is being disposed
+ * (ie, the MovieAudioContext has been reset or the movie was
+ * disposed). Once this callback returns, no more calls for this
+ * registered insert will be made.
+ *
+ * Parameters:
+ *
+ * inUserData:
+ * An opaque pointer to the client's data.
+ */
+typedef CALLBACK_API( OSStatus , AudioContextInsertFinalizeCallback )(void * inUserData);
+
+/*
+ * QTAudioContextInsertRegistryInfo
+ *
+ * Summary:
+ * Parameters for registering an Audio Context insert
+ *
+ * Discussion:
+ * This is used with QTAudioContextRegisterInsert() and the Movie
+ * Audio Extraction
+ * kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert
+ * property.
+ */
+struct QTAudioContextInsertRegistryInfo {
+
+ /*
+ * client user data to be passed to all client-specified callbacks.
+ */
+ void * userData;
+
+ /*
+ * The size of the input channel layout structure.
+ */
+ UInt32 inputChannelLayoutSize;
+
+ /*
+ * An AudioChannelLayout that describes the channel layout (and,
+ * implicitly, channel valence) of the data that the insert expects
+ * as input.
+ */
+ AudioChannelLayout * inputChannelLayout;
+
+ /*
+ * The size of the output channel layout structure.
+ */
+ UInt32 outputChannelLayoutSize;
+
+ /*
+ * An AudioChannelLayout that describes the channel layout (and,
+ * implicitly, channel valence) of the processed data that the insert
+ * will output.
+ */
+ AudioChannelLayout * outputChannelLayout;
+
+ /*
+ * Client-specified process data callback.
+ */
+ AudioContextInsertProcessDataCallback processDataCallback;
+
+ /*
+ * Client-specified reset callback.
+ */
+ AudioContextInsertResetCallback resetCallback;
+
+ /*
+ * Client-specified finalize callback (may be NULL). NOTE: Calls to
+ * the client callbacks are interlocked with respect to each other:
+ * there will never be simultaneous calls, with an identical
+ * inUserData, on different threads.
+ */
+ AudioContextInsertFinalizeCallback finalizeCallback;
+};
+typedef struct QTAudioContextInsertRegistryInfo QTAudioContextInsertRegistryInfo;
+typedef QTAudioContextInsertRegistryInfo * QTAudioContextInsertRegistryInfoRef;
+/*
+ * QTAudioContextRegisterInsert()
+ *
+ * Summary:
+ * Register an audio insert with QuickTime
+ *
+ * Discussion:
+ * This routine is called to register an application to tap into the
+ * audio playback stream, via callbacks during audio rendering. The
+ * inAudioContext parameter refers to a Movie Audio Context that has
+ * not yet been associated with a movie. Once the application has
+ * successfully registered its insert, it may associate a movie with
+ * this Audio Context by calling SetMovieAudioContext(). The
+ * application must then be prepared to handle callbacks, which may
+ * be executed on different threads, until the Finalize callback
+ * with a matching userData parameter, is received. The application
+ * may supply a NULL Finalize callback if it has its own logic for
+ * detecting when it may release its insert resources.
+ *
+ * Parameters:
+ *
+ * inAudioContext:
+ * A QTAudioContextRef that specifies the Audio Context to tap
+ * into.
+ *
+ * inRegistryInfoSize:
+ * Size, in bytes, of the supplied
+ * QTAudioContextInsertRegistryInfo structure.
+ *
+ * inRegistryInfo:
+ * Pointer to a QTAudioContextInsertRegistryInfo structure
+ * containing setup parameters for the Audio Context insert and
+ * callbacks.
+ *
+ * Result:
+ * readErr Cannot register an insert on a movie containing protected
+ * data.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.2) and later
+ */
+EXTERN_API_C( OSStatus )
+QTAudioContextRegisterInsert(
+ QTAudioContextRef inAudioContext,
+ UInt32 inRegistryInfoSize,
+ QTAudioContextInsertRegistryInfoRef inRegistryInfo);
+
+
+
+/* Track-level Audio Context Insert property (kQTPropertyClass_Audio)*/
+
+/*
+ */
+enum {
+
+ /*
+ * kQTAudioPropertyID_RegisterAudioContextInsert: Value is
+ * QTAudioContextInsertRegistryInfoRef (Get/Set) Set on a Track to
+ * register/unregister an Audio Context Insert for that specific
+ * track. When this property is read back (QTGetTrackProperty) the
+ * channel layout pointers will will be NULL. To unregister, supply
+ * a NULL processDataCallback (in which case the rest of the registry
+ * info will be ignored).
+ */
+ kQTAudioPropertyID_RegisterAudioContextInsert = FOUR_CHAR_CODE('regt') /* value is QTAudioContextInsertRegistryInfoRef. Get/Set.*/
+};
+
+
+/******************************************
+ * Using Audio/Visual contexts with movies
+ *****************************************/
+/*
+ * SetMovieVisualContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetMovieVisualContext(
+ Movie movie,
+ QTVisualContextRef visualContext);
+
+
+/*
+ * GetMovieVisualContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieVisualContext(
+ Movie movie,
+ QTVisualContextRef * visualContext);
+
+
+/*
+ * SetMovieAudioContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetMovieAudioContext(
+ Movie movie,
+ QTAudioContextRef audioContext);
+
+
+/*
+ * GetMovieAudioContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioContext(
+ Movie movie,
+ QTAudioContextRef * audioContext);
+
+
+
+/*************************
+* calls for getting/saving movies
+**************************/
+/** Properties for NewMovieFromProperties */
+enum {
+ kQTPropertyClass_DataLocation = FOUR_CHAR_CODE('dloc'),
+ kQTDataLocationPropertyID_DataReference = FOUR_CHAR_CODE('dref'), /* DataReferenceRecord (for semantics of NewMovieFromDataRef)*/
+ kQTDataLocationPropertyID_CFStringNativePath = FOUR_CHAR_CODE('cfnp'),
+ kQTDataLocationPropertyID_CFStringPosixPath = FOUR_CHAR_CODE('cfpp'),
+ kQTDataLocationPropertyID_CFStringHFSPath = FOUR_CHAR_CODE('cfhp'),
+ kQTDataLocationPropertyID_CFStringWindowsPath = FOUR_CHAR_CODE('cfwp'),
+ kQTDataLocationPropertyID_CFURL = FOUR_CHAR_CODE('cfur'),
+ kQTDataLocationPropertyID_QTDataHandler = FOUR_CHAR_CODE('qtdh'), /* for semantics of NewMovieFromStorageOffset*/
+ kQTDataLocationPropertyID_Scrap = FOUR_CHAR_CODE('scrp'),
+ kQTDataLocationPropertyID_LegacyMovieResourceHandle = FOUR_CHAR_CODE('rezh'), /* QTNewMovieUserProcInfo * (for semantics of NewMovieFromHandle)*/
+ kQTDataLocationPropertyID_MovieUserProc = FOUR_CHAR_CODE('uspr'), /* for semantics of NewMovieFromUserProc*/
+ kQTDataLocationPropertyID_ResourceFork = FOUR_CHAR_CODE('rfrk'), /* for semantics of NewMovieFromFile*/
+ kQTDataLocationPropertyID_DataFork = FOUR_CHAR_CODE('dfrk'), /* for semantics of NewMovieFromDataFork64*/
+ kQTPropertyClass_Context = FOUR_CHAR_CODE('ctxt'), /* Media Contexts*/
+ kQTContextPropertyID_AudioContext = FOUR_CHAR_CODE('audi'),
+ kQTContextPropertyID_VisualContext = FOUR_CHAR_CODE('visu'),
+ kQTPropertyClass_MovieResourceLocator = FOUR_CHAR_CODE('rloc'),
+ kQTMovieResourceLocatorPropertyID_LegacyResID = FOUR_CHAR_CODE('rezi'), /* (input/result property)*/
+ kQTMovieResourceLocatorPropertyID_LegacyResName = FOUR_CHAR_CODE('rezn'), /* (result property)*/
+ kQTMovieResourceLocatorPropertyID_FileOffset = FOUR_CHAR_CODE('foff'), /* NewMovieFromDataFork[64]*/
+ kQTMovieResourceLocatorPropertyID_Callback = FOUR_CHAR_CODE('calb'), /* NewMovieFromUserProc(getProc,refcon)*/
+ /* Uses kQTMovieDefaultDataRefPropertyID for default dataref*/
+ kQTPropertyClass_MovieInstantiation = FOUR_CHAR_CODE('mins'),
+ kQTMovieInstantiationPropertyID_DontResolveDataRefs = FOUR_CHAR_CODE('rdrn'),
+ kQTMovieInstantiationPropertyID_DontAskUnresolvedDataRefs = FOUR_CHAR_CODE('aurn'),
+ kQTMovieInstantiationPropertyID_DontAutoAlternates = FOUR_CHAR_CODE('aaln'),
+ kQTMovieInstantiationPropertyID_DontUpdateForeBackPointers = FOUR_CHAR_CODE('fbpn'),
+ kQTMovieInstantiationPropertyID_AsyncOK = FOUR_CHAR_CODE('asok'),
+ kQTMovieInstantiationPropertyID_IdleImportOK = FOUR_CHAR_CODE('imok'),
+ kQTMovieInstantiationPropertyID_DontAutoUpdateClock = FOUR_CHAR_CODE('aucl'),
+ kQTMovieInstantiationPropertyID_ResultDataLocationChanged = FOUR_CHAR_CODE('dlch'), /* (result property)*/
+ kQTMovieInstantiationPropertyID_AllowMediaOptimization = FOUR_CHAR_CODE('amop'),
+ kQTPropertyClass_NewMovieProperty = FOUR_CHAR_CODE('mprp'),
+ kQTNewMoviePropertyID_DefaultDataRef = FOUR_CHAR_CODE('ddrf'), /* DataReferenceRecord*/
+ kQTNewMoviePropertyID_Active = FOUR_CHAR_CODE('actv'),
+ kQTNewMoviePropertyID_DontInteractWithUser = FOUR_CHAR_CODE('intn')
+};
+
+
+/** Property value for kQTDataLocationPropertyID_MovieUserProc */
+struct QTNewMovieUserProcRecord {
+ GetMovieUPP getMovieUserProc;
+ void * getMovieUserProcRefcon;
+ DataReferenceRecord defaultDataRef;
+};
+typedef struct QTNewMovieUserProcRecord QTNewMovieUserProcRecord;
+/** Property structure for NewMovieFromProperties */
+struct QTNewMoviePropertyElement {
+ QTPropertyClass propClass;
+ QTPropertyID propID;
+ ByteCount propValueSize;
+ QTPropertyValuePtr propValueAddress;
+ OSStatus propStatus;
+};
+typedef struct QTNewMoviePropertyElement QTNewMoviePropertyElement;
+/*
+ * NewMovieFromProperties()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+NewMovieFromProperties(
+ ItemCount inputPropertyCount,
+ QTNewMoviePropertyElement * inputProperties,
+ ItemCount outputPropertyCount,
+ QTNewMoviePropertyElement * outputProperties,
+ Movie * theMovie);
+
+
+/*
+ * NewMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+NewMovie(long flags);
+
+
+/*
+ * PutMovieIntoHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+PutMovieIntoHandle(
+ Movie theMovie,
+ Handle publicMovie);
+
+
+/*
+ * PutMovieIntoDataFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+PutMovieIntoDataFork(
+ Movie theMovie,
+ short fRefNum,
+ long offset,
+ long maxSize);
+
+
+/*
+ * PutMovieIntoDataFork64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+PutMovieIntoDataFork64(
+ Movie theMovie,
+ long fRefNum,
+ const wide * offset,
+ unsigned long maxSize);
+
+
+/*
+ * PutMovieIntoStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+PutMovieIntoStorage(
+ Movie theMovie,
+ DataHandler dh,
+ const wide * offset,
+ unsigned long maxSize);
+
+
+/*
+ * PutMovieForDataRefIntoHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+PutMovieForDataRefIntoHandle(
+ Movie theMovie,
+ Handle dataRef,
+ OSType dataRefType,
+ Handle publicMovie);
+
+
+/*
+ * DisposeMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeMovie(Movie theMovie);
+
+
+/*************************
+* Movie State Routines
+**************************/
+/*
+ * GetMovieCreationTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( unsigned long )
+GetMovieCreationTime(Movie theMovie);
+
+
+/*
+ * GetMovieModificationTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( unsigned long )
+GetMovieModificationTime(Movie theMovie);
+
+
+/*
+ * GetMovieTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeScale )
+GetMovieTimeScale(Movie theMovie);
+
+
+/*
+ * SetMovieTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieTimeScale(
+ Movie theMovie,
+ TimeScale timeScale);
+
+
+/*
+ * GetMovieDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetMovieDuration(Movie theMovie);
+
+
+/*
+ * GetMovieRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+GetMovieRate(Movie theMovie);
+
+
+/*
+ * SetMovieRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieRate(
+ Movie theMovie,
+ Fixed rate);
+
+
+/*
+ * GetMoviePreferredRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+GetMoviePreferredRate(Movie theMovie);
+
+
+/*
+ * SetMoviePreferredRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMoviePreferredRate(
+ Movie theMovie,
+ Fixed rate);
+
+
+/*
+ * GetMovieMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMovieMatrix(
+ Movie theMovie,
+ MatrixRecord * matrix);
+
+
+/*
+ * SetMovieMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieMatrix(
+ Movie theMovie,
+ const MatrixRecord * matrix);
+
+
+/*
+ * GetMoviePreviewTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMoviePreviewTime(
+ Movie theMovie,
+ TimeValue * previewTime,
+ TimeValue * previewDuration);
+
+
+/*
+ * SetMoviePreviewTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMoviePreviewTime(
+ Movie theMovie,
+ TimeValue previewTime,
+ TimeValue previewDuration);
+
+
+/*
+ * GetMoviePosterTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetMoviePosterTime(Movie theMovie);
+
+
+/*
+ * SetMoviePosterTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMoviePosterTime(
+ Movie theMovie,
+ TimeValue posterTime);
+
+
+/*
+ * GetMovieSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMovieSelection(
+ Movie theMovie,
+ TimeValue * selectionTime,
+ TimeValue * selectionDuration);
+
+
+/*
+ * SetMovieSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieSelection(
+ Movie theMovie,
+ TimeValue selectionTime,
+ TimeValue selectionDuration);
+
+
+/*
+ * SetMovieActiveSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieActiveSegment(
+ Movie theMovie,
+ TimeValue startTime,
+ TimeValue duration);
+
+
+/*
+ * GetMovieActiveSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMovieActiveSegment(
+ Movie theMovie,
+ TimeValue * startTime,
+ TimeValue * duration);
+
+
+/*
+ * GetMovieTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetMovieTime(
+ Movie theMovie,
+ TimeRecord * currentTime);
+
+
+/*
+ * SetMovieTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieTime(
+ Movie theMovie,
+ const TimeRecord * newtime);
+
+
+/*
+ * SetMovieTimeValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieTimeValue(
+ Movie theMovie,
+ TimeValue newtime);
+
+
+
+/*
+ * GetMovieUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( UserData )
+GetMovieUserData(Movie theMovie);
+
+
+/*
+ * QTGetTimeUntilNextTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetTimeUntilNextTask(
+ long * duration,
+ long scale);
+
+
+/*
+ * QTInstallNextTaskNeededSoonerCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTInstallNextTaskNeededSoonerCallback(
+ QTNextTaskNeededSoonerCallbackUPP callbackProc,
+ TimeScale scale,
+ unsigned long flags,
+ void * refcon);
+
+
+/*
+ * QTUninstallNextTaskNeededSoonerCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTUninstallNextTaskNeededSoonerCallback(
+ QTNextTaskNeededSoonerCallbackUPP callbackProc,
+ void * refcon);
+
+
+/*
+ * GetMovieRateChangeConstraints()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+GetMovieRateChangeConstraints(
+ Movie theMovie,
+ TimeRecord * minimumDelay,
+ TimeRecord * maximumDelay);
+
+
+/*************************
+* Track/Media finding routines
+**************************/
+/*
+ * GetMovieTrackCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetMovieTrackCount(Movie theMovie);
+
+
+/*
+ * GetMovieTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+GetMovieTrack(
+ Movie theMovie,
+ long trackID);
+
+
+/*
+ * GetMovieIndTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+GetMovieIndTrack(
+ Movie theMovie,
+ long index);
+
+
+/*
+ * GetMovieIndTrackType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+GetMovieIndTrackType(
+ Movie theMovie,
+ long index,
+ OSType trackType,
+ long flags);
+
+
+/*
+ * GetTrackID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetTrackID(Track theTrack);
+
+
+/*
+ * GetTrackMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+GetTrackMovie(Track theTrack);
+
+
+/*************************
+* Track creation routines
+**************************/
+/*
+ * NewMovieTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+NewMovieTrack(
+ Movie theMovie,
+ Fixed width,
+ Fixed height,
+ short trackVolume);
+
+
+/*
+ * DisposeMovieTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeMovieTrack(Track theTrack);
+
+
+/*************************
+* Track State routines
+**************************/
+/*
+ * GetTrackCreationTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( unsigned long )
+GetTrackCreationTime(Track theTrack);
+
+
+/*
+ * GetTrackModificationTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( unsigned long )
+GetTrackModificationTime(Track theTrack);
+
+
+
+/*
+ * GetTrackEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+GetTrackEnabled(Track theTrack);
+
+
+/*
+ * SetTrackEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackEnabled(
+ Track theTrack,
+ Boolean isEnabled);
+
+
+/*
+ * GetTrackUsage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetTrackUsage(Track theTrack);
+
+
+/*
+ * SetTrackUsage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackUsage(
+ Track theTrack,
+ long usage);
+
+
+/*
+ * GetTrackDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetTrackDuration(Track theTrack);
+
+
+/*
+ * GetTrackOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetTrackOffset(Track theTrack);
+
+
+/*
+ * SetTrackOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackOffset(
+ Track theTrack,
+ TimeValue movieOffsetTime);
+
+
+/*
+ * GetTrackLayer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+GetTrackLayer(Track theTrack);
+
+
+/*
+ * SetTrackLayer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackLayer(
+ Track theTrack,
+ short layer);
+
+
+/*
+ * GetTrackAlternate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+GetTrackAlternate(Track theTrack);
+
+
+/*
+ * SetTrackAlternate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackAlternate(
+ Track theTrack,
+ Track alternateT);
+
+
+/*
+ * SetAutoTrackAlternatesEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetAutoTrackAlternatesEnabled(
+ Movie theMovie,
+ Boolean enable);
+
+
+/*
+ * SelectMovieAlternates()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SelectMovieAlternates(Movie theMovie);
+
+
+/*
+ * GetTrackMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetTrackMatrix(
+ Track theTrack,
+ MatrixRecord * matrix);
+
+
+/*
+ * SetTrackMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackMatrix(
+ Track theTrack,
+ const MatrixRecord * matrix);
+
+
+/*
+ * GetTrackDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetTrackDimensions(
+ Track theTrack,
+ Fixed * width,
+ Fixed * height);
+
+
+/*
+ * SetTrackDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackDimensions(
+ Track theTrack,
+ Fixed width,
+ Fixed height);
+
+
+/*
+ * GetTrackUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( UserData )
+GetTrackUserData(Track theTrack);
+
+
+/*
+ * GetTrackDisplayMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetTrackDisplayMatrix(
+ Track theTrack,
+ MatrixRecord * matrix);
+
+
+
+/*************************
+* get Media routines
+**************************/
+/*
+ * NewTrackMedia()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Media )
+NewTrackMedia(
+ Track theTrack,
+ OSType mediaType,
+ TimeScale timeScale,
+ Handle dataRef,
+ OSType dataRefType);
+
+
+/*
+ * DisposeTrackMedia()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeTrackMedia(Media theMedia);
+
+
+/*
+ * GetTrackMedia()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Media )
+GetTrackMedia(Track theTrack);
+
+
+/*
+ * GetMediaTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+GetMediaTrack(Media theMedia);
+
+
+
+
+/*************************
+* Media State routines
+**************************/
+/*
+ * GetMediaCreationTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( unsigned long )
+GetMediaCreationTime(Media theMedia);
+
+
+/*
+ * GetMediaModificationTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( unsigned long )
+GetMediaModificationTime(Media theMedia);
+
+
+/*
+ * GetMediaTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeScale )
+GetMediaTimeScale(Media theMedia);
+
+
+/*
+ * SetMediaTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMediaTimeScale(
+ Media theMedia,
+ TimeScale timeScale);
+
+
+/*
+ * GetMediaDecodeDuration()
+ *
+ * Summary:
+ * Returns the decode duration of a media.
+ *
+ * Discussion:
+ * A media's decode duration is the sum of the decode durations of
+ * its samples.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeValue64 )
+GetMediaDecodeDuration(Media theMedia);
+
+
+/*
+ * GetMediaAdvanceDecodeTime()
+ *
+ * Summary:
+ * Returns the advance decode time of a media.
+ *
+ * Discussion:
+ * A media's advance decode time is the absolute value of the
+ * greatest-magnitude negative display offset of its samples, or
+ * zero if there are no samples with negative display offsets.
+ * This is the amount that the decode time axis must be adjusted
+ * ahead of the display time axis to ensure that no sample's
+ * adjusted decode time is later than its display time.
+ * For media without nonzero display offsets, the advance decode
+ * time is zero.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeValue64 )
+GetMediaAdvanceDecodeTime(Media theMedia);
+
+
+/*
+ * GetMediaDisplayDuration()
+ *
+ * Summary:
+ * Returns the display duration of a media.
+ *
+ * Discussion:
+ * A media's display duration is its display end time minus its
+ * display start time. For media without nonzero display offsets,
+ * the decode duration and display duration are the same, so
+ * GetMediaDisplayDuration and GetMediaDisplayDuration are
+ * equivalent to GetMediaDuration.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeValue64 )
+GetMediaDisplayDuration(Media theMedia);
+
+
+/*
+ * GetMediaDisplayStartTime()
+ *
+ * Summary:
+ * Returns the display start time of a media.
+ *
+ * Discussion:
+ * A media's display start time is the earliest display time of any
+ * of its samples. For media without nonzero display offsets, the
+ * display start time is always zero.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeValue64 )
+GetMediaDisplayStartTime(Media theMedia);
+
+
+/*
+ * GetMediaDisplayEndTime()
+ *
+ * Summary:
+ * Returns the display end time of a media.
+ *
+ * Discussion:
+ * A media's display end time is the sum of the display time and
+ * decode duration of the sample with the greatest display time. For
+ * media without nonzero display offsets, the display end time is
+ * the same as the media decode duration, which is the same as the
+ * media duration.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeValue64 )
+GetMediaDisplayEndTime(Media theMedia);
+
+
+/*
+ * GetMediaDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetMediaDuration(Media theMedia);
+
+
+/*
+ * GetMediaLanguage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+GetMediaLanguage(Media theMedia);
+
+
+/*
+ * SetMediaLanguage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMediaLanguage(
+ Media theMedia,
+ short language);
+
+
+/*
+ * GetMediaQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+GetMediaQuality(Media theMedia);
+
+
+/*
+ * SetMediaQuality()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMediaQuality(
+ Media theMedia,
+ short quality);
+
+
+/*
+ * GetMediaHandlerDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMediaHandlerDescription(
+ Media theMedia,
+ OSType * mediaType,
+ Str255 creatorName,
+ OSType * creatorManufacturer);
+
+
+/*
+ * GetMediaUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( UserData )
+GetMediaUserData(Media theMedia);
+
+
+/*
+ * GetMediaInputMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaInputMap(
+ Media theMedia,
+ QTAtomContainer * inputMap);
+
+
+/*
+ * SetMediaInputMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaInputMap(
+ Media theMedia,
+ QTAtomContainer inputMap);
+
+
+/*************************
+* Media Handler routines
+**************************/
+/*
+ * GetMediaHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( MediaHandler )
+GetMediaHandler(Media theMedia);
+
+
+/*
+ * SetMediaHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaHandler(
+ Media theMedia,
+ MediaHandlerComponent mH);
+
+
+
+/*************************
+* Media's Data routines
+**************************/
+/*
+ * BeginMediaEdits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+BeginMediaEdits(Media theMedia);
+
+
+/*
+ * EndMediaEdits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+EndMediaEdits(Media theMedia);
+
+
+/*
+ * SetMediaDefaultDataRefIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaDefaultDataRefIndex(
+ Media theMedia,
+ short index);
+
+
+/*
+ * GetMediaDataHandlerDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMediaDataHandlerDescription(
+ Media theMedia,
+ short index,
+ OSType * dhType,
+ Str255 creatorName,
+ OSType * creatorManufacturer);
+
+
+/*
+ * GetMediaDataHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( DataHandler )
+GetMediaDataHandler(
+ Media theMedia,
+ short index);
+
+
+/*
+ * SetMediaDataHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaDataHandler(
+ Media theMedia,
+ short index,
+ DataHandlerComponent dataHandler);
+
+
+/*
+ * GetDataHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Component )
+GetDataHandler(
+ Handle dataRef,
+ OSType dataHandlerSubType,
+ long flags);
+
+
+/*
+ * OpenADataHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+OpenADataHandler(
+ Handle dataRef,
+ OSType dataHandlerSubType,
+ Handle anchorDataRef,
+ OSType anchorDataRefType,
+ TimeBase tb,
+ long flags,
+ ComponentInstance * dh);
+
+
+/*************************
+* Media Sample Table Routines
+**************************/
+/*
+ * GetMediaSampleDescriptionCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetMediaSampleDescriptionCount(Media theMedia);
+
+
+/*
+ * GetMediaSampleDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMediaSampleDescription(
+ Media theMedia,
+ long index,
+ SampleDescriptionHandle descH);
+
+
+/*
+ * SetMediaSampleDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaSampleDescription(
+ Media theMedia,
+ long index,
+ SampleDescriptionHandle descH);
+
+
+/*
+ * GetMediaSampleCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetMediaSampleCount(Media theMedia);
+
+
+/*
+ * GetMediaSyncSampleCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetMediaSyncSampleCount(Media theMedia);
+
+
+/*
+ * MediaContainsDisplayOffsets()
+ *
+ * Summary:
+ * Tests whether a media contains display offsets.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * Result:
+ * True, if the media is valid and contains at least one sample with
+ * a nonzero display offset. False otherwise.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( Boolean )
+MediaContainsDisplayOffsets(Media theMedia);
+
+
+/*
+ * SampleNumToMediaDecodeTime()
+ *
+ * Summary:
+ * Finds the decode time for a specified sample.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * logicalSampleNum:
+ * The sample number.
+ *
+ * sampleDecodeTime:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the decode time of the sample specified by the
+ * logicalSampleNum parameter. This time value is expressed in the
+ * media's time scale. Set this parameter to NULL if you do not
+ * want this information.
+ *
+ * sampleDecodeDuration:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the decode duration of the sample specified by the
+ * logicalSampleNum parameter. This time value is expressed in the
+ * media's time scale. Set this parameter to NULL if you do not
+ * want this information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( void )
+SampleNumToMediaDecodeTime(
+ Media theMedia,
+ SInt64 logicalSampleNum,
+ TimeValue64 * sampleDecodeTime,
+ TimeValue64 * sampleDecodeDuration);
+
+
+/*
+ * MediaDecodeTimeToSampleNum()
+ *
+ * Summary:
+ * Finds the sample for a specified decode time.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * decodeTime:
+ * The decode time for which you are retrieving sample
+ * information. You must specify this value in the media's time
+ * scale.
+ *
+ * sampleNum:
+ * Points to a variable that is to receive the sample number. The
+ * function returns the sample number that identifies the sample
+ * that contains data for the specified decode time, or zero if it
+ * is not found.
+ *
+ * sampleDecodeTime:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the decode time of the sample specified by the
+ * logicalSampleNum parameter. This time value is expressed in the
+ * media's time scale. Set this parameter to NULL if you do not
+ * want this information.
+ *
+ * sampleDecodeDuration:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the decode duration of the sample specified by the
+ * logicalSampleNum parameter. This time value is expressed in the
+ * media's time scale. Set this parameter to NULL if you do not
+ * want this information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( void )
+MediaDecodeTimeToSampleNum(
+ Media theMedia,
+ TimeValue64 decodeTime,
+ SInt64 * sampleNum,
+ TimeValue64 * sampleDecodeTime,
+ TimeValue64 * sampleDecodeDuration);
+
+
+/*
+ * SampleNumToMediaDisplayTime()
+ *
+ * Summary:
+ * Finds the display time for a specified sample.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * logicalSampleNum:
+ * The sample number.
+ *
+ * sampleDisplayTime:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the display time of the sample specified by the
+ * logicalSampleNum parameter. This time value is expressed in the
+ * media's time scale. Set this parameter to NULL if you do not
+ * want this information.
+ *
+ * sampleDisplayDuration:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the display duration of the sample specified by the
+ * logicalSampleNum parameter. This time value is expressed in the
+ * media's time scale. Set this parameter to NULL if you do not
+ * want this information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( void )
+SampleNumToMediaDisplayTime(
+ Media theMedia,
+ SInt64 logicalSampleNum,
+ TimeValue64 * sampleDisplayTime,
+ TimeValue64 * sampleDisplayDuration);
+
+
+/*
+ * MediaDisplayTimeToSampleNum()
+ *
+ * Summary:
+ * Finds the sample number for a specified display time.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * displayTime:
+ * The display time for which you are retrieving sample
+ * information. You must specify this value in the media's time
+ * scale.
+ *
+ * sampleNum:
+ * Points to a long integer that is to receive the sample number.
+ * The function returns the sample number that identifies the
+ * sample for the specified display time, or zero if it is not
+ * found.
+ *
+ * sampleDisplayTime:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the display time of the sample specified by the
+ * logicalSampleNum parameter. This time value is expressed in the
+ * media's time scale. Set this parameter to NULL if you do not
+ * want this information.
+ *
+ * sampleDisplayDuration:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the display duration of the sample specified by the
+ * logicalSampleNum parameter. This time value is expressed in the
+ * media's time scale. Set this parameter to NULL if you do not
+ * want this information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( void )
+MediaDisplayTimeToSampleNum(
+ Media theMedia,
+ TimeValue64 displayTime,
+ SInt64 * sampleNum,
+ TimeValue64 * sampleDisplayTime,
+ TimeValue64 * sampleDisplayDuration);
+
+
+/*
+ * SampleNumToMediaTime()
+ *
+ * Summary:
+ * Finds the media time for a specified sample.
+ *
+ * Discussion:
+ * For media with display offsets, SampleNumToMediaTime is ambiguous
+ * and will return kQTMediaHasDisplayOffsetsErr. Call
+ * SampleNumToMediaDecodeTime or SampleNumToMediaDisplayTime instead.
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SampleNumToMediaTime(
+ Media theMedia,
+ long logicalSampleNum,
+ TimeValue * sampleTime,
+ TimeValue * sampleDuration);
+
+
+/*
+ * MediaTimeToSampleNum()
+ *
+ * Summary:
+ * Finds the sample number for a specified media time.
+ *
+ * Discussion:
+ * For media with display offsets, MediaTimeToSampleNum is ambiguous
+ * and will return kQTMediaHasDisplayOffsetsErr. Call
+ * MediaDecodeTimeToSampleNum or MediaDisplayTimeToSampleNum instead.
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+MediaTimeToSampleNum(
+ Media theMedia,
+ TimeValue time,
+ long * sampleNum,
+ TimeValue * sampleTime,
+ TimeValue * sampleDuration);
+
+
+/*
+ * AddMediaSample2()
+ *
+ * Summary:
+ * Adds sample data and a description to a media. AddMediaSample2
+ * extends and supercedes AddMediaSample.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * dataIn:
+ * Points to sample data.
+ *
+ * size:
+ * The number of bytes of sample data to be added to the media.
+ * This parameter indicates the total number of bytes in the
+ * sample data to be added to the media, not the number of bytes
+ * per sample. Use the numberOfSamples parameter to indicate the
+ * number of samples that are contained in the sample data.
+ *
+ * decodeDurationPerSample:
+ * The duration of each sample to be added. You must specify this
+ * parameter in the media time scale. For example, if you are
+ * adding sound that was sampled at 22 kHz to a media that
+ * contains a sound track with the same time scale, you would set
+ * durationPerSample to 1. Similarly, if you are adding video that
+ * was recorded at 10 frames per second to a video media that has
+ * a time scale of 600, you would set this parameter to 60 to add
+ * a single sample.
+ *
+ * displayOffset:
+ * The offset from decode time to display time of each sample to
+ * be added. You must specify this parameter in the media time
+ * scale. If the decode times and display times for the samples
+ * are identical, pass zero.
+ *
+ * sampleDescriptionH:
+ * A handle to a SampleDescription structure. Some media
+ * structures may require sample descriptions. There are different
+ * descriptions for different types of samples. For example, a
+ * media that contains compressed video requires that you supply
+ * an ImageDescription structure. A media that contains sound
+ * requires that you supply a SoundDescription structure.
+ *
+ * numberOfSamples:
+ * The number of samples contained in the sample data to be added
+ * to the media.
+ *
+ * sampleFlags:
+ * Specifies the media sample flags for the samples to be added.
+ *
+ * sampleDecodeTimeOut:
+ * A pointer to a time value. After adding the sample data to the
+ * media, the AddMediaSample function returns the decode time
+ * where the first sample was inserted in the time value referred
+ * to by this parameter. If you don't want to receive this
+ * information, set this parameter to NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+AddMediaSample2(
+ Media theMedia,
+ const UInt8 * dataIn,
+ ByteCount size,
+ TimeValue64 decodeDurationPerSample,
+ TimeValue64 displayOffset,
+ SampleDescriptionHandle sampleDescriptionH,
+ ItemCount numberOfSamples,
+ MediaSampleFlags sampleFlags,
+ TimeValue64 * sampleDecodeTimeOut); /* can be NULL */
+
+
+/*
+ * AddMediaSampleFromEncodedFrame()
+ *
+ * Summary:
+ * Adds sample data and description from an encoded frame to a media.
+ *
+ * Discussion:
+ * This is a convenience API to make it easy to add frames emitted
+ * by ICM compression session APIs to media.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * encodedFrame:
+ * An encoded frame token returned by an ICMCompressionSequence.
+ *
+ * sampleDecodeTimeOut:
+ * A pointer to a time value. After adding the sample data to the
+ * media, the function returns the decode time where the first
+ * sample was inserted in the time value referred to by this
+ * parameter. If you don't want to receive this information, set
+ * this parameter to NULL.
+ *
+ * Result:
+ * An operating system result code.
+ * kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not
+ * support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if
+ * there is already a sample with this display time.
+ * kQTDisplayTimeTooEarlyErr if a sample's display time would be
+ * earlier than the display time of an existing sample that does not
+ * have the mediaSampleEarlierDisplayTimesAllowed flag set.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+AddMediaSampleFromEncodedFrame(
+ Media theMedia,
+ ICMEncodedFrameRef encodedFrame,
+ TimeValue64 * sampleDecodeTimeOut); /* can be NULL */
+
+
+/*
+ * AddSampleTableToMedia()
+ *
+ * Summary:
+ * Adds sample references from a sample table to a media.
+ * AddSampleTableToMedia supercedes AddMediaSampleReferences and
+ * AddMediaSampleReferences64.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * sampleTable:
+ * The sample table containing sample references to be added to
+ * the media.
+ *
+ * startSampleNum:
+ * The sample number of the first sample reference in the sample
+ * table to be added to the media. The first sample's number is 1.
+ *
+ * numberOfSamples:
+ * The number of sample references from the sample table to be
+ * added to the media.
+ *
+ * sampleDecodeTimeOut:
+ * A pointer to a time value. After adding the sample references
+ * to the media, the function returns the decode time where the
+ * first sample was inserted in the time value referred to by this
+ * parameter. If you don't want to receive this information, set
+ * this parameter to NULL.
+ *
+ * Result:
+ * An operating system result code.
+ * kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not
+ * support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if
+ * there is already a sample with this display time.
+ * kQTDisplayTimeTooEarlyErr if a sample's display time would be
+ * earlier than the display time of an existing sample that does not
+ * have the mediaSampleEarlierDisplayTimesAllowed flag set.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+AddSampleTableToMedia(
+ Media theMedia,
+ QTSampleTableRef sampleTable,
+ SInt64 startSampleNum,
+ SInt64 numberOfSamples,
+ TimeValue64 * sampleDecodeTimeOut); /* can be NULL */
+
+
+/*
+ * AddMediaSample()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddMediaSample(
+ Media theMedia,
+ Handle dataIn,
+ long inOffset,
+ unsigned long size,
+ TimeValue durationPerSample,
+ SampleDescriptionHandle sampleDescriptionH,
+ long numberOfSamples,
+ short sampleFlags,
+ TimeValue * sampleTime);
+
+
+/*
+ * AddMediaSampleReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddMediaSampleReference(
+ Media theMedia,
+ long dataOffset,
+ unsigned long size,
+ TimeValue durationPerSample,
+ SampleDescriptionHandle sampleDescriptionH,
+ long numberOfSamples,
+ short sampleFlags,
+ TimeValue * sampleTime);
+
+
+/*
+ * AddMediaSampleReferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddMediaSampleReferences(
+ Media theMedia,
+ SampleDescriptionHandle sampleDescriptionH,
+ long numberOfSamples,
+ SampleReferencePtr sampleRefs,
+ TimeValue * sampleTime);
+
+
+/*
+ * AddMediaSampleReferences64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+AddMediaSampleReferences64(
+ Media theMedia,
+ SampleDescriptionHandle sampleDescriptionH,
+ long numberOfSamples,
+ SampleReference64Ptr sampleRefs,
+ TimeValue * sampleTime);
+
+
+/*
+ * ExtendMediaDecodeDurationToDisplayEndTime()
+ *
+ * Summary:
+ * Prepares a media for the addition of a completely new sequence of
+ * samples by ensuring that the media display end time is not later
+ * than the media decode end time.
+ *
+ * Discussion:
+ * After adding a complete, well-formed set of samples to a media,
+ * the media's display end time should be the same as the media's
+ * decode end time (also called the media decode duration).
+ * However, this is not necessarily the case after individual
+ * sample-adding operations, and hence it is possible for a media to
+ * be left with a display end time later than its decode end time --
+ * if adding a sequence of frames is aborted halfway, for example.
+ *
+ * This may make it difficult to add a new group of samples, because
+ * a well-formed group of samples' earliest display time should be
+ * the same as the first frame's decode time. If such a well-formed
+ * group is added to an incompletely finished media, frames from the
+ * old and new groups frames might collide in display time.
+ * ExtendMediaDecodeDurationToDisplayEndTime prevents any such
+ * collision or overlap by extending the last sample's decode
+ * duration as necessary. It ensures that the next added sample
+ * will have a decode time no earlier than the media's display end
+ * time. If this was already the case, it makes no change to the
+ * media.
+ * You can call ExtendMediaDecodeDurationToDisplayEndTime before you
+ * begin adding samples to a media if you're not certain that the
+ * media was left in a well-finished state. You do not need to call
+ * it before adding samples to a newly created media, nor should you
+ * call it in between samples from the same compression session.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * mediaChanged:
+ * Points to a variable which will be set to true if any samples
+ * in the media were adjusted, false otherwise. If you don't want
+ * to receive this information, set this parameter to NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+ExtendMediaDecodeDurationToDisplayEndTime(
+ Media theMedia,
+ Boolean * mediaChanged);
+
+
+/*
+ * GetMediaSample2()
+ *
+ * Summary:
+ * Retrieves sample data from a media file. GetMediaSample2 extends
+ * and supercedes GetMediaSample.
+ *
+ * Discussion:
+ * GetMediaSample2 will only return multiple samples that all have
+ * the same decode duration per sample, the same display offset, the
+ * same sample description, and the same size per sample.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * dataOut:
+ * Points to a buffer to receive sample data. The buffer must be
+ * large enough to contain at least maxDataSize bytes. If you do
+ * not want to receive sample data, pass NULL.
+ *
+ * maxDataSize:
+ * The maximum number of bytes of data to receive.
+ *
+ * size:
+ * Points to a long integer to receive the number of bytes of
+ * sample data returned. Pass NULL if you are not interested this
+ * information.
+ *
+ * decodeTime:
+ * The decode time for which you are retrieving sample
+ * information. You must specify this value in the media's time
+ * scale.
+ *
+ * sampleDecodeTime:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the actual decode time of the returned sample data.
+ * (The returned time may differ from the time you specified with
+ * the decodeTime parameter. This will occur if the time you
+ * specified falls in the middle of a sample.) If you are not
+ * interested in this information, set this parameter to NULL.
+ *
+ * decodeDurationPerSample:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the decode duration of each of the returned
+ * samples. This time value is expressed in the media's time
+ * scale. Set this parameter to NULL if you don't want this
+ * information.
+ *
+ * displayOffset:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the display offset of the returned sample. This
+ * time value is expressed in the media's time scale. Set this
+ * parameter to NULL if you don't want this information.
+ *
+ * sampleDescriptionH:
+ * A handle to a SampleDescription structure. The function returns
+ * the sample description corresponding to the returned sample
+ * data. The function resizes this handle as appropriate. If you
+ * don't want a SampleDescription structure, set this parameter to
+ * NULL.
+ *
+ * sampleDescriptionIndex:
+ * A pointer to a long integer. The function returns an index
+ * value to the SampleDescription structure that corresponds to
+ * the returned sample data. You can retrieve the structure by
+ * calling GetMediaSampleDescription and passing this index in the
+ * index parameter. If you don't want this information, set this
+ * parameter to NULL.
+ *
+ * maxNumberOfSamples:
+ * The maximum number of samples to be returned. The Movie Toolbox
+ * does not return more samples than you specify with this
+ * parameter. If you set this parameter to 0, the Movie Toolbox
+ * uses a value that is appropriate for the media, and returns
+ * that value in the field referenced by the numberOfSamples
+ * parameter.
+ *
+ * numberOfSamples:
+ * A pointer to a long integer. The function updates the field
+ * referred to by this parameter with the number of samples it
+ * actually returns. If you don't want this information, set this
+ * parameter to NULL.
+ *
+ * sampleFlags:
+ * A pointer to a short integer in which the function returns
+ * media sample flags for the returned samples. If you don't want
+ * this information, set this parameter to NULL.
+ *
+ * Result:
+ * An operating system result code. maxSizeToGrowTooSmall if the
+ * sample data is larger than maxDataSize.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+GetMediaSample2(
+ Media theMedia,
+ UInt8 * dataOut,
+ ByteCount maxDataSize,
+ ByteCount * size,
+ TimeValue64 decodeTime,
+ TimeValue64 * sampleDecodeTime,
+ TimeValue64 * decodeDurationPerSample,
+ TimeValue64 * displayOffset,
+ SampleDescriptionHandle sampleDescriptionH,
+ ItemCount * sampleDescriptionIndex,
+ ItemCount maxNumberOfSamples,
+ ItemCount * numberOfSamples,
+ MediaSampleFlags * sampleFlags);
+
+
+/*
+ * GetMediaSample()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaSample(
+ Media theMedia,
+ Handle dataOut,
+ long maxSizeToGrow,
+ long * size,
+ TimeValue time,
+ TimeValue * sampleTime,
+ TimeValue * durationPerSample,
+ SampleDescriptionHandle sampleDescriptionH,
+ long * sampleDescriptionIndex,
+ long maxNumberOfSample,
+ long * numberOfSamples,
+ short * sampleFlags);
+
+
+/*
+ * CopyMediaMutableSampleTable()
+ *
+ * Summary:
+ * Obtains information about sample references in a media in the
+ * form of a sample table. CopyMediaMutableSampleTable supercedes
+ * GetMediaSampleReferences and GetMediaSampleReferences64.
+ *
+ * Discussion:
+ * When you are done with the returned sample table, release it with
+ * QTSampleTableRelease.
+ * To find out how many samples were returned in the sample table,
+ * call QTSampleTableGetNumberOfSamples.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * startDecodeTime:
+ * The starting decode time of the sample references to be
+ * retrieved. You must specify this value in the media's time
+ * scale.
+ *
+ * sampleStartDecodeTime:
+ * A pointer to a time value. The function updates this time value
+ * to indicate the actual decode time of the first returned sample
+ * reference. (The returned time may differ from the time you
+ * specified with the startDecodeTime parameter. This will occur
+ * if the time you specified falls in the middle of a sample.) If
+ * you are not interested in this information, set this parameter
+ * to NULL.
+ *
+ * maxNumberOfSamples:
+ * The maximum number of sample references to be returned. If you
+ * set this parameter to 0, the Movie Toolbox uses a value that is
+ * appropriate to the media.
+ *
+ * maxDecodeDuration:
+ * The maximum decode duration to be returned. The function does
+ * not return samples with greater decode duration than you
+ * specify with this parameter. If you set this parameter to 0,
+ * the Movie Toolbox uses a value that is appropriate for the
+ * media.
+ *
+ * sampleTableOut:
+ * A pointer to a sample table reference to receive the newly
+ * created mutable sample table.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+CopyMediaMutableSampleTable(
+ Media theMedia,
+ TimeValue64 startDecodeTime,
+ TimeValue64 * sampleStartDecodeTime,
+ SInt64 maxNumberOfSamples,
+ TimeValue64 maxDecodeDuration,
+ QTMutableSampleTableRef * sampleTableOut);
+
+
+/*
+ * GetMediaSampleReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaSampleReference(
+ Media theMedia,
+ long * dataOffset,
+ long * size,
+ TimeValue time,
+ TimeValue * sampleTime,
+ TimeValue * durationPerSample,
+ SampleDescriptionHandle sampleDescriptionH,
+ long * sampleDescriptionIndex,
+ long maxNumberOfSamples,
+ long * numberOfSamples,
+ short * sampleFlags);
+
+
+/*
+ * GetMediaSampleReferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaSampleReferences(
+ Media theMedia,
+ TimeValue time,
+ TimeValue * sampleTime,
+ SampleDescriptionHandle sampleDescriptionH,
+ long * sampleDescriptionIndex,
+ long maxNumberOfEntries,
+ long * actualNumberofEntries,
+ SampleReferencePtr sampleRefs);
+
+
+/*
+ * GetMediaSampleReferences64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaSampleReferences64(
+ Media theMedia,
+ TimeValue time,
+ TimeValue * sampleTime,
+ SampleDescriptionHandle sampleDescriptionH,
+ long * sampleDescriptionIndex,
+ long maxNumberOfEntries,
+ long * actualNumberofEntries,
+ SampleReference64Ptr sampleRefs);
+
+
+/*
+ * SetMediaPreferredChunkSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaPreferredChunkSize(
+ Media theMedia,
+ long maxChunkSize);
+
+
+/*
+ * GetMediaPreferredChunkSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaPreferredChunkSize(
+ Media theMedia,
+ long * maxChunkSize);
+
+
+/*
+ * SetMediaShadowSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaShadowSync(
+ Media theMedia,
+ long frameDiffSampleNum,
+ long syncSampleNum);
+
+
+/*
+ * GetMediaShadowSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaShadowSync(
+ Media theMedia,
+ long frameDiffSampleNum,
+ long * syncSampleNum);
+
+
+/*************************
+* Editing Routines
+**************************/
+/*
+ When inserting media that might have nonzero display offsets into a track, use display time:
+ InsertMediaIntoTrack( track,
+ 0, // track start time
+ GetMediaDisplayStartTime( media ), // media start time
+ GetMediaDisplayDuration( media ),
+ fixed1 ); // normal speed
+ It is safe to use these display time calls for media without display offsets.
+*/
+/*
+ * InsertMediaIntoTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+InsertMediaIntoTrack(
+ Track theTrack,
+ TimeValue trackStart,
+ TimeValue mediaTime,
+ TimeValue mediaDuration,
+ Fixed mediaRate);
+
+
+/*
+ * InsertTrackSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+InsertTrackSegment(
+ Track srcTrack,
+ Track dstTrack,
+ TimeValue srcIn,
+ TimeValue srcDuration,
+ TimeValue dstIn);
+
+
+/*
+ * InsertMovieSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+InsertMovieSegment(
+ Movie srcMovie,
+ Movie dstMovie,
+ TimeValue srcIn,
+ TimeValue srcDuration,
+ TimeValue dstIn);
+
+
+/*
+ * InsertEmptyTrackSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+InsertEmptyTrackSegment(
+ Track dstTrack,
+ TimeValue dstIn,
+ TimeValue dstDuration);
+
+
+/*
+ * InsertEmptyMovieSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+InsertEmptyMovieSegment(
+ Movie dstMovie,
+ TimeValue dstIn,
+ TimeValue dstDuration);
+
+
+/*
+ * DeleteTrackSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DeleteTrackSegment(
+ Track theTrack,
+ TimeValue startTime,
+ TimeValue duration);
+
+
+/*
+ * DeleteMovieSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DeleteMovieSegment(
+ Movie theMovie,
+ TimeValue startTime,
+ TimeValue duration);
+
+
+/*
+ * ScaleTrackSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ScaleTrackSegment(
+ Track theTrack,
+ TimeValue startTime,
+ TimeValue oldDuration,
+ TimeValue newDuration);
+
+
+/*
+ * ScaleMovieSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ScaleMovieSegment(
+ Movie theMovie,
+ TimeValue startTime,
+ TimeValue oldDuration,
+ TimeValue newDuration);
+
+
+
+/*************************
+* Hi-level Editing Routines
+**************************/
+/*
+ * CutMovieSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+CutMovieSelection(Movie theMovie);
+
+
+/*
+ * CopyMovieSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+CopyMovieSelection(Movie theMovie);
+
+
+/*
+ * PasteMovieSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+PasteMovieSelection(
+ Movie theMovie,
+ Movie src);
+
+
+/*
+ * AddMovieSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+AddMovieSelection(
+ Movie theMovie,
+ Movie src);
+
+
+/*
+ * ClearMovieSelection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ClearMovieSelection(Movie theMovie);
+
+
+/*
+ * PasteHandleIntoMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+PasteHandleIntoMovie(
+ Handle h,
+ OSType handleType,
+ Movie theMovie,
+ long flags,
+ ComponentInstance userComp);
+
+
+/*
+ * PutMovieIntoTypedHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+PutMovieIntoTypedHandle(
+ Movie theMovie,
+ Track targetTrack,
+ OSType handleType,
+ Handle publicMovie,
+ TimeValue start,
+ TimeValue dur,
+ long flags,
+ ComponentInstance userComp);
+
+
+/*
+ * IsScrapMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Component )
+IsScrapMovie(Track targetTrack);
+
+
+/*************************
+* Middle-level Editing Routines
+**************************/
+/*
+ * CopyTrackSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CopyTrackSettings(
+ Track srcTrack,
+ Track dstTrack);
+
+
+/*
+ * CopyMovieSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CopyMovieSettings(
+ Movie srcMovie,
+ Movie dstMovie);
+
+
+/*
+ * AddEmptyTrackToMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddEmptyTrackToMovie(
+ Track srcTrack,
+ Movie dstMovie,
+ Handle dataRef,
+ OSType dataRefType,
+ Track * dstTrack);
+
+
+enum {
+ kQTCloneShareSamples = 1 << 0,
+ kQTCloneDontCopyEdits = 1 << 1
+};
+
+/*
+ * AddClonedTrackToMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+AddClonedTrackToMovie(
+ Track srcTrack,
+ Movie dstMovie,
+ long flags,
+ Track * dstTrack);
+
+
+/*************************
+* movie & track edit state routines
+**************************/
+/*
+ * NewMovieEditState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( MovieEditState )
+NewMovieEditState(Movie theMovie);
+
+
+/*
+ * UseMovieEditState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+UseMovieEditState(
+ Movie theMovie,
+ MovieEditState toState);
+
+
+/*
+ * DisposeMovieEditState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DisposeMovieEditState(MovieEditState state);
+
+
+/*
+ * NewTrackEditState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TrackEditState )
+NewTrackEditState(Track theTrack);
+
+
+/*
+ * UseTrackEditState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+UseTrackEditState(
+ Track theTrack,
+ TrackEditState state);
+
+
+/*
+ * DisposeTrackEditState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DisposeTrackEditState(TrackEditState state);
+
+
+/*************************
+* track reference routines
+**************************/
+/*
+ * AddTrackReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddTrackReference(
+ Track theTrack,
+ Track refTrack,
+ OSType refType,
+ long * addedIndex);
+
+
+/*
+ * DeleteTrackReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DeleteTrackReference(
+ Track theTrack,
+ OSType refType,
+ long index);
+
+
+/*
+ * SetTrackReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetTrackReference(
+ Track theTrack,
+ Track refTrack,
+ OSType refType,
+ long index);
+
+
+/*
+ * GetTrackReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Track )
+GetTrackReference(
+ Track theTrack,
+ OSType refType,
+ long index);
+
+
+/*
+ * GetNextTrackReferenceType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSType )
+GetNextTrackReferenceType(
+ Track theTrack,
+ OSType refType);
+
+
+/*
+ * GetTrackReferenceCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetTrackReferenceCount(
+ Track theTrack,
+ OSType refType);
+
+
+
+/*************************
+* high level file conversion routines
+**************************/
+/*
+ * ConvertFileToMovieFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ConvertFileToMovieFile(
+ const FSSpec * inputFile,
+ const FSSpec * outputFile,
+ OSType creator,
+ ScriptCode scriptTag,
+ short * resID,
+ long flags,
+ ComponentInstance userComp,
+ MovieProgressUPP proc,
+ long refCon);
+
+
+/*
+ * ConvertMovieToFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ConvertMovieToFile(
+ Movie theMovie,
+ Track onlyTrack,
+ FSSpec * outputFile,
+ OSType fileType,
+ OSType creator,
+ ScriptCode scriptTag,
+ short * resID,
+ long flags,
+ ComponentInstance userComp);
+
+
+/*
+ * ConvertMovieToDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+ConvertMovieToDataRef(
+ Movie m,
+ Track onlyTrack,
+ Handle dataRef,
+ OSType dataRefType,
+ OSType fileType,
+ OSType creator,
+ long flags,
+ ComponentInstance userComp);
+
+
+/*
+ * ConvertDataRefToMovieDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+ConvertDataRefToMovieDataRef(
+ Handle inputDataRef,
+ OSType inputDataRefType,
+ Handle outputDataRef,
+ OSType outputDataRefType,
+ OSType creator,
+ long flags,
+ ComponentInstance userComp,
+ MovieProgressUPP proc,
+ long refCon);
+
+
+enum {
+ kGetMovieImporterValidateToFind = 1L << 0,
+ kGetMovieImporterAllowNewFile = 1L << 1,
+ kGetMovieImporterDontConsiderGraphicsImporters = 1L << 2,
+ kGetMovieImporterDontConsiderFileOnlyImporters = 1L << 6,
+ kGetMovieImporterAutoImportOnly = 1L << 10 /* reject aggressive movie importers which have dontAutoFileMovieImport set*/
+};
+
+/*
+ * GetMovieImporterForDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMovieImporterForDataRef(
+ OSType dataRefType,
+ Handle dataRef,
+ long flags,
+ Component * importer);
+
+
+
+enum {
+ kQTGetMIMETypeInfoIsQuickTimeMovieType = FOUR_CHAR_CODE('moov'), /* info is a pointer to a Boolean*/
+ kQTGetMIMETypeInfoIsUnhelpfulType = FOUR_CHAR_CODE('dumb') /* info is a pointer to a Boolean*/
+};
+
+/*
+ * QTGetMIMETypeInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetMIMETypeInfo(
+ const char * mimeStringStart,
+ short mimeStringLength,
+ OSType infoSelector,
+ void * infoDataPtr,
+ long * infoDataSize);
+
+
+
+/****************************
+* Movie importer properties
+*****************************/
+
+/*
+ */
+enum {
+ kQTPropertyClass_MovieImporter = FOUR_CHAR_CODE('eat '),
+
+ /*
+ * kQTMovieImporterPropertyID_AllowMediaOptimization: Value is
+ * Boolean (get/set) Allow QuickTime importers to optimize the media
+ * representation during import. This may create media that is not
+ * fully compatible with applications that use older low-level APIs
+ * to access and manipulate media samples. For instance, this
+ * property allows the MP3 importer to create VBR sample tables,
+ * which may be incompatible with applications that use
+ * GetMediaSample and SoundConverter to manually decode audio samples.
+ */
+ kQTMovieImporterPropertyID_AllowMediaOptimization = FOUR_CHAR_CODE('amop') /* Boolean*/
+};
+
+
+/*************************
+* Movie Timebase Conversion Routines
+**************************/
+/*
+ * TrackTimeToMediaDisplayTime()
+ *
+ * Summary:
+ * Converts a track's time value to a display time value that is
+ * appropriate to the track's media, using the track's edit list.
+ * This is a 64-bit replacement for TrackTimeToMediaTime.
+ *
+ * Discussion:
+ * This function maps the track time through the track's edit list
+ * to come up with the media time. This time value contains the
+ * track's time value according to the media's time coordinate
+ * system. If the time you specified lies outside of the movie's
+ * active segment or corresponds to empty space in the track, this
+ * function returns a value of -1. Hence you can use it to determine
+ * whether a specified track edit is empty.
+ *
+ * Parameters:
+ *
+ * value:
+ * The track's time value; must be expressed in the time scale of
+ * the movie that contains the track.
+ *
+ * theTrack:
+ * The track for this operation. Your application obtains this
+ * track identifier from such functions as NewMovieTrack and
+ * GetMovieTrack.
+ *
+ * Result:
+ * The corresponding time in media display time, in the media's time
+ * coordinate system. If the track time corresponds to empty space,
+ * this function returns a value of -1.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeValue64 )
+TrackTimeToMediaDisplayTime(
+ TimeValue64 value,
+ Track theTrack);
+
+
+/*
+ * TrackTimeToMediaTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+TrackTimeToMediaTime(
+ TimeValue value,
+ Track theTrack);
+
+
+/*
+ * GetTrackEditRate64()
+ *
+ * Summary:
+ * Returns the rate of the track edit of a specified track at an
+ * indicated time. This is a 64-bit replacement for GetTrackEditRate.
+ *
+ * Discussion:
+ * This function is useful if you are stepping through track edits
+ * directly in your application or if you are a client of
+ * QuickTime's base media handler.
+ *
+ * Parameters:
+ *
+ * theTrack:
+ * The track identifier for which the rate of a track edit (at the
+ * time given in the atTime parameter) is to be determined.
+ *
+ * atTime:
+ * Indicates a time value at which the rate of a track edit (of a
+ * track identified in the parameter theTrack) is to be determined.
+ *
+ * Result:
+ * The rate of the track edit of the specified track at the
+ * specified time.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( Fixed )
+GetTrackEditRate64(
+ Track theTrack,
+ TimeValue64 atTime);
+
+
+/*
+ * GetTrackEditRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+GetTrackEditRate(
+ Track theTrack,
+ TimeValue atTime);
+
+
+
+/*************************
+* Miscellaneous Routines
+**************************/
+
+/*
+ * GetMovieDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetMovieDataSize(
+ Movie theMovie,
+ TimeValue startTime,
+ TimeValue duration);
+
+
+/*
+ * GetMovieDataSize64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+GetMovieDataSize64(
+ Movie theMovie,
+ TimeValue startTime,
+ TimeValue duration,
+ wide * dataSize);
+
+
+/*
+ * GetTrackDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetTrackDataSize(
+ Track theTrack,
+ TimeValue startTime,
+ TimeValue duration);
+
+
+/*
+ * GetTrackDataSize64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+GetTrackDataSize64(
+ Track theTrack,
+ TimeValue startTime,
+ TimeValue duration,
+ wide * dataSize);
+
+
+/*
+ * GetMediaDataSizeTime64()
+ *
+ * Summary:
+ * Determines the size, in bytes, of the sample data in a media
+ * segment. This function uses 64-bit time values and returns a
+ * 64-bit size.
+ *
+ * Discussion:
+ * The only difference between this function and GetMediaDataSize64
+ * is that it uses 64-bit time values.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * startDisplayTime:
+ * A time value specifying the starting point of the segment in
+ * media display time.
+ *
+ * displayDuration:
+ * A time value that specifies the duration of the segment in
+ * media display time.
+ *
+ * dataSize:
+ * Points to a variable to receive the size, in bytes, of the
+ * sample data in the defined media segment.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+GetMediaDataSizeTime64(
+ Media theMedia,
+ TimeValue64 startDisplayTime,
+ TimeValue64 displayDuration,
+ SInt64 * dataSize);
+
+
+/*
+ * GetMediaDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetMediaDataSize(
+ Media theMedia,
+ TimeValue startTime,
+ TimeValue duration);
+
+
+/*
+ * GetMediaDataSize64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaDataSize64(
+ Media theMedia,
+ TimeValue startTime,
+ TimeValue duration,
+ wide * dataSize);
+
+
+/*
+ * PtInMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+PtInMovie(
+ Movie theMovie,
+ Point pt);
+
+
+/*
+ * PtInTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+PtInTrack(
+ Track theTrack,
+ Point pt);
+
+
+/*************************
+* Group Selection Routines
+**************************/
+
+/*
+ * SetMovieLanguage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieLanguage(
+ Movie theMovie,
+ long language);
+
+
+
+/*************************
+* User Data
+**************************/
+
+/*
+ * GetUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetUserData(
+ UserData theUserData,
+ Handle data,
+ OSType udType,
+ long index);
+
+
+/*
+ * AddUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddUserData(
+ UserData theUserData,
+ Handle data,
+ OSType udType);
+
+
+/*
+ * RemoveUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveUserData(
+ UserData theUserData,
+ OSType udType,
+ long index);
+
+
+/*
+ * CountUserDataType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+CountUserDataType(
+ UserData theUserData,
+ OSType udType);
+
+
+/*
+ * GetNextUserDataType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetNextUserDataType(
+ UserData theUserData,
+ OSType udType);
+
+
+/*
+ * GetUserDataItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetUserDataItem(
+ UserData theUserData,
+ void * data,
+ long size,
+ OSType udType,
+ long index);
+
+
+/*
+ * SetUserDataItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetUserDataItem(
+ UserData theUserData,
+ void * data,
+ long size,
+ OSType udType,
+ long index);
+
+
+/*
+ * AddUserDataText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddUserDataText(
+ UserData theUserData,
+ Handle data,
+ OSType udType,
+ long index,
+ short itlRegionTag);
+
+
+/*
+ * GetUserDataText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetUserDataText(
+ UserData theUserData,
+ Handle data,
+ OSType udType,
+ long index,
+ short itlRegionTag);
+
+
+/*
+ * RemoveUserDataText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveUserDataText(
+ UserData theUserData,
+ OSType udType,
+ long index,
+ short itlRegionTag);
+
+
+/*
+ * NewUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewUserData(UserData * theUserData);
+
+
+/*
+ * DisposeUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DisposeUserData(UserData theUserData);
+
+
+/*
+ * NewUserDataFromHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewUserDataFromHandle(
+ Handle h,
+ UserData * theUserData);
+
+
+/*
+ * PutUserDataIntoHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+PutUserDataIntoHandle(
+ UserData theUserData,
+ Handle h);
+
+
+
+enum {
+ kQTCopyUserDataReplace = FOUR_CHAR_CODE('rplc'), /* Delete all destination user data items and then add source user data items */
+ kQTCopyUserDataMerge = FOUR_CHAR_CODE('merg') /* Add source user data items to destination user data */
+};
+
+/*
+ * CopyMovieUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+CopyMovieUserData(
+ Movie srcMovie,
+ Movie dstMovie,
+ OSType copyRule);
+
+
+/*
+ * CopyTrackUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+CopyTrackUserData(
+ Track srcTrack,
+ Track dstTrack,
+ OSType copyRule);
+
+
+/*
+ * CopyMediaUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+CopyMediaUserData(
+ Media srcMedia,
+ Media dstMedia,
+ OSType copyRule);
+
+
+/*
+ * CopyUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+CopyUserData(
+ UserData srcUserData,
+ UserData dstUserData,
+ OSType copyRule);
+
+
+
+/*
+ * SetMoviePropertyAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+SetMoviePropertyAtom(
+ Movie theMovie,
+ QTAtomContainer propertyAtom);
+
+
+/*
+ * GetMoviePropertyAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+GetMoviePropertyAtom(
+ Movie theMovie,
+ QTAtomContainer * propertyAtom);
+
+
+/*
+ * GetMediaNextInterestingDecodeTime()
+ *
+ * Summary:
+ * Searches for decode times of interest in a media.
+ *
+ * Discussion:
+ * This function takes the same flags as GetMediaNextInterestingTime.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * interestingTimeFlags:
+ * Contains flags that determine the search criteria. Note that
+ * you may set only one of the nextTimeMediaSample,
+ * nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused
+ * flags to 0.
+ *
+ * decodeTime:
+ * Specifies a time value that establishes the starting point for
+ * the search. This time value must be expressed in the media's
+ * time scale.
+ *
+ * rate:
+ * The search direction. Negative values cause the Movie Toolbox
+ * to search backward from the starting point specified in the
+ * decodeTime parameter. Other values cause a forward search.
+ *
+ * interestingDecodeTime:
+ * A pointer to a time value. The Movie Toolbox returns the first
+ * decode time value it finds that meets the search criteria
+ * specified in the flags parameter. This time value is in the
+ * media's time scale. If there are no times that meet the search
+ * criteria you specify, the Movie Toolbox sets this value to -1.
+ * Set this parameter to NULL if you are not interested in this
+ * information.
+ *
+ * interestingDecodeDuration:
+ * A pointer to a time value. The Movie Toolbox returns the decode
+ * duration of the interesting time. This time value is in the
+ * media's time coordinate system. Set this parameter to NULL if
+ * you don't want this information; this lets the function work
+ * faster.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( void )
+GetMediaNextInterestingDecodeTime(
+ Media theMedia,
+ short interestingTimeFlags,
+ TimeValue64 decodeTime,
+ Fixed rate,
+ TimeValue64 * interestingDecodeTime,
+ TimeValue64 * interestingDecodeDuration);
+
+
+/*
+ * GetMediaNextInterestingDisplayTime()
+ *
+ * Summary:
+ * Searches for display times of interest in a media.
+ *
+ * Discussion:
+ * This function takes the same flags as GetMediaNextInterestingTime.
+ *
+ * Parameters:
+ *
+ * theMedia:
+ * The media for this operation. Your application obtains this
+ * media identifier from such functions as NewTrackMedia and
+ * GetTrackMedia.
+ *
+ * interestingTimeFlags:
+ * Contains flags that determine the search criteria. Note that
+ * you may set only one of the nextTimeMediaSample,
+ * nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused
+ * flags to 0.
+ *
+ * displayTime:
+ * Specifies a time value that establishes the starting point for
+ * the search. This time value must be expressed in the media's
+ * time scale.
+ *
+ * rate:
+ * The search direction. Negative values cause the Movie Toolbox
+ * to search backward from the starting point specified in the
+ * time parameter. Other values cause a forward search.
+ *
+ * interestingDisplayTime:
+ * A pointer to a time value. The Movie Toolbox returns the first
+ * display time value it finds that meets the search criteria
+ * specified in the flags parameter. This time value is in the
+ * media's time scale. If there are no times that meet the search
+ * criteria you specify, the Movie Toolbox sets this value to -1.
+ * Set this parameter to NULL if you are not interested in this
+ * information.
+ *
+ * interestingDisplayDuration:
+ * A pointer to a time value. The Movie Toolbox returns the
+ * display duration of the interesting time. This time value is in
+ * the media's time coordinate system. Set this parameter to NULL
+ * if you don't want this information; this lets the function work
+ * faster.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( void )
+GetMediaNextInterestingDisplayTime(
+ Media theMedia,
+ short interestingTimeFlags,
+ TimeValue64 displayTime,
+ Fixed rate,
+ TimeValue64 * interestingDisplayTime,
+ TimeValue64 * interestingDisplayDuration);
+
+
+/*
+ * GetMediaNextInterestingTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMediaNextInterestingTime(
+ Media theMedia,
+ short interestingTimeFlags,
+ TimeValue time,
+ Fixed rate,
+ TimeValue * interestingTime,
+ TimeValue * interestingDuration);
+
+
+/*
+ * GetTrackNextInterestingTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetTrackNextInterestingTime(
+ Track theTrack,
+ short interestingTimeFlags,
+ TimeValue time,
+ Fixed rate,
+ TimeValue * interestingTime,
+ TimeValue * interestingDuration);
+
+
+/*
+ * GetMovieNextInterestingTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMovieNextInterestingTime(
+ Movie theMovie,
+ short interestingTimeFlags,
+ short numMediaTypes,
+ const OSType * whichMediaTypes,
+ TimeValue time,
+ Fixed rate,
+ TimeValue * interestingTime,
+ TimeValue * interestingDuration);
+
+
+
+/*
+ * CreateMovieFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CreateMovieFile(
+ const FSSpec * fileSpec,
+ OSType creator,
+ ScriptCode scriptTag,
+ long createMovieFileFlags,
+ short * resRefNum,
+ Movie * newmovie);
+
+
+/*
+ * OpenMovieFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+OpenMovieFile(
+ const FSSpec * fileSpec,
+ short * resRefNum,
+ SInt8 permission);
+
+
+/*
+ * CloseMovieFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CloseMovieFile(short resRefNum);
+
+
+/*
+ * DeleteMovieFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+DeleteMovieFile(const FSSpec * fileSpec);
+
+
+/*
+ * NewMovieFromFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewMovieFromFile(
+ Movie * theMovie,
+ short resRefNum,
+ short * resId, /* can be NULL */
+ StringPtr resName,
+ short newMovieFlags,
+ Boolean * dataRefWasChanged); /* can be NULL */
+
+
+/*
+ * NewMovieFromHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewMovieFromHandle(
+ Movie * theMovie,
+ Handle h,
+ short newMovieFlags,
+ Boolean * dataRefWasChanged);
+
+
+/*
+ * NewMovieFromDataFork()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewMovieFromDataFork(
+ Movie * theMovie,
+ short fRefNum,
+ long fileOffset,
+ short newMovieFlags,
+ Boolean * dataRefWasChanged);
+
+
+/*
+ * NewMovieFromDataFork64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+NewMovieFromDataFork64(
+ Movie * theMovie,
+ long fRefNum,
+ const wide * fileOffset,
+ short newMovieFlags,
+ Boolean * dataRefWasChanged);
+
+
+/*
+ * NewMovieFromUserProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewMovieFromUserProc(
+ Movie * m,
+ short flags,
+ Boolean * dataRefWasChanged,
+ GetMovieUPP getProc,
+ void * refCon,
+ Handle defaultDataRef,
+ OSType dataRefType);
+
+
+/*
+ * NewMovieFromDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewMovieFromDataRef(
+ Movie * m,
+ short flags,
+ short * id,
+ Handle dataRef,
+ OSType dataRefType);
+
+
+/*
+ * NewMovieFromStorageOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+NewMovieFromStorageOffset(
+ Movie * theMovie,
+ DataHandler dh,
+ const wide * fileOffset,
+ short newMovieFlags,
+ Boolean * dataRefWasChanged);
+
+
+/*
+ * NewMovieForDataRefFromHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+NewMovieForDataRefFromHandle(
+ Movie * theMovie,
+ Handle h,
+ short newMovieFlags,
+ Boolean * dataRefWasChanged,
+ Handle dataRef,
+ OSType dataRefType);
+
+
+/*
+ * AddMovieResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddMovieResource(
+ Movie theMovie,
+ short resRefNum,
+ short * resId,
+ ConstStr255Param resName);
+
+
+/*
+ * UpdateMovieResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+UpdateMovieResource(
+ Movie theMovie,
+ short resRefNum,
+ short resId,
+ ConstStr255Param resName);
+
+
+/*
+ * RemoveMovieResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveMovieResource(
+ short resRefNum,
+ short resId);
+
+
+/*
+ * CreateMovieStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+CreateMovieStorage(
+ Handle dataRef,
+ OSType dataRefType,
+ OSType creator,
+ ScriptCode scriptTag,
+ long createMovieFileFlags,
+ DataHandler * outDataHandler,
+ Movie * newmovie);
+
+
+/*
+ * OpenMovieStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+OpenMovieStorage(
+ Handle dataRef,
+ OSType dataRefType,
+ long flags,
+ DataHandler * outDataHandler);
+
+
+/*
+ * CloseMovieStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+CloseMovieStorage(DataHandler dh);
+
+
+/*
+ * DeleteMovieStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+DeleteMovieStorage(
+ Handle dataRef,
+ OSType dataRefType);
+
+
+/*
+ * AddMovieToStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+AddMovieToStorage(
+ Movie theMovie,
+ DataHandler dh);
+
+
+/*
+ * UpdateMovieInStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+UpdateMovieInStorage(
+ Movie theMovie,
+ DataHandler dh);
+
+
+/*
+ * HasMovieChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+HasMovieChanged(Movie theMovie);
+
+
+/*
+ * ClearMovieChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ClearMovieChanged(Movie theMovie);
+
+
+/*
+ * SetMovieDefaultDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMovieDefaultDataRef(
+ Movie theMovie,
+ Handle dataRef,
+ OSType dataRefType);
+
+
+/*
+ * GetMovieDefaultDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMovieDefaultDataRef(
+ Movie theMovie,
+ Handle * dataRef,
+ OSType * dataRefType);
+
+
+/*
+ * SetMovieAnchorDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+SetMovieAnchorDataRef(
+ Movie theMovie,
+ Handle dataRef,
+ OSType dataRefType);
+
+
+/*
+ * GetMovieAnchorDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+GetMovieAnchorDataRef(
+ Movie theMovie,
+ Handle * dataRef,
+ OSType * dataRefType,
+ long * outFlags);
+
+
+/*
+ * SetMovieColorTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMovieColorTable(
+ Movie theMovie,
+ CTabHandle ctab);
+
+
+/*
+ * GetMovieColorTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMovieColorTable(
+ Movie theMovie,
+ CTabHandle * ctab);
+
+
+/*
+ * FlattenMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+FlattenMovie(
+ Movie theMovie,
+ long movieFlattenFlags,
+ const FSSpec * theFile,
+ OSType creator,
+ ScriptCode scriptTag,
+ long createMovieFileFlags,
+ short * resId,
+ ConstStr255Param resName);
+
+
+/*
+ * FlattenMovieData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+FlattenMovieData(
+ Movie theMovie,
+ long movieFlattenFlags,
+ const FSSpec * theFile,
+ OSType creator,
+ ScriptCode scriptTag,
+ long createMovieFileFlags);
+
+
+/*
+ * FlattenMovieDataToDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( Movie )
+FlattenMovieDataToDataRef(
+ Movie theMovie,
+ long movieFlattenFlags,
+ Handle dataRef,
+ OSType dataRefType,
+ OSType creator,
+ ScriptCode scriptTag,
+ long createMovieFileFlags);
+
+
+/*
+ * SetMovieProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieProgressProc(
+ Movie theMovie,
+ MovieProgressUPP p,
+ long refcon);
+
+
+/*
+ * GetMovieProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( void )
+GetMovieProgressProc(
+ Movie theMovie,
+ MovieProgressUPP * p,
+ long * refcon);
+
+
+/*
+ * CreateShortcutMovieFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+CreateShortcutMovieFile(
+ const FSSpec * fileSpec,
+ OSType creator,
+ ScriptCode scriptTag,
+ long createMovieFileFlags,
+ Handle targetDataRef,
+ OSType targetDataRefType);
+
+
+/*
+ * MovieSearchText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+MovieSearchText(
+ Movie theMovie,
+ Ptr text,
+ long size,
+ long searchFlags,
+ Track * searchTrack,
+ TimeValue * searchTime,
+ long * searchOffset);
+
+
+/*
+ * GetPosterBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetPosterBox(
+ Movie theMovie,
+ Rect * boxRect);
+
+
+/*
+ * SetPosterBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetPosterBox(
+ Movie theMovie,
+ const Rect * boxRect);
+
+
+/*
+ * GetMovieSegmentDisplayBoundsRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetMovieSegmentDisplayBoundsRgn(
+ Movie theMovie,
+ TimeValue time,
+ TimeValue duration);
+
+
+/*
+ * GetTrackSegmentDisplayBoundsRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetTrackSegmentDisplayBoundsRgn(
+ Track theTrack,
+ TimeValue time,
+ TimeValue duration);
+
+
+/*
+ * SetMovieCoverProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieCoverProcs(
+ Movie theMovie,
+ MovieRgnCoverUPP uncoverProc,
+ MovieRgnCoverUPP coverProc,
+ long refcon);
+
+
+/*
+ * GetMovieCoverProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMovieCoverProcs(
+ Movie theMovie,
+ MovieRgnCoverUPP * uncoverProc,
+ MovieRgnCoverUPP * coverProc,
+ long * refcon);
+
+
+/*
+ * GetTrackStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GetTrackStatus(Track theTrack);
+
+
+/*
+ * GetMovieStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GetMovieStatus(
+ Movie theMovie,
+ Track * firstProblemTrack);
+
+
+enum {
+ kMovieLoadStateError = -1L,
+ kMovieLoadStateLoading = 1000,
+ kMovieLoadStateLoaded = 2000,
+ kMovieLoadStatePlayable = 10000,
+ kMovieLoadStatePlaythroughOK = 20000,
+ kMovieLoadStateComplete = 100000L
+};
+
+/*
+ * GetMovieLoadState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( long )
+GetMovieLoadState(Movie theMovie);
#if TARGET_OS_MAC
- /****
- Thread related Movie routines
- ****/
- /*
- * AttachMovieToCurrentThread()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- AttachMovieToCurrentThread(Movie m);
-
-
- /*
- * DetachMovieFromCurrentThread()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- DetachMovieFromCurrentThread(Movie m);
-
-
- /*
- * GetMovieThreadAttachState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- GetMovieThreadAttachState(
- Movie m,
- Boolean * outAttachedToCurrentThread,
- Boolean * outAttachedToAnyThread);
+/****
+ Thread related Movie routines
+****/
+/*
+ * AttachMovieToCurrentThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+AttachMovieToCurrentThread(Movie m);
+
+
+/*
+ * DetachMovieFromCurrentThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+DetachMovieFromCurrentThread(Movie m);
+
+
+/*
+ * GetMovieThreadAttachState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+GetMovieThreadAttachState(
+ Movie m,
+ Boolean * outAttachedToCurrentThread,
+ Boolean * outAttachedToAnyThread);
#endif /* TARGET_OS_MAC */
- /****
- CanQuickTimeOpenFile, etc.
- ****/
- /* Input flags for CanQuickTimeOpenFile/DataRef */
- enum
- {
- kQTDontUseDataToFindImporter = 1L << 0,
- kQTDontLookForMovieImporterIfGraphicsImporterFound = 1L << 1,
- kQTAllowOpeningStillImagesAsMovies = 1L << 2,
- kQTAllowImportersThatWouldCreateNewFile = 1L << 3,
- kQTAllowAggressiveImporters = 1L << 4 /* eg, TEXT and PICT movie importers*/
- };
-
- /* Determines whether the file could be opened using a graphics importer or opened in place as a movie. */
- /*
- * CanQuickTimeOpenFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- CanQuickTimeOpenFile(
- FSSpecPtr fileSpec,
- OSType fileType,
- OSType fileNameExtension,
- Boolean * outCanOpenWithGraphicsImporter,
- Boolean * outCanOpenAsMovie,
- Boolean * outPreferGraphicsImporter,
- UInt32 inFlags);
-
-
- /* Determines whether the file could be opened using a graphics importer or opened in place as a movie. */
- /*
- * CanQuickTimeOpenDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- CanQuickTimeOpenDataRef(
- Handle dataRef,
- OSType dataRefType,
- Boolean * outCanOpenWithGraphicsImporter,
- Boolean * outCanOpenAsMovie,
- Boolean * outPreferGraphicsImporter,
- UInt32 inFlags);
-
-
-
- /****
- Data Reference Utilities
- ****/
- enum
- {
- kQTNativeDefaultPathStyle = -1,
- kQTPOSIXPathStyle = 0,
- kQTHFSPathStyle = 1,
- kQTWindowsPathStyle = 2
- };
-
-
- typedef unsigned long QTPathStyle;
- /*
- * QTNewDataReferenceFromFSRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTNewDataReferenceFromFSRef(
- const FSRef * fileRef,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
- /*
- * QTNewDataReferenceFromFSRefCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTNewDataReferenceFromFSRefCFString(
- const FSRef * directoryRef,
- CFStringRef fileName,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
- /*
- * QTNewDataReferenceFromFSSpec()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTNewDataReferenceFromFSSpec(
- const FSSpec * fsspec,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
- /*
- * QTNewDataReferenceWithDirectoryCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTNewDataReferenceWithDirectoryCFString(
- Handle inDataRef,
- OSType inDataRefType,
- CFStringRef targetName,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
- /*
- * QTNewDataReferenceFromFullPathCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTNewDataReferenceFromFullPathCFString(
- CFStringRef filePath,
- QTPathStyle pathStyle,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
- /*
- * QTNewDataReferenceFromCFURL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTNewDataReferenceFromCFURL(
- CFURLRef url,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
- /*
- * QTNewDataReferenceFromURLCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTNewDataReferenceFromURLCFString(
- CFStringRef urlString,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
-
- /*
- * QTGetDataReferenceDirectoryDataReference()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTGetDataReferenceDirectoryDataReference(
- Handle dataRef,
- OSType dataRefType,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
- /*
- * QTGetDataReferenceTargetNameCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTGetDataReferenceTargetNameCFString(
- Handle dataRef,
- OSType dataRefType,
- CFStringRef * name);
-
-
- /*
- * QTGetDataReferenceFullPathCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTGetDataReferenceFullPathCFString(
- Handle dataRef,
- OSType dataRefType,
- QTPathStyle style,
- CFStringRef * outPath);
-
-
-
- /*
- * QTGetDataHandlerDirectoryDataReference()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTGetDataHandlerDirectoryDataReference(
- DataHandler dh,
- UInt32 flags,
- Handle * outDataRef,
- OSType * outDataRefType);
-
-
- /*
- * QTGetDataHandlerTargetNameCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTGetDataHandlerTargetNameCFString(
- DataHandler dh,
- CFStringRef * fileName);
-
-
- /*
- * QTGetDataHandlerFullPathCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTGetDataHandlerFullPathCFString(
- DataHandler dh,
- QTPathStyle style,
- CFStringRef * outPath);
-
-
-
-
- /****
- Movie Controller support routines
- ****/
- /*
- * NewMovieController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentInstance)
- NewMovieController(
- Movie theMovie,
- const Rect * movieRect,
- long someFlags);
-
-
- /*
- * DisposeMovieController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeMovieController(ComponentInstance mc);
-
-
- /*
- * ShowMovieInformation()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ShowMovieInformation(
- Movie theMovie,
- ModalFilterUPP filterProc,
- long refCon);
-
-
-
- /*****
- Scrap routines
- *****/
- /*
- * PutMovieOnScrap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- PutMovieOnScrap(
- Movie theMovie,
- long movieScrapFlags);
-
-
- /*
- * NewMovieFromScrap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- NewMovieFromScrap(long newMovieFlags);
-
-
-
- /*****
- DataRef routines
- *****/
-
- /*
- * GetMediaDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaDataRef(
- Media theMedia,
- short index,
- Handle * dataRef,
- OSType * dataRefType,
- long * dataRefAttributes);
-
-
- /*
- * SetMediaDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaDataRef(
- Media theMedia,
- short index,
- Handle dataRef,
- OSType dataRefType);
-
-
- /*
- * SetMediaDataRefAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaDataRefAttributes(
- Media theMedia,
- short index,
- long dataRefAttributes);
-
-
- /*
- * AddMediaDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddMediaDataRef(
- Media theMedia,
- short * index,
- Handle dataRef,
- OSType dataRefType);
-
-
- /*
- * GetMediaDataRefCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaDataRefCount(
- Media theMedia,
- short * count);
-
-
- /*
- * QTNewAlias()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTNewAlias(
- const FSSpec * fss,
- AliasHandle * alias,
- Boolean minimal);
-
-
- /*****
- Playback hint routines
- *****/
- /*
- * SetMoviePlayHints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMoviePlayHints(
- Movie theMovie,
- long flags,
- long flagsMask);
-
-
- /*
- * SetMediaPlayHints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMediaPlayHints(
- Media theMedia,
- long flags,
- long flagsMask);
-
-
- /*
- * GetMediaPlayHints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetMediaPlayHints(
- Media theMedia,
- long * flags);
-
-
- /*****
- Load time track hints
- *****/
- enum
- {
- preloadAlways = 1L << 0,
- preloadOnlyIfEnabled = 1L << 1
- };
-
- /*
- * SetTrackLoadSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackLoadSettings(
- Track theTrack,
- TimeValue preloadTime,
- TimeValue preloadDuration,
- long preloadFlags,
- long defaultHints);
-
-
- /*
- * GetTrackLoadSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- GetTrackLoadSettings(
- Track theTrack,
- TimeValue * preloadTime,
- TimeValue * preloadDuration,
- long * preloadFlags,
- long * defaultHints);
-
-
- /*****
- Big screen TV
- *****/
- enum
- {
- fullScreenHideCursor = 1L << 0,
- fullScreenAllowEvents = 1L << 1,
- fullScreenDontChangeMenuBar = 1L << 2,
- fullScreenPreflightSize = 1L << 3,
- fullScreenDontSwitchMonitorResolution = 1L << 4,
- fullScreenCaptureDisplay = 1 << 5L, /* capturedisplay is a mac os x specific parameter */
- fullScreenCaptureAllDisplays = 1 << 6L /* capturealldisplays is a mac os x specific parameter */
- };
-
- /*
- * BeginFullScreen()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- BeginFullScreen(
- Ptr * restoreState,
- GDHandle whichGD,
- short * desiredWidth,
- short * desiredHeight,
- WindowRef * newWindow,
- RGBColor * eraseColor,
- long flags);
-
-
- /*
- * EndFullScreen()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- EndFullScreen(
- Ptr fullState,
- long flags);
-
-
- /*****
- Wired Actions
- *****/
- /* flags for MovieExecuteWiredActions*/
- enum
- {
- movieExecuteWiredActionDontExecute = 1L << 0
- };
-
- /*
- * AddMovieExecuteWiredActionsProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- AddMovieExecuteWiredActionsProc(
- Movie theMovie,
- MovieExecuteWiredActionsUPP proc,
- void * refCon);
-
-
- /*
- * RemoveMovieExecuteWiredActionsProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- RemoveMovieExecuteWiredActionsProc(
- Movie theMovie,
- MovieExecuteWiredActionsUPP proc,
- void * refCon);
-
-
- /*
- * MovieExecuteWiredActions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- MovieExecuteWiredActions(
- Movie theMovie,
- long flags,
- QTAtomContainer actions);
-
-
- /*****
- Keyboard Navigation/Editable Text Field Support
- *****/
- /*
- Navigation Direction Constants
- for MediaNavigateTargetRefCon
- */
- enum
- {
- kRefConNavigationNext = 0,
- kRefConNavigationPrevious = 1
- };
-
- /*
- Refcon Properties
- for MediaRefConGetProerty/MediaRefConSetProperty
- */
- enum
- {
- kRefConPropertyCanHaveFocus = 1, /* Boolean */
- kRefConPropertyHasFocus = 2 /* Boolean */
- };
-
- /* media properties*/
- enum
- {
- kTrackFocusCanEditFlag = FOUR_CHAR_CODE('kedt'),
- kTrackDefaultFocusFlags = FOUR_CHAR_CODE('kfoc'),
- kTrackFocusDefaultRefcon = FOUR_CHAR_CODE('kref')
- };
-
- /* focus flags*/
- enum
- {
- kTrackFocusOn = 1,
- kTrackHandlesTabs = 2 /* this is reserved for a future release*/
- };
-
- /*****
- Flash track properties
- *****/
- enum
- {
- kFlashTrackPropertyAcceptAllClicks = FOUR_CHAR_CODE('clik') /* type of media property atom; data is a Boolean */
- };
-
- /*****
- Sprite Toolbox
- *****/
- enum
- {
- kBackgroundSpriteLayerNum = 32767
- };
-
-
- /* Sprite Properties*/
- enum
- {
- kSpritePropertyMatrix = 1,
- kSpritePropertyImageDescription = 2,
- kSpritePropertyImageDataPtr = 3,
- kSpritePropertyVisible = 4,
- kSpritePropertyLayer = 5,
- kSpritePropertyGraphicsMode = 6,
- kSpritePropertyImageDataSize = 7,
- kSpritePropertyActionHandlingSpriteID = 8,
- kSpritePropertyCanBeHitTested = 9,
- kSpritePropertyImageIndex = 100,
- kSpriteTrackPropertyBackgroundColor = 101,
- kSpriteTrackPropertyOffscreenBitDepth = 102,
- kSpriteTrackPropertySampleFormat = 103,
- kSpriteTrackPropertyScaleSpritesToScaleWorld = 104,
- kSpriteTrackPropertyHasActions = 105,
- kSpriteTrackPropertyVisible = 106,
- kSpriteTrackPropertyQTIdleEventsFrequency = 107,
- kSpriteTrackPropertyAllSpritesHitTestingMode = 108,
- kSpriteTrackPropertyPreferredDepthInterpretationMode = 109,
- kSpriteImagePropertyRegistrationPoint = 1000,
- kSpriteImagePropertyGroupID = 1001
- };
-
- /* values for kSpriteTrackPropertyPreferredDepthInterpretationMode*/
- enum
- {
- kSpriteTrackPreferredDepthCompatibilityMode = 0,
- kSpriteTrackPreferredDepthModernMode = 1
- };
-
- /* values for kSpriteTrackPropertyAllSpritesHitTestingMode*/
- enum
- {
- kSpriteHitTestUseSpritesOwnPropertiesMode = 0,
- kSpriteHitTestTreatAllSpritesAsHitTestableMode = 1,
- kSpriteHitTestTreatAllSpritesAsNotHitTestableMode = 2
- };
-
- /* special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)*/
- enum
- {
- kNoQTIdleEvents = -1
- };
-
- /* GetSpriteProperties for accessing invalid SpriteWorldRegion*/
- enum
- {
- kGetSpriteWorldInvalidRegionAndLeaveIntact = -1L,
- kGetSpriteWorldInvalidRegionAndThenSetEmpty = -2L
- };
-
- /* flagsIn for SpriteWorldIdle*/
- enum
- {
- kOnlyDrawToSpriteWorld = 1L << 0,
- kSpriteWorldPreflight = 1L << 1
- };
-
- /* flagsOut for SpriteWorldIdle*/
- enum
- {
- kSpriteWorldDidDraw = 1L << 0,
- kSpriteWorldNeedsToDraw = 1L << 1
- };
-
- /* flags for sprite track sample format*/
- enum
- {
- kKeyFrameAndSingleOverride = 1L << 1,
- kKeyFrameAndAllOverrides = 1L << 2
- };
-
- /* sprite world flags*/
- enum
- {
- kScaleSpritesToScaleWorld = 1L << 1,
- kSpriteWorldHighQuality = 1L << 2,
- kSpriteWorldDontAutoInvalidate = 1L << 3,
- kSpriteWorldInvisible = 1L << 4,
- kSpriteWorldDirtyInsteadOfFlush = 1L << 5
- };
-
- /*
- * NewSpriteWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewSpriteWorld(
- SpriteWorld * newSpriteWorld,
- GWorldPtr destination,
- GWorldPtr spriteLayer,
- RGBColor * backgroundColor,
- GWorldPtr background);
-
-
- /*
- * DisposeSpriteWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeSpriteWorld(SpriteWorld theSpriteWorld);
-
-
- /*
- * SetSpriteWorldClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetSpriteWorldClip(
- SpriteWorld theSpriteWorld,
- RgnHandle clipRgn);
-
-
- /*
- * SetSpriteWorldMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetSpriteWorldMatrix(
- SpriteWorld theSpriteWorld,
- const MatrixRecord * matrix);
-
-
- /*
- * SetSpriteWorldGraphicsMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetSpriteWorldGraphicsMode(
- SpriteWorld theSpriteWorld,
- long mode,
- const RGBColor * opColor);
-
-
- /*
- * SpriteWorldIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SpriteWorldIdle(
- SpriteWorld theSpriteWorld,
- long flagsIn,
- long * flagsOut);
-
-
- /*
- * InvalidateSpriteWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- InvalidateSpriteWorld(
- SpriteWorld theSpriteWorld,
- Rect * invalidArea);
-
-
- /*
- * SpriteWorldHitTest()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SpriteWorldHitTest(
- SpriteWorld theSpriteWorld,
- long flags,
- Point loc,
- Sprite * spriteHit);
-
-
- /*
- * SpriteHitTest()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SpriteHitTest(
- Sprite theSprite,
- long flags,
- Point loc,
- Boolean * wasHit);
-
-
- /*
- * DisposeAllSprites()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeAllSprites(SpriteWorld theSpriteWorld);
-
-
- /*
- * SetSpriteWorldFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetSpriteWorldFlags(
- SpriteWorld spriteWorld,
- long flags,
- long flagsMask);
-
-
- /*
- * NewSprite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NewSprite(
- Sprite * newSprite,
- SpriteWorld itsSpriteWorld,
- ImageDescriptionHandle idh,
- Ptr imageDataPtr,
- MatrixRecord * matrix,
- Boolean visible,
- short layer);
-
-
- /*
- * DisposeSprite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeSprite(Sprite theSprite);
-
-
- /*
- * InvalidateSprite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- InvalidateSprite(Sprite theSprite);
-
-
- /*
- * SetSpriteProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetSpriteProperty(
- Sprite theSprite,
- long propertyType,
- void * propertyValue);
-
-
- /*
- * GetSpriteProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetSpriteProperty(
- Sprite theSprite,
- long propertyType,
- void * propertyValue);
-
-
- /*****
- QT Atom Data Support
- *****/
- enum
- {
- kParentAtomIsContainer = 0
- };
-
- /* create and dispose QTAtomContainer objects*/
-
- /*
- * QTNewAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTNewAtomContainer(QTAtomContainer * atomData);
-
-
- /*
- * QTDisposeAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTDisposeAtomContainer(QTAtomContainer atomData);
-
-
- /* locating nested atoms within QTAtomContainer container*/
-
- /*
- * QTGetNextChildType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTAtomType)
- QTGetNextChildType(
- QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType currentChildType);
-
-
- /*
- * QTCountChildrenOfType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- QTCountChildrenOfType(
- QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType childType);
-
-
- /*
- * QTFindChildByIndex()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTAtom)
- QTFindChildByIndex(
- QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType atomType,
- short index,
- QTAtomID * id);
-
-
- /*
- * QTFindChildByID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTAtom)
- QTFindChildByID(
- QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType atomType,
- QTAtomID id,
- short * index);
-
-
- /*
- * QTNextChildAnyType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTNextChildAnyType(
- QTAtomContainer container,
- QTAtom parentAtom,
- QTAtom currentChild,
- QTAtom * nextChild);
-
-
- /* set a leaf atom's data*/
- /*
- * QTSetAtomData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTSetAtomData(
- QTAtomContainer container,
- QTAtom atom,
- long dataSize,
- void * atomData);
-
-
- /* extracting data*/
- /*
- * QTCopyAtomDataToHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTCopyAtomDataToHandle(
- QTAtomContainer container,
- QTAtom atom,
- Handle targetHandle);
-
-
- /*
- * QTCopyAtomDataToPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTCopyAtomDataToPtr(
- QTAtomContainer container,
- QTAtom atom,
- Boolean sizeOrLessOK,
- long size,
- void * targetPtr,
- long * actualSize);
-
-
- /*
- * QTGetAtomTypeAndID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTGetAtomTypeAndID(
- QTAtomContainer container,
- QTAtom atom,
- QTAtomType * atomType,
- QTAtomID * id);
-
-
- /* extract a copy of an atom and all of it's children, caller disposes*/
- /*
- * QTCopyAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTCopyAtom(
- QTAtomContainer container,
- QTAtom atom,
- QTAtomContainer * targetContainer);
-
-
- /* obtaining direct reference to atom data*/
- /*
- * QTLockContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTLockContainer(QTAtomContainer container);
-
-
- /*
- * QTGetAtomDataPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTGetAtomDataPtr(
- QTAtomContainer container,
- QTAtom atom,
- long * dataSize,
- Ptr * atomData);
-
-
- /*
- * QTUnlockContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTUnlockContainer(QTAtomContainer container);
-
-
- /*
- building QTAtomContainer trees
- creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
- used for Top-Down tree creation
- */
- /*
- * QTInsertChild()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTInsertChild(
- QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType atomType,
- QTAtomID id,
- short index,
- long dataSize,
- void * data,
- QTAtom * newAtom);
-
-
- /* inserts children from childrenContainer as children of parentAtom*/
- /*
- * QTInsertChildren()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTInsertChildren(
- QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomContainer childrenContainer);
-
-
- /* destruction*/
- /*
- * QTRemoveAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTRemoveAtom(
- QTAtomContainer container,
- QTAtom atom);
-
-
- /*
- * QTRemoveChildren()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTRemoveChildren(
- QTAtomContainer container,
- QTAtom atom);
-
-
- /* replacement must be same type as target*/
- /*
- * QTReplaceAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTReplaceAtom(
- QTAtomContainer targetContainer,
- QTAtom targetAtom,
- QTAtomContainer replacementContainer,
- QTAtom replacementAtom);
-
-
- /*
- * QTSwapAtoms()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTSwapAtoms(
- QTAtomContainer container,
- QTAtom atom1,
- QTAtom atom2);
-
-
- /*
- * QTSetAtomID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTSetAtomID(
- QTAtomContainer container,
- QTAtom atom,
- QTAtomID newID);
-
-
- /*
- * QTGetAtomParent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(QTAtom)
- QTGetAtomParent(
- QTAtomContainer container,
- QTAtom childAtom);
-
-
- /*
- * SetMediaPropertyAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetMediaPropertyAtom(
- Media theMedia,
- QTAtomContainer propertyAtom);
-
-
- /*
- * GetMediaPropertyAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMediaPropertyAtom(
- Media theMedia,
- QTAtomContainer * propertyAtom);
-
-
- /*****
- Tween Support
- *****/
- typedef struct TweenRecord TweenRecord;
- typedef CALLBACK_API(ComponentResult , TweenerDataProcPtr)(TweenRecord *tr, void *tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void *refCon);
- typedef STACK_UPP_TYPE(TweenerDataProcPtr) TweenerDataUPP;
- struct TweenRecord
- {
- long version;
-
- QTAtomContainer container;
- QTAtom tweenAtom;
- QTAtom dataAtom;
- Fixed percent;
-
- TweenerDataUPP dataProc;
-
- void * private1;
- void * private2;
- };
-
- struct TweenV1Record
- {
- long version;
-
- QTAtomContainer container;
- QTAtom tweenAtom;
- QTAtom dataAtom;
- Fixed percent;
-
- TweenerDataUPP dataProc;
-
- void * private1;
- void * private2;
-
- Fract fractPercent;
- };
- typedef struct TweenV1Record TweenV1Record;
- enum
- {
- kTweenRecordNoFlags = 0,
- kTweenRecordIsAtInterruptTime = 0x00000001
- };
-
- struct TweenV2Record
- {
- long version;
-
- QTAtomContainer container;
- QTAtom tweenAtom;
- QTAtom dataAtom;
- Fixed percent;
-
- TweenerDataUPP dataProc;
-
- void * private1;
- void * private2;
-
- Fract fractPercent;
-
- long flags;
- };
- typedef struct TweenV2Record TweenV2Record;
- /*
- * QTNewTween()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTNewTween(
- QTTweener * tween,
- QTAtomContainer container,
- QTAtom tweenAtom,
- TimeValue maxTime);
-
-
- /*
- * QTDisposeTween()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTDisposeTween(QTTweener tween);
-
-
- /*
- * QTDoTween()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTDoTween(
- QTTweener tween,
- TimeValue atTime,
- Handle result,
- long * resultSize,
- TweenerDataUPP tweenDataProc,
- void * tweenDataRefCon);
-
-
- /*
- QTDoTweenPtr is an interrupt-safe version of QTDoTween. It has the following limitations:
- - not all tween types support this call (those which must allocated memory), in which case they return codecUnimpErr.
- - the QTAtomContainer used for the tween must be locked
- - the dataSize must be large enough to contain the result
- - this call is not supported for sequence tweens, use interpolation tweens instead
- */
- /*
- * QTDoTweenPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTDoTweenPtr(
- QTTweener tween,
- TimeValue atTime,
- Ptr result,
- long resultSize);
-
-
-
- /*****
- Preferences
- *****/
- /*
- * GetQuickTimePreference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetQuickTimePreference(
- OSType preferenceType,
- QTAtomContainer * preferenceAtom);
-
-
- /*
- * SetQuickTimePreference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetQuickTimePreference(
- OSType preferenceType,
- QTAtomContainer preferenceAtom);
-
-
- /*****
- Effects and dialog Support
- *****/
- /* atom types for entries in the effects list*/
- enum
- {
- kEffectNameAtom = FOUR_CHAR_CODE('name'), /* name of effect */
- kEffectTypeAtom = FOUR_CHAR_CODE('type'), /* codec sub-type for effect */
- kEffectManufacturerAtom = FOUR_CHAR_CODE('manu') /* codec manufacturer for effect */
- };
-
- struct QTParamPreviewRecord
- {
- long sourceID; /* 1 based source identifier*/
- PicHandle sourcePicture; /* picture for preview, must not dispose until dialog is disposed*/
- };
- typedef struct QTParamPreviewRecord QTParamPreviewRecord;
- typedef QTParamPreviewRecord * QTParamPreviewPtr;
- struct QTParamDialogEventRecord
- {
- EventRecord * theEvent; /* Event received by the dialog */
- DialogRef whichDialog; /* dialog that event was directed towards */
- short itemHit; /* dialog item which was hit */
- };
- typedef struct QTParamDialogEventRecord QTParamDialogEventRecord;
- typedef QTParamDialogEventRecord * QTParamDialogEventPtr;
- struct QTParamFetchPreviewRecord
- {
- GWorldPtr theWorld; /* the world into which to draw the preview */
- Fixed percentage; /* frame percentage (from 0.0 - 1.0) to be drawn */
- };
- typedef struct QTParamFetchPreviewRecord QTParamFetchPreviewRecord;
- typedef QTParamFetchPreviewRecord * QTParamFetchPreviewPtr;
+/****
+ CanQuickTimeOpenFile, etc.
+****/
+/* Input flags for CanQuickTimeOpenFile/DataRef */
+enum {
+ kQTDontUseDataToFindImporter = 1L << 0,
+ kQTDontLookForMovieImporterIfGraphicsImporterFound = 1L << 1,
+ kQTAllowOpeningStillImagesAsMovies = 1L << 2,
+ kQTAllowImportersThatWouldCreateNewFile = 1L << 3,
+ kQTAllowAggressiveImporters = 1L << 4 /* eg, TEXT and PICT movie importers*/
+};
+
+/* Determines whether the file could be opened using a graphics importer or opened in place as a movie. */
+/*
+ * CanQuickTimeOpenFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+CanQuickTimeOpenFile(
+ FSSpecPtr fileSpec,
+ OSType fileType,
+ OSType fileNameExtension,
+ Boolean * outCanOpenWithGraphicsImporter,
+ Boolean * outCanOpenAsMovie,
+ Boolean * outPreferGraphicsImporter,
+ UInt32 inFlags);
+
+
+/* Determines whether the file could be opened using a graphics importer or opened in place as a movie. */
+/*
+ * CanQuickTimeOpenDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+CanQuickTimeOpenDataRef(
+ Handle dataRef,
+ OSType dataRefType,
+ Boolean * outCanOpenWithGraphicsImporter,
+ Boolean * outCanOpenAsMovie,
+ Boolean * outPreferGraphicsImporter,
+ UInt32 inFlags);
+
+
+
+/****
+ Data Reference Utilities
+****/
+enum {
+ kQTNativeDefaultPathStyle = -1,
+ kQTPOSIXPathStyle = 0,
+ kQTHFSPathStyle = 1,
+ kQTWindowsPathStyle = 2
+};
+
+
+typedef unsigned long QTPathStyle;
+/*
+ * QTNewDataReferenceFromFSRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTNewDataReferenceFromFSRef(
+ const FSRef * fileRef,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+/*
+ * QTNewDataReferenceFromFSRefCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTNewDataReferenceFromFSRefCFString(
+ const FSRef * directoryRef,
+ CFStringRef fileName,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+/*
+ * QTNewDataReferenceFromFSSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTNewDataReferenceFromFSSpec(
+ const FSSpec * fsspec,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+/*
+ * QTNewDataReferenceWithDirectoryCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTNewDataReferenceWithDirectoryCFString(
+ Handle inDataRef,
+ OSType inDataRefType,
+ CFStringRef targetName,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+/*
+ * QTNewDataReferenceFromFullPathCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTNewDataReferenceFromFullPathCFString(
+ CFStringRef filePath,
+ QTPathStyle pathStyle,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+/*
+ * QTNewDataReferenceFromCFURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTNewDataReferenceFromCFURL(
+ CFURLRef url,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+/*
+ * QTNewDataReferenceFromURLCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTNewDataReferenceFromURLCFString(
+ CFStringRef urlString,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+
+/*
+ * QTGetDataReferenceDirectoryDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTGetDataReferenceDirectoryDataReference(
+ Handle dataRef,
+ OSType dataRefType,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+/*
+ * QTGetDataReferenceTargetNameCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTGetDataReferenceTargetNameCFString(
+ Handle dataRef,
+ OSType dataRefType,
+ CFStringRef * name);
+
+
+/*
+ * QTGetDataReferenceFullPathCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTGetDataReferenceFullPathCFString(
+ Handle dataRef,
+ OSType dataRefType,
+ QTPathStyle style,
+ CFStringRef * outPath);
+
+
+
+/*
+ * QTGetDataHandlerDirectoryDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTGetDataHandlerDirectoryDataReference(
+ DataHandler dh,
+ UInt32 flags,
+ Handle * outDataRef,
+ OSType * outDataRefType);
+
+
+/*
+ * QTGetDataHandlerTargetNameCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTGetDataHandlerTargetNameCFString(
+ DataHandler dh,
+ CFStringRef * fileName);
+
+
+/*
+ * QTGetDataHandlerFullPathCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTGetDataHandlerFullPathCFString(
+ DataHandler dh,
+ QTPathStyle style,
+ CFStringRef * outPath);
+
+
+
+
+/****
+ Movie Controller support routines
+****/
+/*
+ * NewMovieController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentInstance )
+NewMovieController(
+ Movie theMovie,
+ const Rect * movieRect,
+ long someFlags);
+
+
+/*
+ * DisposeMovieController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeMovieController(ComponentInstance mc);
+
+
+/*
+ * ShowMovieInformation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ShowMovieInformation(
+ Movie theMovie,
+ ModalFilterUPP filterProc,
+ long refCon);
+
+
+
+/*****
+ Scrap routines
+*****/
+/*
+ * PutMovieOnScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+PutMovieOnScrap(
+ Movie theMovie,
+ long movieScrapFlags);
+
+
+/*
+ * NewMovieFromScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+NewMovieFromScrap(long newMovieFlags);
+
+
+
+/*****
+ DataRef routines
+*****/
+
+/*
+ * GetMediaDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaDataRef(
+ Media theMedia,
+ short index,
+ Handle * dataRef,
+ OSType * dataRefType,
+ long * dataRefAttributes);
+
+
+/*
+ * SetMediaDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaDataRef(
+ Media theMedia,
+ short index,
+ Handle dataRef,
+ OSType dataRefType);
+
+
+/*
+ * SetMediaDataRefAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaDataRefAttributes(
+ Media theMedia,
+ short index,
+ long dataRefAttributes);
+
+
+/*
+ * AddMediaDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddMediaDataRef(
+ Media theMedia,
+ short * index,
+ Handle dataRef,
+ OSType dataRefType);
+
+
+/*
+ * GetMediaDataRefCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaDataRefCount(
+ Media theMedia,
+ short * count);
+
+
+/*
+ * QTNewAlias()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTNewAlias(
+ const FSSpec * fss,
+ AliasHandle * alias,
+ Boolean minimal);
+
+
+/*****
+ Playback hint routines
+*****/
+/*
+ * SetMoviePlayHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMoviePlayHints(
+ Movie theMovie,
+ long flags,
+ long flagsMask);
+
+
+/*
+ * SetMediaPlayHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMediaPlayHints(
+ Media theMedia,
+ long flags,
+ long flagsMask);
+
+
+/*
+ * GetMediaPlayHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetMediaPlayHints(
+ Media theMedia,
+ long * flags);
+
+
+/*****
+ Load time track hints
+*****/
+enum {
+ preloadAlways = 1L << 0,
+ preloadOnlyIfEnabled = 1L << 1
+};
+
+/*
+ * SetTrackLoadSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackLoadSettings(
+ Track theTrack,
+ TimeValue preloadTime,
+ TimeValue preloadDuration,
+ long preloadFlags,
+ long defaultHints);
+
+
+/*
+ * GetTrackLoadSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+GetTrackLoadSettings(
+ Track theTrack,
+ TimeValue * preloadTime,
+ TimeValue * preloadDuration,
+ long * preloadFlags,
+ long * defaultHints);
+
+
+/*****
+ Big screen TV
+*****/
+enum {
+ fullScreenHideCursor = 1L << 0,
+ fullScreenAllowEvents = 1L << 1,
+ fullScreenDontChangeMenuBar = 1L << 2,
+ fullScreenPreflightSize = 1L << 3,
+ fullScreenDontSwitchMonitorResolution = 1L << 4,
+ fullScreenCaptureDisplay = 1 << 5L, /* capturedisplay is a mac os x specific parameter */
+ fullScreenCaptureAllDisplays = 1 << 6L /* capturealldisplays is a mac os x specific parameter */
+};
+
+/*
+ * BeginFullScreen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+BeginFullScreen(
+ Ptr * restoreState,
+ GDHandle whichGD,
+ short * desiredWidth,
+ short * desiredHeight,
+ WindowRef * newWindow,
+ RGBColor * eraseColor,
+ long flags);
+
+
+/*
+ * EndFullScreen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+EndFullScreen(
+ Ptr fullState,
+ long flags);
+
+
+/*****
+ Wired Actions
+*****/
+/* flags for MovieExecuteWiredActions*/
+enum {
+ movieExecuteWiredActionDontExecute = 1L << 0
+};
+
+/*
+ * AddMovieExecuteWiredActionsProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+AddMovieExecuteWiredActionsProc(
+ Movie theMovie,
+ MovieExecuteWiredActionsUPP proc,
+ void * refCon);
+
+
+/*
+ * RemoveMovieExecuteWiredActionsProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveMovieExecuteWiredActionsProc(
+ Movie theMovie,
+ MovieExecuteWiredActionsUPP proc,
+ void * refCon);
+
+
+/*
+ * MovieExecuteWiredActions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+MovieExecuteWiredActions(
+ Movie theMovie,
+ long flags,
+ QTAtomContainer actions);
+
+
+/*****
+ Keyboard Navigation/Editable Text Field Support
+*****/
+/*
+ Navigation Direction Constants
+ for MediaNavigateTargetRefCon
+*/
+enum {
+ kRefConNavigationNext = 0,
+ kRefConNavigationPrevious = 1
+};
+
+/*
+ Refcon Properties
+ for MediaRefConGetProerty/MediaRefConSetProperty
+*/
+enum {
+ kRefConPropertyCanHaveFocus = 1, /* Boolean */
+ kRefConPropertyHasFocus = 2 /* Boolean */
+};
+
+/* media properties*/
+enum {
+ kTrackFocusCanEditFlag = FOUR_CHAR_CODE('kedt'),
+ kTrackDefaultFocusFlags = FOUR_CHAR_CODE('kfoc'),
+ kTrackFocusDefaultRefcon = FOUR_CHAR_CODE('kref')
+};
+
+/* focus flags*/
+enum {
+ kTrackFocusOn = 1,
+ kTrackHandlesTabs = 2 /* this is reserved for a future release*/
+};
+
+/*****
+ Flash track properties
+*****/
+enum {
+ kFlashTrackPropertyAcceptAllClicks = FOUR_CHAR_CODE('clik') /* type of media property atom; data is a Boolean */
+};
+
+/*****
+ Sprite Toolbox
+*****/
+enum {
+ kBackgroundSpriteLayerNum = 32767
+};
+
+
+/* Sprite Properties*/
+enum {
+ kSpritePropertyMatrix = 1,
+ kSpritePropertyImageDescription = 2,
+ kSpritePropertyImageDataPtr = 3,
+ kSpritePropertyVisible = 4,
+ kSpritePropertyLayer = 5,
+ kSpritePropertyGraphicsMode = 6,
+ kSpritePropertyImageDataSize = 7,
+ kSpritePropertyActionHandlingSpriteID = 8,
+ kSpritePropertyCanBeHitTested = 9,
+ kSpritePropertyImageIndex = 100,
+ kSpriteTrackPropertyBackgroundColor = 101,
+ kSpriteTrackPropertyOffscreenBitDepth = 102,
+ kSpriteTrackPropertySampleFormat = 103,
+ kSpriteTrackPropertyScaleSpritesToScaleWorld = 104,
+ kSpriteTrackPropertyHasActions = 105,
+ kSpriteTrackPropertyVisible = 106,
+ kSpriteTrackPropertyQTIdleEventsFrequency = 107,
+ kSpriteTrackPropertyAllSpritesHitTestingMode = 108,
+ kSpriteTrackPropertyPreferredDepthInterpretationMode = 109,
+ kSpriteImagePropertyRegistrationPoint = 1000,
+ kSpriteImagePropertyGroupID = 1001
+};
+
+/* values for kSpriteTrackPropertyPreferredDepthInterpretationMode*/
+enum {
+ kSpriteTrackPreferredDepthCompatibilityMode = 0,
+ kSpriteTrackPreferredDepthModernMode = 1
+};
+
+/* values for kSpriteTrackPropertyAllSpritesHitTestingMode*/
+enum {
+ kSpriteHitTestUseSpritesOwnPropertiesMode = 0,
+ kSpriteHitTestTreatAllSpritesAsHitTestableMode = 1,
+ kSpriteHitTestTreatAllSpritesAsNotHitTestableMode = 2
+};
+
+/* special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)*/
+enum {
+ kNoQTIdleEvents = -1
+};
+
+/* GetSpriteProperties for accessing invalid SpriteWorldRegion*/
+enum {
+ kGetSpriteWorldInvalidRegionAndLeaveIntact = -1L,
+ kGetSpriteWorldInvalidRegionAndThenSetEmpty = -2L
+};
+
+/* flagsIn for SpriteWorldIdle*/
+enum {
+ kOnlyDrawToSpriteWorld = 1L << 0,
+ kSpriteWorldPreflight = 1L << 1
+};
+
+/* flagsOut for SpriteWorldIdle*/
+enum {
+ kSpriteWorldDidDraw = 1L << 0,
+ kSpriteWorldNeedsToDraw = 1L << 1
+};
+
+/* flags for sprite track sample format*/
+enum {
+ kKeyFrameAndSingleOverride = 1L << 1,
+ kKeyFrameAndAllOverrides = 1L << 2
+};
+
+/* sprite world flags*/
+enum {
+ kScaleSpritesToScaleWorld = 1L << 1,
+ kSpriteWorldHighQuality = 1L << 2,
+ kSpriteWorldDontAutoInvalidate = 1L << 3,
+ kSpriteWorldInvisible = 1L << 4,
+ kSpriteWorldDirtyInsteadOfFlush = 1L << 5
+};
+
+/*
+ * NewSpriteWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewSpriteWorld(
+ SpriteWorld * newSpriteWorld,
+ GWorldPtr destination,
+ GWorldPtr spriteLayer,
+ RGBColor * backgroundColor,
+ GWorldPtr background);
+
+
+/*
+ * DisposeSpriteWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeSpriteWorld(SpriteWorld theSpriteWorld);
+
+
+/*
+ * SetSpriteWorldClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetSpriteWorldClip(
+ SpriteWorld theSpriteWorld,
+ RgnHandle clipRgn);
+
+
+/*
+ * SetSpriteWorldMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetSpriteWorldMatrix(
+ SpriteWorld theSpriteWorld,
+ const MatrixRecord * matrix);
+
+
+/*
+ * SetSpriteWorldGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetSpriteWorldGraphicsMode(
+ SpriteWorld theSpriteWorld,
+ long mode,
+ const RGBColor * opColor);
+
+
+/*
+ * SpriteWorldIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SpriteWorldIdle(
+ SpriteWorld theSpriteWorld,
+ long flagsIn,
+ long * flagsOut);
+
+
+/*
+ * InvalidateSpriteWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+InvalidateSpriteWorld(
+ SpriteWorld theSpriteWorld,
+ Rect * invalidArea);
+
+
+/*
+ * SpriteWorldHitTest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SpriteWorldHitTest(
+ SpriteWorld theSpriteWorld,
+ long flags,
+ Point loc,
+ Sprite * spriteHit);
+
+
+/*
+ * SpriteHitTest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SpriteHitTest(
+ Sprite theSprite,
+ long flags,
+ Point loc,
+ Boolean * wasHit);
+
+
+/*
+ * DisposeAllSprites()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeAllSprites(SpriteWorld theSpriteWorld);
+
+
+/*
+ * SetSpriteWorldFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetSpriteWorldFlags(
+ SpriteWorld spriteWorld,
+ long flags,
+ long flagsMask);
+
+
+/*
+ * NewSprite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NewSprite(
+ Sprite * newSprite,
+ SpriteWorld itsSpriteWorld,
+ ImageDescriptionHandle idh,
+ Ptr imageDataPtr,
+ MatrixRecord * matrix,
+ Boolean visible,
+ short layer);
+
+
+/*
+ * DisposeSprite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeSprite(Sprite theSprite);
+
+
+/*
+ * InvalidateSprite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+InvalidateSprite(Sprite theSprite);
+
+
+/*
+ * SetSpriteProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetSpriteProperty(
+ Sprite theSprite,
+ long propertyType,
+ void * propertyValue);
+
+
+/*
+ * GetSpriteProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetSpriteProperty(
+ Sprite theSprite,
+ long propertyType,
+ void * propertyValue);
+
+
+/*****
+ QT Atom Data Support
+*****/
+enum {
+ kParentAtomIsContainer = 0
+};
+
+/* create and dispose QTAtomContainer objects*/
+
+/*
+ * QTNewAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTNewAtomContainer(QTAtomContainer * atomData);
+
+
+/*
+ * QTDisposeAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTDisposeAtomContainer(QTAtomContainer atomData);
+
+
+/* locating nested atoms within QTAtomContainer container*/
+
+/*
+ * QTGetNextChildType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTAtomType )
+QTGetNextChildType(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ QTAtomType currentChildType);
+
+
+/*
+ * QTCountChildrenOfType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+QTCountChildrenOfType(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ QTAtomType childType);
+
+
+/*
+ * QTFindChildByIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTAtom )
+QTFindChildByIndex(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ QTAtomType atomType,
+ short index,
+ QTAtomID * id);
+
+
+/*
+ * QTFindChildByID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTAtom )
+QTFindChildByID(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ QTAtomType atomType,
+ QTAtomID id,
+ short * index);
+
+
+/*
+ * QTNextChildAnyType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTNextChildAnyType(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ QTAtom currentChild,
+ QTAtom * nextChild);
+
+
+/* set a leaf atom's data*/
+/*
+ * QTSetAtomData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetAtomData(
+ QTAtomContainer container,
+ QTAtom atom,
+ long dataSize,
+ void * atomData);
+
+
+/* extracting data*/
+/*
+ * QTCopyAtomDataToHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTCopyAtomDataToHandle(
+ QTAtomContainer container,
+ QTAtom atom,
+ Handle targetHandle);
+
+
+/*
+ * QTCopyAtomDataToPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTCopyAtomDataToPtr(
+ QTAtomContainer container,
+ QTAtom atom,
+ Boolean sizeOrLessOK,
+ long size,
+ void * targetPtr,
+ long * actualSize);
+
+
+/*
+ * QTGetAtomTypeAndID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetAtomTypeAndID(
+ QTAtomContainer container,
+ QTAtom atom,
+ QTAtomType * atomType,
+ QTAtomID * id);
+
+
+/* extract a copy of an atom and all of it's children, caller disposes*/
+/*
+ * QTCopyAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTCopyAtom(
+ QTAtomContainer container,
+ QTAtom atom,
+ QTAtomContainer * targetContainer);
+
+
+/* obtaining direct reference to atom data*/
+/*
+ * QTLockContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTLockContainer(QTAtomContainer container);
+
+
+/*
+ * QTGetAtomDataPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetAtomDataPtr(
+ QTAtomContainer container,
+ QTAtom atom,
+ long * dataSize,
+ Ptr * atomData);
+
+
+/*
+ * QTUnlockContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTUnlockContainer(QTAtomContainer container);
+
+
+/*
+ building QTAtomContainer trees
+ creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
+ used for Top-Down tree creation
+*/
+/*
+ * QTInsertChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTInsertChild(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ QTAtomType atomType,
+ QTAtomID id,
+ short index,
+ long dataSize,
+ void * data,
+ QTAtom * newAtom);
+
+
+/* inserts children from childrenContainer as children of parentAtom*/
+/*
+ * QTInsertChildren()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTInsertChildren(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ QTAtomContainer childrenContainer);
+
+
+/* destruction*/
+/*
+ * QTRemoveAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTRemoveAtom(
+ QTAtomContainer container,
+ QTAtom atom);
+
+
+/*
+ * QTRemoveChildren()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTRemoveChildren(
+ QTAtomContainer container,
+ QTAtom atom);
+
+
+/* replacement must be same type as target*/
+/*
+ * QTReplaceAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTReplaceAtom(
+ QTAtomContainer targetContainer,
+ QTAtom targetAtom,
+ QTAtomContainer replacementContainer,
+ QTAtom replacementAtom);
+
+
+/*
+ * QTSwapAtoms()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTSwapAtoms(
+ QTAtomContainer container,
+ QTAtom atom1,
+ QTAtom atom2);
+
+
+/*
+ * QTSetAtomID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetAtomID(
+ QTAtomContainer container,
+ QTAtom atom,
+ QTAtomID newID);
+
+
+/*
+ * QTGetAtomParent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( QTAtom )
+QTGetAtomParent(
+ QTAtomContainer container,
+ QTAtom childAtom);
+
+
+/*
+ * SetMediaPropertyAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetMediaPropertyAtom(
+ Media theMedia,
+ QTAtomContainer propertyAtom);
+
+
+/*
+ * GetMediaPropertyAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMediaPropertyAtom(
+ Media theMedia,
+ QTAtomContainer * propertyAtom);
+
+
+/*****
+ Tween Support
+*****/
+typedef struct TweenRecord TweenRecord;
+typedef CALLBACK_API( ComponentResult , TweenerDataProcPtr )(TweenRecord *tr, void *tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void *refCon);
+typedef STACK_UPP_TYPE(TweenerDataProcPtr) TweenerDataUPP;
+struct TweenRecord {
+ long version;
+
+ QTAtomContainer container;
+ QTAtom tweenAtom;
+ QTAtom dataAtom;
+ Fixed percent;
+
+ TweenerDataUPP dataProc;
+
+ void * private1;
+ void * private2;
+};
+
+struct TweenV1Record {
+ long version;
+
+ QTAtomContainer container;
+ QTAtom tweenAtom;
+ QTAtom dataAtom;
+ Fixed percent;
+
+ TweenerDataUPP dataProc;
+
+ void * private1;
+ void * private2;
+
+ Fract fractPercent;
+};
+typedef struct TweenV1Record TweenV1Record;
+enum {
+ kTweenRecordNoFlags = 0,
+ kTweenRecordIsAtInterruptTime = 0x00000001
+};
+
+struct TweenV2Record {
+ long version;
+
+ QTAtomContainer container;
+ QTAtom tweenAtom;
+ QTAtom dataAtom;
+ Fixed percent;
+
+ TweenerDataUPP dataProc;
+
+ void * private1;
+ void * private2;
+
+ Fract fractPercent;
+
+ long flags;
+};
+typedef struct TweenV2Record TweenV2Record;
+/*
+ * QTNewTween()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTNewTween(
+ QTTweener * tween,
+ QTAtomContainer container,
+ QTAtom tweenAtom,
+ TimeValue maxTime);
+
+
+/*
+ * QTDisposeTween()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTDisposeTween(QTTweener tween);
+
+
+/*
+ * QTDoTween()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTDoTween(
+ QTTweener tween,
+ TimeValue atTime,
+ Handle result,
+ long * resultSize,
+ TweenerDataUPP tweenDataProc,
+ void * tweenDataRefCon);
+
+
+/*
+ QTDoTweenPtr is an interrupt-safe version of QTDoTween. It has the following limitations:
+ - not all tween types support this call (those which must allocated memory), in which case they return codecUnimpErr.
+ - the QTAtomContainer used for the tween must be locked
+ - the dataSize must be large enough to contain the result
+ - this call is not supported for sequence tweens, use interpolation tweens instead
+*/
+/*
+ * QTDoTweenPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTDoTweenPtr(
+ QTTweener tween,
+ TimeValue atTime,
+ Ptr result,
+ long resultSize);
+
+
+
+/*****
+ Preferences
+*****/
+/*
+ * GetQuickTimePreference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetQuickTimePreference(
+ OSType preferenceType,
+ QTAtomContainer * preferenceAtom);
+
+
+/*
+ * SetQuickTimePreference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetQuickTimePreference(
+ OSType preferenceType,
+ QTAtomContainer preferenceAtom);
+
+
+/*****
+ Effects and dialog Support
+*****/
+/* atom types for entries in the effects list*/
+enum {
+ kEffectNameAtom = FOUR_CHAR_CODE('name'), /* name of effect */
+ kEffectTypeAtom = FOUR_CHAR_CODE('type'), /* codec sub-type for effect */
+ kEffectManufacturerAtom = FOUR_CHAR_CODE('manu') /* codec manufacturer for effect */
+};
+
+struct QTParamPreviewRecord {
+ long sourceID; /* 1 based source identifier*/
+ PicHandle sourcePicture; /* picture for preview, must not dispose until dialog is disposed*/
+};
+typedef struct QTParamPreviewRecord QTParamPreviewRecord;
+typedef QTParamPreviewRecord * QTParamPreviewPtr;
+struct QTParamDialogEventRecord {
+ EventRecord * theEvent; /* Event received by the dialog */
+ DialogRef whichDialog; /* dialog that event was directed towards */
+ short itemHit; /* dialog item which was hit */
+};
+typedef struct QTParamDialogEventRecord QTParamDialogEventRecord;
+typedef QTParamDialogEventRecord * QTParamDialogEventPtr;
+struct QTParamFetchPreviewRecord {
+ GWorldPtr theWorld; /* the world into which to draw the preview */
+ Fixed percentage; /* frame percentage (from 0.0 - 1.0) to be drawn */
+};
+typedef struct QTParamFetchPreviewRecord QTParamFetchPreviewRecord;
+typedef QTParamFetchPreviewRecord * QTParamFetchPreviewPtr;
#if TARGET_API_MAC_CARBON
- /* Only available on OS X */
- enum
- {
- kEffectParentWindowCarbon = 'carb'
- };
- struct QTEventLoopDescriptionRecord
- {
- long recordSize; /* must be == sizeof(QTEventLoopDescriptionRecord) */
- long windowRefKind; /* kind of window reference */
- void * parentWindow; /* parent window (for sheets) or NIL to use Carbon FrontWindow() */
- void * eventTarget; /* EventTargetRef to receive kHICommandOK and kHICommandCancel */
- };
-
- typedef struct QTEventLoopDescriptionRecord QTEventLoopDescriptionRecord, *QTEventLoopDescriptionPtr;
+/* Only available on OS X */
+enum {
+ kEffectParentWindowCarbon = 'carb'
+};
+struct QTEventLoopDescriptionRecord
+ {
+ long recordSize; /* must be == sizeof(QTEventLoopDescriptionRecord) */
+ long windowRefKind; /* kind of window reference */
+ void * parentWindow; /* parent window (for sheets) or NIL to use Carbon FrontWindow() */
+ void * eventTarget; /* EventTargetRef to receive kHICommandOK and kHICommandCancel */
+};
+
+typedef struct QTEventLoopDescriptionRecord QTEventLoopDescriptionRecord, *QTEventLoopDescriptionPtr;
#endif
- enum
- {
- pdActionConfirmDialog = 1, /* no param*/
- pdActionSetAppleMenu = 2, /* param is MenuRef*/
- pdActionSetEditMenu = 3, /* param is MenuRef*/
- pdActionGetDialogValues = 4, /* param is QTAtomContainer*/
- pdActionSetPreviewUserItem = 5, /* param is long*/
- pdActionSetPreviewPicture = 6, /* param is QTParamPreviewPtr;*/
- pdActionSetColorPickerEventProc = 7, /* param is UserEventUPP*/
- pdActionSetDialogTitle = 8, /* param is StringPtr */
- pdActionGetSubPanelMenu = 9, /* param is MenuRef* */
- pdActionActivateSubPanel = 10, /* param is long */
- pdActionConductStopAlert = 11, /* param is StringPtr */
- pdActionModelessCallback = 12, /* param is QTParamDialogEventPtr */
- pdActionFetchPreview = 13, /* param is QTParamFetchPreviewPtr */
- pdActionSetDialogSettings = 14, /* param is QTAtomContainer */
- pdActionGetDialogSettings = 15, /* param is QTAtomContainer */
- pdActionGetNextSample = 16, /* param is QTAtomContainer with effect sample to change - createdDialog may be NIL */
- pdActionGetPreviousSample = 17, /* param is QTAtomContainer with effect sample to change - createdDialog may be NIL */
- pdActionCompactSample = 18, /* param is QTAtomContainer with effect sample to compact, - createdDialog may be NIL */
- pdActionSetEditCallout = 19, /* param is QTParamPreviewCalloutPtr, can be NIL */
- pdActionSetSampleTime = 20, /* param is QTParamSampleTimePtr, can be NIL */
- pdActionDoEditCommand = 21, /* param is long with menu command (ie, mcMenuCut etc) */
- pdActionGetSubPanelMenuValue = 22, /* param is long and returns current sub-panel value selected by the effect */
- /* Action codes and typedefs used for custom controls within effects */
- pdActionCustomNewControl = 23, /* param is QTCustomControlNewPtr */
- pdActionCustomDisposeControl = 24, /* param is QTCustomControlNewPtr */
- pdActionCustomPositionControl = 25, /* param is QTCustomControlPositionControlPtr */
- pdActionCustomShowHideControl = 26, /* param is QTCustomControlShowHideControlPtr */
- pdActionCustomHandleEvent = 27, /* param is QTCustomControlHandleEventPtr */
- pdActionCustomSetFocus = 28, /* param is QTCustomControlSetFocusPtr */
- pdActionCustomSetEditMenu = 29, /* param is QTCustomControlSetEditMenuPtr */
- pdActionCustomSetPreviewPicture = 30, /* param is QTCustomControlSetPreviewPicturePtr */
- pdActionCustomSetEditCallout = 31, /* param is QTCustomControlSetEditCalloutPtr */
- pdActionCustomGetEnableValue = 32, /* param is QTCustomControlGetEnableValuePtr */
- pdActionCustomSetSampleTime = 33, /* param is QTCustomControlSetSampleTimePtr */
- pdActionCustomGetValue = 34, /* param is QTCustomControlGetValue */
- pdActionCustomDoEditCommand = 35, /* param is QTCustomControlDoEditCommand */
- /* more actions for the dialog */
- pdActionRunInEventLoop = 36, /* param is QTEventLoopDescriptionPtr - OS X only*/
- pdActionConvertSettingsToXML = 37, /* param is QTAtomContainer* inbound, Handle* outbound contains the XML - createdDialog may be NIL */
- pdActionConvertSettingsToXMLWithComments = 38, /* param is QTAtomContainer* inbound, Handle* outbound contains the XML with comments - createdDialog may be NIL */
- pdActionConvertSettingsToText = 39, /* param is QTAtomContainer* inbound, Handle* outbound contains human readable text - createdDialog may be NIL */
- pdActionConvertXMLToSettings = 40, /* param is Handle* inbound, QTAtomContainer* outbound contains parameters - createdDialog may be NIL */
- pdActionSetPropertyComponent = 41 /* param is QTParamComponentPropertyPtr */
- };
-
- /* Sample Time information */
- enum
- {
- pdSampleTimeDisplayOptionsNone = 0x00000000
- };
-
- struct QTParamComponentPropertyRecord
- {
- ComponentInstance component; /* component to call for get/set properties*/
- OSType defaultClass; /* default property class if not overriden by a given parameter*/
- };
- typedef struct QTParamComponentPropertyRecord QTParamComponentPropertyRecord;
- typedef QTParamComponentPropertyRecord * QTParamComponentPropertyPtr;
- struct QTParamSampleTimeRecord
- {
- long displayOptions;
- TimeRecord sampleStartTime;
- TimeValue sampleDuration;
- long framesPerSecond; /* if 0, will cause revert to seconds display*/
- };
- typedef struct QTParamSampleTimeRecord QTParamSampleTimeRecord;
- typedef QTParamSampleTimeRecord * QTParamSampleTimePtr;
- /* Preview change callout information */
- struct QTParamPreviewCalloutRecord
- {
- MoviePreviewCallOutUPP calloutProc; /* called when user makes editing changes to dialog. May be NIL. You should return true from your function. */
- long refCon; /* passed to the callout procedure */
- };
- typedef struct QTParamPreviewCalloutRecord QTParamPreviewCalloutRecord;
- typedef QTParamPreviewCalloutRecord * QTParamPreviewCalloutPtr;
- enum
- {
- pdOptionsCollectOneValue = 0x00000001, /* should collect a single value only*/
- pdOptionsAllowOptionalInterpolations = 0x00000002, /* non-novice interpolation options are shown */
- pdOptionsModalDialogBox = 0x00000004, /* dialog box should be modal */
- pdOptionsEditCurrentEffectOnly = 0x00000008, /* List of effects will not be shown */
- pdOptionsHidePreview = 0x00000010, /* Preview item will not be shown */
- pdOptionsDisplayAsSheet = 0x00000020 /* Dialog will be used as a sheet (on platforms that support it) */
- };
-
- typedef long QTParameterDialogOptions;
- /* ------- CUSTOM EFFECT CONTROLS*/
- /*
- Effects may choose to implement custom controls to allow the user to more easily edit complex parameters
- that are ill-served by simple sliders or type in boxes. Effects may allow a custom control for either
- a single parameter, or for a group of parameters.
-
- Parameter(s) for a custom control must still be data types defined by the standard set, or for
- complex records of data, must be defined within a group as individual parameters made up from base
- data types (for example, a point is a group containing two Fixed point numbers).
- This is to allow applications that do not wish to use the custom control for the effect to set values themselves.
-
- Effects should be aware that these custom controls may be deployed by the application in either a dialog or
- a window, with application defined background colors or patterns, along with application defined font
- characteristics for the window.
-
- It is recommended that effects implement custom controls only when needed, and that custom controls be used
- for specific types of parameters (ie, point, rectangle, polygon, path) rather than the entire user interface
- for the effect. Effects may choose to implement multiple custom controls which combine with standard controls
- to present the total user interface. For effects which have very complex user interfaces not well suited for
- inclusion within a single window, it is recommended to use kParameterImageIsPreset -- which allows the effect to
- have an external editing application for parameters which may then be set within the standard UI via the open file
- dialog or drag and drop. The Lens Flare effect's "Flare Type" is an example of such a preset.
-
- For parameters that use a custom control to control a single parameter value, a new behavior
- flag has been added (kCustomControl), and the behavior for the parameter should be kParameterItemControl.
-
- For parameters that are groups, the same flag (kCustomControl) should be used, and the behavior
- should be kParameterItemGroupDivider. Groups with the kCustomControl bit set will be implemented
- by calling the custom control for that group -- the parameters within that group will not be processed
- in the normal manner.
-
- In both cases, the new customType and customID fields of the behavior must be filled in. These are
- used in order to allow your custom control to determine which parameter is being edited in the case
- where the custom control is used for the editing of multiple parameters. These values are passed into
- the pdActionCustomNewControl call. Since the custom control mechanism is also used by QuickTime's
- default effect dialogs, you should be prepared to pass onto the base effect any pdActionCustomNewControl
- calls for type/id pairs that you do not handle yourself. When pdActionCustomNewControl is called
- for controls of types handled by QuickTime, customType is kParameterAtomTypeAndID and customID is
- the ID of the parameter atom.
- */
-
-
- /*
- pdActionCustomNewControlControl is called by application to create a new custom control or set of controls
- for an effect parameter. When pdActionCustomNewControl is called, the effect should perform any
- basic allocation it needs for storage and return the result in storage. The options parameter tells
- the control if the application wishes to support interpolated, optionally interpolated, or a single
- value parameter.
-
- Since pdActionCustomNewControlControl may be called upon your effect for other items within the
- dialog, it is recommended that your effect have an easy way to determine which controls it implements:
- a) by having storage be a pointer with an OSType at the begining to mark controls
- implemented by your code.
- - or -
- b) keeping track in your component globals those custom controls which you have created.
-
- When pdActionCustomDisposeControl is called any allocation done by the control should be disposed. In addition,
- pdActionCustomDisposeControl is the last chance the control has to commit any user changes into the sample.
- Controls which implement type in fields typically need to commit any final user edits at this time.
- */
- struct QTCustomControlNewRecord
- {
- void * storage; /* storage allocated/disposed by the control*/
- QTParameterDialogOptions options; /* options used to control interpolation/not*/
- QTAtomContainer sample; /* sample that holds the data to be edited*/
- long customType; /* custom type and ID specified by effect for creation of this control*/
- long customID;
- };
- typedef struct QTCustomControlNewRecord QTCustomControlNewRecord;
- typedef QTCustomControlNewRecord * QTCustomControlNewPtr;
- /*
- pdActionCustomPositionControl is called by the application to position the control within a window or dialog.
-
- The control should determine if it will fit in the alloted area and position itself there. It should also
- return the space taken up by the control. Note you are free to implement controls which are variable in size depending upon
- which parameter you are editing. You need not scale your control to the requested size. If the area presented to your
- control is too small, set didFit to false. You should still return in used the size you would have liked to use for
- the control. The application will then try again with a new size. Note that all
- controls must be able to fit within a minimum of 300 by 250 pixels.
-
- Custom controls that draw text should make note of the text font, size, and style at this time in order
- to properly display within application windows.
-
- Note that the default state for the control is hidden. You will receive a pdActionCustomShowHideControl
- in order to enable your control. You should not draw your control in response to pdActionCustomPositionControl.
- */
- struct QTCustomControlPositionControlRecord
- {
- void * storage; /* storage for the control*/
- WindowPtr window; /* window to be used by the control*/
- Rect location; /* location within the window the control may use*/
- Rect used; /* returned by the control to indicate size it actually used*/
- Boolean didFit; /* did the control fit in the specified area?*/
- Boolean pad[3];
- };
- typedef struct QTCustomControlPositionControlRecord QTCustomControlPositionControlRecord;
- typedef QTCustomControlPositionControlRecord * QTCustomControlPositionControlPtr;
- /*
- pdActionCustomShowHideControl is called when the application wishes to enable/disable your control, or
- completely disable drawing of the control
-
- Your control should make note of the new state (if different from the last) and perform an InvalRect()
- on your drawing area, or you may draw your control's initial state in the case of show. You should not
- attempt to erase your control as the result of a hide -- instead call InvalRect() and allow the application
- to process the resulting event as appropriate.
- */
- struct QTCustomControlShowHideControlRecord
- {
- void * storage; /* storage for the control*/
- Boolean show; /* display the control?*/
- Boolean enable; /* enable the control (ie, black vs gray display)*/
- Boolean pad[2];
- };
- typedef struct QTCustomControlShowHideControlRecord QTCustomControlShowHideControlRecord;
- typedef QTCustomControlShowHideControlRecord * QTCustomControlShowHideControlPtr;
- /*
- pdActionCustomHandleEvent is called to allow your custom control to process events.
-
- Typical controls handle the following events:
- - activate - to draw your control in normal/gray mode
- - update - to draw your control
- - mouseDown - to handle clicks
- - keyDown - to handle typing when you have focus
- - idle - to perform idle drawing (if applicable)
- If your control handles the entire event, set didProcess to true. If
- you handled the event, but other controls still need the event, set didProcess to false.
-
- If your control supports the concept of focus for the purposes of typing (such as by having
- a type-in box for the parameter) then you set the tookFocus Boolean as part of your processing
- of the event. It is assumed that your control will draw the appropriate focus UI as a result, and
- the calling application will disable any focus drawing within the remainder of the UI.
-
- By default, custom controls are not given idle time. If you need idle time, set needIdle to true
- in response to the even that causes you to need idle (typically the taking of focus, or the first draw).
- Your control will continue to be given idle events until you set needIdle to false in response to
- a nullEvent.
- */
- struct QTCustomControlHandleEventRecord
- {
- void * storage; /* storage for the control*/
- EventRecord * pEvent; /* event to process*/
- Boolean didProcess; /* did we process entire event?*/
- Boolean tookFocus; /* did we take focus as a result of this event (typically mouseDowns)*/
- Boolean needIdle; /* does this control need idle events?*/
- Boolean didEdit; /* did we edit the samples?*/
- };
- typedef struct QTCustomControlHandleEventRecord QTCustomControlHandleEventRecord;
- typedef QTCustomControlHandleEventRecord * QTCustomControlHandleEventPtr;
- /*
- pdActionCustomSetFocus is called in order to set or advance the current focus of the user interface, typically
- because the user has pressed the tab or shift-tab keys, or because the user clicked within the area defined by
- your control.
-
- Your control will be called with pdActionFocusFirst, pdActionFocusLast, or pdActionFocusOff to set or clear focus on your
- control. Your control will be called with pdActionFocusForward or pdActionFocusBackward to cycle
- focus within your control (if your control has multiple focus). If your control does not support focus,
- or the focus request results in focus moving beyond your supported range, return pdActionFocusOff in
- the focus parameter. Otherwise, return the focus that you set.
-
- Controls which have no focus would always set focus to be pdActionFocusOff.
-
- Controls with a single focus would set pdActionFocusFirst when requsted to set either
- pdActionFocusFirst or pdActionFocusLast, and would set pdActionFocusOff for either
- pdActionFocusForward or pdActionFocusBackward.
- */
- enum
- {
- pdActionFocusOff = 0, /* no focus */
- pdActionFocusFirst = 1, /* focus on first element */
- pdActionFocusLast = 2, /* focus on last element */
- pdActionFocusForward = 3, /* focus on next element */
- pdActionFocusBackward = 4 /* focus on previous element */
- };
-
- struct QTCustomControlSetFocusRecord
- {
- void * storage; /* storage for the control*/
- long focus; /* focus to set, return resulting focus*/
- };
- typedef struct QTCustomControlSetFocusRecord QTCustomControlSetFocusRecord;
- typedef QTCustomControlSetFocusRecord * QTCustomControlSetFocusPtr;
- /*
- pdActionCustomSetEditMenu will be called to inform your custom control of the location of the edit menu.
-
- If your control has editing boxes, this is useful in order to allow the user to perform cut/copy/paste operations
- when focus is on one of these boxes.
- */
- struct QTCustomControlSetEditMenuRecord
- {
- void * storage; /* storage for the control*/
- MenuHandle editMenu; /* edit menu, or NIL*/
- };
- typedef struct QTCustomControlSetEditMenuRecord QTCustomControlSetEditMenuRecord;
- typedef QTCustomControlSetEditMenuRecord * QTCustomControlSetEditMenuPtr;
- /*
- pdActionCustomSetPreviewPicture will be called to inform your custom control of preview information that you
- may wish to use in the drawing of your user interface.
- */
- struct QTCustomControlSetPreviewPictureRecord
- {
- void * storage; /* storage for the control*/
- QTParamPreviewPtr preview; /* preview to set*/
- };
- typedef struct QTCustomControlSetPreviewPictureRecord QTCustomControlSetPreviewPictureRecord;
- typedef QTCustomControlSetPreviewPictureRecord * QTCustomControlSetPreviewPicturePtr;
- /*
- pdActionCustomSetEditCallout tells your control of the need by the application to be informed of
- changes to the parameter values (typically for the purposes of updating previews).
-
- If a callout is available, your custom control should call it whenever a change has been
- made to the parameter(s) that your control is editing (as a result of user actions, most typically).
- If you choose not to implement this, live dragging or updating of values will not work.
- */
- struct QTCustomControlSetEditCalloutRecord
- {
- void * storage; /* storage for the control*/
- QTParamPreviewCalloutPtr callout; /* requested callout, or NIL to disable*/
- };
- typedef struct QTCustomControlSetEditCalloutRecord QTCustomControlSetEditCalloutRecord;
- typedef QTCustomControlSetEditCalloutRecord * QTCustomControlSetEditCalloutPtr;
- /*
- pdActionCustomGetEnableValue allows you to return a value for the purposes of enabling/disabling
- other controls.
- Most custom controls do not need to implement this call.
-
- If your control is able to control the enabling and disabling of other parameter controls (such as is done
- by standard pop up or enumerated type controls), you need to supply a value that can be use for greater than/less than
- types of comparisons.
- */
- struct QTCustomControlGetEnableValueRecord
- {
- void * storage; /* storage for the control*/
- long currentValue; /* value to compare against for enable/disable purposes*/
- };
- typedef struct QTCustomControlGetEnableValueRecord QTCustomControlGetEnableValueRecord;
- typedef QTCustomControlGetEnableValueRecord * QTCustomControlGetEnableValuePtr;
- /*
- pdActionCustomSetSampleTime tells your control information from the application about the duration
- and start time for the sample being edited.
-
- Most controls do not need this information, but some may choose to use it in the interface
- they present the user. However, this call need not be made by applications, so the custom
- control should be prepared to run when the sample time information is not available.
- */
- struct QTCustomControlSetSampleTimeRecord
- {
- void * storage; /* storage for the control*/
- QTParamSampleTimePtr sampleTime; /* sample time information or NIL*/
- };
- typedef struct QTCustomControlSetSampleTimeRecord QTCustomControlSetSampleTimeRecord;
- typedef QTCustomControlSetSampleTimeRecord * QTCustomControlSetSampleTimePtr;
- /*
- pdActionCustomGetValue tells your control to store any value(s) into the specified atom container.
-
- All custom controls must implement this call
- */
- struct QTCustomControlGetValueRecord
- {
- void * storage; /* storage for the control*/
- QTAtomContainer sample; /* sample to store into*/
- };
- typedef struct QTCustomControlGetValueRecord QTCustomControlGetValueRecord;
- typedef QTCustomControlGetValueRecord * QTCustomControlGetValuePtr;
- /*
- pdActionCustomDoEditCommand tells your control to handle edit commands if it allow focus and type in boxes.
-
- All custom controls must implement this call if they support edit boxes
- */
- struct QTCustomControlDoEditCommandRecord
- {
- void * storage; /* storage for the control*/
- long command; /* command to execute, return 0 here if processed*/
- };
- typedef struct QTCustomControlDoEditCommandRecord QTCustomControlDoEditCommandRecord;
- typedef QTCustomControlDoEditCommandRecord * QTCustomControlDoEditCommandPtr;
- typedef long QTParameterDialog;
- enum
- {
- elOptionsIncludeNoneInList = 0x00000001 /* "None" effect is included in list */
- };
-
- typedef long QTEffectListOptions;
- enum
- {
- effectIsRealtime = 0 /* effect can be rendered in real time */
- };
-
- /*
- QTGetEffectsListExtended is a call that provides for
- more advanced filtering of effects to be placed into the
- effect list. Applications can filter on:
- 1) number of input sources
- 2) effect major or minor class
- 3) custom filtering through a callback
- The callback will be called for each effect which passes
- the other criteria for inclusion. If the callback
- returns a true result the effect will be included in the list.
-
- Note that your filter proc may receive multiple effects from various
- manufacturers. If you return true for multiple effects of a given type
- only the one with the higher parameter version number will be included.
- If you wish other filtering (such as effects from a given manufacturer, you
- can do this by return false for the other effects and true for those
- that you prefer.
- */
- typedef CALLBACK_API(Boolean , QTEffectListFilterProcPtr)(Component effect, long effectMinSource, long effectMaxSource, OSType majorClass, OSType minorClass, void *refcon);
- typedef STACK_UPP_TYPE(QTEffectListFilterProcPtr) QTEffectListFilterUPP;
- /*
- * QTGetEffectsList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTGetEffectsList(
- QTAtomContainer * returnedList,
- long minSources,
- long maxSources,
- QTEffectListOptions getOptions);
-
-
- /*
- * QTGetEffectsListExtended()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTGetEffectsListExtended(
- QTAtomContainer * returnedList,
- long minSources,
- long maxSources,
- QTEffectListOptions getOptions,
- OSType majorClass,
- OSType minorClass,
- QTEffectListFilterUPP filterProc,
- void * filterRefCon);
-
-
- /*
- * QTCreateStandardParameterDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTCreateStandardParameterDialog(
- QTAtomContainer effectList,
- QTAtomContainer parameters,
- QTParameterDialogOptions dialogOptions,
- QTParameterDialog * createdDialog);
-
-
- /*
- * QTIsStandardParameterDialogEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTIsStandardParameterDialogEvent(
- EventRecord * pEvent,
- QTParameterDialog createdDialog);
-
-
- /*
- * QTDismissStandardParameterDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTDismissStandardParameterDialog(QTParameterDialog createdDialog);
-
-
- /*
- * QTStandardParameterDialogDoAction()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTStandardParameterDialogDoAction(
- QTParameterDialog createdDialog,
- long action,
- void * params);
-
-
- /*
- * QTGetEffectSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTGetEffectSpeed(
- QTAtomContainer parameters,
- Fixed * pFPS);
-
-
-
-
- /* Movie Audio/Sound APIs*/
-
- /*
- SetMovieAudioGain:
- This API sets the audio gain level for the mixed audio output of a movie. This alters the
- perceived volume of the movie's playback. The gain level is multiplicative; eg. 0.0
- is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the movie is not
- modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order
- to allow quiet movies to be boosted in volume. Settings higher than 1.0 may result in
- audio clipping, of course. The setting is not stored in the movie. It is only used until
- the movie is closed, at which time it is not saved.
- */
- /*
- * SetMovieAudioGain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetMovieAudioGain(
- Movie m,
- Float32 gain,
- UInt32 flags);
-
-
- /*
- * GetMovieAudioGain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioGain(
- Movie m,
- Float32 * gain,
- UInt32 flags);
-
-
- /*
- SetTrackAudioGain:
- This API sets the audio gain level for the audio output of a track. This alters the
- perceived volume of the track's playback. The gain level is multiplicative; eg. 0.0
- is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the track is not
- modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order
- to allow quiet tracks to be boosted in volume. Settings higher than 1.0 may result in
- audio clipping, of course. The setting is not stored in the movie. It is only used until
- the movie is closed, at which time it is not saved.
- */
- /*
- * SetTrackAudioGain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetTrackAudioGain(
- Track t,
- Float32 gain,
- UInt32 flags);
-
-
- /*
- * GetTrackAudioGain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetTrackAudioGain(
- Track t,
- Float32 * gain,
- UInt32 flags);
-
-
- /*
- SetMovieAudioBalance:
- This API sets the audio balance level for the mixed audio output of a movie. -1.0
- means full left, 0.0 means centered, and 1.0 means full right. The setting is not
- stored in the movie. It is only used until the movie is closed, at which time it
- is not saved.
- */
- /*
- * SetMovieAudioBalance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetMovieAudioBalance(
- Movie m,
- Float32 leftRight,
- UInt32 flags);
-
-
- /*
- * GetMovieAudioBalance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioBalance(
- Movie m,
- Float32 * leftRight,
- UInt32 flags);
-
-
- /*
- SetMovieAudioMute:
- This API mutes or unmutes the mixed audio output from a movie.
- */
- /*
- * SetMovieAudioMute()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetMovieAudioMute(
- Movie m,
- Boolean muted,
- UInt32 flags);
-
-
- /*
- * GetMovieAudioMute()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioMute(
- Movie m,
- Boolean * muted,
- UInt32 flags);
-
-
- /*
- SetTrackAudioMute:
- This API mutes or unmutes the audio output from a track.
- */
- /*
- * SetTrackAudioMute()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetTrackAudioMute(
- Track t,
- Boolean muted,
- UInt32 flags);
-
-
- /*
- * GetTrackAudioMute()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetTrackAudioMute(
- Track t,
- Boolean * muted,
- UInt32 flags);
-
-
-
-
- /*
- */
- enum
- {
-
- /*
- * Properties of an audio presentation (eg. a movie's audio)
- */
- kQTPropertyClass_Audio = FOUR_CHAR_CODE('audi')
- };
-
-
- /*
- */
- enum
- {
-
- /*
- * kQTAudioPropertyID_Gain: Value is Float32. Get/Set/Listenable
- * The audio gain of a movie or track. The gain level is
- * multiplicative; eg. 0.0 is silent, 0.5 is -6dB, 1.0 is 0dB (ie.
- * the audio from the movie is not modified), 2.0 is +6dB, etc. The
- * gain level can be set higher than 1.0 in order to allow quiet
- * movies/tracks to be boosted in volume. Settings higher than 1.0
- * may result in audio clipping, of course. The setting is not stored
- * in the movie/track. It is only used until the movie/track is
- * disposed.
- */
- kQTAudioPropertyID_Gain = FOUR_CHAR_CODE('gain'), /* value is Float32. Gettable/Settable.*/
-
- /*
- * kQTAudioPropertyID_Mute: Value is Boolean. Get/Set/Listenable
- * The audio mute state of a movie or track. If true, the
- * movie/track is muted. The setting is not stored in the
- * movie/track. It is only used until the movie/track is disposed.
- */
- kQTAudioPropertyID_Mute = FOUR_CHAR_CODE('mute'), /* value is Boolean. Gettable/Settable.*/
-
- /*
- * kQTAudioPropertyID_Balance: Value is Float32. Get/Set/Listenable
- * The audio balance of a movie. -1.0 means full left, 0.0 means
- * centered, and 1.0 means full right. The setting is not stored in
- * the movie. It is only used until the movie is disposed. This is
- * only supported for movies, not tracks.
- */
- kQTAudioPropertyID_Balance = FOUR_CHAR_CODE('bala'), /* value is Float32. Gettable/Settable.*/
-
- /*
- * kQTAudioPropertyID_RateChangesPreservePitch: Value is Boolean.
- * Get/Set When the playback rate is not unity, audio must be
- * resampled in order to play at the new rate. The default
- * resampling affects the pitch of the audio (eg, playing at 2x speed
- * raises the pitch by an octave, 1/2x lowers an octave). If this
- * property is set on the Movie, an alternative algorithm may be
- * used, which alters the speed without changing the pitch. As this
- * is more computationally expensive, this property may be silently
- * ignored on some slow CPUs. Media handlers may query this movie
- * property and honor it when performing Scaled Edits. This property
- * can be specified as a property to the NewMovieFromProperties()
- * API. Currently, it has no effect when set on an open movie.
- */
- kQTAudioPropertyID_RateChangesPreservePitch = FOUR_CHAR_CODE('aucp'), /* value is Boolean. Gettable/Settable.*/
-
- /*
- * kQTAudioPropertyID_Pitch: Value is Float32. Get/Set/Listenable
- * Movie pitch adjustment. Adjusts the pitch of all audio tracks
- * that contribute to the AudioContext mix. Pitch control takes
- * effect only if kQTAudioPropertyID_RateChangesPreservePitch is in
- * effect, otherwise returns kQTMessageNotHandledErr. The Float32
- * value is specified in cents: 0.0 == no change, 1.0 == one cent up,
- * 100.0 == one semi-tone up, -1.0 == one cent down. The most useful
- * ranges for pitch are +/- 1200. (ie, one octave)
- */
- kQTAudioPropertyID_Pitch = FOUR_CHAR_CODE('pitc'), /* value is Float32. Get/Set/Listenable.*/
-
- /*
- * kQTAudioPropertyID_RenderQuality: Value is UInt32. Get/Set
- * Movie audio render quality takes effect for movie playback. UInt32
- * values vary from 0x00 (kQTAudioRenderQuality_Min) to 0x7F
- * (kQTAudioRenderQuality_Max). We also define a special value
- * (kQTAudioRenderQuality_PlaybackDefault) which resets the quality
- * settings of the playback processing chain to values that are
- * chosen to be an optimal balance of performance and quality.
- */
- kQTAudioPropertyID_RenderQuality = FOUR_CHAR_CODE('qual'), /* value is UInt32. Gettable/Settable.*/
-
- /*
- * kQTAudioPropertyID_ChannelLayout: Value is AudioChannelLayout.
- * Get/Set The AudioChannelLayout of a track, or other audio stream.
- * Currently only settable/gettable for tracks. (See
- * kQTAudioPropertyID_SummaryChannelLayout if you want to get the
- * summary AudioChannelLayout of a movie.) Note that this is a
- * variable sized property (since it may contain an array of
- * ChannelDescriptions; see CoreAudioTypes.h). You must get the size
- * first (by calling QTGetTrackPropertyInfo), allocate a struct of
- * that size, and then get the property.
- */
- kQTAudioPropertyID_ChannelLayout = FOUR_CHAR_CODE('tlay'), /* value is AudioChannelLayout. Gettable/Settable.*/
-
- /*
- * kQTAudioPropertyID_SummaryChannelLayout: Value is
- * AudioChannelLayout. Get-only The summary AudioChannelLayout of a
- * movie, or other grouping of audio streams. All like-labelled
- * channels are combined, so there are no duplicates. For example,
- * if there is a stereo (L/R) track, 5 single-channel tracks marked
- * Left, Right, Left Surround, Right Surround and Center, and a 4
- * channel track marked L/R/Ls/Rs, then the summary
- * AudioChannelLayout will be L/R/Ls/Rs/C. It will _not_ be
- * L/R/L/R/Ls/Rs/C/L/R/Ls/Rs. Note that this is a variable sized
- * property (since it may contain an array of ChannelDescriptions;
- * see CoreAudioTypes.h). You must get the size first (by calling,
- * for example, QTGetMoviePropertyInfo) allocate a struct of that
- * size, and then get the property.
- */
- kQTAudioPropertyID_SummaryChannelLayout = FOUR_CHAR_CODE('clay'), /* value is AudioChannelLayout. Gettable.*/
-
- /*
- * kQTAudioPropertyID_DeviceChannelLayout: Value is
- * AudioChannelLayout. Get-only The AudioChannelLayout of the device
- * this movie is playing to. Note that this is a variable sized
- * property (since it may contain an array of ChannelDescriptions;
- * see CoreAudioTypes.h). You must get the size first (by calling,
- * for example, QTGetMoviePropertyInfo) allocate a struct of that
- * size, and then get the property.
- */
- kQTAudioPropertyID_DeviceChannelLayout = FOUR_CHAR_CODE('dcly'), /* value is AudioChannelLayout. Gettable.*/
-
- /*
- * kQTAudioPropertyID_DeviceASBD: Value is
- * AudioStreamBasicDescription. Get-only Returns the
- * AudioStreamBasicDescription of the device this movie is playing
- * to. The interesting fields are the sample rate, which reflects
- * device's current state, and the number of channels, which matches
- * what is reported by kQTAudioPropertyID_DeviceChannelLayout.
- */
- kQTAudioPropertyID_DeviceASBD = FOUR_CHAR_CODE('dasd'), /* value is AudioStreamBasicDescription. Gettable.*/
-
- /*
- * kQTAudioPropertyID_SummaryASBD: Value is
- * AudioStreamBasicDescription. Get-only Returns the
- * AudioStreamBasicDescription corresponding to the Summary Mix of a
- * movie. This will describe non-interleaved, Float32 linear PCM
- * data, with a sample rate equal to the highest audio sample rate
- * found among the sound tracks contributing to the AudioContext mix,
- * and a number of channels that matches what is reported by
- * kQTAudioPropertyID_SummaryChannelLayout.
- */
- kQTAudioPropertyID_SummaryASBD = FOUR_CHAR_CODE('sasd'), /* value is AudioStreamBasicDescription. Gettable.*/
-
- /*
- * kQTAudioPropertyID_FormatString: Value is CFStringRef. Get-only
- * kQTAudioPropertyID_FormatString returns a localized, human
- * readable string describing the audio format as a CFStringRef, i.e.
- * "MPEG Layer 3". You may get this property from a SoundDescription
- * Handle by calling QTSoundDescriptionGetProperty(), or from a
- * StandardAudioCompression (scdi/audi) component instance by calling
- * QTGetComponentProperty().
- */
- kQTAudioPropertyID_FormatString = FOUR_CHAR_CODE('fstr'), /* value is CFStringRef. Gettable.*/
-
- /*
- * kQTAudioPropertyID_ChannelLayoutString: Value is CFStringRef.
- * Get-only kQTAudioPropertyID_ChannelLayoutString returns a
- * localized, human readable string describing the audio channel
- * layout as a CFStringRef, i.e. "5.0 (L R C Ls Rs)". You may get
- * this property from a SoundDescription Handle by calling
- * QTSoundDescriptionGetProperty(), or from a
- * StandardAudioCompression (scdi/audi) component instance by calling
- * QTGetComponentProperty().
- */
- kQTAudioPropertyID_ChannelLayoutString = FOUR_CHAR_CODE('lstr'), /* value is CFStringRef. Gettable.*/
-
- /*
- * kQTAudioPropertyID_SampleRateString: Value is CFStringRef.
- * Get-only kQTAudioPropertyID_SampleRateString returns a localized,
- * human readable string describing the audio sample rate as a
- * CFStringRef, i.e. "44.100 kHz". You may get this property from a
- * SoundDescription Handle by calling
- * QTSoundDescriptionGetProperty(), or from a
- * StandardAudioCompression (scdi/audi) component instance by calling
- * QTGetComponentProperty().
- */
- kQTAudioPropertyID_SampleRateString = FOUR_CHAR_CODE('rstr'), /* value is CFStringRef. Gettable.*/
-
- /*
- * kQTAudioPropertyID_SampleSizeString: Value is CFStringRef.
- * Get-only kQTAudioPropertyID_SampleSizeString returns a localized,
- * human readable string describing the audio sample size as a
- * CFStringRef, i.e. "24-bit". Note, this property will only return a
- * valid string if the format is uncompressed (LPCM) audio. You may
- * get this property from a SoundDescription Handle by calling
- * QTSoundDescriptionGetProperty(), or from a
- * StandardAudioCompression (scdi/audi) component instance by calling
- * QTGetComponentProperty().
- */
- kQTAudioPropertyID_SampleSizeString = FOUR_CHAR_CODE('sstr'), /* value is CFStringRef. Gettable.*/
-
- /*
- * kQTAudioPropertyID_BitRateString: Value is CFStringRef. Get-only
- * kQTAudioPropertyID_BitRateString returns a localized, human
- * readable string describing the audio bit rate as a CFStringRef,
- * i.e. "12 kbps". You may get this property from a SoundDescription
- * Handle by calling QTSoundDescriptionGetProperty(), or from a
- * StandardAudioCompression (scdi/audi) component instance by calling
- * QTGetComponentProperty().
- */
- kQTAudioPropertyID_BitRateString = FOUR_CHAR_CODE('bstr'), /* value is CFStringRef. Gettable.*/
-
- /*
- * kQTAudioPropertyID_SummaryString: Value is CFStringRef. Get-only
- * kQTAudioPropertyID_SummaryString returns a localized, human
- * readable string summarizing the audio as a CFStringRef, i.e.
- * "16-bit Integer (Big Endian), Stereo (L R), 48.000 kHz". You may
- * get this property from a SoundDescription Handle calling
- * QTSoundDescriptionGetProperty(), or from a
- * StandardAudioCompression (scdi/audi) component instance by calling
- * QTGetComponentProperty().
- */
- kQTAudioPropertyID_SummaryString = FOUR_CHAR_CODE('asum') /* value is CFStringRef. Gettable.*/
- };
-
-
-
-
- /*
- * Audio Render Quality constants
- *
- * Summary:
- * Render quality is an integer that ranges from
- * kQTAudioRenderQuality_Min to kQTAudioRenderQuality_Max.
- * kQTAudioRenderQuality_Low, kQTAudioRenderQuality_Medium, and
- * kQTAudioRenderQuality_High are the preferred values.
- */
- enum
- {
-
- /*
- * The maximum value.
- */
- kQTAudioRenderQuality_Max = 0x7F,
-
- /*
- * A value that increases quality but requires more computational
- * resources.
- */
- kQTAudioRenderQuality_High = 0x60,
-
- /*
- * A value that represents a good quality/performance tradeoff.
- */
- kQTAudioRenderQuality_Medium = 0x40,
-
- /*
- * A value that reduces quality for better performance.
- */
- kQTAudioRenderQuality_Low = 0x20,
-
- /*
- * The minimum value.
- */
- kQTAudioRenderQuality_Min = 0x00,
-
- /*
- * A QuickTime-specific value that selects optimal settings for
- * playback.
- */
- kQTAudioRenderQuality_PlaybackDefault = 0x8000
- };
-
-
- /* whatMixToMeter constants*/
-
- /*
- */
- enum
- {
-
- /*
- * kQTAudioMeter_DeviceMix: Meter the movie's mix to the device
- * channel layout. To determine the channel layout of this mix, call
- * QTGetMovieProperty(..., kQTAudioPropertyID_DeviceChannelLayout,
- * ...).
- */
- kQTAudioMeter_DeviceMix = kQTAudioPropertyID_DeviceChannelLayout,
-
- /*
- * kQTAudioMeter_StereoMix: Meter a stereo (two-channel) mix of the
- * enabled sound tracks in the movie. This option is offered only for
- * MovieAudioFrequencyMetering.
- */
- kQTAudioMeter_StereoMix = FOUR_CHAR_CODE('stmx'),
-
- /*
- * kQTAudioMeter_MonoMix: Meter a monarual (one-channel) mix of the
- * enabled sound tracks in the movie. This option is offered only for
- * MovieAudioFrequencyMetering.
- */
- kQTAudioMeter_MonoMix = FOUR_CHAR_CODE('momx')
- };
-
- /*
- SetMovieAudioVolumeMeteringEnabled:
- This API enables or disables volume metering of a particular mix of this movie. The only possible
- mix to meter is currently kQTAudioMeter_DeviceMix. See kQTAudioMeter_DeviceMix above to see
- how to determine the channel layout of the movie's device mix.
- */
- /*
- * SetMovieAudioVolumeMeteringEnabled()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetMovieAudioVolumeMeteringEnabled(
- Movie m,
- FourCharCode whatMixToMeter,
- Boolean enabled);
-
-
- /*
- * GetMovieAudioVolumeMeteringEnabled()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioVolumeMeteringEnabled(
- Movie m,
- FourCharCode whatMixToMeter,
- Boolean * enabled);
-
-
- /*
- GetMovieAudioVolumeLevels:
- This API returns the current volume meter levels of the movie. It can return both average power
- levels and peak hold levels. whatMixToMeter must be set to kQTAudioMeter_DeviceMix. Either
- QTAudioVolumeLevels parameter may be nil. If non-nil, each must have its numChannels field set to
- the number of channels in the movie's device mix, and must be allocated large enough to hold levels
- for all those channels. See kQTAudioMeter_DeviceMix above to see how to determine the channel
- layout of the device mix. The levels returned are measured in decibels, where 0.0 means full volume,
- -6.0 means half volume, -12.0 means quarter volume, and -inf means silence.
- */
- struct QTAudioVolumeLevels
- {
- UInt32 numChannels;
- Float32 level[1]; /* numChannels entries*/
- };
- typedef struct QTAudioVolumeLevels QTAudioVolumeLevels;
- /*
- * GetMovieAudioVolumeLevels()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioVolumeLevels(
- Movie m,
- FourCharCode whatMixToMeter,
- QTAudioVolumeLevels * pAveragePowerLevels,
- QTAudioVolumeLevels * pPeakHoldLevels);
-
-
- /*
- SetTrackAudioVolumeMeteringEnabled:
- This API enables or disables volume metering of a particular track of this movie.
- This API should be used in preference to the legacy SoundMedia interface, but
- may interfere with its operation if both are in use at the same time.
- */
- /*
- * SetTrackAudioVolumeMeteringEnabled()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetTrackAudioVolumeMeteringEnabled(
- Track t,
- Boolean enabled);
-
-
- /*
- * GetTrackAudioVolumeMeteringEnabled()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetTrackAudioVolumeMeteringEnabled(
- Track t,
- Boolean * enabled);
-
-
-
- /*
- GetTrackAudioVolumeLevels:
- This API returns the current volume meter levels of the track. It can return both average power
- levels and peak hold levels. Either QTAudioVolumeLevels parameter may be nil. If non-nil,
- each must have its numChannels field set to the number of channels of interest, and must be
- allocated large enough to hold levels for all those channels.
- The levels returned are measured in decibels, where 0.0 means full volume,
- -6.0 means half volume, -12.0 means quarter volume, and -inf means silence.
- */
- /*
- * GetTrackAudioVolumeLevels()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetTrackAudioVolumeLevels(
- Track t,
- QTAudioVolumeLevels * pAveragePowerLevels,
- QTAudioVolumeLevels * pPeakHoldLevels);
-
-
-
- /*
- SetMovieAudioFrequencyMeteringNumBands:
- This API configures and enables (or disables) frequency metering for a movie.
- Note that ioNumBands is an in/out parameter. You specify the number of frequency bands you
- want to meter, and if that number is higher than is possible (determined by, among other things,
- the sample rate of the audio being metered), this API will return the number of bands it is
- actually going to meter. ioNumBands can be nil or a pointer to 0 to disable metering.
- whatMixToMeter must be set to kQTAudioMeter_StereoMix, kQTAudioMeter_MonoMix, or
- kQTAudioMeter_DeviceMix. When metering movies playing to audio devices that offer a
- large number of channels, it may be prohibitively expensive to perform spectral analysis
- on every channel; in these cases, stereo or mono mix metering may be preferable.
- */
- /*
- * SetMovieAudioFrequencyMeteringNumBands()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- SetMovieAudioFrequencyMeteringNumBands(
- Movie m,
- FourCharCode whatMixToMeter,
- UInt32 * ioNumBands);
-
-
- /*
- * GetMovieAudioFrequencyMeteringNumBands()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioFrequencyMeteringNumBands(
- Movie m,
- FourCharCode whatMixToMeter,
- UInt32 * outNumBands);
-
-
- /*
- GetMovieAudioFrequencyMeteringBandFrequencies:
- This API returns the actual chosen middle frequency for each band in the configured
- frequency metering of a movie. This is useful for labeling visual meters
- in a user interface. Frequencies are returned in Hz. whatMixToMeter must be set
- to the same value that was passed most recently to SetMovieAudioFrequencyMeteringNumBands().
- */
- /*
- * GetMovieAudioFrequencyMeteringBandFrequencies()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioFrequencyMeteringBandFrequencies(
- Movie m,
- FourCharCode whatMixToMeter,
- UInt32 numBands,
- Float32 * outBandFrequencies);
-
-
- /*
- GetMovieAudioFrequencyLevels:
- This API returns the current frequency meter levels of the movie. pAveragePowerLevels should
- have its numChannels field set to the number of channels being metered, and its numBands field
- set to the number of bands being metered (as previously configured). pAveragePowerLevels must be
- allocated large enough to hold levels for all bands in all channels. The levels are returned with
- all the band levels for the first channel first, then all the band levels for the second channel, etc.
- whatMixToMeter must be set to the same value that was passed most recently to
- SetMovieAudioFrequencyMeteringNumBands().
- */
- struct QTAudioFrequencyLevels
- {
- UInt32 numChannels;
- UInt32 numFrequencyBands;
- /* numChannels * numFrequencyBands entries, with the frequency bands for a single channel stored contiguously.*/
- Float32 level[1];
- };
- typedef struct QTAudioFrequencyLevels QTAudioFrequencyLevels;
- /*
- * GetMovieAudioFrequencyLevels()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- GetMovieAudioFrequencyLevels(
- Movie m,
- FourCharCode whatMixToMeter,
- QTAudioFrequencyLevels * pAveragePowerLevels);
-
-
-
- /* Movie Audio Extraction*/
-
- /*
- MovieAudioExtractionBegin:
- This API must be called before doing any movie audio extraction. The returned session
- object is to be passed to the other movie audio extraction APIs. Note that the extracted
- format defaults to the aggregate channel layout of the movie (eg. all Rights mixed together,
- all Left Surrounds mixed together, etc), 32-bit float, de-interleaved, with the sample rate
- set to the highest sample rate found in the movie. You can get this info, and you can also
- set the format to be something else (as long as it is uncompressed, and you do it before
- the first call to MovieAudioExtractionFillBuffer).
- */
- typedef struct MovieAudioExtractionRefRecord* MovieAudioExtractionRef;
- /*
- * MovieAudioExtractionBegin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- MovieAudioExtractionBegin(
- Movie m,
- UInt32 flags,
- MovieAudioExtractionRef * outSession);
-
-
- /*
- MovieAudioExtractionEnd:
- This API must be called when movie audio extraction is complete.
- */
- /*
- * MovieAudioExtractionEnd()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- MovieAudioExtractionEnd(MovieAudioExtractionRef session);
-
-
- /* Movie audio extraction property classes*/
-
- /*
- */
- enum
- {
-
- /*
- * Properties of the movie being extracted from
- */
- kQTPropertyClass_MovieAudioExtraction_Movie = FOUR_CHAR_CODE('xmov'),
-
- /*
- * Properties of the output audio
- */
- kQTPropertyClass_MovieAudioExtraction_Audio = FOUR_CHAR_CODE('xaud')
- };
-
- /* "Movie class" property IDs*/
-
- /*
- */
- enum
- {
-
- /*
- * kQTMovieAudioExtractionMoviePropertyID_CurrentTime: Value is
- * TimeRecord (set & get) When setting, set the timescale to anything
- * you want (output audio sample rate, movie timescale) When getting,
- * the timescale will be output audio sample rate for best accuracy.
- */
- kQTMovieAudioExtractionMoviePropertyID_CurrentTime = FOUR_CHAR_CODE('time'), /* value is TimeRecord. Get/Set.*/
-
- /*
- * kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete: Value
- * is Boolean (set & get) Set to implement export of all audio
- * channels without mixing. When this is set and the extraction asbd
- * or channel layout are read back, you will get information relating
- * to the re-mapped movie.
- */
- kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete = FOUR_CHAR_CODE('disc'), /* value is Boolean. Get/Set.*/
-
- /*
- * kQTMovieAudioExtractionAudioPropertyID_RenderQuality: Value is
- * UInt32 (set & get) Set the render quality to be used for this
- * audio extraction session. UInt32 values vary from 0x00
- * (kQTAudioRenderQuality_Min) to 0x7F (kQTAudioRenderQuality_Max).
- * We also define a special value
- * (kQTAudioRenderQuality_PlaybackDefault) which resets the quality
- * settings to the same values that were chosen by default for
- * playback.
- */
- kQTMovieAudioExtractionAudioPropertyID_RenderQuality = FOUR_CHAR_CODE('qual') /* value is UInt32. Get/Set.*/
- };
-
-
- /* "Output Audio class" property IDs*/
-
- /*
- */
- enum
- {
- /* kQTPropertyClass_MovieAudioExtraction_Audio*/
-
- /*
- *
- * QTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription:
- * Value is AudioStreamBasicDescription. Get/Set. (get any time, set
- * before first MovieAudioExtractionFillBuffer call) If you get this
- * property immediately after beginning an audio extraction session,
- * it will tell you the default extraction format for the movie.
- * This will include the number of channels in the default movie mix.
- * If you set the output AudioStreamBasicDescription, it is
- * recommended that you also set the output channel layout. If your
- * output ASBD has a different number of channels that the default
- * extraction mix, you _must_ set the output channel layout. You can
- * only set PCM output formats. Setting a compressed output format
- * will fail.
- */
- kQTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription = FOUR_CHAR_CODE('asbd'), /* value is AudioStreamBasicDescription. Get/Set.*/
-
- /*
- * kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout: Value
- * is AudioChannelLayout. Get/Set. (get any time, set before first
- * MovieAudioExtractionFillBuffer call) If you get this property
- * immediately after beginning an audio extraction session, it will
- * tell you what the channel layout is for the default extraction mix.
- */
- kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout = FOUR_CHAR_CODE('clay'), /* value is AudioChannelLayout. Get/Set.*/
-
- /*
- * kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration:
- * Value is TimeRecord. Get only. Returns the total duration of audio
- * data that can be expected from the audio extraction session as
- * currently configured. This is computed by examining all tracks
- * that contribute to the audio mix, finding the highest end time
- * among them, adding in all relevant tail times from any Audio
- * Context Inserts that have been registered, and subtracting any
- * extraction start time that has been set. If this property is
- * queried once extraction has started, it will return the remaining
- * duration, or zero once extraction has advanced to the end of all
- * contributing audio tracks.
- */
- kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration = FOUR_CHAR_CODE('dura') /* value is TimeRecord. Get only.*/
- };
-
-
- /*
- * MovieAudioExtractionGetPropertyInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- MovieAudioExtractionGetPropertyInfo(
- MovieAudioExtractionRef session,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTPropertyValueType * outPropType,
- ByteCount * outPropValueSize,
- UInt32 * outPropertyFlags);
-
-
- /*
- * MovieAudioExtractionGetProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- MovieAudioExtractionGetProperty(
- MovieAudioExtractionRef session,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- QTPropertyValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed);
-
-
- /*
- * MovieAudioExtractionSetProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- MovieAudioExtractionSetProperty(
- MovieAudioExtractionRef session,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstQTPropertyValuePtr inPropValueAddress);
-
-
- /*
- MovieAudioExtractionFillBuffer:
- Each call to MovieAudioExtractionFillBuffer will continue where the last call left off.
- It will extract as many of the requested PCM frames as it can, given the limits of the
- buffer(s) supplied, and the limits of the input movie. ioNumFrames will be updated
- with the exact number of valid frames being returned.
- When there is no more audio to extract from the movie, MovieAudioExtractionFillBuffer
- will continue to return noErr, but no audio data will be returned. outFlags will have
- the kQTMovieAudioExtractionComplete bit set in this case. It is possible that the
- kQTMovieAudioExtractionComplete bit will accompany the last buffer of valid data.
- */
- enum
- {
- kQTMovieAudioExtractionComplete = (1L << 0)
- };
-
- /*
- * MovieAudioExtractionFillBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- MovieAudioExtractionFillBuffer(
- MovieAudioExtractionRef session,
- UInt32 * ioNumFrames,
- AudioBufferList * ioData,
- UInt32 * outFlags);
-
-
-
- /* Audio Context Insert properties for MovieAudioExtraction*/
-
- /*
- Theory of operations:
- To register for a Movie Audio Context Insert during Movie Audio Extraction:
- Set the kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert
- property on the extraction session, providing the same registry info structure
- that is used for the QTAudioContextRegisterInsert call.
- To register for a Track Audio Context Insert during Movie Audio Extraction:
- Set the kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert
- property on the extraction session, providing a QTAudioTrackInsertRegistryInfoRef,
- described below.
- Note: Once extraction has begun (ie, MovieAudioExtractionFillBuffer() has been
- called), attempts to set these properties will return qtReadOnlyErr.
- This is consistent with the behavior of most extraction properties.
- */
-
-
- /*
- * QTAudioTrackInsertRegistryInfo
- *
- * Summary:
- * Parameters for registering an Audio Context Track Insert during
- * Movie Audio Extraction
- *
- * Discussion:
- * This is used with the
- * kQTMovieAudioExtractionMoviePropertyID_RegisterTrackInsert
- * property.
- */
- struct QTAudioTrackInsertRegistryInfo
- {
-
- /*
- * The track of the source movie on which to apply the insert.
- */
- Track track;
-
- /*
- * The Audio Context Insert registration info (channel layouts,
- * callbacks).
- */
- QTAudioContextInsertRegistryInfo regInfo;
- };
- typedef struct QTAudioTrackInsertRegistryInfo QTAudioTrackInsertRegistryInfo;
- typedef QTAudioTrackInsertRegistryInfo * QTAudioTrackInsertRegistryInfoRef;
- /* Movie and Track level audio context inserts for extraction (kQTPropertyClass_MovieAudioExtraction_Audio)*/
-
- /*
- */
- enum
- {
-
- /*
- * kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert: Value
- * is QTAudioContextInsertRegistryInfoRef (Get/Set) Set on an
- * extraction session to register/unregister an Audio Context Insert
- * for the movie summary mix. When this property is read back
- * (MovieAudioExtractionGetProperty) the channel layout pointers will
- * will be NULL. To unregister, supply a NULL processDataCallback (in
- * which case the rest of the registry info will be ignored).
- */
- kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert = FOUR_CHAR_CODE('regm'), /* value is QTAudioContextInsertRegistryInfoRef. Get/Set.*/
-
- /*
- * kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert: Value
- * is QTAudioTrackInsertRegistryInfoRef (Get/Set) Set on an
- * extraction session to register/unregister an Audio Context Insert
- * for a particular track of the movie. When this property is read
- * back (MovieAudioExtractionGetProperty) the channel layout pointers
- * will will be NULL. To unregister, supply a NULL
- * processDataCallback (in which case the rest of the registry info
- * will be ignored).
- */
- kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert = FOUR_CHAR_CODE('regt') /* value is QTAudioTrackInsertRegistryInfoRef. Get/Set.*/
- };
+enum {
+ pdActionConfirmDialog = 1, /* no param*/
+ pdActionSetAppleMenu = 2, /* param is MenuRef*/
+ pdActionSetEditMenu = 3, /* param is MenuRef*/
+ pdActionGetDialogValues = 4, /* param is QTAtomContainer*/
+ pdActionSetPreviewUserItem = 5, /* param is long*/
+ pdActionSetPreviewPicture = 6, /* param is QTParamPreviewPtr;*/
+ pdActionSetColorPickerEventProc = 7, /* param is UserEventUPP*/
+ pdActionSetDialogTitle = 8, /* param is StringPtr */
+ pdActionGetSubPanelMenu = 9, /* param is MenuRef* */
+ pdActionActivateSubPanel = 10, /* param is long */
+ pdActionConductStopAlert = 11, /* param is StringPtr */
+ pdActionModelessCallback = 12, /* param is QTParamDialogEventPtr */
+ pdActionFetchPreview = 13, /* param is QTParamFetchPreviewPtr */
+ pdActionSetDialogSettings = 14, /* param is QTAtomContainer */
+ pdActionGetDialogSettings = 15, /* param is QTAtomContainer */
+ pdActionGetNextSample = 16, /* param is QTAtomContainer with effect sample to change - createdDialog may be NIL */
+ pdActionGetPreviousSample = 17, /* param is QTAtomContainer with effect sample to change - createdDialog may be NIL */
+ pdActionCompactSample = 18, /* param is QTAtomContainer with effect sample to compact, - createdDialog may be NIL */
+ pdActionSetEditCallout = 19, /* param is QTParamPreviewCalloutPtr, can be NIL */
+ pdActionSetSampleTime = 20, /* param is QTParamSampleTimePtr, can be NIL */
+ pdActionDoEditCommand = 21, /* param is long with menu command (ie, mcMenuCut etc) */
+ pdActionGetSubPanelMenuValue = 22, /* param is long and returns current sub-panel value selected by the effect */
+ /* Action codes and typedefs used for custom controls within effects */
+ pdActionCustomNewControl = 23, /* param is QTCustomControlNewPtr */
+ pdActionCustomDisposeControl = 24, /* param is QTCustomControlNewPtr */
+ pdActionCustomPositionControl = 25, /* param is QTCustomControlPositionControlPtr */
+ pdActionCustomShowHideControl = 26, /* param is QTCustomControlShowHideControlPtr */
+ pdActionCustomHandleEvent = 27, /* param is QTCustomControlHandleEventPtr */
+ pdActionCustomSetFocus = 28, /* param is QTCustomControlSetFocusPtr */
+ pdActionCustomSetEditMenu = 29, /* param is QTCustomControlSetEditMenuPtr */
+ pdActionCustomSetPreviewPicture = 30, /* param is QTCustomControlSetPreviewPicturePtr */
+ pdActionCustomSetEditCallout = 31, /* param is QTCustomControlSetEditCalloutPtr */
+ pdActionCustomGetEnableValue = 32, /* param is QTCustomControlGetEnableValuePtr */
+ pdActionCustomSetSampleTime = 33, /* param is QTCustomControlSetSampleTimePtr */
+ pdActionCustomGetValue = 34, /* param is QTCustomControlGetValue */
+ pdActionCustomDoEditCommand = 35, /* param is QTCustomControlDoEditCommand */
+ /* more actions for the dialog */
+ pdActionRunInEventLoop = 36, /* param is QTEventLoopDescriptionPtr - OS X only*/
+ pdActionConvertSettingsToXML = 37, /* param is QTAtomContainer* inbound, Handle* outbound contains the XML - createdDialog may be NIL */
+ pdActionConvertSettingsToXMLWithComments = 38, /* param is QTAtomContainer* inbound, Handle* outbound contains the XML with comments - createdDialog may be NIL */
+ pdActionConvertSettingsToText = 39, /* param is QTAtomContainer* inbound, Handle* outbound contains human readable text - createdDialog may be NIL */
+ pdActionConvertXMLToSettings = 40, /* param is Handle* inbound, QTAtomContainer* outbound contains parameters - createdDialog may be NIL */
+ pdActionSetPropertyComponent = 41 /* param is QTParamComponentPropertyPtr */
+};
+
+/* Sample Time information */
+enum {
+ pdSampleTimeDisplayOptionsNone = 0x00000000
+};
+
+struct QTParamComponentPropertyRecord {
+ ComponentInstance component; /* component to call for get/set properties*/
+ OSType defaultClass; /* default property class if not overriden by a given parameter*/
+};
+typedef struct QTParamComponentPropertyRecord QTParamComponentPropertyRecord;
+typedef QTParamComponentPropertyRecord * QTParamComponentPropertyPtr;
+struct QTParamSampleTimeRecord {
+ long displayOptions;
+ TimeRecord sampleStartTime;
+ TimeValue sampleDuration;
+ long framesPerSecond; /* if 0, will cause revert to seconds display*/
+};
+typedef struct QTParamSampleTimeRecord QTParamSampleTimeRecord;
+typedef QTParamSampleTimeRecord * QTParamSampleTimePtr;
+/* Preview change callout information */
+struct QTParamPreviewCalloutRecord {
+ MoviePreviewCallOutUPP calloutProc; /* called when user makes editing changes to dialog. May be NIL. You should return true from your function. */
+ long refCon; /* passed to the callout procedure */
+};
+typedef struct QTParamPreviewCalloutRecord QTParamPreviewCalloutRecord;
+typedef QTParamPreviewCalloutRecord * QTParamPreviewCalloutPtr;
+enum {
+ pdOptionsCollectOneValue = 0x00000001, /* should collect a single value only*/
+ pdOptionsAllowOptionalInterpolations = 0x00000002, /* non-novice interpolation options are shown */
+ pdOptionsModalDialogBox = 0x00000004, /* dialog box should be modal */
+ pdOptionsEditCurrentEffectOnly = 0x00000008, /* List of effects will not be shown */
+ pdOptionsHidePreview = 0x00000010, /* Preview item will not be shown */
+ pdOptionsDisplayAsSheet = 0x00000020 /* Dialog will be used as a sheet (on platforms that support it) */
+};
+
+typedef long QTParameterDialogOptions;
+/* ------- CUSTOM EFFECT CONTROLS*/
+/*
+ Effects may choose to implement custom controls to allow the user to more easily edit complex parameters
+ that are ill-served by simple sliders or type in boxes. Effects may allow a custom control for either
+ a single parameter, or for a group of parameters.
+
+ Parameter(s) for a custom control must still be data types defined by the standard set, or for
+ complex records of data, must be defined within a group as individual parameters made up from base
+ data types (for example, a point is a group containing two Fixed point numbers).
+ This is to allow applications that do not wish to use the custom control for the effect to set values themselves.
+
+ Effects should be aware that these custom controls may be deployed by the application in either a dialog or
+ a window, with application defined background colors or patterns, along with application defined font
+ characteristics for the window.
+
+ It is recommended that effects implement custom controls only when needed, and that custom controls be used
+ for specific types of parameters (ie, point, rectangle, polygon, path) rather than the entire user interface
+ for the effect. Effects may choose to implement multiple custom controls which combine with standard controls
+ to present the total user interface. For effects which have very complex user interfaces not well suited for
+ inclusion within a single window, it is recommended to use kParameterImageIsPreset -- which allows the effect to
+ have an external editing application for parameters which may then be set within the standard UI via the open file
+ dialog or drag and drop. The Lens Flare effect's "Flare Type" is an example of such a preset.
+
+ For parameters that use a custom control to control a single parameter value, a new behavior
+ flag has been added (kCustomControl), and the behavior for the parameter should be kParameterItemControl.
+
+ For parameters that are groups, the same flag (kCustomControl) should be used, and the behavior
+ should be kParameterItemGroupDivider. Groups with the kCustomControl bit set will be implemented
+ by calling the custom control for that group -- the parameters within that group will not be processed
+ in the normal manner.
+
+ In both cases, the new customType and customID fields of the behavior must be filled in. These are
+ used in order to allow your custom control to determine which parameter is being edited in the case
+ where the custom control is used for the editing of multiple parameters. These values are passed into
+ the pdActionCustomNewControl call. Since the custom control mechanism is also used by QuickTime's
+ default effect dialogs, you should be prepared to pass onto the base effect any pdActionCustomNewControl
+ calls for type/id pairs that you do not handle yourself. When pdActionCustomNewControl is called
+ for controls of types handled by QuickTime, customType is kParameterAtomTypeAndID and customID is
+ the ID of the parameter atom.
+*/
+
+
+/*
+ pdActionCustomNewControlControl is called by application to create a new custom control or set of controls
+ for an effect parameter. When pdActionCustomNewControl is called, the effect should perform any
+ basic allocation it needs for storage and return the result in storage. The options parameter tells
+ the control if the application wishes to support interpolated, optionally interpolated, or a single
+ value parameter.
+
+ Since pdActionCustomNewControlControl may be called upon your effect for other items within the
+ dialog, it is recommended that your effect have an easy way to determine which controls it implements:
+ a) by having storage be a pointer with an OSType at the begining to mark controls
+ implemented by your code.
+ - or -
+ b) keeping track in your component globals those custom controls which you have created.
+
+ When pdActionCustomDisposeControl is called any allocation done by the control should be disposed. In addition,
+ pdActionCustomDisposeControl is the last chance the control has to commit any user changes into the sample.
+ Controls which implement type in fields typically need to commit any final user edits at this time.
+*/
+struct QTCustomControlNewRecord {
+ void * storage; /* storage allocated/disposed by the control*/
+ QTParameterDialogOptions options; /* options used to control interpolation/not*/
+ QTAtomContainer sample; /* sample that holds the data to be edited*/
+ long customType; /* custom type and ID specified by effect for creation of this control*/
+ long customID;
+};
+typedef struct QTCustomControlNewRecord QTCustomControlNewRecord;
+typedef QTCustomControlNewRecord * QTCustomControlNewPtr;
+/*
+ pdActionCustomPositionControl is called by the application to position the control within a window or dialog.
+
+ The control should determine if it will fit in the alloted area and position itself there. It should also
+ return the space taken up by the control. Note you are free to implement controls which are variable in size depending upon
+ which parameter you are editing. You need not scale your control to the requested size. If the area presented to your
+ control is too small, set didFit to false. You should still return in used the size you would have liked to use for
+ the control. The application will then try again with a new size. Note that all
+ controls must be able to fit within a minimum of 300 by 250 pixels.
+
+ Custom controls that draw text should make note of the text font, size, and style at this time in order
+ to properly display within application windows.
+
+ Note that the default state for the control is hidden. You will receive a pdActionCustomShowHideControl
+ in order to enable your control. You should not draw your control in response to pdActionCustomPositionControl.
+*/
+struct QTCustomControlPositionControlRecord {
+ void * storage; /* storage for the control*/
+ WindowPtr window; /* window to be used by the control*/
+ Rect location; /* location within the window the control may use*/
+ Rect used; /* returned by the control to indicate size it actually used*/
+ Boolean didFit; /* did the control fit in the specified area?*/
+ Boolean pad[3];
+};
+typedef struct QTCustomControlPositionControlRecord QTCustomControlPositionControlRecord;
+typedef QTCustomControlPositionControlRecord * QTCustomControlPositionControlPtr;
+/*
+ pdActionCustomShowHideControl is called when the application wishes to enable/disable your control, or
+ completely disable drawing of the control
+
+ Your control should make note of the new state (if different from the last) and perform an InvalRect()
+ on your drawing area, or you may draw your control's initial state in the case of show. You should not
+ attempt to erase your control as the result of a hide -- instead call InvalRect() and allow the application
+ to process the resulting event as appropriate.
+*/
+struct QTCustomControlShowHideControlRecord {
+ void * storage; /* storage for the control*/
+ Boolean show; /* display the control?*/
+ Boolean enable; /* enable the control (ie, black vs gray display)*/
+ Boolean pad[2];
+};
+typedef struct QTCustomControlShowHideControlRecord QTCustomControlShowHideControlRecord;
+typedef QTCustomControlShowHideControlRecord * QTCustomControlShowHideControlPtr;
+/*
+ pdActionCustomHandleEvent is called to allow your custom control to process events.
+
+ Typical controls handle the following events:
+ - activate - to draw your control in normal/gray mode
+ - update - to draw your control
+ - mouseDown - to handle clicks
+ - keyDown - to handle typing when you have focus
+ - idle - to perform idle drawing (if applicable)
+ If your control handles the entire event, set didProcess to true. If
+ you handled the event, but other controls still need the event, set didProcess to false.
+
+ If your control supports the concept of focus for the purposes of typing (such as by having
+ a type-in box for the parameter) then you set the tookFocus Boolean as part of your processing
+ of the event. It is assumed that your control will draw the appropriate focus UI as a result, and
+ the calling application will disable any focus drawing within the remainder of the UI.
+
+ By default, custom controls are not given idle time. If you need idle time, set needIdle to true
+ in response to the even that causes you to need idle (typically the taking of focus, or the first draw).
+ Your control will continue to be given idle events until you set needIdle to false in response to
+ a nullEvent.
+*/
+struct QTCustomControlHandleEventRecord {
+ void * storage; /* storage for the control*/
+ EventRecord * pEvent; /* event to process*/
+ Boolean didProcess; /* did we process entire event?*/
+ Boolean tookFocus; /* did we take focus as a result of this event (typically mouseDowns)*/
+ Boolean needIdle; /* does this control need idle events?*/
+ Boolean didEdit; /* did we edit the samples?*/
+};
+typedef struct QTCustomControlHandleEventRecord QTCustomControlHandleEventRecord;
+typedef QTCustomControlHandleEventRecord * QTCustomControlHandleEventPtr;
+/*
+ pdActionCustomSetFocus is called in order to set or advance the current focus of the user interface, typically
+ because the user has pressed the tab or shift-tab keys, or because the user clicked within the area defined by
+ your control.
+
+ Your control will be called with pdActionFocusFirst, pdActionFocusLast, or pdActionFocusOff to set or clear focus on your
+ control. Your control will be called with pdActionFocusForward or pdActionFocusBackward to cycle
+ focus within your control (if your control has multiple focus). If your control does not support focus,
+ or the focus request results in focus moving beyond your supported range, return pdActionFocusOff in
+ the focus parameter. Otherwise, return the focus that you set.
+
+ Controls which have no focus would always set focus to be pdActionFocusOff.
+
+ Controls with a single focus would set pdActionFocusFirst when requsted to set either
+ pdActionFocusFirst or pdActionFocusLast, and would set pdActionFocusOff for either
+ pdActionFocusForward or pdActionFocusBackward.
+*/
+enum {
+ pdActionFocusOff = 0, /* no focus */
+ pdActionFocusFirst = 1, /* focus on first element */
+ pdActionFocusLast = 2, /* focus on last element */
+ pdActionFocusForward = 3, /* focus on next element */
+ pdActionFocusBackward = 4 /* focus on previous element */
+};
+
+struct QTCustomControlSetFocusRecord {
+ void * storage; /* storage for the control*/
+ long focus; /* focus to set, return resulting focus*/
+};
+typedef struct QTCustomControlSetFocusRecord QTCustomControlSetFocusRecord;
+typedef QTCustomControlSetFocusRecord * QTCustomControlSetFocusPtr;
+/*
+ pdActionCustomSetEditMenu will be called to inform your custom control of the location of the edit menu.
+
+ If your control has editing boxes, this is useful in order to allow the user to perform cut/copy/paste operations
+ when focus is on one of these boxes.
+*/
+struct QTCustomControlSetEditMenuRecord {
+ void * storage; /* storage for the control*/
+ MenuHandle editMenu; /* edit menu, or NIL*/
+};
+typedef struct QTCustomControlSetEditMenuRecord QTCustomControlSetEditMenuRecord;
+typedef QTCustomControlSetEditMenuRecord * QTCustomControlSetEditMenuPtr;
+/*
+ pdActionCustomSetPreviewPicture will be called to inform your custom control of preview information that you
+ may wish to use in the drawing of your user interface.
+*/
+struct QTCustomControlSetPreviewPictureRecord {
+ void * storage; /* storage for the control*/
+ QTParamPreviewPtr preview; /* preview to set*/
+};
+typedef struct QTCustomControlSetPreviewPictureRecord QTCustomControlSetPreviewPictureRecord;
+typedef QTCustomControlSetPreviewPictureRecord * QTCustomControlSetPreviewPicturePtr;
+/*
+ pdActionCustomSetEditCallout tells your control of the need by the application to be informed of
+ changes to the parameter values (typically for the purposes of updating previews).
+
+ If a callout is available, your custom control should call it whenever a change has been
+ made to the parameter(s) that your control is editing (as a result of user actions, most typically).
+ If you choose not to implement this, live dragging or updating of values will not work.
+*/
+struct QTCustomControlSetEditCalloutRecord {
+ void * storage; /* storage for the control*/
+ QTParamPreviewCalloutPtr callout; /* requested callout, or NIL to disable*/
+};
+typedef struct QTCustomControlSetEditCalloutRecord QTCustomControlSetEditCalloutRecord;
+typedef QTCustomControlSetEditCalloutRecord * QTCustomControlSetEditCalloutPtr;
+/*
+ pdActionCustomGetEnableValue allows you to return a value for the purposes of enabling/disabling
+ other controls.
+ Most custom controls do not need to implement this call.
+
+ If your control is able to control the enabling and disabling of other parameter controls (such as is done
+ by standard pop up or enumerated type controls), you need to supply a value that can be use for greater than/less than
+ types of comparisons.
+*/
+struct QTCustomControlGetEnableValueRecord {
+ void * storage; /* storage for the control*/
+ long currentValue; /* value to compare against for enable/disable purposes*/
+};
+typedef struct QTCustomControlGetEnableValueRecord QTCustomControlGetEnableValueRecord;
+typedef QTCustomControlGetEnableValueRecord * QTCustomControlGetEnableValuePtr;
+/*
+ pdActionCustomSetSampleTime tells your control information from the application about the duration
+ and start time for the sample being edited.
+
+ Most controls do not need this information, but some may choose to use it in the interface
+ they present the user. However, this call need not be made by applications, so the custom
+ control should be prepared to run when the sample time information is not available.
+*/
+struct QTCustomControlSetSampleTimeRecord {
+ void * storage; /* storage for the control*/
+ QTParamSampleTimePtr sampleTime; /* sample time information or NIL*/
+};
+typedef struct QTCustomControlSetSampleTimeRecord QTCustomControlSetSampleTimeRecord;
+typedef QTCustomControlSetSampleTimeRecord * QTCustomControlSetSampleTimePtr;
+/*
+ pdActionCustomGetValue tells your control to store any value(s) into the specified atom container.
+
+ All custom controls must implement this call
+*/
+struct QTCustomControlGetValueRecord {
+ void * storage; /* storage for the control*/
+ QTAtomContainer sample; /* sample to store into*/
+};
+typedef struct QTCustomControlGetValueRecord QTCustomControlGetValueRecord;
+typedef QTCustomControlGetValueRecord * QTCustomControlGetValuePtr;
+/*
+ pdActionCustomDoEditCommand tells your control to handle edit commands if it allow focus and type in boxes.
+
+ All custom controls must implement this call if they support edit boxes
+*/
+struct QTCustomControlDoEditCommandRecord {
+ void * storage; /* storage for the control*/
+ long command; /* command to execute, return 0 here if processed*/
+};
+typedef struct QTCustomControlDoEditCommandRecord QTCustomControlDoEditCommandRecord;
+typedef QTCustomControlDoEditCommandRecord * QTCustomControlDoEditCommandPtr;
+typedef long QTParameterDialog;
+enum {
+ elOptionsIncludeNoneInList = 0x00000001 /* "None" effect is included in list */
+};
+
+typedef long QTEffectListOptions;
+enum {
+ effectIsRealtime = 0 /* effect can be rendered in real time */
+};
+
+/*
+ QTGetEffectsListExtended is a call that provides for
+ more advanced filtering of effects to be placed into the
+ effect list. Applications can filter on:
+ 1) number of input sources
+ 2) effect major or minor class
+ 3) custom filtering through a callback
+ The callback will be called for each effect which passes
+ the other criteria for inclusion. If the callback
+ returns a true result the effect will be included in the list.
+
+ Note that your filter proc may receive multiple effects from various
+ manufacturers. If you return true for multiple effects of a given type
+ only the one with the higher parameter version number will be included.
+ If you wish other filtering (such as effects from a given manufacturer, you
+ can do this by return false for the other effects and true for those
+ that you prefer.
+*/
+typedef CALLBACK_API( Boolean , QTEffectListFilterProcPtr )(Component effect, long effectMinSource, long effectMaxSource, OSType majorClass, OSType minorClass, void *refcon);
+typedef STACK_UPP_TYPE(QTEffectListFilterProcPtr) QTEffectListFilterUPP;
+/*
+ * QTGetEffectsList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetEffectsList(
+ QTAtomContainer * returnedList,
+ long minSources,
+ long maxSources,
+ QTEffectListOptions getOptions);
+
+
+/*
+ * QTGetEffectsListExtended()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetEffectsListExtended(
+ QTAtomContainer * returnedList,
+ long minSources,
+ long maxSources,
+ QTEffectListOptions getOptions,
+ OSType majorClass,
+ OSType minorClass,
+ QTEffectListFilterUPP filterProc,
+ void * filterRefCon);
+
+
+/*
+ * QTCreateStandardParameterDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTCreateStandardParameterDialog(
+ QTAtomContainer effectList,
+ QTAtomContainer parameters,
+ QTParameterDialogOptions dialogOptions,
+ QTParameterDialog * createdDialog);
+
+
+/*
+ * QTIsStandardParameterDialogEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTIsStandardParameterDialogEvent(
+ EventRecord * pEvent,
+ QTParameterDialog createdDialog);
+
+
+/*
+ * QTDismissStandardParameterDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTDismissStandardParameterDialog(QTParameterDialog createdDialog);
+
+
+/*
+ * QTStandardParameterDialogDoAction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTStandardParameterDialogDoAction(
+ QTParameterDialog createdDialog,
+ long action,
+ void * params);
+
+
+/*
+ * QTGetEffectSpeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetEffectSpeed(
+ QTAtomContainer parameters,
+ Fixed * pFPS);
+
+
+
+
+/* Movie Audio/Sound APIs*/
+
+/*
+ SetMovieAudioGain:
+ This API sets the audio gain level for the mixed audio output of a movie. This alters the
+ perceived volume of the movie's playback. The gain level is multiplicative; eg. 0.0
+ is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the movie is not
+ modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order
+ to allow quiet movies to be boosted in volume. Settings higher than 1.0 may result in
+ audio clipping, of course. The setting is not stored in the movie. It is only used until
+ the movie is closed, at which time it is not saved.
+ */
+/*
+ * SetMovieAudioGain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetMovieAudioGain(
+ Movie m,
+ Float32 gain,
+ UInt32 flags);
+
+
+/*
+ * GetMovieAudioGain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioGain(
+ Movie m,
+ Float32 * gain,
+ UInt32 flags);
+
+
+/*
+ SetTrackAudioGain:
+ This API sets the audio gain level for the audio output of a track. This alters the
+ perceived volume of the track's playback. The gain level is multiplicative; eg. 0.0
+ is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the track is not
+ modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order
+ to allow quiet tracks to be boosted in volume. Settings higher than 1.0 may result in
+ audio clipping, of course. The setting is not stored in the movie. It is only used until
+ the movie is closed, at which time it is not saved.
+ */
+/*
+ * SetTrackAudioGain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetTrackAudioGain(
+ Track t,
+ Float32 gain,
+ UInt32 flags);
+
+
+/*
+ * GetTrackAudioGain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetTrackAudioGain(
+ Track t,
+ Float32 * gain,
+ UInt32 flags);
+
+
+/*
+ SetMovieAudioBalance:
+ This API sets the audio balance level for the mixed audio output of a movie. -1.0
+ means full left, 0.0 means centered, and 1.0 means full right. The setting is not
+ stored in the movie. It is only used until the movie is closed, at which time it
+ is not saved.
+ */
+/*
+ * SetMovieAudioBalance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetMovieAudioBalance(
+ Movie m,
+ Float32 leftRight,
+ UInt32 flags);
+
+
+/*
+ * GetMovieAudioBalance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioBalance(
+ Movie m,
+ Float32 * leftRight,
+ UInt32 flags);
+
+
+/*
+ SetMovieAudioMute:
+ This API mutes or unmutes the mixed audio output from a movie.
+ */
+/*
+ * SetMovieAudioMute()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetMovieAudioMute(
+ Movie m,
+ Boolean muted,
+ UInt32 flags);
+
+
+/*
+ * GetMovieAudioMute()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioMute(
+ Movie m,
+ Boolean * muted,
+ UInt32 flags);
+
+
+/*
+ SetTrackAudioMute:
+ This API mutes or unmutes the audio output from a track.
+ */
+/*
+ * SetTrackAudioMute()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetTrackAudioMute(
+ Track t,
+ Boolean muted,
+ UInt32 flags);
+
+
+/*
+ * GetTrackAudioMute()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetTrackAudioMute(
+ Track t,
+ Boolean * muted,
+ UInt32 flags);
+
+
+
+
+/*
+ */
+enum {
+
+ /*
+ * Properties of an audio presentation (eg. a movie's audio)
+ */
+ kQTPropertyClass_Audio = FOUR_CHAR_CODE('audi')
+};
+
+
+/*
+ */
+enum {
+
+ /*
+ * kQTAudioPropertyID_Gain: Value is Float32. Get/Set/Listenable
+ * The audio gain of a movie or track. The gain level is
+ * multiplicative; eg. 0.0 is silent, 0.5 is -6dB, 1.0 is 0dB (ie.
+ * the audio from the movie is not modified), 2.0 is +6dB, etc. The
+ * gain level can be set higher than 1.0 in order to allow quiet
+ * movies/tracks to be boosted in volume. Settings higher than 1.0
+ * may result in audio clipping, of course. The setting is not stored
+ * in the movie/track. It is only used until the movie/track is
+ * disposed.
+ */
+ kQTAudioPropertyID_Gain = FOUR_CHAR_CODE('gain'), /* value is Float32. Gettable/Settable.*/
+
+ /*
+ * kQTAudioPropertyID_Mute: Value is Boolean. Get/Set/Listenable
+ * The audio mute state of a movie or track. If true, the
+ * movie/track is muted. The setting is not stored in the
+ * movie/track. It is only used until the movie/track is disposed.
+ */
+ kQTAudioPropertyID_Mute = FOUR_CHAR_CODE('mute'), /* value is Boolean. Gettable/Settable.*/
+
+ /*
+ * kQTAudioPropertyID_Balance: Value is Float32. Get/Set/Listenable
+ * The audio balance of a movie. -1.0 means full left, 0.0 means
+ * centered, and 1.0 means full right. The setting is not stored in
+ * the movie. It is only used until the movie is disposed. This is
+ * only supported for movies, not tracks.
+ */
+ kQTAudioPropertyID_Balance = FOUR_CHAR_CODE('bala'), /* value is Float32. Gettable/Settable.*/
+
+ /*
+ * kQTAudioPropertyID_RateChangesPreservePitch: Value is Boolean.
+ * Get/Set When the playback rate is not unity, audio must be
+ * resampled in order to play at the new rate. The default
+ * resampling affects the pitch of the audio (eg, playing at 2x speed
+ * raises the pitch by an octave, 1/2x lowers an octave). If this
+ * property is set on the Movie, an alternative algorithm may be
+ * used, which alters the speed without changing the pitch. As this
+ * is more computationally expensive, this property may be silently
+ * ignored on some slow CPUs. Media handlers may query this movie
+ * property and honor it when performing Scaled Edits. This property
+ * can be specified as a property to the NewMovieFromProperties()
+ * API. Currently, it has no effect when set on an open movie.
+ */
+ kQTAudioPropertyID_RateChangesPreservePitch = FOUR_CHAR_CODE('aucp'), /* value is Boolean. Gettable/Settable.*/
+
+ /*
+ * kQTAudioPropertyID_Pitch: Value is Float32. Get/Set/Listenable
+ * Movie pitch adjustment. Adjusts the pitch of all audio tracks
+ * that contribute to the AudioContext mix. Pitch control takes
+ * effect only if kQTAudioPropertyID_RateChangesPreservePitch is in
+ * effect, otherwise returns kQTMessageNotHandledErr. The Float32
+ * value is specified in cents: 0.0 == no change, 1.0 == one cent up,
+ * 100.0 == one semi-tone up, -1.0 == one cent down. The most useful
+ * ranges for pitch are +/- 1200. (ie, one octave)
+ */
+ kQTAudioPropertyID_Pitch = FOUR_CHAR_CODE('pitc'), /* value is Float32. Get/Set/Listenable.*/
+
+ /*
+ * kQTAudioPropertyID_RenderQuality: Value is UInt32. Get/Set
+ * Movie audio render quality takes effect for movie playback. UInt32
+ * values vary from 0x00 (kQTAudioRenderQuality_Min) to 0x7F
+ * (kQTAudioRenderQuality_Max). We also define a special value
+ * (kQTAudioRenderQuality_PlaybackDefault) which resets the quality
+ * settings of the playback processing chain to values that are
+ * chosen to be an optimal balance of performance and quality.
+ */
+ kQTAudioPropertyID_RenderQuality = FOUR_CHAR_CODE('qual'), /* value is UInt32. Gettable/Settable.*/
+
+ /*
+ * kQTAudioPropertyID_ChannelLayout: Value is AudioChannelLayout.
+ * Get/Set The AudioChannelLayout of a track, or other audio stream.
+ * Currently only settable/gettable for tracks. (See
+ * kQTAudioPropertyID_SummaryChannelLayout if you want to get the
+ * summary AudioChannelLayout of a movie.) Note that this is a
+ * variable sized property (since it may contain an array of
+ * ChannelDescriptions; see CoreAudioTypes.h). You must get the size
+ * first (by calling QTGetTrackPropertyInfo), allocate a struct of
+ * that size, and then get the property.
+ */
+ kQTAudioPropertyID_ChannelLayout = FOUR_CHAR_CODE('tlay'), /* value is AudioChannelLayout. Gettable/Settable.*/
+
+ /*
+ * kQTAudioPropertyID_SummaryChannelLayout: Value is
+ * AudioChannelLayout. Get-only The summary AudioChannelLayout of a
+ * movie, or other grouping of audio streams. All like-labelled
+ * channels are combined, so there are no duplicates. For example,
+ * if there is a stereo (L/R) track, 5 single-channel tracks marked
+ * Left, Right, Left Surround, Right Surround and Center, and a 4
+ * channel track marked L/R/Ls/Rs, then the summary
+ * AudioChannelLayout will be L/R/Ls/Rs/C. It will _not_ be
+ * L/R/L/R/Ls/Rs/C/L/R/Ls/Rs. Note that this is a variable sized
+ * property (since it may contain an array of ChannelDescriptions;
+ * see CoreAudioTypes.h). You must get the size first (by calling,
+ * for example, QTGetMoviePropertyInfo) allocate a struct of that
+ * size, and then get the property.
+ */
+ kQTAudioPropertyID_SummaryChannelLayout = FOUR_CHAR_CODE('clay'), /* value is AudioChannelLayout. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_DeviceChannelLayout: Value is
+ * AudioChannelLayout. Get-only The AudioChannelLayout of the device
+ * this movie is playing to. Note that this is a variable sized
+ * property (since it may contain an array of ChannelDescriptions;
+ * see CoreAudioTypes.h). You must get the size first (by calling,
+ * for example, QTGetMoviePropertyInfo) allocate a struct of that
+ * size, and then get the property.
+ */
+ kQTAudioPropertyID_DeviceChannelLayout = FOUR_CHAR_CODE('dcly'), /* value is AudioChannelLayout. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_DeviceASBD: Value is
+ * AudioStreamBasicDescription. Get-only Returns the
+ * AudioStreamBasicDescription of the device this movie is playing
+ * to. The interesting fields are the sample rate, which reflects
+ * device's current state, and the number of channels, which matches
+ * what is reported by kQTAudioPropertyID_DeviceChannelLayout.
+ */
+ kQTAudioPropertyID_DeviceASBD = FOUR_CHAR_CODE('dasd'), /* value is AudioStreamBasicDescription. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_SummaryASBD: Value is
+ * AudioStreamBasicDescription. Get-only Returns the
+ * AudioStreamBasicDescription corresponding to the Summary Mix of a
+ * movie. This will describe non-interleaved, Float32 linear PCM
+ * data, with a sample rate equal to the highest audio sample rate
+ * found among the sound tracks contributing to the AudioContext mix,
+ * and a number of channels that matches what is reported by
+ * kQTAudioPropertyID_SummaryChannelLayout.
+ */
+ kQTAudioPropertyID_SummaryASBD = FOUR_CHAR_CODE('sasd'), /* value is AudioStreamBasicDescription. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_FormatString: Value is CFStringRef. Get-only
+ * kQTAudioPropertyID_FormatString returns a localized, human
+ * readable string describing the audio format as a CFStringRef, i.e.
+ * "MPEG Layer 3". You may get this property from a SoundDescription
+ * Handle by calling QTSoundDescriptionGetProperty(), or from a
+ * StandardAudioCompression (scdi/audi) component instance by calling
+ * QTGetComponentProperty().
+ */
+ kQTAudioPropertyID_FormatString = FOUR_CHAR_CODE('fstr'), /* value is CFStringRef. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_ChannelLayoutString: Value is CFStringRef.
+ * Get-only kQTAudioPropertyID_ChannelLayoutString returns a
+ * localized, human readable string describing the audio channel
+ * layout as a CFStringRef, i.e. "5.0 (L R C Ls Rs)". You may get
+ * this property from a SoundDescription Handle by calling
+ * QTSoundDescriptionGetProperty(), or from a
+ * StandardAudioCompression (scdi/audi) component instance by calling
+ * QTGetComponentProperty().
+ */
+ kQTAudioPropertyID_ChannelLayoutString = FOUR_CHAR_CODE('lstr'), /* value is CFStringRef. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_SampleRateString: Value is CFStringRef.
+ * Get-only kQTAudioPropertyID_SampleRateString returns a localized,
+ * human readable string describing the audio sample rate as a
+ * CFStringRef, i.e. "44.100 kHz". You may get this property from a
+ * SoundDescription Handle by calling
+ * QTSoundDescriptionGetProperty(), or from a
+ * StandardAudioCompression (scdi/audi) component instance by calling
+ * QTGetComponentProperty().
+ */
+ kQTAudioPropertyID_SampleRateString = FOUR_CHAR_CODE('rstr'), /* value is CFStringRef. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_SampleSizeString: Value is CFStringRef.
+ * Get-only kQTAudioPropertyID_SampleSizeString returns a localized,
+ * human readable string describing the audio sample size as a
+ * CFStringRef, i.e. "24-bit". Note, this property will only return a
+ * valid string if the format is uncompressed (LPCM) audio. You may
+ * get this property from a SoundDescription Handle by calling
+ * QTSoundDescriptionGetProperty(), or from a
+ * StandardAudioCompression (scdi/audi) component instance by calling
+ * QTGetComponentProperty().
+ */
+ kQTAudioPropertyID_SampleSizeString = FOUR_CHAR_CODE('sstr'), /* value is CFStringRef. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_BitRateString: Value is CFStringRef. Get-only
+ * kQTAudioPropertyID_BitRateString returns a localized, human
+ * readable string describing the audio bit rate as a CFStringRef,
+ * i.e. "12 kbps". You may get this property from a SoundDescription
+ * Handle by calling QTSoundDescriptionGetProperty(), or from a
+ * StandardAudioCompression (scdi/audi) component instance by calling
+ * QTGetComponentProperty().
+ */
+ kQTAudioPropertyID_BitRateString = FOUR_CHAR_CODE('bstr'), /* value is CFStringRef. Gettable.*/
+
+ /*
+ * kQTAudioPropertyID_SummaryString: Value is CFStringRef. Get-only
+ * kQTAudioPropertyID_SummaryString returns a localized, human
+ * readable string summarizing the audio as a CFStringRef, i.e.
+ * "16-bit Integer (Big Endian), Stereo (L R), 48.000 kHz". You may
+ * get this property from a SoundDescription Handle calling
+ * QTSoundDescriptionGetProperty(), or from a
+ * StandardAudioCompression (scdi/audi) component instance by calling
+ * QTGetComponentProperty().
+ */
+ kQTAudioPropertyID_SummaryString = FOUR_CHAR_CODE('asum') /* value is CFStringRef. Gettable.*/
+};
+
+
+
+
+/*
+ * Audio Render Quality constants
+ *
+ * Summary:
+ * Render quality is an integer that ranges from
+ * kQTAudioRenderQuality_Min to kQTAudioRenderQuality_Max.
+ * kQTAudioRenderQuality_Low, kQTAudioRenderQuality_Medium, and
+ * kQTAudioRenderQuality_High are the preferred values.
+ */
+enum {
+
+ /*
+ * The maximum value.
+ */
+ kQTAudioRenderQuality_Max = 0x7F,
+
+ /*
+ * A value that increases quality but requires more computational
+ * resources.
+ */
+ kQTAudioRenderQuality_High = 0x60,
+
+ /*
+ * A value that represents a good quality/performance tradeoff.
+ */
+ kQTAudioRenderQuality_Medium = 0x40,
+
+ /*
+ * A value that reduces quality for better performance.
+ */
+ kQTAudioRenderQuality_Low = 0x20,
+
+ /*
+ * The minimum value.
+ */
+ kQTAudioRenderQuality_Min = 0x00,
+
+ /*
+ * A QuickTime-specific value that selects optimal settings for
+ * playback.
+ */
+ kQTAudioRenderQuality_PlaybackDefault = 0x8000
+};
+
+
+/* whatMixToMeter constants*/
+
+/*
+ */
+enum {
+
+ /*
+ * kQTAudioMeter_DeviceMix: Meter the movie's mix to the device
+ * channel layout. To determine the channel layout of this mix, call
+ * QTGetMovieProperty(..., kQTAudioPropertyID_DeviceChannelLayout,
+ * ...).
+ */
+ kQTAudioMeter_DeviceMix = kQTAudioPropertyID_DeviceChannelLayout,
+
+ /*
+ * kQTAudioMeter_StereoMix: Meter a stereo (two-channel) mix of the
+ * enabled sound tracks in the movie. This option is offered only for
+ * MovieAudioFrequencyMetering.
+ */
+ kQTAudioMeter_StereoMix = FOUR_CHAR_CODE('stmx'),
+
+ /*
+ * kQTAudioMeter_MonoMix: Meter a monarual (one-channel) mix of the
+ * enabled sound tracks in the movie. This option is offered only for
+ * MovieAudioFrequencyMetering.
+ */
+ kQTAudioMeter_MonoMix = FOUR_CHAR_CODE('momx')
+};
+
+/*
+ SetMovieAudioVolumeMeteringEnabled:
+ This API enables or disables volume metering of a particular mix of this movie. The only possible
+ mix to meter is currently kQTAudioMeter_DeviceMix. See kQTAudioMeter_DeviceMix above to see
+ how to determine the channel layout of the movie's device mix.
+ */
+/*
+ * SetMovieAudioVolumeMeteringEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetMovieAudioVolumeMeteringEnabled(
+ Movie m,
+ FourCharCode whatMixToMeter,
+ Boolean enabled);
+
+
+/*
+ * GetMovieAudioVolumeMeteringEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioVolumeMeteringEnabled(
+ Movie m,
+ FourCharCode whatMixToMeter,
+ Boolean * enabled);
+
+
+/*
+ GetMovieAudioVolumeLevels:
+ This API returns the current volume meter levels of the movie. It can return both average power
+ levels and peak hold levels. whatMixToMeter must be set to kQTAudioMeter_DeviceMix. Either
+ QTAudioVolumeLevels parameter may be nil. If non-nil, each must have its numChannels field set to
+ the number of channels in the movie's device mix, and must be allocated large enough to hold levels
+ for all those channels. See kQTAudioMeter_DeviceMix above to see how to determine the channel
+ layout of the device mix. The levels returned are measured in decibels, where 0.0 means full volume,
+ -6.0 means half volume, -12.0 means quarter volume, and -inf means silence.
+ */
+struct QTAudioVolumeLevels {
+ UInt32 numChannels;
+ Float32 level[1]; /* numChannels entries*/
+};
+typedef struct QTAudioVolumeLevels QTAudioVolumeLevels;
+/*
+ * GetMovieAudioVolumeLevels()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioVolumeLevels(
+ Movie m,
+ FourCharCode whatMixToMeter,
+ QTAudioVolumeLevels * pAveragePowerLevels,
+ QTAudioVolumeLevels * pPeakHoldLevels);
+
+
+/*
+ SetTrackAudioVolumeMeteringEnabled:
+ This API enables or disables volume metering of a particular track of this movie.
+ This API should be used in preference to the legacy SoundMedia interface, but
+ may interfere with its operation if both are in use at the same time.
+*/
+/*
+ * SetTrackAudioVolumeMeteringEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetTrackAudioVolumeMeteringEnabled(
+ Track t,
+ Boolean enabled);
+
+
+/*
+ * GetTrackAudioVolumeMeteringEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetTrackAudioVolumeMeteringEnabled(
+ Track t,
+ Boolean * enabled);
+
+
+
+/*
+ GetTrackAudioVolumeLevels:
+ This API returns the current volume meter levels of the track. It can return both average power
+ levels and peak hold levels. Either QTAudioVolumeLevels parameter may be nil. If non-nil,
+ each must have its numChannels field set to the number of channels of interest, and must be
+ allocated large enough to hold levels for all those channels.
+ The levels returned are measured in decibels, where 0.0 means full volume,
+ -6.0 means half volume, -12.0 means quarter volume, and -inf means silence.
+*/
+/*
+ * GetTrackAudioVolumeLevels()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetTrackAudioVolumeLevels(
+ Track t,
+ QTAudioVolumeLevels * pAveragePowerLevels,
+ QTAudioVolumeLevels * pPeakHoldLevels);
+
+
+
+/*
+ SetMovieAudioFrequencyMeteringNumBands:
+ This API configures and enables (or disables) frequency metering for a movie.
+ Note that ioNumBands is an in/out parameter. You specify the number of frequency bands you
+ want to meter, and if that number is higher than is possible (determined by, among other things,
+ the sample rate of the audio being metered), this API will return the number of bands it is
+ actually going to meter. ioNumBands can be nil or a pointer to 0 to disable metering.
+ whatMixToMeter must be set to kQTAudioMeter_StereoMix, kQTAudioMeter_MonoMix, or
+ kQTAudioMeter_DeviceMix. When metering movies playing to audio devices that offer a
+ large number of channels, it may be prohibitively expensive to perform spectral analysis
+ on every channel; in these cases, stereo or mono mix metering may be preferable.
+ */
+/*
+ * SetMovieAudioFrequencyMeteringNumBands()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+SetMovieAudioFrequencyMeteringNumBands(
+ Movie m,
+ FourCharCode whatMixToMeter,
+ UInt32 * ioNumBands);
+
+
+/*
+ * GetMovieAudioFrequencyMeteringNumBands()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioFrequencyMeteringNumBands(
+ Movie m,
+ FourCharCode whatMixToMeter,
+ UInt32 * outNumBands);
+
+
+/*
+ GetMovieAudioFrequencyMeteringBandFrequencies:
+ This API returns the actual chosen middle frequency for each band in the configured
+ frequency metering of a movie. This is useful for labeling visual meters
+ in a user interface. Frequencies are returned in Hz. whatMixToMeter must be set
+ to the same value that was passed most recently to SetMovieAudioFrequencyMeteringNumBands().
+ */
+/*
+ * GetMovieAudioFrequencyMeteringBandFrequencies()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioFrequencyMeteringBandFrequencies(
+ Movie m,
+ FourCharCode whatMixToMeter,
+ UInt32 numBands,
+ Float32 * outBandFrequencies);
+
+
+/*
+ GetMovieAudioFrequencyLevels:
+ This API returns the current frequency meter levels of the movie. pAveragePowerLevels should
+ have its numChannels field set to the number of channels being metered, and its numBands field
+ set to the number of bands being metered (as previously configured). pAveragePowerLevels must be
+ allocated large enough to hold levels for all bands in all channels. The levels are returned with
+ all the band levels for the first channel first, then all the band levels for the second channel, etc.
+ whatMixToMeter must be set to the same value that was passed most recently to
+ SetMovieAudioFrequencyMeteringNumBands().
+ */
+struct QTAudioFrequencyLevels {
+ UInt32 numChannels;
+ UInt32 numFrequencyBands;
+ /* numChannels * numFrequencyBands entries, with the frequency bands for a single channel stored contiguously.*/
+ Float32 level[1];
+};
+typedef struct QTAudioFrequencyLevels QTAudioFrequencyLevels;
+/*
+ * GetMovieAudioFrequencyLevels()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+GetMovieAudioFrequencyLevels(
+ Movie m,
+ FourCharCode whatMixToMeter,
+ QTAudioFrequencyLevels * pAveragePowerLevels);
+
+
+
+/* Movie Audio Extraction*/
+
+/*
+ MovieAudioExtractionBegin:
+ This API must be called before doing any movie audio extraction. The returned session
+ object is to be passed to the other movie audio extraction APIs. Note that the extracted
+ format defaults to the aggregate channel layout of the movie (eg. all Rights mixed together,
+ all Left Surrounds mixed together, etc), 32-bit float, de-interleaved, with the sample rate
+ set to the highest sample rate found in the movie. You can get this info, and you can also
+ set the format to be something else (as long as it is uncompressed, and you do it before
+ the first call to MovieAudioExtractionFillBuffer).
+ */
+typedef struct MovieAudioExtractionRefRecord* MovieAudioExtractionRef;
+/*
+ * MovieAudioExtractionBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+MovieAudioExtractionBegin(
+ Movie m,
+ UInt32 flags,
+ MovieAudioExtractionRef * outSession);
+
+
+/*
+ MovieAudioExtractionEnd:
+ This API must be called when movie audio extraction is complete.
+ */
+/*
+ * MovieAudioExtractionEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+MovieAudioExtractionEnd(MovieAudioExtractionRef session);
+
+
+/* Movie audio extraction property classes*/
+
+/*
+ */
+enum {
+
+ /*
+ * Properties of the movie being extracted from
+ */
+ kQTPropertyClass_MovieAudioExtraction_Movie = FOUR_CHAR_CODE('xmov'),
+
+ /*
+ * Properties of the output audio
+ */
+ kQTPropertyClass_MovieAudioExtraction_Audio = FOUR_CHAR_CODE('xaud')
+};
+
+/* "Movie class" property IDs*/
+
+/*
+ */
+enum {
+
+ /*
+ * kQTMovieAudioExtractionMoviePropertyID_CurrentTime: Value is
+ * TimeRecord (set & get) When setting, set the timescale to anything
+ * you want (output audio sample rate, movie timescale) When getting,
+ * the timescale will be output audio sample rate for best accuracy.
+ */
+ kQTMovieAudioExtractionMoviePropertyID_CurrentTime = FOUR_CHAR_CODE('time'), /* value is TimeRecord. Get/Set.*/
+
+ /*
+ * kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete: Value
+ * is Boolean (set & get) Set to implement export of all audio
+ * channels without mixing. When this is set and the extraction asbd
+ * or channel layout are read back, you will get information relating
+ * to the re-mapped movie.
+ */
+ kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete = FOUR_CHAR_CODE('disc'), /* value is Boolean. Get/Set.*/
+
+ /*
+ * kQTMovieAudioExtractionAudioPropertyID_RenderQuality: Value is
+ * UInt32 (set & get) Set the render quality to be used for this
+ * audio extraction session. UInt32 values vary from 0x00
+ * (kQTAudioRenderQuality_Min) to 0x7F (kQTAudioRenderQuality_Max).
+ * We also define a special value
+ * (kQTAudioRenderQuality_PlaybackDefault) which resets the quality
+ * settings to the same values that were chosen by default for
+ * playback.
+ */
+ kQTMovieAudioExtractionAudioPropertyID_RenderQuality = FOUR_CHAR_CODE('qual') /* value is UInt32. Get/Set.*/
+};
+
+
+/* "Output Audio class" property IDs*/
+
+/*
+ */
+enum {
+ /* kQTPropertyClass_MovieAudioExtraction_Audio*/
+
+ /*
+ *
+ * QTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription:
+ * Value is AudioStreamBasicDescription. Get/Set. (get any time, set
+ * before first MovieAudioExtractionFillBuffer call) If you get this
+ * property immediately after beginning an audio extraction session,
+ * it will tell you the default extraction format for the movie.
+ * This will include the number of channels in the default movie mix.
+ * If you set the output AudioStreamBasicDescription, it is
+ * recommended that you also set the output channel layout. If your
+ * output ASBD has a different number of channels that the default
+ * extraction mix, you _must_ set the output channel layout. You can
+ * only set PCM output formats. Setting a compressed output format
+ * will fail.
+ */
+ kQTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription = FOUR_CHAR_CODE('asbd'), /* value is AudioStreamBasicDescription. Get/Set.*/
+
+ /*
+ * kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout: Value
+ * is AudioChannelLayout. Get/Set. (get any time, set before first
+ * MovieAudioExtractionFillBuffer call) If you get this property
+ * immediately after beginning an audio extraction session, it will
+ * tell you what the channel layout is for the default extraction mix.
+ */
+ kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout = FOUR_CHAR_CODE('clay'), /* value is AudioChannelLayout. Get/Set.*/
+
+ /*
+ * kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration:
+ * Value is TimeRecord. Get only. Returns the total duration of audio
+ * data that can be expected from the audio extraction session as
+ * currently configured. This is computed by examining all tracks
+ * that contribute to the audio mix, finding the highest end time
+ * among them, adding in all relevant tail times from any Audio
+ * Context Inserts that have been registered, and subtracting any
+ * extraction start time that has been set. If this property is
+ * queried once extraction has started, it will return the remaining
+ * duration, or zero once extraction has advanced to the end of all
+ * contributing audio tracks.
+ */
+ kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration = FOUR_CHAR_CODE('dura') /* value is TimeRecord. Get only.*/
+};
+
+
+/*
+ * MovieAudioExtractionGetPropertyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+MovieAudioExtractionGetPropertyInfo(
+ MovieAudioExtractionRef session,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTPropertyValueType * outPropType,
+ ByteCount * outPropValueSize,
+ UInt32 * outPropertyFlags);
+
+
+/*
+ * MovieAudioExtractionGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+MovieAudioExtractionGetProperty(
+ MovieAudioExtractionRef session,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ QTPropertyValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed);
+
+
+/*
+ * MovieAudioExtractionSetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+MovieAudioExtractionSetProperty(
+ MovieAudioExtractionRef session,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstQTPropertyValuePtr inPropValueAddress);
+
+
+/*
+ MovieAudioExtractionFillBuffer:
+ Each call to MovieAudioExtractionFillBuffer will continue where the last call left off.
+ It will extract as many of the requested PCM frames as it can, given the limits of the
+ buffer(s) supplied, and the limits of the input movie. ioNumFrames will be updated
+ with the exact number of valid frames being returned.
+ When there is no more audio to extract from the movie, MovieAudioExtractionFillBuffer
+ will continue to return noErr, but no audio data will be returned. outFlags will have
+ the kQTMovieAudioExtractionComplete bit set in this case. It is possible that the
+ kQTMovieAudioExtractionComplete bit will accompany the last buffer of valid data.
+ */
+enum {
+ kQTMovieAudioExtractionComplete = (1L << 0)
+};
+
+/*
+ * MovieAudioExtractionFillBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+MovieAudioExtractionFillBuffer(
+ MovieAudioExtractionRef session,
+ UInt32 * ioNumFrames,
+ AudioBufferList * ioData,
+ UInt32 * outFlags);
+
+
+
+/* Audio Context Insert properties for MovieAudioExtraction*/
+
+/*
+ Theory of operations:
+ To register for a Movie Audio Context Insert during Movie Audio Extraction:
+ Set the kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert
+ property on the extraction session, providing the same registry info structure
+ that is used for the QTAudioContextRegisterInsert call.
+ To register for a Track Audio Context Insert during Movie Audio Extraction:
+ Set the kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert
+ property on the extraction session, providing a QTAudioTrackInsertRegistryInfoRef,
+ described below.
+ Note: Once extraction has begun (ie, MovieAudioExtractionFillBuffer() has been
+ called), attempts to set these properties will return qtReadOnlyErr.
+ This is consistent with the behavior of most extraction properties.
+*/
+
+
+/*
+ * QTAudioTrackInsertRegistryInfo
+ *
+ * Summary:
+ * Parameters for registering an Audio Context Track Insert during
+ * Movie Audio Extraction
+ *
+ * Discussion:
+ * This is used with the
+ * kQTMovieAudioExtractionMoviePropertyID_RegisterTrackInsert
+ * property.
+ */
+struct QTAudioTrackInsertRegistryInfo {
+
+ /*
+ * The track of the source movie on which to apply the insert.
+ */
+ Track track;
+
+ /*
+ * The Audio Context Insert registration info (channel layouts,
+ * callbacks).
+ */
+ QTAudioContextInsertRegistryInfo regInfo;
+};
+typedef struct QTAudioTrackInsertRegistryInfo QTAudioTrackInsertRegistryInfo;
+typedef QTAudioTrackInsertRegistryInfo * QTAudioTrackInsertRegistryInfoRef;
+/* Movie and Track level audio context inserts for extraction (kQTPropertyClass_MovieAudioExtraction_Audio)*/
+
+/*
+ */
+enum {
+
+ /*
+ * kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert: Value
+ * is QTAudioContextInsertRegistryInfoRef (Get/Set) Set on an
+ * extraction session to register/unregister an Audio Context Insert
+ * for the movie summary mix. When this property is read back
+ * (MovieAudioExtractionGetProperty) the channel layout pointers will
+ * will be NULL. To unregister, supply a NULL processDataCallback (in
+ * which case the rest of the registry info will be ignored).
+ */
+ kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert = FOUR_CHAR_CODE('regm'), /* value is QTAudioContextInsertRegistryInfoRef. Get/Set.*/
+
+ /*
+ * kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert: Value
+ * is QTAudioTrackInsertRegistryInfoRef (Get/Set) Set on an
+ * extraction session to register/unregister an Audio Context Insert
+ * for a particular track of the movie. When this property is read
+ * back (MovieAudioExtractionGetProperty) the channel layout pointers
+ * will will be NULL. To unregister, supply a NULL
+ * processDataCallback (in which case the rest of the registry info
+ * will be ignored).
+ */
+ kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert = FOUR_CHAR_CODE('regt') /* value is QTAudioTrackInsertRegistryInfoRef. Get/Set.*/
+};
#define kQTMovieAudioExtractionMoviePropertyID_RegisterInsert Use kQTPropertyClass_MovieAudioExtraction_Audio / kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert instead!
- /* Legacy Audio/Sound APIs*/
-
- /*
- * GetMoviePreferredVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- GetMoviePreferredVolume(Movie theMovie);
-
-
- /*
- * SetMoviePreferredVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMoviePreferredVolume(
- Movie theMovie,
- short volume);
-
-
- /*
- * GetMovieVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- GetMovieVolume(Movie theMovie);
-
-
- /*
- * SetMovieVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetMovieVolume(
- Movie theMovie,
- short volume);
-
-
- /*
- * GetTrackVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- GetTrackVolume(Track theTrack);
-
-
- /*
- * SetTrackVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTrackVolume(
- Track theTrack,
- short volume);
-
-
- /*
- * GetTrackSoundLocalizationSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetTrackSoundLocalizationSettings(
- Track theTrack,
- Handle * settings);
-
-
- /*
- * SetTrackSoundLocalizationSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- SetTrackSoundLocalizationSettings(
- Track theTrack,
- Handle settings);
-
-
-
- /* Performance properties*/
-
-
- /*
- */
- enum
- {
- kQTPropertyClass_Performance = FOUR_CHAR_CODE('perf'),
-
- /*
- * kQTPerformancePropertyID_MediaStallCount: Value is UInt32.
- * Get/Set/Listenable Media stalls occur when a media handler is
- * unable to provide its media data at the time required for seamless
- * playback. The exact interpretation of a track's MediaStallCount
- * property is media-handler dependent, but may indicate conditions
- * such as a video frame not decoded in time, the sound queue runs
- * dry, etc. When requested on a specific track, this property
- * returns the current stall count of that track. When requested on
- * a movie, it returns the accumulated MediaStallCounts for all the
- * tracks in the movie. The track property may be set to zero to
- * reset it. Setting the movie property to zero resets all the track
- * counts. Setting the value to anything other than zero yields
- * paramErr. The movie toolbox defers property-changed notifications
- * to any property listeners until the next time the movie is idled.
- */
- kQTPerformancePropertyID_MediaStallCount = FOUR_CHAR_CODE('stal'), /* UInt32, Get/Set/Listenable */
-
- /*
- * kQTPerformancePropertyID_AudioIOOverloadCount: Value is UInt32.
- * Get/Set/Listenable Audio I/O overloads occur when the
- * high-priority audio processing thread does not provide the
- * requested buffer of data in time to ensure seamless playback.
- * This movie property accumulates the number of Audio Device I/O
- * overloads that are detected during playback of a movie. I/O
- * overloads that are detected when the movie is not playing (but
- * other movies may be playing), are not counted. This property may
- * be set to zero to reset the counter. Setting the value to
- * anything other than zero yields paramErr. The movie toolbox defers
- * property-changed notifications to any property listeners until the
- * next time the movie is idled.
- */
- kQTPerformancePropertyID_AudioIOOverloadCount = FOUR_CHAR_CODE('ovct') /* UInt32, Get/Set/Listenable*/
- };
-
-
- /* Movie Visual Adjustment APIs*/
-
-
- /*
- * Summary:
- * Visual movie properties.
- */
- enum
- {
-
- /*
- * Class for visual properties.
- */
- kQTPropertyClass_Visual = FOUR_CHAR_CODE('visu'),
-
- /*
- * The hue adjustment for the movie. The value is a Float32 between
- * -1.0 and 1.0, with 0.0 meaning no adjustment. This adjustment
- * wraps around, such that -1.0 and 1.0 yield the same result.
- */
- kQTVisualPropertyID_Hue = FOUR_CHAR_CODE('vhue'), /* Float32, Read/Write */
-
- /*
- * The color saturation adjustment for the movie. The value is a
- * Float32 percentage (1.0f = 100%), such that 0.0 gives grayscale.
- */
- kQTVisualPropertyID_Saturation = FOUR_CHAR_CODE('vsat'), /* Float32, Read/Write */
-
- /*
- * The brightness adjustment for the movie. The value is a Float32
- * for which -1.0 means full black, 0.0 means no adjustment, and 1.0
- * means full white.
- */
- kQTVisualPropertyID_Brightness = FOUR_CHAR_CODE('vbrt'), /* Float32, Read/Write */
-
- /*
- * The contrast adjustment for the movie. The value is a Float32
- * percentage (1.0f = 100%), such that 0.0 gives solid grey.
- */
- kQTVisualPropertyID_Contrast = FOUR_CHAR_CODE('vcon') /* Float32, Read/Write */
- };
-
-
- /*
- * SetMovieVisualHue()
- *
- * Summary:
- * This API sets the hue adjustment for the movie.
- *
- * Discussion:
- * See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details.
- * The setting is not stored in the movie. It is only used until
- * the movie is closed, at which time it is not saved.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * hue:
- * [in] New hue adjustment.
- *
- * flags:
- * [in] Reserved. Pass 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- SetMovieVisualHue(
- Movie movie,
- Float32 hue,
- UInt32 flags);
-
-
- /*
- * GetMovieVisualHue()
- *
- * Summary:
- * This API gets the hue adjustment for the movie.
- *
- * Discussion:
- * See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * hueOut:
- * [out] Current hue adjustment.
- *
- * flags:
- * [in] Reserved. Pass 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- GetMovieVisualHue(
- Movie movie,
- Float32 * hueOut,
- UInt32 flags);
-
-
-
- /*
- * SetMovieVisualSaturation()
- *
- * Summary:
- * This API sets the color saturation adjustment for the movie.
- *
- * Discussion:
- * See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for
- * details. The setting is not stored in the movie. It is only used
- * until the movie is closed, at which time it is not saved.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * saturation:
- * [in] New saturation adjustment.
- *
- * flags:
- * [in] Reserved. Pass 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- SetMovieVisualSaturation(
- Movie movie,
- Float32 saturation,
- UInt32 flags);
-
-
- /*
- * GetMovieVisualSaturation()
- *
- * Summary:
- * This API gets the color saturation adjustment for the movie.
- *
- * Discussion:
- * See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for
- * details.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * saturationOut:
- * [out] Current saturation adjustment.
- *
- * flags:
- * [in] Reserved. Pass 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- GetMovieVisualSaturation(
- Movie movie,
- Float32 * saturationOut,
- UInt32 flags);
-
-
-
- /*
- * SetMovieVisualBrightness()
- *
- * Summary:
- * This API sets the brightness adjustment for the movie.
- *
- * Discussion:
- * See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for
- * details. The setting is not stored in the movie. It is only used
- * until the movie is closed, at which time it is not saved.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * brightness:
- * [in] New brightness adjustment.
- *
- * flags:
- * [in] Reserved. Pass 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- SetMovieVisualBrightness(
- Movie movie,
- Float32 brightness,
- UInt32 flags);
-
-
- /*
- * GetMovieVisualBrightness()
- *
- * Summary:
- * This API gets the brightness adjustment for the movie.
- *
- * Discussion:
- * See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for
- * details.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * brightnessOut:
- * [out] Current brightness adjustment.
- *
- * flags:
- * [in] Reserved. Pass 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- GetMovieVisualBrightness(
- Movie movie,
- Float32 * brightnessOut,
- UInt32 flags);
-
-
- /*
- * SetMovieVisualContrast()
- *
- * Summary:
- * This API sets the contrast adjustment for the movie.
- *
- * Discussion:
- * See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for
- * details. The setting is not stored in the movie. It is only used
- * until the movie is closed, at which time it is not saved.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * contrast:
- * [in] New contrast adjustment.
- *
- * flags:
- * [in] Reserved. Pass 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- SetMovieVisualContrast(
- Movie movie,
- Float32 contrast,
- UInt32 flags);
-
-
- /*
- * GetMovieVisualContrast()
- *
- * Summary:
- * This API gets the contrast adjustment for the movie.
- *
- * Discussion:
- * See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for
- * details.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * contrastOut:
- * [out] Current contrast adjustment.
- *
- * flags:
- * [in] Reserved. Pass 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(OSStatus)
- GetMovieVisualContrast(
- Movie movie,
- Float32 * contrastOut,
- UInt32 flags);
-
-
-
- /* Movie Aperture APIs*/
-
-
- /*
- * Summary:
- * Visual properties of movies for aperture modes.
- */
- enum
- {
-
- /*
- * You can set the aperture mode property on a movie to indicate
- * whether aspect ratio and clean aperture correction should be
- * performed. The values for this property have the prefix
- * kQTApertureMode_ and are in ImageCompression.h.
- * When a movie is in clean, production or encoded pixels aperture
- * mode, each track's dimensions are overriden by special dimensions
- * for that mode. The original track dimensions are preserved and can
- * be restored by setting the movie into classic aperture mode.
- */
- kQTVisualPropertyID_ApertureMode = FOUR_CHAR_CODE('apmd') /* OSType, Read/Write/Listen */
- };
-
-
- /*
- * Summary:
- * Visual properties of tracks for aperture modes
- *
- * Discussion:
- * A track's dimensions may vary depending on the movie's aperture
- * mode. The dimensions for a given aperture mode may be accessed
- * using these properties.
- */
- enum
- {
-
- /*
- * The track dimensions used in QuickTime 7.0.x and earlier. Setting
- * this property is equivalent to calling SetTrackDimensions, except
- * that SetTrackDimensions also changes the aperture mode to
- * kQTApertureMode_Classic, and setting this property does not.
- */
- kQTVisualPropertyID_ClassicDimensions = FOUR_CHAR_CODE('cldi'), /* FixedPoint, Read/Write */
-
- /*
- * The track dimensions to use in clean aperture mode.
- */
- kQTVisualPropertyID_CleanApertureDimensions = FOUR_CHAR_CODE('cadi'), /* FixedPoint, Read/Write */
-
- /*
- * The track dimensions to use in production aperture mode.
- */
- kQTVisualPropertyID_ProductionApertureDimensions = FOUR_CHAR_CODE('prdi'), /* FixedPoint, Read/Write */
-
- /*
- * The track dimensions to use in encoded pixels aperture mode.
- */
- kQTVisualPropertyID_EncodedPixelsDimensions = FOUR_CHAR_CODE('endi'), /* FixedPoint, Read/Write */
-
- /*
- * True if aperture mode dimensions have been set on this movie, even
- * if they are all identical to the classic dimensions (as is the
- * case for content with square pixels and no edge processing
- * region).
- * This property can also be tested on a movie, where it is true if
- * any track has aperture mode dimensions.
- */
- kQTVisualPropertyID_HasApertureModeDimensions = FOUR_CHAR_CODE('hamd') /* Boolean, Read */
- };
-
-
- /*
- * Summary:
- * Media Characteristics
- */
- enum
- {
-
- /*
- * Indicates that a media handler supports aperture modes, which
- * enable video to be automatically scaled and cropped to compensate
- * for non-square pixel aspect ratios and to trim possibly-dirty edge
- * processing regions. The dimensions of such a track may change when
- * the movie's aperture mode is changed.
- */
- kCharacteristicSupportsApertureModes = FOUR_CHAR_CODE('apmd')
- };
-
- /*
- * SetTrackApertureModeDimensionsUsingSampleDescription()
- *
- * Summary:
- * Sets a track's aperture mode dimensions using values calculated
- * using a sample description.
- *
- * Discussion:
- * This function should be used to add information needed to support
- * aperture modes to newly created tracks. This information is
- * calculated using the given sample description. If sampleDesc is
- * NULL, the track's first sample description is used.
- *
- * Parameters:
- *
- * track:
- * [in] The track.
- *
- * sampleDesc:
- * [in] The sample description handle.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API_C(OSErr)
- SetTrackApertureModeDimensionsUsingSampleDescription(
- Track track,
- SampleDescriptionHandle sampleDesc); /* can be NULL */
-
-
- /*
- * GenerateMovieApertureModeDimensions()
- *
- * Summary:
- * Examines a movie and sets up track aperture mode dimensions.
- *
- * Discussion:
- * This function can be used to add information needed to support
- * aperture modes to movies created with applications and/or
- * versions of QuickTime that did not support aperture mode
- * dimensions. If the image descriptions in video tracks lack tags
- * describing clean aperture and pixel aspect ratio information, the
- * media data may be scanned to see if the correct values can be
- * divined and attached. Then the aperture mode dimensions are
- * calculated and set for each track. Afterwards, the
- * kQTVisualPropertyID_HasApertureModeDimensions property will be
- * set to true for these tracks. Tracks which do not support
- * aperture modes are not changed.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API_C(OSErr)
- GenerateMovieApertureModeDimensions(Movie movie);
-
-
- /*
- * GenerateTrackApertureModeDimensions()
- *
- * Summary:
- * Examines a track and sets up aperture mode dimensions.
- *
- * Discussion:
- * This function can be used to add information needed to support
- * aperture modes to tracks created with applications and/or
- * versions of QuickTime that did not support aperture mode
- * dimensions. If the image descriptions in video tracks lack tags
- * describing clean aperture and pixel aspect ratio information, the
- * media data may be scanned to see if the correct values can be
- * divined and attached. Then the aperture mode dimensions are
- * calculated and set. Afterwards, the
- * kQTVisualPropertyID_HasApertureModeDimensions property will be
- * set to true for these tracks. Tracks which do not support
- * aperture modes are not changed.
- *
- * Parameters:
- *
- * track:
- * [in] The track.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API_C(OSErr)
- GenerateTrackApertureModeDimensions(Track track);
-
-
- /*
- * RemoveMovieApertureModeDimensions()
- *
- * Summary:
- * Removes aperture mode dimension information from a movie.
- *
- * Discussion:
- * This function removes aperture mode dimension information from a
- * movie's tracks. It does not attempt to modify sample
- * descriptions, so it may not completely reverse the effect of
- * GenerateMovieApertureModeDimensions. It sets the
- * kQTVisualPropertyID_HasApertureModeDimensions property to false.
- *
- * Parameters:
- *
- * movie:
- * [in] The movie.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API_C(OSErr)
- RemoveMovieApertureModeDimensions(Movie movie);
-
-
- /*
- * RemoveTrackApertureModeDimensions()
- *
- * Summary:
- * Removes aperture mode dimension information from a track.
- *
- * Discussion:
- * This function removes aperture mode dimension information from a
- * track. It does not attempt to modify sample descriptions, so it
- * may not completely reverse the effect of
- * GenerateTrackApertureModeDimensions. It sets the
- * kQTVisualPropertyID_HasApertureModeDimensions property to false.
- *
- * Parameters:
- *
- * track:
- * [in] The track.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API_C(OSErr)
- RemoveTrackApertureModeDimensions(Track track);
-
-
-
- /*****
- Error reporting
- *****/
- struct QTErrorReplacementRecord
- {
- long numEntries;
- StringPtr replacementString[1]; /* array of numEntries StringPtrs (each String is allocated separately).*/
- };
- typedef struct QTErrorReplacementRecord QTErrorReplacementRecord;
- typedef QTErrorReplacementRecord * QTErrorReplacementPtr;
- /*
- QTAddMovieError is used to add orthogonal errors to a list of errors that will
- later be reported (at the end of an import or playback, for example). Errors are stored
- in 'qter' resources within the component.
-
- QTAddMovieError(Movie addTo, // in: movie to add error to
- Component adder, // in: component which is adding the error
- long errorCode, // in: error code being added
- QTErrorReplacementPtr stringReplacements);// in: list of strings to subsitute (in order) for "^1", "^2", etc
- */
- /*
- * QTAddMovieError()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTAddMovieError(
- Movie movieH,
- Component c,
- long errorCode,
- QTErrorReplacementPtr stringReplacements);
-
-
-
- /*****
- Access Keys
- *****/
- enum
- {
- kAccessKeyAtomType = FOUR_CHAR_CODE('acky')
- };
-
- enum
- {
- kAccessKeySystemFlag = 1L << 0
- };
-
- /*
- * QTGetAccessKeys()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTGetAccessKeys(
- Str255 accessKeyType,
- long flags,
- QTAtomContainer * keys);
-
-
- /*
- * QTRegisterAccessKey()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTRegisterAccessKey(
- Str255 accessKeyType,
- long flags,
- Handle accessKey);
-
-
- /*
- * QTUnregisterAccessKey()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTUnregisterAccessKey(
- Str255 accessKeyType,
- long flags,
- Handle accessKey);
-
-
- /*****
- Content Restrictions
- *****/
-
- /*
- * QTGetMovieRestrictions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTGetMovieRestrictions(
- Movie theMovie,
- QTRestrictionSet * outRestrictionSet,
- UInt32 * outSeed);
-
-
-
- /*
- * QTRestrictionsGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTRestrictionsGetInfo(
- QTRestrictionSet inRestrictionSet,
- long * outRestrictionClassCount,
- long * outSeed);
-
-
- /*
- * QTRestrictionsGetIndClass()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTRestrictionsGetIndClass(
- QTRestrictionSet inRestrictionSet,
- long inIndex,
- OSType * outClass);
-
-
- /*
- * QTRestrictionsGetItem()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTRestrictionsGetItem(
- QTRestrictionSet inRestrictionSet,
- OSType inRestrictionClass,
- UInt32 * outRestrictions);
-
-
- /*
- * QTGetSupportedRestrictions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTGetSupportedRestrictions(
- OSType inRestrictionClass,
- UInt32 * outRestrictionIDs);
-
-
- /*
- * QTCreateUUID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(OSErr)
- QTCreateUUID(
- QTUUID * outUUID,
- long creationFlags);
-
-
- /*
- * QTEqualUUIDs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(Boolean)
- QTEqualUUIDs(
- const QTUUID * uuid1,
- const QTUUID * uuid2);
-
-
-
-
- /*****
- Time table
- *****/
- /*
- * MakeTrackTimeTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- MakeTrackTimeTable(
- Track trackH,
- long ** offsets,
- TimeValue startTime,
- TimeValue endTime,
- TimeValue timeIncrement,
- short firstDataRefIndex,
- short lastDataRefIndex,
- long * retdataRefSkew);
-
-
- /*
- * MakeMediaTimeTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- MakeMediaTimeTable(
- Media theMedia,
- long ** offsets,
- TimeValue startTime,
- TimeValue endTime,
- TimeValue timeIncrement,
- short firstDataRefIndex,
- short lastDataRefIndex,
- long * retdataRefSkew);
-
-
- /*
- * GetMaxLoadedTimeInMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- GetMaxLoadedTimeInMovie(
- Movie theMovie,
- TimeValue * time);
-
-
- /*
- * QTMovieNeedsTimeTable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTMovieNeedsTimeTable(
- Movie theMovie,
- Boolean * needsTimeTable);
-
-
- /*
- * QTGetDataRefMaxFileOffset()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTGetDataRefMaxFileOffset(
- Movie movieH,
- OSType dataRefType,
- Handle dataRef,
- long * offset);
-
-
-
- enum
- {
- kQTIdlePriority = 10,
- kQTNonRealTimePriority = 20,
- kQTRealTimeSharedPriority = 25,
- kQTRealTimePriority = 30
- };
-
-
- /*
- * NewQTCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTCallBackUPP)
- NewQTCallBackUPP(QTCallBackProcPtr userRoutine);
+/* Legacy Audio/Sound APIs*/
+
+/*
+ * GetMoviePreferredVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+GetMoviePreferredVolume(Movie theMovie);
+
+
+/*
+ * SetMoviePreferredVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMoviePreferredVolume(
+ Movie theMovie,
+ short volume);
+
+
+/*
+ * GetMovieVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+GetMovieVolume(Movie theMovie);
+
+
+/*
+ * SetMovieVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetMovieVolume(
+ Movie theMovie,
+ short volume);
+
+
+/*
+ * GetTrackVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+GetTrackVolume(Track theTrack);
+
+
+/*
+ * SetTrackVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTrackVolume(
+ Track theTrack,
+ short volume);
+
+
+/*
+ * GetTrackSoundLocalizationSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetTrackSoundLocalizationSettings(
+ Track theTrack,
+ Handle * settings);
+
+
+/*
+ * SetTrackSoundLocalizationSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+SetTrackSoundLocalizationSettings(
+ Track theTrack,
+ Handle settings);
+
+
+
+/* Performance properties*/
+
+
+/*
+ */
+enum {
+ kQTPropertyClass_Performance = FOUR_CHAR_CODE('perf'),
+
+ /*
+ * kQTPerformancePropertyID_MediaStallCount: Value is UInt32.
+ * Get/Set/Listenable Media stalls occur when a media handler is
+ * unable to provide its media data at the time required for seamless
+ * playback. The exact interpretation of a track's MediaStallCount
+ * property is media-handler dependent, but may indicate conditions
+ * such as a video frame not decoded in time, the sound queue runs
+ * dry, etc. When requested on a specific track, this property
+ * returns the current stall count of that track. When requested on
+ * a movie, it returns the accumulated MediaStallCounts for all the
+ * tracks in the movie. The track property may be set to zero to
+ * reset it. Setting the movie property to zero resets all the track
+ * counts. Setting the value to anything other than zero yields
+ * paramErr. The movie toolbox defers property-changed notifications
+ * to any property listeners until the next time the movie is idled.
+ */
+ kQTPerformancePropertyID_MediaStallCount = FOUR_CHAR_CODE('stal'), /* UInt32, Get/Set/Listenable */
+
+ /*
+ * kQTPerformancePropertyID_AudioIOOverloadCount: Value is UInt32.
+ * Get/Set/Listenable Audio I/O overloads occur when the
+ * high-priority audio processing thread does not provide the
+ * requested buffer of data in time to ensure seamless playback.
+ * This movie property accumulates the number of Audio Device I/O
+ * overloads that are detected during playback of a movie. I/O
+ * overloads that are detected when the movie is not playing (but
+ * other movies may be playing), are not counted. This property may
+ * be set to zero to reset the counter. Setting the value to
+ * anything other than zero yields paramErr. The movie toolbox defers
+ * property-changed notifications to any property listeners until the
+ * next time the movie is idled.
+ */
+ kQTPerformancePropertyID_AudioIOOverloadCount = FOUR_CHAR_CODE('ovct') /* UInt32, Get/Set/Listenable*/
+};
+
+
+/* Movie Visual Adjustment APIs*/
+
+
+/*
+ * Summary:
+ * Visual movie properties.
+ */
+enum {
+
+ /*
+ * Class for visual properties.
+ */
+ kQTPropertyClass_Visual = FOUR_CHAR_CODE('visu'),
+
+ /*
+ * The hue adjustment for the movie. The value is a Float32 between
+ * -1.0 and 1.0, with 0.0 meaning no adjustment. This adjustment
+ * wraps around, such that -1.0 and 1.0 yield the same result.
+ */
+ kQTVisualPropertyID_Hue = FOUR_CHAR_CODE('vhue'), /* Float32, Read/Write */
+
+ /*
+ * The color saturation adjustment for the movie. The value is a
+ * Float32 percentage (1.0f = 100%), such that 0.0 gives grayscale.
+ */
+ kQTVisualPropertyID_Saturation = FOUR_CHAR_CODE('vsat'), /* Float32, Read/Write */
+
+ /*
+ * The brightness adjustment for the movie. The value is a Float32
+ * for which -1.0 means full black, 0.0 means no adjustment, and 1.0
+ * means full white.
+ */
+ kQTVisualPropertyID_Brightness = FOUR_CHAR_CODE('vbrt'), /* Float32, Read/Write */
+
+ /*
+ * The contrast adjustment for the movie. The value is a Float32
+ * percentage (1.0f = 100%), such that 0.0 gives solid grey.
+ */
+ kQTVisualPropertyID_Contrast = FOUR_CHAR_CODE('vcon') /* Float32, Read/Write */
+};
+
+
+/*
+ * SetMovieVisualHue()
+ *
+ * Summary:
+ * This API sets the hue adjustment for the movie.
+ *
+ * Discussion:
+ * See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details.
+ * The setting is not stored in the movie. It is only used until
+ * the movie is closed, at which time it is not saved.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * hue:
+ * [in] New hue adjustment.
+ *
+ * flags:
+ * [in] Reserved. Pass 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+SetMovieVisualHue(
+ Movie movie,
+ Float32 hue,
+ UInt32 flags);
+
+
+/*
+ * GetMovieVisualHue()
+ *
+ * Summary:
+ * This API gets the hue adjustment for the movie.
+ *
+ * Discussion:
+ * See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * hueOut:
+ * [out] Current hue adjustment.
+ *
+ * flags:
+ * [in] Reserved. Pass 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+GetMovieVisualHue(
+ Movie movie,
+ Float32 * hueOut,
+ UInt32 flags);
+
+
+
+/*
+ * SetMovieVisualSaturation()
+ *
+ * Summary:
+ * This API sets the color saturation adjustment for the movie.
+ *
+ * Discussion:
+ * See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for
+ * details. The setting is not stored in the movie. It is only used
+ * until the movie is closed, at which time it is not saved.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * saturation:
+ * [in] New saturation adjustment.
+ *
+ * flags:
+ * [in] Reserved. Pass 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+SetMovieVisualSaturation(
+ Movie movie,
+ Float32 saturation,
+ UInt32 flags);
+
+
+/*
+ * GetMovieVisualSaturation()
+ *
+ * Summary:
+ * This API gets the color saturation adjustment for the movie.
+ *
+ * Discussion:
+ * See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for
+ * details.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * saturationOut:
+ * [out] Current saturation adjustment.
+ *
+ * flags:
+ * [in] Reserved. Pass 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+GetMovieVisualSaturation(
+ Movie movie,
+ Float32 * saturationOut,
+ UInt32 flags);
+
+
+
+/*
+ * SetMovieVisualBrightness()
+ *
+ * Summary:
+ * This API sets the brightness adjustment for the movie.
+ *
+ * Discussion:
+ * See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for
+ * details. The setting is not stored in the movie. It is only used
+ * until the movie is closed, at which time it is not saved.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * brightness:
+ * [in] New brightness adjustment.
+ *
+ * flags:
+ * [in] Reserved. Pass 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+SetMovieVisualBrightness(
+ Movie movie,
+ Float32 brightness,
+ UInt32 flags);
+
+
+/*
+ * GetMovieVisualBrightness()
+ *
+ * Summary:
+ * This API gets the brightness adjustment for the movie.
+ *
+ * Discussion:
+ * See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for
+ * details.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * brightnessOut:
+ * [out] Current brightness adjustment.
+ *
+ * flags:
+ * [in] Reserved. Pass 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+GetMovieVisualBrightness(
+ Movie movie,
+ Float32 * brightnessOut,
+ UInt32 flags);
+
+
+/*
+ * SetMovieVisualContrast()
+ *
+ * Summary:
+ * This API sets the contrast adjustment for the movie.
+ *
+ * Discussion:
+ * See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for
+ * details. The setting is not stored in the movie. It is only used
+ * until the movie is closed, at which time it is not saved.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * contrast:
+ * [in] New contrast adjustment.
+ *
+ * flags:
+ * [in] Reserved. Pass 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+SetMovieVisualContrast(
+ Movie movie,
+ Float32 contrast,
+ UInt32 flags);
+
+
+/*
+ * GetMovieVisualContrast()
+ *
+ * Summary:
+ * This API gets the contrast adjustment for the movie.
+ *
+ * Discussion:
+ * See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for
+ * details.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * contrastOut:
+ * [out] Current contrast adjustment.
+ *
+ * flags:
+ * [in] Reserved. Pass 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( OSStatus )
+GetMovieVisualContrast(
+ Movie movie,
+ Float32 * contrastOut,
+ UInt32 flags);
+
+
+
+/* Movie Aperture APIs*/
+
+
+/*
+ * Summary:
+ * Visual properties of movies for aperture modes.
+ */
+enum {
+
+ /*
+ * You can set the aperture mode property on a movie to indicate
+ * whether aspect ratio and clean aperture correction should be
+ * performed. The values for this property have the prefix
+ * kQTApertureMode_ and are in ImageCompression.h.
+ * When a movie is in clean, production or encoded pixels aperture
+ * mode, each track's dimensions are overriden by special dimensions
+ * for that mode. The original track dimensions are preserved and can
+ * be restored by setting the movie into classic aperture mode.
+ */
+ kQTVisualPropertyID_ApertureMode = FOUR_CHAR_CODE('apmd') /* OSType, Read/Write/Listen */
+};
+
+
+/*
+ * Summary:
+ * Visual properties of tracks for aperture modes
+ *
+ * Discussion:
+ * A track's dimensions may vary depending on the movie's aperture
+ * mode. The dimensions for a given aperture mode may be accessed
+ * using these properties.
+ */
+enum {
+
+ /*
+ * The track dimensions used in QuickTime 7.0.x and earlier. Setting
+ * this property is equivalent to calling SetTrackDimensions, except
+ * that SetTrackDimensions also changes the aperture mode to
+ * kQTApertureMode_Classic, and setting this property does not.
+ */
+ kQTVisualPropertyID_ClassicDimensions = FOUR_CHAR_CODE('cldi'), /* FixedPoint, Read/Write */
+
+ /*
+ * The track dimensions to use in clean aperture mode.
+ */
+ kQTVisualPropertyID_CleanApertureDimensions = FOUR_CHAR_CODE('cadi'), /* FixedPoint, Read/Write */
+
+ /*
+ * The track dimensions to use in production aperture mode.
+ */
+ kQTVisualPropertyID_ProductionApertureDimensions = FOUR_CHAR_CODE('prdi'), /* FixedPoint, Read/Write */
+
+ /*
+ * The track dimensions to use in encoded pixels aperture mode.
+ */
+ kQTVisualPropertyID_EncodedPixelsDimensions = FOUR_CHAR_CODE('endi'), /* FixedPoint, Read/Write */
+
+ /*
+ * True if aperture mode dimensions have been set on this movie, even
+ * if they are all identical to the classic dimensions (as is the
+ * case for content with square pixels and no edge processing
+ * region).
+ * This property can also be tested on a movie, where it is true if
+ * any track has aperture mode dimensions.
+ */
+ kQTVisualPropertyID_HasApertureModeDimensions = FOUR_CHAR_CODE('hamd') /* Boolean, Read */
+};
+
+
+/*
+ * Summary:
+ * Media Characteristics
+ */
+enum {
+
+ /*
+ * Indicates that a media handler supports aperture modes, which
+ * enable video to be automatically scaled and cropped to compensate
+ * for non-square pixel aspect ratios and to trim possibly-dirty edge
+ * processing regions. The dimensions of such a track may change when
+ * the movie's aperture mode is changed.
+ */
+ kCharacteristicSupportsApertureModes = FOUR_CHAR_CODE('apmd')
+};
+
+/*
+ * SetTrackApertureModeDimensionsUsingSampleDescription()
+ *
+ * Summary:
+ * Sets a track's aperture mode dimensions using values calculated
+ * using a sample description.
+ *
+ * Discussion:
+ * This function should be used to add information needed to support
+ * aperture modes to newly created tracks. This information is
+ * calculated using the given sample description. If sampleDesc is
+ * NULL, the track's first sample description is used.
+ *
+ * Parameters:
+ *
+ * track:
+ * [in] The track.
+ *
+ * sampleDesc:
+ * [in] The sample description handle.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API_C( OSErr )
+SetTrackApertureModeDimensionsUsingSampleDescription(
+ Track track,
+ SampleDescriptionHandle sampleDesc); /* can be NULL */
+
+
+/*
+ * GenerateMovieApertureModeDimensions()
+ *
+ * Summary:
+ * Examines a movie and sets up track aperture mode dimensions.
+ *
+ * Discussion:
+ * This function can be used to add information needed to support
+ * aperture modes to movies created with applications and/or
+ * versions of QuickTime that did not support aperture mode
+ * dimensions. If the image descriptions in video tracks lack tags
+ * describing clean aperture and pixel aspect ratio information, the
+ * media data may be scanned to see if the correct values can be
+ * divined and attached. Then the aperture mode dimensions are
+ * calculated and set for each track. Afterwards, the
+ * kQTVisualPropertyID_HasApertureModeDimensions property will be
+ * set to true for these tracks. Tracks which do not support
+ * aperture modes are not changed.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API_C( OSErr )
+GenerateMovieApertureModeDimensions(Movie movie);
+
+
+/*
+ * GenerateTrackApertureModeDimensions()
+ *
+ * Summary:
+ * Examines a track and sets up aperture mode dimensions.
+ *
+ * Discussion:
+ * This function can be used to add information needed to support
+ * aperture modes to tracks created with applications and/or
+ * versions of QuickTime that did not support aperture mode
+ * dimensions. If the image descriptions in video tracks lack tags
+ * describing clean aperture and pixel aspect ratio information, the
+ * media data may be scanned to see if the correct values can be
+ * divined and attached. Then the aperture mode dimensions are
+ * calculated and set. Afterwards, the
+ * kQTVisualPropertyID_HasApertureModeDimensions property will be
+ * set to true for these tracks. Tracks which do not support
+ * aperture modes are not changed.
+ *
+ * Parameters:
+ *
+ * track:
+ * [in] The track.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API_C( OSErr )
+GenerateTrackApertureModeDimensions(Track track);
+
+
+/*
+ * RemoveMovieApertureModeDimensions()
+ *
+ * Summary:
+ * Removes aperture mode dimension information from a movie.
+ *
+ * Discussion:
+ * This function removes aperture mode dimension information from a
+ * movie's tracks. It does not attempt to modify sample
+ * descriptions, so it may not completely reverse the effect of
+ * GenerateMovieApertureModeDimensions. It sets the
+ * kQTVisualPropertyID_HasApertureModeDimensions property to false.
+ *
+ * Parameters:
+ *
+ * movie:
+ * [in] The movie.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API_C( OSErr )
+RemoveMovieApertureModeDimensions(Movie movie);
+
+
+/*
+ * RemoveTrackApertureModeDimensions()
+ *
+ * Summary:
+ * Removes aperture mode dimension information from a track.
+ *
+ * Discussion:
+ * This function removes aperture mode dimension information from a
+ * track. It does not attempt to modify sample descriptions, so it
+ * may not completely reverse the effect of
+ * GenerateTrackApertureModeDimensions. It sets the
+ * kQTVisualPropertyID_HasApertureModeDimensions property to false.
+ *
+ * Parameters:
+ *
+ * track:
+ * [in] The track.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API_C( OSErr )
+RemoveTrackApertureModeDimensions(Track track);
+
+
+
+/*****
+ Error reporting
+*****/
+struct QTErrorReplacementRecord {
+ long numEntries;
+ StringPtr replacementString[1]; /* array of numEntries StringPtrs (each String is allocated separately).*/
+};
+typedef struct QTErrorReplacementRecord QTErrorReplacementRecord;
+typedef QTErrorReplacementRecord * QTErrorReplacementPtr;
+/*
+ QTAddMovieError is used to add orthogonal errors to a list of errors that will
+ later be reported (at the end of an import or playback, for example). Errors are stored
+ in 'qter' resources within the component.
+
+ QTAddMovieError(Movie addTo, // in: movie to add error to
+ Component adder, // in: component which is adding the error
+ long errorCode, // in: error code being added
+ QTErrorReplacementPtr stringReplacements);// in: list of strings to subsitute (in order) for "^1", "^2", etc
+*/
+/*
+ * QTAddMovieError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTAddMovieError(
+ Movie movieH,
+ Component c,
+ long errorCode,
+ QTErrorReplacementPtr stringReplacements);
+
+
+
+/*****
+ Access Keys
+*****/
+enum {
+ kAccessKeyAtomType = FOUR_CHAR_CODE('acky')
+};
+
+enum {
+ kAccessKeySystemFlag = 1L << 0
+};
+
+/*
+ * QTGetAccessKeys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetAccessKeys(
+ Str255 accessKeyType,
+ long flags,
+ QTAtomContainer * keys);
+
+
+/*
+ * QTRegisterAccessKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTRegisterAccessKey(
+ Str255 accessKeyType,
+ long flags,
+ Handle accessKey);
+
+
+/*
+ * QTUnregisterAccessKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTUnregisterAccessKey(
+ Str255 accessKeyType,
+ long flags,
+ Handle accessKey);
+
+
+/*****
+ Content Restrictions
+*****/
+
+/*
+ * QTGetMovieRestrictions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetMovieRestrictions(
+ Movie theMovie,
+ QTRestrictionSet * outRestrictionSet,
+ UInt32 * outSeed);
+
+
+
+/*
+ * QTRestrictionsGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTRestrictionsGetInfo(
+ QTRestrictionSet inRestrictionSet,
+ long * outRestrictionClassCount,
+ long * outSeed);
+
+
+/*
+ * QTRestrictionsGetIndClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTRestrictionsGetIndClass(
+ QTRestrictionSet inRestrictionSet,
+ long inIndex,
+ OSType * outClass);
+
+
+/*
+ * QTRestrictionsGetItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTRestrictionsGetItem(
+ QTRestrictionSet inRestrictionSet,
+ OSType inRestrictionClass,
+ UInt32 * outRestrictions);
+
+
+/*
+ * QTGetSupportedRestrictions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetSupportedRestrictions(
+ OSType inRestrictionClass,
+ UInt32 * outRestrictionIDs);
+
+
+/*
+ * QTCreateUUID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( OSErr )
+QTCreateUUID(
+ QTUUID * outUUID,
+ long creationFlags);
+
+
+/*
+ * QTEqualUUIDs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( Boolean )
+QTEqualUUIDs(
+ const QTUUID * uuid1,
+ const QTUUID * uuid2);
+
+
+
+
+/*****
+ Time table
+*****/
+/*
+ * MakeTrackTimeTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+MakeTrackTimeTable(
+ Track trackH,
+ long ** offsets,
+ TimeValue startTime,
+ TimeValue endTime,
+ TimeValue timeIncrement,
+ short firstDataRefIndex,
+ short lastDataRefIndex,
+ long * retdataRefSkew);
+
+
+/*
+ * MakeMediaTimeTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+MakeMediaTimeTable(
+ Media theMedia,
+ long ** offsets,
+ TimeValue startTime,
+ TimeValue endTime,
+ TimeValue timeIncrement,
+ short firstDataRefIndex,
+ short lastDataRefIndex,
+ long * retdataRefSkew);
+
+
+/*
+ * GetMaxLoadedTimeInMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+GetMaxLoadedTimeInMovie(
+ Movie theMovie,
+ TimeValue * time);
+
+
+/*
+ * QTMovieNeedsTimeTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTMovieNeedsTimeTable(
+ Movie theMovie,
+ Boolean * needsTimeTable);
+
+
+/*
+ * QTGetDataRefMaxFileOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetDataRefMaxFileOffset(
+ Movie movieH,
+ OSType dataRefType,
+ Handle dataRef,
+ long * offset);
+
+
+
+enum {
+ kQTIdlePriority = 10,
+ kQTNonRealTimePriority = 20,
+ kQTRealTimeSharedPriority = 25,
+ kQTRealTimePriority = 30
+};
+
+
+/*
+ * NewQTCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTCallBackUPP )
+NewQTCallBackUPP(QTCallBackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTCallBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTCallBackUPP) NewQTCallBackUPP(QTCallBackProcPtr userRoutine)
- {
- return (QTCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTCallBackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTCallBackUPP(userRoutine) (QTCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTCallBackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTCallBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTCallBackUPP) NewQTCallBackUPP(QTCallBackProcPtr userRoutine) { return (QTCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTCallBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTCallBackUPP(userRoutine) (QTCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTCallBackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTSyncTaskUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTSyncTaskUPP)
- NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine);
+/*
+ * NewQTSyncTaskUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTSyncTaskUPP )
+NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTSyncTaskProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTSyncTaskUPP) NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine)
- {
- return (QTSyncTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSyncTaskProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTSyncTaskUPP(userRoutine) (QTSyncTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSyncTaskProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTSyncTaskProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTSyncTaskUPP) NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine) { return (QTSyncTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSyncTaskProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTSyncTaskUPP(userRoutine) (QTSyncTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSyncTaskProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMovieRgnCoverUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MovieRgnCoverUPP)
- NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine);
+/*
+ * NewMovieRgnCoverUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MovieRgnCoverUPP )
+NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMovieRgnCoverProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MovieRgnCoverUPP) NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine)
- {
- return (MovieRgnCoverUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieRgnCoverProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMovieRgnCoverUPP(userRoutine) (MovieRgnCoverUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieRgnCoverProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMovieRgnCoverProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MovieRgnCoverUPP) NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine) { return (MovieRgnCoverUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieRgnCoverProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMovieRgnCoverUPP(userRoutine) (MovieRgnCoverUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieRgnCoverProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMovieProgressUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MovieProgressUPP)
- NewMovieProgressUPP(MovieProgressProcPtr userRoutine);
+/*
+ * NewMovieProgressUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MovieProgressUPP )
+NewMovieProgressUPP(MovieProgressProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMovieProgressProcInfo = 0x0000FAE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MovieProgressUPP) NewMovieProgressUPP(MovieProgressProcPtr userRoutine)
- {
- return (MovieProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieProgressProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMovieProgressUPP(userRoutine) (MovieProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieProgressProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMovieProgressProcInfo = 0x0000FAE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MovieProgressUPP) NewMovieProgressUPP(MovieProgressProcPtr userRoutine) { return (MovieProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieProgressProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMovieProgressUPP(userRoutine) (MovieProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieProgressProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMovieDrawingCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MovieDrawingCompleteUPP)
- NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine);
+/*
+ * NewMovieDrawingCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MovieDrawingCompleteUPP )
+NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMovieDrawingCompleteProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MovieDrawingCompleteUPP) NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine)
- {
- return (MovieDrawingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieDrawingCompleteProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMovieDrawingCompleteUPP(userRoutine) (MovieDrawingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieDrawingCompleteProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMovieDrawingCompleteProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MovieDrawingCompleteUPP) NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine) { return (MovieDrawingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieDrawingCompleteProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMovieDrawingCompleteUPP(userRoutine) (MovieDrawingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieDrawingCompleteProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTrackTransferUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TrackTransferUPP)
- NewTrackTransferUPP(TrackTransferProcPtr userRoutine);
+/*
+ * NewTrackTransferUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TrackTransferUPP )
+NewTrackTransferUPP(TrackTransferProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTrackTransferProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TrackTransferUPP) NewTrackTransferUPP(TrackTransferProcPtr userRoutine)
- {
- return (TrackTransferUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTrackTransferProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTrackTransferUPP(userRoutine) (TrackTransferUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTrackTransferProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTrackTransferProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TrackTransferUPP) NewTrackTransferUPP(TrackTransferProcPtr userRoutine) { return (TrackTransferUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTrackTransferProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTrackTransferUPP(userRoutine) (TrackTransferUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTrackTransferProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewGetMovieUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(GetMovieUPP)
- NewGetMovieUPP(GetMovieProcPtr userRoutine);
+/*
+ * NewGetMovieUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( GetMovieUPP )
+NewGetMovieUPP(GetMovieProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppGetMovieProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(GetMovieUPP) NewGetMovieUPP(GetMovieProcPtr userRoutine)
- {
- return (GetMovieUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMovieProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewGetMovieUPP(userRoutine) (GetMovieUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMovieProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppGetMovieProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(GetMovieUPP) NewGetMovieUPP(GetMovieProcPtr userRoutine) { return (GetMovieUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMovieProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewGetMovieUPP(userRoutine) (GetMovieUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMovieProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMoviePreviewCallOutUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MoviePreviewCallOutUPP)
- NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine);
+/*
+ * NewMoviePreviewCallOutUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MoviePreviewCallOutUPP )
+NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMoviePreviewCallOutProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MoviePreviewCallOutUPP) NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine)
- {
- return (MoviePreviewCallOutUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePreviewCallOutProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMoviePreviewCallOutUPP(userRoutine) (MoviePreviewCallOutUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePreviewCallOutProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMoviePreviewCallOutProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MoviePreviewCallOutUPP) NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine) { return (MoviePreviewCallOutUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePreviewCallOutProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMoviePreviewCallOutUPP(userRoutine) (MoviePreviewCallOutUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePreviewCallOutProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTextMediaUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TextMediaUPP)
- NewTextMediaUPP(TextMediaProcPtr userRoutine);
+/*
+ * NewTextMediaUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TextMediaUPP )
+NewTextMediaUPP(TextMediaProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTextMediaProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TextMediaUPP) NewTextMediaUPP(TextMediaProcPtr userRoutine)
- {
- return (TextMediaUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextMediaProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTextMediaUPP(userRoutine) (TextMediaUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextMediaProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTextMediaProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TextMediaUPP) NewTextMediaUPP(TextMediaProcPtr userRoutine) { return (TextMediaUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextMediaProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTextMediaUPP(userRoutine) (TextMediaUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextMediaProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewActionsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ActionsUPP)
- NewActionsUPP(ActionsProcPtr userRoutine);
+/*
+ * NewActionsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ActionsUPP )
+NewActionsUPP(ActionsProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppActionsProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ActionsUPP) NewActionsUPP(ActionsProcPtr userRoutine)
- {
- return (ActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActionsProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewActionsUPP(userRoutine) (ActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActionsProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppActionsProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ActionsUPP) NewActionsUPP(ActionsProcPtr userRoutine) { return (ActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActionsProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewActionsUPP(userRoutine) (ActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActionsProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDoMCActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DoMCActionUPP)
- NewDoMCActionUPP(DoMCActionProcPtr userRoutine);
+/*
+ * NewDoMCActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DoMCActionUPP )
+NewDoMCActionUPP(DoMCActionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDoMCActionProcInfo = 0x00003EE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DoMCActionUPP) NewDoMCActionUPP(DoMCActionProcPtr userRoutine)
- {
- return (DoMCActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDoMCActionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDoMCActionUPP(userRoutine) (DoMCActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDoMCActionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDoMCActionProcInfo = 0x00003EE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DoMCActionUPP) NewDoMCActionUPP(DoMCActionProcPtr userRoutine) { return (DoMCActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDoMCActionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDoMCActionUPP(userRoutine) (DoMCActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDoMCActionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMovieExecuteWiredActionsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MovieExecuteWiredActionsUPP)
- NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine);
+/*
+ * NewMovieExecuteWiredActionsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MovieExecuteWiredActionsUPP )
+NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMovieExecuteWiredActionsProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MovieExecuteWiredActionsUPP) NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine)
- {
- return (MovieExecuteWiredActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExecuteWiredActionsProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMovieExecuteWiredActionsUPP(userRoutine) (MovieExecuteWiredActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExecuteWiredActionsProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMovieExecuteWiredActionsProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MovieExecuteWiredActionsUPP) NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine) { return (MovieExecuteWiredActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExecuteWiredActionsProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMovieExecuteWiredActionsUPP(userRoutine) (MovieExecuteWiredActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExecuteWiredActionsProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMoviePrePrerollCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MoviePrePrerollCompleteUPP)
- NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine);
+/*
+ * NewMoviePrePrerollCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MoviePrePrerollCompleteUPP )
+NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMoviePrePrerollCompleteProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MoviePrePrerollCompleteUPP) NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine)
- {
- return (MoviePrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePrePrerollCompleteProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMoviePrePrerollCompleteUPP(userRoutine) (MoviePrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePrePrerollCompleteProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMoviePrePrerollCompleteProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MoviePrePrerollCompleteUPP) NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine) { return (MoviePrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePrePrerollCompleteProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMoviePrePrerollCompleteUPP(userRoutine) (MoviePrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePrePrerollCompleteProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTNextTaskNeededSoonerCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(QTNextTaskNeededSoonerCallbackUPP)
- NewQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackProcPtr userRoutine);
+/*
+ * NewQTNextTaskNeededSoonerCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( QTNextTaskNeededSoonerCallbackUPP )
+NewQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTNextTaskNeededSoonerCallbackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTNextTaskNeededSoonerCallbackUPP) NewQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackProcPtr userRoutine)
- {
- return (QTNextTaskNeededSoonerCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTNextTaskNeededSoonerCallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTNextTaskNeededSoonerCallbackUPP(userRoutine) (QTNextTaskNeededSoonerCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTNextTaskNeededSoonerCallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTNextTaskNeededSoonerCallbackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTNextTaskNeededSoonerCallbackUPP) NewQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackProcPtr userRoutine) { return (QTNextTaskNeededSoonerCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTNextTaskNeededSoonerCallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTNextTaskNeededSoonerCallbackUPP(userRoutine) (QTNextTaskNeededSoonerCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTNextTaskNeededSoonerCallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMoviesErrorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MoviesErrorUPP)
- NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine);
+/*
+ * NewMoviesErrorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MoviesErrorUPP )
+NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMoviesErrorProcInfo = 0x00000380 }; /* pascal no_return_value Func(2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MoviesErrorUPP) NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine)
- {
- return (MoviesErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviesErrorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMoviesErrorUPP(userRoutine) (MoviesErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviesErrorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMoviesErrorProcInfo = 0x00000380 }; /* pascal no_return_value Func(2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MoviesErrorUPP) NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine) { return (MoviesErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviesErrorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMoviesErrorUPP(userRoutine) (MoviesErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviesErrorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTweenerDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TweenerDataUPP)
- NewTweenerDataUPP(TweenerDataProcPtr userRoutine);
+/*
+ * NewTweenerDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TweenerDataUPP )
+NewTweenerDataUPP(TweenerDataProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTweenerDataProcInfo = 0x003FFFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TweenerDataUPP) NewTweenerDataUPP(TweenerDataProcPtr userRoutine)
- {
- return (TweenerDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTweenerDataProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTweenerDataUPP(userRoutine) (TweenerDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTweenerDataProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTweenerDataProcInfo = 0x003FFFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TweenerDataUPP) NewTweenerDataUPP(TweenerDataProcPtr userRoutine) { return (TweenerDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTweenerDataProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTweenerDataUPP(userRoutine) (TweenerDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTweenerDataProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTEffectListFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(QTEffectListFilterUPP)
- NewQTEffectListFilterUPP(QTEffectListFilterProcPtr userRoutine);
+/*
+ * NewQTEffectListFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( QTEffectListFilterUPP )
+NewQTEffectListFilterUPP(QTEffectListFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTEffectListFilterProcInfo = 0x0003FFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTEffectListFilterUPP) NewQTEffectListFilterUPP(QTEffectListFilterProcPtr userRoutine)
- {
- return (QTEffectListFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTEffectListFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTEffectListFilterUPP(userRoutine) (QTEffectListFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTEffectListFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTEffectListFilterProcInfo = 0x0003FFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTEffectListFilterUPP) NewQTEffectListFilterUPP(QTEffectListFilterProcPtr userRoutine) { return (QTEffectListFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTEffectListFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTEffectListFilterUPP(userRoutine) (QTEffectListFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTEffectListFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeQTCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTCallBackUPP(QTCallBackUPP userUPP);
+/*
+ * DisposeQTCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTCallBackUPP(QTCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTCallBackUPP(QTCallBackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTCallBackUPP(QTCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTSyncTaskUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP);
+/*
+ * DisposeQTSyncTaskUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTSyncTaskUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTSyncTaskUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMovieRgnCoverUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP);
+/*
+ * DisposeMovieRgnCoverUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMovieRgnCoverUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMovieRgnCoverUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMovieProgressUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMovieProgressUPP(MovieProgressUPP userUPP);
+/*
+ * DisposeMovieProgressUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMovieProgressUPP(MovieProgressUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMovieProgressUPP(MovieProgressUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMovieProgressUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMovieProgressUPP(MovieProgressUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMovieProgressUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMovieDrawingCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP);
+/*
+ * DisposeMovieDrawingCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMovieDrawingCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMovieDrawingCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTrackTransferUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTrackTransferUPP(TrackTransferUPP userUPP);
+/*
+ * DisposeTrackTransferUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTrackTransferUPP(TrackTransferUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTrackTransferUPP(TrackTransferUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTrackTransferUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTrackTransferUPP(TrackTransferUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTrackTransferUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeGetMovieUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeGetMovieUPP(GetMovieUPP userUPP);
+/*
+ * DisposeGetMovieUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeGetMovieUPP(GetMovieUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeGetMovieUPP(GetMovieUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeGetMovieUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeGetMovieUPP(GetMovieUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeGetMovieUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMoviePreviewCallOutUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP);
+/*
+ * DisposeMoviePreviewCallOutUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMoviePreviewCallOutUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMoviePreviewCallOutUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTextMediaUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTextMediaUPP(TextMediaUPP userUPP);
+/*
+ * DisposeTextMediaUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTextMediaUPP(TextMediaUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTextMediaUPP(TextMediaUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTextMediaUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTextMediaUPP(TextMediaUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTextMediaUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeActionsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeActionsUPP(ActionsUPP userUPP);
+/*
+ * DisposeActionsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeActionsUPP(ActionsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeActionsUPP(ActionsUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeActionsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeActionsUPP(ActionsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeActionsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDoMCActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDoMCActionUPP(DoMCActionUPP userUPP);
+/*
+ * DisposeDoMCActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDoMCActionUPP(DoMCActionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDoMCActionUPP(DoMCActionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDoMCActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDoMCActionUPP(DoMCActionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDoMCActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMovieExecuteWiredActionsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP);
+/*
+ * DisposeMovieExecuteWiredActionsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMovieExecuteWiredActionsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMovieExecuteWiredActionsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMoviePrePrerollCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP);
+/*
+ * DisposeMoviePrePrerollCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMoviePrePrerollCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMoviePrePrerollCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTNextTaskNeededSoonerCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- DisposeQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackUPP userUPP);
+/*
+ * DisposeQTNextTaskNeededSoonerCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+DisposeQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTNextTaskNeededSoonerCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTNextTaskNeededSoonerCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMoviesErrorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMoviesErrorUPP(MoviesErrorUPP userUPP);
+/*
+ * DisposeMoviesErrorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMoviesErrorUPP(MoviesErrorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMoviesErrorUPP(MoviesErrorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMoviesErrorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMoviesErrorUPP(MoviesErrorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMoviesErrorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTweenerDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTweenerDataUPP(TweenerDataUPP userUPP);
+/*
+ * DisposeTweenerDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTweenerDataUPP(TweenerDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTweenerDataUPP(TweenerDataUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTweenerDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTweenerDataUPP(TweenerDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTweenerDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTEffectListFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- DisposeQTEffectListFilterUPP(QTEffectListFilterUPP userUPP);
+/*
+ * DisposeQTEffectListFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+DisposeQTEffectListFilterUPP(QTEffectListFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTEffectListFilterUPP(QTEffectListFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTEffectListFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTEffectListFilterUPP(QTEffectListFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTEffectListFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeQTCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQTCallBackUPP(
- QTCallBack cb,
- long refCon,
- QTCallBackUPP userUPP);
+/*
+ * InvokeQTCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQTCallBackUPP(
+ QTCallBack cb,
+ long refCon,
+ QTCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQTCallBackUPP(QTCallBack cb, long refCon, QTCallBackUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppQTCallBackProcInfo, cb, refCon);
- }
-#else
-#define InvokeQTCallBackUPP(cb, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQTCallBackProcInfo, (cb), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQTCallBackUPP(QTCallBack cb, long refCon, QTCallBackUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppQTCallBackProcInfo, cb, refCon); }
+ #else
+ #define InvokeQTCallBackUPP(cb, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQTCallBackProcInfo, (cb), (refCon))
+ #endif
#endif
- /*
- * InvokeQTSyncTaskUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQTSyncTaskUPP(
- void * task,
- QTSyncTaskUPP userUPP);
+/*
+ * InvokeQTSyncTaskUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQTSyncTaskUPP(
+ void * task,
+ QTSyncTaskUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQTSyncTaskUPP(void * task, QTSyncTaskUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppQTSyncTaskProcInfo, task);
- }
-#else
-#define InvokeQTSyncTaskUPP(task, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppQTSyncTaskProcInfo, (task))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQTSyncTaskUPP(void * task, QTSyncTaskUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppQTSyncTaskProcInfo, task); }
+ #else
+ #define InvokeQTSyncTaskUPP(task, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppQTSyncTaskProcInfo, (task))
+ #endif
#endif
- /*
- * InvokeMovieRgnCoverUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeMovieRgnCoverUPP(
- Movie theMovie,
- RgnHandle changedRgn,
- long refcon,
- MovieRgnCoverUPP userUPP);
+/*
+ * InvokeMovieRgnCoverUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeMovieRgnCoverUPP(
+ Movie theMovie,
+ RgnHandle changedRgn,
+ long refcon,
+ MovieRgnCoverUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeMovieRgnCoverUPP(Movie theMovie, RgnHandle changedRgn, long refcon, MovieRgnCoverUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppMovieRgnCoverProcInfo, theMovie, changedRgn, refcon);
- }
-#else
-#define InvokeMovieRgnCoverUPP(theMovie, changedRgn, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppMovieRgnCoverProcInfo, (theMovie), (changedRgn), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeMovieRgnCoverUPP(Movie theMovie, RgnHandle changedRgn, long refcon, MovieRgnCoverUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppMovieRgnCoverProcInfo, theMovie, changedRgn, refcon); }
+ #else
+ #define InvokeMovieRgnCoverUPP(theMovie, changedRgn, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppMovieRgnCoverProcInfo, (theMovie), (changedRgn), (refcon))
+ #endif
#endif
- /*
- * InvokeMovieProgressUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeMovieProgressUPP(
- Movie theMovie,
- short message,
- short whatOperation,
- Fixed percentDone,
- long refcon,
- MovieProgressUPP userUPP);
+/*
+ * InvokeMovieProgressUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeMovieProgressUPP(
+ Movie theMovie,
+ short message,
+ short whatOperation,
+ Fixed percentDone,
+ long refcon,
+ MovieProgressUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeMovieProgressUPP(Movie theMovie, short message, short whatOperation, Fixed percentDone, long refcon, MovieProgressUPP userUPP)
- {
- return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppMovieProgressProcInfo, theMovie, message, whatOperation, percentDone, refcon);
- }
-#else
-#define InvokeMovieProgressUPP(theMovie, message, whatOperation, percentDone, refcon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppMovieProgressProcInfo, (theMovie), (message), (whatOperation), (percentDone), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeMovieProgressUPP(Movie theMovie, short message, short whatOperation, Fixed percentDone, long refcon, MovieProgressUPP userUPP) { return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppMovieProgressProcInfo, theMovie, message, whatOperation, percentDone, refcon); }
+ #else
+ #define InvokeMovieProgressUPP(theMovie, message, whatOperation, percentDone, refcon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppMovieProgressProcInfo, (theMovie), (message), (whatOperation), (percentDone), (refcon))
+ #endif
#endif
- /*
- * InvokeMovieDrawingCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeMovieDrawingCompleteUPP(
- Movie theMovie,
- long refCon,
- MovieDrawingCompleteUPP userUPP);
+/*
+ * InvokeMovieDrawingCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeMovieDrawingCompleteUPP(
+ Movie theMovie,
+ long refCon,
+ MovieDrawingCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeMovieDrawingCompleteUPP(Movie theMovie, long refCon, MovieDrawingCompleteUPP userUPP)
- {
- return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppMovieDrawingCompleteProcInfo, theMovie, refCon);
- }
-#else
-#define InvokeMovieDrawingCompleteUPP(theMovie, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppMovieDrawingCompleteProcInfo, (theMovie), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeMovieDrawingCompleteUPP(Movie theMovie, long refCon, MovieDrawingCompleteUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppMovieDrawingCompleteProcInfo, theMovie, refCon); }
+ #else
+ #define InvokeMovieDrawingCompleteUPP(theMovie, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppMovieDrawingCompleteProcInfo, (theMovie), (refCon))
+ #endif
#endif
- /*
- * InvokeTrackTransferUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeTrackTransferUPP(
- Track t,
- long refCon,
- TrackTransferUPP userUPP);
+/*
+ * InvokeTrackTransferUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeTrackTransferUPP(
+ Track t,
+ long refCon,
+ TrackTransferUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeTrackTransferUPP(Track t, long refCon, TrackTransferUPP userUPP)
- {
- return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppTrackTransferProcInfo, t, refCon);
- }
-#else
-#define InvokeTrackTransferUPP(t, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppTrackTransferProcInfo, (t), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeTrackTransferUPP(Track t, long refCon, TrackTransferUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppTrackTransferProcInfo, t, refCon); }
+ #else
+ #define InvokeTrackTransferUPP(t, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppTrackTransferProcInfo, (t), (refCon))
+ #endif
#endif
- /*
- * InvokeGetMovieUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeGetMovieUPP(
- long offset,
- long size,
- void * dataPtr,
- void * refCon,
- GetMovieUPP userUPP);
+/*
+ * InvokeGetMovieUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeGetMovieUPP(
+ long offset,
+ long size,
+ void * dataPtr,
+ void * refCon,
+ GetMovieUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeGetMovieUPP(long offset, long size, void * dataPtr, void * refCon, GetMovieUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppGetMovieProcInfo, offset, size, dataPtr, refCon);
- }
-#else
-#define InvokeGetMovieUPP(offset, size, dataPtr, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppGetMovieProcInfo, (offset), (size), (dataPtr), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeGetMovieUPP(long offset, long size, void * dataPtr, void * refCon, GetMovieUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppGetMovieProcInfo, offset, size, dataPtr, refCon); }
+ #else
+ #define InvokeGetMovieUPP(offset, size, dataPtr, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppGetMovieProcInfo, (offset), (size), (dataPtr), (refCon))
+ #endif
#endif
- /*
- * InvokeMoviePreviewCallOutUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeMoviePreviewCallOutUPP(
- long refcon,
- MoviePreviewCallOutUPP userUPP);
+/*
+ * InvokeMoviePreviewCallOutUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeMoviePreviewCallOutUPP(
+ long refcon,
+ MoviePreviewCallOutUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeMoviePreviewCallOutUPP(long refcon, MoviePreviewCallOutUPP userUPP)
- {
- return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppMoviePreviewCallOutProcInfo, refcon);
- }
-#else
-#define InvokeMoviePreviewCallOutUPP(refcon, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppMoviePreviewCallOutProcInfo, (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeMoviePreviewCallOutUPP(long refcon, MoviePreviewCallOutUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppMoviePreviewCallOutProcInfo, refcon); }
+ #else
+ #define InvokeMoviePreviewCallOutUPP(refcon, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppMoviePreviewCallOutProcInfo, (refcon))
+ #endif
#endif
- /*
- * InvokeTextMediaUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeTextMediaUPP(
- Handle theText,
- Movie theMovie,
- short * displayFlag,
- long refcon,
- TextMediaUPP userUPP);
+/*
+ * InvokeTextMediaUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeTextMediaUPP(
+ Handle theText,
+ Movie theMovie,
+ short * displayFlag,
+ long refcon,
+ TextMediaUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeTextMediaUPP(Handle theText, Movie theMovie, short * displayFlag, long refcon, TextMediaUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppTextMediaProcInfo, theText, theMovie, displayFlag, refcon);
- }
-#else
-#define InvokeTextMediaUPP(theText, theMovie, displayFlag, refcon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppTextMediaProcInfo, (theText), (theMovie), (displayFlag), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeTextMediaUPP(Handle theText, Movie theMovie, short * displayFlag, long refcon, TextMediaUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppTextMediaProcInfo, theText, theMovie, displayFlag, refcon); }
+ #else
+ #define InvokeTextMediaUPP(theText, theMovie, displayFlag, refcon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppTextMediaProcInfo, (theText), (theMovie), (displayFlag), (refcon))
+ #endif
#endif
- /*
- * InvokeActionsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeActionsUPP(
- void * refcon,
- Track targetTrack,
- long targetRefCon,
- QTEventRecordPtr theEvent,
- ActionsUPP userUPP);
+/*
+ * InvokeActionsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeActionsUPP(
+ void * refcon,
+ Track targetTrack,
+ long targetRefCon,
+ QTEventRecordPtr theEvent,
+ ActionsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeActionsUPP(void * refcon, Track targetTrack, long targetRefCon, QTEventRecordPtr theEvent, ActionsUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppActionsProcInfo, refcon, targetTrack, targetRefCon, theEvent);
- }
-#else
-#define InvokeActionsUPP(refcon, targetTrack, targetRefCon, theEvent, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppActionsProcInfo, (refcon), (targetTrack), (targetRefCon), (theEvent))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeActionsUPP(void * refcon, Track targetTrack, long targetRefCon, QTEventRecordPtr theEvent, ActionsUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppActionsProcInfo, refcon, targetTrack, targetRefCon, theEvent); }
+ #else
+ #define InvokeActionsUPP(refcon, targetTrack, targetRefCon, theEvent, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppActionsProcInfo, (refcon), (targetTrack), (targetRefCon), (theEvent))
+ #endif
#endif
- /*
- * InvokeDoMCActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeDoMCActionUPP(
- void * refcon,
- short action,
- void * params,
- Boolean * handled,
- DoMCActionUPP userUPP);
+/*
+ * InvokeDoMCActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeDoMCActionUPP(
+ void * refcon,
+ short action,
+ void * params,
+ Boolean * handled,
+ DoMCActionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeDoMCActionUPP(void * refcon, short action, void * params, Boolean * handled, DoMCActionUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDoMCActionProcInfo, refcon, action, params, handled);
- }
-#else
-#define InvokeDoMCActionUPP(refcon, action, params, handled, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDoMCActionProcInfo, (refcon), (action), (params), (handled))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeDoMCActionUPP(void * refcon, short action, void * params, Boolean * handled, DoMCActionUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDoMCActionProcInfo, refcon, action, params, handled); }
+ #else
+ #define InvokeDoMCActionUPP(refcon, action, params, handled, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDoMCActionProcInfo, (refcon), (action), (params), (handled))
+ #endif
#endif
- /*
- * InvokeMovieExecuteWiredActionsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeMovieExecuteWiredActionsUPP(
- Movie theMovie,
- void * refcon,
- long flags,
- QTAtomContainer wiredActions,
- MovieExecuteWiredActionsUPP userUPP);
+/*
+ * InvokeMovieExecuteWiredActionsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeMovieExecuteWiredActionsUPP(
+ Movie theMovie,
+ void * refcon,
+ long flags,
+ QTAtomContainer wiredActions,
+ MovieExecuteWiredActionsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeMovieExecuteWiredActionsUPP(Movie theMovie, void * refcon, long flags, QTAtomContainer wiredActions, MovieExecuteWiredActionsUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppMovieExecuteWiredActionsProcInfo, theMovie, refcon, flags, wiredActions);
- }
-#else
-#define InvokeMovieExecuteWiredActionsUPP(theMovie, refcon, flags, wiredActions, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppMovieExecuteWiredActionsProcInfo, (theMovie), (refcon), (flags), (wiredActions))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeMovieExecuteWiredActionsUPP(Movie theMovie, void * refcon, long flags, QTAtomContainer wiredActions, MovieExecuteWiredActionsUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppMovieExecuteWiredActionsProcInfo, theMovie, refcon, flags, wiredActions); }
+ #else
+ #define InvokeMovieExecuteWiredActionsUPP(theMovie, refcon, flags, wiredActions, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppMovieExecuteWiredActionsProcInfo, (theMovie), (refcon), (flags), (wiredActions))
+ #endif
#endif
- /*
- * InvokeMoviePrePrerollCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeMoviePrePrerollCompleteUPP(
- Movie theMovie,
- OSErr prerollErr,
- void * refcon,
- MoviePrePrerollCompleteUPP userUPP);
+/*
+ * InvokeMoviePrePrerollCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeMoviePrePrerollCompleteUPP(
+ Movie theMovie,
+ OSErr prerollErr,
+ void * refcon,
+ MoviePrePrerollCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeMoviePrePrerollCompleteUPP(Movie theMovie, OSErr prerollErr, void * refcon, MoviePrePrerollCompleteUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppMoviePrePrerollCompleteProcInfo, theMovie, prerollErr, refcon);
- }
-#else
-#define InvokeMoviePrePrerollCompleteUPP(theMovie, prerollErr, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppMoviePrePrerollCompleteProcInfo, (theMovie), (prerollErr), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeMoviePrePrerollCompleteUPP(Movie theMovie, OSErr prerollErr, void * refcon, MoviePrePrerollCompleteUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppMoviePrePrerollCompleteProcInfo, theMovie, prerollErr, refcon); }
+ #else
+ #define InvokeMoviePrePrerollCompleteUPP(theMovie, prerollErr, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppMoviePrePrerollCompleteProcInfo, (theMovie), (prerollErr), (refcon))
+ #endif
#endif
- /*
- * InvokeQTNextTaskNeededSoonerCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- InvokeQTNextTaskNeededSoonerCallbackUPP(
- TimeValue duration,
- unsigned long flags,
- void * refcon,
- QTNextTaskNeededSoonerCallbackUPP userUPP);
+/*
+ * InvokeQTNextTaskNeededSoonerCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+InvokeQTNextTaskNeededSoonerCallbackUPP(
+ TimeValue duration,
+ unsigned long flags,
+ void * refcon,
+ QTNextTaskNeededSoonerCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQTNextTaskNeededSoonerCallbackUPP(TimeValue duration, unsigned long flags, void * refcon, QTNextTaskNeededSoonerCallbackUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppQTNextTaskNeededSoonerCallbackProcInfo, duration, flags, refcon);
- }
-#else
-#define InvokeQTNextTaskNeededSoonerCallbackUPP(duration, flags, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppQTNextTaskNeededSoonerCallbackProcInfo, (duration), (flags), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQTNextTaskNeededSoonerCallbackUPP(TimeValue duration, unsigned long flags, void * refcon, QTNextTaskNeededSoonerCallbackUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppQTNextTaskNeededSoonerCallbackProcInfo, duration, flags, refcon); }
+ #else
+ #define InvokeQTNextTaskNeededSoonerCallbackUPP(duration, flags, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppQTNextTaskNeededSoonerCallbackProcInfo, (duration), (flags), (refcon))
+ #endif
#endif
- /*
- * InvokeMoviesErrorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeMoviesErrorUPP(
- OSErr theErr,
- long refcon,
- MoviesErrorUPP userUPP);
+/*
+ * InvokeMoviesErrorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeMoviesErrorUPP(
+ OSErr theErr,
+ long refcon,
+ MoviesErrorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeMoviesErrorUPP(OSErr theErr, long refcon, MoviesErrorUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppMoviesErrorProcInfo, theErr, refcon);
- }
-#else
-#define InvokeMoviesErrorUPP(theErr, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppMoviesErrorProcInfo, (theErr), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeMoviesErrorUPP(OSErr theErr, long refcon, MoviesErrorUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppMoviesErrorProcInfo, theErr, refcon); }
+ #else
+ #define InvokeMoviesErrorUPP(theErr, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppMoviesErrorProcInfo, (theErr), (refcon))
+ #endif
#endif
- /*
- * InvokeTweenerDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeTweenerDataUPP(
- TweenRecord * tr,
- void * tweenData,
- long tweenDataSize,
- long dataDescriptionSeed,
- Handle dataDescription,
- ICMCompletionProcRecordPtr asyncCompletionProc,
- UniversalProcPtr transferProc,
- void * refCon,
- TweenerDataUPP userUPP);
+/*
+ * InvokeTweenerDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeTweenerDataUPP(
+ TweenRecord * tr,
+ void * tweenData,
+ long tweenDataSize,
+ long dataDescriptionSeed,
+ Handle dataDescription,
+ ICMCompletionProcRecordPtr asyncCompletionProc,
+ UniversalProcPtr transferProc,
+ void * refCon,
+ TweenerDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeTweenerDataUPP(TweenRecord * tr, void * tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void * refCon, TweenerDataUPP userUPP)
- {
- return (ComponentResult)CALL_EIGHT_PARAMETER_UPP(userUPP, uppTweenerDataProcInfo, tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon);
- }
-#else
-#define InvokeTweenerDataUPP(tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon, userUPP) (ComponentResult)CALL_EIGHT_PARAMETER_UPP((userUPP), uppTweenerDataProcInfo, (tr), (tweenData), (tweenDataSize), (dataDescriptionSeed), (dataDescription), (asyncCompletionProc), (transferProc), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeTweenerDataUPP(TweenRecord * tr, void * tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void * refCon, TweenerDataUPP userUPP) { return (ComponentResult)CALL_EIGHT_PARAMETER_UPP(userUPP, uppTweenerDataProcInfo, tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon); }
+ #else
+ #define InvokeTweenerDataUPP(tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon, userUPP) (ComponentResult)CALL_EIGHT_PARAMETER_UPP((userUPP), uppTweenerDataProcInfo, (tr), (tweenData), (tweenDataSize), (dataDescriptionSeed), (dataDescription), (asyncCompletionProc), (transferProc), (refCon))
+ #endif
#endif
- /*
- * InvokeQTEffectListFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- InvokeQTEffectListFilterUPP(
- Component effect,
- long effectMinSource,
- long effectMaxSource,
- OSType majorClass,
- OSType minorClass,
- void * refcon,
- QTEffectListFilterUPP userUPP);
+/*
+ * InvokeQTEffectListFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeQTEffectListFilterUPP(
+ Component effect,
+ long effectMinSource,
+ long effectMaxSource,
+ OSType majorClass,
+ OSType minorClass,
+ void * refcon,
+ QTEffectListFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeQTEffectListFilterUPP(Component effect, long effectMinSource, long effectMaxSource, OSType majorClass, OSType minorClass, void * refcon, QTEffectListFilterUPP userUPP)
- {
- return (Boolean)CALL_SIX_PARAMETER_UPP(userUPP, uppQTEffectListFilterProcInfo, effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon);
- }
-#else
-#define InvokeQTEffectListFilterUPP(effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon, userUPP) (Boolean)CALL_SIX_PARAMETER_UPP((userUPP), uppQTEffectListFilterProcInfo, (effect), (effectMinSource), (effectMaxSource), (majorClass), (minorClass), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeQTEffectListFilterUPP(Component effect, long effectMinSource, long effectMaxSource, OSType majorClass, OSType minorClass, void * refcon, QTEffectListFilterUPP userUPP) { return (Boolean)CALL_SIX_PARAMETER_UPP(userUPP, uppQTEffectListFilterProcInfo, effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon); }
+ #else
+ #define InvokeQTEffectListFilterUPP(effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon, userUPP) (Boolean)CALL_SIX_PARAMETER_UPP((userUPP), uppQTEffectListFilterProcInfo, (effect), (effectMinSource), (effectMaxSource), (majorClass), (minorClass), (refcon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewQTCallBackProc(userRoutine) NewQTCallBackUPP(userRoutine)
-#define NewQTSyncTaskProc(userRoutine) NewQTSyncTaskUPP(userRoutine)
-#define NewMovieRgnCoverProc(userRoutine) NewMovieRgnCoverUPP(userRoutine)
-#define NewMovieProgressProc(userRoutine) NewMovieProgressUPP(userRoutine)
-#define NewMovieDrawingCompleteProc(userRoutine) NewMovieDrawingCompleteUPP(userRoutine)
-#define NewTrackTransferProc(userRoutine) NewTrackTransferUPP(userRoutine)
-#define NewGetMovieProc(userRoutine) NewGetMovieUPP(userRoutine)
-#define NewMoviePreviewCallOutProc(userRoutine) NewMoviePreviewCallOutUPP(userRoutine)
-#define NewTextMediaProc(userRoutine) NewTextMediaUPP(userRoutine)
-#define NewActionsProc(userRoutine) NewActionsUPP(userRoutine)
-#define NewDoMCActionProc(userRoutine) NewDoMCActionUPP(userRoutine)
-#define NewMovieExecuteWiredActionsProc(userRoutine) NewMovieExecuteWiredActionsUPP(userRoutine)
-#define NewMoviePrePrerollCompleteProc(userRoutine) NewMoviePrePrerollCompleteUPP(userRoutine)
-#define NewQTNextTaskNeededSoonerCallbackProc(userRoutine) NewQTNextTaskNeededSoonerCallbackUPP(userRoutine)
-#define NewMoviesErrorProc(userRoutine) NewMoviesErrorUPP(userRoutine)
-#define NewTweenerDataProc(userRoutine) NewTweenerDataUPP(userRoutine)
-#define NewQTEffectListFilterProc(userRoutine) NewQTEffectListFilterUPP(userRoutine)
-#define CallQTCallBackProc(userRoutine, cb, refCon) InvokeQTCallBackUPP(cb, refCon, userRoutine)
-#define CallQTSyncTaskProc(userRoutine, task) InvokeQTSyncTaskUPP(task, userRoutine)
-#define CallMovieRgnCoverProc(userRoutine, theMovie, changedRgn, refcon) InvokeMovieRgnCoverUPP(theMovie, changedRgn, refcon, userRoutine)
-#define CallMovieProgressProc(userRoutine, theMovie, message, whatOperation, percentDone, refcon) InvokeMovieProgressUPP(theMovie, message, whatOperation, percentDone, refcon, userRoutine)
-#define CallMovieDrawingCompleteProc(userRoutine, theMovie, refCon) InvokeMovieDrawingCompleteUPP(theMovie, refCon, userRoutine)
-#define CallTrackTransferProc(userRoutine, t, refCon) InvokeTrackTransferUPP(t, refCon, userRoutine)
-#define CallGetMovieProc(userRoutine, offset, size, dataPtr, refCon) InvokeGetMovieUPP(offset, size, dataPtr, refCon, userRoutine)
-#define CallMoviePreviewCallOutProc(userRoutine, refcon) InvokeMoviePreviewCallOutUPP(refcon, userRoutine)
-#define CallTextMediaProc(userRoutine, theText, theMovie, displayFlag, refcon) InvokeTextMediaUPP(theText, theMovie, displayFlag, refcon, userRoutine)
-#define CallActionsProc(userRoutine, refcon, targetTrack, targetRefCon, theEvent) InvokeActionsUPP(refcon, targetTrack, targetRefCon, theEvent, userRoutine)
-#define CallDoMCActionProc(userRoutine, refcon, action, params, handled) InvokeDoMCActionUPP(refcon, action, params, handled, userRoutine)
-#define CallMovieExecuteWiredActionsProc(userRoutine, theMovie, refcon, flags, wiredActions) InvokeMovieExecuteWiredActionsUPP(theMovie, refcon, flags, wiredActions, userRoutine)
-#define CallMoviePrePrerollCompleteProc(userRoutine, theMovie, prerollErr, refcon) InvokeMoviePrePrerollCompleteUPP(theMovie, prerollErr, refcon, userRoutine)
-#define CallQTNextTaskNeededSoonerCallbackProc(userRoutine, duration, flags, refcon) InvokeQTNextTaskNeededSoonerCallbackUPP(duration, flags, refcon, userRoutine)
-#define CallMoviesErrorProc(userRoutine, theErr, refcon) InvokeMoviesErrorUPP(theErr, refcon, userRoutine)
-#define CallTweenerDataProc(userRoutine, tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon) InvokeTweenerDataUPP(tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon, userRoutine)
-#define CallQTEffectListFilterProc(userRoutine, effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon) InvokeQTEffectListFilterUPP(effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon, userRoutine)
+ #define NewQTCallBackProc(userRoutine) NewQTCallBackUPP(userRoutine)
+ #define NewQTSyncTaskProc(userRoutine) NewQTSyncTaskUPP(userRoutine)
+ #define NewMovieRgnCoverProc(userRoutine) NewMovieRgnCoverUPP(userRoutine)
+ #define NewMovieProgressProc(userRoutine) NewMovieProgressUPP(userRoutine)
+ #define NewMovieDrawingCompleteProc(userRoutine) NewMovieDrawingCompleteUPP(userRoutine)
+ #define NewTrackTransferProc(userRoutine) NewTrackTransferUPP(userRoutine)
+ #define NewGetMovieProc(userRoutine) NewGetMovieUPP(userRoutine)
+ #define NewMoviePreviewCallOutProc(userRoutine) NewMoviePreviewCallOutUPP(userRoutine)
+ #define NewTextMediaProc(userRoutine) NewTextMediaUPP(userRoutine)
+ #define NewActionsProc(userRoutine) NewActionsUPP(userRoutine)
+ #define NewDoMCActionProc(userRoutine) NewDoMCActionUPP(userRoutine)
+ #define NewMovieExecuteWiredActionsProc(userRoutine) NewMovieExecuteWiredActionsUPP(userRoutine)
+ #define NewMoviePrePrerollCompleteProc(userRoutine) NewMoviePrePrerollCompleteUPP(userRoutine)
+ #define NewQTNextTaskNeededSoonerCallbackProc(userRoutine) NewQTNextTaskNeededSoonerCallbackUPP(userRoutine)
+ #define NewMoviesErrorProc(userRoutine) NewMoviesErrorUPP(userRoutine)
+ #define NewTweenerDataProc(userRoutine) NewTweenerDataUPP(userRoutine)
+ #define NewQTEffectListFilterProc(userRoutine) NewQTEffectListFilterUPP(userRoutine)
+ #define CallQTCallBackProc(userRoutine, cb, refCon) InvokeQTCallBackUPP(cb, refCon, userRoutine)
+ #define CallQTSyncTaskProc(userRoutine, task) InvokeQTSyncTaskUPP(task, userRoutine)
+ #define CallMovieRgnCoverProc(userRoutine, theMovie, changedRgn, refcon) InvokeMovieRgnCoverUPP(theMovie, changedRgn, refcon, userRoutine)
+ #define CallMovieProgressProc(userRoutine, theMovie, message, whatOperation, percentDone, refcon) InvokeMovieProgressUPP(theMovie, message, whatOperation, percentDone, refcon, userRoutine)
+ #define CallMovieDrawingCompleteProc(userRoutine, theMovie, refCon) InvokeMovieDrawingCompleteUPP(theMovie, refCon, userRoutine)
+ #define CallTrackTransferProc(userRoutine, t, refCon) InvokeTrackTransferUPP(t, refCon, userRoutine)
+ #define CallGetMovieProc(userRoutine, offset, size, dataPtr, refCon) InvokeGetMovieUPP(offset, size, dataPtr, refCon, userRoutine)
+ #define CallMoviePreviewCallOutProc(userRoutine, refcon) InvokeMoviePreviewCallOutUPP(refcon, userRoutine)
+ #define CallTextMediaProc(userRoutine, theText, theMovie, displayFlag, refcon) InvokeTextMediaUPP(theText, theMovie, displayFlag, refcon, userRoutine)
+ #define CallActionsProc(userRoutine, refcon, targetTrack, targetRefCon, theEvent) InvokeActionsUPP(refcon, targetTrack, targetRefCon, theEvent, userRoutine)
+ #define CallDoMCActionProc(userRoutine, refcon, action, params, handled) InvokeDoMCActionUPP(refcon, action, params, handled, userRoutine)
+ #define CallMovieExecuteWiredActionsProc(userRoutine, theMovie, refcon, flags, wiredActions) InvokeMovieExecuteWiredActionsUPP(theMovie, refcon, flags, wiredActions, userRoutine)
+ #define CallMoviePrePrerollCompleteProc(userRoutine, theMovie, prerollErr, refcon) InvokeMoviePrePrerollCompleteUPP(theMovie, prerollErr, refcon, userRoutine)
+ #define CallQTNextTaskNeededSoonerCallbackProc(userRoutine, duration, flags, refcon) InvokeQTNextTaskNeededSoonerCallbackUPP(duration, flags, refcon, userRoutine)
+ #define CallMoviesErrorProc(userRoutine, theErr, refcon) InvokeMoviesErrorUPP(theErr, refcon, userRoutine)
+ #define CallTweenerDataProc(userRoutine, tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon) InvokeTweenerDataUPP(tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon, userRoutine)
+ #define CallQTEffectListFilterProc(userRoutine, effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon) InvokeQTEffectListFilterUPP(effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*****
- Connection Speed
- *****/
- enum
- {
- ConnectionSpeedPrefsType = FOUR_CHAR_CODE('cspd'),
- ConnectionSpeedIsValidPrefsType = FOUR_CHAR_CODE('vspd')
- };
-
- struct ConnectionSpeedPrefsRecord
- {
- long connectionSpeed;
- };
- typedef struct ConnectionSpeedPrefsRecord ConnectionSpeedPrefsRecord;
- typedef ConnectionSpeedPrefsRecord * ConnectionSpeedPrefsPtr;
- typedef ConnectionSpeedPrefsPtr * ConnectionSpeedPrefsHandle;
- /*
- * QTGetConnectionSpeedFromPrefs()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- QTGetConnectionSpeedFromPrefs(long * pConnectionSpeed);
-
-
- /*****
- QT International Text Atom Support
- *****/
- enum
- {
- kITextRemoveEverythingBut = 0 << 1,
- kITextRemoveLeaveSuggestedAlternate = 1 << 1
- };
-
- enum
- {
- kITextAtomType = FOUR_CHAR_CODE('itxt'),
- kITextStringAtomType = FOUR_CHAR_CODE('text')
- };
-
- /*
- * ITextAddString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ITextAddString(
- QTAtomContainer container,
- QTAtom parentAtom,
- RegionCode theRegionCode,
- ConstStr255Param theString);
-
-
- /*
- * ITextRemoveString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ITextRemoveString(
- QTAtomContainer container,
- QTAtom parentAtom,
- RegionCode theRegionCode,
- long flags);
-
-
- /*
- * ITextGetString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- ITextGetString(
- QTAtomContainer container,
- QTAtom parentAtom,
- RegionCode requestedRegion,
- RegionCode * foundRegion,
- StringPtr theString);
-
-
- /*
- * QTTextToNativeText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTTextToNativeText(
- Handle theText,
- long encoding,
- long flags);
-
-
- /* QTParseTextHREF inContainer atoms*/
- enum
- {
- kQTParseTextHREFText = FOUR_CHAR_CODE('text'), /* string*/
- kQTParseTextHREFBaseURL = FOUR_CHAR_CODE('burl'), /* string*/
- kQTParseTextHREFClickPoint = FOUR_CHAR_CODE('clik'), /* Point; if present, QTParseTextHREF will expand URLs to support server-side image maps*/
- kQTParseTextHREFUseAltDelim = FOUR_CHAR_CODE('altd'), /* boolean; if no kQTParseTextHREFDelimiter, delim is ':'*/
- kQTParseTextHREFDelimiter = FOUR_CHAR_CODE('delm'), /* character*/
- kQTParseTextHREFRecomposeHREF = FOUR_CHAR_CODE('rhrf') /* Boolean; if true, QTParseTextHREF returns recomposed HREF with URL expanded as appropriate*/
- };
-
- /* QTParseTextHREF outContainer atoms*/
- enum
- {
- kQTParseTextHREFURL = FOUR_CHAR_CODE('url '), /* string*/
- kQTParseTextHREFTarget = FOUR_CHAR_CODE('targ'), /* string*/
- kQTParseTextHREFChapter = FOUR_CHAR_CODE('chap'), /* string*/
- kQTParseTextHREFIsAutoHREF = FOUR_CHAR_CODE('auto'), /* Boolean*/
- kQTParseTextHREFIsServerMap = FOUR_CHAR_CODE('smap'), /* Boolean*/
- kQTParseTextHREFHREF = FOUR_CHAR_CODE('href'), /* string; recomposed HREF with URL expanded as appropriate, suitable for mcActionLinkToURL*/
- kQTParseTextHREFEMBEDArgs = FOUR_CHAR_CODE('mbed') /* string; text between 'E<' and '>' to be used as new movie's embed tags*/
- };
-
- /*
- * QTParseTextHREF()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- QTParseTextHREF(
- char * href,
- SInt32 hrefLen,
- QTAtomContainer inContainer,
- QTAtomContainer * outContainer);
-
-
- /*************************
- * track reference types
- **************************/
- enum
- {
- kTrackReferenceChapterList = FOUR_CHAR_CODE('chap'),
- kTrackReferenceTimeCode = FOUR_CHAR_CODE('tmcd'),
- kTrackReferenceModifier = FOUR_CHAR_CODE('ssrc')
- };
-
- /*************************
- * modifier track types
- **************************/
- enum
- {
- kTrackModifierInput = 0x696E, /* is really 'in'*/
- kTrackModifierType = 0x7479, /* is really 'ty'*/
- kTrackModifierReference = FOUR_CHAR_CODE('ssrc'),
- kTrackModifierObjectID = FOUR_CHAR_CODE('obid'),
- kTrackModifierInputName = FOUR_CHAR_CODE('name')
- };
-
- enum
- {
- kInputMapSubInputID = FOUR_CHAR_CODE('subi')
- };
-
- enum
- {
- kTrackModifierTypeMatrix = 1,
- kTrackModifierTypeClip = 2,
- kTrackModifierTypeGraphicsMode = 5,
- kTrackModifierTypeVolume = 3,
- kTrackModifierTypeBalance = 4,
- kTrackModifierTypeImage = FOUR_CHAR_CODE('vide'), /* was kTrackModifierTypeSpriteImage*/
- kTrackModifierObjectMatrix = 6,
- kTrackModifierObjectGraphicsMode = 7,
- kTrackModifierType3d4x4Matrix = 8,
- kTrackModifierCameraData = 9,
- kTrackModifierSoundLocalizationData = 10,
- kTrackModifierObjectImageIndex = 11,
- kTrackModifierObjectLayer = 12,
- kTrackModifierObjectVisible = 13,
- kTrackModifierAngleAspectCamera = 14,
- kTrackModifierPanAngle = FOUR_CHAR_CODE('pan '),
- kTrackModifierTiltAngle = FOUR_CHAR_CODE('tilt'),
- kTrackModifierVerticalFieldOfViewAngle = FOUR_CHAR_CODE('fov '),
- kTrackModifierObjectQTEventSend = FOUR_CHAR_CODE('evnt'),
- kTrackModifierObjectCanBeHitTested = 15
- };
-
- struct ModifierTrackGraphicsModeRecord
- {
- long graphicsMode;
- RGBColor opColor;
- };
- typedef struct ModifierTrackGraphicsModeRecord ModifierTrackGraphicsModeRecord;
-
- /*************************
- * tween track types
- **************************/
- enum
- {
- kTweenTypeShort = 1,
- kTweenTypeLong = 2,
- kTweenTypeFixed = 3,
- kTweenTypePoint = 4,
- kTweenTypeQDRect = 5,
- kTweenTypeQDRegion = 6,
- kTweenTypeMatrix = 7,
- kTweenTypeRGBColor = 8,
- kTweenTypeGraphicsModeWithRGBColor = 9,
- kTweenTypeQTFloatSingle = 10,
- kTweenTypeQTFloatDouble = 11,
- kTweenTypeFixedPoint = 12,
- kTweenType3dScale = FOUR_CHAR_CODE('3sca'),
- kTweenType3dTranslate = FOUR_CHAR_CODE('3tra'),
- kTweenType3dRotate = FOUR_CHAR_CODE('3rot'),
- kTweenType3dRotateAboutPoint = FOUR_CHAR_CODE('3rap'),
- kTweenType3dRotateAboutAxis = FOUR_CHAR_CODE('3rax'),
- kTweenType3dRotateAboutVector = FOUR_CHAR_CODE('3rvc'),
- kTweenType3dQuaternion = FOUR_CHAR_CODE('3qua'),
- kTweenType3dMatrix = FOUR_CHAR_CODE('3mat'),
- kTweenType3dCameraData = FOUR_CHAR_CODE('3cam'),
- kTweenType3dAngleAspectCameraData = FOUR_CHAR_CODE('3caa'),
- kTweenType3dSoundLocalizationData = FOUR_CHAR_CODE('3slc'),
- kTweenTypePathToMatrixTranslation = FOUR_CHAR_CODE('gxmt'),
- kTweenTypePathToMatrixRotation = FOUR_CHAR_CODE('gxpr'),
- kTweenTypePathToMatrixTranslationAndRotation = FOUR_CHAR_CODE('gxmr'),
- kTweenTypePathToFixedPoint = FOUR_CHAR_CODE('gxfp'),
- kTweenTypePathXtoY = FOUR_CHAR_CODE('gxxy'),
- kTweenTypePathYtoX = FOUR_CHAR_CODE('gxyx'),
- kTweenTypeAtomList = FOUR_CHAR_CODE('atom'),
- kTweenTypePolygon = FOUR_CHAR_CODE('poly'),
- kTweenTypeMultiMatrix = FOUR_CHAR_CODE('mulm'),
- kTweenTypeSpin = FOUR_CHAR_CODE('spin'),
- kTweenType3dMatrixNonLinear = FOUR_CHAR_CODE('3nlr'),
- kTweenType3dVRObject = FOUR_CHAR_CODE('3vro')
- };
-
- enum
- {
- kTweenEntry = FOUR_CHAR_CODE('twen'),
- kTweenData = FOUR_CHAR_CODE('data'),
- kTweenType = FOUR_CHAR_CODE('twnt'),
- kTweenStartOffset = FOUR_CHAR_CODE('twst'),
- kTweenDuration = FOUR_CHAR_CODE('twdu'),
- kTweenFlags = FOUR_CHAR_CODE('flag'),
- kTweenOutputMin = FOUR_CHAR_CODE('omin'),
- kTweenOutputMax = FOUR_CHAR_CODE('omax'),
- kTweenSequenceElement = FOUR_CHAR_CODE('seqe'),
- kTween3dInitialCondition = FOUR_CHAR_CODE('icnd'),
- kTweenInterpolationID = FOUR_CHAR_CODE('intr'),
- kTweenRegionData = FOUR_CHAR_CODE('qdrg'),
- kTweenPictureData = FOUR_CHAR_CODE('PICT'),
- kListElementType = FOUR_CHAR_CODE('type'),
- kListElementDataType = FOUR_CHAR_CODE('daty'),
- kNameAtom = FOUR_CHAR_CODE('name'),
- kInitialRotationAtom = FOUR_CHAR_CODE('inro'),
- kNonLinearTweenHeader = FOUR_CHAR_CODE('nlth')
- };
-
- /* kTweenFlags*/
- enum
- {
- kTweenReturnDelta = 1L << 0
- };
-
- struct TweenSequenceEntryRecord
- {
- Fixed endPercent;
- QTAtomID tweenAtomID;
- QTAtomID dataAtomID;
- };
- typedef struct TweenSequenceEntryRecord TweenSequenceEntryRecord;
+/*****
+ Connection Speed
+*****/
+enum {
+ ConnectionSpeedPrefsType = FOUR_CHAR_CODE('cspd'),
+ ConnectionSpeedIsValidPrefsType = FOUR_CHAR_CODE('vspd')
+};
+
+struct ConnectionSpeedPrefsRecord {
+ long connectionSpeed;
+};
+typedef struct ConnectionSpeedPrefsRecord ConnectionSpeedPrefsRecord;
+typedef ConnectionSpeedPrefsRecord * ConnectionSpeedPrefsPtr;
+typedef ConnectionSpeedPrefsPtr * ConnectionSpeedPrefsHandle;
+/*
+ * QTGetConnectionSpeedFromPrefs()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+QTGetConnectionSpeedFromPrefs(long * pConnectionSpeed);
+
+
+/*****
+ QT International Text Atom Support
+*****/
+enum {
+ kITextRemoveEverythingBut = 0 << 1,
+ kITextRemoveLeaveSuggestedAlternate = 1 << 1
+};
+
+enum {
+ kITextAtomType = FOUR_CHAR_CODE('itxt'),
+ kITextStringAtomType = FOUR_CHAR_CODE('text')
+};
+
+/*
+ * ITextAddString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ITextAddString(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ RegionCode theRegionCode,
+ ConstStr255Param theString);
+
+
+/*
+ * ITextRemoveString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ITextRemoveString(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ RegionCode theRegionCode,
+ long flags);
+
+
+/*
+ * ITextGetString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+ITextGetString(
+ QTAtomContainer container,
+ QTAtom parentAtom,
+ RegionCode requestedRegion,
+ RegionCode * foundRegion,
+ StringPtr theString);
+
+
+/*
+ * QTTextToNativeText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTTextToNativeText(
+ Handle theText,
+ long encoding,
+ long flags);
+
+
+/* QTParseTextHREF inContainer atoms*/
+enum {
+ kQTParseTextHREFText = FOUR_CHAR_CODE('text'), /* string*/
+ kQTParseTextHREFBaseURL = FOUR_CHAR_CODE('burl'), /* string*/
+ kQTParseTextHREFClickPoint = FOUR_CHAR_CODE('clik'), /* Point; if present, QTParseTextHREF will expand URLs to support server-side image maps*/
+ kQTParseTextHREFUseAltDelim = FOUR_CHAR_CODE('altd'), /* boolean; if no kQTParseTextHREFDelimiter, delim is ':'*/
+ kQTParseTextHREFDelimiter = FOUR_CHAR_CODE('delm'), /* character*/
+ kQTParseTextHREFRecomposeHREF = FOUR_CHAR_CODE('rhrf') /* Boolean; if true, QTParseTextHREF returns recomposed HREF with URL expanded as appropriate*/
+};
+
+/* QTParseTextHREF outContainer atoms*/
+enum {
+ kQTParseTextHREFURL = FOUR_CHAR_CODE('url '), /* string*/
+ kQTParseTextHREFTarget = FOUR_CHAR_CODE('targ'), /* string*/
+ kQTParseTextHREFChapter = FOUR_CHAR_CODE('chap'), /* string*/
+ kQTParseTextHREFIsAutoHREF = FOUR_CHAR_CODE('auto'), /* Boolean*/
+ kQTParseTextHREFIsServerMap = FOUR_CHAR_CODE('smap'), /* Boolean*/
+ kQTParseTextHREFHREF = FOUR_CHAR_CODE('href'), /* string; recomposed HREF with URL expanded as appropriate, suitable for mcActionLinkToURL*/
+ kQTParseTextHREFEMBEDArgs = FOUR_CHAR_CODE('mbed') /* string; text between 'E<' and '>' to be used as new movie's embed tags*/
+};
+
+/*
+ * QTParseTextHREF()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+QTParseTextHREF(
+ char * href,
+ SInt32 hrefLen,
+ QTAtomContainer inContainer,
+ QTAtomContainer * outContainer);
+
+
+/*************************
+* track reference types
+**************************/
+enum {
+ kTrackReferenceChapterList = FOUR_CHAR_CODE('chap'),
+ kTrackReferenceTimeCode = FOUR_CHAR_CODE('tmcd'),
+ kTrackReferenceModifier = FOUR_CHAR_CODE('ssrc')
+};
+
+/*************************
+* modifier track types
+**************************/
+enum {
+ kTrackModifierInput = 0x696E, /* is really 'in'*/
+ kTrackModifierType = 0x7479, /* is really 'ty'*/
+ kTrackModifierReference = FOUR_CHAR_CODE('ssrc'),
+ kTrackModifierObjectID = FOUR_CHAR_CODE('obid'),
+ kTrackModifierInputName = FOUR_CHAR_CODE('name')
+};
+
+enum {
+ kInputMapSubInputID = FOUR_CHAR_CODE('subi')
+};
+
+enum {
+ kTrackModifierTypeMatrix = 1,
+ kTrackModifierTypeClip = 2,
+ kTrackModifierTypeGraphicsMode = 5,
+ kTrackModifierTypeVolume = 3,
+ kTrackModifierTypeBalance = 4,
+ kTrackModifierTypeImage = FOUR_CHAR_CODE('vide'), /* was kTrackModifierTypeSpriteImage*/
+ kTrackModifierObjectMatrix = 6,
+ kTrackModifierObjectGraphicsMode = 7,
+ kTrackModifierType3d4x4Matrix = 8,
+ kTrackModifierCameraData = 9,
+ kTrackModifierSoundLocalizationData = 10,
+ kTrackModifierObjectImageIndex = 11,
+ kTrackModifierObjectLayer = 12,
+ kTrackModifierObjectVisible = 13,
+ kTrackModifierAngleAspectCamera = 14,
+ kTrackModifierPanAngle = FOUR_CHAR_CODE('pan '),
+ kTrackModifierTiltAngle = FOUR_CHAR_CODE('tilt'),
+ kTrackModifierVerticalFieldOfViewAngle = FOUR_CHAR_CODE('fov '),
+ kTrackModifierObjectQTEventSend = FOUR_CHAR_CODE('evnt'),
+ kTrackModifierObjectCanBeHitTested = 15
+};
+
+struct ModifierTrackGraphicsModeRecord {
+ long graphicsMode;
+ RGBColor opColor;
+};
+typedef struct ModifierTrackGraphicsModeRecord ModifierTrackGraphicsModeRecord;
+
+/*************************
+* tween track types
+**************************/
+enum {
+ kTweenTypeShort = 1,
+ kTweenTypeLong = 2,
+ kTweenTypeFixed = 3,
+ kTweenTypePoint = 4,
+ kTweenTypeQDRect = 5,
+ kTweenTypeQDRegion = 6,
+ kTweenTypeMatrix = 7,
+ kTweenTypeRGBColor = 8,
+ kTweenTypeGraphicsModeWithRGBColor = 9,
+ kTweenTypeQTFloatSingle = 10,
+ kTweenTypeQTFloatDouble = 11,
+ kTweenTypeFixedPoint = 12,
+ kTweenType3dScale = FOUR_CHAR_CODE('3sca'),
+ kTweenType3dTranslate = FOUR_CHAR_CODE('3tra'),
+ kTweenType3dRotate = FOUR_CHAR_CODE('3rot'),
+ kTweenType3dRotateAboutPoint = FOUR_CHAR_CODE('3rap'),
+ kTweenType3dRotateAboutAxis = FOUR_CHAR_CODE('3rax'),
+ kTweenType3dRotateAboutVector = FOUR_CHAR_CODE('3rvc'),
+ kTweenType3dQuaternion = FOUR_CHAR_CODE('3qua'),
+ kTweenType3dMatrix = FOUR_CHAR_CODE('3mat'),
+ kTweenType3dCameraData = FOUR_CHAR_CODE('3cam'),
+ kTweenType3dAngleAspectCameraData = FOUR_CHAR_CODE('3caa'),
+ kTweenType3dSoundLocalizationData = FOUR_CHAR_CODE('3slc'),
+ kTweenTypePathToMatrixTranslation = FOUR_CHAR_CODE('gxmt'),
+ kTweenTypePathToMatrixRotation = FOUR_CHAR_CODE('gxpr'),
+ kTweenTypePathToMatrixTranslationAndRotation = FOUR_CHAR_CODE('gxmr'),
+ kTweenTypePathToFixedPoint = FOUR_CHAR_CODE('gxfp'),
+ kTweenTypePathXtoY = FOUR_CHAR_CODE('gxxy'),
+ kTweenTypePathYtoX = FOUR_CHAR_CODE('gxyx'),
+ kTweenTypeAtomList = FOUR_CHAR_CODE('atom'),
+ kTweenTypePolygon = FOUR_CHAR_CODE('poly'),
+ kTweenTypeMultiMatrix = FOUR_CHAR_CODE('mulm'),
+ kTweenTypeSpin = FOUR_CHAR_CODE('spin'),
+ kTweenType3dMatrixNonLinear = FOUR_CHAR_CODE('3nlr'),
+ kTweenType3dVRObject = FOUR_CHAR_CODE('3vro')
+};
+
+enum {
+ kTweenEntry = FOUR_CHAR_CODE('twen'),
+ kTweenData = FOUR_CHAR_CODE('data'),
+ kTweenType = FOUR_CHAR_CODE('twnt'),
+ kTweenStartOffset = FOUR_CHAR_CODE('twst'),
+ kTweenDuration = FOUR_CHAR_CODE('twdu'),
+ kTweenFlags = FOUR_CHAR_CODE('flag'),
+ kTweenOutputMin = FOUR_CHAR_CODE('omin'),
+ kTweenOutputMax = FOUR_CHAR_CODE('omax'),
+ kTweenSequenceElement = FOUR_CHAR_CODE('seqe'),
+ kTween3dInitialCondition = FOUR_CHAR_CODE('icnd'),
+ kTweenInterpolationID = FOUR_CHAR_CODE('intr'),
+ kTweenRegionData = FOUR_CHAR_CODE('qdrg'),
+ kTweenPictureData = FOUR_CHAR_CODE('PICT'),
+ kListElementType = FOUR_CHAR_CODE('type'),
+ kListElementDataType = FOUR_CHAR_CODE('daty'),
+ kNameAtom = FOUR_CHAR_CODE('name'),
+ kInitialRotationAtom = FOUR_CHAR_CODE('inro'),
+ kNonLinearTweenHeader = FOUR_CHAR_CODE('nlth')
+};
+
+/* kTweenFlags*/
+enum {
+ kTweenReturnDelta = 1L << 0
+};
+
+struct TweenSequenceEntryRecord {
+ Fixed endPercent;
+ QTAtomID tweenAtomID;
+ QTAtomID dataAtomID;
+};
+typedef struct TweenSequenceEntryRecord TweenSequenceEntryRecord;
#ifdef __QD3D__
- struct ThreeDeeVRObjectSample
- {
- long rows;
- long columns;
- TQ3Matrix4x4 calib1;
- TQ3Matrix4x4 calib2;
- long reserved1;
- long reserved2;
- };
-
- typedef struct ThreeDeeVRObjectSample ThreeDeeVRObjectSample;
-
- struct ThreeDeeNonLinearSample
- {
- float DurFromLastSample; /* 0 to 1 */
- TQ3Matrix4x4 matrix;
- };
- typedef struct ThreeDeeNonLinearSample ThreeDeeNonLinearSample;
-
- struct ThreeDeeNonLinearTweenHeaderAtom
- {
- long number;
- long dataSize;
- float tensionFactor; /* default is 0 */
- long reserved1;
- long reserved2;
- };
- typedef struct ThreeDeeNonLinearTweenHeaderAtom ThreeDeeNonLinearTweenHeaderAtom;
+struct ThreeDeeVRObjectSample {
+ long rows;
+ long columns;
+ TQ3Matrix4x4 calib1;
+ TQ3Matrix4x4 calib2;
+ long reserved1;
+ long reserved2;
+};
+
+typedef struct ThreeDeeVRObjectSample ThreeDeeVRObjectSample;
+
+struct ThreeDeeNonLinearSample {
+ float DurFromLastSample; /* 0 to 1 */
+ TQ3Matrix4x4 matrix;
+};
+typedef struct ThreeDeeNonLinearSample ThreeDeeNonLinearSample;
+
+struct ThreeDeeNonLinearTweenHeaderAtom {
+ long number;
+ long dataSize;
+ float tensionFactor; /* default is 0 */
+ long reserved1;
+ long reserved2;
+};
+typedef struct ThreeDeeNonLinearTweenHeaderAtom ThreeDeeNonLinearTweenHeaderAtom;
#endif
@@ -14025,27 +13686,27 @@ extern "C" {
#if OLDROUTINENAMES
- /*************************
- * Video Media routines
- **************************/
+/*************************
+* Video Media routines
+**************************/
#define GetVideoMediaGraphicsMode MediaGetGraphicsMode
#define SetVideoMediaGraphicsMode MediaSetGraphicsMode
- /* use these two routines at your own peril */
+/* use these two routines at your own peril */
#define ResetVideoMediaStatistics VideoMediaResetStatistics
#define GetVideoMediaStatistics VideoMediaGetStatistics
- /*************************
- * Sound Media routines
- **************************/
+/*************************
+* Sound Media routines
+**************************/
#define GetSoundMediaBalance MediaGetSoundBalance
#define SetSoundMediaBalance MediaSetSoundBalance
- /*************************
- * Text Media routines
- **************************/
+/*************************
+* Text Media routines
+**************************/
#define SetTextProc TextMediaSetTextProc
#define AddTextSample TextMediaAddTextSample
@@ -14059,9 +13720,9 @@ extern "C" {
#define RawIdle TextMediaRawIdle
#define SetTextProperty TextMediaSetTextProperty
- /*************************
- * Sprite Media routines
- **************************/
+/*************************
+* Sprite Media routines
+**************************/
#define SetSpriteMediaSpriteProperty SpriteMediaSetProperty
#define GetSpriteMediaSpriteProperty SpriteMediaGetProperty
@@ -14074,5845 +13735,5724 @@ extern "C" {
- /*****
- Content Restrictions
- *****/
- enum
- {
- kQTRestrictionClassSave = FOUR_CHAR_CODE('save'),
- kQTRestrictionSaveDontAddMovieResource = (1L << 0),
- kQTRestrictionSaveDontFlatten = (1L << 1),
- kQTRestrictionSaveDontExport = (1L << 2),
- kQTRestrictionSaveDontExtract = (1L << 3), /* don't allow any form of extraction of content*/
- kQTRestrictionClassEdit = FOUR_CHAR_CODE('edit'),
- kQTRestrictionEditDontCopy = (1L << 0), /* disable copy */
- kQTRestrictionEditDontCut = (1L << 1), /* disable cut */
- kQTRestrictionEditDontPaste = (1L << 2), /* disable paste */
- kQTRestrictionEditDontClear = (1L << 3), /* disable clear*/
- kQTRestrictionEditDontModify = (1L << 4), /* don't allow modification of content*/
- kQTRestrictionEditDontExtract = (1L << 5), /* don't allow any form of extraction of content*/
- kQTRestrictionClassPlay = FOUR_CHAR_CODE('play'),
- kQTRestrictionPlayDontPlay = (1L << 0) /* disable playback */
- };
-
-
- /*************************
- * Video Media routines
- **************************/
-
-
- enum
- {
- videoFlagDontLeanAhead = 1L << 0
- };
-
-
-
-
- /* use these five routines at your own peril*/
- /*
- * VideoMediaResetStatistics()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- VideoMediaResetStatistics(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * VideoMediaGetStatistics()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- VideoMediaGetStatistics(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0106, 0x7000, 0xA82A);
-
-
-
- /*
- * VideoMediaGetStallCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- VideoMediaGetStallCount(
- MediaHandler mh,
- unsigned long * stalls) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010E, 0x7000, 0xA82A);
-
-
-
- /*
- * VideoMediaSetCodecParameter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- VideoMediaSetCodecParameter(
- MediaHandler mh,
- CodecType cType,
- OSType parameterID,
- long parameterChangeSeed,
- void * dataPtr,
- long dataSize) FIVEWORDINLINE(0x2F3C, 0x0014, 0x010F, 0x7000, 0xA82A);
-
-
- /*
- * VideoMediaGetCodecParameter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- VideoMediaGetCodecParameter(
- MediaHandler mh,
- CodecType cType,
- OSType parameterID,
- Handle outParameterData) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0110, 0x7000, 0xA82A);
-
-
-
-
-
- /*************************
- * Text Media routines
- **************************/
-
-
-
- /* Return displayFlags for TextProc */
- enum
- {
- txtProcDefaultDisplay = 0, /* Use the media's default*/
- txtProcDontDisplay = 1, /* Don't display the text*/
- txtProcDoDisplay = 2 /* Do display the text*/
- };
-
- /*
- * TextMediaSetTextProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaSetTextProc(
- MediaHandler mh,
- TextMediaUPP TextProc,
- long refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaAddTextSample()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaAddTextSample(
- MediaHandler mh,
- Ptr text,
- unsigned long size,
- short fontNumber,
- short fontSize,
- Style textFace,
- RGBColor * textColor,
- RGBColor * backColor,
- short textJustification,
- Rect * textBox,
- long displayFlags,
- TimeValue scrollDelay,
- short hiliteStart,
- short hiliteEnd,
- RGBColor * rgbHiliteColor,
- TimeValue duration,
- TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0034, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaAddTESample()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaAddTESample(
- MediaHandler mh,
- TEHandle hTE,
- RGBColor * backColor,
- short textJustification,
- Rect * textBox,
- long displayFlags,
- TimeValue scrollDelay,
- short hiliteStart,
- short hiliteEnd,
- RGBColor * rgbHiliteColor,
- TimeValue duration,
- TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0026, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaAddHiliteSample()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaAddHiliteSample(
- MediaHandler mh,
- short hiliteStart,
- short hiliteEnd,
- RGBColor * rgbHiliteColor,
- TimeValue duration,
- TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaDrawRaw()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaDrawRaw(
- MediaHandler mh,
- GWorldPtr gw,
- GDHandle gd,
- void * data,
- long dataSize,
- TextDescriptionHandle tdh) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaSetTextProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaSetTextProperty(
- MediaHandler mh,
- TimeValue atMediaTime,
- long propertyType,
- void * data,
- long dataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010A, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaRawSetup()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaRawSetup(
- MediaHandler mh,
- GWorldPtr gw,
- GDHandle gd,
- void * data,
- long dataSize,
- TextDescriptionHandle tdh,
- TimeValue sampleDuration) FIVEWORDINLINE(0x2F3C, 0x0018, 0x010B, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaRawIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaRawIdle(
- MediaHandler mh,
- GWorldPtr gw,
- GDHandle gd,
- TimeValue sampleTime,
- long flagsIn,
- long * flagsOut) FIVEWORDINLINE(0x2F3C, 0x0014, 0x010C, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaGetTextProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaGetTextProperty(
- MediaHandler mh,
- TimeValue atMediaTime,
- long propertyType,
- void * data,
- long dataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010D, 0x7000, 0xA82A);
-
-
- enum
- {
- findTextEdgeOK = 1 << 0, /* Okay to find text at specified sample time*/
- findTextCaseSensitive = 1 << 1, /* Case sensitive search*/
- findTextReverseSearch = 1 << 2, /* Search from sampleTime backwards*/
- findTextWrapAround = 1 << 3, /* Wrap search when beginning or end of movie is hit*/
- findTextUseOffset = 1 << 4 /* Begin search at the given character offset into sample rather than edge*/
- };
-
- /*
- * TextMediaFindNextText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaFindNextText(
- MediaHandler mh,
- Ptr text,
- long size,
- short findFlags,
- TimeValue startTime,
- TimeValue * foundTime,
- TimeValue * foundDuration,
- long * offset) FIVEWORDINLINE(0x2F3C, 0x001A, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * TextMediaHiliteTextSample()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaHiliteTextSample(
- MediaHandler mh,
- TimeValue sampleTime,
- short hiliteStart,
- short hiliteEnd,
- RGBColor * rgbHiliteColor) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0106, 0x7000, 0xA82A);
-
-
- enum
- {
- dropShadowOffsetType = FOUR_CHAR_CODE('drpo'),
- dropShadowTranslucencyType = FOUR_CHAR_CODE('drpt')
- };
-
- /*
- * TextMediaSetTextSampleData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextMediaSetTextSampleData(
- MediaHandler mh,
- void * data,
- OSType dataType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A);
-
-
-
-
-
-
- /*************************
- * Sprite Media routines
- **************************/
- /* flags for sprite hit test routines */
- enum
- {
- spriteHitTestBounds = 1L << 0, /* point must only be within sprite's bounding box*/
- spriteHitTestImage = 1L << 1, /* point must be within the shape of the sprite's image*/
- spriteHitTestInvisibleSprites = 1L << 2, /* invisible sprites may be hit tested*/
- spriteHitTestIsClick = 1L << 3, /* for codecs that want mouse events*/
- spriteHitTestLocInDisplayCoordinates = 1L << 4, /* set if you want to pass a display coordiate point to SpriteHitTest*/
- spriteHitTestTreatAllSpritesAsHitTestable = 1L << 5 /* set if you want to override each sprites hittestable property as true*/
- };
-
- /* atom types for sprite media */
- enum
- {
- kSpriteAtomType = FOUR_CHAR_CODE('sprt'),
- kSpriteImagesContainerAtomType = FOUR_CHAR_CODE('imct'),
- kSpriteImageAtomType = FOUR_CHAR_CODE('imag'),
- kSpriteImageDataAtomType = FOUR_CHAR_CODE('imda'),
- kSpriteImageDataRefAtomType = FOUR_CHAR_CODE('imre'),
- kSpriteImageDataRefTypeAtomType = FOUR_CHAR_CODE('imrt'),
- kSpriteImageGroupIDAtomType = FOUR_CHAR_CODE('imgr'),
- kSpriteImageRegistrationAtomType = FOUR_CHAR_CODE('imrg'),
- kSpriteImageDefaultImageIndexAtomType = FOUR_CHAR_CODE('defi'),
- kSpriteSharedDataAtomType = FOUR_CHAR_CODE('dflt'),
- kSpriteNameAtomType = FOUR_CHAR_CODE('name'),
- kSpriteImageNameAtomType = FOUR_CHAR_CODE('name'),
- kSpriteUsesImageIDsAtomType = FOUR_CHAR_CODE('uses'), /* leaf data is an array of QTAtomID's, one per image used*/
- kSpriteBehaviorsAtomType = FOUR_CHAR_CODE('beha'),
- kSpriteImageBehaviorAtomType = FOUR_CHAR_CODE('imag'),
- kSpriteCursorBehaviorAtomType = FOUR_CHAR_CODE('crsr'),
- kSpriteStatusStringsBehaviorAtomType = FOUR_CHAR_CODE('sstr'),
- kSpriteVariablesContainerAtomType = FOUR_CHAR_CODE('vars'),
- kSpriteStringVariableAtomType = FOUR_CHAR_CODE('strv'),
- kSpriteFloatingPointVariableAtomType = FOUR_CHAR_CODE('flov')
- };
-
- struct QTRuntimeSpriteDescStruct
- {
- long version; /* set to zero*/
- QTAtomID spriteID;
- short imageIndex;
- MatrixRecord matrix;
- short visible;
- short layer;
- ModifierTrackGraphicsModeRecord graphicsMode;
- QTAtomID actionHandlingSpriteID;
- };
- typedef struct QTRuntimeSpriteDescStruct QTRuntimeSpriteDescStruct;
- typedef QTRuntimeSpriteDescStruct * QTRuntimeSpriteDescPtr;
- /*
- when filling in QTSpriteButtonBehaviorStruct values -1 may be used to indicate that
- the state transition does not change the property
- */
- struct QTSpriteButtonBehaviorStruct
- {
- QTAtomID notOverNotPressedStateID;
- QTAtomID overNotPressedStateID;
- QTAtomID overPressedStateID;
- QTAtomID notOverPressedStateID;
- };
- typedef struct QTSpriteButtonBehaviorStruct QTSpriteButtonBehaviorStruct;
- typedef QTSpriteButtonBehaviorStruct * QTSpriteButtonBehaviorPtr;
- /*
- * SpriteMediaSetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaSetProperty(
- MediaHandler mh,
- short spriteIndex,
- long propertyType,
- void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetProperty(
- MediaHandler mh,
- short spriteIndex,
- long propertyType,
- void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaHitTestSprites()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaHitTestSprites(
- MediaHandler mh,
- long flags,
- Point loc,
- short * spriteHitIndex) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaCountSprites()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaCountSprites(
- MediaHandler mh,
- short * numSprites) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaCountImages()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaCountImages(
- MediaHandler mh,
- short * numImages) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetIndImageDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetIndImageDescription(
- MediaHandler mh,
- short imageIndex,
- ImageDescriptionHandle imageDescription) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetDisplayedSampleNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetDisplayedSampleNumber(
- MediaHandler mh,
- long * sampleNum) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetSpriteName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetSpriteName(
- MediaHandler mh,
- QTAtomID spriteID,
- Str255 spriteName) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetImageName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetImageName(
- MediaHandler mh,
- short imageIndex,
- Str255 imageName) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaSetSpriteProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaSetSpriteProperty(
- MediaHandler mh,
- QTAtomID spriteID,
- long propertyType,
- void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetSpriteProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetSpriteProperty(
- MediaHandler mh,
- QTAtomID spriteID,
- long propertyType,
- void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010B, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaHitTestAllSprites()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaHitTestAllSprites(
- MediaHandler mh,
- long flags,
- Point loc,
- QTAtomID * spriteHitID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010C, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaHitTestOneSprite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaHitTestOneSprite(
- MediaHandler mh,
- QTAtomID spriteID,
- long flags,
- Point loc,
- Boolean * wasHit) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010D, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaSpriteIndexToID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaSpriteIndexToID(
- MediaHandler mh,
- short spriteIndex,
- QTAtomID * spriteID) FIVEWORDINLINE(0x2F3C, 0x0006, 0x010E, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaSpriteIDToIndex()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaSpriteIDToIndex(
- MediaHandler mh,
- QTAtomID spriteID,
- short * spriteIndex) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010F, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetSpriteActionsForQTEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetSpriteActionsForQTEvent(
- MediaHandler mh,
- QTEventRecordPtr event,
- QTAtomID spriteID,
- QTAtomContainer * container,
- QTAtom * atom) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0110, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaSetActionVariable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaSetActionVariable(
- MediaHandler mh,
- QTAtomID variableID,
- const float * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0111, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetActionVariable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetActionVariable(
- MediaHandler mh,
- QTAtomID variableID,
- float * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0112, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetIndImageProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetIndImageProperty(
- MediaHandler mh,
- short imageIndex,
- long imagePropertyType,
- void * imagePropertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0113, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaNewSprite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaNewSprite(
- MediaHandler mh,
- QTRuntimeSpriteDescPtr newSpriteDesc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0114, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaDisposeSprite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaDisposeSprite(
- MediaHandler mh,
- QTAtomID spriteID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0115, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaSetActionVariableToString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaSetActionVariableToString(
- MediaHandler mh,
- QTAtomID variableID,
- Ptr theCString) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0116, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaGetActionVariableAsString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaGetActionVariableAsString(
- MediaHandler mh,
- QTAtomID variableID,
- Handle * theCString) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0117, 0x7000, 0xA82A);
-
-
-
-
- /*
- * SpriteMediaNewImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaNewImage(
- MediaHandler mh,
- Handle dataRef,
- OSType dataRefType,
- QTAtomID desiredID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x011B, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaDisposeImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaDisposeImage(
- MediaHandler mh,
- short imageIndex) FIVEWORDINLINE(0x2F3C, 0x0002, 0x011C, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaImageIndexToID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaImageIndexToID(
- MediaHandler mh,
- short imageIndex,
- QTAtomID * imageID) FIVEWORDINLINE(0x2F3C, 0x0006, 0x011D, 0x7000, 0xA82A);
-
-
- /*
- * SpriteMediaImageIDToIndex()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SpriteMediaImageIDToIndex(
- MediaHandler mh,
- QTAtomID imageID,
- short * imageIndex) FIVEWORDINLINE(0x2F3C, 0x0008, 0x011E, 0x7000, 0xA82A);
-
-
-
- /*************************
- * Flash Media routines
- **************************/
-
- /*
- * FlashMediaSetPan()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaSetPan(
- MediaHandler mh,
- short xPercent,
- short yPercent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaSetZoom()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaSetZoom(
- MediaHandler mh,
- short factor) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaSetZoomRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaSetZoomRect(
- MediaHandler mh,
- long left,
- long top,
- long right,
- long bottom) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaGetRefConBounds()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaGetRefConBounds(
- MediaHandler mh,
- long refCon,
- long * left,
- long * top,
- long * right,
- long * bottom) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaGetRefConID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaGetRefConID(
- MediaHandler mh,
- long refCon,
- long * refConID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaIDToRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaIDToRefCon(
- MediaHandler mh,
- long refConID,
- long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaGetDisplayedFrameNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaGetDisplayedFrameNumber(
- MediaHandler mh,
- long * flashFrameNumber) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaFrameNumberToMovieTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaFrameNumberToMovieTime(
- MediaHandler mh,
- long flashFrameNumber,
- TimeValue * movieTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaFrameLabelToMovieTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaFrameLabelToMovieTime(
- MediaHandler mh,
- Ptr theLabel,
- TimeValue * movieTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaGetFlashVariable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaGetFlashVariable(
- MediaHandler mh,
- char * path,
- char * name,
- Handle * theVariableCStringOut) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaSetFlashVariable()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaSetFlashVariable(
- MediaHandler mh,
- char * path,
- char * name,
- char * value,
- Boolean updateFocus) FIVEWORDINLINE(0x2F3C, 0x000E, 0x010B, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaDoButtonActions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaDoButtonActions(
- MediaHandler mh,
- char * path,
- long buttonID,
- long transition) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010C, 0x7000, 0xA82A);
-
-
- /*
- * FlashMediaGetSupportedSwfVersion()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- FlashMediaGetSupportedSwfVersion(
- MediaHandler mh,
- unsigned char * swfVersion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A);
-
-
-
-
- /* sample format atoms*/
- enum
- {
- kMovieMediaDataReference = FOUR_CHAR_CODE('mmdr'), /* data reference*/
- kMovieMediaDefaultDataReferenceID = FOUR_CHAR_CODE('ddri'), /* atom id*/
- kMovieMediaSlaveTime = FOUR_CHAR_CODE('slti'), /* boolean*/
- kMovieMediaSlaveAudio = FOUR_CHAR_CODE('slau'), /* boolean*/
- kMovieMediaSlaveGraphicsMode = FOUR_CHAR_CODE('slgr'), /* boolean*/
- kMovieMediaAutoPlay = FOUR_CHAR_CODE('play'), /* boolean*/
- kMovieMediaLoop = FOUR_CHAR_CODE('loop'), /* UInt8 (0=no loop, 1=loop, 2=palindrome loop)*/
- kMovieMediaUseMIMEType = FOUR_CHAR_CODE('mime'), /* string indicating the MIME type to use for the dataref (usually not required)*/
- kMovieMediaTitle = FOUR_CHAR_CODE('titl'), /* string of the media's title (tooltips)*/
- kMovieMediaAltText = FOUR_CHAR_CODE('altt'), /* string of alternate text if media isn't loaded*/
- kMovieMediaClipBegin = FOUR_CHAR_CODE('clpb'), /* MovieMediaTimeRecord of start time of embedded media*/
- kMovieMediaClipDuration = FOUR_CHAR_CODE('clpd'), /* MovieMediaTimeRecord of duration of embedded media*/
- kMovieMediaRegionAtom = FOUR_CHAR_CODE('regi'), /* contains subatoms that describe layout*/
- kMovieMediaSlaveTrackDuration = FOUR_CHAR_CODE('sltr'), /* Boolean indicating that media handler should adjust track and media based on actual embedded movie duration*/
- kMovieMediaEnableFrameStepping = FOUR_CHAR_CODE('enfs'), /* boolean. if true stepping on external movie steps frames within embedded movie.*/
- kMovieMediaBackgroundColor = FOUR_CHAR_CODE('bkcl'), /* RGBColor.*/
- kMovieMediaPrerollTime = FOUR_CHAR_CODE('prer') /* SInt32 indicating preroll time*/
- };
-
- /* fit types*/
- enum
- {
- kMovieMediaFitNone = 0,
- kMovieMediaFitScroll = FOUR_CHAR_CODE('scro'),
- kMovieMediaFitClipIfNecessary = FOUR_CHAR_CODE('hidd'),
- kMovieMediaFitFill = FOUR_CHAR_CODE('fill'),
- kMovieMediaFitMeet = FOUR_CHAR_CODE('meet'),
- kMovieMediaFitSlice = FOUR_CHAR_CODE('slic')
- };
-
- /* sub atoms for region atom*/
- enum
- {
- kMovieMediaSpatialAdjustment = FOUR_CHAR_CODE('fit '), /* OSType from kMovieMediaFit**/
- kMovieMediaRectangleAtom = FOUR_CHAR_CODE('rect'),
- kMovieMediaTop = FOUR_CHAR_CODE('top '),
- kMovieMediaLeft = FOUR_CHAR_CODE('left'),
- kMovieMediaWidth = FOUR_CHAR_CODE('wd '),
- kMovieMediaHeight = FOUR_CHAR_CODE('ht ')
- };
-
- /* contained movie properties*/
- enum
- {
- kMoviePropertyDuration = FOUR_CHAR_CODE('dura'), /* TimeValue **/
- kMoviePropertyTimeScale = FOUR_CHAR_CODE('tims'), /* TimeValue **/
- kMoviePropertyTime = FOUR_CHAR_CODE('timv'), /* TimeValue **/
- kMoviePropertyNaturalBounds = FOUR_CHAR_CODE('natb'), /* Rect **/
- kMoviePropertyMatrix = FOUR_CHAR_CODE('mtrx'), /* Matrix **/
- kMoviePropertyTrackList = FOUR_CHAR_CODE('tlst') /* long ****/
- };
-
-
- enum
- {
- kTrackPropertyMediaType = FOUR_CHAR_CODE('mtyp'), /* OSType*/
- kTrackPropertyInstantiation = FOUR_CHAR_CODE('inst') /* MovieMediaInstantiationInfoRecord*/
- };
-
- struct MovieMediaTimeRecord
- {
- wide time;
- TimeScale scale;
- };
- typedef struct MovieMediaTimeRecord MovieMediaTimeRecord;
- struct MovieMediaInstantiationInfoRecord
- {
- Boolean immediately;
- Boolean pad;
- SInt32 bitRate;
- };
- typedef struct MovieMediaInstantiationInfoRecord MovieMediaInstantiationInfoRecord;
- /*************************
- * Movie Media routines
- **************************/
-
-
- /*
- * MovieMediaGetChildDoMCActionCallback()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieMediaGetChildDoMCActionCallback(
- MediaHandler mh,
- DoMCActionUPP * doMCActionCallbackProc,
- long * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * MovieMediaGetDoMCActionCallback()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieMediaGetDoMCActionCallback(
- MediaHandler mh,
- DoMCActionUPP * doMCActionCallbackProc,
- long * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * MovieMediaGetCurrentMovieProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieMediaGetCurrentMovieProperty(
- MediaHandler mh,
- OSType whichProperty,
- void * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * MovieMediaGetCurrentTrackProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieMediaGetCurrentTrackProperty(
- MediaHandler mh,
- long trackID,
- OSType whichProperty,
- void * value) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * MovieMediaGetChildMovieDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieMediaGetChildMovieDataReference(
- MediaHandler mh,
- QTAtomID dataRefID,
- short dataRefIndex,
- OSType * dataRefType,
- Handle * dataRef,
- QTAtomID * dataRefIDOut,
- short * dataRefIndexOut) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * MovieMediaSetChildMovieDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieMediaSetChildMovieDataReference(
- MediaHandler mh,
- QTAtomID dataRefID,
- OSType dataRefType,
- Handle dataRef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * MovieMediaLoadChildMovieFromDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieMediaLoadChildMovieFromDataReference(
- MediaHandler mh,
- QTAtomID dataRefID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
-
-
-
-
- /*************************
- * 3D Media routines
- **************************/
- /*
- * Media3DGetNamedObjectList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DGetNamedObjectList(
- MediaHandler mh,
- QTAtomContainer * objectList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * Media3DGetRendererList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DGetRendererList(
- MediaHandler mh,
- QTAtomContainer * rendererList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * Media3DGetCurrentGroup()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DGetCurrentGroup(
- MediaHandler mh,
- void * group) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * Media3DTranslateNamedObjectTo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DTranslateNamedObjectTo(
- MediaHandler mh,
- char * objectName,
- Fixed x,
- Fixed y,
- Fixed z) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * Media3DScaleNamedObjectTo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DScaleNamedObjectTo(
- MediaHandler mh,
- char * objectName,
- Fixed xScale,
- Fixed yScale,
- Fixed zScale) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * Media3DRotateNamedObjectTo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DRotateNamedObjectTo(
- MediaHandler mh,
- char * objectName,
- Fixed xDegrees,
- Fixed yDegrees,
- Fixed zDegrees) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * Media3DSetCameraData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DSetCameraData(
- MediaHandler mh,
- void * cameraData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * Media3DGetCameraData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DGetCameraData(
- MediaHandler mh,
- void * cameraData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
-
-
- /*
- * Media3DSetCameraAngleAspect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DSetCameraAngleAspect(
- MediaHandler mh,
- QTFloatSingle fov,
- QTFloatSingle aspectRatioXToY) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * Media3DGetCameraAngleAspect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DGetCameraAngleAspect(
- MediaHandler mh,
- QTFloatSingle * fov,
- QTFloatSingle * aspectRatioXToY) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010A, 0x7000, 0xA82A);
-
-
-
- /*
- * Media3DSetCameraRange()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DSetCameraRange(
- MediaHandler mh,
- void * tQ3CameraRange) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A);
-
-
- /*
- * Media3DGetCameraRange()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- Media3DGetCameraRange(
- MediaHandler mh,
- void * tQ3CameraRange) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010E, 0x7000, 0xA82A);
-
-
- /*
- * Media3DGetViewObject()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- Media3DGetViewObject(
- MediaHandler mh,
- void * tq3viewObject) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010F, 0x7000, 0xA82A);
-
-
-
-
- /****************************************
- * *
- * M O V I E C O N T R O L L E R *
- * *
- ****************************************/
- enum
- {
- MovieControllerComponentType = FOUR_CHAR_CODE('play')
- };
-
-
- enum
- {
- kMovieControllerQTVRFlag = 1 << 0,
- kMovieControllerDontDisplayToUser = 1 << 1
- };
-
-
- typedef ComponentInstance MovieController;
- typedef MovieController * MovieControllerPtr;
- enum
- {
- mcActionIdle = 1, /* no param*/
- mcActionDraw = 2, /* param is WindowRef*/
- mcActionActivate = 3, /* no param*/
- mcActionDeactivate = 4, /* no param*/
- mcActionMouseDown = 5, /* param is pointer to EventRecord*/
- mcActionKey = 6, /* param is pointer to EventRecord*/
- mcActionPlay = 8, /* param is Fixed, play rate*/
- mcActionGoToTime = 12, /* param is TimeRecord*/
- mcActionSetVolume = 14, /* param is a short*/
- mcActionGetVolume = 15, /* param is pointer to a short*/
- mcActionStep = 18, /* param is number of steps (short)*/
- mcActionSetLooping = 21, /* param is Boolean*/
- mcActionGetLooping = 22, /* param is pointer to a Boolean*/
- mcActionSetLoopIsPalindrome = 23, /* param is Boolean*/
- mcActionGetLoopIsPalindrome = 24, /* param is pointer to a Boolean*/
- mcActionSetGrowBoxBounds = 25, /* param is a Rect*/
- mcActionControllerSizeChanged = 26, /* no param*/
- mcActionSetSelectionBegin = 29, /* param is TimeRecord*/
- mcActionSetSelectionDuration = 30, /* param is TimeRecord, action only taken on set-duration*/
- mcActionSetKeysEnabled = 32, /* param is Boolean*/
- mcActionGetKeysEnabled = 33, /* param is pointer to Boolean*/
- mcActionSetPlaySelection = 34, /* param is Boolean*/
- mcActionGetPlaySelection = 35, /* param is pointer to Boolean*/
- mcActionSetUseBadge = 36, /* param is Boolean*/
- mcActionGetUseBadge = 37, /* param is pointer to Boolean*/
- mcActionSetFlags = 38, /* param is long of flags*/
- mcActionGetFlags = 39, /* param is pointer to a long of flags*/
- mcActionSetPlayEveryFrame = 40, /* param is Boolean*/
- mcActionGetPlayEveryFrame = 41, /* param is pointer to Boolean*/
- mcActionGetPlayRate = 42, /* param is pointer to Fixed*/
- mcActionShowBalloon = 43, /* param is a pointer to a boolean. set to false to stop balloon*/
- mcActionBadgeClick = 44, /* param is pointer to Boolean. set to false to ignore click*/
- mcActionMovieClick = 45, /* param is pointer to event record. change "what" to nullEvt to kill click*/
- mcActionSuspend = 46, /* no param*/
- mcActionResume = 47, /* no param*/
- mcActionSetControllerKeysEnabled = 48, /* param is Boolean*/
- mcActionGetTimeSliderRect = 49, /* param is pointer to rect*/
- mcActionMovieEdited = 50, /* no param*/
- mcActionGetDragEnabled = 51, /* param is pointer to Boolean*/
- mcActionSetDragEnabled = 52, /* param is Boolean*/
- mcActionGetSelectionBegin = 53, /* param is TimeRecord*/
- mcActionGetSelectionDuration = 54, /* param is TimeRecord*/
- mcActionPrerollAndPlay = 55, /* param is Fixed, play rate*/
- mcActionGetCursorSettingEnabled = 56, /* param is pointer to Boolean*/
- mcActionSetCursorSettingEnabled = 57, /* param is Boolean*/
- mcActionSetColorTable = 58, /* param is CTabHandle*/
- mcActionLinkToURL = 59, /* param is Handle to URL*/
- mcActionCustomButtonClick = 60, /* param is pointer to EventRecord*/
- mcActionForceTimeTableUpdate = 61, /* no param*/
- mcActionSetControllerTimeLimits = 62, /* param is pointer to 2 time values min/max. do no send this message to controller. used internally only.*/
- mcActionExecuteAllActionsForQTEvent = 63, /* param is ResolvedQTEventSpecPtr*/
- mcActionExecuteOneActionForQTEvent = 64, /* param is ResolvedQTEventSpecPtr*/
- mcActionAdjustCursor = 65, /* param is pointer to EventRecord (WindowRef is in message parameter)*/
- mcActionUseTrackForTimeTable = 66, /* param is pointer to {long trackID; Boolean useIt}. do not send this message to controller. */
- mcActionClickAndHoldPoint = 67, /* param is point (local coordinates). return true if point has click & hold action (e.g., VR object movie autorotate spot)*/
- mcActionShowMessageString = 68, /* param is a StringPtr*/
- mcActionShowStatusString = 69, /* param is a QTStatusStringPtr*/
- mcActionGetExternalMovie = 70, /* param is a QTGetExternalMoviePtr*/
- mcActionGetChapterTime = 71, /* param is a QTGetChapterTimePtr*/
- mcActionPerformActionList = 72, /* param is a QTAtomSpecPtr*/
- mcActionEvaluateExpression = 73, /* param is a QTEvaluateExpressionPtr*/
- mcActionFetchParameterAs = 74, /* param is a QTFetchParameterAsPtr*/
- mcActionGetCursorByID = 75, /* param is a QTGetCursorByIDPtr*/
- mcActionGetNextURL = 76, /* param is a Handle to URL*/
- mcActionMovieChanged = 77,
- mcActionDoScript = 78, /* param is QTDoScriptPtr*/
- mcActionRestartAtTime = 79, /* param is QTResartAtTimePtr*/
- mcActionGetIndChapter = 80, /* param is QTChapterInfoPtr*/
- mcActionLinkToURLExtended = 81, /* param is QTAtomContainer as used by QTParseHREF*/
- mcActionSetVolumeStep = 82, /* param is short containing amount to step volume via arrow keys - default = 64*/
- mcActionAutoPlay = 83, /* param is Fixed, play rate*/
- mcActionPauseToBuffer = 84, /* param is Fixed, play rate on restart*/
- mcActionAppMessageReceived = 85, /* param is a long, application message*/
- mcActionMovieFinished = 86, /* no param*/
- mcActionEvaluateExpressionWithType = 89, /* param is a QTEvaluateExpressionWithTypePtr*/
- mcActionGetMovieName = 90, /* param is a p String Handle*/
- mcActionGetMovieID = 91, /* param is pointer to long*/
- mcActionGetMovieActive = 92, /* param is pointer to Boolean*/
- mcActionGetKeyboardFocus = 93, /* param is QTKeyboardFocusPtr*/
- mcActionSetKeyboardFocus = 94, /* param is QTKeyboardFocusPtr*/
- mcActionAddActionNotification = 95, /* param is QTMCActionNotificationPtr*/
- mcActionRemoveActionNotification = 96, /* param is QTMCActionNotificationPtr*/
- mcActionKeyUp = 97, /* param is pointer to EventRecord */
- mcActionGetConnectionStatus = 98, /* param is QTConnectionStatusPtr*/
- mcActionChapterListChanged = 99, /* no param */
- mcActionMovieLoadStateChanged = 100, /* param is SInt32, new load state*/
- mcActionEditStateChanged = 101, /* param is a Boolean, editing enabled?*/
- mcActionCurrentChapterChanged = 102 /* param is a UInt32, new chapter index */
- };
-
- typedef short mcAction;
- enum
- {
- mcFlagSuppressMovieFrame = 1 << 0,
- mcFlagSuppressStepButtons = 1 << 1,
- mcFlagSuppressSpeakerButton = 1 << 2,
- mcFlagsUseWindowPalette = 1 << 3,
- mcFlagsDontInvalidate = 1 << 4,
- mcFlagsUseCustomButton = 1 << 5
- };
-
-
- enum
- {
- mcPositionDontInvalidate = 1 << 5
- };
-
- typedef unsigned long mcFlags;
- enum
- {
- kMCIEEnabledButtonPicture = 1,
- kMCIEDisabledButtonPicture = 2,
- kMCIEDepressedButtonPicture = 3,
- kMCIEEnabledSizeBoxPicture = 4,
- kMCIEDisabledSizeBoxPicture = 5,
- kMCIEEnabledUnavailableButtonPicture = 6,
- kMCIEDisabledUnavailableButtonPicture = 7,
- kMCIESoundSlider = 128,
- kMCIESoundThumb = 129,
- kMCIEColorTable = 256,
- kMCIEIsFlatAppearance = 257,
- kMCIEDoButtonIconsDropOnDepress = 258
- };
-
- typedef unsigned long MCInterfaceElement;
- typedef CALLBACK_API(Boolean , MCActionFilterProcPtr)(MovieController mc, short *action, void *params);
- typedef CALLBACK_API(Boolean , MCActionFilterWithRefConProcPtr)(MovieController mc, short action, void *params, long refCon);
- typedef CALLBACK_API(Boolean , MCActionNotificationProcPtr)(MovieController mc, short action, void *params, UInt32 inFlags, UInt32 *outFlags, void *refCon);
- typedef STACK_UPP_TYPE(MCActionFilterProcPtr) MCActionFilterUPP;
- typedef STACK_UPP_TYPE(MCActionFilterWithRefConProcPtr) MCActionFilterWithRefConUPP;
- typedef STACK_UPP_TYPE(MCActionNotificationProcPtr) MCActionNotificationUPP;
- /*
- menu related stuff
- */
- enum
- {
- mcInfoUndoAvailable = 1 << 0,
- mcInfoCutAvailable = 1 << 1,
- mcInfoCopyAvailable = 1 << 2,
- mcInfoPasteAvailable = 1 << 3,
- mcInfoClearAvailable = 1 << 4,
- mcInfoHasSound = 1 << 5,
- mcInfoIsPlaying = 1 << 6,
- mcInfoIsLooping = 1 << 7,
- mcInfoIsInPalindrome = 1 << 8,
- mcInfoEditingEnabled = 1 << 9,
- mcInfoMovieIsInteractive = 1 << 10
- };
-
- /* menu item codes*/
- enum
- {
- mcMenuUndo = 1,
- mcMenuCut = 3,
- mcMenuCopy = 4,
- mcMenuPaste = 5,
- mcMenuClear = 6
- };
-
- /* messages to the application via mcActionAppMessageReceived*/
- enum
- {
- kQTAppMessageSoftwareChanged = 1, /* notification to app that installed QuickTime software has been updated*/
- kQTAppMessageWindowCloseRequested = 3, /* request for app to close window containing movie controller*/
- kQTAppMessageExitFullScreenRequested = 4, /* request for app to turn off full screen mode if active*/
- kQTAppMessageDisplayChannels = 5, /* request for app to display the channel UI*/
- kQTAppMessageEnterFullScreenRequested = 6 /* request for app to turn on full screen mode*/
- };
-
- /* structures used as mcActionFilterProc params*/
- struct QTStatusStringRecord
- {
- long stringTypeFlags;
- char * statusString;
- };
- typedef struct QTStatusStringRecord QTStatusStringRecord;
- typedef QTStatusStringRecord * QTStatusStringPtr;
- struct QTGetExternalMovieRecord
- {
- long targetType; /* set to kTargetMovieName or kTargetMovieID*/
- StringPtr movieName;
- long movieID;
- PtrToMovie theMovie;
- MovieControllerPtr theController;
- };
- typedef struct QTGetExternalMovieRecord QTGetExternalMovieRecord;
- typedef QTGetExternalMovieRecord * QTGetExternalMoviePtr;
- struct QTGetChapterTimeRecord
- {
- StringPtr chapterName;
- TimeRecord chapterTime;
- };
- typedef struct QTGetChapterTimeRecord QTGetChapterTimeRecord;
- typedef QTGetChapterTimeRecord * QTGetChapterTimePtr;
- struct QTChapterInfoRecord
- {
- long index; /* first chapter has index of 1*/
- TimeValue time; /* -1 if no more chapters available*/
- Str255 name;
- };
- typedef struct QTChapterInfoRecord QTChapterInfoRecord;
- typedef QTChapterInfoRecord * QTChapterInfoPtr;
- struct QTEvaluateExpressionRecord
- {
- QTAtomSpec expressionSpec;
- float * expressionResult;
- };
- typedef struct QTEvaluateExpressionRecord QTEvaluateExpressionRecord;
- typedef QTEvaluateExpressionRecord * QTEvaluateExpressionPtr;
- struct QTEvaluateExpressionWithTypeRecord
- {
- long recordSize; /* Size of structure (fill in at allocation) */
- QTAtomSpec expressionSpec;
- float * expressionResult;
- long fetchAsType;
- Handle nonNumericResult;
- /* Current size is 24 */
- };
- typedef struct QTEvaluateExpressionWithTypeRecord QTEvaluateExpressionWithTypeRecord;
- typedef QTEvaluateExpressionWithTypeRecord * QTEvaluateExpressionWithTypePtr;
- struct QTFetchParameterAsRecord
- {
- QTAtomSpec paramListSpec;
- long paramIndex;
- long paramType;
- long allowedFlags;
- void * min;
- void * max;
- void * currentValue;
- void * newValue;
- Boolean isUnsignedValue;
- };
- typedef struct QTFetchParameterAsRecord QTFetchParameterAsRecord;
- typedef QTFetchParameterAsRecord * QTFetchParameterAsPtr;
- struct QTGetCursorByIDRecord
- {
- short cursorID;
- Handle colorCursorData;
- long reserved1;
- };
- typedef struct QTGetCursorByIDRecord QTGetCursorByIDRecord;
- typedef QTGetCursorByIDRecord * QTGetCursorByIDPtr;
- struct QTDoScriptRecord
- {
- long scriptTypeFlags;
- char * command;
- char * arguments;
- };
- typedef struct QTDoScriptRecord QTDoScriptRecord;
- typedef QTDoScriptRecord * QTDoScriptPtr;
- struct QTRestartAtTimeRecord
- {
- TimeValue startTime; /* time scale is the movie timescale*/
- Fixed rate; /* if rate is zero, the movie's current rate is maintained*/
- };
- typedef struct QTRestartAtTimeRecord QTRestartAtTimeRecord;
- typedef QTRestartAtTimeRecord * QTRestartAtTimePtr;
- /* values for paramType field of QTFetchParameterAsRecord*/
- enum
- {
- kFetchAsBooleanPtr = 1,
- kFetchAsShortPtr = 2,
- kFetchAsLongPtr = 3,
- kFetchAsMatrixRecordPtr = 4,
- kFetchAsModifierTrackGraphicsModeRecord = 5,
- kFetchAsHandle = 6,
- kFetchAsStr255 = 7,
- kFetchAsFloatPtr = 8,
- kFetchAsPointPtr = 9,
- kFetchAsNewAtomContainer = 10,
- kFetchAsQTEventRecordPtr = 11,
- kFetchAsFixedPtr = 12,
- kFetchAsSetControllerValuePtr = 13,
- kFetchAsRgnHandle = 14, /* flipped to native*/
- kFetchAsComponentDescriptionPtr = 15,
- kFetchAsCString = 16
- };
-
- enum
- {
- kQTCursorOpenHand = -19183,
- kQTCursorClosedHand = -19182,
- kQTCursorPointingHand = -19181,
- kQTCursorRightArrow = -19180,
- kQTCursorLeftArrow = -19179,
- kQTCursorDownArrow = -19178,
- kQTCursorUpArrow = -19177,
- kQTCursorIBeam = -19176
- };
-
-
-
- /* keyboard focus items*/
-
- enum
- {
- kKeyboardAllowFocus = 1,
- kKeyboardHaveFocus = 2,
- kKeyboardValidate = 4
- };
-
-
- enum
- {
- kRefConNavigateClick = FOUR_CHAR_CODE('clik')
- };
-
-
- struct QTKeyboardFocusRecord
- {
- long recordSize; /* -> size of structure*/
- long navigation; /* -> same as in MediaNavigateTargetRefCon*/
- long focusRefCon; /* <-> refcon*/
- short focusFlags; /* <-> flags from kKeyboard... enum */
- };
- typedef struct QTKeyboardFocusRecord QTKeyboardFocusRecord;
- typedef QTKeyboardFocusRecord * QTKeyboardFocusPtr;
- enum
- {
- kQTMCActionNotifyBefore = (1L << 0),
- kQTMCActionNotifyAfter = (1L << 1),
- kQTMCActionNotifyParamChanged = (1L << 8),
- kQTMCActionNotifyCancelled = (1L << 9),
- kQTMCActionNotifyUserFilterCancelled = (1L << 10),
- kQTMCActionNotifySignature = FOUR_CHAR_CODE('noti')
- };
-
- struct QTMCActionNotificationRecord
- {
- OSType returnSignature; /* Set to zero when passed to movieController, set to 'noti' if mcActionAddActionNotification is implemented*/
- MCActionNotificationUPP notifyAction; /* Function to be called at action time*/
- void * refcon; /* Something to pass to the action function*/
- UInt32 flags; /* Option flags*/
- };
- typedef struct QTMCActionNotificationRecord QTMCActionNotificationRecord;
- typedef QTMCActionNotificationRecord * QTMCActionNotificationPtr;
- struct QTConnectionStatusRecord
- {
-
- short flags;
- short error;
-
- Handle message;
- };
- typedef struct QTConnectionStatusRecord QTConnectionStatusRecord;
- typedef QTConnectionStatusRecord * QTConnectionStatusPtr;
-
- /* target management */
- /*
- * MCSetMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetMovie(
- MovieController mc,
- Movie theMovie,
- WindowRef movieWindow,
- Point where) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * MCGetIndMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- MCGetIndMovie(
- MovieController mc,
- short index) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A);
+/*****
+ Content Restrictions
+*****/
+enum {
+ kQTRestrictionClassSave = FOUR_CHAR_CODE('save'),
+ kQTRestrictionSaveDontAddMovieResource = (1L << 0),
+ kQTRestrictionSaveDontFlatten = (1L << 1),
+ kQTRestrictionSaveDontExport = (1L << 2),
+ kQTRestrictionSaveDontExtract = (1L << 3), /* don't allow any form of extraction of content*/
+ kQTRestrictionClassEdit = FOUR_CHAR_CODE('edit'),
+ kQTRestrictionEditDontCopy = (1L << 0), /* disable copy */
+ kQTRestrictionEditDontCut = (1L << 1), /* disable cut */
+ kQTRestrictionEditDontPaste = (1L << 2), /* disable paste */
+ kQTRestrictionEditDontClear = (1L << 3), /* disable clear*/
+ kQTRestrictionEditDontModify = (1L << 4), /* don't allow modification of content*/
+ kQTRestrictionEditDontExtract = (1L << 5), /* don't allow any form of extraction of content*/
+ kQTRestrictionClassPlay = FOUR_CHAR_CODE('play'),
+ kQTRestrictionPlayDontPlay = (1L << 0) /* disable playback */
+};
+
+
+/*************************
+* Video Media routines
+**************************/
+
+
+enum {
+ videoFlagDontLeanAhead = 1L << 0
+};
+
+
+
+
+/* use these five routines at your own peril*/
+/*
+ * VideoMediaResetStatistics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+VideoMediaResetStatistics(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * VideoMediaGetStatistics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+VideoMediaGetStatistics(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0106, 0x7000, 0xA82A);
+
+
+
+/*
+ * VideoMediaGetStallCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+VideoMediaGetStallCount(
+ MediaHandler mh,
+ unsigned long * stalls) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010E, 0x7000, 0xA82A);
+
+
+
+/*
+ * VideoMediaSetCodecParameter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+VideoMediaSetCodecParameter(
+ MediaHandler mh,
+ CodecType cType,
+ OSType parameterID,
+ long parameterChangeSeed,
+ void * dataPtr,
+ long dataSize) FIVEWORDINLINE(0x2F3C, 0x0014, 0x010F, 0x7000, 0xA82A);
+
+
+/*
+ * VideoMediaGetCodecParameter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+VideoMediaGetCodecParameter(
+ MediaHandler mh,
+ CodecType cType,
+ OSType parameterID,
+ Handle outParameterData) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0110, 0x7000, 0xA82A);
+
+
+
+
+
+/*************************
+* Text Media routines
+**************************/
+
+
+
+/* Return displayFlags for TextProc */
+enum {
+ txtProcDefaultDisplay = 0, /* Use the media's default*/
+ txtProcDontDisplay = 1, /* Don't display the text*/
+ txtProcDoDisplay = 2 /* Do display the text*/
+};
+
+/*
+ * TextMediaSetTextProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaSetTextProc(
+ MediaHandler mh,
+ TextMediaUPP TextProc,
+ long refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaAddTextSample()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaAddTextSample(
+ MediaHandler mh,
+ Ptr text,
+ unsigned long size,
+ short fontNumber,
+ short fontSize,
+ Style textFace,
+ RGBColor * textColor,
+ RGBColor * backColor,
+ short textJustification,
+ Rect * textBox,
+ long displayFlags,
+ TimeValue scrollDelay,
+ short hiliteStart,
+ short hiliteEnd,
+ RGBColor * rgbHiliteColor,
+ TimeValue duration,
+ TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0034, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaAddTESample()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaAddTESample(
+ MediaHandler mh,
+ TEHandle hTE,
+ RGBColor * backColor,
+ short textJustification,
+ Rect * textBox,
+ long displayFlags,
+ TimeValue scrollDelay,
+ short hiliteStart,
+ short hiliteEnd,
+ RGBColor * rgbHiliteColor,
+ TimeValue duration,
+ TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0026, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaAddHiliteSample()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaAddHiliteSample(
+ MediaHandler mh,
+ short hiliteStart,
+ short hiliteEnd,
+ RGBColor * rgbHiliteColor,
+ TimeValue duration,
+ TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaDrawRaw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaDrawRaw(
+ MediaHandler mh,
+ GWorldPtr gw,
+ GDHandle gd,
+ void * data,
+ long dataSize,
+ TextDescriptionHandle tdh) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaSetTextProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaSetTextProperty(
+ MediaHandler mh,
+ TimeValue atMediaTime,
+ long propertyType,
+ void * data,
+ long dataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010A, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaRawSetup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaRawSetup(
+ MediaHandler mh,
+ GWorldPtr gw,
+ GDHandle gd,
+ void * data,
+ long dataSize,
+ TextDescriptionHandle tdh,
+ TimeValue sampleDuration) FIVEWORDINLINE(0x2F3C, 0x0018, 0x010B, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaRawIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaRawIdle(
+ MediaHandler mh,
+ GWorldPtr gw,
+ GDHandle gd,
+ TimeValue sampleTime,
+ long flagsIn,
+ long * flagsOut) FIVEWORDINLINE(0x2F3C, 0x0014, 0x010C, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaGetTextProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaGetTextProperty(
+ MediaHandler mh,
+ TimeValue atMediaTime,
+ long propertyType,
+ void * data,
+ long dataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010D, 0x7000, 0xA82A);
+
+
+enum {
+ findTextEdgeOK = 1 << 0, /* Okay to find text at specified sample time*/
+ findTextCaseSensitive = 1 << 1, /* Case sensitive search*/
+ findTextReverseSearch = 1 << 2, /* Search from sampleTime backwards*/
+ findTextWrapAround = 1 << 3, /* Wrap search when beginning or end of movie is hit*/
+ findTextUseOffset = 1 << 4 /* Begin search at the given character offset into sample rather than edge*/
+};
+
+/*
+ * TextMediaFindNextText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaFindNextText(
+ MediaHandler mh,
+ Ptr text,
+ long size,
+ short findFlags,
+ TimeValue startTime,
+ TimeValue * foundTime,
+ TimeValue * foundDuration,
+ long * offset) FIVEWORDINLINE(0x2F3C, 0x001A, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * TextMediaHiliteTextSample()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaHiliteTextSample(
+ MediaHandler mh,
+ TimeValue sampleTime,
+ short hiliteStart,
+ short hiliteEnd,
+ RGBColor * rgbHiliteColor) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0106, 0x7000, 0xA82A);
+
+
+enum {
+ dropShadowOffsetType = FOUR_CHAR_CODE('drpo'),
+ dropShadowTranslucencyType = FOUR_CHAR_CODE('drpt')
+};
+
+/*
+ * TextMediaSetTextSampleData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextMediaSetTextSampleData(
+ MediaHandler mh,
+ void * data,
+ OSType dataType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A);
+
+
+
+
+
+
+/*************************
+* Sprite Media routines
+**************************/
+/* flags for sprite hit test routines */
+enum {
+ spriteHitTestBounds = 1L << 0, /* point must only be within sprite's bounding box*/
+ spriteHitTestImage = 1L << 1, /* point must be within the shape of the sprite's image*/
+ spriteHitTestInvisibleSprites = 1L << 2, /* invisible sprites may be hit tested*/
+ spriteHitTestIsClick = 1L << 3, /* for codecs that want mouse events*/
+ spriteHitTestLocInDisplayCoordinates = 1L << 4, /* set if you want to pass a display coordiate point to SpriteHitTest*/
+ spriteHitTestTreatAllSpritesAsHitTestable = 1L << 5 /* set if you want to override each sprites hittestable property as true*/
+};
+
+/* atom types for sprite media */
+enum {
+ kSpriteAtomType = FOUR_CHAR_CODE('sprt'),
+ kSpriteImagesContainerAtomType = FOUR_CHAR_CODE('imct'),
+ kSpriteImageAtomType = FOUR_CHAR_CODE('imag'),
+ kSpriteImageDataAtomType = FOUR_CHAR_CODE('imda'),
+ kSpriteImageDataRefAtomType = FOUR_CHAR_CODE('imre'),
+ kSpriteImageDataRefTypeAtomType = FOUR_CHAR_CODE('imrt'),
+ kSpriteImageGroupIDAtomType = FOUR_CHAR_CODE('imgr'),
+ kSpriteImageRegistrationAtomType = FOUR_CHAR_CODE('imrg'),
+ kSpriteImageDefaultImageIndexAtomType = FOUR_CHAR_CODE('defi'),
+ kSpriteSharedDataAtomType = FOUR_CHAR_CODE('dflt'),
+ kSpriteNameAtomType = FOUR_CHAR_CODE('name'),
+ kSpriteImageNameAtomType = FOUR_CHAR_CODE('name'),
+ kSpriteUsesImageIDsAtomType = FOUR_CHAR_CODE('uses'), /* leaf data is an array of QTAtomID's, one per image used*/
+ kSpriteBehaviorsAtomType = FOUR_CHAR_CODE('beha'),
+ kSpriteImageBehaviorAtomType = FOUR_CHAR_CODE('imag'),
+ kSpriteCursorBehaviorAtomType = FOUR_CHAR_CODE('crsr'),
+ kSpriteStatusStringsBehaviorAtomType = FOUR_CHAR_CODE('sstr'),
+ kSpriteVariablesContainerAtomType = FOUR_CHAR_CODE('vars'),
+ kSpriteStringVariableAtomType = FOUR_CHAR_CODE('strv'),
+ kSpriteFloatingPointVariableAtomType = FOUR_CHAR_CODE('flov')
+};
+
+struct QTRuntimeSpriteDescStruct {
+ long version; /* set to zero*/
+ QTAtomID spriteID;
+ short imageIndex;
+ MatrixRecord matrix;
+ short visible;
+ short layer;
+ ModifierTrackGraphicsModeRecord graphicsMode;
+ QTAtomID actionHandlingSpriteID;
+};
+typedef struct QTRuntimeSpriteDescStruct QTRuntimeSpriteDescStruct;
+typedef QTRuntimeSpriteDescStruct * QTRuntimeSpriteDescPtr;
+/*
+ when filling in QTSpriteButtonBehaviorStruct values -1 may be used to indicate that
+ the state transition does not change the property
+*/
+struct QTSpriteButtonBehaviorStruct {
+ QTAtomID notOverNotPressedStateID;
+ QTAtomID overNotPressedStateID;
+ QTAtomID overPressedStateID;
+ QTAtomID notOverPressedStateID;
+};
+typedef struct QTSpriteButtonBehaviorStruct QTSpriteButtonBehaviorStruct;
+typedef QTSpriteButtonBehaviorStruct * QTSpriteButtonBehaviorPtr;
+/*
+ * SpriteMediaSetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaSetProperty(
+ MediaHandler mh,
+ short spriteIndex,
+ long propertyType,
+ void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetProperty(
+ MediaHandler mh,
+ short spriteIndex,
+ long propertyType,
+ void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaHitTestSprites()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaHitTestSprites(
+ MediaHandler mh,
+ long flags,
+ Point loc,
+ short * spriteHitIndex) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaCountSprites()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaCountSprites(
+ MediaHandler mh,
+ short * numSprites) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaCountImages()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaCountImages(
+ MediaHandler mh,
+ short * numImages) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetIndImageDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetIndImageDescription(
+ MediaHandler mh,
+ short imageIndex,
+ ImageDescriptionHandle imageDescription) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetDisplayedSampleNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetDisplayedSampleNumber(
+ MediaHandler mh,
+ long * sampleNum) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetSpriteName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetSpriteName(
+ MediaHandler mh,
+ QTAtomID spriteID,
+ Str255 spriteName) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetImageName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetImageName(
+ MediaHandler mh,
+ short imageIndex,
+ Str255 imageName) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaSetSpriteProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaSetSpriteProperty(
+ MediaHandler mh,
+ QTAtomID spriteID,
+ long propertyType,
+ void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetSpriteProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetSpriteProperty(
+ MediaHandler mh,
+ QTAtomID spriteID,
+ long propertyType,
+ void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010B, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaHitTestAllSprites()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaHitTestAllSprites(
+ MediaHandler mh,
+ long flags,
+ Point loc,
+ QTAtomID * spriteHitID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010C, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaHitTestOneSprite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaHitTestOneSprite(
+ MediaHandler mh,
+ QTAtomID spriteID,
+ long flags,
+ Point loc,
+ Boolean * wasHit) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010D, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaSpriteIndexToID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaSpriteIndexToID(
+ MediaHandler mh,
+ short spriteIndex,
+ QTAtomID * spriteID) FIVEWORDINLINE(0x2F3C, 0x0006, 0x010E, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaSpriteIDToIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaSpriteIDToIndex(
+ MediaHandler mh,
+ QTAtomID spriteID,
+ short * spriteIndex) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010F, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetSpriteActionsForQTEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetSpriteActionsForQTEvent(
+ MediaHandler mh,
+ QTEventRecordPtr event,
+ QTAtomID spriteID,
+ QTAtomContainer * container,
+ QTAtom * atom) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0110, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaSetActionVariable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaSetActionVariable(
+ MediaHandler mh,
+ QTAtomID variableID,
+ const float * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0111, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetActionVariable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetActionVariable(
+ MediaHandler mh,
+ QTAtomID variableID,
+ float * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0112, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetIndImageProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetIndImageProperty(
+ MediaHandler mh,
+ short imageIndex,
+ long imagePropertyType,
+ void * imagePropertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0113, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaNewSprite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaNewSprite(
+ MediaHandler mh,
+ QTRuntimeSpriteDescPtr newSpriteDesc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0114, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaDisposeSprite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaDisposeSprite(
+ MediaHandler mh,
+ QTAtomID spriteID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0115, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaSetActionVariableToString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaSetActionVariableToString(
+ MediaHandler mh,
+ QTAtomID variableID,
+ Ptr theCString) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0116, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaGetActionVariableAsString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaGetActionVariableAsString(
+ MediaHandler mh,
+ QTAtomID variableID,
+ Handle * theCString) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0117, 0x7000, 0xA82A);
+
+
+
+
+/*
+ * SpriteMediaNewImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaNewImage(
+ MediaHandler mh,
+ Handle dataRef,
+ OSType dataRefType,
+ QTAtomID desiredID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x011B, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaDisposeImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaDisposeImage(
+ MediaHandler mh,
+ short imageIndex) FIVEWORDINLINE(0x2F3C, 0x0002, 0x011C, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaImageIndexToID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaImageIndexToID(
+ MediaHandler mh,
+ short imageIndex,
+ QTAtomID * imageID) FIVEWORDINLINE(0x2F3C, 0x0006, 0x011D, 0x7000, 0xA82A);
+
+
+/*
+ * SpriteMediaImageIDToIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SpriteMediaImageIDToIndex(
+ MediaHandler mh,
+ QTAtomID imageID,
+ short * imageIndex) FIVEWORDINLINE(0x2F3C, 0x0008, 0x011E, 0x7000, 0xA82A);
+
+
+
+/*************************
+* Flash Media routines
+**************************/
+
+/*
+ * FlashMediaSetPan()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaSetPan(
+ MediaHandler mh,
+ short xPercent,
+ short yPercent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaSetZoom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaSetZoom(
+ MediaHandler mh,
+ short factor) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaSetZoomRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaSetZoomRect(
+ MediaHandler mh,
+ long left,
+ long top,
+ long right,
+ long bottom) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaGetRefConBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaGetRefConBounds(
+ MediaHandler mh,
+ long refCon,
+ long * left,
+ long * top,
+ long * right,
+ long * bottom) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaGetRefConID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaGetRefConID(
+ MediaHandler mh,
+ long refCon,
+ long * refConID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaIDToRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaIDToRefCon(
+ MediaHandler mh,
+ long refConID,
+ long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaGetDisplayedFrameNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaGetDisplayedFrameNumber(
+ MediaHandler mh,
+ long * flashFrameNumber) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaFrameNumberToMovieTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaFrameNumberToMovieTime(
+ MediaHandler mh,
+ long flashFrameNumber,
+ TimeValue * movieTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaFrameLabelToMovieTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaFrameLabelToMovieTime(
+ MediaHandler mh,
+ Ptr theLabel,
+ TimeValue * movieTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaGetFlashVariable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaGetFlashVariable(
+ MediaHandler mh,
+ char * path,
+ char * name,
+ Handle * theVariableCStringOut) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaSetFlashVariable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaSetFlashVariable(
+ MediaHandler mh,
+ char * path,
+ char * name,
+ char * value,
+ Boolean updateFocus) FIVEWORDINLINE(0x2F3C, 0x000E, 0x010B, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaDoButtonActions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaDoButtonActions(
+ MediaHandler mh,
+ char * path,
+ long buttonID,
+ long transition) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010C, 0x7000, 0xA82A);
+
+
+/*
+ * FlashMediaGetSupportedSwfVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+FlashMediaGetSupportedSwfVersion(
+ MediaHandler mh,
+ unsigned char * swfVersion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A);
+
+
+
+
+/* sample format atoms*/
+enum {
+ kMovieMediaDataReference = FOUR_CHAR_CODE('mmdr'), /* data reference*/
+ kMovieMediaDefaultDataReferenceID = FOUR_CHAR_CODE('ddri'), /* atom id*/
+ kMovieMediaSlaveTime = FOUR_CHAR_CODE('slti'), /* boolean*/
+ kMovieMediaSlaveAudio = FOUR_CHAR_CODE('slau'), /* boolean*/
+ kMovieMediaSlaveGraphicsMode = FOUR_CHAR_CODE('slgr'), /* boolean*/
+ kMovieMediaAutoPlay = FOUR_CHAR_CODE('play'), /* boolean*/
+ kMovieMediaLoop = FOUR_CHAR_CODE('loop'), /* UInt8 (0=no loop, 1=loop, 2=palindrome loop)*/
+ kMovieMediaUseMIMEType = FOUR_CHAR_CODE('mime'), /* string indicating the MIME type to use for the dataref (usually not required)*/
+ kMovieMediaTitle = FOUR_CHAR_CODE('titl'), /* string of the media's title (tooltips)*/
+ kMovieMediaAltText = FOUR_CHAR_CODE('altt'), /* string of alternate text if media isn't loaded*/
+ kMovieMediaClipBegin = FOUR_CHAR_CODE('clpb'), /* MovieMediaTimeRecord of start time of embedded media*/
+ kMovieMediaClipDuration = FOUR_CHAR_CODE('clpd'), /* MovieMediaTimeRecord of duration of embedded media*/
+ kMovieMediaRegionAtom = FOUR_CHAR_CODE('regi'), /* contains subatoms that describe layout*/
+ kMovieMediaSlaveTrackDuration = FOUR_CHAR_CODE('sltr'), /* Boolean indicating that media handler should adjust track and media based on actual embedded movie duration*/
+ kMovieMediaEnableFrameStepping = FOUR_CHAR_CODE('enfs'), /* boolean. if true stepping on external movie steps frames within embedded movie.*/
+ kMovieMediaBackgroundColor = FOUR_CHAR_CODE('bkcl'), /* RGBColor.*/
+ kMovieMediaPrerollTime = FOUR_CHAR_CODE('prer') /* SInt32 indicating preroll time*/
+};
+
+/* fit types*/
+enum {
+ kMovieMediaFitNone = 0,
+ kMovieMediaFitScroll = FOUR_CHAR_CODE('scro'),
+ kMovieMediaFitClipIfNecessary = FOUR_CHAR_CODE('hidd'),
+ kMovieMediaFitFill = FOUR_CHAR_CODE('fill'),
+ kMovieMediaFitMeet = FOUR_CHAR_CODE('meet'),
+ kMovieMediaFitSlice = FOUR_CHAR_CODE('slic')
+};
+
+/* sub atoms for region atom*/
+enum {
+ kMovieMediaSpatialAdjustment = FOUR_CHAR_CODE('fit '), /* OSType from kMovieMediaFit**/
+ kMovieMediaRectangleAtom = FOUR_CHAR_CODE('rect'),
+ kMovieMediaTop = FOUR_CHAR_CODE('top '),
+ kMovieMediaLeft = FOUR_CHAR_CODE('left'),
+ kMovieMediaWidth = FOUR_CHAR_CODE('wd '),
+ kMovieMediaHeight = FOUR_CHAR_CODE('ht ')
+};
+
+/* contained movie properties*/
+enum {
+ kMoviePropertyDuration = FOUR_CHAR_CODE('dura'), /* TimeValue **/
+ kMoviePropertyTimeScale = FOUR_CHAR_CODE('tims'), /* TimeValue **/
+ kMoviePropertyTime = FOUR_CHAR_CODE('timv'), /* TimeValue **/
+ kMoviePropertyNaturalBounds = FOUR_CHAR_CODE('natb'), /* Rect **/
+ kMoviePropertyMatrix = FOUR_CHAR_CODE('mtrx'), /* Matrix **/
+ kMoviePropertyTrackList = FOUR_CHAR_CODE('tlst') /* long ****/
+};
+
+
+enum {
+ kTrackPropertyMediaType = FOUR_CHAR_CODE('mtyp'), /* OSType*/
+ kTrackPropertyInstantiation = FOUR_CHAR_CODE('inst') /* MovieMediaInstantiationInfoRecord*/
+};
+
+struct MovieMediaTimeRecord {
+ wide time;
+ TimeScale scale;
+};
+typedef struct MovieMediaTimeRecord MovieMediaTimeRecord;
+struct MovieMediaInstantiationInfoRecord {
+ Boolean immediately;
+ Boolean pad;
+ SInt32 bitRate;
+};
+typedef struct MovieMediaInstantiationInfoRecord MovieMediaInstantiationInfoRecord;
+/*************************
+* Movie Media routines
+**************************/
+
+
+/*
+ * MovieMediaGetChildDoMCActionCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieMediaGetChildDoMCActionCallback(
+ MediaHandler mh,
+ DoMCActionUPP * doMCActionCallbackProc,
+ long * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * MovieMediaGetDoMCActionCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieMediaGetDoMCActionCallback(
+ MediaHandler mh,
+ DoMCActionUPP * doMCActionCallbackProc,
+ long * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * MovieMediaGetCurrentMovieProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieMediaGetCurrentMovieProperty(
+ MediaHandler mh,
+ OSType whichProperty,
+ void * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * MovieMediaGetCurrentTrackProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieMediaGetCurrentTrackProperty(
+ MediaHandler mh,
+ long trackID,
+ OSType whichProperty,
+ void * value) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * MovieMediaGetChildMovieDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieMediaGetChildMovieDataReference(
+ MediaHandler mh,
+ QTAtomID dataRefID,
+ short dataRefIndex,
+ OSType * dataRefType,
+ Handle * dataRef,
+ QTAtomID * dataRefIDOut,
+ short * dataRefIndexOut) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * MovieMediaSetChildMovieDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieMediaSetChildMovieDataReference(
+ MediaHandler mh,
+ QTAtomID dataRefID,
+ OSType dataRefType,
+ Handle dataRef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * MovieMediaLoadChildMovieFromDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieMediaLoadChildMovieFromDataReference(
+ MediaHandler mh,
+ QTAtomID dataRefID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
+
+
+
+
+/*************************
+* 3D Media routines
+**************************/
+/*
+ * Media3DGetNamedObjectList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DGetNamedObjectList(
+ MediaHandler mh,
+ QTAtomContainer * objectList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DGetRendererList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DGetRendererList(
+ MediaHandler mh,
+ QTAtomContainer * rendererList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DGetCurrentGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DGetCurrentGroup(
+ MediaHandler mh,
+ void * group) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DTranslateNamedObjectTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DTranslateNamedObjectTo(
+ MediaHandler mh,
+ char * objectName,
+ Fixed x,
+ Fixed y,
+ Fixed z) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DScaleNamedObjectTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DScaleNamedObjectTo(
+ MediaHandler mh,
+ char * objectName,
+ Fixed xScale,
+ Fixed yScale,
+ Fixed zScale) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DRotateNamedObjectTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DRotateNamedObjectTo(
+ MediaHandler mh,
+ char * objectName,
+ Fixed xDegrees,
+ Fixed yDegrees,
+ Fixed zDegrees) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DSetCameraData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DSetCameraData(
+ MediaHandler mh,
+ void * cameraData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DGetCameraData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DGetCameraData(
+ MediaHandler mh,
+ void * cameraData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DSetCameraAngleAspect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DSetCameraAngleAspect(
+ MediaHandler mh,
+ QTFloatSingle fov,
+ QTFloatSingle aspectRatioXToY) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DGetCameraAngleAspect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DGetCameraAngleAspect(
+ MediaHandler mh,
+ QTFloatSingle * fov,
+ QTFloatSingle * aspectRatioXToY) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010A, 0x7000, 0xA82A);
+
+
+
+/*
+ * Media3DSetCameraRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DSetCameraRange(
+ MediaHandler mh,
+ void * tQ3CameraRange) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DGetCameraRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DGetCameraRange(
+ MediaHandler mh,
+ void * tQ3CameraRange) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010E, 0x7000, 0xA82A);
+
+
+/*
+ * Media3DGetViewObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+Media3DGetViewObject(
+ MediaHandler mh,
+ void * tq3viewObject) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010F, 0x7000, 0xA82A);
+
+
+
+
+/****************************************
+* *
+* M O V I E C O N T R O L L E R *
+* *
+****************************************/
+enum {
+ MovieControllerComponentType = FOUR_CHAR_CODE('play')
+};
+
+
+enum {
+ kMovieControllerQTVRFlag = 1 << 0,
+ kMovieControllerDontDisplayToUser = 1 << 1
+};
+
+
+typedef ComponentInstance MovieController;
+typedef MovieController * MovieControllerPtr;
+enum {
+ mcActionIdle = 1, /* no param*/
+ mcActionDraw = 2, /* param is WindowRef*/
+ mcActionActivate = 3, /* no param*/
+ mcActionDeactivate = 4, /* no param*/
+ mcActionMouseDown = 5, /* param is pointer to EventRecord*/
+ mcActionKey = 6, /* param is pointer to EventRecord*/
+ mcActionPlay = 8, /* param is Fixed, play rate*/
+ mcActionGoToTime = 12, /* param is TimeRecord*/
+ mcActionSetVolume = 14, /* param is a short*/
+ mcActionGetVolume = 15, /* param is pointer to a short*/
+ mcActionStep = 18, /* param is number of steps (short)*/
+ mcActionSetLooping = 21, /* param is Boolean*/
+ mcActionGetLooping = 22, /* param is pointer to a Boolean*/
+ mcActionSetLoopIsPalindrome = 23, /* param is Boolean*/
+ mcActionGetLoopIsPalindrome = 24, /* param is pointer to a Boolean*/
+ mcActionSetGrowBoxBounds = 25, /* param is a Rect*/
+ mcActionControllerSizeChanged = 26, /* no param*/
+ mcActionSetSelectionBegin = 29, /* param is TimeRecord*/
+ mcActionSetSelectionDuration = 30, /* param is TimeRecord, action only taken on set-duration*/
+ mcActionSetKeysEnabled = 32, /* param is Boolean*/
+ mcActionGetKeysEnabled = 33, /* param is pointer to Boolean*/
+ mcActionSetPlaySelection = 34, /* param is Boolean*/
+ mcActionGetPlaySelection = 35, /* param is pointer to Boolean*/
+ mcActionSetUseBadge = 36, /* param is Boolean*/
+ mcActionGetUseBadge = 37, /* param is pointer to Boolean*/
+ mcActionSetFlags = 38, /* param is long of flags*/
+ mcActionGetFlags = 39, /* param is pointer to a long of flags*/
+ mcActionSetPlayEveryFrame = 40, /* param is Boolean*/
+ mcActionGetPlayEveryFrame = 41, /* param is pointer to Boolean*/
+ mcActionGetPlayRate = 42, /* param is pointer to Fixed*/
+ mcActionShowBalloon = 43, /* param is a pointer to a boolean. set to false to stop balloon*/
+ mcActionBadgeClick = 44, /* param is pointer to Boolean. set to false to ignore click*/
+ mcActionMovieClick = 45, /* param is pointer to event record. change "what" to nullEvt to kill click*/
+ mcActionSuspend = 46, /* no param*/
+ mcActionResume = 47, /* no param*/
+ mcActionSetControllerKeysEnabled = 48, /* param is Boolean*/
+ mcActionGetTimeSliderRect = 49, /* param is pointer to rect*/
+ mcActionMovieEdited = 50, /* no param*/
+ mcActionGetDragEnabled = 51, /* param is pointer to Boolean*/
+ mcActionSetDragEnabled = 52, /* param is Boolean*/
+ mcActionGetSelectionBegin = 53, /* param is TimeRecord*/
+ mcActionGetSelectionDuration = 54, /* param is TimeRecord*/
+ mcActionPrerollAndPlay = 55, /* param is Fixed, play rate*/
+ mcActionGetCursorSettingEnabled = 56, /* param is pointer to Boolean*/
+ mcActionSetCursorSettingEnabled = 57, /* param is Boolean*/
+ mcActionSetColorTable = 58, /* param is CTabHandle*/
+ mcActionLinkToURL = 59, /* param is Handle to URL*/
+ mcActionCustomButtonClick = 60, /* param is pointer to EventRecord*/
+ mcActionForceTimeTableUpdate = 61, /* no param*/
+ mcActionSetControllerTimeLimits = 62, /* param is pointer to 2 time values min/max. do no send this message to controller. used internally only.*/
+ mcActionExecuteAllActionsForQTEvent = 63, /* param is ResolvedQTEventSpecPtr*/
+ mcActionExecuteOneActionForQTEvent = 64, /* param is ResolvedQTEventSpecPtr*/
+ mcActionAdjustCursor = 65, /* param is pointer to EventRecord (WindowRef is in message parameter)*/
+ mcActionUseTrackForTimeTable = 66, /* param is pointer to {long trackID; Boolean useIt}. do not send this message to controller. */
+ mcActionClickAndHoldPoint = 67, /* param is point (local coordinates). return true if point has click & hold action (e.g., VR object movie autorotate spot)*/
+ mcActionShowMessageString = 68, /* param is a StringPtr*/
+ mcActionShowStatusString = 69, /* param is a QTStatusStringPtr*/
+ mcActionGetExternalMovie = 70, /* param is a QTGetExternalMoviePtr*/
+ mcActionGetChapterTime = 71, /* param is a QTGetChapterTimePtr*/
+ mcActionPerformActionList = 72, /* param is a QTAtomSpecPtr*/
+ mcActionEvaluateExpression = 73, /* param is a QTEvaluateExpressionPtr*/
+ mcActionFetchParameterAs = 74, /* param is a QTFetchParameterAsPtr*/
+ mcActionGetCursorByID = 75, /* param is a QTGetCursorByIDPtr*/
+ mcActionGetNextURL = 76, /* param is a Handle to URL*/
+ mcActionMovieChanged = 77,
+ mcActionDoScript = 78, /* param is QTDoScriptPtr*/
+ mcActionRestartAtTime = 79, /* param is QTResartAtTimePtr*/
+ mcActionGetIndChapter = 80, /* param is QTChapterInfoPtr*/
+ mcActionLinkToURLExtended = 81, /* param is QTAtomContainer as used by QTParseHREF*/
+ mcActionSetVolumeStep = 82, /* param is short containing amount to step volume via arrow keys - default = 64*/
+ mcActionAutoPlay = 83, /* param is Fixed, play rate*/
+ mcActionPauseToBuffer = 84, /* param is Fixed, play rate on restart*/
+ mcActionAppMessageReceived = 85, /* param is a long, application message*/
+ mcActionMovieFinished = 86, /* no param*/
+ mcActionEvaluateExpressionWithType = 89, /* param is a QTEvaluateExpressionWithTypePtr*/
+ mcActionGetMovieName = 90, /* param is a p String Handle*/
+ mcActionGetMovieID = 91, /* param is pointer to long*/
+ mcActionGetMovieActive = 92, /* param is pointer to Boolean*/
+ mcActionGetKeyboardFocus = 93, /* param is QTKeyboardFocusPtr*/
+ mcActionSetKeyboardFocus = 94, /* param is QTKeyboardFocusPtr*/
+ mcActionAddActionNotification = 95, /* param is QTMCActionNotificationPtr*/
+ mcActionRemoveActionNotification = 96, /* param is QTMCActionNotificationPtr*/
+ mcActionKeyUp = 97, /* param is pointer to EventRecord */
+ mcActionGetConnectionStatus = 98, /* param is QTConnectionStatusPtr*/
+ mcActionChapterListChanged = 99, /* no param */
+ mcActionMovieLoadStateChanged = 100, /* param is SInt32, new load state*/
+ mcActionEditStateChanged = 101, /* param is a Boolean, editing enabled?*/
+ mcActionCurrentChapterChanged = 102 /* param is a UInt32, new chapter index */
+};
+
+typedef short mcAction;
+enum {
+ mcFlagSuppressMovieFrame = 1 << 0,
+ mcFlagSuppressStepButtons = 1 << 1,
+ mcFlagSuppressSpeakerButton = 1 << 2,
+ mcFlagsUseWindowPalette = 1 << 3,
+ mcFlagsDontInvalidate = 1 << 4,
+ mcFlagsUseCustomButton = 1 << 5
+};
+
+
+enum {
+ mcPositionDontInvalidate = 1 << 5
+};
+
+typedef unsigned long mcFlags;
+enum {
+ kMCIEEnabledButtonPicture = 1,
+ kMCIEDisabledButtonPicture = 2,
+ kMCIEDepressedButtonPicture = 3,
+ kMCIEEnabledSizeBoxPicture = 4,
+ kMCIEDisabledSizeBoxPicture = 5,
+ kMCIEEnabledUnavailableButtonPicture = 6,
+ kMCIEDisabledUnavailableButtonPicture = 7,
+ kMCIESoundSlider = 128,
+ kMCIESoundThumb = 129,
+ kMCIEColorTable = 256,
+ kMCIEIsFlatAppearance = 257,
+ kMCIEDoButtonIconsDropOnDepress = 258
+};
+
+typedef unsigned long MCInterfaceElement;
+typedef CALLBACK_API( Boolean , MCActionFilterProcPtr )(MovieController mc, short *action, void *params);
+typedef CALLBACK_API( Boolean , MCActionFilterWithRefConProcPtr )(MovieController mc, short action, void *params, long refCon);
+typedef CALLBACK_API( Boolean , MCActionNotificationProcPtr )(MovieController mc, short action, void *params, UInt32 inFlags, UInt32 *outFlags, void *refCon);
+typedef STACK_UPP_TYPE(MCActionFilterProcPtr) MCActionFilterUPP;
+typedef STACK_UPP_TYPE(MCActionFilterWithRefConProcPtr) MCActionFilterWithRefConUPP;
+typedef STACK_UPP_TYPE(MCActionNotificationProcPtr) MCActionNotificationUPP;
+/*
+ menu related stuff
+*/
+enum {
+ mcInfoUndoAvailable = 1 << 0,
+ mcInfoCutAvailable = 1 << 1,
+ mcInfoCopyAvailable = 1 << 2,
+ mcInfoPasteAvailable = 1 << 3,
+ mcInfoClearAvailable = 1 << 4,
+ mcInfoHasSound = 1 << 5,
+ mcInfoIsPlaying = 1 << 6,
+ mcInfoIsLooping = 1 << 7,
+ mcInfoIsInPalindrome = 1 << 8,
+ mcInfoEditingEnabled = 1 << 9,
+ mcInfoMovieIsInteractive = 1 << 10
+};
+
+/* menu item codes*/
+enum {
+ mcMenuUndo = 1,
+ mcMenuCut = 3,
+ mcMenuCopy = 4,
+ mcMenuPaste = 5,
+ mcMenuClear = 6
+};
+
+/* messages to the application via mcActionAppMessageReceived*/
+enum {
+ kQTAppMessageSoftwareChanged = 1, /* notification to app that installed QuickTime software has been updated*/
+ kQTAppMessageWindowCloseRequested = 3, /* request for app to close window containing movie controller*/
+ kQTAppMessageExitFullScreenRequested = 4, /* request for app to turn off full screen mode if active*/
+ kQTAppMessageDisplayChannels = 5, /* request for app to display the channel UI*/
+ kQTAppMessageEnterFullScreenRequested = 6 /* request for app to turn on full screen mode*/
+};
+
+/* structures used as mcActionFilterProc params*/
+struct QTStatusStringRecord {
+ long stringTypeFlags;
+ char * statusString;
+};
+typedef struct QTStatusStringRecord QTStatusStringRecord;
+typedef QTStatusStringRecord * QTStatusStringPtr;
+struct QTGetExternalMovieRecord {
+ long targetType; /* set to kTargetMovieName or kTargetMovieID*/
+ StringPtr movieName;
+ long movieID;
+ PtrToMovie theMovie;
+ MovieControllerPtr theController;
+};
+typedef struct QTGetExternalMovieRecord QTGetExternalMovieRecord;
+typedef QTGetExternalMovieRecord * QTGetExternalMoviePtr;
+struct QTGetChapterTimeRecord {
+ StringPtr chapterName;
+ TimeRecord chapterTime;
+};
+typedef struct QTGetChapterTimeRecord QTGetChapterTimeRecord;
+typedef QTGetChapterTimeRecord * QTGetChapterTimePtr;
+struct QTChapterInfoRecord {
+ long index; /* first chapter has index of 1*/
+ TimeValue time; /* -1 if no more chapters available*/
+ Str255 name;
+};
+typedef struct QTChapterInfoRecord QTChapterInfoRecord;
+typedef QTChapterInfoRecord * QTChapterInfoPtr;
+struct QTEvaluateExpressionRecord {
+ QTAtomSpec expressionSpec;
+ float * expressionResult;
+};
+typedef struct QTEvaluateExpressionRecord QTEvaluateExpressionRecord;
+typedef QTEvaluateExpressionRecord * QTEvaluateExpressionPtr;
+struct QTEvaluateExpressionWithTypeRecord {
+ long recordSize; /* Size of structure (fill in at allocation) */
+ QTAtomSpec expressionSpec;
+ float * expressionResult;
+ long fetchAsType;
+ Handle nonNumericResult;
+ /* Current size is 24 */
+};
+typedef struct QTEvaluateExpressionWithTypeRecord QTEvaluateExpressionWithTypeRecord;
+typedef QTEvaluateExpressionWithTypeRecord * QTEvaluateExpressionWithTypePtr;
+struct QTFetchParameterAsRecord {
+ QTAtomSpec paramListSpec;
+ long paramIndex;
+ long paramType;
+ long allowedFlags;
+ void * min;
+ void * max;
+ void * currentValue;
+ void * newValue;
+ Boolean isUnsignedValue;
+};
+typedef struct QTFetchParameterAsRecord QTFetchParameterAsRecord;
+typedef QTFetchParameterAsRecord * QTFetchParameterAsPtr;
+struct QTGetCursorByIDRecord {
+ short cursorID;
+ Handle colorCursorData;
+ long reserved1;
+};
+typedef struct QTGetCursorByIDRecord QTGetCursorByIDRecord;
+typedef QTGetCursorByIDRecord * QTGetCursorByIDPtr;
+struct QTDoScriptRecord {
+ long scriptTypeFlags;
+ char * command;
+ char * arguments;
+};
+typedef struct QTDoScriptRecord QTDoScriptRecord;
+typedef QTDoScriptRecord * QTDoScriptPtr;
+struct QTRestartAtTimeRecord {
+ TimeValue startTime; /* time scale is the movie timescale*/
+ Fixed rate; /* if rate is zero, the movie's current rate is maintained*/
+};
+typedef struct QTRestartAtTimeRecord QTRestartAtTimeRecord;
+typedef QTRestartAtTimeRecord * QTRestartAtTimePtr;
+/* values for paramType field of QTFetchParameterAsRecord*/
+enum {
+ kFetchAsBooleanPtr = 1,
+ kFetchAsShortPtr = 2,
+ kFetchAsLongPtr = 3,
+ kFetchAsMatrixRecordPtr = 4,
+ kFetchAsModifierTrackGraphicsModeRecord = 5,
+ kFetchAsHandle = 6,
+ kFetchAsStr255 = 7,
+ kFetchAsFloatPtr = 8,
+ kFetchAsPointPtr = 9,
+ kFetchAsNewAtomContainer = 10,
+ kFetchAsQTEventRecordPtr = 11,
+ kFetchAsFixedPtr = 12,
+ kFetchAsSetControllerValuePtr = 13,
+ kFetchAsRgnHandle = 14, /* flipped to native*/
+ kFetchAsComponentDescriptionPtr = 15,
+ kFetchAsCString = 16
+};
+
+enum {
+ kQTCursorOpenHand = -19183,
+ kQTCursorClosedHand = -19182,
+ kQTCursorPointingHand = -19181,
+ kQTCursorRightArrow = -19180,
+ kQTCursorLeftArrow = -19179,
+ kQTCursorDownArrow = -19178,
+ kQTCursorUpArrow = -19177,
+ kQTCursorIBeam = -19176
+};
+
+
+
+/* keyboard focus items*/
+
+enum {
+ kKeyboardAllowFocus = 1,
+ kKeyboardHaveFocus = 2,
+ kKeyboardValidate = 4
+};
+
+
+enum {
+ kRefConNavigateClick = FOUR_CHAR_CODE('clik')
+};
+
+
+struct QTKeyboardFocusRecord {
+ long recordSize; /* -> size of structure*/
+ long navigation; /* -> same as in MediaNavigateTargetRefCon*/
+ long focusRefCon; /* <-> refcon*/
+ short focusFlags; /* <-> flags from kKeyboard... enum */
+};
+typedef struct QTKeyboardFocusRecord QTKeyboardFocusRecord;
+typedef QTKeyboardFocusRecord * QTKeyboardFocusPtr;
+enum {
+ kQTMCActionNotifyBefore = (1L << 0),
+ kQTMCActionNotifyAfter = (1L << 1),
+ kQTMCActionNotifyParamChanged = (1L << 8),
+ kQTMCActionNotifyCancelled = (1L << 9),
+ kQTMCActionNotifyUserFilterCancelled = (1L << 10),
+ kQTMCActionNotifySignature = FOUR_CHAR_CODE('noti')
+};
+
+struct QTMCActionNotificationRecord {
+ OSType returnSignature; /* Set to zero when passed to movieController, set to 'noti' if mcActionAddActionNotification is implemented*/
+ MCActionNotificationUPP notifyAction; /* Function to be called at action time*/
+ void * refcon; /* Something to pass to the action function*/
+ UInt32 flags; /* Option flags*/
+};
+typedef struct QTMCActionNotificationRecord QTMCActionNotificationRecord;
+typedef QTMCActionNotificationRecord * QTMCActionNotificationPtr;
+struct QTConnectionStatusRecord {
+
+ short flags;
+ short error;
+
+ Handle message;
+};
+typedef struct QTConnectionStatusRecord QTConnectionStatusRecord;
+typedef QTConnectionStatusRecord * QTConnectionStatusPtr;
+
+/* target management */
+/*
+ * MCSetMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetMovie(
+ MovieController mc,
+ Movie theMovie,
+ WindowRef movieWindow,
+ Point where) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetIndMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+MCGetIndMovie(
+ MovieController mc,
+ short index) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A);
#define MCGetMovie(mc) MCGetIndMovie(mc, 0)
- /*
- * MCRemoveAllMovies()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCRemoveAllMovies(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * MCRemoveAMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCRemoveAMovie(
- MovieController mc,
- Movie m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * MCRemoveMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCRemoveMovie(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
-
-
- /* event handling etc. */
- /*
- * MCIsPlayerEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCIsPlayerEvent(
- MovieController mc,
- const EventRecord * e) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /* obsolete. use MCSetActionFilterWithRefCon instead. */
- /*
- * MCSetActionFilter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetActionFilter(
- MovieController mc,
- MCActionFilterUPP blob) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- proc is of the form:
- Boolean userPlayerFilter(MovieController mc, short *action, void *params) =
- proc returns TRUE if it handles the action, FALSE if not
- action is passed as a VAR so that it could be changed by filter
- this is consistent with the current dialog manager stuff
- params is any potential parameters that go with the action
- such as set playback rate to xxx.
- */
- /*
- * MCDoAction()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCDoAction(
- MovieController mc,
- short action,
- void * params) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0009, 0x7000, 0xA82A);
-
-
- /* state type things */
- /*
- * MCSetControllerAttached()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetControllerAttached(
- MovieController mc,
- Boolean attach) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * MCIsControllerAttached()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCIsControllerAttached(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * MCSetControllerPort()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetControllerPort(
- MovieController mc,
- CGrafPtr gp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * MCGetControllerPort()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(CGrafPtr)
- MCGetControllerPort(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * MCSetVisible()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetVisible(
- MovieController mc,
- Boolean visible) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * MCGetVisible()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCGetVisible(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * MCGetControllerBoundsRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCGetControllerBoundsRect(
- MovieController mc,
- Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * MCSetControllerBoundsRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetControllerBoundsRect(
- MovieController mc,
- const Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * MCGetControllerBoundsRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- MCGetControllerBoundsRgn(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * MCGetWindowRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(RgnHandle)
- MCGetWindowRgn(
- MovieController mc,
- WindowRef w) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
-
-
-
- /* other stuff */
- /*
- * MCMovieChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCMovieChanged(
- MovieController mc,
- Movie m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
-
- /*
- called when the app has changed thing about the movie (like bounding rect) or rate. So that we
- can update our graphical (and internal) state accordingly.
- */
- /*
- * MCSetDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetDuration(
- MovieController mc,
- TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- duration to use for time slider -- will be reset next time MCMovieChanged is called
- or MCSetMovie is called
- */
- /*
- * MCGetCurrentTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- MCGetCurrentTime(
- MovieController mc,
- TimeScale * scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- returns the time value and the time scale it is on. if there are no movies, the
- time scale is passed back as 0. scale is an optional parameter
-
- */
- /*
- * MCNewAttachedController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCNewAttachedController(
- MovieController mc,
- Movie theMovie,
- WindowRef w,
- Point where) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- makes theMovie the only movie attached to the controller. makes the controller visible.
- the window and where parameters are passed a long to MCSetMovie and behave as
- described there
- */
- /*
- * MCDraw()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCDraw(
- MovieController mc,
- WindowRef w) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * MCActivate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCActivate(
- MovieController mc,
- WindowRef w,
- Boolean activate) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * MCIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCIdle(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * MCKey()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCKey(
- MovieController mc,
- SInt8 key,
- long modifiers) FIVEWORDINLINE(0x2F3C, 0x0006, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * MCClick()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCClick(
- MovieController mc,
- WindowRef w,
- Point where,
- long when,
- long modifiers) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001C, 0x7000, 0xA82A);
-
-
-
- /*
- calls for editing
- */
- /*
- * MCEnableEditing()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCEnableEditing(
- MovieController mc,
- Boolean enabled) FIVEWORDINLINE(0x2F3C, 0x0002, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * MCIsEditingEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- MCIsEditingEnabled(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * MCCopy()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- MCCopy(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001F, 0x7000, 0xA82A);
-
-
- /*
- * MCCut()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- MCCut(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0020, 0x7000, 0xA82A);
-
-
- /*
- * MCPaste()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCPaste(
- MovieController mc,
- Movie srcMovie) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * MCClear()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCClear(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * MCUndo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCUndo(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0023, 0x7000, 0xA82A);
-
-
-
- /*
- * somewhat special stuff
- */
- /*
- * MCPositionController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCPositionController(
- MovieController mc,
- const Rect * movieRect,
- const Rect * controllerRect,
- long someFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A);
-
-
-
- /*
- * MCGetControllerInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCGetControllerInfo(
- MovieController mc,
- long * someFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
-
-
-
-
- /*
- * MCSetClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetClip(
- MovieController mc,
- RgnHandle theClip,
- RgnHandle movieClip) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A);
-
-
- /*
- * MCGetClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCGetClip(
- MovieController mc,
- RgnHandle * theClip,
- RgnHandle * movieClip) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A);
-
-
-
- /*
- * MCDrawBadge()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCDrawBadge(
- MovieController mc,
- RgnHandle movieRgn,
- RgnHandle * badgeRgn) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A);
-
-
- /*
- * MCSetUpEditMenu()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetUpEditMenu(
- MovieController mc,
- long modifiers,
- MenuRef mh) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * MCGetMenuString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCGetMenuString(
- MovieController mc,
- long modifiers,
- short item,
- Str255 aString) FIVEWORDINLINE(0x2F3C, 0x000A, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * MCSetActionFilterWithRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetActionFilterWithRefCon(
- MovieController mc,
- MCActionFilterWithRefConUPP blob,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A);
-
-
- /*
- * MCPtInController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCPtInController(
- MovieController mc,
- Point thePt,
- Boolean * inController) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
-
-
- /*
- * MCInvalidate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCInvalidate(
- MovieController mc,
- WindowRef w,
- RgnHandle invalidRgn) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002F, 0x7000, 0xA82A);
-
-
- /*
- * MCAdjustCursor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCAdjustCursor(
- MovieController mc,
- WindowRef w,
- Point where,
- long modifiers) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0030, 0x7000, 0xA82A);
-
-
- /*
- * MCGetInterfaceElement()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MCGetInterfaceElement(
- MovieController mc,
- MCInterfaceElement whichElement,
- void * element) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
-
-
- /*
- * MCGetDoActionsProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MCGetDoActionsProc(
- MovieController mc,
- DoMCActionUPP * doMCActionProc,
- long * doMCActionRefCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
-
-
- /*
- * MCAddMovieSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MCAddMovieSegment(
- MovieController mc,
- Movie srcMovie,
- Boolean scaled) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0033, 0x7000, 0xA82A);
-
-
- /*
- * MCTrimMovieSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MCTrimMovieSegment(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0034, 0x7000, 0xA82A);
-
-
- /*
- * MCSetIdleManager()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetIdleManager(
- MovieController mc,
- IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A);
-
-
- /* Called (but not implemented) by controllers that derive from the standard movie controller.
- All controllers except standard movie controller must delegate this call. */
- enum
- {
- kControllerUnderstandsIdleManagers = 1 << 0
- };
-
- /*
- * MCSetControllerCapabilities()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MCSetControllerCapabilities(
- MovieController mc,
- long flags,
- long flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
-
-
-
-
-
-
- /****************************************
- * *
- * T I M E B A S E *
- * *
- ****************************************/
- /*
- * NewTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeBase)
- NewTimeBase(void);
-
-
- /*
- * DisposeTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeTimeBase(TimeBase tb);
-
-
- /*
- * GetTimeBaseTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetTimeBaseTime(
- TimeBase tb,
- TimeScale s,
- TimeRecord * tr);
-
-
- /*
- * SetTimeBaseTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseTime(
- TimeBase tb,
- const TimeRecord * tr);
-
-
- /*
- * SetTimeBaseValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseValue(
- TimeBase tb,
- TimeValue t,
- TimeScale s);
-
-
- /*
- * GetTimeBaseRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- GetTimeBaseRate(TimeBase tb);
-
-
- /*
- * SetTimeBaseRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseRate(
- TimeBase tb,
- Fixed r);
-
-
- /*
- * GetTimeBaseStartTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetTimeBaseStartTime(
- TimeBase tb,
- TimeScale s,
- TimeRecord * tr);
-
-
- /*
- * SetTimeBaseStartTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseStartTime(
- TimeBase tb,
- const TimeRecord * tr);
-
-
- /*
- * GetTimeBaseStopTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeValue)
- GetTimeBaseStopTime(
- TimeBase tb,
- TimeScale s,
- TimeRecord * tr);
-
-
- /*
- * SetTimeBaseStopTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseStopTime(
- TimeBase tb,
- const TimeRecord * tr);
-
-
- /*
- * GetTimeBaseFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetTimeBaseFlags(TimeBase tb);
-
-
- /*
- * SetTimeBaseFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseFlags(
- TimeBase tb,
- long timeBaseFlags);
-
-
- /*
- * SetTimeBaseMasterTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseMasterTimeBase(
- TimeBase slave,
- TimeBase master,
- const TimeRecord * slaveZero);
-
-
- /*
- * GetTimeBaseMasterTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeBase)
- GetTimeBaseMasterTimeBase(TimeBase tb);
-
-
- /*
- * SetTimeBaseMasterClock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseMasterClock(
- TimeBase slave,
- Component clockMeister,
- const TimeRecord * slaveZero);
-
-
- /*
- * GetTimeBaseMasterClock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentInstance)
- GetTimeBaseMasterClock(TimeBase tb);
-
-
- /*
- * ConvertTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ConvertTime(
- TimeRecord * theTime,
- TimeBase newBase);
-
-
- /*
- * ConvertTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ConvertTimeScale(
- TimeRecord * theTime,
- TimeScale newScale);
-
-
- /*
- * AddTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- AddTime(
- TimeRecord * dst,
- const TimeRecord * src);
-
-
- /*
- * SubtractTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SubtractTime(
- TimeRecord * dst,
- const TimeRecord * src);
-
-
- /*
- * GetTimeBaseStatus()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- GetTimeBaseStatus(
- TimeBase tb,
- TimeRecord * unpinnedTime);
-
-
- /*
- * SetTimeBaseZero()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- SetTimeBaseZero(
- TimeBase tb,
- TimeRecord * zero);
-
-
- /*
- * GetTimeBaseEffectiveRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- GetTimeBaseEffectiveRate(TimeBase tb);
-
-
- /*
- * GetTimeBaseRateChangeStatus()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- GetTimeBaseRateChangeStatus(
- TimeBase tb,
- TimeScale scale,
- Fixed * ratedChangedTo,
- TimeBaseStatus * flags,
- TimeRecord * rateChangeTimeBaseTime,
- TimeRecord * rateChangeClockTime,
- TimeRecord * currentClockTime);
-
-
- /*
- * ConvertTimeToClockTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(void)
- ConvertTimeToClockTime(TimeRecord * time);
-
-
- /*
- * GetTimeBaseMasterOffsetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(TimeBase)
- GetTimeBaseMasterOffsetTimeBase(TimeBase tb);
-
-
- /*
- * SetTimeBaseOffsetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(OSErr)
- SetTimeBaseOffsetTimeBase(
- TimeBase tb,
- TimeBase offsettb,
- const TimeRecord * offsetZero);
+/*
+ * MCRemoveAllMovies()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCRemoveAllMovies(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * MCRemoveAMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCRemoveAMovie(
+ MovieController mc,
+ Movie m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * MCRemoveMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCRemoveMovie(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
+
+
+/* event handling etc. */
+/*
+ * MCIsPlayerEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCIsPlayerEvent(
+ MovieController mc,
+ const EventRecord * e) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/* obsolete. use MCSetActionFilterWithRefCon instead. */
+/*
+ * MCSetActionFilter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetActionFilter(
+ MovieController mc,
+ MCActionFilterUPP blob) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ proc is of the form:
+ Boolean userPlayerFilter(MovieController mc, short *action, void *params) =
+ proc returns TRUE if it handles the action, FALSE if not
+ action is passed as a VAR so that it could be changed by filter
+ this is consistent with the current dialog manager stuff
+ params is any potential parameters that go with the action
+ such as set playback rate to xxx.
+*/
+/*
+ * MCDoAction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCDoAction(
+ MovieController mc,
+ short action,
+ void * params) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0009, 0x7000, 0xA82A);
+
+
+/* state type things */
+/*
+ * MCSetControllerAttached()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetControllerAttached(
+ MovieController mc,
+ Boolean attach) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * MCIsControllerAttached()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCIsControllerAttached(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * MCSetControllerPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetControllerPort(
+ MovieController mc,
+ CGrafPtr gp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetControllerPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( CGrafPtr )
+MCGetControllerPort(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * MCSetVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetVisible(
+ MovieController mc,
+ Boolean visible) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCGetVisible(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetControllerBoundsRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCGetControllerBoundsRect(
+ MovieController mc,
+ Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * MCSetControllerBoundsRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetControllerBoundsRect(
+ MovieController mc,
+ const Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetControllerBoundsRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+MCGetControllerBoundsRgn(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetWindowRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( RgnHandle )
+MCGetWindowRgn(
+ MovieController mc,
+ WindowRef w) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
+
+
+
+/* other stuff */
+/*
+ * MCMovieChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCMovieChanged(
+ MovieController mc,
+ Movie m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+
+/*
+ called when the app has changed thing about the movie (like bounding rect) or rate. So that we
+ can update our graphical (and internal) state accordingly.
+*/
+/*
+ * MCSetDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetDuration(
+ MovieController mc,
+ TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ duration to use for time slider -- will be reset next time MCMovieChanged is called
+ or MCSetMovie is called
+*/
+/*
+ * MCGetCurrentTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+MCGetCurrentTime(
+ MovieController mc,
+ TimeScale * scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ returns the time value and the time scale it is on. if there are no movies, the
+ time scale is passed back as 0. scale is an optional parameter
+
+*/
+/*
+ * MCNewAttachedController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCNewAttachedController(
+ MovieController mc,
+ Movie theMovie,
+ WindowRef w,
+ Point where) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ makes theMovie the only movie attached to the controller. makes the controller visible.
+ the window and where parameters are passed a long to MCSetMovie and behave as
+ described there
+*/
+/*
+ * MCDraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCDraw(
+ MovieController mc,
+ WindowRef w) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * MCActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCActivate(
+ MovieController mc,
+ WindowRef w,
+ Boolean activate) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * MCIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCIdle(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * MCKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCKey(
+ MovieController mc,
+ SInt8 key,
+ long modifiers) FIVEWORDINLINE(0x2F3C, 0x0006, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * MCClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCClick(
+ MovieController mc,
+ WindowRef w,
+ Point where,
+ long when,
+ long modifiers) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001C, 0x7000, 0xA82A);
+
+
+
+/*
+ calls for editing
+*/
+/*
+ * MCEnableEditing()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCEnableEditing(
+ MovieController mc,
+ Boolean enabled) FIVEWORDINLINE(0x2F3C, 0x0002, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * MCIsEditingEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+MCIsEditingEnabled(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * MCCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+MCCopy(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001F, 0x7000, 0xA82A);
+
+
+/*
+ * MCCut()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+MCCut(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0020, 0x7000, 0xA82A);
+
+
+/*
+ * MCPaste()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCPaste(
+ MovieController mc,
+ Movie srcMovie) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * MCClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCClear(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * MCUndo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCUndo(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0023, 0x7000, 0xA82A);
+
+
+
+/*
+ * somewhat special stuff
+ */
+/*
+ * MCPositionController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCPositionController(
+ MovieController mc,
+ const Rect * movieRect,
+ const Rect * controllerRect,
+ long someFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A);
+
+
+
+/*
+ * MCGetControllerInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCGetControllerInfo(
+ MovieController mc,
+ long * someFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
+
+
+
+
+/*
+ * MCSetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetClip(
+ MovieController mc,
+ RgnHandle theClip,
+ RgnHandle movieClip) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCGetClip(
+ MovieController mc,
+ RgnHandle * theClip,
+ RgnHandle * movieClip) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A);
+
+
+
+/*
+ * MCDrawBadge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCDrawBadge(
+ MovieController mc,
+ RgnHandle movieRgn,
+ RgnHandle * badgeRgn) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A);
+
+
+/*
+ * MCSetUpEditMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetUpEditMenu(
+ MovieController mc,
+ long modifiers,
+ MenuRef mh) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetMenuString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCGetMenuString(
+ MovieController mc,
+ long modifiers,
+ short item,
+ Str255 aString) FIVEWORDINLINE(0x2F3C, 0x000A, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * MCSetActionFilterWithRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetActionFilterWithRefCon(
+ MovieController mc,
+ MCActionFilterWithRefConUPP blob,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A);
+
+
+/*
+ * MCPtInController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCPtInController(
+ MovieController mc,
+ Point thePt,
+ Boolean * inController) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A);
+
+
+/*
+ * MCInvalidate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCInvalidate(
+ MovieController mc,
+ WindowRef w,
+ RgnHandle invalidRgn) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002F, 0x7000, 0xA82A);
+
+
+/*
+ * MCAdjustCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCAdjustCursor(
+ MovieController mc,
+ WindowRef w,
+ Point where,
+ long modifiers) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0030, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetInterfaceElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCGetInterfaceElement(
+ MovieController mc,
+ MCInterfaceElement whichElement,
+ void * element) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
+
+
+/*
+ * MCGetDoActionsProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCGetDoActionsProc(
+ MovieController mc,
+ DoMCActionUPP * doMCActionProc,
+ long * doMCActionRefCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
+
+
+/*
+ * MCAddMovieSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCAddMovieSegment(
+ MovieController mc,
+ Movie srcMovie,
+ Boolean scaled) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0033, 0x7000, 0xA82A);
+
+
+/*
+ * MCTrimMovieSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCTrimMovieSegment(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0034, 0x7000, 0xA82A);
+
+
+/*
+ * MCSetIdleManager()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetIdleManager(
+ MovieController mc,
+ IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A);
+
+
+/* Called (but not implemented) by controllers that derive from the standard movie controller.
+ All controllers except standard movie controller must delegate this call. */
+enum {
+ kControllerUnderstandsIdleManagers = 1 << 0
+};
+
+/*
+ * MCSetControllerCapabilities()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MCSetControllerCapabilities(
+ MovieController mc,
+ long flags,
+ long flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
+
+
+
+
+
+
+/****************************************
+* *
+* T I M E B A S E *
+* *
+****************************************/
+/*
+ * NewTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeBase )
+NewTimeBase(void);
+
+
+/*
+ * DisposeTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeTimeBase(TimeBase tb);
+
+
+/*
+ * GetTimeBaseTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetTimeBaseTime(
+ TimeBase tb,
+ TimeScale s,
+ TimeRecord * tr);
+
+
+/*
+ * SetTimeBaseTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseTime(
+ TimeBase tb,
+ const TimeRecord * tr);
+
+
+/*
+ * SetTimeBaseValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseValue(
+ TimeBase tb,
+ TimeValue t,
+ TimeScale s);
+
+
+/*
+ * GetTimeBaseRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+GetTimeBaseRate(TimeBase tb);
+
+
+/*
+ * SetTimeBaseRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseRate(
+ TimeBase tb,
+ Fixed r);
+
+
+/*
+ * GetTimeBaseStartTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetTimeBaseStartTime(
+ TimeBase tb,
+ TimeScale s,
+ TimeRecord * tr);
+
+
+/*
+ * SetTimeBaseStartTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseStartTime(
+ TimeBase tb,
+ const TimeRecord * tr);
+
+
+/*
+ * GetTimeBaseStopTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeValue )
+GetTimeBaseStopTime(
+ TimeBase tb,
+ TimeScale s,
+ TimeRecord * tr);
+
+
+/*
+ * SetTimeBaseStopTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseStopTime(
+ TimeBase tb,
+ const TimeRecord * tr);
+
+
+/*
+ * GetTimeBaseFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetTimeBaseFlags(TimeBase tb);
+
+
+/*
+ * SetTimeBaseFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseFlags(
+ TimeBase tb,
+ long timeBaseFlags);
+
+
+/*
+ * SetTimeBaseMasterTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseMasterTimeBase(
+ TimeBase slave,
+ TimeBase master,
+ const TimeRecord * slaveZero);
+
+
+/*
+ * GetTimeBaseMasterTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeBase )
+GetTimeBaseMasterTimeBase(TimeBase tb);
+
+
+/*
+ * SetTimeBaseMasterClock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseMasterClock(
+ TimeBase slave,
+ Component clockMeister,
+ const TimeRecord * slaveZero);
+
+
+/*
+ * GetTimeBaseMasterClock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentInstance )
+GetTimeBaseMasterClock(TimeBase tb);
+
+
+/*
+ * ConvertTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ConvertTime(
+ TimeRecord * theTime,
+ TimeBase newBase);
+
+
+/*
+ * ConvertTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ConvertTimeScale(
+ TimeRecord * theTime,
+ TimeScale newScale);
+
+
+/*
+ * AddTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+AddTime(
+ TimeRecord * dst,
+ const TimeRecord * src);
+
+
+/*
+ * SubtractTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SubtractTime(
+ TimeRecord * dst,
+ const TimeRecord * src);
+
+
+/*
+ * GetTimeBaseStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+GetTimeBaseStatus(
+ TimeBase tb,
+ TimeRecord * unpinnedTime);
+
+
+/*
+ * SetTimeBaseZero()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+SetTimeBaseZero(
+ TimeBase tb,
+ TimeRecord * zero);
+
+
+/*
+ * GetTimeBaseEffectiveRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+GetTimeBaseEffectiveRate(TimeBase tb);
+
+
+/*
+ * GetTimeBaseRateChangeStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+GetTimeBaseRateChangeStatus(
+ TimeBase tb,
+ TimeScale scale,
+ Fixed * ratedChangedTo,
+ TimeBaseStatus * flags,
+ TimeRecord * rateChangeTimeBaseTime,
+ TimeRecord * rateChangeClockTime,
+ TimeRecord * currentClockTime);
+
+
+/*
+ * ConvertTimeToClockTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( void )
+ConvertTimeToClockTime(TimeRecord * time);
+
+
+/*
+ * GetTimeBaseMasterOffsetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( TimeBase )
+GetTimeBaseMasterOffsetTimeBase(TimeBase tb);
+
+
+/*
+ * SetTimeBaseOffsetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( OSErr )
+SetTimeBaseOffsetTimeBase(
+ TimeBase tb,
+ TimeBase offsettb,
+ const TimeRecord * offsetZero);
#if TARGET_OS_MAC
- /*
- * AttachTimeBaseToCurrentThread()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- AttachTimeBaseToCurrentThread(TimeBase tb);
-
-
- /*
- * DetachTimeBaseFromCurrentThread()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- DetachTimeBaseFromCurrentThread(TimeBase tb);
-
-
- /*
- * GetTimeBaseThreadAttachState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- GetTimeBaseThreadAttachState(
- TimeBase inTimeBase,
- Boolean * outAttachedToCurrentThread,
- Boolean * outAttachedToAnyThread);
+/*
+ * AttachTimeBaseToCurrentThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+AttachTimeBaseToCurrentThread(TimeBase tb);
+
+
+/*
+ * DetachTimeBaseFromCurrentThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+DetachTimeBaseFromCurrentThread(TimeBase tb);
+
+
+/*
+ * GetTimeBaseThreadAttachState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+GetTimeBaseThreadAttachState(
+ TimeBase inTimeBase,
+ Boolean * outAttachedToCurrentThread,
+ Boolean * outAttachedToAnyThread);
#endif /* TARGET_OS_MAC */
- /****************************************
- * *
- * C A L L B A C K *
- * *
- ****************************************/
- /*
- * NewCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTCallBack)
- NewCallBack(
- TimeBase tb,
- short cbType);
-
-
- /*
- * DisposeCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DisposeCallBack(QTCallBack cb);
-
-
- /*
- * GetCallBackType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(short)
- GetCallBackType(QTCallBack cb);
-
-
- /*
- * GetCallBackTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(TimeBase)
- GetCallBackTimeBase(QTCallBack cb);
-
-
- /*
- * CallMeWhen()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- CallMeWhen(
- QTCallBack cb,
- QTCallBackUPP callBackProc,
- long refCon,
- long param1,
- long param2,
- long param3);
-
-
- /*
- * CancelCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- CancelCallBack(QTCallBack cb);
-
-
-
- /****************************************
- * *
- * C L O C K C A L L B A C K *
- * S U P P O R T *
- * *
- ****************************************/
- /*
- * AddCallBackToTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- AddCallBackToTimeBase(QTCallBack cb);
-
-
- /*
- * RemoveCallBackFromTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- RemoveCallBackFromTimeBase(QTCallBack cb);
-
-
- /*
- * GetFirstCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTCallBack)
- GetFirstCallBack(TimeBase tb);
-
-
- /*
- * GetNextCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTCallBack)
- GetNextCallBack(QTCallBack cb);
-
-
- /*
- * ExecuteCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ExecuteCallBack(QTCallBack cb);
-
-
-
-
- /****************************************
- * *
- * M O V I E P R O P E R T I E S *
- * *
- ****************************************/
-
- typedef CALLBACK_API(void , QTMoviePropertyListenerProcPtr)(Movie inMovie, QTPropertyClass inPropClass, QTPropertyID inPropID, void *inUserData);
- typedef STACK_UPP_TYPE(QTMoviePropertyListenerProcPtr) QTMoviePropertyListenerUPP;
- /*
- * QTGetMoviePropertyInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- QTGetMoviePropertyInfo(
- Movie inMovie,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTPropertyValueType * outPropType,
- ByteCount * outPropValueSize,
- UInt32 * outPropertyFlags);
-
-
- /*
- * QTGetMovieProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- QTGetMovieProperty(
- Movie inMovie,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- QTPropertyValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed);
-
-
- /*
- * QTSetMovieProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- QTSetMovieProperty(
- Movie inMovie,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstQTPropertyValuePtr inPropValueAddress);
-
-
- /*
- * QTAddMoviePropertyListener()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- QTAddMoviePropertyListener(
- Movie inMovie,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTMoviePropertyListenerUPP inListenerProc,
- void * inUserData);
-
-
- /*
- * QTRemoveMoviePropertyListener()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(OSErr)
- QTRemoveMoviePropertyListener(
- Movie inMovie,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTMoviePropertyListenerUPP inListenerProc,
- void * inUserData);
-
-
-
-
- /****************************************
- * *
- * T R A C K P R O P E R T I E S *
- * *
- ****************************************/
-
- typedef CALLBACK_API(void , QTTrackPropertyListenerProcPtr)(Track inTrack, QTPropertyClass inPropClass, QTPropertyID inPropID, void *inUserData);
- typedef STACK_UPP_TYPE(QTTrackPropertyListenerProcPtr) QTTrackPropertyListenerUPP;
- /*
- * QTGetTrackPropertyInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- QTGetTrackPropertyInfo(
- Track inTrack,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTPropertyValueType * outPropType,
- ByteCount * outPropValueSize,
- UInt32 * outPropertyFlags);
-
-
- /*
- * QTGetTrackProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- QTGetTrackProperty(
- Track inTrack,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- QTPropertyValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed);
-
-
- /*
- * QTSetTrackProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- QTSetTrackProperty(
- Track inTrack,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstQTPropertyValuePtr inPropValueAddress);
-
-
- /*
- * QTAddTrackPropertyListener()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- QTAddTrackPropertyListener(
- Track inTrack,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTTrackPropertyListenerUPP inListenerProc,
- void * inUserData);
-
-
- /*
- * QTRemoveTrackPropertyListener()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSErr)
- QTRemoveTrackPropertyListener(
- Track inTrack,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTTrackPropertyListenerUPP inListenerProc,
- void * inUserData);
-
-
-
- /****************************************
- * *
- * Q T S A M P L E T A B L E *
- * *
- ****************************************/
-
- typedef long QTSampleDescriptionID;
- /*
- * QTSampleTableCreateMutable()
- *
- * Summary:
- * Creates a new empty sample table.
- *
- * Discussion:
- * The newly created sample table will contain no sample references.
- * When sample references are added, their durations and display
- * offsets will be interpreted according to the sample table's
- * current timescale.
- *
- * Parameters:
- *
- * allocator:
- * The allocator to use for the new sample table.
- *
- * timescale:
- * The timescale to use for durations and display offsets.
- *
- * hints:
- * Reserved. Pass NULL.
- *
- * newSampleTable:
- * Points to a variable to receive the new sample table.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableCreateMutable(
- CFAllocatorRef allocator,
- TimeScale timescale,
- void * hints,
- QTMutableSampleTableRef * newSampleTable);
-
-
- /*
- * QTSampleTableRetain()
- *
- * Summary:
- * Increments the retain count of a sample table.
- *
- * Discussion:
- * The same sample table is returned for convenience. If sampleTable
- * is NULL, nothing happens.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(QTSampleTableRef)
- QTSampleTableRetain(QTSampleTableRef sampleTable);
-
-
- /*
- * QTSampleTableRelease()
- *
- * Summary:
- * Decrements the retain count of a sample table.
- *
- * Discussion:
- * If the retain count decreases to zero, the sample table is
- * disposed. If sampleTable is NULL, nothing happens.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(void)
- QTSampleTableRelease(QTSampleTableRef sampleTable);
-
-
- /*
- * QTSampleTableCreateMutableCopy()
- *
- * Summary:
- * Copies a sample table.
- *
- * Discussion:
- * All the sample references and sample descriptions in the sample
- * table are copied.
- *
- * Parameters:
- *
- * allocator:
- * The allocator to use for the new sample table.
- *
- * sampleTable:
- * The sample table to copy.
- *
- * hints:
- * Reserved, set to NULL.
- *
- * newSampleTable:
- * Points to a variable to receive the new sample table.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableCreateMutableCopy(
- CFAllocatorRef allocator,
- QTSampleTableRef sampleTable,
- void * hints,
- QTMutableSampleTableRef * newSampleTable);
-
-
- /*
- * QTSampleTableGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for QTSampleTableRef.
- *
- * Discussion:
- * You could use this to test whether a CFTypeRef that extracted
- * from a CF container such as a CFArray was a QTSampleTableRef.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(CFTypeID)
- QTSampleTableGetTypeID(void);
-
-
- /*
- * QTSampleTableSetTimeScale()
- *
- * Summary:
- * Changes the timescale of a sample table.
- *
- * Discussion:
- * The durations and display offsets of all the sample references in
- * the sample table are scaled from the old timescale to the new
- * timescale. No durations will be scaled to a value less than 1.
- * Display offsets will be adjusted to avoid display time collisions.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * newTimeScale:
- * The new timescale.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableSetTimeScale(
- QTMutableSampleTableRef sampleTable,
- TimeScale newTimeScale);
-
-
- /*
- * QTSampleTableGetTimeScale()
- *
- * Summary:
- * Returns the timescale of a sample table.
- *
- * Discussion:
- * Returns 0 if sampleTable is NULL.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeScale)
- QTSampleTableGetTimeScale(QTSampleTableRef sampleTable);
-
-
-
- /*
- * Summary:
- * Attribute flags for QTSampleTableGetNextAttributeChange
- */
- enum
- {
-
- /*
- * Set this flag to find first num such that samples num-1 and num
- * are not adjacent, ie, dataOffset of num-1 + dataSize of num-1 !=
- * dataOffset of num
- */
- kQTSampleTableAttribute_DiscontiguousData = 1L << 0,
-
- /*
- * Set this flag to find the first sample with data size per sample
- * different from that of the starting sample.
- */
- kQTSampleTableAttribute_DataSizePerSampleChange = 1L << 1,
-
- /*
- * Set this flag to find the first sample with decode duration
- * different from that of the starting sample.
- */
- kQTSampleTableAttribute_DecodeDurationChange = 1L << 2,
-
- /*
- * Set this flag to find the first sample with display offset
- * different from that of the starting sample.
- */
- kQTSampleTableAttribute_DisplayOffsetChange = 1L << 3,
-
- /*
- * Set this flag to find the first sample with sample description ID
- * different from that of the starting sample.
- */
- kQTSampleTableAttribute_SampleDescriptionIDChange = 1L << 4,
-
- /*
- * Set this flag to find the first sample with any media sample flags
- * different from those of the starting sample.
- */
- kQTSampleTableAttribute_SampleFlagsChange = 1L << 5,
-
- /*
- * If no flags are set, find the first sample with any attribute
- * different from the starting sample.
- */
- kQTSampleTableAnyAttributeChange = 0
- };
-
- typedef UInt32 QTSampleTableAttribute;
- /*
- * QTSampleTableGetNextAttributeChange()
- *
- * Summary:
- * Finds the next sample number at which one or more of given sample
- * attributes change.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * startSampleNum:
- * A sample number.
- *
- * attributeMask:
- * A collection of flags that indicates which kinds of attribute
- * changes to search for.
- *
- * sampleNumOut:
- * Points to a variable to receive the next sample number after
- * startSampleNum at which any of the requested attributes
- * changes. If no attribute changes are found, this variable is
- * set to zero.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableGetNextAttributeChange(
- QTSampleTableRef sampleTable,
- SInt64 startSampleNum,
- QTSampleTableAttribute attributeMask,
- SInt64 * sampleNumOut);
-
-
-
- /*
- * QTSampleTableAddSampleDescription()
- *
- * Summary:
- * Adds a sample description to a sample table, returning a sample
- * description ID that can be used to refer to it.
- *
- * Discussion:
- * You can use the returned sample description ID when adding
- * samples to the sample table.
- * Note: Sample description IDs are local to each sample table. The
- * same sample description handle may have different IDs when
- * referenced in different sample tables.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * sampleDescriptionH:
- * The sample description handle. The QTSampleTable will make its
- * own copy of this handle.
- *
- * mediaSampleDescriptionIndex:
- * Indicates the sample description index of this sample
- * description in a media. Pass zero for sample descriptions you
- * add to sample tables, to indicate that this was not retrieved
- * from a media.
- *
- * sampleDescriptionIDOut:
- * Points to a variable to receive a sample description ID.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableAddSampleDescription(
- QTMutableSampleTableRef sampleTable,
- SampleDescriptionHandle sampleDescriptionH,
- long mediaSampleDescriptionIndex,
- QTSampleDescriptionID * sampleDescriptionIDOut);
-
-
- /*
- * QTSampleTableCopySampleDescription()
- *
- * Summary:
- * Retrieves a sample description from a sample table.
- *
- * Discussion:
- * The caller is responsible for disposing the returned sampled
- * description handle with DisposeHandle.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * sampleDescriptionID:
- * The sample description ID.
- *
- * mediaSampleDescriptionIndexOut:
- * Points to a variable to receive a media sample description
- * index. If the sample description came from a media, this is the
- * index that could be passed to GetMediaSampleDescription to
- * retrieve the same sample description handle. The index will be
- * zero if the sample description did not come directly from a
- * media. Pass NULL if you do not want to receive this information.
- *
- * sampleDescriptionHOut:
- * Points to a variable to receive a newly allocated sample
- * description handle. Pass NULL if you do not want one.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableCopySampleDescription(
- QTSampleTableRef sampleTable,
- QTSampleDescriptionID sampleDescriptionID,
- long * mediaSampleDescriptionIndexOut,
- SampleDescriptionHandle * sampleDescriptionHOut);
-
-
- /*
- * QTSampleTableAddSampleReferences()
- *
- * Summary:
- * Adds sample references to a sample table.
- *
- * Discussion:
- * Note that you must pass the data size per sample, not the total
- * size of all the samples as with some other APIs.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * dataOffset:
- * Specifies the offset at which the first sample begins.
- *
- * dataSizePerSample:
- * Specifies the number of bytes of data per sample.
- *
- * decodeDurationPerSample:
- * Specifies the decode duration of each sample.
- *
- * displayOffset:
- * Specifies the offset from decode time to display time of each
- * sample. If the decode times and display times will be the same,
- * pass 0.
- *
- * numberOfSamples:
- * Specifies the number of samples. Must be greater than zero.
- *
- * sampleFlags:
- * Specifies the media sample flags for all samples.
- *
- * sampleDescriptionID:
- * Specifies the ID of a sample description that has been added to
- * the sample table with QTSampleTableAddSampleDescription.
- *
- * newSampleNumOut:
- * Points to a variable to receive the sample number of the first
- * sample that was added. Pass NULL if you don't want this
- * information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableAddSampleReferences(
- QTMutableSampleTableRef sampleTable,
- SInt64 dataOffset,
- ByteCount dataSizePerSample,
- TimeValue64 decodeDurationPerSample,
- TimeValue64 displayOffset,
- SInt64 numberOfSamples,
- MediaSampleFlags sampleFlags,
- QTSampleDescriptionID sampleDescriptionID,
- SInt64 * newSampleNumOut);
-
-
- /*
- * QTSampleTableGetNumberOfSamples()
- *
- * Summary:
- * Returns the number of samples in a sample table.
- *
- * Discussion:
- * Returns 0 if sampleTable is NULL.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(SInt64)
- QTSampleTableGetNumberOfSamples(QTSampleTableRef sampleTable);
-
-
- /*
- * QTSampleTableReplaceRange()
- *
- * Summary:
- * Replaces a range of samples in a sample table with a range of
- * samples from another sample table. Can also be used to delete a
- * range of samples, or to insert samples without removing any.
- *
- * Discussion:
- * This function removes destSampleCount samples from
- * destSampleTable starting with destStartingSampleNum, and then
- * inserts sourceSampleCount samples from sourceSampleTable starting
- * with sourceStartingSampleNum where the removed samples were.
- * Sample descriptions will be copied if necessary and new sample
- * description IDs defined.
- *
- * Parameters:
- *
- * destSampleTable:
- * The sample table to be modified.
- *
- * destStartingSampleNum:
- * The first sample number in destSampleTable to be replaced or
- * deleted, or the sample number at which samples should be
- * inserted.
- *
- * destSampleCount:
- * The number of samples to be removed from destSampleTable. Pass
- * 0 to insert without removing samples.
- *
- * sourceSampleTable:
- * The sample table from which samples should be copied, or NULL
- * to delete samples.
- *
- * sourceStartingSampleNum:
- * The first sample number to be copied. Ignored when deleting
- * samples.
- *
- * sourceSampleCount:
- * The number of samples which should be copied. Pass 0 to delete
- * samples.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableReplaceRange(
- QTMutableSampleTableRef destSampleTable,
- SInt64 destStartingSampleNum,
- SInt64 destSampleCount,
- QTSampleTableRef sourceSampleTable,
- SInt64 sourceStartingSampleNum,
- SInt64 sourceSampleCount);
-
-
-
- /*
- * QTSampleTableGetDataOffset()
- *
- * Summary:
- * Returns the data offset of a sample.
- *
- * Discussion:
- * Returns 0 if the sample table is NULL, or if the sample number is
- * out of range.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * sampleNum:
- * The sample number. The first sample's number is 1.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(SInt64)
- QTSampleTableGetDataOffset(
- QTSampleTableRef sampleTable,
- SInt64 sampleNum);
-
-
- /*
- * QTSampleTableGetDataSizePerSample()
- *
- * Summary:
- * Returns the data size of a sample.
- *
- * Discussion:
- * Returns 0 if the sample table is NULL, or if the sample number is
- * out of range.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * sampleNum:
- * The sample number. The first sample's number is 1.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ByteCount)
- QTSampleTableGetDataSizePerSample(
- QTSampleTableRef sampleTable,
- SInt64 sampleNum);
-
-
- /*
- * QTSampleTableGetDecodeDuration()
- *
- * Summary:
- * Returns the decode duration of a sample.
- *
- * Discussion:
- * Returns 0 if the sample table is NULL, or if the sample number is
- * out of range.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * sampleNum:
- * The sample number. The first sample's number is 1.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeValue64)
- QTSampleTableGetDecodeDuration(
- QTSampleTableRef sampleTable,
- SInt64 sampleNum);
-
-
- /*
- * QTSampleTableGetDisplayOffset()
- *
- * Summary:
- * Returns the offset from decode time to display time of a sample.
- *
- * Discussion:
- * Returns 0 if the sample table is NULL, or if the sample number is
- * out of range.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * sampleNum:
- * The sample number. The first sample's number is 1.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(TimeValue64)
- QTSampleTableGetDisplayOffset(
- QTSampleTableRef sampleTable,
- SInt64 sampleNum);
-
-
- /*
- * QTSampleTableGetSampleDescriptionID()
- *
- * Summary:
- * Returns the sample description ID of a sample.
- *
- * Discussion:
- * Returns 0 if the sample table is NULL, or if the sample number is
- * out of range.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * sampleNum:
- * The sample number. The first sample's number is 1.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(QTSampleDescriptionID)
- QTSampleTableGetSampleDescriptionID(
- QTSampleTableRef sampleTable,
- SInt64 sampleNum);
-
-
- /*
- * QTSampleTableGetSampleFlags()
- *
- * Summary:
- * Returns the media sample flags of a sample.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * sampleNum:
- * The sample number. The first sample's number is 1.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(MediaSampleFlags)
- QTSampleTableGetSampleFlags(
- QTSampleTableRef sampleTable,
- SInt64 sampleNum);
-
-
-
- /*
- * Summary:
- * Properties of sample tables
- */
- enum
- {
-
- /*
- * Property class for sample tables.
- */
- kQTPropertyClass_SampleTable = FOUR_CHAR_CODE('qtst'),
-
- /*
- * The total decode duration of all samples in the sample table.
- * Read-only.
- */
- kQTSampleTablePropertyID_TotalDecodeDuration = FOUR_CHAR_CODE('tded'), /* TimeValue64, Read */
-
- /*
- * The least display offset in the table. (-50 is a lesser offset
- * than 20.) Read-only.
- */
- kQTSampleTablePropertyID_MinDisplayOffset = FOUR_CHAR_CODE('<ddd'), /* TimeValue64, Read */
-
- /*
- * The greatest display offset in the table. (20 is a greater offset
- * than -50.) Read-only.
- */
- kQTSampleTablePropertyID_MaxDisplayOffset = FOUR_CHAR_CODE('>ddd'), /* TimeValue64, Read */
-
- /*
- * The least display time of all samples in the table, relative to
- * the decode time of the first sample in the table. Read-only.
- */
- kQTSampleTablePropertyID_MinRelativeDisplayTime = FOUR_CHAR_CODE('<dis'), /* TimeValue64, Read */
-
- /*
- * The greatest display time of all samples in the table, relative to
- * the decode time of the first sample in the table. Read-only.
- */
- kQTSampleTablePropertyID_MaxRelativeDisplayTime = FOUR_CHAR_CODE('>dis') /* TimeValue64, Read */
- };
-
-
- /*
- * QTSampleTableGetPropertyInfo()
- *
- * Summary:
- * Returns information about the properties of a sample table.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * inPropClass:
- * A property class.
- *
- * inPropID:
- * A property ID.
- *
- * outPropType:
- * A pointer to memory allocated to hold the property type on
- * return. Pass NULL if you do not want this information.
- *
- * outPropValueSize:
- * A pointer to memory allocated to hold the size of the property
- * value on return. Pass NULL if you do not want this information.
- *
- * outPropertyFlags:
- * A pointer to memory allocated to hold property flags on return.
- * Pass NULL if you do not want this information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableGetPropertyInfo(
- QTSampleTableRef sampleTable,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTPropertyValueType * outPropType, /* can be NULL */
- ByteCount * outPropValueSize, /* can be NULL */
- UInt32 * outPropertyFlags); /* can be NULL */
-
-
- /*
- * QTSampleTableGetProperty()
- *
- * Summary:
- * Returns the value of a specific sample table property.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * inPropClass:
- * A property class.
- *
- * inPropID:
- * A property ID.
- *
- * inPropValueSize:
- * The size of the buffer allocated to hold the property value.
- *
- * outPropValueAddress:
- * A pointer to the buffer allocated to hold the property value.
- *
- * outPropValueSizeUsed:
- * On return, the actual size of the value written to the buffer.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableGetProperty(
- QTSampleTableRef sampleTable,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- QTPropertyValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed); /* can be NULL */
-
-
- /*
- * QTSampleTableSetProperty()
- *
- * Summary:
- * Sets the value of a specific sample table property.
- *
- * Parameters:
- *
- * sampleTable:
- * The sample table.
- *
- * inPropClass:
- * A property class.
- *
- * inPropID:
- * A property ID.
- *
- * inPropValueSize:
- * The size of the property value.
- *
- * inPropValueAddress:
- * A pointer to the property value.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTSampleTableSetProperty(
- QTSampleTableRef sampleTable,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstQTPropertyValuePtr inPropValueAddress);
-
-
-
-
-
- /****************************************************************************
- * *
- * M E T A D A T A *
- * *
- * QUICKTIME METADATA API OVERVIEW *
- * *
- * A QTMetaDataRef represents a metadata repository consisting of one or *
- * more native metadata containers. The QuickTime MetaData API supports *
- * unified access to and management of these containers. *
- * *
- * Each container may be addressed by its storage format *
- * (kQTMetaDataStorageFormat). Initially, there is support for classic *
- * QuickTime UserData, iTunes metadata, and a richer QuickTime metadata *
- * container format. A QTMetaDataRef may have one or all of these. No *
- * direct access to the native storage containers is provided. *
- * *
- * Each container consists of some number of metadata items. Metadata items *
- * correspond to individually labeled values with characteristics such as *
- * keys, data types, locale information, etc. What are called items here *
- * are sometimes referred to as attributes or properties in other metadata *
- * systems. Here, the focus is on the management of the pieces of metadata *
- * instead of the associations with objects. This parallels existing *
- * management of the classic QuickTime UserData construct. *
- * *
- * QTMetaDataRefs may be associated with the Movie, Track and Media levels. *
- * This parallels UserData placement today but provides access to other *
- * kinds of metadata storage at those levels. *
- * *
- * A metadata item is assigned a runtime identifier (QTMetaDataItem) that *
- * along with the QTMetaDataRef identifies the particular item (and value) *
- * across all native containers managed by the QTMetaDataRef. *
- * *
- * Each item is addressed by a key (or label). The key is not necessarily *
- * unique within its container as it is possible to have multiple items *
- * with the same key (e.g., multiple author items). Operations exist to *
- * enumerate all items or only items with a particular key. *
- * *
- * Because a QTMetaDataRef may provide access to different native metadata *
- * containers with differing key structures (a four-char-code for one, a *
- * string for another, etc.), the key structure is also specified. A *
- * QTMetaDataKeyFormat indicates the key structure in APIs accepting keys. *
- * This is also done because some container formats allow multiple key *
- * structures or multiple versions of key structures. *
- * *
- * To allow unified access across disparate containers, a wildcard storage *
- * format can be specified. This will direct operations like searches *
- * across container formats. A special key format called *
- * kQTMetaDataKeyFormatCommon indicates one of a set of common keys that *
- * can be handled by native containers (e.g., copyright). *
- * *
- * So, both of these modes of operation are possible: - access metadata *
- * regardless of native container format through the use a common key - *
- * access metadata natively using a native key format *
- * *
- ****************************************************************************/
- /* Opaque reference to a metadata object*/
- typedef struct OpaqueQTMetaDataRef* QTMetaDataRef;
- /* Opaque identifier for metadata item*/
- typedef UInt64 QTMetaDataItem;
- enum
- {
- kQTMetaDataItemUninitialized = 0 /* Uninitialized metadata item identifier*/
- };
-
- /*
- Metadata Storage Format.
- */
- typedef OSType QTMetaDataStorageFormat;
- enum
- {
- kQTMetaDataStorageFormatWildcard = 0 /* Wildcard storage format*/
- };
-
- /*
- Metadata Key Format.
- */
- typedef OSType QTMetaDataKeyFormat;
- enum
- {
- kQTMetaDataKeyFormatWildcard = 0 /* Match any key regardless of key format*/
- };
-
- /****************************************
- * Common Key Format *
- ***************************************/
- enum
- {
- kQTMetaDataKeyFormatCommon = FOUR_CHAR_CODE('comn')
- };
-
- /* Pre-defined meta keys*/
- enum
- {
- kQTMetaDataCommonKeyAuthor = FOUR_CHAR_CODE('auth'),
- kQTMetaDataCommonKeyComment = FOUR_CHAR_CODE('cmmt'),
- kQTMetaDataCommonKeyCopyright = FOUR_CHAR_CODE('cprt'),
- kQTMetaDataCommonKeyDirector = FOUR_CHAR_CODE('dtor'),
- kQTMetaDataCommonKeyDisplayName = FOUR_CHAR_CODE('name'),
- kQTMetaDataCommonKeyInformation = FOUR_CHAR_CODE('info'),
- kQTMetaDataCommonKeyKeywords = FOUR_CHAR_CODE('keyw'),
- kQTMetaDataCommonKeyProducer = FOUR_CHAR_CODE('prod'),
- kQTMetaDataCommonKeyAlbum = FOUR_CHAR_CODE('albm'),
- kQTMetaDataCommonKeyArtist = FOUR_CHAR_CODE('arts'),
- kQTMetaDataCommonKeyArtwork = FOUR_CHAR_CODE('artw'),
- kQTMetaDataCommonKeyChapterName = FOUR_CHAR_CODE('chap'),
- kQTMetaDataCommonKeyComposer = FOUR_CHAR_CODE('comp'),
- kQTMetaDataCommonKeyDescription = FOUR_CHAR_CODE('desc'),
- kQTMetaDataCommonKeyGenre = FOUR_CHAR_CODE('genr'),
- kQTMetaDataCommonKeyOriginalFormat = FOUR_CHAR_CODE('orif'),
- kQTMetaDataCommonKeyOriginalSource = FOUR_CHAR_CODE('oris'),
- kQTMetaDataCommonKeyPerformers = FOUR_CHAR_CODE('perf'),
- kQTMetaDataCommonKeySoftware = FOUR_CHAR_CODE('soft'),
- kQTMetaDataCommonKeyWriter = FOUR_CHAR_CODE('wrtr')
- };
-
-
- /****************************************
- * QuickTime Native Metadata Format *
- ***************************************/
- /* QTMetaDataStorageFormat type*/
- enum
- {
- kQTMetaDataStorageFormatQuickTime = FOUR_CHAR_CODE('mdta') /* QuickTime metadata storage format*/
- };
-
- /* QTMetaDataKeyFormat type*/
- enum
- {
- kQTMetaDataKeyFormatQuickTime = FOUR_CHAR_CODE('mdta') /* Reverse DNS format*/
- };
-
- /****************************************
- * iTunes Native Metadata Format *
- ***************************************/
- /* QTMetaDataStorageFormat type*/
- enum
- {
- kQTMetaDataStorageFormatiTunes = FOUR_CHAR_CODE('itms') /* iTunes metadata storage format*/
- };
-
- /* QTMetaDataKeyFormat type*/
- enum
- {
- kQTMetaDataKeyFormatiTunesShortForm = FOUR_CHAR_CODE('itsk'), /* FourCharCode*/
- kQTMetaDataKeyFormatiTunesLongForm = FOUR_CHAR_CODE('itlk') /* Reverse DNS format*/
- };
-
- /* The list of keys for iTunes metadata is TBA.*/
-
- /****************************************
- * UserData Native Format *
- ***************************************/
- /* QTMetaDataStorageFormat type*/
- enum
- {
- kQTMetaDataStorageFormatUserData = FOUR_CHAR_CODE('udta') /* UserData storage format*/
- };
-
- /* QTMetaDataKeyFormat type*/
- enum
- {
- kQTMetaDataKeyFormatUserData = FOUR_CHAR_CODE('udta') /* FourCharCode*/
- };
-
- /* The list of keys are the User Data Identifiers (e.g. kUserDataTextAuthor, kUserDataTextCopyright, etc.)*/
-
- /*
- Mapping from common keys to user data identifiers:
-
- kQTMetaDataCommonKeyAuthor -> kUserDataTextAuthor
- kQTMetaDataCommonKeyComment -> kUserDataTextComment
- kQTMetaDataCommonKeyCopyright -> kUserDataTextCopyright
- kQTMetaDataCommonKeyDirector -> kUserDataTextDirector
- kQTMetaDataCommonKeyDisplayName -> kUserDataTextFullName
- kQTMetaDataCommonKeyInformation -> kUserDataTextInformation
- kQTMetaDataCommonKeyKeywords -> kUserDataTextKeywords
- kQTMetaDataCommonKeyProducer -> kUserDataTextProducer
- kQTMetaDataCommonKeyAlbum -> kUserDataTextAlbum
- kQTMetaDataCommonKeyArtist -> kUserDataTextArtist
- kQTMetaDataCommonKeyChapterName -> kUserDataTextChapter
- kQTMetaDataCommonKeyComposer -> kUserDataTextComposer
- kQTMetaDataCommonKeyDescription -> kUserDataTextDescription
- kQTMetaDataCommonKeyGenre -> kUserDataTextGenre
- kQTMetaDataCommonKeyOriginalFormat -> kUserDataTextOriginalFormat
- kQTMetaDataCommonKeyOriginalSource -> kUserDataTextOriginalSource
- kQTMetaDataCommonKeyPerformers -> kUserDataTextPerformers
- kQTMetaDataCommonKeySoftware -> kUserDataTextSoftware
- kQTMetaDataCommonKeyWriter -> kUserDataTextWriter
- */
- /****************************************
- * Metadata Property Class ID *
- ***************************************/
- enum
- {
- kPropertyClass_MetaData = FOUR_CHAR_CODE('meta')
- };
-
- /* Metadata Property ID */
-
- /*
- */
- enum
- {
-
- /*
- * kQTMetaDataPropertyID_StorageFormats: The list of storage formats
- * (QTMetaDataStorageFormat) associated with this QTMetaDataRef
- * object. Return - C-style array of OSTypes, Read
- */
- kQTMetaDataPropertyID_StorageFormats = FOUR_CHAR_CODE('fmts'),
-
- /*
- * kQTMetaDataPropertyID_OwnerType: The owner type associated with
- * this QTMetaDataRef object. Return - OSType (QT_MOVIE_TYPE,
- * QT_TRACK_TYPE, QT_MEDIA_TYPE), Read
- */
- kQTMetaDataPropertyID_OwnerType = FOUR_CHAR_CODE('ownt'),
-
- /*
- * kQTMetaDataPropertyID_Owner: The owner associated with this
- * QTMetaDataRef object. The QTMetaDataRef object does not
- * necessarily need to have an owner. Return - Movie, Track, or
- * Media, Read
- */
- kQTMetaDataPropertyID_Owner = FOUR_CHAR_CODE('ownr')
- };
-
- /*
- Metadata Item Property Class ID
- */
- enum
- {
- kPropertyClass_MetaDataItem = FOUR_CHAR_CODE('mdit')
- };
-
- /* Metadata Item Property ID */
-
- /*
- */
- enum
- {
-
- /*
- * kQTMetaDataItemPropertyID_Value: The value of the metadata item.
- * Return - C-style array of UInt8, Read
- */
- kQTMetaDataItemPropertyID_Value = FOUR_CHAR_CODE('valu'),
-
- /*
- * kQTMetaDataItemPropertyID_DataType: The value type of the metadata
- * item. Return - UInt32, Read/Write
- */
- kQTMetaDataItemPropertyID_DataType = FOUR_CHAR_CODE('dtyp'),
-
- /*
- * kQTMetaDataItemPropertyID_StorageFormat: The storage format
- * (QTMetaDataStorageFormat). Return - QTMetaDataStorageFormat, Read
- */
- kQTMetaDataItemPropertyID_StorageFormat = FOUR_CHAR_CODE('sfmt'),
-
- /*
- * kQTMetaDataItemPropertyID_Key: The key associated with the
- * metadata item. Return - C-style array of UInt8, Read/Write
- */
- kQTMetaDataItemPropertyID_Key = FOUR_CHAR_CODE('key '),
-
- /*
- * kQTMetaDataItemPropertyID_KeyFormat: The format of the key used.
- * Return - OSType, Read/Write
- */
- kQTMetaDataItemPropertyID_KeyFormat = FOUR_CHAR_CODE('keyf'),
-
- /*
- * kQTMetaDataItemPropertyID_Locale: The locale identifier based on
- * the naming convention defined by the International Components for
- * Unicode (ICU). The identifier consists of two pieces of ordered
- * information: a language code and a region code. The language code
- * is based on the ISO 639-1 standard, which defines two-character
- * codes, such as "en" and "fr", for the world's most commonly used
- * languages. If a two-letter code is not available, then ISO 639-2
- * three-letter identifiers are accepted as well, for example "haw"
- * for Hawaiian. The region code is defined by ISO 3166-1. The region
- * code is in all caps and appended, after an underscore, after the
- * language code, for example "en_US", "en_GB", and "fr_FR". Return -
- * C-string, Read/Write
- */
- kQTMetaDataItemPropertyID_Locale = FOUR_CHAR_CODE('loc ')
- };
-
- /* Well-known data type code*/
- enum
- {
- kQTMetaDataTypeBinary = 0,
- kQTMetaDataTypeUTF8 = 1,
- kQTMetaDataTypeUTF16BE = 2,
- kQTMetaDataTypeMacEncodedText = 3,
- kQTMetaDataTypeJPEGImage = 13,
- kQTMetaDataTypePNGImage = 14,
- kQTMetaDataTypeSignedIntegerBE = 21, /* The size of the integer is defined by the value size*/
- kQTMetaDataTypeUnsignedIntegerBE = 22, /* The size of the integer is defined by the value size*/
- kQTMetaDataTypeFloat32BE = 23,
- kQTMetaDataTypeFloat64BE = 24,
- kQTMetaDataTypeBMPImage = 27,
- kQTMetaDataTypeQuickTimeMetaData = 28
- };
-
-
- /****************************************
- * QTMetaDataRef Access *
- ***************************************/
- /*
- * QTCopyMovieMetaData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTCopyMovieMetaData(
- Movie inMovie,
- QTMetaDataRef * outMetaData);
-
-
- /*
- * QTCopyTrackMetaData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTCopyTrackMetaData(
- Track inTrack,
- QTMetaDataRef * outMetaData);
-
-
- /*
- * QTCopyMediaMetaData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTCopyMediaMetaData(
- Media inMedia,
- QTMetaDataRef * outMetaData);
-
-
- /*
- * QTMetaDataRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(QTMetaDataRef)
- QTMetaDataRetain(QTMetaDataRef inMetaData);
-
-
- /*
- * QTMetaDataRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(void)
- QTMetaDataRelease(QTMetaDataRef inMetaData);
-
-
- /*
- * QTMetaDataCreateFromBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.2) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataCreateFromBuffer(
- const UInt8 * inBufferPtr,
- ByteCount inBufferSize,
- QTMetaDataRef * outMetaData);
-
-
- /*
- * QTMetaDataGetBytes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.2) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataGetBytes(
- QTMetaDataRef inMetaData,
- ByteCount inBufferSize,
- UInt8 * inBufferPtr,
- ByteCount * outBufferSizeNeeded);
-
-
-
- /****************************************
- * Metadata Item Routines *
- ***************************************/
- /*
- * QTMetaDataGetPropertyInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataGetPropertyInfo(
- QTMetaDataRef inMetaData,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTPropertyValueType * outPropType,
- ByteCount * outPropValueSize,
- UInt32 * outPropFlags);
-
-
- /*
- * QTMetaDataGetProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataGetProperty(
- QTMetaDataRef inMetaData,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- QTPropertyValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed);
-
-
- /*
- * QTMetaDataSetProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataSetProperty(
- QTMetaDataRef inMetaData,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstQTPropertyValuePtr inPropValueAddress);
-
-
- /*
- * QTMetaDataGetItemValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataGetItemValue(
- QTMetaDataRef inMetaData,
- QTMetaDataItem inItem,
- UInt8 * outValuePtr,
- ByteCount inValueSize,
- ByteCount * outActualSize);
-
-
- /*
- * QTMetaDataGetNextItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataGetNextItem(
- QTMetaDataRef inMetaData,
- QTMetaDataStorageFormat inMetaDataFormat,
- QTMetaDataItem inCurrentItem,
- QTMetaDataKeyFormat inKeyFormat,
- const UInt8 * inKeyPtr,
- ByteCount inKeySize,
- QTMetaDataItem * outNextItem);
-
-
- /*
- * QTMetaDataGetItemPropertyInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataGetItemPropertyInfo(
- QTMetaDataRef inMetaData,
- QTMetaDataItem inItem,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- QTPropertyValueType * outPropType,
- ByteCount * outPropValueSize,
- UInt32 * outPropFlags);
-
-
- /*
- * QTMetaDataGetItemProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataGetItemProperty(
- QTMetaDataRef inMetaData,
- QTMetaDataItem inItem,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- QTPropertyValuePtr outPropValueAddress,
- ByteCount * outPropValueSizeUsed);
-
-
- /*
- * QTMetaDataSetItemProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataSetItemProperty(
- QTMetaDataRef inMetaData,
- QTMetaDataItem inItem,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- ByteCount inPropValueSize,
- ConstQTPropertyValuePtr inPropValueAddress);
-
-
- /*
- * QTMetaDataGetItemCountWithKey()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataGetItemCountWithKey(
- QTMetaDataRef inMetaData,
- QTMetaDataStorageFormat inMetaDataFormat,
- QTMetaDataKeyFormat inKeyFormat,
- const UInt8 * inKeyPtr,
- ByteCount inKeySize,
- ItemCount * outCount);
-
-
- /*
- * QTMetaDataAddItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataAddItem(
- QTMetaDataRef inMetaData,
- QTMetaDataStorageFormat inMetaDataFormat,
- QTMetaDataKeyFormat inKeyFormat,
- const UInt8 * inKeyPtr,
- ByteCount inKeySize,
- const UInt8 * inValuePtr,
- ByteCount inValueSize,
- UInt32 inDataType,
- QTMetaDataItem * outItem);
-
-
- /*
- * QTMetaDataSetItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataSetItem(
- QTMetaDataRef inMetaData,
- QTMetaDataItem inItem,
- UInt8 * inValuePtr,
- ByteCount inValueSize,
- UInt32 inDataType);
-
-
- /*
- * QTMetaDataRemoveItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataRemoveItem(
- QTMetaDataRef inMetaData,
- QTMetaDataItem inItem);
-
-
- /*
- * QTMetaDataRemoveItemsWithKey()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(OSStatus)
- QTMetaDataRemoveItemsWithKey(
- QTMetaDataRef inMetaData,
- QTMetaDataStorageFormat inMetaDataFormat,
- QTMetaDataKeyFormat inKeyFormat,
- const UInt8 * inKeyPtr,
- ByteCount inKeySize);
-
-
-
- /*
- * MusicMediaGetIndexedTunePlayer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicMediaGetIndexedTunePlayer(
- ComponentInstance ti,
- long sampleDescIndex,
- ComponentInstance * tp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
-
-
-
-
-
- typedef struct QTBandwidthUsageRecord** QTBandwidthReference;
- typedef struct QTScheduledBandwidthUsageRecord** QTScheduledBandwidthReference;
- enum
- {
- BandwidthManagementPrefsType = FOUR_CHAR_CODE('bwmg')
- };
-
-
- struct BandwidthManagementPrefsRecord
- {
- Boolean overrideConnectionSpeedForBandwidth;
- };
- typedef struct BandwidthManagementPrefsRecord BandwidthManagementPrefsRecord;
- typedef BandwidthManagementPrefsRecord * BandwidthManagementPrefsPtr;
- typedef BandwidthManagementPrefsPtr * BandwidthManagementPrefsHandle;
- enum
- {
- kQTBandwidthNotifyNeedToStop = 1L << 0,
- kQTBandwidthNotifyGoodToGo = 1L << 1,
- kQTBandwidthChangeRequest = 1L << 2,
- kQTBandwidthQueueRequest = 1L << 3,
- kQTBandwidthScheduledRequest = 1L << 4,
- kQTBandwidthVoluntaryRelease = 1L << 5
- };
-
- typedef CALLBACK_API(OSErr , QTBandwidthNotificationProcPtr)(long flags, void *reserved, void *refcon);
- struct QTScheduledBandwidthRecord
- {
- long recordSize; /* total number of bytes in QTScheduledBandwidthRecord*/
-
- long priority;
- long dataRate;
- CompTimeValue startTime; /* bandwidth usage start time*/
- CompTimeValue duration; /* duration of bandwidth usage (0 if unknown)*/
- CompTimeValue prerollDuration; /* time for negotiation before startTime (0 if unknown)*/
- TimeScale scale; /* timescale of value/duration/prerollDuration fields*/
- TimeBase base; /* timebase*/
- };
- typedef struct QTScheduledBandwidthRecord QTScheduledBandwidthRecord;
- typedef QTScheduledBandwidthRecord * QTScheduledBandwidthPtr;
- typedef QTScheduledBandwidthPtr * QTScheduledBandwidthHandle;
- typedef STACK_UPP_TYPE(QTBandwidthNotificationProcPtr) QTBandwidthNotificationUPP;
- /*
- * QTBandwidthRequest()
- *
- * Deprecated:
- * No longer need to call bandwidth management functions.
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.4
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- QTBandwidthRequest(
- long priority,
- QTBandwidthNotificationUPP callback,
- const void * refcon,
- QTBandwidthReference * bwRef,
- long flags);
-
-
- /*
- * QTBandwidthRequestForTimeBase()
- *
- * Deprecated:
- * No longer need to call bandwidth management functions.
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.4
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- QTBandwidthRequestForTimeBase(
- TimeBase tb,
- long priority,
- QTBandwidthNotificationUPP callback,
- const void * refcon,
- QTBandwidthReference * bwRef,
- long flags);
-
-
- /*
- * QTBandwidthRelease()
- *
- * Deprecated:
- * No longer need to call bandwidth management functions.
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.4
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(OSErr)
- QTBandwidthRelease(
- QTBandwidthReference bwRef,
- long flags);
-
-
- /*
- * QTScheduledBandwidthRequest()
- *
- * Deprecated:
- * No longer need to call bandwidth management functions.
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.4
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- QTScheduledBandwidthRequest(
- QTScheduledBandwidthPtr scheduleRec,
- QTBandwidthNotificationUPP notificationCallback,
- void * refcon,
- QTScheduledBandwidthReference * sbwRef,
- long flags);
-
-
- /*
- * QTScheduledBandwidthRelease()
- *
- * Deprecated:
- * No longer need to call bandwidth management functions.
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.4
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(OSErr)
- QTScheduledBandwidthRelease(
- QTScheduledBandwidthReference sbwRef,
- long flags);
-
-
- /*
- * NewMCActionFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MCActionFilterUPP)
- NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine);
+/****************************************
+* *
+* C A L L B A C K *
+* *
+****************************************/
+/*
+ * NewCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTCallBack )
+NewCallBack(
+ TimeBase tb,
+ short cbType);
+
+
+/*
+ * DisposeCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DisposeCallBack(QTCallBack cb);
+
+
+/*
+ * GetCallBackType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( short )
+GetCallBackType(QTCallBack cb);
+
+
+/*
+ * GetCallBackTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( TimeBase )
+GetCallBackTimeBase(QTCallBack cb);
+
+
+/*
+ * CallMeWhen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+CallMeWhen(
+ QTCallBack cb,
+ QTCallBackUPP callBackProc,
+ long refCon,
+ long param1,
+ long param2,
+ long param3);
+
+
+/*
+ * CancelCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+CancelCallBack(QTCallBack cb);
+
+
+
+/****************************************
+* *
+* C L O C K C A L L B A C K *
+* S U P P O R T *
+* *
+****************************************/
+/*
+ * AddCallBackToTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+AddCallBackToTimeBase(QTCallBack cb);
+
+
+/*
+ * RemoveCallBackFromTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+RemoveCallBackFromTimeBase(QTCallBack cb);
+
+
+/*
+ * GetFirstCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTCallBack )
+GetFirstCallBack(TimeBase tb);
+
+
+/*
+ * GetNextCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTCallBack )
+GetNextCallBack(QTCallBack cb);
+
+
+/*
+ * ExecuteCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ExecuteCallBack(QTCallBack cb);
+
+
+
+
+/****************************************
+* *
+* M O V I E P R O P E R T I E S *
+* *
+****************************************/
+
+typedef CALLBACK_API( void , QTMoviePropertyListenerProcPtr )(Movie inMovie, QTPropertyClass inPropClass, QTPropertyID inPropID, void *inUserData);
+typedef STACK_UPP_TYPE(QTMoviePropertyListenerProcPtr) QTMoviePropertyListenerUPP;
+/*
+ * QTGetMoviePropertyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+QTGetMoviePropertyInfo(
+ Movie inMovie,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTPropertyValueType * outPropType,
+ ByteCount * outPropValueSize,
+ UInt32 * outPropertyFlags);
+
+
+/*
+ * QTGetMovieProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+QTGetMovieProperty(
+ Movie inMovie,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ QTPropertyValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed);
+
+
+/*
+ * QTSetMovieProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+QTSetMovieProperty(
+ Movie inMovie,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstQTPropertyValuePtr inPropValueAddress);
+
+
+/*
+ * QTAddMoviePropertyListener()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+QTAddMoviePropertyListener(
+ Movie inMovie,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTMoviePropertyListenerUPP inListenerProc,
+ void * inUserData);
+
+
+/*
+ * QTRemoveMoviePropertyListener()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( OSErr )
+QTRemoveMoviePropertyListener(
+ Movie inMovie,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTMoviePropertyListenerUPP inListenerProc,
+ void * inUserData);
+
+
+
+
+/****************************************
+* *
+* T R A C K P R O P E R T I E S *
+* *
+****************************************/
+
+typedef CALLBACK_API( void , QTTrackPropertyListenerProcPtr )(Track inTrack, QTPropertyClass inPropClass, QTPropertyID inPropID, void *inUserData);
+typedef STACK_UPP_TYPE(QTTrackPropertyListenerProcPtr) QTTrackPropertyListenerUPP;
+/*
+ * QTGetTrackPropertyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+QTGetTrackPropertyInfo(
+ Track inTrack,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTPropertyValueType * outPropType,
+ ByteCount * outPropValueSize,
+ UInt32 * outPropertyFlags);
+
+
+/*
+ * QTGetTrackProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+QTGetTrackProperty(
+ Track inTrack,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ QTPropertyValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed);
+
+
+/*
+ * QTSetTrackProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+QTSetTrackProperty(
+ Track inTrack,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstQTPropertyValuePtr inPropValueAddress);
+
+
+/*
+ * QTAddTrackPropertyListener()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+QTAddTrackPropertyListener(
+ Track inTrack,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTTrackPropertyListenerUPP inListenerProc,
+ void * inUserData);
+
+
+/*
+ * QTRemoveTrackPropertyListener()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSErr )
+QTRemoveTrackPropertyListener(
+ Track inTrack,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTTrackPropertyListenerUPP inListenerProc,
+ void * inUserData);
+
+
+
+/****************************************
+* *
+* Q T S A M P L E T A B L E *
+* *
+****************************************/
+
+typedef long QTSampleDescriptionID;
+/*
+ * QTSampleTableCreateMutable()
+ *
+ * Summary:
+ * Creates a new empty sample table.
+ *
+ * Discussion:
+ * The newly created sample table will contain no sample references.
+ * When sample references are added, their durations and display
+ * offsets will be interpreted according to the sample table's
+ * current timescale.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * The allocator to use for the new sample table.
+ *
+ * timescale:
+ * The timescale to use for durations and display offsets.
+ *
+ * hints:
+ * Reserved. Pass NULL.
+ *
+ * newSampleTable:
+ * Points to a variable to receive the new sample table.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableCreateMutable(
+ CFAllocatorRef allocator,
+ TimeScale timescale,
+ void * hints,
+ QTMutableSampleTableRef * newSampleTable);
+
+
+/*
+ * QTSampleTableRetain()
+ *
+ * Summary:
+ * Increments the retain count of a sample table.
+ *
+ * Discussion:
+ * The same sample table is returned for convenience. If sampleTable
+ * is NULL, nothing happens.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( QTSampleTableRef )
+QTSampleTableRetain(QTSampleTableRef sampleTable);
+
+
+/*
+ * QTSampleTableRelease()
+ *
+ * Summary:
+ * Decrements the retain count of a sample table.
+ *
+ * Discussion:
+ * If the retain count decreases to zero, the sample table is
+ * disposed. If sampleTable is NULL, nothing happens.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( void )
+QTSampleTableRelease(QTSampleTableRef sampleTable);
+
+
+/*
+ * QTSampleTableCreateMutableCopy()
+ *
+ * Summary:
+ * Copies a sample table.
+ *
+ * Discussion:
+ * All the sample references and sample descriptions in the sample
+ * table are copied.
+ *
+ * Parameters:
+ *
+ * allocator:
+ * The allocator to use for the new sample table.
+ *
+ * sampleTable:
+ * The sample table to copy.
+ *
+ * hints:
+ * Reserved, set to NULL.
+ *
+ * newSampleTable:
+ * Points to a variable to receive the new sample table.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableCreateMutableCopy(
+ CFAllocatorRef allocator,
+ QTSampleTableRef sampleTable,
+ void * hints,
+ QTMutableSampleTableRef * newSampleTable);
+
+
+/*
+ * QTSampleTableGetTypeID()
+ *
+ * Summary:
+ * Returns the CFTypeID for QTSampleTableRef.
+ *
+ * Discussion:
+ * You could use this to test whether a CFTypeRef that extracted
+ * from a CF container such as a CFArray was a QTSampleTableRef.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( CFTypeID )
+QTSampleTableGetTypeID(void);
+
+
+/*
+ * QTSampleTableSetTimeScale()
+ *
+ * Summary:
+ * Changes the timescale of a sample table.
+ *
+ * Discussion:
+ * The durations and display offsets of all the sample references in
+ * the sample table are scaled from the old timescale to the new
+ * timescale. No durations will be scaled to a value less than 1.
+ * Display offsets will be adjusted to avoid display time collisions.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * newTimeScale:
+ * The new timescale.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableSetTimeScale(
+ QTMutableSampleTableRef sampleTable,
+ TimeScale newTimeScale);
+
+
+/*
+ * QTSampleTableGetTimeScale()
+ *
+ * Summary:
+ * Returns the timescale of a sample table.
+ *
+ * Discussion:
+ * Returns 0 if sampleTable is NULL.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeScale )
+QTSampleTableGetTimeScale(QTSampleTableRef sampleTable);
+
+
+
+/*
+ * Summary:
+ * Attribute flags for QTSampleTableGetNextAttributeChange
+ */
+enum {
+
+ /*
+ * Set this flag to find first num such that samples num-1 and num
+ * are not adjacent, ie, dataOffset of num-1 + dataSize of num-1 !=
+ * dataOffset of num
+ */
+ kQTSampleTableAttribute_DiscontiguousData = 1L << 0,
+
+ /*
+ * Set this flag to find the first sample with data size per sample
+ * different from that of the starting sample.
+ */
+ kQTSampleTableAttribute_DataSizePerSampleChange = 1L << 1,
+
+ /*
+ * Set this flag to find the first sample with decode duration
+ * different from that of the starting sample.
+ */
+ kQTSampleTableAttribute_DecodeDurationChange = 1L << 2,
+
+ /*
+ * Set this flag to find the first sample with display offset
+ * different from that of the starting sample.
+ */
+ kQTSampleTableAttribute_DisplayOffsetChange = 1L << 3,
+
+ /*
+ * Set this flag to find the first sample with sample description ID
+ * different from that of the starting sample.
+ */
+ kQTSampleTableAttribute_SampleDescriptionIDChange = 1L << 4,
+
+ /*
+ * Set this flag to find the first sample with any media sample flags
+ * different from those of the starting sample.
+ */
+ kQTSampleTableAttribute_SampleFlagsChange = 1L << 5,
+
+ /*
+ * If no flags are set, find the first sample with any attribute
+ * different from the starting sample.
+ */
+ kQTSampleTableAnyAttributeChange = 0
+};
+
+typedef UInt32 QTSampleTableAttribute;
+/*
+ * QTSampleTableGetNextAttributeChange()
+ *
+ * Summary:
+ * Finds the next sample number at which one or more of given sample
+ * attributes change.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * startSampleNum:
+ * A sample number.
+ *
+ * attributeMask:
+ * A collection of flags that indicates which kinds of attribute
+ * changes to search for.
+ *
+ * sampleNumOut:
+ * Points to a variable to receive the next sample number after
+ * startSampleNum at which any of the requested attributes
+ * changes. If no attribute changes are found, this variable is
+ * set to zero.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableGetNextAttributeChange(
+ QTSampleTableRef sampleTable,
+ SInt64 startSampleNum,
+ QTSampleTableAttribute attributeMask,
+ SInt64 * sampleNumOut);
+
+
+
+/*
+ * QTSampleTableAddSampleDescription()
+ *
+ * Summary:
+ * Adds a sample description to a sample table, returning a sample
+ * description ID that can be used to refer to it.
+ *
+ * Discussion:
+ * You can use the returned sample description ID when adding
+ * samples to the sample table.
+ * Note: Sample description IDs are local to each sample table. The
+ * same sample description handle may have different IDs when
+ * referenced in different sample tables.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * sampleDescriptionH:
+ * The sample description handle. The QTSampleTable will make its
+ * own copy of this handle.
+ *
+ * mediaSampleDescriptionIndex:
+ * Indicates the sample description index of this sample
+ * description in a media. Pass zero for sample descriptions you
+ * add to sample tables, to indicate that this was not retrieved
+ * from a media.
+ *
+ * sampleDescriptionIDOut:
+ * Points to a variable to receive a sample description ID.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableAddSampleDescription(
+ QTMutableSampleTableRef sampleTable,
+ SampleDescriptionHandle sampleDescriptionH,
+ long mediaSampleDescriptionIndex,
+ QTSampleDescriptionID * sampleDescriptionIDOut);
+
+
+/*
+ * QTSampleTableCopySampleDescription()
+ *
+ * Summary:
+ * Retrieves a sample description from a sample table.
+ *
+ * Discussion:
+ * The caller is responsible for disposing the returned sampled
+ * description handle with DisposeHandle.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * sampleDescriptionID:
+ * The sample description ID.
+ *
+ * mediaSampleDescriptionIndexOut:
+ * Points to a variable to receive a media sample description
+ * index. If the sample description came from a media, this is the
+ * index that could be passed to GetMediaSampleDescription to
+ * retrieve the same sample description handle. The index will be
+ * zero if the sample description did not come directly from a
+ * media. Pass NULL if you do not want to receive this information.
+ *
+ * sampleDescriptionHOut:
+ * Points to a variable to receive a newly allocated sample
+ * description handle. Pass NULL if you do not want one.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableCopySampleDescription(
+ QTSampleTableRef sampleTable,
+ QTSampleDescriptionID sampleDescriptionID,
+ long * mediaSampleDescriptionIndexOut,
+ SampleDescriptionHandle * sampleDescriptionHOut);
+
+
+/*
+ * QTSampleTableAddSampleReferences()
+ *
+ * Summary:
+ * Adds sample references to a sample table.
+ *
+ * Discussion:
+ * Note that you must pass the data size per sample, not the total
+ * size of all the samples as with some other APIs.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * dataOffset:
+ * Specifies the offset at which the first sample begins.
+ *
+ * dataSizePerSample:
+ * Specifies the number of bytes of data per sample.
+ *
+ * decodeDurationPerSample:
+ * Specifies the decode duration of each sample.
+ *
+ * displayOffset:
+ * Specifies the offset from decode time to display time of each
+ * sample. If the decode times and display times will be the same,
+ * pass 0.
+ *
+ * numberOfSamples:
+ * Specifies the number of samples. Must be greater than zero.
+ *
+ * sampleFlags:
+ * Specifies the media sample flags for all samples.
+ *
+ * sampleDescriptionID:
+ * Specifies the ID of a sample description that has been added to
+ * the sample table with QTSampleTableAddSampleDescription.
+ *
+ * newSampleNumOut:
+ * Points to a variable to receive the sample number of the first
+ * sample that was added. Pass NULL if you don't want this
+ * information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableAddSampleReferences(
+ QTMutableSampleTableRef sampleTable,
+ SInt64 dataOffset,
+ ByteCount dataSizePerSample,
+ TimeValue64 decodeDurationPerSample,
+ TimeValue64 displayOffset,
+ SInt64 numberOfSamples,
+ MediaSampleFlags sampleFlags,
+ QTSampleDescriptionID sampleDescriptionID,
+ SInt64 * newSampleNumOut);
+
+
+/*
+ * QTSampleTableGetNumberOfSamples()
+ *
+ * Summary:
+ * Returns the number of samples in a sample table.
+ *
+ * Discussion:
+ * Returns 0 if sampleTable is NULL.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( SInt64 )
+QTSampleTableGetNumberOfSamples(QTSampleTableRef sampleTable);
+
+
+/*
+ * QTSampleTableReplaceRange()
+ *
+ * Summary:
+ * Replaces a range of samples in a sample table with a range of
+ * samples from another sample table. Can also be used to delete a
+ * range of samples, or to insert samples without removing any.
+ *
+ * Discussion:
+ * This function removes destSampleCount samples from
+ * destSampleTable starting with destStartingSampleNum, and then
+ * inserts sourceSampleCount samples from sourceSampleTable starting
+ * with sourceStartingSampleNum where the removed samples were.
+ * Sample descriptions will be copied if necessary and new sample
+ * description IDs defined.
+ *
+ * Parameters:
+ *
+ * destSampleTable:
+ * The sample table to be modified.
+ *
+ * destStartingSampleNum:
+ * The first sample number in destSampleTable to be replaced or
+ * deleted, or the sample number at which samples should be
+ * inserted.
+ *
+ * destSampleCount:
+ * The number of samples to be removed from destSampleTable. Pass
+ * 0 to insert without removing samples.
+ *
+ * sourceSampleTable:
+ * The sample table from which samples should be copied, or NULL
+ * to delete samples.
+ *
+ * sourceStartingSampleNum:
+ * The first sample number to be copied. Ignored when deleting
+ * samples.
+ *
+ * sourceSampleCount:
+ * The number of samples which should be copied. Pass 0 to delete
+ * samples.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableReplaceRange(
+ QTMutableSampleTableRef destSampleTable,
+ SInt64 destStartingSampleNum,
+ SInt64 destSampleCount,
+ QTSampleTableRef sourceSampleTable,
+ SInt64 sourceStartingSampleNum,
+ SInt64 sourceSampleCount);
+
+
+
+/*
+ * QTSampleTableGetDataOffset()
+ *
+ * Summary:
+ * Returns the data offset of a sample.
+ *
+ * Discussion:
+ * Returns 0 if the sample table is NULL, or if the sample number is
+ * out of range.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * sampleNum:
+ * The sample number. The first sample's number is 1.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( SInt64 )
+QTSampleTableGetDataOffset(
+ QTSampleTableRef sampleTable,
+ SInt64 sampleNum);
+
+
+/*
+ * QTSampleTableGetDataSizePerSample()
+ *
+ * Summary:
+ * Returns the data size of a sample.
+ *
+ * Discussion:
+ * Returns 0 if the sample table is NULL, or if the sample number is
+ * out of range.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * sampleNum:
+ * The sample number. The first sample's number is 1.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ByteCount )
+QTSampleTableGetDataSizePerSample(
+ QTSampleTableRef sampleTable,
+ SInt64 sampleNum);
+
+
+/*
+ * QTSampleTableGetDecodeDuration()
+ *
+ * Summary:
+ * Returns the decode duration of a sample.
+ *
+ * Discussion:
+ * Returns 0 if the sample table is NULL, or if the sample number is
+ * out of range.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * sampleNum:
+ * The sample number. The first sample's number is 1.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeValue64 )
+QTSampleTableGetDecodeDuration(
+ QTSampleTableRef sampleTable,
+ SInt64 sampleNum);
+
+
+/*
+ * QTSampleTableGetDisplayOffset()
+ *
+ * Summary:
+ * Returns the offset from decode time to display time of a sample.
+ *
+ * Discussion:
+ * Returns 0 if the sample table is NULL, or if the sample number is
+ * out of range.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * sampleNum:
+ * The sample number. The first sample's number is 1.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( TimeValue64 )
+QTSampleTableGetDisplayOffset(
+ QTSampleTableRef sampleTable,
+ SInt64 sampleNum);
+
+
+/*
+ * QTSampleTableGetSampleDescriptionID()
+ *
+ * Summary:
+ * Returns the sample description ID of a sample.
+ *
+ * Discussion:
+ * Returns 0 if the sample table is NULL, or if the sample number is
+ * out of range.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * sampleNum:
+ * The sample number. The first sample's number is 1.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( QTSampleDescriptionID )
+QTSampleTableGetSampleDescriptionID(
+ QTSampleTableRef sampleTable,
+ SInt64 sampleNum);
+
+
+/*
+ * QTSampleTableGetSampleFlags()
+ *
+ * Summary:
+ * Returns the media sample flags of a sample.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * sampleNum:
+ * The sample number. The first sample's number is 1.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( MediaSampleFlags )
+QTSampleTableGetSampleFlags(
+ QTSampleTableRef sampleTable,
+ SInt64 sampleNum);
+
+
+
+/*
+ * Summary:
+ * Properties of sample tables
+ */
+enum {
+
+ /*
+ * Property class for sample tables.
+ */
+ kQTPropertyClass_SampleTable = FOUR_CHAR_CODE('qtst'),
+
+ /*
+ * The total decode duration of all samples in the sample table.
+ * Read-only.
+ */
+ kQTSampleTablePropertyID_TotalDecodeDuration = FOUR_CHAR_CODE('tded'), /* TimeValue64, Read */
+
+ /*
+ * The least display offset in the table. (-50 is a lesser offset
+ * than 20.) Read-only.
+ */
+ kQTSampleTablePropertyID_MinDisplayOffset = FOUR_CHAR_CODE('<ddd'), /* TimeValue64, Read */
+
+ /*
+ * The greatest display offset in the table. (20 is a greater offset
+ * than -50.) Read-only.
+ */
+ kQTSampleTablePropertyID_MaxDisplayOffset = FOUR_CHAR_CODE('>ddd'), /* TimeValue64, Read */
+
+ /*
+ * The least display time of all samples in the table, relative to
+ * the decode time of the first sample in the table. Read-only.
+ */
+ kQTSampleTablePropertyID_MinRelativeDisplayTime = FOUR_CHAR_CODE('<dis'), /* TimeValue64, Read */
+
+ /*
+ * The greatest display time of all samples in the table, relative to
+ * the decode time of the first sample in the table. Read-only.
+ */
+ kQTSampleTablePropertyID_MaxRelativeDisplayTime = FOUR_CHAR_CODE('>dis') /* TimeValue64, Read */
+};
+
+
+/*
+ * QTSampleTableGetPropertyInfo()
+ *
+ * Summary:
+ * Returns information about the properties of a sample table.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * inPropClass:
+ * A property class.
+ *
+ * inPropID:
+ * A property ID.
+ *
+ * outPropType:
+ * A pointer to memory allocated to hold the property type on
+ * return. Pass NULL if you do not want this information.
+ *
+ * outPropValueSize:
+ * A pointer to memory allocated to hold the size of the property
+ * value on return. Pass NULL if you do not want this information.
+ *
+ * outPropertyFlags:
+ * A pointer to memory allocated to hold property flags on return.
+ * Pass NULL if you do not want this information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableGetPropertyInfo(
+ QTSampleTableRef sampleTable,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTPropertyValueType * outPropType, /* can be NULL */
+ ByteCount * outPropValueSize, /* can be NULL */
+ UInt32 * outPropertyFlags); /* can be NULL */
+
+
+/*
+ * QTSampleTableGetProperty()
+ *
+ * Summary:
+ * Returns the value of a specific sample table property.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * inPropClass:
+ * A property class.
+ *
+ * inPropID:
+ * A property ID.
+ *
+ * inPropValueSize:
+ * The size of the buffer allocated to hold the property value.
+ *
+ * outPropValueAddress:
+ * A pointer to the buffer allocated to hold the property value.
+ *
+ * outPropValueSizeUsed:
+ * On return, the actual size of the value written to the buffer.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableGetProperty(
+ QTSampleTableRef sampleTable,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ QTPropertyValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed); /* can be NULL */
+
+
+/*
+ * QTSampleTableSetProperty()
+ *
+ * Summary:
+ * Sets the value of a specific sample table property.
+ *
+ * Parameters:
+ *
+ * sampleTable:
+ * The sample table.
+ *
+ * inPropClass:
+ * A property class.
+ *
+ * inPropID:
+ * A property ID.
+ *
+ * inPropValueSize:
+ * The size of the property value.
+ *
+ * inPropValueAddress:
+ * A pointer to the property value.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTSampleTableSetProperty(
+ QTSampleTableRef sampleTable,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstQTPropertyValuePtr inPropValueAddress);
+
+
+
+
+
+/****************************************************************************
+* *
+* M E T A D A T A *
+* *
+* QUICKTIME METADATA API OVERVIEW *
+* *
+* A QTMetaDataRef represents a metadata repository consisting of one or *
+* more native metadata containers. The QuickTime MetaData API supports *
+* unified access to and management of these containers. *
+* *
+* Each container may be addressed by its storage format *
+* (kQTMetaDataStorageFormat). Initially, there is support for classic *
+* QuickTime UserData, iTunes metadata, and a richer QuickTime metadata *
+* container format. A QTMetaDataRef may have one or all of these. No *
+* direct access to the native storage containers is provided. *
+* *
+* Each container consists of some number of metadata items. Metadata items *
+* correspond to individually labeled values with characteristics such as *
+* keys, data types, locale information, etc. What are called items here *
+* are sometimes referred to as attributes or properties in other metadata *
+* systems. Here, the focus is on the management of the pieces of metadata *
+* instead of the associations with objects. This parallels existing *
+* management of the classic QuickTime UserData construct. *
+* *
+* QTMetaDataRefs may be associated with the Movie, Track and Media levels. *
+* This parallels UserData placement today but provides access to other *
+* kinds of metadata storage at those levels. *
+* *
+* A metadata item is assigned a runtime identifier (QTMetaDataItem) that *
+* along with the QTMetaDataRef identifies the particular item (and value) *
+* across all native containers managed by the QTMetaDataRef. *
+* *
+* Each item is addressed by a key (or label). The key is not necessarily *
+* unique within its container as it is possible to have multiple items *
+* with the same key (e.g., multiple author items). Operations exist to *
+* enumerate all items or only items with a particular key. *
+* *
+* Because a QTMetaDataRef may provide access to different native metadata *
+* containers with differing key structures (a four-char-code for one, a *
+* string for another, etc.), the key structure is also specified. A *
+* QTMetaDataKeyFormat indicates the key structure in APIs accepting keys. *
+* This is also done because some container formats allow multiple key *
+* structures or multiple versions of key structures. *
+* *
+* To allow unified access across disparate containers, a wildcard storage *
+* format can be specified. This will direct operations like searches *
+* across container formats. A special key format called *
+* kQTMetaDataKeyFormatCommon indicates one of a set of common keys that *
+* can be handled by native containers (e.g., copyright). *
+* *
+* So, both of these modes of operation are possible: - access metadata *
+* regardless of native container format through the use a common key - *
+* access metadata natively using a native key format *
+* *
+****************************************************************************/
+/* Opaque reference to a metadata object*/
+typedef struct OpaqueQTMetaDataRef* QTMetaDataRef;
+/* Opaque identifier for metadata item*/
+typedef UInt64 QTMetaDataItem;
+enum {
+ kQTMetaDataItemUninitialized = 0 /* Uninitialized metadata item identifier*/
+};
+
+/*
+ Metadata Storage Format.
+*/
+typedef OSType QTMetaDataStorageFormat;
+enum {
+ kQTMetaDataStorageFormatWildcard = 0 /* Wildcard storage format*/
+};
+
+/*
+ Metadata Key Format.
+*/
+typedef OSType QTMetaDataKeyFormat;
+enum {
+ kQTMetaDataKeyFormatWildcard = 0 /* Match any key regardless of key format*/
+};
+
+/****************************************
+ * Common Key Format *
+ ***************************************/
+enum {
+ kQTMetaDataKeyFormatCommon = FOUR_CHAR_CODE('comn')
+};
+
+/* Pre-defined meta keys*/
+enum {
+ kQTMetaDataCommonKeyAuthor = FOUR_CHAR_CODE('auth'),
+ kQTMetaDataCommonKeyComment = FOUR_CHAR_CODE('cmmt'),
+ kQTMetaDataCommonKeyCopyright = FOUR_CHAR_CODE('cprt'),
+ kQTMetaDataCommonKeyDirector = FOUR_CHAR_CODE('dtor'),
+ kQTMetaDataCommonKeyDisplayName = FOUR_CHAR_CODE('name'),
+ kQTMetaDataCommonKeyInformation = FOUR_CHAR_CODE('info'),
+ kQTMetaDataCommonKeyKeywords = FOUR_CHAR_CODE('keyw'),
+ kQTMetaDataCommonKeyProducer = FOUR_CHAR_CODE('prod'),
+ kQTMetaDataCommonKeyAlbum = FOUR_CHAR_CODE('albm'),
+ kQTMetaDataCommonKeyArtist = FOUR_CHAR_CODE('arts'),
+ kQTMetaDataCommonKeyArtwork = FOUR_CHAR_CODE('artw'),
+ kQTMetaDataCommonKeyChapterName = FOUR_CHAR_CODE('chap'),
+ kQTMetaDataCommonKeyComposer = FOUR_CHAR_CODE('comp'),
+ kQTMetaDataCommonKeyDescription = FOUR_CHAR_CODE('desc'),
+ kQTMetaDataCommonKeyGenre = FOUR_CHAR_CODE('genr'),
+ kQTMetaDataCommonKeyOriginalFormat = FOUR_CHAR_CODE('orif'),
+ kQTMetaDataCommonKeyOriginalSource = FOUR_CHAR_CODE('oris'),
+ kQTMetaDataCommonKeyPerformers = FOUR_CHAR_CODE('perf'),
+ kQTMetaDataCommonKeySoftware = FOUR_CHAR_CODE('soft'),
+ kQTMetaDataCommonKeyWriter = FOUR_CHAR_CODE('wrtr')
+};
+
+
+/****************************************
+ * QuickTime Native Metadata Format *
+ ***************************************/
+/* QTMetaDataStorageFormat type*/
+enum {
+ kQTMetaDataStorageFormatQuickTime = FOUR_CHAR_CODE('mdta') /* QuickTime metadata storage format*/
+};
+
+/* QTMetaDataKeyFormat type*/
+enum {
+ kQTMetaDataKeyFormatQuickTime = FOUR_CHAR_CODE('mdta') /* Reverse DNS format*/
+};
+
+/****************************************
+ * iTunes Native Metadata Format *
+ ***************************************/
+/* QTMetaDataStorageFormat type*/
+enum {
+ kQTMetaDataStorageFormatiTunes = FOUR_CHAR_CODE('itms') /* iTunes metadata storage format*/
+};
+
+/* QTMetaDataKeyFormat type*/
+enum {
+ kQTMetaDataKeyFormatiTunesShortForm = FOUR_CHAR_CODE('itsk'), /* FourCharCode*/
+ kQTMetaDataKeyFormatiTunesLongForm = FOUR_CHAR_CODE('itlk') /* Reverse DNS format*/
+};
+
+/* The list of keys for iTunes metadata is TBA.*/
+
+/****************************************
+ * UserData Native Format *
+ ***************************************/
+/* QTMetaDataStorageFormat type*/
+enum {
+ kQTMetaDataStorageFormatUserData = FOUR_CHAR_CODE('udta') /* UserData storage format*/
+};
+
+/* QTMetaDataKeyFormat type*/
+enum {
+ kQTMetaDataKeyFormatUserData = FOUR_CHAR_CODE('udta') /* FourCharCode*/
+};
+
+/* The list of keys are the User Data Identifiers (e.g. kUserDataTextAuthor, kUserDataTextCopyright, etc.)*/
+
+/*
+ Mapping from common keys to user data identifiers:
+
+ kQTMetaDataCommonKeyAuthor -> kUserDataTextAuthor
+ kQTMetaDataCommonKeyComment -> kUserDataTextComment
+ kQTMetaDataCommonKeyCopyright -> kUserDataTextCopyright
+ kQTMetaDataCommonKeyDirector -> kUserDataTextDirector
+ kQTMetaDataCommonKeyDisplayName -> kUserDataTextFullName
+ kQTMetaDataCommonKeyInformation -> kUserDataTextInformation
+ kQTMetaDataCommonKeyKeywords -> kUserDataTextKeywords
+ kQTMetaDataCommonKeyProducer -> kUserDataTextProducer
+ kQTMetaDataCommonKeyAlbum -> kUserDataTextAlbum
+ kQTMetaDataCommonKeyArtist -> kUserDataTextArtist
+ kQTMetaDataCommonKeyChapterName -> kUserDataTextChapter
+ kQTMetaDataCommonKeyComposer -> kUserDataTextComposer
+ kQTMetaDataCommonKeyDescription -> kUserDataTextDescription
+ kQTMetaDataCommonKeyGenre -> kUserDataTextGenre
+ kQTMetaDataCommonKeyOriginalFormat -> kUserDataTextOriginalFormat
+ kQTMetaDataCommonKeyOriginalSource -> kUserDataTextOriginalSource
+ kQTMetaDataCommonKeyPerformers -> kUserDataTextPerformers
+ kQTMetaDataCommonKeySoftware -> kUserDataTextSoftware
+ kQTMetaDataCommonKeyWriter -> kUserDataTextWriter
+*/
+/****************************************
+ * Metadata Property Class ID *
+ ***************************************/
+enum {
+ kPropertyClass_MetaData = FOUR_CHAR_CODE('meta')
+};
+
+/* Metadata Property ID */
+
+/*
+ */
+enum {
+
+ /*
+ * kQTMetaDataPropertyID_StorageFormats: The list of storage formats
+ * (QTMetaDataStorageFormat) associated with this QTMetaDataRef
+ * object. Return - C-style array of OSTypes, Read
+ */
+ kQTMetaDataPropertyID_StorageFormats = FOUR_CHAR_CODE('fmts'),
+
+ /*
+ * kQTMetaDataPropertyID_OwnerType: The owner type associated with
+ * this QTMetaDataRef object. Return - OSType (QT_MOVIE_TYPE,
+ * QT_TRACK_TYPE, QT_MEDIA_TYPE), Read
+ */
+ kQTMetaDataPropertyID_OwnerType = FOUR_CHAR_CODE('ownt'),
+
+ /*
+ * kQTMetaDataPropertyID_Owner: The owner associated with this
+ * QTMetaDataRef object. The QTMetaDataRef object does not
+ * necessarily need to have an owner. Return - Movie, Track, or
+ * Media, Read
+ */
+ kQTMetaDataPropertyID_Owner = FOUR_CHAR_CODE('ownr')
+};
+
+/*
+ Metadata Item Property Class ID
+*/
+enum {
+ kPropertyClass_MetaDataItem = FOUR_CHAR_CODE('mdit')
+};
+
+/* Metadata Item Property ID */
+
+/*
+ */
+enum {
+
+ /*
+ * kQTMetaDataItemPropertyID_Value: The value of the metadata item.
+ * Return - C-style array of UInt8, Read
+ */
+ kQTMetaDataItemPropertyID_Value = FOUR_CHAR_CODE('valu'),
+
+ /*
+ * kQTMetaDataItemPropertyID_DataType: The value type of the metadata
+ * item. Return - UInt32, Read/Write
+ */
+ kQTMetaDataItemPropertyID_DataType = FOUR_CHAR_CODE('dtyp'),
+
+ /*
+ * kQTMetaDataItemPropertyID_StorageFormat: The storage format
+ * (QTMetaDataStorageFormat). Return - QTMetaDataStorageFormat, Read
+ */
+ kQTMetaDataItemPropertyID_StorageFormat = FOUR_CHAR_CODE('sfmt'),
+
+ /*
+ * kQTMetaDataItemPropertyID_Key: The key associated with the
+ * metadata item. Return - C-style array of UInt8, Read/Write
+ */
+ kQTMetaDataItemPropertyID_Key = FOUR_CHAR_CODE('key '),
+
+ /*
+ * kQTMetaDataItemPropertyID_KeyFormat: The format of the key used.
+ * Return - OSType, Read/Write
+ */
+ kQTMetaDataItemPropertyID_KeyFormat = FOUR_CHAR_CODE('keyf'),
+
+ /*
+ * kQTMetaDataItemPropertyID_Locale: The locale identifier based on
+ * the naming convention defined by the International Components for
+ * Unicode (ICU). The identifier consists of two pieces of ordered
+ * information: a language code and a region code. The language code
+ * is based on the ISO 639-1 standard, which defines two-character
+ * codes, such as "en" and "fr", for the world's most commonly used
+ * languages. If a two-letter code is not available, then ISO 639-2
+ * three-letter identifiers are accepted as well, for example "haw"
+ * for Hawaiian. The region code is defined by ISO 3166-1. The region
+ * code is in all caps and appended, after an underscore, after the
+ * language code, for example "en_US", "en_GB", and "fr_FR". Return -
+ * C-string, Read/Write
+ */
+ kQTMetaDataItemPropertyID_Locale = FOUR_CHAR_CODE('loc ')
+};
+
+/* Well-known data type code*/
+enum {
+ kQTMetaDataTypeBinary = 0,
+ kQTMetaDataTypeUTF8 = 1,
+ kQTMetaDataTypeUTF16BE = 2,
+ kQTMetaDataTypeMacEncodedText = 3,
+ kQTMetaDataTypeJPEGImage = 13,
+ kQTMetaDataTypePNGImage = 14,
+ kQTMetaDataTypeSignedIntegerBE = 21, /* The size of the integer is defined by the value size*/
+ kQTMetaDataTypeUnsignedIntegerBE = 22, /* The size of the integer is defined by the value size*/
+ kQTMetaDataTypeFloat32BE = 23,
+ kQTMetaDataTypeFloat64BE = 24,
+ kQTMetaDataTypeBMPImage = 27,
+ kQTMetaDataTypeQuickTimeMetaData = 28
+};
+
+
+/****************************************
+ * QTMetaDataRef Access *
+ ***************************************/
+/*
+ * QTCopyMovieMetaData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTCopyMovieMetaData(
+ Movie inMovie,
+ QTMetaDataRef * outMetaData);
+
+
+/*
+ * QTCopyTrackMetaData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTCopyTrackMetaData(
+ Track inTrack,
+ QTMetaDataRef * outMetaData);
+
+
+/*
+ * QTCopyMediaMetaData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTCopyMediaMetaData(
+ Media inMedia,
+ QTMetaDataRef * outMetaData);
+
+
+/*
+ * QTMetaDataRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( QTMetaDataRef )
+QTMetaDataRetain(QTMetaDataRef inMetaData);
+
+
+/*
+ * QTMetaDataRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( void )
+QTMetaDataRelease(QTMetaDataRef inMetaData);
+
+
+/*
+ * QTMetaDataCreateFromBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.2) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataCreateFromBuffer(
+ const UInt8 * inBufferPtr,
+ ByteCount inBufferSize,
+ QTMetaDataRef * outMetaData);
+
+
+/*
+ * QTMetaDataGetBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.2) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataGetBytes(
+ QTMetaDataRef inMetaData,
+ ByteCount inBufferSize,
+ UInt8 * inBufferPtr,
+ ByteCount * outBufferSizeNeeded);
+
+
+
+/****************************************
+ * Metadata Item Routines *
+ ***************************************/
+/*
+ * QTMetaDataGetPropertyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataGetPropertyInfo(
+ QTMetaDataRef inMetaData,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTPropertyValueType * outPropType,
+ ByteCount * outPropValueSize,
+ UInt32 * outPropFlags);
+
+
+/*
+ * QTMetaDataGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataGetProperty(
+ QTMetaDataRef inMetaData,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ QTPropertyValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed);
+
+
+/*
+ * QTMetaDataSetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataSetProperty(
+ QTMetaDataRef inMetaData,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstQTPropertyValuePtr inPropValueAddress);
+
+
+/*
+ * QTMetaDataGetItemValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataGetItemValue(
+ QTMetaDataRef inMetaData,
+ QTMetaDataItem inItem,
+ UInt8 * outValuePtr,
+ ByteCount inValueSize,
+ ByteCount * outActualSize);
+
+
+/*
+ * QTMetaDataGetNextItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataGetNextItem(
+ QTMetaDataRef inMetaData,
+ QTMetaDataStorageFormat inMetaDataFormat,
+ QTMetaDataItem inCurrentItem,
+ QTMetaDataKeyFormat inKeyFormat,
+ const UInt8 * inKeyPtr,
+ ByteCount inKeySize,
+ QTMetaDataItem * outNextItem);
+
+
+/*
+ * QTMetaDataGetItemPropertyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataGetItemPropertyInfo(
+ QTMetaDataRef inMetaData,
+ QTMetaDataItem inItem,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ QTPropertyValueType * outPropType,
+ ByteCount * outPropValueSize,
+ UInt32 * outPropFlags);
+
+
+/*
+ * QTMetaDataGetItemProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataGetItemProperty(
+ QTMetaDataRef inMetaData,
+ QTMetaDataItem inItem,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ QTPropertyValuePtr outPropValueAddress,
+ ByteCount * outPropValueSizeUsed);
+
+
+/*
+ * QTMetaDataSetItemProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataSetItemProperty(
+ QTMetaDataRef inMetaData,
+ QTMetaDataItem inItem,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ ByteCount inPropValueSize,
+ ConstQTPropertyValuePtr inPropValueAddress);
+
+
+/*
+ * QTMetaDataGetItemCountWithKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataGetItemCountWithKey(
+ QTMetaDataRef inMetaData,
+ QTMetaDataStorageFormat inMetaDataFormat,
+ QTMetaDataKeyFormat inKeyFormat,
+ const UInt8 * inKeyPtr,
+ ByteCount inKeySize,
+ ItemCount * outCount);
+
+
+/*
+ * QTMetaDataAddItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataAddItem(
+ QTMetaDataRef inMetaData,
+ QTMetaDataStorageFormat inMetaDataFormat,
+ QTMetaDataKeyFormat inKeyFormat,
+ const UInt8 * inKeyPtr,
+ ByteCount inKeySize,
+ const UInt8 * inValuePtr,
+ ByteCount inValueSize,
+ UInt32 inDataType,
+ QTMetaDataItem * outItem);
+
+
+/*
+ * QTMetaDataSetItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataSetItem(
+ QTMetaDataRef inMetaData,
+ QTMetaDataItem inItem,
+ UInt8 * inValuePtr,
+ ByteCount inValueSize,
+ UInt32 inDataType);
+
+
+/*
+ * QTMetaDataRemoveItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataRemoveItem(
+ QTMetaDataRef inMetaData,
+ QTMetaDataItem inItem);
+
+
+/*
+ * QTMetaDataRemoveItemsWithKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( OSStatus )
+QTMetaDataRemoveItemsWithKey(
+ QTMetaDataRef inMetaData,
+ QTMetaDataStorageFormat inMetaDataFormat,
+ QTMetaDataKeyFormat inKeyFormat,
+ const UInt8 * inKeyPtr,
+ ByteCount inKeySize);
+
+
+
+/*
+ * MusicMediaGetIndexedTunePlayer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicMediaGetIndexedTunePlayer(
+ ComponentInstance ti,
+ long sampleDescIndex,
+ ComponentInstance * tp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
+
+
+
+
+
+typedef struct QTBandwidthUsageRecord** QTBandwidthReference;
+typedef struct QTScheduledBandwidthUsageRecord** QTScheduledBandwidthReference;
+enum {
+ BandwidthManagementPrefsType = FOUR_CHAR_CODE('bwmg')
+};
+
+
+struct BandwidthManagementPrefsRecord {
+ Boolean overrideConnectionSpeedForBandwidth;
+};
+typedef struct BandwidthManagementPrefsRecord BandwidthManagementPrefsRecord;
+typedef BandwidthManagementPrefsRecord * BandwidthManagementPrefsPtr;
+typedef BandwidthManagementPrefsPtr * BandwidthManagementPrefsHandle;
+enum {
+ kQTBandwidthNotifyNeedToStop = 1L << 0,
+ kQTBandwidthNotifyGoodToGo = 1L << 1,
+ kQTBandwidthChangeRequest = 1L << 2,
+ kQTBandwidthQueueRequest = 1L << 3,
+ kQTBandwidthScheduledRequest = 1L << 4,
+ kQTBandwidthVoluntaryRelease = 1L << 5
+};
+
+typedef CALLBACK_API( OSErr , QTBandwidthNotificationProcPtr )(long flags, void *reserved, void *refcon);
+struct QTScheduledBandwidthRecord {
+ long recordSize; /* total number of bytes in QTScheduledBandwidthRecord*/
+
+ long priority;
+ long dataRate;
+ CompTimeValue startTime; /* bandwidth usage start time*/
+ CompTimeValue duration; /* duration of bandwidth usage (0 if unknown)*/
+ CompTimeValue prerollDuration; /* time for negotiation before startTime (0 if unknown)*/
+ TimeScale scale; /* timescale of value/duration/prerollDuration fields*/
+ TimeBase base; /* timebase*/
+};
+typedef struct QTScheduledBandwidthRecord QTScheduledBandwidthRecord;
+typedef QTScheduledBandwidthRecord * QTScheduledBandwidthPtr;
+typedef QTScheduledBandwidthPtr * QTScheduledBandwidthHandle;
+typedef STACK_UPP_TYPE(QTBandwidthNotificationProcPtr) QTBandwidthNotificationUPP;
+/*
+ * QTBandwidthRequest()
+ *
+ * Deprecated:
+ * No longer need to call bandwidth management functions.
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.4
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+QTBandwidthRequest(
+ long priority,
+ QTBandwidthNotificationUPP callback,
+ const void * refcon,
+ QTBandwidthReference * bwRef,
+ long flags);
+
+
+/*
+ * QTBandwidthRequestForTimeBase()
+ *
+ * Deprecated:
+ * No longer need to call bandwidth management functions.
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.4
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+QTBandwidthRequestForTimeBase(
+ TimeBase tb,
+ long priority,
+ QTBandwidthNotificationUPP callback,
+ const void * refcon,
+ QTBandwidthReference * bwRef,
+ long flags);
+
+
+/*
+ * QTBandwidthRelease()
+ *
+ * Deprecated:
+ * No longer need to call bandwidth management functions.
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.4
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( OSErr )
+QTBandwidthRelease(
+ QTBandwidthReference bwRef,
+ long flags);
+
+
+/*
+ * QTScheduledBandwidthRequest()
+ *
+ * Deprecated:
+ * No longer need to call bandwidth management functions.
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.4
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+QTScheduledBandwidthRequest(
+ QTScheduledBandwidthPtr scheduleRec,
+ QTBandwidthNotificationUPP notificationCallback,
+ void * refcon,
+ QTScheduledBandwidthReference * sbwRef,
+ long flags);
+
+
+/*
+ * QTScheduledBandwidthRelease()
+ *
+ * Deprecated:
+ * No longer need to call bandwidth management functions.
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.4
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( OSErr )
+QTScheduledBandwidthRelease(
+ QTScheduledBandwidthReference sbwRef,
+ long flags);
+
+
+/*
+ * NewMCActionFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MCActionFilterUPP )
+NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMCActionFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MCActionFilterUPP) NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine)
- {
- return (MCActionFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMCActionFilterUPP(userRoutine) (MCActionFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMCActionFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MCActionFilterUPP) NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine) { return (MCActionFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMCActionFilterUPP(userRoutine) (MCActionFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMCActionFilterWithRefConUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MCActionFilterWithRefConUPP)
- NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine);
+/*
+ * NewMCActionFilterWithRefConUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MCActionFilterWithRefConUPP )
+NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMCActionFilterWithRefConProcInfo = 0x00003ED0 }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MCActionFilterWithRefConUPP) NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine)
- {
- return (MCActionFilterWithRefConUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterWithRefConProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMCActionFilterWithRefConUPP(userRoutine) (MCActionFilterWithRefConUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterWithRefConProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMCActionFilterWithRefConProcInfo = 0x00003ED0 }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MCActionFilterWithRefConUPP) NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine) { return (MCActionFilterWithRefConUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterWithRefConProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMCActionFilterWithRefConUPP(userRoutine) (MCActionFilterWithRefConUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterWithRefConProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * NewMCActionNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(MCActionNotificationUPP)
- NewMCActionNotificationUPP(MCActionNotificationProcPtr userRoutine);
+/*
+ * NewMCActionNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( MCActionNotificationUPP )
+NewMCActionNotificationUPP(MCActionNotificationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMCActionNotificationProcInfo = 0x0003FED0 }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MCActionNotificationUPP) NewMCActionNotificationUPP(MCActionNotificationProcPtr userRoutine)
- {
- return (MCActionNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionNotificationProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMCActionNotificationUPP(userRoutine) (MCActionNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionNotificationProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMCActionNotificationProcInfo = 0x0003FED0 }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MCActionNotificationUPP) NewMCActionNotificationUPP(MCActionNotificationProcPtr userRoutine) { return (MCActionNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionNotificationProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMCActionNotificationUPP(userRoutine) (MCActionNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionNotificationProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewQTMoviePropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 9.9 and later
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(QTMoviePropertyListenerUPP)
- NewQTMoviePropertyListenerUPP(QTMoviePropertyListenerProcPtr userRoutine);
+/*
+ * NewQTMoviePropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 9.9 and later
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( QTMoviePropertyListenerUPP )
+NewQTMoviePropertyListenerUPP(QTMoviePropertyListenerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTMoviePropertyListenerProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTMoviePropertyListenerUPP) NewQTMoviePropertyListenerUPP(QTMoviePropertyListenerProcPtr userRoutine)
- {
- return (QTMoviePropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTMoviePropertyListenerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTMoviePropertyListenerUPP(userRoutine) (QTMoviePropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTMoviePropertyListenerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTMoviePropertyListenerProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTMoviePropertyListenerUPP) NewQTMoviePropertyListenerUPP(QTMoviePropertyListenerProcPtr userRoutine) { return (QTMoviePropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTMoviePropertyListenerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTMoviePropertyListenerUPP(userRoutine) (QTMoviePropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTMoviePropertyListenerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTTrackPropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 9.9 and later
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(QTTrackPropertyListenerUPP)
- NewQTTrackPropertyListenerUPP(QTTrackPropertyListenerProcPtr userRoutine);
+/*
+ * NewQTTrackPropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 9.9 and later
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( QTTrackPropertyListenerUPP )
+NewQTTrackPropertyListenerUPP(QTTrackPropertyListenerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTTrackPropertyListenerProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTTrackPropertyListenerUPP) NewQTTrackPropertyListenerUPP(QTTrackPropertyListenerProcPtr userRoutine)
- {
- return (QTTrackPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTTrackPropertyListenerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTTrackPropertyListenerUPP(userRoutine) (QTTrackPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTTrackPropertyListenerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTTrackPropertyListenerProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTTrackPropertyListenerUPP) NewQTTrackPropertyListenerUPP(QTTrackPropertyListenerProcPtr userRoutine) { return (QTTrackPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTTrackPropertyListenerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTTrackPropertyListenerUPP(userRoutine) (QTTrackPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTTrackPropertyListenerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTBandwidthNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTBandwidthNotificationUPP)
- NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine);
+/*
+ * NewQTBandwidthNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTBandwidthNotificationUPP )
+NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTBandwidthNotificationProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTBandwidthNotificationUPP) NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine)
- {
- return (QTBandwidthNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTBandwidthNotificationProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTBandwidthNotificationUPP(userRoutine) (QTBandwidthNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTBandwidthNotificationProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTBandwidthNotificationProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTBandwidthNotificationUPP) NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine) { return (QTBandwidthNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTBandwidthNotificationProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTBandwidthNotificationUPP(userRoutine) (QTBandwidthNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTBandwidthNotificationProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeMCActionFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMCActionFilterUPP(MCActionFilterUPP userUPP);
+/*
+ * DisposeMCActionFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMCActionFilterUPP(MCActionFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMCActionFilterUPP(MCActionFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMCActionFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMCActionFilterUPP(MCActionFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMCActionFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMCActionFilterWithRefConUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP);
+/*
+ * DisposeMCActionFilterWithRefConUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMCActionFilterWithRefConUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMCActionFilterWithRefConUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * DisposeMCActionNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(void)
- DisposeMCActionNotificationUPP(MCActionNotificationUPP userUPP);
+/*
+ * DisposeMCActionNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( void )
+DisposeMCActionNotificationUPP(MCActionNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMCActionNotificationUPP(MCActionNotificationUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMCActionNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMCActionNotificationUPP(MCActionNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMCActionNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DisposeQTMoviePropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 9.9 and later
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(void)
- DisposeQTMoviePropertyListenerUPP(QTMoviePropertyListenerUPP userUPP);
+/*
+ * DisposeQTMoviePropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 9.9 and later
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( void )
+DisposeQTMoviePropertyListenerUPP(QTMoviePropertyListenerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTMoviePropertyListenerUPP(QTMoviePropertyListenerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTMoviePropertyListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTMoviePropertyListenerUPP(QTMoviePropertyListenerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTMoviePropertyListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTTrackPropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 9.9 and later
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- DisposeQTTrackPropertyListenerUPP(QTTrackPropertyListenerUPP userUPP);
+/*
+ * DisposeQTTrackPropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 9.9 and later
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+DisposeQTTrackPropertyListenerUPP(QTTrackPropertyListenerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTTrackPropertyListenerUPP(QTTrackPropertyListenerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTTrackPropertyListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTTrackPropertyListenerUPP(QTTrackPropertyListenerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTTrackPropertyListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTBandwidthNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP);
+/*
+ * DisposeQTBandwidthNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTBandwidthNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTBandwidthNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeMCActionFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeMCActionFilterUPP(
- MovieController mc,
- short * action,
- void * params,
- MCActionFilterUPP userUPP);
+/*
+ * InvokeMCActionFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeMCActionFilterUPP(
+ MovieController mc,
+ short * action,
+ void * params,
+ MCActionFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeMCActionFilterUPP(MovieController mc, short * action, void * params, MCActionFilterUPP userUPP)
- {
- return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppMCActionFilterProcInfo, mc, action, params);
- }
-#else
-#define InvokeMCActionFilterUPP(mc, action, params, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppMCActionFilterProcInfo, (mc), (action), (params))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeMCActionFilterUPP(MovieController mc, short * action, void * params, MCActionFilterUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppMCActionFilterProcInfo, mc, action, params); }
+ #else
+ #define InvokeMCActionFilterUPP(mc, action, params, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppMCActionFilterProcInfo, (mc), (action), (params))
+ #endif
#endif
- /*
- * InvokeMCActionFilterWithRefConUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeMCActionFilterWithRefConUPP(
- MovieController mc,
- short action,
- void * params,
- long refCon,
- MCActionFilterWithRefConUPP userUPP);
+/*
+ * InvokeMCActionFilterWithRefConUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeMCActionFilterWithRefConUPP(
+ MovieController mc,
+ short action,
+ void * params,
+ long refCon,
+ MCActionFilterWithRefConUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeMCActionFilterWithRefConUPP(MovieController mc, short action, void * params, long refCon, MCActionFilterWithRefConUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppMCActionFilterWithRefConProcInfo, mc, action, params, refCon);
- }
-#else
-#define InvokeMCActionFilterWithRefConUPP(mc, action, params, refCon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppMCActionFilterWithRefConProcInfo, (mc), (action), (params), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeMCActionFilterWithRefConUPP(MovieController mc, short action, void * params, long refCon, MCActionFilterWithRefConUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppMCActionFilterWithRefConProcInfo, mc, action, params, refCon); }
+ #else
+ #define InvokeMCActionFilterWithRefConUPP(mc, action, params, refCon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppMCActionFilterWithRefConProcInfo, (mc), (action), (params), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * InvokeMCActionNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(Boolean)
- InvokeMCActionNotificationUPP(
- MovieController mc,
- short action,
- void * params,
- UInt32 inFlags,
- UInt32 * outFlags,
- void * refCon,
- MCActionNotificationUPP userUPP);
+/*
+ * InvokeMCActionNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( Boolean )
+InvokeMCActionNotificationUPP(
+ MovieController mc,
+ short action,
+ void * params,
+ UInt32 inFlags,
+ UInt32 * outFlags,
+ void * refCon,
+ MCActionNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeMCActionNotificationUPP(MovieController mc, short action, void * params, UInt32 inFlags, UInt32 * outFlags, void * refCon, MCActionNotificationUPP userUPP)
- {
- return (Boolean)CALL_SIX_PARAMETER_UPP(userUPP, uppMCActionNotificationProcInfo, mc, action, params, inFlags, outFlags, refCon);
- }
-#else
-#define InvokeMCActionNotificationUPP(mc, action, params, inFlags, outFlags, refCon, userUPP) (Boolean)CALL_SIX_PARAMETER_UPP((userUPP), uppMCActionNotificationProcInfo, (mc), (action), (params), (inFlags), (outFlags), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeMCActionNotificationUPP(MovieController mc, short action, void * params, UInt32 inFlags, UInt32 * outFlags, void * refCon, MCActionNotificationUPP userUPP) { return (Boolean)CALL_SIX_PARAMETER_UPP(userUPP, uppMCActionNotificationProcInfo, mc, action, params, inFlags, outFlags, refCon); }
+ #else
+ #define InvokeMCActionNotificationUPP(mc, action, params, inFlags, outFlags, refCon, userUPP) (Boolean)CALL_SIX_PARAMETER_UPP((userUPP), uppMCActionNotificationProcInfo, (mc), (action), (params), (inFlags), (outFlags), (refCon))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * InvokeQTMoviePropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 9.9 and later
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(void)
- InvokeQTMoviePropertyListenerUPP(
- Movie inMovie,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- void * inUserData,
- QTMoviePropertyListenerUPP userUPP);
+/*
+ * InvokeQTMoviePropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 9.9 and later
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( void )
+InvokeQTMoviePropertyListenerUPP(
+ Movie inMovie,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ void * inUserData,
+ QTMoviePropertyListenerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQTMoviePropertyListenerUPP(Movie inMovie, QTPropertyClass inPropClass, QTPropertyID inPropID, void * inUserData, QTMoviePropertyListenerUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQTMoviePropertyListenerProcInfo, inMovie, inPropClass, inPropID, inUserData);
- }
-#else
-#define InvokeQTMoviePropertyListenerUPP(inMovie, inPropClass, inPropID, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTMoviePropertyListenerProcInfo, (inMovie), (inPropClass), (inPropID), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQTMoviePropertyListenerUPP(Movie inMovie, QTPropertyClass inPropClass, QTPropertyID inPropID, void * inUserData, QTMoviePropertyListenerUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQTMoviePropertyListenerProcInfo, inMovie, inPropClass, inPropID, inUserData); }
+ #else
+ #define InvokeQTMoviePropertyListenerUPP(inMovie, inPropClass, inPropID, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTMoviePropertyListenerProcInfo, (inMovie), (inPropClass), (inPropID), (inUserData))
+ #endif
#endif
- /*
- * InvokeQTTrackPropertyListenerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 9.9 and later
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API_C(void)
- InvokeQTTrackPropertyListenerUPP(
- Track inTrack,
- QTPropertyClass inPropClass,
- QTPropertyID inPropID,
- void * inUserData,
- QTTrackPropertyListenerUPP userUPP);
+/*
+ * InvokeQTTrackPropertyListenerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 9.9 and later
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API_C( void )
+InvokeQTTrackPropertyListenerUPP(
+ Track inTrack,
+ QTPropertyClass inPropClass,
+ QTPropertyID inPropID,
+ void * inUserData,
+ QTTrackPropertyListenerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQTTrackPropertyListenerUPP(Track inTrack, QTPropertyClass inPropClass, QTPropertyID inPropID, void * inUserData, QTTrackPropertyListenerUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQTTrackPropertyListenerProcInfo, inTrack, inPropClass, inPropID, inUserData);
- }
-#else
-#define InvokeQTTrackPropertyListenerUPP(inTrack, inPropClass, inPropID, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTTrackPropertyListenerProcInfo, (inTrack), (inPropClass), (inPropID), (inUserData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQTTrackPropertyListenerUPP(Track inTrack, QTPropertyClass inPropClass, QTPropertyID inPropID, void * inUserData, QTTrackPropertyListenerUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQTTrackPropertyListenerProcInfo, inTrack, inPropClass, inPropID, inUserData); }
+ #else
+ #define InvokeQTTrackPropertyListenerUPP(inTrack, inPropClass, inPropID, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTTrackPropertyListenerProcInfo, (inTrack), (inPropClass), (inPropID), (inUserData))
+ #endif
#endif
- /*
- * InvokeQTBandwidthNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeQTBandwidthNotificationUPP(
- long flags,
- void * reserved,
- void * refcon,
- QTBandwidthNotificationUPP userUPP);
+/*
+ * InvokeQTBandwidthNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeQTBandwidthNotificationUPP(
+ long flags,
+ void * reserved,
+ void * refcon,
+ QTBandwidthNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeQTBandwidthNotificationUPP(long flags, void * reserved, void * refcon, QTBandwidthNotificationUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppQTBandwidthNotificationProcInfo, flags, reserved, refcon);
- }
-#else
-#define InvokeQTBandwidthNotificationUPP(flags, reserved, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppQTBandwidthNotificationProcInfo, (flags), (reserved), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeQTBandwidthNotificationUPP(long flags, void * reserved, void * refcon, QTBandwidthNotificationUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppQTBandwidthNotificationProcInfo, flags, reserved, refcon); }
+ #else
+ #define InvokeQTBandwidthNotificationUPP(flags, reserved, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppQTBandwidthNotificationProcInfo, (flags), (reserved), (refcon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewMCActionFilterProc(userRoutine) NewMCActionFilterUPP(userRoutine)
-#define NewMCActionFilterWithRefConProc(userRoutine) NewMCActionFilterWithRefConUPP(userRoutine)
-#define NewMCActionNotificationProc(userRoutine) NewMCActionNotificationUPP(userRoutine)
-#define NewQTMoviePropertyListenerProc(userRoutine) NewQTMoviePropertyListenerUPP(userRoutine)
-#define NewQTTrackPropertyListenerProc(userRoutine) NewQTTrackPropertyListenerUPP(userRoutine)
-#define NewQTBandwidthNotificationProc(userRoutine) NewQTBandwidthNotificationUPP(userRoutine)
-#define CallMCActionFilterProc(userRoutine, mc, action, params) InvokeMCActionFilterUPP(mc, action, params, userRoutine)
-#define CallMCActionFilterWithRefConProc(userRoutine, mc, action, params, refCon) InvokeMCActionFilterWithRefConUPP(mc, action, params, refCon, userRoutine)
-#define CallMCActionNotificationProc(userRoutine, mc, action, params, inFlags, outFlags, refCon) InvokeMCActionNotificationUPP(mc, action, params, inFlags, outFlags, refCon, userRoutine)
-#define CallQTMoviePropertyListenerProc(userRoutine, inMovie, inPropClass, inPropID, inUserData) InvokeQTMoviePropertyListenerUPP(inMovie, inPropClass, inPropID, inUserData, userRoutine)
-#define CallQTTrackPropertyListenerProc(userRoutine, inTrack, inPropClass, inPropID, inUserData) InvokeQTTrackPropertyListenerUPP(inTrack, inPropClass, inPropID, inUserData, userRoutine)
-#define CallQTBandwidthNotificationProc(userRoutine, flags, reserved, refcon) InvokeQTBandwidthNotificationUPP(flags, reserved, refcon, userRoutine)
+ #define NewMCActionFilterProc(userRoutine) NewMCActionFilterUPP(userRoutine)
+ #define NewMCActionFilterWithRefConProc(userRoutine) NewMCActionFilterWithRefConUPP(userRoutine)
+ #define NewMCActionNotificationProc(userRoutine) NewMCActionNotificationUPP(userRoutine)
+ #define NewQTMoviePropertyListenerProc(userRoutine) NewQTMoviePropertyListenerUPP(userRoutine)
+ #define NewQTTrackPropertyListenerProc(userRoutine) NewQTTrackPropertyListenerUPP(userRoutine)
+ #define NewQTBandwidthNotificationProc(userRoutine) NewQTBandwidthNotificationUPP(userRoutine)
+ #define CallMCActionFilterProc(userRoutine, mc, action, params) InvokeMCActionFilterUPP(mc, action, params, userRoutine)
+ #define CallMCActionFilterWithRefConProc(userRoutine, mc, action, params, refCon) InvokeMCActionFilterWithRefConUPP(mc, action, params, refCon, userRoutine)
+ #define CallMCActionNotificationProc(userRoutine, mc, action, params, inFlags, outFlags, refCon) InvokeMCActionNotificationUPP(mc, action, params, inFlags, outFlags, refCon, userRoutine)
+ #define CallQTMoviePropertyListenerProc(userRoutine, inMovie, inPropClass, inPropID, inUserData) InvokeQTMoviePropertyListenerUPP(inMovie, inPropClass, inPropID, inUserData, userRoutine)
+ #define CallQTTrackPropertyListenerProc(userRoutine, inTrack, inPropClass, inPropID, inUserData) InvokeQTTrackPropertyListenerUPP(inTrack, inPropClass, inPropID, inUserData, userRoutine)
+ #define CallQTBandwidthNotificationProc(userRoutine, flags, reserved, refcon) InvokeQTBandwidthNotificationUPP(flags, reserved, refcon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* UPP call backs */
-
- /* selectors for component calls */
- enum
- {
- kVideoMediaResetStatisticsSelect = 0x0105,
- kVideoMediaGetStatisticsSelect = 0x0106,
- kVideoMediaGetStallCountSelect = 0x010E,
- kVideoMediaSetCodecParameterSelect = 0x010F,
- kVideoMediaGetCodecParameterSelect = 0x0110,
- kTextMediaSetTextProcSelect = 0x0101,
- kTextMediaAddTextSampleSelect = 0x0102,
- kTextMediaAddTESampleSelect = 0x0103,
- kTextMediaAddHiliteSampleSelect = 0x0104,
- kTextMediaDrawRawSelect = 0x0109,
- kTextMediaSetTextPropertySelect = 0x010A,
- kTextMediaRawSetupSelect = 0x010B,
- kTextMediaRawIdleSelect = 0x010C,
- kTextMediaGetTextPropertySelect = 0x010D,
- kTextMediaFindNextTextSelect = 0x0105,
- kTextMediaHiliteTextSampleSelect = 0x0106,
- kTextMediaSetTextSampleDataSelect = 0x0107,
- kSpriteMediaSetPropertySelect = 0x0101,
- kSpriteMediaGetPropertySelect = 0x0102,
- kSpriteMediaHitTestSpritesSelect = 0x0103,
- kSpriteMediaCountSpritesSelect = 0x0104,
- kSpriteMediaCountImagesSelect = 0x0105,
- kSpriteMediaGetIndImageDescriptionSelect = 0x0106,
- kSpriteMediaGetDisplayedSampleNumberSelect = 0x0107,
- kSpriteMediaGetSpriteNameSelect = 0x0108,
- kSpriteMediaGetImageNameSelect = 0x0109,
- kSpriteMediaSetSpritePropertySelect = 0x010A,
- kSpriteMediaGetSpritePropertySelect = 0x010B,
- kSpriteMediaHitTestAllSpritesSelect = 0x010C,
- kSpriteMediaHitTestOneSpriteSelect = 0x010D,
- kSpriteMediaSpriteIndexToIDSelect = 0x010E,
- kSpriteMediaSpriteIDToIndexSelect = 0x010F,
- kSpriteMediaGetSpriteActionsForQTEventSelect = 0x0110,
- kSpriteMediaSetActionVariableSelect = 0x0111,
- kSpriteMediaGetActionVariableSelect = 0x0112,
- kSpriteMediaGetIndImagePropertySelect = 0x0113,
- kSpriteMediaNewSpriteSelect = 0x0114,
- kSpriteMediaDisposeSpriteSelect = 0x0115,
- kSpriteMediaSetActionVariableToStringSelect = 0x0116,
- kSpriteMediaGetActionVariableAsStringSelect = 0x0117,
- kSpriteMediaNewImageSelect = 0x011B,
- kSpriteMediaDisposeImageSelect = 0x011C,
- kSpriteMediaImageIndexToIDSelect = 0x011D,
- kSpriteMediaImageIDToIndexSelect = 0x011E,
- kFlashMediaSetPanSelect = 0x0101,
- kFlashMediaSetZoomSelect = 0x0102,
- kFlashMediaSetZoomRectSelect = 0x0103,
- kFlashMediaGetRefConBoundsSelect = 0x0104,
- kFlashMediaGetRefConIDSelect = 0x0105,
- kFlashMediaIDToRefConSelect = 0x0106,
- kFlashMediaGetDisplayedFrameNumberSelect = 0x0107,
- kFlashMediaFrameNumberToMovieTimeSelect = 0x0108,
- kFlashMediaFrameLabelToMovieTimeSelect = 0x0109,
- kFlashMediaGetFlashVariableSelect = 0x010A,
- kFlashMediaSetFlashVariableSelect = 0x010B,
- kFlashMediaDoButtonActionsSelect = 0x010C,
- kFlashMediaGetSupportedSwfVersionSelect = 0x010D,
- kMovieMediaGetChildDoMCActionCallbackSelect = 0x0102,
- kMovieMediaGetDoMCActionCallbackSelect = 0x0103,
- kMovieMediaGetCurrentMoviePropertySelect = 0x0104,
- kMovieMediaGetCurrentTrackPropertySelect = 0x0105,
- kMovieMediaGetChildMovieDataReferenceSelect = 0x0106,
- kMovieMediaSetChildMovieDataReferenceSelect = 0x0107,
- kMovieMediaLoadChildMovieFromDataReferenceSelect = 0x0108,
- kMedia3DGetNamedObjectListSelect = 0x0101,
- kMedia3DGetRendererListSelect = 0x0102,
- kMedia3DGetCurrentGroupSelect = 0x0103,
- kMedia3DTranslateNamedObjectToSelect = 0x0104,
- kMedia3DScaleNamedObjectToSelect = 0x0105,
- kMedia3DRotateNamedObjectToSelect = 0x0106,
- kMedia3DSetCameraDataSelect = 0x0107,
- kMedia3DGetCameraDataSelect = 0x0108,
- kMedia3DSetCameraAngleAspectSelect = 0x0109,
- kMedia3DGetCameraAngleAspectSelect = 0x010A,
- kMedia3DSetCameraRangeSelect = 0x010D,
- kMedia3DGetCameraRangeSelect = 0x010E,
- kMedia3DGetViewObjectSelect = 0x010F,
- kMCSetMovieSelect = 0x0002,
- kMCGetIndMovieSelect = 0x0005,
- kMCRemoveAllMoviesSelect = 0x0006,
- kMCRemoveAMovieSelect = 0x0003,
- kMCRemoveMovieSelect = 0x0006,
- kMCIsPlayerEventSelect = 0x0007,
- kMCSetActionFilterSelect = 0x0008,
- kMCDoActionSelect = 0x0009,
- kMCSetControllerAttachedSelect = 0x000A,
- kMCIsControllerAttachedSelect = 0x000B,
- kMCSetControllerPortSelect = 0x000C,
- kMCGetControllerPortSelect = 0x000D,
- kMCSetVisibleSelect = 0x000E,
- kMCGetVisibleSelect = 0x000F,
- kMCGetControllerBoundsRectSelect = 0x0010,
- kMCSetControllerBoundsRectSelect = 0x0011,
- kMCGetControllerBoundsRgnSelect = 0x0012,
- kMCGetWindowRgnSelect = 0x0013,
- kMCMovieChangedSelect = 0x0014,
- kMCSetDurationSelect = 0x0015,
- kMCGetCurrentTimeSelect = 0x0016,
- kMCNewAttachedControllerSelect = 0x0017,
- kMCDrawSelect = 0x0018,
- kMCActivateSelect = 0x0019,
- kMCIdleSelect = 0x001A,
- kMCKeySelect = 0x001B,
- kMCClickSelect = 0x001C,
- kMCEnableEditingSelect = 0x001D,
- kMCIsEditingEnabledSelect = 0x001E,
- kMCCopySelect = 0x001F,
- kMCCutSelect = 0x0020,
- kMCPasteSelect = 0x0021,
- kMCClearSelect = 0x0022,
- kMCUndoSelect = 0x0023,
- kMCPositionControllerSelect = 0x0024,
- kMCGetControllerInfoSelect = 0x0025,
- kMCSetClipSelect = 0x0028,
- kMCGetClipSelect = 0x0029,
- kMCDrawBadgeSelect = 0x002A,
- kMCSetUpEditMenuSelect = 0x002B,
- kMCGetMenuStringSelect = 0x002C,
- kMCSetActionFilterWithRefConSelect = 0x002D,
- kMCPtInControllerSelect = 0x002E,
- kMCInvalidateSelect = 0x002F,
- kMCAdjustCursorSelect = 0x0030,
- kMCGetInterfaceElementSelect = 0x0031,
- kMCGetDoActionsProcSelect = 0x0032,
- kMCAddMovieSegmentSelect = 0x0033,
- kMCTrimMovieSegmentSelect = 0x0034,
- kMCSetIdleManagerSelect = 0x0035,
- kMCSetControllerCapabilitiesSelect = 0x0036,
- kMusicMediaGetIndexedTunePlayerSelect = 0x0101
- };
+/* UPP call backs */
+
+/* selectors for component calls */
+enum {
+ kVideoMediaResetStatisticsSelect = 0x0105,
+ kVideoMediaGetStatisticsSelect = 0x0106,
+ kVideoMediaGetStallCountSelect = 0x010E,
+ kVideoMediaSetCodecParameterSelect = 0x010F,
+ kVideoMediaGetCodecParameterSelect = 0x0110,
+ kTextMediaSetTextProcSelect = 0x0101,
+ kTextMediaAddTextSampleSelect = 0x0102,
+ kTextMediaAddTESampleSelect = 0x0103,
+ kTextMediaAddHiliteSampleSelect = 0x0104,
+ kTextMediaDrawRawSelect = 0x0109,
+ kTextMediaSetTextPropertySelect = 0x010A,
+ kTextMediaRawSetupSelect = 0x010B,
+ kTextMediaRawIdleSelect = 0x010C,
+ kTextMediaGetTextPropertySelect = 0x010D,
+ kTextMediaFindNextTextSelect = 0x0105,
+ kTextMediaHiliteTextSampleSelect = 0x0106,
+ kTextMediaSetTextSampleDataSelect = 0x0107,
+ kSpriteMediaSetPropertySelect = 0x0101,
+ kSpriteMediaGetPropertySelect = 0x0102,
+ kSpriteMediaHitTestSpritesSelect = 0x0103,
+ kSpriteMediaCountSpritesSelect = 0x0104,
+ kSpriteMediaCountImagesSelect = 0x0105,
+ kSpriteMediaGetIndImageDescriptionSelect = 0x0106,
+ kSpriteMediaGetDisplayedSampleNumberSelect = 0x0107,
+ kSpriteMediaGetSpriteNameSelect = 0x0108,
+ kSpriteMediaGetImageNameSelect = 0x0109,
+ kSpriteMediaSetSpritePropertySelect = 0x010A,
+ kSpriteMediaGetSpritePropertySelect = 0x010B,
+ kSpriteMediaHitTestAllSpritesSelect = 0x010C,
+ kSpriteMediaHitTestOneSpriteSelect = 0x010D,
+ kSpriteMediaSpriteIndexToIDSelect = 0x010E,
+ kSpriteMediaSpriteIDToIndexSelect = 0x010F,
+ kSpriteMediaGetSpriteActionsForQTEventSelect = 0x0110,
+ kSpriteMediaSetActionVariableSelect = 0x0111,
+ kSpriteMediaGetActionVariableSelect = 0x0112,
+ kSpriteMediaGetIndImagePropertySelect = 0x0113,
+ kSpriteMediaNewSpriteSelect = 0x0114,
+ kSpriteMediaDisposeSpriteSelect = 0x0115,
+ kSpriteMediaSetActionVariableToStringSelect = 0x0116,
+ kSpriteMediaGetActionVariableAsStringSelect = 0x0117,
+ kSpriteMediaNewImageSelect = 0x011B,
+ kSpriteMediaDisposeImageSelect = 0x011C,
+ kSpriteMediaImageIndexToIDSelect = 0x011D,
+ kSpriteMediaImageIDToIndexSelect = 0x011E,
+ kFlashMediaSetPanSelect = 0x0101,
+ kFlashMediaSetZoomSelect = 0x0102,
+ kFlashMediaSetZoomRectSelect = 0x0103,
+ kFlashMediaGetRefConBoundsSelect = 0x0104,
+ kFlashMediaGetRefConIDSelect = 0x0105,
+ kFlashMediaIDToRefConSelect = 0x0106,
+ kFlashMediaGetDisplayedFrameNumberSelect = 0x0107,
+ kFlashMediaFrameNumberToMovieTimeSelect = 0x0108,
+ kFlashMediaFrameLabelToMovieTimeSelect = 0x0109,
+ kFlashMediaGetFlashVariableSelect = 0x010A,
+ kFlashMediaSetFlashVariableSelect = 0x010B,
+ kFlashMediaDoButtonActionsSelect = 0x010C,
+ kFlashMediaGetSupportedSwfVersionSelect = 0x010D,
+ kMovieMediaGetChildDoMCActionCallbackSelect = 0x0102,
+ kMovieMediaGetDoMCActionCallbackSelect = 0x0103,
+ kMovieMediaGetCurrentMoviePropertySelect = 0x0104,
+ kMovieMediaGetCurrentTrackPropertySelect = 0x0105,
+ kMovieMediaGetChildMovieDataReferenceSelect = 0x0106,
+ kMovieMediaSetChildMovieDataReferenceSelect = 0x0107,
+ kMovieMediaLoadChildMovieFromDataReferenceSelect = 0x0108,
+ kMedia3DGetNamedObjectListSelect = 0x0101,
+ kMedia3DGetRendererListSelect = 0x0102,
+ kMedia3DGetCurrentGroupSelect = 0x0103,
+ kMedia3DTranslateNamedObjectToSelect = 0x0104,
+ kMedia3DScaleNamedObjectToSelect = 0x0105,
+ kMedia3DRotateNamedObjectToSelect = 0x0106,
+ kMedia3DSetCameraDataSelect = 0x0107,
+ kMedia3DGetCameraDataSelect = 0x0108,
+ kMedia3DSetCameraAngleAspectSelect = 0x0109,
+ kMedia3DGetCameraAngleAspectSelect = 0x010A,
+ kMedia3DSetCameraRangeSelect = 0x010D,
+ kMedia3DGetCameraRangeSelect = 0x010E,
+ kMedia3DGetViewObjectSelect = 0x010F,
+ kMCSetMovieSelect = 0x0002,
+ kMCGetIndMovieSelect = 0x0005,
+ kMCRemoveAllMoviesSelect = 0x0006,
+ kMCRemoveAMovieSelect = 0x0003,
+ kMCRemoveMovieSelect = 0x0006,
+ kMCIsPlayerEventSelect = 0x0007,
+ kMCSetActionFilterSelect = 0x0008,
+ kMCDoActionSelect = 0x0009,
+ kMCSetControllerAttachedSelect = 0x000A,
+ kMCIsControllerAttachedSelect = 0x000B,
+ kMCSetControllerPortSelect = 0x000C,
+ kMCGetControllerPortSelect = 0x000D,
+ kMCSetVisibleSelect = 0x000E,
+ kMCGetVisibleSelect = 0x000F,
+ kMCGetControllerBoundsRectSelect = 0x0010,
+ kMCSetControllerBoundsRectSelect = 0x0011,
+ kMCGetControllerBoundsRgnSelect = 0x0012,
+ kMCGetWindowRgnSelect = 0x0013,
+ kMCMovieChangedSelect = 0x0014,
+ kMCSetDurationSelect = 0x0015,
+ kMCGetCurrentTimeSelect = 0x0016,
+ kMCNewAttachedControllerSelect = 0x0017,
+ kMCDrawSelect = 0x0018,
+ kMCActivateSelect = 0x0019,
+ kMCIdleSelect = 0x001A,
+ kMCKeySelect = 0x001B,
+ kMCClickSelect = 0x001C,
+ kMCEnableEditingSelect = 0x001D,
+ kMCIsEditingEnabledSelect = 0x001E,
+ kMCCopySelect = 0x001F,
+ kMCCutSelect = 0x0020,
+ kMCPasteSelect = 0x0021,
+ kMCClearSelect = 0x0022,
+ kMCUndoSelect = 0x0023,
+ kMCPositionControllerSelect = 0x0024,
+ kMCGetControllerInfoSelect = 0x0025,
+ kMCSetClipSelect = 0x0028,
+ kMCGetClipSelect = 0x0029,
+ kMCDrawBadgeSelect = 0x002A,
+ kMCSetUpEditMenuSelect = 0x002B,
+ kMCGetMenuStringSelect = 0x002C,
+ kMCSetActionFilterWithRefConSelect = 0x002D,
+ kMCPtInControllerSelect = 0x002E,
+ kMCInvalidateSelect = 0x002F,
+ kMCAdjustCursorSelect = 0x0030,
+ kMCGetInterfaceElementSelect = 0x0031,
+ kMCGetDoActionsProcSelect = 0x0032,
+ kMCAddMovieSegmentSelect = 0x0033,
+ kMCTrimMovieSegmentSelect = 0x0034,
+ kMCSetIdleManagerSelect = 0x0035,
+ kMCSetControllerCapabilitiesSelect = 0x0036,
+ kMusicMediaGetIndexedTunePlayerSelect = 0x0101
+};
#endif // !__LP64__
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MoviesFormat.h b/include/qt/MoviesFormat.h
index a22b02dec..29a28a0b7 100644
--- a/include/qt/MoviesFormat.h
+++ b/include/qt/MoviesFormat.h
@@ -1,17 +1,17 @@
/*
File: MoviesFormat.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __MOVIESFORMAT__
#define __MOVIESFORMAT__
@@ -40,906 +40,825 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- enum {
- kMovieVersion = 0 /* version number of the format here described */
- };
-
- /****************************************
- *
- * General Types -
- * These types are used in more than one of the
- * directory types.
- *
- ****************************************/
- /* MoviesUserData is the type used for user data in movie and track directories */
- struct MoviesUserData
- {
- long size; /* size of this user data */
- long udType; /* type of user data */
- char data[1]; /* the user data */
- };
- typedef struct MoviesUserData MoviesUserData;
- struct UserDataAtom
- {
- long size;
- long atomType;
- MoviesUserData userData[1];
- };
- typedef struct UserDataAtom UserDataAtom;
- /* MoviesDataDescription tells us where the data for the movie or track lives.
- The data can follow the directory, be in the datafork of the same file as the directory resource,
- be in the resource fork of the same file as the directory resource, be in another file in the
- data fork or resource fork, or require a specific bottleneck to fetch the data. */
- /****************************************
- *
- * MediaDirectory information -
- * The MediaDirectory is tightly coupled to the data.
- *
- ****************************************/
- /* SampleDescription is in Movies.h */
- struct SampleDescriptionAtom
- {
- long size;
- long atomType; /* = 'stsd' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long numEntries;
- SampleDescription sampleDescTable[1];
- };
- typedef struct SampleDescriptionAtom SampleDescriptionAtom;
- /* TimeToSampleNum maps physical sample time to physical sample number. */
- struct TimeToSampleNum
- {
- long sampleCount;
- TimeValue sampleDuration;
- };
- typedef struct TimeToSampleNum TimeToSampleNum;
- struct TimeToSampleNumAtom
- {
- long size;
- long atomType; /* = 'stts' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long numEntries;
- TimeToSampleNum timeToSampleNumTable[1];
- };
- typedef struct TimeToSampleNumAtom TimeToSampleNumAtom;
- /* SyncSamples is a list of the physical samples which are self contained. */
- struct SyncSampleAtom
- {
- long size;
- long atomType; /* = 'stss' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long numEntries;
- long syncSampleTable[1];
- };
- typedef struct SyncSampleAtom SyncSampleAtom;
- /* SampleToChunk maps physical sample number to chunk number. */
- /* same as SampleToChunk, but redundant first sample is removed */
- struct SampleToChunk
- {
- long firstChunk;
- long samplesPerChunk;
- long sampleDescriptionID;
- };
- typedef struct SampleToChunk SampleToChunk;
- struct SampleToChunkAtom
- {
- long size;
- long atomType; /* = 'stsc' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long numEntries;
- SampleToChunk sampleToChunkTable[1];
- };
- typedef struct SampleToChunkAtom SampleToChunkAtom;
- struct ChunkOffsetAtom
- {
- long size;
- long atomType; /* = 'stco' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long numEntries;
- long chunkOffsetTable[1];
- };
- typedef struct ChunkOffsetAtom ChunkOffsetAtom;
- struct SampleSizeAtom
- {
- long size;
- long atomType; /* = 'stsz' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long sampleSize;
- long numEntries;
- long sampleSizeTable[1];
- };
- typedef struct SampleSizeAtom SampleSizeAtom;
- struct ShadowSync
- {
- long fdSampleNum;
- long syncSampleNum;
- };
- typedef struct ShadowSync ShadowSync;
- struct ShadowSyncAtom
- {
- long size;
- long atomType; /* = 'stsz' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long numEntries;
- ShadowSync shadowSyncTable[1];
- };
- typedef struct ShadowSyncAtom ShadowSyncAtom;
- /* CompositionOffsetEntry maps sample numbers to composition offsets. */
- struct CompositionOffsetEntry
- {
- long sampleCount;
- TimeValue displayOffset;
- };
- typedef struct CompositionOffsetEntry CompositionOffsetEntry;
- struct CompositionOffsetAtom
- {
- long size;
- long atomType; /* = 'ctts' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long numEntries;
- CompositionOffsetEntry compositionOffsetTable[1];
- };
- typedef struct CompositionOffsetAtom CompositionOffsetAtom;
- struct SampleDependencyAtom
- {
- long size;
- long atomType; /* = 'sdtp' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- UInt8 sampleDependencyTable[1];
- };
- typedef struct SampleDependencyAtom SampleDependencyAtom;
- /*
- NOTE: The values for these flags that shipped with QuickTime 7.0 were incorrect.
- They matched neither the specification nor the implementation -- the "Yes" and "No" bits
- were reversed. The flags have been corrected but renamed to ensure that code using
- the incorrect flags is reviewed by developers.
- enum {
- kQTSampleDependency_DependsOnOthers = 1<<5, // INCORRECT VALUE
- kQTSampleDependency_DoesNotDependOnOthers = 1<<4, // INCORRECT VALUE
- kQTSampleDependency_IsDependedOnByOthers = 1<<3, // INCORRECT VALUE
- kQTSampleDependency_IsNotDependedOnByOthers = 1<<2, // INCORRECT VALUE
- kQTSampleDependency_HasRedundantCoding = 1<<1, // INCORRECT VALUE
- kQTSampleDependency_HasNoRedundantCoding = 1<<0 // INCORRECT VALUE
- };
- */
- /* Values for entries in SampleDependencyAtom.sampleDependencyTable[]*/
- enum
- {
- /* bit 0x80 is reserved; bit combinations 0x30, 0xC0 and 0x03 are reserved*/
- kQTSampleDependency_EarlierDisplayTimesAllowed = 1 << 6, /* corresponds to flag mediaSampleEarlierDisplayTimesAllowed except at different bit offset*/
- kQTSampleDependency_DoesNotDependOnOthers_Corrected = 1 << 5, /* ie: an I picture*/
- kQTSampleDependency_DependsOnOthers_Corrected = 1 << 4, /* ie: not an I picture*/
- kQTSampleDependency_IsNotDependedOnByOthers_Corrected = 1 << 3, /* mediaSampleDroppable*/
- kQTSampleDependency_IsDependedOnByOthers_Corrected = 1 << 2,
- kQTSampleDependency_HasNoRedundantCoding_Corrected = 1 << 1,
- kQTSampleDependency_HasRedundantCoding_Corrected = 1 << 0
- };
-
- struct CompositionShiftLeastGreatestAtom
- {
- long size;
- long atomType; /* = 'cslg' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- SInt32 compositionOffsetToDTDDeltaShift;
- SInt32 leastDecodeToDisplayDelta;
- SInt32 greatestDecodeToDisplayDelta;
- SInt32 displayStartTime;
- SInt32 displayEndTime;
- };
- typedef struct CompositionShiftLeastGreatestAtom CompositionShiftLeastGreatestAtom;
- struct PartialSyncSampleAtom
- {
- long size;
- long atomType; /* = 'stps' */
- long flags; /* 1 byte of version / 3 bytes of flags */
- long numEntries;
- UInt32 partialSyncSampleTable[1];
- };
- typedef struct PartialSyncSampleAtom PartialSyncSampleAtom;
- struct SampleTableAtom
- {
- long size;
- long atomType; /* = 'stbl' */
-
- SampleDescriptionAtom sampleDescription;
- TimeToSampleNumAtom timeToSampleNum;
- SampleToChunkAtom sampleToChunk;
- SyncSampleAtom syncSample;
- SampleSizeAtom sampleSize;
- ChunkOffsetAtom chunkOffset;
- ShadowSyncAtom shadowSync;
- };
- typedef struct SampleTableAtom SampleTableAtom;
- struct PublicHandlerInfo
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- long componentType;
- long componentSubType;
- long componentManufacturer;
- long componentFlags;
- long componentFlagsMask;
- char componentName[1];
- };
- typedef struct PublicHandlerInfo PublicHandlerInfo;
- struct HandlerAtom
- {
- long size;
- long atomType; /* = 'hdlr' */
-
- PublicHandlerInfo hInfo;
- };
- typedef struct HandlerAtom HandlerAtom;
- /* a data reference is a private structure */
-
- typedef long DataRefAtom;
- struct DataInfoAtom
- {
- long size;
- long atomType; /* = 'dinf' */
-
- DataRefAtom dataRef;
- };
- typedef struct DataInfoAtom DataInfoAtom;
- struct RgnAtom
- {
- long size;
- long atomType;
-
- short rgnSize;
- Rect rgnBBox;
- char data[1];
- };
- typedef struct RgnAtom RgnAtom;
- struct MatteCompressedAtom
- {
- long size;
- long atomType;
-
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- ImageDescription matteImageDescription;
-
- char matteData[1];
- };
- typedef struct MatteCompressedAtom MatteCompressedAtom;
- struct MatteAtom
- {
- long size;
- long atomType;
-
- MatteCompressedAtom aCompressedMatte;
- };
- typedef struct MatteAtom MatteAtom;
- struct ClippingAtom
- {
- long size;
- long atomType;
-
- RgnAtom aRgnClip;
- };
- typedef struct ClippingAtom ClippingAtom;
- /***********************
- * Media Info Example Structures
- ***********************/
-
- struct VideoMediaInfoHeader
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- short graphicsMode; /* for QD - transfer mode */
- short opColorRed; /* opcolor for transfer mode */
- short opColorGreen;
- short opColorBlue;
- };
- typedef struct VideoMediaInfoHeader VideoMediaInfoHeader;
- struct VideoMediaInfoHeaderAtom
- {
- long size; /* size of Media info */
- long atomType; /* = 'vmhd' */
- VideoMediaInfoHeader vmiHeader;
- };
- typedef struct VideoMediaInfoHeaderAtom VideoMediaInfoHeaderAtom;
- struct VideoMediaInfo
- {
- long size; /* size of Media info */
- long atomType; /* = 'minf' */
-
- VideoMediaInfoHeaderAtom header;
-
- HandlerAtom dataHandler;
-
- DataInfoAtom dataInfo;
-
- SampleTableAtom sampleTable;
- };
- typedef struct VideoMediaInfo VideoMediaInfo;
- struct SoundMediaInfoHeader
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- short balance;
- short rsrvd;
- };
- typedef struct SoundMediaInfoHeader SoundMediaInfoHeader;
- struct SoundMediaInfoHeaderAtom
- {
- long size; /* size of Media info */
- long atomType; /* = 'vmhd' */
-
- SoundMediaInfoHeader smiHeader;
- };
- typedef struct SoundMediaInfoHeaderAtom SoundMediaInfoHeaderAtom;
- struct SoundMediaInfo
- {
- long size; /* size of Media info */
- long atomType; /* = 'minf' */
-
- SoundMediaInfoHeaderAtom header;
-
- HandlerAtom dataHandler;
-
- DataRefAtom dataReference;
-
- SampleTableAtom sampleTable;
- };
- typedef struct SoundMediaInfo SoundMediaInfo;
- /* whatever data the media handler needs goes after the atomType */
- struct MediaInfo
- {
- long size;
- long atomType;
- };
- typedef struct MediaInfo MediaInfo;
- /***********************
- * Media Directory Structures
- ***********************/
- struct MediaHeader
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- long creationTime; /* seconds since Jan 1904 when directory was created */
- long modificationTime; /* seconds since Jan 1904 when directory was appended */
-
- TimeValue timeScale; /* start time for Media (Media time) */
- TimeValue duration; /* length of Media (Media time) */
-
- short language;
- short quality;
- };
- typedef struct MediaHeader MediaHeader;
- struct MediaHeaderAtom
- {
- long size;
- long atomType;
-
- MediaHeader header;
- };
- typedef struct MediaHeaderAtom MediaHeaderAtom;
- struct MediaDirectory
- {
- long size;
- long atomType; /* = 'mdia' */
-
- MediaHeaderAtom mediaHeader; /* standard Media information */
-
- HandlerAtom mediaHandler;
-
- MediaInfo mediaInfo;
- };
- typedef struct MediaDirectory MediaDirectory;
- /***********************
- * Track Structures
- ***********************/
- enum
- {
- TrackEnable = 1 << 0,
- TrackInMovie = 1 << 1,
- TrackInPreview = 1 << 2,
- TrackInPoster = 1 << 3
- };
-
- struct TrackHeader
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- long creationTime; /* seconds since Jan 1904 when directory was created */
- long modificationTime; /* seconds since Jan 1904 when directory was appended */
-
- long trackID;
-
- long reserved1;
-
- TimeValue duration; /* length of track (track time) */
-
- long reserved2;
- long reserved3;
-
- short layer;
- short alternateGroup;
-
- short volume;
- short reserved4;
-
- MatrixRecord matrix;
- Fixed trackWidth;
- Fixed trackHeight;
- };
- typedef struct TrackHeader TrackHeader;
- struct TrackHeaderAtom
- {
- long size; /* size of track header */
- long atomType; /* = 'tkhd' */
-
- TrackHeader header;
- };
- typedef struct TrackHeaderAtom TrackHeaderAtom;
- struct EditListType
- {
- TimeValue trackDuration;
- TimeValue mediaTime;
- Fixed mediaRate;
- };
- typedef struct EditListType EditListType;
- struct EditListAtom
- {
- long size;
- long atomType; /* = elst */
-
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- long numEntries;
- EditListType editListTable[1];
- };
- typedef struct EditListAtom EditListAtom;
- struct EditsAtom
- {
- long size;
- long atomType; /* = edts */
-
- EditListAtom editList;
- };
- typedef struct EditsAtom EditsAtom;
- struct TrackLoadSettings
- {
- TimeValue preloadStartTime;
- TimeValue preloadDuration;
- long preloadFlags;
- long defaultHints;
- };
- typedef struct TrackLoadSettings TrackLoadSettings;
- struct TrackLoadSettingsAtom
- {
- long size;
- long atomType; /* = load */
-
- TrackLoadSettings settings;
- };
- typedef struct TrackLoadSettingsAtom TrackLoadSettingsAtom;
- struct TrackCleanApertureDimensions
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
- FixedPoint cleanApertureDimensions;
- };
- typedef struct TrackCleanApertureDimensions TrackCleanApertureDimensions;
- struct TrackCleanApertureDimensionsAtom
- {
- long size;
- long atomType; /* = 'tapt' */
-
- TrackCleanApertureDimensions cleanApertureDimensions;
- };
- typedef struct TrackCleanApertureDimensionsAtom TrackCleanApertureDimensionsAtom;
- struct TrackProductionApertureDimensions
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
- FixedPoint productionApertureDimensions;
- };
- typedef struct TrackProductionApertureDimensions TrackProductionApertureDimensions;
- struct TrackProductionApertureDimensionsAtom
- {
- long size;
- long atomType; /* = 'prof' */
-
- TrackProductionApertureDimensions productionApertureDimensions;
- };
- typedef struct TrackProductionApertureDimensionsAtom TrackProductionApertureDimensionsAtom;
- struct TrackEncodedPixelsDimensions
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
- FixedPoint encodedPixelsDimensions;
- };
- typedef struct TrackEncodedPixelsDimensions TrackEncodedPixelsDimensions;
- struct TrackEncodedPixelsDimensionsAtom
- {
- long size;
- long atomType; /* = 'enof' */
-
- TrackEncodedPixelsDimensions encodedPixelsDimensions;
- };
- typedef struct TrackEncodedPixelsDimensionsAtom TrackEncodedPixelsDimensionsAtom;
- struct TrackDirectory
- {
- long size;
- long atomType; /* = 'trak' */
-
- TrackHeaderAtom trackHeader; /* standard track information */
-
- ClippingAtom trackClip;
-
- EditsAtom edits;
-
- MediaDirectory media;
-
- UserDataAtom userData; /* space for extending with new data types */
- };
- typedef struct TrackDirectory TrackDirectory;
- /****************************************
- *
- * MovieDirectory -
- * The MovieDirectory is the top level structure which
- * holds the TrackInstance describing where the
- * TrackDirectories are.
- *
- ****************************************/
- struct MovieHeader
- {
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- long creationTime; /* seconds since Jan 1904 when directory was created */
- long modificationTime; /* seconds since Jan 1904 when directory was appended */
-
- TimeValue timeScale; /* Time specifications */
- TimeValue duration;
- Fixed preferredRate; /* rate at which to play this movie */
-
- short preferredVolume; /* volume to play movie at */
- short reserved1;
-
- long preferredLong1;
- long preferredLong2;
-
- MatrixRecord matrix;
-
- TimeValue previewTime; /* time in track the proxy begins (track time) */
- TimeValue previewDuration; /* how long the proxy lasts (track time) */
-
- TimeValue posterTime; /* time in track the proxy begins (track time) */
-
- TimeValue selectionTime; /* time in track the proxy begins (track time) */
- TimeValue selectionDuration; /* time in track the proxy begins (track time) */
- TimeValue currentTime; /* time in track the proxy begins (track time) */
-
- long nextTrackID; /* next value to use for a TrackID */
- };
- typedef struct MovieHeader MovieHeader;
- struct MovieHeaderAtom
- {
- long size;
- long atomType; /* = 'mvhd' */
-
- MovieHeader header;
- };
- typedef struct MovieHeaderAtom MovieHeaderAtom;
- struct TrackDirectoryEntry
- {
- TrackDirectory trackDirectory; /* Track directory information */
- };
- typedef struct TrackDirectoryEntry TrackDirectoryEntry;
- struct MovieDirectory
- {
- long size;
- long atomType; /* = 'moov' */
-
- MovieHeaderAtom header;
-
- ClippingAtom movieClip;
-
- /* Track Directories */
- TrackDirectoryEntry track[1]; /* Track directory information */
-
- /* User data for Movie */
- UserDataAtom userData; /* space for user extensions */
- };
- typedef struct MovieDirectory MovieDirectory;
- /****************************************
- ****************************************/
-
- /* Movie formats and tags */
- enum
- {
- /* some system defined format IDs */
- QT_MOVIE_TYPE = FOUR_CHAR_CODE('moov'),
- QT_TRACK_TYPE = FOUR_CHAR_CODE('trak'),
- QT_MEDIA_TYPE = FOUR_CHAR_CODE('mdia'),
- QT_VIDEO_TYPE = FOUR_CHAR_CODE('vide'),
- QT_SOUND_TYPE = FOUR_CHAR_CODE('soun')
- };
-
- enum
- {
- MOVIE_TYPE = FOUR_CHAR_CODE('moov'),
- TRACK_TYPE = FOUR_CHAR_CODE('trak'),
- VIDEO_TYPE = FOUR_CHAR_CODE('vide'),
- SOUND_TYPE = FOUR_CHAR_CODE('soun')
- };
+enum {
+ kMovieVersion = 0 /* version number of the format here described */
+};
+
+/****************************************
+*
+* General Types -
+* These types are used in more than one of the
+* directory types.
+*
+****************************************/
+/* MoviesUserData is the type used for user data in movie and track directories */
+struct MoviesUserData {
+ long size; /* size of this user data */
+ long udType; /* type of user data */
+ char data[1]; /* the user data */
+};
+typedef struct MoviesUserData MoviesUserData;
+struct UserDataAtom {
+ long size;
+ long atomType;
+ MoviesUserData userData[1];
+};
+typedef struct UserDataAtom UserDataAtom;
+/* MoviesDataDescription tells us where the data for the movie or track lives.
+ The data can follow the directory, be in the datafork of the same file as the directory resource,
+ be in the resource fork of the same file as the directory resource, be in another file in the
+ data fork or resource fork, or require a specific bottleneck to fetch the data. */
+/****************************************
+*
+* MediaDirectory information -
+* The MediaDirectory is tightly coupled to the data.
+*
+****************************************/
+/* SampleDescription is in Movies.h */
+struct SampleDescriptionAtom {
+ long size;
+ long atomType; /* = 'stsd' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long numEntries;
+ SampleDescription sampleDescTable[1];
+};
+typedef struct SampleDescriptionAtom SampleDescriptionAtom;
+/* TimeToSampleNum maps physical sample time to physical sample number. */
+struct TimeToSampleNum {
+ long sampleCount;
+ TimeValue sampleDuration;
+};
+typedef struct TimeToSampleNum TimeToSampleNum;
+struct TimeToSampleNumAtom {
+ long size;
+ long atomType; /* = 'stts' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long numEntries;
+ TimeToSampleNum timeToSampleNumTable[1];
+};
+typedef struct TimeToSampleNumAtom TimeToSampleNumAtom;
+/* SyncSamples is a list of the physical samples which are self contained. */
+struct SyncSampleAtom {
+ long size;
+ long atomType; /* = 'stss' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long numEntries;
+ long syncSampleTable[1];
+};
+typedef struct SyncSampleAtom SyncSampleAtom;
+/* SampleToChunk maps physical sample number to chunk number. */
+/* same as SampleToChunk, but redundant first sample is removed */
+struct SampleToChunk {
+ long firstChunk;
+ long samplesPerChunk;
+ long sampleDescriptionID;
+};
+typedef struct SampleToChunk SampleToChunk;
+struct SampleToChunkAtom {
+ long size;
+ long atomType; /* = 'stsc' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long numEntries;
+ SampleToChunk sampleToChunkTable[1];
+};
+typedef struct SampleToChunkAtom SampleToChunkAtom;
+struct ChunkOffsetAtom {
+ long size;
+ long atomType; /* = 'stco' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long numEntries;
+ long chunkOffsetTable[1];
+};
+typedef struct ChunkOffsetAtom ChunkOffsetAtom;
+struct SampleSizeAtom {
+ long size;
+ long atomType; /* = 'stsz' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long sampleSize;
+ long numEntries;
+ long sampleSizeTable[1];
+};
+typedef struct SampleSizeAtom SampleSizeAtom;
+struct ShadowSync {
+ long fdSampleNum;
+ long syncSampleNum;
+};
+typedef struct ShadowSync ShadowSync;
+struct ShadowSyncAtom {
+ long size;
+ long atomType; /* = 'stsz' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long numEntries;
+ ShadowSync shadowSyncTable[1];
+};
+typedef struct ShadowSyncAtom ShadowSyncAtom;
+/* CompositionOffsetEntry maps sample numbers to composition offsets. */
+struct CompositionOffsetEntry {
+ long sampleCount;
+ TimeValue displayOffset;
+};
+typedef struct CompositionOffsetEntry CompositionOffsetEntry;
+struct CompositionOffsetAtom {
+ long size;
+ long atomType; /* = 'ctts' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long numEntries;
+ CompositionOffsetEntry compositionOffsetTable[1];
+};
+typedef struct CompositionOffsetAtom CompositionOffsetAtom;
+struct SampleDependencyAtom {
+ long size;
+ long atomType; /* = 'sdtp' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ UInt8 sampleDependencyTable[1];
+};
+typedef struct SampleDependencyAtom SampleDependencyAtom;
+/*
+NOTE: The values for these flags that shipped with QuickTime 7.0 were incorrect.
+They matched neither the specification nor the implementation -- the "Yes" and "No" bits
+were reversed. The flags have been corrected but renamed to ensure that code using
+the incorrect flags is reviewed by developers.
+enum {
+ kQTSampleDependency_DependsOnOthers = 1<<5, // INCORRECT VALUE
+ kQTSampleDependency_DoesNotDependOnOthers = 1<<4, // INCORRECT VALUE
+ kQTSampleDependency_IsDependedOnByOthers = 1<<3, // INCORRECT VALUE
+ kQTSampleDependency_IsNotDependedOnByOthers = 1<<2, // INCORRECT VALUE
+ kQTSampleDependency_HasRedundantCoding = 1<<1, // INCORRECT VALUE
+ kQTSampleDependency_HasNoRedundantCoding = 1<<0 // INCORRECT VALUE
+};
+*/
+/* Values for entries in SampleDependencyAtom.sampleDependencyTable[]*/
+enum {
+ /* bit 0x80 is reserved; bit combinations 0x30, 0xC0 and 0x03 are reserved*/
+ kQTSampleDependency_EarlierDisplayTimesAllowed = 1 << 6, /* corresponds to flag mediaSampleEarlierDisplayTimesAllowed except at different bit offset*/
+ kQTSampleDependency_DoesNotDependOnOthers_Corrected = 1 << 5, /* ie: an I picture*/
+ kQTSampleDependency_DependsOnOthers_Corrected = 1 << 4, /* ie: not an I picture*/
+ kQTSampleDependency_IsNotDependedOnByOthers_Corrected = 1 << 3, /* mediaSampleDroppable*/
+ kQTSampleDependency_IsDependedOnByOthers_Corrected = 1 << 2,
+ kQTSampleDependency_HasNoRedundantCoding_Corrected = 1 << 1,
+ kQTSampleDependency_HasRedundantCoding_Corrected = 1 << 0
+};
+
+struct CompositionShiftLeastGreatestAtom {
+ long size;
+ long atomType; /* = 'cslg' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ SInt32 compositionOffsetToDTDDeltaShift;
+ SInt32 leastDecodeToDisplayDelta;
+ SInt32 greatestDecodeToDisplayDelta;
+ SInt32 displayStartTime;
+ SInt32 displayEndTime;
+};
+typedef struct CompositionShiftLeastGreatestAtom CompositionShiftLeastGreatestAtom;
+struct PartialSyncSampleAtom {
+ long size;
+ long atomType; /* = 'stps' */
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ long numEntries;
+ UInt32 partialSyncSampleTable[1];
+};
+typedef struct PartialSyncSampleAtom PartialSyncSampleAtom;
+struct SampleTableAtom {
+ long size;
+ long atomType; /* = 'stbl' */
+
+ SampleDescriptionAtom sampleDescription;
+ TimeToSampleNumAtom timeToSampleNum;
+ SampleToChunkAtom sampleToChunk;
+ SyncSampleAtom syncSample;
+ SampleSizeAtom sampleSize;
+ ChunkOffsetAtom chunkOffset;
+ ShadowSyncAtom shadowSync;
+};
+typedef struct SampleTableAtom SampleTableAtom;
+struct PublicHandlerInfo {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ long componentType;
+ long componentSubType;
+ long componentManufacturer;
+ long componentFlags;
+ long componentFlagsMask;
+ char componentName[1];
+};
+typedef struct PublicHandlerInfo PublicHandlerInfo;
+struct HandlerAtom {
+ long size;
+ long atomType; /* = 'hdlr' */
+
+ PublicHandlerInfo hInfo;
+};
+typedef struct HandlerAtom HandlerAtom;
+/* a data reference is a private structure */
+
+typedef long DataRefAtom;
+struct DataInfoAtom {
+ long size;
+ long atomType; /* = 'dinf' */
+
+ DataRefAtom dataRef;
+};
+typedef struct DataInfoAtom DataInfoAtom;
+struct RgnAtom {
+ long size;
+ long atomType;
+
+ short rgnSize;
+ Rect rgnBBox;
+ char data[1];
+};
+typedef struct RgnAtom RgnAtom;
+struct MatteCompressedAtom {
+ long size;
+ long atomType;
+
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ ImageDescription matteImageDescription;
+
+ char matteData[1];
+};
+typedef struct MatteCompressedAtom MatteCompressedAtom;
+struct MatteAtom {
+ long size;
+ long atomType;
+
+ MatteCompressedAtom aCompressedMatte;
+};
+typedef struct MatteAtom MatteAtom;
+struct ClippingAtom {
+ long size;
+ long atomType;
+
+ RgnAtom aRgnClip;
+};
+typedef struct ClippingAtom ClippingAtom;
+/***********************
+* Media Info Example Structures
+***********************/
+
+struct VideoMediaInfoHeader {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ short graphicsMode; /* for QD - transfer mode */
+ short opColorRed; /* opcolor for transfer mode */
+ short opColorGreen;
+ short opColorBlue;
+};
+typedef struct VideoMediaInfoHeader VideoMediaInfoHeader;
+struct VideoMediaInfoHeaderAtom {
+ long size; /* size of Media info */
+ long atomType; /* = 'vmhd' */
+ VideoMediaInfoHeader vmiHeader;
+};
+typedef struct VideoMediaInfoHeaderAtom VideoMediaInfoHeaderAtom;
+struct VideoMediaInfo {
+ long size; /* size of Media info */
+ long atomType; /* = 'minf' */
+
+ VideoMediaInfoHeaderAtom header;
+
+ HandlerAtom dataHandler;
+
+ DataInfoAtom dataInfo;
+
+ SampleTableAtom sampleTable;
+};
+typedef struct VideoMediaInfo VideoMediaInfo;
+struct SoundMediaInfoHeader {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ short balance;
+ short rsrvd;
+};
+typedef struct SoundMediaInfoHeader SoundMediaInfoHeader;
+struct SoundMediaInfoHeaderAtom {
+ long size; /* size of Media info */
+ long atomType; /* = 'vmhd' */
+
+ SoundMediaInfoHeader smiHeader;
+};
+typedef struct SoundMediaInfoHeaderAtom SoundMediaInfoHeaderAtom;
+struct SoundMediaInfo {
+ long size; /* size of Media info */
+ long atomType; /* = 'minf' */
+
+ SoundMediaInfoHeaderAtom header;
+
+ HandlerAtom dataHandler;
+
+ DataRefAtom dataReference;
+
+ SampleTableAtom sampleTable;
+};
+typedef struct SoundMediaInfo SoundMediaInfo;
+/* whatever data the media handler needs goes after the atomType */
+struct MediaInfo {
+ long size;
+ long atomType;
+};
+typedef struct MediaInfo MediaInfo;
+/***********************
+* Media Directory Structures
+***********************/
+struct MediaHeader {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ long creationTime; /* seconds since Jan 1904 when directory was created */
+ long modificationTime; /* seconds since Jan 1904 when directory was appended */
+
+ TimeValue timeScale; /* start time for Media (Media time) */
+ TimeValue duration; /* length of Media (Media time) */
+
+ short language;
+ short quality;
+};
+typedef struct MediaHeader MediaHeader;
+struct MediaHeaderAtom {
+ long size;
+ long atomType;
+
+ MediaHeader header;
+};
+typedef struct MediaHeaderAtom MediaHeaderAtom;
+struct MediaDirectory {
+ long size;
+ long atomType; /* = 'mdia' */
+
+ MediaHeaderAtom mediaHeader; /* standard Media information */
+
+ HandlerAtom mediaHandler;
+
+ MediaInfo mediaInfo;
+};
+typedef struct MediaDirectory MediaDirectory;
+/***********************
+* Track Structures
+***********************/
+enum {
+ TrackEnable = 1 << 0,
+ TrackInMovie = 1 << 1,
+ TrackInPreview = 1 << 2,
+ TrackInPoster = 1 << 3
+};
+
+struct TrackHeader {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ long creationTime; /* seconds since Jan 1904 when directory was created */
+ long modificationTime; /* seconds since Jan 1904 when directory was appended */
+
+ long trackID;
+
+ long reserved1;
+
+ TimeValue duration; /* length of track (track time) */
+
+ long reserved2;
+ long reserved3;
+
+ short layer;
+ short alternateGroup;
+
+ short volume;
+ short reserved4;
+
+ MatrixRecord matrix;
+ Fixed trackWidth;
+ Fixed trackHeight;
+};
+typedef struct TrackHeader TrackHeader;
+struct TrackHeaderAtom {
+ long size; /* size of track header */
+ long atomType; /* = 'tkhd' */
+
+ TrackHeader header;
+};
+typedef struct TrackHeaderAtom TrackHeaderAtom;
+struct EditListType {
+ TimeValue trackDuration;
+ TimeValue mediaTime;
+ Fixed mediaRate;
+};
+typedef struct EditListType EditListType;
+struct EditListAtom {
+ long size;
+ long atomType; /* = elst */
+
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ long numEntries;
+ EditListType editListTable[1];
+};
+typedef struct EditListAtom EditListAtom;
+struct EditsAtom {
+ long size;
+ long atomType; /* = edts */
+
+ EditListAtom editList;
+};
+typedef struct EditsAtom EditsAtom;
+struct TrackLoadSettings {
+ TimeValue preloadStartTime;
+ TimeValue preloadDuration;
+ long preloadFlags;
+ long defaultHints;
+};
+typedef struct TrackLoadSettings TrackLoadSettings;
+struct TrackLoadSettingsAtom {
+ long size;
+ long atomType; /* = load */
+
+ TrackLoadSettings settings;
+};
+typedef struct TrackLoadSettingsAtom TrackLoadSettingsAtom;
+struct TrackCleanApertureDimensions {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ FixedPoint cleanApertureDimensions;
+};
+typedef struct TrackCleanApertureDimensions TrackCleanApertureDimensions;
+struct TrackCleanApertureDimensionsAtom {
+ long size;
+ long atomType; /* = 'tapt' */
+
+ TrackCleanApertureDimensions cleanApertureDimensions;
+};
+typedef struct TrackCleanApertureDimensionsAtom TrackCleanApertureDimensionsAtom;
+struct TrackProductionApertureDimensions {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ FixedPoint productionApertureDimensions;
+};
+typedef struct TrackProductionApertureDimensions TrackProductionApertureDimensions;
+struct TrackProductionApertureDimensionsAtom {
+ long size;
+ long atomType; /* = 'prof' */
+
+ TrackProductionApertureDimensions productionApertureDimensions;
+};
+typedef struct TrackProductionApertureDimensionsAtom TrackProductionApertureDimensionsAtom;
+struct TrackEncodedPixelsDimensions {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+ FixedPoint encodedPixelsDimensions;
+};
+typedef struct TrackEncodedPixelsDimensions TrackEncodedPixelsDimensions;
+struct TrackEncodedPixelsDimensionsAtom {
+ long size;
+ long atomType; /* = 'enof' */
+
+ TrackEncodedPixelsDimensions encodedPixelsDimensions;
+};
+typedef struct TrackEncodedPixelsDimensionsAtom TrackEncodedPixelsDimensionsAtom;
+struct TrackDirectory {
+ long size;
+ long atomType; /* = 'trak' */
+
+ TrackHeaderAtom trackHeader; /* standard track information */
+
+ ClippingAtom trackClip;
+
+ EditsAtom edits;
+
+ MediaDirectory media;
+
+ UserDataAtom userData; /* space for extending with new data types */
+};
+typedef struct TrackDirectory TrackDirectory;
+/****************************************
+*
+* MovieDirectory -
+* The MovieDirectory is the top level structure which
+* holds the TrackInstance describing where the
+* TrackDirectories are.
+*
+****************************************/
+struct MovieHeader {
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ long creationTime; /* seconds since Jan 1904 when directory was created */
+ long modificationTime; /* seconds since Jan 1904 when directory was appended */
+
+ TimeValue timeScale; /* Time specifications */
+ TimeValue duration;
+ Fixed preferredRate; /* rate at which to play this movie */
+
+ short preferredVolume; /* volume to play movie at */
+ short reserved1;
+
+ long preferredLong1;
+ long preferredLong2;
+
+ MatrixRecord matrix;
+
+ TimeValue previewTime; /* time in track the proxy begins (track time) */
+ TimeValue previewDuration; /* how long the proxy lasts (track time) */
+
+ TimeValue posterTime; /* time in track the proxy begins (track time) */
+
+ TimeValue selectionTime; /* time in track the proxy begins (track time) */
+ TimeValue selectionDuration; /* time in track the proxy begins (track time) */
+ TimeValue currentTime; /* time in track the proxy begins (track time) */
+
+ long nextTrackID; /* next value to use for a TrackID */
+};
+typedef struct MovieHeader MovieHeader;
+struct MovieHeaderAtom {
+ long size;
+ long atomType; /* = 'mvhd' */
+
+ MovieHeader header;
+};
+typedef struct MovieHeaderAtom MovieHeaderAtom;
+struct TrackDirectoryEntry {
+ TrackDirectory trackDirectory; /* Track directory information */
+};
+typedef struct TrackDirectoryEntry TrackDirectoryEntry;
+struct MovieDirectory {
+ long size;
+ long atomType; /* = 'moov' */
+
+ MovieHeaderAtom header;
+
+ ClippingAtom movieClip;
+
+ /* Track Directories */
+ TrackDirectoryEntry track[1]; /* Track directory information */
+
+ /* User data for Movie */
+ UserDataAtom userData; /* space for user extensions */
+};
+typedef struct MovieDirectory MovieDirectory;
+/****************************************
+****************************************/
+
+/* Movie formats and tags */
+enum {
+ /* some system defined format IDs */
+ QT_MOVIE_TYPE = FOUR_CHAR_CODE('moov'),
+ QT_TRACK_TYPE = FOUR_CHAR_CODE('trak'),
+ QT_MEDIA_TYPE = FOUR_CHAR_CODE('mdia'),
+ QT_VIDEO_TYPE = FOUR_CHAR_CODE('vide'),
+ QT_SOUND_TYPE = FOUR_CHAR_CODE('soun')
+};
+
+enum {
+ MOVIE_TYPE = FOUR_CHAR_CODE('moov'),
+ TRACK_TYPE = FOUR_CHAR_CODE('trak'),
+ VIDEO_TYPE = FOUR_CHAR_CODE('vide'),
+ SOUND_TYPE = FOUR_CHAR_CODE('soun')
+};
#if !TARGET_OS_WIN32
- /* The name "MEDIA_TYPE" has a name space collision on Win32.*/
- enum
- {
- MEDIA_TYPE = FOUR_CHAR_CODE('mdia')
- };
+/* The name "MEDIA_TYPE" has a name space collision on Win32.*/
+enum {
+ MEDIA_TYPE = FOUR_CHAR_CODE('mdia')
+};
#endif /* !TARGET_OS_WIN32 */
- /* atom id's */
- enum
- {
- MovieAID = FOUR_CHAR_CODE('moov'),
- MovieHeaderAID = FOUR_CHAR_CODE('mvhd'),
- ClipAID = FOUR_CHAR_CODE('clip'),
- RgnClipAID = FOUR_CHAR_CODE('crgn'),
- MatteAID = FOUR_CHAR_CODE('matt'),
- MatteCompAID = FOUR_CHAR_CODE('kmat'),
- TrackAID = FOUR_CHAR_CODE('trak'),
- UserDataAID = FOUR_CHAR_CODE('udta'),
- TrackHeaderAID = FOUR_CHAR_CODE('tkhd'),
- EditsAID = FOUR_CHAR_CODE('edts'),
- EditListAID = FOUR_CHAR_CODE('elst'),
- MediaAID = FOUR_CHAR_CODE('mdia'),
- MediaHeaderAID = FOUR_CHAR_CODE('mdhd'),
- MediaInfoAID = FOUR_CHAR_CODE('minf'),
- VideoMediaInfoHeaderAID = FOUR_CHAR_CODE('vmhd'),
- SoundMediaInfoHeaderAID = FOUR_CHAR_CODE('smhd'),
- GenericMediaInfoHeaderAID = FOUR_CHAR_CODE('gmhd'),
- GenericMediaInfoAID = FOUR_CHAR_CODE('gmin'),
- DataInfoAID = FOUR_CHAR_CODE('dinf'),
- DataRefAID = FOUR_CHAR_CODE('dref'),
- SampleTableAID = FOUR_CHAR_CODE('stbl'),
- STSampleDescAID = FOUR_CHAR_CODE('stsd'),
- STTimeToSampAID = FOUR_CHAR_CODE('stts'),
- STSyncSampleAID = FOUR_CHAR_CODE('stss'),
- STSampleToChunkAID = FOUR_CHAR_CODE('stsc'),
- STShadowSyncAID = FOUR_CHAR_CODE('stsh'),
- HandlerAID = FOUR_CHAR_CODE('hdlr'),
- STSampleSizeAID = FOUR_CHAR_CODE('stsz'),
- STChunkOffsetAID = FOUR_CHAR_CODE('stco'),
- STChunkOffset64AID = FOUR_CHAR_CODE('co64'),
- STSampleIDAID = FOUR_CHAR_CODE('stid'),
- STCompositionOffsetAID = FOUR_CHAR_CODE('ctts'),
- STSampleDependencyAID = FOUR_CHAR_CODE('sdtp'),
- STCompositionShiftLeastGreatestAID = FOUR_CHAR_CODE('cslg'),
- STPartialSyncSampleAID = FOUR_CHAR_CODE('stps'),
- DataRefContainerAID = FOUR_CHAR_CODE('drfc'),
- TrackReferenceAID = FOUR_CHAR_CODE('tref'),
- ColorTableAID = FOUR_CHAR_CODE('ctab'),
- LoadSettingsAID = FOUR_CHAR_CODE('load'),
- PropertyAtomAID = FOUR_CHAR_CODE('code'),
- InputMapAID = FOUR_CHAR_CODE('imap'),
- MovieBufferHintsAID = FOUR_CHAR_CODE('mbfh'),
- MovieDataRefAliasAID = FOUR_CHAR_CODE('mdra'),
- SoundLocalizationAID = FOUR_CHAR_CODE('sloc'),
- CompressedMovieAID = FOUR_CHAR_CODE('cmov'),
- CompressedMovieDataAID = FOUR_CHAR_CODE('cmvd'),
- DataCompressionAtomAID = FOUR_CHAR_CODE('dcom'),
- ReferenceMovieRecordAID = FOUR_CHAR_CODE('rmra'),
- ReferenceMovieDescriptorAID = FOUR_CHAR_CODE('rmda'),
- ReferenceMovieDataRefAID = FOUR_CHAR_CODE('rdrf'),
- ReferenceMovieVersionCheckAID = FOUR_CHAR_CODE('rmvc'),
- ReferenceMovieDataRateAID = FOUR_CHAR_CODE('rmdr'),
- ReferenceMovieComponentCheckAID = FOUR_CHAR_CODE('rmcd'),
- ReferenceMovieQualityAID = FOUR_CHAR_CODE('rmqu'),
- ReferenceMovieLanguageAID = FOUR_CHAR_CODE('rmla'),
- ReferenceMovieCPURatingAID = FOUR_CHAR_CODE('rmcs'),
- ReferenceMovieAlternateGroupAID = FOUR_CHAR_CODE('rmag'),
- ReferenceMovieNetworkStatusAID = FOUR_CHAR_CODE('rnet'),
- CloneMediaAID = FOUR_CHAR_CODE('clon'),
- FileTypeAID = FOUR_CHAR_CODE('ftyp'),
- SecureContentInfoAID = FOUR_CHAR_CODE('sinf'),
- SecureContentSchemeTypeAID = FOUR_CHAR_CODE('schm'),
- SecureContentSchemeInfoAID = FOUR_CHAR_CODE('schi'),
- TrackApertureModeDimensionsAID = FOUR_CHAR_CODE('tapt'), /* container atom including TrackCleanApertureDimensionsAID, TrackProductionApertureDimensionsAID and TrackEncodedPixelsDimensionsAID */
- TrackCleanApertureDimensionsAID = FOUR_CHAR_CODE('clef'),
- TrackProductionApertureDimensionsAID = FOUR_CHAR_CODE('prof'),
- TrackEncodedPixelsDimensionsAID = FOUR_CHAR_CODE('enof')
- };
-
- /* Text ATOM definitions*/
-
- struct TextBoxAtom
- {
- long size;
- long atomType; /* = 'tbox' */
- Rect textBox; /* New text box (overrides defaultTextBox)*/
- };
- typedef struct TextBoxAtom TextBoxAtom;
- struct HiliteAtom
- {
- long size;
- long atomType; /* = 'hlit' */
- long selStart; /* hilite selection start character*/
- long selEnd; /* hilite selection end character*/
- };
- typedef struct HiliteAtom HiliteAtom;
- struct KaraokeRec
- {
- TimeValue timeVal;
- short beginHilite;
- short endHilite;
- };
- typedef struct KaraokeRec KaraokeRec;
- struct KaraokeAtom
- {
- long numEntries;
- KaraokeRec karaokeEntries[1];
- };
- typedef struct KaraokeAtom KaraokeAtom;
- /* for ReferenceMovieDataRefRecord.flags*/
- enum
- {
- kDataRefIsSelfContained = (1 << 0)
- };
-
- struct ReferenceMovieDataRefRecord
- {
- long flags;
- OSType dataRefType;
- long dataRefSize;
- char dataRef[1];
- };
- typedef struct ReferenceMovieDataRefRecord ReferenceMovieDataRefRecord;
- /* for VersionCheckRecord.checkType*/
- enum
- {
- kVersionCheckMin = 0, /* val1 is the min. version required*/
- kVersionCheckMask = 1 /* (gestalt return value & val2) must == val1*/
- };
-
- struct QTAltVersionCheckRecord
- {
- long flags; /* currently always 0*/
- OSType gestaltTag;
- UInt32 val1;
- UInt32 val2;
- short checkType;
- };
- typedef struct QTAltVersionCheckRecord QTAltVersionCheckRecord;
- /* some helpful constants for DataRateRecord.dataRate */
- enum
- {
- kDataRate144ModemRate = 1400L,
- kDataRate288ModemRate = 2800L,
- kDataRateISDNRate = 5600L,
- kDataRateDualISDNRate = 11200L,
- kDataRate256kbpsRate = 25600L,
- kDataRate384kbpsRate = 38400L,
- kDataRate512kbpsRate = 51200L,
- kDataRate768kbpsRate = 76800L,
- kDataRate1MbpsRate = 100000L,
- kDataRateT1Rate = 150000L,
- kDataRateInfiniteRate = 0x7FFFFFFF,
- kDataRateDefaultIfNotSet = kDataRate384kbpsRate
- };
-
- struct QTAltDataRateRecord
- {
- long flags; /* currently always 0*/
- long dataRate;
- };
- typedef struct QTAltDataRateRecord QTAltDataRateRecord;
- struct QTAltComponentCheckRecord
- {
- long flags; /* currently always 0 */
- ComponentDescription cd;
- unsigned long minVersion;
- };
- typedef struct QTAltComponentCheckRecord QTAltComponentCheckRecord;
- struct QTAltLanguageRecord
- {
- long flags; /* currently always 0*/
- short language;
- };
- typedef struct QTAltLanguageRecord QTAltLanguageRecord;
-
- enum
- {
- kQTCPUSpeed1Rating = 100, /* slowest*/
- kQTCPUSpeed2Rating = 200,
- kQTCPUSpeed3Rating = 300,
- kQTCPUSpeed4Rating = 400,
- kQTCPUSpeed5Rating = 500 /* fastest*/
- };
-
- struct QTAltCPURatingRecord
- {
- UInt32 flags; /* currently always 0*/
- UInt16 speed;
- };
- typedef struct QTAltCPURatingRecord QTAltCPURatingRecord;
- struct ReferenceMovieNetworkStatusRecord
- {
- UInt32 flags; /* currently always 0*/
- UInt32 valueCount; /* how many status values are in array*/
- long netStatusValues[1]; /* a value from kQTNetworkStatus... constants*/
- };
- typedef struct ReferenceMovieNetworkStatusRecord ReferenceMovieNetworkStatusRecord;
- struct CloneRecord
- {
- long flags;
- long masterTrackID; /* track ID of the track we're cloning */
- };
- typedef struct CloneRecord CloneRecord;
- struct CloneAtom
- {
- long size;
- long atomType; /* = clon */
-
- CloneRecord cloneInfo;
- };
- typedef struct CloneAtom CloneAtom;
- struct FileTypeAtom
- {
- long size;
- long atomType; /* = 'ftyp' */
- long majorBrand; /* best use brand */
- long minorVersion;
- long compatibleBrands[4]; /* 1 or greater */
- };
- typedef struct FileTypeAtom FileTypeAtom;
- enum
- {
- kQTFileTypeBrandQuickTimeMovie = FOUR_CHAR_CODE('qt '), /* QuickTime movie files*/
- kQTFileTypeBrandISOFile = FOUR_CHAR_CODE('isom'), /* ISO Base Media files*/
- kQTFileTypeBrandMPEG4v1 = FOUR_CHAR_CODE('mp41'), /* MPEG-4 (ISO/IEC 14496-1) version 1 files*/
- kQTFileTypeBrandMPEG4v2 = FOUR_CHAR_CODE('mp42') /* MPEG-4 (ISO/IEC 14496-1) version 2 files*/
- };
-
- struct SecureContentInfoAtom
- {
- long size;
- long atomType; /* = 'sinf' */
- };
- typedef struct SecureContentInfoAtom SecureContentInfoAtom;
- struct SecureContentSchemeTypeAtom
- {
- long size;
- long atomType; /* = 'schm' */
-
- long flags; /* 1 byte of version / 3 bytes of flags */
-
- long schemeType;
- UInt32 schemeVersion;
- /* if flags & 1, C string holding URL for security component server*/
- };
- typedef struct SecureContentSchemeTypeAtom SecureContentSchemeTypeAtom;
- struct SecureContentSchemeInfoAtom
- {
- long size;
- long atomType; /* = 'schi' */
- };
- typedef struct SecureContentSchemeInfoAtom SecureContentSchemeInfoAtom;
+/* atom id's */
+enum {
+ MovieAID = FOUR_CHAR_CODE('moov'),
+ MovieHeaderAID = FOUR_CHAR_CODE('mvhd'),
+ ClipAID = FOUR_CHAR_CODE('clip'),
+ RgnClipAID = FOUR_CHAR_CODE('crgn'),
+ MatteAID = FOUR_CHAR_CODE('matt'),
+ MatteCompAID = FOUR_CHAR_CODE('kmat'),
+ TrackAID = FOUR_CHAR_CODE('trak'),
+ UserDataAID = FOUR_CHAR_CODE('udta'),
+ TrackHeaderAID = FOUR_CHAR_CODE('tkhd'),
+ EditsAID = FOUR_CHAR_CODE('edts'),
+ EditListAID = FOUR_CHAR_CODE('elst'),
+ MediaAID = FOUR_CHAR_CODE('mdia'),
+ MediaHeaderAID = FOUR_CHAR_CODE('mdhd'),
+ MediaInfoAID = FOUR_CHAR_CODE('minf'),
+ VideoMediaInfoHeaderAID = FOUR_CHAR_CODE('vmhd'),
+ SoundMediaInfoHeaderAID = FOUR_CHAR_CODE('smhd'),
+ GenericMediaInfoHeaderAID = FOUR_CHAR_CODE('gmhd'),
+ GenericMediaInfoAID = FOUR_CHAR_CODE('gmin'),
+ DataInfoAID = FOUR_CHAR_CODE('dinf'),
+ DataRefAID = FOUR_CHAR_CODE('dref'),
+ SampleTableAID = FOUR_CHAR_CODE('stbl'),
+ STSampleDescAID = FOUR_CHAR_CODE('stsd'),
+ STTimeToSampAID = FOUR_CHAR_CODE('stts'),
+ STSyncSampleAID = FOUR_CHAR_CODE('stss'),
+ STSampleToChunkAID = FOUR_CHAR_CODE('stsc'),
+ STShadowSyncAID = FOUR_CHAR_CODE('stsh'),
+ HandlerAID = FOUR_CHAR_CODE('hdlr'),
+ STSampleSizeAID = FOUR_CHAR_CODE('stsz'),
+ STChunkOffsetAID = FOUR_CHAR_CODE('stco'),
+ STChunkOffset64AID = FOUR_CHAR_CODE('co64'),
+ STSampleIDAID = FOUR_CHAR_CODE('stid'),
+ STCompositionOffsetAID = FOUR_CHAR_CODE('ctts'),
+ STSampleDependencyAID = FOUR_CHAR_CODE('sdtp'),
+ STCompositionShiftLeastGreatestAID = FOUR_CHAR_CODE('cslg'),
+ STPartialSyncSampleAID = FOUR_CHAR_CODE('stps'),
+ DataRefContainerAID = FOUR_CHAR_CODE('drfc'),
+ TrackReferenceAID = FOUR_CHAR_CODE('tref'),
+ ColorTableAID = FOUR_CHAR_CODE('ctab'),
+ LoadSettingsAID = FOUR_CHAR_CODE('load'),
+ PropertyAtomAID = FOUR_CHAR_CODE('code'),
+ InputMapAID = FOUR_CHAR_CODE('imap'),
+ MovieBufferHintsAID = FOUR_CHAR_CODE('mbfh'),
+ MovieDataRefAliasAID = FOUR_CHAR_CODE('mdra'),
+ SoundLocalizationAID = FOUR_CHAR_CODE('sloc'),
+ CompressedMovieAID = FOUR_CHAR_CODE('cmov'),
+ CompressedMovieDataAID = FOUR_CHAR_CODE('cmvd'),
+ DataCompressionAtomAID = FOUR_CHAR_CODE('dcom'),
+ ReferenceMovieRecordAID = FOUR_CHAR_CODE('rmra'),
+ ReferenceMovieDescriptorAID = FOUR_CHAR_CODE('rmda'),
+ ReferenceMovieDataRefAID = FOUR_CHAR_CODE('rdrf'),
+ ReferenceMovieVersionCheckAID = FOUR_CHAR_CODE('rmvc'),
+ ReferenceMovieDataRateAID = FOUR_CHAR_CODE('rmdr'),
+ ReferenceMovieComponentCheckAID = FOUR_CHAR_CODE('rmcd'),
+ ReferenceMovieQualityAID = FOUR_CHAR_CODE('rmqu'),
+ ReferenceMovieLanguageAID = FOUR_CHAR_CODE('rmla'),
+ ReferenceMovieCPURatingAID = FOUR_CHAR_CODE('rmcs'),
+ ReferenceMovieAlternateGroupAID = FOUR_CHAR_CODE('rmag'),
+ ReferenceMovieNetworkStatusAID = FOUR_CHAR_CODE('rnet'),
+ CloneMediaAID = FOUR_CHAR_CODE('clon'),
+ FileTypeAID = FOUR_CHAR_CODE('ftyp'),
+ SecureContentInfoAID = FOUR_CHAR_CODE('sinf'),
+ SecureContentSchemeTypeAID = FOUR_CHAR_CODE('schm'),
+ SecureContentSchemeInfoAID = FOUR_CHAR_CODE('schi'),
+ TrackApertureModeDimensionsAID = FOUR_CHAR_CODE('tapt'), /* container atom including TrackCleanApertureDimensionsAID, TrackProductionApertureDimensionsAID and TrackEncodedPixelsDimensionsAID */
+ TrackCleanApertureDimensionsAID = FOUR_CHAR_CODE('clef'),
+ TrackProductionApertureDimensionsAID = FOUR_CHAR_CODE('prof'),
+ TrackEncodedPixelsDimensionsAID = FOUR_CHAR_CODE('enof')
+};
+
+/* Text ATOM definitions*/
+
+struct TextBoxAtom {
+ long size;
+ long atomType; /* = 'tbox' */
+ Rect textBox; /* New text box (overrides defaultTextBox)*/
+};
+typedef struct TextBoxAtom TextBoxAtom;
+struct HiliteAtom {
+ long size;
+ long atomType; /* = 'hlit' */
+ long selStart; /* hilite selection start character*/
+ long selEnd; /* hilite selection end character*/
+};
+typedef struct HiliteAtom HiliteAtom;
+struct KaraokeRec {
+ TimeValue timeVal;
+ short beginHilite;
+ short endHilite;
+};
+typedef struct KaraokeRec KaraokeRec;
+struct KaraokeAtom {
+ long numEntries;
+ KaraokeRec karaokeEntries[1];
+};
+typedef struct KaraokeAtom KaraokeAtom;
+/* for ReferenceMovieDataRefRecord.flags*/
+enum {
+ kDataRefIsSelfContained = (1 << 0)
+};
+
+struct ReferenceMovieDataRefRecord {
+ long flags;
+ OSType dataRefType;
+ long dataRefSize;
+ char dataRef[1];
+};
+typedef struct ReferenceMovieDataRefRecord ReferenceMovieDataRefRecord;
+/* for VersionCheckRecord.checkType*/
+enum {
+ kVersionCheckMin = 0, /* val1 is the min. version required*/
+ kVersionCheckMask = 1 /* (gestalt return value & val2) must == val1*/
+};
+
+struct QTAltVersionCheckRecord {
+ long flags; /* currently always 0*/
+ OSType gestaltTag;
+ UInt32 val1;
+ UInt32 val2;
+ short checkType;
+};
+typedef struct QTAltVersionCheckRecord QTAltVersionCheckRecord;
+/* some helpful constants for DataRateRecord.dataRate */
+enum {
+ kDataRate144ModemRate = 1400L,
+ kDataRate288ModemRate = 2800L,
+ kDataRateISDNRate = 5600L,
+ kDataRateDualISDNRate = 11200L,
+ kDataRate256kbpsRate = 25600L,
+ kDataRate384kbpsRate = 38400L,
+ kDataRate512kbpsRate = 51200L,
+ kDataRate768kbpsRate = 76800L,
+ kDataRate1MbpsRate = 100000L,
+ kDataRateT1Rate = 150000L,
+ kDataRateInfiniteRate = 0x7FFFFFFF,
+ kDataRateDefaultIfNotSet = kDataRate384kbpsRate
+};
+
+struct QTAltDataRateRecord {
+ long flags; /* currently always 0*/
+ long dataRate;
+};
+typedef struct QTAltDataRateRecord QTAltDataRateRecord;
+struct QTAltComponentCheckRecord {
+ long flags; /* currently always 0 */
+ ComponentDescription cd;
+ unsigned long minVersion;
+};
+typedef struct QTAltComponentCheckRecord QTAltComponentCheckRecord;
+struct QTAltLanguageRecord {
+ long flags; /* currently always 0*/
+ short language;
+};
+typedef struct QTAltLanguageRecord QTAltLanguageRecord;
+
+enum {
+ kQTCPUSpeed1Rating = 100, /* slowest*/
+ kQTCPUSpeed2Rating = 200,
+ kQTCPUSpeed3Rating = 300,
+ kQTCPUSpeed4Rating = 400,
+ kQTCPUSpeed5Rating = 500 /* fastest*/
+};
+
+struct QTAltCPURatingRecord {
+ UInt32 flags; /* currently always 0*/
+ UInt16 speed;
+};
+typedef struct QTAltCPURatingRecord QTAltCPURatingRecord;
+struct ReferenceMovieNetworkStatusRecord {
+ UInt32 flags; /* currently always 0*/
+ UInt32 valueCount; /* how many status values are in array*/
+ long netStatusValues[1]; /* a value from kQTNetworkStatus... constants*/
+};
+typedef struct ReferenceMovieNetworkStatusRecord ReferenceMovieNetworkStatusRecord;
+struct CloneRecord {
+ long flags;
+ long masterTrackID; /* track ID of the track we're cloning */
+};
+typedef struct CloneRecord CloneRecord;
+struct CloneAtom {
+ long size;
+ long atomType; /* = clon */
+
+ CloneRecord cloneInfo;
+};
+typedef struct CloneAtom CloneAtom;
+struct FileTypeAtom {
+ long size;
+ long atomType; /* = 'ftyp' */
+ long majorBrand; /* best use brand */
+ long minorVersion;
+ long compatibleBrands[4]; /* 1 or greater */
+};
+typedef struct FileTypeAtom FileTypeAtom;
+enum {
+ kQTFileTypeBrandQuickTimeMovie = FOUR_CHAR_CODE('qt '), /* QuickTime movie files*/
+ kQTFileTypeBrandISOFile = FOUR_CHAR_CODE('isom'), /* ISO Base Media files*/
+ kQTFileTypeBrandMPEG4v1 = FOUR_CHAR_CODE('mp41'), /* MPEG-4 (ISO/IEC 14496-1) version 1 files*/
+ kQTFileTypeBrandMPEG4v2 = FOUR_CHAR_CODE('mp42') /* MPEG-4 (ISO/IEC 14496-1) version 2 files*/
+};
+
+struct SecureContentInfoAtom {
+ long size;
+ long atomType; /* = 'sinf' */
+};
+typedef struct SecureContentInfoAtom SecureContentInfoAtom;
+struct SecureContentSchemeTypeAtom {
+ long size;
+ long atomType; /* = 'schm' */
+
+ long flags; /* 1 byte of version / 3 bytes of flags */
+
+ long schemeType;
+ UInt32 schemeVersion;
+ /* if flags & 1, C string holding URL for security component server*/
+};
+typedef struct SecureContentSchemeTypeAtom SecureContentSchemeTypeAtom;
+struct SecureContentSchemeInfoAtom {
+ long size;
+ long atomType; /* = 'schi' */
+};
+typedef struct SecureContentSchemeInfoAtom SecureContentSchemeInfoAtom;
#endif // !__LP64__
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Multiprocessing.h b/include/qt/Multiprocessing.h
index a5036968f..be27d4fb8 100644
--- a/include/qt/Multiprocessing.h
+++ b/include/qt/Multiprocessing.h
@@ -1,17 +1,17 @@
/*
File: Multiprocessing.h
-
+
Contains: Multiprocessing interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc. and (c) 1995-1997 DayStar Digital, Inc.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
@@ -46,151 +46,151 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- ===========================================================================================
- This is the header file for version 2.2 of the Mac OS multiprocessing support. This version
- has been totally reimplemented and has significant new services. The main goal of the
- reimplementation has been to transfer task management into the core operating system to provide
- much more reliable and more efficient operation, including on single processor machines.
- The memory management has also been massively improved, it is much faster and wastes much
- less space. New services include POSIX style per-task storage, timers with millisecond and
- microsecond resolutions, memory allocation at a specified alignment, and system pageable
- and RAM resident memory pools. See the MP API documentation for details.
- The old "DayStar" debugging services (whose names began with an underscore) have been
- removed from this header. A very few are still implemented for binary compatibility, or in
- cases where they happened to be exposed inappropriately. (E.g. _MPIsFullyInitialized must
- be called to see if the MP API is ReallyTruly(tm) usable.) New code and recompiles of old
- code should avoid use of these defunct services, except for _MPIsFullyInitialized.
- ===========================================================================================
- */
-
-
- /*
- ===========================================================================================
- The following services are from the original MP API and remain supported in version 2.0:
- MPProcessors
- MPCreateTask
- MPTerminateTask
- MPCurrentTaskID
- MPYield
- MPExit
- MPCreateQueue
- MPDeleteQueue
- MPNotifyQueue
- MPWaitOnQueue
- MPCreateSemaphore
- MPCreateBinarySemaphore (In C only, a macro that calls MPCreateSemaphore.)
- MPDeleteSemaphore
- MPSignalSemaphore
- MPWaitOnSemaphore
- MPCreateCriticalRegion
- MPDeleteCriticalRegion
- MPEnterCriticalRegion
- MPExitCriticalRegion
- MPAllocate (Deprecated, use MPAllocateAligned for new builds.)
- MPFree
- MPBlockCopy
- MPLibraryIsLoaded (In C only, a macro.)
- _MPIsFullyInitialized (See comments about checking for MP API availability.)
- ===========================================================================================
- */
-
-
- /*
- ===========================================================================================
- The following services are new in version 2.0:
- MPProcessorsScheduled
- MPSetTaskWeight
- MPTaskIsPreemptive
- MPAllocateTaskStorageIndex
- MPDeallocateTaskStorageIndex
- MPSetTaskStorageValue
- MPGetTaskStorageValue
- MPSetQueueReserve
- MPCreateEvent
- MPDeleteEvent
- MPSetEvent
- MPWaitForEvent
- UpTime
- DurationToAbsolute
- AbsoluteToDuration
- MPDelayUntil
- MPCreateTimer
- MPDeleteTimer
- MPSetTimerNotify
- MPArmTimer
- MPCancelTimer
- MPSetExceptionHandler
- MPThrowException
- MPDisposeTaskException
- MPExtractTaskState
- MPSetTaskState
- MPRegisterDebugger
- MPUnregisterDebugger
- MPAllocateAligned (Preferred over MPAllocate.)
- MPGetAllocatedBlockSize
- MPBlockClear
- MPDataToCode
- MPRemoteCall (Preferred over _MPRPC.)
- ===========================================================================================
- */
-
-
- /*
- ===========================================================================================
- The following services are new in version 2.1:
- MPCreateNotification
- MPDeleteNotification
- MPModifyNotification
- MPCauseNotification
- MPGetNextTaskID
- MPGetNextCpuID
- ===========================================================================================
- */
-
-
- /*
- ===========================================================================================
- The following services are "unofficial" extensions to the original API. They are not in
- the multiprocessing API documentation, but were in previous versions of this header. They
- remain supported in version 2.0. They may not be supported in other environments.
- _MPRPC (Deprecated, use MPRemoteCall for new builds.)
- _MPAllocateSys (Deprecated, use MPAllocateAligned for new builds.)
- _MPTaskIsToolboxSafe
- _MPLibraryVersion
- _MPLibraryIsCompatible
- ===========================================================================================
- */
-
-
- /*
- ===========================================================================================
- The following services were in previous versions of this header for "debugging only" use.
- They are NOT implemented in version 2.0. For old builds they can be accessed by defining
- the symbol MPIncludeDefunctServices to have a nonzero value.
- _MPInitializePrintf
- _MPPrintf
- _MPDebugStr
- _MPStatusPString
- _MPStatusCString
- ===========================================================================================
- */
-
-
- /*
- .
- ===========================================================================================
- General Types and Constants
- ===========================
- */
+/*
+ ===========================================================================================
+ This is the header file for version 2.2 of the Mac OS multiprocessing support. This version
+ has been totally reimplemented and has significant new services. The main goal of the
+ reimplementation has been to transfer task management into the core operating system to provide
+ much more reliable and more efficient operation, including on single processor machines.
+ The memory management has also been massively improved, it is much faster and wastes much
+ less space. New services include POSIX style per-task storage, timers with millisecond and
+ microsecond resolutions, memory allocation at a specified alignment, and system pageable
+ and RAM resident memory pools. See the MP API documentation for details.
+ The old "DayStar" debugging services (whose names began with an underscore) have been
+ removed from this header. A very few are still implemented for binary compatibility, or in
+ cases where they happened to be exposed inappropriately. (E.g. _MPIsFullyInitialized must
+ be called to see if the MP API is ReallyTruly(tm) usable.) New code and recompiles of old
+ code should avoid use of these defunct services, except for _MPIsFullyInitialized.
+ ===========================================================================================
+*/
+
+
+/*
+ ===========================================================================================
+ The following services are from the original MP API and remain supported in version 2.0:
+ MPProcessors
+ MPCreateTask
+ MPTerminateTask
+ MPCurrentTaskID
+ MPYield
+ MPExit
+ MPCreateQueue
+ MPDeleteQueue
+ MPNotifyQueue
+ MPWaitOnQueue
+ MPCreateSemaphore
+ MPCreateBinarySemaphore (In C only, a macro that calls MPCreateSemaphore.)
+ MPDeleteSemaphore
+ MPSignalSemaphore
+ MPWaitOnSemaphore
+ MPCreateCriticalRegion
+ MPDeleteCriticalRegion
+ MPEnterCriticalRegion
+ MPExitCriticalRegion
+ MPAllocate (Deprecated, use MPAllocateAligned for new builds.)
+ MPFree
+ MPBlockCopy
+ MPLibraryIsLoaded (In C only, a macro.)
+ _MPIsFullyInitialized (See comments about checking for MP API availability.)
+ ===========================================================================================
+*/
+
+
+/*
+ ===========================================================================================
+ The following services are new in version 2.0:
+ MPProcessorsScheduled
+ MPSetTaskWeight
+ MPTaskIsPreemptive
+ MPAllocateTaskStorageIndex
+ MPDeallocateTaskStorageIndex
+ MPSetTaskStorageValue
+ MPGetTaskStorageValue
+ MPSetQueueReserve
+ MPCreateEvent
+ MPDeleteEvent
+ MPSetEvent
+ MPWaitForEvent
+ UpTime
+ DurationToAbsolute
+ AbsoluteToDuration
+ MPDelayUntil
+ MPCreateTimer
+ MPDeleteTimer
+ MPSetTimerNotify
+ MPArmTimer
+ MPCancelTimer
+ MPSetExceptionHandler
+ MPThrowException
+ MPDisposeTaskException
+ MPExtractTaskState
+ MPSetTaskState
+ MPRegisterDebugger
+ MPUnregisterDebugger
+ MPAllocateAligned (Preferred over MPAllocate.)
+ MPGetAllocatedBlockSize
+ MPBlockClear
+ MPDataToCode
+ MPRemoteCall (Preferred over _MPRPC.)
+ ===========================================================================================
+*/
+
+
+/*
+ ===========================================================================================
+ The following services are new in version 2.1:
+ MPCreateNotification
+ MPDeleteNotification
+ MPModifyNotification
+ MPCauseNotification
+ MPGetNextTaskID
+ MPGetNextCpuID
+ ===========================================================================================
+*/
+
+
+/*
+ ===========================================================================================
+ The following services are "unofficial" extensions to the original API. They are not in
+ the multiprocessing API documentation, but were in previous versions of this header. They
+ remain supported in version 2.0. They may not be supported in other environments.
+ _MPRPC (Deprecated, use MPRemoteCall for new builds.)
+ _MPAllocateSys (Deprecated, use MPAllocateAligned for new builds.)
+ _MPTaskIsToolboxSafe
+ _MPLibraryVersion
+ _MPLibraryIsCompatible
+ ===========================================================================================
+*/
+
+
+/*
+ ===========================================================================================
+ The following services were in previous versions of this header for "debugging only" use.
+ They are NOT implemented in version 2.0. For old builds they can be accessed by defining
+ the symbol MPIncludeDefunctServices to have a nonzero value.
+ _MPInitializePrintf
+ _MPPrintf
+ _MPDebugStr
+ _MPStatusPString
+ _MPStatusCString
+ ===========================================================================================
+*/
+
+
+/*
+ .
+ ===========================================================================================
+ General Types and Constants
+ ===========================
+*/
#define MPCopyrightNotice \
@@ -200,746 +200,742 @@ extern "C" {
#define MPLibraryPName "\p" MPLibraryName
#define MP_API_Version "2.3"
- enum {
- MPLibrary_MajorVersion = 2, /* ! When these change be sure to update the build versions*/
- MPLibrary_MinorVersion = 3, /* ! used in the startup check in MPInitializeAPI!*/
- MPLibrary_Release = 1,
- MPLibrary_DevelopmentRevision = 1
- };
-
-
-
- typedef struct OpaqueMPProcessID* MPProcessID;
- typedef struct OpaqueMPTaskID* MPTaskID;
- typedef struct OpaqueMPQueueID* MPQueueID;
- typedef struct OpaqueMPSemaphoreID* MPSemaphoreID;
- typedef struct OpaqueMPCriticalRegionID* MPCriticalRegionID;
- typedef struct OpaqueMPTimerID* MPTimerID;
- typedef struct OpaqueMPEventID* MPEventID;
- typedef struct OpaqueMPAddressSpaceID* MPAddressSpaceID;
- typedef struct OpaqueMPNotificationID* MPNotificationID;
- typedef struct OpaqueMPCoherenceID* MPCoherenceID;
- typedef struct OpaqueMPCpuID* MPCpuID;
- typedef struct OpaqueMPAreaID* MPAreaID;
- typedef struct OpaqueMPConsoleID* MPConsoleID;
- typedef struct OpaqueMPOpaqueID* MPOpaqueID;
- enum
- {
- /* Values for MPOpaqueIDClass.*/
- kOpaqueAnyID = 0,
- kOpaqueProcessID = 1,
- kOpaqueTaskID = 2,
- kOpaqueTimerID = 3,
- kOpaqueQueueID = 4,
- kOpaqueSemaphoreID = 5,
- kOpaqueCriticalRegionID = 6,
- kOpaqueCpuID = 7,
- kOpaqueAddressSpaceID = 8,
- kOpaqueEventID = 9,
- kOpaqueCoherenceID = 10,
- kOpaqueAreaID = 11,
- kOpaqueNotificationID = 12,
- kOpaqueConsoleID = 13
- };
-
- typedef UInt32 MPOpaqueIDClass;
-
- enum
- {
- kMPNoID = kInvalidID /* New code should use kInvalidID everywhere.*/
- };
-
-
- typedef OptionBits MPTaskOptions;
- typedef UInt32 TaskStorageIndex;
- typedef UInt32 TaskStorageValue;
- typedef ItemCount MPSemaphoreCount;
- typedef UInt32 MPTaskWeight;
- typedef UInt32 MPEventFlags;
- typedef UInt32 MPExceptionKind;
- typedef UInt32 MPTaskStateKind;
- typedef UInt32 MPPageSizeClass;
-
- enum
- {
- kDurationImmediate = 0L,
- kDurationForever = 0x7FFFFFFF,
- kDurationMillisecond = 1,
- kDurationMicrosecond = -1
- };
-
-
- /*
- .
- ===========================================================================================
- Process/Processor Services
- ==========================
- */
-
-
-
- /*
- * MPProcessors()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ItemCount)
- MPProcessors(void);
-
-
- /* The physical total.*/
-
- /*
- * MPProcessorsScheduled()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ItemCount)
- MPProcessorsScheduled(void);
-
-
- /* Those currently in use.*/
-
- /*
- .
- ===========================================================================================
- Tasking Services
- ================
- */
-
-
-
- enum
- {
- /* For MPCreateTask options*/
- kMPCreateTaskSuspendedMask = 1L << 0,
- kMPCreateTaskTakesAllExceptionsMask = 1L << 1,
- kMPCreateTaskNotDebuggableMask = 1L << 2,
- kMPCreateTaskValidOptionsMask = kMPCreateTaskSuspendedMask | kMPCreateTaskTakesAllExceptionsMask | kMPCreateTaskNotDebuggableMask
- };
-
-
- /* -------------------------------------------------------------------------------------------*/
-
-
-
-
- typedef CALLBACK_API_C(OSStatus , TaskProc)(void * parameter);
-
- /*
- * MPCreateTask()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPCreateTask(
- TaskProc entryPoint,
- void * parameter,
- ByteCount stackSize,
- MPQueueID notifyQueue,
- void * terminationParameter1,
- void * terminationParameter2,
- MPTaskOptions options,
- MPTaskID * task);
-
-
-
-
- /*
- * MPTerminateTask()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPTerminateTask(
- MPTaskID task,
- OSStatus terminationStatus);
+enum {
+ MPLibrary_MajorVersion = 2, /* ! When these change be sure to update the build versions*/
+ MPLibrary_MinorVersion = 3, /* ! used in the startup check in MPInitializeAPI!*/
+ MPLibrary_Release = 1,
+ MPLibrary_DevelopmentRevision = 1
+};
+
+
+
+typedef struct OpaqueMPProcessID* MPProcessID;
+typedef struct OpaqueMPTaskID* MPTaskID;
+typedef struct OpaqueMPQueueID* MPQueueID;
+typedef struct OpaqueMPSemaphoreID* MPSemaphoreID;
+typedef struct OpaqueMPCriticalRegionID* MPCriticalRegionID;
+typedef struct OpaqueMPTimerID* MPTimerID;
+typedef struct OpaqueMPEventID* MPEventID;
+typedef struct OpaqueMPAddressSpaceID* MPAddressSpaceID;
+typedef struct OpaqueMPNotificationID* MPNotificationID;
+typedef struct OpaqueMPCoherenceID* MPCoherenceID;
+typedef struct OpaqueMPCpuID* MPCpuID;
+typedef struct OpaqueMPAreaID* MPAreaID;
+typedef struct OpaqueMPConsoleID* MPConsoleID;
+typedef struct OpaqueMPOpaqueID* MPOpaqueID;
+enum {
+ /* Values for MPOpaqueIDClass.*/
+ kOpaqueAnyID = 0,
+ kOpaqueProcessID = 1,
+ kOpaqueTaskID = 2,
+ kOpaqueTimerID = 3,
+ kOpaqueQueueID = 4,
+ kOpaqueSemaphoreID = 5,
+ kOpaqueCriticalRegionID = 6,
+ kOpaqueCpuID = 7,
+ kOpaqueAddressSpaceID = 8,
+ kOpaqueEventID = 9,
+ kOpaqueCoherenceID = 10,
+ kOpaqueAreaID = 11,
+ kOpaqueNotificationID = 12,
+ kOpaqueConsoleID = 13
+};
+
+typedef UInt32 MPOpaqueIDClass;
+
+enum {
+ kMPNoID = kInvalidID /* New code should use kInvalidID everywhere.*/
+};
+
+
+typedef OptionBits MPTaskOptions;
+typedef UInt32 TaskStorageIndex;
+typedef UInt32 TaskStorageValue;
+typedef ItemCount MPSemaphoreCount;
+typedef UInt32 MPTaskWeight;
+typedef UInt32 MPEventFlags;
+typedef UInt32 MPExceptionKind;
+typedef UInt32 MPTaskStateKind;
+typedef UInt32 MPPageSizeClass;
+
+enum {
+ kDurationImmediate = 0L,
+ kDurationForever = 0x7FFFFFFF,
+ kDurationMillisecond = 1,
+ kDurationMicrosecond = -1
+};
+/*
+ .
+ ===========================================================================================
+ Process/Processor Services
+ ==========================
+*/
- /*
- * MPSetTaskWeight()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPSetTaskWeight(
- MPTaskID task,
- MPTaskWeight weight);
+/*
+ * MPProcessors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ItemCount )
+MPProcessors(void);
+/* The physical total.*/
- /*
- * MPTaskIsPreemptive()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- MPTaskIsPreemptive(MPTaskID taskID);
+/*
+ * MPProcessorsScheduled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ItemCount )
+MPProcessorsScheduled(void);
- /* May be kInvalidID.*/
+/* Those currently in use.*/
- /*
- * MPExit()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- MPExit(OSStatus status);
+/*
+ .
+ ===========================================================================================
+ Tasking Services
+ ================
+*/
+enum {
+ /* For MPCreateTask options*/
+ kMPCreateTaskSuspendedMask = 1L << 0,
+ kMPCreateTaskTakesAllExceptionsMask = 1L << 1,
+ kMPCreateTaskNotDebuggableMask = 1L << 2,
+ kMPCreateTaskValidOptionsMask = kMPCreateTaskSuspendedMask | kMPCreateTaskTakesAllExceptionsMask | kMPCreateTaskNotDebuggableMask
+};
- /*
- * MPYield()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- MPYield(void);
+/* -------------------------------------------------------------------------------------------*/
- /*
- * MPCurrentTaskID()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MPTaskID)
- MPCurrentTaskID(void);
+typedef CALLBACK_API_C( OSStatus , TaskProc )(void * parameter);
+/*
+ * MPCreateTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPCreateTask(
+ TaskProc entryPoint,
+ void * parameter,
+ ByteCount stackSize,
+ MPQueueID notifyQueue,
+ void * terminationParameter1,
+ void * terminationParameter2,
+ MPTaskOptions options,
+ MPTaskID * task);
- /*
- * MPSetTaskType()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.3 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- MPSetTaskType(
- MPTaskID task,
- OSType taskType);
+/*
+ * MPTerminateTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPTerminateTask(
+ MPTaskID task,
+ OSStatus terminationStatus);
- /* -------------------------------------------------------------------------------------------*/
- /*
- ---------------------------------------------------
- ! The task storage services are new in version 2.0.
- */
+/*
+ * MPSetTaskWeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSetTaskWeight(
+ MPTaskID task,
+ MPTaskWeight weight);
- /*
- * MPAllocateTaskStorageIndex()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPAllocateTaskStorageIndex(TaskStorageIndex * index);
+/*
+ * MPTaskIsPreemptive()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+MPTaskIsPreemptive(MPTaskID taskID);
- /*
- * MPDeallocateTaskStorageIndex()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDeallocateTaskStorageIndex(TaskStorageIndex index);
+/* May be kInvalidID.*/
+/*
+ * MPExit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+MPExit(OSStatus status);
- /*
- * MPSetTaskStorageValue()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPSetTaskStorageValue(
- TaskStorageIndex index,
- TaskStorageValue value);
+/*
+ * MPYield()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+MPYield(void);
- /*
- * MPGetTaskStorageValue()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TaskStorageValue)
- MPGetTaskStorageValue(TaskStorageIndex index);
+/*
+ * MPCurrentTaskID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MPTaskID )
+MPCurrentTaskID(void);
- /*
- .
- ===========================================================================================
- Synchronization Services
- ========================
- */
+/*
+ * MPSetTaskType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.3 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSetTaskType(
+ MPTaskID task,
+ OSType taskType);
- /*
- * MPCreateQueue()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPCreateQueue(MPQueueID * queue);
+/* -------------------------------------------------------------------------------------------*/
- /*
- * MPDeleteQueue()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDeleteQueue(MPQueueID queue);
+/*
+ ---------------------------------------------------
+ ! The task storage services are new in version 2.0.
+*/
+/*
+ * MPAllocateTaskStorageIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPAllocateTaskStorageIndex(TaskStorageIndex * index);
- /*
- * MPNotifyQueue()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPNotifyQueue(
- MPQueueID queue,
- void * param1,
- void * param2,
- void * param3);
+/*
+ * MPDeallocateTaskStorageIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDeallocateTaskStorageIndex(TaskStorageIndex index);
- /*
- * MPWaitOnQueue()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPWaitOnQueue(
- MPQueueID queue,
- void ** param1,
- void ** param2,
- void ** param3,
- Duration timeout);
+/*
+ * MPSetTaskStorageValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSetTaskStorageValue(
+ TaskStorageIndex index,
+ TaskStorageValue value);
- /*
- * MPSetQueueReserve()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPSetQueueReserve(
- MPQueueID queue,
- ItemCount count);
- /* -------------------------------------------------------------------------------------------*/
+/*
+ * MPGetTaskStorageValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TaskStorageValue )
+MPGetTaskStorageValue(TaskStorageIndex index);
- /*
- * MPCreateSemaphore()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPCreateSemaphore(
- MPSemaphoreCount maximumValue,
- MPSemaphoreCount initialValue,
- MPSemaphoreID * semaphore);
+/*
+ .
+ ===========================================================================================
+ Synchronization Services
+ ========================
+*/
+
+
+
+/*
+ * MPCreateQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPCreateQueue(MPQueueID * queue);
+
+
+
+
+/*
+ * MPDeleteQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDeleteQueue(MPQueueID queue);
- /*
- * MPDeleteSemaphore()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDeleteSemaphore(MPSemaphoreID semaphore);
+/*
+ * MPNotifyQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPNotifyQueue(
+ MPQueueID queue,
+ void * param1,
+ void * param2,
+ void * param3);
+
+/*
+ * MPWaitOnQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPWaitOnQueue(
+ MPQueueID queue,
+ void ** param1,
+ void ** param2,
+ void ** param3,
+ Duration timeout);
- /*
- * MPSignalSemaphore()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPSignalSemaphore(MPSemaphoreID semaphore);
+/*
+ * MPSetQueueReserve()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSetQueueReserve(
+ MPQueueID queue,
+ ItemCount count);
+
- /*
- * MPWaitOnSemaphore()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPWaitOnSemaphore(
- MPSemaphoreID semaphore,
- Duration timeout);
+
+/* -------------------------------------------------------------------------------------------*/
+
+
+
+/*
+ * MPCreateSemaphore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPCreateSemaphore(
+ MPSemaphoreCount maximumValue,
+ MPSemaphoreCount initialValue,
+ MPSemaphoreID * semaphore);
+
+
+
+
+/*
+ * MPDeleteSemaphore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDeleteSemaphore(MPSemaphoreID semaphore);
+
+
+
+
+/*
+ * MPSignalSemaphore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSignalSemaphore(MPSemaphoreID semaphore);
+
+
+
+
+/*
+ * MPWaitOnSemaphore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPWaitOnSemaphore(
+ MPSemaphoreID semaphore,
+ Duration timeout);
#define MPCreateBinarySemaphore(semaphore) \
MPCreateSemaphore ( 1, 1, (semaphore) )
- /* -------------------------------------------------------------------------------------------*/
+/* -------------------------------------------------------------------------------------------*/
- /*
- * MPCreateCriticalRegion()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPCreateCriticalRegion(MPCriticalRegionID * criticalRegion);
+/*
+ * MPCreateCriticalRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPCreateCriticalRegion(MPCriticalRegionID * criticalRegion);
- /*
- * MPDeleteCriticalRegion()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDeleteCriticalRegion(MPCriticalRegionID criticalRegion);
+/*
+ * MPDeleteCriticalRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDeleteCriticalRegion(MPCriticalRegionID criticalRegion);
+
+/*
+ * MPEnterCriticalRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPEnterCriticalRegion(
+ MPCriticalRegionID criticalRegion,
+ Duration timeout);
- /*
- * MPEnterCriticalRegion()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPEnterCriticalRegion(
- MPCriticalRegionID criticalRegion,
- Duration timeout);
+/*
+ * MPExitCriticalRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPExitCriticalRegion(MPCriticalRegionID criticalRegion);
+
- /*
- * MPExitCriticalRegion()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPExitCriticalRegion(MPCriticalRegionID criticalRegion);
+/* -------------------------------------------------------------------------------------------*/
+
+
+/*
+ * MPCreateEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+MPCreateEvent(MPEventID * event);
+
+
+
+/*
+ * MPDeleteEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDeleteEvent(MPEventID event);
+
+
+
+
+/*
+ * MPSetEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSetEvent(
+ MPEventID event,
+ MPEventFlags flags);
- /* -------------------------------------------------------------------------------------------*/
+/*
+ * MPWaitForEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+MPWaitForEvent(
+ MPEventID event,
+ MPEventFlags * flags,
+ Duration timeout);
- /*
- * MPCreateEvent()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- MPCreateEvent(MPEventID * event);
+/*
+ .
+ ===========================================================================================
+ Notification Services (API)
+ =====================
+*/
- /*
- * MPDeleteEvent()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDeleteEvent(MPEventID event);
+/*
+ * MPCreateNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPCreateNotification(MPNotificationID * notificationID);
- /*
- * MPSetEvent()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPSetEvent(
- MPEventID event,
- MPEventFlags flags);
-
-
-
- /*
- * MPWaitForEvent()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- MPWaitForEvent(
- MPEventID event,
- MPEventFlags * flags,
- Duration timeout);
-
-
- /*
- .
- ===========================================================================================
- Notification Services (API)
- =====================
- */
+/*
+ * MPDeleteNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDeleteNotification(MPNotificationID notificationID);
- /*
- * MPCreateNotification()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPCreateNotification(MPNotificationID * notificationID);
+/*
+ * MPModifyNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPModifyNotification(
+ MPNotificationID notificationID,
+ MPOpaqueID anID,
+ void * notifyParam1,
+ void * notifyParam2,
+ void * notifyParam3);
- /*
- * MPDeleteNotification()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDeleteNotification(MPNotificationID notificationID);
+/*
+ * MPModifyNotificationParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.3 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+MPModifyNotificationParameters(
+ MPNotificationID notificationID,
+ MPOpaqueIDClass kind,
+ void * notifyParam1,
+ void * notifyParam2,
+ void * notifyParam3);
- /*
- * MPModifyNotification()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPModifyNotification(
- MPNotificationID notificationID,
- MPOpaqueID anID,
- void * notifyParam1,
- void * notifyParam2,
- void * notifyParam3);
-
-
- /*
- * MPModifyNotificationParameters()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.3 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- MPModifyNotificationParameters(
- MPNotificationID notificationID,
- MPOpaqueIDClass kind,
- void * notifyParam1,
- void * notifyParam2,
- void * notifyParam3);
-
-
-
-
- /*
- * MPCauseNotification()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPCauseNotification(MPNotificationID notificationID);
+/*
+ * MPCauseNotification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPCauseNotification(MPNotificationID notificationID);
- /*
- .
- ===========================================================================================
- Timer Services
- ==============
- */
+/*
+ .
+ ===========================================================================================
+ Timer Services
+ ==============
+*/
- /*
- --------------------------------------------
- ! The timer services are new in version 2.0.
- */
+/*
+ --------------------------------------------
+ ! The timer services are new in version 2.0.
+*/
#if 0
- /* For now these are taken from DriverServices, should be in a better place.*/
+/* For now these are taken from DriverServices, should be in a better place.*/
#if CALL_NOT_IN_CARBON
- /*
- * UpTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(AbsoluteTime)
- UpTime(void);
-
-
- /*
- * DurationToAbsolute()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(AbsoluteTime)
- DurationToAbsolute(Duration duration);
-
-
- /*
- * AbsoluteToDuration()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Duration)
- AbsoluteToDuration(AbsoluteTime time);
+/*
+ * UpTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( AbsoluteTime )
+UpTime(void);
+
+
+/*
+ * DurationToAbsolute()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( AbsoluteTime )
+DurationToAbsolute(Duration duration);
+
+
+/*
+ * AbsoluteToDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Duration )
+AbsoluteToDuration(AbsoluteTime time);
#endif /* CALL_NOT_IN_CARBON */
@@ -947,770 +943,759 @@ extern "C" {
#endif /* 0 */
- enum
- {
- /* For MPArmTimer options*/
- kMPPreserveTimerIDMask = 1L << 0,
- kMPTimeIsDeltaMask = 1L << 1,
- kMPTimeIsDurationMask = 1L << 2
- };
+enum {
+ /* For MPArmTimer options*/
+ kMPPreserveTimerIDMask = 1L << 0,
+ kMPTimeIsDeltaMask = 1L << 1,
+ kMPTimeIsDurationMask = 1L << 2
+};
- /*
- * MPDelayUntil()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDelayUntil(AbsoluteTime * expirationTime);
+/*
+ * MPDelayUntil()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDelayUntil(AbsoluteTime * expirationTime);
#if CALL_NOT_IN_CARBON
- /*
- * MPDelayUntilSys()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- MPDelayUntilSys(AbsoluteTime * expirationTime);
+/*
+ * MPDelayUntilSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+MPDelayUntilSys(AbsoluteTime * expirationTime);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * MPCreateTimer()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPCreateTimer(MPTimerID * timerID);
-
-
-
-
- /*
- * MPDeleteTimer()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDeleteTimer(MPTimerID timerID);
-
+/*
+ * MPCreateTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPCreateTimer(MPTimerID * timerID);
+
+
+
+
+/*
+ * MPDeleteTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDeleteTimer(MPTimerID timerID);
+
+
+
+
+/*
+ * MPSetTimerNotify()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSetTimerNotify(
+ MPTimerID timerID,
+ MPOpaqueID anID,
+ void * notifyParam1,
+ void * notifyParam2,
+ void * notifyParam3);
+
+
+
+
+/*
+ * MPArmTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPArmTimer(
+ MPTimerID timerID,
+ AbsoluteTime * expirationTime,
+ OptionBits options);
+
+
+
+
+/*
+ * MPCancelTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPCancelTimer(
+ MPTimerID timerID,
+ AbsoluteTime * timeRemaining);
+
+
+
+/*
+ .
+ ===========================================================================================
+ Memory Services
+ ===============
+*/
+
+
+enum {
+ /* Maximum allocation request size is 1GB.*/
+ kMPMaxAllocSize = 1024L * 1024 * 1024
+};
-
-
- /*
- * MPSetTimerNotify()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPSetTimerNotify(
- MPTimerID timerID,
- MPOpaqueID anID,
- void * notifyParam1,
- void * notifyParam2,
- void * notifyParam3);
-
-
-
-
- /*
- * MPArmTimer()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPArmTimer(
- MPTimerID timerID,
- AbsoluteTime * expirationTime,
- OptionBits options);
-
-
-
-
- /*
- * MPCancelTimer()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPCancelTimer(
- MPTimerID timerID,
- AbsoluteTime * timeRemaining);
-
-
-
- /*
- .
- ===========================================================================================
- Memory Services
- ===============
- */
-
-
- enum
- {
- /* Maximum allocation request size is 1GB.*/
- kMPMaxAllocSize = 1024L * 1024 * 1024
- };
-
- enum
- {
- /* Values for the alignment parameter to MPAllocateAligned.*/
- kMPAllocateDefaultAligned = 0,
- kMPAllocate8ByteAligned = 3,
- kMPAllocate16ByteAligned = 4,
- kMPAllocate32ByteAligned = 5,
- kMPAllocate1024ByteAligned = 10,
- kMPAllocate4096ByteAligned = 12,
- kMPAllocateMaxAlignment = 16, /* Somewhat arbitrary limit on expectations.*/
- kMPAllocateAltiVecAligned = kMPAllocate16ByteAligned, /* The P.C. name.*/
- kMPAllocateVMXAligned = kMPAllocateAltiVecAligned, /* The older, common name.*/
- kMPAllocateVMPageAligned = 254, /* Pseudo value, converted at runtime.*/
- kMPAllocateInterlockAligned = 255 /* Pseudo value, converted at runtime.*/
- };
+enum {
+ /* Values for the alignment parameter to MPAllocateAligned.*/
+ kMPAllocateDefaultAligned = 0,
+ kMPAllocate8ByteAligned = 3,
+ kMPAllocate16ByteAligned = 4,
+ kMPAllocate32ByteAligned = 5,
+ kMPAllocate1024ByteAligned = 10,
+ kMPAllocate4096ByteAligned = 12,
+ kMPAllocateMaxAlignment = 16, /* Somewhat arbitrary limit on expectations.*/
+ kMPAllocateAltiVecAligned = kMPAllocate16ByteAligned, /* The P.C. name.*/
+ kMPAllocateVMXAligned = kMPAllocateAltiVecAligned, /* The older, common name.*/
+ kMPAllocateVMPageAligned = 254, /* Pseudo value, converted at runtime.*/
+ kMPAllocateInterlockAligned = 255 /* Pseudo value, converted at runtime.*/
+};
- enum
- {
- /* Values for the options parameter to MPAllocateAligned.*/
- kMPAllocateClearMask = 0x0001, /* Zero the allocated block.*/
- kMPAllocateGloballyMask = 0x0002, /* Allocate from the globally visible pool.*/
- kMPAllocateResidentMask = 0x0004, /* Allocate from the RAM-resident pool.*/
- kMPAllocateNoGrowthMask = 0x0010, /* Do not attempt to grow the pool.*/
- kMPAllocateNoCreateMask = 0x0020 /* Do not attempt to create the pool if it doesn't exist yet.*/
- };
-
-
- /* -------------------------------------------------------------------------------------------*/
-
-
-
- /*
- * MPAllocateAligned()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(LogicalAddress)
- MPAllocateAligned(
- ByteCount size,
- UInt8 alignment,
- OptionBits options);
-
-
- /* ! MPAllocateAligned is new in version 2.0.*/
-
- /*
- * MPAllocate()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(LogicalAddress)
- MPAllocate(ByteCount size);
-
-
- /* Use MPAllocateAligned instead.*/
-
- /*
- * MPFree()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- MPFree(LogicalAddress object);
-
-
-
-
- /*
- * MPGetAllocatedBlockSize()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ByteCount)
- MPGetAllocatedBlockSize(LogicalAddress object);
-
-
-
- /* -------------------------------------------------------------------------------------------*/
-
-
-
- /*
- * MPBlockCopy()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- MPBlockCopy(
- LogicalAddress source,
- LogicalAddress destination,
- ByteCount size);
-
-
-
-
- /*
- * MPBlockClear()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- MPBlockClear(
- LogicalAddress address,
- ByteCount size);
-
-
- /* ! MPBlockClear is new in version 2.0.*/
-
- /*
- * MPDataToCode()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- MPDataToCode(
- LogicalAddress address,
- ByteCount size);
-
-
- /* ! MPDataToCode is new in version 2.0.*/
- /*
- .
- ===========================================================================================
- Exception/Debugging Services
- ============================
- */
-
-
- /*
- -------------------------------------------------------------------------------------------
- *** Important Note ***
- ----------------------
-
- The functions MPExtractTaskState and MPSetTaskState infer the size of the "info" buffer
- from the "kind" parameter. A given value for MPTaskStateKind will always refer to a
- single specific physical buffer layout. Should new register sets be added, or the size
- or number of any registers change, new values of MPTaskStateKind will be introduced to
- refer to the new buffer layouts.
-
- The following types for the buffers are in MachineExceptions. The correspondence between
- MPTaskStateKind values and MachineExceptions types is:
-
- kMPTaskStateRegisters -> RegisterInformation
- kMPTaskStateFPU -> FPUInformation
- kMPTaskStateVectors -> VectorInformation
- kMPTaskStateMachine -> MachineInformation
- kMPTaskState32BitMemoryException -> ExceptionInfo for old-style 32-bit memory exceptions
-
- For reference, on PowerPC the MachineExceptions types contain:
-
- RegisterInformation -> The GPRs, 32 values of 64 bits each.
- FPUInformation -> The FPRs plus FPSCR, 32 values of 64 bits each, one value of
- 32 bits.
- VectorInformation -> The AltiVec vector registers plus VSCR and VRSave, 32 values
- of 128 bits each, one value of 128 bits, and one 32 bit value.
- MachineInformation -> The CTR, LR, PC, each of 64 bits. The CR, XER, MSR, MQ,
- exception kind, and DSISR, each of 32 bits. The 64 bit DAR.
- ExceptionInfo -> Only memory exceptions are specified, 4 fields of 32 bits each.
- Note that this type only covers memory exceptions on 32-bit CPUs!
- The following types are declared here:
- kMPTaskStateTaskInfo -> MPTaskInfo
- */
-
+enum {
+ /* Values for the options parameter to MPAllocateAligned.*/
+ kMPAllocateClearMask = 0x0001, /* Zero the allocated block.*/
+ kMPAllocateGloballyMask = 0x0002, /* Allocate from the globally visible pool.*/
+ kMPAllocateResidentMask = 0x0004, /* Allocate from the RAM-resident pool.*/
+ kMPAllocateNoGrowthMask = 0x0010, /* Do not attempt to grow the pool.*/
+ kMPAllocateNoCreateMask = 0x0020 /* Do not attempt to create the pool if it doesn't exist yet.*/
+};
- enum
- {
- /* Values for the TaskStateKind to MPExtractTaskState and MPSetTaskState.*/
- kMPTaskStateRegisters = 0, /* The task general registers.*/
- kMPTaskStateFPU = 1, /* The task floating point registers*/
- kMPTaskStateVectors = 2, /* The task vector registers*/
- kMPTaskStateMachine = 3, /* The task machine registers*/
- kMPTaskState32BitMemoryException = 4, /* The task memory exception information for 32-bit CPUs.*/
- kMPTaskStateTaskInfo = 5 /* Static and dynamic information about the task.*/
- };
-
-
-
- enum
- {
- /* Option bits and numbers for MPDisposeTaskException.*/
- kMPTaskPropagate = 0, /* The exception is propagated.*/
- kMPTaskResumeStep = 1, /* The task is resumed and single step is enabled.*/
- kMPTaskResumeBranch = 2, /* The task is resumed and branch stepping is enabled.*/
- kMPTaskResumeMask = 0x0000, /* The task is resumed.*/
- kMPTaskPropagateMask = 1 << kMPTaskPropagate, /* The exception is propagated.*/
- kMPTaskResumeStepMask = 1 << kMPTaskResumeStep, /* The task is resumed and single step is enabled.*/
- kMPTaskResumeBranchMask = 1 << kMPTaskResumeBranch /* The task is resumed and branch stepping is enabled.*/
- };
-
-
-
- enum
- {
- /* For kMPTaskStateTaskInfo, the task's runState*/
- kMPTaskBlocked = 0, /* Task is blocked (queued on resource)*/
- kMPTaskReady = 1, /* Task is runnable*/
- kMPTaskRunning = 2 /* Task is running*/
- };
-
- enum
- {
- /* For kMPTaskStateTaskInfo, the version of the MPTaskInfo structure requested.*/
- kMPTaskInfoVersion = 3
- };
-
-
- struct MPTaskInfo
- {
- PBVersion version; /* Version 3 of the data structure requested*/
-
- OSType name; /* Task name*/
-
- OSType queueName; /* Task's queue owner name*/
- UInt16 runState; /* Running, ready, blocked*/
- UInt16 lastCPU; /* Address of CPU where task previously ran*/
- UInt32 weight; /* Processing weight: 1 - 10,000*/
-
- MPProcessID processID; /* Owning process ID*/
-
- AbsoluteTime cpuTime; /* Accumulated task time*/
- AbsoluteTime schedTime; /* Time when last scheduled*/
- AbsoluteTime creationTime; /* Time when task created*/
-
- ItemCount codePageFaults; /* Page faults from code execution*/
- ItemCount dataPageFaults; /* Page faults from data access*/
- ItemCount preemptions; /* Number of times task was preempted*/
-
- MPCpuID cpuID; /* ID of CPU where task previously ran.*/
- MPOpaqueID blockedObject; /* ID of blocked object.*/
- MPAddressSpaceID spaceID; /* Address space ID of this task.*/
-
- LogicalAddress stackBase; /* Base of stack (lowest address).*/
- LogicalAddress stackLimit; /* Stack limit (highest address).*/
- LogicalAddress stackCurr; /* Current stack address.*/
- };
- typedef struct MPTaskInfo MPTaskInfo;
- /*
- Upon a task exception, the following message is sent to the designated queue:
- 1. The MPTaskID,
- 2. The exception kind. These are enumerated in the interfaces header MachineExceptions.h
- 3. N/A
- */
+/* -------------------------------------------------------------------------------------------*/
- /* -------------------------------------------------------------------------------------------*/
+/*
+ * MPAllocateAligned()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( LogicalAddress )
+MPAllocateAligned(
+ ByteCount size,
+ UInt8 alignment,
+ OptionBits options);
+
+
+/* ! MPAllocateAligned is new in version 2.0.*/
-
- /*
- * MPSetExceptionHandler()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPSetExceptionHandler(
- MPTaskID task,
- MPQueueID exceptionQ);
+/*
+ * MPAllocate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( LogicalAddress )
+MPAllocate(ByteCount size);
+/* Use MPAllocateAligned instead.*/
+/*
+ * MPFree()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+MPFree(LogicalAddress object);
- /*
- * MPDisposeTaskException()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPDisposeTaskException(
- MPTaskID task,
- OptionBits action);
+/*
+ * MPGetAllocatedBlockSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ByteCount )
+MPGetAllocatedBlockSize(LogicalAddress object);
- /*
- * MPExtractTaskState()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPExtractTaskState(
- MPTaskID task,
- MPTaskStateKind kind,
- void * info);
+/* -------------------------------------------------------------------------------------------*/
- /*
- * MPSetTaskState()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPSetTaskState(
- MPTaskID task,
- MPTaskStateKind kind,
- void * info);
+/*
+ * MPBlockCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+MPBlockCopy(
+ LogicalAddress source,
+ LogicalAddress destination,
+ ByteCount size);
- /*
- * MPThrowException()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPThrowException(
- MPTaskID task,
- MPExceptionKind kind);
+
+/*
+ * MPBlockClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+MPBlockClear(
+ LogicalAddress address,
+ ByteCount size);
+/* ! MPBlockClear is new in version 2.0.*/
- /* -------------------------------------------------------------------------------------------*/
+/*
+ * MPDataToCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+MPDataToCode(
+ LogicalAddress address,
+ ByteCount size);
+
+
+/* ! MPDataToCode is new in version 2.0.*/
+/*
+ .
+ ===========================================================================================
+ Exception/Debugging Services
+ ============================
+*/
- typedef UInt32 MPDebuggerLevel;
- enum
- {
- kMPLowLevelDebugger = 0x00000000, /* MacsBug-like*/
- kMPMidLevelDebugger = 0x10000000, /* Jasik-like*/
- kMPHighLevelDebugger = 0x20000000 /* Metrowerks-like*/
- };
-
+/*
+ -------------------------------------------------------------------------------------------
+ *** Important Note ***
+ ----------------------
+
+ The functions MPExtractTaskState and MPSetTaskState infer the size of the "info" buffer
+ from the "kind" parameter. A given value for MPTaskStateKind will always refer to a
+ single specific physical buffer layout. Should new register sets be added, or the size
+ or number of any registers change, new values of MPTaskStateKind will be introduced to
+ refer to the new buffer layouts.
+
+ The following types for the buffers are in MachineExceptions. The correspondence between
+ MPTaskStateKind values and MachineExceptions types is:
+
+ kMPTaskStateRegisters -> RegisterInformation
+ kMPTaskStateFPU -> FPUInformation
+ kMPTaskStateVectors -> VectorInformation
+ kMPTaskStateMachine -> MachineInformation
+ kMPTaskState32BitMemoryException -> ExceptionInfo for old-style 32-bit memory exceptions
+
+ For reference, on PowerPC the MachineExceptions types contain:
+
+ RegisterInformation -> The GPRs, 32 values of 64 bits each.
+ FPUInformation -> The FPRs plus FPSCR, 32 values of 64 bits each, one value of
+ 32 bits.
+ VectorInformation -> The AltiVec vector registers plus VSCR and VRSave, 32 values
+ of 128 bits each, one value of 128 bits, and one 32 bit value.
+ MachineInformation -> The CTR, LR, PC, each of 64 bits. The CR, XER, MSR, MQ,
+ exception kind, and DSISR, each of 32 bits. The 64 bit DAR.
+ ExceptionInfo -> Only memory exceptions are specified, 4 fields of 32 bits each.
+ Note that this type only covers memory exceptions on 32-bit CPUs!
+ The following types are declared here:
+ kMPTaskStateTaskInfo -> MPTaskInfo
+*/
- /*
- * MPRegisterDebugger()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPRegisterDebugger(
- MPQueueID queue,
- MPDebuggerLevel level);
+enum {
+ /* Values for the TaskStateKind to MPExtractTaskState and MPSetTaskState.*/
+ kMPTaskStateRegisters = 0, /* The task general registers.*/
+ kMPTaskStateFPU = 1, /* The task floating point registers*/
+ kMPTaskStateVectors = 2, /* The task vector registers*/
+ kMPTaskStateMachine = 3, /* The task machine registers*/
+ kMPTaskState32BitMemoryException = 4, /* The task memory exception information for 32-bit CPUs.*/
+ kMPTaskStateTaskInfo = 5 /* Static and dynamic information about the task.*/
+};
- /*
- * MPUnregisterDebugger()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- MPUnregisterDebugger(MPQueueID queue);
+enum {
+ /* Option bits and numbers for MPDisposeTaskException.*/
+ kMPTaskPropagate = 0, /* The exception is propagated.*/
+ kMPTaskResumeStep = 1, /* The task is resumed and single step is enabled.*/
+ kMPTaskResumeBranch = 2, /* The task is resumed and branch stepping is enabled.*/
+ kMPTaskResumeMask = 0x0000, /* The task is resumed.*/
+ kMPTaskPropagateMask = 1 << kMPTaskPropagate, /* The exception is propagated.*/
+ kMPTaskResumeStepMask = 1 << kMPTaskResumeStep, /* The task is resumed and single step is enabled.*/
+ kMPTaskResumeBranchMask = 1 << kMPTaskResumeBranch /* The task is resumed and branch stepping is enabled.*/
+};
- /*
- .
- ===========================================================================================
- Remote Call Services
- ====================
- */
+enum {
+ /* For kMPTaskStateTaskInfo, the task's runState*/
+ kMPTaskBlocked = 0, /* Task is blocked (queued on resource)*/
+ kMPTaskReady = 1, /* Task is runnable*/
+ kMPTaskRunning = 2 /* Task is running*/
+};
+enum {
+ /* For kMPTaskStateTaskInfo, the version of the MPTaskInfo structure requested.*/
+ kMPTaskInfoVersion = 3
+};
- typedef CALLBACK_API_C(void *, MPRemoteProcedure)(void * parameter);
-
- typedef UInt8 MPRemoteContext;
- enum
- {
- kMPAnyRemoteContext = 0,
- kMPOwningProcessRemoteContext = 1,
- kMPInterruptRemoteContext = 2,
- kMPAsyncInterruptRemoteContext = 3
- };
+struct MPTaskInfo {
+ PBVersion version; /* Version 3 of the data structure requested*/
+ OSType name; /* Task name*/
+ OSType queueName; /* Task's queue owner name*/
+ UInt16 runState; /* Running, ready, blocked*/
+ UInt16 lastCPU; /* Address of CPU where task previously ran*/
+ UInt32 weight; /* Processing weight: 1 - 10,000*/
- /*
- * MPRemoteCall()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void *)
- MPRemoteCall(
- MPRemoteProcedure remoteProc,
- void * parameter,
- MPRemoteContext context);
+ MPProcessID processID; /* Owning process ID*/
+ AbsoluteTime cpuTime; /* Accumulated task time*/
+ AbsoluteTime schedTime; /* Time when last scheduled*/
+ AbsoluteTime creationTime; /* Time when task created*/
- /* ! MPRemoteCall is new in version 2.0.*/
- /*
- .
- ===========================================================================================
- Checking API Availability
- =========================
- */
+ ItemCount codePageFaults; /* Page faults from code execution*/
+ ItemCount dataPageFaults; /* Page faults from data access*/
+ ItemCount preemptions; /* Number of times task was preempted*/
+ MPCpuID cpuID; /* ID of CPU where task previously ran.*/
+ MPOpaqueID blockedObject; /* ID of blocked object.*/
+ MPAddressSpaceID spaceID; /* Address space ID of this task.*/
- /*
- ===========================================================================================
- *** WARNING: You must properly check the availability of MP services before calling them!
- ===========================================================================================
+ LogicalAddress stackBase; /* Base of stack (lowest address).*/
+ LogicalAddress stackLimit; /* Stack limit (highest address).*/
+ LogicalAddress stackCurr; /* Current stack address.*/
+};
+typedef struct MPTaskInfo MPTaskInfo;
+/*
+ Upon a task exception, the following message is sent to the designated queue:
+ 1. The MPTaskID,
+ 2. The exception kind. These are enumerated in the interfaces header MachineExceptions.h
+ 3. N/A
+*/
- Checking for the availability of the MP API is rather ugly. This is a historical problem,
- caused by the original implementation letting itself get prepared when it really wasn't
- usable and complicated by some important clients then depending on weak linking to "work".
- (And further complicated by CFM not supporting "deferred" imports, which is how many
- programmers think weak imports work.)
- The end result is that the MP API library may get prepared by CFM but be totally unusable.
- This means that if you import from the MP API library, you cannot simply check for a
- resolved import to decide if MP services are available. Worse, if you explicitly prepare
- the MP API library you cannot assume that a noErr result from GetSharedLibrary means that
- MP services are available.
+/* -------------------------------------------------------------------------------------------*/
- o If you import from the MP API library you MUST:
- Use the MPLibraryIsLoaded macro (or equivalent code in languages other than C) to tell
- if the MP API services are available. It is not sufficient to simply check that an
- imported symbol is resolved as is commonly done for other libraries. The macro expands
- to the expression:
- ( ( (UInt32)_MPIsFullyInitialized != (UInt32)kUnresolvedCFragSymbolAddress ) &&
- ( _MPIsFullyInitialized () ) )
+/*
+ * MPSetExceptionHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSetExceptionHandler(
+ MPTaskID task,
+ MPQueueID exceptionQ);
- This checks if the imported symbol _MPIsFullyInitialized is resolved and if resolved
- calls it. Both parts must succeed for the MP API services to be available.
- o If you explicitly prepare the MP API library you MUST:
- Use code similar to the following example to tell if the MP API services are available.
- It is not sufficient to depend on just a noErr result from GetSharedLibrary.
- OSErr err;
- Boolean mpIsAvailable = false;
- CFragConnectionID connID = kInvalidID;
- MPIsFullyInitializedProc mpIsFullyInitialized = NULL;
+/*
+ * MPDisposeTaskException()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPDisposeTaskException(
+ MPTaskID task,
+ OptionBits action);
- err = GetSharedLibrary ( "\pMPLibrary", kCompiledCFragArch, kReferenceCFrag,
- &connID, NULL, NULL );
- if ( err == noErr ) {
- err = FindSymbol ( connID, "\p_MPIsFullyInitialized",
- (Ptr *) &mpIsFullyInitialized, NULL );
- }
- if ( err == noErr ) {
- mpIsAvailable = (* mpIsFullyInitialized) ();
- }
- ===========================================================================================
- */
+/*
+ * MPExtractTaskState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPExtractTaskState(
+ MPTaskID task,
+ MPTaskStateKind kind,
+ void * info);
- /*
- * _MPIsFullyInitialized()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- _MPIsFullyInitialized(void);
-
-
- typedef CALLBACK_API_C(Boolean , MPIsFullyInitializedProc)(void);
+
+
+/*
+ * MPSetTaskState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPSetTaskState(
+ MPTaskID task,
+ MPTaskStateKind kind,
+ void * info);
+
+
+
+
+/*
+ * MPThrowException()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPThrowException(
+ MPTaskID task,
+ MPExceptionKind kind);
+
+
+
+/* -------------------------------------------------------------------------------------------*/
+
+
+typedef UInt32 MPDebuggerLevel;
+enum {
+ kMPLowLevelDebugger = 0x00000000, /* MacsBug-like*/
+ kMPMidLevelDebugger = 0x10000000, /* Jasik-like*/
+ kMPHighLevelDebugger = 0x20000000 /* Metrowerks-like*/
+};
+
+
+
+/*
+ * MPRegisterDebugger()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPRegisterDebugger(
+ MPQueueID queue,
+ MPDebuggerLevel level);
+
+
+
+
+/*
+ * MPUnregisterDebugger()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+MPUnregisterDebugger(MPQueueID queue);
+
+
+
+/*
+ .
+ ===========================================================================================
+ Remote Call Services
+ ====================
+*/
+
+
+
+typedef CALLBACK_API_C( void *, MPRemoteProcedure )(void * parameter);
+
+typedef UInt8 MPRemoteContext;
+enum {
+ kMPAnyRemoteContext = 0,
+ kMPOwningProcessRemoteContext = 1,
+ kMPInterruptRemoteContext = 2,
+ kMPAsyncInterruptRemoteContext = 3
+};
+
+
+
+/*
+ * MPRemoteCall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void * )
+MPRemoteCall(
+ MPRemoteProcedure remoteProc,
+ void * parameter,
+ MPRemoteContext context);
+
+
+/* ! MPRemoteCall is new in version 2.0.*/
+/*
+ .
+ ===========================================================================================
+ Checking API Availability
+ =========================
+*/
+
+
+/*
+ ===========================================================================================
+ *** WARNING: You must properly check the availability of MP services before calling them!
+ ===========================================================================================
+
+ Checking for the availability of the MP API is rather ugly. This is a historical problem,
+ caused by the original implementation letting itself get prepared when it really wasn't
+ usable and complicated by some important clients then depending on weak linking to "work".
+ (And further complicated by CFM not supporting "deferred" imports, which is how many
+ programmers think weak imports work.)
+
+ The end result is that the MP API library may get prepared by CFM but be totally unusable.
+ This means that if you import from the MP API library, you cannot simply check for a
+ resolved import to decide if MP services are available. Worse, if you explicitly prepare
+ the MP API library you cannot assume that a noErr result from GetSharedLibrary means that
+ MP services are available.
+
+ o If you import from the MP API library you MUST:
+
+ Use the MPLibraryIsLoaded macro (or equivalent code in languages other than C) to tell
+ if the MP API services are available. It is not sufficient to simply check that an
+ imported symbol is resolved as is commonly done for other libraries. The macro expands
+ to the expression:
+
+ ( ( (UInt32)_MPIsFullyInitialized != (UInt32)kUnresolvedCFragSymbolAddress ) &&
+ ( _MPIsFullyInitialized () ) )
+
+ This checks if the imported symbol _MPIsFullyInitialized is resolved and if resolved
+ calls it. Both parts must succeed for the MP API services to be available.
+
+ o If you explicitly prepare the MP API library you MUST:
+
+ Use code similar to the following example to tell if the MP API services are available.
+ It is not sufficient to depend on just a noErr result from GetSharedLibrary.
+
+ OSErr err;
+ Boolean mpIsAvailable = false;
+ CFragConnectionID connID = kInvalidID;
+ MPIsFullyInitializedProc mpIsFullyInitialized = NULL;
+
+ err = GetSharedLibrary ( "\pMPLibrary", kCompiledCFragArch, kReferenceCFrag,
+ &connID, NULL, NULL );
+
+ if ( err == noErr ) {
+ err = FindSymbol ( connID, "\p_MPIsFullyInitialized",
+ (Ptr *) &mpIsFullyInitialized, NULL );
+ }
+
+ if ( err == noErr ) {
+ mpIsAvailable = (* mpIsFullyInitialized) ();
+ }
+
+ ===========================================================================================
+*/
+
+
+/*
+ * _MPIsFullyInitialized()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+_MPIsFullyInitialized(void);
+
+
+typedef CALLBACK_API_C( Boolean , MPIsFullyInitializedProc )(void);
#define kMPUnresolvedCFragSymbolAddress 0
#define MPLibraryIsLoaded() \
( ( (UInt32)_MPIsFullyInitialized != (UInt32)kMPUnresolvedCFragSymbolAddress ) && \
( _MPIsFullyInitialized () ) )
- /*
- .
- ===========================================================================================
- Miscellaneous Services
- ======================
- */
-
-
- /*
- * _MPLibraryVersion()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- _MPLibraryVersion(
- const char ** versionCString,
- UInt32 * major,
- UInt32 * minor,
- UInt32 * release,
- UInt32 * revision);
-
-
- /*
- .
- ===========================================================================================
- Unofficial Services
- ===================
- */
-
-
- /*
- ===========================================================================================
- *** WARNING ***
- These services are not part of the officially documented multiprocessing API. They may not
- be avaliable in future versions of Mac OS multiprocessing support, or in environments that
- have a different underlying OS architecture such as Mac OS on top of a microkernel, the
- Mac OS Blue Box under Mac OS X, native MP support in Mac OS X, etc.
- ===========================================================================================
- */
+/*
+ .
+ ===========================================================================================
+ Miscellaneous Services
+ ======================
+*/
+
+
+/*
+ * _MPLibraryVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+_MPLibraryVersion(
+ const char ** versionCString,
+ UInt32 * major,
+ UInt32 * minor,
+ UInt32 * release,
+ UInt32 * revision);
+
+
+/*
+ .
+ ===========================================================================================
+ Unofficial Services
+ ===================
+*/
+
+
+/*
+ ===========================================================================================
+ *** WARNING ***
+ These services are not part of the officially documented multiprocessing API. They may not
+ be avaliable in future versions of Mac OS multiprocessing support, or in environments that
+ have a different underlying OS architecture such as Mac OS on top of a microkernel, the
+ Mac OS Blue Box under Mac OS X, native MP support in Mac OS X, etc.
+ ===========================================================================================
+*/
#if CALL_NOT_IN_CARBON
#if CALL_NOT_IN_CARBON
- /*
- * _MPAllocateSys()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(LogicalAddress)
- _MPAllocateSys(ByteCount size);
-
-
- /* Use MPAllocateAligned instead.*/
- /*
- * _MPRPC()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- _MPRPC(
- MPRemoteProcedure remoteProc,
- void * parameter);
-
-
- /* Use _MPRemoteCall instead.*/
- /*
- * _MPTaskIsToolboxSafe()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- _MPTaskIsToolboxSafe(MPTaskID task);
+/*
+ * _MPAllocateSys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( LogicalAddress )
+_MPAllocateSys(ByteCount size);
+
+
+/* Use MPAllocateAligned instead.*/
+/*
+ * _MPRPC()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+_MPRPC(
+ MPRemoteProcedure remoteProc,
+ void * parameter);
+
+
+/* Use _MPRemoteCall instead.*/
+/*
+ * _MPTaskIsToolboxSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+_MPTaskIsToolboxSafe(MPTaskID task);
#endif /* CALL_NOT_IN_CARBON */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * _MPLibraryIsCompatible()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibrary 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- _MPLibraryIsCompatible(
- const char * versionCString,
- UInt32 major,
- UInt32 minor,
- UInt32 release,
- UInt32 revision);
+/*
+ * _MPLibraryIsCompatible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibrary 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+_MPLibraryIsCompatible(
+ const char * versionCString,
+ UInt32 major,
+ UInt32 minor,
+ UInt32 release,
+ UInt32 revision);
#define MPRPC _MPRPC
#define MPTaskIsToolboxSafe _MPTaskIsToolboxSafe
- /*
- .
- ===========================================================================================
- Defunct Services
- ================
- */
+/*
+ .
+ ===========================================================================================
+ Defunct Services
+ ================
+*/
#if CALL_NOT_IN_CARBON
#ifndef MPIncludeDefunctServices
@@ -1719,70 +1704,70 @@ extern "C" {
#if MPIncludeDefunctServices
#if CALL_NOT_IN_CARBON
- /*
- * _MPDebugStr()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- _MPDebugStr(ConstStr255Param msg);
-
-
- /*
- * _MPStatusPString()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(StringPtr)
- _MPStatusPString(OSStatus status);
-
-
- /*
- * _MPStatusCString()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(const char *)
- _MPStatusCString(OSStatus status);
+/*
+ * _MPDebugStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+_MPDebugStr(ConstStr255Param msg);
+
+
+/*
+ * _MPStatusPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( StringPtr )
+_MPStatusPString(OSStatus status);
+
+
+/*
+ * _MPStatusCString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( const char * )
+_MPStatusCString(OSStatus status);
#endif /* CALL_NOT_IN_CARBON */
#include "stdarg.h"
- typedef CALLBACK_API_C(void , MPPrintfHandler)(MPTaskID taskID, const char *format, va_list args);
+typedef CALLBACK_API_C( void , MPPrintfHandler )(MPTaskID taskID, const char *format, va_list args);
#if CALL_NOT_IN_CARBON
- /*
- * _MPInitializePrintf()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- _MPInitializePrintf(MPPrintfHandler pfn);
-
-
- /*
- * _MPPrintf()
- *
- * Availability:
- * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- _MPPrintf(const char * format, ...);
+/*
+ * _MPInitializePrintf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+_MPInitializePrintf(MPPrintfHandler pfn);
+
+
+/*
+ * _MPPrintf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPLibraryObsolete 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+_MPPrintf(const char * format, ...);
#endif /* CALL_NOT_IN_CARBON */
@@ -1791,16 +1776,16 @@ extern "C" {
#endif /* CALL_NOT_IN_CARBON */
- /* ===========================================================================================*/
+/* ===========================================================================================*/
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/MultiprocessingInfo.h b/include/qt/MultiprocessingInfo.h
index 9d7920e90..216be450c 100644
--- a/include/qt/MultiprocessingInfo.h
+++ b/include/qt/MultiprocessingInfo.h
@@ -1,17 +1,17 @@
/*
File: MultiprocessingInfo.h
-
+
Contains: Multiprocessing Information interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc. and (c) 1995-1997 DayStar Digital, Inc.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
/*
@@ -49,518 +49,511 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- ==========================================================================================================================
- This is the header file for version 2.3 of the Mac OS multiprocessing information support.
- ==========================================================================================================================
- */
-
-
- /*
- ==========================================================================================================================
- The following services are new in version 2.1:
- MPGetNextTaskID
- MPGetNextCpuID
- ==========================================================================================================================
- */
-
- /*
- ==========================================================================================================================
- The following services are new in version 2.2:
- MPGetPageSizeClasses
- MPGetPageSize
- MPGetNextAreaID
- ==========================================================================================================================
- */
-
- /*
- ==========================================================================================================================
- The following services are new in version 2.3:
- MPGetNextCoherenceID
- MPGetNextProcessID
- MPGetNextAddressSpaceID
- MPGetNextQueueID
- MPGetNextSemaphoreID
- MPGetNextCriticalRegionID
- MPGetNextTimerID
- MPGetNextEventID
- MPGetNextNotificationID
- MPGetNextConsoleID
- ==========================================================================================================================
- */
-
-
-
- /*
- .
- ==========================================================================================================================
- Page size Services
- ==================
- */
+/*
+ ==========================================================================================================================
+ This is the header file for version 2.3 of the Mac OS multiprocessing information support.
+ ==========================================================================================================================
+*/
+
+
+/*
+ ==========================================================================================================================
+ The following services are new in version 2.1:
+ MPGetNextTaskID
+ MPGetNextCpuID
+ ==========================================================================================================================
+*/
+
+/*
+ ==========================================================================================================================
+ The following services are new in version 2.2:
+ MPGetPageSizeClasses
+ MPGetPageSize
+ MPGetNextAreaID
+ ==========================================================================================================================
+*/
+
+/*
+ ==========================================================================================================================
+ The following services are new in version 2.3:
+ MPGetNextCoherenceID
+ MPGetNextProcessID
+ MPGetNextAddressSpaceID
+ MPGetNextQueueID
+ MPGetNextSemaphoreID
+ MPGetNextCriticalRegionID
+ MPGetNextTimerID
+ MPGetNextEventID
+ MPGetNextNotificationID
+ MPGetNextConsoleID
+ ==========================================================================================================================
+*/
+
+
+
+/*
+ .
+ ==========================================================================================================================
+ Page size Services
+ ==================
+*/
#if CALL_NOT_IN_CARBON
- /*
- * MPGetPageSizeClasses()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(MPPageSizeClass)
- MPGetPageSizeClasses(void);
-
-
- /* The number of page size classes, 1 to n.*/
+/*
+ * MPGetPageSizeClasses()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( MPPageSizeClass )
+MPGetPageSizeClasses(void);
+
+
+/* The number of page size classes, 1 to n.*/
#endif /* CALL_NOT_IN_CARBON */
- /* -------------------------------------------------------------------------------------------*/
+/* -------------------------------------------------------------------------------------------*/
#if CALL_NOT_IN_CARBON
- /*
- * MPGetPageSize()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ByteCount)
- MPGetPageSize(MPPageSizeClass pageClass);
-
-
- /* The page size in bytes.*/
+/*
+ * MPGetPageSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ByteCount )
+MPGetPageSize(MPPageSizeClass pageClass);
+
+
+/* The page size in bytes.*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- .
- ==========================================================================================================================
- ID Iterator Services
- ==========================
- */
+/*
+ .
+ ==========================================================================================================================
+ ID Iterator Services
+ ==========================
+*/
#if CALL_NOT_IN_CARBON
- /*
- * MPGetNextCoherenceID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextCoherenceID(MPCoherenceID * coherenceID);
-
-
- /*
- * MPGetNextCpuID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextCpuID(
- MPCoherenceID owningCoherenceID,
- MPCpuID * cpuID);
-
-
- /*
- * MPGetNextProcessID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextProcessID(MPProcessID * processID);
-
-
- /*
- * MPGetNextAddressSpaceID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextAddressSpaceID(
- MPProcessID owningProcessID,
- MPAddressSpaceID * addressSpaceID);
-
-
- /*
- * MPGetNextTaskID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextTaskID(
- MPProcessID owningProcessID,
- MPTaskID * taskID);
-
-
- /*
- * MPGetNextQueueID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextQueueID(
- MPProcessID owningProcessID,
- MPQueueID * queueID);
-
-
- /*
- * MPGetNextSemaphoreID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextSemaphoreID(
- MPProcessID owningProcessID,
- MPSemaphoreID * semaphoreID);
-
-
- /*
- * MPGetNextCriticalRegionID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextCriticalRegionID(
- MPProcessID owningProcessID,
- MPCriticalRegionID * criticalRegionID);
-
-
- /*
- * MPGetNextTimerID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextTimerID(
- MPProcessID owningProcessID,
- MPTimerID * timerID);
-
-
- /*
- * MPGetNextEventID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextEventID(
- MPProcessID owningProcessID,
- MPEventID * eventID);
-
-
- /*
- * MPGetNextNotificationID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextNotificationID(
- MPProcessID owningProcessID,
- MPNotificationID * notificationID);
+/*
+ * MPGetNextCoherenceID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextCoherenceID(MPCoherenceID * coherenceID);
+
+
+/*
+ * MPGetNextCpuID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextCpuID(
+ MPCoherenceID owningCoherenceID,
+ MPCpuID * cpuID);
+
+
+/*
+ * MPGetNextProcessID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextProcessID(MPProcessID * processID);
+
+
+/*
+ * MPGetNextAddressSpaceID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextAddressSpaceID(
+ MPProcessID owningProcessID,
+ MPAddressSpaceID * addressSpaceID);
+
+
+/*
+ * MPGetNextTaskID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextTaskID(
+ MPProcessID owningProcessID,
+ MPTaskID * taskID);
+
+
+/*
+ * MPGetNextQueueID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextQueueID(
+ MPProcessID owningProcessID,
+ MPQueueID * queueID);
+
+
+/*
+ * MPGetNextSemaphoreID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextSemaphoreID(
+ MPProcessID owningProcessID,
+ MPSemaphoreID * semaphoreID);
+
+
+/*
+ * MPGetNextCriticalRegionID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextCriticalRegionID(
+ MPProcessID owningProcessID,
+ MPCriticalRegionID * criticalRegionID);
+
+
+/*
+ * MPGetNextTimerID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextTimerID(
+ MPProcessID owningProcessID,
+ MPTimerID * timerID);
+
+
+/*
+ * MPGetNextEventID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextEventID(
+ MPProcessID owningProcessID,
+ MPEventID * eventID);
+
+
+/*
+ * MPGetNextNotificationID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextNotificationID(
+ MPProcessID owningProcessID,
+ MPNotificationID * notificationID);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * MPGetNextAreaID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- MPGetNextAreaID(
- MPAddressSpaceID owningSpaceID,
- MPAreaID * areaID);
+/*
+ * MPGetNextAreaID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+MPGetNextAreaID(
+ MPAddressSpaceID owningSpaceID,
+ MPAreaID * areaID);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * MPGetNextConsoleID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextConsoleID(MPConsoleID * consoleID);
+/*
+ * MPGetNextConsoleID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextConsoleID(MPConsoleID * consoleID);
- /* -------------------------------------------------------------------------------------------*/
+/* -------------------------------------------------------------------------------------------*/
- /*
- * MPGetNextID()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNextID(
- MPOpaqueIDClass kind,
- MPOpaqueID * id);
+/*
+ * MPGetNextID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNextID(
+ MPOpaqueIDClass kind,
+ MPOpaqueID * id);
- /*
- .
- ==========================================================================================================================
- Object Information Services
- ===========================
- */
+/*
+ .
+ ==========================================================================================================================
+ Object Information Services
+ ===========================
+*/
- /*
- ----------------------------------------------------------------------------------------------
- ! The implementation of MPGetObjectInfo assumes that all info records are in 4 byte multiples.
- */
+/*
+ ----------------------------------------------------------------------------------------------
+ ! The implementation of MPGetObjectInfo assumes that all info records are in 4 byte multiples.
+*/
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- /* The version of the MPAreaInfo structure requested.*/
- kMPQueueInfoVersion = 1L | (kOpaqueQueueID << 16),
- kMPSemaphoreInfoVersion = 1L | (kOpaqueSemaphoreID << 16),
- kMPEventInfoVersion = 1L | (kOpaqueEventID << 16),
- kMPCriticalRegionInfoVersion = 1L | (kOpaqueCriticalRegionID << 16),
- kMPNotificationInfoVersion = 1L | (kOpaqueNotificationID << 16),
- kMPAddressSpaceInfoVersion = 1L | (kOpaqueAddressSpaceID << 16)
- };
-
-
- struct MPQueueInfo
- {
- PBVersion version; /* Version of the data structure requested*/
-
- MPProcessID processID; /* Owning process ID*/
- OSType queueName; /* Queue name*/
-
- ItemCount nWaiting;
- MPTaskID waitingTaskID; /* First waiting task.*/
-
- ItemCount nMessages;
- ItemCount nReserved;
-
- void * p1; /* First message parameters...*/
- void * p2;
- void * p3;
- };
- typedef struct MPQueueInfo MPQueueInfo;
- struct MPSemaphoreInfo
- {
- PBVersion version; /* Version of the data structure requested*/
-
- MPProcessID processID; /* Owning process ID*/
- OSType semaphoreName; /* Semaphore name*/
-
- ItemCount nWaiting;
- MPTaskID waitingTaskID; /* First waiting task.*/
-
- ItemCount maximum;
- ItemCount count;
- };
- typedef struct MPSemaphoreInfo MPSemaphoreInfo;
- struct MPEventInfo
- {
- PBVersion version; /* Version of the data structure requested*/
-
- MPProcessID processID; /* Owning process ID*/
- OSType eventName; /* Event name*/
-
- ItemCount nWaiting;
- MPTaskID waitingTaskID; /* First waiting task.*/
-
- MPEventFlags events;
- };
- typedef struct MPEventInfo MPEventInfo;
- struct MPCriticalRegionInfo
- {
- PBVersion version; /* Version of the data structure requested*/
-
- MPProcessID processID; /* Owning process ID*/
- OSType regionName; /* Critical region name*/
-
- ItemCount nWaiting;
- MPTaskID waitingTaskID; /* First waiting task.*/
-
- MPTaskID owningTask;
- ItemCount count;
- };
- typedef struct MPCriticalRegionInfo MPCriticalRegionInfo;
- struct MPNotificationInfo
- {
- PBVersion version; /* Version of the data structure requested*/
-
- MPProcessID processID; /* Owning process ID*/
- OSType notificationName; /* Notification name*/
-
- MPQueueID queueID; /* Queue to notify.*/
- void * p1;
- void * p2;
- void * p3;
-
- MPEventID eventID; /* Event to set.*/
- MPEventFlags events;
-
- MPSemaphoreID semaphoreID; /* Sempahore to signal. */
- };
- typedef struct MPNotificationInfo MPNotificationInfo;
- struct MPAddressSpaceInfo
- {
- PBVersion version; /* Version of the data structure requested*/
-
- MPProcessID processID; /* Owning process ID*/
- MPCoherenceID groupID; /* Related coherence group.*/
- ItemCount nTasks; /* Number of tasks in this space.*/
- UInt32 vsid[16]; /* Segment register VSIDs.*/
- };
- typedef struct MPAddressSpaceInfo MPAddressSpaceInfo;
- /* *** We should put the task info call here instead of in MPExtractTaskState.*/
+enum {
+ /* The version of the MPAreaInfo structure requested.*/
+ kMPQueueInfoVersion = 1L | (kOpaqueQueueID << 16),
+ kMPSemaphoreInfoVersion = 1L | (kOpaqueSemaphoreID << 16),
+ kMPEventInfoVersion = 1L | (kOpaqueEventID << 16),
+ kMPCriticalRegionInfoVersion = 1L | (kOpaqueCriticalRegionID << 16),
+ kMPNotificationInfoVersion = 1L | (kOpaqueNotificationID << 16),
+ kMPAddressSpaceInfoVersion = 1L | (kOpaqueAddressSpaceID << 16)
+};
+
+
+struct MPQueueInfo {
+ PBVersion version; /* Version of the data structure requested*/
+
+ MPProcessID processID; /* Owning process ID*/
+ OSType queueName; /* Queue name*/
+
+ ItemCount nWaiting;
+ MPTaskID waitingTaskID; /* First waiting task.*/
+
+ ItemCount nMessages;
+ ItemCount nReserved;
+
+ void * p1; /* First message parameters...*/
+ void * p2;
+ void * p3;
+};
+typedef struct MPQueueInfo MPQueueInfo;
+struct MPSemaphoreInfo {
+ PBVersion version; /* Version of the data structure requested*/
+
+ MPProcessID processID; /* Owning process ID*/
+ OSType semaphoreName; /* Semaphore name*/
+
+ ItemCount nWaiting;
+ MPTaskID waitingTaskID; /* First waiting task.*/
+
+ ItemCount maximum;
+ ItemCount count;
+};
+typedef struct MPSemaphoreInfo MPSemaphoreInfo;
+struct MPEventInfo {
+ PBVersion version; /* Version of the data structure requested*/
+
+ MPProcessID processID; /* Owning process ID*/
+ OSType eventName; /* Event name*/
+
+ ItemCount nWaiting;
+ MPTaskID waitingTaskID; /* First waiting task.*/
+
+ MPEventFlags events;
+};
+typedef struct MPEventInfo MPEventInfo;
+struct MPCriticalRegionInfo {
+ PBVersion version; /* Version of the data structure requested*/
+
+ MPProcessID processID; /* Owning process ID*/
+ OSType regionName; /* Critical region name*/
+
+ ItemCount nWaiting;
+ MPTaskID waitingTaskID; /* First waiting task.*/
+
+ MPTaskID owningTask;
+ ItemCount count;
+};
+typedef struct MPCriticalRegionInfo MPCriticalRegionInfo;
+struct MPNotificationInfo {
+ PBVersion version; /* Version of the data structure requested*/
+
+ MPProcessID processID; /* Owning process ID*/
+ OSType notificationName; /* Notification name*/
+
+ MPQueueID queueID; /* Queue to notify.*/
+ void * p1;
+ void * p2;
+ void * p3;
+
+ MPEventID eventID; /* Event to set.*/
+ MPEventFlags events;
+
+ MPSemaphoreID semaphoreID; /* Sempahore to signal. */
+};
+typedef struct MPNotificationInfo MPNotificationInfo;
+struct MPAddressSpaceInfo {
+ PBVersion version; /* Version of the data structure requested*/
+
+ MPProcessID processID; /* Owning process ID*/
+ MPCoherenceID groupID; /* Related coherence group.*/
+ ItemCount nTasks; /* Number of tasks in this space.*/
+ UInt32 vsid[16]; /* Segment register VSIDs.*/
+};
+typedef struct MPAddressSpaceInfo MPAddressSpaceInfo;
+/* *** We should put the task info call here instead of in MPExtractTaskState.*/
#if CALL_NOT_IN_CARBON
- /*
- * MPGetQueueInfo()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetQueueInfo(
- MPQueueID id,
- PBVersion version,
- MPQueueInfo * info_o);
-
-
- /*
- * MPGetSemaphoreInfo()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetSemaphoreInfo(
- MPSemaphoreID id,
- PBVersion version,
- MPSemaphoreInfo * info_o);
-
-
- /*
- * MPGetEventInfo()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetEventInfo(
- MPEventID id,
- PBVersion version,
- MPEventInfo * info_o);
-
-
- /*
- * MPGetCriticalRegionInfo()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetCriticalRegionInfo(
- MPCriticalRegionID id,
- PBVersion version,
- MPCriticalRegionInfo * info_o);
-
-
- /*
- * MPGetNotificationInfo()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetNotificationInfo(
- MPNotificationID id,
- PBVersion version,
- MPNotificationInfo * info_o);
-
-
- /*
- * MPGetAddressSpaceInfo()
- *
- * Availability:
- * Non-Carbon CFM: in MPDiagnostics 2.3 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- MPGetAddressSpaceInfo(
- MPAddressSpaceID id,
- PBVersion version,
- MPAddressSpaceInfo * info_o);
-
-
-
- /* ==========================================================================================================================*/
+/*
+ * MPGetQueueInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetQueueInfo(
+ MPQueueID id,
+ PBVersion version,
+ MPQueueInfo * info_o);
+
+
+/*
+ * MPGetSemaphoreInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetSemaphoreInfo(
+ MPSemaphoreID id,
+ PBVersion version,
+ MPSemaphoreInfo * info_o);
+
+
+/*
+ * MPGetEventInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetEventInfo(
+ MPEventID id,
+ PBVersion version,
+ MPEventInfo * info_o);
+
+
+/*
+ * MPGetCriticalRegionInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetCriticalRegionInfo(
+ MPCriticalRegionID id,
+ PBVersion version,
+ MPCriticalRegionInfo * info_o);
+
+
+/*
+ * MPGetNotificationInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetNotificationInfo(
+ MPNotificationID id,
+ PBVersion version,
+ MPNotificationInfo * info_o);
+
+
+/*
+ * MPGetAddressSpaceInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MPDiagnostics 2.3 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+MPGetAddressSpaceInfo(
+ MPAddressSpaceID id,
+ PBVersion version,
+ MPAddressSpaceInfo * info_o);
+
+
+
+/* ==========================================================================================================================*/
@@ -568,11 +561,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/NSL.h b/include/qt/NSL.h
index e70871fb3..7ee0fd88d 100644
--- a/include/qt/NSL.h
+++ b/include/qt/NSL.h
@@ -1,17 +1,17 @@
/*
File: NSL.h
-
+
Contains: Interface to API for using the NSL User Interface
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __NSL__
#define __NSL__
@@ -40,332 +40,312 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef UInt32 NSLDialogOptionFlags;
- enum
- {
- kNSLDefaultNSLDlogOptions = 0x00000000, /* use defaults for all the options */
- kNSLNoURLTEField = 0x00000001, /* don't show url text field for manual entry */
- kNSLAddServiceTypes = 0x00000002, /* add the service type if a user enters an incomplete URL */
- kNSLClientHandlesRecents = 0x00000004 /* Stops NSLStandardGetURL from adding the selection to the recent items folder */
- };
-
-
- struct NSLDialogOptions
- {
- UInt16 version;
- NSLDialogOptionFlags dialogOptionFlags; /* option flags for affecting the dialog's behavior */
- Str255 windowTitle;
- Str255 actionButtonLabel; /* label of the default button (or null string for default) */
- Str255 cancelButtonLabel; /* label of the cancel button (or null string for default) */
- Str255 message; /* custom message prompt (or null string for default) */
- };
- typedef struct NSLDialogOptions NSLDialogOptions;
- typedef CALLBACK_API(Boolean , NSLURLFilterProcPtr)(char *url, Str255 displayString);
- /* you can provide for calls to NSLStandardGetURL*/
- typedef CALLBACK_API(void , NSLEventProcPtr)(EventRecord *newEvent, void *userContext);
- typedef STACK_UPP_TYPE(NSLURLFilterProcPtr) NSLURLFilterUPP;
- typedef STACK_UPP_TYPE(NSLEventProcPtr) NSLEventUPP;
- /*
- * NewNSLURLFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NSLURLFilterUPP)
- NewNSLURLFilterUPP(NSLURLFilterProcPtr userRoutine);
+typedef UInt32 NSLDialogOptionFlags;
+enum {
+ kNSLDefaultNSLDlogOptions = 0x00000000, /* use defaults for all the options */
+ kNSLNoURLTEField = 0x00000001, /* don't show url text field for manual entry */
+ kNSLAddServiceTypes = 0x00000002, /* add the service type if a user enters an incomplete URL */
+ kNSLClientHandlesRecents = 0x00000004 /* Stops NSLStandardGetURL from adding the selection to the recent items folder */
+};
+
+
+struct NSLDialogOptions {
+ UInt16 version;
+ NSLDialogOptionFlags dialogOptionFlags; /* option flags for affecting the dialog's behavior */
+ Str255 windowTitle;
+ Str255 actionButtonLabel; /* label of the default button (or null string for default) */
+ Str255 cancelButtonLabel; /* label of the cancel button (or null string for default) */
+ Str255 message; /* custom message prompt (or null string for default) */
+};
+typedef struct NSLDialogOptions NSLDialogOptions;
+typedef CALLBACK_API( Boolean , NSLURLFilterProcPtr )(char *url, Str255 displayString);
+/* you can provide for calls to NSLStandardGetURL*/
+typedef CALLBACK_API( void , NSLEventProcPtr )(EventRecord *newEvent, void *userContext);
+typedef STACK_UPP_TYPE(NSLURLFilterProcPtr) NSLURLFilterUPP;
+typedef STACK_UPP_TYPE(NSLEventProcPtr) NSLEventUPP;
+/*
+ * NewNSLURLFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NSLURLFilterUPP )
+NewNSLURLFilterUPP(NSLURLFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNSLURLFilterProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NSLURLFilterUPP) NewNSLURLFilterUPP(NSLURLFilterProcPtr userRoutine)
- {
- return (NSLURLFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLURLFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNSLURLFilterUPP(userRoutine) (NSLURLFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLURLFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNSLURLFilterProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NSLURLFilterUPP) NewNSLURLFilterUPP(NSLURLFilterProcPtr userRoutine) { return (NSLURLFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLURLFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNSLURLFilterUPP(userRoutine) (NSLURLFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLURLFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewNSLEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NSLEventUPP)
- NewNSLEventUPP(NSLEventProcPtr userRoutine);
+/*
+ * NewNSLEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NSLEventUPP )
+NewNSLEventUPP(NSLEventProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNSLEventProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NSLEventUPP) NewNSLEventUPP(NSLEventProcPtr userRoutine)
- {
- return (NSLEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLEventProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNSLEventUPP(userRoutine) (NSLEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLEventProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNSLEventProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NSLEventUPP) NewNSLEventUPP(NSLEventProcPtr userRoutine) { return (NSLEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLEventProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNSLEventUPP(userRoutine) (NSLEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLEventProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeNSLURLFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNSLURLFilterUPP(NSLURLFilterUPP userUPP);
+/*
+ * DisposeNSLURLFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNSLURLFilterUPP(NSLURLFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNSLURLFilterUPP(NSLURLFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNSLURLFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNSLURLFilterUPP(NSLURLFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNSLURLFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeNSLEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNSLEventUPP(NSLEventUPP userUPP);
+/*
+ * DisposeNSLEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNSLEventUPP(NSLEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNSLEventUPP(NSLEventUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNSLEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNSLEventUPP(NSLEventUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNSLEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeNSLURLFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeNSLURLFilterUPP(
- char * url,
- Str255 displayString,
- NSLURLFilterUPP userUPP);
+/*
+ * InvokeNSLURLFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeNSLURLFilterUPP(
+ char * url,
+ Str255 displayString,
+ NSLURLFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeNSLURLFilterUPP(char * url, Str255 displayString, NSLURLFilterUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppNSLURLFilterProcInfo, url, displayString);
- }
-#else
-#define InvokeNSLURLFilterUPP(url, displayString, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppNSLURLFilterProcInfo, (url), (displayString))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeNSLURLFilterUPP(char * url, Str255 displayString, NSLURLFilterUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppNSLURLFilterProcInfo, url, displayString); }
+ #else
+ #define InvokeNSLURLFilterUPP(url, displayString, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppNSLURLFilterProcInfo, (url), (displayString))
+ #endif
#endif
- /*
- * InvokeNSLEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeNSLEventUPP(
- EventRecord * newEvent,
- void * userContext,
- NSLEventUPP userUPP);
+/*
+ * InvokeNSLEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeNSLEventUPP(
+ EventRecord * newEvent,
+ void * userContext,
+ NSLEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeNSLEventUPP(EventRecord * newEvent, void * userContext, NSLEventUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppNSLEventProcInfo, newEvent, userContext);
- }
-#else
-#define InvokeNSLEventUPP(newEvent, userContext, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppNSLEventProcInfo, (newEvent), (userContext))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeNSLEventUPP(EventRecord * newEvent, void * userContext, NSLEventUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppNSLEventProcInfo, newEvent, userContext); }
+ #else
+ #define InvokeNSLEventUPP(newEvent, userContext, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppNSLEventProcInfo, (newEvent), (userContext))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewNSLURLFilterProc(userRoutine) NewNSLURLFilterUPP(userRoutine)
-#define NewNSLEventProc(userRoutine) NewNSLEventUPP(userRoutine)
-#define CallNSLURLFilterProc(userRoutine, url, displayString) InvokeNSLURLFilterUPP(url, displayString, userRoutine)
-#define CallNSLEventProc(userRoutine, newEvent, userContext) InvokeNSLEventUPP(newEvent, userContext, userRoutine)
+ #define NewNSLURLFilterProc(userRoutine) NewNSLURLFilterUPP(userRoutine)
+ #define NewNSLEventProc(userRoutine) NewNSLEventUPP(userRoutine)
+ #define CallNSLURLFilterProc(userRoutine, url, displayString) InvokeNSLURLFilterUPP(url, displayString, userRoutine)
+ #define CallNSLEventProc(userRoutine, newEvent, userContext) InvokeNSLEventUPP(newEvent, userContext, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* <--- function returns OSStatus of the operation. noErr will be returned if valid, kNSLUserCanceled will be returned if the user cancels */
- /* ---> dialogOptions */
- /* ---> eventProc */
- /* ---> eventProcContextPtr */
- /* ---> filterProc */
- /* ---> serviceTypeList */
- /* <--- userSelectedURL */
- /* NSLDialogOptions* dialogOptions */
- /*
- dialogOptions is a user defined structure defining the look, feel and operation of NSLStandardGetURL dialog
- default behavior can be achieved by passing in a pointer to a structure that has been filled out by a previous
- call to NSLGetDefaultDialogOptions or by passing in NULL.
- */
- /* NSLEventUPP eventProc */
- /*
- the eventProc is a callback NSLURLFilterUPP that will
- get called with Events that the dialog doesn't handle. If you pass in nil,
- you won't get update events while the NSLStandardGetURL dialog is open.
- */
- /* void* eventProcContextPtr */
- /* you can provide a pointer to some contextual data that you want to have sent to your eventProc filter*/
- /* NSLURLFilterProcPtr filterProc */
- /*
- the filter param is a callback NSLURLFilterUPP that
- will get called (if not nil) for each url that is going to be displayed in
- the dialog's result list. A result of false will not include the url for the
- user to select from. You also have the option of handling the way the url looks
- in the dialog listing by copying the preferred name into the displayString
- parameter. (If left alone, NSLStandardGetURL dialog will strip the service type
- portion off the url).
- */
- /* char* serviceTypeList */
- /*
- the serviceTypeList parameter is a null terminated string that will
- directly affect the contents of the services popup in the dialog.
- The structure of this string is a set of tuples as follows:
- Name of ServiceType as to be represented in the popup followed by
- a comma delimted list of service descriptors (ie http,https) that will
- used in the search of that type. Each comma delimited tuple is delimited
- by semi-colons.
- */
- /*
- For example:
- If you want to search for services of type http (web), https (secure web),
- and ftp, you could pass in the string "Web Servers,http,https;FTP Servers,ftp".
- This would result in a popup list with two items ("Web Servers" and "FTP Servers")
- and searches performed on them will provide results of type http and https for the
- first, and ftp for the second.
- */
-
- /*
- Results list Icons:
- NSLStandardGetURL provides icons in its listings for the following types:
- "http", "https", "ftp", "afp", "lpr", "LaserWriter", "AFPServer"
- any other types will get a generic icon. However, you can provide icons
- if you wish by including an '#ics8' resource id at the end of your comma
- delimited list. The dialog will then use that icon if found in its results
- list. This icon will be used for all types in a tuple.
- For example:
- The param "Web Servers,http,https;Telnet Servers,telnet;NFS Servers,nfs,129"
- would result in lists of http and https services to be shown with their default
- icons, telnet servers would be shown with the default misc. icon and nfs
- servers would be shown with your icon at resource id 129.
- */
-
- /* char** url */
- /*
- pass in the address of a char* and it will point to the resulting url. If the user
- cancels (the function returns false), the pointer will be set to nil. If the function
- returns true (user selected a url), then you must call NSLFreeURL on the pointer when
- you are done with it.
- */
- /*
- Call this to have the user select a url based service from a dialog.
- Function takes on input an optional filter proc, a serviceTypeList, and an address to a Ptr.
- Function sets the value of the Ptr to a newly created c-style null terminated string
- containing the user's choice of URL.
- */
-
- /*
- * NSLStandardGetURL()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLStandardGetURL(
- NSLDialogOptions * dialogOptions, /* can be NULL */
- NSLEventUPP eventProc, /* can be NULL */
- void * eventProcContextPtr, /* can be NULL */
- NSLURLFilterUPP filterProc, /* can be NULL */
- char * serviceTypeList,
- char ** userSelectedURL);
-
-
- /*
- * NSLGetDefaultDialogOptions()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLGetDefaultDialogOptions(NSLDialogOptions * dialogOptions);
-
-
- /* <--- function returns null (useful for setting variable at same time as freeing it */
- /* ---> url is memory created by a call to NSLStandardGetURL */
- /*
- * NSLFreeURL()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(char *)
- NSLFreeURL(char * url);
-
-
- /* <--- function returns kNSLErrNullPtrError, file mgr errors, or resource mgr errors */
- /* ---> folderSelectorType is one of the well-known folders defined in Folders.h */
- /* ---> url is any valid url */
- /* ---> userFriendlyName is used for the file name and the display name (in the UI) */
- /*
- * NSLSaveURLAliasToFolder()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NSLSaveURLAliasToFolder(
- OSType folderSelectorType,
- const char * url,
- const char * userFriendlyName);
+/* <--- function returns OSStatus of the operation. noErr will be returned if valid, kNSLUserCanceled will be returned if the user cancels */
+/* ---> dialogOptions */
+/* ---> eventProc */
+/* ---> eventProcContextPtr */
+/* ---> filterProc */
+/* ---> serviceTypeList */
+/* <--- userSelectedURL */
+/* NSLDialogOptions* dialogOptions */
+/*
+ dialogOptions is a user defined structure defining the look, feel and operation of NSLStandardGetURL dialog
+ default behavior can be achieved by passing in a pointer to a structure that has been filled out by a previous
+ call to NSLGetDefaultDialogOptions or by passing in NULL.
+*/
+/* NSLEventUPP eventProc */
+/*
+ the eventProc is a callback NSLURLFilterUPP that will
+ get called with Events that the dialog doesn't handle. If you pass in nil,
+ you won't get update events while the NSLStandardGetURL dialog is open.
+*/
+/* void* eventProcContextPtr */
+/* you can provide a pointer to some contextual data that you want to have sent to your eventProc filter*/
+/* NSLURLFilterProcPtr filterProc */
+/*
+ the filter param is a callback NSLURLFilterUPP that
+ will get called (if not nil) for each url that is going to be displayed in
+ the dialog's result list. A result of false will not include the url for the
+ user to select from. You also have the option of handling the way the url looks
+ in the dialog listing by copying the preferred name into the displayString
+ parameter. (If left alone, NSLStandardGetURL dialog will strip the service type
+ portion off the url).
+*/
+/* char* serviceTypeList */
+/*
+ the serviceTypeList parameter is a null terminated string that will
+ directly affect the contents of the services popup in the dialog.
+ The structure of this string is a set of tuples as follows:
+ Name of ServiceType as to be represented in the popup followed by
+ a comma delimted list of service descriptors (ie http,https) that will
+ used in the search of that type. Each comma delimited tuple is delimited
+ by semi-colons.
+*/
+/*
+ For example:
+ If you want to search for services of type http (web), https (secure web),
+ and ftp, you could pass in the string "Web Servers,http,https;FTP Servers,ftp".
+ This would result in a popup list with two items ("Web Servers" and "FTP Servers")
+ and searches performed on them will provide results of type http and https for the
+ first, and ftp for the second.
+*/
+
+/*
+ Results list Icons:
+ NSLStandardGetURL provides icons in its listings for the following types:
+ "http", "https", "ftp", "afp", "lpr", "LaserWriter", "AFPServer"
+ any other types will get a generic icon. However, you can provide icons
+ if you wish by including an '#ics8' resource id at the end of your comma
+ delimited list. The dialog will then use that icon if found in its results
+ list. This icon will be used for all types in a tuple.
+ For example:
+ The param "Web Servers,http,https;Telnet Servers,telnet;NFS Servers,nfs,129"
+ would result in lists of http and https services to be shown with their default
+ icons, telnet servers would be shown with the default misc. icon and nfs
+ servers would be shown with your icon at resource id 129.
+*/
+
+/* char** url */
+/*
+ pass in the address of a char* and it will point to the resulting url. If the user
+ cancels (the function returns false), the pointer will be set to nil. If the function
+ returns true (user selected a url), then you must call NSLFreeURL on the pointer when
+ you are done with it.
+*/
+/*
+ Call this to have the user select a url based service from a dialog.
+ Function takes on input an optional filter proc, a serviceTypeList, and an address to a Ptr.
+ Function sets the value of the Ptr to a newly created c-style null terminated string
+ containing the user's choice of URL.
+*/
+
+/*
+ * NSLStandardGetURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLStandardGetURL(
+ NSLDialogOptions * dialogOptions, /* can be NULL */
+ NSLEventUPP eventProc, /* can be NULL */
+ void * eventProcContextPtr, /* can be NULL */
+ NSLURLFilterUPP filterProc, /* can be NULL */
+ char * serviceTypeList,
+ char ** userSelectedURL);
+
+
+/*
+ * NSLGetDefaultDialogOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLGetDefaultDialogOptions(NSLDialogOptions * dialogOptions);
+
+
+/* <--- function returns null (useful for setting variable at same time as freeing it */
+/* ---> url is memory created by a call to NSLStandardGetURL */
+/*
+ * NSLFreeURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( char * )
+NSLFreeURL(char * url);
+
+
+/* <--- function returns kNSLErrNullPtrError, file mgr errors, or resource mgr errors */
+/* ---> folderSelectorType is one of the well-known folders defined in Folders.h */
+/* ---> url is any valid url */
+/* ---> userFriendlyName is used for the file name and the display name (in the UI) */
+/*
+ * NSLSaveURLAliasToFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NSLSaveURLAliasToFolder(
+ OSType folderSelectorType,
+ const char * url,
+ const char * userFriendlyName);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/NSLCore.h b/include/qt/NSLCore.h
index 88031ce2d..5dab5f72f 100644
--- a/include/qt/NSLCore.h
+++ b/include/qt/NSLCore.h
@@ -1,17 +1,17 @@
/*
File: NSLCore.h
-
+
Contains: Interface to API for using the NSL Manager
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __NSLCORE__
#define __NSLCORE__
@@ -43,312 +43,283 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kNSLMinSystemVersion = 0x0900, /* equivalent to 9.0*/
- kNSLMinOTVersion = 0x0130 /* equivalent to 1.3*/
- };
+enum {
+ kNSLMinSystemVersion = 0x0900, /* equivalent to 9.0*/
+ kNSLMinOTVersion = 0x0130 /* equivalent to 1.3*/
+};
- enum
- {
- kNSLDefaultListSize = 256 /* default list size for service and protocol lists*/
- };
+enum {
+ kNSLDefaultListSize = 256 /* default list size for service and protocol lists*/
+};
- enum
- {
- kNSLURLDelimiter = ',' /* delimits URL's within memory buffers*/
- };
+enum {
+ kNSLURLDelimiter = ',' /* delimits URL's within memory buffers*/
+};
#define kNSLErrorNoErr {noErr, kNSLNoContext} /* an initializer for the NSLError struct */
- enum
- {
- kNSLNoContext = 0 /* the default context for NSLError structs*/
- };
-
- struct NSLError
- {
- OSStatus theErr;
- UInt32 theContext;
- };
- typedef struct NSLError NSLError;
- typedef NSLError * NSLErrorPtr;
- enum
- {
- /* Constants to use with NSLPrepareRequest*/
- /* kNSLDuplicateSearchInProgress is not strictly an error. The client is free to ignore*/
- /* this result, and nothing bad will happen if it does. It is*/
- /* informational only.*/
- kNSLDuplicateSearchInProgress = 100,
- kNSLUserCanceled = userCanceledErr, /* User hit cancel from the NSLStandardGetURL dialog */
- /* Invalid enumeratorRef */
- kNSLInvalidEnumeratorRef = 0 /* this is not an error; it is the equiv to a NULL ptr*/
- };
-
- typedef UInt16 NSLSearchState;
- enum
- {
- /* State codes for notifiers.*/
- kNSLSearchStateBufferFull = 1,
- kNSLSearchStateOnGoing = 2,
- kNSLSearchStateComplete = 3,
- kNSLSearchStateStalled = 4,
- kNSLWaitingForContinue = 5
- };
-
- typedef UInt32 NSLEventCode;
- enum
- {
- /* Event codes*/
- kNSLServicesLookupDataEvent = 6,
- kNSLNeighborhoodLookupDataEvent = 7,
- kNSLNewDataEvent = 8,
- kNSLContinueLookupEvent = 9
- };
-
-
- typedef UInt32 NSLClientRef;
- typedef UInt32 NSLRequestRef;
- typedef UInt32 NSLOneBasedIndex;
- typedef char * NSLPath;
- typedef char * NSLServiceType;
- typedef Handle NSLServicesList;
- typedef unsigned char * NSLNeighborhood;
- /*
- cstring which is a comma delimited list of protocols which can be used to
- create a NSLProtocolList internally
- */
-
- /* the async information block for client<->manager interaction*/
- struct NSLClientAsyncInfo
- {
- void * clientContextPtr; /* set by the client for its own use*/
- void * mgrContextPtr; /* set by NSL mgr; ptr to request object ptr*/
- char * resultBuffer;
- long bufferLen;
- long maxBufferSize;
- UInt32 startTime; /* when the search starts, to use with maxSearchTime to determine time-out condition*/
- UInt32 intStartTime; /* used with alertInterval*/
- UInt32 maxSearchTime; /* total time for search, in ticks (0 == no time limit)*/
- UInt32 alertInterval; /* call client's notifier or return, every this many ticks ( 0 == don't use this param)*/
- UInt32 totalItems; /* total number of tuples currently in buffer*/
- UInt32 alertThreshold; /* call client's notifier or return, every this many items found ( 0 == don't use this param)*/
- NSLSearchState searchState;
- NSLError searchResult;
- NSLEventCode searchDataType; /* this is a data type code which allows the client's asyncNotifier to properly*/
- /* handle the data in resultBuffer.*/
- };
- typedef struct NSLClientAsyncInfo NSLClientAsyncInfo;
- typedef NSLClientAsyncInfo * NSLClientAsyncInfoPtr;
-
- /* the async information block plugin<->manager interaction*/
- struct NSLPluginAsyncInfo
- {
- void * mgrContextPtr; /* set by NSL mgr; ptr to request object ptr*/
- void * pluginContextPtr; /* set/used by individual plugins*/
- void * pluginPtr; /* ptr to the plugin object waiting for continue lookup call*/
- char * resultBuffer; /* set by plugin to point at data*/
- long bufferLen;
- long maxBufferSize;
- UInt32 maxSearchTime; /* total time for search, in ticks (0 == no time limit)*/
- UInt32 reserved1;
- UInt32 reserved2;
- UInt32 reserved3;
- NSLClientRef clientRef;
- NSLRequestRef requestRef;
- NSLSearchState searchState;
- OSStatus searchResult;
- };
- typedef struct NSLPluginAsyncInfo NSLPluginAsyncInfo;
- typedef NSLPluginAsyncInfo * NSLPluginAsyncInfoPtr;
-
- /* the manager asynchronous notifier routine.*/
- typedef CALLBACK_API(void , NSLMgrNotifyProcPtr)(NSLPluginAsyncInfo * thePluginAsyncInfo);
-
- /* the client asynchronous notifier routine.*/
- typedef CALLBACK_API(void , NSLClientNotifyProcPtr)(NSLClientAsyncInfo * theClientAsyncInfo);
- typedef STACK_UPP_TYPE(NSLMgrNotifyProcPtr) NSLMgrNotifyUPP;
- typedef STACK_UPP_TYPE(NSLClientNotifyProcPtr) NSLClientNotifyUPP;
- /*
- * NewNSLMgrNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NSLMgrNotifyUPP)
- NewNSLMgrNotifyUPP(NSLMgrNotifyProcPtr userRoutine);
+enum {
+ kNSLNoContext = 0 /* the default context for NSLError structs*/
+};
+
+struct NSLError {
+ OSStatus theErr;
+ UInt32 theContext;
+};
+typedef struct NSLError NSLError;
+typedef NSLError * NSLErrorPtr;
+enum {
+ /* Constants to use with NSLPrepareRequest*/
+ /* kNSLDuplicateSearchInProgress is not strictly an error. The client is free to ignore*/
+ /* this result, and nothing bad will happen if it does. It is*/
+ /* informational only.*/
+ kNSLDuplicateSearchInProgress = 100,
+ kNSLUserCanceled = userCanceledErr, /* User hit cancel from the NSLStandardGetURL dialog */
+ /* Invalid enumeratorRef */
+ kNSLInvalidEnumeratorRef = 0 /* this is not an error; it is the equiv to a NULL ptr*/
+};
+
+typedef UInt16 NSLSearchState;
+enum {
+ /* State codes for notifiers.*/
+ kNSLSearchStateBufferFull = 1,
+ kNSLSearchStateOnGoing = 2,
+ kNSLSearchStateComplete = 3,
+ kNSLSearchStateStalled = 4,
+ kNSLWaitingForContinue = 5
+};
+
+typedef UInt32 NSLEventCode;
+enum {
+ /* Event codes*/
+ kNSLServicesLookupDataEvent = 6,
+ kNSLNeighborhoodLookupDataEvent = 7,
+ kNSLNewDataEvent = 8,
+ kNSLContinueLookupEvent = 9
+};
+
+
+typedef UInt32 NSLClientRef;
+typedef UInt32 NSLRequestRef;
+typedef UInt32 NSLOneBasedIndex;
+typedef char * NSLPath;
+typedef char * NSLServiceType;
+typedef Handle NSLServicesList;
+typedef unsigned char * NSLNeighborhood;
+/*
+ cstring which is a comma delimited list of protocols which can be used to
+ create a NSLProtocolList internally
+*/
+
+/* the async information block for client<->manager interaction*/
+struct NSLClientAsyncInfo {
+ void * clientContextPtr; /* set by the client for its own use*/
+ void * mgrContextPtr; /* set by NSL mgr; ptr to request object ptr*/
+ char * resultBuffer;
+ long bufferLen;
+ long maxBufferSize;
+ UInt32 startTime; /* when the search starts, to use with maxSearchTime to determine time-out condition*/
+ UInt32 intStartTime; /* used with alertInterval*/
+ UInt32 maxSearchTime; /* total time for search, in ticks (0 == no time limit)*/
+ UInt32 alertInterval; /* call client's notifier or return, every this many ticks ( 0 == don't use this param)*/
+ UInt32 totalItems; /* total number of tuples currently in buffer*/
+ UInt32 alertThreshold; /* call client's notifier or return, every this many items found ( 0 == don't use this param)*/
+ NSLSearchState searchState;
+ NSLError searchResult;
+ NSLEventCode searchDataType; /* this is a data type code which allows the client's asyncNotifier to properly*/
+ /* handle the data in resultBuffer.*/
+};
+typedef struct NSLClientAsyncInfo NSLClientAsyncInfo;
+typedef NSLClientAsyncInfo * NSLClientAsyncInfoPtr;
+
+/* the async information block plugin<->manager interaction*/
+struct NSLPluginAsyncInfo {
+ void * mgrContextPtr; /* set by NSL mgr; ptr to request object ptr*/
+ void * pluginContextPtr; /* set/used by individual plugins*/
+ void * pluginPtr; /* ptr to the plugin object waiting for continue lookup call*/
+ char * resultBuffer; /* set by plugin to point at data*/
+ long bufferLen;
+ long maxBufferSize;
+ UInt32 maxSearchTime; /* total time for search, in ticks (0 == no time limit)*/
+ UInt32 reserved1;
+ UInt32 reserved2;
+ UInt32 reserved3;
+ NSLClientRef clientRef;
+ NSLRequestRef requestRef;
+ NSLSearchState searchState;
+ OSStatus searchResult;
+};
+typedef struct NSLPluginAsyncInfo NSLPluginAsyncInfo;
+typedef NSLPluginAsyncInfo * NSLPluginAsyncInfoPtr;
+
+/* the manager asynchronous notifier routine.*/
+typedef CALLBACK_API( void , NSLMgrNotifyProcPtr )(NSLPluginAsyncInfo * thePluginAsyncInfo);
+
+/* the client asynchronous notifier routine.*/
+typedef CALLBACK_API( void , NSLClientNotifyProcPtr )(NSLClientAsyncInfo * theClientAsyncInfo);
+typedef STACK_UPP_TYPE(NSLMgrNotifyProcPtr) NSLMgrNotifyUPP;
+typedef STACK_UPP_TYPE(NSLClientNotifyProcPtr) NSLClientNotifyUPP;
+/*
+ * NewNSLMgrNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NSLMgrNotifyUPP )
+NewNSLMgrNotifyUPP(NSLMgrNotifyProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNSLMgrNotifyProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NSLMgrNotifyUPP) NewNSLMgrNotifyUPP(NSLMgrNotifyProcPtr userRoutine)
- {
- return (NSLMgrNotifyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLMgrNotifyProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNSLMgrNotifyUPP(userRoutine) (NSLMgrNotifyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLMgrNotifyProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNSLMgrNotifyProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NSLMgrNotifyUPP) NewNSLMgrNotifyUPP(NSLMgrNotifyProcPtr userRoutine) { return (NSLMgrNotifyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLMgrNotifyProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNSLMgrNotifyUPP(userRoutine) (NSLMgrNotifyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLMgrNotifyProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewNSLClientNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NSLClientNotifyUPP)
- NewNSLClientNotifyUPP(NSLClientNotifyProcPtr userRoutine);
+/*
+ * NewNSLClientNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NSLClientNotifyUPP )
+NewNSLClientNotifyUPP(NSLClientNotifyProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNSLClientNotifyProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NSLClientNotifyUPP) NewNSLClientNotifyUPP(NSLClientNotifyProcPtr userRoutine)
- {
- return (NSLClientNotifyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLClientNotifyProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNSLClientNotifyUPP(userRoutine) (NSLClientNotifyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLClientNotifyProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNSLClientNotifyProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NSLClientNotifyUPP) NewNSLClientNotifyUPP(NSLClientNotifyProcPtr userRoutine) { return (NSLClientNotifyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLClientNotifyProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNSLClientNotifyUPP(userRoutine) (NSLClientNotifyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNSLClientNotifyProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeNSLMgrNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNSLMgrNotifyUPP(NSLMgrNotifyUPP userUPP);
+/*
+ * DisposeNSLMgrNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNSLMgrNotifyUPP(NSLMgrNotifyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNSLMgrNotifyUPP(NSLMgrNotifyUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNSLMgrNotifyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNSLMgrNotifyUPP(NSLMgrNotifyUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNSLMgrNotifyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeNSLClientNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNSLClientNotifyUPP(NSLClientNotifyUPP userUPP);
+/*
+ * DisposeNSLClientNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNSLClientNotifyUPP(NSLClientNotifyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNSLClientNotifyUPP(NSLClientNotifyUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNSLClientNotifyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNSLClientNotifyUPP(NSLClientNotifyUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNSLClientNotifyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeNSLMgrNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeNSLMgrNotifyUPP(
- NSLPluginAsyncInfo * thePluginAsyncInfo,
- NSLMgrNotifyUPP userUPP);
+/*
+ * InvokeNSLMgrNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeNSLMgrNotifyUPP(
+ NSLPluginAsyncInfo * thePluginAsyncInfo,
+ NSLMgrNotifyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeNSLMgrNotifyUPP(NSLPluginAsyncInfo * thePluginAsyncInfo, NSLMgrNotifyUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppNSLMgrNotifyProcInfo, thePluginAsyncInfo);
- }
-#else
-#define InvokeNSLMgrNotifyUPP(thePluginAsyncInfo, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppNSLMgrNotifyProcInfo, (thePluginAsyncInfo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeNSLMgrNotifyUPP(NSLPluginAsyncInfo * thePluginAsyncInfo, NSLMgrNotifyUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppNSLMgrNotifyProcInfo, thePluginAsyncInfo); }
+ #else
+ #define InvokeNSLMgrNotifyUPP(thePluginAsyncInfo, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppNSLMgrNotifyProcInfo, (thePluginAsyncInfo))
+ #endif
#endif
- /*
- * InvokeNSLClientNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeNSLClientNotifyUPP(
- NSLClientAsyncInfo * theClientAsyncInfo,
- NSLClientNotifyUPP userUPP);
+/*
+ * InvokeNSLClientNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeNSLClientNotifyUPP(
+ NSLClientAsyncInfo * theClientAsyncInfo,
+ NSLClientNotifyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeNSLClientNotifyUPP(NSLClientAsyncInfo * theClientAsyncInfo, NSLClientNotifyUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppNSLClientNotifyProcInfo, theClientAsyncInfo);
- }
-#else
-#define InvokeNSLClientNotifyUPP(theClientAsyncInfo, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppNSLClientNotifyProcInfo, (theClientAsyncInfo))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeNSLClientNotifyUPP(NSLClientAsyncInfo * theClientAsyncInfo, NSLClientNotifyUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppNSLClientNotifyProcInfo, theClientAsyncInfo); }
+ #else
+ #define InvokeNSLClientNotifyUPP(theClientAsyncInfo, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppNSLClientNotifyProcInfo, (theClientAsyncInfo))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewNSLMgrNotifyProc(userRoutine) NewNSLMgrNotifyUPP(userRoutine)
-#define NewNSLClientNotifyProc(userRoutine) NewNSLClientNotifyUPP(userRoutine)
-#define CallNSLMgrNotifyProc(userRoutine, thePluginAsyncInfo) InvokeNSLMgrNotifyUPP(thePluginAsyncInfo, userRoutine)
-#define CallNSLClientNotifyProc(userRoutine, theClientAsyncInfo) InvokeNSLClientNotifyUPP(theClientAsyncInfo, userRoutine)
+ #define NewNSLMgrNotifyProc(userRoutine) NewNSLMgrNotifyUPP(userRoutine)
+ #define NewNSLClientNotifyProc(userRoutine) NewNSLClientNotifyUPP(userRoutine)
+ #define CallNSLMgrNotifyProc(userRoutine, thePluginAsyncInfo) InvokeNSLMgrNotifyUPP(thePluginAsyncInfo, userRoutine)
+ #define CallNSLClientNotifyProc(userRoutine, theClientAsyncInfo) InvokeNSLClientNotifyUPP(theClientAsyncInfo, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- this struct is a format for dealing with our internal data representation. Typed data will be contiguous chunk of
- memory, with the first 4 bytes being a data "descriptor".
- */
- struct NSLTypedData
- {
- unsigned long dataType;
- unsigned long lengthOfData;
- /* void* theData; */
+/*
+ this struct is a format for dealing with our internal data representation. Typed data will be contiguous chunk of
+ memory, with the first 4 bytes being a data "descriptor".
+*/
+struct NSLTypedData {
+ unsigned long dataType;
+ unsigned long lengthOfData;
+/* void* theData; */
- };
- typedef struct NSLTypedData NSLTypedData;
- typedef NSLTypedData * NSLTypedDataPtr;
+};
+typedef struct NSLTypedData NSLTypedData;
+typedef NSLTypedData * NSLTypedDataPtr;
#define kNSLDataType 'NSL_'
- /*
- This is just a header at the beginning of a handle that stores our list of service types.
- Each service type is a pascal string, so each service type starts after the end of the
- previous one.
- */
- struct NSLServicesListHeader
- {
- unsigned long numServices;
- unsigned long logicalLen; /* length of all usable data in handle*/
- /* Ptr firstService; */
-
- };
- typedef struct NSLServicesListHeader NSLServicesListHeader;
- typedef NSLServicesListHeader * NSLServicesListHeaderPtr;
-
- /* some defs for common protocols*/
+/*
+ This is just a header at the beginning of a handle that stores our list of service types.
+ Each service type is a pascal string, so each service type starts after the end of the
+ previous one.
+*/
+struct NSLServicesListHeader {
+ unsigned long numServices;
+ unsigned long logicalLen; /* length of all usable data in handle*/
+/* Ptr firstService; */
+
+};
+typedef struct NSLServicesListHeader NSLServicesListHeader;
+typedef NSLServicesListHeader * NSLServicesListHeaderPtr;
+
+/* some defs for common protocols*/
#define kSLPProtocolType "SLP"
#define kDNSProtocolType "DNS"
@@ -356,689 +327,685 @@ extern "C" {
#define kNBPProtocolType "NBP"
#define kNSLDirectoryServiceProtocolType "DirService"
- /*
- general information from a plug-in. Includes supported protocols, data types and services,
- as well as an info/comment string describing the function of the plug-in in human-readable
- form. The offsets point to the beginning of each list of data returned, and the protocol
- data offset is the startOfData member of the struct
- */
- struct NSLPluginData
- {
- long reserved1;
- long reserved2;
- long reserved3;
- Boolean supportsRegistration;
- Boolean isPurgeable;
- UInt16 totalLen; /* length of everything, including header*/
- UInt16 dataTypeOffset;
- UInt16 serviceListOffset;
- UInt16 protocolListOffset;
- UInt16 commentStringOffset;
- /* char* startOfData; */
- /* protocol data is first on the list*/
- };
- typedef struct NSLPluginData NSLPluginData;
- typedef NSLPluginData * NSLPluginDataPtr;
-
- /*
- -----------------------------------------------------------------------------
- Finding out if the library is present and getting its version
- -----------------------------------------------------------------------------
- */
-
- /*
- * NSLLibraryVersion()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- NSLLibraryVersion(void);
+/*
+ general information from a plug-in. Includes supported protocols, data types and services,
+ as well as an info/comment string describing the function of the plug-in in human-readable
+ form. The offsets point to the beginning of each list of data returned, and the protocol
+ data offset is the startOfData member of the struct
+*/
+struct NSLPluginData {
+ long reserved1;
+ long reserved2;
+ long reserved3;
+ Boolean supportsRegistration;
+ Boolean isPurgeable;
+ UInt16 totalLen; /* length of everything, including header*/
+ UInt16 dataTypeOffset;
+ UInt16 serviceListOffset;
+ UInt16 protocolListOffset;
+ UInt16 commentStringOffset;
+/* char* startOfData; */
+ /* protocol data is first on the list*/
+};
+typedef struct NSLPluginData NSLPluginData;
+typedef NSLPluginData * NSLPluginDataPtr;
+
+/*
+ -----------------------------------------------------------------------------
+ Finding out if the library is present and getting its version
+ -----------------------------------------------------------------------------
+*/
+/*
+ * NSLLibraryVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+NSLLibraryVersion(void);
-#ifdef __cplusplus
- inline pascal Boolean NSLLibraryPresent()
- {
- return NSLLibraryVersion != (void*)kUnresolvedCFragSymbolAddress;
- }
-#else
-#define NSLLibraryPresent() ((NSLLibraryVersion != (void*)kUnresolvedCFragSymbolAddress))
-#endif
+ #ifdef __cplusplus
+ inline pascal Boolean NSLLibraryPresent() { return NSLLibraryVersion != (void*)kUnresolvedCFragSymbolAddress; }
+ #else
+ #define NSLLibraryPresent() ((NSLLibraryVersion != (void*)kUnresolvedCFragSymbolAddress))
+ #endif
+
- /*
- -----------------------------------------------------------------------------
- High level API calls: the following two calls are ALL an application needs
- to register/deregister its service.
- If you use these, you don't need to make any of the other calls to NSLAPI
- (including NSLOpenNavigationAPI)
- -----------------------------------------------------------------------------
- */
-
- /* <--- error code from registration */
- /* ---> urlToRegister is a null terminated url that has only legal characters defined for URLs. Use HexEncodeText to encode*/
- /* portions of the url that have illegal characters */
- /* ---> neighborhoodToRegisterIn is an optional parameter for explicitly defining a neighborhood to register in.
- If parameter is NULL, then the plugins will determine where to register the service */
- /*
- * NSLStandardRegisterURL()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLStandardRegisterURL(
- NSLPath urlToRegister,
- NSLNeighborhood neighborhoodToRegisterIn); /* can be NULL */
-
-
- /* <--- error code from registration */
- /* ---> urlToRegister is a null terminated url that has only legal characters defined for URLs. Use HexEncodeText to encode*/
- /* portions of the url that have illegal characters */
- /* ---> neighborhoodToDeregisterIn is an optional parameter for explicitly defining a neighborhood to register in.
- If parameter is NULL, then the plugins will determine where to register the service */
- /*
- * NSLStandardDeregisterURL()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLStandardDeregisterURL(
- NSLPath urlToDeregister,
- NSLNeighborhood neighborhoodToDeregisterIn); /* can be NULL */
-
-
-
- /*-----------------------------------------------------------------------------*/
-
- /*
- * NSLHexEncodeText()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLHexEncodeText(
- const char * rawText,
- UInt16 rawTextLen,
- char * newTextBuffer,
- UInt16 * newTextBufferLen,
- Boolean * textChanged);
-
-
- /*
- * NSLHexDecodeText()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLHexDecodeText(
- const char * encodedText,
- UInt16 encodedTextLen,
- char * decodedTextBuffer,
- UInt16 * decodedTextBufferLen,
- Boolean * textChanged);
-
-
- /*
- -----------------------------------------------------------------------------
- Basic API Utility calls: sufficient to create, and parse data structures
- -----------------------------------------------------------------------------
- */
-
- /*
- * NSLMakeNewServicesList()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLServicesList)
- NSLMakeNewServicesList(const char * initialServiceList);
-
-
- /*
- * NSLAddServiceToServicesList()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLAddServiceToServicesList(
- NSLServicesList serviceList,
- NSLServiceType serviceType);
-
-
- /*
- * NSLDisposeServicesList()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- NSLDisposeServicesList(NSLServicesList theList);
-
-
- /*
- The name reflects the name of the Neighborhood, i.e. "apple.com." or "AppleTalk Zone One".
- The protocolList is a comma delimited list of protocols that the Neighborhood might exist in.
- If the user passes in NULL, then all protocols will be queried. The result must be disposed
- of by the user by calling NSLFreeNeighborhood.
- */
- /*
- * NSLMakeNewNeighborhood()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLNeighborhood)
- NSLMakeNewNeighborhood(
- const char * name,
- const char * protocolList); /* can be NULL */
-
-
- /* creates an exact copy of an existing neighborhood */
- /*
- * NSLCopyNeighborhood()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLNeighborhood)
- NSLCopyNeighborhood(NSLNeighborhood neighborhood);
-
-
- /*
- * NSLFreeNeighborhood()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLNeighborhood)
- NSLFreeNeighborhood(NSLNeighborhood neighborhood);
-
-
- /*
- * NSLGetNameFromNeighborhood()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- NSLGetNameFromNeighborhood(
- NSLNeighborhood neighborhood,
- char ** name,
- long * length);
-
-
- /*
- create a block of formatted data, pointed to by newDataPtr. This will be used
- in calls (typically request-related calls) for plug-ins that handle the NSL data type.
- */
- /*
- * NSLMakeServicesRequestPB()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLMakeServicesRequestPB(
- NSLServicesList serviceList,
- NSLTypedDataPtr * newDataPtr);
-
-
- /* releases any storage created with MakeXXXPB calls, associated with TypedData.*/
- /*
- * NSLFreeTypedDataPtr()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLTypedDataPtr)
- NSLFreeTypedDataPtr(NSLTypedDataPtr nslTypeData);
-
-
- /*
- utility function that returns whether a url was found, a pointer to the beginning
- of the url, and the length of the URL.
- */
- /*
- * NSLGetNextUrl()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- NSLGetNextUrl(
- NSLClientAsyncInfoPtr infoPtr,
- char ** urlPtr,
- long * urlLength);
-
-
- /*
- utility function that returns whether a Neighborhood was found, a pointer to the beginning
- of the Neighborhood, and the length of the Neighborhood.
- */
- /*
- * NSLGetNextNeighborhood()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- NSLGetNextNeighborhood(
- NSLClientAsyncInfoPtr infoPtr,
- NSLNeighborhood * neighborhood,
- long * neighborhoodLength);
-
-
-
- /*
- NSLErrorToString: convert a numeric error code to its string equivalent. Caller must
- have allocated sufficient space to store both strings. (Max 255 chars each)
-
- The errorString parameter will return a textual explanation of what is wrong,
- while the solutionString returns a possible solution to get around the problem
- */
-
- /*
- * NSLErrorToString()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLErrorToString(
- NSLError theErr,
- char * errorString,
- char * solutionString);
-
-
-
- /*
- -----------------------------------------------------------------------------
- Basic API calls: sufficient to create simple requests, and receive answers
- -----------------------------------------------------------------------------
- */
-
- /*
- * NSLOpenNavigationAPI()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLOpenNavigationAPI(NSLClientRef * newRef);
-
-
- /*
- * NSLCloseNavigationAPI()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- NSLCloseNavigationAPI(NSLClientRef theClient);
-
-
- /*
- NSLPrepareRequest: creates an NSLRequestRef, sets up some internal data
- notifier is an NSLClientNotifyUPP that will be called when data is available, when the lookup has
- completed, or if an error occurs. When the notifier is called, the cookie will be the NSLRequestRef.
- If notifier is NULL, then the NSLManager will assume that the request is made synchronously. This
- should only be used while in a separate thread, so that the client app can still process events, etc.
-
- contextPtr is a void* which is passed as the contextPtr argument when the notifier is called.
-
- upon exit:
- 1) ref will contain a pointer to a NSLRequestRef which must be passed to all other functions
- which require a NSLRequestRef.
- 2) infoPtr will point to a newly created ClientAsycnInfoPtr which will be disposed by the manager when the search is completed
- NOTE: Only one search can be running at a time per clientRef.
- */
-
- /*
- * NSLPrepareRequest()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLPrepareRequest(
- NSLClientNotifyUPP notifier,
- void * contextPtr,
- NSLClientRef theClient,
- NSLRequestRef * ref,
- char * bufPtr,
- unsigned long bufLen,
- NSLClientAsyncInfoPtr * infoPtr);
-
-
-
- /*
- NSLStartNeighborhoodLookup: looking for neighborhoods associated with or neighboring a particular neighborhood
- Passing in NULL for neighborhood will generate a list of a default neighborhood(s)
-
- */
-
- /*
- * NSLStartNeighborhoodLookup()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLStartNeighborhoodLookup(
- NSLRequestRef ref,
- NSLNeighborhood neighborhood,
- NSLClientAsyncInfo * asyncInfo);
-
-
- /*
- NSLStartServicesLookup: starts looking for entities if the specified type in the specified neighborhood
-
- */
-
- /*
- * NSLStartServicesLookup()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLStartServicesLookup(
- NSLRequestRef ref,
- NSLNeighborhood neighborhood,
- NSLTypedDataPtr requestData,
- NSLClientAsyncInfo * asyncInfo);
-
-
-
- /* NSLContinueLookup: continues a paused/outstanding lookup*/
-
- /*
- * NSLContinueLookup()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLContinueLookup(NSLClientAsyncInfo * asyncInfo);
-
-
-
- /* NSLCancelRequest: cancels an ongoing search*/
-
- /*
- * NSLCancelRequest()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLCancelRequest(NSLRequestRef ref);
-
-
- /*
- NSLDeleteRequest: deletes info associated with this ref. The ClientAsyncInfoPtr will no longer be valid
- This must be called when the client is no longer using this requestRef.
- */
-
- /*
- * NSLDeleteRequest()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NSLError)
- NSLDeleteRequest(NSLRequestRef ref);
-
-
-
- /*
- -----------------------------------------------------------------------------
- Utility API calls: use these accessors to manipulate NSL's typed data
- -----------------------------------------------------------------------------
- */
-
- /* NSLParseServicesRequestPB provides the inverse of NSLMakeRequestPB, filling out the offsets found within newDataPtr*/
- /* <--- returns an OSStatus if any errors occur parsing the data */
- /* <--- newDataPtr is the construct passed to the plugin */
- /* ---> serviceListPtr is the address of a pointer which will be set to point at the portion of the newDataPtr that holds the serviceList to be searched */
- /* ---> serviceListLen is the length of the serviceListPtr data pointed to by serviceListPtr */
- /*
- * NSLParseServicesRequestPB()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLParseServicesRequestPB(
- NSLTypedDataPtr newDataPtr,
- char ** serviceListPtr,
- UInt16 * serviceListLen);
-
-
-
- /* NSLParseServiceRegistrationPB provides for breaking apart a registration request from a client to a plugin */
- /* <--- returns an OSStatus if any errors occur parsing the data */
- /* <--- newDataPtr is the construct passed to the plugin */
- /* ---> neighborhoodPtr gets set to point at the portion of the newDataPtr that contains the neighborhood */
- /* ---> neighborhoodLen is the length of the neighborhood pointed to by neighborhoodPtr */
- /* ---> urlPtr is the address of a pointer which will be set to point at the portion of the newDataPtr that holds the url to be registered */
- /* ---> urlLen is the length of the url data pointed to by urlPtr */
- /*
- * NSLParseServiceRegistrationPB()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLParseServiceRegistrationPB(
- NSLTypedDataPtr newDataPtr,
- NSLNeighborhood * neighborhoodPtr,
- UInt16 * neighborhoodLen,
- char ** urlPtr,
- UInt16 * urlLen);
-
-
- /* NSLGetErrorStringsFromResource is obsolete in X. It will ignore the fileSpecPtr */
- /* and errorResID parameters and return the standard error strings. */
- /* NSLGetErrorStringsFromResource makes a basic assumption: */
- /* errorString and solutionString both point to valid memory of at least 256 bytes! */
- /* <--- returns an OSStatus if any errors occur */
- /* ---> theErr is an OSStatus to be matched against a resource list of errors */
- /* ---> fileSpecPtr is a FSSpecPtr to the resource containing the list of errors */
- /* ---> errorResID is the resourceID of the NSLI resource of the list of errors */
- /* <--> errorString is a pointer to valid memory of at least 256 bytes which will be filled out by the error portion of the error string */
- /* <--> solutionString is a pointer to valid memory of at least 256 bytes which will be filled out by the solution portion of the error string */
- /*
- * NSLGetErrorStringsFromResource()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLGetErrorStringsFromResource(
- OSStatus theErr,
- const FSSpec * fileSpecPtr,
- SInt16 errorResID,
- char * errorString,
- char * solutionString);
-
-
- /* <--- Returns true if given service is in the given service list */
- /* ---> serviceList is a valid NSLServicesList containing information about services to be searched */
- /* ---> svcToFind is an NSLServiceType of a particular service to check if it is in the serviceList */
- /*
- * NSLServiceIsInServiceList()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- NSLServiceIsInServiceList(
- NSLServicesList serviceList,
- NSLServiceType svcToFind);
-
-
- /* <--- returns an OSStatus if any errors occur parsing the data */
- /* ---> svcString is the address of a pointer which will be set to point at the portion of theURL that holds the serviceType of theURL */
- /* ---> svcLen is the length of the serviceType pointed to by svcString */
- /*
- * NSLGetServiceFromURL()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NSLGetServiceFromURL(
- char * theURL,
- char ** svcString,
- UInt16 * svcLen);
-
-
- /* <--- returns the length of a Neighborhood data structure */
- /* ---> neighborhood is a valid NSLNeighborhood */
- /*
- * NSLGetNeighborhoodLength()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- NSLGetNeighborhoodLength(NSLNeighborhood neighborhood);
-
-
- /*
- -------------------------------------------------------------------------------------
- Utility API calls: use these routines to separate plugin threads from client threads
- -------------------------------------------------------------------------------------
- */
-
- /* this routine works the same as the Thread manager's routine NewThread, except */
- /* that the thread is added to the NSL manager's thread list. */
- /*
- * NSLNewThread()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NSLNewThread(
- ThreadStyle threadStyle,
- ThreadEntryProcPtr threadEntry,
- void * threadParam,
- Size stackSize,
- ThreadOptions options,
- void ** threadResult,
- ThreadID * threadMade);
-
-
- /* this routine works the same as the Thread manager's routine DisposeThread, except */
- /* that the thread is removed from the NSL manager's thread list. */
- /*
- * NSLDisposeThread()
- *
- * Availability:
- * Non-Carbon CFM: in NSLPPCLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NSLDisposeThread(
- ThreadID threadToDump,
- void * threadResult,
- Boolean recycleThread);
+/*
+ -----------------------------------------------------------------------------
+ High level API calls: the following two calls are ALL an application needs
+ to register/deregister its service.
+ If you use these, you don't need to make any of the other calls to NSLAPI
+ (including NSLOpenNavigationAPI)
+ -----------------------------------------------------------------------------
+*/
+
+/* <--- error code from registration */
+/* ---> urlToRegister is a null terminated url that has only legal characters defined for URLs. Use HexEncodeText to encode*/
+/* portions of the url that have illegal characters */
+/* ---> neighborhoodToRegisterIn is an optional parameter for explicitly defining a neighborhood to register in.
+ If parameter is NULL, then the plugins will determine where to register the service */
+/*
+ * NSLStandardRegisterURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLStandardRegisterURL(
+ NSLPath urlToRegister,
+ NSLNeighborhood neighborhoodToRegisterIn); /* can be NULL */
+
+
+/* <--- error code from registration */
+/* ---> urlToRegister is a null terminated url that has only legal characters defined for URLs. Use HexEncodeText to encode*/
+/* portions of the url that have illegal characters */
+/* ---> neighborhoodToDeregisterIn is an optional parameter for explicitly defining a neighborhood to register in.
+ If parameter is NULL, then the plugins will determine where to register the service */
+/*
+ * NSLStandardDeregisterURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLStandardDeregisterURL(
+ NSLPath urlToDeregister,
+ NSLNeighborhood neighborhoodToDeregisterIn); /* can be NULL */
+
+
+
+/*-----------------------------------------------------------------------------*/
+
+/*
+ * NSLHexEncodeText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLHexEncodeText(
+ const char * rawText,
+ UInt16 rawTextLen,
+ char * newTextBuffer,
+ UInt16 * newTextBufferLen,
+ Boolean * textChanged);
+
+
+/*
+ * NSLHexDecodeText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLHexDecodeText(
+ const char * encodedText,
+ UInt16 encodedTextLen,
+ char * decodedTextBuffer,
+ UInt16 * decodedTextBufferLen,
+ Boolean * textChanged);
+
+
+/*
+ -----------------------------------------------------------------------------
+ Basic API Utility calls: sufficient to create, and parse data structures
+ -----------------------------------------------------------------------------
+*/
+
+/*
+ * NSLMakeNewServicesList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLServicesList )
+NSLMakeNewServicesList(const char * initialServiceList);
+
+
+/*
+ * NSLAddServiceToServicesList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLAddServiceToServicesList(
+ NSLServicesList serviceList,
+ NSLServiceType serviceType);
+
+
+/*
+ * NSLDisposeServicesList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+NSLDisposeServicesList(NSLServicesList theList);
+
+
+/*
+ The name reflects the name of the Neighborhood, i.e. "apple.com." or "AppleTalk Zone One".
+ The protocolList is a comma delimited list of protocols that the Neighborhood might exist in.
+ If the user passes in NULL, then all protocols will be queried. The result must be disposed
+ of by the user by calling NSLFreeNeighborhood.
+*/
+/*
+ * NSLMakeNewNeighborhood()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLNeighborhood )
+NSLMakeNewNeighborhood(
+ const char * name,
+ const char * protocolList); /* can be NULL */
+
+
+/* creates an exact copy of an existing neighborhood */
+/*
+ * NSLCopyNeighborhood()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLNeighborhood )
+NSLCopyNeighborhood(NSLNeighborhood neighborhood);
+
+
+/*
+ * NSLFreeNeighborhood()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLNeighborhood )
+NSLFreeNeighborhood(NSLNeighborhood neighborhood);
+
+
+/*
+ * NSLGetNameFromNeighborhood()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+NSLGetNameFromNeighborhood(
+ NSLNeighborhood neighborhood,
+ char ** name,
+ long * length);
+
+
+/*
+ create a block of formatted data, pointed to by newDataPtr. This will be used
+ in calls (typically request-related calls) for plug-ins that handle the NSL data type.
+*/
+/*
+ * NSLMakeServicesRequestPB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLMakeServicesRequestPB(
+ NSLServicesList serviceList,
+ NSLTypedDataPtr * newDataPtr);
+
+
+/* releases any storage created with MakeXXXPB calls, associated with TypedData.*/
+/*
+ * NSLFreeTypedDataPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLTypedDataPtr )
+NSLFreeTypedDataPtr(NSLTypedDataPtr nslTypeData);
+
+
+/*
+ utility function that returns whether a url was found, a pointer to the beginning
+ of the url, and the length of the URL.
+*/
+/*
+ * NSLGetNextUrl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+NSLGetNextUrl(
+ NSLClientAsyncInfoPtr infoPtr,
+ char ** urlPtr,
+ long * urlLength);
+
+
+/*
+ utility function that returns whether a Neighborhood was found, a pointer to the beginning
+ of the Neighborhood, and the length of the Neighborhood.
+*/
+/*
+ * NSLGetNextNeighborhood()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+NSLGetNextNeighborhood(
+ NSLClientAsyncInfoPtr infoPtr,
+ NSLNeighborhood * neighborhood,
+ long * neighborhoodLength);
+
+
+
+/*
+ NSLErrorToString: convert a numeric error code to its string equivalent. Caller must
+ have allocated sufficient space to store both strings. (Max 255 chars each)
+
+ The errorString parameter will return a textual explanation of what is wrong,
+ while the solutionString returns a possible solution to get around the problem
+*/
+
+/*
+ * NSLErrorToString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLErrorToString(
+ NSLError theErr,
+ char * errorString,
+ char * solutionString);
+
+
+
+/*
+ -----------------------------------------------------------------------------
+ Basic API calls: sufficient to create simple requests, and receive answers
+ -----------------------------------------------------------------------------
+*/
+
+/*
+ * NSLOpenNavigationAPI()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLOpenNavigationAPI(NSLClientRef * newRef);
+
+
+/*
+ * NSLCloseNavigationAPI()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+NSLCloseNavigationAPI(NSLClientRef theClient);
+
+
+/*
+ NSLPrepareRequest: creates an NSLRequestRef, sets up some internal data
+ notifier is an NSLClientNotifyUPP that will be called when data is available, when the lookup has
+ completed, or if an error occurs. When the notifier is called, the cookie will be the NSLRequestRef.
+ If notifier is NULL, then the NSLManager will assume that the request is made synchronously. This
+ should only be used while in a separate thread, so that the client app can still process events, etc.
+
+ contextPtr is a void* which is passed as the contextPtr argument when the notifier is called.
+
+ upon exit:
+ 1) ref will contain a pointer to a NSLRequestRef which must be passed to all other functions
+ which require a NSLRequestRef.
+ 2) infoPtr will point to a newly created ClientAsycnInfoPtr which will be disposed by the manager when the search is completed
+ NOTE: Only one search can be running at a time per clientRef.
+*/
+
+/*
+ * NSLPrepareRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLPrepareRequest(
+ NSLClientNotifyUPP notifier,
+ void * contextPtr,
+ NSLClientRef theClient,
+ NSLRequestRef * ref,
+ char * bufPtr,
+ unsigned long bufLen,
+ NSLClientAsyncInfoPtr * infoPtr);
+
+
+
+/*
+ NSLStartNeighborhoodLookup: looking for neighborhoods associated with or neighboring a particular neighborhood
+ Passing in NULL for neighborhood will generate a list of a default neighborhood(s)
+
+*/
+
+/*
+ * NSLStartNeighborhoodLookup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLStartNeighborhoodLookup(
+ NSLRequestRef ref,
+ NSLNeighborhood neighborhood,
+ NSLClientAsyncInfo * asyncInfo);
+
+
+/*
+ NSLStartServicesLookup: starts looking for entities if the specified type in the specified neighborhood
+
+*/
+
+/*
+ * NSLStartServicesLookup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLStartServicesLookup(
+ NSLRequestRef ref,
+ NSLNeighborhood neighborhood,
+ NSLTypedDataPtr requestData,
+ NSLClientAsyncInfo * asyncInfo);
+
+
+
+/* NSLContinueLookup: continues a paused/outstanding lookup*/
+
+/*
+ * NSLContinueLookup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLContinueLookup(NSLClientAsyncInfo * asyncInfo);
+
+
+
+/* NSLCancelRequest: cancels an ongoing search*/
+
+/*
+ * NSLCancelRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLCancelRequest(NSLRequestRef ref);
+
+
+/*
+ NSLDeleteRequest: deletes info associated with this ref. The ClientAsyncInfoPtr will no longer be valid
+ This must be called when the client is no longer using this requestRef.
+*/
+
+/*
+ * NSLDeleteRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NSLError )
+NSLDeleteRequest(NSLRequestRef ref);
+
+
+
+/*
+ -----------------------------------------------------------------------------
+ Utility API calls: use these accessors to manipulate NSL's typed data
+ -----------------------------------------------------------------------------
+*/
+
+/* NSLParseServicesRequestPB provides the inverse of NSLMakeRequestPB, filling out the offsets found within newDataPtr*/
+/* <--- returns an OSStatus if any errors occur parsing the data */
+/* <--- newDataPtr is the construct passed to the plugin */
+/* ---> serviceListPtr is the address of a pointer which will be set to point at the portion of the newDataPtr that holds the serviceList to be searched */
+/* ---> serviceListLen is the length of the serviceListPtr data pointed to by serviceListPtr */
+/*
+ * NSLParseServicesRequestPB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLParseServicesRequestPB(
+ NSLTypedDataPtr newDataPtr,
+ char ** serviceListPtr,
+ UInt16 * serviceListLen);
+
+
+
+/* NSLParseServiceRegistrationPB provides for breaking apart a registration request from a client to a plugin */
+/* <--- returns an OSStatus if any errors occur parsing the data */
+/* <--- newDataPtr is the construct passed to the plugin */
+/* ---> neighborhoodPtr gets set to point at the portion of the newDataPtr that contains the neighborhood */
+/* ---> neighborhoodLen is the length of the neighborhood pointed to by neighborhoodPtr */
+/* ---> urlPtr is the address of a pointer which will be set to point at the portion of the newDataPtr that holds the url to be registered */
+/* ---> urlLen is the length of the url data pointed to by urlPtr */
+/*
+ * NSLParseServiceRegistrationPB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLParseServiceRegistrationPB(
+ NSLTypedDataPtr newDataPtr,
+ NSLNeighborhood * neighborhoodPtr,
+ UInt16 * neighborhoodLen,
+ char ** urlPtr,
+ UInt16 * urlLen);
+
+
+/* NSLGetErrorStringsFromResource is obsolete in X. It will ignore the fileSpecPtr */
+/* and errorResID parameters and return the standard error strings. */
+/* NSLGetErrorStringsFromResource makes a basic assumption: */
+/* errorString and solutionString both point to valid memory of at least 256 bytes! */
+/* <--- returns an OSStatus if any errors occur */
+/* ---> theErr is an OSStatus to be matched against a resource list of errors */
+/* ---> fileSpecPtr is a FSSpecPtr to the resource containing the list of errors */
+/* ---> errorResID is the resourceID of the NSLI resource of the list of errors */
+/* <--> errorString is a pointer to valid memory of at least 256 bytes which will be filled out by the error portion of the error string */
+/* <--> solutionString is a pointer to valid memory of at least 256 bytes which will be filled out by the solution portion of the error string */
+/*
+ * NSLGetErrorStringsFromResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLGetErrorStringsFromResource(
+ OSStatus theErr,
+ const FSSpec * fileSpecPtr,
+ SInt16 errorResID,
+ char * errorString,
+ char * solutionString);
+
+
+/* <--- Returns true if given service is in the given service list */
+/* ---> serviceList is a valid NSLServicesList containing information about services to be searched */
+/* ---> svcToFind is an NSLServiceType of a particular service to check if it is in the serviceList */
+/*
+ * NSLServiceIsInServiceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+NSLServiceIsInServiceList(
+ NSLServicesList serviceList,
+ NSLServiceType svcToFind);
+
+
+/* <--- returns an OSStatus if any errors occur parsing the data */
+/* ---> svcString is the address of a pointer which will be set to point at the portion of theURL that holds the serviceType of theURL */
+/* ---> svcLen is the length of the serviceType pointed to by svcString */
+/*
+ * NSLGetServiceFromURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NSLGetServiceFromURL(
+ char * theURL,
+ char ** svcString,
+ UInt16 * svcLen);
+
+
+/* <--- returns the length of a Neighborhood data structure */
+/* ---> neighborhood is a valid NSLNeighborhood */
+/*
+ * NSLGetNeighborhoodLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+NSLGetNeighborhoodLength(NSLNeighborhood neighborhood);
+
+
+/*
+ -------------------------------------------------------------------------------------
+ Utility API calls: use these routines to separate plugin threads from client threads
+ -------------------------------------------------------------------------------------
+*/
+
+/* this routine works the same as the Thread manager's routine NewThread, except */
+/* that the thread is added to the NSL manager's thread list. */
+/*
+ * NSLNewThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NSLNewThread(
+ ThreadStyle threadStyle,
+ ThreadEntryProcPtr threadEntry,
+ void * threadParam,
+ Size stackSize,
+ ThreadOptions options,
+ void ** threadResult,
+ ThreadID * threadMade);
+
+
+/* this routine works the same as the Thread manager's routine DisposeThread, except */
+/* that the thread is removed from the NSL manager's thread list. */
+/*
+ * NSLDisposeThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NSLPPCLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NSLDisposeThread(
+ ThreadID threadToDump,
+ void * threadResult,
+ Boolean recycleThread);
#if OLDROUTINENAMES
- typedef NSLClientAsyncInfo ClientAsyncInfo;
- typedef NSLPluginAsyncInfo PluginAsyncInfo;
- typedef NSLTypedData TypedData;
- typedef NSLPluginData PluginData;
- typedef NSLClientAsyncInfoPtr ClientAsyncInfoPtr;
- typedef NSLPluginAsyncInfoPtr PluginAsyncInfoPtr;
- typedef NSLTypedDataPtr TypedDataPtr;
- typedef NSLPluginDataPtr PluginDataPtr;
+typedef NSLClientAsyncInfo ClientAsyncInfo;
+typedef NSLPluginAsyncInfo PluginAsyncInfo;
+typedef NSLTypedData TypedData;
+typedef NSLPluginData PluginData;
+typedef NSLClientAsyncInfoPtr ClientAsyncInfoPtr;
+typedef NSLPluginAsyncInfoPtr PluginAsyncInfoPtr;
+typedef NSLTypedDataPtr TypedDataPtr;
+typedef NSLPluginDataPtr PluginDataPtr;
#endif /* OLDROUTINENAMES */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/NameRegistry.h b/include/qt/NameRegistry.h
index 087e05bca..6abdffb94 100644
--- a/include/qt/NameRegistry.h
+++ b/include/qt/NameRegistry.h
@@ -1,17 +1,17 @@
/*
File: NameRegistry.h
-
+
Contains: NameRegistry Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __NAMEREGISTRY__
#define __NAMEREGISTRY__
@@ -36,791 +36,782 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*******************************************************************************
- *
- * Foundation Types
- *
- */
- /* Value of a property */
- typedef void * RegPropertyValue;
- /* Length of property value */
- typedef UInt32 RegPropertyValueSize;
- /*******************************************************************************
- *
- * RegEntryID : The Global x-Namespace Entry Identifier
- *
- */
- struct RegEntryID
- {
- UInt32 contents[4];
- };
- typedef struct RegEntryID RegEntryID;
- typedef RegEntryID * RegEntryIDPtr;
- /*******************************************************************************
- *
- * Root Entry Name Definitions (Applies to all Names in the RootNameSpace)
- *
- * o Names are a colon-separated list of name components. Name components
- * may not themselves contain colons.
- * o Names are presented as null-terminated ASCII character strings.
- * o Names follow similar parsing rules to Apple file system absolute
- * and relative paths. However the '::' parent directory syntax is
- * not currently supported.
- */
- /* Max length of Entry Name */
- enum
- {
- kRegCStrMaxEntryNameLength = 47
- };
-
- /* Entry Names are single byte ASCII */
- typedef char RegCStrEntryName;
- typedef char * RegCStrEntryNamePtr;
- /* length of RegCStrEntryNameBuf = kRegCStrMaxEntryNameLength+1*/
- typedef char RegCStrEntryNameBuf[48];
- typedef char RegCStrPathName;
- typedef UInt32 RegPathNameSize;
- enum
- {
- kRegPathNameSeparator = ':', /* 0x3A */
- kRegEntryNameTerminator = 0x00, /* '\0' */
- kRegPathNameTerminator = 0x00 /* '\0' */
- };
-
- /*******************************************************************************
- *
- * Property Name and ID Definitions
- * (Applies to all Properties Regardless of NameSpace)
- */
- enum
- {
- kRegMaximumPropertyNameLength = 31, /* Max length of Property Name */
- kRegPropertyNameTerminator = 0x00 /* '\0' */
- };
-
- typedef char RegPropertyNameBuf[32];
- typedef char RegPropertyName;
- typedef char * RegPropertyNamePtr;
- /*******************************************************************************
- *
- * Iteration Operations
- *
- * These specify direction when traversing the name relationships
- */
- typedef UInt32 RegIterationOp;
- typedef RegIterationOp RegEntryIterationOp;
- enum
- {
- /* Absolute locations*/
- kRegIterRoot = 0x00000002, /* "Upward" Relationships */
- kRegIterParents = 0x00000003, /* include all parent(s) of entry */
- /* "Downward" Relationships*/
- kRegIterChildren = 0x00000004, /* include all children */
- kRegIterSubTrees = 0x00000005, /* include all sub trees of entry */
- kRegIterDescendants = 0x00000005, /* include all descendants of entry */
- /* "Horizontal" Relationships */
- kRegIterSibling = 0x00000006, /* include all siblings */
- /* Keep doing the same thing*/
- kRegIterContinue = 0x00000001
- };
-
- /*******************************************************************************
- *
- * Name Entry and Property Modifiers
- *
- *
- *
- * Modifiers describe special characteristics of names
- * and properties. Modifiers might be supported for
- * some names and not others.
- *
- * Device Drivers should not rely on functionality
- * specified as a modifier.
- */
- typedef UInt32 RegModifiers;
- typedef RegModifiers RegEntryModifiers;
- typedef RegModifiers RegPropertyModifiers;
- enum
- {
- kRegNoModifiers = 0x00000000, /* no entry modifiers in place */
- kRegUniversalModifierMask = 0x0000FFFF, /* mods to all entries */
- kRegNameSpaceModifierMask = 0x00FF0000, /* mods to all entries within namespace */
- kRegModifierMask = (long)0xFF000000 /* mods to just this entry */
- };
-
- /* Universal Property Modifiers */
- enum
- {
- kRegPropertyValueIsSavedToNVRAM = 0x00000020, /* property is non-volatile (saved in NVRAM) */
- kRegPropertyValueIsSavedToDisk = 0x00000040 /* property is non-volatile (saved on disk) */
- };
-
- /* NameRegistry version, Gestalt/PEF-style -- MUST BE KEPT IN SYNC WITH MAKEFILE !! */
- enum
- {
- LatestNR_PEFVersion = 0x01030000 /* latest NameRegistryLib version (Gestalt/PEF-style) */
- };
-
- /* ///////////////////////
- //
- // The Registry API
- //
- /////////////////////// */
- /* NameRegistry dispatch indexes */
- enum
- {
- kSelectRegistryEntryIDInit = 0,
- kSelectRegistryEntryIDCompare = 1,
- kSelectRegistryEntryIDCopy = 2,
- kSelectRegistryEntryIDDispose = 3,
- kSelectRegistryCStrEntryCreate = 4,
- kSelectRegistryEntryDelete = 5,
- kSelectRegistryEntryCopy = 6,
- kSelectRegistryEntryIterateCreate = 7,
- kSelectRegistryEntryIterateDispose = 8,
- kSelectRegistryEntryIterateSet = 9,
- kSelectRegistryEntryIterate = 10,
- kSelectRegistryEntrySearch = 11,
- kSelectRegistryCStrEntryLookup = 12,
- kSelectRegistryEntryToPathSize = 13,
- kSelectRegistryCStrEntryToPath = 14,
- kSelectRegistryCStrEntryToName = 15,
- kSelectRegistryPropertyCreate = 16,
- kSelectRegistryPropertyDelete = 17,
- kSelectRegistryPropertyRename = 18,
- kSelectRegistryPropertyIterateCreate = 19,
- kSelectRegistryPropertyIterateDispose = 20,
- kSelectRegistryPropertyIterate = 21,
- kSelectRegistryPropertyGetSize = 22,
- kSelectRegistryPropertyGet = 23,
- kSelectRegistryPropertySet = 24,
- kSelectRegistryEntryGetMod = 25,
- kSelectRegistryEntrySetMod = 26,
- kSelectRegistryPropertyGetMod = 27,
- kSelectRegistryPropertySetMod = 28,
- kSelectRegistryEntryMod = 29,
- kSelectRegistryEntryPropertyMod = 30, /* if you add more selectors here, remember to change 'kSelectRegistryHighestSelector' below*/
- kSelectRegistryHighestSelector = kSelectRegistryEntryPropertyMod
- };
-
-
- /* ///////////////////////
- //
- // Entry Management
- //
- /////////////////////// */
-
- /*-------------------------------
- * EntryID handling
- */
- /*
- * Initialize an EntryID to a known invalid state
- * note: invalid != uninitialized
- */
+/*******************************************************************************
+ *
+ * Foundation Types
+ *
+ */
+/* Value of a property */
+typedef void * RegPropertyValue;
+/* Length of property value */
+typedef UInt32 RegPropertyValueSize;
+/*******************************************************************************
+ *
+ * RegEntryID : The Global x-Namespace Entry Identifier
+ *
+ */
+struct RegEntryID {
+ UInt32 contents[4];
+};
+typedef struct RegEntryID RegEntryID;
+typedef RegEntryID * RegEntryIDPtr;
+/*******************************************************************************
+ *
+ * Root Entry Name Definitions (Applies to all Names in the RootNameSpace)
+ *
+ * o Names are a colon-separated list of name components. Name components
+ * may not themselves contain colons.
+ * o Names are presented as null-terminated ASCII character strings.
+ * o Names follow similar parsing rules to Apple file system absolute
+ * and relative paths. However the '::' parent directory syntax is
+ * not currently supported.
+ */
+/* Max length of Entry Name */
+enum {
+ kRegCStrMaxEntryNameLength = 47
+};
+
+/* Entry Names are single byte ASCII */
+typedef char RegCStrEntryName;
+typedef char * RegCStrEntryNamePtr;
+/* length of RegCStrEntryNameBuf = kRegCStrMaxEntryNameLength+1*/
+typedef char RegCStrEntryNameBuf[48];
+typedef char RegCStrPathName;
+typedef UInt32 RegPathNameSize;
+enum {
+ kRegPathNameSeparator = ':', /* 0x3A */
+ kRegEntryNameTerminator = 0x00, /* '\0' */
+ kRegPathNameTerminator = 0x00 /* '\0' */
+};
+
+/*******************************************************************************
+ *
+ * Property Name and ID Definitions
+ * (Applies to all Properties Regardless of NameSpace)
+ */
+enum {
+ kRegMaximumPropertyNameLength = 31, /* Max length of Property Name */
+ kRegPropertyNameTerminator = 0x00 /* '\0' */
+};
+
+typedef char RegPropertyNameBuf[32];
+typedef char RegPropertyName;
+typedef char * RegPropertyNamePtr;
+/*******************************************************************************
+ *
+ * Iteration Operations
+ *
+ * These specify direction when traversing the name relationships
+ */
+typedef UInt32 RegIterationOp;
+typedef RegIterationOp RegEntryIterationOp;
+enum {
+ /* Absolute locations*/
+ kRegIterRoot = 0x00000002, /* "Upward" Relationships */
+ kRegIterParents = 0x00000003, /* include all parent(s) of entry */
+ /* "Downward" Relationships*/
+ kRegIterChildren = 0x00000004, /* include all children */
+ kRegIterSubTrees = 0x00000005, /* include all sub trees of entry */
+ kRegIterDescendants = 0x00000005, /* include all descendants of entry */
+ /* "Horizontal" Relationships */
+ kRegIterSibling = 0x00000006, /* include all siblings */
+ /* Keep doing the same thing*/
+ kRegIterContinue = 0x00000001
+};
+
+/*******************************************************************************
+ *
+ * Name Entry and Property Modifiers
+ *
+ *
+ *
+ * Modifiers describe special characteristics of names
+ * and properties. Modifiers might be supported for
+ * some names and not others.
+ *
+ * Device Drivers should not rely on functionality
+ * specified as a modifier.
+ */
+typedef UInt32 RegModifiers;
+typedef RegModifiers RegEntryModifiers;
+typedef RegModifiers RegPropertyModifiers;
+enum {
+ kRegNoModifiers = 0x00000000, /* no entry modifiers in place */
+ kRegUniversalModifierMask = 0x0000FFFF, /* mods to all entries */
+ kRegNameSpaceModifierMask = 0x00FF0000, /* mods to all entries within namespace */
+ kRegModifierMask = (long)0xFF000000 /* mods to just this entry */
+};
+
+/* Universal Property Modifiers */
+enum {
+ kRegPropertyValueIsSavedToNVRAM = 0x00000020, /* property is non-volatile (saved in NVRAM) */
+ kRegPropertyValueIsSavedToDisk = 0x00000040 /* property is non-volatile (saved on disk) */
+};
+
+/* NameRegistry version, Gestalt/PEF-style -- MUST BE KEPT IN SYNC WITH MAKEFILE !! */
+enum {
+ LatestNR_PEFVersion = 0x01030000 /* latest NameRegistryLib version (Gestalt/PEF-style) */
+};
+
+/* ///////////////////////
+//
+// The Registry API
+//
+/////////////////////// */
+/* NameRegistry dispatch indexes */
+enum {
+ kSelectRegistryEntryIDInit = 0,
+ kSelectRegistryEntryIDCompare = 1,
+ kSelectRegistryEntryIDCopy = 2,
+ kSelectRegistryEntryIDDispose = 3,
+ kSelectRegistryCStrEntryCreate = 4,
+ kSelectRegistryEntryDelete = 5,
+ kSelectRegistryEntryCopy = 6,
+ kSelectRegistryEntryIterateCreate = 7,
+ kSelectRegistryEntryIterateDispose = 8,
+ kSelectRegistryEntryIterateSet = 9,
+ kSelectRegistryEntryIterate = 10,
+ kSelectRegistryEntrySearch = 11,
+ kSelectRegistryCStrEntryLookup = 12,
+ kSelectRegistryEntryToPathSize = 13,
+ kSelectRegistryCStrEntryToPath = 14,
+ kSelectRegistryCStrEntryToName = 15,
+ kSelectRegistryPropertyCreate = 16,
+ kSelectRegistryPropertyDelete = 17,
+ kSelectRegistryPropertyRename = 18,
+ kSelectRegistryPropertyIterateCreate = 19,
+ kSelectRegistryPropertyIterateDispose = 20,
+ kSelectRegistryPropertyIterate = 21,
+ kSelectRegistryPropertyGetSize = 22,
+ kSelectRegistryPropertyGet = 23,
+ kSelectRegistryPropertySet = 24,
+ kSelectRegistryEntryGetMod = 25,
+ kSelectRegistryEntrySetMod = 26,
+ kSelectRegistryPropertyGetMod = 27,
+ kSelectRegistryPropertySetMod = 28,
+ kSelectRegistryEntryMod = 29,
+ kSelectRegistryEntryPropertyMod = 30, /* if you add more selectors here, remember to change 'kSelectRegistryHighestSelector' below*/
+ kSelectRegistryHighestSelector = kSelectRegistryEntryPropertyMod
+};
+
+
+/* ///////////////////////
+//
+// Entry Management
+//
+/////////////////////// */
+
+/*-------------------------------
+ * EntryID handling
+ */
+/*
+ * Initialize an EntryID to a known invalid state
+ * note: invalid != uninitialized
+ */
#if CALL_NOT_IN_CARBON
- /*
- * RegistryEntryIDInit()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryIDInit(RegEntryID * id) TWOWORDINLINE(0x7000, 0xABE9);
-
-
- /*
- * Compare EntryID's for equality or if invalid
- *
- * If a NULL value is given for either id1 or id2, the other id
- * is compared with an invalid ID. If both are NULL, the id's
- * are consided equal (result = true).
- */
- /*
- * RegistryEntryIDCompare()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- RegistryEntryIDCompare(
- const RegEntryID * id1,
- const RegEntryID * id2) TWOWORDINLINE(0x7001, 0xABE9);
-
-
- /*
- * Copy an EntryID
- */
- /*
- * RegistryEntryIDCopy()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryIDCopy(
- const RegEntryID * src,
- RegEntryID * dst) TWOWORDINLINE(0x7002, 0xABE9);
-
-
- /*
- * Free an ID so it can be reused.
- */
- /*
- * RegistryEntryIDDispose()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryIDDispose(RegEntryID * id) TWOWORDINLINE(0x7003, 0xABE9);
-
-
- /*-------------------------------
- * Adding and removing entries
- *
- * If (parentEntry) is NULL, the name is assumed
- * to be a rooted path. It is rooted to an anonymous, unnamed root.
- */
- /*
- * RegistryCStrEntryCreate()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryCStrEntryCreate(
- const RegEntryID * parentEntry,
- const RegCStrPathName * name,
- RegEntryID * newEntry) TWOWORDINLINE(0x7004, 0xABE9);
-
-
- /*
- * RegistryEntryDelete()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryDelete(const RegEntryID * id) TWOWORDINLINE(0x7005, 0xABE9);
-
-
- /*
- * RegistryEntryCopy()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryCopy(
- RegEntryID * parentEntryID,
- RegEntryID * sourceDevice,
- RegEntryID * destDevice) TWOWORDINLINE(0x7006, 0xABE9);
-
-
- /*---------------------------
- * Traversing the namespace
- *
- * To support arbitrary namespace implementations in the future,
- * I have hidden the form that the place pointer takes. The previous
- * interface exposed the place pointer by specifying it as a
- * RegEntryID.
- *
- * I have also removed any notion of returning the entries
- * in a particular order, because an implementation might
- * return the names in semi-random order. Many name service
- * implementations will store the names in a hashed lookup
- * table.
- *
- * Writing code to traverse some set of names consists of
- * a call to begin the iteration, the iteration loop, and
- * a call to end the iteration. The begin call initializes
- * the iteration cookie data structure. The call to end the
- * iteration should be called even in the case of error so
- * that allocated data structures can be freed.
- *
- * Create(...)
- * do {
- * Iterate(...);
- * } while (!done);
- * Dispose(...);
- *
- * This is the basic code structure for callers of the iteration
- * interface.
- */
+/*
+ * RegistryEntryIDInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryIDInit(RegEntryID * id) TWOWORDINLINE(0x7000, 0xABE9);
+
+
+/*
+ * Compare EntryID's for equality or if invalid
+ *
+ * If a NULL value is given for either id1 or id2, the other id
+ * is compared with an invalid ID. If both are NULL, the id's
+ * are consided equal (result = true).
+ */
+/*
+ * RegistryEntryIDCompare()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+RegistryEntryIDCompare(
+ const RegEntryID * id1,
+ const RegEntryID * id2) TWOWORDINLINE(0x7001, 0xABE9);
+
+
+/*
+ * Copy an EntryID
+ */
+/*
+ * RegistryEntryIDCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryIDCopy(
+ const RegEntryID * src,
+ RegEntryID * dst) TWOWORDINLINE(0x7002, 0xABE9);
+
+
+/*
+ * Free an ID so it can be reused.
+ */
+/*
+ * RegistryEntryIDDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryIDDispose(RegEntryID * id) TWOWORDINLINE(0x7003, 0xABE9);
+
+
+/*-------------------------------
+ * Adding and removing entries
+ *
+ * If (parentEntry) is NULL, the name is assumed
+ * to be a rooted path. It is rooted to an anonymous, unnamed root.
+ */
+/*
+ * RegistryCStrEntryCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryCStrEntryCreate(
+ const RegEntryID * parentEntry,
+ const RegCStrPathName * name,
+ RegEntryID * newEntry) TWOWORDINLINE(0x7004, 0xABE9);
+
+
+/*
+ * RegistryEntryDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryDelete(const RegEntryID * id) TWOWORDINLINE(0x7005, 0xABE9);
+
+
+/*
+ * RegistryEntryCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryCopy(
+ RegEntryID * parentEntryID,
+ RegEntryID * sourceDevice,
+ RegEntryID * destDevice) TWOWORDINLINE(0x7006, 0xABE9);
+
+
+/*---------------------------
+ * Traversing the namespace
+ *
+ * To support arbitrary namespace implementations in the future,
+ * I have hidden the form that the place pointer takes. The previous
+ * interface exposed the place pointer by specifying it as a
+ * RegEntryID.
+ *
+ * I have also removed any notion of returning the entries
+ * in a particular order, because an implementation might
+ * return the names in semi-random order. Many name service
+ * implementations will store the names in a hashed lookup
+ * table.
+ *
+ * Writing code to traverse some set of names consists of
+ * a call to begin the iteration, the iteration loop, and
+ * a call to end the iteration. The begin call initializes
+ * the iteration cookie data structure. The call to end the
+ * iteration should be called even in the case of error so
+ * that allocated data structures can be freed.
+ *
+ * Create(...)
+ * do {
+ * Iterate(...);
+ * } while (!done);
+ * Dispose(...);
+ *
+ * This is the basic code structure for callers of the iteration
+ * interface.
+ */
#endif /* CALL_NOT_IN_CARBON */
- typedef struct OpaqueRegEntryIter* RegEntryIter;
- /*
- * create/dispose the iterator structure
- * defaults to root with relationship = kRegIterDescendants
- */
+typedef struct OpaqueRegEntryIter* RegEntryIter;
+/*
+ * create/dispose the iterator structure
+ * defaults to root with relationship = kRegIterDescendants
+ */
#if CALL_NOT_IN_CARBON
- /*
- * RegistryEntryIterateCreate()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryIterateCreate(RegEntryIter * cookie) TWOWORDINLINE(0x7007, 0xABE9);
-
-
- /*
- * RegistryEntryIterateDispose()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryIterateDispose(RegEntryIter * cookie) TWOWORDINLINE(0x7008, 0xABE9);
-
-
- /*
- * set Entry Iterator to specified entry
- */
- /*
- * RegistryEntryIterateSet()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryIterateSet(
- RegEntryIter * cookie,
- const RegEntryID * startEntryID) TWOWORDINLINE(0x7009, 0xABE9);
-
-
- /*
- * Return each value of the iteration
- *
- * return entries related to the current entry
- * with the specified relationship
- */
- /*
- * RegistryEntryIterate()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryIterate(
- RegEntryIter * cookie,
- RegEntryIterationOp relationship,
- RegEntryID * foundEntry,
- Boolean * done) TWOWORDINLINE(0x700A, 0xABE9);
-
-
- /*
- * return entries with the specified property
- *
- * A NULL RegPropertyValue pointer will return an
- * entry with the property containing any value.
- */
- /*
- * RegistryEntrySearch()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntrySearch(
- RegEntryIter * cookie,
- RegEntryIterationOp relationship,
- RegEntryID * foundEntry,
- Boolean * done,
- const RegPropertyName * propertyName,
- const void * propertyValue,
- RegPropertyValueSize propertySize) TWOWORDINLINE(0x700B, 0xABE9);
-
-
- /*--------------------------------
- * Find a name in the namespace
- *
- * This is the fast lookup mechanism.
- * NOTE: A reverse lookup mechanism
- * has not been provided because
- * some name services may not
- * provide a fast, general reverse
- * lookup.
- */
- /*
- * RegistryCStrEntryLookup()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryCStrEntryLookup(
- const RegEntryID * searchPointID,
- const RegCStrPathName * pathName,
- RegEntryID * foundEntry) TWOWORDINLINE(0x700C, 0xABE9);
-
-
- /*---------------------------------------------
- * Convert an entry to a rooted name string
- *
- * A utility routine to turn an Entry ID
- * back into a name string.
- */
- /*
- * RegistryEntryToPathSize()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryToPathSize(
- const RegEntryID * entryID,
- RegPathNameSize * pathSize) TWOWORDINLINE(0x700D, 0xABE9);
-
-
- /*
- * RegistryCStrEntryToPath()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryCStrEntryToPath(
- const RegEntryID * entryID,
- RegCStrPathName * pathName,
- RegPathNameSize pathSize) TWOWORDINLINE(0x700E, 0xABE9);
-
-
- /*
- * Parse a path name.
- *
- * Retrieve the last component of the path, and
- * return a spec for the parent.
- */
- /*
- * RegistryCStrEntryToName()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryCStrEntryToName(
- const RegEntryID * entryID,
- RegEntryID * parentEntry,
- RegCStrEntryName * nameComponent,
- Boolean * done) TWOWORDINLINE(0x700F, 0xABE9);
-
-
- /* //////////////////////////////////////////////////////
- //
- // Property Management
- //
- ////////////////////////////////////////////////////// */
- /*-------------------------------
- * Adding and removing properties
- */
- /*
- * RegistryPropertyCreate()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyCreate(
- const RegEntryID * entryID,
- const RegPropertyName * propertyName,
- const void * propertyValue,
- RegPropertyValueSize propertySize) TWOWORDINLINE(0x7010, 0xABE9);
-
-
- /*
- * RegistryPropertyDelete()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyDelete(
- const RegEntryID * entryID,
- const RegPropertyName * propertyName) TWOWORDINLINE(0x7011, 0xABE9);
-
-
- /*
- * RegistryPropertyRename()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyRename(
- const RegEntryID * entry,
- const RegPropertyName * oldName,
- const RegPropertyName * newName) TWOWORDINLINE(0x7012, 0xABE9);
-
-
- /*---------------------------
- * Traversing the Properties of a name
- *
- */
+/*
+ * RegistryEntryIterateCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryIterateCreate(RegEntryIter * cookie) TWOWORDINLINE(0x7007, 0xABE9);
+
+
+/*
+ * RegistryEntryIterateDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryIterateDispose(RegEntryIter * cookie) TWOWORDINLINE(0x7008, 0xABE9);
+
+
+/*
+ * set Entry Iterator to specified entry
+ */
+/*
+ * RegistryEntryIterateSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryIterateSet(
+ RegEntryIter * cookie,
+ const RegEntryID * startEntryID) TWOWORDINLINE(0x7009, 0xABE9);
+
+
+/*
+ * Return each value of the iteration
+ *
+ * return entries related to the current entry
+ * with the specified relationship
+ */
+/*
+ * RegistryEntryIterate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryIterate(
+ RegEntryIter * cookie,
+ RegEntryIterationOp relationship,
+ RegEntryID * foundEntry,
+ Boolean * done) TWOWORDINLINE(0x700A, 0xABE9);
+
+
+/*
+ * return entries with the specified property
+ *
+ * A NULL RegPropertyValue pointer will return an
+ * entry with the property containing any value.
+ */
+/*
+ * RegistryEntrySearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntrySearch(
+ RegEntryIter * cookie,
+ RegEntryIterationOp relationship,
+ RegEntryID * foundEntry,
+ Boolean * done,
+ const RegPropertyName * propertyName,
+ const void * propertyValue,
+ RegPropertyValueSize propertySize) TWOWORDINLINE(0x700B, 0xABE9);
+
+
+/*--------------------------------
+ * Find a name in the namespace
+ *
+ * This is the fast lookup mechanism.
+ * NOTE: A reverse lookup mechanism
+ * has not been provided because
+ * some name services may not
+ * provide a fast, general reverse
+ * lookup.
+ */
+/*
+ * RegistryCStrEntryLookup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryCStrEntryLookup(
+ const RegEntryID * searchPointID,
+ const RegCStrPathName * pathName,
+ RegEntryID * foundEntry) TWOWORDINLINE(0x700C, 0xABE9);
+
+
+/*---------------------------------------------
+ * Convert an entry to a rooted name string
+ *
+ * A utility routine to turn an Entry ID
+ * back into a name string.
+ */
+/*
+ * RegistryEntryToPathSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryToPathSize(
+ const RegEntryID * entryID,
+ RegPathNameSize * pathSize) TWOWORDINLINE(0x700D, 0xABE9);
+
+
+/*
+ * RegistryCStrEntryToPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryCStrEntryToPath(
+ const RegEntryID * entryID,
+ RegCStrPathName * pathName,
+ RegPathNameSize pathSize) TWOWORDINLINE(0x700E, 0xABE9);
+
+
+/*
+ * Parse a path name.
+ *
+ * Retrieve the last component of the path, and
+ * return a spec for the parent.
+ */
+/*
+ * RegistryCStrEntryToName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryCStrEntryToName(
+ const RegEntryID * entryID,
+ RegEntryID * parentEntry,
+ RegCStrEntryName * nameComponent,
+ Boolean * done) TWOWORDINLINE(0x700F, 0xABE9);
+
+
+/* //////////////////////////////////////////////////////
+//
+// Property Management
+//
+////////////////////////////////////////////////////// */
+/*-------------------------------
+ * Adding and removing properties
+ */
+/*
+ * RegistryPropertyCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyCreate(
+ const RegEntryID * entryID,
+ const RegPropertyName * propertyName,
+ const void * propertyValue,
+ RegPropertyValueSize propertySize) TWOWORDINLINE(0x7010, 0xABE9);
+
+
+/*
+ * RegistryPropertyDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyDelete(
+ const RegEntryID * entryID,
+ const RegPropertyName * propertyName) TWOWORDINLINE(0x7011, 0xABE9);
+
+
+/*
+ * RegistryPropertyRename()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyRename(
+ const RegEntryID * entry,
+ const RegPropertyName * oldName,
+ const RegPropertyName * newName) TWOWORDINLINE(0x7012, 0xABE9);
+
+
+/*---------------------------
+ * Traversing the Properties of a name
+ *
+ */
#endif /* CALL_NOT_IN_CARBON */
- typedef struct OpaqueRegPropertyIter* RegPropertyIter;
+typedef struct OpaqueRegPropertyIter* RegPropertyIter;
#if CALL_NOT_IN_CARBON
- /*
- * RegistryPropertyIterateCreate()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyIterateCreate(
- const RegEntryID * entry,
- RegPropertyIter * cookie) TWOWORDINLINE(0x7013, 0xABE9);
-
-
- /*
- * RegistryPropertyIterateDispose()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyIterateDispose(RegPropertyIter * cookie) TWOWORDINLINE(0x7014, 0xABE9);
-
-
- /*
- * RegistryPropertyIterate()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyIterate(
- RegPropertyIter * cookie,
- RegPropertyName * foundProperty,
- Boolean * done) TWOWORDINLINE(0x7015, 0xABE9);
-
-
- /*
- * Get the value of the specified property for the specified entry.
- *
- */
- /*
- * RegistryPropertyGetSize()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyGetSize(
- const RegEntryID * entryID,
- const RegPropertyName * propertyName,
- RegPropertyValueSize * propertySize) TWOWORDINLINE(0x7016, 0xABE9);
-
-
- /*
- * (*propertySize) is the maximum size of the value returned in the buffer
- * pointed to by (propertyValue). Upon return, (*propertySize) is the size of the
- * value returned.
- */
- /*
- * RegistryPropertyGet()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyGet(
- const RegEntryID * entryID,
- const RegPropertyName * propertyName,
- void * propertyValue,
- RegPropertyValueSize * propertySize) TWOWORDINLINE(0x7017, 0xABE9);
-
-
- /*
- * RegistryPropertySet()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertySet(
- const RegEntryID * entryID,
- const RegPropertyName * propertyName,
- const void * propertyValue,
- RegPropertyValueSize propertySize) TWOWORDINLINE(0x7018, 0xABE9);
-
-
- /* //////////////////////////////////////////////////////
- //
- // Modifier Management
- //
- ////////////////////////////////////////////////////// */
- /*
- * Modifiers describe special characteristics of names
- * and properties. Modifiers might be supported for
- * some names and not others.
- *
- * Device Drivers should not rely on functionality
- * specified as a modifier. These interfaces
- * are for use in writing Experts.
- */
- /*
- * Get and Set operators for entry modifiers
- */
- /*
- * RegistryEntryGetMod()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryGetMod(
- const RegEntryID * entry,
- RegEntryModifiers * modifiers) TWOWORDINLINE(0x7019, 0xABE9);
-
-
- /*
- * RegistryEntrySetMod()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntrySetMod(
- const RegEntryID * entry,
- RegEntryModifiers modifiers) TWOWORDINLINE(0x701A, 0xABE9);
-
-
- /*
- * Get and Set operators for property modifiers
- */
- /*
- * RegistryPropertyGetMod()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertyGetMod(
- const RegEntryID * entry,
- const RegPropertyName * name,
- RegPropertyModifiers * modifiers) TWOWORDINLINE(0x701B, 0xABE9);
-
-
- /*
- * RegistryPropertySetMod()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryPropertySetMod(
- const RegEntryID * entry,
- const RegPropertyName * name,
- RegPropertyModifiers modifiers) TWOWORDINLINE(0x701C, 0xABE9);
-
-
- /*
- * Iterator operator for entry modifier search
- */
- /*
- * RegistryEntryMod()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryMod(
- RegEntryIter * cookie,
- RegEntryIterationOp relationship,
- RegEntryID * foundEntry,
- Boolean * done,
- RegEntryModifiers matchingModifiers) TWOWORDINLINE(0x701D, 0xABE9);
-
-
- /*
- * Iterator operator for entries with matching
- * property modifiers
- */
- /*
- * RegistryEntryPropertyMod()
- *
- * Availability:
- * Non-Carbon CFM: in NameRegistryLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RegistryEntryPropertyMod(
- RegEntryIter * cookie,
- RegEntryIterationOp relationship,
- RegEntryID * foundEntry,
- Boolean * done,
- RegPropertyModifiers matchingModifiers) TWOWORDINLINE(0x701E, 0xABE9);
+/*
+ * RegistryPropertyIterateCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyIterateCreate(
+ const RegEntryID * entry,
+ RegPropertyIter * cookie) TWOWORDINLINE(0x7013, 0xABE9);
+
+
+/*
+ * RegistryPropertyIterateDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyIterateDispose(RegPropertyIter * cookie) TWOWORDINLINE(0x7014, 0xABE9);
+
+
+/*
+ * RegistryPropertyIterate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyIterate(
+ RegPropertyIter * cookie,
+ RegPropertyName * foundProperty,
+ Boolean * done) TWOWORDINLINE(0x7015, 0xABE9);
+
+
+/*
+ * Get the value of the specified property for the specified entry.
+ *
+ */
+/*
+ * RegistryPropertyGetSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyGetSize(
+ const RegEntryID * entryID,
+ const RegPropertyName * propertyName,
+ RegPropertyValueSize * propertySize) TWOWORDINLINE(0x7016, 0xABE9);
+
+
+/*
+ * (*propertySize) is the maximum size of the value returned in the buffer
+ * pointed to by (propertyValue). Upon return, (*propertySize) is the size of the
+ * value returned.
+ */
+/*
+ * RegistryPropertyGet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyGet(
+ const RegEntryID * entryID,
+ const RegPropertyName * propertyName,
+ void * propertyValue,
+ RegPropertyValueSize * propertySize) TWOWORDINLINE(0x7017, 0xABE9);
+
+
+/*
+ * RegistryPropertySet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertySet(
+ const RegEntryID * entryID,
+ const RegPropertyName * propertyName,
+ const void * propertyValue,
+ RegPropertyValueSize propertySize) TWOWORDINLINE(0x7018, 0xABE9);
+
+
+/* //////////////////////////////////////////////////////
+//
+// Modifier Management
+//
+////////////////////////////////////////////////////// */
+/*
+ * Modifiers describe special characteristics of names
+ * and properties. Modifiers might be supported for
+ * some names and not others.
+ *
+ * Device Drivers should not rely on functionality
+ * specified as a modifier. These interfaces
+ * are for use in writing Experts.
+ */
+/*
+ * Get and Set operators for entry modifiers
+ */
+/*
+ * RegistryEntryGetMod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryGetMod(
+ const RegEntryID * entry,
+ RegEntryModifiers * modifiers) TWOWORDINLINE(0x7019, 0xABE9);
+
+
+/*
+ * RegistryEntrySetMod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntrySetMod(
+ const RegEntryID * entry,
+ RegEntryModifiers modifiers) TWOWORDINLINE(0x701A, 0xABE9);
+
+
+/*
+ * Get and Set operators for property modifiers
+ */
+/*
+ * RegistryPropertyGetMod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertyGetMod(
+ const RegEntryID * entry,
+ const RegPropertyName * name,
+ RegPropertyModifiers * modifiers) TWOWORDINLINE(0x701B, 0xABE9);
+
+
+/*
+ * RegistryPropertySetMod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryPropertySetMod(
+ const RegEntryID * entry,
+ const RegPropertyName * name,
+ RegPropertyModifiers modifiers) TWOWORDINLINE(0x701C, 0xABE9);
+
+
+/*
+ * Iterator operator for entry modifier search
+ */
+/*
+ * RegistryEntryMod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryMod(
+ RegEntryIter * cookie,
+ RegEntryIterationOp relationship,
+ RegEntryID * foundEntry,
+ Boolean * done,
+ RegEntryModifiers matchingModifiers) TWOWORDINLINE(0x701D, 0xABE9);
+
+
+/*
+ * Iterator operator for entries with matching
+ * property modifiers
+ */
+/*
+ * RegistryEntryPropertyMod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NameRegistryLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RegistryEntryPropertyMod(
+ RegEntryIter * cookie,
+ RegEntryIterationOp relationship,
+ RegEntryID * foundEntry,
+ Boolean * done,
+ RegPropertyModifiers matchingModifiers) TWOWORDINLINE(0x701E, 0xABE9);
@@ -828,11 +819,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Navigation.h b/include/qt/Navigation.h
index 736ebfdce..d9e0f7a36 100644
--- a/include/qt/Navigation.h
+++ b/include/qt/Navigation.h
@@ -1,17 +1,17 @@
/*
File: Navigation.h
-
+
Contains: Navigation Services Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __NAVIGATION__
#define __NAVIGATION__
@@ -54,1242 +54,1179 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef UInt32 NavAskSaveChangesAction;
- enum
- {
- /* input action codes for NavAskSaveChanges() */
- kNavSaveChangesClosingDocument = 1,
- kNavSaveChangesQuittingApplication = 2,
- kNavSaveChangesOther = 0
- };
-
-
- typedef UInt32 NavAskSaveChangesResult;
- enum
- {
- /* result codes for NavAskSaveChanges() */
- kNavAskSaveChangesSave = 1,
- kNavAskSaveChangesCancel = 2,
- kNavAskSaveChangesDontSave = 3
- };
-
-
- typedef UInt32 NavAskDiscardChangesResult;
- enum
- {
- /* result codes for NavAskDiscardChanges() */
- kNavAskDiscardChanges = 1,
- kNavAskDiscardChangesCancel = 2
- };
-
-
- typedef SInt16 NavFilterModes;
- enum
- {
- /* which elements are being filtered for objects: */
- kNavFilteringBrowserList = 0,
- kNavFilteringFavorites = 1,
- kNavFilteringRecents = 2,
- kNavFilteringShortCutVolumes = 3,
- kNavFilteringLocationPopup = 4 /* for v1.1 or greater */
- };
-
-
- enum
- {
- kNavFileOrFolderVersion = 1
- };
-
- struct NavFileOrFolderInfo
- {
- UInt16 version;
- Boolean isFolder;
- Boolean visible;
- UInt32 creationDate;
- UInt32 modificationDate;
- union
- {
- struct
- {
- Boolean locked; /* file is locked */
- Boolean resourceOpen; /* resource fork is opened */
- Boolean dataOpen; /* data fork is opened */
- Boolean reserved1;
- UInt32 dataSize; /* size of the data fork */
- UInt32 resourceSize; /* size of the resource fork */
- FInfo finderInfo; /* more file info: */
- FXInfo finderXInfo;
- } fileInfo;
- struct
- {
- Boolean shareable;
- Boolean sharePoint;
- Boolean mounted;
- Boolean readable;
- Boolean writeable;
- Boolean reserved2;
- UInt32 numberOfFiles;
- DInfo finderDInfo;
- DXInfo finderDXInfo;
- OSType folderType; /* package type, For struct version >= 1 */
- OSType folderCreator; /* package creator, For struct version >= 1 */
- char reserved3[206];
- } folderInfo;
-
- } fileAndFolder;
- };
- typedef struct NavFileOrFolderInfo NavFileOrFolderInfo;
- union NavEventDataInfo
- {
- EventRecord * event; /* for event processing */
- void * param; /* points to event specific data */
- };
- typedef union NavEventDataInfo NavEventDataInfo;
- struct NavEventData
- {
- NavEventDataInfo eventDataParms; /* the event data */
- SInt16 itemHit; /* the dialog item number, for v1.1 or greater */
- };
- typedef struct NavEventData NavEventData;
-
- /*
- * NavDialogRef
- *
- * Summary:
- * Opaque Navigation Services dialog identifier
- *
- * Discussion:
- * A NavDialogRef is an opaque reference to an instance of a
- * Navigation Services dialog. A new NavDialogRef is returned from
- * any of the NavCreate*Dialog functions and is later disposed with
- * the NavDialogDispose function. NavDialogRef is the new name for
- * the NavContext type, and thus when a client's event proc is
- * called, the value of the NavCBRec.context field is the same as
- * the NavDialogRef returned from the corresponding
- * NavCreate*Dialog. A NavDialogRef is distinct from, and is not
- * interchangable with, a Dialog Manager DialogRef.
- */
- typedef struct __NavDialog* NavDialogRef;
+typedef UInt32 NavAskSaveChangesAction;
+enum {
+ /* input action codes for NavAskSaveChanges() */
+ kNavSaveChangesClosingDocument = 1,
+ kNavSaveChangesQuittingApplication = 2,
+ kNavSaveChangesOther = 0
+};
+
+
+typedef UInt32 NavAskSaveChangesResult;
+enum {
+ /* result codes for NavAskSaveChanges() */
+ kNavAskSaveChangesSave = 1,
+ kNavAskSaveChangesCancel = 2,
+ kNavAskSaveChangesDontSave = 3
+};
+
+
+typedef UInt32 NavAskDiscardChangesResult;
+enum {
+ /* result codes for NavAskDiscardChanges() */
+ kNavAskDiscardChanges = 1,
+ kNavAskDiscardChangesCancel = 2
+};
+
+
+typedef SInt16 NavFilterModes;
+enum {
+ /* which elements are being filtered for objects: */
+ kNavFilteringBrowserList = 0,
+ kNavFilteringFavorites = 1,
+ kNavFilteringRecents = 2,
+ kNavFilteringShortCutVolumes = 3,
+ kNavFilteringLocationPopup = 4 /* for v1.1 or greater */
+};
+
+
+enum {
+ kNavFileOrFolderVersion = 1
+};
+
+struct NavFileOrFolderInfo {
+ UInt16 version;
+ Boolean isFolder;
+ Boolean visible;
+ UInt32 creationDate;
+ UInt32 modificationDate;
+ union {
+ struct {
+ Boolean locked; /* file is locked */
+ Boolean resourceOpen; /* resource fork is opened */
+ Boolean dataOpen; /* data fork is opened */
+ Boolean reserved1;
+ UInt32 dataSize; /* size of the data fork */
+ UInt32 resourceSize; /* size of the resource fork */
+ FInfo finderInfo; /* more file info: */
+ FXInfo finderXInfo;
+ } fileInfo;
+ struct {
+ Boolean shareable;
+ Boolean sharePoint;
+ Boolean mounted;
+ Boolean readable;
+ Boolean writeable;
+ Boolean reserved2;
+ UInt32 numberOfFiles;
+ DInfo finderDInfo;
+ DXInfo finderDXInfo;
+ OSType folderType; /* package type, For struct version >= 1 */
+ OSType folderCreator; /* package creator, For struct version >= 1 */
+ char reserved3[206];
+ } folderInfo;
+
+ } fileAndFolder;
+};
+typedef struct NavFileOrFolderInfo NavFileOrFolderInfo;
+union NavEventDataInfo {
+ EventRecord * event; /* for event processing */
+ void * param; /* points to event specific data */
+};
+typedef union NavEventDataInfo NavEventDataInfo;
+struct NavEventData {
+ NavEventDataInfo eventDataParms; /* the event data */
+ SInt16 itemHit; /* the dialog item number, for v1.1 or greater */
+};
+typedef struct NavEventData NavEventData;
+
+/*
+ * NavDialogRef
+ *
+ * Summary:
+ * Opaque Navigation Services dialog identifier
+ *
+ * Discussion:
+ * A NavDialogRef is an opaque reference to an instance of a
+ * Navigation Services dialog. A new NavDialogRef is returned from
+ * any of the NavCreate*Dialog functions and is later disposed with
+ * the NavDialogDispose function. NavDialogRef is the new name for
+ * the NavContext type, and thus when a client's event proc is
+ * called, the value of the NavCBRec.context field is the same as
+ * the NavDialogRef returned from the corresponding
+ * NavCreate*Dialog. A NavDialogRef is distinct from, and is not
+ * interchangable with, a Dialog Manager DialogRef.
+ */
+typedef struct __NavDialog* NavDialogRef;
#if CALL_NOT_IN_CARBON
- /* NavContext is the old name for NavDialogRef */
+/* NavContext is the old name for NavDialogRef */
- typedef NavDialogRef NavContext;
+typedef NavDialogRef NavContext;
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NavUserAction
- *
- * Summary:
- * Indicates an action taken by the user
- *
- * Discussion:
- * When the user clicks a button at the bottom of a Nav Services
- * dialog (or makes an equivalent mouse or key gesture), a
- * kNavCBUserAction event is sent to the client's event proc
- * indicating which action was taken. Often, the action also
- * dismisses the dialog. User action events are only generated when
- * using dialogs created from a NavCreate*Dialog function. In the
- * special case of a modeless GetFile dialog (supported only on Mac
- * OS X), the user can option-click on the open button to keep the
- * dialog from being dismissed, but the kNavCBUserAction event is
- * sent so the client can get the reply record and open the selected
- * files.
- */
- typedef UInt32 NavUserAction;
- enum
- {
-
- /*
- * No action taken. The dialog is still running or was terminated
- * programmatically.
- */
- kNavUserActionNone = 0,
-
- /*
- * The user cancelled the dialog.
- */
- kNavUserActionCancel = 1,
-
- /*
- * The user clicked the Open button in the GetFile dialog.
- */
- kNavUserActionOpen = 2,
-
- /*
- * The user clicked the Save button in the PutFile dialog.
- */
- kNavUserActionSaveAs = 3,
-
- /*
- * The user clicked the Choose button in the ChooseFile,
- * ChooseFolder, ChooseVolume or ChooseObject dialogs.
- */
- kNavUserActionChoose = 4,
-
- /*
- * The user clicked the New Folder button in the New Folder dialog.
- */
- kNavUserActionNewFolder = 5,
-
- /*
- * The user clicked the Save button in an AskSaveChanges dialog.
- */
- kNavUserActionSaveChanges = 6,
-
- /*
- * The user clicked the Don't Save button in an AskSaveChanges dialog.
- */
- kNavUserActionDontSaveChanges = 7,
-
- /*
- * The user clicked the Discard button in the AskDiscardChanges
- * dialog.
- */
- kNavUserActionDiscardChanges = 8,
-
- /*
- * The user clicked the Review Unsaved button in the
- * AskReviewDocuments dialog (used only on Mac OS X).
- */
- kNavUserActionReviewDocuments = 9,
-
- /*
- * The user clicked the Discard Changes button in the
- * AskReviewDocuments dialog (used only on Mac OS X).
- */
- kNavUserActionDiscardDocuments = 10
- };
-
-
-
- enum
- {
- kNavCBRecVersion = 1
- };
-
-
- /*
- * NavCBRec
- *
- * Summary:
- * A structure passed to event and preview callbacks
- *
- * Discussion:
- * The NavCBRec structure is passed to the client's event proc or
- * custom preview proc. It provides information that is specific to
- * each event type. New for Carbon: the userAction field.
- */
- struct NavCBRec
- {
-
- /*
- * The version of the struct (currently 1)
- */
- UInt16 version;
-
- /*
- * The NavDialogRef this callback with which this call is associated
- */
- NavDialogRef context;
-
- /*
- * The dialog's window
- */
- WindowRef window;
-
- /*
- * The custom control area rectangle (window coordinates)
- */
- Rect customRect;
-
- /*
- * The custom preview area rectangle (window coordinates)
- */
- Rect previewRect;
-
- /*
- * The event-specific data, including the EventRecord, if any
- */
- NavEventData eventData;
-
- /*
- * The action taken by the user that generated a kNavCBUserAction
- * event (Carbon dialogs only)
- */
- NavUserAction userAction;
-
- /*
- * Reserved for future use
- */
- char reserved[218];
- };
- typedef struct NavCBRec NavCBRec;
- typedef NavCBRec * NavCBRecPtr;
-
- /*
- * NavEventCallbackMessage
- *
- * Summary:
- * Identifies the message type being sent to the client's event proc
- */
- typedef SInt32 NavEventCallbackMessage;
- enum
- {
-
- /*
- * An OS event has occurred. A pointer to the EventRecord is in the
- * eventData.eventDataParms.event field of the NavCBRec.
- */
- kNavCBEvent = 0,
-
- /*
- * Negotiate for custom control space. Client can set change the
- * customRect field in the NavCBRec to create space for a custom
- * area. Nav Services will continue to send the kNavCBCustomize
- * message until the client leaves the customRect field unchanged.
- */
- kNavCBCustomize = 1,
-
- /*
- * This message is sent after custom area negotiation, just before
- * the dialog is made visible. Add your custom controls when you
- * receive this message.
- */
- kNavCBStart = 2,
-
- /*
- * This is the last message sent, after the dialog has been hidden.
- */
- kNavCBTerminate = 3,
-
- /*
- * Sent when the dialog has been resized. Check the customRect and or
- * previewRect values to see if any relayout is needed. Nav Services
- * automatically moves controls in the custom area.
- */
- kNavCBAdjustRect = 4,
-
- /*
- * The target folder of the dialog has changed. The
- * NavCBRec.eventData.eventDataParms.param field is an AEDesc*
- * containing an descriptor of the new location (ususally an FSSpec
- * or an FSRef).
- */
- kNavCBNewLocation = 5,
-
- /*
- * The target folder has changed to the user's desktop folder.
- */
- kNavCBShowDesktop = 6,
-
- /*
- * The user has selected or deselected a file or folder. The
- * NavCBRec.eventData.eventDataParms.param field is an AEDescList*
- * identifying the currently selected items.
- */
- kNavCBSelectEntry = 7,
-
- /*
- * The value of the Show/Format popup menu has changed. The
- * NavCBRec.eventData.eventDataParms.param is a NavMenuItemSpec*
- * identifying the menu item selected. If the dialog was created
- * using the Carbon-only NavCreate*Dialog APIs, then the menuType
- * field of the NavMenuItemSpec is set to the index into the client's
- * CFArray of popupExtension strings (see NavDialogCreationOptions).
- */
- kNavCBPopupMenuSelect = 8,
-
- /*
- * Sent when the user has accepted (Open, Save, etc.).
- */
- kNavCBAccept = 9,
-
- /*
- * Sent when the user has cancelled the dialog.
- */
- kNavCBCancel = 10,
-
- /*
- * The custom preview area state has changed. The
- * NavCBRec.eventData.eventDataParms.param is a Boolean* set to true
- * if the preview area is visible or false if it is not.
- */
- kNavCBAdjustPreview = 11,
-
- /*
- * The user has taken one of the actions described in the
- * NavUserAction definition. The action may or may not dismiss the
- * dialog. The NavCBRec.userAction field indicates which action was
- * taken (Carbon dialogs only).
- */
- kNavCBUserAction = 12,
-
- /*
- * The user has opened a folder or chosen a file. The client can
- * block navigation or dismissal by setting the appropriate action
- * state with the kNavCtlSetActionState NavCustomControl selector.
- */
- kNavCBOpenSelection = (long)0x80000000
- };
-
-
- typedef void * NavCallBackUserData;
- /* for events and customization: */
- typedef CALLBACK_API(void , NavEventProcPtr)(NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, void *callBackUD);
- /* for preview support: */
- typedef CALLBACK_API(Boolean , NavPreviewProcPtr)(NavCBRecPtr callBackParms, void *callBackUD);
- /* filtering callback information: */
- typedef CALLBACK_API(Boolean , NavObjectFilterProcPtr)(AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode);
- typedef STACK_UPP_TYPE(NavEventProcPtr) NavEventUPP;
- typedef STACK_UPP_TYPE(NavPreviewProcPtr) NavPreviewUPP;
- typedef STACK_UPP_TYPE(NavObjectFilterProcPtr) NavObjectFilterUPP;
- /*
- * NewNavEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NavEventUPP)
- NewNavEventUPP(NavEventProcPtr userRoutine);
+/*
+ * NavUserAction
+ *
+ * Summary:
+ * Indicates an action taken by the user
+ *
+ * Discussion:
+ * When the user clicks a button at the bottom of a Nav Services
+ * dialog (or makes an equivalent mouse or key gesture), a
+ * kNavCBUserAction event is sent to the client's event proc
+ * indicating which action was taken. Often, the action also
+ * dismisses the dialog. User action events are only generated when
+ * using dialogs created from a NavCreate*Dialog function. In the
+ * special case of a modeless GetFile dialog (supported only on Mac
+ * OS X), the user can option-click on the open button to keep the
+ * dialog from being dismissed, but the kNavCBUserAction event is
+ * sent so the client can get the reply record and open the selected
+ * files.
+ */
+typedef UInt32 NavUserAction;
+enum {
+
+ /*
+ * No action taken. The dialog is still running or was terminated
+ * programmatically.
+ */
+ kNavUserActionNone = 0,
+
+ /*
+ * The user cancelled the dialog.
+ */
+ kNavUserActionCancel = 1,
+
+ /*
+ * The user clicked the Open button in the GetFile dialog.
+ */
+ kNavUserActionOpen = 2,
+
+ /*
+ * The user clicked the Save button in the PutFile dialog.
+ */
+ kNavUserActionSaveAs = 3,
+
+ /*
+ * The user clicked the Choose button in the ChooseFile,
+ * ChooseFolder, ChooseVolume or ChooseObject dialogs.
+ */
+ kNavUserActionChoose = 4,
+
+ /*
+ * The user clicked the New Folder button in the New Folder dialog.
+ */
+ kNavUserActionNewFolder = 5,
+
+ /*
+ * The user clicked the Save button in an AskSaveChanges dialog.
+ */
+ kNavUserActionSaveChanges = 6,
+
+ /*
+ * The user clicked the Don't Save button in an AskSaveChanges dialog.
+ */
+ kNavUserActionDontSaveChanges = 7,
+
+ /*
+ * The user clicked the Discard button in the AskDiscardChanges
+ * dialog.
+ */
+ kNavUserActionDiscardChanges = 8,
+
+ /*
+ * The user clicked the Review Unsaved button in the
+ * AskReviewDocuments dialog (used only on Mac OS X).
+ */
+ kNavUserActionReviewDocuments = 9,
+
+ /*
+ * The user clicked the Discard Changes button in the
+ * AskReviewDocuments dialog (used only on Mac OS X).
+ */
+ kNavUserActionDiscardDocuments = 10
+};
+
+
+
+enum {
+ kNavCBRecVersion = 1
+};
+
+
+/*
+ * NavCBRec
+ *
+ * Summary:
+ * A structure passed to event and preview callbacks
+ *
+ * Discussion:
+ * The NavCBRec structure is passed to the client's event proc or
+ * custom preview proc. It provides information that is specific to
+ * each event type. New for Carbon: the userAction field.
+ */
+struct NavCBRec {
+
+ /*
+ * The version of the struct (currently 1)
+ */
+ UInt16 version;
+
+ /*
+ * The NavDialogRef this callback with which this call is associated
+ */
+ NavDialogRef context;
+
+ /*
+ * The dialog's window
+ */
+ WindowRef window;
+
+ /*
+ * The custom control area rectangle (window coordinates)
+ */
+ Rect customRect;
+
+ /*
+ * The custom preview area rectangle (window coordinates)
+ */
+ Rect previewRect;
+
+ /*
+ * The event-specific data, including the EventRecord, if any
+ */
+ NavEventData eventData;
+
+ /*
+ * The action taken by the user that generated a kNavCBUserAction
+ * event (Carbon dialogs only)
+ */
+ NavUserAction userAction;
+
+ /*
+ * Reserved for future use
+ */
+ char reserved[218];
+};
+typedef struct NavCBRec NavCBRec;
+typedef NavCBRec * NavCBRecPtr;
+
+/*
+ * NavEventCallbackMessage
+ *
+ * Summary:
+ * Identifies the message type being sent to the client's event proc
+ */
+typedef SInt32 NavEventCallbackMessage;
+enum {
+
+ /*
+ * An OS event has occurred. A pointer to the EventRecord is in the
+ * eventData.eventDataParms.event field of the NavCBRec.
+ */
+ kNavCBEvent = 0,
+
+ /*
+ * Negotiate for custom control space. Client can set change the
+ * customRect field in the NavCBRec to create space for a custom
+ * area. Nav Services will continue to send the kNavCBCustomize
+ * message until the client leaves the customRect field unchanged.
+ */
+ kNavCBCustomize = 1,
+
+ /*
+ * This message is sent after custom area negotiation, just before
+ * the dialog is made visible. Add your custom controls when you
+ * receive this message.
+ */
+ kNavCBStart = 2,
+
+ /*
+ * This is the last message sent, after the dialog has been hidden.
+ */
+ kNavCBTerminate = 3,
+
+ /*
+ * Sent when the dialog has been resized. Check the customRect and or
+ * previewRect values to see if any relayout is needed. Nav Services
+ * automatically moves controls in the custom area.
+ */
+ kNavCBAdjustRect = 4,
+
+ /*
+ * The target folder of the dialog has changed. The
+ * NavCBRec.eventData.eventDataParms.param field is an AEDesc*
+ * containing an descriptor of the new location (ususally an FSSpec
+ * or an FSRef).
+ */
+ kNavCBNewLocation = 5,
+
+ /*
+ * The target folder has changed to the user's desktop folder.
+ */
+ kNavCBShowDesktop = 6,
+
+ /*
+ * The user has selected or deselected a file or folder. The
+ * NavCBRec.eventData.eventDataParms.param field is an AEDescList*
+ * identifying the currently selected items.
+ */
+ kNavCBSelectEntry = 7,
+
+ /*
+ * The value of the Show/Format popup menu has changed. The
+ * NavCBRec.eventData.eventDataParms.param is a NavMenuItemSpec*
+ * identifying the menu item selected. If the dialog was created
+ * using the Carbon-only NavCreate*Dialog APIs, then the menuType
+ * field of the NavMenuItemSpec is set to the index into the client's
+ * CFArray of popupExtension strings (see NavDialogCreationOptions).
+ */
+ kNavCBPopupMenuSelect = 8,
+
+ /*
+ * Sent when the user has accepted (Open, Save, etc.).
+ */
+ kNavCBAccept = 9,
+
+ /*
+ * Sent when the user has cancelled the dialog.
+ */
+ kNavCBCancel = 10,
+
+ /*
+ * The custom preview area state has changed. The
+ * NavCBRec.eventData.eventDataParms.param is a Boolean* set to true
+ * if the preview area is visible or false if it is not.
+ */
+ kNavCBAdjustPreview = 11,
+
+ /*
+ * The user has taken one of the actions described in the
+ * NavUserAction definition. The action may or may not dismiss the
+ * dialog. The NavCBRec.userAction field indicates which action was
+ * taken (Carbon dialogs only).
+ */
+ kNavCBUserAction = 12,
+
+ /*
+ * The user has opened a folder or chosen a file. The client can
+ * block navigation or dismissal by setting the appropriate action
+ * state with the kNavCtlSetActionState NavCustomControl selector.
+ */
+ kNavCBOpenSelection = (long)0x80000000
+};
+
+
+typedef void * NavCallBackUserData;
+/* for events and customization: */
+typedef CALLBACK_API( void , NavEventProcPtr )(NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, void *callBackUD);
+/* for preview support: */
+typedef CALLBACK_API( Boolean , NavPreviewProcPtr )(NavCBRecPtr callBackParms, void *callBackUD);
+/* filtering callback information: */
+typedef CALLBACK_API( Boolean , NavObjectFilterProcPtr )(AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode);
+typedef STACK_UPP_TYPE(NavEventProcPtr) NavEventUPP;
+typedef STACK_UPP_TYPE(NavPreviewProcPtr) NavPreviewUPP;
+typedef STACK_UPP_TYPE(NavObjectFilterProcPtr) NavObjectFilterUPP;
+/*
+ * NewNavEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NavEventUPP )
+NewNavEventUPP(NavEventProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNavEventProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NavEventUPP) NewNavEventUPP(NavEventProcPtr userRoutine)
- {
- return (NavEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavEventProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNavEventUPP(userRoutine) (NavEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavEventProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNavEventProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NavEventUPP) NewNavEventUPP(NavEventProcPtr userRoutine) { return (NavEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavEventProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNavEventUPP(userRoutine) (NavEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavEventProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewNavPreviewUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NavPreviewUPP)
- NewNavPreviewUPP(NavPreviewProcPtr userRoutine);
+/*
+ * NewNavPreviewUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NavPreviewUPP )
+NewNavPreviewUPP(NavPreviewProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNavPreviewProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NavPreviewUPP) NewNavPreviewUPP(NavPreviewProcPtr userRoutine)
- {
- return (NavPreviewUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavPreviewProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNavPreviewUPP(userRoutine) (NavPreviewUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavPreviewProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNavPreviewProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NavPreviewUPP) NewNavPreviewUPP(NavPreviewProcPtr userRoutine) { return (NavPreviewUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavPreviewProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNavPreviewUPP(userRoutine) (NavPreviewUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavPreviewProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewNavObjectFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NavObjectFilterUPP)
- NewNavObjectFilterUPP(NavObjectFilterProcPtr userRoutine);
+/*
+ * NewNavObjectFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NavObjectFilterUPP )
+NewNavObjectFilterUPP(NavObjectFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNavObjectFilterProcInfo = 0x00002FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NavObjectFilterUPP) NewNavObjectFilterUPP(NavObjectFilterProcPtr userRoutine)
- {
- return (NavObjectFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavObjectFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNavObjectFilterUPP(userRoutine) (NavObjectFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavObjectFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNavObjectFilterProcInfo = 0x00002FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NavObjectFilterUPP) NewNavObjectFilterUPP(NavObjectFilterProcPtr userRoutine) { return (NavObjectFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavObjectFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNavObjectFilterUPP(userRoutine) (NavObjectFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNavObjectFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeNavEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNavEventUPP(NavEventUPP userUPP);
+/*
+ * DisposeNavEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNavEventUPP(NavEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNavEventUPP(NavEventUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNavEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNavEventUPP(NavEventUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNavEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeNavPreviewUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNavPreviewUPP(NavPreviewUPP userUPP);
+/*
+ * DisposeNavPreviewUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNavPreviewUPP(NavPreviewUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNavPreviewUPP(NavPreviewUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNavPreviewUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNavPreviewUPP(NavPreviewUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNavPreviewUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeNavObjectFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNavObjectFilterUPP(NavObjectFilterUPP userUPP);
+/*
+ * DisposeNavObjectFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNavObjectFilterUPP(NavObjectFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNavObjectFilterUPP(NavObjectFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNavObjectFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNavObjectFilterUPP(NavObjectFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNavObjectFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeNavEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeNavEventUPP(
- NavEventCallbackMessage callBackSelector,
- NavCBRecPtr callBackParms,
- void * callBackUD,
- NavEventUPP userUPP);
+/*
+ * InvokeNavEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeNavEventUPP(
+ NavEventCallbackMessage callBackSelector,
+ NavCBRecPtr callBackParms,
+ void * callBackUD,
+ NavEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeNavEventUPP(NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, void * callBackUD, NavEventUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppNavEventProcInfo, callBackSelector, callBackParms, callBackUD);
- }
-#else
-#define InvokeNavEventUPP(callBackSelector, callBackParms, callBackUD, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppNavEventProcInfo, (callBackSelector), (callBackParms), (callBackUD))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeNavEventUPP(NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, void * callBackUD, NavEventUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppNavEventProcInfo, callBackSelector, callBackParms, callBackUD); }
+ #else
+ #define InvokeNavEventUPP(callBackSelector, callBackParms, callBackUD, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppNavEventProcInfo, (callBackSelector), (callBackParms), (callBackUD))
+ #endif
#endif
- /*
- * InvokeNavPreviewUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeNavPreviewUPP(
- NavCBRecPtr callBackParms,
- void * callBackUD,
- NavPreviewUPP userUPP);
+/*
+ * InvokeNavPreviewUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeNavPreviewUPP(
+ NavCBRecPtr callBackParms,
+ void * callBackUD,
+ NavPreviewUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeNavPreviewUPP(NavCBRecPtr callBackParms, void * callBackUD, NavPreviewUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppNavPreviewProcInfo, callBackParms, callBackUD);
- }
-#else
-#define InvokeNavPreviewUPP(callBackParms, callBackUD, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppNavPreviewProcInfo, (callBackParms), (callBackUD))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeNavPreviewUPP(NavCBRecPtr callBackParms, void * callBackUD, NavPreviewUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppNavPreviewProcInfo, callBackParms, callBackUD); }
+ #else
+ #define InvokeNavPreviewUPP(callBackParms, callBackUD, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppNavPreviewProcInfo, (callBackParms), (callBackUD))
+ #endif
#endif
- /*
- * InvokeNavObjectFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeNavObjectFilterUPP(
- AEDesc * theItem,
- void * info,
- void * callBackUD,
- NavFilterModes filterMode,
- NavObjectFilterUPP userUPP);
+/*
+ * InvokeNavObjectFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeNavObjectFilterUPP(
+ AEDesc * theItem,
+ void * info,
+ void * callBackUD,
+ NavFilterModes filterMode,
+ NavObjectFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeNavObjectFilterUPP(AEDesc * theItem, void * info, void * callBackUD, NavFilterModes filterMode, NavObjectFilterUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppNavObjectFilterProcInfo, theItem, info, callBackUD, filterMode);
- }
-#else
-#define InvokeNavObjectFilterUPP(theItem, info, callBackUD, filterMode, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppNavObjectFilterProcInfo, (theItem), (info), (callBackUD), (filterMode))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeNavObjectFilterUPP(AEDesc * theItem, void * info, void * callBackUD, NavFilterModes filterMode, NavObjectFilterUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppNavObjectFilterProcInfo, theItem, info, callBackUD, filterMode); }
+ #else
+ #define InvokeNavObjectFilterUPP(theItem, info, callBackUD, filterMode, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppNavObjectFilterProcInfo, (theItem), (info), (callBackUD), (filterMode))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewNavEventProc(userRoutine) NewNavEventUPP(userRoutine)
-#define NewNavPreviewProc(userRoutine) NewNavPreviewUPP(userRoutine)
-#define NewNavObjectFilterProc(userRoutine) NewNavObjectFilterUPP(userRoutine)
-#define CallNavEventProc(userRoutine, callBackSelector, callBackParms, callBackUD) InvokeNavEventUPP(callBackSelector, callBackParms, callBackUD, userRoutine)
-#define CallNavPreviewProc(userRoutine, callBackParms, callBackUD) InvokeNavPreviewUPP(callBackParms, callBackUD, userRoutine)
-#define CallNavObjectFilterProc(userRoutine, theItem, info, callBackUD, filterMode) InvokeNavObjectFilterUPP(theItem, info, callBackUD, filterMode, userRoutine)
+ #define NewNavEventProc(userRoutine) NewNavEventUPP(userRoutine)
+ #define NewNavPreviewProc(userRoutine) NewNavPreviewUPP(userRoutine)
+ #define NewNavObjectFilterProc(userRoutine) NewNavObjectFilterUPP(userRoutine)
+ #define CallNavEventProc(userRoutine, callBackSelector, callBackParms, callBackUD) InvokeNavEventUPP(callBackSelector, callBackParms, callBackUD, userRoutine)
+ #define CallNavPreviewProc(userRoutine, callBackParms, callBackUD) InvokeNavPreviewUPP(callBackParms, callBackUD, userRoutine)
+ #define CallNavObjectFilterProc(userRoutine, theItem, info, callBackUD, filterMode) InvokeNavObjectFilterUPP(theItem, info, callBackUD, filterMode, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef SInt32 NavCustomControlMessage;
- enum
- {
- kNavCtlShowDesktop = 0, /* show desktop, parms = nil */
- kNavCtlSortBy = 1, /* sort key field, parms->NavSortKeyField */
- kNavCtlSortOrder = 2, /* sort order, parms->NavSortOrder */
- kNavCtlScrollHome = 3, /* scroll list home, parms = nil */
- kNavCtlScrollEnd = 4, /* scroll list end, parms = nil */
- kNavCtlPageUp = 5, /* page list up, parms = nil */
- kNavCtlPageDown = 6, /* page list down, parms = nil */
- kNavCtlGetLocation = 7, /* get current location, parms<-AEDesc* */
- kNavCtlSetLocation = 8, /* set current location, parms->AEDesc* */
- kNavCtlGetSelection = 9, /* get current selection, parms<-AEDescList* */
- kNavCtlSetSelection = 10, /* set current selection, parms->AEDescList* */
- kNavCtlShowSelection = 11, /* make selection visible, parms = nil */
- kNavCtlOpenSelection = 12, /* open view of selection, parms = nil */
- kNavCtlEjectVolume = 13, /* eject volume, parms->vRefNum */
- kNavCtlNewFolder = 14, /* create a new folder, parms->StringPtr */
- kNavCtlCancel = 15, /* cancel dialog, parms = nil */
- kNavCtlAccept = 16, /* accept dialog default, parms = nil */
- kNavCtlIsPreviewShowing = 17, /* query preview status, parms<-Boolean */
- kNavCtlAddControl = 18, /* add one control to dialog, parms->ControlHandle */
- kNavCtlAddControlList = 19, /* add control list to dialog, parms->Handle (DITL rsrc) */
- kNavCtlGetFirstControlID = 20, /* get 1st control ID, parms<-UInt16 */
- kNavCtlSelectCustomType = 21, /* select a custom menu item parms->NavMenuItemSpec* */
- kNavCtlSelectAllType = 22, /* select an "All" menu item parms->SInt16 */
- kNavCtlGetEditFileName = 23, /* get save dlog's file name parms<-StringPtr */
- kNavCtlSetEditFileName = 24, /* set save dlog's file name parms->StringPtr */
- kNavCtlSelectEditFileName = 25, /* select save dlog file name parms->ControlEditTextSelectionRec*, v1.1 or greater */
- kNavCtlBrowserSelectAll = 26, /* re-scan the browser list parms = nil, v2.0 or greater */
- kNavCtlGotoParent = 27, /* navigate to parent parms = nil, v2.0 or greater */
- kNavCtlSetActionState = 28, /* restrict navigation parms->NavActionState (flags), v2.0 or greater */
- kNavCtlBrowserRedraw = 29, /* rescan browser list parms = nil, v2.0 or greater */
- kNavCtlTerminate = 30 /* terminate/dismiss dialog parms = nil, v2.0 or greater */
- };
-
- typedef UInt32 NavActionState;
- enum
- {
- kNavNormalState = 0x00000000, /* normal/default state */
- kNavDontOpenState = 0x00000001, /* disallow opening files/folders */
- kNavDontSaveState = 0x00000002, /* disallow saving files */
- kNavDontChooseState = 0x00000004, /* disallow choosing objects */
- kNavDontNewFolderState = 0x00000010 /* disallow creating new folders */
- };
-
- typedef UInt16 NavPopupMenuItem;
- enum
- {
- kNavAllKnownFiles = 0,
- kNavAllReadableFiles = 1,
- kNavAllFiles = 2
- };
-
- typedef UInt16 NavSortKeyField;
- enum
- {
- kNavSortNameField = 0,
- kNavSortDateField = 1
- };
-
-
- typedef UInt16 NavSortOrder;
- enum
- {
- kNavSortAscending = 0,
- kNavSortDescending = 1
- };
-
-
- typedef UInt32 NavDialogOptionFlags;
- enum
- {
- kNavDefaultNavDlogOptions = 0x000000E4, /* use defaults for all the options */
- kNavNoTypePopup = 0x00000001, /* don't show file type/extension popup on Open/Save */
- kNavDontAutoTranslate = 0x00000002, /* don't automatically translate on Open */
- kNavDontAddTranslateItems = 0x00000004, /* don't add translation choices on Open/Save */
- kNavAllFilesInPopup = 0x00000010, /* "All Files" menu item in the type popup on Open */
- kNavAllowStationery = 0x00000020, /* allow saving of stationery files */
- kNavAllowPreviews = 0x00000040, /* allow preview to show */
- kNavAllowMultipleFiles = 0x00000080, /* allow multiple items to be selected */
- kNavAllowInvisibleFiles = 0x00000100, /* allow invisible items to be shown */
- kNavDontResolveAliases = 0x00000200, /* don't resolve aliases */
- kNavSelectDefaultLocation = 0x00000400, /* make the default location the browser selection */
- kNavSelectAllReadableItem = 0x00000800, /* make the dialog select "All Readable Documents" on open */
- kNavSupportPackages = 0x00001000, /* recognize file system packages, v2.0 or greater */
- kNavAllowOpenPackages = 0x00002000, /* allow opening of packages, v2.0 or greater */
- kNavDontAddRecents = 0x00004000, /* don't add chosen objects to the recents list, v2.0 or greater */
- kNavDontUseCustomFrame = 0x00008000, /* don't draw the custom area bevel frame, v2.0 or greater */
- kNavDontConfirmReplacement = 0x00010000, /* don't show the "Replace File?" alert on save conflict, v3.0 or greater */
- kNavPreserveSaveFileExtension = 0x00020000 /* extension in default file name is preserved and initially hidden, v3.1 or greater */
- };
-
-
- typedef UInt32 NavTranslationOptions;
- enum
- {
- kNavTranslateInPlace = 0, /* translate in place, replacing translation source file (default for Save) */
- kNavTranslateCopy = 1 /* translate to a copy of the source file (default for Open) */
- };
-
-
- enum
- {
- kNavMenuItemSpecVersion = 0
- };
-
- struct NavMenuItemSpec
- {
- UInt16 version;
- OSType menuCreator;
- OSType menuType;
- Str255 menuItemName;
- char reserved[245];
- };
- typedef struct NavMenuItemSpec NavMenuItemSpec;
- typedef NavMenuItemSpec * NavMenuItemSpecArrayPtr;
- typedef NavMenuItemSpecArrayPtr * NavMenuItemSpecArrayHandle;
- typedef NavMenuItemSpecArrayPtr NavMenuItemSpecPtr;
- typedef NavMenuItemSpecArrayHandle NavMenuItemSpecHandle;
- enum
- {
- kNavGenericSignature = FOUR_CHAR_CODE('****')
- };
-
- struct NavTypeList
- {
- OSType componentSignature;
- short reserved;
- short osTypeCount;
- OSType osType[1];
- };
- typedef struct NavTypeList NavTypeList;
- typedef NavTypeList * NavTypeListPtr;
- typedef NavTypeListPtr * NavTypeListHandle;
- enum
- {
- kNavDialogOptionsVersion = 0
- };
-
- struct NavDialogOptions
- {
- UInt16 version;
- NavDialogOptionFlags dialogOptionFlags; /* option flags for affecting the dialog's behavior */
- Point location; /* top-left location of the dialog, or {-1,-1} for default position */
- Str255 clientName;
- Str255 windowTitle;
- Str255 actionButtonLabel; /* label of the default button (or null string for default) */
- Str255 cancelButtonLabel; /* label of the cancel button (or null string for default) */
- Str255 savedFileName; /* default name for text box in NavPutFile (or null string for default) */
- Str255 message; /* custom message prompt (or null string for default) */
- UInt32 preferenceKey; /* a key for to managing preferences for using multiple utility dialogs */
- NavMenuItemSpecArrayHandle popupExtension; /* extended popup menu items, an array of NavMenuItemSpecs */
- char reserved[494];
- };
- typedef struct NavDialogOptions NavDialogOptions;
- enum
- {
- kNavReplyRecordVersion = 2
- };
-
-
- /*
- * NavReplyRecord
- *
- * Summary:
- * A structure describing the results of a Nav Services dialog
- *
- * Discussion:
- * A reply record is the result of a Nav Services file dialog. Using
- * the older API, which is always modal, the client passes the
- * address of a reply record when invoking the dialog. In the Carbon
- * API, dialogs may also be window modal or modeless, so the client
- * requests the reply record by calling NavDialogGetReply when a
- * kNavCBUserAction event is received. Either way, a reply record
- * should be disposed of using NavDisposeReply.
- */
- struct NavReplyRecord
- {
-
- /*
- * The version of the structure. The first public version of the
- * structure was version 0. Fields added after version 0, starting
- * with the saveFileName field, are noted below.
- */
- UInt16 version;
-
- /*
- * True if the reply contains a non-null selection
- */
- Boolean validRecord;
-
- /*
- * True if this reply is from a PutFile dialog and the file to be
- * saved already exists and needs to be replaced. The user has
- * already been warned unless the kNavDontConfirmReplacement option
- * flag is used.
- */
- Boolean replacing;
-
- /*
- * True if this reply is from a PutFile dialog and the user wants to
- * save the file as stationery.
- */
- Boolean isStationery;
-
- /*
- * True if translation was performed on the file(s) to be opened or
- * if transtlation will be needed on the file to be saved.
- */
- Boolean translationNeeded;
-
- /*
- * For GetFile or Choose dialogs, a list of items chosen by the user.
- * For the older NavPutFile dialog, a list containing one item: an
- * FSSpec of the file to be saved. ** IMPORTANT NOTE *** For the new
- * Carbon-only PutFile dialog created with NavCreatePutFileDialog,
- * the selection is a list containing one item: the DIRECTORY where
- * the file is to be saved. The file name is obtained from the
- * saveFileName field. When using the original modal API, each
- * descriptor will contain an FSSpec (typeFSS). When using the new
- * Carbon-only dialogs created via the NavCreate*Dialog functions,
- * each descriptor could contain either an FSSpec (typeFSS, used on
- * Mac OS 8 or 9) or an FSRef (typeFSRef, used on Mac OS X). This
- * divergence is caused by the need to use FSRef (for Unicode/HFS+
- * support) on Mac OS X, while being unable to provide FSRefs on Mac
- * OS 8.6.
- */
- AEDescList selection;
-
- /*
- * For NavPutFile: the script system associated with the name of the
- * file to be saved.
- */
- ScriptCode keyScript;
-
- /*
- * A handle to an array of type FileTranslationSpec. Each array entry
- * corresponds to an item in the selection and describes the
- * translation that was performed (GetFile) or needs to be performed
- * (PutFile) on that item.
- */
- FileTranslationSpecArrayHandle fileTranslation;
-
- /*
- * Reserved for private use.
- */
- UInt32 reserved1;
-
- /*
- * Carbon PutFile dialog only: the name of the file to be saved. This
- * field contains the true file name to saved, even if the extension
- * will be hidden from the user. This field was added in structure
- * version 1.
- */
- CFStringRef saveFileName;
-
- /*
- * The extension on the name of the saved file should be hidden. Once
- * the file has been saved, the client should call NavCompleteSave.
- * NavCompleteSave will take care of hiding the extension on the
- * file. However, the client needs to know that the extension is
- * hidden so that it can display the document name correctly in the
- * UI, such as in window titles and menus. This field is only used if
- * the client has r equested extension preservation using the
- * kNavPreserveSaveFileExtension dialog option flag. This field was
- * added in structure version 2.
- */
- Boolean saveFileExtensionHidden;
-
- /*
- * Reserved for future use.
- */
- UInt8 reserved2;
-
- /*
- * Reserved for future use.
- */
- char reserved[225];
- };
- typedef struct NavReplyRecord NavReplyRecord;
- /*
- * NavLoad()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NavLoad(void);
-
-
- /*
- * NavUnload()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NavUnload(void);
-
-
- /*
- * NavLibraryVersion()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- NavLibraryVersion(void);
-
-
- /*
- * NavGetDefaultDialogOptions()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavGetDefaultDialogOptions(NavDialogOptions * dialogOptions);
-
-
-
- /*
- * NavGetFile()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavGetFile(
- AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions, /* can be NULL */
- NavEventUPP eventProc, /* can be NULL */
- NavPreviewUPP previewProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- NavTypeListHandle typeList, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavPutFile()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavPutFile(
- AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions, /* can be NULL */
- NavEventUPP eventProc, /* can be NULL */
- OSType fileType,
- OSType fileCreator,
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavAskSaveChanges()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavAskSaveChanges(
- NavDialogOptions * dialogOptions,
- NavAskSaveChangesAction action,
- NavAskSaveChangesResult * reply,
- NavEventUPP eventProc, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavCustomAskSaveChanges()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavCustomAskSaveChanges(
- NavDialogOptions * dialogOptions,
- NavAskSaveChangesResult * reply,
- NavEventUPP eventProc, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavAskDiscardChanges()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavAskDiscardChanges(
- NavDialogOptions * dialogOptions,
- NavAskDiscardChangesResult * reply,
- NavEventUPP eventProc, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavChooseFile()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavChooseFile(
- AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions, /* can be NULL */
- NavEventUPP eventProc, /* can be NULL */
- NavPreviewUPP previewProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- NavTypeListHandle typeList, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavChooseFolder()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavChooseFolder(
- AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions, /* can be NULL */
- NavEventUPP eventProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavChooseVolume()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavChooseVolume(
- AEDesc * defaultSelection, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions, /* can be NULL */
- NavEventUPP eventProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavChooseObject()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavChooseObject(
- AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions, /* can be NULL */
- NavEventUPP eventProc, /* can be NULL */
- NavObjectFilterUPP filterProc, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavNewFolder()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavNewFolder(
- AEDesc * defaultLocation, /* can be NULL */
- NavReplyRecord * reply,
- NavDialogOptions * dialogOptions, /* can be NULL */
- NavEventUPP eventProc, /* can be NULL */
- void * callBackUD); /* can be NULL */
-
-
- /*
- * NavTranslateFile()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavTranslateFile(
- NavReplyRecord * reply,
- NavTranslationOptions howToTranslate);
-
-
- /*
- * NavCompleteSave()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavCompleteSave(
- NavReplyRecord * reply,
- NavTranslationOptions howToTranslate);
-
-
- /*
- * NavCustomControl()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavCustomControl(
- NavDialogRef dialog,
- NavCustomControlMessage selector,
- void * parms);
-
-
- /*
- * NavCreatePreview()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavCreatePreview(
- AEDesc * theObject,
- OSType previewDataType,
- const void * previewData,
- Size previewDataSize);
-
-
- /*
- * NavDisposeReply()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NavDisposeReply(NavReplyRecord * reply);
-
-
- /*
- * NavServicesCanRun()
- *
- * Availability:
- * Non-Carbon CFM: in NavigationLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- NavServicesCanRun(void);
+typedef SInt32 NavCustomControlMessage;
+enum {
+ kNavCtlShowDesktop = 0, /* show desktop, parms = nil */
+ kNavCtlSortBy = 1, /* sort key field, parms->NavSortKeyField */
+ kNavCtlSortOrder = 2, /* sort order, parms->NavSortOrder */
+ kNavCtlScrollHome = 3, /* scroll list home, parms = nil */
+ kNavCtlScrollEnd = 4, /* scroll list end, parms = nil */
+ kNavCtlPageUp = 5, /* page list up, parms = nil */
+ kNavCtlPageDown = 6, /* page list down, parms = nil */
+ kNavCtlGetLocation = 7, /* get current location, parms<-AEDesc* */
+ kNavCtlSetLocation = 8, /* set current location, parms->AEDesc* */
+ kNavCtlGetSelection = 9, /* get current selection, parms<-AEDescList* */
+ kNavCtlSetSelection = 10, /* set current selection, parms->AEDescList* */
+ kNavCtlShowSelection = 11, /* make selection visible, parms = nil */
+ kNavCtlOpenSelection = 12, /* open view of selection, parms = nil */
+ kNavCtlEjectVolume = 13, /* eject volume, parms->vRefNum */
+ kNavCtlNewFolder = 14, /* create a new folder, parms->StringPtr */
+ kNavCtlCancel = 15, /* cancel dialog, parms = nil */
+ kNavCtlAccept = 16, /* accept dialog default, parms = nil */
+ kNavCtlIsPreviewShowing = 17, /* query preview status, parms<-Boolean */
+ kNavCtlAddControl = 18, /* add one control to dialog, parms->ControlHandle */
+ kNavCtlAddControlList = 19, /* add control list to dialog, parms->Handle (DITL rsrc) */
+ kNavCtlGetFirstControlID = 20, /* get 1st control ID, parms<-UInt16 */
+ kNavCtlSelectCustomType = 21, /* select a custom menu item parms->NavMenuItemSpec* */
+ kNavCtlSelectAllType = 22, /* select an "All" menu item parms->SInt16 */
+ kNavCtlGetEditFileName = 23, /* get save dlog's file name parms<-StringPtr */
+ kNavCtlSetEditFileName = 24, /* set save dlog's file name parms->StringPtr */
+ kNavCtlSelectEditFileName = 25, /* select save dlog file name parms->ControlEditTextSelectionRec*, v1.1 or greater */
+ kNavCtlBrowserSelectAll = 26, /* re-scan the browser list parms = nil, v2.0 or greater */
+ kNavCtlGotoParent = 27, /* navigate to parent parms = nil, v2.0 or greater */
+ kNavCtlSetActionState = 28, /* restrict navigation parms->NavActionState (flags), v2.0 or greater */
+ kNavCtlBrowserRedraw = 29, /* rescan browser list parms = nil, v2.0 or greater */
+ kNavCtlTerminate = 30 /* terminate/dismiss dialog parms = nil, v2.0 or greater */
+};
+
+typedef UInt32 NavActionState;
+enum {
+ kNavNormalState = 0x00000000, /* normal/default state */
+ kNavDontOpenState = 0x00000001, /* disallow opening files/folders */
+ kNavDontSaveState = 0x00000002, /* disallow saving files */
+ kNavDontChooseState = 0x00000004, /* disallow choosing objects */
+ kNavDontNewFolderState = 0x00000010 /* disallow creating new folders */
+};
+
+typedef UInt16 NavPopupMenuItem;
+enum {
+ kNavAllKnownFiles = 0,
+ kNavAllReadableFiles = 1,
+ kNavAllFiles = 2
+};
+
+typedef UInt16 NavSortKeyField;
+enum {
+ kNavSortNameField = 0,
+ kNavSortDateField = 1
+};
+
+
+typedef UInt16 NavSortOrder;
+enum {
+ kNavSortAscending = 0,
+ kNavSortDescending = 1
+};
+
+
+typedef UInt32 NavDialogOptionFlags;
+enum {
+ kNavDefaultNavDlogOptions = 0x000000E4, /* use defaults for all the options */
+ kNavNoTypePopup = 0x00000001, /* don't show file type/extension popup on Open/Save */
+ kNavDontAutoTranslate = 0x00000002, /* don't automatically translate on Open */
+ kNavDontAddTranslateItems = 0x00000004, /* don't add translation choices on Open/Save */
+ kNavAllFilesInPopup = 0x00000010, /* "All Files" menu item in the type popup on Open */
+ kNavAllowStationery = 0x00000020, /* allow saving of stationery files */
+ kNavAllowPreviews = 0x00000040, /* allow preview to show */
+ kNavAllowMultipleFiles = 0x00000080, /* allow multiple items to be selected */
+ kNavAllowInvisibleFiles = 0x00000100, /* allow invisible items to be shown */
+ kNavDontResolveAliases = 0x00000200, /* don't resolve aliases */
+ kNavSelectDefaultLocation = 0x00000400, /* make the default location the browser selection */
+ kNavSelectAllReadableItem = 0x00000800, /* make the dialog select "All Readable Documents" on open */
+ kNavSupportPackages = 0x00001000, /* recognize file system packages, v2.0 or greater */
+ kNavAllowOpenPackages = 0x00002000, /* allow opening of packages, v2.0 or greater */
+ kNavDontAddRecents = 0x00004000, /* don't add chosen objects to the recents list, v2.0 or greater */
+ kNavDontUseCustomFrame = 0x00008000, /* don't draw the custom area bevel frame, v2.0 or greater */
+ kNavDontConfirmReplacement = 0x00010000, /* don't show the "Replace File?" alert on save conflict, v3.0 or greater */
+ kNavPreserveSaveFileExtension = 0x00020000 /* extension in default file name is preserved and initially hidden, v3.1 or greater */
+};
+
+
+typedef UInt32 NavTranslationOptions;
+enum {
+ kNavTranslateInPlace = 0, /* translate in place, replacing translation source file (default for Save) */
+ kNavTranslateCopy = 1 /* translate to a copy of the source file (default for Open) */
+};
+
+
+enum {
+ kNavMenuItemSpecVersion = 0
+};
+
+struct NavMenuItemSpec {
+ UInt16 version;
+ OSType menuCreator;
+ OSType menuType;
+ Str255 menuItemName;
+ char reserved[245];
+};
+typedef struct NavMenuItemSpec NavMenuItemSpec;
+typedef NavMenuItemSpec * NavMenuItemSpecArrayPtr;
+typedef NavMenuItemSpecArrayPtr * NavMenuItemSpecArrayHandle;
+typedef NavMenuItemSpecArrayPtr NavMenuItemSpecPtr;
+typedef NavMenuItemSpecArrayHandle NavMenuItemSpecHandle;
+enum {
+ kNavGenericSignature = FOUR_CHAR_CODE('****')
+};
+
+struct NavTypeList {
+ OSType componentSignature;
+ short reserved;
+ short osTypeCount;
+ OSType osType[1];
+};
+typedef struct NavTypeList NavTypeList;
+typedef NavTypeList * NavTypeListPtr;
+typedef NavTypeListPtr * NavTypeListHandle;
+enum {
+ kNavDialogOptionsVersion = 0
+};
+
+struct NavDialogOptions {
+ UInt16 version;
+ NavDialogOptionFlags dialogOptionFlags; /* option flags for affecting the dialog's behavior */
+ Point location; /* top-left location of the dialog, or {-1,-1} for default position */
+ Str255 clientName;
+ Str255 windowTitle;
+ Str255 actionButtonLabel; /* label of the default button (or null string for default) */
+ Str255 cancelButtonLabel; /* label of the cancel button (or null string for default) */
+ Str255 savedFileName; /* default name for text box in NavPutFile (or null string for default) */
+ Str255 message; /* custom message prompt (or null string for default) */
+ UInt32 preferenceKey; /* a key for to managing preferences for using multiple utility dialogs */
+ NavMenuItemSpecArrayHandle popupExtension; /* extended popup menu items, an array of NavMenuItemSpecs */
+ char reserved[494];
+};
+typedef struct NavDialogOptions NavDialogOptions;
+enum {
+ kNavReplyRecordVersion = 2
+};
+
+
+/*
+ * NavReplyRecord
+ *
+ * Summary:
+ * A structure describing the results of a Nav Services dialog
+ *
+ * Discussion:
+ * A reply record is the result of a Nav Services file dialog. Using
+ * the older API, which is always modal, the client passes the
+ * address of a reply record when invoking the dialog. In the Carbon
+ * API, dialogs may also be window modal or modeless, so the client
+ * requests the reply record by calling NavDialogGetReply when a
+ * kNavCBUserAction event is received. Either way, a reply record
+ * should be disposed of using NavDisposeReply.
+ */
+struct NavReplyRecord {
+
+ /*
+ * The version of the structure. The first public version of the
+ * structure was version 0. Fields added after version 0, starting
+ * with the saveFileName field, are noted below.
+ */
+ UInt16 version;
+
+ /*
+ * True if the reply contains a non-null selection
+ */
+ Boolean validRecord;
+
+ /*
+ * True if this reply is from a PutFile dialog and the file to be
+ * saved already exists and needs to be replaced. The user has
+ * already been warned unless the kNavDontConfirmReplacement option
+ * flag is used.
+ */
+ Boolean replacing;
+
+ /*
+ * True if this reply is from a PutFile dialog and the user wants to
+ * save the file as stationery.
+ */
+ Boolean isStationery;
+
+ /*
+ * True if translation was performed on the file(s) to be opened or
+ * if transtlation will be needed on the file to be saved.
+ */
+ Boolean translationNeeded;
+
+ /*
+ * For GetFile or Choose dialogs, a list of items chosen by the user.
+ * For the older NavPutFile dialog, a list containing one item: an
+ * FSSpec of the file to be saved. ** IMPORTANT NOTE *** For the new
+ * Carbon-only PutFile dialog created with NavCreatePutFileDialog,
+ * the selection is a list containing one item: the DIRECTORY where
+ * the file is to be saved. The file name is obtained from the
+ * saveFileName field. When using the original modal API, each
+ * descriptor will contain an FSSpec (typeFSS). When using the new
+ * Carbon-only dialogs created via the NavCreate*Dialog functions,
+ * each descriptor could contain either an FSSpec (typeFSS, used on
+ * Mac OS 8 or 9) or an FSRef (typeFSRef, used on Mac OS X). This
+ * divergence is caused by the need to use FSRef (for Unicode/HFS+
+ * support) on Mac OS X, while being unable to provide FSRefs on Mac
+ * OS 8.6.
+ */
+ AEDescList selection;
+
+ /*
+ * For NavPutFile: the script system associated with the name of the
+ * file to be saved.
+ */
+ ScriptCode keyScript;
+
+ /*
+ * A handle to an array of type FileTranslationSpec. Each array entry
+ * corresponds to an item in the selection and describes the
+ * translation that was performed (GetFile) or needs to be performed
+ * (PutFile) on that item.
+ */
+ FileTranslationSpecArrayHandle fileTranslation;
+
+ /*
+ * Reserved for private use.
+ */
+ UInt32 reserved1;
+
+ /*
+ * Carbon PutFile dialog only: the name of the file to be saved. This
+ * field contains the true file name to saved, even if the extension
+ * will be hidden from the user. This field was added in structure
+ * version 1.
+ */
+ CFStringRef saveFileName;
+
+ /*
+ * The extension on the name of the saved file should be hidden. Once
+ * the file has been saved, the client should call NavCompleteSave.
+ * NavCompleteSave will take care of hiding the extension on the
+ * file. However, the client needs to know that the extension is
+ * hidden so that it can display the document name correctly in the
+ * UI, such as in window titles and menus. This field is only used if
+ * the client has r equested extension preservation using the
+ * kNavPreserveSaveFileExtension dialog option flag. This field was
+ * added in structure version 2.
+ */
+ Boolean saveFileExtensionHidden;
+
+ /*
+ * Reserved for future use.
+ */
+ UInt8 reserved2;
+
+ /*
+ * Reserved for future use.
+ */
+ char reserved[225];
+};
+typedef struct NavReplyRecord NavReplyRecord;
+/*
+ * NavLoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NavLoad(void);
+
+
+/*
+ * NavUnload()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NavUnload(void);
+
+
+/*
+ * NavLibraryVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+NavLibraryVersion(void);
+
+
+/*
+ * NavGetDefaultDialogOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavGetDefaultDialogOptions(NavDialogOptions * dialogOptions);
+
+
+
+/*
+ * NavGetFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavGetFile(
+ AEDesc * defaultLocation, /* can be NULL */
+ NavReplyRecord * reply,
+ NavDialogOptions * dialogOptions, /* can be NULL */
+ NavEventUPP eventProc, /* can be NULL */
+ NavPreviewUPP previewProc, /* can be NULL */
+ NavObjectFilterUPP filterProc, /* can be NULL */
+ NavTypeListHandle typeList, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavPutFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavPutFile(
+ AEDesc * defaultLocation, /* can be NULL */
+ NavReplyRecord * reply,
+ NavDialogOptions * dialogOptions, /* can be NULL */
+ NavEventUPP eventProc, /* can be NULL */
+ OSType fileType,
+ OSType fileCreator,
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavAskSaveChanges()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavAskSaveChanges(
+ NavDialogOptions * dialogOptions,
+ NavAskSaveChangesAction action,
+ NavAskSaveChangesResult * reply,
+ NavEventUPP eventProc, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavCustomAskSaveChanges()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavCustomAskSaveChanges(
+ NavDialogOptions * dialogOptions,
+ NavAskSaveChangesResult * reply,
+ NavEventUPP eventProc, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavAskDiscardChanges()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavAskDiscardChanges(
+ NavDialogOptions * dialogOptions,
+ NavAskDiscardChangesResult * reply,
+ NavEventUPP eventProc, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavChooseFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavChooseFile(
+ AEDesc * defaultLocation, /* can be NULL */
+ NavReplyRecord * reply,
+ NavDialogOptions * dialogOptions, /* can be NULL */
+ NavEventUPP eventProc, /* can be NULL */
+ NavPreviewUPP previewProc, /* can be NULL */
+ NavObjectFilterUPP filterProc, /* can be NULL */
+ NavTypeListHandle typeList, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavChooseFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavChooseFolder(
+ AEDesc * defaultLocation, /* can be NULL */
+ NavReplyRecord * reply,
+ NavDialogOptions * dialogOptions, /* can be NULL */
+ NavEventUPP eventProc, /* can be NULL */
+ NavObjectFilterUPP filterProc, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavChooseVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavChooseVolume(
+ AEDesc * defaultSelection, /* can be NULL */
+ NavReplyRecord * reply,
+ NavDialogOptions * dialogOptions, /* can be NULL */
+ NavEventUPP eventProc, /* can be NULL */
+ NavObjectFilterUPP filterProc, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavChooseObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavChooseObject(
+ AEDesc * defaultLocation, /* can be NULL */
+ NavReplyRecord * reply,
+ NavDialogOptions * dialogOptions, /* can be NULL */
+ NavEventUPP eventProc, /* can be NULL */
+ NavObjectFilterUPP filterProc, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavNewFolder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavNewFolder(
+ AEDesc * defaultLocation, /* can be NULL */
+ NavReplyRecord * reply,
+ NavDialogOptions * dialogOptions, /* can be NULL */
+ NavEventUPP eventProc, /* can be NULL */
+ void * callBackUD); /* can be NULL */
+
+
+/*
+ * NavTranslateFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavTranslateFile(
+ NavReplyRecord * reply,
+ NavTranslationOptions howToTranslate);
+
+
+/*
+ * NavCompleteSave()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavCompleteSave(
+ NavReplyRecord * reply,
+ NavTranslationOptions howToTranslate);
+
+
+/*
+ * NavCustomControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavCustomControl(
+ NavDialogRef dialog,
+ NavCustomControlMessage selector,
+ void * parms);
+
+
+/*
+ * NavCreatePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavCreatePreview(
+ AEDesc * theObject,
+ OSType previewDataType,
+ const void * previewData,
+ Size previewDataSize);
+
+
+/*
+ * NavDisposeReply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NavDisposeReply(NavReplyRecord * reply);
+
+
+/*
+ * NavServicesCanRun()
+ *
+ * Availability:
+ * Non-Carbon CFM: in NavigationLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+NavServicesCanRun(void);
#if TARGET_RT_MAC_CFM
#ifdef __cplusplus
- inline pascal Boolean NavServicesAvailable()
- {
- return ((NavLibraryVersion != (void*)kUnresolvedCFragSymbolAddress) && NavServicesCanRun());
- }
+ inline pascal Boolean NavServicesAvailable() { return ((NavLibraryVersion != (void*)kUnresolvedCFragSymbolAddress) && NavServicesCanRun()); }
#else
-#define NavServicesAvailable() ((NavLibraryVersion != (void*)kUnresolvedCFragSymbolAddress) && NavServicesCanRun())
+ #define NavServicesAvailable() ((NavLibraryVersion != (void*)kUnresolvedCFragSymbolAddress) && NavServicesCanRun())
#endif
#elif TARGET_RT_MAC_MACHO
- /* Navigation is always available on OS X */
+/* Navigation is always available on OS X */
#ifdef __cplusplus
- inline pascal Boolean NavServicesAvailable()
- {
- return true;
- }
+ inline pascal Boolean NavServicesAvailable() { return true; }
#else
-#define NavServicesAvailable() (true)
+ #define NavServicesAvailable() (true)
#endif
#else
- /* NavServicesAvailable() is implemented in Navigation.o for classic 68K clients*/
+/* NavServicesAvailable() is implemented in Navigation.o for classic 68K clients*/
#if CALL_NOT_IN_CARBON
- /*
- * NavServicesAvailable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- NavServicesAvailable(void);
+/*
+ * NavServicesAvailable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+NavServicesAvailable(void);
#endif /* CALL_NOT_IN_CARBON */
@@ -1298,11 +1235,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/NavigationServices.h b/include/qt/NavigationServices.h
index 8afcb1f5e..97b5077d0 100644
--- a/include/qt/NavigationServices.h
+++ b/include/qt/NavigationServices.h
@@ -1,17 +1,17 @@
/*
File: NavigationServices.h
-
+
Contains: Master include for NavigationServices private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __NAVIGATIONSERVICES__
#define __NAVIGATIONSERVICES__
diff --git a/include/qt/Notification.h b/include/qt/Notification.h
index a04f456c4..96e46f620 100644
--- a/include/qt/Notification.h
+++ b/include/qt/Notification.h
@@ -1,17 +1,17 @@
/*
File: Notification.h
-
+
Contains: Notification Manager interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __NOTIFICATION__
#define __NOTIFICATION__
@@ -39,142 +39,132 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
+ #pragma pack(2)
+#endif
+
+typedef struct NMRec NMRec;
+typedef NMRec * NMRecPtr;
+typedef CALLBACK_API( void , NMProcPtr )(NMRecPtr nmReqPtr);
+typedef STACK_UPP_TYPE(NMProcPtr) NMUPP;
+struct NMRec {
+ QElemPtr qLink; /* next queue entry*/
+ short qType; /* queue type -- ORD(nmType) = 8*/
+ short nmFlags; /* reserved*/
+ long nmPrivate; /* reserved*/
+ short nmReserved; /* reserved*/
+ short nmMark; /* item to mark in Apple menu*/
+ Handle nmIcon; /* handle to small icon*/
+ Handle nmSound; /* handle to sound record*/
+ StringPtr nmStr; /* string to appear in alert*/
+ NMUPP nmResp; /* pointer to response routine*/
+ long nmRefCon; /* for application use*/
+};
- typedef struct NMRec NMRec;
- typedef NMRec * NMRecPtr;
- typedef CALLBACK_API(void , NMProcPtr)(NMRecPtr nmReqPtr);
- typedef STACK_UPP_TYPE(NMProcPtr) NMUPP;
- struct NMRec
- {
- QElemPtr qLink; /* next queue entry*/
- short qType; /* queue type -- ORD(nmType) = 8*/
- short nmFlags; /* reserved*/
- long nmPrivate; /* reserved*/
- short nmReserved; /* reserved*/
- short nmMark; /* item to mark in Apple menu*/
- Handle nmIcon; /* handle to small icon*/
- Handle nmSound; /* handle to sound record*/
- StringPtr nmStr; /* string to appear in alert*/
- NMUPP nmResp; /* pointer to response routine*/
- long nmRefCon; /* for application use*/
- };
-
- /*
- * NewNMUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NMUPP)
- NewNMUPP(NMProcPtr userRoutine);
+/*
+ * NewNMUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NMUPP )
+NewNMUPP(NMProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNMProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NMUPP) NewNMUPP(NMProcPtr userRoutine)
- {
- return (NMUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNMProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNMUPP(userRoutine) (NMUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNMProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNMProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NMUPP) NewNMUPP(NMProcPtr userRoutine) { return (NMUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNMProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNMUPP(userRoutine) (NMUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNMProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeNMUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNMUPP(NMUPP userUPP);
+/*
+ * DisposeNMUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNMUPP(NMUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNMUPP(NMUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNMUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNMUPP(NMUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNMUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeNMUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeNMUPP(
- NMRecPtr nmReqPtr,
- NMUPP userUPP);
+/*
+ * InvokeNMUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeNMUPP(
+ NMRecPtr nmReqPtr,
+ NMUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeNMUPP(NMRecPtr nmReqPtr, NMUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppNMProcInfo, nmReqPtr);
- }
-#else
-#define InvokeNMUPP(nmReqPtr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppNMProcInfo, (nmReqPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeNMUPP(NMRecPtr nmReqPtr, NMUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppNMProcInfo, nmReqPtr); }
+ #else
+ #define InvokeNMUPP(nmReqPtr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppNMProcInfo, (nmReqPtr))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewNMProc(userRoutine) NewNMUPP(userRoutine)
-#define CallNMProc(userRoutine, nmReqPtr) InvokeNMUPP(nmReqPtr, userRoutine)
+ #define NewNMProc(userRoutine) NewNMUPP(userRoutine)
+ #define CallNMProc(userRoutine, nmReqPtr) InvokeNMUPP(nmReqPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NMInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NMInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 NMInstall(__A0)
#endif
- EXTERN_API(OSErr)
- NMInstall(NMRecPtr nmReqPtr) ONEWORDINLINE(0xA05E);
-
-
- /*
- * NMRemove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+NMInstall(NMRecPtr nmReqPtr) ONEWORDINLINE(0xA05E);
+
+
+/*
+ * NMRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 NMRemove(__A0)
#endif
- EXTERN_API(OSErr)
- NMRemove(NMRecPtr nmReqPtr) ONEWORDINLINE(0xA05F);
+EXTERN_API( OSErr )
+NMRemove(NMRecPtr nmReqPtr) ONEWORDINLINE(0xA05F);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/NumberFormatting.h b/include/qt/NumberFormatting.h
index 976952a43..b50851ce5 100644
--- a/include/qt/NumberFormatting.h
+++ b/include/qt/NumberFormatting.h
@@ -1,17 +1,17 @@
/*
File: NumberFormatting.h
-
+
Contains: Utilites for formatting numbers
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __NUMBERFORMATTING__
#define __NUMBERFORMATTING__
@@ -45,198 +45,193 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
-
- Here are the current System 7 routine names and the translations to the older forms.
- Please use the newer forms in all new code and migrate the older names out of existing
- code as maintainance permits.
-
- New Name Old Name(s)
-
- ExtendedToString FormatX2Str
- FormatRecToString Format2Str
- NumToString
- StringToExtended FormatStr2X
- StringToFormatRec Str2Format
- StringToNum
-
- */
- struct NumFormatString
- {
- UInt8 fLength;
- UInt8 fVersion;
- char data[254]; /* private data */
- };
- typedef struct NumFormatString NumFormatString;
- typedef NumFormatString NumFormatStringRec;
- typedef short FormatStatus;
- enum
- {
- fVNumber = 0 /* first version of NumFormatString */
- };
-
- typedef SInt8 FormatClass;
- enum
- {
- fPositive = 0,
- fNegative = 1,
- fZero = 2
- };
-
- typedef SInt8 FormatResultType;
- enum
- {
- fFormatOK = 0,
- fBestGuess = 1,
- fOutOfSynch = 2,
- fSpuriousChars = 3,
- fMissingDelimiter = 4,
- fExtraDecimal = 5,
- fMissingLiteral = 6,
- fExtraExp = 7,
- fFormatOverflow = 8,
- fFormStrIsNAN = 9,
- fBadPartsTable = 10,
- fExtraPercent = 11,
- fExtraSeparator = 12,
- fEmptyFormatString = 13
- };
-
- struct FVector
- {
- short start;
- short length;
- };
- typedef struct FVector FVector;
- /* index by [fPositive..fZero] */
- typedef FVector TripleInt[3];
+/*
+
+ Here are the current System 7 routine names and the translations to the older forms.
+ Please use the newer forms in all new code and migrate the older names out of existing
+ code as maintainance permits.
+
+ New Name Old Name(s)
+
+ ExtendedToString FormatX2Str
+ FormatRecToString Format2Str
+ NumToString
+ StringToExtended FormatStr2X
+ StringToFormatRec Str2Format
+ StringToNum
+
+*/
+struct NumFormatString {
+ UInt8 fLength;
+ UInt8 fVersion;
+ char data[254]; /* private data */
+};
+typedef struct NumFormatString NumFormatString;
+typedef NumFormatString NumFormatStringRec;
+typedef short FormatStatus;
+enum {
+ fVNumber = 0 /* first version of NumFormatString */
+};
+
+typedef SInt8 FormatClass;
+enum {
+ fPositive = 0,
+ fNegative = 1,
+ fZero = 2
+};
+
+typedef SInt8 FormatResultType;
+enum {
+ fFormatOK = 0,
+ fBestGuess = 1,
+ fOutOfSynch = 2,
+ fSpuriousChars = 3,
+ fMissingDelimiter = 4,
+ fExtraDecimal = 5,
+ fMissingLiteral = 6,
+ fExtraExp = 7,
+ fFormatOverflow = 8,
+ fFormStrIsNAN = 9,
+ fBadPartsTable = 10,
+ fExtraPercent = 11,
+ fExtraSeparator = 12,
+ fEmptyFormatString = 13
+};
+
+struct FVector {
+ short start;
+ short length;
+};
+typedef struct FVector FVector;
+/* index by [fPositive..fZero] */
+typedef FVector TripleInt[3];
#if CALL_NOT_IN_CARBON
- /*
- * stringtonum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- stringtonum(
- const char * theString,
- long * theNum);
-
-
- /*
- * numtostring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- numtostring(
- long theNum,
- char * theString);
+/*
+ * stringtonum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+stringtonum(
+ const char * theString,
+ long * theNum);
+
+
+/*
+ * numtostring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+numtostring(
+ long theNum,
+ char * theString);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * StringToNum()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StringToNum(
- ConstStr255Param theString,
- long * theNum);
-
-
- /*
- * NumToString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- NumToString(
- long theNum,
- Str255 theString);
-
-
- /*
- * ExtendedToString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(FormatStatus)
- ExtendedToString(
- const extended80 * x,
- const NumFormatString * myCanonical,
- const NumberParts * partsTable,
- Str255 outString) FOURWORDINLINE(0x2F3C, 0x8210, 0xFFE8, 0xA8B5);
-
-
- /*
- * StringToExtended()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(FormatStatus)
- StringToExtended(
- ConstStr255Param source,
- const NumFormatString * myCanonical,
- const NumberParts * partsTable,
- extended80 * x) FOURWORDINLINE(0x2F3C, 0x8210, 0xFFE6, 0xA8B5);
-
-
- /*
- * StringToFormatRec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(FormatStatus)
- StringToFormatRec(
- ConstStr255Param inString,
- const NumberParts * partsTable,
- NumFormatString * outString) FOURWORDINLINE(0x2F3C, 0x820C, 0xFFEC, 0xA8B5);
-
-
- /*
- * FormatRecToString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(FormatStatus)
- FormatRecToString(
- const NumFormatString * myCanonical,
- const NumberParts * partsTable,
- Str255 outString,
- TripleInt positions) FOURWORDINLINE(0x2F3C, 0x8210, 0xFFEA, 0xA8B5);
+/*
+ * StringToNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StringToNum(
+ ConstStr255Param theString,
+ long * theNum);
+
+
+/*
+ * NumToString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+NumToString(
+ long theNum,
+ Str255 theString);
+
+
+/*
+ * ExtendedToString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( FormatStatus )
+ExtendedToString(
+ const extended80 * x,
+ const NumFormatString * myCanonical,
+ const NumberParts * partsTable,
+ Str255 outString) FOURWORDINLINE(0x2F3C, 0x8210, 0xFFE8, 0xA8B5);
+
+
+/*
+ * StringToExtended()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( FormatStatus )
+StringToExtended(
+ ConstStr255Param source,
+ const NumFormatString * myCanonical,
+ const NumberParts * partsTable,
+ extended80 * x) FOURWORDINLINE(0x2F3C, 0x8210, 0xFFE6, 0xA8B5);
+
+
+/*
+ * StringToFormatRec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( FormatStatus )
+StringToFormatRec(
+ ConstStr255Param inString,
+ const NumberParts * partsTable,
+ NumFormatString * outString) FOURWORDINLINE(0x2F3C, 0x820C, 0xFFEC, 0xA8B5);
+
+
+/*
+ * FormatRecToString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( FormatStatus )
+FormatRecToString(
+ const NumFormatString * myCanonical,
+ const NumberParts * partsTable,
+ Str255 outString,
+ TripleInt positions) FOURWORDINLINE(0x2F3C, 0x8210, 0xFFEA, 0xA8B5);
@@ -253,11 +248,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/OSA.h b/include/qt/OSA.h
index 89717d53d..3118e0c5a 100644
--- a/include/qt/OSA.h
+++ b/include/qt/OSA.h
@@ -1,17 +1,17 @@
/*
File: OSA.h
-
+
Contains: Open Scripting Architecture Client Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2000 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 __OSA__
#define __OSA__
@@ -52,1962 +52,1885 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /**************************************************************************
- Types and Constants
- **************************************************************************/
-
- /* The componenent manager type code for components that
- support the OSA interface defined here. */
- /* 0x6f736120 */
- enum {
- kOSAComponentType = FOUR_CHAR_CODE('osa ')
- };
-
- /* 0x73637074 */
- enum
- {
- kOSAGenericScriptingComponentSubtype = FOUR_CHAR_CODE('scpt')
- };
-
- /* Type of script document files. */
- /* 0x6f736173 */
- enum
- {
- kOSAFileType = FOUR_CHAR_CODE('osas')
- };
-
- /*
- Suite and event code of the RecordedText event.
- (See OSAStartRecording, below.)
- */
- /* 0x61736372 */
- enum
- {
- kOSASuite = FOUR_CHAR_CODE('ascr')
- };
-
- /* 0x72656364 */
- enum
- {
- kOSARecordedText = FOUR_CHAR_CODE('recd')
- };
-
- /* Selector returns boolean */
- /* 0x6d6f6469 */
- enum
- {
- kOSAScriptIsModified = FOUR_CHAR_CODE('modi')
- };
-
- /* Selector returns boolean */
- /* 0x63736372 */
- enum
- {
- kOSAScriptIsTypeCompiledScript = FOUR_CHAR_CODE('cscr')
- };
-
- /* Selector returns boolean */
- /* 0x76616c75 */
- enum
- {
- kOSAScriptIsTypeScriptValue = FOUR_CHAR_CODE('valu')
- };
-
- /* Selector returns boolean */
- /* 0x636e7478 */
- enum
- {
- kOSAScriptIsTypeScriptContext = FOUR_CHAR_CODE('cntx')
- };
-
- /* Selector returns a DescType which may be passed to OSACoerceToDesc */
- /* 0x62657374 */
- enum
- {
- kOSAScriptBestType = FOUR_CHAR_CODE('best')
- };
-
- /*
- This selector is used to determine whether a script has source
- associated with it that when given to OSAGetSource, the call will not
- fail. The selector returns a boolean.
- */
- /* 0x67737263 */
- enum
- {
- kOSACanGetSource = FOUR_CHAR_CODE('gsrc')
- };
-
-
- enum
- {
- typeOSADialectInfo = FOUR_CHAR_CODE('difo'), /* 0x6469666f */
- keyOSADialectName = FOUR_CHAR_CODE('dnam'), /* 0x646e616d */
- keyOSADialectCode = FOUR_CHAR_CODE('dcod'), /* 0x64636f64 */
- keyOSADialectLangCode = FOUR_CHAR_CODE('dlcd'), /* 0x646c6364 */
- keyOSADialectScriptCode = FOUR_CHAR_CODE('dscd') /* 0x64736364 */
- };
-
- typedef ComponentResult OSAError;
- /* Under the Open Scripting Architecture all error results are longs */
- typedef unsigned long OSAID;
- /*
- OSAIDs allow transparent manipulation of scripts associated with
- various scripting systems.
- */
- enum
- {
- kOSANullScript = 0L
- };
-
- /* No -script constant. */
- enum
- {
- kOSANullMode = 0, /* sounds better */
- kOSAModeNull = 0 /* tastes consistent */
- };
-
- /*
- Some routines take flags that control their execution. This constant
- declares default mode settings are used.
- */
- typedef CALLBACK_API(OSErr , OSACreateAppleEventProcPtr)(AEEventClass theAEEventClass, AEEventID theAEEventID, const AEAddressDesc *target, short returnID, long transactionID, AppleEvent *result, long refCon);
- typedef CALLBACK_API(OSErr , OSASendProcPtr)(const AppleEvent *theAppleEvent, AppleEvent *reply, AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks, AEIdleUPP idleProc, AEFilterUPP filterProc, long refCon);
- typedef STACK_UPP_TYPE(OSACreateAppleEventProcPtr) OSACreateAppleEventUPP;
- typedef STACK_UPP_TYPE(OSASendProcPtr) OSASendUPP;
- /*
- * NewOSACreateAppleEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSACreateAppleEventUPP)
- NewOSACreateAppleEventUPP(OSACreateAppleEventProcPtr userRoutine);
+/**************************************************************************
+ Types and Constants
+**************************************************************************/
+
+/* The componenent manager type code for components that
+ support the OSA interface defined here. */
+/* 0x6f736120 */
+enum {
+ kOSAComponentType = FOUR_CHAR_CODE('osa ')
+};
+
+/* 0x73637074 */
+enum {
+ kOSAGenericScriptingComponentSubtype = FOUR_CHAR_CODE('scpt')
+};
+
+/* Type of script document files. */
+/* 0x6f736173 */
+enum {
+ kOSAFileType = FOUR_CHAR_CODE('osas')
+};
+
+/*
+ Suite and event code of the RecordedText event.
+ (See OSAStartRecording, below.)
+ */
+/* 0x61736372 */
+enum {
+ kOSASuite = FOUR_CHAR_CODE('ascr')
+};
+
+/* 0x72656364 */
+enum {
+ kOSARecordedText = FOUR_CHAR_CODE('recd')
+};
+
+/* Selector returns boolean */
+/* 0x6d6f6469 */
+enum {
+ kOSAScriptIsModified = FOUR_CHAR_CODE('modi')
+};
+
+/* Selector returns boolean */
+/* 0x63736372 */
+enum {
+ kOSAScriptIsTypeCompiledScript = FOUR_CHAR_CODE('cscr')
+};
+
+/* Selector returns boolean */
+/* 0x76616c75 */
+enum {
+ kOSAScriptIsTypeScriptValue = FOUR_CHAR_CODE('valu')
+};
+
+/* Selector returns boolean */
+/* 0x636e7478 */
+enum {
+ kOSAScriptIsTypeScriptContext = FOUR_CHAR_CODE('cntx')
+};
+
+/* Selector returns a DescType which may be passed to OSACoerceToDesc */
+/* 0x62657374 */
+enum {
+ kOSAScriptBestType = FOUR_CHAR_CODE('best')
+};
+
+/*
+ This selector is used to determine whether a script has source
+ associated with it that when given to OSAGetSource, the call will not
+ fail. The selector returns a boolean.
+ */
+/* 0x67737263 */
+enum {
+ kOSACanGetSource = FOUR_CHAR_CODE('gsrc')
+};
+
+
+enum {
+ typeOSADialectInfo = FOUR_CHAR_CODE('difo'), /* 0x6469666f */
+ keyOSADialectName = FOUR_CHAR_CODE('dnam'), /* 0x646e616d */
+ keyOSADialectCode = FOUR_CHAR_CODE('dcod'), /* 0x64636f64 */
+ keyOSADialectLangCode = FOUR_CHAR_CODE('dlcd'), /* 0x646c6364 */
+ keyOSADialectScriptCode = FOUR_CHAR_CODE('dscd') /* 0x64736364 */
+};
+
+typedef ComponentResult OSAError;
+/* Under the Open Scripting Architecture all error results are longs */
+typedef unsigned long OSAID;
+/*
+ OSAIDs allow transparent manipulation of scripts associated with
+ various scripting systems.
+ */
+enum {
+ kOSANullScript = 0L
+};
+
+/* No -script constant. */
+enum {
+ kOSANullMode = 0, /* sounds better */
+ kOSAModeNull = 0 /* tastes consistent */
+};
+
+/*
+ Some routines take flags that control their execution. This constant
+ declares default mode settings are used.
+ */
+typedef CALLBACK_API( OSErr , OSACreateAppleEventProcPtr )(AEEventClass theAEEventClass, AEEventID theAEEventID, const AEAddressDesc *target, short returnID, long transactionID, AppleEvent *result, long refCon);
+typedef CALLBACK_API( OSErr , OSASendProcPtr )(const AppleEvent *theAppleEvent, AppleEvent *reply, AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks, AEIdleUPP idleProc, AEFilterUPP filterProc, long refCon);
+typedef STACK_UPP_TYPE(OSACreateAppleEventProcPtr) OSACreateAppleEventUPP;
+typedef STACK_UPP_TYPE(OSASendProcPtr) OSASendUPP;
+/*
+ * NewOSACreateAppleEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSACreateAppleEventUPP )
+NewOSACreateAppleEventUPP(OSACreateAppleEventProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSACreateAppleEventProcInfo = 0x000FEFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSACreateAppleEventUPP) NewOSACreateAppleEventUPP(OSACreateAppleEventProcPtr userRoutine)
- {
- return (OSACreateAppleEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSACreateAppleEventProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSACreateAppleEventUPP(userRoutine) (OSACreateAppleEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSACreateAppleEventProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppOSACreateAppleEventProcInfo = 0x000FEFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSACreateAppleEventUPP) NewOSACreateAppleEventUPP(OSACreateAppleEventProcPtr userRoutine) { return (OSACreateAppleEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSACreateAppleEventProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSACreateAppleEventUPP(userRoutine) (OSACreateAppleEventUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSACreateAppleEventProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewOSASendUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSASendUPP)
- NewOSASendUPP(OSASendProcPtr userRoutine);
+/*
+ * NewOSASendUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSASendUPP )
+NewOSASendUPP(OSASendProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSASendProcInfo = 0x003FEFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSASendUPP) NewOSASendUPP(OSASendProcPtr userRoutine)
- {
- return (OSASendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSASendProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSASendUPP(userRoutine) (OSASendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSASendProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppOSASendProcInfo = 0x003FEFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSASendUPP) NewOSASendUPP(OSASendProcPtr userRoutine) { return (OSASendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSASendProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSASendUPP(userRoutine) (OSASendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSASendProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeOSACreateAppleEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSACreateAppleEventUPP(OSACreateAppleEventUPP userUPP);
+/*
+ * DisposeOSACreateAppleEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSACreateAppleEventUPP(OSACreateAppleEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSACreateAppleEventUPP(OSACreateAppleEventUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSACreateAppleEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSACreateAppleEventUPP(OSACreateAppleEventUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSACreateAppleEventUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeOSASendUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSASendUPP(OSASendUPP userUPP);
+/*
+ * DisposeOSASendUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSASendUPP(OSASendUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSASendUPP(OSASendUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSASendUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSASendUPP(OSASendUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSASendUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeOSACreateAppleEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSACreateAppleEventUPP(
- AEEventClass theAEEventClass,
- AEEventID theAEEventID,
- const AEAddressDesc * target,
- short returnID,
- long transactionID,
- AppleEvent * result,
- long refCon,
- OSACreateAppleEventUPP userUPP);
+/*
+ * InvokeOSACreateAppleEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSACreateAppleEventUPP(
+ AEEventClass theAEEventClass,
+ AEEventID theAEEventID,
+ const AEAddressDesc * target,
+ short returnID,
+ long transactionID,
+ AppleEvent * result,
+ long refCon,
+ OSACreateAppleEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSACreateAppleEventUPP(AEEventClass theAEEventClass, AEEventID theAEEventID, const AEAddressDesc * target, short returnID, long transactionID, AppleEvent * result, long refCon, OSACreateAppleEventUPP userUPP)
- {
- return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppOSACreateAppleEventProcInfo, theAEEventClass, theAEEventID, target, returnID, transactionID, result, refCon);
- }
-#else
-#define InvokeOSACreateAppleEventUPP(theAEEventClass, theAEEventID, target, returnID, transactionID, result, refCon, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppOSACreateAppleEventProcInfo, (theAEEventClass), (theAEEventID), (target), (returnID), (transactionID), (result), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSACreateAppleEventUPP(AEEventClass theAEEventClass, AEEventID theAEEventID, const AEAddressDesc * target, short returnID, long transactionID, AppleEvent * result, long refCon, OSACreateAppleEventUPP userUPP) { return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppOSACreateAppleEventProcInfo, theAEEventClass, theAEEventID, target, returnID, transactionID, result, refCon); }
+ #else
+ #define InvokeOSACreateAppleEventUPP(theAEEventClass, theAEEventID, target, returnID, transactionID, result, refCon, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppOSACreateAppleEventProcInfo, (theAEEventClass), (theAEEventID), (target), (returnID), (transactionID), (result), (refCon))
+ #endif
#endif
- /*
- * InvokeOSASendUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSASendUPP(
- const AppleEvent * theAppleEvent,
- AppleEvent * reply,
- AESendMode sendMode,
- AESendPriority sendPriority,
- long timeOutInTicks,
- AEIdleUPP idleProc,
- AEFilterUPP filterProc,
- long refCon,
- OSASendUPP userUPP);
+/*
+ * InvokeOSASendUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSASendUPP(
+ const AppleEvent * theAppleEvent,
+ AppleEvent * reply,
+ AESendMode sendMode,
+ AESendPriority sendPriority,
+ long timeOutInTicks,
+ AEIdleUPP idleProc,
+ AEFilterUPP filterProc,
+ long refCon,
+ OSASendUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSASendUPP(const AppleEvent * theAppleEvent, AppleEvent * reply, AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks, AEIdleUPP idleProc, AEFilterUPP filterProc, long refCon, OSASendUPP userUPP)
- {
- return (OSErr)CALL_EIGHT_PARAMETER_UPP(userUPP, uppOSASendProcInfo, theAppleEvent, reply, sendMode, sendPriority, timeOutInTicks, idleProc, filterProc, refCon);
- }
-#else
-#define InvokeOSASendUPP(theAppleEvent, reply, sendMode, sendPriority, timeOutInTicks, idleProc, filterProc, refCon, userUPP) (OSErr)CALL_EIGHT_PARAMETER_UPP((userUPP), uppOSASendProcInfo, (theAppleEvent), (reply), (sendMode), (sendPriority), (timeOutInTicks), (idleProc), (filterProc), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSASendUPP(const AppleEvent * theAppleEvent, AppleEvent * reply, AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks, AEIdleUPP idleProc, AEFilterUPP filterProc, long refCon, OSASendUPP userUPP) { return (OSErr)CALL_EIGHT_PARAMETER_UPP(userUPP, uppOSASendProcInfo, theAppleEvent, reply, sendMode, sendPriority, timeOutInTicks, idleProc, filterProc, refCon); }
+ #else
+ #define InvokeOSASendUPP(theAppleEvent, reply, sendMode, sendPriority, timeOutInTicks, idleProc, filterProc, refCon, userUPP) (OSErr)CALL_EIGHT_PARAMETER_UPP((userUPP), uppOSASendProcInfo, (theAppleEvent), (reply), (sendMode), (sendPriority), (timeOutInTicks), (idleProc), (filterProc), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewOSACreateAppleEventProc(userRoutine) NewOSACreateAppleEventUPP(userRoutine)
-#define NewOSASendProc(userRoutine) NewOSASendUPP(userRoutine)
-#define CallOSACreateAppleEventProc(userRoutine, theAEEventClass, theAEEventID, target, returnID, transactionID, result, refCon) InvokeOSACreateAppleEventUPP(theAEEventClass, theAEEventID, target, returnID, transactionID, result, refCon, userRoutine)
-#define CallOSASendProc(userRoutine, theAppleEvent, reply, sendMode, sendPriority, timeOutInTicks, idleProc, filterProc, refCon) InvokeOSASendUPP(theAppleEvent, reply, sendMode, sendPriority, timeOutInTicks, idleProc, filterProc, refCon, userRoutine)
+ #define NewOSACreateAppleEventProc(userRoutine) NewOSACreateAppleEventUPP(userRoutine)
+ #define NewOSASendProc(userRoutine) NewOSASendUPP(userRoutine)
+ #define CallOSACreateAppleEventProc(userRoutine, theAEEventClass, theAEEventID, target, returnID, transactionID, result, refCon) InvokeOSACreateAppleEventUPP(theAEEventClass, theAEEventID, target, returnID, transactionID, result, refCon, userRoutine)
+ #define CallOSASendProc(userRoutine, theAppleEvent, reply, sendMode, sendPriority, timeOutInTicks, idleProc, filterProc, refCon) InvokeOSASendUPP(theAppleEvent, reply, sendMode, sendPriority, timeOutInTicks, idleProc, filterProc, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /**************************************************************************
- OSA Interface Descriptions
- **************************************************************************
- The OSA Interface is broken down into a required interface, and several
- optional interfaces to support additional functionality. A given scripting
- component may choose to support only some of the optional interfaces in
- addition to the basic interface. The OSA Component Flags may be used to
- query the Component Manager to find a scripting component with a particular
- capability, or determine if a particular scripting component supports a
- particular capability.
- **************************************************************************/
- /* OSA Component Flags: */
- enum
- {
- kOSASupportsCompiling = 0x0002,
- kOSASupportsGetSource = 0x0004,
- kOSASupportsAECoercion = 0x0008,
- kOSASupportsAESending = 0x0010,
- kOSASupportsRecording = 0x0020,
- kOSASupportsConvenience = 0x0040,
- kOSASupportsDialects = 0x0080,
- kOSASupportsEventHandling = 0x0100
- };
-
- /* Component Selectors: */
- enum
- {
- kOSASelectLoad = 0x0001,
- kOSASelectStore = 0x0002,
- kOSASelectExecute = 0x0003,
- kOSASelectDisplay = 0x0004,
- kOSASelectScriptError = 0x0005,
- kOSASelectDispose = 0x0006,
- kOSASelectSetScriptInfo = 0x0007,
- kOSASelectGetScriptInfo = 0x0008,
- kOSASelectSetActiveProc = 0x0009,
- kOSASelectGetActiveProc = 0x000A
- };
-
- /* Compiling: */
- enum
- {
- kOSASelectScriptingComponentName = 0x0102,
- kOSASelectCompile = 0x0103,
- kOSASelectCopyID = 0x0104
- };
-
- /* GetSource: */
- enum
- {
- kOSASelectGetSource = 0x0201
- };
-
- /* AECoercion: */
- enum
- {
- kOSASelectCoerceFromDesc = 0x0301,
- kOSASelectCoerceToDesc = 0x0302
- };
-
- /* AESending: */
- enum
- {
- kOSASelectSetSendProc = 0x0401,
- kOSASelectGetSendProc = 0x0402,
- kOSASelectSetCreateProc = 0x0403,
- kOSASelectGetCreateProc = 0x0404,
- kOSASelectSetDefaultTarget = 0x0405
- };
-
- /* Recording: */
- enum
- {
- kOSASelectStartRecording = 0x0501,
- kOSASelectStopRecording = 0x0502
- };
-
- /* Convenience: */
- enum
- {
- kOSASelectLoadExecute = 0x0601,
- kOSASelectCompileExecute = 0x0602,
- kOSASelectDoScript = 0x0603
- };
-
- /* Dialects: */
- enum
- {
- kOSASelectSetCurrentDialect = 0x0701,
- kOSASelectGetCurrentDialect = 0x0702,
- kOSASelectAvailableDialects = 0x0703,
- kOSASelectGetDialectInfo = 0x0704,
- kOSASelectAvailableDialectCodeList = 0x0705
- };
-
- /* Event Handling: */
- enum
- {
- kOSASelectSetResumeDispatchProc = 0x0801,
- kOSASelectGetResumeDispatchProc = 0x0802,
- kOSASelectExecuteEvent = 0x0803,
- kOSASelectDoEvent = 0x0804,
- kOSASelectMakeContext = 0x0805
- };
-
- /* scripting component specific selectors are added beginning with this value */
- enum
- {
- kOSASelectComponentSpecificStart = 0x1001
- };
-
-
- /* Mode Flags:
-
- Warning: These should not conflict with the AESend mode flags in
- AppleEvents.h, because we may want to use them as OSA mode flags too.
+/**************************************************************************
+ OSA Interface Descriptions
+**************************************************************************
+ The OSA Interface is broken down into a required interface, and several
+ optional interfaces to support additional functionality. A given scripting
+ component may choose to support only some of the optional interfaces in
+ addition to the basic interface. The OSA Component Flags may be used to
+ query the Component Manager to find a scripting component with a particular
+ capability, or determine if a particular scripting component supports a
+ particular capability.
+**************************************************************************/
+/* OSA Component Flags: */
+enum {
+ kOSASupportsCompiling = 0x0002,
+ kOSASupportsGetSource = 0x0004,
+ kOSASupportsAECoercion = 0x0008,
+ kOSASupportsAESending = 0x0010,
+ kOSASupportsRecording = 0x0020,
+ kOSASupportsConvenience = 0x0040,
+ kOSASupportsDialects = 0x0080,
+ kOSASupportsEventHandling = 0x0100
+};
+
+/* Component Selectors: */
+enum {
+ kOSASelectLoad = 0x0001,
+ kOSASelectStore = 0x0002,
+ kOSASelectExecute = 0x0003,
+ kOSASelectDisplay = 0x0004,
+ kOSASelectScriptError = 0x0005,
+ kOSASelectDispose = 0x0006,
+ kOSASelectSetScriptInfo = 0x0007,
+ kOSASelectGetScriptInfo = 0x0008,
+ kOSASelectSetActiveProc = 0x0009,
+ kOSASelectGetActiveProc = 0x000A
+};
+
+/* Compiling: */
+enum {
+ kOSASelectScriptingComponentName = 0x0102,
+ kOSASelectCompile = 0x0103,
+ kOSASelectCopyID = 0x0104
+};
+
+/* GetSource: */
+enum {
+ kOSASelectGetSource = 0x0201
+};
+
+/* AECoercion: */
+enum {
+ kOSASelectCoerceFromDesc = 0x0301,
+ kOSASelectCoerceToDesc = 0x0302
+};
+
+/* AESending: */
+enum {
+ kOSASelectSetSendProc = 0x0401,
+ kOSASelectGetSendProc = 0x0402,
+ kOSASelectSetCreateProc = 0x0403,
+ kOSASelectGetCreateProc = 0x0404,
+ kOSASelectSetDefaultTarget = 0x0405
+};
+
+/* Recording: */
+enum {
+ kOSASelectStartRecording = 0x0501,
+ kOSASelectStopRecording = 0x0502
+};
+
+/* Convenience: */
+enum {
+ kOSASelectLoadExecute = 0x0601,
+ kOSASelectCompileExecute = 0x0602,
+ kOSASelectDoScript = 0x0603
+};
+
+/* Dialects: */
+enum {
+ kOSASelectSetCurrentDialect = 0x0701,
+ kOSASelectGetCurrentDialect = 0x0702,
+ kOSASelectAvailableDialects = 0x0703,
+ kOSASelectGetDialectInfo = 0x0704,
+ kOSASelectAvailableDialectCodeList = 0x0705
+};
+
+/* Event Handling: */
+enum {
+ kOSASelectSetResumeDispatchProc = 0x0801,
+ kOSASelectGetResumeDispatchProc = 0x0802,
+ kOSASelectExecuteEvent = 0x0803,
+ kOSASelectDoEvent = 0x0804,
+ kOSASelectMakeContext = 0x0805
+};
+
+/* scripting component specific selectors are added beginning with this value */
+enum {
+ kOSASelectComponentSpecificStart = 0x1001
+};
+
+
+/* Mode Flags:
+
+ Warning: These should not conflict with the AESend mode flags in
+ AppleEvents.h, because we may want to use them as OSA mode flags too.
+*/
+
+/*
+ This mode flag may be passed to OSALoad, OSAStore or OSACompile to
+ instruct the scripting component to not retain the "source" of an
+ expression. This will cause the OSAGetSource call to return the error
+ errOSASourceNotAvailable if used. However, some scripting components
+ may not retain the source anyway. This is mainly used when either space
+ efficiency is desired, or a script is to be "locked" so that its
+ implementation may not be viewed.
+ */
+enum {
+ kOSAModePreventGetSource = 0x00000001
+};
+
+/*
+ These mode flags may be passed to OSACompile, OSAExecute, OSALoadExecute
+ OSACompileExecute, OSADoScript, OSAExecuteEvent, or OSADoEvent to
+ indicate whether or not the script may interact with the user, switch
+ layer or reconnect if necessary. Any AppleEvents will be sent with the
+ corresponding AESend mode supplied.
+ */
+enum {
+ kOSAModeNeverInteract = kAENeverInteract,
+ kOSAModeCanInteract = kAECanInteract,
+ kOSAModeAlwaysInteract = kAEAlwaysInteract,
+ kOSAModeDontReconnect = kAEDontReconnect
+};
+
+/*
+ This mode flag may be passed to OSACompile, OSAExecute, OSALoadExecute
+ OSACompileExecute, OSADoScript, OSAExecuteEvent, or OSADoEvent to
+ indicate whether or not AppleEvents should be sent with the
+ kAECanSwitchLayer mode flag sent or not. NOTE: This flag is exactly the
+ opposite sense of the AppleEvent flag kAECanSwitchLayer. This is to
+ provide a more convenient default, i.e. not supplying any mode
+ (kOSAModeNull) means to send events with kAECanSwitchLayer. Supplying
+ the kOSAModeCantSwitchLayer mode flag will cause AESend to be called
+ without kAECanSwitchLayer.
+ */
+enum {
+ kOSAModeCantSwitchLayer = 0x00000040
+};
+
+/*
+ This mode flag may be passed to OSACompile, OSAExecute, OSALoadExecute
+ OSACompileExecute, OSADoScript, OSAExecuteEvent, or OSADoEvent to
+ indicate whether or not AppleEvents should be sent with the kAEDontRecord
+ mode flag sent or not. NOTE: This flag is exactly the opposite sense of
+ the AppleEvent flag kAEDontRecord. This is to provide a more convenient
+ default, i.e. not supplying any mode (kOSAModeNull) means to send events
+ with kAEDontRecord. Supplying the kOSAModeDoRecord mode flag will
+ cause AESend to be called without kAEDontRecord.
+ */
+enum {
+ kOSAModeDoRecord = 0x00001000
+};
+
+/*
+ This is a mode flag for OSACompile that indicates that a context should
+ be created as the result of compilation. All handler definitions are
+ inserted into the new context, and variables are initialized by
+ evaluating their initial values in a null context (i.e. they must be
+ constant expressions).
+ */
+enum {
+ kOSAModeCompileIntoContext = 0x00000002
+};
+
+/*
+ This is a mode flag for OSACompile that indicates that the previous
+ script ID (input to OSACompile) should be augmented with any new
+ definitions in the sourceData rather than replaced with a new script.
+ This means that the previous script ID must designate a context.
+ The presence of this flag causes the kOSAModeCompileIntoContext flag
+ to be implicitly used, causing any new definitions to be initialized
+ in a null context.
+ */
+enum {
+ kOSAModeAugmentContext = 0x00000004
+};
+
+/*
+ This mode flag may be passed to OSADisplay or OSADoScript to indicate
+ that output only need be human-readable, not re-compilable by OSACompile.
+ If used, output may be arbitrarily "beautified", e.g. quotes may be left
+ off of string values, long lists may have elipses, etc.
+ */
+enum {
+ kOSAModeDisplayForHumans = 0x00000008
+};
+
+/*
+ This mode flag may be passed to OSAStore in the case where the scriptID
+ is a context. This causes the context to be saved, but not the context's
+ parent context. When the stored context is loaded back in, the parent
+ will be kOSANullScript.
+ */
+enum {
+ kOSAModeDontStoreParent = 0x00010000
+};
+
+/*
+ This mode flag may be passed to OSAExecuteEvent to cause the event to
+ be dispatched to the direct object of the event. The direct object (or
+ subject attribute if the direct object is a non-object specifier) will
+ be resolved, and the resulting script object will be the recipient of
+ the message. The context argument to OSAExecuteEvent will serve as the
+ root of the lookup/resolution process.
+ */
+enum {
+ kOSAModeDispatchToDirectObject = 0x00020000
+};
+
+/*
+ This mode flag may be passed to OSAExecuteEvent to indicate that
+ components do not have to get the data of object specifier arguments.
+ */
+enum {
+ kOSAModeDontGetDataForArguments = 0x00040000
+};
+
+/**************************************************************************
+ OSA Basic Scripting Interface
+**************************************************************************
+ Scripting components must at least support the Basic Scripting interface.
+**************************************************************************/
+/* Loading and Storing Scripts:
+
+ These routines allow scripts to be loaded and stored in their internal
+ (possibly compiled, non-text) representation.
+*/
+
+/* Resource type for scripts */
+enum {
+ kOSAScriptResourceType = kOSAGenericScriptingComponentSubtype
+};
+
+/*
+ Default type given to OSAStore which creates "generic" loadable script
+ data descriptors.
+ */
+enum {
+ typeOSAGenericStorage = kOSAScriptResourceType
+};
+
+/*
+ * OSALoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSALoad(
+ ComponentInstance scriptingComponent,
+ const AEDesc * scriptData,
+ long modeFlags,
+ OSAID * resultingScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectLoad, 12);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSABadStorageType: scriptData not for this scripting component
+ errOSACorruptData: data seems to be corrupt
+ errOSADataFormatObsolete script data format is no longer supported
+ errOSADataFormatTooNew script data format is from a newer version
+
+ ModeFlags:
+ kOSAModePreventGetSource
+ */
+/*
+ * OSAStore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAStore(
+ ComponentInstance scriptingComponent,
+ OSAID scriptID,
+ DescType desiredType,
+ long modeFlags,
+ AEDesc * resultingScriptData) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectStore, 16);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errOSABadStorageType: desiredType not for this scripting component
+
+ ModeFlags:
+ kOSAModePreventGetSource
+ kOSAModeDontStoreParent
+ */
+/* Executing Scripts: */
+/*
+ * OSAExecute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAExecute(
+ ComponentInstance scriptingComponent,
+ OSAID compiledScriptID,
+ OSAID contextID,
+ long modeFlags,
+ OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectExecute, 16);
+ This call runs a script. The contextID represents the environment
+ with which global variables in the script are resolved. The constant
+ kOSANullScript may be used for the contextID if the application wishes
+ to not deal with context directly (a default one is associated with each
+ scripting component instance). The resultingScriptValueID is the
+ result of evaluation, and contains a value which may be displayed using
+ the OSAGetSource call. The modeFlags convey scripting component
+ specific information.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errOSAScriptError: the executing script got an error
+
+ ModeFlags:
+ kOSAModeNeverInteract
+ kOSAModeCanInteract
+ kOSAModeAlwaysInteract
+ kOSAModeCantSwitchLayer
+ kOSAModeDontReconnect
+ kOSAModeDoRecord
+ */
+/* Displaying results: */
+/*
+ * OSADisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSADisplay(
+ ComponentInstance scriptingComponent,
+ OSAID scriptValueID,
+ DescType desiredType,
+ long modeFlags,
+ AEDesc * resultingText) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectDisplay, 16);
+ This call is used to convert results (script value IDs) into displayable
+ text. The desiredType should be at least typeChar, and modeFlags are
+ scripting system specific flags to control the formatting of the
+ resulting text. This call differs from OSAGetSource in that (1) it
+ always produces at least typeChar, (2) is only works on script values,
+ (3) it may display it's output in non-compilable form (e.g. without
+ string quotes, elipses inserted in long and/or circular lists, etc.) and
+ (4) it is required by the basic scripting interface.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errAECoercionFail: desiredType not supported by scripting component
+
+ ModeFlags:
+ kOSAModeDisplayForHumans
+ */
+/* Getting Error Information: */
+/*
+ * OSAScriptError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAScriptError(
+ ComponentInstance scriptingComponent,
+ OSType selector,
+ DescType desiredType,
+ AEDesc * resultingErrorDescription) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectScriptError, 12);
+ Whenever script execution returns errOSAExecutionError, this routine
+ may be used to get information about that error. The selector describes
+ the type of information desired about the error (various selectors are
+ listed below). The desiredType indicates the data type of the result
+ desired for that selector.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSABadSelector: selector not supported by scripting component
+ errAECoercionFail: desiredType not supported by scripting component
+ */
+/* OSAScriptError selectors: */
+/*
+ This selector is used to determine the error number of a script error.
+ These error numbers may be either system error numbers, or error numbers
+ that are scripting component specific.
+ Required desiredTypes:
+ typeShortInteger
*/
+enum {
+ kOSAErrorNumber = keyErrorNumber
+};
- /*
- This mode flag may be passed to OSALoad, OSAStore or OSACompile to
- instruct the scripting component to not retain the "source" of an
- expression. This will cause the OSAGetSource call to return the error
- errOSASourceNotAvailable if used. However, some scripting components
- may not retain the source anyway. This is mainly used when either space
- efficiency is desired, or a script is to be "locked" so that its
- implementation may not be viewed.
- */
- enum
- {
- kOSAModePreventGetSource = 0x00000001
- };
-
- /*
- These mode flags may be passed to OSACompile, OSAExecute, OSALoadExecute
- OSACompileExecute, OSADoScript, OSAExecuteEvent, or OSADoEvent to
- indicate whether or not the script may interact with the user, switch
- layer or reconnect if necessary. Any AppleEvents will be sent with the
- corresponding AESend mode supplied.
- */
- enum
- {
- kOSAModeNeverInteract = kAENeverInteract,
- kOSAModeCanInteract = kAECanInteract,
- kOSAModeAlwaysInteract = kAEAlwaysInteract,
- kOSAModeDontReconnect = kAEDontReconnect
- };
-
- /*
- This mode flag may be passed to OSACompile, OSAExecute, OSALoadExecute
- OSACompileExecute, OSADoScript, OSAExecuteEvent, or OSADoEvent to
- indicate whether or not AppleEvents should be sent with the
- kAECanSwitchLayer mode flag sent or not. NOTE: This flag is exactly the
- opposite sense of the AppleEvent flag kAECanSwitchLayer. This is to
- provide a more convenient default, i.e. not supplying any mode
- (kOSAModeNull) means to send events with kAECanSwitchLayer. Supplying
- the kOSAModeCantSwitchLayer mode flag will cause AESend to be called
- without kAECanSwitchLayer.
- */
- enum
- {
- kOSAModeCantSwitchLayer = 0x00000040
- };
-
- /*
- This mode flag may be passed to OSACompile, OSAExecute, OSALoadExecute
- OSACompileExecute, OSADoScript, OSAExecuteEvent, or OSADoEvent to
- indicate whether or not AppleEvents should be sent with the kAEDontRecord
- mode flag sent or not. NOTE: This flag is exactly the opposite sense of
- the AppleEvent flag kAEDontRecord. This is to provide a more convenient
- default, i.e. not supplying any mode (kOSAModeNull) means to send events
- with kAEDontRecord. Supplying the kOSAModeDoRecord mode flag will
- cause AESend to be called without kAEDontRecord.
- */
- enum
- {
- kOSAModeDoRecord = 0x00001000
- };
-
- /*
- This is a mode flag for OSACompile that indicates that a context should
- be created as the result of compilation. All handler definitions are
- inserted into the new context, and variables are initialized by
- evaluating their initial values in a null context (i.e. they must be
- constant expressions).
- */
- enum
- {
- kOSAModeCompileIntoContext = 0x00000002
- };
-
- /*
- This is a mode flag for OSACompile that indicates that the previous
- script ID (input to OSACompile) should be augmented with any new
- definitions in the sourceData rather than replaced with a new script.
- This means that the previous script ID must designate a context.
- The presence of this flag causes the kOSAModeCompileIntoContext flag
- to be implicitly used, causing any new definitions to be initialized
- in a null context.
- */
- enum
- {
- kOSAModeAugmentContext = 0x00000004
- };
-
- /*
- This mode flag may be passed to OSADisplay or OSADoScript to indicate
- that output only need be human-readable, not re-compilable by OSACompile.
- If used, output may be arbitrarily "beautified", e.g. quotes may be left
- off of string values, long lists may have elipses, etc.
- */
- enum
- {
- kOSAModeDisplayForHumans = 0x00000008
- };
-
- /*
- This mode flag may be passed to OSAStore in the case where the scriptID
- is a context. This causes the context to be saved, but not the context's
- parent context. When the stored context is loaded back in, the parent
- will be kOSANullScript.
- */
- enum
- {
- kOSAModeDontStoreParent = 0x00010000
- };
-
- /*
- This mode flag may be passed to OSAExecuteEvent to cause the event to
- be dispatched to the direct object of the event. The direct object (or
- subject attribute if the direct object is a non-object specifier) will
- be resolved, and the resulting script object will be the recipient of
- the message. The context argument to OSAExecuteEvent will serve as the
- root of the lookup/resolution process.
- */
- enum
- {
- kOSAModeDispatchToDirectObject = 0x00020000
- };
-
- /*
- This mode flag may be passed to OSAExecuteEvent to indicate that
- components do not have to get the data of object specifier arguments.
- */
- enum
- {
- kOSAModeDontGetDataForArguments = 0x00040000
- };
-
- /**************************************************************************
- OSA Basic Scripting Interface
- **************************************************************************
- Scripting components must at least support the Basic Scripting interface.
- **************************************************************************/
- /* Loading and Storing Scripts:
-
- These routines allow scripts to be loaded and stored in their internal
- (possibly compiled, non-text) representation.
+/*
+ This selector is used to determine the full error message associated
+ with the error number. It should include the name of the application
+ which caused the error, as well as the specific error that occurred.
+ This selector is sufficient for simple error reporting (but see
+ kOSAErrorBriefMessage, below).
+ Required desiredTypes:
+ typeChar error message string
*/
+enum {
+ kOSAErrorMessage = keyErrorString
+};
- /* Resource type for scripts */
- enum
- {
- kOSAScriptResourceType = kOSAGenericScriptingComponentSubtype
- };
-
- /*
- Default type given to OSAStore which creates "generic" loadable script
- data descriptors.
- */
- enum
- {
- typeOSAGenericStorage = kOSAScriptResourceType
- };
-
- /*
- * OSALoad()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSALoad(
- ComponentInstance scriptingComponent,
- const AEDesc * scriptData,
- long modeFlags,
- OSAID * resultingScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectLoad, 12);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSABadStorageType: scriptData not for this scripting component
- errOSACorruptData: data seems to be corrupt
- errOSADataFormatObsolete script data format is no longer supported
- errOSADataFormatTooNew script data format is from a newer version
-
- ModeFlags:
- kOSAModePreventGetSource
- */
- /*
- * OSAStore()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAStore(
- ComponentInstance scriptingComponent,
- OSAID scriptID,
- DescType desiredType,
- long modeFlags,
- AEDesc * resultingScriptData) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectStore, 16);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errOSABadStorageType: desiredType not for this scripting component
-
- ModeFlags:
- kOSAModePreventGetSource
- kOSAModeDontStoreParent
- */
- /* Executing Scripts: */
- /*
- * OSAExecute()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAExecute(
- ComponentInstance scriptingComponent,
- OSAID compiledScriptID,
- OSAID contextID,
- long modeFlags,
- OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectExecute, 16);
- This call runs a script. The contextID represents the environment
- with which global variables in the script are resolved. The constant
- kOSANullScript may be used for the contextID if the application wishes
- to not deal with context directly (a default one is associated with each
- scripting component instance). The resultingScriptValueID is the
- result of evaluation, and contains a value which may be displayed using
- the OSAGetSource call. The modeFlags convey scripting component
- specific information.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errOSAScriptError: the executing script got an error
-
- ModeFlags:
- kOSAModeNeverInteract
- kOSAModeCanInteract
- kOSAModeAlwaysInteract
- kOSAModeCantSwitchLayer
- kOSAModeDontReconnect
- kOSAModeDoRecord
- */
- /* Displaying results: */
- /*
- * OSADisplay()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSADisplay(
- ComponentInstance scriptingComponent,
- OSAID scriptValueID,
- DescType desiredType,
- long modeFlags,
- AEDesc * resultingText) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectDisplay, 16);
- This call is used to convert results (script value IDs) into displayable
- text. The desiredType should be at least typeChar, and modeFlags are
- scripting system specific flags to control the formatting of the
- resulting text. This call differs from OSAGetSource in that (1) it
- always produces at least typeChar, (2) is only works on script values,
- (3) it may display it's output in non-compilable form (e.g. without
- string quotes, elipses inserted in long and/or circular lists, etc.) and
- (4) it is required by the basic scripting interface.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errAECoercionFail: desiredType not supported by scripting component
-
- ModeFlags:
- kOSAModeDisplayForHumans
- */
- /* Getting Error Information: */
- /*
- * OSAScriptError()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAScriptError(
- ComponentInstance scriptingComponent,
- OSType selector,
- DescType desiredType,
- AEDesc * resultingErrorDescription) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectScriptError, 12);
- Whenever script execution returns errOSAExecutionError, this routine
- may be used to get information about that error. The selector describes
- the type of information desired about the error (various selectors are
- listed below). The desiredType indicates the data type of the result
- desired for that selector.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSABadSelector: selector not supported by scripting component
- errAECoercionFail: desiredType not supported by scripting component
- */
- /* OSAScriptError selectors: */
- /*
- This selector is used to determine the error number of a script error.
- These error numbers may be either system error numbers, or error numbers
- that are scripting component specific.
- Required desiredTypes:
- typeShortInteger
- */
- enum
- {
- kOSAErrorNumber = keyErrorNumber
- };
-
- /*
- This selector is used to determine the full error message associated
- with the error number. It should include the name of the application
- which caused the error, as well as the specific error that occurred.
- This selector is sufficient for simple error reporting (but see
- kOSAErrorBriefMessage, below).
- Required desiredTypes:
- typeChar error message string
- */
- enum
- {
- kOSAErrorMessage = keyErrorString
- };
-
- /*
- This selector is used to determine a brief error message associated with
- the error number. This message and should not mention the name of the
- application which caused the error, any partial results or offending
- object (see kOSAErrorApp, kOSAErrorPartialResult and
- kOSAErrorOffendingObject, below).
- Required desiredTypes:
- typeChar brief error message string
- */
- /* 0x65727262 */
- enum
- {
- kOSAErrorBriefMessage = FOUR_CHAR_CODE('errb')
- };
-
- /*
- This selector is used to determine which application actually got the
- error (if it was the result of an AESend), or the current application
- if ....
- Required desiredTypes:
- typeProcessSerialNumber PSN of the errant application
- typeChar name of the errant application
- */
- /* 0x65726170 */
- enum
- {
- kOSAErrorApp = FOUR_CHAR_CODE('erap')
- };
-
- /*
- This selector is used to determine any partial result returned by an
- operation. If an AESend call failed, but a partial result was returned,
- then the partial result may be returned as an AEDesc.
- Required desiredTypes:
- typeBest AEDesc of any partial result
- */
- /* 0x70746c72 */
- enum
- {
- kOSAErrorPartialResult = FOUR_CHAR_CODE('ptlr')
- };
-
- /*
- This selector is used to determine any object which caused the error
- that may have been indicated by an application. The result is an
- AEDesc.
- Required desiredTypes:
- typeBest AEDesc of any offending object
- */
- /* 0x65726f62 */
- enum
- {
- kOSAErrorOffendingObject = FOUR_CHAR_CODE('erob')
- };
-
- /*
- This selector is used to determine the type expected by a coercion
- operation if a type error occurred.
- */
- /* 0x65727274 */
- enum
- {
- kOSAErrorExpectedType = FOUR_CHAR_CODE('errt')
- };
-
- /*
- This selector is used to determine the source text range (start and
- end positions) of where the error occurred.
- Required desiredTypes:
- typeOSAErrorRange
- */
- /* 0x65726e67 */
- enum
- {
- kOSAErrorRange = FOUR_CHAR_CODE('erng')
- };
-
- /*
- An AERecord type containing keyOSASourceStart and keyOSASourceEnd fields
- of type short.
- */
- /* 0x65726e67 */
- enum
- {
- typeOSAErrorRange = FOUR_CHAR_CODE('erng')
- };
-
- /* Field of a typeOSAErrorRange record of typeShortInteger */
- /* 0x73726373 */
- enum
- {
- keyOSASourceStart = FOUR_CHAR_CODE('srcs')
- };
-
- /* Field of a typeOSAErrorRange record of typeShortInteger */
- /* 0x73726365 */
- enum
- {
- keyOSASourceEnd = FOUR_CHAR_CODE('srce')
- };
-
- /* Disposing Script IDs: */
- /*
- * OSADispose()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSADispose(
- ComponentInstance scriptingComponent,
- OSAID scriptID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectDispose, 4);
- Disposes a script or context.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- */
- /* Getting and Setting Script Information: */
- /*
- * OSASetScriptInfo()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetScriptInfo(
- ComponentInstance scriptingComponent,
- OSAID scriptID,
- OSType selector,
- long value) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectSetScriptInfo, 12);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errOSABadSelector: selector not supported by scripting component
- or selector not for this scriptID
- */
- /*
- * OSAGetScriptInfo()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetScriptInfo(
- ComponentInstance scriptingComponent,
- OSAID scriptID,
- OSType selector,
- long * result) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectGetScriptInfo, 12);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errOSABadSelector: selector not supported by scripting component
- or selector not for this scriptID
- */
- /* Manipulating the ActiveProc:
-
- Scripting systems will supply default values for these procedures if they
- are not set by the client:
+/*
+ This selector is used to determine a brief error message associated with
+ the error number. This message and should not mention the name of the
+ application which caused the error, any partial results or offending
+ object (see kOSAErrorApp, kOSAErrorPartialResult and
+ kOSAErrorOffendingObject, below).
+ Required desiredTypes:
+ typeChar brief error message string
+ */
+/* 0x65727262 */
+enum {
+ kOSAErrorBriefMessage = FOUR_CHAR_CODE('errb')
+};
+
+/*
+ This selector is used to determine which application actually got the
+ error (if it was the result of an AESend), or the current application
+ if ....
+ Required desiredTypes:
+ typeProcessSerialNumber PSN of the errant application
+ typeChar name of the errant application
+ */
+/* 0x65726170 */
+enum {
+ kOSAErrorApp = FOUR_CHAR_CODE('erap')
+};
+
+/*
+ This selector is used to determine any partial result returned by an
+ operation. If an AESend call failed, but a partial result was returned,
+ then the partial result may be returned as an AEDesc.
+ Required desiredTypes:
+ typeBest AEDesc of any partial result
+ */
+/* 0x70746c72 */
+enum {
+ kOSAErrorPartialResult = FOUR_CHAR_CODE('ptlr')
+};
+
+/*
+ This selector is used to determine any object which caused the error
+ that may have been indicated by an application. The result is an
+ AEDesc.
+ Required desiredTypes:
+ typeBest AEDesc of any offending object
*/
- typedef CALLBACK_API(OSErr , OSAActiveProcPtr)(long refCon);
- typedef STACK_UPP_TYPE(OSAActiveProcPtr) OSAActiveUPP;
- /*
- * NewOSAActiveUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSAActiveUPP)
- NewOSAActiveUPP(OSAActiveProcPtr userRoutine);
+/* 0x65726f62 */
+enum {
+ kOSAErrorOffendingObject = FOUR_CHAR_CODE('erob')
+};
+
+/*
+ This selector is used to determine the type expected by a coercion
+ operation if a type error occurred.
+ */
+/* 0x65727274 */
+enum {
+ kOSAErrorExpectedType = FOUR_CHAR_CODE('errt')
+};
+
+/*
+ This selector is used to determine the source text range (start and
+ end positions) of where the error occurred.
+ Required desiredTypes:
+ typeOSAErrorRange
+ */
+/* 0x65726e67 */
+enum {
+ kOSAErrorRange = FOUR_CHAR_CODE('erng')
+};
+
+/*
+ An AERecord type containing keyOSASourceStart and keyOSASourceEnd fields
+ of type short.
+ */
+/* 0x65726e67 */
+enum {
+ typeOSAErrorRange = FOUR_CHAR_CODE('erng')
+};
+
+/* Field of a typeOSAErrorRange record of typeShortInteger */
+/* 0x73726373 */
+enum {
+ keyOSASourceStart = FOUR_CHAR_CODE('srcs')
+};
+
+/* Field of a typeOSAErrorRange record of typeShortInteger */
+/* 0x73726365 */
+enum {
+ keyOSASourceEnd = FOUR_CHAR_CODE('srce')
+};
+
+/* Disposing Script IDs: */
+/*
+ * OSADispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSADispose(
+ ComponentInstance scriptingComponent,
+ OSAID scriptID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectDispose, 4);
+ Disposes a script or context.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ */
+/* Getting and Setting Script Information: */
+/*
+ * OSASetScriptInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetScriptInfo(
+ ComponentInstance scriptingComponent,
+ OSAID scriptID,
+ OSType selector,
+ long value) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectSetScriptInfo, 12);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errOSABadSelector: selector not supported by scripting component
+ or selector not for this scriptID
+ */
+/*
+ * OSAGetScriptInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetScriptInfo(
+ ComponentInstance scriptingComponent,
+ OSAID scriptID,
+ OSType selector,
+ long * result) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectGetScriptInfo, 12);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errOSABadSelector: selector not supported by scripting component
+ or selector not for this scriptID
+ */
+/* Manipulating the ActiveProc:
+
+ Scripting systems will supply default values for these procedures if they
+ are not set by the client:
+*/
+typedef CALLBACK_API( OSErr , OSAActiveProcPtr )(long refCon);
+typedef STACK_UPP_TYPE(OSAActiveProcPtr) OSAActiveUPP;
+/*
+ * NewOSAActiveUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSAActiveUPP )
+NewOSAActiveUPP(OSAActiveProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOSAActiveProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OSAActiveUPP) NewOSAActiveUPP(OSAActiveProcPtr userRoutine)
- {
- return (OSAActiveUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSAActiveProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewOSAActiveUPP(userRoutine) (OSAActiveUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSAActiveProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppOSAActiveProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSAActiveUPP) NewOSAActiveUPP(OSAActiveProcPtr userRoutine) { return (OSAActiveUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSAActiveProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewOSAActiveUPP(userRoutine) (OSAActiveUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSAActiveProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeOSAActiveUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOSAActiveUPP(OSAActiveUPP userUPP);
+/*
+ * DisposeOSAActiveUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOSAActiveUPP(OSAActiveUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOSAActiveUPP(OSAActiveUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeOSAActiveUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOSAActiveUPP(OSAActiveUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeOSAActiveUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeOSAActiveUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeOSAActiveUPP(
- long refCon,
- OSAActiveUPP userUPP);
+/*
+ * InvokeOSAActiveUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeOSAActiveUPP(
+ long refCon,
+ OSAActiveUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeOSAActiveUPP(long refCon, OSAActiveUPP userUPP)
- {
- return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOSAActiveProcInfo, refCon);
- }
-#else
-#define InvokeOSAActiveUPP(refCon, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOSAActiveProcInfo, (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeOSAActiveUPP(long refCon, OSAActiveUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOSAActiveProcInfo, refCon); }
+ #else
+ #define InvokeOSAActiveUPP(refCon, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOSAActiveProcInfo, (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewOSAActiveProc(userRoutine) NewOSAActiveUPP(userRoutine)
-#define CallOSAActiveProc(userRoutine, refCon) InvokeOSAActiveUPP(refCon, userRoutine)
+ #define NewOSAActiveProc(userRoutine) NewOSAActiveUPP(userRoutine)
+ #define CallOSAActiveProc(userRoutine, refCon) InvokeOSAActiveUPP(refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OSASetActiveProc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetActiveProc(
- ComponentInstance scriptingComponent,
- OSAActiveUPP activeProc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectSetActiveProc, 8);
- If activeProc is nil, the default activeProc is used.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSAGetActiveProc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetActiveProc(
- ComponentInstance scriptingComponent,
- OSAActiveUPP * activeProc,
- long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectGetActiveProc, 8);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /**************************************************************************
- OSA Optional Compiling Interface
- **************************************************************************
- Scripting components that support the Compiling interface have the
- kOSASupportsCompiling bit set in it's ComponentDescription.
- **************************************************************************/
- /*
- * OSAScriptingComponentName()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAScriptingComponentName(
- ComponentInstance scriptingComponent,
- AEDesc * resultingScriptingComponentName) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectScriptingComponentName, 4);
- Given a scripting component, this routine returns the name of that
- scripting component in a type that is coercable to text (typeChar).
- The generic scripting component returns the name of the default
- scripting component. This name should be sufficient to convey to the
- user the kind of script (syntax) he is expected to write.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSACompile()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSACompile(
- ComponentInstance scriptingComponent,
- const AEDesc * sourceData,
- long modeFlags,
- OSAID * previousAndResultingScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectCompile, 12);
- Coerces input desc (possibly text) into a script's internal format.
- Once compiled, the script is ready to run. The modeFlags convey
- scripting component specific information. The previous script ID
- (result parameter) is made to refer to the newly compiled script,
- unless it was originally kOSANullScript. In this case a new script
- ID is created and used.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errAECoercionFail: sourceData is not compilable
- errOSAScriptError: sourceData was a bad script (syntax error)
- errOSAInvalidID: previousAndResultingCompiledScriptID was not
- valid on input
-
- ModeFlags:
- kOSAModePreventGetSource
- kOSAModeCompileIntoContext
- kOSAModeAugmentContext
- kOSAModeNeverInteract
- kOSAModeCanInteract
- kOSAModeAlwaysInteract
- kOSAModeCantSwitchLayer
- kOSAModeDontReconnect
- kOSAModeDoRecord
- */
- /*
- * OSACopyID()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSACopyID(
- ComponentInstance scriptingComponent,
- OSAID fromID,
- OSAID * toID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectCopyID, 8);
- If toID is a reference to kOSANullScript then it is updated to have a
- new scriptID value. This call can be used to perform undo or revert
- operations on scripts.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- */
- /**************************************************************************
- OSA Optional GetSource Interface
- **************************************************************************
- Scripting components that support the GetSource interface have the
- kOSASupportsGetSource bit set in their ComponentDescription.
- **************************************************************************/
- /*
- * OSAGetSource()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetSource(
- ComponentInstance scriptingComponent,
- OSAID scriptID,
- DescType desiredType,
- AEDesc * resultingSourceData) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0201, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectGetSource, 12);
- This routine causes a compiled script to be output in a form (possibly
- text) such that it is suitable to be passed back to OSACompile.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errOSASourceNotAvailable can't get source for this scriptID
- */
- /**************************************************************************
- OSA Optional AECoercion Interface
- **************************************************************************
- Scripting components that support the AECoercion interface have the
- kOSASupportsAECoercion bit set in their ComponentDescription.
- **************************************************************************/
- /*
- * OSACoerceFromDesc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSACoerceFromDesc(
- ComponentInstance scriptingComponent,
- const AEDesc * scriptData,
- long modeFlags,
- OSAID * resultingScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0301, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectCoerceFromDesc, 12);
- This routine causes script data to be coerced into a script value.
- If the scriptData is an AppleEvent, then the resultingScriptID is a
- compiled script ID (mode flags for OSACompile may be used in this case).
- Other scriptData descriptors create script value IDs.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
-
- ModeFlags:
- kOSAModePreventGetSource
- kOSAModeCompileIntoContext
- kOSAModeNeverInteract
- kOSAModeCanInteract
- kOSAModeAlwaysInteract
- kOSAModeCantSwitchLayer
- kOSAModeDontReconnect
- kOSAModeDoRecord
- */
- /*
- * OSACoerceToDesc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSACoerceToDesc(
- ComponentInstance scriptingComponent,
- OSAID scriptID,
- DescType desiredType,
- long modeFlags,
- AEDesc * result) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0302, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectCoerceToDesc, 16);
- This routine causes a script value to be coerced into any desired form.
- If the scriptID denotes a compiled script, then it may be coerced to
- typeAppleEvent.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- */
- /**************************************************************************
- OSA Optional AESending Interface
- **************************************************************************
- Scripting components that support the AESending interface have the
- kOSASupportsAESending bit set in their ComponentDescription.
- **************************************************************************/
- /*
- Scripting systems will supply default values for these procedures if they
- are not set by the client:
+/*
+ * OSASetActiveProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetActiveProc(
+ ComponentInstance scriptingComponent,
+ OSAActiveUPP activeProc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectSetActiveProc, 8);
+ If activeProc is nil, the default activeProc is used.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSAGetActiveProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetActiveProc(
+ ComponentInstance scriptingComponent,
+ OSAActiveUPP * activeProc,
+ long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectGetActiveProc, 8);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/**************************************************************************
+ OSA Optional Compiling Interface
+**************************************************************************
+ Scripting components that support the Compiling interface have the
+ kOSASupportsCompiling bit set in it's ComponentDescription.
+**************************************************************************/
+/*
+ * OSAScriptingComponentName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAScriptingComponentName(
+ ComponentInstance scriptingComponent,
+ AEDesc * resultingScriptingComponentName) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectScriptingComponentName, 4);
+ Given a scripting component, this routine returns the name of that
+ scripting component in a type that is coercable to text (typeChar).
+ The generic scripting component returns the name of the default
+ scripting component. This name should be sufficient to convey to the
+ user the kind of script (syntax) he is expected to write.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSACompile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSACompile(
+ ComponentInstance scriptingComponent,
+ const AEDesc * sourceData,
+ long modeFlags,
+ OSAID * previousAndResultingScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectCompile, 12);
+ Coerces input desc (possibly text) into a script's internal format.
+ Once compiled, the script is ready to run. The modeFlags convey
+ scripting component specific information. The previous script ID
+ (result parameter) is made to refer to the newly compiled script,
+ unless it was originally kOSANullScript. In this case a new script
+ ID is created and used.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errAECoercionFail: sourceData is not compilable
+ errOSAScriptError: sourceData was a bad script (syntax error)
+ errOSAInvalidID: previousAndResultingCompiledScriptID was not
+ valid on input
+
+ ModeFlags:
+ kOSAModePreventGetSource
+ kOSAModeCompileIntoContext
+ kOSAModeAugmentContext
+ kOSAModeNeverInteract
+ kOSAModeCanInteract
+ kOSAModeAlwaysInteract
+ kOSAModeCantSwitchLayer
+ kOSAModeDontReconnect
+ kOSAModeDoRecord
+ */
+/*
+ * OSACopyID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSACopyID(
+ ComponentInstance scriptingComponent,
+ OSAID fromID,
+ OSAID * toID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectCopyID, 8);
+ If toID is a reference to kOSANullScript then it is updated to have a
+ new scriptID value. This call can be used to perform undo or revert
+ operations on scripts.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ */
+/**************************************************************************
+ OSA Optional GetSource Interface
+**************************************************************************
+ Scripting components that support the GetSource interface have the
+ kOSASupportsGetSource bit set in their ComponentDescription.
+**************************************************************************/
+/*
+ * OSAGetSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetSource(
+ ComponentInstance scriptingComponent,
+ OSAID scriptID,
+ DescType desiredType,
+ AEDesc * resultingSourceData) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0201, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectGetSource, 12);
+ This routine causes a compiled script to be output in a form (possibly
+ text) such that it is suitable to be passed back to OSACompile.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errOSASourceNotAvailable can't get source for this scriptID
*/
- /*
- * OSASetSendProc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetSendProc(
- ComponentInstance scriptingComponent,
- OSASendUPP sendProc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0401, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectSetSendProc, 8);
- If sendProc is nil, the default sendProc is used.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSAGetSendProc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetSendProc(
- ComponentInstance scriptingComponent,
- OSASendUPP * sendProc,
- long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0402, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectGetSendProc, 8);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSASetCreateProc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetCreateProc(
- ComponentInstance scriptingComponent,
- OSACreateAppleEventUPP createProc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0403, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectSetCreateProc, 8);
- If createProc is nil, the default createProc is used.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSAGetCreateProc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetCreateProc(
- ComponentInstance scriptingComponent,
- OSACreateAppleEventUPP * createProc,
- long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0404, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectGetCreateProc, 8);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSASetDefaultTarget()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetDefaultTarget(
- ComponentInstance scriptingComponent,
- const AEAddressDesc * target) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0405, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectSetDefaultTarget, 4);
- This routine sets the default target application for AE sending.
- It also establishes the default target from which terminologies come.
- It is effectively like having an AppleScript "tell" statement around
- the entire program. If this routine is not called, or if the target
- is a null AEDesc, then the current application is the default target.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /**************************************************************************
- OSA Optional Recording Interface
- **************************************************************************
- Scripting components that support the Recording interface have the
- kOSASupportsRecording bit set in their ComponentDescription.
- **************************************************************************/
- /*
- * OSAStartRecording()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAStartRecording(
- ComponentInstance scriptingComponent,
- OSAID * compiledScriptToModifyID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0501, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectStartRecording, 4);
- Starts recording. If compiledScriptToModifyID is kOSANullScript, a
- new script ID is created and returned. If the current application has
- a handler for the kOSARecordedText event, then kOSARecordedText events
- are sent to the application containing the text of each AppleEvent
- recorded.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errOSARecordingIsAlreadyOn
- */
- /*
- * OSAStopRecording()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAStopRecording(
- ComponentInstance scriptingComponent,
- OSAID compiledScriptID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0502, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectStopRecording, 4);
- If compiledScriptID is not being recorded into or recording is not
- currently on, no error is returned.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- */
- /**************************************************************************
- OSA Optional Convenience Interface
- **************************************************************************
- Scripting components that support the Convenience interface have the
- kOSASupportsConvenience bit set in their ComponentDescription.
- **************************************************************************/
- /*
- * OSALoadExecute()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSALoadExecute(
- ComponentInstance scriptingComponent,
- const AEDesc * scriptData,
- OSAID contextID,
- long modeFlags,
- OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0601, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectLoadExecute, 16);
- This routine is effectively equivalent to calling OSALoad followed by
- OSAExecute. After execution, the compiled source is disposed. Only the
- resulting value ID is retained.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSABadStorageType: scriptData not for this scripting component
- errOSACorruptData: data seems to be corrupt
- errOSADataFormatObsolete script data format is no longer supported
- errOSADataFormatTooNew script data format is from a newer version
- errOSAInvalidID
- errOSAScriptError: the executing script got an error
-
- ModeFlags:
- kOSAModeNeverInteract
- kOSAModeCanInteract
- kOSAModeAlwaysInteract
- kOSAModeCantSwitchLayer
- kOSAModeDontReconnect
- kOSAModeDoRecord
- */
- /*
- * OSACompileExecute()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSACompileExecute(
- ComponentInstance scriptingComponent,
- const AEDesc * sourceData,
- OSAID contextID,
- long modeFlags,
- OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0602, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectCompileExecute, 16);
- This routine is effectively equivalent to calling OSACompile followed by
- OSAExecute. After execution, the compiled source is disposed. Only the
- resulting value ID is retained.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errAECoercionFail: sourceData is not compilable
- errOSAScriptError: sourceData was a bad script (syntax error)
- errOSAInvalidID: previousAndResultingCompiledScriptID was not
- valid on input
- errOSAScriptError: the executing script got an error
-
- ModeFlags:
- kOSAModeNeverInteract
- kOSAModeCanInteract
- kOSAModeAlwaysInteract
- kOSAModeCantSwitchLayer
- kOSAModeDontReconnect
- kOSAModeDoRecord
- */
- /*
- * OSADoScript()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSADoScript(
- ComponentInstance scriptingComponent,
- const AEDesc * sourceData,
- OSAID contextID,
- DescType desiredType,
- long modeFlags,
- AEDesc * resultingText) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0603, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectDoScript, 20);
- This routine is effectively equivalent to calling OSACompile followed by
- OSAExecute and then OSADisplay. After execution, the compiled source
- and the resulting value are is disposed. Only the resultingText
- descriptor is retained. If a script error occur during processing, the
- resultingText gets the error message of the error, and errOSAScriptError
- is returned. OSAScriptError may still be used to extract more
- information about the particular error.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errAECoercionFail: sourceData is not compilable or
- desiredType not supported by scripting component
- errOSAScriptError: sourceData was a bad script (syntax error)
- errOSAInvalidID: previousAndResultingCompiledScriptID was not
- valid on input
- errOSAScriptError: the executing script got an error
-
- ModeFlags:
- kOSAModeNeverInteract
- kOSAModeCanInteract
- kOSAModeAlwaysInteract
- kOSAModeCantSwitchLayer
- kOSAModeDontReconnect
- kOSAModeDoRecord
- kOSAModeDisplayForHumans
- */
- /**************************************************************************
- OSA Optional Dialects Interface
- **************************************************************************
- Scripting components that support the Dialects interface have the
- kOSASupportsDialects bit set in their ComponentDescription.
- **************************************************************************/
- /*
- These calls allows an scripting component that supports different dialects
- to dynamically switch between those dialects. Although this interface is
- specified, the particular dialect codes are scripting component dependent.
+/**************************************************************************
+ OSA Optional AECoercion Interface
+**************************************************************************
+ Scripting components that support the AECoercion interface have the
+ kOSASupportsAECoercion bit set in their ComponentDescription.
+**************************************************************************/
+/*
+ * OSACoerceFromDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSACoerceFromDesc(
+ ComponentInstance scriptingComponent,
+ const AEDesc * scriptData,
+ long modeFlags,
+ OSAID * resultingScriptID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0301, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectCoerceFromDesc, 12);
+ This routine causes script data to be coerced into a script value.
+ If the scriptData is an AppleEvent, then the resultingScriptID is a
+ compiled script ID (mode flags for OSACompile may be used in this case).
+ Other scriptData descriptors create script value IDs.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+
+ ModeFlags:
+ kOSAModePreventGetSource
+ kOSAModeCompileIntoContext
+ kOSAModeNeverInteract
+ kOSAModeCanInteract
+ kOSAModeAlwaysInteract
+ kOSAModeCantSwitchLayer
+ kOSAModeDontReconnect
+ kOSAModeDoRecord
+ */
+/*
+ * OSACoerceToDesc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSACoerceToDesc(
+ ComponentInstance scriptingComponent,
+ OSAID scriptID,
+ DescType desiredType,
+ long modeFlags,
+ AEDesc * result) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0302, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectCoerceToDesc, 16);
+ This routine causes a script value to be coerced into any desired form.
+ If the scriptID denotes a compiled script, then it may be coerced to
+ typeAppleEvent.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ */
+/**************************************************************************
+ OSA Optional AESending Interface
+**************************************************************************
+ Scripting components that support the AESending interface have the
+ kOSASupportsAESending bit set in their ComponentDescription.
+**************************************************************************/
+/*
+ Scripting systems will supply default values for these procedures if they
+ are not set by the client:
+*/
+/*
+ * OSASetSendProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetSendProc(
+ ComponentInstance scriptingComponent,
+ OSASendUPP sendProc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0401, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectSetSendProc, 8);
+ If sendProc is nil, the default sendProc is used.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSAGetSendProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetSendProc(
+ ComponentInstance scriptingComponent,
+ OSASendUPP * sendProc,
+ long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0402, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectGetSendProc, 8);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSASetCreateProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetCreateProc(
+ ComponentInstance scriptingComponent,
+ OSACreateAppleEventUPP createProc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0403, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectSetCreateProc, 8);
+ If createProc is nil, the default createProc is used.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSAGetCreateProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetCreateProc(
+ ComponentInstance scriptingComponent,
+ OSACreateAppleEventUPP * createProc,
+ long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0404, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectGetCreateProc, 8);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSASetDefaultTarget()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetDefaultTarget(
+ ComponentInstance scriptingComponent,
+ const AEAddressDesc * target) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0405, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectSetDefaultTarget, 4);
+ This routine sets the default target application for AE sending.
+ It also establishes the default target from which terminologies come.
+ It is effectively like having an AppleScript "tell" statement around
+ the entire program. If this routine is not called, or if the target
+ is a null AEDesc, then the current application is the default target.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/**************************************************************************
+ OSA Optional Recording Interface
+**************************************************************************
+ Scripting components that support the Recording interface have the
+ kOSASupportsRecording bit set in their ComponentDescription.
+**************************************************************************/
+/*
+ * OSAStartRecording()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAStartRecording(
+ ComponentInstance scriptingComponent,
+ OSAID * compiledScriptToModifyID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0501, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectStartRecording, 4);
+ Starts recording. If compiledScriptToModifyID is kOSANullScript, a
+ new script ID is created and returned. If the current application has
+ a handler for the kOSARecordedText event, then kOSARecordedText events
+ are sent to the application containing the text of each AppleEvent
+ recorded.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errOSARecordingIsAlreadyOn
+ */
+/*
+ * OSAStopRecording()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAStopRecording(
+ ComponentInstance scriptingComponent,
+ OSAID compiledScriptID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0502, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectStopRecording, 4);
+ If compiledScriptID is not being recorded into or recording is not
+ currently on, no error is returned.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ */
+/**************************************************************************
+ OSA Optional Convenience Interface
+**************************************************************************
+ Scripting components that support the Convenience interface have the
+ kOSASupportsConvenience bit set in their ComponentDescription.
+**************************************************************************/
+/*
+ * OSALoadExecute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSALoadExecute(
+ ComponentInstance scriptingComponent,
+ const AEDesc * scriptData,
+ OSAID contextID,
+ long modeFlags,
+ OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0601, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectLoadExecute, 16);
+ This routine is effectively equivalent to calling OSALoad followed by
+ OSAExecute. After execution, the compiled source is disposed. Only the
+ resulting value ID is retained.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSABadStorageType: scriptData not for this scripting component
+ errOSACorruptData: data seems to be corrupt
+ errOSADataFormatObsolete script data format is no longer supported
+ errOSADataFormatTooNew script data format is from a newer version
+ errOSAInvalidID
+ errOSAScriptError: the executing script got an error
+
+ ModeFlags:
+ kOSAModeNeverInteract
+ kOSAModeCanInteract
+ kOSAModeAlwaysInteract
+ kOSAModeCantSwitchLayer
+ kOSAModeDontReconnect
+ kOSAModeDoRecord
+ */
+/*
+ * OSACompileExecute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSACompileExecute(
+ ComponentInstance scriptingComponent,
+ const AEDesc * sourceData,
+ OSAID contextID,
+ long modeFlags,
+ OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0602, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectCompileExecute, 16);
+ This routine is effectively equivalent to calling OSACompile followed by
+ OSAExecute. After execution, the compiled source is disposed. Only the
+ resulting value ID is retained.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errAECoercionFail: sourceData is not compilable
+ errOSAScriptError: sourceData was a bad script (syntax error)
+ errOSAInvalidID: previousAndResultingCompiledScriptID was not
+ valid on input
+ errOSAScriptError: the executing script got an error
+
+ ModeFlags:
+ kOSAModeNeverInteract
+ kOSAModeCanInteract
+ kOSAModeAlwaysInteract
+ kOSAModeCantSwitchLayer
+ kOSAModeDontReconnect
+ kOSAModeDoRecord
+ */
+/*
+ * OSADoScript()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSADoScript(
+ ComponentInstance scriptingComponent,
+ const AEDesc * sourceData,
+ OSAID contextID,
+ DescType desiredType,
+ long modeFlags,
+ AEDesc * resultingText) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0603, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectDoScript, 20);
+ This routine is effectively equivalent to calling OSACompile followed by
+ OSAExecute and then OSADisplay. After execution, the compiled source
+ and the resulting value are is disposed. Only the resultingText
+ descriptor is retained. If a script error occur during processing, the
+ resultingText gets the error message of the error, and errOSAScriptError
+ is returned. OSAScriptError may still be used to extract more
+ information about the particular error.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errAECoercionFail: sourceData is not compilable or
+ desiredType not supported by scripting component
+ errOSAScriptError: sourceData was a bad script (syntax error)
+ errOSAInvalidID: previousAndResultingCompiledScriptID was not
+ valid on input
+ errOSAScriptError: the executing script got an error
+
+ ModeFlags:
+ kOSAModeNeverInteract
+ kOSAModeCanInteract
+ kOSAModeAlwaysInteract
+ kOSAModeCantSwitchLayer
+ kOSAModeDontReconnect
+ kOSAModeDoRecord
+ kOSAModeDisplayForHumans
+ */
+/**************************************************************************
+ OSA Optional Dialects Interface
+**************************************************************************
+ Scripting components that support the Dialects interface have the
+ kOSASupportsDialects bit set in their ComponentDescription.
+**************************************************************************/
+/*
+ These calls allows an scripting component that supports different dialects
+ to dynamically switch between those dialects. Although this interface is
+ specified, the particular dialect codes are scripting component dependent.
+*/
+/*
+ * OSASetCurrentDialect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetCurrentDialect(
+ ComponentInstance scriptingComponent,
+ short dialectCode) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0701, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectSetCurrentDialect, 2);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSANoSuchDialect: invalid dialectCode
+ */
+/*
+ * OSAGetCurrentDialect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetCurrentDialect(
+ ComponentInstance scriptingComponent,
+ short * resultingDialectCode) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0702, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectGetCurrentDialect, 4);
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSAAvailableDialects()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAAvailableDialects(
+ ComponentInstance scriptingComponent,
+ AEDesc * resultingDialectInfoList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0703, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectAvailableDialects, 4);
+ This call return an AEList containing information about each of the
+ currently available dialects of a scripting component. Each item
+ is an AERecord of typeOSADialectInfo that contains at least the fields
+ keyOSADialectName, keyOSADialectCode, KeyOSADialectLangCode and
+ keyOSADialectScriptCode.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSAGetDialectInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetDialectInfo(
+ ComponentInstance scriptingComponent,
+ short dialectCode,
+ OSType selector,
+ AEDesc * resultingDialectInfo) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0704, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectGetDialectInfo, 10);
+ This call gives information about the specified dialect of a scripting
+ component. It returns an AEDesc whose type depends on the selector
+ specified. Available selectors are the same as the field keys for a
+ dialect info record. The type of AEDesc returned is the same as the
+ type of the field that has same key as the selector.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSABadSelector
+ errOSANoSuchDialect: invalid dialectCode
+ */
+/*
+ * OSAAvailableDialectCodeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAAvailableDialectCodeList(
+ ComponentInstance scriptingComponent,
+ AEDesc * resultingDialectCodeList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0705, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectAvailableDialectCodeList, 4);
+ This is alternative to OSAGetAvailableDialectCodeList. Use this call
+ and OSAGetDialectInfo to get information on dialects.
+ This call return an AEList containing dialect code for each of the
+ currently available dialects of a scripting component. Each dialect
+ code is a short integer of type typeShortInteger.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+
+ Type of a dialect info record containing at least keyOSADialectName
+ and keyOSADialectCode fields.
+
+ keys for dialect info record, also used as selectors to OSAGetDialectInfo.
+
+ Field of a typeOSADialectInfo record of typeChar.
+ Field of a typeOSADialectInfo record of typeShortInteger.
+ Field of a typeOSADialectInfo record of typeShortInteger.
+ Field of a typeOSADialectInfo record of typeShortInteger.
+ */
+/**************************************************************************
+ OSA Optional Event Handling Interface
+**************************************************************************
+ Scripting components that support the Event Handling interface have the
+ kOSASupportsEventHandling bit set in their ComponentDescription.
+**************************************************************************/
+/*
+ * OSASetResumeDispatchProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetResumeDispatchProc(
+ ComponentInstance scriptingComponent,
+ AEEventHandlerUPP resumeDispatchProc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0801, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectSetResumeDispatchProc, 8);
+ This function is used to set the ResumeDispatchProc that will be used
+ by OSAExecuteEvent and OSADoEvent if either no event handler can be
+ found in the context, or the context event hander "continues" control
+ onward. The two constants kOSAUseStandardDispatch and kOSANoDispatch
+ may also be passed to this routine indicating that the handler registered
+ in the application with AEInstallEventHandler should be used, or no
+ dispatch should occur, respectively.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+enum {
+ kOSAUseStandardDispatch = kAEUseStandardDispatch
+};
+
+/*
+ Special ResumeDispatchProc constant which may be passed to
+ OSASetResumeDispatchProc indicating that the handler registered
+ in the application with AEInstallEventHandler should be used.
+
+ NOTE: Had to remove the cast (AEEventHandlerUPP). The C compiler
+ doesn't allow pointer types to be assigned to an enum. All
+ constants must be assigned as enums to translate properly to
+ Pascal.
+ */
+enum {
+ kOSANoDispatch = kAENoDispatch
+};
+
+/*
+ Special ResumeDispatchProc constant which may be passed to
+ OSASetResumeDispatchProc indicating that no dispatch should occur.
+
+ NOTE: Had to remove the cast (AEEventHandlerUPP). The C compiler
+ doesn't allow pointer types to be assigned to an enum. All
+ constants must be assigned as enums to translate properly to
+ Pascal.
+ */
+enum {
+ kOSADontUsePhac = 0x0001
+};
+
+/*
+ Special refCon constant that may be given to OSASetResumeDispatchProc
+ only when kOSAUseStandardDispatch is used as the ResumeDispatchProc.
+ This causes the standard dispatch to be performed, except the phac
+ handler is not called. This is useful during tinkerability, when
+ the phac handler is used to lookup a context associated with an event's
+ direct parameter, and call OSAExecuteEvent or OSADoEvent. Failure to
+ bypass the phac handler would result in an infinite loop.
+ */
+/*
+ * OSAGetResumeDispatchProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetResumeDispatchProc(
+ ComponentInstance scriptingComponent,
+ AEEventHandlerUPP * resumeDispatchProc,
+ long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0802, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectGetResumeDispatchProc, 8);
+ Returns the registered ResumeDispatchProc. If no ResumeDispatchProc has
+ been registered, then kOSAUseStandardDispatch (the default) is returned.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ */
+/*
+ * OSAExecuteEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAExecuteEvent(
+ ComponentInstance scriptingComponent,
+ const AppleEvent * theAppleEvent,
+ OSAID contextID,
+ long modeFlags,
+ OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0803, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectExecuteEvent, 16);
+ This call is similar to OSAExecute except the initial command to
+ execute comes in the form of an AppleEvent. If the contextID
+ defines any event handlers for that event, they are used to process
+ the event. If no event handler can be found in the context
+ errAEEventNotHandled is returned. If an event handler is found and
+ the hander "continues" control onward, the ResumeDispatchProc
+ (registered with OSASetResumeDispatchProc, above) is called given the
+ AppleEvent. The result is returned as a scriptValueID.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errOSAScriptError: the executing script got an error
+ errAEEventNotHandled: no handler for event in contextID
+
+ ModeFlags:
+ kOSAModeNeverInteract
+ kOSAModeCanInteract
+ kOSAModeAlwaysInteract
+ kOSAModeCantSwitchLayer
+ kOSAModeDontReconnect
+ kOSAModeDoRecord
+ */
+/*
+ * OSADoEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSADoEvent(
+ ComponentInstance scriptingComponent,
+ const AppleEvent * theAppleEvent,
+ OSAID contextID,
+ long modeFlags,
+ AppleEvent * reply) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0804, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectDoEvent, 16);
+ This call is similar to OSADoScript except the initial command to
+ execute comes in the form of an AppleEvent, and the result is an
+ AppleEvent reply record. If the contextID defines any event handlers
+ for that event, they are used to process the event. If no event handler
+ can be found in the context errAEEventNotHandled is returned. If an
+ event handler is found and the hander "continues" control onward, the
+ ResumeDispatchProc (registered with OSASetResumeDispatchProc, above) is
+ called given the AppleEvent. The result is returned in the form of an
+ AppleEvent reply descriptor. If at any time the script gets an error, or
+ if the ResumeDispatchProc returns a reply event indicating an error,
+ then the OSADoEvent call itself returns an error reply (i.e. OSADoEvent
+ should never return errOSAScriptError). Any error result returned by
+ the ResumeDispatchProc will be returned by OSADoEvent.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errAEEventNotHandled: no handler for event in contextID
+
+ ModeFlags:
+ kOSAModeNeverInteract
+ kOSAModeCanInteract
+ kOSAModeAlwaysInteract
+ kOSAModeCantSwitchLayer
+ kOSAModeDontReconnect
+ kOSAModeDoRecord
+ */
+/*
+ * OSAMakeContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAMakeContext(
+ ComponentInstance scriptingComponent,
+ const AEDesc * contextName,
+ OSAID parentContext,
+ OSAID * resultingContextID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0805, 0x7000, 0xA82A);
+
+
+/*
+ OSAComponentFunctionInline(kOSASelectMakeContext, 12);
+ Makes a new empty context which may be passed to OSAExecute or
+ OSAExecuteEvent. If contextName is typeNull, an unnamed context is
+ created. If parentContext is kOSANullScript then the resulting context
+ does not inherit bindings from any other context.
+
+ Errors:
+ badComponentInstance invalid scripting component instance
+ errOSASystemError
+ errOSAInvalidID
+ errAECoercionFail: contextName is invalid
*/
- /*
- * OSASetCurrentDialect()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetCurrentDialect(
- ComponentInstance scriptingComponent,
- short dialectCode) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0701, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectSetCurrentDialect, 2);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSANoSuchDialect: invalid dialectCode
- */
- /*
- * OSAGetCurrentDialect()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetCurrentDialect(
- ComponentInstance scriptingComponent,
- short * resultingDialectCode) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0702, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectGetCurrentDialect, 4);
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSAAvailableDialects()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAAvailableDialects(
- ComponentInstance scriptingComponent,
- AEDesc * resultingDialectInfoList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0703, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectAvailableDialects, 4);
- This call return an AEList containing information about each of the
- currently available dialects of a scripting component. Each item
- is an AERecord of typeOSADialectInfo that contains at least the fields
- keyOSADialectName, keyOSADialectCode, KeyOSADialectLangCode and
- keyOSADialectScriptCode.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSAGetDialectInfo()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetDialectInfo(
- ComponentInstance scriptingComponent,
- short dialectCode,
- OSType selector,
- AEDesc * resultingDialectInfo) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0704, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectGetDialectInfo, 10);
- This call gives information about the specified dialect of a scripting
- component. It returns an AEDesc whose type depends on the selector
- specified. Available selectors are the same as the field keys for a
- dialect info record. The type of AEDesc returned is the same as the
- type of the field that has same key as the selector.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSABadSelector
- errOSANoSuchDialect: invalid dialectCode
- */
- /*
- * OSAAvailableDialectCodeList()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAAvailableDialectCodeList(
- ComponentInstance scriptingComponent,
- AEDesc * resultingDialectCodeList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0705, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectAvailableDialectCodeList, 4);
- This is alternative to OSAGetAvailableDialectCodeList. Use this call
- and OSAGetDialectInfo to get information on dialects.
- This call return an AEList containing dialect code for each of the
- currently available dialects of a scripting component. Each dialect
- code is a short integer of type typeShortInteger.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
-
- Type of a dialect info record containing at least keyOSADialectName
- and keyOSADialectCode fields.
-
- keys for dialect info record, also used as selectors to OSAGetDialectInfo.
-
- Field of a typeOSADialectInfo record of typeChar.
- Field of a typeOSADialectInfo record of typeShortInteger.
- Field of a typeOSADialectInfo record of typeShortInteger.
- Field of a typeOSADialectInfo record of typeShortInteger.
- */
- /**************************************************************************
- OSA Optional Event Handling Interface
- **************************************************************************
- Scripting components that support the Event Handling interface have the
- kOSASupportsEventHandling bit set in their ComponentDescription.
- **************************************************************************/
- /*
- * OSASetResumeDispatchProc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetResumeDispatchProc(
- ComponentInstance scriptingComponent,
- AEEventHandlerUPP resumeDispatchProc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0801, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectSetResumeDispatchProc, 8);
- This function is used to set the ResumeDispatchProc that will be used
- by OSAExecuteEvent and OSADoEvent if either no event handler can be
- found in the context, or the context event hander "continues" control
- onward. The two constants kOSAUseStandardDispatch and kOSANoDispatch
- may also be passed to this routine indicating that the handler registered
- in the application with AEInstallEventHandler should be used, or no
- dispatch should occur, respectively.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- enum
- {
- kOSAUseStandardDispatch = kAEUseStandardDispatch
- };
-
- /*
- Special ResumeDispatchProc constant which may be passed to
- OSASetResumeDispatchProc indicating that the handler registered
- in the application with AEInstallEventHandler should be used.
-
- NOTE: Had to remove the cast (AEEventHandlerUPP). The C compiler
- doesn't allow pointer types to be assigned to an enum. All
- constants must be assigned as enums to translate properly to
- Pascal.
- */
- enum
- {
- kOSANoDispatch = kAENoDispatch
- };
-
- /*
- Special ResumeDispatchProc constant which may be passed to
- OSASetResumeDispatchProc indicating that no dispatch should occur.
-
- NOTE: Had to remove the cast (AEEventHandlerUPP). The C compiler
- doesn't allow pointer types to be assigned to an enum. All
- constants must be assigned as enums to translate properly to
- Pascal.
- */
- enum
- {
- kOSADontUsePhac = 0x0001
- };
-
- /*
- Special refCon constant that may be given to OSASetResumeDispatchProc
- only when kOSAUseStandardDispatch is used as the ResumeDispatchProc.
- This causes the standard dispatch to be performed, except the phac
- handler is not called. This is useful during tinkerability, when
- the phac handler is used to lookup a context associated with an event's
- direct parameter, and call OSAExecuteEvent or OSADoEvent. Failure to
- bypass the phac handler would result in an infinite loop.
- */
- /*
- * OSAGetResumeDispatchProc()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetResumeDispatchProc(
- ComponentInstance scriptingComponent,
- AEEventHandlerUPP * resumeDispatchProc,
- long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0802, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectGetResumeDispatchProc, 8);
- Returns the registered ResumeDispatchProc. If no ResumeDispatchProc has
- been registered, then kOSAUseStandardDispatch (the default) is returned.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- */
- /*
- * OSAExecuteEvent()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAExecuteEvent(
- ComponentInstance scriptingComponent,
- const AppleEvent * theAppleEvent,
- OSAID contextID,
- long modeFlags,
- OSAID * resultingScriptValueID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0803, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectExecuteEvent, 16);
- This call is similar to OSAExecute except the initial command to
- execute comes in the form of an AppleEvent. If the contextID
- defines any event handlers for that event, they are used to process
- the event. If no event handler can be found in the context
- errAEEventNotHandled is returned. If an event handler is found and
- the hander "continues" control onward, the ResumeDispatchProc
- (registered with OSASetResumeDispatchProc, above) is called given the
- AppleEvent. The result is returned as a scriptValueID.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errOSAScriptError: the executing script got an error
- errAEEventNotHandled: no handler for event in contextID
-
- ModeFlags:
- kOSAModeNeverInteract
- kOSAModeCanInteract
- kOSAModeAlwaysInteract
- kOSAModeCantSwitchLayer
- kOSAModeDontReconnect
- kOSAModeDoRecord
- */
- /*
- * OSADoEvent()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSADoEvent(
- ComponentInstance scriptingComponent,
- const AppleEvent * theAppleEvent,
- OSAID contextID,
- long modeFlags,
- AppleEvent * reply) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0804, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectDoEvent, 16);
- This call is similar to OSADoScript except the initial command to
- execute comes in the form of an AppleEvent, and the result is an
- AppleEvent reply record. If the contextID defines any event handlers
- for that event, they are used to process the event. If no event handler
- can be found in the context errAEEventNotHandled is returned. If an
- event handler is found and the hander "continues" control onward, the
- ResumeDispatchProc (registered with OSASetResumeDispatchProc, above) is
- called given the AppleEvent. The result is returned in the form of an
- AppleEvent reply descriptor. If at any time the script gets an error, or
- if the ResumeDispatchProc returns a reply event indicating an error,
- then the OSADoEvent call itself returns an error reply (i.e. OSADoEvent
- should never return errOSAScriptError). Any error result returned by
- the ResumeDispatchProc will be returned by OSADoEvent.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errAEEventNotHandled: no handler for event in contextID
-
- ModeFlags:
- kOSAModeNeverInteract
- kOSAModeCanInteract
- kOSAModeAlwaysInteract
- kOSAModeCantSwitchLayer
- kOSAModeDontReconnect
- kOSAModeDoRecord
- */
- /*
- * OSAMakeContext()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAMakeContext(
- ComponentInstance scriptingComponent,
- const AEDesc * contextName,
- OSAID parentContext,
- OSAID * resultingContextID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0805, 0x7000, 0xA82A);
-
-
- /*
- OSAComponentFunctionInline(kOSASelectMakeContext, 12);
- Makes a new empty context which may be passed to OSAExecute or
- OSAExecuteEvent. If contextName is typeNull, an unnamed context is
- created. If parentContext is kOSANullScript then the resulting context
- does not inherit bindings from any other context.
-
- Errors:
- badComponentInstance invalid scripting component instance
- errOSASystemError
- errOSAInvalidID
- errAECoercionFail: contextName is invalid
- */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/OSAComp.h b/include/qt/OSAComp.h
index 71d7fc9f3..2d32d6612 100644
--- a/include/qt/OSAComp.h
+++ b/include/qt/OSAComp.h
@@ -1,17 +1,17 @@
/*
File: OSAComp.h
-
+
Contains: AppleScript Component Implementor's Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OSACOMP__
#define __OSACOMP__
@@ -38,50 +38,50 @@ extern "C" {
#pragma import on
#endif
- /**************************************************************************
- Types and Constants
- **************************************************************************/
- /**************************************************************************
- Routines for Associating a Storage Type with a Script Data Handle
- **************************************************************************/
- /*
- * OSAGetStorageType()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OSAGetStorageType(
- AEDataStorage scriptData,
- DescType * dscType);
-
-
- /*
- * OSAAddStorageType()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OSAAddStorageType(
- AEDataStorage scriptData,
- DescType dscType);
-
-
- /*
- * OSARemoveStorageType()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OSARemoveStorageType(AEDataStorage scriptData);
+/**************************************************************************
+ Types and Constants
+**************************************************************************/
+/**************************************************************************
+ Routines for Associating a Storage Type with a Script Data Handle
+**************************************************************************/
+/*
+ * OSAGetStorageType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OSAGetStorageType(
+ AEDataStorage scriptData,
+ DescType * dscType);
+
+
+/*
+ * OSAAddStorageType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OSAAddStorageType(
+ AEDataStorage scriptData,
+ DescType dscType);
+
+
+/*
+ * OSARemoveStorageType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OSARemoveStorageType(AEDataStorage scriptData);
diff --git a/include/qt/OSAGeneric.h b/include/qt/OSAGeneric.h
index 451d7aa73..df71f9aed 100644
--- a/include/qt/OSAGeneric.h
+++ b/include/qt/OSAGeneric.h
@@ -1,17 +1,17 @@
/*
File: OSAGeneric.h
-
+
Contains: AppleScript Generic Component Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OSAGENERIC__
#define __OSAGENERIC__
@@ -39,124 +39,123 @@ extern "C" {
#pragma import on
#endif
- /* NOTE: This interface defines a "generic scripting component."
- The Generic Scripting Component allows automatic dispatch to a
- specific scripting component that conforms to the OSA interface.
- This component supports OSA, by calling AppleScript or some other
- scripting component. Additionally it provides access to the default
- and the user-prefered scripting component.
- */
-
-
- enum {
- /* Component version this header file describes */
- kGenericComponentVersion = 0x0100
- };
-
- enum
- {
- kGSSSelectGetDefaultScriptingComponent = 0x1001,
- kGSSSelectSetDefaultScriptingComponent = 0x1002,
- kGSSSelectGetScriptingComponent = 0x1003,
- kGSSSelectGetScriptingComponentFromStored = 0x1004,
- kGSSSelectGenericToRealID = 0x1005,
- kGSSSelectRealToGenericID = 0x1006,
- kGSSSelectOutOfRange = 0x1007
- };
-
- typedef OSType ScriptingComponentSelector;
- typedef OSAID GenericID;
- /* get and set the default scripting component */
- /*
- * OSAGetDefaultScriptingComponent()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetDefaultScriptingComponent(
- ComponentInstance genericScriptingComponent,
- ScriptingComponentSelector * scriptingSubType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x1001, 0x7000, 0xA82A);
-
-
- /*
- * OSASetDefaultScriptingComponent()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSASetDefaultScriptingComponent(
- ComponentInstance genericScriptingComponent,
- ScriptingComponentSelector scriptingSubType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x1002, 0x7000, 0xA82A);
-
-
- /* get a scripting component instance from its subtype code */
- /*
- * OSAGetScriptingComponent()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetScriptingComponent(
- ComponentInstance genericScriptingComponent,
- ScriptingComponentSelector scriptingSubType,
- ComponentInstance * scriptingInstance) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1003, 0x7000, 0xA82A);
-
-
- /* get a scripting component selector (subType) from a stored script */
- /*
- * OSAGetScriptingComponentFromStored()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGetScriptingComponentFromStored(
- ComponentInstance genericScriptingComponent,
- const AEDesc * scriptData,
- ScriptingComponentSelector * scriptingSubType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1004, 0x7000, 0xA82A);
-
-
- /* get a real component instance and script id from a generic id */
- /*
- * OSAGenericToRealID()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSAGenericToRealID(
- ComponentInstance genericScriptingComponent,
- OSAID * theScriptID,
- ComponentInstance * theExactComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1005, 0x7000, 0xA82A);
-
-
- /* get a generic id from a real component instance and script id */
- /*
- * OSARealToGenericID()
- *
- * Availability:
- * Non-Carbon CFM: in AppleScriptLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSAError)
- OSARealToGenericID(
- ComponentInstance genericScriptingComponent,
- OSAID * theScriptID,
- ComponentInstance theExactComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1006, 0x7000, 0xA82A);
+/* NOTE: This interface defines a "generic scripting component."
+ The Generic Scripting Component allows automatic dispatch to a
+ specific scripting component that conforms to the OSA interface.
+ This component supports OSA, by calling AppleScript or some other
+ scripting component. Additionally it provides access to the default
+ and the user-prefered scripting component.
+*/
+
+
+enum {
+ /* Component version this header file describes */
+ kGenericComponentVersion = 0x0100
+};
+
+enum {
+ kGSSSelectGetDefaultScriptingComponent = 0x1001,
+ kGSSSelectSetDefaultScriptingComponent = 0x1002,
+ kGSSSelectGetScriptingComponent = 0x1003,
+ kGSSSelectGetScriptingComponentFromStored = 0x1004,
+ kGSSSelectGenericToRealID = 0x1005,
+ kGSSSelectRealToGenericID = 0x1006,
+ kGSSSelectOutOfRange = 0x1007
+};
+
+typedef OSType ScriptingComponentSelector;
+typedef OSAID GenericID;
+/* get and set the default scripting component */
+/*
+ * OSAGetDefaultScriptingComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetDefaultScriptingComponent(
+ ComponentInstance genericScriptingComponent,
+ ScriptingComponentSelector * scriptingSubType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x1001, 0x7000, 0xA82A);
+
+
+/*
+ * OSASetDefaultScriptingComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSASetDefaultScriptingComponent(
+ ComponentInstance genericScriptingComponent,
+ ScriptingComponentSelector scriptingSubType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x1002, 0x7000, 0xA82A);
+
+
+/* get a scripting component instance from its subtype code */
+/*
+ * OSAGetScriptingComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetScriptingComponent(
+ ComponentInstance genericScriptingComponent,
+ ScriptingComponentSelector scriptingSubType,
+ ComponentInstance * scriptingInstance) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1003, 0x7000, 0xA82A);
+
+
+/* get a scripting component selector (subType) from a stored script */
+/*
+ * OSAGetScriptingComponentFromStored()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGetScriptingComponentFromStored(
+ ComponentInstance genericScriptingComponent,
+ const AEDesc * scriptData,
+ ScriptingComponentSelector * scriptingSubType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1004, 0x7000, 0xA82A);
+
+
+/* get a real component instance and script id from a generic id */
+/*
+ * OSAGenericToRealID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSAGenericToRealID(
+ ComponentInstance genericScriptingComponent,
+ OSAID * theScriptID,
+ ComponentInstance * theExactComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1005, 0x7000, 0xA82A);
+
+
+/* get a generic id from a real component instance and script id */
+/*
+ * OSARealToGenericID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in AppleScriptLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSAError )
+OSARealToGenericID(
+ ComponentInstance genericScriptingComponent,
+ OSAID * theScriptID,
+ ComponentInstance theExactComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x1006, 0x7000, 0xA82A);
diff --git a/include/qt/OSServices.h b/include/qt/OSServices.h
index 33b2e2a58..d3c37dfb1 100644
--- a/include/qt/OSServices.h
+++ b/include/qt/OSServices.h
@@ -1,17 +1,17 @@
/*
File: OSServices.h
-
+
Contains: Master include for OSServices private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OSSERVICES__
#define __OSSERVICES__
diff --git a/include/qt/OSUtils.h b/include/qt/OSUtils.h
index d55fe157c..86813c20b 100644
--- a/include/qt/OSUtils.h
+++ b/include/qt/OSUtils.h
@@ -1,17 +1,17 @@
/*
File: OSUtils.h
-
+
Contains: OS Utilities Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OSUTILS__
#define __OSUTILS__
@@ -65,297 +65,276 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- enum {
- useFree = 0,
- useATalk = 1,
- useAsync = 2,
- useExtClk = 3, /*Externally clocked*/
- useMIDI = 4
- };
-
- enum
- {
- false32b = 0, /*24 bit addressing error*/
- true32b = 1 /*32 bit addressing error*/
- };
-
- enum
- {
- /* result types for RelString Call */
- sortsBefore = -1, /*first string < second string*/
- sortsEqual = 0, /*first string = second string*/
- sortsAfter = 1 /*first string > second string*/
- };
-
- enum
- {
- dummyType = 0,
- vType = 1,
- ioQType = 2,
- drvQType = 3,
- evType = 4,
- fsQType = 5,
- sIQType = 6,
- dtQType = 7,
- nmType = 8
- };
-
- typedef SignedByte QTypes;
- struct SysParmType
- {
- UInt8 valid;
- UInt8 aTalkA;
- UInt8 aTalkB;
- UInt8 config;
- short portA;
- short portB;
- long alarm;
- short font;
- short kbdPrint;
- short volClik;
- short misc;
- };
- typedef struct SysParmType SysParmType;
- typedef SysParmType * SysPPtr;
- struct QElem
- {
- struct QElem * qLink;
- short qType;
- short qData[1];
- };
- typedef struct QElem QElem;
- typedef QElem * QElemPtr;
+ #pragma pack(2)
+#endif
+
+enum {
+ useFree = 0,
+ useATalk = 1,
+ useAsync = 2,
+ useExtClk = 3, /*Externally clocked*/
+ useMIDI = 4
+};
+
+enum {
+ false32b = 0, /*24 bit addressing error*/
+ true32b = 1 /*32 bit addressing error*/
+};
+
+enum {
+ /* result types for RelString Call */
+ sortsBefore = -1, /*first string < second string*/
+ sortsEqual = 0, /*first string = second string*/
+ sortsAfter = 1 /*first string > second string*/
+};
+
+enum {
+ dummyType = 0,
+ vType = 1,
+ ioQType = 2,
+ drvQType = 3,
+ evType = 4,
+ fsQType = 5,
+ sIQType = 6,
+ dtQType = 7,
+ nmType = 8
+};
+
+typedef SignedByte QTypes;
+struct SysParmType {
+ UInt8 valid;
+ UInt8 aTalkA;
+ UInt8 aTalkB;
+ UInt8 config;
+ short portA;
+ short portB;
+ long alarm;
+ short font;
+ short kbdPrint;
+ short volClik;
+ short misc;
+};
+typedef struct SysParmType SysParmType;
+typedef SysParmType * SysPPtr;
+struct QElem {
+ struct QElem * qLink;
+ short qType;
+ short qData[1];
+};
+typedef struct QElem QElem;
+typedef QElem * QElemPtr;
#if TARGET_OS_MAC
- struct QHdr
- {
- volatile short qFlags;
- volatile QElemPtr qHead;
- volatile QElemPtr qTail;
- };
- typedef struct QHdr QHdr;
- typedef QHdr * QHdrPtr;
+struct QHdr {
+ volatile short qFlags;
+ volatile QElemPtr qHead;
+ volatile QElemPtr qTail;
+};
+typedef struct QHdr QHdr;
+typedef QHdr * QHdrPtr;
#else
- /*
- QuickTime 3.0
- this version of QHdr contains the Mutex necessary for
- non-mac non-interrupt code
- */
- struct QHdr
- {
- volatile short qFlags;
- short pad;
- long MutexID;
- volatile QElemPtr qHead;
- volatile QElemPtr qTail;
- };
- typedef struct QHdr QHdr;
- typedef QHdr * QHdrPtr;
+/*
+ QuickTime 3.0
+ this version of QHdr contains the Mutex necessary for
+ non-mac non-interrupt code
+*/
+struct QHdr {
+ volatile short qFlags;
+ short pad;
+ long MutexID;
+ volatile QElemPtr qHead;
+ volatile QElemPtr qTail;
+};
+typedef struct QHdr QHdr;
+typedef QHdr * QHdrPtr;
#endif /* TARGET_OS_MAC */
- typedef CALLBACK_API_REGISTER68K(void , DeferredTaskProcPtr, (long dtParam));
- typedef REGISTER_UPP_TYPE(DeferredTaskProcPtr) DeferredTaskUPP;
- /*
- * NewDeferredTaskUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DeferredTaskUPP)
- NewDeferredTaskUPP(DeferredTaskProcPtr userRoutine);
+typedef CALLBACK_API_REGISTER68K( void , DeferredTaskProcPtr, (long dtParam) );
+typedef REGISTER_UPP_TYPE(DeferredTaskProcPtr) DeferredTaskUPP;
+/*
+ * NewDeferredTaskUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DeferredTaskUPP )
+NewDeferredTaskUPP(DeferredTaskProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDeferredTaskProcInfo = 0x0000B802 }; /* register no_return_value Func(4_bytes:A1) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DeferredTaskUPP) NewDeferredTaskUPP(DeferredTaskProcPtr userRoutine)
- {
- return (DeferredTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeferredTaskProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDeferredTaskUPP(userRoutine) (DeferredTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeferredTaskProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDeferredTaskProcInfo = 0x0000B802 }; /* register no_return_value Func(4_bytes:A1) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DeferredTaskUPP) NewDeferredTaskUPP(DeferredTaskProcPtr userRoutine) { return (DeferredTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeferredTaskProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDeferredTaskUPP(userRoutine) (DeferredTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeferredTaskProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDeferredTaskUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDeferredTaskUPP(DeferredTaskUPP userUPP);
+/*
+ * DisposeDeferredTaskUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDeferredTaskUPP(DeferredTaskUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDeferredTaskUPP(DeferredTaskUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDeferredTaskUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDeferredTaskUPP(DeferredTaskUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDeferredTaskUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDeferredTaskUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * InvokeDeferredTaskUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeDeferredTaskUPP(__A1, __A0)
#endif
- EXTERN_API_C(void)
- InvokeDeferredTaskUPP(
- long dtParam,
- DeferredTaskUPP userUPP) ONEWORDINLINE(0x4E90);
+EXTERN_API_C( void )
+InvokeDeferredTaskUPP(
+ long dtParam,
+ DeferredTaskUPP userUPP) ONEWORDINLINE(0x4E90);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDeferredTaskUPP(long dtParam, DeferredTaskUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppDeferredTaskProcInfo, dtParam);
- }
-#else
-#define InvokeDeferredTaskUPP(dtParam, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppDeferredTaskProcInfo, (dtParam))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDeferredTaskUPP(long dtParam, DeferredTaskUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppDeferredTaskProcInfo, dtParam); }
+ #else
+ #define InvokeDeferredTaskUPP(dtParam, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppDeferredTaskProcInfo, (dtParam))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDeferredTaskProc(userRoutine) NewDeferredTaskUPP(userRoutine)
-#define CallDeferredTaskProc(userRoutine, dtParam) InvokeDeferredTaskUPP(dtParam, userRoutine)
+ #define NewDeferredTaskProc(userRoutine) NewDeferredTaskUPP(userRoutine)
+ #define CallDeferredTaskProc(userRoutine, dtParam) InvokeDeferredTaskUPP(dtParam, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- struct DeferredTask
- {
- volatile QElemPtr qLink;
- short qType;
- volatile short dtFlags;
- DeferredTaskUPP dtAddr;
- long dtParam;
- long dtReserved;
- };
- typedef struct DeferredTask DeferredTask;
- typedef DeferredTask * DeferredTaskPtr;
- /*
- In order for MachineLocation to be endian-safe, a new member
- has been added to the 'u' union in the structure. You are
- encouraged to use the new member instead of the old one.
-
- If your code looked like this:
-
- MachineLocation.u.dlsDelta = 1;
-
- you should change it to this:
-
- MachineLocation.u.dls.Delta = 1;
+struct DeferredTask {
+ volatile QElemPtr qLink;
+ short qType;
+ volatile short dtFlags;
+ DeferredTaskUPP dtAddr;
+ long dtParam;
+ long dtReserved;
+};
+typedef struct DeferredTask DeferredTask;
+typedef DeferredTask * DeferredTaskPtr;
+/*
+ In order for MachineLocation to be endian-safe, a new member
+ has been added to the 'u' union in the structure. You are
+ encouraged to use the new member instead of the old one.
+
+ If your code looked like this:
+
+ MachineLocation.u.dlsDelta = 1;
+
+ you should change it to this:
+
+ MachineLocation.u.dls.Delta = 1;
+
+ to be endian safe. The gmtDelta remains the same; the low 24-bits
+ are used. Remember that order of assignment DOES matter:
+
+ This will overwrite results:
+
+ MachineLocation.u.dls.Delta = 0xAA; // u = 0xAAGGGGGG; G=Garbage
+ MachineLocation.u.gmtDelta = 0xBBBBBB; // u = 0x00BBBBBB;
+
+ when in fact reversing the assignment would have preserved the values:
+
+ MachineLocation.u.gmtDelta = 0xBBBBBB; // u = 0x00BBBBBB;
+ MachineLocation.u.dls.Delta = 0xAA; // u = 0xAABBBBBB;
+*/
+#if TARGET_OS_MAC
+struct MachineLocation {
+ Fract latitude;
+ Fract longitude;
+ union {
+ #if TARGET_RT_BIG_ENDIAN
+ SInt8 dlsDelta;
+ #endif
+ long gmtDelta; /* use low 24-bits only */
+ struct {
+ #if TARGET_RT_LITTLE_ENDIAN
+ SInt8 pad[3];
+ #endif
+ SInt8 Delta; /* signed byte; daylight savings delta */
+ } dls;
+ } u;
+};
+typedef struct MachineLocation MachineLocation;
+#else
+/*
+ QuickTime 3.0:
+ Alignment of MachineLocation is weird. The union above used for delta
+ tends not to work on non-Mac compilers.
+*/
+struct MachineLocation {
+ Fract latitude;
+ Fract longitude;
+ BigEndianLong delta; /* high byte is daylight savings delta, low 24-bits is GMT delta */
+};
+typedef struct MachineLocation MachineLocation;
+#endif /* TARGET_OS_MAC */
- to be endian safe. The gmtDelta remains the same; the low 24-bits
- are used. Remember that order of assignment DOES matter:
- This will overwrite results:
- MachineLocation.u.dls.Delta = 0xAA; // u = 0xAAGGGGGG; G=Garbage
- MachineLocation.u.gmtDelta = 0xBBBBBB; // u = 0x00BBBBBB;
- when in fact reversing the assignment would have preserved the values:
+/*
+ * IsMetric()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsMetric(void) THREEWORDINLINE(0x3F3C, 0x0004, 0xA9ED);
- MachineLocation.u.gmtDelta = 0xBBBBBB; // u = 0x00BBBBBB;
- MachineLocation.u.dls.Delta = 0xAA; // u = 0xAABBBBBB;
- */
-#if TARGET_OS_MAC
- struct MachineLocation
- {
- Fract latitude;
- Fract longitude;
- union
- {
-#if TARGET_RT_BIG_ENDIAN
- SInt8 dlsDelta;
-#endif
- long gmtDelta; /* use low 24-bits only */
- struct
- {
-#if TARGET_RT_LITTLE_ENDIAN
- SInt8 pad[3];
-#endif
- SInt8 Delta; /* signed byte; daylight savings delta */
- } dls;
- } u;
- };
- typedef struct MachineLocation MachineLocation;
-#else
- /*
- QuickTime 3.0:
- Alignment of MachineLocation is weird. The union above used for delta
- tends not to work on non-Mac compilers.
- */
- struct MachineLocation
- {
- Fract latitude;
- Fract longitude;
- BigEndianLong delta; /* high byte is daylight savings delta, low 24-bits is GMT delta */
- };
- typedef struct MachineLocation MachineLocation;
-#endif /* TARGET_OS_MAC */
+/*
+ * GetSysPPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SysPPtr )
+GetSysPPtr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x01F8);
- /*
- * IsMetric()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsMetric(void) THREEWORDINLINE(0x3F3C, 0x0004, 0xA9ED);
-
-
- /*
- * GetSysPPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SysPPtr)
- GetSysPPtr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x01F8);
-
-
-
- /*
- NOTE: SysBeep() has been moved to Sound.h.
- We could not automatically #include Sound.h in this file
- because Sound.h indirectly #include's OSUtils.h which
- would make a circular include.
- */
- /*
- * DTInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ NOTE: SysBeep() has been moved to Sound.h.
+ We could not automatically #include Sound.h in this file
+ because Sound.h indirectly #include's OSUtils.h which
+ would make a circular include.
+*/
+/*
+ * DTInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DTInstall(__A0)
#endif
- EXTERN_API(OSErr)
- DTInstall(DeferredTaskPtr dtTaskPtr) ONEWORDINLINE(0xA082);
+EXTERN_API( OSErr )
+DTInstall(DeferredTaskPtr dtTaskPtr) ONEWORDINLINE(0xA082);
@@ -365,162 +344,162 @@ extern "C" {
#define SwapMMUMode(x) (*(SInt8*)(x) = true32b)
#else
#if CALL_NOT_IN_CARBON
- /*
- * GetMMUMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(SInt8)
- GetMMUMode(void) TWOWORDINLINE(0x1EB8, 0x0CB2);
+/*
+ * GetMMUMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt8 )
+GetMMUMode(void) TWOWORDINLINE(0x1EB8, 0x0CB2);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * SwapMMUMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * SwapMMUMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SwapMMUMode(__A0)
#endif
- EXTERN_API(void)
- SwapMMUMode(SInt8 * mode) THREEWORDINLINE(0x1010, 0xA05D, 0x1080);
+EXTERN_API( void )
+SwapMMUMode(SInt8 * mode) THREEWORDINLINE(0x1010, 0xA05D, 0x1080);
#endif /* CALL_NOT_IN_CARBON */
#endif
- /*
- * Delay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * Delay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter Delay(__A0, __A1)
#endif
- EXTERN_API(void)
- Delay(
- unsigned long numTicks,
- unsigned long * finalTicks) TWOWORDINLINE(0xA03B, 0x2280);
-
-
- /*
- * WriteParam()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- WriteParam(void);
-
-
- /*
- * Enqueue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+Delay(
+ unsigned long numTicks,
+ unsigned long * finalTicks) TWOWORDINLINE(0xA03B, 0x2280);
+
+
+/*
+ * WriteParam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+WriteParam(void);
+
+
+/*
+ * Enqueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter Enqueue(__A0, __A1)
#endif
- EXTERN_API(void)
- Enqueue(
- QElemPtr qElement,
- QHdrPtr qHeader) ONEWORDINLINE(0xA96F);
-
-
- /*
- * Dequeue()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+Enqueue(
+ QElemPtr qElement,
+ QHdrPtr qHeader) ONEWORDINLINE(0xA96F);
+
+
+/*
+ * Dequeue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 Dequeue(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- Dequeue(
- QElemPtr qElement,
- QHdrPtr qHeader) ONEWORDINLINE(0xA96E);
+EXTERN_API( OSErr )
+Dequeue(
+ QElemPtr qElement,
+ QHdrPtr qHeader) ONEWORDINLINE(0xA96E);
- /*
- * SetCurrentA5()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetCurrentA5()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SetCurrentA5
#endif
- EXTERN_API(long)
- SetCurrentA5(void) THREEWORDINLINE(0x200D, 0x2A78, 0x0904);
-
-
- /*
- * SetA5()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( long )
+SetCurrentA5(void) THREEWORDINLINE(0x200D, 0x2A78, 0x0904);
+
+
+/*
+ * SetA5()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SetA5(__D0)
#endif
- EXTERN_API(long)
- SetA5(long newA5) ONEWORDINLINE(0xC18D);
-
-
- /*
- * InitUtil()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( long )
+SetA5(long newA5) ONEWORDINLINE(0xC18D);
+
+
+/*
+ * InitUtil()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InitUtil
#endif
- EXTERN_API(OSErr)
- InitUtil(void) ONEWORDINLINE(0xA03F);
+EXTERN_API( OSErr )
+InitUtil(void) ONEWORDINLINE(0xA03F);
#if !TARGET_CPU_68K
- /*
- * MakeDataExecutable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MakeDataExecutable(
- void * baseAddress,
- unsigned long length);
+/*
+ * MakeDataExecutable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MakeDataExecutable(
+ void * baseAddress,
+ unsigned long length);
#endif /* !TARGET_CPU_68K */
@@ -528,67 +507,67 @@ extern "C" {
#if TARGET_CPU_68K
#if CALL_NOT_IN_CARBON
- /*
- * SwapInstructionCache()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- SwapInstructionCache(Boolean cacheEnable);
-
-
- /*
- * SwapDataCache()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- SwapDataCache(Boolean cacheEnable);
+/*
+ * SwapInstructionCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+SwapInstructionCache(Boolean cacheEnable);
+
+
+/*
+ * SwapDataCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+SwapDataCache(Boolean cacheEnable);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * FlushInstructionCache()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- FlushInstructionCache(void) TWOWORDINLINE(0x7001, 0xA098);
-
-
- /*
- * FlushDataCache()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- FlushDataCache(void) TWOWORDINLINE(0x7003, 0xA098);
-
-
- /*
- * FlushCodeCache()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- FlushCodeCache(void) ONEWORDINLINE(0xA0BD);
+/*
+ * FlushInstructionCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FlushInstructionCache(void) TWOWORDINLINE(0x7001, 0xA098);
+
+
+/*
+ * FlushDataCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FlushDataCache(void) TWOWORDINLINE(0x7003, 0xA098);
+
+
+/*
+ * FlushCodeCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FlushCodeCache(void) ONEWORDINLINE(0xA0BD);
#endif /* CALL_NOT_IN_CARBON */
@@ -596,92 +575,92 @@ extern "C" {
#endif /* TARGET_CPU_68K */
#if CALL_NOT_IN_CARBON
- /*
- * FlushCodeCacheRange()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * FlushCodeCacheRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 FlushCodeCacheRange(__A0, __A1)
#endif
- EXTERN_API(OSErr)
- FlushCodeCacheRange(
- void * address,
- unsigned long count) TWOWORDINLINE(0x7009, 0xA098);
+EXTERN_API( OSErr )
+FlushCodeCacheRange(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7009, 0xA098);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * ReadLocation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * ReadLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter ReadLocation(__A0)
#endif
- EXTERN_API(void)
- ReadLocation(MachineLocation * loc) FOURWORDINLINE(0x203C, 0x000C, 0x00E4, 0xA051);
+EXTERN_API( void )
+ReadLocation(MachineLocation * loc) FOURWORDINLINE(0x203C, 0x000C, 0x00E4, 0xA051);
- /*
- * WriteLocation()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * WriteLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter WriteLocation(__A0)
#endif
- EXTERN_API(void)
- WriteLocation(const MachineLocation * loc) FOURWORDINLINE(0x203C, 0x000C, 0x00E4, 0xA052);
+EXTERN_API( void )
+WriteLocation(const MachineLocation * loc) FOURWORDINLINE(0x203C, 0x000C, 0x00E4, 0xA052);
- /*
- * TickCount()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt32)
- TickCount(void) ONEWORDINLINE(0xA975);
+/*
+ * TickCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+TickCount(void) ONEWORDINLINE(0xA975);
- /*
- * CSCopyUserName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CFStringRef)
- CSCopyUserName(Boolean useShortName);
+/*
+ * CSCopyUserName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFStringRef )
+CSCopyUserName(Boolean useShortName);
- /*
- * CSCopyMachineName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CFStringRef)
- CSCopyMachineName(void);
+/*
+ * CSCopyMachineName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFStringRef )
+CSCopyMachineName(void);
@@ -689,88 +668,83 @@ extern "C" {
#define IUMetric() IsMetric()
#endif /* OLDROUTINENAMES */
- /*
- NOTE: SysEnvirons is obsolete. You should be using Gestalt.
- */
- /* Environs Equates */
- enum
- {
- curSysEnvVers = 2 /*Updated to equal latest SysEnvirons version*/
- };
-
- struct SysEnvRec
- {
- short environsVersion;
- short machineType;
- short systemVersion;
- short processor;
- Boolean hasFPU;
- Boolean hasColorQD;
- short keyBoardType;
- short atDrvrVersNum;
- short sysVRefNum;
- };
- typedef struct SysEnvRec SysEnvRec;
- enum
- {
- /* Machine Types */
- envMac = -1,
- envXL = -2,
- envMachUnknown = 0,
- env512KE = 1,
- envMacPlus = 2,
- envSE = 3,
- envMacII = 4,
- envMacIIx = 5,
- envMacIIcx = 6,
- envSE30 = 7,
- envPortable = 8,
- envMacIIci = 9,
- envMacIIfx = 11
- };
-
- enum
- {
- /* CPU types */
- envCPUUnknown = 0,
- env68000 = 1,
- env68010 = 2,
- env68020 = 3,
- env68030 = 4,
- env68040 = 5
- };
-
- enum
- {
- /* Keyboard types */
- envUnknownKbd = 0,
- envMacKbd = 1,
- envMacAndPad = 2,
- envMacPlusKbd = 3,
- envAExtendKbd = 4,
- envStandADBKbd = 5,
- envPrtblADBKbd = 6,
- envPrtblISOKbd = 7,
- envStdISOADBKbd = 8,
- envExtISOADBKbd = 9
- };
+/*
+ NOTE: SysEnvirons is obsolete. You should be using Gestalt.
+*/
+/* Environs Equates */
+enum {
+ curSysEnvVers = 2 /*Updated to equal latest SysEnvirons version*/
+};
+
+struct SysEnvRec {
+ short environsVersion;
+ short machineType;
+ short systemVersion;
+ short processor;
+ Boolean hasFPU;
+ Boolean hasColorQD;
+ short keyBoardType;
+ short atDrvrVersNum;
+ short sysVRefNum;
+};
+typedef struct SysEnvRec SysEnvRec;
+enum {
+ /* Machine Types */
+ envMac = -1,
+ envXL = -2,
+ envMachUnknown = 0,
+ env512KE = 1,
+ envMacPlus = 2,
+ envSE = 3,
+ envMacII = 4,
+ envMacIIx = 5,
+ envMacIIcx = 6,
+ envSE30 = 7,
+ envPortable = 8,
+ envMacIIci = 9,
+ envMacIIfx = 11
+};
+
+enum {
+ /* CPU types */
+ envCPUUnknown = 0,
+ env68000 = 1,
+ env68010 = 2,
+ env68020 = 3,
+ env68030 = 4,
+ env68040 = 5
+};
+
+enum {
+ /* Keyboard types */
+ envUnknownKbd = 0,
+ envMacKbd = 1,
+ envMacAndPad = 2,
+ envMacPlusKbd = 3,
+ envAExtendKbd = 4,
+ envStandADBKbd = 5,
+ envPrtblADBKbd = 6,
+ envPrtblISOKbd = 7,
+ envStdISOADBKbd = 8,
+ envExtISOADBKbd = 9
+};
#if CALL_NOT_IN_CARBON
- /*
- * SysEnvirons()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * SysEnvirons()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SysEnvirons(__D0, __A0)
#endif
- EXTERN_API(OSErr)
- SysEnvirons(
- short versionRequested,
- SysEnvRec * theWorld) ONEWORDINLINE(0xA090);
+EXTERN_API( OSErr )
+SysEnvirons(
+ short versionRequested,
+ SysEnvRec * theWorld) ONEWORDINLINE(0xA090);
@@ -780,11 +754,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/OT.h b/include/qt/OT.h
index 2d7c08e3c..a3555d9f1 100644
--- a/include/qt/OT.h
+++ b/include/qt/OT.h
@@ -1,17 +1,17 @@
/*
File: OT.h
-
+
Contains: Master include for OT private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OT__
#define __OT__
diff --git a/include/qt/OpenScripting.h b/include/qt/OpenScripting.h
index e5e067fe7..72300048a 100644
--- a/include/qt/OpenScripting.h
+++ b/include/qt/OpenScripting.h
@@ -1,17 +1,17 @@
/*
File: OpenScripting.h
-
+
Contains: Master include for OpenScripting private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OPENSCRIPTING__
#define __OPENSCRIPTING__
diff --git a/include/qt/OpenTransport.h b/include/qt/OpenTransport.h
index 90c6ad2bc..7770849af 100644
--- a/include/qt/OpenTransport.h
+++ b/include/qt/OpenTransport.h
@@ -1,17 +1,17 @@
/*
File: OpenTransport.h
-
+
Contains: Open Transport client interface file.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OPENTRANSPORT__
#define __OPENTRANSPORT__
@@ -84,75 +84,75 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma push
-#pragma pointers_in_D0
+ #pragma push
+ #pragma pointers_in_D0
#endif
- /* ***** Setup Default Compiler Variables ******/
+/* ***** Setup Default Compiler Variables ******/
- /*
- OTKERNEL is used to indicate whether the code is being built
- for the kernel environment. It defaults to 0. If you include
- "OpenTransportKernel.h" before including this file,
- it will be 1 and you will only be able to see stuff available
- to kernel code.
- */
+/*
+ OTKERNEL is used to indicate whether the code is being built
+ for the kernel environment. It defaults to 0. If you include
+ "OpenTransportKernel.h" before including this file,
+ it will be 1 and you will only be able to see stuff available
+ to kernel code.
+*/
#ifndef OTKERNEL
#define OTKERNEL 0
#endif /* !defined(OTKERNEL) */
- /*
- OTUNIXERRORS determines whether this file defines a bunch of
- common UNIX error codes, like EPERM. Typically, client code does
- not want to do this because of the possibility of a clash with
- other code modules, like the standard C libraries, that also
- defines these routines. However, client code can turn it on to
- get these definitions. This might be done by protocol stack
- infrastructure, or some other low-level code.
- "OpenTransportKernel.i" sets this flag before include
- "OpenTransport.h" because kernel modules typically need these
- error codes. Note that kernel modules shouldn't be including
- standard C libraries, so this is rarely a problem.
- In general, the clash between OT and standard C definitions
- of these error codes is rarely a problem becasue both OT
- and the C libraries define them to have the same value. But
- I'm sure this check is useful to some people.
- */
+/*
+ OTUNIXERRORS determines whether this file defines a bunch of
+ common UNIX error codes, like EPERM. Typically, client code does
+ not want to do this because of the possibility of a clash with
+ other code modules, like the standard C libraries, that also
+ defines these routines. However, client code can turn it on to
+ get these definitions. This might be done by protocol stack
+ infrastructure, or some other low-level code.
+ "OpenTransportKernel.i" sets this flag before include
+ "OpenTransport.h" because kernel modules typically need these
+ error codes. Note that kernel modules shouldn't be including
+ standard C libraries, so this is rarely a problem.
+ In general, the clash between OT and standard C definitions
+ of these error codes is rarely a problem becasue both OT
+ and the C libraries define them to have the same value. But
+ I'm sure this check is useful to some people.
+*/
#ifndef OTUNIXERRORS
#define OTUNIXERRORS 0
#endif /* !defined(OTUNIXERRORS) */
- /*
- OTDEBUG is used to control the behaviour of the OT debugging
- macros. If you set it to non-zero, the macros will generate code
- that drops you into the debugger. If you set it to 0, or leave it
- undefined, the macros are compiled out.
- Setting up this compiler variable is a little tricky because previous
- versions of the OT interfaces used a different variable, qDebug.
- We replaced qDebug with OTDEBUG because qDebug does not fit into
- the OT namespace. But I didn't want to break a lot of currently
- building code. The following tricky compiler variable footwork
- avoids this.
- There are four outcomes when this code is compiled, depending on
- whether qDebug and OTDEBUG are defined beforehand. The following
- table shows the outcome in each case.
- qDebug OTDEBUG Outcome Explanation
- ------ ------- ------- -----------
- defined defined OTDEBUG wins Mixed legacy and new code, we believe the new code.
- defined undefined qDebug wins Legacy code.
- undefined defined OTDEBUG wins New code.
- undefined undefined no debugging No debugging.
- */
+/*
+ OTDEBUG is used to control the behaviour of the OT debugging
+ macros. If you set it to non-zero, the macros will generate code
+ that drops you into the debugger. If you set it to 0, or leave it
+ undefined, the macros are compiled out.
+ Setting up this compiler variable is a little tricky because previous
+ versions of the OT interfaces used a different variable, qDebug.
+ We replaced qDebug with OTDEBUG because qDebug does not fit into
+ the OT namespace. But I didn't want to break a lot of currently
+ building code. The following tricky compiler variable footwork
+ avoids this.
+ There are four outcomes when this code is compiled, depending on
+ whether qDebug and OTDEBUG are defined beforehand. The following
+ table shows the outcome in each case.
+ qDebug OTDEBUG Outcome Explanation
+ ------ ------- ------- -----------
+ defined defined OTDEBUG wins Mixed legacy and new code, we believe the new code.
+ defined undefined qDebug wins Legacy code.
+ undefined defined OTDEBUG wins New code.
+ undefined undefined no debugging No debugging.
+*/
#ifdef qDebug
#ifndef OTDEBUG
#define OTDebug qDebug
@@ -164,51 +164,51 @@ extern "C" {
#define OTDEBUG 0
#endif /* !defined(OTDEBUG) */
- /* Carbon Applications have some restrictions on using OT*/
+/* Carbon Applications have some restrictions on using OT*/
#ifndef OTCARBONAPPLICATION
#define OTCARBONAPPLICATION 0
#endif /* !defined(OTCARBONAPPLICATION) */
- /*
- ***** Normalise 68K Calling C Conventions *****
- Define special types that handle the difference in parameter passing
- between different Mac OS C compilers when generating 68K code. OT
- exports C calling conventions routines, and various C compilers use
- various different conventions. Differences in the placement of the result
- are covered above, where we output pragma pointers_in_D0. The other big
- difference is how the compilers pass integer parameters less than 32 bits.
- The MPW compiler always extends these to 32 bits; other compilers simply
- push a value of the appropriate size. We overcome this difference by
- defining special OTFooParam types, which are only used when passing
- sub 32 bit values to routines. They are always defined to a 32 bit
- size, which makes all the compilers do the same thing.
- One weird consequence of this is that in more strict type checking
- languages (eg Pascal) OTBooleanParam is not compatible with Boolean.
- Sorry.
- */
+/*
+ ***** Normalise 68K Calling C Conventions *****
+ Define special types that handle the difference in parameter passing
+ between different Mac OS C compilers when generating 68K code. OT
+ exports C calling conventions routines, and various C compilers use
+ various different conventions. Differences in the placement of the result
+ are covered above, where we output pragma pointers_in_D0. The other big
+ difference is how the compilers pass integer parameters less than 32 bits.
+ The MPW compiler always extends these to 32 bits; other compilers simply
+ push a value of the appropriate size. We overcome this difference by
+ defining special OTFooParam types, which are only used when passing
+ sub 32 bit values to routines. They are always defined to a 32 bit
+ size, which makes all the compilers do the same thing.
+ One weird consequence of this is that in more strict type checking
+ languages (eg Pascal) OTBooleanParam is not compatible with Boolean.
+ Sorry.
+*/
#if TARGET_CPU_68K
- typedef UInt32 OTUInt8Param;
- typedef UInt32 OTUInt16Param;
- typedef SInt32 OTSInt16Param;
- typedef SInt32 OTSInt8Param;
- typedef SInt32 OTBooleanParam;
+typedef UInt32 OTUInt8Param;
+typedef UInt32 OTUInt16Param;
+typedef SInt32 OTSInt16Param;
+typedef SInt32 OTSInt8Param;
+typedef SInt32 OTBooleanParam;
#else
- typedef UInt8 OTUInt8Param;
- typedef UInt16 OTUInt16Param;
- typedef SInt16 OTSInt16Param;
- typedef SInt8 OTSInt8Param;
- typedef Boolean OTBooleanParam;
+typedef UInt8 OTUInt8Param;
+typedef UInt16 OTUInt16Param;
+typedef SInt16 OTSInt16Param;
+typedef SInt8 OTSInt8Param;
+typedef Boolean OTBooleanParam;
#endif /* TARGET_CPU_68K */
#if defined(__MWERKS__) || defined(THINK_C) || defined(SYMANTEC_CPLUS) || defined(SYMANTEC_C) || defined (__xlc) || defined (__xlC) || defined (__xlC__)
- typedef ByteCount OTByteCount;
- typedef ItemCount OTItemCount;
- typedef SInt32 OTInt32;
- typedef UInt32 OTUInt32;
+typedef ByteCount OTByteCount;
+typedef ItemCount OTItemCount;
+typedef SInt32 OTInt32;
+typedef UInt32 OTUInt32;
#else
typedef unsigned int OTByteCount;
typedef unsigned int OTItemCount;
@@ -216,24 +216,24 @@ extern "C" {
typedef unsigned int OTUInt32;
#endif
- /* ***** C++ Support ******/
+/* ***** C++ Support ******/
- /*
- Setup _MDECL to be _cdecl when compiling C++ code with
- compilers that support it, or nothing otherwise.
- */
+/*
+ Setup _MDECL to be _cdecl when compiling C++ code with
+ compilers that support it, or nothing otherwise.
+*/
#define _MDECL
#if defined(__SC__) || defined(THINK_CPLUS) || defined(__MRC__)
-#ifdef __cplusplus
-#undef _MDECL
-#define _MDECL _cdecl
-#endif
+ #ifdef __cplusplus
+ #undef _MDECL
+ #define _MDECL _cdecl
+ #endif
#endif
- /* ***** Shared Library Prefixes ******/
+/* ***** Shared Library Prefixes ******/
#define kOTLibraryVersion "1.1"
@@ -243,40 +243,39 @@ extern "C" {
#define kOTClientPrefix "OTClnt$"
#define kOTKernelPrefix "OTKrnl$"
- enum
- {
- kOTCFMClass = FOUR_CHAR_CODE('otan')
- };
-
- /* ***** Miscellaneous Type Definitions ******/
-
- /* A millisecond timeout value*/
- typedef UInt32 OTTimeout;
- /* An ID number in connections/transactions */
- typedef SInt32 OTSequence;
- /* An ID number for registered names */
- typedef SInt32 OTNameID;
- /*
- A protocol-specific reason code for failure.
- Usually a Unix-style positive error code.
- */
- typedef SInt32 OTReason;
- /* Number of outstanding connection requests at a time.*/
- typedef UInt32 OTQLen;
- /* Will become internationalizeable shortly (yeah, right).*/
- typedef UInt8 * OTClientName;
- /* The command code in STREAMS messages.*/
- typedef SInt32 OTCommand;
- /* value describing a client*/
- typedef struct OpaqueOTClient* OTClient;
-
- /*
- OT now defines its own version of the standard C "offsetof"
- macro so as to avoid including <stddef.h".
- */
+enum {
+ kOTCFMClass = FOUR_CHAR_CODE('otan')
+};
+
+/* ***** Miscellaneous Type Definitions ******/
+
+/* A millisecond timeout value*/
+typedef UInt32 OTTimeout;
+/* An ID number in connections/transactions */
+typedef SInt32 OTSequence;
+/* An ID number for registered names */
+typedef SInt32 OTNameID;
+/*
+ A protocol-specific reason code for failure.
+ Usually a Unix-style positive error code.
+*/
+typedef SInt32 OTReason;
+/* Number of outstanding connection requests at a time.*/
+typedef UInt32 OTQLen;
+/* Will become internationalizeable shortly (yeah, right).*/
+typedef UInt8 * OTClientName;
+/* The command code in STREAMS messages.*/
+typedef SInt32 OTCommand;
+/* value describing a client*/
+typedef struct OpaqueOTClient* OTClient;
+
+/*
+ OT now defines its own version of the standard C "offsetof"
+ macro so as to avoid including <stddef.h".
+*/
#define OTOffsetOf(structure,field) ((ByteCount)&((structure *) 0)->field)
- /* ***** Debugging Macros ******/
+/* ***** Debugging Macros ******/
#define kOTFatalErr "FB "
@@ -291,230 +290,226 @@ extern "C" {
#if CALL_NOT_IN_CARBON
- /*
- * OTDebugStr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTDebugStr(const char * str);
+/*
+ * OTDebugStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTDebugStr(const char * str);
#if qDebug > 0
-#define OTDebugBreak(str) OTDebugStr(str)
-#define OTDebugTest(val, str) { if ( val ) OTDebugStr(str); }
-#define OTAssert(name, cond) ((cond) ? ((void) 0) : (OTDebugStr( __FILE__ ": " #name ": " #cond )))
+ #define OTDebugBreak(str) OTDebugStr(str)
+ #define OTDebugTest(val, str) { if ( val ) OTDebugStr(str); }
+ #define OTAssert(name, cond) ((cond) ? ((void) 0) : (OTDebugStr( __FILE__ ": " #name ": " #cond )))
#else
-#define OTDebugBreak(str)
-#define OTDebugTest(val, str)
-#define OTAssert(name, cond)
+ #define OTDebugBreak(str)
+ #define OTDebugTest(val, str)
+ #define OTAssert(name, cond)
#endif /* qDebug > 0 */
#if qDebug > 1 || qDebug2 > 1
-#define OTDebugBreak2(str) OTDebugStr(str)
-#define OTDebugTest2(val, str) { if ( val) OTDebugStr(str); }
+ #define OTDebugBreak2(str) OTDebugStr(str)
+ #define OTDebugTest2(val, str) { if ( val) OTDebugStr(str); }
#else
-#define OTDebugBreak2(str)
-#define OTDebugTest2(val, str)
+ #define OTDebugBreak2(str)
+ #define OTDebugTest2(val, str)
#endif /* qDebug > 1 || qDebug2 > 1 */
#endif /* CALL_NOT_IN_CARBON */
- /*
- ***** Flags Used When Opening Providers *****
- Important
- OT does not currently support any of these flags. You should
- always pass 0 to a parameter of type OTOpenFlags. If you need
- to modify the mode of operation of a provider, use OTSetBlocking,
- OTSetSynchronous, etc.
- */
- typedef UInt32 OTOpenFlags;
- enum
- {
- kO_ASYNC = 0x01,
- kO_NDELAY = 0x04,
- kO_NONBLOCK = 0x04
- };
+/*
+ ***** Flags Used When Opening Providers *****
+ Important
+ OT does not currently support any of these flags. You should
+ always pass 0 to a parameter of type OTOpenFlags. If you need
+ to modify the mode of operation of a provider, use OTSetBlocking,
+ OTSetSynchronous, etc.
+*/
+typedef UInt32 OTOpenFlags;
+enum {
+ kO_ASYNC = 0x01,
+ kO_NDELAY = 0x04,
+ kO_NONBLOCK = 0x04
+};
#if CALL_NOT_IN_CARBON
- /*
- BSD defines O_ASYNC, O_NDELAY and O_NONBLOCK in fcntl.h
- Use kO_ASYNC, kO_NDELAY and kO_NONBLOCK in the unlikely event you need the OT value in Carbon
- */
- enum
- {
- O_ASYNC = kO_ASYNC,
- O_NDELAY = kO_NDELAY,
- O_NONBLOCK = kO_NONBLOCK
- };
+/*
+ BSD defines O_ASYNC, O_NDELAY and O_NONBLOCK in fcntl.h
+ Use kO_ASYNC, kO_NDELAY and kO_NONBLOCK in the unlikely event you need the OT value in Carbon
+*/
+enum {
+ O_ASYNC = kO_ASYNC,
+ O_NDELAY = kO_NDELAY,
+ O_NONBLOCK = kO_NONBLOCK
+};
#endif /* CALL_NOT_IN_CARBON */
- /* ***** UNIX-Style Error Codes ******/
+/* ***** UNIX-Style Error Codes ******/
- typedef UInt16 OTUnixErr;
- /*
- These definitions are only compiled if you're building kernel code
- or you explicit request them by setting OTUNIXERRORS. See the
- description of these compiler variables, given above.
- */
+typedef UInt16 OTUnixErr;
+/*
+ These definitions are only compiled if you're building kernel code
+ or you explicit request them by setting OTUNIXERRORS. See the
+ description of these compiler variables, given above.
+*/
#if OTKERNEL || OTUNIXERRORS
- /*
- There may be some error code confusions with other compiler vendor header
- files - However, these match both MPW and AIX definitions.
- */
- /*
- First we undefine the #defined ones we know about so that we can put them
- in an enum. Of course, this is only going to work in C, but hopefully
- other languages won't have these symbols overloaded.
- */
-
-
-#undef EPERM
-#undef ENOENT
-#undef ENORSRC
-#undef EINTR
-#undef EIO
-#undef ENXIO
-#undef E2BIG
-#undef EBADF
-#undef EAGAIN
-#undef ENOMEM
-#undef EACCES
-#undef EFAULT
-#undef EBUSY
-#undef EEXIST
-#undef ENODEV
-#undef EINVAL
-#undef ENOTTY
-#undef ERANGE
-#undef ESRCH
-#undef EPIPE
-
- enum
- {
- EPERM = 1, /* Permission denied */
- ENOENT = 2, /* No such file or directory */
- ENORSRC = 3, /* No such resource */
- EINTR = 4, /* Interrupted system service */
- EIO = 5, /* I/O error */
- ENXIO = 6, /* No such device or address */
- EBADF = 9, /* Bad file number */
- EAGAIN = 11, /* Try operation again later */
- ENOMEM = 12, /* Not enough space */
- EACCES = 13, /* Permission denied */
- EFAULT = 14, /* Bad address */
- EBUSY = 16, /* Device or resource busy */
- EEXIST = 17, /* File exists */
- ENODEV = 19, /* No such device */
- EINVAL = 22, /* Invalid argument */
- ENOTTY = 25, /* Not a character device */
- EPIPE = 32, /* Broken pipe */
- ERANGE = 34, /* Math result not representable */
- EDEADLK = 35, /* Call would block so was aborted */
- EWOULDBLOCK = 35, /* Or a deadlock would occur */
- EALREADY = 37,
- ENOTSOCK = 38, /* Socket operation on non-socket */
- EDESTADDRREQ = 39, /* Destination address required */
- EMSGSIZE = 40, /* Message too long */
- EPROTOTYPE = 41, /* Protocol wrong type for socket */
- ENOPROTOOPT = 42, /* Protocol not available */
- EPROTONOSUPPORT = 43, /* Protocol not supported */
- ESOCKTNOSUPPORT = 44, /* Socket type not supported */
- EOPNOTSUPP = 45, /* Operation not supported on socket */
- EADDRINUSE = 48, /* Address already in use */
- EADDRNOTAVAIL = 49, /* Can't assign requested address */
- ENETDOWN = 50, /* Network is down */
- ENETUNREACH = 51, /* Network is unreachable */
- ENETRESET = 52, /* Network dropped connection on reset */
- ECONNABORTED = 53, /* Software caused connection abort */
- ECONNRESET = 54, /* Connection reset by peer */
- ENOBUFS = 55, /* No buffer space available */
- EISCONN = 56, /* Socket is already connected */
- ENOTCONN = 57, /* Socket is not connected */
- ESHUTDOWN = 58, /* Can't send after socket shutdown */
- ETOOMANYREFS = 59, /* Too many references: can't splice */
- ETIMEDOUT = 60, /* Connection timed out */
- ECONNREFUSED = 61, /* Connection refused */
- EHOSTDOWN = 64, /* Host is down */
- EHOSTUNREACH = 65, /* No route to host */
- EPROTO = 70, /* STREAMS protocol error */
- ETIME = 71,
- ENOSR = 72,
- EBADMSG = 73,
- ECANCEL = 74,
- ENOSTR = 75,
- ENODATA = 76,
- EINPROGRESS = 77,
- ESRCH = 78,
- ENOMSG = 79,
- ELASTERRNO = 79
- };
+/*
+ There may be some error code confusions with other compiler vendor header
+ files - However, these match both MPW and AIX definitions.
+*/
+/*
+ First we undefine the #defined ones we know about so that we can put them
+ in an enum. Of course, this is only going to work in C, but hopefully
+ other languages won't have these symbols overloaded.
+*/
+
+
+ #undef EPERM
+ #undef ENOENT
+ #undef ENORSRC
+ #undef EINTR
+ #undef EIO
+ #undef ENXIO
+ #undef E2BIG
+ #undef EBADF
+ #undef EAGAIN
+ #undef ENOMEM
+ #undef EACCES
+ #undef EFAULT
+ #undef EBUSY
+ #undef EEXIST
+ #undef ENODEV
+ #undef EINVAL
+ #undef ENOTTY
+ #undef ERANGE
+ #undef ESRCH
+ #undef EPIPE
+
+enum {
+ EPERM = 1, /* Permission denied */
+ ENOENT = 2, /* No such file or directory */
+ ENORSRC = 3, /* No such resource */
+ EINTR = 4, /* Interrupted system service */
+ EIO = 5, /* I/O error */
+ ENXIO = 6, /* No such device or address */
+ EBADF = 9, /* Bad file number */
+ EAGAIN = 11, /* Try operation again later */
+ ENOMEM = 12, /* Not enough space */
+ EACCES = 13, /* Permission denied */
+ EFAULT = 14, /* Bad address */
+ EBUSY = 16, /* Device or resource busy */
+ EEXIST = 17, /* File exists */
+ ENODEV = 19, /* No such device */
+ EINVAL = 22, /* Invalid argument */
+ ENOTTY = 25, /* Not a character device */
+ EPIPE = 32, /* Broken pipe */
+ ERANGE = 34, /* Math result not representable */
+ EDEADLK = 35, /* Call would block so was aborted */
+ EWOULDBLOCK = 35, /* Or a deadlock would occur */
+ EALREADY = 37,
+ ENOTSOCK = 38, /* Socket operation on non-socket */
+ EDESTADDRREQ = 39, /* Destination address required */
+ EMSGSIZE = 40, /* Message too long */
+ EPROTOTYPE = 41, /* Protocol wrong type for socket */
+ ENOPROTOOPT = 42, /* Protocol not available */
+ EPROTONOSUPPORT = 43, /* Protocol not supported */
+ ESOCKTNOSUPPORT = 44, /* Socket type not supported */
+ EOPNOTSUPP = 45, /* Operation not supported on socket */
+ EADDRINUSE = 48, /* Address already in use */
+ EADDRNOTAVAIL = 49, /* Can't assign requested address */
+ ENETDOWN = 50, /* Network is down */
+ ENETUNREACH = 51, /* Network is unreachable */
+ ENETRESET = 52, /* Network dropped connection on reset */
+ ECONNABORTED = 53, /* Software caused connection abort */
+ ECONNRESET = 54, /* Connection reset by peer */
+ ENOBUFS = 55, /* No buffer space available */
+ EISCONN = 56, /* Socket is already connected */
+ ENOTCONN = 57, /* Socket is not connected */
+ ESHUTDOWN = 58, /* Can't send after socket shutdown */
+ ETOOMANYREFS = 59, /* Too many references: can't splice */
+ ETIMEDOUT = 60, /* Connection timed out */
+ ECONNREFUSED = 61, /* Connection refused */
+ EHOSTDOWN = 64, /* Host is down */
+ EHOSTUNREACH = 65, /* No route to host */
+ EPROTO = 70, /* STREAMS protocol error */
+ ETIME = 71,
+ ENOSR = 72,
+ EBADMSG = 73,
+ ECANCEL = 74,
+ ENOSTR = 75,
+ ENODATA = 76,
+ EINPROGRESS = 77,
+ ESRCH = 78,
+ ENOMSG = 79,
+ ELASTERRNO = 79
+};
#endif /* OTKERNEL || OTUNIXERRORS */
- /* ***** Open Transport/XTI Error codes ******/
- typedef UInt16 OTXTIErr;
- enum
- {
- TSUCCESS = 0, /* No Error occurred */
- TBADADDR = 1, /* A Bad address was specified */
- TBADOPT = 2, /* A Bad option was specified */
- TACCES = 3, /* Missing access permission */
- TBADF = 4, /* Bad provider reference */
- TNOADDR = 5, /* No address was specified */
- TOUTSTATE = 6, /* Call issued in wrong state */
- TBADSEQ = 7, /* Sequence specified does not exist */
- TSYSERR = 8, /* A system error occurred */
- TLOOK = 9, /* An event occurred - call Look() */
- TBADDATA = 10, /* An illegal amount of data was specified */
- TBUFOVFLW = 11, /* Passed buffer not big enough */
- TFLOW = 12, /* Provider is flow-controlled */
- TNODATA = 13, /* No data available for reading */
- TNODIS = 14, /* No disconnect indication available */
- TNOUDERR = 15, /* No Unit Data Error indication available */
- TBADFLAG = 16, /* A Bad flag value was supplied */
- TNOREL = 17, /* No orderly release indication available */
- TNOTSUPPORT = 18, /* Command is not supported */
- TSTATECHNG = 19, /* State is changing - try again later */
- TNOSTRUCTYPE = 20, /* Bad structure type requested for OTAlloc */
- TBADNAME = 21, /* A bad endpoint name was supplied */
- TBADQLEN = 22, /* A Bind to an in-use address with qlen > 0*/
- TADDRBUSY = 23, /* Address requested is already in use */
- TINDOUT = 24, /* Accept failed because of pending listen */
- TPROVMISMATCH = 25, /* Tried to accept on incompatible endpoint */
- TRESQLEN = 26,
- TRESADDR = 27,
- TQFULL = 28,
- TPROTO = 29, /* An unspecified provider error occurred */
- TBADSYNC = 30, /* A synchronous call at interrupt time */
- TCANCELED = 31, /* The command was cancelled */
- TLASTXTIERROR = 31
- };
-
- /*
- ***** Mac OS Error Codes *****
- Most OT client routines return an OSStatus error code, a 32 bit type
- defined in "MacTypes.h". The OT-unique error code values are
- defined below. Many of these are generated by remapping XTI error
- codes (Txxxx) and UNIX error codes (Exxxx) to a reserved range
- in the OSStatus space.
- Some routines return an OTResult type, indicating
- that the routine might fail with a negative error, succeed with noErr,
- or possible return a positive value indicating some status.
- */
-
- typedef SInt32 OTResult;
-
- /*
- * These map the Open Transport/XTI errors (the Txxxx error codes), and the
- * StdCLib Exxxx error codes into unique spaces in the Mac OS OSStatus space.
- */
+/* ***** Open Transport/XTI Error codes ******/
+typedef UInt16 OTXTIErr;
+enum {
+ TSUCCESS = 0, /* No Error occurred */
+ TBADADDR = 1, /* A Bad address was specified */
+ TBADOPT = 2, /* A Bad option was specified */
+ TACCES = 3, /* Missing access permission */
+ TBADF = 4, /* Bad provider reference */
+ TNOADDR = 5, /* No address was specified */
+ TOUTSTATE = 6, /* Call issued in wrong state */
+ TBADSEQ = 7, /* Sequence specified does not exist */
+ TSYSERR = 8, /* A system error occurred */
+ TLOOK = 9, /* An event occurred - call Look() */
+ TBADDATA = 10, /* An illegal amount of data was specified */
+ TBUFOVFLW = 11, /* Passed buffer not big enough */
+ TFLOW = 12, /* Provider is flow-controlled */
+ TNODATA = 13, /* No data available for reading */
+ TNODIS = 14, /* No disconnect indication available */
+ TNOUDERR = 15, /* No Unit Data Error indication available */
+ TBADFLAG = 16, /* A Bad flag value was supplied */
+ TNOREL = 17, /* No orderly release indication available */
+ TNOTSUPPORT = 18, /* Command is not supported */
+ TSTATECHNG = 19, /* State is changing - try again later */
+ TNOSTRUCTYPE = 20, /* Bad structure type requested for OTAlloc */
+ TBADNAME = 21, /* A bad endpoint name was supplied */
+ TBADQLEN = 22, /* A Bind to an in-use address with qlen > 0*/
+ TADDRBUSY = 23, /* Address requested is already in use */
+ TINDOUT = 24, /* Accept failed because of pending listen */
+ TPROVMISMATCH = 25, /* Tried to accept on incompatible endpoint */
+ TRESQLEN = 26,
+ TRESADDR = 27,
+ TQFULL = 28,
+ TPROTO = 29, /* An unspecified provider error occurred */
+ TBADSYNC = 30, /* A synchronous call at interrupt time */
+ TCANCELED = 31, /* The command was cancelled */
+ TLASTXTIERROR = 31
+};
+
+/*
+ ***** Mac OS Error Codes *****
+ Most OT client routines return an OSStatus error code, a 32 bit type
+ defined in "MacTypes.h". The OT-unique error code values are
+ defined below. Many of these are generated by remapping XTI error
+ codes (Txxxx) and UNIX error codes (Exxxx) to a reserved range
+ in the OSStatus space.
+ Some routines return an OTResult type, indicating
+ that the routine might fail with a negative error, succeed with noErr,
+ or possible return a positive value indicating some status.
+*/
+
+typedef SInt32 OTResult;
+
+/*
+ * These map the Open Transport/XTI errors (the Txxxx error codes), and the
+ * StdCLib Exxxx error codes into unique spaces in the Mac OS OSStatus space.
+ */
#define XTI2OSStatus(x) (-3149 - (x))
#define E2OSStatus(x) (-3199 - (x))
@@ -524,270 +519,262 @@ extern "C" {
#define IsXTIError(x) ((x) < -3149 && (x) >= (-3149 - TLASTXTIERROR))
#define IsEError(x) ((x) < -3199 && (x) >= (-3199 - ELASTERRNO))
- /* ***** OTAddress ******/
-
- /*
- OTAddress type defines the standard header for all OT address formats.
- It consists of one 16 bit integer, which defines the address format
- used, followed by an arbitrary number of bytes which are protocol-specific.
- Conceptually, all OT address formats are subtypes of this type,
- extended with fields that are specific to the protocol. For example,
- OTInetAddress starts with the OTAddressType field and then continues
- to include a host IP address and a port number.
- */
-
- enum
- {
- kOTGenericName = 0 /* Protocol specific data is just a string, interpreted in a protocol-specific fashion.*/
- };
-
- typedef UInt16 OTAddressType;
- struct OTAddress
- {
- OTAddressType fAddressType; /* The address format of this address...*/
- UInt8 fAddress[1]; /* ... followed by protocol specific address information.*/
- };
- typedef struct OTAddress OTAddress;
- /*
- ***** OTAlloc Constants *****
- Note:
- In general, Apple recommends that you avoid the OTAlloc call because
- using it extensively causes your program to allocate and deallocate
- many memory blocks, with each extra memory allocation costing time.
- */
- /*
- OTStructType defines the structure type to be allocated using the OTAlloc
- call.
- */
- enum
- {
- T_BIND = 1,
- T_OPTMGMT = 2,
- T_CALL = 3,
- T_DIS = 4,
- T_UNITDATA = 5,
- T_UDERROR = 6,
- T_INFO = 7,
- T_REPLYDATA = 8,
- T_REQUESTDATA = 9,
- T_UNITREQUEST = 10,
- T_UNITREPLY = 11
- };
-
-
- typedef UInt32 OTStructType;
- /*
- These values are used in the "fields" parameter of the OTAlloc call
- to define which fields of the structure should be allocated.
- */
- enum
- {
- T_ADDR = 0x01,
- T_OPT = 0x02,
- T_UDATA = 0x04,
- T_ALL = 0xFFFF
- };
-
- typedef UInt32 OTFieldsType;
- /* ***** OTFlags ******/
- /*
- This type is used to describe bitwise flags in OT data structures
- and parameters. Think of it as the OT analogue to the OptionBits
- type in "MacTypes.h".
- */
-
- typedef UInt32 OTFlags;
- /*
- These flags are used when sending and receiving data. The
- constants defined are masks.
- */
- enum
- {
- T_MORE = 0x0001, /* More data to come in message */
- T_EXPEDITED = 0x0002, /* Data is expedited, if possible */
- T_ACKNOWLEDGED = 0x0004, /* Acknowledge transaction */
- T_PARTIALDATA = 0x0008, /* Partial data - more coming */
- T_NORECEIPT = 0x0010, /* No event on transaction done */
- T_TIMEDOUT = 0x0020 /* Reply timed out */
- };
-
- /* These flags are used in the TOptMgmt structure to request services.*/
-
- enum
- {
- T_NEGOTIATE = 0x0004,
- T_CHECK = 0x0008,
- T_DEFAULT = 0x0010,
- T_CURRENT = 0x0080
- };
-
- /*
- These flags are used in the TOptMgmt and TOption structures to
- return results.
- */
-
- enum
- {
- T_SUCCESS = 0x0020,
- T_FAILURE = 0x0040,
- T_PARTSUCCESS = 0x0100,
- T_READONLY = 0x0200,
- T_NOTSUPPORT = 0x0400
- };
-
- /*
- ***** OTBand *****
- A band is a STREAMS concepts which defines the priority of data
- on a stream. Although this type is defined as a 32 bit number
- for efficiency's sake, bands actually only range from 0 to 255.
- Typically band 0 is used for normal data and band 1 for expedited data.
- */
- typedef UInt32 OTBand;
- /* ***** Object References ******/
- /*
- This deserves some explanation. If you're compiling for
- C++, the C++ definitions of TEndpoint and TMapper at the
- end of this file are invoked, which lets the compiler
- know that they are both subclasses of TProvider. This
- way the compiler will do the right subclass type checking,
- ie you will be able to pass an EndpointRef to a parameter
- of type ProviderRef, but not vice versa.
- On the other hand, if your compiling for straighth C,
- everything is defined as void. This is somewhat dangerous,
- but it prevents you have to cast an EndpointRef to a
- ProviderRef every time you call a function that works
- on all forms of providers.
- */
+/* ***** OTAddress ******/
+
+/*
+ OTAddress type defines the standard header for all OT address formats.
+ It consists of one 16 bit integer, which defines the address format
+ used, followed by an arbitrary number of bytes which are protocol-specific.
+ Conceptually, all OT address formats are subtypes of this type,
+ extended with fields that are specific to the protocol. For example,
+ OTInetAddress starts with the OTAddressType field and then continues
+ to include a host IP address and a port number.
+*/
+
+enum {
+ kOTGenericName = 0 /* Protocol specific data is just a string, interpreted in a protocol-specific fashion.*/
+};
+
+typedef UInt16 OTAddressType;
+struct OTAddress {
+ OTAddressType fAddressType; /* The address format of this address...*/
+ UInt8 fAddress[1]; /* ... followed by protocol specific address information.*/
+};
+typedef struct OTAddress OTAddress;
+/*
+ ***** OTAlloc Constants *****
+ Note:
+ In general, Apple recommends that you avoid the OTAlloc call because
+ using it extensively causes your program to allocate and deallocate
+ many memory blocks, with each extra memory allocation costing time.
+*/
+/*
+ OTStructType defines the structure type to be allocated using the OTAlloc
+ call.
+*/
+enum {
+ T_BIND = 1,
+ T_OPTMGMT = 2,
+ T_CALL = 3,
+ T_DIS = 4,
+ T_UNITDATA = 5,
+ T_UDERROR = 6,
+ T_INFO = 7,
+ T_REPLYDATA = 8,
+ T_REQUESTDATA = 9,
+ T_UNITREQUEST = 10,
+ T_UNITREPLY = 11
+};
+
+
+typedef UInt32 OTStructType;
+/*
+ These values are used in the "fields" parameter of the OTAlloc call
+ to define which fields of the structure should be allocated.
+*/
+enum {
+ T_ADDR = 0x01,
+ T_OPT = 0x02,
+ T_UDATA = 0x04,
+ T_ALL = 0xFFFF
+};
+
+typedef UInt32 OTFieldsType;
+/* ***** OTFlags ******/
+/*
+ This type is used to describe bitwise flags in OT data structures
+ and parameters. Think of it as the OT analogue to the OptionBits
+ type in "MacTypes.h".
+*/
+
+typedef UInt32 OTFlags;
+/*
+ These flags are used when sending and receiving data. The
+ constants defined are masks.
+*/
+enum {
+ T_MORE = 0x0001, /* More data to come in message */
+ T_EXPEDITED = 0x0002, /* Data is expedited, if possible */
+ T_ACKNOWLEDGED = 0x0004, /* Acknowledge transaction */
+ T_PARTIALDATA = 0x0008, /* Partial data - more coming */
+ T_NORECEIPT = 0x0010, /* No event on transaction done */
+ T_TIMEDOUT = 0x0020 /* Reply timed out */
+};
+
+/* These flags are used in the TOptMgmt structure to request services.*/
+
+enum {
+ T_NEGOTIATE = 0x0004,
+ T_CHECK = 0x0008,
+ T_DEFAULT = 0x0010,
+ T_CURRENT = 0x0080
+};
+
+/*
+ These flags are used in the TOptMgmt and TOption structures to
+ return results.
+*/
+
+enum {
+ T_SUCCESS = 0x0020,
+ T_FAILURE = 0x0040,
+ T_PARTSUCCESS = 0x0100,
+ T_READONLY = 0x0200,
+ T_NOTSUPPORT = 0x0400
+};
+
+/*
+ ***** OTBand *****
+ A band is a STREAMS concepts which defines the priority of data
+ on a stream. Although this type is defined as a 32 bit number
+ for efficiency's sake, bands actually only range from 0 to 255.
+ Typically band 0 is used for normal data and band 1 for expedited data.
+*/
+typedef UInt32 OTBand;
+/* ***** Object References ******/
+/*
+ This deserves some explanation. If you're compiling for
+ C++, the C++ definitions of TEndpoint and TMapper at the
+ end of this file are invoked, which lets the compiler
+ know that they are both subclasses of TProvider. This
+ way the compiler will do the right subclass type checking,
+ ie you will be able to pass an EndpointRef to a parameter
+ of type ProviderRef, but not vice versa.
+ On the other hand, if your compiling for straighth C,
+ everything is defined as void. This is somewhat dangerous,
+ but it prevents you have to cast an EndpointRef to a
+ ProviderRef every time you call a function that works
+ on all forms of providers.
+*/
#ifdef __cplusplus
- typedef class TProvider* ProviderRef;
- typedef class TEndpoint* EndpointRef;
- typedef class TMapper* MapperRef;
+ typedef class TProvider* ProviderRef;
+ typedef class TEndpoint* EndpointRef;
+ typedef class TMapper* MapperRef;
#else
- typedef void* ProviderRef;
- typedef void* EndpointRef;
- typedef void* MapperRef;
+ typedef void* ProviderRef;
+ typedef void* EndpointRef;
+ typedef void* MapperRef;
#endif
#define kOTInvalidRef 0L
#define kOTInvalidProviderRef ((ProviderRef)0L)
#define kOTInvalidEndpointRef ((EndpointRef)0L)
#define kOTInvalidMapperRef ((MapperRef)0L)
- /* ***** Event Codes ******/
- /*
- OT event codes values for Open Transport. These are the event codes that
- are sent to notification routine (notifiers).
- */
-
- typedef UInt32 OTEventCode;
- /*
- Events are divided into numerous categories:
-
- 1. (0x0000xxxx) The core XTI events have identifiers of the form
- T_XXXX. These signal that an XTI event has occured on a stream.
- 2. (0x1000xxxx) Private events are reserved for protocol specific
- events. Each protocol stack defines them as appropriate for
- its own usage.
- 3. (0x2000xxxxx) Completion events have identifiers of the form
- T_XXXXCOMPLETE. These signal the completion of some asynchronous
- API routine, and are only delivered if the endpoint is in asynchronous
- mode.
- 4. (0x2100xxxx) Stream events are generally encountered when programming
- the raw streams API and indicate some event on a raw stream, or
- some other event of interest in the STREAMS kernel.
- 5. (0x2200xxxx) Signal events indicate that a signal has arrived on
- a raw stream. See "Signal Values" for details.
- 6. (0x2300xxxx) General provider events that might be generated by any
- provider.
- 7. (0x2400xxxx) System events sent to all providers.
- 8. (0x2500xxxx) System events sent to registered clients.
- 9. (0x2600xxxx) System events used by configurators.
- 10. (0x2700xxxx) Events sent to registered OT clients.
- */
- /*
- All event codes not described here are reserved by Apple. If you receive
- an event code you do not understand, ignore it!
- */
-
- enum
- {
- T_LISTEN = 0x0001, /* An connection request is available */
- T_CONNECT = 0x0002, /* Confirmation of a connect request */
- T_DATA = 0x0004, /* Standard data is available */
- T_EXDATA = 0x0008, /* Expedited data is available */
- T_DISCONNECT = 0x0010, /* A disconnect is available */
- T_ERROR = 0x0020, /* obsolete/unused in library */
- T_UDERR = 0x0040, /* A Unit Data Error has occurred */
- T_ORDREL = 0x0080, /* An orderly release is available */
- T_GODATA = 0x0100, /* Flow control lifted on standard data */
- T_GOEXDATA = 0x0200, /* Flow control lifted on expedited data*/
- T_REQUEST = 0x0400, /* An Incoming request is available */
- T_REPLY = 0x0800, /* An Incoming reply is available */
- T_PASSCON = 0x1000, /* State is now T_DATAXFER */
- T_RESET = 0x2000, /* Protocol has been reset */
- kPRIVATEEVENT = 0x10000000, /* Base of the private event range.*/
- kCOMPLETEEVENT = 0x20000000, /* Base of the completion event range.*/
- T_BINDCOMPLETE = 0x20000001, /* Bind call is complete */
- T_UNBINDCOMPLETE = 0x20000002, /* Unbind call is complete */
- T_ACCEPTCOMPLETE = 0x20000003, /* Accept call is complete */
- T_REPLYCOMPLETE = 0x20000004, /* SendReply call is complete */
- T_DISCONNECTCOMPLETE = 0x20000005, /* Disconnect call is complete */
- T_OPTMGMTCOMPLETE = 0x20000006, /* OptMgmt call is complete */
- T_OPENCOMPLETE = 0x20000007, /* An Open call is complete */
- T_GETPROTADDRCOMPLETE = 0x20000008, /* GetProtAddress call is complete */
- T_RESOLVEADDRCOMPLETE = 0x20000009, /* A ResolveAddress call is complet */
- T_GETINFOCOMPLETE = 0x2000000A, /* A GetInfo call is complete */
- T_SYNCCOMPLETE = 0x2000000B, /* A Sync call is complete */
- T_MEMORYRELEASED = 0x2000000C, /* No-copy memory was released */
- T_REGNAMECOMPLETE = 0x2000000D, /* A RegisterName call is complete */
- T_DELNAMECOMPLETE = 0x2000000E, /* A DeleteName call is complete */
- T_LKUPNAMECOMPLETE = 0x2000000F, /* A LookupName call is complete */
- T_LKUPNAMERESULT = 0x20000010, /* A LookupName is returning a name */
- kOTSyncIdleEvent = 0x20000011, /* Synchronous call Idle event */
- kSTREAMEVENT = 0x21000000, /* Base of the raw stream event range.*/
- kOTReservedEvent1 = 0x21000001, /* reserved for internal use by OT */
- kGetmsgEvent = 0x21000002, /* A GetMessage call is complete */
- kStreamReadEvent = 0x21000003, /* A Read call is complete */
- kStreamWriteEvent = 0x21000004, /* A Write call is complete */
- kStreamIoctlEvent = 0x21000005, /* An Ioctl call is complete */
- kOTReservedEvent2 = 0x21000006, /* reserved for internal use by OT */
- kStreamOpenEvent = 0x21000007, /* An OpenStream call is complete */
- kPollEvent = 0x21000008, /* A Poll call is complete */
- kOTReservedEvent3 = 0x21000009, /* reserved for internal use by OT */
- kOTReservedEvent4 = 0x2100000A, /* reserved for internal use by OT */
- kOTReservedEvent5 = 0x2100000B, /* reserved for internal use by OT */
- kOTReservedEvent6 = 0x2100000C, /* reserved for internal use by OT */
- kOTReservedEvent7 = 0x2100000D, /* reserved for internal use by OT */
- kOTReservedEvent8 = 0x2100000E, /* reserved for internal use by OT */
- kSIGNALEVENT = 0x22000000, /* A signal has arrived on a raw stream, see "Signal Values" below.*/
- kPROTOCOLEVENT = 0x23000000, /* Some event from the protocols */
- kOTProviderIsDisconnected = 0x23000001, /* Provider is temporarily off-line */
- kOTProviderIsReconnected = 0x23000002, /* Provider is now back on-line */
- kOTProviderWillClose = 0x24000001, /* Provider will close immediately */
- kOTProviderIsClosed = 0x24000002, /* Provider was closed */
- kOTPortDisabled = 0x25000001, /* Port is now disabled, result is 0, cookie is port ref */
- kOTPortEnabled = 0x25000002, /* Port is now enabled, result is 0, cookie is port ref */
- kOTPortOffline = 0x25000003, /* Port is now offline, result is 0, cookie is port ref */
- kOTPortOnline = 0x25000004, /* Port is now online, result is 0, cookie is port ref */
- kOTClosePortRequest = 0x25000005, /* Request to close/yield, result is reason, cookie is OTPortCloseStruct* */
- kOTYieldPortRequest = 0x25000005, /* Request to close/yield, result is reason, cookie is OTPortCloseStruct* */
- kOTNewPortRegistered = 0x25000006, /* New port has been registered, cookie is port ref */
- kOTPortNetworkChange = 0x25000007, /* Port may have moved to a new network, result is 0, cookie is port ref */
- kOTConfigurationChanged = 0x26000001, /* Protocol configuration changed */
- kOTSystemSleep = 0x26000002,
- kOTSystemShutdown = 0x26000003,
- kOTSystemAwaken = 0x26000004,
- kOTSystemIdle = 0x26000005,
- kOTSystemSleepPrep = 0x26000006,
- kOTSystemShutdownPrep = 0x26000007,
- kOTSystemAwakenPrep = 0x26000008,
- kOTStackIsLoading = 0x27000001, /* Sent before Open Transport attempts to load the TCP/IP protocol stack.*/
- kOTStackWasLoaded = 0x27000002, /* Sent after the TCP/IP stack has been successfully loaded.*/
- kOTStackIsUnloading = 0x27000003 /* Sent before Open Transport unloads the TCP/IP stack.*/
- };
-
-
-
-
- /* ***** Event Classification Macros ***** */
+/* ***** Event Codes ******/
+/*
+ OT event codes values for Open Transport. These are the event codes that
+ are sent to notification routine (notifiers).
+*/
+
+typedef UInt32 OTEventCode;
+/*
+ Events are divided into numerous categories:
+
+ 1. (0x0000xxxx) The core XTI events have identifiers of the form
+ T_XXXX. These signal that an XTI event has occured on a stream.
+ 2. (0x1000xxxx) Private events are reserved for protocol specific
+ events. Each protocol stack defines them as appropriate for
+ its own usage.
+ 3. (0x2000xxxxx) Completion events have identifiers of the form
+ T_XXXXCOMPLETE. These signal the completion of some asynchronous
+ API routine, and are only delivered if the endpoint is in asynchronous
+ mode.
+ 4. (0x2100xxxx) Stream events are generally encountered when programming
+ the raw streams API and indicate some event on a raw stream, or
+ some other event of interest in the STREAMS kernel.
+ 5. (0x2200xxxx) Signal events indicate that a signal has arrived on
+ a raw stream. See "Signal Values" for details.
+ 6. (0x2300xxxx) General provider events that might be generated by any
+ provider.
+ 7. (0x2400xxxx) System events sent to all providers.
+ 8. (0x2500xxxx) System events sent to registered clients.
+ 9. (0x2600xxxx) System events used by configurators.
+ 10. (0x2700xxxx) Events sent to registered OT clients.
+*/
+/*
+ All event codes not described here are reserved by Apple. If you receive
+ an event code you do not understand, ignore it!
+*/
+
+enum {
+ T_LISTEN = 0x0001, /* An connection request is available */
+ T_CONNECT = 0x0002, /* Confirmation of a connect request */
+ T_DATA = 0x0004, /* Standard data is available */
+ T_EXDATA = 0x0008, /* Expedited data is available */
+ T_DISCONNECT = 0x0010, /* A disconnect is available */
+ T_ERROR = 0x0020, /* obsolete/unused in library */
+ T_UDERR = 0x0040, /* A Unit Data Error has occurred */
+ T_ORDREL = 0x0080, /* An orderly release is available */
+ T_GODATA = 0x0100, /* Flow control lifted on standard data */
+ T_GOEXDATA = 0x0200, /* Flow control lifted on expedited data*/
+ T_REQUEST = 0x0400, /* An Incoming request is available */
+ T_REPLY = 0x0800, /* An Incoming reply is available */
+ T_PASSCON = 0x1000, /* State is now T_DATAXFER */
+ T_RESET = 0x2000, /* Protocol has been reset */
+ kPRIVATEEVENT = 0x10000000, /* Base of the private event range.*/
+ kCOMPLETEEVENT = 0x20000000, /* Base of the completion event range.*/
+ T_BINDCOMPLETE = 0x20000001, /* Bind call is complete */
+ T_UNBINDCOMPLETE = 0x20000002, /* Unbind call is complete */
+ T_ACCEPTCOMPLETE = 0x20000003, /* Accept call is complete */
+ T_REPLYCOMPLETE = 0x20000004, /* SendReply call is complete */
+ T_DISCONNECTCOMPLETE = 0x20000005, /* Disconnect call is complete */
+ T_OPTMGMTCOMPLETE = 0x20000006, /* OptMgmt call is complete */
+ T_OPENCOMPLETE = 0x20000007, /* An Open call is complete */
+ T_GETPROTADDRCOMPLETE = 0x20000008, /* GetProtAddress call is complete */
+ T_RESOLVEADDRCOMPLETE = 0x20000009, /* A ResolveAddress call is complet */
+ T_GETINFOCOMPLETE = 0x2000000A, /* A GetInfo call is complete */
+ T_SYNCCOMPLETE = 0x2000000B, /* A Sync call is complete */
+ T_MEMORYRELEASED = 0x2000000C, /* No-copy memory was released */
+ T_REGNAMECOMPLETE = 0x2000000D, /* A RegisterName call is complete */
+ T_DELNAMECOMPLETE = 0x2000000E, /* A DeleteName call is complete */
+ T_LKUPNAMECOMPLETE = 0x2000000F, /* A LookupName call is complete */
+ T_LKUPNAMERESULT = 0x20000010, /* A LookupName is returning a name */
+ kOTSyncIdleEvent = 0x20000011, /* Synchronous call Idle event */
+ kSTREAMEVENT = 0x21000000, /* Base of the raw stream event range.*/
+ kOTReservedEvent1 = 0x21000001, /* reserved for internal use by OT */
+ kGetmsgEvent = 0x21000002, /* A GetMessage call is complete */
+ kStreamReadEvent = 0x21000003, /* A Read call is complete */
+ kStreamWriteEvent = 0x21000004, /* A Write call is complete */
+ kStreamIoctlEvent = 0x21000005, /* An Ioctl call is complete */
+ kOTReservedEvent2 = 0x21000006, /* reserved for internal use by OT */
+ kStreamOpenEvent = 0x21000007, /* An OpenStream call is complete */
+ kPollEvent = 0x21000008, /* A Poll call is complete */
+ kOTReservedEvent3 = 0x21000009, /* reserved for internal use by OT */
+ kOTReservedEvent4 = 0x2100000A, /* reserved for internal use by OT */
+ kOTReservedEvent5 = 0x2100000B, /* reserved for internal use by OT */
+ kOTReservedEvent6 = 0x2100000C, /* reserved for internal use by OT */
+ kOTReservedEvent7 = 0x2100000D, /* reserved for internal use by OT */
+ kOTReservedEvent8 = 0x2100000E, /* reserved for internal use by OT */
+ kSIGNALEVENT = 0x22000000, /* A signal has arrived on a raw stream, see "Signal Values" below.*/
+ kPROTOCOLEVENT = 0x23000000, /* Some event from the protocols */
+ kOTProviderIsDisconnected = 0x23000001, /* Provider is temporarily off-line */
+ kOTProviderIsReconnected = 0x23000002, /* Provider is now back on-line */
+ kOTProviderWillClose = 0x24000001, /* Provider will close immediately */
+ kOTProviderIsClosed = 0x24000002, /* Provider was closed */
+ kOTPortDisabled = 0x25000001, /* Port is now disabled, result is 0, cookie is port ref */
+ kOTPortEnabled = 0x25000002, /* Port is now enabled, result is 0, cookie is port ref */
+ kOTPortOffline = 0x25000003, /* Port is now offline, result is 0, cookie is port ref */
+ kOTPortOnline = 0x25000004, /* Port is now online, result is 0, cookie is port ref */
+ kOTClosePortRequest = 0x25000005, /* Request to close/yield, result is reason, cookie is OTPortCloseStruct* */
+ kOTYieldPortRequest = 0x25000005, /* Request to close/yield, result is reason, cookie is OTPortCloseStruct* */
+ kOTNewPortRegistered = 0x25000006, /* New port has been registered, cookie is port ref */
+ kOTPortNetworkChange = 0x25000007, /* Port may have moved to a new network, result is 0, cookie is port ref */
+ kOTConfigurationChanged = 0x26000001, /* Protocol configuration changed */
+ kOTSystemSleep = 0x26000002,
+ kOTSystemShutdown = 0x26000003,
+ kOTSystemAwaken = 0x26000004,
+ kOTSystemIdle = 0x26000005,
+ kOTSystemSleepPrep = 0x26000006,
+ kOTSystemShutdownPrep = 0x26000007,
+ kOTSystemAwakenPrep = 0x26000008,
+ kOTStackIsLoading = 0x27000001, /* Sent before Open Transport attempts to load the TCP/IP protocol stack.*/
+ kOTStackWasLoaded = 0x27000002, /* Sent after the TCP/IP stack has been successfully loaded.*/
+ kOTStackIsUnloading = 0x27000003 /* Sent before Open Transport unloads the TCP/IP stack.*/
+};
+
+
+
+
+/* ***** Event Classification Macros ***** */
#define IsOTPrivateEvent(x) (((x) & 0x70000000L) == kPRIVATEEVENT)
#define IsOTCompleteEvent(x) (((x) & 0x7f000000L) == kCOMPLETEEVENT)
@@ -796,313 +783,293 @@ extern "C" {
#define IsOTSignalEvent(x) (((x) & 0x7f000000L) == kSIGNALEVENT)
#define GetOTEventCode(x) (x)
- /*
- ***** Signal Values *****
- Signals that are generated by a raw stream. When writing a notifier
- for a raw stream, add these values to kSIGNALEVENT to determine what
- event you are receiving.
- */
-
- enum
- {
- kSIGHUP = 1,
- kSIGURG = 16,
- kSIGPOLL = 30
- };
-
- enum
- {
- SIGHUP = kSIGHUP,
- SIGURG = kSIGURG,
- SIGPOLL = kSIGPOLL
- };
-
-
- /*
- ***** Notifier Type Definition *****
- Open Transport notifiers must conform to the OTNotifyProcPtr prototype.
- Even though a OTNotifyUPP is a OTNotifyProcPtr on pre-Carbon system,
- use NewOTNotifyUPP() and friends to make your source code portable to OS X and Carbon.
- */
- typedef CALLBACK_API(void , OTNotifyProcPtr)(void *contextPtr, OTEventCode code, OTResult result, void *cookie);
- typedef TVECTOR_UPP_TYPE(OTNotifyProcPtr) OTNotifyUPP;
- /*
- * NewOTNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTNotifyUPP)
- NewOTNotifyUPP(OTNotifyProcPtr userRoutine);
+/*
+ ***** Signal Values *****
+ Signals that are generated by a raw stream. When writing a notifier
+ for a raw stream, add these values to kSIGNALEVENT to determine what
+ event you are receiving.
+*/
+
+enum {
+ kSIGHUP = 1,
+ kSIGURG = 16,
+ kSIGPOLL = 30
+};
+
+enum {
+ SIGHUP = kSIGHUP,
+ SIGURG = kSIGURG,
+ SIGPOLL = kSIGPOLL
+};
+
+
+/*
+ ***** Notifier Type Definition *****
+ Open Transport notifiers must conform to the OTNotifyProcPtr prototype.
+ Even though a OTNotifyUPP is a OTNotifyProcPtr on pre-Carbon system,
+ use NewOTNotifyUPP() and friends to make your source code portable to OS X and Carbon.
+*/
+typedef CALLBACK_API( void , OTNotifyProcPtr )(void *contextPtr, OTEventCode code, OTResult result, void *cookie);
+typedef TVECTOR_UPP_TYPE(OTNotifyProcPtr) OTNotifyUPP;
+/*
+ * NewOTNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTNotifyUPP )
+NewOTNotifyUPP(OTNotifyProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOTNotifyProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OTNotifyUPP) NewOTNotifyUPP(OTNotifyProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewOTNotifyUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppOTNotifyProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OTNotifyUPP) NewOTNotifyUPP(OTNotifyProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewOTNotifyUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeOTNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOTNotifyUPP(OTNotifyUPP userUPP);
+/*
+ * DisposeOTNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOTNotifyUPP(OTNotifyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOTNotifyUPP(OTNotifyUPP) {}
-#else
-#define DisposeOTNotifyUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOTNotifyUPP(OTNotifyUPP) {}
+ #else
+ #define DisposeOTNotifyUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeOTNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeOTNotifyUPP(
- void * contextPtr,
- OTEventCode code,
- OTResult result,
- void * cookie,
- OTNotifyUPP userUPP);
+/*
+ * InvokeOTNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeOTNotifyUPP(
+ void * contextPtr,
+ OTEventCode code,
+ OTResult result,
+ void * cookie,
+ OTNotifyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeOTNotifyUPP(void * contextPtr, OTEventCode code, OTResult result, void * cookie, OTNotifyUPP userUPP)
- {
- (*userUPP)(contextPtr, code, result, cookie);
- }
-#else
-#define InvokeOTNotifyUPP(contextPtr, code, result, cookie, userUPP) (*userUPP)(contextPtr, code, result, cookie)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeOTNotifyUPP(void * contextPtr, OTEventCode code, OTResult result, void * cookie, OTNotifyUPP userUPP) { (*userUPP)(contextPtr, code, result, cookie); }
+ #else
+ #define InvokeOTNotifyUPP(contextPtr, code, result, cookie, userUPP) (*userUPP)(contextPtr, code, result, cookie)
+ #endif
#endif
- /* ***** Option Management Definitions ******/
- /* The XTI Level number of a protocol.*/
- enum
- {
- XTI_GENERIC = 0xFFFF /* level for XTI options */
- };
-
- typedef UInt32 OTXTILevel;
- /* The XTI name of a protocol option.*/
- typedef UInt32 OTXTIName;
- /* XTI names for options used with XTI_GENERIC above*/
- enum
- {
- XTI_DEBUG = 0x0001,
- XTI_LINGER = 0x0080,
- XTI_RCVBUF = 0x1002,
- XTI_RCVLOWAT = 0x1004,
- XTI_SNDBUF = 0x1001,
- XTI_SNDLOWAT = 0x1003,
- XTI_PROTOTYPE = 0x1005,
- OPT_CHECKSUM = 0x0600, /* Set checksumming = UInt32 - 0 or 1)*/
- OPT_RETRYCNT = 0x0601, /* Set a retry counter = UInt32 (0 = infinite)*/
- OPT_INTERVAL = 0x0602, /* Set a retry interval = UInt32 milliseconds*/
- OPT_ENABLEEOM = 0x0603, /* Enable the EOM indication = UInt8 (0 or 1)*/
- OPT_SELFSEND = 0x0604, /* Enable Self-sending on broadcasts = UInt32 (0 or 1)*/
- OPT_SERVERSTATUS = 0x0605, /* Set Server Status (format is proto dependent)*/
- OPT_ALERTENABLE = 0x0606, /* Enable/Disable protocol alerts*/
- OPT_KEEPALIVE = 0x0008 /* See t_keepalive structure*/
- };
-
- /* ***** Ioctl Definitions ******/
-
- /*
- All OT ioctl numbers are formed using the MIOC_CMD macro,
- which divides the ioctl space by protocol space (the
- first parameter) and ioctl number within that protocol
- space (the second parameter). This macro is only available
- to C users but it's relatively easy to synthesise its
- results in other languages.
- */
+/* ***** Option Management Definitions ******/
+/* The XTI Level number of a protocol.*/
+enum {
+ XTI_GENERIC = 0xFFFF /* level for XTI options */
+};
+
+typedef UInt32 OTXTILevel;
+/* The XTI name of a protocol option.*/
+typedef UInt32 OTXTIName;
+/* XTI names for options used with XTI_GENERIC above*/
+enum {
+ XTI_DEBUG = 0x0001,
+ XTI_LINGER = 0x0080,
+ XTI_RCVBUF = 0x1002,
+ XTI_RCVLOWAT = 0x1004,
+ XTI_SNDBUF = 0x1001,
+ XTI_SNDLOWAT = 0x1003,
+ XTI_PROTOTYPE = 0x1005,
+ OPT_CHECKSUM = 0x0600, /* Set checksumming = UInt32 - 0 or 1)*/
+ OPT_RETRYCNT = 0x0601, /* Set a retry counter = UInt32 (0 = infinite)*/
+ OPT_INTERVAL = 0x0602, /* Set a retry interval = UInt32 milliseconds*/
+ OPT_ENABLEEOM = 0x0603, /* Enable the EOM indication = UInt8 (0 or 1)*/
+ OPT_SELFSEND = 0x0604, /* Enable Self-sending on broadcasts = UInt32 (0 or 1)*/
+ OPT_SERVERSTATUS = 0x0605, /* Set Server Status (format is proto dependent)*/
+ OPT_ALERTENABLE = 0x0606, /* Enable/Disable protocol alerts*/
+ OPT_KEEPALIVE = 0x0008 /* See t_keepalive structure*/
+};
+
+/* ***** Ioctl Definitions ******/
+
+/*
+ All OT ioctl numbers are formed using the MIOC_CMD macro,
+ which divides the ioctl space by protocol space (the
+ first parameter) and ioctl number within that protocol
+ space (the second parameter). This macro is only available
+ to C users but it's relatively easy to synthesise its
+ results in other languages.
+*/
#define MIOC_CMD(t,v) ((((t)&0xFF) << 8) | ((v)&0xFF))
- /* The following is a registry of the ioctls protocol spaces.*/
-
- enum
- {
- MIOC_STREAMIO = 'A', /* Basic Stream ioctl() cmds - I_PUSH, I_LOOK, etc. */
- MIOC_TMOD = 'a', /* ioctl's for tmod test module */
- MIOC_STRLOG = 'b', /* ioctl's for Mentat's log device */
- MIOC_ND = 'c', /* ioctl's for Mentat's nd device */
- MIOC_ECHO = 'd', /* ioctl's for Mentat's echo device */
- MIOC_TLI = 'e', /* ioctl's for Mentat's timod module */
- MIOC_RESERVEDf = 'f', /* reserved, used by SVR4 FIOxxx */
- MIOC_SAD = 'g', /* ioctl's for Mentat's sad module */
- MIOC_ARP = 'h', /* ioctl's for Mentat's arp module */
- MIOC_HAVOC = 'H', /* Havoc module ioctls. */
- MIOC_RESERVEDi = 'i', /* reserved, used by SVR4 SIOCxxx */
- MIOC_SIOC = 'j', /* sockio.h socket ioctl's */
- MIOC_TCP = 'k', /* tcp.h ioctl's */
- MIOC_DLPI = 'l', /* dlpi.h additions */
- MIOC_SOCKETS = 'm', /* Mentat sockmod ioctl's */
- MIOC_IPX = 'o', /* ioctls for IPX */
- MIOC_OT = 'O', /* ioctls for Open Transport */
- MIOC_ATALK = 'T', /* ioctl's for AppleTalk */
- MIOC_SRL = 'U', /* ioctl's for Serial */
- MIOC_RESERVEDp = 'p', /* reserved, used by SVR4 */
- MIOC_RESERVEDr = 'r', /* reserved, used by SVR4 */
- MIOC_RESERVEDs = 's', /* reserved, used by SVR4 */
- MIOC_CFIG = 'z' /* ioctl's for private configuration */
- };
-
- /* OT specific ioctls.*/
-
- enum
- {
- I_OTGetMiscellaneousEvents = ((MIOC_OT << 8) | 1), /* sign up for Misc Events */
- I_OTSetFramingType = ((MIOC_OT << 8) | 2), /* Set framing option for link */
- kOTGetFramingValue = (unsigned long)0xFFFFFFFF, /* Use this value to read framing */
- I_OTSetRawMode = ((MIOC_OT << 8) | 3), /* Set raw mode for link */
- kOTSetRecvMode = 0x01,
- kOTSendErrorPacket = 0x02,
- I_OTConnect = ((MIOC_OT << 8) | 4), /* Generic connect request for links */
- I_OTDisconnect = ((MIOC_OT << 8) | 5), /* Generic disconnect request for links */
- I_OTScript = ((MIOC_OT << 8) | 6) /* Send a script to a module */
- };
-
- /* Structure for the I_OTScript Ioctl.*/
-
- struct OTScriptInfo
- {
- UInt32 fScriptType;
- void * fTheScript;
- UInt32 fScriptLength;
- };
- typedef struct OTScriptInfo OTScriptInfo;
- /*
- ***** XTI States *****
- These are the potential values returned by OTGetEndpointState and OTSync
- which represent the XTI state of an endpoint.
- */
- typedef UInt32 OTXTIStates;
- enum
- {
- T_UNINIT = 0, /* addition to standard xti.h */
- T_UNBND = 1, /* unbound */
- T_IDLE = 2, /* idle */
- T_OUTCON = 3, /* outgoing connection pending */
- T_INCON = 4, /* incoming connection pending */
- T_DATAXFER = 5, /* data transfer */
- T_OUTREL = 6, /* outgoing orderly release */
- T_INREL = 7 /* incoming orderly release */
- };
-
- /*
- ***** General XTI Definitions *****
- These definitions are typically used during option management.
- */
-
- enum
- {
- T_YES = 1,
- T_NO = 0,
- T_UNUSED = (unsigned long)(-1),
- kT_NULL = 0,
- T_ABSREQ = 0x8000
- };
-
- enum
- {
- kT_UNSPEC = (unsigned long)0xFFFFFFFD,
- T_ALLOPT = 0
- };
-
- enum
- {
- T_NULL = kT_NULL,
- T_UNSPEC = kT_UNSPEC
- };
-
- /*
- ***** OTConfiguration *****
- This is a "black box" structure used to define the configuration of a
- provider or endpoint. This file defines a very limited set of operations
- on a configuration. "OpenTransportClient.h" extends this with extra
- operations used by protocol stacks but not typically needed by clients.
- */
+/* The following is a registry of the ioctls protocol spaces.*/
+
+enum {
+ MIOC_STREAMIO = 'A', /* Basic Stream ioctl() cmds - I_PUSH, I_LOOK, etc. */
+ MIOC_TMOD = 'a', /* ioctl's for tmod test module */
+ MIOC_STRLOG = 'b', /* ioctl's for Mentat's log device */
+ MIOC_ND = 'c', /* ioctl's for Mentat's nd device */
+ MIOC_ECHO = 'd', /* ioctl's for Mentat's echo device */
+ MIOC_TLI = 'e', /* ioctl's for Mentat's timod module */
+ MIOC_RESERVEDf = 'f', /* reserved, used by SVR4 FIOxxx */
+ MIOC_SAD = 'g', /* ioctl's for Mentat's sad module */
+ MIOC_ARP = 'h', /* ioctl's for Mentat's arp module */
+ MIOC_HAVOC = 'H', /* Havoc module ioctls. */
+ MIOC_RESERVEDi = 'i', /* reserved, used by SVR4 SIOCxxx */
+ MIOC_SIOC = 'j', /* sockio.h socket ioctl's */
+ MIOC_TCP = 'k', /* tcp.h ioctl's */
+ MIOC_DLPI = 'l', /* dlpi.h additions */
+ MIOC_SOCKETS = 'm', /* Mentat sockmod ioctl's */
+ MIOC_IPX = 'o', /* ioctls for IPX */
+ MIOC_OT = 'O', /* ioctls for Open Transport */
+ MIOC_ATALK = 'T', /* ioctl's for AppleTalk */
+ MIOC_SRL = 'U', /* ioctl's for Serial */
+ MIOC_RESERVEDp = 'p', /* reserved, used by SVR4 */
+ MIOC_RESERVEDr = 'r', /* reserved, used by SVR4 */
+ MIOC_RESERVEDs = 's', /* reserved, used by SVR4 */
+ MIOC_CFIG = 'z' /* ioctl's for private configuration */
+};
+
+/* OT specific ioctls.*/
+
+enum {
+ I_OTGetMiscellaneousEvents = ((MIOC_OT << 8) | 1), /* sign up for Misc Events */
+ I_OTSetFramingType = ((MIOC_OT << 8) | 2), /* Set framing option for link */
+ kOTGetFramingValue = (unsigned long)0xFFFFFFFF, /* Use this value to read framing */
+ I_OTSetRawMode = ((MIOC_OT << 8) | 3), /* Set raw mode for link */
+ kOTSetRecvMode = 0x01,
+ kOTSendErrorPacket = 0x02,
+ I_OTConnect = ((MIOC_OT << 8) | 4), /* Generic connect request for links */
+ I_OTDisconnect = ((MIOC_OT << 8) | 5), /* Generic disconnect request for links */
+ I_OTScript = ((MIOC_OT << 8) | 6) /* Send a script to a module */
+};
+
+/* Structure for the I_OTScript Ioctl.*/
+
+struct OTScriptInfo {
+ UInt32 fScriptType;
+ void * fTheScript;
+ UInt32 fScriptLength;
+};
+typedef struct OTScriptInfo OTScriptInfo;
+/*
+ ***** XTI States *****
+ These are the potential values returned by OTGetEndpointState and OTSync
+ which represent the XTI state of an endpoint.
+*/
+typedef UInt32 OTXTIStates;
+enum {
+ T_UNINIT = 0, /* addition to standard xti.h */
+ T_UNBND = 1, /* unbound */
+ T_IDLE = 2, /* idle */
+ T_OUTCON = 3, /* outgoing connection pending */
+ T_INCON = 4, /* incoming connection pending */
+ T_DATAXFER = 5, /* data transfer */
+ T_OUTREL = 6, /* outgoing orderly release */
+ T_INREL = 7 /* incoming orderly release */
+};
+
+/*
+ ***** General XTI Definitions *****
+ These definitions are typically used during option management.
+*/
+
+enum {
+ T_YES = 1,
+ T_NO = 0,
+ T_UNUSED = (unsigned long)(-1),
+ kT_NULL = 0,
+ T_ABSREQ = 0x8000
+};
+
+enum {
+ kT_UNSPEC = (unsigned long)0xFFFFFFFD,
+ T_ALLOPT = 0
+};
+
+enum {
+ T_NULL = kT_NULL,
+ T_UNSPEC = kT_UNSPEC
+};
+
+/*
+ ***** OTConfiguration *****
+ This is a "black box" structure used to define the configuration of a
+ provider or endpoint. This file defines a very limited set of operations
+ on a configuration. "OpenTransportClient.h" extends this with extra
+ operations used by protocol stacks but not typically needed by clients.
+*/
#ifdef __cplusplus
- typedef class OTConfiguration* OTConfigurationRef;
+typedef class OTConfiguration* OTConfigurationRef;
#else
- typedef struct OTConfiguration* OTConfigurationRef;
+typedef struct OTConfiguration* OTConfigurationRef;
#endif
#define kOTNoMemoryConfigurationPtr ((OTConfigurationRef)0L)
#define kOTInvalidConfigurationPtr ((OTConfigurationRef)-1L)
- /* ***** Option Management Structures ******/
-
- /* This structure describes the contents of a single option in a buffer.*/
-
- struct TOptionHeader
- {
- ByteCount len; /* total length of option */
- /* = sizeof(TOptionHeader) + length */
- /* of option value in bytes */
- OTXTILevel level; /* protocol affected */
- OTXTIName name; /* option name */
- UInt32 status; /* status value */
- };
- typedef struct TOptionHeader TOptionHeader;
- /*
- This structure describes the contents of a single option in a buffer.
- It differs from TOptionHeader in that it includes the value field,
- which acts as an unbounded array representing the value of the option.
- */
- struct TOption
- {
- ByteCount len; /* total length of option */
- /* = sizeof(TOption) + length */
- /* of option value in bytes */
- OTXTILevel level; /* protocol affected */
- OTXTIName name; /* option name */
- UInt32 status; /* status value */
- UInt32 value[1]; /* data goes here */
- };
- typedef struct TOption TOption;
- /* Some useful constants when manipulating option buffers.*/
- enum
- {
- kOTOptionHeaderSize = sizeof(TOptionHeader),
- kOTBooleanOptionDataSize = sizeof(UInt32),
- kOTBooleanOptionSize = kOTOptionHeaderSize + kOTBooleanOptionDataSize,
- kOTOneByteOptionSize = kOTOptionHeaderSize + 1,
- kOTTwoByteOptionSize = kOTOptionHeaderSize + 2,
- kOTFourByteOptionSize = kOTOptionHeaderSize + sizeof(UInt32)
- };
-
-
- /*
- This macro will align return the value of "len", rounded up to the next
- 4-byte boundary.
- */
+/* ***** Option Management Structures ******/
+
+/* This structure describes the contents of a single option in a buffer.*/
+
+struct TOptionHeader {
+ ByteCount len; /* total length of option */
+ /* = sizeof(TOptionHeader) + length */
+ /* of option value in bytes */
+ OTXTILevel level; /* protocol affected */
+ OTXTIName name; /* option name */
+ UInt32 status; /* status value */
+};
+typedef struct TOptionHeader TOptionHeader;
+/*
+ This structure describes the contents of a single option in a buffer.
+ It differs from TOptionHeader in that it includes the value field,
+ which acts as an unbounded array representing the value of the option.
+*/
+struct TOption {
+ ByteCount len; /* total length of option */
+ /* = sizeof(TOption) + length */
+ /* of option value in bytes */
+ OTXTILevel level; /* protocol affected */
+ OTXTIName name; /* option name */
+ UInt32 status; /* status value */
+ UInt32 value[1]; /* data goes here */
+};
+typedef struct TOption TOption;
+/* Some useful constants when manipulating option buffers.*/
+enum {
+ kOTOptionHeaderSize = sizeof(TOptionHeader),
+ kOTBooleanOptionDataSize = sizeof(UInt32),
+ kOTBooleanOptionSize = kOTOptionHeaderSize + kOTBooleanOptionDataSize,
+ kOTOneByteOptionSize = kOTOptionHeaderSize + 1,
+ kOTTwoByteOptionSize = kOTOptionHeaderSize + 2,
+ kOTFourByteOptionSize = kOTOptionHeaderSize + sizeof(UInt32)
+};
+
+
+/*
+ This macro will align return the value of "len", rounded up to the next
+ 4-byte boundary.
+*/
#define T_ALIGN(len) (((UInt32)(len)+(sizeof(SInt32)-1)) & ~(sizeof(SInt32)-1))
- /*
- This macro will return the next option in the buffer, given the previous option
- in the buffer, returning NULL if there are no more.
- You start off by setting prevOption = (TOption*)theBuffer
- (Use OTNextOption for a more thorough check - it ensures the end
- of the option is in the buffer as well.)
- */
+/*
+ This macro will return the next option in the buffer, given the previous option
+ in the buffer, returning NULL if there are no more.
+ You start off by setting prevOption = (TOption*)theBuffer
+ (Use OTNextOption for a more thorough check - it ensures the end
+ of the option is in the buffer as well.)
+*/
#define OPT_NEXTHDR(theBuffer, theBufLen, prevOption) \
(((char*)(prevOption) + T_ALIGN((prevOption)->len) < (char*)(theBuffer) + (theBufLen)) ? \
@@ -1110,865 +1077,827 @@ extern "C" {
: (TOption*)NULL)
- /* t_kpalive is used with OPT_KEEPALIVE option.*/
-
- struct t_kpalive
- {
- SInt32 kp_onoff; /* option on/off */
- SInt32 kp_timeout; /* timeout in minutes */
- };
- typedef struct t_kpalive t_kpalive;
- /* t_linger is used with XTI_LINGER option.*/
- struct t_linger
- {
- SInt32 l_onoff; /* option on/off */
- SInt32 l_linger; /* linger time */
- };
- typedef struct t_linger t_linger;
- /*
- ***** TEndpointInfo *****
- This structure is returned from the GetEndpointInfo call and contains
- information about an endpoint. But first, some special flags and types.
- */
- /* Values returned in servtype field of TEndpointInfo.*/
-
- typedef UInt32 OTServiceType;
- enum
- {
- T_COTS = 1, /* Connection-mode service */
- T_COTS_ORD = 2, /* Connection service with orderly release */
- T_CLTS = 3, /* Connectionless-mode service */
- T_TRANS = 5, /* Connection-mode transaction service */
- T_TRANS_ORD = 6, /* Connection transaction service with orderly release */
- T_TRANS_CLTS = 7 /* Connectionless transaction service */
- };
-
- /* Masks for the flags field of TEndpointInfo.*/
-
- enum
- {
- T_SENDZERO = 0x0001, /* supports 0-length TSDU's */
- T_XPG4_1 = 0x0002, /* supports the GetProtAddress call */
- T_CAN_SUPPORT_MDATA = 0x10000000, /* support M_DATAs on packet protocols */
- T_CAN_RESOLVE_ADDR = 0x40000000, /* Supports ResolveAddress call */
- T_CAN_SUPPLY_MIB = 0x20000000 /* Supports SNMP MIB data */
- };
-
- /*
- Special-case values for in the tsdu, etsdu, connect, and discon
- fields of TEndpointInfo.
- */
-
- enum
- {
- T_INFINITE = -1, /* supports infinit amounts of data */
- T_INVALID = -2 /* Does not support data transmission */
- };
-
-
- typedef SInt32 OTDataSize;
- /* Now the TEndpointInfo structure proper.*/
- struct TEndpointInfo
- {
- OTDataSize addr; /* Maximum size of an address */
- OTDataSize options; /* Maximum size of options */
- OTDataSize tsdu; /* Standard data transmit unit size */
- OTDataSize etsdu; /* Expedited data transmit unit size */
- OTDataSize connect; /* Maximum data size on connect */
- OTDataSize discon; /* Maximum data size on disconnect */
- OTServiceType servtype; /* service type */
- UInt32 flags; /* Flags (see above for values) */
- };
- typedef struct TEndpointInfo TEndpointInfo;
- /*
- "OpenTransport.h" no longer defines "struct t_info". We recommend
- that you use TEndpointInfo instead. If this is impossible, use
- the definition of "struct t_info" in "OpenTransportXTI.h".
- */
- /* ***** OTPortRecord ******/
-
- /* Unique identifier for a port.*/
-
-
- typedef UInt32 OTPortRef;
- typedef OTPortRef * OTPortRefPtr;
- enum
- {
- kOTInvalidPortRef = 0
- };
-
- /* Valid values for the bus type element of an OTPortRef.*/
-
- typedef UInt8 OTBusType;
- enum
- {
- kOTUnknownBusPort = 0,
- kOTMotherboardBus = 1,
- kOTNuBus = 2,
- kOTPCIBus = 3,
- kOTGeoPort = 4,
- kOTPCCardBus = 5,
- kOTFireWireBus = 6,
- kOTLastBusIndex = 15
- };
-
- /*
- A couple of special values for the device type element of an
- OTPortRef. See "OpenTransportDevices.h" for the standard values.
- */
-
- typedef UInt16 OTDeviceType;
- enum
- {
- kOTNoDeviceType = 0,
- kOTADEVDevice = 1, /* An Atalk ADEV */
- kOTMDEVDevice = 2, /* A TCP/IP MDEV */
- kOTLocalTalkDevice = 3, /* LocalTalk */
- kOTIRTalkDevice = 4, /* IRTalk */
- kOTTokenRingDevice = 5, /* Token Ring */
- kOTISDNDevice = 6, /* ISDN */
- kOTATMDevice = 7, /* ATM */
- kOTSMDSDevice = 8, /* SMDS */
- kOTSerialDevice = 9, /* Serial */
- kOTEthernetDevice = 10, /* Ethernet */
- kOTSLIPDevice = 11, /* SLIP Pseudo-device */
- kOTPPPDevice = 12, /* PPP Pseudo-device */
- kOTModemDevice = 13, /* Modem Pseudo-Device */
- kOTFastEthernetDevice = 14, /* 100 MB Ethernet */
- kOTFDDIDevice = 15, /* FDDI */
- kOTIrDADevice = 16, /* IrDA Infrared */
- kOTATMSNAPDevice = 17, /* ATM SNAP emulation */
- kOTFibreChannelDevice = 18, /* Fibre Channel */
- kOTFireWireDevice = 19, /* FireWire link Device */
- kOTPseudoDevice = 1023, /* used where no other defined device type will work*/
- kOTLastDeviceIndex = 1022
- };
-
- /* Special case values for the slot number element of an OTPortRef.*/
-
- enum
- {
- kOTLastSlotNumber = 255,
- kOTLastOtherNumber = 255
- };
-
- typedef UInt16 OTSlotNumber;
- /* Accessor functions for the various elements of the OTPortRef.*/
- /*
- * OTCreatePortRef()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTPortRef)
- OTCreatePortRef(
- OTBusType busType,
- OTDeviceType devType,
- OTSlotNumber slot,
- UInt16 other);
-
-
- /*
- * OTGetDeviceTypeFromPortRef()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTDeviceType)
- OTGetDeviceTypeFromPortRef(OTPortRef ref);
-
-
- /*
- * OTGetBusTypeFromPortRef()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt16)
- OTGetBusTypeFromPortRef(OTPortRef ref);
-
-
- /*
- * OTGetSlotFromPortRef()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTSlotNumber)
- OTGetSlotFromPortRef(
- OTPortRef ref,
- UInt16 * other);
-
-
- /*
- * OTSetDeviceTypeInPortRef()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTPortRef)
- OTSetDeviceTypeInPortRef(
- OTPortRef ref,
- OTDeviceType devType);
-
-
- /*
- * OTSetBusTypeInPortRef()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTPortRef)
- OTSetBusTypeInPortRef(
- OTPortRef ref,
- OTBusType busType);
-
-
-
- /*
- Convenience macros for generating specific types of OTPortRefs.
- */
+/* t_kpalive is used with OPT_KEEPALIVE option.*/
+
+struct t_kpalive {
+ SInt32 kp_onoff; /* option on/off */
+ SInt32 kp_timeout; /* timeout in minutes */
+};
+typedef struct t_kpalive t_kpalive;
+/* t_linger is used with XTI_LINGER option.*/
+struct t_linger {
+ SInt32 l_onoff; /* option on/off */
+ SInt32 l_linger; /* linger time */
+};
+typedef struct t_linger t_linger;
+/*
+ ***** TEndpointInfo *****
+ This structure is returned from the GetEndpointInfo call and contains
+ information about an endpoint. But first, some special flags and types.
+*/
+/* Values returned in servtype field of TEndpointInfo.*/
+
+typedef UInt32 OTServiceType;
+enum {
+ T_COTS = 1, /* Connection-mode service */
+ T_COTS_ORD = 2, /* Connection service with orderly release */
+ T_CLTS = 3, /* Connectionless-mode service */
+ T_TRANS = 5, /* Connection-mode transaction service */
+ T_TRANS_ORD = 6, /* Connection transaction service with orderly release */
+ T_TRANS_CLTS = 7 /* Connectionless transaction service */
+};
+
+/* Masks for the flags field of TEndpointInfo.*/
+
+enum {
+ T_SENDZERO = 0x0001, /* supports 0-length TSDU's */
+ T_XPG4_1 = 0x0002, /* supports the GetProtAddress call */
+ T_CAN_SUPPORT_MDATA = 0x10000000, /* support M_DATAs on packet protocols */
+ T_CAN_RESOLVE_ADDR = 0x40000000, /* Supports ResolveAddress call */
+ T_CAN_SUPPLY_MIB = 0x20000000 /* Supports SNMP MIB data */
+};
+
+/*
+ Special-case values for in the tsdu, etsdu, connect, and discon
+ fields of TEndpointInfo.
+*/
+
+enum {
+ T_INFINITE = -1, /* supports infinit amounts of data */
+ T_INVALID = -2 /* Does not support data transmission */
+};
+
+
+typedef SInt32 OTDataSize;
+/* Now the TEndpointInfo structure proper.*/
+struct TEndpointInfo {
+ OTDataSize addr; /* Maximum size of an address */
+ OTDataSize options; /* Maximum size of options */
+ OTDataSize tsdu; /* Standard data transmit unit size */
+ OTDataSize etsdu; /* Expedited data transmit unit size */
+ OTDataSize connect; /* Maximum data size on connect */
+ OTDataSize discon; /* Maximum data size on disconnect */
+ OTServiceType servtype; /* service type */
+ UInt32 flags; /* Flags (see above for values) */
+};
+typedef struct TEndpointInfo TEndpointInfo;
+/*
+ "OpenTransport.h" no longer defines "struct t_info". We recommend
+ that you use TEndpointInfo instead. If this is impossible, use
+ the definition of "struct t_info" in "OpenTransportXTI.h".
+*/
+/* ***** OTPortRecord ******/
+
+/* Unique identifier for a port.*/
+
+
+typedef UInt32 OTPortRef;
+typedef OTPortRef * OTPortRefPtr;
+enum {
+ kOTInvalidPortRef = 0
+};
+
+/* Valid values for the bus type element of an OTPortRef.*/
+
+typedef UInt8 OTBusType;
+enum {
+ kOTUnknownBusPort = 0,
+ kOTMotherboardBus = 1,
+ kOTNuBus = 2,
+ kOTPCIBus = 3,
+ kOTGeoPort = 4,
+ kOTPCCardBus = 5,
+ kOTFireWireBus = 6,
+ kOTLastBusIndex = 15
+};
+
+/*
+ A couple of special values for the device type element of an
+ OTPortRef. See "OpenTransportDevices.h" for the standard values.
+*/
+
+typedef UInt16 OTDeviceType;
+enum {
+ kOTNoDeviceType = 0,
+ kOTADEVDevice = 1, /* An Atalk ADEV */
+ kOTMDEVDevice = 2, /* A TCP/IP MDEV */
+ kOTLocalTalkDevice = 3, /* LocalTalk */
+ kOTIRTalkDevice = 4, /* IRTalk */
+ kOTTokenRingDevice = 5, /* Token Ring */
+ kOTISDNDevice = 6, /* ISDN */
+ kOTATMDevice = 7, /* ATM */
+ kOTSMDSDevice = 8, /* SMDS */
+ kOTSerialDevice = 9, /* Serial */
+ kOTEthernetDevice = 10, /* Ethernet */
+ kOTSLIPDevice = 11, /* SLIP Pseudo-device */
+ kOTPPPDevice = 12, /* PPP Pseudo-device */
+ kOTModemDevice = 13, /* Modem Pseudo-Device */
+ kOTFastEthernetDevice = 14, /* 100 MB Ethernet */
+ kOTFDDIDevice = 15, /* FDDI */
+ kOTIrDADevice = 16, /* IrDA Infrared */
+ kOTATMSNAPDevice = 17, /* ATM SNAP emulation */
+ kOTFibreChannelDevice = 18, /* Fibre Channel */
+ kOTFireWireDevice = 19, /* FireWire link Device */
+ kOTPseudoDevice = 1023, /* used where no other defined device type will work*/
+ kOTLastDeviceIndex = 1022
+};
+
+/* Special case values for the slot number element of an OTPortRef.*/
+
+enum {
+ kOTLastSlotNumber = 255,
+ kOTLastOtherNumber = 255
+};
+
+typedef UInt16 OTSlotNumber;
+/* Accessor functions for the various elements of the OTPortRef.*/
+/*
+ * OTCreatePortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTPortRef )
+OTCreatePortRef(
+ OTBusType busType,
+ OTDeviceType devType,
+ OTSlotNumber slot,
+ UInt16 other);
+
+
+/*
+ * OTGetDeviceTypeFromPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTDeviceType )
+OTGetDeviceTypeFromPortRef(OTPortRef ref);
+
+
+/*
+ * OTGetBusTypeFromPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt16 )
+OTGetBusTypeFromPortRef(OTPortRef ref);
+
+
+/*
+ * OTGetSlotFromPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTSlotNumber )
+OTGetSlotFromPortRef(
+ OTPortRef ref,
+ UInt16 * other);
+
+
+/*
+ * OTSetDeviceTypeInPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTPortRef )
+OTSetDeviceTypeInPortRef(
+ OTPortRef ref,
+ OTDeviceType devType);
+
+
+/*
+ * OTSetBusTypeInPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTPortRef )
+OTSetBusTypeInPortRef(
+ OTPortRef ref,
+ OTBusType busType);
+
+
+
+/*
+ Convenience macros for generating specific types of OTPortRefs.
+*/
#define OTCreateNuBusPortRef(devType, slot, other) \
OTCreatePortRef(kOTNuBus, devType, slot, other)
-
+
#define OTCreatePCIPortRef(devType, slot, other) \
OTCreatePortRef(kOTPCIBus, devType, slot, other)
-
+
#define OTCreatePCCardPortRef(devType, slot, other) \
OTCreatePortRef(kOTPCCardBus, devType, slot, other)
- /* Name length definitions for various fields in OTPortRecord.*/
-
- enum
- {
- kMaxModuleNameLength = 31, /* max length of a STREAMS module name*/
- kMaxModuleNameSize = kMaxModuleNameLength + 1,
- kMaxProviderNameLength = kMaxModuleNameLength + 4, /* providers allow 4 characters for minor number*/
- kMaxProviderNameSize = kMaxProviderNameLength + 1,
- kMaxSlotIDLength = 7, /* PCI slot names tend to be short*/
- kMaxSlotIDSize = kMaxSlotIDLength + 1,
- kMaxResourceInfoLength = 31, /* max length of a configuration helper name*/
- kMaxResourceInfoSize = 32,
- kMaxPortNameLength = kMaxModuleNameLength + 4, /* max size allowed to define a port*/
- kMaxPortNameSize = kMaxPortNameLength + 1
- };
-
- /*
- Masks for the fPortFlags field of OTPortRecord
- If no bits are set, the port is currently inactive.
- */
-
- enum
- {
- kOTPortIsActive = 0x00000001,
- kOTPortIsDisabled = 0x00000002,
- kOTPortIsUnavailable = 0x00000004,
- kOTPortIsOffline = 0x00000008
- };
-
- /* Masks for the fInfoFlags field of the OTPortRecord.*/
-
- enum
- {
- kOTPortIsDLPI = 0x00000001,
- kOTPortIsTPI = 0x00000002,
- kOTPortCanYield = 0x00000004, /* will not be set until the port is used for the first time*/
- kOTPortCanArbitrate = 0x00000008, /* will not be set until the port is used for the first time*/
- kOTPortIsTransitory = 0x00000010,
- kOTPortAutoConnects = 0x00000020,
- kOTPortIsSystemRegistered = 0x00004000,
- kOTPortIsPrivate = 0x00008000,
- kOTPortIsAlias = (unsigned long)0x80000000
- };
-
- /*
- One OTPortRecord is created for each instance of a port.
- For Instance 'enet' identifies an ethernet port.
- A OTPortRecord for each ethernet card it finds, with an
- OTPortRef that will uniquely allow the driver to determine which
- port it is supposed to open on.
- */
-
- struct OTPortRecord
- {
- OTPortRef fRef;
- UInt32 fPortFlags;
- UInt32 fInfoFlags;
- UInt32 fCapabilities;
- ItemCount fNumChildPorts;
- OTPortRef * fChildPorts;
- char fPortName[36];
- char fModuleName[32];
- char fSlotID[8];
- char fResourceInfo[32];
- char fReserved[164];
- };
- typedef struct OTPortRecord OTPortRecord;
- /*
- Routines for finding, registering and unregistering ports.
- IMPORTANT:
- These routines have two versions, one for the client and one
- for the kernel. Make sure you use and link with the right ones.
- */
+/* Name length definitions for various fields in OTPortRecord.*/
+
+enum {
+ kMaxModuleNameLength = 31, /* max length of a STREAMS module name*/
+ kMaxModuleNameSize = kMaxModuleNameLength + 1,
+ kMaxProviderNameLength = kMaxModuleNameLength + 4, /* providers allow 4 characters for minor number*/
+ kMaxProviderNameSize = kMaxProviderNameLength + 1,
+ kMaxSlotIDLength = 7, /* PCI slot names tend to be short*/
+ kMaxSlotIDSize = kMaxSlotIDLength + 1,
+ kMaxResourceInfoLength = 31, /* max length of a configuration helper name*/
+ kMaxResourceInfoSize = 32,
+ kMaxPortNameLength = kMaxModuleNameLength + 4, /* max size allowed to define a port*/
+ kMaxPortNameSize = kMaxPortNameLength + 1
+};
+
+/*
+ Masks for the fPortFlags field of OTPortRecord
+ If no bits are set, the port is currently inactive.
+*/
+
+enum {
+ kOTPortIsActive = 0x00000001,
+ kOTPortIsDisabled = 0x00000002,
+ kOTPortIsUnavailable = 0x00000004,
+ kOTPortIsOffline = 0x00000008
+};
+
+/* Masks for the fInfoFlags field of the OTPortRecord.*/
+
+enum {
+ kOTPortIsDLPI = 0x00000001,
+ kOTPortIsTPI = 0x00000002,
+ kOTPortCanYield = 0x00000004, /* will not be set until the port is used for the first time*/
+ kOTPortCanArbitrate = 0x00000008, /* will not be set until the port is used for the first time*/
+ kOTPortIsTransitory = 0x00000010,
+ kOTPortAutoConnects = 0x00000020,
+ kOTPortIsSystemRegistered = 0x00004000,
+ kOTPortIsPrivate = 0x00008000,
+ kOTPortIsAlias = (unsigned long)0x80000000
+};
+
+/*
+ One OTPortRecord is created for each instance of a port.
+ For Instance 'enet' identifies an ethernet port.
+ A OTPortRecord for each ethernet card it finds, with an
+ OTPortRef that will uniquely allow the driver to determine which
+ port it is supposed to open on.
+*/
+
+struct OTPortRecord {
+ OTPortRef fRef;
+ UInt32 fPortFlags;
+ UInt32 fInfoFlags;
+ UInt32 fCapabilities;
+ ItemCount fNumChildPorts;
+ OTPortRef * fChildPorts;
+ char fPortName[36];
+ char fModuleName[32];
+ char fSlotID[8];
+ char fResourceInfo[32];
+ char fReserved[164];
+};
+typedef struct OTPortRecord OTPortRecord;
+/*
+ Routines for finding, registering and unregistering ports.
+ IMPORTANT:
+ These routines have two versions, one for the client and one
+ for the kernel. Make sure you use and link with the right ones.
+*/
#if !OTKERNEL
- /*
- * OTGetIndexedPort()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTGetIndexedPort(
- OTPortRecord * portRecord,
- OTItemCount index);
-
-
- /* Index through the ports in the system*/
- /*
- * OTFindPort()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTFindPort(
- OTPortRecord * portRecord,
- const char * portName);
-
-
- /* Find an OTPortRecord for a port using it's name*/
- /*
- * OTFindPortByRef()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTFindPortByRef(
- OTPortRecord * portRecord,
- OTPortRef ref);
-
-
- /* Find an OTPortRecord for a port using it's OTPortRef*/
+/*
+ * OTGetIndexedPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTGetIndexedPort(
+ OTPortRecord * portRecord,
+ OTItemCount index);
+
+
+/* Index through the ports in the system*/
+/*
+ * OTFindPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTFindPort(
+ OTPortRecord * portRecord,
+ const char * portName);
+
+
+/* Find an OTPortRecord for a port using it's name*/
+/*
+ * OTFindPortByRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTFindPortByRef(
+ OTPortRecord * portRecord,
+ OTPortRef ref);
+
+
+/* Find an OTPortRecord for a port using it's OTPortRef*/
#if CALL_NOT_IN_CARBON
- /*
- * OTRegisterPort()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTRegisterPort(
- OTPortRecord * portRecord,
- void * ref);
-
-
- /*
- Register a port. The name the port was registered under is returned in
- the fPortName field.
- */
- /*
- * OTUnregisterPort()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTUnregisterPort(
- const char * portName,
- void ** ref);
-
-
- /*
- Unregister the port with the given name (If you re-register the
- port, it may get a different name - use OTChangePortState if
- that is not desireable). Since a single OTPortRef can be registered
- with several names, the API needs to use the portName rather than
- the OTPortRef to disambiguate.
- */
- /*
- * OTChangePortState()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTChangePortState(
- OTPortRef portRef,
- OTEventCode theChange,
- OTResult why);
-
-
- /* Change the state of the port.*/
+/*
+ * OTRegisterPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTRegisterPort(
+ OTPortRecord * portRecord,
+ void * ref);
+
+
+/*
+ Register a port. The name the port was registered under is returned in
+ the fPortName field.
+*/
+/*
+ * OTUnregisterPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTUnregisterPort(
+ const char * portName,
+ void ** ref);
+
+
+/*
+ Unregister the port with the given name (If you re-register the
+ port, it may get a different name - use OTChangePortState if
+ that is not desireable). Since a single OTPortRef can be registered
+ with several names, the API needs to use the portName rather than
+ the OTPortRef to disambiguate.
+*/
+/*
+ * OTChangePortState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTChangePortState(
+ OTPortRef portRef,
+ OTEventCode theChange,
+ OTResult why);
+
+
+/* Change the state of the port.*/
#endif /* CALL_NOT_IN_CARBON */
#endif /* !OTKERNEL */
- /* ***** Data Buffers ******/
- /*
- TNetbuf is the basic structure used to pass data back and forth
- between the Open Transport protocols and their clients
- */
-
- struct TNetbuf
- {
- ByteCount maxlen;
- ByteCount len;
- UInt8 * buf;
- };
- typedef struct TNetbuf TNetbuf;
- /*
- Some rarely used low-level routines in this file take a strbuf
- as a parameter. This is the raw streams equivalent of a TNetbuf.
- The key difference is that the maxlen and len fields are signed,
- which allows you to specify extra operations by providing a
- negative value.
- */
-
-
- struct strbuf
- {
- SInt32 maxlen; /* max buffer length */
- SInt32 len; /* length of data */
- char * buf; /* pointer to buffer */
- };
- typedef struct strbuf strbuf;
- /*
- OTData is used in a TNetbuf or netbuf to send
- non-contiguous data. Set the 'len' field of the netbuf to the
- constant kNetbufDataIsOTData to signal that the 'buf' field of the
- netbuf actually points to one of these structures instead of a
- memory buffer.
- */
- struct OTData
- {
- void * fNext;
- void * fData;
- ByteCount fLen;
- };
- typedef struct OTData OTData;
- enum
- {
- kNetbufDataIsOTData = (unsigned long)0xFFFFFFFE
- };
-
-
- /*
- OTBuffer is used for no-copy receives. When receiving, you can
- set the receive length to kOTNetbufDataIsOTBufferStar and then
- pass the address of an OTBuffer* as the receive buffer. OT will
- fill it out to point to a chain of OTBuffers.
- When you are done with it, you must call the OTReleaseBuffer function.
- For best performance, you need to call OTReleaseBuffer quickly.
- Only data netbufs may use this - no netbufs for addresses or options, or the like.
- Any OTBuffer returned to you by OT is read only!
- The astute will notice that this has a high correlation with the
- STREAMS msgb data type. The fields are commented with their
- corresponding msgb field name.
- */
-
- struct OTBuffer
- {
- void * fLink; /* b_next*/
- void * fLink2; /* b_prev*/
- struct OTBuffer * fNext; /* b_cont*/
- UInt8 * fData; /* b_rptr*/
- ByteCount fLen; /* b_wptr*/
- void * fSave; /* b_datap*/
- UInt8 fBand; /* b_band*/
- UInt8 fType; /* b_pad1*/
- UInt8 fPad1;
- UInt8 fFlags; /* b_flag*/
- };
- typedef struct OTBuffer OTBuffer;
- enum
- {
- kOTNetbufDataIsOTBufferStar = (unsigned long)0xFFFFFFFD
- };
-
- /*
- OTBufferInfo is used with OTReadBuffer to keep track of where you
- are in the buffer, since the OTBuffer is "read-only".
- */
- /* Use the OTInitBuffer macro to initialise this structure from an OTBuffer chain.*/
- struct OTBufferInfo
- {
- OTBuffer * fBuffer;
- ByteCount fOffset;
- UInt8 fPad;
- };
- typedef struct OTBufferInfo OTBufferInfo;
+/* ***** Data Buffers ******/
+/*
+ TNetbuf is the basic structure used to pass data back and forth
+ between the Open Transport protocols and their clients
+*/
+
+struct TNetbuf {
+ ByteCount maxlen;
+ ByteCount len;
+ UInt8 * buf;
+};
+typedef struct TNetbuf TNetbuf;
+/*
+ Some rarely used low-level routines in this file take a strbuf
+ as a parameter. This is the raw streams equivalent of a TNetbuf.
+ The key difference is that the maxlen and len fields are signed,
+ which allows you to specify extra operations by providing a
+ negative value.
+*/
+
+
+struct strbuf {
+ SInt32 maxlen; /* max buffer length */
+ SInt32 len; /* length of data */
+ char * buf; /* pointer to buffer */
+};
+typedef struct strbuf strbuf;
+/*
+ OTData is used in a TNetbuf or netbuf to send
+ non-contiguous data. Set the 'len' field of the netbuf to the
+ constant kNetbufDataIsOTData to signal that the 'buf' field of the
+ netbuf actually points to one of these structures instead of a
+ memory buffer.
+*/
+struct OTData {
+ void * fNext;
+ void * fData;
+ ByteCount fLen;
+};
+typedef struct OTData OTData;
+enum {
+ kNetbufDataIsOTData = (unsigned long)0xFFFFFFFE
+};
+
+
+/*
+ OTBuffer is used for no-copy receives. When receiving, you can
+ set the receive length to kOTNetbufDataIsOTBufferStar and then
+ pass the address of an OTBuffer* as the receive buffer. OT will
+ fill it out to point to a chain of OTBuffers.
+ When you are done with it, you must call the OTReleaseBuffer function.
+ For best performance, you need to call OTReleaseBuffer quickly.
+ Only data netbufs may use this - no netbufs for addresses or options, or the like.
+ Any OTBuffer returned to you by OT is read only!
+ The astute will notice that this has a high correlation with the
+ STREAMS msgb data type. The fields are commented with their
+ corresponding msgb field name.
+*/
+
+struct OTBuffer {
+ void * fLink; /* b_next*/
+ void * fLink2; /* b_prev*/
+ struct OTBuffer * fNext; /* b_cont*/
+ UInt8 * fData; /* b_rptr*/
+ ByteCount fLen; /* b_wptr*/
+ void * fSave; /* b_datap*/
+ UInt8 fBand; /* b_band*/
+ UInt8 fType; /* b_pad1*/
+ UInt8 fPad1;
+ UInt8 fFlags; /* b_flag*/
+};
+typedef struct OTBuffer OTBuffer;
+enum {
+ kOTNetbufDataIsOTBufferStar = (unsigned long)0xFFFFFFFD
+};
+
+/*
+ OTBufferInfo is used with OTReadBuffer to keep track of where you
+ are in the buffer, since the OTBuffer is "read-only".
+*/
+/* Use the OTInitBuffer macro to initialise this structure from an OTBuffer chain.*/
+struct OTBufferInfo {
+ OTBuffer * fBuffer;
+ ByteCount fOffset;
+ UInt8 fPad;
+};
+typedef struct OTBufferInfo OTBufferInfo;
#define OTInitBufferInfo(infoPtr, theBuffer) \
(infoPtr)->fBuffer = theBuffer; \
(infoPtr)->fPad = (theBuffer)->fPad1; \
(infoPtr)->fOffset = 0
- /*
- If the endpoint supports "raw mode" (the T_CAN_SUPPORT_MDATA bit will
- be set in the TEndpointInfo::flags field), then you specify the
- raw mode packet by putting the kOTNetbufIsRawMode value in
- the udata.addr.len field when calling OTSndUData and also set the
- udata.opt.len, udata.opt.buf, and udata.addr.buf fields to 0.
- */
-
- enum
- {
- kOTNetbufIsRawMode = (unsigned long)0xFFFFFFFF
- };
-
- /*
- ***** Standard XTI Parameter Types *****
- These structures are all used as parameters to the standard
- XTI routines.
- */
-
- /*
- TBind holds binding information for calls to
- OTGetProtAddress, OTResolveAddress and OTBind.
- */
-
- struct TBind
- {
- TNetbuf addr;
- OTQLen qlen;
- };
- typedef struct TBind TBind;
- /*
- TDiscon is passed to RcvDisconnect to find out additional information
- about the disconnect.
- */
- struct TDiscon
- {
- TNetbuf udata;
- OTReason reason;
- OTSequence sequence;
- };
- typedef struct TDiscon TDiscon;
- /*
- TCall holds information about a connection and is a parameter to
- OTConnect, OTRcvConnect, OTListen, OTAccept, and OTSndDisconnect.
- */
- struct TCall
- {
- TNetbuf addr;
- TNetbuf opt;
- TNetbuf udata;
- OTSequence sequence;
- };
- typedef struct TCall TCall;
- /* TUnitData describes a datagram in calls to OTSndUData and OTRcvUData.*/
- struct TUnitData
- {
- TNetbuf addr;
- TNetbuf opt;
- TNetbuf udata;
- };
- typedef struct TUnitData TUnitData;
- /*
- TUDErr is used to get information about a datagram error using
- OTRcvUDErr.
- */
- struct TUDErr
- {
- TNetbuf addr;
- TNetbuf opt;
- SInt32 error;
- };
- typedef struct TUDErr TUDErr;
- /* TOptMgmt is passed to the OTOptionManagement call to read or set protocol*/
- struct TOptMgmt
- {
- TNetbuf opt;
- OTFlags flags;
- };
- typedef struct TOptMgmt TOptMgmt;
- /*
- ***** Transactional XTI Parameter Types *****
- These structures are all used as parameters to the OT's
- XTI-like routines for transaction protocols.
- */
- /*
- TRequest is passed to OTSndRequest and OTRcvRequest that contains the information
- about the request.
- */
-
- struct TRequest
- {
- TNetbuf data;
- TNetbuf opt;
- OTSequence sequence;
- };
- typedef struct TRequest TRequest;
- /* TReply is passed to OTSndReply to send a reply to an incoming request.*/
- struct TReply
- {
- TNetbuf data;
- TNetbuf opt;
- OTSequence sequence;
- };
- typedef struct TReply TReply;
- /*
- TUnitRequest is passed to OTSndURequest and OTRcvURequest that contains
- the information about the request.
- */
- struct TUnitRequest
- {
- TNetbuf addr;
- TNetbuf opt;
- TNetbuf udata;
- OTSequence sequence;
- };
- typedef struct TUnitRequest TUnitRequest;
- /* TUnitReply is passed to OTSndUReply to send a reply to an incoming request.*/
- struct TUnitReply
- {
- TNetbuf opt;
- TNetbuf udata;
- OTSequence sequence;
- };
- typedef struct TUnitReply TUnitReply;
- /*
- ***** Mapper Parameter Types *****
- These structures are all used as parameters to the OT's
- mapper routines.
- */
- /* TRegisterRequest holds the name to register in a call to OTRegisterName.*/
-
- struct TRegisterRequest
- {
- TNetbuf name;
- TNetbuf addr;
- OTFlags flags;
- };
- typedef struct TRegisterRequest TRegisterRequest;
- /*
- TRegisterReply returns information about the registered name in a call
- to OTRegisterName.
- */
- struct TRegisterReply
- {
- TNetbuf addr;
- OTNameID nameid;
- };
- typedef struct TRegisterReply TRegisterReply;
- /* TLookupRequest holds the name to look up in a call to OTLookupName.*/
- struct TLookupRequest
- {
- TNetbuf name;
- TNetbuf addr;
- UInt32 maxcnt;
- OTTimeout timeout;
- OTFlags flags;
- };
- typedef struct TLookupRequest TLookupRequest;
- /*
- TLookupReply returns information about the found names after a call
- to OTLookupName.
- */
- struct TLookupReply
- {
- TNetbuf names;
- UInt32 rspcount;
- };
- typedef struct TLookupReply TLookupReply;
- /*
- TLookupBuffer describes the contents of the names buffer pointed
- to by the TLookupReply.
- */
- struct TLookupBuffer
- {
- UInt16 fAddressLength;
- UInt16 fNameLength;
- UInt8 fAddressBuffer[1];
- };
- typedef struct TLookupBuffer TLookupBuffer;
-
- /*
- OTNextLookupBuffer allows you to step through a packed array
- of TLookupBuffers.
- */
+/*
+ If the endpoint supports "raw mode" (the T_CAN_SUPPORT_MDATA bit will
+ be set in the TEndpointInfo::flags field), then you specify the
+ raw mode packet by putting the kOTNetbufIsRawMode value in
+ the udata.addr.len field when calling OTSndUData and also set the
+ udata.opt.len, udata.opt.buf, and udata.addr.buf fields to 0.
+*/
+
+enum {
+ kOTNetbufIsRawMode = (unsigned long)0xFFFFFFFF
+};
+
+/*
+ ***** Standard XTI Parameter Types *****
+ These structures are all used as parameters to the standard
+ XTI routines.
+*/
+
+/*
+ TBind holds binding information for calls to
+ OTGetProtAddress, OTResolveAddress and OTBind.
+*/
+
+struct TBind {
+ TNetbuf addr;
+ OTQLen qlen;
+};
+typedef struct TBind TBind;
+/*
+ TDiscon is passed to RcvDisconnect to find out additional information
+ about the disconnect.
+*/
+struct TDiscon {
+ TNetbuf udata;
+ OTReason reason;
+ OTSequence sequence;
+};
+typedef struct TDiscon TDiscon;
+/*
+ TCall holds information about a connection and is a parameter to
+ OTConnect, OTRcvConnect, OTListen, OTAccept, and OTSndDisconnect.
+*/
+struct TCall {
+ TNetbuf addr;
+ TNetbuf opt;
+ TNetbuf udata;
+ OTSequence sequence;
+};
+typedef struct TCall TCall;
+/* TUnitData describes a datagram in calls to OTSndUData and OTRcvUData.*/
+struct TUnitData {
+ TNetbuf addr;
+ TNetbuf opt;
+ TNetbuf udata;
+};
+typedef struct TUnitData TUnitData;
+/*
+ TUDErr is used to get information about a datagram error using
+ OTRcvUDErr.
+*/
+struct TUDErr {
+ TNetbuf addr;
+ TNetbuf opt;
+ SInt32 error;
+};
+typedef struct TUDErr TUDErr;
+/* TOptMgmt is passed to the OTOptionManagement call to read or set protocol*/
+struct TOptMgmt {
+ TNetbuf opt;
+ OTFlags flags;
+};
+typedef struct TOptMgmt TOptMgmt;
+/*
+ ***** Transactional XTI Parameter Types *****
+ These structures are all used as parameters to the OT's
+ XTI-like routines for transaction protocols.
+*/
+/*
+ TRequest is passed to OTSndRequest and OTRcvRequest that contains the information
+ about the request.
+*/
+
+struct TRequest {
+ TNetbuf data;
+ TNetbuf opt;
+ OTSequence sequence;
+};
+typedef struct TRequest TRequest;
+/* TReply is passed to OTSndReply to send a reply to an incoming request.*/
+struct TReply {
+ TNetbuf data;
+ TNetbuf opt;
+ OTSequence sequence;
+};
+typedef struct TReply TReply;
+/*
+ TUnitRequest is passed to OTSndURequest and OTRcvURequest that contains
+ the information about the request.
+*/
+struct TUnitRequest {
+ TNetbuf addr;
+ TNetbuf opt;
+ TNetbuf udata;
+ OTSequence sequence;
+};
+typedef struct TUnitRequest TUnitRequest;
+/* TUnitReply is passed to OTSndUReply to send a reply to an incoming request.*/
+struct TUnitReply {
+ TNetbuf opt;
+ TNetbuf udata;
+ OTSequence sequence;
+};
+typedef struct TUnitReply TUnitReply;
+/*
+ ***** Mapper Parameter Types *****
+ These structures are all used as parameters to the OT's
+ mapper routines.
+*/
+/* TRegisterRequest holds the name to register in a call to OTRegisterName.*/
+
+struct TRegisterRequest {
+ TNetbuf name;
+ TNetbuf addr;
+ OTFlags flags;
+};
+typedef struct TRegisterRequest TRegisterRequest;
+/*
+ TRegisterReply returns information about the registered name in a call
+ to OTRegisterName.
+*/
+struct TRegisterReply {
+ TNetbuf addr;
+ OTNameID nameid;
+};
+typedef struct TRegisterReply TRegisterReply;
+/* TLookupRequest holds the name to look up in a call to OTLookupName.*/
+struct TLookupRequest {
+ TNetbuf name;
+ TNetbuf addr;
+ UInt32 maxcnt;
+ OTTimeout timeout;
+ OTFlags flags;
+};
+typedef struct TLookupRequest TLookupRequest;
+/*
+ TLookupReply returns information about the found names after a call
+ to OTLookupName.
+*/
+struct TLookupReply {
+ TNetbuf names;
+ UInt32 rspcount;
+};
+typedef struct TLookupReply TLookupReply;
+/*
+ TLookupBuffer describes the contents of the names buffer pointed
+ to by the TLookupReply.
+*/
+struct TLookupBuffer {
+ UInt16 fAddressLength;
+ UInt16 fNameLength;
+ UInt8 fAddressBuffer[1];
+};
+typedef struct TLookupBuffer TLookupBuffer;
+
+/*
+ OTNextLookupBuffer allows you to step through a packed array
+ of TLookupBuffers.
+*/
#define OTNextLookupBuffer(buf) \
((TLookupBuffer*) \
((char*)buf + ((OTOffsetOf(TLookupBuffer, fAddressBuffer) + buf->fAddressLength + buf->fNameLength + 3) & ~3)))
- /* ***** Initializing and Shutting Down Open Transport ******/
+/* ***** Initializing and Shutting Down Open Transport ******/
#if !OTKERNEL
- typedef struct OpaqueOTClientContextPtr* OTClientContextPtr;
- /*
- For Carbon the InitOpenTransport interface has changed so it takes a flags parameter
- and returns a client context pointer.
- The flag passed to indicates whether OT should be initialized for application use or for some other target
- (for example, plugins that run in an application context but not the application itself.)
- Applications that are not interested in the value of the client context pointer may pass NULL
- as outClientContext -- they will pass NULL to other routines that take a OTClientContextPtr.
- */
- typedef UInt32 OTInitializationFlags;
- enum
- {
- kInitOTForApplicationMask = 1,
- kInitOTForExtensionMask = 2
- };
-
- /*
- * InitOpenTransportInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- InitOpenTransportInContext(
- OTInitializationFlags flags,
- OTClientContextPtr * outClientContext); /* can be NULL */
-
-
-
- /*
- Under Carbon, CloseOpenTransport takes a client context pointer. Applications may pass NULL
- after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
- /*
- * CloseOpenTransportInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CloseOpenTransportInContext(OTClientContextPtr clientContext);
+typedef struct OpaqueOTClientContextPtr* OTClientContextPtr;
+/*
+ For Carbon the InitOpenTransport interface has changed so it takes a flags parameter
+ and returns a client context pointer.
+ The flag passed to indicates whether OT should be initialized for application use or for some other target
+ (for example, plugins that run in an application context but not the application itself.)
+ Applications that are not interested in the value of the client context pointer may pass NULL
+ as outClientContext -- they will pass NULL to other routines that take a OTClientContextPtr.
+*/
+typedef UInt32 OTInitializationFlags;
+enum {
+ kInitOTForApplicationMask = 1,
+ kInitOTForExtensionMask = 2
+};
+
+/*
+ * InitOpenTransportInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+InitOpenTransportInContext(
+ OTInitializationFlags flags,
+ OTClientContextPtr * outClientContext); /* can be NULL */
+
+
+
+/*
+ Under Carbon, CloseOpenTransport takes a client context pointer. Applications may pass NULL
+ after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
+/*
+ * CloseOpenTransportInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CloseOpenTransportInContext(OTClientContextPtr clientContext);
#if CALL_NOT_IN_CARBON
- /*
- * InitOpenTransport()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- InitOpenTransport(void);
-
-
- /*
- * InitOpenTransportUtilities()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- InitOpenTransportUtilities(void);
-
-
- /*
- * CloseOpenTransport()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CloseOpenTransport(void);
-
-
- /*
- * OTRegisterAsClient()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTRegisterAsClient(
- OTClientName name,
- OTNotifyUPP proc);
-
-
- /*
- This registers yourself as a client for any miscellaneous Open Transport
- notifications that come along. CloseOpenTransport will automatically do
- an OTUnregisterAsClient, if you have not already done so.
- */
- /*
- * OTUnregisterAsClient()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTUnregisterAsClient(void);
+/*
+ * InitOpenTransport()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+InitOpenTransport(void);
+
+
+/*
+ * InitOpenTransportUtilities()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+InitOpenTransportUtilities(void);
+
+
+/*
+ * CloseOpenTransport()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CloseOpenTransport(void);
+
+
+/*
+ * OTRegisterAsClient()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTRegisterAsClient(
+ OTClientName name,
+ OTNotifyUPP proc);
+
+
+/*
+ This registers yourself as a client for any miscellaneous Open Transport
+ notifications that come along. CloseOpenTransport will automatically do
+ an OTUnregisterAsClient, if you have not already done so.
+*/
+/*
+ * OTUnregisterAsClient()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTUnregisterAsClient(void);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTRegisterAsClientInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTRegisterAsClientInContext(
- OTClientName name,
- OTNotifyUPP proc,
- OTClientContextPtr clientContext); /* can be NULL */
-
-
- /*
- * OTUnregisterAsClientInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTUnregisterAsClientInContext(OTClientContextPtr clientContext);
+/*
+ * OTRegisterAsClientInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTRegisterAsClientInContext(
+ OTClientName name,
+ OTNotifyUPP proc,
+ OTClientContextPtr clientContext); /* can be NULL */
+
+
+/*
+ * OTUnregisterAsClientInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTUnregisterAsClientInContext(OTClientContextPtr clientContext);
#if OTCARBONAPPLICATION
- /* The following macro may be used by applications only.*/
+/* The following macro may be used by applications only.*/
#define InitOpenTransport() InitOpenTransportInContext(kInitOTForApplicationMask, NULL)
#define CloseOpenTransport() CloseOpenTransportInContext(NULL)
#define OTRegisterAsClient(name, proc) OTRegisterAsClientInContext(name, proc, NULL)
@@ -1977,660 +1906,654 @@ extern "C" {
#endif /* !OTKERNEL */
- /* ***** Tasking Model ******/
- /*
- OTEnterInterrupt/OTLeaveInterrupt are normally used within the kernel to
- tell Open Transport we're at hardware interrupt time. Clients can also
- them to do the same.
- */
+/* ***** Tasking Model ******/
+/*
+ OTEnterInterrupt/OTLeaveInterrupt are normally used within the kernel to
+ tell Open Transport we're at hardware interrupt time. Clients can also
+ them to do the same.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OTEnterInterrupt()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTEnterInterrupt(void);
-
-
- /*
- * OTLeaveInterrupt()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTLeaveInterrupt(void);
-
-
- /*
- * OTIsAtInterruptLevel()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTIsAtInterruptLevel(void);
-
-
- /*
- * OTCanLoadLibraries()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTCanLoadLibraries(void);
-
-
- /*
- All OT task callbacks use the same prototype, shown below.
- This is only a UPP for CFM-68K clients.
- */
+/*
+ * OTEnterInterrupt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTEnterInterrupt(void);
+
+
+/*
+ * OTLeaveInterrupt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTLeaveInterrupt(void);
+
+
+/*
+ * OTIsAtInterruptLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTIsAtInterruptLevel(void);
+
+
+/*
+ * OTCanLoadLibraries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTCanLoadLibraries(void);
+
+
+/*
+ All OT task callbacks use the same prototype, shown below.
+ This is only a UPP for CFM-68K clients.
+*/
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API(void , OTProcessProcPtr)(void * arg);
- typedef TVECTOR_UPP_TYPE(OTProcessProcPtr) OTProcessUPP;
- /*
- * NewOTProcessUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTProcessUPP)
- NewOTProcessUPP(OTProcessProcPtr userRoutine);
+typedef CALLBACK_API( void , OTProcessProcPtr )(void * arg);
+typedef TVECTOR_UPP_TYPE(OTProcessProcPtr) OTProcessUPP;
+/*
+ * NewOTProcessUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTProcessUPP )
+NewOTProcessUPP(OTProcessProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOTProcessProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OTProcessUPP) NewOTProcessUPP(OTProcessProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewOTProcessUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppOTProcessProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OTProcessUPP) NewOTProcessUPP(OTProcessProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewOTProcessUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeOTProcessUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOTProcessUPP(OTProcessUPP userUPP);
+/*
+ * DisposeOTProcessUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOTProcessUPP(OTProcessUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOTProcessUPP(OTProcessUPP) {}
-#else
-#define DisposeOTProcessUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOTProcessUPP(OTProcessUPP) {}
+ #else
+ #define DisposeOTProcessUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeOTProcessUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeOTProcessUPP(
- void * arg,
- OTProcessUPP userUPP);
+/*
+ * InvokeOTProcessUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeOTProcessUPP(
+ void * arg,
+ OTProcessUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeOTProcessUPP(void * arg, OTProcessUPP userUPP)
- {
- (*userUPP)(arg);
- }
-#else
-#define InvokeOTProcessUPP(arg, userUPP) (*userUPP)(arg)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeOTProcessUPP(void * arg, OTProcessUPP userUPP) { (*userUPP)(arg); }
+ #else
+ #define InvokeOTProcessUPP(arg, userUPP) (*userUPP)(arg)
+ #endif
#endif
#if !OTKERNEL
- /*
- Under Carbon, OTCreateDeferredTask takes a client context pointer. Applications may pass NULL
- after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
- /*
- * OTCreateDeferredTaskInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- OTCreateDeferredTaskInContext(
- OTProcessUPP upp,
- void * arg,
- OTClientContextPtr clientContext); /* can be NULL */
+/*
+ Under Carbon, OTCreateDeferredTask takes a client context pointer. Applications may pass NULL
+ after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
+/*
+ * OTCreateDeferredTaskInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+OTCreateDeferredTaskInContext(
+ OTProcessUPP upp,
+ void * arg,
+ OTClientContextPtr clientContext); /* can be NULL */
#endif /* !OTKERNEL */
- /*
- OT deferred tasks are often more convenience that standard Mac OS
- although they have no significant advantages beyond convenience.
- */
+/*
+ OT deferred tasks are often more convenience that standard Mac OS
+ although they have no significant advantages beyond convenience.
+*/
- typedef long OTDeferredTaskRef;
+typedef long OTDeferredTaskRef;
#if CALL_NOT_IN_CARBON
- /*
- * OTCreateDeferredTask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTDeferredTaskRef)
- OTCreateDeferredTask(
- OTProcessUPP proc,
- void * arg);
+/*
+ * OTCreateDeferredTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTDeferredTaskRef )
+OTCreateDeferredTask(
+ OTProcessUPP proc,
+ void * arg);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTScheduleDeferredTask()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTScheduleDeferredTask(OTDeferredTaskRef dtCookie);
+/*
+ * OTScheduleDeferredTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTScheduleDeferredTask(OTDeferredTaskRef dtCookie);
#if CALL_NOT_IN_CARBON
- /*
- * OTScheduleInterruptTask()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- OTScheduleInterruptTask(OTDeferredTaskRef dtCookie);
+/*
+ * OTScheduleInterruptTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+OTScheduleInterruptTask(OTDeferredTaskRef dtCookie);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTDestroyDeferredTask()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTDestroyDeferredTask(OTDeferredTaskRef dtCookie);
+/*
+ * OTDestroyDeferredTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTDestroyDeferredTask(OTDeferredTaskRef dtCookie);
#if OTCARBONAPPLICATION
- /* The following macro may be used by applications only.*/
+/* The following macro may be used by applications only.*/
#define OTCreateDeferredTask(upp, arg) OTCreateDeferredTaskInContext(upp, arg, NULL)
#endif /* OTCARBONAPPLICATION */
#if !OTKERNEL
- /*
- OT system tasks allow you to schedule a procedure to be called
- at system task time. Potentially useful, but it relies on someone
- calling SystemTask (or WaitNextEvent, which calls SystemTask).
- Not available to kernel code because relying on system task time
- to make progress is likely to result in deadlocks.
- */
- typedef long OTSystemTaskRef;
+/*
+ OT system tasks allow you to schedule a procedure to be called
+ at system task time. Potentially useful, but it relies on someone
+ calling SystemTask (or WaitNextEvent, which calls SystemTask).
+ Not available to kernel code because relying on system task time
+ to make progress is likely to result in deadlocks.
+*/
+typedef long OTSystemTaskRef;
#if CALL_NOT_IN_CARBON
- /*
- * OTCreateSystemTask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTSystemTaskRef)
- OTCreateSystemTask(
- OTProcessUPP proc,
- void * arg);
-
-
- /*
- * OTDestroySystemTask()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTDestroySystemTask(OTSystemTaskRef stCookie);
-
-
- /*
- * OTScheduleSystemTask()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- OTScheduleSystemTask(OTSystemTaskRef stCookie);
-
-
- /*
- * OTCancelSystemTask()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- OTCancelSystemTask(OTSystemTaskRef stCookie);
+/*
+ * OTCreateSystemTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTSystemTaskRef )
+OTCreateSystemTask(
+ OTProcessUPP proc,
+ void * arg);
+
+
+/*
+ * OTDestroySystemTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTDestroySystemTask(OTSystemTaskRef stCookie);
+
+
+/*
+ * OTScheduleSystemTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+OTScheduleSystemTask(OTSystemTaskRef stCookie);
+
+
+/*
+ * OTCancelSystemTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+OTCancelSystemTask(OTSystemTaskRef stCookie);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTCanMakeSyncCall()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTCanMakeSyncCall(void);
+/*
+ * OTCanMakeSyncCall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTCanMakeSyncCall(void);
#endif /* !OTKERNEL */
- /* ***** Interface to Providers ******/
+/* ***** Interface to Providers ******/
#if !OTKERNEL
#if CALL_NOT_IN_CARBON
- /*
- * OTAsyncOpenProvider()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenProvider(
- OTConfigurationRef cfig,
- OTOpenFlags flags,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- * OTOpenProvider()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ProviderRef)
- OTOpenProvider(
- OTConfigurationRef cfig,
- OTOpenFlags flags,
- OSStatus * errPtr);
+/*
+ * OTAsyncOpenProvider()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenProvider(
+ OTConfigurationRef cfig,
+ OTOpenFlags flags,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ * OTOpenProvider()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ProviderRef )
+OTOpenProvider(
+ OTConfigurationRef cfig,
+ OTOpenFlags flags,
+ OSStatus * errPtr);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTCloseProvider()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTCloseProvider(ProviderRef ref);
+/*
+ * OTCloseProvider()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTCloseProvider(ProviderRef ref);
#if CALL_NOT_IN_CARBON
- /*
- * OTTransferProviderOwnership()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ProviderRef)
- OTTransferProviderOwnership(
- ProviderRef ref,
- OTClient prevOwner,
- OSStatus * errPtr);
-
-
- /*
- * OTWhoAmI()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTClient)
- OTWhoAmI(void);
-
-
- /*
- * OTGetProviderPortRef()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTPortRef)
- OTGetProviderPortRef(ProviderRef ref);
+/*
+ * OTTransferProviderOwnership()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ProviderRef )
+OTTransferProviderOwnership(
+ ProviderRef ref,
+ OTClient prevOwner,
+ OSStatus * errPtr);
+
+
+/*
+ * OTWhoAmI()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTClient )
+OTWhoAmI(void);
+
+
+/*
+ * OTGetProviderPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTPortRef )
+OTGetProviderPortRef(ProviderRef ref);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTIoctl()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- OTIoctl(
- ProviderRef ref,
- UInt32 cmd,
- void * data);
+/*
+ * OTIoctl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+OTIoctl(
+ ProviderRef ref,
+ UInt32 cmd,
+ void * data);
#if CALL_NOT_IN_CARBON
- /*
- * OTGetMessage()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTGetMessage(
- ProviderRef ref,
- strbuf * ctlbuf,
- strbuf * databuf,
- OTFlags * flagsPtr);
-
-
- /*
- * OTGetPriorityMessage()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTGetPriorityMessage(
- ProviderRef ref,
- strbuf * ctlbuf,
- strbuf * databuf,
- OTBand * bandPtr,
- OTFlags * flagsPtr);
-
-
- /*
- * OTPutMessage()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTPutMessage(
- ProviderRef ref,
- const strbuf * ctlbuf,
- const strbuf * databuf,
- OTFlags flags);
-
-
- /*
- * OTPutPriorityMessage()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTPutPriorityMessage(
- ProviderRef ref,
- const strbuf * ctlbuf,
- const strbuf * databuf,
- OTBand band,
- OTFlags flags);
+/*
+ * OTGetMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTGetMessage(
+ ProviderRef ref,
+ strbuf * ctlbuf,
+ strbuf * databuf,
+ OTFlags * flagsPtr);
+
+
+/*
+ * OTGetPriorityMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTGetPriorityMessage(
+ ProviderRef ref,
+ strbuf * ctlbuf,
+ strbuf * databuf,
+ OTBand * bandPtr,
+ OTFlags * flagsPtr);
+
+
+/*
+ * OTPutMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTPutMessage(
+ ProviderRef ref,
+ const strbuf * ctlbuf,
+ const strbuf * databuf,
+ OTFlags flags);
+
+
+/*
+ * OTPutPriorityMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTPutPriorityMessage(
+ ProviderRef ref,
+ const strbuf * ctlbuf,
+ const strbuf * databuf,
+ OTBand band,
+ OTFlags flags);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTSetAsynchronous()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTSetAsynchronous(ProviderRef ref);
-
-
- /*
- * OTSetSynchronous()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTSetSynchronous(ProviderRef ref);
-
-
- /*
- * OTIsSynchronous()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTIsSynchronous(ProviderRef ref);
-
-
- /*
- * OTSetBlocking()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTSetBlocking(ProviderRef ref);
-
-
- /*
- * OTSetNonBlocking()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTSetNonBlocking(ProviderRef ref);
-
-
- /*
- * OTIsBlocking()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTIsBlocking(ProviderRef ref);
-
-
- /*
- * OTInstallNotifier()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInstallNotifier(
- ProviderRef ref,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- * OTUseSyncIdleEvents()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTUseSyncIdleEvents(
- ProviderRef ref,
- Boolean useEvents);
-
-
- /*
- * OTRemoveNotifier()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTRemoveNotifier(ProviderRef ref);
-
-
- /*
- * OTLeaveNotifier()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTLeaveNotifier(ProviderRef ref);
-
-
- /*
- * OTEnterNotifier()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTEnterNotifier(ProviderRef ref);
-
-
- /*
- * OTAckSends()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTAckSends(ProviderRef ref);
-
-
- /*
- * OTDontAckSends()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTDontAckSends(ProviderRef ref);
-
-
- /*
- * OTIsAckingSends()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTIsAckingSends(ProviderRef ref);
-
-
- /*
- * OTCancelSynchronousCalls()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTCancelSynchronousCalls(
- ProviderRef ref,
- OSStatus err);
+/*
+ * OTSetAsynchronous()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTSetAsynchronous(ProviderRef ref);
+
+
+/*
+ * OTSetSynchronous()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTSetSynchronous(ProviderRef ref);
+
+
+/*
+ * OTIsSynchronous()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTIsSynchronous(ProviderRef ref);
+
+
+/*
+ * OTSetBlocking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTSetBlocking(ProviderRef ref);
+
+
+/*
+ * OTSetNonBlocking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTSetNonBlocking(ProviderRef ref);
+
+
+/*
+ * OTIsBlocking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTIsBlocking(ProviderRef ref);
+
+
+/*
+ * OTInstallNotifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInstallNotifier(
+ ProviderRef ref,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ * OTUseSyncIdleEvents()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTUseSyncIdleEvents(
+ ProviderRef ref,
+ Boolean useEvents);
+
+
+/*
+ * OTRemoveNotifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTRemoveNotifier(ProviderRef ref);
+
+
+/*
+ * OTLeaveNotifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTLeaveNotifier(ProviderRef ref);
+
+
+/*
+ * OTEnterNotifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTEnterNotifier(ProviderRef ref);
+
+
+/*
+ * OTAckSends()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTAckSends(ProviderRef ref);
+
+
+/*
+ * OTDontAckSends()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTDontAckSends(ProviderRef ref);
+
+
+/*
+ * OTIsAckingSends()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTIsAckingSends(ProviderRef ref);
+
+
+/*
+ * OTCancelSynchronousCalls()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTCancelSynchronousCalls(
+ ProviderRef ref,
+ OSStatus err);
@@ -2639,2042 +2562,1979 @@ extern "C" {
#endif /* !OTKERNEL */
- /* ***** Interface to Endpoints ******/
+/* ***** Interface to Endpoints ******/
#if !OTKERNEL
- /* Open/Close*/
- /*
- Under Carbon, the OpenEndpoint routines take a client context pointer. Applications may pass NULL after
- calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
- /*
- * OTOpenEndpointInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(EndpointRef)
- OTOpenEndpointInContext(
- OTConfigurationRef config,
- OTOpenFlags oflag,
- TEndpointInfo * info, /* can be NULL */
- OSStatus * err,
- OTClientContextPtr clientContext); /* can be NULL */
-
-
- /*
- * OTAsyncOpenEndpointInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenEndpointInContext(
- OTConfigurationRef config,
- OTOpenFlags oflag,
- TEndpointInfo * info, /* can be NULL */
- OTNotifyUPP upp,
- void * contextPtr,
- OTClientContextPtr clientContext); /* can be NULL */
+/* Open/Close*/
+/*
+ Under Carbon, the OpenEndpoint routines take a client context pointer. Applications may pass NULL after
+ calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
+/*
+ * OTOpenEndpointInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( EndpointRef )
+OTOpenEndpointInContext(
+ OTConfigurationRef config,
+ OTOpenFlags oflag,
+ TEndpointInfo * info, /* can be NULL */
+ OSStatus * err,
+ OTClientContextPtr clientContext); /* can be NULL */
+
+
+/*
+ * OTAsyncOpenEndpointInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenEndpointInContext(
+ OTConfigurationRef config,
+ OTOpenFlags oflag,
+ TEndpointInfo * info, /* can be NULL */
+ OTNotifyUPP upp,
+ void * contextPtr,
+ OTClientContextPtr clientContext); /* can be NULL */
#if CALL_NOT_IN_CARBON
- /*
- * OTOpenEndpoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(EndpointRef)
- OTOpenEndpoint(
- OTConfigurationRef cfig,
- OTOpenFlags oflag,
- TEndpointInfo * info, /* can be NULL */
- OSStatus * err);
-
-
- /*
- * OTAsyncOpenEndpoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenEndpoint(
- OTConfigurationRef cfig,
- OTOpenFlags oflag,
- TEndpointInfo * info, /* can be NULL */
- OTNotifyUPP proc,
- void * contextPtr);
+/*
+ * OTOpenEndpoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( EndpointRef )
+OTOpenEndpoint(
+ OTConfigurationRef cfig,
+ OTOpenFlags oflag,
+ TEndpointInfo * info, /* can be NULL */
+ OSStatus * err);
+
+
+/*
+ * OTAsyncOpenEndpoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenEndpoint(
+ OTConfigurationRef cfig,
+ OTOpenFlags oflag,
+ TEndpointInfo * info, /* can be NULL */
+ OTNotifyUPP proc,
+ void * contextPtr);
#endif /* CALL_NOT_IN_CARBON */
#if OTCARBONAPPLICATION
- /* The following macros may be used by applications only.*/
+/* The following macros may be used by applications only.*/
#define OTOpenEndpoint(config, oflag, info, err) OTOpenEndpointInContext(config, oflag, info, err, NULL)
#define OTAsyncOpenEndpoint(config, oflag, info, proc, contextPtr) OTAsyncOpenEndpointInContext(config, oflag, info, proc, contextPtr, NULL)
#endif /* OTCARBONAPPLICATION */
- /* Misc Information*/
-
- /*
- * OTGetEndpointInfo()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTGetEndpointInfo(
- EndpointRef ref,
- TEndpointInfo * info);
-
-
- /*
- * OTGetEndpointState()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTResult)
- OTGetEndpointState(EndpointRef ref);
-
-
- /*
- * OTLook()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTResult)
- OTLook(EndpointRef ref);
+/* Misc Information*/
+
+/*
+ * OTGetEndpointInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTGetEndpointInfo(
+ EndpointRef ref,
+ TEndpointInfo * info);
+
+
+/*
+ * OTGetEndpointState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTResult )
+OTGetEndpointState(EndpointRef ref);
+
+
+/*
+ * OTLook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTResult )
+OTLook(EndpointRef ref);
#if CALL_NOT_IN_CARBON
- /*
- * OTSync()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTSync(EndpointRef ref);
+/*
+ * OTSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTSync(EndpointRef ref);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTCountDataBytes()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTResult)
- OTCountDataBytes(
- EndpointRef ref,
- OTByteCount * countPtr);
-
-
- /*
- * OTGetProtAddress()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTGetProtAddress(
- EndpointRef ref,
- TBind * boundAddr, /* can be NULL */
- TBind * peerAddr); /* can be NULL */
-
-
- /*
- * OTResolveAddress()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTResolveAddress(
- EndpointRef ref,
- TBind * reqAddr,
- TBind * retAddr,
- OTTimeout timeOut);
-
-
- /* Allocating structures*/
-
- /*
- Note:
- In general, Apple recommends that you avoid the OTAlloc call because
- using it extensively causes your program to allocate and deallocate
- many memory blocks, with each extra memory allocation costing time.
- */
-
- /*
- Under Carbon, OTAlloc takes a client context pointer. Applications may pass NULL after
- calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
- /*
- * OTAllocInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void *)
- OTAllocInContext(
- EndpointRef ref,
- OTStructType structType,
- UInt32 fields,
- OSStatus * err,
- OTClientContextPtr clientContext); /* can be NULL */
+/*
+ * OTCountDataBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTResult )
+OTCountDataBytes(
+ EndpointRef ref,
+ OTByteCount * countPtr);
+
+
+/*
+ * OTGetProtAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTGetProtAddress(
+ EndpointRef ref,
+ TBind * boundAddr, /* can be NULL */
+ TBind * peerAddr); /* can be NULL */
+
+
+/*
+ * OTResolveAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTResolveAddress(
+ EndpointRef ref,
+ TBind * reqAddr,
+ TBind * retAddr,
+ OTTimeout timeOut);
+
+
+/* Allocating structures*/
+
+/*
+ Note:
+ In general, Apple recommends that you avoid the OTAlloc call because
+ using it extensively causes your program to allocate and deallocate
+ many memory blocks, with each extra memory allocation costing time.
+*/
+
+/*
+ Under Carbon, OTAlloc takes a client context pointer. Applications may pass NULL after
+ calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
+/*
+ * OTAllocInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void * )
+OTAllocInContext(
+ EndpointRef ref,
+ OTStructType structType,
+ UInt32 fields,
+ OSStatus * err,
+ OTClientContextPtr clientContext); /* can be NULL */
#if CALL_NOT_IN_CARBON
- /*
- * OTAlloc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- OTAlloc(
- EndpointRef ref,
- OTStructType structType,
- OTFieldsType fields,
- OSStatus * err);
+/*
+ * OTAlloc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+OTAlloc(
+ EndpointRef ref,
+ OTStructType structType,
+ OTFieldsType fields,
+ OSStatus * err);
#endif /* CALL_NOT_IN_CARBON */
#if OTCARBONAPPLICATION
- /* The following macro may be used by applications only.*/
+/* The following macro may be used by applications only.*/
#define OTAlloc(ref, structType, fields, err) OTAllocInContext(ref, structType, fields, err, NULL)
#endif /* OTCARBONAPPLICATION */
- /*
- * OTFree()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTResult)
- OTFree(
- void * ptr,
- OTStructType structType);
-
-
- /* Option management*/
-
- /* It looks simple enough...*/
-
- /*
- * OTOptionManagement()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTOptionManagement(
- EndpointRef ref,
- TOptMgmt * req,
- TOptMgmt * ret);
-
-
- /* ... but then the hidden complexity emerges.*/
+/*
+ * OTFree()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTResult )
+OTFree(
+ void * ptr,
+ OTStructType structType);
+
+
+/* Option management*/
+
+/* It looks simple enough...*/
+
+/*
+ * OTOptionManagement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTOptionManagement(
+ EndpointRef ref,
+ TOptMgmt * req,
+ TOptMgmt * ret);
+
+
+/* ... but then the hidden complexity emerges.*/
#if CALL_NOT_IN_CARBON
- /*
- * OTCreateOptions()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTCreateOptions(
- const char * endPtName,
- char ** strPtr,
- TNetbuf * buf);
-
-
- /*
- * OTCreateOptionString()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTCreateOptionString(
- const char * endPtName,
- TOption ** opt,
- void * bufEnd,
- char * str,
- OTByteCount stringSize);
+/*
+ * OTCreateOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTCreateOptions(
+ const char * endPtName,
+ char ** strPtr,
+ TNetbuf * buf);
+
+
+/*
+ * OTCreateOptionString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTCreateOptionString(
+ const char * endPtName,
+ TOption ** opt,
+ void * bufEnd,
+ char * str,
+ OTByteCount stringSize);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTNextOption()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTNextOption(
- UInt8 * buffer,
- UInt32 buflen,
- TOption ** prevOptPtr);
-
-
- /*
- * OTFindOption()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TOption *)
- OTFindOption(
- UInt8 * buffer,
- UInt32 buflen,
- OTXTILevel level,
- OTXTIName name);
-
-
- /* Bind/Unbind*/
-
- /*
- * OTBind()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTBind(
- EndpointRef ref,
- TBind * reqAddr, /* can be NULL */
- TBind * retAddr); /* can be NULL */
-
-
- /*
- * OTUnbind()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTUnbind(EndpointRef ref);
-
-
- /* Connection creation/tear-down*/
-
- /*
- * OTConnect()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTConnect(
- EndpointRef ref,
- TCall * sndCall,
- TCall * rcvCall); /* can be NULL */
-
-
- /*
- * OTRcvConnect()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTRcvConnect(
- EndpointRef ref,
- TCall * call); /* can be NULL */
-
-
- /*
- * OTListen()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTListen(
- EndpointRef ref,
- TCall * call);
-
-
- /*
- * OTAccept()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTAccept(
- EndpointRef listener,
- EndpointRef worker,
- TCall * call);
-
-
- /*
- * OTSndDisconnect()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTSndDisconnect(
- EndpointRef ref,
- TCall * call); /* can be NULL */
-
-
- /*
- * OTSndOrderlyDisconnect()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTSndOrderlyDisconnect(EndpointRef ref);
-
-
- /*
- * OTRcvDisconnect()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTRcvDisconnect(
- EndpointRef ref,
- TDiscon * discon); /* can be NULL */
-
-
- /*
- * OTRcvOrderlyDisconnect()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTRcvOrderlyDisconnect(EndpointRef ref);
-
-
- /* Connection-oriented send/receive*/
-
- /*
- * OTRcv()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTResult)
- OTRcv(
- EndpointRef ref,
- void * buf,
- OTByteCount nbytes,
- OTFlags * flags);
-
-
- /*
- * OTSnd()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTResult)
- OTSnd(
- EndpointRef ref,
- void * buf,
- OTByteCount nbytes,
- OTFlags flags);
-
-
- /* Connectionless send/receive*/
-
- /*
- * OTSndUData()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTSndUData(
- EndpointRef ref,
- TUnitData * udata);
-
-
- /*
- * OTRcvUData()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTRcvUData(
- EndpointRef ref,
- TUnitData * udata,
- OTFlags * flags);
-
-
- /*
- * OTRcvUDErr()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTRcvUDErr(
- EndpointRef ref,
- TUDErr * uderr); /* can be NULL */
-
-
- /* Connection-oriented transactions*/
+/*
+ * OTNextOption()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTNextOption(
+ UInt8 * buffer,
+ UInt32 buflen,
+ TOption ** prevOptPtr);
+
+
+/*
+ * OTFindOption()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TOption * )
+OTFindOption(
+ UInt8 * buffer,
+ UInt32 buflen,
+ OTXTILevel level,
+ OTXTIName name);
+
+
+/* Bind/Unbind*/
+
+/*
+ * OTBind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTBind(
+ EndpointRef ref,
+ TBind * reqAddr, /* can be NULL */
+ TBind * retAddr); /* can be NULL */
+
+
+/*
+ * OTUnbind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTUnbind(EndpointRef ref);
+
+
+/* Connection creation/tear-down*/
+
+/*
+ * OTConnect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTConnect(
+ EndpointRef ref,
+ TCall * sndCall,
+ TCall * rcvCall); /* can be NULL */
+
+
+/*
+ * OTRcvConnect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTRcvConnect(
+ EndpointRef ref,
+ TCall * call); /* can be NULL */
+
+
+/*
+ * OTListen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTListen(
+ EndpointRef ref,
+ TCall * call);
+
+
+/*
+ * OTAccept()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTAccept(
+ EndpointRef listener,
+ EndpointRef worker,
+ TCall * call);
+
+
+/*
+ * OTSndDisconnect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTSndDisconnect(
+ EndpointRef ref,
+ TCall * call); /* can be NULL */
+
+
+/*
+ * OTSndOrderlyDisconnect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTSndOrderlyDisconnect(EndpointRef ref);
+
+
+/*
+ * OTRcvDisconnect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTRcvDisconnect(
+ EndpointRef ref,
+ TDiscon * discon); /* can be NULL */
+
+
+/*
+ * OTRcvOrderlyDisconnect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTRcvOrderlyDisconnect(EndpointRef ref);
+
+
+/* Connection-oriented send/receive*/
+
+/*
+ * OTRcv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTResult )
+OTRcv(
+ EndpointRef ref,
+ void * buf,
+ OTByteCount nbytes,
+ OTFlags * flags);
+
+
+/*
+ * OTSnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTResult )
+OTSnd(
+ EndpointRef ref,
+ void * buf,
+ OTByteCount nbytes,
+ OTFlags flags);
+
+
+/* Connectionless send/receive*/
+
+/*
+ * OTSndUData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTSndUData(
+ EndpointRef ref,
+ TUnitData * udata);
+
+
+/*
+ * OTRcvUData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTRcvUData(
+ EndpointRef ref,
+ TUnitData * udata,
+ OTFlags * flags);
+
+
+/*
+ * OTRcvUDErr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTRcvUDErr(
+ EndpointRef ref,
+ TUDErr * uderr); /* can be NULL */
+
+
+/* Connection-oriented transactions*/
#if CALL_NOT_IN_CARBON
- /*
- * OTSndRequest()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTSndRequest(
- EndpointRef ref,
- TRequest * req,
- OTFlags reqFlags);
-
-
- /*
- * OTRcvReply()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTRcvReply(
- EndpointRef ref,
- TReply * reply,
- OTFlags * replyFlags);
-
-
- /*
- * OTSndReply()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTSndReply(
- EndpointRef ref,
- TReply * reply,
- OTFlags replyFlags);
-
-
- /*
- * OTRcvRequest()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTRcvRequest(
- EndpointRef ref,
- TRequest * req,
- OTFlags * reqFlags);
-
-
- /*
- * OTCancelRequest()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTCancelRequest(
- EndpointRef ref,
- OTSequence sequence);
-
-
- /*
- * OTCancelReply()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTCancelReply(
- EndpointRef ref,
- OTSequence sequence);
-
-
- /* Connectionless transactions*/
-
- /*
- * OTSndURequest()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTSndURequest(
- EndpointRef ref,
- TUnitRequest * req,
- OTFlags reqFlags);
-
-
- /*
- * OTRcvUReply()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTRcvUReply(
- EndpointRef ref,
- TUnitReply * reply,
- OTFlags * replyFlags);
-
-
- /*
- * OTSndUReply()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTSndUReply(
- EndpointRef ref,
- TUnitReply * reply,
- OTFlags replyFlags);
-
-
- /*
- * OTRcvURequest()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTRcvURequest(
- EndpointRef ref,
- TUnitRequest * req,
- OTFlags * reqFlags);
-
-
- /*
- * OTCancelURequest()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTCancelURequest(
- EndpointRef ref,
- OTSequence seq);
-
-
- /*
- * OTCancelUReply()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTCancelUReply(
- EndpointRef ref,
- OTSequence seq);
-
-
- /* Interface to Mappers*/
-
-
- /*
- Under Carbon, the OpenMapper routines take a client context pointer. Applications may pass NULL after
- calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
+/*
+ * OTSndRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTSndRequest(
+ EndpointRef ref,
+ TRequest * req,
+ OTFlags reqFlags);
+
+
+/*
+ * OTRcvReply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTRcvReply(
+ EndpointRef ref,
+ TReply * reply,
+ OTFlags * replyFlags);
+
+
+/*
+ * OTSndReply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTSndReply(
+ EndpointRef ref,
+ TReply * reply,
+ OTFlags replyFlags);
+
+
+/*
+ * OTRcvRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTRcvRequest(
+ EndpointRef ref,
+ TRequest * req,
+ OTFlags * reqFlags);
+
+
+/*
+ * OTCancelRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTCancelRequest(
+ EndpointRef ref,
+ OTSequence sequence);
+
+
+/*
+ * OTCancelReply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTCancelReply(
+ EndpointRef ref,
+ OTSequence sequence);
+
+
+/* Connectionless transactions*/
+
+/*
+ * OTSndURequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTSndURequest(
+ EndpointRef ref,
+ TUnitRequest * req,
+ OTFlags reqFlags);
+
+
+/*
+ * OTRcvUReply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTRcvUReply(
+ EndpointRef ref,
+ TUnitReply * reply,
+ OTFlags * replyFlags);
+
+
+/*
+ * OTSndUReply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTSndUReply(
+ EndpointRef ref,
+ TUnitReply * reply,
+ OTFlags replyFlags);
+
+
+/*
+ * OTRcvURequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTRcvURequest(
+ EndpointRef ref,
+ TUnitRequest * req,
+ OTFlags * reqFlags);
+
+
+/*
+ * OTCancelURequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTCancelURequest(
+ EndpointRef ref,
+ OTSequence seq);
+
+
+/*
+ * OTCancelUReply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTCancelUReply(
+ EndpointRef ref,
+ OTSequence seq);
+
+
+/* Interface to Mappers*/
+
+
+/*
+ Under Carbon, the OpenMapper routines take a client context pointer. Applications may pass NULL after
+ calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTAsyncOpenMapperInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenMapperInContext(
- OTConfigurationRef config,
- OTOpenFlags oflag,
- OTNotifyUPP upp,
- void * contextPtr,
- OTClientContextPtr clientContext); /* can be NULL */
-
-
- /*
- * OTOpenMapperInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(MapperRef)
- OTOpenMapperInContext(
- OTConfigurationRef config,
- OTOpenFlags oflag,
- OSStatus * err,
- OTClientContextPtr clientContext); /* can be NULL */
+/*
+ * OTAsyncOpenMapperInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenMapperInContext(
+ OTConfigurationRef config,
+ OTOpenFlags oflag,
+ OTNotifyUPP upp,
+ void * contextPtr,
+ OTClientContextPtr clientContext); /* can be NULL */
+
+
+/*
+ * OTOpenMapperInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( MapperRef )
+OTOpenMapperInContext(
+ OTConfigurationRef config,
+ OTOpenFlags oflag,
+ OSStatus * err,
+ OTClientContextPtr clientContext); /* can be NULL */
#if CALL_NOT_IN_CARBON
- /*
- * OTAsyncOpenMapper()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenMapper(
- OTConfigurationRef cfig,
- OTOpenFlags oflag,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- * OTOpenMapper()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(MapperRef)
- OTOpenMapper(
- OTConfigurationRef cfig,
- OTOpenFlags oflag,
- OSStatus * err);
+/*
+ * OTAsyncOpenMapper()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenMapper(
+ OTConfigurationRef cfig,
+ OTOpenFlags oflag,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ * OTOpenMapper()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( MapperRef )
+OTOpenMapper(
+ OTConfigurationRef cfig,
+ OTOpenFlags oflag,
+ OSStatus * err);
#endif /* CALL_NOT_IN_CARBON */
#if OTCARBONAPPLICATION
- /* The following macros may be used by applications only.*/
+/* The following macros may be used by applications only.*/
#define OTAsyncOpenMapper(config, oflag, proc, contextPtr) OTAsyncOpenMapperInContext(config, oflag, proc, contextPtr, NULL)
#define OTOpenMapper(config, oflag, err) OTOpenMapperInContext(config, oflag, err, NULL)
#endif /* OTCARBONAPPLICATION */
- /*
- * OTRegisterName()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTRegisterName(
- MapperRef ref,
- TRegisterRequest * req,
- TRegisterReply * reply);
-
-
- /*
- * OTDeleteName()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTDeleteName(
- MapperRef ref,
- TNetbuf * name);
-
-
- /*
- * OTDeleteNameByID()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTDeleteNameByID(
- MapperRef ref,
- OTNameID nameID);
-
-
- /*
- * OTLookupName()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTLookupName(
- MapperRef ref,
- TLookupRequest * req,
- TLookupReply * reply);
-
-
- /* Basic configuration manipulation*/
-
- /*
- * OTCreateConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTConfigurationRef)
- OTCreateConfiguration(const char * path);
-
-
- /*
- * OTCloneConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTConfigurationRef)
- OTCloneConfiguration(OTConfigurationRef cfig);
-
-
- /*
- * OTDestroyConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTDestroyConfiguration(OTConfigurationRef cfig);
-
-
- /*
- This file defines a very limited set of operations
- on a configuration. "OpenTransportClient.h" extends this with extra
- operations used by protocol stacks but not typically needed by clients.
- */
-
- /* Interrupt-safe memory allocators*/
-
- /*
- Under Carbon, OTAllocMem takes a client context pointer. Applications may pass NULL after
- calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
- /*
- * OTAllocMemInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void *)
- OTAllocMemInContext(
- OTByteCount size,
- OTClientContextPtr clientContext); /* can be NULL */
+/*
+ * OTRegisterName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTRegisterName(
+ MapperRef ref,
+ TRegisterRequest * req,
+ TRegisterReply * reply);
+
+
+/*
+ * OTDeleteName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTDeleteName(
+ MapperRef ref,
+ TNetbuf * name);
+
+
+/*
+ * OTDeleteNameByID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTDeleteNameByID(
+ MapperRef ref,
+ OTNameID nameID);
+
+
+/*
+ * OTLookupName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTLookupName(
+ MapperRef ref,
+ TLookupRequest * req,
+ TLookupReply * reply);
+
+
+/* Basic configuration manipulation*/
+
+/*
+ * OTCreateConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTConfigurationRef )
+OTCreateConfiguration(const char * path);
+
+
+/*
+ * OTCloneConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTConfigurationRef )
+OTCloneConfiguration(OTConfigurationRef cfig);
+
+
+/*
+ * OTDestroyConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTDestroyConfiguration(OTConfigurationRef cfig);
+
+
+/*
+ This file defines a very limited set of operations
+ on a configuration. "OpenTransportClient.h" extends this with extra
+ operations used by protocol stacks but not typically needed by clients.
+*/
+
+/* Interrupt-safe memory allocators*/
+
+/*
+ Under Carbon, OTAllocMem takes a client context pointer. Applications may pass NULL after
+ calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
+/*
+ * OTAllocMemInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void * )
+OTAllocMemInContext(
+ OTByteCount size,
+ OTClientContextPtr clientContext); /* can be NULL */
#if CALL_NOT_IN_CARBON
- /*
- * OTAllocMem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- OTAllocMem(OTByteCount size);
+/*
+ * OTAllocMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+OTAllocMem(OTByteCount size);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTFreeMem()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTFreeMem(void * mem);
+/*
+ * OTFreeMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientUtilLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTFreeMem(void * mem);
#if OTCARBONAPPLICATION
- /* The following macros may be used by applications only.*/
+/* The following macros may be used by applications only.*/
#define OTAllocMem(s) OTAllocMemInContext(s, NULL)
#endif /* OTCARBONAPPLICATION */
- /* Miscellaneous and Generic Routines*/
-
- /*
- Neither of these routines should be necessary to the correct
- operation of an OT program. If you're calling them, think again.
- */
-
- /*
- * OTDelay()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTDelay(UInt32 seconds);
-
-
- /*
- * OTIdle()
- *
- * Availability:
- * Non-Carbon CFM: in OTClientLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTIdle(void);
+/* Miscellaneous and Generic Routines*/
+
+/*
+ Neither of these routines should be necessary to the correct
+ operation of an OT program. If you're calling them, think again.
+*/
+
+/*
+ * OTDelay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTDelay(UInt32 seconds);
+
+
+/*
+ * OTIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTClientLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTIdle(void);
#endif /* !OTKERNEL */
- /*
- ***** Open Transport Utility Routines *****
- All of these routines are available to both client and kernel.
- */
- /* Memory and String Routines*/
-
- /*
- These are preferable, especially in the kernel case, to the standard
- C equivalents because they don't require you to link with StdCLib.
- */
-
- /*
- * OTMemcpy()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTMemcpy(
- void * dest,
- const void * src,
- OTByteCount nBytes);
-
-
- /*
- * OTMemcmp()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- OTMemcmp(
- const void * mem1,
- const void * mem2,
- OTByteCount nBytes);
-
-
- /*
- * OTMemmove()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTMemmove(
- void * dest,
- const void * src,
- OTByteCount nBytes);
-
-
- /*
- * OTMemzero()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTMemzero(
- void * dest,
- OTByteCount nBytes);
-
-
- /*
- * OTMemset()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTMemset(
- void * dest,
- OTUInt8Param toSet,
- OTByteCount nBytes);
-
-
- /*
- * OTStrLength()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTByteCount)
- OTStrLength(const char * str);
-
-
- /*
- * OTStrCopy()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTStrCopy(
- char * dest,
- const char * src);
-
-
- /*
- * OTStrCat()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTStrCat(
- char * dest,
- const char * src);
-
-
- /*
- * OTStrEqual()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- OTStrEqual(
- const char * src1,
- const char * src2);
-
-
- /* Timer Utilities*/
-
- /*
- OTGetTimeStamp returns time in "tick" numbers, stored in 64 bits.
- This timestamp can be used as a base number for calculating elapsed
- time.
- OTSubtractTimeStamps returns a pointer to the "result" parameter.
-
- OTGetClockTimeInSecs returns time since Open Transport was initialized
- in seconds.
- */
-
- typedef UnsignedWide OTTimeStamp;
- /*
- * OTGetTimeStamp()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTGetTimeStamp(OTTimeStamp * currentTime);
-
-
- /*
- * OTSubtractTimeStamps()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTTimeStamp *)
- OTSubtractTimeStamps(
- OTTimeStamp * result,
- OTTimeStamp * startTime,
- OTTimeStamp * endEnd);
-
-
- /*
- * OTTimeStampInMilliseconds()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- OTTimeStampInMilliseconds(OTTimeStamp * delta);
-
-
- /*
- * OTTimeStampInMicroseconds()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- OTTimeStampInMicroseconds(OTTimeStamp * delta);
-
-
- /*
- * OTElapsedMilliseconds()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- OTElapsedMilliseconds(OTTimeStamp * startTime);
-
-
- /*
- * OTElapsedMicroseconds()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- OTElapsedMicroseconds(OTTimeStamp * startTime);
-
-
- /*
- * OTGetClockTimeInSecs()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- OTGetClockTimeInSecs(void);
-
-
- /* ***** OT Link Element ******/
-
- /*
- When using OT linked lists, all pointers to other elements are
- represented by the OTLink structure. When operating on link
- lists, you always pass in the address of the OTLink on which
- list elements are chained.
- */
-
- struct OTLink
- {
- struct OTLink * fNext;
+/*
+ ***** Open Transport Utility Routines *****
+ All of these routines are available to both client and kernel.
+*/
+/* Memory and String Routines*/
+
+/*
+ These are preferable, especially in the kernel case, to the standard
+ C equivalents because they don't require you to link with StdCLib.
+*/
-#ifdef __cplusplus
+/*
+ * OTMemcpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTMemcpy(
+ void * dest,
+ const void * src,
+ OTByteCount nBytes);
+
+
+/*
+ * OTMemcmp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+OTMemcmp(
+ const void * mem1,
+ const void * mem2,
+ OTByteCount nBytes);
+
+
+/*
+ * OTMemmove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTMemmove(
+ void * dest,
+ const void * src,
+ OTByteCount nBytes);
+
+
+/*
+ * OTMemzero()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTMemzero(
+ void * dest,
+ OTByteCount nBytes);
+
+
+/*
+ * OTMemset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTMemset(
+ void * dest,
+ OTUInt8Param toSet,
+ OTByteCount nBytes);
+
+
+/*
+ * OTStrLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTByteCount )
+OTStrLength(const char * str);
+
+
+/*
+ * OTStrCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTStrCopy(
+ char * dest,
+ const char * src);
+
+
+/*
+ * OTStrCat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTStrCat(
+ char * dest,
+ const char * src);
- // C++ inline methods on this structure.
- void Init()
- {
- fNext = NULL;
- }
+/*
+ * OTStrEqual()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+OTStrEqual(
+ const char * src1,
+ const char * src2);
+
+
+/* Timer Utilities*/
+
+/*
+ OTGetTimeStamp returns time in "tick" numbers, stored in 64 bits.
+ This timestamp can be used as a base number for calculating elapsed
+ time.
+ OTSubtractTimeStamps returns a pointer to the "result" parameter.
+
+ OTGetClockTimeInSecs returns time since Open Transport was initialized
+ in seconds.
+*/
+
+typedef UnsignedWide OTTimeStamp;
+/*
+ * OTGetTimeStamp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTGetTimeStamp(OTTimeStamp * currentTime);
+
+
+/*
+ * OTSubtractTimeStamps()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTTimeStamp * )
+OTSubtractTimeStamps(
+ OTTimeStamp * result,
+ OTTimeStamp * startTime,
+ OTTimeStamp * endEnd);
+
+
+/*
+ * OTTimeStampInMilliseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+OTTimeStampInMilliseconds(OTTimeStamp * delta);
+
+
+/*
+ * OTTimeStampInMicroseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+OTTimeStampInMicroseconds(OTTimeStamp * delta);
+
+
+/*
+ * OTElapsedMilliseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+OTElapsedMilliseconds(OTTimeStamp * startTime);
+
+
+/*
+ * OTElapsedMicroseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+OTElapsedMicroseconds(OTTimeStamp * startTime);
+
+
+/*
+ * OTGetClockTimeInSecs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+OTGetClockTimeInSecs(void);
+
+
+/* ***** OT Link Element ******/
+
+/*
+ When using OT linked lists, all pointers to other elements are
+ represented by the OTLink structure. When operating on link
+ lists, you always pass in the address of the OTLink on which
+ list elements are chained.
+*/
+
+struct OTLink {
+ struct OTLink * fNext;
+
+#ifdef __cplusplus
+
+ // C++ inline methods on this structure.
+
+ void Init() { fNext = NULL; }
#endif
- };
- typedef struct OTLink OTLink;
+};
+typedef struct OTLink OTLink;
- /*
- You can use this macro to map from an OTLink field to the
- structure in which it's embedded.
- */
+/*
+ You can use this macro to map from an OTLink field to the
+ structure in which it's embedded.
+*/
#define OTGetLinkObject(link, struc, field) \
((struc*)((char*)(link) - OTOffsetOf(struc, field)))
- /* OTLIFO*/
+/* OTLIFO*/
- /*
- These are functions to implement a LIFO list that is interrupt-safe.
- The only function which is not is OTReverseList. Normally, you create
- a LIFO list, populate it at interrupt time, and then use OTLIFOStealList
- to atomically remove the list, and OTReverseList to flip the list so that
- it is a FIFO list, which tends to be more useful.
- */
+/*
+ These are functions to implement a LIFO list that is interrupt-safe.
+ The only function which is not is OTReverseList. Normally, you create
+ a LIFO list, populate it at interrupt time, and then use OTLIFOStealList
+ to atomically remove the list, and OTReverseList to flip the list so that
+ it is a FIFO list, which tends to be more useful.
+*/
- struct OTLIFO
- {
- OTLink * fHead;
+struct OTLIFO {
+ OTLink * fHead;
#ifdef __cplusplus
- // C++ inline methods on this structure.
+ // C++ inline methods on this structure.
- void Init();
- void Enqueue(OTLink* link);
- OTLink* Dequeue();
- OTLink* StealList();
- Boolean IsEmpty();
+ void Init();
+ void Enqueue(OTLink* link);
+ OTLink* Dequeue();
+ OTLink* StealList();
+ Boolean IsEmpty();
#endif
- };
- typedef struct OTLIFO OTLIFO;
- /*
- This function atomically enqueues the link onto the
- front of the list.
- */
- /*
- * OTLIFOEnqueue()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTLIFOEnqueue(
- OTLIFO * list,
- OTLink * link);
-
-
- /*
- This function atomically dequeues the first element
- on the list.
- */
- /*
- * OTLIFODequeue()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTLIFODequeue(OTLIFO * list);
-
-
- /*
- This function atomically empties the list and returns a
- pointer to the first element on the list.
- */
- /*
- * OTLIFOStealList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTLIFOStealList(OTLIFO * list);
-
-
- /*
- This function reverses a list that was stolen by
- OTLIFOStealList. It is NOT atomic. It returns the
- new starting list.
- */
- /*
- * OTReverseList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTReverseList(OTLink * list);
+};
+typedef struct OTLIFO OTLIFO;
+/*
+ This function atomically enqueues the link onto the
+ front of the list.
+*/
+/*
+ * OTLIFOEnqueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTLIFOEnqueue(
+ OTLIFO * list,
+ OTLink * link);
+
+
+/*
+ This function atomically dequeues the first element
+ on the list.
+*/
+/*
+ * OTLIFODequeue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTLIFODequeue(OTLIFO * list);
+
+
+/*
+ This function atomically empties the list and returns a
+ pointer to the first element on the list.
+*/
+/*
+ * OTLIFOStealList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTLIFOStealList(OTLIFO * list);
+
+
+/*
+ This function reverses a list that was stolen by
+ OTLIFOStealList. It is NOT atomic. It returns the
+ new starting list.
+*/
+/*
+ * OTReverseList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTReverseList(OTLink * list);
#ifdef __cplusplus
- // C++ inline methods on this structure.
+ // C++ inline methods on this structure.
- inline void OTLIFO::Init()
- {
- fHead = NULL;
- }
- inline void OTLIFO::Enqueue(OTLink* link)
- {
- OTLIFOEnqueue(this, link);
- }
- inline OTLink* OTLIFO::Dequeue()
- {
- return OTLIFODequeue(this);
- }
- inline OTLink* OTLIFO::StealList()
- {
- return OTLIFOStealList(this);
- }
- inline Boolean OTLIFO::IsEmpty()
- {
- return fHead == NULL;
- }
+ inline void OTLIFO::Init() { fHead = NULL; }
+ inline void OTLIFO::Enqueue(OTLink* link) { OTLIFOEnqueue(this, link); }
+ inline OTLink* OTLIFO::Dequeue() { return OTLIFODequeue(this); }
+ inline OTLink* OTLIFO::StealList() { return OTLIFOStealList(this); }
+ inline Boolean OTLIFO::IsEmpty() { return fHead == NULL; }
#endif
- /* OTList*/
-
- /*
- An OTList is a non-interrupt-safe list, but has more features than the
- OTLIFO list. It is a standard singly-linked list.
- */
-
- /*
- The following is the prototype for a list element comparison function,
- which returns true if the element described by linkToCheck matches
- the client criteria (typically held in ref).
- This is only a UPP for CFM-68K clients.
- */
-
- typedef CALLBACK_API_C(Boolean , OTListSearchProcPtr)(const void *ref, OTLink *linkToCheck);
- typedef TVECTOR_UPP_TYPE(OTListSearchProcPtr) OTListSearchUPP;
- /*
- * NewOTListSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTListSearchUPP)
- NewOTListSearchUPP(OTListSearchProcPtr userRoutine);
+/* OTList*/
+
+/*
+ An OTList is a non-interrupt-safe list, but has more features than the
+ OTLIFO list. It is a standard singly-linked list.
+*/
+
+/*
+ The following is the prototype for a list element comparison function,
+ which returns true if the element described by linkToCheck matches
+ the client criteria (typically held in ref).
+ This is only a UPP for CFM-68K clients.
+*/
+
+typedef CALLBACK_API_C( Boolean , OTListSearchProcPtr )(const void *ref, OTLink *linkToCheck);
+typedef TVECTOR_UPP_TYPE(OTListSearchProcPtr) OTListSearchUPP;
+/*
+ * NewOTListSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTListSearchUPP )
+NewOTListSearchUPP(OTListSearchProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppOTListSearchProcInfo = 0x000003D1 }; /* 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(OTListSearchUPP) NewOTListSearchUPP(OTListSearchProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewOTListSearchUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppOTListSearchProcInfo = 0x000003D1 }; /* 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OTListSearchUPP) NewOTListSearchUPP(OTListSearchProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewOTListSearchUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeOTListSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeOTListSearchUPP(OTListSearchUPP userUPP);
+/*
+ * DisposeOTListSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeOTListSearchUPP(OTListSearchUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeOTListSearchUPP(OTListSearchUPP) {}
-#else
-#define DisposeOTListSearchUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeOTListSearchUPP(OTListSearchUPP) {}
+ #else
+ #define DisposeOTListSearchUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeOTListSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeOTListSearchUPP(
- const void * ref,
- OTLink * linkToCheck,
- OTListSearchUPP userUPP);
+/*
+ * InvokeOTListSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeOTListSearchUPP(
+ const void * ref,
+ OTLink * linkToCheck,
+ OTListSearchUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeOTListSearchUPP(const void * ref, OTLink * linkToCheck, OTListSearchUPP userUPP)
- {
- return (*userUPP)(ref, linkToCheck);
- }
-#else
-#define InvokeOTListSearchUPP(ref, linkToCheck, userUPP) (*userUPP)(ref, linkToCheck)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeOTListSearchUPP(const void * ref, OTLink * linkToCheck, OTListSearchUPP userUPP) { return (*userUPP)(ref, linkToCheck); }
+ #else
+ #define InvokeOTListSearchUPP(ref, linkToCheck, userUPP) (*userUPP)(ref, linkToCheck)
+ #endif
#endif
- struct OTList
- {
- OTLink * fHead;
+struct OTList {
+ OTLink * fHead;
#ifdef __cplusplus
- // C++ inline methods on this structure.
-
- void Init();
- Boolean IsEmpty();
- void AddFirst(OTLink* link);
- void AddLast(OTLink* link);
- OTLink* GetFirst();
- OTLink* GetLast();
- OTLink* RemoveFirst();
- OTLink* RemoveLast();
- Boolean IsInList(OTLink* link);
- OTLink* FindLink(OTListSearchUPP proc, const void* ref);
- Boolean RemoveLink(OTLink* link);
- OTLink* FindAndRemoveLink(OTListSearchUPP proc, const void* ref);
- OTLink* GetIndexedLink(OTItemCount index);
+ // C++ inline methods on this structure.
+
+ void Init();
+ Boolean IsEmpty();
+ void AddFirst(OTLink* link);
+ void AddLast(OTLink* link);
+ OTLink* GetFirst();
+ OTLink* GetLast();
+ OTLink* RemoveFirst();
+ OTLink* RemoveLast();
+ Boolean IsInList(OTLink* link);
+ OTLink* FindLink(OTListSearchUPP proc, const void* ref);
+ Boolean RemoveLink(OTLink* link);
+ OTLink* FindAndRemoveLink(OTListSearchUPP proc, const void* ref);
+ OTLink* GetIndexedLink(OTItemCount index);
#endif
- };
- typedef struct OTList OTList;
- /* Add the link to the list at the front*/
- /*
- * OTAddFirst()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTAddFirst(
- OTList * list,
- OTLink * link);
-
-
- /* Add the link to the list at the end*/
- /*
- * OTAddLast()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTAddLast(
- OTList * list,
- OTLink * link);
-
-
- /* Remove the first link from the list*/
- /*
- * OTRemoveFirst()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTRemoveFirst(OTList * list);
-
-
- /* Remove the last link from the list*/
- /*
- * OTRemoveLast()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTRemoveLast(OTList * list);
-
-
- /* Return the first link from the list*/
- /*
- * OTGetFirst()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTGetFirst(OTList * list);
-
-
- /* Return the last link from the list*/
- /*
- * OTGetLast()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTGetLast(OTList * list);
-
-
- /* Return true if the link is present in the list*/
- /*
- * OTIsInList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- OTIsInList(
- OTList * list,
- OTLink * link);
-
-
- /*
- Find a link in the list which matches the search criteria
- established by the search proc and the refPtr. This is done
- by calling the search proc, passing it the refPtr and each
- link in the list, until the search proc returns true.
- NULL is returned if the search proc never returned true.
- */
- /*
- * OTFindLink()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTFindLink(
- OTList * list,
- OTListSearchUPP proc,
- const void * ref);
-
-
- /* Remove the specified link from the list, returning true if it was found*/
- /*
- * OTRemoveLink()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- OTRemoveLink(
- OTList * list,
- OTLink * link);
-
-
- /* Similar to OTFindLink, but it also removes it from the list.*/
- /*
- * OTFindAndRemoveLink()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTFindAndRemoveLink(
- OTList * list,
- OTListSearchUPP proc,
- const void * ref);
-
-
- /* Return the "index"th link in the list*/
- /*
- * OTGetIndexedLink()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTLink *)
- OTGetIndexedLink(
- OTList * list,
- OTItemCount index);
-
-
- /* OTEnqueue/OTDequeue*/
-
- /*
- These routines are atomic, mighty weird, and generally not
- worth the complexity. If you need atomic list operations,
- use OTLIFO instead.
- */
-
- /*
- This function puts "object" on the listHead, and places the
- previous value at listHead into the pointer at "object" plus
- linkOffset.
- */
- /*
- * OTEnqueue()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTEnqueue(
- void ** listHead,
- void * object,
- OTByteCount linkOffset);
-
-
- /*
- This function returns the head object of the list, and places
- the pointer at "object" + linkOffset into the listHead
- */
- /*
- * OTDequeue()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void *)
- OTDequeue(
- void ** listHead,
- OTByteCount linkOffset);
+};
+typedef struct OTList OTList;
+/* Add the link to the list at the front*/
+/*
+ * OTAddFirst()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTAddFirst(
+ OTList * list,
+ OTLink * link);
+
+
+/* Add the link to the list at the end*/
+/*
+ * OTAddLast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTAddLast(
+ OTList * list,
+ OTLink * link);
+
+
+/* Remove the first link from the list*/
+/*
+ * OTRemoveFirst()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTRemoveFirst(OTList * list);
+
+
+/* Remove the last link from the list*/
+/*
+ * OTRemoveLast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTRemoveLast(OTList * list);
+
+
+/* Return the first link from the list*/
+/*
+ * OTGetFirst()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTGetFirst(OTList * list);
+
+
+/* Return the last link from the list*/
+/*
+ * OTGetLast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTGetLast(OTList * list);
+
+
+/* Return true if the link is present in the list*/
+/*
+ * OTIsInList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+OTIsInList(
+ OTList * list,
+ OTLink * link);
+
+
+/*
+ Find a link in the list which matches the search criteria
+ established by the search proc and the refPtr. This is done
+ by calling the search proc, passing it the refPtr and each
+ link in the list, until the search proc returns true.
+ NULL is returned if the search proc never returned true.
+*/
+/*
+ * OTFindLink()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTFindLink(
+ OTList * list,
+ OTListSearchUPP proc,
+ const void * ref);
+
+
+/* Remove the specified link from the list, returning true if it was found*/
+/*
+ * OTRemoveLink()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+OTRemoveLink(
+ OTList * list,
+ OTLink * link);
+
+
+/* Similar to OTFindLink, but it also removes it from the list.*/
+/*
+ * OTFindAndRemoveLink()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTFindAndRemoveLink(
+ OTList * list,
+ OTListSearchUPP proc,
+ const void * ref);
+
+
+/* Return the "index"th link in the list*/
+/*
+ * OTGetIndexedLink()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTLink * )
+OTGetIndexedLink(
+ OTList * list,
+ OTItemCount index);
+
+
+/* OTEnqueue/OTDequeue*/
+
+/*
+ These routines are atomic, mighty weird, and generally not
+ worth the complexity. If you need atomic list operations,
+ use OTLIFO instead.
+*/
+
+/*
+ This function puts "object" on the listHead, and places the
+ previous value at listHead into the pointer at "object" plus
+ linkOffset.
+*/
+/*
+ * OTEnqueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTEnqueue(
+ void ** listHead,
+ void * object,
+ OTByteCount linkOffset);
+
+
+/*
+ This function returns the head object of the list, and places
+ the pointer at "object" + linkOffset into the listHead
+*/
+/*
+ * OTDequeue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void * )
+OTDequeue(
+ void ** listHead,
+ OTByteCount linkOffset);
#ifdef __cplusplus
// C++ inline methods on this structure.
- inline void OTList::Init()
- {
- fHead = NULL;
- }
- inline Boolean OTList::IsEmpty()
- {
- return fHead == NULL;
- }
- inline void OTList::AddFirst(OTLink* link)
- {
- OTAddFirst(this, link);
- }
- inline void OTList::AddLast(OTLink* link)
- {
- OTAddLast(this, link);
- }
- inline OTLink* OTList::GetFirst()
- {
- return OTGetFirst(this);
- }
- inline OTLink* OTList::GetLast()
- {
- return OTGetLast(this);
- }
- inline OTLink* OTList::RemoveFirst()
- {
- return OTRemoveFirst(this);
- }
- inline OTLink* OTList::RemoveLast()
- {
- return OTRemoveLast(this);
- }
- inline Boolean OTList::IsInList(OTLink* link)
- {
- return OTIsInList(this, link);
- }
- inline OTLink* OTList::FindLink(OTListSearchUPP proc, const void* ref)
- {
- return OTFindLink(this, proc, ref);
- }
- inline Boolean OTList::RemoveLink(OTLink* link)
- {
- return OTRemoveLink(this, link);
- }
- inline OTLink* OTList::FindAndRemoveLink(OTListSearchUPP proc, const void* ref)
- {
- return OTFindAndRemoveLink(this, proc, ref);
- }
- inline OTLink* OTList::GetIndexedLink(OTItemCount index)
- {
- return OTGetIndexedLink(this, index);
- }
+ inline void OTList::Init() { fHead = NULL; }
+ inline Boolean OTList::IsEmpty() { return fHead == NULL; }
+ inline void OTList::AddFirst(OTLink* link) { OTAddFirst(this, link); }
+ inline void OTList::AddLast(OTLink* link) { OTAddLast(this, link); }
+ inline OTLink* OTList::GetFirst() { return OTGetFirst(this); }
+ inline OTLink* OTList::GetLast() { return OTGetLast(this); }
+ inline OTLink* OTList::RemoveFirst() { return OTRemoveFirst(this); }
+ inline OTLink* OTList::RemoveLast() { return OTRemoveLast(this); }
+ inline Boolean OTList::IsInList(OTLink* link) { return OTIsInList(this, link); }
+ inline OTLink* OTList::FindLink(OTListSearchUPP proc, const void* ref)
+ { return OTFindLink(this, proc, ref); }
+ inline Boolean OTList::RemoveLink(OTLink* link) { return OTRemoveLink(this, link); }
+ inline OTLink* OTList::FindAndRemoveLink(OTListSearchUPP proc, const void* ref)
+ { return OTFindAndRemoveLink(this, proc, ref); }
+ inline OTLink* OTList::GetIndexedLink(OTItemCount index)
+ { return OTGetIndexedLink(this, index); }
#endif
- /* Atomic Operations*/
-
- /*
- Note:
- The Bit operations return the previous value of the bit (0 or non-zero).
- The memory pointed to must be a single byte and only bits 0 through 7 are
- valid. Bit 0 corresponds to a mask of 0x01, and Bit 7 to a mask of 0x80.
- */
-
- /*
- WARNING!
- void* and UInt32 locations MUST be on 4-byte boundaries.
- UInt16 locations must not cross a 4-byte boundary.
- */
-
- /*
- * OTAtomicSetBit()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/* Atomic Operations*/
+
+/*
+ Note:
+ The Bit operations return the previous value of the bit (0 or non-zero).
+ The memory pointed to must be a single byte and only bits 0 through 7 are
+ valid. Bit 0 corresponds to a mask of 0x01, and Bit 7 to a mask of 0x80.
+*/
+
+/*
+ WARNING!
+ void* and UInt32 locations MUST be on 4-byte boundaries.
+ UInt16 locations must not cross a 4-byte boundary.
+*/
+
+/*
+ * OTAtomicSetBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OTAtomicSetBit(__A0, __D0)
#endif
- EXTERN_API_C(Boolean)
- OTAtomicSetBit(
- UInt8 * bytePtr,
- OTByteCount bitNumber) FOURWORDINLINE(0x01D0, 0x56C0, 0x7201, 0xC081);
-
-
- /*
- bset.b d0,(a0)
- sne d0
- moveq #1,d1
- and.l d1,d0
- */
- /*
- * OTAtomicClearBit()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API_C( Boolean )
+OTAtomicSetBit(
+ UInt8 * bytePtr,
+ OTByteCount bitNumber) FOURWORDINLINE(0x01D0, 0x56C0, 0x7201, 0xC081);
+
+
+/*
+ bset.b d0,(a0)
+ sne d0
+ moveq #1,d1
+ and.l d1,d0
+*/
+/*
+ * OTAtomicClearBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OTAtomicClearBit(__A0, __D0)
#endif
- EXTERN_API_C(Boolean)
- OTAtomicClearBit(
- UInt8 * bytePtr,
- OTByteCount bitNumber) FOURWORDINLINE(0x0190, 0x56C0, 0x7201, 0xC081);
-
-
- /*
- bclr.b d0,(a0)
- sne d0
- moveq #1,d1
- and.l d1,d0
- */
- /*
- * OTAtomicTestBit()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API_C( Boolean )
+OTAtomicClearBit(
+ UInt8 * bytePtr,
+ OTByteCount bitNumber) FOURWORDINLINE(0x0190, 0x56C0, 0x7201, 0xC081);
+
+
+/*
+ bclr.b d0,(a0)
+ sne d0
+ moveq #1,d1
+ and.l d1,d0
+*/
+/*
+ * OTAtomicTestBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OTAtomicTestBit(__A0, __D0)
#endif
- EXTERN_API_C(Boolean)
- OTAtomicTestBit(
- UInt8 * bytePtr,
- OTByteCount bitNumber) FOURWORDINLINE(0x0110, 0x56C0, 0x7201, 0xC081);
-
-
- /*
- btst.b d0,(a0)
- sne d0 *|
- moveq #1,d1
- and.l d1,d0 *|
- */
- /*
- * OTCompareAndSwapPtr()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API_C( Boolean )
+OTAtomicTestBit(
+ UInt8 * bytePtr,
+ OTByteCount bitNumber) FOURWORDINLINE(0x0110, 0x56C0, 0x7201, 0xC081);
+
+
+/*
+ btst.b d0,(a0)
+ sne d0 *|
+ moveq #1,d1
+ and.l d1,d0 *|
+*/
+/*
+ * OTCompareAndSwapPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OTCompareAndSwapPtr(__D0, __D1, __A0)
#endif
- EXTERN_API_C(Boolean)
- OTCompareAndSwapPtr(
- void * oldValue,
- void * newValue,
- void ** dest) FIVEWORDINLINE(0x0ED0, 0x0040, 0x57C0, 0x7201, 0xC081);
-
-
- /*
- cas.l d0,d1,(a0) *|
- seq d0 *|
- moveq #1,d1; and.l d1,d0 *|
- */
- /*
- * OTCompareAndSwap32()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API_C( Boolean )
+OTCompareAndSwapPtr(
+ void * oldValue,
+ void * newValue,
+ void ** dest) FIVEWORDINLINE(0x0ED0, 0x0040, 0x57C0, 0x7201, 0xC081);
+
+
+/*
+ cas.l d0,d1,(a0) *|
+ seq d0 *|
+ moveq #1,d1; and.l d1,d0 *|
+*/
+/*
+ * OTCompareAndSwap32()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OTCompareAndSwap32(__D0, __D1, __A0)
#endif
- EXTERN_API_C(Boolean)
- OTCompareAndSwap32(
- UInt32 oldValue,
- UInt32 newValue,
- UInt32 * dest) FIVEWORDINLINE(0x0ED0, 0x0040, 0x57C0, 0x7201, 0xC081);
-
-
- /*
- cas.l d0,d1,(a0) *|
- seq d0 *|
- moveq #1,d1; and.l d1,d0 *|
- */
- /*
- * OTCompareAndSwap16()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API_C( Boolean )
+OTCompareAndSwap32(
+ UInt32 oldValue,
+ UInt32 newValue,
+ UInt32 * dest) FIVEWORDINLINE(0x0ED0, 0x0040, 0x57C0, 0x7201, 0xC081);
+
+
+/*
+ cas.l d0,d1,(a0) *|
+ seq d0 *|
+ moveq #1,d1; and.l d1,d0 *|
+*/
+/*
+ * OTCompareAndSwap16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OTCompareAndSwap16(__D0, __D1, __A0)
#endif
- EXTERN_API_C(Boolean)
- OTCompareAndSwap16(
- UInt32 oldValue,
- UInt32 newValue,
- UInt16 * dest) FIVEWORDINLINE(0x0CD0, 0x0040, 0x57C0, 0x7201, 0xC081);
-
-
- /*
- cas.w d0,d1,(a0) *|
- seq d0 *|
- moveq #1,d1; and.l d1,d0 *|
- */
- /*
- * OTCompareAndSwap8()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API_C( Boolean )
+OTCompareAndSwap16(
+ UInt32 oldValue,
+ UInt32 newValue,
+ UInt16 * dest) FIVEWORDINLINE(0x0CD0, 0x0040, 0x57C0, 0x7201, 0xC081);
+
+
+/*
+ cas.w d0,d1,(a0) *|
+ seq d0 *|
+ moveq #1,d1; and.l d1,d0 *|
+*/
+/*
+ * OTCompareAndSwap8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OTCompareAndSwap8(__D0, __D1, __A0)
#endif
- EXTERN_API_C(Boolean)
- OTCompareAndSwap8(
- UInt32 oldValue,
- UInt32 newValue,
- UInt8 * dest) FIVEWORDINLINE(0x0AD0, 0x0040, 0x57C0, 0x7201, 0xC081);
-
-
- /*
- cas.b d0,d1,(a0) *|
- seq d0 *|
- moveq #1,d1; and.l d1,d0 *|
- */
- /*
- * OTAtomicAdd32()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API_C( Boolean )
+OTCompareAndSwap8(
+ UInt32 oldValue,
+ UInt32 newValue,
+ UInt8 * dest) FIVEWORDINLINE(0x0AD0, 0x0040, 0x57C0, 0x7201, 0xC081);
+
+
+/*
+ cas.b d0,d1,(a0) *|
+ seq d0 *|
+ moveq #1,d1; and.l d1,d0 *|
+*/
+/*
+ * OTAtomicAdd32()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OTAtomicAdd32(__D0, __A0)
#endif
- EXTERN_API_C(SInt32)
- OTAtomicAdd32(
- SInt32 toAdd,
- SInt32 * dest) SEVENWORDINLINE(0x2240, 0x2210, 0x2001, 0xD089, 0x0ED0, 0x0001, 0x66F4);
-
-
- /*
- move.l d0,a1 *|
- move.l (a0),d1 *|
- move.l d1,d0 *|
- add.l a1,d0 *|
- cas.l d1,d0,(a0) *|
- bne.s @1 *|
- */
- /*
- * OTAtomicAdd16()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt16)
- OTAtomicAdd16(
- SInt32 toAdd,
- SInt16 * dest);
-
-
- /* Not used frequently enough to justify inlining.*/
- /*
- * OTAtomicAdd8()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SInt8)
- OTAtomicAdd8(
- SInt32 toAdd,
- SInt8 * dest);
-
-
- /* Not used frequently enough to justify inlining.*/
- /* OTLock is just a convenience type with some convenient macros.*/
-
-
- typedef UInt8 OTLock;
+EXTERN_API_C( SInt32 )
+OTAtomicAdd32(
+ SInt32 toAdd,
+ SInt32 * dest) SEVENWORDINLINE(0x2240, 0x2210, 0x2001, 0xD089, 0x0ED0, 0x0001, 0x66F4);
+
+
+/*
+ move.l d0,a1 *|
+ move.l (a0),d1 *|
+ move.l d1,d0 *|
+ add.l a1,d0 *|
+ cas.l d1,d0,(a0) *|
+ bne.s @1 *|
+*/
+/*
+ * OTAtomicAdd16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt16 )
+OTAtomicAdd16(
+ SInt32 toAdd,
+ SInt16 * dest);
+
+
+/* Not used frequently enough to justify inlining.*/
+/*
+ * OTAtomicAdd8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SInt8 )
+OTAtomicAdd8(
+ SInt32 toAdd,
+ SInt8 * dest);
+
+
+/* Not used frequently enough to justify inlining.*/
+/* OTLock is just a convenience type with some convenient macros.*/
+
+
+typedef UInt8 OTLock;
#define OTClearLock(lockPtr) *(lockPtr) = 0
#define OTAcquireLock(lockPtr) (OTAtomicSetBit(lockPtr, 0) == 0)
- /*******************************************************************************
- **
- ** FROM HERE ON DOWN ARE THE C++ Interfaces to Open Transport
- **
- ********************************************************************************/
+/*******************************************************************************
+**
+** FROM HERE ON DOWN ARE THE C++ Interfaces to Open Transport
+**
+********************************************************************************/
#ifdef __cplusplus
} // Terminate C definitions
/* -------------------------------------------------------------------------
CLASS TProvider
-
+
This class provides the client interface to a Stream. Typically, clients
talk to an object (or glue code in front of the object) that is a subclass
of TProvider.
@@ -4684,406 +4544,258 @@ extern "C" {
class TProvider
{
-private:
- void* operator new(size_t);
- void operator delete(void*) {}
-
+ private:
+ void* operator new(size_t);
+ void operator delete(void*) {}
+
//
// This is the public interface to a TProvider. All other public
// methods normally come from the subclass.
//
-public:
- OSStatus Close()
- {
- return OTCloseProvider(this);
- }
-
- OSStatus SetNonBlocking()
- {
- return OTSetNonBlocking(this);
- }
- OSStatus SetBlocking()
- {
- return OTSetBlocking(this);
- }
- Boolean IsBlocking()
- {
- return OTIsBlocking(this);
- }
- Boolean IsNonBlocking()
- {
- return !OTIsBlocking(this);
- }
- OSStatus SetSynchronous()
- {
- return OTSetSynchronous(this);
- }
- OSStatus SetAsynchronous()
- {
- return OTSetAsynchronous(this);
- }
- Boolean IsSynchronous()
- {
- return OTIsSynchronous(this);
- }
- Boolean IsAsynchronous()
- {
- return !OTIsSynchronous(this);
- }
-
- OSStatus AckSends()
- {
- return OTAckSends(this);
- }
- OSStatus DontAckSends()
- {
- return OTDontAckSends(this);
- }
- Boolean IsAckingSends()
- {
- return OTIsAckingSends(this);
- }
-
- void CancelSynchronousCalls(OSStatus err)
- {
- (void)OTCancelSynchronousCalls(this, err);
- }
-
- OSStatus InstallNotifier(OTNotifyUPP proc, void* ptr)
- {
- return OTInstallNotifier(this, proc, ptr);
- }
-
- OSStatus UseSyncIdleEvents()
- {
- return OTUseSyncIdleEvents(this, true);
- }
-
- OSStatus DontUseSyncIdleEvents()
- {
- return OTUseSyncIdleEvents(this, false);
- }
-
- void RemoveNotifier()
- {
- OTRemoveNotifier(this);
- }
-
- Boolean EnterNotifier()
- {
- return OTEnterNotifier(this);
- }
-
- void LeaveNotifier()
- {
- OTLeaveNotifier(this);
- }
-
+ public:
+ OSStatus Close() { return OTCloseProvider(this); }
+
+ OSStatus SetNonBlocking() { return OTSetNonBlocking(this); }
+ OSStatus SetBlocking() { return OTSetBlocking(this); }
+ Boolean IsBlocking() { return OTIsBlocking(this); }
+ Boolean IsNonBlocking() { return !OTIsBlocking(this); }
+ OSStatus SetSynchronous() { return OTSetSynchronous(this); }
+ OSStatus SetAsynchronous() { return OTSetAsynchronous(this); }
+ Boolean IsSynchronous() { return OTIsSynchronous(this); }
+ Boolean IsAsynchronous() { return !OTIsSynchronous(this); }
+
+ OSStatus AckSends() { return OTAckSends(this); }
+ OSStatus DontAckSends() { return OTDontAckSends(this); }
+ Boolean IsAckingSends() { return OTIsAckingSends(this); }
+
+ void CancelSynchronousCalls(OSStatus err)
+ { (void)OTCancelSynchronousCalls(this, err); }
+
+ OSStatus InstallNotifier(OTNotifyUPP proc, void* ptr)
+ { return OTInstallNotifier(this, proc, ptr); }
+
+ OSStatus UseSyncIdleEvents()
+ { return OTUseSyncIdleEvents(this, true); }
+
+ OSStatus DontUseSyncIdleEvents()
+ { return OTUseSyncIdleEvents(this, false); }
+
+ void RemoveNotifier()
+ { OTRemoveNotifier(this); }
+
+ Boolean EnterNotifier()
+ { return OTEnterNotifier(this); }
+
+ void LeaveNotifier()
+ { OTLeaveNotifier(this); }
+
#if CALL_NOT_IN_CARBON
- OTPortRef GetOTPortRef()
- {
- return OTGetProviderPortRef(this);
- }
-
- ProviderRef TransferOwnership(OTClient prevOwner, OSStatus* errPtr)
- {
- return OTTransferProviderOwnership(this, prevOwner, errPtr);
- }
+ OTPortRef GetOTPortRef()
+ { return OTGetProviderPortRef(this); }
+
+ ProviderRef TransferOwnership(OTClient prevOwner, OSStatus* errPtr)
+ { return OTTransferProviderOwnership(this, prevOwner, errPtr); }
#endif
-
- SInt32 Ioctl(UInt32 cmd, void* data)
- {
- return OTIoctl(this, cmd, data);
- }
- SInt32 Ioctl(UInt32 cmd, long data)
- {
- return OTIoctl(this, cmd, (void*)data);
- }
-
+
+ SInt32 Ioctl(UInt32 cmd, void* data)
+ { return OTIoctl(this, cmd, data); }
+ SInt32 Ioctl(UInt32 cmd, long data)
+ { return OTIoctl(this, cmd, (void*)data); }
+
#if CALL_NOT_IN_CARBON
- OTResult GetMessage(strbuf* ctlbuf, strbuf* databuf, OTFlags* flagPtr)
- {
- return OTGetMessage(this, ctlbuf, databuf, flagPtr);
- }
- OTResult GetPriorityMessage(strbuf* ctlbuf, strbuf* databuf,
- OTBand* bandPtr, OTFlags* flagPtr)
- {
- return OTGetPriorityMessage(this, ctlbuf, databuf, bandPtr, flagPtr);
- }
- OSStatus PutMessage(const strbuf* ctlbuf, const strbuf* databuf,
- OTFlags flags)
- {
- return OTPutMessage(this, ctlbuf, databuf, flags);
- }
- OSStatus PutPriorityMessage(const strbuf* ctlbuf, const strbuf* databuf,
- OTBand band, OTFlags flags)
- {
- return OTPutPriorityMessage(this, ctlbuf, databuf, band, flags);
- }
+ OTResult GetMessage(strbuf* ctlbuf, strbuf* databuf, OTFlags* flagPtr)
+ { return OTGetMessage(this, ctlbuf, databuf, flagPtr); }
+ OTResult GetPriorityMessage(strbuf* ctlbuf, strbuf* databuf,
+ OTBand* bandPtr, OTFlags* flagPtr)
+ { return OTGetPriorityMessage(this, ctlbuf, databuf, bandPtr, flagPtr); }
+ OSStatus PutMessage(const strbuf* ctlbuf, const strbuf* databuf,
+ OTFlags flags)
+ { return OTPutMessage(this, ctlbuf, databuf, flags); }
+ OSStatus PutPriorityMessage(const strbuf* ctlbuf, const strbuf* databuf,
+ OTBand band, OTFlags flags)
+ { return OTPutPriorityMessage(this, ctlbuf, databuf, band, flags); }
#endif
-
+
};
-
-
+
+
/* -------------------------------------------------------------------------
Class TEndpoint
-
+
This class is the interface to all TPI modules, which constitute the
vast majority of protocols, with the exception of link-layer protocols.
------------------------------------------------------------------------- */
class TEndpoint : public TProvider
{
-public:
+ public:
//
// Miscellaneous informative functions
//
- OSStatus GetEndpointInfo(TEndpointInfo* info)
- {
- return OTGetEndpointInfo(this, info);
- }
-
- OSStatus GetProtAddress(TBind* boundAddr, TBind* peerAddr)
- {
- return OTGetProtAddress(this, boundAddr, peerAddr);
- }
-
- OSStatus ResolveAddress(TBind* reqAddr, TBind* retAddr, OTTimeout timeout)
- {
- return OTResolveAddress(this, reqAddr, retAddr, timeout);
- }
-
- OTResult GetEndpointState()
- {
- return OTGetEndpointState(this);
- }
-
- OTResult Look()
- {
- return OTLook(this);
- }
-
+ OSStatus GetEndpointInfo(TEndpointInfo* info)
+ { return OTGetEndpointInfo(this, info); }
+
+ OSStatus GetProtAddress(TBind* boundAddr, TBind* peerAddr)
+ { return OTGetProtAddress(this, boundAddr, peerAddr); }
+
+ OSStatus ResolveAddress(TBind* reqAddr, TBind* retAddr, OTTimeout timeout)
+ { return OTResolveAddress(this, reqAddr, retAddr, timeout); }
+
+ OTResult GetEndpointState()
+ { return OTGetEndpointState(this); }
+
+ OTResult Look()
+ { return OTLook(this); }
+
#if CALL_NOT_IN_CARBON
- OTResult Sync()
- {
- return OTSync(this);
- }
+ OTResult Sync()
+ { return OTSync(this); }
#endif
//
// Allocating structures
//
- void* AllocInContext(OTStructType structType, UInt32 fields, OSStatus* err = NULL, OTClientContextPtr clientContext = NULL)
- {
- return OTAllocInContext(this, structType, fields, err, clientContext);
- }
-
- void* Alloc(OTStructType structType, UInt32 fields, OSStatus* err = NULL)
- {
-#if TARGET_API_MAC_CARBON
- return OTAllocInContext(this, structType, fields, err, NULL);
-#else
- return OTAlloc(this, structType, fields, err);
-#endif
- };
-
- OTResult Free(void* ptr, OTStructType structType)
- {
- return OTFree(ptr, structType);
- }
+ void* AllocInContext(OTStructType structType, UInt32 fields, OSStatus* err = NULL, OTClientContextPtr clientContext = NULL)
+ { return OTAllocInContext(this, structType, fields, err, clientContext); }
+
+ void* Alloc(OTStructType structType, UInt32 fields, OSStatus* err = NULL)
+ {
+ #if TARGET_API_MAC_CARBON
+ return OTAllocInContext(this, structType, fields, err, NULL);
+ #else
+ return OTAlloc(this, structType, fields, err);
+ #endif
+ };
+
+ OTResult Free(void* ptr, OTStructType structType)
+ { return OTFree(ptr, structType); }
//
// Option Management
//
- OSStatus OptionManagement(TOptMgmt* req, TOptMgmt* ret)
- {
- return OTOptionManagement(this, req, ret);
- }
+ OSStatus OptionManagement(TOptMgmt* req, TOptMgmt* ret)
+ { return OTOptionManagement(this, req, ret); }
//
// Bind/Unbind
//
- OSStatus Bind(TBind* reqAddr, TBind* retAddr)
- {
- return OTBind(this, reqAddr, retAddr);
- }
-
- OSStatus Unbind()
- {
- return OTUnbind(this);
- }
+ OSStatus Bind(TBind* reqAddr, TBind* retAddr)
+ { return OTBind(this, reqAddr, retAddr); }
+
+ OSStatus Unbind()
+ { return OTUnbind(this); }
//
// Connection creation and tear-down
//
- OSStatus Connect(TCall* sndCall, TCall* rcvCall)
- {
- return OTConnect(this, sndCall, rcvCall);
- }
-
- OSStatus RcvConnect(TCall* call)
- {
- return OTRcvConnect(this, call);
- }
-
- OSStatus Listen(TCall* call)
- {
- return OTListen(this, call);
- }
-
- OSStatus Accept(EndpointRef resRef, TCall* call)
- {
- return OTAccept(this, resRef, call);
- }
-
- OSStatus SndDisconnect(TCall* call)
- {
- return OTSndDisconnect(this, call);
- }
-
- OSStatus SndOrderlyDisconnect()
- {
- return OTSndOrderlyDisconnect(this);
- }
-
- OSStatus RcvDisconnect(TDiscon* discon)
- {
- return OTRcvDisconnect(this, discon);
- }
-
- OSStatus RcvOrderlyDisconnect()
- {
- return OTRcvOrderlyDisconnect(this);
- }
+ OSStatus Connect(TCall* sndCall, TCall* rcvCall)
+ { return OTConnect(this, sndCall, rcvCall); }
+
+ OSStatus RcvConnect(TCall* call)
+ { return OTRcvConnect(this, call); }
+
+ OSStatus Listen(TCall* call)
+ { return OTListen(this, call); }
+
+ OSStatus Accept(EndpointRef resRef, TCall* call)
+ { return OTAccept(this, resRef, call); }
+
+ OSStatus SndDisconnect(TCall* call)
+ { return OTSndDisconnect(this, call); }
+
+ OSStatus SndOrderlyDisconnect()
+ { return OTSndOrderlyDisconnect(this); }
+
+ OSStatus RcvDisconnect(TDiscon* discon)
+ { return OTRcvDisconnect(this, discon); }
+
+ OSStatus RcvOrderlyDisconnect()
+ { return OTRcvOrderlyDisconnect(this); }
//
// Connection-oriented data transfer
//
- OTResult Snd(void* buf, OTByteCount nbytes, OTFlags flags)
- {
- return OTSnd(this, buf, nbytes, flags);
- }
-
- OTResult Rcv(void* buf, OTByteCount nbytes, OTFlags* flagP)
- {
- return OTRcv(this, buf, nbytes, flagP);
- }
+ OTResult Snd(void* buf, OTByteCount nbytes, OTFlags flags)
+ { return OTSnd(this, buf, nbytes, flags); }
+
+ OTResult Rcv(void* buf, OTByteCount nbytes, OTFlags* flagP)
+ { return OTRcv(this, buf, nbytes, flagP); }
//
// Non-connection-oriented data transfer
//
- OSStatus SndUData(TUnitData* udata)
- {
- return OTSndUData(this, udata);
- }
-
- OSStatus RcvUData(TUnitData* udata, OTFlags* flagP)
- {
- return OTRcvUData(this, udata, flagP);
- }
-
- OSStatus RcvUDErr(TUDErr* uderr)
- {
- return OTRcvUDErr(this, uderr);
- }
+ OSStatus SndUData(TUnitData* udata)
+ { return OTSndUData(this, udata); }
+
+ OSStatus RcvUData(TUnitData* udata, OTFlags* flagP)
+ { return OTRcvUData(this, udata, flagP); }
+
+ OSStatus RcvUDErr(TUDErr* uderr)
+ { return OTRcvUDErr(this, uderr); }
#if CALL_NOT_IN_CARBON
//
// Connection-oriented transactions
//
- OSStatus SndRequest(TRequest* req, OTFlags reqFlags)
- {
- return OTSndRequest(this, req, reqFlags);
- }
-
- OSStatus RcvReply(TReply* reply, OTFlags* replyFlags)
- {
- return OTRcvReply(this, reply, replyFlags);
- }
-
- OSStatus SndReply(TReply* reply, OTFlags flags)
- {
- return OTSndReply(this, reply, flags);
- }
-
- OSStatus RcvRequest(TRequest* req, OTFlags* flags)
- {
- return OTRcvRequest(this, req, flags);
- }
-
- OSStatus CancelRequest(OTSequence seq)
- {
- return OTCancelRequest(this, seq);
- }
-
- OSStatus CancelReply(OTSequence seq)
- {
- return OTCancelReply(this, seq);
- }
+ OSStatus SndRequest(TRequest* req, OTFlags reqFlags)
+ { return OTSndRequest(this, req, reqFlags); }
+
+ OSStatus RcvReply(TReply* reply, OTFlags* replyFlags)
+ { return OTRcvReply(this, reply, replyFlags); }
+
+ OSStatus SndReply(TReply* reply, OTFlags flags)
+ { return OTSndReply(this, reply, flags); }
+
+ OSStatus RcvRequest(TRequest* req, OTFlags* flags)
+ { return OTRcvRequest(this, req, flags); }
+
+ OSStatus CancelRequest(OTSequence seq)
+ { return OTCancelRequest(this, seq); }
+
+ OSStatus CancelReply(OTSequence seq)
+ { return OTCancelReply(this, seq); }
//
// Non-connection-oriented transactions
//
- OSStatus SndURequest(TUnitRequest* req, OTFlags reqFlags)
- {
- return OTSndURequest(this, req, reqFlags);
- }
-
- OSStatus RcvUReply(TUnitReply* reply, OTFlags* replyFlags)
- {
- return OTRcvUReply(this, reply, replyFlags);
- }
-
- OSStatus SndUReply(TUnitReply* reply, OTFlags flags)
- {
- return OTSndUReply(this, reply, flags);
- }
-
- OSStatus RcvURequest(TUnitRequest* req, OTFlags* flags)
- {
- return OTRcvURequest(this, req, flags);
- }
-
- OSStatus CancelURequest(OTSequence seq)
- {
- return OTCancelURequest(this, seq);
- }
-
- OSStatus CancelUReply(OTSequence seq)
- {
- return OTCancelUReply(this, seq);
- }
+ OSStatus SndURequest(TUnitRequest* req, OTFlags reqFlags)
+ { return OTSndURequest(this, req, reqFlags); }
+
+ OSStatus RcvUReply(TUnitReply* reply, OTFlags* replyFlags)
+ { return OTRcvUReply(this, reply, replyFlags); }
+
+ OSStatus SndUReply(TUnitReply* reply, OTFlags flags)
+ { return OTSndUReply(this, reply, flags); }
+
+ OSStatus RcvURequest(TUnitRequest* req, OTFlags* flags)
+ { return OTRcvURequest(this, req, flags); }
+
+ OSStatus CancelURequest(OTSequence seq)
+ { return OTCancelURequest(this, seq); }
+
+ OSStatus CancelUReply(OTSequence seq)
+ { return OTCancelUReply(this, seq); }
#endif
//
// Miscellaneous functions
//
- OTResult CountDataBytes(OTByteCount* countPtr)
- {
- return OTCountDataBytes(this, countPtr);
- }
+ OTResult CountDataBytes(OTByteCount* countPtr)
+ { return OTCountDataBytes(this, countPtr); }
};
/* -------------------------------------------------------------------------
CLASS TMapper
-
+
This class is the interface to naming protocols.
------------------------------------------------------------------------- */
class TMapper : public TProvider
{
-public:
- OSStatus RegisterName(TRegisterRequest* req, TRegisterReply* reply)
- {
- return OTRegisterName(this, req, reply);
- }
-
- OSStatus DeleteName(TNetbuf* name)
- {
- return OTDeleteName(this, name);
- }
-
- OSStatus DeleteName(OTNameID theID)
- {
- return OTDeleteNameByID(this, theID);
- }
-
- OSStatus LookupName(TLookupRequest* req, TLookupReply* reply)
- {
- return OTLookupName(this, req, reply);
- }
+ public:
+ OSStatus RegisterName(TRegisterRequest* req, TRegisterReply* reply)
+ { return OTRegisterName(this, req, reply); }
+
+ OSStatus DeleteName(TNetbuf* name)
+ { return OTDeleteName(this, name); }
+
+ OSStatus DeleteName(OTNameID theID)
+ { return OTDeleteNameByID(this, theID); }
+
+ OSStatus LookupName(TLookupRequest* req, TLookupReply* reply)
+ { return OTLookupName(this, req, reply); }
};
#endif /* !OTKERNEL */
@@ -5093,16 +4805,16 @@ extern "C" { // resume C definitions
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma pop
+ #pragma pop
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/OpenTransportProtocol.h b/include/qt/OpenTransportProtocol.h
index cd78be5ac..0bd30af86 100644
--- a/include/qt/OpenTransportProtocol.h
+++ b/include/qt/OpenTransportProtocol.h
@@ -1,17 +1,17 @@
/*
File: OpenTransportProtocol.h
-
+
Contains: Definitions likely to be used by low-level protocol stack implementation.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc. and Mentat Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OPENTRANSPORTPROTOCOL__
#define __OPENTRANSPORTPROTOCOL__
@@ -55,2487 +55,2289 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma push
-#pragma pointers_in_D0
+ #pragma push
+ #pragma pointers_in_D0
#endif
- /* ***** Setup Default Compiler Variables ******/
+/* ***** Setup Default Compiler Variables ******/
- /*
- OTKERNEL is used to indicate whether the code is being built
- for the kernel environment. It defaults to 0. If you include
- "OpenTransportKernel.h" before including this file,
- it will be 1 and you will only be able to see stuff available
- to kernel code.
- As we've included "OpenTransport.h" and it defaults this variable
- to 0 if it's not already been defined, it should always be defined
- by the time we get here. So we just assert that. Assertions in
- header files! Cool (-:
- */
+/*
+ OTKERNEL is used to indicate whether the code is being built
+ for the kernel environment. It defaults to 0. If you include
+ "OpenTransportKernel.h" before including this file,
+ it will be 1 and you will only be able to see stuff available
+ to kernel code.
+ As we've included "OpenTransport.h" and it defaults this variable
+ to 0 if it's not already been defined, it should always be defined
+ by the time we get here. So we just assert that. Assertions in
+ header files! Cool (-:
+*/
#ifndef OTKERNEL
#error OpenTransportProtocol.h expects OpenTransport.h to set up OTKERNEL.
#endif /* !defined(OTKERNEL) */
- /* ***** Shared Client Memory ******/
+/* ***** Shared Client Memory ******/
#if !OTKERNEL
- /*
- These allocators allocate memory in the shared client pool,
- which is shared between all clients and is not disposed when
- a particular client goes away. See DTS Technote ooo
- "Understanding Open Transport Memory Management" for details.
- */
+/*
+ These allocators allocate memory in the shared client pool,
+ which is shared between all clients and is not disposed when
+ a particular client goes away. See DTS Technote ooo
+ "Understanding Open Transport Memory Management" for details.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OTAllocSharedClientMem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- OTAllocSharedClientMem(OTByteCount size);
-
-
- /*
- * OTFreeSharedClientMem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTFreeSharedClientMem(void * mem);
+/*
+ * OTAllocSharedClientMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+OTAllocSharedClientMem(OTByteCount size);
+
+
+/*
+ * OTFreeSharedClientMem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTFreeSharedClientMem(void * mem);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !OTKERNEL */
- /* ***** UNIX Types ******/
+/* ***** UNIX Types ******/
#if CALL_NOT_IN_CARBON
- /*
- On UNIX, uid_t and gid_t are defined to be big enough
- to hold a user ID and group ID respectively. As Mac OS
- has no such concepts, we just define them as UInt32 place
- holders.
- */
- typedef UInt32 uid_t;
- typedef UInt32 gid_t;
- /* Similarly, dev_t is a UNIX type for denoting a device number.*/
- typedef UInt32 dev_t;
- /* ***** From the Mentat "strstat.h" ******/
-
- /* module statistics structure */
- struct module_stat
- {
- long ms_pcnt; /* count of calls to put proc */
- long ms_scnt; /* count of calls to service proc */
- long ms_ocnt; /* count of calls to open proc */
- long ms_ccnt; /* count of calls to close proc */
- long ms_acnt; /* count of calls to admin proc */
- char * ms_xptr; /* pointer to private statistics */
- short ms_xsize; /* length of private statistics buffer */
- };
- typedef struct module_stat module_stat;
- /* ***** From the Mentat "cred.h" ******/
-
- struct cred
- {
- UInt16 cr_ref; /* reference count on processes using cred structures */
- UInt16 cr_ngroups; /* number of groups in cr_groups */
- uid_t cr_uid; /* effective user id */
- gid_t cr_gid; /* effective group id */
- uid_t cr_ruid; /* real user id */
- gid_t cr_rgid; /* real group id */
- uid_t cr_suid; /* user id saved by exec */
- gid_t cr_sgid; /* group id saved by exec */
- gid_t cr_groups[1]; /* supplementary groups list */
- };
- typedef struct cred cred;
- typedef cred cred_t;
- /* Free return structure for esballoc */
- typedef CALLBACK_API_C(void , FreeFuncType)(char * arg);
- struct free_rtn
- {
- FreeFuncType free_func; /* Routine to call to free buffer */
- char * free_arg; /* Parameter to free_func */
- };
- typedef struct free_rtn free_rtn;
- typedef free_rtn frtn_t;
- /* data descriptor */
- typedef struct datab datab;
- union datab_db_f
- {
- datab * freep;
- free_rtn * frtnp;
- };
- typedef union datab_db_f datab_db_f;
- struct datab
- {
- datab_db_f db_f;
- unsigned char * db_base; /* first byte of buffer */
- unsigned char * db_lim; /* last byte+1 of buffer */
- unsigned char db_ref; /* count of messages pointing to block*/
- unsigned char db_type; /* message type */
- unsigned char db_iswhat; /* message status */
- unsigned char db_filler2; /* for spacing */
- UInt32 db_size; /* used internally */
- unsigned char * db_msgaddr; /* used internally */
- long db_filler;
- };
+/*
+ On UNIX, uid_t and gid_t are defined to be big enough
+ to hold a user ID and group ID respectively. As Mac OS
+ has no such concepts, we just define them as UInt32 place
+ holders.
+*/
+typedef UInt32 uid_t;
+typedef UInt32 gid_t;
+/* Similarly, dev_t is a UNIX type for denoting a device number.*/
+typedef UInt32 dev_t;
+/* ***** From the Mentat "strstat.h" ******/
+
+/* module statistics structure */
+struct module_stat {
+ long ms_pcnt; /* count of calls to put proc */
+ long ms_scnt; /* count of calls to service proc */
+ long ms_ocnt; /* count of calls to open proc */
+ long ms_ccnt; /* count of calls to close proc */
+ long ms_acnt; /* count of calls to admin proc */
+ char * ms_xptr; /* pointer to private statistics */
+ short ms_xsize; /* length of private statistics buffer */
+};
+typedef struct module_stat module_stat;
+/* ***** From the Mentat "cred.h" ******/
+
+struct cred {
+ UInt16 cr_ref; /* reference count on processes using cred structures */
+ UInt16 cr_ngroups; /* number of groups in cr_groups */
+ uid_t cr_uid; /* effective user id */
+ gid_t cr_gid; /* effective group id */
+ uid_t cr_ruid; /* real user id */
+ gid_t cr_rgid; /* real group id */
+ uid_t cr_suid; /* user id saved by exec */
+ gid_t cr_sgid; /* group id saved by exec */
+ gid_t cr_groups[1]; /* supplementary groups list */
+};
+typedef struct cred cred;
+typedef cred cred_t;
+/* Free return structure for esballoc */
+typedef CALLBACK_API_C( void , FreeFuncType )(char * arg);
+struct free_rtn {
+ FreeFuncType free_func; /* Routine to call to free buffer */
+ char * free_arg; /* Parameter to free_func */
+};
+typedef struct free_rtn free_rtn;
+typedef free_rtn frtn_t;
+/* data descriptor */
+typedef struct datab datab;
+union datab_db_f {
+ datab * freep;
+ free_rtn * frtnp;
+};
+typedef union datab_db_f datab_db_f;
+struct datab {
+ datab_db_f db_f;
+ unsigned char * db_base; /* first byte of buffer */
+ unsigned char * db_lim; /* last byte+1 of buffer */
+ unsigned char db_ref; /* count of messages pointing to block*/
+ unsigned char db_type; /* message type */
+ unsigned char db_iswhat; /* message status */
+ unsigned char db_filler2; /* for spacing */
+ UInt32 db_size; /* used internally */
+ unsigned char * db_msgaddr; /* used internally */
+ long db_filler;
+};
- typedef datab dblk_t;
+typedef datab dblk_t;
#define db_freep db_f.freep
#define db_frtnp db_f.frtnp
- /* message block */
- struct msgb
- {
- struct msgb * b_next; /* next message on queue */
- struct msgb * b_prev; /* previous message on queue */
- struct msgb * b_cont; /* next message block of message */
- unsigned char * b_rptr; /* first unread data byte in buffer */
- unsigned char * b_wptr; /* first unwritten data byte */
- datab * b_datap; /* data block */
- unsigned char b_band; /* message priority */
- unsigned char b_pad1;
- unsigned short b_flag;
+/* message block */
+struct msgb {
+ struct msgb * b_next; /* next message on queue */
+ struct msgb * b_prev; /* previous message on queue */
+ struct msgb * b_cont; /* next message block of message */
+ unsigned char * b_rptr; /* first unread data byte in buffer */
+ unsigned char * b_wptr; /* first unwritten data byte */
+ datab * b_datap; /* data block */
+ unsigned char b_band; /* message priority */
+ unsigned char b_pad1;
+ unsigned short b_flag;
#ifdef MSGB_XTRA
- MSGB_XTRA
+ MSGB_XTRA
#endif
- };
- typedef struct msgb msgb;
- typedef msgb mblk_t;
- /* mblk flags */
- enum
- {
- MSGMARK = 0x01, /* last byte of message is tagged */
- MSGNOLOOP = 0x02, /* don't pass message to write-side of stream */
- MSGDELIM = 0x04, /* message is delimited */
- MSGNOGET = 0x08
- };
+};
+typedef struct msgb msgb;
+typedef msgb mblk_t;
+/* mblk flags */
+enum {
+ MSGMARK = 0x01, /* last byte of message is tagged */
+ MSGNOLOOP = 0x02, /* don't pass message to write-side of stream */
+ MSGDELIM = 0x04, /* message is delimited */
+ MSGNOGET = 0x08
+};
- /* STREAMS environments are expected to define these constants in a public header file.*/
+/* STREAMS environments are expected to define these constants in a public header file.*/
- enum
- {
- STRCTLSZ = 256, /* Maximum Control buffer size for messages */
- STRMSGSZ = 8192 /* Maximum # data bytes for messages */
- };
+enum {
+ STRCTLSZ = 256, /* Maximum Control buffer size for messages */
+ STRMSGSZ = 8192 /* Maximum # data bytes for messages */
+};
- /* Message types */
- enum
- {
- QNORM = 0,
- M_DATA = 0, /* Ordinary data */
- M_PROTO = 1, /* Internal control info and data */
- M_BREAK = 0x08, /* Request a driver to send a break */
- M_PASSFP = 0x09, /* Used to pass a file pointer */
- M_SIG = 0x0B, /* Requests a signal to be sent */
- M_DELAY = 0x0C, /* Request a real-time delay */
- M_CTL = 0x0D, /* For inter-module communication */
- M_IOCTL = 0x0E, /* Used internally for I_STR requests */
- M_SETOPTS = 0x10, /* Alters characteristics of Stream head */
- M_RSE = 0x11 /* Reserved for internal use */
- };
+/* Message types */
+enum {
+ QNORM = 0,
+ M_DATA = 0, /* Ordinary data */
+ M_PROTO = 1, /* Internal control info and data */
+ M_BREAK = 0x08, /* Request a driver to send a break */
+ M_PASSFP = 0x09, /* Used to pass a file pointer */
+ M_SIG = 0x0B, /* Requests a signal to be sent */
+ M_DELAY = 0x0C, /* Request a real-time delay */
+ M_CTL = 0x0D, /* For inter-module communication */
+ M_IOCTL = 0x0E, /* Used internally for I_STR requests */
+ M_SETOPTS = 0x10, /* Alters characteristics of Stream head */
+ M_RSE = 0x11 /* Reserved for internal use */
+};
- /* MPS private type */
- enum
- {
- M_MI = 0x40,
- M_MI_READ_RESET = 1,
- M_MI_READ_SEEK = 2,
- M_MI_READ_END = 4
- };
+/* MPS private type */
+enum {
+ M_MI = 0x40,
+ M_MI_READ_RESET = 1,
+ M_MI_READ_SEEK = 2,
+ M_MI_READ_END = 4
+};
- /* Priority messages types */
- enum
- {
- QPCTL = 0x80,
- M_IOCACK = 0x81, /* Positive ack of previous M_IOCTL */
- M_IOCNAK = 0x82, /* Previous M_IOCTL failed */
- M_PCPROTO = 0x83, /* Same as M_PROTO except for priority */
- M_PCSIG = 0x84, /* Priority signal */
- M_FLUSH = 0x86, /* Requests modules to flush queues */
- M_STOP = 0x87, /* Request drivers to stop output */
- M_START = 0x88, /* Request drivers to start output */
- M_HANGUP = 0x89, /* Driver can no longer produce data */
- M_ERROR = 0x8A, /* Reports downstream error condition */
- M_READ = 0x8B, /* Reports client read at Stream head */
- M_COPYIN = 0x8C, /* Requests the Stream to copy data in for a module */
- M_COPYOUT = 0x8D, /* Requests the Stream to copy data out for a module */
- M_IOCDATA = 0x8E, /* Status from M_COPYIN/M_COPYOUT message */
- M_PCRSE = 0x90, /* Reserved for internal use */
- M_STOPI = 0x91, /* Request drivers to stop input */
- M_STARTI = 0x92, /* Request drivers to start input */
- M_HPDATA = 0x93 /* MPS-private type; high priority data */
- };
+/* Priority messages types */
+enum {
+ QPCTL = 0x80,
+ M_IOCACK = 0x81, /* Positive ack of previous M_IOCTL */
+ M_IOCNAK = 0x82, /* Previous M_IOCTL failed */
+ M_PCPROTO = 0x83, /* Same as M_PROTO except for priority */
+ M_PCSIG = 0x84, /* Priority signal */
+ M_FLUSH = 0x86, /* Requests modules to flush queues */
+ M_STOP = 0x87, /* Request drivers to stop output */
+ M_START = 0x88, /* Request drivers to start output */
+ M_HANGUP = 0x89, /* Driver can no longer produce data */
+ M_ERROR = 0x8A, /* Reports downstream error condition */
+ M_READ = 0x8B, /* Reports client read at Stream head */
+ M_COPYIN = 0x8C, /* Requests the Stream to copy data in for a module */
+ M_COPYOUT = 0x8D, /* Requests the Stream to copy data out for a module */
+ M_IOCDATA = 0x8E, /* Status from M_COPYIN/M_COPYOUT message */
+ M_PCRSE = 0x90, /* Reserved for internal use */
+ M_STOPI = 0x91, /* Request drivers to stop input */
+ M_STARTI = 0x92, /* Request drivers to start input */
+ M_HPDATA = 0x93 /* MPS-private type; high priority data */
+};
- /* Defines for flush messages */
- enum
- {
- FLUSHALL = 1,
- FLUSHDATA = 0
- };
+/* Defines for flush messages */
+enum {
+ FLUSHALL = 1,
+ FLUSHDATA = 0
+};
- enum
- {
- NOERROR = -1 /* used in M_ERROR messages */
- };
+enum {
+ NOERROR = -1 /* used in M_ERROR messages */
+};
- typedef struct sth_s sth_s;
- typedef struct sqh_s sqh_s;
- typedef struct q_xtra q_xtra;
+typedef struct sth_s sth_s;
+typedef struct sqh_s sqh_s;
+typedef struct q_xtra q_xtra;
#if OTKERNEL
- /*
- module_info is aligned differently on 68K than
- on PowerPC. Yucky. I can't defined a conditionalised
- pad field because a) you can't conditionalise specific
- fields in the interface definition language used to
- create Universal Interfaces, and b) lots of code
- assigns C structured constants to global variables
- of this type, and these assignments break if you
- add an extra field to the type. Instead, I
- set the alignment appropriately before defining the
- structure. The problem with doing that is that
- the interface definition language doesn't allow
- my to set the alignment in the middle of a file,
- so I have to do this via "pass throughs". This
- works fine for the well known languages (C, Pascal),
- but may cause problems for other languages (Java,
- Asm).
- */
+/*
+ module_info is aligned differently on 68K than
+ on PowerPC. Yucky. I can't defined a conditionalised
+ pad field because a) you can't conditionalise specific
+ fields in the interface definition language used to
+ create Universal Interfaces, and b) lots of code
+ assigns C structured constants to global variables
+ of this type, and these assignments break if you
+ add an extra field to the type. Instead, I
+ set the alignment appropriately before defining the
+ structure. The problem with doing that is that
+ the interface definition language doesn't allow
+ my to set the alignment in the middle of a file,
+ so I have to do this via "pass throughs". This
+ works fine for the well known languages (C, Pascal),
+ but may cause problems for other languages (Java,
+ Asm).
+*/
#if TARGET_CPU_PPC
-#pragma options align=power
+ #pragma options align=power
#endif
- struct module_info
- {
- unsigned short mi_idnum; /* module ID number */
- char * mi_idname; /* module name */
- long mi_minpsz; /* min pkt size, for developer use */
- long mi_maxpsz; /* max pkt size, for developer use */
- unsigned long mi_hiwat; /* hi-water mark, for flow control */
- unsigned long mi_lowat; /* lo-water mark, for flow control */
- };
- typedef struct module_info module_info;
- typedef module_info * module_infoPtr;
+struct module_info {
+ unsigned short mi_idnum; /* module ID number */
+ char * mi_idname; /* module name */
+ long mi_minpsz; /* min pkt size, for developer use */
+ long mi_maxpsz; /* max pkt size, for developer use */
+ unsigned long mi_hiwat; /* hi-water mark, for flow control */
+ unsigned long mi_lowat; /* lo-water mark, for flow control */
+};
+typedef struct module_info module_info;
+typedef module_info * module_infoPtr;
#if TARGET_CPU_PPC
-#pragma options align=reset
+ #pragma options align=reset
#endif
- typedef struct queue queue;
- typedef CALLBACK_API_C(OTInt32 , admin_t)(void);
- typedef CALLBACK_API_C(void , bufcall_t)(long size);
- typedef CALLBACK_API_C(void , bufcallp_t)(long size);
- typedef CALLBACK_API_C(OTInt32 , closep_t)(queue *q, OTInt32 foo, cred_t *cred);
- typedef CALLBACK_API_C(OTInt32 , old_closep_t)(queue * q);
- typedef CALLBACK_API_C(OTInt32 , openp_t)(queue *q, dev_t *dev, OTInt32 foo, OTInt32 bar, cred_t *cred);
- typedef CALLBACK_API_C(OTInt32 , openOld_t)(queue *q, dev_t dev, OTInt32 foo, OTInt32 bar);
- typedef CALLBACK_API_C(OTInt32 , old_openp_t)(queue *q, dev_t dev, OTInt32 foo, OTInt32 bar);
- typedef CALLBACK_API_C(OTInt32 , closeOld_t)(queue * q);
- typedef CALLBACK_API_C(OTInt32 , putp_t)(queue *q, msgb *mp);
- typedef CALLBACK_API_C(OTInt32 , srvp_t)(queue * q);
- struct qinit
- {
- putp_t qi_putp; /* put procedure */
- srvp_t qi_srvp; /* service procedure */
- openp_t qi_qopen; /* called on each open or a push */
- closep_t qi_qclose; /* called on last close or a pop */
- admin_t qi_qadmin; /* reserved for future use */
- module_info * qi_minfo; /* information structure */
- module_stat * qi_mstat; /* statistics structure - optional */
- };
- typedef struct qinit qinit;
- /* defines module or driver */
- struct streamtab
- {
- qinit * st_rdinit; /* defines read QUEUE */
- qinit * st_wrinit; /* defines write QUEUE */
- qinit * st_muxrinit; /* for multiplexing drivers only */
- qinit * st_muxwinit; /* ditto */
- };
- typedef struct streamtab streamtab;
- struct qband
- {
- struct qband * qb_next; /* next band for this queue */
- unsigned long qb_count; /* weighted count of characters in this band */
- msgb * qb_first; /* head of message queue */
- msgb * qb_last; /* tail of message queue */
- unsigned long qb_hiwat; /* high water mark */
- unsigned long qb_lowat; /* low water mark */
- unsigned short qb_flag; /* ooo.state */
- short qb_pad1; /* ooo reserved */
- };
- typedef struct qband qband;
- typedef qband qband_t;
- union queue_q_u
- {
- queue * q_u_link; /* link to scheduling queue */
- sqh_s * q_u_sqh_parent;
- };
- typedef union queue_q_u queue_q_u;
- struct queue
- {
- qinit * q_qinfo; /* procedures and limits for queue */
- msgb * q_first; /* head of message queue */
- msgb * q_last; /* tail of message queue */
- struct queue * q_next; /* next queue in Stream */
- queue_q_u q_u;
- char * q_ptr; /* to private data structure */
- unsigned long q_count; /* weighted count of characters on q */
- long q_minpsz; /* min packet size accepted */
- long q_maxpsz; /* max packet size accepted */
- unsigned long q_hiwat; /* high water mark, for flow control */
- unsigned long q_lowat; /* low water mark */
- qband * q_bandp; /* band information */
- unsigned short q_flag; /* ooo queue state */
- unsigned char q_nband; /* ooo number of bands */
- unsigned char q_pad1[1]; /* ooo reserved */
- q_xtra * q_osx; /* Pointer to OS-dependent extra stuff */
- struct queue * q_ffcp; /* Forward flow control pointer */
- struct queue * q_bfcp; /* Backward flow control pointer */
- };
+typedef struct queue queue;
+typedef CALLBACK_API_C( OTInt32 , admin_t )(void);
+typedef CALLBACK_API_C( void , bufcall_t )(long size);
+typedef CALLBACK_API_C( void , bufcallp_t )(long size);
+typedef CALLBACK_API_C( OTInt32 , closep_t )(queue *q, OTInt32 foo, cred_t *cred);
+typedef CALLBACK_API_C( OTInt32 , old_closep_t )(queue * q);
+typedef CALLBACK_API_C( OTInt32 , openp_t )(queue *q, dev_t *dev, OTInt32 foo, OTInt32 bar, cred_t *cred);
+typedef CALLBACK_API_C( OTInt32 , openOld_t )(queue *q, dev_t dev, OTInt32 foo, OTInt32 bar);
+typedef CALLBACK_API_C( OTInt32 , old_openp_t )(queue *q, dev_t dev, OTInt32 foo, OTInt32 bar);
+typedef CALLBACK_API_C( OTInt32 , closeOld_t )(queue * q);
+typedef CALLBACK_API_C( OTInt32 , putp_t )(queue *q, msgb *mp);
+typedef CALLBACK_API_C( OTInt32 , srvp_t )(queue * q);
+struct qinit {
+ putp_t qi_putp; /* put procedure */
+ srvp_t qi_srvp; /* service procedure */
+ openp_t qi_qopen; /* called on each open or a push */
+ closep_t qi_qclose; /* called on last close or a pop */
+ admin_t qi_qadmin; /* reserved for future use */
+ module_info * qi_minfo; /* information structure */
+ module_stat * qi_mstat; /* statistics structure - optional */
+};
+typedef struct qinit qinit;
+/* defines module or driver */
+struct streamtab {
+ qinit * st_rdinit; /* defines read QUEUE */
+ qinit * st_wrinit; /* defines write QUEUE */
+ qinit * st_muxrinit; /* for multiplexing drivers only */
+ qinit * st_muxwinit; /* ditto */
+};
+typedef struct streamtab streamtab;
+struct qband {
+ struct qband * qb_next; /* next band for this queue */
+ unsigned long qb_count; /* weighted count of characters in this band */
+ msgb * qb_first; /* head of message queue */
+ msgb * qb_last; /* tail of message queue */
+ unsigned long qb_hiwat; /* high water mark */
+ unsigned long qb_lowat; /* low water mark */
+ unsigned short qb_flag; /* ooo.state */
+ short qb_pad1; /* ooo reserved */
+};
+typedef struct qband qband;
+typedef qband qband_t;
+union queue_q_u {
+ queue * q_u_link; /* link to scheduling queue */
+ sqh_s * q_u_sqh_parent;
+};
+typedef union queue_q_u queue_q_u;
+struct queue {
+ qinit * q_qinfo; /* procedures and limits for queue */
+ msgb * q_first; /* head of message queue */
+ msgb * q_last; /* tail of message queue */
+ struct queue * q_next; /* next queue in Stream */
+ queue_q_u q_u;
+ char * q_ptr; /* to private data structure */
+ unsigned long q_count; /* weighted count of characters on q */
+ long q_minpsz; /* min packet size accepted */
+ long q_maxpsz; /* max packet size accepted */
+ unsigned long q_hiwat; /* high water mark, for flow control */
+ unsigned long q_lowat; /* low water mark */
+ qband * q_bandp; /* band information */
+ unsigned short q_flag; /* ooo queue state */
+ unsigned char q_nband; /* ooo number of bands */
+ unsigned char q_pad1[1]; /* ooo reserved */
+ q_xtra * q_osx; /* Pointer to OS-dependent extra stuff */
+ struct queue * q_ffcp; /* Forward flow control pointer */
+ struct queue * q_bfcp; /* Backward flow control pointer */
+};
- typedef queue * queuePtr;
- typedef queue queue_t;
+typedef queue * queuePtr;
+typedef queue queue_t;
#define q_link q_u.q_u_link
#define q_sqh_parent q_u.q_u_sqh_parent
- /* queue_t flag defines */
- enum
- {
- QREADR = 0x01, /* This queue is a read queue */
- QNOENB = 0x02, /* Don't enable in putq */
- QFULL = 0x04, /* The queue is full */
- QWANTR = 0x08, /* The queue should be scheduled in the next putq */
- QWANTW = 0x10, /* The stream should be back enabled when this queue drains */
- QUSE = 0x20, /* The queue is allocated and ready for use */
- QENAB = 0x40, /* The queue is scheduled (on the run queue) */
- QBACK = 0x80, /* The queue has been back enabled */
- QOLD = 0x0100, /* Module supports old style opens and closes */
- QHLIST = 0x0200, /* The Stream head is doing something with this queue (Not supported by MPS) */
- QWELDED = 0x0400, /* Mentat flag for welded queues */
- QUNWELDING = 0x0800, /* Queue is scheduled to be unwelded */
- QPROTECTED = 0x1000, /* Mentat flag for unsafe q access */
- QEXCOPENCLOSE = 0x2000 /* Queue wants exclusive open/close calls */
- };
+/* queue_t flag defines */
+enum {
+ QREADR = 0x01, /* This queue is a read queue */
+ QNOENB = 0x02, /* Don't enable in putq */
+ QFULL = 0x04, /* The queue is full */
+ QWANTR = 0x08, /* The queue should be scheduled in the next putq */
+ QWANTW = 0x10, /* The stream should be back enabled when this queue drains */
+ QUSE = 0x20, /* The queue is allocated and ready for use */
+ QENAB = 0x40, /* The queue is scheduled (on the run queue) */
+ QBACK = 0x80, /* The queue has been back enabled */
+ QOLD = 0x0100, /* Module supports old style opens and closes */
+ QHLIST = 0x0200, /* The Stream head is doing something with this queue (Not supported by MPS) */
+ QWELDED = 0x0400, /* Mentat flag for welded queues */
+ QUNWELDING = 0x0800, /* Queue is scheduled to be unwelded */
+ QPROTECTED = 0x1000, /* Mentat flag for unsafe q access */
+ QEXCOPENCLOSE = 0x2000 /* Queue wants exclusive open/close calls */
+};
- /* qband_t flag defines */
- enum
- {
- QB_FULL = 0x01, /* The band is full */
- QB_WANTW = 0x02, /* The stream should be back enabled when this band/queue drains */
- QB_BACK = 0x04 /* The queue has been back enabled */
- };
+/* qband_t flag defines */
+enum {
+ QB_FULL = 0x01, /* The band is full */
+ QB_WANTW = 0x02, /* The stream should be back enabled when this band/queue drains */
+ QB_BACK = 0x04 /* The queue has been back enabled */
+};
#else
- /*
- Client code views a queue_t as a simple cookie.
- The real definition lives above and is only available
- to kernel code.
- */
- typedef SInt32 queue_t;
+/*
+ Client code views a queue_t as a simple cookie.
+ The real definition lives above and is only available
+ to kernel code.
+*/
+typedef SInt32 queue_t;
#endif /* OTKERNEL */
- /* structure contained in M_COPYIN/M_COPYOUT messages */
- typedef char * caddr_t;
- struct copyreq
- {
- SInt32 cq_cmd; /* ioctl command (from ioc_cmd) */
- cred * cq_cr; /* pointer to full credentials */
- UInt32 cq_id; /* ioctl id (from ioc_id) */
- caddr_t cq_addr; /* address to copy data to/from */
- UInt32 cq_size; /* number of bytes to copy */
- SInt32 cq_flag; /* state */
- mblk_t * cq_private; /* private state information */
- long cq_filler[4];
- };
- typedef struct copyreq copyreq;
+/* structure contained in M_COPYIN/M_COPYOUT messages */
+typedef char * caddr_t;
+struct copyreq {
+ SInt32 cq_cmd; /* ioctl command (from ioc_cmd) */
+ cred * cq_cr; /* pointer to full credentials */
+ UInt32 cq_id; /* ioctl id (from ioc_id) */
+ caddr_t cq_addr; /* address to copy data to/from */
+ UInt32 cq_size; /* number of bytes to copy */
+ SInt32 cq_flag; /* state */
+ mblk_t * cq_private; /* private state information */
+ long cq_filler[4];
+};
+typedef struct copyreq copyreq;
#define cq_uid cq_cr->cr_uid
#define cq_gid cq_cr->cr_gid
- /* copyreq defines */
- enum
- {
- STRCANON = 0x01, /* b_cont data block contains canonical format specifier */
- RECOPY = 0x02 /* perform I_STR copyin again this time using canonical format specifier */
- };
+/* copyreq defines */
+enum {
+ STRCANON = 0x01, /* b_cont data block contains canonical format specifier */
+ RECOPY = 0x02 /* perform I_STR copyin again this time using canonical format specifier */
+};
- /* structure contained in M_IOCDATA message block */
- struct copyresp
- {
- SInt32 cp_cmd; /* ioctl command (from ioc_cmd) */
- cred * cp_cr; /* pointer to full credentials */
- UInt32 cp_id; /* ioctl id (from ioc_id) */
- caddr_t cp_rval; /* status of request; 0 for success; error value for failure */
- UInt32 cp_pad1;
- SInt32 cp_pad2;
- mblk_t * cp_private; /* private state information */
- long cp_filler[4];
- };
- typedef struct copyresp copyresp;
+/* structure contained in M_IOCDATA message block */
+struct copyresp {
+ SInt32 cp_cmd; /* ioctl command (from ioc_cmd) */
+ cred * cp_cr; /* pointer to full credentials */
+ UInt32 cp_id; /* ioctl id (from ioc_id) */
+ caddr_t cp_rval; /* status of request; 0 for success; error value for failure */
+ UInt32 cp_pad1;
+ SInt32 cp_pad2;
+ mblk_t * cp_private; /* private state information */
+ long cp_filler[4];
+};
+typedef struct copyresp copyresp;
#define cp_uid cp_cr->cr_uid
#define cp_gid cp_cr->cr_gid
- /* structure contained in an M_IOCTL message block */
- struct iocblk
- {
- SInt32 ioc_cmd; /* ioctl command type */
- cred * ioc_cr; /* pointer to full credentials */
- UInt32 ioc_id; /* ioctl id */
- UInt32 ioc_count; /* count of bytes in data field */
- SInt32 ioc_error; /* error code */
- SInt32 ioc_rval; /* return value */
- long ioc_filler[4];
- };
- typedef struct iocblk iocblk;
+/* structure contained in an M_IOCTL message block */
+struct iocblk {
+ SInt32 ioc_cmd; /* ioctl command type */
+ cred * ioc_cr; /* pointer to full credentials */
+ UInt32 ioc_id; /* ioctl id */
+ UInt32 ioc_count; /* count of bytes in data field */
+ SInt32 ioc_error; /* error code */
+ SInt32 ioc_rval; /* return value */
+ long ioc_filler[4];
+};
+typedef struct iocblk iocblk;
#define ioc_uid ioc_cr->cr_uid
#define ioc_gid ioc_cr->cr_gid
- enum
- {
- TRANSPARENT = (unsigned long)0xFFFFFFFF
- };
+enum {
+ TRANSPARENT = (unsigned long)0xFFFFFFFF
+};
- /* Used in M_IOCTL mblks to muxes (ioc_cmd I_LINK) */
- struct linkblk
- {
- queue_t * l_qtop; /* lowest level write queue of upper stream */
- queue_t * l_qbot; /* highest level write queue of lower stream */
- SInt32 l_index; /* system-unique index for lower stream */
- long l_pad[5];
- };
- typedef struct linkblk linkblk;
- /* structure contained in an M_PASSFP message block */
- struct strpfp
- {
- unsigned long pass_file_cookie; /* file 'pointer' */
- unsigned short pass_uid; /* user id of sending stream */
- unsigned short pass_gid;
- sth_s * pass_sth; /* Stream head pointer of passed stream */
- };
- typedef struct strpfp strpfp;
- /* structure contained in an M_SETOPTS message block */
- struct stroptions
- {
- unsigned long so_flags; /* options to set */
- short so_readopt; /* read option */
- unsigned short so_wroff; /* write offset */
- long so_minpsz; /* minimum read packet size */
- long so_maxpsz; /* maximum read packet size */
- unsigned long so_hiwat; /* read queue high-water mark */
- unsigned long so_lowat; /* read queue low-water mark */
- unsigned char so_band; /* band for water marks */
- unsigned char so_filler[3]; /* added for alignment */
- unsigned long so_poll_set; /* poll events to set */
- unsigned long so_poll_clr; /* poll events to clear */
- };
- typedef struct stroptions stroptions;
- /* definitions for so_flags field */
- enum
- {
- SO_ALL = 0x7FFF, /* Update all options */
- SO_READOPT = 0x0001, /* Set the read mode */
- SO_WROFF = 0x0002, /* Insert an offset in write M_DATA mblks */
- SO_MINPSZ = 0x0004, /* Change the min packet size on sth rq */
- SO_MAXPSZ = 0x0008, /* Change the max packet size on sth rq */
- SO_HIWAT = 0x0010, /* Change the high water mark on sth rq */
- SO_LOWAT = 0x0020, /* Change the low water mark */
- SO_MREADON = 0x0040, /* Request M_READ messages */
- SO_MREADOFF = 0x0080, /* Don't gen M_READ messages */
- SO_NDELON = 0x0100, /* old TTY semantics for O_NDELAY reads and writes */
- SO_NDELOFF = 0x0200, /* STREAMS semantics for O_NDELAY reads and writes */
- SO_ISTTY = 0x0400, /* Become a controlling tty */
- SO_ISNTTY = 0x0800, /* No longer a controlling tty */
- SO_TOSTOP = 0x1000, /* Stop on background writes */
- SO_TONSTOP = 0x2000, /* Don't stop on background writes */
- SO_BAND = 0x4000, /* Water marks are for a band */
- SO_POLL_SET = 0x8000, /* Set events to poll */
- SO_POLL_CLR = 0x00010000 /* Clear events to poll */
- };
+/* Used in M_IOCTL mblks to muxes (ioc_cmd I_LINK) */
+struct linkblk {
+ queue_t * l_qtop; /* lowest level write queue of upper stream */
+ queue_t * l_qbot; /* highest level write queue of lower stream */
+ SInt32 l_index; /* system-unique index for lower stream */
+ long l_pad[5];
+};
+typedef struct linkblk linkblk;
+/* structure contained in an M_PASSFP message block */
+struct strpfp {
+ unsigned long pass_file_cookie; /* file 'pointer' */
+ unsigned short pass_uid; /* user id of sending stream */
+ unsigned short pass_gid;
+ sth_s * pass_sth; /* Stream head pointer of passed stream */
+};
+typedef struct strpfp strpfp;
+/* structure contained in an M_SETOPTS message block */
+struct stroptions {
+ unsigned long so_flags; /* options to set */
+ short so_readopt; /* read option */
+ unsigned short so_wroff; /* write offset */
+ long so_minpsz; /* minimum read packet size */
+ long so_maxpsz; /* maximum read packet size */
+ unsigned long so_hiwat; /* read queue high-water mark */
+ unsigned long so_lowat; /* read queue low-water mark */
+ unsigned char so_band; /* band for water marks */
+ unsigned char so_filler[3]; /* added for alignment */
+ unsigned long so_poll_set; /* poll events to set */
+ unsigned long so_poll_clr; /* poll events to clear */
+};
+typedef struct stroptions stroptions;
+/* definitions for so_flags field */
+enum {
+ SO_ALL = 0x7FFF, /* Update all options */
+ SO_READOPT = 0x0001, /* Set the read mode */
+ SO_WROFF = 0x0002, /* Insert an offset in write M_DATA mblks */
+ SO_MINPSZ = 0x0004, /* Change the min packet size on sth rq */
+ SO_MAXPSZ = 0x0008, /* Change the max packet size on sth rq */
+ SO_HIWAT = 0x0010, /* Change the high water mark on sth rq */
+ SO_LOWAT = 0x0020, /* Change the low water mark */
+ SO_MREADON = 0x0040, /* Request M_READ messages */
+ SO_MREADOFF = 0x0080, /* Don't gen M_READ messages */
+ SO_NDELON = 0x0100, /* old TTY semantics for O_NDELAY reads and writes */
+ SO_NDELOFF = 0x0200, /* STREAMS semantics for O_NDELAY reads and writes */
+ SO_ISTTY = 0x0400, /* Become a controlling tty */
+ SO_ISNTTY = 0x0800, /* No longer a controlling tty */
+ SO_TOSTOP = 0x1000, /* Stop on background writes */
+ SO_TONSTOP = 0x2000, /* Don't stop on background writes */
+ SO_BAND = 0x4000, /* Water marks are for a band */
+ SO_POLL_SET = 0x8000, /* Set events to poll */
+ SO_POLL_CLR = 0x00010000 /* Clear events to poll */
+};
- /* Buffer Allocation Priority */
- enum
- {
- BPRI_LO = 1,
- BPRI_MED = 2,
- BPRI_HI = 3
- };
+/* Buffer Allocation Priority */
+enum {
+ BPRI_LO = 1,
+ BPRI_MED = 2,
+ BPRI_HI = 3
+};
- enum
- {
- INFPSZ = -1
- };
+enum {
+ INFPSZ = -1
+};
- /** Test whether message is a data message */
+/** Test whether message is a data message */
#define datamsg(type) ((type) == M_DATA || (type) == M_PROTO || (type) == M_PCPROTO || (type) == M_DELAY)
- enum
- {
- CLONEOPEN = 0x02,
- MODOPEN = 0x01,
- OPENFAIL = -1
- };
+enum {
+ CLONEOPEN = 0x02,
+ MODOPEN = 0x01,
+ OPENFAIL = -1
+};
- /* Enumeration values for strqget and strqset */
- typedef SInt32 qfields;
- enum
- {
- QHIWAT = 0,
- QLOWAT = 1,
- QMAXPSZ = 2,
- QMINPSZ = 3,
- QCOUNT = 4,
- QFIRST = 5,
- QLAST = 6,
- QFLAG = 7,
- QBAD = 8
- };
+/* Enumeration values for strqget and strqset */
+typedef SInt32 qfields;
+enum {
+ QHIWAT = 0,
+ QLOWAT = 1,
+ QMAXPSZ = 2,
+ QMINPSZ = 3,
+ QCOUNT = 4,
+ QFIRST = 5,
+ QLAST = 6,
+ QFLAG = 7,
+ QBAD = 8
+};
- typedef qfields qfields_t;
+typedef qfields qfields_t;
#endif /* CALL_NOT_IN_CARBON */
- /* ***** From the Mentat "stropts.h" ******/
-
-
- enum
- {
- I_NREAD = ((MIOC_STREAMIO << 8) | 1), /* return the number of bytes in 1st msg */
- I_PUSH = ((MIOC_STREAMIO << 8) | 2), /* push module just below stream head */
- I_POP = ((MIOC_STREAMIO << 8) | 3), /* pop module below stream head */
- I_LOOK = ((MIOC_STREAMIO << 8) | 4), /* retrieve name of first stream module */
- I_FLUSH = ((MIOC_STREAMIO << 8) | 5), /* flush all input and/or output queues */
- I_SRDOPT = ((MIOC_STREAMIO << 8) | 6), /* set the read mode */
- I_GRDOPT = ((MIOC_STREAMIO << 8) | 7), /* get the current read mode */
- I_STR = ((MIOC_STREAMIO << 8) | 8), /* create an internal ioctl message */
- I_SETSIG = ((MIOC_STREAMIO << 8) | 9), /* request SIGPOLL signal on events */
- I_GETSIG = ((MIOC_STREAMIO << 8) | 10), /* query the registered events */
- I_FIND = ((MIOC_STREAMIO << 8) | 11), /* check for module in stream */
- I_LINK = ((MIOC_STREAMIO << 8) | 12), /* connect stream under mux fd */
- I_UNLINK = ((MIOC_STREAMIO << 8) | 13), /* disconnect two streams */
- I_PEEK = ((MIOC_STREAMIO << 8) | 15), /* peek at data on read queue */
- I_FDINSERT = ((MIOC_STREAMIO << 8) | 16), /* create a message and send downstream */
- I_SENDFD = ((MIOC_STREAMIO << 8) | 17), /* send an fd to a connected pipe stream */
- I_RECVFD = ((MIOC_STREAMIO << 8) | 18), /* retrieve a file descriptor */
- I_FLUSHBAND = ((MIOC_STREAMIO << 8) | 19), /* flush a particular input and/or output band */
- I_SWROPT = ((MIOC_STREAMIO << 8) | 20), /* set the write mode */
- I_GWROPT = ((MIOC_STREAMIO << 8) | 21), /* get the current write mode */
- I_LIST = ((MIOC_STREAMIO << 8) | 22), /* get a list of all modules on a stream */
- I_ATMARK = ((MIOC_STREAMIO << 8) | 23), /* check to see if the next message is "marked" */
- I_CKBAND = ((MIOC_STREAMIO << 8) | 24), /* check for a message of a particular band */
- I_GETBAND = ((MIOC_STREAMIO << 8) | 25), /* get the band of the next message to be read */
- I_CANPUT = ((MIOC_STREAMIO << 8) | 26), /* check to see if a message may be passed on a stream */
- I_SETCLTIME = ((MIOC_STREAMIO << 8) | 27), /* set the close timeout wait */
- I_GETCLTIME = ((MIOC_STREAMIO << 8) | 28), /* get the current close timeout wait */
- I_PLINK = ((MIOC_STREAMIO << 8) | 29), /* permanently connect a stream under a mux */
- I_PUNLINK = ((MIOC_STREAMIO << 8) | 30), /* disconnect a permanent link */
- I_GETMSG = ((MIOC_STREAMIO << 8) | 40), /* getmsg() system call */
- I_PUTMSG = ((MIOC_STREAMIO << 8) | 41), /* putmsg() system call */
- I_POLL = ((MIOC_STREAMIO << 8) | 42), /* poll() system call */
- I_SETDELAY = ((MIOC_STREAMIO << 8) | 43), /* set blocking status */
- I_GETDELAY = ((MIOC_STREAMIO << 8) | 44), /* get blocking status */
- I_RUN_QUEUES = ((MIOC_STREAMIO << 8) | 45), /* sacrifice for the greater good */
- I_GETPMSG = ((MIOC_STREAMIO << 8) | 46), /* getpmsg() system call */
- I_PUTPMSG = ((MIOC_STREAMIO << 8) | 47), /* putpmsg() system call */
- I_AUTOPUSH = ((MIOC_STREAMIO << 8) | 48), /* for systems that cannot do the autopush in open */
- I_PIPE = ((MIOC_STREAMIO << 8) | 49), /* for pipe library call */
- I_HEAP_REPORT = ((MIOC_STREAMIO << 8) | 50), /* get heap statistics */
- I_FIFO = ((MIOC_STREAMIO << 8) | 51) /* for fifo library call */
- };
-
- /* priority message request on putmsg() or strpeek */
- enum
- {
- RS_HIPRI = 0x01
- };
+/* ***** From the Mentat "stropts.h" ******/
+
+
+enum {
+ I_NREAD = ((MIOC_STREAMIO << 8) | 1), /* return the number of bytes in 1st msg */
+ I_PUSH = ((MIOC_STREAMIO << 8) | 2), /* push module just below stream head */
+ I_POP = ((MIOC_STREAMIO << 8) | 3), /* pop module below stream head */
+ I_LOOK = ((MIOC_STREAMIO << 8) | 4), /* retrieve name of first stream module */
+ I_FLUSH = ((MIOC_STREAMIO << 8) | 5), /* flush all input and/or output queues */
+ I_SRDOPT = ((MIOC_STREAMIO << 8) | 6), /* set the read mode */
+ I_GRDOPT = ((MIOC_STREAMIO << 8) | 7), /* get the current read mode */
+ I_STR = ((MIOC_STREAMIO << 8) | 8), /* create an internal ioctl message */
+ I_SETSIG = ((MIOC_STREAMIO << 8) | 9), /* request SIGPOLL signal on events */
+ I_GETSIG = ((MIOC_STREAMIO << 8) | 10), /* query the registered events */
+ I_FIND = ((MIOC_STREAMIO << 8) | 11), /* check for module in stream */
+ I_LINK = ((MIOC_STREAMIO << 8) | 12), /* connect stream under mux fd */
+ I_UNLINK = ((MIOC_STREAMIO << 8) | 13), /* disconnect two streams */
+ I_PEEK = ((MIOC_STREAMIO << 8) | 15), /* peek at data on read queue */
+ I_FDINSERT = ((MIOC_STREAMIO << 8) | 16), /* create a message and send downstream */
+ I_SENDFD = ((MIOC_STREAMIO << 8) | 17), /* send an fd to a connected pipe stream */
+ I_RECVFD = ((MIOC_STREAMIO << 8) | 18), /* retrieve a file descriptor */
+ I_FLUSHBAND = ((MIOC_STREAMIO << 8) | 19), /* flush a particular input and/or output band */
+ I_SWROPT = ((MIOC_STREAMIO << 8) | 20), /* set the write mode */
+ I_GWROPT = ((MIOC_STREAMIO << 8) | 21), /* get the current write mode */
+ I_LIST = ((MIOC_STREAMIO << 8) | 22), /* get a list of all modules on a stream */
+ I_ATMARK = ((MIOC_STREAMIO << 8) | 23), /* check to see if the next message is "marked" */
+ I_CKBAND = ((MIOC_STREAMIO << 8) | 24), /* check for a message of a particular band */
+ I_GETBAND = ((MIOC_STREAMIO << 8) | 25), /* get the band of the next message to be read */
+ I_CANPUT = ((MIOC_STREAMIO << 8) | 26), /* check to see if a message may be passed on a stream */
+ I_SETCLTIME = ((MIOC_STREAMIO << 8) | 27), /* set the close timeout wait */
+ I_GETCLTIME = ((MIOC_STREAMIO << 8) | 28), /* get the current close timeout wait */
+ I_PLINK = ((MIOC_STREAMIO << 8) | 29), /* permanently connect a stream under a mux */
+ I_PUNLINK = ((MIOC_STREAMIO << 8) | 30), /* disconnect a permanent link */
+ I_GETMSG = ((MIOC_STREAMIO << 8) | 40), /* getmsg() system call */
+ I_PUTMSG = ((MIOC_STREAMIO << 8) | 41), /* putmsg() system call */
+ I_POLL = ((MIOC_STREAMIO << 8) | 42), /* poll() system call */
+ I_SETDELAY = ((MIOC_STREAMIO << 8) | 43), /* set blocking status */
+ I_GETDELAY = ((MIOC_STREAMIO << 8) | 44), /* get blocking status */
+ I_RUN_QUEUES = ((MIOC_STREAMIO << 8) | 45), /* sacrifice for the greater good */
+ I_GETPMSG = ((MIOC_STREAMIO << 8) | 46), /* getpmsg() system call */
+ I_PUTPMSG = ((MIOC_STREAMIO << 8) | 47), /* putpmsg() system call */
+ I_AUTOPUSH = ((MIOC_STREAMIO << 8) | 48), /* for systems that cannot do the autopush in open */
+ I_PIPE = ((MIOC_STREAMIO << 8) | 49), /* for pipe library call */
+ I_HEAP_REPORT = ((MIOC_STREAMIO << 8) | 50), /* get heap statistics */
+ I_FIFO = ((MIOC_STREAMIO << 8) | 51) /* for fifo library call */
+};
- /* flags for getpmsg and putpmsg */
- enum
- {
- MSG_HIPRI = 0x01,
- MSG_BAND = 0x02, /* Retrieve a message from a particular band */
- MSG_ANY = 0x04 /* Retrieve a message from any band */
- };
+/* priority message request on putmsg() or strpeek */
+enum {
+ RS_HIPRI = 0x01
+};
- /* return values from getmsg(), 0 indicates all ok */
- enum
- {
- MORECTL = 0x01, /* more control info available */
- MOREDATA = 0x02 /* more data available */
- };
+/* flags for getpmsg and putpmsg */
+enum {
+ MSG_HIPRI = 0x01,
+ MSG_BAND = 0x02, /* Retrieve a message from a particular band */
+ MSG_ANY = 0x04 /* Retrieve a message from any band */
+};
+/* return values from getmsg(), 0 indicates all ok */
+enum {
+ MORECTL = 0x01, /* more control info available */
+ MOREDATA = 0x02 /* more data available */
+};
- enum
- {
- FMNAMESZ = 31 /* maximum length of a module or device name */
- };
+enum {
+ FMNAMESZ = 31 /* maximum length of a module or device name */
+};
- /* Infinite poll wait time */
- enum
- {
- INFTIM = (unsigned long)0xFFFFFFFF
- };
- /* flush requests */
- enum
- {
- FLUSHR = 0x01, /* Flush the read queue */
- FLUSHW = 0x02, /* Flush the write queue */
- FLUSHRW = (FLUSHW | FLUSHR) /* Flush both */
- };
+/* Infinite poll wait time */
+enum {
+ INFTIM = (unsigned long)0xFFFFFFFF
+};
- enum
- {
- FLUSHBAND = 0x40 /* Flush a particular band */
- };
+/* flush requests */
+enum {
+ FLUSHR = 0x01, /* Flush the read queue */
+ FLUSHW = 0x02, /* Flush the write queue */
+ FLUSHRW = (FLUSHW | FLUSHR) /* Flush both */
+};
- /* I_FLUSHBAND */
- struct bandinfo
- {
- unsigned char bi_pri; /* Band to flush */
- char pad1;
- SInt32 bi_flag; /* One of the above flush requests */
- };
- typedef struct bandinfo bandinfo;
- /* flags for I_ATMARK */
- enum
- {
- ANYMARK = 0x01, /* Check if message is marked */
- LASTMARK = 0x02 /* Check if this is the only message marked */
- };
+enum {
+ FLUSHBAND = 0x40 /* Flush a particular band */
+};
- /* signal event masks */
- enum
- {
- S_INPUT = 0x01, /* A non-M_PCPROTO message has arrived */
- S_HIPRI = 0x02, /* A priority (M_PCPROTO) message is available */
- S_OUTPUT = 0x04, /* The write queue is no longer full */
- S_MSG = 0x08, /* A signal message has reached the front of read queue */
- S_RDNORM = 0x10, /* A non-priority message is available */
- S_RDBAND = 0x20, /* A banded messsage is available */
- S_WRNORM = 0x40, /* Same as S_OUTPUT */
- S_WRBAND = 0x80, /* A priority band exists and is writable */
- S_ERROR = 0x0100, /* Error message has arrived */
- S_HANGUP = 0x0200, /* Hangup message has arrived */
- S_BANDURG = 0x0400 /* Use SIGURG instead of SIGPOLL on S_RDBAND signals */
- };
+/* I_FLUSHBAND */
+struct bandinfo {
+ unsigned char bi_pri; /* Band to flush */
+ char pad1;
+ SInt32 bi_flag; /* One of the above flush requests */
+};
+typedef struct bandinfo bandinfo;
+/* flags for I_ATMARK */
+enum {
+ ANYMARK = 0x01, /* Check if message is marked */
+ LASTMARK = 0x02 /* Check if this is the only message marked */
+};
- /* read mode bits for I_S|GRDOPT; choose one of the following */
- enum
- {
- RNORM = 0x01, /* byte-stream mode, default */
- RMSGD = 0x02, /* message-discard mode */
- RMSGN = 0x04, /* message-nondiscard mode */
- RFILL = 0x08 /* fill read buffer mode (PSE private) */
- };
+/* signal event masks */
+enum {
+ S_INPUT = 0x01, /* A non-M_PCPROTO message has arrived */
+ S_HIPRI = 0x02, /* A priority (M_PCPROTO) message is available */
+ S_OUTPUT = 0x04, /* The write queue is no longer full */
+ S_MSG = 0x08, /* A signal message has reached the front of read queue */
+ S_RDNORM = 0x10, /* A non-priority message is available */
+ S_RDBAND = 0x20, /* A banded messsage is available */
+ S_WRNORM = 0x40, /* Same as S_OUTPUT */
+ S_WRBAND = 0x80, /* A priority band exists and is writable */
+ S_ERROR = 0x0100, /* Error message has arrived */
+ S_HANGUP = 0x0200, /* Hangup message has arrived */
+ S_BANDURG = 0x0400 /* Use SIGURG instead of SIGPOLL on S_RDBAND signals */
+};
- /* More read modes, these are bitwise or'ed with the modes above */
- enum
- {
- RPROTNORM = 0x10, /* Normal handling of M_PROTO/M_PCPROTO messages, default */
- RPROTDIS = 0x20, /* Discard M_PROTO/M_PCPROTO message blocks */
- RPROTDAT = 0x40 /* Convert M_PROTO/M_PCPROTO message blocks into M_DATA */
- };
+/* read mode bits for I_S|GRDOPT; choose one of the following */
+enum {
+ RNORM = 0x01, /* byte-stream mode, default */
+ RMSGD = 0x02, /* message-discard mode */
+ RMSGN = 0x04, /* message-nondiscard mode */
+ RFILL = 0x08 /* fill read buffer mode (PSE private) */
+};
- /* write modes for I_S|GWROPT */
- enum
- {
- SNDZERO = 0x01 /* Send a zero-length message downstream on a write of zero bytes */
- };
+/* More read modes, these are bitwise or'ed with the modes above */
+enum {
+ RPROTNORM = 0x10, /* Normal handling of M_PROTO/M_PCPROTO messages, default */
+ RPROTDIS = 0x20, /* Discard M_PROTO/M_PCPROTO message blocks */
+ RPROTDAT = 0x40 /* Convert M_PROTO/M_PCPROTO message blocks into M_DATA */
+};
- enum
- {
- MUXID_ALL = -1 /* Unlink all lower streams for I_UNLINK and I_PUNLINK */
- };
+/* write modes for I_S|GWROPT */
+enum {
+ SNDZERO = 0x01 /* Send a zero-length message downstream on a write of zero bytes */
+};
- /*
- strbuf is moved to "OpenTransport.h" because that header file
- exports provider routines that take it as a parameter.
- */
+enum {
+ MUXID_ALL = -1 /* Unlink all lower streams for I_UNLINK and I_PUNLINK */
+};
- /* structure of ioctl data on I_FDINSERT */
- struct strfdinsert
- {
- strbuf ctlbuf;
- strbuf databuf;
- long flags; /* type of message, 0 or RS_HIPRI */
- long fildes; /* fd of other stream (FDCELL) */
- SInt32 offset; /* where to put other stream read qp */
- };
- typedef struct strfdinsert strfdinsert;
- /* I_LIST structures */
- struct str_mlist
- {
- char l_name[32];
- };
- typedef struct str_mlist str_mlist;
- struct str_list
- {
- SInt32 sl_nmods; /* number of modules in sl_modlist array */
- str_mlist * sl_modlist;
- };
- typedef struct str_list str_list;
- /* I_PEEK structure */
- struct strpeek
- {
- strbuf ctlbuf;
- strbuf databuf;
- long flags; /* if RS_HIPRI, get priority messages only */
- };
- typedef struct strpeek strpeek;
- /* structure for getpmsg and putpmsg */
- struct strpmsg
- {
- strbuf ctlbuf;
- strbuf databuf;
- SInt32 band;
- long flags;
- };
- typedef struct strpmsg strpmsg;
- /* structure of ioctl data on I_RECVFD */
- struct strrecvfd
- {
- long fd; /* new file descriptor (FDCELL) */
- unsigned short uid; /* user id of sending stream */
- unsigned short gid;
- char fill[8];
- };
- typedef struct strrecvfd strrecvfd;
- /* structure of ioctl data on I_STR */
- struct strioctl
- {
- SInt32 ic_cmd; /* downstream command */
- SInt32 ic_timout; /* ACK/NAK timeout */
- SInt32 ic_len; /* length of data arg */
- char * ic_dp; /* ptr to data arg */
- };
- typedef struct strioctl strioctl;
- /* ***** From the Mentat "strlog.h" ******/
+/*
+ strbuf is moved to "OpenTransport.h" because that header file
+ exports provider routines that take it as a parameter.
+*/
- struct log_ctl
- {
- short mid;
- short sid;
- char level;
- char pad1;
- short flags;
- long ltime;
- long ttime;
- SInt32 seq_no;
- };
- typedef struct log_ctl log_ctl;
- enum
- {
- SL_FATAL = 0x01, /* Fatal error */
- SL_NOTIFY = 0x02, /* Notify the system administrator */
- SL_ERROR = 0x04, /* Pass message to error logger */
- SL_TRACE = 0x08, /* Pass message to tracer */
- SL_CONSOLE = 0x00, /* Console messages are disabled */
- SL_WARN = 0x20, /* Warning */
- SL_NOTE = 0x40 /* Notice this message */
- };
+/* structure of ioctl data on I_FDINSERT */
+struct strfdinsert {
+ strbuf ctlbuf;
+ strbuf databuf;
+ long flags; /* type of message, 0 or RS_HIPRI */
+ long fildes; /* fd of other stream (FDCELL) */
+ SInt32 offset; /* where to put other stream read qp */
+};
+typedef struct strfdinsert strfdinsert;
+/* I_LIST structures */
+struct str_mlist {
+ char l_name[32];
+};
+typedef struct str_mlist str_mlist;
+struct str_list {
+ SInt32 sl_nmods; /* number of modules in sl_modlist array */
+ str_mlist * sl_modlist;
+};
+typedef struct str_list str_list;
+/* I_PEEK structure */
+struct strpeek {
+ strbuf ctlbuf;
+ strbuf databuf;
+ long flags; /* if RS_HIPRI, get priority messages only */
+};
+typedef struct strpeek strpeek;
+/* structure for getpmsg and putpmsg */
+struct strpmsg {
+ strbuf ctlbuf;
+ strbuf databuf;
+ SInt32 band;
+ long flags;
+};
+typedef struct strpmsg strpmsg;
+/* structure of ioctl data on I_RECVFD */
+struct strrecvfd {
+ long fd; /* new file descriptor (FDCELL) */
+ unsigned short uid; /* user id of sending stream */
+ unsigned short gid;
+ char fill[8];
+};
+typedef struct strrecvfd strrecvfd;
+/* structure of ioctl data on I_STR */
+struct strioctl {
+ SInt32 ic_cmd; /* downstream command */
+ SInt32 ic_timout; /* ACK/NAK timeout */
+ SInt32 ic_len; /* length of data arg */
+ char * ic_dp; /* ptr to data arg */
+};
+typedef struct strioctl strioctl;
+/* ***** From the Mentat "strlog.h" ******/
+
+struct log_ctl {
+ short mid;
+ short sid;
+ char level;
+ char pad1;
+ short flags;
+ long ltime;
+ long ttime;
+ SInt32 seq_no;
+};
+typedef struct log_ctl log_ctl;
+enum {
+ SL_FATAL = 0x01, /* Fatal error */
+ SL_NOTIFY = 0x02, /* Notify the system administrator */
+ SL_ERROR = 0x04, /* Pass message to error logger */
+ SL_TRACE = 0x08, /* Pass message to tracer */
+ SL_CONSOLE = 0x00, /* Console messages are disabled */
+ SL_WARN = 0x20, /* Warning */
+ SL_NOTE = 0x40 /* Notice this message */
+};
- struct trace_ids
- {
- short ti_mid;
- short ti_sid;
- char ti_level;
- };
- typedef struct trace_ids trace_ids;
- enum
- {
- I_TRCLOG = ((MIOC_STRLOG << 8) | 1),
- I_ERRLOG = ((MIOC_STRLOG << 8) | 2)
- };
+struct trace_ids {
+ short ti_mid;
+ short ti_sid;
+ char ti_level;
+};
+typedef struct trace_ids trace_ids;
+enum {
+ I_TRCLOG = ((MIOC_STRLOG << 8) | 1),
+ I_ERRLOG = ((MIOC_STRLOG << 8) | 2)
+};
- enum
- {
- LOGMSGSZ = 128
- };
+enum {
+ LOGMSGSZ = 128
+};
- /* ***** From the Mentat "tihdr.h" ******/
+/* ***** From the Mentat "tihdr.h" ******/
#if CALL_NOT_IN_CARBON
- /* TPI Primitives*/
-
-
-
- enum
- {
- T_BIND_REQ = 101,
- T_CONN_REQ = 102, /* connection request */
- T_CONN_RES = 103, /* respond to connection indication */
- T_DATA_REQ = 104,
- T_DISCON_REQ = 105,
- T_EXDATA_REQ = 106,
- T_INFO_REQ = 107,
- T_OPTMGMT_REQ = 108,
- T_ORDREL_REQ = 109,
- T_UNBIND_REQ = 110,
- T_UNITDATA_REQ = 111,
- T_ADDR_REQ = 112, /* Get address request */
- T_UREQUEST_REQ = 113, /* UnitRequest (transaction) req */
- T_REQUEST_REQ = 114, /* Request (CO transaction) req */
- T_UREPLY_REQ = 115, /* UnitRequest (transaction) req */
- T_REPLY_REQ = 116, /* REPLY (CO transaction) req */
- T_CANCELREQUEST_REQ = 117, /* Cancel outgoing request */
- T_CANCELREPLY_REQ = 118, /* Cancel incoming request */
- T_REGNAME_REQ = 119, /* Request name registration */
- T_DELNAME_REQ = 120, /* Request delete name registration */
- T_LKUPNAME_REQ = 121, /* Request name lookup */
-
- T_BIND_ACK = 122,
- T_CONN_CON = 123, /* connection confirmation */
- T_CONN_IND = 124, /* incoming connection indication */
- T_DATA_IND = 125,
- T_DISCON_IND = 126,
- T_ERROR_ACK = 127,
- T_EXDATA_IND = 128,
- T_INFO_ACK = 129,
- T_OK_ACK = 130,
- T_OPTMGMT_ACK = 131,
- T_ORDREL_IND = 132,
- T_UNITDATA_IND = 133,
- T_UDERROR_IND = 134,
- T_ADDR_ACK = 135, /* Get address ack */
- T_UREQUEST_IND = 136, /* UnitRequest (transaction) ind */
- T_REQUEST_IND = 137, /* Request (CO transaction) ind */
- T_UREPLY_IND = 138, /* Incoming unit reply */
- T_REPLY_IND = 139, /* Incoming reply */
- T_UREPLY_ACK = 140, /* outgoing Unit Reply is complete */
- T_REPLY_ACK = 141, /* outgoing Reply is complete */
- T_RESOLVEADDR_REQ = 142,
- T_RESOLVEADDR_ACK = 143,
-
- T_LKUPNAME_CON = 146, /* Results of name lookup */
- T_LKUPNAME_RES = 147, /* Partial results of name lookup */
- T_REGNAME_ACK = 148, /* Request name registration */
- T_SEQUENCED_ACK = 149, /* Sequenced version of OK or ERROR ACK */
-
- T_EVENT_IND = 160 /* Miscellaneous event Indication */
- };
-
- /* State values */
- enum
- {
- TS_UNBND = 1,
- TS_WACK_BREQ = 2,
- TS_WACK_UREQ = 3,
- TS_IDLE = 4,
- TS_WACK_OPTREQ = 5,
- TS_WACK_CREQ = 6,
- TS_WCON_CREQ = 7,
- TS_WRES_CIND = 8,
- TS_WACK_CRES = 9,
- TS_DATA_XFER = 10,
- TS_WIND_ORDREL = 11,
- TS_WREQ_ORDREL = 12,
- TS_WACK_DREQ6 = 13,
- TS_WACK_DREQ7 = 14,
- TS_WACK_DREQ9 = 15,
- TS_WACK_DREQ10 = 16,
- TS_WACK_DREQ11 = 17,
- TS_WACK_ORDREL = 18,
- TS_NOSTATES = 19,
- TS_BAD_STATE = 19
- };
-
- /* Transport events */
- enum
- {
- TE_OPENED = 1,
- TE_BIND = 2,
- TE_OPTMGMT = 3,
- TE_UNBIND = 4,
- TE_CLOSED = 5,
- TE_CONNECT1 = 6,
- TE_CONNECT2 = 7,
- TE_ACCEPT1 = 8,
- TE_ACCEPT2 = 9,
- TE_ACCEPT3 = 10,
- TE_SND = 11,
- TE_SNDDIS1 = 12,
- TE_SNDDIS2 = 13,
- TE_SNDREL = 14,
- TE_SNDUDATA = 15,
- TE_LISTEN = 16,
- TE_RCVCONNECT = 17,
- TE_RCV = 18,
- TE_RCVDIS1 = 19,
- TE_RCVDIS2 = 20,
- TE_RCVDIS3 = 21,
- TE_RCVREL = 22,
- TE_RCVUDATA = 23,
- TE_RCVUDERR = 24,
- TE_PASS_CONN = 25,
- TE_BAD_EVENT = 26
- };
-
- struct T_addr_ack
- {
- long PRIM_type; /* Always T_ADDR_ACK */
- long LOCADDR_length;
- long LOCADDR_offset;
- long REMADDR_length;
- long REMADDR_offset;
- };
- typedef struct T_addr_ack T_addr_ack;
- struct T_addr_req
- {
- long PRIM_type; /* Always T_ADDR_REQ */
- };
- typedef struct T_addr_req T_addr_req;
- struct T_bind_ack
- {
- long PRIM_type; /* always T_BIND_ACK */
- long ADDR_length;
- long ADDR_offset;
- unsigned long CONIND_number;
- };
- typedef struct T_bind_ack T_bind_ack;
- struct T_bind_req
- {
- long PRIM_type; /* always T_BIND_REQ */
- long ADDR_length;
- long ADDR_offset;
- unsigned long CONIND_number;
- };
- typedef struct T_bind_req T_bind_req;
- struct T_conn_con
- {
- long PRIM_type; /* always T_CONN_CON */
- long RES_length; /* responding address length */
- long RES_offset;
- long OPT_length;
- long OPT_offset;
- };
- typedef struct T_conn_con T_conn_con;
- struct T_conn_ind
- {
- long PRIM_type; /* always T_CONN_IND */
- long SRC_length;
- long SRC_offset;
- long OPT_length;
- long OPT_offset;
- long SEQ_number;
- };
- typedef struct T_conn_ind T_conn_ind;
- struct T_conn_req
- {
- long PRIM_type; /* always T_CONN_REQ */
- long DEST_length;
- long DEST_offset;
- long OPT_length;
- long OPT_offset;
- };
- typedef struct T_conn_req T_conn_req;
- struct T_conn_res
- {
- long PRIM_type; /* always T_CONN_RES */
- queue_t * QUEUE_ptr;
- long OPT_length;
- long OPT_offset;
- long SEQ_number;
- };
- typedef struct T_conn_res T_conn_res;
- struct T_data_ind
- {
- long PRIM_type; /* always T_DATA_IND */
- long MORE_flag;
- };
- typedef struct T_data_ind T_data_ind;
- struct T_data_req
- {
- long PRIM_type; /* always T_DATA_REQ */
- long MORE_flag;
- };
- typedef struct T_data_req T_data_req;
- struct T_discon_ind
- {
- long PRIM_type; /* always T_DISCON_IND */
- long DISCON_reason;
- long SEQ_number;
- };
- typedef struct T_discon_ind T_discon_ind;
- struct T_discon_req
- {
- long PRIM_type; /* always T_DISCON_REQ */
- long SEQ_number;
- };
- typedef struct T_discon_req T_discon_req;
- struct T_exdata_ind
- {
- long PRIM_type; /* always T_EXDATA_IND */
- long MORE_flag;
- };
- typedef struct T_exdata_ind T_exdata_ind;
- struct T_exdata_req
- {
- long PRIM_type; /* always T_EXDATA_REQ */
- long MORE_flag;
- };
- typedef struct T_exdata_req T_exdata_req;
- struct T_error_ack
- {
- long PRIM_type; /* always T_ERROR_ACK */
- long ERROR_prim; /* primitive in error */
- long TLI_error;
- long UNIX_error;
- };
- typedef struct T_error_ack T_error_ack;
- struct T_info_ack
- {
- long PRIM_type; /* always T_INFO_ACK */
- long TSDU_size; /* max TSDU size */
- long ETSDU_size; /* max ETSDU size */
- long CDATA_size; /* connect data size */
- long DDATA_size; /* disconnect data size */
- long ADDR_size; /* TSAP size */
- long OPT_size; /* options size */
- long TIDU_size; /* TIDU size */
- long SERV_type; /* service type */
- long CURRENT_state; /* current state */
- long PROVIDER_flag; /* provider flags (see xti.h for defines) */
- };
- typedef struct T_info_ack T_info_ack;
- /* Provider flags */
- enum
- {
- SENDZERO = 0x0001, /* supports 0-length TSDU's */
- XPG4_1 = 0x0002 /* provider supports recent stuff */
- };
-
- struct T_info_req
- {
- long PRIM_type; /* always T_INFO_REQ */
- };
- typedef struct T_info_req T_info_req;
- struct T_ok_ack
- {
- long PRIM_type; /* always T_OK_ACK */
- long CORRECT_prim;
- };
- typedef struct T_ok_ack T_ok_ack;
- struct T_optmgmt_ack
- {
- long PRIM_type; /* always T_OPTMGMT_ACK */
- long OPT_length;
- long OPT_offset;
- long MGMT_flags;
- };
- typedef struct T_optmgmt_ack T_optmgmt_ack;
- struct T_optmgmt_req
- {
- long PRIM_type; /* always T_OPTMGMT_REQ */
- long OPT_length;
- long OPT_offset;
- long MGMT_flags;
- };
- typedef struct T_optmgmt_req T_optmgmt_req;
- struct T_ordrel_ind
- {
- long PRIM_type; /* always T_ORDREL_IND */
- };
- typedef struct T_ordrel_ind T_ordrel_ind;
- struct T_ordrel_req
- {
- long PRIM_type; /* always T_ORDREL_REQ */
- };
- typedef struct T_ordrel_req T_ordrel_req;
- struct T_unbind_req
- {
- long PRIM_type; /* always T_UNBIND_REQ */
- };
- typedef struct T_unbind_req T_unbind_req;
- struct T_uderror_ind
- {
- long PRIM_type; /* always T_UDERROR_IND */
- long DEST_length;
- long DEST_offset;
- long OPT_length;
- long OPT_offset;
- long ERROR_type;
- };
- typedef struct T_uderror_ind T_uderror_ind;
- struct T_unitdata_ind
- {
- long PRIM_type; /* always T_UNITDATA_IND */
- long SRC_length;
- long SRC_offset;
- long OPT_length;
- long OPT_offset;
- };
- typedef struct T_unitdata_ind T_unitdata_ind;
- struct T_unitdata_req
- {
- long PRIM_type; /* always T_UNITDATA_REQ */
- long DEST_length;
- long DEST_offset;
- long OPT_length;
- long OPT_offset;
- };
- typedef struct T_unitdata_req T_unitdata_req;
- struct T_resolveaddr_ack
- {
- long PRIM_type; /* always T_RESOLVEADDR_ACK */
- long SEQ_number;
- long ADDR_length;
- long ADDR_offset;
- long ORIG_client;
- long ORIG_data;
- long TLI_error;
- long UNIX_error;
- };
- typedef struct T_resolveaddr_ack T_resolveaddr_ack;
- struct T_resolveaddr_req
- {
- long PRIM_type; /* always T_RESOLVEADDR_REQ */
- long SEQ_number;
- long ADDR_length;
- long ADDR_offset;
- long ORIG_client;
- long ORIG_data;
- long MAX_milliseconds;
- };
- typedef struct T_resolveaddr_req T_resolveaddr_req;
- struct T_unitreply_ind
- {
- long PRIM_type; /* Always T_UREPLY_IND */
- long SEQ_number;
- long OPT_length;
- long OPT_offset;
- long REP_flags;
- long TLI_error;
- long UNIX_error;
- };
- typedef struct T_unitreply_ind T_unitreply_ind;
- struct T_unitrequest_ind
- {
- long PRIM_type; /* Always T_UREQUEST_IND */
- long SEQ_number;
- long SRC_length;
- long SRC_offset;
- long OPT_length;
- long OPT_offset;
- long REQ_flags;
- };
- typedef struct T_unitrequest_ind T_unitrequest_ind;
- struct T_unitrequest_req
- {
- long PRIM_type; /* Always T_UREQUEST_REQ */
- long SEQ_number;
- long DEST_length;
- long DEST_offset;
- long OPT_length;
- long OPT_offset;
- long REQ_flags;
- };
- typedef struct T_unitrequest_req T_unitrequest_req;
- struct T_unitreply_req
- {
- long PRIM_type; /* Always T_UREPLY_REQ */
- long SEQ_number;
- long OPT_length;
- long OPT_offset;
- long REP_flags;
- };
- typedef struct T_unitreply_req T_unitreply_req;
- struct T_unitreply_ack
- {
- long PRIM_type; /* Always T_UREPLY_ACK */
- long SEQ_number;
- long TLI_error;
- long UNIX_error;
- };
- typedef struct T_unitreply_ack T_unitreply_ack;
- struct T_cancelrequest_req
- {
- long PRIM_type; /* Always T_CANCELREQUEST_REQ */
- long SEQ_number;
- };
- typedef struct T_cancelrequest_req T_cancelrequest_req;
- struct T_cancelreply_req
- {
- long PRIM_type; /* Always T_CANCELREPLY_REQ */
- long SEQ_number;
- };
- typedef struct T_cancelreply_req T_cancelreply_req;
- struct T_reply_ind
- {
- long PRIM_type; /* Always T_REPLY_IND */
- long SEQ_number;
- long OPT_length;
- long OPT_offset;
- long REP_flags;
- long TLI_error;
- long UNIX_error;
- };
- typedef struct T_reply_ind T_reply_ind;
- struct T_request_ind
- {
- long PRIM_type; /* Always T_REQUEST_IND */
- long SEQ_number;
- long OPT_length;
- long OPT_offset;
- long REQ_flags;
- };
- typedef struct T_request_ind T_request_ind;
- struct T_request_req
- {
- long PRIM_type; /* Always T_REQUEST_REQ */
- long SEQ_number;
- long OPT_length;
- long OPT_offset;
- long REQ_flags;
- };
- typedef struct T_request_req T_request_req;
- struct T_reply_req
- {
- long PRIM_type; /* Always T_REPLY_REQ */
- long SEQ_number;
- long OPT_length;
- long OPT_offset;
- long REP_flags;
- };
- typedef struct T_reply_req T_reply_req;
- struct T_reply_ack
- {
- long PRIM_type; /* Always T_REPLY_ACK */
- long SEQ_number;
- long TLI_error;
- long UNIX_error;
- };
- typedef struct T_reply_ack T_reply_ack;
- struct T_regname_req
- {
- long PRIM_type; /* Always T_REGNAME_REQ */
- long SEQ_number; /* Reply is sequence ack */
- long NAME_length;
- long NAME_offset;
- long ADDR_length;
- long ADDR_offset;
- long REQ_flags;
- };
- typedef struct T_regname_req T_regname_req;
- struct T_regname_ack
- {
- long PRIM_type; /* always T_REGNAME_ACK */
- long SEQ_number;
- long REG_id;
- long ADDR_length;
- long ADDR_offset;
- };
- typedef struct T_regname_ack T_regname_ack;
- struct T_delname_req
- {
- long PRIM_type; /* Always T_DELNAME_REQ */
- long SEQ_number; /* Reply is sequence ack */
- long NAME_length;
- long NAME_offset;
- };
- typedef struct T_delname_req T_delname_req;
- struct T_lkupname_req
- {
- long PRIM_type; /* Always T_LKUPNAME_REQ */
- long SEQ_number; /* Reply is sequence ack */
- long NAME_length; /* ... or T_LKUPNAME_CON */
- long NAME_offset;
- long ADDR_length;
- long ADDR_offset;
- long MAX_number;
- long MAX_milliseconds;
- long REQ_flags;
- };
- typedef struct T_lkupname_req T_lkupname_req;
- struct T_lkupname_con
- {
- long PRIM_type; /* Either T_LKUPNAME_CON */
- long SEQ_number; /* Or T_LKUPNAME_RES */
- long NAME_length;
- long NAME_offset;
- long RSP_count;
- long RSP_cumcount;
- };
- typedef struct T_lkupname_con T_lkupname_con;
- struct T_sequence_ack
- {
- long PRIM_type; /* always T_SEQUENCED_ACK */
- long ORIG_prim; /* original primitive */
- long SEQ_number;
- long TLI_error;
- long UNIX_error;
- };
- typedef struct T_sequence_ack T_sequence_ack;
- struct T_event_ind
- {
- long PRIM_type; /* always T_EVENT_IND */
- long EVENT_code;
- long EVENT_cookie;
- };
- typedef struct T_event_ind T_event_ind;
- union T_primitives
- {
- long type;
-
- long primType;
- T_addr_ack taddrack;
- T_bind_ack tbindack;
- T_bind_req tbindreq;
- T_conn_con tconncon;
- T_conn_ind tconnind;
- T_conn_req tconnreq;
- T_conn_res tconnres;
- T_data_ind tdataind;
- T_data_req tdatareq;
- T_discon_ind tdisconind;
- T_discon_req tdisconreq;
- T_exdata_ind texdataind;
- T_exdata_req texdatareq;
- T_error_ack terrorack;
- T_info_ack tinfoack;
- T_info_req tinforeq;
- T_ok_ack tokack;
- T_optmgmt_ack toptmgmtack;
- T_optmgmt_req toptmgmtreq;
- T_ordrel_ind tordrelind;
- T_ordrel_req tordrelreq;
- T_unbind_req tunbindreq;
- T_uderror_ind tuderrorind;
- T_unitdata_ind tunitdataind;
- T_unitdata_req tunitdatareq;
- T_unitreply_ind tunitreplyind;
- T_unitrequest_ind tunitrequestind;
- T_unitrequest_req tunitrequestreq;
- T_unitreply_req tunitreplyreq;
- T_unitreply_ack tunitreplyack;
- T_reply_ind treplyind;
- T_request_ind trequestind;
- T_request_req trequestreq;
- T_reply_req treplyreq;
- T_reply_ack treplyack;
- T_cancelrequest_req tcancelreqreq;
- T_resolveaddr_req tresolvereq;
- T_resolveaddr_ack tresolveack;
- T_regname_req tregnamereq;
- T_regname_ack tregnameack;
- T_delname_req tdelnamereq;
- T_lkupname_req tlkupnamereq;
- T_lkupname_con tlkupnamecon;
- T_sequence_ack tsequenceack;
- T_event_ind teventind;
- };
- typedef union T_primitives T_primitives;
- /* ***** From the Mentat "dlpi.h" ******/
+/* TPI Primitives*/
+
+
+
+enum {
+ T_BIND_REQ = 101,
+ T_CONN_REQ = 102, /* connection request */
+ T_CONN_RES = 103, /* respond to connection indication */
+ T_DATA_REQ = 104,
+ T_DISCON_REQ = 105,
+ T_EXDATA_REQ = 106,
+ T_INFO_REQ = 107,
+ T_OPTMGMT_REQ = 108,
+ T_ORDREL_REQ = 109,
+ T_UNBIND_REQ = 110,
+ T_UNITDATA_REQ = 111,
+ T_ADDR_REQ = 112, /* Get address request */
+ T_UREQUEST_REQ = 113, /* UnitRequest (transaction) req */
+ T_REQUEST_REQ = 114, /* Request (CO transaction) req */
+ T_UREPLY_REQ = 115, /* UnitRequest (transaction) req */
+ T_REPLY_REQ = 116, /* REPLY (CO transaction) req */
+ T_CANCELREQUEST_REQ = 117, /* Cancel outgoing request */
+ T_CANCELREPLY_REQ = 118, /* Cancel incoming request */
+ T_REGNAME_REQ = 119, /* Request name registration */
+ T_DELNAME_REQ = 120, /* Request delete name registration */
+ T_LKUPNAME_REQ = 121, /* Request name lookup */
+
+ T_BIND_ACK = 122,
+ T_CONN_CON = 123, /* connection confirmation */
+ T_CONN_IND = 124, /* incoming connection indication */
+ T_DATA_IND = 125,
+ T_DISCON_IND = 126,
+ T_ERROR_ACK = 127,
+ T_EXDATA_IND = 128,
+ T_INFO_ACK = 129,
+ T_OK_ACK = 130,
+ T_OPTMGMT_ACK = 131,
+ T_ORDREL_IND = 132,
+ T_UNITDATA_IND = 133,
+ T_UDERROR_IND = 134,
+ T_ADDR_ACK = 135, /* Get address ack */
+ T_UREQUEST_IND = 136, /* UnitRequest (transaction) ind */
+ T_REQUEST_IND = 137, /* Request (CO transaction) ind */
+ T_UREPLY_IND = 138, /* Incoming unit reply */
+ T_REPLY_IND = 139, /* Incoming reply */
+ T_UREPLY_ACK = 140, /* outgoing Unit Reply is complete */
+ T_REPLY_ACK = 141, /* outgoing Reply is complete */
+ T_RESOLVEADDR_REQ = 142,
+ T_RESOLVEADDR_ACK = 143,
+
+ T_LKUPNAME_CON = 146, /* Results of name lookup */
+ T_LKUPNAME_RES = 147, /* Partial results of name lookup */
+ T_REGNAME_ACK = 148, /* Request name registration */
+ T_SEQUENCED_ACK = 149, /* Sequenced version of OK or ERROR ACK */
+
+ T_EVENT_IND = 160 /* Miscellaneous event Indication */
+};
- /*
- This header file has encoded the values so an existing driver
- or user which was written with the Logical Link Interface(LLI)
- can migrate to the DLPI interface in a binary compatible manner.
- Any fields which require a specific format or value are flagged
- with a comment containing the message LLI compatibility.
- */
+/* State values */
+enum {
+ TS_UNBND = 1,
+ TS_WACK_BREQ = 2,
+ TS_WACK_UREQ = 3,
+ TS_IDLE = 4,
+ TS_WACK_OPTREQ = 5,
+ TS_WACK_CREQ = 6,
+ TS_WCON_CREQ = 7,
+ TS_WRES_CIND = 8,
+ TS_WACK_CRES = 9,
+ TS_DATA_XFER = 10,
+ TS_WIND_ORDREL = 11,
+ TS_WREQ_ORDREL = 12,
+ TS_WACK_DREQ6 = 13,
+ TS_WACK_DREQ7 = 14,
+ TS_WACK_DREQ9 = 15,
+ TS_WACK_DREQ10 = 16,
+ TS_WACK_DREQ11 = 17,
+ TS_WACK_ORDREL = 18,
+ TS_NOSTATES = 19,
+ TS_BAD_STATE = 19
+};
- /* DLPI revision definition history*/
+/* Transport events */
+enum {
+ TE_OPENED = 1,
+ TE_BIND = 2,
+ TE_OPTMGMT = 3,
+ TE_UNBIND = 4,
+ TE_CLOSED = 5,
+ TE_CONNECT1 = 6,
+ TE_CONNECT2 = 7,
+ TE_ACCEPT1 = 8,
+ TE_ACCEPT2 = 9,
+ TE_ACCEPT3 = 10,
+ TE_SND = 11,
+ TE_SNDDIS1 = 12,
+ TE_SNDDIS2 = 13,
+ TE_SNDREL = 14,
+ TE_SNDUDATA = 15,
+ TE_LISTEN = 16,
+ TE_RCVCONNECT = 17,
+ TE_RCV = 18,
+ TE_RCVDIS1 = 19,
+ TE_RCVDIS2 = 20,
+ TE_RCVDIS3 = 21,
+ TE_RCVREL = 22,
+ TE_RCVUDATA = 23,
+ TE_RCVUDERR = 24,
+ TE_PASS_CONN = 25,
+ TE_BAD_EVENT = 26
+};
- enum
- {
- DL_CURRENT_VERSION = 0x02, /* current version of dlpi */
- DL_VERSION_2 = 0x02 /* version of dlpi March 12,1991 */
- };
+struct T_addr_ack {
+ long PRIM_type; /* Always T_ADDR_ACK */
+ long LOCADDR_length;
+ long LOCADDR_offset;
+ long REMADDR_length;
+ long REMADDR_offset;
+};
+typedef struct T_addr_ack T_addr_ack;
+struct T_addr_req {
+ long PRIM_type; /* Always T_ADDR_REQ */
+};
+typedef struct T_addr_req T_addr_req;
+struct T_bind_ack {
+ long PRIM_type; /* always T_BIND_ACK */
+ long ADDR_length;
+ long ADDR_offset;
+ unsigned long CONIND_number;
+};
+typedef struct T_bind_ack T_bind_ack;
+struct T_bind_req {
+ long PRIM_type; /* always T_BIND_REQ */
+ long ADDR_length;
+ long ADDR_offset;
+ unsigned long CONIND_number;
+};
+typedef struct T_bind_req T_bind_req;
+struct T_conn_con {
+ long PRIM_type; /* always T_CONN_CON */
+ long RES_length; /* responding address length */
+ long RES_offset;
+ long OPT_length;
+ long OPT_offset;
+};
+typedef struct T_conn_con T_conn_con;
+struct T_conn_ind {
+ long PRIM_type; /* always T_CONN_IND */
+ long SRC_length;
+ long SRC_offset;
+ long OPT_length;
+ long OPT_offset;
+ long SEQ_number;
+};
+typedef struct T_conn_ind T_conn_ind;
+struct T_conn_req {
+ long PRIM_type; /* always T_CONN_REQ */
+ long DEST_length;
+ long DEST_offset;
+ long OPT_length;
+ long OPT_offset;
+};
+typedef struct T_conn_req T_conn_req;
+struct T_conn_res {
+ long PRIM_type; /* always T_CONN_RES */
+ queue_t * QUEUE_ptr;
+ long OPT_length;
+ long OPT_offset;
+ long SEQ_number;
+};
+typedef struct T_conn_res T_conn_res;
+struct T_data_ind {
+ long PRIM_type; /* always T_DATA_IND */
+ long MORE_flag;
+};
+typedef struct T_data_ind T_data_ind;
+struct T_data_req {
+ long PRIM_type; /* always T_DATA_REQ */
+ long MORE_flag;
+};
+typedef struct T_data_req T_data_req;
+struct T_discon_ind {
+ long PRIM_type; /* always T_DISCON_IND */
+ long DISCON_reason;
+ long SEQ_number;
+};
+typedef struct T_discon_ind T_discon_ind;
+struct T_discon_req {
+ long PRIM_type; /* always T_DISCON_REQ */
+ long SEQ_number;
+};
+typedef struct T_discon_req T_discon_req;
+struct T_exdata_ind {
+ long PRIM_type; /* always T_EXDATA_IND */
+ long MORE_flag;
+};
+typedef struct T_exdata_ind T_exdata_ind;
+struct T_exdata_req {
+ long PRIM_type; /* always T_EXDATA_REQ */
+ long MORE_flag;
+};
+typedef struct T_exdata_req T_exdata_req;
+struct T_error_ack {
+ long PRIM_type; /* always T_ERROR_ACK */
+ long ERROR_prim; /* primitive in error */
+ long TLI_error;
+ long UNIX_error;
+};
+typedef struct T_error_ack T_error_ack;
+struct T_info_ack {
+ long PRIM_type; /* always T_INFO_ACK */
+ long TSDU_size; /* max TSDU size */
+ long ETSDU_size; /* max ETSDU size */
+ long CDATA_size; /* connect data size */
+ long DDATA_size; /* disconnect data size */
+ long ADDR_size; /* TSAP size */
+ long OPT_size; /* options size */
+ long TIDU_size; /* TIDU size */
+ long SERV_type; /* service type */
+ long CURRENT_state; /* current state */
+ long PROVIDER_flag; /* provider flags (see xti.h for defines) */
+};
+typedef struct T_info_ack T_info_ack;
+/* Provider flags */
+enum {
+ SENDZERO = 0x0001, /* supports 0-length TSDU's */
+ XPG4_1 = 0x0002 /* provider supports recent stuff */
+};
+struct T_info_req {
+ long PRIM_type; /* always T_INFO_REQ */
+};
+typedef struct T_info_req T_info_req;
+struct T_ok_ack {
+ long PRIM_type; /* always T_OK_ACK */
+ long CORRECT_prim;
+};
+typedef struct T_ok_ack T_ok_ack;
+struct T_optmgmt_ack {
+ long PRIM_type; /* always T_OPTMGMT_ACK */
+ long OPT_length;
+ long OPT_offset;
+ long MGMT_flags;
+};
+typedef struct T_optmgmt_ack T_optmgmt_ack;
+struct T_optmgmt_req {
+ long PRIM_type; /* always T_OPTMGMT_REQ */
+ long OPT_length;
+ long OPT_offset;
+ long MGMT_flags;
+};
+typedef struct T_optmgmt_req T_optmgmt_req;
+struct T_ordrel_ind {
+ long PRIM_type; /* always T_ORDREL_IND */
+};
+typedef struct T_ordrel_ind T_ordrel_ind;
+struct T_ordrel_req {
+ long PRIM_type; /* always T_ORDREL_REQ */
+};
+typedef struct T_ordrel_req T_ordrel_req;
+struct T_unbind_req {
+ long PRIM_type; /* always T_UNBIND_REQ */
+};
+typedef struct T_unbind_req T_unbind_req;
+struct T_uderror_ind {
+ long PRIM_type; /* always T_UDERROR_IND */
+ long DEST_length;
+ long DEST_offset;
+ long OPT_length;
+ long OPT_offset;
+ long ERROR_type;
+};
+typedef struct T_uderror_ind T_uderror_ind;
+struct T_unitdata_ind {
+ long PRIM_type; /* always T_UNITDATA_IND */
+ long SRC_length;
+ long SRC_offset;
+ long OPT_length;
+ long OPT_offset;
+};
+typedef struct T_unitdata_ind T_unitdata_ind;
+struct T_unitdata_req {
+ long PRIM_type; /* always T_UNITDATA_REQ */
+ long DEST_length;
+ long DEST_offset;
+ long OPT_length;
+ long OPT_offset;
+};
+typedef struct T_unitdata_req T_unitdata_req;
+struct T_resolveaddr_ack {
+ long PRIM_type; /* always T_RESOLVEADDR_ACK */
+ long SEQ_number;
+ long ADDR_length;
+ long ADDR_offset;
+ long ORIG_client;
+ long ORIG_data;
+ long TLI_error;
+ long UNIX_error;
+};
+typedef struct T_resolveaddr_ack T_resolveaddr_ack;
+struct T_resolveaddr_req {
+ long PRIM_type; /* always T_RESOLVEADDR_REQ */
+ long SEQ_number;
+ long ADDR_length;
+ long ADDR_offset;
+ long ORIG_client;
+ long ORIG_data;
+ long MAX_milliseconds;
+};
+typedef struct T_resolveaddr_req T_resolveaddr_req;
+struct T_unitreply_ind {
+ long PRIM_type; /* Always T_UREPLY_IND */
+ long SEQ_number;
+ long OPT_length;
+ long OPT_offset;
+ long REP_flags;
+ long TLI_error;
+ long UNIX_error;
+};
+typedef struct T_unitreply_ind T_unitreply_ind;
+struct T_unitrequest_ind {
+ long PRIM_type; /* Always T_UREQUEST_IND */
+ long SEQ_number;
+ long SRC_length;
+ long SRC_offset;
+ long OPT_length;
+ long OPT_offset;
+ long REQ_flags;
+};
+typedef struct T_unitrequest_ind T_unitrequest_ind;
+struct T_unitrequest_req {
+ long PRIM_type; /* Always T_UREQUEST_REQ */
+ long SEQ_number;
+ long DEST_length;
+ long DEST_offset;
+ long OPT_length;
+ long OPT_offset;
+ long REQ_flags;
+};
+typedef struct T_unitrequest_req T_unitrequest_req;
+struct T_unitreply_req {
+ long PRIM_type; /* Always T_UREPLY_REQ */
+ long SEQ_number;
+ long OPT_length;
+ long OPT_offset;
+ long REP_flags;
+};
+typedef struct T_unitreply_req T_unitreply_req;
+struct T_unitreply_ack {
+ long PRIM_type; /* Always T_UREPLY_ACK */
+ long SEQ_number;
+ long TLI_error;
+ long UNIX_error;
+};
+typedef struct T_unitreply_ack T_unitreply_ack;
+struct T_cancelrequest_req {
+ long PRIM_type; /* Always T_CANCELREQUEST_REQ */
+ long SEQ_number;
+};
+typedef struct T_cancelrequest_req T_cancelrequest_req;
+struct T_cancelreply_req {
+ long PRIM_type; /* Always T_CANCELREPLY_REQ */
+ long SEQ_number;
+};
+typedef struct T_cancelreply_req T_cancelreply_req;
+struct T_reply_ind {
+ long PRIM_type; /* Always T_REPLY_IND */
+ long SEQ_number;
+ long OPT_length;
+ long OPT_offset;
+ long REP_flags;
+ long TLI_error;
+ long UNIX_error;
+};
+typedef struct T_reply_ind T_reply_ind;
+struct T_request_ind {
+ long PRIM_type; /* Always T_REQUEST_IND */
+ long SEQ_number;
+ long OPT_length;
+ long OPT_offset;
+ long REQ_flags;
+};
+typedef struct T_request_ind T_request_ind;
+struct T_request_req {
+ long PRIM_type; /* Always T_REQUEST_REQ */
+ long SEQ_number;
+ long OPT_length;
+ long OPT_offset;
+ long REQ_flags;
+};
+typedef struct T_request_req T_request_req;
+struct T_reply_req {
+ long PRIM_type; /* Always T_REPLY_REQ */
+ long SEQ_number;
+ long OPT_length;
+ long OPT_offset;
+ long REP_flags;
+};
+typedef struct T_reply_req T_reply_req;
+struct T_reply_ack {
+ long PRIM_type; /* Always T_REPLY_ACK */
+ long SEQ_number;
+ long TLI_error;
+ long UNIX_error;
+};
+typedef struct T_reply_ack T_reply_ack;
+struct T_regname_req {
+ long PRIM_type; /* Always T_REGNAME_REQ */
+ long SEQ_number; /* Reply is sequence ack */
+ long NAME_length;
+ long NAME_offset;
+ long ADDR_length;
+ long ADDR_offset;
+ long REQ_flags;
+};
+typedef struct T_regname_req T_regname_req;
+struct T_regname_ack {
+ long PRIM_type; /* always T_REGNAME_ACK */
+ long SEQ_number;
+ long REG_id;
+ long ADDR_length;
+ long ADDR_offset;
+};
+typedef struct T_regname_ack T_regname_ack;
+struct T_delname_req {
+ long PRIM_type; /* Always T_DELNAME_REQ */
+ long SEQ_number; /* Reply is sequence ack */
+ long NAME_length;
+ long NAME_offset;
+};
+typedef struct T_delname_req T_delname_req;
+struct T_lkupname_req {
+ long PRIM_type; /* Always T_LKUPNAME_REQ */
+ long SEQ_number; /* Reply is sequence ack */
+ long NAME_length; /* ... or T_LKUPNAME_CON */
+ long NAME_offset;
+ long ADDR_length;
+ long ADDR_offset;
+ long MAX_number;
+ long MAX_milliseconds;
+ long REQ_flags;
+};
+typedef struct T_lkupname_req T_lkupname_req;
+struct T_lkupname_con {
+ long PRIM_type; /* Either T_LKUPNAME_CON */
+ long SEQ_number; /* Or T_LKUPNAME_RES */
+ long NAME_length;
+ long NAME_offset;
+ long RSP_count;
+ long RSP_cumcount;
+};
+typedef struct T_lkupname_con T_lkupname_con;
+struct T_sequence_ack {
+ long PRIM_type; /* always T_SEQUENCED_ACK */
+ long ORIG_prim; /* original primitive */
+ long SEQ_number;
+ long TLI_error;
+ long UNIX_error;
+};
+typedef struct T_sequence_ack T_sequence_ack;
+struct T_event_ind {
+ long PRIM_type; /* always T_EVENT_IND */
+ long EVENT_code;
+ long EVENT_cookie;
+};
+typedef struct T_event_ind T_event_ind;
+union T_primitives {
+ long type;
+
+ long primType;
+ T_addr_ack taddrack;
+ T_bind_ack tbindack;
+ T_bind_req tbindreq;
+ T_conn_con tconncon;
+ T_conn_ind tconnind;
+ T_conn_req tconnreq;
+ T_conn_res tconnres;
+ T_data_ind tdataind;
+ T_data_req tdatareq;
+ T_discon_ind tdisconind;
+ T_discon_req tdisconreq;
+ T_exdata_ind texdataind;
+ T_exdata_req texdatareq;
+ T_error_ack terrorack;
+ T_info_ack tinfoack;
+ T_info_req tinforeq;
+ T_ok_ack tokack;
+ T_optmgmt_ack toptmgmtack;
+ T_optmgmt_req toptmgmtreq;
+ T_ordrel_ind tordrelind;
+ T_ordrel_req tordrelreq;
+ T_unbind_req tunbindreq;
+ T_uderror_ind tuderrorind;
+ T_unitdata_ind tunitdataind;
+ T_unitdata_req tunitdatareq;
+ T_unitreply_ind tunitreplyind;
+ T_unitrequest_ind tunitrequestind;
+ T_unitrequest_req tunitrequestreq;
+ T_unitreply_req tunitreplyreq;
+ T_unitreply_ack tunitreplyack;
+ T_reply_ind treplyind;
+ T_request_ind trequestind;
+ T_request_req trequestreq;
+ T_reply_req treplyreq;
+ T_reply_ack treplyack;
+ T_cancelrequest_req tcancelreqreq;
+ T_resolveaddr_req tresolvereq;
+ T_resolveaddr_ack tresolveack;
+ T_regname_req tregnamereq;
+ T_regname_ack tregnameack;
+ T_delname_req tdelnamereq;
+ T_lkupname_req tlkupnamereq;
+ T_lkupname_con tlkupnamecon;
+ T_sequence_ack tsequenceack;
+ T_event_ind teventind;
+};
+typedef union T_primitives T_primitives;
+/* ***** From the Mentat "dlpi.h" ******/
- enum
- {
- DL_INFO_REQ = 0x00, /* Information Req, LLI compatibility */
- DL_INFO_ACK = 0x03, /* Information Ack, LLI compatibility */
- DL_ATTACH_REQ = 0x0B, /* Attach a PPA */
- DL_DETACH_REQ = 0x0C, /* Detach a PPA */
- DL_BIND_REQ = 0x01, /* Bind dlsap address, LLI compatibility */
- DL_BIND_ACK = 0x04, /* Dlsap address bound, LLI compatibility */
- DL_UNBIND_REQ = 0x02, /* Unbind dlsap address, LLI compatibility */
- DL_OK_ACK = 0x06, /* Success acknowledgment, LLI compatibility */
- DL_ERROR_ACK = 0x05, /* Error acknowledgment, LLI compatibility */
- DL_SUBS_BIND_REQ = 0x1B, /* Bind Subsequent DLSAP address */
- DL_SUBS_BIND_ACK = 0x1C, /* Subsequent DLSAP address bound */
- DL_SUBS_UNBIND_REQ = 0x15, /* Subsequent unbind */
- DL_ENABMULTI_REQ = 0x1D, /* Enable multicast addresses */
- DL_DISABMULTI_REQ = 0x1E, /* Disable multicast addresses */
- DL_PROMISCON_REQ = 0x1F, /* Turn on promiscuous mode */
- DL_PROMISCOFF_REQ = 0x20, /* Turn off promiscuous mode */
- DL_UNITDATA_REQ = 0x07, /* datagram send request, LLI compatibility */
- DL_UNITDATA_IND = 0x08, /* datagram receive indication, LLI compatibility */
- DL_UDERROR_IND = 0x09, /* datagram error indication, LLI compatibility */
- DL_UDQOS_REQ = 0x0A, /* set QOS for subsequent datagram transmissions */
- DL_CONNECT_REQ = 0x0D, /* Connect request */
- DL_CONNECT_IND = 0x0E, /* Incoming connect indication */
- DL_CONNECT_RES = 0x0F, /* Accept previous connect indication */
- DL_CONNECT_CON = 0x10, /* Connection established */
- DL_TOKEN_REQ = 0x11, /* Passoff token request */
- DL_TOKEN_ACK = 0x12, /* Passoff token ack */
- DL_DISCONNECT_REQ = 0x13, /* Disconnect request */
- DL_DISCONNECT_IND = 0x14, /* Disconnect indication */
- DL_RESET_REQ = 0x17, /* Reset service request */
- DL_RESET_IND = 0x18, /* Incoming reset indication */
- DL_RESET_RES = 0x19, /* Complete reset processing */
- DL_RESET_CON = 0x1A, /* Reset processing complete */
- DL_DATA_ACK_REQ = 0x21, /* data unit transmission request */
- DL_DATA_ACK_IND = 0x22, /* Arrival of a command PDU */
- DL_DATA_ACK_STATUS_IND = 0x23, /* Status indication of DATA_ACK_REQ*/
- DL_REPLY_REQ = 0x24, /* Request a DLSDU from the remote */
- DL_REPLY_IND = 0x25, /* Arrival of a command PDU */
- DL_REPLY_STATUS_IND = 0x26, /* Status indication of REPLY_REQ */
- DL_REPLY_UPDATE_REQ = 0x27, /* Hold a DLSDU for transmission */
- DL_REPLY_UPDATE_STATUS_IND = 0x28, /* Status of REPLY_UPDATE req */
- DL_XID_REQ = 0x29, /* Request to send an XID PDU */
- DL_XID_IND = 0x2A, /* Arrival of an XID PDU */
- DL_XID_RES = 0x2B, /* request to send a response XID PDU*/
- DL_XID_CON = 0x2C, /* Arrival of a response XID PDU */
- DL_TEST_REQ = 0x2D, /* TEST command request */
- DL_TEST_IND = 0x2E, /* TEST response indication */
- DL_TEST_RES = 0x2F, /* TEST response */
- DL_TEST_CON = 0x30, /* TEST Confirmation */
- DL_PHYS_ADDR_REQ = 0x31, /* Request to get physical addr */
- DL_PHYS_ADDR_ACK = 0x32, /* Return physical addr */
- DL_SET_PHYS_ADDR_REQ = 0x33, /* set physical addr */
- DL_GET_STATISTICS_REQ = 0x34, /* Request to get statistics */
- DL_GET_STATISTICS_ACK = 0x35 /* Return statistics */
- };
+/*
+ This header file has encoded the values so an existing driver
+ or user which was written with the Logical Link Interface(LLI)
+ can migrate to the DLPI interface in a binary compatible manner.
+ Any fields which require a specific format or value are flagged
+ with a comment containing the message LLI compatibility.
+*/
- /* DLPI interface states*/
- enum
- {
- DL_UNATTACHED = 0x04, /* PPA not attached */
- DL_ATTACH_PENDING = 0x05, /* Waiting ack of DL_ATTACH_REQ */
- DL_DETACH_PENDING = 0x06, /* Waiting ack of DL_DETACH_REQ */
- DL_UNBOUND = 0x00, /* PPA attached, LLI compatibility */
- DL_BIND_PENDING = 0x01, /* Waiting ack of DL_BIND_REQ, LLI compatibility */
- DL_UNBIND_PENDING = 0x02, /* Waiting ack of DL_UNBIND_REQ, LLI compatibility */
- DL_IDLE = 0x03, /* dlsap bound, awaiting use, LLI compatibility */
- DL_UDQOS_PENDING = 0x07, /* Waiting ack of DL_UDQOS_REQ */
- DL_OUTCON_PENDING = 0x08, /* outgoing connection, awaiting DL_CONN_CON */
- DL_INCON_PENDING = 0x09, /* incoming connection, awaiting DL_CONN_RES */
- DL_CONN_RES_PENDING = 0x0A, /* Waiting ack of DL_CONNECT_RES */
- DL_DATAXFER = 0x0B, /* connection-oriented data transfer */
- DL_USER_RESET_PENDING = 0x0C, /* user initiated reset, awaiting DL_RESET_CON */
- DL_PROV_RESET_PENDING = 0x0D, /* provider initiated reset, awaiting DL_RESET_RES */
- DL_RESET_RES_PENDING = 0x0E, /* Waiting ack of DL_RESET_RES */
- DL_DISCON8_PENDING = 0x0F, /* Waiting ack of DL_DISC_REQ when in DL_OUTCON_PENDING */
- DL_DISCON9_PENDING = 0x10, /* Waiting ack of DL_DISC_REQ when in DL_INCON_PENDING */
- DL_DISCON11_PENDING = 0x11, /* Waiting ack of DL_DISC_REQ when in DL_DATAXFER */
- DL_DISCON12_PENDING = 0x12, /* Waiting ack of DL_DISC_REQ when in DL_USER_RESET_PENDING */
- DL_DISCON13_PENDING = 0x13, /* Waiting ack of DL_DISC_REQ when in DL_DL_PROV_RESET_PENDING */
- DL_SUBS_BIND_PND = 0x14, /* Waiting ack of DL_SUBS_BIND_REQ */
- DL_SUBS_UNBIND_PND = 0x15 /* Waiting ack of DL_SUBS_UNBIND_REQ */
- };
+/* DLPI revision definition history*/
- /* DL_ERROR_ACK error return values*/
+enum {
+ DL_CURRENT_VERSION = 0x02, /* current version of dlpi */
+ DL_VERSION_2 = 0x02 /* version of dlpi March 12,1991 */
+};
- enum
- {
- DL_ACCESS = 0x02, /* Improper permissions for request, LLI compatibility */
- DL_BADADDR = 0x01, /* DLSAP address in improper format or invalid */
- DL_BADCORR = 0x05, /* Sequence number not from outstanding DL_CONN_IND */
- DL_BADDATA = 0x06, /* User data exceeded provider limit */
- DL_BADPPA = 0x08, /* Specified PPA was invalid */
- DL_BADPRIM = 0x09, /* Primitive received is not known by DLS provider */
- DL_BADQOSPARAM = 0x0A, /* QOS parameters contained invalid values */
- DL_BADQOSTYPE = 0x0B, /* QOS structure type is unknown or unsupported */
- DL_BADSAP = 0x00, /* Bad LSAP selector, LLI compatibility */
- DL_BADTOKEN = 0x0C, /* Token used not associated with an active stream */
- DL_BOUND = 0x0D, /* Attempted second bind with dl_max_conind or */
- /* dl_conn_mgmt > 0 on same DLSAP or PPA */
- DL_INITFAILED = 0x0E, /* Physical Link initialization failed */
- DL_NOADDR = 0x0F, /* Provider couldn't allocate alternate address */
- DL_NOTINIT = 0x10, /* Physical Link not initialized */
- DL_OUTSTATE = 0x03, /* Primitive issued in improper state, LLI compatibility */
- DL_SYSERR = 0x04, /* UNIX system error occurred, LLI compatibility */
- DL_UNSUPPORTED = 0x07, /* Requested service not supplied by provider */
- DL_UNDELIVERABLE = 0x11, /* Previous data unit could not be delivered */
- DL_NOTSUPPORTED = 0x12, /* Primitive is known but not supported by DLS provider */
- DL_TOOMANY = 0x13, /* limit exceeded */
- DL_NOTENAB = 0x14, /* Promiscuous mode not enabled */
- DL_BUSY = 0x15, /* Other streams for a particular PPA in the post-attached state */
- DL_NOAUTO = 0x16, /* Automatic handling of XID & TEST responses not supported */
- DL_NOXIDAUTO = 0x17, /* Automatic handling of XID not supported */
- DL_NOTESTAUTO = 0x18, /* Automatic handling of TEST not supported */
- DL_XIDAUTO = 0x19, /* Automatic handling of XID response */
- DL_TESTAUTO = 0x1A, /* AUtomatic handling of TEST response*/
- DL_PENDING = 0x1B /* pending outstanding connect indications */
- };
- /* DLPI media types supported*/
+enum {
+ DL_INFO_REQ = 0x00, /* Information Req, LLI compatibility */
+ DL_INFO_ACK = 0x03, /* Information Ack, LLI compatibility */
+ DL_ATTACH_REQ = 0x0B, /* Attach a PPA */
+ DL_DETACH_REQ = 0x0C, /* Detach a PPA */
+ DL_BIND_REQ = 0x01, /* Bind dlsap address, LLI compatibility */
+ DL_BIND_ACK = 0x04, /* Dlsap address bound, LLI compatibility */
+ DL_UNBIND_REQ = 0x02, /* Unbind dlsap address, LLI compatibility */
+ DL_OK_ACK = 0x06, /* Success acknowledgment, LLI compatibility */
+ DL_ERROR_ACK = 0x05, /* Error acknowledgment, LLI compatibility */
+ DL_SUBS_BIND_REQ = 0x1B, /* Bind Subsequent DLSAP address */
+ DL_SUBS_BIND_ACK = 0x1C, /* Subsequent DLSAP address bound */
+ DL_SUBS_UNBIND_REQ = 0x15, /* Subsequent unbind */
+ DL_ENABMULTI_REQ = 0x1D, /* Enable multicast addresses */
+ DL_DISABMULTI_REQ = 0x1E, /* Disable multicast addresses */
+ DL_PROMISCON_REQ = 0x1F, /* Turn on promiscuous mode */
+ DL_PROMISCOFF_REQ = 0x20, /* Turn off promiscuous mode */
+ DL_UNITDATA_REQ = 0x07, /* datagram send request, LLI compatibility */
+ DL_UNITDATA_IND = 0x08, /* datagram receive indication, LLI compatibility */
+ DL_UDERROR_IND = 0x09, /* datagram error indication, LLI compatibility */
+ DL_UDQOS_REQ = 0x0A, /* set QOS for subsequent datagram transmissions */
+ DL_CONNECT_REQ = 0x0D, /* Connect request */
+ DL_CONNECT_IND = 0x0E, /* Incoming connect indication */
+ DL_CONNECT_RES = 0x0F, /* Accept previous connect indication */
+ DL_CONNECT_CON = 0x10, /* Connection established */
+ DL_TOKEN_REQ = 0x11, /* Passoff token request */
+ DL_TOKEN_ACK = 0x12, /* Passoff token ack */
+ DL_DISCONNECT_REQ = 0x13, /* Disconnect request */
+ DL_DISCONNECT_IND = 0x14, /* Disconnect indication */
+ DL_RESET_REQ = 0x17, /* Reset service request */
+ DL_RESET_IND = 0x18, /* Incoming reset indication */
+ DL_RESET_RES = 0x19, /* Complete reset processing */
+ DL_RESET_CON = 0x1A, /* Reset processing complete */
+ DL_DATA_ACK_REQ = 0x21, /* data unit transmission request */
+ DL_DATA_ACK_IND = 0x22, /* Arrival of a command PDU */
+ DL_DATA_ACK_STATUS_IND = 0x23, /* Status indication of DATA_ACK_REQ*/
+ DL_REPLY_REQ = 0x24, /* Request a DLSDU from the remote */
+ DL_REPLY_IND = 0x25, /* Arrival of a command PDU */
+ DL_REPLY_STATUS_IND = 0x26, /* Status indication of REPLY_REQ */
+ DL_REPLY_UPDATE_REQ = 0x27, /* Hold a DLSDU for transmission */
+ DL_REPLY_UPDATE_STATUS_IND = 0x28, /* Status of REPLY_UPDATE req */
+ DL_XID_REQ = 0x29, /* Request to send an XID PDU */
+ DL_XID_IND = 0x2A, /* Arrival of an XID PDU */
+ DL_XID_RES = 0x2B, /* request to send a response XID PDU*/
+ DL_XID_CON = 0x2C, /* Arrival of a response XID PDU */
+ DL_TEST_REQ = 0x2D, /* TEST command request */
+ DL_TEST_IND = 0x2E, /* TEST response indication */
+ DL_TEST_RES = 0x2F, /* TEST response */
+ DL_TEST_CON = 0x30, /* TEST Confirmation */
+ DL_PHYS_ADDR_REQ = 0x31, /* Request to get physical addr */
+ DL_PHYS_ADDR_ACK = 0x32, /* Return physical addr */
+ DL_SET_PHYS_ADDR_REQ = 0x33, /* set physical addr */
+ DL_GET_STATISTICS_REQ = 0x34, /* Request to get statistics */
+ DL_GET_STATISTICS_ACK = 0x35 /* Return statistics */
+};
- enum
- {
- DL_CSMACD = 0x00, /* IEEE 802.3 CSMA/CD network, LLI Compatibility */
- DL_TPB = 0x01, /* IEEE 802.4 Token Passing Bus, LLI Compatibility */
- DL_TPR = 0x02, /* IEEE 802.5 Token Passing Ring, LLI Compatibility */
- DL_METRO = 0x03, /* IEEE 802.6 Metro Net, LLI Compatibility */
- DL_ETHER = 0x04, /* Ethernet Bus, LLI Compatibility */
- DL_HDLC = 0x05, /* ISO HDLC protocol support, bit synchronous */
- DL_CHAR = 0x06, /* Character Synchronous protocol support, eg BISYNC */
- DL_CTCA = 0x07, /* IBM Channel-to-Channel Adapter */
- DL_FDDI = 0x08, /* Fiber Distributed data interface */
- DL_OTHER = 0x09 /* Any other medium not listed above */
- };
+/* DLPI interface states*/
+enum {
+ DL_UNATTACHED = 0x04, /* PPA not attached */
+ DL_ATTACH_PENDING = 0x05, /* Waiting ack of DL_ATTACH_REQ */
+ DL_DETACH_PENDING = 0x06, /* Waiting ack of DL_DETACH_REQ */
+ DL_UNBOUND = 0x00, /* PPA attached, LLI compatibility */
+ DL_BIND_PENDING = 0x01, /* Waiting ack of DL_BIND_REQ, LLI compatibility */
+ DL_UNBIND_PENDING = 0x02, /* Waiting ack of DL_UNBIND_REQ, LLI compatibility */
+ DL_IDLE = 0x03, /* dlsap bound, awaiting use, LLI compatibility */
+ DL_UDQOS_PENDING = 0x07, /* Waiting ack of DL_UDQOS_REQ */
+ DL_OUTCON_PENDING = 0x08, /* outgoing connection, awaiting DL_CONN_CON */
+ DL_INCON_PENDING = 0x09, /* incoming connection, awaiting DL_CONN_RES */
+ DL_CONN_RES_PENDING = 0x0A, /* Waiting ack of DL_CONNECT_RES */
+ DL_DATAXFER = 0x0B, /* connection-oriented data transfer */
+ DL_USER_RESET_PENDING = 0x0C, /* user initiated reset, awaiting DL_RESET_CON */
+ DL_PROV_RESET_PENDING = 0x0D, /* provider initiated reset, awaiting DL_RESET_RES */
+ DL_RESET_RES_PENDING = 0x0E, /* Waiting ack of DL_RESET_RES */
+ DL_DISCON8_PENDING = 0x0F, /* Waiting ack of DL_DISC_REQ when in DL_OUTCON_PENDING */
+ DL_DISCON9_PENDING = 0x10, /* Waiting ack of DL_DISC_REQ when in DL_INCON_PENDING */
+ DL_DISCON11_PENDING = 0x11, /* Waiting ack of DL_DISC_REQ when in DL_DATAXFER */
+ DL_DISCON12_PENDING = 0x12, /* Waiting ack of DL_DISC_REQ when in DL_USER_RESET_PENDING */
+ DL_DISCON13_PENDING = 0x13, /* Waiting ack of DL_DISC_REQ when in DL_DL_PROV_RESET_PENDING */
+ DL_SUBS_BIND_PND = 0x14, /* Waiting ack of DL_SUBS_BIND_REQ */
+ DL_SUBS_UNBIND_PND = 0x15 /* Waiting ack of DL_SUBS_UNBIND_REQ */
+};
- /*
- DLPI provider service supported.
- These must be allowed to be bitwise-OR for dl_service_mode in
- DL_INFO_ACK.
- */
- enum
- {
- DL_CODLS = 0x01, /* support connection-oriented service */
- DL_CLDLS = 0x02, /* support connectionless data link service */
- DL_ACLDLS = 0x04 /* support acknowledged connectionless service*/
- };
+/* DL_ERROR_ACK error return values*/
+
+enum {
+ DL_ACCESS = 0x02, /* Improper permissions for request, LLI compatibility */
+ DL_BADADDR = 0x01, /* DLSAP address in improper format or invalid */
+ DL_BADCORR = 0x05, /* Sequence number not from outstanding DL_CONN_IND */
+ DL_BADDATA = 0x06, /* User data exceeded provider limit */
+ DL_BADPPA = 0x08, /* Specified PPA was invalid */
+ DL_BADPRIM = 0x09, /* Primitive received is not known by DLS provider */
+ DL_BADQOSPARAM = 0x0A, /* QOS parameters contained invalid values */
+ DL_BADQOSTYPE = 0x0B, /* QOS structure type is unknown or unsupported */
+ DL_BADSAP = 0x00, /* Bad LSAP selector, LLI compatibility */
+ DL_BADTOKEN = 0x0C, /* Token used not associated with an active stream */
+ DL_BOUND = 0x0D, /* Attempted second bind with dl_max_conind or */
+ /* dl_conn_mgmt > 0 on same DLSAP or PPA */
+ DL_INITFAILED = 0x0E, /* Physical Link initialization failed */
+ DL_NOADDR = 0x0F, /* Provider couldn't allocate alternate address */
+ DL_NOTINIT = 0x10, /* Physical Link not initialized */
+ DL_OUTSTATE = 0x03, /* Primitive issued in improper state, LLI compatibility */
+ DL_SYSERR = 0x04, /* UNIX system error occurred, LLI compatibility */
+ DL_UNSUPPORTED = 0x07, /* Requested service not supplied by provider */
+ DL_UNDELIVERABLE = 0x11, /* Previous data unit could not be delivered */
+ DL_NOTSUPPORTED = 0x12, /* Primitive is known but not supported by DLS provider */
+ DL_TOOMANY = 0x13, /* limit exceeded */
+ DL_NOTENAB = 0x14, /* Promiscuous mode not enabled */
+ DL_BUSY = 0x15, /* Other streams for a particular PPA in the post-attached state */
+ DL_NOAUTO = 0x16, /* Automatic handling of XID & TEST responses not supported */
+ DL_NOXIDAUTO = 0x17, /* Automatic handling of XID not supported */
+ DL_NOTESTAUTO = 0x18, /* Automatic handling of TEST not supported */
+ DL_XIDAUTO = 0x19, /* Automatic handling of XID response */
+ DL_TESTAUTO = 0x1A, /* AUtomatic handling of TEST response*/
+ DL_PENDING = 0x1B /* pending outstanding connect indications */
+};
- /*
- DLPI provider style.
- The DLPI provider style which determines whether a provider
- requires a DL_ATTACH_REQ to inform the provider which PPA
- user messages should be sent/received on.
- */
+/* DLPI media types supported*/
+
+enum {
+ DL_CSMACD = 0x00, /* IEEE 802.3 CSMA/CD network, LLI Compatibility */
+ DL_TPB = 0x01, /* IEEE 802.4 Token Passing Bus, LLI Compatibility */
+ DL_TPR = 0x02, /* IEEE 802.5 Token Passing Ring, LLI Compatibility */
+ DL_METRO = 0x03, /* IEEE 802.6 Metro Net, LLI Compatibility */
+ DL_ETHER = 0x04, /* Ethernet Bus, LLI Compatibility */
+ DL_HDLC = 0x05, /* ISO HDLC protocol support, bit synchronous */
+ DL_CHAR = 0x06, /* Character Synchronous protocol support, eg BISYNC */
+ DL_CTCA = 0x07, /* IBM Channel-to-Channel Adapter */
+ DL_FDDI = 0x08, /* Fiber Distributed data interface */
+ DL_OTHER = 0x09 /* Any other medium not listed above */
+};
- enum
- {
- DL_STYLE1 = 0x0500, /* PPA is implicitly bound by open(2) */
- DL_STYLE2 = 0x0501 /* PPA must be explicitly bound via DL_ATTACH_REQ */
- };
+/*
+ DLPI provider service supported.
+ These must be allowed to be bitwise-OR for dl_service_mode in
+ DL_INFO_ACK.
+*/
+enum {
+ DL_CODLS = 0x01, /* support connection-oriented service */
+ DL_CLDLS = 0x02, /* support connectionless data link service */
+ DL_ACLDLS = 0x04 /* support acknowledged connectionless service*/
+};
- /* DLPI Originator for Disconnect and Resets*/
+/*
+ DLPI provider style.
+ The DLPI provider style which determines whether a provider
+ requires a DL_ATTACH_REQ to inform the provider which PPA
+ user messages should be sent/received on.
+*/
- enum
- {
- DL_PROVIDER = 0x0700,
- DL_USER = 0x0701
- };
+enum {
+ DL_STYLE1 = 0x0500, /* PPA is implicitly bound by open(2) */
+ DL_STYLE2 = 0x0501 /* PPA must be explicitly bound via DL_ATTACH_REQ */
+};
- /* DLPI Disconnect Reasons*/
+/* DLPI Originator for Disconnect and Resets*/
- enum
- {
- DL_CONREJ_DEST_UNKNOWN = 0x0800,
- DL_CONREJ_DEST_UNREACH_PERMANENT = 0x0801,
- DL_CONREJ_DEST_UNREACH_TRANSIENT = 0x0802,
- DL_CONREJ_QOS_UNAVAIL_PERMANENT = 0x0803,
- DL_CONREJ_QOS_UNAVAIL_TRANSIENT = 0x0804,
- DL_CONREJ_PERMANENT_COND = 0x0805,
- DL_CONREJ_TRANSIENT_COND = 0x0806,
- DL_DISC_ABNORMAL_CONDITION = 0x0807,
- DL_DISC_NORMAL_CONDITION = 0x0808,
- DL_DISC_PERMANENT_CONDITION = 0x0809,
- DL_DISC_TRANSIENT_CONDITION = 0x080A,
- DL_DISC_UNSPECIFIED = 0x080B
- };
+enum {
+ DL_PROVIDER = 0x0700,
+ DL_USER = 0x0701
+};
- /* DLPI Reset Reasons*/
+/* DLPI Disconnect Reasons*/
+
+enum {
+ DL_CONREJ_DEST_UNKNOWN = 0x0800,
+ DL_CONREJ_DEST_UNREACH_PERMANENT = 0x0801,
+ DL_CONREJ_DEST_UNREACH_TRANSIENT = 0x0802,
+ DL_CONREJ_QOS_UNAVAIL_PERMANENT = 0x0803,
+ DL_CONREJ_QOS_UNAVAIL_TRANSIENT = 0x0804,
+ DL_CONREJ_PERMANENT_COND = 0x0805,
+ DL_CONREJ_TRANSIENT_COND = 0x0806,
+ DL_DISC_ABNORMAL_CONDITION = 0x0807,
+ DL_DISC_NORMAL_CONDITION = 0x0808,
+ DL_DISC_PERMANENT_CONDITION = 0x0809,
+ DL_DISC_TRANSIENT_CONDITION = 0x080A,
+ DL_DISC_UNSPECIFIED = 0x080B
+};
- enum
- {
- DL_RESET_FLOW_CONTROL = 0x0900,
- DL_RESET_LINK_ERROR = 0x0901,
- DL_RESET_RESYNCH = 0x0902
- };
+/* DLPI Reset Reasons*/
- /* DLPI status values for acknowledged connectionless data transfer*/
+enum {
+ DL_RESET_FLOW_CONTROL = 0x0900,
+ DL_RESET_LINK_ERROR = 0x0901,
+ DL_RESET_RESYNCH = 0x0902
+};
- enum
- {
- DL_CMD_MASK = 0x0F, /* mask for command portion of status */
- DL_CMD_OK = 0x00, /* Command Accepted */
- DL_CMD_RS = 0x01, /* Unimplemented or inactivated service */
- DL_CMD_UE = 0x05, /* Data Link User interface error */
- DL_CMD_PE = 0x06, /* Protocol error */
- DL_CMD_IP = 0x07, /* Permanent implementation dependent error*/
- DL_CMD_UN = 0x09, /* Resources temporarily unavailable */
- DL_CMD_IT = 0x0F, /* Temporary implementation dependent error */
- DL_RSP_MASK = 0xF0, /* mask for response portion of status */
- DL_RSP_OK = 0x00, /* Response DLSDU present */
- DL_RSP_RS = 0x10, /* Unimplemented or inactivated service */
- DL_RSP_NE = 0x30, /* Response DLSDU never submitted */
- DL_RSP_NR = 0x40, /* Response DLSDU not requested */
- DL_RSP_UE = 0x50, /* Data Link User interface error */
- DL_RSP_IP = 0x70, /* Permanent implementation dependent error */
- DL_RSP_UN = 0x90, /* Resources temporarily unavailable */
- DL_RSP_IT = 0xF0 /* Temporary implementation dependent error */
- };
+/* DLPI status values for acknowledged connectionless data transfer*/
+
+enum {
+ DL_CMD_MASK = 0x0F, /* mask for command portion of status */
+ DL_CMD_OK = 0x00, /* Command Accepted */
+ DL_CMD_RS = 0x01, /* Unimplemented or inactivated service */
+ DL_CMD_UE = 0x05, /* Data Link User interface error */
+ DL_CMD_PE = 0x06, /* Protocol error */
+ DL_CMD_IP = 0x07, /* Permanent implementation dependent error*/
+ DL_CMD_UN = 0x09, /* Resources temporarily unavailable */
+ DL_CMD_IT = 0x0F, /* Temporary implementation dependent error */
+ DL_RSP_MASK = 0xF0, /* mask for response portion of status */
+ DL_RSP_OK = 0x00, /* Response DLSDU present */
+ DL_RSP_RS = 0x10, /* Unimplemented or inactivated service */
+ DL_RSP_NE = 0x30, /* Response DLSDU never submitted */
+ DL_RSP_NR = 0x40, /* Response DLSDU not requested */
+ DL_RSP_UE = 0x50, /* Data Link User interface error */
+ DL_RSP_IP = 0x70, /* Permanent implementation dependent error */
+ DL_RSP_UN = 0x90, /* Resources temporarily unavailable */
+ DL_RSP_IT = 0xF0 /* Temporary implementation dependent error */
+};
- /* Service Class values for acknowledged connectionless data transfer*/
+/* Service Class values for acknowledged connectionless data transfer*/
- enum
- {
- DL_RQST_RSP = 0x01, /* Use acknowledge capability in MAC sublayer*/
- DL_RQST_NORSP = 0x02 /* No acknowledgement service requested */
- };
+enum {
+ DL_RQST_RSP = 0x01, /* Use acknowledge capability in MAC sublayer*/
+ DL_RQST_NORSP = 0x02 /* No acknowledgement service requested */
+};
- /* DLPI address type definition*/
+/* DLPI address type definition*/
- enum
- {
- DL_FACT_PHYS_ADDR = 0x01, /* factory physical address */
- DL_CURR_PHYS_ADDR = 0x02 /* current physical address */
- };
+enum {
+ DL_FACT_PHYS_ADDR = 0x01, /* factory physical address */
+ DL_CURR_PHYS_ADDR = 0x02 /* current physical address */
+};
- /* DLPI flag definitions*/
+/* DLPI flag definitions*/
- enum
- {
- DL_POLL_FINAL = 0x01 /* if set,indicates poll/final bit set*/
- };
+enum {
+ DL_POLL_FINAL = 0x01 /* if set,indicates poll/final bit set*/
+};
- /* XID and TEST responses supported by the provider*/
+/* XID and TEST responses supported by the provider*/
- enum
- {
- DL_AUTO_XID = 0x01, /* provider will respond to XID */
- DL_AUTO_TEST = 0x02 /* provider will respond to TEST */
- };
+enum {
+ DL_AUTO_XID = 0x01, /* provider will respond to XID */
+ DL_AUTO_TEST = 0x02 /* provider will respond to TEST */
+};
- /* Subsequent bind type*/
+/* Subsequent bind type*/
- enum
- {
- DL_PEER_BIND = 0x01, /* subsequent bind on a peer addr */
- DL_HIERARCHICAL_BIND = 0x02 /* subs_bind on a hierarchical addr*/
- };
+enum {
+ DL_PEER_BIND = 0x01, /* subsequent bind on a peer addr */
+ DL_HIERARCHICAL_BIND = 0x02 /* subs_bind on a hierarchical addr*/
+};
- /* DLPI promiscuous mode definitions*/
+/* DLPI promiscuous mode definitions*/
- enum
- {
- DL_PROMISC_PHYS = 0x01, /* promiscuous mode at phys level */
- DL_PROMISC_SAP = 0x02, /* promiscous mode at sap level */
- DL_PROMISC_MULTI = 0x03 /* promiscuous mode for multicast */
- };
+enum {
+ DL_PROMISC_PHYS = 0x01, /* promiscuous mode at phys level */
+ DL_PROMISC_SAP = 0x02, /* promiscous mode at sap level */
+ DL_PROMISC_MULTI = 0x03 /* promiscuous mode for multicast */
+};
- /* M_DATA "raw" mode */
+/* M_DATA "raw" mode */
#define DLIOCRAW MIOC_CMD(MIOC_DLPI,1)
- /*
- DLPI Quality Of Service definition for use in QOS structure definitions.
- The QOS structures are used in connection establishment, DL_INFO_ACK,
- and setting connectionless QOS values.
- */
- /*
- Throughput
-
- This parameter is specified for both directions.
- */
-
- struct dl_through_t
- {
- SInt32 dl_target_value; /* desired bits/second desired */
- SInt32 dl_accept_value; /* min. acceptable bits/second */
- };
- typedef struct dl_through_t dl_through_t;
- /*
- transit delay specification
-
- This parameter is specified for both directions.
- expressed in milliseconds assuming a DLSDU size of 128 octets.
- The scaling of the value to the current DLSDU size is provider dependent.
- */
- struct dl_transdelay_t
- {
- SInt32 dl_target_value; /* desired value of service */
- SInt32 dl_accept_value; /* min. acceptable value of service */
- };
- typedef struct dl_transdelay_t dl_transdelay_t;
- /*
- priority specification
- priority range is 0-100, with 0 being highest value.
- */
-
- struct dl_priority_t
- {
- SInt32 dl_min;
- SInt32 dl_max;
- };
- typedef struct dl_priority_t dl_priority_t;
- /* protection specification*/
- enum
- {
- DL_NONE = 0x0B01, /* no protection supplied */
- DL_MONITOR = 0x0B02, /* protection against passive monitoring */
- DL_MAXIMUM = 0x0B03 /* protection against modification, replay, addition, or deletion */
- };
-
- struct dl_protect_t
- {
- SInt32 dl_min;
- SInt32 dl_max;
- };
- typedef struct dl_protect_t dl_protect_t;
- /*
- Resilience specification
- probabilities are scaled by a factor of 10,000 with a time interval
- of 10,000 seconds.
- */
- struct dl_resilience_t
- {
- SInt32 dl_disc_prob; /* probability of provider init DISC */
- SInt32 dl_reset_prob; /* probability of provider init RESET */
- };
- typedef struct dl_resilience_t dl_resilience_t;
- /*
- QOS type definition to be used for negotiation with the
- remote end of a connection, or a connectionless unitdata request.
- There are two type definitions to handle the negotiation
- process at connection establishment. The typedef dl_qos_range_t
- is used to present a range for parameters. This is used
- in the DL_CONNECT_REQ and DL_CONNECT_IND messages. The typedef
- dl_qos_sel_t is used to select a specific value for the QOS
- parameters. This is used in the DL_CONNECT_RES, DL_CONNECT_CON,
- and DL_INFO_ACK messages to define the selected QOS parameters
- for a connection.
-
- NOTE
- A DataLink provider which has unknown values for any of the fields
- will use a value of DL_UNKNOWN for all values in the fields.
-
- NOTE
- A QOS parameter value of DL_QOS_DONT_CARE informs the DLS
- provider the user requesting this value doesn't care
- what the QOS parameter is set to. This value becomes the
- least possible value in the range of QOS parameters.
- The order of the QOS parameter range is then:
-
- DL_QOS_DONT_CARE < 0 < MAXIMUM QOS VALUE
- */
- enum
- {
- DL_UNKNOWN = -1,
- DL_QOS_DONT_CARE = -2
- };
-
- /*
- Every QOS structure has the first 4 bytes containing a type
- field, denoting the definition of the rest of the structure.
- This is used in the same manner has the dl_primitive variable
- is in messages.
-
- The following list is the defined QOS structure type values and structures.
- */
- enum
- {
- DL_QOS_CO_RANGE1 = 0x0101, /* QOS range struct. for Connection modeservice */
- DL_QOS_CO_SEL1 = 0x0102, /* QOS selection structure */
- DL_QOS_CL_RANGE1 = 0x0103, /* QOS range struct. for connectionless*/
- DL_QOS_CL_SEL1 = 0x0104 /* QOS selection for connectionless mode*/
- };
-
- struct dl_qos_co_range1_t
- {
- UInt32 dl_qos_type;
- dl_through_t dl_rcv_throughput; /* desired and acceptable*/
- dl_transdelay_t dl_rcv_trans_delay; /* desired and acceptable*/
- dl_through_t dl_xmt_throughput;
- dl_transdelay_t dl_xmt_trans_delay;
- dl_priority_t dl_priority; /* min and max values */
- dl_protect_t dl_protection; /* min and max values */
- SInt32 dl_residual_error;
- dl_resilience_t dl_resilience;
- };
- typedef struct dl_qos_co_range1_t dl_qos_co_range1_t;
- struct dl_qos_co_sel1_t
- {
- UInt32 dl_qos_type;
- SInt32 dl_rcv_throughput;
- SInt32 dl_rcv_trans_delay;
- SInt32 dl_xmt_throughput;
- SInt32 dl_xmt_trans_delay;
- SInt32 dl_priority;
- SInt32 dl_protection;
- SInt32 dl_residual_error;
- dl_resilience_t dl_resilience;
- };
- typedef struct dl_qos_co_sel1_t dl_qos_co_sel1_t;
- struct dl_qos_cl_range1_t
- {
- UInt32 dl_qos_type;
- dl_transdelay_t dl_trans_delay;
- dl_priority_t dl_priority;
- dl_protect_t dl_protection;
- SInt32 dl_residual_error;
- };
- typedef struct dl_qos_cl_range1_t dl_qos_cl_range1_t;
- struct dl_qos_cl_sel1_t
- {
- UInt32 dl_qos_type;
- SInt32 dl_trans_delay;
- SInt32 dl_priority;
- SInt32 dl_protection;
- SInt32 dl_residual_error;
- };
- typedef struct dl_qos_cl_sel1_t dl_qos_cl_sel1_t;
- /*
- DLPI interface primitive definitions.
+/*
+ DLPI Quality Of Service definition for use in QOS structure definitions.
+ The QOS structures are used in connection establishment, DL_INFO_ACK,
+ and setting connectionless QOS values.
+*/
+/*
+ Throughput
+
+ This parameter is specified for both directions.
+*/
- Each primitive is sent as a stream message. It is possible that
- the messages may be viewed as a sequence of bytes that have the
- following form without any padding. The structure definition
- of the following messages may have to change depending on the
- underlying hardware architecture and crossing of a hardware
- boundary with a different hardware architecture.
+struct dl_through_t {
+ SInt32 dl_target_value; /* desired bits/second desired */
+ SInt32 dl_accept_value; /* min. acceptable bits/second */
+};
+typedef struct dl_through_t dl_through_t;
+/*
+ transit delay specification
+
+ This parameter is specified for both directions.
+ expressed in milliseconds assuming a DLSDU size of 128 octets.
+ The scaling of the value to the current DLSDU size is provider dependent.
+*/
+struct dl_transdelay_t {
+ SInt32 dl_target_value; /* desired value of service */
+ SInt32 dl_accept_value; /* min. acceptable value of service */
+};
+typedef struct dl_transdelay_t dl_transdelay_t;
+/*
+ priority specification
+ priority range is 0-100, with 0 being highest value.
+*/
- Fields in the primitives having a name of the form
- dl_reserved cannot be used and have the value of
- binary zero, no bits turned on.
+struct dl_priority_t {
+ SInt32 dl_min;
+ SInt32 dl_max;
+};
+typedef struct dl_priority_t dl_priority_t;
+/* protection specification*/
+enum {
+ DL_NONE = 0x0B01, /* no protection supplied */
+ DL_MONITOR = 0x0B02, /* protection against passive monitoring */
+ DL_MAXIMUM = 0x0B03 /* protection against modification, replay, addition, or deletion */
+};
- Each message has the name defined followed by the
- stream message type (M_PROTO, M_PCPROTO, M_DATA)
- */
- /* LOCAL MANAGEMENT SERVICE PRIMITIVES*/
+struct dl_protect_t {
+ SInt32 dl_min;
+ SInt32 dl_max;
+};
+typedef struct dl_protect_t dl_protect_t;
+/*
+ Resilience specification
+ probabilities are scaled by a factor of 10,000 with a time interval
+ of 10,000 seconds.
+*/
+struct dl_resilience_t {
+ SInt32 dl_disc_prob; /* probability of provider init DISC */
+ SInt32 dl_reset_prob; /* probability of provider init RESET */
+};
+typedef struct dl_resilience_t dl_resilience_t;
+/*
+ QOS type definition to be used for negotiation with the
+ remote end of a connection, or a connectionless unitdata request.
+ There are two type definitions to handle the negotiation
+ process at connection establishment. The typedef dl_qos_range_t
+ is used to present a range for parameters. This is used
+ in the DL_CONNECT_REQ and DL_CONNECT_IND messages. The typedef
+ dl_qos_sel_t is used to select a specific value for the QOS
+ parameters. This is used in the DL_CONNECT_RES, DL_CONNECT_CON,
+ and DL_INFO_ACK messages to define the selected QOS parameters
+ for a connection.
+
+ NOTE
+ A DataLink provider which has unknown values for any of the fields
+ will use a value of DL_UNKNOWN for all values in the fields.
+
+ NOTE
+ A QOS parameter value of DL_QOS_DONT_CARE informs the DLS
+ provider the user requesting this value doesn't care
+ what the QOS parameter is set to. This value becomes the
+ least possible value in the range of QOS parameters.
+ The order of the QOS parameter range is then:
+
+ DL_QOS_DONT_CARE < 0 < MAXIMUM QOS VALUE
+*/
+enum {
+ DL_UNKNOWN = -1,
+ DL_QOS_DONT_CARE = -2
+};
- /* DL_INFO_REQ, M_PCPROTO type*/
+/*
+ Every QOS structure has the first 4 bytes containing a type
+ field, denoting the definition of the rest of the structure.
+ This is used in the same manner has the dl_primitive variable
+ is in messages.
- struct dl_info_req_t
- {
- UInt32 dl_primitive; /* set to DL_INFO_REQ */
- };
- typedef struct dl_info_req_t dl_info_req_t;
- /* DL_INFO_ACK, M_PCPROTO type*/
- struct dl_info_ack_t
- {
- UInt32 dl_primitive; /* set to DL_INFO_ACK */
- UInt32 dl_max_sdu; /* Max bytes in a DLSDU */
- UInt32 dl_min_sdu; /* Min bytes in a DLSDU */
- UInt32 dl_addr_length; /* length of DLSAP address */
- UInt32 dl_mac_type; /* type of medium supported*/
- UInt32 dl_reserved; /* value set to zero */
- UInt32 dl_current_state; /* state of DLPI interface */
- SInt32 dl_sap_length; /* current length of SAP part of dlsap address */
- UInt32 dl_service_mode; /* CO, CL or ACL */
- UInt32 dl_qos_length; /* length of qos values */
- UInt32 dl_qos_offset; /* offset from beg. of block*/
- UInt32 dl_qos_range_length; /* available range of qos */
- UInt32 dl_qos_range_offset; /* offset from beg. of block*/
- UInt32 dl_provider_style; /* style1 or style2 */
- UInt32 dl_addr_offset; /* offset of the dlsap addr */
- UInt32 dl_version; /* version number */
- UInt32 dl_brdcst_addr_length; /* length of broadcast addr */
- UInt32 dl_brdcst_addr_offset; /* offset from beg. of block*/
- UInt32 dl_growth; /* set to zero */
- };
- typedef struct dl_info_ack_t dl_info_ack_t;
- /* DL_ATTACH_REQ, M_PROTO type*/
- struct dl_attach_req_t
- {
- UInt32 dl_primitive; /* set to DL_ATTACH_REQ*/
- UInt32 dl_ppa; /* id of the PPA */
- };
- typedef struct dl_attach_req_t dl_attach_req_t;
- /* DL_DETACH_REQ, M_PROTO type*/
- struct dl_detach_req_t
- {
- UInt32 dl_primitive; /* set to DL_DETACH_REQ */
- };
- typedef struct dl_detach_req_t dl_detach_req_t;
- /* DL_BIND_REQ, M_PROTO type*/
- struct dl_bind_req_t
- {
- UInt32 dl_primitive; /* set to DL_BIND_REQ */
- UInt32 dl_sap; /* info to identify dlsap addr*/
- UInt32 dl_max_conind; /* max # of outstanding con_ind*/
- UInt16 dl_service_mode; /* CO, CL or ACL */
- UInt16 dl_conn_mgmt; /* if non-zero, is con-mgmt stream*/
- UInt32 dl_xidtest_flg; /* if set to 1 indicates automatic initiation of test and xid frames */
- };
- typedef struct dl_bind_req_t dl_bind_req_t;
- /* DL_BIND_ACK, M_PCPROTO type*/
- struct dl_bind_ack_t
- {
- UInt32 dl_primitive; /* DL_BIND_ACK */
- UInt32 dl_sap; /* DLSAP addr info */
- UInt32 dl_addr_length; /* length of complete DLSAP addr */
- UInt32 dl_addr_offset; /* offset from beginning of M_PCPROTO*/
- UInt32 dl_max_conind; /* allowed max. # of con-ind */
- UInt32 dl_xidtest_flg; /* responses supported by provider*/
- };
- typedef struct dl_bind_ack_t dl_bind_ack_t;
- /* DL_SUBS_BIND_REQ, M_PROTO type*/
- struct dl_subs_bind_req_t
- {
- UInt32 dl_primitive; /* DL_SUBS_BIND_REQ */
- UInt32 dl_subs_sap_offset; /* offset of subs_sap */
- UInt32 dl_subs_sap_length; /* length of subs_sap */
- UInt32 dl_subs_bind_class; /* peer or hierarchical */
- };
- typedef struct dl_subs_bind_req_t dl_subs_bind_req_t;
- /* DL_SUBS_BIND_ACK, M_PCPROTO type*/
- struct dl_subs_bind_ack_t
- {
- UInt32 dl_primitive; /* DL_SUBS_BIND_ACK */
- UInt32 dl_subs_sap_offset; /* offset of subs_sap */
- UInt32 dl_subs_sap_length; /* length of subs_sap */
- };
- typedef struct dl_subs_bind_ack_t dl_subs_bind_ack_t;
- /* DL_UNBIND_REQ, M_PROTO type*/
- struct dl_unbind_req_t
- {
- UInt32 dl_primitive; /* DL_UNBIND_REQ */
- };
- typedef struct dl_unbind_req_t dl_unbind_req_t;
- /* DL_SUBS_UNBIND_REQ, M_PROTO type*/
- struct dl_subs_unbind_req_t
- {
- UInt32 dl_primitive; /* DL_SUBS_UNBIND_REQ */
- UInt32 dl_subs_sap_offset; /* offset of subs_sap */
- UInt32 dl_subs_sap_length; /* length of subs_sap */
- };
- typedef struct dl_subs_unbind_req_t dl_subs_unbind_req_t;
- /* DL_OK_ACK, M_PCPROTO type*/
- struct dl_ok_ack_t
- {
- UInt32 dl_primitive; /* DL_OK_ACK */
- UInt32 dl_correct_primitive; /* primitive being acknowledged */
- };
- typedef struct dl_ok_ack_t dl_ok_ack_t;
- /* DL_ERROR_ACK, M_PCPROTO type*/
- struct dl_error_ack_t
- {
- UInt32 dl_primitive; /* DL_ERROR_ACK */
- UInt32 dl_error_primitive; /* primitive in error */
- UInt32 dl_errno; /* DLPI error code */
- UInt32 dl_unix_errno; /* UNIX system error code */
- };
- typedef struct dl_error_ack_t dl_error_ack_t;
- /* DL_ENABMULTI_REQ, M_PROTO type*/
- struct dl_enabmulti_req_t
- {
- UInt32 dl_primitive; /* DL_ENABMULTI_REQ */
- UInt32 dl_addr_length; /* length of multicast address */
- UInt32 dl_addr_offset; /* offset from beg. of M_PROTO block*/
- };
- typedef struct dl_enabmulti_req_t dl_enabmulti_req_t;
- /* DL_DISABMULTI_REQ, M_PROTO type*/
- struct dl_disabmulti_req_t
- {
- UInt32 dl_primitive; /* DL_DISABMULTI_REQ */
- UInt32 dl_addr_length; /* length of multicast address */
- UInt32 dl_addr_offset; /* offset from beg. of M_PROTO block*/
- };
- typedef struct dl_disabmulti_req_t dl_disabmulti_req_t;
- /* DL_PROMISCON_REQ, M_PROTO type*/
- struct dl_promiscon_req_t
- {
- UInt32 dl_primitive; /* DL_PROMISCON_REQ */
- UInt32 dl_level; /* physical,SAP level or ALL multicast*/
- };
- typedef struct dl_promiscon_req_t dl_promiscon_req_t;
- /* DL_PROMISCOFF_REQ, M_PROTO type*/
- struct dl_promiscoff_req_t
- {
- UInt32 dl_primitive; /* DL_PROMISCOFF_REQ */
- UInt32 dl_level; /* Physical,SAP level or ALL multicast*/
- };
- typedef struct dl_promiscoff_req_t dl_promiscoff_req_t;
- /* Primitives to get and set the Physical address*/
- /* DL_PHYS_ADDR_REQ, M_PROTO type*/
+ The following list is the defined QOS structure type values and structures.
+*/
+enum {
+ DL_QOS_CO_RANGE1 = 0x0101, /* QOS range struct. for Connection modeservice */
+ DL_QOS_CO_SEL1 = 0x0102, /* QOS selection structure */
+ DL_QOS_CL_RANGE1 = 0x0103, /* QOS range struct. for connectionless*/
+ DL_QOS_CL_SEL1 = 0x0104 /* QOS selection for connectionless mode*/
+};
- struct dl_phys_addr_req_t
- {
- UInt32 dl_primitive; /* DL_PHYS_ADDR_REQ */
- UInt32 dl_addr_type; /* factory or current physical addr */
- };
- typedef struct dl_phys_addr_req_t dl_phys_addr_req_t;
- /* DL_PHYS_ADDR_ACK, M_PCPROTO type*/
- struct dl_phys_addr_ack_t
- {
- UInt32 dl_primitive; /* DL_PHYS_ADDR_ACK */
- UInt32 dl_addr_length; /* length of the physical addr */
- UInt32 dl_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_phys_addr_ack_t dl_phys_addr_ack_t;
- /* DL_SET_PHYS_ADDR_REQ, M_PROTO type*/
- struct dl_set_phys_addr_req_t
- {
- UInt32 dl_primitive; /* DL_SET_PHYS_ADDR_REQ */
- UInt32 dl_addr_length; /* length of physical addr */
- UInt32 dl_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_set_phys_addr_req_t dl_set_phys_addr_req_t;
- /* Primitives to get statistics*/
- /* DL_GET_STATISTICS_REQ, M_PROTO type*/
+struct dl_qos_co_range1_t {
+ UInt32 dl_qos_type;
+ dl_through_t dl_rcv_throughput; /* desired and acceptable*/
+ dl_transdelay_t dl_rcv_trans_delay; /* desired and acceptable*/
+ dl_through_t dl_xmt_throughput;
+ dl_transdelay_t dl_xmt_trans_delay;
+ dl_priority_t dl_priority; /* min and max values */
+ dl_protect_t dl_protection; /* min and max values */
+ SInt32 dl_residual_error;
+ dl_resilience_t dl_resilience;
+};
+typedef struct dl_qos_co_range1_t dl_qos_co_range1_t;
+struct dl_qos_co_sel1_t {
+ UInt32 dl_qos_type;
+ SInt32 dl_rcv_throughput;
+ SInt32 dl_rcv_trans_delay;
+ SInt32 dl_xmt_throughput;
+ SInt32 dl_xmt_trans_delay;
+ SInt32 dl_priority;
+ SInt32 dl_protection;
+ SInt32 dl_residual_error;
+ dl_resilience_t dl_resilience;
+};
+typedef struct dl_qos_co_sel1_t dl_qos_co_sel1_t;
+struct dl_qos_cl_range1_t {
+ UInt32 dl_qos_type;
+ dl_transdelay_t dl_trans_delay;
+ dl_priority_t dl_priority;
+ dl_protect_t dl_protection;
+ SInt32 dl_residual_error;
+};
+typedef struct dl_qos_cl_range1_t dl_qos_cl_range1_t;
+struct dl_qos_cl_sel1_t {
+ UInt32 dl_qos_type;
+ SInt32 dl_trans_delay;
+ SInt32 dl_priority;
+ SInt32 dl_protection;
+ SInt32 dl_residual_error;
+};
+typedef struct dl_qos_cl_sel1_t dl_qos_cl_sel1_t;
+/*
+ DLPI interface primitive definitions.
- struct dl_get_statistics_req_t
- {
- UInt32 dl_primitive; /* DL_GET_STATISTICS_REQ */
- };
- typedef struct dl_get_statistics_req_t dl_get_statistics_req_t;
- /* DL_GET_STATISTICS_ACK, M_PCPROTO type*/
- struct dl_get_statistics_ack_t
- {
- UInt32 dl_primitive; /* DL_GET_STATISTICS_ACK */
- UInt32 dl_stat_length; /* length of statistics structure*/
- UInt32 dl_stat_offset; /* offset from beg. of block */
- };
- typedef struct dl_get_statistics_ack_t dl_get_statistics_ack_t;
- /* CONNECTION-ORIENTED SERVICE PRIMITIVES*/
+ Each primitive is sent as a stream message. It is possible that
+ the messages may be viewed as a sequence of bytes that have the
+ following form without any padding. The structure definition
+ of the following messages may have to change depending on the
+ underlying hardware architecture and crossing of a hardware
+ boundary with a different hardware architecture.
- /* DL_CONNECT_REQ, M_PROTO type*/
+ Fields in the primitives having a name of the form
+ dl_reserved cannot be used and have the value of
+ binary zero, no bits turned on.
- struct dl_connect_req_t
- {
- UInt32 dl_primitive; /* DL_CONNECT_REQ */
- UInt32 dl_dest_addr_length; /* len. of dlsap addr*/
- UInt32 dl_dest_addr_offset; /* offset */
- UInt32 dl_qos_length; /* len. of QOS parm val*/
- UInt32 dl_qos_offset; /* offset */
- UInt32 dl_growth; /* set to zero */
- };
- typedef struct dl_connect_req_t dl_connect_req_t;
- /* DL_CONNECT_IND, M_PROTO type*/
- struct dl_connect_ind_t
- {
- UInt32 dl_primitive; /* DL_CONNECT_IND */
- UInt32 dl_correlation; /* provider's correlation token*/
- UInt32 dl_called_addr_length; /* length of called address */
- UInt32 dl_called_addr_offset; /* offset from beginning of block */
- UInt32 dl_calling_addr_length; /* length of calling address */
- UInt32 dl_calling_addr_offset; /* offset from beginning of block */
- UInt32 dl_qos_length; /* length of qos structure */
- UInt32 dl_qos_offset; /* offset from beginning of block */
- UInt32 dl_growth; /* set to zero */
- };
- typedef struct dl_connect_ind_t dl_connect_ind_t;
- /* DL_CONNECT_RES, M_PROTO type*/
- struct dl_connect_res_t
- {
- UInt32 dl_primitive; /* DL_CONNECT_RES */
- UInt32 dl_correlation; /* provider's correlation token */
- UInt32 dl_resp_token; /* token associated with responding stream */
- UInt32 dl_qos_length; /* length of qos structure */
- UInt32 dl_qos_offset; /* offset from beginning of block */
- UInt32 dl_growth; /* set to zero */
- };
- typedef struct dl_connect_res_t dl_connect_res_t;
- /* DL_CONNECT_CON, M_PROTO type*/
- struct dl_connect_con_t
- {
- UInt32 dl_primitive; /* DL_CONNECT_CON*/
- UInt32 dl_resp_addr_length; /* length of responder's address */
- UInt32 dl_resp_addr_offset; /* offset from beginning of block*/
- UInt32 dl_qos_length; /* length of qos structure */
- UInt32 dl_qos_offset; /* offset from beginning of block*/
- UInt32 dl_growth; /* set to zero */
- };
- typedef struct dl_connect_con_t dl_connect_con_t;
- /* DL_TOKEN_REQ, M_PCPROTO type*/
- struct dl_token_req_t
- {
- UInt32 dl_primitive; /* DL_TOKEN_REQ */
- };
- typedef struct dl_token_req_t dl_token_req_t;
- /* DL_TOKEN_ACK, M_PCPROTO type*/
- struct dl_token_ack_t
- {
- UInt32 dl_primitive; /* DL_TOKEN_ACK */
- UInt32 dl_token; /* Connection response token associated with the stream */
- };
- typedef struct dl_token_ack_t dl_token_ack_t;
- /* DL_DISCONNECT_REQ, M_PROTO type*/
- struct dl_disconnect_req_t
- {
- UInt32 dl_primitive; /* DL_DISCONNECT_REQ */
- UInt32 dl_reason; /*normal, abnormal, perm. or transient*/
- UInt32 dl_correlation; /* association with connect_ind */
- };
- typedef struct dl_disconnect_req_t dl_disconnect_req_t;
- /* DL_DISCONNECT_IND, M_PROTO type*/
- struct dl_disconnect_ind_t
- {
- UInt32 dl_primitive; /* DL_DISCONNECT_IND */
- UInt32 dl_originator; /* USER or PROVIDER */
- UInt32 dl_reason; /* permanent or transient */
- UInt32 dl_correlation; /* association with connect_ind */
- };
- typedef struct dl_disconnect_ind_t dl_disconnect_ind_t;
- /* DL_RESET_REQ, M_PROTO type*/
- struct dl_reset_req_t
- {
- UInt32 dl_primitive; /* DL_RESET_REQ */
- };
- typedef struct dl_reset_req_t dl_reset_req_t;
- /* DL_RESET_IND, M_PROTO type*/
- struct dl_reset_ind_t
- {
- UInt32 dl_primitive; /* DL_RESET_IND */
- UInt32 dl_originator; /* Provider or User */
- UInt32 dl_reason; /* flow control, link error or resynch*/
- };
- typedef struct dl_reset_ind_t dl_reset_ind_t;
- /* DL_RESET_RES, M_PROTO type*/
- struct dl_reset_res_t
- {
- UInt32 dl_primitive; /* DL_RESET_RES */
- };
- typedef struct dl_reset_res_t dl_reset_res_t;
- /* DL_RESET_CON, M_PROTO type*/
- struct dl_reset_con_t
- {
- UInt32 dl_primitive; /* DL_RESET_CON */
- };
- typedef struct dl_reset_con_t dl_reset_con_t;
- /* CONNECTIONLESS SERVICE PRIMITIVES*/
- /* DL_UNITDATA_REQ, M_PROTO type, with M_DATA block(s)*/
+ Each message has the name defined followed by the
+ stream message type (M_PROTO, M_PCPROTO, M_DATA)
+ */
+/* LOCAL MANAGEMENT SERVICE PRIMITIVES*/
- struct dl_unitdata_req_t
- {
- UInt32 dl_primitive; /* DL_UNITDATA_REQ */
- UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- dl_priority_t dl_priority; /* priority value */
- };
- typedef struct dl_unitdata_req_t dl_unitdata_req_t;
- /* DL_UNITDATA_IND, M_PROTO type, with M_DATA block(s)*/
- struct dl_unitdata_ind_t
- {
- UInt32 dl_primitive; /* DL_UNITDATA_IND */
- UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- UInt32 dl_src_addr_length; /* DLSAP addr length of sending user*/
- UInt32 dl_src_addr_offset; /* offset from beg. of block */
- UInt32 dl_group_address; /* set to one if multicast/broadcast*/
- };
- typedef struct dl_unitdata_ind_t dl_unitdata_ind_t;
- /*
- DL_UDERROR_IND, M_PROTO type
- (or M_PCPROTO type if LLI-based provider)
- */
- struct dl_uderror_ind_t
- {
- UInt32 dl_primitive; /* DL_UDERROR_IND */
- UInt32 dl_dest_addr_length; /* Destination DLSAP */
- UInt32 dl_dest_addr_offset; /* Offset from beg. of block */
- UInt32 dl_unix_errno; /* unix system error code*/
- UInt32 dl_errno; /* DLPI error code */
- };
- typedef struct dl_uderror_ind_t dl_uderror_ind_t;
- /* DL_UDQOS_REQ, M_PROTO type*/
- struct dl_udqos_req_t
- {
- UInt32 dl_primitive; /* DL_UDQOS_REQ */
- UInt32 dl_qos_length; /* length in bytes of requested qos*/
- UInt32 dl_qos_offset; /* offset from beg. of block */
- };
- typedef struct dl_udqos_req_t dl_udqos_req_t;
- /* Primitives to handle XID and TEST operations*/
- /* DL_TEST_REQ, M_PROTO type*/
+/* DL_INFO_REQ, M_PCPROTO type*/
- struct dl_test_req_t
- {
- UInt32 dl_primitive; /* DL_TEST_REQ */
- UInt32 dl_flag; /* poll/final */
- UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_test_req_t dl_test_req_t;
- /* DL_TEST_IND, M_PROTO type*/
- struct dl_test_ind_t
- {
- UInt32 dl_primitive; /* DL_TEST_IND */
- UInt32 dl_flag; /* poll/final */
- UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- UInt32 dl_src_addr_length; /* dlsap length of source user */
- UInt32 dl_src_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_test_ind_t dl_test_ind_t;
- /* DL_TEST_RES, M_PROTO type*/
- struct dl_test_res_t
- {
- UInt32 dl_primitive; /* DL_TEST_RES */
- UInt32 dl_flag; /* poll/final */
- UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_test_res_t dl_test_res_t;
- /* DL_TEST_CON, M_PROTO type*/
- struct dl_test_con_t
- {
- UInt32 dl_primitive; /* DL_TEST_CON */
- UInt32 dl_flag; /* poll/final */
- UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- UInt32 dl_src_addr_length; /* dlsap length of source user */
- UInt32 dl_src_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_test_con_t dl_test_con_t;
- /* DL_XID_REQ, M_PROTO type*/
- struct dl_xid_req_t
- {
- UInt32 dl_primitive; /* DL_XID_REQ */
- UInt32 dl_flag; /* poll/final */
- UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_xid_req_t dl_xid_req_t;
- /* DL_XID_IND, M_PROTO type*/
- struct dl_xid_ind_t
- {
- UInt32 dl_primitive; /* DL_XID_IND */
- UInt32 dl_flag; /* poll/final */
- UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- UInt32 dl_src_addr_length; /* dlsap length of source user */
- UInt32 dl_src_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_xid_ind_t dl_xid_ind_t;
- /* DL_XID_RES, M_PROTO type*/
- struct dl_xid_res_t
- {
- UInt32 dl_primitive; /* DL_XID_RES */
- UInt32 dl_flag; /* poll/final */
- UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_xid_res_t dl_xid_res_t;
- /* DL_XID_CON, M_PROTO type*/
- struct dl_xid_con_t
- {
- UInt32 dl_primitive; /* DL_XID_CON */
- UInt32 dl_flag; /* poll/final */
- UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
- UInt32 dl_dest_addr_offset; /* offset from beg. of block */
- UInt32 dl_src_addr_length; /* dlsap length of source user */
- UInt32 dl_src_addr_offset; /* offset from beg. of block */
- };
- typedef struct dl_xid_con_t dl_xid_con_t;
- /* ACKNOWLEDGED CONNECTIONLESS SERVICE PRIMITIVES*/
+struct dl_info_req_t {
+ UInt32 dl_primitive; /* set to DL_INFO_REQ */
+};
+typedef struct dl_info_req_t dl_info_req_t;
+/* DL_INFO_ACK, M_PCPROTO type*/
+struct dl_info_ack_t {
+ UInt32 dl_primitive; /* set to DL_INFO_ACK */
+ UInt32 dl_max_sdu; /* Max bytes in a DLSDU */
+ UInt32 dl_min_sdu; /* Min bytes in a DLSDU */
+ UInt32 dl_addr_length; /* length of DLSAP address */
+ UInt32 dl_mac_type; /* type of medium supported*/
+ UInt32 dl_reserved; /* value set to zero */
+ UInt32 dl_current_state; /* state of DLPI interface */
+ SInt32 dl_sap_length; /* current length of SAP part of dlsap address */
+ UInt32 dl_service_mode; /* CO, CL or ACL */
+ UInt32 dl_qos_length; /* length of qos values */
+ UInt32 dl_qos_offset; /* offset from beg. of block*/
+ UInt32 dl_qos_range_length; /* available range of qos */
+ UInt32 dl_qos_range_offset; /* offset from beg. of block*/
+ UInt32 dl_provider_style; /* style1 or style2 */
+ UInt32 dl_addr_offset; /* offset of the dlsap addr */
+ UInt32 dl_version; /* version number */
+ UInt32 dl_brdcst_addr_length; /* length of broadcast addr */
+ UInt32 dl_brdcst_addr_offset; /* offset from beg. of block*/
+ UInt32 dl_growth; /* set to zero */
+};
+typedef struct dl_info_ack_t dl_info_ack_t;
+/* DL_ATTACH_REQ, M_PROTO type*/
+struct dl_attach_req_t {
+ UInt32 dl_primitive; /* set to DL_ATTACH_REQ*/
+ UInt32 dl_ppa; /* id of the PPA */
+};
+typedef struct dl_attach_req_t dl_attach_req_t;
+/* DL_DETACH_REQ, M_PROTO type*/
+struct dl_detach_req_t {
+ UInt32 dl_primitive; /* set to DL_DETACH_REQ */
+};
+typedef struct dl_detach_req_t dl_detach_req_t;
+/* DL_BIND_REQ, M_PROTO type*/
+struct dl_bind_req_t {
+ UInt32 dl_primitive; /* set to DL_BIND_REQ */
+ UInt32 dl_sap; /* info to identify dlsap addr*/
+ UInt32 dl_max_conind; /* max # of outstanding con_ind*/
+ UInt16 dl_service_mode; /* CO, CL or ACL */
+ UInt16 dl_conn_mgmt; /* if non-zero, is con-mgmt stream*/
+ UInt32 dl_xidtest_flg; /* if set to 1 indicates automatic initiation of test and xid frames */
+};
+typedef struct dl_bind_req_t dl_bind_req_t;
+/* DL_BIND_ACK, M_PCPROTO type*/
+struct dl_bind_ack_t {
+ UInt32 dl_primitive; /* DL_BIND_ACK */
+ UInt32 dl_sap; /* DLSAP addr info */
+ UInt32 dl_addr_length; /* length of complete DLSAP addr */
+ UInt32 dl_addr_offset; /* offset from beginning of M_PCPROTO*/
+ UInt32 dl_max_conind; /* allowed max. # of con-ind */
+ UInt32 dl_xidtest_flg; /* responses supported by provider*/
+};
+typedef struct dl_bind_ack_t dl_bind_ack_t;
+/* DL_SUBS_BIND_REQ, M_PROTO type*/
+struct dl_subs_bind_req_t {
+ UInt32 dl_primitive; /* DL_SUBS_BIND_REQ */
+ UInt32 dl_subs_sap_offset; /* offset of subs_sap */
+ UInt32 dl_subs_sap_length; /* length of subs_sap */
+ UInt32 dl_subs_bind_class; /* peer or hierarchical */
+};
+typedef struct dl_subs_bind_req_t dl_subs_bind_req_t;
+/* DL_SUBS_BIND_ACK, M_PCPROTO type*/
+struct dl_subs_bind_ack_t {
+ UInt32 dl_primitive; /* DL_SUBS_BIND_ACK */
+ UInt32 dl_subs_sap_offset; /* offset of subs_sap */
+ UInt32 dl_subs_sap_length; /* length of subs_sap */
+};
+typedef struct dl_subs_bind_ack_t dl_subs_bind_ack_t;
+/* DL_UNBIND_REQ, M_PROTO type*/
+struct dl_unbind_req_t {
+ UInt32 dl_primitive; /* DL_UNBIND_REQ */
+};
+typedef struct dl_unbind_req_t dl_unbind_req_t;
+/* DL_SUBS_UNBIND_REQ, M_PROTO type*/
+struct dl_subs_unbind_req_t {
+ UInt32 dl_primitive; /* DL_SUBS_UNBIND_REQ */
+ UInt32 dl_subs_sap_offset; /* offset of subs_sap */
+ UInt32 dl_subs_sap_length; /* length of subs_sap */
+};
+typedef struct dl_subs_unbind_req_t dl_subs_unbind_req_t;
+/* DL_OK_ACK, M_PCPROTO type*/
+struct dl_ok_ack_t {
+ UInt32 dl_primitive; /* DL_OK_ACK */
+ UInt32 dl_correct_primitive; /* primitive being acknowledged */
+};
+typedef struct dl_ok_ack_t dl_ok_ack_t;
+/* DL_ERROR_ACK, M_PCPROTO type*/
+struct dl_error_ack_t {
+ UInt32 dl_primitive; /* DL_ERROR_ACK */
+ UInt32 dl_error_primitive; /* primitive in error */
+ UInt32 dl_errno; /* DLPI error code */
+ UInt32 dl_unix_errno; /* UNIX system error code */
+};
+typedef struct dl_error_ack_t dl_error_ack_t;
+/* DL_ENABMULTI_REQ, M_PROTO type*/
+struct dl_enabmulti_req_t {
+ UInt32 dl_primitive; /* DL_ENABMULTI_REQ */
+ UInt32 dl_addr_length; /* length of multicast address */
+ UInt32 dl_addr_offset; /* offset from beg. of M_PROTO block*/
+};
+typedef struct dl_enabmulti_req_t dl_enabmulti_req_t;
+/* DL_DISABMULTI_REQ, M_PROTO type*/
+struct dl_disabmulti_req_t {
+ UInt32 dl_primitive; /* DL_DISABMULTI_REQ */
+ UInt32 dl_addr_length; /* length of multicast address */
+ UInt32 dl_addr_offset; /* offset from beg. of M_PROTO block*/
+};
+typedef struct dl_disabmulti_req_t dl_disabmulti_req_t;
+/* DL_PROMISCON_REQ, M_PROTO type*/
+struct dl_promiscon_req_t {
+ UInt32 dl_primitive; /* DL_PROMISCON_REQ */
+ UInt32 dl_level; /* physical,SAP level or ALL multicast*/
+};
+typedef struct dl_promiscon_req_t dl_promiscon_req_t;
+/* DL_PROMISCOFF_REQ, M_PROTO type*/
+struct dl_promiscoff_req_t {
+ UInt32 dl_primitive; /* DL_PROMISCOFF_REQ */
+ UInt32 dl_level; /* Physical,SAP level or ALL multicast*/
+};
+typedef struct dl_promiscoff_req_t dl_promiscoff_req_t;
+/* Primitives to get and set the Physical address*/
+/* DL_PHYS_ADDR_REQ, M_PROTO type*/
- /* DL_DATA_ACK_REQ, M_PROTO type*/
+struct dl_phys_addr_req_t {
+ UInt32 dl_primitive; /* DL_PHYS_ADDR_REQ */
+ UInt32 dl_addr_type; /* factory or current physical addr */
+};
+typedef struct dl_phys_addr_req_t dl_phys_addr_req_t;
+/* DL_PHYS_ADDR_ACK, M_PCPROTO type*/
+struct dl_phys_addr_ack_t {
+ UInt32 dl_primitive; /* DL_PHYS_ADDR_ACK */
+ UInt32 dl_addr_length; /* length of the physical addr */
+ UInt32 dl_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_phys_addr_ack_t dl_phys_addr_ack_t;
+/* DL_SET_PHYS_ADDR_REQ, M_PROTO type*/
+struct dl_set_phys_addr_req_t {
+ UInt32 dl_primitive; /* DL_SET_PHYS_ADDR_REQ */
+ UInt32 dl_addr_length; /* length of physical addr */
+ UInt32 dl_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_set_phys_addr_req_t dl_set_phys_addr_req_t;
+/* Primitives to get statistics*/
+/* DL_GET_STATISTICS_REQ, M_PROTO type*/
- struct dl_data_ack_req_t
- {
- UInt32 dl_primitive; /* DL_DATA_ACK_REQ */
- UInt32 dl_correlation; /* User's correlation token */
- UInt32 dl_dest_addr_length; /* length of destination addr */
- UInt32 dl_dest_addr_offset; /* offset from beginning of block */
- UInt32 dl_src_addr_length; /* length of source address */
- UInt32 dl_src_addr_offset; /* offset from beginning of block */
- UInt32 dl_priority; /* priority */
- UInt32 dl_service_class; /* DL_RQST_RSP or DL_RQST_NORSP */
- };
- typedef struct dl_data_ack_req_t dl_data_ack_req_t;
- /* DL_DATA_ACK_IND, M_PROTO type*/
- struct dl_data_ack_ind_t
- {
- UInt32 dl_primitive; /* DL_DATA_ACK_IND */
- UInt32 dl_dest_addr_length; /* length of destination addr */
- UInt32 dl_dest_addr_offset; /* offset from beginning of block */
- UInt32 dl_src_addr_length; /* length of source address */
- UInt32 dl_src_addr_offset; /* offset from beginning of block */
- UInt32 dl_priority; /* priority for data unit transm. */
- UInt32 dl_service_class; /* DL_RQST_RSP or DL_RQST_NORSP */
- };
- typedef struct dl_data_ack_ind_t dl_data_ack_ind_t;
- /* DL_DATA_ACK_STATUS_IND, M_PROTO type*/
- struct dl_data_ack_status_ind_t
- {
- UInt32 dl_primitive; /* DL_DATA_ACK_STATUS_IND */
- UInt32 dl_correlation; /* User's correlation token */
- UInt32 dl_status; /* success or failure of previous req*/
- };
- typedef struct dl_data_ack_status_ind_t dl_data_ack_status_ind_t;
- /* DL_REPLY_REQ, M_PROTO type*/
- struct dl_reply_req_t
- {
- UInt32 dl_primitive; /* DL_REPLY_REQ */
- UInt32 dl_correlation; /* User's correlation token */
- UInt32 dl_dest_addr_length; /* length of destination address */
- UInt32 dl_dest_addr_offset; /* offset from beginning of block */
- UInt32 dl_src_addr_length; /* source address length */
- UInt32 dl_src_addr_offset; /* offset from beginning of block */
- UInt32 dl_priority; /* priority for data unit transmission*/
- UInt32 dl_service_class;
- };
- typedef struct dl_reply_req_t dl_reply_req_t;
- /* DL_REPLY_IND, M_PROTO type*/
- struct dl_reply_ind_t
- {
- UInt32 dl_primitive; /* DL_REPLY_IND */
- UInt32 dl_dest_addr_length; /* length of destination address */
- UInt32 dl_dest_addr_offset; /* offset from beginning of block*/
- UInt32 dl_src_addr_length; /* length of source address */
- UInt32 dl_src_addr_offset; /* offset from beginning of block */
- UInt32 dl_priority; /* priority for data unit transmission*/
- UInt32 dl_service_class; /* DL_RQST_RSP or DL_RQST_NORSP */
- };
- typedef struct dl_reply_ind_t dl_reply_ind_t;
- /* DL_REPLY_STATUS_IND, M_PROTO type*/
- struct dl_reply_status_ind_t
- {
- UInt32 dl_primitive; /* DL_REPLY_STATUS_IND */
- UInt32 dl_correlation; /* User's correlation token */
- UInt32 dl_status; /* success or failure of previous req*/
- };
- typedef struct dl_reply_status_ind_t dl_reply_status_ind_t;
- /* DL_REPLY_UPDATE_REQ, M_PROTO type*/
- struct dl_reply_update_req_t
- {
- UInt32 dl_primitive; /* DL_REPLY_UPDATE_REQ */
- UInt32 dl_correlation; /* user's correlation token */
- UInt32 dl_src_addr_length; /* length of source address */
- UInt32 dl_src_addr_offset; /* offset from beginning of block */
- };
- typedef struct dl_reply_update_req_t dl_reply_update_req_t;
- /* DL_REPLY_UPDATE_STATUS_IND, M_PROTO type*/
- struct dl_reply_update_status_ind_t
- {
- UInt32 dl_primitive; /* DL_REPLY_UPDATE_STATUS_IND */
- UInt32 dl_correlation; /* User's correlation token */
- UInt32 dl_status; /* success or failure of previous req*/
- };
- typedef struct dl_reply_update_status_ind_t dl_reply_update_status_ind_t;
- union DL_primitives
- {
- UInt32 dl_primitive;
- dl_info_req_t info_req;
- dl_info_ack_t info_ack;
- dl_attach_req_t attach_req;
- dl_detach_req_t detach_req;
- dl_bind_req_t bind_req;
- dl_bind_ack_t bind_ack;
- dl_unbind_req_t unbind_req;
- dl_subs_bind_req_t subs_bind_req;
- dl_subs_bind_ack_t subs_bind_ack;
- dl_subs_unbind_req_t subs_unbind_req;
- dl_ok_ack_t ok_ack;
- dl_error_ack_t error_ack;
- dl_connect_req_t connect_req;
- dl_connect_ind_t connect_ind;
- dl_connect_res_t connect_res;
- dl_connect_con_t connect_con;
- dl_token_req_t token_req;
- dl_token_ack_t token_ack;
- dl_disconnect_req_t disconnect_req;
- dl_disconnect_ind_t disconnect_ind;
- dl_reset_req_t reset_req;
- dl_reset_ind_t reset_ind;
- dl_reset_res_t reset_res;
- dl_reset_con_t reset_con;
- dl_unitdata_req_t unitdata_req;
- dl_unitdata_ind_t unitdata_ind;
- dl_uderror_ind_t uderror_ind;
- dl_udqos_req_t udqos_req;
- dl_enabmulti_req_t enabmulti_req;
- dl_disabmulti_req_t disabmulti_req;
- dl_promiscon_req_t promiscon_req;
- dl_promiscoff_req_t promiscoff_req;
- dl_phys_addr_req_t physaddr_req;
- dl_phys_addr_ack_t physaddr_ack;
- dl_set_phys_addr_req_t set_physaddr_req;
- dl_get_statistics_req_t get_statistics_req;
- dl_get_statistics_ack_t get_statistics_ack;
- dl_test_req_t test_req;
- dl_test_ind_t test_ind;
- dl_test_res_t test_res;
- dl_test_con_t test_con;
- dl_xid_req_t xid_req;
- dl_xid_ind_t xid_ind;
- dl_xid_res_t xid_res;
- dl_xid_con_t xid_con;
- dl_data_ack_req_t data_ack_req;
- dl_data_ack_ind_t data_ack_ind;
- dl_data_ack_status_ind_t data_ack_status_ind;
- dl_reply_req_t reply_req;
- dl_reply_ind_t reply_ind;
- dl_reply_status_ind_t reply_status_ind;
- dl_reply_update_req_t reply_update_req;
- dl_reply_update_status_ind_t reply_update_status_ind;
- };
- typedef union DL_primitives DL_primitives;
- enum
- {
- DL_INFO_REQ_SIZE = sizeof(dl_info_req_t),
- DL_INFO_ACK_SIZE = sizeof(dl_info_ack_t),
- DL_ATTACH_REQ_SIZE = sizeof(dl_attach_req_t),
- DL_DETACH_REQ_SIZE = sizeof(dl_detach_req_t),
- DL_BIND_REQ_SIZE = sizeof(dl_bind_req_t),
- DL_BIND_ACK_SIZE = sizeof(dl_bind_ack_t),
- DL_UNBIND_REQ_SIZE = sizeof(dl_unbind_req_t),
- DL_SUBS_BIND_REQ_SIZE = sizeof(dl_subs_bind_req_t),
- DL_SUBS_BIND_ACK_SIZE = sizeof(dl_subs_bind_ack_t),
- DL_SUBS_UNBIND_REQ_SIZE = sizeof(dl_subs_unbind_req_t),
- DL_OK_ACK_SIZE = sizeof(dl_ok_ack_t),
- DL_ERROR_ACK_SIZE = sizeof(dl_error_ack_t),
- DL_CONNECT_REQ_SIZE = sizeof(dl_connect_req_t),
- DL_CONNECT_IND_SIZE = sizeof(dl_connect_ind_t),
- DL_CONNECT_RES_SIZE = sizeof(dl_connect_res_t),
- DL_CONNECT_CON_SIZE = sizeof(dl_connect_con_t),
- DL_TOKEN_REQ_SIZE = sizeof(dl_token_req_t),
- DL_TOKEN_ACK_SIZE = sizeof(dl_token_ack_t),
- DL_DISCONNECT_REQ_SIZE = sizeof(dl_disconnect_req_t),
- DL_DISCONNECT_IND_SIZE = sizeof(dl_disconnect_ind_t),
- DL_RESET_REQ_SIZE = sizeof(dl_reset_req_t),
- DL_RESET_IND_SIZE = sizeof(dl_reset_ind_t),
- DL_RESET_RES_SIZE = sizeof(dl_reset_res_t),
- DL_RESET_CON_SIZE = sizeof(dl_reset_con_t),
- DL_UNITDATA_REQ_SIZE = sizeof(dl_unitdata_req_t),
- DL_UNITDATA_IND_SIZE = sizeof(dl_unitdata_ind_t),
- DL_UDERROR_IND_SIZE = sizeof(dl_uderror_ind_t),
- DL_UDQOS_REQ_SIZE = sizeof(dl_udqos_req_t),
- DL_ENABMULTI_REQ_SIZE = sizeof(dl_enabmulti_req_t),
- DL_DISABMULTI_REQ_SIZE = sizeof(dl_disabmulti_req_t),
- DL_PROMISCON_REQ_SIZE = sizeof(dl_promiscon_req_t),
- DL_PROMISCOFF_REQ_SIZE = sizeof(dl_promiscoff_req_t),
- DL_PHYS_ADDR_REQ_SIZE = sizeof(dl_phys_addr_req_t),
- DL_PHYS_ADDR_ACK_SIZE = sizeof(dl_phys_addr_ack_t),
- DL_SET_PHYS_ADDR_REQ_SIZE = sizeof(dl_set_phys_addr_req_t),
- DL_GET_STATISTICS_REQ_SIZE = sizeof(dl_get_statistics_req_t),
- DL_GET_STATISTICS_ACK_SIZE = sizeof(dl_get_statistics_ack_t),
- DL_XID_REQ_SIZE = sizeof(dl_xid_req_t),
- DL_XID_IND_SIZE = sizeof(dl_xid_ind_t),
- DL_XID_RES_SIZE = sizeof(dl_xid_res_t),
- DL_XID_CON_SIZE = sizeof(dl_xid_con_t),
- DL_TEST_REQ_SIZE = sizeof(dl_test_req_t),
- DL_TEST_IND_SIZE = sizeof(dl_test_ind_t),
- DL_TEST_RES_SIZE = sizeof(dl_test_res_t),
- DL_TEST_CON_SIZE = sizeof(dl_test_con_t),
- DL_DATA_ACK_REQ_SIZE = sizeof(dl_data_ack_req_t),
- DL_DATA_ACK_IND_SIZE = sizeof(dl_data_ack_ind_t),
- DL_DATA_ACK_STATUS_IND_SIZE = sizeof(dl_data_ack_status_ind_t),
- DL_REPLY_REQ_SIZE = sizeof(dl_reply_req_t),
- DL_REPLY_IND_SIZE = sizeof(dl_reply_ind_t),
- DL_REPLY_STATUS_IND_SIZE = sizeof(dl_reply_status_ind_t),
- DL_REPLY_UPDATE_REQ_SIZE = sizeof(dl_reply_update_req_t),
- DL_REPLY_UPDATE_STATUS_IND_SIZE = sizeof(dl_reply_update_status_ind_t)
- };
+struct dl_get_statistics_req_t {
+ UInt32 dl_primitive; /* DL_GET_STATISTICS_REQ */
+};
+typedef struct dl_get_statistics_req_t dl_get_statistics_req_t;
+/* DL_GET_STATISTICS_ACK, M_PCPROTO type*/
+struct dl_get_statistics_ack_t {
+ UInt32 dl_primitive; /* DL_GET_STATISTICS_ACK */
+ UInt32 dl_stat_length; /* length of statistics structure*/
+ UInt32 dl_stat_offset; /* offset from beg. of block */
+};
+typedef struct dl_get_statistics_ack_t dl_get_statistics_ack_t;
+/* CONNECTION-ORIENTED SERVICE PRIMITIVES*/
+
+/* DL_CONNECT_REQ, M_PROTO type*/
+
+struct dl_connect_req_t {
+ UInt32 dl_primitive; /* DL_CONNECT_REQ */
+ UInt32 dl_dest_addr_length; /* len. of dlsap addr*/
+ UInt32 dl_dest_addr_offset; /* offset */
+ UInt32 dl_qos_length; /* len. of QOS parm val*/
+ UInt32 dl_qos_offset; /* offset */
+ UInt32 dl_growth; /* set to zero */
+};
+typedef struct dl_connect_req_t dl_connect_req_t;
+/* DL_CONNECT_IND, M_PROTO type*/
+struct dl_connect_ind_t {
+ UInt32 dl_primitive; /* DL_CONNECT_IND */
+ UInt32 dl_correlation; /* provider's correlation token*/
+ UInt32 dl_called_addr_length; /* length of called address */
+ UInt32 dl_called_addr_offset; /* offset from beginning of block */
+ UInt32 dl_calling_addr_length; /* length of calling address */
+ UInt32 dl_calling_addr_offset; /* offset from beginning of block */
+ UInt32 dl_qos_length; /* length of qos structure */
+ UInt32 dl_qos_offset; /* offset from beginning of block */
+ UInt32 dl_growth; /* set to zero */
+};
+typedef struct dl_connect_ind_t dl_connect_ind_t;
+/* DL_CONNECT_RES, M_PROTO type*/
+struct dl_connect_res_t {
+ UInt32 dl_primitive; /* DL_CONNECT_RES */
+ UInt32 dl_correlation; /* provider's correlation token */
+ UInt32 dl_resp_token; /* token associated with responding stream */
+ UInt32 dl_qos_length; /* length of qos structure */
+ UInt32 dl_qos_offset; /* offset from beginning of block */
+ UInt32 dl_growth; /* set to zero */
+};
+typedef struct dl_connect_res_t dl_connect_res_t;
+/* DL_CONNECT_CON, M_PROTO type*/
+struct dl_connect_con_t {
+ UInt32 dl_primitive; /* DL_CONNECT_CON*/
+ UInt32 dl_resp_addr_length; /* length of responder's address */
+ UInt32 dl_resp_addr_offset; /* offset from beginning of block*/
+ UInt32 dl_qos_length; /* length of qos structure */
+ UInt32 dl_qos_offset; /* offset from beginning of block*/
+ UInt32 dl_growth; /* set to zero */
+};
+typedef struct dl_connect_con_t dl_connect_con_t;
+/* DL_TOKEN_REQ, M_PCPROTO type*/
+struct dl_token_req_t {
+ UInt32 dl_primitive; /* DL_TOKEN_REQ */
+};
+typedef struct dl_token_req_t dl_token_req_t;
+/* DL_TOKEN_ACK, M_PCPROTO type*/
+struct dl_token_ack_t {
+ UInt32 dl_primitive; /* DL_TOKEN_ACK */
+ UInt32 dl_token; /* Connection response token associated with the stream */
+};
+typedef struct dl_token_ack_t dl_token_ack_t;
+/* DL_DISCONNECT_REQ, M_PROTO type*/
+struct dl_disconnect_req_t {
+ UInt32 dl_primitive; /* DL_DISCONNECT_REQ */
+ UInt32 dl_reason; /*normal, abnormal, perm. or transient*/
+ UInt32 dl_correlation; /* association with connect_ind */
+};
+typedef struct dl_disconnect_req_t dl_disconnect_req_t;
+/* DL_DISCONNECT_IND, M_PROTO type*/
+struct dl_disconnect_ind_t {
+ UInt32 dl_primitive; /* DL_DISCONNECT_IND */
+ UInt32 dl_originator; /* USER or PROVIDER */
+ UInt32 dl_reason; /* permanent or transient */
+ UInt32 dl_correlation; /* association with connect_ind */
+};
+typedef struct dl_disconnect_ind_t dl_disconnect_ind_t;
+/* DL_RESET_REQ, M_PROTO type*/
+struct dl_reset_req_t {
+ UInt32 dl_primitive; /* DL_RESET_REQ */
+};
+typedef struct dl_reset_req_t dl_reset_req_t;
+/* DL_RESET_IND, M_PROTO type*/
+struct dl_reset_ind_t {
+ UInt32 dl_primitive; /* DL_RESET_IND */
+ UInt32 dl_originator; /* Provider or User */
+ UInt32 dl_reason; /* flow control, link error or resynch*/
+};
+typedef struct dl_reset_ind_t dl_reset_ind_t;
+/* DL_RESET_RES, M_PROTO type*/
+struct dl_reset_res_t {
+ UInt32 dl_primitive; /* DL_RESET_RES */
+};
+typedef struct dl_reset_res_t dl_reset_res_t;
+/* DL_RESET_CON, M_PROTO type*/
+struct dl_reset_con_t {
+ UInt32 dl_primitive; /* DL_RESET_CON */
+};
+typedef struct dl_reset_con_t dl_reset_con_t;
+/* CONNECTIONLESS SERVICE PRIMITIVES*/
+/* DL_UNITDATA_REQ, M_PROTO type, with M_DATA block(s)*/
+
+struct dl_unitdata_req_t {
+ UInt32 dl_primitive; /* DL_UNITDATA_REQ */
+ UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+ dl_priority_t dl_priority; /* priority value */
+};
+typedef struct dl_unitdata_req_t dl_unitdata_req_t;
+/* DL_UNITDATA_IND, M_PROTO type, with M_DATA block(s)*/
+struct dl_unitdata_ind_t {
+ UInt32 dl_primitive; /* DL_UNITDATA_IND */
+ UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+ UInt32 dl_src_addr_length; /* DLSAP addr length of sending user*/
+ UInt32 dl_src_addr_offset; /* offset from beg. of block */
+ UInt32 dl_group_address; /* set to one if multicast/broadcast*/
+};
+typedef struct dl_unitdata_ind_t dl_unitdata_ind_t;
+/*
+ DL_UDERROR_IND, M_PROTO type
+ (or M_PCPROTO type if LLI-based provider)
+*/
+struct dl_uderror_ind_t {
+ UInt32 dl_primitive; /* DL_UDERROR_IND */
+ UInt32 dl_dest_addr_length; /* Destination DLSAP */
+ UInt32 dl_dest_addr_offset; /* Offset from beg. of block */
+ UInt32 dl_unix_errno; /* unix system error code*/
+ UInt32 dl_errno; /* DLPI error code */
+};
+typedef struct dl_uderror_ind_t dl_uderror_ind_t;
+/* DL_UDQOS_REQ, M_PROTO type*/
+struct dl_udqos_req_t {
+ UInt32 dl_primitive; /* DL_UDQOS_REQ */
+ UInt32 dl_qos_length; /* length in bytes of requested qos*/
+ UInt32 dl_qos_offset; /* offset from beg. of block */
+};
+typedef struct dl_udqos_req_t dl_udqos_req_t;
+/* Primitives to handle XID and TEST operations*/
+/* DL_TEST_REQ, M_PROTO type*/
+
+struct dl_test_req_t {
+ UInt32 dl_primitive; /* DL_TEST_REQ */
+ UInt32 dl_flag; /* poll/final */
+ UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_test_req_t dl_test_req_t;
+/* DL_TEST_IND, M_PROTO type*/
+struct dl_test_ind_t {
+ UInt32 dl_primitive; /* DL_TEST_IND */
+ UInt32 dl_flag; /* poll/final */
+ UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+ UInt32 dl_src_addr_length; /* dlsap length of source user */
+ UInt32 dl_src_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_test_ind_t dl_test_ind_t;
+/* DL_TEST_RES, M_PROTO type*/
+struct dl_test_res_t {
+ UInt32 dl_primitive; /* DL_TEST_RES */
+ UInt32 dl_flag; /* poll/final */
+ UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_test_res_t dl_test_res_t;
+/* DL_TEST_CON, M_PROTO type*/
+struct dl_test_con_t {
+ UInt32 dl_primitive; /* DL_TEST_CON */
+ UInt32 dl_flag; /* poll/final */
+ UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+ UInt32 dl_src_addr_length; /* dlsap length of source user */
+ UInt32 dl_src_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_test_con_t dl_test_con_t;
+/* DL_XID_REQ, M_PROTO type*/
+struct dl_xid_req_t {
+ UInt32 dl_primitive; /* DL_XID_REQ */
+ UInt32 dl_flag; /* poll/final */
+ UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_xid_req_t dl_xid_req_t;
+/* DL_XID_IND, M_PROTO type*/
+struct dl_xid_ind_t {
+ UInt32 dl_primitive; /* DL_XID_IND */
+ UInt32 dl_flag; /* poll/final */
+ UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+ UInt32 dl_src_addr_length; /* dlsap length of source user */
+ UInt32 dl_src_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_xid_ind_t dl_xid_ind_t;
+/* DL_XID_RES, M_PROTO type*/
+struct dl_xid_res_t {
+ UInt32 dl_primitive; /* DL_XID_RES */
+ UInt32 dl_flag; /* poll/final */
+ UInt32 dl_dest_addr_length; /* DLSAP length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_xid_res_t dl_xid_res_t;
+/* DL_XID_CON, M_PROTO type*/
+struct dl_xid_con_t {
+ UInt32 dl_primitive; /* DL_XID_CON */
+ UInt32 dl_flag; /* poll/final */
+ UInt32 dl_dest_addr_length; /* dlsap length of dest. user */
+ UInt32 dl_dest_addr_offset; /* offset from beg. of block */
+ UInt32 dl_src_addr_length; /* dlsap length of source user */
+ UInt32 dl_src_addr_offset; /* offset from beg. of block */
+};
+typedef struct dl_xid_con_t dl_xid_con_t;
+/* ACKNOWLEDGED CONNECTIONLESS SERVICE PRIMITIVES*/
+
+/* DL_DATA_ACK_REQ, M_PROTO type*/
+
+struct dl_data_ack_req_t {
+ UInt32 dl_primitive; /* DL_DATA_ACK_REQ */
+ UInt32 dl_correlation; /* User's correlation token */
+ UInt32 dl_dest_addr_length; /* length of destination addr */
+ UInt32 dl_dest_addr_offset; /* offset from beginning of block */
+ UInt32 dl_src_addr_length; /* length of source address */
+ UInt32 dl_src_addr_offset; /* offset from beginning of block */
+ UInt32 dl_priority; /* priority */
+ UInt32 dl_service_class; /* DL_RQST_RSP or DL_RQST_NORSP */
+};
+typedef struct dl_data_ack_req_t dl_data_ack_req_t;
+/* DL_DATA_ACK_IND, M_PROTO type*/
+struct dl_data_ack_ind_t {
+ UInt32 dl_primitive; /* DL_DATA_ACK_IND */
+ UInt32 dl_dest_addr_length; /* length of destination addr */
+ UInt32 dl_dest_addr_offset; /* offset from beginning of block */
+ UInt32 dl_src_addr_length; /* length of source address */
+ UInt32 dl_src_addr_offset; /* offset from beginning of block */
+ UInt32 dl_priority; /* priority for data unit transm. */
+ UInt32 dl_service_class; /* DL_RQST_RSP or DL_RQST_NORSP */
+};
+typedef struct dl_data_ack_ind_t dl_data_ack_ind_t;
+/* DL_DATA_ACK_STATUS_IND, M_PROTO type*/
+struct dl_data_ack_status_ind_t {
+ UInt32 dl_primitive; /* DL_DATA_ACK_STATUS_IND */
+ UInt32 dl_correlation; /* User's correlation token */
+ UInt32 dl_status; /* success or failure of previous req*/
+};
+typedef struct dl_data_ack_status_ind_t dl_data_ack_status_ind_t;
+/* DL_REPLY_REQ, M_PROTO type*/
+struct dl_reply_req_t {
+ UInt32 dl_primitive; /* DL_REPLY_REQ */
+ UInt32 dl_correlation; /* User's correlation token */
+ UInt32 dl_dest_addr_length; /* length of destination address */
+ UInt32 dl_dest_addr_offset; /* offset from beginning of block */
+ UInt32 dl_src_addr_length; /* source address length */
+ UInt32 dl_src_addr_offset; /* offset from beginning of block */
+ UInt32 dl_priority; /* priority for data unit transmission*/
+ UInt32 dl_service_class;
+};
+typedef struct dl_reply_req_t dl_reply_req_t;
+/* DL_REPLY_IND, M_PROTO type*/
+struct dl_reply_ind_t {
+ UInt32 dl_primitive; /* DL_REPLY_IND */
+ UInt32 dl_dest_addr_length; /* length of destination address */
+ UInt32 dl_dest_addr_offset; /* offset from beginning of block*/
+ UInt32 dl_src_addr_length; /* length of source address */
+ UInt32 dl_src_addr_offset; /* offset from beginning of block */
+ UInt32 dl_priority; /* priority for data unit transmission*/
+ UInt32 dl_service_class; /* DL_RQST_RSP or DL_RQST_NORSP */
+};
+typedef struct dl_reply_ind_t dl_reply_ind_t;
+/* DL_REPLY_STATUS_IND, M_PROTO type*/
+struct dl_reply_status_ind_t {
+ UInt32 dl_primitive; /* DL_REPLY_STATUS_IND */
+ UInt32 dl_correlation; /* User's correlation token */
+ UInt32 dl_status; /* success or failure of previous req*/
+};
+typedef struct dl_reply_status_ind_t dl_reply_status_ind_t;
+/* DL_REPLY_UPDATE_REQ, M_PROTO type*/
+struct dl_reply_update_req_t {
+ UInt32 dl_primitive; /* DL_REPLY_UPDATE_REQ */
+ UInt32 dl_correlation; /* user's correlation token */
+ UInt32 dl_src_addr_length; /* length of source address */
+ UInt32 dl_src_addr_offset; /* offset from beginning of block */
+};
+typedef struct dl_reply_update_req_t dl_reply_update_req_t;
+/* DL_REPLY_UPDATE_STATUS_IND, M_PROTO type*/
+struct dl_reply_update_status_ind_t {
+ UInt32 dl_primitive; /* DL_REPLY_UPDATE_STATUS_IND */
+ UInt32 dl_correlation; /* User's correlation token */
+ UInt32 dl_status; /* success or failure of previous req*/
+};
+typedef struct dl_reply_update_status_ind_t dl_reply_update_status_ind_t;
+union DL_primitives {
+ UInt32 dl_primitive;
+ dl_info_req_t info_req;
+ dl_info_ack_t info_ack;
+ dl_attach_req_t attach_req;
+ dl_detach_req_t detach_req;
+ dl_bind_req_t bind_req;
+ dl_bind_ack_t bind_ack;
+ dl_unbind_req_t unbind_req;
+ dl_subs_bind_req_t subs_bind_req;
+ dl_subs_bind_ack_t subs_bind_ack;
+ dl_subs_unbind_req_t subs_unbind_req;
+ dl_ok_ack_t ok_ack;
+ dl_error_ack_t error_ack;
+ dl_connect_req_t connect_req;
+ dl_connect_ind_t connect_ind;
+ dl_connect_res_t connect_res;
+ dl_connect_con_t connect_con;
+ dl_token_req_t token_req;
+ dl_token_ack_t token_ack;
+ dl_disconnect_req_t disconnect_req;
+ dl_disconnect_ind_t disconnect_ind;
+ dl_reset_req_t reset_req;
+ dl_reset_ind_t reset_ind;
+ dl_reset_res_t reset_res;
+ dl_reset_con_t reset_con;
+ dl_unitdata_req_t unitdata_req;
+ dl_unitdata_ind_t unitdata_ind;
+ dl_uderror_ind_t uderror_ind;
+ dl_udqos_req_t udqos_req;
+ dl_enabmulti_req_t enabmulti_req;
+ dl_disabmulti_req_t disabmulti_req;
+ dl_promiscon_req_t promiscon_req;
+ dl_promiscoff_req_t promiscoff_req;
+ dl_phys_addr_req_t physaddr_req;
+ dl_phys_addr_ack_t physaddr_ack;
+ dl_set_phys_addr_req_t set_physaddr_req;
+ dl_get_statistics_req_t get_statistics_req;
+ dl_get_statistics_ack_t get_statistics_ack;
+ dl_test_req_t test_req;
+ dl_test_ind_t test_ind;
+ dl_test_res_t test_res;
+ dl_test_con_t test_con;
+ dl_xid_req_t xid_req;
+ dl_xid_ind_t xid_ind;
+ dl_xid_res_t xid_res;
+ dl_xid_con_t xid_con;
+ dl_data_ack_req_t data_ack_req;
+ dl_data_ack_ind_t data_ack_ind;
+ dl_data_ack_status_ind_t data_ack_status_ind;
+ dl_reply_req_t reply_req;
+ dl_reply_ind_t reply_ind;
+ dl_reply_status_ind_t reply_status_ind;
+ dl_reply_update_req_t reply_update_req;
+ dl_reply_update_status_ind_t reply_update_status_ind;
+};
+typedef union DL_primitives DL_primitives;
+enum {
+ DL_INFO_REQ_SIZE = sizeof(dl_info_req_t),
+ DL_INFO_ACK_SIZE = sizeof(dl_info_ack_t),
+ DL_ATTACH_REQ_SIZE = sizeof(dl_attach_req_t),
+ DL_DETACH_REQ_SIZE = sizeof(dl_detach_req_t),
+ DL_BIND_REQ_SIZE = sizeof(dl_bind_req_t),
+ DL_BIND_ACK_SIZE = sizeof(dl_bind_ack_t),
+ DL_UNBIND_REQ_SIZE = sizeof(dl_unbind_req_t),
+ DL_SUBS_BIND_REQ_SIZE = sizeof(dl_subs_bind_req_t),
+ DL_SUBS_BIND_ACK_SIZE = sizeof(dl_subs_bind_ack_t),
+ DL_SUBS_UNBIND_REQ_SIZE = sizeof(dl_subs_unbind_req_t),
+ DL_OK_ACK_SIZE = sizeof(dl_ok_ack_t),
+ DL_ERROR_ACK_SIZE = sizeof(dl_error_ack_t),
+ DL_CONNECT_REQ_SIZE = sizeof(dl_connect_req_t),
+ DL_CONNECT_IND_SIZE = sizeof(dl_connect_ind_t),
+ DL_CONNECT_RES_SIZE = sizeof(dl_connect_res_t),
+ DL_CONNECT_CON_SIZE = sizeof(dl_connect_con_t),
+ DL_TOKEN_REQ_SIZE = sizeof(dl_token_req_t),
+ DL_TOKEN_ACK_SIZE = sizeof(dl_token_ack_t),
+ DL_DISCONNECT_REQ_SIZE = sizeof(dl_disconnect_req_t),
+ DL_DISCONNECT_IND_SIZE = sizeof(dl_disconnect_ind_t),
+ DL_RESET_REQ_SIZE = sizeof(dl_reset_req_t),
+ DL_RESET_IND_SIZE = sizeof(dl_reset_ind_t),
+ DL_RESET_RES_SIZE = sizeof(dl_reset_res_t),
+ DL_RESET_CON_SIZE = sizeof(dl_reset_con_t),
+ DL_UNITDATA_REQ_SIZE = sizeof(dl_unitdata_req_t),
+ DL_UNITDATA_IND_SIZE = sizeof(dl_unitdata_ind_t),
+ DL_UDERROR_IND_SIZE = sizeof(dl_uderror_ind_t),
+ DL_UDQOS_REQ_SIZE = sizeof(dl_udqos_req_t),
+ DL_ENABMULTI_REQ_SIZE = sizeof(dl_enabmulti_req_t),
+ DL_DISABMULTI_REQ_SIZE = sizeof(dl_disabmulti_req_t),
+ DL_PROMISCON_REQ_SIZE = sizeof(dl_promiscon_req_t),
+ DL_PROMISCOFF_REQ_SIZE = sizeof(dl_promiscoff_req_t),
+ DL_PHYS_ADDR_REQ_SIZE = sizeof(dl_phys_addr_req_t),
+ DL_PHYS_ADDR_ACK_SIZE = sizeof(dl_phys_addr_ack_t),
+ DL_SET_PHYS_ADDR_REQ_SIZE = sizeof(dl_set_phys_addr_req_t),
+ DL_GET_STATISTICS_REQ_SIZE = sizeof(dl_get_statistics_req_t),
+ DL_GET_STATISTICS_ACK_SIZE = sizeof(dl_get_statistics_ack_t),
+ DL_XID_REQ_SIZE = sizeof(dl_xid_req_t),
+ DL_XID_IND_SIZE = sizeof(dl_xid_ind_t),
+ DL_XID_RES_SIZE = sizeof(dl_xid_res_t),
+ DL_XID_CON_SIZE = sizeof(dl_xid_con_t),
+ DL_TEST_REQ_SIZE = sizeof(dl_test_req_t),
+ DL_TEST_IND_SIZE = sizeof(dl_test_ind_t),
+ DL_TEST_RES_SIZE = sizeof(dl_test_res_t),
+ DL_TEST_CON_SIZE = sizeof(dl_test_con_t),
+ DL_DATA_ACK_REQ_SIZE = sizeof(dl_data_ack_req_t),
+ DL_DATA_ACK_IND_SIZE = sizeof(dl_data_ack_ind_t),
+ DL_DATA_ACK_STATUS_IND_SIZE = sizeof(dl_data_ack_status_ind_t),
+ DL_REPLY_REQ_SIZE = sizeof(dl_reply_req_t),
+ DL_REPLY_IND_SIZE = sizeof(dl_reply_ind_t),
+ DL_REPLY_STATUS_IND_SIZE = sizeof(dl_reply_status_ind_t),
+ DL_REPLY_UPDATE_REQ_SIZE = sizeof(dl_reply_update_req_t),
+ DL_REPLY_UPDATE_STATUS_IND_SIZE = sizeof(dl_reply_update_status_ind_t)
+};
- enum
- {
- DL_IOC_HDR_INFO = ((MIOC_DLPI << 8) | 10) /* Fast path request */
- };
+enum {
+ DL_IOC_HDR_INFO = ((MIOC_DLPI << 8) | 10) /* Fast path request */
+};
- /* ***** From the Mentat "modnames.h" ******/
+/* ***** From the Mentat "modnames.h" ******/
#define MI_AFU_NAME "afu"
@@ -2637,7 +2439,7 @@ extern "C" {
#define MI_XTINVC_DEVICE "/dev/xtinvc"
- /* Streamtab entries */
+/* Streamtab entries */
#define MI_AFU_STREAMTAB afuinfo
#define MI_AHARP_STREAMTAB aharinfo
#define MI_AHENET_STREAMTAB aheninfo
@@ -2823,41 +2625,39 @@ extern "C" {
#define MI_XTINVC_SQLVL SQLVL_QUEUEPAIR
#define MI_XTM_SQLVL SQLVL_QUEUEPAIR
#define MI_XTMIP_SQLVL SQLVL_QUEUEPAIR
- /* ***** Raw Streams ******/
+/* ***** Raw Streams ******/
- /*
- Flags used in the fType field of OTReadInfo for functions.
- I've removed the terse and confusing comments in this header
- file. For a full description, read "Open Transport Advanced
- Client Programming".
- */
+/*
+ Flags used in the fType field of OTReadInfo for functions.
+ I've removed the terse and confusing comments in this header
+ file. For a full description, read "Open Transport Advanced
+ Client Programming".
+*/
- enum
- {
- kOTNoMessagesAvailable = (unsigned long)0xFFFFFFFF,
- kOTAnyMsgType = (unsigned long)0xFFFFFFFE,
- kOTDataMsgTypes = (unsigned long)0xFFFFFFFC,
- kOTMProtoMsgTypes = (unsigned long)0xFFFFFFFB,
- kOTOnlyMProtoMsgTypes = (unsigned long)0xFFFFFFFA
- };
+enum {
+ kOTNoMessagesAvailable = (unsigned long)0xFFFFFFFF,
+ kOTAnyMsgType = (unsigned long)0xFFFFFFFE,
+ kOTDataMsgTypes = (unsigned long)0xFFFFFFFC,
+ kOTMProtoMsgTypes = (unsigned long)0xFFFFFFFB,
+ kOTOnlyMProtoMsgTypes = (unsigned long)0xFFFFFFFA
+};
#if !OTKERNEL
- /* StreamRef is an opaque reference to a raw stream.*/
+/* StreamRef is an opaque reference to a raw stream.*/
- typedef struct OpaqueStreamRef* StreamRef;
+typedef struct OpaqueStreamRef* StreamRef;
#define kOTInvalidStreamRef ((StreamRef)0L)
- /* PollRef structure is used with the OTStreamPoll function.*/
- struct PollRef
- {
- SInt32 filler; /* holds a file descriptor an a UNIX system, replaced by ref (at end of structure) under OT*/
- SInt16 events;
- SInt16 revents;
- StreamRef ref;
- };
- typedef struct PollRef PollRef;
+/* PollRef structure is used with the OTStreamPoll function.*/
+struct PollRef {
+ SInt32 filler; /* holds a file descriptor an a UNIX system, replaced by ref (at end of structure) under OT*/
+ SInt16 events;
+ SInt16 revents;
+ StreamRef ref;
+};
+typedef struct PollRef PollRef;
- /* Poll masks for use with OTStreamPoll: */
+/* Poll masks for use with OTStreamPoll: */
#define POLLIN 0x001 /* A non-priority message is available */
#define POLLPRI 0x002 /* A high priority message is available */
@@ -2871,494 +2671,493 @@ extern "C" {
#define POLLWRBAND 0x200 /* A priority band exists and is writable */
#define POLLMSG 0x400 /* A signal message has reached the front of the queue */
- /* OTReadInfo structure is used with the various functions that read and peek at the stream head.*/
+/* OTReadInfo structure is used with the various functions that read and peek at the stream head.*/
- struct OTReadInfo
- {
- UInt32 fType;
- OTCommand fCommand;
- UInt32 fFiller; /* For compatibility with OT 1.0 and 1.1 */
- ByteCount fBytes;
- OSStatus fError;
- };
- typedef struct OTReadInfo OTReadInfo;
- /* Opening and closing raw streams*/
+struct OTReadInfo {
+ UInt32 fType;
+ OTCommand fCommand;
+ UInt32 fFiller; /* For compatibility with OT 1.0 and 1.1 */
+ ByteCount fBytes;
+ OSStatus fError;
+};
+typedef struct OTReadInfo OTReadInfo;
+/* Opening and closing raw streams*/
#if CALL_NOT_IN_CARBON
- /*
- * OTStreamOpen()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(StreamRef)
- OTStreamOpen(
- const char * name,
- OTOpenFlags oFlags,
- OSStatus * errPtr);
-
-
- /*
- * OTAsyncStreamOpen()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTAsyncStreamOpen(
- const char * name,
- OTOpenFlags oFlags,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- * OTCreateStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(StreamRef)
- OTCreateStream(
- OTConfigurationRef cfig,
- OTOpenFlags oFlags,
- OSStatus * errPtr);
-
-
- /*
- * OTAsyncCreateStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTAsyncCreateStream(
- OTConfigurationRef cfig,
- OTOpenFlags oFlags,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- * OTStreamClose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTStreamClose(StreamRef strm);
-
-
- /* Polling a stream for activity*/
-
- /*
- * OTStreamPoll()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTStreamPoll(
- PollRef * fds,
- UInt32 nfds,
- OTTimeout timeout);
-
-
- /*
- * OTAsyncStreamPoll()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTAsyncStreamPoll(
- PollRef * fds,
- UInt32 nfds,
- OTTimeout timeout,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /* Classic UNIX file descriptor operations*/
-
- /*
- * OTStreamRead()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTStreamRead(
- StreamRef strm,
- void * buf,
- OTByteCount len);
-
-
- /*
- * OTStreamWrite()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTStreamWrite(
- StreamRef strm,
- void * buf,
- OTByteCount len);
-
-
- /*
- * OTStreamIoctl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTStreamIoctl(
- StreamRef strm,
- UInt32 cmd,
- void * data);
-
-
- /*
- * OTStreamPipe()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTStreamPipe(StreamRef streamsToPipe[]);
-
-
- /* there can be only 2!*/
- /* Notifiers and modes of operation*/
- /*
- * OTStreamInstallNotifier()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTStreamInstallNotifier(
- StreamRef strm,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- * OTStreamRemoveNotifier()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTStreamRemoveNotifier(StreamRef strm);
-
-
- /*
- * OTStreamUseSyncIdleEvents()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTStreamUseSyncIdleEvents(
- StreamRef strm,
- Boolean useEvents);
-
-
- /*
- * OTStreamSetBlocking()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTStreamSetBlocking(StreamRef strm);
-
-
- /*
- * OTStreamSetNonBlocking()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTStreamSetNonBlocking(StreamRef strm);
-
-
- /*
- * OTStreamIsBlocking()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- OTStreamIsBlocking(StreamRef strm);
-
-
- /*
- * OTStreamSetSynchronous()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTStreamSetSynchronous(StreamRef strm);
-
-
- /*
- * OTStreamSetAsynchronous()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTStreamSetAsynchronous(StreamRef strm);
-
-
- /*
- * OTStreamIsSynchronous()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- OTStreamIsSynchronous(StreamRef strm);
-
-
- /* STREAMS primitives*/
-
- /*
- * OTStreamGetMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTStreamGetMessage(
- StreamRef strm,
- strbuf * ctlbuf,
- strbuf * databuf,
- OTFlags * flags);
-
-
- /*
- * OTStreamGetPriorityMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTResult)
- OTStreamGetPriorityMessage(
- StreamRef strm,
- strbuf * ctlbuf,
- strbuf * databuf,
- OTBand * band,
- OTFlags * flags);
-
-
- /*
- * OTStreamPutMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTStreamPutMessage(
- StreamRef strm,
- const strbuf * ctlbuf,
- const strbuf * databuf,
- OTFlags flags);
-
-
- /*
- * OTStreamPutPriorityMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTStreamPutPriorityMessage(
- StreamRef strm,
- const strbuf * ctlbuf,
- const strbuf * databuf,
- OTBand band,
- OTFlags flags);
-
-
- /* Miscellaneous stuff*/
-
- /*
- * OTStreamSetControlMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTStreamSetControlMask(
- StreamRef strm,
- UInt32 mask,
- Boolean setClear);
-
-
- /*
- Opening endpoints and mappers on a Stream - these calls are synchronous, and may
- only be used at System Task time. Once the stream has been installed into a provider
- or endpoint, you should not continue to use STREAMS APIs on it
- */
-
- /*
- * OTOpenProviderOnStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ProviderRef)
- OTOpenProviderOnStream(
- StreamRef strm,
- OSStatus * errPtr);
-
-
- /*
- * OTOpenEndpointOnStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(EndpointRef)
- OTOpenEndpointOnStream(
- StreamRef strm,
- OSStatus * errPtr);
-
-
- /*
- To quote an earlier version of this header file:
-
- Some functions that should only be used if
- you really know what you're doing.
- */
-
- /*
- * OTRemoveStreamFromProvider()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(StreamRef)
- OTRemoveStreamFromProvider(ProviderRef ref);
-
-
- /*
- * OTPeekMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTPeekMessage(
- StreamRef strm,
- OTReadInfo * readInfo);
-
-
- /*
- * OTReadMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTBuffer *)
- OTReadMessage(
- StreamRef strm,
- OTReadInfo * readInfo);
-
-
- /*
- * OTPutBackBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTPutBackBuffer(
- StreamRef strm,
- OTBuffer * buffer);
-
-
- /*
- * OTPutBackPartialBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OTPutBackPartialBuffer(
- StreamRef strm,
- OTBufferInfo * readInfo,
- OTBuffer * buffer);
+/*
+ * OTStreamOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( StreamRef )
+OTStreamOpen(
+ const char * name,
+ OTOpenFlags oFlags,
+ OSStatus * errPtr);
+
+
+/*
+ * OTAsyncStreamOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTAsyncStreamOpen(
+ const char * name,
+ OTOpenFlags oFlags,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ * OTCreateStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( StreamRef )
+OTCreateStream(
+ OTConfigurationRef cfig,
+ OTOpenFlags oFlags,
+ OSStatus * errPtr);
+
+
+/*
+ * OTAsyncCreateStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTAsyncCreateStream(
+ OTConfigurationRef cfig,
+ OTOpenFlags oFlags,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ * OTStreamClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTStreamClose(StreamRef strm);
+
+
+/* Polling a stream for activity*/
+
+/*
+ * OTStreamPoll()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTStreamPoll(
+ PollRef * fds,
+ UInt32 nfds,
+ OTTimeout timeout);
+
+
+/*
+ * OTAsyncStreamPoll()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTAsyncStreamPoll(
+ PollRef * fds,
+ UInt32 nfds,
+ OTTimeout timeout,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/* Classic UNIX file descriptor operations*/
+
+/*
+ * OTStreamRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTStreamRead(
+ StreamRef strm,
+ void * buf,
+ OTByteCount len);
+
+
+/*
+ * OTStreamWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTStreamWrite(
+ StreamRef strm,
+ void * buf,
+ OTByteCount len);
+
+
+/*
+ * OTStreamIoctl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTStreamIoctl(
+ StreamRef strm,
+ UInt32 cmd,
+ void * data);
+
+
+/*
+ * OTStreamPipe()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTStreamPipe(StreamRef streamsToPipe[]);
+
+
+/* there can be only 2!*/
+/* Notifiers and modes of operation*/
+/*
+ * OTStreamInstallNotifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTStreamInstallNotifier(
+ StreamRef strm,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ * OTStreamRemoveNotifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTStreamRemoveNotifier(StreamRef strm);
+
+
+/*
+ * OTStreamUseSyncIdleEvents()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTStreamUseSyncIdleEvents(
+ StreamRef strm,
+ Boolean useEvents);
+
+
+/*
+ * OTStreamSetBlocking()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTStreamSetBlocking(StreamRef strm);
+
+
+/*
+ * OTStreamSetNonBlocking()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTStreamSetNonBlocking(StreamRef strm);
+
+
+/*
+ * OTStreamIsBlocking()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+OTStreamIsBlocking(StreamRef strm);
+
+
+/*
+ * OTStreamSetSynchronous()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTStreamSetSynchronous(StreamRef strm);
+
+
+/*
+ * OTStreamSetAsynchronous()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTStreamSetAsynchronous(StreamRef strm);
+
+
+/*
+ * OTStreamIsSynchronous()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+OTStreamIsSynchronous(StreamRef strm);
+
+
+/* STREAMS primitives*/
+
+/*
+ * OTStreamGetMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTStreamGetMessage(
+ StreamRef strm,
+ strbuf * ctlbuf,
+ strbuf * databuf,
+ OTFlags * flags);
+
+
+/*
+ * OTStreamGetPriorityMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTResult )
+OTStreamGetPriorityMessage(
+ StreamRef strm,
+ strbuf * ctlbuf,
+ strbuf * databuf,
+ OTBand * band,
+ OTFlags * flags);
+
+
+/*
+ * OTStreamPutMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTStreamPutMessage(
+ StreamRef strm,
+ const strbuf * ctlbuf,
+ const strbuf * databuf,
+ OTFlags flags);
+
+
+/*
+ * OTStreamPutPriorityMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTStreamPutPriorityMessage(
+ StreamRef strm,
+ const strbuf * ctlbuf,
+ const strbuf * databuf,
+ OTBand band,
+ OTFlags flags);
+
+
+/* Miscellaneous stuff*/
+
+/*
+ * OTStreamSetControlMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTStreamSetControlMask(
+ StreamRef strm,
+ UInt32 mask,
+ Boolean setClear);
+
+
+/*
+ Opening endpoints and mappers on a Stream - these calls are synchronous, and may
+ only be used at System Task time. Once the stream has been installed into a provider
+ or endpoint, you should not continue to use STREAMS APIs on it
+*/
+
+/*
+ * OTOpenProviderOnStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ProviderRef )
+OTOpenProviderOnStream(
+ StreamRef strm,
+ OSStatus * errPtr);
+
+
+/*
+ * OTOpenEndpointOnStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( EndpointRef )
+OTOpenEndpointOnStream(
+ StreamRef strm,
+ OSStatus * errPtr);
+
+
+/*
+ To quote an earlier version of this header file:
+
+ Some functions that should only be used if
+ you really know what you're doing.
+*/
+
+/*
+ * OTRemoveStreamFromProvider()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( StreamRef )
+OTRemoveStreamFromProvider(ProviderRef ref);
+
+
+/*
+ * OTPeekMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTPeekMessage(
+ StreamRef strm,
+ OTReadInfo * readInfo);
+
+
+/*
+ * OTReadMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTBuffer * )
+OTReadMessage(
+ StreamRef strm,
+ OTReadInfo * readInfo);
+
+
+/*
+ * OTPutBackBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTPutBackBuffer(
+ StreamRef strm,
+ OTBuffer * buffer);
+
+
+/*
+ * OTPutBackPartialBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OTPutBackPartialBuffer(
+ StreamRef strm,
+ OTBufferInfo * readInfo,
+ OTBuffer * buffer);
#endif /* CALL_NOT_IN_CARBON */
@@ -3367,565 +3166,563 @@ extern "C" {
#endif /* CALL_NOT_IN_CARBON */
- /* ***** Port Utilities ******/
+/* ***** Port Utilities ******/
#if !OTKERNEL
- /*
- These types and routines are used during sophisticated
- port management. High-level clients may get involved
- for things like request a port to be yielding, but typically
- this stuff is used by protocol infrastructure.
- */
- /*
- OTPortCloseStruct is used when processing the kOTClosePortRequest
- and kOTYieldPortRequest events.
- */
-
- struct OTPortCloseStruct
- {
- OTPortRef fPortRef; /* The port requested to be closed.*/
- ProviderRef fTheProvider; /* The provider using the port.*/
- OSStatus fDenyReason; /* Set to a negative number to deny the request*/
- };
- typedef struct OTPortCloseStruct OTPortCloseStruct;
- /* OTClientList structure is used with the OTYieldPortRequest function.*/
- struct OTClientList
- {
- ItemCount fNumClients;
- UInt8 fBuffer[4];
- };
- typedef struct OTClientList OTClientList;
- /*
- Returns a buffer containing all of the clients that refused to yield the port.
- "size" is the total number of bytes @ buffer, including the fNumClients field.
- */
+/*
+ These types and routines are used during sophisticated
+ port management. High-level clients may get involved
+ for things like request a port to be yielding, but typically
+ this stuff is used by protocol infrastructure.
+*/
+/*
+ OTPortCloseStruct is used when processing the kOTClosePortRequest
+ and kOTYieldPortRequest events.
+*/
+
+struct OTPortCloseStruct {
+ OTPortRef fPortRef; /* The port requested to be closed.*/
+ ProviderRef fTheProvider; /* The provider using the port.*/
+ OSStatus fDenyReason; /* Set to a negative number to deny the request*/
+};
+typedef struct OTPortCloseStruct OTPortCloseStruct;
+/* OTClientList structure is used with the OTYieldPortRequest function.*/
+struct OTClientList {
+ ItemCount fNumClients;
+ UInt8 fBuffer[4];
+};
+typedef struct OTClientList OTClientList;
+/*
+ Returns a buffer containing all of the clients that refused to yield the port.
+ "size" is the total number of bytes @ buffer, including the fNumClients field.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OTYieldPortRequest()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTYieldPortRequest(
- ProviderRef ref,
- OTPortRef portRef,
- OTClientList * buffer,
- OTByteCount size);
-
-
- /* Send a notification to all Open Transport registered clients*/
- /*
- * OTNotifyAllClients()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTNotifyAllClients(
- OTEventCode code,
- OTResult result,
- void * cookie);
-
-
- /* Determine if "child" is a child port of "parent"*/
- /*
- * OTIsDependentPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTIsDependentPort(
- OTPortRef parent,
- OTPortRef child);
+/*
+ * OTYieldPortRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTYieldPortRequest(
+ ProviderRef ref,
+ OTPortRef portRef,
+ OTClientList * buffer,
+ OTByteCount size);
+
+
+/* Send a notification to all Open Transport registered clients*/
+/*
+ * OTNotifyAllClients()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTNotifyAllClients(
+ OTEventCode code,
+ OTResult result,
+ void * cookie);
+
+
+/* Determine if "child" is a child port of "parent"*/
+/*
+ * OTIsDependentPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTIsDependentPort(
+ OTPortRef parent,
+ OTPortRef child);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !OTKERNEL */
- /* ***** Timers ***** */
- /*
- STREAMS plug-ins code should not use these timers, instead
- they should use timer messages, ie mi_timer etc.
- */
+/* ***** Timers ***** */
+/*
+ STREAMS plug-ins code should not use these timers, instead
+ they should use timer messages, ie mi_timer etc.
+*/
#if !OTKERNEL
- typedef long OTTimerTask;
- /*
- Under Carbon, OTCreateTimerTask takes a client context pointer. Applications may pass NULL
- after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
- /*
- * OTCreateTimerTaskInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- OTCreateTimerTaskInContext(
- OTProcessUPP upp,
- void * arg,
- OTClientContextPtr clientContext);
+typedef long OTTimerTask;
+/*
+ Under Carbon, OTCreateTimerTask takes a client context pointer. Applications may pass NULL
+ after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
+/*
+ * OTCreateTimerTaskInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+OTCreateTimerTaskInContext(
+ OTProcessUPP upp,
+ void * arg,
+ OTClientContextPtr clientContext);
#if CALL_NOT_IN_CARBON
- /*
- * OTCreateTimerTask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OTTimerTask)
- OTCreateTimerTask(
- OTProcessUPP proc,
- void * arg);
+/*
+ * OTCreateTimerTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OTTimerTask )
+OTCreateTimerTask(
+ OTProcessUPP proc,
+ void * arg);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * OTCancelTimerTask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTCancelTimerTask(OTTimerTask timerTask);
-
-
- /*
- * OTDestroyTimerTask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTDestroyTimerTask(OTTimerTask timerTask);
-
-
- /*
- * OTScheduleTimerTask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTScheduleTimerTask(
- OTTimerTask timerTask,
- OTTimeout milliSeconds);
+/*
+ * OTCancelTimerTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTCancelTimerTask(OTTimerTask timerTask);
+
+
+/*
+ * OTDestroyTimerTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTDestroyTimerTask(OTTimerTask timerTask);
+
+
+/*
+ * OTScheduleTimerTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTScheduleTimerTask(
+ OTTimerTask timerTask,
+ OTTimeout milliSeconds);
#if OTCARBONAPPLICATION
- /* The following macro may be used by applications only.*/
+/* The following macro may be used by applications only.*/
#define OTCreateTimerTask(upp, arg) OTCreateTimerTaskInContext(upp, arg, NULL)
#endif /* OTCARBONAPPLICATION */
#endif /* !OTKERNEL */
- /* ***** Miscellaneous Helpful Functions ******/
+/* ***** Miscellaneous Helpful Functions ******/
#if !OTKERNEL
- /*
- These routines allow you to manipulate OT's buffer structures.
- If you use no-copy receives (described in "OpenTransport.h")
- you will need some of these routines, and may choose to use others.
- See "Open Tranport Advanced Client Programming" for documentation.
- */
- /*
- * OTBufferDataSize()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTByteCount)
- OTBufferDataSize(OTBuffer * buffer);
-
-
- /*
- * OTReadBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- OTReadBuffer(
- OTBufferInfo * buffer,
- void * dest,
- OTByteCount * len);
-
-
- /*
- * OTReleaseBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- OTReleaseBuffer(OTBuffer * buffer);
+/*
+ These routines allow you to manipulate OT's buffer structures.
+ If you use no-copy receives (described in "OpenTransport.h")
+ you will need some of these routines, and may choose to use others.
+ See "Open Tranport Advanced Client Programming" for documentation.
+*/
+/*
+ * OTBufferDataSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTByteCount )
+OTBufferDataSize(OTBuffer * buffer);
+
+
+/*
+ * OTReadBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+OTReadBuffer(
+ OTBufferInfo * buffer,
+ void * dest,
+ OTByteCount * len);
+
+
+/*
+ * OTReleaseBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+OTReleaseBuffer(OTBuffer * buffer);
#if CALL_NOT_IN_CARBON
- /*
- * StoreIntoNetbuf()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- StoreIntoNetbuf(
- TNetbuf * netBuf,
- void * source,
- SInt32 len);
-
-
- /*
- * StoreMsgIntoNetbuf()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- StoreMsgIntoNetbuf(
- TNetbuf * netBuf,
- OTBuffer * buffer);
+/*
+ * StoreIntoNetbuf()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+StoreIntoNetbuf(
+ TNetbuf * netBuf,
+ void * source,
+ SInt32 len);
+
+
+/*
+ * StoreMsgIntoNetbuf()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+StoreMsgIntoNetbuf(
+ TNetbuf * netBuf,
+ OTBuffer * buffer);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !OTKERNEL */
- /* ***** OTConfiguration ******/
+/* ***** OTConfiguration ******/
#if CALL_NOT_IN_CARBON
#if !OTKERNEL
- /*
- As promised in "OpenTransport.h", here are the routines
- for advanced operations on configurations.
- */
- /* Manipulating a configuration*/
+/*
+ As promised in "OpenTransport.h", here are the routines
+ for advanced operations on configurations.
+*/
+/* Manipulating a configuration*/
#if CALL_NOT_IN_CARBON
- /*
- * OTCfigNewConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigNewConfiguration(const char * path);
-
-
- /*
- * OTCfigDeleteConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTCfigDeleteConfiguration(OTConfigurationRef cfig);
-
-
- /*
- * OTCfigCloneConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigCloneConfiguration(OTConfigurationRef cfig);
-
-
- /*
- * OTCfigPushNewSingleChild()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigPushNewSingleChild(
- OTConfigurationRef cfig,
- const char * path,
- OSStatus * errPtr);
-
-
- /*
- * OTCfigPushParent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigPushParent(
- OTConfigurationRef cfig,
- const char * path,
- OSStatus * errPtr);
-
-
- /*
- * OTCfigPushChild()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigPushChild(
- OTConfigurationRef cfig,
- OTItemCount index,
- const char * path,
- OSStatus * errPtr);
-
-
- /*
- * OTCfigPopChild()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTCfigPopChild(
- OTConfigurationRef cfig,
- OTItemCount index);
-
-
- /*
- * OTCfigGetChild()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigGetChild(
- OTConfigurationRef cfig,
- OTItemCount index);
-
-
- /*
- * OTCfigSetPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTCfigSetPath(
- OTConfigurationRef cfig,
- const char * path);
-
-
- /*
- * OTCfigNewChild()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigNewChild(
- OTConfigurationRef cfig,
- const char * path,
- OSStatus * errPtr);
-
-
- /*
- * OTCfigAddChild()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTCfigAddChild(
- OTConfigurationRef cfig,
- OTConfigurationRef child);
-
-
- /*
- * OTCfigRemoveChild()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigRemoveChild(
- OTConfigurationRef cfig,
- OTItemCount index);
-
-
- /*
- * OTCfigSetPortRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTCfigSetPortRef(
- OTConfigurationRef cfig,
- OTPortRef portRef);
-
-
- /*
- * OTCfigChangeProviderName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTCfigChangeProviderName(
- OTConfigurationRef cfig,
- const char * name);
-
-
- /* Query a configuration*/
-
- /*
- * OTCfigNumberOfChildren()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt16)
- OTCfigNumberOfChildren(OTConfigurationRef cfig);
-
-
- /*
- * OTCfigGetParent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTConfigurationRef)
- OTCfigGetParent(OTConfigurationRef cfig);
-
-
- /*
- * OTCfigGetOptionNetbuf()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TNetbuf *)
- OTCfigGetOptionNetbuf(OTConfigurationRef cfig);
-
-
- /*
- * OTCfigGetPortRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTPortRef)
- OTCfigGetPortRef(OTConfigurationRef cfig);
-
-
- /*
- * OTCfigGetInstallFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- OTCfigGetInstallFlags(OTConfigurationRef cfig);
-
-
- /*
- * OTCfigGetProviderName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(const char *)
- OTCfigGetProviderName(OTConfigurationRef cfig);
-
-
- /*
- * OTCfigIsPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTCfigIsPort(OTConfigurationRef cfig);
+/*
+ * OTCfigNewConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigNewConfiguration(const char * path);
+
+
+/*
+ * OTCfigDeleteConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTCfigDeleteConfiguration(OTConfigurationRef cfig);
+
+
+/*
+ * OTCfigCloneConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigCloneConfiguration(OTConfigurationRef cfig);
+
+
+/*
+ * OTCfigPushNewSingleChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigPushNewSingleChild(
+ OTConfigurationRef cfig,
+ const char * path,
+ OSStatus * errPtr);
+
+
+/*
+ * OTCfigPushParent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigPushParent(
+ OTConfigurationRef cfig,
+ const char * path,
+ OSStatus * errPtr);
+
+
+/*
+ * OTCfigPushChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigPushChild(
+ OTConfigurationRef cfig,
+ OTItemCount index,
+ const char * path,
+ OSStatus * errPtr);
+
+
+/*
+ * OTCfigPopChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTCfigPopChild(
+ OTConfigurationRef cfig,
+ OTItemCount index);
+
+
+/*
+ * OTCfigGetChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigGetChild(
+ OTConfigurationRef cfig,
+ OTItemCount index);
+
+
+/*
+ * OTCfigSetPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTCfigSetPath(
+ OTConfigurationRef cfig,
+ const char * path);
+
+
+/*
+ * OTCfigNewChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigNewChild(
+ OTConfigurationRef cfig,
+ const char * path,
+ OSStatus * errPtr);
+
+
+/*
+ * OTCfigAddChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTCfigAddChild(
+ OTConfigurationRef cfig,
+ OTConfigurationRef child);
+
+
+/*
+ * OTCfigRemoveChild()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigRemoveChild(
+ OTConfigurationRef cfig,
+ OTItemCount index);
+
+
+/*
+ * OTCfigSetPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTCfigSetPortRef(
+ OTConfigurationRef cfig,
+ OTPortRef portRef);
+
+
+/*
+ * OTCfigChangeProviderName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTCfigChangeProviderName(
+ OTConfigurationRef cfig,
+ const char * name);
+
+
+/* Query a configuration*/
+
+/*
+ * OTCfigNumberOfChildren()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt16 )
+OTCfigNumberOfChildren(OTConfigurationRef cfig);
+
+
+/*
+ * OTCfigGetParent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTConfigurationRef )
+OTCfigGetParent(OTConfigurationRef cfig);
+
+
+/*
+ * OTCfigGetOptionNetbuf()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TNetbuf * )
+OTCfigGetOptionNetbuf(OTConfigurationRef cfig);
+
+
+/*
+ * OTCfigGetPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTPortRef )
+OTCfigGetPortRef(OTConfigurationRef cfig);
+
+
+/*
+ * OTCfigGetInstallFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+OTCfigGetInstallFlags(OTConfigurationRef cfig);
+
+
+/*
+ * OTCfigGetProviderName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( const char * )
+OTCfigGetProviderName(OTConfigurationRef cfig);
+
+
+/*
+ * OTCfigIsPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTCfigIsPort(OTConfigurationRef cfig);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !OTKERNEL */
- /* ***** Configurators ******/
- /*
- The kOTConfiguratorInterfaceID define is what you need to add to your
- export file for the "interfaceID = " clause to export a configurator
- for ASLM. Similarly, kOTConfiguratorCFMTag is used for CFM-based
- configurators.
- */
+/* ***** Configurators ******/
+/*
+ The kOTConfiguratorInterfaceID define is what you need to add to your
+ export file for the "interfaceID = " clause to export a configurator
+ for ASLM. Similarly, kOTConfiguratorCFMTag is used for CFM-based
+ configurators.
+*/
#define kOTConfiguratorInterfaceID kOTClientPrefix "cfigMkr"
@@ -3939,256 +3736,254 @@ extern "C" {
typedef struct TOTConfigurator TOTConfigurator;
typedef TOTConfigurator* TOTConfiguratorRef;
#endif
- /*
- Typedef for the OTCanConfigure function, and the enum for which pass we're doing.
- The first (kOTSpecificConfigPass) is to give configurators a shot at the configuration
- before we start allowing the generic configurators to get into the act.
- */
- enum
- {
- kOTSpecificConfigPass = 0,
- kOTGenericConfigPass = 1
- };
+/*
+ Typedef for the OTCanConfigure function, and the enum for which pass we're doing.
+ The first (kOTSpecificConfigPass) is to give configurators a shot at the configuration
+ before we start allowing the generic configurators to get into the act.
+*/
+enum {
+ kOTSpecificConfigPass = 0,
+ kOTGenericConfigPass = 1
+};
- typedef CALLBACK_API_C(Boolean , OTCanConfigureProcPtr)(OTConfigurationRef cfig, UInt32 pass);
- /* Typedef for the function to create and return a configurator object*/
- typedef CALLBACK_API_C(OSStatus , OTCreateConfiguratorProcPtr)(TOTConfiguratorRef * cfigor);
- /*
- Typedef for the "OTSetupConfigurator" function that your configurator library must export.
- The enum is for the type of configurator that it is.
- */
+typedef CALLBACK_API_C( Boolean , OTCanConfigureProcPtr )(OTConfigurationRef cfig, UInt32 pass);
+/* Typedef for the function to create and return a configurator object*/
+typedef CALLBACK_API_C( OSStatus , OTCreateConfiguratorProcPtr )(TOTConfiguratorRef * cfigor);
+/*
+ Typedef for the "OTSetupConfigurator" function that your configurator library must export.
+ The enum is for the type of configurator that it is.
+*/
#define kOTSetupConfiguratorID "OTSetupConfigurator"
- enum
- {
- kOTDefaultConfigurator = 0,
- kOTProtocolFamilyConfigurator = 1,
- kOTLinkDriverConfigurator = 2
- };
+enum {
+ kOTDefaultConfigurator = 0,
+ kOTProtocolFamilyConfigurator = 1,
+ kOTLinkDriverConfigurator = 2
+};
- typedef CALLBACK_API_C(OSStatus , OTSetupConfiguratorProcPtr)(OTCanConfigureProcPtr *canConfigure, OTCreateConfiguratorProcPtr *createConfigurator, UInt8 *configuratorType);
- /*
- Procedure pointer definitions for the three key callbacks associated
- with a configurator, as established by OTNewConfigurator.
- */
- typedef CALLBACK_API_C(OSStatus , OTCFConfigureProcPtr)(TOTConfiguratorRef cfigor, OTConfigurationRef cfig);
- typedef CALLBACK_API_C(OSStatus , OTCFCreateStreamProcPtr)(TOTConfiguratorRef cfigor, OTConfigurationRef cfig, OTOpenFlags oFlags, OTNotifyUPP proc, void *contextPtr);
- typedef CALLBACK_API_C(void , OTCFHandleSystemEventProcPtr)(TOTConfiguratorRef cfigor, OTEventCode code, OTResult result, void *cookie);
- /*
- Determine if this instance of your configurator is the "master"
- (the one that can create and destroy control streams)
- */
+typedef CALLBACK_API_C( OSStatus , OTSetupConfiguratorProcPtr )(OTCanConfigureProcPtr *canConfigure, OTCreateConfiguratorProcPtr *createConfigurator, UInt8 *configuratorType);
+/*
+ Procedure pointer definitions for the three key callbacks associated
+ with a configurator, as established by OTNewConfigurator.
+*/
+typedef CALLBACK_API_C( OSStatus , OTCFConfigureProcPtr )(TOTConfiguratorRef cfigor, OTConfigurationRef cfig);
+typedef CALLBACK_API_C( OSStatus , OTCFCreateStreamProcPtr )(TOTConfiguratorRef cfigor, OTConfigurationRef cfig, OTOpenFlags oFlags, OTNotifyUPP proc, void *contextPtr);
+typedef CALLBACK_API_C( void , OTCFHandleSystemEventProcPtr )(TOTConfiguratorRef cfigor, OTEventCode code, OTResult result, void *cookie);
+/*
+ Determine if this instance of your configurator is the "master"
+ (the one that can create and destroy control streams)
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OTIsMasterConfigurator()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTIsMasterConfigurator(TOTConfiguratorRef cfigor);
-
-
- /* Get back the userData you passed in to OTNewConfigurator*/
- /*
- * OTGetConfiguratorUserData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- OTGetConfiguratorUserData(TOTConfiguratorRef cfigor);
-
-
- /* Create a configurator object for use by Open Transport*/
- /*
- * OTNewConfigurator()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TOTConfiguratorRef)
- OTNewConfigurator(
- void * userData,
- OTCFConfigureProcPtr configure,
- OTCFCreateStreamProcPtr createStream,
- OTCFHandleSystemEventProcPtr handleEvent);
-
-
- /* Delete a configurator object created by OTNewConfigurator*/
- /*
- * OTDeleteConfigurator()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTDeleteConfigurator(TOTConfiguratorRef cfigor);
-
-
- /*
- A utility function to send notifications to the user - it takes care of calls
- from deferred tasks
- */
- /*
- * OTNotifyUser()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTNotifyUser(
- FSSpec * theFile,
- SInt32 rsrcID,
- OTItemCount index,
- char * parm1,
- char * parm2);
-
-
- /* Call when the configurator unloads from memory*/
- /*
- * OTConfiguratorUnloaded()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTConfiguratorUnloaded(TOTConfiguratorRef cfigor);
-
-
- /*
- Call to create your control stream if you're not the master
- configurator. You can also use the state machine function
- OTSMCreateControlStream(OTStateMachine*, OTConfigurationRef, TOTConfiguratorRef cfigor).
- */
- /*
- * OTCreateControlStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTCreateControlStream(
- OTConfigurationRef cfig,
- TOTConfiguratorRef cfigor,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- A helpful function for the configurators to
- be able to recursively configure the children.
- */
- /*
- * OTConfigureChildren()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTConfigureChildren(OTConfigurationRef cfig);
-
-
- /* Allocate a bit in the system-wide control mask for streams.*/
- /*
- * OTNewControlMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- OTNewControlMask(void);
-
-
- /* Warning: These 2 APIs is going away*/
- /*
- * OTCloseProvidersByUseCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTCloseProvidersByUseCount(
- SInt32 * useCount,
- OTResult reason,
- OTBooleanParam doneDeal);
-
-
- /*
- * OTCloseProvidersByPortRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTCloseProvidersByPortRef(
- OTPortRef ref,
- OTResult reason,
- OTBooleanParam doneDeal);
-
-
- /* These are the "real" APIs*/
- /*
- * OTCloseProviderByStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTCloseProviderByStream(
- StreamRef ref,
- OTResult reason,
- OTBooleanParam doneDeal);
-
-
- /*
- * OTCloseMatchingProviders()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTCloseMatchingProviders(
- UInt32 mask,
- OTPortRef port,
- OTResult reason,
- OTBooleanParam doneDeal);
-
-
-
- /* The following defines are for use in building an 'epcf' resource: */
-
- /* Defines for fFlags field: */
+/*
+ * OTIsMasterConfigurator()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTIsMasterConfigurator(TOTConfiguratorRef cfigor);
+
+
+/* Get back the userData you passed in to OTNewConfigurator*/
+/*
+ * OTGetConfiguratorUserData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+OTGetConfiguratorUserData(TOTConfiguratorRef cfigor);
+
+
+/* Create a configurator object for use by Open Transport*/
+/*
+ * OTNewConfigurator()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TOTConfiguratorRef )
+OTNewConfigurator(
+ void * userData,
+ OTCFConfigureProcPtr configure,
+ OTCFCreateStreamProcPtr createStream,
+ OTCFHandleSystemEventProcPtr handleEvent);
+
+
+/* Delete a configurator object created by OTNewConfigurator*/
+/*
+ * OTDeleteConfigurator()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTDeleteConfigurator(TOTConfiguratorRef cfigor);
+
+
+/*
+ A utility function to send notifications to the user - it takes care of calls
+ from deferred tasks
+*/
+/*
+ * OTNotifyUser()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTNotifyUser(
+ FSSpec * theFile,
+ SInt32 rsrcID,
+ OTItemCount index,
+ char * parm1,
+ char * parm2);
+
+
+/* Call when the configurator unloads from memory*/
+/*
+ * OTConfiguratorUnloaded()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTConfiguratorUnloaded(TOTConfiguratorRef cfigor);
+
+
+/*
+ Call to create your control stream if you're not the master
+ configurator. You can also use the state machine function
+ OTSMCreateControlStream(OTStateMachine*, OTConfigurationRef, TOTConfiguratorRef cfigor).
+*/
+/*
+ * OTCreateControlStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTCreateControlStream(
+ OTConfigurationRef cfig,
+ TOTConfiguratorRef cfigor,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ A helpful function for the configurators to
+ be able to recursively configure the children.
+*/
+/*
+ * OTConfigureChildren()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTConfigureChildren(OTConfigurationRef cfig);
+
+
+/* Allocate a bit in the system-wide control mask for streams.*/
+/*
+ * OTNewControlMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+OTNewControlMask(void);
+
+
+/* Warning: These 2 APIs is going away*/
+/*
+ * OTCloseProvidersByUseCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTCloseProvidersByUseCount(
+ SInt32 * useCount,
+ OTResult reason,
+ OTBooleanParam doneDeal);
+
+
+/*
+ * OTCloseProvidersByPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTCloseProvidersByPortRef(
+ OTPortRef ref,
+ OTResult reason,
+ OTBooleanParam doneDeal);
+
+
+/* These are the "real" APIs*/
+/*
+ * OTCloseProviderByStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTCloseProviderByStream(
+ StreamRef ref,
+ OTResult reason,
+ OTBooleanParam doneDeal);
+
+
+/*
+ * OTCloseMatchingProviders()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTCloseMatchingProviders(
+ UInt32 mask,
+ OTPortRef port,
+ OTResult reason,
+ OTBooleanParam doneDeal);
+
+
+
+/* The following defines are for use in building an 'epcf' resource: */
+
+/* Defines for fFlags field: */
#define kIsReliable 0x00000001
#define kIsNotReliable 0x00000002
#define kSupportsOrderlyRelease 0x00000004
- /* Defines for fProtocolType field: */
+/* Defines for fProtocolType field: */
#define kStream 0x0001
#define kUStream 0x0002
#define kTransaction 0x0004
@@ -4196,7 +3991,7 @@ extern "C" {
#define kMapper 0x0010
#define kGenericProtocol 0x0020
- /* Defines for optionType field: */
+/* Defines for optionType field: */
#define kBooleanOption 0
#define kUnsignedValueOption 1
#define kSignedValueOption 2
@@ -4204,7 +3999,7 @@ extern "C" {
#define kPrintableStringOption 4
#define kOctetStringOption 5
- /* Defines for fUpperInterface and fLowerInterface: */
+/* Defines for fUpperInterface and fLowerInterface: */
#define kTPIInterface 'TPI '
#define kDLPIInterface 'DLPI'
#define kMapperInterface 'MAPR'
@@ -4218,599 +4013,544 @@ extern "C" {
#endif /* CALL_NOT_IN_CARBON */
- /* ***** OTStateMachine ******/
+/* ***** OTStateMachine ******/
#if CALL_NOT_IN_CARBON
- /*
- This utility set allows you to write an asynchronous chain of code that looks
- somewhat like it is synchronous. This is primarily used for plumbing
- streams asynchronously, especially in configurators
- */
+/*
+ This utility set allows you to write an asynchronous chain of code that looks
+ somewhat like it is synchronous. This is primarily used for plumbing
+ streams asynchronously, especially in configurators
+*/
#if !OTKERNEL
- /* Alas, the state machine is only available to client code. Sorry.*/
+/* Alas, the state machine is only available to client code. Sorry.*/
- /*
- There are 12 or 8 bytes of reserved space at the front of
- the OTStateMachine structure, depending on whether you're
- building PowerPC or 68K code.. The OTStateMachineDataPad
- type compensates for this.
- */
+/*
+ There are 12 or 8 bytes of reserved space at the front of
+ the OTStateMachine structure, depending on whether you're
+ building PowerPC or 68K code.. The OTStateMachineDataPad
+ type compensates for this.
+*/
#if TARGET_CPU_PPC
- typedef UInt8 OTStateMachineDataPad[12];
+typedef UInt8 OTStateMachineDataPad[12];
#else
- typedef UInt8 OTStateMachineDataPad[8];
+typedef UInt8 OTStateMachineDataPad[8];
#endif /* TARGET_CPU_PPC */
- /*
- Forward define OTStateMachine so that OTStateProcPtr has
- access to it.
- */
- typedef struct OTStateMachine OTStateMachine;
- /*
- This type is is the required prototype of a state machine
- entry point.
- */
- typedef CALLBACK_API(void , OTStateProcPtr)(OTStateMachine * sm);
- /*
- This type defines a routine that the state machine will
- call when the top level completes.
- */
- typedef CALLBACK_API_C(void , OTSMCompleteProcPtr)(void * contextPtr);
- /* And now for the state machine structure itself.*/
- struct OTStateMachine
- {
- OTStateMachineDataPad fData;
- void * fCookie;
- OTEventCode fCode;
- OTResult fResult;
+/*
+ Forward define OTStateMachine so that OTStateProcPtr has
+ access to it.
+*/
+typedef struct OTStateMachine OTStateMachine;
+/*
+ This type is is the required prototype of a state machine
+ entry point.
+*/
+typedef CALLBACK_API( void , OTStateProcPtr )(OTStateMachine * sm);
+/*
+ This type defines a routine that the state machine will
+ call when the top level completes.
+*/
+typedef CALLBACK_API_C( void , OTSMCompleteProcPtr )(void * contextPtr);
+/* And now for the state machine structure itself.*/
+struct OTStateMachine {
+ OTStateMachineDataPad fData;
+ void * fCookie;
+ OTEventCode fCode;
+ OTResult fResult;
#ifdef __cplusplus
- // C++ inline methods on this structure.
+ // C++ inline methods on this structure.
- void* GetClientData();
+ void* GetClientData();
- Boolean CallStateProc(OTStateProcPtr proc, UInt32 state = 0);
+ Boolean CallStateProc(OTStateProcPtr proc, UInt32 state = 0);
- UInt16 GetState();
+ UInt16 GetState();
- void SetState(UInt32 state);
+ void SetState(UInt32 state);
- void Complete();
+ void Complete();
- void Complete(OTResult result);
+ void Complete(OTResult result);
- void Complete(OTResult result, OTEventCode code, void* contextPtr);
+ void Complete(OTResult result, OTEventCode code, void* contextPtr);
- void CompleteToClient();
+ void CompleteToClient();
- void CompleteToClient(OTResult result);
+ void CompleteToClient(OTResult result);
- void CompleteToClient(OTResult result, OTEventCode code, void* contexPtr);
+ void CompleteToClient(OTResult result, OTEventCode code, void* contexPtr);
- void PopCallback();
+ void PopCallback();
- Boolean CreateStream(OTConfigurationRef cfig, OTOpenFlags flags);
+ Boolean CreateStream(OTConfigurationRef cfig, OTOpenFlags flags);
- Boolean OpenStream(const char* name, OTOpenFlags flags);
+ Boolean OpenStream(const char* name, OTOpenFlags flags);
- Boolean SendIoctl(StreamRef ref, UInt32 type, void* data);
+ Boolean SendIoctl(StreamRef ref, UInt32 type, void* data);
- Boolean SendIoctl(StreamRef ref, UInt32 type, long data);
+ Boolean SendIoctl(StreamRef ref, UInt32 type, long data);
- Boolean PutMessage(StreamRef ref, strbuf* ctl, strbuf* data, OTFlags flags);
+ Boolean PutMessage(StreamRef ref, strbuf* ctl, strbuf* data, OTFlags flags);
- Boolean GetMessage(StreamRef ref, strbuf* ctl, strbuf* data, OTFlags* flagPtr);
+ Boolean GetMessage(StreamRef ref, strbuf* ctl, strbuf* data, OTFlags* flagPtr);
- OSStatus ReturnToCaller();
+ OSStatus ReturnToCaller();
#endif
- };
+};
#define kOTSMBufferSize(callDepth) (80 + (callDepth * 8))
- /*
- For structSize, pass the size of your structure that you want associated with
- the state machine. It can later be obtained by calling OTSMGetClientData.
- For bufSize, use the kOTSMBufferSize macro, plus the size of your structure
- to create a buffer on the stack. For synchronous calls, the stack buffer will
- be used (unless you pass in NULL). The callDepth is the depth level of nested
- calls using OTSMCallStateProc.
- */
+/*
+ For structSize, pass the size of your structure that you want associated with
+ the state machine. It can later be obtained by calling OTSMGetClientData.
+ For bufSize, use the kOTSMBufferSize macro, plus the size of your structure
+ to create a buffer on the stack. For synchronous calls, the stack buffer will
+ be used (unless you pass in NULL). The callDepth is the depth level of nested
+ calls using OTSMCallStateProc.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OTCreateStateMachine()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTStateMachine *)
- OTCreateStateMachine(
- void * buf,
- OTByteCount bufSize,
- OTByteCount structSize,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- * OTDestroyStateMachine()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTDestroyStateMachine(OTStateMachine * sm);
-
-
- /*
- OTSMCallStateProc used to take a parameter of type UInt16_p,
- which was defined to be the same as UInt32. In an attempt
- to reduce the number of wacky types defined by the OT
- interfaces, we've changed these routines to just take a
- straight UInt32. You should be warned that the current
- implementation does not support values outside of the
- range 0..32767. The same applies to OTSMSetState.
- */
-
- /*
- * OTSMCallStateProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTSMCallStateProc(
- OTStateMachine * sm,
- OTStateProcPtr proc,
- UInt32 state);
-
-
- /*
- * OTSMGetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt16)
- OTSMGetState(OTStateMachine * sm);
-
-
- /*
- * OTSMSetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTSMSetState(
- OTStateMachine * sm,
- UInt32 state);
-
-
- /* Fill out the fCookie, fCode, and fResult fields before calling!*/
- /*
- * OTSMComplete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTSMComplete(OTStateMachine * sm);
-
-
- /*
- * OTSMPopCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTSMPopCallback(OTStateMachine * sm);
-
-
- /*
- * OTSMWaitForComplete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTSMWaitForComplete(OTStateMachine * sm);
-
-
- /*
- * OTSMCreateStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTSMCreateStream(
- OTStateMachine * sm,
- OTConfigurationRef cfig,
- OTOpenFlags flags);
-
-
- /*
- * OTSMOpenStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTSMOpenStream(
- OTStateMachine * sm,
- const char * name,
- OTOpenFlags flags);
-
-
- /*
- * OTSMIoctl()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTSMIoctl(
- OTStateMachine * sm,
- StreamRef strm,
- UInt32 cmd,
- long data);
-
-
- /*
- * OTSMPutMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTSMPutMessage(
- OTStateMachine * sm,
- StreamRef strm,
- strbuf * ctlbuf,
- strbuf * databuf,
- OTFlags flags);
-
-
- /*
- * OTSMGetMessage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTSMGetMessage(
- OTStateMachine * sm,
- StreamRef strm,
- strbuf * ctlbuf,
- strbuf * databuf,
- OTFlags * flagsPtr);
-
-
- /*
- * OTSMReturnToCaller()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTSMReturnToCaller(OTStateMachine * sm);
-
-
- /*
- * OTSMGetClientData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- OTSMGetClientData(OTStateMachine * sm);
-
-
- /*
- * OTSMInstallCompletionProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTSMInstallCompletionProc(
- OTStateMachine * sm,
- OTSMCompleteProcPtr completeProc,
- void * contextPtr);
-
-
- /*
- * OTSMCreateControlStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTSMCreateControlStream(
- OTStateMachine * sm,
- OTConfigurationRef cfig,
- TOTConfiguratorRef cfigor);
+/*
+ * OTCreateStateMachine()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTStateMachine * )
+OTCreateStateMachine(
+ void * buf,
+ OTByteCount bufSize,
+ OTByteCount structSize,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ * OTDestroyStateMachine()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTDestroyStateMachine(OTStateMachine * sm);
+
+
+/*
+ OTSMCallStateProc used to take a parameter of type UInt16_p,
+ which was defined to be the same as UInt32. In an attempt
+ to reduce the number of wacky types defined by the OT
+ interfaces, we've changed these routines to just take a
+ straight UInt32. You should be warned that the current
+ implementation does not support values outside of the
+ range 0..32767. The same applies to OTSMSetState.
+*/
+
+/*
+ * OTSMCallStateProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTSMCallStateProc(
+ OTStateMachine * sm,
+ OTStateProcPtr proc,
+ UInt32 state);
+
+
+/*
+ * OTSMGetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt16 )
+OTSMGetState(OTStateMachine * sm);
+
+
+/*
+ * OTSMSetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTSMSetState(
+ OTStateMachine * sm,
+ UInt32 state);
+
+
+/* Fill out the fCookie, fCode, and fResult fields before calling!*/
+/*
+ * OTSMComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTSMComplete(OTStateMachine * sm);
+
+
+/*
+ * OTSMPopCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTSMPopCallback(OTStateMachine * sm);
+
+
+/*
+ * OTSMWaitForComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTSMWaitForComplete(OTStateMachine * sm);
+
+
+/*
+ * OTSMCreateStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTSMCreateStream(
+ OTStateMachine * sm,
+ OTConfigurationRef cfig,
+ OTOpenFlags flags);
+
+
+/*
+ * OTSMOpenStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTSMOpenStream(
+ OTStateMachine * sm,
+ const char * name,
+ OTOpenFlags flags);
+
+
+/*
+ * OTSMIoctl()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTSMIoctl(
+ OTStateMachine * sm,
+ StreamRef strm,
+ UInt32 cmd,
+ long data);
+
+
+/*
+ * OTSMPutMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTSMPutMessage(
+ OTStateMachine * sm,
+ StreamRef strm,
+ strbuf * ctlbuf,
+ strbuf * databuf,
+ OTFlags flags);
+
+
+/*
+ * OTSMGetMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTSMGetMessage(
+ OTStateMachine * sm,
+ StreamRef strm,
+ strbuf * ctlbuf,
+ strbuf * databuf,
+ OTFlags * flagsPtr);
+
+
+/*
+ * OTSMReturnToCaller()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTSMReturnToCaller(OTStateMachine * sm);
+
+
+/*
+ * OTSMGetClientData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+OTSMGetClientData(OTStateMachine * sm);
+
+
+/*
+ * OTSMInstallCompletionProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTSMInstallCompletionProc(
+ OTStateMachine * sm,
+ OTSMCompleteProcPtr completeProc,
+ void * contextPtr);
+
+
+/*
+ * OTSMCreateControlStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTSMCreateControlStream(
+ OTStateMachine * sm,
+ OTConfigurationRef cfig,
+ TOTConfiguratorRef cfigor);
#ifdef __cplusplus
- inline void* OTStateMachine::GetClientData()
- {
- return OTSMGetClientData(this);
- }
+ inline void* OTStateMachine::GetClientData() { return OTSMGetClientData(this); }
inline Boolean OTStateMachine::CallStateProc(OTStateProcPtr proc, UInt32 state)
- {
- return OTSMCallStateProc(this, proc, state);
- }
- inline UInt16 OTStateMachine::GetState()
- {
- return OTSMGetState(this);
- }
+ { return OTSMCallStateProc(this, proc, state); }
+ inline UInt16 OTStateMachine::GetState() { return OTSMGetState(this); }
inline void OTStateMachine::SetState(UInt32 state)
- {
- OTSMSetState(this, state);
- }
- inline void OTStateMachine::PopCallback()
- {
- OTSMPopCallback(this);
- }
- inline void OTStateMachine::Complete()
- {
- OTSMComplete(this);
- }
+ { OTSMSetState(this, state); }
+ inline void OTStateMachine::PopCallback() { OTSMPopCallback(this); }
+ inline void OTStateMachine::Complete() { OTSMComplete(this); }
inline void OTStateMachine::Complete(OTResult result, OTEventCode code, void* cookie)
- {
- fCookie = cookie;
- fCode = code;
- fResult = result;
- Complete();
- }
+ { fCookie = cookie; fCode = code; fResult = result; Complete(); }
inline void OTStateMachine::Complete(OTResult result)
- {
- fResult = result;
- Complete();
- }
+ { fResult = result; Complete(); }
inline void OTStateMachine::CompleteToClient()
- {
- PopCallback();
- Complete();
- }
+ { PopCallback(); Complete(); }
inline void OTStateMachine::CompleteToClient(OTResult result)
- {
- fResult = result;
- CompleteToClient();
- }
-
+ { fResult = result; CompleteToClient(); }
+
inline void OTStateMachine::CompleteToClient(OTResult result, OTEventCode code, void* cookie)
- {
- fCookie = cookie;
- fCode = code;
- fResult = result;
- CompleteToClient();
- }
+ { fCookie = cookie; fCode = code; fResult = result; CompleteToClient(); }
inline Boolean OTStateMachine::CreateStream(OTConfigurationRef cfig, OTOpenFlags flags)
- {
- return OTSMCreateStream(this, cfig, flags);
- }
+ { return OTSMCreateStream(this, cfig, flags); }
inline Boolean OTStateMachine::OpenStream(const char* name, OTOpenFlags flags)
- {
- return OTSMOpenStream(this, name, flags);
- }
+ { return OTSMOpenStream(this, name, flags); }
inline Boolean OTStateMachine::SendIoctl(StreamRef ref, UInt32 type, void* data)
- {
- return OTSMIoctl(this, ref, type, (long)data);
- }
+ { return OTSMIoctl(this, ref, type, (long)data); }
inline Boolean OTStateMachine::SendIoctl(StreamRef ref, UInt32 type, long data)
- {
- return OTSMIoctl(this, ref, type, data);
- }
+ { return OTSMIoctl(this, ref, type, data); }
inline Boolean OTStateMachine::PutMessage(StreamRef ref, struct strbuf* ctl, struct strbuf* data, OTFlags flags)
- {
- return OTSMPutMessage(this, ref, ctl, data, flags);
- }
+ { return OTSMPutMessage(this, ref, ctl, data, flags); }
inline Boolean OTStateMachine::GetMessage(StreamRef ref, struct strbuf* ctl, struct strbuf* data, OTFlags* flagPtr)
- {
- return OTSMGetMessage(this, ref, ctl, data, flagPtr);
- }
+ { return OTSMGetMessage(this, ref, ctl, data, flagPtr); }
inline OSStatus OTStateMachine::ReturnToCaller()
- {
- return OTSMReturnToCaller(this);
- }
+ { return OTSMReturnToCaller(this); }
#endif
#endif /* CALL_NOT_IN_CARBON */
#endif /* !OTKERNEL */
- /* ***** Autopush Definitions ******/
- /*
- The autopush functionality for Open Transport is based on the names of
- devices and modules, rather than on the major number information like
- SVR4. This is so that autopush information can be set up for modules
- that are not yet loaded.
- */
+/* ***** Autopush Definitions ******/
+/*
+ The autopush functionality for Open Transport is based on the names of
+ devices and modules, rather than on the major number information like
+ SVR4. This is so that autopush information can be set up for modules
+ that are not yet loaded.
+*/
- /* The name of the STREAMS driver you open and send the ioctls to.*/
+/* The name of the STREAMS driver you open and send the ioctls to.*/
#define kSADModuleName "sad"
- /* Autopush ioctls.*/
- enum
- {
- I_SAD_SAP = ((MIOC_SAD << 8) | 1), /* Set autopush information */
- I_SAD_GAP = ((MIOC_SAD << 8) | 2), /* Get autopush information */
- I_SAD_VML = ((MIOC_SAD << 8) | 3) /* Validate a list of modules (uses str_list structure) */
- };
+/* Autopush ioctls.*/
+enum {
+ I_SAD_SAP = ((MIOC_SAD << 8) | 1), /* Set autopush information */
+ I_SAD_GAP = ((MIOC_SAD << 8) | 2), /* Get autopush information */
+ I_SAD_VML = ((MIOC_SAD << 8) | 3) /* Validate a list of modules (uses str_list structure) */
+};
- /* Maximum number of modules autopushed on a driver.*/
+/* Maximum number of modules autopushed on a driver.*/
- enum
- {
- kOTAutopushMax = 8
- };
+enum {
+ kOTAutopushMax = 8
+};
- /* ioctl structure used for SAD_SAP and SAD_GAP commands.*/
+/* ioctl structure used for SAD_SAP and SAD_GAP commands.*/
- struct OTAutopushInfo
- {
- UInt32 sap_cmd;
- char sap_device_name[32];
- SInt32 sap_minor;
- SInt32 sap_lastminor;
- SInt32 sap_npush;
- char sap_list[8][32];
- };
- typedef struct OTAutopushInfo OTAutopushInfo;
- /* Command values for sap_cmd field of the above.*/
- enum
- {
- kSAP_ONE = 1, /* Configure a single minor device */
- kSAP_RANGE = 2, /* Configure a range of minor devices */
- kSAP_ALL = 3, /* Configure all minor devices */
- kSAP_CLEAR = 4 /* Clear autopush information */
- };
+struct OTAutopushInfo {
+ UInt32 sap_cmd;
+ char sap_device_name[32];
+ SInt32 sap_minor;
+ SInt32 sap_lastminor;
+ SInt32 sap_npush;
+ char sap_list[8][32];
+};
+typedef struct OTAutopushInfo OTAutopushInfo;
+/* Command values for sap_cmd field of the above.*/
+enum {
+ kSAP_ONE = 1, /* Configure a single minor device */
+ kSAP_RANGE = 2, /* Configure a range of minor devices */
+ kSAP_ALL = 3, /* Configure all minor devices */
+ kSAP_CLEAR = 4 /* Clear autopush information */
+};
- /* ***** Configuration Helpers ******/
+/* ***** Configuration Helpers ******/
- /*
- These definitions are used by device driver and port scanner
- developers to provide a library giving client-side information about
- the registered ports, such as a user-visible name or an icon.
- */
+/*
+ These definitions are used by device driver and port scanner
+ developers to provide a library giving client-side information about
+ the registered ports, such as a user-visible name or an icon.
+*/
- /* Configuration helper library prefix*/
+/* Configuration helper library prefix*/
- /*
- This prefix is prepended to the string found in the "fResourceInfo"
- field of the OTPortRecord to build the actual library name of the
- configuration helper library.
- */
+/*
+ This prefix is prepended to the string found in the "fResourceInfo"
+ field of the OTPortRecord to build the actual library name of the
+ configuration helper library.
+*/
#define kPortConfigLibPrefix "OTPortCfg$"
- /* Get user visible port name entry point.*/
+/* Get user visible port name entry point.*/
- /*
- This entry point returns the user visible name of the port. If includeSlot
- is true, a slot distinguishing suffix (eg "slot X") should be added. If
- includePort is true, a port distinguishing suffix (eg " port X") should be added for
- multiport cards.
- */
+/*
+ This entry point returns the user visible name of the port. If includeSlot
+ is true, a slot distinguishing suffix (eg "slot X") should be added. If
+ includePort is true, a port distinguishing suffix (eg " port X") should be added for
+ multiport cards.
+*/
#define kOTGetUserPortNameID "OTGetUserPortName"
- typedef CALLBACK_API_C(void , OTGetPortNameProcPtr)(OTPortRecord *port, OTBooleanParam includeSlot, OTBooleanParam includePort, Str255 userVisibleName);
- /* Get icon entry point.*/
- /*
- This entry point returns the location of the icon for the port. Return false if no
- icon is provided.
- */
+typedef CALLBACK_API_C( void , OTGetPortNameProcPtr )(OTPortRecord *port, OTBooleanParam includeSlot, OTBooleanParam includePort, Str255 userVisibleName);
+/* Get icon entry point.*/
+/*
+ This entry point returns the location of the icon for the port. Return false if no
+ icon is provided.
+*/
#define kOTGetPortIconID "OTGetPortIcon"
- struct OTResourceLocator
- {
- FSSpec fFile;
- UInt16 fResID;
- };
- typedef struct OTResourceLocator OTResourceLocator;
- typedef CALLBACK_API_C(Boolean , OTGetPortIconProcPtr)(OTPortRecord *port, OTResourceLocator *iconLocation);
- /* ***** Application Access to Configuration Helpers ******/
+struct OTResourceLocator {
+ FSSpec fFile;
+ UInt16 fResID;
+};
+typedef struct OTResourceLocator OTResourceLocator;
+typedef CALLBACK_API_C( Boolean , OTGetPortIconProcPtr )(OTPortRecord *port, OTResourceLocator *iconLocation);
+/* ***** Application Access to Configuration Helpers ******/
#if !OTKERNEL
- /*
- These routines are used by clients to get information about ports.
- The canonical user of these routines is the OT control panel(s),
- but applications may want to use them as well (to display the list
- of available Ethernet cards, for example).
- */
- /* Returns a user friendly name for a port.*/
+/*
+ These routines are used by clients to get information about ports.
+ The canonical user of these routines is the OT control panel(s),
+ but applications may want to use them as well (to display the list
+ of available Ethernet cards, for example).
+*/
+/* Returns a user friendly name for a port.*/
#if CALL_NOT_IN_CARBON
- /*
- * OTGetUserPortNameFromPortRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTGetUserPortNameFromPortRef(
- OTPortRef ref,
- Str255 friendlyName);
-
-
- /*
- Returns the location for the icon familly representing the port.
- Returns false if the port has no icon.
- */
- /*
- * OTGetPortIconFromPortRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTGetPortIconFromPortRef(
- OTPortRef ref,
- OTResourceLocator * iconLocation);
+/*
+ * OTGetUserPortNameFromPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTGetUserPortNameFromPortRef(
+ OTPortRef ref,
+ Str255 friendlyName);
+
+
+/*
+ Returns the location for the icon familly representing the port.
+ Returns false if the port has no icon.
+*/
+/*
+ * OTGetPortIconFromPortRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTGetPortIconFromPortRef(
+ OTPortRef ref,
+ OTResourceLocator * iconLocation);
#endif /* CALL_NOT_IN_CARBON */
- /* Returns true if the port can be used with the specified protocol.*/
+/* Returns true if the port can be used with the specified protocol.*/
#if CALL_NOT_IN_CARBON
- /*
- * OTIsPortCompatibleWith()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTIsPortCompatibleWith(
- const OTPortRecord * port,
- char * protocolName);
+/*
+ * OTIsPortCompatibleWith()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTIsPortCompatibleWith(
+ const OTPortRecord * port,
+ char * protocolName);
#endif /* CALL_NOT_IN_CARBON */
@@ -4819,694 +4559,653 @@ extern "C" {
#endif /* CALL_NOT_IN_CARBON */
- /* ***** Common Utilities ******/
- /*
- The utilities defined in this section are available to both client
- and kernel code. Cool huh? These utilities differ from those
- provided in "OpenTransport.h" in that they are only available to native
- architecture clients.
- */
-
- /* Bitmap functions*/
-
- /* These functions atomically deal with a bitmap that is multiple-bytes long*/
-
- /*
- Set the first clear bit in "bitMap", starting with bit "startBit",
- giving up after "numBits". Returns the bit # that was set, or
- a kOTNotFoundErr if there was no clear bit available
- */
- /*
- * OTSetFirstClearBit()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OTResult)
- OTSetFirstClearBit(
- UInt8 * bitMap,
- OTByteCount startBit,
- OTByteCount numBits);
-
-
- /* Standard clear, set and test bit functions*/
- /*
- * OTClearBit()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- OTClearBit(
- UInt8 * bitMap,
- OTByteCount bitNo);
-
-
- /*
- * OTSetBit()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- OTSetBit(
- UInt8 * bitMap,
- OTByteCount bitNo);
-
-
- /*
- * OTTestBit()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- OTTestBit(
- UInt8 * bitMap,
- OTByteCount bitNo);
-
-
- /* OTHashList*/
-
- /*
- This implements a simple, but efficient hash list. It is not
- thread-safe.
- */
-
- typedef CALLBACK_API_C(UInt32 , OTHashProcPtr)(OTLink * linkToHash);
- typedef CALLBACK_API_C(Boolean , OTHashSearchProcPtr)(const void *ref, OTLink *linkToCheck);
- struct OTHashList
- {
- OTHashProcPtr fHashProc;
- ByteCount fHashTableSize;
- OTLink ** fHashBuckets;
+/* ***** Common Utilities ******/
+/*
+ The utilities defined in this section are available to both client
+ and kernel code. Cool huh? These utilities differ from those
+ provided in "OpenTransport.h" in that they are only available to native
+ architecture clients.
+*/
+
+/* Bitmap functions*/
+
+/* These functions atomically deal with a bitmap that is multiple-bytes long*/
+
+/*
+ Set the first clear bit in "bitMap", starting with bit "startBit",
+ giving up after "numBits". Returns the bit # that was set, or
+ a kOTNotFoundErr if there was no clear bit available
+*/
+/*
+ * OTSetFirstClearBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OTResult )
+OTSetFirstClearBit(
+ UInt8 * bitMap,
+ OTByteCount startBit,
+ OTByteCount numBits);
+
+
+/* Standard clear, set and test bit functions*/
+/*
+ * OTClearBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+OTClearBit(
+ UInt8 * bitMap,
+ OTByteCount bitNo);
+
+
+/*
+ * OTSetBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+OTSetBit(
+ UInt8 * bitMap,
+ OTByteCount bitNo);
+
+
+/*
+ * OTTestBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+OTTestBit(
+ UInt8 * bitMap,
+ OTByteCount bitNo);
+
+
+/* OTHashList*/
+
+/*
+ This implements a simple, but efficient hash list. It is not
+ thread-safe.
+*/
+
+typedef CALLBACK_API_C( UInt32 , OTHashProcPtr )(OTLink * linkToHash);
+typedef CALLBACK_API_C( Boolean , OTHashSearchProcPtr )(const void *ref, OTLink *linkToCheck);
+struct OTHashList {
+ OTHashProcPtr fHashProc;
+ ByteCount fHashTableSize;
+ OTLink ** fHashBuckets;
#ifdef __cplusplus
- // C++ inline methods on this structure.
+ // C++ inline methods on this structure.
- void Add(OTLink* toAdd);
+ void Add(OTLink* toAdd);
- Boolean RemoveLink(OTLink* toRemove);
+ Boolean RemoveLink(OTLink* toRemove);
- OTLink* Remove(OTHashSearchProcPtr proc, const void* refPtr, UInt32 hashValue);
+ OTLink* Remove(OTHashSearchProcPtr proc, const void* refPtr, UInt32 hashValue);
- Boolean IsInList(OTLink* toFind);
+ Boolean IsInList(OTLink* toFind);
- OTLink* FindLink(OTHashSearchProcPtr proc, const void* refPtr, UInt32 hash);
+ OTLink* FindLink(OTHashSearchProcPtr proc, const void* refPtr, UInt32 hash);
#endif
- };
- typedef struct OTHashList OTHashList;
- /*
- Return the number of bytes of memory needed to create a hash list
- of at least "numEntries" entries.
- */
+};
+typedef struct OTHashList OTHashList;
+/*
+ Return the number of bytes of memory needed to create a hash list
+ of at least "numEntries" entries.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OTCalculateHashListMemoryNeeds()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTByteCount)
- OTCalculateHashListMemoryNeeds(OTItemCount numEntries);
-
-
- /*
- Create an OTHashList from "memory". Return an error if it
- couldn't be done.
- */
- /*
- * OTInitHashList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTResult)
- OTInitHashList(
- void * memory,
- OTByteCount numBytes,
- OTHashProcPtr hashProc);
-
-
- /*
- * OTAddToHashList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTAddToHashList(
- OTHashList * hashList,
- OTLink * linkToAdd);
-
-
- /*
- * OTRemoveLinkFromHashList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTRemoveLinkFromHashList(
- OTHashList * hashList,
- OTLink * linkToRemove);
-
-
- /*
- * OTIsInHashList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTIsInHashList(
- OTHashList * hashList,
- OTLink * link);
-
-
- /*
- * OTFindInHashList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTLink *)
- OTFindInHashList(
- OTHashList * hashList,
- OTHashSearchProcPtr searchProc,
- const void * refPtr,
- UInt32 hashValue);
-
-
- /*
- * OTRemoveFromHashList()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OTLink *)
- OTRemoveFromHashList(
- OTHashList * hashList,
- OTHashSearchProcPtr searchProc,
- const void * refPtr,
- UInt32 hashValue);
+/*
+ * OTCalculateHashListMemoryNeeds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTByteCount )
+OTCalculateHashListMemoryNeeds(OTItemCount numEntries);
+
+
+/*
+ Create an OTHashList from "memory". Return an error if it
+ couldn't be done.
+*/
+/*
+ * OTInitHashList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTResult )
+OTInitHashList(
+ void * memory,
+ OTByteCount numBytes,
+ OTHashProcPtr hashProc);
+
+
+/*
+ * OTAddToHashList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTAddToHashList(
+ OTHashList * hashList,
+ OTLink * linkToAdd);
+
+
+/*
+ * OTRemoveLinkFromHashList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTRemoveLinkFromHashList(
+ OTHashList * hashList,
+ OTLink * linkToRemove);
+
+
+/*
+ * OTIsInHashList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTIsInHashList(
+ OTHashList * hashList,
+ OTLink * link);
+
+
+/*
+ * OTFindInHashList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTLink * )
+OTFindInHashList(
+ OTHashList * hashList,
+ OTHashSearchProcPtr searchProc,
+ const void * refPtr,
+ UInt32 hashValue);
+
+
+/*
+ * OTRemoveFromHashList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OTLink * )
+OTRemoveFromHashList(
+ OTHashList * hashList,
+ OTHashSearchProcPtr searchProc,
+ const void * refPtr,
+ UInt32 hashValue);
#endif /* CALL_NOT_IN_CARBON */
#ifdef __cplusplus
-#if CALL_NOT_IN_CARBON
- // C++ inline methods on this structure.
+ #if CALL_NOT_IN_CARBON
+ // C++ inline methods on this structure.
- inline void OTHashList::Add(OTLink* toAdd)
- {
- OTAddToHashList(this, toAdd);
- }
+ inline void OTHashList::Add(OTLink* toAdd) { OTAddToHashList(this, toAdd); }
inline Boolean OTHashList::RemoveLink(OTLink* toRemove)
- {
- return OTRemoveLinkFromHashList(this, toRemove);
- }
+ { return OTRemoveLinkFromHashList(this, toRemove); }
inline OTLink* OTHashList::Remove(OTHashSearchProcPtr proc, const void* refPtr, UInt32 hashValue)
- {
- return OTRemoveFromHashList(this, proc, refPtr, hashValue);
- }
+ { return OTRemoveFromHashList(this, proc, refPtr, hashValue); }
inline Boolean OTHashList::IsInList(OTLink* toFind)
- {
- return OTIsInHashList(this, toFind);
- }
+ { return OTIsInHashList(this, toFind); }
inline OTLink* OTHashList::FindLink(OTHashSearchProcPtr proc, const void* refPtr, UInt32 hash)
- {
- return OTFindInHashList(this, proc, refPtr, hash);
- }
-#endif
+ { return OTFindInHashList(this, proc, refPtr, hash); }
+ #endif
#endif
- /* Random functions*/
+/* Random functions*/
- /*
- These implement a very simple random number generator, suitable
- for protocol implementations but not "cryptographically" random.
- */
+/*
+ These implement a very simple random number generator, suitable
+ for protocol implementations but not "cryptographically" random.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OTGetRandomSeed()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- OTGetRandomSeed(void);
-
-
- /*
- * OTGetRandomNumber()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(UInt32)
- OTGetRandomNumber(
- UInt32 * seed,
- UInt32 lo,
- UInt32 hi);
-
-
- /* Concurrency Control*/
-
- /*
- OTGate implements a cool concurrency control primitive.
- You're not going to understand it without reading the documentation!
- See "Open Transport Advanced Client Programming" for details.
- WARNING:
- This structure must be on a 4-byte boundary.
- */
+/*
+ * OTGetRandomSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+OTGetRandomSeed(void);
+
+
+/*
+ * OTGetRandomNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( UInt32 )
+OTGetRandomNumber(
+ UInt32 * seed,
+ UInt32 lo,
+ UInt32 hi);
+
+
+/* Concurrency Control*/
+
+/*
+ OTGate implements a cool concurrency control primitive.
+ You're not going to understand it without reading the documentation!
+ See "Open Transport Advanced Client Programming" for details.
+ WARNING:
+ This structure must be on a 4-byte boundary.
+*/
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(Boolean , OTGateProcPtr)(OTLink * thisLink);
- struct OTGate
- {
- OTLIFO fLIFO;
- OTList fList;
- OTGateProcPtr fProc;
- SInt32 fNumQueued;
- SInt32 fInside;
- };
- typedef struct OTGate OTGate;
+typedef CALLBACK_API_C( Boolean , OTGateProcPtr )(OTLink * thisLink);
+struct OTGate {
+ OTLIFO fLIFO;
+ OTList fList;
+ OTGateProcPtr fProc;
+ SInt32 fNumQueued;
+ SInt32 fInside;
+};
+typedef struct OTGate OTGate;
#if CALL_NOT_IN_CARBON
- /*
- * OTInitGate()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTInitGate(
- OTGate * gate,
- OTGateProcPtr proc);
-
-
- /*
- * OTEnterGate()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTEnterGate(
- OTGate * gate,
- OTLink * withLink);
-
-
- /*
- * OTLeaveGate()
- *
- * Availability:
- * Non-Carbon CFM: in OTUtilityLib 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- OTLeaveGate(OTGate * gate);
-
-
- /* ***** Shared Library Bonus Extras ******/
+/*
+ * OTInitGate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTInitGate(
+ OTGate * gate,
+ OTGateProcPtr proc);
+
+
+/*
+ * OTEnterGate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTEnterGate(
+ OTGate * gate,
+ OTLink * withLink);
+
+
+/*
+ * OTLeaveGate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in OTUtilityLib 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+OTLeaveGate(OTGate * gate);
+
+
+/* ***** Shared Library Bonus Extras ******/
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- These routines provide addition shared library support beyond
- that provided by the base shared library mechanism.
- */
- /*
- Some flags which can be passed to the "loadFlags" parameter of the
- various CFM routines. Not all flags can be used with all routines.
- See "Open Transport Advanced Client Programming" for details.
- */
-
- enum
- {
- kOTGetDataSymbol = 0,
- kOTGetCodeSymbol = 1,
- kOTLoadNewCopy = 2,
- kOTLoadACopy = 4,
- kOTFindACopy = 8,
- kOTLibMask = kOTLoadNewCopy | kOTLoadACopy | kOTFindACopy,
- kOTLoadLibResident = 0x20
- };
+/*
+ These routines provide addition shared library support beyond
+ that provided by the base shared library mechanism.
+*/
+/*
+ Some flags which can be passed to the "loadFlags" parameter of the
+ various CFM routines. Not all flags can be used with all routines.
+ See "Open Transport Advanced Client Programming" for details.
+*/
- /* Finding all matching CFM libraries.*/
+enum {
+ kOTGetDataSymbol = 0,
+ kOTGetCodeSymbol = 1,
+ kOTLoadNewCopy = 2,
+ kOTLoadACopy = 4,
+ kOTFindACopy = 8,
+ kOTLibMask = kOTLoadNewCopy | kOTLoadACopy | kOTFindACopy,
+ kOTLoadLibResident = 0x20
+};
- /*
- The routine OTFindCFMLibraries allows you to find all CFM libraries
- that match specific criteria. The result is placed in a list
- of CFMLibraryInfo structures. OT allocates those structures using
- a routine of type OTAllocMemProcPtr that you pass to OTFindCFMLibraries.
- */
+/* Finding all matching CFM libraries.*/
- /*
- A list of CFMLibraryInfo structures is returned by the OTFindCFMLibraries routine.
- The list is created out of the data that is passed to the function.
+/*
+ The routine OTFindCFMLibraries allows you to find all CFM libraries
+ that match specific criteria. The result is placed in a list
+ of CFMLibraryInfo structures. OT allocates those structures using
+ a routine of type OTAllocMemProcPtr that you pass to OTFindCFMLibraries.
+*/
- IMPORTANT:
- Only the first 3 fields are valid when using OT 1.2 and older.
- */
+/*
+ A list of CFMLibraryInfo structures is returned by the OTFindCFMLibraries routine.
+ The list is created out of the data that is passed to the function.
+
+ IMPORTANT:
+ Only the first 3 fields are valid when using OT 1.2 and older.
+*/
- struct CFMLibraryInfo
- {
- OTLink link; /* To link them all up on a list */
- char * libName; /* "C" String which is fragment name */
- StringPtr intlName; /* Pascal String which is internationalized name */
- FSSpec * fileSpec; /* location of fragment's file */
- StringPtr pstring2; /* Secondary string from extended cfrg */
- StringPtr pstring3; /* Extra info from extended cfrg */
- };
- typedef struct CFMLibraryInfo CFMLibraryInfo;
- /*
- You must pass a routine of type OTAllocMemProcPtr to OTFindCFMLibraries
- which it calls to allocate memory for the CFMLibraryInfo structures.
- */
- typedef CALLBACK_API_C(void *, OTAllocMemProcPtr)(OTByteCount size);
- /* Find CFM libraries of the specified kind and type*/
+struct CFMLibraryInfo {
+ OTLink link; /* To link them all up on a list */
+ char * libName; /* "C" String which is fragment name */
+ StringPtr intlName; /* Pascal String which is internationalized name */
+ FSSpec * fileSpec; /* location of fragment's file */
+ StringPtr pstring2; /* Secondary string from extended cfrg */
+ StringPtr pstring3; /* Extra info from extended cfrg */
+};
+typedef struct CFMLibraryInfo CFMLibraryInfo;
+/*
+ You must pass a routine of type OTAllocMemProcPtr to OTFindCFMLibraries
+ which it calls to allocate memory for the CFMLibraryInfo structures.
+*/
+typedef CALLBACK_API_C( void *, OTAllocMemProcPtr )(OTByteCount size);
+/* Find CFM libraries of the specified kind and type*/
#if CALL_NOT_IN_CARBON
- /*
- * OTFindCFMLibraries()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTFindCFMLibraries(
- OSType libKind,
- const char * libType,
- OTList * theList,
- OTAllocMemProcPtr allocator);
-
-
- /* Loading libraries and connecting to symbols.*/
-
- /* Load a CFM library by name*/
- /*
- * OTLoadCFMLibrary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTLoadCFMLibrary(
- const char * libName,
- UInt32 * connID,
- UInt32 loadFlags);
-
-
- /* Load a CFM library and get a named pointer from it*/
- /*
- * OTGetCFMPointer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- OTGetCFMPointer(
- const char * libName,
- const char * entryName,
- UInt32 * connID,
- UInt32 loadFlags);
-
-
- /* Get a named pointer from a CFM library that's already loaded*/
- /*
- * OTGetCFMSymbol()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- OTGetCFMSymbol(
- const char * entryName,
- UInt32 connID,
- UInt32 loadFlags);
-
-
- /* Release a connection to a CFM library*/
- /*
- * OTReleaseCFMConnection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTReleaseCFMConnection(UInt32 * connID);
+/*
+ * OTFindCFMLibraries()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTFindCFMLibraries(
+ OSType libKind,
+ const char * libType,
+ OTList * theList,
+ OTAllocMemProcPtr allocator);
+
+
+/* Loading libraries and connecting to symbols.*/
+
+/* Load a CFM library by name*/
+/*
+ * OTLoadCFMLibrary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTLoadCFMLibrary(
+ const char * libName,
+ UInt32 * connID,
+ UInt32 loadFlags);
+
+
+/* Load a CFM library and get a named pointer from it*/
+/*
+ * OTGetCFMPointer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+OTGetCFMPointer(
+ const char * libName,
+ const char * entryName,
+ UInt32 * connID,
+ UInt32 loadFlags);
+
+
+/* Get a named pointer from a CFM library that's already loaded*/
+/*
+ * OTGetCFMSymbol()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+OTGetCFMSymbol(
+ const char * entryName,
+ UInt32 connID,
+ UInt32 loadFlags);
+
+
+/* Release a connection to a CFM library*/
+/*
+ * OTReleaseCFMConnection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTReleaseCFMConnection(UInt32 * connID);
#endif /* CALL_NOT_IN_CARBON */
#if !TARGET_CPU_68K
- /*
- You can call these routines in your CFM initialisation and termination
- routines to hold or unhold your libraries sections.
- */
- /*
- Used in a CFM InitProc, will hold the executable code, if applicable.
- This can also be the InitProc of the library
- */
+/*
+ You can call these routines in your CFM initialisation and termination
+ routines to hold or unhold your libraries sections.
+*/
+/*
+ Used in a CFM InitProc, will hold the executable code, if applicable.
+ This can also be the InitProc of the library
+*/
#if CALL_NOT_IN_CARBON
- /*
- * OTHoldThisCFMLibrary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTHoldThisCFMLibrary(const CFragInitBlock * initBlock);
-
-
- /*
- Used in a CFM terminate proc, will unhold the executable code, if applicable.
- This can also be the terminate proc of the library
- */
- /*
- * OTUnholdThisCFMLibrary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTUnholdThisCFMLibrary(void);
+/*
+ * OTHoldThisCFMLibrary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTHoldThisCFMLibrary(const CFragInitBlock * initBlock);
+
+
+/*
+ Used in a CFM terminate proc, will unhold the executable code, if applicable.
+ This can also be the terminate proc of the library
+*/
+/*
+ * OTUnholdThisCFMLibrary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTUnholdThisCFMLibrary(void);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !TARGET_CPU_68K */
- /* ASLM Utilities*/
- /* Load an ASLM library*/
+/* ASLM Utilities*/
+/* Load an ASLM library*/
#if CALL_NOT_IN_CARBON
- /*
- * OTLoadASLMLibrary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- OTLoadASLMLibrary(const char * libName);
-
-
- /* Unload an ASLM library*/
- /*
- * OTUnloadASLMLibrary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- OTUnloadASLMLibrary(const char * libName);
-
-
- /*
- This is an ASLM utility routine. You can get it by including
- "LibraryManagerUtilities.h", but since we only use a few ASLM utilities,
- we put the prototype here for convenience.
- */
-
- /*
- * UnloadUnusedLibraries()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- UnloadUnusedLibraries(void);
+/*
+ * OTLoadASLMLibrary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+OTLoadASLMLibrary(const char * libName);
+
+
+/* Unload an ASLM library*/
+/*
+ * OTUnloadASLMLibrary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+OTUnloadASLMLibrary(const char * libName);
+
+
+/*
+ This is an ASLM utility routine. You can get it by including
+ "LibraryManagerUtilities.h", but since we only use a few ASLM utilities,
+ we put the prototype here for convenience.
+*/
+
+/*
+ * UnloadUnusedLibraries()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+UnloadUnusedLibraries(void);
#endif /* CALL_NOT_IN_CARBON */
#if !OTKERNEL
- /*******************************************************************************
- ** A few C++ objects for C++ fans
- ********************************************************************************/
+/*******************************************************************************
+** A few C++ objects for C++ fans
+********************************************************************************/
#if CALL_NOT_IN_CARBON
#ifdef __cplusplus
} // Terminate C definitions
-class OTConfiguration
-{
-public:
- OTConfigurationRef Clone()
- {
- return OTCfigCloneConfiguration(this);
- }
- //
- // The Path for PushChild and PushParent must be a single module
- //
- OTConfigurationRef PushChild(const char* path, OSStatus* errPtr)
- {
- return OTCfigPushNewSingleChild(this, path, errPtr);
- }
- OTConfigurationRef PushParent(const char* path, OSStatus* errPtr)
- {
- return OTCfigPushParent(this, path, errPtr);
- }
- OTConfigurationRef PushNthChild(OTItemCount index, const char* path,
- OSStatus* errPtr)
- {
- return OTCfigPushChild(this, index, path, errPtr);
- }
- OSStatus PopChild(OTItemCount index)
- {
- return OTCfigPopChild(this, index);
- }
-
- OTConfigurationRef GetChild(OTItemCount index = 0)
- {
- return OTCfigGetChild(this, index);
- }
- OTConfigurationRef GetParent()
- {
- return OTCfigGetParent(this);
- }
-
- OSStatus AddChild(OTConfigurationRef child)
- {
- return OTCfigAddChild(this, child);
- }
-
- OTConfigurationRef NewChild(const char* path, OSStatus* errPtr)
- {
- return OTCfigNewChild(this, path, errPtr);
- }
-
- OSStatus SetPath(const char* path)
- {
- return OTCfigSetPath(this, path);
- }
-
- Boolean HasOptions()
- {
- return OTCfigGetOptionNetbuf(this)->len != 0;
- }
-};
+ class OTConfiguration
+ {
+ public:
+ OTConfigurationRef Clone()
+ { return OTCfigCloneConfiguration(this); }
+ //
+ // The Path for PushChild and PushParent must be a single module
+ //
+ OTConfigurationRef PushChild(const char* path, OSStatus* errPtr)
+ { return OTCfigPushNewSingleChild(this, path, errPtr); }
+ OTConfigurationRef PushParent(const char* path, OSStatus* errPtr)
+ { return OTCfigPushParent(this, path, errPtr); }
+ OTConfigurationRef PushNthChild(OTItemCount index, const char* path,
+ OSStatus* errPtr)
+ { return OTCfigPushChild(this, index, path, errPtr); }
+ OSStatus PopChild(OTItemCount index)
+ { return OTCfigPopChild(this, index); }
+
+ OTConfigurationRef GetChild(OTItemCount index = 0)
+ { return OTCfigGetChild(this, index); }
+ OTConfigurationRef GetParent()
+ { return OTCfigGetParent(this); }
+
+ OSStatus AddChild(OTConfigurationRef child)
+ { return OTCfigAddChild(this, child); }
+
+ OTConfigurationRef NewChild(const char* path, OSStatus* errPtr)
+ { return OTCfigNewChild(this, path, errPtr); }
+
+ OSStatus SetPath(const char* path)
+ { return OTCfigSetPath(this, path); }
+
+ Boolean HasOptions()
+ { return OTCfigGetOptionNetbuf(this)->len != 0; }
+ };
/* -------------------------------------------------------------------------
Class TOTConfigurator
This class is subclassed to do configuration for a protocol or protocol stack.
Of course, you can also use OTNewConfigurator to do it from C.
-
+
If you subclass it using C++, you MUST have a UInt32 field as the first
field of your object that you do not touch or use.
------------------------------------------------------------------------- */
#if TARGET_CPU_68K && !defined(__SC__) && !defined(THINK_CPLUS)
-class TOTConfigurator : public SingleObject
+ class TOTConfigurator : public SingleObject
#else
-class TOTConfigurator
-#endif
-{
-#if defined(__SC__) || defined(THINK_CPLUS) || defined(__MRC__)
-private:
- virtual void DummyVirtualFunction();
+ class TOTConfigurator
#endif
-
-public:
- void* operator new(size_t size)
- {
- return OTAllocSharedClientMem((OTByteCount)size);
- }
- void operator delete(void* mem)
{
- OTFreeSharedClientMem(mem);
+ #if defined(__SC__) || defined(THINK_CPLUS) || defined(__MRC__)
+ private:
+ virtual void DummyVirtualFunction();
+ #endif
+
+ public:
+ void* operator new(size_t size)
+ { return OTAllocSharedClientMem((OTByteCount)size); }
+ void operator delete(void* mem)
+ { OTFreeSharedClientMem(mem); };
+
+ _MDECL TOTConfigurator();
+ virtual ~ _MDECL TOTConfigurator();
+
+ virtual void _MDECL HandleSystemEvent(OTEventCode event, OTResult result,
+ void* cookie) = 0;
+
+ virtual OSStatus _MDECL Configure(OTConfigurationRef) = 0;
+ virtual OSStatus _MDECL CreateStream(OTConfigurationRef, OTOpenFlags,
+ OTNotifyUPP, void* contextPtr) = 0;
};
- _MDECL TOTConfigurator();
- virtual ~ _MDECL TOTConfigurator();
-
- virtual void _MDECL HandleSystemEvent(OTEventCode event, OTResult result,
- void* cookie) = 0;
-
- virtual OSStatus _MDECL Configure(OTConfigurationRef) = 0;
- virtual OSStatus _MDECL CreateStream(OTConfigurationRef, OTOpenFlags,
- OTNotifyUPP, void* contextPtr) = 0;
-};
-
extern "C" { // resume C definitions
#endif /*__cplusplus*/
@@ -5516,16 +5215,16 @@ extern "C" { // resume C definitions
#endif /* CALL_NOT_IN_CARBON */
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma pop
+ #pragma pop
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/OpenTransportProviders.h b/include/qt/OpenTransportProviders.h
index 96377c631..c7e581e23 100644
--- a/include/qt/OpenTransportProviders.h
+++ b/include/qt/OpenTransportProviders.h
@@ -1,17 +1,17 @@
/*
File: OpenTransportProviders.h
-
+
Contains: This file contains provider-specific definitions for various built-in providers.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc. and Mentat Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __OPENTRANSPORTPROVIDERS__
#define __OPENTRANSPORTPROVIDERS__
@@ -36,63 +36,61 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma push
-#pragma pointers_in_D0
+ #pragma push
+ #pragma pointers_in_D0
#endif
- /* ***** TCP/IP ******/
+/* ***** TCP/IP ******/
- /* Basic types*/
+/* Basic types*/
- typedef UInt16 InetPort;
- typedef UInt32 InetHost;
- /* Enums used as address type designations.*/
+typedef UInt16 InetPort;
+typedef UInt32 InetHost;
+/* Enums used as address type designations.*/
#define AF_INET 2
- enum
- {
- AF_DNS = 42
- };
+enum {
+ AF_DNS = 42
+};
- /*
- Enum which can be used to bind to all IP interfaces
- rather than a specific one.
- */
+/*
+ Enum which can be used to bind to all IP interfaces
+ rather than a specific one.
+*/
- enum
- {
- kOTAnyInetAddress = 0 /* Wildcard*/
- };
+enum {
+ kOTAnyInetAddress = 0 /* Wildcard*/
+};
- /*
- Define the InetSvcRef type. This type needs special
- processing because in C++ it's a subclass of TProvider.
- See the definition of TEndpointRef in "OpenTransport.h"
- for the logic behind this definition.
- */
+/*
+ Define the InetSvcRef type. This type needs special
+ processing because in C++ it's a subclass of TProvider.
+ See the definition of TEndpointRef in "OpenTransport.h"
+ for the logic behind this definition.
+*/
#ifdef __cplusplus
- typedef class TInternetServices* InetSvcRef;
+ typedef class TInternetServices* InetSvcRef;
#else
- typedef void* InetSvcRef;
+ typedef void* InetSvcRef;
#endif
#define kDefaultInternetServicesPath ((OTConfigurationRef)-3L)
- /* Shared library prefixes*/
+/* Shared library prefixes*/
#define kInetVersion "3.1.1"
#define kInetPrefix "ot:inet$"
- /* Module Names*/
+/* Module Names*/
#define kDNRName "dnr"
@@ -100,522 +98,499 @@ extern "C" {
#define kUDPName "udp"
#define kRawIPName "rawip"
- /* XTI Options*/
-
- /* Protocol levels*/
-
- enum
- {
- INET_IP = 0x00,
- INET_TCP = 0x06,
- INET_UDP = 0x11
- };
-
- /* TCP Level Options*/
-
- enum
- {
- TCP_NODELAY = 0x01,
- TCP_MAXSEG = 0x02,
- TCP_NOTIFY_THRESHOLD = 0x10, /** not a real XTI option */
- TCP_ABORT_THRESHOLD = 0x11, /** not a real XTI option */
- TCP_CONN_NOTIFY_THRESHOLD = 0x12, /** not a real XTI option */
- TCP_CONN_ABORT_THRESHOLD = 0x13, /** not a real XTI option */
- TCP_OOBINLINE = 0x14, /** not a real XTI option */
- TCP_URGENT_PTR_TYPE = 0x15, /** not a real XTI option */
- TCP_KEEPALIVE = 0x0008 /* keepalive defined in OpenTransport.h */
- };
-
- enum
- {
- T_GARBAGE = 2
- };
-
- /* UDP Level Options*/
-
- enum
- {
- UDP_CHECKSUM = 0x0600,
- UDP_RX_ICMP = 0x02
- };
-
- /* IP Level Options*/
- enum
- {
- kIP_OPTIONS = 0x01,
- kIP_TOS = 0x02,
- kIP_TTL = 0x03,
- kIP_REUSEADDR = 0x04,
- kIP_DONTROUTE = 0x10,
- kIP_BROADCAST = 0x20,
- kIP_REUSEPORT = 0x0200,
- kIP_HDRINCL = 0x1002,
- kIP_RCVOPTS = 0x1005,
- kIP_RCVDSTADDR = 0x1007,
- kIP_MULTICAST_IF = 0x1010, /* set/get IP multicast interface */
- kIP_MULTICAST_TTL = 0x1011, /* set/get IP multicast timetolive */
- kIP_MULTICAST_LOOP = 0x1012, /* set/get IP multicast loopback */
- kIP_ADD_MEMBERSHIP = 0x1013, /* add an IP group membership */
- kIP_DROP_MEMBERSHIP = 0x1014, /* drop an IP group membership */
- kIP_BROADCAST_IFNAME = 0x1015, /* Set interface for broadcasts */
- kIP_RCVIFADDR = 0x1016 /* Set interface for broadcasts */
- };
-
- enum
- {
- IP_OPTIONS = kIP_OPTIONS,
- IP_TOS = kIP_TOS,
- IP_TTL = kIP_TTL,
- IP_REUSEADDR = kIP_REUSEADDR,
- IP_DONTROUTE = kIP_DONTROUTE,
- IP_BROADCAST = kIP_BROADCAST,
- IP_REUSEPORT = kIP_REUSEPORT,
- IP_HDRINCL = kIP_HDRINCL,
- IP_RCVOPTS = kIP_RCVOPTS,
- IP_RCVDSTADDR = kIP_RCVDSTADDR,
- IP_MULTICAST_IF = kIP_MULTICAST_IF, /* set/get IP multicast interface */
- IP_MULTICAST_TTL = kIP_MULTICAST_TTL, /* set/get IP multicast timetolive */
- IP_MULTICAST_LOOP = kIP_MULTICAST_LOOP, /* set/get IP multicast loopback */
- IP_ADD_MEMBERSHIP = kIP_ADD_MEMBERSHIP, /* add an IP group membership */
- IP_DROP_MEMBERSHIP = kIP_DROP_MEMBERSHIP, /* drop an IP group membership */
- IP_BROADCAST_IFNAME = kIP_BROADCAST_IFNAME, /* Set interface for broadcasts */
- IP_RCVIFADDR = kIP_RCVIFADDR /* Set interface for broadcasts */
- };
-
- enum
- {
- DVMRP_INIT = 100, /* DVMRP-specific setsockopt commands, from ip_mroute.h*/
- DVMRP_DONE = 101,
- DVMRP_ADD_VIF = 102,
- DVMRP_DEL_VIF = 103,
- DVMRP_ADD_LGRP = 104,
- DVMRP_DEL_LGRP = 105,
- DVMRP_ADD_MRT = 106,
- DVMRP_DEL_MRT = 107
- };
-
-
- /* IP_TOS precdence levels*/
-
- enum
- {
- T_ROUTINE = 0,
- T_PRIORITY = 1,
- T_IMMEDIATE = 2,
- T_FLASH = 3,
- T_OVERRIDEFLASH = 4,
- T_CRITIC_ECP = 5,
- T_INETCONTROL = 6,
- T_NETCONTROL = 7
- };
-
- /* IP_TOS type of service*/
-
- enum
- {
- T_NOTOS = 0x00,
- T_LDELAY = (1 << 4),
- T_HITHRPT = (1 << 3),
- T_HIREL = (1 << 2)
- };
+/* XTI Options*/
+
+/* Protocol levels*/
+
+enum {
+ INET_IP = 0x00,
+ INET_TCP = 0x06,
+ INET_UDP = 0x11
+};
+
+/* TCP Level Options*/
+
+enum {
+ TCP_NODELAY = 0x01,
+ TCP_MAXSEG = 0x02,
+ TCP_NOTIFY_THRESHOLD = 0x10, /** not a real XTI option */
+ TCP_ABORT_THRESHOLD = 0x11, /** not a real XTI option */
+ TCP_CONN_NOTIFY_THRESHOLD = 0x12, /** not a real XTI option */
+ TCP_CONN_ABORT_THRESHOLD = 0x13, /** not a real XTI option */
+ TCP_OOBINLINE = 0x14, /** not a real XTI option */
+ TCP_URGENT_PTR_TYPE = 0x15, /** not a real XTI option */
+ TCP_KEEPALIVE = 0x0008 /* keepalive defined in OpenTransport.h */
+};
+
+enum {
+ T_GARBAGE = 2
+};
+
+/* UDP Level Options*/
+
+enum {
+ UDP_CHECKSUM = 0x0600,
+ UDP_RX_ICMP = 0x02
+};
+
+/* IP Level Options*/
+enum {
+ kIP_OPTIONS = 0x01,
+ kIP_TOS = 0x02,
+ kIP_TTL = 0x03,
+ kIP_REUSEADDR = 0x04,
+ kIP_DONTROUTE = 0x10,
+ kIP_BROADCAST = 0x20,
+ kIP_REUSEPORT = 0x0200,
+ kIP_HDRINCL = 0x1002,
+ kIP_RCVOPTS = 0x1005,
+ kIP_RCVDSTADDR = 0x1007,
+ kIP_MULTICAST_IF = 0x1010, /* set/get IP multicast interface */
+ kIP_MULTICAST_TTL = 0x1011, /* set/get IP multicast timetolive */
+ kIP_MULTICAST_LOOP = 0x1012, /* set/get IP multicast loopback */
+ kIP_ADD_MEMBERSHIP = 0x1013, /* add an IP group membership */
+ kIP_DROP_MEMBERSHIP = 0x1014, /* drop an IP group membership */
+ kIP_BROADCAST_IFNAME = 0x1015, /* Set interface for broadcasts */
+ kIP_RCVIFADDR = 0x1016 /* Set interface for broadcasts */
+};
+
+enum {
+ IP_OPTIONS = kIP_OPTIONS,
+ IP_TOS = kIP_TOS,
+ IP_TTL = kIP_TTL,
+ IP_REUSEADDR = kIP_REUSEADDR,
+ IP_DONTROUTE = kIP_DONTROUTE,
+ IP_BROADCAST = kIP_BROADCAST,
+ IP_REUSEPORT = kIP_REUSEPORT,
+ IP_HDRINCL = kIP_HDRINCL,
+ IP_RCVOPTS = kIP_RCVOPTS,
+ IP_RCVDSTADDR = kIP_RCVDSTADDR,
+ IP_MULTICAST_IF = kIP_MULTICAST_IF, /* set/get IP multicast interface */
+ IP_MULTICAST_TTL = kIP_MULTICAST_TTL, /* set/get IP multicast timetolive */
+ IP_MULTICAST_LOOP = kIP_MULTICAST_LOOP, /* set/get IP multicast loopback */
+ IP_ADD_MEMBERSHIP = kIP_ADD_MEMBERSHIP, /* add an IP group membership */
+ IP_DROP_MEMBERSHIP = kIP_DROP_MEMBERSHIP, /* drop an IP group membership */
+ IP_BROADCAST_IFNAME = kIP_BROADCAST_IFNAME, /* Set interface for broadcasts */
+ IP_RCVIFADDR = kIP_RCVIFADDR /* Set interface for broadcasts */
+};
+
+enum {
+ DVMRP_INIT = 100, /* DVMRP-specific setsockopt commands, from ip_mroute.h*/
+ DVMRP_DONE = 101,
+ DVMRP_ADD_VIF = 102,
+ DVMRP_DEL_VIF = 103,
+ DVMRP_ADD_LGRP = 104,
+ DVMRP_DEL_LGRP = 105,
+ DVMRP_ADD_MRT = 106,
+ DVMRP_DEL_MRT = 107
+};
+
+
+/* IP_TOS precdence levels*/
+
+enum {
+ T_ROUTINE = 0,
+ T_PRIORITY = 1,
+ T_IMMEDIATE = 2,
+ T_FLASH = 3,
+ T_OVERRIDEFLASH = 4,
+ T_CRITIC_ECP = 5,
+ T_INETCONTROL = 6,
+ T_NETCONTROL = 7
+};
+
+/* IP_TOS type of service*/
+
+enum {
+ T_NOTOS = 0x00,
+ T_LDELAY = (1 << 4),
+ T_HITHRPT = (1 << 3),
+ T_HIREL = (1 << 2)
+};
#define SET_TOS(prec,tos) (((0x7 & (prec)) << 5) | (0x1c & (tos)))
- /* IP Multicast option structures*/
-
- struct TIPAddMulticast
- {
- InetHost multicastGroupAddress;
- InetHost interfaceAddress;
- };
- typedef struct TIPAddMulticast TIPAddMulticast;
- /* Protocol-specific events*/
- enum
- {
- T_DNRSTRINGTOADDRCOMPLETE = kPRIVATEEVENT + 1,
- T_DNRADDRTONAMECOMPLETE = kPRIVATEEVENT + 2,
- T_DNRSYSINFOCOMPLETE = kPRIVATEEVENT + 3,
- T_DNRMAILEXCHANGECOMPLETE = kPRIVATEEVENT + 4,
- T_DNRQUERYCOMPLETE = kPRIVATEEVENT + 5
- };
-
- /* InetAddress*/
-
- struct InetAddress
- {
- OTAddressType fAddressType; /* always AF_INET*/
- InetPort fPort; /* Port number */
- InetHost fHost; /* Host address in net byte order*/
- UInt8 fUnused[8]; /* Traditional unused bytes*/
- };
- typedef struct InetAddress InetAddress;
- /* Domain Name Resolver (DNR) */
- enum
- {
- kMaxHostAddrs = 10,
- kMaxSysStringLen = 32,
- kMaxHostNameLen = 255
- };
-
-
- typedef char InetDomainName[256];
- struct InetHostInfo
- {
- InetDomainName name;
- InetHost addrs[10];
- };
- typedef struct InetHostInfo InetHostInfo;
- struct InetSysInfo
- {
- char cpuType[32];
- char osType[32];
- };
- typedef struct InetSysInfo InetSysInfo;
- struct InetMailExchange
- {
- UInt16 preference;
- InetDomainName exchange;
- };
- typedef struct InetMailExchange InetMailExchange;
- struct DNSQueryInfo
- {
- UInt16 qType;
- UInt16 qClass;
- UInt32 ttl;
- InetDomainName name;
- UInt16 responseType; /* answer, authority, or additional*/
- UInt16 resourceLen; /* actual length of array which follows*/
- char resourceData[4]; /* size varies*/
- };
- typedef struct DNSQueryInfo DNSQueryInfo;
- /* DNSAddress*/
- /*
- The DNSAddress format is optional and may be used in connects,
- datagram sends, and resolve address calls. The name takes the
- format "somewhere.com" or "somewhere.com:portnumber" where
- the ":portnumber" is optional. The length of this structure
- is arbitrarily limited to the overall max length of a domain
- name (255 chars), although a longer one can be use successfully
- if you use this as a template for doing so. However, the domain name
- is still limited to 255 characters.
- */
-
- struct DNSAddress
- {
- OTAddressType fAddressType; /* always AF_DNS*/
- InetDomainName fName;
- };
- typedef struct DNSAddress DNSAddress;
- /* InetInterfaceInfo*/
- enum
- {
- kDefaultInetInterface = -1
- };
-
- enum
- {
- kInetInterfaceInfoVersion = 3
- };
-
- struct InetInterfaceInfo
- {
- InetHost fAddress;
- InetHost fNetmask;
- InetHost fBroadcastAddr;
- InetHost fDefaultGatewayAddr;
- InetHost fDNSAddr;
- UInt16 fVersion;
- UInt16 fHWAddrLen;
- UInt8 * fHWAddr;
- UInt32 fIfMTU;
- UInt8 * fReservedPtrs[2];
- InetDomainName fDomainName;
- UInt32 fIPSecondaryCount;
- UInt8 fReserved[252];
- };
- typedef struct InetInterfaceInfo InetInterfaceInfo;
- /* InetDHCPOption*/
- enum
- {
- kAllDHCPOptions = -1,
- kDHCPLongOption = 126,
- kDHCPLongOptionReq = 127
- };
-
- struct InetDHCPOption
- {
- UInt8 fOptionTag;
- UInt8 fOptionLen;
- UInt8 fOptionValue;
- };
- typedef struct InetDHCPOption InetDHCPOption;
- /* TCP/IP Utility Routines*/
-
- /*
- * OTInitInetAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTInitInetAddress(
- InetAddress * addr,
- InetPort port,
- InetHost host);
-
-
- /*
- * OTInitDNSAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTByteCount)
- OTInitDNSAddress(
- DNSAddress * addr,
- char * str);
-
-
- /*
- * OTInetStringToHost()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInetStringToHost(
- const char * str,
- InetHost * host);
-
-
- /*
- * OTInetHostToString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTInetHostToString(
- InetHost host,
- char * str);
-
-
- /*
- * OTInetGetInterfaceInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInetGetInterfaceInfo(
- InetInterfaceInfo * info,
- SInt32 val);
-
-
- /*
- * OTInetGetSecondaryAddresses()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInetGetSecondaryAddresses(
- InetHost * addr,
- UInt32 * count,
- SInt32 val);
+/* IP Multicast option structures*/
+
+struct TIPAddMulticast {
+ InetHost multicastGroupAddress;
+ InetHost interfaceAddress;
+};
+typedef struct TIPAddMulticast TIPAddMulticast;
+/* Protocol-specific events*/
+enum {
+ T_DNRSTRINGTOADDRCOMPLETE = kPRIVATEEVENT + 1,
+ T_DNRADDRTONAMECOMPLETE = kPRIVATEEVENT + 2,
+ T_DNRSYSINFOCOMPLETE = kPRIVATEEVENT + 3,
+ T_DNRMAILEXCHANGECOMPLETE = kPRIVATEEVENT + 4,
+ T_DNRQUERYCOMPLETE = kPRIVATEEVENT + 5
+};
+
+/* InetAddress*/
+
+struct InetAddress {
+ OTAddressType fAddressType; /* always AF_INET*/
+ InetPort fPort; /* Port number */
+ InetHost fHost; /* Host address in net byte order*/
+ UInt8 fUnused[8]; /* Traditional unused bytes*/
+};
+typedef struct InetAddress InetAddress;
+/* Domain Name Resolver (DNR) */
+enum {
+ kMaxHostAddrs = 10,
+ kMaxSysStringLen = 32,
+ kMaxHostNameLen = 255
+};
+
+
+typedef char InetDomainName[256];
+struct InetHostInfo {
+ InetDomainName name;
+ InetHost addrs[10];
+};
+typedef struct InetHostInfo InetHostInfo;
+struct InetSysInfo {
+ char cpuType[32];
+ char osType[32];
+};
+typedef struct InetSysInfo InetSysInfo;
+struct InetMailExchange {
+ UInt16 preference;
+ InetDomainName exchange;
+};
+typedef struct InetMailExchange InetMailExchange;
+struct DNSQueryInfo {
+ UInt16 qType;
+ UInt16 qClass;
+ UInt32 ttl;
+ InetDomainName name;
+ UInt16 responseType; /* answer, authority, or additional*/
+ UInt16 resourceLen; /* actual length of array which follows*/
+ char resourceData[4]; /* size varies*/
+};
+typedef struct DNSQueryInfo DNSQueryInfo;
+/* DNSAddress*/
+/*
+ The DNSAddress format is optional and may be used in connects,
+ datagram sends, and resolve address calls. The name takes the
+ format "somewhere.com" or "somewhere.com:portnumber" where
+ the ":portnumber" is optional. The length of this structure
+ is arbitrarily limited to the overall max length of a domain
+ name (255 chars), although a longer one can be use successfully
+ if you use this as a template for doing so. However, the domain name
+ is still limited to 255 characters.
+*/
+
+struct DNSAddress {
+ OTAddressType fAddressType; /* always AF_DNS*/
+ InetDomainName fName;
+};
+typedef struct DNSAddress DNSAddress;
+/* InetInterfaceInfo*/
+enum {
+ kDefaultInetInterface = -1
+};
+
+enum {
+ kInetInterfaceInfoVersion = 3
+};
+
+struct InetInterfaceInfo {
+ InetHost fAddress;
+ InetHost fNetmask;
+ InetHost fBroadcastAddr;
+ InetHost fDefaultGatewayAddr;
+ InetHost fDNSAddr;
+ UInt16 fVersion;
+ UInt16 fHWAddrLen;
+ UInt8 * fHWAddr;
+ UInt32 fIfMTU;
+ UInt8 * fReservedPtrs[2];
+ InetDomainName fDomainName;
+ UInt32 fIPSecondaryCount;
+ UInt8 fReserved[252];
+};
+typedef struct InetInterfaceInfo InetInterfaceInfo;
+/* InetDHCPOption*/
+enum {
+ kAllDHCPOptions = -1,
+ kDHCPLongOption = 126,
+ kDHCPLongOptionReq = 127
+};
+
+struct InetDHCPOption {
+ UInt8 fOptionTag;
+ UInt8 fOptionLen;
+ UInt8 fOptionValue;
+};
+typedef struct InetDHCPOption InetDHCPOption;
+/* TCP/IP Utility Routines*/
+
+/*
+ * OTInitInetAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTInitInetAddress(
+ InetAddress * addr,
+ InetPort port,
+ InetHost host);
+
+
+/*
+ * OTInitDNSAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTByteCount )
+OTInitDNSAddress(
+ DNSAddress * addr,
+ char * str);
+
+
+/*
+ * OTInetStringToHost()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInetStringToHost(
+ const char * str,
+ InetHost * host);
+
+
+/*
+ * OTInetHostToString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTInetHostToString(
+ InetHost host,
+ char * str);
+
+
+/*
+ * OTInetGetInterfaceInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInetGetInterfaceInfo(
+ InetInterfaceInfo * info,
+ SInt32 val);
+
+
+/*
+ * OTInetGetSecondaryAddresses()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInetGetSecondaryAddresses(
+ InetHost * addr,
+ UInt32 * count,
+ SInt32 val);
#if CALL_NOT_IN_CARBON
- /*
- * OTInetGetDHCPConfigInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTInetGetDHCPConfigInfo(
- InetDHCPOption * buf,
- UInt32 bufSize,
- SInt32 index,
- SInt32 opt);
-
-
- /* InetServices & DNR Calls*/
+/*
+ * OTInetGetDHCPConfigInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTInetGetDHCPConfigInfo(
+ InetDHCPOption * buf,
+ UInt32 bufSize,
+ SInt32 index,
+ SInt32 opt);
+
+
+/* InetServices & DNR Calls*/
#endif /* CALL_NOT_IN_CARBON */
#if !OTKERNEL
- /*
- Under Carbon, OTOpenInternetServices routines take a client context pointer. Applications may pass NULL
- after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
- /*
- * OTOpenInternetServicesInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(InetSvcRef)
- OTOpenInternetServicesInContext(
- OTConfigurationRef cfig,
- OTOpenFlags oflag,
- OSStatus * err,
- OTClientContextPtr clientContext);
-
-
- /*
- * OTAsyncOpenInternetServicesInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenInternetServicesInContext(
- OTConfigurationRef cfig,
- OTOpenFlags oflag,
- OTNotifyUPP upp,
- void * contextPtr,
- OTClientContextPtr clientContext);
+/*
+ Under Carbon, OTOpenInternetServices routines take a client context pointer. Applications may pass NULL
+ after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
+/*
+ * OTOpenInternetServicesInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( InetSvcRef )
+OTOpenInternetServicesInContext(
+ OTConfigurationRef cfig,
+ OTOpenFlags oflag,
+ OSStatus * err,
+ OTClientContextPtr clientContext);
+
+
+/*
+ * OTAsyncOpenInternetServicesInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenInternetServicesInContext(
+ OTConfigurationRef cfig,
+ OTOpenFlags oflag,
+ OTNotifyUPP upp,
+ void * contextPtr,
+ OTClientContextPtr clientContext);
#if CALL_NOT_IN_CARBON
- /*
- * OTOpenInternetServices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(InetSvcRef)
- OTOpenInternetServices(
- OTConfigurationRef cfig,
- OTOpenFlags oflag,
- OSStatus * err);
-
-
- /*
- * OTAsyncOpenInternetServices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenInternetServices(
- OTConfigurationRef cfig,
- OTOpenFlags oflag,
- OTNotifyUPP proc,
- void * contextPtr);
+/*
+ * OTOpenInternetServices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( InetSvcRef )
+OTOpenInternetServices(
+ OTConfigurationRef cfig,
+ OTOpenFlags oflag,
+ OSStatus * err);
+
+
+/*
+ * OTAsyncOpenInternetServices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenInternetServices(
+ OTConfigurationRef cfig,
+ OTOpenFlags oflag,
+ OTNotifyUPP proc,
+ void * contextPtr);
#endif /* CALL_NOT_IN_CARBON */
#if OTCARBONAPPLICATION
- /* The following macro may be used by applications only.*/
+/* The following macro may be used by applications only.*/
#define OTOpenInternetServices(cfig, oflags, err) OTOpenInternetServicesInContext(cfig, oflags, err, NULL)
#define OTAsyncOpenInternetServices(cfig, oflags, proc, contextPtr) OTAsyncOpenInternetServicesInContext(cfig, oflags, proc, contextPtr, NULL)
#endif /* OTCARBONAPPLICATION */
- /*
- * OTInetStringToAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInetStringToAddress(
- InetSvcRef ref,
- char * name,
- InetHostInfo * hinfo);
-
-
- /*
- * OTInetAddressToName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInetAddressToName(
- InetSvcRef ref,
- InetHost addr,
- InetDomainName name);
-
-
- /*
- * OTInetSysInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInetSysInfo(
- InetSvcRef ref,
- char * name,
- InetSysInfo * sysinfo);
-
-
- /*
- * OTInetMailExchange()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInetMailExchange(
- InetSvcRef ref,
- char * name,
- UInt16 * num,
- InetMailExchange * mx);
-
-
- /*
- * OTInetQuery()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTInetQuery(
- InetSvcRef ref,
- char * name,
- UInt16 qClass,
- UInt16 qType,
- char * buf,
- OTByteCount buflen,
- void ** argv,
- OTByteCount argvlen,
- OTFlags flags);
+/*
+ * OTInetStringToAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInetStringToAddress(
+ InetSvcRef ref,
+ char * name,
+ InetHostInfo * hinfo);
+
+
+/*
+ * OTInetAddressToName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInetAddressToName(
+ InetSvcRef ref,
+ InetHost addr,
+ InetDomainName name);
+
+
+/*
+ * OTInetSysInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInetSysInfo(
+ InetSvcRef ref,
+ char * name,
+ InetSysInfo * sysinfo);
+
+
+/*
+ * OTInetMailExchange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInetMailExchange(
+ InetSvcRef ref,
+ char * name,
+ UInt16 * num,
+ InetMailExchange * mx);
+
+
+/*
+ * OTInetQuery()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTInetQuery(
+ InetSvcRef ref,
+ char * name,
+ UInt16 qClass,
+ UInt16 qType,
+ char * buf,
+ OTByteCount buflen,
+ void ** argv,
+ OTByteCount argvlen,
+ OTFlags flags);
#ifdef __cplusplus
@@ -623,65 +598,55 @@ extern "C" {
class TInternetServices : public TProvider
{
-public:
- OSStatus StringToAddress(char* name, InetHostInfo* hinfo)
- {
- return OTInetStringToAddress(this, name, hinfo);
- }
-
- OSStatus AddressToName(InetHost addr, InetDomainName name)
- {
- return OTInetAddressToName(this, addr, name);
- }
-
- OSStatus SysInfo(char* name, InetSysInfo* sysinfo)
- {
- return OTInetSysInfo(this, name, sysinfo);
- }
-
- OSStatus MailExchange(char* name, UInt16* num, InetMailExchange* mx)
- {
- return OTInetMailExchange(this, name, num, mx);
- }
-
- OSStatus Query(char* name, UInt16 qClass, UInt16 qType,
- char* buf, OTByteCount buflen,
- void** argv, OTByteCount argvlen,
- OTFlags flags)
- {
- return OTInetQuery(this, name, qClass, qType, buf, buflen, argv, argvlen, flags);
- }
+ public:
+ OSStatus StringToAddress(char* name, InetHostInfo* hinfo)
+ { return OTInetStringToAddress(this, name, hinfo); }
+
+ OSStatus AddressToName(InetHost addr, InetDomainName name)
+ { return OTInetAddressToName(this, addr, name); }
+
+ OSStatus SysInfo(char* name, InetSysInfo* sysinfo )
+ { return OTInetSysInfo(this, name, sysinfo); }
+
+ OSStatus MailExchange(char* name, UInt16* num, InetMailExchange* mx)
+ { return OTInetMailExchange(this, name, num, mx); }
+
+ OSStatus Query(char* name, UInt16 qClass, UInt16 qType,
+ char* buf, OTByteCount buflen,
+ void** argv, OTByteCount argvlen,
+ OTFlags flags)
+ { return OTInetQuery(this, name, qClass, qType, buf, buflen, argv, argvlen, flags); }
};
extern "C" { /* resume C definitions */
#endif
#endif /* !OTKERNEL */
- /* ***** AppleTalk ******/
- /* Shared library prefixes*/
+/* ***** AppleTalk ******/
+/* Shared library prefixes*/
#define kATalkVersion "1.1"
#define kATalkPrefix "ot:atlk$"
#define kATBinderID "ot:atbd$"
- /*******************************************************************************
- ** Module definitions
- ********************************************************************************/
- /* XTI Levels*/
-
- enum {
- ATK_DDP = FOUR_CHAR_CODE('DDP '),
- ATK_AARP = FOUR_CHAR_CODE('AARP'),
- ATK_ATP = FOUR_CHAR_CODE('ATP '),
- ATK_ADSP = FOUR_CHAR_CODE('ADSP'),
- ATK_ASP = FOUR_CHAR_CODE('ASP '),
- ATK_PAP = FOUR_CHAR_CODE('PAP '),
- ATK_NBP = FOUR_CHAR_CODE('NBP '),
- ATK_ZIP = FOUR_CHAR_CODE('ZIP ')
- };
+/*******************************************************************************
+** Module definitions
+********************************************************************************/
+/* XTI Levels*/
+
+enum {
+ ATK_DDP = FOUR_CHAR_CODE('DDP '),
+ ATK_AARP = FOUR_CHAR_CODE('AARP'),
+ ATK_ATP = FOUR_CHAR_CODE('ATP '),
+ ATK_ADSP = FOUR_CHAR_CODE('ADSP'),
+ ATK_ASP = FOUR_CHAR_CODE('ASP '),
+ ATK_PAP = FOUR_CHAR_CODE('PAP '),
+ ATK_NBP = FOUR_CHAR_CODE('NBP '),
+ ATK_ZIP = FOUR_CHAR_CODE('ZIP ')
+};
- /* Module Names*/
+/* Module Names*/
#define kDDPName "ddp"
@@ -695,108 +660,99 @@ extern "C" { /* resume C definitions */
#define kLTalkAName "ltlkA"
#define kLTalkBName "ltlkB"
- /*
- Protocol-specific Options
- NOTE:
- All Protocols support OPT_CHECKSUM (Value is (unsigned long)T_YES/T_NO)
- ATP supports OPT_RETRYCNT (# Retries, 0 = try once) and
- OPT_INTERVAL (# Milliseconds to wait)
- */
-
- enum
- {
- DDP_OPT_CHECKSUM = 0x0600,
- DDP_OPT_SRCADDR = 0x2101, /* DDP UnitDataReq Only - set src address, Value is DDPAddress */
- ATP_OPT_REPLYCNT = 0x2110, /* AppleTalk - ATP Resp Pkt Ct Type, Value is (unsigned long) pkt count */
- ATP_OPT_DATALEN = 0x2111, /* AppleTalk - ATP Pkt Data Len Type, Value is (unsigned long) length */
- ATP_OPT_RELTIMER = 0x2112, /* AppleTalk - ATP Release Timer Type, Value is (unsigned long) timer, (See Inside AppleTalk, second edition */
- ATP_OPT_TRANID = 0x2113, /* Value is (unsigned long) Boolean, Used to request Transaction ID, Returned with Transaction ID on requests */
- PAP_OPT_OPENRETRY = 0x2120 /* AppleTalk - PAP OpenConn Retry count, Value is (unsigned long) T_YES/T_NO */
- };
-
- /* Protocol-Specific Events*/
-
- /*
- If you send the IOCTL: OTIoctl(I_OTGetMiscellaneousEvents, 1),
- you will receive the T_ATALKxxx events on your endpoint.
- NOTE: The endpoint does not need to be bound.
- */
-
- enum
- {
- kAppleTalkEvent = kPROTOCOLEVENT | 0x00010000,
- T_GETMYZONECOMPLETE = kAppleTalkEvent + 1,
- T_GETLOCALZONESCOMPLETE = kAppleTalkEvent + 2,
- T_GETZONELISTCOMPLETE = kAppleTalkEvent + 3,
- T_GETATALKINFOCOMPLETE = kAppleTalkEvent + 4,
- T_ATALKROUTERDOWNEVENT = kAppleTalkEvent + 51, /* No routers have been seen for a while. If the cookie is NULL, all routers are gone. Otherwise, there is still an ARA router hanging around being used, and only the local cable has been timed out.*/
- T_ATALKROUTERUPEVENT = kAppleTalkEvent + 52, /* We didn't have a router, but now one has come up. Cookie is NULL for a normal router coming up, non-NULL for an ARA router coming on-line*/
- T_ATALKZONENAMECHANGEDEVENT = kAppleTalkEvent + 53, /* A Zone name change was issued from the router, so our AppleTalk Zone has changed.*/
- T_ATALKCONNECTIVITYCHANGEDEVENT = kAppleTalkEvent + 54, /* An ARA connection was established (cookie != NULL), or was disconnected (cookie == NULL)*/
- T_ATALKINTERNETAVAILABLEEVENT = kAppleTalkEvent + 55, /* A router has appeared, and our address is in the startup range. Cookie is hi/lo of new cable range.*/
- T_ATALKCABLERANGECHANGEDEVENT = kAppleTalkEvent + 56 /* A router has appeared, and it's incompatible with our current address. Cookie is hi/lo of new cable range.*/
- };
-
- enum
- {
- kAllATalkRoutersDown = 0, /* This indicates that all routers are offline*/
- kLocalATalkRoutersDown = -1L, /* This indicates that all local routers went offline, but an ARA router is still active*/
- kARARouterDisconnected = -2L /* This indicates that ARA was disconnected, do it's router went offline, and we have no local routers to fall back onto.*/
- };
-
- enum
- {
- kARARouterOnline = -1L, /* We had no local routers, but an ARA router is now online.*/
- kATalkRouterOnline = 0, /* We had no routers, but a local router is now online*/
- kLocalATalkRouterOnline = -2L /* We have an ARA router, but now we've seen a local router as well*/
- };
+/*
+ Protocol-specific Options
+ NOTE:
+ All Protocols support OPT_CHECKSUM (Value is (unsigned long)T_YES/T_NO)
+ ATP supports OPT_RETRYCNT (# Retries, 0 = try once) and
+ OPT_INTERVAL (# Milliseconds to wait)
+*/
-#define IsAppleTalkEvent(x) ((x) & 0xffff0000) == kAppleTalkEvent)
- /* Protocol-specific IOCTLs*/
+enum {
+ DDP_OPT_CHECKSUM = 0x0600,
+ DDP_OPT_SRCADDR = 0x2101, /* DDP UnitDataReq Only - set src address, Value is DDPAddress */
+ ATP_OPT_REPLYCNT = 0x2110, /* AppleTalk - ATP Resp Pkt Ct Type, Value is (unsigned long) pkt count */
+ ATP_OPT_DATALEN = 0x2111, /* AppleTalk - ATP Pkt Data Len Type, Value is (unsigned long) length */
+ ATP_OPT_RELTIMER = 0x2112, /* AppleTalk - ATP Release Timer Type, Value is (unsigned long) timer, (See Inside AppleTalk, second edition */
+ ATP_OPT_TRANID = 0x2113, /* Value is (unsigned long) Boolean, Used to request Transaction ID, Returned with Transaction ID on requests */
+ PAP_OPT_OPENRETRY = 0x2120 /* AppleTalk - PAP OpenConn Retry count, Value is (unsigned long) T_YES/T_NO */
+};
+
+/* Protocol-Specific Events*/
+
+/*
+ If you send the IOCTL: OTIoctl(I_OTGetMiscellaneousEvents, 1),
+ you will receive the T_ATALKxxx events on your endpoint.
+ NOTE: The endpoint does not need to be bound.
+*/
+
+enum {
+ kAppleTalkEvent = kPROTOCOLEVENT | 0x00010000,
+ T_GETMYZONECOMPLETE = kAppleTalkEvent + 1,
+ T_GETLOCALZONESCOMPLETE = kAppleTalkEvent + 2,
+ T_GETZONELISTCOMPLETE = kAppleTalkEvent + 3,
+ T_GETATALKINFOCOMPLETE = kAppleTalkEvent + 4,
+ T_ATALKROUTERDOWNEVENT = kAppleTalkEvent + 51, /* No routers have been seen for a while. If the cookie is NULL, all routers are gone. Otherwise, there is still an ARA router hanging around being used, and only the local cable has been timed out.*/
+ T_ATALKROUTERUPEVENT = kAppleTalkEvent + 52, /* We didn't have a router, but now one has come up. Cookie is NULL for a normal router coming up, non-NULL for an ARA router coming on-line*/
+ T_ATALKZONENAMECHANGEDEVENT = kAppleTalkEvent + 53, /* A Zone name change was issued from the router, so our AppleTalk Zone has changed.*/
+ T_ATALKCONNECTIVITYCHANGEDEVENT = kAppleTalkEvent + 54, /* An ARA connection was established (cookie != NULL), or was disconnected (cookie == NULL)*/
+ T_ATALKINTERNETAVAILABLEEVENT = kAppleTalkEvent + 55, /* A router has appeared, and our address is in the startup range. Cookie is hi/lo of new cable range.*/
+ T_ATALKCABLERANGECHANGEDEVENT = kAppleTalkEvent + 56 /* A router has appeared, and it's incompatible with our current address. Cookie is hi/lo of new cable range.*/
+};
+
+enum {
+ kAllATalkRoutersDown = 0, /* This indicates that all routers are offline*/
+ kLocalATalkRoutersDown = -1L, /* This indicates that all local routers went offline, but an ARA router is still active*/
+ kARARouterDisconnected = -2L /* This indicates that ARA was disconnected, do it's router went offline, and we have no local routers to fall back onto.*/
+};
- enum
- {
- ATALK_IOC_FULLSELFSEND = ((MIOC_ATALK << 8) | 47), /* Turn on/off full self-send (it's automatic for non-backward-compatible links)*/
- ADSP_IOC_FORWARDRESET = ((MIOC_ATALK << 8) | 60) /* ADSP Forward Reset*/
- };
+enum {
+ kARARouterOnline = -1L, /* We had no local routers, but an ARA router is now online.*/
+ kATalkRouterOnline = 0, /* We had no routers, but a local router is now online*/
+ kLocalATalkRouterOnline = -2L /* We have an ARA router, but now we've seen a local router as well*/
+};
+
+#define IsAppleTalkEvent(x) ((x) & 0xffff0000) == kAppleTalkEvent)
+/* Protocol-specific IOCTLs*/
- /* Protocol-specific constants*/
+enum {
+ ATALK_IOC_FULLSELFSEND = ((MIOC_ATALK << 8) | 47), /* Turn on/off full self-send (it's automatic for non-backward-compatible links)*/
+ ADSP_IOC_FORWARDRESET = ((MIOC_ATALK << 8) | 60) /* ADSP Forward Reset*/
+};
- /* ECHO*/
+/* Protocol-specific constants*/
- enum
- {
- kECHO_TSDU = 585 /* Max. # of data bytes.*/
- };
+/* ECHO*/
- /* NBP*/
+enum {
+ kECHO_TSDU = 585 /* Max. # of data bytes.*/
+};
- enum
- {
- kNBPMaxNameLength = 32,
- kNBPMaxTypeLength = 32,
- kNBPMaxZoneLength = 32,
- kNBPSlushLength = 9, /* Extra space for @, : and a few escape chars*/
- kNBPMaxEntityLength = (kNBPMaxNameLength + kNBPMaxTypeLength + kNBPMaxZoneLength + 3),
- kNBPEntityBufferSize = (kNBPMaxNameLength + kNBPMaxTypeLength + kNBPMaxZoneLength + kNBPSlushLength),
- kNBPWildCard = 0x3D, /* NBP name and type match anything '='*/
- kNBPImbeddedWildCard = 0xC5, /* NBP name and type match some '*'*/
- kNBPDefaultZone = 0x2A /* NBP default zone '*'*/
- };
+/* NBP*/
+
+enum {
+ kNBPMaxNameLength = 32,
+ kNBPMaxTypeLength = 32,
+ kNBPMaxZoneLength = 32,
+ kNBPSlushLength = 9, /* Extra space for @, : and a few escape chars*/
+ kNBPMaxEntityLength = (kNBPMaxNameLength + kNBPMaxTypeLength + kNBPMaxZoneLength + 3),
+ kNBPEntityBufferSize = (kNBPMaxNameLength + kNBPMaxTypeLength + kNBPMaxZoneLength + kNBPSlushLength),
+ kNBPWildCard = 0x3D, /* NBP name and type match anything '='*/
+ kNBPImbeddedWildCard = 0xC5, /* NBP name and type match some '*'*/
+ kNBPDefaultZone = 0x2A /* NBP default zone '*'*/
+};
- /* ZIP*/
+/* ZIP*/
- enum
- {
- kZIPMaxZoneLength = kNBPMaxZoneLength
- };
+enum {
+ kZIPMaxZoneLength = kNBPMaxZoneLength
+};
- enum
- {
- kDDPAddressLength = 8, /* value to use in netbuf.len field, Maximum length of AppleTalk address*/
- kNBPAddressLength = kNBPEntityBufferSize,
- kAppleTalkAddressLength = kDDPAddressLength + kNBPEntityBufferSize
- };
+enum {
+ kDDPAddressLength = 8, /* value to use in netbuf.len field, Maximum length of AppleTalk address*/
+ kNBPAddressLength = kNBPEntityBufferSize,
+ kAppleTalkAddressLength = kDDPAddressLength + kNBPEntityBufferSize
+};
#define OTCopyDDPAddress(addr, dest) \
@@ -805,161 +761,161 @@ extern "C" { /* resume C definitions */
((UInt32*)(dest))[1] = ((UInt32*)(addr))[1]; \
}
- /*******************************************************************************
- ** CLASS TAppleTalkServices
- ********************************************************************************/
+/*******************************************************************************
+** CLASS TAppleTalkServices
+********************************************************************************/
#if !OTKERNEL
- /*
- Define the ATSvcRef type. This type needs special
- processing because in C++ it's a subclass of TProvider.
- See the definition of TEndpointRef in "OpenTransport.h"
- for the logic behind this definition.
- */
+/*
+ Define the ATSvcRef type. This type needs special
+ processing because in C++ it's a subclass of TProvider.
+ See the definition of TEndpointRef in "OpenTransport.h"
+ for the logic behind this definition.
+*/
#ifdef __cplusplus
typedef class TAppleTalkServices* ATSvcRef;
#else
typedef void* ATSvcRef;
#endif
#define kDefaultAppleTalkServicesPath ((OTConfigurationRef)-3L)
- /*
- Under Carbon, OpenAppleTalkServices routines take a client context pointer. Applications may pass NULL
- after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
- valid client context.
- */
- /*
- * OTAsyncOpenAppleTalkServicesInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenAppleTalkServicesInContext(
- OTConfigurationRef cfig,
- OTOpenFlags flags,
- OTNotifyUPP proc,
- void * contextPtr,
- OTClientContextPtr clientContext);
-
-
- /*
- * OTOpenAppleTalkServicesInContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ATSvcRef)
- OTOpenAppleTalkServicesInContext(
- OTConfigurationRef cfig,
- OTOpenFlags flags,
- OSStatus * err,
- OTClientContextPtr clientContext);
+/*
+ Under Carbon, OpenAppleTalkServices routines take a client context pointer. Applications may pass NULL
+ after calling InitOpenTransport(kInitOTForApplicationMask, ...). Non-applications must always pass a
+ valid client context.
+*/
+/*
+ * OTAsyncOpenAppleTalkServicesInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenAppleTalkServicesInContext(
+ OTConfigurationRef cfig,
+ OTOpenFlags flags,
+ OTNotifyUPP proc,
+ void * contextPtr,
+ OTClientContextPtr clientContext);
+
+
+/*
+ * OTOpenAppleTalkServicesInContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ATSvcRef )
+OTOpenAppleTalkServicesInContext(
+ OTConfigurationRef cfig,
+ OTOpenFlags flags,
+ OSStatus * err,
+ OTClientContextPtr clientContext);
#if CALL_NOT_IN_CARBON
- /*
- * OTAsyncOpenAppleTalkServices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- OTAsyncOpenAppleTalkServices(
- OTConfigurationRef cfig,
- OTOpenFlags flags,
- OTNotifyUPP proc,
- void * contextPtr);
-
-
- /*
- * OTOpenAppleTalkServices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ATSvcRef)
- OTOpenAppleTalkServices(
- OTConfigurationRef cfig,
- OTOpenFlags flags,
- OSStatus * err);
+/*
+ * OTAsyncOpenAppleTalkServices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+OTAsyncOpenAppleTalkServices(
+ OTConfigurationRef cfig,
+ OTOpenFlags flags,
+ OTNotifyUPP proc,
+ void * contextPtr);
+
+
+/*
+ * OTOpenAppleTalkServices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ATSvcRef )
+OTOpenAppleTalkServices(
+ OTConfigurationRef cfig,
+ OTOpenFlags flags,
+ OSStatus * err);
#endif /* CALL_NOT_IN_CARBON */
#if OTCARBONAPPLICATION
- /* The following macro may be used by applications only.*/
+/* The following macro may be used by applications only.*/
#define OTOpenAppleTalkServices(cfig, oflags, err) OTOpenAppleTalkServicesInContext(cfig, oflags, err, NULL)
#define OTAsyncOpenAppleTalkServices(cfig, oflags, proc, contextPtr) OTAsyncOpenAppleTalkServicesInContext(cfig, oflags, proc, contextPtr, NULL)
#endif /* OTCARBONAPPLICATION */
- /* Get the zone associated with the ATSvcRef*/
- /*
- * OTATalkGetMyZone()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTATalkGetMyZone(
- ATSvcRef ref,
- TNetbuf * zone);
-
-
- /*
- Get the list of available zones associated with the local cable
- of the ATSvcRef
- */
- /*
- * OTATalkGetLocalZones()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTATalkGetLocalZones(
- ATSvcRef ref,
- TNetbuf * zones);
-
-
- /* Get the list of all zones on the internet specified by the ATSvcRef*/
- /*
- * OTATalkGetZoneList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTATalkGetZoneList(
- ATSvcRef ref,
- TNetbuf * zones);
-
-
- /* Stores an AppleTalkInfo structure into the TNetbuf (see later in this file)*/
- /*
- * OTATalkGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- OTATalkGetInfo(
- ATSvcRef ref,
- TNetbuf * info);
+/* Get the zone associated with the ATSvcRef*/
+/*
+ * OTATalkGetMyZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTATalkGetMyZone(
+ ATSvcRef ref,
+ TNetbuf * zone);
+
+
+/*
+ Get the list of available zones associated with the local cable
+ of the ATSvcRef
+*/
+/*
+ * OTATalkGetLocalZones()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTATalkGetLocalZones(
+ ATSvcRef ref,
+ TNetbuf * zones);
+
+
+/* Get the list of all zones on the internet specified by the ATSvcRef*/
+/*
+ * OTATalkGetZoneList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTATalkGetZoneList(
+ ATSvcRef ref,
+ TNetbuf * zones);
+
+
+/* Stores an AppleTalkInfo structure into the TNetbuf (see later in this file)*/
+/*
+ * OTATalkGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+OTATalkGetInfo(
+ ATSvcRef ref,
+ TNetbuf * info);
#ifdef __cplusplus
@@ -967,681 +923,659 @@ extern "C" { /* resume C definitions */
class TAppleTalkServices : public TProvider
{
-public:
- OSStatus GetMyZone(TNetbuf* zone)
- {
- return OTATalkGetMyZone(this, zone);
- }
- OSStatus GetLocalZones(TNetbuf* zones)
- {
- return OTATalkGetLocalZones(this, zones);
- }
- OSStatus GetZoneList(TNetbuf* zones)
- {
- return OTATalkGetZoneList(this, zones);
- }
- OSStatus GetInfo(TNetbuf* info)
- {
- return OTATalkGetInfo(this, info);
- }
+ public:
+ OSStatus GetMyZone(TNetbuf* zone) { return OTATalkGetMyZone(this, zone); }
+ OSStatus GetLocalZones(TNetbuf* zones) { return OTATalkGetLocalZones(this, zones); }
+ OSStatus GetZoneList(TNetbuf* zones) { return OTATalkGetZoneList(this, zones); }
+ OSStatus GetInfo(TNetbuf* info) { return OTATalkGetInfo(this, info); }
};
extern "C" { /* resume C definitions */
#endif /* _cplus */
#endif /* !OTKERNEL */
- /* AppleTalk Addressing*/
- /*
- The NBPEntity structure is used to manipulate NBP names without regard
- to issues of what kind of "special" characters are in the name.
-
- When stored as an address in an NBPAddress or DDPNBPAddress, they are
- stored as a character string, which is currently just ASCII, but in the
- future may be UniChar, or some other internationalizable scripting set.
- The string following an NBPAddress or DDPNBPAddress is intended to be
- suitable for showing to users, whereas NBPEntity is not.
- WARNING: NBPAddress and DDPNBPAddress structures do not "know" the length
- of the address. That must have been obtained as part of a Lookup or
- ResolveAddress call.
- */
-
- enum {
- AF_ATALK_FAMILY = 0x0100,
- AF_ATALK_DDP = 0x0100,
- AF_ATALK_DDPNBP = AF_ATALK_FAMILY + 1,
- AF_ATALK_NBP = AF_ATALK_FAMILY + 2,
- AF_ATALK_MNODE = AF_ATALK_FAMILY + 3
- };
-
- struct NBPEntity
- {
- UInt8 fEntity[99];
- };
- typedef struct NBPEntity NBPEntity;
- struct DDPAddress
- {
- OTAddressType fAddressType; /* One of the enums above*/
- UInt16 fNetwork;
- UInt8 fNodeID;
- UInt8 fSocket;
- UInt8 fDDPType;
- UInt8 fPad;
+/* AppleTalk Addressing*/
+/*
+ The NBPEntity structure is used to manipulate NBP names without regard
+ to issues of what kind of "special" characters are in the name.
+
+ When stored as an address in an NBPAddress or DDPNBPAddress, they are
+ stored as a character string, which is currently just ASCII, but in the
+ future may be UniChar, or some other internationalizable scripting set.
+ The string following an NBPAddress or DDPNBPAddress is intended to be
+ suitable for showing to users, whereas NBPEntity is not.
+ WARNING: NBPAddress and DDPNBPAddress structures do not "know" the length
+ of the address. That must have been obtained as part of a Lookup or
+ ResolveAddress call.
+*/
+
+enum {
+ AF_ATALK_FAMILY = 0x0100,
+ AF_ATALK_DDP = 0x0100,
+ AF_ATALK_DDPNBP = AF_ATALK_FAMILY + 1,
+ AF_ATALK_NBP = AF_ATALK_FAMILY + 2,
+ AF_ATALK_MNODE = AF_ATALK_FAMILY + 3
+};
+
+struct NBPEntity {
+ UInt8 fEntity[99];
+};
+typedef struct NBPEntity NBPEntity;
+struct DDPAddress {
+ OTAddressType fAddressType; /* One of the enums above*/
+ UInt16 fNetwork;
+ UInt8 fNodeID;
+ UInt8 fSocket;
+ UInt8 fDDPType;
+ UInt8 fPad;
#ifdef __cplusplus
- // C++ inline methods on this structure.
-
- void Init(const DDPAddress&);
- void Init(UInt16 net, UInt8 node, UInt8 socket);
- void Init(UInt16 net, UInt8 node, UInt8 socket, UInt8 type);
-
- void SetSocket(UInt8);
- void SetType(UInt8);
- void SetNode(UInt8);
- void SetNetwork(UInt16);
-
- OTByteCount GetAddressLength() const;
- OTAddressType GetAddressType() const;
- UInt8 GetSocket() const;
- UInt8 GetType() const;
- UInt8 GetNode() const;
- UInt16 GetNetwork() const;
-
- Boolean operator==(const DDPAddress&) const;
- Boolean operator!=(const DDPAddress&) const;
- void operator=(const DDPAddress&);
+ // C++ inline methods on this structure.
+
+ void Init(const DDPAddress&);
+ void Init(UInt16 net, UInt8 node, UInt8 socket);
+ void Init(UInt16 net, UInt8 node, UInt8 socket, UInt8 type);
+
+ void SetSocket(UInt8);
+ void SetType(UInt8);
+ void SetNode(UInt8);
+ void SetNetwork(UInt16);
+
+ OTByteCount GetAddressLength() const;
+ OTAddressType GetAddressType() const;
+ UInt8 GetSocket() const;
+ UInt8 GetType() const;
+ UInt8 GetNode() const;
+ UInt16 GetNetwork() const;
+
+ Boolean operator==(const DDPAddress&) const;
+ Boolean operator!=(const DDPAddress&) const;
+ void operator=(const DDPAddress&);
#endif
- };
- typedef struct DDPAddress DDPAddress;
- struct NBPAddress
- {
- OTAddressType fAddressType; /* One of the enums above*/
- UInt8 fNBPNameBuffer[105];
+};
+typedef struct DDPAddress DDPAddress;
+struct NBPAddress {
+ OTAddressType fAddressType; /* One of the enums above*/
+ UInt8 fNBPNameBuffer[105];
#ifdef __cplusplus
- // C++ inline methods on this structure.
+ // C++ inline methods on this structure.
- OTByteCount Init();
- OTByteCount Init(const NBPEntity&);
- OTByteCount Init(const char*);
- OTByteCount Init(const char*, OTByteCount len);
- Boolean ExtractEntity(NBPEntity&, OTByteCount len);
+ OTByteCount Init();
+ OTByteCount Init(const NBPEntity&);
+ OTByteCount Init(const char*);
+ OTByteCount Init(const char*, OTByteCount len);
+ Boolean ExtractEntity(NBPEntity&, OTByteCount len);
- OTAddressType GetAddressType() const;
+ OTAddressType GetAddressType() const;
#endif
- };
- typedef struct NBPAddress NBPAddress;
- struct DDPNBPAddress
- {
- OTAddressType fAddressType; /* One of the enums above*/
- UInt16 fNetwork;
- UInt8 fNodeID;
- UInt8 fSocket;
- UInt8 fDDPType;
- UInt8 fPad;
- UInt8 fNBPNameBuffer[105];
+};
+typedef struct NBPAddress NBPAddress;
+struct DDPNBPAddress {
+ OTAddressType fAddressType; /* One of the enums above*/
+ UInt16 fNetwork;
+ UInt8 fNodeID;
+ UInt8 fSocket;
+ UInt8 fDDPType;
+ UInt8 fPad;
+ UInt8 fNBPNameBuffer[105];
#ifdef __cplusplus
- // C++ inline methods on this structure.
+ // C++ inline methods on this structure.
+
+ void Init(const DDPAddress&);
+ void Init(UInt16 net, UInt8 node, UInt8 socket);
+ void Init(UInt16 net, UInt8 node, UInt8 socket, UInt8 type);
+
+ void SetSocket(UInt8);
+ void SetType(UInt8);
+ void SetNode(UInt8);
+ void SetNetwork(UInt16);
+
+ OTAddressType GetAddressType() const;
+ UInt8 GetSocket() const;
+ UInt8 GetType() const;
+ UInt8 GetNode() const;
+ UInt16 GetNetwork() const;
+
+ Boolean ExtractEntity(NBPEntity&, OTByteCount len);
+ OTByteCount SetNBPEntity(const NBPEntity&);
+ OTByteCount SetNBPEntity(const char*);
+ OTByteCount SetNBPEntity(const char*, OTByteCount len);
+
+ Boolean operator==(const DDPAddress&) const;
+#endif
- void Init(const DDPAddress&);
- void Init(UInt16 net, UInt8 node, UInt8 socket);
- void Init(UInt16 net, UInt8 node, UInt8 socket, UInt8 type);
- void SetSocket(UInt8);
- void SetType(UInt8);
- void SetNode(UInt8);
- void SetNetwork(UInt16);
+};
+typedef struct DDPNBPAddress DDPNBPAddress;
+/* These are some utility routines for dealing with NBP and DDP addresses. */
- OTAddressType GetAddressType() const;
- UInt8 GetSocket() const;
- UInt8 GetType() const;
- UInt8 GetNode() const;
- UInt16 GetNetwork() const;
+/* Functions to initialize the various AppleTalk Address types*/
+/*
+ * OTInitDDPAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTInitDDPAddress(
+ DDPAddress * addr,
+ UInt16 net,
+ UInt8 node,
+ UInt8 socket,
+ UInt8 ddpType);
- Boolean ExtractEntity(NBPEntity&, OTByteCount len);
- OTByteCount SetNBPEntity(const NBPEntity&);
- OTByteCount SetNBPEntity(const char*);
- OTByteCount SetNBPEntity(const char*, OTByteCount len);
- Boolean operator==(const DDPAddress&) const;
-#endif
+/*
+ * OTInitNBPAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTByteCount )
+OTInitNBPAddress(
+ NBPAddress * addr,
+ const char * name);
- };
- typedef struct DDPNBPAddress DDPNBPAddress;
- /* These are some utility routines for dealing with NBP and DDP addresses. */
-
- /* Functions to initialize the various AppleTalk Address types*/
- /*
- * OTInitDDPAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTInitDDPAddress(
- DDPAddress * addr,
- UInt16 net,
- UInt8 node,
- UInt8 socket,
- UInt8 ddpType);
-
-
- /*
- * OTInitNBPAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTByteCount)
- OTInitNBPAddress(
- NBPAddress * addr,
- const char * name);
-
-
- /*
- * OTInitDDPNBPAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTByteCount)
- OTInitDDPNBPAddress(
- DDPNBPAddress * addr,
- const char * name,
- UInt16 net,
- UInt8 node,
- UInt8 socket,
- UInt8 ddpType);
-
-
- /* Compare 2 DDP addresses for equality*/
- /*
- * OTCompareDDPAddresses()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTCompareDDPAddresses(
- const DDPAddress * addr1,
- const DDPAddress * addr2);
-
-
- /* Init an NBPEntity to a NULL name*/
- /*
- * OTInitNBPEntity()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTInitNBPEntity(NBPEntity * entity);
-
-
- /* Get the length an NBPEntity would have when stored as an address*/
- /*
- * OTGetNBPEntityLengthAsAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTByteCount)
- OTGetNBPEntityLengthAsAddress(const NBPEntity * entity);
-
-
- /* Store an NBPEntity into an address buffer*/
- /*
- * OTSetAddressFromNBPEntity()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTByteCount)
- OTSetAddressFromNBPEntity(
- UInt8 * nameBuf,
- const NBPEntity * entity);
-
-
- /* Create an address buffer from a string (use -1 for len to use strlen)*/
- /*
- * OTSetAddressFromNBPString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OTByteCount)
- OTSetAddressFromNBPString(
- UInt8 * addrBuf,
- const char * name,
- SInt32 len);
-
-
- /*
- Create an NBPEntity from an address buffer. False is returned if
- the address was truncated.
- */
- /*
- * OTSetNBPEntityFromAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTSetNBPEntityFromAddress(
- NBPEntity * entity,
- const UInt8 * addrBuf,
- OTByteCount len);
-
-
- /* Routines to set a piece of an NBP entity from a character string*/
- /*
- * OTSetNBPName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTSetNBPName(
- NBPEntity * entity,
- const char * name);
-
-
- /*
- * OTSetNBPType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTSetNBPType(
- NBPEntity * entity,
- const char * typeVal);
-
-
- /*
- * OTSetNBPZone()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- OTSetNBPZone(
- NBPEntity * entity,
- const char * zone);
-
-
- /* Routines to extract pieces of an NBP entity*/
- /*
- * OTExtractNBPName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTExtractNBPName(
- const NBPEntity * entity,
- char * name);
-
-
- /*
- * OTExtractNBPType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTExtractNBPType(
- const NBPEntity * entity,
- char * typeVal);
-
-
- /*
- * OTExtractNBPZone()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OTExtractNBPZone(
- const NBPEntity * entity,
- char * zone);
+/*
+ * OTInitDDPNBPAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTByteCount )
+OTInitDDPNBPAddress(
+ DDPNBPAddress * addr,
+ const char * name,
+ UInt16 net,
+ UInt8 node,
+ UInt8 socket,
+ UInt8 ddpType);
+
+
+/* Compare 2 DDP addresses for equality*/
+/*
+ * OTCompareDDPAddresses()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTCompareDDPAddresses(
+ const DDPAddress * addr1,
+ const DDPAddress * addr2);
+
+
+/* Init an NBPEntity to a NULL name*/
+/*
+ * OTInitNBPEntity()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTInitNBPEntity(NBPEntity * entity);
+
+
+/* Get the length an NBPEntity would have when stored as an address*/
+/*
+ * OTGetNBPEntityLengthAsAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTByteCount )
+OTGetNBPEntityLengthAsAddress(const NBPEntity * entity);
+
+
+/* Store an NBPEntity into an address buffer*/
+/*
+ * OTSetAddressFromNBPEntity()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTByteCount )
+OTSetAddressFromNBPEntity(
+ UInt8 * nameBuf,
+ const NBPEntity * entity);
+
+
+/* Create an address buffer from a string (use -1 for len to use strlen)*/
+/*
+ * OTSetAddressFromNBPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OTByteCount )
+OTSetAddressFromNBPString(
+ UInt8 * addrBuf,
+ const char * name,
+ SInt32 len);
+
+
+/*
+ Create an NBPEntity from an address buffer. False is returned if
+ the address was truncated.
+*/
+/*
+ * OTSetNBPEntityFromAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTSetNBPEntityFromAddress(
+ NBPEntity * entity,
+ const UInt8 * addrBuf,
+ OTByteCount len);
+
+
+/* Routines to set a piece of an NBP entity from a character string*/
+/*
+ * OTSetNBPName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTSetNBPName(
+ NBPEntity * entity,
+ const char * name);
+
+
+/*
+ * OTSetNBPType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTSetNBPType(
+ NBPEntity * entity,
+ const char * typeVal);
+
+
+/*
+ * OTSetNBPZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+OTSetNBPZone(
+ NBPEntity * entity,
+ const char * zone);
+
+
+/* Routines to extract pieces of an NBP entity*/
+/*
+ * OTExtractNBPName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTExtractNBPName(
+ const NBPEntity * entity,
+ char * name);
+
+
+/*
+ * OTExtractNBPType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTExtractNBPType(
+ const NBPEntity * entity,
+ char * typeVal);
+
+
+/*
+ * OTExtractNBPZone()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OTExtractNBPZone(
+ const NBPEntity * entity,
+ char * zone);
#ifdef __cplusplus
// Inline methods for DDPAddress
- inline void DDPAddress::operator=(const DDPAddress& addr)
- {
- *(UInt32*)&fAddressType = *(UInt32*)&addr.fAddressType;
- *(UInt32*)&fNodeID = *(UInt32*)&addr.fNodeID;
- }
-
- inline Boolean DDPAddress::operator==(const DDPAddress& addr) const
- {
- return OTCompareDDPAddresses(&addr, this);
- }
-
- inline Boolean DDPAddress::operator!=(const DDPAddress& addr) const
- {
- return !OTCompareDDPAddresses(&addr, this);
- }
-
- inline void DDPAddress::SetSocket(UInt8 socket)
- {
- fSocket = socket;
- }
-
- inline void DDPAddress::SetNode(UInt8 node)
- {
- fNodeID = node;
- }
-
- inline void DDPAddress::SetType(UInt8 type)
- {
- fDDPType = type;
- }
-
- inline void DDPAddress::SetNetwork(UInt16 net)
- {
- fNetwork = net;
- }
-
- inline OTByteCount DDPAddress::GetAddressLength() const
- {
- return kDDPAddressLength;
- }
-
- inline OTAddressType DDPAddress::GetAddressType() const
- {
- return fAddressType;
- }
-
- inline UInt8 DDPAddress::GetSocket() const
- {
- return fSocket;
- }
-
- inline UInt8 DDPAddress::GetNode() const
- {
- return fNodeID;
- }
-
- inline UInt8 DDPAddress::GetType() const
- {
- return fDDPType;
- }
-
- inline UInt16 DDPAddress::GetNetwork() const
- {
- return fNetwork;
- }
-
- inline void DDPAddress::Init(UInt16 net, UInt8 node,
- UInt8 socket)
- {
- fAddressType = AF_ATALK_DDP;
- SetNetwork(net);
- SetNode(node);
- SetSocket(socket);
- SetType(0);
- }
-
- inline void DDPAddress::Init(UInt16 net, UInt8 node,
- UInt8 socket, UInt8 type)
- {
- fAddressType = AF_ATALK_DDP;
- SetNetwork(net);
- SetNode(node);
- SetSocket(socket);
- SetType(type);
- }
-
- inline void DDPAddress::Init(const DDPAddress& addr)
- {
- *(UInt32*)&fAddressType = *(UInt32*)&addr.fAddressType;
- *(UInt32*)&fNodeID = *(UInt32*)&addr.fNodeID;
- }
+inline void DDPAddress::operator=(const DDPAddress& addr)
+{
+ *(UInt32*)&fAddressType = *(UInt32*)&addr.fAddressType;
+ *(UInt32*)&fNodeID = *(UInt32*)&addr.fNodeID;
+}
+
+inline Boolean DDPAddress::operator==(const DDPAddress& addr) const
+{
+ return OTCompareDDPAddresses(&addr, this);
+}
+
+inline Boolean DDPAddress::operator!=(const DDPAddress& addr) const
+{
+ return !OTCompareDDPAddresses(&addr, this);
+}
+
+inline void DDPAddress::SetSocket(UInt8 socket)
+{
+ fSocket = socket;
+}
+
+inline void DDPAddress::SetNode(UInt8 node)
+{
+ fNodeID = node;
+}
+
+inline void DDPAddress::SetType(UInt8 type)
+{
+ fDDPType = type;
+}
+
+inline void DDPAddress::SetNetwork(UInt16 net)
+{
+ fNetwork = net;
+}
+
+inline OTByteCount DDPAddress::GetAddressLength() const
+{
+ return kDDPAddressLength;
+}
+
+inline OTAddressType DDPAddress::GetAddressType() const
+{
+ return fAddressType;
+}
+
+inline UInt8 DDPAddress::GetSocket() const
+{
+ return fSocket;
+}
+
+inline UInt8 DDPAddress::GetNode() const
+{
+ return fNodeID;
+}
+
+inline UInt8 DDPAddress::GetType() const
+{
+ return fDDPType;
+}
+
+inline UInt16 DDPAddress::GetNetwork() const
+{
+ return fNetwork;
+}
+
+inline void DDPAddress::Init(UInt16 net, UInt8 node,
+ UInt8 socket)
+{
+ fAddressType = AF_ATALK_DDP;
+ SetNetwork(net);
+ SetNode(node);
+ SetSocket(socket);
+ SetType(0);
+}
+
+inline void DDPAddress::Init(UInt16 net, UInt8 node,
+ UInt8 socket, UInt8 type)
+{
+ fAddressType = AF_ATALK_DDP;
+ SetNetwork(net);
+ SetNode(node);
+ SetSocket(socket);
+ SetType(type);
+}
+
+inline void DDPAddress::Init(const DDPAddress& addr)
+{
+ *(UInt32*)&fAddressType = *(UInt32*)&addr.fAddressType;
+ *(UInt32*)&fNodeID = *(UInt32*)&addr.fNodeID;
+}
// Inline methods for NBPAddress
- inline OTByteCount NBPAddress::Init()
- {
- fAddressType = AF_ATALK_NBP;
- return sizeof(OTAddressType);
- }
-
- inline OTByteCount NBPAddress::Init(const NBPEntity& addr)
- {
- fAddressType = AF_ATALK_NBP;
- return sizeof(OTAddressType) + OTSetAddressFromNBPEntity(fNBPNameBuffer, &addr);
- }
-
- inline OTByteCount NBPAddress::Init(const char* name)
- {
- fAddressType = AF_ATALK_NBP;
- return sizeof(OTAddressType) + OTSetAddressFromNBPString(fNBPNameBuffer, name, -1);
- }
-
- inline OTByteCount NBPAddress::Init(const char* name, OTByteCount len)
- {
- fAddressType = AF_ATALK_NBP;
- return sizeof(OTAddressType) + OTSetAddressFromNBPString(fNBPNameBuffer, name, (SInt32)len);
- }
-
- inline Boolean NBPAddress::ExtractEntity(NBPEntity& entity, OTByteCount len)
- {
- return OTSetNBPEntityFromAddress(&entity, fNBPNameBuffer, len);
- }
-
- inline OTAddressType NBPAddress::GetAddressType() const
- {
- return fAddressType;
- }
+inline OTByteCount NBPAddress::Init()
+{
+ fAddressType = AF_ATALK_NBP;
+ return sizeof(OTAddressType);
+}
+inline OTByteCount NBPAddress::Init(const NBPEntity& addr)
+{
+ fAddressType = AF_ATALK_NBP;
+ return sizeof(OTAddressType) + OTSetAddressFromNBPEntity(fNBPNameBuffer, &addr);
+}
+
+inline OTByteCount NBPAddress::Init(const char* name)
+{
+ fAddressType = AF_ATALK_NBP;
+ return sizeof(OTAddressType) + OTSetAddressFromNBPString(fNBPNameBuffer, name, -1);
+}
+
+inline OTByteCount NBPAddress::Init(const char* name, OTByteCount len)
+{
+ fAddressType = AF_ATALK_NBP;
+ return sizeof(OTAddressType) + OTSetAddressFromNBPString(fNBPNameBuffer, name, (SInt32)len);
+}
+
+inline Boolean NBPAddress::ExtractEntity(NBPEntity& entity, OTByteCount len)
+{
+ return OTSetNBPEntityFromAddress(&entity, fNBPNameBuffer, len);
+}
+
+inline OTAddressType NBPAddress::GetAddressType() const
+{
+ return fAddressType;
+}
+
// Inline methods for DDPNBPAddress
- inline Boolean DDPNBPAddress::operator==(const DDPAddress& addr) const
- {
- return OTCompareDDPAddresses((const DDPAddress*)this, &addr);
- }
-
- inline void DDPNBPAddress::SetSocket(UInt8 socket)
- {
- fSocket = socket;
- }
-
- inline void DDPNBPAddress::SetNode(UInt8 node)
- {
- fNodeID = node;
- }
-
- inline void DDPNBPAddress::SetType(UInt8 type)
- {
- fDDPType = type;
- }
-
- inline void DDPNBPAddress::SetNetwork(UInt16 net)
- {
- fNetwork = net;
- }
-
- inline OTAddressType DDPNBPAddress::GetAddressType() const
- {
- return fAddressType;
- }
-
- inline UInt8 DDPNBPAddress::GetSocket() const
- {
- return fSocket;
- }
-
- inline UInt8 DDPNBPAddress::GetNode() const
- {
- return fNodeID;
- }
-
- inline UInt8 DDPNBPAddress::GetType() const
- {
- return fDDPType;
- }
-
- inline UInt16 DDPNBPAddress::GetNetwork() const
- {
- return fNetwork;
- }
-
- inline void DDPNBPAddress::Init(UInt16 net, UInt8 node,
- UInt8 socket)
- {
- fAddressType = AF_ATALK_DDPNBP;
- SetNetwork(net);
- SetNode(node);
- SetSocket(socket);
- SetType(0);
- }
-
- inline void DDPNBPAddress::Init(UInt16 net, UInt8 node,
- UInt8 socket, UInt8 type)
- {
- fAddressType = AF_ATALK_DDPNBP;
- SetNetwork(net);
- SetNode(node);
- SetSocket(socket);
- SetType(type);
- }
-
- inline void DDPNBPAddress::Init(const DDPAddress& addr)
- {
- fAddressType = AF_ATALK_DDPNBP;
- SetNetwork(addr.GetNetwork());
- SetNode(addr.GetNode());
- SetSocket(addr.GetSocket());
- SetType(addr.GetType());
- fNBPNameBuffer[0] = 0;
- }
-
- inline OTByteCount DDPNBPAddress::SetNBPEntity(const NBPEntity& entity)
- {
- return OTSetAddressFromNBPEntity(fNBPNameBuffer, &entity) + kDDPAddressLength;
- }
-
- inline OTByteCount DDPNBPAddress::SetNBPEntity(const char* name)
- {
- return OTSetAddressFromNBPString(fNBPNameBuffer, name, -1) + kDDPAddressLength;
- }
-
- inline OTByteCount DDPNBPAddress::SetNBPEntity(const char* name, OTByteCount len)
- {
- return OTSetAddressFromNBPString(fNBPNameBuffer, name, (SInt32)len) + kDDPAddressLength;
- }
-
- inline Boolean DDPNBPAddress::ExtractEntity(NBPEntity& entity, OTByteCount len)
- {
- return OTSetNBPEntityFromAddress(&entity, fNBPNameBuffer, len);
- }
+inline Boolean DDPNBPAddress::operator==(const DDPAddress& addr) const
+{
+ return OTCompareDDPAddresses((const DDPAddress*)this, &addr);
+}
+
+inline void DDPNBPAddress::SetSocket(UInt8 socket)
+{
+ fSocket = socket;
+}
+
+inline void DDPNBPAddress::SetNode(UInt8 node)
+{
+ fNodeID = node;
+}
+
+inline void DDPNBPAddress::SetType(UInt8 type)
+{
+ fDDPType = type;
+}
+
+inline void DDPNBPAddress::SetNetwork(UInt16 net)
+{
+ fNetwork = net;
+}
+
+inline OTAddressType DDPNBPAddress::GetAddressType() const
+{
+ return fAddressType;
+}
+
+inline UInt8 DDPNBPAddress::GetSocket() const
+{
+ return fSocket;
+}
+
+inline UInt8 DDPNBPAddress::GetNode() const
+{
+ return fNodeID;
+}
+
+inline UInt8 DDPNBPAddress::GetType() const
+{
+ return fDDPType;
+}
+
+inline UInt16 DDPNBPAddress::GetNetwork() const
+{
+ return fNetwork;
+}
+
+inline void DDPNBPAddress::Init(UInt16 net, UInt8 node,
+ UInt8 socket)
+{
+ fAddressType = AF_ATALK_DDPNBP;
+ SetNetwork(net);
+ SetNode(node);
+ SetSocket(socket);
+ SetType(0);
+}
+
+inline void DDPNBPAddress::Init(UInt16 net, UInt8 node,
+ UInt8 socket, UInt8 type)
+{
+ fAddressType = AF_ATALK_DDPNBP;
+ SetNetwork(net);
+ SetNode(node);
+ SetSocket(socket);
+ SetType(type);
+}
+
+inline void DDPNBPAddress::Init(const DDPAddress& addr)
+{
+ fAddressType = AF_ATALK_DDPNBP;
+ SetNetwork(addr.GetNetwork());
+ SetNode(addr.GetNode());
+ SetSocket(addr.GetSocket());
+ SetType(addr.GetType());
+ fNBPNameBuffer[0] = 0;
+}
+
+inline OTByteCount DDPNBPAddress::SetNBPEntity(const NBPEntity& entity)
+{
+ return OTSetAddressFromNBPEntity(fNBPNameBuffer, &entity) + kDDPAddressLength;
+}
+
+inline OTByteCount DDPNBPAddress::SetNBPEntity(const char* name)
+{
+ return OTSetAddressFromNBPString(fNBPNameBuffer, name, -1) + kDDPAddressLength;
+}
+
+inline OTByteCount DDPNBPAddress::SetNBPEntity(const char* name, OTByteCount len)
+{
+ return OTSetAddressFromNBPString(fNBPNameBuffer, name, (SInt32)len) + kDDPAddressLength;
+}
+
+inline Boolean DDPNBPAddress::ExtractEntity(NBPEntity& entity, OTByteCount len)
+{
+ return OTSetNBPEntityFromAddress(&entity, fNBPNameBuffer, len);
+}
#endif /* __cplusplus */
- /* AppleTalkInfo as used by the OTGetATalkInfo function*/
-
- struct AppleTalkInfo
- {
- DDPAddress fOurAddress; /* Our DDP address (network # & node)*/
- DDPAddress fRouterAddress; /* The address of a router on our cable*/
- UInt16 fCableRange[2]; /* The current cable range*/
- UInt16 fFlags; /* See below*/
- };
- typedef struct AppleTalkInfo AppleTalkInfo;
- /* For the fFlags field in AppleTalkInfo*/
- enum
- {
- kATalkInfoIsExtended = 0x0001, /* This is an extended (phase 2) network*/
- kATalkInfoHasRouter = 0x0002, /* This cable has a router*/
- kATalkInfoOneZone = 0x0004 /* This cable has only one zone*/
- };
-
- /* ***** Ethernet ******/
-
- /* Interface option flags*/
-
- /* Ethernet framing options*/
-
- enum
- {
- kOTFramingEthernet = 0x01,
- kOTFramingEthernetIPX = 0x02,
- kOTFraming8023 = 0x04,
- kOTFraming8022 = 0x08
- };
-
- /*
- These are obsolete and will be going away in OT 1.5.
- Hmmm, OT 1.5 got cancelled. The status of these options
- is uncertain.
- */
-
- /* RawMode options*/
-
- enum
- {
- kOTRawRcvOn = 0,
- kOTRawRcvOff = 1,
- kOTRawRcvOnWithTimeStamp = 2
- };
-
- enum
- {
- DL_PROMISC_OFF = 0 /* OPT_SETPROMISCUOUS value*/
- };
-
- /* Module definitions*/
-
- /* Module IDs*/
-
- enum
- {
- kT8022ModuleID = 7100,
- kEnetModuleID = 7101,
- kTokenRingModuleID = 7102,
- kFDDIModuleID = 7103
- };
-
- /* Module Names*/
+/* AppleTalkInfo as used by the OTGetATalkInfo function*/
+
+struct AppleTalkInfo {
+ DDPAddress fOurAddress; /* Our DDP address (network # & node)*/
+ DDPAddress fRouterAddress; /* The address of a router on our cable*/
+ UInt16 fCableRange[2]; /* The current cable range*/
+ UInt16 fFlags; /* See below*/
+};
+typedef struct AppleTalkInfo AppleTalkInfo;
+/* For the fFlags field in AppleTalkInfo*/
+enum {
+ kATalkInfoIsExtended = 0x0001, /* This is an extended (phase 2) network*/
+ kATalkInfoHasRouter = 0x0002, /* This cable has a router*/
+ kATalkInfoOneZone = 0x0004 /* This cable has only one zone*/
+};
+
+/* ***** Ethernet ******/
+
+/* Interface option flags*/
+
+/* Ethernet framing options*/
+
+enum {
+ kOTFramingEthernet = 0x01,
+ kOTFramingEthernetIPX = 0x02,
+ kOTFraming8023 = 0x04,
+ kOTFraming8022 = 0x08
+};
+
+/*
+ These are obsolete and will be going away in OT 1.5.
+ Hmmm, OT 1.5 got cancelled. The status of these options
+ is uncertain.
+*/
+
+/* RawMode options*/
+
+enum {
+ kOTRawRcvOn = 0,
+ kOTRawRcvOff = 1,
+ kOTRawRcvOnWithTimeStamp = 2
+};
+
+enum {
+ DL_PROMISC_OFF = 0 /* OPT_SETPROMISCUOUS value*/
+};
+
+/* Module definitions*/
+
+/* Module IDs*/
+
+enum {
+ kT8022ModuleID = 7100,
+ kEnetModuleID = 7101,
+ kTokenRingModuleID = 7102,
+ kFDDIModuleID = 7103
+};
+
+/* Module Names*/
#define kEnet8022Name "enet8022x"
@@ -1657,80 +1591,73 @@ extern "C" { /* resume C definitions */
#define kFireWireName "firewire"
#define kFibreChannelName "fibre"
- /* Address Family*/
-
- enum
- {
- AF_8022 = 8200 /* Our 802.2 generic address family*/
- };
-
- /* XTI Levels*/
-
- enum
- {
- LNK_ENET = FOUR_CHAR_CODE('ENET'),
- LNK_TOKN = FOUR_CHAR_CODE('TOKN'),
- LNK_FDDI = FOUR_CHAR_CODE('FDDI'),
- LNK_TPI = FOUR_CHAR_CODE('LTPI')
- };
-
- /* Options*/
-
- enum
- {
- OPT_ADDMCAST = 0x1000,
- OPT_DELMCAST = 0x1001,
- OPT_RCVPACKETTYPE = 0x1002,
- OPT_RCVDESTADDR = 0x1003,
- OPT_SETRAWMODE = 0x1004,
- OPT_SETPROMISCUOUS = 0x1005
- };
-
- typedef UInt32 OTPacketType;
- enum
- {
- kETypeStandard = 0,
- kETypeMulticast = 1,
- kETypeBroadcast = 2,
- kETRawPacketBit = (unsigned long)0x80000000,
- kETTimeStampBit = 0x40000000
- };
-
- /* Link related constants*/
-
- enum
- {
- kMulticastLength = 6, /* length of an ENET hardware addressaddress*/
- k48BitAddrLength = 6,
- k8022DLSAPLength = 2, /* The protocol type is our DLSAP*/
- k8022SNAPLength = 5,
- kEnetAddressLength = k48BitAddrLength + k8022DLSAPLength, /* length of an address field used by the ENET enpoint*/
- /* = k48BitAddrLength + sizeof(protocol type)*/
- kSNAPSAP = 0x00AA, /* Special DLSAPS for ENET*/
- kIPXSAP = 0x00FF,
- kMax8022SAP = 0x00FE,
- k8022GlobalSAP = 0x00FF,
- kMinDIXSAP = 1501,
- kMaxDIXSAP = 0xFFFF
- };
-
- /* Generic Address Structure*/
-
- struct T8022Address
- {
- OTAddressType fAddrFamily;
- UInt8 fHWAddr[6];
- UInt16 fSAP;
- UInt8 fSNAP[5];
- };
- typedef struct T8022Address T8022Address;
- enum
- {
- k8022BasicAddressLength = sizeof(OTAddressType) + k48BitAddrLength + sizeof(UInt16),
- k8022SNAPAddressLength = sizeof(OTAddressType) + k48BitAddrLength + sizeof(UInt16) + k8022SNAPLength
- };
-
- /* Some helpful stuff for dealing with 48 bit addresses*/
+/* Address Family*/
+
+enum {
+ AF_8022 = 8200 /* Our 802.2 generic address family*/
+};
+
+/* XTI Levels*/
+
+enum {
+ LNK_ENET = FOUR_CHAR_CODE('ENET'),
+ LNK_TOKN = FOUR_CHAR_CODE('TOKN'),
+ LNK_FDDI = FOUR_CHAR_CODE('FDDI'),
+ LNK_TPI = FOUR_CHAR_CODE('LTPI')
+};
+
+/* Options*/
+
+enum {
+ OPT_ADDMCAST = 0x1000,
+ OPT_DELMCAST = 0x1001,
+ OPT_RCVPACKETTYPE = 0x1002,
+ OPT_RCVDESTADDR = 0x1003,
+ OPT_SETRAWMODE = 0x1004,
+ OPT_SETPROMISCUOUS = 0x1005
+};
+
+typedef UInt32 OTPacketType;
+enum {
+ kETypeStandard = 0,
+ kETypeMulticast = 1,
+ kETypeBroadcast = 2,
+ kETRawPacketBit = (unsigned long)0x80000000,
+ kETTimeStampBit = 0x40000000
+};
+
+/* Link related constants*/
+
+enum {
+ kMulticastLength = 6, /* length of an ENET hardware addressaddress*/
+ k48BitAddrLength = 6,
+ k8022DLSAPLength = 2, /* The protocol type is our DLSAP*/
+ k8022SNAPLength = 5,
+ kEnetAddressLength = k48BitAddrLength + k8022DLSAPLength, /* length of an address field used by the ENET enpoint*/
+ /* = k48BitAddrLength + sizeof(protocol type)*/
+ kSNAPSAP = 0x00AA, /* Special DLSAPS for ENET*/
+ kIPXSAP = 0x00FF,
+ kMax8022SAP = 0x00FE,
+ k8022GlobalSAP = 0x00FF,
+ kMinDIXSAP = 1501,
+ kMaxDIXSAP = 0xFFFF
+};
+
+/* Generic Address Structure*/
+
+struct T8022Address {
+ OTAddressType fAddrFamily;
+ UInt8 fHWAddr[6];
+ UInt16 fSAP;
+ UInt8 fSNAP[5];
+};
+typedef struct T8022Address T8022Address;
+enum {
+ k8022BasicAddressLength = sizeof(OTAddressType) + k48BitAddrLength + sizeof(UInt16),
+ k8022SNAPAddressLength = sizeof(OTAddressType) + k48BitAddrLength + sizeof(UInt16) + k8022SNAPLength
+};
+
+/* Some helpful stuff for dealing with 48 bit addresses*/
#define OTCompare48BitAddresses(p1, p2) \
@@ -1765,89 +1692,81 @@ extern "C" { /* resume C definitions */
(*(UInt32*)((UInt8*)(p1)) == 0 && \
*(UInt16*)(((UInt8*)(p1))+4) == 0 )
- /* Link related constants*/
-
- enum
- {
- kEnetPacketHeaderLength = (2 * k48BitAddrLength) + k8022DLSAPLength,
- kEnetTSDU = 1514, /* The TSDU for ethernet.*/
- kTokenRingTSDU = 4458, /* The TSDU for TokenRing.*/
- kFDDITSDU = 4458, /* The TSDU for FDDI. */
- k8022SAPLength = 1,
- k8022BasicHeaderLength = 3, /* define the length of the header portion of an 802.2 packet.*/
- /* = SSAP+DSAP+ControlByte*/
- k8022SNAPHeaderLength = k8022SNAPLength + k8022BasicHeaderLength
- };
-
- /*******************************************************************************
- ** Address Types recognized by the Enet DLPI
- ********************************************************************************/
- typedef UInt32 EAddrType;
- enum
- {
- keaStandardAddress = 0,
- keaMulticast = 1,
- keaBroadcast = 2,
- keaBadAddress = 3,
- keaRawPacketBit = (unsigned long)0x80000000,
- keaTimeStampBit = 0x40000000
- };
-
- /* Packet Header Structures*/
-
- struct EnetPacketHeader
- {
- UInt8 fDestAddr[6];
- UInt8 fSourceAddr[6];
- UInt16 fProto;
- };
- typedef struct EnetPacketHeader EnetPacketHeader;
- struct T8022Header
- {
- UInt8 fDSAP;
- UInt8 fSSAP;
- UInt8 fCtrl;
- };
- typedef struct T8022Header T8022Header;
- struct T8022SNAPHeader
- {
- UInt8 fDSAP;
- UInt8 fSSAP;
- UInt8 fCtrl;
- UInt8 fSNAP[5];
- };
- typedef struct T8022SNAPHeader T8022SNAPHeader;
- struct T8022FullPacketHeader
- {
- EnetPacketHeader fEnetPart;
- T8022SNAPHeader f8022Part;
- };
- typedef struct T8022FullPacketHeader T8022FullPacketHeader;
- /* Define the lengths of the structures above*/
- enum
- {
- kT8022HeaderLength = 3,
- kT8022SNAPHeaderLength = 3 + k8022SNAPLength,
- kT8022FullPacketHeaderLength = kEnetPacketHeaderLength + kT8022SNAPHeaderLength
- };
-
- /* ***** Serial ******/
-
- /* Module Definitions*/
-
- /* XTI Level*/
-
- enum
- {
- COM_SERIAL = FOUR_CHAR_CODE('SERL')
- };
-
- /* Version Number*/
+/* Link related constants*/
+
+enum {
+ kEnetPacketHeaderLength = (2 * k48BitAddrLength) + k8022DLSAPLength,
+ kEnetTSDU = 1514, /* The TSDU for ethernet.*/
+ kTokenRingTSDU = 4458, /* The TSDU for TokenRing.*/
+ kFDDITSDU = 4458, /* The TSDU for FDDI. */
+ k8022SAPLength = 1,
+ k8022BasicHeaderLength = 3, /* define the length of the header portion of an 802.2 packet.*/
+ /* = SSAP+DSAP+ControlByte*/
+ k8022SNAPHeaderLength = k8022SNAPLength + k8022BasicHeaderLength
+};
+
+/*******************************************************************************
+** Address Types recognized by the Enet DLPI
+********************************************************************************/
+typedef UInt32 EAddrType;
+enum {
+ keaStandardAddress = 0,
+ keaMulticast = 1,
+ keaBroadcast = 2,
+ keaBadAddress = 3,
+ keaRawPacketBit = (unsigned long)0x80000000,
+ keaTimeStampBit = 0x40000000
+};
+
+/* Packet Header Structures*/
+
+struct EnetPacketHeader {
+ UInt8 fDestAddr[6];
+ UInt8 fSourceAddr[6];
+ UInt16 fProto;
+};
+typedef struct EnetPacketHeader EnetPacketHeader;
+struct T8022Header {
+ UInt8 fDSAP;
+ UInt8 fSSAP;
+ UInt8 fCtrl;
+};
+typedef struct T8022Header T8022Header;
+struct T8022SNAPHeader {
+ UInt8 fDSAP;
+ UInt8 fSSAP;
+ UInt8 fCtrl;
+ UInt8 fSNAP[5];
+};
+typedef struct T8022SNAPHeader T8022SNAPHeader;
+struct T8022FullPacketHeader {
+ EnetPacketHeader fEnetPart;
+ T8022SNAPHeader f8022Part;
+};
+typedef struct T8022FullPacketHeader T8022FullPacketHeader;
+/* Define the lengths of the structures above*/
+enum {
+ kT8022HeaderLength = 3,
+ kT8022SNAPHeaderLength = 3 + k8022SNAPLength,
+ kT8022FullPacketHeaderLength = kEnetPacketHeaderLength + kT8022SNAPHeaderLength
+};
+
+/* ***** Serial ******/
+
+/* Module Definitions*/
+
+/* XTI Level*/
+
+enum {
+ COM_SERIAL = FOUR_CHAR_CODE('SERL')
+};
+
+/* Version Number*/
#define kSerialABVersion "1.1.1"
- /* Module Names*/
+/* Module Names*/
#define kSerialABName "serialAB"
@@ -1855,151 +1774,144 @@ extern "C" { /* resume C definitions */
#define kSerialPortAName "serialA"
#define kSerialPortBName "serialB"
- enum
- {
- kSerialABModuleID = 7200
- };
-
- enum
- {
- kOTSerialFramingAsync = 0x01, /* Support Async serial mode */
- kOTSerialFramingHDLC = 0x02, /* Support HDLC synchronous serial mode */
- kOTSerialFramingSDLC = 0x04, /* Support SDLC synchronous serial mode */
- kOTSerialFramingAsyncPackets = 0x08, /* Support Async "packet" serial mode */
- kOTSerialFramingPPP = 0x10 /* Port does its own PPP framing - wants unframed packets from PPP */
- };
-
- /* IOCTL Calls for Serial Drivers*/
-
- enum
- {
- I_SetSerialDTR = ((MIOC_SRL << 8) | 0), /* Set DTR (0 = off, 1 = on)*/
- kOTSerialSetDTROff = 0,
- kOTSerialSetDTROn = 1,
- I_SetSerialBreak = ((MIOC_SRL << 8) | 1), /* Send a break on the line - kOTSerialSetBreakOff = off, kOTSerialSetBreakOn = on,*/
- /* Any other number is the number of milliseconds to leave break on, then*/
- /* auto shutoff*/
- kOTSerialSetBreakOn = (unsigned long)0xFFFFFFFF,
- kOTSerialSetBreakOff = 0,
- I_SetSerialXOffState = ((MIOC_SRL << 8) | 2), /* Force XOFF state - 0 = Unconditionally clear XOFF state, 1 = unconditionally set it*/
- kOTSerialForceXOffTrue = 1,
- kOTSerialForceXOffFalse = 0,
- I_SetSerialXOn = ((MIOC_SRL << 8) | 3), /* Send an XON character, 0 = send only if in XOFF state, 1 = send always*/
- kOTSerialSendXOnAlways = 1,
- kOTSerialSendXOnIfXOffTrue = 0,
- I_SetSerialXOff = ((MIOC_SRL << 8) | 4), /* Send an XOFF character, 0 = send only if in XON state, 1 = send always*/
- kOTSerialSendXOffAlways = 1,
- kOTSerialSendXOffIfXOnTrue = 0
- };
-
- /* Option Management for Serial Drivers*/
-
- /*
- These options are all 4-byte values.
- BaudRate is the baud rate.
- DataBits is the number of data bits.
- StopBits is the number of stop bits times 10.
- Parity is an enum
- */
-
- enum
- {
- SERIAL_OPT_BAUDRATE = 0x0100, /* UInt32 */
- SERIAL_OPT_DATABITS = 0x0101, /* UInt32 */
- SERIAL_OPT_STOPBITS = 0x0102, /* UInt32 10, 15 or 20 for 1, 1.5 or 2 */
- SERIAL_OPT_PARITY = 0x0103, /* UInt32 */
- SERIAL_OPT_STATUS = 0x0104, /* UInt32 */
- /* The "Status" option is a 4-byte value option that is ReadOnly*/
- /* It returns a bitmap of the current serial status*/
- SERIAL_OPT_HANDSHAKE = 0x0105, /* UInt32 */
- /* The "Handshake" option defines what kind of handshaking the serial port*/
- /* will do for line flow control. The value is a 32-bit value defined by*/
- /* the function or macro SerialHandshakeData below.*/
- /* For no handshake, or CTS handshake, the onChar and offChar parameters*/
- /* are ignored.*/
- SERIAL_OPT_RCVTIMEOUT = 0x0106, /* The "RcvTimeout" option defines how long the receiver should wait before delivering*/
- /* less than the RcvLoWat number of characters. If RcvLoWat is 0, then the RcvTimeout*/
- /* is how long a gap to wait for before delivering characters. This parameter is advisory,*/
- /* and serial drivers are free to deliver data whenever they deem it convenient. For instance,*/
- /* many serial drivers will deliver data whenever 64 bytes have been received, since 64 bytes*/
- /* is the smallest STREAMS buffer size. Keep in mind that timeouts are quantized, so be sure to*/
- /* look at the return value of the option to determine what it was negotiated to.*/
- SERIAL_OPT_ERRORCHARACTER = 0x0107, /* This option defines how characters with parity errors are handled.*/
- /* A 0 value will disable all replacement. A single character value in the low*/
- /* byte designates the replacement character. When characters are received with a */
- /* parity error, they are replaced by this specified character. If a valid incoming*/
- /* character matches the replacement character, then the received character's msb is*/
- /* cleared. For this situation, the alternate character is used, if specified in bits*/
- /* 8 through 15 of the option long, with 0xff being place in bits 16 through 23.*/
- /* Whenever a valid character is received that matches the first replacement character,*/
- /* it is replaced with this alternate character.*/
- SERIAL_OPT_EXTCLOCK = 0x0108, /* The "ExtClock" requests an external clock. A 0-value turns off external clocking.*/
- /* Any other value is a requested divisor for the external clock. Be aware that*/
- /* not all serial implementations support an external clock, and that not all*/
- /* requested divisors will be supported if it does support an external clock.*/
- SERIAL_OPT_BURSTMODE = 0x0109, /* The "BurstMode" option informs the serial driver that it should continue looping,*/
- /* reading incoming characters, rather than waiting for an interrupt for each character.*/
- /* This option may not be supported by all Serial driver*/
- SERIAL_OPT_DUMMY = 0x010A /* placeholder*/
- };
-
- typedef UInt32 ParityOptionValues;
- enum
- {
- kOTSerialNoParity = 0,
- kOTSerialOddParity = 1,
- kOTSerialEvenParity = 2
- };
-
- enum
- {
- kOTSerialSwOverRunErr = 0x01,
- kOTSerialBreakOn = 0x08,
- kOTSerialParityErr = 0x10,
- kOTSerialOverrunErr = 0x20,
- kOTSerialFramingErr = 0x40,
- kOTSerialXOffSent = 0x00010000,
- kOTSerialDTRNegated = 0x00020000,
- kOTSerialCTLHold = 0x00040000,
- kOTSerialXOffHold = 0x00080000,
- kOTSerialOutputBreakOn = 0x01000000
- };
-
- enum
- {
- kOTSerialXOnOffInputHandshake = 1, /* Want XOn/XOff handshake for incoming characters */
- kOTSerialXOnOffOutputHandshake = 2, /* Want XOn/XOff handshake for outgoing characters */
- kOTSerialCTSInputHandshake = 4, /* Want CTS handshake for incoming characters */
- kOTSerialDTROutputHandshake = 8 /* Want DTR handshake for outoing characters */
- };
+enum {
+ kSerialABModuleID = 7200
+};
+
+enum {
+ kOTSerialFramingAsync = 0x01, /* Support Async serial mode */
+ kOTSerialFramingHDLC = 0x02, /* Support HDLC synchronous serial mode */
+ kOTSerialFramingSDLC = 0x04, /* Support SDLC synchronous serial mode */
+ kOTSerialFramingAsyncPackets = 0x08, /* Support Async "packet" serial mode */
+ kOTSerialFramingPPP = 0x10 /* Port does its own PPP framing - wants unframed packets from PPP */
+};
+
+/* IOCTL Calls for Serial Drivers*/
+
+enum {
+ I_SetSerialDTR = ((MIOC_SRL << 8) | 0), /* Set DTR (0 = off, 1 = on)*/
+ kOTSerialSetDTROff = 0,
+ kOTSerialSetDTROn = 1,
+ I_SetSerialBreak = ((MIOC_SRL << 8) | 1), /* Send a break on the line - kOTSerialSetBreakOff = off, kOTSerialSetBreakOn = on,*/
+ /* Any other number is the number of milliseconds to leave break on, then*/
+ /* auto shutoff*/
+ kOTSerialSetBreakOn = (unsigned long)0xFFFFFFFF,
+ kOTSerialSetBreakOff = 0,
+ I_SetSerialXOffState = ((MIOC_SRL << 8) | 2), /* Force XOFF state - 0 = Unconditionally clear XOFF state, 1 = unconditionally set it*/
+ kOTSerialForceXOffTrue = 1,
+ kOTSerialForceXOffFalse = 0,
+ I_SetSerialXOn = ((MIOC_SRL << 8) | 3), /* Send an XON character, 0 = send only if in XOFF state, 1 = send always*/
+ kOTSerialSendXOnAlways = 1,
+ kOTSerialSendXOnIfXOffTrue = 0,
+ I_SetSerialXOff = ((MIOC_SRL << 8) | 4), /* Send an XOFF character, 0 = send only if in XON state, 1 = send always*/
+ kOTSerialSendXOffAlways = 1,
+ kOTSerialSendXOffIfXOnTrue = 0
+};
+
+/* Option Management for Serial Drivers*/
+
+/*
+ These options are all 4-byte values.
+ BaudRate is the baud rate.
+ DataBits is the number of data bits.
+ StopBits is the number of stop bits times 10.
+ Parity is an enum
+*/
+
+enum {
+ SERIAL_OPT_BAUDRATE = 0x0100, /* UInt32 */
+ SERIAL_OPT_DATABITS = 0x0101, /* UInt32 */
+ SERIAL_OPT_STOPBITS = 0x0102, /* UInt32 10, 15 or 20 for 1, 1.5 or 2 */
+ SERIAL_OPT_PARITY = 0x0103, /* UInt32 */
+ SERIAL_OPT_STATUS = 0x0104, /* UInt32 */
+ /* The "Status" option is a 4-byte value option that is ReadOnly*/
+ /* It returns a bitmap of the current serial status*/
+ SERIAL_OPT_HANDSHAKE = 0x0105, /* UInt32 */
+ /* The "Handshake" option defines what kind of handshaking the serial port*/
+ /* will do for line flow control. The value is a 32-bit value defined by*/
+ /* the function or macro SerialHandshakeData below.*/
+ /* For no handshake, or CTS handshake, the onChar and offChar parameters*/
+ /* are ignored.*/
+ SERIAL_OPT_RCVTIMEOUT = 0x0106, /* The "RcvTimeout" option defines how long the receiver should wait before delivering*/
+ /* less than the RcvLoWat number of characters. If RcvLoWat is 0, then the RcvTimeout*/
+ /* is how long a gap to wait for before delivering characters. This parameter is advisory,*/
+ /* and serial drivers are free to deliver data whenever they deem it convenient. For instance,*/
+ /* many serial drivers will deliver data whenever 64 bytes have been received, since 64 bytes*/
+ /* is the smallest STREAMS buffer size. Keep in mind that timeouts are quantized, so be sure to*/
+ /* look at the return value of the option to determine what it was negotiated to.*/
+ SERIAL_OPT_ERRORCHARACTER = 0x0107, /* This option defines how characters with parity errors are handled.*/
+ /* A 0 value will disable all replacement. A single character value in the low*/
+ /* byte designates the replacement character. When characters are received with a */
+ /* parity error, they are replaced by this specified character. If a valid incoming*/
+ /* character matches the replacement character, then the received character's msb is*/
+ /* cleared. For this situation, the alternate character is used, if specified in bits*/
+ /* 8 through 15 of the option long, with 0xff being place in bits 16 through 23.*/
+ /* Whenever a valid character is received that matches the first replacement character,*/
+ /* it is replaced with this alternate character.*/
+ SERIAL_OPT_EXTCLOCK = 0x0108, /* The "ExtClock" requests an external clock. A 0-value turns off external clocking.*/
+ /* Any other value is a requested divisor for the external clock. Be aware that*/
+ /* not all serial implementations support an external clock, and that not all*/
+ /* requested divisors will be supported if it does support an external clock.*/
+ SERIAL_OPT_BURSTMODE = 0x0109, /* The "BurstMode" option informs the serial driver that it should continue looping,*/
+ /* reading incoming characters, rather than waiting for an interrupt for each character.*/
+ /* This option may not be supported by all Serial driver*/
+ SERIAL_OPT_DUMMY = 0x010A /* placeholder*/
+};
+
+typedef UInt32 ParityOptionValues;
+enum {
+ kOTSerialNoParity = 0,
+ kOTSerialOddParity = 1,
+ kOTSerialEvenParity = 2
+};
+
+enum {
+ kOTSerialSwOverRunErr = 0x01,
+ kOTSerialBreakOn = 0x08,
+ kOTSerialParityErr = 0x10,
+ kOTSerialOverrunErr = 0x20,
+ kOTSerialFramingErr = 0x40,
+ kOTSerialXOffSent = 0x00010000,
+ kOTSerialDTRNegated = 0x00020000,
+ kOTSerialCTLHold = 0x00040000,
+ kOTSerialXOffHold = 0x00080000,
+ kOTSerialOutputBreakOn = 0x01000000
+};
+
+enum {
+ kOTSerialXOnOffInputHandshake = 1, /* Want XOn/XOff handshake for incoming characters */
+ kOTSerialXOnOffOutputHandshake = 2, /* Want XOn/XOff handshake for outgoing characters */
+ kOTSerialCTSInputHandshake = 4, /* Want CTS handshake for incoming characters */
+ kOTSerialDTROutputHandshake = 8 /* Want DTR handshake for outoing characters */
+};
#ifdef __cplusplus
- inline UInt32 OTSerialHandshakeData(UInt16 type, UInt8 onChar, UInt8 offChar)
- {
- return (((UInt32)type) << 16) | (((UInt32)onChar) << 8) | offChar;
- }
+ inline UInt32 OTSerialHandshakeData(UInt16 type, UInt8 onChar, UInt8 offChar)
+ {
+ return (((UInt32)type) << 16) | (((UInt32)onChar) << 8) | offChar;
+ }
#else
-#define OTSerialHandshakeData(type, onChar, offChar) \
+ #define OTSerialHandshakeData(type, onChar, offChar) \
((((UInt32)type) << 16) | (((UInt32)onChar) << 8) | offChar)
-
+
#endif
#ifdef __cplusplus
- inline UInt32 OTSerialSetErrorCharacter(UInt8 rep)
- {
- return (UInt32)rep & 0x000000ff;
- }
+inline UInt32 OTSerialSetErrorCharacter(UInt8 rep)
+{
+ return (UInt32)rep & 0x000000ff;
+}
- inline UInt32 OTSerialSetErrorCharacterWithAlternate(UInt8 rep, UInt8 alternate)
- {
- return (((rep & 0xff) | ((alternate & 0xff) << 8)) | 0x80000000L);
- }
+inline UInt32 OTSerialSetErrorCharacterWithAlternate(UInt8 rep, UInt8 alternate)
+{
+ return (((rep & 0xff) | ((alternate & 0xff) << 8)) | 0x80000000L);
+}
#else
@@ -2011,386 +1923,354 @@ extern "C" { /* resume C definitions */
#endif
- /* Default attributes for the serial ports*/
-
- enum
- {
- kOTSerialDefaultBaudRate = 19200,
- kOTSerialDefaultDataBits = 8,
- kOTSerialDefaultStopBits = 10,
- kOTSerialDefaultParity = kOTSerialNoParity,
- kOTSerialDefaultHandshake = 0,
- kOTSerialDefaultOnChar = ('Q' & 0xFFFFFFBF),
- kOTSerialDefaultOffChar = ('S' & 0xFFFFFFBF),
- kOTSerialDefaultSndBufSize = 1024,
- kOTSerialDefaultRcvBufSize = 1024,
- kOTSerialDefaultSndLoWat = 96,
- kOTSerialDefaultRcvLoWat = 1,
- kOTSerialDefaultRcvTimeout = 10
- };
+/* Default attributes for the serial ports*/
+
+enum {
+ kOTSerialDefaultBaudRate = 19200,
+ kOTSerialDefaultDataBits = 8,
+ kOTSerialDefaultStopBits = 10,
+ kOTSerialDefaultParity = kOTSerialNoParity,
+ kOTSerialDefaultHandshake = 0,
+ kOTSerialDefaultOnChar = ('Q' & 0xFFFFFFBF),
+ kOTSerialDefaultOffChar = ('S' & 0xFFFFFFBF),
+ kOTSerialDefaultSndBufSize = 1024,
+ kOTSerialDefaultRcvBufSize = 1024,
+ kOTSerialDefaultSndLoWat = 96,
+ kOTSerialDefaultRcvLoWat = 1,
+ kOTSerialDefaultRcvTimeout = 10
+};
- /* ***** ISDN ******/
+/* ***** ISDN ******/
- /* Module Definitions*/
+/* Module Definitions*/
- /* XTI Level*/
+/* XTI Level*/
- enum
- {
- COM_ISDN = FOUR_CHAR_CODE('ISDN')
- };
+enum {
+ COM_ISDN = FOUR_CHAR_CODE('ISDN')
+};
- /* Module Names*/
+/* Module Names*/
#define kISDNName "isdn"
- enum
- {
- kISDNModuleID = 7300
- };
-
-
- /* ISDN framing methods, set using the I_OTSetFramingType IOCTL*/
-
- enum
- {
- kOTISDNFramingTransparentSupported = 0x0010, /* Support Transparent mode */
- kOTISDNFramingHDLCSupported = 0x0020, /* Support HDLC Synchronous mode */
- kOTISDNFramingV110Supported = 0x0040, /* Support V.110 Asynchronous mode */
- kOTISDNFramingV14ESupported = 0x0080 /* Support V.14 Asynchronous mode */
- };
-
- /* Miscellaneous equates*/
-
- /* Disconnect reason codes (from Q.931)*/
-
- enum
- {
- kOTISDNUnallocatedNumber = 1,
- kOTISDNNoRouteToSpecifiedTransitNetwork = 2,
- kOTISDNNoRouteToDestination = 3,
- kOTISDNChannelUnacceptable = 6,
- kOTISDNNormal = 16,
- kOTISDNUserBusy = 17,
- kOTISDNNoUserResponding = 18,
- kOTISDNNoAnswerFromUser = 19,
- kOTISDNCallRejected = 21,
- kOTISDNNumberChanged = 22,
- kOTISDNNonSelectedUserClearing = 26,
- kOTISDNDestinationOutOfOrder = 27,
- kOTISDNInvalidNumberFormat = 28,
- kOTISDNFacilityRejected = 29,
- kOTISDNNormalUnspecified = 31,
- kOTISDNNoCircuitChannelAvailable = 34,
- kOTISDNNetworkOutOfOrder = 41,
- kOTISDNSwitchingEquipmentCongestion = 42,
- kOTISDNAccessInformationDiscarded = 43,
- kOTISDNRequestedCircuitChannelNotAvailable = 44,
- kOTISDNResourceUnavailableUnspecified = 45,
- kOTISDNQualityOfServiceUnvailable = 49,
- kOTISDNRequestedFacilityNotSubscribed = 50,
- kOTISDNBearerCapabilityNotAuthorized = 57,
- kOTISDNBearerCapabilityNotPresentlyAvailable = 58,
- kOTISDNCallRestricted = 59,
- kOTISDNServiceOrOptionNotAvilableUnspecified = 63,
- kOTISDNBearerCapabilityNotImplemented = 65,
- kOTISDNRequestedFacilityNotImplemented = 69,
- kOTISDNOnlyRestrictedDigitalBearer = 70,
- kOTISDNServiceOrOptionNotImplementedUnspecified = 79,
- kOTISDNCallIdentityNotUsed = 83,
- kOTISDNCallIdentityInUse = 84,
- kOTISDNNoCallSuspended = 85,
- kOTISDNCallIdentityCleared = 86,
- kOTISDNIncompatibleDestination = 88,
- kOTISDNInvalidTransitNetworkSelection = 91,
- kOTISDNInvalidMessageUnspecified = 95,
- kOTISDNMandatoryInformationElementIsMissing = 96,
- kOTISDNMessageTypeNonExistentOrNotImplemented = 97,
- kOTISDNInterworkingUnspecified = 127
- };
-
- /* OTISDNAddress*/
-
- /*
- The OTISDNAddress has the following format:
- "xxxxxx*yy"
- where 'x' is the phone number and 'y' is the sub address (if available
- in the network. The characters are coded in ASCII (IA5), and valid
- characters are: '0'-'9','#','*'.
- The max length of the each phone number is 21 characters (?) and the max
- subaddress length is network dependent.
- When using bonded channels the phone numbers are separated by '&'.
- The X.25 user data is preceded by '@'.
- */
-
- enum
- {
- kAF_ISDN = 0x2000
- };
-
- enum
- {
- AF_ISDN = kAF_ISDN
- };
-
- enum
- {
- kOTISDNMaxPhoneSize = 32,
- kOTISDNMaxSubSize = 4
- };
-
- struct OTISDNAddress
- {
- OTAddressType fAddressType;
- UInt16 fPhoneLength;
- char fPhoneNumber[37];
- };
- typedef struct OTISDNAddress OTISDNAddress;
- /* IOCTL Calls for ISDN*/
- /* ISDN shares the same ioctl space as serial.*/
-
- enum
- {
- MIOC_ISDN = 'U' /* ISDN ioctl() cmds */
- };
-
- enum
- {
- I_OTISDNAlerting = ((MIOC_ISDN << 8) | 100), /* Send or receive an ALERTING message*/
- I_OTISDNSuspend = ((MIOC_ISDN << 8) | 101), /* Send a SUSPEND message*/
- /* The parameter is the Call Identity (Maximum 8 octets)*/
- I_OTISDNSuspendAcknowledge = ((MIOC_ISDN << 8) | 102), /* Receive a SUSPEND ACKNOWLEDGE message*/
- I_OTISDNSuspendReject = ((MIOC_ISDN << 8) | 103), /* Receive a SUSPEND REJECT message*/
- I_OTISDNResume = ((MIOC_ISDN << 8) | 104), /* Send a RESUME message*/
- /* The parameter is the Call Identity (Maximum 8 octets)*/
- I_OTISDNResumeAcknowledge = ((MIOC_ISDN << 8) | 105), /* Receive a RESUME ACKNOWLEDGE message*/
- I_OTISDNResumeReject = ((MIOC_ISDN << 8) | 106), /* Receive a RESUME REJECT message*/
- I_OTISDNFaciltity = ((MIOC_ISDN << 8) | 107) /* Send or receive a FACILITY message*/
- };
-
- /* Connect user data size*/
-
- enum
- {
- kOTISDNMaxUserDataSize = 32
- };
-
- /* Option management calls for ISDN*/
-
- enum
- {
- ISDN_OPT_COMMTYPE = 0x0200,
- ISDN_OPT_FRAMINGTYPE = 0x0201,
- ISDN_OPT_56KADAPTATION = 0x0202
- };
-
- /* For ISDN_OPT_COMMTYPE...*/
-
- enum
- {
- kOTISDNTelephoneALaw = 1, /* G.711 A-law */
- kOTISDNTelephoneMuLaw = 26, /* G.711 .-law */
- kOTISDNDigital64k = 13, /* unrestricted digital (default) */
- kOTISDNDigital56k = 37, /* user rate 56Kb/s */
- kOTISDNVideo64k = 41, /* video terminal at 64Kb/s */
- kOTISDNVideo56k = 42 /* video terminal at 56Kb/s */
- };
-
- /* For ISDN_OPT_FRAMINGTYPE...*/
-
- enum
- {
- kOTISDNFramingTransparent = 0x0010, /* Transparent mode */
- kOTISDNFramingHDLC = 0x0020, /* HDLC synchronous mode (default) */
- kOTISDNFramingV110 = 0x0040, /* V.110 asynchronous mode */
- kOTISDNFramingV14E = 0x0080 /* V.14E asynchronous mode */
- };
-
- /* For ISDN_OPT_56KADAPTATION...*/
-
- enum
- {
- kOTISDNNot56KAdaptation = false, /* not 56K Adaptation (default) */
- kOTISDN56KAdaptation = true /* 56K Adaptation */
- };
-
- /* Default options, you do not need to set these*/
-
- enum
- {
- kOTISDNDefaultCommType = kOTISDNDigital64k,
- kOTISDNDefaultFramingType = kOTISDNFramingHDLC,
- kOTISDNDefault56KAdaptation = kOTISDNNot56KAdaptation
- };
-
-
- /*******************************************************************************
- * Constants for Open Transport-based Remote Access/PPP API
- ********************************************************************************/
-
- /* OTCreateConfiguration name for PPP control endpoint*/
+enum {
+ kISDNModuleID = 7300
+};
+
+
+/* ISDN framing methods, set using the I_OTSetFramingType IOCTL*/
+
+enum {
+ kOTISDNFramingTransparentSupported = 0x0010, /* Support Transparent mode */
+ kOTISDNFramingHDLCSupported = 0x0020, /* Support HDLC Synchronous mode */
+ kOTISDNFramingV110Supported = 0x0040, /* Support V.110 Asynchronous mode */
+ kOTISDNFramingV14ESupported = 0x0080 /* Support V.14 Asynchronous mode */
+};
+
+/* Miscellaneous equates*/
+
+/* Disconnect reason codes (from Q.931)*/
+
+enum {
+ kOTISDNUnallocatedNumber = 1,
+ kOTISDNNoRouteToSpecifiedTransitNetwork = 2,
+ kOTISDNNoRouteToDestination = 3,
+ kOTISDNChannelUnacceptable = 6,
+ kOTISDNNormal = 16,
+ kOTISDNUserBusy = 17,
+ kOTISDNNoUserResponding = 18,
+ kOTISDNNoAnswerFromUser = 19,
+ kOTISDNCallRejected = 21,
+ kOTISDNNumberChanged = 22,
+ kOTISDNNonSelectedUserClearing = 26,
+ kOTISDNDestinationOutOfOrder = 27,
+ kOTISDNInvalidNumberFormat = 28,
+ kOTISDNFacilityRejected = 29,
+ kOTISDNNormalUnspecified = 31,
+ kOTISDNNoCircuitChannelAvailable = 34,
+ kOTISDNNetworkOutOfOrder = 41,
+ kOTISDNSwitchingEquipmentCongestion = 42,
+ kOTISDNAccessInformationDiscarded = 43,
+ kOTISDNRequestedCircuitChannelNotAvailable = 44,
+ kOTISDNResourceUnavailableUnspecified = 45,
+ kOTISDNQualityOfServiceUnvailable = 49,
+ kOTISDNRequestedFacilityNotSubscribed = 50,
+ kOTISDNBearerCapabilityNotAuthorized = 57,
+ kOTISDNBearerCapabilityNotPresentlyAvailable = 58,
+ kOTISDNCallRestricted = 59,
+ kOTISDNServiceOrOptionNotAvilableUnspecified = 63,
+ kOTISDNBearerCapabilityNotImplemented = 65,
+ kOTISDNRequestedFacilityNotImplemented = 69,
+ kOTISDNOnlyRestrictedDigitalBearer = 70,
+ kOTISDNServiceOrOptionNotImplementedUnspecified = 79,
+ kOTISDNCallIdentityNotUsed = 83,
+ kOTISDNCallIdentityInUse = 84,
+ kOTISDNNoCallSuspended = 85,
+ kOTISDNCallIdentityCleared = 86,
+ kOTISDNIncompatibleDestination = 88,
+ kOTISDNInvalidTransitNetworkSelection = 91,
+ kOTISDNInvalidMessageUnspecified = 95,
+ kOTISDNMandatoryInformationElementIsMissing = 96,
+ kOTISDNMessageTypeNonExistentOrNotImplemented = 97,
+ kOTISDNInterworkingUnspecified = 127
+};
+
+/* OTISDNAddress*/
+
+/*
+ The OTISDNAddress has the following format:
+ "xxxxxx*yy"
+ where 'x' is the phone number and 'y' is the sub address (if available
+ in the network. The characters are coded in ASCII (IA5), and valid
+ characters are: '0'-'9','#','*'.
+ The max length of the each phone number is 21 characters (?) and the max
+ subaddress length is network dependent.
+ When using bonded channels the phone numbers are separated by '&'.
+ The X.25 user data is preceded by '@'.
+*/
+
+enum {
+ kAF_ISDN = 0x2000
+};
+
+enum {
+ AF_ISDN = kAF_ISDN
+};
+
+enum {
+ kOTISDNMaxPhoneSize = 32,
+ kOTISDNMaxSubSize = 4
+};
+
+struct OTISDNAddress {
+ OTAddressType fAddressType;
+ UInt16 fPhoneLength;
+ char fPhoneNumber[37];
+};
+typedef struct OTISDNAddress OTISDNAddress;
+/* IOCTL Calls for ISDN*/
+/* ISDN shares the same ioctl space as serial.*/
+
+enum {
+ MIOC_ISDN = 'U' /* ISDN ioctl() cmds */
+};
+
+enum {
+ I_OTISDNAlerting = ((MIOC_ISDN << 8) | 100), /* Send or receive an ALERTING message*/
+ I_OTISDNSuspend = ((MIOC_ISDN << 8) | 101), /* Send a SUSPEND message*/
+ /* The parameter is the Call Identity (Maximum 8 octets)*/
+ I_OTISDNSuspendAcknowledge = ((MIOC_ISDN << 8) | 102), /* Receive a SUSPEND ACKNOWLEDGE message*/
+ I_OTISDNSuspendReject = ((MIOC_ISDN << 8) | 103), /* Receive a SUSPEND REJECT message*/
+ I_OTISDNResume = ((MIOC_ISDN << 8) | 104), /* Send a RESUME message*/
+ /* The parameter is the Call Identity (Maximum 8 octets)*/
+ I_OTISDNResumeAcknowledge = ((MIOC_ISDN << 8) | 105), /* Receive a RESUME ACKNOWLEDGE message*/
+ I_OTISDNResumeReject = ((MIOC_ISDN << 8) | 106), /* Receive a RESUME REJECT message*/
+ I_OTISDNFaciltity = ((MIOC_ISDN << 8) | 107) /* Send or receive a FACILITY message*/
+};
+
+/* Connect user data size*/
+
+enum {
+ kOTISDNMaxUserDataSize = 32
+};
+
+/* Option management calls for ISDN*/
+
+enum {
+ ISDN_OPT_COMMTYPE = 0x0200,
+ ISDN_OPT_FRAMINGTYPE = 0x0201,
+ ISDN_OPT_56KADAPTATION = 0x0202
+};
+
+/* For ISDN_OPT_COMMTYPE...*/
+
+enum {
+ kOTISDNTelephoneALaw = 1, /* G.711 A-law */
+ kOTISDNTelephoneMuLaw = 26, /* G.711 .-law */
+ kOTISDNDigital64k = 13, /* unrestricted digital (default) */
+ kOTISDNDigital56k = 37, /* user rate 56Kb/s */
+ kOTISDNVideo64k = 41, /* video terminal at 64Kb/s */
+ kOTISDNVideo56k = 42 /* video terminal at 56Kb/s */
+};
+
+/* For ISDN_OPT_FRAMINGTYPE...*/
+
+enum {
+ kOTISDNFramingTransparent = 0x0010, /* Transparent mode */
+ kOTISDNFramingHDLC = 0x0020, /* HDLC synchronous mode (default) */
+ kOTISDNFramingV110 = 0x0040, /* V.110 asynchronous mode */
+ kOTISDNFramingV14E = 0x0080 /* V.14E asynchronous mode */
+};
+
+/* For ISDN_OPT_56KADAPTATION...*/
+
+enum {
+ kOTISDNNot56KAdaptation = false, /* not 56K Adaptation (default) */
+ kOTISDN56KAdaptation = true /* 56K Adaptation */
+};
+
+/* Default options, you do not need to set these*/
+
+enum {
+ kOTISDNDefaultCommType = kOTISDNDigital64k,
+ kOTISDNDefaultFramingType = kOTISDNFramingHDLC,
+ kOTISDNDefault56KAdaptation = kOTISDNNot56KAdaptation
+};
+
+
+/*******************************************************************************
+* Constants for Open Transport-based Remote Access/PPP API
+********************************************************************************/
+
+/* OTCreateConfiguration name for PPP control endpoint*/
#define kPPPControlName "ppp"
- /* XTI Level*/
-
- enum
- {
- COM_PPP = FOUR_CHAR_CODE('PPPC')
- };
-
- /* Options limits*/
-
- enum
- {
- kPPPMaxIDLength = 255,
- kPPPMaxPasswordLength = 255,
- kPPPMaxDTEAddressLength = 127,
- kPPPMaxCallInfoLength = 255
- };
-
-
- /* Various XTI option value constants*/
-
- enum
- {
- kPPPStateInitial = 1,
- kPPPStateClosed = 2,
- kPPPStateClosing = 3,
- kPPPStateOpening = 4,
- kPPPStateOpened = 5
- };
-
- enum
- {
- kPPPConnectionStatusIdle = 1,
- kPPPConnectionStatusConnecting = 2,
- kPPPConnectionStatusConnected = 3,
- kPPPConnectionStatusDisconnecting = 4
- };
-
- enum
- {
- kPPPMinMRU = 0,
- kPPPMaxMRU = 4500
- };
-
- enum
- {
- kIPCPTCPHdrCompressionDisabled = 0,
- kIPCPTCPHdrCompressionEnabled = 1
- };
-
- enum
- {
- kPPPCompressionDisabled = 0x00000000,
- kPPPProtoCompression = 0x00000001,
- kPPPAddrCompression = 0x00000002
- };
-
- enum
- {
- kPPPNoOutAuthentication = 0,
- kPPPCHAPOrPAPOutAuthentication = 1
- };
-
- enum
- {
- kCCReminderTimerDisabled = 0,
- kCCIPIdleTimerDisabled = 0
- };
-
- enum
- {
- kPPPScriptTypeModem = 1,
- kPPPScriptTypeConnect = 2,
- kPPPMaxScriptSize = 32000
- };
-
- enum
- {
- kE164Address = 1,
- kPhoneAddress = 1,
- kCompoundPhoneAddress = 2,
- kX121Address = 3
- };
-
- enum
- {
- kPPPConnectionStatusDialogsFlag = 0x00000001,
- kPPPConnectionRemindersFlag = 0x00000002,
- kPPPConnectionFlashingIconFlag = 0x00000004,
- kPPPOutPasswordDialogsFlag = 0x00000008,
- kPPPAllAlertsDisabledFlag = 0x00000000,
- kPPPAllAlertsEnabledFlag = 0x0000000F
- };
-
- enum
- {
- kPPPAsyncMapCharsNone = 0x00000000,
- kPPPAsyncMapCharsXOnXOff = 0x000A0000,
- kPPPAsyncMapCharsAll = (unsigned long)0xFFFFFFFF
- };
-
-
- /* Option names*/
-
- enum
- {
- IPCP_OPT_GETREMOTEPROTOADDR = 0x00007000,
- IPCP_OPT_GETLOCALPROTOADDR = 0x00007001,
- IPCP_OPT_TCPHDRCOMPRESSION = 0x00007002,
- LCP_OPT_PPPCOMPRESSION = 0x00007003,
- LCP_OPT_MRU = 0x00007004,
- LCP_OPT_RCACCMAP = 0x00007005,
- LCP_OPT_TXACCMAP = 0x00007006,
- SEC_OPT_OUTAUTHENTICATION = 0x00007007,
- SEC_OPT_ID = 0x00007008,
- SEC_OPT_PASSWORD = 0x00007009,
- CC_OPT_REMINDERTIMER = 0x00007010,
- CC_OPT_IPIDLETIMER = 0x00007011,
- CC_OPT_DTEADDRESSTYPE = 0x00007012,
- CC_OPT_DTEADDRESS = 0x00007013,
- CC_OPT_CALLINFO = 0x00007014,
- CC_OPT_GETMISCINFO = 0x00007015,
- PPP_OPT_GETCURRENTSTATE = 0x00007016,
- LCP_OPT_ECHO = 0x00007017, /* Available on Mac OS X only */
- CC_OPT_SERIALPORTNAME = 0x00007200
- };
-
- /* Endpoint events*/
-
- enum
- {
- kPPPEvent = kPROTOCOLEVENT | 0x000F0000,
- kPPPConnectCompleteEvent = kPPPEvent + 1,
- kPPPSetScriptCompleteEvent = kPPPEvent + 2,
- kPPPDisconnectCompleteEvent = kPPPEvent + 3,
- kPPPDisconnectEvent = kPPPEvent + 4,
- kPPPIPCPUpEvent = kPPPEvent + 5,
- kPPPIPCPDownEvent = kPPPEvent + 6,
- kPPPLCPUpEvent = kPPPEvent + 7,
- kPPPLCPDownEvent = kPPPEvent + 8,
- kPPPLowerLayerUpEvent = kPPPEvent + 9,
- kPPPLowerLayerDownEvent = kPPPEvent + 10,
- kPPPAuthenticationStartedEvent = kPPPEvent + 11,
- kPPPAuthenticationFinishedEvent = kPPPEvent + 12,
- kPPPDCEInitStartedEvent = kPPPEvent + 13,
- kPPPDCEInitFinishedEvent = kPPPEvent + 14,
- kPPPDCECallStartedEvent = kPPPEvent + 15,
- kPPPDCECallFinishedEvent = kPPPEvent + 16
- };
+/* XTI Level*/
+
+enum {
+ COM_PPP = FOUR_CHAR_CODE('PPPC')
+};
+
+/* Options limits*/
+
+enum {
+ kPPPMaxIDLength = 255,
+ kPPPMaxPasswordLength = 255,
+ kPPPMaxDTEAddressLength = 127,
+ kPPPMaxCallInfoLength = 255
+};
+
+
+/* Various XTI option value constants*/
+
+enum {
+ kPPPStateInitial = 1,
+ kPPPStateClosed = 2,
+ kPPPStateClosing = 3,
+ kPPPStateOpening = 4,
+ kPPPStateOpened = 5
+};
+
+enum {
+ kPPPConnectionStatusIdle = 1,
+ kPPPConnectionStatusConnecting = 2,
+ kPPPConnectionStatusConnected = 3,
+ kPPPConnectionStatusDisconnecting = 4
+};
+
+enum {
+ kPPPMinMRU = 0,
+ kPPPMaxMRU = 4500
+};
+
+enum {
+ kIPCPTCPHdrCompressionDisabled = 0,
+ kIPCPTCPHdrCompressionEnabled = 1
+};
+
+enum {
+ kPPPCompressionDisabled = 0x00000000,
+ kPPPProtoCompression = 0x00000001,
+ kPPPAddrCompression = 0x00000002
+};
+
+enum {
+ kPPPNoOutAuthentication = 0,
+ kPPPCHAPOrPAPOutAuthentication = 1
+};
+
+enum {
+ kCCReminderTimerDisabled = 0,
+ kCCIPIdleTimerDisabled = 0
+};
+
+enum {
+ kPPPScriptTypeModem = 1,
+ kPPPScriptTypeConnect = 2,
+ kPPPMaxScriptSize = 32000
+};
+
+enum {
+ kE164Address = 1,
+ kPhoneAddress = 1,
+ kCompoundPhoneAddress = 2,
+ kX121Address = 3
+};
+
+enum {
+ kPPPConnectionStatusDialogsFlag = 0x00000001,
+ kPPPConnectionRemindersFlag = 0x00000002,
+ kPPPConnectionFlashingIconFlag = 0x00000004,
+ kPPPOutPasswordDialogsFlag = 0x00000008,
+ kPPPAllAlertsDisabledFlag = 0x00000000,
+ kPPPAllAlertsEnabledFlag = 0x0000000F
+};
+
+enum {
+ kPPPAsyncMapCharsNone = 0x00000000,
+ kPPPAsyncMapCharsXOnXOff = 0x000A0000,
+ kPPPAsyncMapCharsAll = (unsigned long)0xFFFFFFFF
+};
+
+
+/* Option names*/
+
+enum {
+ IPCP_OPT_GETREMOTEPROTOADDR = 0x00007000,
+ IPCP_OPT_GETLOCALPROTOADDR = 0x00007001,
+ IPCP_OPT_TCPHDRCOMPRESSION = 0x00007002,
+ LCP_OPT_PPPCOMPRESSION = 0x00007003,
+ LCP_OPT_MRU = 0x00007004,
+ LCP_OPT_RCACCMAP = 0x00007005,
+ LCP_OPT_TXACCMAP = 0x00007006,
+ SEC_OPT_OUTAUTHENTICATION = 0x00007007,
+ SEC_OPT_ID = 0x00007008,
+ SEC_OPT_PASSWORD = 0x00007009,
+ CC_OPT_REMINDERTIMER = 0x00007010,
+ CC_OPT_IPIDLETIMER = 0x00007011,
+ CC_OPT_DTEADDRESSTYPE = 0x00007012,
+ CC_OPT_DTEADDRESS = 0x00007013,
+ CC_OPT_CALLINFO = 0x00007014,
+ CC_OPT_GETMISCINFO = 0x00007015,
+ PPP_OPT_GETCURRENTSTATE = 0x00007016,
+ LCP_OPT_ECHO = 0x00007017, /* Available on Mac OS X only */
+ CC_OPT_SERIALPORTNAME = 0x00007200
+};
+
+/* Endpoint events*/
+
+enum {
+ kPPPEvent = kPROTOCOLEVENT | 0x000F0000,
+ kPPPConnectCompleteEvent = kPPPEvent + 1,
+ kPPPSetScriptCompleteEvent = kPPPEvent + 2,
+ kPPPDisconnectCompleteEvent = kPPPEvent + 3,
+ kPPPDisconnectEvent = kPPPEvent + 4,
+ kPPPIPCPUpEvent = kPPPEvent + 5,
+ kPPPIPCPDownEvent = kPPPEvent + 6,
+ kPPPLCPUpEvent = kPPPEvent + 7,
+ kPPPLCPDownEvent = kPPPEvent + 8,
+ kPPPLowerLayerUpEvent = kPPPEvent + 9,
+ kPPPLowerLayerDownEvent = kPPPEvent + 10,
+ kPPPAuthenticationStartedEvent = kPPPEvent + 11,
+ kPPPAuthenticationFinishedEvent = kPPPEvent + 12,
+ kPPPDCEInitStartedEvent = kPPPEvent + 13,
+ kPPPDCEInitFinishedEvent = kPPPEvent + 14,
+ kPPPDCECallStartedEvent = kPPPEvent + 15,
+ kPPPDCECallFinishedEvent = kPPPEvent + 16
+};
#if CALL_NOT_IN_CARBON
- /* Support for modem script endpoints: */
+/* Support for modem script endpoints: */
- /* The Configuration name for the Opentransport Modem/Script engine. */
+/* The Configuration name for the Opentransport Modem/Script engine. */
#define kScriptName "Script"
- /* To check if the Modem/Script engine is installed you should interrogate
- the proper Gestalt Selectors for Open Transport-based Modem libraries. */
+/* To check if the Modem/Script engine is installed you should interrogate
+ the proper Gestalt Selectors for Open Transport-based Modem libraries. */
#define gestaltOpenTptModem 'otmo'
#define gestaltOpenTptModemPresent 0
@@ -2398,15 +2278,15 @@ extern "C" { /* resume C definitions */
#define gestaltOpenTptModemVersion 'otmv'
#define kGestaltOpenTptModemVersion 0x01000080
- /* These are the Modem/Script Configurator error codes. Other codes may be
- returned from Open Transport and operating system routines. */
+/* These are the Modem/Script Configurator error codes. Other codes may be
+ returned from Open Transport and operating system routines. */
#define kModemNoError 0
#define kModemOutOfMemory -14000
#define kModemPreferencesMissing -14001
#define kModemScriptMissing -14002
- /* The Modem Configuration pref resource file constants. */
+/* The Modem Configuration pref resource file constants. */
#define kModemConfigFileCreator 'modm'
#define kModemConfigFileType 'mdpf'
@@ -2415,7 +2295,7 @@ extern "C" { /* resume C definitions */
#define kModemScriptType 'mlts' /* Same as ARA 1.0/2.0 */
#define kModemScriptCreator 'slnk' /* Same as ARA 1.0/2.0 */
- /* Configuration resource constants. */
+/* Configuration resource constants. */
#define kModemConfigTypeModem 'ccl ' /* Type for Modem config resource */
#define kModemSelectedConfigID 1 /* ID of resource containing.. */
@@ -2424,104 +2304,100 @@ extern "C" { /* resume C definitions */
#define kModemConfigTypeLocks 'lkmd' /* Types for lock rez */
#define kModemConfigFirstID 128 /* lowest id for configuration rez */
- /* Maximum script file name size. Same as "name" field of FSSpec. */
+/* Maximum script file name size. Same as "name" field of FSSpec. */
#define kMaxScriptNameSize 64
- /* File name to use only if the internationalized one can't be read
- from the resource fork. */
+/* File name to use only if the internationalized one can't be read
+ from the resource fork. */
#define kDefaultModemPrefsFileName "\pModem Preferences"
- /* Dial tone modes */
+/* Dial tone modes */
- enum
- {
- kDialToneNormal = 0,
- kDialToneIgnore = 1,
- kDialToneManual = 2
- };
+enum
+{
+ kDialToneNormal = 0,
+ kDialToneIgnore = 1,
+ kDialToneManual = 2
+};
- /* Modem Configuration Resource format for Modem configuration info. */
+/* Modem Configuration Resource format for Modem configuration info. */
- typedef struct
- {
- UInt32 version;
- Boolean useModemScript;
- FSSpec modemScript;
- Boolean modemSpeakerOn;
- Boolean modemPulseDial;
- UInt32 modemDialToneMode;
- SInt8 lowerLayerName[kMaxProviderNameSize];
- } RAConfigModem;
+typedef struct
+{
+ UInt32 version;
+ Boolean useModemScript;
+ FSSpec modemScript;
+ Boolean modemSpeakerOn;
+ Boolean modemPulseDial;
+ UInt32 modemDialToneMode;
+ SInt8 lowerLayerName[kMaxProviderNameSize];
+} RAConfigModem;
#endif /* CALL_NOT_IN_CARBON */
- /*******************************************************************************
- * IOCTL constants for I_OTConnect, I_OTDisconnect and I_OTScript
- * are defined in OpenTransport.h
- ********************************************************************************/
-
- /*******************************************************************************
- * PPPMRULimits
- ********************************************************************************/
- struct PPPMRULimits
- {
- UInt32 mruSize; /* proposed or actual*/
- UInt32 upperMRULimit;
- UInt32 lowerMRULimit;
- };
- typedef struct PPPMRULimits PPPMRULimits;
-
- /*******************************************************************************
- * CCMiscInfo
- ********************************************************************************/
- struct CCMiscInfo
- {
- UInt32 connectionStatus;
- UInt32 connectionTimeElapsed;
- UInt32 connectionTimeRemaining;
- UInt32 bytesTransmitted;
- UInt32 bytesReceived;
- UInt32 reserved;
- };
- typedef struct CCMiscInfo CCMiscInfo;
-
- /*******************************************************************************
- * LCPEcho
- ********************************************************************************/
- /* Set both fields to zero to disable sending of LCP echo requests*/
-
- struct LCPEcho
- {
- UInt32 retryCount;
- UInt32 retryPeriod; /* in milliseconds*/
- };
- typedef struct LCPEcho LCPEcho;
-
- /*******************************************************************************
- * Bits used to tell kind of product
- ********************************************************************************/
- enum
- {
- kRAProductClientOnly = 2,
- kRAProductOnePortServer = 3,
- kRAProductManyPortServer = 4
- };
+/*******************************************************************************
+* IOCTL constants for I_OTConnect, I_OTDisconnect and I_OTScript
+* are defined in OpenTransport.h
+********************************************************************************/
+
+/*******************************************************************************
+* PPPMRULimits
+********************************************************************************/
+struct PPPMRULimits {
+ UInt32 mruSize; /* proposed or actual*/
+ UInt32 upperMRULimit;
+ UInt32 lowerMRULimit;
+};
+typedef struct PPPMRULimits PPPMRULimits;
+
+/*******************************************************************************
+* CCMiscInfo
+********************************************************************************/
+struct CCMiscInfo {
+ UInt32 connectionStatus;
+ UInt32 connectionTimeElapsed;
+ UInt32 connectionTimeRemaining;
+ UInt32 bytesTransmitted;
+ UInt32 bytesReceived;
+ UInt32 reserved;
+};
+typedef struct CCMiscInfo CCMiscInfo;
+
+/*******************************************************************************
+* LCPEcho
+********************************************************************************/
+/* Set both fields to zero to disable sending of LCP echo requests*/
+
+struct LCPEcho {
+ UInt32 retryCount;
+ UInt32 retryPeriod; /* in milliseconds*/
+};
+typedef struct LCPEcho LCPEcho;
+
+/*******************************************************************************
+* Bits used to tell kind of product
+********************************************************************************/
+enum {
+ kRAProductClientOnly = 2,
+ kRAProductOnePortServer = 3,
+ kRAProductManyPortServer = 4
+};
#if defined(__MWERKS__) && TARGET_CPU_68K
-#pragma pop
+ #pragma pop
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PEFBinaryFormat.h b/include/qt/PEFBinaryFormat.h
index 976c69c55..394addde6 100644
--- a/include/qt/PEFBinaryFormat.h
+++ b/include/qt/PEFBinaryFormat.h
@@ -1,17 +1,17 @@
/*
File: PEFBinaryFormat.h
-
+
Contains: PEF Types and Macros
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
@@ -34,11 +34,11 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
@@ -108,32 +108,29 @@
-struct PEFContainerHeader
-{
- OSType tag1; /* Must contain 'Joy!'.*/
- OSType tag2; /* Must contain 'peff'. (Yes, with two 'f's.)*/
- OSType architecture; /* The ISA for code sections. Constants in CodeFragments.h.*/
- UInt32 formatVersion; /* The physical format version.*/
- UInt32 dateTimeStamp; /* Macintosh format creation/modification stamp.*/
- UInt32 oldDefVersion; /* Old definition version number for the code fragment.*/
- UInt32 oldImpVersion; /* Old implementation version number for the code fragment.*/
- UInt32 currentVersion; /* Current version number for the code fragment.*/
- UInt16 sectionCount; /* Total number of section headers that follow.*/
- UInt16 instSectionCount; /* Number of instantiated sections.*/
- UInt32 reservedA; /* Reserved, must be written as zero.*/
+struct PEFContainerHeader {
+ OSType tag1; /* Must contain 'Joy!'.*/
+ OSType tag2; /* Must contain 'peff'. (Yes, with two 'f's.)*/
+ OSType architecture; /* The ISA for code sections. Constants in CodeFragments.h.*/
+ UInt32 formatVersion; /* The physical format version.*/
+ UInt32 dateTimeStamp; /* Macintosh format creation/modification stamp.*/
+ UInt32 oldDefVersion; /* Old definition version number for the code fragment.*/
+ UInt32 oldImpVersion; /* Old implementation version number for the code fragment.*/
+ UInt32 currentVersion; /* Current version number for the code fragment.*/
+ UInt16 sectionCount; /* Total number of section headers that follow.*/
+ UInt16 instSectionCount; /* Number of instantiated sections.*/
+ UInt32 reservedA; /* Reserved, must be written as zero.*/
};
typedef struct PEFContainerHeader PEFContainerHeader;
-enum
-{
- kPEFTag1 = FOUR_CHAR_CODE('Joy!'), /* For non-Apple compilers: 0x4A6F7921.*/
- kPEFTag2 = FOUR_CHAR_CODE('peff'), /* For non-Apple compilers: 0x70656666.*/
- kPEFVersion = 0x00000001
+enum {
+ kPEFTag1 = FOUR_CHAR_CODE('Joy!'), /* For non-Apple compilers: 0x4A6F7921.*/
+ kPEFTag2 = FOUR_CHAR_CODE('peff'), /* For non-Apple compilers: 0x70656666.*/
+ kPEFVersion = 0x00000001
};
-enum
-{
- kPEFFirstSectionHeaderOffset = sizeof(PEFContainerHeader)
+enum {
+ kPEFFirstSectionHeaderOffset = sizeof(PEFContainerHeader)
};
#define PEFFirstSectionNameOffset(container) \
@@ -147,43 +144,40 @@ enum
-struct PEFSectionHeader
-{
- SInt32 nameOffset; /* Offset of name within the section name table, -1 => none.*/
- UInt32 defaultAddress; /* Default address, affects relocations.*/
- UInt32 totalLength; /* Fully expanded size in bytes of the section contents.*/
- UInt32 unpackedLength; /* Size in bytes of the "initialized" part of the contents.*/
- UInt32 containerLength; /* Size in bytes of the raw data in the container.*/
- UInt32 containerOffset; /* Offset of section's raw data.*/
- UInt8 sectionKind; /* Kind of section contents/usage.*/
- UInt8 shareKind; /* Sharing level, if a writeable section.*/
- UInt8 alignment; /* Preferred alignment, expressed as log 2.*/
- UInt8 reservedA; /* Reserved, must be zero.*/
+struct PEFSectionHeader {
+ SInt32 nameOffset; /* Offset of name within the section name table, -1 => none.*/
+ UInt32 defaultAddress; /* Default address, affects relocations.*/
+ UInt32 totalLength; /* Fully expanded size in bytes of the section contents.*/
+ UInt32 unpackedLength; /* Size in bytes of the "initialized" part of the contents.*/
+ UInt32 containerLength; /* Size in bytes of the raw data in the container.*/
+ UInt32 containerOffset; /* Offset of section's raw data.*/
+ UInt8 sectionKind; /* Kind of section contents/usage.*/
+ UInt8 shareKind; /* Sharing level, if a writeable section.*/
+ UInt8 alignment; /* Preferred alignment, expressed as log 2.*/
+ UInt8 reservedA; /* Reserved, must be zero.*/
};
typedef struct PEFSectionHeader PEFSectionHeader;
-enum
-{
- /* Values for the sectionKind field.*/
- /* Section kind values for instantiated sections.*/
- kPEFCodeSection = 0, /* Code, presumed pure & position independent.*/
- kPEFUnpackedDataSection = 1, /* Unpacked writeable data.*/
- kPEFPackedDataSection = 2, /* Packed writeable data.*/
- kPEFConstantSection = 3, /* Read-only data.*/
- kPEFExecDataSection = 6, /* Intermixed code and writeable data.*/
- /* Section kind values for non-instantiated sections.*/
- kPEFLoaderSection = 4, /* Loader tables.*/
- kPEFDebugSection = 5, /* Reserved for future use.*/
- kPEFExceptionSection = 7, /* Reserved for future use.*/
- kPEFTracebackSection = 8 /* Reserved for future use.*/
+enum {
+ /* Values for the sectionKind field.*/
+ /* Section kind values for instantiated sections.*/
+ kPEFCodeSection = 0, /* Code, presumed pure & position independent.*/
+ kPEFUnpackedDataSection = 1, /* Unpacked writeable data.*/
+ kPEFPackedDataSection = 2, /* Packed writeable data.*/
+ kPEFConstantSection = 3, /* Read-only data.*/
+ kPEFExecDataSection = 6, /* Intermixed code and writeable data.*/
+ /* Section kind values for non-instantiated sections.*/
+ kPEFLoaderSection = 4, /* Loader tables.*/
+ kPEFDebugSection = 5, /* Reserved for future use.*/
+ kPEFExceptionSection = 7, /* Reserved for future use.*/
+ kPEFTracebackSection = 8 /* Reserved for future use.*/
};
-enum
-{
- /* Values for the shareKind field.*/
- kPEFProcessShare = 1, /* Shared within a single process.*/
- kPEFGlobalShare = 4, /* Shared across the entire system.*/
- kPEFProtectedShare = 5 /* Readable across the entire system, writeable only to privileged code.*/
+enum {
+ /* Values for the shareKind field.*/
+ kPEFProcessShare = 1, /* Shared within a single process.*/
+ kPEFGlobalShare = 4, /* Shared across the entire system.*/
+ kPEFProtectedShare = 5 /* Readable across the entire system, writeable only to privileged code.*/
};
@@ -209,25 +203,23 @@ enum
/* low order 7 bits of the next byte. */
-enum
-{
- /* The packed data opcodes.*/
- kPEFPkDataZero = 0, /* Zero fill "count" bytes.*/
- kPEFPkDataBlock = 1, /* Block copy "count" bytes.*/
- kPEFPkDataRepeat = 2, /* Repeat "count" bytes "count2"+1 times.*/
- kPEFPkDataRepeatBlock = 3, /* Interleaved repeated and unique data.*/
- kPEFPkDataRepeatZero = 4 /* Interleaved zero and unique data.*/
+enum {
+ /* The packed data opcodes.*/
+ kPEFPkDataZero = 0, /* Zero fill "count" bytes.*/
+ kPEFPkDataBlock = 1, /* Block copy "count" bytes.*/
+ kPEFPkDataRepeat = 2, /* Repeat "count" bytes "count2"+1 times.*/
+ kPEFPkDataRepeatBlock = 3, /* Interleaved repeated and unique data.*/
+ kPEFPkDataRepeatZero = 4 /* Interleaved zero and unique data.*/
};
-enum
-{
- kPEFPkDataOpcodeShift = 5,
- kPEFPkDataCount5Mask = 0x1F,
- kPEFPkDataMaxCount5 = 31,
- kPEFPkDataVCountShift = 7,
- kPEFPkDataVCountMask = 0x7F,
- kPEFPkDataVCountEndMask = 0x80
+enum {
+ kPEFPkDataOpcodeShift = 5,
+ kPEFPkDataCount5Mask = 0x1F,
+ kPEFPkDataMaxCount5 = 31,
+ kPEFPkDataVCountShift = 7,
+ kPEFPkDataVCountMask = 0x7F,
+ kPEFPkDataVCountEndMask = 0x80
};
@@ -327,22 +319,21 @@ enum
-struct PEFLoaderInfoHeader
-{
- SInt32 mainSection; /* Section containing the main symbol, -1 => none.*/
- UInt32 mainOffset; /* Offset of main symbol.*/
- SInt32 initSection; /* Section containing the init routine's TVector, -1 => none.*/
- UInt32 initOffset; /* Offset of the init routine's TVector.*/
- SInt32 termSection; /* Section containing the term routine's TVector, -1 => none.*/
- UInt32 termOffset; /* Offset of the term routine's TVector.*/
- UInt32 importedLibraryCount; /* Number of imported libraries. ('l')*/
- UInt32 totalImportedSymbolCount; /* Total number of imported symbols. ('i')*/
- UInt32 relocSectionCount; /* Number of sections with relocations. ('r')*/
- UInt32 relocInstrOffset; /* Offset of the relocation instructions.*/
- UInt32 loaderStringsOffset; /* Offset of the loader string table.*/
- UInt32 exportHashOffset; /* Offset of the export hash table.*/
- UInt32 exportHashTablePower; /* Export hash table size as log 2. (Log2('h'))*/
- UInt32 exportedSymbolCount; /* Number of exported symbols. ('e')*/
+struct PEFLoaderInfoHeader {
+ SInt32 mainSection; /* Section containing the main symbol, -1 => none.*/
+ UInt32 mainOffset; /* Offset of main symbol.*/
+ SInt32 initSection; /* Section containing the init routine's TVector, -1 => none.*/
+ UInt32 initOffset; /* Offset of the init routine's TVector.*/
+ SInt32 termSection; /* Section containing the term routine's TVector, -1 => none.*/
+ UInt32 termOffset; /* Offset of the term routine's TVector.*/
+ UInt32 importedLibraryCount; /* Number of imported libraries. ('l')*/
+ UInt32 totalImportedSymbolCount; /* Total number of imported symbols. ('i')*/
+ UInt32 relocSectionCount; /* Number of sections with relocations. ('r')*/
+ UInt32 relocInstrOffset; /* Offset of the relocation instructions.*/
+ UInt32 loaderStringsOffset; /* Offset of the loader string table.*/
+ UInt32 exportHashOffset; /* Offset of the export hash table.*/
+ UInt32 exportHashTablePower; /* Export hash table size as log 2. (Log2('h'))*/
+ UInt32 exportedSymbolCount; /* Number of exported symbols. ('e')*/
};
typedef struct PEFLoaderInfoHeader PEFLoaderInfoHeader;
@@ -352,23 +343,21 @@ typedef struct PEFLoaderInfoHeader PEFLoaderInfoHeader;
/* ------------------ */
-struct PEFImportedLibrary
-{
- UInt32 nameOffset; /* Loader string table offset of library's name.*/
- UInt32 oldImpVersion; /* Oldest compatible implementation version.*/
- UInt32 currentVersion; /* Current version at build time.*/
- UInt32 importedSymbolCount; /* Imported symbol count for this library.*/
- UInt32 firstImportedSymbol; /* Index of first imported symbol from this library.*/
- UInt8 options; /* Option bits for this library.*/
- UInt8 reservedA; /* Reserved, must be zero.*/
- UInt16 reservedB; /* Reserved, must be zero.*/
+struct PEFImportedLibrary {
+ UInt32 nameOffset; /* Loader string table offset of library's name.*/
+ UInt32 oldImpVersion; /* Oldest compatible implementation version.*/
+ UInt32 currentVersion; /* Current version at build time.*/
+ UInt32 importedSymbolCount; /* Imported symbol count for this library.*/
+ UInt32 firstImportedSymbol; /* Index of first imported symbol from this library.*/
+ UInt8 options; /* Option bits for this library.*/
+ UInt8 reservedA; /* Reserved, must be zero.*/
+ UInt16 reservedB; /* Reserved, must be zero.*/
};
typedef struct PEFImportedLibrary PEFImportedLibrary;
-enum
-{
- /* Bits for the PEFImportedLibrary options field.*/
- kPEFWeakImportLibMask = 0x40, /* The imported library is allowed to be missing.*/
- kPEFInitLibBeforeMask = 0x80 /* The imported library must be initialized first.*/
+enum {
+ /* Bits for the PEFImportedLibrary options field.*/
+ kPEFWeakImportLibMask = 0x40, /* The imported library is allowed to be missing.*/
+ kPEFInitLibBeforeMask = 0x80 /* The imported library must be initialized first.*/
};
@@ -392,16 +381,14 @@ enum
-struct PEFImportedSymbol
-{
- UInt32 classAndName;
+struct PEFImportedSymbol {
+ UInt32 classAndName;
};
typedef struct PEFImportedSymbol PEFImportedSymbol;
-enum
-{
- kPEFImpSymClassShift = 24,
- kPEFImpSymNameOffsetMask = 0x00FFFFFF,
- kPEFImpSymMaxNameOffset = 0x00FFFFFF /* 16,777,215*/
+enum {
+ kPEFImpSymClassShift = 24,
+ kPEFImpSymNameOffsetMask = 0x00FFFFFF,
+ kPEFImpSymMaxNameOffset = 0x00FFFFFF /* 16,777,215*/
};
#define PEFImportedSymbolClass(classAndName) ((UInt8) ((classAndName) >> kPEFImpSymClassShift))
@@ -410,16 +397,15 @@ enum
#define PEFComposeImportedSymbol(class,nameOffset) \
( ( ((UInt32)(class)) << kPEFImpSymClassShift ) | ( (UInt32)(nameOffset) ) )
-enum
-{
- /* Imported and exported symbol classes.*/
- kPEFCodeSymbol = 0x00,
- kPEFDataSymbol = 0x01,
- kPEFTVectorSymbol = 0x02,
- kPEFTOCSymbol = 0x03,
- kPEFGlueSymbol = 0x04,
- kPEFUndefinedSymbol = 0x0F,
- kPEFWeakImportSymMask = 0x80
+enum {
+ /* Imported and exported symbol classes.*/
+ kPEFCodeSymbol = 0x00,
+ kPEFDataSymbol = 0x01,
+ kPEFTVectorSymbol = 0x02,
+ kPEFTOCSymbol = 0x03,
+ kPEFGlueSymbol = 0x04,
+ kPEFUndefinedSymbol = 0x0F,
+ kPEFWeakImportSymMask = 0x80
};
@@ -489,17 +475,15 @@ enum
-struct PEFExportedSymbolHashSlot
-{
- UInt32 countAndStart;
+struct PEFExportedSymbolHashSlot {
+ UInt32 countAndStart;
};
typedef struct PEFExportedSymbolHashSlot PEFExportedSymbolHashSlot;
-enum
-{
- kPEFHashSlotSymCountShift = 18,
- kPEFHashSlotFirstKeyMask = 0x0003FFFF,
- kPEFHashSlotMaxSymbolCount = 0x00003FFF, /* 16,383*/
- kPEFHashSlotMaxKeyIndex = 0x0003FFFF /* 262,143*/
+enum {
+ kPEFHashSlotSymCountShift = 18,
+ kPEFHashSlotFirstKeyMask = 0x0003FFFF,
+ kPEFHashSlotMaxSymbolCount = 0x00003FFF, /* 16,383*/
+ kPEFHashSlotMaxKeyIndex = 0x0003FFFF /* 262,143*/
};
#define PEFHashTableIndex(fullHashWord,hashTablePower) \
@@ -519,26 +503,22 @@ enum
-struct PEFSplitHashWord
-{
- UInt16 nameLength;
- UInt16 hashValue;
+struct PEFSplitHashWord {
+ UInt16 nameLength;
+ UInt16 hashValue;
};
typedef struct PEFSplitHashWord PEFSplitHashWord;
-struct PEFExportedSymbolKey
-{
- union
- {
- UInt32 fullHashWord;
- PEFSplitHashWord splitHashWord;
- } u;
+struct PEFExportedSymbolKey {
+ union {
+ UInt32 fullHashWord;
+ PEFSplitHashWord splitHashWord;
+ } u;
};
typedef struct PEFExportedSymbolKey PEFExportedSymbolKey;
-enum
-{
- kPEFHashLengthShift = 16,
- kPEFHashValueMask = 0x0000FFFF,
- kPEFHashMaxLength = 0x0000FFFF /* 65,535*/
+enum {
+ kPEFHashLengthShift = 16,
+ kPEFHashValueMask = 0x0000FFFF,
+ kPEFHashMaxLength = 0x0000FFFF /* 65,535*/
};
#define PEFHashNameLength(fullHashWord) ((UInt32) ((fullHashWord) >> kPEFHashLengthShift))
@@ -586,11 +566,10 @@ enum
-struct PEFExportedSymbol /* ! This structure is 10 bytes long and arrays are packed.*/
-{
- UInt32 classAndName; /* A combination of class and name offset.*/
- UInt32 symbolValue; /* Typically the symbol's offset within a section.*/
- SInt16 sectionIndex; /* The index of the section, or pseudo-section, for the symbol.*/
+struct PEFExportedSymbol { /* ! This structure is 10 bytes long and arrays are packed.*/
+ UInt32 classAndName; /* A combination of class and name offset.*/
+ UInt32 symbolValue; /* Typically the symbol's offset within a section.*/
+ SInt16 sectionIndex; /* The index of the section, or pseudo-section, for the symbol.*/
};
typedef struct PEFExportedSymbol PEFExportedSymbol;
@@ -605,11 +584,10 @@ typedef struct PEFExportedSymbol PEFExportedSymbol;
/* |<-- 8 bits --->|<-- 24 bits ---------------------------------->| */
-enum
-{
- kPEFExpSymClassShift = 24,
- kPEFExpSymNameOffsetMask = 0x00FFFFFF,
- kPEFExpSymMaxNameOffset = 0x00FFFFFF /* 16,777,215*/
+enum {
+ kPEFExpSymClassShift = 24,
+ kPEFExpSymNameOffsetMask = 0x00FFFFFF,
+ kPEFExpSymMaxNameOffset = 0x00FFFFFF /* 16,777,215*/
};
#define PEFExportedSymbolClass(classAndName) ((UInt8) ((classAndName) >> kPEFExpSymClassShift))
@@ -618,11 +596,10 @@ enum
#define PEFComposeExportedSymbol(class,nameOffset) \
( ( ((UInt32)(class)) << kPEFExpSymClassShift ) | ( (UInt32)(nameOffset) ) )
-enum
-{
- /* Negative section indices indicate pseudo-sections.*/
- kPEFAbsoluteExport = -2, /* The symbol value is an absolute address.*/
- kPEFReexportedImport = -3 /* The symbol value is the index of a reexported import.*/
+enum {
+ /* Negative section indices indicate pseudo-sections.*/
+ kPEFAbsoluteExport = -2, /* The symbol value is an absolute address.*/
+ kPEFReexportedImport = -3 /* The symbol value is the index of a reexported import.*/
};
@@ -648,12 +625,11 @@ enum
typedef UInt16 PEFRelocChunk;
-struct PEFLoaderRelocationHeader
-{
- UInt16 sectionIndex; /* Index of the section to be fixed up.*/
- UInt16 reservedA; /* Reserved, must be zero.*/
- UInt32 relocCount; /* Number of 16 bit relocation chunks.*/
- UInt32 firstRelocOffset; /* Offset of first relocation instruction.*/
+struct PEFLoaderRelocationHeader {
+ UInt16 sectionIndex; /* Index of the section to be fixed up.*/
+ UInt16 reservedA; /* Reserved, must be zero.*/
+ UInt32 relocCount; /* Number of 16 bit relocation chunks.*/
+ UInt32 firstRelocOffset; /* Offset of first relocation instruction.*/
};
typedef struct PEFLoaderRelocationHeader PEFLoaderRelocationHeader;
@@ -692,9 +668,8 @@ typedef struct PEFLoaderRelocationHeader PEFLoaderRelocationHeader;
/* UInt8 kPEFRelocBasicOpcodes [kPEFRelocBasicOpcodeRange] = { PEFMaskedBasicOpcodes }; */
-enum
-{
- kPEFRelocBasicOpcodeRange = 128
+enum {
+ kPEFRelocBasicOpcodeRange = 128
};
#define PEFRelocBasicOpcode(firstChunk) (kPEFRelocBasicOpcodes[(firstChunk)>>9])
@@ -706,26 +681,25 @@ enum
/* cluster all have the same bit field layout. The enumeration values use the high order 7 */
/* bits of the relocation instruction. Unused low order bits are set to zero. */
-enum
-{
- kPEFRelocBySectDWithSkip = 0x00, /* Binary: 00x_xxxx*/
- kPEFRelocBySectC = 0x20, /* Binary: 010_0000, group is "RelocRun"*/
- kPEFRelocBySectD = 0x21, /* Binary: 010_0001*/
- kPEFRelocTVector12 = 0x22, /* Binary: 010_0010*/
- kPEFRelocTVector8 = 0x23, /* Binary: 010_0011*/
- kPEFRelocVTable8 = 0x24, /* Binary: 010_0100*/
- kPEFRelocImportRun = 0x25, /* Binary: 010_0101*/
- kPEFRelocSmByImport = 0x30, /* Binary: 011_0000, group is "RelocSmIndex"*/
- kPEFRelocSmSetSectC = 0x31, /* Binary: 011_0001*/
- kPEFRelocSmSetSectD = 0x32, /* Binary: 011_0010*/
- kPEFRelocSmBySection = 0x33, /* Binary: 011_0011*/
- kPEFRelocIncrPosition = 0x40, /* Binary: 100_0xxx*/
- kPEFRelocSmRepeat = 0x48, /* Binary: 100_1xxx*/
- kPEFRelocSetPosition = 0x50, /* Binary: 101_000x*/
- kPEFRelocLgByImport = 0x52, /* Binary: 101_001x*/
- kPEFRelocLgRepeat = 0x58, /* Binary: 101_100x*/
- kPEFRelocLgSetOrBySection = 0x5A, /* Binary: 101_101x*/
- kPEFRelocUndefinedOpcode = 0xFF /* Used in masking table for all undefined values.*/
+enum {
+ kPEFRelocBySectDWithSkip = 0x00, /* Binary: 00x_xxxx*/
+ kPEFRelocBySectC = 0x20, /* Binary: 010_0000, group is "RelocRun"*/
+ kPEFRelocBySectD = 0x21, /* Binary: 010_0001*/
+ kPEFRelocTVector12 = 0x22, /* Binary: 010_0010*/
+ kPEFRelocTVector8 = 0x23, /* Binary: 010_0011*/
+ kPEFRelocVTable8 = 0x24, /* Binary: 010_0100*/
+ kPEFRelocImportRun = 0x25, /* Binary: 010_0101*/
+ kPEFRelocSmByImport = 0x30, /* Binary: 011_0000, group is "RelocSmIndex"*/
+ kPEFRelocSmSetSectC = 0x31, /* Binary: 011_0001*/
+ kPEFRelocSmSetSectD = 0x32, /* Binary: 011_0010*/
+ kPEFRelocSmBySection = 0x33, /* Binary: 011_0011*/
+ kPEFRelocIncrPosition = 0x40, /* Binary: 100_0xxx*/
+ kPEFRelocSmRepeat = 0x48, /* Binary: 100_1xxx*/
+ kPEFRelocSetPosition = 0x50, /* Binary: 101_000x*/
+ kPEFRelocLgByImport = 0x52, /* Binary: 101_001x*/
+ kPEFRelocLgRepeat = 0x58, /* Binary: 101_100x*/
+ kPEFRelocLgSetOrBySection = 0x5A, /* Binary: 101_101x*/
+ kPEFRelocUndefinedOpcode = 0xFF /* Used in masking table for all undefined values.*/
};
@@ -736,11 +710,10 @@ enum
/* the dispatch table ignores the 7th bit, so the subdispatch is on all 4 extra */
/* subopcode bits. */
-enum
-{
- kPEFRelocLgBySectionSubopcode = 0x00, /* Binary: 0000*/
- kPEFRelocLgSetSectCSubopcode = 0x01, /* Binary: 0001*/
- kPEFRelocLgSetSectDSubopcode = 0x02 /* Binary: 0010*/
+enum {
+ kPEFRelocLgBySectionSubopcode = 0x00, /* Binary: 0000*/
+ kPEFRelocLgSetSectCSubopcode = 0x01, /* Binary: 0001*/
+ kPEFRelocLgSetSectDSubopcode = 0x02 /* Binary: 0010*/
};
#define PEFRelocLgSetOrBySubopcode(chunk) (((chunk) >> 6) & 0x0F)
@@ -821,10 +794,9 @@ enum
/* */
/* ! Note that the stored skip count and reloc count are the actual values! */
-enum
-{
- kPEFRelocWithSkipMaxSkipCount = 255,
- kPEFRelocWithSkipMaxRelocCount = 63
+enum {
+ kPEFRelocWithSkipMaxSkipCount = 255,
+ kPEFRelocWithSkipMaxRelocCount = 63
};
#define PEFRelocWithSkipSkipCount(chunk) PEFRelocField ( (chunk), 2, 8 )
@@ -856,9 +828,8 @@ enum
/* ! Note that the stored run length is the actual value minus 1, but the macros deal with the */
/* ! actual value! */
-enum
-{
- kPEFRelocRunMaxRunLength = 512
+enum {
+ kPEFRelocRunMaxRunLength = 512
};
#define PEFRelocRunSubopcode(chunk) PEFRelocField ( (chunk), 3, 4 )
@@ -896,9 +867,8 @@ enum
/* */
/* ! Note that the stored index is the actual value! */
-enum
-{
- kPEFRelocSmIndexMaxIndex = 511
+enum {
+ kPEFRelocSmIndexMaxIndex = 511
};
#define PEFRelocSmIndexSubopcode(chunk) PEFRelocField ( (chunk), 3, 4 )
@@ -933,9 +903,8 @@ enum
/* ! Note that the stored offset is the actual value minus 1, but the macros deal with the */
/* ! actual value! */
-enum
-{
- kPEFRelocIncrPositionMaxOffset = 4096
+enum {
+ kPEFRelocIncrPositionMaxOffset = 4096
};
#define PEFRelocIncrPositionOffset(chunk) (PEFRelocField ( (chunk), 4, 12 ) + 1)
@@ -964,10 +933,9 @@ enum
/* ! Note that the stored chunk count and repeat count are the actual values minus 1, but the */
/* ! macros deal with the actual values! */
-enum
-{
- kPEFRelocSmRepeatMaxChunkCount = 16,
- kPEFRelocSmRepeatMaxRepeatCount = 256
+enum {
+ kPEFRelocSmRepeatMaxChunkCount = 16,
+ kPEFRelocSmRepeatMaxRepeatCount = 256
};
#define PEFRelocSmRepeatChunkCount(chunk) (PEFRelocField ( (chunk), 4, 4 ) + 1)
@@ -996,9 +964,8 @@ enum
/* */
/* ! Note that the stored offset is the actual value! */
-enum
-{
- kPEFRelocSetPosMaxOffset = 0x03FFFFFF /* 67,108,863*/
+enum {
+ kPEFRelocSetPosMaxOffset = 0x03FFFFFF /* 67,108,863*/
};
#define PEFRelocSetPosOffsetHigh(chunk) PEFRelocField ( (chunk), 6, 10 )
@@ -1031,9 +998,8 @@ enum
/* */
/* ! Note that the stored offset is the actual value! */
-enum
-{
- kPEFRelocLgByImportMaxIndex = 0x03FFFFFF /* 67,108,863*/
+enum {
+ kPEFRelocLgByImportMaxIndex = 0x03FFFFFF /* 67,108,863*/
};
#define PEFRelocLgByImportIndexHigh(chunk) PEFRelocField ( (chunk), 6, 10 )
@@ -1067,10 +1033,9 @@ enum
/* ! Note that the stored chunk count is the actual value minus 1, but the macros deal with */
/* ! the actual value! The stored repeat count is the actual value! */
-enum
-{
- kPEFRelocLgRepeatMaxChunkCount = 16,
- kPEFRelocLgRepeatMaxRepeatCount = 0x003FFFFF /* 4,194,303*/
+enum {
+ kPEFRelocLgRepeatMaxChunkCount = 16,
+ kPEFRelocLgRepeatMaxRepeatCount = 0x003FFFFF /* 4,194,303*/
};
#define PEFRelocLgRepeatChunkCount(chunk) (PEFRelocField ( (chunk), 6, 4 ) + 1)
@@ -1106,9 +1071,8 @@ enum
/* */
/* ! Note that the stored index is the actual value! */
-enum
-{
- kPEFRelocLgSetOrBySectionMaxIndex = 0x003FFFFF /* 4,194,303*/
+enum {
+ kPEFRelocLgSetOrBySectionMaxIndex = 0x003FFFFF /* 4,194,303*/
};
#define PEFRelocLgSetOrBySectionSubopcode(chunk) PEFRelocField ( (chunk), 6, 4 )
@@ -1129,11 +1093,11 @@ enum
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PLStringFuncs.h b/include/qt/PLStringFuncs.h
index dc5ae3560..e17679805 100644
--- a/include/qt/PLStringFuncs.h
+++ b/include/qt/PLStringFuncs.h
@@ -1,17 +1,17 @@
/*
File: PLStringFuncs.h
-
+
Contains: Pascal string manipulation routines that parallel ANSI C string.h
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PLSTRINGFUNCS__
#define __PLSTRINGFUNCS__
@@ -35,187 +35,187 @@ extern "C" {
#pragma import on
#endif
- /*
- * PLstrcmp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- PLstrcmp(
- ConstStr255Param str1,
- ConstStr255Param str2);
-
-
- /*
- * PLstrncmp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- PLstrncmp(
- ConstStr255Param str1,
- ConstStr255Param str2,
- short num);
-
-
- /*
- * PLstrcpy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringPtr)
- PLstrcpy(
- StringPtr str1,
- ConstStr255Param str2);
-
-
- /*
- * PLstrncpy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringPtr)
- PLstrncpy(
- StringPtr str1,
- ConstStr255Param str2,
- short num);
-
-
- /*
- * PLstrcat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringPtr)
- PLstrcat(
- StringPtr str1,
- ConstStr255Param str2);
-
-
- /*
- * PLstrncat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringPtr)
- PLstrncat(
- StringPtr str1,
- ConstStr255Param str2,
- short num);
-
-
- /*
- * PLstrchr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr)
- PLstrchr(
- ConstStr255Param str1,
- short ch1);
-
-
- /*
- * PLstrrchr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr)
- PLstrrchr(
- ConstStr255Param str1,
- short ch1);
-
-
- /*
- * PLstrpbrk()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr)
- PLstrpbrk(
- ConstStr255Param str1,
- ConstStr255Param str2);
-
-
- /*
- * PLstrspn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- PLstrspn(
- ConstStr255Param str1,
- ConstStr255Param str2);
-
-
- /*
- * PLstrstr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr)
- PLstrstr(
- ConstStr255Param str1,
- ConstStr255Param str2);
-
-
- /*
- * PLstrlen()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- PLstrlen(ConstStr255Param str);
-
-
- /*
- * PLpos()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- PLpos(
- ConstStr255Param str1,
- ConstStr255Param str2);
+/*
+ * PLstrcmp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+PLstrcmp(
+ ConstStr255Param str1,
+ ConstStr255Param str2);
+
+
+/*
+ * PLstrncmp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+PLstrncmp(
+ ConstStr255Param str1,
+ ConstStr255Param str2,
+ short num);
+
+
+/*
+ * PLstrcpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringPtr )
+PLstrcpy(
+ StringPtr str1,
+ ConstStr255Param str2);
+
+
+/*
+ * PLstrncpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringPtr )
+PLstrncpy(
+ StringPtr str1,
+ ConstStr255Param str2,
+ short num);
+
+
+/*
+ * PLstrcat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringPtr )
+PLstrcat(
+ StringPtr str1,
+ ConstStr255Param str2);
+
+
+/*
+ * PLstrncat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringPtr )
+PLstrncat(
+ StringPtr str1,
+ ConstStr255Param str2,
+ short num);
+
+
+/*
+ * PLstrchr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr )
+PLstrchr(
+ ConstStr255Param str1,
+ short ch1);
+
+
+/*
+ * PLstrrchr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr )
+PLstrrchr(
+ ConstStr255Param str1,
+ short ch1);
+
+
+/*
+ * PLstrpbrk()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr )
+PLstrpbrk(
+ ConstStr255Param str1,
+ ConstStr255Param str2);
+
+
+/*
+ * PLstrspn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+PLstrspn(
+ ConstStr255Param str1,
+ ConstStr255Param str2);
+
+
+/*
+ * PLstrstr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr )
+PLstrstr(
+ ConstStr255Param str1,
+ ConstStr255Param str2);
+
+
+/*
+ * PLstrlen()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+PLstrlen(ConstStr255Param str);
+
+
+/*
+ * PLpos()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+PLpos(
+ ConstStr255Param str1,
+ ConstStr255Param str2);
diff --git a/include/qt/PMApplication.h b/include/qt/PMApplication.h
index 8c64a5066..9658c81d6 100644
--- a/include/qt/PMApplication.h
+++ b/include/qt/PMApplication.h
@@ -1,17 +1,17 @@
/*
File: PMApplication.h
-
+
Contains: Carbon Printing Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1998-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PMAPPLICATION__
#define __PMAPPLICATION__
@@ -39,510 +39,510 @@ extern "C" {
#pragma import on
#endif
- /* Callbacks */
- typedef CALLBACK_API(void , PMItemProcPtr)(DialogRef theDialog, short item);
- typedef CALLBACK_API(void , PMPrintDialogInitProcPtr)(PMPrintSettings printSettings, PMDialog *theDialog);
- typedef CALLBACK_API(void , PMPageSetupDialogInitProcPtr)(PMPageFormat pageFormat, PMDialog *theDialog);
- typedef CALLBACK_API(void , PMSheetDoneProcPtr)(PMPrintSession printSession, WindowRef documentWindow, Boolean accepted);
- typedef STACK_UPP_TYPE(PMItemProcPtr) PMItemUPP;
- typedef STACK_UPP_TYPE(PMPrintDialogInitProcPtr) PMPrintDialogInitUPP;
- typedef STACK_UPP_TYPE(PMPageSetupDialogInitProcPtr) PMPageSetupDialogInitUPP;
- typedef STACK_UPP_TYPE(PMSheetDoneProcPtr) PMSheetDoneUPP;
- /*
- * NewPMItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PMItemUPP)
- NewPMItemUPP(PMItemProcPtr userRoutine);
-
- /*
- * NewPMPrintDialogInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PMPrintDialogInitUPP)
- NewPMPrintDialogInitUPP(PMPrintDialogInitProcPtr userRoutine);
-
- /*
- * NewPMPageSetupDialogInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PMPageSetupDialogInitUPP)
- NewPMPageSetupDialogInitUPP(PMPageSetupDialogInitProcPtr userRoutine);
-
- /*
- * NewPMSheetDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PMSheetDoneUPP)
- NewPMSheetDoneUPP(PMSheetDoneProcPtr userRoutine);
-
- /*
- * DisposePMItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePMItemUPP(PMItemUPP userUPP);
-
- /*
- * DisposePMPrintDialogInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePMPrintDialogInitUPP(PMPrintDialogInitUPP userUPP);
-
- /*
- * DisposePMPageSetupDialogInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePMPageSetupDialogInitUPP(PMPageSetupDialogInitUPP userUPP);
-
- /*
- * DisposePMSheetDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePMSheetDoneUPP(PMSheetDoneUPP userUPP);
-
- /*
- * InvokePMItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokePMItemUPP(
- DialogRef theDialog,
- short item,
- PMItemUPP userUPP);
-
- /*
- * InvokePMPrintDialogInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokePMPrintDialogInitUPP(
- PMPrintSettings printSettings,
- PMDialog * theDialog,
- PMPrintDialogInitUPP userUPP);
-
- /*
- * InvokePMPageSetupDialogInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokePMPageSetupDialogInitUPP(
- PMPageFormat pageFormat,
- PMDialog * theDialog,
- PMPageSetupDialogInitUPP userUPP);
-
- /*
- * InvokePMSheetDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokePMSheetDoneUPP(
- PMPrintSession printSession,
- WindowRef documentWindow,
- Boolean accepted,
- PMSheetDoneUPP userUPP);
+/* Callbacks */
+typedef CALLBACK_API( void , PMItemProcPtr )(DialogRef theDialog, short item);
+typedef CALLBACK_API( void , PMPrintDialogInitProcPtr )(PMPrintSettings printSettings, PMDialog *theDialog);
+typedef CALLBACK_API( void , PMPageSetupDialogInitProcPtr )(PMPageFormat pageFormat, PMDialog *theDialog);
+typedef CALLBACK_API( void , PMSheetDoneProcPtr )(PMPrintSession printSession, WindowRef documentWindow, Boolean accepted);
+typedef STACK_UPP_TYPE(PMItemProcPtr) PMItemUPP;
+typedef STACK_UPP_TYPE(PMPrintDialogInitProcPtr) PMPrintDialogInitUPP;
+typedef STACK_UPP_TYPE(PMPageSetupDialogInitProcPtr) PMPageSetupDialogInitUPP;
+typedef STACK_UPP_TYPE(PMSheetDoneProcPtr) PMSheetDoneUPP;
+/*
+ * NewPMItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PMItemUPP )
+NewPMItemUPP(PMItemProcPtr userRoutine);
+
+/*
+ * NewPMPrintDialogInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PMPrintDialogInitUPP )
+NewPMPrintDialogInitUPP(PMPrintDialogInitProcPtr userRoutine);
+
+/*
+ * NewPMPageSetupDialogInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PMPageSetupDialogInitUPP )
+NewPMPageSetupDialogInitUPP(PMPageSetupDialogInitProcPtr userRoutine);
+
+/*
+ * NewPMSheetDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PMSheetDoneUPP )
+NewPMSheetDoneUPP(PMSheetDoneProcPtr userRoutine);
+
+/*
+ * DisposePMItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePMItemUPP(PMItemUPP userUPP);
+
+/*
+ * DisposePMPrintDialogInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePMPrintDialogInitUPP(PMPrintDialogInitUPP userUPP);
+
+/*
+ * DisposePMPageSetupDialogInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePMPageSetupDialogInitUPP(PMPageSetupDialogInitUPP userUPP);
+
+/*
+ * DisposePMSheetDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePMSheetDoneUPP(PMSheetDoneUPP userUPP);
+
+/*
+ * InvokePMItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePMItemUPP(
+ DialogRef theDialog,
+ short item,
+ PMItemUPP userUPP);
+
+/*
+ * InvokePMPrintDialogInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePMPrintDialogInitUPP(
+ PMPrintSettings printSettings,
+ PMDialog * theDialog,
+ PMPrintDialogInitUPP userUPP);
+
+/*
+ * InvokePMPageSetupDialogInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePMPageSetupDialogInitUPP(
+ PMPageFormat pageFormat,
+ PMDialog * theDialog,
+ PMPageSetupDialogInitUPP userUPP);
+
+/*
+ * InvokePMSheetDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePMSheetDoneUPP(
+ PMPrintSession printSession,
+ WindowRef documentWindow,
+ Boolean accepted,
+ PMSheetDoneUPP userUPP);
#if PM_USE_SESSION_APIS
#else
- /* Print loop */
- /*
- * PMBeginDocument()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMBeginDocument(
- PMPrintSettings printSettings,
- PMPageFormat pageFormat,
- PMPrintContext * printContext);
-
-
- /*
- * PMEndDocument()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMEndDocument(PMPrintContext printContext);
-
-
- /*
- * PMBeginPage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMBeginPage(
- PMPrintContext printContext,
- const PMRect * pageFrame);
-
-
- /*
- * PMEndPage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMEndPage(PMPrintContext printContext);
-
-
- /* Printing Dialogs */
- /*
- * PMPageSetupDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPageSetupDialog(
- PMPageFormat pageFormat,
- Boolean * accepted);
-
-
- /*
- * PMPrintDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPrintDialog(
- PMPrintSettings printSettings,
- PMPageFormat constPageFormat,
- Boolean * accepted);
-
-
- /*
- * PMPageSetupDialogInit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPageSetupDialogInit(
- PMPageFormat pageFormat,
- PMDialog * newDialog);
-
-
- /************************/
- /* PMPrintDialogInit is not recommended. You should instead use */
- /* PMPrintDialogInitWithPageFormat or PMSessionPrintDialogInit */
- /************************/
- /*
- * PMPrintDialogInit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPrintDialogInit(
- PMPrintSettings printSettings,
- PMDialog * newDialog);
-
-
- /*
- * PMPrintDialogInitWithPageFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPrintDialogInitWithPageFormat(
- PMPrintSettings printSettings,
- PMPageFormat constPageFormat,
- PMDialog * newDialog);
-
-
- /*
- * PMPrintDialogMain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPrintDialogMain(
- PMPrintSettings printSettings,
- PMPageFormat constPageFormat,
- Boolean * accepted,
- PMPrintDialogInitUPP myInitProc);
-
-
- /*
- * PMPageSetupDialogMain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPageSetupDialogMain(
- PMPageFormat pageFormat,
- Boolean * accepted,
- PMPageSetupDialogInitUPP myInitProc);
+/* Print loop */
+/*
+ * PMBeginDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMBeginDocument(
+ PMPrintSettings printSettings,
+ PMPageFormat pageFormat,
+ PMPrintContext * printContext);
+
+
+/*
+ * PMEndDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMEndDocument(PMPrintContext printContext);
+
+
+/*
+ * PMBeginPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMBeginPage(
+ PMPrintContext printContext,
+ const PMRect * pageFrame);
+
+
+/*
+ * PMEndPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMEndPage(PMPrintContext printContext);
+
+
+/* Printing Dialogs */
+/*
+ * PMPageSetupDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPageSetupDialog(
+ PMPageFormat pageFormat,
+ Boolean * accepted);
+
+
+/*
+ * PMPrintDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPrintDialog(
+ PMPrintSettings printSettings,
+ PMPageFormat constPageFormat,
+ Boolean * accepted);
+
+
+/*
+ * PMPageSetupDialogInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPageSetupDialogInit(
+ PMPageFormat pageFormat,
+ PMDialog * newDialog);
+
+
+/************************/
+/* PMPrintDialogInit is not recommended. You should instead use */
+/* PMPrintDialogInitWithPageFormat or PMSessionPrintDialogInit */
+/************************/
+/*
+ * PMPrintDialogInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPrintDialogInit(
+ PMPrintSettings printSettings,
+ PMDialog * newDialog);
+
+
+/*
+ * PMPrintDialogInitWithPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPrintDialogInitWithPageFormat(
+ PMPrintSettings printSettings,
+ PMPageFormat constPageFormat,
+ PMDialog * newDialog);
+
+
+/*
+ * PMPrintDialogMain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPrintDialogMain(
+ PMPrintSettings printSettings,
+ PMPageFormat constPageFormat,
+ Boolean * accepted,
+ PMPrintDialogInitUPP myInitProc);
+
+
+/*
+ * PMPageSetupDialogMain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPageSetupDialogMain(
+ PMPageFormat pageFormat,
+ Boolean * accepted,
+ PMPageSetupDialogInitUPP myInitProc);
#endif /* PM_USE_SESSION_APIS */
- /* Printing Dialog accessors */
- /*
- * PMGetDialogPtr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetDialogPtr(
- PMDialog pmDialog,
- DialogRef * theDialog);
+/* Printing Dialog accessors */
+/*
+ * PMGetDialogPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDialogPtr(
+ PMDialog pmDialog,
+ DialogRef * theDialog);
#define PMGetDialogRef PMGetDialogPtr
- /*
- * PMGetModalFilterProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetModalFilterProc(
- PMDialog pmDialog,
- ModalFilterUPP * filterProc);
-
-
- /*
- * PMSetModalFilterProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetModalFilterProc(
- PMDialog pmDialog,
- ModalFilterUPP filterProc);
-
-
- /*
- * PMGetItemProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetItemProc(
- PMDialog pmDialog,
- PMItemUPP * itemProc);
-
-
- /*
- * PMSetItemProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetItemProc(
- PMDialog pmDialog,
- PMItemUPP itemProc);
-
-
- /*
- * PMGetDialogAccepted()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetDialogAccepted(
- PMDialog pmDialog,
- Boolean * process);
-
-
- /*
- * PMSetDialogAccepted()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetDialogAccepted(
- PMDialog pmDialog,
- Boolean process);
-
-
- /*
- * PMGetDialogDone()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetDialogDone(
- PMDialog pmDialog,
- Boolean * done);
-
-
- /*
- * PMSetDialogDone()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetDialogDone(
- PMDialog pmDialog,
- Boolean done);
-
-
- /* Presets */
- /*
- * PMSessionEnablePrinterPresets()
- *
- * Summary:
- * Enable the use of printer presets in the print dialog.
- *
- * Discussion:
- * Displaying the print dialog on a session after making this call
- * will show the presets available for the specified graphis type.
- * In addition this call will enable the use of the simplified print
- * dialog. On OS 9 this function returns kPMNotImplemented.
- *
- * Parameters:
- *
- * session:
- * The session that will be used to present the print dialog.
- *
- * graphicsType:
- * The printer presets in the dialog should be suitable for
- * rendering this type of graphic. Currently defined graphics
- * types are: "Photo"
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- PMSessionEnablePrinterPresets(
- PMPrintSession session,
- CFStringRef graphicsType);
-
-
- /*
- * PMSessionDisablePrinterPresets()
- *
- * Summary:
- * Disable the use of printer presets in the print dialog.
- *
- * Discussion:
- * On OS 9 this function returns noErr since presets are never used
- * in that OS.
- *
- * Parameters:
- *
- * session:
- * The session that will be used to present the print dialog.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- PMSessionDisablePrinterPresets(PMPrintSession session);
+/*
+ * PMGetModalFilterProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetModalFilterProc(
+ PMDialog pmDialog,
+ ModalFilterUPP * filterProc);
+
+
+/*
+ * PMSetModalFilterProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetModalFilterProc(
+ PMDialog pmDialog,
+ ModalFilterUPP filterProc);
+
+
+/*
+ * PMGetItemProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetItemProc(
+ PMDialog pmDialog,
+ PMItemUPP * itemProc);
+
+
+/*
+ * PMSetItemProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetItemProc(
+ PMDialog pmDialog,
+ PMItemUPP itemProc);
+
+
+/*
+ * PMGetDialogAccepted()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDialogAccepted(
+ PMDialog pmDialog,
+ Boolean * process);
+
+
+/*
+ * PMSetDialogAccepted()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetDialogAccepted(
+ PMDialog pmDialog,
+ Boolean process);
+
+
+/*
+ * PMGetDialogDone()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDialogDone(
+ PMDialog pmDialog,
+ Boolean * done);
+
+
+/*
+ * PMSetDialogDone()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetDialogDone(
+ PMDialog pmDialog,
+ Boolean done);
+
+
+/* Presets */
+/*
+ * PMSessionEnablePrinterPresets()
+ *
+ * Summary:
+ * Enable the use of printer presets in the print dialog.
+ *
+ * Discussion:
+ * Displaying the print dialog on a session after making this call
+ * will show the presets available for the specified graphis type.
+ * In addition this call will enable the use of the simplified print
+ * dialog. On OS 9 this function returns kPMNotImplemented.
+ *
+ * Parameters:
+ *
+ * session:
+ * The session that will be used to present the print dialog.
+ *
+ * graphicsType:
+ * The printer presets in the dialog should be suitable for
+ * rendering this type of graphic. Currently defined graphics
+ * types are: "Photo"
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionEnablePrinterPresets(
+ PMPrintSession session,
+ CFStringRef graphicsType);
+
+
+/*
+ * PMSessionDisablePrinterPresets()
+ *
+ * Summary:
+ * Disable the use of printer presets in the print dialog.
+ *
+ * Discussion:
+ * On OS 9 this function returns noErr since presets are never used
+ * in that OS.
+ *
+ * Parameters:
+ *
+ * session:
+ * The session that will be used to present the print dialog.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionDisablePrinterPresets(PMPrintSession session);
diff --git a/include/qt/PMCore.h b/include/qt/PMCore.h
index 6c1787e3d..c5c0e90e7 100644
--- a/include/qt/PMCore.h
+++ b/include/qt/PMCore.h
@@ -1,17 +1,17 @@
/*
File: PMCore.h
-
+
Contains: Carbon Printing Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1998-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PMCORE__
#define __PMCORE__
@@ -63,1681 +63,1681 @@ extern "C" {
#define PM_USE_SESSION_APIS 1
#endif /* !defined(PM_USE_SESSION_APIS) */
- /* Callbacks */
- typedef CALLBACK_API(void , PMIdleProcPtr)(void);
- typedef STACK_UPP_TYPE(PMIdleProcPtr) PMIdleUPP;
- /*
- * NewPMIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PMIdleUPP)
- NewPMIdleUPP(PMIdleProcPtr userRoutine);
-
- /*
- * DisposePMIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePMIdleUPP(PMIdleUPP userUPP);
-
- /*
- * InvokePMIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokePMIdleUPP(PMIdleUPP userUPP);
+/* Callbacks */
+typedef CALLBACK_API( void , PMIdleProcPtr )(void);
+typedef STACK_UPP_TYPE(PMIdleProcPtr) PMIdleUPP;
+/*
+ * NewPMIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PMIdleUPP )
+NewPMIdleUPP(PMIdleProcPtr userRoutine);
+
+/*
+ * DisposePMIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePMIdleUPP(PMIdleUPP userUPP);
+
+/*
+ * InvokePMIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePMIdleUPP(PMIdleUPP userUPP);
#if PM_USE_SESSION_APIS
- /*
- * PMSessionCreatePrinterList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PMSessionCreatePrinterList(
- PMPrintSession printSession,
- CFArrayRef * printerList,
- CFIndex * currentIndex,
- PMPrinter * currentPrinter);
-
-
- /*
- * PMSessionSetCurrentPrinter()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.4 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PMSessionSetCurrentPrinter(
- PMPrintSession session,
- CFStringRef printerName);
-
-
- /*
- * PMSessionSetDestination()
- *
- * Summary:
- * Alter a print session and print settings so that an associated
- * print job is sent to the provided destination type in the,
- * optional, MIME document format.
- *
- * Discussion:
- * This function is most useful when an application would like to
- * write its print output to disk without requiring user
- * interaction. The list of MIME types that can be sent to the
- * provided destination can be obtained from
- * PMSessionCopyOutputFormatList and one of these passed to this
- * function.
- *
- * Parameters:
- *
- * printSession:
- * The session to be used for a print job. The session holds the
- * preview setting which can override the destination type in the
- * print settings.
- *
- * printSettings:
- * The print settings to be used for a print job. The print
- * settings specify whether a job will be directed toward a
- * printer or to file. It also holds the requested MIME output
- * type.
- *
- * destType:
- * The destiation type for a print job associated with the
- * provided print session and print settings. Fax is currently not
- * supported, but kPMDestinationPrinter, kPMDestinationFile, and
- * kPMDestinationPreview can be set.
- *
- * destFormat:
- * The MIME type to be generated for the provided destination
- * type. This parameter can be NULL in which the default format
- * for the requested destination type is used. To obtain a list of
- * valid formats for a given destiation type, use the function
- * PMSessionCopyOutputFormatList.
- *
- * destLocation:
- * Some destination types support a destination location. The
- * clearest example is the kPMDestinationFile destination type
- * which allows a caller to also supply a file URL specifying
- * where the output file is to be created.
- *
- * SPECIAL_AVAILABILITY_NOTE:
- * This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.1 and later. On Mac OS X it is available to
- * CFM applications through CarbonLib starting with Mac OS X
- * version 10.2 and later.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PMSessionSetDestination(
- PMPrintSession printSession,
- PMPrintSettings printSettings,
- PMDestinationType destType,
- CFStringRef destFormat,
- CFURLRef destLocation);
-
-
- /*
- * PMSessionGetDestinationType()
- *
- * Summary:
- * Hand back the destination type that will be used for a print job
- * with the specified print settings and print session.
- *
- * Discussion:
- * Currently there are four destination types:
- * kPMDestinationPrinter, kPMDestinationFile, kPMDestinationFax and
- * kPMDestinationPreview. The first three destination types are
- * stored in the print settings. The switch for preview is stored in
- * the print session and, if enabled, overrides the destination in
- * the print setting. This function is preferred over
- * PMGetDestination as the latter does not take a print session
- * parameter and therefore can not indicate whether preview has been
- * selected as the destination.
- *
- * Parameters:
- *
- * printSession:
- * The session to be used for a print job. The session holds the
- * preview setting which can override the destination type in the
- * print settings.
- *
- * printSettings:
- * The print settings to be used for a print job. The print
- * settings specify whether a job will be directed toward a
- * printer or to file.
- *
- * destTypeP:
- * A pointer to a caller supplied PMDestinationType variable. If
- * this function succeeds then *'destTypeP' will be filled in with
- * the destination type for a print job that used the specified
- * session and print settings. If this function fails, then
- * *'destType' will be set to kPMDestinationInvalid.
- *
- * SPECIAL_AVAILABILITY_NOTE:
- * This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.1 and later. On Mac OS X it is available to
- * CFM applications through CarbonLib starting with Mac OS X
- * version 10.2 and later.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PMSessionGetDestinationType(
- PMPrintSession printSession,
- PMPrintSettings printSettings,
- PMDestinationType * destTypeP);
-
-
- /*
- * PMSessionCopyDestinationFormat()
- *
- * Summary:
- * Hand back the destination output MIME type associated with the
- * provided print session and print settings.
- *
- * Parameters:
- *
- * printSession:
- * A currently open print session.
- *
- * printSettings:
- * The print settings that are to be searched.
- *
- * destFormatP:
- * A pointer to a caller allocated CFStringRef variable. If this
- * routine returns noErr then *'destFormatP' will either be a copy
- * of a CFStringRef specifying the output format for the print
- * job, or NULL indicating that the default output format will be
- * used. If this function return an error, then *'destFormatP'
- * will be set to NULL.
- *
- * SPECIAL_AVAILABILITY_NOTE:
- * This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.1 and later. On Mac OS X it is available to
- * CFM applications through CarbonLib starting with Mac OS X
- * version 10.2 and later.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PMSessionCopyDestinationFormat(
- PMPrintSession printSession,
- PMPrintSettings printSettings,
- CFStringRef * destFormatP);
-
-
- /*
- * PMSessionCopyDestinationLocation()
- *
- * Summary:
- * Hand back the URL destination location given a print session and
- * print settings.
- *
- * Discussion:
- * Some destination type support a destination location which
- * further defines where the output from a pritn job should be sent.
- * The kPMDestinationFile destiation type, for example, will use a
- * file URL to determine where a new file should be created.
- *
- * Parameters:
- *
- * printSession:
- * A currently open print session.
- *
- * printSettings:
- * The print settings that are to be searched.
- *
- * destLocationP:
- * A pointer to a caller allocated CFURLRef variable. If this
- * routine returns noErr then *'outputFileP' will either be NULL
- * indicating that the job is using the default destination
- * location for the current destination type or a copy of a
- * CFURLRef will be placed in *'destLocationP'. If this function
- * returns an error then 'destLocationP' will be set to NULL.
- *
- * SPECIAL_AVAILABILITY_NOTE:
- * This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.1 and later. On Mac OS X it is available to
- * CFM applications through CarbonLib starting with Mac OS X
- * version 10.2 and later.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PMSessionCopyDestinationLocation(
- PMPrintSession printSession,
- PMPrintSettings printSettings,
- CFURLRef * destLocationP);
-
-
- /*
- * PMSessionCopyOutputFormatList()
- *
- * Summary:
- * Hands back an an array of MIME types describing the possible
- * output formats for the printer module associated with the current
- * printer.
- *
- * Parameters:
- *
- * printSession:
- * This session's current printer's printer module will be queried
- * for its supported output MIME types.
- *
- * destType:
- * A print job can have one of several possible destination types.
- * The list of valid output formats is dependent upon the
- * destination type. This parameter specifies destination type of
- * interest when retrieving the output formats list.
- *
- * documentFormatP:
- * A pointer to a caller's CFArrayRef variable. If this routine
- * completes successfully, then *'documentFormatP' will be set to
- * a CFArrayRef containing CFStringRefs. Each CFStringRef in the
- * array is a MIME type specifying a type of output that can be
- * generated by the printer module associated with the current
- * printer.
- *
- * SPECIAL_AVAILABILITY_NOTE:
- * This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.1 and later. On Mac OS X it is available to
- * CFM applications through CarbonLib starting with Mac OS X
- * version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
- * routine returns kPMNotImplemented
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PMSessionCopyOutputFormatList(
- PMPrintSession printSession,
- PMDestinationType destType,
- CFArrayRef * documentFormatP);
-
-
-
- /*
- * PMSessionCreatePageFormatList()
- *
- * Summary:
- * Hand back a list of page format instances. Each page format
- * instance describes a paper size available on the specified
- * printer.
- *
- * Parameters:
- *
- * printSession:
- * A currently open print session.
- *
- * printer:
- * The printer whose page size list should be enumerated. To get
- * the session's current printer, see PMSessionGetCurrentPrinter().
- *
- * pageFormatList:
- * If this function is successful then noErr will be returned and
- * *'pageFormatList' will be set to a newly created CFArray. Each
- * element in the array will be a PMPageFormat describing an
- * available paper size for the specified printer. If this
- * function fails then a non-zero error code will be returned and
- * *'pageFormatList' will be set to NULL.
- *
- * SPECIAL_AVAILABILITY_NOTE:
- * This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.1 and later. On Mac OS X it is available to
- * CFM applications through CarbonLib starting with Mac OS X
- * version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
- * routine returns kPMNotImplemented
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- PMSessionCreatePageFormatList(
- PMPrintSession printSession,
- PMPrinter printer,
- CFArrayRef * pageFormatList);
-
-
- /*
- * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
- * starting with Mac OS X version 10.2 and later.
- *
- * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
- */
- /*
- * PMSessionBeginDocumentNoDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSessionBeginDocumentNoDialog(
- PMPrintSession printSession,
- PMPrintSettings printSettings,
- PMPageFormat pageFormat);
-
-
- /*
- * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
- * starting with Mac OS X version 10.2 and later.
- *
- * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
- */
- /*
- * PMSessionEndDocumentNoDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSessionEndDocumentNoDialog(PMPrintSession printSession);
-
-
- /*
- * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
- * starting with Mac OS X version 10.2 and later.
- *
- * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
- */
- /*
- * PMSessionBeginPageNoDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSessionBeginPageNoDialog(
- PMPrintSession printSession,
- PMPageFormat pageFormat,
- const PMRect * pageFrame);
-
-
- /*
- * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
- * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
- * starting with Mac OS X version 10.2 and later.
- *
- * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
- */
- /*
- * PMSessionEndPageNoDialog()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSessionEndPageNoDialog(PMPrintSession printSession);
+/*
+ * PMSessionCreatePrinterList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCreatePrinterList(
+ PMPrintSession printSession,
+ CFArrayRef * printerList,
+ CFIndex * currentIndex,
+ PMPrinter * currentPrinter);
+
+
+/*
+ * PMSessionSetCurrentPrinter()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionSetCurrentPrinter(
+ PMPrintSession session,
+ CFStringRef printerName);
+
+
+/*
+ * PMSessionSetDestination()
+ *
+ * Summary:
+ * Alter a print session and print settings so that an associated
+ * print job is sent to the provided destination type in the,
+ * optional, MIME document format.
+ *
+ * Discussion:
+ * This function is most useful when an application would like to
+ * write its print output to disk without requiring user
+ * interaction. The list of MIME types that can be sent to the
+ * provided destination can be obtained from
+ * PMSessionCopyOutputFormatList and one of these passed to this
+ * function.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * The session to be used for a print job. The session holds the
+ * preview setting which can override the destination type in the
+ * print settings.
+ *
+ * printSettings:
+ * The print settings to be used for a print job. The print
+ * settings specify whether a job will be directed toward a
+ * printer or to file. It also holds the requested MIME output
+ * type.
+ *
+ * destType:
+ * The destiation type for a print job associated with the
+ * provided print session and print settings. Fax is currently not
+ * supported, but kPMDestinationPrinter, kPMDestinationFile, and
+ * kPMDestinationPreview can be set.
+ *
+ * destFormat:
+ * The MIME type to be generated for the provided destination
+ * type. This parameter can be NULL in which the default format
+ * for the requested destination type is used. To obtain a list of
+ * valid formats for a given destiation type, use the function
+ * PMSessionCopyOutputFormatList.
+ *
+ * destLocation:
+ * Some destination types support a destination location. The
+ * clearest example is the kPMDestinationFile destination type
+ * which allows a caller to also supply a file URL specifying
+ * where the output file is to be created.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionSetDestination(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ PMDestinationType destType,
+ CFStringRef destFormat,
+ CFURLRef destLocation);
+
+
+/*
+ * PMSessionGetDestinationType()
+ *
+ * Summary:
+ * Hand back the destination type that will be used for a print job
+ * with the specified print settings and print session.
+ *
+ * Discussion:
+ * Currently there are four destination types:
+ * kPMDestinationPrinter, kPMDestinationFile, kPMDestinationFax and
+ * kPMDestinationPreview. The first three destination types are
+ * stored in the print settings. The switch for preview is stored in
+ * the print session and, if enabled, overrides the destination in
+ * the print setting. This function is preferred over
+ * PMGetDestination as the latter does not take a print session
+ * parameter and therefore can not indicate whether preview has been
+ * selected as the destination.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * The session to be used for a print job. The session holds the
+ * preview setting which can override the destination type in the
+ * print settings.
+ *
+ * printSettings:
+ * The print settings to be used for a print job. The print
+ * settings specify whether a job will be directed toward a
+ * printer or to file.
+ *
+ * destTypeP:
+ * A pointer to a caller supplied PMDestinationType variable. If
+ * this function succeeds then *'destTypeP' will be filled in with
+ * the destination type for a print job that used the specified
+ * session and print settings. If this function fails, then
+ * *'destType' will be set to kPMDestinationInvalid.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionGetDestinationType(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ PMDestinationType * destTypeP);
+
+
+/*
+ * PMSessionCopyDestinationFormat()
+ *
+ * Summary:
+ * Hand back the destination output MIME type associated with the
+ * provided print session and print settings.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * A currently open print session.
+ *
+ * printSettings:
+ * The print settings that are to be searched.
+ *
+ * destFormatP:
+ * A pointer to a caller allocated CFStringRef variable. If this
+ * routine returns noErr then *'destFormatP' will either be a copy
+ * of a CFStringRef specifying the output format for the print
+ * job, or NULL indicating that the default output format will be
+ * used. If this function return an error, then *'destFormatP'
+ * will be set to NULL.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCopyDestinationFormat(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ CFStringRef * destFormatP);
+
+
+/*
+ * PMSessionCopyDestinationLocation()
+ *
+ * Summary:
+ * Hand back the URL destination location given a print session and
+ * print settings.
+ *
+ * Discussion:
+ * Some destination type support a destination location which
+ * further defines where the output from a pritn job should be sent.
+ * The kPMDestinationFile destiation type, for example, will use a
+ * file URL to determine where a new file should be created.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * A currently open print session.
+ *
+ * printSettings:
+ * The print settings that are to be searched.
+ *
+ * destLocationP:
+ * A pointer to a caller allocated CFURLRef variable. If this
+ * routine returns noErr then *'outputFileP' will either be NULL
+ * indicating that the job is using the default destination
+ * location for the current destination type or a copy of a
+ * CFURLRef will be placed in *'destLocationP'. If this function
+ * returns an error then 'destLocationP' will be set to NULL.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCopyDestinationLocation(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ CFURLRef * destLocationP);
+
+
+/*
+ * PMSessionCopyOutputFormatList()
+ *
+ * Summary:
+ * Hands back an an array of MIME types describing the possible
+ * output formats for the printer module associated with the current
+ * printer.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * This session's current printer's printer module will be queried
+ * for its supported output MIME types.
+ *
+ * destType:
+ * A print job can have one of several possible destination types.
+ * The list of valid output formats is dependent upon the
+ * destination type. This parameter specifies destination type of
+ * interest when retrieving the output formats list.
+ *
+ * documentFormatP:
+ * A pointer to a caller's CFArrayRef variable. If this routine
+ * completes successfully, then *'documentFormatP' will be set to
+ * a CFArrayRef containing CFStringRefs. Each CFStringRef in the
+ * array is a MIME type specifying a type of output that can be
+ * generated by the printer module associated with the current
+ * printer.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
+ * routine returns kPMNotImplemented
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCopyOutputFormatList(
+ PMPrintSession printSession,
+ PMDestinationType destType,
+ CFArrayRef * documentFormatP);
+
+
+
+/*
+ * PMSessionCreatePageFormatList()
+ *
+ * Summary:
+ * Hand back a list of page format instances. Each page format
+ * instance describes a paper size available on the specified
+ * printer.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * A currently open print session.
+ *
+ * printer:
+ * The printer whose page size list should be enumerated. To get
+ * the session's current printer, see PMSessionGetCurrentPrinter().
+ *
+ * pageFormatList:
+ * If this function is successful then noErr will be returned and
+ * *'pageFormatList' will be set to a newly created CFArray. Each
+ * element in the array will be a PMPageFormat describing an
+ * available paper size for the specified printer. If this
+ * function fails then a non-zero error code will be returned and
+ * *'pageFormatList' will be set to NULL.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
+ * routine returns kPMNotImplemented
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCreatePageFormatList(
+ PMPrintSession printSession,
+ PMPrinter printer,
+ CFArrayRef * pageFormatList);
+
+
+/*
+ * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
+ * starting with Mac OS X version 10.2 and later.
+ *
+ * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
+ */
+/*
+ * PMSessionBeginDocumentNoDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionBeginDocumentNoDialog(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ PMPageFormat pageFormat);
+
+
+/*
+ * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
+ * starting with Mac OS X version 10.2 and later.
+ *
+ * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
+ */
+/*
+ * PMSessionEndDocumentNoDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionEndDocumentNoDialog(PMPrintSession printSession);
+
+
+/*
+ * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
+ * starting with Mac OS X version 10.2 and later.
+ *
+ * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
+ */
+/*
+ * PMSessionBeginPageNoDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionBeginPageNoDialog(
+ PMPrintSession printSession,
+ PMPageFormat pageFormat,
+ const PMRect * pageFrame);
+
+
+/*
+ * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
+ * starting with Mac OS X version 10.2 and later.
+ *
+ * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
+ */
+/*
+ * PMSessionEndPageNoDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionEndPageNoDialog(PMPrintSession printSession);
#else
- /*
- * PMSetIdleProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetIdleProc(PMIdleUPP idleProc);
-
-
- /* Print loop */
- /*
- * PMBegin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMBegin(void);
-
-
- /*
- * PMEnd()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMEnd(void);
-
-
- /************************/
- /* Valid only within a PMBeginPage/PMEndPage block. You should retrieve the printing */
- /* port with this call and set it before imaging a page. */
- /************************/
- /*
- * PMGetGrafPtr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetGrafPtr(
- PMPrintContext printContext,
- GrafPtr * grafPort);
-
-
- /* PMPageFormat */
- /*
- * PMNewPageFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMNewPageFormat(PMPageFormat * pageFormat);
-
-
- /*
- * PMDisposePageFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMDisposePageFormat(PMPageFormat pageFormat);
-
-
- /*
- * PMDefaultPageFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMDefaultPageFormat(PMPageFormat pageFormat);
-
-
- /*
- * PMValidatePageFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMValidatePageFormat(
- PMPageFormat pageFormat,
- Boolean * result);
-
-
- /* PMPrintSettings */
- /*
- * PMNewPrintSettings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMNewPrintSettings(PMPrintSettings * printSettings);
-
-
- /*
- * PMDisposePrintSettings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMDisposePrintSettings(PMPrintSettings printSettings);
-
-
- /*
- * PMDefaultPrintSettings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMDefaultPrintSettings(PMPrintSettings printSettings);
-
-
- /*
- * PMValidatePrintSettings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMValidatePrintSettings(
- PMPrintSettings printSettings,
- Boolean * result);
-
-
- /* Classic Support */
- /*
- * PMGeneral()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGeneral(Ptr pData);
-
-
- /*
- * PMConvertOldPrintRecord()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMConvertOldPrintRecord(
- Handle printRecordHandle,
- PMPrintSettings * printSettings,
- PMPageFormat * pageFormat);
-
-
- /*
- * PMMakeOldPrintRecord()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMMakeOldPrintRecord(
- PMPrintSettings printSettings,
- PMPageFormat pageFormat,
- Handle * printRecordHandle);
-
-
- /* Driver Information */
- /*
- * PMIsPostScriptDriver()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMIsPostScriptDriver(Boolean * isPostScript);
-
-
- /*
- * PMGetLanguageInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetLanguageInfo(PMLanguageInfo * info);
-
-
- /*
- * PMGetDriverCreator()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetDriverCreator(OSType * creator);
-
-
- /*
- * PMGetDriverReleaseInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetDriverReleaseInfo(VersRec * release);
-
-
- /*
- * PMGetPrinterResolutionCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetPrinterResolutionCount(UInt32 * count);
-
-
- /*
- * PMGetPrinterResolution()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetPrinterResolution(
- PMTag tag,
- PMResolution * res);
-
-
- /*
- * PMGetIndexedPrinterResolution()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetIndexedPrinterResolution(
- UInt32 index,
- PMResolution * res);
-
-
- /************************/
- /* PMEnableColorSync and PMDisableColorSync are valid within */
- /* BeginPage/EndPage block */
- /************************/
- /* ColorSync & PostScript Support */
- /*
- * PMEnableColorSync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMEnableColorSync(void);
-
-
- /*
- * PMDisableColorSync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMDisableColorSync(void);
-
-
- /************************/
- /* The PMPostScriptxxx calls are valid within a */
- /* BeginPage/EndPage block */
- /************************/
- /*
- * PMPostScriptBegin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPostScriptBegin(void);
-
-
- /*
- * PMPostScriptEnd()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPostScriptEnd(void);
-
-
- /************************/
- /* These PMPostScriptxxx calls are valid within a */
- /* PMPostScriptBegin/PMPostScriptEnd block */
- /************************/
- /*
- * PMPostScriptHandle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPostScriptHandle(Handle psHandle);
-
-
- /*
- * PMPostScriptData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPostScriptData(
- Ptr psPtr,
- Size len);
-
-
- /*
- * PMPostScriptFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMPostScriptFile(FSSpec * psFile);
-
-
- /* Error */
- /*
- * PMError()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMError(void);
-
-
- /*
- * PMSetError()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetError(OSStatus printError);
+/*
+ * PMSetIdleProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetIdleProc(PMIdleUPP idleProc);
+
+
+/* Print loop */
+/*
+ * PMBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMBegin(void);
+
+
+/*
+ * PMEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMEnd(void);
+
+
+/************************/
+/* Valid only within a PMBeginPage/PMEndPage block. You should retrieve the printing */
+/* port with this call and set it before imaging a page. */
+/************************/
+/*
+ * PMGetGrafPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetGrafPtr(
+ PMPrintContext printContext,
+ GrafPtr * grafPort);
+
+
+/* PMPageFormat */
+/*
+ * PMNewPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMNewPageFormat(PMPageFormat * pageFormat);
+
+
+/*
+ * PMDisposePageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDisposePageFormat(PMPageFormat pageFormat);
+
+
+/*
+ * PMDefaultPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDefaultPageFormat(PMPageFormat pageFormat);
+
+
+/*
+ * PMValidatePageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMValidatePageFormat(
+ PMPageFormat pageFormat,
+ Boolean * result);
+
+
+/* PMPrintSettings */
+/*
+ * PMNewPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMNewPrintSettings(PMPrintSettings * printSettings);
+
+
+/*
+ * PMDisposePrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDisposePrintSettings(PMPrintSettings printSettings);
+
+
+/*
+ * PMDefaultPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDefaultPrintSettings(PMPrintSettings printSettings);
+
+
+/*
+ * PMValidatePrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMValidatePrintSettings(
+ PMPrintSettings printSettings,
+ Boolean * result);
+
+
+/* Classic Support */
+/*
+ * PMGeneral()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGeneral(Ptr pData);
+
+
+/*
+ * PMConvertOldPrintRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMConvertOldPrintRecord(
+ Handle printRecordHandle,
+ PMPrintSettings * printSettings,
+ PMPageFormat * pageFormat);
+
+
+/*
+ * PMMakeOldPrintRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMMakeOldPrintRecord(
+ PMPrintSettings printSettings,
+ PMPageFormat pageFormat,
+ Handle * printRecordHandle);
+
+
+/* Driver Information */
+/*
+ * PMIsPostScriptDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMIsPostScriptDriver(Boolean * isPostScript);
+
+
+/*
+ * PMGetLanguageInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetLanguageInfo(PMLanguageInfo * info);
+
+
+/*
+ * PMGetDriverCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDriverCreator(OSType * creator);
+
+
+/*
+ * PMGetDriverReleaseInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDriverReleaseInfo(VersRec * release);
+
+
+/*
+ * PMGetPrinterResolutionCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPrinterResolutionCount(UInt32 * count);
+
+
+/*
+ * PMGetPrinterResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPrinterResolution(
+ PMTag tag,
+ PMResolution * res);
+
+
+/*
+ * PMGetIndexedPrinterResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetIndexedPrinterResolution(
+ UInt32 index,
+ PMResolution * res);
+
+
+/************************/
+/* PMEnableColorSync and PMDisableColorSync are valid within */
+/* BeginPage/EndPage block */
+/************************/
+/* ColorSync & PostScript Support */
+/*
+ * PMEnableColorSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMEnableColorSync(void);
+
+
+/*
+ * PMDisableColorSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDisableColorSync(void);
+
+
+/************************/
+/* The PMPostScriptxxx calls are valid within a */
+/* BeginPage/EndPage block */
+/************************/
+/*
+ * PMPostScriptBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptBegin(void);
+
+
+/*
+ * PMPostScriptEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptEnd(void);
+
+
+/************************/
+/* These PMPostScriptxxx calls are valid within a */
+/* PMPostScriptBegin/PMPostScriptEnd block */
+/************************/
+/*
+ * PMPostScriptHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptHandle(Handle psHandle);
+
+
+/*
+ * PMPostScriptData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptData(
+ Ptr psPtr,
+ Size len);
+
+
+/*
+ * PMPostScriptFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptFile(FSSpec * psFile);
+
+
+/* Error */
+/*
+ * PMError()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMError(void);
+
+
+/*
+ * PMSetError()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetError(OSStatus printError);
#endif /* PM_USE_SESSION_APIS */
- /* PMPageFormat */
- /*
- * PMCopyPageFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMCopyPageFormat(
- PMPageFormat formatSrc,
- PMPageFormat formatDest);
-
-
- /************************/
- /* Flattening a page format should only be necessary if you intend to preserve */
- /* the object settings along with a document. A page format will persist outside of a */
- /* PMBegin/PMEnd block. This will allow you to use any accessors on the object without */
- /* the need to flatten and unflatten. Keep in mind accessors make no assumption */
- /* on the validity of the value you set. This can only be done thru PMValidatePageFormat */
- /* in a PMBegin/PMEnd block or with PMSessionValidatePageFormat with a valid session. */
- /* It is your responsibility for disposing of the handle. */
- /************************/
- /*
- * PMFlattenPageFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMFlattenPageFormat(
- PMPageFormat pageFormat,
- Handle * flatFormat);
-
-
- /*
- * PMUnflattenPageFormat()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMUnflattenPageFormat(
- Handle flatFormat,
- PMPageFormat * pageFormat);
-
-
- /* PMPageFormat Accessors */
- /************************/
- /* PMSetxxx calls only saves the value inside the printing object. They make no assumption on the */
- /* validity of the value. This should be done using PMValidatePageFormat/PMSessionValidatePageFormat */
- /* Any dependant settings are also updated during a validate call. */
- /* For example: */
- /* PMGetAdjustedPaperRect - returns a rect of a certain size */
- /* PMSetScale( aPageFormat, 500.0 ) */
- /* PMGetAdjustedPaperRect - returns the SAME rect as the first call */
- /**/
- /* PMGetAdjustedPaperRect - returns a rect of a certain size */
- /* PMSetScale( aPageFormat, 500.0 ) */
- /* PMValidatePageFormat or PMSessionValidatePageFormat */
- /* PMGetAdjustedPaperRect - returns a rect thats scaled 500% from the first call */
- /************************/
- /*
- * PMGetPageFormatExtendedData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetPageFormatExtendedData(
- PMPageFormat pageFormat,
- OSType dataID,
- UInt32 * size,
- void * extendedData);
-
-
- /*
- * PMSetPageFormatExtendedData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetPageFormatExtendedData(
- PMPageFormat pageFormat,
- OSType dataID,
- UInt32 size,
- void * extendedData);
-
-
- /************************/
- /* A value of 100.0 means 100% (no scaling). 50.0 means 50% scaling */
- /************************/
- /*
- * PMGetScale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetScale(
- PMPageFormat pageFormat,
- double * scale);
-
-
- /*
- * PMSetScale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetScale(
- PMPageFormat pageFormat,
- double scale);
-
-
- /************************/
- /* This is the drawing resolution of an app. This should not be confused with */
- /* the resolution of the printer. You can call PMGetPrinterResolution to see */
- /* what resolutions are avaliable for the current printer. */
- /************************/
- /*
- * PMGetResolution()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetResolution(
- PMPageFormat pageFormat,
- PMResolution * res);
-
-
- /*
- * PMSetResolution()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetResolution(
- PMPageFormat pageFormat,
- const PMResolution * res);
-
-
- /************************/
- /* This is the physical size of the paper without regard to resolution, orientation */
- /* or scaling. It is returned as a 72dpi value. */
- /************************/
- /*
- * PMGetPhysicalPaperSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetPhysicalPaperSize(
- PMPageFormat pageFormat,
- PMRect * paperSize);
-
-
- /*
- * PMSetPhysicalPaperSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetPhysicalPaperSize(
- PMPageFormat pageFormat,
- const PMRect * paperSize);
-
-
- /************************/
- /* This is the physical size of the page without regard to resolution, orientation */
- /* or scaling. It is returned as a 72dpi value. */
- /************************/
- /*
- * PMGetPhysicalPageSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetPhysicalPageSize(
- PMPageFormat pageFormat,
- PMRect * pageSize);
-
-
- /*
- * PMGetAdjustedPaperRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetAdjustedPaperRect(
- PMPageFormat pageFormat,
- PMRect * paperRect);
-
-
- /*
- * PMGetAdjustedPageRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetAdjustedPageRect(
- PMPageFormat pageFormat,
- PMRect * pageRect);
-
-
- /*
- * PMGetUnadjustedPaperRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetUnadjustedPaperRect(
- PMPageFormat pageFormat,
- PMRect * paperRect);
-
-
- /*
- * PMSetUnadjustedPaperRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetUnadjustedPaperRect(
- PMPageFormat pageFormat,
- const PMRect * paperRect);
-
-
- /*
- * PMGetUnadjustedPageRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetUnadjustedPageRect(
- PMPageFormat pageFormat,
- PMRect * pageRect);
-
-
- /*
- * PMSetAdjustedPageRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetAdjustedPageRect(
- PMPageFormat pageFormat,
- const PMRect * pageRect);
-
-
- /*
- * PMGetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetOrientation(
- PMPageFormat pageFormat,
- PMOrientation * orientation);
-
-
- /*
- * PMSetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetOrientation(
- PMPageFormat pageFormat,
- PMOrientation orientation,
- Boolean lock);
-
-
- /* PMPrintSettings */
- /*
- * PMCopyPrintSettings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMCopyPrintSettings(
- PMPrintSettings settingSrc,
- PMPrintSettings settingDest);
-
-
- /************************/
- /* Flattening a print settings should only be necessary if you intend to preserve */
- /* the object settings along with a document. A print settings will persist outside of a */
- /* PMBegin/PMEnd block. This allows you to use any accessors on the object without */
- /* the need to flatten and unflatten. Keep in mind the accessors make no assumption */
- /* on the validity of the value. This can only be done thru PMValidatePrintSettings */
- /* in a PMBegin/PMEnd block or with PMSessionValidatePrintSettings with a valid session. */
- /* It is your responsibility for disposing of the handle. */
- /************************/
- /*
- * PMFlattenPrintSettings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMFlattenPrintSettings(
- PMPrintSettings printSettings,
- Handle * flatSettings);
-
-
- /*
- * PMUnflattenPrintSettings()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMUnflattenPrintSettings(
- Handle flatSettings,
- PMPrintSettings * printSettings);
-
-
- /* PMPrintSettings Accessors */
- /*
- * PMGetPrintSettingsExtendedData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetPrintSettingsExtendedData(
- PMPrintSettings printSettings,
- OSType dataID,
- UInt32 * size,
- void * extendedData);
-
-
- /*
- * PMSetPrintSettingsExtendedData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetPrintSettingsExtendedData(
- PMPrintSettings printSettings,
- OSType dataID,
- UInt32 size,
- void * extendedData);
-
-
- /*
- * PMGetDestination()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetDestination(
- PMPrintSettings printSettings,
- PMDestinationType * destType,
- CFURLRef * fileURL);
-
-
- /*
- * PMGetJobName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetJobName(
- PMPrintSettings printSettings,
- StringPtr name);
-
-
- /*
- * PMSetJobName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetJobName(
- PMPrintSettings printSettings,
- StringPtr name);
-
-
- /*
- * PMGetCopies()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetCopies(
- PMPrintSettings printSettings,
- UInt32 * copies);
-
-
- /*
- * PMSetCopies()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetCopies(
- PMPrintSettings printSettings,
- UInt32 copies,
- Boolean lock);
-
-
- /*
- * PMGetFirstPage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetFirstPage(
- PMPrintSettings printSettings,
- UInt32 * first);
-
-
- /*
- * PMSetFirstPage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetFirstPage(
- PMPrintSettings printSettings,
- UInt32 first,
- Boolean lock);
-
-
- /*
- * PMGetLastPage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetLastPage(
- PMPrintSettings printSettings,
- UInt32 * last);
-
-
- /*
- * PMSetLastPage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetLastPage(
- PMPrintSettings printSettings,
- UInt32 last,
- Boolean lock);
-
-
- /************************/
- /* The default page range is from 1-32000. The page range is something that is */
- /* set by the application. It is NOT the first and last page to print. It serves */
- /* as limits for setting the first and last page. You may pass kPMPrintAllPages for */
- /* the maxPage value to specified that all pages are available for printing. */
- /************************/
- /*
- * PMGetPageRange()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMGetPageRange(
- PMPrintSettings printSettings,
- UInt32 * minPage,
- UInt32 * maxPage);
-
-
- /************************/
- /* The first and last page are immediately clipped to the new range */
- /************************/
- /*
- * PMSetPageRange()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetPageRange(
- PMPrintSettings printSettings,
- UInt32 minPage,
- UInt32 maxPage);
-
-
- /*
- * PMSetProfile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PMSetProfile(
- PMPrintSettings printSettings,
- PMTag tag,
- const CMProfileLocation * profile);
-
-
- /*
- * PMSetCollate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- PMSetCollate(
- PMPrintSettings printSettings,
- Boolean collate);
-
-
- /*
- * PMGetCollate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- PMGetCollate(
- PMPrintSettings printSettings,
- Boolean * collate);
-
-
- /*
- * PMServerCreatePrinterList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- PMServerCreatePrinterList(
- PMServer server,
- CFArrayRef * printerList);
-
-
- /*
- * PMPrinterGetName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(CFStringRef)
- PMPrinterGetName(PMPrinter printer);
-
-
- /*
- * PMPrinterGetID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(CFStringRef)
- PMPrinterGetID(PMPrinter printer);
-
-
- /*
- * PMPrinterIsDefault()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(Boolean)
- PMPrinterIsDefault(PMPrinter printer);
-
-
- /*
- * PMPrinterGetLocation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(CFStringRef)
- PMPrinterGetLocation(PMPrinter printer);
-
-
- /*
- * PMPrinterGetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- PMPrinterGetState(
- PMPrinter printer,
- PMPrinterState * state);
-
-
- /*
- * PMPrinterGetDeviceURI()
- *
- * Summary:
- * Hand back the URI of the printer's device.
- *
- * Discussion:
- * If defined on OS 9 this function returns kPMNotImplemented.
- *
- * Parameters:
- *
- * printer:
- * The printer whose device URI is to be retrieved.
- *
- * deviceURI:
- * On exit, if successful *'deviceURI' will contain a reference to
- * a CFURL describing the printer's device. The caller is
- * responsible for releasing this reference. If this call returns
- * an error, then *'deviceURI' will be set to NULL.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- PMPrinterGetDeviceURI(
- PMPrinter printer,
- CFURLRef * deviceURI);
-
-
-
- /*
- * PMPrinterIsFavorite()
- *
- * Summary:
- * Return true if the printer is in the user's favorite printer list.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(Boolean)
- PMPrinterIsFavorite(PMPrinter printer);
-
-
- /*
- * PMCGImageCreateWithEPSDataProvider()
- *
- * Summary:
- * Create an image reference that references both the PostScript
- * contents of an EPS file and a preview (proxy) image for that EPS
- * file.
- *
- * Discussion:
- * For OS X 10.1.0, this function ignores the passed in data
- * provider. The passed in image reference is retained and then
- * returned. For 10.1.1 and later, then the data provider is used
- * and the returned image reference is different than the passed in
- * image reference, so please be careful with your use of these
- * references. It is likely that the data will not be read from the
- * EPS data provider until well after this function returns. The
- * caller should be careful not to free the underlying EPS data
- * until the provider's release routine is invoked. Similarly the
- * preview image's data may be needed long after you think it should
- * be. Do not free the image data until the image data provider's
- * release data function has been called. To make sure these data
- * providers are properly reference counted, release your reference
- * the EPS data provider and on the EPS image preview when they are
- * no longer needed by your application. For Mac OS X 10.2 and
- * later, the contents of the EPS provider at the time of this call
- * can be dumped to a file if you first do the following, BEFORE
- * running your application. From the command line in terminal:
- * defaults write NSGlobalDomain com.apple.print.eps.testProvider
- * /tmp/dump.eps causes a dump of the EPS data into a file
- * /tmp/dump.eps.
- *
- * Parameters:
- *
- * epsDataProvider:
- * A Core Graphics data provider that can supply the PostScript
- * contents of the EPS file. Post OS X 10.1, there will be some
- * checking done on the EPS data provided to the
- * PMCGImageCreateWithEPSDataProvider() call. It is important that
- * the EPS data begin with the EPSF required header and bounding
- * box DSC comments.
- *
- * epsPreview:
- * A Core Graphics image reference to the proxy image for the EPS
- * file. When the image reference result of this function is
- * rendered on screen or printed to a printer that can not render
- * PostScript this proxy image is drawn instead.
- *
- * Result:
- * an image reference capable of rendering either the EPS content or
- * the proxy image depending upon the capabilities of the targeted
- * context.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(CGImageRef)
- PMCGImageCreateWithEPSDataProvider(
- CGDataProviderRef epsDataProvider,
- CGImageRef epsPreview);
+/* PMPageFormat */
+/*
+ * PMCopyPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMCopyPageFormat(
+ PMPageFormat formatSrc,
+ PMPageFormat formatDest);
+
+
+/************************/
+/* Flattening a page format should only be necessary if you intend to preserve */
+/* the object settings along with a document. A page format will persist outside of a */
+/* PMBegin/PMEnd block. This will allow you to use any accessors on the object without */
+/* the need to flatten and unflatten. Keep in mind accessors make no assumption */
+/* on the validity of the value you set. This can only be done thru PMValidatePageFormat */
+/* in a PMBegin/PMEnd block or with PMSessionValidatePageFormat with a valid session. */
+/* It is your responsibility for disposing of the handle. */
+/************************/
+/*
+ * PMFlattenPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMFlattenPageFormat(
+ PMPageFormat pageFormat,
+ Handle * flatFormat);
+
+
+/*
+ * PMUnflattenPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMUnflattenPageFormat(
+ Handle flatFormat,
+ PMPageFormat * pageFormat);
+
+
+/* PMPageFormat Accessors */
+/************************/
+/* PMSetxxx calls only saves the value inside the printing object. They make no assumption on the */
+/* validity of the value. This should be done using PMValidatePageFormat/PMSessionValidatePageFormat */
+/* Any dependant settings are also updated during a validate call. */
+/* For example: */
+/* PMGetAdjustedPaperRect - returns a rect of a certain size */
+/* PMSetScale( aPageFormat, 500.0 ) */
+/* PMGetAdjustedPaperRect - returns the SAME rect as the first call */
+/**/
+/* PMGetAdjustedPaperRect - returns a rect of a certain size */
+/* PMSetScale( aPageFormat, 500.0 ) */
+/* PMValidatePageFormat or PMSessionValidatePageFormat */
+/* PMGetAdjustedPaperRect - returns a rect thats scaled 500% from the first call */
+/************************/
+/*
+ * PMGetPageFormatExtendedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPageFormatExtendedData(
+ PMPageFormat pageFormat,
+ OSType dataID,
+ UInt32 * size,
+ void * extendedData);
+
+
+/*
+ * PMSetPageFormatExtendedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetPageFormatExtendedData(
+ PMPageFormat pageFormat,
+ OSType dataID,
+ UInt32 size,
+ void * extendedData);
+
+
+/************************/
+/* A value of 100.0 means 100% (no scaling). 50.0 means 50% scaling */
+/************************/
+/*
+ * PMGetScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetScale(
+ PMPageFormat pageFormat,
+ double * scale);
+
+
+/*
+ * PMSetScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetScale(
+ PMPageFormat pageFormat,
+ double scale);
+
+
+/************************/
+/* This is the drawing resolution of an app. This should not be confused with */
+/* the resolution of the printer. You can call PMGetPrinterResolution to see */
+/* what resolutions are avaliable for the current printer. */
+/************************/
+/*
+ * PMGetResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetResolution(
+ PMPageFormat pageFormat,
+ PMResolution * res);
+
+
+/*
+ * PMSetResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetResolution(
+ PMPageFormat pageFormat,
+ const PMResolution * res);
+
+
+/************************/
+/* This is the physical size of the paper without regard to resolution, orientation */
+/* or scaling. It is returned as a 72dpi value. */
+/************************/
+/*
+ * PMGetPhysicalPaperSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPhysicalPaperSize(
+ PMPageFormat pageFormat,
+ PMRect * paperSize);
+
+
+/*
+ * PMSetPhysicalPaperSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetPhysicalPaperSize(
+ PMPageFormat pageFormat,
+ const PMRect * paperSize);
+
+
+/************************/
+/* This is the physical size of the page without regard to resolution, orientation */
+/* or scaling. It is returned as a 72dpi value. */
+/************************/
+/*
+ * PMGetPhysicalPageSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPhysicalPageSize(
+ PMPageFormat pageFormat,
+ PMRect * pageSize);
+
+
+/*
+ * PMGetAdjustedPaperRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetAdjustedPaperRect(
+ PMPageFormat pageFormat,
+ PMRect * paperRect);
+
+
+/*
+ * PMGetAdjustedPageRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetAdjustedPageRect(
+ PMPageFormat pageFormat,
+ PMRect * pageRect);
+
+
+/*
+ * PMGetUnadjustedPaperRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetUnadjustedPaperRect(
+ PMPageFormat pageFormat,
+ PMRect * paperRect);
+
+
+/*
+ * PMSetUnadjustedPaperRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetUnadjustedPaperRect(
+ PMPageFormat pageFormat,
+ const PMRect * paperRect);
+
+
+/*
+ * PMGetUnadjustedPageRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetUnadjustedPageRect(
+ PMPageFormat pageFormat,
+ PMRect * pageRect);
+
+
+/*
+ * PMSetAdjustedPageRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetAdjustedPageRect(
+ PMPageFormat pageFormat,
+ const PMRect * pageRect);
+
+
+/*
+ * PMGetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetOrientation(
+ PMPageFormat pageFormat,
+ PMOrientation * orientation);
+
+
+/*
+ * PMSetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetOrientation(
+ PMPageFormat pageFormat,
+ PMOrientation orientation,
+ Boolean lock);
+
+
+/* PMPrintSettings */
+/*
+ * PMCopyPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMCopyPrintSettings(
+ PMPrintSettings settingSrc,
+ PMPrintSettings settingDest);
+
+
+/************************/
+/* Flattening a print settings should only be necessary if you intend to preserve */
+/* the object settings along with a document. A print settings will persist outside of a */
+/* PMBegin/PMEnd block. This allows you to use any accessors on the object without */
+/* the need to flatten and unflatten. Keep in mind the accessors make no assumption */
+/* on the validity of the value. This can only be done thru PMValidatePrintSettings */
+/* in a PMBegin/PMEnd block or with PMSessionValidatePrintSettings with a valid session. */
+/* It is your responsibility for disposing of the handle. */
+/************************/
+/*
+ * PMFlattenPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMFlattenPrintSettings(
+ PMPrintSettings printSettings,
+ Handle * flatSettings);
+
+
+/*
+ * PMUnflattenPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMUnflattenPrintSettings(
+ Handle flatSettings,
+ PMPrintSettings * printSettings);
+
+
+/* PMPrintSettings Accessors */
+/*
+ * PMGetPrintSettingsExtendedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPrintSettingsExtendedData(
+ PMPrintSettings printSettings,
+ OSType dataID,
+ UInt32 * size,
+ void * extendedData);
+
+
+/*
+ * PMSetPrintSettingsExtendedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetPrintSettingsExtendedData(
+ PMPrintSettings printSettings,
+ OSType dataID,
+ UInt32 size,
+ void * extendedData);
+
+
+/*
+ * PMGetDestination()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDestination(
+ PMPrintSettings printSettings,
+ PMDestinationType * destType,
+ CFURLRef * fileURL);
+
+
+/*
+ * PMGetJobName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetJobName(
+ PMPrintSettings printSettings,
+ StringPtr name);
+
+
+/*
+ * PMSetJobName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetJobName(
+ PMPrintSettings printSettings,
+ StringPtr name);
+
+
+/*
+ * PMGetCopies()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetCopies(
+ PMPrintSettings printSettings,
+ UInt32 * copies);
+
+
+/*
+ * PMSetCopies()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetCopies(
+ PMPrintSettings printSettings,
+ UInt32 copies,
+ Boolean lock);
+
+
+/*
+ * PMGetFirstPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetFirstPage(
+ PMPrintSettings printSettings,
+ UInt32 * first);
+
+
+/*
+ * PMSetFirstPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetFirstPage(
+ PMPrintSettings printSettings,
+ UInt32 first,
+ Boolean lock);
+
+
+/*
+ * PMGetLastPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetLastPage(
+ PMPrintSettings printSettings,
+ UInt32 * last);
+
+
+/*
+ * PMSetLastPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetLastPage(
+ PMPrintSettings printSettings,
+ UInt32 last,
+ Boolean lock);
+
+
+/************************/
+/* The default page range is from 1-32000. The page range is something that is */
+/* set by the application. It is NOT the first and last page to print. It serves */
+/* as limits for setting the first and last page. You may pass kPMPrintAllPages for */
+/* the maxPage value to specified that all pages are available for printing. */
+/************************/
+/*
+ * PMGetPageRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPageRange(
+ PMPrintSettings printSettings,
+ UInt32 * minPage,
+ UInt32 * maxPage);
+
+
+/************************/
+/* The first and last page are immediately clipped to the new range */
+/************************/
+/*
+ * PMSetPageRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetPageRange(
+ PMPrintSettings printSettings,
+ UInt32 minPage,
+ UInt32 maxPage);
+
+
+/*
+ * PMSetProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetProfile(
+ PMPrintSettings printSettings,
+ PMTag tag,
+ const CMProfileLocation * profile);
+
+
+/*
+ * PMSetCollate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMSetCollate(
+ PMPrintSettings printSettings,
+ Boolean collate);
+
+
+/*
+ * PMGetCollate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMGetCollate(
+ PMPrintSettings printSettings,
+ Boolean * collate);
+
+
+/*
+ * PMServerCreatePrinterList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMServerCreatePrinterList(
+ PMServer server,
+ CFArrayRef * printerList);
+
+
+/*
+ * PMPrinterGetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( CFStringRef )
+PMPrinterGetName(PMPrinter printer);
+
+
+/*
+ * PMPrinterGetID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( CFStringRef )
+PMPrinterGetID(PMPrinter printer);
+
+
+/*
+ * PMPrinterIsDefault()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( Boolean )
+PMPrinterIsDefault(PMPrinter printer);
+
+
+/*
+ * PMPrinterGetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( CFStringRef )
+PMPrinterGetLocation(PMPrinter printer);
+
+
+/*
+ * PMPrinterGetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMPrinterGetState(
+ PMPrinter printer,
+ PMPrinterState * state);
+
+
+/*
+ * PMPrinterGetDeviceURI()
+ *
+ * Summary:
+ * Hand back the URI of the printer's device.
+ *
+ * Discussion:
+ * If defined on OS 9 this function returns kPMNotImplemented.
+ *
+ * Parameters:
+ *
+ * printer:
+ * The printer whose device URI is to be retrieved.
+ *
+ * deviceURI:
+ * On exit, if successful *'deviceURI' will contain a reference to
+ * a CFURL describing the printer's device. The caller is
+ * responsible for releasing this reference. If this call returns
+ * an error, then *'deviceURI' will be set to NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMPrinterGetDeviceURI(
+ PMPrinter printer,
+ CFURLRef * deviceURI);
+
+
+
+/*
+ * PMPrinterIsFavorite()
+ *
+ * Summary:
+ * Return true if the printer is in the user's favorite printer list.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( Boolean )
+PMPrinterIsFavorite(PMPrinter printer);
+
+
+/*
+ * PMCGImageCreateWithEPSDataProvider()
+ *
+ * Summary:
+ * Create an image reference that references both the PostScript
+ * contents of an EPS file and a preview (proxy) image for that EPS
+ * file.
+ *
+ * Discussion:
+ * For OS X 10.1.0, this function ignores the passed in data
+ * provider. The passed in image reference is retained and then
+ * returned. For 10.1.1 and later, then the data provider is used
+ * and the returned image reference is different than the passed in
+ * image reference, so please be careful with your use of these
+ * references. It is likely that the data will not be read from the
+ * EPS data provider until well after this function returns. The
+ * caller should be careful not to free the underlying EPS data
+ * until the provider's release routine is invoked. Similarly the
+ * preview image's data may be needed long after you think it should
+ * be. Do not free the image data until the image data provider's
+ * release data function has been called. To make sure these data
+ * providers are properly reference counted, release your reference
+ * the EPS data provider and on the EPS image preview when they are
+ * no longer needed by your application. For Mac OS X 10.2 and
+ * later, the contents of the EPS provider at the time of this call
+ * can be dumped to a file if you first do the following, BEFORE
+ * running your application. From the command line in terminal:
+ * defaults write NSGlobalDomain com.apple.print.eps.testProvider
+ * /tmp/dump.eps causes a dump of the EPS data into a file
+ * /tmp/dump.eps.
+ *
+ * Parameters:
+ *
+ * epsDataProvider:
+ * A Core Graphics data provider that can supply the PostScript
+ * contents of the EPS file. Post OS X 10.1, there will be some
+ * checking done on the EPS data provided to the
+ * PMCGImageCreateWithEPSDataProvider() call. It is important that
+ * the EPS data begin with the EPSF required header and bounding
+ * box DSC comments.
+ *
+ * epsPreview:
+ * A Core Graphics image reference to the proxy image for the EPS
+ * file. When the image reference result of this function is
+ * rendered on screen or printed to a printer that can not render
+ * PostScript this proxy image is drawn instead.
+ *
+ * Result:
+ * an image reference capable of rendering either the EPS content or
+ * the proxy image depending upon the capabilities of the targeted
+ * context.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CGImageRef )
+PMCGImageCreateWithEPSDataProvider(
+ CGDataProviderRef epsDataProvider,
+ CGImageRef epsPreview);
diff --git a/include/qt/PMDefinitions.h b/include/qt/PMDefinitions.h
index 32dd99a07..53d38eab6 100644
--- a/include/qt/PMDefinitions.h
+++ b/include/qt/PMDefinitions.h
@@ -1,17 +1,17 @@
/*
File: PMDefinitions.h
-
+
Contains: Carbon Printing Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1998-2002 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 __PMDEFINITIONS__
#define __PMDEFINITIONS__
@@ -39,11 +39,11 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/* Printing objects */
@@ -55,9 +55,8 @@ typedef struct OpaquePMPrintContext* PMPrintContext;
typedef struct OpaquePMPrintSession* PMPrintSession;
typedef struct OpaquePMPrinter* PMPrinter;
typedef struct OpaquePMServer* PMServer;
-enum
-{
- kPMCancel = 0x0080 /* user hit cancel button in dialog */
+enum {
+ kPMCancel = 0x0080 /* user hit cancel button in dialog */
};
#define kPMNoData NULL /* for general use */
@@ -72,214 +71,197 @@ enum
/* 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
+enum {
+ kPMDestinationInvalid = 0,
+ kPMDestinationPrinter = 1,
+ kPMDestinationFile = 2,
+ kPMDestinationFax = 3,
+ kPMDestinationPreview = 4
};
#define kPMDestinationTypeDefault kPMDestinationPrinter
typedef UInt32 PMTag;
-enum
-{
- /* common tags */
- kPMCurrentValue = FOUR_CHAR_CODE('curr'), /* current setting or value */
- kPMDefaultValue = FOUR_CHAR_CODE('dflt'), /* default setting or value */
- kPMMinimumValue = FOUR_CHAR_CODE('minv'), /* the minimum setting or value */
- kPMMaximumValue = FOUR_CHAR_CODE('maxv'), /* the maximum setting or value */
- /* profile tags */
- kPMSourceProfile = FOUR_CHAR_CODE('srcp'), /* source profile */
- /* resolution tags */
- kPMMinRange = FOUR_CHAR_CODE('mnrg'), /* Min range supported by a printer */
- kPMMaxRange = FOUR_CHAR_CODE('mxrg'), /* Max range supported by a printer */
- kPMMinSquareResolution = FOUR_CHAR_CODE('mins'), /* Min with X and Y resolution equal */
- kPMMaxSquareResolution = FOUR_CHAR_CODE('maxs'), /* Max with X and Y resolution equal */
- kPMDefaultResolution = FOUR_CHAR_CODE('dftr') /* printer default resolution */
+enum {
+ /* common tags */
+ kPMCurrentValue = FOUR_CHAR_CODE('curr'), /* current setting or value */
+ kPMDefaultValue = FOUR_CHAR_CODE('dflt'), /* default setting or value */
+ kPMMinimumValue = FOUR_CHAR_CODE('minv'), /* the minimum setting or value */
+ kPMMaximumValue = FOUR_CHAR_CODE('maxv'), /* the maximum setting or value */
+ /* profile tags */
+ kPMSourceProfile = FOUR_CHAR_CODE('srcp'), /* source profile */
+ /* resolution tags */
+ kPMMinRange = FOUR_CHAR_CODE('mnrg'), /* Min range supported by a printer */
+ kPMMaxRange = FOUR_CHAR_CODE('mxrg'), /* Max range supported by a printer */
+ kPMMinSquareResolution = FOUR_CHAR_CODE('mins'), /* Min with X and Y resolution equal */
+ kPMMaxSquareResolution = FOUR_CHAR_CODE('maxs'), /* Max with X and Y resolution equal */
+ kPMDefaultResolution = FOUR_CHAR_CODE('dftr') /* printer default resolution */
};
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 */
+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
+enum {
+ kPMPrinterIdle = 3,
+ kPMPrinterProcessing = 4,
+ kPMPrinterStopped = 5
};
-enum
-{
- kSizeOfTPrint = 120 /* size of old TPrint record */
+enum {
+ kSizeOfTPrint = 120 /* size of old TPrint record */
};
typedef UInt16 PMColorMode;
-enum
-{
- kPMBlackAndWhite = 1,
- kPMGray = 2,
- kPMColor = 3,
- kPMColorModeDuotone = 4, /* 2 channels */
- kPMColorModeSpecialColor = 5 /* to allow for special colors such as metalic, light cyan, etc. */
+enum {
+ kPMBlackAndWhite = 1,
+ kPMGray = 2,
+ kPMColor = 3,
+ kPMColorModeDuotone = 4, /* 2 channels */
+ kPMColorModeSpecialColor = 5 /* to allow for special colors such as metalic, light cyan, etc. */
};
/* Constants to define the ColorSync Intents. These intents may be used */
/* to set an intent part way through a page or for an entire document. */
typedef UInt32 PMColorSyncIntent;
-enum
-{
- kPMColorIntentUndefined = 0x0000, /* User or application have not declared an intent, use the printer's default. */
- kPMColorIntentAutomatic = 0x0001, /* Automatically match for photos and graphics anywhere on the page. */
- kPMColorIntentPhoto = 0x0002, /* Use Photographic (cmPerceptual) intent for all contents. */
- kPMColorIntentBusiness = 0x0004, /* Use Business Graphics (cmSaturation) intent for all contents. */
- kPMColorIntentRelColor = 0x0008, /* Use Relative Colormetrics (Logo Colors) for the page. */
- kPMColorIntentAbsColor = 0x0010, /* Use absolute colormetric for the page. */
- kPMColorIntentUnused = 0xFFE0 /* Remaining bits unused at this time. */
+enum {
+ kPMColorIntentUndefined = 0x0000, /* User or application have not declared an intent, use the printer's default. */
+ kPMColorIntentAutomatic = 0x0001, /* Automatically match for photos and graphics anywhere on the page. */
+ kPMColorIntentPhoto = 0x0002, /* Use Photographic (cmPerceptual) intent for all contents. */
+ kPMColorIntentBusiness = 0x0004, /* Use Business Graphics (cmSaturation) intent for all contents. */
+ kPMColorIntentRelColor = 0x0008, /* Use Relative Colormetrics (Logo Colors) for the page. */
+ kPMColorIntentAbsColor = 0x0010, /* Use absolute colormetric for the page. */
+ kPMColorIntentUnused = 0xFFE0 /* Remaining bits unused at this time. */
};
/* 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 */
+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 */
+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
+enum {
+ kPMScalingPinTopLeft = 1,
+ kPMScalingPinTopRight = 2,
+ kPMScalingPinBottomLeft = 3,
+ kPMScalingPinBottomRight = 4,
+ kPMScalingCenterOnPaper = 5,
+ kPMScalingCenterOnImgArea = 6
};
/* Duplex binding directions: */
typedef UInt16 PMDuplexBinding;
-enum
-{
- kPMDuplexBindingLeftRight = 1,
- kPMDuplexBindingTopDown = 2
+enum {
+ kPMDuplexBindingLeftRight = 1,
+ kPMDuplexBindingTopDown = 2
};
/* 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
+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
+enum {
+ kPMBorderSingleHairline = 1,
+ kPMBorderDoubleHairline = 2,
+ kPMBorderSingleThickline = 3,
+ kPMBorderDoubleThickline = 4
};
/* Useful Constants for PostScript Injection */
-enum
-{
- kPSPageInjectAllPages = -1, /* specifies to inject on all pages */
- kPSInjectionMaxDictSize = 5 /* maximum size of a dictionary used for PSInjection */
+enum {
+ kPSPageInjectAllPages = -1, /* specifies to inject on all pages */
+ kPSInjectionMaxDictSize = 5 /* maximum size of a dictionary used for PSInjection */
};
/* PostScript Injection values for kPSInjectionPlacementKey */
typedef UInt16 PSInjectionPlacement;
-enum
-{
- kPSInjectionBeforeSubsection = 1,
- kPSInjectionAfterSubsection = 2,
- kPSInjectionReplaceSubsection = 3
+enum {
+ kPSInjectionBeforeSubsection = 1,
+ kPSInjectionAfterSubsection = 2,
+ kPSInjectionReplaceSubsection = 3
};
/* PostScript Injection values for kPSInjectionSectionKey */
typedef SInt32 PSInjectionSection;
-enum
-{
- /* Job */
- kInjectionSectJob = 1, /* CoverPage */
- kInjectionSectCoverPage = 2
+enum {
+ /* Job */
+ kInjectionSectJob = 1, /* CoverPage */
+ kInjectionSectCoverPage = 2
};
/* PostScript Injection values for kPSInjectionSubSectionKey */
typedef SInt32 PSInjectionSubsection;
-enum
-{
- kInjectionSubPSAdobe = 1, /* %!PS-Adobe */
- kInjectionSubPSAdobeEPS = 2, /* %!PS-Adobe-3.0 EPSF-3.0 */
- kInjectionSubBoundingBox = 3, /* BoundingBox */
- kInjectionSubEndComments = 4, /* EndComments */
- kInjectionSubOrientation = 5, /* Orientation */
- kInjectionSubPages = 6, /* Pages */
- kInjectionSubPageOrder = 7, /* PageOrder */
- kInjectionSubBeginProlog = 8, /* BeginProlog */
- kInjectionSubEndProlog = 9, /* EndProlog */
- kInjectionSubBeginSetup = 10, /* BeginSetup */
- kInjectionSubEndSetup = 11, /* EndSetup */
- kInjectionSubBeginDefaults = 12, /* BeginDefaults */
- kInjectionSubEndDefaults = 13, /* EndDefaults */
- kInjectionSubDocFonts = 14, /* DocumentFonts */
- kInjectionSubDocNeededFonts = 15, /* DocumentNeededFonts */
- kInjectionSubDocSuppliedFonts = 16, /* DocumentSuppliedFonts */
- kInjectionSubDocNeededRes = 17, /* DocumentNeededResources */
- kInjectionSubDocSuppliedRes = 18, /* DocumentSuppliedResources*/
- kInjectionSubDocCustomColors = 19, /* DocumentCustomColors */
- kInjectionSubDocProcessColors = 20, /* DocumentProcessColors */
- kInjectionSubPlateColor = 21, /* PlateColor */
- kInjectionSubPageTrailer = 22, /* PageTrailer */
- kInjectionSubTrailer = 23, /* Trailer */
- kInjectionSubEOF = 24, /* EOF */
- kInjectionSubBeginFont = 25, /* BeginFont */
- kInjectionSubEndFont = 26, /* EndFont */
- kInjectionSubBeginResource = 27, /* BeginResource */
- kInjectionSubEndResource = 28, /* EndResource */
- kInjectionSubPage = 29, /* Page */
- kInjectionSubBeginPageSetup = 30, /* BeginPageSetup */
- kInjectionSubEndPageSetup = 31 /* EndPageSetup */
+enum {
+ kInjectionSubPSAdobe = 1, /* %!PS-Adobe */
+ kInjectionSubPSAdobeEPS = 2, /* %!PS-Adobe-3.0 EPSF-3.0 */
+ kInjectionSubBoundingBox = 3, /* BoundingBox */
+ kInjectionSubEndComments = 4, /* EndComments */
+ kInjectionSubOrientation = 5, /* Orientation */
+ kInjectionSubPages = 6, /* Pages */
+ kInjectionSubPageOrder = 7, /* PageOrder */
+ kInjectionSubBeginProlog = 8, /* BeginProlog */
+ kInjectionSubEndProlog = 9, /* EndProlog */
+ kInjectionSubBeginSetup = 10, /* BeginSetup */
+ kInjectionSubEndSetup = 11, /* EndSetup */
+ kInjectionSubBeginDefaults = 12, /* BeginDefaults */
+ kInjectionSubEndDefaults = 13, /* EndDefaults */
+ kInjectionSubDocFonts = 14, /* DocumentFonts */
+ kInjectionSubDocNeededFonts = 15, /* DocumentNeededFonts */
+ kInjectionSubDocSuppliedFonts = 16, /* DocumentSuppliedFonts */
+ kInjectionSubDocNeededRes = 17, /* DocumentNeededResources */
+ kInjectionSubDocSuppliedRes = 18, /* DocumentSuppliedResources*/
+ kInjectionSubDocCustomColors = 19, /* DocumentCustomColors */
+ kInjectionSubDocProcessColors = 20, /* DocumentProcessColors */
+ kInjectionSubPlateColor = 21, /* PlateColor */
+ kInjectionSubPageTrailer = 22, /* PageTrailer */
+ kInjectionSubTrailer = 23, /* Trailer */
+ kInjectionSubEOF = 24, /* EOF */
+ kInjectionSubBeginFont = 25, /* BeginFont */
+ kInjectionSubEndFont = 26, /* EndFont */
+ kInjectionSubBeginResource = 27, /* BeginResource */
+ kInjectionSubEndResource = 28, /* EndResource */
+ kInjectionSubPage = 29, /* Page */
+ kInjectionSubBeginPageSetup = 30, /* BeginPageSetup */
+ kInjectionSubEndPageSetup = 31 /* EndPageSetup */
};
@@ -308,69 +290,62 @@ enum
#define kPSInjectionPostScriptKey CFSTR("psdata")
/* 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 */
- kPMLockIgnored = -30878 /* the lock value was ignored */
+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 */
+ kPMLockIgnored = -30878 /* the lock value was ignored */
};
-enum
-{
- kPMInvalidPrintSession = -30879, /* the print session is invalid */
- kPMInvalidPrinter = -30880, /* the printer reference is invalid */
- kPMObjectInUse = -30881 /* the object is in use */
+enum {
+ kPMInvalidPrintSession = -30879, /* the print session is invalid */
+ kPMInvalidPrinter = -30880, /* the printer reference is invalid */
+ kPMObjectInUse = -30881 /* the object is in use */
};
-enum
-{
- kPMPrintAllPages = -1
+enum {
+ kPMPrintAllPages = -1
};
-enum
-{
- kPMUnlocked = false,
- kPMLocked = true
+enum {
+ kPMUnlocked = false,
+ kPMLocked = true
};
-struct PMRect
-{
- double top;
- double left;
- double bottom;
- double right;
+struct PMRect {
+ double top;
+ double left;
+ double bottom;
+ double right;
};
typedef struct PMRect PMRect;
-struct PMResolution
-{
- double hRes;
- double vRes;
+struct PMResolution {
+ double hRes;
+ double vRes;
};
typedef struct PMResolution PMResolution;
-struct PMLanguageInfo
-{
- Str32 level;
- Str32 version;
- Str32 release;
+struct PMLanguageInfo {
+ Str32 level;
+ Str32 version;
+ Str32 release;
};
typedef struct PMLanguageInfo PMLanguageInfo;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMErrors.h b/include/qt/PMErrors.h
index ac6035aaa..bf0ee6a55 100644
--- a/include/qt/PMErrors.h
+++ b/include/qt/PMErrors.h
@@ -1,17 +1,17 @@
/*
File: PMErrors.h
-
+
Contains: Mac OS X Printing Manager Error Codes.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACERRORS__
#include "MacErrors.h"
@@ -33,119 +33,119 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- /* general purpose printing error codes used by various printing modules */
- kPMAllocationFailure = memFullErr, /* out of memory error */
- kPMInternalError = -30870, /* 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 */
- /* Print Job Creator and Printing Dialog Extension error codes (-9500 to -9540) */
- kPMNoDefaultItem = -9500, /* unused; to be removed */
- 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 */
- /* 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 */
- /* 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 */
- /* 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 */
- };
+enum {
+ /* general purpose printing error codes used by various printing modules */
+ kPMAllocationFailure = memFullErr, /* out of memory error */
+ kPMInternalError = -30870, /* 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 */
+ /* Print Job Creator and Printing Dialog Extension error codes (-9500 to -9540) */
+ kPMNoDefaultItem = -9500, /* unused; to be removed */
+ 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 */
+ /* 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 */
+ /* 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 */
+ /* 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 */
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMIOModule.h b/include/qt/PMIOModule.h
index c28fee940..e9fb49d4a 100644
--- a/include/qt/PMIOModule.h
+++ b/include/qt/PMIOModule.h
@@ -1,17 +1,17 @@
/*
File: PMIOModule.h
-
+
Contains: Mac OS X Printing Manager IO Module Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CFSTRING__
#include "CFString.h"
@@ -47,129 +47,126 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct OpaqueIOMContext* IOMContext;
- /* kPMPrinterURI corresponds to a CFString to a connection-specific
- address specification for the printer. For instance, on an lpd connection
- this would be an address of the form lpd://<host>/<queue name>. */
+typedef struct OpaqueIOMContext* IOMContext;
+/* kPMPrinterURI corresponds to a CFString to a connection-specific
+address specification for the printer. For instance, on an lpd connection
+this would be an address of the form lpd://<host>/<queue name>. */
#define kPMPrinterURI CFSTR("Printer URI")
- /* System-supported connection type names used in identifying the different connection types
- and for requesting lookup information from Printer Modules. PrintCenter does not use these
- strings in its UI, instead it gets the actual UI strings from the Printer Browser Module. */
+/* System-supported connection type names used in identifying the different connection types
+and for requesting lookup information from Printer Modules. PrintCenter does not use these
+strings in its UI, instead it gets the actual UI strings from the Printer Browser Module. */
#define kPMAppleTalkConnection CFSTR("AppleTalk")
#define kPMUSBConnection CFSTR("USB")
#define kPMLPRConnection CFSTR("LPR")
#define kPMDirServicesConnection CFSTR("Directory Services")
- /* possible attributes that can be requested from an IO Module and allow clients to determine various
- characteristics about the IOM, its connection type, and the target printer. The same attribute can
- be used for getting a value or setting it. */
+/* possible attributes that can be requested from an IO Module and allow clients to determine various
+characteristics about the IOM, its connection type, and the target printer. The same attribute can
+be used for getting a value or setting it. */
#define kPMBiDiAttr CFSTR("Supports BiDirectional Communication")
- /* bi-directional communication capability */
+/* bi-directional communication capability */
#define kPM8BitChannelAttr CFSTR("Supports 8-bit Channel")
- /* full 8-bit per byte data (vs. 7) */
+/* full 8-bit per byte data (vs. 7) */
#define kPMTransparentByteRange CFSTR("Supports Transparent Byte Range")
- /* transparent byte range */
+/* transparent byte range */
#define kPMJobIDAttr CFSTR("Supports JobID")
- /* in-printer-jobID */
+/* in-printer-jobID */
#define kPMTimeoutAttr CFSTR("Supports Timeout")
- /* get/set timeout duration */
+/* get/set timeout duration */
#define kPMTStatusAttr CFSTR("Supports T Status Request")
- /* status on the T channel */
- /* Used with the IOMGetAttribute call, a supporting IO Module will hand back
- * a copy of a CFStringRef describing the last error encountered. If there was
- * no last error, or if there is no available string then NULL is passed back.
- */
+/* status on the T channel */
+/* Used with the IOMGetAttribute call, a supporting IO Module will hand back
+ * a copy of a CFStringRef describing the last error encountered. If there was
+ * no last error, or if there is no available string then NULL is passed back.
+ */
#define kPMLastErrorStrAttr CFSTR("Last Error")
- /* Type ID, interface ID for the IOM CFPlugin */
+/* Type ID, interface ID for the IOM CFPlugin */
#define kIOModuleTypeIDStr "EE5A5E5C-C2DD-11D3-84B5-00050209D9C1"
#define kIOModuleIntfIDStr "F4F7510C-C2DD-11D3-93A5-00050209D9C1"
- /* IOM API version numbers (see PMPluginHeader.h for the meaning of these defintions) */
- enum
- {
- kIOMBuildVersionMajor = 1,
- kIOMBuildVersionMinor = 0,
- kIOMBaseVersionMajor = 1,
- kIOMBaseVersionMinor = 0
- };
-
- typedef CALLBACK_API_C(OSStatus , PMIOModuleGetConnectionInfoProc)(CFStringRef *connectionType, CFStringRef *pbmPath);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleInitializeProc)(CFDataRef printerAddress, IOMContext *ioModuleContextPtr);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleOpenProc)(IOMContext ioModuleContext, PMTicketRef jobTicket, UInt32 *bufferSize);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleReadProc)(IOMContext ioModuleContext, Ptr buffer, UInt32 *size, Boolean *eoj);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleWriteProc)(IOMContext ioModuleContext, Ptr buffer, UInt32 *size, Boolean eoj);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleStatusProc)(IOMContext ioModuleContext, CFStringRef *status);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleGetAttributeProc)(IOMContext ioModuleContext, CFStringRef attribute, CFTypeRef *result);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleSetAttributeProc)(IOMContext ioModuleContext, CFStringRef attribute, CFTypeRef data);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleCloseProc)(IOMContext ioModuleContext, Boolean abort);
- typedef CALLBACK_API_C(OSStatus , PMIOModuleTerminateProc)(IOMContext * ioModuleContextPtr);
- /* IOMProcs contains the routines required to be exported by an IOM Module. */
- struct IOMProcs
- {
- /* The plugin header is required with all plugins and must proceed object's layout.*/
- PMPlugInHeader pluginHeader;
-
- /* The actual IO Module routine Procs*/
-
- /* GetConnectionInfo: returns the connection type and the path to the companion browser module relative */
- /* to /Library/Printers/. The connection types: AppleTalk, USB, LPR, and Directory Services are reserved by Apple.*/
- PMIOModuleGetConnectionInfoProc GetConnectionInfo;
-
- /* Initialize: creates a context to store local variables during an IO session. printerAddress of*/
- /* the target printer is passed as CFDataRef as defined by the protocol and set by the Printer Browser Module*/
- PMIOModuleInitializeProc Initialize;
-
- /* Open: open IO connection with the target device. The parameter buffSize is set*/
- /* by the IOM to return its maximum write buffer size.*/
- PMIOModuleOpenProc Open;
-
- /* Read: read data from the device over the read channel, if any. */
- PMIOModuleReadProc Read;
-
- /* Write: write data to the device*/
- PMIOModuleWriteProc Write;
-
- /* Status: get status from the device*/
- PMIOModuleStatusProc Status;
-
- /* GetAttribute: checks if a defined IO attribute is supported by the target IO connection. If the requested */
- /* 'attribute' is supported and available, it's returned in 'result'. If supported but not available, error code */
- /* kAttrNotAvailable is returned. If the attribute is not supported, kPMNotImplemented is returned.*/
- PMIOModuleGetAttributeProc GetAttribute;
-
- /* SetAttribute: sets a pre-defined 'attribute' to a given value passed in 'data'. Only supported attributes*/
- /* can be set; otherwise kAttrNotAvailable or kPMNotImplemented is returned.*/
- PMIOModuleSetAttributeProc SetAttribute;
-
- /* Close: close IO connection with the target device. The parameter 'abort' indicates whether the current job*/
- /* is to be canceled before closing connection (true; i.e. user cancels) or not (false; i.e. normal job completion).*/
- PMIOModuleCloseProc Close;
-
- /* Terminate: dispose of any data allocated in Initialize.*/
- PMIOModuleTerminateProc Terminate;
-
- };
- typedef struct IOMProcs IOMProcs;
- /* IOM interface is an object containing addresses to the module's entry points:*/
- struct IOMInterface
- {
- const IOMProcs * vtable;
- };
- typedef struct IOMInterface IOMInterface;
- typedef const IOMInterface * IOMInterfaceRef;
+/* IOM API version numbers (see PMPluginHeader.h for the meaning of these defintions) */
+enum {
+ kIOMBuildVersionMajor = 1,
+ kIOMBuildVersionMinor = 0,
+ kIOMBaseVersionMajor = 1,
+ kIOMBaseVersionMinor = 0
+};
+
+typedef CALLBACK_API_C( OSStatus , PMIOModuleGetConnectionInfoProc )(CFStringRef *connectionType, CFStringRef *pbmPath);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleInitializeProc )(CFDataRef printerAddress, IOMContext *ioModuleContextPtr);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleOpenProc )(IOMContext ioModuleContext, PMTicketRef jobTicket, UInt32 *bufferSize);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleReadProc )(IOMContext ioModuleContext, Ptr buffer, UInt32 *size, Boolean *eoj);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleWriteProc )(IOMContext ioModuleContext, Ptr buffer, UInt32 *size, Boolean eoj);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleStatusProc )(IOMContext ioModuleContext, CFStringRef *status);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleGetAttributeProc )(IOMContext ioModuleContext, CFStringRef attribute, CFTypeRef *result);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleSetAttributeProc )(IOMContext ioModuleContext, CFStringRef attribute, CFTypeRef data);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleCloseProc )(IOMContext ioModuleContext, Boolean abort);
+typedef CALLBACK_API_C( OSStatus , PMIOModuleTerminateProc )(IOMContext * ioModuleContextPtr);
+/* IOMProcs contains the routines required to be exported by an IOM Module. */
+struct IOMProcs {
+ /* The plugin header is required with all plugins and must proceed object's layout.*/
+ PMPlugInHeader pluginHeader;
+
+ /* The actual IO Module routine Procs*/
+
+ /* GetConnectionInfo: returns the connection type and the path to the companion browser module relative */
+ /* to /Library/Printers/. The connection types: AppleTalk, USB, LPR, and Directory Services are reserved by Apple.*/
+ PMIOModuleGetConnectionInfoProc GetConnectionInfo;
+
+ /* Initialize: creates a context to store local variables during an IO session. printerAddress of*/
+ /* the target printer is passed as CFDataRef as defined by the protocol and set by the Printer Browser Module*/
+ PMIOModuleInitializeProc Initialize;
+
+ /* Open: open IO connection with the target device. The parameter buffSize is set*/
+ /* by the IOM to return its maximum write buffer size.*/
+ PMIOModuleOpenProc Open;
+
+ /* Read: read data from the device over the read channel, if any. */
+ PMIOModuleReadProc Read;
+
+ /* Write: write data to the device*/
+ PMIOModuleWriteProc Write;
+
+ /* Status: get status from the device*/
+ PMIOModuleStatusProc Status;
+
+ /* GetAttribute: checks if a defined IO attribute is supported by the target IO connection. If the requested */
+ /* 'attribute' is supported and available, it's returned in 'result'. If supported but not available, error code */
+ /* kAttrNotAvailable is returned. If the attribute is not supported, kPMNotImplemented is returned.*/
+ PMIOModuleGetAttributeProc GetAttribute;
+
+ /* SetAttribute: sets a pre-defined 'attribute' to a given value passed in 'data'. Only supported attributes*/
+ /* can be set; otherwise kAttrNotAvailable or kPMNotImplemented is returned.*/
+ PMIOModuleSetAttributeProc SetAttribute;
+
+ /* Close: close IO connection with the target device. The parameter 'abort' indicates whether the current job*/
+ /* is to be canceled before closing connection (true; i.e. user cancels) or not (false; i.e. normal job completion).*/
+ PMIOModuleCloseProc Close;
+
+ /* Terminate: dispose of any data allocated in Initialize.*/
+ PMIOModuleTerminateProc Terminate;
+
+};
+typedef struct IOMProcs IOMProcs;
+/* IOM interface is an object containing addresses to the module's entry points:*/
+struct IOMInterface {
+ const IOMProcs * vtable;
+};
+typedef struct IOMInterface IOMInterface;
+typedef const IOMInterface * IOMInterfaceRef;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMPluginHeader.h b/include/qt/PMPluginHeader.h
index be86cc808..183997a20 100644
--- a/include/qt/PMPluginHeader.h
+++ b/include/qt/PMPluginHeader.h
@@ -1,17 +1,17 @@
/*
File: PMPluginHeader.h
-
+
Contains: Mac OS X Printing Manager Raster Definitions.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#include "MacTypes.h"
@@ -29,24 +29,23 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
-struct PMPlugInAPIVersion
-{
- /* API build version. */
- /* This is the API version this object was compiled with. */
- UInt32 buildVersionMajor;
- UInt32 buildVersionMinor;
+struct PMPlugInAPIVersion {
+ /* API build version. */
+ /* This is the API version this object was compiled with. */
+ UInt32 buildVersionMajor;
+ UInt32 buildVersionMinor;
- /* Base API version this object is upward compatible with. */
- /* The object guarantees to be a super-set of said API. */
- UInt32 baseVersionMajor;
- UInt32 baseVersionMinor;
+ /* Base API version this object is upward compatible with. */
+ /* The object guarantees to be a super-set of said API. */
+ UInt32 baseVersionMajor;
+ UInt32 baseVersionMinor;
};
typedef struct PMPlugInAPIVersion PMPlugInAPIVersion;
@@ -55,38 +54,36 @@ typedef struct PMPlugInAPIVersion PMPlugInAPIVersion;
/* as its first member. Every plugin interface (except 'iunknown') must begin */
/* with PMPlugInHeader which must not change. */
typedef struct PMPlugInHeader PMPlugInHeader;
-struct PMPlugInHeaderInterface
-{
- const PMPlugInHeader * vtable;
+struct PMPlugInHeaderInterface {
+ const PMPlugInHeader * vtable;
};
typedef struct PMPlugInHeaderInterface PMPlugInHeaderInterface;
-typedef CALLBACK_API_C(OSStatus , PMPluginRetain)(PMPlugInHeaderInterface * obj);
-typedef CALLBACK_API_C(OSStatus , PMPluginRelease)(PMPlugInHeaderInterface ** objPtr);
-typedef CALLBACK_API_C(OSStatus , PMPluginGetAPIVersion)(PMPlugInHeaderInterface *obj, PMPlugInAPIVersion *versionPtr);
-struct PMPlugInHeader
-{
- /* ---- API 'IMMUTABLE' Begin: ---- */
-
- /* Retain an object.*/
- PMPluginRetain Retain;
-
- /* Release an object. When reference count goes down to zero object*/
- /* is deleted. The call clears caller's reference to the object.*/
- PMPluginRelease Release;
-
- /* GetAPIVersion method is required with all plugin modules*/
- /* to be able to get object's API build and compatibility version.*/
- /* This version is used for plugin API compatibility check.*/
- PMPluginGetAPIVersion GetAPIVersion;
+typedef CALLBACK_API_C( OSStatus , PMPluginRetain )(PMPlugInHeaderInterface * obj);
+typedef CALLBACK_API_C( OSStatus , PMPluginRelease )(PMPlugInHeaderInterface ** objPtr);
+typedef CALLBACK_API_C( OSStatus , PMPluginGetAPIVersion )(PMPlugInHeaderInterface *obj, PMPlugInAPIVersion *versionPtr);
+struct PMPlugInHeader {
+ /* ---- API 'IMMUTABLE' Begin: ---- */
+
+ /* Retain an object.*/
+ PMPluginRetain Retain;
+
+ /* Release an object. When reference count goes down to zero object*/
+ /* is deleted. The call clears caller's reference to the object.*/
+ PMPluginRelease Release;
+
+ /* GetAPIVersion method is required with all plugin modules*/
+ /* to be able to get object's API build and compatibility version.*/
+ /* This version is used for plugin API compatibility check.*/
+ PMPluginGetAPIVersion GetAPIVersion;
};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMPrinterBrowsers.h b/include/qt/PMPrinterBrowsers.h
index 2cac57066..7b0ed5b80 100644
--- a/include/qt/PMPrinterBrowsers.h
+++ b/include/qt/PMPrinterBrowsers.h
@@ -1,17 +1,17 @@
/*
File: PMPrinterBrowsers.h
-
+
Contains: Mac OS X Printing Manager Printer Browser Module Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CONTROLS__
#include "Controls.h"
@@ -36,172 +36,171 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- Current version of the printer browser module API, which specifies the format
- of the functions and various structures used in the API.
- */
+/*
+Current version of the printer browser module API, which specifies the format
+of the functions and various structures used in the API.
+*/
#define kPMPrBrowserAPIVersion 1
- /*
- Constants required for retrieving standard icons supplied by PrintCenter...
-
- Any standard icons supplied by PrintCenter for use in displaying printer
- browser HI will have been registered with Icon Services when the printer
- browser module is loaded. The printer browser module need only call GetIconRef()
- with the appropriate constants to obtain a reference to the required icon.
-
- PrintCenter creator code.
- */
- enum {
- kPMPrBrowserPCCreator = FOUR_CHAR_CODE('pctr'),
- kPMPrBrowserWorksetPrinterIconType = FOUR_CHAR_CODE('wspr'),
- kPMPrBrowserUnknownPrinterIconType = FOUR_CHAR_CODE('?ptr')
- };
-
- /*
- PrintCenter flags...
-
- These flags are passed by PrintCenter in the Prologue() function.
- */
- typedef UInt32 PMPrBrowserFlags;
- enum
- {
- kPMPrBrowserPCNoFlags = 0x00000000, /* Empty flag word. */
- kPMPrBrowserPCNoUI = 0x00000001, /* PBM will be loaded without UI. */
- kPMPrBrowserPCAllFlags = (unsigned long)0xFFFFFFFF /* All flags set. */
- };
-
- /*
- Printer browser module CFPlugIn constants.
-
- Define the CFPlugIn Type for printer browser modules. All printer browser modules
- must be plug-ins of this type.
-
- Users of these IDs should convert these to CFStrings (probably using the CFSTR
- macro) and then call CFUUIDCreateFromString() to obtain a CFUUIDRef. Note that
- the CFUUIDRef may refer to an existing CFUUID, so the caller should call
- CFRelease() on the CFUUIDRef() when he no longer needs it.
- */
+/*
+Constants required for retrieving standard icons supplied by PrintCenter...
+
+Any standard icons supplied by PrintCenter for use in displaying printer
+browser HI will have been registered with Icon Services when the printer
+browser module is loaded. The printer browser module need only call GetIconRef()
+with the appropriate constants to obtain a reference to the required icon.
+
+PrintCenter creator code.
+*/
+enum {
+ kPMPrBrowserPCCreator = FOUR_CHAR_CODE('pctr'),
+ kPMPrBrowserWorksetPrinterIconType = FOUR_CHAR_CODE('wspr'),
+ kPMPrBrowserUnknownPrinterIconType = FOUR_CHAR_CODE('?ptr')
+};
+
+/*
+PrintCenter flags...
+
+These flags are passed by PrintCenter in the Prologue() function.
+*/
+typedef UInt32 PMPrBrowserFlags;
+enum {
+ kPMPrBrowserPCNoFlags = 0x00000000, /* Empty flag word. */
+ kPMPrBrowserPCNoUI = 0x00000001, /* PBM will be loaded without UI. */
+ kPMPrBrowserPCAllFlags = (unsigned long)0xFFFFFFFF /* All flags set. */
+};
+
+/*
+Printer browser module CFPlugIn constants.
+
+Define the CFPlugIn Type for printer browser modules. All printer browser modules
+must be plug-ins of this type.
+
+Users of these IDs should convert these to CFStrings (probably using the CFSTR
+macro) and then call CFUUIDCreateFromString() to obtain a CFUUIDRef. Note that
+the CFUUIDRef may refer to an existing CFUUID, so the caller should call
+CFRelease() on the CFUUIDRef() when he no longer needs it.
+*/
#define kPMPrBrowserPlugInType "23F71E46-95CC-1226-AC04-000502ADB00B"
- /*
- Define the ID of the Interface that supplies the APIVersion() function. All
- printer browser modules must supply this Interface.
- */
+/*
+Define the ID of the Interface that supplies the APIVersion() function. All
+printer browser modules must supply this Interface.
+*/
#define kPMInterfaceAPIVersion "1D6BF822-95D0-1226-A8ED-000502ADB00B"
- /*
- Define the ID of the Interface that supplies the printer browser module API. All
- printer browser modules must supply this Interface.
- */
+/*
+Define the ID of the Interface that supplies the printer browser module API. All
+printer browser modules must supply this Interface.
+*/
#define kPMInterfacePrBrowser "86544C22-95D0-1226-91D5-000502ADB00B"
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Type Definitions
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- typedef struct OpaquePMPrBrowserRef* PMPrBrowserRef;
- typedef struct OpaquePMPrBrowserContext* PMPrBrowserContext;
- /*
- Invalid printer browser reference number.
- */
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Type Definitions
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+typedef struct OpaquePMPrBrowserRef* PMPrBrowserRef;
+typedef struct OpaquePMPrBrowserContext* PMPrBrowserContext;
+/*
+Invalid printer browser reference number.
+*/
#define kPMPrBrowserInvalidRef ((PMPrBrowserRef)(-1))
- /*
- Printer browser module-specific keys for the printer lookup specification
- dictionary. This CFDictionary is supplied by the printer module and provides
- the printer browser module with the information it needs to browse for a given
- type of printer over its connection type, and to display it in the browser
- view.
-
- The printer module supplies the following keys and values (these are more
- fully defined in PMPrinterModule.h):
-
- kPMPrBrowserLookupKindKey: a CFStringRef to a human-readable printer type
- string that can be displayed in the browser view.
-
- kPMPrBrowserLookupInfoKey: a CFPropertyListRef to connection-specific
- information used to look up a particular kind of printer over a given IO
- connection.
-
- kPMPrBrowserLookupIconKey: a CFDataRef to the icon family data for the
- printer icon to be displayed in the browser view.
-
- In addition, PrintCenter adds the following information to the lookup
- specification dictionary:
-
- kPMPrBrowserLookupRefKey: a CFTypeRef to PrintCenter-specific information
- that must be returned by the printer browser module in the printer selection
- specfication dictionary (see below) when a printer is selected that was
- located using this lookup specification.
-
- PrintCenter informs the printer browser module of the number of lookup
- specification dictionaries that are available when the module's Initialize()
- function is called. Thereafter, the printer browser module can obtain
- a copy of any of the lookup specification dictionaries by calling the
- PMPrBrowserGetLookupSpec callback and specifying an index between 0 and n-1,
- where n is the number of lookup specification dictionaries.
-
- PrintCenter creates a full copy of the printer lookup specification dictionary
- before passing it to the printer browser module; the printer browser module
- should call ::CFRelease() on the dictionary when it is no longer needed.
- */
+/*
+Printer browser module-specific keys for the printer lookup specification
+dictionary. This CFDictionary is supplied by the printer module and provides
+the printer browser module with the information it needs to browse for a given
+type of printer over its connection type, and to display it in the browser
+view.
+
+The printer module supplies the following keys and values (these are more
+fully defined in PMPrinterModule.h):
+
+kPMPrBrowserLookupKindKey: a CFStringRef to a human-readable printer type
+string that can be displayed in the browser view.
+
+kPMPrBrowserLookupInfoKey: a CFPropertyListRef to connection-specific
+information used to look up a particular kind of printer over a given IO
+connection.
+
+kPMPrBrowserLookupIconKey: a CFDataRef to the icon family data for the
+printer icon to be displayed in the browser view.
+
+In addition, PrintCenter adds the following information to the lookup
+specification dictionary:
+
+kPMPrBrowserLookupRefKey: a CFTypeRef to PrintCenter-specific information
+that must be returned by the printer browser module in the printer selection
+specfication dictionary (see below) when a printer is selected that was
+located using this lookup specification.
+
+PrintCenter informs the printer browser module of the number of lookup
+specification dictionaries that are available when the module's Initialize()
+function is called. Thereafter, the printer browser module can obtain
+a copy of any of the lookup specification dictionaries by calling the
+PMPrBrowserGetLookupSpec callback and specifying an index between 0 and n-1,
+where n is the number of lookup specification dictionaries.
+
+PrintCenter creates a full copy of the printer lookup specification dictionary
+before passing it to the printer browser module; the printer browser module
+should call ::CFRelease() on the dictionary when it is no longer needed.
+*/
#define kPMPrBrowserLookupRefStr "PrBrowser Lookup Reference"
#define kPMPrBrowserLookupRefKey CFSTR("PrBrowser Lookup Reference")
- /*
- Keys for the printer selection specification dictionary. This CFDictionary
- specifies the printers selected in the browser view. An array of these
- dictionaries is is passed back to PrintCenter when it calls the printer
- browser module's GetSelectedPrinters() function.
-
- An array of selection specification dictionaries is passed from PrintCenter
- to the printer browser module when PrintCenter calls the WorksetPrinters()
- function. These dictionaries specify which printers are already in the
- Workset. The printer browser module can use this information to indicate in
- its UI whether a printer has been added to the Workset. It can also use
- this information in non-UI mode to avoid supplying duplicate printers during
- automatic printer discovery.
-
- kPMPrBrowserSelectNameKey corresponds to a CFStringRef to a human-readable
- printer name string, obtained from the printer or otherwise constructed by
- the printer browser module.
-
- kPMPrBrowserSelectKindKey corresponds to a CFStringRef to a human-readable
- printer description string that can be displayed in the PrintCenter Workset
- window. For printer that uses Apple's PostScript printer module over an
- AppleTalk connection, this would be the string "PostScript printer". Often
- this is the same as the string corresponding to kPMPrBrowserLookupKindKey
- in the printer lookup specification dictionary, but it is possible that
- more specific printer model information might be obtained by the printer
- browser module during the lookup.
-
- kPMPrBrowserSelectAddrKey corresponds to a CFDataRef to a connection-specific
- address specification for the printer. On an AppleTalk connection, this would
- be a standard NBP address of the form <name>:<type>@<zone>.
-
- kPMPrBrowserSelectRefKey corresponds to a CFTypeRef whose value is the same
- as that corresponding to kPMPrBrowserLookupRefKey in the printer lookup
- specification dictionary. The reference value in the lookup specification
- dictionary that was used to locate the selected printer must be copied into
- the printer selection specification dictionary and assigned this key.
-
- When PrintCenter supplies printer selection specification dictionaries using
- the WorksetPrinters() function, the dictionaries do not contain a
- kPMPrBrowserSelectRefKey entry; the printer browser module should not expect
- to find a corresponding value for this key in those dictionaries.
-
- PrintCenter gets information about selected printers when it calls the
- printer browser module's GetSelectedPrinters() function.
-
- PrintCenter will call ::CFRelease() on the printer selection specification
- dictionary when it is no longer needed.
-
- The printer browser module should call ::CFRelease() on the array of
- printer selection specification dictionaries supplied via the WorksetPrinters()
- function when they are no longer needed.
- */
+/*
+Keys for the printer selection specification dictionary. This CFDictionary
+specifies the printers selected in the browser view. An array of these
+dictionaries is is passed back to PrintCenter when it calls the printer
+browser module's GetSelectedPrinters() function.
+
+An array of selection specification dictionaries is passed from PrintCenter
+to the printer browser module when PrintCenter calls the WorksetPrinters()
+function. These dictionaries specify which printers are already in the
+Workset. The printer browser module can use this information to indicate in
+its UI whether a printer has been added to the Workset. It can also use
+this information in non-UI mode to avoid supplying duplicate printers during
+automatic printer discovery.
+
+kPMPrBrowserSelectNameKey corresponds to a CFStringRef to a human-readable
+printer name string, obtained from the printer or otherwise constructed by
+the printer browser module.
+
+kPMPrBrowserSelectKindKey corresponds to a CFStringRef to a human-readable
+printer description string that can be displayed in the PrintCenter Workset
+window. For printer that uses Apple's PostScript printer module over an
+AppleTalk connection, this would be the string "PostScript printer". Often
+this is the same as the string corresponding to kPMPrBrowserLookupKindKey
+in the printer lookup specification dictionary, but it is possible that
+more specific printer model information might be obtained by the printer
+browser module during the lookup.
+
+kPMPrBrowserSelectAddrKey corresponds to a CFDataRef to a connection-specific
+address specification for the printer. On an AppleTalk connection, this would
+be a standard NBP address of the form <name>:<type>@<zone>.
+
+kPMPrBrowserSelectRefKey corresponds to a CFTypeRef whose value is the same
+as that corresponding to kPMPrBrowserLookupRefKey in the printer lookup
+specification dictionary. The reference value in the lookup specification
+dictionary that was used to locate the selected printer must be copied into
+the printer selection specification dictionary and assigned this key.
+
+When PrintCenter supplies printer selection specification dictionaries using
+the WorksetPrinters() function, the dictionaries do not contain a
+kPMPrBrowserSelectRefKey entry; the printer browser module should not expect
+to find a corresponding value for this key in those dictionaries.
+
+PrintCenter gets information about selected printers when it calls the
+printer browser module's GetSelectedPrinters() function.
+
+PrintCenter will call ::CFRelease() on the printer selection specification
+dictionary when it is no longer needed.
+
+The printer browser module should call ::CFRelease() on the array of
+printer selection specification dictionaries supplied via the WorksetPrinters()
+function when they are no longer needed.
+*/
#define kPMPrBrowserSelectNameStr "PrBrowser Selection Name"
#define kPMPrBrowserSelectNameKey CFSTR("PrBrowser Selection Name")
#define kPMPrBrowserSelectKindStr "PrBrowser Selection Kind"
@@ -210,89 +209,85 @@ extern "C" {
#define kPMPrBrowserSelectAddrKey CFSTR("PrBrowser Selection Address")
#define kPMPrBrowserSelectRefStr "PrBrowser Selection Reference"
#define kPMPrBrowserSelectRefKey CFSTR("PrBrowser Selection Reference")
- /*
- PrintCenter callback routines for printer browser modules.
- */
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserGetLookupSpecProcPtr)(PMPrBrowserRef ref, UInt32 specIndex, CFDictionaryRef *lookupSpec);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserSelectionStatusProcPtr)(PMPrBrowserRef ref, Boolean selected, Boolean addNow);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserSyncRequestProcPtr)(PMPrBrowserRef ref);
- /*
- Callback parameter block.
- */
- struct PMPrBrowserCallbacks
- {
- CFIndex version; /* Version number; always set to kPMPrBrowserAPIVersion. */
-
- PMPrBrowserGetLookupSpecProcPtr getLookupSpec;
- PMPrBrowserSyncRequestProcPtr syncRequest;
- PMPrBrowserSelectionStatusProcPtr selStatus;
- };
- typedef struct PMPrBrowserCallbacks PMPrBrowserCallbacks;
- typedef PMPrBrowserCallbacks * PMPrBrowserCallbacksPtr;
- /*
- Required entry points for printer browser modules...
- */
- typedef CALLBACK_API_C(UInt32 , PMPrBrowserAPIVersionProcPtr)(void);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserGetSelectedPrintersProcPtr)(PMPrBrowserContext context, CFArrayRef *printers);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserInitializeProcPtr)(PMPrBrowserContext context, PMPrBrowserRef ref, PMPrBrowserCallbacks *callbacks, ControlRef pbUserPaneCtlHdl, UInt32 numLookupSpecs);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserPrologueProcPtr)(PMPrBrowserContext *context, PMPrBrowserFlags prologueFlags, CFStringRef *title, UInt32 *minH, UInt32 *minV, UInt32 *maxH, UInt32 *maxV);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserResizeProcPtr)(PMPrBrowserContext context, const Rect *frameRect);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserSyncProcPtr)(PMPrBrowserContext context);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserTerminateProcPtr)(PMPrBrowserContext context, OSStatus status);
- typedef CALLBACK_API_C(OSStatus , PMPrBrowserWorksetPrintersProcPtr)(PMPrBrowserContext context, CFArrayRef printers);
- typedef CALLBACK_API_C(SInt32 , PMCOMQueryInterfaceProcPtr)(void *thisPointer, CFUUIDBytes iid, void **ppv);
- typedef CALLBACK_API_C(UInt32 , PMCOMAddRefProcPtr)(void * thisPointer);
- typedef CALLBACK_API_C(UInt32 , PMCOMReleaseProcPtr)(void * thisPointer);
- /*
- Same as IUnknownVTbl from CFPluginCOM.h, but we don't want to drag in that header
- because it defines many Windows types that could collide with other definitions
- */
- struct PMIUnknownVTbl
- {
- void * _reserved;
- PMCOMQueryInterfaceProcPtr QueryInterface;
- PMCOMAddRefProcPtr AddRef;
- PMCOMReleaseProcPtr Release;
- };
- typedef struct PMIUnknownVTbl PMIUnknownVTbl;
- /*
- Define the Interface structures returned by Factories.
-
- PMInterfaceAPIVersion Interface...
- */
- struct PMInterfaceAPIVersion
- {
- PMIUnknownVTbl u; /* Supplies COM compatibility; required of all CFPlugIns. */
-
- PMPrBrowserAPIVersionProcPtr apiVersion;
- };
- typedef struct PMInterfaceAPIVersion PMInterfaceAPIVersion;
- typedef PMInterfaceAPIVersion * PMInterfaceAPIVersionPtr;
- /*
- PMInterfacePrBrowser Interface...
- */
- struct PMInterfacePrBrowser
- {
- PMIUnknownVTbl u; /* Supplies COM compatibility; required of all CFPlugIns. */
-
- /*Required entry points.*/
- PMPrBrowserGetSelectedPrintersProcPtr getSelectedPrinters;
- PMPrBrowserInitializeProcPtr initialize;
- PMPrBrowserPrologueProcPtr prologue;
- PMPrBrowserResizeProcPtr resize;
- PMPrBrowserSyncProcPtr sync;
- PMPrBrowserTerminateProcPtr terminate;
- PMPrBrowserWorksetPrintersProcPtr worksetPrinters;
- };
- typedef struct PMInterfacePrBrowser PMInterfacePrBrowser;
- typedef PMInterfacePrBrowser * PMInterfacePrBrowserPtr;
+/*
+PrintCenter callback routines for printer browser modules.
+*/
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserGetLookupSpecProcPtr )(PMPrBrowserRef ref, UInt32 specIndex, CFDictionaryRef *lookupSpec);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserSelectionStatusProcPtr )(PMPrBrowserRef ref, Boolean selected, Boolean addNow);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserSyncRequestProcPtr )(PMPrBrowserRef ref);
+/*
+Callback parameter block.
+*/
+struct PMPrBrowserCallbacks {
+ CFIndex version; /* Version number; always set to kPMPrBrowserAPIVersion. */
+
+ PMPrBrowserGetLookupSpecProcPtr getLookupSpec;
+ PMPrBrowserSyncRequestProcPtr syncRequest;
+ PMPrBrowserSelectionStatusProcPtr selStatus;
+};
+typedef struct PMPrBrowserCallbacks PMPrBrowserCallbacks;
+typedef PMPrBrowserCallbacks * PMPrBrowserCallbacksPtr;
+/*
+Required entry points for printer browser modules...
+*/
+typedef CALLBACK_API_C( UInt32 , PMPrBrowserAPIVersionProcPtr )(void);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserGetSelectedPrintersProcPtr )(PMPrBrowserContext context, CFArrayRef *printers);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserInitializeProcPtr )(PMPrBrowserContext context, PMPrBrowserRef ref, PMPrBrowserCallbacks *callbacks, ControlRef pbUserPaneCtlHdl, UInt32 numLookupSpecs);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserPrologueProcPtr )(PMPrBrowserContext *context, PMPrBrowserFlags prologueFlags, CFStringRef *title, UInt32 *minH, UInt32 *minV, UInt32 *maxH, UInt32 *maxV);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserResizeProcPtr )(PMPrBrowserContext context, const Rect *frameRect);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserSyncProcPtr )(PMPrBrowserContext context);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserTerminateProcPtr )(PMPrBrowserContext context, OSStatus status);
+typedef CALLBACK_API_C( OSStatus , PMPrBrowserWorksetPrintersProcPtr )(PMPrBrowserContext context, CFArrayRef printers);
+typedef CALLBACK_API_C( SInt32 , PMCOMQueryInterfaceProcPtr )(void *thisPointer, CFUUIDBytes iid, void **ppv);
+typedef CALLBACK_API_C( UInt32 , PMCOMAddRefProcPtr )(void * thisPointer);
+typedef CALLBACK_API_C( UInt32 , PMCOMReleaseProcPtr )(void * thisPointer);
+/*
+ Same as IUnknownVTbl from CFPluginCOM.h, but we don't want to drag in that header
+ because it defines many Windows types that could collide with other definitions
+*/
+struct PMIUnknownVTbl {
+ void * _reserved;
+ PMCOMQueryInterfaceProcPtr QueryInterface;
+ PMCOMAddRefProcPtr AddRef;
+ PMCOMReleaseProcPtr Release;
+};
+typedef struct PMIUnknownVTbl PMIUnknownVTbl;
+/*
+Define the Interface structures returned by Factories.
+
+PMInterfaceAPIVersion Interface...
+*/
+struct PMInterfaceAPIVersion {
+ PMIUnknownVTbl u; /* Supplies COM compatibility; required of all CFPlugIns. */
+
+ PMPrBrowserAPIVersionProcPtr apiVersion;
+};
+typedef struct PMInterfaceAPIVersion PMInterfaceAPIVersion;
+typedef PMInterfaceAPIVersion * PMInterfaceAPIVersionPtr;
+/*
+PMInterfacePrBrowser Interface...
+*/
+struct PMInterfacePrBrowser {
+ PMIUnknownVTbl u; /* Supplies COM compatibility; required of all CFPlugIns. */
+
+ /*Required entry points.*/
+ PMPrBrowserGetSelectedPrintersProcPtr getSelectedPrinters;
+ PMPrBrowserInitializeProcPtr initialize;
+ PMPrBrowserPrologueProcPtr prologue;
+ PMPrBrowserResizeProcPtr resize;
+ PMPrBrowserSyncProcPtr sync;
+ PMPrBrowserTerminateProcPtr terminate;
+ PMPrBrowserWorksetPrintersProcPtr worksetPrinters;
+};
+typedef struct PMInterfacePrBrowser PMInterfacePrBrowser;
+typedef PMInterfacePrBrowser * PMInterfacePrBrowserPtr;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMPrinterModule.h b/include/qt/PMPrinterModule.h
index 8ed8d8456..442bf9d6d 100644
--- a/include/qt/PMPrinterModule.h
+++ b/include/qt/PMPrinterModule.h
@@ -1,17 +1,17 @@
/*
File: PMPrinterModule.h
-
+
Contains: Mac OS X Printing Manager Printer Module Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __CFSTRING__
#include "CFString.h"
@@ -50,337 +50,330 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct OpaquePMContext* PMContext;
- /* Opaque types for image access: */
- typedef struct OpaquePMDrawingCtx* PMDrawingCtx;
- typedef struct OpaquePMImageRef* PMImageRef;
- /* Type ID, interface ID for the IOM CFPlugin */
+typedef struct OpaquePMContext* PMContext;
+/* Opaque types for image access: */
+typedef struct OpaquePMDrawingCtx* PMDrawingCtx;
+typedef struct OpaquePMImageRef* PMImageRef;
+/* Type ID, interface ID for the IOM CFPlugin */
#define kPModuleTypeIDStr "5D69ED5E-D5B5-11D3-9EFF-00050209D9C1"
#define kPModuleIntfIDStr "5EDEC4FA-D5B5-11D3-AAF2-00050209D9C1"
- /* PM API version numbers (see PMPluginHeader.h for the meaning of these defintions) */
- enum
- {
- kPMBuildVersionMajor = 1,
- kPMBuildVersionMinor = 0,
- kPMBaseVersionMajor = 1,
- kPMBaseVersionMinor = 0
- };
-
- /*
- Keys for the printer browser specification dictionary. This CFDictionary,
- created by the printer module, provides a printer browser module with the
- information it needs to browse for a given type of printer over its
- connection type, and to display it in PrintCenter's Browser Window.
-
- kPMPrinterBrowserKindKey corresponds to a CFStringRef to a human-readable
- printer type string that can be displayed in the browser view. For a printer
- driven by Apple's PostScript printer module over an AppleTalk connection,
- this would be the string "PostScript printer".
-
- kPMPrinterBrowserInfoKey corresponds to a CFTypeRef to connection-specific
- information used to look up a particular kind of printer over a given IO
- connection. A PostScript printer module supporting AppleTalk might specify
- the NBP lookup string "LaserWriter".
-
- kPMPrinterBrowserIconKey corresponds to a CFDataRef to the icon family data
- for the printer icon to be displayed in the browser view. The family data
- are entirely contained within the CFDataRef; i.e., it is *not* a handle.
-
- kPMPrinterBrowserDeviceIDKey corresponds to a CFStringRef to a USB/Firewire
- IEEE-1284 DeviceID string. e.g., "COMMAND SET: PostScript;" or
- "MFG: Hewlett-Packard; MDL: DeskJet 935C;"
- */
+/* PM API version numbers (see PMPluginHeader.h for the meaning of these defintions) */
+enum {
+ kPMBuildVersionMajor = 1,
+ kPMBuildVersionMinor = 0,
+ kPMBaseVersionMajor = 1,
+ kPMBaseVersionMinor = 0
+};
+
+/*
+Keys for the printer browser specification dictionary. This CFDictionary,
+created by the printer module, provides a printer browser module with the
+information it needs to browse for a given type of printer over its
+connection type, and to display it in PrintCenter's Browser Window.
+
+kPMPrinterBrowserKindKey corresponds to a CFStringRef to a human-readable
+printer type string that can be displayed in the browser view. For a printer
+driven by Apple's PostScript printer module over an AppleTalk connection,
+this would be the string "PostScript printer".
+
+kPMPrinterBrowserInfoKey corresponds to a CFTypeRef to connection-specific
+information used to look up a particular kind of printer over a given IO
+connection. A PostScript printer module supporting AppleTalk might specify
+the NBP lookup string "LaserWriter".
+
+kPMPrinterBrowserIconKey corresponds to a CFDataRef to the icon family data
+for the printer icon to be displayed in the browser view. The family data
+are entirely contained within the CFDataRef; i.e., it is *not* a handle.
+
+kPMPrinterBrowserDeviceIDKey corresponds to a CFStringRef to a USB/Firewire
+IEEE-1284 DeviceID string. e.g., "COMMAND SET: PostScript;" or
+"MFG: Hewlett-Packard; MDL: DeskJet 935C;"
+*/
#define kPMPrinterBrowserKindKey CFSTR("Printer Browser Kind")
#define kPMPrinterBrowserInfoKey CFSTR("Printer Browser Info")
#define kPMPrinterBrowserIconsKey CFSTR("Printer Browser Icons")
#define kPMPrinterBrowserDeviceIDKey CFSTR("Printer Browser DeviceID")
- enum
- {
- kPMBrowserInfoNumValues = 4
- };
-
-
- /* Status and Error notification: */
-
- /*
- * PMNotificationProcPtr
- *
- * Discussion:
- * A callback routine used for reporting printing status and errors
- * during a print job Event is constructed with known keys defined
- * below and passed to the printing manager in notificationDict
- * notificationReplyDict is used for blocking recoverable errors to
- * indicate user action
- */
- typedef CALLBACK_API_C(OSStatus , PMNotificationProcPtr)(const void *jobContext, CFDictionaryRef notificationDict, CFDictionaryRef *notificationReplyDict);
-
- /*
- * Discussion:
- * Status and error event codes and keys reported by the printer
- * module (used in PMNotificationProc)
- */
- enum
- {
-
- /*
- * non-error printer status
- */
- kPMEventPrinterStatus = 4000,
-
- /*
- * a fatal printing error has occurred. The Printer Module MUST stop
- * printing and return immediately after sending this event.
- */
- kPMEventErrorOccurred = 4001,
-
- /*
- * an auto-recoverable error occurred. The PM SHOULD keep trying to
- * print the job without waiting for any user action. If the PM
- * detects that the condition is cleared, it MUST send a
- * kPMEventRecoverableErrorCleared event, otherwise the condition
- * alert will not get cleared
- */
- kPMEventRecoverableErrorOccurred = 4002,
-
- /*
- * auto-recoverable error has been cleared, the job is continued
- * automatically and without user intervention. This event causes
- * the condition alert to close and the job state to change to
- * "printing".
- */
- kPMEventRecoverableErrorCleared = 4003
- };
-
-
- /* Event keys used in notification dictionaries */
+enum {
+ kPMBrowserInfoNumValues = 4
+};
+
+
+/* Status and Error notification: */
+
+/*
+ * PMNotificationProcPtr
+ *
+ * Discussion:
+ * A callback routine used for reporting printing status and errors
+ * during a print job Event is constructed with known keys defined
+ * below and passed to the printing manager in notificationDict
+ * notificationReplyDict is used for blocking recoverable errors to
+ * indicate user action
+ */
+typedef CALLBACK_API_C( OSStatus , PMNotificationProcPtr )(const void *jobContext, CFDictionaryRef notificationDict, CFDictionaryRef *notificationReplyDict);
+
+/*
+ * Discussion:
+ * Status and error event codes and keys reported by the printer
+ * module (used in PMNotificationProc)
+ */
+enum {
+
+ /*
+ * non-error printer status
+ */
+ kPMEventPrinterStatus = 4000,
+
+ /*
+ * a fatal printing error has occurred. The Printer Module MUST stop
+ * printing and return immediately after sending this event.
+ */
+ kPMEventErrorOccurred = 4001,
+
+ /*
+ * an auto-recoverable error occurred. The PM SHOULD keep trying to
+ * print the job without waiting for any user action. If the PM
+ * detects that the condition is cleared, it MUST send a
+ * kPMEventRecoverableErrorCleared event, otherwise the condition
+ * alert will not get cleared
+ */
+ kPMEventRecoverableErrorOccurred = 4002,
+
+ /*
+ * auto-recoverable error has been cleared, the job is continued
+ * automatically and without user intervention. This event causes
+ * the condition alert to close and the job state to change to
+ * "printing".
+ */
+ kPMEventRecoverableErrorCleared = 4003
+};
+
+
+/* Event keys used in notification dictionaries */
#define kPMEventCodeKey CFSTR("com.apple.printing.EventCode")
- /* CFNumber (SInt32) containing the event code (above) */
+/* CFNumber (SInt32) containing the event code (above) */
#define kPMErrorCodeKey CFSTR("com.apple.printing.ErrorCode")
- /* CFNumber (SInt32) containing the error code (i.e., OSStatus) */
+/* CFNumber (SInt32) containing the error code (i.e., OSStatus) */
#define kPMErrorExplanationKey CFSTR("com.apple.printing.ErrorExplanation")
- /* CFString containing the text that shows up as bold text in the error/status alert */
+/* CFString containing the text that shows up as bold text in the error/status alert */
#define kPMErrorTextKey CFSTR("com.apple.printing.ErrorText")
- /* CFString containing the text that shows up as regular text in the error/status alert */
+/* CFString containing the text that shows up as regular text in the error/status alert */
#define kPMEventContextKey CFSTR("com.apple.printing.EventContext")
- /* CFNumber (SInt32) containing a context value. Used primarily to match a "cleared error" event with a prior "recoverable error" event */
- /* prototypes for callback routines used for accessing print data */
- typedef CALLBACK_API_C(OSStatus , PMJobStreamOpenProcPtr)(const void * jobContext);
- typedef CALLBACK_API_C(OSStatus , PMJobStreamReadWriteProcPtr)(const void *jobContext, void *buffPtr, UInt32 *size);
- typedef CALLBACK_API_C(OSStatus , PMJobStreamGetPosProcPtr)(const void *jobContext, UInt32 *markerPos);
- typedef CALLBACK_API_C(OSStatus , PMJobStreamSetPosProcPtr)(const void *jobContext, SInt16 posMode, UInt32 markerPos);
- typedef CALLBACK_API_C(OSStatus , PMJobStreamGetNextBandProcPtr)(const void *jobContext, PMRasterBand *pmRasterBand);
- /* the printing manager maintains this struct of callback procs for printer module data access */
- struct PMJobStreamProcs
- {
- CFIndex version;
-
- PMJobStreamOpenProcPtr PMJobStreamOpenProc;
- PMJobStreamReadWriteProcPtr PMJobStreamReadProc;
- PMJobStreamReadWriteProcPtr PMJobStreamWriteProc;
- PMJobStreamGetPosProcPtr PMJobStreamGetPosProc;
- PMJobStreamSetPosProcPtr PMJobStreamSetPosProc;
- PMJobStreamGetPosProcPtr PMJobStreamGetEOFProc;
- };
- typedef struct PMJobStreamProcs PMJobStreamProcs;
- /* prototypes for callback routines used for communication with the device/connection */
- typedef CALLBACK_API_C(OSStatus , GetConnInfoProcPtr)(const void *jobContext, CFStringRef *connectionType, CFStringRef *pbmPath);
- typedef CALLBACK_API_C(OSStatus , PMIOOpenProcPtr)(const void * jobContext);
- typedef CALLBACK_API_C(OSStatus , PMIOReadProcPtr)(const void *jobContext, Ptr buffer, UInt32 *size, Boolean *eoj);
- typedef CALLBACK_API_C(OSStatus , PMIOWriteProcPtr)(const void *jobContext, Ptr buffer, UInt32 *size, Boolean eoj);
- typedef CALLBACK_API_C(OSStatus , PMIOStatusProcPtr)(const void *jobContext, CFStringRef *status);
- typedef CALLBACK_API_C(OSStatus , PMIOGetAttributeProcPtr)(const void *jobContext, CFStringRef attribute, CFTypeRef *result);
- typedef CALLBACK_API_C(OSStatus , PMIOSetAttributeProcPtr)(const void *jobContext, CFStringRef attribute, CFTypeRef data);
- typedef CALLBACK_API_C(OSStatus , PMIOCloseProcPtr)(const void * jobContext);
-
- /*
- * PMIOProcs
- *
- * Discussion:
- * The printing manager maintains this struct of callback procs for
- * printer module communication with the device
- */
- struct PMIOProcs
- {
- CFIndex version;
-
- /*
- * Get connection type string and Printer Browser Module path
- */
- GetConnInfoProcPtr GetConnInfoProc;
-
- /*
- * Open connection with target printer
- */
- PMIOOpenProcPtr PMIOOpenProc;
-
- /*
- * Read data from printer
- */
- PMIOReadProcPtr PMIOReadProc;
-
- /*
- * Write data to printer. Data is not buffered no matter how small
- * the buffer is. Therefore, it is recommended that the PM do its own
- * buffering before this call is made.
- */
- PMIOWriteProcPtr PMIOWriteProc;
-
- /*
- * Get status from the printer if any
- */
- PMIOStatusProcPtr PMIOStatusProc;
-
- /*
- * Get the value for a particular IOM attribute (see PMIOModule.h for
- * a list of attributes)
- */
- PMIOGetAttributeProcPtr PMIOGetAttributeProc;
-
- /*
- * Set a value for a particular IOM attribute (see PMIOModule.h for a
- * list of attributes)
- */
- PMIOSetAttributeProcPtr PMIOSetAttributeProc;
-
- /*
- * Close connection with printer.
- */
- PMIOCloseProcPtr PMIOCloseProc;
- };
- typedef struct PMIOProcs PMIOProcs;
- typedef CALLBACK_API_C(OSStatus , PMCreatePrinterBrowserModuleInfoProcPtr)(CFStringRef connectionType, CFArrayRef *printerBrowserInfo);
- typedef CALLBACK_API_C(OSStatus , PMInitializeProcPtr)(CFDataRef printerAddress, const void *jobContext, const PMIOProcs *pmIOProcs, PMNotificationProcPtr pmNotificationProc, PMContext *printerModuleContext);
- typedef CALLBACK_API_C(OSStatus , PMCreatePrintingDialogExtensionsPathsProcPtr)(PMContext printerModuleContext, CFArrayRef *pdePaths);
- typedef CALLBACK_API_C(OSStatus , PMCreatePrinterTicketsProcPtr)(PMContext printerModuleContext, PMTicketRef *printerInfo, PMTemplateRef *jobTemplate);
- typedef CALLBACK_API_C(OSStatus , PMBeginJobProcPtr)(PMContext printerModuleContext, const void *jobContext, PMTicketRef jobTicket, PMTicketRef *converterSetup);
- typedef CALLBACK_API_C(OSStatus , PMPrintJobProcPtr)(PMContext printerModuleContext, const void *jobContext, PMTicketRef jobTicket, const PMJobStreamProcs *inDataProcs);
- typedef CALLBACK_API_C(OSStatus , PMPrintPageProcPtr)(PMContext printerModuleContext, const void *jobContext, PMTicketRef jobTicket, PMJobStreamGetNextBandProcPtr pmJobStreamGetNextBandProc);
- typedef CALLBACK_API_C(OSStatus , PMImageAccessProcPtr)(PMContext printerModuleContext, const void *jobContext, CFStringRef grafBase, PMDrawingCtx drawingCtx, PMImageRef imageRef, PMImageRef *outImageRefPtr);
- typedef CALLBACK_API_C(OSStatus , PMCancelJobProcPtr)(PMContext printerModuleContext, const void *jobContext);
- typedef CALLBACK_API_C(OSStatus , PMEndJobProcPtr)(PMContext printerModuleContext, const void *jobContext);
- typedef CALLBACK_API_C(OSStatus , PMTerminateProcPtr)(PMContext *printerModuleContext, const void *jobContext);
-
- /*
- * PMProcs
- *
- * Discussion:
- * Contains the function pointers required to be exported by a
- * Printer Module.
- */
- struct PMProcs
- {
-
- /*
- * The plugin header is required with all plugins and must proceed
- * object's layout.
- */
- PMPlugInHeader pluginHeader;
-
- /*
- * For a given connection type in 'connectionType', returns a ticket
- * containing printer browser information about the supported
- * printers that can be browsed for on that connection. If the
- * connection is not supported by the Printer Module,
- * kPMUnsupportedConnection error is returned.
- */
- PMCreatePrinterBrowserModuleInfoProcPtr CreatePrinterBrowserModuleInfo;
-
- /*
- * Create a new instance of the Printer Module and place it's
- * reference in 'printerModuleContext'. Few input parameters are
- * passed via this API that the PM should store in its local context
- * block for use during the session; such as: printerAddress,
- * jobContext (used in callbacks), pmIOProcs (used for communicating
- * with the device, and pmNotificationProc (used for reporting status
- * and errors).
- */
- PMInitializeProcPtr Initialize;
-
- /*
- * Return one or more paths of this Printer Module's Print Dialog
- * Extension(s) relative to base path /Library/Printers/
- */
- PMCreatePrintingDialogExtensionsPathsProcPtr CreatePrintingDialogExtensionsPaths;
-
- /*
- * Returns printer module's template and printerinfo tickets to the
- * caller. A PrinterInfo ticket holds capability and product ID
- * information whereas a Template holds range and default information
- * about various print settings
- */
- PMCreatePrinterTicketsProcPtr CreatePrinterTickets;
-
- /*
- * Called by the Printing Manager to initiate a job. This function is
- * intended as a "setup" function, so all the information needed to
- * set up for printing is supplied: jobTicket has the control
- * parameters for this job, as defined by the application and user;
- * converterSetp allows the PM to setup a converter via standard
- * ticket tags.
- */
- PMBeginJobProcPtr BeginJob;
-
- /*
- * Begin sending print data to the printer. The Printing Manager
- * calls this API when page boundaries in the job can not be
- * determined (i.e PM specific format). inDataProcs contains
- * callbacks to access the print data; see PMJobStreamProcs
- * definitions above for more info on the callback routines.
- */
- PMPrintJobProcPtr PrintJob;
-
- /*
- * Send only a specific page to the printer. The PM needs to process
- * the data and make it ready for the printer hardware.
- * PMJobStreamGetNextBandProc is a callback to get the next available
- * band data.
- */
- PMPrintPageProcPtr PrintPage;
-
- /*
- * This API is called when an image is encountered during conversion.
- * This allows the Printer Module to access and modify the image
- * data (imageRef) and drawing context before the image is rasterized
- * into the page bands. Modified image should be returned in
- * outImageRefPtr.
- */
- PMImageAccessProcPtr ImageAccess;
-
- /*
- * Cancel the currently printing job. This function may be called
- * while the PM is executing code in PrintJob or PrintPage.
- */
- PMCancelJobProcPtr CancelJob;
-
- /*
- * Finish up the previously printed job.
- */
- PMEndJobProcPtr EndJob;
-
- /*
- * Dispose of the current PM session data allocated in Initialize.
- */
- PMTerminateProcPtr Terminate;
- };
- typedef struct PMProcs PMProcs;
- /* PM interface is an object containing addresses to the module's entry points: */
- struct PMInterface
- {
- const PMProcs * vtable;
- };
- typedef struct PMInterface PMInterface;
- typedef const PMInterface * PMInterfaceRef;
- /*
- Paper names must all be ISO or PPD standard names, so we've defined constants here for
- developers to use in their code, mostly to make things more readable.
- */
+/* CFNumber (SInt32) containing a context value. Used primarily to match a "cleared error" event with a prior "recoverable error" event */
+/* prototypes for callback routines used for accessing print data */
+typedef CALLBACK_API_C( OSStatus , PMJobStreamOpenProcPtr )(const void * jobContext);
+typedef CALLBACK_API_C( OSStatus , PMJobStreamReadWriteProcPtr )(const void *jobContext, void *buffPtr, UInt32 *size);
+typedef CALLBACK_API_C( OSStatus , PMJobStreamGetPosProcPtr )(const void *jobContext, UInt32 *markerPos);
+typedef CALLBACK_API_C( OSStatus , PMJobStreamSetPosProcPtr )(const void *jobContext, SInt16 posMode, UInt32 markerPos);
+typedef CALLBACK_API_C( OSStatus , PMJobStreamGetNextBandProcPtr )(const void *jobContext, PMRasterBand *pmRasterBand);
+/* the printing manager maintains this struct of callback procs for printer module data access */
+struct PMJobStreamProcs {
+ CFIndex version;
+
+ PMJobStreamOpenProcPtr PMJobStreamOpenProc;
+ PMJobStreamReadWriteProcPtr PMJobStreamReadProc;
+ PMJobStreamReadWriteProcPtr PMJobStreamWriteProc;
+ PMJobStreamGetPosProcPtr PMJobStreamGetPosProc;
+ PMJobStreamSetPosProcPtr PMJobStreamSetPosProc;
+ PMJobStreamGetPosProcPtr PMJobStreamGetEOFProc;
+};
+typedef struct PMJobStreamProcs PMJobStreamProcs;
+/* prototypes for callback routines used for communication with the device/connection */
+typedef CALLBACK_API_C( OSStatus , GetConnInfoProcPtr )(const void *jobContext, CFStringRef *connectionType, CFStringRef *pbmPath);
+typedef CALLBACK_API_C( OSStatus , PMIOOpenProcPtr )(const void * jobContext);
+typedef CALLBACK_API_C( OSStatus , PMIOReadProcPtr )(const void *jobContext, Ptr buffer, UInt32 *size, Boolean *eoj);
+typedef CALLBACK_API_C( OSStatus , PMIOWriteProcPtr )(const void *jobContext, Ptr buffer, UInt32 *size, Boolean eoj);
+typedef CALLBACK_API_C( OSStatus , PMIOStatusProcPtr )(const void *jobContext, CFStringRef *status);
+typedef CALLBACK_API_C( OSStatus , PMIOGetAttributeProcPtr )(const void *jobContext, CFStringRef attribute, CFTypeRef *result);
+typedef CALLBACK_API_C( OSStatus , PMIOSetAttributeProcPtr )(const void *jobContext, CFStringRef attribute, CFTypeRef data);
+typedef CALLBACK_API_C( OSStatus , PMIOCloseProcPtr )(const void * jobContext);
+
+/*
+ * PMIOProcs
+ *
+ * Discussion:
+ * The printing manager maintains this struct of callback procs for
+ * printer module communication with the device
+ */
+struct PMIOProcs {
+ CFIndex version;
+
+ /*
+ * Get connection type string and Printer Browser Module path
+ */
+ GetConnInfoProcPtr GetConnInfoProc;
+
+ /*
+ * Open connection with target printer
+ */
+ PMIOOpenProcPtr PMIOOpenProc;
+
+ /*
+ * Read data from printer
+ */
+ PMIOReadProcPtr PMIOReadProc;
+
+ /*
+ * Write data to printer. Data is not buffered no matter how small
+ * the buffer is. Therefore, it is recommended that the PM do its own
+ * buffering before this call is made.
+ */
+ PMIOWriteProcPtr PMIOWriteProc;
+
+ /*
+ * Get status from the printer if any
+ */
+ PMIOStatusProcPtr PMIOStatusProc;
+
+ /*
+ * Get the value for a particular IOM attribute (see PMIOModule.h for
+ * a list of attributes)
+ */
+ PMIOGetAttributeProcPtr PMIOGetAttributeProc;
+
+ /*
+ * Set a value for a particular IOM attribute (see PMIOModule.h for a
+ * list of attributes)
+ */
+ PMIOSetAttributeProcPtr PMIOSetAttributeProc;
+
+ /*
+ * Close connection with printer.
+ */
+ PMIOCloseProcPtr PMIOCloseProc;
+};
+typedef struct PMIOProcs PMIOProcs;
+typedef CALLBACK_API_C( OSStatus , PMCreatePrinterBrowserModuleInfoProcPtr )(CFStringRef connectionType, CFArrayRef *printerBrowserInfo);
+typedef CALLBACK_API_C( OSStatus , PMInitializeProcPtr )(CFDataRef printerAddress, const void *jobContext, const PMIOProcs *pmIOProcs, PMNotificationProcPtr pmNotificationProc, PMContext *printerModuleContext);
+typedef CALLBACK_API_C( OSStatus , PMCreatePrintingDialogExtensionsPathsProcPtr )(PMContext printerModuleContext, CFArrayRef *pdePaths);
+typedef CALLBACK_API_C( OSStatus , PMCreatePrinterTicketsProcPtr )(PMContext printerModuleContext, PMTicketRef *printerInfo, PMTemplateRef *jobTemplate);
+typedef CALLBACK_API_C( OSStatus , PMBeginJobProcPtr )(PMContext printerModuleContext, const void *jobContext, PMTicketRef jobTicket, PMTicketRef *converterSetup);
+typedef CALLBACK_API_C( OSStatus , PMPrintJobProcPtr )(PMContext printerModuleContext, const void *jobContext, PMTicketRef jobTicket, const PMJobStreamProcs *inDataProcs);
+typedef CALLBACK_API_C( OSStatus , PMPrintPageProcPtr )(PMContext printerModuleContext, const void *jobContext, PMTicketRef jobTicket, PMJobStreamGetNextBandProcPtr pmJobStreamGetNextBandProc);
+typedef CALLBACK_API_C( OSStatus , PMImageAccessProcPtr )(PMContext printerModuleContext, const void *jobContext, CFStringRef grafBase, PMDrawingCtx drawingCtx, PMImageRef imageRef, PMImageRef *outImageRefPtr);
+typedef CALLBACK_API_C( OSStatus , PMCancelJobProcPtr )(PMContext printerModuleContext, const void *jobContext);
+typedef CALLBACK_API_C( OSStatus , PMEndJobProcPtr )(PMContext printerModuleContext, const void *jobContext);
+typedef CALLBACK_API_C( OSStatus , PMTerminateProcPtr )(PMContext *printerModuleContext, const void *jobContext);
+
+/*
+ * PMProcs
+ *
+ * Discussion:
+ * Contains the function pointers required to be exported by a
+ * Printer Module.
+ */
+struct PMProcs {
+
+ /*
+ * The plugin header is required with all plugins and must proceed
+ * object's layout.
+ */
+ PMPlugInHeader pluginHeader;
+
+ /*
+ * For a given connection type in 'connectionType', returns a ticket
+ * containing printer browser information about the supported
+ * printers that can be browsed for on that connection. If the
+ * connection is not supported by the Printer Module,
+ * kPMUnsupportedConnection error is returned.
+ */
+ PMCreatePrinterBrowserModuleInfoProcPtr CreatePrinterBrowserModuleInfo;
+
+ /*
+ * Create a new instance of the Printer Module and place it's
+ * reference in 'printerModuleContext'. Few input parameters are
+ * passed via this API that the PM should store in its local context
+ * block for use during the session; such as: printerAddress,
+ * jobContext (used in callbacks), pmIOProcs (used for communicating
+ * with the device, and pmNotificationProc (used for reporting status
+ * and errors).
+ */
+ PMInitializeProcPtr Initialize;
+
+ /*
+ * Return one or more paths of this Printer Module's Print Dialog
+ * Extension(s) relative to base path /Library/Printers/
+ */
+ PMCreatePrintingDialogExtensionsPathsProcPtr CreatePrintingDialogExtensionsPaths;
+
+ /*
+ * Returns printer module's template and printerinfo tickets to the
+ * caller. A PrinterInfo ticket holds capability and product ID
+ * information whereas a Template holds range and default information
+ * about various print settings
+ */
+ PMCreatePrinterTicketsProcPtr CreatePrinterTickets;
+
+ /*
+ * Called by the Printing Manager to initiate a job. This function is
+ * intended as a "setup" function, so all the information needed to
+ * set up for printing is supplied: jobTicket has the control
+ * parameters for this job, as defined by the application and user;
+ * converterSetp allows the PM to setup a converter via standard
+ * ticket tags.
+ */
+ PMBeginJobProcPtr BeginJob;
+
+ /*
+ * Begin sending print data to the printer. The Printing Manager
+ * calls this API when page boundaries in the job can not be
+ * determined (i.e PM specific format). inDataProcs contains
+ * callbacks to access the print data; see PMJobStreamProcs
+ * definitions above for more info on the callback routines.
+ */
+ PMPrintJobProcPtr PrintJob;
+
+ /*
+ * Send only a specific page to the printer. The PM needs to process
+ * the data and make it ready for the printer hardware.
+ * PMJobStreamGetNextBandProc is a callback to get the next available
+ * band data.
+ */
+ PMPrintPageProcPtr PrintPage;
+
+ /*
+ * This API is called when an image is encountered during conversion.
+ * This allows the Printer Module to access and modify the image
+ * data (imageRef) and drawing context before the image is rasterized
+ * into the page bands. Modified image should be returned in
+ * outImageRefPtr.
+ */
+ PMImageAccessProcPtr ImageAccess;
+
+ /*
+ * Cancel the currently printing job. This function may be called
+ * while the PM is executing code in PrintJob or PrintPage.
+ */
+ PMCancelJobProcPtr CancelJob;
+
+ /*
+ * Finish up the previously printed job.
+ */
+ PMEndJobProcPtr EndJob;
+
+ /*
+ * Dispose of the current PM session data allocated in Initialize.
+ */
+ PMTerminateProcPtr Terminate;
+};
+typedef struct PMProcs PMProcs;
+/* PM interface is an object containing addresses to the module's entry points: */
+struct PMInterface {
+ const PMProcs * vtable;
+};
+typedef struct PMInterface PMInterface;
+typedef const PMInterface * PMInterfaceRef;
+/*
+ Paper names must all be ISO or PPD standard names, so we've defined constants here for
+ developers to use in their code, mostly to make things more readable.
+*/
#define USExecutiveEnvelope CFSTR("Executive")
#define Envelope9 CFSTR("na-number-9-envelope")
@@ -443,17 +436,17 @@ extern "C" {
#define DSize CFSTR("d")
#define ESize CFSTR("e")
#define iso10 CFSTR("iso-10")
- /* A string to define the default paper name. See sample code for usage.*/
+/* A string to define the default paper name. See sample code for usage.*/
#define DefaultPaper CFSTR("DefaultPaperSize")
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMPrintingDialogExtensions.h b/include/qt/PMPrintingDialogExtensions.h
index 91d1542ef..a58dfc604 100644
--- a/include/qt/PMPrintingDialogExtensions.h
+++ b/include/qt/PMPrintingDialogExtensions.h
@@ -1,17 +1,17 @@
/*
File: PMPrintingDialogExtensions.h
-
+
Contains: Mac OS X Printing Manager Print Dialog Extension Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#include "MacTypes.h"
@@ -48,181 +48,177 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Constants
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- /*
- Feature request flags...
- */
- typedef UInt32 PMPDEFlags;
- enum
- {
- kPMPDENoFlags = 0x00000000, /* Empty flag word. */
- kPMPDENoSummary = 0x00000001, /* Won't provide summary string. */
- kPMPDEAllFlags = (unsigned long)0xFFFFFFFF /* All flags set.*/
- };
-
- /*
- Parameters for printing events:
-
- kEventPrintingPDEResize
- --> kEventParamDirectObject typeControlRef
- --> kEventParamPDEHeight typeUInt32
-
- When sent to the this event is sent to the PageSetup or Print Dialog, the PDE pane
- will be resized to match the new height. The kEventParamDirectObject needs to be the
- embedderUserPane that is passed into Initialize
- */
- enum
- {
- kEventClassPrinting = FOUR_CHAR_CODE('prnt'),
- kEventPrintingPDEResize = FOUR_CHAR_CODE('rqsz'),
- kEventParamPDEHeight = FOUR_CHAR_CODE('pdeh')
- };
-
- /*
- Define Printing Dialog Extensions CFPlugIn constants.
-
- First, the base string for all constants relating to Printing Dialog Extensions.
- */
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Constants
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/*
+Feature request flags...
+*/
+typedef UInt32 PMPDEFlags;
+enum {
+ kPMPDENoFlags = 0x00000000, /* Empty flag word. */
+ kPMPDENoSummary = 0x00000001, /* Won't provide summary string. */
+ kPMPDEAllFlags = (unsigned long)0xFFFFFFFF /* All flags set.*/
+};
+
+/*
+ Parameters for printing events:
+
+ kEventPrintingPDEResize
+ --> kEventParamDirectObject typeControlRef
+ --> kEventParamPDEHeight typeUInt32
+
+ When sent to the this event is sent to the PageSetup or Print Dialog, the PDE pane
+ will be resized to match the new height. The kEventParamDirectObject needs to be the
+ embedderUserPane that is passed into Initialize
+*/
+enum {
+ kEventClassPrinting = FOUR_CHAR_CODE('prnt'),
+ kEventPrintingPDEResize = FOUR_CHAR_CODE('rqsz'),
+ kEventParamPDEHeight = FOUR_CHAR_CODE('pdeh')
+};
+
+/*
+Define Printing Dialog Extensions CFPlugIn constants.
+
+First, the base string for all constants relating to Printing Dialog Extensions.
+*/
#define kPMPDEBase "com.apple.printing.pde"
- /*
- Define the Type and Interface keys for Printing Dialog Extensions.
- */
+/*
+Define the Type and Interface keys for Printing Dialog Extensions.
+*/
#define kPMPDEAppType CFSTR("com.apple.printing.pde.app")
#define KPMPDEPrinterType CFSTR("com.apple.printing.pde.pm")
#define kPMPDEInterface CFSTR("com.apple.printing.pde.ui")
- /*
- Define the Kind IDs for Universal and Standard Printing Dialog Extensions.
- */
- /* Implemented Universal */
+/*
+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")
- /* Unimplemented Universal */
+/* Unimplemented Universal */
#define kPMCoverPagePDEKindID CFSTR("com.apple.print.pde.CoverPageKind")
#define kPMPaperSourcePDEKindID CFSTR("com.apple.print.pde.PaperSourceKind")
#define kPMPriorityPDEKindID CFSTR("com.apple.print.pde.PriorityKind")
#define kPMRotationScalingPDEKindID CFSTR("com.apple.print.pde.RotationScalingKind")
- /* Implemented Standard */
+/* Implemented Standard */
#define kPMPaperFeedPDEKindID CFSTR("com.apple.print.pde.PaperFeedKind")
- /* Unimplemented Standard */
+/* Unimplemented Standard */
#define kPMColorPDEKindID CFSTR("com.apple.print.pde.ColorKind")
#define kPMQualityMediaPDEKindID CFSTR("com.apple.print.pde.QualityMediaPDEKind")
- /* These constants are used by PDE's to obtain the PMTicketRef data for the corresponding
- piece of data.
- */
+/* These constants are used by PDE's to obtain the PMTicketRef data for the corresponding
+ piece of data.
+*/
#define kPDE_PMPrintSettingsRef CFSTR("PMPrintSettingsTicket")
#define kPDE_PMPageFormatRef CFSTR("PMPageFormatTicket")
#define kPDE_PMJobTemplateRef CFSTR("PMJobTemplateTicket")
#define kPDE_PMPrinterInfoRef CFSTR("PMPrinterInfoTicket")
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Type Definitions
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- /*
- Basic types...
- */
- typedef struct OpaquePMPDERef* PMPDERef;
- typedef struct OpaquePMPDEContext* PMPDEContext;
- /* Just for testing this .... */
- /*#define TEST_PLUGINS_LINKED_IN 1 */
- /* Type and Interface IDs. */
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Type Definitions
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+/*
+Basic types...
+*/
+typedef struct OpaquePMPDERef* PMPDERef;
+typedef struct OpaquePMPDEContext* PMPDEContext;
+/* Just for testing this .... */
+/*#define TEST_PLUGINS_LINKED_IN 1 */
+/* 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 kPrinterModuleTypeIDStr CFSTR("BDB091F4-E57F-11D3-B5CC-0050E4603277")
- /* Versioning info. */
- /* Update following values when you append new APIs to the end of interface: */
+/* Versioning info. */
+/* Update following values when you append new APIs to the end of interface: */
#define kPDEBuildVersionMajor 1
#define kPDEBuildVersionMinor 0
- /* Update following values when you obsolete some APIs in the interface. */
- /* Since this will break the upward compatibility chain such practice is */
- /* strongly discouraged - if it can be helped at all. */
+/* Update following values when you obsolete some APIs in the interface. */
+/* Since this will break the upward compatibility chain such practice is */
+/* strongly discouraged - if it can be helped at all. */
#define kPDEBaseVersionMajor 1
#define kPDEBaseVersionMinor 0
- /* Interface layout - object and vtable: */
- typedef CALLBACK_API_C(OSStatus , PMPDEPrologueProcPtr)(PMPDEContext *context, OSType *creator, CFStringRef *userOptionKind, CFStringRef *title, UInt32 *maxH, UInt32 *maxV);
- typedef CALLBACK_API_C(OSStatus , PMPDEInitializeProcPtr)(PMPDEContext context, PMPDEFlags *flags, PMPDERef ref, ControlRef embedderUserPane, PMPrintSession printSession);
- typedef CALLBACK_API_C(OSStatus , PMPDESyncProcPtr)(PMPDEContext context, PMPrintSession printSession, Boolean reinitializePlugIn);
- typedef CALLBACK_API_C(OSStatus , PMPDEGetSummaryTextProcPtr)(PMPDEContext context, CFArrayRef *titleArray, CFArrayRef *summaryArray);
- typedef CALLBACK_API_C(OSStatus , PMPDEOpenProcPtr)(PMPDEContext context);
- typedef CALLBACK_API_C(OSStatus , PMPDECloseProcPtr)(PMPDEContext context);
- typedef CALLBACK_API_C(OSStatus , PMPDETerminateProcPtr)(PMPDEContext context, OSStatus status);
- struct PlugInIntfVTable
- {
- /* ---- API 'IMMUTABLE' Begin: ----*/
-
- /* The plugin header is required with all plugins.*/
- /* This must lead object's layout.*/
- PMPlugInHeader plugInHeader;
-
- /* ---- API Version 1.0 Begin: ----*/
-
- /* Entry points for Printing Dialog Extension modules...*/
- PMPDEPrologueProcPtr Prologue;
- PMPDEInitializeProcPtr Initialize;
- PMPDESyncProcPtr Sync;
- PMPDEGetSummaryTextProcPtr GetSummaryText;
- PMPDEOpenProcPtr Open;
- PMPDECloseProcPtr Close;
- PMPDETerminateProcPtr Terminate;
- };
- typedef struct PlugInIntfVTable PlugInIntfVTable;
- struct PlugInIntf
- {
- /* Plugin interface is an object containing vtable address:*/
- PlugInIntfVTable * vtable;
- };
- typedef struct PlugInIntf PlugInIntf;
- /* Some commonly used routines used by PDEs */
- /*
- * PMCreateLocalizedPaperSizeCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CFStringRef)
- PMCreateLocalizedPaperSizeCFString(
- PMTicketRef listofPaperTickets,
- UInt16 paperToUse);
-
-
- /* Lower level version of the same function, this time passing the single PaperInfo.*/
- /*
- * PMCreatePaperSizeCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CFStringRef)
- PMCreatePaperSizeCFString(PMTicketRef selectedPaper);
+/* Interface layout - object and vtable: */
+typedef CALLBACK_API_C( OSStatus , PMPDEPrologueProcPtr )(PMPDEContext *context, OSType *creator, CFStringRef *userOptionKind, CFStringRef *title, UInt32 *maxH, UInt32 *maxV);
+typedef CALLBACK_API_C( OSStatus , PMPDEInitializeProcPtr )(PMPDEContext context, PMPDEFlags *flags, PMPDERef ref, ControlRef embedderUserPane, PMPrintSession printSession);
+typedef CALLBACK_API_C( OSStatus , PMPDESyncProcPtr )(PMPDEContext context, PMPrintSession printSession, Boolean reinitializePlugIn);
+typedef CALLBACK_API_C( OSStatus , PMPDEGetSummaryTextProcPtr )(PMPDEContext context, CFArrayRef *titleArray, CFArrayRef *summaryArray);
+typedef CALLBACK_API_C( OSStatus , PMPDEOpenProcPtr )(PMPDEContext context);
+typedef CALLBACK_API_C( OSStatus , PMPDECloseProcPtr )(PMPDEContext context);
+typedef CALLBACK_API_C( OSStatus , PMPDETerminateProcPtr )(PMPDEContext context, OSStatus status);
+struct PlugInIntfVTable {
+ /* ---- API 'IMMUTABLE' Begin: ----*/
+
+ /* The plugin header is required with all plugins.*/
+ /* This must lead object's layout.*/
+ PMPlugInHeader plugInHeader;
+
+ /* ---- API Version 1.0 Begin: ----*/
+
+ /* Entry points for Printing Dialog Extension modules...*/
+ PMPDEPrologueProcPtr Prologue;
+ PMPDEInitializeProcPtr Initialize;
+ PMPDESyncProcPtr Sync;
+ PMPDEGetSummaryTextProcPtr GetSummaryText;
+ PMPDEOpenProcPtr Open;
+ PMPDECloseProcPtr Close;
+ PMPDETerminateProcPtr Terminate;
+};
+typedef struct PlugInIntfVTable PlugInIntfVTable;
+struct PlugInIntf {
+ /* Plugin interface is an object containing vtable address:*/
+ PlugInIntfVTable * vtable;
+};
+typedef struct PlugInIntf PlugInIntf;
+/* Some commonly used routines used by PDEs */
+/*
+ * PMCreateLocalizedPaperSizeCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFStringRef )
+PMCreateLocalizedPaperSizeCFString(
+ PMTicketRef listofPaperTickets,
+ UInt16 paperToUse);
+
+
+/* Lower level version of the same function, this time passing the single PaperInfo.*/
+/*
+ * PMCreatePaperSizeCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CFStringRef )
+PMCreatePaperSizeCFString(PMTicketRef selectedPaper);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMRaster.h b/include/qt/PMRaster.h
index c98c4990b..a764fc975 100644
--- a/include/qt/PMRaster.h
+++ b/include/qt/PMRaster.h
@@ -1,17 +1,17 @@
/*
File: PMRaster.h
-
+
Contains: Mac OS X Printing Manager Raster Definitions.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#include "MacTypes.h"
@@ -29,65 +29,61 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#define kPMDataFormatRaster CFSTR("application/vnd.apple.printing-raster")
typedef UInt32 PMPixelLayout;
-enum
-{
- kPMDataPlanar = 0x0001, /* One color for all pixels, followed by next color. */
- kPMDataChunky = 0x0002, /* All colors for each pixel before next pixel. */
- kPMDataUnused = 0xFFFC /* Remaining bits not used at this time. */
+enum {
+ kPMDataPlanar = 0x0001, /* One color for all pixels, followed by next color. */
+ kPMDataChunky = 0x0002, /* All colors for each pixel before next pixel. */
+ kPMDataUnused = 0xFFFC /* Remaining bits not used at this time. */
};
/* Pixel formats supported at this time: */
typedef UInt32 PMPixelFormat;
-enum
-{
- kPMGray_1 = 0x0001, /* 1 bit gray scale (B/W) data only (not implemented). */
- kPMGray_8 = 0x0002, /* 8 bit grayscale. 256 possible values, no color table assumed */
- kPMRGB_16 = 0x0004, /* 16 bit, 5-5-5 RGB data, with MSB unused. */
- kPMRGB_24 = 0x0008, /* 24 bit, 8-8-8 RGB data, no unused bits or bytes. */
- kPMXRGB_32 = 0x0010, /* 32 bit x-8-8-8 RGB data, first byte unused in each pixel. */
- kPMRGBX_32 = 0x0020, /* 32 bit 8-8-8-x RGB data, last byte unused in each pixel. */
- kPMRGBX_32_Sep_Gray_8 = 0x0040, /* Same as kPMRGBX_32 but with an extra plane of 8-bit K-separation. */
- kPMCMYK_32 = 0x0080, /* 32 bit 8-8-8-8 CMYK data. All bytes used. */
- kPMUnused = 0xFF00 /* Remaining bits are unused for now and should be clear. */
+enum {
+ kPMGray_1 = 0x0001, /* 1 bit gray scale (B/W) data only (not implemented). */
+ kPMGray_8 = 0x0002, /* 8 bit grayscale. 256 possible values, no color table assumed */
+ kPMRGB_16 = 0x0004, /* 16 bit, 5-5-5 RGB data, with MSB unused. */
+ kPMRGB_24 = 0x0008, /* 24 bit, 8-8-8 RGB data, no unused bits or bytes. */
+ kPMXRGB_32 = 0x0010, /* 32 bit x-8-8-8 RGB data, first byte unused in each pixel. */
+ kPMRGBX_32 = 0x0020, /* 32 bit 8-8-8-x RGB data, last byte unused in each pixel. */
+ kPMRGBX_32_Sep_Gray_8 = 0x0040, /* Same as kPMRGBX_32 but with an extra plane of 8-bit K-separation. */
+ kPMCMYK_32 = 0x0080, /* 32 bit 8-8-8-8 CMYK data. All bytes used. */
+ kPMUnused = 0xFF00 /* Remaining bits are unused for now and should be clear. */
};
typedef UInt32 PMBandOrder;
-enum
-{
- kPMFirstBand = 0x0000, /* First band of the frame */
- kPMMiddleBand = 0x0001, /* Mid-pack band */
- kPMLastBand = 0x0002, /* Last band */
- kPMLoneBand = 0x0003 /* The only band (whole frame) */
+enum {
+ kPMFirstBand = 0x0000, /* First band of the frame */
+ kPMMiddleBand = 0x0001, /* Mid-pack band */
+ kPMLastBand = 0x0002, /* Last band */
+ kPMLoneBand = 0x0003 /* The only band (whole frame) */
};
/* PMRasterBand: */
-struct PMRasterBand
-{
- Ptr baseAddress; /* ptr to where data is stored */
- UInt32 size; /* #bytes in band */
- UInt32 yOffset; /* Band position in the page. */
- UInt32 height; /* How many scanlines in this band. */
- UInt32 depth; /* How many bits per pixel for this band. */
- PMBandOrder order; /* band order in page: first, middle, last, lone. */
+struct PMRasterBand {
+ Ptr baseAddress; /* ptr to where data is stored */
+ UInt32 size; /* #bytes in band */
+ UInt32 yOffset; /* Band position in the page. */
+ UInt32 height; /* How many scanlines in this band. */
+ UInt32 depth; /* How many bits per pixel for this band. */
+ PMBandOrder order; /* band order in page: first, middle, last, lone. */
};
typedef struct PMRasterBand PMRasterBand;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMTemplate.h b/include/qt/PMTemplate.h
index 290322b7e..2d17fdbf8 100644
--- a/include/qt/PMTemplate.h
+++ b/include/qt/PMTemplate.h
@@ -1,17 +1,17 @@
/*
File: PMTemplate.h
-
+
Contains: Mac OS X Printing Manager Job Template Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PMTEMPLATE__
#define __PMTEMPLATE__
@@ -44,892 +44,890 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef SInt32 PMValueType;
- enum
- {
- kPMValueUndefined = 0, /* Template Entry is unknown or undefined */
- kPMValueBoolean = 1, /* A CFBoolean of value true or false. */
- kPMValueData = 2, /* A CFData, raw data converted to CFData. Has a default value, but no other constraints */
- kPMValueString = 3, /* A CFString. Has a default value, but no other constraints */
- kPMValueSInt32 = 4, /* A CFNumber of long type. */
- kPMValueSInt32Range = 5, /* A pair of CFNumbers, SInt32s, defining a range. */
- kPMValueUInt32 = 6, /* A CFNumber of unsigned long type (which isn't actually defined) */
- kPMValueUInt32Range = 7, /* A pair of CFNumber, UInt32s, defining a range. */
- kPMValueDouble = 8, /* A CFNumber of double type. */
- kPMValueDoubleRange = 9, /* A pair of CFNumbers, doubles, defining a range of values. */
- kPMValuePMRect = 10, /* A CFArray of 4 CFNumbers, all doubles. */
- kPMValueDate = 11, /* A CFDate, holding date and time. */
- kPMValueArray = 12, /* A CFArray, holding an array of values. No way to constrain these. */
- kPMValueDict = 13, /* A CFDictionary, which has a default, but no constraints. */
- kPMValueTicket = 14 /* A PMTicket will require each key/value be identical - only works for list constraints. */
- };
-
-
- typedef SInt32 PMConstraintType;
- enum
- {
- kPMConstraintUndefined = 0, /* Undefined, no constraint checking required. */
- kPMConstraintRange = 1, /* Range has a CFArray of two values, both CFTypeRefs */
- kPMConstraintList = 2, /* List has an array CFTypeRefs, listing possible values. DefaultValues are CFNumberRef (zero-based index into the list) */
- kPMConstraintPrivate = 3 /* Private constraint, not checked by the system. */
- };
-
-
- /* A couple of keys are defined as special cases for the template code, only because it's */
- /* a flat structure and the Job ticket is possibly a hierarchy of tickets. We need to be */
- /* able to fetch the PaperInfo template information, but the Job Ticket has a separate */
- /* ticket, so there is no key defined for fetching PaperInfo ticket from the Job Ticket. */
- /* Will fetch the default value and constraint list for valid papers. */
+typedef SInt32 PMValueType;
+enum {
+ kPMValueUndefined = 0, /* Template Entry is unknown or undefined */
+ kPMValueBoolean = 1, /* A CFBoolean of value true or false. */
+ kPMValueData = 2, /* A CFData, raw data converted to CFData. Has a default value, but no other constraints */
+ kPMValueString = 3, /* A CFString. Has a default value, but no other constraints */
+ kPMValueSInt32 = 4, /* A CFNumber of long type. */
+ kPMValueSInt32Range = 5, /* A pair of CFNumbers, SInt32s, defining a range. */
+ kPMValueUInt32 = 6, /* A CFNumber of unsigned long type (which isn't actually defined) */
+ kPMValueUInt32Range = 7, /* A pair of CFNumber, UInt32s, defining a range. */
+ kPMValueDouble = 8, /* A CFNumber of double type. */
+ kPMValueDoubleRange = 9, /* A pair of CFNumbers, doubles, defining a range of values. */
+ kPMValuePMRect = 10, /* A CFArray of 4 CFNumbers, all doubles. */
+ kPMValueDate = 11, /* A CFDate, holding date and time. */
+ kPMValueArray = 12, /* A CFArray, holding an array of values. No way to constrain these. */
+ kPMValueDict = 13, /* A CFDictionary, which has a default, but no constraints. */
+ kPMValueTicket = 14 /* A PMTicket will require each key/value be identical - only works for list constraints. */
+};
+
+
+typedef SInt32 PMConstraintType;
+enum {
+ kPMConstraintUndefined = 0, /* Undefined, no constraint checking required. */
+ kPMConstraintRange = 1, /* Range has a CFArray of two values, both CFTypeRefs */
+ kPMConstraintList = 2, /* List has an array CFTypeRefs, listing possible values. DefaultValues are CFNumberRef (zero-based index into the list) */
+ kPMConstraintPrivate = 3 /* Private constraint, not checked by the system. */
+};
+
+
+/* A couple of keys are defined as special cases for the template code, only because it's */
+/* a flat structure and the Job ticket is possibly a hierarchy of tickets. We need to be */
+/* able to fetch the PaperInfo template information, but the Job Ticket has a separate */
+/* ticket, so there is no key defined for fetching PaperInfo ticket from the Job Ticket. */
+/* Will fetch the default value and constraint list for valid papers. */
#define kPMTemplatePrelude "com.apple.print.TemplateSpecific"
#define kPMPaperInfoListStr "com.apple.print.TemplateSpecific.PMTemplatePaperInfoTicket"
#define kPMPaperInfoList CFSTR("com.apple.print.TemplateSpecific.PMTemplatePaperInfoTicket")
- /* The PMTemplateRef is defined in PMTicket.h to avoid circular references */
-
- /* Functions to create or delete a template */
- /*
- * PMTemplateCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateCreate(PMTemplateRef * newTemplate);
-
-
- /*
- * PMTemplateDelete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateDelete(PMTemplateRef * oldTemplate);
-
-
-
- /* Functions to send to and from XML. Also a function to tell us if the template is locked and */
- /* can't be modified. */
- /*
- * PMTemplateCreateXML()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateCreateXML(
- PMTemplateRef srcTemplate,
- CFDataRef * xmlData);
-
-
- /*
- * PMTemplateLoadFromXML()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateLoadFromXML(
- CFDataRef srcData,
- PMTemplateRef * destTemplate);
-
-
- /*
- * PMTemplateIsLocked()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateIsLocked(
- PMTemplateRef srcTemplate,
- Boolean * locked);
-
-
-
- /* Functions to add entries in a template. Each entry describes a value type and constraint */
- /* type as well as default and constraint values for a specific key. This key must match the */
- /* key we wish to validate in a PMTicket. */
- /*
- * PMTemplateMakeFullEntry()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateMakeFullEntry(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMValueType valueType,
- PMConstraintType constraintType,
- CFTypeRef defaultValue,
- CFTypeRef constraintValue);
-
-
- /* This function allows a caller to create the template entry in a series of calls, first to */
- /* establish what type of entry it is and then later to set default and constraint values. This */
- /* is especially useful for direct (non-cf) access to create template entries. There are various */
- /* specialized functions for adding the default and cosntraint values with standard "C" types. */
- /*
- * PMTemplateMakeEntry()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateMakeEntry(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMValueType valueType,
- PMConstraintType constraintType);
-
-
-
- /* The following functions update an already created entry. */
- /*
- * PMTemplateSetCFDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetCFDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFTypeRef defaultValue);
-
-
- /*
- * PMTemplateSetSInt32DefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetSInt32DefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- SInt32 defaultValue);
-
-
- /*
- * PMTemplateSetSInt32RangeDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetSInt32RangeDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- SInt32 min,
- SInt32 max);
-
-
- /*
- * PMTemplateSetBooleanDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetBooleanDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- Boolean defaultValue);
-
-
- /*
- * PMTemplateSetDoubleDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetDoubleDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- double defaultValue);
-
-
- /*
- * PMTemplateSetDoubleRangeDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetDoubleRangeDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- double min,
- double max);
-
-
- /*
- * PMTemplateSetCFDataDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetCFDataDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFDataRef defaultValue);
-
-
- /*
- * PMTemplateSetPMRectDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetPMRectDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMRect * defaultValue);
-
-
- /*
- * PMTemplateSetPMTicketDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetPMTicketDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMTicketRef defaultValue);
-
-
- /* Functions to allow various constraints to be set up. */
- /*
- * PMTemplateSetCFArrayConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetCFArrayConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFArrayRef constraintValue);
-
-
- /*
- * PMTemplateSetCFRangeConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetCFRangeConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFTypeRef min,
- CFTypeRef max);
-
-
- /*
- * PMTemplateSetSInt32RangeConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetSInt32RangeConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- SInt32 min,
- SInt32 max);
-
-
- /* Note - if the default value is a range, then the constraint should be a pair */
- /* of ranges. */
- /*
- * PMTemplateSetSInt32RangesConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetSInt32RangesConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- SInt32 minForMin,
- SInt32 maxForMin,
- SInt32 minForMax,
- SInt32 maxForMax);
-
-
- /*
- * PMTemplateSetDoubleRangeConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetDoubleRangeConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- double min,
- double max);
-
-
- /*
- * PMTemplateSetDoubleRangesConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetDoubleRangesConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- double minForMin,
- double maxForMin,
- double minForMax,
- double maxForMax);
-
-
-
- /* A List constraint could be a simple list of SInt32s. */
- /*
- * PMTemplateSetSInt32ListConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetSInt32ListConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- int listSize,
- SInt32 * sint32List);
-
-
- /* Or a list of doubles. */
- /*
- * PMTemplateSetDoubleListConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetDoubleListConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- int listSize,
- double * doubleList);
-
-
- /* A list of rectangles. */
- /*
- * PMTemplateSetPMRectListConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetPMRectListConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- int listSize,
- PMRect * rectList);
-
-
- /* Or a ticket list. */
- /*
- * PMTemplateSetPMTicketListConstraint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateSetPMTicketListConstraint(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMTicketRef listTicket);
-
-
-
- /* Boolean constraints don't need to be set - the constraint type is enough. */
- /* Accessors for reaching specific template entry info based on the key passed in. */
- /*
- * PMTemplateGetValueType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetValueType(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMValueType * valueType);
-
-
- /*
- * PMTemplateGetConstraintType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetConstraintType(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMConstraintType * constraintType);
-
-
- /* Fetch the various types of default values. */
- /*
- * PMTemplateGetCFDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetCFDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFTypeRef * defaultValue);
-
-
- /*
- * PMTemplateGetSInt32DefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetSInt32DefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- SInt32 * defaultValue);
-
-
- /*
- * PMTemplateGetSInt32RangeDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetSInt32RangeDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- SInt32 * min,
- SInt32 * max);
-
-
- /*
- * PMTemplateGetBooleanDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetBooleanDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- Boolean * defaultValue);
-
-
- /*
- * PMTemplateGetDoubleDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetDoubleDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- double * defaultValue);
-
-
- /*
- * PMTemplateGetDoubleRangeDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetDoubleRangeDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- double * min,
- double * max);
-
-
- /*
- * PMTemplateGetCFDataDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetCFDataDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFDataRef * defaultValue);
-
-
- /*
- * PMTemplateGetPMRectDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetPMRectDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMRect * defaultValue);
-
-
- /*
- * PMTemplateGetPMTicketDefaultValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetPMTicketDefaultValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMTicketRef * defaultValue);
-
-
- /* Fetch the various flavors of constraint values. */
- /*
- * PMTemplateGetCFArrayConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetCFArrayConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFArrayRef * constraintValue);
-
-
- /*
- * PMTemplateGetCFRangeConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetCFRangeConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFTypeRef * min,
- CFTypeRef * max);
-
-
- /*
- * PMTemplateGetSInt32RangeConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetSInt32RangeConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- SInt32 * min,
- SInt32 * max);
-
-
- /*
- * PMTemplateGetSInt32RangesConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetSInt32RangesConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- SInt32 * minForMin,
- SInt32 * maxForMin,
- SInt32 * minForMax,
- SInt32 * maxForMax);
-
-
- /*
- * PMTemplateGetDoubleRangeConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetDoubleRangeConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- double * min,
- double * max);
-
-
- /*
- * PMTemplateGetDoubleRangesConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetDoubleRangesConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- double * minForMin,
- double * maxForMin,
- double * minForMax,
- double * maxForMax);
-
-
- /* The following functions need to be called twice, first to determine the length of */
- /* the list and a second time, after allocating space, to actually fetch the list.*/
- /*
- * PMTemplateGetSInt32ListConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetSInt32ListConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- int * listSize,
- SInt32 * sint32List);
-
-
- /*
- * PMTemplateGetDoubleListConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetDoubleListConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- int * listSize,
- double * doubleList);
-
-
- /*
- * PMTemplateGetPMRectListConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetPMRectListConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- int * listSize,
- PMRect * rectList);
-
-
- /* The Ticket APIs support a "List Ticket" that can hold numerous other tickets, so there is */
- /* no need to allocate space for an array in this case. */
- /* Always returns length and list at one time. */
- /*
- * PMTemplateGetListTicketConstraintValue()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateGetListTicketConstraintValue(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- PMTicketRef * listTicket);
-
-
- /* Remove an entry from our template. */
- /*
- * PMTemplateRemoveEntry()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateRemoveEntry(
- PMTemplateRef pmTemplate,
- CFStringRef key);
-
-
-
- /* Validate a ticket item - passing in the key and the item data. */
- /*
- * PMTemplateValidateItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateValidateItem(
- PMTemplateRef pmTemplate,
- CFStringRef key,
- CFTypeRef item,
- Boolean * validationResults);
-
-
-
- /* Move a set of template entries from one template to another. Any entry in the destination */
- /* template will be overwritten by an entry with the same key in the source template */
- /*
- * PMTemplateMergeTemplates()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTemplateMergeTemplates(
- PMTemplateRef sourceTemplate,
- PMTemplateRef destTemplate);
-
-
- /* NOTES:
-
- A few comments about some special template entry types:
-
- Rectangles - We assume a PMRect is four doubles. To verify a Rectangle, we allow the caller to
- define a list of rectangles, of which one must match exactly, or, planned for the future, a
- range constraint that defines the min and max for horizontal and vertical, as well as the
- maximum width and height. For now, only a list of rectangles can be used to validate a rect.
-
- Tickets - To facilitate validating a PaperInfo ticket, we provide a mechanism to construct a
- list constraint for a ticket. A given ticket may then be validated by checking each key/value
- pair to confirm that it holds exactly the same value as a ticket in the list. There won't be
- any range checking for values within the ticket being validated, only a comparison with the
- fixed values in the ticket list.
-
- For other tickets, such as Print Settings, or Page Format, we call the validate functions to
- confirm that each entry complies with the proper constraint in the template. This allows
- for range constraints to be built for some entries, and list constraints for other entries.
- */
+/* The PMTemplateRef is defined in PMTicket.h to avoid circular references */
+
+/* Functions to create or delete a template */
+/*
+ * PMTemplateCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateCreate(PMTemplateRef * newTemplate);
+
+
+/*
+ * PMTemplateDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateDelete(PMTemplateRef * oldTemplate);
+
+
+
+/* Functions to send to and from XML. Also a function to tell us if the template is locked and */
+/* can't be modified. */
+/*
+ * PMTemplateCreateXML()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateCreateXML(
+ PMTemplateRef srcTemplate,
+ CFDataRef * xmlData);
+
+
+/*
+ * PMTemplateLoadFromXML()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateLoadFromXML(
+ CFDataRef srcData,
+ PMTemplateRef * destTemplate);
+
+
+/*
+ * PMTemplateIsLocked()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateIsLocked(
+ PMTemplateRef srcTemplate,
+ Boolean * locked);
+
+
+
+/* Functions to add entries in a template. Each entry describes a value type and constraint */
+/* type as well as default and constraint values for a specific key. This key must match the */
+/* key we wish to validate in a PMTicket. */
+/*
+ * PMTemplateMakeFullEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateMakeFullEntry(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMValueType valueType,
+ PMConstraintType constraintType,
+ CFTypeRef defaultValue,
+ CFTypeRef constraintValue);
+
+
+/* This function allows a caller to create the template entry in a series of calls, first to */
+/* establish what type of entry it is and then later to set default and constraint values. This */
+/* is especially useful for direct (non-cf) access to create template entries. There are various */
+/* specialized functions for adding the default and cosntraint values with standard "C" types. */
+/*
+ * PMTemplateMakeEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateMakeEntry(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMValueType valueType,
+ PMConstraintType constraintType);
+
+
+
+/* The following functions update an already created entry. */
+/*
+ * PMTemplateSetCFDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetCFDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFTypeRef defaultValue);
+
+
+/*
+ * PMTemplateSetSInt32DefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetSInt32DefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ SInt32 defaultValue);
+
+
+/*
+ * PMTemplateSetSInt32RangeDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetSInt32RangeDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ SInt32 min,
+ SInt32 max);
+
+
+/*
+ * PMTemplateSetBooleanDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetBooleanDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ Boolean defaultValue);
+
+
+/*
+ * PMTemplateSetDoubleDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetDoubleDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ double defaultValue);
+
+
+/*
+ * PMTemplateSetDoubleRangeDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetDoubleRangeDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ double min,
+ double max);
+
+
+/*
+ * PMTemplateSetCFDataDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetCFDataDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFDataRef defaultValue);
+
+
+/*
+ * PMTemplateSetPMRectDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetPMRectDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMRect * defaultValue);
+
+
+/*
+ * PMTemplateSetPMTicketDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetPMTicketDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMTicketRef defaultValue);
+
+
+/* Functions to allow various constraints to be set up. */
+/*
+ * PMTemplateSetCFArrayConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetCFArrayConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFArrayRef constraintValue);
+
+
+/*
+ * PMTemplateSetCFRangeConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetCFRangeConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFTypeRef min,
+ CFTypeRef max);
+
+
+/*
+ * PMTemplateSetSInt32RangeConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetSInt32RangeConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ SInt32 min,
+ SInt32 max);
+
+
+/* Note - if the default value is a range, then the constraint should be a pair */
+/* of ranges. */
+/*
+ * PMTemplateSetSInt32RangesConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetSInt32RangesConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ SInt32 minForMin,
+ SInt32 maxForMin,
+ SInt32 minForMax,
+ SInt32 maxForMax);
+
+
+/*
+ * PMTemplateSetDoubleRangeConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetDoubleRangeConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ double min,
+ double max);
+
+
+/*
+ * PMTemplateSetDoubleRangesConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetDoubleRangesConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ double minForMin,
+ double maxForMin,
+ double minForMax,
+ double maxForMax);
+
+
+
+/* A List constraint could be a simple list of SInt32s. */
+/*
+ * PMTemplateSetSInt32ListConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetSInt32ListConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ int listSize,
+ SInt32 * sint32List);
+
+
+/* Or a list of doubles. */
+/*
+ * PMTemplateSetDoubleListConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetDoubleListConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ int listSize,
+ double * doubleList);
+
+
+/* A list of rectangles. */
+/*
+ * PMTemplateSetPMRectListConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetPMRectListConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ int listSize,
+ PMRect * rectList);
+
+
+/* Or a ticket list. */
+/*
+ * PMTemplateSetPMTicketListConstraint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateSetPMTicketListConstraint(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMTicketRef listTicket);
+
+
+
+/* Boolean constraints don't need to be set - the constraint type is enough. */
+/* Accessors for reaching specific template entry info based on the key passed in. */
+/*
+ * PMTemplateGetValueType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetValueType(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMValueType * valueType);
+
+
+/*
+ * PMTemplateGetConstraintType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetConstraintType(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMConstraintType * constraintType);
+
+
+/* Fetch the various types of default values. */
+/*
+ * PMTemplateGetCFDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetCFDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFTypeRef * defaultValue);
+
+
+/*
+ * PMTemplateGetSInt32DefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetSInt32DefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ SInt32 * defaultValue);
+
+
+/*
+ * PMTemplateGetSInt32RangeDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetSInt32RangeDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ SInt32 * min,
+ SInt32 * max);
+
+
+/*
+ * PMTemplateGetBooleanDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetBooleanDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ Boolean * defaultValue);
+
+
+/*
+ * PMTemplateGetDoubleDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetDoubleDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ double * defaultValue);
+
+
+/*
+ * PMTemplateGetDoubleRangeDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetDoubleRangeDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ double * min,
+ double * max);
+
+
+/*
+ * PMTemplateGetCFDataDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetCFDataDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFDataRef * defaultValue);
+
+
+/*
+ * PMTemplateGetPMRectDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetPMRectDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMRect * defaultValue);
+
+
+/*
+ * PMTemplateGetPMTicketDefaultValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetPMTicketDefaultValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMTicketRef * defaultValue);
+
+
+/* Fetch the various flavors of constraint values. */
+/*
+ * PMTemplateGetCFArrayConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetCFArrayConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFArrayRef * constraintValue);
+
+
+/*
+ * PMTemplateGetCFRangeConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetCFRangeConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFTypeRef * min,
+ CFTypeRef * max);
+
+
+/*
+ * PMTemplateGetSInt32RangeConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetSInt32RangeConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ SInt32 * min,
+ SInt32 * max);
+
+
+/*
+ * PMTemplateGetSInt32RangesConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetSInt32RangesConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ SInt32 * minForMin,
+ SInt32 * maxForMin,
+ SInt32 * minForMax,
+ SInt32 * maxForMax);
+
+
+/*
+ * PMTemplateGetDoubleRangeConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetDoubleRangeConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ double * min,
+ double * max);
+
+
+/*
+ * PMTemplateGetDoubleRangesConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetDoubleRangesConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ double * minForMin,
+ double * maxForMin,
+ double * minForMax,
+ double * maxForMax);
+
+
+/* The following functions need to be called twice, first to determine the length of */
+/* the list and a second time, after allocating space, to actually fetch the list.*/
+/*
+ * PMTemplateGetSInt32ListConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetSInt32ListConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ int * listSize,
+ SInt32 * sint32List);
+
+
+/*
+ * PMTemplateGetDoubleListConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetDoubleListConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ int * listSize,
+ double * doubleList);
+
+
+/*
+ * PMTemplateGetPMRectListConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetPMRectListConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ int * listSize,
+ PMRect * rectList);
+
+
+/* The Ticket APIs support a "List Ticket" that can hold numerous other tickets, so there is */
+/* no need to allocate space for an array in this case. */
+/* Always returns length and list at one time. */
+/*
+ * PMTemplateGetListTicketConstraintValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateGetListTicketConstraintValue(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ PMTicketRef * listTicket);
+
+
+/* Remove an entry from our template. */
+/*
+ * PMTemplateRemoveEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateRemoveEntry(
+ PMTemplateRef pmTemplate,
+ CFStringRef key);
+
+
+
+/* Validate a ticket item - passing in the key and the item data. */
+/*
+ * PMTemplateValidateItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateValidateItem(
+ PMTemplateRef pmTemplate,
+ CFStringRef key,
+ CFTypeRef item,
+ Boolean * validationResults);
+
+
+
+/* Move a set of template entries from one template to another. Any entry in the destination */
+/* template will be overwritten by an entry with the same key in the source template */
+/*
+ * PMTemplateMergeTemplates()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTemplateMergeTemplates(
+ PMTemplateRef sourceTemplate,
+ PMTemplateRef destTemplate);
+
+
+/* NOTES:
+
+ A few comments about some special template entry types:
+
+ Rectangles - We assume a PMRect is four doubles. To verify a Rectangle, we allow the caller to
+ define a list of rectangles, of which one must match exactly, or, planned for the future, a
+ range constraint that defines the min and max for horizontal and vertical, as well as the
+ maximum width and height. For now, only a list of rectangles can be used to validate a rect.
+
+ Tickets - To facilitate validating a PaperInfo ticket, we provide a mechanism to construct a
+ list constraint for a ticket. A given ticket may then be validated by checking each key/value
+ pair to confirm that it holds exactly the same value as a ticket in the list. There won't be
+ any range checking for values within the ticket being validated, only a comparison with the
+ fixed values in the ticket list.
+
+ For other tickets, such as Print Settings, or Page Format, we call the validate functions to
+ confirm that each entry complies with the proper constraint in the template. This allows
+ for range constraints to be built for some entries, and list constraints for other entries.
+*/
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/PMTicket.h b/include/qt/PMTicket.h
index ca50dd56f..35e4ba5e4 100644
--- a/include/qt/PMTicket.h
+++ b/include/qt/PMTicket.h
@@ -1,17 +1,17 @@
/*
File: PMTicket.h
-
+
Contains: Mac OS X Printing Manager Job Ticket Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __MACTYPES__
#include "MacTypes.h"
@@ -53,51 +53,49 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* SECTION I: DATA TYPES, STUCTURES, and CONSTANTS */
- /* General opaque Ticket object reference. This is returned when you create a PageFormat, */
- /* PrintSettings, DocumentInfo, JobInfo, or JobTicket. A list of Job Tickets or other */
- /* tickets can be saved as a list of references. */
- typedef struct OpaquePMTicketRef* PMTicketRef;
- typedef struct OpaquePMTemplateRef* PMTemplateRef;
- /* A few constants that will be useful in calling Job Ticket functions. */
- enum
- {
- kPMUnlocked = false,
- kPMLocked = true
- };
+/* SECTION I: DATA TYPES, STUCTURES, and CONSTANTS */
+/* General opaque Ticket object reference. This is returned when you create a PageFormat, */
+/* PrintSettings, DocumentInfo, JobInfo, or JobTicket. A list of Job Tickets or other */
+/* tickets can be saved as a list of references. */
+typedef struct OpaquePMTicketRef* PMTicketRef;
+typedef struct OpaquePMTemplateRef* PMTemplateRef;
+/* A few constants that will be useful in calling Job Ticket functions. */
+enum {
+ kPMUnlocked = false,
+ kPMLocked = true
+};
#define kPMDontFetchItem NULL /* Used to ask GetItem if an item exists. */
- /* The following constant determines if the ticket code sets an item in the top level ticket */
- /* or down in some sub-ticket within the top level ticket. If passed as the document number, */
- /* the ticket code will simply set the item in the ticket passed. If the document number is */
- /* non "kTopLevel" but the page number is "kTopLevel", the ticket code will set the item in the */
- /* document level sub-ticket. If both parameters are non "kTopLevel", the ticket code will set */
- /* the item in the correct sub ticket for the document and page. */
- /* For now, all calls should use kPMTopLevel for document and page numbers, or the passed in */
- /* docment and page numbers if they are available. In the future we expect to enable embedded */
- /* document and page tickets. */
- enum
- {
- kPMTopLevel = 0
- };
-
- /* There are several different types of tickets that use the same accessor functions and */
- /* allow the programmer to use different keys to access the proper fields in each ticket. */
- /* A Job Ticket has the following structure: */
- /* Job Ticket */
- /* Job Ticket Fields */
- /* Page Format Ticket (required) */
- /* Paper Info Ticket (required) */
- /* Print Settings Ticket (required) */
- /* Paper Info Ticket (required) */
- /* DOWNSTREAM TICKETS - Heading from PC or PJC to other modules. */
+/* The following constant determines if the ticket code sets an item in the top level ticket */
+/* or down in some sub-ticket within the top level ticket. If passed as the document number, */
+/* the ticket code will simply set the item in the ticket passed. If the document number is */
+/* non "kTopLevel" but the page number is "kTopLevel", the ticket code will set the item in the */
+/* document level sub-ticket. If both parameters are non "kTopLevel", the ticket code will set */
+/* the item in the correct sub ticket for the document and page. */
+/* For now, all calls should use kPMTopLevel for document and page numbers, or the passed in */
+/* docment and page numbers if they are available. In the future we expect to enable embedded */
+/* document and page tickets. */
+enum {
+ kPMTopLevel = 0
+};
+
+/* There are several different types of tickets that use the same accessor functions and */
+/* allow the programmer to use different keys to access the proper fields in each ticket. */
+/* A Job Ticket has the following structure: */
+/* Job Ticket */
+/* Job Ticket Fields */
+/* Page Format Ticket (required) */
+/* Paper Info Ticket (required) */
+/* Print Settings Ticket (required) */
+/* Paper Info Ticket (required) */
+/* DOWNSTREAM TICKETS - Heading from PC or PJC to other modules. */
#define kPMJobTicket CFSTR("com.apple.print.JobTicket")
#define kPMDocumentTicket CFSTR("com.apple.print.DocumentTicket")
#define kPMPageTicket CFSTR("com.apple.print.PageTicket")
@@ -105,1979 +103,1966 @@ extern "C" {
#define kPMPrintSettingsTicket CFSTR("com.apple.print.PrintSettingsTicket")
#define kPMDestinationTicket CFSTR("com.apple.print.DestinationTicket")
#define kPMConverterSetupTicket CFSTR("com.apple.print.ConverterSetupTicket")
- /* UPSTREAM TICKETS - Expected to be created by low level modules and passed up. */
+/* UPSTREAM TICKETS - Expected to be created by low level modules and passed up. */
#define kPMPrinterInfoTicket CFSTR("com.apple.print.PrinterInfoTicket")
#define kPMModuleInfoTicket CFSTR("com.apple.print.ModuleInfoTicket")
- /* OTHER TICKETS, going either direction */
+/* OTHER TICKETS, going either direction */
#define kPMTicketList CFSTR("com.apple.print.TicketList")
#define kPMPaperInfoTicket CFSTR("com.apple.print.PaperInfoTicket")
- /* An enum to keep track in a programmatic way of which type of ticket we're working */
- /* with. These do not need to match up with the order of tickets listed in the ticket */
- /* types in PMTicket.h because we convert from string to enum in an internal function. */
- /* Warning: Don't use these tags when creating tickets. Use the CFSTRs above. */
- typedef SInt16 PMTicketType;
- enum
- {
- kPMTicketTypeUnknown = -1,
- kPMJobTicketType = 1,
- kPMDocumentTicketType = 2,
- kPMPageTicketType = 3,
- kPMPageFormatTicketType = 4,
- kPMPrintSettingsTicketType = 5,
- kPMPrinterInfoTicketType = 6,
- kPMDestinationTicketType = 7,
- kPMConverterSetupTicketType = 8,
- kPMModuleInfoTicketType = 9,
- kPMTicketListType = 10,
- kPMPaperInfoTicketType = 11
- };
-
-
- /*
- * PMPrintingPhaseType
- *
- * Discussion:
- * An enum to demark where in the printing process we are. This
- * value will be stored in the print settings ticket at the top
- * level in the Job Ticket. It will be used to signal shift from one
- * phase to the next and may be set by just about any part of the
- * system. Users will want to check for ">" (greater than) or "<"
- * (less than) conditions when possible, allowing for additional
- * phases to be defined later on.
- */
- typedef UInt16 PMPrintingPhaseType;
- enum
- {
- kPMPhaseUnknown = 0, /* Not clear what phase we're in yet. */
- kPMPhasePreDialog = 1, /* Just before we execute the code to open the dialog. */
- kPMPhaseDialogsUp = 2, /* One of the dialogs is in front of the user. */
- kPMPhasePostDialogs = 3, /* Dialogs are down, not yet spooling. */
- kPMPhasePreAppDrawing = 4, /* Just before we begin to spool */
- kPMPhaseAppDrawing = 5, /* We're spooling drawing commands from the app. */
- kPMPhasePostAppDrawing = 6, /* Finished with spooling, not yet rendering or converting. */
- kPMPhasePreConversion = 7, /* Just before we begin to convert to PS, Raster, or other final format. */
- kPMPhaseConverting = 8, /* Converting from Spool file to final printer format. */
- kPMPhasePostConversion = 9, /* Done with printer ready data, waiting for completion. */
- kPMPhasePrinting = 10 /* In the process of waiting for the printer. */
- };
-
- typedef SInt16 PMTicketErrors;
- /* BATCH PROCESSING ENUMS AND STRUCTURES */
- /* - Look in this section for help creating statically defined tickets. */
- /* We have the ability to create a Ticket from an array of key/item pairs that define */
- /* the keys and items for the entries in the ticket. To facilitate easy conversion of */
- /* these key/item pairs, we've defined a few constants to help in the batch processing of */
- /* these arrays. These are basically key types that are allowed for batch processing. */
- typedef UInt16 PMTicketItemType;
- enum
- {
- kPMItemInvalidType = 0,
- kPMItemCStringType = 1, /* a C string pointed to by a char* */
- kPMItemSInt32Type = 2, /* a C signed 32 bit integer. */
- kPMItemBooleanType = 3, /* A Boolean */
- kPMItemCStrListType = 4, /* A list of c-strings. */
- kPMItemPMRectType = 5, /* A pointer to a PMRect */
- kPMItemSInt32ListType = 6, /* A pointer to a SInt32List */
- kPMItemPMRectListType = 7 /* A pointer to a PMRectList */
- };
-
-
- /* A structure that holds a list of CString pointers, along with a definition for a constant list. */
- struct CStrList
- {
- SInt32 count; /* Number of CString pointers in the array. */
- const char ** strArray; /* Pointer to first CString pointer. */
- };
- typedef struct CStrList CStrList;
- typedef const CStrList ConstCStrList;
- /* A structure to hold a list of Signed 32 bit integers. */
- struct SInt32List
- {
- SInt32 count; /* Number of Signed 32 bit values in array. */
- const SInt32 * sInt32Array; /* Pointer to the first 32 bit value in array. */
- };
- typedef struct SInt32List SInt32List;
- typedef const SInt32List ConstSInt32List;
- /* A structure to hold a list of PMRect structures. PMRect is defined in PMDefinitions.h */
- /* and is basically a set of four doubles (top, left, bottom, and right). */
- struct PMRectList
- {
- SInt32 count; /* Number of PMRect pointers in the array. */
- const PMRect ** pmRectArray; /* Pointer to the first PMRect pointer. */
- };
- typedef struct PMRectList PMRectList;
- typedef const PMRectList ConstPMRectList;
- /* CF types can't be statically initialized, but CString and Pascal strings can be. */
- /* We have created utilities to convert from static C and Pascal based data into CF types. */
- /* The structure below will serve as a statically defined "Ticket Item" that can then be */
- /* converted into a job ticket item. An array of these structures would be made into a ticket. */
- struct PMTicketItemStruct
- {
- char * key; /* The CString for the key. */
- PMTicketItemType itemType; /* What type of item is being defined in union below. */
- Boolean locked; /* Can other callers change this after it's entered in a ticket? */
- union /* The item data itself. */
- {
- const void * GenericData; /* Generic data */
- const char * cString; /* kPMItemCStringType */
- SInt32 sInt32; /* kPMItemSInt32Type */
- UInt32 boolean; /* kPMItemBooleanType */
- ConstCStrList * cStrlist; /* kPMItemCStrListType */
- PMRect * rect; /* kPMItemPMRectType */
- ConstSInt32List * sInt32List; /* kPMItemSInt32ListType */
- ConstPMRectList * pmRectList; /* kPMItemPMRectListType */
- } value;
- };
- typedef struct PMTicketItemStruct PMTicketItemStruct;
- /* END OF BATCH PROCESSING ENUMS AND STRUCTURES */
- /* ENUMS for Ticket Values */
- /* The values for kPMDuplexingKey */
- enum
- {
- kPMDuplexNone = 1,
- kPMDuplexNoTumble = 2, /* Print on both sides of the paper, pages flip from left to right.*/
- kPMDuplexTumble = 3, /* Print on both sides of the paper, tumbling on so pages flip top to bottom.*/
- kPMSimplexTumble = 4, /* Print on only one side of the paper, but tumble the images while printing.*/
- kPMDuplexDefault = kPMDuplexNone /* If the kPMDuplexingKey is not in a ticket then kPMDuplexDefault should be assumed.*/
- };
-
-
- /* Values for the kPMPSErrorHandlerKey */
- enum
- {
- kPSNoErrorHandler = 0,
- kPSErrorHandler = 1
- };
-
- /* If the kPMCopyCollateKey is not present, then kPMCopyCollateDefault should be assumed. */
- enum
- {
- kPMCopyCollateDefault = true
- };
-
-
-
- /* END OF SECTION I: DATA TYPES, STUCTURES, and CONSTANTS */
-
- /* SECTION II: TICKET KEYS */
- /* - Look in this section for particular predefined keys for various tickets. */
- /* Each key is defined to store it's data as a particular CF type, but there are some */
- /* utilities defined to fetch data in different formats. For instance, it would be simple */
- /* to read in the Job Name as a CFString, or as a 'C' string. */
- /* Ticket: PAPER INFO TICKET
- This ticket contains a single Paper Info set, with all the information necessary to
- describe a paper type available from the Printer Module.
- */
+/* An enum to keep track in a programmatic way of which type of ticket we're working */
+/* with. These do not need to match up with the order of tickets listed in the ticket */
+/* types in PMTicket.h because we convert from string to enum in an internal function. */
+/* Warning: Don't use these tags when creating tickets. Use the CFSTRs above. */
+typedef SInt16 PMTicketType;
+enum {
+ kPMTicketTypeUnknown = -1,
+ kPMJobTicketType = 1,
+ kPMDocumentTicketType = 2,
+ kPMPageTicketType = 3,
+ kPMPageFormatTicketType = 4,
+ kPMPrintSettingsTicketType = 5,
+ kPMPrinterInfoTicketType = 6,
+ kPMDestinationTicketType = 7,
+ kPMConverterSetupTicketType = 8,
+ kPMModuleInfoTicketType = 9,
+ kPMTicketListType = 10,
+ kPMPaperInfoTicketType = 11
+};
+
+
+/*
+ * PMPrintingPhaseType
+ *
+ * Discussion:
+ * An enum to demark where in the printing process we are. This
+ * value will be stored in the print settings ticket at the top
+ * level in the Job Ticket. It will be used to signal shift from one
+ * phase to the next and may be set by just about any part of the
+ * system. Users will want to check for ">" (greater than) or "<"
+ * (less than) conditions when possible, allowing for additional
+ * phases to be defined later on.
+ */
+typedef UInt16 PMPrintingPhaseType;
+enum {
+ kPMPhaseUnknown = 0, /* Not clear what phase we're in yet. */
+ kPMPhasePreDialog = 1, /* Just before we execute the code to open the dialog. */
+ kPMPhaseDialogsUp = 2, /* One of the dialogs is in front of the user. */
+ kPMPhasePostDialogs = 3, /* Dialogs are down, not yet spooling. */
+ kPMPhasePreAppDrawing = 4, /* Just before we begin to spool */
+ kPMPhaseAppDrawing = 5, /* We're spooling drawing commands from the app. */
+ kPMPhasePostAppDrawing = 6, /* Finished with spooling, not yet rendering or converting. */
+ kPMPhasePreConversion = 7, /* Just before we begin to convert to PS, Raster, or other final format. */
+ kPMPhaseConverting = 8, /* Converting from Spool file to final printer format. */
+ kPMPhasePostConversion = 9, /* Done with printer ready data, waiting for completion. */
+ kPMPhasePrinting = 10 /* In the process of waiting for the printer. */
+};
+
+typedef SInt16 PMTicketErrors;
+/* BATCH PROCESSING ENUMS AND STRUCTURES */
+/* - Look in this section for help creating statically defined tickets. */
+/* We have the ability to create a Ticket from an array of key/item pairs that define */
+/* the keys and items for the entries in the ticket. To facilitate easy conversion of */
+/* these key/item pairs, we've defined a few constants to help in the batch processing of */
+/* these arrays. These are basically key types that are allowed for batch processing. */
+typedef UInt16 PMTicketItemType;
+enum {
+ kPMItemInvalidType = 0,
+ kPMItemCStringType = 1, /* a C string pointed to by a char* */
+ kPMItemSInt32Type = 2, /* a C signed 32 bit integer. */
+ kPMItemBooleanType = 3, /* A Boolean */
+ kPMItemCStrListType = 4, /* A list of c-strings. */
+ kPMItemPMRectType = 5, /* A pointer to a PMRect */
+ kPMItemSInt32ListType = 6, /* A pointer to a SInt32List */
+ kPMItemPMRectListType = 7 /* A pointer to a PMRectList */
+};
+
+
+/* A structure that holds a list of CString pointers, along with a definition for a constant list. */
+struct CStrList {
+ SInt32 count; /* Number of CString pointers in the array. */
+ const char ** strArray; /* Pointer to first CString pointer. */
+};
+typedef struct CStrList CStrList;
+typedef const CStrList ConstCStrList;
+/* A structure to hold a list of Signed 32 bit integers. */
+struct SInt32List {
+ SInt32 count; /* Number of Signed 32 bit values in array. */
+ const SInt32 * sInt32Array; /* Pointer to the first 32 bit value in array. */
+};
+typedef struct SInt32List SInt32List;
+typedef const SInt32List ConstSInt32List;
+/* A structure to hold a list of PMRect structures. PMRect is defined in PMDefinitions.h */
+/* and is basically a set of four doubles (top, left, bottom, and right). */
+struct PMRectList {
+ SInt32 count; /* Number of PMRect pointers in the array. */
+ const PMRect ** pmRectArray; /* Pointer to the first PMRect pointer. */
+};
+typedef struct PMRectList PMRectList;
+typedef const PMRectList ConstPMRectList;
+/* CF types can't be statically initialized, but CString and Pascal strings can be. */
+/* We have created utilities to convert from static C and Pascal based data into CF types. */
+/* The structure below will serve as a statically defined "Ticket Item" that can then be */
+/* converted into a job ticket item. An array of these structures would be made into a ticket. */
+struct PMTicketItemStruct {
+ char * key; /* The CString for the key. */
+ PMTicketItemType itemType; /* What type of item is being defined in union below. */
+ Boolean locked; /* Can other callers change this after it's entered in a ticket? */
+ union { /* The item data itself. */
+ const void * GenericData; /* Generic data */
+ const char * cString; /* kPMItemCStringType */
+ SInt32 sInt32; /* kPMItemSInt32Type */
+ UInt32 boolean; /* kPMItemBooleanType */
+ ConstCStrList * cStrlist; /* kPMItemCStrListType */
+ PMRect * rect; /* kPMItemPMRectType */
+ ConstSInt32List * sInt32List; /* kPMItemSInt32ListType */
+ ConstPMRectList * pmRectList; /* kPMItemPMRectListType */
+ } value;
+};
+typedef struct PMTicketItemStruct PMTicketItemStruct;
+/* END OF BATCH PROCESSING ENUMS AND STRUCTURES */
+/* ENUMS for Ticket Values */
+/* The values for kPMDuplexingKey */
+enum {
+ kPMDuplexNone = 1,
+ kPMDuplexNoTumble = 2, /* Print on both sides of the paper, pages flip from left to right.*/
+ kPMDuplexTumble = 3, /* Print on both sides of the paper, tumbling on so pages flip top to bottom.*/
+ kPMSimplexTumble = 4, /* Print on only one side of the paper, but tumble the images while printing.*/
+ kPMDuplexDefault = kPMDuplexNone /* If the kPMDuplexingKey is not in a ticket then kPMDuplexDefault should be assumed.*/
+};
+
+
+/* Values for the kPMPSErrorHandlerKey */
+enum {
+ kPSNoErrorHandler = 0,
+ kPSErrorHandler = 1
+};
+
+/* If the kPMCopyCollateKey is not present, then kPMCopyCollateDefault should be assumed. */
+enum {
+ kPMCopyCollateDefault = true
+};
+
+
+
+/* END OF SECTION I: DATA TYPES, STUCTURES, and CONSTANTS */
+
+/* SECTION II: TICKET KEYS */
+/* - Look in this section for particular predefined keys for various tickets. */
+/* Each key is defined to store it's data as a particular CF type, but there are some */
+/* utilities defined to fetch data in different formats. For instance, it would be simple */
+/* to read in the Job Name as a CFString, or as a 'C' string. */
+/* Ticket: PAPER INFO TICKET
+ This ticket contains a single Paper Info set, with all the information necessary to
+ describe a paper type available from the Printer Module.
+*/
#define kPMPaperInfoPrelude "com.apple.print.PaperInfo."
- /* CFString for the name of the paper displayed in UI */
+/* CFString for the name of the paper displayed in UI */
#define kPMPaperNameStr "com.apple.print.PaperInfo.PMPaperName"
#define kPMPaperNameKey CFSTR("com.apple.print.PaperInfo.PMPaperName")
- /* CFArray of 4 CFNumbers of kCFNumberDoubleType for paper size in points. */
+/* CFArray of 4 CFNumbers of kCFNumberDoubleType for paper size in points. */
#define kPMUnadjustedPaperRectStr "com.apple.print.PaperInfo.PMUnadjustedPaperRect"
#define kPMUnadjustedPaperRectKey CFSTR("com.apple.print.PaperInfo.PMUnadjustedPaperRect")
- /* CFArray of 4 CFNumbers of kCFNumberDoubleType for page size within the paper, in points. */
+/* CFArray of 4 CFNumbers of kCFNumberDoubleType for page size within the paper, in points. */
#define kPMUnadjustedPageRectStr "com.apple.print.PaperInfo.PMUnadjustedPageRect"
#define kPMUnadjustedPageRectKey CFSTR("com.apple.print.PaperInfo.PMUnadjustedPageRect")
- /* CFBoolean tells if we need to find a closest match for this paper */
+/* CFBoolean tells if we need to find a closest match for this paper */
#define kPMMatchPaperStr "com.apple.print.PaperInfo.PMMatchPaper"
#define kPMMatchPaperKey CFSTR("com.apple.print.PaperInfo.PMMatchPaper")
- /* Ticket: PAGE FORMAT TICKET
- Describes the application's drawing environment, including resolution, scaling, and
- orientation. All information in the page format ticket is saved with the user's document,
- so the single paper info stored inside the page format ticket describes the logical page
- an application may draw to. This logical page is then mapped to a physical page defined
- in the Print Settings Ticket.
- */
+/* Ticket: PAGE FORMAT TICKET
+ Describes the application's drawing environment, including resolution, scaling, and
+ orientation. All information in the page format ticket is saved with the user's document,
+ so the single paper info stored inside the page format ticket describes the logical page
+ an application may draw to. This logical page is then mapped to a physical page defined
+ in the Print Settings Ticket.
+*/
#define kPMPageFormatPrelude "com.apple.print.PageFormat."
- /* CFArray of 4 CFNumbers of kCFNumberDoubleType for scaled and rotated page rectangle. */
+/* CFArray of 4 CFNumbers of kCFNumberDoubleType for scaled and rotated page rectangle. */
#define kPMAdjustedPaperRectStr "com.apple.print.PageFormat.PMAdjustedPaperRect"
#define kPMAdjustedPaperRectKey CFSTR("com.apple.print.PageFormat.PMAdjustedPaperRect")
- /* CFArray of 4 CFNumbers of kCFNumberDoubleType for scaled and rotated page rectangle, in points. */
+/* CFArray of 4 CFNumbers of kCFNumberDoubleType for scaled and rotated page rectangle, in points. */
#define kPMAdjustedPageRectStr "com.apple.print.PageFormat.PMAdjustedPageRect"
#define kPMAdjustedPageRectKey CFSTR("com.apple.print.PageFormat.PMAdjustedPageRect")
- /* CFNumber - kCFNumberDoubleType, Drawing resolution in horizontal direction. */
+/* CFNumber - kCFNumberDoubleType, Drawing resolution in horizontal direction. */
#define kPMDrawingResHorizontalStr "com.apple.print.PageFormat.PMHorizontalRes"
#define kPMDrawingResHorizontalKey CFSTR("com.apple.print.PageFormat.PMHorizontalRes")
- /* CFNumber - kCFNumberDoubleType, Drawing resolution in vertical direction. */
+/* CFNumber - kCFNumberDoubleType, Drawing resolution in vertical direction. */
#define kPMDrawingResVerticalStr "com.apple.print.PageFormat.PMVerticalRes"
#define kPMDrawingResVerticalKey CFSTR("com.apple.print.PageFormat.PMVerticalRes")
- /* CFNumber - kCFNumberDoubleType, Horizontal scaling factor applied to original page size - 1 = 100% */
+/* CFNumber - kCFNumberDoubleType, Horizontal scaling factor applied to original page size - 1 = 100% */
#define kPMPageScalingHorizontalStr "com.apple.print.PageFormat.PMScaling"
#define kPMPageScalingHorizontalKey CFSTR("com.apple.print.PageFormat.PMScaling")
- /* CFNumber - kCFNumberDoubleType, Vertical scaling factor applied to original page size - 1 = 100%. */
+/* CFNumber - kCFNumberDoubleType, Vertical scaling factor applied to original page size - 1 = 100%. */
#define kPMPageScalingVerticalStr "com.apple.print.PageFormat.PMVerticalScaling"
#define kPMPageScalingVerticalKey CFSTR("com.apple.print.PageFormat.PMVerticalScaling")
- /* CFNumber - kCFNumberSInt32Type, PMOrientation, 1 = portrait, 2 = landscape, 3 = reverse landscape, 4 = reverse portrait. */
+/* CFNumber - kCFNumberSInt32Type, PMOrientation, 1 = portrait, 2 = landscape, 3 = reverse landscape, 4 = reverse portrait. */
#define kPMPageOrientationStr "com.apple.print.PageFormat.PMOrientation"
#define kPMPageOrientationKey CFSTR("com.apple.print.PageFormat.PMOrientation")
- /* CFData - Print record handle, allowing easy access during most calls. Not used when flattened. (OS8 Only) */
+/* CFData - Print record handle, allowing easy access during most calls. Not used when flattened. (OS8 Only) */
#define kPMPageBackupRecordHdlStr "com.apple.print.PageFormat.BackupPrintRecordHandle"
#define kPMPageBackupRecordHdlKey CFSTR("com.apple.print.PageFormat.BackupPrintRecordHandle")
- /* CFData - Print record stored in complete form - used when flattening Ticket w/ record. (OS8 only) */
+/* CFData - Print record stored in complete form - used when flattening Ticket w/ record. (OS8 only) */
#define kPMPageBackupRecordDataStr "com.apple.print.PageFormat.BackupPrintRecord"
#define kPMPageBackupRecordDataKey CFSTR("com.apple.print.PageFormat.BackupPrintRecord")
- /* CFData - Handle to the print record using for custom dialog calls. Not stored when flattened. (OS8 Only) */
+/* CFData - Handle to the print record using for custom dialog calls. Not stored when flattened. (OS8 Only) */
#define kPMPageCustomDialogHdlStr "com.apple.print.PageFormat.CustomDialogRecord"
#define kPMPageCustomDialogHdlKey CFSTR("com.apple.print.PageFormat.CustomDialogRecord")
- /* CFString - name of the formating printer */
+/* CFString - name of the formating printer */
#define kPMFormattingPrinterStr "com.apple.print.PageFormat.FormattingPrinter"
#define kPMFormattingPrinterKey CFSTR("com.apple.print.PageFormat.FormattingPrinter")
- /* Ticket: PRINT SETTINGS TICKET
- Contains the user's print dialog selections. Includes items set by the application to
- further refine the output produced on the printer. Information in this ticket may also
- be saved with the decument, but are likely to be overwritten by any saved settings.
- Logical page information is mapped to the physical page defined in this ticket.
- */
+/* Ticket: PRINT SETTINGS TICKET
+ Contains the user's print dialog selections. Includes items set by the application to
+ further refine the output produced on the printer. Information in this ticket may also
+ be saved with the decument, but are likely to be overwritten by any saved settings.
+ Logical page information is mapped to the physical page defined in this ticket.
+*/
#define kPMPrintSettingsPrelude "com.apple.print.PrintSettings."
- /* CFNumber, kCFNumberSInt32Type kPMDestinationPrinter kPMDestinationFile kPMDestinationFax. */
+/* CFNumber, kCFNumberSInt32Type kPMDestinationPrinter kPMDestinationFile kPMDestinationFax. */
#define kPMDestinationTypeStr "com.apple.print.PrintSettings.PMDestinationType"
#define kPMDestinationTypeKey CFSTR("com.apple.print.PrintSettings.PMDestinationType")
- /* CFString - URL for the output filename. */
+/* CFString - URL for the output filename. */
#define kPMOutputFilenameStr "com.apple.print.PrintSettings.PMOutputFilename"
#define kPMOutputFilenameKey CFSTR("com.apple.print.PrintSettings.PMOutputFilename")
- /* CFNumber, kCFNumberSInt32Type, number of copies to print. */
+/* CFNumber, kCFNumberSInt32Type, number of copies to print. */
#define kPMCopiesStr "com.apple.print.PrintSettings.PMCopies"
#define kPMCopiesKey CFSTR("com.apple.print.PrintSettings.PMCopies")
- /* CFBoolean, Turns on collating */
+/* CFBoolean, Turns on collating */
#define kPMCopyCollateStr "com.apple.print.PrintSettings.PMCopyCollate"
#define kPMCopyCollateKey CFSTR("com.apple.print.PrintSettings.PMCopyCollate")
- /* CFBoolean, If true, we print sheets back to front. All layout options are unaffected by reverse order. */
+/* CFBoolean, If true, we print sheets back to front. All layout options are unaffected by reverse order. */
#define kPMReverseOrderStr "com.apple.print.PrintSettings.PMReverseOrder"
#define kPMReverseOrderKey CFSTR("com.apple.print.PrintSettings.PMReverseOrder")
- /* CFArray of kCFNumberSInt32Type, each pair indicating valid range of pages that the application is able to print. Does not signify user choices. */
+/* CFArray of kCFNumberSInt32Type, each pair indicating valid range of pages that the application is able to print. Does not signify user choices. */
#define kPMPageRangeStr "com.apple.print.PrintSettings.PMPageRange"
#define kPMPageRangeKey CFSTR("com.apple.print.PrintSettings.PMPageRange")
- /* CFNumber - kCFNumberSInt32Type, first page selected by user to print. */
+/* CFNumber - kCFNumberSInt32Type, first page selected by user to print. */
#define kPMFirstPageStr "com.apple.print.PrintSettings.PMFirstPage"
#define kPMFirstPageKey CFSTR("com.apple.print.PrintSettings.PMFirstPage")
- /* CFNumber - kCFNumberSInt32Type, last page selected by user to print. */
+/* CFNumber - kCFNumberSInt32Type, last page selected by user to print. */
#define kPMLastPageStr "com.apple.print.PrintSettings.PMLastPage"
#define kPMLastPageKey CFSTR("com.apple.print.PrintSettings.PMLastPage")
- /* CFBoolean - If true, we do borders. */
+/* CFBoolean - If true, we do borders. */
#define kPMBorderStr "com.apple.print.PrintSettings.PMBorder"
#define kPMBorderKey CFSTR("com.apple.print.PrintSettings.PMBorder")
- /* CFNumber - kCFNumberSInt32Type, Enum (PMBorderType) */
+/* CFNumber - kCFNumberSInt32Type, Enum (PMBorderType) */
#define kPMBorderTypeStr "com.apple.print.PrintSettings.PMBorderType"
#define kPMBorderTypeKey CFSTR("com.apple.print.PrintSettings.PMBorderType")
- /* CFBoolean, Turns on N-Up layout. */
+/* CFBoolean, Turns on N-Up layout. */
#define kPMLayoutNUpStr "com.apple.print.PrintSettings.PMLayoutNUp"
#define kPMLayoutNUpKey CFSTR("com.apple.print.PrintSettings.PMLayoutNUp")
- /* CFNumber - kCFNumberSInt32Type, indicates number of layout rows. */
+/* CFNumber - kCFNumberSInt32Type, indicates number of layout rows. */
#define kPMLayoutRowsStr "com.apple.print.PrintSettings.PMLayoutRows"
#define kPMLayoutRowsKey CFSTR("com.apple.print.PrintSettings.PMLayoutRows")
- /* CFNumber - kCFNumberSInt32Type, indicates number of layout columns. */
+/* CFNumber - kCFNumberSInt32Type, indicates number of layout columns. */
#define kPMLayoutColumnsStr "com.apple.print.PrintSettings.PMLayoutColumns"
#define kPMLayoutColumnsKey CFSTR("com.apple.print.PrintSettings.PMLayoutColumns")
- /* CFNumber - kCFNumberSInt32Type, Enum (PMLayoutDirection) */
+/* CFNumber - kCFNumberSInt32Type, Enum (PMLayoutDirection) */
#define kPMLayoutDirectionStr "com.apple.print.PrintSettings.PMLayoutDirection"
#define kPMLayoutDirectionKey CFSTR("com.apple.print.PrintSettings.PMLayoutDirection")
- /* CFNumber - kCFNumberSInt32Type, PMOrientation, 1 = portrait, 2 = landscape, etc. */
+/* CFNumber - kCFNumberSInt32Type, PMOrientation, 1 = portrait, 2 = landscape, etc. */
#define kPMLayoutTileOrientationStr "com.apple.print.PrintSettings.PMLayoutTileOrientation"
#define kPMLayoutTileOrientationKey CFSTR("com.apple.print.PrintSettings.PMLayoutTileOrientation")
- /* CFNumber - kCFNumberSInt32Type, Enum, draft, normal, best */
+/* CFNumber - kCFNumberSInt32Type, Enum, draft, normal, best */
#define kPMQualityStr "com.apple.print.PrintSettings.PMQuality"
#define kPMQualityKey CFSTR("com.apple.print.PrintSettings.PMQuality")
- /* CFNumber - kCFNumberSInt32Type, Enum, draft, normal, best */
+/* CFNumber - kCFNumberSInt32Type, Enum, draft, normal, best */
#define kPMPaperTypeStr "com.apple.print.PrintSettings.PMPaperType"
#define kPMPaperTypeKey CFSTR("com.apple.print.PrintSettings.PMPaperType")
- /* CFNumber - kCFNumberSInt32Type, Enum, active = 0, pending, hold until, hold indefinitely, aborted, finished */
+/* CFNumber - kCFNumberSInt32Type, Enum, active = 0, pending, hold until, hold indefinitely, aborted, finished */
#define kPMJobStateStr "com.apple.print.PrintSettings.PMJobState"
#define kPMJobStateKey CFSTR("com.apple.print.PrintSettings.PMJobState")
- /* CFDate - Time we expect to print the job. */
+/* CFDate - Time we expect to print the job. */
#define kPMJobHoldUntilTimeStr "com.apple.print.PrintSettings.PMJobHoldUntilTime"
#define kPMJobHoldUntilTimeKey CFSTR("com.apple.print.PrintSettings.PMJobHoldUntilTime")
- /* CFNumber - kCFNumberSInt32Type, Enum, Low = 0, normal, urgent */
+/* CFNumber - kCFNumberSInt32Type, Enum, Low = 0, normal, urgent */
#define kPMJobPriorityStr "com.apple.print.PrintSettings.PMJobPriority"
#define kPMJobPriorityKey CFSTR("com.apple.print.PrintSettings.PMJobPriority")
- /* CFNUmber - kCFNumberSInt32Type, Enum, paper sources. */
+/* CFNUmber - kCFNumberSInt32Type, Enum, paper sources. */
#define kPMPaperSourceStr "com.apple.print.PrintSettings.PMPaperSource"
#define kPMPaperSourceKey CFSTR("com.apple.print.PrintSettings.PMPaperSource")
- /* CFNumber - kCFNumberSInt32Type, Enum, kPMDuplexNone, kPMDuplexNoTumble, kPMDuplexTumble, kPMSimplexTumble */
+/* CFNumber - kCFNumberSInt32Type, Enum, kPMDuplexNone, kPMDuplexNoTumble, kPMDuplexTumble, kPMSimplexTumble */
#define kPMDuplexingStr "com.apple.print.PrintSettings.PMDuplexing"
#define kPMDuplexingKey CFSTR("com.apple.print.PrintSettings.PMDuplexing")
- /* CFNumber - kCFNumberSInt32Type, Enum, B/W, Grayscale, Color, HiFi Color. */
+/* CFNumber - kCFNumberSInt32Type, Enum, B/W, Grayscale, Color, HiFi Color. */
#define kPMColorModeStr "com.apple.print.PrintSettings.PMColorMode"
#define kPMColorModeKey CFSTR("com.apple.print.PrintSettings.PMColorMode")
- /* CFNumber - kCFNumberSInt32Type, ID of profile to use. */
+/* CFNumber - kCFNumberSInt32Type, ID of profile to use. */
#define kPMColorSyncProfileIDStr "com.apple.print.PrintSettings.PMColorSyncProfileID"
#define kPMColorSyncProfileIDKey CFSTR("com.apple.print.PrintSettings.PMColorSyncProfileID")
- /* CFString - path of system profile. */
+/* CFString - path of system profile. */
#define kPMColorSyncSystemProfilePathStr "com.apple.print.PrintSettings.PMColorSyncSystemProfilePath"
#define kPMColorSyncSystemProfilePathKey CFSTR("com.apple.print.PrintSettings.PMColorSyncSystemProfilePath")
- /* CFNumber - kCFNumberDoubleType, Horizontal scaling factor applied to original page size. */
+/* CFNumber - kCFNumberDoubleType, Horizontal scaling factor applied to original page size. */
#define kPMPrintScalingHorizontalStr "com.apple.print.PrintSettings.PMScaling"
#define kPMPrintScalingHorizontalKey CFSTR("com.apple.print.PrintSettings.PMScaling")
- /* CFNumber - kCFNumberDoubleType, Vertical scaling factor applied to original page size. */
+/* CFNumber - kCFNumberDoubleType, Vertical scaling factor applied to original page size. */
#define kPMPrintScalingVerticalStr "com.apple.print.PrintSettings.PMVerticalScaling"
#define kPMPrintScalingVerticalKey CFSTR("com.apple.print.PrintSettings.PMVerticalScaling")
- /* CFNumber - kCFNumberSInt32Type, Enum (PMScalingAlignment) */
+/* CFNumber - kCFNumberSInt32Type, Enum (PMScalingAlignment) */
#define kPMPrintScalingAlignmentStr "com.apple.print.PrintSettings.PMScalingAlignment"
#define kPMPrintScalingAlignmentKey CFSTR("com.apple.print.PrintSettings.PMScalingAlignment")
- /* CFNumber - kCFNumberSInt32Type, PMOrientation, 1 = portrait, 2 = landscape, etc. */
+/* CFNumber - kCFNumberSInt32Type, PMOrientation, 1 = portrait, 2 = landscape, etc. */
#define kPMPrintOrientationStr "com.apple.print.PrintSettings.PMOrientation"
#define kPMPrintOrientationKey CFSTR("com.apple.print.PrintSettings.PMOrientation")
- /* CFString - YES means the user clicked on the Preview button */
+/* CFString - YES means the user clicked on the Preview button */
#define kPMPreviewStr "com.apple.print.PrintSettings.PMPreview"
#define kPMPreviewKey CFSTR("com.apple.print.PrintSettings.PMPreview")
- /* CFData - Print record handle, allowing easy access during most calls. Not used when flattened. (OS8 Only) */
+/* CFData - Print record handle, allowing easy access during most calls. Not used when flattened. (OS8 Only) */
#define kPMPrintBackupRecordHdlStr "com.apple.print.PrintSettings.BackupPrintRecordHandle"
#define kPMPrintBackupRecordHdlKey CFSTR("com.apple.print.PrintSettings.BackupPrintRecordHandle")
- /* CFData - Print record stored in complete form - used when flattening Ticket w/ record. (OS8 only) */
+/* CFData - Print record stored in complete form - used when flattening Ticket w/ record. (OS8 only) */
#define kPMPrintBackupRecordDataStr "com.apple.print.PrintSettings.BackupPrintRecord"
#define kPMPrintBackupRecordDataKey CFSTR("com.apple.print.PrintSettings.BackupPrintRecord")
- /* CFData - Handle to the print record using for custom dialog calls. Not stored when flattened. (OS8 Only) */
+/* CFData - Handle to the print record using for custom dialog calls. Not stored when flattened. (OS8 Only) */
#define kPMPrintCustomDialogHdlStr "com.apple.print.PrintSettings.CustomDialogRecord"
#define kPMPrintCustomDialogHdlKey CFSTR("com.apple.print.PrintSettings.CustomDialogRecord")
- /* CFArray - main & option PPD key for input paper feed */
+/* CFArray - main & option PPD key for input paper feed */
#define kPMPrimaryPaperFeedStr "com.apple.print.PrintSettings.PMPrimaryPaperFeed"
#define kPMPrimaryPaperFeedKey CFSTR("com.apple.print.PrintSettings.PMPrimaryPaperFeed")
- /* CFArray - main & option PPD key for input paper feed */
+/* CFArray - main & option PPD key for input paper feed */
#define kPMSecondaryPaperFeedStr "com.apple.print.PrintSettings.PMSecondaryPaperFeed"
#define kPMSecondaryPaperFeedKey CFSTR("com.apple.print.PrintSettings.PMSecondaryPaperFeed")
- /* CFNumber - kCFNumberSInt32Type */
+/* CFNumber - kCFNumberSInt32Type */
#define kPMPSErrorHandlerStr "com.apple.print.PrintSettings.PMPSErrorHandler"
#define kPMPSErrorHandlerKey CFSTR("com.apple.print.PrintSettings.PMPSErrorHandler")
- /* CFBoolean, Turns on PS error on screen notification. */
+/* CFBoolean, Turns on PS error on screen notification. */
#define kPMPSErrorOnScreenStr "com.apple.print.PrintSettings.PMPSErrorOnScreen"
#define kPMPSErrorOnScreenKey CFSTR("com.apple.print.PrintSettings.PMPSErrorOnScreen")
- /* CFArray - main & option PPD key for tray switching */
+/* CFArray - main & option PPD key for tray switching */
#define kPMPSTraySwitchStr "com.apple.print.PrintSettings.PMPSTraySwitch"
#define kPMPSTraySwitchKey CFSTR("com.apple.print.PrintSettings.PMPSTraySwitch")
- /* CFDictionary - main & option PPD keys for additional features */
+/* CFDictionary - main & option PPD keys for additional features */
#define kPMPPDDictStr "com.apple.print.PrintSettings.kPMPPDDictStr"
#define kPMPPDDictKey CFSTR("com.apple.print.PrintSettings.kPMPPDDictStr")
- /* Ticket: PAGE TICKET
- Future Feature. Intended to hold Page Format and Print Settings ticket for a single
- page of the document. Not yet implemented.
- */
+/* Ticket: PAGE TICKET
+ Future Feature. Intended to hold Page Format and Print Settings ticket for a single
+ page of the document. Not yet implemented.
+*/
#define kPMPageTicketPrelude "com.apple.print.PageTicket."
- /* Ticket: DOCUMENT TICKET
- Future Feature. Intended to hold multiple Page Tickets and separate Page Format
- and Print Settings tickets for a single document. Not yet implemented. For now,
- the keys listed here will be included at the Job Ticket Level.
- */
+/* Ticket: DOCUMENT TICKET
+ Future Feature. Intended to hold multiple Page Tickets and separate Page Format
+ and Print Settings tickets for a single document. Not yet implemented. For now,
+ the keys listed here will be included at the Job Ticket Level.
+*/
#define kPMDocumentTicketPrelude "com.apple.print.DocumentTicket."
- /* CFString. Indicates format of data stored in the spool file. */
+/* CFString. Indicates format of data stored in the spool file. */
#define kPMSpoolFormatStr "com.apple.print.DocumentTicket.PMSpoolFormat"
#define kPMSpoolFormatKey CFSTR("com.apple.print.DocumentTicket.PMSpoolFormat")
- /* CFString. Indicates format of data going to the Printer Module. */
+/* CFString. Indicates format of data going to the Printer Module. */
#define kPMPrinterModuleFormatStr "com.apple.print.DocumentTicket.PMDocPMInputFormat"
#define kPMPrinterModuleFormatKey CFSTR("com.apple.print.DocumentTicket.PMDocPMInputFormat")
- /* Ticket: JOB TICKET
- Holds a Page Format and Print Settings ticket, as well as a few other fields that
- are Job Specific, such as information about the user that submitted the job. The
- fidelity bit controls what happens when the system encounters settings that can't
- be obeyed.
- In the future a Job Ticket may hold multiple document tickets in addition to the
- Print Settings and Page Format tickets.
- */
+/* Ticket: JOB TICKET
+ Holds a Page Format and Print Settings ticket, as well as a few other fields that
+ are Job Specific, such as information about the user that submitted the job. The
+ fidelity bit controls what happens when the system encounters settings that can't
+ be obeyed.
+ In the future a Job Ticket may hold multiple document tickets in addition to the
+ Print Settings and Page Format tickets.
+*/
#define kPMJobTicketPrelude "com.apple.print.JobInfo."
- /* CFString, The name of the job to be displayed in the queue window. */
+/* CFString, The name of the job to be displayed in the queue window. */
#define kPMJobNameStr "com.apple.print.JobInfo.PMJobName"
#define kPMJobNameKey CFSTR("com.apple.print.JobInfo.PMJobName")
- /* CFString, The application's name */
+/* CFString, The application's name */
#define kPMApplicationNameStr "com.apple.print.JobInfo.PMApplicationName"
#define kPMApplicationNameKey CFSTR("com.apple.print.JobInfo.PMApplicationName")
- /* CFNumber - kCFNumberSInt32Type, TBD how this is interpreted. */
+/* CFNumber - kCFNumberSInt32Type, TBD how this is interpreted. */
#define kPMUserLanguageStr "com.apple.print.JobInfo.PMUserLanguage"
#define kPMUserLanguageKey CFSTR("com.apple.print.JobInfo.PMUserLanguage")
- /* CFString - Name of the user who submitted the job. */
+/* CFString - Name of the user who submitted the job. */
#define kPMJobOwnerStr "com.apple.print.JobInfo.PMJobOwner"
#define kPMJobOwnerKey CFSTR("com.apple.print.JobInfo.PMJobOwner")
- /* CFDictionary - PMTemplateRef, actually. See PMTemplate.h */
+/* CFDictionary - PMTemplateRef, actually. See PMTemplate.h */
#define kPMJobTemplateStr "com.apple.print.JobInfo.PMJobTemplate"
#define kPMJobTemplateKey CFSTR("com.apple.print.JobInfo.PMJobTemplate")
- /* CFNumber, kCFNumberSInt32Type, Enum - Spooling, RIPing, etc. */
+/* CFNumber, kCFNumberSInt32Type, Enum - Spooling, RIPing, etc. */
#define kPMPhaseStr "com.apple.print.JobInfo.PMPrintingPhase"
#define kPMPhaseKey CFSTR("com.apple.print.JobInfo.PMPrintingPhase")
- /* CFString, Mime type from the kPMOutputTypeListKey array the printer module should generate. */
+/* CFString, Mime type from the kPMOutputTypeListKey array the printer module should generate. */
#define kPMOutputTypeStr "com.apple.print.JobInfo.PMOutputType"
#define kPMOutputTypeKey CFSTR("com.apple.print.JobInfo.PMOutputType")
- /* Ticket: LIST TICKET
- Contains a list of other tickets. There is no restriction on the type of tickets
- that can be stored in a list, any ticket will do.
- */
+/* Ticket: LIST TICKET
+ Contains a list of other tickets. There is no restriction on the type of tickets
+ that can be stored in a list, any ticket will do.
+*/
#define kPMTicketListPrelude "com.apple.print.TicketList."
- /* Ticket: Printer Info Ticket
- Created by the Printer Module to describe features and settings of the current
- printer. This is information largely used by the Printer Module itself and the Print
- Dialog Extensions associated with the PM. All "range" type values that would be
- verified at dialog time should go in a separate Template.
- */
+/* Ticket: Printer Info Ticket
+ Created by the Printer Module to describe features and settings of the current
+ printer. This is information largely used by the Printer Module itself and the Print
+ Dialog Extensions associated with the PM. All "range" type values that would be
+ verified at dialog time should go in a separate Template.
+*/
#define kPMPrinterInfoPrelude "com.apple.print.PrinterInfo."
- /* CFString, Full name of the printer. */
+/* CFString, Full name of the printer. */
#define kPMPrinterLongNameStr "com.apple.print.PrinterInfo.PMPrinterLongName"
#define kPMPrinterLongNameKey CFSTR("com.apple.print.PrinterInfo.PMPrinterLongName")
- /* CFString, Shorter name to use when you have less space. */
+/* CFString, Shorter name to use when you have less space. */
#define kPMPrinterShortNameStr "com.apple.print.PrinterInfo.PMPrinterShortName"
#define kPMPrinterShortNameKey CFSTR("com.apple.print.PrinterInfo.PMPrinterShortName")
- /* CFString, Product name is used for ???? */
+/* CFString, Product name is used for ???? */
#define kPMMakeAndModelNameStr "com.apple.print.PrinterInfo.PMMakeAndModelName"
#define kPMMakeAndModelNameKey CFSTR("com.apple.print.PrinterInfo.PMMakeAndModelName")
- /* CFData, Product address. */
+/* CFData, Product address. */
#define kPMPrinterAddressStr "com.apple.print.PrinterInfo.PMPrinterAddress"
#define kPMPrinterAddressKey CFSTR("com.apple.print.PrinterInfo.PMPrinterAddress")
- /* CFBoolean, If Non-zero, printer/PM can do color. */
+/* CFBoolean, If Non-zero, printer/PM can do color. */
#define kPMSupportsColorStr "com.apple.print.PrinterInfo.PMSupportsColor"
#define kPMSupportsColorKey CFSTR("com.apple.print.PrinterInfo.PMSupportsColor")
- /* CFBoolean, If Non-zero, printer/PM can do copies */
+/* CFBoolean, If Non-zero, printer/PM can do copies */
#define kPMDoesCopiesStr "com.apple.print.PrinterInfo.PMDoesCopies"
#define kPMDoesCopiesKey CFSTR("com.apple.print.PrinterInfo.PMDoesCopies")
- /* CFBoolean, If Non-zero, printer/PM can collate. */
+/* CFBoolean, If Non-zero, printer/PM can collate. */
#define kPMDoesCopyCollateStr "com.apple.print.PrinterInfo.PMDoesCopyCollate"
#define kPMDoesCopyCollateKey CFSTR("com.apple.print.PrinterInfo.PMDoesCopyCollate")
- /* CFBoolean, If Non-zero, printer/PM can reverse the printing order. */
+/* CFBoolean, If Non-zero, printer/PM can reverse the printing order. */
#define kPMDoesReverseOrderStr "com.apple.print.PrinterInfo.PMDoesReverseOrderK"
#define kPMDoesReverseOrderKey CFSTR("com.apple.print.PrinterInfo.PMDoesReverseOrderK")
- /* CFArray of CFStrings indicating file types. See PMDefinitions.h for complete list. */
+/* CFArray of CFStrings indicating file types. See PMDefinitions.h for complete list. */
#define kPMInputFileTypeListStr "com.apple.print.PrinterInfo.PMInputFileTypeList"
#define kPMInputFileTypeListKey CFSTR("com.apple.print.PrinterInfo.PMInputFileTypeList")
- /* CFArray of CFStrings indicating the MIME type for the data is can send to an IO module. */
+/* CFArray of CFStrings indicating the MIME type for the data is can send to an IO module. */
#define kPMOutputTypeListStr "com.apple.print.PrinterInfo.PMOutputTypeList"
#define kPMOutputTypeListKey CFSTR("com.apple.print.PrinterInfo.PMOutputTypeList")
- /* Postscript printing related tags */
- /* CFNumber - kCFNumberSInt32Type, indicates PostScript Language level. Contains one of the values from the enum below */
+/* Postscript printing related tags */
+/* CFNumber - kCFNumberSInt32Type, indicates PostScript Language level. Contains one of the values from the enum below */
#define kPMPostScriptLevelStr "com.apple.print.PrinterInfo.PMPostScriptLevel"
#define kPMPostScriptLevelKey CFSTR("com.apple.print.PrinterInfo.PMPostScriptLevel")
- /* CFString e.g."2040.113"*/
+/* CFString e.g."2040.113"*/
#define kPMPostScriptVersionStr "com.apple.print.PrinterInfo.PMPSVersion"
#define kPMPostScriptVersionKey CFSTR("com.apple.print.PrinterInfo.PMPSVersion")
- /* CFNumber - kCFNumberSInt32Type, contains the PostScript revision which is an integer.*/
+/* CFNumber - kCFNumberSInt32Type, contains the PostScript revision which is an integer.*/
#define kPMPostScriptRevisionStr "com.apple.print.PrinterInfo.PMPSRevision"
#define kPMPostScriptRevisionKey CFSTR("com.apple.print.PrinterInfo.PMPSRevision")
- /* CFNumber - kCFNumberSInt32Type, contains one of the values from the enum below.*/
+/* CFNumber - kCFNumberSInt32Type, contains one of the values from the enum below.*/
#define kPMPostScriptTrueTypeFontRasterizerStr "com.apple.print.PrinterInfo.PMPSTTRasterizer"
#define kPMPostScriptTrueTypeFontRasterizerKey CFSTR("com.apple.print.PrinterInfo.PMPSTTRasterizer")
- /* Enum for the possible font rasterizers. */
- enum
- {
- kPMPSTTRasterizerUnknown = 0, /* unknown*/
- kPMPSTTRasterizerNone = 1, /* none*/
- kPMPSTTRasterizerAccept68K = 2, /* accept 68k*/
- kPMPSTTRasterizerType42 = 3 /* type 42*/
- };
-
- /* Enum for possible PostScript Language Levels. */
- enum
- {
- kPMPSTargetLanguageLevel2and3 = -3, /* Level 2 Compatible, may take advantage of Level 3 features*/
- kPMPSTargetLanguageLevel1and2 = -2, /* Level 1 Compatible, may take advantage of Level 2 and 3 features*/
- kPMPSTargetLanguageLevelUnknown = -1, /* language level of target is unknown*/
- kPMPSTargetLanguageLevel1 = 1, /* level 1*/
- kPMPSTargetLanguageLevel2 = 2, /* level 2*/
- kPMPSTargetLanguageLevel3 = 3, /* level 3*/
- kPMPSTargetLanguageLevelDefault = kPMPSTargetLanguageLevelUnknown /* default*/
- };
-
-
- /* Note, we've removed the PMLanguageInfoKey because it's not valid to store strings or structures, everything needs to be a CFType.*/
- /* CFNumber - kCFNumberSInt32Type, Memory on the Printer itself. */
+/* Enum for the possible font rasterizers. */
+enum {
+ kPMPSTTRasterizerUnknown = 0, /* unknown*/
+ kPMPSTTRasterizerNone = 1, /* none*/
+ kPMPSTTRasterizerAccept68K = 2, /* accept 68k*/
+ kPMPSTTRasterizerType42 = 3 /* type 42*/
+};
+
+/* Enum for possible PostScript Language Levels. */
+enum {
+ kPMPSTargetLanguageLevel2and3 = -3, /* Level 2 Compatible, may take advantage of Level 3 features*/
+ kPMPSTargetLanguageLevel1and2 = -2, /* Level 1 Compatible, may take advantage of Level 2 and 3 features*/
+ kPMPSTargetLanguageLevelUnknown = -1, /* language level of target is unknown*/
+ kPMPSTargetLanguageLevel1 = 1, /* level 1*/
+ kPMPSTargetLanguageLevel2 = 2, /* level 2*/
+ kPMPSTargetLanguageLevel3 = 3, /* level 3*/
+ kPMPSTargetLanguageLevelDefault = kPMPSTargetLanguageLevelUnknown /* default*/
+};
+
+
+/* Note, we've removed the PMLanguageInfoKey because it's not valid to store strings or structures, everything needs to be a CFType.*/
+/* CFNumber - kCFNumberSInt32Type, Memory on the Printer itself. */
#define kPMTotalMemInstalledStr "com.apple.print.PrinterInfo.PMTotalMemInstalled"
#define kPMTotalMemInstalledKey CFSTR("com.apple.print.PrinterInfo.PMTotalMemInstalled")
- /* CFNumber - kCFNumberSInt32Type, Remaining memory available for use. */
+/* CFNumber - kCFNumberSInt32Type, Remaining memory available for use. */
#define kPMTotalMemAvailableStr "com.apple.print.PrinterInfo.PMTotalMemAvailable"
#define kPMTotalMemAvailableKey CFSTR("com.apple.print.PrinterInfo.PMTotalMemAvailable")
- /* PPD related tags */
- /* CFString, PPD file name or other description file. */
+/* PPD related tags */
+/* CFString, PPD file name or other description file. */
#define kPMDescriptionFileStr "com.apple.print.PrinterInfo.PMDescriptionFile"
#define kPMDescriptionFileKey CFSTR("com.apple.print.PrinterInfo.PMDescriptionFile")
- /* CFData, Compiled PPD file to ease parsing after the fact. Not sure we need. */
+/* CFData, Compiled PPD file to ease parsing after the fact. Not sure we need. */
#define kPMCompiledPPDStr "com.apple.print.PrinterInfo.PMCompiledPPD"
#define kPMCompiledPPDKey CFSTR("com.apple.print.PrinterInfo.PMCompiledPPD")
- /* ColorSync related tags */
- /* CFString, representing a CFUUID - must be unique per device */
+/* ColorSync related tags */
+/* CFString, representing a CFUUID - must be unique per device */
#define kPMColorDeviceIDStr "com.apple.print.PrinterInfo.PMColorDeviceID"
#define kPMColorDeviceIDKey CFSTR("com.apple.print.PrinterInfo.PMColorDeviceID")
- /* CFArray - of CFDicts, one for each factory profile. */
+/* CFArray - of CFDicts, one for each factory profile. */
#define kPMColorSyncProfilesStr "com.apple.print.PrinterInfo.PMColorSyncProfiles"
#define kPMColorSyncProfilesKey CFSTR("com.apple.print.PrinterInfo.PMColorSyncProfiles")
- /* Installable options string. */
- /* CFData, Installable options from PPD file. */
+/* Installable options string. */
+/* CFData, Installable options from PPD file. */
#define kPMInstallableOptionStr "com.apple.print.PrinterInfo.PMInstallableOption"
#define kPMInstallableOptionKey CFSTR("com.apple.print.PrinterInfo.PMInstallableOption")
- /* Suggested app drawing resolutions */
- /* CFArray - array of pairs of kCFNumberDoubleType - One pair for each recommended resolution*/
+/* Suggested app drawing resolutions */
+/* CFArray - array of pairs of kCFNumberDoubleType - One pair for each recommended resolution*/
#define kPMPrinterSuggestedResStr "com.apple.print.PrinterInfo.PMPrinterSuggestedRes"
#define kPMPrinterSuggestedResKey CFSTR("com.apple.print.PrinterInfo.PMPrinterSuggestedRes")
- /* Min and max range of resolutions */
- /* CFArray - 2 CFNumber, kCFNumberDoubleType, min resolution of printer */
+/* Min and max range of resolutions */
+/* CFArray - 2 CFNumber, kCFNumberDoubleType, min resolution of printer */
#define kPMPrinterMinResStr "com.apple.print.PrinterInfo.PMPrinterMinRes"
#define kPMPrinterMinResKey CFSTR("com.apple.print.PrinterInfo.PMPrinterMinRes")
- /* CFArray - 2 CFNumber, kCFNumberDoubleType, max resolution of printer */
+/* CFArray - 2 CFNumber, kCFNumberDoubleType, max resolution of printer */
#define kPMPrinterMaxResStr "com.apple.print.PrinterInfo.PMPrinterMaxRes"
#define kPMPrinterMaxResKey CFSTR("com.apple.print.PrinterInfo.PMPrinterMaxRes")
- /* driver creator code */
- /* CFNumber - kCFNumberSInt32Type creator signiture for driver*/
+/* driver creator code */
+/* CFNumber - kCFNumberSInt32Type creator signiture for driver*/
#define kPMDriverCreatorStr "com.apple.print.PrinterInfo.PMDriverCreator"
#define kPMDriverCreatorKey CFSTR("com.apple.print.PrinterInfo.PMDriverCreator")
- /* Printer Resident font data handle */
- /* CFData, Printer resident fonts from printer query. */
+/* Printer Resident font data handle */
+/* CFData, Printer resident fonts from printer query. */
#define kPMPrinterFontStr "com.apple.print.PrinterInfo.Printer Fonts"
#define kPMPrinterFontKey CFSTR("com.apple.print.PrinterInfo.Printer Fonts")
- /* CFBoolean - PJCIsPostScriptDriver*/
+/* CFBoolean - PJCIsPostScriptDriver*/
#define kPMPrinterIsPostScriptDriverStr "com.apple.print.PrinterInfo.PMIsPostScriptDriver"
#define kPMPrinterIsPostScriptDriverKey CFSTR("com.apple.print.PrinterInfo.PMIsPostScriptDriver")
#define kPMIsBinaryOKStr "com.apple.print.PrinterInfo.PMIsBinaryOK"
#define kPMIsBinaryOKKey CFSTR("com.apple.print.PrinterInfo.PMIsBinaryOK")
- /* CFBoolean - Can the comm channel take bytes with the high bit set?*/
+/* CFBoolean - Can the comm channel take bytes with the high bit set?*/
#define kPM8BitCommStr "com.apple.print.PrinterInfo.PM8BitComm"
#define kPM8BitCommKey CFSTR("com.apple.print.PrinterInfo.PM8BitComm")
#define kPMTransparentCommStr "com.apple.print.PrinterInfo.PMTransparentComm"
#define kPMTransparentCommKey CFSTR("com.apple.print.PrinterInfo.PMTransparentComm")
- /* Ticket: Converter Setup Ticket
- Contains controls for converter. Generally, the Printer Module and Job Manager will set
- tags in this ticket to control the various settings of the conversion process.
- */
+/* Ticket: Converter Setup Ticket
+ Contains controls for converter. Generally, the Printer Module and Job Manager will set
+ tags in this ticket to control the various settings of the conversion process.
+*/
#define kPMConverterSetupPrelude "com.apple.print.ConverterSetup."
- /* CFBoolean, turns on banding if it's available. */
+/* CFBoolean, turns on banding if it's available. */
#define kPMBandingRequestedStr "com.apple.print.ConverterSetup.PMBandingRequested"
#define kPMBandingRequestedKey CFSTR("com.apple.print.ConverterSetup.PMBandingRequested")
- /* CFNumber, number of scan lines needed for each band. Could be whole page, in which case banding is disabled. */
+/* CFNumber, number of scan lines needed for each band. Could be whole page, in which case banding is disabled. */
#define kPMRequiredBandHeightStr "com.apple.print.ConverterSetup.PMRequiredBandHeight"
#define kPMRequiredBandHeightKey CFSTR("com.apple.print.ConverterSetup.PMRequiredBandHeight")
- /* CFBoolean. If true, the printer module wants converter to switch between b/w bands and color bands when possible. */
+/* CFBoolean. If true, the printer module wants converter to switch between b/w bands and color bands when possible. */
#define kPMDepthSwitchingEnabledStr "com.apple.print.ConverterSetup.PMDepthSwitching"
#define kPMDepthSwitchingEnabledKey CFSTR("com.apple.print.ConverterSetup.PMDepthSwitching")
- /* CFBoolean. If true, the printer module wants converter to skip over white space if possible. */
+/* CFBoolean. If true, the printer module wants converter to skip over white space if possible. */
#define kPMWhiteSkippingEnabledStr "com.apple.print.ConverterSetup.PMWhiteSpaceSkipping"
#define kPMWhiteSkippingEnabledKey CFSTR("com.apple.print.ConverterSetup.PMWhiteSpaceSkipping")
- /* CFNumber, CFNumberDoubleType indicating horizontal final rendering resolution. */
+/* CFNumber, CFNumberDoubleType indicating horizontal final rendering resolution. */
#define kPMConverterResHorizontalStr "com.apple.print.ConverterSetup.PMConversionResHorizontal"
#define kPMConverterResHorizontalKey CFSTR("com.apple.print.ConverterSetup.PMConversionResHorizontal")
- /* CFNumber, CFNumberDoubleType indicating vertical final rendering resolution. */
+/* CFNumber, CFNumberDoubleType indicating vertical final rendering resolution. */
#define kPMConverterResVerticalStr "com.apple.print.ConverterSetup.PMConversionResVertcial"
#define kPMConverterResVerticalKey CFSTR("com.apple.print.ConverterSetup.PMConversionResVertcial")
- /* CFNumber, CFNumberLongType, indicates the pixel format requested of the converter. */
+/* CFNumber, CFNumberLongType, indicates the pixel format requested of the converter. */
#define kPMRequestedPixelFormatStr "com.apple.print.ConverterSetup.PMPixelFormat"
#define kPMRequestedPixelFormatKey CFSTR("com.apple.print.ConverterSetup.PMPixelFormat")
- /* CFNumber, CFNumberLongType, indicates the pixel layout requested of the converter. */
+/* CFNumber, CFNumberLongType, indicates the pixel layout requested of the converter. */
#define kPMRequestedPixelLayoutStr "com.apple.print.ConverterSetup.PMPixelLayout"
#define kPMRequestedPixelLayoutKey CFSTR("com.apple.print.ConverterSetup.PMPixelLayout")
- /* CFNumber, kCFNumberSInt32Type, the profile ID for the profile to be used with this job. */
+/* CFNumber, kCFNumberSInt32Type, the profile ID for the profile to be used with this job. */
#define kPMCVColorSyncProfileIDStr "com.apple.print.ConverterSetup.PMProfileID"
#define kPMCVColorSyncProfileIDKey CFSTR("com.apple.print.ConverterSetup.PMProfileID")
- /* END OF SECTION II: TICKET KEYS */
- /* SECTION III, FUNCTIONS: */
- /* Create, or copy a Ticket. As a Ticket is created, its type is stored in the object itself */
- /* and used to help the programmer make sure they are adding the correct fields to the object. */
- /*
- * PMTicketCreate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketCreate(
- CFAllocatorRef allocator,
- CFStringRef ticketType,
- PMTicketRef * newTicket);
-
-
- /*
- * PMTicketCopy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketCopy(
- CFAllocatorRef allocator,
- PMTicketRef sourceTicket,
- PMTicketRef * destinationTicket);
-
-
- /* Retain, release, or get retain count of a Ticket. The behavior is modelled after */
- /* CoreFoundation's CFRetain, CFRelease, and CFGetRetainCount APIs. */
- /*
- * PMTicketGetRetainCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetRetainCount(
- PMTicketRef ticket,
- CFIndex * retainCount);
-
-
- /*
- * PMTicketRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketRetain(PMTicketRef ticket);
-
-
- /*
- * PMTicketRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketRelease(PMTicketRef ticket);
-
-
-
- /*
- * PMTicketReleaseAndClear()
- *
- * Discussion:
- * PMTicketReleaseAndClear does the same thing as PMTicketRelease
- * except that it sets the passed in pointer to NULL, which we think
- * is good programming practice. Other references to the ticket may
- * still be valid, but this one is no longer expected to be used.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketReleaseAndClear(PMTicketRef * ticket);
-
-
-
-
- /*
- * PMTicketGetLockedState()
- *
- * Discussion:
- * Tickets may be locked by the printing system, so we provide a
- * function to determine if the ticket is indeed locked. Any
- * attempted changes to a locked ticket will result in
- * "kPMTicketLocked" error.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetLockedState(
- PMTicketRef ticket,
- Boolean * lockedState);
-
-
-
- /*
- * PMTicketConfirmTicket()
- *
- * Discussion:
- * To confirm that we have a real ticket, this short function gets
- * called.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketConfirmTicket(PMTicketRef ticket);
-
-
-
- /*
- * PMTicketValidate()
- *
- * Discussion:
- * We validate an entire ticket by calling our PMTicketValidate
- * function, passing a template which contains constraints for all
- * the values in the ticket. Those entries in the ticket that don't
- * have constraints will not be checked, so developers can add their
- * own custom data. For now we have to verify a single ticket at a
- * time. Future updates will allow the caller to confirm an entire
- * tree of tickets.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketValidate(
- PMTicketRef ticket,
- PMTemplateRef verifyingTemplate,
- CFArrayRef * invalidItems);
-
-
-
- /* A couple of utility functions to find out what type of ticket is references, as well */
- /* as access to the allocator function passed in for a ticket. We also provide a function */
- /* to check the API version for a ticket, to protect against future conversion problems */
- /* from old to new tickets. */
- /*
- * PMTicketGetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetType(
- PMTicketRef ticket,
- CFStringRef * ticketType);
-
-
- /*
- * PMTicketGetEnumType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetEnumType(
- PMTicketRef ticket,
- PMTicketType * ticketType);
-
-
- /*
- * PMTicketGetAllocator()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetAllocator(
- PMTicketRef ticket,
- CFAllocatorRef * allocator);
-
-
- /*
- * PMTicketGetAPIVersion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetAPIVersion(
- PMTicketRef ticket,
- CFStringRef * apiVersion);
-
-
-
- /* To store a Ticket object it needs to be converted to XML, a serialization that */
- /* creates human readable text. If the data is to be written to file anyway, a second */
- /* function is provided to go "all the way." */
- /*
- * PMTicketToXML()
- *
- * Discussion:
- * Convert to XML
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketToXML(
- PMTicketRef ticket,
- CFDataRef * anXMLTicket);
-
-
- /*
- * PMTicketWriteXMLToFile()
- *
- * Discussion:
- * Convert to XML and write to file
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketWriteXMLToFile(
- PMTicketRef ticket,
- const char * path);
-
-
- /*
- * PMTicketWriteXML()
- *
- * Discussion:
- * Convert to XML and write to FILE stream
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketWriteXML(
- PMTicketRef ticket,
- FILE * xmlFile);
-
-
- /*
- * PMXMLToTicket()
- *
- * Discussion:
- * Convert from XML
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMXMLToTicket(
- CFAllocatorRef allocator,
- CFDataRef anXMLTicket,
- PMTicketRef * ticket,
- CFStringRef * conversionError);
-
-
- /*
- * PMTicketReadXMLFromFile()
- *
- * Discussion:
- * Read from XML file
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketReadXMLFromFile(
- CFAllocatorRef allocator,
- const char * path,
- PMTicketRef * ticket,
- CFStringRef * errorString);
-
-
-
- /* To add an item to a ticket, the "SetItem" call for the specific data type is used whenever */
- /* possible. This adds a new item if one doesn't exist and updates a previous item if it */
- /* already exists. The "locked" field will determine if subsequent updates are allowed. */
- /* Strings: */
- /* CFString */
- /*
- * PMTicketSetCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCFString(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- CFStringRef item,
- Boolean locked);
-
-
- /* Pascal String */
- /*
- * PMTicketSetPString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetPString(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- ConstStringPtr value,
- Boolean locked);
-
-
- /* 'C' String */
- /*
- * PMTicketSetCString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCString(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- const char * value,
- Boolean locked);
-
-
- /* Array of 'C' Strings */
- /*
- * PMTicketSetCStringArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCStringArray(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- const char ** cStringArray,
- UInt32 count,
- Boolean locked);
-
-
-
- /* Numbers: */
- /* CFNumber */
- /*
- * PMTicketSetCFNumber()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCFNumber(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- CFNumberRef item,
- Boolean locked);
-
-
- /* SInt32 */
- /*
- * PMTicketSetSInt32()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetSInt32(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- SInt32 value,
- Boolean locked);
-
-
- /* Array of SInt32 */
- /*
- * PMTicketSetSInt32Array()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetSInt32Array(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- const SInt32 * sInt32Array,
- UInt32 count,
- Boolean locked);
-
-
- /* UInt32 */
- /* NOTE: The underlying code uses SInt32s in the CF code, so this function can't set -1 */
- /* as the largest unsigned number. Please avoid setting the high bit */
- /*
- * PMTicketSetUInt32()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetUInt32(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- UInt32 value,
- Boolean locked);
-
-
- /* Array of UInt32 */
- /* NOTE: The underlying code uses SInt32s in the CF code, so this function can't set -1 */
- /* as the largest unsigned number. Please avoid setting the high bit */
- /*
- * PMTicketSetUInt32Array()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetUInt32Array(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- const UInt32 * uInt32Array,
- UInt32 count,
- Boolean locked);
-
-
- /* Double */
- /*
- * PMTicketSetDouble()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetDouble(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- double value,
- Boolean locked);
-
-
- /* Array of doubles */
- /*
- * PMTicketSetDoubleArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetDoubleArray(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- const double * doubleArray,
- UInt32 count,
- Boolean changeable);
-
-
- /* PMResolution - Array of 2 Doubles */
- /*
- * PMTicketSetPMResolution()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetPMResolution(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- PMResolution * value,
- Boolean locked);
-
-
- /* Array of PMResolution */
- /*
- * PMTicketSetPMResolutionArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetPMResolutionArray(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- PMResolution * pmResolutionArray,
- UInt32 count,
- Boolean locked);
-
-
- /* PMRect - Array of 4 Doubles */
- /*
- * PMTicketSetPMRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetPMRect(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- PMRect * value,
- Boolean locked);
-
-
- /* Array of PMRects */
- /*
- * PMTicketSetPMRectArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetPMRectArray(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- PMRect * pmRectArray,
- UInt32 count,
- Boolean locked);
-
-
- /* Raw Data */
- /* CFData */
- /*
- * PMTicketSetCFData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCFData(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- CFDataRef item,
- Boolean locked);
-
-
- /* UInt8 - 'C' Bytes */
- /*
- * PMTicketSetBytes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetBytes(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- const UInt8 * data,
- UInt32 size,
- Boolean locked);
-
-
- /* Booleans */
- /* CFBoolean */
- /*
- * PMTicketSetCFBoolean()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCFBoolean(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- CFBooleanRef item,
- Boolean locked);
-
-
- /* 'C' Boolean */
- /*
- * PMTicketSetBoolean()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetBoolean(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- Boolean value,
- Boolean locked);
-
-
-
- /* Dates */
- /*
- * PMTicketSetCFDate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCFDate(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- CFDateRef item,
- Boolean locked);
-
-
- /* Arrays */
- /*
- * PMTicketSetCFArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCFArray(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- CFArrayRef item,
- Boolean locked);
-
-
- /* Dictionaries */
- /*
- * PMTicketSetCFDictionary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetCFDictionary(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- CFDictionaryRef item,
- Boolean locked);
-
-
- /* Templates, which are defined to be opaque. */
- /*
- * PMTicketSetTemplate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetTemplate(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- PMTemplateRef item,
- Boolean locked);
-
-
- /* Generic CF Type */
- /*
- * PMTicketSetItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetItem(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key,
- CFTypeRef item,
- Boolean locked);
-
-
-
- /*
- * PMTicketSetMetaItem()
- *
- * Discussion:
- * To add an item that doesn't need to be stored in the XML file,
- * use the PMTicketSetMetaItem() call. It allows simple addition of
- * an item, but that item won't be written to XML when the rest of
- * the ticket is stored. By definition, all meta items are not
- * locked, simply because we have no easy mechanism for keeping
- * track of a locked state for a meta item. Our intent is to allow a
- * caller to add items temporarily to a ticket, perhaps to keep
- * track of the "default" ticket in a list of tickets, or the
- * "current" paper info in a list of papers.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetMetaItem(
- PMTicketRef ticket,
- CFStringRef key,
- CFTypeRef item);
-
-
-
- /*
- * PMTicketFillFromArray()
- *
- * Discussion:
- * Convert an array of static item structures into entries for a
- * ticket and add them one at a time to the ticket. Could fail part
- * way through.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketFillFromArray(
- PMTicketRef ticket,
- CFStringRef clientID,
- const PMTicketItemStruct * items,
- UInt32 itemCount);
-
-
-
- /*
- * PMTicketCopyItem()
- *
- * Discussion:
- * If an item must be copied from one ticket to another, use the
- * "CopyItem" call to make the simple transfer. This will update the
- * recorded date and client ID for the item. The "locked" field will
- * determine if subsequent updates may be made.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketCopyItem(
- PMTicketRef sourceTicket,
- PMTicketRef destTicket,
- CFStringRef clientID,
- CFStringRef key,
- Boolean locked);
-
-
-
- /* A couple of functions that will help in managing the "locked" state of any ticket */
- /* item. These functions only work for items directly stored in the current ticket, not */
- /* for items in sub-tickets. */
- /*
- * PMTicketIsItemLocked()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketIsItemLocked(
- PMTicketRef ticket,
- CFStringRef key,
- Boolean * locked);
-
-
- /*
- * PMTicketLockItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketLockItem(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key);
-
-
- /*
- * PMTicketUnlockItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketUnlockItem(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key);
-
-
-
- /*
- * PMTicketDeleteItem()
- *
- * Discussion:
- * Disable an item using PMTicketDelete. Future callers will see
- * "ItemNotFound" errors. This call actually tags a new set of
- * structures to the end of an item's dictionary, in order to keep a
- * history of the item.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketDeleteItem(
- PMTicketRef ticket,
- CFStringRef clientID,
- CFStringRef key);
-
-
- /*
- * PMTicketReleaseItem()
- *
- * Discussion:
- * Release an item (quite different from delete) when you want it
- * completely removed from the ticket. This can only be done if the
- * item is unlocked.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketReleaseItem(
- PMTicketRef ticket,
- CFStringRef key);
-
-
- /*
- * PMTicketContainsItem()
- *
- * Discussion:
- * Fetching an item back out of the ticket requires the "GetItem"
- * call for the particular type of data you're fetching. In some
- * cases, the caller doesn't know what type of data is being
- * returned, so we have a generic "GetItem" call, but for all other
- * cases developers are encouraged to use the specific call for the
- * data they need, thus enabling type checking and reducing errors.
- * Returns true if item exists.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- PMTicketContainsItem(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key);
-
-
- /* Strings */
- /* CFString */
- /*
- * PMTicketGetCFString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetCFString(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- CFStringRef * item);
-
-
- /* Pascal String */
- /*
- * PMTicketGetPString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetPString(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- UInt32 bufferSize,
- CFStringEncoding encoding,
- StringPtr value);
-
-
- /* 'C' String */
- /*
- * PMTicketGetCString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetCString(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- UInt32 bufferSize,
- CFStringEncoding encoding,
- char * value);
-
-
-
- /* Numbers */
- /* CFNumber */
- /*
- * PMTicketGetCFNumber()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetCFNumber(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- CFNumberRef * item);
-
-
- /* SInt32 */
- /*
- * PMTicketGetSInt32()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetSInt32(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- SInt32 * value);
-
-
- /* UInt32 */
- /*
- * PMTicketGetUInt32()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetUInt32(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- UInt32 * value);
-
-
- /* Double */
- /*
- * PMTicketGetDouble()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetDouble(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- double * value);
-
-
- /* PMResolution - Array of 2 doubles */
- /*
- * PMTicketGetPMResolution()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetPMResolution(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- PMResolution * res);
-
-
- /*
- * PMTicketGetIndexPMResolution()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetIndexPMResolution(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- UInt32 index,
- PMResolution * res);
-
-
- /* PMRect - Array of 4 doubles */
- /*
- * PMTicketGetPMRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetPMRect(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- PMRect * value);
-
-
-
- /* Raw Data */
- /* CFData */
- /*
- * PMTicketGetCFData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetCFData(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- CFDataRef * item);
-
-
- /* UInt8 - 'C' Bytes */
- /* NOTE: Caller is expected to call twice if size is unknown, passing null for data pointer */
- /* and a valid pointer for the size before allocating space and calling back with both pointers */
- /* set, this time with valid data pointer and valid size pointer pointing to # of bytes requested. */
- /*
- * PMTicketGetBytes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetBytes(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- UInt8 * data,
- UInt32 * size);
-
-
- /* Booleans */
- /* CFBoolean */
- /*
- * PMTicketGetCFBoolean()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetCFBoolean(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- CFBooleanRef * item);
-
-
- /* 'C' Boolean */
- /*
- * PMTicketGetBoolean()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetBoolean(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- Boolean * value);
-
-
- /* Dates */
- /*
- * PMTicketGetCFDate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetCFDate(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- CFDateRef * item);
-
-
- /* Non-numeric Arrays */
- /*
- * PMTicketGetCFArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetCFArray(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- CFArrayRef * item);
-
-
- /* Dictionaries */
- /*
- * PMTicketGetCFDictionary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetCFDictionary(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- CFDictionaryRef * item);
-
-
- /* PMTemplates, which are defined to be opaque. */
- /*
- * PMTicketCreateTemplate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketCreateTemplate(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- PMTemplateRef * item);
-
-
-
- /* The generic calls for regular items and meta items. See notes on "SetMetaItem" for more details. */
- /*
- * PMTicketGetItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetItem(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFStringRef key,
- CFTypeRef * item);
-
-
- /* Meta items don't get saved to XML. */
- /*
- * PMTicketGetMetaItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetMetaItem(
- PMTicketRef ticket,
- CFStringRef key,
- CFTypeRef * item);
-
-
-
- /* Any ticket can contain another ticket, allowing us to store multiple PageFormat tickets */
- /* (one for each page) and multiple Document Info tickets (for multi-document jobs). The following */
- /* functions allow us to put a ticket into another ticket as a sub-ticket, and retreive it */
- /* later on. */
- /*
- * PMTicketSetTicket()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketSetTicket(
- PMTicketRef ticket,
- PMTicketRef ticketToAdd,
- UInt32 index);
-
-
- /*
- * PMTicketContainsTicket()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketContainsTicket(
- PMTicketRef ticket,
- CFStringRef requestedType,
- UInt32 index,
- Boolean * exists);
-
-
- /*
- * PMTicketGetTicket()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetTicket(
- PMTicketRef ticket,
- CFStringRef requestedType,
- UInt32 index,
- PMTicketRef * retreivedTicket);
-
-
- /*
- * PMTicketRemoveTicket()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketRemoveTicket(
- PMTicketRef ticket,
- CFStringRef typeToRemove,
- UInt32 index);
-
-
- /*
- * PMTicketGetPPDDict()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- PMTicketGetPPDDict(
- PMTicketRef ticket,
- UInt32 nodeIndex1,
- UInt32 nodeIndex2,
- CFMutableDictionaryRef * dict);
+/* END OF SECTION II: TICKET KEYS */
+/* SECTION III, FUNCTIONS: */
+/* Create, or copy a Ticket. As a Ticket is created, its type is stored in the object itself */
+/* and used to help the programmer make sure they are adding the correct fields to the object. */
+/*
+ * PMTicketCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketCreate(
+ CFAllocatorRef allocator,
+ CFStringRef ticketType,
+ PMTicketRef * newTicket);
+
+
+/*
+ * PMTicketCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketCopy(
+ CFAllocatorRef allocator,
+ PMTicketRef sourceTicket,
+ PMTicketRef * destinationTicket);
+
+
+/* Retain, release, or get retain count of a Ticket. The behavior is modelled after */
+/* CoreFoundation's CFRetain, CFRelease, and CFGetRetainCount APIs. */
+/*
+ * PMTicketGetRetainCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetRetainCount(
+ PMTicketRef ticket,
+ CFIndex * retainCount);
+
+
+/*
+ * PMTicketRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketRetain(PMTicketRef ticket);
+
+
+/*
+ * PMTicketRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketRelease(PMTicketRef ticket);
+
+
+
+/*
+ * PMTicketReleaseAndClear()
+ *
+ * Discussion:
+ * PMTicketReleaseAndClear does the same thing as PMTicketRelease
+ * except that it sets the passed in pointer to NULL, which we think
+ * is good programming practice. Other references to the ticket may
+ * still be valid, but this one is no longer expected to be used.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketReleaseAndClear(PMTicketRef * ticket);
+
+
+
+
+/*
+ * PMTicketGetLockedState()
+ *
+ * Discussion:
+ * Tickets may be locked by the printing system, so we provide a
+ * function to determine if the ticket is indeed locked. Any
+ * attempted changes to a locked ticket will result in
+ * "kPMTicketLocked" error.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetLockedState(
+ PMTicketRef ticket,
+ Boolean * lockedState);
+
+
+
+/*
+ * PMTicketConfirmTicket()
+ *
+ * Discussion:
+ * To confirm that we have a real ticket, this short function gets
+ * called.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketConfirmTicket(PMTicketRef ticket);
+
+
+
+/*
+ * PMTicketValidate()
+ *
+ * Discussion:
+ * We validate an entire ticket by calling our PMTicketValidate
+ * function, passing a template which contains constraints for all
+ * the values in the ticket. Those entries in the ticket that don't
+ * have constraints will not be checked, so developers can add their
+ * own custom data. For now we have to verify a single ticket at a
+ * time. Future updates will allow the caller to confirm an entire
+ * tree of tickets.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketValidate(
+ PMTicketRef ticket,
+ PMTemplateRef verifyingTemplate,
+ CFArrayRef * invalidItems);
+
+
+
+/* A couple of utility functions to find out what type of ticket is references, as well */
+/* as access to the allocator function passed in for a ticket. We also provide a function */
+/* to check the API version for a ticket, to protect against future conversion problems */
+/* from old to new tickets. */
+/*
+ * PMTicketGetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetType(
+ PMTicketRef ticket,
+ CFStringRef * ticketType);
+
+
+/*
+ * PMTicketGetEnumType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetEnumType(
+ PMTicketRef ticket,
+ PMTicketType * ticketType);
+
+
+/*
+ * PMTicketGetAllocator()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetAllocator(
+ PMTicketRef ticket,
+ CFAllocatorRef * allocator);
+
+
+/*
+ * PMTicketGetAPIVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetAPIVersion(
+ PMTicketRef ticket,
+ CFStringRef * apiVersion);
+
+
+
+/* To store a Ticket object it needs to be converted to XML, a serialization that */
+/* creates human readable text. If the data is to be written to file anyway, a second */
+/* function is provided to go "all the way." */
+/*
+ * PMTicketToXML()
+ *
+ * Discussion:
+ * Convert to XML
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketToXML(
+ PMTicketRef ticket,
+ CFDataRef * anXMLTicket);
+
+
+/*
+ * PMTicketWriteXMLToFile()
+ *
+ * Discussion:
+ * Convert to XML and write to file
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketWriteXMLToFile(
+ PMTicketRef ticket,
+ const char * path);
+
+
+/*
+ * PMTicketWriteXML()
+ *
+ * Discussion:
+ * Convert to XML and write to FILE stream
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketWriteXML(
+ PMTicketRef ticket,
+ FILE * xmlFile);
+
+
+/*
+ * PMXMLToTicket()
+ *
+ * Discussion:
+ * Convert from XML
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMXMLToTicket(
+ CFAllocatorRef allocator,
+ CFDataRef anXMLTicket,
+ PMTicketRef * ticket,
+ CFStringRef * conversionError);
+
+
+/*
+ * PMTicketReadXMLFromFile()
+ *
+ * Discussion:
+ * Read from XML file
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketReadXMLFromFile(
+ CFAllocatorRef allocator,
+ const char * path,
+ PMTicketRef * ticket,
+ CFStringRef * errorString);
+
+
+
+/* To add an item to a ticket, the "SetItem" call for the specific data type is used whenever */
+/* possible. This adds a new item if one doesn't exist and updates a previous item if it */
+/* already exists. The "locked" field will determine if subsequent updates are allowed. */
+/* Strings: */
+/* CFString */
+/*
+ * PMTicketSetCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCFString(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ CFStringRef item,
+ Boolean locked);
+
+
+/* Pascal String */
+/*
+ * PMTicketSetPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetPString(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ ConstStringPtr value,
+ Boolean locked);
+
+
+/* 'C' String */
+/*
+ * PMTicketSetCString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCString(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ const char * value,
+ Boolean locked);
+
+
+/* Array of 'C' Strings */
+/*
+ * PMTicketSetCStringArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCStringArray(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ const char ** cStringArray,
+ UInt32 count,
+ Boolean locked);
+
+
+
+/* Numbers: */
+/* CFNumber */
+/*
+ * PMTicketSetCFNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCFNumber(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ CFNumberRef item,
+ Boolean locked);
+
+
+/* SInt32 */
+/*
+ * PMTicketSetSInt32()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetSInt32(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ SInt32 value,
+ Boolean locked);
+
+
+/* Array of SInt32 */
+/*
+ * PMTicketSetSInt32Array()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetSInt32Array(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ const SInt32 * sInt32Array,
+ UInt32 count,
+ Boolean locked);
+
+
+/* UInt32 */
+/* NOTE: The underlying code uses SInt32s in the CF code, so this function can't set -1 */
+/* as the largest unsigned number. Please avoid setting the high bit */
+/*
+ * PMTicketSetUInt32()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetUInt32(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ UInt32 value,
+ Boolean locked);
+
+
+/* Array of UInt32 */
+/* NOTE: The underlying code uses SInt32s in the CF code, so this function can't set -1 */
+/* as the largest unsigned number. Please avoid setting the high bit */
+/*
+ * PMTicketSetUInt32Array()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetUInt32Array(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ const UInt32 * uInt32Array,
+ UInt32 count,
+ Boolean locked);
+
+
+/* Double */
+/*
+ * PMTicketSetDouble()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetDouble(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ double value,
+ Boolean locked);
+
+
+/* Array of doubles */
+/*
+ * PMTicketSetDoubleArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetDoubleArray(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ const double * doubleArray,
+ UInt32 count,
+ Boolean changeable);
+
+
+/* PMResolution - Array of 2 Doubles */
+/*
+ * PMTicketSetPMResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetPMResolution(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ PMResolution * value,
+ Boolean locked);
+
+
+/* Array of PMResolution */
+/*
+ * PMTicketSetPMResolutionArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetPMResolutionArray(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ PMResolution * pmResolutionArray,
+ UInt32 count,
+ Boolean locked);
+
+
+/* PMRect - Array of 4 Doubles */
+/*
+ * PMTicketSetPMRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetPMRect(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ PMRect * value,
+ Boolean locked);
+
+
+/* Array of PMRects */
+/*
+ * PMTicketSetPMRectArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetPMRectArray(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ PMRect * pmRectArray,
+ UInt32 count,
+ Boolean locked);
+
+
+/* Raw Data */
+/* CFData */
+/*
+ * PMTicketSetCFData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCFData(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ CFDataRef item,
+ Boolean locked);
+
+
+/* UInt8 - 'C' Bytes */
+/*
+ * PMTicketSetBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetBytes(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ const UInt8 * data,
+ UInt32 size,
+ Boolean locked);
+
+
+/* Booleans */
+/* CFBoolean */
+/*
+ * PMTicketSetCFBoolean()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCFBoolean(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ CFBooleanRef item,
+ Boolean locked);
+
+
+/* 'C' Boolean */
+/*
+ * PMTicketSetBoolean()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetBoolean(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ Boolean value,
+ Boolean locked);
+
+
+
+/* Dates */
+/*
+ * PMTicketSetCFDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCFDate(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ CFDateRef item,
+ Boolean locked);
+
+
+/* Arrays */
+/*
+ * PMTicketSetCFArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCFArray(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ CFArrayRef item,
+ Boolean locked);
+
+
+/* Dictionaries */
+/*
+ * PMTicketSetCFDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetCFDictionary(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ CFDictionaryRef item,
+ Boolean locked);
+
+
+/* Templates, which are defined to be opaque. */
+/*
+ * PMTicketSetTemplate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetTemplate(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ PMTemplateRef item,
+ Boolean locked);
+
+
+/* Generic CF Type */
+/*
+ * PMTicketSetItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetItem(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key,
+ CFTypeRef item,
+ Boolean locked);
+
+
+
+/*
+ * PMTicketSetMetaItem()
+ *
+ * Discussion:
+ * To add an item that doesn't need to be stored in the XML file,
+ * use the PMTicketSetMetaItem() call. It allows simple addition of
+ * an item, but that item won't be written to XML when the rest of
+ * the ticket is stored. By definition, all meta items are not
+ * locked, simply because we have no easy mechanism for keeping
+ * track of a locked state for a meta item. Our intent is to allow a
+ * caller to add items temporarily to a ticket, perhaps to keep
+ * track of the "default" ticket in a list of tickets, or the
+ * "current" paper info in a list of papers.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetMetaItem(
+ PMTicketRef ticket,
+ CFStringRef key,
+ CFTypeRef item);
+
+
+
+/*
+ * PMTicketFillFromArray()
+ *
+ * Discussion:
+ * Convert an array of static item structures into entries for a
+ * ticket and add them one at a time to the ticket. Could fail part
+ * way through.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketFillFromArray(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ const PMTicketItemStruct * items,
+ UInt32 itemCount);
+
+
+
+/*
+ * PMTicketCopyItem()
+ *
+ * Discussion:
+ * If an item must be copied from one ticket to another, use the
+ * "CopyItem" call to make the simple transfer. This will update the
+ * recorded date and client ID for the item. The "locked" field will
+ * determine if subsequent updates may be made.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketCopyItem(
+ PMTicketRef sourceTicket,
+ PMTicketRef destTicket,
+ CFStringRef clientID,
+ CFStringRef key,
+ Boolean locked);
+
+
+
+/* A couple of functions that will help in managing the "locked" state of any ticket */
+/* item. These functions only work for items directly stored in the current ticket, not */
+/* for items in sub-tickets. */
+/*
+ * PMTicketIsItemLocked()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketIsItemLocked(
+ PMTicketRef ticket,
+ CFStringRef key,
+ Boolean * locked);
+
+
+/*
+ * PMTicketLockItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketLockItem(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key);
+
+
+/*
+ * PMTicketUnlockItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketUnlockItem(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key);
+
+
+
+/*
+ * PMTicketDeleteItem()
+ *
+ * Discussion:
+ * Disable an item using PMTicketDelete. Future callers will see
+ * "ItemNotFound" errors. This call actually tags a new set of
+ * structures to the end of an item's dictionary, in order to keep a
+ * history of the item.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketDeleteItem(
+ PMTicketRef ticket,
+ CFStringRef clientID,
+ CFStringRef key);
+
+
+/*
+ * PMTicketReleaseItem()
+ *
+ * Discussion:
+ * Release an item (quite different from delete) when you want it
+ * completely removed from the ticket. This can only be done if the
+ * item is unlocked.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketReleaseItem(
+ PMTicketRef ticket,
+ CFStringRef key);
+
+
+/*
+ * PMTicketContainsItem()
+ *
+ * Discussion:
+ * Fetching an item back out of the ticket requires the "GetItem"
+ * call for the particular type of data you're fetching. In some
+ * cases, the caller doesn't know what type of data is being
+ * returned, so we have a generic "GetItem" call, but for all other
+ * cases developers are encouraged to use the specific call for the
+ * data they need, thus enabling type checking and reducing errors.
+ * Returns true if item exists.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+PMTicketContainsItem(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key);
+
+
+/* Strings */
+/* CFString */
+/*
+ * PMTicketGetCFString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetCFString(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ CFStringRef * item);
+
+
+/* Pascal String */
+/*
+ * PMTicketGetPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetPString(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ UInt32 bufferSize,
+ CFStringEncoding encoding,
+ StringPtr value);
+
+
+/* 'C' String */
+/*
+ * PMTicketGetCString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetCString(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ UInt32 bufferSize,
+ CFStringEncoding encoding,
+ char * value);
+
+
+
+/* Numbers */
+/* CFNumber */
+/*
+ * PMTicketGetCFNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetCFNumber(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ CFNumberRef * item);
+
+
+/* SInt32 */
+/*
+ * PMTicketGetSInt32()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetSInt32(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ SInt32 * value);
+
+
+/* UInt32 */
+/*
+ * PMTicketGetUInt32()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetUInt32(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ UInt32 * value);
+
+
+/* Double */
+/*
+ * PMTicketGetDouble()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetDouble(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ double * value);
+
+
+/* PMResolution - Array of 2 doubles */
+/*
+ * PMTicketGetPMResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetPMResolution(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ PMResolution * res);
+
+
+/*
+ * PMTicketGetIndexPMResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetIndexPMResolution(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ UInt32 index,
+ PMResolution * res);
+
+
+/* PMRect - Array of 4 doubles */
+/*
+ * PMTicketGetPMRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetPMRect(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ PMRect * value);
+
+
+
+/* Raw Data */
+/* CFData */
+/*
+ * PMTicketGetCFData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetCFData(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ CFDataRef * item);
+
+
+/* UInt8 - 'C' Bytes */
+/* NOTE: Caller is expected to call twice if size is unknown, passing null for data pointer */
+/* and a valid pointer for the size before allocating space and calling back with both pointers */
+/* set, this time with valid data pointer and valid size pointer pointing to # of bytes requested. */
+/*
+ * PMTicketGetBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetBytes(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ UInt8 * data,
+ UInt32 * size);
+
+
+/* Booleans */
+/* CFBoolean */
+/*
+ * PMTicketGetCFBoolean()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetCFBoolean(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ CFBooleanRef * item);
+
+
+/* 'C' Boolean */
+/*
+ * PMTicketGetBoolean()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetBoolean(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ Boolean * value);
+
+
+/* Dates */
+/*
+ * PMTicketGetCFDate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetCFDate(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ CFDateRef * item);
+
+
+/* Non-numeric Arrays */
+/*
+ * PMTicketGetCFArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetCFArray(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ CFArrayRef * item);
+
+
+/* Dictionaries */
+/*
+ * PMTicketGetCFDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetCFDictionary(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ CFDictionaryRef * item);
+
+
+/* PMTemplates, which are defined to be opaque. */
+/*
+ * PMTicketCreateTemplate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketCreateTemplate(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ PMTemplateRef * item);
+
+
+
+/* The generic calls for regular items and meta items. See notes on "SetMetaItem" for more details. */
+/*
+ * PMTicketGetItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetItem(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFStringRef key,
+ CFTypeRef * item);
+
+
+/* Meta items don't get saved to XML. */
+/*
+ * PMTicketGetMetaItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetMetaItem(
+ PMTicketRef ticket,
+ CFStringRef key,
+ CFTypeRef * item);
+
+
+
+/* Any ticket can contain another ticket, allowing us to store multiple PageFormat tickets */
+/* (one for each page) and multiple Document Info tickets (for multi-document jobs). The following */
+/* functions allow us to put a ticket into another ticket as a sub-ticket, and retreive it */
+/* later on. */
+/*
+ * PMTicketSetTicket()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketSetTicket(
+ PMTicketRef ticket,
+ PMTicketRef ticketToAdd,
+ UInt32 index);
+
+
+/*
+ * PMTicketContainsTicket()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketContainsTicket(
+ PMTicketRef ticket,
+ CFStringRef requestedType,
+ UInt32 index,
+ Boolean * exists);
+
+
+/*
+ * PMTicketGetTicket()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetTicket(
+ PMTicketRef ticket,
+ CFStringRef requestedType,
+ UInt32 index,
+ PMTicketRef * retreivedTicket);
+
+
+/*
+ * PMTicketRemoveTicket()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketRemoveTicket(
+ PMTicketRef ticket,
+ CFStringRef typeToRemove,
+ UInt32 index);
+
+
+/*
+ * PMTicketGetPPDDict()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+PMTicketGetPPDDict(
+ PMTicketRef ticket,
+ UInt32 nodeIndex1,
+ UInt32 nodeIndex2,
+ CFMutableDictionaryRef * dict);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Packages.h b/include/qt/Packages.h
index 93969530e..504c989f8 100644
--- a/include/qt/Packages.h
+++ b/include/qt/Packages.h
@@ -1,18 +1,18 @@
/*
File: Packages.h
-
+
Contains: Package Manager Interfaces.
-
+
Version: Technology: System 7.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-1993, 1995, 1997-1999 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 __PACKAGES__
#define __PACKAGES__
@@ -37,47 +37,47 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- listMgr = 0, /* list manager */
- dskInit = 2, /* Disk Initializaton */
- stdFile = 3, /* Standard File */
- flPoint = 4, /* Floating-Point Arithmetic */
- trFunc = 5, /* Transcendental Functions */
- intUtil = 6, /* International Utilities */
- bdConv = 7, /* Binary/Decimal Conversion */
- editionMgr = 11 /* Edition Manager */
- };
+enum {
+ listMgr = 0, /* list manager */
+ dskInit = 2, /* Disk Initializaton */
+ stdFile = 3, /* Standard File */
+ flPoint = 4, /* Floating-Point Arithmetic */
+ trFunc = 5, /* Transcendental Functions */
+ intUtil = 6, /* International Utilities */
+ bdConv = 7, /* Binary/Decimal Conversion */
+ editionMgr = 11 /* Edition Manager */
+};
#if CALL_NOT_IN_CARBON
- /*
- * InitPack()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitPack(short packID) ONEWORDINLINE(0xA9E5);
-
-
- /*
- * InitAllPacks()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitAllPacks(void) ONEWORDINLINE(0xA9E6);
+/*
+ * InitPack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitPack(short packID) ONEWORDINLINE(0xA9E5);
+
+
+/*
+ * InitAllPacks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitAllPacks(void) ONEWORDINLINE(0xA9E6);
@@ -85,11 +85,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Palettes.h b/include/qt/Palettes.h
index 1131cc964..d276fc411 100644
--- a/include/qt/Palettes.h
+++ b/include/qt/Palettes.h
@@ -1,17 +1,17 @@
/*
File: Palettes.h
-
+
Contains: Palette Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1987-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PALETTES__
#define __PALETTES__
@@ -36,509 +36,507 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- pmCourteous = 0, /*Record use of color on each device touched.*/
- pmDithered = 0x0001,
- pmTolerant = 0x0002, /*render ciRGB if ciTolerance is exceeded by best match.*/
- pmAnimated = 0x0004, /*reserve an index on each device touched and render ciRGB.*/
- pmExplicit = 0x0008, /*no reserve, no render, no record; stuff index into port.*/
- pmWhite = 0x0010,
- pmBlack = 0x0020,
- pmInhibitG2 = 0x0100,
- pmInhibitC2 = 0x0200,
- pmInhibitG4 = 0x0400,
- pmInhibitC4 = 0x0800,
- pmInhibitG8 = 0x1000,
- pmInhibitC8 = 0x2000, /* NSetPalette Update Constants */
- pmNoUpdates = 0x8000, /*no updates*/
- pmBkUpdates = 0xA000, /*background updates only*/
- pmFgUpdates = 0xC000, /*foreground updates only*/
- pmAllUpdates = 0xE000 /*all updates*/
- };
-
- struct ColorInfo
- {
- RGBColor ciRGB; /*true RGB values*/
- short ciUsage; /*color usage*/
- short ciTolerance; /*tolerance value*/
- short ciDataFields[3]; /*private fields*/
- };
- typedef struct ColorInfo ColorInfo;
- typedef ColorInfo * ColorInfoPtr;
- typedef ColorInfoPtr * ColorInfoHandle;
- struct Palette
- {
- short pmEntries; /*entries in pmTable*/
- short pmDataFields[7]; /*private fields*/
- ColorInfo pmInfo[1];
- };
- typedef struct Palette Palette;
- typedef Palette * PalettePtr;
- typedef PalettePtr * PaletteHandle;
- /*
- * InitPalettes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InitPalettes(void) ONEWORDINLINE(0xAA90);
-
-
- /*
- * NewPalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PaletteHandle)
- NewPalette(
- short entries,
- CTabHandle srcColors,
- short srcUsage,
- short srcTolerance) ONEWORDINLINE(0xAA91);
-
-
- /*
- * GetNewPalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PaletteHandle)
- GetNewPalette(short PaletteID) ONEWORDINLINE(0xAA92);
-
-
- /*
- * DisposePalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposePalette(PaletteHandle srcPalette) ONEWORDINLINE(0xAA93);
-
-
- /*
- * ActivatePalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ActivatePalette(WindowRef srcWindow) ONEWORDINLINE(0xAA94);
-
-
- /*
- * SetPalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPalette(
- WindowRef dstWindow,
- PaletteHandle srcPalette,
- Boolean cUpdates) ONEWORDINLINE(0xAA95);
-
-
- /*
- * NSetPalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- NSetPalette(
- WindowRef dstWindow,
- PaletteHandle srcPalette,
- short nCUpdates) ONEWORDINLINE(0xAA95);
-
-
- /*
- * GetPalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PaletteHandle)
- GetPalette(WindowRef srcWindow) ONEWORDINLINE(0xAA96);
-
-
- /*
- * CopyPalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CopyPalette(
- PaletteHandle srcPalette,
- PaletteHandle dstPalette,
- short srcEntry,
- short dstEntry,
- short dstLength) ONEWORDINLINE(0xAAA1);
-
-
- /*
- * PmForeColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PmForeColor(short dstEntry) ONEWORDINLINE(0xAA97);
-
-
- /*
- * PmBackColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PmBackColor(short dstEntry) ONEWORDINLINE(0xAA98);
-
-
- /*
- * AnimateEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AnimateEntry(
- WindowRef dstWindow,
- short dstEntry,
- const RGBColor * srcRGB) ONEWORDINLINE(0xAA99);
-
-
- /*
- * [Mac]AnimatePalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+enum {
+ pmCourteous = 0, /*Record use of color on each device touched.*/
+ pmDithered = 0x0001,
+ pmTolerant = 0x0002, /*render ciRGB if ciTolerance is exceeded by best match.*/
+ pmAnimated = 0x0004, /*reserve an index on each device touched and render ciRGB.*/
+ pmExplicit = 0x0008, /*no reserve, no render, no record; stuff index into port.*/
+ pmWhite = 0x0010,
+ pmBlack = 0x0020,
+ pmInhibitG2 = 0x0100,
+ pmInhibitC2 = 0x0200,
+ pmInhibitG4 = 0x0400,
+ pmInhibitC4 = 0x0800,
+ pmInhibitG8 = 0x1000,
+ pmInhibitC8 = 0x2000, /* NSetPalette Update Constants */
+ pmNoUpdates = 0x8000, /*no updates*/
+ pmBkUpdates = 0xA000, /*background updates only*/
+ pmFgUpdates = 0xC000, /*foreground updates only*/
+ pmAllUpdates = 0xE000 /*all updates*/
+};
+
+struct ColorInfo {
+ RGBColor ciRGB; /*true RGB values*/
+ short ciUsage; /*color usage*/
+ short ciTolerance; /*tolerance value*/
+ short ciDataFields[3]; /*private fields*/
+};
+typedef struct ColorInfo ColorInfo;
+typedef ColorInfo * ColorInfoPtr;
+typedef ColorInfoPtr * ColorInfoHandle;
+struct Palette {
+ short pmEntries; /*entries in pmTable*/
+ short pmDataFields[7]; /*private fields*/
+ ColorInfo pmInfo[1];
+};
+typedef struct Palette Palette;
+typedef Palette * PalettePtr;
+typedef PalettePtr * PaletteHandle;
+/*
+ * InitPalettes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InitPalettes(void) ONEWORDINLINE(0xAA90);
+
+
+/*
+ * NewPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PaletteHandle )
+NewPalette(
+ short entries,
+ CTabHandle srcColors,
+ short srcUsage,
+ short srcTolerance) ONEWORDINLINE(0xAA91);
+
+
+/*
+ * GetNewPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PaletteHandle )
+GetNewPalette(short PaletteID) ONEWORDINLINE(0xAA92);
+
+
+/*
+ * DisposePalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposePalette(PaletteHandle srcPalette) ONEWORDINLINE(0xAA93);
+
+
+/*
+ * ActivatePalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ActivatePalette(WindowRef srcWindow) ONEWORDINLINE(0xAA94);
+
+
+/*
+ * SetPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPalette(
+ WindowRef dstWindow,
+ PaletteHandle srcPalette,
+ Boolean cUpdates) ONEWORDINLINE(0xAA95);
+
+
+/*
+ * NSetPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+NSetPalette(
+ WindowRef dstWindow,
+ PaletteHandle srcPalette,
+ short nCUpdates) ONEWORDINLINE(0xAA95);
+
+
+/*
+ * GetPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PaletteHandle )
+GetPalette(WindowRef srcWindow) ONEWORDINLINE(0xAA96);
+
+
+/*
+ * CopyPalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CopyPalette(
+ PaletteHandle srcPalette,
+ PaletteHandle dstPalette,
+ short srcEntry,
+ short dstEntry,
+ short dstLength) ONEWORDINLINE(0xAAA1);
+
+
+/*
+ * PmForeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PmForeColor(short dstEntry) ONEWORDINLINE(0xAA97);
+
+
+/*
+ * PmBackColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PmBackColor(short dstEntry) ONEWORDINLINE(0xAA98);
+
+
+/*
+ * AnimateEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AnimateEntry(
+ WindowRef dstWindow,
+ short dstEntry,
+ const RGBColor * srcRGB) ONEWORDINLINE(0xAA99);
+
+
+/*
+ * [Mac]AnimatePalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacAnimatePalette AnimatePalette
+ #define MacAnimatePalette AnimatePalette
#endif
- EXTERN_API(void)
- MacAnimatePalette(
- WindowRef dstWindow,
- CTabHandle srcCTab,
- short srcIndex,
- short dstEntry,
- short dstLength) ONEWORDINLINE(0xAA9A);
-
-
- /*
- * GetEntryColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetEntryColor(
- PaletteHandle srcPalette,
- short srcEntry,
- RGBColor * dstRGB) ONEWORDINLINE(0xAA9B);
-
-
- /*
- * SetEntryColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetEntryColor(
- PaletteHandle dstPalette,
- short dstEntry,
- const RGBColor * srcRGB) ONEWORDINLINE(0xAA9C);
-
-
- /*
- * GetEntryUsage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetEntryUsage(
- PaletteHandle srcPalette,
- short srcEntry,
- short * dstUsage,
- short * dstTolerance) ONEWORDINLINE(0xAA9D);
-
-
- /*
- * SetEntryUsage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetEntryUsage(
- PaletteHandle dstPalette,
- short dstEntry,
- short srcUsage,
- short srcTolerance) ONEWORDINLINE(0xAA9E);
-
-
- /*
- * CTab2Palette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CTab2Palette(
- CTabHandle srcCTab,
- PaletteHandle dstPalette,
- short srcUsage,
- short srcTolerance) ONEWORDINLINE(0xAA9F);
-
-
- /*
- * Palette2CTab()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Palette2CTab(
- PaletteHandle srcPalette,
- CTabHandle dstCTab) ONEWORDINLINE(0xAAA0);
-
-
- /*
- * Entry2Index()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- Entry2Index(short entry) TWOWORDINLINE(0x7000, 0xAAA2);
-
-
- /*
- * RestoreDeviceClut()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RestoreDeviceClut(GDHandle gd) TWOWORDINLINE(0x7002, 0xAAA2);
-
-
- /*
- * [Mac]ResizePalette()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacAnimatePalette(
+ WindowRef dstWindow,
+ CTabHandle srcCTab,
+ short srcIndex,
+ short dstEntry,
+ short dstLength) ONEWORDINLINE(0xAA9A);
+
+
+/*
+ * GetEntryColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetEntryColor(
+ PaletteHandle srcPalette,
+ short srcEntry,
+ RGBColor * dstRGB) ONEWORDINLINE(0xAA9B);
+
+
+/*
+ * SetEntryColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetEntryColor(
+ PaletteHandle dstPalette,
+ short dstEntry,
+ const RGBColor * srcRGB) ONEWORDINLINE(0xAA9C);
+
+
+/*
+ * GetEntryUsage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetEntryUsage(
+ PaletteHandle srcPalette,
+ short srcEntry,
+ short * dstUsage,
+ short * dstTolerance) ONEWORDINLINE(0xAA9D);
+
+
+/*
+ * SetEntryUsage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetEntryUsage(
+ PaletteHandle dstPalette,
+ short dstEntry,
+ short srcUsage,
+ short srcTolerance) ONEWORDINLINE(0xAA9E);
+
+
+/*
+ * CTab2Palette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CTab2Palette(
+ CTabHandle srcCTab,
+ PaletteHandle dstPalette,
+ short srcUsage,
+ short srcTolerance) ONEWORDINLINE(0xAA9F);
+
+
+/*
+ * Palette2CTab()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Palette2CTab(
+ PaletteHandle srcPalette,
+ CTabHandle dstCTab) ONEWORDINLINE(0xAAA0);
+
+
+/*
+ * Entry2Index()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+Entry2Index(short entry) TWOWORDINLINE(0x7000, 0xAAA2);
+
+
+/*
+ * RestoreDeviceClut()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RestoreDeviceClut(GDHandle gd) TWOWORDINLINE(0x7002, 0xAAA2);
+
+
+/*
+ * [Mac]ResizePalette()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacResizePalette ResizePalette
+ #define MacResizePalette ResizePalette
#endif
- EXTERN_API(void)
- MacResizePalette(
- PaletteHandle p,
- short size) TWOWORDINLINE(0x7003, 0xAAA2);
-
-
- /*
- * SaveFore()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SaveFore(ColorSpec * c) THREEWORDINLINE(0x303C, 0x040D, 0xAAA2);
-
-
- /*
- * SaveBack()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SaveBack(ColorSpec * c) THREEWORDINLINE(0x303C, 0x040E, 0xAAA2);
-
-
- /*
- * RestoreFore()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RestoreFore(const ColorSpec * c) THREEWORDINLINE(0x303C, 0x040F, 0xAAA2);
-
-
- /*
- * RestoreBack()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RestoreBack(const ColorSpec * c) THREEWORDINLINE(0x303C, 0x0410, 0xAAA2);
-
-
- /*
- * SetDepth()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDepth(
- GDHandle gd,
- short depth,
- short whichFlags,
- short flags) THREEWORDINLINE(0x303C, 0x0A13, 0xAAA2);
-
-
- /*
- * HasDepth()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- HasDepth(
- GDHandle gd,
- short depth,
- short whichFlags,
- short flags) THREEWORDINLINE(0x303C, 0x0A14, 0xAAA2);
-
-
- /*
- * PMgrVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- PMgrVersion(void) TWOWORDINLINE(0x7015, 0xAAA2);
-
-
- /*
- * SetPaletteUpdates()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPaletteUpdates(
- PaletteHandle p,
- short updates) THREEWORDINLINE(0x303C, 0x0616, 0xAAA2);
-
-
- /*
- * GetPaletteUpdates()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetPaletteUpdates(PaletteHandle p) THREEWORDINLINE(0x303C, 0x0417, 0xAAA2);
-
-
- /*
- * GetGray()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- GetGray(
- GDHandle device,
- const RGBColor * backGround,
- RGBColor * foreGround) THREEWORDINLINE(0x303C, 0x0C19, 0xAAA2);
+EXTERN_API( void )
+MacResizePalette(
+ PaletteHandle p,
+ short size) TWOWORDINLINE(0x7003, 0xAAA2);
+
+
+/*
+ * SaveFore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SaveFore(ColorSpec * c) THREEWORDINLINE(0x303C, 0x040D, 0xAAA2);
+
+
+/*
+ * SaveBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SaveBack(ColorSpec * c) THREEWORDINLINE(0x303C, 0x040E, 0xAAA2);
+
+
+/*
+ * RestoreFore()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RestoreFore(const ColorSpec * c) THREEWORDINLINE(0x303C, 0x040F, 0xAAA2);
+
+
+/*
+ * RestoreBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RestoreBack(const ColorSpec * c) THREEWORDINLINE(0x303C, 0x0410, 0xAAA2);
+
+
+/*
+ * SetDepth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDepth(
+ GDHandle gd,
+ short depth,
+ short whichFlags,
+ short flags) THREEWORDINLINE(0x303C, 0x0A13, 0xAAA2);
+
+
+/*
+ * HasDepth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+HasDepth(
+ GDHandle gd,
+ short depth,
+ short whichFlags,
+ short flags) THREEWORDINLINE(0x303C, 0x0A14, 0xAAA2);
+
+
+/*
+ * PMgrVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+PMgrVersion(void) TWOWORDINLINE(0x7015, 0xAAA2);
+
+
+/*
+ * SetPaletteUpdates()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPaletteUpdates(
+ PaletteHandle p,
+ short updates) THREEWORDINLINE(0x303C, 0x0616, 0xAAA2);
+
+
+/*
+ * GetPaletteUpdates()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetPaletteUpdates(PaletteHandle p) THREEWORDINLINE(0x303C, 0x0417, 0xAAA2);
+
+
+/*
+ * GetGray()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetGray(
+ GDHandle device,
+ const RGBColor * backGround,
+ RGBColor * foreGround) THREEWORDINLINE(0x303C, 0x0C19, 0xAAA2);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Patches.h b/include/qt/Patches.h
index 96bfc85e0..f15d6153c 100644
--- a/include/qt/Patches.h
+++ b/include/qt/Patches.h
@@ -1,17 +1,17 @@
/*
File: Patches.h
-
+
Contains: Patch Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PATCHES__
@@ -37,57 +37,56 @@ extern "C" {
#endif
#if CALL_NOT_IN_CARBON
- enum {
- kOSTrapType = 0,
- kToolboxTrapType = 1
- };
-
- typedef SignedByte TrapType;
- enum
- {
- OSTrap = kOSTrapType, /* old name */
- ToolTrap = kToolboxTrapType /* old name */
- };
+enum {
+ kOSTrapType = 0,
+ kToolboxTrapType = 1
+};
+
+typedef SignedByte TrapType;
+enum {
+ OSTrap = kOSTrapType, /* old name */
+ ToolTrap = kToolboxTrapType /* old name */
+};
#endif /* CALL_NOT_IN_CARBON */
- /*
- GetTrapAddress and SetTrapAddress are obsolete and should not
- be used. Always use NGetTrapAddress and NSetTrapAddress instead.
- The old routines will not be supported for PowerPC apps.
- */
+/*
+ GetTrapAddress and SetTrapAddress are obsolete and should not
+ be used. Always use NGetTrapAddress and NSetTrapAddress instead.
+ The old routines will not be supported for PowerPC apps.
+*/
#if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#if CALL_NOT_IN_CARBON
- /*
- * GetTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 GetTrapAddress(__D0)
#endif
- EXTERN_API(UniversalProcPtr)
- GetTrapAddress(UInt16 trapNum) ONEWORDINLINE(0xA146);
-
-
- /*
- * SetTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( UniversalProcPtr )
+GetTrapAddress(UInt16 trapNum) ONEWORDINLINE(0xA146);
+
+
+/*
+ * SetTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetTrapAddress(__A0, __D0)
#endif
- EXTERN_API(void)
- SetTrapAddress(
- UniversalProcPtr trapAddr,
- UInt16 trapNum) ONEWORDINLINE(0xA047);
+EXTERN_API( void )
+SetTrapAddress(
+ UniversalProcPtr trapAddr,
+ UInt16 trapNum) ONEWORDINLINE(0xA047);
#endif /* CALL_NOT_IN_CARBON */
@@ -95,148 +94,148 @@ extern "C" {
#endif /* TARGET_CPU_68K && !TARGET_RT_MAC_CFM */
#if CALL_NOT_IN_CARBON
- /*
- * NGetTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr)
- NGetTrapAddress(
- UInt16 trapNum,
- TrapType tTyp);
-
-
- /*
- * NSetTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- NSetTrapAddress(
- UniversalProcPtr trapAddr,
- UInt16 trapNum,
- TrapType tTyp);
+/*
+ * NGetTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr )
+NGetTrapAddress(
+ UInt16 trapNum,
+ TrapType tTyp);
+
+
+/*
+ * NSetTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+NSetTrapAddress(
+ UniversalProcPtr trapAddr,
+ UInt16 trapNum,
+ TrapType tTyp);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * GetOSTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetOSTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 GetOSTrapAddress(__D0)
#endif
- EXTERN_API(UniversalProcPtr)
- GetOSTrapAddress(UInt16 trapNum) ONEWORDINLINE(0xA346);
-
-
- /*
- * SetOSTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( UniversalProcPtr )
+GetOSTrapAddress(UInt16 trapNum) ONEWORDINLINE(0xA346);
+
+
+/*
+ * SetOSTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetOSTrapAddress(__A0, __D0)
#endif
- EXTERN_API(void)
- SetOSTrapAddress(
- UniversalProcPtr trapAddr,
- UInt16 trapNum) ONEWORDINLINE(0xA247);
-
-
- /*
- * GetToolTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( void )
+SetOSTrapAddress(
+ UniversalProcPtr trapAddr,
+ UInt16 trapNum) ONEWORDINLINE(0xA247);
+
+
+/*
+ * GetToolTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 GetToolTrapAddress(__D0)
#endif
- EXTERN_API(UniversalProcPtr)
- GetToolTrapAddress(UInt16 trapNum) ONEWORDINLINE(0xA746);
-
-
- /*
- * SetToolTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( UniversalProcPtr )
+GetToolTrapAddress(UInt16 trapNum) ONEWORDINLINE(0xA746);
+
+
+/*
+ * SetToolTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetToolTrapAddress(__A0, __D0)
#endif
- EXTERN_API(void)
- SetToolTrapAddress(
- UniversalProcPtr trapAddr,
- UInt16 trapNum) ONEWORDINLINE(0xA647);
-
-
- /*
- * GetToolboxTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( void )
+SetToolTrapAddress(
+ UniversalProcPtr trapAddr,
+ UInt16 trapNum) ONEWORDINLINE(0xA647);
+
+
+/*
+ * GetToolboxTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 GetToolboxTrapAddress(__D0)
#endif
- EXTERN_API(UniversalProcPtr)
- GetToolboxTrapAddress(UInt16 trapNum) ONEWORDINLINE(0xA746);
-
-
- /*
- * SetToolboxTrapAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( UniversalProcPtr )
+GetToolboxTrapAddress(UInt16 trapNum) ONEWORDINLINE(0xA746);
+
+
+/*
+ * SetToolboxTrapAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetToolboxTrapAddress(__A0, __D0)
#endif
- EXTERN_API(void)
- SetToolboxTrapAddress(
- UniversalProcPtr trapAddr,
- UInt16 trapNum) ONEWORDINLINE(0xA647);
+EXTERN_API( void )
+SetToolboxTrapAddress(
+ UniversalProcPtr trapAddr,
+ UInt16 trapNum) ONEWORDINLINE(0xA647);
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_CPU_PPC
#if CALL_NOT_IN_CARBON
- /*
- * GetTrapVector()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcHandle)
- GetTrapVector(UInt16 trapNumber);
+/*
+ * GetTrapVector()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcHandle )
+GetTrapVector(UInt16 trapNumber);
#endif /* CALL_NOT_IN_CARBON */
diff --git a/include/qt/PictUtils.h b/include/qt/PictUtils.h
index a3e60a72e..b3f0bf45a 100644
--- a/include/qt/PictUtils.h
+++ b/include/qt/PictUtils.h
@@ -1,17 +1,17 @@
/*
File: PictUtils.h
-
+
Contains: Picture Utilities Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PICTUTILS__
#define __PICTUTILS__
@@ -40,488 +40,447 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- /* verbs for the GetPictInfo, GetPixMapInfo, and NewPictInfo calls */
- enum {
- returnColorTable = 0x0001,
- returnPalette = 0x0002,
- recordComments = 0x0004,
- recordFontInfo = 0x0008,
- suppressBlackAndWhite = 0x0010
- };
-
- enum
- {
- /* color pick methods */
- systemMethod = 0, /* system color pick method */
- popularMethod = 1, /* method that chooses the most popular set of colors */
- medianMethod = 2 /* method that chooses a good average mix of colors */
- };
-
- enum
- {
- /* color bank types */
- ColorBankIsCustom = -1,
- ColorBankIsExactAnd555 = 0,
- ColorBankIs555 = 1
- };
-
- typedef long PictInfoID;
- struct CommentSpec
- {
- short count; /* number of occurrances of this comment ID */
- short ID; /* ID for the comment in the picture */
- };
- typedef struct CommentSpec CommentSpec;
- typedef CommentSpec * CommentSpecPtr;
- typedef CommentSpecPtr * CommentSpecHandle;
- struct FontSpec
- {
- short pictFontID; /* ID of the font in the picture */
- short sysFontID; /* ID of the same font in the current system file */
- long size[4]; /* bit array of all the sizes found (1..127) (bit 0 means > 127) */
- short style; /* combined style of all occurrances of the font */
- long nameOffset; /* offset into the fontNamesHdl handle for the font's name */
- };
- typedef struct FontSpec FontSpec;
- typedef FontSpec * FontSpecPtr;
- typedef FontSpecPtr * FontSpecHandle;
- struct PictInfo
- {
- short version; /* this is always zero, for now */
- long uniqueColors; /* the number of actual colors in the picture(s)/pixmap(s) */
- PaletteHandle thePalette; /* handle to the palette information */
- CTabHandle theColorTable; /* handle to the color table */
- Fixed hRes; /* maximum horizontal resolution for all the pixmaps */
- Fixed vRes; /* maximum vertical resolution for all the pixmaps */
- short depth; /* maximum depth for all the pixmaps (in the picture) */
- Rect sourceRect; /* the picture frame rectangle (this contains the entire picture) */
- long textCount; /* total number of text strings in the picture */
- long lineCount; /* total number of lines in the picture */
- long rectCount; /* total number of rectangles in the picture */
- long rRectCount; /* total number of round rectangles in the picture */
- long ovalCount; /* total number of ovals in the picture */
- long arcCount; /* total number of arcs in the picture */
- long polyCount; /* total number of polygons in the picture */
- long regionCount; /* total number of regions in the picture */
- long bitMapCount; /* total number of bitmaps in the picture */
- long pixMapCount; /* total number of pixmaps in the picture */
- long commentCount; /* total number of comments in the picture */
- long uniqueComments; /* the number of unique comments in the picture */
- CommentSpecHandle commentHandle; /* handle to all the comment information */
- long uniqueFonts; /* the number of unique fonts in the picture */
- FontSpecHandle fontHandle; /* handle to the FontSpec information */
- Handle fontNamesHandle; /* handle to the font names */
- long reserved1;
- long reserved2;
- };
- typedef struct PictInfo PictInfo;
- typedef PictInfo * PictInfoPtr;
- typedef PictInfoPtr * PictInfoHandle;
- typedef CALLBACK_API(OSErr , InitPickMethodProcPtr)(SInt16 colorsRequested, UInt32 *dataRef, SInt16 *colorBankType);
- typedef CALLBACK_API(OSErr , RecordColorsProcPtr)(UInt32 dataRef, RGBColor *colorsArray, SInt32 colorCount, SInt32 *uniqueColors);
- typedef CALLBACK_API(OSErr , CalcColorTableProcPtr)(UInt32 dataRef, SInt16 colorsRequested, void *colorBankPtr, CSpecArray resultPtr);
- typedef CALLBACK_API(OSErr , DisposeColorPickMethodProcPtr)(UInt32 dataRef);
- typedef STACK_UPP_TYPE(InitPickMethodProcPtr) InitPickMethodUPP;
- typedef STACK_UPP_TYPE(RecordColorsProcPtr) RecordColorsUPP;
- typedef STACK_UPP_TYPE(CalcColorTableProcPtr) CalcColorTableUPP;
- typedef STACK_UPP_TYPE(DisposeColorPickMethodProcPtr) DisposeColorPickMethodUPP;
- /*
- * NewInitPickMethodUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(InitPickMethodUPP)
- NewInitPickMethodUPP(InitPickMethodProcPtr userRoutine);
+ #pragma pack(2)
+#endif
+
+/* verbs for the GetPictInfo, GetPixMapInfo, and NewPictInfo calls */
+enum {
+ returnColorTable = 0x0001,
+ returnPalette = 0x0002,
+ recordComments = 0x0004,
+ recordFontInfo = 0x0008,
+ suppressBlackAndWhite = 0x0010
+};
+
+enum {
+ /* color pick methods */
+ systemMethod = 0, /* system color pick method */
+ popularMethod = 1, /* method that chooses the most popular set of colors */
+ medianMethod = 2 /* method that chooses a good average mix of colors */
+};
+
+enum {
+ /* color bank types */
+ ColorBankIsCustom = -1,
+ ColorBankIsExactAnd555 = 0,
+ ColorBankIs555 = 1
+};
+
+typedef long PictInfoID;
+struct CommentSpec {
+ short count; /* number of occurrances of this comment ID */
+ short ID; /* ID for the comment in the picture */
+};
+typedef struct CommentSpec CommentSpec;
+typedef CommentSpec * CommentSpecPtr;
+typedef CommentSpecPtr * CommentSpecHandle;
+struct FontSpec {
+ short pictFontID; /* ID of the font in the picture */
+ short sysFontID; /* ID of the same font in the current system file */
+ long size[4]; /* bit array of all the sizes found (1..127) (bit 0 means > 127) */
+ short style; /* combined style of all occurrances of the font */
+ long nameOffset; /* offset into the fontNamesHdl handle for the font's name */
+};
+typedef struct FontSpec FontSpec;
+typedef FontSpec * FontSpecPtr;
+typedef FontSpecPtr * FontSpecHandle;
+struct PictInfo {
+ short version; /* this is always zero, for now */
+ long uniqueColors; /* the number of actual colors in the picture(s)/pixmap(s) */
+ PaletteHandle thePalette; /* handle to the palette information */
+ CTabHandle theColorTable; /* handle to the color table */
+ Fixed hRes; /* maximum horizontal resolution for all the pixmaps */
+ Fixed vRes; /* maximum vertical resolution for all the pixmaps */
+ short depth; /* maximum depth for all the pixmaps (in the picture) */
+ Rect sourceRect; /* the picture frame rectangle (this contains the entire picture) */
+ long textCount; /* total number of text strings in the picture */
+ long lineCount; /* total number of lines in the picture */
+ long rectCount; /* total number of rectangles in the picture */
+ long rRectCount; /* total number of round rectangles in the picture */
+ long ovalCount; /* total number of ovals in the picture */
+ long arcCount; /* total number of arcs in the picture */
+ long polyCount; /* total number of polygons in the picture */
+ long regionCount; /* total number of regions in the picture */
+ long bitMapCount; /* total number of bitmaps in the picture */
+ long pixMapCount; /* total number of pixmaps in the picture */
+ long commentCount; /* total number of comments in the picture */
+ long uniqueComments; /* the number of unique comments in the picture */
+ CommentSpecHandle commentHandle; /* handle to all the comment information */
+ long uniqueFonts; /* the number of unique fonts in the picture */
+ FontSpecHandle fontHandle; /* handle to the FontSpec information */
+ Handle fontNamesHandle; /* handle to the font names */
+ long reserved1;
+ long reserved2;
+};
+typedef struct PictInfo PictInfo;
+typedef PictInfo * PictInfoPtr;
+typedef PictInfoPtr * PictInfoHandle;
+typedef CALLBACK_API( OSErr , InitPickMethodProcPtr )(SInt16 colorsRequested, UInt32 *dataRef, SInt16 *colorBankType);
+typedef CALLBACK_API( OSErr , RecordColorsProcPtr )(UInt32 dataRef, RGBColor *colorsArray, SInt32 colorCount, SInt32 *uniqueColors);
+typedef CALLBACK_API( OSErr , CalcColorTableProcPtr )(UInt32 dataRef, SInt16 colorsRequested, void *colorBankPtr, CSpecArray resultPtr);
+typedef CALLBACK_API( OSErr , DisposeColorPickMethodProcPtr )(UInt32 dataRef);
+typedef STACK_UPP_TYPE(InitPickMethodProcPtr) InitPickMethodUPP;
+typedef STACK_UPP_TYPE(RecordColorsProcPtr) RecordColorsUPP;
+typedef STACK_UPP_TYPE(CalcColorTableProcPtr) CalcColorTableUPP;
+typedef STACK_UPP_TYPE(DisposeColorPickMethodProcPtr) DisposeColorPickMethodUPP;
+/*
+ * NewInitPickMethodUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( InitPickMethodUPP )
+NewInitPickMethodUPP(InitPickMethodProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppInitPickMethodProcInfo = 0x00000FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(InitPickMethodUPP) NewInitPickMethodUPP(InitPickMethodProcPtr userRoutine)
- {
- return (InitPickMethodUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppInitPickMethodProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewInitPickMethodUPP(userRoutine) (InitPickMethodUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppInitPickMethodProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppInitPickMethodProcInfo = 0x00000FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(InitPickMethodUPP) NewInitPickMethodUPP(InitPickMethodProcPtr userRoutine) { return (InitPickMethodUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppInitPickMethodProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewInitPickMethodUPP(userRoutine) (InitPickMethodUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppInitPickMethodProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewRecordColorsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(RecordColorsUPP)
- NewRecordColorsUPP(RecordColorsProcPtr userRoutine);
+/*
+ * NewRecordColorsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( RecordColorsUPP )
+NewRecordColorsUPP(RecordColorsProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppRecordColorsProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(RecordColorsUPP) NewRecordColorsUPP(RecordColorsProcPtr userRoutine)
- {
- return (RecordColorsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRecordColorsProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewRecordColorsUPP(userRoutine) (RecordColorsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRecordColorsProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppRecordColorsProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(RecordColorsUPP) NewRecordColorsUPP(RecordColorsProcPtr userRoutine) { return (RecordColorsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRecordColorsProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewRecordColorsUPP(userRoutine) (RecordColorsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRecordColorsProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCalcColorTableUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CalcColorTableUPP)
- NewCalcColorTableUPP(CalcColorTableProcPtr userRoutine);
+/*
+ * NewCalcColorTableUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CalcColorTableUPP )
+NewCalcColorTableUPP(CalcColorTableProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCalcColorTableProcInfo = 0x00003EE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CalcColorTableUPP) NewCalcColorTableUPP(CalcColorTableProcPtr userRoutine)
- {
- return (CalcColorTableUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalcColorTableProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCalcColorTableUPP(userRoutine) (CalcColorTableUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalcColorTableProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCalcColorTableProcInfo = 0x00003EE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CalcColorTableUPP) NewCalcColorTableUPP(CalcColorTableProcPtr userRoutine) { return (CalcColorTableUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalcColorTableProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCalcColorTableUPP(userRoutine) (CalcColorTableUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCalcColorTableProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDisposeColorPickMethodUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DisposeColorPickMethodUPP)
- NewDisposeColorPickMethodUPP(DisposeColorPickMethodProcPtr userRoutine);
+/*
+ * NewDisposeColorPickMethodUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DisposeColorPickMethodUPP )
+NewDisposeColorPickMethodUPP(DisposeColorPickMethodProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDisposeColorPickMethodProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DisposeColorPickMethodUPP) NewDisposeColorPickMethodUPP(DisposeColorPickMethodProcPtr userRoutine)
- {
- return (DisposeColorPickMethodUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDisposeColorPickMethodProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDisposeColorPickMethodUPP(userRoutine) (DisposeColorPickMethodUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDisposeColorPickMethodProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDisposeColorPickMethodProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DisposeColorPickMethodUPP) NewDisposeColorPickMethodUPP(DisposeColorPickMethodProcPtr userRoutine) { return (DisposeColorPickMethodUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDisposeColorPickMethodProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDisposeColorPickMethodUPP(userRoutine) (DisposeColorPickMethodUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDisposeColorPickMethodProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeInitPickMethodUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeInitPickMethodUPP(InitPickMethodUPP userUPP);
+/*
+ * DisposeInitPickMethodUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeInitPickMethodUPP(InitPickMethodUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeInitPickMethodUPP(InitPickMethodUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeInitPickMethodUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeInitPickMethodUPP(InitPickMethodUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeInitPickMethodUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeRecordColorsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeRecordColorsUPP(RecordColorsUPP userUPP);
+/*
+ * DisposeRecordColorsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeRecordColorsUPP(RecordColorsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeRecordColorsUPP(RecordColorsUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeRecordColorsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeRecordColorsUPP(RecordColorsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeRecordColorsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCalcColorTableUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCalcColorTableUPP(CalcColorTableUPP userUPP);
+/*
+ * DisposeCalcColorTableUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCalcColorTableUPP(CalcColorTableUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCalcColorTableUPP(CalcColorTableUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCalcColorTableUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCalcColorTableUPP(CalcColorTableUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCalcColorTableUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDisposeColorPickMethodUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDisposeColorPickMethodUPP(DisposeColorPickMethodUPP userUPP);
+/*
+ * DisposeDisposeColorPickMethodUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDisposeColorPickMethodUPP(DisposeColorPickMethodUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDisposeColorPickMethodUPP(DisposeColorPickMethodUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDisposeColorPickMethodUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDisposeColorPickMethodUPP(DisposeColorPickMethodUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDisposeColorPickMethodUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeInitPickMethodUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeInitPickMethodUPP(
- SInt16 colorsRequested,
- UInt32 * dataRef,
- SInt16 * colorBankType,
- InitPickMethodUPP userUPP);
+/*
+ * InvokeInitPickMethodUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeInitPickMethodUPP(
+ SInt16 colorsRequested,
+ UInt32 * dataRef,
+ SInt16 * colorBankType,
+ InitPickMethodUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeInitPickMethodUPP(SInt16 colorsRequested, UInt32 * dataRef, SInt16 * colorBankType, InitPickMethodUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppInitPickMethodProcInfo, colorsRequested, dataRef, colorBankType);
- }
-#else
-#define InvokeInitPickMethodUPP(colorsRequested, dataRef, colorBankType, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppInitPickMethodProcInfo, (colorsRequested), (dataRef), (colorBankType))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeInitPickMethodUPP(SInt16 colorsRequested, UInt32 * dataRef, SInt16 * colorBankType, InitPickMethodUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppInitPickMethodProcInfo, colorsRequested, dataRef, colorBankType); }
+ #else
+ #define InvokeInitPickMethodUPP(colorsRequested, dataRef, colorBankType, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppInitPickMethodProcInfo, (colorsRequested), (dataRef), (colorBankType))
+ #endif
#endif
- /*
- * InvokeRecordColorsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeRecordColorsUPP(
- UInt32 dataRef,
- RGBColor * colorsArray,
- SInt32 colorCount,
- SInt32 * uniqueColors,
- RecordColorsUPP userUPP);
+/*
+ * InvokeRecordColorsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeRecordColorsUPP(
+ UInt32 dataRef,
+ RGBColor * colorsArray,
+ SInt32 colorCount,
+ SInt32 * uniqueColors,
+ RecordColorsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeRecordColorsUPP(UInt32 dataRef, RGBColor * colorsArray, SInt32 colorCount, SInt32 * uniqueColors, RecordColorsUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppRecordColorsProcInfo, dataRef, colorsArray, colorCount, uniqueColors);
- }
-#else
-#define InvokeRecordColorsUPP(dataRef, colorsArray, colorCount, uniqueColors, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppRecordColorsProcInfo, (dataRef), (colorsArray), (colorCount), (uniqueColors))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeRecordColorsUPP(UInt32 dataRef, RGBColor * colorsArray, SInt32 colorCount, SInt32 * uniqueColors, RecordColorsUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppRecordColorsProcInfo, dataRef, colorsArray, colorCount, uniqueColors); }
+ #else
+ #define InvokeRecordColorsUPP(dataRef, colorsArray, colorCount, uniqueColors, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppRecordColorsProcInfo, (dataRef), (colorsArray), (colorCount), (uniqueColors))
+ #endif
#endif
- /*
- * InvokeCalcColorTableUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeCalcColorTableUPP(
- UInt32 dataRef,
- SInt16 colorsRequested,
- void * colorBankPtr,
- CSpecArray resultPtr,
- CalcColorTableUPP userUPP);
+/*
+ * InvokeCalcColorTableUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeCalcColorTableUPP(
+ UInt32 dataRef,
+ SInt16 colorsRequested,
+ void * colorBankPtr,
+ CSpecArray resultPtr,
+ CalcColorTableUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeCalcColorTableUPP(UInt32 dataRef, SInt16 colorsRequested, void * colorBankPtr, CSpecArray resultPtr, CalcColorTableUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppCalcColorTableProcInfo, dataRef, colorsRequested, colorBankPtr, resultPtr);
- }
-#else
-#define InvokeCalcColorTableUPP(dataRef, colorsRequested, colorBankPtr, resultPtr, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppCalcColorTableProcInfo, (dataRef), (colorsRequested), (colorBankPtr), (resultPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeCalcColorTableUPP(UInt32 dataRef, SInt16 colorsRequested, void * colorBankPtr, CSpecArray resultPtr, CalcColorTableUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppCalcColorTableProcInfo, dataRef, colorsRequested, colorBankPtr, resultPtr); }
+ #else
+ #define InvokeCalcColorTableUPP(dataRef, colorsRequested, colorBankPtr, resultPtr, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppCalcColorTableProcInfo, (dataRef), (colorsRequested), (colorBankPtr), (resultPtr))
+ #endif
#endif
- /*
- * InvokeDisposeColorPickMethodUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeDisposeColorPickMethodUPP(
- UInt32 dataRef,
- DisposeColorPickMethodUPP userUPP);
+/*
+ * InvokeDisposeColorPickMethodUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeDisposeColorPickMethodUPP(
+ UInt32 dataRef,
+ DisposeColorPickMethodUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeDisposeColorPickMethodUPP(UInt32 dataRef, DisposeColorPickMethodUPP userUPP)
- {
- return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppDisposeColorPickMethodProcInfo, dataRef);
- }
-#else
-#define InvokeDisposeColorPickMethodUPP(dataRef, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppDisposeColorPickMethodProcInfo, (dataRef))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeDisposeColorPickMethodUPP(UInt32 dataRef, DisposeColorPickMethodUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppDisposeColorPickMethodProcInfo, dataRef); }
+ #else
+ #define InvokeDisposeColorPickMethodUPP(dataRef, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppDisposeColorPickMethodProcInfo, (dataRef))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewInitPickMethodProc(userRoutine) NewInitPickMethodUPP(userRoutine)
-#define NewRecordColorsProc(userRoutine) NewRecordColorsUPP(userRoutine)
-#define NewCalcColorTableProc(userRoutine) NewCalcColorTableUPP(userRoutine)
-#define NewDisposeColorPickMethodProc(userRoutine) NewDisposeColorPickMethodUPP(userRoutine)
-#define CallInitPickMethodProc(userRoutine, colorsRequested, dataRef, colorBankType) InvokeInitPickMethodUPP(colorsRequested, dataRef, colorBankType, userRoutine)
-#define CallRecordColorsProc(userRoutine, dataRef, colorsArray, colorCount, uniqueColors) InvokeRecordColorsUPP(dataRef, colorsArray, colorCount, uniqueColors, userRoutine)
-#define CallCalcColorTableProc(userRoutine, dataRef, colorsRequested, colorBankPtr, resultPtr) InvokeCalcColorTableUPP(dataRef, colorsRequested, colorBankPtr, resultPtr, userRoutine)
-#define CallDisposeColorPickMethodProc(userRoutine, dataRef) InvokeDisposeColorPickMethodUPP(dataRef, userRoutine)
+ #define NewInitPickMethodProc(userRoutine) NewInitPickMethodUPP(userRoutine)
+ #define NewRecordColorsProc(userRoutine) NewRecordColorsUPP(userRoutine)
+ #define NewCalcColorTableProc(userRoutine) NewCalcColorTableUPP(userRoutine)
+ #define NewDisposeColorPickMethodProc(userRoutine) NewDisposeColorPickMethodUPP(userRoutine)
+ #define CallInitPickMethodProc(userRoutine, colorsRequested, dataRef, colorBankType) InvokeInitPickMethodUPP(colorsRequested, dataRef, colorBankType, userRoutine)
+ #define CallRecordColorsProc(userRoutine, dataRef, colorsArray, colorCount, uniqueColors) InvokeRecordColorsUPP(dataRef, colorsArray, colorCount, uniqueColors, userRoutine)
+ #define CallCalcColorTableProc(userRoutine, dataRef, colorsRequested, colorBankPtr, resultPtr) InvokeCalcColorTableUPP(dataRef, colorsRequested, colorBankPtr, resultPtr, userRoutine)
+ #define CallDisposeColorPickMethodProc(userRoutine, dataRef) InvokeDisposeColorPickMethodUPP(dataRef, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetPictInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetPictInfo(
- PicHandle thePictHandle,
- PictInfo * thePictInfo,
- short verb,
- short colorsRequested,
- short colorPickMethod,
- short version) THREEWORDINLINE(0x303C, 0x0800, 0xA831);
-
-
- /*
- * GetPixMapInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetPixMapInfo(
- PixMapHandle thePixMapHandle,
- PictInfo * thePictInfo,
- short verb,
- short colorsRequested,
- short colorPickMethod,
- short version) THREEWORDINLINE(0x303C, 0x0801, 0xA831);
-
-
- /*
- * NewPictInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewPictInfo(
- PictInfoID * thePictInfoID,
- short verb,
- short colorsRequested,
- short colorPickMethod,
- short version) THREEWORDINLINE(0x303C, 0x0602, 0xA831);
-
-
- /*
- * RecordPictInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RecordPictInfo(
- PictInfoID thePictInfoID,
- PicHandle thePictHandle) THREEWORDINLINE(0x303C, 0x0403, 0xA831);
-
-
- /*
- * RecordPixMapInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RecordPixMapInfo(
- PictInfoID thePictInfoID,
- PixMapHandle thePixMapHandle) THREEWORDINLINE(0x303C, 0x0404, 0xA831);
-
-
- /*
- * RetrievePictInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- RetrievePictInfo(
- PictInfoID thePictInfoID,
- PictInfo * thePictInfo,
- short colorsRequested) THREEWORDINLINE(0x303C, 0x0505, 0xA831);
-
-
- /*
- * DisposePictInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DisposePictInfo(PictInfoID thePictInfoID) THREEWORDINLINE(0x303C, 0x0206, 0xA831);
+/*
+ * GetPictInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetPictInfo(
+ PicHandle thePictHandle,
+ PictInfo * thePictInfo,
+ short verb,
+ short colorsRequested,
+ short colorPickMethod,
+ short version) THREEWORDINLINE(0x303C, 0x0800, 0xA831);
+
+
+/*
+ * GetPixMapInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetPixMapInfo(
+ PixMapHandle thePixMapHandle,
+ PictInfo * thePictInfo,
+ short verb,
+ short colorsRequested,
+ short colorPickMethod,
+ short version) THREEWORDINLINE(0x303C, 0x0801, 0xA831);
+
+
+/*
+ * NewPictInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewPictInfo(
+ PictInfoID * thePictInfoID,
+ short verb,
+ short colorsRequested,
+ short colorPickMethod,
+ short version) THREEWORDINLINE(0x303C, 0x0602, 0xA831);
+
+
+/*
+ * RecordPictInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RecordPictInfo(
+ PictInfoID thePictInfoID,
+ PicHandle thePictHandle) THREEWORDINLINE(0x303C, 0x0403, 0xA831);
+
+
+/*
+ * RecordPixMapInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RecordPixMapInfo(
+ PictInfoID thePictInfoID,
+ PixMapHandle thePixMapHandle) THREEWORDINLINE(0x303C, 0x0404, 0xA831);
+
+
+/*
+ * RetrievePictInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+RetrievePictInfo(
+ PictInfoID thePictInfoID,
+ PictInfo * thePictInfo,
+ short colorsRequested) THREEWORDINLINE(0x303C, 0x0505, 0xA831);
+
+
+/*
+ * DisposePictInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DisposePictInfo(PictInfoID thePictInfoID) THREEWORDINLINE(0x303C, 0x0206, 0xA831);
#if OLDROUTINENAMES
@@ -533,11 +492,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Power.h b/include/qt/Power.h
index 031a21bf7..e5e7e83f7 100644
--- a/include/qt/Power.h
+++ b/include/qt/Power.h
@@ -1,17 +1,17 @@
/*
File: Power.h
-
+
Contains: Power Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2001 by Apple Computer, Inc. All rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __POWER__
#define __POWER__
@@ -52,1973 +52,1896 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- enum {
- /* Bit positions for ModemByte */
- modemOnBit = 0,
- ringWakeUpBit = 2,
- modemInstalledBit = 3,
- ringDetectBit = 4,
- modemOnHookBit = 5
- };
-
- enum
- {
- /* masks for ModemByte */
- modemOnMask = 0x01,
- ringWakeUpMask = 0x04,
- modemInstalledMask = 0x08,
- ringDetectMask = 0x10,
- modemOnHookMask = 0x20
- };
-
- enum
- {
- /* bit positions for BatteryByte */
- chargerConnBit = 0,
- hiChargeBit = 1,
- chargeOverFlowBit = 2,
- batteryDeadBit = 3,
- batteryLowBit = 4,
- connChangedBit = 5
- };
-
- enum
- {
- /* masks for BatteryByte */
- chargerConnMask = 0x01,
- hiChargeMask = 0x02,
- chargeOverFlowMask = 0x04,
- batteryDeadMask = 0x08,
- batteryLowMask = 0x10,
- connChangedMask = 0x20
- };
-
- enum
- {
- /* bit positions for SoundMixerByte */
- MediaBaySndEnBit = 0,
- PCISndEnBit = 1,
- ZVSndEnBit = 2,
- PCCardSndEnBit = 3
- };
-
- enum
- {
- /* masks for SoundMixerByte */
- MediaBaySndEnMask = 0x01,
- PCISndEnMask = 0x02,
- ZVSndEnMask = 0x04,
- PCCardSndEnMask = 0x08
- };
-
- enum
- {
- /* commands to SleepQRec sleepQProc */
- kSleepRequest = 1,
- kSleepDemand = 2,
- kSleepWakeUp = 3,
- kSleepRevoke = 4,
- kSleepUnlock = 4,
- kSleepDeny = 5, /* A non-zero value clients can use to deny requests*/
- kSleepNow = 6,
- kDozeDemand = 7,
- kDozeWakeUp = 8,
- kDozeRequest = 9, /* additional messages for Power Mgr 2.0*/
- kEnterStandby = 10, /* Idle Queue Only*/
- kEnterRun = 11, /* Idle Queue Only*/
- kSuspendRequest = 12,
- kSuspendDemand = 13,
- kSuspendRevoke = 14,
- kSuspendWakeUp = 15,
- kGetPowerLevel = 16,
- kSetPowerLevel = 17,
- kDeviceInitiatedWake = 18,
- kWakeToDoze = 19,
- kDozeToFullWakeUp = 20,
- kGetPowerInfo = 21,
- kGetWakeOnNetInfo = 22,
- kSuspendWakeToDoze = 23,
- kEnterIdle = 24, /* Idle Queue Only*/
- kStillIdle = 25, /* Idle Queue Only*/
- kExitIdle = 26 /* Idle Queue Only*/
- };
-
- enum
- {
- /* depreciated commands to SleepQRec sleepQProc */
- sleepRequest = kSleepRequest,
- sleepDemand = kSleepDemand,
- sleepWakeUp = kSleepWakeUp,
- sleepRevoke = kSleepRevoke,
- sleepUnlock = kSleepUnlock,
- sleepDeny = kSleepDeny,
- sleepNow = kSleepNow,
- dozeDemand = kDozeDemand,
- dozeWakeUp = kDozeWakeUp,
- dozeRequest = kDozeRequest,
- enterStandby = kEnterStandby,
- enterRun = kEnterRun,
- suspendRequestMsg = kSuspendRequest,
- suspendDemandMsg = kSuspendDemand,
- suspendRevokeMsg = kSuspendRevoke,
- suspendWakeUpMsg = kSuspendWakeUp,
- getPowerLevel = kGetPowerLevel,
- setPowerLevel = kSetPowerLevel
- };
-
- /* Power Handler func messages */
- typedef UInt32 PowerLevel;
- /* Power levels corresponding to PCI Bus Power Management Interface Spec (PMIS) */
- enum
- {
- kPMDevicePowerLevel_On = 0, /* fully-powered 'On' state (D0 state) */
- kPMDevicePowerLevel_D1 = 1, /* not used by Apple system SW */
- kPMDevicePowerLevel_D2 = 2, /* not used by Apple system SW */
- kPMDevicePowerLevel_Off = 3 /* main PCI bus power 'Off', but PCI standby power available (D3cold state) */
- };
-
- /* PowerHandlerProc definition */
- typedef CALLBACK_API(OSStatus , PowerHandlerProcPtr)(UInt32 message, void *param, UInt32 refCon, RegEntryID *regEntryID);
- typedef STACK_UPP_TYPE(PowerHandlerProcPtr) PowerHandlerUPP;
+ #pragma pack(2)
+#endif
+
+enum {
+ /* Bit positions for ModemByte */
+ modemOnBit = 0,
+ ringWakeUpBit = 2,
+ modemInstalledBit = 3,
+ ringDetectBit = 4,
+ modemOnHookBit = 5
+};
+
+enum {
+ /* masks for ModemByte */
+ modemOnMask = 0x01,
+ ringWakeUpMask = 0x04,
+ modemInstalledMask = 0x08,
+ ringDetectMask = 0x10,
+ modemOnHookMask = 0x20
+};
+
+enum {
+ /* bit positions for BatteryByte */
+ chargerConnBit = 0,
+ hiChargeBit = 1,
+ chargeOverFlowBit = 2,
+ batteryDeadBit = 3,
+ batteryLowBit = 4,
+ connChangedBit = 5
+};
+
+enum {
+ /* masks for BatteryByte */
+ chargerConnMask = 0x01,
+ hiChargeMask = 0x02,
+ chargeOverFlowMask = 0x04,
+ batteryDeadMask = 0x08,
+ batteryLowMask = 0x10,
+ connChangedMask = 0x20
+};
+
+enum {
+ /* bit positions for SoundMixerByte */
+ MediaBaySndEnBit = 0,
+ PCISndEnBit = 1,
+ ZVSndEnBit = 2,
+ PCCardSndEnBit = 3
+};
+
+enum {
+ /* masks for SoundMixerByte */
+ MediaBaySndEnMask = 0x01,
+ PCISndEnMask = 0x02,
+ ZVSndEnMask = 0x04,
+ PCCardSndEnMask = 0x08
+};
+
+enum {
+ /* commands to SleepQRec sleepQProc */
+ kSleepRequest = 1,
+ kSleepDemand = 2,
+ kSleepWakeUp = 3,
+ kSleepRevoke = 4,
+ kSleepUnlock = 4,
+ kSleepDeny = 5, /* A non-zero value clients can use to deny requests*/
+ kSleepNow = 6,
+ kDozeDemand = 7,
+ kDozeWakeUp = 8,
+ kDozeRequest = 9, /* additional messages for Power Mgr 2.0*/
+ kEnterStandby = 10, /* Idle Queue Only*/
+ kEnterRun = 11, /* Idle Queue Only*/
+ kSuspendRequest = 12,
+ kSuspendDemand = 13,
+ kSuspendRevoke = 14,
+ kSuspendWakeUp = 15,
+ kGetPowerLevel = 16,
+ kSetPowerLevel = 17,
+ kDeviceInitiatedWake = 18,
+ kWakeToDoze = 19,
+ kDozeToFullWakeUp = 20,
+ kGetPowerInfo = 21,
+ kGetWakeOnNetInfo = 22,
+ kSuspendWakeToDoze = 23,
+ kEnterIdle = 24, /* Idle Queue Only*/
+ kStillIdle = 25, /* Idle Queue Only*/
+ kExitIdle = 26 /* Idle Queue Only*/
+};
+
+enum {
+ /* depreciated commands to SleepQRec sleepQProc */
+ sleepRequest = kSleepRequest,
+ sleepDemand = kSleepDemand,
+ sleepWakeUp = kSleepWakeUp,
+ sleepRevoke = kSleepRevoke,
+ sleepUnlock = kSleepUnlock,
+ sleepDeny = kSleepDeny,
+ sleepNow = kSleepNow,
+ dozeDemand = kDozeDemand,
+ dozeWakeUp = kDozeWakeUp,
+ dozeRequest = kDozeRequest,
+ enterStandby = kEnterStandby,
+ enterRun = kEnterRun,
+ suspendRequestMsg = kSuspendRequest,
+ suspendDemandMsg = kSuspendDemand,
+ suspendRevokeMsg = kSuspendRevoke,
+ suspendWakeUpMsg = kSuspendWakeUp,
+ getPowerLevel = kGetPowerLevel,
+ setPowerLevel = kSetPowerLevel
+};
+
+/* Power Handler func messages */
+typedef UInt32 PowerLevel;
+/* Power levels corresponding to PCI Bus Power Management Interface Spec (PMIS) */
+enum {
+ kPMDevicePowerLevel_On = 0, /* fully-powered 'On' state (D0 state) */
+ kPMDevicePowerLevel_D1 = 1, /* not used by Apple system SW */
+ kPMDevicePowerLevel_D2 = 2, /* not used by Apple system SW */
+ kPMDevicePowerLevel_Off = 3 /* main PCI bus power 'Off', but PCI standby power available (D3cold state) */
+};
+
+/* PowerHandlerProc definition */
+typedef CALLBACK_API( OSStatus , PowerHandlerProcPtr )(UInt32 message, void *param, UInt32 refCon, RegEntryID *regEntryID);
+typedef STACK_UPP_TYPE(PowerHandlerProcPtr) PowerHandlerUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewPowerHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(PowerHandlerUPP)
- NewPowerHandlerUPP(PowerHandlerProcPtr userRoutine);
-#if !OPAQUE_UPP_TYPES
- enum { uppPowerHandlerProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(PowerHandlerUPP) NewPowerHandlerUPP(PowerHandlerProcPtr userRoutine)
- {
- return (PowerHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPowerHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewPowerHandlerUPP(userRoutine) (PowerHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPowerHandlerProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * DisposePowerHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposePowerHandlerUPP(PowerHandlerUPP userUPP);
+/*
+ * NewPowerHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( PowerHandlerUPP )
+NewPowerHandlerUPP(PowerHandlerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposePowerHandlerUPP(PowerHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposePowerHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * InvokePowerHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- InvokePowerHandlerUPP(
- UInt32 message,
- void * param,
- UInt32 refCon,
- RegEntryID * regEntryID,
- PowerHandlerUPP userUPP);
+ enum { uppPowerHandlerProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PowerHandlerUPP) NewPowerHandlerUPP(PowerHandlerProcPtr userRoutine) { return (PowerHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPowerHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPowerHandlerUPP(userRoutine) (PowerHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPowerHandlerProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposePowerHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposePowerHandlerUPP(PowerHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokePowerHandlerUPP(UInt32 message, void * param, UInt32 refCon, RegEntryID * regEntryID, PowerHandlerUPP userUPP)
- {
- return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppPowerHandlerProcInfo, message, param, refCon, regEntryID);
- }
-#else
-#define InvokePowerHandlerUPP(message, param, refCon, regEntryID, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppPowerHandlerProcInfo, (message), (param), (refCon), (regEntryID))
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePowerHandlerUPP(PowerHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePowerHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
+
+/*
+ * InvokePowerHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+InvokePowerHandlerUPP(
+ UInt32 message,
+ void * param,
+ UInt32 refCon,
+ RegEntryID * regEntryID,
+ PowerHandlerUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokePowerHandlerUPP(UInt32 message, void * param, UInt32 refCon, RegEntryID * regEntryID, PowerHandlerUPP userUPP) { return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppPowerHandlerProcInfo, message, param, refCon, regEntryID); }
+ #else
+ #define InvokePowerHandlerUPP(message, param, refCon, regEntryID, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppPowerHandlerProcInfo, (message), (param), (refCon), (regEntryID))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewPowerHandlerProc(userRoutine) NewPowerHandlerUPP(userRoutine)
-#define CallPowerHandlerProc(userRoutine, message, param, refCon, regEntryID) InvokePowerHandlerUPP(message, param, refCon, regEntryID, userRoutine)
+ #define NewPowerHandlerProc(userRoutine) NewPowerHandlerUPP(userRoutine)
+ #define CallPowerHandlerProc(userRoutine, message, param, refCon, regEntryID) InvokePowerHandlerUPP(message, param, refCon, regEntryID, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- Use kIdleQueueDeviceType as the deviceType argument to AddDevicePowerHandler() to get the
- handler into the idle queue instead of the device sleep queue.
- */
+/*
+ Use kIdleQueueDeviceType as the deviceType argument to AddDevicePowerHandler() to get the
+ handler into the idle queue instead of the device sleep queue.
+*/
#define kIdleQueueDeviceType "idle-queue"
- /* PCI power management support*/
-
- enum
- {
- kUseDefaultMinimumWakeTime = 0, /* Defaults to 5 minutes*/
- kPowerSummaryVersion = 1, /* Version of PowerSummary structure.*/
- kDevicePowerInfoVersion = 1 /* Version of DevicePowerInfo structure.*/
- };
-
- enum
- {
- /* PowerSummary flags*/
- kPCIPowerOffAllowed = (1L << 0) /* PCI power off is allowed.*/
- };
-
- enum
- {
- /* DevicePowerInfo flags*/
- kDevicePCIPowerOffAllowed = (1L << 0), /* PCI power off is allowed for device.*/
- kDeviceSupportsPMIS = (1L << 1), /* Device supports Power Mgt Interface Spec.*/
- kDeviceCanAssertPMEDuringSleep = (1L << 2), /* Device can assert PME# during sleep.*/
- kDeviceUsesCommonLogicPower = (1L << 3), /* Device uses common-logic power*/
- kDeviceDriverPresent = (1L << 4), /* Driver present for device.*/
- kDeviceDriverSupportsPowerMgt = (1L << 5) /* Driver installed a power handler.*/
- };
-
- struct DevicePowerInfo
- {
- UInt32 version; /* Version of this structure.*/
- RegEntryID regID; /* RegEntryID for device.*/
- OptionBits flags; /* Flags*/
- UInt32 minimumWakeTime; /* Minimum seconds before sleeping again.*/
- UInt32 sleepPowerNeeded; /* Milliwatts needed in the sleep state.*/
- };
- typedef struct DevicePowerInfo DevicePowerInfo;
- struct PowerSummary
- {
- UInt32 version; /* Version of this structure.*/
- OptionBits flags; /* Flags*/
- UInt32 sleepPowerAvailable; /* Milliwatts available during sleep.*/
- UInt32 sleepPowerNeeded; /* Milliwatts needed during sleep.*/
- UInt32 minimumWakeTime; /* Minimum seconds before sleeping again.*/
- ItemCount deviceCount; /* Number of device power info records.*/
- DevicePowerInfo devices[1]; /* Array of device power info records.*/
- };
- typedef struct PowerSummary PowerSummary;
- enum
- {
- /* SleepQRec.sleepQFlags */
- noCalls = 1,
- noRequest = 2,
- slpQType = 16,
- sleepQType = 16
- };
-
- /* Power Mgt Apple Event types and errors */
- enum
- {
- /* power mgt class*/
- kAEMacPowerMgtEvt = FOUR_CHAR_CODE('pmgt'), /* event ids*/
- kAEMacToWake = FOUR_CHAR_CODE('wake'),
- kAEMacLowPowerSaveData = FOUR_CHAR_CODE('pmsd'),
- kAEMacEmergencySleep = FOUR_CHAR_CODE('emsl'),
- kAEMacEmergencyShutdown = FOUR_CHAR_CODE('emsd')
- };
-
-
- /*
- These are result values returned by a Power Handler when queries
- by the Power Mgr if the device which that Power Handler represents
- woke the machine.
- */
- enum
- {
- kDeviceDidNotWakeMachine = 0, /* device did NOT wake machine*/
- kDeviceRequestsFullWake = 1, /* device did wake machine and requests full wakeup*/
- kDeviceRequestsWakeToDoze = 2 /* device did wake machine and requests partial wakeup*/
- };
-
- /* bits in bitfield returned by PMFeatures */
- enum
- {
- hasWakeupTimer = 0, /* 1=wakeup timer is supported */
- hasSharedModemPort = 1, /* 1=modem port shared by SCC and internal modem */
- hasProcessorCycling = 2, /* 1=processor cycling is supported */
- mustProcessorCycle = 3, /* 1=processor cycling should not be turned off */
- hasReducedSpeed = 4, /* 1=processor can be started up at reduced speed */
- dynamicSpeedChange = 5, /* 1=processor speed can be switched dynamically */
- hasSCSIDiskMode = 6, /* 1=SCSI Disk Mode is supported */
- canGetBatteryTime = 7, /* 1=battery time can be calculated */
- canWakeupOnRing = 8, /* 1=can wakeup when the modem detects a ring */
- hasDimmingSupport = 9, /* 1=has dimming support built in (DPMS standby by default) */
- hasStartupTimer = 10, /* 1=startup timer is supported */
- hasChargeNotification = 11, /* 1=client can determine of charge connect status change notifications available */
- hasDimSuspendSupport = 12, /* 1=supports dimming LCD and CRT to DPMS suspend state */
- hasWakeOnNetActivity = 13, /* 1=hardware supports wake on network activity */
- hasWakeOnLid = 14, /* 1=hardware can wake when opened */
- canPowerOffPCIBus = 15, /* 1=hardware can power off PCI bus during sleep if cards allow */
- hasDeepSleep = 16, /* 1=hardware supports deep sleep (hibernation) mode */
- hasSleep = 17, /* 1=hardware supports normal (PowerBook-like) sleep */
- supportsServerModeAPIs = 18, /* 1=hardware supports server mode API routines */
- supportsUPSIntegration = 19, /* 1=hardware support UPS integration and reporting */
- hasAggressiveIdling = 20, /* 1=Power Manager only resets OverallAct on UsrActvity */
- supportsIdleQueue = 21 /* 1=Power Manager supports the idle queue */
- };
-
- /* bits in bitfield returned by GetIntModemInfo and set by SetIntModemState */
- enum
- {
- hasInternalModem = 0, /* 1=internal modem installed */
- intModemRingDetect = 1, /* 1=internal modem has detected a ring */
- intModemOffHook = 2, /* 1=internal modem is off hook */
- intModemRingWakeEnb = 3, /* 1=wakeup on ring is enabled */
- extModemSelected = 4, /* 1=external modem selected */
- modemSetBit = 15 /* 1=set bit, 0=clear bit (SetIntModemState) */
- };
-
- /* bits in BatteryInfo.flags */
- /* ("chargerConnected" doesn't mean the charger is plugged in) */
- enum
- {
- batteryInstalled = 7, /* 1=battery is currently connected */
- batteryCharging = 6, /* 1=battery is being charged */
- chargerConnected = 5, /* 1=charger is connected to the PowerBook */
- upsConnected = 4, /* 1=there is a UPS connected */
- upsIsPowerSource = 3 /* 1=UPS is source of power */
- };
-
- enum
- {
- HDPwrQType = 0x4844, /* 'HD' hard disk spindown queue element type */
- PMgrStateQType = 0x504D /* 'PM' Power Manager state queue element type */
- };
-
- /* client notification bits in PMgrQueueElement.pmNotifyBits */
- enum
- {
- pmSleepTimeoutChanged = 0,
- pmSleepEnableChanged = 1,
- pmHardDiskTimeoutChanged = 2,
- pmHardDiskSpindownChanged = 3,
- pmDimmingTimeoutChanged = 4,
- pmDimmingEnableChanged = 5,
- pmDiskModeAddressChanged = 6,
- pmProcessorCyclingChanged = 7,
- pmProcessorSpeedChanged = 8,
- pmWakeupTimerChanged = 9,
- pmStartupTimerChanged = 10,
- pmHardDiskPowerRemovedbyUser = 11,
- pmChargeStatusChanged = 12,
- pmPowerLevelChanged = 13,
- pmWakeOnNetActivityChanged = 14
- };
-
- enum
- {
- pmSleepTimeoutChangedMask = (1 << pmSleepTimeoutChanged),
- pmSleepEnableChangedMask = (1 << pmSleepEnableChanged),
- pmHardDiskTimeoutChangedMask = (1 << pmHardDiskTimeoutChanged),
- pmHardDiskSpindownChangedMask = (1 << pmHardDiskSpindownChanged),
- pmDimmingTimeoutChangedMask = (1 << pmDimmingTimeoutChanged),
- pmDimmingEnableChangedMask = (1 << pmDimmingEnableChanged),
- pmDiskModeAddressChangedMask = (1 << pmDiskModeAddressChanged),
- pmProcessorCyclingChangedMask = (1 << pmProcessorCyclingChanged),
- pmProcessorSpeedChangedMask = (1 << pmProcessorSpeedChanged),
- pmWakeupTimerChangedMask = (1 << pmWakeupTimerChanged),
- pmStartupTimerChangedMask = (1 << pmStartupTimerChanged),
- pmHardDiskPowerRemovedbyUserMask = (1 << pmHardDiskPowerRemovedbyUser),
- pmChargeStatusChangedMask = (1 << pmChargeStatusChanged),
- pmPowerLevelChangedMask = (1 << pmPowerLevelChanged),
- pmWakeOnNetActivityChangedMask = (1 << pmWakeOnNetActivityChanged)
- };
-
- /* System Activity Selectors */
- /* Notes: The IdleActivity selector is not available unless the hasAggressiveIdling PMFeatures bit is set. */
- /* Use IdleActivity where you used to use OverallAct if necessary. OverallAct will only */
- /* delay power cycling if it's enabled, and will delay sleep by a small amount when */
- /* hasAggressiveIdling is set. Don't use IdleActivity unless hasAggressiveIdling is set; when */
- /* hasAggressiveIdling is not set, the use of IdleActivity is undefined, and well do different */
- /* things depending on which Power Manager is currently running. */
- enum
- {
- OverallAct = 0, /* Delays idle sleep by small amount */
- UsrActivity = 1, /* Delays idle sleep and dimming by timeout time */
- NetActivity = 2, /* Delays idle sleep and power cycling by small amount */
- HDActivity = 3, /* Delays hard drive spindown and idle sleep by small amount */
- IdleActivity = 4 /* Delays idle sleep by timeout time */
- };
-
- /* Storage Media sleep mode defines */
- enum
- {
- kMediaModeOn = 0, /* Media active (Drive spinning and at full power) */
- kMediaModeStandBy = 1, /* Media standby (not implemented) */
- kMediaModeSuspend = 2, /* Media Idle (not implemented) */
- kMediaModeOff = 3 /* Media Sleep (Drive not spinning and at min power, max recovery time) */
- };
-
- enum
- {
- kMediaPowerCSCode = 70
- };
-
-
- /* definitions for HDQueueElement.hdFlags */
- enum
- {
- kHDQueuePostBit = 0, /* 1 = call this routine on the second pass */
- kHDQueuePostMask = (1 << kHDQueuePostBit)
- };
-
- struct ActivityInfo
- {
- short ActivityType; /* Type of activity to be fetched. Same as UpdateSystemActivity Selectors */
- unsigned long ActivityTime; /* Time of last activity (in ticks) of specified type. */
- };
- typedef struct ActivityInfo ActivityInfo;
- /* information returned by GetScaledBatteryInfo */
- struct BatteryInfo
- {
- UInt8 flags; /* misc flags (see below) */
- UInt8 warningLevel; /* scaled warning level (0-255) */
- UInt8 reserved; /* reserved for internal use */
- UInt8 batteryLevel; /* scaled battery level (0-255) */
- };
- typedef struct BatteryInfo BatteryInfo;
-
- typedef SInt8 ModemByte;
- typedef SInt8 BatteryByte;
- typedef SInt8 SoundMixerByte;
- typedef long PMResultCode;
- typedef struct SleepQRec SleepQRec;
- typedef SleepQRec * SleepQRecPtr;
- typedef struct HDQueueElement HDQueueElement;
- typedef struct PMgrQueueElement PMgrQueueElement;
- typedef CALLBACK_API_REGISTER68K(long , SleepQProcPtr, (long message, SleepQRecPtr qRecPtr));
- typedef CALLBACK_API(void , HDSpindownProcPtr)(HDQueueElement * theElement);
- typedef CALLBACK_API(void , PMgrStateChangeProcPtr)(PMgrQueueElement *theElement, long stateBits);
- typedef REGISTER_UPP_TYPE(SleepQProcPtr) SleepQUPP;
- typedef STACK_UPP_TYPE(HDSpindownProcPtr) HDSpindownUPP;
- typedef STACK_UPP_TYPE(PMgrStateChangeProcPtr) PMgrStateChangeUPP;
- struct SleepQRec
- {
- SleepQRecPtr sleepQLink; /* pointer to next queue element */
- short sleepQType; /* queue element type (must be SleepQType) */
- SleepQUPP sleepQProc; /* pointer to sleep universal proc ptr */
- short sleepQFlags; /* flags */
- };
-
- struct HDQueueElement
- {
- struct HDQueueElement * hdQLink; /* pointer to next queue element */
- short hdQType; /* queue element type (must be HDPwrQType) */
- short hdFlags; /* miscellaneous flags */
- HDSpindownUPP hdProc; /* pointer to routine to call */
- long hdUser; /* user-defined (variable storage, etc.) */
- };
-
- struct PMgrQueueElement
- {
- struct PMgrQueueElement * pmQLink; /* pointer to next queue element */
- short pmQType; /* queue element type (must be PMgrStateQType) */
- short pmFlags; /* miscellaneous flags */
- long pmNotifyBits; /* bitmap of which changes to be notified for */
- PMgrStateChangeUPP pmProc; /* pointer to routine to call */
- long pmUser; /* user-defined (variable storage, etc.) */
- };
-
-
- struct BatteryTimeRec
- {
- unsigned long expectedBatteryTime; /* estimated battery time remaining (seconds) */
- unsigned long minimumBatteryTime; /* minimum battery time remaining (seconds) */
- unsigned long maximumBatteryTime; /* maximum battery time remaining (seconds) */
- unsigned long timeUntilCharged; /* time until battery is fully charged (seconds)*/
- };
- typedef struct BatteryTimeRec BatteryTimeRec;
-
- struct WakeupTime
- {
- unsigned long wakeTime; /* wakeup time (same format as current time) */
- Boolean wakeEnabled; /* 1=enable wakeup timer, 0=disable wakeup timer */
- SInt8 filler;
- };
- typedef struct WakeupTime WakeupTime;
-
- struct StartupTime
- {
- unsigned long startTime; /* startup time (same format as current time) */
- Boolean startEnabled; /* 1=enable startup timer, 0=disable startup timer */
- SInt8 filler;
- };
- typedef struct StartupTime StartupTime;
- /* PowerSource version*/
- enum
- {
- kVersionOnePowerSource = 1,
- kVersionTwoPowerSource = 2,
- kCurrentPowerSourceVersion = kVersionTwoPowerSource
- };
-
- /* PowerSourceAttrs bits*/
-
- enum
- {
- bSourceIsBattery = 0, /* power source is battery*/
- bSourceIsAC = 1, /* power source is AC*/
- bSourceCanBeCharged = 2, /* power source can be charged*/
- bSourceIsUPS = 3, /* power source is UPS. NOTE: software should set bSourceIsBattery and bSourceIsAC also, as appropriate*/
- bSourceProvidesWarnLevels = 4, /* power source provides low power and dead battery warning levels*/
- kSourceIsBatteryMask = (1 << bSourceIsBattery),
- kSourceIsACMask = (1 << bSourceIsAC),
- kSourceCanBeChargedMask = (1 << bSourceCanBeCharged),
- kSourceIsUPSMask = (1 << bSourceIsUPS),
- kSourceProvidesWarnLevelsMask = (1 << bSourceProvidesWarnLevels)
- };
-
- /* PowerSourceFlags bits*/
-
- enum
- {
- bSourceIsAvailable = 0, /* power source is installed*/
- bSourceIsCharging = 1, /* power source being charged*/
- bChargerIsAttached = 2, /* a charger is connected*/
- kSourceIsAvailableMask = (1 << bSourceIsAvailable),
- kSourceIsChargingMask = (1 << bSourceIsCharging),
- kChargerIsAttachedMask = (1 << bChargerIsAttached)
- };
-
- /* Power Capacity Types*/
-
- enum
- {
- kCapacityIsActual = 0, /* current capacity is expessed as actual capacity in same units as max*/
- kCapacityIsPercentOfMax = 1 /* current capacity is expressed as a percentage of maximumCapacity*/
- };
-
- /* Net Activity Wake Options*/
- enum
- {
- kConfigSupportsWakeOnNetBit = 0,
- kWakeOnNetAdminAccessesBit = 1,
- kWakeOnAllNetAccessesBit = 2,
- kUnmountServersBeforeSleepingBit = 3,
- kConfigSupportsWakeOnNetMask = (1 << kConfigSupportsWakeOnNetBit),
- kWakeOnNetAdminAccessesMask = (1 << kWakeOnNetAdminAccessesBit),
- kWakeOnAllNetAccessesMask = (1 << kWakeOnAllNetAccessesBit),
- kUnmountServersBeforeSleepingMask = (1 << kUnmountServersBeforeSleepingBit)
- };
-
- /* Power Source capacity usage types*/
- enum
- {
- kCurrentCapacityIsActualValue = 0, /* currentCapacity is a real value in same units as maxCapacity*/
- kCurrentCapacityIsPercentOfMax = 1 /* currentCapacity is expressed as a percentage of maxCapacity.*/
- };
-
-
- typedef SInt16 PowerSourceID;
- struct PowerSourceParamBlock
- {
- PowerSourceID sourceID; /* unique id assigned by Power Mgr*/
- UInt16 sourceCapacityUsage; /* how currentCapacity is used*/
- UInt32 sourceVersion; /* version of this record*/
- OptionBits sourceAttr; /* attribute flags (see below)*/
- OptionBits sourceState; /* state flags (see below)*/
- UInt32 currentCapacity; /* current capacity, in*/
- /* milliwatts or %*/
- UInt32 maxCapacity; /* full capacity, in milliwatts*/
- UInt32 timeRemaining; /* time left to deplete, */
- /* in milliwatt-hours*/
- UInt32 timeToFullCharge; /* time to charge, */
- /* in milliwatt-hours*/
- UInt32 voltage; /* voltage in millivolts*/
- SInt32 current; /* current in milliamperes */
- /* (negative if consuming, */
- /* positive if charging)*/
- UInt32 lowWarnLevel; /* low warning level in milliwatts (or % if sourceCapacityUsage is %)*/
- UInt32 deadWarnLevel; /* dead warning level in milliwatts (or % if sourceCapacityUsage is %)*/
- UInt32 reserved[16]; /* for future expansion*/
- };
- typedef struct PowerSourceParamBlock PowerSourceParamBlock;
- typedef PowerSourceParamBlock * PowerSourceParamBlockPtr;
- /*
- * DisableWUTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DisableWUTime(void);
-
-
- /*
- * SetWUTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetWUTime(long wuTime);
-
-
- /*
- * GetWUTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetWUTime(
- long * wuTime,
- Byte * wuFlag);
-
-
- /*
- * BatteryStatus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- BatteryStatus(
- Byte * status,
- Byte * power);
-
-
- /*
- * ModemStatus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ModemStatus(Byte * status);
-
-
- /*
- * IdleUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/* PCI power management support*/
+
+enum {
+ kUseDefaultMinimumWakeTime = 0, /* Defaults to 5 minutes*/
+ kPowerSummaryVersion = 1, /* Version of PowerSummary structure.*/
+ kDevicePowerInfoVersion = 1 /* Version of DevicePowerInfo structure.*/
+};
+
+enum {
+ /* PowerSummary flags*/
+ kPCIPowerOffAllowed = (1L << 0) /* PCI power off is allowed.*/
+};
+
+enum {
+ /* DevicePowerInfo flags*/
+ kDevicePCIPowerOffAllowed = (1L << 0), /* PCI power off is allowed for device.*/
+ kDeviceSupportsPMIS = (1L << 1), /* Device supports Power Mgt Interface Spec.*/
+ kDeviceCanAssertPMEDuringSleep = (1L << 2), /* Device can assert PME# during sleep.*/
+ kDeviceUsesCommonLogicPower = (1L << 3), /* Device uses common-logic power*/
+ kDeviceDriverPresent = (1L << 4), /* Driver present for device.*/
+ kDeviceDriverSupportsPowerMgt = (1L << 5) /* Driver installed a power handler.*/
+};
+
+struct DevicePowerInfo {
+ UInt32 version; /* Version of this structure.*/
+ RegEntryID regID; /* RegEntryID for device.*/
+ OptionBits flags; /* Flags*/
+ UInt32 minimumWakeTime; /* Minimum seconds before sleeping again.*/
+ UInt32 sleepPowerNeeded; /* Milliwatts needed in the sleep state.*/
+};
+typedef struct DevicePowerInfo DevicePowerInfo;
+struct PowerSummary {
+ UInt32 version; /* Version of this structure.*/
+ OptionBits flags; /* Flags*/
+ UInt32 sleepPowerAvailable; /* Milliwatts available during sleep.*/
+ UInt32 sleepPowerNeeded; /* Milliwatts needed during sleep.*/
+ UInt32 minimumWakeTime; /* Minimum seconds before sleeping again.*/
+ ItemCount deviceCount; /* Number of device power info records.*/
+ DevicePowerInfo devices[1]; /* Array of device power info records.*/
+};
+typedef struct PowerSummary PowerSummary;
+enum {
+ /* SleepQRec.sleepQFlags */
+ noCalls = 1,
+ noRequest = 2,
+ slpQType = 16,
+ sleepQType = 16
+};
+
+/* Power Mgt Apple Event types and errors */
+enum {
+ /* power mgt class*/
+ kAEMacPowerMgtEvt = FOUR_CHAR_CODE('pmgt'), /* event ids*/
+ kAEMacToWake = FOUR_CHAR_CODE('wake'),
+ kAEMacLowPowerSaveData = FOUR_CHAR_CODE('pmsd'),
+ kAEMacEmergencySleep = FOUR_CHAR_CODE('emsl'),
+ kAEMacEmergencyShutdown = FOUR_CHAR_CODE('emsd')
+};
+
+
+/*
+ These are result values returned by a Power Handler when queries
+ by the Power Mgr if the device which that Power Handler represents
+ woke the machine.
+*/
+enum {
+ kDeviceDidNotWakeMachine = 0, /* device did NOT wake machine*/
+ kDeviceRequestsFullWake = 1, /* device did wake machine and requests full wakeup*/
+ kDeviceRequestsWakeToDoze = 2 /* device did wake machine and requests partial wakeup*/
+};
+
+/* bits in bitfield returned by PMFeatures */
+enum {
+ hasWakeupTimer = 0, /* 1=wakeup timer is supported */
+ hasSharedModemPort = 1, /* 1=modem port shared by SCC and internal modem */
+ hasProcessorCycling = 2, /* 1=processor cycling is supported */
+ mustProcessorCycle = 3, /* 1=processor cycling should not be turned off */
+ hasReducedSpeed = 4, /* 1=processor can be started up at reduced speed */
+ dynamicSpeedChange = 5, /* 1=processor speed can be switched dynamically */
+ hasSCSIDiskMode = 6, /* 1=SCSI Disk Mode is supported */
+ canGetBatteryTime = 7, /* 1=battery time can be calculated */
+ canWakeupOnRing = 8, /* 1=can wakeup when the modem detects a ring */
+ hasDimmingSupport = 9, /* 1=has dimming support built in (DPMS standby by default) */
+ hasStartupTimer = 10, /* 1=startup timer is supported */
+ hasChargeNotification = 11, /* 1=client can determine of charge connect status change notifications available */
+ hasDimSuspendSupport = 12, /* 1=supports dimming LCD and CRT to DPMS suspend state */
+ hasWakeOnNetActivity = 13, /* 1=hardware supports wake on network activity */
+ hasWakeOnLid = 14, /* 1=hardware can wake when opened */
+ canPowerOffPCIBus = 15, /* 1=hardware can power off PCI bus during sleep if cards allow */
+ hasDeepSleep = 16, /* 1=hardware supports deep sleep (hibernation) mode */
+ hasSleep = 17, /* 1=hardware supports normal (PowerBook-like) sleep */
+ supportsServerModeAPIs = 18, /* 1=hardware supports server mode API routines */
+ supportsUPSIntegration = 19, /* 1=hardware support UPS integration and reporting */
+ hasAggressiveIdling = 20, /* 1=Power Manager only resets OverallAct on UsrActvity */
+ supportsIdleQueue = 21 /* 1=Power Manager supports the idle queue */
+};
+
+/* bits in bitfield returned by GetIntModemInfo and set by SetIntModemState */
+enum {
+ hasInternalModem = 0, /* 1=internal modem installed */
+ intModemRingDetect = 1, /* 1=internal modem has detected a ring */
+ intModemOffHook = 2, /* 1=internal modem is off hook */
+ intModemRingWakeEnb = 3, /* 1=wakeup on ring is enabled */
+ extModemSelected = 4, /* 1=external modem selected */
+ modemSetBit = 15 /* 1=set bit, 0=clear bit (SetIntModemState) */
+};
+
+/* bits in BatteryInfo.flags */
+/* ("chargerConnected" doesn't mean the charger is plugged in) */
+enum {
+ batteryInstalled = 7, /* 1=battery is currently connected */
+ batteryCharging = 6, /* 1=battery is being charged */
+ chargerConnected = 5, /* 1=charger is connected to the PowerBook */
+ upsConnected = 4, /* 1=there is a UPS connected */
+ upsIsPowerSource = 3 /* 1=UPS is source of power */
+};
+
+enum {
+ HDPwrQType = 0x4844, /* 'HD' hard disk spindown queue element type */
+ PMgrStateQType = 0x504D /* 'PM' Power Manager state queue element type */
+};
+
+/* client notification bits in PMgrQueueElement.pmNotifyBits */
+enum {
+ pmSleepTimeoutChanged = 0,
+ pmSleepEnableChanged = 1,
+ pmHardDiskTimeoutChanged = 2,
+ pmHardDiskSpindownChanged = 3,
+ pmDimmingTimeoutChanged = 4,
+ pmDimmingEnableChanged = 5,
+ pmDiskModeAddressChanged = 6,
+ pmProcessorCyclingChanged = 7,
+ pmProcessorSpeedChanged = 8,
+ pmWakeupTimerChanged = 9,
+ pmStartupTimerChanged = 10,
+ pmHardDiskPowerRemovedbyUser = 11,
+ pmChargeStatusChanged = 12,
+ pmPowerLevelChanged = 13,
+ pmWakeOnNetActivityChanged = 14
+};
+
+enum {
+ pmSleepTimeoutChangedMask = (1 << pmSleepTimeoutChanged),
+ pmSleepEnableChangedMask = (1 << pmSleepEnableChanged),
+ pmHardDiskTimeoutChangedMask = (1 << pmHardDiskTimeoutChanged),
+ pmHardDiskSpindownChangedMask = (1 << pmHardDiskSpindownChanged),
+ pmDimmingTimeoutChangedMask = (1 << pmDimmingTimeoutChanged),
+ pmDimmingEnableChangedMask = (1 << pmDimmingEnableChanged),
+ pmDiskModeAddressChangedMask = (1 << pmDiskModeAddressChanged),
+ pmProcessorCyclingChangedMask = (1 << pmProcessorCyclingChanged),
+ pmProcessorSpeedChangedMask = (1 << pmProcessorSpeedChanged),
+ pmWakeupTimerChangedMask = (1 << pmWakeupTimerChanged),
+ pmStartupTimerChangedMask = (1 << pmStartupTimerChanged),
+ pmHardDiskPowerRemovedbyUserMask = (1 << pmHardDiskPowerRemovedbyUser),
+ pmChargeStatusChangedMask = (1 << pmChargeStatusChanged),
+ pmPowerLevelChangedMask = (1 << pmPowerLevelChanged),
+ pmWakeOnNetActivityChangedMask = (1 << pmWakeOnNetActivityChanged)
+};
+
+/* System Activity Selectors */
+/* Notes: The IdleActivity selector is not available unless the hasAggressiveIdling PMFeatures bit is set. */
+/* Use IdleActivity where you used to use OverallAct if necessary. OverallAct will only */
+/* delay power cycling if it's enabled, and will delay sleep by a small amount when */
+/* hasAggressiveIdling is set. Don't use IdleActivity unless hasAggressiveIdling is set; when */
+/* hasAggressiveIdling is not set, the use of IdleActivity is undefined, and well do different */
+/* things depending on which Power Manager is currently running. */
+enum {
+ OverallAct = 0, /* Delays idle sleep by small amount */
+ UsrActivity = 1, /* Delays idle sleep and dimming by timeout time */
+ NetActivity = 2, /* Delays idle sleep and power cycling by small amount */
+ HDActivity = 3, /* Delays hard drive spindown and idle sleep by small amount */
+ IdleActivity = 4 /* Delays idle sleep by timeout time */
+};
+
+/* Storage Media sleep mode defines */
+enum {
+ kMediaModeOn = 0, /* Media active (Drive spinning and at full power) */
+ kMediaModeStandBy = 1, /* Media standby (not implemented) */
+ kMediaModeSuspend = 2, /* Media Idle (not implemented) */
+ kMediaModeOff = 3 /* Media Sleep (Drive not spinning and at min power, max recovery time) */
+};
+
+enum {
+ kMediaPowerCSCode = 70
+};
+
+
+/* definitions for HDQueueElement.hdFlags */
+enum {
+ kHDQueuePostBit = 0, /* 1 = call this routine on the second pass */
+ kHDQueuePostMask = (1 << kHDQueuePostBit)
+};
+
+struct ActivityInfo {
+ short ActivityType; /* Type of activity to be fetched. Same as UpdateSystemActivity Selectors */
+ unsigned long ActivityTime; /* Time of last activity (in ticks) of specified type. */
+};
+typedef struct ActivityInfo ActivityInfo;
+/* information returned by GetScaledBatteryInfo */
+struct BatteryInfo {
+ UInt8 flags; /* misc flags (see below) */
+ UInt8 warningLevel; /* scaled warning level (0-255) */
+ UInt8 reserved; /* reserved for internal use */
+ UInt8 batteryLevel; /* scaled battery level (0-255) */
+};
+typedef struct BatteryInfo BatteryInfo;
+
+typedef SInt8 ModemByte;
+typedef SInt8 BatteryByte;
+typedef SInt8 SoundMixerByte;
+typedef long PMResultCode;
+typedef struct SleepQRec SleepQRec;
+typedef SleepQRec * SleepQRecPtr;
+typedef struct HDQueueElement HDQueueElement;
+typedef struct PMgrQueueElement PMgrQueueElement;
+typedef CALLBACK_API_REGISTER68K( long , SleepQProcPtr, (long message, SleepQRecPtr qRecPtr) );
+typedef CALLBACK_API( void , HDSpindownProcPtr )(HDQueueElement * theElement);
+typedef CALLBACK_API( void , PMgrStateChangeProcPtr )(PMgrQueueElement *theElement, long stateBits);
+typedef REGISTER_UPP_TYPE(SleepQProcPtr) SleepQUPP;
+typedef STACK_UPP_TYPE(HDSpindownProcPtr) HDSpindownUPP;
+typedef STACK_UPP_TYPE(PMgrStateChangeProcPtr) PMgrStateChangeUPP;
+struct SleepQRec {
+ SleepQRecPtr sleepQLink; /* pointer to next queue element */
+ short sleepQType; /* queue element type (must be SleepQType) */
+ SleepQUPP sleepQProc; /* pointer to sleep universal proc ptr */
+ short sleepQFlags; /* flags */
+};
+
+struct HDQueueElement {
+ struct HDQueueElement * hdQLink; /* pointer to next queue element */
+ short hdQType; /* queue element type (must be HDPwrQType) */
+ short hdFlags; /* miscellaneous flags */
+ HDSpindownUPP hdProc; /* pointer to routine to call */
+ long hdUser; /* user-defined (variable storage, etc.) */
+};
+
+struct PMgrQueueElement {
+ struct PMgrQueueElement * pmQLink; /* pointer to next queue element */
+ short pmQType; /* queue element type (must be PMgrStateQType) */
+ short pmFlags; /* miscellaneous flags */
+ long pmNotifyBits; /* bitmap of which changes to be notified for */
+ PMgrStateChangeUPP pmProc; /* pointer to routine to call */
+ long pmUser; /* user-defined (variable storage, etc.) */
+};
+
+
+struct BatteryTimeRec {
+ unsigned long expectedBatteryTime; /* estimated battery time remaining (seconds) */
+ unsigned long minimumBatteryTime; /* minimum battery time remaining (seconds) */
+ unsigned long maximumBatteryTime; /* maximum battery time remaining (seconds) */
+ unsigned long timeUntilCharged; /* time until battery is fully charged (seconds)*/
+};
+typedef struct BatteryTimeRec BatteryTimeRec;
+
+struct WakeupTime {
+ unsigned long wakeTime; /* wakeup time (same format as current time) */
+ Boolean wakeEnabled; /* 1=enable wakeup timer, 0=disable wakeup timer */
+ SInt8 filler;
+};
+typedef struct WakeupTime WakeupTime;
+
+struct StartupTime {
+ unsigned long startTime; /* startup time (same format as current time) */
+ Boolean startEnabled; /* 1=enable startup timer, 0=disable startup timer */
+ SInt8 filler;
+};
+typedef struct StartupTime StartupTime;
+/* PowerSource version*/
+enum {
+ kVersionOnePowerSource = 1,
+ kVersionTwoPowerSource = 2,
+ kCurrentPowerSourceVersion = kVersionTwoPowerSource
+};
+
+/* PowerSourceAttrs bits*/
+
+enum {
+ bSourceIsBattery = 0, /* power source is battery*/
+ bSourceIsAC = 1, /* power source is AC*/
+ bSourceCanBeCharged = 2, /* power source can be charged*/
+ bSourceIsUPS = 3, /* power source is UPS. NOTE: software should set bSourceIsBattery and bSourceIsAC also, as appropriate*/
+ bSourceProvidesWarnLevels = 4, /* power source provides low power and dead battery warning levels*/
+ kSourceIsBatteryMask = (1 << bSourceIsBattery),
+ kSourceIsACMask = (1 << bSourceIsAC),
+ kSourceCanBeChargedMask = (1 << bSourceCanBeCharged),
+ kSourceIsUPSMask = (1 << bSourceIsUPS),
+ kSourceProvidesWarnLevelsMask = (1 << bSourceProvidesWarnLevels)
+};
+
+/* PowerSourceFlags bits*/
+
+enum {
+ bSourceIsAvailable = 0, /* power source is installed*/
+ bSourceIsCharging = 1, /* power source being charged*/
+ bChargerIsAttached = 2, /* a charger is connected*/
+ kSourceIsAvailableMask = (1 << bSourceIsAvailable),
+ kSourceIsChargingMask = (1 << bSourceIsCharging),
+ kChargerIsAttachedMask = (1 << bChargerIsAttached)
+};
+
+/* Power Capacity Types*/
+
+enum {
+ kCapacityIsActual = 0, /* current capacity is expessed as actual capacity in same units as max*/
+ kCapacityIsPercentOfMax = 1 /* current capacity is expressed as a percentage of maximumCapacity*/
+};
+
+/* Net Activity Wake Options*/
+enum {
+ kConfigSupportsWakeOnNetBit = 0,
+ kWakeOnNetAdminAccessesBit = 1,
+ kWakeOnAllNetAccessesBit = 2,
+ kUnmountServersBeforeSleepingBit = 3,
+ kConfigSupportsWakeOnNetMask = (1 << kConfigSupportsWakeOnNetBit),
+ kWakeOnNetAdminAccessesMask = (1 << kWakeOnNetAdminAccessesBit),
+ kWakeOnAllNetAccessesMask = (1 << kWakeOnAllNetAccessesBit),
+ kUnmountServersBeforeSleepingMask = (1 << kUnmountServersBeforeSleepingBit)
+};
+
+/* Power Source capacity usage types*/
+enum {
+ kCurrentCapacityIsActualValue = 0, /* currentCapacity is a real value in same units as maxCapacity*/
+ kCurrentCapacityIsPercentOfMax = 1 /* currentCapacity is expressed as a percentage of maxCapacity.*/
+};
+
+
+typedef SInt16 PowerSourceID;
+struct PowerSourceParamBlock {
+ PowerSourceID sourceID; /* unique id assigned by Power Mgr*/
+ UInt16 sourceCapacityUsage; /* how currentCapacity is used*/
+ UInt32 sourceVersion; /* version of this record*/
+ OptionBits sourceAttr; /* attribute flags (see below)*/
+ OptionBits sourceState; /* state flags (see below)*/
+ UInt32 currentCapacity; /* current capacity, in*/
+ /* milliwatts or %*/
+ UInt32 maxCapacity; /* full capacity, in milliwatts*/
+ UInt32 timeRemaining; /* time left to deplete, */
+ /* in milliwatt-hours*/
+ UInt32 timeToFullCharge; /* time to charge, */
+ /* in milliwatt-hours*/
+ UInt32 voltage; /* voltage in millivolts*/
+ SInt32 current; /* current in milliamperes */
+ /* (negative if consuming, */
+ /* positive if charging)*/
+ UInt32 lowWarnLevel; /* low warning level in milliwatts (or % if sourceCapacityUsage is %)*/
+ UInt32 deadWarnLevel; /* dead warning level in milliwatts (or % if sourceCapacityUsage is %)*/
+ UInt32 reserved[16]; /* for future expansion*/
+};
+typedef struct PowerSourceParamBlock PowerSourceParamBlock;
+typedef PowerSourceParamBlock * PowerSourceParamBlockPtr;
+/*
+ * DisableWUTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DisableWUTime(void);
+
+
+/*
+ * SetWUTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetWUTime(long wuTime);
+
+
+/*
+ * GetWUTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetWUTime(
+ long * wuTime,
+ Byte * wuFlag);
+
+
+/*
+ * BatteryStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+BatteryStatus(
+ Byte * status,
+ Byte * power);
+
+
+/*
+ * ModemStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ModemStatus(Byte * status);
+
+
+/*
+ * IdleUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 IdleUpdate
#endif
- EXTERN_API(long)
- IdleUpdate(void) ONEWORDINLINE(0xA285);
+EXTERN_API( long )
+IdleUpdate(void) ONEWORDINLINE(0xA285);
- /*
- * GetCPUSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetCPUSpeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetCPUSpeed
#endif
- EXTERN_API(long)
- GetCPUSpeed(void) TWOWORDINLINE(0x70FF, 0xA485);
-
-
- /*
- * EnableIdle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EnableIdle(void) TWOWORDINLINE(0x7000, 0xA485);
-
-
- /*
- * DisableIdle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisableIdle(void) TWOWORDINLINE(0x7001, 0xA485);
-
-
- /*
- * SleepQInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( long )
+GetCPUSpeed(void) TWOWORDINLINE(0x70FF, 0xA485);
+
+
+/*
+ * EnableIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EnableIdle(void) TWOWORDINLINE(0x7000, 0xA485);
+
+
+/*
+ * DisableIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisableIdle(void) TWOWORDINLINE(0x7001, 0xA485);
+
+
+/*
+ * SleepQInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SleepQInstall(__A0)
#endif
- EXTERN_API(void)
- SleepQInstall(SleepQRecPtr qRecPtr) ONEWORDINLINE(0xA28A);
+EXTERN_API( void )
+SleepQInstall(SleepQRecPtr qRecPtr) ONEWORDINLINE(0xA28A);
- /*
- * SleepQRemove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SleepQRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SleepQRemove(__A0)
#endif
- EXTERN_API(void)
- SleepQRemove(SleepQRecPtr qRecPtr) ONEWORDINLINE(0xA48A);
-
-
- /*
- * AOn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AOn(void) TWOWORDINLINE(0x7004, 0xA685);
-
-
- /*
- * AOnIgnoreModem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AOnIgnoreModem(void) TWOWORDINLINE(0x7005, 0xA685);
-
-
- /*
- * BOn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BOn(void) TWOWORDINLINE(0x7000, 0xA685);
-
-
- /*
- * AOff()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AOff(void) TWOWORDINLINE(0x7084, 0xA685);
-
-
- /*
- * BOff()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BOff(void) TWOWORDINLINE(0x7080, 0xA685);
-
-
-
- /* Public Power Management API */
- /*
- * PMSelectorCount()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+SleepQRemove(SleepQRecPtr qRecPtr) ONEWORDINLINE(0xA48A);
+
+
+/*
+ * AOn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AOn(void) TWOWORDINLINE(0x7004, 0xA685);
+
+
+/*
+ * AOnIgnoreModem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AOnIgnoreModem(void) TWOWORDINLINE(0x7005, 0xA685);
+
+
+/*
+ * BOn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BOn(void) TWOWORDINLINE(0x7000, 0xA685);
+
+
+/*
+ * AOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AOff(void) TWOWORDINLINE(0x7084, 0xA685);
+
+
+/*
+ * BOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BOff(void) TWOWORDINLINE(0x7080, 0xA685);
+
+
+
+/* Public Power Management API */
+/*
+ * PMSelectorCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PMSelectorCount
#endif
- EXTERN_API(short)
- PMSelectorCount(void) TWOWORDINLINE(0x7000, 0xA09E);
+EXTERN_API( short )
+PMSelectorCount(void) TWOWORDINLINE(0x7000, 0xA09E);
- /*
- * PMFeatures()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PMFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PMFeatures
#endif
- EXTERN_API(UInt32)
- PMFeatures(void) TWOWORDINLINE(0x7001, 0xA09E);
+EXTERN_API( UInt32 )
+PMFeatures(void) TWOWORDINLINE(0x7001, 0xA09E);
- /*
- * GetSleepTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetSleepTimeout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetSleepTimeout
#endif
- EXTERN_API(UInt8)
- GetSleepTimeout(void) TWOWORDINLINE(0x7002, 0xA09E);
+EXTERN_API( UInt8 )
+GetSleepTimeout(void) TWOWORDINLINE(0x7002, 0xA09E);
- /*
- * SetSleepTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetSleepTimeout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetSleepTimeout(__D0)
#endif
- EXTERN_API(void)
- SetSleepTimeout(UInt8 timeout) FOURWORDINLINE(0x4840, 0x303C, 0x0003, 0xA09E);
+EXTERN_API( void )
+SetSleepTimeout(UInt8 timeout) FOURWORDINLINE(0x4840, 0x303C, 0x0003, 0xA09E);
- /*
- * GetHardDiskTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetHardDiskTimeout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetHardDiskTimeout
#endif
- EXTERN_API(UInt8)
- GetHardDiskTimeout(void) TWOWORDINLINE(0x7004, 0xA09E);
+EXTERN_API( UInt8 )
+GetHardDiskTimeout(void) TWOWORDINLINE(0x7004, 0xA09E);
- /*
- * SetHardDiskTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetHardDiskTimeout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetHardDiskTimeout(__D0)
#endif
- EXTERN_API(void)
- SetHardDiskTimeout(UInt8 timeout) FOURWORDINLINE(0x4840, 0x303C, 0x0005, 0xA09E);
+EXTERN_API( void )
+SetHardDiskTimeout(UInt8 timeout) FOURWORDINLINE(0x4840, 0x303C, 0x0005, 0xA09E);
- /*
- * HardDiskPowered()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HardDiskPowered()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 HardDiskPowered
#endif
- EXTERN_API(Boolean)
- HardDiskPowered(void) TWOWORDINLINE(0x7006, 0xA09E);
+EXTERN_API( Boolean )
+HardDiskPowered(void) TWOWORDINLINE(0x7006, 0xA09E);
- /*
- * SpinDownHardDisk()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SpinDownHardDisk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SpinDownHardDisk
#endif
- EXTERN_API(void)
- SpinDownHardDisk(void) TWOWORDINLINE(0x7007, 0xA09E);
+EXTERN_API( void )
+SpinDownHardDisk(void) TWOWORDINLINE(0x7007, 0xA09E);
- /*
- * IsSpindownDisabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * IsSpindownDisabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 IsSpindownDisabled
#endif
- EXTERN_API(Boolean)
- IsSpindownDisabled(void) TWOWORDINLINE(0x7008, 0xA09E);
+EXTERN_API( Boolean )
+IsSpindownDisabled(void) TWOWORDINLINE(0x7008, 0xA09E);
- /*
- * SetSpindownDisable()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetSpindownDisable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetSpindownDisable(__D0)
#endif
- EXTERN_API(void)
- SetSpindownDisable(Boolean setDisable) FOURWORDINLINE(0x4840, 0x303C, 0x0009, 0xA09E);
+EXTERN_API( void )
+SetSpindownDisable(Boolean setDisable) FOURWORDINLINE(0x4840, 0x303C, 0x0009, 0xA09E);
- /*
- * HardDiskQInstall()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HardDiskQInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 HardDiskQInstall(__A0)
#endif
- EXTERN_API(OSErr)
- HardDiskQInstall(HDQueueElement * theElement) TWOWORDINLINE(0x700A, 0xA09E);
+EXTERN_API( OSErr )
+HardDiskQInstall(HDQueueElement * theElement) TWOWORDINLINE(0x700A, 0xA09E);
- /*
- * HardDiskQRemove()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * HardDiskQRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 HardDiskQRemove(__A0)
#endif
- EXTERN_API(OSErr)
- HardDiskQRemove(HDQueueElement * theElement) TWOWORDINLINE(0x700B, 0xA09E);
+EXTERN_API( OSErr )
+HardDiskQRemove(HDQueueElement * theElement) TWOWORDINLINE(0x700B, 0xA09E);
- /*
- * GetScaledBatteryInfo()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetScaledBatteryInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter GetScaledBatteryInfo(__D0, __A0)
#endif
- EXTERN_API(void)
- GetScaledBatteryInfo(
- short whichBattery,
- BatteryInfo * theInfo) FIVEWORDINLINE(0x4840, 0x303C, 0x000C, 0xA09E, 0x2080);
+EXTERN_API( void )
+GetScaledBatteryInfo(
+ short whichBattery,
+ BatteryInfo * theInfo) FIVEWORDINLINE(0x4840, 0x303C, 0x000C, 0xA09E, 0x2080);
- /*
- * AutoSleepControl()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * AutoSleepControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter AutoSleepControl(__D0)
#endif
- EXTERN_API(void)
- AutoSleepControl(Boolean enableSleep) FOURWORDINLINE(0x4840, 0x303C, 0x000D, 0xA09E);
+EXTERN_API( void )
+AutoSleepControl(Boolean enableSleep) FOURWORDINLINE(0x4840, 0x303C, 0x000D, 0xA09E);
- /*
- * GetIntModemInfo()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetIntModemInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetIntModemInfo
#endif
- EXTERN_API(UInt32)
- GetIntModemInfo(void) TWOWORDINLINE(0x700E, 0xA09E);
+EXTERN_API( UInt32 )
+GetIntModemInfo(void) TWOWORDINLINE(0x700E, 0xA09E);
- /*
- * SetIntModemState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetIntModemState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetIntModemState(__D0)
#endif
- EXTERN_API(void)
- SetIntModemState(short theState) FOURWORDINLINE(0x4840, 0x303C, 0x000F, 0xA09E);
+EXTERN_API( void )
+SetIntModemState(short theState) FOURWORDINLINE(0x4840, 0x303C, 0x000F, 0xA09E);
- /*
- * MaximumProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * MaximumProcessorSpeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 MaximumProcessorSpeed
#endif
- EXTERN_API(short)
- MaximumProcessorSpeed(void) TWOWORDINLINE(0x7010, 0xA09E);
+EXTERN_API( short )
+MaximumProcessorSpeed(void) TWOWORDINLINE(0x7010, 0xA09E);
- /*
- * MinimumProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.1 and later
- */
+/*
+ * MinimumProcessorSpeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.1 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 MinimumProcessorSpeed
#endif
- EXTERN_API(short)
- MinimumProcessorSpeed(void) TWOWORDINLINE(0x7036, 0xA09E);
+EXTERN_API( short )
+MinimumProcessorSpeed(void) TWOWORDINLINE(0x7036, 0xA09E);
- /*
- * CurrentProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * CurrentProcessorSpeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 CurrentProcessorSpeed
#endif
- EXTERN_API(short)
- CurrentProcessorSpeed(void) TWOWORDINLINE(0x7011, 0xA09E);
+EXTERN_API( short )
+CurrentProcessorSpeed(void) TWOWORDINLINE(0x7011, 0xA09E);
- /*
- * FullProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * FullProcessorSpeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 FullProcessorSpeed
#endif
- EXTERN_API(Boolean)
- FullProcessorSpeed(void) TWOWORDINLINE(0x7012, 0xA09E);
+EXTERN_API( Boolean )
+FullProcessorSpeed(void) TWOWORDINLINE(0x7012, 0xA09E);
- /*
- * SetProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetProcessorSpeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SetProcessorSpeed(__D0)
#endif
- EXTERN_API(Boolean)
- SetProcessorSpeed(Boolean fullSpeed) FOURWORDINLINE(0x4840, 0x303C, 0x0013, 0xA09E);
+EXTERN_API( Boolean )
+SetProcessorSpeed(Boolean fullSpeed) FOURWORDINLINE(0x4840, 0x303C, 0x0013, 0xA09E);
- /*
- * GetSCSIDiskModeAddress()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetSCSIDiskModeAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetSCSIDiskModeAddress
#endif
- EXTERN_API(short)
- GetSCSIDiskModeAddress(void) TWOWORDINLINE(0x7014, 0xA09E);
+EXTERN_API( short )
+GetSCSIDiskModeAddress(void) TWOWORDINLINE(0x7014, 0xA09E);
- /*
- * SetSCSIDiskModeAddress()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetSCSIDiskModeAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetSCSIDiskModeAddress(__D0)
#endif
- EXTERN_API(void)
- SetSCSIDiskModeAddress(short scsiAddress) FOURWORDINLINE(0x4840, 0x303C, 0x0015, 0xA09E);
+EXTERN_API( void )
+SetSCSIDiskModeAddress(short scsiAddress) FOURWORDINLINE(0x4840, 0x303C, 0x0015, 0xA09E);
- /*
- * GetWakeupTimer()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetWakeupTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter GetWakeupTimer(__A0)
#endif
- EXTERN_API(void)
- GetWakeupTimer(WakeupTime * theTime) TWOWORDINLINE(0x7016, 0xA09E);
+EXTERN_API( void )
+GetWakeupTimer(WakeupTime * theTime) TWOWORDINLINE(0x7016, 0xA09E);
- /*
- * SetWakeupTimer()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetWakeupTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetWakeupTimer(__A0)
#endif
- EXTERN_API(void)
- SetWakeupTimer(WakeupTime * theTime) TWOWORDINLINE(0x7017, 0xA09E);
+EXTERN_API( void )
+SetWakeupTimer(WakeupTime * theTime) TWOWORDINLINE(0x7017, 0xA09E);
- /*
- * IsProcessorCyclingEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * IsProcessorCyclingEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 IsProcessorCyclingEnabled
#endif
- EXTERN_API(Boolean)
- IsProcessorCyclingEnabled(void) TWOWORDINLINE(0x7018, 0xA09E);
+EXTERN_API( Boolean )
+IsProcessorCyclingEnabled(void) TWOWORDINLINE(0x7018, 0xA09E);
- /*
- * EnableProcessorCycling()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * EnableProcessorCycling()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter EnableProcessorCycling(__D0)
#endif
- EXTERN_API(void)
- EnableProcessorCycling(Boolean enable) FOURWORDINLINE(0x4840, 0x303C, 0x0019, 0xA09E);
+EXTERN_API( void )
+EnableProcessorCycling(Boolean enable) FOURWORDINLINE(0x4840, 0x303C, 0x0019, 0xA09E);
- /*
- * BatteryCount()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * BatteryCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 BatteryCount
#endif
- EXTERN_API(short)
- BatteryCount(void) TWOWORDINLINE(0x701A, 0xA09E);
+EXTERN_API( short )
+BatteryCount(void) TWOWORDINLINE(0x701A, 0xA09E);
- /*
- * GetBatteryVoltage()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetBatteryVoltage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetBatteryVoltage(__D0)
#endif
- EXTERN_API(Fixed)
- GetBatteryVoltage(short whichBattery) FOURWORDINLINE(0x4840, 0x303C, 0x001B, 0xA09E);
+EXTERN_API( Fixed )
+GetBatteryVoltage(short whichBattery) FOURWORDINLINE(0x4840, 0x303C, 0x001B, 0xA09E);
- /*
- * GetBatteryTimes()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetBatteryTimes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter GetBatteryTimes(__D0, __A0)
#endif
- EXTERN_API(void)
- GetBatteryTimes(
- short whichBattery,
- BatteryTimeRec * theTimes) FOURWORDINLINE(0x4840, 0x303C, 0x001C, 0xA09E);
+EXTERN_API( void )
+GetBatteryTimes(
+ short whichBattery,
+ BatteryTimeRec * theTimes) FOURWORDINLINE(0x4840, 0x303C, 0x001C, 0xA09E);
- /*
- * GetDimmingTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetDimmingTimeout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetDimmingTimeout
#endif
- EXTERN_API(UInt8)
- GetDimmingTimeout(void) TWOWORDINLINE(0x701D, 0xA09E);
+EXTERN_API( UInt8 )
+GetDimmingTimeout(void) TWOWORDINLINE(0x701D, 0xA09E);
- /*
- * SetDimmingTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetDimmingTimeout()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetDimmingTimeout(__D0)
#endif
- EXTERN_API(void)
- SetDimmingTimeout(UInt8 timeout) FOURWORDINLINE(0x4840, 0x303C, 0x001E, 0xA09E);
+EXTERN_API( void )
+SetDimmingTimeout(UInt8 timeout) FOURWORDINLINE(0x4840, 0x303C, 0x001E, 0xA09E);
- /*
- * DimmingControl()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * DimmingControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter DimmingControl(__D0)
#endif
- EXTERN_API(void)
- DimmingControl(Boolean enableSleep) FOURWORDINLINE(0x4840, 0x303C, 0x001F, 0xA09E);
+EXTERN_API( void )
+DimmingControl(Boolean enableSleep) FOURWORDINLINE(0x4840, 0x303C, 0x001F, 0xA09E);
- /*
- * IsDimmingControlDisabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * IsDimmingControlDisabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 IsDimmingControlDisabled
#endif
- EXTERN_API(Boolean)
- IsDimmingControlDisabled(void) TWOWORDINLINE(0x7020, 0xA09E);
+EXTERN_API( Boolean )
+IsDimmingControlDisabled(void) TWOWORDINLINE(0x7020, 0xA09E);
- /*
- * IsAutoSlpControlDisabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * IsAutoSlpControlDisabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 IsAutoSlpControlDisabled
#endif
- EXTERN_API(Boolean)
- IsAutoSlpControlDisabled(void) TWOWORDINLINE(0x7021, 0xA09E);
+EXTERN_API( Boolean )
+IsAutoSlpControlDisabled(void) TWOWORDINLINE(0x7021, 0xA09E);
- /*
- * PMgrStateQInstall()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PMgrStateQInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PMgrStateQInstall(__A0)
#endif
- EXTERN_API(OSErr)
- PMgrStateQInstall(PMgrQueueElement * theElement) TWOWORDINLINE(0x7022, 0xA09E);
+EXTERN_API( OSErr )
+PMgrStateQInstall(PMgrQueueElement * theElement) TWOWORDINLINE(0x7022, 0xA09E);
- /*
- * PMgrStateQRemove()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * PMgrStateQRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PMgrStateQRemove(__A0)
#endif
- EXTERN_API(OSErr)
- PMgrStateQRemove(PMgrQueueElement * theElement) TWOWORDINLINE(0x7023, 0xA09E);
+EXTERN_API( OSErr )
+PMgrStateQRemove(PMgrQueueElement * theElement) TWOWORDINLINE(0x7023, 0xA09E);
- /*
- * UpdateSystemActivity()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * UpdateSystemActivity()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 UpdateSystemActivity(__D0)
#endif
- EXTERN_API(OSErr)
- UpdateSystemActivity(UInt8 activity) FOURWORDINLINE(0x4840, 0x303C, 0x0024, 0xA09E);
+EXTERN_API( OSErr )
+UpdateSystemActivity(UInt8 activity) FOURWORDINLINE(0x4840, 0x303C, 0x0024, 0xA09E);
- /*
- * DelaySystemIdle()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * DelaySystemIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DelaySystemIdle
#endif
- EXTERN_API(OSErr)
- DelaySystemIdle(void) TWOWORDINLINE(0x7025, 0xA09E);
+EXTERN_API( OSErr )
+DelaySystemIdle(void) TWOWORDINLINE(0x7025, 0xA09E);
- /*
- * GetStartupTimer()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetStartupTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetStartupTimer(__A0)
#endif
- EXTERN_API(OSErr)
- GetStartupTimer(StartupTime * theTime) TWOWORDINLINE(0x7026, 0xA09E);
+EXTERN_API( OSErr )
+GetStartupTimer(StartupTime * theTime) TWOWORDINLINE(0x7026, 0xA09E);
- /*
- * SetStartupTimer()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetStartupTimer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SetStartupTimer(__A0)
#endif
- EXTERN_API(OSErr)
- SetStartupTimer(StartupTime * theTime) TWOWORDINLINE(0x7027, 0xA09E);
+EXTERN_API( OSErr )
+SetStartupTimer(StartupTime * theTime) TWOWORDINLINE(0x7027, 0xA09E);
- /*
- * GetLastActivity()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetLastActivity()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetLastActivity(__A0)
#endif
- EXTERN_API(OSErr)
- GetLastActivity(ActivityInfo * theActivity) TWOWORDINLINE(0x7028, 0xA09E);
+EXTERN_API( OSErr )
+GetLastActivity(ActivityInfo * theActivity) TWOWORDINLINE(0x7028, 0xA09E);
- /*
- * GetSoundMixerState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetSoundMixerState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetSoundMixerState(__A0)
#endif
- EXTERN_API(OSErr)
- GetSoundMixerState(SoundMixerByte * theSoundMixerByte) TWOWORDINLINE(0x7029, 0xA09E);
+EXTERN_API( OSErr )
+GetSoundMixerState(SoundMixerByte * theSoundMixerByte) TWOWORDINLINE(0x7029, 0xA09E);
- /*
- * SetSoundMixerState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetSoundMixerState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SetSoundMixerState(__A0)
#endif
- EXTERN_API(OSErr)
- SetSoundMixerState(SoundMixerByte * theSoundMixerByte) TWOWORDINLINE(0x702A, 0xA09E);
+EXTERN_API( OSErr )
+SetSoundMixerState(SoundMixerByte * theSoundMixerByte) TWOWORDINLINE(0x702A, 0xA09E);
- /*
- * GetDimSuspendState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * GetDimSuspendState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetDimSuspendState
#endif
- EXTERN_API(Boolean)
- GetDimSuspendState(void) TWOWORDINLINE(0x702B, 0xA09E);
+EXTERN_API( Boolean )
+GetDimSuspendState(void) TWOWORDINLINE(0x702B, 0xA09E);
- /*
- * SetDimSuspendState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * SetDimSuspendState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetDimSuspendState(__D0)
#endif
- EXTERN_API(void)
- SetDimSuspendState(Boolean dimSuspendState) FOURWORDINLINE(0x4840, 0x303C, 0x002C, 0xA09E);
+EXTERN_API( void )
+SetDimSuspendState(Boolean dimSuspendState) FOURWORDINLINE(0x4840, 0x303C, 0x002C, 0xA09E);
#if CALL_NOT_IN_CARBON
- /*
- * GetCoreProcessorTemperature()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetCoreProcessorTemperature()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetCoreProcessorTemperature(__A0)
#endif
- EXTERN_API(SInt32)
- GetCoreProcessorTemperature(MPCpuID inCpuID) TWOWORDINLINE(0x702D, 0xA09E);
+EXTERN_API( SInt32 )
+GetCoreProcessorTemperature(MPCpuID inCpuID) TWOWORDINLINE(0x702D, 0xA09E);
- /*
- * GetWakeOnNetworkOptions()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetWakeOnNetworkOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 GetWakeOnNetworkOptions
#endif
- EXTERN_API(OptionBits)
- GetWakeOnNetworkOptions(void) TWOWORDINLINE(0x702E, 0xA09E);
+EXTERN_API( OptionBits )
+GetWakeOnNetworkOptions(void) TWOWORDINLINE(0x702E, 0xA09E);
- /*
- * SetWakeOnNetworkOptions()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * SetWakeOnNetworkOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter SetWakeOnNetworkOptions(__A0)
#endif
- EXTERN_API(void)
- SetWakeOnNetworkOptions(OptionBits inOptions) TWOWORDINLINE(0x702F, 0xA09E);
+EXTERN_API( void )
+SetWakeOnNetworkOptions(OptionBits inOptions) TWOWORDINLINE(0x702F, 0xA09E);
- /*
- * AddPowerSource()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * AddPowerSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 AddPowerSource(__A0)
#endif
- EXTERN_API(OSStatus)
- AddPowerSource(PowerSourceParamBlock * ioPowerSource) TWOWORDINLINE(0x7030, 0xA09E);
+EXTERN_API( OSStatus )
+AddPowerSource(PowerSourceParamBlock * ioPowerSource) TWOWORDINLINE(0x7030, 0xA09E);
- /*
- * RemovePowerSource()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * RemovePowerSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 RemovePowerSource(__D0)
#endif
- EXTERN_API(OSStatus)
- RemovePowerSource(PowerSourceID inSourceID) FOURWORDINLINE(0x4840, 0x303C, 0x0031, 0xA09E);
+EXTERN_API( OSStatus )
+RemovePowerSource(PowerSourceID inSourceID) FOURWORDINLINE(0x4840, 0x303C, 0x0031, 0xA09E);
- /*
- * UpdatePowerSource()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * UpdatePowerSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 UpdatePowerSource(__A0)
#endif
- EXTERN_API(OSStatus)
- UpdatePowerSource(PowerSourceParamBlock * ioSource) TWOWORDINLINE(0x7032, 0xA09E);
+EXTERN_API( OSStatus )
+UpdatePowerSource(PowerSourceParamBlock * ioSource) TWOWORDINLINE(0x7032, 0xA09E);
- /*
- * IsServerModeEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * IsServerModeEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 IsServerModeEnabled
#endif
- EXTERN_API(Boolean)
- IsServerModeEnabled(void) TWOWORDINLINE(0x7033, 0xA09E);
+EXTERN_API( Boolean )
+IsServerModeEnabled(void) TWOWORDINLINE(0x7033, 0xA09E);
- /*
- * EnableServerMode()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * EnableServerMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter EnableServerMode(__D0)
#endif
- EXTERN_API(void)
- EnableServerMode(Boolean inEnable) FOURWORDINLINE(0x4840, 0x303C, 0x0034, 0xA09E);
-
-
- /*
- NumBatteriesInstalled is different from BatteryCount in that it
- indicates how many batteries are actually available at the time
- it is called (including UPS batteries). BatteryCount shows a
- static number of batteries a machine is capable of holding which does NOT
- include UPS batteries. So, while a desktop might show a BatteryCount
- of zero, its NumBatteriesInstalled value might be 1 or more if a UPS
- is attached.
- */
- /*
- * NumBatteriesInstalled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( void )
+EnableServerMode(Boolean inEnable) FOURWORDINLINE(0x4840, 0x303C, 0x0034, 0xA09E);
+
+
+/*
+ NumBatteriesInstalled is different from BatteryCount in that it
+ indicates how many batteries are actually available at the time
+ it is called (including UPS batteries). BatteryCount shows a
+ static number of batteries a machine is capable of holding which does NOT
+ include UPS batteries. So, while a desktop might show a BatteryCount
+ of zero, its NumBatteriesInstalled value might be 1 or more if a UPS
+ is attached.
+*/
+/*
+ * NumBatteriesInstalled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in PowerMgrLib 2.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 NumBatteriesInstalled
#endif
- EXTERN_API(UInt32)
- NumBatteriesInstalled(void) TWOWORDINLINE(0x7035, 0xA09E);
-
-
- /* Power Handler Management */
- /*
- * IsPCIPowerOffDisabled()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- IsPCIPowerOffDisabled(void);
-
-
- /*
- * EnablePCIPowerOff()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- EnablePCIPowerOff(Boolean inEnable);
-
-
- /*
- * AddDevicePowerHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- AddDevicePowerHandler(
- RegEntryIDPtr regEntryID,
- PowerHandlerProcPtr handler,
- UInt32 refCon,
- char * deviceType);
-
-
- /*
- * RemoveDevicePowerHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RemoveDevicePowerHandler(RegEntryIDPtr regEntryID);
-
-
- /*
- * RemoveDevicePowerHandlerForProc()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- RemoveDevicePowerHandlerForProc(PowerHandlerProcPtr proc);
-
-
- /*
- * GetDevicePowerLevel()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- GetDevicePowerLevel(
- RegEntryIDPtr regEntryID,
- PowerLevel * devicePowerLevel);
-
-
- /*
- * SetDevicePowerLevel()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- SetDevicePowerLevel(
- RegEntryIDPtr regEntryID,
- PowerLevel devicePowerLevel);
+EXTERN_API( UInt32 )
+NumBatteriesInstalled(void) TWOWORDINLINE(0x7035, 0xA09E);
+
+
+/* Power Handler Management */
+/*
+ * IsPCIPowerOffDisabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+IsPCIPowerOffDisabled(void);
+
+
+/*
+ * EnablePCIPowerOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+EnablePCIPowerOff(Boolean inEnable);
+
+
+/*
+ * AddDevicePowerHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+AddDevicePowerHandler(
+ RegEntryIDPtr regEntryID,
+ PowerHandlerProcPtr handler,
+ UInt32 refCon,
+ char * deviceType);
+
+
+/*
+ * RemoveDevicePowerHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RemoveDevicePowerHandler(RegEntryIDPtr regEntryID);
+
+
+/*
+ * RemoveDevicePowerHandlerForProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+RemoveDevicePowerHandlerForProc(PowerHandlerProcPtr proc);
+
+
+/*
+ * GetDevicePowerLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+GetDevicePowerLevel(
+ RegEntryIDPtr regEntryID,
+ PowerLevel * devicePowerLevel);
+
+
+/*
+ * SetDevicePowerLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DriverServicesLib 1.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+SetDevicePowerLevel(
+ RegEntryIDPtr regEntryID,
+ PowerLevel devicePowerLevel);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewSleepQUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SleepQUPP)
- NewSleepQUPP(SleepQProcPtr userRoutine);
+/*
+ * NewSleepQUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SleepQUPP )
+NewSleepQUPP(SleepQProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSleepQProcInfo = 0x00131832 }; /* register 4_bytes:D0 Func(4_bytes:D0, 4_bytes:A0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SleepQUPP) NewSleepQUPP(SleepQProcPtr userRoutine)
- {
- return (SleepQUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSleepQProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSleepQUPP(userRoutine) (SleepQUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSleepQProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewHDSpindownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HDSpindownUPP)
- NewHDSpindownUPP(HDSpindownProcPtr userRoutine);
+ enum { uppSleepQProcInfo = 0x00131832 }; /* register 4_bytes:D0 Func(4_bytes:D0, 4_bytes:A0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SleepQUPP) NewSleepQUPP(SleepQProcPtr userRoutine) { return (SleepQUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSleepQProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSleepQUPP(userRoutine) (SleepQUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSleepQProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewHDSpindownUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HDSpindownUPP )
+NewHDSpindownUPP(HDSpindownProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHDSpindownProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HDSpindownUPP) NewHDSpindownUPP(HDSpindownProcPtr userRoutine)
- {
- return (HDSpindownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHDSpindownProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHDSpindownUPP(userRoutine) (HDSpindownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHDSpindownProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * NewPMgrStateChangeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PMgrStateChangeUPP)
- NewPMgrStateChangeUPP(PMgrStateChangeProcPtr userRoutine);
+ enum { uppHDSpindownProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HDSpindownUPP) NewHDSpindownUPP(HDSpindownProcPtr userRoutine) { return (HDSpindownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHDSpindownProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHDSpindownUPP(userRoutine) (HDSpindownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHDSpindownProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewPMgrStateChangeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PMgrStateChangeUPP )
+NewPMgrStateChangeUPP(PMgrStateChangeProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppPMgrStateChangeProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(PMgrStateChangeUPP) NewPMgrStateChangeUPP(PMgrStateChangeProcPtr userRoutine)
- {
- return (PMgrStateChangeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPMgrStateChangeProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewPMgrStateChangeUPP(userRoutine) (PMgrStateChangeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPMgrStateChangeProcInfo, GetCurrentArchitecture())
-#endif
-#endif
-
- /*
- * DisposeSleepQUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSleepQUPP(SleepQUPP userUPP);
+ enum { uppPMgrStateChangeProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PMgrStateChangeUPP) NewPMgrStateChangeUPP(PMgrStateChangeProcPtr userRoutine) { return (PMgrStateChangeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPMgrStateChangeProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPMgrStateChangeUPP(userRoutine) (PMgrStateChangeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPMgrStateChangeProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposeSleepQUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSleepQUPP(SleepQUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSleepQUPP(SleepQUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSleepQUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposeHDSpindownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHDSpindownUPP(HDSpindownUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSleepQUPP(SleepQUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSleepQUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposeHDSpindownUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHDSpindownUPP(HDSpindownUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHDSpindownUPP(HDSpindownUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHDSpindownUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * DisposePMgrStateChangeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePMgrStateChangeUPP(PMgrStateChangeUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHDSpindownUPP(HDSpindownUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHDSpindownUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposePMgrStateChangeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePMgrStateChangeUPP(PMgrStateChangeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposePMgrStateChangeUPP(PMgrStateChangeUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposePMgrStateChangeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
-#endif
-
- /*
- * InvokeSleepQUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePMgrStateChangeUPP(PMgrStateChangeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePMgrStateChangeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokeSleepQUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InvokeSleepQUPP(__D0, __A0, __A1)
#endif
- EXTERN_API_C(long)
- InvokeSleepQUPP(
- long message,
- SleepQRecPtr qRecPtr,
- SleepQUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( long )
+InvokeSleepQUPP(
+ long message,
+ SleepQRecPtr qRecPtr,
+ SleepQUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(long) InvokeSleepQUPP(long message, SleepQRecPtr qRecPtr, SleepQUPP userUPP)
- {
- return (long)CALL_TWO_PARAMETER_UPP(userUPP, uppSleepQProcInfo, message, qRecPtr);
- }
-#else
-#define InvokeSleepQUPP(message, qRecPtr, userUPP) (long)CALL_TWO_PARAMETER_UPP((userUPP), uppSleepQProcInfo, (message), (qRecPtr))
-#endif
-#endif
-
- /*
- * InvokeHDSpindownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeHDSpindownUPP(
- HDQueueElement * theElement,
- HDSpindownUPP userUPP);
-#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeHDSpindownUPP(HDQueueElement * theElement, HDSpindownUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppHDSpindownProcInfo, theElement);
- }
-#else
-#define InvokeHDSpindownUPP(theElement, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppHDSpindownProcInfo, (theElement))
-#endif
-#endif
-
- /*
- * InvokePMgrStateChangeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokePMgrStateChangeUPP(
- PMgrQueueElement * theElement,
- long stateBits,
- PMgrStateChangeUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long) InvokeSleepQUPP(long message, SleepQRecPtr qRecPtr, SleepQUPP userUPP) { return (long)CALL_TWO_PARAMETER_UPP(userUPP, uppSleepQProcInfo, message, qRecPtr); }
+ #else
+ #define InvokeSleepQUPP(message, qRecPtr, userUPP) (long)CALL_TWO_PARAMETER_UPP((userUPP), uppSleepQProcInfo, (message), (qRecPtr))
+ #endif
+#endif
+
+/*
+ * InvokeHDSpindownUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeHDSpindownUPP(
+ HDQueueElement * theElement,
+ HDSpindownUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokePMgrStateChangeUPP(PMgrQueueElement * theElement, long stateBits, PMgrStateChangeUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppPMgrStateChangeProcInfo, theElement, stateBits);
- }
-#else
-#define InvokePMgrStateChangeUPP(theElement, stateBits, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppPMgrStateChangeProcInfo, (theElement), (stateBits))
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeHDSpindownUPP(HDQueueElement * theElement, HDSpindownUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppHDSpindownProcInfo, theElement); }
+ #else
+ #define InvokeHDSpindownUPP(theElement, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppHDSpindownProcInfo, (theElement))
+ #endif
#endif
+
+/*
+ * InvokePMgrStateChangeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePMgrStateChangeUPP(
+ PMgrQueueElement * theElement,
+ long stateBits,
+ PMgrStateChangeUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokePMgrStateChangeUPP(PMgrQueueElement * theElement, long stateBits, PMgrStateChangeUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppPMgrStateChangeProcInfo, theElement, stateBits); }
+ #else
+ #define InvokePMgrStateChangeUPP(theElement, stateBits, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppPMgrStateChangeProcInfo, (theElement), (stateBits))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSleepQProc(userRoutine) NewSleepQUPP(userRoutine)
-#define NewHDSpindownProc(userRoutine) NewHDSpindownUPP(userRoutine)
-#define NewPMgrStateChangeProc(userRoutine) NewPMgrStateChangeUPP(userRoutine)
-#define CallSleepQProc(userRoutine, message, qRecPtr) InvokeSleepQUPP(message, qRecPtr, userRoutine)
-#define CallHDSpindownProc(userRoutine, theElement) InvokeHDSpindownUPP(theElement, userRoutine)
-#define CallPMgrStateChangeProc(userRoutine, theElement, stateBits) InvokePMgrStateChangeUPP(theElement, stateBits, userRoutine)
+ #define NewSleepQProc(userRoutine) NewSleepQUPP(userRoutine)
+ #define NewHDSpindownProc(userRoutine) NewHDSpindownUPP(userRoutine)
+ #define NewPMgrStateChangeProc(userRoutine) NewPMgrStateChangeUPP(userRoutine)
+ #define CallSleepQProc(userRoutine, message, qRecPtr) InvokeSleepQUPP(message, qRecPtr, userRoutine)
+ #define CallHDSpindownProc(userRoutine, theElement) InvokeHDSpindownUPP(theElement, userRoutine)
+ #define CallPMgrStateChangeProc(userRoutine, theElement, stateBits) InvokePMgrStateChangeUPP(theElement, stateBits, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Print.h b/include/qt/Print.h
index b071571d9..938654645 100644
--- a/include/qt/Print.h
+++ b/include/qt/Print.h
@@ -1,17 +1,17 @@
/*
File: Print.h
-
+
Contains: Printing functions with UI
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PRINT__
#define __PRINT__
diff --git a/include/qt/PrintCore.h b/include/qt/PrintCore.h
index 2e1bb4be8..56ed6cc50 100644
--- a/include/qt/PrintCore.h
+++ b/include/qt/PrintCore.h
@@ -1,17 +1,17 @@
/*
File: PrintCore.h
-
+
Contains: Printing functions that have no UI
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PRINTCORE__
#define __PRINTCORE__
diff --git a/include/qt/Printing.h b/include/qt/Printing.h
index 59d1356d2..6f52f64b5 100644
--- a/include/qt/Printing.h
+++ b/include/qt/Printing.h
@@ -1,18 +1,18 @@
/*
File: Printing.h
-
+
Contains: Print Manager Interfaces.
-
+
Version: Technology: System 7.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-1999 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 __PRINTING__
#define __PRINTING__
@@ -45,847 +45,799 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kFirstPageMin = 1, /* min value for first page */
- kLastPageMax = 32767 /* max value for last page */
- };
-
- enum
- {
- iPFMaxPgs = 128,
- iPrPgFract = 120, /*Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract*/
- iPrPgFst = 1, /*Page range constants*/
- iPrPgMax = 9999,
- iPrRelease = 3, /*Current version number of the code.*/
- iPrSavPFil = -1,
- iPrAbort = 0x0080,
- iPrDevCtl = 7, /*The PrDevCtl Proc's ctl number*/
- lPrReset = 0x00010000, /*The PrDevCtl Proc's CParam for reset*/
- lPrLineFeed = 0x00030000,
- lPrLFStd = 0x0003FFFF, /*The PrDevCtl Proc's CParam for std paper advance*/
- lPrLFSixth = 0x0003FFFF,
- lPrPageEnd = 0x00020000, /*The PrDevCtl Proc's CParam for end page*/
- lPrDocOpen = 0x00010000,
- lPrPageOpen = 0x00040000,
- lPrPageClose = 0x00020000,
- lPrDocClose = 0x00050000,
- iFMgrCtl = 8, /*The FMgr's Tail-hook Proc's ctl number*/
- iMscCtl = 9, /*The FMgr's Tail-hook Proc's ctl number*/
- iPvtCtl = 10 /*The FMgr's Tail-hook Proc's ctl number*/
- };
+enum {
+ kFirstPageMin = 1, /* min value for first page */
+ kLastPageMax = 32767 /* max value for last page */
+};
+
+enum {
+ iPFMaxPgs = 128,
+ iPrPgFract = 120, /*Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract*/
+ iPrPgFst = 1, /*Page range constants*/
+ iPrPgMax = 9999,
+ iPrRelease = 3, /*Current version number of the code.*/
+ iPrSavPFil = -1,
+ iPrAbort = 0x0080,
+ iPrDevCtl = 7, /*The PrDevCtl Proc's ctl number*/
+ lPrReset = 0x00010000, /*The PrDevCtl Proc's CParam for reset*/
+ lPrLineFeed = 0x00030000,
+ lPrLFStd = 0x0003FFFF, /*The PrDevCtl Proc's CParam for std paper advance*/
+ lPrLFSixth = 0x0003FFFF,
+ lPrPageEnd = 0x00020000, /*The PrDevCtl Proc's CParam for end page*/
+ lPrDocOpen = 0x00010000,
+ lPrPageOpen = 0x00040000,
+ lPrPageClose = 0x00020000,
+ lPrDocClose = 0x00050000,
+ iFMgrCtl = 8, /*The FMgr's Tail-hook Proc's ctl number*/
+ iMscCtl = 9, /*The FMgr's Tail-hook Proc's ctl number*/
+ iPvtCtl = 10 /*The FMgr's Tail-hook Proc's ctl number*/
+};
#define sPrDrvr ".Print"
- /* Error Codes moved to Errors.(hap) */
- enum
- {
- pPrGlobals = 0x00000944, /*The PrVars lo mem area:*/
- bDraftLoop = 0,
- bSpoolLoop = 1,
- bUser1Loop = 2,
- bUser2Loop = 3,
- fNewRunBit = 2,
- fHiResOK = 3,
- fWeOpenedRF = 4, /*Driver constants */
- iPrBitsCtl = 4,
- lScreenBits = 0,
- lPaintBits = 1,
- lHiScreenBits = 0x00000002, /*The Bitmap Print Proc's Screen Bitmap param*/
- lHiPaintBits = 0x00000003, /*The Bitmap Print Proc's Paint [sq pix] param*/
- iPrIOCtl = 5,
- iPrEvtCtl = 6, /*The PrEvent Proc's ctl number*/
- lPrEvtAll = 0x0002FFFD, /*The PrEvent Proc's CParam for the entire screen*/
- lPrEvtTop = 0x0001FFFD, /*The PrEvent Proc's CParam for the top folder*/
- iPrDrvrRef = -3
- };
-
- enum
- {
- getRslDataOp = 4,
- setRslOp = 5,
- draftBitsOp = 6,
- noDraftBitsOp = 7,
- getRotnOp = 8,
- NoSuchRsl = 1,
- OpNotImpl = 2, /*the driver doesn't support this opcode*/
- RgType1 = 1
- };
-
- enum
- {
- feedCut = 0,
- feedFanfold = 1,
- feedMechCut = 2,
- feedOther = 3
- };
-
- typedef SInt8 TFeed;
- enum
- {
- scanTB = 0,
- scanBT = 1,
- scanLR = 2,
- scanRL = 3
- };
-
- typedef SInt8 TScan;
- /* A Rect Ptr */
- typedef Rect * TPRect;
- typedef CALLBACK_API(void , PrIdleProcPtr)(void);
- typedef CALLBACK_API(void , PItemProcPtr)(DialogPtr theDialog, short item);
- typedef STACK_UPP_TYPE(PrIdleProcPtr) PrIdleUPP;
- typedef STACK_UPP_TYPE(PItemProcPtr) PItemUPP;
+/* Error Codes moved to Errors.(hap) */
+enum {
+ pPrGlobals = 0x00000944, /*The PrVars lo mem area:*/
+ bDraftLoop = 0,
+ bSpoolLoop = 1,
+ bUser1Loop = 2,
+ bUser2Loop = 3,
+ fNewRunBit = 2,
+ fHiResOK = 3,
+ fWeOpenedRF = 4, /*Driver constants */
+ iPrBitsCtl = 4,
+ lScreenBits = 0,
+ lPaintBits = 1,
+ lHiScreenBits = 0x00000002, /*The Bitmap Print Proc's Screen Bitmap param*/
+ lHiPaintBits = 0x00000003, /*The Bitmap Print Proc's Paint [sq pix] param*/
+ iPrIOCtl = 5,
+ iPrEvtCtl = 6, /*The PrEvent Proc's ctl number*/
+ lPrEvtAll = 0x0002FFFD, /*The PrEvent Proc's CParam for the entire screen*/
+ lPrEvtTop = 0x0001FFFD, /*The PrEvent Proc's CParam for the top folder*/
+ iPrDrvrRef = -3
+};
+
+enum {
+ getRslDataOp = 4,
+ setRslOp = 5,
+ draftBitsOp = 6,
+ noDraftBitsOp = 7,
+ getRotnOp = 8,
+ NoSuchRsl = 1,
+ OpNotImpl = 2, /*the driver doesn't support this opcode*/
+ RgType1 = 1
+};
+
+enum {
+ feedCut = 0,
+ feedFanfold = 1,
+ feedMechCut = 2,
+ feedOther = 3
+};
+
+typedef SInt8 TFeed;
+enum {
+ scanTB = 0,
+ scanBT = 1,
+ scanLR = 2,
+ scanRL = 3
+};
+
+typedef SInt8 TScan;
+/* A Rect Ptr */
+typedef Rect * TPRect;
+typedef CALLBACK_API( void , PrIdleProcPtr )(void);
+typedef CALLBACK_API( void , PItemProcPtr )(DialogPtr theDialog, short item);
+typedef STACK_UPP_TYPE(PrIdleProcPtr) PrIdleUPP;
+typedef STACK_UPP_TYPE(PItemProcPtr) PItemUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewPrIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(PrIdleUPP)
- NewPrIdleUPP(PrIdleProcPtr userRoutine);
+/*
+ * NewPrIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( PrIdleUPP )
+NewPrIdleUPP(PrIdleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppPrIdleProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
-#ifdef __cplusplus
- inline DEFINE_API_C(PrIdleUPP) NewPrIdleUPP(PrIdleProcPtr userRoutine)
- {
- return (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewPrIdleUPP(userRoutine) (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppPrIdleProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PrIdleUPP) NewPrIdleUPP(PrIdleProcPtr userRoutine) { return (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPrIdleUPP(userRoutine) (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewPItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(PItemUPP)
- NewPItemUPP(PItemProcPtr userRoutine);
+/*
+ * NewPItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( PItemUPP )
+NewPItemUPP(PItemProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppPItemProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(PItemUPP) NewPItemUPP(PItemProcPtr userRoutine)
- {
- return (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewPItemUPP(userRoutine) (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppPItemProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PItemUPP) NewPItemUPP(PItemProcPtr userRoutine) { return (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPItemUPP(userRoutine) (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposePrIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposePrIdleUPP(PrIdleUPP userUPP);
+/*
+ * DisposePrIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposePrIdleUPP(PrIdleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposePrIdleUPP(PrIdleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposePrIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePrIdleUPP(PrIdleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePrIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposePItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposePItemUPP(PItemUPP userUPP);
+/*
+ * DisposePItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposePItemUPP(PItemUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposePItemUPP(PItemUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposePItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePItemUPP(PItemUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokePrIdleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokePrIdleUPP(PrIdleUPP userUPP);
+/*
+ * InvokePrIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokePrIdleUPP(PrIdleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokePrIdleUPP(PrIdleUPP userUPP)
- {
- CALL_ZERO_PARAMETER_UPP(userUPP, uppPrIdleProcInfo);
- }
-#else
-#define InvokePrIdleUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppPrIdleProcInfo)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokePrIdleUPP(PrIdleUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppPrIdleProcInfo); }
+ #else
+ #define InvokePrIdleUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppPrIdleProcInfo)
+ #endif
#endif
- /*
- * InvokePItemUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokePItemUPP(
- DialogPtr theDialog,
- short item,
- PItemUPP userUPP);
+/*
+ * InvokePItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokePItemUPP(
+ DialogPtr theDialog,
+ short item,
+ PItemUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokePItemUPP(DialogPtr theDialog, short item, PItemUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppPItemProcInfo, theDialog, item);
- }
-#else
-#define InvokePItemUPP(theDialog, item, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppPItemProcInfo, (theDialog), (item))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokePItemUPP(DialogPtr theDialog, short item, PItemUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppPItemProcInfo, theDialog, item); }
+ #else
+ #define InvokePItemUPP(theDialog, item, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppPItemProcInfo, (theDialog), (item))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewPrIdleProc(userRoutine) NewPrIdleUPP(userRoutine)
-#define NewPItemProc(userRoutine) NewPItemUPP(userRoutine)
-#define CallPrIdleProc(userRoutine) InvokePrIdleUPP(userRoutine)
-#define CallPItemProc(userRoutine, theDialog, item) InvokePItemUPP(theDialog, item, userRoutine)
+ #define NewPrIdleProc(userRoutine) NewPrIdleUPP(userRoutine)
+ #define NewPItemProc(userRoutine) NewPItemUPP(userRoutine)
+ #define CallPrIdleProc(userRoutine) InvokePrIdleUPP(userRoutine)
+ #define CallPItemProc(userRoutine, theDialog, item) InvokePItemUPP(theDialog, item, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if !OPAQUE_TOOLBOX_STRUCTS
- struct TPrPort
- {
- GrafPort gPort; /*The Printer's graf port.*/
- QDProcs gProcs; /*..and its procs*/
- long lGParam1; /*16 bytes for private parameter storage.*/
- long lGParam2;
- long lGParam3;
- long lGParam4;
- Boolean fOurPtr; /*Whether the PrPort allocation was done by us.*/
- Boolean fOurBits; /*Whether the BitMap allocation was done by us.*/
- };
- typedef struct TPrPort TPrPort;
- typedef TPrPort * TPPrPort;
+struct TPrPort {
+ GrafPort gPort; /*The Printer's graf port.*/
+ QDProcs gProcs; /*..and its procs*/
+ long lGParam1; /*16 bytes for private parameter storage.*/
+ long lGParam2;
+ long lGParam3;
+ long lGParam4;
+ Boolean fOurPtr; /*Whether the PrPort allocation was done by us.*/
+ Boolean fOurBits; /*Whether the BitMap allocation was done by us.*/
+};
+typedef struct TPrPort TPrPort;
+typedef TPrPort * TPPrPort;
#else
- typedef struct OpaqueTPPrPort* TPPrPort;
+typedef struct OpaqueTPPrPort* TPPrPort;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- typedef TPPrPort TPPrPortRef;
- /* Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
- This is the "PrPeek" record. */
- struct TPrInfo
- {
- short iDev; /*Font mgr/QuickDraw device code*/
- short iVRes; /*Resolution of device, in device coordinates*/
- short iHRes; /*..note: V before H => compatable with Point.*/
- Rect rPage; /*The page (printable) rectangle in device coordinates.*/
- };
- typedef struct TPrInfo TPrInfo;
- typedef TPrInfo * TPPrInfo;
- /* Print Info Record: The parameters needed for page composition. */
- struct TPrStl
- {
- short wDev;
- short iPageV;
- short iPageH;
- SInt8 bPort;
- TFeed feed;
- };
- typedef struct TPrStl TPrStl;
- typedef TPrStl * TPPrStl;
- struct TPrXInfo
- {
- short iRowBytes;
- short iBandV;
- short iBandH;
- short iDevBytes;
- short iBands;
- SInt8 bPatScale;
- SInt8 bUlThick;
- SInt8 bUlOffset;
- SInt8 bUlShadow;
- TScan scan;
- SInt8 bXInfoX;
- };
- typedef struct TPrXInfo TPrXInfo;
- typedef TPrXInfo * TPPrXInfo;
- struct TPrJob
- {
- short iFstPage; /*Page Range.*/
- short iLstPage;
- short iCopies; /*No. copies.*/
- SInt8 bJDocLoop; /*The Doc style: Draft, Spool, .., and ..*/
- Boolean fFromUsr; /*Printing from an User's App (not PrApp) flag*/
- PrIdleUPP pIdleProc; /*The Proc called while waiting on IO etc.*/
- StringPtr pFileName; /*Spool File Name: NIL for default.*/
- short iFileVol; /*Spool File vol, set to 0 initially*/
- SInt8 bFileVers; /*Spool File version, set to 0 initially*/
- SInt8 bJobX; /*An eXtra byte.*/
- };
- typedef struct TPrJob TPrJob;
- typedef TPrJob * TPPrJob;
- /* Print Job: Print "form" for a single print request. */
- struct TPrint
- {
- short iPrVersion; /*(2) Printing software version*/
- TPrInfo prInfo; /*(14) the PrInfo data associated with the current style.*/
- Rect rPaper; /*(8) The paper rectangle [offset from rPage]*/
- TPrStl prStl; /*(8) This print request's style.*/
- TPrInfo prInfoPT; /*(14) Print Time Imaging metrics*/
- TPrXInfo prXInfo; /*(16) Print-time (expanded) Print info record.*/
- TPrJob prJob; /*(20) The Print Job request (82) Total of the above; 120-82 = 38 bytes needed to fill 120*/
- short printX[19]; /*Spare to fill to 120 bytes!*/
- };
- typedef struct TPrint TPrint;
- typedef TPrint * TPPrint;
- typedef TPPrint * THPrint;
- struct TPrStatus
- {
- short iTotPages; /*Total pages in Print File.*/
- short iCurPage; /*Current page number*/
- short iTotCopies; /*Total copies requested*/
- short iCurCopy; /*Current copy number*/
- short iTotBands; /*Total bands per page.*/
- short iCurBand; /*Current band number*/
- Boolean fPgDirty; /*True if current page has been written to.*/
- Boolean fImaging; /*Set while in band's DrawPic call.*/
- THPrint hPrint; /*Handle to the active Printer record*/
- TPPrPort pPrPort; /*Ptr to the active PrPort*/
- PicHandle hPic; /*Handle to the active Picture*/
- };
- typedef struct TPrStatus TPrStatus;
- typedef TPrStatus * TPPrStatus;
- typedef TPPrStatus TPPrStatusRef;
-
- /* Print Status: Print information during printing. */
- struct TPfPgDir
- {
- short iPages;
- long iPgPos[129]; /*ARRAY [0..iPfMaxPgs] OF LONGINT*/
- };
- typedef struct TPfPgDir TPfPgDir;
- typedef TPfPgDir * TPPfPgDir;
- typedef TPPfPgDir * THPfPgDir;
- /* PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) */
- /* This is the Printing Dialog Record. Only used by folks appending their own
- DITLs to the print dialogs. Print Dialog: The Dialog Stream object. */
+typedef TPPrPort TPPrPortRef;
+/* Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
+ This is the "PrPeek" record. */
+struct TPrInfo {
+ short iDev; /*Font mgr/QuickDraw device code*/
+ short iVRes; /*Resolution of device, in device coordinates*/
+ short iHRes; /*..note: V before H => compatable with Point.*/
+ Rect rPage; /*The page (printable) rectangle in device coordinates.*/
+};
+typedef struct TPrInfo TPrInfo;
+typedef TPrInfo * TPPrInfo;
+/* Print Info Record: The parameters needed for page composition. */
+struct TPrStl {
+ short wDev;
+ short iPageV;
+ short iPageH;
+ SInt8 bPort;
+ TFeed feed;
+};
+typedef struct TPrStl TPrStl;
+typedef TPrStl * TPPrStl;
+struct TPrXInfo {
+ short iRowBytes;
+ short iBandV;
+ short iBandH;
+ short iDevBytes;
+ short iBands;
+ SInt8 bPatScale;
+ SInt8 bUlThick;
+ SInt8 bUlOffset;
+ SInt8 bUlShadow;
+ TScan scan;
+ SInt8 bXInfoX;
+};
+typedef struct TPrXInfo TPrXInfo;
+typedef TPrXInfo * TPPrXInfo;
+struct TPrJob {
+ short iFstPage; /*Page Range.*/
+ short iLstPage;
+ short iCopies; /*No. copies.*/
+ SInt8 bJDocLoop; /*The Doc style: Draft, Spool, .., and ..*/
+ Boolean fFromUsr; /*Printing from an User's App (not PrApp) flag*/
+ PrIdleUPP pIdleProc; /*The Proc called while waiting on IO etc.*/
+ StringPtr pFileName; /*Spool File Name: NIL for default.*/
+ short iFileVol; /*Spool File vol, set to 0 initially*/
+ SInt8 bFileVers; /*Spool File version, set to 0 initially*/
+ SInt8 bJobX; /*An eXtra byte.*/
+};
+typedef struct TPrJob TPrJob;
+typedef TPrJob * TPPrJob;
+/* Print Job: Print "form" for a single print request. */
+struct TPrint {
+ short iPrVersion; /*(2) Printing software version*/
+ TPrInfo prInfo; /*(14) the PrInfo data associated with the current style.*/
+ Rect rPaper; /*(8) The paper rectangle [offset from rPage]*/
+ TPrStl prStl; /*(8) This print request's style.*/
+ TPrInfo prInfoPT; /*(14) Print Time Imaging metrics*/
+ TPrXInfo prXInfo; /*(16) Print-time (expanded) Print info record.*/
+ TPrJob prJob; /*(20) The Print Job request (82) Total of the above; 120-82 = 38 bytes needed to fill 120*/
+ short printX[19]; /*Spare to fill to 120 bytes!*/
+};
+typedef struct TPrint TPrint;
+typedef TPrint * TPPrint;
+typedef TPPrint * THPrint;
+struct TPrStatus {
+ short iTotPages; /*Total pages in Print File.*/
+ short iCurPage; /*Current page number*/
+ short iTotCopies; /*Total copies requested*/
+ short iCurCopy; /*Current copy number*/
+ short iTotBands; /*Total bands per page.*/
+ short iCurBand; /*Current band number*/
+ Boolean fPgDirty; /*True if current page has been written to.*/
+ Boolean fImaging; /*Set while in band's DrawPic call.*/
+ THPrint hPrint; /*Handle to the active Printer record*/
+ TPPrPort pPrPort; /*Ptr to the active PrPort*/
+ PicHandle hPic; /*Handle to the active Picture*/
+};
+typedef struct TPrStatus TPrStatus;
+typedef TPrStatus * TPPrStatus;
+typedef TPPrStatus TPPrStatusRef;
+
+/* Print Status: Print information during printing. */
+struct TPfPgDir {
+ short iPages;
+ long iPgPos[129]; /*ARRAY [0..iPfMaxPgs] OF LONGINT*/
+};
+typedef struct TPfPgDir TPfPgDir;
+typedef TPfPgDir * TPPfPgDir;
+typedef TPPfPgDir * THPfPgDir;
+/* PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) */
+/* This is the Printing Dialog Record. Only used by folks appending their own
+ DITLs to the print dialogs. Print Dialog: The Dialog Stream object. */
#if !OPAQUE_TOOLBOX_STRUCTS
- struct TPrDlg
- {
- DialogRecord Dlg; /*The Dialog window*/
- ModalFilterUPP pFltrProc; /*The Filter Proc.*/
- PItemUPP pItemProc; /*The Item evaluating proc.*/
- THPrint hPrintUsr; /*The user's print record.*/
- Boolean fDoIt;
- Boolean fDone;
- long lUser1; /*Four longs for apps to hang global data.*/
- long lUser2; /*Plus more stuff needed by the particular*/
- long lUser3; /*printing dialog.*/
- long lUser4;
- };
- typedef struct TPrDlg TPrDlg;
- typedef TPrDlg * TPPrDlg;
+struct TPrDlg {
+ DialogRecord Dlg; /*The Dialog window*/
+ ModalFilterUPP pFltrProc; /*The Filter Proc.*/
+ PItemUPP pItemProc; /*The Item evaluating proc.*/
+ THPrint hPrintUsr; /*The user's print record.*/
+ Boolean fDoIt;
+ Boolean fDone;
+ long lUser1; /*Four longs for apps to hang global data.*/
+ long lUser2; /*Plus more stuff needed by the particular*/
+ long lUser3; /*printing dialog.*/
+ long lUser4;
+};
+typedef struct TPrDlg TPrDlg;
+typedef TPrDlg * TPPrDlg;
#else
- typedef struct OpaqueTPPrDlg* TPPrDlg;
+typedef struct OpaqueTPPrDlg* TPPrDlg;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- typedef TPPrDlg TPPrDlgRef;
- typedef CALLBACK_API(TPPrDlgRef , PDlgInitProcPtr)(THPrint hPrint);
- typedef STACK_UPP_TYPE(PDlgInitProcPtr) PDlgInitUPP;
+typedef TPPrDlg TPPrDlgRef;
+typedef CALLBACK_API( TPPrDlgRef , PDlgInitProcPtr )(THPrint hPrint);
+typedef STACK_UPP_TYPE(PDlgInitProcPtr) PDlgInitUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewPDlgInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(PDlgInitUPP)
- NewPDlgInitUPP(PDlgInitProcPtr userRoutine);
+/*
+ * NewPDlgInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( PDlgInitUPP )
+NewPDlgInitUPP(PDlgInitProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppPDlgInitProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(PDlgInitUPP) NewPDlgInitUPP(PDlgInitProcPtr userRoutine)
- {
- return (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewPDlgInitUPP(userRoutine) (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppPDlgInitProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PDlgInitUPP) NewPDlgInitUPP(PDlgInitProcPtr userRoutine) { return (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPDlgInitUPP(userRoutine) (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposePDlgInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposePDlgInitUPP(PDlgInitUPP userUPP);
+/*
+ * DisposePDlgInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposePDlgInitUPP(PDlgInitUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposePDlgInitUPP(PDlgInitUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposePDlgInitUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePDlgInitUPP(PDlgInitUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePDlgInitUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokePDlgInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TPPrDlgRef)
- InvokePDlgInitUPP(
- THPrint hPrint,
- PDlgInitUPP userUPP);
+/*
+ * InvokePDlgInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TPPrDlgRef )
+InvokePDlgInitUPP(
+ THPrint hPrint,
+ PDlgInitUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(TPPrDlgRef) InvokePDlgInitUPP(THPrint hPrint, PDlgInitUPP userUPP)
- {
- return (TPPrDlgRef)CALL_ONE_PARAMETER_UPP(userUPP, uppPDlgInitProcInfo, hPrint);
- }
-#else
-#define InvokePDlgInitUPP(hPrint, userUPP) (TPPrDlgRef)CALL_ONE_PARAMETER_UPP((userUPP), uppPDlgInitProcInfo, (hPrint))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TPPrDlgRef) InvokePDlgInitUPP(THPrint hPrint, PDlgInitUPP userUPP) { return (TPPrDlgRef)CALL_ONE_PARAMETER_UPP(userUPP, uppPDlgInitProcInfo, hPrint); }
+ #else
+ #define InvokePDlgInitUPP(hPrint, userUPP) (TPPrDlgRef)CALL_ONE_PARAMETER_UPP((userUPP), uppPDlgInitProcInfo, (hPrint))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewPDlgInitProc(userRoutine) NewPDlgInitUPP(userRoutine)
-#define CallPDlgInitProc(userRoutine, hPrint) InvokePDlgInitUPP(hPrint, userRoutine)
+ #define NewPDlgInitProc(userRoutine) NewPDlgInitUPP(userRoutine)
+ #define CallPDlgInitProc(userRoutine, hPrint) InvokePDlgInitUPP(hPrint, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- struct TGnlData
- {
- short iOpCode;
- short iError;
- long lReserved; /*more fields here depending on call*/
- };
- typedef struct TGnlData TGnlData;
- struct TRslRg
- {
- short iMin;
- short iMax;
- };
- typedef struct TRslRg TRslRg;
- struct TRslRec
- {
- short iXRsl;
- short iYRsl;
- };
- typedef struct TRslRec TRslRec;
- struct TGetRslBlk
- {
- short iOpCode;
- short iError;
- long lReserved;
- short iRgType;
- TRslRg xRslRg;
- TRslRg yRslRg;
- short iRslRecCnt;
- TRslRec rgRslRec[27];
- };
- typedef struct TGetRslBlk TGetRslBlk;
- struct TSetRslBlk
- {
- short iOpCode;
- short iError;
- long lReserved;
- THPrint hPrint;
- short iXRsl;
- short iYRsl;
- };
- typedef struct TSetRslBlk TSetRslBlk;
- struct TDftBitsBlk
- {
- short iOpCode;
- short iError;
- long lReserved;
- THPrint hPrint;
- };
- typedef struct TDftBitsBlk TDftBitsBlk;
- struct TGetRotnBlk
- {
- short iOpCode;
- short iError;
- long lReserved;
- THPrint hPrint;
- Boolean fLandscape;
- SInt8 bXtra;
- };
- typedef struct TGetRotnBlk TGetRotnBlk;
+struct TGnlData {
+ short iOpCode;
+ short iError;
+ long lReserved; /*more fields here depending on call*/
+};
+typedef struct TGnlData TGnlData;
+struct TRslRg {
+ short iMin;
+ short iMax;
+};
+typedef struct TRslRg TRslRg;
+struct TRslRec {
+ short iXRsl;
+ short iYRsl;
+};
+typedef struct TRslRec TRslRec;
+struct TGetRslBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ short iRgType;
+ TRslRg xRslRg;
+ TRslRg yRslRg;
+ short iRslRecCnt;
+ TRslRec rgRslRec[27];
+};
+typedef struct TGetRslBlk TGetRslBlk;
+struct TSetRslBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ THPrint hPrint;
+ short iXRsl;
+ short iYRsl;
+};
+typedef struct TSetRslBlk TSetRslBlk;
+struct TDftBitsBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ THPrint hPrint;
+};
+typedef struct TDftBitsBlk TDftBitsBlk;
+struct TGetRotnBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ THPrint hPrint;
+ Boolean fLandscape;
+ SInt8 bXtra;
+};
+typedef struct TGetRotnBlk TGetRotnBlk;
#if CALL_NOT_IN_CARBON
- /*
- * PrPurge()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrPurge(void) FOURWORDINLINE(0x2F3C, 0xA800, 0x0000, 0xA8FD);
-
-
- /*
- * PrNoPurge()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrNoPurge(void) FOURWORDINLINE(0x2F3C, 0xB000, 0x0000, 0xA8FD);
-
-
- /*
- * PrOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrOpen(void) FOURWORDINLINE(0x2F3C, 0xC800, 0x0000, 0xA8FD);
-
-
- /*
- * PrClose()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrClose(void) FOURWORDINLINE(0x2F3C, 0xD000, 0x0000, 0xA8FD);
-
-
- /*
- * PrintDefault()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrintDefault(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2004, 0x0480, 0xA8FD);
-
-
- /*
- * PrValidate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- PrValidate(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x5204, 0x0498, 0xA8FD);
-
-
- /*
- * PrStlDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- PrStlDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2A04, 0x0484, 0xA8FD);
-
-
- /*
- * PrJobDialog()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- PrJobDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3204, 0x0488, 0xA8FD);
-
-
- /*
- * PrStlInit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(TPPrDlgRef)
- PrStlInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3C04, 0x040C, 0xA8FD);
-
-
- /*
- * PrJobInit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(TPPrDlgRef)
- PrJobInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x4404, 0x0410, 0xA8FD);
-
-
- /*
- * PrJobMerge()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrJobMerge(
- THPrint hPrintSrc,
- THPrint hPrintDst) FOURWORDINLINE(0x2F3C, 0x5804, 0x089C, 0xA8FD);
-
-
- /*
- * PrDlgMain()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- PrDlgMain(
- THPrint hPrint,
- PDlgInitUPP pDlgInit) FOURWORDINLINE(0x2F3C, 0x4A04, 0x0894, 0xA8FD);
-
-
- /*
- * PrOpenDoc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(TPPrPort)
- PrOpenDoc(
- THPrint hPrint,
- TPPrPort pPrPort, /* can be NULL */
- Ptr pIOBuf) FOURWORDINLINE(0x2F3C, 0x0400, 0x0C00, 0xA8FD);
-
-
- /*
- * PrCloseDoc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrCloseDoc(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x0800, 0x0484, 0xA8FD);
-
-
- /*
- * PrOpenPage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrOpenPage(
- TPPrPort pPrPort,
- TPRect pPageFrame) FOURWORDINLINE(0x2F3C, 0x1000, 0x0808, 0xA8FD);
-
-
- /*
- * PrClosePage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrClosePage(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x1800, 0x040C, 0xA8FD);
-
-
- /*
- * PrPicFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrPicFile(
- THPrint hPrint,
- TPPrPort pPrPort,
- Ptr pIOBuf,
- Ptr pDevBuf,
- TPPrStatus prStatus) FOURWORDINLINE(0x2F3C, 0x6005, 0x1480, 0xA8FD);
-
-
- /*
- * PrError()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- PrError(void) FOURWORDINLINE(0x2F3C, 0xBA00, 0x0000, 0xA8FD);
-
-
- /*
- * PrSetError()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrSetError(short iErr) FOURWORDINLINE(0x2F3C, 0xC000, 0x0200, 0xA8FD);
-
-
- /*
- * PrGeneral()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrGeneral(Ptr pData) FOURWORDINLINE(0x2F3C, 0x7007, 0x0480, 0xA8FD);
-
-
- /*
- * PrDrvrOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrDrvrOpen(void) FOURWORDINLINE(0x2F3C, 0x8000, 0x0000, 0xA8FD);
-
-
- /*
- * PrDrvrClose()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrDrvrClose(void) FOURWORDINLINE(0x2F3C, 0x8800, 0x0000, 0xA8FD);
-
-
- /*
- * PrCtlCall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- PrCtlCall(
- short iWhichCtl,
- long lParam1,
- long lParam2,
- long lParam3) FOURWORDINLINE(0x2F3C, 0xA000, 0x0E00, 0xA8FD);
-
-
- /*
- * PrDrvrDCE()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle)
- PrDrvrDCE(void) FOURWORDINLINE(0x2F3C, 0x9400, 0x0000, 0xA8FD);
-
-
- /*
- * PrDrvrVers()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- PrDrvrVers(void) FOURWORDINLINE(0x2F3C, 0x9A00, 0x0000, 0xA8FD);
-
-
- /*
- * PrLoadDriver()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- PrLoadDriver(void) FOURWORDINLINE(0x2F3C, 0xD800, 0x0000, 0xA8FD);
+/*
+ * PrPurge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrPurge(void) FOURWORDINLINE(0x2F3C, 0xA800, 0x0000, 0xA8FD);
+
+
+/*
+ * PrNoPurge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrNoPurge(void) FOURWORDINLINE(0x2F3C, 0xB000, 0x0000, 0xA8FD);
+
+
+/*
+ * PrOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrOpen(void) FOURWORDINLINE(0x2F3C, 0xC800, 0x0000, 0xA8FD);
+
+
+/*
+ * PrClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrClose(void) FOURWORDINLINE(0x2F3C, 0xD000, 0x0000, 0xA8FD);
+
+
+/*
+ * PrintDefault()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrintDefault(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2004, 0x0480, 0xA8FD);
+
+
+/*
+ * PrValidate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+PrValidate(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x5204, 0x0498, 0xA8FD);
+
+
+/*
+ * PrStlDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+PrStlDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2A04, 0x0484, 0xA8FD);
+
+
+/*
+ * PrJobDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+PrJobDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3204, 0x0488, 0xA8FD);
+
+
+/*
+ * PrStlInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( TPPrDlgRef )
+PrStlInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3C04, 0x040C, 0xA8FD);
+
+
+/*
+ * PrJobInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( TPPrDlgRef )
+PrJobInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x4404, 0x0410, 0xA8FD);
+
+
+/*
+ * PrJobMerge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrJobMerge(
+ THPrint hPrintSrc,
+ THPrint hPrintDst) FOURWORDINLINE(0x2F3C, 0x5804, 0x089C, 0xA8FD);
+
+
+/*
+ * PrDlgMain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+PrDlgMain(
+ THPrint hPrint,
+ PDlgInitUPP pDlgInit) FOURWORDINLINE(0x2F3C, 0x4A04, 0x0894, 0xA8FD);
+
+
+/*
+ * PrOpenDoc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( TPPrPort )
+PrOpenDoc(
+ THPrint hPrint,
+ TPPrPort pPrPort, /* can be NULL */
+ Ptr pIOBuf) FOURWORDINLINE(0x2F3C, 0x0400, 0x0C00, 0xA8FD);
+
+
+/*
+ * PrCloseDoc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrCloseDoc(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x0800, 0x0484, 0xA8FD);
+
+
+/*
+ * PrOpenPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrOpenPage(
+ TPPrPort pPrPort,
+ TPRect pPageFrame) FOURWORDINLINE(0x2F3C, 0x1000, 0x0808, 0xA8FD);
+
+
+/*
+ * PrClosePage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrClosePage(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x1800, 0x040C, 0xA8FD);
+
+
+/*
+ * PrPicFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrPicFile(
+ THPrint hPrint,
+ TPPrPort pPrPort,
+ Ptr pIOBuf,
+ Ptr pDevBuf,
+ TPPrStatus prStatus) FOURWORDINLINE(0x2F3C, 0x6005, 0x1480, 0xA8FD);
+
+
+/*
+ * PrError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+PrError(void) FOURWORDINLINE(0x2F3C, 0xBA00, 0x0000, 0xA8FD);
+
+
+/*
+ * PrSetError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrSetError(short iErr) FOURWORDINLINE(0x2F3C, 0xC000, 0x0200, 0xA8FD);
+
+
+/*
+ * PrGeneral()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrGeneral(Ptr pData) FOURWORDINLINE(0x2F3C, 0x7007, 0x0480, 0xA8FD);
+
+
+/*
+ * PrDrvrOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrDrvrOpen(void) FOURWORDINLINE(0x2F3C, 0x8000, 0x0000, 0xA8FD);
+
+
+/*
+ * PrDrvrClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrDrvrClose(void) FOURWORDINLINE(0x2F3C, 0x8800, 0x0000, 0xA8FD);
+
+
+/*
+ * PrCtlCall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrCtlCall(
+ short iWhichCtl,
+ long lParam1,
+ long lParam2,
+ long lParam3) FOURWORDINLINE(0x2F3C, 0xA000, 0x0E00, 0xA8FD);
+
+
+/*
+ * PrDrvrDCE()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle )
+PrDrvrDCE(void) FOURWORDINLINE(0x2F3C, 0x9400, 0x0000, 0xA8FD);
+
+
+/*
+ * PrDrvrVers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+PrDrvrVers(void) FOURWORDINLINE(0x2F3C, 0x9A00, 0x0000, 0xA8FD);
+
+
+/*
+ * PrLoadDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+PrLoadDriver(void) FOURWORDINLINE(0x2F3C, 0xD800, 0x0000, 0xA8FD);
@@ -893,11 +845,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Processes.h b/include/qt/Processes.h
index d4983ea24..7a3d7fa2d 100644
--- a/include/qt/Processes.h
+++ b/include/qt/Processes.h
@@ -1,17 +1,17 @@
/*
File: Processes.h
-
+
Contains: Process Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __PROCESSES__
#define __PROCESSES__
@@ -47,745 +47,729 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* type for unique process identifier */
- struct ProcessSerialNumber
- {
- unsigned long highLongOfPSN;
- unsigned long lowLongOfPSN;
- };
- typedef struct ProcessSerialNumber ProcessSerialNumber;
- typedef ProcessSerialNumber * ProcessSerialNumberPtr;
- enum
- {
- /* Process identifier - Various reserved process serial numbers */
- kNoProcess = 0,
- kSystemProcess = 1,
- kCurrentProcess = 2
- };
-
- /* Definition of the parameter block passed to _Launch */
- /* Typedef and flags for launchControlFlags field*/
- typedef unsigned short LaunchFlags;
- enum
- {
- launchContinue = 0x4000,
- launchNoFileFlags = 0x0800,
- launchUseMinimum = 0x0400,
- launchDontSwitch = 0x0200,
- launchAllow24Bit = 0x0100,
- launchInhibitDaemon = 0x0080
- };
-
- /* Format for first AppleEvent to pass to new process. The size of the overall
- buffer variable: the message body immediately follows the messageLength */
- struct AppParameters
- {
- struct
- {
- UInt16 what;
- UInt32 message;
- UInt32 when;
- Point where;
- UInt16 modifiers;
- } theMsgEvent;
- unsigned long eventRefCon;
- unsigned long messageLength;
- };
- typedef struct AppParameters AppParameters;
- typedef AppParameters * AppParametersPtr;
- /* Parameter block to _Launch */
- struct LaunchParamBlockRec
- {
- unsigned long reserved1;
- unsigned short reserved2;
- unsigned short launchBlockID;
- unsigned long launchEPBLength;
- unsigned short launchFileFlags;
- LaunchFlags launchControlFlags;
- FSSpecPtr launchAppSpec;
- ProcessSerialNumber launchProcessSN;
- unsigned long launchPreferredSize;
- unsigned long launchMinimumSize;
- unsigned long launchAvailableSize;
- AppParametersPtr launchAppParameters;
- };
- typedef struct LaunchParamBlockRec LaunchParamBlockRec;
- typedef LaunchParamBlockRec * LaunchPBPtr;
- /* Set launchBlockID to extendedBlock to specify that extensions exist.
- Set launchEPBLength to extendedBlockLen for compatibility.*/
- enum
- {
- extendedBlock = 0x4C43, /* 'LC' */
- extendedBlockLen = sizeof(LaunchParamBlockRec) - 12
- };
-
- enum
- {
- /* Definition of the information block returned by GetProcessInformation */
- modeReserved = 0x01000000,
- modeControlPanel = 0x00080000,
- modeLaunchDontSwitch = 0x00040000,
- modeDeskAccessory = 0x00020000,
- modeMultiLaunch = 0x00010000,
- modeNeedSuspendResume = 0x00004000,
- modeCanBackground = 0x00001000,
- modeDoesActivateOnFGSwitch = 0x00000800,
- modeOnlyBackground = 0x00000400,
- modeGetFrontClicks = 0x00000200,
- modeGetAppDiedMsg = 0x00000100,
- mode32BitCompatible = 0x00000080,
- modeHighLevelEventAware = 0x00000040,
- modeLocalAndRemoteHLEvents = 0x00000020,
- modeStationeryAware = 0x00000010,
- modeUseTextEditServices = 0x00000008,
- modeDisplayManagerAware = 0x00000004
- };
-
- /*
- Record returned by GetProcessInformation
- When calling GetProcessInformation(), the input ProcesInfoRec
- should have the processInfoLength set to sizeof(ProcessInfoRec),
- the processName field set to nil or a pointer to a Str255, and
- processAppSpec set to nil or a pointer to an FSSpec. If
- processName or processAppSpec are not specified, this routine
- will very likely write data to whatever random location in memory
- these happen to point to, which is not a good thing.
- Note: The processName field may not be what you expect, especially if
- an application has a localized name. The .processName field, if not NULL,
- on return will contain the filename part of the executable file of the
- application. If you want the localized, user-displayable name for an
- application, call CopyProcessName().
-
- */
- struct ProcessInfoRec
- {
- unsigned long processInfoLength;
- StringPtr processName;
- ProcessSerialNumber processNumber;
- unsigned long processType;
- OSType processSignature;
- unsigned long processMode;
- Ptr processLocation;
- unsigned long processSize;
- unsigned long processFreeMem;
- ProcessSerialNumber processLauncher;
- unsigned long processLaunchDate;
- unsigned long processActiveTime;
- FSSpecPtr processAppSpec;
- };
- typedef struct ProcessInfoRec ProcessInfoRec;
- typedef ProcessInfoRec * ProcessInfoRecPtr;
- /*
- Some applications assumed the size of a ProcessInfoRec would never change,
- which has caused problems trying to return additional information. In
- the future, we will add fields to ProcessInfoExtendedRec when necessary,
- and callers which wish to access 'more' data than originally was present
- in ProcessInfoRec should allocate space for a ProcessInfoExtendedRec,
- fill in the processInfoLength ( and processName and processAppSpec ptrs ),
- then coerce this to a ProcessInfoRecPtr in the call to
- GetProcessInformation().
- Note: The processName field may not be what you expect, especially if
- an application has a localized name. The .processName field, if not NULL,
- on return will contain the filename part of the executable file of the
- application. If you want the localized, user-displayable name for an
- application, call CopyProcessName().
-
- */
- struct ProcessInfoExtendedRec
- {
- unsigned long processInfoLength;
- StringPtr processName;
- ProcessSerialNumber processNumber;
- unsigned long processType;
- OSType processSignature;
- unsigned long processMode;
- Ptr processLocation;
- unsigned long processSize;
- unsigned long processFreeMem;
- ProcessSerialNumber processLauncher;
- unsigned long processLaunchDate;
- unsigned long processActiveTime;
- FSSpecPtr processAppSpec;
- unsigned long processTempMemTotal;
- unsigned long processPurgeableTempMemTotal;
- };
- typedef struct ProcessInfoExtendedRec ProcessInfoExtendedRec;
- typedef ProcessInfoExtendedRec * ProcessInfoExtendedRecPtr;
- /* Record corresponding to the SIZE resource definition */
- struct SizeResourceRec
- {
- unsigned short flags;
- unsigned long preferredHeapSize;
- unsigned long minimumHeapSize;
- };
- typedef struct SizeResourceRec SizeResourceRec;
- typedef SizeResourceRec * SizeResourceRecPtr;
- typedef SizeResourceRecPtr * SizeResourceRecHandle;
-
- /*
- * Summary:
- * Options for ProcessInformationCopyDictionary
- */
- enum
- {
-
- /*
- * Return all information known about the application in the
- * dictionary.
- */
- kProcessDictionaryIncludeAllInformationMask = (long)0xFFFFFFFF
- };
-
- /*
- Applications and background applications can control when they are asked to quit
- by the system at restart/shutdown by setting these bits in a 'quit' ( 0 ) resource
- in their application's resource fork. Applications without a 'quit' ( 0 ) will
- be quit at kQuitAtNormalTime mask.
- These options only function on Mac OS 9.x at this time.
- */
- enum
- {
- kQuitBeforeNormalTimeMask = 1,
- kQuitAtNormalTimeMask = 2,
- kQuitBeforeFBAsQuitMask = 4,
- kQuitBeforeShellQuitsMask = 8,
- kQuitBeforeTerminatorAppQuitsMask = 16,
- kQuitNeverMask = 32,
- kQuitOptionsMask = 0x7F,
- kQuitNotQuitDuringInstallMask = 0x0100,
- kQuitNotQuitDuringLogoutMask = 0x0200
- };
-
-
- /*
- * LaunchApplication()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/* type for unique process identifier */
+struct ProcessSerialNumber {
+ unsigned long highLongOfPSN;
+ unsigned long lowLongOfPSN;
+};
+typedef struct ProcessSerialNumber ProcessSerialNumber;
+typedef ProcessSerialNumber * ProcessSerialNumberPtr;
+enum {
+ /* Process identifier - Various reserved process serial numbers */
+ kNoProcess = 0,
+ kSystemProcess = 1,
+ kCurrentProcess = 2
+};
+
+/* Definition of the parameter block passed to _Launch */
+/* Typedef and flags for launchControlFlags field*/
+typedef unsigned short LaunchFlags;
+enum {
+ launchContinue = 0x4000,
+ launchNoFileFlags = 0x0800,
+ launchUseMinimum = 0x0400,
+ launchDontSwitch = 0x0200,
+ launchAllow24Bit = 0x0100,
+ launchInhibitDaemon = 0x0080
+};
+
+/* Format for first AppleEvent to pass to new process. The size of the overall
+ buffer variable: the message body immediately follows the messageLength */
+struct AppParameters {
+ struct {
+ UInt16 what;
+ UInt32 message;
+ UInt32 when;
+ Point where;
+ UInt16 modifiers;
+ } theMsgEvent;
+ unsigned long eventRefCon;
+ unsigned long messageLength;
+};
+typedef struct AppParameters AppParameters;
+typedef AppParameters * AppParametersPtr;
+/* Parameter block to _Launch */
+struct LaunchParamBlockRec {
+ unsigned long reserved1;
+ unsigned short reserved2;
+ unsigned short launchBlockID;
+ unsigned long launchEPBLength;
+ unsigned short launchFileFlags;
+ LaunchFlags launchControlFlags;
+ FSSpecPtr launchAppSpec;
+ ProcessSerialNumber launchProcessSN;
+ unsigned long launchPreferredSize;
+ unsigned long launchMinimumSize;
+ unsigned long launchAvailableSize;
+ AppParametersPtr launchAppParameters;
+};
+typedef struct LaunchParamBlockRec LaunchParamBlockRec;
+typedef LaunchParamBlockRec * LaunchPBPtr;
+/* Set launchBlockID to extendedBlock to specify that extensions exist.
+ Set launchEPBLength to extendedBlockLen for compatibility.*/
+enum {
+ extendedBlock = 0x4C43, /* 'LC' */
+ extendedBlockLen = sizeof(LaunchParamBlockRec) - 12
+};
+
+enum {
+ /* Definition of the information block returned by GetProcessInformation */
+ modeReserved = 0x01000000,
+ modeControlPanel = 0x00080000,
+ modeLaunchDontSwitch = 0x00040000,
+ modeDeskAccessory = 0x00020000,
+ modeMultiLaunch = 0x00010000,
+ modeNeedSuspendResume = 0x00004000,
+ modeCanBackground = 0x00001000,
+ modeDoesActivateOnFGSwitch = 0x00000800,
+ modeOnlyBackground = 0x00000400,
+ modeGetFrontClicks = 0x00000200,
+ modeGetAppDiedMsg = 0x00000100,
+ mode32BitCompatible = 0x00000080,
+ modeHighLevelEventAware = 0x00000040,
+ modeLocalAndRemoteHLEvents = 0x00000020,
+ modeStationeryAware = 0x00000010,
+ modeUseTextEditServices = 0x00000008,
+ modeDisplayManagerAware = 0x00000004
+};
+
+/*
+ Record returned by GetProcessInformation
+ When calling GetProcessInformation(), the input ProcesInfoRec
+ should have the processInfoLength set to sizeof(ProcessInfoRec),
+ the processName field set to nil or a pointer to a Str255, and
+ processAppSpec set to nil or a pointer to an FSSpec. If
+ processName or processAppSpec are not specified, this routine
+ will very likely write data to whatever random location in memory
+ these happen to point to, which is not a good thing.
+ Note: The processName field may not be what you expect, especially if
+ an application has a localized name. The .processName field, if not NULL,
+ on return will contain the filename part of the executable file of the
+ application. If you want the localized, user-displayable name for an
+ application, call CopyProcessName().
+
+*/
+struct ProcessInfoRec {
+ unsigned long processInfoLength;
+ StringPtr processName;
+ ProcessSerialNumber processNumber;
+ unsigned long processType;
+ OSType processSignature;
+ unsigned long processMode;
+ Ptr processLocation;
+ unsigned long processSize;
+ unsigned long processFreeMem;
+ ProcessSerialNumber processLauncher;
+ unsigned long processLaunchDate;
+ unsigned long processActiveTime;
+ FSSpecPtr processAppSpec;
+};
+typedef struct ProcessInfoRec ProcessInfoRec;
+typedef ProcessInfoRec * ProcessInfoRecPtr;
+/*
+ Some applications assumed the size of a ProcessInfoRec would never change,
+ which has caused problems trying to return additional information. In
+ the future, we will add fields to ProcessInfoExtendedRec when necessary,
+ and callers which wish to access 'more' data than originally was present
+ in ProcessInfoRec should allocate space for a ProcessInfoExtendedRec,
+ fill in the processInfoLength ( and processName and processAppSpec ptrs ),
+ then coerce this to a ProcessInfoRecPtr in the call to
+ GetProcessInformation().
+ Note: The processName field may not be what you expect, especially if
+ an application has a localized name. The .processName field, if not NULL,
+ on return will contain the filename part of the executable file of the
+ application. If you want the localized, user-displayable name for an
+ application, call CopyProcessName().
+
+*/
+struct ProcessInfoExtendedRec {
+ unsigned long processInfoLength;
+ StringPtr processName;
+ ProcessSerialNumber processNumber;
+ unsigned long processType;
+ OSType processSignature;
+ unsigned long processMode;
+ Ptr processLocation;
+ unsigned long processSize;
+ unsigned long processFreeMem;
+ ProcessSerialNumber processLauncher;
+ unsigned long processLaunchDate;
+ unsigned long processActiveTime;
+ FSSpecPtr processAppSpec;
+ unsigned long processTempMemTotal;
+ unsigned long processPurgeableTempMemTotal;
+};
+typedef struct ProcessInfoExtendedRec ProcessInfoExtendedRec;
+typedef ProcessInfoExtendedRec * ProcessInfoExtendedRecPtr;
+/* Record corresponding to the SIZE resource definition */
+struct SizeResourceRec {
+ unsigned short flags;
+ unsigned long preferredHeapSize;
+ unsigned long minimumHeapSize;
+};
+typedef struct SizeResourceRec SizeResourceRec;
+typedef SizeResourceRec * SizeResourceRecPtr;
+typedef SizeResourceRecPtr * SizeResourceRecHandle;
+
+/*
+ * Summary:
+ * Options for ProcessInformationCopyDictionary
+ */
+enum {
+
+ /*
+ * Return all information known about the application in the
+ * dictionary.
+ */
+ kProcessDictionaryIncludeAllInformationMask = (long)0xFFFFFFFF
+};
+
+/*
+ Applications and background applications can control when they are asked to quit
+ by the system at restart/shutdown by setting these bits in a 'quit' ( 0 ) resource
+ in their application's resource fork. Applications without a 'quit' ( 0 ) will
+ be quit at kQuitAtNormalTime mask.
+ These options only function on Mac OS 9.x at this time.
+*/
+enum {
+ kQuitBeforeNormalTimeMask = 1,
+ kQuitAtNormalTimeMask = 2,
+ kQuitBeforeFBAsQuitMask = 4,
+ kQuitBeforeShellQuitsMask = 8,
+ kQuitBeforeTerminatorAppQuitsMask = 16,
+ kQuitNeverMask = 32,
+ kQuitOptionsMask = 0x7F,
+ kQuitNotQuitDuringInstallMask = 0x0100,
+ kQuitNotQuitDuringLogoutMask = 0x0200
+};
+
+
+/*
+ * LaunchApplication()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 LaunchApplication(__A0)
#endif
- EXTERN_API(OSErr)
- LaunchApplication(LaunchPBPtr LaunchParams) ONEWORDINLINE(0xA9F2);
+EXTERN_API( OSErr )
+LaunchApplication(LaunchPBPtr LaunchParams) ONEWORDINLINE(0xA9F2);
#if CALL_NOT_IN_CARBON
- /*
- * LaunchDeskAccessory()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LaunchDeskAccessory(
- const FSSpec * pFileSpec,
- ConstStr255Param pDAName) THREEWORDINLINE(0x3F3C, 0x0036, 0xA88F);
+/*
+ * LaunchDeskAccessory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LaunchDeskAccessory(
+ const FSSpec * pFileSpec,
+ ConstStr255Param pDAName) THREEWORDINLINE(0x3F3C, 0x0036, 0xA88F);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * [Mac]GetCurrentProcess()
- *
- * Discussion:
- * Return the canonical process serial number to the caller.
- *
- * All applications ( things which can appear in the Dock or which
- * are not documents and are launched by the Finder or Dock ) on Mac
- * OS 10 have a unique process serial number. This number is
- * created when the application launches, and remains until the
- * application quits. Other system services, like AppleEvents, use
- * the ProcessSerialNumber to specify an application.
- *
- * During launch, every application 'checks in' with the Process
- * Manager. Before this checkin, the application can not receive
- * events or draw to the screen. Prior to Mac OS 10.2, this 'check
- * in' happened before the applications's main() function was
- * entered. In Mac OS 10.2 and later, this 'check in' does not
- * happen until the first time the application calls a Process
- * Manager function, or until it enters CFRunLoopRun() for the main
- * runloop. This allows tools and other executables which do not
- * need to receive events to link against more of the higher level
- * toolbox frameworks, but may cause a problem if the application
- * expects to be able to retrieve events or use CoreGraphics
- * services before this checkin has occurred.
- *
- * An application can force the connection to the Process Manager to
- * be set up by calling any Process Manager routine, but the
- * recommended way to do this is to call GetCurrentProcess() to ask
- * for the current application's PSN. This will initialize the
- * connection to the Process Manager if it has not already been set
- * up and 'check in' the application with the system.
- *
- * This function is named MacGetCurrentProcess() on non Macintosh
- * platforms and GetCurrentProcess on the Macintosh. However, even
- * Macintosh code can use the MacGetCurrentProcess() name since
- * there is a macro which maps back to GetCurrentProcess().
- *
- * Lastly, it is usually not necessary to call GetCurrentProcess()
- * to get the 'current' process psn merely to pass it to another
- * Process Manager routine. Instead, just construct a
- * ProcessSerialNumber with 0 in highLongOfPSN and kCurrentProcess
- * in lowLongOfPSN and pass that. For example, to make the current
- * process the frontmost process, use ( C code follows )
- *
- * ProcessSerialNumber psn = { 0, kCurrentProcess };
- *
- * OSErr err = SetFrontProcess( & psn );
- *
- * If you need to pass a ProcessSerialNumber to another application
- * or use it in an AppleEvent, you do need to get the canonical PSN
- * with this routine.
- *
- * Parameters:
- *
- * PSN:
- * Pass in where the current application process serial number
- * should be returned.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * [Mac]GetCurrentProcess()
+ *
+ * Discussion:
+ * Return the canonical process serial number to the caller.
+ *
+ * All applications ( things which can appear in the Dock or which
+ * are not documents and are launched by the Finder or Dock ) on Mac
+ * OS 10 have a unique process serial number. This number is
+ * created when the application launches, and remains until the
+ * application quits. Other system services, like AppleEvents, use
+ * the ProcessSerialNumber to specify an application.
+ *
+ * During launch, every application 'checks in' with the Process
+ * Manager. Before this checkin, the application can not receive
+ * events or draw to the screen. Prior to Mac OS 10.2, this 'check
+ * in' happened before the applications's main() function was
+ * entered. In Mac OS 10.2 and later, this 'check in' does not
+ * happen until the first time the application calls a Process
+ * Manager function, or until it enters CFRunLoopRun() for the main
+ * runloop. This allows tools and other executables which do not
+ * need to receive events to link against more of the higher level
+ * toolbox frameworks, but may cause a problem if the application
+ * expects to be able to retrieve events or use CoreGraphics
+ * services before this checkin has occurred.
+ *
+ * An application can force the connection to the Process Manager to
+ * be set up by calling any Process Manager routine, but the
+ * recommended way to do this is to call GetCurrentProcess() to ask
+ * for the current application's PSN. This will initialize the
+ * connection to the Process Manager if it has not already been set
+ * up and 'check in' the application with the system.
+ *
+ * This function is named MacGetCurrentProcess() on non Macintosh
+ * platforms and GetCurrentProcess on the Macintosh. However, even
+ * Macintosh code can use the MacGetCurrentProcess() name since
+ * there is a macro which maps back to GetCurrentProcess().
+ *
+ * Lastly, it is usually not necessary to call GetCurrentProcess()
+ * to get the 'current' process psn merely to pass it to another
+ * Process Manager routine. Instead, just construct a
+ * ProcessSerialNumber with 0 in highLongOfPSN and kCurrentProcess
+ * in lowLongOfPSN and pass that. For example, to make the current
+ * process the frontmost process, use ( C code follows )
+ *
+ * ProcessSerialNumber psn = { 0, kCurrentProcess };
+ *
+ * OSErr err = SetFrontProcess( & psn );
+ *
+ * If you need to pass a ProcessSerialNumber to another application
+ * or use it in an AppleEvent, you do need to get the canonical PSN
+ * with this routine.
+ *
+ * Parameters:
+ *
+ * PSN:
+ * Pass in where the current application process serial number
+ * should be returned.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacGetCurrentProcess GetCurrentProcess
+ #define MacGetCurrentProcess GetCurrentProcess
#endif
- EXTERN_API(OSErr)
- MacGetCurrentProcess(ProcessSerialNumber * PSN) THREEWORDINLINE(0x3F3C, 0x0037, 0xA88F);
-
-
- /*
- * GetFrontProcess()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFrontProcess(ProcessSerialNumber * PSN) FIVEWORDINLINE(0x70FF, 0x2F00, 0x3F3C, 0x0039, 0xA88F);
-
-
- /*
- * GetNextProcess()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetNextProcess(ProcessSerialNumber * PSN) THREEWORDINLINE(0x3F3C, 0x0038, 0xA88F);
-
-
- /*
- * GetProcessInformation()
- *
- * Discussion:
- * Fill in the provided record with information about the process
- * with the provided process serial number.
- *
- * The caller must fill in the .processInfoLength field with the
- * value sizeof ( ProcessInformationRecord ) before making this
- * call. Also, the .processName field must point to either NULL or
- * to a Str31 structure in the caller's memory space, and the
- * .processAppSpec field must point to a FSSpec in the caller's
- * memory space.
- *
- * If the caller does not care about the process name or the process
- * application spec values, then setting those fields in the
- * structure to NULL before this call means less work must be done
- * to construct these values and so the call is more
- * efficient.
- *
- * The processName field may not be what you expect, especially if
- * an application has a localized name. The .processName field, if
- * not NULL, on return will contain the filename part of the
- * executable file of the application. If you want the localized,
- * user-displayable name for an application, call
- * CopyProcessName().
- *
- * On Mac OS X, the processSize and processFreeMem fields are
- * returned with the value 0.
- *
- * Parameters:
- *
- * PSN:
- * Pass in the process serial number of the process to return
- * information for.
- *
- * info:
- * Pass in a structure where the information will be returned.
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetProcessInformation(
- const ProcessSerialNumber * PSN,
- ProcessInfoRec * info) THREEWORDINLINE(0x3F3C, 0x003A, 0xA88F);
-
-
- /*
- * ProcessInformationCopyDictionary()
- *
- * Discussion:
- * Return a CFDictionary containing information about the given
- * process. This is intended to return a superset of the information
- * returned by GetProcessInformation(), in more modern datatypes.
- *
- * Parameters:
- *
- * PSN:
- * Pass in the process serial number of the process to return
- * information for.
- *
- * infoToReturn:
- * Pass in the value kProcessDictionaryIncludeAllInformationMask.
- *
- * Result:
- * An immutable CFDictionaryRef containing these keys and their
- * values. Keys marked with an '*' are optional. Over time more
- * keys may be added.
- *
- * Key Name Type
- * -------- ----
- * "PSN" CFNumber, kCFNumberLongLongType
- * "Flavor" CFNumber, kCFNumberSInt32
- * "Attributes" CFNumber, kCFNumberSInt32
- * "ParentPSN" * CFNumber, kCFNumberLongLong
- * "FileType" * CFString, file type
- * "FileCreator" * CFString, file creator
- * "pid" * CFNumber, kCFNumberLongType
- * "LSBackgroundOnly" CFBoolean
- * "LSUIElement" CFBoolean
- * "IsHiddenAttr" CFBoolean
- * "IsCheckedInAttr" CFBoolean
- * "RequiresClassic" CFBoolean
- * "RequiresCarbon" CFBoolean
- * "LSUserQuitOnly" CFBoolean
- * "LSUIPresentationMode" CFNumber, kCFNumberShortType
- * "BundlePath" * CFString
- * kIOBundleExecutableKey * CFString
- * kIOBundleNameKey * CFString
- * kIOBundleIdentifierKey * CFString
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(CFDictionaryRef)
- ProcessInformationCopyDictionary(
- const ProcessSerialNumber * PSN,
- UInt32 infoToReturn);
-
-
- /*
- * SetFrontProcess()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetFrontProcess(const ProcessSerialNumber * PSN) THREEWORDINLINE(0x3F3C, 0x003B, 0xA88F);
-
-
-
- /*
- * Summary:
- * Options for SetFrontProcessWithOptions
- */
- enum
- {
-
- /*
- * Activate the process, but bring only the frontmost non-floating
- * window forward. If this option is not set, all process windows are
- * brought forward.
- */
- kSetFrontProcessFrontWindowOnly = (1 << 0)
- };
-
-
- /*
- * SetFrontProcessWithOptions()
- *
- * Discussion:
- * Brings a process to the front of the process list and activates
- * it. This is much like the SetFrontProcess API, though we allow
- * more control here. Passing 0 for the options is equivalent to
- * calling SetFrontProcess. Alternatively, you can pass
- * kSetFrontProcessFrontWindowOnly, which will activate a process
- * without bringing all of the process's windows forward (just the
- * front window of the process will come forward).
- *
- * Parameters:
- *
- * inProcess:
- * The process to make frontmost.
- *
- * inOptions:
- * Any options you wish to specify.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SetFrontProcessWithOptions(
- const ProcessSerialNumber * inProcess,
- OptionBits inOptions);
-
-
- /*
- * WakeUpProcess()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- WakeUpProcess(const ProcessSerialNumber * PSN) THREEWORDINLINE(0x3F3C, 0x003C, 0xA88F);
-
-
- /*
- * SameProcess()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SameProcess(
- const ProcessSerialNumber * PSN1,
- const ProcessSerialNumber * PSN2,
- Boolean * result) THREEWORDINLINE(0x3F3C, 0x003D, 0xA88F);
-
-
- /* ExitToShell was previously in SegLoad.h*/
- /*
- * ExitToShell()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ExitToShell(void) ONEWORDINLINE(0xA9F4);
-
-
- /*
- LaunchControlPanel is similar to LaunchDeskAccessory, but for Control Panel files instead.
- It launches a control panel in an application shell maintained by the Process Manager.
- */
+EXTERN_API( OSErr )
+MacGetCurrentProcess(ProcessSerialNumber * PSN) THREEWORDINLINE(0x3F3C, 0x0037, 0xA88F);
+
+
+/*
+ * GetFrontProcess()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFrontProcess(ProcessSerialNumber * PSN) FIVEWORDINLINE(0x70FF, 0x2F00, 0x3F3C, 0x0039, 0xA88F);
+
+
+/*
+ * GetNextProcess()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetNextProcess(ProcessSerialNumber * PSN) THREEWORDINLINE(0x3F3C, 0x0038, 0xA88F);
+
+
+/*
+ * GetProcessInformation()
+ *
+ * Discussion:
+ * Fill in the provided record with information about the process
+ * with the provided process serial number.
+ *
+ * The caller must fill in the .processInfoLength field with the
+ * value sizeof ( ProcessInformationRecord ) before making this
+ * call. Also, the .processName field must point to either NULL or
+ * to a Str31 structure in the caller's memory space, and the
+ * .processAppSpec field must point to a FSSpec in the caller's
+ * memory space.
+ *
+ * If the caller does not care about the process name or the process
+ * application spec values, then setting those fields in the
+ * structure to NULL before this call means less work must be done
+ * to construct these values and so the call is more
+ * efficient.
+ *
+ * The processName field may not be what you expect, especially if
+ * an application has a localized name. The .processName field, if
+ * not NULL, on return will contain the filename part of the
+ * executable file of the application. If you want the localized,
+ * user-displayable name for an application, call
+ * CopyProcessName().
+ *
+ * On Mac OS X, the processSize and processFreeMem fields are
+ * returned with the value 0.
+ *
+ * Parameters:
+ *
+ * PSN:
+ * Pass in the process serial number of the process to return
+ * information for.
+ *
+ * info:
+ * Pass in a structure where the information will be returned.
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetProcessInformation(
+ const ProcessSerialNumber * PSN,
+ ProcessInfoRec * info) THREEWORDINLINE(0x3F3C, 0x003A, 0xA88F);
+
+
+/*
+ * ProcessInformationCopyDictionary()
+ *
+ * Discussion:
+ * Return a CFDictionary containing information about the given
+ * process. This is intended to return a superset of the information
+ * returned by GetProcessInformation(), in more modern datatypes.
+ *
+ * Parameters:
+ *
+ * PSN:
+ * Pass in the process serial number of the process to return
+ * information for.
+ *
+ * infoToReturn:
+ * Pass in the value kProcessDictionaryIncludeAllInformationMask.
+ *
+ * Result:
+ * An immutable CFDictionaryRef containing these keys and their
+ * values. Keys marked with an '*' are optional. Over time more
+ * keys may be added.
+ *
+ * Key Name Type
+ * -------- ----
+ * "PSN" CFNumber, kCFNumberLongLongType
+ * "Flavor" CFNumber, kCFNumberSInt32
+ * "Attributes" CFNumber, kCFNumberSInt32
+ * "ParentPSN" * CFNumber, kCFNumberLongLong
+ * "FileType" * CFString, file type
+ * "FileCreator" * CFString, file creator
+ * "pid" * CFNumber, kCFNumberLongType
+ * "LSBackgroundOnly" CFBoolean
+ * "LSUIElement" CFBoolean
+ * "IsHiddenAttr" CFBoolean
+ * "IsCheckedInAttr" CFBoolean
+ * "RequiresClassic" CFBoolean
+ * "RequiresCarbon" CFBoolean
+ * "LSUserQuitOnly" CFBoolean
+ * "LSUIPresentationMode" CFNumber, kCFNumberShortType
+ * "BundlePath" * CFString
+ * kIOBundleExecutableKey * CFString
+ * kIOBundleNameKey * CFString
+ * kIOBundleIdentifierKey * CFString
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( CFDictionaryRef )
+ProcessInformationCopyDictionary(
+ const ProcessSerialNumber * PSN,
+ UInt32 infoToReturn);
+
+
+/*
+ * SetFrontProcess()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetFrontProcess(const ProcessSerialNumber * PSN) THREEWORDINLINE(0x3F3C, 0x003B, 0xA88F);
+
+
+
+/*
+ * Summary:
+ * Options for SetFrontProcessWithOptions
+ */
+enum {
+
+ /*
+ * Activate the process, but bring only the frontmost non-floating
+ * window forward. If this option is not set, all process windows are
+ * brought forward.
+ */
+ kSetFrontProcessFrontWindowOnly = (1 << 0)
+};
+
+
+/*
+ * SetFrontProcessWithOptions()
+ *
+ * Discussion:
+ * Brings a process to the front of the process list and activates
+ * it. This is much like the SetFrontProcess API, though we allow
+ * more control here. Passing 0 for the options is equivalent to
+ * calling SetFrontProcess. Alternatively, you can pass
+ * kSetFrontProcessFrontWindowOnly, which will activate a process
+ * without bringing all of the process's windows forward (just the
+ * front window of the process will come forward).
+ *
+ * Parameters:
+ *
+ * inProcess:
+ * The process to make frontmost.
+ *
+ * inOptions:
+ * Any options you wish to specify.
+ *
+ * Result:
+ * An operating system status code.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SetFrontProcessWithOptions(
+ const ProcessSerialNumber * inProcess,
+ OptionBits inOptions);
+
+
+/*
+ * WakeUpProcess()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+WakeUpProcess(const ProcessSerialNumber * PSN) THREEWORDINLINE(0x3F3C, 0x003C, 0xA88F);
+
+
+/*
+ * SameProcess()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SameProcess(
+ const ProcessSerialNumber * PSN1,
+ const ProcessSerialNumber * PSN2,
+ Boolean * result) THREEWORDINLINE(0x3F3C, 0x003D, 0xA88F);
+
+
+/* ExitToShell was previously in SegLoad.h*/
+/*
+ * ExitToShell()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ExitToShell(void) ONEWORDINLINE(0xA9F4);
+
+
+/*
+ LaunchControlPanel is similar to LaunchDeskAccessory, but for Control Panel files instead.
+ It launches a control panel in an application shell maintained by the Process Manager.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * LaunchControlPanel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- LaunchControlPanel(const FSSpec * pFileSpec) THREEWORDINLINE(0x3F3C, 0x007B, 0xA88F);
+/*
+ * LaunchControlPanel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+LaunchControlPanel(const FSSpec * pFileSpec) THREEWORDINLINE(0x3F3C, 0x007B, 0xA88F);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetProcessBundleLocation()
- *
- * Summary:
- * Retrieve the filesystem location of the process bundle, or
- * executable if unbundled.
- *
- * Discussion:
- * Retrieves a reference to the filesystem location of the specified
- * application. For an application that is packaged as an app
- * bundle, this will be the app bundle directory; otherwise it will
- * be the location of the executable itself.
- *
- * Parameters:
- *
- * psn:
- * Serial number of the target process
- *
- * location:
- * Location of the bundle or executable, as an FSRef
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetProcessBundleLocation(
- const ProcessSerialNumber * psn,
- FSRef * location);
-
-
- /*
- * CopyProcessName()
- *
- * Summary:
- * Get a copy of the name of a process.
- *
- * Discussion:
- * Use this call to get the name of a process as a CFString. The
- * name returned is a copy, so the caller must CFRelease the name
- * when finished with it. The difference between this call and the
- * processName field filled in by GetProcessInformation is that the
- * name here is a CFString, and thus is capable of representing a
- * multi-lingual name, whereas previously only a mac-encoded string
- * was possible.
- *
- * Parameters:
- *
- * psn:
- * Serial number of the target process
- *
- * name:
- * CFString representing the name of the process (must be released
- * by caller with CFRelease)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CopyProcessName(
- const ProcessSerialNumber * psn,
- CFStringRef * name);
-
-
- /*************************************************************************
- * Process Visibility.
- *************************************************************************/
- /*
- * IsProcessVisible()
- *
- * Summary:
- * Determines whether a particular process is visible or not.
- *
- * Discussion:
- * Given a psn, this call will return true or false depending on
- * whether or not the process is currently visible.
- *
- * Parameters:
- *
- * psn:
- * Serial number of the process
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(Boolean)
- IsProcessVisible(const ProcessSerialNumber * psn) THREEWORDINLINE(0x3F3C, 0x005F, 0xA88F);
-
-
- /*
- * ShowHideProcess()
- *
- * Summary:
- * Hides or shows a given process.
- *
- * Discussion:
- * Given a psn, this call will hide or show the process specified in
- * the psn parameter. You determine whether you would like to show
- * or hide the process with the visible parameter. True passed into
- * visible indicates you wish for the process to become visible.
- *
- * Parameters:
- *
- * psn:
- * Serial number of the process
- *
- * visible:
- * true = show process; false = hide process
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSErr)
- ShowHideProcess(
- const ProcessSerialNumber * psn,
- Boolean visible) THREEWORDINLINE(0x3F3C, 0x0060, 0xA88F);
-
-
-
- /* Values of the 'message' parameter to a Control Panel 'cdev' */
- enum
- {
- initDev = 0, /*Time for cdev to initialize itself*/
- hitDev = 1, /*Hit on one of my items*/
- closeDev = 2, /*Close yourself*/
- nulDev = 3, /*Null event*/
- updateDev = 4, /*Update event*/
- activDev = 5, /*Activate event*/
- deactivDev = 6, /*Deactivate event*/
- keyEvtDev = 7, /*Key down/auto key*/
- macDev = 8, /*Decide whether or not to show up*/
- undoDev = 9,
- cutDev = 10,
- copyDev = 11,
- pasteDev = 12,
- clearDev = 13,
- cursorDev = 14
- };
-
- /* Special values a Control Panel 'cdev' can return */
- enum
- {
- cdevGenErr = -1, /*General error; gray cdev w/o alert*/
- cdevMemErr = 0, /*Memory shortfall; alert user please*/
- cdevResErr = 1, /*Couldn't get a needed resource; alert*/
- cdevUnset = 3 /* cdevValue is initialized to this*/
- };
-
- /* Control Panel Default Proc */
+/*
+ * GetProcessBundleLocation()
+ *
+ * Summary:
+ * Retrieve the filesystem location of the process bundle, or
+ * executable if unbundled.
+ *
+ * Discussion:
+ * Retrieves a reference to the filesystem location of the specified
+ * application. For an application that is packaged as an app
+ * bundle, this will be the app bundle directory; otherwise it will
+ * be the location of the executable itself.
+ *
+ * Parameters:
+ *
+ * psn:
+ * Serial number of the target process
+ *
+ * location:
+ * Location of the bundle or executable, as an FSRef
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetProcessBundleLocation(
+ const ProcessSerialNumber * psn,
+ FSRef * location);
+
+
+/*
+ * CopyProcessName()
+ *
+ * Summary:
+ * Get a copy of the name of a process.
+ *
+ * Discussion:
+ * Use this call to get the name of a process as a CFString. The
+ * name returned is a copy, so the caller must CFRelease the name
+ * when finished with it. The difference between this call and the
+ * processName field filled in by GetProcessInformation is that the
+ * name here is a CFString, and thus is capable of representing a
+ * multi-lingual name, whereas previously only a mac-encoded string
+ * was possible.
+ *
+ * Parameters:
+ *
+ * psn:
+ * Serial number of the target process
+ *
+ * name:
+ * CFString representing the name of the process (must be released
+ * by caller with CFRelease)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CopyProcessName(
+ const ProcessSerialNumber * psn,
+ CFStringRef * name);
+
+
+/*************************************************************************
+ * Process Visibility.
+ *************************************************************************/
+/*
+ * IsProcessVisible()
+ *
+ * Summary:
+ * Determines whether a particular process is visible or not.
+ *
+ * Discussion:
+ * Given a psn, this call will return true or false depending on
+ * whether or not the process is currently visible.
+ *
+ * Parameters:
+ *
+ * psn:
+ * Serial number of the process
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( Boolean )
+IsProcessVisible(const ProcessSerialNumber * psn) THREEWORDINLINE(0x3F3C, 0x005F, 0xA88F);
+
+
+/*
+ * ShowHideProcess()
+ *
+ * Summary:
+ * Hides or shows a given process.
+ *
+ * Discussion:
+ * Given a psn, this call will hide or show the process specified in
+ * the psn parameter. You determine whether you would like to show
+ * or hide the process with the visible parameter. True passed into
+ * visible indicates you wish for the process to become visible.
+ *
+ * Parameters:
+ *
+ * psn:
+ * Serial number of the process
+ *
+ * visible:
+ * true = show process; false = hide process
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSErr )
+ShowHideProcess(
+ const ProcessSerialNumber * psn,
+ Boolean visible) THREEWORDINLINE(0x3F3C, 0x0060, 0xA88F);
+
+
+
+/* Values of the 'message' parameter to a Control Panel 'cdev' */
+enum {
+ initDev = 0, /*Time for cdev to initialize itself*/
+ hitDev = 1, /*Hit on one of my items*/
+ closeDev = 2, /*Close yourself*/
+ nulDev = 3, /*Null event*/
+ updateDev = 4, /*Update event*/
+ activDev = 5, /*Activate event*/
+ deactivDev = 6, /*Deactivate event*/
+ keyEvtDev = 7, /*Key down/auto key*/
+ macDev = 8, /*Decide whether or not to show up*/
+ undoDev = 9,
+ cutDev = 10,
+ copyDev = 11,
+ pasteDev = 12,
+ clearDev = 13,
+ cursorDev = 14
+};
+
+/* Special values a Control Panel 'cdev' can return */
+enum {
+ cdevGenErr = -1, /*General error; gray cdev w/o alert*/
+ cdevMemErr = 0, /*Memory shortfall; alert user please*/
+ cdevResErr = 1, /*Couldn't get a needed resource; alert*/
+ cdevUnset = 3 /* cdevValue is initialized to this*/
+};
+
+/* Control Panel Default Proc */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD.h b/include/qt/QD.h
index adde9e26d..b317f871c 100644
--- a/include/qt/QD.h
+++ b/include/qt/QD.h
@@ -1,17 +1,17 @@
/*
File: QD.h
-
+
Contains: Master include for QD private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __QD__
#define __QD__
diff --git a/include/qt/QD3D.h b/include/qt/QD3D.h
index e567178a0..c64716ecb 100644
--- a/include/qt/QD3D.h
+++ b/include/qt/QD3D.h
@@ -1,18 +1,18 @@
/*
File: QD3D.h
-
+
Contains: Base types for Quickdraw 3D
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3D__
#define __QD3D__
@@ -45,26 +45,26 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3D__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3D__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3D__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3D__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
#if TARGET_OS_MAC
@@ -109,613 +109,573 @@ extern "C" {
#endif /* TARGET_OS_UNIX */
- /******************************************************************************
- ** **
- ** Export Control **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Export Control **
+ ** **
+ *****************************************************************************/
#if TARGET_OS_WIN32
-#if defined(WIN32_EXPORTING) /* define when building DLL */
-#define QD3D_EXPORT __declspec( dllexport )
-#define QD3D_CALL
-#define QD3D_CALLBACK
+ #if defined(WIN32_EXPORTING) /* define when building DLL */
+ #define QD3D_EXPORT __declspec( dllexport )
+ #define QD3D_CALL
+ #define QD3D_CALLBACK
+ #else
+ #define QD3D_EXPORT __declspec( dllimport )
+ #define QD3D_CALL __cdecl
+ #define QD3D_CALLBACK __cdecl
+ #endif /* WIN32_EXPORTING */
#else
-#define QD3D_EXPORT __declspec( dllimport )
-#define QD3D_CALL __cdecl
-#define QD3D_CALLBACK __cdecl
-#endif /* WIN32_EXPORTING */
-#else
-#define QD3D_EXPORT
-#define QD3D_CALL
-#define QD3D_CALLBACK
+ #define QD3D_EXPORT
+ #define QD3D_CALL
+ #define QD3D_CALLBACK
#endif /* TARGET_OS_WIN32 */
- /******************************************************************************
- ** **
- ** NULL definition **
- ** **
- *****************************************************************************/
-
+/******************************************************************************
+ ** **
+ ** NULL definition **
+ ** **
+ *****************************************************************************/
+
#ifndef NULL
-#error /* NULL is undefined? */
+ #error /* NULL is undefined? */
#endif /* NULL */
- /******************************************************************************
- ** **
- ** Objects **
- ** **
- *****************************************************************************/
- /*
- * Everything in QuickDraw 3D is an OBJECT: a bunch of data with a type,
- * deletion, duplication, and i/o methods.
- */
- typedef long TQ3ObjectType;
- typedef struct OpaqueTQ3Object* TQ3Object;
- /* */
- /*
- * There are four subclasses of OBJECT:
- * an ELEMENT, which is data that is placed in a SET
- * a SHAREDOBJECT, which is reference-counted data that is shared
- * VIEWs, which maintain state information for an image
- * a PICK, which used to query a VIEW
- */
- typedef TQ3Object TQ3ElementObject;
- typedef TQ3Object TQ3SharedObject;
- typedef TQ3Object TQ3ViewObject;
- typedef TQ3Object TQ3PickObject;
- /*
- * There are several types of SharedObjects:
- * RENDERERs, which paint to a drawContext
- * DRAWCONTEXTs, which are an interface to a device
- * SETs, which maintains "mathematical sets" of ELEMENTs
- * FILEs, which maintain state information for a metafile
- * SHAPEs, which affect the state of the View
- * SHAPEPARTs, which contain geometry-specific data about a picking hit
- * CONTROLLERSTATEs, which hold state of the output channels for a CONTROLLER
- * TRACKERs, which represent a position and orientation in the user interface
- * STRINGs, which are abstractions of text string data.
- * STORAGE, which is an abstraction for stream-based data storage (files, memory)
- * TEXTUREs, for sharing bitmap information for TEXTURESHADERS
- * VIEWHINTs, which specifies viewing preferences in FILEs
- */
- typedef TQ3SharedObject TQ3RendererObject;
- typedef TQ3SharedObject TQ3DrawContextObject;
- typedef TQ3SharedObject TQ3SetObject;
- typedef TQ3SharedObject TQ3FileObject;
- typedef TQ3SharedObject TQ3ShapeObject;
- typedef TQ3SharedObject TQ3ShapePartObject;
- typedef TQ3SharedObject TQ3ControllerStateObject;
- typedef TQ3SharedObject TQ3TrackerObject;
- typedef TQ3SharedObject TQ3StringObject;
- typedef TQ3SharedObject TQ3StorageObject;
- typedef TQ3SharedObject TQ3TextureObject;
- typedef TQ3SharedObject TQ3ViewHintsObject;
- /*
- * There is one types of SET:
- * ATTRIBUTESETs, which contain ATTRIBUTEs which are inherited
- */
- typedef TQ3SetObject TQ3AttributeSet;
- /*
- * There are many types of SHAPEs:
- * LIGHTs, which affect how the RENDERER draws 3-D cues
- * CAMERAs, which affects the location and orientation of the RENDERER in space
- * GROUPs, which may contain any number of SHARED OBJECTS
- * GEOMETRYs, which are representations of three-dimensional data
- * SHADERs, which affect how colors are drawn on a geometry
- * STYLEs, which affect how the RENDERER paints to the DRAWCONTEXT
- * TRANSFORMs, which affect the coordinate system in the VIEW
- * REFERENCEs, which are references to objects in FILEs
- * UNKNOWN, which hold unknown objects read from a metafile.
- */
- typedef TQ3ShapeObject TQ3GroupObject;
- typedef TQ3ShapeObject TQ3GeometryObject;
- typedef TQ3ShapeObject TQ3ShaderObject;
- typedef TQ3ShapeObject TQ3StyleObject;
- typedef TQ3ShapeObject TQ3TransformObject;
- typedef TQ3ShapeObject TQ3LightObject;
- typedef TQ3ShapeObject TQ3CameraObject;
- typedef TQ3ShapeObject TQ3UnknownObject;
- typedef TQ3ShapeObject TQ3ReferenceObject;
- typedef TQ3ShapeObject TQ3StateOperatorObject;
- /*
- * For now, there is only one type of SHAPEPARTs:
- * MESHPARTs, which describe some part of a mesh
- */
- typedef TQ3ShapePartObject TQ3MeshPartObject;
- /*
- * There are three types of MESHPARTs:
- * MESHFACEPARTs, which describe a face of a mesh
- * MESHEDGEPARTs, which describe a edge of a mesh
- * MESHVERTEXPARTs, which describe a vertex of a mesh
- */
- typedef TQ3MeshPartObject TQ3MeshFacePartObject;
- typedef TQ3MeshPartObject TQ3MeshEdgePartObject;
- typedef TQ3MeshPartObject TQ3MeshVertexPartObject;
- /*
- * A DISPLAY Group can be drawn to a view
- */
- typedef TQ3GroupObject TQ3DisplayGroupObject;
- /*
- * There are many types of SHADERs:
- * SURFACESHADERs, which affect how the surface of a geometry is painted
- * ILLUMINATIONSHADERs, which affect how lights affect the color of a surface
- */
- typedef TQ3ShaderObject TQ3SurfaceShaderObject;
- typedef TQ3ShaderObject TQ3IlluminationShaderObject;
- /*
- * A handle to an object in a group
- */
- typedef struct OpaqueTQ3GroupPosition* TQ3GroupPosition;
- /*
- * TQ3ObjectClassNameString is used for the class name of an object
- */
- enum
- {
- kQ3StringMaximumLength = 1024
- };
-
-
- typedef char TQ3ObjectClassNameString[kQ3StringMaximumLength];
-
-
- /******************************************************************************
- ** **
- ** Client/Server Things **
- ** **
- *****************************************************************************/
- typedef void * TQ3ControllerRef;
- /******************************************************************************
- ** **
- ** Flags and Switches **
- ** **
- *****************************************************************************/
- enum TQ3Boolean
- {
- kQ3False = 0,
- kQ3True = 1
- };
- typedef enum TQ3Boolean TQ3Boolean;
-
- enum TQ3Switch
- {
- kQ3Off = 0,
- kQ3On = 1
- };
- typedef enum TQ3Switch TQ3Switch;
-
- enum TQ3Status
- {
- kQ3Failure = 0,
- kQ3Success = 1
- };
- typedef enum TQ3Status TQ3Status;
-
- enum TQ3Axis
- {
- kQ3AxisX = 0,
- kQ3AxisY = 1,
- kQ3AxisZ = 2
- };
- typedef enum TQ3Axis TQ3Axis;
-
- enum TQ3PixelType
- {
- kQ3PixelTypeRGB32 = 0, /* Alpha:8 (ignored), R:8, G:8, B:8 */
- kQ3PixelTypeARGB32 = 1, /* Alpha:8, R:8, G:8, B:8 */
- kQ3PixelTypeRGB16 = 2, /* Alpha:1 (ignored), R:5, G:5, B:5 */
- kQ3PixelTypeARGB16 = 3, /* Alpha:1, R:5, G:5, B:5 */
- kQ3PixelTypeRGB16_565 = 4, /* Win32 only: 16 bits/pixel, R:5, G:6, B:5 */
- kQ3PixelTypeRGB24 = 5 /* Win32 only: 24 bits/pixel, R:8, G:8, B:8 */
- };
- typedef enum TQ3PixelType TQ3PixelType;
-
- enum TQ3Endian
- {
- kQ3EndianBig = 0,
- kQ3EndianLittle = 1
- };
- typedef enum TQ3Endian TQ3Endian;
-
- enum TQ3EndCapMasks
- {
- kQ3EndCapNone = 0,
- kQ3EndCapMaskTop = 1 << 0,
- kQ3EndCapMaskBottom = 1 << 1,
- kQ3EndCapMaskInterior = 1 << 2
- };
- typedef enum TQ3EndCapMasks TQ3EndCapMasks;
-
- typedef unsigned long TQ3EndCap;
-
- enum
- {
- kQ3ArrayIndexNULL = ~0
- };
-
-
- /******************************************************************************
- ** **
- ** Point and Vector Definitions **
- ** **
- *****************************************************************************/
- struct TQ3Vector2D
- {
- float x;
- float y;
- };
- typedef struct TQ3Vector2D TQ3Vector2D;
- struct TQ3Vector3D
- {
- float x;
- float y;
- float z;
- };
- typedef struct TQ3Vector3D TQ3Vector3D;
- struct TQ3Point2D
- {
- float x;
- float y;
- };
- typedef struct TQ3Point2D TQ3Point2D;
- struct TQ3Point3D
- {
- float x;
- float y;
- float z;
- };
- typedef struct TQ3Point3D TQ3Point3D;
- struct TQ3RationalPoint4D
- {
- float x;
- float y;
- float z;
- float w;
- };
- typedef struct TQ3RationalPoint4D TQ3RationalPoint4D;
- struct TQ3RationalPoint3D
- {
- float x;
- float y;
- float w;
- };
- typedef struct TQ3RationalPoint3D TQ3RationalPoint3D;
- /******************************************************************************
- ** **
- ** Quaternion **
- ** **
- *****************************************************************************/
- struct TQ3Quaternion
- {
- float w;
- float x;
- float y;
- float z;
- };
- typedef struct TQ3Quaternion TQ3Quaternion;
- /******************************************************************************
- ** **
- ** Ray Definition **
- ** **
- *****************************************************************************/
- struct TQ3Ray3D
- {
- TQ3Point3D origin;
- TQ3Vector3D direction;
- };
- typedef struct TQ3Ray3D TQ3Ray3D;
- /******************************************************************************
- ** **
- ** Parameterization Data Structures **
- ** **
- *****************************************************************************/
- struct TQ3Param2D
- {
- float u;
- float v;
- };
- typedef struct TQ3Param2D TQ3Param2D;
- struct TQ3Param3D
- {
- float u;
- float v;
- float w;
- };
- typedef struct TQ3Param3D TQ3Param3D;
- struct TQ3Tangent2D
- {
- TQ3Vector3D uTangent;
- TQ3Vector3D vTangent;
- };
- typedef struct TQ3Tangent2D TQ3Tangent2D;
- struct TQ3Tangent3D
- {
- TQ3Vector3D uTangent;
- TQ3Vector3D vTangent;
- TQ3Vector3D wTangent;
- };
- typedef struct TQ3Tangent3D TQ3Tangent3D;
- /******************************************************************************
- ** **
- ** Polar and Spherical Coordinates **
- ** **
- *****************************************************************************/
- struct TQ3PolarPoint
- {
- float r;
- float theta;
- };
- typedef struct TQ3PolarPoint TQ3PolarPoint;
- struct TQ3SphericalPoint
- {
- float rho;
- float theta;
- float phi;
- };
- typedef struct TQ3SphericalPoint TQ3SphericalPoint;
- /******************************************************************************
- ** **
- ** Color Definition **
- ** **
- *****************************************************************************/
- struct TQ3ColorRGB
- {
- float r;
- float g;
- float b;
- };
- typedef struct TQ3ColorRGB TQ3ColorRGB;
- struct TQ3ColorARGB
- {
- float a;
- float r;
- float g;
- float b;
- };
- typedef struct TQ3ColorARGB TQ3ColorARGB;
- /******************************************************************************
- ** **
- ** Vertices **
- ** **
- *****************************************************************************/
- struct TQ3Vertex3D
- {
- TQ3Point3D point;
- TQ3AttributeSet attributeSet;
- };
- typedef struct TQ3Vertex3D TQ3Vertex3D;
- /******************************************************************************
- ** **
- ** Matrices **
- ** **
- *****************************************************************************/
- struct TQ3Matrix3x3
- {
- float value[3][3];
- };
- typedef struct TQ3Matrix3x3 TQ3Matrix3x3;
- struct TQ3Matrix4x4
- {
- float value[4][4];
- };
- typedef struct TQ3Matrix4x4 TQ3Matrix4x4;
- /******************************************************************************
- ** **
- ** Bitmap/Pixmap **
- ** **
- *****************************************************************************/
- struct TQ3Pixmap
- {
- void * image;
- unsigned long width;
- unsigned long height;
- unsigned long rowBytes;
- unsigned long pixelSize; /* MUST be 16 or 32 to use with the Interactive Renderer on Mac OS*/
- TQ3PixelType pixelType;
- TQ3Endian bitOrder;
- TQ3Endian byteOrder;
- };
- typedef struct TQ3Pixmap TQ3Pixmap;
- struct TQ3StoragePixmap
- {
- TQ3StorageObject image;
- unsigned long width;
- unsigned long height;
- unsigned long rowBytes;
- unsigned long pixelSize; /* MUST be 16 or 32 to use with the Interactive Renderer on Mac OS*/
- TQ3PixelType pixelType;
- TQ3Endian bitOrder;
- TQ3Endian byteOrder;
- };
- typedef struct TQ3StoragePixmap TQ3StoragePixmap;
- struct TQ3Bitmap
- {
- unsigned char * image;
- unsigned long width;
- unsigned long height;
- unsigned long rowBytes;
- TQ3Endian bitOrder;
- };
- typedef struct TQ3Bitmap TQ3Bitmap;
- struct TQ3MipmapImage /* An image for use as a texture mipmap */
- {
- unsigned long width; /* Width of mipmap, must be power of 2 */
- unsigned long height; /* Height of mipmap, must be power of 2 */
- unsigned long rowBytes; /* Rowbytes of mipmap */
- unsigned long offset; /* Offset from image base to this mipmap */
- };
- typedef struct TQ3MipmapImage TQ3MipmapImage;
- struct TQ3Mipmap
- {
- TQ3StorageObject image; /* Data containing the texture map and */
- /* if (useMipmapping==kQ3True) the */
- /* mipmap data */
- TQ3Boolean useMipmapping; /* True if mipmapping should be used */
- /* and all mipmaps have been provided */
- TQ3PixelType pixelType;
- TQ3Endian bitOrder;
- TQ3Endian byteOrder;
- unsigned long reserved; /* leave NULL for next version */
- TQ3MipmapImage mipmaps[32]; /* The actual number of mipmaps is determined from the size of the first mipmap */
- };
- typedef struct TQ3Mipmap TQ3Mipmap;
-
-
- struct TQ3CompressedPixmap
- {
- TQ3StorageObject compressedImage; /* storage obj containing compressed image data */
-
- TQ3Endian imageDescByteOrder; /* endianness of the data in the imageDesc */
- TQ3StorageObject imageDesc; /* storage obj containing image description created by Quicktime to store info about compressed image */
-
- TQ3Boolean makeMipmaps;
-
- unsigned long width;
- unsigned long height;
- unsigned long pixelSize;
- TQ3PixelType pixelType;
- };
- typedef struct TQ3CompressedPixmap TQ3CompressedPixmap;
-
- /******************************************************************************
- ** **
- ** Higher dimension quantities **
- ** **
- *****************************************************************************/
- struct TQ3Area
- {
- TQ3Point2D min;
- TQ3Point2D max;
- };
- typedef struct TQ3Area TQ3Area;
- struct TQ3PlaneEquation
- {
- TQ3Vector3D normal;
- float constant;
- };
- typedef struct TQ3PlaneEquation TQ3PlaneEquation;
- struct TQ3BoundingBox
- {
- TQ3Point3D min;
- TQ3Point3D max;
- TQ3Boolean isEmpty;
- };
- typedef struct TQ3BoundingBox TQ3BoundingBox;
- struct TQ3BoundingSphere
- {
- TQ3Point3D origin;
- float radius;
- TQ3Boolean isEmpty;
- };
- typedef struct TQ3BoundingSphere TQ3BoundingSphere;
- /*
- * The TQ3ComputeBounds flag passed to StartBoundingBox or StartBoundingSphere
- * calls in the View. It's a hint to the system as to how it should
- * compute the bbox of a shape:
- *
- * kQ3ComputeBoundsExact:
- * Vertices of shapes are transformed into world space and
- * the world space bounding box is computed from them. Slow!
- *
- * kQ3ComputeBoundsApproximate:
- * A local space bounding box is computed from a shape's
- * vertices. This bbox is then transformed into world space,
- * and its bounding box is taken as the shape's approximate
- * bbox. Fast but the bbox is larger than optimal.
- */
- enum TQ3ComputeBounds
- {
- kQ3ComputeBoundsExact = 0,
- kQ3ComputeBoundsApproximate = 1
- };
- typedef enum TQ3ComputeBounds TQ3ComputeBounds;
-
-
- /******************************************************************************
- ** **
- ** Object System Types **
- ** **
- *****************************************************************************/
-
- typedef struct OpaqueTQ3XObjectClass* TQ3XObjectClass;
-
- typedef unsigned long TQ3XMethodType;
- /*
- * Object methods
- */
+/******************************************************************************
+ ** **
+ ** Objects **
+ ** **
+ *****************************************************************************/
+/*
+ * Everything in QuickDraw 3D is an OBJECT: a bunch of data with a type,
+ * deletion, duplication, and i/o methods.
+ */
+typedef long TQ3ObjectType;
+typedef struct OpaqueTQ3Object* TQ3Object;
+/* */
+/*
+ * There are four subclasses of OBJECT:
+ * an ELEMENT, which is data that is placed in a SET
+ * a SHAREDOBJECT, which is reference-counted data that is shared
+ * VIEWs, which maintain state information for an image
+ * a PICK, which used to query a VIEW
+ */
+typedef TQ3Object TQ3ElementObject;
+typedef TQ3Object TQ3SharedObject;
+typedef TQ3Object TQ3ViewObject;
+typedef TQ3Object TQ3PickObject;
+/*
+ * There are several types of SharedObjects:
+ * RENDERERs, which paint to a drawContext
+ * DRAWCONTEXTs, which are an interface to a device
+ * SETs, which maintains "mathematical sets" of ELEMENTs
+ * FILEs, which maintain state information for a metafile
+ * SHAPEs, which affect the state of the View
+ * SHAPEPARTs, which contain geometry-specific data about a picking hit
+ * CONTROLLERSTATEs, which hold state of the output channels for a CONTROLLER
+ * TRACKERs, which represent a position and orientation in the user interface
+ * STRINGs, which are abstractions of text string data.
+ * STORAGE, which is an abstraction for stream-based data storage (files, memory)
+ * TEXTUREs, for sharing bitmap information for TEXTURESHADERS
+ * VIEWHINTs, which specifies viewing preferences in FILEs
+ */
+typedef TQ3SharedObject TQ3RendererObject;
+typedef TQ3SharedObject TQ3DrawContextObject;
+typedef TQ3SharedObject TQ3SetObject;
+typedef TQ3SharedObject TQ3FileObject;
+typedef TQ3SharedObject TQ3ShapeObject;
+typedef TQ3SharedObject TQ3ShapePartObject;
+typedef TQ3SharedObject TQ3ControllerStateObject;
+typedef TQ3SharedObject TQ3TrackerObject;
+typedef TQ3SharedObject TQ3StringObject;
+typedef TQ3SharedObject TQ3StorageObject;
+typedef TQ3SharedObject TQ3TextureObject;
+typedef TQ3SharedObject TQ3ViewHintsObject;
+/*
+ * There is one types of SET:
+ * ATTRIBUTESETs, which contain ATTRIBUTEs which are inherited
+ */
+typedef TQ3SetObject TQ3AttributeSet;
+/*
+ * There are many types of SHAPEs:
+ * LIGHTs, which affect how the RENDERER draws 3-D cues
+ * CAMERAs, which affects the location and orientation of the RENDERER in space
+ * GROUPs, which may contain any number of SHARED OBJECTS
+ * GEOMETRYs, which are representations of three-dimensional data
+ * SHADERs, which affect how colors are drawn on a geometry
+ * STYLEs, which affect how the RENDERER paints to the DRAWCONTEXT
+ * TRANSFORMs, which affect the coordinate system in the VIEW
+ * REFERENCEs, which are references to objects in FILEs
+ * UNKNOWN, which hold unknown objects read from a metafile.
+ */
+typedef TQ3ShapeObject TQ3GroupObject;
+typedef TQ3ShapeObject TQ3GeometryObject;
+typedef TQ3ShapeObject TQ3ShaderObject;
+typedef TQ3ShapeObject TQ3StyleObject;
+typedef TQ3ShapeObject TQ3TransformObject;
+typedef TQ3ShapeObject TQ3LightObject;
+typedef TQ3ShapeObject TQ3CameraObject;
+typedef TQ3ShapeObject TQ3UnknownObject;
+typedef TQ3ShapeObject TQ3ReferenceObject;
+typedef TQ3ShapeObject TQ3StateOperatorObject;
+/*
+ * For now, there is only one type of SHAPEPARTs:
+ * MESHPARTs, which describe some part of a mesh
+ */
+typedef TQ3ShapePartObject TQ3MeshPartObject;
+/*
+ * There are three types of MESHPARTs:
+ * MESHFACEPARTs, which describe a face of a mesh
+ * MESHEDGEPARTs, which describe a edge of a mesh
+ * MESHVERTEXPARTs, which describe a vertex of a mesh
+ */
+typedef TQ3MeshPartObject TQ3MeshFacePartObject;
+typedef TQ3MeshPartObject TQ3MeshEdgePartObject;
+typedef TQ3MeshPartObject TQ3MeshVertexPartObject;
+/*
+ * A DISPLAY Group can be drawn to a view
+ */
+typedef TQ3GroupObject TQ3DisplayGroupObject;
+/*
+ * There are many types of SHADERs:
+ * SURFACESHADERs, which affect how the surface of a geometry is painted
+ * ILLUMINATIONSHADERs, which affect how lights affect the color of a surface
+ */
+typedef TQ3ShaderObject TQ3SurfaceShaderObject;
+typedef TQ3ShaderObject TQ3IlluminationShaderObject;
+/*
+ * A handle to an object in a group
+ */
+typedef struct OpaqueTQ3GroupPosition* TQ3GroupPosition;
+/*
+ * TQ3ObjectClassNameString is used for the class name of an object
+ */
+enum {
+ kQ3StringMaximumLength = 1024
+};
+
+
+ typedef char TQ3ObjectClassNameString[kQ3StringMaximumLength];
+
+
+/******************************************************************************
+ ** **
+ ** Client/Server Things **
+ ** **
+ *****************************************************************************/
+typedef void * TQ3ControllerRef;
+/******************************************************************************
+ ** **
+ ** Flags and Switches **
+ ** **
+ *****************************************************************************/
+enum TQ3Boolean {
+ kQ3False = 0,
+ kQ3True = 1
+};
+typedef enum TQ3Boolean TQ3Boolean;
+
+enum TQ3Switch {
+ kQ3Off = 0,
+ kQ3On = 1
+};
+typedef enum TQ3Switch TQ3Switch;
+
+enum TQ3Status {
+ kQ3Failure = 0,
+ kQ3Success = 1
+};
+typedef enum TQ3Status TQ3Status;
+
+enum TQ3Axis {
+ kQ3AxisX = 0,
+ kQ3AxisY = 1,
+ kQ3AxisZ = 2
+};
+typedef enum TQ3Axis TQ3Axis;
+
+enum TQ3PixelType {
+ kQ3PixelTypeRGB32 = 0, /* Alpha:8 (ignored), R:8, G:8, B:8 */
+ kQ3PixelTypeARGB32 = 1, /* Alpha:8, R:8, G:8, B:8 */
+ kQ3PixelTypeRGB16 = 2, /* Alpha:1 (ignored), R:5, G:5, B:5 */
+ kQ3PixelTypeARGB16 = 3, /* Alpha:1, R:5, G:5, B:5 */
+ kQ3PixelTypeRGB16_565 = 4, /* Win32 only: 16 bits/pixel, R:5, G:6, B:5 */
+ kQ3PixelTypeRGB24 = 5 /* Win32 only: 24 bits/pixel, R:8, G:8, B:8 */
+};
+typedef enum TQ3PixelType TQ3PixelType;
+
+enum TQ3Endian {
+ kQ3EndianBig = 0,
+ kQ3EndianLittle = 1
+};
+typedef enum TQ3Endian TQ3Endian;
+
+enum TQ3EndCapMasks {
+ kQ3EndCapNone = 0,
+ kQ3EndCapMaskTop = 1 << 0,
+ kQ3EndCapMaskBottom = 1 << 1,
+ kQ3EndCapMaskInterior = 1 << 2
+};
+typedef enum TQ3EndCapMasks TQ3EndCapMasks;
+
+typedef unsigned long TQ3EndCap;
+
+ enum {
+ kQ3ArrayIndexNULL = ~0
+ };
+
+
+/******************************************************************************
+ ** **
+ ** Point and Vector Definitions **
+ ** **
+ *****************************************************************************/
+struct TQ3Vector2D {
+ float x;
+ float y;
+};
+typedef struct TQ3Vector2D TQ3Vector2D;
+struct TQ3Vector3D {
+ float x;
+ float y;
+ float z;
+};
+typedef struct TQ3Vector3D TQ3Vector3D;
+struct TQ3Point2D {
+ float x;
+ float y;
+};
+typedef struct TQ3Point2D TQ3Point2D;
+struct TQ3Point3D {
+ float x;
+ float y;
+ float z;
+};
+typedef struct TQ3Point3D TQ3Point3D;
+struct TQ3RationalPoint4D {
+ float x;
+ float y;
+ float z;
+ float w;
+};
+typedef struct TQ3RationalPoint4D TQ3RationalPoint4D;
+struct TQ3RationalPoint3D {
+ float x;
+ float y;
+ float w;
+};
+typedef struct TQ3RationalPoint3D TQ3RationalPoint3D;
+/******************************************************************************
+ ** **
+ ** Quaternion **
+ ** **
+ *****************************************************************************/
+struct TQ3Quaternion {
+ float w;
+ float x;
+ float y;
+ float z;
+};
+typedef struct TQ3Quaternion TQ3Quaternion;
+/******************************************************************************
+ ** **
+ ** Ray Definition **
+ ** **
+ *****************************************************************************/
+struct TQ3Ray3D {
+ TQ3Point3D origin;
+ TQ3Vector3D direction;
+};
+typedef struct TQ3Ray3D TQ3Ray3D;
+/******************************************************************************
+ ** **
+ ** Parameterization Data Structures **
+ ** **
+ *****************************************************************************/
+struct TQ3Param2D {
+ float u;
+ float v;
+};
+typedef struct TQ3Param2D TQ3Param2D;
+struct TQ3Param3D {
+ float u;
+ float v;
+ float w;
+};
+typedef struct TQ3Param3D TQ3Param3D;
+struct TQ3Tangent2D {
+ TQ3Vector3D uTangent;
+ TQ3Vector3D vTangent;
+};
+typedef struct TQ3Tangent2D TQ3Tangent2D;
+struct TQ3Tangent3D {
+ TQ3Vector3D uTangent;
+ TQ3Vector3D vTangent;
+ TQ3Vector3D wTangent;
+};
+typedef struct TQ3Tangent3D TQ3Tangent3D;
+/******************************************************************************
+ ** **
+ ** Polar and Spherical Coordinates **
+ ** **
+ *****************************************************************************/
+struct TQ3PolarPoint {
+ float r;
+ float theta;
+};
+typedef struct TQ3PolarPoint TQ3PolarPoint;
+struct TQ3SphericalPoint {
+ float rho;
+ float theta;
+ float phi;
+};
+typedef struct TQ3SphericalPoint TQ3SphericalPoint;
+/******************************************************************************
+ ** **
+ ** Color Definition **
+ ** **
+ *****************************************************************************/
+struct TQ3ColorRGB {
+ float r;
+ float g;
+ float b;
+};
+typedef struct TQ3ColorRGB TQ3ColorRGB;
+struct TQ3ColorARGB {
+ float a;
+ float r;
+ float g;
+ float b;
+};
+typedef struct TQ3ColorARGB TQ3ColorARGB;
+/******************************************************************************
+ ** **
+ ** Vertices **
+ ** **
+ *****************************************************************************/
+struct TQ3Vertex3D {
+ TQ3Point3D point;
+ TQ3AttributeSet attributeSet;
+};
+typedef struct TQ3Vertex3D TQ3Vertex3D;
+/******************************************************************************
+ ** **
+ ** Matrices **
+ ** **
+ *****************************************************************************/
+struct TQ3Matrix3x3 {
+ float value[3][3];
+};
+typedef struct TQ3Matrix3x3 TQ3Matrix3x3;
+struct TQ3Matrix4x4 {
+ float value[4][4];
+};
+typedef struct TQ3Matrix4x4 TQ3Matrix4x4;
+/******************************************************************************
+ ** **
+ ** Bitmap/Pixmap **
+ ** **
+ *****************************************************************************/
+struct TQ3Pixmap {
+ void * image;
+ unsigned long width;
+ unsigned long height;
+ unsigned long rowBytes;
+ unsigned long pixelSize; /* MUST be 16 or 32 to use with the Interactive Renderer on Mac OS*/
+ TQ3PixelType pixelType;
+ TQ3Endian bitOrder;
+ TQ3Endian byteOrder;
+};
+typedef struct TQ3Pixmap TQ3Pixmap;
+struct TQ3StoragePixmap {
+ TQ3StorageObject image;
+ unsigned long width;
+ unsigned long height;
+ unsigned long rowBytes;
+ unsigned long pixelSize; /* MUST be 16 or 32 to use with the Interactive Renderer on Mac OS*/
+ TQ3PixelType pixelType;
+ TQ3Endian bitOrder;
+ TQ3Endian byteOrder;
+};
+typedef struct TQ3StoragePixmap TQ3StoragePixmap;
+struct TQ3Bitmap {
+ unsigned char * image;
+ unsigned long width;
+ unsigned long height;
+ unsigned long rowBytes;
+ TQ3Endian bitOrder;
+};
+typedef struct TQ3Bitmap TQ3Bitmap;
+struct TQ3MipmapImage { /* An image for use as a texture mipmap */
+ unsigned long width; /* Width of mipmap, must be power of 2 */
+ unsigned long height; /* Height of mipmap, must be power of 2 */
+ unsigned long rowBytes; /* Rowbytes of mipmap */
+ unsigned long offset; /* Offset from image base to this mipmap */
+};
+typedef struct TQ3MipmapImage TQ3MipmapImage;
+struct TQ3Mipmap {
+ TQ3StorageObject image; /* Data containing the texture map and */
+ /* if (useMipmapping==kQ3True) the */
+ /* mipmap data */
+ TQ3Boolean useMipmapping; /* True if mipmapping should be used */
+ /* and all mipmaps have been provided */
+ TQ3PixelType pixelType;
+ TQ3Endian bitOrder;
+ TQ3Endian byteOrder;
+ unsigned long reserved; /* leave NULL for next version */
+ TQ3MipmapImage mipmaps[32]; /* The actual number of mipmaps is determined from the size of the first mipmap */
+};
+typedef struct TQ3Mipmap TQ3Mipmap;
+
+
+struct TQ3CompressedPixmap {
+ TQ3StorageObject compressedImage; /* storage obj containing compressed image data */
+
+ TQ3Endian imageDescByteOrder; /* endianness of the data in the imageDesc */
+ TQ3StorageObject imageDesc; /* storage obj containing image description created by Quicktime to store info about compressed image */
+
+ TQ3Boolean makeMipmaps;
+
+ unsigned long width;
+ unsigned long height;
+ unsigned long pixelSize;
+ TQ3PixelType pixelType;
+};
+typedef struct TQ3CompressedPixmap TQ3CompressedPixmap;
+
+/******************************************************************************
+ ** **
+ ** Higher dimension quantities **
+ ** **
+ *****************************************************************************/
+struct TQ3Area {
+ TQ3Point2D min;
+ TQ3Point2D max;
+};
+typedef struct TQ3Area TQ3Area;
+struct TQ3PlaneEquation {
+ TQ3Vector3D normal;
+ float constant;
+};
+typedef struct TQ3PlaneEquation TQ3PlaneEquation;
+struct TQ3BoundingBox {
+ TQ3Point3D min;
+ TQ3Point3D max;
+ TQ3Boolean isEmpty;
+};
+typedef struct TQ3BoundingBox TQ3BoundingBox;
+struct TQ3BoundingSphere {
+ TQ3Point3D origin;
+ float radius;
+ TQ3Boolean isEmpty;
+};
+typedef struct TQ3BoundingSphere TQ3BoundingSphere;
+/*
+ * The TQ3ComputeBounds flag passed to StartBoundingBox or StartBoundingSphere
+ * calls in the View. It's a hint to the system as to how it should
+ * compute the bbox of a shape:
+ *
+ * kQ3ComputeBoundsExact:
+ * Vertices of shapes are transformed into world space and
+ * the world space bounding box is computed from them. Slow!
+ *
+ * kQ3ComputeBoundsApproximate:
+ * A local space bounding box is computed from a shape's
+ * vertices. This bbox is then transformed into world space,
+ * and its bounding box is taken as the shape's approximate
+ * bbox. Fast but the bbox is larger than optimal.
+ */
+enum TQ3ComputeBounds {
+ kQ3ComputeBoundsExact = 0,
+ kQ3ComputeBoundsApproximate = 1
+};
+typedef enum TQ3ComputeBounds TQ3ComputeBounds;
+
+
+/******************************************************************************
+ ** **
+ ** Object System Types **
+ ** **
+ *****************************************************************************/
+
+typedef struct OpaqueTQ3XObjectClass* TQ3XObjectClass;
+
+typedef unsigned long TQ3XMethodType;
+/*
+ * Object methods
+ */
#define kQ3XMethodTypeObjectUnregister Q3_METHOD_TYPE('u','n','r','g')
- /*
- * Return true from the metahandler if this
- * object can be submitted in a rendering loop
- */
+/*
+ * Return true from the metahandler if this
+ * object can be submitted in a rendering loop
+ */
#define kQ3XMethodTypeObjectIsDrawable Q3_METHOD_TYPE('i','s','d','r') /* return true from the metahandler if this object can be submitted in a rendering loop */
- typedef CALLBACK_API_C(void , TQ3XFunctionPointer)(void);
- typedef CALLBACK_API_C(TQ3XFunctionPointer , TQ3XMetaHandler)(TQ3XMethodType methodType);
- /*
- * MetaHandler:
- * When you give a metahandler to QuickDraw 3D, it is called multiple
- * times to build method tables, and then is thrown away. You are
- * guaranteed that your metahandler will never be called again after a
- * call that was passed a metahandler returns.
- *
- * Your metahandler should contain a switch on the methodType passed to it
- * and should return the corresponding method as an TQ3XFunctionPointer.
- *
- * IMPORTANT: A metaHandler MUST always "return" a value. If you are
- * passed a methodType that you do not understand, ALWAYS return NULL.
- *
- * These types here are prototypes of how your functions should look.
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XObjectUnregisterMethod)(TQ3XObjectClass objectClass);
- /*
- * See QD3DIO.h for the IO method types:
- * ObjectReadData, ObjectTraverse, ObjectWrite
- */
-
- /******************************************************************************
- ** **
- ** Set Types **
- ** **
- *****************************************************************************/
- typedef long TQ3ElementType;
- enum
- {
- kQ3ElementTypeNone = 0,
- kQ3ElementTypeUnknown = 32,
- kQ3ElementTypeSet = 33
- };
-
-
- /*
- * kQ3ElementTypeUnknown is a TQ3Object.
- *
- * Do Q3Set_Add(s, ..., &obj) or Q3Set_Get(s, ..., &obj);
- *
- * Note that the object is always referenced when copying around.
- *
- * Generally, it is an Unknown object, a Group of Unknown objects, or a
- * group of other "objects" which have been found in the metafile and
- * have no attachment method to their parent. Be prepared to handle
- * any or all of these cases if you actually access the set on a shape.
- *
- * kQ3ElementTypeSet is a TQ3SetObject.
- *
- * Q3Shape_GetSet(s,&o) is eqivalent to
- * Q3Shape_GetElement(s, kQ3ElementTypeSet, &o)
- *
- * Q3Shape_SetSet(s,o) is eqivalent to
- * Q3Shape_SetElement(s, kQ3ElementTypeSet, &o)
- *
- * Note that the object is always referenced when copying around.
- *
- * See the note below about the Set and Shape changes.
- */
-
- /******************************************************************************
- ** **
- ** Object System Macros **
- ** **
- *****************************************************************************/
+typedef CALLBACK_API_C( void , TQ3XFunctionPointer )(void);
+typedef CALLBACK_API_C( TQ3XFunctionPointer , TQ3XMetaHandler )(TQ3XMethodType methodType);
+/*
+ * MetaHandler:
+ * When you give a metahandler to QuickDraw 3D, it is called multiple
+ * times to build method tables, and then is thrown away. You are
+ * guaranteed that your metahandler will never be called again after a
+ * call that was passed a metahandler returns.
+ *
+ * Your metahandler should contain a switch on the methodType passed to it
+ * and should return the corresponding method as an TQ3XFunctionPointer.
+ *
+ * IMPORTANT: A metaHandler MUST always "return" a value. If you are
+ * passed a methodType that you do not understand, ALWAYS return NULL.
+ *
+ * These types here are prototypes of how your functions should look.
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XObjectUnregisterMethod )(TQ3XObjectClass objectClass);
+/*
+ * See QD3DIO.h for the IO method types:
+ * ObjectReadData, ObjectTraverse, ObjectWrite
+ */
+
+/******************************************************************************
+ ** **
+ ** Set Types **
+ ** **
+ *****************************************************************************/
+typedef long TQ3ElementType;
+enum {
+ kQ3ElementTypeNone = 0,
+ kQ3ElementTypeUnknown = 32,
+ kQ3ElementTypeSet = 33
+};
+
+
+/*
+ * kQ3ElementTypeUnknown is a TQ3Object.
+ *
+ * Do Q3Set_Add(s, ..., &obj) or Q3Set_Get(s, ..., &obj);
+ *
+ * Note that the object is always referenced when copying around.
+ *
+ * Generally, it is an Unknown object, a Group of Unknown objects, or a
+ * group of other "objects" which have been found in the metafile and
+ * have no attachment method to their parent. Be prepared to handle
+ * any or all of these cases if you actually access the set on a shape.
+ *
+ * kQ3ElementTypeSet is a TQ3SetObject.
+ *
+ * Q3Shape_GetSet(s,&o) is eqivalent to
+ * Q3Shape_GetElement(s, kQ3ElementTypeSet, &o)
+ *
+ * Q3Shape_SetSet(s,o) is eqivalent to
+ * Q3Shape_SetElement(s, kQ3ElementTypeSet, &o)
+ *
+ * Note that the object is always referenced when copying around.
+ *
+ * See the note below about the Set and Shape changes.
+ */
+
+/******************************************************************************
+ ** **
+ ** Object System Macros **
+ ** **
+ *****************************************************************************/
#define Q3_FOUR_CHARACTER_CONSTANT(a,b,c,d) \
((const unsigned long) \
@@ -730,800 +690,799 @@ extern "C" {
#define Q3_METHOD_TYPE(a,b,c,d) \
((TQ3XMethodType) Q3_FOUR_CHARACTER_CONSTANT(a,b,c,d))
- /******************************************************************************
- ** **
- ** Object Types **
- ** **
- *****************************************************************************/
- /*
- * Note: a call to Q3Foo_GetType will return a value kQ3FooTypeBar
- * e.g. Q3Shared_GetType(object) returns kQ3SharedTypeShape, etc.
- */
+/******************************************************************************
+ ** **
+ ** Object Types **
+ ** **
+ *****************************************************************************/
+/*
+ * Note: a call to Q3Foo_GetType will return a value kQ3FooTypeBar
+ * e.g. Q3Shared_GetType(object) returns kQ3SharedTypeShape, etc.
+ */
#define kQ3ObjectTypeInvalid 0L
#define kQ3ObjectTypeView ((TQ3ObjectType)FOUR_CHAR_CODE('view'))
#define kQ3ObjectTypeElement ((TQ3ObjectType)FOUR_CHAR_CODE('elmn'))
-#define kQ3ElementTypeAttribute ((TQ3ObjectType)FOUR_CHAR_CODE('eatt'))
+ #define kQ3ElementTypeAttribute ((TQ3ObjectType)FOUR_CHAR_CODE('eatt'))
#define kQ3ObjectTypePick ((TQ3ObjectType)FOUR_CHAR_CODE('pick'))
-#define kQ3PickTypeWindowPoint ((TQ3ObjectType)FOUR_CHAR_CODE('pkwp'))
-#define kQ3PickTypeWindowRect ((TQ3ObjectType)FOUR_CHAR_CODE('pkwr'))
-#define kQ3PickTypeWorldRay ((TQ3ObjectType)FOUR_CHAR_CODE('pkry'))
+ #define kQ3PickTypeWindowPoint ((TQ3ObjectType)FOUR_CHAR_CODE('pkwp'))
+ #define kQ3PickTypeWindowRect ((TQ3ObjectType)FOUR_CHAR_CODE('pkwr'))
+ #define kQ3PickTypeWorldRay ((TQ3ObjectType)FOUR_CHAR_CODE('pkry'))
#define kQ3ObjectTypeShared ((TQ3ObjectType)FOUR_CHAR_CODE('shrd'))
-#define kQ3SharedTypeRenderer ((TQ3ObjectType)FOUR_CHAR_CODE('rddr'))
-#define kQ3RendererTypeWireFrame ((TQ3ObjectType)FOUR_CHAR_CODE('wrfr'))
-#define kQ3RendererTypeGeneric ((TQ3ObjectType)FOUR_CHAR_CODE('gnrr'))
-#define kQ3RendererTypeInteractive ((TQ3ObjectType)FOUR_CHAR_CODE('ctwn'))
-#define kQ3SharedTypeShape ((TQ3ObjectType)FOUR_CHAR_CODE('shap'))
-
-
-#define kQ3ShapeTypeGeometry ((TQ3ObjectType)FOUR_CHAR_CODE('gmtr'))
-#define kQ3GeometryTypeBox ((TQ3ObjectType)FOUR_CHAR_CODE('box '))
-#define kQ3GeometryTypeGeneralPolygon ((TQ3ObjectType)FOUR_CHAR_CODE('gpgn'))
-#define kQ3GeometryTypeLine ((TQ3ObjectType)FOUR_CHAR_CODE('line'))
-#define kQ3GeometryTypeMarker ((TQ3ObjectType)FOUR_CHAR_CODE('mrkr'))
-#define kQ3GeometryTypePixmapMarker ((TQ3ObjectType)FOUR_CHAR_CODE('mrkp'))
-#define kQ3GeometryTypeMesh ((TQ3ObjectType)FOUR_CHAR_CODE('mesh'))
-#define kQ3GeometryTypeNURBCurve ((TQ3ObjectType)FOUR_CHAR_CODE('nrbc'))
-#define kQ3GeometryTypeNURBPatch ((TQ3ObjectType)FOUR_CHAR_CODE('nrbp'))
-#define kQ3GeometryTypePoint ((TQ3ObjectType)FOUR_CHAR_CODE('pnt '))
-#define kQ3GeometryTypePolygon ((TQ3ObjectType)FOUR_CHAR_CODE('plyg'))
-#define kQ3GeometryTypePolyLine ((TQ3ObjectType)FOUR_CHAR_CODE('plyl'))
-#define kQ3GeometryTypeTriangle ((TQ3ObjectType)FOUR_CHAR_CODE('trng'))
-#define kQ3GeometryTypeTriGrid ((TQ3ObjectType)FOUR_CHAR_CODE('trig'))
-#define kQ3GeometryTypeCone ((TQ3ObjectType)FOUR_CHAR_CODE('cone'))
-#define kQ3GeometryTypeCylinder ((TQ3ObjectType)FOUR_CHAR_CODE('cyln'))
-#define kQ3GeometryTypeDisk ((TQ3ObjectType)FOUR_CHAR_CODE('disk'))
-#define kQ3GeometryTypeEllipse ((TQ3ObjectType)FOUR_CHAR_CODE('elps'))
-#define kQ3GeometryTypeEllipsoid ((TQ3ObjectType)FOUR_CHAR_CODE('elpd'))
-#define kQ3GeometryTypePolyhedron ((TQ3ObjectType)FOUR_CHAR_CODE('plhd'))
-#define kQ3GeometryTypeTorus ((TQ3ObjectType)FOUR_CHAR_CODE('tors'))
-#define kQ3GeometryTypeTriMesh ((TQ3ObjectType)FOUR_CHAR_CODE('tmsh'))
-
-
-#define kQ3ShapeTypeShader ((TQ3ObjectType)FOUR_CHAR_CODE('shdr'))
-#define kQ3ShaderTypeSurface ((TQ3ObjectType)FOUR_CHAR_CODE('sush'))
-#define kQ3SurfaceShaderTypeTexture ((TQ3ObjectType)FOUR_CHAR_CODE('txsu'))
-#define kQ3ShaderTypeIllumination ((TQ3ObjectType)FOUR_CHAR_CODE('ilsh'))
-#define kQ3IlluminationTypePhong ((TQ3ObjectType)FOUR_CHAR_CODE('phil'))
-#define kQ3IlluminationTypeLambert ((TQ3ObjectType)FOUR_CHAR_CODE('lmil'))
-#define kQ3IlluminationTypeNULL ((TQ3ObjectType)FOUR_CHAR_CODE('nuil'))
-#define kQ3ShapeTypeStyle ((TQ3ObjectType)FOUR_CHAR_CODE('styl'))
-#define kQ3StyleTypeBackfacing ((TQ3ObjectType)FOUR_CHAR_CODE('bckf'))
-#define kQ3StyleTypeInterpolation ((TQ3ObjectType)FOUR_CHAR_CODE('intp'))
-#define kQ3StyleTypeFill ((TQ3ObjectType)FOUR_CHAR_CODE('fist'))
-#define kQ3StyleTypePickID ((TQ3ObjectType)FOUR_CHAR_CODE('pkid'))
-#define kQ3StyleTypeReceiveShadows ((TQ3ObjectType)FOUR_CHAR_CODE('rcsh'))
-#define kQ3StyleTypeHighlight ((TQ3ObjectType)FOUR_CHAR_CODE('high'))
-#define kQ3StyleTypeSubdivision ((TQ3ObjectType)FOUR_CHAR_CODE('sbdv'))
-#define kQ3StyleTypeOrientation ((TQ3ObjectType)FOUR_CHAR_CODE('ofdr'))
-#define kQ3StyleTypePickParts ((TQ3ObjectType)FOUR_CHAR_CODE('pkpt'))
-#define kQ3StyleTypeAntiAlias ((TQ3ObjectType)FOUR_CHAR_CODE('anti'))
-#define kQ3StyleTypeFog ((TQ3ObjectType)FOUR_CHAR_CODE('fogg'))
-
-
-#define kQ3ShapeTypeTransform ((TQ3ObjectType)FOUR_CHAR_CODE('xfrm'))
-#define kQ3TransformTypeMatrix ((TQ3ObjectType)FOUR_CHAR_CODE('mtrx'))
-#define kQ3TransformTypeScale ((TQ3ObjectType)FOUR_CHAR_CODE('scal'))
-#define kQ3TransformTypeTranslate ((TQ3ObjectType)FOUR_CHAR_CODE('trns'))
-#define kQ3TransformTypeRotate ((TQ3ObjectType)FOUR_CHAR_CODE('rott'))
-#define kQ3TransformTypeRotateAboutPoint ((TQ3ObjectType)FOUR_CHAR_CODE('rtap'))
-#define kQ3TransformTypeRotateAboutAxis ((TQ3ObjectType)FOUR_CHAR_CODE('rtaa'))
-#define kQ3TransformTypeQuaternion ((TQ3ObjectType)FOUR_CHAR_CODE('qtrn'))
-#define kQ3TransformTypeReset ((TQ3ObjectType)FOUR_CHAR_CODE('rset'))
-#define kQ3ShapeTypeLight ((TQ3ObjectType)FOUR_CHAR_CODE('lght'))
-#define kQ3LightTypeAmbient ((TQ3ObjectType)FOUR_CHAR_CODE('ambn'))
-#define kQ3LightTypeDirectional ((TQ3ObjectType)FOUR_CHAR_CODE('drct'))
-#define kQ3LightTypePoint ((TQ3ObjectType)FOUR_CHAR_CODE('pntl'))
-#define kQ3LightTypeSpot ((TQ3ObjectType)FOUR_CHAR_CODE('spot'))
-
-
-#define kQ3ShapeTypeCamera ((TQ3ObjectType)FOUR_CHAR_CODE('cmra'))
-#define kQ3CameraTypeOrthographic ((TQ3ObjectType)FOUR_CHAR_CODE('orth'))
-#define kQ3CameraTypeViewPlane ((TQ3ObjectType)FOUR_CHAR_CODE('vwpl'))
-#define kQ3CameraTypeViewAngleAspect ((TQ3ObjectType)FOUR_CHAR_CODE('vana'))
-#define kQ3ShapeTypeStateOperator ((TQ3ObjectType)FOUR_CHAR_CODE('stop'))
-#define kQ3StateOperatorTypePush ((TQ3ObjectType)FOUR_CHAR_CODE('push'))
-#define kQ3StateOperatorTypePop ((TQ3ObjectType)FOUR_CHAR_CODE('pop '))
-#define kQ3ShapeTypeGroup ((TQ3ObjectType)FOUR_CHAR_CODE('grup'))
-#define kQ3GroupTypeDisplay ((TQ3ObjectType)FOUR_CHAR_CODE('dspg'))
-#define kQ3DisplayGroupTypeOrdered ((TQ3ObjectType)FOUR_CHAR_CODE('ordg'))
-#define kQ3DisplayGroupTypeIOProxy ((TQ3ObjectType)FOUR_CHAR_CODE('iopx'))
-#define kQ3GroupTypeLight ((TQ3ObjectType)FOUR_CHAR_CODE('lghg'))
-#define kQ3GroupTypeInfo ((TQ3ObjectType)FOUR_CHAR_CODE('info'))
-
-
-#define kQ3ShapeTypeUnknown ((TQ3ObjectType)FOUR_CHAR_CODE('unkn'))
-#define kQ3UnknownTypeText ((TQ3ObjectType)FOUR_CHAR_CODE('uktx'))
-#define kQ3UnknownTypeBinary ((TQ3ObjectType)FOUR_CHAR_CODE('ukbn'))
-#define kQ3ShapeTypeReference ((TQ3ObjectType)FOUR_CHAR_CODE('rfrn'))
-#define kQ3ReferenceTypeExternal ((TQ3ObjectType)FOUR_CHAR_CODE('rfex'))
-#define kQ3SharedTypeSet ((TQ3ObjectType)FOUR_CHAR_CODE('set '))
-#define kQ3SetTypeAttribute ((TQ3ObjectType)FOUR_CHAR_CODE('attr'))
-#define kQ3SharedTypeDrawContext ((TQ3ObjectType)FOUR_CHAR_CODE('dctx'))
-#define kQ3DrawContextTypePixmap ((TQ3ObjectType)FOUR_CHAR_CODE('dpxp'))
-#define kQ3DrawContextTypeMacintosh ((TQ3ObjectType)FOUR_CHAR_CODE('dmac'))
-#define kQ3DrawContextTypeWin32DC ((TQ3ObjectType)FOUR_CHAR_CODE('dw32'))
-#define kQ3DrawContextTypeDDSurface ((TQ3ObjectType)FOUR_CHAR_CODE('ddds'))
-#define kQ3DrawContextTypeX11 ((TQ3ObjectType)FOUR_CHAR_CODE('dx11'))
-#define kQ3SharedTypeTexture ((TQ3ObjectType)FOUR_CHAR_CODE('txtr'))
-#define kQ3TextureTypePixmap ((TQ3ObjectType)FOUR_CHAR_CODE('txpm'))
-#define kQ3TextureTypeMipmap ((TQ3ObjectType)FOUR_CHAR_CODE('txmm'))
-#define kQ3TextureTypeCompressedPixmap ((TQ3ObjectType)FOUR_CHAR_CODE('txcp'))
-
-
-#define kQ3SharedTypeFile ((TQ3ObjectType)FOUR_CHAR_CODE('file'))
-#define kQ3SharedTypeStorage ((TQ3ObjectType)FOUR_CHAR_CODE('strg'))
-#define kQ3StorageTypeMemory ((TQ3ObjectType)FOUR_CHAR_CODE('mems'))
-#define kQ3MemoryStorageTypeHandle ((TQ3ObjectType)FOUR_CHAR_CODE('hndl'))
-#define kQ3StorageTypeUnix ((TQ3ObjectType)FOUR_CHAR_CODE('uxst'))
-#define kQ3UnixStorageTypePath ((TQ3ObjectType)FOUR_CHAR_CODE('unix'))
-#define kQ3StorageTypeMacintosh ((TQ3ObjectType)FOUR_CHAR_CODE('macn'))
-#define kQ3MacintoshStorageTypeFSSpec ((TQ3ObjectType)FOUR_CHAR_CODE('macp'))
-#define kQ3StorageTypeWin32 ((TQ3ObjectType)FOUR_CHAR_CODE('wist'))
-#define kQ3SharedTypeString ((TQ3ObjectType)FOUR_CHAR_CODE('strn'))
-#define kQ3StringTypeCString ((TQ3ObjectType)FOUR_CHAR_CODE('strc'))
-#define kQ3SharedTypeShapePart ((TQ3ObjectType)FOUR_CHAR_CODE('sprt'))
-#define kQ3ShapePartTypeMeshPart ((TQ3ObjectType)FOUR_CHAR_CODE('spmh'))
-#define kQ3MeshPartTypeMeshFacePart ((TQ3ObjectType)FOUR_CHAR_CODE('mfac'))
-#define kQ3MeshPartTypeMeshEdgePart ((TQ3ObjectType)FOUR_CHAR_CODE('medg'))
-#define kQ3MeshPartTypeMeshVertexPart ((TQ3ObjectType)FOUR_CHAR_CODE('mvtx'))
-#define kQ3SharedTypeControllerState ((TQ3ObjectType)FOUR_CHAR_CODE('ctst'))
-#define kQ3SharedTypeTracker ((TQ3ObjectType)FOUR_CHAR_CODE('trkr'))
-#define kQ3SharedTypeViewHints ((TQ3ObjectType)FOUR_CHAR_CODE('vwhn'))
-#define kQ3SharedTypeEndGroup ((TQ3ObjectType)FOUR_CHAR_CODE('endg'))
-
- /******************************************************************************
- ** **
- ** QuickDraw 3D System Routines **
- ** **
- *****************************************************************************/
+ #define kQ3SharedTypeRenderer ((TQ3ObjectType)FOUR_CHAR_CODE('rddr'))
+ #define kQ3RendererTypeWireFrame ((TQ3ObjectType)FOUR_CHAR_CODE('wrfr'))
+ #define kQ3RendererTypeGeneric ((TQ3ObjectType)FOUR_CHAR_CODE('gnrr'))
+ #define kQ3RendererTypeInteractive ((TQ3ObjectType)FOUR_CHAR_CODE('ctwn'))
+ #define kQ3SharedTypeShape ((TQ3ObjectType)FOUR_CHAR_CODE('shap'))
+
+
+ #define kQ3ShapeTypeGeometry ((TQ3ObjectType)FOUR_CHAR_CODE('gmtr'))
+ #define kQ3GeometryTypeBox ((TQ3ObjectType)FOUR_CHAR_CODE('box '))
+ #define kQ3GeometryTypeGeneralPolygon ((TQ3ObjectType)FOUR_CHAR_CODE('gpgn'))
+ #define kQ3GeometryTypeLine ((TQ3ObjectType)FOUR_CHAR_CODE('line'))
+ #define kQ3GeometryTypeMarker ((TQ3ObjectType)FOUR_CHAR_CODE('mrkr'))
+ #define kQ3GeometryTypePixmapMarker ((TQ3ObjectType)FOUR_CHAR_CODE('mrkp'))
+ #define kQ3GeometryTypeMesh ((TQ3ObjectType)FOUR_CHAR_CODE('mesh'))
+ #define kQ3GeometryTypeNURBCurve ((TQ3ObjectType)FOUR_CHAR_CODE('nrbc'))
+ #define kQ3GeometryTypeNURBPatch ((TQ3ObjectType)FOUR_CHAR_CODE('nrbp'))
+ #define kQ3GeometryTypePoint ((TQ3ObjectType)FOUR_CHAR_CODE('pnt '))
+ #define kQ3GeometryTypePolygon ((TQ3ObjectType)FOUR_CHAR_CODE('plyg'))
+ #define kQ3GeometryTypePolyLine ((TQ3ObjectType)FOUR_CHAR_CODE('plyl'))
+ #define kQ3GeometryTypeTriangle ((TQ3ObjectType)FOUR_CHAR_CODE('trng'))
+ #define kQ3GeometryTypeTriGrid ((TQ3ObjectType)FOUR_CHAR_CODE('trig'))
+ #define kQ3GeometryTypeCone ((TQ3ObjectType)FOUR_CHAR_CODE('cone'))
+ #define kQ3GeometryTypeCylinder ((TQ3ObjectType)FOUR_CHAR_CODE('cyln'))
+ #define kQ3GeometryTypeDisk ((TQ3ObjectType)FOUR_CHAR_CODE('disk'))
+ #define kQ3GeometryTypeEllipse ((TQ3ObjectType)FOUR_CHAR_CODE('elps'))
+ #define kQ3GeometryTypeEllipsoid ((TQ3ObjectType)FOUR_CHAR_CODE('elpd'))
+ #define kQ3GeometryTypePolyhedron ((TQ3ObjectType)FOUR_CHAR_CODE('plhd'))
+ #define kQ3GeometryTypeTorus ((TQ3ObjectType)FOUR_CHAR_CODE('tors'))
+ #define kQ3GeometryTypeTriMesh ((TQ3ObjectType)FOUR_CHAR_CODE('tmsh'))
+
+
+ #define kQ3ShapeTypeShader ((TQ3ObjectType)FOUR_CHAR_CODE('shdr'))
+ #define kQ3ShaderTypeSurface ((TQ3ObjectType)FOUR_CHAR_CODE('sush'))
+ #define kQ3SurfaceShaderTypeTexture ((TQ3ObjectType)FOUR_CHAR_CODE('txsu'))
+ #define kQ3ShaderTypeIllumination ((TQ3ObjectType)FOUR_CHAR_CODE('ilsh'))
+ #define kQ3IlluminationTypePhong ((TQ3ObjectType)FOUR_CHAR_CODE('phil'))
+ #define kQ3IlluminationTypeLambert ((TQ3ObjectType)FOUR_CHAR_CODE('lmil'))
+ #define kQ3IlluminationTypeNULL ((TQ3ObjectType)FOUR_CHAR_CODE('nuil'))
+ #define kQ3ShapeTypeStyle ((TQ3ObjectType)FOUR_CHAR_CODE('styl'))
+ #define kQ3StyleTypeBackfacing ((TQ3ObjectType)FOUR_CHAR_CODE('bckf'))
+ #define kQ3StyleTypeInterpolation ((TQ3ObjectType)FOUR_CHAR_CODE('intp'))
+ #define kQ3StyleTypeFill ((TQ3ObjectType)FOUR_CHAR_CODE('fist'))
+ #define kQ3StyleTypePickID ((TQ3ObjectType)FOUR_CHAR_CODE('pkid'))
+ #define kQ3StyleTypeReceiveShadows ((TQ3ObjectType)FOUR_CHAR_CODE('rcsh'))
+ #define kQ3StyleTypeHighlight ((TQ3ObjectType)FOUR_CHAR_CODE('high'))
+ #define kQ3StyleTypeSubdivision ((TQ3ObjectType)FOUR_CHAR_CODE('sbdv'))
+ #define kQ3StyleTypeOrientation ((TQ3ObjectType)FOUR_CHAR_CODE('ofdr'))
+ #define kQ3StyleTypePickParts ((TQ3ObjectType)FOUR_CHAR_CODE('pkpt'))
+ #define kQ3StyleTypeAntiAlias ((TQ3ObjectType)FOUR_CHAR_CODE('anti'))
+ #define kQ3StyleTypeFog ((TQ3ObjectType)FOUR_CHAR_CODE('fogg'))
+
+
+ #define kQ3ShapeTypeTransform ((TQ3ObjectType)FOUR_CHAR_CODE('xfrm'))
+ #define kQ3TransformTypeMatrix ((TQ3ObjectType)FOUR_CHAR_CODE('mtrx'))
+ #define kQ3TransformTypeScale ((TQ3ObjectType)FOUR_CHAR_CODE('scal'))
+ #define kQ3TransformTypeTranslate ((TQ3ObjectType)FOUR_CHAR_CODE('trns'))
+ #define kQ3TransformTypeRotate ((TQ3ObjectType)FOUR_CHAR_CODE('rott'))
+ #define kQ3TransformTypeRotateAboutPoint ((TQ3ObjectType)FOUR_CHAR_CODE('rtap'))
+ #define kQ3TransformTypeRotateAboutAxis ((TQ3ObjectType)FOUR_CHAR_CODE('rtaa'))
+ #define kQ3TransformTypeQuaternion ((TQ3ObjectType)FOUR_CHAR_CODE('qtrn'))
+ #define kQ3TransformTypeReset ((TQ3ObjectType)FOUR_CHAR_CODE('rset'))
+ #define kQ3ShapeTypeLight ((TQ3ObjectType)FOUR_CHAR_CODE('lght'))
+ #define kQ3LightTypeAmbient ((TQ3ObjectType)FOUR_CHAR_CODE('ambn'))
+ #define kQ3LightTypeDirectional ((TQ3ObjectType)FOUR_CHAR_CODE('drct'))
+ #define kQ3LightTypePoint ((TQ3ObjectType)FOUR_CHAR_CODE('pntl'))
+ #define kQ3LightTypeSpot ((TQ3ObjectType)FOUR_CHAR_CODE('spot'))
+
+
+ #define kQ3ShapeTypeCamera ((TQ3ObjectType)FOUR_CHAR_CODE('cmra'))
+ #define kQ3CameraTypeOrthographic ((TQ3ObjectType)FOUR_CHAR_CODE('orth'))
+ #define kQ3CameraTypeViewPlane ((TQ3ObjectType)FOUR_CHAR_CODE('vwpl'))
+ #define kQ3CameraTypeViewAngleAspect ((TQ3ObjectType)FOUR_CHAR_CODE('vana'))
+ #define kQ3ShapeTypeStateOperator ((TQ3ObjectType)FOUR_CHAR_CODE('stop'))
+ #define kQ3StateOperatorTypePush ((TQ3ObjectType)FOUR_CHAR_CODE('push'))
+ #define kQ3StateOperatorTypePop ((TQ3ObjectType)FOUR_CHAR_CODE('pop '))
+ #define kQ3ShapeTypeGroup ((TQ3ObjectType)FOUR_CHAR_CODE('grup'))
+ #define kQ3GroupTypeDisplay ((TQ3ObjectType)FOUR_CHAR_CODE('dspg'))
+ #define kQ3DisplayGroupTypeOrdered ((TQ3ObjectType)FOUR_CHAR_CODE('ordg'))
+ #define kQ3DisplayGroupTypeIOProxy ((TQ3ObjectType)FOUR_CHAR_CODE('iopx'))
+ #define kQ3GroupTypeLight ((TQ3ObjectType)FOUR_CHAR_CODE('lghg'))
+ #define kQ3GroupTypeInfo ((TQ3ObjectType)FOUR_CHAR_CODE('info'))
+
+
+ #define kQ3ShapeTypeUnknown ((TQ3ObjectType)FOUR_CHAR_CODE('unkn'))
+ #define kQ3UnknownTypeText ((TQ3ObjectType)FOUR_CHAR_CODE('uktx'))
+ #define kQ3UnknownTypeBinary ((TQ3ObjectType)FOUR_CHAR_CODE('ukbn'))
+ #define kQ3ShapeTypeReference ((TQ3ObjectType)FOUR_CHAR_CODE('rfrn'))
+ #define kQ3ReferenceTypeExternal ((TQ3ObjectType)FOUR_CHAR_CODE('rfex'))
+ #define kQ3SharedTypeSet ((TQ3ObjectType)FOUR_CHAR_CODE('set '))
+ #define kQ3SetTypeAttribute ((TQ3ObjectType)FOUR_CHAR_CODE('attr'))
+ #define kQ3SharedTypeDrawContext ((TQ3ObjectType)FOUR_CHAR_CODE('dctx'))
+ #define kQ3DrawContextTypePixmap ((TQ3ObjectType)FOUR_CHAR_CODE('dpxp'))
+ #define kQ3DrawContextTypeMacintosh ((TQ3ObjectType)FOUR_CHAR_CODE('dmac'))
+ #define kQ3DrawContextTypeWin32DC ((TQ3ObjectType)FOUR_CHAR_CODE('dw32'))
+ #define kQ3DrawContextTypeDDSurface ((TQ3ObjectType)FOUR_CHAR_CODE('ddds'))
+ #define kQ3DrawContextTypeX11 ((TQ3ObjectType)FOUR_CHAR_CODE('dx11'))
+ #define kQ3SharedTypeTexture ((TQ3ObjectType)FOUR_CHAR_CODE('txtr'))
+ #define kQ3TextureTypePixmap ((TQ3ObjectType)FOUR_CHAR_CODE('txpm'))
+ #define kQ3TextureTypeMipmap ((TQ3ObjectType)FOUR_CHAR_CODE('txmm'))
+ #define kQ3TextureTypeCompressedPixmap ((TQ3ObjectType)FOUR_CHAR_CODE('txcp'))
+
+
+ #define kQ3SharedTypeFile ((TQ3ObjectType)FOUR_CHAR_CODE('file'))
+ #define kQ3SharedTypeStorage ((TQ3ObjectType)FOUR_CHAR_CODE('strg'))
+ #define kQ3StorageTypeMemory ((TQ3ObjectType)FOUR_CHAR_CODE('mems'))
+ #define kQ3MemoryStorageTypeHandle ((TQ3ObjectType)FOUR_CHAR_CODE('hndl'))
+ #define kQ3StorageTypeUnix ((TQ3ObjectType)FOUR_CHAR_CODE('uxst'))
+ #define kQ3UnixStorageTypePath ((TQ3ObjectType)FOUR_CHAR_CODE('unix'))
+ #define kQ3StorageTypeMacintosh ((TQ3ObjectType)FOUR_CHAR_CODE('macn'))
+ #define kQ3MacintoshStorageTypeFSSpec ((TQ3ObjectType)FOUR_CHAR_CODE('macp'))
+ #define kQ3StorageTypeWin32 ((TQ3ObjectType)FOUR_CHAR_CODE('wist'))
+ #define kQ3SharedTypeString ((TQ3ObjectType)FOUR_CHAR_CODE('strn'))
+ #define kQ3StringTypeCString ((TQ3ObjectType)FOUR_CHAR_CODE('strc'))
+ #define kQ3SharedTypeShapePart ((TQ3ObjectType)FOUR_CHAR_CODE('sprt'))
+ #define kQ3ShapePartTypeMeshPart ((TQ3ObjectType)FOUR_CHAR_CODE('spmh'))
+ #define kQ3MeshPartTypeMeshFacePart ((TQ3ObjectType)FOUR_CHAR_CODE('mfac'))
+ #define kQ3MeshPartTypeMeshEdgePart ((TQ3ObjectType)FOUR_CHAR_CODE('medg'))
+ #define kQ3MeshPartTypeMeshVertexPart ((TQ3ObjectType)FOUR_CHAR_CODE('mvtx'))
+ #define kQ3SharedTypeControllerState ((TQ3ObjectType)FOUR_CHAR_CODE('ctst'))
+ #define kQ3SharedTypeTracker ((TQ3ObjectType)FOUR_CHAR_CODE('trkr'))
+ #define kQ3SharedTypeViewHints ((TQ3ObjectType)FOUR_CHAR_CODE('vwhn'))
+ #define kQ3SharedTypeEndGroup ((TQ3ObjectType)FOUR_CHAR_CODE('endg'))
+
+/******************************************************************************
+ ** **
+ ** QuickDraw 3D System Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Initialize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Initialize(void);
-
-
- /*
- * Q3Exit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Exit(void);
-
-
- /*
- * Q3IsInitialized()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3IsInitialized(void);
-
-
- /*
- * Q3GetVersion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GetVersion(
- unsigned long * majorRevision,
- unsigned long * minorRevision);
-
-
- /*
- * Q3GetReleaseVersion returns the release version number,
- * in the format of the first four bytes of a 'vers' resource
- * (e.g. 0x01518000 ==> 1.5.1 release).
- */
- /*
- * Q3GetReleaseVersion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GetReleaseVersion(unsigned long * releaseRevision);
-
-
-
- /******************************************************************************
- ** **
- ** ObjectClass Routines **
- ** **
- *****************************************************************************/
- /*
- * New object system calls to query the object system.
- *
- * These comments to move to the stubs file before final release, they
- * are here for documentation for developers using early seeds.
- */
- /*
- * Given a class name as a string return the associated class type for the
- * class, may return kQ3Failure if the string representing the class is
- * invalid.
- */
- /*
- * Q3ObjectHierarchy_GetTypeFromString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ObjectHierarchy_GetTypeFromString(
- TQ3ObjectClassNameString objectClassString,
- TQ3ObjectType * objectClassType);
-
-
- /*
- * Given a class type as return the associated string for the class name,
- * may return kQ3Failure if the type representing the class is invalid.
- */
- /*
- * Q3ObjectHierarchy_GetStringFromType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ObjectHierarchy_GetStringFromType(
- TQ3ObjectType objectClassType,
- TQ3ObjectClassNameString objectClassString);
-
-
- /*
- * Return true if the class with this type is registered, false if not
- */
- /*
- * Q3ObjectHierarchy_IsTypeRegistered()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3ObjectHierarchy_IsTypeRegistered(TQ3ObjectType objectClassType);
-
-
- /*
- * Return true if the class with this name is registered, false if not
- */
- /*
- * Q3ObjectHierarchy_IsNameRegistered()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3ObjectHierarchy_IsNameRegistered(const char * objectClassName);
-
-
- /*
- * TQ3SubClassData is used when querying the object system for
- * the subclasses of a particular parent type:
- */
+/*
+ * Q3Initialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Initialize(void);
+
+
+/*
+ * Q3Exit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Exit(void);
+
+
+/*
+ * Q3IsInitialized()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3IsInitialized(void);
+
+
+/*
+ * Q3GetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GetVersion(
+ unsigned long * majorRevision,
+ unsigned long * minorRevision);
+
+
+/*
+ * Q3GetReleaseVersion returns the release version number,
+ * in the format of the first four bytes of a 'vers' resource
+ * (e.g. 0x01518000 ==> 1.5.1 release).
+ */
+/*
+ * Q3GetReleaseVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GetReleaseVersion(unsigned long * releaseRevision);
+
+
+
+/******************************************************************************
+ ** **
+ ** ObjectClass Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * New object system calls to query the object system.
+ *
+ * These comments to move to the stubs file before final release, they
+ * are here for documentation for developers using early seeds.
+ */
+/*
+ * Given a class name as a string return the associated class type for the
+ * class, may return kQ3Failure if the string representing the class is
+ * invalid.
+ */
+/*
+ * Q3ObjectHierarchy_GetTypeFromString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ObjectHierarchy_GetTypeFromString(
+ TQ3ObjectClassNameString objectClassString,
+ TQ3ObjectType * objectClassType);
+
+
+/*
+ * Given a class type as return the associated string for the class name,
+ * may return kQ3Failure if the type representing the class is invalid.
+ */
+/*
+ * Q3ObjectHierarchy_GetStringFromType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ObjectHierarchy_GetStringFromType(
+ TQ3ObjectType objectClassType,
+ TQ3ObjectClassNameString objectClassString);
+
+
+/*
+ * Return true if the class with this type is registered, false if not
+ */
+/*
+ * Q3ObjectHierarchy_IsTypeRegistered()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3ObjectHierarchy_IsTypeRegistered(TQ3ObjectType objectClassType);
+
+
+/*
+ * Return true if the class with this name is registered, false if not
+ */
+/*
+ * Q3ObjectHierarchy_IsNameRegistered()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3ObjectHierarchy_IsNameRegistered(const char * objectClassName);
+
+
+/*
+ * TQ3SubClassData is used when querying the object system for
+ * the subclasses of a particular parent type:
+ */
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3SubClassData
- {
- unsigned long numClasses; /* the # of subclass types found for a parent class */
- TQ3ObjectType * classTypes; /* an array containing the class types */
- };
- typedef struct TQ3SubClassData TQ3SubClassData;
- /*
- * Given a parent type and an instance of the TQ3SubClassData struct fill
- * it in with the number and class types of all of the subclasses immediately
- * below the parent in the class hierarchy. Return kQ3Success to indicate no
- * errors occurred, else kQ3Failure.
- *
- * NOTE: This function will allocate memory for the classTypes array. Be
- * sure to call Q3ObjectClass_EmptySubClassData to free this memory up.
- */
+struct TQ3SubClassData {
+ unsigned long numClasses; /* the # of subclass types found for a parent class */
+ TQ3ObjectType * classTypes; /* an array containing the class types */
+};
+typedef struct TQ3SubClassData TQ3SubClassData;
+/*
+ * Given a parent type and an instance of the TQ3SubClassData struct fill
+ * it in with the number and class types of all of the subclasses immediately
+ * below the parent in the class hierarchy. Return kQ3Success to indicate no
+ * errors occurred, else kQ3Failure.
+ *
+ * NOTE: This function will allocate memory for the classTypes array. Be
+ * sure to call Q3ObjectClass_EmptySubClassData to free this memory up.
+ */
#if CALL_NOT_IN_CARBON
- /*
- * Q3ObjectHierarchy_GetSubClassData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ObjectHierarchy_GetSubClassData(
- TQ3ObjectType objectClassType,
- TQ3SubClassData * subClassData);
-
-
- /*
- * Given an instance of the TQ3SubClassData struct free all memory allocated
- * by the Q3ObjectClass_GetSubClassData call.
- *
- * NOTE: This call MUST be made after a call to Q3ObjectClass_GetSubClassData
- * to avoid memory leaks.
- */
- /*
- * Q3ObjectHierarchy_EmptySubClassData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ObjectHierarchy_EmptySubClassData(TQ3SubClassData * subClassData);
-
-
-
- /******************************************************************************
- ** **
- ** Object Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3Object_Dispose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Object_Dispose(TQ3Object object);
-
-
- /*
- * Q3Object_Duplicate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Object)
- Q3Object_Duplicate(TQ3Object object);
-
-
- /*
- * Q3Object_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Object_Submit(
- TQ3Object object,
- TQ3ViewObject view);
-
-
- /*
- * Q3Object_IsDrawable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Object_IsDrawable(TQ3Object object);
-
-
- /*
- * Q3Object_IsWritable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Object_IsWritable(
- TQ3Object object,
- TQ3FileObject theFile);
-
-
-
- /******************************************************************************
- ** **
- ** Object Type Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3Object_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Object_GetType(TQ3Object object);
-
-
- /*
- * Q3Object_GetLeafType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Object_GetLeafType(TQ3Object object);
-
-
- /*
- * Q3Object_IsType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Object_IsType(
- TQ3Object object,
- TQ3ObjectType theType);
-
-
-
- /******************************************************************************
- ** **
- ** Shared Object Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3Shared_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Shared_GetType(TQ3SharedObject sharedObject);
-
-
- /*
- * Q3Shared_GetReference()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3SharedObject)
- Q3Shared_GetReference(TQ3SharedObject sharedObject);
-
-
- /*
- * Q3Shared_IsReferenced
- * Returns kQ3True if there is more than one reference to sharedObject.
- * Returns kQ3False if there is ONE reference to sharedObject.
- *
- * This call is intended to allow applications and plug-in objects to delete
- * objects of which they hold THE ONLY REFERENCE. This is useful when
- * caching objects, etc.
- *
- * Although many may be tempted, DO NOT DO THIS:
- * while (Q3Shared_IsReferenced(foo)) { Q3Object_Dispose(foo); }
- *
- * Your application will crash and no one will buy it. Chapter 11 is
- * never fun (unless you short the stock). Thanks.
- */
- /*
- * Q3Shared_IsReferenced()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Shared_IsReferenced(TQ3SharedObject sharedObject);
-
-
- /*
- * Q3Shared_GetEditIndex
- * Returns the "serial number" of sharedObject. Usefuly for caching
- * object information. Returns 0 on error.
- *
- * Hold onto this number to determine if an object has changed since you
- * last built your caches... To validate, do:
- *
- * if (Q3Shared_GetEditIndex(foo) == oldFooEditIndex) {
- * // Cache is valid
- * } else {
- * // Cache is invalid
- * RebuildSomeSortOfCache(foo);
- * oldFooEditIndex = Q3Shared_GetEditIndex(foo);
- * }
- */
- /*
- * Q3Shared_GetEditIndex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- Q3Shared_GetEditIndex(TQ3SharedObject sharedObject);
-
-
- /*
- * Q3Shared_Edited
- * Bumps the "serial number" of sharedObject to a different value. This
- * call is intended to be used solely from a plug-in object which is
- * shared. Call this whenever your private instance data changes.
- *
- * Returns kQ3Failure iff sharedObject is not a shared object, OR
- * QuickDraw 3D isn't initialized.
- */
- /*
- * Q3Shared_Edited()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shared_Edited(TQ3SharedObject sharedObject);
-
-
-
- /******************************************************************************
- ** **
- ** Shape Routines **
- ** **
- *****************************************************************************/
- /*
- * QuickDraw 3D 1.5 Note:
- *
- * Shapes and Sets are now (sort of) polymorphic.
- *
- * You may call Q3Shape_Foo or Q3Set_Foo on a shape or a set.
- * The following calls are identical, in implementation:
- *
- * Q3Shape_GetElement = Q3Set_Get
- * Q3Shape_AddElement = Q3Set_Add
- * Q3Shape_ContainsElement = Q3Set_Contains
- * Q3Shape_GetNextElementType = Q3Set_GetNextElementType
- * Q3Shape_EmptyElements = Q3Set_Empty
- * Q3Shape_ClearElement = Q3Set_Clear
- *
- * All of these calls accept a shape or a set as their first parameter.
- *
- * The Q3Shape_GetSet and Q3ShapeSetSet calls are implemented via a new
- * element type kQ3ElementTypeSet. See the note above about
- * kQ3ElementTypeSet;
- *
- * It is important to note that the new Q3Shape_...Element... calls do not
- * create a set on a shape and then add the element to it. This data is
- * attached directly to the shape. Therefore, it is possible for an element
- * to exist on a shape without a set existing on it as well.
- *
- * In your application, if you attach an element to a shape like this:
- * (this isn't checking for errors for simplicity)
- *
- * set = Q3Set_New();
- * Q3Set_AddElement(set, kMyElemType, &data);
- * Q3Shape_SetSet(shape, set);
- *
- * You should retrieve it in the same manner:
- *
- * Q3Shape_GetSet(shape, &set);
- * if (Q3Set_Contains(set, kMyElemType) == kTrue) {
- * Q3Set_Get(set, kMyElemType, &data);
- * }
- *
- * Similarly, if you attach data to a shape with the new calls:
- *
- * Q3Shape_AddElement(shape, kMyElemType, &data);
- *
- * You should retrieve it in the same manner:
- *
- * if (Q3Shape_ContainsElement(set, kMyElemType) == kTrue) {
- * Q3Shape_GetElement(set, kMyElemType, &data);
- * }
- *
- * This really becomes an issue when dealing with version 1.0 and version 1.1
- * metafiles.
- *
- * When attempting to find a particular element on a shape, you should
- * first check with Q3Shape_GetNextElementType or Q3Shape_GetElement, then,
- * Q3Shape_GetSet(s, &set) (or Q3Shape_GetElement(s, kQ3ElementTypeSet, &set))
- * and then Q3Shape_GetElement(set, ...).
- *
- * In terms of implementation, Q3Shape_SetSet and Q3Shape_GetSet should only be
- * used for sets of information that are shared among multiple shapes.
- *
- * Q3Shape_AddElement, Q3Shape_GetElement, etc. calls should only be used
- * for elements that are unique for a particular shape.
- *
- */
- /*
- * Q3Shape_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Shape_GetType(TQ3ShapeObject shape);
-
-
- /*
- * Q3Shape_GetSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shape_GetSet(
- TQ3ShapeObject shape,
- TQ3SetObject * theSet);
-
-
- /*
- * Q3Shape_SetSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shape_SetSet(
- TQ3ShapeObject shape,
- TQ3SetObject theSet);
-
-
- /*
- * Q3Shape_AddElement()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shape_AddElement(
- TQ3ShapeObject shape,
- TQ3ElementType theType,
- const void * data);
-
-
- /*
- * Q3Shape_GetElement()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shape_GetElement(
- TQ3ShapeObject shape,
- TQ3ElementType theType,
- void * data);
-
-
- /*
- * Q3Shape_ContainsElement()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Shape_ContainsElement(
- TQ3ShapeObject shape,
- TQ3ElementType theType);
-
-
- /*
- * Q3Shape_GetNextElementType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shape_GetNextElementType(
- TQ3ShapeObject shape,
- TQ3ElementType * theType);
-
-
- /*
- * Q3Shape_EmptyElements()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shape_EmptyElements(TQ3ShapeObject shape);
-
-
- /*
- * Q3Shape_ClearElement()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shape_ClearElement(
- TQ3ShapeObject shape,
- TQ3ElementType theType);
-
-
-
- /******************************************************************************
- ** **
- ** Color Table Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3Bitmap_Empty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Bitmap_Empty(TQ3Bitmap * bitmap);
-
-
- /*
- * Q3Bitmap_GetImageSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- Q3Bitmap_GetImageSize(
- unsigned long width,
- unsigned long height);
+/*
+ * Q3ObjectHierarchy_GetSubClassData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ObjectHierarchy_GetSubClassData(
+ TQ3ObjectType objectClassType,
+ TQ3SubClassData * subClassData);
+
+
+/*
+ * Given an instance of the TQ3SubClassData struct free all memory allocated
+ * by the Q3ObjectClass_GetSubClassData call.
+ *
+ * NOTE: This call MUST be made after a call to Q3ObjectClass_GetSubClassData
+ * to avoid memory leaks.
+ */
+/*
+ * Q3ObjectHierarchy_EmptySubClassData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ObjectHierarchy_EmptySubClassData(TQ3SubClassData * subClassData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Object Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Object_Dispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Object_Dispose(TQ3Object object);
+
+
+/*
+ * Q3Object_Duplicate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Object )
+Q3Object_Duplicate(TQ3Object object);
+
+
+/*
+ * Q3Object_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Object_Submit(
+ TQ3Object object,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Object_IsDrawable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Object_IsDrawable(TQ3Object object);
+
+
+/*
+ * Q3Object_IsWritable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Object_IsWritable(
+ TQ3Object object,
+ TQ3FileObject theFile);
+
+
+
+/******************************************************************************
+ ** **
+ ** Object Type Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Object_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Object_GetType(TQ3Object object);
+
+
+/*
+ * Q3Object_GetLeafType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Object_GetLeafType(TQ3Object object);
+
+
+/*
+ * Q3Object_IsType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Object_IsType(
+ TQ3Object object,
+ TQ3ObjectType theType);
+
+
+
+/******************************************************************************
+ ** **
+ ** Shared Object Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Shared_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Shared_GetType(TQ3SharedObject sharedObject);
+
+
+/*
+ * Q3Shared_GetReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3SharedObject )
+Q3Shared_GetReference(TQ3SharedObject sharedObject);
+
+
+/*
+ * Q3Shared_IsReferenced
+ * Returns kQ3True if there is more than one reference to sharedObject.
+ * Returns kQ3False if there is ONE reference to sharedObject.
+ *
+ * This call is intended to allow applications and plug-in objects to delete
+ * objects of which they hold THE ONLY REFERENCE. This is useful when
+ * caching objects, etc.
+ *
+ * Although many may be tempted, DO NOT DO THIS:
+ * while (Q3Shared_IsReferenced(foo)) { Q3Object_Dispose(foo); }
+ *
+ * Your application will crash and no one will buy it. Chapter 11 is
+ * never fun (unless you short the stock). Thanks.
+ */
+/*
+ * Q3Shared_IsReferenced()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Shared_IsReferenced(TQ3SharedObject sharedObject);
+
+
+/*
+ * Q3Shared_GetEditIndex
+ * Returns the "serial number" of sharedObject. Usefuly for caching
+ * object information. Returns 0 on error.
+ *
+ * Hold onto this number to determine if an object has changed since you
+ * last built your caches... To validate, do:
+ *
+ * if (Q3Shared_GetEditIndex(foo) == oldFooEditIndex) {
+ * // Cache is valid
+ * } else {
+ * // Cache is invalid
+ * RebuildSomeSortOfCache(foo);
+ * oldFooEditIndex = Q3Shared_GetEditIndex(foo);
+ * }
+ */
+/*
+ * Q3Shared_GetEditIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+Q3Shared_GetEditIndex(TQ3SharedObject sharedObject);
+
+
+/*
+ * Q3Shared_Edited
+ * Bumps the "serial number" of sharedObject to a different value. This
+ * call is intended to be used solely from a plug-in object which is
+ * shared. Call this whenever your private instance data changes.
+ *
+ * Returns kQ3Failure iff sharedObject is not a shared object, OR
+ * QuickDraw 3D isn't initialized.
+ */
+/*
+ * Q3Shared_Edited()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shared_Edited(TQ3SharedObject sharedObject);
+
+
+
+/******************************************************************************
+ ** **
+ ** Shape Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * QuickDraw 3D 1.5 Note:
+ *
+ * Shapes and Sets are now (sort of) polymorphic.
+ *
+ * You may call Q3Shape_Foo or Q3Set_Foo on a shape or a set.
+ * The following calls are identical, in implementation:
+ *
+ * Q3Shape_GetElement = Q3Set_Get
+ * Q3Shape_AddElement = Q3Set_Add
+ * Q3Shape_ContainsElement = Q3Set_Contains
+ * Q3Shape_GetNextElementType = Q3Set_GetNextElementType
+ * Q3Shape_EmptyElements = Q3Set_Empty
+ * Q3Shape_ClearElement = Q3Set_Clear
+ *
+ * All of these calls accept a shape or a set as their first parameter.
+ *
+ * The Q3Shape_GetSet and Q3ShapeSetSet calls are implemented via a new
+ * element type kQ3ElementTypeSet. See the note above about
+ * kQ3ElementTypeSet;
+ *
+ * It is important to note that the new Q3Shape_...Element... calls do not
+ * create a set on a shape and then add the element to it. This data is
+ * attached directly to the shape. Therefore, it is possible for an element
+ * to exist on a shape without a set existing on it as well.
+ *
+ * In your application, if you attach an element to a shape like this:
+ * (this isn't checking for errors for simplicity)
+ *
+ * set = Q3Set_New();
+ * Q3Set_AddElement(set, kMyElemType, &data);
+ * Q3Shape_SetSet(shape, set);
+ *
+ * You should retrieve it in the same manner:
+ *
+ * Q3Shape_GetSet(shape, &set);
+ * if (Q3Set_Contains(set, kMyElemType) == kTrue) {
+ * Q3Set_Get(set, kMyElemType, &data);
+ * }
+ *
+ * Similarly, if you attach data to a shape with the new calls:
+ *
+ * Q3Shape_AddElement(shape, kMyElemType, &data);
+ *
+ * You should retrieve it in the same manner:
+ *
+ * if (Q3Shape_ContainsElement(set, kMyElemType) == kTrue) {
+ * Q3Shape_GetElement(set, kMyElemType, &data);
+ * }
+ *
+ * This really becomes an issue when dealing with version 1.0 and version 1.1
+ * metafiles.
+ *
+ * When attempting to find a particular element on a shape, you should
+ * first check with Q3Shape_GetNextElementType or Q3Shape_GetElement, then,
+ * Q3Shape_GetSet(s, &set) (or Q3Shape_GetElement(s, kQ3ElementTypeSet, &set))
+ * and then Q3Shape_GetElement(set, ...).
+ *
+ * In terms of implementation, Q3Shape_SetSet and Q3Shape_GetSet should only be
+ * used for sets of information that are shared among multiple shapes.
+ *
+ * Q3Shape_AddElement, Q3Shape_GetElement, etc. calls should only be used
+ * for elements that are unique for a particular shape.
+ *
+ */
+/*
+ * Q3Shape_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Shape_GetType(TQ3ShapeObject shape);
+
+
+/*
+ * Q3Shape_GetSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shape_GetSet(
+ TQ3ShapeObject shape,
+ TQ3SetObject * theSet);
+
+
+/*
+ * Q3Shape_SetSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shape_SetSet(
+ TQ3ShapeObject shape,
+ TQ3SetObject theSet);
+
+
+/*
+ * Q3Shape_AddElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shape_AddElement(
+ TQ3ShapeObject shape,
+ TQ3ElementType theType,
+ const void * data);
+
+
+/*
+ * Q3Shape_GetElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shape_GetElement(
+ TQ3ShapeObject shape,
+ TQ3ElementType theType,
+ void * data);
+
+
+/*
+ * Q3Shape_ContainsElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Shape_ContainsElement(
+ TQ3ShapeObject shape,
+ TQ3ElementType theType);
+
+
+/*
+ * Q3Shape_GetNextElementType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shape_GetNextElementType(
+ TQ3ShapeObject shape,
+ TQ3ElementType * theType);
+
+
+/*
+ * Q3Shape_EmptyElements()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shape_EmptyElements(TQ3ShapeObject shape);
+
+
+/*
+ * Q3Shape_ClearElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shape_ClearElement(
+ TQ3ShapeObject shape,
+ TQ3ElementType theType);
+
+
+
+/******************************************************************************
+ ** **
+ ** Color Table Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Bitmap_Empty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Bitmap_Empty(TQ3Bitmap * bitmap);
+
+
+/*
+ * Q3Bitmap_GetImageSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+Q3Bitmap_GetImageSize(
+ unsigned long width,
+ unsigned long height);
@@ -1532,22 +1491,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3D__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3D__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3D__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DCamera.h b/include/qt/QD3DCamera.h
index cdef14e10..c174ec77c 100644
--- a/include/qt/QD3DCamera.h
+++ b/include/qt/QD3DCamera.h
@@ -1,18 +1,18 @@
/*
File: QD3DCamera.h
-
+
Contains: Generic camera routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DCAMERA__
#define __QD3DCAMERA__
@@ -37,750 +37,743 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DCAMERA__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DCAMERA__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DCAMERA__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DCAMERA__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Data Structure Definitions **
- ** **
- *****************************************************************************/
- /*
- * The placement of the camera.
- */
- struct TQ3CameraPlacement
- {
- TQ3Point3D cameraLocation; /* Location point of the camera */
- TQ3Point3D pointOfInterest; /* Point of interest */
- TQ3Vector3D upVector; /* "up" vector */
- };
- typedef struct TQ3CameraPlacement TQ3CameraPlacement;
- /*
- * The range of the camera.
- */
- struct TQ3CameraRange
- {
- float hither; /* Hither plane, measured from "from" towards "to" */
- float yon; /* Yon plane, measured from "from" towards "to" */
- };
- typedef struct TQ3CameraRange TQ3CameraRange;
- /*
- * Viewport specification. Origin is (-1, 1), and corresponds to the
- * upper left-hand corner; width and height maximum is (2.0, 2.0),
- * corresponding to the lower left-hand corner of the window. The
- * TQ3Viewport specifies a part of the viewPlane that gets displayed
- * on the window that is to be drawn.
- * Normally, it is set with an origin of (-1.0, 1.0), and a width and
- * height of both 2.0, specifying that the entire window is to be
- * drawn. If, for example, an exposure event of the window exposed
- * the right half of the window, you would set the origin to (0, 1),
- * and the width and height to (1.0) and (2.0), respectively.
- *
- */
- struct TQ3CameraViewPort
- {
- TQ3Point2D origin;
- float width;
- float height;
- };
- typedef struct TQ3CameraViewPort TQ3CameraViewPort;
- struct TQ3CameraData
- {
- TQ3CameraPlacement placement;
- TQ3CameraRange range;
- TQ3CameraViewPort viewPort;
- };
- typedef struct TQ3CameraData TQ3CameraData;
- /*
- * An orthographic camera.
- *
- * The lens characteristics are set with the dimensions of a
- * rectangular viewPort in the frame of the camera.
- */
- struct TQ3OrthographicCameraData
- {
- TQ3CameraData cameraData;
- float left;
- float top;
- float right;
- float bottom;
- };
- typedef struct TQ3OrthographicCameraData TQ3OrthographicCameraData;
- /*
- * A perspective camera specified in terms of an arbitrary view plane.
- *
- * This is most useful when setting the camera to look at a particular
- * object. The viewPlane is set to distance from the camera to the object.
- * The halfWidth is set to half the width of the cross section of the object,
- * and the halfHeight equal to the halfWidth divided by the aspect ratio
- * of the viewPort.
- *
- * This is the only perspective camera with specifications for off-axis
- * viewing, which is desirable for scrolling.
- */
- struct TQ3ViewPlaneCameraData
- {
- TQ3CameraData cameraData;
- float viewPlane;
- float halfWidthAtViewPlane;
- float halfHeightAtViewPlane;
- float centerXOnViewPlane;
- float centerYOnViewPlane;
- };
- typedef struct TQ3ViewPlaneCameraData TQ3ViewPlaneCameraData;
- /*
- * A view angle aspect camera is a perspective camera specified in
- * terms of the minimum view angle and the aspect ratio of X to Y.
- *
- */
- struct TQ3ViewAngleAspectCameraData
- {
- TQ3CameraData cameraData;
- float fov;
- float aspectRatioXToY;
- };
- typedef struct TQ3ViewAngleAspectCameraData TQ3ViewAngleAspectCameraData;
- /******************************************************************************
- ** **
- ** Generic Camera routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Data Structure Definitions **
+ ** **
+ *****************************************************************************/
+/*
+ * The placement of the camera.
+ */
+struct TQ3CameraPlacement {
+ TQ3Point3D cameraLocation; /* Location point of the camera */
+ TQ3Point3D pointOfInterest; /* Point of interest */
+ TQ3Vector3D upVector; /* "up" vector */
+};
+typedef struct TQ3CameraPlacement TQ3CameraPlacement;
+/*
+ * The range of the camera.
+ */
+struct TQ3CameraRange {
+ float hither; /* Hither plane, measured from "from" towards "to" */
+ float yon; /* Yon plane, measured from "from" towards "to" */
+};
+typedef struct TQ3CameraRange TQ3CameraRange;
+/*
+ * Viewport specification. Origin is (-1, 1), and corresponds to the
+ * upper left-hand corner; width and height maximum is (2.0, 2.0),
+ * corresponding to the lower left-hand corner of the window. The
+ * TQ3Viewport specifies a part of the viewPlane that gets displayed
+ * on the window that is to be drawn.
+ * Normally, it is set with an origin of (-1.0, 1.0), and a width and
+ * height of both 2.0, specifying that the entire window is to be
+ * drawn. If, for example, an exposure event of the window exposed
+ * the right half of the window, you would set the origin to (0, 1),
+ * and the width and height to (1.0) and (2.0), respectively.
+ *
+ */
+struct TQ3CameraViewPort {
+ TQ3Point2D origin;
+ float width;
+ float height;
+};
+typedef struct TQ3CameraViewPort TQ3CameraViewPort;
+struct TQ3CameraData {
+ TQ3CameraPlacement placement;
+ TQ3CameraRange range;
+ TQ3CameraViewPort viewPort;
+};
+typedef struct TQ3CameraData TQ3CameraData;
+/*
+ * An orthographic camera.
+ *
+ * The lens characteristics are set with the dimensions of a
+ * rectangular viewPort in the frame of the camera.
+ */
+struct TQ3OrthographicCameraData {
+ TQ3CameraData cameraData;
+ float left;
+ float top;
+ float right;
+ float bottom;
+};
+typedef struct TQ3OrthographicCameraData TQ3OrthographicCameraData;
+/*
+ * A perspective camera specified in terms of an arbitrary view plane.
+ *
+ * This is most useful when setting the camera to look at a particular
+ * object. The viewPlane is set to distance from the camera to the object.
+ * The halfWidth is set to half the width of the cross section of the object,
+ * and the halfHeight equal to the halfWidth divided by the aspect ratio
+ * of the viewPort.
+ *
+ * This is the only perspective camera with specifications for off-axis
+ * viewing, which is desirable for scrolling.
+ */
+struct TQ3ViewPlaneCameraData {
+ TQ3CameraData cameraData;
+ float viewPlane;
+ float halfWidthAtViewPlane;
+ float halfHeightAtViewPlane;
+ float centerXOnViewPlane;
+ float centerYOnViewPlane;
+};
+typedef struct TQ3ViewPlaneCameraData TQ3ViewPlaneCameraData;
+/*
+ * A view angle aspect camera is a perspective camera specified in
+ * terms of the minimum view angle and the aspect ratio of X to Y.
+ *
+ */
+struct TQ3ViewAngleAspectCameraData {
+ TQ3CameraData cameraData;
+ float fov;
+ float aspectRatioXToY;
+};
+typedef struct TQ3ViewAngleAspectCameraData TQ3ViewAngleAspectCameraData;
+/******************************************************************************
+ ** **
+ ** Generic Camera routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Camera_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Camera_GetType(TQ3CameraObject camera);
-
-
- /*
- * Q3Camera_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_SetData(
- TQ3CameraObject camera,
- const TQ3CameraData * cameraData);
-
-
- /*
- * Q3Camera_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_GetData(
- TQ3CameraObject camera,
- TQ3CameraData * cameraData);
-
-
- /*
- * Q3Camera_SetPlacement()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_SetPlacement(
- TQ3CameraObject camera,
- const TQ3CameraPlacement * placement);
-
-
- /*
- * Q3Camera_GetPlacement()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_GetPlacement(
- TQ3CameraObject camera,
- TQ3CameraPlacement * placement);
-
-
- /*
- * Q3Camera_SetRange()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_SetRange(
- TQ3CameraObject camera,
- const TQ3CameraRange * range);
-
-
- /*
- * Q3Camera_GetRange()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_GetRange(
- TQ3CameraObject camera,
- TQ3CameraRange * range);
-
-
- /*
- * Q3Camera_SetViewPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_SetViewPort(
- TQ3CameraObject camera,
- const TQ3CameraViewPort * viewPort);
-
-
- /*
- * Q3Camera_GetViewPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_GetViewPort(
- TQ3CameraObject camera,
- TQ3CameraViewPort * viewPort);
-
-
- /*
- * Q3Camera_GetWorldToView()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_GetWorldToView(
- TQ3CameraObject camera,
- TQ3Matrix4x4 * worldToView);
-
-
- /*
- * Q3Camera_GetWorldToFrustum()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_GetWorldToFrustum(
- TQ3CameraObject camera,
- TQ3Matrix4x4 * worldToFrustum);
-
-
- /*
- * Q3Camera_GetViewToFrustum()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Camera_GetViewToFrustum(
- TQ3CameraObject camera,
- TQ3Matrix4x4 * viewToFrustum);
-
-
-
- /******************************************************************************
- ** **
- ** Specific Camera Routines **
- ** **
- *****************************************************************************/
- /******************************************************************************
- ** **
- ** Orthographic Camera **
- ** **
- *****************************************************************************/
- /*
- * Q3OrthographicCamera_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3CameraObject)
- Q3OrthographicCamera_New(const TQ3OrthographicCameraData * orthographicData);
-
-
- /*
- * Q3OrthographicCamera_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_GetData(
- TQ3CameraObject camera,
- TQ3OrthographicCameraData * cameraData);
-
-
- /*
- * Q3OrthographicCamera_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_SetData(
- TQ3CameraObject camera,
- const TQ3OrthographicCameraData * cameraData);
-
-
- /*
- * Q3OrthographicCamera_SetLeft()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_SetLeft(
- TQ3CameraObject camera,
- float left);
-
-
- /*
- * Q3OrthographicCamera_GetLeft()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_GetLeft(
- TQ3CameraObject camera,
- float * left);
-
-
- /*
- * Q3OrthographicCamera_SetTop()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_SetTop(
- TQ3CameraObject camera,
- float top);
-
-
- /*
- * Q3OrthographicCamera_GetTop()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_GetTop(
- TQ3CameraObject camera,
- float * top);
-
-
- /*
- * Q3OrthographicCamera_SetRight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_SetRight(
- TQ3CameraObject camera,
- float right);
-
-
- /*
- * Q3OrthographicCamera_GetRight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_GetRight(
- TQ3CameraObject camera,
- float * right);
-
-
- /*
- * Q3OrthographicCamera_SetBottom()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_SetBottom(
- TQ3CameraObject camera,
- float bottom);
-
-
- /*
- * Q3OrthographicCamera_GetBottom()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrthographicCamera_GetBottom(
- TQ3CameraObject camera,
- float * bottom);
-
-
-
- /******************************************************************************
- ** **
- ** ViewPlane Camera **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewPlaneCamera_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3CameraObject)
- Q3ViewPlaneCamera_New(const TQ3ViewPlaneCameraData * cameraData);
-
-
- /*
- * Q3ViewPlaneCamera_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_GetData(
- TQ3CameraObject camera,
- TQ3ViewPlaneCameraData * cameraData);
-
-
- /*
- * Q3ViewPlaneCamera_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_SetData(
- TQ3CameraObject camera,
- const TQ3ViewPlaneCameraData * cameraData);
-
-
- /*
- * Q3ViewPlaneCamera_SetViewPlane()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_SetViewPlane(
- TQ3CameraObject camera,
- float viewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_GetViewPlane()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_GetViewPlane(
- TQ3CameraObject camera,
- float * viewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_SetHalfWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_SetHalfWidth(
- TQ3CameraObject camera,
- float halfWidthAtViewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_GetHalfWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_GetHalfWidth(
- TQ3CameraObject camera,
- float * halfWidthAtViewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_SetHalfHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_SetHalfHeight(
- TQ3CameraObject camera,
- float halfHeightAtViewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_GetHalfHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_GetHalfHeight(
- TQ3CameraObject camera,
- float * halfHeightAtViewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_SetCenterX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_SetCenterX(
- TQ3CameraObject camera,
- float centerXOnViewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_GetCenterX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_GetCenterX(
- TQ3CameraObject camera,
- float * centerXOnViewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_SetCenterY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_SetCenterY(
- TQ3CameraObject camera,
- float centerYOnViewPlane);
-
-
- /*
- * Q3ViewPlaneCamera_GetCenterY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewPlaneCamera_GetCenterY(
- TQ3CameraObject camera,
- float * centerYOnViewPlane);
-
-
-
- /******************************************************************************
- ** **
- ** View Angle Aspect Camera **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewAngleAspectCamera_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3CameraObject)
- Q3ViewAngleAspectCamera_New(const TQ3ViewAngleAspectCameraData * cameraData);
-
-
- /*
- * Q3ViewAngleAspectCamera_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewAngleAspectCamera_SetData(
- TQ3CameraObject camera,
- const TQ3ViewAngleAspectCameraData * cameraData);
-
-
- /*
- * Q3ViewAngleAspectCamera_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewAngleAspectCamera_GetData(
- TQ3CameraObject camera,
- TQ3ViewAngleAspectCameraData * cameraData);
-
-
- /*
- * Q3ViewAngleAspectCamera_SetFOV()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewAngleAspectCamera_SetFOV(
- TQ3CameraObject camera,
- float fov);
-
-
- /*
- * Q3ViewAngleAspectCamera_GetFOV()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewAngleAspectCamera_GetFOV(
- TQ3CameraObject camera,
- float * fov);
-
-
- /*
- * Q3ViewAngleAspectCamera_SetAspectRatio()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewAngleAspectCamera_SetAspectRatio(
- TQ3CameraObject camera,
- float aspectRatioXToY);
-
-
- /*
- * Q3ViewAngleAspectCamera_GetAspectRatio()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewAngleAspectCamera_GetAspectRatio(
- TQ3CameraObject camera,
- float * aspectRatioXToY);
+/*
+ * Q3Camera_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Camera_GetType(TQ3CameraObject camera);
+
+
+/*
+ * Q3Camera_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_SetData(
+ TQ3CameraObject camera,
+ const TQ3CameraData * cameraData);
+
+
+/*
+ * Q3Camera_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_GetData(
+ TQ3CameraObject camera,
+ TQ3CameraData * cameraData);
+
+
+/*
+ * Q3Camera_SetPlacement()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_SetPlacement(
+ TQ3CameraObject camera,
+ const TQ3CameraPlacement * placement);
+
+
+/*
+ * Q3Camera_GetPlacement()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_GetPlacement(
+ TQ3CameraObject camera,
+ TQ3CameraPlacement * placement);
+
+
+/*
+ * Q3Camera_SetRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_SetRange(
+ TQ3CameraObject camera,
+ const TQ3CameraRange * range);
+
+
+/*
+ * Q3Camera_GetRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_GetRange(
+ TQ3CameraObject camera,
+ TQ3CameraRange * range);
+
+
+/*
+ * Q3Camera_SetViewPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_SetViewPort(
+ TQ3CameraObject camera,
+ const TQ3CameraViewPort * viewPort);
+
+
+/*
+ * Q3Camera_GetViewPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_GetViewPort(
+ TQ3CameraObject camera,
+ TQ3CameraViewPort * viewPort);
+
+
+/*
+ * Q3Camera_GetWorldToView()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_GetWorldToView(
+ TQ3CameraObject camera,
+ TQ3Matrix4x4 * worldToView);
+
+
+/*
+ * Q3Camera_GetWorldToFrustum()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_GetWorldToFrustum(
+ TQ3CameraObject camera,
+ TQ3Matrix4x4 * worldToFrustum);
+
+
+/*
+ * Q3Camera_GetViewToFrustum()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Camera_GetViewToFrustum(
+ TQ3CameraObject camera,
+ TQ3Matrix4x4 * viewToFrustum);
+
+
+
+/******************************************************************************
+ ** **
+ ** Specific Camera Routines **
+ ** **
+ *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Orthographic Camera **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3OrthographicCamera_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3CameraObject )
+Q3OrthographicCamera_New(const TQ3OrthographicCameraData * orthographicData);
+
+
+/*
+ * Q3OrthographicCamera_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_GetData(
+ TQ3CameraObject camera,
+ TQ3OrthographicCameraData * cameraData);
+
+
+/*
+ * Q3OrthographicCamera_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_SetData(
+ TQ3CameraObject camera,
+ const TQ3OrthographicCameraData * cameraData);
+
+
+/*
+ * Q3OrthographicCamera_SetLeft()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_SetLeft(
+ TQ3CameraObject camera,
+ float left);
+
+
+/*
+ * Q3OrthographicCamera_GetLeft()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_GetLeft(
+ TQ3CameraObject camera,
+ float * left);
+
+
+/*
+ * Q3OrthographicCamera_SetTop()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_SetTop(
+ TQ3CameraObject camera,
+ float top);
+
+
+/*
+ * Q3OrthographicCamera_GetTop()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_GetTop(
+ TQ3CameraObject camera,
+ float * top);
+
+
+/*
+ * Q3OrthographicCamera_SetRight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_SetRight(
+ TQ3CameraObject camera,
+ float right);
+
+
+/*
+ * Q3OrthographicCamera_GetRight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_GetRight(
+ TQ3CameraObject camera,
+ float * right);
+
+
+/*
+ * Q3OrthographicCamera_SetBottom()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_SetBottom(
+ TQ3CameraObject camera,
+ float bottom);
+
+
+/*
+ * Q3OrthographicCamera_GetBottom()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrthographicCamera_GetBottom(
+ TQ3CameraObject camera,
+ float * bottom);
+
+
+
+/******************************************************************************
+ ** **
+ ** ViewPlane Camera **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewPlaneCamera_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3CameraObject )
+Q3ViewPlaneCamera_New(const TQ3ViewPlaneCameraData * cameraData);
+
+
+/*
+ * Q3ViewPlaneCamera_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_GetData(
+ TQ3CameraObject camera,
+ TQ3ViewPlaneCameraData * cameraData);
+
+
+/*
+ * Q3ViewPlaneCamera_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_SetData(
+ TQ3CameraObject camera,
+ const TQ3ViewPlaneCameraData * cameraData);
+
+
+/*
+ * Q3ViewPlaneCamera_SetViewPlane()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_SetViewPlane(
+ TQ3CameraObject camera,
+ float viewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_GetViewPlane()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_GetViewPlane(
+ TQ3CameraObject camera,
+ float * viewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_SetHalfWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_SetHalfWidth(
+ TQ3CameraObject camera,
+ float halfWidthAtViewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_GetHalfWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_GetHalfWidth(
+ TQ3CameraObject camera,
+ float * halfWidthAtViewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_SetHalfHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_SetHalfHeight(
+ TQ3CameraObject camera,
+ float halfHeightAtViewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_GetHalfHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_GetHalfHeight(
+ TQ3CameraObject camera,
+ float * halfHeightAtViewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_SetCenterX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_SetCenterX(
+ TQ3CameraObject camera,
+ float centerXOnViewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_GetCenterX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_GetCenterX(
+ TQ3CameraObject camera,
+ float * centerXOnViewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_SetCenterY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_SetCenterY(
+ TQ3CameraObject camera,
+ float centerYOnViewPlane);
+
+
+/*
+ * Q3ViewPlaneCamera_GetCenterY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewPlaneCamera_GetCenterY(
+ TQ3CameraObject camera,
+ float * centerYOnViewPlane);
+
+
+
+/******************************************************************************
+ ** **
+ ** View Angle Aspect Camera **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewAngleAspectCamera_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3CameraObject )
+Q3ViewAngleAspectCamera_New(const TQ3ViewAngleAspectCameraData * cameraData);
+
+
+/*
+ * Q3ViewAngleAspectCamera_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewAngleAspectCamera_SetData(
+ TQ3CameraObject camera,
+ const TQ3ViewAngleAspectCameraData * cameraData);
+
+
+/*
+ * Q3ViewAngleAspectCamera_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewAngleAspectCamera_GetData(
+ TQ3CameraObject camera,
+ TQ3ViewAngleAspectCameraData * cameraData);
+
+
+/*
+ * Q3ViewAngleAspectCamera_SetFOV()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewAngleAspectCamera_SetFOV(
+ TQ3CameraObject camera,
+ float fov);
+
+
+/*
+ * Q3ViewAngleAspectCamera_GetFOV()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewAngleAspectCamera_GetFOV(
+ TQ3CameraObject camera,
+ float * fov);
+
+
+/*
+ * Q3ViewAngleAspectCamera_SetAspectRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewAngleAspectCamera_SetAspectRatio(
+ TQ3CameraObject camera,
+ float aspectRatioXToY);
+
+
+/*
+ * Q3ViewAngleAspectCamera_GetAspectRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewAngleAspectCamera_GetAspectRatio(
+ TQ3CameraObject camera,
+ float * aspectRatioXToY);
@@ -790,22 +783,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DCAMERA__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DCAMERA__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DCAMERA__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DCustomElements.h b/include/qt/QD3DCustomElements.h
index efc4d9a7e..9ab62bee8 100644
--- a/include/qt/QD3DCustomElements.h
+++ b/include/qt/QD3DCustomElements.h
@@ -1,18 +1,18 @@
/*
File: QD3DCustomElements.h
-
+
Contains: Custom QuickTime Elements in QuickDraw 3D
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DCUSTOMELEMENTS__
#define __QD3DCUSTOMELEMENTS__
@@ -41,202 +41,200 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DCUSTOMELEMENTS__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DCUSTOMELEMENTS__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DCUSTOMELEMENTS__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DCUSTOMELEMENTS__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Name Data Structure Definitions **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Name Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#define CEcNameElementName "Apple Computer, Inc.:NameElement"
- /******************************************************************************
- ** **
- ** Custom Name Element Functions **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Custom Name Element Functions **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * CENameElement_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CENameElement_SetData(
- TQ3Object object,
- const char * name);
-
-
- /*
- * CENameElement_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CENameElement_GetData(
- TQ3Object object,
- char ** name);
-
-
- /*
- * CENameElement_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CENameElement_EmptyData(char ** name);
-
-
-
- /******************************************************************************
- ** **
- ** URL Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * CENameElement_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CENameElement_SetData(
+ TQ3Object object,
+ const char * name);
+
+
+/*
+ * CENameElement_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CENameElement_GetData(
+ TQ3Object object,
+ char ** name);
+
+
+/*
+ * CENameElement_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CENameElement_EmptyData(char ** name);
+
+
+
+/******************************************************************************
+ ** **
+ ** URL Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#define CEcUrlElementName "Apple Computer, Inc.:URLElement"
#endif /* CALL_NOT_IN_CARBON */
- enum TCEUrlOptions
- {
- kCEUrlOptionNone = 0,
- kCEUrlOptionUseMap = 1
- };
- typedef enum TCEUrlOptions TCEUrlOptions;
-
- struct TCEUrlData
- {
- char * url;
- char * description;
- TCEUrlOptions options;
- };
- typedef struct TCEUrlData TCEUrlData;
- /******************************************************************************
- ** **
- ** Custom URL Element Functions **
- ** **
- *****************************************************************************/
+enum TCEUrlOptions {
+ kCEUrlOptionNone = 0,
+ kCEUrlOptionUseMap = 1
+};
+typedef enum TCEUrlOptions TCEUrlOptions;
+
+struct TCEUrlData {
+ char * url;
+ char * description;
+ TCEUrlOptions options;
+};
+typedef struct TCEUrlData TCEUrlData;
+/******************************************************************************
+ ** **
+ ** Custom URL Element Functions **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * CEUrlElement_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CEUrlElement_SetData(
- TQ3Object object,
- TCEUrlData * urlData);
-
-
- /*
- * CEUrlElement_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CEUrlElement_GetData(
- TQ3Object object,
- TCEUrlData ** urlData);
-
-
- /*
- * CEUrlElement_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CEUrlElement_EmptyData(TCEUrlData ** urlData);
-
-
- /******************************************************************************
- ** **
- ** Wire Data Definitions **
- ** **
- *****************************************************************************/
+/*
+ * CEUrlElement_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CEUrlElement_SetData(
+ TQ3Object object,
+ TCEUrlData * urlData);
+
+
+/*
+ * CEUrlElement_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CEUrlElement_GetData(
+ TQ3Object object,
+ TCEUrlData ** urlData);
+
+
+/*
+ * CEUrlElement_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CEUrlElement_EmptyData(TCEUrlData ** urlData);
+
+
+/******************************************************************************
+ ** **
+ ** Wire Data Definitions **
+ ** **
+ *****************************************************************************/
#define CEcWireElementName "Apple Computer, Inc.:WireElement"
- /******************************************************************************
- ** **
- ** Wire Custom Element Functions **
- ** **
- *****************************************************************************/
- /*
- * CEWireElement_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CEWireElement_SetData(
- TQ3Object object,
- QTAtomContainer wireData);
-
-
- /*
- * CEWireElement_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CEWireElement_GetData(
- TQ3Object object,
- QTAtomContainer * wireData);
-
-
- /*
- * CEWireElement_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- CEWireElement_EmptyData(QTAtomContainer * wireData);
+/******************************************************************************
+ ** **
+ ** Wire Custom Element Functions **
+ ** **
+ *****************************************************************************/
+/*
+ * CEWireElement_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CEWireElement_SetData(
+ TQ3Object object,
+ QTAtomContainer wireData);
+
+
+/*
+ * CEWireElement_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CEWireElement_GetData(
+ TQ3Object object,
+ QTAtomContainer * wireData);
+
+
+/*
+ * CEWireElement_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+CEWireElement_EmptyData(QTAtomContainer * wireData);
@@ -245,22 +243,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DCUSTOMELEMENTS__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DCUSTOMELEMENTS__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DCUSTOMELEMENTS__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DDrawContext.h b/include/qt/QD3DDrawContext.h
index b4b6429d7..92bb46eed 100644
--- a/include/qt/QD3DDrawContext.h
+++ b/include/qt/QD3DDrawContext.h
@@ -1,18 +1,18 @@
/*
File: QD3DDrawContext.h
-
+
Contains: Draw context class types and routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3DDRAWCONTEXT__
#define __QD3DDRAWCONTEXT__
@@ -39,25 +39,25 @@
#if TARGET_OS_UNIX
-#include "X11/Xlib.h"
-#include "X11/Xutil.h"
+ #include "X11/Xlib.h"
+ #include "X11/Xutil.h"
#endif /* TARGET_OS_WIN32 */
#if TARGET_OS_WIN32
-/******************************************************************************
- * **
- * ABOUT QD3D_NO_DIRECTDRAW: (Win32 Only) **
- * **
- * NOTE: Define QD3D_NO_DIRECTDRAW for your application makefile/project **
- * only if you don't need Q3DDSurfaceDrawContext support and don't **
- * have access to ddraw.h. **
- * **
- *****************************************************************************/
-#include "windows.h"
-#if !defined(QD3D_NO_DIRECTDRAW)
-#include "ddraw.h"
-#endif /* !QD3D_NO_DIRECTDRAW */
+ /******************************************************************************
+ * **
+ * ABOUT QD3D_NO_DIRECTDRAW: (Win32 Only) **
+ * **
+ * NOTE: Define QD3D_NO_DIRECTDRAW for your application makefile/project **
+ * only if you don't need Q3DDSurfaceDrawContext support and don't **
+ * have access to ddraw.h. **
+ * **
+ *****************************************************************************/
+ #include "windows.h"
+ #if !defined(QD3D_NO_DIRECTDRAW)
+ #include "ddraw.h"
+ #endif /* !QD3D_NO_DIRECTDRAW */
#endif /* TARGET_OS_WIN32 */
@@ -75,351 +75,349 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DDRAWCONTEXT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DDRAWCONTEXT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DDRAWCONTEXT__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DDRAWCONTEXT__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** DrawContext Data Structures **
- ** **
- *****************************************************************************/
- enum TQ3DrawContextClearImageMethod {
- kQ3ClearMethodNone = 0,
- kQ3ClearMethodWithColor = 1
- };
- typedef enum TQ3DrawContextClearImageMethod TQ3DrawContextClearImageMethod;
-
-
- struct TQ3DrawContextData
- {
- TQ3DrawContextClearImageMethod clearImageMethod;
- TQ3ColorARGB clearImageColor;
- TQ3Area pane;
- TQ3Boolean paneState;
- TQ3Bitmap mask;
- TQ3Boolean maskState;
- TQ3Boolean doubleBufferState;
- };
- typedef struct TQ3DrawContextData TQ3DrawContextData;
- /******************************************************************************
- ** **
- ** DrawContext Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** DrawContext Data Structures **
+ ** **
+ *****************************************************************************/
+enum TQ3DrawContextClearImageMethod {
+ kQ3ClearMethodNone = 0,
+ kQ3ClearMethodWithColor = 1
+};
+typedef enum TQ3DrawContextClearImageMethod TQ3DrawContextClearImageMethod;
+
+
+struct TQ3DrawContextData {
+ TQ3DrawContextClearImageMethod clearImageMethod;
+ TQ3ColorARGB clearImageColor;
+ TQ3Area pane;
+ TQ3Boolean paneState;
+ TQ3Bitmap mask;
+ TQ3Boolean maskState;
+ TQ3Boolean doubleBufferState;
+};
+typedef struct TQ3DrawContextData TQ3DrawContextData;
+/******************************************************************************
+ ** **
+ ** DrawContext Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3DrawContext_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3DrawContext_GetType(TQ3DrawContextObject drawContext);
-
-
- /*
- * Q3DrawContext_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_SetData(
- TQ3DrawContextObject context,
- const TQ3DrawContextData * contextData);
-
-
- /*
- * Q3DrawContext_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_GetData(
- TQ3DrawContextObject context,
- TQ3DrawContextData * contextData);
-
-
- /*
- * Q3DrawContext_SetClearImageColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_SetClearImageColor(
- TQ3DrawContextObject context,
- const TQ3ColorARGB * color);
-
-
- /*
- * Q3DrawContext_GetClearImageColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_GetClearImageColor(
- TQ3DrawContextObject context,
- TQ3ColorARGB * color);
-
-
- /*
- * Q3DrawContext_SetPane()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_SetPane(
- TQ3DrawContextObject context,
- const TQ3Area * pane);
-
-
- /*
- * Q3DrawContext_GetPane()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_GetPane(
- TQ3DrawContextObject context,
- TQ3Area * pane);
-
-
- /*
- * Q3DrawContext_SetPaneState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_SetPaneState(
- TQ3DrawContextObject context,
- TQ3Boolean state);
-
-
- /*
- * Q3DrawContext_GetPaneState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_GetPaneState(
- TQ3DrawContextObject context,
- TQ3Boolean * state);
-
-
- /*
- * Q3DrawContext_SetClearImageMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_SetClearImageMethod(
- TQ3DrawContextObject context,
- TQ3DrawContextClearImageMethod method);
-
-
- /*
- * Q3DrawContext_GetClearImageMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_GetClearImageMethod(
- TQ3DrawContextObject context,
- TQ3DrawContextClearImageMethod * method);
-
-
- /*
- * Q3DrawContext_SetMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_SetMask(
- TQ3DrawContextObject context,
- const TQ3Bitmap * mask);
-
-
- /*
- * Q3DrawContext_GetMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_GetMask(
- TQ3DrawContextObject context,
- TQ3Bitmap * mask);
-
-
- /*
- * Q3DrawContext_SetMaskState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_SetMaskState(
- TQ3DrawContextObject context,
- TQ3Boolean state);
-
-
- /*
- * Q3DrawContext_GetMaskState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_GetMaskState(
- TQ3DrawContextObject context,
- TQ3Boolean * state);
-
-
- /*
- * Q3DrawContext_SetDoubleBufferState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_SetDoubleBufferState(
- TQ3DrawContextObject context,
- TQ3Boolean state);
-
-
- /*
- * Q3DrawContext_GetDoubleBufferState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DrawContext_GetDoubleBufferState(
- TQ3DrawContextObject context,
- TQ3Boolean * state);
-
-
-
- /******************************************************************************
- ** **
- ** Pixmap Data Structure **
- ** **
- *****************************************************************************/
+/*
+ * Q3DrawContext_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3DrawContext_GetType(TQ3DrawContextObject drawContext);
+
+
+/*
+ * Q3DrawContext_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_SetData(
+ TQ3DrawContextObject context,
+ const TQ3DrawContextData * contextData);
+
+
+/*
+ * Q3DrawContext_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_GetData(
+ TQ3DrawContextObject context,
+ TQ3DrawContextData * contextData);
+
+
+/*
+ * Q3DrawContext_SetClearImageColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_SetClearImageColor(
+ TQ3DrawContextObject context,
+ const TQ3ColorARGB * color);
+
+
+/*
+ * Q3DrawContext_GetClearImageColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_GetClearImageColor(
+ TQ3DrawContextObject context,
+ TQ3ColorARGB * color);
+
+
+/*
+ * Q3DrawContext_SetPane()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_SetPane(
+ TQ3DrawContextObject context,
+ const TQ3Area * pane);
+
+
+/*
+ * Q3DrawContext_GetPane()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_GetPane(
+ TQ3DrawContextObject context,
+ TQ3Area * pane);
+
+
+/*
+ * Q3DrawContext_SetPaneState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_SetPaneState(
+ TQ3DrawContextObject context,
+ TQ3Boolean state);
+
+
+/*
+ * Q3DrawContext_GetPaneState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_GetPaneState(
+ TQ3DrawContextObject context,
+ TQ3Boolean * state);
+
+
+/*
+ * Q3DrawContext_SetClearImageMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_SetClearImageMethod(
+ TQ3DrawContextObject context,
+ TQ3DrawContextClearImageMethod method);
+
+
+/*
+ * Q3DrawContext_GetClearImageMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_GetClearImageMethod(
+ TQ3DrawContextObject context,
+ TQ3DrawContextClearImageMethod * method);
+
+
+/*
+ * Q3DrawContext_SetMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_SetMask(
+ TQ3DrawContextObject context,
+ const TQ3Bitmap * mask);
+
+
+/*
+ * Q3DrawContext_GetMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_GetMask(
+ TQ3DrawContextObject context,
+ TQ3Bitmap * mask);
+
+
+/*
+ * Q3DrawContext_SetMaskState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_SetMaskState(
+ TQ3DrawContextObject context,
+ TQ3Boolean state);
+
+
+/*
+ * Q3DrawContext_GetMaskState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_GetMaskState(
+ TQ3DrawContextObject context,
+ TQ3Boolean * state);
+
+
+/*
+ * Q3DrawContext_SetDoubleBufferState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_SetDoubleBufferState(
+ TQ3DrawContextObject context,
+ TQ3Boolean state);
+
+
+/*
+ * Q3DrawContext_GetDoubleBufferState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DrawContext_GetDoubleBufferState(
+ TQ3DrawContextObject context,
+ TQ3Boolean * state);
+
+
+
+/******************************************************************************
+ ** **
+ ** Pixmap Data Structure **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3PixmapDrawContextData
- {
- TQ3DrawContextData drawContextData;
- TQ3Pixmap pixmap;
- };
- typedef struct TQ3PixmapDrawContextData TQ3PixmapDrawContextData;
- /******************************************************************************
- ** **
- ** Pixmap DrawContext Routines **
- ** **
- *****************************************************************************/
+struct TQ3PixmapDrawContextData {
+ TQ3DrawContextData drawContextData;
+ TQ3Pixmap pixmap;
+};
+typedef struct TQ3PixmapDrawContextData TQ3PixmapDrawContextData;
+/******************************************************************************
+ ** **
+ ** Pixmap DrawContext Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3PixmapDrawContext_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3DrawContextObject)
- Q3PixmapDrawContext_New(const TQ3PixmapDrawContextData * contextData);
-
-
- /*
- * Q3PixmapDrawContext_SetPixmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapDrawContext_SetPixmap(
- TQ3DrawContextObject drawContext,
- const TQ3Pixmap * pixmap);
-
-
- /*
- * Q3PixmapDrawContext_GetPixmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapDrawContext_GetPixmap(
- TQ3DrawContextObject drawContext,
- TQ3Pixmap * pixmap);
+/*
+ * Q3PixmapDrawContext_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3DrawContextObject )
+Q3PixmapDrawContext_New(const TQ3PixmapDrawContextData * contextData);
+
+
+/*
+ * Q3PixmapDrawContext_SetPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapDrawContext_SetPixmap(
+ TQ3DrawContextObject drawContext,
+ const TQ3Pixmap * pixmap);
+
+
+/*
+ * Q3PixmapDrawContext_GetPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapDrawContext_GetPixmap(
+ TQ3DrawContextObject drawContext,
+ TQ3Pixmap * pixmap);
@@ -427,157 +425,155 @@ extern "C" {
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_OS_MAC
- /******************************************************************************
- ** **
- ** Macintosh DrawContext Data Structures **
- ** **
- *****************************************************************************/
- enum TQ3MacDrawContext2DLibrary
- {
- kQ3Mac2DLibraryNone = 0,
- kQ3Mac2DLibraryQuickDraw = 1,
- kQ3Mac2DLibraryQuickDrawGX = 2
- };
- typedef enum TQ3MacDrawContext2DLibrary TQ3MacDrawContext2DLibrary;
-
-
- struct TQ3MacDrawContextData
- {
- TQ3DrawContextData drawContextData;
- CWindowPtr window;
- TQ3MacDrawContext2DLibrary library;
- gxViewPort viewPort;
- CGrafPtr grafPort;
- };
- typedef struct TQ3MacDrawContextData TQ3MacDrawContextData;
- /******************************************************************************
- ** **
- ** Macintosh DrawContext Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Macintosh DrawContext Data Structures **
+ ** **
+ *****************************************************************************/
+enum TQ3MacDrawContext2DLibrary {
+ kQ3Mac2DLibraryNone = 0,
+ kQ3Mac2DLibraryQuickDraw = 1,
+ kQ3Mac2DLibraryQuickDrawGX = 2
+};
+typedef enum TQ3MacDrawContext2DLibrary TQ3MacDrawContext2DLibrary;
+
+
+struct TQ3MacDrawContextData {
+ TQ3DrawContextData drawContextData;
+ CWindowPtr window;
+ TQ3MacDrawContext2DLibrary library;
+ gxViewPort viewPort;
+ CGrafPtr grafPort;
+};
+typedef struct TQ3MacDrawContextData TQ3MacDrawContextData;
+/******************************************************************************
+ ** **
+ ** Macintosh DrawContext Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3MacDrawContext_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3DrawContextObject)
- Q3MacDrawContext_New(const TQ3MacDrawContextData * drawContextData);
-
-
- /*
- * Q3MacDrawContext_SetWindow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacDrawContext_SetWindow(
- TQ3DrawContextObject drawContext,
- CWindowPtr window);
-
-
- /*
- * Q3MacDrawContext_GetWindow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacDrawContext_GetWindow(
- TQ3DrawContextObject drawContext,
- CWindowPtr * window);
-
-
- /*
- * Q3MacDrawContext_SetGXViewPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacDrawContext_SetGXViewPort(
- TQ3DrawContextObject drawContext,
- gxViewPort viewPort);
-
-
- /*
- * Q3MacDrawContext_GetGXViewPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacDrawContext_GetGXViewPort(
- TQ3DrawContextObject drawContext,
- gxViewPort * viewPort);
-
-
- /*
- * Q3MacDrawContext_SetGrafPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacDrawContext_SetGrafPort(
- TQ3DrawContextObject drawContext,
- CGrafPtr grafPort);
-
-
- /*
- * Q3MacDrawContext_GetGrafPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacDrawContext_GetGrafPort(
- TQ3DrawContextObject drawContext,
- CGrafPtr * grafPort);
-
-
- /*
- * Q3MacDrawContext_Set2DLibrary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacDrawContext_Set2DLibrary(
- TQ3DrawContextObject drawContext,
- TQ3MacDrawContext2DLibrary library);
-
-
- /*
- * Q3MacDrawContext_Get2DLibrary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacDrawContext_Get2DLibrary(
- TQ3DrawContextObject drawContext,
- TQ3MacDrawContext2DLibrary * library);
+/*
+ * Q3MacDrawContext_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3DrawContextObject )
+Q3MacDrawContext_New(const TQ3MacDrawContextData * drawContextData);
+
+
+/*
+ * Q3MacDrawContext_SetWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacDrawContext_SetWindow(
+ TQ3DrawContextObject drawContext,
+ CWindowPtr window);
+
+
+/*
+ * Q3MacDrawContext_GetWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacDrawContext_GetWindow(
+ TQ3DrawContextObject drawContext,
+ CWindowPtr * window);
+
+
+/*
+ * Q3MacDrawContext_SetGXViewPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacDrawContext_SetGXViewPort(
+ TQ3DrawContextObject drawContext,
+ gxViewPort viewPort);
+
+
+/*
+ * Q3MacDrawContext_GetGXViewPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacDrawContext_GetGXViewPort(
+ TQ3DrawContextObject drawContext,
+ gxViewPort * viewPort);
+
+
+/*
+ * Q3MacDrawContext_SetGrafPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacDrawContext_SetGrafPort(
+ TQ3DrawContextObject drawContext,
+ CGrafPtr grafPort);
+
+
+/*
+ * Q3MacDrawContext_GetGrafPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacDrawContext_GetGrafPort(
+ TQ3DrawContextObject drawContext,
+ CGrafPtr * grafPort);
+
+
+/*
+ * Q3MacDrawContext_Set2DLibrary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacDrawContext_Set2DLibrary(
+ TQ3DrawContextObject drawContext,
+ TQ3MacDrawContext2DLibrary library);
+
+
+/*
+ * Q3MacDrawContext_Get2DLibrary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacDrawContext_Get2DLibrary(
+ TQ3DrawContextObject drawContext,
+ TQ3MacDrawContext2DLibrary * library);
#endif /* CALL_NOT_IN_CARBON */
@@ -585,80 +581,78 @@ extern "C" {
#endif /* TARGET_OS_MAC */
#if TARGET_OS_UNIX
- /******************************************************************************
- ** **
- ** X/Windows DrawContext Data Structures **
- ** **
- *****************************************************************************/
- typedef struct OpaqueTQ3XBufferObject* TQ3XBufferObject;
- struct TQ3XColormapData
- {
- long baseEntry;
- long maxRed;
- long maxGreen;
- long maxBlue;
- long multRed;
- long multGreen;
- long multBlue;
- };
- typedef struct TQ3XColormapData TQ3XColormapData;
- struct TQ3XDrawContextData
- {
- TQ3DrawContextData contextData;
- Display * display;
- Drawable drawable;
- Visual * visual;
- Colormap cmap;
- TQ3XColormapData * colorMapData;
- };
- typedef struct TQ3XDrawContextData TQ3XDrawContextData;
- /******************************************************************************
- ** **
- ** X/Windows DrawContext Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** X/Windows DrawContext Data Structures **
+ ** **
+ *****************************************************************************/
+typedef struct OpaqueTQ3XBufferObject* TQ3XBufferObject;
+struct TQ3XColormapData {
+ long baseEntry;
+ long maxRed;
+ long maxGreen;
+ long maxBlue;
+ long multRed;
+ long multGreen;
+ long multBlue;
+};
+typedef struct TQ3XColormapData TQ3XColormapData;
+struct TQ3XDrawContextData {
+ TQ3DrawContextData contextData;
+ Display * display;
+ Drawable drawable;
+ Visual * visual;
+ Colormap cmap;
+ TQ3XColormapData * colorMapData;
+};
+typedef struct TQ3XDrawContextData TQ3XDrawContextData;
+/******************************************************************************
+ ** **
+ ** X/Windows DrawContext Routines **
+ ** **
+ *****************************************************************************/
#ifdef XDC_OLD
#if CALL_NOT_IN_CARBON
- /*
- * Q3XDrawContext_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3DrawContextObject)
- Q3XDrawContext_New(void);
-
-
- /*
- * Q3XDrawContext_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- Q3XDrawContext_Set(
- TQ3DrawContextObject drawContext,
- unsigned long flag,
- void * data);
-
-
- /*
- * Q3XDrawContext_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- Q3XDrawContext_Get(
- TQ3DrawContextObject drawContext,
- unsigned long flag,
- void * data);
+/*
+ * Q3XDrawContext_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3DrawContextObject )
+Q3XDrawContext_New(void);
+
+
+/*
+ * Q3XDrawContext_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+Q3XDrawContext_Set(
+ TQ3DrawContextObject drawContext,
+ unsigned long flag,
+ void * data);
+
+
+/*
+ * Q3XDrawContext_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+Q3XDrawContext_Get(
+ TQ3DrawContextObject drawContext,
+ unsigned long flag,
+ void * data);
#endif /* CALL_NOT_IN_CARBON */
@@ -666,200 +660,200 @@ extern "C" {
#endif /* defined(XDC_OLD) */
#if CALL_NOT_IN_CARBON
- /*
- * Q3XBuffers_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3XBufferObject)
- Q3XBuffers_New(
- Display * dpy,
- unsigned long numBuffers,
- Window window);
-
-
- /*
- * Q3XBuffers_Swap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- Q3XBuffers_Swap(
- Display * dpy,
- TQ3XBufferObject buffers);
-
-
- /*
- * Q3X_GetVisualInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(XVisualInfo *)
- Q3X_GetVisualInfo(
- Display * dpy,
- Screen * screen);
-
-
-
- /*
- * Q3XDrawContext_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3DrawContextObject)
- Q3XDrawContext_New(const TQ3XDrawContextData * xContextData);
-
-
- /*
- * Q3XDrawContext_SetDisplay()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_SetDisplay(
- TQ3DrawContextObject drawContext,
- const Display * display);
-
-
- /*
- * Q3XDrawContext_GetDisplay()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_GetDisplay(
- TQ3DrawContextObject drawContext,
- Display ** display);
-
-
- /*
- * Q3XDrawContext_SetDrawable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_SetDrawable(
- TQ3DrawContextObject drawContext,
- Drawable drawable);
-
-
- /*
- * Q3XDrawContext_GetDrawable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_GetDrawable(
- TQ3DrawContextObject drawContext,
- Drawable * drawable);
-
-
- /*
- * Q3XDrawContext_SetVisual()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_SetVisual(
- TQ3DrawContextObject drawContext,
- const Visual * visual);
-
-
- /*
- * Q3XDrawContext_GetVisual()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_GetVisual(
- TQ3DrawContextObject drawContext,
- Visual ** visual);
-
-
- /*
- * Q3XDrawContext_SetColormap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_SetColormap(
- TQ3DrawContextObject drawContext,
- Colormap colormap);
-
-
- /*
- * Q3XDrawContext_GetColormap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_GetColormap(
- TQ3DrawContextObject drawContext,
- Colormap * colormap);
-
-
- /*
- * Q3XDrawContext_SetColormapData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_SetColormapData(
- TQ3DrawContextObject drawContext,
- const TQ3XColormapData * colormapData);
-
-
- /*
- * Q3XDrawContext_GetColormapData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_GetColormapData(
- TQ3DrawContextObject drawContext,
- TQ3XColormapData * colormapData);
+/*
+ * Q3XBuffers_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3XBufferObject )
+Q3XBuffers_New(
+ Display * dpy,
+ unsigned long numBuffers,
+ Window window);
+
+
+/*
+ * Q3XBuffers_Swap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+Q3XBuffers_Swap(
+ Display * dpy,
+ TQ3XBufferObject buffers);
+
+
+/*
+ * Q3X_GetVisualInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( XVisualInfo * )
+Q3X_GetVisualInfo(
+ Display * dpy,
+ Screen * screen);
+
+
+
+/*
+ * Q3XDrawContext_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3DrawContextObject )
+Q3XDrawContext_New(const TQ3XDrawContextData * xContextData);
+
+
+/*
+ * Q3XDrawContext_SetDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_SetDisplay(
+ TQ3DrawContextObject drawContext,
+ const Display * display);
+
+
+/*
+ * Q3XDrawContext_GetDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_GetDisplay(
+ TQ3DrawContextObject drawContext,
+ Display ** display);
+
+
+/*
+ * Q3XDrawContext_SetDrawable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_SetDrawable(
+ TQ3DrawContextObject drawContext,
+ Drawable drawable);
+
+
+/*
+ * Q3XDrawContext_GetDrawable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_GetDrawable(
+ TQ3DrawContextObject drawContext,
+ Drawable * drawable);
+
+
+/*
+ * Q3XDrawContext_SetVisual()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_SetVisual(
+ TQ3DrawContextObject drawContext,
+ const Visual * visual);
+
+
+/*
+ * Q3XDrawContext_GetVisual()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_GetVisual(
+ TQ3DrawContextObject drawContext,
+ Visual ** visual);
+
+
+/*
+ * Q3XDrawContext_SetColormap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_SetColormap(
+ TQ3DrawContextObject drawContext,
+ Colormap colormap);
+
+
+/*
+ * Q3XDrawContext_GetColormap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_GetColormap(
+ TQ3DrawContextObject drawContext,
+ Colormap * colormap);
+
+
+/*
+ * Q3XDrawContext_SetColormapData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_SetColormapData(
+ TQ3DrawContextObject drawContext,
+ const TQ3XColormapData * colormapData);
+
+
+/*
+ * Q3XDrawContext_GetColormapData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_GetColormapData(
+ TQ3DrawContextObject drawContext,
+ TQ3XColormapData * colormapData);
#endif /* CALL_NOT_IN_CARBON */
@@ -867,153 +861,148 @@ extern "C" {
#endif /* TARGET_OS_UNIX */
#if TARGET_OS_WIN32
- /******************************************************************************
- ** **
- ** Win32 DrawContext Data Structures **
- ** **
- *****************************************************************************/
- struct TQ3Win32DCDrawContextData
- {
- TQ3DrawContextData drawContextData;
- HDC hdc;
- };
- typedef struct TQ3Win32DCDrawContextData TQ3Win32DCDrawContextData;
+/******************************************************************************
+ ** **
+ ** Win32 DrawContext Data Structures **
+ ** **
+ *****************************************************************************/
+struct TQ3Win32DCDrawContextData {
+ TQ3DrawContextData drawContextData;
+ HDC hdc;
+};
+typedef struct TQ3Win32DCDrawContextData TQ3Win32DCDrawContextData;
#ifndef QD3D_NO_DIRECTDRAW
- enum TQ3DirectDrawObjectSelector
- {
- kQ3DirectDrawObject = 1,
- kQ3DirectDrawObject2 = 2
- };
- typedef enum TQ3DirectDrawObjectSelector TQ3DirectDrawObjectSelector;
-
- enum TQ3DirectDrawSurfaceSelector
- {
- kQ3DirectDrawSurface = 1,
- kQ3DirectDrawSurface2 = 2
- };
- typedef enum TQ3DirectDrawSurfaceSelector TQ3DirectDrawSurfaceSelector;
-
-
- struct TQ3DDSurfaceDescriptor
- {
- TQ3DirectDrawObjectSelector objectSelector;
- union
- {
- LPDIRECTDRAW lpDirectDraw;
- LPDIRECTDRAW2 lpDirectDraw2;
- };
-
- TQ3DirectDrawSurfaceSelector surfaceSelector;
- union
- {
- LPDIRECTDRAWSURFACE lpDirectDrawSurface;
- LPDIRECTDRAWSURFACE2 lpDirectDrawSurface2;
- };
- };
- typedef struct TQ3DDSurfaceDescriptor TQ3DDSurfaceDescriptor;
-
- struct TQ3DDSurfaceDrawContextData
- {
- TQ3DrawContextData drawContextData;
- TQ3DDSurfaceDescriptor ddSurfaceDescriptor;
- };
- typedef struct TQ3DDSurfaceDrawContextData TQ3DDSurfaceDrawContextData;
+enum TQ3DirectDrawObjectSelector {
+ kQ3DirectDrawObject = 1,
+ kQ3DirectDrawObject2 = 2
+};
+typedef enum TQ3DirectDrawObjectSelector TQ3DirectDrawObjectSelector;
+
+enum TQ3DirectDrawSurfaceSelector {
+ kQ3DirectDrawSurface = 1,
+ kQ3DirectDrawSurface2 = 2
+};
+typedef enum TQ3DirectDrawSurfaceSelector TQ3DirectDrawSurfaceSelector;
+
+
+struct TQ3DDSurfaceDescriptor {
+ TQ3DirectDrawObjectSelector objectSelector;
+ union
+ {
+ LPDIRECTDRAW lpDirectDraw;
+ LPDIRECTDRAW2 lpDirectDraw2;
+ };
+
+ TQ3DirectDrawSurfaceSelector surfaceSelector;
+ union
+ {
+ LPDIRECTDRAWSURFACE lpDirectDrawSurface;
+ LPDIRECTDRAWSURFACE2 lpDirectDrawSurface2;
+ };
+};
+typedef struct TQ3DDSurfaceDescriptor TQ3DDSurfaceDescriptor;
+
+struct TQ3DDSurfaceDrawContextData {
+ TQ3DrawContextData drawContextData;
+ TQ3DDSurfaceDescriptor ddSurfaceDescriptor;
+};
+typedef struct TQ3DDSurfaceDrawContextData TQ3DDSurfaceDrawContextData;
#endif /* !defined(QD3D_NO_DIRECTDRAW) */
- /******************************************************************************
- ** **
- ** Win32DC DrawContext Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Win32DC DrawContext Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Win32DCDrawContext_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3DrawContextObject)
- Q3Win32DCDrawContext_New(const TQ3Win32DCDrawContextData * drawContextData);
-
-
- /*
- * Q3Win32DCDrawContext_SetDC()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Win32DCDrawContext_SetDC(
- TQ3DrawContextObject drawContext,
- HDC newHDC);
-
-
- /*
- * Q3Win32DCDrawContext_GetDC()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Win32DCDrawContext_GetDC(
- TQ3DrawContextObject drawContext,
- HDC * curHDC);
-
-
- /******************************************************************************
- ** **
- ** DDSurface DrawContext Routines **
- ** **
- *****************************************************************************/
+/*
+ * Q3Win32DCDrawContext_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3DrawContextObject )
+Q3Win32DCDrawContext_New(const TQ3Win32DCDrawContextData * drawContextData);
+
+
+/*
+ * Q3Win32DCDrawContext_SetDC()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Win32DCDrawContext_SetDC(
+ TQ3DrawContextObject drawContext,
+ HDC newHDC);
+
+
+/*
+ * Q3Win32DCDrawContext_GetDC()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Win32DCDrawContext_GetDC(
+ TQ3DrawContextObject drawContext,
+ HDC * curHDC);
+
+
+/******************************************************************************
+ ** **
+ ** DDSurface DrawContext Routines **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
#ifndef QD3D_NO_DIRECTDRAW
#if CALL_NOT_IN_CARBON
- /*
- * Q3DDSurfaceDrawContext_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3DrawContextObject)
- Q3DDSurfaceDrawContext_New(const TQ3DDSurfaceDrawContextData * drawContextData);
-
-
- /*
- * Q3DDSurfaceDrawContext_SetDirectDrawSurface()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DDSurfaceDrawContext_SetDirectDrawSurface(
- TQ3DrawContextObject drawContext,
- const TQ3DDSurfaceDescriptor * ddSurfaceDescriptor);
-
-
- /*
- * Q3DDSurfaceDrawContext_GetDirectDrawSurface()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DDSurfaceDrawContext_GetDirectDrawSurface(
- TQ3DrawContextObject drawContext,
- TQ3DDSurfaceDescriptor * ddSurfaceDescriptor);
+/*
+ * Q3DDSurfaceDrawContext_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3DrawContextObject )
+Q3DDSurfaceDrawContext_New(const TQ3DDSurfaceDrawContextData * drawContextData);
+
+
+/*
+ * Q3DDSurfaceDrawContext_SetDirectDrawSurface()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DDSurfaceDrawContext_SetDirectDrawSurface(
+ TQ3DrawContextObject drawContext,
+ const TQ3DDSurfaceDescriptor * ddSurfaceDescriptor);
+
+
+/*
+ * Q3DDSurfaceDrawContext_GetDirectDrawSurface()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DDSurfaceDrawContext_GetDirectDrawSurface(
+ TQ3DrawContextObject drawContext,
+ TQ3DDSurfaceDescriptor * ddSurfaceDescriptor);
#endif /* CALL_NOT_IN_CARBON */
@@ -1027,22 +1016,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DDRAWCONTEXT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DDRAWCONTEXT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DDRAWCONTEXT__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DErrors.h b/include/qt/QD3DErrors.h
index 7c38c3205..d28d9e6ee 100644
--- a/include/qt/QD3DErrors.h
+++ b/include/qt/QD3DErrors.h
@@ -1,18 +1,18 @@
/*
File: QD3DErrors.h
-
+
Contains: Error API and error codes
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DERRORS__
#define __QD3DERRORS__
@@ -44,344 +44,342 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DERRORS__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DERRORS__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DERRORS__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DERRORS__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Error Types and Codes **
- ** **
- *****************************************************************************/
- enum TQ3Error {
- kQ3ErrorNone = 0, /* Fatal Errors */
- kQ3ErrorInternalError = -28500,
- kQ3ErrorNoRecovery = -28499,
- kQ3ErrorLastFatalError = -28498, /* System Errors */
- kQ3ErrorNotInitialized = -28490,
- kQ3ErrorAlreadyInitialized = -28489,
- kQ3ErrorUnimplemented = -28488,
- kQ3ErrorRegistrationFailed = -28487, /* OS Errors */
- kQ3ErrorUnixError = -28486,
- kQ3ErrorMacintoshError = -28485,
- kQ3ErrorX11Error = -28484, /* Memory Errors */
- kQ3ErrorMemoryLeak = -28483,
- kQ3ErrorOutOfMemory = -28482, /* Parameter errors */
- kQ3ErrorNULLParameter = -28481,
- kQ3ErrorParameterOutOfRange = -28480,
- kQ3ErrorInvalidParameter = -28479,
- kQ3ErrorInvalidData = -28478,
- kQ3ErrorAcceleratorAlreadySet = -28477,
- kQ3ErrorVector3DNotUnitLength = -28476,
- kQ3ErrorVector3DZeroLength = -28475, /* Object Errors */
- kQ3ErrorInvalidObject = -28474,
- kQ3ErrorInvalidObjectClass = -28473,
- kQ3ErrorInvalidObjectType = -28472,
- kQ3ErrorInvalidObjectName = -28471,
- kQ3ErrorObjectClassInUse = -28470,
- kQ3ErrorAccessRestricted = -28469,
- kQ3ErrorMetaHandlerRequired = -28468,
- kQ3ErrorNeedRequiredMethods = -28467,
- kQ3ErrorNoSubClassType = -28466,
- kQ3ErrorUnknownElementType = -28465,
- kQ3ErrorNotSupported = -28464, /* Extension Errors */
- kQ3ErrorNoExtensionsFolder = -28463,
- kQ3ErrorExtensionError = -28462,
- kQ3ErrorPrivateExtensionError = -28461, /* Geometry Errors */
- kQ3ErrorDegenerateGeometry = -28460,
- kQ3ErrorGeometryInsufficientNumberOfPoints = -28459, /* IO Errors */
- kQ3ErrorNoStorageSetForFile = -28458,
- kQ3ErrorEndOfFile = -28457,
- kQ3ErrorFileCancelled = -28456,
- kQ3ErrorInvalidMetafile = -28455,
- kQ3ErrorInvalidMetafilePrimitive = -28454,
- kQ3ErrorInvalidMetafileLabel = -28453,
- kQ3ErrorInvalidMetafileObject = -28452,
- kQ3ErrorInvalidMetafileSubObject = -28451,
- kQ3ErrorInvalidSubObjectForObject = -28450,
- kQ3ErrorUnresolvableReference = -28449,
- kQ3ErrorUnknownObject = -28448,
- kQ3ErrorStorageInUse = -28447,
- kQ3ErrorStorageAlreadyOpen = -28446,
- kQ3ErrorStorageNotOpen = -28445,
- kQ3ErrorStorageIsOpen = -28444,
- kQ3ErrorFileAlreadyOpen = -28443,
- kQ3ErrorFileNotOpen = -28442,
- kQ3ErrorFileIsOpen = -28441,
- kQ3ErrorBeginWriteAlreadyCalled = -28440,
- kQ3ErrorBeginWriteNotCalled = -28439,
- kQ3ErrorEndWriteNotCalled = -28438,
- kQ3ErrorReadStateInactive = -28437,
- kQ3ErrorStateUnavailable = -28436,
- kQ3ErrorWriteStateInactive = -28435,
- kQ3ErrorSizeNotLongAligned = -28434,
- kQ3ErrorFileModeRestriction = -28433,
- kQ3ErrorInvalidHexString = -28432,
- kQ3ErrorWroteMoreThanSize = -28431,
- kQ3ErrorWroteLessThanSize = -28430,
- kQ3ErrorReadLessThanSize = -28429,
- kQ3ErrorReadMoreThanSize = -28428,
- kQ3ErrorNoBeginGroup = -28427,
- kQ3ErrorSizeMismatch = -28426,
- kQ3ErrorStringExceedsMaximumLength = -28425,
- kQ3ErrorValueExceedsMaximumSize = -28424,
- kQ3ErrorNonUniqueLabel = -28423,
- kQ3ErrorEndOfContainer = -28422,
- kQ3ErrorUnmatchedEndGroup = -28421,
- kQ3ErrorFileVersionExists = -28420, /* View errors */
- kQ3ErrorViewNotStarted = -28419,
- kQ3ErrorViewIsStarted = -28418,
- kQ3ErrorRendererNotSet = -28417,
- kQ3ErrorRenderingIsActive = -28416,
- kQ3ErrorImmediateModeUnderflow = -28415,
- kQ3ErrorDisplayNotSet = -28414,
- kQ3ErrorCameraNotSet = -28413,
- kQ3ErrorDrawContextNotSet = -28412,
- kQ3ErrorNonInvertibleMatrix = -28411,
- kQ3ErrorRenderingNotStarted = -28410,
- kQ3ErrorPickingNotStarted = -28409,
- kQ3ErrorBoundsNotStarted = -28408,
- kQ3ErrorDataNotAvailable = -28407,
- kQ3ErrorNothingToPop = -28406, /* Renderer Errors */
- kQ3ErrorUnknownStudioType = -28405,
- kQ3ErrorAlreadyRendering = -28404,
- kQ3ErrorStartGroupRange = -28403,
- kQ3ErrorUnsupportedGeometryType = -28402,
- kQ3ErrorInvalidGeometryType = -28401,
- kQ3ErrorUnsupportedFunctionality = -28400, /* Group Errors */
- kQ3ErrorInvalidPositionForGroup = -28399,
- kQ3ErrorInvalidObjectForGroup = -28398,
- kQ3ErrorInvalidObjectForPosition = -28397, /* Transform Errors */
- kQ3ErrorScaleOfZero = -28396, /* String Errors */
- kQ3ErrorBadStringType = -28395, /* Attribute Errors */
- kQ3ErrorAttributeNotContained = -28394,
- kQ3ErrorAttributeInvalidType = -28393, /* Camera Errors */
- kQ3ErrorInvalidCameraValues = -28392, /* DrawContext Errors */
- kQ3ErrorBadDrawContextType = -28391,
- kQ3ErrorBadDrawContextFlag = -28390,
- kQ3ErrorBadDrawContext = -28389,
- kQ3ErrorUnsupportedPixelDepth = -28388, /* Controller Errors */
- kQ3ErrorController = -28387, /* Tracker Errors */
- kQ3ErrorTracker = -28386, /* Another OS Error */
- kQ3ErrorWin32Error = -28385, /* Object Errors */
- kQ3ErrorTypeAlreadyExistsAndHasSubclasses = -28384,
- kQ3ErrorTypeAlreadyExistsAndOtherClassesDependOnIt = -28383,
- kQ3ErrorTypeAlreadyExistsAndHasObjectInstances = -28382, /* submit loop errors: if you ever get one of these check the previous*/
- /* error posted, it may be kQ3ErrorOutOfMemory. If so you *may* be able*/
- /* to recover by freeing up some memory and trying again*/
- kQ3ErrorPickingLoopFailed = -28381,
- kQ3ErrorRenderingLoopFailed = -28380,
- kQ3ErrorWritingLoopFailed = -28379,
- kQ3ErrorBoundingLoopFailed = -28378
- };
- typedef enum TQ3Error TQ3Error;
-
- enum TQ3Warning
- {
- kQ3WarningNone = 0, /* General System */
- kQ3WarningInternalException = -28300, /* Object Warnings */
- kQ3WarningNoObjectSupportForDuplicateMethod = -28299,
- kQ3WarningNoObjectSupportForDrawMethod = -28298,
- kQ3WarningNoObjectSupportForWriteMethod = -28297,
- kQ3WarningNoObjectSupportForReadMethod = -28296,
- kQ3WarningUnknownElementType = -28295,
- kQ3WarningTypeAndMethodAlreadyDefined = -28294,
- kQ3WarningTypeIsOutOfRange = -28293,
- kQ3WarningTypeHasNotBeenRegistered = -28292, /* Parameter Warnings */
- kQ3WarningVector3DNotUnitLength = -28291, /* IO Warnings */
- kQ3WarningInvalidSubObjectForObject = -28290,
- kQ3WarningInvalidHexString = -28289,
- kQ3WarningUnknownObject = -28288,
- kQ3WarningInvalidMetafileObject = -28287,
- kQ3WarningUnmatchedBeginGroup = -28286,
- kQ3WarningUnmatchedEndGroup = -28285,
- kQ3WarningInvalidTableOfContents = -28284,
- kQ3WarningUnresolvableReference = -28283,
- kQ3WarningNoAttachMethod = -28282,
- kQ3WarningInconsistentData = -28281,
- kQ3WarningReadLessThanSize = -28280,
- kQ3WarningFilePointerResolutionFailed = -28279,
- kQ3WarningFilePointerRedefined = -28278,
- kQ3WarningStringExceedsMaximumLength = -28277, /* Memory Warnings */
- kQ3WarningLowMemory = -28276,
- kQ3WarningPossibleMemoryLeak = -28275, /* View Warnings */
- kQ3WarningViewTraversalInProgress = -28274,
- kQ3WarningNonInvertibleMatrix = -28273, /* Quaternion Warning */
- kQ3WarningQuaternionEntriesAreZero = -28272, /* Renderer Warning */
- kQ3WarningFunctionalityNotSupported = -28271, /* DrawContext Warning */
- kQ3WarningInvalidPaneDimensions = -28270, /* Pick Warning */
- kQ3WarningPickParamOutside = -28269, /* Scale Warnings */
- kQ3WarningScaleEntriesAllZero = -28268,
- kQ3WarningScaleContainsNegativeEntries = -28267, /* Generic Warnings */
- kQ3WarningParameterOutOfRange = -28266, /* Extension Warnings */
- kQ3WarningExtensionNotLoading = -28265, /* Object Warnings */
- kQ3WarningTypeAlreadyRegistered = -28264,
- kQ3WarningTypeSameVersionAlreadyRegistered = -28263,
- kQ3WarningTypeNewerVersionAlreadyRegistered = -28262, /* Invalid Group Object */
- kQ3WarningInvalidObjectInGroupMetafile = -28261
- };
- typedef enum TQ3Warning TQ3Warning;
-
-
- enum TQ3Notice
- {
- kQ3NoticeNone = 0,
- kQ3NoticeDataAlreadyEmpty = -28100,
- kQ3NoticeMethodNotSupported = -28099,
- kQ3NoticeObjectAlreadySet = -28098,
- kQ3NoticeParameterOutOfRange = -28097,
- kQ3NoticeFileAliasWasChanged = -28096,
- kQ3NoticeMeshVertexHasNoComponent = -28095,
- kQ3NoticeMeshInvalidVertexFacePair = -28094,
- kQ3NoticeMeshEdgeVertexDoNotCorrespond = -28093,
- kQ3NoticeMeshEdgeIsNotBoundary = -28092,
- kQ3NoticeDrawContextNotSetUsingInternalDefaults = -28091,
- kQ3NoticeInvalidAttenuationTypeUsingInternalDefaults = -28090,
- kQ3NoticeBrightnessGreaterThanOne = -28089,
- kQ3NoticeScaleContainsZeroEntries = -28088,
- kQ3NoticeSystemAlreadyInitialized = -28087,
- kQ3NoticeViewSyncCalledAgain = -28086,
- kQ3NoticeFileCancelled = -28085
- };
- typedef enum TQ3Notice TQ3Notice;
-
- typedef CALLBACK_API_C(void , TQ3ErrorMethod)(TQ3Error firstError, TQ3Error lastError, long reference);
- typedef CALLBACK_API_C(void , TQ3WarningMethod)(TQ3Warning firstWarning, TQ3Warning lastWarning, long reference);
- typedef CALLBACK_API_C(void , TQ3NoticeMethod)(TQ3Notice firstNotice, TQ3Notice lastNotice, long reference);
- /******************************************************************************
- ** **
- ** Error Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Error Types and Codes **
+ ** **
+ *****************************************************************************/
+enum TQ3Error {
+ kQ3ErrorNone = 0, /* Fatal Errors */
+ kQ3ErrorInternalError = -28500,
+ kQ3ErrorNoRecovery = -28499,
+ kQ3ErrorLastFatalError = -28498, /* System Errors */
+ kQ3ErrorNotInitialized = -28490,
+ kQ3ErrorAlreadyInitialized = -28489,
+ kQ3ErrorUnimplemented = -28488,
+ kQ3ErrorRegistrationFailed = -28487, /* OS Errors */
+ kQ3ErrorUnixError = -28486,
+ kQ3ErrorMacintoshError = -28485,
+ kQ3ErrorX11Error = -28484, /* Memory Errors */
+ kQ3ErrorMemoryLeak = -28483,
+ kQ3ErrorOutOfMemory = -28482, /* Parameter errors */
+ kQ3ErrorNULLParameter = -28481,
+ kQ3ErrorParameterOutOfRange = -28480,
+ kQ3ErrorInvalidParameter = -28479,
+ kQ3ErrorInvalidData = -28478,
+ kQ3ErrorAcceleratorAlreadySet = -28477,
+ kQ3ErrorVector3DNotUnitLength = -28476,
+ kQ3ErrorVector3DZeroLength = -28475, /* Object Errors */
+ kQ3ErrorInvalidObject = -28474,
+ kQ3ErrorInvalidObjectClass = -28473,
+ kQ3ErrorInvalidObjectType = -28472,
+ kQ3ErrorInvalidObjectName = -28471,
+ kQ3ErrorObjectClassInUse = -28470,
+ kQ3ErrorAccessRestricted = -28469,
+ kQ3ErrorMetaHandlerRequired = -28468,
+ kQ3ErrorNeedRequiredMethods = -28467,
+ kQ3ErrorNoSubClassType = -28466,
+ kQ3ErrorUnknownElementType = -28465,
+ kQ3ErrorNotSupported = -28464, /* Extension Errors */
+ kQ3ErrorNoExtensionsFolder = -28463,
+ kQ3ErrorExtensionError = -28462,
+ kQ3ErrorPrivateExtensionError = -28461, /* Geometry Errors */
+ kQ3ErrorDegenerateGeometry = -28460,
+ kQ3ErrorGeometryInsufficientNumberOfPoints = -28459, /* IO Errors */
+ kQ3ErrorNoStorageSetForFile = -28458,
+ kQ3ErrorEndOfFile = -28457,
+ kQ3ErrorFileCancelled = -28456,
+ kQ3ErrorInvalidMetafile = -28455,
+ kQ3ErrorInvalidMetafilePrimitive = -28454,
+ kQ3ErrorInvalidMetafileLabel = -28453,
+ kQ3ErrorInvalidMetafileObject = -28452,
+ kQ3ErrorInvalidMetafileSubObject = -28451,
+ kQ3ErrorInvalidSubObjectForObject = -28450,
+ kQ3ErrorUnresolvableReference = -28449,
+ kQ3ErrorUnknownObject = -28448,
+ kQ3ErrorStorageInUse = -28447,
+ kQ3ErrorStorageAlreadyOpen = -28446,
+ kQ3ErrorStorageNotOpen = -28445,
+ kQ3ErrorStorageIsOpen = -28444,
+ kQ3ErrorFileAlreadyOpen = -28443,
+ kQ3ErrorFileNotOpen = -28442,
+ kQ3ErrorFileIsOpen = -28441,
+ kQ3ErrorBeginWriteAlreadyCalled = -28440,
+ kQ3ErrorBeginWriteNotCalled = -28439,
+ kQ3ErrorEndWriteNotCalled = -28438,
+ kQ3ErrorReadStateInactive = -28437,
+ kQ3ErrorStateUnavailable = -28436,
+ kQ3ErrorWriteStateInactive = -28435,
+ kQ3ErrorSizeNotLongAligned = -28434,
+ kQ3ErrorFileModeRestriction = -28433,
+ kQ3ErrorInvalidHexString = -28432,
+ kQ3ErrorWroteMoreThanSize = -28431,
+ kQ3ErrorWroteLessThanSize = -28430,
+ kQ3ErrorReadLessThanSize = -28429,
+ kQ3ErrorReadMoreThanSize = -28428,
+ kQ3ErrorNoBeginGroup = -28427,
+ kQ3ErrorSizeMismatch = -28426,
+ kQ3ErrorStringExceedsMaximumLength = -28425,
+ kQ3ErrorValueExceedsMaximumSize = -28424,
+ kQ3ErrorNonUniqueLabel = -28423,
+ kQ3ErrorEndOfContainer = -28422,
+ kQ3ErrorUnmatchedEndGroup = -28421,
+ kQ3ErrorFileVersionExists = -28420, /* View errors */
+ kQ3ErrorViewNotStarted = -28419,
+ kQ3ErrorViewIsStarted = -28418,
+ kQ3ErrorRendererNotSet = -28417,
+ kQ3ErrorRenderingIsActive = -28416,
+ kQ3ErrorImmediateModeUnderflow = -28415,
+ kQ3ErrorDisplayNotSet = -28414,
+ kQ3ErrorCameraNotSet = -28413,
+ kQ3ErrorDrawContextNotSet = -28412,
+ kQ3ErrorNonInvertibleMatrix = -28411,
+ kQ3ErrorRenderingNotStarted = -28410,
+ kQ3ErrorPickingNotStarted = -28409,
+ kQ3ErrorBoundsNotStarted = -28408,
+ kQ3ErrorDataNotAvailable = -28407,
+ kQ3ErrorNothingToPop = -28406, /* Renderer Errors */
+ kQ3ErrorUnknownStudioType = -28405,
+ kQ3ErrorAlreadyRendering = -28404,
+ kQ3ErrorStartGroupRange = -28403,
+ kQ3ErrorUnsupportedGeometryType = -28402,
+ kQ3ErrorInvalidGeometryType = -28401,
+ kQ3ErrorUnsupportedFunctionality = -28400, /* Group Errors */
+ kQ3ErrorInvalidPositionForGroup = -28399,
+ kQ3ErrorInvalidObjectForGroup = -28398,
+ kQ3ErrorInvalidObjectForPosition = -28397, /* Transform Errors */
+ kQ3ErrorScaleOfZero = -28396, /* String Errors */
+ kQ3ErrorBadStringType = -28395, /* Attribute Errors */
+ kQ3ErrorAttributeNotContained = -28394,
+ kQ3ErrorAttributeInvalidType = -28393, /* Camera Errors */
+ kQ3ErrorInvalidCameraValues = -28392, /* DrawContext Errors */
+ kQ3ErrorBadDrawContextType = -28391,
+ kQ3ErrorBadDrawContextFlag = -28390,
+ kQ3ErrorBadDrawContext = -28389,
+ kQ3ErrorUnsupportedPixelDepth = -28388, /* Controller Errors */
+ kQ3ErrorController = -28387, /* Tracker Errors */
+ kQ3ErrorTracker = -28386, /* Another OS Error */
+ kQ3ErrorWin32Error = -28385, /* Object Errors */
+ kQ3ErrorTypeAlreadyExistsAndHasSubclasses = -28384,
+ kQ3ErrorTypeAlreadyExistsAndOtherClassesDependOnIt = -28383,
+ kQ3ErrorTypeAlreadyExistsAndHasObjectInstances = -28382, /* submit loop errors: if you ever get one of these check the previous*/
+ /* error posted, it may be kQ3ErrorOutOfMemory. If so you *may* be able*/
+ /* to recover by freeing up some memory and trying again*/
+ kQ3ErrorPickingLoopFailed = -28381,
+ kQ3ErrorRenderingLoopFailed = -28380,
+ kQ3ErrorWritingLoopFailed = -28379,
+ kQ3ErrorBoundingLoopFailed = -28378
+};
+typedef enum TQ3Error TQ3Error;
+
+enum TQ3Warning {
+ kQ3WarningNone = 0, /* General System */
+ kQ3WarningInternalException = -28300, /* Object Warnings */
+ kQ3WarningNoObjectSupportForDuplicateMethod = -28299,
+ kQ3WarningNoObjectSupportForDrawMethod = -28298,
+ kQ3WarningNoObjectSupportForWriteMethod = -28297,
+ kQ3WarningNoObjectSupportForReadMethod = -28296,
+ kQ3WarningUnknownElementType = -28295,
+ kQ3WarningTypeAndMethodAlreadyDefined = -28294,
+ kQ3WarningTypeIsOutOfRange = -28293,
+ kQ3WarningTypeHasNotBeenRegistered = -28292, /* Parameter Warnings */
+ kQ3WarningVector3DNotUnitLength = -28291, /* IO Warnings */
+ kQ3WarningInvalidSubObjectForObject = -28290,
+ kQ3WarningInvalidHexString = -28289,
+ kQ3WarningUnknownObject = -28288,
+ kQ3WarningInvalidMetafileObject = -28287,
+ kQ3WarningUnmatchedBeginGroup = -28286,
+ kQ3WarningUnmatchedEndGroup = -28285,
+ kQ3WarningInvalidTableOfContents = -28284,
+ kQ3WarningUnresolvableReference = -28283,
+ kQ3WarningNoAttachMethod = -28282,
+ kQ3WarningInconsistentData = -28281,
+ kQ3WarningReadLessThanSize = -28280,
+ kQ3WarningFilePointerResolutionFailed = -28279,
+ kQ3WarningFilePointerRedefined = -28278,
+ kQ3WarningStringExceedsMaximumLength = -28277, /* Memory Warnings */
+ kQ3WarningLowMemory = -28276,
+ kQ3WarningPossibleMemoryLeak = -28275, /* View Warnings */
+ kQ3WarningViewTraversalInProgress = -28274,
+ kQ3WarningNonInvertibleMatrix = -28273, /* Quaternion Warning */
+ kQ3WarningQuaternionEntriesAreZero = -28272, /* Renderer Warning */
+ kQ3WarningFunctionalityNotSupported = -28271, /* DrawContext Warning */
+ kQ3WarningInvalidPaneDimensions = -28270, /* Pick Warning */
+ kQ3WarningPickParamOutside = -28269, /* Scale Warnings */
+ kQ3WarningScaleEntriesAllZero = -28268,
+ kQ3WarningScaleContainsNegativeEntries = -28267, /* Generic Warnings */
+ kQ3WarningParameterOutOfRange = -28266, /* Extension Warnings */
+ kQ3WarningExtensionNotLoading = -28265, /* Object Warnings */
+ kQ3WarningTypeAlreadyRegistered = -28264,
+ kQ3WarningTypeSameVersionAlreadyRegistered = -28263,
+ kQ3WarningTypeNewerVersionAlreadyRegistered = -28262, /* Invalid Group Object */
+ kQ3WarningInvalidObjectInGroupMetafile = -28261
+};
+typedef enum TQ3Warning TQ3Warning;
+
+
+enum TQ3Notice {
+ kQ3NoticeNone = 0,
+ kQ3NoticeDataAlreadyEmpty = -28100,
+ kQ3NoticeMethodNotSupported = -28099,
+ kQ3NoticeObjectAlreadySet = -28098,
+ kQ3NoticeParameterOutOfRange = -28097,
+ kQ3NoticeFileAliasWasChanged = -28096,
+ kQ3NoticeMeshVertexHasNoComponent = -28095,
+ kQ3NoticeMeshInvalidVertexFacePair = -28094,
+ kQ3NoticeMeshEdgeVertexDoNotCorrespond = -28093,
+ kQ3NoticeMeshEdgeIsNotBoundary = -28092,
+ kQ3NoticeDrawContextNotSetUsingInternalDefaults = -28091,
+ kQ3NoticeInvalidAttenuationTypeUsingInternalDefaults = -28090,
+ kQ3NoticeBrightnessGreaterThanOne = -28089,
+ kQ3NoticeScaleContainsZeroEntries = -28088,
+ kQ3NoticeSystemAlreadyInitialized = -28087,
+ kQ3NoticeViewSyncCalledAgain = -28086,
+ kQ3NoticeFileCancelled = -28085
+};
+typedef enum TQ3Notice TQ3Notice;
+
+typedef CALLBACK_API_C( void , TQ3ErrorMethod )(TQ3Error firstError, TQ3Error lastError, long reference);
+typedef CALLBACK_API_C( void , TQ3WarningMethod )(TQ3Warning firstWarning, TQ3Warning lastWarning, long reference);
+typedef CALLBACK_API_C( void , TQ3NoticeMethod )(TQ3Notice firstNotice, TQ3Notice lastNotice, long reference);
+/******************************************************************************
+ ** **
+ ** Error Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Error_Register()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Error_Register(
- TQ3ErrorMethod errorPost,
- long reference);
-
-
- /*
- * Q3Warning_Register()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Warning_Register(
- TQ3WarningMethod warningPost,
- long reference);
-
-
- /*
- * Q3Notice_Register()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Notice_Register(
- TQ3NoticeMethod noticePost,
- long reference);
-
-
- /*
- * Getting error codes -
- * Clears error type on next entry into system (except all of these
- * error calls), and returns the last error, and optionally the
- * first error. The parameter to these "_Get" calls may be NULL.
- */
- /*
- * Q3Error_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Error)
- Q3Error_Get(TQ3Error * firstError);
-
-
- /*
- * Q3Error_IsFatalError()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Error_IsFatalError(TQ3Error error);
-
-
- /*
- * Q3Warning_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Warning)
- Q3Warning_Get(TQ3Warning * firstWarning);
-
-
- /*
- * Q3Notice_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Notice)
- Q3Notice_Get(TQ3Notice * firstNotice);
+/*
+ * Q3Error_Register()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Error_Register(
+ TQ3ErrorMethod errorPost,
+ long reference);
+
+
+/*
+ * Q3Warning_Register()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Warning_Register(
+ TQ3WarningMethod warningPost,
+ long reference);
+
+
+/*
+ * Q3Notice_Register()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Notice_Register(
+ TQ3NoticeMethod noticePost,
+ long reference);
+
+
+/*
+ * Getting error codes -
+ * Clears error type on next entry into system (except all of these
+ * error calls), and returns the last error, and optionally the
+ * first error. The parameter to these "_Get" calls may be NULL.
+ */
+/*
+ * Q3Error_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Error )
+Q3Error_Get(TQ3Error * firstError);
+
+
+/*
+ * Q3Error_IsFatalError()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Error_IsFatalError(TQ3Error error);
+
+
+/*
+ * Q3Warning_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Warning )
+Q3Warning_Get(TQ3Warning * firstWarning);
+
+
+/*
+ * Q3Notice_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Notice )
+Q3Notice_Get(TQ3Notice * firstNotice);
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_OS_MAC
#if CALL_NOT_IN_CARBON
- /*
- * Q3MacintoshError_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3MacintoshError_Get(OSErr * firstMacErr);
+/*
+ * Q3MacintoshError_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3MacintoshError_Get(OSErr * firstMacErr);
#endif /* CALL_NOT_IN_CARBON */
@@ -391,22 +389,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DERRORS__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DERRORS__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DERRORS__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DGeometry.h b/include/qt/QD3DGeometry.h
index 7b953a70d..383d26d4c 100644
--- a/include/qt/QD3DGeometry.h
+++ b/include/qt/QD3DGeometry.h
@@ -1,18 +1,18 @@
/*
File: QD3DGeometry.h
-
+
Contains: Q3Geometry methods
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3DGEOMETRY__
#define __QD3DGEOMETRY__
@@ -42,3174 +42,3161 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DGEOMETRY__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DGEOMETRY__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DGEOMETRY__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DGEOMETRY__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Geometry Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Geometry Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Geometry_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Geometry_GetType(TQ3GeometryObject geometry);
-
-
- /*
- * Q3Geometry_GetAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Geometry_GetAttributeSet(
- TQ3GeometryObject geometry,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3Geometry_SetAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Geometry_SetAttributeSet(
- TQ3GeometryObject geometry,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Q3Geometry_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Geometry_Submit(
- TQ3GeometryObject geometry,
- TQ3ViewObject view);
-
-
-
-
- /******************************************************************************
- ** **
- ** Box Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Geometry_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Geometry_GetType(TQ3GeometryObject geometry);
+
+
+/*
+ * Q3Geometry_GetAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Geometry_GetAttributeSet(
+ TQ3GeometryObject geometry,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3Geometry_SetAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Geometry_SetAttributeSet(
+ TQ3GeometryObject geometry,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Q3Geometry_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Geometry_Submit(
+ TQ3GeometryObject geometry,
+ TQ3ViewObject view);
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Box Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3BoxData
- {
- TQ3Point3D origin;
- TQ3Vector3D orientation;
- TQ3Vector3D majorAxis;
- TQ3Vector3D minorAxis;
- TQ3AttributeSet * faceAttributeSet; /* Ordering : Left, right, */
- /* front, back, */
- /* top, bottom */
- TQ3AttributeSet boxAttributeSet;
- };
- typedef struct TQ3BoxData TQ3BoxData;
- /******************************************************************************
- ** **
- ** Box Routines **
- ** **
- *****************************************************************************/
+struct TQ3BoxData {
+ TQ3Point3D origin;
+ TQ3Vector3D orientation;
+ TQ3Vector3D majorAxis;
+ TQ3Vector3D minorAxis;
+ TQ3AttributeSet * faceAttributeSet; /* Ordering : Left, right, */
+ /* front, back, */
+ /* top, bottom */
+ TQ3AttributeSet boxAttributeSet;
+};
+typedef struct TQ3BoxData TQ3BoxData;
+/******************************************************************************
+ ** **
+ ** Box Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Box_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Box_New(const TQ3BoxData * boxData);
-
-
- /*
- * Q3Box_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_Submit(
- const TQ3BoxData * boxData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Box_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_SetData(
- TQ3GeometryObject box,
- const TQ3BoxData * boxData);
-
-
- /*
- * Q3Box_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_GetData(
- TQ3GeometryObject box,
- TQ3BoxData * boxData);
-
-
- /*
- * Q3Box_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_EmptyData(TQ3BoxData * boxData);
-
-
- /*
- * Q3Box_SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_SetOrigin(
- TQ3GeometryObject box,
- const TQ3Point3D * origin);
-
-
- /*
- * Q3Box_SetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_SetOrientation(
- TQ3GeometryObject box,
- const TQ3Vector3D * orientation);
-
-
- /*
- * Q3Box_SetMajorAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_SetMajorAxis(
- TQ3GeometryObject box,
- const TQ3Vector3D * majorAxis);
-
-
- /*
- * Q3Box_SetMinorAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_SetMinorAxis(
- TQ3GeometryObject box,
- const TQ3Vector3D * minorAxis);
-
-
- /*
- * Q3Box_GetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_GetOrigin(
- TQ3GeometryObject box,
- TQ3Point3D * origin);
-
-
- /*
- * Q3Box_GetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_GetOrientation(
- TQ3GeometryObject box,
- TQ3Vector3D * orientation);
-
-
- /*
- * Q3Box_GetMajorAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_GetMajorAxis(
- TQ3GeometryObject box,
- TQ3Vector3D * majorAxis);
-
-
- /*
- * Q3Box_GetMinorAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_GetMinorAxis(
- TQ3GeometryObject box,
- TQ3Vector3D * minorAxis);
-
-
- /*
- * Q3Box_GetFaceAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_GetFaceAttributeSet(
- TQ3GeometryObject box,
- unsigned long faceIndex,
- TQ3AttributeSet * faceAttributeSet);
-
-
- /*
- * Q3Box_SetFaceAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Box_SetFaceAttributeSet(
- TQ3GeometryObject box,
- unsigned long faceIndex,
- TQ3AttributeSet faceAttributeSet);
-
-
-
-
- /******************************************************************************
- ** **
- ** Cone Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Box_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Box_New(const TQ3BoxData * boxData);
+
+
+/*
+ * Q3Box_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_Submit(
+ const TQ3BoxData * boxData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Box_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_SetData(
+ TQ3GeometryObject box,
+ const TQ3BoxData * boxData);
+
+
+/*
+ * Q3Box_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_GetData(
+ TQ3GeometryObject box,
+ TQ3BoxData * boxData);
+
+
+/*
+ * Q3Box_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_EmptyData(TQ3BoxData * boxData);
+
+
+/*
+ * Q3Box_SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_SetOrigin(
+ TQ3GeometryObject box,
+ const TQ3Point3D * origin);
+
+
+/*
+ * Q3Box_SetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_SetOrientation(
+ TQ3GeometryObject box,
+ const TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Box_SetMajorAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_SetMajorAxis(
+ TQ3GeometryObject box,
+ const TQ3Vector3D * majorAxis);
+
+
+/*
+ * Q3Box_SetMinorAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_SetMinorAxis(
+ TQ3GeometryObject box,
+ const TQ3Vector3D * minorAxis);
+
+
+/*
+ * Q3Box_GetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_GetOrigin(
+ TQ3GeometryObject box,
+ TQ3Point3D * origin);
+
+
+/*
+ * Q3Box_GetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_GetOrientation(
+ TQ3GeometryObject box,
+ TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Box_GetMajorAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_GetMajorAxis(
+ TQ3GeometryObject box,
+ TQ3Vector3D * majorAxis);
+
+
+/*
+ * Q3Box_GetMinorAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_GetMinorAxis(
+ TQ3GeometryObject box,
+ TQ3Vector3D * minorAxis);
+
+
+/*
+ * Q3Box_GetFaceAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_GetFaceAttributeSet(
+ TQ3GeometryObject box,
+ unsigned long faceIndex,
+ TQ3AttributeSet * faceAttributeSet);
+
+
+/*
+ * Q3Box_SetFaceAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Box_SetFaceAttributeSet(
+ TQ3GeometryObject box,
+ unsigned long faceIndex,
+ TQ3AttributeSet faceAttributeSet);
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Cone Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3ConeData
- {
- TQ3Point3D origin;
- TQ3Vector3D orientation;
- TQ3Vector3D majorRadius;
- TQ3Vector3D minorRadius;
- float uMin;
- float uMax;
- float vMin;
- float vMax;
- TQ3EndCap caps;
- TQ3AttributeSet interiorAttributeSet;
- TQ3AttributeSet faceAttributeSet;
- TQ3AttributeSet bottomAttributeSet;
- TQ3AttributeSet coneAttributeSet;
- };
- typedef struct TQ3ConeData TQ3ConeData;
- /******************************************************************************
- ** **
- ** Cone Routines **
- ** **
- *****************************************************************************/
+struct TQ3ConeData {
+ TQ3Point3D origin;
+ TQ3Vector3D orientation;
+ TQ3Vector3D majorRadius;
+ TQ3Vector3D minorRadius;
+ float uMin;
+ float uMax;
+ float vMin;
+ float vMax;
+ TQ3EndCap caps;
+ TQ3AttributeSet interiorAttributeSet;
+ TQ3AttributeSet faceAttributeSet;
+ TQ3AttributeSet bottomAttributeSet;
+ TQ3AttributeSet coneAttributeSet;
+};
+typedef struct TQ3ConeData TQ3ConeData;
+/******************************************************************************
+ ** **
+ ** Cone Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Cone_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Cone_New(const TQ3ConeData * coneData);
-
-
- /*
- * Q3Cone_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_Submit(
- const TQ3ConeData * coneData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Cone_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_SetData(
- TQ3GeometryObject cone,
- const TQ3ConeData * coneData);
-
-
- /*
- * Q3Cone_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_GetData(
- TQ3GeometryObject cone,
- TQ3ConeData * coneData);
-
-
- /*
- * Q3Cone_SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_SetOrigin(
- TQ3GeometryObject cone,
- const TQ3Point3D * origin);
-
-
- /*
- * Q3Cone_SetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_SetOrientation(
- TQ3GeometryObject cone,
- const TQ3Vector3D * orientation);
-
-
- /*
- * Q3Cone_SetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_SetMajorRadius(
- TQ3GeometryObject cone,
- const TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Cone_SetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_SetMinorRadius(
- TQ3GeometryObject cone,
- const TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Cone_GetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_GetOrigin(
- TQ3GeometryObject cone,
- TQ3Point3D * origin);
-
-
- /*
- * Q3Cone_GetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_GetOrientation(
- TQ3GeometryObject cone,
- TQ3Vector3D * orientation);
-
-
- /*
- * Q3Cone_GetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_GetMajorRadius(
- TQ3GeometryObject cone,
- TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Cone_GetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_GetMinorRadius(
- TQ3GeometryObject cone,
- TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Cone_SetCaps()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_SetCaps(
- TQ3GeometryObject cone,
- TQ3EndCap caps);
-
-
- /*
- * Q3Cone_GetCaps()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_GetCaps(
- TQ3GeometryObject cone,
- TQ3EndCap * caps);
-
-
- /*
- * Q3Cone_SetBottomAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_SetBottomAttributeSet(
- TQ3GeometryObject cone,
- TQ3AttributeSet bottomAttributeSet);
-
-
- /*
- * Q3Cone_GetBottomAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_GetBottomAttributeSet(
- TQ3GeometryObject cone,
- TQ3AttributeSet * bottomAttributeSet);
-
-
- /*
- * Q3Cone_SetFaceAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_SetFaceAttributeSet(
- TQ3GeometryObject cone,
- TQ3AttributeSet faceAttributeSet);
-
-
- /*
- * Q3Cone_GetFaceAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_GetFaceAttributeSet(
- TQ3GeometryObject cone,
- TQ3AttributeSet * faceAttributeSet);
-
-
- /*
- * Q3Cone_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cone_EmptyData(TQ3ConeData * coneData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Cylinder Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Cone_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Cone_New(const TQ3ConeData * coneData);
+
+
+/*
+ * Q3Cone_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_Submit(
+ const TQ3ConeData * coneData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Cone_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_SetData(
+ TQ3GeometryObject cone,
+ const TQ3ConeData * coneData);
+
+
+/*
+ * Q3Cone_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_GetData(
+ TQ3GeometryObject cone,
+ TQ3ConeData * coneData);
+
+
+/*
+ * Q3Cone_SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_SetOrigin(
+ TQ3GeometryObject cone,
+ const TQ3Point3D * origin);
+
+
+/*
+ * Q3Cone_SetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_SetOrientation(
+ TQ3GeometryObject cone,
+ const TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Cone_SetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_SetMajorRadius(
+ TQ3GeometryObject cone,
+ const TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Cone_SetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_SetMinorRadius(
+ TQ3GeometryObject cone,
+ const TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Cone_GetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_GetOrigin(
+ TQ3GeometryObject cone,
+ TQ3Point3D * origin);
+
+
+/*
+ * Q3Cone_GetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_GetOrientation(
+ TQ3GeometryObject cone,
+ TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Cone_GetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_GetMajorRadius(
+ TQ3GeometryObject cone,
+ TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Cone_GetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_GetMinorRadius(
+ TQ3GeometryObject cone,
+ TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Cone_SetCaps()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_SetCaps(
+ TQ3GeometryObject cone,
+ TQ3EndCap caps);
+
+
+/*
+ * Q3Cone_GetCaps()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_GetCaps(
+ TQ3GeometryObject cone,
+ TQ3EndCap * caps);
+
+
+/*
+ * Q3Cone_SetBottomAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_SetBottomAttributeSet(
+ TQ3GeometryObject cone,
+ TQ3AttributeSet bottomAttributeSet);
+
+
+/*
+ * Q3Cone_GetBottomAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_GetBottomAttributeSet(
+ TQ3GeometryObject cone,
+ TQ3AttributeSet * bottomAttributeSet);
+
+
+/*
+ * Q3Cone_SetFaceAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_SetFaceAttributeSet(
+ TQ3GeometryObject cone,
+ TQ3AttributeSet faceAttributeSet);
+
+
+/*
+ * Q3Cone_GetFaceAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_GetFaceAttributeSet(
+ TQ3GeometryObject cone,
+ TQ3AttributeSet * faceAttributeSet);
+
+
+/*
+ * Q3Cone_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cone_EmptyData(TQ3ConeData * coneData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Cylinder Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3CylinderData
- {
- TQ3Point3D origin;
- TQ3Vector3D orientation;
- TQ3Vector3D majorRadius;
- TQ3Vector3D minorRadius;
- float uMin;
- float uMax;
- float vMin;
- float vMax;
- TQ3EndCap caps;
- TQ3AttributeSet interiorAttributeSet;
- TQ3AttributeSet topAttributeSet;
- TQ3AttributeSet faceAttributeSet;
- TQ3AttributeSet bottomAttributeSet;
- TQ3AttributeSet cylinderAttributeSet;
- };
- typedef struct TQ3CylinderData TQ3CylinderData;
- /******************************************************************************
- ** **
- ** Cylinder Routines **
- ** **
- *****************************************************************************/
+struct TQ3CylinderData {
+ TQ3Point3D origin;
+ TQ3Vector3D orientation;
+ TQ3Vector3D majorRadius;
+ TQ3Vector3D minorRadius;
+ float uMin;
+ float uMax;
+ float vMin;
+ float vMax;
+ TQ3EndCap caps;
+ TQ3AttributeSet interiorAttributeSet;
+ TQ3AttributeSet topAttributeSet;
+ TQ3AttributeSet faceAttributeSet;
+ TQ3AttributeSet bottomAttributeSet;
+ TQ3AttributeSet cylinderAttributeSet;
+};
+typedef struct TQ3CylinderData TQ3CylinderData;
+/******************************************************************************
+ ** **
+ ** Cylinder Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Cylinder_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Cylinder_New(const TQ3CylinderData * cylinderData);
-
-
- /*
- * Q3Cylinder_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_Submit(
- const TQ3CylinderData * cylinderData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Cylinder_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetData(
- TQ3GeometryObject cylinder,
- const TQ3CylinderData * cylinderData);
-
-
- /*
- * Q3Cylinder_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetData(
- TQ3GeometryObject cylinder,
- TQ3CylinderData * cylinderData);
-
-
- /*
- * Q3Cylinder_SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetOrigin(
- TQ3GeometryObject cylinder,
- const TQ3Point3D * origin);
-
-
- /*
- * Q3Cylinder_SetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetOrientation(
- TQ3GeometryObject cylinder,
- const TQ3Vector3D * orientation);
-
-
- /*
- * Q3Cylinder_SetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetMajorRadius(
- TQ3GeometryObject cylinder,
- const TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Cylinder_SetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetMinorRadius(
- TQ3GeometryObject cylinder,
- const TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Cylinder_GetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetOrigin(
- TQ3GeometryObject cylinder,
- TQ3Point3D * origin);
-
-
- /*
- * Q3Cylinder_GetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetOrientation(
- TQ3GeometryObject cylinder,
- TQ3Vector3D * orientation);
-
-
- /*
- * Q3Cylinder_GetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetMajorRadius(
- TQ3GeometryObject cylinder,
- TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Cylinder_GetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetMinorRadius(
- TQ3GeometryObject cylinder,
- TQ3Vector3D * minorRadius);
-
-
-
- /*
- * Q3Cylinder_SetCaps()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetCaps(
- TQ3GeometryObject cylinder,
- TQ3EndCap caps);
-
-
- /*
- * Q3Cylinder_GetCaps()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetCaps(
- TQ3GeometryObject cylinder,
- TQ3EndCap * caps);
-
-
-
- /*
- * Q3Cylinder_SetTopAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetTopAttributeSet(
- TQ3GeometryObject cylinder,
- TQ3AttributeSet topAttributeSet);
-
-
- /*
- * Q3Cylinder_GetTopAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetTopAttributeSet(
- TQ3GeometryObject cylinder,
- TQ3AttributeSet * topAttributeSet);
-
-
- /*
- * Q3Cylinder_SetBottomAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetBottomAttributeSet(
- TQ3GeometryObject cylinder,
- TQ3AttributeSet bottomAttributeSet);
-
-
- /*
- * Q3Cylinder_GetBottomAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetBottomAttributeSet(
- TQ3GeometryObject cylinder,
- TQ3AttributeSet * bottomAttributeSet);
-
-
- /*
- * Q3Cylinder_SetFaceAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_SetFaceAttributeSet(
- TQ3GeometryObject cylinder,
- TQ3AttributeSet faceAttributeSet);
-
-
- /*
- * Q3Cylinder_GetFaceAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_GetFaceAttributeSet(
- TQ3GeometryObject cylinder,
- TQ3AttributeSet * faceAttributeSet);
-
-
- /*
- * Q3Cylinder_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Cylinder_EmptyData(TQ3CylinderData * cylinderData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Disk Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Cylinder_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Cylinder_New(const TQ3CylinderData * cylinderData);
+
+
+/*
+ * Q3Cylinder_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_Submit(
+ const TQ3CylinderData * cylinderData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Cylinder_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetData(
+ TQ3GeometryObject cylinder,
+ const TQ3CylinderData * cylinderData);
+
+
+/*
+ * Q3Cylinder_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetData(
+ TQ3GeometryObject cylinder,
+ TQ3CylinderData * cylinderData);
+
+
+/*
+ * Q3Cylinder_SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetOrigin(
+ TQ3GeometryObject cylinder,
+ const TQ3Point3D * origin);
+
+
+/*
+ * Q3Cylinder_SetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetOrientation(
+ TQ3GeometryObject cylinder,
+ const TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Cylinder_SetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetMajorRadius(
+ TQ3GeometryObject cylinder,
+ const TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Cylinder_SetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetMinorRadius(
+ TQ3GeometryObject cylinder,
+ const TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Cylinder_GetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetOrigin(
+ TQ3GeometryObject cylinder,
+ TQ3Point3D * origin);
+
+
+/*
+ * Q3Cylinder_GetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetOrientation(
+ TQ3GeometryObject cylinder,
+ TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Cylinder_GetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetMajorRadius(
+ TQ3GeometryObject cylinder,
+ TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Cylinder_GetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetMinorRadius(
+ TQ3GeometryObject cylinder,
+ TQ3Vector3D * minorRadius);
+
+
+
+/*
+ * Q3Cylinder_SetCaps()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetCaps(
+ TQ3GeometryObject cylinder,
+ TQ3EndCap caps);
+
+
+/*
+ * Q3Cylinder_GetCaps()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetCaps(
+ TQ3GeometryObject cylinder,
+ TQ3EndCap * caps);
+
+
+
+/*
+ * Q3Cylinder_SetTopAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetTopAttributeSet(
+ TQ3GeometryObject cylinder,
+ TQ3AttributeSet topAttributeSet);
+
+
+/*
+ * Q3Cylinder_GetTopAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetTopAttributeSet(
+ TQ3GeometryObject cylinder,
+ TQ3AttributeSet * topAttributeSet);
+
+
+/*
+ * Q3Cylinder_SetBottomAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetBottomAttributeSet(
+ TQ3GeometryObject cylinder,
+ TQ3AttributeSet bottomAttributeSet);
+
+
+/*
+ * Q3Cylinder_GetBottomAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetBottomAttributeSet(
+ TQ3GeometryObject cylinder,
+ TQ3AttributeSet * bottomAttributeSet);
+
+
+/*
+ * Q3Cylinder_SetFaceAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_SetFaceAttributeSet(
+ TQ3GeometryObject cylinder,
+ TQ3AttributeSet faceAttributeSet);
+
+
+/*
+ * Q3Cylinder_GetFaceAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_GetFaceAttributeSet(
+ TQ3GeometryObject cylinder,
+ TQ3AttributeSet * faceAttributeSet);
+
+
+/*
+ * Q3Cylinder_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Cylinder_EmptyData(TQ3CylinderData * cylinderData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Disk Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3DiskData
- {
- TQ3Point3D origin;
- TQ3Vector3D majorRadius;
- TQ3Vector3D minorRadius;
- float uMin;
- float uMax;
- float vMin;
- float vMax;
- TQ3AttributeSet diskAttributeSet;
- };
- typedef struct TQ3DiskData TQ3DiskData;
- /******************************************************************************
- ** **
- ** Disk Routines **
- ** **
- *****************************************************************************/
+struct TQ3DiskData {
+ TQ3Point3D origin;
+ TQ3Vector3D majorRadius;
+ TQ3Vector3D minorRadius;
+ float uMin;
+ float uMax;
+ float vMin;
+ float vMax;
+ TQ3AttributeSet diskAttributeSet;
+};
+typedef struct TQ3DiskData TQ3DiskData;
+/******************************************************************************
+ ** **
+ ** Disk Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Disk_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Disk_New(const TQ3DiskData * diskData);
-
-
- /*
- * Q3Disk_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_Submit(
- const TQ3DiskData * diskData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Disk_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_SetData(
- TQ3GeometryObject disk,
- const TQ3DiskData * diskData);
-
-
- /*
- * Q3Disk_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_GetData(
- TQ3GeometryObject disk,
- TQ3DiskData * diskData);
-
-
- /*
- * Q3Disk_SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_SetOrigin(
- TQ3GeometryObject disk,
- const TQ3Point3D * origin);
-
-
- /*
- * Q3Disk_SetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_SetMajorRadius(
- TQ3GeometryObject disk,
- const TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Disk_SetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_SetMinorRadius(
- TQ3GeometryObject disk,
- const TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Disk_GetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_GetOrigin(
- TQ3GeometryObject disk,
- TQ3Point3D * origin);
-
-
- /*
- * Q3Disk_GetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_GetMajorRadius(
- TQ3GeometryObject disk,
- TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Disk_GetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_GetMinorRadius(
- TQ3GeometryObject disk,
- TQ3Vector3D * minorRadius);
-
-
-
- /*
- * Q3Disk_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Disk_EmptyData(TQ3DiskData * diskData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Ellipse Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Disk_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Disk_New(const TQ3DiskData * diskData);
+
+
+/*
+ * Q3Disk_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_Submit(
+ const TQ3DiskData * diskData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Disk_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_SetData(
+ TQ3GeometryObject disk,
+ const TQ3DiskData * diskData);
+
+
+/*
+ * Q3Disk_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_GetData(
+ TQ3GeometryObject disk,
+ TQ3DiskData * diskData);
+
+
+/*
+ * Q3Disk_SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_SetOrigin(
+ TQ3GeometryObject disk,
+ const TQ3Point3D * origin);
+
+
+/*
+ * Q3Disk_SetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_SetMajorRadius(
+ TQ3GeometryObject disk,
+ const TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Disk_SetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_SetMinorRadius(
+ TQ3GeometryObject disk,
+ const TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Disk_GetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_GetOrigin(
+ TQ3GeometryObject disk,
+ TQ3Point3D * origin);
+
+
+/*
+ * Q3Disk_GetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_GetMajorRadius(
+ TQ3GeometryObject disk,
+ TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Disk_GetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_GetMinorRadius(
+ TQ3GeometryObject disk,
+ TQ3Vector3D * minorRadius);
+
+
+
+/*
+ * Q3Disk_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Disk_EmptyData(TQ3DiskData * diskData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Ellipse Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3EllipseData
- {
- TQ3Point3D origin;
- TQ3Vector3D majorRadius;
- TQ3Vector3D minorRadius;
- float uMin;
- float uMax;
- TQ3AttributeSet ellipseAttributeSet;
- };
- typedef struct TQ3EllipseData TQ3EllipseData;
- /******************************************************************************
- ** **
- ** Ellipse Routines **
- ** **
- *****************************************************************************/
+struct TQ3EllipseData {
+ TQ3Point3D origin;
+ TQ3Vector3D majorRadius;
+ TQ3Vector3D minorRadius;
+ float uMin;
+ float uMax;
+ TQ3AttributeSet ellipseAttributeSet;
+};
+typedef struct TQ3EllipseData TQ3EllipseData;
+/******************************************************************************
+ ** **
+ ** Ellipse Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Ellipse_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Ellipse_New(const TQ3EllipseData * ellipseData);
-
-
- /*
- * Q3Ellipse_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_Submit(
- const TQ3EllipseData * ellipseData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Ellipse_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_SetData(
- TQ3GeometryObject ellipse,
- const TQ3EllipseData * ellipseData);
-
-
- /*
- * Q3Ellipse_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_GetData(
- TQ3GeometryObject ellipse,
- TQ3EllipseData * ellipseData);
-
-
- /*
- * Q3Ellipse_SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_SetOrigin(
- TQ3GeometryObject ellipse,
- const TQ3Point3D * origin);
-
-
- /*
- * Q3Ellipse_SetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_SetMajorRadius(
- TQ3GeometryObject ellipse,
- const TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Ellipse_SetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_SetMinorRadius(
- TQ3GeometryObject ellipse,
- const TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Ellipse_GetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_GetOrigin(
- TQ3GeometryObject ellipse,
- TQ3Point3D * origin);
-
-
- /*
- * Q3Ellipse_GetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_GetMajorRadius(
- TQ3GeometryObject ellipse,
- TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Ellipse_GetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_GetMinorRadius(
- TQ3GeometryObject ellipse,
- TQ3Vector3D * minorRadius);
-
-
-
- /*
- * Q3Ellipse_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipse_EmptyData(TQ3EllipseData * ellipseData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Ellipsoid Data structures **
- ** **
- *****************************************************************************/
+/*
+ * Q3Ellipse_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Ellipse_New(const TQ3EllipseData * ellipseData);
+
+
+/*
+ * Q3Ellipse_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_Submit(
+ const TQ3EllipseData * ellipseData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Ellipse_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_SetData(
+ TQ3GeometryObject ellipse,
+ const TQ3EllipseData * ellipseData);
+
+
+/*
+ * Q3Ellipse_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_GetData(
+ TQ3GeometryObject ellipse,
+ TQ3EllipseData * ellipseData);
+
+
+/*
+ * Q3Ellipse_SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_SetOrigin(
+ TQ3GeometryObject ellipse,
+ const TQ3Point3D * origin);
+
+
+/*
+ * Q3Ellipse_SetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_SetMajorRadius(
+ TQ3GeometryObject ellipse,
+ const TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Ellipse_SetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_SetMinorRadius(
+ TQ3GeometryObject ellipse,
+ const TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Ellipse_GetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_GetOrigin(
+ TQ3GeometryObject ellipse,
+ TQ3Point3D * origin);
+
+
+/*
+ * Q3Ellipse_GetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_GetMajorRadius(
+ TQ3GeometryObject ellipse,
+ TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Ellipse_GetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_GetMinorRadius(
+ TQ3GeometryObject ellipse,
+ TQ3Vector3D * minorRadius);
+
+
+
+/*
+ * Q3Ellipse_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipse_EmptyData(TQ3EllipseData * ellipseData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Ellipsoid Data structures **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3EllipsoidData
- {
- TQ3Point3D origin;
- TQ3Vector3D orientation;
- TQ3Vector3D majorRadius;
- TQ3Vector3D minorRadius;
- float uMin;
- float uMax;
- float vMin;
- float vMax;
- TQ3EndCap caps;
- TQ3AttributeSet interiorAttributeSet;
- TQ3AttributeSet ellipsoidAttributeSet;
- };
- typedef struct TQ3EllipsoidData TQ3EllipsoidData;
- /******************************************************************************
- ** **
- ** Ellipsoid Routines **
- ** **
- *****************************************************************************/
+struct TQ3EllipsoidData {
+ TQ3Point3D origin;
+ TQ3Vector3D orientation;
+ TQ3Vector3D majorRadius;
+ TQ3Vector3D minorRadius;
+ float uMin;
+ float uMax;
+ float vMin;
+ float vMax;
+ TQ3EndCap caps;
+ TQ3AttributeSet interiorAttributeSet;
+ TQ3AttributeSet ellipsoidAttributeSet;
+};
+typedef struct TQ3EllipsoidData TQ3EllipsoidData;
+/******************************************************************************
+ ** **
+ ** Ellipsoid Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Ellipsoid_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Ellipsoid_New(const TQ3EllipsoidData * ellipsoidData);
-
-
- /*
- * Q3Ellipsoid_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_Submit(
- const TQ3EllipsoidData * ellipsoidData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Ellipsoid_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_SetData(
- TQ3GeometryObject ellipsoid,
- const TQ3EllipsoidData * ellipsoidData);
-
-
- /*
- * Q3Ellipsoid_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_GetData(
- TQ3GeometryObject ellipsoid,
- TQ3EllipsoidData * ellipsoidData);
-
-
- /*
- * Q3Ellipsoid_SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_SetOrigin(
- TQ3GeometryObject ellipsoid,
- const TQ3Point3D * origin);
-
-
- /*
- * Q3Ellipsoid_SetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_SetOrientation(
- TQ3GeometryObject ellipsoid,
- const TQ3Vector3D * orientation);
-
-
- /*
- * Q3Ellipsoid_SetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_SetMajorRadius(
- TQ3GeometryObject ellipsoid,
- const TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Ellipsoid_SetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_SetMinorRadius(
- TQ3GeometryObject ellipsoid,
- const TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Ellipsoid_GetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_GetOrigin(
- TQ3GeometryObject ellipsoid,
- TQ3Point3D * origin);
-
-
- /*
- * Q3Ellipsoid_GetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_GetOrientation(
- TQ3GeometryObject ellipsoid,
- TQ3Vector3D * orientation);
-
-
- /*
- * Q3Ellipsoid_GetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_GetMajorRadius(
- TQ3GeometryObject ellipsoid,
- TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Ellipsoid_GetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_GetMinorRadius(
- TQ3GeometryObject ellipsoid,
- TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Ellipsoid_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Ellipsoid_EmptyData(TQ3EllipsoidData * ellipsoidData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** General Polygon Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Ellipsoid_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Ellipsoid_New(const TQ3EllipsoidData * ellipsoidData);
+
+
+/*
+ * Q3Ellipsoid_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_Submit(
+ const TQ3EllipsoidData * ellipsoidData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Ellipsoid_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_SetData(
+ TQ3GeometryObject ellipsoid,
+ const TQ3EllipsoidData * ellipsoidData);
+
+
+/*
+ * Q3Ellipsoid_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_GetData(
+ TQ3GeometryObject ellipsoid,
+ TQ3EllipsoidData * ellipsoidData);
+
+
+/*
+ * Q3Ellipsoid_SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_SetOrigin(
+ TQ3GeometryObject ellipsoid,
+ const TQ3Point3D * origin);
+
+
+/*
+ * Q3Ellipsoid_SetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_SetOrientation(
+ TQ3GeometryObject ellipsoid,
+ const TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Ellipsoid_SetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_SetMajorRadius(
+ TQ3GeometryObject ellipsoid,
+ const TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Ellipsoid_SetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_SetMinorRadius(
+ TQ3GeometryObject ellipsoid,
+ const TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Ellipsoid_GetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_GetOrigin(
+ TQ3GeometryObject ellipsoid,
+ TQ3Point3D * origin);
+
+
+/*
+ * Q3Ellipsoid_GetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_GetOrientation(
+ TQ3GeometryObject ellipsoid,
+ TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Ellipsoid_GetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_GetMajorRadius(
+ TQ3GeometryObject ellipsoid,
+ TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Ellipsoid_GetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_GetMinorRadius(
+ TQ3GeometryObject ellipsoid,
+ TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Ellipsoid_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Ellipsoid_EmptyData(TQ3EllipsoidData * ellipsoidData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** General Polygon Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3GeneralPolygonShapeHint
- {
- kQ3GeneralPolygonShapeHintComplex = 0,
- kQ3GeneralPolygonShapeHintConcave = 1,
- kQ3GeneralPolygonShapeHintConvex = 2
- };
- typedef enum TQ3GeneralPolygonShapeHint TQ3GeneralPolygonShapeHint;
-
- struct TQ3GeneralPolygonContourData
- {
- unsigned long numVertices;
- TQ3Vertex3D * vertices;
- };
- typedef struct TQ3GeneralPolygonContourData TQ3GeneralPolygonContourData;
- struct TQ3GeneralPolygonData
- {
- unsigned long numContours;
- TQ3GeneralPolygonContourData * contours;
- TQ3GeneralPolygonShapeHint shapeHint;
- TQ3AttributeSet generalPolygonAttributeSet;
- };
- typedef struct TQ3GeneralPolygonData TQ3GeneralPolygonData;
- /******************************************************************************
- ** **
- ** General polygon Routines **
- ** **
- *****************************************************************************/
+enum TQ3GeneralPolygonShapeHint {
+ kQ3GeneralPolygonShapeHintComplex = 0,
+ kQ3GeneralPolygonShapeHintConcave = 1,
+ kQ3GeneralPolygonShapeHintConvex = 2
+};
+typedef enum TQ3GeneralPolygonShapeHint TQ3GeneralPolygonShapeHint;
+
+struct TQ3GeneralPolygonContourData {
+ unsigned long numVertices;
+ TQ3Vertex3D * vertices;
+};
+typedef struct TQ3GeneralPolygonContourData TQ3GeneralPolygonContourData;
+struct TQ3GeneralPolygonData {
+ unsigned long numContours;
+ TQ3GeneralPolygonContourData * contours;
+ TQ3GeneralPolygonShapeHint shapeHint;
+ TQ3AttributeSet generalPolygonAttributeSet;
+};
+typedef struct TQ3GeneralPolygonData TQ3GeneralPolygonData;
+/******************************************************************************
+ ** **
+ ** General polygon Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3GeneralPolygon_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3GeneralPolygon_New(const TQ3GeneralPolygonData * generalPolygonData);
-
-
- /*
- * Q3GeneralPolygon_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_Submit(
- const TQ3GeneralPolygonData * generalPolygonData,
- TQ3ViewObject view);
-
-
- /*
- * Q3GeneralPolygon_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_SetData(
- TQ3GeometryObject generalPolygon,
- const TQ3GeneralPolygonData * generalPolygonData);
-
-
- /*
- * Q3GeneralPolygon_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_GetData(
- TQ3GeometryObject polygon,
- TQ3GeneralPolygonData * generalPolygonData);
-
-
- /*
- * Q3GeneralPolygon_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_EmptyData(TQ3GeneralPolygonData * generalPolygonData);
-
-
- /*
- * Q3GeneralPolygon_GetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_GetVertexPosition(
- TQ3GeometryObject generalPolygon,
- unsigned long contourIndex,
- unsigned long pointIndex,
- TQ3Point3D * position);
-
-
- /*
- * Q3GeneralPolygon_SetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_SetVertexPosition(
- TQ3GeometryObject generalPolygon,
- unsigned long contourIndex,
- unsigned long pointIndex,
- const TQ3Point3D * position);
-
-
- /*
- * Q3GeneralPolygon_GetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_GetVertexAttributeSet(
- TQ3GeometryObject generalPolygon,
- unsigned long contourIndex,
- unsigned long pointIndex,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3GeneralPolygon_SetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_SetVertexAttributeSet(
- TQ3GeometryObject generalPolygon,
- unsigned long contourIndex,
- unsigned long pointIndex,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Q3GeneralPolygon_SetShapeHint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_SetShapeHint(
- TQ3GeometryObject generalPolygon,
- TQ3GeneralPolygonShapeHint shapeHint);
-
-
- /*
- * Q3GeneralPolygon_GetShapeHint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3GeneralPolygon_GetShapeHint(
- TQ3GeometryObject generalPolygon,
- TQ3GeneralPolygonShapeHint * shapeHint);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Line Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3GeneralPolygon_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3GeneralPolygon_New(const TQ3GeneralPolygonData * generalPolygonData);
+
+
+/*
+ * Q3GeneralPolygon_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_Submit(
+ const TQ3GeneralPolygonData * generalPolygonData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3GeneralPolygon_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_SetData(
+ TQ3GeometryObject generalPolygon,
+ const TQ3GeneralPolygonData * generalPolygonData);
+
+
+/*
+ * Q3GeneralPolygon_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_GetData(
+ TQ3GeometryObject polygon,
+ TQ3GeneralPolygonData * generalPolygonData);
+
+
+/*
+ * Q3GeneralPolygon_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_EmptyData(TQ3GeneralPolygonData * generalPolygonData);
+
+
+/*
+ * Q3GeneralPolygon_GetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_GetVertexPosition(
+ TQ3GeometryObject generalPolygon,
+ unsigned long contourIndex,
+ unsigned long pointIndex,
+ TQ3Point3D * position);
+
+
+/*
+ * Q3GeneralPolygon_SetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_SetVertexPosition(
+ TQ3GeometryObject generalPolygon,
+ unsigned long contourIndex,
+ unsigned long pointIndex,
+ const TQ3Point3D * position);
+
+
+/*
+ * Q3GeneralPolygon_GetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_GetVertexAttributeSet(
+ TQ3GeometryObject generalPolygon,
+ unsigned long contourIndex,
+ unsigned long pointIndex,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3GeneralPolygon_SetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_SetVertexAttributeSet(
+ TQ3GeometryObject generalPolygon,
+ unsigned long contourIndex,
+ unsigned long pointIndex,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Q3GeneralPolygon_SetShapeHint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_SetShapeHint(
+ TQ3GeometryObject generalPolygon,
+ TQ3GeneralPolygonShapeHint shapeHint);
+
+
+/*
+ * Q3GeneralPolygon_GetShapeHint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3GeneralPolygon_GetShapeHint(
+ TQ3GeometryObject generalPolygon,
+ TQ3GeneralPolygonShapeHint * shapeHint);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Line Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3LineData
- {
- TQ3Vertex3D vertices[2];
- TQ3AttributeSet lineAttributeSet;
- };
- typedef struct TQ3LineData TQ3LineData;
- /******************************************************************************
- ** **
- ** Line Routines **
- ** **
- *****************************************************************************/
+struct TQ3LineData {
+ TQ3Vertex3D vertices[2];
+ TQ3AttributeSet lineAttributeSet;
+};
+typedef struct TQ3LineData TQ3LineData;
+/******************************************************************************
+ ** **
+ ** Line Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Line_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Line_New(const TQ3LineData * lineData);
-
-
- /*
- * Q3Line_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Line_Submit(
- const TQ3LineData * lineData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Line_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Line_GetData(
- TQ3GeometryObject line,
- TQ3LineData * lineData);
-
-
- /*
- * Q3Line_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Line_SetData(
- TQ3GeometryObject line,
- const TQ3LineData * lineData);
-
-
- /*
- * Q3Line_GetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Line_GetVertexPosition(
- TQ3GeometryObject line,
- unsigned long index,
- TQ3Point3D * position);
-
-
- /*
- * Q3Line_SetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Line_SetVertexPosition(
- TQ3GeometryObject line,
- unsigned long index,
- const TQ3Point3D * position);
-
-
- /*
- * Q3Line_GetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Line_GetVertexAttributeSet(
- TQ3GeometryObject line,
- unsigned long index,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3Line_SetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Line_SetVertexAttributeSet(
- TQ3GeometryObject line,
- unsigned long index,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Q3Line_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Line_EmptyData(TQ3LineData * lineData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Marker Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Line_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Line_New(const TQ3LineData * lineData);
+
+
+/*
+ * Q3Line_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Line_Submit(
+ const TQ3LineData * lineData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Line_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Line_GetData(
+ TQ3GeometryObject line,
+ TQ3LineData * lineData);
+
+
+/*
+ * Q3Line_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Line_SetData(
+ TQ3GeometryObject line,
+ const TQ3LineData * lineData);
+
+
+/*
+ * Q3Line_GetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Line_GetVertexPosition(
+ TQ3GeometryObject line,
+ unsigned long index,
+ TQ3Point3D * position);
+
+
+/*
+ * Q3Line_SetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Line_SetVertexPosition(
+ TQ3GeometryObject line,
+ unsigned long index,
+ const TQ3Point3D * position);
+
+
+/*
+ * Q3Line_GetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Line_GetVertexAttributeSet(
+ TQ3GeometryObject line,
+ unsigned long index,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3Line_SetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Line_SetVertexAttributeSet(
+ TQ3GeometryObject line,
+ unsigned long index,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Q3Line_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Line_EmptyData(TQ3LineData * lineData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Marker Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3MarkerData
- {
- TQ3Point3D location;
- long xOffset;
- long yOffset;
- TQ3Bitmap bitmap;
- TQ3AttributeSet markerAttributeSet;
- };
- typedef struct TQ3MarkerData TQ3MarkerData;
- /******************************************************************************
- ** **
- ** Marker Routines **
- ** **
- *****************************************************************************/
+struct TQ3MarkerData {
+ TQ3Point3D location;
+ long xOffset;
+ long yOffset;
+ TQ3Bitmap bitmap;
+ TQ3AttributeSet markerAttributeSet;
+};
+typedef struct TQ3MarkerData TQ3MarkerData;
+/******************************************************************************
+ ** **
+ ** Marker Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Marker_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Marker_New(const TQ3MarkerData * markerData);
-
-
- /*
- * Q3Marker_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_Submit(
- const TQ3MarkerData * markerData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Marker_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_SetData(
- TQ3GeometryObject geometry,
- const TQ3MarkerData * markerData);
-
-
- /*
- * Q3Marker_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_GetData(
- TQ3GeometryObject geometry,
- TQ3MarkerData * markerData);
-
-
- /*
- * Q3Marker_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_EmptyData(TQ3MarkerData * markerData);
-
-
- /*
- * Q3Marker_GetPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_GetPosition(
- TQ3GeometryObject marker,
- TQ3Point3D * location);
-
-
- /*
- * Q3Marker_SetPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_SetPosition(
- TQ3GeometryObject marker,
- const TQ3Point3D * location);
-
-
- /*
- * Q3Marker_GetXOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_GetXOffset(
- TQ3GeometryObject marker,
- long * xOffset);
-
-
- /*
- * Q3Marker_SetXOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_SetXOffset(
- TQ3GeometryObject marker,
- long xOffset);
-
-
- /*
- * Q3Marker_GetYOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_GetYOffset(
- TQ3GeometryObject marker,
- long * yOffset);
-
-
- /*
- * Q3Marker_SetYOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_SetYOffset(
- TQ3GeometryObject marker,
- long yOffset);
-
-
- /*
- * Q3Marker_GetBitmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_GetBitmap(
- TQ3GeometryObject marker,
- TQ3Bitmap * bitmap);
-
-
- /*
- * Q3Marker_SetBitmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Marker_SetBitmap(
- TQ3GeometryObject marker,
- const TQ3Bitmap * bitmap);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Mesh Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Marker_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Marker_New(const TQ3MarkerData * markerData);
+
+
+/*
+ * Q3Marker_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_Submit(
+ const TQ3MarkerData * markerData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Marker_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_SetData(
+ TQ3GeometryObject geometry,
+ const TQ3MarkerData * markerData);
+
+
+/*
+ * Q3Marker_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_GetData(
+ TQ3GeometryObject geometry,
+ TQ3MarkerData * markerData);
+
+
+/*
+ * Q3Marker_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_EmptyData(TQ3MarkerData * markerData);
+
+
+/*
+ * Q3Marker_GetPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_GetPosition(
+ TQ3GeometryObject marker,
+ TQ3Point3D * location);
+
+
+/*
+ * Q3Marker_SetPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_SetPosition(
+ TQ3GeometryObject marker,
+ const TQ3Point3D * location);
+
+
+/*
+ * Q3Marker_GetXOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_GetXOffset(
+ TQ3GeometryObject marker,
+ long * xOffset);
+
+
+/*
+ * Q3Marker_SetXOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_SetXOffset(
+ TQ3GeometryObject marker,
+ long xOffset);
+
+
+/*
+ * Q3Marker_GetYOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_GetYOffset(
+ TQ3GeometryObject marker,
+ long * yOffset);
+
+
+/*
+ * Q3Marker_SetYOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_SetYOffset(
+ TQ3GeometryObject marker,
+ long yOffset);
+
+
+/*
+ * Q3Marker_GetBitmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_GetBitmap(
+ TQ3GeometryObject marker,
+ TQ3Bitmap * bitmap);
+
+
+/*
+ * Q3Marker_SetBitmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Marker_SetBitmap(
+ TQ3GeometryObject marker,
+ const TQ3Bitmap * bitmap);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Mesh Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- typedef struct OpaqueTQ3MeshComponent* TQ3MeshComponent;
- typedef struct OpaqueTQ3MeshVertex* TQ3MeshVertex;
- typedef struct OpaqueTQ3MeshFace* TQ3MeshFace;
- typedef struct OpaqueTQ3MeshEdge* TQ3MeshEdge;
- typedef struct OpaqueTQ3MeshContour* TQ3MeshContour;
- /******************************************************************************
- ** **
- ** Mesh Routines **
- ** **
- *****************************************************************************/
- /*
- * Constructors
- */
+typedef struct OpaqueTQ3MeshComponent* TQ3MeshComponent;
+typedef struct OpaqueTQ3MeshVertex* TQ3MeshVertex;
+typedef struct OpaqueTQ3MeshFace* TQ3MeshFace;
+typedef struct OpaqueTQ3MeshEdge* TQ3MeshEdge;
+typedef struct OpaqueTQ3MeshContour* TQ3MeshContour;
+/******************************************************************************
+ ** **
+ ** Mesh Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Constructors
+ */
#if CALL_NOT_IN_CARBON
- /*
- * Q3Mesh_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Mesh_New(void);
-
-
- /*
- * Q3Mesh_VertexNew()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_VertexNew(
- TQ3GeometryObject mesh,
- const TQ3Vertex3D * vertex);
-
-
- /*
- * Q3Mesh_FaceNew()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_FaceNew(
- TQ3GeometryObject mesh,
- unsigned long numVertices,
- const TQ3MeshVertex * vertices,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Destructors
- */
- /*
- * Q3Mesh_VertexDelete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_VertexDelete(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex);
-
-
- /*
- * Q3Mesh_FaceDelete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_FaceDelete(
- TQ3GeometryObject mesh,
- TQ3MeshFace face);
-
-
- /*
- * Methods
- */
- /*
- * Q3Mesh_DelayUpdates()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_DelayUpdates(TQ3GeometryObject mesh);
-
-
- /*
- * Q3Mesh_ResumeUpdates()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_ResumeUpdates(TQ3GeometryObject mesh);
-
-
- /*
- * Q3Mesh_FaceToContour()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshContour)
- Q3Mesh_FaceToContour(
- TQ3GeometryObject mesh,
- TQ3MeshFace containerFace,
- TQ3MeshFace face);
-
-
- /*
- * Q3Mesh_ContourToFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_ContourToFace(
- TQ3GeometryObject mesh,
- TQ3MeshContour contour);
-
-
- /*
- * Mesh
- */
- /*
- * Q3Mesh_GetNumComponents()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetNumComponents(
- TQ3GeometryObject mesh,
- unsigned long * numComponents);
-
-
- /*
- * Q3Mesh_GetNumEdges()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetNumEdges(
- TQ3GeometryObject mesh,
- unsigned long * numEdges);
-
-
- /*
- * Q3Mesh_GetNumVertices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetNumVertices(
- TQ3GeometryObject mesh,
- unsigned long * numVertices);
-
-
- /*
- * Q3Mesh_GetNumFaces()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetNumFaces(
- TQ3GeometryObject mesh,
- unsigned long * numFaces);
-
-
- /*
- * Q3Mesh_GetNumCorners()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetNumCorners(
- TQ3GeometryObject mesh,
- unsigned long * numCorners);
-
-
- /*
- * Q3Mesh_GetOrientable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetOrientable(
- TQ3GeometryObject mesh,
- TQ3Boolean * orientable);
-
-
- /*
- * Component
- */
- /*
- * Q3Mesh_GetComponentNumVertices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetComponentNumVertices(
- TQ3GeometryObject mesh,
- TQ3MeshComponent component,
- unsigned long * numVertices);
-
-
- /*
- * Q3Mesh_GetComponentNumEdges()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetComponentNumEdges(
- TQ3GeometryObject mesh,
- TQ3MeshComponent component,
- unsigned long * numEdges);
-
-
- /*
- * Q3Mesh_GetComponentBoundingBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetComponentBoundingBox(
- TQ3GeometryObject mesh,
- TQ3MeshComponent component,
- TQ3BoundingBox * boundingBox);
-
-
- /*
- * Q3Mesh_GetComponentOrientable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetComponentOrientable(
- TQ3GeometryObject mesh,
- TQ3MeshComponent component,
- TQ3Boolean * orientable);
-
-
- /*
- * Vertex
- */
- /*
- * Q3Mesh_GetVertexCoordinates()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetVertexCoordinates(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- TQ3Point3D * coordinates);
-
-
- /*
- * Q3Mesh_GetVertexIndex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetVertexIndex(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- unsigned long * index);
-
-
- /*
- * Q3Mesh_GetVertexOnBoundary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetVertexOnBoundary(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- TQ3Boolean * onBoundary);
-
-
- /*
- * Q3Mesh_GetVertexComponent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetVertexComponent(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- TQ3MeshComponent * component);
-
-
- /*
- * Q3Mesh_GetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetVertexAttributeSet(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- TQ3AttributeSet * attributeSet);
-
-
-
- /*
- * Q3Mesh_SetVertexCoordinates()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_SetVertexCoordinates(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- const TQ3Point3D * coordinates);
-
-
- /*
- * Q3Mesh_SetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_SetVertexAttributeSet(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- TQ3AttributeSet attributeSet);
-
-
-
- /*
- * Face
- */
- /*
- * Q3Mesh_GetFaceNumVertices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetFaceNumVertices(
- TQ3GeometryObject mesh,
- TQ3MeshFace face,
- unsigned long * numVertices);
-
-
- /*
- * Q3Mesh_GetFacePlaneEquation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetFacePlaneEquation(
- TQ3GeometryObject mesh,
- TQ3MeshFace face,
- TQ3PlaneEquation * planeEquation);
-
-
- /*
- * Q3Mesh_GetFaceNumContours()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetFaceNumContours(
- TQ3GeometryObject mesh,
- TQ3MeshFace face,
- unsigned long * numContours);
-
-
- /*
- * Q3Mesh_GetFaceIndex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetFaceIndex(
- TQ3GeometryObject mesh,
- TQ3MeshFace face,
- unsigned long * index);
-
-
- /*
- * Q3Mesh_GetFaceComponent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetFaceComponent(
- TQ3GeometryObject mesh,
- TQ3MeshFace face,
- TQ3MeshComponent * component);
-
-
- /*
- * Q3Mesh_GetFaceAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetFaceAttributeSet(
- TQ3GeometryObject mesh,
- TQ3MeshFace face,
- TQ3AttributeSet * attributeSet);
-
-
-
- /*
- * Q3Mesh_SetFaceAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_SetFaceAttributeSet(
- TQ3GeometryObject mesh,
- TQ3MeshFace face,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Edge
- */
- /*
- * Q3Mesh_GetEdgeVertices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetEdgeVertices(
- TQ3GeometryObject mesh,
- TQ3MeshEdge edge,
- TQ3MeshVertex * vertex1,
- TQ3MeshVertex * vertex2);
-
-
- /*
- * Q3Mesh_GetEdgeFaces()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetEdgeFaces(
- TQ3GeometryObject mesh,
- TQ3MeshEdge edge,
- TQ3MeshFace * face1,
- TQ3MeshFace * face2);
-
-
- /*
- * Q3Mesh_GetEdgeOnBoundary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetEdgeOnBoundary(
- TQ3GeometryObject mesh,
- TQ3MeshEdge edge,
- TQ3Boolean * onBoundary);
-
-
- /*
- * Q3Mesh_GetEdgeComponent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetEdgeComponent(
- TQ3GeometryObject mesh,
- TQ3MeshEdge edge,
- TQ3MeshComponent * component);
-
-
- /*
- * Q3Mesh_GetEdgeAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetEdgeAttributeSet(
- TQ3GeometryObject mesh,
- TQ3MeshEdge edge,
- TQ3AttributeSet * attributeSet);
-
-
-
- /*
- * Q3Mesh_SetEdgeAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_SetEdgeAttributeSet(
- TQ3GeometryObject mesh,
- TQ3MeshEdge edge,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Contour
- */
- /*
- * Q3Mesh_GetContourFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetContourFace(
- TQ3GeometryObject mesh,
- TQ3MeshContour contour,
- TQ3MeshFace * face);
-
-
- /*
- * Q3Mesh_GetContourNumVertices()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetContourNumVertices(
- TQ3GeometryObject mesh,
- TQ3MeshContour contour,
- unsigned long * numVertices);
-
-
- /*
- * Corner
- */
- /*
- * Q3Mesh_GetCornerAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_GetCornerAttributeSet(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- TQ3MeshFace face,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3Mesh_SetCornerAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Mesh_SetCornerAttributeSet(
- TQ3GeometryObject mesh,
- TQ3MeshVertex vertex,
- TQ3MeshFace face,
- TQ3AttributeSet attributeSet);
-
-
-
- /*
- * Public Mesh Iterators
- */
+/*
+ * Q3Mesh_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Mesh_New(void);
+
+
+/*
+ * Q3Mesh_VertexNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_VertexNew(
+ TQ3GeometryObject mesh,
+ const TQ3Vertex3D * vertex);
+
+
+/*
+ * Q3Mesh_FaceNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_FaceNew(
+ TQ3GeometryObject mesh,
+ unsigned long numVertices,
+ const TQ3MeshVertex * vertices,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Destructors
+ */
+/*
+ * Q3Mesh_VertexDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_VertexDelete(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex);
+
+
+/*
+ * Q3Mesh_FaceDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_FaceDelete(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace face);
+
+
+/*
+ * Methods
+ */
+/*
+ * Q3Mesh_DelayUpdates()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_DelayUpdates(TQ3GeometryObject mesh);
+
+
+/*
+ * Q3Mesh_ResumeUpdates()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_ResumeUpdates(TQ3GeometryObject mesh);
+
+
+/*
+ * Q3Mesh_FaceToContour()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshContour )
+Q3Mesh_FaceToContour(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace containerFace,
+ TQ3MeshFace face);
+
+
+/*
+ * Q3Mesh_ContourToFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_ContourToFace(
+ TQ3GeometryObject mesh,
+ TQ3MeshContour contour);
+
+
+/*
+ * Mesh
+ */
+/*
+ * Q3Mesh_GetNumComponents()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetNumComponents(
+ TQ3GeometryObject mesh,
+ unsigned long * numComponents);
+
+
+/*
+ * Q3Mesh_GetNumEdges()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetNumEdges(
+ TQ3GeometryObject mesh,
+ unsigned long * numEdges);
+
+
+/*
+ * Q3Mesh_GetNumVertices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetNumVertices(
+ TQ3GeometryObject mesh,
+ unsigned long * numVertices);
+
+
+/*
+ * Q3Mesh_GetNumFaces()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetNumFaces(
+ TQ3GeometryObject mesh,
+ unsigned long * numFaces);
+
+
+/*
+ * Q3Mesh_GetNumCorners()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetNumCorners(
+ TQ3GeometryObject mesh,
+ unsigned long * numCorners);
+
+
+/*
+ * Q3Mesh_GetOrientable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetOrientable(
+ TQ3GeometryObject mesh,
+ TQ3Boolean * orientable);
+
+
+/*
+ * Component
+ */
+/*
+ * Q3Mesh_GetComponentNumVertices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetComponentNumVertices(
+ TQ3GeometryObject mesh,
+ TQ3MeshComponent component,
+ unsigned long * numVertices);
+
+
+/*
+ * Q3Mesh_GetComponentNumEdges()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetComponentNumEdges(
+ TQ3GeometryObject mesh,
+ TQ3MeshComponent component,
+ unsigned long * numEdges);
+
+
+/*
+ * Q3Mesh_GetComponentBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetComponentBoundingBox(
+ TQ3GeometryObject mesh,
+ TQ3MeshComponent component,
+ TQ3BoundingBox * boundingBox);
+
+
+/*
+ * Q3Mesh_GetComponentOrientable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetComponentOrientable(
+ TQ3GeometryObject mesh,
+ TQ3MeshComponent component,
+ TQ3Boolean * orientable);
+
+
+/*
+ * Vertex
+ */
+/*
+ * Q3Mesh_GetVertexCoordinates()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetVertexCoordinates(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ TQ3Point3D * coordinates);
+
+
+/*
+ * Q3Mesh_GetVertexIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetVertexIndex(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ unsigned long * index);
+
+
+/*
+ * Q3Mesh_GetVertexOnBoundary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetVertexOnBoundary(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ TQ3Boolean * onBoundary);
+
+
+/*
+ * Q3Mesh_GetVertexComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetVertexComponent(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ TQ3MeshComponent * component);
+
+
+/*
+ * Q3Mesh_GetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetVertexAttributeSet(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ TQ3AttributeSet * attributeSet);
+
+
+
+/*
+ * Q3Mesh_SetVertexCoordinates()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_SetVertexCoordinates(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ const TQ3Point3D * coordinates);
+
+
+/*
+ * Q3Mesh_SetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_SetVertexAttributeSet(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ TQ3AttributeSet attributeSet);
+
+
+
+/*
+ * Face
+ */
+/*
+ * Q3Mesh_GetFaceNumVertices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetFaceNumVertices(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace face,
+ unsigned long * numVertices);
+
+
+/*
+ * Q3Mesh_GetFacePlaneEquation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetFacePlaneEquation(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace face,
+ TQ3PlaneEquation * planeEquation);
+
+
+/*
+ * Q3Mesh_GetFaceNumContours()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetFaceNumContours(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace face,
+ unsigned long * numContours);
+
+
+/*
+ * Q3Mesh_GetFaceIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetFaceIndex(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace face,
+ unsigned long * index);
+
+
+/*
+ * Q3Mesh_GetFaceComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetFaceComponent(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace face,
+ TQ3MeshComponent * component);
+
+
+/*
+ * Q3Mesh_GetFaceAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetFaceAttributeSet(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace face,
+ TQ3AttributeSet * attributeSet);
+
+
+
+/*
+ * Q3Mesh_SetFaceAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_SetFaceAttributeSet(
+ TQ3GeometryObject mesh,
+ TQ3MeshFace face,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Edge
+ */
+/*
+ * Q3Mesh_GetEdgeVertices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetEdgeVertices(
+ TQ3GeometryObject mesh,
+ TQ3MeshEdge edge,
+ TQ3MeshVertex * vertex1,
+ TQ3MeshVertex * vertex2);
+
+
+/*
+ * Q3Mesh_GetEdgeFaces()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetEdgeFaces(
+ TQ3GeometryObject mesh,
+ TQ3MeshEdge edge,
+ TQ3MeshFace * face1,
+ TQ3MeshFace * face2);
+
+
+/*
+ * Q3Mesh_GetEdgeOnBoundary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetEdgeOnBoundary(
+ TQ3GeometryObject mesh,
+ TQ3MeshEdge edge,
+ TQ3Boolean * onBoundary);
+
+
+/*
+ * Q3Mesh_GetEdgeComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetEdgeComponent(
+ TQ3GeometryObject mesh,
+ TQ3MeshEdge edge,
+ TQ3MeshComponent * component);
+
+
+/*
+ * Q3Mesh_GetEdgeAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetEdgeAttributeSet(
+ TQ3GeometryObject mesh,
+ TQ3MeshEdge edge,
+ TQ3AttributeSet * attributeSet);
+
+
+
+/*
+ * Q3Mesh_SetEdgeAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_SetEdgeAttributeSet(
+ TQ3GeometryObject mesh,
+ TQ3MeshEdge edge,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Contour
+ */
+/*
+ * Q3Mesh_GetContourFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetContourFace(
+ TQ3GeometryObject mesh,
+ TQ3MeshContour contour,
+ TQ3MeshFace * face);
+
+
+/*
+ * Q3Mesh_GetContourNumVertices()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetContourNumVertices(
+ TQ3GeometryObject mesh,
+ TQ3MeshContour contour,
+ unsigned long * numVertices);
+
+
+/*
+ * Corner
+ */
+/*
+ * Q3Mesh_GetCornerAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_GetCornerAttributeSet(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ TQ3MeshFace face,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3Mesh_SetCornerAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Mesh_SetCornerAttributeSet(
+ TQ3GeometryObject mesh,
+ TQ3MeshVertex vertex,
+ TQ3MeshFace face,
+ TQ3AttributeSet attributeSet);
+
+
+
+/*
+ * Public Mesh Iterators
+ */
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3MeshIterator
- {
- void * var1;
- void * var2;
- void * var3;
- struct
- {
- void * field1;
- char field2[4];
- } var4;
- };
- typedef struct TQ3MeshIterator TQ3MeshIterator;
+struct TQ3MeshIterator {
+ void * var1;
+ void * var2;
+ void * var3;
+ struct {
+ void * field1;
+ char field2[4];
+ } var4;
+};
+typedef struct TQ3MeshIterator TQ3MeshIterator;
#if CALL_NOT_IN_CARBON
- /*
- * Q3Mesh_FirstMeshComponent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshComponent)
- Q3Mesh_FirstMeshComponent(
- TQ3GeometryObject mesh,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextMeshComponent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshComponent)
- Q3Mesh_NextMeshComponent(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstComponentVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_FirstComponentVertex(
- TQ3MeshComponent component,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextComponentVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_NextComponentVertex(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstComponentEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_FirstComponentEdge(
- TQ3MeshComponent component,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextComponentEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_NextComponentEdge(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstMeshVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_FirstMeshVertex(
- TQ3GeometryObject mesh,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextMeshVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_NextMeshVertex(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstMeshFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_FirstMeshFace(
- TQ3GeometryObject mesh,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextMeshFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_NextMeshFace(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstMeshEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_FirstMeshEdge(
- TQ3GeometryObject mesh,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextMeshEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_NextMeshEdge(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstVertexEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_FirstVertexEdge(
- TQ3MeshVertex vertex,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextVertexEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_NextVertexEdge(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstVertexVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_FirstVertexVertex(
- TQ3MeshVertex vertex,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextVertexVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_NextVertexVertex(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstVertexFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_FirstVertexFace(
- TQ3MeshVertex vertex,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextVertexFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_NextVertexFace(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstFaceEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_FirstFaceEdge(
- TQ3MeshFace face,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextFaceEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_NextFaceEdge(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstFaceVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_FirstFaceVertex(
- TQ3MeshFace face,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextFaceVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_NextFaceVertex(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstFaceFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_FirstFaceFace(
- TQ3MeshFace face,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextFaceFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_NextFaceFace(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstFaceContour()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshContour)
- Q3Mesh_FirstFaceContour(
- TQ3MeshFace face,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextFaceContour()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshContour)
- Q3Mesh_NextFaceContour(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstContourEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_FirstContourEdge(
- TQ3MeshContour contour,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextContourEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshEdge)
- Q3Mesh_NextContourEdge(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstContourVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_FirstContourVertex(
- TQ3MeshContour contour,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextContourVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshVertex)
- Q3Mesh_NextContourVertex(TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_FirstContourFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_FirstContourFace(
- TQ3MeshContour contour,
- TQ3MeshIterator * iterator);
-
-
- /*
- * Q3Mesh_NextContourFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3MeshFace)
- Q3Mesh_NextContourFace(TQ3MeshIterator * iterator);
+/*
+ * Q3Mesh_FirstMeshComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshComponent )
+Q3Mesh_FirstMeshComponent(
+ TQ3GeometryObject mesh,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextMeshComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshComponent )
+Q3Mesh_NextMeshComponent(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstComponentVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_FirstComponentVertex(
+ TQ3MeshComponent component,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextComponentVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_NextComponentVertex(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstComponentEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_FirstComponentEdge(
+ TQ3MeshComponent component,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextComponentEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_NextComponentEdge(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstMeshVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_FirstMeshVertex(
+ TQ3GeometryObject mesh,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextMeshVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_NextMeshVertex(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstMeshFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_FirstMeshFace(
+ TQ3GeometryObject mesh,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextMeshFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_NextMeshFace(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstMeshEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_FirstMeshEdge(
+ TQ3GeometryObject mesh,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextMeshEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_NextMeshEdge(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstVertexEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_FirstVertexEdge(
+ TQ3MeshVertex vertex,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextVertexEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_NextVertexEdge(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstVertexVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_FirstVertexVertex(
+ TQ3MeshVertex vertex,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextVertexVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_NextVertexVertex(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstVertexFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_FirstVertexFace(
+ TQ3MeshVertex vertex,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextVertexFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_NextVertexFace(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstFaceEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_FirstFaceEdge(
+ TQ3MeshFace face,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextFaceEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_NextFaceEdge(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstFaceVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_FirstFaceVertex(
+ TQ3MeshFace face,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextFaceVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_NextFaceVertex(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstFaceFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_FirstFaceFace(
+ TQ3MeshFace face,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextFaceFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_NextFaceFace(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstFaceContour()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshContour )
+Q3Mesh_FirstFaceContour(
+ TQ3MeshFace face,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextFaceContour()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshContour )
+Q3Mesh_NextFaceContour(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstContourEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_FirstContourEdge(
+ TQ3MeshContour contour,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextContourEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshEdge )
+Q3Mesh_NextContourEdge(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstContourVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_FirstContourVertex(
+ TQ3MeshContour contour,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextContourVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshVertex )
+Q3Mesh_NextContourVertex(TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_FirstContourFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_FirstContourFace(
+ TQ3MeshContour contour,
+ TQ3MeshIterator * iterator);
+
+
+/*
+ * Q3Mesh_NextContourFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3MeshFace )
+Q3Mesh_NextContourFace(TQ3MeshIterator * iterator);
@@ -3222,7 +3209,7 @@ extern "C" {
for ( (v) = Q3Mesh_FirstComponentVertex((c),(i)); \
(v); \
(v) = Q3Mesh_NextComponentVertex((i)) )
-
+
#define Q3ForEachComponentEdge(c,e,i) \
for ( (e) = Q3Mesh_FirstComponentEdge((c),(i)); \
(e); \
@@ -3268,12 +3255,12 @@ extern "C" {
for ( (v) = Q3Mesh_FirstFaceVertex((f),(i)); \
(v); \
(v) = Q3Mesh_NextFaceVertex((i)) )
-
+
#define Q3ForEachFaceFace(f,n,i) \
for ( (n) = Q3Mesh_FirstFaceFace((f),(i)); \
(n); \
(n) = Q3Mesh_NextFaceFace((i)) )
-
+
#define Q3ForEachFaceContour(f,h,i) \
for ( (h) = Q3Mesh_FirstFaceContour((f),(i)); \
(h); \
@@ -3296,1951 +3283,1932 @@ extern "C" {
- /******************************************************************************
- ** **
- ** Maximum order for NURB Curves **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Maximum order for NURB Curves **
+ ** **
+ *****************************************************************************/
#define kQ3NURBCurveMaxOrder 16
- /******************************************************************************
- ** **
- ** NURB Data Structure Definitions **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** NURB Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3NURBCurveData
- {
- unsigned long order;
- unsigned long numPoints;
- TQ3RationalPoint4D * controlPoints;
- float * knots;
- TQ3AttributeSet curveAttributeSet;
- };
- typedef struct TQ3NURBCurveData TQ3NURBCurveData;
- /******************************************************************************
- ** **
- ** NURB Curve Routines **
- ** **
- *****************************************************************************/
+struct TQ3NURBCurveData {
+ unsigned long order;
+ unsigned long numPoints;
+ TQ3RationalPoint4D * controlPoints;
+ float * knots;
+ TQ3AttributeSet curveAttributeSet;
+};
+typedef struct TQ3NURBCurveData TQ3NURBCurveData;
+/******************************************************************************
+ ** **
+ ** NURB Curve Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3NURBCurve_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3NURBCurve_New(const TQ3NURBCurveData * curveData);
-
-
- /*
- * Q3NURBCurve_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBCurve_Submit(
- const TQ3NURBCurveData * curveData,
- TQ3ViewObject view);
-
-
- /*
- * Q3NURBCurve_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBCurve_SetData(
- TQ3GeometryObject curve,
- const TQ3NURBCurveData * nurbCurveData);
-
-
- /*
- * Q3NURBCurve_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBCurve_GetData(
- TQ3GeometryObject curve,
- TQ3NURBCurveData * nurbCurveData);
-
-
- /*
- * Q3NURBCurve_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBCurve_EmptyData(TQ3NURBCurveData * nurbCurveData);
-
-
- /*
- * Q3NURBCurve_SetControlPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBCurve_SetControlPoint(
- TQ3GeometryObject curve,
- unsigned long pointIndex,
- const TQ3RationalPoint4D * point4D);
-
-
- /*
- * Q3NURBCurve_GetControlPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBCurve_GetControlPoint(
- TQ3GeometryObject curve,
- unsigned long pointIndex,
- TQ3RationalPoint4D * point4D);
-
-
- /*
- * Q3NURBCurve_SetKnot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBCurve_SetKnot(
- TQ3GeometryObject curve,
- unsigned long knotIndex,
- float knotValue);
-
-
- /*
- * Q3NURBCurve_GetKnot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBCurve_GetKnot(
- TQ3GeometryObject curve,
- unsigned long knotIndex,
- float * knotValue);
-
-
-
- /******************************************************************************
- ** **
- ** Maximum NURB Patch Order **
- ** **
- *****************************************************************************/
+/*
+ * Q3NURBCurve_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3NURBCurve_New(const TQ3NURBCurveData * curveData);
+
+
+/*
+ * Q3NURBCurve_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBCurve_Submit(
+ const TQ3NURBCurveData * curveData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3NURBCurve_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBCurve_SetData(
+ TQ3GeometryObject curve,
+ const TQ3NURBCurveData * nurbCurveData);
+
+
+/*
+ * Q3NURBCurve_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBCurve_GetData(
+ TQ3GeometryObject curve,
+ TQ3NURBCurveData * nurbCurveData);
+
+
+/*
+ * Q3NURBCurve_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBCurve_EmptyData(TQ3NURBCurveData * nurbCurveData);
+
+
+/*
+ * Q3NURBCurve_SetControlPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBCurve_SetControlPoint(
+ TQ3GeometryObject curve,
+ unsigned long pointIndex,
+ const TQ3RationalPoint4D * point4D);
+
+
+/*
+ * Q3NURBCurve_GetControlPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBCurve_GetControlPoint(
+ TQ3GeometryObject curve,
+ unsigned long pointIndex,
+ TQ3RationalPoint4D * point4D);
+
+
+/*
+ * Q3NURBCurve_SetKnot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBCurve_SetKnot(
+ TQ3GeometryObject curve,
+ unsigned long knotIndex,
+ float knotValue);
+
+
+/*
+ * Q3NURBCurve_GetKnot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBCurve_GetKnot(
+ TQ3GeometryObject curve,
+ unsigned long knotIndex,
+ float * knotValue);
+
+
+
+/******************************************************************************
+ ** **
+ ** Maximum NURB Patch Order **
+ ** **
+ *****************************************************************************/
#define kQ3NURBPatchMaxOrder 11
- /******************************************************************************
- ** **
- ** NURB Patch Data Structure Definitions **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** NURB Patch Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3NURBPatchTrimCurveData
- {
- unsigned long order;
- unsigned long numPoints;
- TQ3RationalPoint3D * controlPoints;
- float * knots;
- };
- typedef struct TQ3NURBPatchTrimCurveData TQ3NURBPatchTrimCurveData;
- struct TQ3NURBPatchTrimLoopData
- {
- unsigned long numTrimCurves;
- TQ3NURBPatchTrimCurveData * trimCurves;
- };
- typedef struct TQ3NURBPatchTrimLoopData TQ3NURBPatchTrimLoopData;
- struct TQ3NURBPatchData
- {
- unsigned long uOrder;
- unsigned long vOrder;
- unsigned long numRows;
- unsigned long numColumns;
- TQ3RationalPoint4D * controlPoints;
- float * uKnots;
- float * vKnots;
- unsigned long numTrimLoops;
- TQ3NURBPatchTrimLoopData * trimLoops;
- TQ3AttributeSet patchAttributeSet;
- };
- typedef struct TQ3NURBPatchData TQ3NURBPatchData;
- /******************************************************************************
- ** **
- ** NURB Patch Routines **
- ** **
- *****************************************************************************/
+struct TQ3NURBPatchTrimCurveData {
+ unsigned long order;
+ unsigned long numPoints;
+ TQ3RationalPoint3D * controlPoints;
+ float * knots;
+};
+typedef struct TQ3NURBPatchTrimCurveData TQ3NURBPatchTrimCurveData;
+struct TQ3NURBPatchTrimLoopData {
+ unsigned long numTrimCurves;
+ TQ3NURBPatchTrimCurveData * trimCurves;
+};
+typedef struct TQ3NURBPatchTrimLoopData TQ3NURBPatchTrimLoopData;
+struct TQ3NURBPatchData {
+ unsigned long uOrder;
+ unsigned long vOrder;
+ unsigned long numRows;
+ unsigned long numColumns;
+ TQ3RationalPoint4D * controlPoints;
+ float * uKnots;
+ float * vKnots;
+ unsigned long numTrimLoops;
+ TQ3NURBPatchTrimLoopData * trimLoops;
+ TQ3AttributeSet patchAttributeSet;
+};
+typedef struct TQ3NURBPatchData TQ3NURBPatchData;
+/******************************************************************************
+ ** **
+ ** NURB Patch Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3NURBPatch_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3NURBPatch_New(const TQ3NURBPatchData * nurbPatchData);
-
-
- /*
- * Q3NURBPatch_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_Submit(
- const TQ3NURBPatchData * nurbPatchData,
- TQ3ViewObject view);
-
-
- /*
- * Q3NURBPatch_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_SetData(
- TQ3GeometryObject nurbPatch,
- const TQ3NURBPatchData * nurbPatchData);
-
-
- /*
- * Q3NURBPatch_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_GetData(
- TQ3GeometryObject nurbPatch,
- TQ3NURBPatchData * nurbPatchData);
-
-
- /*
- * Q3NURBPatch_SetControlPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_SetControlPoint(
- TQ3GeometryObject nurbPatch,
- unsigned long rowIndex,
- unsigned long columnIndex,
- const TQ3RationalPoint4D * point4D);
-
-
- /*
- * Q3NURBPatch_GetControlPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_GetControlPoint(
- TQ3GeometryObject nurbPatch,
- unsigned long rowIndex,
- unsigned long columnIndex,
- TQ3RationalPoint4D * point4D);
-
-
- /*
- * Q3NURBPatch_SetUKnot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_SetUKnot(
- TQ3GeometryObject nurbPatch,
- unsigned long knotIndex,
- float knotValue);
-
-
- /*
- * Q3NURBPatch_SetVKnot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_SetVKnot(
- TQ3GeometryObject nurbPatch,
- unsigned long knotIndex,
- float knotValue);
-
-
- /*
- * Q3NURBPatch_GetUKnot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_GetUKnot(
- TQ3GeometryObject nurbPatch,
- unsigned long knotIndex,
- float * knotValue);
-
-
- /*
- * Q3NURBPatch_GetVKnot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_GetVKnot(
- TQ3GeometryObject nurbPatch,
- unsigned long knotIndex,
- float * knotValue);
-
-
- /*
- * Q3NURBPatch_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NURBPatch_EmptyData(TQ3NURBPatchData * nurbPatchData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Pixmap Marker Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3NURBPatch_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3NURBPatch_New(const TQ3NURBPatchData * nurbPatchData);
+
+
+/*
+ * Q3NURBPatch_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_Submit(
+ const TQ3NURBPatchData * nurbPatchData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3NURBPatch_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_SetData(
+ TQ3GeometryObject nurbPatch,
+ const TQ3NURBPatchData * nurbPatchData);
+
+
+/*
+ * Q3NURBPatch_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_GetData(
+ TQ3GeometryObject nurbPatch,
+ TQ3NURBPatchData * nurbPatchData);
+
+
+/*
+ * Q3NURBPatch_SetControlPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_SetControlPoint(
+ TQ3GeometryObject nurbPatch,
+ unsigned long rowIndex,
+ unsigned long columnIndex,
+ const TQ3RationalPoint4D * point4D);
+
+
+/*
+ * Q3NURBPatch_GetControlPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_GetControlPoint(
+ TQ3GeometryObject nurbPatch,
+ unsigned long rowIndex,
+ unsigned long columnIndex,
+ TQ3RationalPoint4D * point4D);
+
+
+/*
+ * Q3NURBPatch_SetUKnot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_SetUKnot(
+ TQ3GeometryObject nurbPatch,
+ unsigned long knotIndex,
+ float knotValue);
+
+
+/*
+ * Q3NURBPatch_SetVKnot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_SetVKnot(
+ TQ3GeometryObject nurbPatch,
+ unsigned long knotIndex,
+ float knotValue);
+
+
+/*
+ * Q3NURBPatch_GetUKnot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_GetUKnot(
+ TQ3GeometryObject nurbPatch,
+ unsigned long knotIndex,
+ float * knotValue);
+
+
+/*
+ * Q3NURBPatch_GetVKnot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_GetVKnot(
+ TQ3GeometryObject nurbPatch,
+ unsigned long knotIndex,
+ float * knotValue);
+
+
+/*
+ * Q3NURBPatch_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NURBPatch_EmptyData(TQ3NURBPatchData * nurbPatchData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Pixmap Marker Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3PixmapMarkerData
- {
- TQ3Point3D position;
- long xOffset;
- long yOffset;
- TQ3StoragePixmap pixmap;
- TQ3AttributeSet pixmapMarkerAttributeSet;
- };
- typedef struct TQ3PixmapMarkerData TQ3PixmapMarkerData;
- /******************************************************************************
- ** **
- ** Pixmap Marker Routines **
- ** **
- *****************************************************************************/
+struct TQ3PixmapMarkerData {
+ TQ3Point3D position;
+ long xOffset;
+ long yOffset;
+ TQ3StoragePixmap pixmap;
+ TQ3AttributeSet pixmapMarkerAttributeSet;
+};
+typedef struct TQ3PixmapMarkerData TQ3PixmapMarkerData;
+/******************************************************************************
+ ** **
+ ** Pixmap Marker Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3PixmapMarker_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3PixmapMarker_New(const TQ3PixmapMarkerData * pixmapMarkerData);
-
-
- /*
- * Q3PixmapMarker_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_Submit(
- const TQ3PixmapMarkerData * pixmapMarkerData,
- TQ3ViewObject view);
-
-
- /*
- * Q3PixmapMarker_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_SetData(
- TQ3GeometryObject geometry,
- const TQ3PixmapMarkerData * pixmapMarkerData);
-
-
- /*
- * Q3PixmapMarker_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_GetData(
- TQ3GeometryObject geometry,
- TQ3PixmapMarkerData * pixmapMarkerData);
-
-
- /*
- * Q3PixmapMarker_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_EmptyData(TQ3PixmapMarkerData * pixmapMarkerData);
-
-
- /*
- * Q3PixmapMarker_GetPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_GetPosition(
- TQ3GeometryObject pixmapMarker,
- TQ3Point3D * position);
-
-
- /*
- * Q3PixmapMarker_SetPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_SetPosition(
- TQ3GeometryObject pixmapMarker,
- const TQ3Point3D * position);
-
-
- /*
- * Q3PixmapMarker_GetXOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_GetXOffset(
- TQ3GeometryObject pixmapMarker,
- long * xOffset);
-
-
- /*
- * Q3PixmapMarker_SetXOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_SetXOffset(
- TQ3GeometryObject pixmapMarker,
- long xOffset);
-
-
- /*
- * Q3PixmapMarker_GetYOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_GetYOffset(
- TQ3GeometryObject pixmapMarker,
- long * yOffset);
-
-
- /*
- * Q3PixmapMarker_SetYOffset()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_SetYOffset(
- TQ3GeometryObject pixmapMarker,
- long yOffset);
-
-
- /*
- * Q3PixmapMarker_GetPixmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_GetPixmap(
- TQ3GeometryObject pixmapMarker,
- TQ3StoragePixmap * pixmap);
-
-
- /*
- * Q3PixmapMarker_SetPixmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapMarker_SetPixmap(
- TQ3GeometryObject pixmapMarker,
- const TQ3StoragePixmap * pixmap);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Point Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3PixmapMarker_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3PixmapMarker_New(const TQ3PixmapMarkerData * pixmapMarkerData);
+
+
+/*
+ * Q3PixmapMarker_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_Submit(
+ const TQ3PixmapMarkerData * pixmapMarkerData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3PixmapMarker_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_SetData(
+ TQ3GeometryObject geometry,
+ const TQ3PixmapMarkerData * pixmapMarkerData);
+
+
+/*
+ * Q3PixmapMarker_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_GetData(
+ TQ3GeometryObject geometry,
+ TQ3PixmapMarkerData * pixmapMarkerData);
+
+
+/*
+ * Q3PixmapMarker_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_EmptyData(TQ3PixmapMarkerData * pixmapMarkerData);
+
+
+/*
+ * Q3PixmapMarker_GetPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_GetPosition(
+ TQ3GeometryObject pixmapMarker,
+ TQ3Point3D * position);
+
+
+/*
+ * Q3PixmapMarker_SetPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_SetPosition(
+ TQ3GeometryObject pixmapMarker,
+ const TQ3Point3D * position);
+
+
+/*
+ * Q3PixmapMarker_GetXOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_GetXOffset(
+ TQ3GeometryObject pixmapMarker,
+ long * xOffset);
+
+
+/*
+ * Q3PixmapMarker_SetXOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_SetXOffset(
+ TQ3GeometryObject pixmapMarker,
+ long xOffset);
+
+
+/*
+ * Q3PixmapMarker_GetYOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_GetYOffset(
+ TQ3GeometryObject pixmapMarker,
+ long * yOffset);
+
+
+/*
+ * Q3PixmapMarker_SetYOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_SetYOffset(
+ TQ3GeometryObject pixmapMarker,
+ long yOffset);
+
+
+/*
+ * Q3PixmapMarker_GetPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_GetPixmap(
+ TQ3GeometryObject pixmapMarker,
+ TQ3StoragePixmap * pixmap);
+
+
+/*
+ * Q3PixmapMarker_SetPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapMarker_SetPixmap(
+ TQ3GeometryObject pixmapMarker,
+ const TQ3StoragePixmap * pixmap);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Point Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3PointData
- {
- TQ3Point3D point;
- TQ3AttributeSet pointAttributeSet;
- };
- typedef struct TQ3PointData TQ3PointData;
- /******************************************************************************
- ** **
- ** Point Routines **
- ** **
- *****************************************************************************/
+struct TQ3PointData {
+ TQ3Point3D point;
+ TQ3AttributeSet pointAttributeSet;
+};
+typedef struct TQ3PointData TQ3PointData;
+/******************************************************************************
+ ** **
+ ** Point Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Point_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Point_New(const TQ3PointData * pointData);
-
-
- /*
- * Q3Point_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point_Submit(
- const TQ3PointData * pointData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Point_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point_GetData(
- TQ3GeometryObject point,
- TQ3PointData * pointData);
-
-
- /*
- * Q3Point_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point_SetData(
- TQ3GeometryObject point,
- const TQ3PointData * pointData);
-
-
- /*
- * Q3Point_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point_EmptyData(TQ3PointData * pointData);
-
-
- /*
- * Q3Point_SetPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point_SetPosition(
- TQ3GeometryObject point,
- const TQ3Point3D * position);
-
-
- /*
- * Q3Point_GetPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point_GetPosition(
- TQ3GeometryObject point,
- TQ3Point3D * position);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Polygon Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Point_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Point_New(const TQ3PointData * pointData);
+
+
+/*
+ * Q3Point_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point_Submit(
+ const TQ3PointData * pointData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Point_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point_GetData(
+ TQ3GeometryObject point,
+ TQ3PointData * pointData);
+
+
+/*
+ * Q3Point_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point_SetData(
+ TQ3GeometryObject point,
+ const TQ3PointData * pointData);
+
+
+/*
+ * Q3Point_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point_EmptyData(TQ3PointData * pointData);
+
+
+/*
+ * Q3Point_SetPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point_SetPosition(
+ TQ3GeometryObject point,
+ const TQ3Point3D * position);
+
+
+/*
+ * Q3Point_GetPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point_GetPosition(
+ TQ3GeometryObject point,
+ TQ3Point3D * position);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Polygon Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3PolygonData
- {
- unsigned long numVertices;
- TQ3Vertex3D * vertices;
- TQ3AttributeSet polygonAttributeSet;
- };
- typedef struct TQ3PolygonData TQ3PolygonData;
- /******************************************************************************
- ** **
- ** Polygon Routines **
- ** **
- *****************************************************************************/
+struct TQ3PolygonData {
+ unsigned long numVertices;
+ TQ3Vertex3D * vertices;
+ TQ3AttributeSet polygonAttributeSet;
+};
+typedef struct TQ3PolygonData TQ3PolygonData;
+/******************************************************************************
+ ** **
+ ** Polygon Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Polygon_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Polygon_New(const TQ3PolygonData * polygonData);
-
-
- /*
- * Q3Polygon_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polygon_Submit(
- const TQ3PolygonData * polygonData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Polygon_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polygon_SetData(
- TQ3GeometryObject polygon,
- const TQ3PolygonData * polygonData);
-
-
- /*
- * Q3Polygon_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polygon_GetData(
- TQ3GeometryObject polygon,
- TQ3PolygonData * polygonData);
-
-
- /*
- * Q3Polygon_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polygon_EmptyData(TQ3PolygonData * polygonData);
-
-
- /*
- * Q3Polygon_GetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polygon_GetVertexPosition(
- TQ3GeometryObject polygon,
- unsigned long index,
- TQ3Point3D * point);
-
-
- /*
- * Q3Polygon_SetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polygon_SetVertexPosition(
- TQ3GeometryObject polygon,
- unsigned long index,
- const TQ3Point3D * point);
-
-
- /*
- * Q3Polygon_GetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polygon_GetVertexAttributeSet(
- TQ3GeometryObject polygon,
- unsigned long index,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3Polygon_SetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polygon_SetVertexAttributeSet(
- TQ3GeometryObject polygon,
- unsigned long index,
- TQ3AttributeSet attributeSet);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Polyhedron Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Polygon_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Polygon_New(const TQ3PolygonData * polygonData);
+
+
+/*
+ * Q3Polygon_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polygon_Submit(
+ const TQ3PolygonData * polygonData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Polygon_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polygon_SetData(
+ TQ3GeometryObject polygon,
+ const TQ3PolygonData * polygonData);
+
+
+/*
+ * Q3Polygon_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polygon_GetData(
+ TQ3GeometryObject polygon,
+ TQ3PolygonData * polygonData);
+
+
+/*
+ * Q3Polygon_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polygon_EmptyData(TQ3PolygonData * polygonData);
+
+
+/*
+ * Q3Polygon_GetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polygon_GetVertexPosition(
+ TQ3GeometryObject polygon,
+ unsigned long index,
+ TQ3Point3D * point);
+
+
+/*
+ * Q3Polygon_SetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polygon_SetVertexPosition(
+ TQ3GeometryObject polygon,
+ unsigned long index,
+ const TQ3Point3D * point);
+
+
+/*
+ * Q3Polygon_GetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polygon_GetVertexAttributeSet(
+ TQ3GeometryObject polygon,
+ unsigned long index,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3Polygon_SetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polygon_SetVertexAttributeSet(
+ TQ3GeometryObject polygon,
+ unsigned long index,
+ TQ3AttributeSet attributeSet);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Polyhedron Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3PolyhedronEdgeMasks
- {
- kQ3PolyhedronEdgeNone = 0,
- kQ3PolyhedronEdge01 = 1 << 0,
- kQ3PolyhedronEdge12 = 1 << 1,
- kQ3PolyhedronEdge20 = 1 << 2,
- kQ3PolyhedronEdgeAll = kQ3PolyhedronEdge01 | kQ3PolyhedronEdge12 | kQ3PolyhedronEdge20
- };
- typedef enum TQ3PolyhedronEdgeMasks TQ3PolyhedronEdgeMasks;
-
-
- typedef unsigned long TQ3PolyhedronEdge;
- struct TQ3PolyhedronEdgeData
- {
- unsigned long vertexIndices[2];
- unsigned long triangleIndices[2];
- TQ3AttributeSet edgeAttributeSet;
- };
- typedef struct TQ3PolyhedronEdgeData TQ3PolyhedronEdgeData;
- struct TQ3PolyhedronTriangleData
- {
- unsigned long vertexIndices[3];
- TQ3PolyhedronEdge edgeFlag;
- TQ3AttributeSet triangleAttributeSet;
- };
- typedef struct TQ3PolyhedronTriangleData TQ3PolyhedronTriangleData;
- struct TQ3PolyhedronData
- {
- unsigned long numVertices;
- TQ3Vertex3D * vertices;
- unsigned long numEdges;
- TQ3PolyhedronEdgeData * edges;
- unsigned long numTriangles;
- TQ3PolyhedronTriangleData * triangles;
- TQ3AttributeSet polyhedronAttributeSet;
- };
- typedef struct TQ3PolyhedronData TQ3PolyhedronData;
- /******************************************************************************
- ** **
- ** Polyhedron Routines **
- ** **
- *****************************************************************************/
+enum TQ3PolyhedronEdgeMasks {
+ kQ3PolyhedronEdgeNone = 0,
+ kQ3PolyhedronEdge01 = 1 << 0,
+ kQ3PolyhedronEdge12 = 1 << 1,
+ kQ3PolyhedronEdge20 = 1 << 2,
+ kQ3PolyhedronEdgeAll = kQ3PolyhedronEdge01 | kQ3PolyhedronEdge12 | kQ3PolyhedronEdge20
+};
+typedef enum TQ3PolyhedronEdgeMasks TQ3PolyhedronEdgeMasks;
+
+
+typedef unsigned long TQ3PolyhedronEdge;
+struct TQ3PolyhedronEdgeData {
+ unsigned long vertexIndices[2];
+ unsigned long triangleIndices[2];
+ TQ3AttributeSet edgeAttributeSet;
+};
+typedef struct TQ3PolyhedronEdgeData TQ3PolyhedronEdgeData;
+struct TQ3PolyhedronTriangleData {
+ unsigned long vertexIndices[3];
+ TQ3PolyhedronEdge edgeFlag;
+ TQ3AttributeSet triangleAttributeSet;
+};
+typedef struct TQ3PolyhedronTriangleData TQ3PolyhedronTriangleData;
+struct TQ3PolyhedronData {
+ unsigned long numVertices;
+ TQ3Vertex3D * vertices;
+ unsigned long numEdges;
+ TQ3PolyhedronEdgeData * edges;
+ unsigned long numTriangles;
+ TQ3PolyhedronTriangleData * triangles;
+ TQ3AttributeSet polyhedronAttributeSet;
+};
+typedef struct TQ3PolyhedronData TQ3PolyhedronData;
+/******************************************************************************
+ ** **
+ ** Polyhedron Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Polyhedron_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Polyhedron_New(const TQ3PolyhedronData * polyhedronData);
-
-
- /*
- * Q3Polyhedron_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_Submit(
- const TQ3PolyhedronData * polyhedronData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Polyhedron_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_SetData(
- TQ3GeometryObject polyhedron,
- const TQ3PolyhedronData * polyhedronData);
-
-
- /*
- * Q3Polyhedron_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_GetData(
- TQ3GeometryObject polyhedron,
- TQ3PolyhedronData * polyhedronData);
-
-
- /*
- * Q3Polyhedron_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_EmptyData(TQ3PolyhedronData * polyhedronData);
-
-
- /*
- * Q3Polyhedron_SetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_SetVertexPosition(
- TQ3GeometryObject polyhedron,
- unsigned long index,
- const TQ3Point3D * point);
-
-
- /*
- * Q3Polyhedron_GetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_GetVertexPosition(
- TQ3GeometryObject polyhedron,
- unsigned long index,
- TQ3Point3D * point);
-
-
- /*
- * Q3Polyhedron_SetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_SetVertexAttributeSet(
- TQ3GeometryObject polyhedron,
- unsigned long index,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Q3Polyhedron_GetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_GetVertexAttributeSet(
- TQ3GeometryObject polyhedron,
- unsigned long index,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3Polyhedron_GetTriangleData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_GetTriangleData(
- TQ3GeometryObject polyhedron,
- unsigned long triangleIndex,
- TQ3PolyhedronTriangleData * triangleData);
-
-
- /*
- * Q3Polyhedron_SetTriangleData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_SetTriangleData(
- TQ3GeometryObject polyhedron,
- unsigned long triangleIndex,
- const TQ3PolyhedronTriangleData * triangleData);
-
-
- /*
- * Q3Polyhedron_GetEdgeData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_GetEdgeData(
- TQ3GeometryObject polyhedron,
- unsigned long edgeIndex,
- TQ3PolyhedronEdgeData * edgeData);
-
-
- /*
- * Q3Polyhedron_SetEdgeData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Polyhedron_SetEdgeData(
- TQ3GeometryObject polyhedron,
- unsigned long edgeIndex,
- const TQ3PolyhedronEdgeData * edgeData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** PolyLine Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Polyhedron_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Polyhedron_New(const TQ3PolyhedronData * polyhedronData);
+
+
+/*
+ * Q3Polyhedron_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_Submit(
+ const TQ3PolyhedronData * polyhedronData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Polyhedron_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_SetData(
+ TQ3GeometryObject polyhedron,
+ const TQ3PolyhedronData * polyhedronData);
+
+
+/*
+ * Q3Polyhedron_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_GetData(
+ TQ3GeometryObject polyhedron,
+ TQ3PolyhedronData * polyhedronData);
+
+
+/*
+ * Q3Polyhedron_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_EmptyData(TQ3PolyhedronData * polyhedronData);
+
+
+/*
+ * Q3Polyhedron_SetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_SetVertexPosition(
+ TQ3GeometryObject polyhedron,
+ unsigned long index,
+ const TQ3Point3D * point);
+
+
+/*
+ * Q3Polyhedron_GetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_GetVertexPosition(
+ TQ3GeometryObject polyhedron,
+ unsigned long index,
+ TQ3Point3D * point);
+
+
+/*
+ * Q3Polyhedron_SetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_SetVertexAttributeSet(
+ TQ3GeometryObject polyhedron,
+ unsigned long index,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Q3Polyhedron_GetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_GetVertexAttributeSet(
+ TQ3GeometryObject polyhedron,
+ unsigned long index,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3Polyhedron_GetTriangleData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_GetTriangleData(
+ TQ3GeometryObject polyhedron,
+ unsigned long triangleIndex,
+ TQ3PolyhedronTriangleData * triangleData);
+
+
+/*
+ * Q3Polyhedron_SetTriangleData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_SetTriangleData(
+ TQ3GeometryObject polyhedron,
+ unsigned long triangleIndex,
+ const TQ3PolyhedronTriangleData * triangleData);
+
+
+/*
+ * Q3Polyhedron_GetEdgeData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_GetEdgeData(
+ TQ3GeometryObject polyhedron,
+ unsigned long edgeIndex,
+ TQ3PolyhedronEdgeData * edgeData);
+
+
+/*
+ * Q3Polyhedron_SetEdgeData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Polyhedron_SetEdgeData(
+ TQ3GeometryObject polyhedron,
+ unsigned long edgeIndex,
+ const TQ3PolyhedronEdgeData * edgeData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** PolyLine Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3PolyLineData
- {
- unsigned long numVertices;
- TQ3Vertex3D * vertices;
- TQ3AttributeSet * segmentAttributeSet;
- TQ3AttributeSet polyLineAttributeSet;
- };
- typedef struct TQ3PolyLineData TQ3PolyLineData;
- /******************************************************************************
- ** **
- ** PolyLine Routines **
- ** **
- *****************************************************************************/
+struct TQ3PolyLineData {
+ unsigned long numVertices;
+ TQ3Vertex3D * vertices;
+ TQ3AttributeSet * segmentAttributeSet;
+ TQ3AttributeSet polyLineAttributeSet;
+};
+typedef struct TQ3PolyLineData TQ3PolyLineData;
+/******************************************************************************
+ ** **
+ ** PolyLine Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3PolyLine_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3PolyLine_New(const TQ3PolyLineData * polylineData);
-
-
- /*
- * Q3PolyLine_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_Submit(
- const TQ3PolyLineData * polyLineData,
- TQ3ViewObject view);
-
-
- /*
- * Q3PolyLine_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_SetData(
- TQ3GeometryObject polyLine,
- const TQ3PolyLineData * polyLineData);
-
-
- /*
- * Q3PolyLine_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_GetData(
- TQ3GeometryObject polyLine,
- TQ3PolyLineData * polyLineData);
-
-
- /*
- * Q3PolyLine_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_EmptyData(TQ3PolyLineData * polyLineData);
-
-
- /*
- * Q3PolyLine_GetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_GetVertexPosition(
- TQ3GeometryObject polyLine,
- unsigned long index,
- TQ3Point3D * position);
-
-
- /*
- * Q3PolyLine_SetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_SetVertexPosition(
- TQ3GeometryObject polyLine,
- unsigned long index,
- const TQ3Point3D * position);
-
-
- /*
- * Q3PolyLine_GetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_GetVertexAttributeSet(
- TQ3GeometryObject polyLine,
- unsigned long index,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3PolyLine_SetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_SetVertexAttributeSet(
- TQ3GeometryObject polyLine,
- unsigned long index,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Q3PolyLine_GetSegmentAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_GetSegmentAttributeSet(
- TQ3GeometryObject polyLine,
- unsigned long index,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3PolyLine_SetSegmentAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PolyLine_SetSegmentAttributeSet(
- TQ3GeometryObject polyLine,
- unsigned long index,
- TQ3AttributeSet attributeSet);
-
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Torus Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3PolyLine_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3PolyLine_New(const TQ3PolyLineData * polylineData);
+
+
+/*
+ * Q3PolyLine_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_Submit(
+ const TQ3PolyLineData * polyLineData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3PolyLine_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_SetData(
+ TQ3GeometryObject polyLine,
+ const TQ3PolyLineData * polyLineData);
+
+
+/*
+ * Q3PolyLine_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_GetData(
+ TQ3GeometryObject polyLine,
+ TQ3PolyLineData * polyLineData);
+
+
+/*
+ * Q3PolyLine_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_EmptyData(TQ3PolyLineData * polyLineData);
+
+
+/*
+ * Q3PolyLine_GetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_GetVertexPosition(
+ TQ3GeometryObject polyLine,
+ unsigned long index,
+ TQ3Point3D * position);
+
+
+/*
+ * Q3PolyLine_SetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_SetVertexPosition(
+ TQ3GeometryObject polyLine,
+ unsigned long index,
+ const TQ3Point3D * position);
+
+
+/*
+ * Q3PolyLine_GetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_GetVertexAttributeSet(
+ TQ3GeometryObject polyLine,
+ unsigned long index,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3PolyLine_SetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_SetVertexAttributeSet(
+ TQ3GeometryObject polyLine,
+ unsigned long index,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Q3PolyLine_GetSegmentAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_GetSegmentAttributeSet(
+ TQ3GeometryObject polyLine,
+ unsigned long index,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3PolyLine_SetSegmentAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PolyLine_SetSegmentAttributeSet(
+ TQ3GeometryObject polyLine,
+ unsigned long index,
+ TQ3AttributeSet attributeSet);
+
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Torus Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3TorusData
- {
- TQ3Point3D origin;
- TQ3Vector3D orientation;
- TQ3Vector3D majorRadius;
- TQ3Vector3D minorRadius;
- float ratio;
- float uMin;
- float uMax;
- float vMin;
- float vMax;
- TQ3EndCap caps;
- TQ3AttributeSet interiorAttributeSet;
- TQ3AttributeSet torusAttributeSet;
- };
- typedef struct TQ3TorusData TQ3TorusData;
- /******************************************************************************
- ** **
- ** Torus Routines **
- ** **
- *****************************************************************************/
+struct TQ3TorusData {
+ TQ3Point3D origin;
+ TQ3Vector3D orientation;
+ TQ3Vector3D majorRadius;
+ TQ3Vector3D minorRadius;
+ float ratio;
+ float uMin;
+ float uMax;
+ float vMin;
+ float vMax;
+ TQ3EndCap caps;
+ TQ3AttributeSet interiorAttributeSet;
+ TQ3AttributeSet torusAttributeSet;
+};
+typedef struct TQ3TorusData TQ3TorusData;
+/******************************************************************************
+ ** **
+ ** Torus Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Torus_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Torus_New(const TQ3TorusData * torusData);
-
-
- /*
- * Q3Torus_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_Submit(
- const TQ3TorusData * torusData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Torus_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_SetData(
- TQ3GeometryObject torus,
- const TQ3TorusData * torusData);
-
-
- /*
- * Q3Torus_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_GetData(
- TQ3GeometryObject torus,
- TQ3TorusData * torusData);
-
-
- /*
- * Q3Torus_SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_SetOrigin(
- TQ3GeometryObject torus,
- const TQ3Point3D * origin);
-
-
- /*
- * Q3Torus_SetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_SetOrientation(
- TQ3GeometryObject torus,
- const TQ3Vector3D * orientation);
-
-
- /*
- * Q3Torus_SetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_SetMajorRadius(
- TQ3GeometryObject torus,
- const TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Torus_SetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_SetMinorRadius(
- TQ3GeometryObject torus,
- const TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Torus_SetRatio()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_SetRatio(
- TQ3GeometryObject torus,
- float ratio);
-
-
- /*
- * Q3Torus_GetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_GetOrigin(
- TQ3GeometryObject torus,
- TQ3Point3D * origin);
-
-
- /*
- * Q3Torus_GetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_GetOrientation(
- TQ3GeometryObject torus,
- TQ3Vector3D * orientation);
-
-
- /*
- * Q3Torus_GetMajorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_GetMajorRadius(
- TQ3GeometryObject torus,
- TQ3Vector3D * majorRadius);
-
-
- /*
- * Q3Torus_GetMinorRadius()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_GetMinorRadius(
- TQ3GeometryObject torus,
- TQ3Vector3D * minorRadius);
-
-
- /*
- * Q3Torus_GetRatio()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_GetRatio(
- TQ3GeometryObject torus,
- float * ratio);
-
-
- /*
- * Q3Torus_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Torus_EmptyData(TQ3TorusData * torusData);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Triangle Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Torus_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Torus_New(const TQ3TorusData * torusData);
+
+
+/*
+ * Q3Torus_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_Submit(
+ const TQ3TorusData * torusData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Torus_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_SetData(
+ TQ3GeometryObject torus,
+ const TQ3TorusData * torusData);
+
+
+/*
+ * Q3Torus_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_GetData(
+ TQ3GeometryObject torus,
+ TQ3TorusData * torusData);
+
+
+/*
+ * Q3Torus_SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_SetOrigin(
+ TQ3GeometryObject torus,
+ const TQ3Point3D * origin);
+
+
+/*
+ * Q3Torus_SetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_SetOrientation(
+ TQ3GeometryObject torus,
+ const TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Torus_SetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_SetMajorRadius(
+ TQ3GeometryObject torus,
+ const TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Torus_SetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_SetMinorRadius(
+ TQ3GeometryObject torus,
+ const TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Torus_SetRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_SetRatio(
+ TQ3GeometryObject torus,
+ float ratio);
+
+
+/*
+ * Q3Torus_GetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_GetOrigin(
+ TQ3GeometryObject torus,
+ TQ3Point3D * origin);
+
+
+/*
+ * Q3Torus_GetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_GetOrientation(
+ TQ3GeometryObject torus,
+ TQ3Vector3D * orientation);
+
+
+/*
+ * Q3Torus_GetMajorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_GetMajorRadius(
+ TQ3GeometryObject torus,
+ TQ3Vector3D * majorRadius);
+
+
+/*
+ * Q3Torus_GetMinorRadius()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_GetMinorRadius(
+ TQ3GeometryObject torus,
+ TQ3Vector3D * minorRadius);
+
+
+/*
+ * Q3Torus_GetRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_GetRatio(
+ TQ3GeometryObject torus,
+ float * ratio);
+
+
+/*
+ * Q3Torus_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Torus_EmptyData(TQ3TorusData * torusData);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Triangle Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3TriangleData
- {
- TQ3Vertex3D vertices[3];
- TQ3AttributeSet triangleAttributeSet;
- };
- typedef struct TQ3TriangleData TQ3TriangleData;
- /******************************************************************************
- ** **
- ** Triangle Routines **
- ** **
- *****************************************************************************/
+struct TQ3TriangleData {
+ TQ3Vertex3D vertices[3];
+ TQ3AttributeSet triangleAttributeSet;
+};
+typedef struct TQ3TriangleData TQ3TriangleData;
+/******************************************************************************
+ ** **
+ ** Triangle Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Triangle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3Triangle_New(const TQ3TriangleData * triangleData);
-
-
- /*
- * Q3Triangle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Triangle_Submit(
- const TQ3TriangleData * triangleData,
- TQ3ViewObject view);
-
-
- /*
- * Q3Triangle_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Triangle_SetData(
- TQ3GeometryObject triangle,
- const TQ3TriangleData * triangleData);
-
-
- /*
- * Q3Triangle_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Triangle_GetData(
- TQ3GeometryObject triangle,
- TQ3TriangleData * triangleData);
-
-
- /*
- * Q3Triangle_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Triangle_EmptyData(TQ3TriangleData * triangleData);
-
-
- /*
- * Q3Triangle_GetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Triangle_GetVertexPosition(
- TQ3GeometryObject triangle,
- unsigned long index,
- TQ3Point3D * point);
-
-
- /*
- * Q3Triangle_SetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Triangle_SetVertexPosition(
- TQ3GeometryObject triangle,
- unsigned long index,
- const TQ3Point3D * point);
-
-
- /*
- * Q3Triangle_GetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Triangle_GetVertexAttributeSet(
- TQ3GeometryObject triangle,
- unsigned long index,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3Triangle_SetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Triangle_SetVertexAttributeSet(
- TQ3GeometryObject triangle,
- unsigned long index,
- TQ3AttributeSet attributeSet);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** TriGrid Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3Triangle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3Triangle_New(const TQ3TriangleData * triangleData);
+
+
+/*
+ * Q3Triangle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Triangle_Submit(
+ const TQ3TriangleData * triangleData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Triangle_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Triangle_SetData(
+ TQ3GeometryObject triangle,
+ const TQ3TriangleData * triangleData);
+
+
+/*
+ * Q3Triangle_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Triangle_GetData(
+ TQ3GeometryObject triangle,
+ TQ3TriangleData * triangleData);
+
+
+/*
+ * Q3Triangle_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Triangle_EmptyData(TQ3TriangleData * triangleData);
+
+
+/*
+ * Q3Triangle_GetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Triangle_GetVertexPosition(
+ TQ3GeometryObject triangle,
+ unsigned long index,
+ TQ3Point3D * point);
+
+
+/*
+ * Q3Triangle_SetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Triangle_SetVertexPosition(
+ TQ3GeometryObject triangle,
+ unsigned long index,
+ const TQ3Point3D * point);
+
+
+/*
+ * Q3Triangle_GetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Triangle_GetVertexAttributeSet(
+ TQ3GeometryObject triangle,
+ unsigned long index,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3Triangle_SetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Triangle_SetVertexAttributeSet(
+ TQ3GeometryObject triangle,
+ unsigned long index,
+ TQ3AttributeSet attributeSet);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** TriGrid Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3TriGridData
- {
- unsigned long numRows;
- unsigned long numColumns;
- TQ3Vertex3D * vertices;
- TQ3AttributeSet * facetAttributeSet;
- TQ3AttributeSet triGridAttributeSet;
- };
- typedef struct TQ3TriGridData TQ3TriGridData;
- /******************************************************************************
- ** **
- ** TriGrid Routines **
- ** **
- *****************************************************************************/
+struct TQ3TriGridData {
+ unsigned long numRows;
+ unsigned long numColumns;
+ TQ3Vertex3D * vertices;
+ TQ3AttributeSet * facetAttributeSet;
+ TQ3AttributeSet triGridAttributeSet;
+};
+typedef struct TQ3TriGridData TQ3TriGridData;
+/******************************************************************************
+ ** **
+ ** TriGrid Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3TriGrid_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3TriGrid_New(const TQ3TriGridData * triGridData);
-
-
- /*
- * Q3TriGrid_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_Submit(
- const TQ3TriGridData * triGridData,
- TQ3ViewObject view);
-
-
- /*
- * Q3TriGrid_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_SetData(
- TQ3GeometryObject triGrid,
- const TQ3TriGridData * triGridData);
-
-
- /*
- * Q3TriGrid_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_GetData(
- TQ3GeometryObject triGrid,
- TQ3TriGridData * triGridData);
-
-
- /*
- * Q3TriGrid_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_EmptyData(TQ3TriGridData * triGridData);
-
-
- /*
- * Q3TriGrid_GetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_GetVertexPosition(
- TQ3GeometryObject triGrid,
- unsigned long rowIndex,
- unsigned long columnIndex,
- TQ3Point3D * position);
-
-
- /*
- * Q3TriGrid_SetVertexPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_SetVertexPosition(
- TQ3GeometryObject triGrid,
- unsigned long rowIndex,
- unsigned long columnIndex,
- const TQ3Point3D * position);
-
-
- /*
- * Q3TriGrid_GetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_GetVertexAttributeSet(
- TQ3GeometryObject triGrid,
- unsigned long rowIndex,
- unsigned long columnIndex,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3TriGrid_SetVertexAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_SetVertexAttributeSet(
- TQ3GeometryObject triGrid,
- unsigned long rowIndex,
- unsigned long columnIndex,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Q3TriGrid_GetFacetAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_GetFacetAttributeSet(
- TQ3GeometryObject triGrid,
- unsigned long faceIndex,
- TQ3AttributeSet * facetAttributeSet);
-
-
- /*
- * Q3TriGrid_SetFacetAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriGrid_SetFacetAttributeSet(
- TQ3GeometryObject triGrid,
- unsigned long faceIndex,
- TQ3AttributeSet facetAttributeSet);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** TriMesh Data Structure Definitions **
- ** **
- *****************************************************************************/
+/*
+ * Q3TriGrid_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3TriGrid_New(const TQ3TriGridData * triGridData);
+
+
+/*
+ * Q3TriGrid_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_Submit(
+ const TQ3TriGridData * triGridData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3TriGrid_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_SetData(
+ TQ3GeometryObject triGrid,
+ const TQ3TriGridData * triGridData);
+
+
+/*
+ * Q3TriGrid_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_GetData(
+ TQ3GeometryObject triGrid,
+ TQ3TriGridData * triGridData);
+
+
+/*
+ * Q3TriGrid_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_EmptyData(TQ3TriGridData * triGridData);
+
+
+/*
+ * Q3TriGrid_GetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_GetVertexPosition(
+ TQ3GeometryObject triGrid,
+ unsigned long rowIndex,
+ unsigned long columnIndex,
+ TQ3Point3D * position);
+
+
+/*
+ * Q3TriGrid_SetVertexPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_SetVertexPosition(
+ TQ3GeometryObject triGrid,
+ unsigned long rowIndex,
+ unsigned long columnIndex,
+ const TQ3Point3D * position);
+
+
+/*
+ * Q3TriGrid_GetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_GetVertexAttributeSet(
+ TQ3GeometryObject triGrid,
+ unsigned long rowIndex,
+ unsigned long columnIndex,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3TriGrid_SetVertexAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_SetVertexAttributeSet(
+ TQ3GeometryObject triGrid,
+ unsigned long rowIndex,
+ unsigned long columnIndex,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Q3TriGrid_GetFacetAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_GetFacetAttributeSet(
+ TQ3GeometryObject triGrid,
+ unsigned long faceIndex,
+ TQ3AttributeSet * facetAttributeSet);
+
+
+/*
+ * Q3TriGrid_SetFacetAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriGrid_SetFacetAttributeSet(
+ TQ3GeometryObject triGrid,
+ unsigned long faceIndex,
+ TQ3AttributeSet facetAttributeSet);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** TriMesh Data Structure Definitions **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3TriMeshTriangleData
- {
- unsigned long pointIndices[3];
- };
- typedef struct TQ3TriMeshTriangleData TQ3TriMeshTriangleData;
- struct TQ3TriMeshEdgeData
- {
- unsigned long pointIndices[2];
- unsigned long triangleIndices[2];
- };
- typedef struct TQ3TriMeshEdgeData TQ3TriMeshEdgeData;
- struct TQ3TriMeshAttributeData
- {
- TQ3AttributeType attributeType; /* The type of attribute */
- void * data; /* Pointer to the contiguous */
- /* attribute data. */
- char * attributeUseArray; /* This is only used with custom */
- /* attributes */
- };
- typedef struct TQ3TriMeshAttributeData TQ3TriMeshAttributeData;
- struct TQ3TriMeshData
- {
- TQ3AttributeSet triMeshAttributeSet;
-
- unsigned long numTriangles;
- TQ3TriMeshTriangleData * triangles;
-
- unsigned long numTriangleAttributeTypes;
- TQ3TriMeshAttributeData * triangleAttributeTypes;
-
- unsigned long numEdges;
- TQ3TriMeshEdgeData * edges;
-
- unsigned long numEdgeAttributeTypes;
- TQ3TriMeshAttributeData * edgeAttributeTypes;
-
- unsigned long numPoints;
- TQ3Point3D * points;
-
- unsigned long numVertexAttributeTypes;
- TQ3TriMeshAttributeData * vertexAttributeTypes;
-
- TQ3BoundingBox bBox;
- };
- typedef struct TQ3TriMeshData TQ3TriMeshData;
- /******************************************************************************
- ** **
- ** TriMesh Routines **
- ** **
- *****************************************************************************/
+struct TQ3TriMeshTriangleData {
+ unsigned long pointIndices[3];
+};
+typedef struct TQ3TriMeshTriangleData TQ3TriMeshTriangleData;
+struct TQ3TriMeshEdgeData {
+ unsigned long pointIndices[2];
+ unsigned long triangleIndices[2];
+};
+typedef struct TQ3TriMeshEdgeData TQ3TriMeshEdgeData;
+struct TQ3TriMeshAttributeData {
+ TQ3AttributeType attributeType; /* The type of attribute */
+ void * data; /* Pointer to the contiguous */
+ /* attribute data. */
+ char * attributeUseArray; /* This is only used with custom */
+ /* attributes */
+};
+typedef struct TQ3TriMeshAttributeData TQ3TriMeshAttributeData;
+struct TQ3TriMeshData {
+ TQ3AttributeSet triMeshAttributeSet;
+
+ unsigned long numTriangles;
+ TQ3TriMeshTriangleData * triangles;
+
+ unsigned long numTriangleAttributeTypes;
+ TQ3TriMeshAttributeData * triangleAttributeTypes;
+
+ unsigned long numEdges;
+ TQ3TriMeshEdgeData * edges;
+
+ unsigned long numEdgeAttributeTypes;
+ TQ3TriMeshAttributeData * edgeAttributeTypes;
+
+ unsigned long numPoints;
+ TQ3Point3D * points;
+
+ unsigned long numVertexAttributeTypes;
+ TQ3TriMeshAttributeData * vertexAttributeTypes;
+
+ TQ3BoundingBox bBox;
+};
+typedef struct TQ3TriMeshData TQ3TriMeshData;
+/******************************************************************************
+ ** **
+ ** TriMesh Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3TriMesh_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GeometryObject)
- Q3TriMesh_New(const TQ3TriMeshData * triMeshData);
-
-
- /*
- * Q3TriMesh_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriMesh_Submit(
- const TQ3TriMeshData * triMeshData,
- TQ3ViewObject view);
-
-
- /*
- * Q3TriMesh_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriMesh_SetData(
- TQ3GeometryObject triMesh,
- const TQ3TriMeshData * triMeshData);
-
-
- /*
- * Q3TriMesh_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriMesh_GetData(
- TQ3GeometryObject triMesh,
- TQ3TriMeshData * triMeshData);
-
-
- /*
- * Q3TriMesh_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TriMesh_EmptyData(TQ3TriMeshData * triMeshData);
+/*
+ * Q3TriMesh_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GeometryObject )
+Q3TriMesh_New(const TQ3TriMeshData * triMeshData);
+
+
+/*
+ * Q3TriMesh_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriMesh_Submit(
+ const TQ3TriMeshData * triMeshData,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3TriMesh_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriMesh_SetData(
+ TQ3GeometryObject triMesh,
+ const TQ3TriMeshData * triMeshData);
+
+
+/*
+ * Q3TriMesh_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriMesh_GetData(
+ TQ3GeometryObject triMesh,
+ TQ3TriMeshData * triMeshData);
+
+
+/*
+ * Q3TriMesh_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TriMesh_EmptyData(TQ3TriMeshData * triMeshData);
@@ -5250,22 +5218,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DGEOMETRY__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DGEOMETRY__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DGEOMETRY__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DGroup.h b/include/qt/QD3DGroup.h
index 12bfe5b58..d0c66c640 100644
--- a/include/qt/QD3DGroup.h
+++ b/include/qt/QD3DGroup.h
@@ -1,18 +1,18 @@
/*
File: QD3DGroup.h
-
+
Contains: Q3Group methods
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DGROUP__
#define __QD3DGROUP__
@@ -37,841 +37,818 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DGROUP__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DGROUP__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DGROUP__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DGROUP__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Group Typedefs **
- ** **
- *****************************************************************************/
- /*
- * These flags affect how a group is traversed
- * They apply to when a group is "drawn", "picked", "bounded", "written"
- */
- enum TQ3DisplayGroupStateMasks {
- kQ3DisplayGroupStateNone = 0,
- kQ3DisplayGroupStateMaskIsDrawn = 1 << 0,
- kQ3DisplayGroupStateMaskIsInline = 1 << 1,
- kQ3DisplayGroupStateMaskUseBoundingBox = 1 << 2,
- kQ3DisplayGroupStateMaskUseBoundingSphere = 1 << 3,
- kQ3DisplayGroupStateMaskIsPicked = 1 << 4,
- kQ3DisplayGroupStateMaskIsWritten = 1 << 5
- };
- typedef enum TQ3DisplayGroupStateMasks TQ3DisplayGroupStateMasks;
-
- typedef unsigned long TQ3DisplayGroupState;
-
-
- /******************************************************************************
- ** **
- ** Group Routines (apply to all groups) **
- ** **
- *****************************************************************************/
- /* May contain any shared object */
+/******************************************************************************
+ ** **
+ ** Group Typedefs **
+ ** **
+ *****************************************************************************/
+/*
+ * These flags affect how a group is traversed
+ * They apply to when a group is "drawn", "picked", "bounded", "written"
+ */
+enum TQ3DisplayGroupStateMasks {
+ kQ3DisplayGroupStateNone = 0,
+ kQ3DisplayGroupStateMaskIsDrawn = 1 << 0,
+ kQ3DisplayGroupStateMaskIsInline = 1 << 1,
+ kQ3DisplayGroupStateMaskUseBoundingBox = 1 << 2,
+ kQ3DisplayGroupStateMaskUseBoundingSphere = 1 << 3,
+ kQ3DisplayGroupStateMaskIsPicked = 1 << 4,
+ kQ3DisplayGroupStateMaskIsWritten = 1 << 5
+};
+typedef enum TQ3DisplayGroupStateMasks TQ3DisplayGroupStateMasks;
+
+typedef unsigned long TQ3DisplayGroupState;
+
+
+/******************************************************************************
+ ** **
+ ** Group Routines (apply to all groups) **
+ ** **
+ *****************************************************************************/
+/* May contain any shared object */
#if CALL_NOT_IN_CARBON
- /*
- * Q3Group_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupObject)
- Q3Group_New(void);
-
-
- /*
- * Q3Group_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Group_GetType(TQ3GroupObject group);
-
-
- /*
- * Q3Group_AddObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupPosition)
- Q3Group_AddObject(
- TQ3GroupObject group,
- TQ3Object object);
-
-
- /*
- * Q3Group_AddObjectBefore()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupPosition)
- Q3Group_AddObjectBefore(
- TQ3GroupObject group,
- TQ3GroupPosition position,
- TQ3Object object);
-
-
- /*
- * Q3Group_AddObjectAfter()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupPosition)
- Q3Group_AddObjectAfter(
- TQ3GroupObject group,
- TQ3GroupPosition position,
- TQ3Object object);
-
-
- /*
- * Q3Group_GetPositionObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetPositionObject(
- TQ3GroupObject group,
- TQ3GroupPosition position,
- TQ3Object * object);
-
-
- /*
- * Q3Group_SetPositionObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_SetPositionObject(
- TQ3GroupObject group,
- TQ3GroupPosition position,
- TQ3Object object);
-
-
- /*
- * Q3Group_RemovePosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Object)
- Q3Group_RemovePosition(
- TQ3GroupObject group,
- TQ3GroupPosition position);
-
-
- /*
- * Q3Group_GetFirstPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetFirstPosition(
- TQ3GroupObject group,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetLastPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetLastPosition(
- TQ3GroupObject group,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetNextPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetNextPosition(
- TQ3GroupObject group,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetPreviousPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetPreviousPosition(
- TQ3GroupObject group,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_CountObjects()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_CountObjects(
- TQ3GroupObject group,
- unsigned long * nObjects);
-
-
- /*
- * Q3Group_EmptyObjects()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_EmptyObjects(TQ3GroupObject group);
-
-
- /*
- * Typed Access
- */
- /*
- * Q3Group_GetFirstPositionOfType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetFirstPositionOfType(
- TQ3GroupObject group,
- TQ3ObjectType isType,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetLastPositionOfType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetLastPositionOfType(
- TQ3GroupObject group,
- TQ3ObjectType isType,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetNextPositionOfType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetNextPositionOfType(
- TQ3GroupObject group,
- TQ3ObjectType isType,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetPreviousPositionOfType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetPreviousPositionOfType(
- TQ3GroupObject group,
- TQ3ObjectType isType,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_CountObjectsOfType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_CountObjectsOfType(
- TQ3GroupObject group,
- TQ3ObjectType isType,
- unsigned long * nObjects);
-
-
- /*
- * Q3Group_EmptyObjectsOfType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_EmptyObjectsOfType(
- TQ3GroupObject group,
- TQ3ObjectType isType);
-
-
- /*
- * Determine position of objects in a group
- */
- /*
- * Q3Group_GetFirstObjectPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetFirstObjectPosition(
- TQ3GroupObject group,
- TQ3Object object,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetLastObjectPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetLastObjectPosition(
- TQ3GroupObject group,
- TQ3Object object,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetNextObjectPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetNextObjectPosition(
- TQ3GroupObject group,
- TQ3Object object,
- TQ3GroupPosition * position);
-
-
- /*
- * Q3Group_GetPreviousObjectPosition()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Group_GetPreviousObjectPosition(
- TQ3GroupObject group,
- TQ3Object object,
- TQ3GroupPosition * position);
-
-
-
- /******************************************************************************
- ** **
- ** Group Subclasses **
- ** **
- *****************************************************************************/
- /* Must contain only lights */
- /*
- * Q3LightGroup_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupObject)
- Q3LightGroup_New(void);
-
-
- /* Must contain only strings */
- /*
- * Q3InfoGroup_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupObject)
- Q3InfoGroup_New(void);
-
-
- /******************************************************************************
- ** **
- ** Display Group Routines **
- ** **
- *****************************************************************************/
- /* May contain only drawables */
- /*
- * Q3DisplayGroup_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupObject)
- Q3DisplayGroup_New(void);
-
-
- /*
- * Q3DisplayGroup_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3DisplayGroup_GetType(TQ3GroupObject group);
-
-
- /*
- * Q3DisplayGroup_GetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DisplayGroup_GetState(
- TQ3GroupObject group,
- TQ3DisplayGroupState * state);
-
-
- /*
- * Q3DisplayGroup_SetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DisplayGroup_SetState(
- TQ3GroupObject group,
- TQ3DisplayGroupState state);
-
-
- /*
- * Q3DisplayGroup_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DisplayGroup_Submit(
- TQ3GroupObject group,
- TQ3ViewObject view);
-
-
- /*
- * Q3DisplayGroup_SetAndUseBoundingBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DisplayGroup_SetAndUseBoundingBox(
- TQ3GroupObject group,
- TQ3BoundingBox * bBox);
-
-
- /*
- * Q3DisplayGroup_GetBoundingBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DisplayGroup_GetBoundingBox(
- TQ3GroupObject group,
- TQ3BoundingBox * bBox);
-
-
- /*
- * Q3DisplayGroup_RemoveBoundingBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DisplayGroup_RemoveBoundingBox(TQ3GroupObject group);
-
-
- /*
- * Q3DisplayGroup_CalcAndUseBoundingBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DisplayGroup_CalcAndUseBoundingBox(
- TQ3GroupObject group,
- TQ3ComputeBounds computeBounds,
- TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** Ordered Display Group **
- ** **
- ** Ordered display groups keep objects in order by the type of object: **
- ** **
- ** 1 kQ3ShapeTypeTransform **
- ** 2 kQ3ShapeTypeStyle **
- ** 3 kQ3SetTypeAttribute **
- ** 4 kQ3ShapeTypeShader **
- ** 5 kQ3ShapeTypeCamera **
- ** 6 kQ3ShapeTypeLight **
- ** 7 kQ3ShapeTypeGeometry **
- ** 8 kQ3ShapeTypeGroup **
- ** 9 kQ3ShapeTypeUnknown **
- ** **
- ** Within a type, you are responsible for keeping things in order. **
- ** **
- ** You may access and/or manipulate the group using the above types **
- ** (fast), or you may use any parent or leaf class types (slower). **
- ** **
- ** Additional types will be added as functionality grows. **
- ** **
- ** The group calls which access by type are much faster for ordered **
- ** display group for the types above. **
- ** **
- ** N.B. Lights and Cameras in groups are a no-op when drawn and will **
- ** post an error with the debug libraries. **
- ** **
- *****************************************************************************/
- /*
- * Q3OrderedDisplayGroup_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupObject)
- Q3OrderedDisplayGroup_New(void);
-
-
- /******************************************************************************
- ** **
- ** IO Proxy Display Group **
- ** **
- ** IO Proxy display groups are used to place more than one **
- ** representation of an object in a metafile. For example, if you know **
- ** another program does not understand NURBPatches but does understand **
- ** Meshes, you may place a mesh and a NURB Patch in an IO Proxy Group, **
- ** and the reading program will select the desired representation. **
- ** **
- ** Objects in an IO Proxy Display Group are placed in their preferencial**
- ** order, with the FIRST object being the MOST preferred, the LAST **
- ** object the least preferred. **
- ** **
- ** The behavior of an IO Proxy Display Group is that when drawn/picked/ **
- ** bounded, the first object in the group that is not "Unknown" is used,**
- ** and the other objects ignored. **
- ** **
- *****************************************************************************/
- /*
- * Q3IOProxyDisplayGroup_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupObject)
- Q3IOProxyDisplayGroup_New(void);
-
-
- /******************************************************************************
- ** **
- ** Group Extension Definitions **
- ** **
- *****************************************************************************/
- /*
- * Searching methods - OPTIONAL
- */
+/*
+ * Q3Group_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupObject )
+Q3Group_New(void);
+
+
+/*
+ * Q3Group_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Group_GetType(TQ3GroupObject group);
+
+
+/*
+ * Q3Group_AddObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupPosition )
+Q3Group_AddObject(
+ TQ3GroupObject group,
+ TQ3Object object);
+
+
+/*
+ * Q3Group_AddObjectBefore()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupPosition )
+Q3Group_AddObjectBefore(
+ TQ3GroupObject group,
+ TQ3GroupPosition position,
+ TQ3Object object);
+
+
+/*
+ * Q3Group_AddObjectAfter()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupPosition )
+Q3Group_AddObjectAfter(
+ TQ3GroupObject group,
+ TQ3GroupPosition position,
+ TQ3Object object);
+
+
+/*
+ * Q3Group_GetPositionObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetPositionObject(
+ TQ3GroupObject group,
+ TQ3GroupPosition position,
+ TQ3Object * object);
+
+
+/*
+ * Q3Group_SetPositionObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_SetPositionObject(
+ TQ3GroupObject group,
+ TQ3GroupPosition position,
+ TQ3Object object);
+
+
+/*
+ * Q3Group_RemovePosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Object )
+Q3Group_RemovePosition(
+ TQ3GroupObject group,
+ TQ3GroupPosition position);
+
+
+/*
+ * Q3Group_GetFirstPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetFirstPosition(
+ TQ3GroupObject group,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetLastPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetLastPosition(
+ TQ3GroupObject group,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetNextPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetNextPosition(
+ TQ3GroupObject group,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetPreviousPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetPreviousPosition(
+ TQ3GroupObject group,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_CountObjects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_CountObjects(
+ TQ3GroupObject group,
+ unsigned long * nObjects);
+
+
+/*
+ * Q3Group_EmptyObjects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_EmptyObjects(TQ3GroupObject group);
+
+
+/*
+ * Typed Access
+ */
+/*
+ * Q3Group_GetFirstPositionOfType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetFirstPositionOfType(
+ TQ3GroupObject group,
+ TQ3ObjectType isType,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetLastPositionOfType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetLastPositionOfType(
+ TQ3GroupObject group,
+ TQ3ObjectType isType,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetNextPositionOfType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetNextPositionOfType(
+ TQ3GroupObject group,
+ TQ3ObjectType isType,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetPreviousPositionOfType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetPreviousPositionOfType(
+ TQ3GroupObject group,
+ TQ3ObjectType isType,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_CountObjectsOfType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_CountObjectsOfType(
+ TQ3GroupObject group,
+ TQ3ObjectType isType,
+ unsigned long * nObjects);
+
+
+/*
+ * Q3Group_EmptyObjectsOfType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_EmptyObjectsOfType(
+ TQ3GroupObject group,
+ TQ3ObjectType isType);
+
+
+/*
+ * Determine position of objects in a group
+ */
+/*
+ * Q3Group_GetFirstObjectPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetFirstObjectPosition(
+ TQ3GroupObject group,
+ TQ3Object object,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetLastObjectPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetLastObjectPosition(
+ TQ3GroupObject group,
+ TQ3Object object,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetNextObjectPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetNextObjectPosition(
+ TQ3GroupObject group,
+ TQ3Object object,
+ TQ3GroupPosition * position);
+
+
+/*
+ * Q3Group_GetPreviousObjectPosition()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Group_GetPreviousObjectPosition(
+ TQ3GroupObject group,
+ TQ3Object object,
+ TQ3GroupPosition * position);
+
+
+
+/******************************************************************************
+ ** **
+ ** Group Subclasses **
+ ** **
+ *****************************************************************************/
+/* Must contain only lights */
+/*
+ * Q3LightGroup_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupObject )
+Q3LightGroup_New(void);
+
+
+/* Must contain only strings */
+/*
+ * Q3InfoGroup_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupObject )
+Q3InfoGroup_New(void);
+
+
+/******************************************************************************
+ ** **
+ ** Display Group Routines **
+ ** **
+ *****************************************************************************/
+/* May contain only drawables */
+/*
+ * Q3DisplayGroup_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupObject )
+Q3DisplayGroup_New(void);
+
+
+/*
+ * Q3DisplayGroup_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3DisplayGroup_GetType(TQ3GroupObject group);
+
+
+/*
+ * Q3DisplayGroup_GetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DisplayGroup_GetState(
+ TQ3GroupObject group,
+ TQ3DisplayGroupState * state);
+
+
+/*
+ * Q3DisplayGroup_SetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DisplayGroup_SetState(
+ TQ3GroupObject group,
+ TQ3DisplayGroupState state);
+
+
+/*
+ * Q3DisplayGroup_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DisplayGroup_Submit(
+ TQ3GroupObject group,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3DisplayGroup_SetAndUseBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DisplayGroup_SetAndUseBoundingBox(
+ TQ3GroupObject group,
+ TQ3BoundingBox * bBox);
+
+
+/*
+ * Q3DisplayGroup_GetBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DisplayGroup_GetBoundingBox(
+ TQ3GroupObject group,
+ TQ3BoundingBox * bBox);
+
+
+/*
+ * Q3DisplayGroup_RemoveBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DisplayGroup_RemoveBoundingBox(TQ3GroupObject group);
+
+
+/*
+ * Q3DisplayGroup_CalcAndUseBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DisplayGroup_CalcAndUseBoundingBox(
+ TQ3GroupObject group,
+ TQ3ComputeBounds computeBounds,
+ TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** Ordered Display Group **
+ ** **
+ ** Ordered display groups keep objects in order by the type of object: **
+ ** **
+ ** 1 kQ3ShapeTypeTransform **
+ ** 2 kQ3ShapeTypeStyle **
+ ** 3 kQ3SetTypeAttribute **
+ ** 4 kQ3ShapeTypeShader **
+ ** 5 kQ3ShapeTypeCamera **
+ ** 6 kQ3ShapeTypeLight **
+ ** 7 kQ3ShapeTypeGeometry **
+ ** 8 kQ3ShapeTypeGroup **
+ ** 9 kQ3ShapeTypeUnknown **
+ ** **
+ ** Within a type, you are responsible for keeping things in order. **
+ ** **
+ ** You may access and/or manipulate the group using the above types **
+ ** (fast), or you may use any parent or leaf class types (slower). **
+ ** **
+ ** Additional types will be added as functionality grows. **
+ ** **
+ ** The group calls which access by type are much faster for ordered **
+ ** display group for the types above. **
+ ** **
+ ** N.B. Lights and Cameras in groups are a no-op when drawn and will **
+ ** post an error with the debug libraries. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3OrderedDisplayGroup_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupObject )
+Q3OrderedDisplayGroup_New(void);
+
+
+/******************************************************************************
+ ** **
+ ** IO Proxy Display Group **
+ ** **
+ ** IO Proxy display groups are used to place more than one **
+ ** representation of an object in a metafile. For example, if you know **
+ ** another program does not understand NURBPatches but does understand **
+ ** Meshes, you may place a mesh and a NURB Patch in an IO Proxy Group, **
+ ** and the reading program will select the desired representation. **
+ ** **
+ ** Objects in an IO Proxy Display Group are placed in their preferencial**
+ ** order, with the FIRST object being the MOST preferred, the LAST **
+ ** object the least preferred. **
+ ** **
+ ** The behavior of an IO Proxy Display Group is that when drawn/picked/ **
+ ** bounded, the first object in the group that is not "Unknown" is used,**
+ ** and the other objects ignored. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3IOProxyDisplayGroup_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupObject )
+Q3IOProxyDisplayGroup_New(void);
+
+
+/******************************************************************************
+ ** **
+ ** Group Extension Definitions **
+ ** **
+ *****************************************************************************/
+/*
+ * Searching methods - OPTIONAL
+ */
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kQ3XMethodType_GroupAcceptObject = FOUR_CHAR_CODE('gaco')
- };
-
- typedef CALLBACK_API_C(TQ3Boolean , TQ3XGroupAcceptObjectMethod)(TQ3GroupObject group, TQ3Object object);
- enum
- {
- kQ3XMethodType_GroupAddObject = FOUR_CHAR_CODE('gado')
- };
-
- typedef CALLBACK_API_C(TQ3GroupPosition , TQ3XGroupAddObjectMethod)(TQ3GroupObject group, TQ3Object object);
- enum
- {
- kQ3XMethodType_GroupAddObjectBefore = FOUR_CHAR_CODE('gaob')
- };
-
- typedef CALLBACK_API_C(TQ3GroupPosition , TQ3XGroupAddObjectBeforeMethod)(TQ3GroupObject group, TQ3GroupPosition position, TQ3Object object);
- enum
- {
- kQ3XMethodType_GroupAddObjectAfter = FOUR_CHAR_CODE('gaoa')
- };
-
- typedef CALLBACK_API_C(TQ3GroupPosition , TQ3XGroupAddObjectAfterMethod)(TQ3GroupObject group, TQ3GroupPosition position, TQ3Object object);
- enum
- {
- kQ3XMethodType_GroupSetPositionObject = FOUR_CHAR_CODE('gspo')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupSetPositionObjectMethod)(TQ3GroupObject group, TQ3GroupPosition gPos, TQ3Object obj);
- enum
- {
- kQ3XMethodType_GroupRemovePosition = FOUR_CHAR_CODE('grmp')
- };
-
- typedef CALLBACK_API_C(TQ3Object , TQ3XGroupRemovePositionMethod)(TQ3GroupObject group, TQ3GroupPosition position);
-
-
- /*
- * Searching methods - OPTIONAL - default uses above methods
- */
- enum
- {
- kQ3XMethodType_GroupGetFirstPositionOfType = FOUR_CHAR_CODE('gfrt')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupGetFirstPositionOfTypeMethod)(TQ3GroupObject group, TQ3ObjectType isType, TQ3GroupPosition *gPos);
- enum
- {
- kQ3XMethodType_GroupGetLastPositionOfType = FOUR_CHAR_CODE('glst')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupGetLastPositionOfTypeMethod)(TQ3GroupObject group, TQ3ObjectType isType, TQ3GroupPosition *gPos);
- enum
- {
- kQ3XMethodType_GroupGetNextPositionOfType = FOUR_CHAR_CODE('gnxt')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupGetNextPositionOfTypeMethod)(TQ3GroupObject group, TQ3ObjectType isType, TQ3GroupPosition *gPos);
- enum
- {
- kQ3XMethodType_GroupGetPrevPositionOfType = FOUR_CHAR_CODE('gpvt')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupGetPrevPositionOfTypeMethod)(TQ3GroupObject group, TQ3ObjectType isType, TQ3GroupPosition *gPos);
- enum
- {
- kQ3XMethodType_GroupCountObjectsOfType = FOUR_CHAR_CODE('gcnt')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupCountObjectsOfTypeMethod)(TQ3GroupObject group, TQ3ObjectType isType, unsigned long *nObjects);
- enum
- {
- kQ3XMethodType_GroupEmptyObjectsOfType = FOUR_CHAR_CODE('geot')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupEmptyObjectsOfTypeMethod)(TQ3GroupObject group, TQ3ObjectType isType);
- enum
- {
- kQ3XMethodType_GroupGetFirstObjectPosition = FOUR_CHAR_CODE('gfop')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupGetFirstObjectPositionMethod)(TQ3GroupObject group, TQ3Object object, TQ3GroupPosition *gPos);
- enum
- {
- kQ3XMethodType_GroupGetLastObjectPosition = FOUR_CHAR_CODE('glop')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupGetLastObjectPositionMethod)(TQ3GroupObject group, TQ3Object object, TQ3GroupPosition *gPos);
- enum
- {
- kQ3XMethodType_GroupGetNextObjectPosition = FOUR_CHAR_CODE('gnop')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupGetNextObjectPositionMethod)(TQ3GroupObject group, TQ3Object object, TQ3GroupPosition *gPos);
- enum
- {
- kQ3XMethodType_GroupGetPrevObjectPosition = FOUR_CHAR_CODE('gpop')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupGetPrevObjectPositionMethod)(TQ3GroupObject group, TQ3Object object, TQ3GroupPosition *gPos);
-
-
- /*
- * Group Position Methods
- */
- enum
- {
- kQ3XMethodType_GroupPositionSize = FOUR_CHAR_CODE('ggpz')
- };
-
- typedef unsigned long TQ3XMethodTypeGroupPositionSize;
- enum
- {
- kQ3XMethodType_GroupPositionNew = FOUR_CHAR_CODE('ggpn')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupPositionNewMethod)(void *gPos, TQ3Object object, const void *initData);
- enum
- {
- kQ3XMethodType_GroupPositionCopy = FOUR_CHAR_CODE('ggpc')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupPositionCopyMethod)(void *srcGPos, void *dstGPos);
- enum
- {
- kQ3XMethodType_GroupPositionDelete = FOUR_CHAR_CODE('ggpd')
- };
-
- typedef CALLBACK_API_C(void , TQ3XGroupPositionDeleteMethod)(void * gPos);
-
-
- /*
- * View Drawing Helpers
- *
- * TQ3XGroupStartIterateMethod
- *
- * Pass back *object = NULL to NOT call EndIterate iterate
- * Pass back *object != NULL to draw object
- * (other side will pass it to EndIterate for deletion!)
- *
- * *iterator is uninitialized, use for iteration state. Caller should
- * ignore it.
- *
- * TQ3XGroupEndIterateMethod
- *
- * *object is previous object, dispose it or play with it.
- * Pass back NULL when last iteration has occurred
- * *iterator is previous value, use for iteration state Caller should
- * ignore it.
- */
- enum
- {
- kQ3XMethodType_GroupStartIterate = FOUR_CHAR_CODE('gstd')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupStartIterateMethod)(TQ3GroupObject group, TQ3GroupPosition *iterator, TQ3Object *object, TQ3ViewObject view);
- enum
- {
- kQ3XMethodType_GroupEndIterate = FOUR_CHAR_CODE('gitd')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupEndIterateMethod)(TQ3GroupObject group, TQ3GroupPosition *iterator, TQ3Object *object, TQ3ViewObject view);
-
-
- /*
- * IO Helpers
- *
- * TQ3XGroupEndReadMethod
- * Called when a group has been completely read. Group should perform
- * validation and clean up any reading caches.
- */
- enum
- {
- kQ3XMethodType_GroupEndRead = FOUR_CHAR_CODE('gerd')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XGroupEndReadMethod)(TQ3GroupObject group);
+enum {
+ kQ3XMethodType_GroupAcceptObject = FOUR_CHAR_CODE('gaco')
+};
+
+typedef CALLBACK_API_C( TQ3Boolean , TQ3XGroupAcceptObjectMethod )(TQ3GroupObject group, TQ3Object object);
+enum {
+ kQ3XMethodType_GroupAddObject = FOUR_CHAR_CODE('gado')
+};
+
+typedef CALLBACK_API_C( TQ3GroupPosition , TQ3XGroupAddObjectMethod )(TQ3GroupObject group, TQ3Object object);
+enum {
+ kQ3XMethodType_GroupAddObjectBefore = FOUR_CHAR_CODE('gaob')
+};
+
+typedef CALLBACK_API_C( TQ3GroupPosition , TQ3XGroupAddObjectBeforeMethod )(TQ3GroupObject group, TQ3GroupPosition position, TQ3Object object);
+enum {
+ kQ3XMethodType_GroupAddObjectAfter = FOUR_CHAR_CODE('gaoa')
+};
+
+typedef CALLBACK_API_C( TQ3GroupPosition , TQ3XGroupAddObjectAfterMethod )(TQ3GroupObject group, TQ3GroupPosition position, TQ3Object object);
+enum {
+ kQ3XMethodType_GroupSetPositionObject = FOUR_CHAR_CODE('gspo')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupSetPositionObjectMethod )(TQ3GroupObject group, TQ3GroupPosition gPos, TQ3Object obj);
+enum {
+ kQ3XMethodType_GroupRemovePosition = FOUR_CHAR_CODE('grmp')
+};
+
+typedef CALLBACK_API_C( TQ3Object , TQ3XGroupRemovePositionMethod )(TQ3GroupObject group, TQ3GroupPosition position);
+
+
+/*
+ * Searching methods - OPTIONAL - default uses above methods
+ */
+enum {
+ kQ3XMethodType_GroupGetFirstPositionOfType = FOUR_CHAR_CODE('gfrt')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupGetFirstPositionOfTypeMethod )(TQ3GroupObject group, TQ3ObjectType isType, TQ3GroupPosition *gPos);
+enum {
+ kQ3XMethodType_GroupGetLastPositionOfType = FOUR_CHAR_CODE('glst')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupGetLastPositionOfTypeMethod )(TQ3GroupObject group, TQ3ObjectType isType, TQ3GroupPosition *gPos);
+enum {
+ kQ3XMethodType_GroupGetNextPositionOfType = FOUR_CHAR_CODE('gnxt')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupGetNextPositionOfTypeMethod )(TQ3GroupObject group, TQ3ObjectType isType, TQ3GroupPosition *gPos);
+enum {
+ kQ3XMethodType_GroupGetPrevPositionOfType = FOUR_CHAR_CODE('gpvt')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupGetPrevPositionOfTypeMethod )(TQ3GroupObject group, TQ3ObjectType isType, TQ3GroupPosition *gPos);
+enum {
+ kQ3XMethodType_GroupCountObjectsOfType = FOUR_CHAR_CODE('gcnt')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupCountObjectsOfTypeMethod )(TQ3GroupObject group, TQ3ObjectType isType, unsigned long *nObjects);
+enum {
+ kQ3XMethodType_GroupEmptyObjectsOfType = FOUR_CHAR_CODE('geot')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupEmptyObjectsOfTypeMethod )(TQ3GroupObject group, TQ3ObjectType isType);
+enum {
+ kQ3XMethodType_GroupGetFirstObjectPosition = FOUR_CHAR_CODE('gfop')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupGetFirstObjectPositionMethod )(TQ3GroupObject group, TQ3Object object, TQ3GroupPosition *gPos);
+enum {
+ kQ3XMethodType_GroupGetLastObjectPosition = FOUR_CHAR_CODE('glop')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupGetLastObjectPositionMethod )(TQ3GroupObject group, TQ3Object object, TQ3GroupPosition *gPos);
+enum {
+ kQ3XMethodType_GroupGetNextObjectPosition = FOUR_CHAR_CODE('gnop')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupGetNextObjectPositionMethod )(TQ3GroupObject group, TQ3Object object, TQ3GroupPosition *gPos);
+enum {
+ kQ3XMethodType_GroupGetPrevObjectPosition = FOUR_CHAR_CODE('gpop')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupGetPrevObjectPositionMethod )(TQ3GroupObject group, TQ3Object object, TQ3GroupPosition *gPos);
+
+
+/*
+ * Group Position Methods
+ */
+enum {
+ kQ3XMethodType_GroupPositionSize = FOUR_CHAR_CODE('ggpz')
+};
+
+typedef unsigned long TQ3XMethodTypeGroupPositionSize;
+enum {
+ kQ3XMethodType_GroupPositionNew = FOUR_CHAR_CODE('ggpn')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupPositionNewMethod )(void *gPos, TQ3Object object, const void *initData);
+enum {
+ kQ3XMethodType_GroupPositionCopy = FOUR_CHAR_CODE('ggpc')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupPositionCopyMethod )(void *srcGPos, void *dstGPos);
+enum {
+ kQ3XMethodType_GroupPositionDelete = FOUR_CHAR_CODE('ggpd')
+};
+
+typedef CALLBACK_API_C( void , TQ3XGroupPositionDeleteMethod )(void * gPos);
+
+
+/*
+ * View Drawing Helpers
+ *
+ * TQ3XGroupStartIterateMethod
+ *
+ * Pass back *object = NULL to NOT call EndIterate iterate
+ * Pass back *object != NULL to draw object
+ * (other side will pass it to EndIterate for deletion!)
+ *
+ * *iterator is uninitialized, use for iteration state. Caller should
+ * ignore it.
+ *
+ * TQ3XGroupEndIterateMethod
+ *
+ * *object is previous object, dispose it or play with it.
+ * Pass back NULL when last iteration has occurred
+ * *iterator is previous value, use for iteration state Caller should
+ * ignore it.
+ */
+enum {
+ kQ3XMethodType_GroupStartIterate = FOUR_CHAR_CODE('gstd')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupStartIterateMethod )(TQ3GroupObject group, TQ3GroupPosition *iterator, TQ3Object *object, TQ3ViewObject view);
+enum {
+ kQ3XMethodType_GroupEndIterate = FOUR_CHAR_CODE('gitd')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupEndIterateMethod )(TQ3GroupObject group, TQ3GroupPosition *iterator, TQ3Object *object, TQ3ViewObject view);
+
+
+/*
+ * IO Helpers
+ *
+ * TQ3XGroupEndReadMethod
+ * Called when a group has been completely read. Group should perform
+ * validation and clean up any reading caches.
+ */
+enum {
+ kQ3XMethodType_GroupEndRead = FOUR_CHAR_CODE('gerd')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XGroupEndReadMethod )(TQ3GroupObject group);
#if CALL_NOT_IN_CARBON
- /*
- * Q3XGroup_GetPositionPrivate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- Q3XGroup_GetPositionPrivate(
- TQ3GroupObject group,
- TQ3GroupPosition position);
+/*
+ * Q3XGroup_GetPositionPrivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+Q3XGroup_GetPositionPrivate(
+ TQ3GroupObject group,
+ TQ3GroupPosition position);
@@ -880,22 +857,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DGROUP__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DGROUP__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DGROUP__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DIO.h b/include/qt/QD3DIO.h
index 7e61a93b7..188f06bad 100644
--- a/include/qt/QD3DIO.h
+++ b/include/qt/QD3DIO.h
@@ -1,18 +1,18 @@
/*
File: QD3DIO.h
-
+
Contains: QuickDraw 3D IO API
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3DIO__
#define __QD3DIO__
@@ -46,1779 +46,1770 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DIO__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DIO__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DIO__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DIO__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Basic Types **
- ** **
- *****************************************************************************/
- typedef unsigned char TQ3Uns8;
- typedef signed char TQ3Int8;
- typedef unsigned short TQ3Uns16;
- typedef signed short TQ3Int16;
- typedef unsigned long TQ3Uns32;
- typedef signed long TQ3Int32;
+/******************************************************************************
+ ** **
+ ** Basic Types **
+ ** **
+ *****************************************************************************/
+typedef unsigned char TQ3Uns8;
+typedef signed char TQ3Int8;
+typedef unsigned short TQ3Uns16;
+typedef signed short TQ3Int16;
+typedef unsigned long TQ3Uns32;
+typedef signed long TQ3Int32;
#if TARGET_RT_BIG_ENDIAN
- struct TQ3Uns64
- {
- unsigned long hi;
- unsigned long lo;
- };
- typedef struct TQ3Uns64 TQ3Uns64;
- struct TQ3Int64
- {
- signed long hi;
- unsigned long lo;
- };
- typedef struct TQ3Int64 TQ3Int64;
+struct TQ3Uns64 {
+ unsigned long hi;
+ unsigned long lo;
+};
+typedef struct TQ3Uns64 TQ3Uns64;
+struct TQ3Int64 {
+ signed long hi;
+ unsigned long lo;
+};
+typedef struct TQ3Int64 TQ3Int64;
#else
- struct TQ3Uns64
- {
- unsigned long lo;
- unsigned long hi;
- };
- typedef struct TQ3Uns64 TQ3Uns64;
- struct TQ3Int64
- {
- unsigned long lo;
- signed long hi;
- };
- typedef struct TQ3Int64 TQ3Int64;
+struct TQ3Uns64 {
+ unsigned long lo;
+ unsigned long hi;
+};
+typedef struct TQ3Uns64 TQ3Uns64;
+struct TQ3Int64 {
+ unsigned long lo;
+ signed long hi;
+};
+typedef struct TQ3Int64 TQ3Int64;
#endif /* TARGET_RT_BIG_ENDIAN */
- typedef float TQ3Float32;
- typedef double TQ3Float64;
- typedef TQ3Uns32 TQ3Size;
- /******************************************************************************
- ** **
- ** File Types **
- ** **
- *****************************************************************************/
- enum TQ3FileModeMasks
- {
- kQ3FileModeNormal = 0,
- kQ3FileModeStream = 1 << 0,
- kQ3FileModeDatabase = 1 << 1,
- kQ3FileModeText = 1 << 2
- };
- typedef enum TQ3FileModeMasks TQ3FileModeMasks;
-
- typedef unsigned long TQ3FileMode;
- /******************************************************************************
- ** **
- ** Method Types **
- ** **
- *****************************************************************************/
- /*
- * IO Methods
- *
- * The IO system treats all objects as groups of typed information.
- * When you register your element or attribute, the "elementType" is the
- * binary type of your object, the "elementName" the ascii type.
- *
- * All objects in the metafile are made up of a "root" or parent object which
- * defines the instantiated object type. You may define the format of your
- * data any way you wish as long as you use the primitives types above and the
- * routines below.
- *
- * Root Objects are often appended with additional child objects, called
- * subobjects. You may append your object with other QuickDraw 3D objects.
- *
- * Writing is straightforward: an object traverses itself any other objects
- * that make it up, then writes its own data. Writing uses two methods:
- * TQ3XObjectTraverseMethod and TQ3XObjectWriteMethod.
- *
- * The TQ3XObjectTraverseMethod method should:
- * + First, Determine if the data should be written
- * - if you don't want to write out your object after examining your
- * data, return kQ3Success in your Traverse method without calling
- * any other submit calls.
- * + Next, calculate the size of your object on disk
- * + Gather whatever state from the view you need to preserve
- * - you may access the view state NOW, as the state of the
- * view duing your TQ3XObjectWriteMethod will not be valid. You may
- * pass a temporary buffer to your write method.
- * + Submit your view write data using Q3View_SubmitWriteData
- * - note that you MUST call this before any other "_Submit" call.
- * - you may pass in a "deleteMethod" for your data. This method
- * will be called whether or not your write method succeeds or fails.
- * + Submit your subobjects to the view
- *
- * The TQ3XObjectWriteMethod method should:
- * + Write your data format to the file using the primitives routines below.
- * - If you passed a "deleteMethod" in your Q3View_SubmitWriteData, that
- * method will be called upon exit of your write method.
- *
- * Reading is less straightforward because your root object and
- * any subobjects must be read inside of your TQ3XObjectReadDataMethod. There
- * is an implicit state contained in the file while reading, which you must
- * be aware of. When you first enter the read method, you must physically
- * read in your data format using the primitives routines until
- *
- * Q3File_IsEndOfData(file) == kQ3True
- *
- * Generally, your data format should be self-descriptive such that you do not
- * need to call Q3File_IsEndOfData to determine if you are done reading.
- * However, this call is useful for determining zero-sized object or
- * determining the end of an object's data.
- *
- * Once you have read in all the data, you may collect subobjects. A metafile
- * object ONLY has subobjects if it is in a container. The call
- *
- * Q3File_IsEndOfContainer(file)
- *
- * returns kQ3False if subobjects exist, and kQ3True if subobjects do not
- * exist.
- *
- * At this point, you may use
- *
- * Q3File_GetNextObjectType
- * Q3File_IsNextObjectOfType
- * Q3File_ReadObject
- * Q3File_SkipObject
- *
- * to iterate through the subobjects until Q3File_IsEndOfContainer(file)
- * is kQ3True.
- *
- */
-
- /*
- * IO Methods
- */
- enum
- {
- kQ3XMethodTypeObjectFileVersion = FOUR_CHAR_CODE('vers'), /* version */
- kQ3XMethodTypeObjectTraverse = FOUR_CHAR_CODE('trvs'), /* byte count */
- kQ3XMethodTypeObjectTraverseData = FOUR_CHAR_CODE('trvd'), /* byte count */
- kQ3XMethodTypeObjectWrite = FOUR_CHAR_CODE('writ'), /* Dump info to file */
- kQ3XMethodTypeObjectReadData = FOUR_CHAR_CODE('rddt'), /* Read info from file into buffer or, attach read data to parent */
- kQ3XMethodTypeObjectRead = FOUR_CHAR_CODE('read'),
- kQ3XMethodTypeObjectAttach = FOUR_CHAR_CODE('attc')
- };
-
- /*
- * TQ3XObjectTraverseMethod
- *
- * For "elements" (meaning "attributes, too), you will be passed NULL for
- * object. Sorry, custom objects will be available in the next major revision.
- *
- * The "data" is a pointer to your internal element data.
- *
- * The view is the current traversal view.
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XObjectTraverseMethod)(TQ3Object object, void *data, TQ3ViewObject view);
- /*
- * TQ3XObjectTraverseDataMethod
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XObjectTraverseDataMethod)(TQ3Object object, void *data, TQ3ViewObject view);
- /*
- * TQ3XObjectWriteMethod
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XObjectWriteMethod)(const void *object, TQ3FileObject theFile);
- /*
- * Custom object writing
- */
- typedef CALLBACK_API_C(void , TQ3XDataDeleteMethod)(void * data);
+typedef float TQ3Float32;
+typedef double TQ3Float64;
+typedef TQ3Uns32 TQ3Size;
+/******************************************************************************
+ ** **
+ ** File Types **
+ ** **
+ *****************************************************************************/
+enum TQ3FileModeMasks {
+ kQ3FileModeNormal = 0,
+ kQ3FileModeStream = 1 << 0,
+ kQ3FileModeDatabase = 1 << 1,
+ kQ3FileModeText = 1 << 2
+};
+typedef enum TQ3FileModeMasks TQ3FileModeMasks;
+
+typedef unsigned long TQ3FileMode;
+/******************************************************************************
+ ** **
+ ** Method Types **
+ ** **
+ *****************************************************************************/
+/*
+ * IO Methods
+ *
+ * The IO system treats all objects as groups of typed information.
+ * When you register your element or attribute, the "elementType" is the
+ * binary type of your object, the "elementName" the ascii type.
+ *
+ * All objects in the metafile are made up of a "root" or parent object which
+ * defines the instantiated object type. You may define the format of your
+ * data any way you wish as long as you use the primitives types above and the
+ * routines below.
+ *
+ * Root Objects are often appended with additional child objects, called
+ * subobjects. You may append your object with other QuickDraw 3D objects.
+ *
+ * Writing is straightforward: an object traverses itself any other objects
+ * that make it up, then writes its own data. Writing uses two methods:
+ * TQ3XObjectTraverseMethod and TQ3XObjectWriteMethod.
+ *
+ * The TQ3XObjectTraverseMethod method should:
+ * + First, Determine if the data should be written
+ * - if you don't want to write out your object after examining your
+ * data, return kQ3Success in your Traverse method without calling
+ * any other submit calls.
+ * + Next, calculate the size of your object on disk
+ * + Gather whatever state from the view you need to preserve
+ * - you may access the view state NOW, as the state of the
+ * view duing your TQ3XObjectWriteMethod will not be valid. You may
+ * pass a temporary buffer to your write method.
+ * + Submit your view write data using Q3View_SubmitWriteData
+ * - note that you MUST call this before any other "_Submit" call.
+ * - you may pass in a "deleteMethod" for your data. This method
+ * will be called whether or not your write method succeeds or fails.
+ * + Submit your subobjects to the view
+ *
+ * The TQ3XObjectWriteMethod method should:
+ * + Write your data format to the file using the primitives routines below.
+ * - If you passed a "deleteMethod" in your Q3View_SubmitWriteData, that
+ * method will be called upon exit of your write method.
+ *
+ * Reading is less straightforward because your root object and
+ * any subobjects must be read inside of your TQ3XObjectReadDataMethod. There
+ * is an implicit state contained in the file while reading, which you must
+ * be aware of. When you first enter the read method, you must physically
+ * read in your data format using the primitives routines until
+ *
+ * Q3File_IsEndOfData(file) == kQ3True
+ *
+ * Generally, your data format should be self-descriptive such that you do not
+ * need to call Q3File_IsEndOfData to determine if you are done reading.
+ * However, this call is useful for determining zero-sized object or
+ * determining the end of an object's data.
+ *
+ * Once you have read in all the data, you may collect subobjects. A metafile
+ * object ONLY has subobjects if it is in a container. The call
+ *
+ * Q3File_IsEndOfContainer(file)
+ *
+ * returns kQ3False if subobjects exist, and kQ3True if subobjects do not
+ * exist.
+ *
+ * At this point, you may use
+ *
+ * Q3File_GetNextObjectType
+ * Q3File_IsNextObjectOfType
+ * Q3File_ReadObject
+ * Q3File_SkipObject
+ *
+ * to iterate through the subobjects until Q3File_IsEndOfContainer(file)
+ * is kQ3True.
+ *
+ */
+
+/*
+ * IO Methods
+ */
+enum {
+ kQ3XMethodTypeObjectFileVersion = FOUR_CHAR_CODE('vers'), /* version */
+ kQ3XMethodTypeObjectTraverse = FOUR_CHAR_CODE('trvs'), /* byte count */
+ kQ3XMethodTypeObjectTraverseData = FOUR_CHAR_CODE('trvd'), /* byte count */
+ kQ3XMethodTypeObjectWrite = FOUR_CHAR_CODE('writ'), /* Dump info to file */
+ kQ3XMethodTypeObjectReadData = FOUR_CHAR_CODE('rddt'), /* Read info from file into buffer or, attach read data to parent */
+ kQ3XMethodTypeObjectRead = FOUR_CHAR_CODE('read'),
+ kQ3XMethodTypeObjectAttach = FOUR_CHAR_CODE('attc')
+};
+
+/*
+ * TQ3XObjectTraverseMethod
+ *
+ * For "elements" (meaning "attributes, too), you will be passed NULL for
+ * object. Sorry, custom objects will be available in the next major revision.
+ *
+ * The "data" is a pointer to your internal element data.
+ *
+ * The view is the current traversal view.
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XObjectTraverseMethod )(TQ3Object object, void *data, TQ3ViewObject view);
+/*
+ * TQ3XObjectTraverseDataMethod
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XObjectTraverseDataMethod )(TQ3Object object, void *data, TQ3ViewObject view);
+/*
+ * TQ3XObjectWriteMethod
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XObjectWriteMethod )(const void *object, TQ3FileObject theFile);
+/*
+ * Custom object writing
+ */
+typedef CALLBACK_API_C( void , TQ3XDataDeleteMethod )(void * data);
#if CALL_NOT_IN_CARBON
- /*
- * Q3XView_SubmitWriteData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XView_SubmitWriteData(
- TQ3ViewObject view,
- TQ3Size size,
- void * data,
- TQ3XDataDeleteMethod deleteData);
-
-
- /*
- * Q3XView_SubmitSubObjectData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XView_SubmitSubObjectData(
- TQ3ViewObject view,
- TQ3XObjectClass objectClass,
- unsigned long size,
- void * data,
- TQ3XDataDeleteMethod deleteData);
-
-
- /*
- * TQ3XObjectReadMethod
- */
+/*
+ * Q3XView_SubmitWriteData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XView_SubmitWriteData(
+ TQ3ViewObject view,
+ TQ3Size size,
+ void * data,
+ TQ3XDataDeleteMethod deleteData);
+
+
+/*
+ * Q3XView_SubmitSubObjectData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XView_SubmitSubObjectData(
+ TQ3ViewObject view,
+ TQ3XObjectClass objectClass,
+ unsigned long size,
+ void * data,
+ TQ3XDataDeleteMethod deleteData);
+
+
+/*
+ * TQ3XObjectReadMethod
+ */
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(TQ3Object , TQ3XObjectReadMethod)(TQ3FileObject theFile);
- /*
- * TQ3XObjectReadDataMethod
- *
- * For "elements" (meaning "attributes", too), you must allocate stack space
- * and call Q3Set_Add on "parentObject", which is an TQ3SetObject.
- *
- * Otherwise, parentObject is whatever object your element is a subobject of...
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XObjectReadDataMethod)(TQ3Object parentObject, TQ3FileObject theFile);
- /*
- * TQ3XObjectAttachMethod
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XObjectAttachMethod)(TQ3Object childObject, TQ3Object parentObject);
-
-
- /******************************************************************************
- ** **
- ** Versioning **
- ** **
- *****************************************************************************/
+typedef CALLBACK_API_C( TQ3Object , TQ3XObjectReadMethod )(TQ3FileObject theFile);
+/*
+ * TQ3XObjectReadDataMethod
+ *
+ * For "elements" (meaning "attributes", too), you must allocate stack space
+ * and call Q3Set_Add on "parentObject", which is an TQ3SetObject.
+ *
+ * Otherwise, parentObject is whatever object your element is a subobject of...
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XObjectReadDataMethod )(TQ3Object parentObject, TQ3FileObject theFile);
+/*
+ * TQ3XObjectAttachMethod
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XObjectAttachMethod )(TQ3Object childObject, TQ3Object parentObject);
+
+
+/******************************************************************************
+ ** **
+ ** Versioning **
+ ** **
+ *****************************************************************************/
#define Q3FileVersion(majorVersion, minorVersion) (TQ3FileVersion) \
((((TQ3Uns32) majorVersion & 0xFFFF) << 16) | ((TQ3Uns32) minorVersion & 0xFFFF))
- typedef unsigned long TQ3FileVersion;
+typedef unsigned long TQ3FileVersion;
#define kQ3FileVersionCurrent Q3FileVersion(1,6)
- /******************************************************************************
- ** **
- ** File Routines **
- ** **
- *****************************************************************************/
- /*
- * Creation and accessors
- */
+/******************************************************************************
+ ** **
+ ** File Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Creation and accessors
+ */
#if CALL_NOT_IN_CARBON
- /*
- * Q3File_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3FileObject)
- Q3File_New(void);
-
-
- /*
- * Q3File_GetStorage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_GetStorage(
- TQ3FileObject theFile,
- TQ3StorageObject * storage);
-
-
- /*
- * Q3File_SetStorage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_SetStorage(
- TQ3FileObject theFile,
- TQ3StorageObject storage);
-
-
- /*
- * Opening, and accessing "open" state, closing/cancelling
- */
- /*
- * Q3File_OpenRead()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_OpenRead(
- TQ3FileObject theFile,
- TQ3FileMode * mode);
-
-
- /*
- * Q3File_OpenWrite()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_OpenWrite(
- TQ3FileObject theFile,
- TQ3FileMode mode);
-
-
- /*
- * Q3File_IsOpen()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_IsOpen(
- TQ3FileObject theFile,
- TQ3Boolean * isOpen);
-
-
- /*
- * Q3File_GetMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_GetMode(
- TQ3FileObject theFile,
- TQ3FileMode * mode);
-
-
- /*
- * Q3File_GetVersion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_GetVersion(
- TQ3FileObject theFile,
- TQ3FileVersion * version);
-
-
- /*
- * Q3File_Close()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_Close(TQ3FileObject theFile);
-
-
- /*
- * Q3File_Cancel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_Cancel(TQ3FileObject theFile);
-
-
- /*
- * Writing (Application)
- */
- /*
- * Q3View_StartWriting()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_StartWriting(
- TQ3ViewObject view,
- TQ3FileObject theFile);
-
-
- /*
- * Q3View_EndWriting()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewStatus)
- Q3View_EndWriting(TQ3ViewObject view);
-
-
- /*
- * Reading (Application)
- */
- /*
- * Q3File_GetNextObjectType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3File_GetNextObjectType(TQ3FileObject theFile);
-
-
- /*
- * Q3File_IsNextObjectOfType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3File_IsNextObjectOfType(
- TQ3FileObject theFile,
- TQ3ObjectType ofType);
-
-
- /*
- * Q3File_ReadObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Object)
- Q3File_ReadObject(TQ3FileObject theFile);
-
-
- /*
- * Q3File_SkipObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_SkipObject(TQ3FileObject theFile);
-
-
- /*
- * Q3File_IsEndOfData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3File_IsEndOfData(TQ3FileObject theFile);
-
-
- /*
- * Q3File_IsEndOfContainer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3File_IsEndOfContainer(
- TQ3FileObject theFile,
- TQ3Object rootObject);
-
-
- /*
- * Q3File_IsEndOfFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3File_IsEndOfFile(TQ3FileObject theFile);
-
-
- /*
- * External file references
- */
- /*
- * Q3File_MarkAsExternalReference()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_MarkAsExternalReference(
- TQ3FileObject theFile,
- TQ3SharedObject sharedObject);
-
-
- /*
- * Q3File_GetExternalReferences()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupObject)
- Q3File_GetExternalReferences(TQ3FileObject theFile);
-
-
- /*
- * Tracking editing in read-in objects with custom elements
- */
- /*
- * Q3Shared_ClearEditTracking()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shared_ClearEditTracking(TQ3SharedObject sharedObject);
-
-
- /*
- * Q3Shared_GetEditTrackingState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Shared_GetEditTrackingState(TQ3SharedObject sharedObject);
-
-
- /*
- * Reading objects inside a group one-by-one
- */
+/*
+ * Q3File_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3FileObject )
+Q3File_New(void);
+
+
+/*
+ * Q3File_GetStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_GetStorage(
+ TQ3FileObject theFile,
+ TQ3StorageObject * storage);
+
+
+/*
+ * Q3File_SetStorage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_SetStorage(
+ TQ3FileObject theFile,
+ TQ3StorageObject storage);
+
+
+/*
+ * Opening, and accessing "open" state, closing/cancelling
+ */
+/*
+ * Q3File_OpenRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_OpenRead(
+ TQ3FileObject theFile,
+ TQ3FileMode * mode);
+
+
+/*
+ * Q3File_OpenWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_OpenWrite(
+ TQ3FileObject theFile,
+ TQ3FileMode mode);
+
+
+/*
+ * Q3File_IsOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_IsOpen(
+ TQ3FileObject theFile,
+ TQ3Boolean * isOpen);
+
+
+/*
+ * Q3File_GetMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_GetMode(
+ TQ3FileObject theFile,
+ TQ3FileMode * mode);
+
+
+/*
+ * Q3File_GetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_GetVersion(
+ TQ3FileObject theFile,
+ TQ3FileVersion * version);
+
+
+/*
+ * Q3File_Close()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_Close(TQ3FileObject theFile);
+
+
+/*
+ * Q3File_Cancel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_Cancel(TQ3FileObject theFile);
+
+
+/*
+ * Writing (Application)
+ */
+/*
+ * Q3View_StartWriting()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_StartWriting(
+ TQ3ViewObject view,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3View_EndWriting()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewStatus )
+Q3View_EndWriting(TQ3ViewObject view);
+
+
+/*
+ * Reading (Application)
+ */
+/*
+ * Q3File_GetNextObjectType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3File_GetNextObjectType(TQ3FileObject theFile);
+
+
+/*
+ * Q3File_IsNextObjectOfType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3File_IsNextObjectOfType(
+ TQ3FileObject theFile,
+ TQ3ObjectType ofType);
+
+
+/*
+ * Q3File_ReadObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Object )
+Q3File_ReadObject(TQ3FileObject theFile);
+
+
+/*
+ * Q3File_SkipObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_SkipObject(TQ3FileObject theFile);
+
+
+/*
+ * Q3File_IsEndOfData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3File_IsEndOfData(TQ3FileObject theFile);
+
+
+/*
+ * Q3File_IsEndOfContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3File_IsEndOfContainer(
+ TQ3FileObject theFile,
+ TQ3Object rootObject);
+
+
+/*
+ * Q3File_IsEndOfFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3File_IsEndOfFile(TQ3FileObject theFile);
+
+
+/*
+ * External file references
+ */
+/*
+ * Q3File_MarkAsExternalReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_MarkAsExternalReference(
+ TQ3FileObject theFile,
+ TQ3SharedObject sharedObject);
+
+
+/*
+ * Q3File_GetExternalReferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupObject )
+Q3File_GetExternalReferences(TQ3FileObject theFile);
+
+
+/*
+ * Tracking editing in read-in objects with custom elements
+ */
+/*
+ * Q3Shared_ClearEditTracking()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shared_ClearEditTracking(TQ3SharedObject sharedObject);
+
+
+/*
+ * Q3Shared_GetEditTrackingState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Shared_GetEditTrackingState(TQ3SharedObject sharedObject);
+
+
+/*
+ * Reading objects inside a group one-by-one
+ */
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3FileReadGroupStateMasks
- {
- kQ3FileReadWholeGroup = 0,
- kQ3FileReadObjectsInGroup = 1 << 0,
- kQ3FileCurrentlyInsideGroup = 1 << 1
- };
- typedef enum TQ3FileReadGroupStateMasks TQ3FileReadGroupStateMasks;
+enum TQ3FileReadGroupStateMasks {
+ kQ3FileReadWholeGroup = 0,
+ kQ3FileReadObjectsInGroup = 1 << 0,
+ kQ3FileCurrentlyInsideGroup = 1 << 1
+};
+typedef enum TQ3FileReadGroupStateMasks TQ3FileReadGroupStateMasks;
- typedef unsigned long TQ3FileReadGroupState;
+typedef unsigned long TQ3FileReadGroupState;
#if CALL_NOT_IN_CARBON
- /*
- * Q3File_SetReadInGroup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_SetReadInGroup(
- TQ3FileObject theFile,
- TQ3FileReadGroupState readGroupState);
-
-
- /*
- * Q3File_GetReadInGroup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_GetReadInGroup(
- TQ3FileObject theFile,
- TQ3FileReadGroupState * readGroupState);
-
-
-
- /*
- * Idling
- */
+/*
+ * Q3File_SetReadInGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_SetReadInGroup(
+ TQ3FileObject theFile,
+ TQ3FileReadGroupState readGroupState);
+
+
+/*
+ * Q3File_GetReadInGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_GetReadInGroup(
+ TQ3FileObject theFile,
+ TQ3FileReadGroupState * readGroupState);
+
+
+
+/*
+ * Idling
+ */
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(TQ3Status , TQ3FileIdleMethod)(TQ3FileObject theFile, const void *idlerData);
+typedef CALLBACK_API_C( TQ3Status , TQ3FileIdleMethod )(TQ3FileObject theFile, const void *idlerData);
#if CALL_NOT_IN_CARBON
- /*
- * Q3File_SetIdleMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3File_SetIdleMethod(
- TQ3FileObject theFile,
- TQ3FileIdleMethod idle,
- const void * idleData);
-
-
-
- /******************************************************************************
- ** **
- ** Primitives Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3NewLine_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3NewLine_Write(TQ3FileObject theFile);
-
-
- /*
- * Q3Uns8_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Uns8_Read(
- TQ3Uns8 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Uns8_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Uns8_Write(
- TQ3Uns8 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Uns16_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Uns16_Read(
- TQ3Uns16 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Uns16_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Uns16_Write(
- TQ3Uns16 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Uns32_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Uns32_Read(
- TQ3Uns32 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Uns32_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Uns32_Write(
- TQ3Uns32 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Int8_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Int8_Read(
- TQ3Int8 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Int8_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Int8_Write(
- TQ3Int8 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Int16_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Int16_Read(
- TQ3Int16 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Int16_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Int16_Write(
- TQ3Int16 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Int32_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Int32_Read(
- TQ3Int32 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Int32_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Int32_Write(
- TQ3Int32 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Uns64_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Uns64_Read(
- TQ3Uns64 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Uns64_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Uns64_Write(
- TQ3Uns64 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Int64_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Int64_Read(
- TQ3Int64 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Int64_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Int64_Write(
- TQ3Int64 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Float32_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Float32_Read(
- TQ3Float32 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Float32_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Float32_Write(
- TQ3Float32 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Float64_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Float64_Read(
- TQ3Float64 * data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Float64_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Float64_Write(
- TQ3Float64 data,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Size_Pad()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Size)
- Q3Size_Pad(TQ3Size size);
-
-
- /*
- * Pass a pointer to a buffer of kQ3StringMaximumLength bytes
- */
- /*
- * Q3String_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3String_Read(
- char * data,
- unsigned long * length,
- TQ3FileObject theFile);
-
-
- /*
- * Q3String_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3String_Write(
- const char * data,
- TQ3FileObject theFile);
-
-
- /*
- * This call will read Q3Size_Pad(size) bytes,
- * but only place size bytes into data.
- */
- /*
- * Q3RawData_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RawData_Read(
- unsigned char * data,
- unsigned long size,
- TQ3FileObject theFile);
-
-
- /*
- * This call will write Q3Size_Pad(size) bytes,
- * adding 0's to pad to the nearest 4 byte boundary.
- */
- /*
- * Q3RawData_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RawData_Write(
- const unsigned char * data,
- unsigned long size,
- TQ3FileObject theFile);
-
-
- /******************************************************************************
- ** **
- ** Convenient Primitives Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3Point2D_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point2D_Read(
- TQ3Point2D * point2D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Point2D_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point2D_Write(
- const TQ3Point2D * point2D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Point3D_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point3D_Read(
- TQ3Point3D * point3D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Point3D_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point3D_Write(
- const TQ3Point3D * point3D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3RationalPoint3D_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RationalPoint3D_Read(
- TQ3RationalPoint3D * point3D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3RationalPoint3D_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RationalPoint3D_Write(
- const TQ3RationalPoint3D * point3D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3RationalPoint4D_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RationalPoint4D_Read(
- TQ3RationalPoint4D * point4D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3RationalPoint4D_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RationalPoint4D_Write(
- const TQ3RationalPoint4D * point4D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Vector2D_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Vector2D_Read(
- TQ3Vector2D * vector2D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Vector2D_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Vector2D_Write(
- const TQ3Vector2D * vector2D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Vector3D_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Vector3D_Read(
- TQ3Vector3D * vector3D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Vector3D_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Vector3D_Write(
- const TQ3Vector3D * vector3D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Matrix4x4_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Matrix4x4_Read(
- TQ3Matrix4x4 * matrix4x4,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Matrix4x4_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Matrix4x4_Write(
- const TQ3Matrix4x4 * matrix4x4,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Tangent2D_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Tangent2D_Read(
- TQ3Tangent2D * tangent2D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Tangent2D_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Tangent2D_Write(
- const TQ3Tangent2D * tangent2D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Tangent3D_Read()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Tangent3D_Read(
- TQ3Tangent3D * tangent3D,
- TQ3FileObject theFile);
-
-
- /*
- * Q3Tangent3D_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Tangent3D_Write(
- const TQ3Tangent3D * tangent3D,
- TQ3FileObject theFile);
-
-
- /* This call affects only text Files - it is a no-op in binary files */
- /*
- * Q3Comment_Write()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Comment_Write(
- char * comment,
- TQ3FileObject theFile);
-
-
- /******************************************************************************
- ** **
- ** Unknown Object **
- ** **
- ** Unknown objects are generated when reading files which contain **
- ** custom data which has not been registered in the current **
- ** instantiation of QuickDraw 3D. **
- ** **
- *****************************************************************************/
- /*
- * Q3Unknown_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Unknown_GetType(TQ3UnknownObject unknownObject);
-
-
- /*
- * Q3Unknown_GetDirtyState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Unknown_GetDirtyState(
- TQ3UnknownObject unknownObject,
- TQ3Boolean * isDirty);
-
-
- /*
- * Q3Unknown_SetDirtyState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Unknown_SetDirtyState(
- TQ3UnknownObject unknownObject,
- TQ3Boolean isDirty);
-
-
-
- /******************************************************************************
- ** **
- ** Unknown Text Routines **
- ** **
- *****************************************************************************/
+/*
+ * Q3File_SetIdleMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3File_SetIdleMethod(
+ TQ3FileObject theFile,
+ TQ3FileIdleMethod idle,
+ const void * idleData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Primitives Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3NewLine_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3NewLine_Write(TQ3FileObject theFile);
+
+
+/*
+ * Q3Uns8_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Uns8_Read(
+ TQ3Uns8 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Uns8_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Uns8_Write(
+ TQ3Uns8 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Uns16_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Uns16_Read(
+ TQ3Uns16 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Uns16_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Uns16_Write(
+ TQ3Uns16 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Uns32_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Uns32_Read(
+ TQ3Uns32 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Uns32_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Uns32_Write(
+ TQ3Uns32 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Int8_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Int8_Read(
+ TQ3Int8 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Int8_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Int8_Write(
+ TQ3Int8 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Int16_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Int16_Read(
+ TQ3Int16 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Int16_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Int16_Write(
+ TQ3Int16 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Int32_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Int32_Read(
+ TQ3Int32 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Int32_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Int32_Write(
+ TQ3Int32 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Uns64_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Uns64_Read(
+ TQ3Uns64 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Uns64_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Uns64_Write(
+ TQ3Uns64 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Int64_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Int64_Read(
+ TQ3Int64 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Int64_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Int64_Write(
+ TQ3Int64 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Float32_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Float32_Read(
+ TQ3Float32 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Float32_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Float32_Write(
+ TQ3Float32 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Float64_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Float64_Read(
+ TQ3Float64 * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Float64_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Float64_Write(
+ TQ3Float64 data,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Size_Pad()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Size )
+Q3Size_Pad(TQ3Size size);
+
+
+/*
+ * Pass a pointer to a buffer of kQ3StringMaximumLength bytes
+ */
+/*
+ * Q3String_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3String_Read(
+ char * data,
+ unsigned long * length,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3String_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3String_Write(
+ const char * data,
+ TQ3FileObject theFile);
+
+
+/*
+ * This call will read Q3Size_Pad(size) bytes,
+ * but only place size bytes into data.
+ */
+/*
+ * Q3RawData_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RawData_Read(
+ unsigned char * data,
+ unsigned long size,
+ TQ3FileObject theFile);
+
+
+/*
+ * This call will write Q3Size_Pad(size) bytes,
+ * adding 0's to pad to the nearest 4 byte boundary.
+ */
+/*
+ * Q3RawData_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RawData_Write(
+ const unsigned char * data,
+ unsigned long size,
+ TQ3FileObject theFile);
+
+
+/******************************************************************************
+ ** **
+ ** Convenient Primitives Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Point2D_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point2D_Read(
+ TQ3Point2D * point2D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Point2D_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point2D_Write(
+ const TQ3Point2D * point2D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Point3D_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point3D_Read(
+ TQ3Point3D * point3D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Point3D_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point3D_Write(
+ const TQ3Point3D * point3D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3RationalPoint3D_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RationalPoint3D_Read(
+ TQ3RationalPoint3D * point3D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3RationalPoint3D_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RationalPoint3D_Write(
+ const TQ3RationalPoint3D * point3D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3RationalPoint4D_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RationalPoint4D_Read(
+ TQ3RationalPoint4D * point4D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3RationalPoint4D_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RationalPoint4D_Write(
+ const TQ3RationalPoint4D * point4D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Vector2D_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Vector2D_Read(
+ TQ3Vector2D * vector2D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Vector2D_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Vector2D_Write(
+ const TQ3Vector2D * vector2D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Vector3D_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Vector3D_Read(
+ TQ3Vector3D * vector3D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Vector3D_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Vector3D_Write(
+ const TQ3Vector3D * vector3D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Matrix4x4_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Matrix4x4_Read(
+ TQ3Matrix4x4 * matrix4x4,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Matrix4x4_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Matrix4x4_Write(
+ const TQ3Matrix4x4 * matrix4x4,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Tangent2D_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Tangent2D_Read(
+ TQ3Tangent2D * tangent2D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Tangent2D_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Tangent2D_Write(
+ const TQ3Tangent2D * tangent2D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Tangent3D_Read()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Tangent3D_Read(
+ TQ3Tangent3D * tangent3D,
+ TQ3FileObject theFile);
+
+
+/*
+ * Q3Tangent3D_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Tangent3D_Write(
+ const TQ3Tangent3D * tangent3D,
+ TQ3FileObject theFile);
+
+
+/* This call affects only text Files - it is a no-op in binary files */
+/*
+ * Q3Comment_Write()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Comment_Write(
+ char * comment,
+ TQ3FileObject theFile);
+
+
+/******************************************************************************
+ ** **
+ ** Unknown Object **
+ ** **
+ ** Unknown objects are generated when reading files which contain **
+ ** custom data which has not been registered in the current **
+ ** instantiation of QuickDraw 3D. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Unknown_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Unknown_GetType(TQ3UnknownObject unknownObject);
+
+
+/*
+ * Q3Unknown_GetDirtyState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Unknown_GetDirtyState(
+ TQ3UnknownObject unknownObject,
+ TQ3Boolean * isDirty);
+
+
+/*
+ * Q3Unknown_SetDirtyState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Unknown_SetDirtyState(
+ TQ3UnknownObject unknownObject,
+ TQ3Boolean isDirty);
+
+
+
+/******************************************************************************
+ ** **
+ ** Unknown Text Routines **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3UnknownTextData
- {
- char * objectName; /* '\0' terminated */
- char * contents; /* '\0' terminated */
- };
- typedef struct TQ3UnknownTextData TQ3UnknownTextData;
+struct TQ3UnknownTextData {
+ char * objectName; /* '\0' terminated */
+ char * contents; /* '\0' terminated */
+};
+typedef struct TQ3UnknownTextData TQ3UnknownTextData;
#if CALL_NOT_IN_CARBON
- /*
- * Q3UnknownText_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3UnknownText_GetData(
- TQ3UnknownObject unknownObject,
- TQ3UnknownTextData * unknownTextData);
-
-
- /*
- * Q3UnknownText_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3UnknownText_EmptyData(TQ3UnknownTextData * unknownTextData);
-
-
-
- /******************************************************************************
- ** **
- ** Unknown Binary Routines **
- ** **
- *****************************************************************************/
+/*
+ * Q3UnknownText_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3UnknownText_GetData(
+ TQ3UnknownObject unknownObject,
+ TQ3UnknownTextData * unknownTextData);
+
+
+/*
+ * Q3UnknownText_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3UnknownText_EmptyData(TQ3UnknownTextData * unknownTextData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Unknown Binary Routines **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3UnknownBinaryData
- {
- TQ3ObjectType objectType;
- unsigned long size;
- TQ3Endian byteOrder;
- char * contents;
- };
- typedef struct TQ3UnknownBinaryData TQ3UnknownBinaryData;
+struct TQ3UnknownBinaryData {
+ TQ3ObjectType objectType;
+ unsigned long size;
+ TQ3Endian byteOrder;
+ char * contents;
+};
+typedef struct TQ3UnknownBinaryData TQ3UnknownBinaryData;
#if CALL_NOT_IN_CARBON
- /*
- * Q3UnknownBinary_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3UnknownBinary_GetData(
- TQ3UnknownObject unknownObject,
- TQ3UnknownBinaryData * unknownBinaryData);
-
-
- /*
- * Q3UnknownBinary_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3UnknownBinary_EmptyData(TQ3UnknownBinaryData * unknownBinaryData);
+/*
+ * Q3UnknownBinary_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3UnknownBinary_GetData(
+ TQ3UnknownObject unknownObject,
+ TQ3UnknownBinaryData * unknownBinaryData);
+
+
+/*
+ * Q3UnknownBinary_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3UnknownBinary_EmptyData(TQ3UnknownBinaryData * unknownBinaryData);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * Q3UnknownBinary_GetTypeString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3UnknownBinary_GetTypeString(
- TQ3UnknownObject unknownObject,
- char ** typeString);
-
-
- /*
- * Q3UnknownBinary_EmptyTypeString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3UnknownBinary_EmptyTypeString(char ** typeString);
+/*
+ * Q3UnknownBinary_GetTypeString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3UnknownBinary_GetTypeString(
+ TQ3UnknownObject unknownObject,
+ char ** typeString);
+
+
+/*
+ * Q3UnknownBinary_EmptyTypeString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3UnknownBinary_EmptyTypeString(char ** typeString);
#endif /* CALL_NOT_IN_CARBON */
- /******************************************************************************
- ** **
- ** ViewHints routines **
- ** **
- ** ViewHints are an object in a metafile to give you some hints on how **
- ** to render a scene. You may create a view with any of the objects **
- ** retrieved from it, or you can just throw it away. **
- ** **
- ** To write a view hints to a file, create a view hints object from a **
- ** view and write the view hints. **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** ViewHints routines **
+ ** **
+ ** ViewHints are an object in a metafile to give you some hints on how **
+ ** to render a scene. You may create a view with any of the objects **
+ ** retrieved from it, or you can just throw it away. **
+ ** **
+ ** To write a view hints to a file, create a view hints object from a **
+ ** view and write the view hints. **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3ViewHints_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewHintsObject)
- Q3ViewHints_New(TQ3ViewObject view);
-
-
- /*
- * Q3ViewHints_SetRenderer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetRenderer(
- TQ3ViewHintsObject viewHints,
- TQ3RendererObject renderer);
-
-
- /*
- * Q3ViewHints_GetRenderer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetRenderer(
- TQ3ViewHintsObject viewHints,
- TQ3RendererObject * renderer);
-
-
- /*
- * Q3ViewHints_SetCamera()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetCamera(
- TQ3ViewHintsObject viewHints,
- TQ3CameraObject camera);
-
-
- /*
- * Q3ViewHints_GetCamera()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetCamera(
- TQ3ViewHintsObject viewHints,
- TQ3CameraObject * camera);
-
-
- /*
- * Q3ViewHints_SetLightGroup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetLightGroup(
- TQ3ViewHintsObject viewHints,
- TQ3GroupObject lightGroup);
-
-
- /*
- * Q3ViewHints_GetLightGroup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetLightGroup(
- TQ3ViewHintsObject viewHints,
- TQ3GroupObject * lightGroup);
-
-
- /*
- * Q3ViewHints_SetAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetAttributeSet(
- TQ3ViewHintsObject viewHints,
- TQ3AttributeSet attributeSet);
-
-
- /*
- * Q3ViewHints_GetAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetAttributeSet(
- TQ3ViewHintsObject viewHints,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3ViewHints_SetDimensionsState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetDimensionsState(
- TQ3ViewHintsObject viewHints,
- TQ3Boolean isValid);
-
-
- /*
- * Q3ViewHints_GetDimensionsState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetDimensionsState(
- TQ3ViewHintsObject viewHints,
- TQ3Boolean * isValid);
-
-
- /*
- * Q3ViewHints_SetDimensions()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetDimensions(
- TQ3ViewHintsObject viewHints,
- unsigned long width,
- unsigned long height);
-
-
- /*
- * Q3ViewHints_GetDimensions()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetDimensions(
- TQ3ViewHintsObject viewHints,
- unsigned long * width,
- unsigned long * height);
-
-
- /*
- * Q3ViewHints_SetMaskState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetMaskState(
- TQ3ViewHintsObject viewHints,
- TQ3Boolean isValid);
-
-
- /*
- * Q3ViewHints_GetMaskState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetMaskState(
- TQ3ViewHintsObject viewHints,
- TQ3Boolean * isValid);
-
-
- /*
- * Q3ViewHints_SetMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetMask(
- TQ3ViewHintsObject viewHints,
- const TQ3Bitmap * mask);
-
-
- /*
- * Q3ViewHints_GetMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetMask(
- TQ3ViewHintsObject viewHints,
- TQ3Bitmap * mask);
-
-
- /* Call Q3Bitmap_Empty when done with the mask */
- /*
- * Q3ViewHints_SetClearImageMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetClearImageMethod(
- TQ3ViewHintsObject viewHints,
- TQ3DrawContextClearImageMethod clearMethod);
-
-
- /*
- * Q3ViewHints_GetClearImageMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetClearImageMethod(
- TQ3ViewHintsObject viewHints,
- TQ3DrawContextClearImageMethod * clearMethod);
-
-
- /*
- * Q3ViewHints_SetClearImageColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_SetClearImageColor(
- TQ3ViewHintsObject viewHints,
- const TQ3ColorARGB * color);
-
-
- /*
- * Q3ViewHints_GetClearImageColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ViewHints_GetClearImageColor(
- TQ3ViewHintsObject viewHints,
- TQ3ColorARGB * color);
+/*
+ * Q3ViewHints_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewHintsObject )
+Q3ViewHints_New(TQ3ViewObject view);
+
+
+/*
+ * Q3ViewHints_SetRenderer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetRenderer(
+ TQ3ViewHintsObject viewHints,
+ TQ3RendererObject renderer);
+
+
+/*
+ * Q3ViewHints_GetRenderer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetRenderer(
+ TQ3ViewHintsObject viewHints,
+ TQ3RendererObject * renderer);
+
+
+/*
+ * Q3ViewHints_SetCamera()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetCamera(
+ TQ3ViewHintsObject viewHints,
+ TQ3CameraObject camera);
+
+
+/*
+ * Q3ViewHints_GetCamera()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetCamera(
+ TQ3ViewHintsObject viewHints,
+ TQ3CameraObject * camera);
+
+
+/*
+ * Q3ViewHints_SetLightGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetLightGroup(
+ TQ3ViewHintsObject viewHints,
+ TQ3GroupObject lightGroup);
+
+
+/*
+ * Q3ViewHints_GetLightGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetLightGroup(
+ TQ3ViewHintsObject viewHints,
+ TQ3GroupObject * lightGroup);
+
+
+/*
+ * Q3ViewHints_SetAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetAttributeSet(
+ TQ3ViewHintsObject viewHints,
+ TQ3AttributeSet attributeSet);
+
+
+/*
+ * Q3ViewHints_GetAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetAttributeSet(
+ TQ3ViewHintsObject viewHints,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3ViewHints_SetDimensionsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetDimensionsState(
+ TQ3ViewHintsObject viewHints,
+ TQ3Boolean isValid);
+
+
+/*
+ * Q3ViewHints_GetDimensionsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetDimensionsState(
+ TQ3ViewHintsObject viewHints,
+ TQ3Boolean * isValid);
+
+
+/*
+ * Q3ViewHints_SetDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetDimensions(
+ TQ3ViewHintsObject viewHints,
+ unsigned long width,
+ unsigned long height);
+
+
+/*
+ * Q3ViewHints_GetDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetDimensions(
+ TQ3ViewHintsObject viewHints,
+ unsigned long * width,
+ unsigned long * height);
+
+
+/*
+ * Q3ViewHints_SetMaskState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetMaskState(
+ TQ3ViewHintsObject viewHints,
+ TQ3Boolean isValid);
+
+
+/*
+ * Q3ViewHints_GetMaskState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetMaskState(
+ TQ3ViewHintsObject viewHints,
+ TQ3Boolean * isValid);
+
+
+/*
+ * Q3ViewHints_SetMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetMask(
+ TQ3ViewHintsObject viewHints,
+ const TQ3Bitmap * mask);
+
+
+/*
+ * Q3ViewHints_GetMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetMask(
+ TQ3ViewHintsObject viewHints,
+ TQ3Bitmap * mask);
+
+
+/* Call Q3Bitmap_Empty when done with the mask */
+/*
+ * Q3ViewHints_SetClearImageMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetClearImageMethod(
+ TQ3ViewHintsObject viewHints,
+ TQ3DrawContextClearImageMethod clearMethod);
+
+
+/*
+ * Q3ViewHints_GetClearImageMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetClearImageMethod(
+ TQ3ViewHintsObject viewHints,
+ TQ3DrawContextClearImageMethod * clearMethod);
+
+
+/*
+ * Q3ViewHints_SetClearImageColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_SetClearImageColor(
+ TQ3ViewHintsObject viewHints,
+ const TQ3ColorARGB * color);
+
+
+/*
+ * Q3ViewHints_GetClearImageColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ViewHints_GetClearImageColor(
+ TQ3ViewHintsObject viewHints,
+ TQ3ColorARGB * color);
@@ -1827,22 +1818,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DIO__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DIO__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DIO__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DLight.h b/include/qt/QD3DLight.h
index 2b8068ce4..e7146fcb7 100644
--- a/include/qt/QD3DLight.h
+++ b/include/qt/QD3DLight.h
@@ -1,18 +1,18 @@
/*
File: QD3DLight.h
-
+
Contains: Generic light routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DLIGHT__
#define __QD3DLIGHT__
@@ -37,743 +37,738 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DLIGHT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DLIGHT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DLIGHT__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DLIGHT__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Enum Definitions **
- ** **
- *****************************************************************************/
- enum TQ3AttenuationType {
- kQ3AttenuationTypeNone = 0,
- kQ3AttenuationTypeInverseDistance = 1,
- kQ3AttenuationTypeInverseDistanceSquared = 2
- };
- typedef enum TQ3AttenuationType TQ3AttenuationType;
-
-
- enum TQ3FallOffType
- {
- kQ3FallOffTypeNone = 0,
- kQ3FallOffTypeLinear = 1,
- kQ3FallOffTypeExponential = 2,
- kQ3FallOffTypeCosine = 3
- };
- typedef enum TQ3FallOffType TQ3FallOffType;
-
-
- /******************************************************************************
- ** **
- ** Data Structure Definitions **
- ** **
- *****************************************************************************/
- struct TQ3LightData
- {
- TQ3Boolean isOn;
- float brightness;
- TQ3ColorRGB color;
- };
- typedef struct TQ3LightData TQ3LightData;
- struct TQ3DirectionalLightData
- {
- TQ3LightData lightData;
- TQ3Boolean castsShadows;
- TQ3Vector3D direction;
- };
- typedef struct TQ3DirectionalLightData TQ3DirectionalLightData;
- struct TQ3PointLightData
- {
- TQ3LightData lightData;
- TQ3Boolean castsShadows;
- TQ3AttenuationType attenuation;
- TQ3Point3D location;
- };
- typedef struct TQ3PointLightData TQ3PointLightData;
- struct TQ3SpotLightData
- {
- TQ3LightData lightData;
- TQ3Boolean castsShadows;
- TQ3AttenuationType attenuation;
- TQ3Point3D location;
- TQ3Vector3D direction;
- float hotAngle;
- float outerAngle;
- TQ3FallOffType fallOff;
- };
- typedef struct TQ3SpotLightData TQ3SpotLightData;
- /******************************************************************************
- ** **
- ** Light routines (apply to all TQ3LightObjects) **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Enum Definitions **
+ ** **
+ *****************************************************************************/
+enum TQ3AttenuationType {
+ kQ3AttenuationTypeNone = 0,
+ kQ3AttenuationTypeInverseDistance = 1,
+ kQ3AttenuationTypeInverseDistanceSquared = 2
+};
+typedef enum TQ3AttenuationType TQ3AttenuationType;
+
+
+enum TQ3FallOffType {
+ kQ3FallOffTypeNone = 0,
+ kQ3FallOffTypeLinear = 1,
+ kQ3FallOffTypeExponential = 2,
+ kQ3FallOffTypeCosine = 3
+};
+typedef enum TQ3FallOffType TQ3FallOffType;
+
+
+/******************************************************************************
+ ** **
+ ** Data Structure Definitions **
+ ** **
+ *****************************************************************************/
+struct TQ3LightData {
+ TQ3Boolean isOn;
+ float brightness;
+ TQ3ColorRGB color;
+};
+typedef struct TQ3LightData TQ3LightData;
+struct TQ3DirectionalLightData {
+ TQ3LightData lightData;
+ TQ3Boolean castsShadows;
+ TQ3Vector3D direction;
+};
+typedef struct TQ3DirectionalLightData TQ3DirectionalLightData;
+struct TQ3PointLightData {
+ TQ3LightData lightData;
+ TQ3Boolean castsShadows;
+ TQ3AttenuationType attenuation;
+ TQ3Point3D location;
+};
+typedef struct TQ3PointLightData TQ3PointLightData;
+struct TQ3SpotLightData {
+ TQ3LightData lightData;
+ TQ3Boolean castsShadows;
+ TQ3AttenuationType attenuation;
+ TQ3Point3D location;
+ TQ3Vector3D direction;
+ float hotAngle;
+ float outerAngle;
+ TQ3FallOffType fallOff;
+};
+typedef struct TQ3SpotLightData TQ3SpotLightData;
+/******************************************************************************
+ ** **
+ ** Light routines (apply to all TQ3LightObjects) **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Light_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Light_GetType(TQ3LightObject light);
-
-
- /*
- * Q3Light_GetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Light_GetState(
- TQ3LightObject light,
- TQ3Boolean * isOn);
-
-
- /*
- * Q3Light_GetBrightness()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Light_GetBrightness(
- TQ3LightObject light,
- float * brightness);
-
-
- /*
- * Q3Light_GetColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Light_GetColor(
- TQ3LightObject light,
- TQ3ColorRGB * color);
-
-
- /*
- * Q3Light_SetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Light_SetState(
- TQ3LightObject light,
- TQ3Boolean isOn);
-
-
- /*
- * Q3Light_SetBrightness()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Light_SetBrightness(
- TQ3LightObject light,
- float brightness);
-
-
- /*
- * Q3Light_SetColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Light_SetColor(
- TQ3LightObject light,
- const TQ3ColorRGB * color);
-
-
- /*
- * Q3Light_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Light_GetData(
- TQ3LightObject light,
- TQ3LightData * lightData);
-
-
- /*
- * Q3Light_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Light_SetData(
- TQ3LightObject light,
- const TQ3LightData * lightData);
-
-
-
- /******************************************************************************
- ** **
- ** Specific Light Routines **
- ** **
- *****************************************************************************/
- /******************************************************************************
- ** **
- ** Ambient Light **
- ** **
- *****************************************************************************/
- /*
- * Q3AmbientLight_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3LightObject)
- Q3AmbientLight_New(const TQ3LightData * lightData);
-
-
- /*
- * Q3AmbientLight_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AmbientLight_GetData(
- TQ3LightObject light,
- TQ3LightData * lightData);
-
-
- /*
- * Q3AmbientLight_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AmbientLight_SetData(
- TQ3LightObject light,
- const TQ3LightData * lightData);
-
-
-
- /******************************************************************************
- ** **
- ** Directional Light **
- ** **
- *****************************************************************************/
- /*
- * Q3DirectionalLight_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3LightObject)
- Q3DirectionalLight_New(const TQ3DirectionalLightData * directionalLightData);
-
-
- /*
- * Q3DirectionalLight_GetCastShadowsState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DirectionalLight_GetCastShadowsState(
- TQ3LightObject light,
- TQ3Boolean * castsShadows);
-
-
- /*
- * Q3DirectionalLight_GetDirection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DirectionalLight_GetDirection(
- TQ3LightObject light,
- TQ3Vector3D * direction);
-
-
- /*
- * Q3DirectionalLight_SetCastShadowsState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DirectionalLight_SetCastShadowsState(
- TQ3LightObject light,
- TQ3Boolean castsShadows);
-
-
- /*
- * Q3DirectionalLight_SetDirection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DirectionalLight_SetDirection(
- TQ3LightObject light,
- const TQ3Vector3D * direction);
-
-
- /*
- * Q3DirectionalLight_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DirectionalLight_GetData(
- TQ3LightObject light,
- TQ3DirectionalLightData * directionalLightData);
-
-
- /*
- * Q3DirectionalLight_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3DirectionalLight_SetData(
- TQ3LightObject light,
- const TQ3DirectionalLightData * directionalLightData);
-
-
-
- /******************************************************************************
- ** **
- ** Point Light **
- ** **
- *****************************************************************************/
- /*
- * Q3PointLight_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3LightObject)
- Q3PointLight_New(const TQ3PointLightData * pointLightData);
-
-
- /*
- * Q3PointLight_GetCastShadowsState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PointLight_GetCastShadowsState(
- TQ3LightObject light,
- TQ3Boolean * castsShadows);
-
-
- /*
- * Q3PointLight_GetAttenuation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PointLight_GetAttenuation(
- TQ3LightObject light,
- TQ3AttenuationType * attenuation);
-
-
- /*
- * Q3PointLight_GetLocation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PointLight_GetLocation(
- TQ3LightObject light,
- TQ3Point3D * location);
-
-
- /*
- * Q3PointLight_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PointLight_GetData(
- TQ3LightObject light,
- TQ3PointLightData * pointLightData);
-
-
- /*
- * Q3PointLight_SetCastShadowsState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PointLight_SetCastShadowsState(
- TQ3LightObject light,
- TQ3Boolean castsShadows);
-
-
- /*
- * Q3PointLight_SetAttenuation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PointLight_SetAttenuation(
- TQ3LightObject light,
- TQ3AttenuationType attenuation);
-
-
- /*
- * Q3PointLight_SetLocation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PointLight_SetLocation(
- TQ3LightObject light,
- const TQ3Point3D * location);
-
-
- /*
- * Q3PointLight_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PointLight_SetData(
- TQ3LightObject light,
- const TQ3PointLightData * pointLightData);
-
-
-
- /******************************************************************************
- ** **
- ** Spot Light **
- ** **
- *****************************************************************************/
- /*
- * Q3SpotLight_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3LightObject)
- Q3SpotLight_New(const TQ3SpotLightData * spotLightData);
-
-
- /*
- * Q3SpotLight_GetCastShadowsState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_GetCastShadowsState(
- TQ3LightObject light,
- TQ3Boolean * castsShadows);
-
-
- /*
- * Q3SpotLight_GetAttenuation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_GetAttenuation(
- TQ3LightObject light,
- TQ3AttenuationType * attenuation);
-
-
- /*
- * Q3SpotLight_GetLocation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_GetLocation(
- TQ3LightObject light,
- TQ3Point3D * location);
-
-
- /*
- * Q3SpotLight_GetDirection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_GetDirection(
- TQ3LightObject light,
- TQ3Vector3D * direction);
-
-
- /*
- * Q3SpotLight_GetHotAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_GetHotAngle(
- TQ3LightObject light,
- float * hotAngle);
-
-
- /*
- * Q3SpotLight_GetOuterAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_GetOuterAngle(
- TQ3LightObject light,
- float * outerAngle);
-
-
- /*
- * Q3SpotLight_GetFallOff()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_GetFallOff(
- TQ3LightObject light,
- TQ3FallOffType * fallOff);
-
-
- /*
- * Q3SpotLight_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_GetData(
- TQ3LightObject light,
- TQ3SpotLightData * spotLightData);
-
-
- /*
- * Q3SpotLight_SetCastShadowsState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_SetCastShadowsState(
- TQ3LightObject light,
- TQ3Boolean castsShadows);
-
-
- /*
- * Q3SpotLight_SetAttenuation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_SetAttenuation(
- TQ3LightObject light,
- TQ3AttenuationType attenuation);
-
-
- /*
- * Q3SpotLight_SetLocation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_SetLocation(
- TQ3LightObject light,
- const TQ3Point3D * location);
-
-
- /*
- * Q3SpotLight_SetDirection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_SetDirection(
- TQ3LightObject light,
- const TQ3Vector3D * direction);
-
-
- /*
- * Q3SpotLight_SetHotAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_SetHotAngle(
- TQ3LightObject light,
- float hotAngle);
-
-
- /*
- * Q3SpotLight_SetOuterAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_SetOuterAngle(
- TQ3LightObject light,
- float outerAngle);
-
-
- /*
- * Q3SpotLight_SetFallOff()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_SetFallOff(
- TQ3LightObject light,
- TQ3FallOffType fallOff);
-
-
- /*
- * Q3SpotLight_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SpotLight_SetData(
- TQ3LightObject light,
- const TQ3SpotLightData * spotLightData);
+/*
+ * Q3Light_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Light_GetType(TQ3LightObject light);
+
+
+/*
+ * Q3Light_GetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_GetState(
+ TQ3LightObject light,
+ TQ3Boolean * isOn);
+
+
+/*
+ * Q3Light_GetBrightness()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_GetBrightness(
+ TQ3LightObject light,
+ float * brightness);
+
+
+/*
+ * Q3Light_GetColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_GetColor(
+ TQ3LightObject light,
+ TQ3ColorRGB * color);
+
+
+/*
+ * Q3Light_SetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_SetState(
+ TQ3LightObject light,
+ TQ3Boolean isOn);
+
+
+/*
+ * Q3Light_SetBrightness()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_SetBrightness(
+ TQ3LightObject light,
+ float brightness);
+
+
+/*
+ * Q3Light_SetColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_SetColor(
+ TQ3LightObject light,
+ const TQ3ColorRGB * color);
+
+
+/*
+ * Q3Light_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_GetData(
+ TQ3LightObject light,
+ TQ3LightData * lightData);
+
+
+/*
+ * Q3Light_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Light_SetData(
+ TQ3LightObject light,
+ const TQ3LightData * lightData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Specific Light Routines **
+ ** **
+ *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Ambient Light **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3AmbientLight_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3LightObject )
+Q3AmbientLight_New(const TQ3LightData * lightData);
+
+
+/*
+ * Q3AmbientLight_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AmbientLight_GetData(
+ TQ3LightObject light,
+ TQ3LightData * lightData);
+
+
+/*
+ * Q3AmbientLight_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AmbientLight_SetData(
+ TQ3LightObject light,
+ const TQ3LightData * lightData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Directional Light **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3DirectionalLight_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3LightObject )
+Q3DirectionalLight_New(const TQ3DirectionalLightData * directionalLightData);
+
+
+/*
+ * Q3DirectionalLight_GetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_GetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean * castsShadows);
+
+
+/*
+ * Q3DirectionalLight_GetDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_GetDirection(
+ TQ3LightObject light,
+ TQ3Vector3D * direction);
+
+
+/*
+ * Q3DirectionalLight_SetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_SetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean castsShadows);
+
+
+/*
+ * Q3DirectionalLight_SetDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_SetDirection(
+ TQ3LightObject light,
+ const TQ3Vector3D * direction);
+
+
+/*
+ * Q3DirectionalLight_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_GetData(
+ TQ3LightObject light,
+ TQ3DirectionalLightData * directionalLightData);
+
+
+/*
+ * Q3DirectionalLight_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3DirectionalLight_SetData(
+ TQ3LightObject light,
+ const TQ3DirectionalLightData * directionalLightData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point Light **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3PointLight_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3LightObject )
+Q3PointLight_New(const TQ3PointLightData * pointLightData);
+
+
+/*
+ * Q3PointLight_GetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_GetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean * castsShadows);
+
+
+/*
+ * Q3PointLight_GetAttenuation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_GetAttenuation(
+ TQ3LightObject light,
+ TQ3AttenuationType * attenuation);
+
+
+/*
+ * Q3PointLight_GetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_GetLocation(
+ TQ3LightObject light,
+ TQ3Point3D * location);
+
+
+/*
+ * Q3PointLight_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_GetData(
+ TQ3LightObject light,
+ TQ3PointLightData * pointLightData);
+
+
+/*
+ * Q3PointLight_SetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_SetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean castsShadows);
+
+
+/*
+ * Q3PointLight_SetAttenuation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_SetAttenuation(
+ TQ3LightObject light,
+ TQ3AttenuationType attenuation);
+
+
+/*
+ * Q3PointLight_SetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_SetLocation(
+ TQ3LightObject light,
+ const TQ3Point3D * location);
+
+
+/*
+ * Q3PointLight_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PointLight_SetData(
+ TQ3LightObject light,
+ const TQ3PointLightData * pointLightData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Spot Light **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3SpotLight_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3LightObject )
+Q3SpotLight_New(const TQ3SpotLightData * spotLightData);
+
+
+/*
+ * Q3SpotLight_GetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean * castsShadows);
+
+
+/*
+ * Q3SpotLight_GetAttenuation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetAttenuation(
+ TQ3LightObject light,
+ TQ3AttenuationType * attenuation);
+
+
+/*
+ * Q3SpotLight_GetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetLocation(
+ TQ3LightObject light,
+ TQ3Point3D * location);
+
+
+/*
+ * Q3SpotLight_GetDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetDirection(
+ TQ3LightObject light,
+ TQ3Vector3D * direction);
+
+
+/*
+ * Q3SpotLight_GetHotAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetHotAngle(
+ TQ3LightObject light,
+ float * hotAngle);
+
+
+/*
+ * Q3SpotLight_GetOuterAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetOuterAngle(
+ TQ3LightObject light,
+ float * outerAngle);
+
+
+/*
+ * Q3SpotLight_GetFallOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetFallOff(
+ TQ3LightObject light,
+ TQ3FallOffType * fallOff);
+
+
+/*
+ * Q3SpotLight_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_GetData(
+ TQ3LightObject light,
+ TQ3SpotLightData * spotLightData);
+
+
+/*
+ * Q3SpotLight_SetCastShadowsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetCastShadowsState(
+ TQ3LightObject light,
+ TQ3Boolean castsShadows);
+
+
+/*
+ * Q3SpotLight_SetAttenuation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetAttenuation(
+ TQ3LightObject light,
+ TQ3AttenuationType attenuation);
+
+
+/*
+ * Q3SpotLight_SetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetLocation(
+ TQ3LightObject light,
+ const TQ3Point3D * location);
+
+
+/*
+ * Q3SpotLight_SetDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetDirection(
+ TQ3LightObject light,
+ const TQ3Vector3D * direction);
+
+
+/*
+ * Q3SpotLight_SetHotAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetHotAngle(
+ TQ3LightObject light,
+ float hotAngle);
+
+
+/*
+ * Q3SpotLight_SetOuterAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetOuterAngle(
+ TQ3LightObject light,
+ float outerAngle);
+
+
+/*
+ * Q3SpotLight_SetFallOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetFallOff(
+ TQ3LightObject light,
+ TQ3FallOffType fallOff);
+
+
+/*
+ * Q3SpotLight_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SpotLight_SetData(
+ TQ3LightObject light,
+ const TQ3SpotLightData * spotLightData);
@@ -783,22 +778,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DLIGHT__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DLIGHT__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DLIGHT__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DMath.h b/include/qt/QD3DMath.h
index 54f263d2b..f28e2054b 100644
--- a/include/qt/QD3DMath.h
+++ b/include/qt/QD3DMath.h
@@ -1,18 +1,18 @@
/*
File: QD3DMath.h
-
+
Contains: Math & matrix routines and definitions.
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DMATH__
#define __QD3DMATH__
@@ -38,2170 +38,2170 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DMATH__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DMATH__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DMATH__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DMATH__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Constant Definitions **
- ** **
- *****************************************************************************/
- /*
- * Real zero definition
- */
+/******************************************************************************
+ ** **
+ ** Constant Definitions **
+ ** **
+ *****************************************************************************/
+/*
+ * Real zero definition
+ */
#ifdef FLT_EPSILON
-#define kQ3RealZero (FLT_EPSILON)
+ #define kQ3RealZero (FLT_EPSILON)
#else
-#define kQ3RealZero ((float)1.19209290e-07)
+ #define kQ3RealZero ((float)1.19209290e-07)
#endif
#ifdef FLT_MAX
-#define kQ3MaxFloat (FLT_MAX)
+ #define kQ3MaxFloat (FLT_MAX)
#else
-#define kQ3MaxFloat ((float)3.40282347e+38)
+ #define kQ3MaxFloat ((float)3.40282347e+38)
#endif
- /*
- * Values of PI
- */
+/*
+ * Values of PI
+ */
#define kQ3Pi ((float)3.1415926535898)
#define kQ32Pi ((float)(2.0 * 3.1415926535898))
#define kQ3PiOver2 ((float)(3.1415926535898 / 2.0))
#define kQ33PiOver2 ((float)(3.0 * 3.1415926535898 / 2.0))
- /******************************************************************************
- ** **
- ** Miscellaneous Functions **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Miscellaneous Functions **
+ ** **
+ *****************************************************************************/
#define Q3Math_DegreesToRadians(x) ((float)((x) * kQ3Pi / 180.0f))
#define Q3Math_RadiansToDegrees(x) ((float)((x) * 180.0f / kQ3Pi))
#define Q3Math_Min(x,y) ((x) <= (y) ? (x) : (y))
#define Q3Math_Max(x,y) ((x) >= (y) ? (x) : (y))
- /******************************************************************************
- ** **
- ** Point and Vector Creation **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Point and Vector Creation **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Point2D_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point2D *)
- Q3Point2D_Set(
- TQ3Point2D * point2D,
- float x,
- float y);
-
-
- /*
- * Q3Param2D_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Param2D *)
- Q3Param2D_Set(
- TQ3Param2D * param2D,
- float u,
- float v);
-
-
- /*
- * Q3Point3D_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3Point3D_Set(
- TQ3Point3D * point3D,
- float x,
- float y,
- float z);
-
-
- /*
- * Q3RationalPoint3D_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3RationalPoint3D *)
- Q3RationalPoint3D_Set(
- TQ3RationalPoint3D * point3D,
- float x,
- float y,
- float w);
-
-
- /*
- * Q3RationalPoint4D_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3RationalPoint4D *)
- Q3RationalPoint4D_Set(
- TQ3RationalPoint4D * point4D,
- float x,
- float y,
- float z,
- float w);
-
-
- /*
- * Q3Vector2D_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Vector2D_Set(
- TQ3Vector2D * vector2D,
- float x,
- float y);
-
-
- /*
- * Q3Vector3D_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_Set(
- TQ3Vector3D * vector3D,
- float x,
- float y,
- float z);
-
-
- /*
- * Q3PolarPoint_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3PolarPoint *)
- Q3PolarPoint_Set(
- TQ3PolarPoint * polarPoint,
- float r,
- float theta);
-
-
- /*
- * Q3SphericalPoint_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3SphericalPoint *)
- Q3SphericalPoint_Set(
- TQ3SphericalPoint * sphericalPoint,
- float rho,
- float theta,
- float phi);
-
-
-
- /******************************************************************************
- ** **
- ** Point and Vector Dimension Conversion **
- ** **
- *****************************************************************************/
- /*
- * Q3Point2D_To3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3Point2D_To3D(
- const TQ3Point2D * point2D,
- TQ3Point3D * result);
-
-
- /*
- * Q3RationalPoint3D_To2D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point2D *)
- Q3RationalPoint3D_To2D(
- const TQ3RationalPoint3D * point3D,
- TQ3Point2D * result);
-
-
- /*
- * Q3Point3D_To4D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3RationalPoint4D *)
- Q3Point3D_To4D(
- const TQ3Point3D * point3D,
- TQ3RationalPoint4D * result);
-
-
- /*
- * Q3RationalPoint4D_To3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3RationalPoint4D_To3D(
- const TQ3RationalPoint4D * point4D,
- TQ3Point3D * result);
-
-
- /*
- * Q3Vector2D_To3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector2D_To3D(
- const TQ3Vector2D * vector2D,
- TQ3Vector3D * result);
-
-
- /*
- * Q3Vector3D_To2D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Vector3D_To2D(
- const TQ3Vector3D * vector3D,
- TQ3Vector2D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Point Subtraction **
- ** **
- *****************************************************************************/
- /*
- * Q3Point2D_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Point2D_Subtract(
- const TQ3Point2D * p1,
- const TQ3Point2D * p2,
- TQ3Vector2D * result);
-
-
- /*
- * Q3Param2D_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Param2D_Subtract(
- const TQ3Param2D * p1,
- const TQ3Param2D * p2,
- TQ3Vector2D * result);
-
-
- /*
- * Q3Point3D_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Point3D_Subtract(
- const TQ3Point3D * p1,
- const TQ3Point3D * p2,
- TQ3Vector3D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Point Distance **
- ** **
- *****************************************************************************/
- /*
- * Q3Point2D_Distance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Point2D_Distance(
- const TQ3Point2D * p1,
- const TQ3Point2D * p2);
-
-
- /*
- * Q3Point2D_DistanceSquared()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Point2D_DistanceSquared(
- const TQ3Point2D * p1,
- const TQ3Point2D * p2);
-
-
-
- /*
- * Q3Param2D_Distance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Param2D_Distance(
- const TQ3Param2D * p1,
- const TQ3Param2D * p2);
-
-
- /*
- * Q3Param2D_DistanceSquared()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Param2D_DistanceSquared(
- const TQ3Param2D * p1,
- const TQ3Param2D * p2);
-
-
-
- /*
- * Q3RationalPoint3D_Distance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3RationalPoint3D_Distance(
- const TQ3RationalPoint3D * p1,
- const TQ3RationalPoint3D * p2);
-
-
- /*
- * Q3RationalPoint3D_DistanceSquared()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3RationalPoint3D_DistanceSquared(
- const TQ3RationalPoint3D * p1,
- const TQ3RationalPoint3D * p2);
-
-
-
- /*
- * Q3Point3D_Distance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Point3D_Distance(
- const TQ3Point3D * p1,
- const TQ3Point3D * p2);
-
-
- /*
- * Q3Point3D_DistanceSquared()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Point3D_DistanceSquared(
- const TQ3Point3D * p1,
- const TQ3Point3D * p2);
-
-
-
- /*
- * Q3RationalPoint4D_Distance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3RationalPoint4D_Distance(
- const TQ3RationalPoint4D * p1,
- const TQ3RationalPoint4D * p2);
-
-
- /*
- * Q3RationalPoint4D_DistanceSquared()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3RationalPoint4D_DistanceSquared(
- const TQ3RationalPoint4D * p1,
- const TQ3RationalPoint4D * p2);
-
-
-
- /******************************************************************************
- ** **
- ** Point Relative Ratio **
- ** **
- *****************************************************************************/
- /*
- * Q3Point2D_RRatio()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point2D *)
- Q3Point2D_RRatio(
- const TQ3Point2D * p1,
- const TQ3Point2D * p2,
- float r1,
- float r2,
- TQ3Point2D * result);
-
-
- /*
- * Q3Param2D_RRatio()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Param2D *)
- Q3Param2D_RRatio(
- const TQ3Param2D * p1,
- const TQ3Param2D * p2,
- float r1,
- float r2,
- TQ3Param2D * result);
-
-
- /*
- * Q3Point3D_RRatio()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3Point3D_RRatio(
- const TQ3Point3D * p1,
- const TQ3Point3D * p2,
- float r1,
- float r2,
- TQ3Point3D * result);
-
-
- /*
- * Q3RationalPoint4D_RRatio()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3RationalPoint4D *)
- Q3RationalPoint4D_RRatio(
- const TQ3RationalPoint4D * p1,
- const TQ3RationalPoint4D * p2,
- float r1,
- float r2,
- TQ3RationalPoint4D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Point / Vector Addition & Subtraction **
- ** **
- *****************************************************************************/
- /*
- * Q3Point2D_Vector2D_Add()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point2D *)
- Q3Point2D_Vector2D_Add(
- const TQ3Point2D * point2D,
- const TQ3Vector2D * vector2D,
- TQ3Point2D * result);
-
-
- /*
- * Q3Param2D_Vector2D_Add()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Param2D *)
- Q3Param2D_Vector2D_Add(
- const TQ3Param2D * param2D,
- const TQ3Vector2D * vector2D,
- TQ3Param2D * result);
-
-
- /*
- * Q3Point3D_Vector3D_Add()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3Point3D_Vector3D_Add(
- const TQ3Point3D * point3D,
- const TQ3Vector3D * vector3D,
- TQ3Point3D * result);
-
-
- /*
- * Q3Point2D_Vector2D_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point2D *)
- Q3Point2D_Vector2D_Subtract(
- const TQ3Point2D * point2D,
- const TQ3Vector2D * vector2D,
- TQ3Point2D * result);
-
-
- /*
- * Q3Param2D_Vector2D_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Param2D *)
- Q3Param2D_Vector2D_Subtract(
- const TQ3Param2D * param2D,
- const TQ3Vector2D * vector2D,
- TQ3Param2D * result);
-
-
- /*
- * Q3Point3D_Vector3D_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3Point3D_Vector3D_Subtract(
- const TQ3Point3D * point3D,
- const TQ3Vector3D * vector3D,
- TQ3Point3D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Vector Scale **
- ** **
- *****************************************************************************/
- /*
- * Q3Vector2D_Scale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Vector2D_Scale(
- const TQ3Vector2D * vector2D,
- float scalar,
- TQ3Vector2D * result);
-
-
- /*
- * Q3Vector3D_Scale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_Scale(
- const TQ3Vector3D * vector3D,
- float scalar,
- TQ3Vector3D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Vector Length **
- ** **
- *****************************************************************************/
- /*
- * Q3Vector2D_Length()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Vector2D_Length(const TQ3Vector2D * vector2D);
-
-
- /*
- * Q3Vector3D_Length()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Vector3D_Length(const TQ3Vector3D * vector3D);
-
-
-
- /******************************************************************************
- ** **
- ** Vector Normalize **
- ** **
- *****************************************************************************/
- /*
- * Q3Vector2D_Normalize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Vector2D_Normalize(
- const TQ3Vector2D * vector2D,
- TQ3Vector2D * result);
-
-
- /*
- * Q3Vector3D_Normalize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_Normalize(
- const TQ3Vector3D * vector3D,
- TQ3Vector3D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Vector/Vector Addition and Subtraction **
- ** **
- *****************************************************************************/
- /*
- * Q3Vector2D_Add()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Vector2D_Add(
- const TQ3Vector2D * v1,
- const TQ3Vector2D * v2,
- TQ3Vector2D * result);
-
-
- /*
- * Q3Vector3D_Add()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_Add(
- const TQ3Vector3D * v1,
- const TQ3Vector3D * v2,
- TQ3Vector3D * result);
-
-
-
- /*
- * Q3Vector2D_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Vector2D_Subtract(
- const TQ3Vector2D * v1,
- const TQ3Vector2D * v2,
- TQ3Vector2D * result);
-
-
- /*
- * Q3Vector3D_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_Subtract(
- const TQ3Vector3D * v1,
- const TQ3Vector3D * v2,
- TQ3Vector3D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Cross Product **
- ** **
- *****************************************************************************/
- /*
- * Q3Vector2D_Cross()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Vector2D_Cross(
- const TQ3Vector2D * v1,
- const TQ3Vector2D * v2);
-
-
- /*
- * Q3Vector3D_Cross()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_Cross(
- const TQ3Vector3D * v1,
- const TQ3Vector3D * v2,
- TQ3Vector3D * result);
-
-
- /*
- * Q3Point3D_CrossProductTri()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Point3D_CrossProductTri(
- const TQ3Point3D * point1,
- const TQ3Point3D * point2,
- const TQ3Point3D * point3,
- TQ3Vector3D * crossVector);
-
-
-
- /******************************************************************************
- ** **
- ** Dot Product **
- ** **
- *****************************************************************************/
- /*
- * Q3Vector2D_Dot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Vector2D_Dot(
- const TQ3Vector2D * v1,
- const TQ3Vector2D * v2);
-
-
- /*
- * Q3Vector3D_Dot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Vector3D_Dot(
- const TQ3Vector3D * v1,
- const TQ3Vector3D * v2);
-
-
-
- /******************************************************************************
- ** **
- ** Point and Vector Transformation **
- ** **
- *****************************************************************************/
- /*
- * Q3Vector2D_Transform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Vector2D_Transform(
- const TQ3Vector2D * vector2D,
- const TQ3Matrix3x3 * matrix3x3,
- TQ3Vector2D * result);
-
-
- /*
- * Q3Vector3D_Transform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_Transform(
- const TQ3Vector3D * vector3D,
- const TQ3Matrix4x4 * matrix4x4,
- TQ3Vector3D * result);
-
-
- /*
- * Q3Point2D_Transform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point2D *)
- Q3Point2D_Transform(
- const TQ3Point2D * point2D,
- const TQ3Matrix3x3 * matrix3x3,
- TQ3Point2D * result);
-
-
- /*
- * Q3Param2D_Transform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Param2D *)
- Q3Param2D_Transform(
- const TQ3Param2D * param2D,
- const TQ3Matrix3x3 * matrix3x3,
- TQ3Param2D * result);
-
-
- /*
- * Q3Point3D_Transform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3Point3D_Transform(
- const TQ3Point3D * point3D,
- const TQ3Matrix4x4 * matrix4x4,
- TQ3Point3D * result);
-
-
- /*
- * Q3RationalPoint4D_Transform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3RationalPoint4D *)
- Q3RationalPoint4D_Transform(
- const TQ3RationalPoint4D * point4D,
- const TQ3Matrix4x4 * matrix4x4,
- TQ3RationalPoint4D * result);
-
-
- /*
- * Q3Point3D_To3DTransformArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point3D_To3DTransformArray(
- const TQ3Point3D * inPoint3D,
- const TQ3Matrix4x4 * matrix,
- TQ3Point3D * outPoint3D,
- long numPoints,
- unsigned long inStructSize,
- unsigned long outStructSize);
-
-
- /*
- * Q3Point3D_To4DTransformArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Point3D_To4DTransformArray(
- const TQ3Point3D * inPoint3D,
- const TQ3Matrix4x4 * matrix,
- TQ3RationalPoint4D * outPoint4D,
- long numPoints,
- unsigned long inStructSize,
- unsigned long outStructSize);
-
-
- /*
- * Q3RationalPoint4D_To4DTransformArray()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RationalPoint4D_To4DTransformArray(
- const TQ3RationalPoint4D * inPoint4D,
- const TQ3Matrix4x4 * matrix,
- TQ3RationalPoint4D * outPoint4D,
- long numPoints,
- unsigned long inStructSize,
- unsigned long outStructSize);
-
-
-
- /******************************************************************************
- ** **
- ** Vector Negation **
- ** **
- *****************************************************************************/
- /*
- * Q3Vector2D_Negate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector2D *)
- Q3Vector2D_Negate(
- const TQ3Vector2D * vector2D,
- TQ3Vector2D * result);
-
-
- /*
- * Q3Vector3D_Negate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_Negate(
- const TQ3Vector3D * vector3D,
- TQ3Vector3D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Point conversion from cartesian to polar **
- ** **
- *****************************************************************************/
- /*
- * Q3Point2D_ToPolar()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3PolarPoint *)
- Q3Point2D_ToPolar(
- const TQ3Point2D * point2D,
- TQ3PolarPoint * result);
-
-
- /*
- * Q3PolarPoint_ToPoint2D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point2D *)
- Q3PolarPoint_ToPoint2D(
- const TQ3PolarPoint * polarPoint,
- TQ3Point2D * result);
-
-
- /*
- * Q3Point3D_ToSpherical()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3SphericalPoint *)
- Q3Point3D_ToSpherical(
- const TQ3Point3D * point3D,
- TQ3SphericalPoint * result);
-
-
- /*
- * Q3SphericalPoint_ToPoint3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3SphericalPoint_ToPoint3D(
- const TQ3SphericalPoint * sphericalPoint,
- TQ3Point3D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Point Affine Combinations **
- ** **
- *****************************************************************************/
- /*
- * Q3Point2D_AffineComb()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point2D *)
- Q3Point2D_AffineComb(
- const TQ3Point2D * points2D,
- const float * weights,
- unsigned long nPoints,
- TQ3Point2D * result);
-
-
- /*
- * Q3Param2D_AffineComb()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Param2D *)
- Q3Param2D_AffineComb(
- const TQ3Param2D * params2D,
- const float * weights,
- unsigned long nPoints,
- TQ3Param2D * result);
-
-
- /*
- * Q3RationalPoint3D_AffineComb()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3RationalPoint3D *)
- Q3RationalPoint3D_AffineComb(
- const TQ3RationalPoint3D * points3D,
- const float * weights,
- unsigned long numPoints,
- TQ3RationalPoint3D * result);
-
-
- /*
- * Q3Point3D_AffineComb()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3Point3D_AffineComb(
- const TQ3Point3D * points3D,
- const float * weights,
- unsigned long numPoints,
- TQ3Point3D * result);
-
-
- /*
- * Q3RationalPoint4D_AffineComb()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3RationalPoint4D *)
- Q3RationalPoint4D_AffineComb(
- const TQ3RationalPoint4D * points4D,
- const float * weights,
- unsigned long numPoints,
- TQ3RationalPoint4D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Matrix Functions **
- ** **
- *****************************************************************************/
- /*
- * Q3Matrix3x3_Copy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_Copy(
- const TQ3Matrix3x3 * matrix3x3,
- TQ3Matrix3x3 * result);
-
-
- /*
- * Q3Matrix4x4_Copy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_Copy(
- const TQ3Matrix4x4 * matrix4x4,
- TQ3Matrix4x4 * result);
-
-
-
- /*
- * Q3Matrix3x3_SetIdentity()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_SetIdentity(TQ3Matrix3x3 * matrix3x3);
-
-
- /*
- * Q3Matrix4x4_SetIdentity()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetIdentity(TQ3Matrix4x4 * matrix4x4);
-
-
-
- /*
- * Q3Matrix3x3_Transpose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_Transpose(
- const TQ3Matrix3x3 * matrix3x3,
- TQ3Matrix3x3 * result);
-
-
- /*
- * Q3Matrix4x4_Transpose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_Transpose(
- const TQ3Matrix4x4 * matrix4x4,
- TQ3Matrix4x4 * result);
-
-
-
- /*
- * Q3Matrix3x3_Invert()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_Invert(
- const TQ3Matrix3x3 * matrix3x3,
- TQ3Matrix3x3 * result);
-
-
- /*
- * Q3Matrix4x4_Invert()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_Invert(
- const TQ3Matrix4x4 * matrix4x4,
- TQ3Matrix4x4 * result);
-
-
-
- /*
- * Q3Matrix3x3_Adjoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_Adjoint(
- const TQ3Matrix3x3 * matrix3x3,
- TQ3Matrix3x3 * result);
-
-
-
- /*
- * Q3Matrix3x3_Multiply()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_Multiply(
- const TQ3Matrix3x3 * matrixA,
- const TQ3Matrix3x3 * matrixB,
- TQ3Matrix3x3 * result);
-
-
- /*
- * Q3Matrix4x4_Multiply()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_Multiply(
- const TQ3Matrix4x4 * matrixA,
- const TQ3Matrix4x4 * matrixB,
- TQ3Matrix4x4 * result);
-
-
-
- /*
- * Q3Matrix3x3_SetTranslate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_SetTranslate(
- TQ3Matrix3x3 * matrix3x3,
- float xTrans,
- float yTrans);
-
-
- /*
- * Q3Matrix3x3_SetScale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_SetScale(
- TQ3Matrix3x3 * matrix3x3,
- float xScale,
- float yScale);
-
-
-
- /*
- * Q3Matrix3x3_SetRotateAboutPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix3x3 *)
- Q3Matrix3x3_SetRotateAboutPoint(
- TQ3Matrix3x3 * matrix3x3,
- const TQ3Point2D * origin,
- float angle);
-
-
- /*
- * Q3Matrix4x4_SetTranslate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetTranslate(
- TQ3Matrix4x4 * matrix4x4,
- float xTrans,
- float yTrans,
- float zTrans);
-
-
- /*
- * Q3Matrix4x4_SetScale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetScale(
- TQ3Matrix4x4 * matrix4x4,
- float xScale,
- float yScale,
- float zScale);
-
-
-
- /*
- * Q3Matrix4x4_SetRotateAboutPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetRotateAboutPoint(
- TQ3Matrix4x4 * matrix4x4,
- const TQ3Point3D * origin,
- float xAngle,
- float yAngle,
- float zAngle);
-
-
- /*
- * Q3Matrix4x4_SetRotateAboutAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetRotateAboutAxis(
- TQ3Matrix4x4 * matrix4x4,
- const TQ3Point3D * origin,
- const TQ3Vector3D * orientation,
- float angle);
-
-
- /*
- * Q3Matrix4x4_SetRotate_X()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetRotate_X(
- TQ3Matrix4x4 * matrix4x4,
- float angle);
-
-
- /*
- * Q3Matrix4x4_SetRotate_Y()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetRotate_Y(
- TQ3Matrix4x4 * matrix4x4,
- float angle);
-
-
- /*
- * Q3Matrix4x4_SetRotate_Z()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetRotate_Z(
- TQ3Matrix4x4 * matrix4x4,
- float angle);
-
-
- /*
- * Q3Matrix4x4_SetRotate_XYZ()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetRotate_XYZ(
- TQ3Matrix4x4 * matrix4x4,
- float xAngle,
- float yAngle,
- float zAngle);
-
-
- /*
- * Q3Matrix4x4_SetRotateVectorToVector()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetRotateVectorToVector(
- TQ3Matrix4x4 * matrix4x4,
- const TQ3Vector3D * v1,
- const TQ3Vector3D * v2);
-
-
- /*
- * Q3Matrix4x4_SetQuaternion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Matrix4x4_SetQuaternion(
- TQ3Matrix4x4 * matrix,
- const TQ3Quaternion * quaternion);
-
-
- /*
- * Q3Matrix3x3_Determinant()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Matrix3x3_Determinant(const TQ3Matrix3x3 * matrix3x3);
-
-
- /*
- * Q3Matrix4x4_Determinant()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Matrix4x4_Determinant(const TQ3Matrix4x4 * matrix4x4);
-
-
-
- /******************************************************************************
- ** **
- ** Quaternion Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3Quaternion_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_Set(
- TQ3Quaternion * quaternion,
- float w,
- float x,
- float y,
- float z);
-
-
- /*
- * Q3Quaternion_SetIdentity()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_SetIdentity(TQ3Quaternion * quaternion);
-
-
- /*
- * Q3Quaternion_Copy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_Copy(
- const TQ3Quaternion * quaternion,
- TQ3Quaternion * result);
-
-
- /*
- * Q3Quaternion_IsIdentity()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Quaternion_IsIdentity(const TQ3Quaternion * quaternion);
-
-
- /*
- * Q3Quaternion_Invert()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_Invert(
- const TQ3Quaternion * quaternion,
- TQ3Quaternion * result);
-
-
- /*
- * Q3Quaternion_Normalize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_Normalize(
- const TQ3Quaternion * quaternion,
- TQ3Quaternion * result);
-
-
- /*
- * Q3Quaternion_Dot()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float)
- Q3Quaternion_Dot(
- const TQ3Quaternion * q1,
- const TQ3Quaternion * q2);
-
-
- /*
- * Q3Quaternion_Multiply()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_Multiply(
- const TQ3Quaternion * q1,
- const TQ3Quaternion * q2,
- TQ3Quaternion * result);
-
-
- /*
- * Q3Quaternion_SetRotateAboutAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_SetRotateAboutAxis(
- TQ3Quaternion * quaternion,
- const TQ3Vector3D * axis,
- float angle);
-
-
- /*
- * Q3Quaternion_SetRotate_XYZ()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_SetRotate_XYZ(
- TQ3Quaternion * quaternion,
- float xAngle,
- float yAngle,
- float zAngle);
-
-
- /*
- * Q3Quaternion_SetRotate_X()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_SetRotate_X(
- TQ3Quaternion * quaternion,
- float angle);
-
-
- /*
- * Q3Quaternion_SetRotate_Y()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_SetRotate_Y(
- TQ3Quaternion * quaternion,
- float angle);
-
-
- /*
- * Q3Quaternion_SetRotate_Z()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_SetRotate_Z(
- TQ3Quaternion * quaternion,
- float angle);
-
-
-
- /*
- * Q3Quaternion_SetMatrix()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_SetMatrix(
- TQ3Quaternion * quaternion,
- const TQ3Matrix4x4 * matrix);
-
-
- /*
- * Q3Quaternion_SetRotateVectorToVector()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_SetRotateVectorToVector(
- TQ3Quaternion * quaternion,
- const TQ3Vector3D * v1,
- const TQ3Vector3D * v2);
-
-
- /*
- * Q3Quaternion_MatchReflection()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_MatchReflection(
- const TQ3Quaternion * q1,
- const TQ3Quaternion * q2,
- TQ3Quaternion * result);
-
-
- /*
- * Q3Quaternion_InterpolateFast()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_InterpolateFast(
- const TQ3Quaternion * q1,
- const TQ3Quaternion * q2,
- float t,
- TQ3Quaternion * result);
-
-
- /*
- * Q3Quaternion_InterpolateLinear()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Quaternion *)
- Q3Quaternion_InterpolateLinear(
- const TQ3Quaternion * q1,
- const TQ3Quaternion * q2,
- float t,
- TQ3Quaternion * result);
-
-
- /*
- * Q3Vector3D_TransformQuaternion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Vector3D *)
- Q3Vector3D_TransformQuaternion(
- const TQ3Vector3D * vector3D,
- const TQ3Quaternion * quaternion,
- TQ3Vector3D * result);
-
-
- /*
- * Q3Point3D_TransformQuaternion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Point3D *)
- Q3Point3D_TransformQuaternion(
- const TQ3Point3D * point3D,
- const TQ3Quaternion * quaternion,
- TQ3Point3D * result);
-
-
-
- /******************************************************************************
- ** **
- ** Volume Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3BoundingBox_Copy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingBox *)
- Q3BoundingBox_Copy(
- const TQ3BoundingBox * src,
- TQ3BoundingBox * dest);
-
-
- /*
- * Q3BoundingBox_Union()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingBox *)
- Q3BoundingBox_Union(
- const TQ3BoundingBox * v1,
- const TQ3BoundingBox * v2,
- TQ3BoundingBox * result);
-
-
- /*
- * Q3BoundingBox_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingBox *)
- Q3BoundingBox_Set(
- TQ3BoundingBox * bBox,
- const TQ3Point3D * min,
- const TQ3Point3D * max,
- TQ3Boolean isEmpty);
-
-
- /*
- * Q3BoundingBox_UnionPoint3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingBox *)
- Q3BoundingBox_UnionPoint3D(
- const TQ3BoundingBox * bBox,
- const TQ3Point3D * point3D,
- TQ3BoundingBox * result);
-
-
- /*
- * Q3BoundingBox_UnionRationalPoint4D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingBox *)
- Q3BoundingBox_UnionRationalPoint4D(
- const TQ3BoundingBox * bBox,
- const TQ3RationalPoint4D * point4D,
- TQ3BoundingBox * result);
-
-
- /*
- * Q3BoundingBox_SetFromPoints3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingBox *)
- Q3BoundingBox_SetFromPoints3D(
- TQ3BoundingBox * bBox,
- const TQ3Point3D * points3D,
- unsigned long numPoints,
- unsigned long structSize);
-
-
- /*
- * Q3BoundingBox_SetFromRationalPoints4D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingBox *)
- Q3BoundingBox_SetFromRationalPoints4D(
- TQ3BoundingBox * bBox,
- const TQ3RationalPoint4D * points4D,
- unsigned long numPoints,
- unsigned long structSize);
-
-
-
- /******************************************************************************
- ** **
- ** Sphere Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3BoundingSphere_Copy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingSphere *)
- Q3BoundingSphere_Copy(
- const TQ3BoundingSphere * src,
- TQ3BoundingSphere * dest);
-
-
- /*
- * Q3BoundingSphere_Union()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingSphere *)
- Q3BoundingSphere_Union(
- const TQ3BoundingSphere * s1,
- const TQ3BoundingSphere * s2,
- TQ3BoundingSphere * result);
-
-
- /*
- * Q3BoundingSphere_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingSphere *)
- Q3BoundingSphere_Set(
- TQ3BoundingSphere * bSphere,
- const TQ3Point3D * origin,
- float radius,
- TQ3Boolean isEmpty);
-
-
- /*
- * Q3BoundingSphere_UnionPoint3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingSphere *)
- Q3BoundingSphere_UnionPoint3D(
- const TQ3BoundingSphere * bSphere,
- const TQ3Point3D * point3D,
- TQ3BoundingSphere * result);
-
-
- /*
- * Q3BoundingSphere_UnionRationalPoint4D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingSphere *)
- Q3BoundingSphere_UnionRationalPoint4D(
- const TQ3BoundingSphere * bSphere,
- const TQ3RationalPoint4D * point4D,
- TQ3BoundingSphere * result);
-
-
-
- /*
- * Q3BoundingSphere_SetFromPoints3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingSphere *)
- Q3BoundingSphere_SetFromPoints3D(
- TQ3BoundingSphere * bSphere,
- const TQ3Point3D * points3D,
- unsigned long numPoints,
- unsigned long structSize);
-
-
- /*
- * Q3BoundingSphere_SetFromRationalPoints4D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3BoundingSphere *)
- Q3BoundingSphere_SetFromRationalPoints4D(
- TQ3BoundingSphere * bSphere,
- const TQ3RationalPoint4D * points4D,
- unsigned long numPoints,
- unsigned long structSize);
+/*
+ * Q3Point2D_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point2D * )
+Q3Point2D_Set(
+ TQ3Point2D * point2D,
+ float x,
+ float y);
+
+
+/*
+ * Q3Param2D_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Param2D * )
+Q3Param2D_Set(
+ TQ3Param2D * param2D,
+ float u,
+ float v);
+
+
+/*
+ * Q3Point3D_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3Point3D_Set(
+ TQ3Point3D * point3D,
+ float x,
+ float y,
+ float z);
+
+
+/*
+ * Q3RationalPoint3D_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3RationalPoint3D * )
+Q3RationalPoint3D_Set(
+ TQ3RationalPoint3D * point3D,
+ float x,
+ float y,
+ float w);
+
+
+/*
+ * Q3RationalPoint4D_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3RationalPoint4D * )
+Q3RationalPoint4D_Set(
+ TQ3RationalPoint4D * point4D,
+ float x,
+ float y,
+ float z,
+ float w);
+
+
+/*
+ * Q3Vector2D_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Vector2D_Set(
+ TQ3Vector2D * vector2D,
+ float x,
+ float y);
+
+
+/*
+ * Q3Vector3D_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_Set(
+ TQ3Vector3D * vector3D,
+ float x,
+ float y,
+ float z);
+
+
+/*
+ * Q3PolarPoint_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3PolarPoint * )
+Q3PolarPoint_Set(
+ TQ3PolarPoint * polarPoint,
+ float r,
+ float theta);
+
+
+/*
+ * Q3SphericalPoint_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3SphericalPoint * )
+Q3SphericalPoint_Set(
+ TQ3SphericalPoint * sphericalPoint,
+ float rho,
+ float theta,
+ float phi);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point and Vector Dimension Conversion **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Point2D_To3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3Point2D_To3D(
+ const TQ3Point2D * point2D,
+ TQ3Point3D * result);
+
+
+/*
+ * Q3RationalPoint3D_To2D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point2D * )
+Q3RationalPoint3D_To2D(
+ const TQ3RationalPoint3D * point3D,
+ TQ3Point2D * result);
+
+
+/*
+ * Q3Point3D_To4D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3RationalPoint4D * )
+Q3Point3D_To4D(
+ const TQ3Point3D * point3D,
+ TQ3RationalPoint4D * result);
+
+
+/*
+ * Q3RationalPoint4D_To3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3RationalPoint4D_To3D(
+ const TQ3RationalPoint4D * point4D,
+ TQ3Point3D * result);
+
+
+/*
+ * Q3Vector2D_To3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector2D_To3D(
+ const TQ3Vector2D * vector2D,
+ TQ3Vector3D * result);
+
+
+/*
+ * Q3Vector3D_To2D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Vector3D_To2D(
+ const TQ3Vector3D * vector3D,
+ TQ3Vector2D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point Subtraction **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Point2D_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Point2D_Subtract(
+ const TQ3Point2D * p1,
+ const TQ3Point2D * p2,
+ TQ3Vector2D * result);
+
+
+/*
+ * Q3Param2D_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Param2D_Subtract(
+ const TQ3Param2D * p1,
+ const TQ3Param2D * p2,
+ TQ3Vector2D * result);
+
+
+/*
+ * Q3Point3D_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Point3D_Subtract(
+ const TQ3Point3D * p1,
+ const TQ3Point3D * p2,
+ TQ3Vector3D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point Distance **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Point2D_Distance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Point2D_Distance(
+ const TQ3Point2D * p1,
+ const TQ3Point2D * p2);
+
+
+/*
+ * Q3Point2D_DistanceSquared()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Point2D_DistanceSquared(
+ const TQ3Point2D * p1,
+ const TQ3Point2D * p2);
+
+
+
+/*
+ * Q3Param2D_Distance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Param2D_Distance(
+ const TQ3Param2D * p1,
+ const TQ3Param2D * p2);
+
+
+/*
+ * Q3Param2D_DistanceSquared()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Param2D_DistanceSquared(
+ const TQ3Param2D * p1,
+ const TQ3Param2D * p2);
+
+
+
+/*
+ * Q3RationalPoint3D_Distance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3RationalPoint3D_Distance(
+ const TQ3RationalPoint3D * p1,
+ const TQ3RationalPoint3D * p2);
+
+
+/*
+ * Q3RationalPoint3D_DistanceSquared()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3RationalPoint3D_DistanceSquared(
+ const TQ3RationalPoint3D * p1,
+ const TQ3RationalPoint3D * p2);
+
+
+
+/*
+ * Q3Point3D_Distance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Point3D_Distance(
+ const TQ3Point3D * p1,
+ const TQ3Point3D * p2);
+
+
+/*
+ * Q3Point3D_DistanceSquared()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Point3D_DistanceSquared(
+ const TQ3Point3D * p1,
+ const TQ3Point3D * p2);
+
+
+
+/*
+ * Q3RationalPoint4D_Distance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3RationalPoint4D_Distance(
+ const TQ3RationalPoint4D * p1,
+ const TQ3RationalPoint4D * p2);
+
+
+/*
+ * Q3RationalPoint4D_DistanceSquared()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3RationalPoint4D_DistanceSquared(
+ const TQ3RationalPoint4D * p1,
+ const TQ3RationalPoint4D * p2);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point Relative Ratio **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Point2D_RRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point2D * )
+Q3Point2D_RRatio(
+ const TQ3Point2D * p1,
+ const TQ3Point2D * p2,
+ float r1,
+ float r2,
+ TQ3Point2D * result);
+
+
+/*
+ * Q3Param2D_RRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Param2D * )
+Q3Param2D_RRatio(
+ const TQ3Param2D * p1,
+ const TQ3Param2D * p2,
+ float r1,
+ float r2,
+ TQ3Param2D * result);
+
+
+/*
+ * Q3Point3D_RRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3Point3D_RRatio(
+ const TQ3Point3D * p1,
+ const TQ3Point3D * p2,
+ float r1,
+ float r2,
+ TQ3Point3D * result);
+
+
+/*
+ * Q3RationalPoint4D_RRatio()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3RationalPoint4D * )
+Q3RationalPoint4D_RRatio(
+ const TQ3RationalPoint4D * p1,
+ const TQ3RationalPoint4D * p2,
+ float r1,
+ float r2,
+ TQ3RationalPoint4D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point / Vector Addition & Subtraction **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Point2D_Vector2D_Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point2D * )
+Q3Point2D_Vector2D_Add(
+ const TQ3Point2D * point2D,
+ const TQ3Vector2D * vector2D,
+ TQ3Point2D * result);
+
+
+/*
+ * Q3Param2D_Vector2D_Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Param2D * )
+Q3Param2D_Vector2D_Add(
+ const TQ3Param2D * param2D,
+ const TQ3Vector2D * vector2D,
+ TQ3Param2D * result);
+
+
+/*
+ * Q3Point3D_Vector3D_Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3Point3D_Vector3D_Add(
+ const TQ3Point3D * point3D,
+ const TQ3Vector3D * vector3D,
+ TQ3Point3D * result);
+
+
+/*
+ * Q3Point2D_Vector2D_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point2D * )
+Q3Point2D_Vector2D_Subtract(
+ const TQ3Point2D * point2D,
+ const TQ3Vector2D * vector2D,
+ TQ3Point2D * result);
+
+
+/*
+ * Q3Param2D_Vector2D_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Param2D * )
+Q3Param2D_Vector2D_Subtract(
+ const TQ3Param2D * param2D,
+ const TQ3Vector2D * vector2D,
+ TQ3Param2D * result);
+
+
+/*
+ * Q3Point3D_Vector3D_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3Point3D_Vector3D_Subtract(
+ const TQ3Point3D * point3D,
+ const TQ3Vector3D * vector3D,
+ TQ3Point3D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Vector Scale **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Vector2D_Scale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Vector2D_Scale(
+ const TQ3Vector2D * vector2D,
+ float scalar,
+ TQ3Vector2D * result);
+
+
+/*
+ * Q3Vector3D_Scale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_Scale(
+ const TQ3Vector3D * vector3D,
+ float scalar,
+ TQ3Vector3D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Vector Length **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Vector2D_Length()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Vector2D_Length(const TQ3Vector2D * vector2D);
+
+
+/*
+ * Q3Vector3D_Length()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Vector3D_Length(const TQ3Vector3D * vector3D);
+
+
+
+/******************************************************************************
+ ** **
+ ** Vector Normalize **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Vector2D_Normalize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Vector2D_Normalize(
+ const TQ3Vector2D * vector2D,
+ TQ3Vector2D * result);
+
+
+/*
+ * Q3Vector3D_Normalize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_Normalize(
+ const TQ3Vector3D * vector3D,
+ TQ3Vector3D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Vector/Vector Addition and Subtraction **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Vector2D_Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Vector2D_Add(
+ const TQ3Vector2D * v1,
+ const TQ3Vector2D * v2,
+ TQ3Vector2D * result);
+
+
+/*
+ * Q3Vector3D_Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_Add(
+ const TQ3Vector3D * v1,
+ const TQ3Vector3D * v2,
+ TQ3Vector3D * result);
+
+
+
+/*
+ * Q3Vector2D_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Vector2D_Subtract(
+ const TQ3Vector2D * v1,
+ const TQ3Vector2D * v2,
+ TQ3Vector2D * result);
+
+
+/*
+ * Q3Vector3D_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_Subtract(
+ const TQ3Vector3D * v1,
+ const TQ3Vector3D * v2,
+ TQ3Vector3D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Cross Product **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Vector2D_Cross()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Vector2D_Cross(
+ const TQ3Vector2D * v1,
+ const TQ3Vector2D * v2);
+
+
+/*
+ * Q3Vector3D_Cross()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_Cross(
+ const TQ3Vector3D * v1,
+ const TQ3Vector3D * v2,
+ TQ3Vector3D * result);
+
+
+/*
+ * Q3Point3D_CrossProductTri()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Point3D_CrossProductTri(
+ const TQ3Point3D * point1,
+ const TQ3Point3D * point2,
+ const TQ3Point3D * point3,
+ TQ3Vector3D * crossVector);
+
+
+
+/******************************************************************************
+ ** **
+ ** Dot Product **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Vector2D_Dot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Vector2D_Dot(
+ const TQ3Vector2D * v1,
+ const TQ3Vector2D * v2);
+
+
+/*
+ * Q3Vector3D_Dot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Vector3D_Dot(
+ const TQ3Vector3D * v1,
+ const TQ3Vector3D * v2);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point and Vector Transformation **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Vector2D_Transform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Vector2D_Transform(
+ const TQ3Vector2D * vector2D,
+ const TQ3Matrix3x3 * matrix3x3,
+ TQ3Vector2D * result);
+
+
+/*
+ * Q3Vector3D_Transform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_Transform(
+ const TQ3Vector3D * vector3D,
+ const TQ3Matrix4x4 * matrix4x4,
+ TQ3Vector3D * result);
+
+
+/*
+ * Q3Point2D_Transform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point2D * )
+Q3Point2D_Transform(
+ const TQ3Point2D * point2D,
+ const TQ3Matrix3x3 * matrix3x3,
+ TQ3Point2D * result);
+
+
+/*
+ * Q3Param2D_Transform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Param2D * )
+Q3Param2D_Transform(
+ const TQ3Param2D * param2D,
+ const TQ3Matrix3x3 * matrix3x3,
+ TQ3Param2D * result);
+
+
+/*
+ * Q3Point3D_Transform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3Point3D_Transform(
+ const TQ3Point3D * point3D,
+ const TQ3Matrix4x4 * matrix4x4,
+ TQ3Point3D * result);
+
+
+/*
+ * Q3RationalPoint4D_Transform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3RationalPoint4D * )
+Q3RationalPoint4D_Transform(
+ const TQ3RationalPoint4D * point4D,
+ const TQ3Matrix4x4 * matrix4x4,
+ TQ3RationalPoint4D * result);
+
+
+/*
+ * Q3Point3D_To3DTransformArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point3D_To3DTransformArray(
+ const TQ3Point3D * inPoint3D,
+ const TQ3Matrix4x4 * matrix,
+ TQ3Point3D * outPoint3D,
+ long numPoints,
+ unsigned long inStructSize,
+ unsigned long outStructSize);
+
+
+/*
+ * Q3Point3D_To4DTransformArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Point3D_To4DTransformArray(
+ const TQ3Point3D * inPoint3D,
+ const TQ3Matrix4x4 * matrix,
+ TQ3RationalPoint4D * outPoint4D,
+ long numPoints,
+ unsigned long inStructSize,
+ unsigned long outStructSize);
+
+
+/*
+ * Q3RationalPoint4D_To4DTransformArray()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RationalPoint4D_To4DTransformArray(
+ const TQ3RationalPoint4D * inPoint4D,
+ const TQ3Matrix4x4 * matrix,
+ TQ3RationalPoint4D * outPoint4D,
+ long numPoints,
+ unsigned long inStructSize,
+ unsigned long outStructSize);
+
+
+
+/******************************************************************************
+ ** **
+ ** Vector Negation **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Vector2D_Negate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector2D * )
+Q3Vector2D_Negate(
+ const TQ3Vector2D * vector2D,
+ TQ3Vector2D * result);
+
+
+/*
+ * Q3Vector3D_Negate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_Negate(
+ const TQ3Vector3D * vector3D,
+ TQ3Vector3D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point conversion from cartesian to polar **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Point2D_ToPolar()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3PolarPoint * )
+Q3Point2D_ToPolar(
+ const TQ3Point2D * point2D,
+ TQ3PolarPoint * result);
+
+
+/*
+ * Q3PolarPoint_ToPoint2D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point2D * )
+Q3PolarPoint_ToPoint2D(
+ const TQ3PolarPoint * polarPoint,
+ TQ3Point2D * result);
+
+
+/*
+ * Q3Point3D_ToSpherical()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3SphericalPoint * )
+Q3Point3D_ToSpherical(
+ const TQ3Point3D * point3D,
+ TQ3SphericalPoint * result);
+
+
+/*
+ * Q3SphericalPoint_ToPoint3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3SphericalPoint_ToPoint3D(
+ const TQ3SphericalPoint * sphericalPoint,
+ TQ3Point3D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Point Affine Combinations **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Point2D_AffineComb()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point2D * )
+Q3Point2D_AffineComb(
+ const TQ3Point2D * points2D,
+ const float * weights,
+ unsigned long nPoints,
+ TQ3Point2D * result);
+
+
+/*
+ * Q3Param2D_AffineComb()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Param2D * )
+Q3Param2D_AffineComb(
+ const TQ3Param2D * params2D,
+ const float * weights,
+ unsigned long nPoints,
+ TQ3Param2D * result);
+
+
+/*
+ * Q3RationalPoint3D_AffineComb()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3RationalPoint3D * )
+Q3RationalPoint3D_AffineComb(
+ const TQ3RationalPoint3D * points3D,
+ const float * weights,
+ unsigned long numPoints,
+ TQ3RationalPoint3D * result);
+
+
+/*
+ * Q3Point3D_AffineComb()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3Point3D_AffineComb(
+ const TQ3Point3D * points3D,
+ const float * weights,
+ unsigned long numPoints,
+ TQ3Point3D * result);
+
+
+/*
+ * Q3RationalPoint4D_AffineComb()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3RationalPoint4D * )
+Q3RationalPoint4D_AffineComb(
+ const TQ3RationalPoint4D * points4D,
+ const float * weights,
+ unsigned long numPoints,
+ TQ3RationalPoint4D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Matrix Functions **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Matrix3x3_Copy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_Copy(
+ const TQ3Matrix3x3 * matrix3x3,
+ TQ3Matrix3x3 * result);
+
+
+/*
+ * Q3Matrix4x4_Copy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_Copy(
+ const TQ3Matrix4x4 * matrix4x4,
+ TQ3Matrix4x4 * result);
+
+
+
+/*
+ * Q3Matrix3x3_SetIdentity()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_SetIdentity(TQ3Matrix3x3 * matrix3x3);
+
+
+/*
+ * Q3Matrix4x4_SetIdentity()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetIdentity(TQ3Matrix4x4 * matrix4x4);
+
+
+
+/*
+ * Q3Matrix3x3_Transpose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_Transpose(
+ const TQ3Matrix3x3 * matrix3x3,
+ TQ3Matrix3x3 * result);
+
+
+/*
+ * Q3Matrix4x4_Transpose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_Transpose(
+ const TQ3Matrix4x4 * matrix4x4,
+ TQ3Matrix4x4 * result);
+
+
+
+/*
+ * Q3Matrix3x3_Invert()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_Invert(
+ const TQ3Matrix3x3 * matrix3x3,
+ TQ3Matrix3x3 * result);
+
+
+/*
+ * Q3Matrix4x4_Invert()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_Invert(
+ const TQ3Matrix4x4 * matrix4x4,
+ TQ3Matrix4x4 * result);
+
+
+
+/*
+ * Q3Matrix3x3_Adjoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_Adjoint(
+ const TQ3Matrix3x3 * matrix3x3,
+ TQ3Matrix3x3 * result);
+
+
+
+/*
+ * Q3Matrix3x3_Multiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_Multiply(
+ const TQ3Matrix3x3 * matrixA,
+ const TQ3Matrix3x3 * matrixB,
+ TQ3Matrix3x3 * result);
+
+
+/*
+ * Q3Matrix4x4_Multiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_Multiply(
+ const TQ3Matrix4x4 * matrixA,
+ const TQ3Matrix4x4 * matrixB,
+ TQ3Matrix4x4 * result);
+
+
+
+/*
+ * Q3Matrix3x3_SetTranslate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_SetTranslate(
+ TQ3Matrix3x3 * matrix3x3,
+ float xTrans,
+ float yTrans);
+
+
+/*
+ * Q3Matrix3x3_SetScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_SetScale(
+ TQ3Matrix3x3 * matrix3x3,
+ float xScale,
+ float yScale);
+
+
+
+/*
+ * Q3Matrix3x3_SetRotateAboutPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix3x3 * )
+Q3Matrix3x3_SetRotateAboutPoint(
+ TQ3Matrix3x3 * matrix3x3,
+ const TQ3Point2D * origin,
+ float angle);
+
+
+/*
+ * Q3Matrix4x4_SetTranslate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetTranslate(
+ TQ3Matrix4x4 * matrix4x4,
+ float xTrans,
+ float yTrans,
+ float zTrans);
+
+
+/*
+ * Q3Matrix4x4_SetScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetScale(
+ TQ3Matrix4x4 * matrix4x4,
+ float xScale,
+ float yScale,
+ float zScale);
+
+
+
+/*
+ * Q3Matrix4x4_SetRotateAboutPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetRotateAboutPoint(
+ TQ3Matrix4x4 * matrix4x4,
+ const TQ3Point3D * origin,
+ float xAngle,
+ float yAngle,
+ float zAngle);
+
+
+/*
+ * Q3Matrix4x4_SetRotateAboutAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetRotateAboutAxis(
+ TQ3Matrix4x4 * matrix4x4,
+ const TQ3Point3D * origin,
+ const TQ3Vector3D * orientation,
+ float angle);
+
+
+/*
+ * Q3Matrix4x4_SetRotate_X()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetRotate_X(
+ TQ3Matrix4x4 * matrix4x4,
+ float angle);
+
+
+/*
+ * Q3Matrix4x4_SetRotate_Y()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetRotate_Y(
+ TQ3Matrix4x4 * matrix4x4,
+ float angle);
+
+
+/*
+ * Q3Matrix4x4_SetRotate_Z()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetRotate_Z(
+ TQ3Matrix4x4 * matrix4x4,
+ float angle);
+
+
+/*
+ * Q3Matrix4x4_SetRotate_XYZ()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetRotate_XYZ(
+ TQ3Matrix4x4 * matrix4x4,
+ float xAngle,
+ float yAngle,
+ float zAngle);
+
+
+/*
+ * Q3Matrix4x4_SetRotateVectorToVector()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetRotateVectorToVector(
+ TQ3Matrix4x4 * matrix4x4,
+ const TQ3Vector3D * v1,
+ const TQ3Vector3D * v2);
+
+
+/*
+ * Q3Matrix4x4_SetQuaternion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Matrix4x4_SetQuaternion(
+ TQ3Matrix4x4 * matrix,
+ const TQ3Quaternion * quaternion);
+
+
+/*
+ * Q3Matrix3x3_Determinant()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Matrix3x3_Determinant(const TQ3Matrix3x3 * matrix3x3);
+
+
+/*
+ * Q3Matrix4x4_Determinant()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Matrix4x4_Determinant(const TQ3Matrix4x4 * matrix4x4);
+
+
+
+/******************************************************************************
+ ** **
+ ** Quaternion Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Quaternion_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_Set(
+ TQ3Quaternion * quaternion,
+ float w,
+ float x,
+ float y,
+ float z);
+
+
+/*
+ * Q3Quaternion_SetIdentity()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_SetIdentity(TQ3Quaternion * quaternion);
+
+
+/*
+ * Q3Quaternion_Copy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_Copy(
+ const TQ3Quaternion * quaternion,
+ TQ3Quaternion * result);
+
+
+/*
+ * Q3Quaternion_IsIdentity()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Quaternion_IsIdentity(const TQ3Quaternion * quaternion);
+
+
+/*
+ * Q3Quaternion_Invert()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_Invert(
+ const TQ3Quaternion * quaternion,
+ TQ3Quaternion * result);
+
+
+/*
+ * Q3Quaternion_Normalize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_Normalize(
+ const TQ3Quaternion * quaternion,
+ TQ3Quaternion * result);
+
+
+/*
+ * Q3Quaternion_Dot()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float )
+Q3Quaternion_Dot(
+ const TQ3Quaternion * q1,
+ const TQ3Quaternion * q2);
+
+
+/*
+ * Q3Quaternion_Multiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_Multiply(
+ const TQ3Quaternion * q1,
+ const TQ3Quaternion * q2,
+ TQ3Quaternion * result);
+
+
+/*
+ * Q3Quaternion_SetRotateAboutAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_SetRotateAboutAxis(
+ TQ3Quaternion * quaternion,
+ const TQ3Vector3D * axis,
+ float angle);
+
+
+/*
+ * Q3Quaternion_SetRotate_XYZ()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_SetRotate_XYZ(
+ TQ3Quaternion * quaternion,
+ float xAngle,
+ float yAngle,
+ float zAngle);
+
+
+/*
+ * Q3Quaternion_SetRotate_X()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_SetRotate_X(
+ TQ3Quaternion * quaternion,
+ float angle);
+
+
+/*
+ * Q3Quaternion_SetRotate_Y()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_SetRotate_Y(
+ TQ3Quaternion * quaternion,
+ float angle);
+
+
+/*
+ * Q3Quaternion_SetRotate_Z()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_SetRotate_Z(
+ TQ3Quaternion * quaternion,
+ float angle);
+
+
+
+/*
+ * Q3Quaternion_SetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_SetMatrix(
+ TQ3Quaternion * quaternion,
+ const TQ3Matrix4x4 * matrix);
+
+
+/*
+ * Q3Quaternion_SetRotateVectorToVector()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_SetRotateVectorToVector(
+ TQ3Quaternion * quaternion,
+ const TQ3Vector3D * v1,
+ const TQ3Vector3D * v2);
+
+
+/*
+ * Q3Quaternion_MatchReflection()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_MatchReflection(
+ const TQ3Quaternion * q1,
+ const TQ3Quaternion * q2,
+ TQ3Quaternion * result);
+
+
+/*
+ * Q3Quaternion_InterpolateFast()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_InterpolateFast(
+ const TQ3Quaternion * q1,
+ const TQ3Quaternion * q2,
+ float t,
+ TQ3Quaternion * result);
+
+
+/*
+ * Q3Quaternion_InterpolateLinear()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Quaternion * )
+Q3Quaternion_InterpolateLinear(
+ const TQ3Quaternion * q1,
+ const TQ3Quaternion * q2,
+ float t,
+ TQ3Quaternion * result);
+
+
+/*
+ * Q3Vector3D_TransformQuaternion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Vector3D * )
+Q3Vector3D_TransformQuaternion(
+ const TQ3Vector3D * vector3D,
+ const TQ3Quaternion * quaternion,
+ TQ3Vector3D * result);
+
+
+/*
+ * Q3Point3D_TransformQuaternion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Point3D * )
+Q3Point3D_TransformQuaternion(
+ const TQ3Point3D * point3D,
+ const TQ3Quaternion * quaternion,
+ TQ3Point3D * result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Volume Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3BoundingBox_Copy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingBox * )
+Q3BoundingBox_Copy(
+ const TQ3BoundingBox * src,
+ TQ3BoundingBox * dest);
+
+
+/*
+ * Q3BoundingBox_Union()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingBox * )
+Q3BoundingBox_Union(
+ const TQ3BoundingBox * v1,
+ const TQ3BoundingBox * v2,
+ TQ3BoundingBox * result);
+
+
+/*
+ * Q3BoundingBox_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingBox * )
+Q3BoundingBox_Set(
+ TQ3BoundingBox * bBox,
+ const TQ3Point3D * min,
+ const TQ3Point3D * max,
+ TQ3Boolean isEmpty);
+
+
+/*
+ * Q3BoundingBox_UnionPoint3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingBox * )
+Q3BoundingBox_UnionPoint3D(
+ const TQ3BoundingBox * bBox,
+ const TQ3Point3D * point3D,
+ TQ3BoundingBox * result);
+
+
+/*
+ * Q3BoundingBox_UnionRationalPoint4D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingBox * )
+Q3BoundingBox_UnionRationalPoint4D(
+ const TQ3BoundingBox * bBox,
+ const TQ3RationalPoint4D * point4D,
+ TQ3BoundingBox * result);
+
+
+/*
+ * Q3BoundingBox_SetFromPoints3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingBox * )
+Q3BoundingBox_SetFromPoints3D(
+ TQ3BoundingBox * bBox,
+ const TQ3Point3D * points3D,
+ unsigned long numPoints,
+ unsigned long structSize);
+
+
+/*
+ * Q3BoundingBox_SetFromRationalPoints4D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingBox * )
+Q3BoundingBox_SetFromRationalPoints4D(
+ TQ3BoundingBox * bBox,
+ const TQ3RationalPoint4D * points4D,
+ unsigned long numPoints,
+ unsigned long structSize);
+
+
+
+/******************************************************************************
+ ** **
+ ** Sphere Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3BoundingSphere_Copy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingSphere * )
+Q3BoundingSphere_Copy(
+ const TQ3BoundingSphere * src,
+ TQ3BoundingSphere * dest);
+
+
+/*
+ * Q3BoundingSphere_Union()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingSphere * )
+Q3BoundingSphere_Union(
+ const TQ3BoundingSphere * s1,
+ const TQ3BoundingSphere * s2,
+ TQ3BoundingSphere * result);
+
+
+/*
+ * Q3BoundingSphere_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingSphere * )
+Q3BoundingSphere_Set(
+ TQ3BoundingSphere * bSphere,
+ const TQ3Point3D * origin,
+ float radius,
+ TQ3Boolean isEmpty);
+
+
+/*
+ * Q3BoundingSphere_UnionPoint3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingSphere * )
+Q3BoundingSphere_UnionPoint3D(
+ const TQ3BoundingSphere * bSphere,
+ const TQ3Point3D * point3D,
+ TQ3BoundingSphere * result);
+
+
+/*
+ * Q3BoundingSphere_UnionRationalPoint4D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingSphere * )
+Q3BoundingSphere_UnionRationalPoint4D(
+ const TQ3BoundingSphere * bSphere,
+ const TQ3RationalPoint4D * point4D,
+ TQ3BoundingSphere * result);
+
+
+
+/*
+ * Q3BoundingSphere_SetFromPoints3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingSphere * )
+Q3BoundingSphere_SetFromPoints3D(
+ TQ3BoundingSphere * bSphere,
+ const TQ3Point3D * points3D,
+ unsigned long numPoints,
+ unsigned long structSize);
+
+
+/*
+ * Q3BoundingSphere_SetFromRationalPoints4D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3BoundingSphere * )
+Q3BoundingSphere_SetFromRationalPoints4D(
+ TQ3BoundingSphere * bSphere,
+ const TQ3RationalPoint4D * points4D,
+ unsigned long numPoints,
+ unsigned long structSize);
@@ -2211,22 +2211,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DMATH__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DMATH__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DMATH__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DOld.h b/include/qt/QD3DOld.h
index b2fd840d0..fe6080d62 100644
--- a/include/qt/QD3DOld.h
+++ b/include/qt/QD3DOld.h
@@ -1,18 +1,18 @@
/*
File: QD3DOld.h
-
+
Contains: Obsolete API for Quickdraw 3D that QuickTime still uses
-
+
Version: Technology: Quickdraw 3D 1.5.1
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DOLD__
#define __QD3DOLD__
@@ -61,98 +61,98 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DOLD__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DOLD__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DOLD__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DOLD__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Obsolete Object System Types **
- ** from QD3D.i **
- ** **
- *****************************************************************************/
- typedef struct OpaqueTQ3ObjectClass* TQ3ObjectClass;
- typedef unsigned long TQ3MethodType;
- /*
- * Object methods
- */
+/******************************************************************************
+ ** **
+ ** Obsolete Object System Types **
+ ** from QD3D.i **
+ ** **
+ *****************************************************************************/
+typedef struct OpaqueTQ3ObjectClass* TQ3ObjectClass;
+typedef unsigned long TQ3MethodType;
+/*
+ * Object methods
+ */
#define kQ3MethodTypeObjectUnregister Q3_METHOD_TYPE('u','n','r','g')
- /*
- * IO Methods
- */
+/*
+ * IO Methods
+ */
#define kQ3MethodTypeObjectFileVersion Q3_METHOD_TYPE('v','e','r','s') /* version */
#define kQ3MethodTypeObjectTraverse Q3_METHOD_TYPE('t','r','v','s') /* byte count */
#define kQ3MethodTypeObjectTraverseData Q3_METHOD_TYPE('t','r','v','d') /* byte count */
#define kQ3MethodTypeObjectWrite Q3_METHOD_TYPE('w','r','i','t') /* Dump info to file */
-#define kQ3MethodTypeObjectReadData Q3_METHOD_TYPE('r','d','d','t') /* Read info from file into buffer or, attach read data to parent */
- typedef CALLBACK_API_C(void , TQ3FunctionPointer)(void);
- typedef CALLBACK_API_C(TQ3FunctionPointer , TQ3MetaHandler)(TQ3MethodType methodType);
- /*
- * MetaHandler:
- * When you give a metahandler to QuickDraw 3D, it is called multiple times to
- * build method tables, and then is thrown away. You are guaranteed that
- * your metahandler will never be called again after a call that was passed
- * a metahandler returns.
- *
- * Your metahandler should contain a switch on the methodType passed to it
- * and should return the corresponding method as an TQ3FunctionPointer.
- *
- * IMPORTANT: A metaHandler MUST always "return" a value. If you are
- * passed a methodType that you do not understand, ALWAYS return NULL.
- *
- * These types here are prototypes of how your functions should look.
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3ObjectUnregisterMethod)(TQ3ObjectClass objectClass);
- /******************************************************************************
- ** **
- ** Obsolete ObjectClass Routines **
- ** from QD3D.i **
- ** **
- *****************************************************************************/
- /*
- * Q3ObjectClass_Unregister is an obsolete function. For the new extensions
- * model you should now use Q3XObjectHierarchy_UnregisterClass which is
- * defined in QD3DExtension.h and takes identical parameters.
- */
+#define kQ3MethodTypeObjectReadData Q3_METHOD_TYPE('r','d','d','t') /* Read info from file into buffer or, attach read data to parent */
+typedef CALLBACK_API_C( void , TQ3FunctionPointer )(void);
+typedef CALLBACK_API_C( TQ3FunctionPointer , TQ3MetaHandler )(TQ3MethodType methodType);
+/*
+ * MetaHandler:
+ * When you give a metahandler to QuickDraw 3D, it is called multiple times to
+ * build method tables, and then is thrown away. You are guaranteed that
+ * your metahandler will never be called again after a call that was passed
+ * a metahandler returns.
+ *
+ * Your metahandler should contain a switch on the methodType passed to it
+ * and should return the corresponding method as an TQ3FunctionPointer.
+ *
+ * IMPORTANT: A metaHandler MUST always "return" a value. If you are
+ * passed a methodType that you do not understand, ALWAYS return NULL.
+ *
+ * These types here are prototypes of how your functions should look.
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3ObjectUnregisterMethod )(TQ3ObjectClass objectClass);
+/******************************************************************************
+ ** **
+ ** Obsolete ObjectClass Routines **
+ ** from QD3D.i **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ObjectClass_Unregister is an obsolete function. For the new extensions
+ * model you should now use Q3XObjectHierarchy_UnregisterClass which is
+ * defined in QD3DExtension.h and takes identical parameters.
+ */
#if CALL_NOT_IN_CARBON
- /*
- * Q3ObjectClass_Unregister()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ObjectClass_Unregister(TQ3ObjectClass objectClass);
-
-
-
-
- /******************************************************************************
- ** **
- ** Obsolete Custom Element Registration **
- ** from QD3DSet.i **
- ** **
- *****************************************************************************/
+/*
+ * Q3ObjectClass_Unregister()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ObjectClass_Unregister(TQ3ObjectClass objectClass);
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Obsolete Custom Element Registration **
+ ** from QD3DSet.i **
+ ** **
+ *****************************************************************************/
#define kQ3MethodTypeElementCopyAdd Q3_METHOD_TYPE('e','c','p','a')
#define kQ3MethodTypeElementCopyReplace Q3_METHOD_TYPE('e','c','p','r')
#define kQ3MethodTypeElementCopyGet Q3_METHOD_TYPE('e','c','p','g')
@@ -160,197 +160,196 @@ extern "C" {
#define kQ3MethodTypeElementDelete Q3_METHOD_TYPE('e','d','e','l')
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(TQ3Status , TQ3ElementCopyAddMethod)(const void *fromAPIElement, void *toInternalElement);
- typedef CALLBACK_API_C(TQ3Status , TQ3ElementCopyReplaceMethod)(const void *fromAPIElement, void *ontoInternalElement);
- typedef CALLBACK_API_C(TQ3Status , TQ3ElementCopyGetMethod)(const void *fromInternalElement, void *toAPIElement);
- typedef CALLBACK_API_C(TQ3Status , TQ3ElementCopyDuplicateMethod)(const void *fromInternalElement, void *toInternalElement);
- typedef CALLBACK_API_C(TQ3Status , TQ3ElementDeleteMethod)(void * internalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3ElementCopyAddMethod )(const void *fromAPIElement, void *toInternalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3ElementCopyReplaceMethod )(const void *fromAPIElement, void *ontoInternalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3ElementCopyGetMethod )(const void *fromInternalElement, void *toAPIElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3ElementCopyDuplicateMethod )(const void *fromInternalElement, void *toInternalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3ElementDeleteMethod )(void * internalElement);
#if CALL_NOT_IN_CARBON
- /*
- * Q3ElementClass_Register()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectClass)
- Q3ElementClass_Register(
- TQ3ElementType elementType,
- const char * name,
- unsigned long sizeOfElement,
- TQ3MetaHandler metaHandler);
-
-
- /*
- * Q3ElementType_GetElementSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ElementType_GetElementSize(
- TQ3ElementType elementType,
- unsigned long * sizeOfElement);
-
-
-
- /******************************************************************************
- ** **
- ** Obsolete QD3DPick.i API **
- ** **
- *****************************************************************************/
- /*
- * The following data structure has been obsoleted by
- * the Q3Pick_GetPickDetailData function in conjunction
- * with the pickDetailValue enum
- */
+/*
+ * Q3ElementClass_Register()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectClass )
+Q3ElementClass_Register(
+ TQ3ElementType elementType,
+ const char * name,
+ unsigned long sizeOfElement,
+ TQ3MetaHandler metaHandler);
+
+
+/*
+ * Q3ElementType_GetElementSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ElementType_GetElementSize(
+ TQ3ElementType elementType,
+ unsigned long * sizeOfElement);
+
+
+
+/******************************************************************************
+ ** **
+ ** Obsolete QD3DPick.i API **
+ ** **
+ *****************************************************************************/
+/*
+ * The following data structure has been obsoleted by
+ * the Q3Pick_GetPickDetailData function in conjunction
+ * with the pickDetailValue enum
+ */
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3HitData
- {
- TQ3PickParts part;
- TQ3PickDetail validMask;
- unsigned long pickID;
- TQ3HitPath path;
- TQ3Object object;
- TQ3Matrix4x4 localToWorldMatrix;
- TQ3Point3D xyzPoint;
- float distance;
- TQ3Vector3D normal;
- TQ3ShapePartObject shapePart;
- };
- typedef struct TQ3HitData TQ3HitData;
- /*
- * The following functions have been superseeded
- * by the Q3Pick_GetPickDetailData function
- */
+struct TQ3HitData {
+ TQ3PickParts part;
+ TQ3PickDetail validMask;
+ unsigned long pickID;
+ TQ3HitPath path;
+ TQ3Object object;
+ TQ3Matrix4x4 localToWorldMatrix;
+ TQ3Point3D xyzPoint;
+ float distance;
+ TQ3Vector3D normal;
+ TQ3ShapePartObject shapePart;
+};
+typedef struct TQ3HitData TQ3HitData;
+/*
+ * The following functions have been superseeded
+ * by the Q3Pick_GetPickDetailData function
+ */
#if CALL_NOT_IN_CARBON
- /*
- * Q3Pick_GetHitData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_GetHitData(
- TQ3PickObject pick,
- unsigned long index,
- TQ3HitData * hitData);
-
-
- /*
- * Q3Hit_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Hit_EmptyData(TQ3HitData * hitData);
-
-
- /******************************************************************************
- ** **
- ** Obsolete QD3DRenderer.i API **
- ** **
- *****************************************************************************/
- /*
- * Blocking, flush all buffered graphics to rasterizer and update
- * draw context.
- *
- * This function has been replaced by Q3View_Sync
- */
- /*
- * Q3Renderer_Sync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Renderer_Sync(
- TQ3RendererObject renderer,
- TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** Obsolete QD3DIO.i API **
- ** **
- *****************************************************************************/
- /*
- * TQ3ObjectTraverseMethod
- *
- * For "elements" (meaning "attributes, too), you will be passed NULL for
- * object. Sorry, custom objects will be available in the next major revision.
- *
- * The "data" is a pointer to your internal element data.
- *
- * The view is the current traversal view.
- */
+/*
+ * Q3Pick_GetHitData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetHitData(
+ TQ3PickObject pick,
+ unsigned long index,
+ TQ3HitData * hitData);
+
+
+/*
+ * Q3Hit_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Hit_EmptyData(TQ3HitData * hitData);
+
+
+/******************************************************************************
+ ** **
+ ** Obsolete QD3DRenderer.i API **
+ ** **
+ *****************************************************************************/
+/*
+ * Blocking, flush all buffered graphics to rasterizer and update
+ * draw context.
+ *
+ * This function has been replaced by Q3View_Sync
+ */
+/*
+ * Q3Renderer_Sync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Renderer_Sync(
+ TQ3RendererObject renderer,
+ TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** Obsolete QD3DIO.i API **
+ ** **
+ *****************************************************************************/
+/*
+ * TQ3ObjectTraverseMethod
+ *
+ * For "elements" (meaning "attributes, too), you will be passed NULL for
+ * object. Sorry, custom objects will be available in the next major revision.
+ *
+ * The "data" is a pointer to your internal element data.
+ *
+ * The view is the current traversal view.
+ */
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(TQ3Status , TQ3ObjectTraverseMethod)(TQ3Object object, void *data, TQ3ViewObject view);
- typedef CALLBACK_API_C(TQ3Status , TQ3ObjectWriteMethod)(const void *object, TQ3FileObject theFile);
- /*
- * Use Q3XView_SubmitWriteData instead...
- */
- typedef CALLBACK_API_C(void , TQ3DataDeleteMethod)(void * data);
+typedef CALLBACK_API_C( TQ3Status , TQ3ObjectTraverseMethod )(TQ3Object object, void *data, TQ3ViewObject view);
+typedef CALLBACK_API_C( TQ3Status , TQ3ObjectWriteMethod )(const void *object, TQ3FileObject theFile);
+/*
+ * Use Q3XView_SubmitWriteData instead...
+ */
+typedef CALLBACK_API_C( void , TQ3DataDeleteMethod )(void * data);
#if CALL_NOT_IN_CARBON
- /*
- * Q3View_SubmitWriteData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SubmitWriteData(
- TQ3ViewObject view,
- TQ3Size size,
- void * data,
- TQ3DataDeleteMethod deleteData);
-
-
- /*
- * TQ3ObjectReadDataMethod
- *
- * For "elements" (meaning "attributes", too), you must allocate stack space
- * and call Q3Set_Add on "parentObject", which is an TQ3SetObject.
- *
- * Otherwise, parentObject is whatever object your element is a subobject of...
- */
+/*
+ * Q3View_SubmitWriteData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SubmitWriteData(
+ TQ3ViewObject view,
+ TQ3Size size,
+ void * data,
+ TQ3DataDeleteMethod deleteData);
+
+
+/*
+ * TQ3ObjectReadDataMethod
+ *
+ * For "elements" (meaning "attributes", too), you must allocate stack space
+ * and call Q3Set_Add on "parentObject", which is an TQ3SetObject.
+ *
+ * Otherwise, parentObject is whatever object your element is a subobject of...
+ */
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(TQ3Status , TQ3ObjectReadDataMethod)(TQ3Object parentObject, TQ3FileObject theFile);
+typedef CALLBACK_API_C( TQ3Status , TQ3ObjectReadDataMethod )(TQ3Object parentObject, TQ3FileObject theFile);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DOLD__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DOLD__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DOLD__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DPick.h b/include/qt/QD3DPick.h
index 5ee6394ca..1c607e2dc 100644
--- a/include/qt/QD3DPick.h
+++ b/include/qt/QD3DPick.h
@@ -1,18 +1,18 @@
/*
File: QD3DPick.h
-
+
Contains: Q3Pick methods
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DPICK__
#define __QD3DPICK__
@@ -46,605 +46,599 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DPICK__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DPICK__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DPICK__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DPICK__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /*****************************************************************************
- ** **
- ** Mask bits for hit information **
- ** **
- *****************************************************************************/
- enum TQ3PickDetailMasks {
- kQ3PickDetailNone = 0,
- kQ3PickDetailMaskPickID = 1 << 0,
- kQ3PickDetailMaskPath = 1 << 1,
- kQ3PickDetailMaskObject = 1 << 2,
- kQ3PickDetailMaskLocalToWorldMatrix = 1 << 3,
- kQ3PickDetailMaskXYZ = 1 << 4,
- kQ3PickDetailMaskDistance = 1 << 5,
- kQ3PickDetailMaskNormal = 1 << 6,
- kQ3PickDetailMaskShapePart = 1 << 7,
- kQ3PickDetailMaskPickPart = 1 << 8,
- kQ3PickDetailMaskUV = 1 << 9
- };
- typedef enum TQ3PickDetailMasks TQ3PickDetailMasks;
-
- typedef unsigned long TQ3PickDetail;
- /******************************************************************************
- ** **
- ** Hitlist sorting **
- ** **
- *****************************************************************************/
- enum TQ3PickSort
- {
- kQ3PickSortNone = 0,
- kQ3PickSortNearToFar = 1,
- kQ3PickSortFarToNear = 2
- };
- typedef enum TQ3PickSort TQ3PickSort;
-
-
- /******************************************************************************
- ** **
- ** Data structures to set up the pick object **
- ** **
- *****************************************************************************/
+/*****************************************************************************
+ ** **
+ ** Mask bits for hit information **
+ ** **
+ *****************************************************************************/
+enum TQ3PickDetailMasks {
+ kQ3PickDetailNone = 0,
+ kQ3PickDetailMaskPickID = 1 << 0,
+ kQ3PickDetailMaskPath = 1 << 1,
+ kQ3PickDetailMaskObject = 1 << 2,
+ kQ3PickDetailMaskLocalToWorldMatrix = 1 << 3,
+ kQ3PickDetailMaskXYZ = 1 << 4,
+ kQ3PickDetailMaskDistance = 1 << 5,
+ kQ3PickDetailMaskNormal = 1 << 6,
+ kQ3PickDetailMaskShapePart = 1 << 7,
+ kQ3PickDetailMaskPickPart = 1 << 8,
+ kQ3PickDetailMaskUV = 1 << 9
+};
+typedef enum TQ3PickDetailMasks TQ3PickDetailMasks;
+
+typedef unsigned long TQ3PickDetail;
+/******************************************************************************
+ ** **
+ ** Hitlist sorting **
+ ** **
+ *****************************************************************************/
+enum TQ3PickSort {
+ kQ3PickSortNone = 0,
+ kQ3PickSortNearToFar = 1,
+ kQ3PickSortFarToNear = 2
+};
+typedef enum TQ3PickSort TQ3PickSort;
+
+
+/******************************************************************************
+ ** **
+ ** Data structures to set up the pick object **
+ ** **
+ *****************************************************************************/
#define kQ3ReturnAllHits 0
- struct TQ3PickData
- {
- TQ3PickSort sort;
- TQ3PickDetail mask;
- unsigned long numHitsToReturn;
- };
- typedef struct TQ3PickData TQ3PickData;
- struct TQ3WindowPointPickData
- {
- TQ3PickData data;
- TQ3Point2D point;
- float vertexTolerance;
- float edgeTolerance;
- };
- typedef struct TQ3WindowPointPickData TQ3WindowPointPickData;
- struct TQ3WindowRectPickData
- {
- TQ3PickData data;
- TQ3Area rect;
- };
- typedef struct TQ3WindowRectPickData TQ3WindowRectPickData;
- struct TQ3WorldRayPickData
- {
- TQ3PickData data;
- TQ3Ray3D ray;
- float vertexTolerance;
- float edgeTolerance;
- };
- typedef struct TQ3WorldRayPickData TQ3WorldRayPickData;
-
- /******************************************************************************
- ** **
- ** Hit data **
- ** **
- *****************************************************************************/
- struct TQ3HitPath
- {
- TQ3GroupObject rootGroup;
- unsigned long depth;
- TQ3GroupPosition * positions;
- };
- typedef struct TQ3HitPath TQ3HitPath;
- /******************************************************************************
- ** **
- ** Pick class methods **
- ** **
- *****************************************************************************/
+struct TQ3PickData {
+ TQ3PickSort sort;
+ TQ3PickDetail mask;
+ unsigned long numHitsToReturn;
+};
+typedef struct TQ3PickData TQ3PickData;
+struct TQ3WindowPointPickData {
+ TQ3PickData data;
+ TQ3Point2D point;
+ float vertexTolerance;
+ float edgeTolerance;
+};
+typedef struct TQ3WindowPointPickData TQ3WindowPointPickData;
+struct TQ3WindowRectPickData {
+ TQ3PickData data;
+ TQ3Area rect;
+};
+typedef struct TQ3WindowRectPickData TQ3WindowRectPickData;
+struct TQ3WorldRayPickData {
+ TQ3PickData data;
+ TQ3Ray3D ray;
+ float vertexTolerance;
+ float edgeTolerance;
+};
+typedef struct TQ3WorldRayPickData TQ3WorldRayPickData;
+
+/******************************************************************************
+ ** **
+ ** Hit data **
+ ** **
+ *****************************************************************************/
+struct TQ3HitPath {
+ TQ3GroupObject rootGroup;
+ unsigned long depth;
+ TQ3GroupPosition * positions;
+};
+typedef struct TQ3HitPath TQ3HitPath;
+/******************************************************************************
+ ** **
+ ** Pick class methods **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Pick_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Pick_GetType(TQ3PickObject pick);
-
-
- /*
- * Q3Pick_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_GetData(
- TQ3PickObject pick,
- TQ3PickData * data);
-
-
- /*
- * Q3Pick_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_SetData(
- TQ3PickObject pick,
- const TQ3PickData * data);
-
-
- /*
- * Q3Pick_GetVertexTolerance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_GetVertexTolerance(
- TQ3PickObject pick,
- float * vertexTolerance);
-
-
- /*
- * Q3Pick_GetEdgeTolerance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_GetEdgeTolerance(
- TQ3PickObject pick,
- float * edgeTolerance);
-
-
- /*
- * Q3Pick_SetVertexTolerance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_SetVertexTolerance(
- TQ3PickObject pick,
- float vertexTolerance);
-
-
- /*
- * Q3Pick_SetEdgeTolerance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_SetEdgeTolerance(
- TQ3PickObject pick,
- float edgeTolerance);
-
-
- /*
- * Q3Pick_GetNumHits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_GetNumHits(
- TQ3PickObject pick,
- unsigned long * numHits);
-
-
- /*
- * Q3Pick_EmptyHitList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_EmptyHitList(TQ3PickObject pick);
-
-
- /*
- * Q3Pick_GetPickDetailValidMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_GetPickDetailValidMask(
- TQ3PickObject pick,
- unsigned long index,
- TQ3PickDetail * pickDetailValidMask);
-
-
- /*
- * Q3Pick_GetPickDetailData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pick_GetPickDetailData(
- TQ3PickObject pick,
- unsigned long index,
- TQ3PickDetail pickDetailValue,
- void * detailData);
-
-
- /*
- * Q3HitPath_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3HitPath_EmptyData(TQ3HitPath * hitPath);
+/*
+ * Q3Pick_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Pick_GetType(TQ3PickObject pick);
+
+
+/*
+ * Q3Pick_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetData(
+ TQ3PickObject pick,
+ TQ3PickData * data);
+
+
+/*
+ * Q3Pick_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_SetData(
+ TQ3PickObject pick,
+ const TQ3PickData * data);
+
+
+/*
+ * Q3Pick_GetVertexTolerance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetVertexTolerance(
+ TQ3PickObject pick,
+ float * vertexTolerance);
+
+
+/*
+ * Q3Pick_GetEdgeTolerance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetEdgeTolerance(
+ TQ3PickObject pick,
+ float * edgeTolerance);
+
+
+/*
+ * Q3Pick_SetVertexTolerance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_SetVertexTolerance(
+ TQ3PickObject pick,
+ float vertexTolerance);
+
+
+/*
+ * Q3Pick_SetEdgeTolerance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_SetEdgeTolerance(
+ TQ3PickObject pick,
+ float edgeTolerance);
+
+
+/*
+ * Q3Pick_GetNumHits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetNumHits(
+ TQ3PickObject pick,
+ unsigned long * numHits);
+
+
+/*
+ * Q3Pick_EmptyHitList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_EmptyHitList(TQ3PickObject pick);
+
+
+/*
+ * Q3Pick_GetPickDetailValidMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetPickDetailValidMask(
+ TQ3PickObject pick,
+ unsigned long index,
+ TQ3PickDetail * pickDetailValidMask);
+
+
+/*
+ * Q3Pick_GetPickDetailData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pick_GetPickDetailData(
+ TQ3PickObject pick,
+ unsigned long index,
+ TQ3PickDetail pickDetailValue,
+ void * detailData);
+
+
+/*
+ * Q3HitPath_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3HitPath_EmptyData(TQ3HitPath * hitPath);
#endif /* CALL_NOT_IN_CARBON */
- /******************************************************************************
- ** **
- ** Window point pick methods **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Window point pick methods **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3WindowPointPick_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3PickObject)
- Q3WindowPointPick_New(const TQ3WindowPointPickData * data);
-
-
- /*
- * Q3WindowPointPick_GetPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WindowPointPick_GetPoint(
- TQ3PickObject pick,
- TQ3Point2D * point);
-
-
- /*
- * Q3WindowPointPick_SetPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WindowPointPick_SetPoint(
- TQ3PickObject pick,
- const TQ3Point2D * point);
-
-
- /*
- * Q3WindowPointPick_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WindowPointPick_GetData(
- TQ3PickObject pick,
- TQ3WindowPointPickData * data);
-
-
- /*
- * Q3WindowPointPick_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WindowPointPick_SetData(
- TQ3PickObject pick,
- const TQ3WindowPointPickData * data);
-
-
-
- /******************************************************************************
- ** **
- ** Window rect pick methods **
- ** **
- *****************************************************************************/
- /*
- * Q3WindowRectPick_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3PickObject)
- Q3WindowRectPick_New(const TQ3WindowRectPickData * data);
-
-
- /*
- * Q3WindowRectPick_GetRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WindowRectPick_GetRect(
- TQ3PickObject pick,
- TQ3Area * rect);
-
-
- /*
- * Q3WindowRectPick_SetRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WindowRectPick_SetRect(
- TQ3PickObject pick,
- const TQ3Area * rect);
-
-
- /*
- * Q3WindowRectPick_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WindowRectPick_GetData(
- TQ3PickObject pick,
- TQ3WindowRectPickData * data);
-
-
- /*
- * Q3WindowRectPick_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WindowRectPick_SetData(
- TQ3PickObject pick,
- const TQ3WindowRectPickData * data);
-
-
-
- /******************************************************************************
- ** **
- ** World ray pick methods **
- ** **
- *****************************************************************************/
- /*
- * Q3WorldRayPick_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3PickObject)
- Q3WorldRayPick_New(const TQ3WorldRayPickData * data);
-
-
- /*
- * Q3WorldRayPick_GetRay()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WorldRayPick_GetRay(
- TQ3PickObject pick,
- TQ3Ray3D * ray);
-
-
- /*
- * Q3WorldRayPick_SetRay()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WorldRayPick_SetRay(
- TQ3PickObject pick,
- const TQ3Ray3D * ray);
-
-
- /*
- * Q3WorldRayPick_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WorldRayPick_GetData(
- TQ3PickObject pick,
- TQ3WorldRayPickData * data);
-
-
- /*
- * Q3WorldRayPick_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3WorldRayPick_SetData(
- TQ3PickObject pick,
- const TQ3WorldRayPickData * data);
-
-
-
-
- /******************************************************************************
- ** **
- ** Shape Part methods **
- ** **
- *****************************************************************************/
- /*
- * Q3ShapePart_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3ShapePart_GetType(TQ3ShapePartObject shapePartObject);
-
-
- /*
- * Q3MeshPart_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3MeshPart_GetType(TQ3MeshPartObject meshPartObject);
-
-
- /*
- * Q3ShapePart_GetShape()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ShapePart_GetShape(
- TQ3ShapePartObject shapePartObject,
- TQ3ShapeObject * shapeObject);
-
-
- /*
- * Q3MeshPart_GetComponent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MeshPart_GetComponent(
- TQ3MeshPartObject meshPartObject,
- TQ3MeshComponent * component);
-
-
- /*
- * Q3MeshFacePart_GetFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MeshFacePart_GetFace(
- TQ3MeshFacePartObject meshFacePartObject,
- TQ3MeshFace * face);
-
-
- /*
- * Q3MeshEdgePart_GetEdge()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MeshEdgePart_GetEdge(
- TQ3MeshEdgePartObject meshEdgePartObject,
- TQ3MeshEdge * edge);
-
-
- /*
- * Q3MeshVertexPart_GetVertex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MeshVertexPart_GetVertex(
- TQ3MeshVertexPartObject meshVertexPartObject,
- TQ3MeshVertex * vertex);
+/*
+ * Q3WindowPointPick_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3PickObject )
+Q3WindowPointPick_New(const TQ3WindowPointPickData * data);
+
+
+/*
+ * Q3WindowPointPick_GetPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowPointPick_GetPoint(
+ TQ3PickObject pick,
+ TQ3Point2D * point);
+
+
+/*
+ * Q3WindowPointPick_SetPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowPointPick_SetPoint(
+ TQ3PickObject pick,
+ const TQ3Point2D * point);
+
+
+/*
+ * Q3WindowPointPick_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowPointPick_GetData(
+ TQ3PickObject pick,
+ TQ3WindowPointPickData * data);
+
+
+/*
+ * Q3WindowPointPick_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowPointPick_SetData(
+ TQ3PickObject pick,
+ const TQ3WindowPointPickData * data);
+
+
+
+/******************************************************************************
+ ** **
+ ** Window rect pick methods **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3WindowRectPick_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3PickObject )
+Q3WindowRectPick_New(const TQ3WindowRectPickData * data);
+
+
+/*
+ * Q3WindowRectPick_GetRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowRectPick_GetRect(
+ TQ3PickObject pick,
+ TQ3Area * rect);
+
+
+/*
+ * Q3WindowRectPick_SetRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowRectPick_SetRect(
+ TQ3PickObject pick,
+ const TQ3Area * rect);
+
+
+/*
+ * Q3WindowRectPick_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowRectPick_GetData(
+ TQ3PickObject pick,
+ TQ3WindowRectPickData * data);
+
+
+/*
+ * Q3WindowRectPick_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WindowRectPick_SetData(
+ TQ3PickObject pick,
+ const TQ3WindowRectPickData * data);
+
+
+
+/******************************************************************************
+ ** **
+ ** World ray pick methods **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3WorldRayPick_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3PickObject )
+Q3WorldRayPick_New(const TQ3WorldRayPickData * data);
+
+
+/*
+ * Q3WorldRayPick_GetRay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WorldRayPick_GetRay(
+ TQ3PickObject pick,
+ TQ3Ray3D * ray);
+
+
+/*
+ * Q3WorldRayPick_SetRay()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WorldRayPick_SetRay(
+ TQ3PickObject pick,
+ const TQ3Ray3D * ray);
+
+
+/*
+ * Q3WorldRayPick_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WorldRayPick_GetData(
+ TQ3PickObject pick,
+ TQ3WorldRayPickData * data);
+
+
+/*
+ * Q3WorldRayPick_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3WorldRayPick_SetData(
+ TQ3PickObject pick,
+ const TQ3WorldRayPickData * data);
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Shape Part methods **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ShapePart_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3ShapePart_GetType(TQ3ShapePartObject shapePartObject);
+
+
+/*
+ * Q3MeshPart_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3MeshPart_GetType(TQ3MeshPartObject meshPartObject);
+
+
+/*
+ * Q3ShapePart_GetShape()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ShapePart_GetShape(
+ TQ3ShapePartObject shapePartObject,
+ TQ3ShapeObject * shapeObject);
+
+
+/*
+ * Q3MeshPart_GetComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MeshPart_GetComponent(
+ TQ3MeshPartObject meshPartObject,
+ TQ3MeshComponent * component);
+
+
+/*
+ * Q3MeshFacePart_GetFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MeshFacePart_GetFace(
+ TQ3MeshFacePartObject meshFacePartObject,
+ TQ3MeshFace * face);
+
+
+/*
+ * Q3MeshEdgePart_GetEdge()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MeshEdgePart_GetEdge(
+ TQ3MeshEdgePartObject meshEdgePartObject,
+ TQ3MeshEdge * edge);
+
+
+/*
+ * Q3MeshVertexPart_GetVertex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MeshVertexPart_GetVertex(
+ TQ3MeshVertexPartObject meshVertexPartObject,
+ TQ3MeshVertex * vertex);
@@ -653,22 +647,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DPICK__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DPICK__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DPICK__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DRenderer.h b/include/qt/QD3DRenderer.h
index f3b32c357..08b61997b 100644
--- a/include/qt/QD3DRenderer.h
+++ b/include/qt/QD3DRenderer.h
@@ -1,18 +1,18 @@
/*
File: QD3DRenderer.h
-
+
Contains: Q3Renderer types and routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3DRENDERER__
#define __QD3DRENDERER__
@@ -56,253 +56,250 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DRENDERER__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DRENDERER__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DRENDERER__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DRENDERER__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** User Interface Things **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** User Interface Things **
+ ** **
+ *****************************************************************************/
#if TARGET_OS_MAC
- /*
- * A callback to an application's event handling code. This is needed to
- * support movable modal dialogs. The dialog's event filter calls this
- * callback with events it does not handle.
- * If an application handles the event it should return kQ3True.
- * If the application does not handle the event it must return kQ3False and
- * the dialog's event filter will pass the event to the system unhandled.
- */
- typedef CALLBACK_API_C(TQ3Boolean , TQ3MacOSDialogEventHandler)(const EventRecord * event);
- struct TQ3DialogAnchor
- {
- TQ3MacOSDialogEventHandler clientEventHandler;
- };
- typedef struct TQ3DialogAnchor TQ3DialogAnchor;
+/*
+ * A callback to an application's event handling code. This is needed to
+ * support movable modal dialogs. The dialog's event filter calls this
+ * callback with events it does not handle.
+ * If an application handles the event it should return kQ3True.
+ * If the application does not handle the event it must return kQ3False and
+ * the dialog's event filter will pass the event to the system unhandled.
+ */
+typedef CALLBACK_API_C( TQ3Boolean , TQ3MacOSDialogEventHandler )(const EventRecord * event);
+struct TQ3DialogAnchor {
+ TQ3MacOSDialogEventHandler clientEventHandler;
+};
+typedef struct TQ3DialogAnchor TQ3DialogAnchor;
#endif /* TARGET_OS_MAC */
#if TARGET_OS_WIN32
- struct TQ3DialogAnchor
- {
- HWND ownerWindow;
- };
- typedef struct TQ3DialogAnchor TQ3DialogAnchor;
+struct TQ3DialogAnchor {
+ HWND ownerWindow;
+};
+typedef struct TQ3DialogAnchor TQ3DialogAnchor;
#endif /* TARGET_OS_WIN32 */
#if TARGET_OS_UNIX
- struct TQ3DialogAnchor
- {
- void * notUsed; /* place holder */
- };
- typedef struct TQ3DialogAnchor TQ3DialogAnchor;
+struct TQ3DialogAnchor {
+ void * notUsed; /* place holder */
+};
+typedef struct TQ3DialogAnchor TQ3DialogAnchor;
#endif /* TARGET_OS_UNIX */
- /******************************************************************************
- ** **
- ** Renderer Functions **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Renderer Functions **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Renderer_NewFromType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3RendererObject)
- Q3Renderer_NewFromType(TQ3ObjectType rendererObjectType);
-
-
- /*
- * Q3Renderer_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Renderer_GetType(TQ3RendererObject renderer);
-
-
-
- /* Q3Renderer_Flush has been replaced by Q3View_Flush */
- /* Q3Renderer_Sync has been replaced by Q3View_Sync */
+/*
+ * Q3Renderer_NewFromType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3RendererObject )
+Q3Renderer_NewFromType(TQ3ObjectType rendererObjectType);
+
+
+/*
+ * Q3Renderer_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Renderer_GetType(TQ3RendererObject renderer);
+
+
+
+/* Q3Renderer_Flush has been replaced by Q3View_Flush */
+/* Q3Renderer_Sync has been replaced by Q3View_Sync */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * Q3Renderer_IsInteractive
- * Determine if this renderer is intended to be used interactively.
- */
+/*
+ * Q3Renderer_IsInteractive
+ * Determine if this renderer is intended to be used interactively.
+ */
#if CALL_NOT_IN_CARBON
- /*
- * Q3Renderer_IsInteractive()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Renderer_IsInteractive(TQ3RendererObject renderer);
-
-
-
- /*
- * Q3Renderer_HasModalConfigure
- * Determine if this renderer has a modal settings dialog.
- *
- * Q3Renderer_ModalConfigure
- * Have the renderer pop up a modal dialog box to configure its settings.
- * dialogAnchor - is platform specific data passed by the client to support
- * movable modal dialogs.
- * MacOS: this is a callback to the calling application's event handler.
- * The renderer calls this function with events not handled by the
- * settings dialog. This is necessary in order to support movable modal
- * dialogs. An application's event handler must return kQ3True if it
- * handles the event passed to the callback or kQ3False if not.
- * An application which doesn't want to support a movable modal configure
- * dialog should pass NULL for the clientEventHandler of TQ3DialogAnchor.
- * Win32: this is the HWND of the owning window (typically an application's
- * main window).
- * canceled - returns a boolean inditacating that the user canceled the
- * dialog.
- *
- */
- /*
- * Q3Renderer_HasModalConfigure()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Renderer_HasModalConfigure(TQ3RendererObject renderer);
-
-
- /*
- * Q3Renderer_ModalConfigure()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Renderer_ModalConfigure(
- TQ3RendererObject renderer,
- TQ3DialogAnchor dialogAnchor,
- TQ3Boolean * canceled);
-
-
- /*
- * Q3RendererClass_GetNickNameString
- * Allows an application to get a renderers name string, the
- * renderer is responsible for storing this in a localizable format
- * for example as a resource. This string can then be used to provide
- * a selection mechanism for an application (for example in a menu).
- *
- * If this call returns nil in the supplied string, then the App may
- * choose to use the class name for the renderer. You should always
- * try to get the name string before using the class name, since the
- * class name is not localizable.
- */
- /*
- * Q3RendererClass_GetNickNameString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RendererClass_GetNickNameString(
- TQ3ObjectType rendererClassType,
- TQ3ObjectClassNameString rendererClassString);
-
-
-
- /*
- * Q3Renderer_GetConfigurationData
- * Allows an application to collect private renderer configuration data
- * which it will then save. For example in a preference file or in a
- * style template. An application should tag this data with the
- * Renderer's object name.
- *
- * if dataBuffer is NULL actualDataSize returns the required size in
- * bytes of a data buffer large enough to store private data.
- *
- * bufferSize is the actual size of the memory block pointed to by
- * dataBuffer
- *
- * actualDataSize - on return the actual number of bytes written to the
- * buffer or if dataBuffer is NULL the required size of dataBuffer
- *
- */
- /*
- * Q3Renderer_GetConfigurationData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Renderer_GetConfigurationData(
- TQ3RendererObject renderer,
- unsigned char * dataBuffer,
- unsigned long bufferSize,
- unsigned long * actualDataSize);
-
-
- /*
- * Q3Renderer_SetConfigurationData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Renderer_SetConfigurationData(
- TQ3RendererObject renderer,
- unsigned char * dataBuffer,
- unsigned long bufferSize);
-
-
-
-
- /******************************************************************************
- ** **
- ** Interactive Renderer Specific Functions **
- ** **
- *****************************************************************************/
- /* CSG IDs attribute */
+/*
+ * Q3Renderer_IsInteractive()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Renderer_IsInteractive(TQ3RendererObject renderer);
+
+
+
+/*
+ * Q3Renderer_HasModalConfigure
+ * Determine if this renderer has a modal settings dialog.
+ *
+ * Q3Renderer_ModalConfigure
+ * Have the renderer pop up a modal dialog box to configure its settings.
+ * dialogAnchor - is platform specific data passed by the client to support
+ * movable modal dialogs.
+ * MacOS: this is a callback to the calling application's event handler.
+ * The renderer calls this function with events not handled by the
+ * settings dialog. This is necessary in order to support movable modal
+ * dialogs. An application's event handler must return kQ3True if it
+ * handles the event passed to the callback or kQ3False if not.
+ * An application which doesn't want to support a movable modal configure
+ * dialog should pass NULL for the clientEventHandler of TQ3DialogAnchor.
+ * Win32: this is the HWND of the owning window (typically an application's
+ * main window).
+ * canceled - returns a boolean inditacating that the user canceled the
+ * dialog.
+ *
+ */
+/*
+ * Q3Renderer_HasModalConfigure()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Renderer_HasModalConfigure(TQ3RendererObject renderer);
+
+
+/*
+ * Q3Renderer_ModalConfigure()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Renderer_ModalConfigure(
+ TQ3RendererObject renderer,
+ TQ3DialogAnchor dialogAnchor,
+ TQ3Boolean * canceled);
+
+
+/*
+ * Q3RendererClass_GetNickNameString
+ * Allows an application to get a renderers name string, the
+ * renderer is responsible for storing this in a localizable format
+ * for example as a resource. This string can then be used to provide
+ * a selection mechanism for an application (for example in a menu).
+ *
+ * If this call returns nil in the supplied string, then the App may
+ * choose to use the class name for the renderer. You should always
+ * try to get the name string before using the class name, since the
+ * class name is not localizable.
+ */
+/*
+ * Q3RendererClass_GetNickNameString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RendererClass_GetNickNameString(
+ TQ3ObjectType rendererClassType,
+ TQ3ObjectClassNameString rendererClassString);
+
+
+
+/*
+ * Q3Renderer_GetConfigurationData
+ * Allows an application to collect private renderer configuration data
+ * which it will then save. For example in a preference file or in a
+ * style template. An application should tag this data with the
+ * Renderer's object name.
+ *
+ * if dataBuffer is NULL actualDataSize returns the required size in
+ * bytes of a data buffer large enough to store private data.
+ *
+ * bufferSize is the actual size of the memory block pointed to by
+ * dataBuffer
+ *
+ * actualDataSize - on return the actual number of bytes written to the
+ * buffer or if dataBuffer is NULL the required size of dataBuffer
+ *
+ */
+/*
+ * Q3Renderer_GetConfigurationData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Renderer_GetConfigurationData(
+ TQ3RendererObject renderer,
+ unsigned char * dataBuffer,
+ unsigned long bufferSize,
+ unsigned long * actualDataSize);
+
+
+/*
+ * Q3Renderer_SetConfigurationData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Renderer_SetConfigurationData(
+ TQ3RendererObject renderer,
+ unsigned char * dataBuffer,
+ unsigned long bufferSize);
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Interactive Renderer Specific Functions **
+ ** **
+ *****************************************************************************/
+/* CSG IDs attribute */
#define kQ3AttributeTypeConstructiveSolidGeometryID Q3_OBJECT_TYPE('c','s','g','i')
- /* Object IDs, to be applied as attributes on geometries */
+/* Object IDs, to be applied as attributes on geometries */
#endif /* CALL_NOT_IN_CARBON */
#define kQ3SolidGeometryObjNone (-1)
@@ -311,739 +308,731 @@ extern "C" {
#define kQ3SolidGeometryObjC 2
#define kQ3SolidGeometryObjD 3
#define kQ3SolidGeometryObjE 4
- /* Possible CSG equations */
- enum TQ3CSGEquation
- {
- kQ3CSGEquationAandB = (long)0x88888888,
- kQ3CSGEquationAandnotB = 0x22222222,
- kQ3CSGEquationAanBonCad = 0x2F222F22,
- kQ3CSGEquationnotAandB = 0x44444444,
- kQ3CSGEquationnAaBorCanB = 0x74747474
- };
- typedef enum TQ3CSGEquation TQ3CSGEquation;
+/* Possible CSG equations */
+enum TQ3CSGEquation {
+ kQ3CSGEquationAandB = (long)0x88888888,
+ kQ3CSGEquationAandnotB = 0x22222222,
+ kQ3CSGEquationAanBonCad = 0x2F222F22,
+ kQ3CSGEquationnotAandB = 0x44444444,
+ kQ3CSGEquationnAaBorCanB = 0x74747474
+};
+typedef enum TQ3CSGEquation TQ3CSGEquation;
#if CALL_NOT_IN_CARBON
- /*
- * Q3InteractiveRenderer_SetCSGEquation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_SetCSGEquation(
- TQ3RendererObject renderer,
- TQ3CSGEquation equation);
-
-
- /*
- * Q3InteractiveRenderer_GetCSGEquation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_GetCSGEquation(
- TQ3RendererObject renderer,
- TQ3CSGEquation * equation);
-
-
- /*
- * Q3InteractiveRenderer_SetPreferences()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_SetPreferences(
- TQ3RendererObject renderer,
- long vendorID,
- long engineID);
-
-
- /*
- * Q3InteractiveRenderer_GetPreferences()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_GetPreferences(
- TQ3RendererObject renderer,
- long * vendorID,
- long * engineID);
-
-
- /*
- * Q3InteractiveRenderer_SetDoubleBufferBypass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_SetDoubleBufferBypass(
- TQ3RendererObject renderer,
- TQ3Boolean bypass);
-
-
- /*
- * Q3InteractiveRenderer_GetDoubleBufferBypass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_GetDoubleBufferBypass(
- TQ3RendererObject renderer,
- TQ3Boolean * bypass);
-
-
- /*
- * Q3InteractiveRenderer_SetRAVEContextHints()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_SetRAVEContextHints(
- TQ3RendererObject renderer,
- unsigned long RAVEContextHints);
-
-
- /*
- * Q3InteractiveRenderer_GetRAVEContextHints()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_GetRAVEContextHints(
- TQ3RendererObject renderer,
- unsigned long * RAVEContextHints);
-
-
- /*
- * Q3InteractiveRenderer_SetRAVETextureFilter()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_SetRAVETextureFilter(
- TQ3RendererObject renderer,
- unsigned long RAVEtextureFilterValue);
-
-
- /*
- * Q3InteractiveRenderer_GetRAVETextureFilter()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_GetRAVETextureFilter(
- TQ3RendererObject renderer,
- unsigned long * RAVEtextureFilterValue);
-
-
- /*
- * Q3InteractiveRenderer_CountRAVEDrawContexts()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_CountRAVEDrawContexts(
- TQ3RendererObject renderer,
- unsigned long * numRAVEContexts);
+/*
+ * Q3InteractiveRenderer_SetCSGEquation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_SetCSGEquation(
+ TQ3RendererObject renderer,
+ TQ3CSGEquation equation);
+
+
+/*
+ * Q3InteractiveRenderer_GetCSGEquation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_GetCSGEquation(
+ TQ3RendererObject renderer,
+ TQ3CSGEquation * equation);
+
+
+/*
+ * Q3InteractiveRenderer_SetPreferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_SetPreferences(
+ TQ3RendererObject renderer,
+ long vendorID,
+ long engineID);
+
+
+/*
+ * Q3InteractiveRenderer_GetPreferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_GetPreferences(
+ TQ3RendererObject renderer,
+ long * vendorID,
+ long * engineID);
+
+
+/*
+ * Q3InteractiveRenderer_SetDoubleBufferBypass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_SetDoubleBufferBypass(
+ TQ3RendererObject renderer,
+ TQ3Boolean bypass);
+
+
+/*
+ * Q3InteractiveRenderer_GetDoubleBufferBypass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_GetDoubleBufferBypass(
+ TQ3RendererObject renderer,
+ TQ3Boolean * bypass);
+
+
+/*
+ * Q3InteractiveRenderer_SetRAVEContextHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_SetRAVEContextHints(
+ TQ3RendererObject renderer,
+ unsigned long RAVEContextHints);
+
+
+/*
+ * Q3InteractiveRenderer_GetRAVEContextHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_GetRAVEContextHints(
+ TQ3RendererObject renderer,
+ unsigned long * RAVEContextHints);
+
+
+/*
+ * Q3InteractiveRenderer_SetRAVETextureFilter()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_SetRAVETextureFilter(
+ TQ3RendererObject renderer,
+ unsigned long RAVEtextureFilterValue);
+
+
+/*
+ * Q3InteractiveRenderer_GetRAVETextureFilter()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_GetRAVETextureFilter(
+ TQ3RendererObject renderer,
+ unsigned long * RAVEtextureFilterValue);
+
+
+/*
+ * Q3InteractiveRenderer_CountRAVEDrawContexts()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_CountRAVEDrawContexts(
+ TQ3RendererObject renderer,
+ unsigned long * numRAVEContexts);
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(void , TQ3RaveDestroyCallback)(TQ3RendererObject renderer);
+typedef CALLBACK_API_C( void , TQ3RaveDestroyCallback )(TQ3RendererObject renderer);
#if CALL_NOT_IN_CARBON
- /*
- * Q3InteractiveRenderer_GetRAVEDrawContexts()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InteractiveRenderer_GetRAVEDrawContexts(
- TQ3RendererObject renderer,
- TQADrawContext ** raveDrawContextList,
- TQAEngine ** raveDrawingEnginesList,
- unsigned long * numRAVEContexts,
- TQ3RaveDestroyCallback raveDestroyCallback);
-
-
-
-
-
- /******************************************************************************
- ** **
- ** Renderer View Tools **
- ** **
- ** You may only call these methods from a plug-in **
- ** **
- *****************************************************************************/
- /*
- * Call by a renderer to call the user "idle" method, with progress
- * information.
- *
- * Pass in (view, 0, n) on first call
- * Pass in (view, 1..n-1, n) during rendering
- * Pass in (view, n, n) upon completion
- *
- * Note: The user must have supplied an idleProgress method with
- * Q3XView_SetIdleProgressMethod. Otherwise, the generic idle method is
- * called with no progress data. e.g. the Q3View_SetIdleMethod method
- * is called instead. (current and final are ignored, essentially.)
- *
- * Returns kQ3Failure if rendering is cancelled.
- */
- /*
- * Q3XView_IdleProgress()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XView_IdleProgress(
- TQ3ViewObject view,
- unsigned long current,
- unsigned long completed);
-
-
- /*
- * Called by an asynchronous renderer when it completes a frame.
- */
- /*
- * Q3XView_EndFrame()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XView_EndFrame(TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** Renderer AttributeSet Tools **
- ** **
- ** You may only call these methods from a plug-in **
- ** **
- *****************************************************************************/
- /*
- * Faster access to geometry attribute sets.
- *
- * Returns pointer to INTERNAL data structure for elements and attributes
- * in an attributeSet, or NULL if no attribute exists.
- *
- * For attributes of type kQ3AttributeType..., the internal data structure
- * is identical to the data structure used in Q3AttributeSet_Add.
- */
- /*
- * Q3XAttributeSet_GetPointer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void *)
- Q3XAttributeSet_GetPointer(
- TQ3AttributeSet attributeSet,
- TQ3AttributeType attributeType);
+/*
+ * Q3InteractiveRenderer_GetRAVEDrawContexts()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InteractiveRenderer_GetRAVEDrawContexts(
+ TQ3RendererObject renderer,
+ TQADrawContext ** raveDrawContextList,
+ TQAEngine ** raveDrawingEnginesList,
+ unsigned long * numRAVEContexts,
+ TQ3RaveDestroyCallback raveDestroyCallback);
+
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Renderer View Tools **
+ ** **
+ ** You may only call these methods from a plug-in **
+ ** **
+ *****************************************************************************/
+/*
+ * Call by a renderer to call the user "idle" method, with progress
+ * information.
+ *
+ * Pass in (view, 0, n) on first call
+ * Pass in (view, 1..n-1, n) during rendering
+ * Pass in (view, n, n) upon completion
+ *
+ * Note: The user must have supplied an idleProgress method with
+ * Q3XView_SetIdleProgressMethod. Otherwise, the generic idle method is
+ * called with no progress data. e.g. the Q3View_SetIdleMethod method
+ * is called instead. (current and final are ignored, essentially.)
+ *
+ * Returns kQ3Failure if rendering is cancelled.
+ */
+/*
+ * Q3XView_IdleProgress()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XView_IdleProgress(
+ TQ3ViewObject view,
+ unsigned long current,
+ unsigned long completed);
+
+
+/*
+ * Called by an asynchronous renderer when it completes a frame.
+ */
+/*
+ * Q3XView_EndFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XView_EndFrame(TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** Renderer AttributeSet Tools **
+ ** **
+ ** You may only call these methods from a plug-in **
+ ** **
+ *****************************************************************************/
+/*
+ * Faster access to geometry attribute sets.
+ *
+ * Returns pointer to INTERNAL data structure for elements and attributes
+ * in an attributeSet, or NULL if no attribute exists.
+ *
+ * For attributes of type kQ3AttributeType..., the internal data structure
+ * is identical to the data structure used in Q3AttributeSet_Add.
+ */
+/*
+ * Q3XAttributeSet_GetPointer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void * )
+Q3XAttributeSet_GetPointer(
+ TQ3AttributeSet attributeSet,
+ TQ3AttributeType attributeType);
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kQ3XAttributeMaskNone = 0L,
- kQ3XAttributeMaskSurfaceUV = 1 << (kQ3AttributeTypeSurfaceUV - 1),
- kQ3XAttributeMaskShadingUV = 1 << (kQ3AttributeTypeShadingUV - 1),
- kQ3XAttributeMaskNormal = 1 << (kQ3AttributeTypeNormal - 1),
- kQ3XAttributeMaskAmbientCoefficient = 1 << (kQ3AttributeTypeAmbientCoefficient - 1),
- kQ3XAttributeMaskDiffuseColor = 1 << (kQ3AttributeTypeDiffuseColor - 1),
- kQ3XAttributeMaskSpecularColor = 1 << (kQ3AttributeTypeSpecularColor - 1),
- kQ3XAttributeMaskSpecularControl = 1 << (kQ3AttributeTypeSpecularControl - 1),
- kQ3XAttributeMaskTransparencyColor = 1 << (kQ3AttributeTypeTransparencyColor - 1),
- kQ3XAttributeMaskSurfaceTangent = 1 << (kQ3AttributeTypeSurfaceTangent - 1),
- kQ3XAttributeMaskHighlightState = 1 << (kQ3AttributeTypeHighlightState - 1),
- kQ3XAttributeMaskSurfaceShader = 1 << (kQ3AttributeTypeSurfaceShader - 1),
- kQ3XAttributeMaskCustomAttribute = (long)0x80000000,
- kQ3XAttributeMaskAll = 0x800007FF,
- kQ3XAttributeMaskInherited = 0x03FF,
- kQ3XAttributeMaskInterpolated = kQ3XAttributeMaskSurfaceUV | kQ3XAttributeMaskShadingUV | kQ3XAttributeMaskNormal | kQ3XAttributeMaskAmbientCoefficient | kQ3XAttributeMaskDiffuseColor | kQ3XAttributeMaskSpecularColor | kQ3XAttributeMaskSpecularControl | kQ3XAttributeMaskTransparencyColor | kQ3XAttributeMaskSurfaceTangent
- };
-
-
- typedef unsigned long TQ3XAttributeMask;
+enum {
+ kQ3XAttributeMaskNone = 0L,
+ kQ3XAttributeMaskSurfaceUV = 1 << (kQ3AttributeTypeSurfaceUV - 1),
+ kQ3XAttributeMaskShadingUV = 1 << (kQ3AttributeTypeShadingUV - 1),
+ kQ3XAttributeMaskNormal = 1 << (kQ3AttributeTypeNormal - 1),
+ kQ3XAttributeMaskAmbientCoefficient = 1 << (kQ3AttributeTypeAmbientCoefficient - 1),
+ kQ3XAttributeMaskDiffuseColor = 1 << (kQ3AttributeTypeDiffuseColor - 1),
+ kQ3XAttributeMaskSpecularColor = 1 << (kQ3AttributeTypeSpecularColor - 1),
+ kQ3XAttributeMaskSpecularControl = 1 << (kQ3AttributeTypeSpecularControl - 1),
+ kQ3XAttributeMaskTransparencyColor = 1 << (kQ3AttributeTypeTransparencyColor - 1),
+ kQ3XAttributeMaskSurfaceTangent = 1 << (kQ3AttributeTypeSurfaceTangent - 1),
+ kQ3XAttributeMaskHighlightState = 1 << (kQ3AttributeTypeHighlightState - 1),
+ kQ3XAttributeMaskSurfaceShader = 1 << (kQ3AttributeTypeSurfaceShader - 1),
+ kQ3XAttributeMaskCustomAttribute = (long)0x80000000,
+ kQ3XAttributeMaskAll = 0x800007FF,
+ kQ3XAttributeMaskInherited = 0x03FF,
+ kQ3XAttributeMaskInterpolated = kQ3XAttributeMaskSurfaceUV | kQ3XAttributeMaskShadingUV | kQ3XAttributeMaskNormal | kQ3XAttributeMaskAmbientCoefficient | kQ3XAttributeMaskDiffuseColor | kQ3XAttributeMaskSpecularColor | kQ3XAttributeMaskSpecularControl | kQ3XAttributeMaskTransparencyColor | kQ3XAttributeMaskSurfaceTangent
+};
+
+
+typedef unsigned long TQ3XAttributeMask;
#if CALL_NOT_IN_CARBON
- /*
- * Q3XAttributeSet_GetMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3XAttributeMask)
- Q3XAttributeSet_GetMask(TQ3AttributeSet attributeSet);
-
-
-
- /******************************************************************************
- ** **
- ** Renderer Draw Context Tools **
- ** **
- *****************************************************************************/
+/*
+ * Q3XAttributeSet_GetMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3XAttributeMask )
+Q3XAttributeSet_GetMask(TQ3AttributeSet attributeSet);
+
+
+
+/******************************************************************************
+ ** **
+ ** Renderer Draw Context Tools **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- typedef struct OpaqueTQ3XDrawRegion* TQ3XDrawRegion;
+typedef struct OpaqueTQ3XDrawRegion* TQ3XDrawRegion;
#if CALL_NOT_IN_CARBON
- /*
- * Q3XDrawContext_GetDrawRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_GetDrawRegion(
- TQ3DrawContextObject drawContext,
- TQ3XDrawRegion * drawRegion);
+/*
+ * Q3XDrawContext_GetDrawRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_GetDrawRegion(
+ TQ3DrawContextObject drawContext,
+ TQ3XDrawRegion * drawRegion);
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3XDrawContextValidationMasks
- {
- kQ3XDrawContextValidationClearFlags = 0x00000000,
- kQ3XDrawContextValidationDoubleBuffer = 1 << 0,
- kQ3XDrawContextValidationShader = 1 << 1,
- kQ3XDrawContextValidationClearFunction = 1 << 2,
- kQ3XDrawContextValidationActiveBuffer = 1 << 3,
- kQ3XDrawContextValidationInternalOffScreen = 1 << 4,
- kQ3XDrawContextValidationPane = 1 << 5,
- kQ3XDrawContextValidationMask = 1 << 6,
- kQ3XDrawContextValidationDevice = 1 << 7,
- kQ3XDrawContextValidationWindow = 1 << 8,
- kQ3XDrawContextValidationWindowSize = 1 << 9,
- kQ3XDrawContextValidationWindowClip = 1 << 10,
- kQ3XDrawContextValidationWindowPosition = 1 << 11,
- kQ3XDrawContextValidationPlatformAttributes = 1 << 12,
- kQ3XDrawContextValidationForegroundShader = 1 << 13,
- kQ3XDrawContextValidationBackgroundShader = 1 << 14,
- kQ3XDrawContextValidationColorPalette = 1 << 15,
- kQ3XDrawContextValidationAll = (long)0xFFFFFFFF
- };
- typedef enum TQ3XDrawContextValidationMasks TQ3XDrawContextValidationMasks;
-
- typedef unsigned long TQ3XDrawContextValidation;
+enum TQ3XDrawContextValidationMasks {
+ kQ3XDrawContextValidationClearFlags = 0x00000000,
+ kQ3XDrawContextValidationDoubleBuffer = 1 << 0,
+ kQ3XDrawContextValidationShader = 1 << 1,
+ kQ3XDrawContextValidationClearFunction = 1 << 2,
+ kQ3XDrawContextValidationActiveBuffer = 1 << 3,
+ kQ3XDrawContextValidationInternalOffScreen = 1 << 4,
+ kQ3XDrawContextValidationPane = 1 << 5,
+ kQ3XDrawContextValidationMask = 1 << 6,
+ kQ3XDrawContextValidationDevice = 1 << 7,
+ kQ3XDrawContextValidationWindow = 1 << 8,
+ kQ3XDrawContextValidationWindowSize = 1 << 9,
+ kQ3XDrawContextValidationWindowClip = 1 << 10,
+ kQ3XDrawContextValidationWindowPosition = 1 << 11,
+ kQ3XDrawContextValidationPlatformAttributes = 1 << 12,
+ kQ3XDrawContextValidationForegroundShader = 1 << 13,
+ kQ3XDrawContextValidationBackgroundShader = 1 << 14,
+ kQ3XDrawContextValidationColorPalette = 1 << 15,
+ kQ3XDrawContextValidationAll = (long)0xFFFFFFFF
+};
+typedef enum TQ3XDrawContextValidationMasks TQ3XDrawContextValidationMasks;
+
+typedef unsigned long TQ3XDrawContextValidation;
#if CALL_NOT_IN_CARBON
- /*
- * Q3XDrawContext_ClearValidationFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_ClearValidationFlags(TQ3DrawContextObject drawContext);
-
-
- /*
- * Q3XDrawContext_GetValidationFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawContext_GetValidationFlags(
- TQ3DrawContextObject drawContext,
- TQ3XDrawContextValidation * validationFlags);
-
-
-
- /******************************************************************************
- ** **
- ** Renderer Draw Region Tools **
- ** **
- *****************************************************************************/
+/*
+ * Q3XDrawContext_ClearValidationFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_ClearValidationFlags(TQ3DrawContextObject drawContext);
+
+
+/*
+ * Q3XDrawContext_GetValidationFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawContext_GetValidationFlags(
+ TQ3DrawContextObject drawContext,
+ TQ3XDrawContextValidation * validationFlags);
+
+
+
+/******************************************************************************
+ ** **
+ ** Renderer Draw Region Tools **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3XDevicePixelType
- {
- /* These do not indicate byte ordering */
- kQ3XDevicePixelTypeInvalid = 0, /* Unknown, un-initialized type */
- kQ3XDevicePixelTypeRGB32 = 1, /* Alpha:8 (ignored), R:8, G:8, B:8 */
- kQ3XDevicePixelTypeARGB32 = 2, /* Alpha:8, R:8, G:8, B:8 */
- kQ3XDevicePixelTypeRGB24 = 3, /* 24 bits/pixel, R:8, G:8, B:8 */
- kQ3XDevicePixelTypeRGB16 = 4, /* Alpha:1 (ignored), R:5, G:5, B:5 */
- kQ3XDevicePixelTypeARGB16 = 5, /* Alpha:1, R:5, G:5, B:5 */
- kQ3XDevicePixelTypeRGB16_565 = 6, /* 16 bits/pixel, R:5, G:6, B:5 */
- kQ3XDevicePixelTypeIndexed8 = 7, /* 8-bit color table index */
- kQ3XDevicePixelTypeIndexed4 = 8, /* 4-bit color table index */
- kQ3XDevicePixelTypeIndexed2 = 9, /* 2-bit color table index */
- kQ3XDevicePixelTypeIndexed1 = 10 /* 1-bit color table index */
- };
- typedef enum TQ3XDevicePixelType TQ3XDevicePixelType;
-
- enum TQ3XClipMaskState
- {
- kQ3XClipMaskFullyExposed = 0,
- kQ3XClipMaskPartiallyExposed = 1,
- kQ3XClipMaskNotExposed = 2
- };
- typedef enum TQ3XClipMaskState TQ3XClipMaskState;
-
- struct TQ3XColorDescriptor
- {
- unsigned long redShift;
- unsigned long redMask;
- unsigned long greenShift;
- unsigned long greenMask;
- unsigned long blueShift;
- unsigned long blueMask;
- unsigned long alphaShift;
- unsigned long alphaMask;
- };
- typedef struct TQ3XColorDescriptor TQ3XColorDescriptor;
- struct TQ3XDrawRegionDescriptor
- {
- unsigned long width;
- unsigned long height;
- unsigned long rowBytes;
- unsigned long pixelSize;
- TQ3XDevicePixelType pixelType;
- TQ3XColorDescriptor colorDescriptor;
- TQ3Endian bitOrder;
- TQ3Endian byteOrder;
- TQ3Bitmap * clipMask;
- };
- typedef struct TQ3XDrawRegionDescriptor TQ3XDrawRegionDescriptor;
- enum TQ3XDrawRegionServicesMasks
- {
- kQ3XDrawRegionServicesNoneFlag = 0L,
- kQ3XDrawRegionServicesClearFlag = 1 << 0,
- kQ3XDrawRegionServicesDontLockDDSurfaceFlag = 1 << 1
- };
- typedef enum TQ3XDrawRegionServicesMasks TQ3XDrawRegionServicesMasks;
-
-
- typedef unsigned long TQ3XDrawRegionServices;
- typedef CALLBACK_API_C(void , TQ3XDrawRegionRendererPrivateDeleteMethod)(void * rendererPrivate);
+enum TQ3XDevicePixelType {
+ /* These do not indicate byte ordering */
+ kQ3XDevicePixelTypeInvalid = 0, /* Unknown, un-initialized type */
+ kQ3XDevicePixelTypeRGB32 = 1, /* Alpha:8 (ignored), R:8, G:8, B:8 */
+ kQ3XDevicePixelTypeARGB32 = 2, /* Alpha:8, R:8, G:8, B:8 */
+ kQ3XDevicePixelTypeRGB24 = 3, /* 24 bits/pixel, R:8, G:8, B:8 */
+ kQ3XDevicePixelTypeRGB16 = 4, /* Alpha:1 (ignored), R:5, G:5, B:5 */
+ kQ3XDevicePixelTypeARGB16 = 5, /* Alpha:1, R:5, G:5, B:5 */
+ kQ3XDevicePixelTypeRGB16_565 = 6, /* 16 bits/pixel, R:5, G:6, B:5 */
+ kQ3XDevicePixelTypeIndexed8 = 7, /* 8-bit color table index */
+ kQ3XDevicePixelTypeIndexed4 = 8, /* 4-bit color table index */
+ kQ3XDevicePixelTypeIndexed2 = 9, /* 2-bit color table index */
+ kQ3XDevicePixelTypeIndexed1 = 10 /* 1-bit color table index */
+};
+typedef enum TQ3XDevicePixelType TQ3XDevicePixelType;
+
+enum TQ3XClipMaskState {
+ kQ3XClipMaskFullyExposed = 0,
+ kQ3XClipMaskPartiallyExposed = 1,
+ kQ3XClipMaskNotExposed = 2
+};
+typedef enum TQ3XClipMaskState TQ3XClipMaskState;
+
+struct TQ3XColorDescriptor {
+ unsigned long redShift;
+ unsigned long redMask;
+ unsigned long greenShift;
+ unsigned long greenMask;
+ unsigned long blueShift;
+ unsigned long blueMask;
+ unsigned long alphaShift;
+ unsigned long alphaMask;
+};
+typedef struct TQ3XColorDescriptor TQ3XColorDescriptor;
+struct TQ3XDrawRegionDescriptor {
+ unsigned long width;
+ unsigned long height;
+ unsigned long rowBytes;
+ unsigned long pixelSize;
+ TQ3XDevicePixelType pixelType;
+ TQ3XColorDescriptor colorDescriptor;
+ TQ3Endian bitOrder;
+ TQ3Endian byteOrder;
+ TQ3Bitmap * clipMask;
+};
+typedef struct TQ3XDrawRegionDescriptor TQ3XDrawRegionDescriptor;
+enum TQ3XDrawRegionServicesMasks {
+ kQ3XDrawRegionServicesNoneFlag = 0L,
+ kQ3XDrawRegionServicesClearFlag = 1 << 0,
+ kQ3XDrawRegionServicesDontLockDDSurfaceFlag = 1 << 1
+};
+typedef enum TQ3XDrawRegionServicesMasks TQ3XDrawRegionServicesMasks;
+
+
+typedef unsigned long TQ3XDrawRegionServices;
+typedef CALLBACK_API_C( void , TQ3XDrawRegionRendererPrivateDeleteMethod )(void * rendererPrivate);
#if CALL_NOT_IN_CARBON
- /*
- * Q3XDrawRegion_GetDeviceScaleX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetDeviceScaleX(
- TQ3XDrawRegion drawRegion,
- float * deviceScaleX);
-
-
- /*
- * Q3XDrawRegion_GetDeviceScaleY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetDeviceScaleY(
- TQ3XDrawRegion drawRegion,
- float * deviceScaleY);
-
-
-
- /*
- * Q3XDrawRegion_GetDeviceOffsetX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetDeviceOffsetX(
- TQ3XDrawRegion drawRegion,
- float * deviceOffsetX);
-
-
- /*
- * Q3XDrawRegion_GetDeviceOffsetY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetDeviceOffsetY(
- TQ3XDrawRegion drawRegion,
- float * deviceOffsetX);
-
-
-
- /*
- * Q3XDrawRegion_GetWindowScaleX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetWindowScaleX(
- TQ3XDrawRegion drawRegion,
- float * windowScaleX);
-
-
- /*
- * Q3XDrawRegion_GetWindowScaleY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetWindowScaleY(
- TQ3XDrawRegion drawRegion,
- float * windowScaleY);
-
-
-
- /*
- * Q3XDrawRegion_GetWindowOffsetX()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetWindowOffsetX(
- TQ3XDrawRegion drawRegion,
- float * windowOffsetX);
-
-
- /*
- * Q3XDrawRegion_GetWindowOffsetY()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetWindowOffsetY(
- TQ3XDrawRegion drawRegion,
- float * windowOffsetY);
-
-
- /*
- * Q3XDrawRegion_IsActive()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_IsActive(
- TQ3XDrawRegion drawRegion,
- TQ3Boolean * isActive);
-
-
-
- /*
- * Q3XDrawRegion_GetNextRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetNextRegion(
- TQ3XDrawRegion drawRegion,
- TQ3XDrawRegion * nextDrawRegion);
-
-
- /*
- * One of the next two functions must be called before using a draw region
- */
- /*
- * Use this Start function if double buffering/image access services from the
- * Draw Context are not needed, you may still request clear for example
- */
- /*
- * Q3XDrawRegion_Start()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_Start(
- TQ3XDrawRegion drawRegion,
- TQ3XDrawRegionServices services,
- TQ3XDrawRegionDescriptor ** descriptor);
-
-
- /*
- * Use this Start function if double buffering or image access services from
- * the Draw Context are needed.
- */
- /*
- * Q3XDrawRegion_StartAccessToImageBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_StartAccessToImageBuffer(
- TQ3XDrawRegion drawRegion,
- TQ3XDrawRegionServices services,
- TQ3XDrawRegionDescriptor ** descriptor,
- void ** image);
-
-
- /*
- * This function is used to indicate that access to a DrawRegion is ended.
- */
- /*
- * Q3XDrawRegion_End()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_End(TQ3XDrawRegion drawRegion);
-
-
- /*
- * Q3XDrawRegion_GetDeviceTransform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetDeviceTransform(
- TQ3XDrawRegion drawRegion,
- TQ3Matrix4x4 ** deviceTransform);
-
-
- /*
- * Q3XDrawRegion_GetClipFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetClipFlags(
- TQ3XDrawRegion drawRegion,
- TQ3XClipMaskState * clipMaskState);
-
-
- /*
- * Q3XDrawRegion_GetClipMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetClipMask(
- TQ3XDrawRegion drawRegion,
- TQ3Bitmap ** clipMask);
+/*
+ * Q3XDrawRegion_GetDeviceScaleX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetDeviceScaleX(
+ TQ3XDrawRegion drawRegion,
+ float * deviceScaleX);
+
+
+/*
+ * Q3XDrawRegion_GetDeviceScaleY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetDeviceScaleY(
+ TQ3XDrawRegion drawRegion,
+ float * deviceScaleY);
+
+
+
+/*
+ * Q3XDrawRegion_GetDeviceOffsetX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetDeviceOffsetX(
+ TQ3XDrawRegion drawRegion,
+ float * deviceOffsetX);
+
+
+/*
+ * Q3XDrawRegion_GetDeviceOffsetY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetDeviceOffsetY(
+ TQ3XDrawRegion drawRegion,
+ float * deviceOffsetX);
+
+
+
+/*
+ * Q3XDrawRegion_GetWindowScaleX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetWindowScaleX(
+ TQ3XDrawRegion drawRegion,
+ float * windowScaleX);
+
+
+/*
+ * Q3XDrawRegion_GetWindowScaleY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetWindowScaleY(
+ TQ3XDrawRegion drawRegion,
+ float * windowScaleY);
+
+
+
+/*
+ * Q3XDrawRegion_GetWindowOffsetX()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetWindowOffsetX(
+ TQ3XDrawRegion drawRegion,
+ float * windowOffsetX);
+
+
+/*
+ * Q3XDrawRegion_GetWindowOffsetY()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetWindowOffsetY(
+ TQ3XDrawRegion drawRegion,
+ float * windowOffsetY);
+
+
+/*
+ * Q3XDrawRegion_IsActive()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_IsActive(
+ TQ3XDrawRegion drawRegion,
+ TQ3Boolean * isActive);
+
+
+
+/*
+ * Q3XDrawRegion_GetNextRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetNextRegion(
+ TQ3XDrawRegion drawRegion,
+ TQ3XDrawRegion * nextDrawRegion);
+
+
+/*
+ * One of the next two functions must be called before using a draw region
+ */
+/*
+ * Use this Start function if double buffering/image access services from the
+ * Draw Context are not needed, you may still request clear for example
+ */
+/*
+ * Q3XDrawRegion_Start()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_Start(
+ TQ3XDrawRegion drawRegion,
+ TQ3XDrawRegionServices services,
+ TQ3XDrawRegionDescriptor ** descriptor);
+
+
+/*
+ * Use this Start function if double buffering or image access services from
+ * the Draw Context are needed.
+ */
+/*
+ * Q3XDrawRegion_StartAccessToImageBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_StartAccessToImageBuffer(
+ TQ3XDrawRegion drawRegion,
+ TQ3XDrawRegionServices services,
+ TQ3XDrawRegionDescriptor ** descriptor,
+ void ** image);
+
+
+/*
+ * This function is used to indicate that access to a DrawRegion is ended.
+ */
+/*
+ * Q3XDrawRegion_End()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_End(TQ3XDrawRegion drawRegion);
+
+
+/*
+ * Q3XDrawRegion_GetDeviceTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetDeviceTransform(
+ TQ3XDrawRegion drawRegion,
+ TQ3Matrix4x4 ** deviceTransform);
+
+
+/*
+ * Q3XDrawRegion_GetClipFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetClipFlags(
+ TQ3XDrawRegion drawRegion,
+ TQ3XClipMaskState * clipMaskState);
+
+
+/*
+ * Q3XDrawRegion_GetClipMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetClipMask(
+ TQ3XDrawRegion drawRegion,
+ TQ3Bitmap ** clipMask);
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_OS_MAC
#if CALL_NOT_IN_CARBON
- /*
- * Q3XDrawRegion_GetClipRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetClipRegion(
- TQ3XDrawRegion drawRegion,
- RgnHandle * rgnHandle);
-
-
- /*
- * Q3XDrawRegion_GetGDHandle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetGDHandle(
- TQ3XDrawRegion drawRegion,
- GDHandle * gdHandle);
+/*
+ * Q3XDrawRegion_GetClipRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetClipRegion(
+ TQ3XDrawRegion drawRegion,
+ RgnHandle * rgnHandle);
+
+
+/*
+ * Q3XDrawRegion_GetGDHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetGDHandle(
+ TQ3XDrawRegion drawRegion,
+ GDHandle * gdHandle);
#endif /* CALL_NOT_IN_CARBON */
@@ -1051,747 +1040,720 @@ extern "C" {
#endif /* TARGET_OS_MAC */
#if CALL_NOT_IN_CARBON
- /*
- * Q3XDrawRegion_GetRendererPrivate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetRendererPrivate(
- TQ3XDrawRegion drawRegion,
- void ** rendererPrivate);
-
-
- /*
- * Q3XDrawRegion_SetRendererPrivate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_SetRendererPrivate(
- TQ3XDrawRegion drawRegion,
- const void * rendererPrivate,
- TQ3XDrawRegionRendererPrivateDeleteMethod deleteMethod);
-
-
- /*
- * Q3XDrawRegion_SetUseDefaultRendererFlag()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_SetUseDefaultRendererFlag(
- TQ3XDrawRegion drawRegion,
- TQ3Boolean flag);
-
-
- /*
- * Q3XDrawRegion_GetUseDefaultRendererFlag()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XDrawRegion_GetUseDefaultRendererFlag(
- TQ3XDrawRegion drawRegion,
- TQ3Boolean * useDefaultRenderingFlag);
-
-
-
-
- /******************************************************************************
- ** **
- ** Renderer Class Methods **
- ** **
- *****************************************************************************/
- /*
- * Methods from Object
- * kQ3XMethodTypeObjectClassRegister
- * kQ3XMethodTypeObjectClassUnregister
- * kQ3XMethodTypeObjectNew
- * kQ3XMethodTypeObjectDelete
- * kQ3XMethodTypeObjectRead
- * kQ3XMethodTypeObjectTraverse
- * kQ3XMethodTypeObjectWrite
- *
- * Methods from Shared
- * kQ3MethodTypeSharedEdited
- *
- * Renderer Methods
- *
- * The renderer methods should be implemented according to the type
- * of renderer being written.
- *
- * For the purposes of documentation, there are two basic types of
- * renderers:
- *
- * Interactive
- * Interactive Renderer
- * WireFrame Renderer
- *
- * Deferred
- * a ray-tracer
- * painter's algorithm renderer (cached in a BSP triangle tree)
- * an artistic renderer (simulates a pencil drawing, etc.)
- *
- * The main difference is how each renderer handles incoming state and
- * geometry.
- *
- * An interactive renderer immediately transforms, culls, and shades
- * incoming geometry and performs rasterization. For example, in a
- * single-buffered WireFrame renderer, you will see a new triangle
- * immediately after Q3Triangle_Draw (if it's visible, of course).
- *
- * A deferred renderer caches the view state and each geometry,
- * converting into any internal queue of drawing commands. Rasterization
- * is not actually performed until all data has been submitted.
- *
- * For example, a ray-tracer may not rasterize anything until the
- * end of the rendering loop, or until an EndFrame call is made.
- */
-
- /******************************************************************************
- ** **
- ** Renderer User Interface Methods **
- ** **
- *****************************************************************************/
- /*
- * kQ3XMethodTypeRendererIsInteractive
- *
- * There is no actual method with this - the metahandler simply returns
- * "(TQ3XFunctionPointer)kQ3True" for this "method" if the renderer is
- * intended to be used in interactive settings, and
- * "(TQ3XFunctionPointer)kQ3False" otherwise.
- *
- * If neither value is specified in the metahandler, the renderer
- * is *assumed to be non-interactive*!!!
- *
- * OPTIONAL
- */
+/*
+ * Q3XDrawRegion_GetRendererPrivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetRendererPrivate(
+ TQ3XDrawRegion drawRegion,
+ void ** rendererPrivate);
+
+
+/*
+ * Q3XDrawRegion_SetRendererPrivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_SetRendererPrivate(
+ TQ3XDrawRegion drawRegion,
+ const void * rendererPrivate,
+ TQ3XDrawRegionRendererPrivateDeleteMethod deleteMethod);
+
+
+/*
+ * Q3XDrawRegion_SetUseDefaultRendererFlag()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_SetUseDefaultRendererFlag(
+ TQ3XDrawRegion drawRegion,
+ TQ3Boolean flag);
+
+
+/*
+ * Q3XDrawRegion_GetUseDefaultRendererFlag()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XDrawRegion_GetUseDefaultRendererFlag(
+ TQ3XDrawRegion drawRegion,
+ TQ3Boolean * useDefaultRenderingFlag);
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Renderer Class Methods **
+ ** **
+ *****************************************************************************/
+/*
+ * Methods from Object
+ * kQ3XMethodTypeObjectClassRegister
+ * kQ3XMethodTypeObjectClassUnregister
+ * kQ3XMethodTypeObjectNew
+ * kQ3XMethodTypeObjectDelete
+ * kQ3XMethodTypeObjectRead
+ * kQ3XMethodTypeObjectTraverse
+ * kQ3XMethodTypeObjectWrite
+ *
+ * Methods from Shared
+ * kQ3MethodTypeSharedEdited
+ *
+ * Renderer Methods
+ *
+ * The renderer methods should be implemented according to the type
+ * of renderer being written.
+ *
+ * For the purposes of documentation, there are two basic types of
+ * renderers:
+ *
+ * Interactive
+ * Interactive Renderer
+ * WireFrame Renderer
+ *
+ * Deferred
+ * a ray-tracer
+ * painter's algorithm renderer (cached in a BSP triangle tree)
+ * an artistic renderer (simulates a pencil drawing, etc.)
+ *
+ * The main difference is how each renderer handles incoming state and
+ * geometry.
+ *
+ * An interactive renderer immediately transforms, culls, and shades
+ * incoming geometry and performs rasterization. For example, in a
+ * single-buffered WireFrame renderer, you will see a new triangle
+ * immediately after Q3Triangle_Draw (if it's visible, of course).
+ *
+ * A deferred renderer caches the view state and each geometry,
+ * converting into any internal queue of drawing commands. Rasterization
+ * is not actually performed until all data has been submitted.
+ *
+ * For example, a ray-tracer may not rasterize anything until the
+ * end of the rendering loop, or until an EndFrame call is made.
+ */
+
+/******************************************************************************
+ ** **
+ ** Renderer User Interface Methods **
+ ** **
+ *****************************************************************************/
+/*
+ * kQ3XMethodTypeRendererIsInteractive
+ *
+ * There is no actual method with this - the metahandler simply returns
+ * "(TQ3XFunctionPointer)kQ3True" for this "method" if the renderer is
+ * intended to be used in interactive settings, and
+ * "(TQ3XFunctionPointer)kQ3False" otherwise.
+ *
+ * If neither value is specified in the metahandler, the renderer
+ * is *assumed to be non-interactive*!!!
+ *
+ * OPTIONAL
+ */
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kQ3XMethodTypeRendererIsInteractive = FOUR_CHAR_CODE('isin')
- };
-
-
- /*
- * TQ3XRendererModalConfigureMethod
- *
- * This method should pop up a modal dialog to edit the renderer settings
- * found in the renderer private.
- *
- * dialogAnchor - is platform specific data passed by the client to support
- * movable modal dialogs.
- * MacOS: this is a callback to the calling application's event handler.
- * The renderer calls this function with events not handled by the
- * settings dialog. This is necessary in order to support movable modal
- * dialogs. An application's event handler must return kQ3True if it
- * handles the event passed to the callback or kQ3False if not.
- * An application which doesn't want to support a movable modal configure
- * dialog should pass NULL for the clientEventHandler of TQ3DialogAnchor.
- * A renderer should implement a non-movable style dialog in that case.
- * Win32: this is the HWND of the owning window (typically an application's
- * main window). (Win32 application modal dialogs are always movable.)
- * canceled - returns a boolean inditacating that the user canceled the
- * dialog.
- *
- * OPTIONAL
- */
- enum
- {
- kQ3XMethodTypeRendererModalConfigure = FOUR_CHAR_CODE('rdmc')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererModalConfigureMethod)(TQ3RendererObject renderer, TQ3DialogAnchor dialogAnchor, TQ3Boolean *canceled, void *rendererPrivate);
- /*
- * kQ3XMethodTypeRendererGetNickNameString
- *
- * Allows an application to collect the name of the renderer for
- * display in a user interface item such as a menu.
- *
- * If dataBuffer is NULL actualDataSize returns the required size in
- * bytes of a data buffer large enough to store the renderer name.
- *
- * bufferSize is the actual size of the memory block pointed to by
- * dataBuffer
- *
- * actualDataSize - on return the actual number of bytes written to the
- * buffer or if dataBuffer is NULL the required size of dataBuffer
- *
- * OPTIONAL
- */
- enum
- {
- kQ3XMethodTypeRendererGetNickNameString = FOUR_CHAR_CODE('rdns')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererGetNickNameStringMethod)(unsigned char *dataBuffer, unsigned long bufferSize, unsigned long *actualDataSize);
- /*
- * kQ3XMethodTypeRendererGetConfigurationData
- *
- * Allows an application to collect private configuration data from the
- * renderer which it will then save. For example in a preference file,
- * a registry key (on Windows) or in a style template. An application
- * should tag this data with the renderer's object name.
- *
- * If dataBuffer is NULL actualDataSize returns the required size in
- * bytes of a data buffer large enough to store private data.
- *
- * bufferSize is the actual size of the memory block pointed to by
- * dataBuffer
- *
- * actualDataSize - on return the actual number of bytes written to the
- * buffer or if dataBuffer is NULL the required size of dataBuffer
- *
- * OPTIONAL
- */
- enum
- {
- kQ3XMethodTypeRendererGetConfigurationData = FOUR_CHAR_CODE('rdgp')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererGetConfigurationDataMethod)(TQ3RendererObject renderer, unsigned char *dataBuffer, unsigned long bufferSize, unsigned long *actualDataSize, void *rendererPrivate);
- /*
- * TQ3XRendererSetConfigurationDataMethod
- *
- * Allows an application to pass private configuration data which has
- * previously been obtained from a renderer via
- * Q3Renderer_GetConfigurationData. For example in a preference file or
- * in a style template. An application should tag this data with the
- * renderer's object name.
- *
- * bufferSize is the actual size of the memory block pointed to by
- * dataBuffer
- *
- * OPTIONAL
- */
- enum
- {
- kQ3XMethodTypeRendererSetConfigurationData = FOUR_CHAR_CODE('rdsp')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererSetConfigurationDataMethod)(TQ3RendererObject renderer, unsigned char *dataBuffer, unsigned long bufferSize, void *rendererPrivate);
- /******************************************************************************
- ** **
- ** Renderer Drawing State Methods **
- ** **
- *****************************************************************************/
- /*
- * TQ3RendererStartFrame
- *
- * The StartFrame method is called first at Q3View_StartRendering
- * and should:
- * - initialize any renderer state to defaults
- * - extract any and all useful data from the drawContext
- *
- * If your renderer passed in kQ3RendererFlagClearBuffer at
- * registration, then it should also:
- * - clear the drawContext
- *
- * When clearing, your renderer may opt to:
- * - NOT clear anything (if you touch every pixel, for example)
- * - to clear with your own routine, or
- * - to use the draw context default clear method by calling
- * Q3DrawContext_Clear. Q3DrawContext_Clear takes advantage of
- * any available hardware in the system for clearing.
- *
- * This call also signals the start of all default submit commands from
- * the view. The renderer will receive updates for the default view
- * state via its Update methods before StartPass is called.
- *
- * REQUIRED
- */
- enum
- {
- kQ3XMethodTypeRendererStartFrame = FOUR_CHAR_CODE('rdcl')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererStartFrameMethod)(TQ3ViewObject view, void *rendererPrivate, TQ3DrawContextObject drawContext);
- /*
- * kQ3XMethodTypeRendererStartPass
- * TQ3XRendererStartPassMethod
- *
- * The StartPass method is called during Q3View_StartRendering but after
- * the StartFrame command. It should:
- * - collect camera and light information
- *
- * If your renderer supports deferred camera transformation, camera is the
- * main camera which will be submitted in the hierarchy somewhere. It
- * is never NULL.
- *
- * If your renderer does not support deferred camera transformation, camera
- * is the transformed camera.
- *
- * If your renderer supports deferred light transformation, lights will be
- * NULL, and will be submitted to your light draw methods instead.
- *
- * This call signals the end of the default update state, and the start of
- * submit commands from the user to the view.
- *
- * REQUIRED
- */
- enum
- {
- kQ3XMethodTypeRendererStartPass = FOUR_CHAR_CODE('rdst')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererStartPassMethod)(TQ3ViewObject view, void *rendererPrivate, TQ3CameraObject camera, TQ3GroupObject lightGroup);
- /*
- * kQ3XMethodTypeRendererFlushFrame
- * TQ3XRendererFlushFrameMethod
- *
- * This call is only implemented by asynchronous renderers.
- *
- * The FlushFrame method is called between the StartPass and EndPass
- * methods and is called when the user wishes to flush any asynchronous
- * drawing tasks (which draw to the drawcontext), but does not want
- * to block.
- *
- * The result of this call is that an image should "eventually" appear
- * asynchronously.
- *
- * For asynchronous rendering, this call is non-blocking.
- *
- * An interactive renderer should ensure that all received
- * geometries are drawn in the image.
- *
- * An interactive renderer that talks to hardware should force
- * the hardware to generate an image.
- *
- * A deferred renderer should exhibit a similar behaviour,
- * though it is not required. A deferred renderer should spawn
- * a process that generates a partial image from the currently
- * accumulated drawing state.
- *
- * However, for renderers such as ray-tracers which generally are
- * quite compute-intensive, FlushFrame is not required and is a no-op.
- *
- * OPTIONAL
- */
- enum
- {
- kQ3XMethodTypeRendererFlushFrame = FOUR_CHAR_CODE('rdfl')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererFlushFrameMethod)(TQ3ViewObject view, void *rendererPrivate, TQ3DrawContextObject drawContext);
- /*
- * kQ3XMethodTypeRendererEndPass
- * TQ3XRendererEndPassMethod
- *
- * The EndPass method is called at Q3View_EndRendering and signals
- * the end of submit commands to the view.
- *
- * If an error occurs, the renderer should call Q3XError_Post and
- * return kQ3ViewStatusError.
- *
- * If a renderer requires another pass on the renderering data,
- * it should return kQ3ViewStatusRetraverse.
- *
- * If rendering was cancelled, this function will not be called
- * and the view will handle returning kQ3ViewStatusCancelled;
- *
- * Otherwise, your renderer should begin completing the process of
- * generating the image in the drawcontext. If you have buffered
- * any drawing data, flush it. RendererEnd should have a similar
- * effect as RendererFlushFrame.
- *
- * If the renderer is synchronous:
- * - complete rendering of the entire frame
- * if the renderer supports kQ3RendererClassSupportDoubleBuffer
- * - Update the front buffer
- * else
- * - DrawContext will update the front buffer after returning
- *
- * If the renderer is asynchronous
- * - spawn rendering thread for entire frame
- * if the renderer supports kQ3RendererClassSupportDoubleBuffer,
- * - you must eventually update the front buffer asynchronously
- * else
- * - you must eventually update the back buffer asynchronously
- *
- * REQUIRED
- */
- enum
- {
- kQ3XMethodTypeRendererEndPass = FOUR_CHAR_CODE('rded')
- };
-
- typedef CALLBACK_API_C(TQ3ViewStatus , TQ3XRendererEndPassMethod)(TQ3ViewObject view, void *rendererPrivate);
- /*
- * kQ3XMethodTypeRendererEndFrame
- * TQ3XRendererEndFrame
- *
- * This call is only implemented by asynchronous renderers.
- *
- * The EndFrame method is called from Q3View_Sync, which is
- * called after Q3View_EndRendering and signals that the user
- * wishes to see the completed image and is willing to block.
- *
- * If your renderer supports kQ3RendererFlagDoubleBuffer
- * - update the front buffer completely
- * else
- * - update the back buffer completely
- *
- * This call is equivalent in functionality to RendererFlushFrame
- * but blocks until the image is completed.
- *
- * If no method is supplied, the default is a no-op.
- *
- * NOTE: Registering a method of this type indicates that your renderer will
- * be rendering after Q3View_EndRendering has been called.
- *
- * OPTIONAL
- */
- enum
- {
- kQ3XMethodTypeRendererEndFrame = FOUR_CHAR_CODE('rdsy')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererEndFrameMethod)(TQ3ViewObject view, void *rendererPrivate, TQ3DrawContextObject drawContext);
- /*
- * The RendererCancel method is called after Q3View_StartRendering
- * and signals the termination of all rendering operations.
- *
- * A renderer should clean up any cached data, and cancel all
- * rendering operations.
- *
- * If called before Q3View_EndRendering, the RendererEnd method
- * is NOT called.
- *
- * If called after Q3View_EndRendering, the renderer should kill
- * any threads and terminate any further rendering.
- *
- * REQUIRED
- */
- enum
- {
- kQ3XMethodTypeRendererCancel = FOUR_CHAR_CODE('rdab')
- };
-
- typedef CALLBACK_API_C(void , TQ3XRendererCancelMethod)(TQ3ViewObject view, void *rendererPrivate);
- /******************************************************************************
- ** **
- ** Renderer DrawContext Methods **
- ** **
- *****************************************************************************/
- /*
- * kQ3XMethodTypeRendererPush
- * TQ3XRendererPushMethod
- *
- * kQ3XMethodTypeRendererPop
- * TQ3XRendererPopMethod
- *
- * These methods are called whenever the graphics state in the view
- * is pushed or popped. The user may isolate state by calling:
- *
- * Q3Attribute_Submit(kQ3AttributeTypeDiffuseColor, &red, view);
- * Q3Attribute_Submit(kQ3AttributeTypeTransparencyColor, &blue, view);
- * Q3Attribute_Submit(kQ3AttributeTypeSpecularColor, &white, view);
- * Q3Box_Submit(&unitBox, view);
- * Q3TranslateTransform_Submit(&unitVector, view);
- * Q3Push_Submit(view);
- * Q3Attribute_Submit(kQ3AttributeTypeDiffuseColor, &blue, view);
- * Q3Attribute_Submit(kQ3AttributeTypeTransparencyColor, &green, view);
- * Q3Box_Submit(&unitBox, view);
- * Q3Pop_Submit(view);
- * Q3TranslateTransform_Submit(&unitVector, view);
- * Q3Box_Submit(&unitBox, view);
- *
- * or by submitting a display group which pushes and pops.
- *
- * If you support RendererPush and RendererPop in your renderer:
- * - you must maintain your drawing state as a stack, as well.
- * - you will not be updated with the popped state after
- * RendererPop is called.
- *
- * If you do not support Push and Pop in your renderer:
- * - you may maintain a single copy of the drawing state.
- * - you will be updated with changed fields after the view stack is
- * popped.
- *
- * A renderer that supports Push and Pop gets called in the following
- * sequence (from example above):
- *
- * RendererUpdateAttributeDiffuseColor(&red,...)
- * RendererUpdateAttributeTransparencyColor(&blue,...)
- * RendererUpdateAttributeSpecularColor(&white,...)
- * RendererUpdateMatrixLocalToWorld(...)
- * RendererSubmitGeometryBox(...)
- * RendererPush(...)
- * RendererUpdateAttributeDiffuseColor(&blue,...)
- * RendererUpdateAttributeTransparencyColor(&green,...)
- * RendererSubmitGeometryBox(...)
- * RendererPop(...)
- * RendererUpdateMatrixLocalToWorld(...)
- * RendererSubmitGeometryBox(...)
- *
- * A renderer that does not supports Push and Pop gets called in the
- * following sequence:
- *
- * RendererUpdateAttributeDiffuseColor(&red,...)
- * RendererUpdateAttributeTransparencyColor(&blue,...)
- * RendererUpdateAttributeSpecularColor(&white,...)
- * RendererUpdateMatrixLocalToWorld(...)
- * RendererSubmitGeometryBox(...)
- * RendererUpdateAttributeDiffuseColor(&blue,...)
- * RendererUpdateAttributeTransparencyColor(&green,...)
- * RendererSubmitGeometryBox(...)
- * RendererUpdateAttributeDiffuseColor(&red,...)
- * RendererUpdateAttributeTransparencyColor(&blue,...)
- * RendererUpdateMatrixLocalToWorld(...)
- * RendererSubmitGeometryBox(...)
- *
- */
- enum
- {
- kQ3XMethodTypeRendererPush = FOUR_CHAR_CODE('rdps')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererPushMethod)(TQ3ViewObject view, void *rendererPrivate);
- enum
- {
- kQ3XMethodTypeRendererPop = FOUR_CHAR_CODE('rdpo')
- };
-
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererPopMethod)(TQ3ViewObject view, void *rendererPrivate);
- /******************************************************************************
- ** **
- ** Renderer Cull Methods **
- ** **
- *****************************************************************************/
- /*
- * kQ3XMethodTypeRendererIsBoundingBoxVisible
- * TQ3XRendererIsBoundingBoxVisibleMethod
- *
- * This method is called to cull complex groups and geometries
- * given their bounding box in local space.
- *
- * It should transform the local-space bounding box coordinates to
- * frustum space and return a TQ3Boolean return value indicating
- * whether the box appears within the viewing frustum.
- *
- * If no method is supplied, the default behavior is to return
- * kQ3True.
- *
- */
- enum
- {
- kQ3XMethodTypeRendererIsBoundingBoxVisible = FOUR_CHAR_CODE('rdbx')
- };
-
- typedef CALLBACK_API_C(TQ3Boolean , TQ3XRendererIsBoundingBoxVisibleMethod)(TQ3ViewObject view, void *rendererPrivate, const TQ3BoundingBox *bBox);
-
- /******************************************************************************
- ** **
- ** Renderer Object Support Methods **
- ** **
- *****************************************************************************/
- /*
- * Drawing methods (Geometry, Camera, Lights)
- *
- */
- /*
- * Geometry MetaHandler
- *
- * This metaHandler is required to support
- *
- * kQ3GeometryTypeTriangle
- * kQ3GeometryTypeLine
- * kQ3GeometryTypePoint
- * kQ3GeometryTypeMarker
- * kQ3GeometryTypePixmapMarker
- *
- * REQUIRED
- */
- enum
- {
- kQ3XMethodTypeRendererSubmitGeometryMetaHandler = FOUR_CHAR_CODE('rdgm')
- };
-
- typedef CALLBACK_API_C(TQ3XFunctionPointer , TQ3XRendererSubmitGeometryMetaHandlerMethod)(TQ3ObjectType geometryType);
- /*
- * The TQ3XRendererSubmitGeometryMetaHandlerMethod switches on geometryType
- * of kQ3GeometryTypeFoo and returns methods of type:
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererSubmitGeometryMethod)(TQ3ViewObject view, void *rendererPrivate, TQ3GeometryObject geometry, const void *publicData);
- /*
- * Camera MetaHandler
- *
- * This metaHandler, if supplied, indicates that your renderer
- * handles deferred transformation of the main camera within a scene.
- *
- * If not supplied, or an unsupported camera is used, the view will do
- * the transformation for the renderer and pass in a camera in the
- * StartPass method.
- *
- * OPTIONAL
- */
- enum
- {
- kQ3XMethodTypeRendererSubmitCameraMetaHandler = FOUR_CHAR_CODE('rdcm')
- };
-
- typedef CALLBACK_API_C(TQ3XFunctionPointer , TQ3XRendererSubmitCameraMetaHandlerMethod)(TQ3ObjectType cameraType);
- /*
- * The TQ3XRendererSubmitCameraMetaHandlerMethod switches on cameraType
- * of kQ3CameraTypeFoo and returns methods of type:
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererSubmitCameraMethod)(TQ3ViewObject view, void *rendererPrivate, TQ3CameraObject camera, const void *publicData);
- /*
- * Light MetaHandler
- *
- * This metaHandler, if supplied, indicates that your renderer
- * handles deferred transformation of lights within a scene.
- *
- * If an unsupported light is encountered, it is ignored.
- *
- * OPTIONAL
- */
- enum
- {
- kQ3XMethodTypeRendererSubmitLightMetaHandler = FOUR_CHAR_CODE('rdlg')
- };
-
- typedef CALLBACK_API_C(TQ3XFunctionPointer , TQ3XRendererSubmitLightMetaHandlerMethod)(TQ3ObjectType lightType);
- /*
- * The TQ3XRendererSubmitLightMetaHandlerMethod switches on lightType
- * of kQ3LightTypeFoo and returns methods of type:
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererSubmitLightMethod)(TQ3ViewObject view, void *rendererPrivate, TQ3LightObject light, const void *publicData);
- /*
- *
- * Update methods
- *
- * They are called whenever the state has changed. If the renderer supports
- * the RendererPush and RendererPop methods, it must maintain its own state
- * stack. Updates are not called for changed data when the view stack is
- * popped.
- *
- * See the comments for the RendererPush and RendererPop methods above
- * for an example of how data is updated.
- *
- */
- /*
- * Style
- */
- enum
- {
- kQ3XMethodTypeRendererUpdateStyleMetaHandler = FOUR_CHAR_CODE('rdyu')
- };
-
- typedef CALLBACK_API_C(TQ3XFunctionPointer , TQ3XRendererUpdateStyleMetaHandlerMethod)(TQ3ObjectType styleType);
- /*
- * The TQ3XRendererUpdateStyleMetaHandlerMethod switches on styleType
- * of kQ3StyleTypeFoo and returns methods of type:
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererUpdateStyleMethod)(TQ3ViewObject view, void *rendererPrivate, const void *publicData);
- /*
- * Attributes
- */
- enum
- {
- kQ3XMethodTypeRendererUpdateAttributeMetaHandler = FOUR_CHAR_CODE('rdau')
- };
-
- typedef CALLBACK_API_C(TQ3XFunctionPointer , TQ3XRendererUpdateAttributeMetaHandlerMethod)(TQ3AttributeType attributeType);
- /*
- * The TQ3XRendererUpdateStyleMetaHandlerMethod switches on attributeType
- * of kQ3AttributeTypeFoo and returns methods of type:
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererUpdateAttributeMethod)(TQ3ViewObject view, void *rendererPrivate, const void *publicData);
- /*
- * Shaders
- */
- enum
- {
- kQ3XMethodTypeRendererUpdateShaderMetaHandler = FOUR_CHAR_CODE('rdsu')
- };
-
- typedef CALLBACK_API_C(TQ3XFunctionPointer , TQ3XRendererUpdateShaderMetaHandlerMethod)(TQ3ObjectType shaderType);
- /*
- * The TQ3XRendererUpdateShaderMetaHandlerMethod switches on shaderType
- * of kQ3ShaderTypeFoo and returns methods of type:
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererUpdateShaderMethod)(TQ3ViewObject view, void *rendererPrivate, TQ3Object *shaderObject);
- /*
- * Matrices
- */
- enum
- {
- kQ3XMethodTypeRendererUpdateMatrixMetaHandler = FOUR_CHAR_CODE('rdxu')
- };
-
- typedef TQ3XMetaHandler TQ3XRendererUpdateMatrixMetaHandlerMethod;
- /*
- * The TQ3XRendererUpdateShaderMetaHandlerMethod switches on methods
- * of the form kQ3MethodTypeRendererUpdateMatrixFoo:
- */
- enum
- {
- kQ3XMethodTypeRendererUpdateMatrixLocalToWorld = FOUR_CHAR_CODE('ulwx')
- };
-
- enum
- {
- kQ3XMethodTypeRendererUpdateMatrixLocalToWorldInverse = FOUR_CHAR_CODE('ulwi')
- };
-
- enum
- {
- kQ3XMethodTypeRendererUpdateMatrixLocalToWorldInverseTranspose = FOUR_CHAR_CODE('ulwt')
- };
-
- enum
- {
- kQ3XMethodTypeRendererUpdateMatrixLocalToCamera = FOUR_CHAR_CODE('ulcx')
- };
-
- enum
- {
- kQ3XMethodTypeRendererUpdateMatrixLocalToFrustum = FOUR_CHAR_CODE('ulfx')
- };
-
- enum
- {
- kQ3XMethodTypeRendererUpdateMatrixWorldToFrustum = FOUR_CHAR_CODE('uwfx')
- };
-
- /*
- * and returns methods of type:
- */
- typedef CALLBACK_API_C(TQ3Status , TQ3XRendererUpdateMatrixMethod)(TQ3ViewObject view, void *rendererPrivate, const TQ3Matrix4x4 *matrix);
+enum {
+ kQ3XMethodTypeRendererIsInteractive = FOUR_CHAR_CODE('isin')
+};
+
+
+/*
+ * TQ3XRendererModalConfigureMethod
+ *
+ * This method should pop up a modal dialog to edit the renderer settings
+ * found in the renderer private.
+ *
+ * dialogAnchor - is platform specific data passed by the client to support
+ * movable modal dialogs.
+ * MacOS: this is a callback to the calling application's event handler.
+ * The renderer calls this function with events not handled by the
+ * settings dialog. This is necessary in order to support movable modal
+ * dialogs. An application's event handler must return kQ3True if it
+ * handles the event passed to the callback or kQ3False if not.
+ * An application which doesn't want to support a movable modal configure
+ * dialog should pass NULL for the clientEventHandler of TQ3DialogAnchor.
+ * A renderer should implement a non-movable style dialog in that case.
+ * Win32: this is the HWND of the owning window (typically an application's
+ * main window). (Win32 application modal dialogs are always movable.)
+ * canceled - returns a boolean inditacating that the user canceled the
+ * dialog.
+ *
+ * OPTIONAL
+ */
+enum {
+ kQ3XMethodTypeRendererModalConfigure = FOUR_CHAR_CODE('rdmc')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererModalConfigureMethod )(TQ3RendererObject renderer, TQ3DialogAnchor dialogAnchor, TQ3Boolean *canceled, void *rendererPrivate);
+/*
+ * kQ3XMethodTypeRendererGetNickNameString
+ *
+ * Allows an application to collect the name of the renderer for
+ * display in a user interface item such as a menu.
+ *
+ * If dataBuffer is NULL actualDataSize returns the required size in
+ * bytes of a data buffer large enough to store the renderer name.
+ *
+ * bufferSize is the actual size of the memory block pointed to by
+ * dataBuffer
+ *
+ * actualDataSize - on return the actual number of bytes written to the
+ * buffer or if dataBuffer is NULL the required size of dataBuffer
+ *
+ * OPTIONAL
+ */
+enum {
+ kQ3XMethodTypeRendererGetNickNameString = FOUR_CHAR_CODE('rdns')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererGetNickNameStringMethod )(unsigned char *dataBuffer, unsigned long bufferSize, unsigned long *actualDataSize);
+/*
+ * kQ3XMethodTypeRendererGetConfigurationData
+ *
+ * Allows an application to collect private configuration data from the
+ * renderer which it will then save. For example in a preference file,
+ * a registry key (on Windows) or in a style template. An application
+ * should tag this data with the renderer's object name.
+ *
+ * If dataBuffer is NULL actualDataSize returns the required size in
+ * bytes of a data buffer large enough to store private data.
+ *
+ * bufferSize is the actual size of the memory block pointed to by
+ * dataBuffer
+ *
+ * actualDataSize - on return the actual number of bytes written to the
+ * buffer or if dataBuffer is NULL the required size of dataBuffer
+ *
+ * OPTIONAL
+ */
+enum {
+ kQ3XMethodTypeRendererGetConfigurationData = FOUR_CHAR_CODE('rdgp')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererGetConfigurationDataMethod )(TQ3RendererObject renderer, unsigned char *dataBuffer, unsigned long bufferSize, unsigned long *actualDataSize, void *rendererPrivate);
+/*
+ * TQ3XRendererSetConfigurationDataMethod
+ *
+ * Allows an application to pass private configuration data which has
+ * previously been obtained from a renderer via
+ * Q3Renderer_GetConfigurationData. For example in a preference file or
+ * in a style template. An application should tag this data with the
+ * renderer's object name.
+ *
+ * bufferSize is the actual size of the memory block pointed to by
+ * dataBuffer
+ *
+ * OPTIONAL
+ */
+enum {
+ kQ3XMethodTypeRendererSetConfigurationData = FOUR_CHAR_CODE('rdsp')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererSetConfigurationDataMethod )(TQ3RendererObject renderer, unsigned char *dataBuffer, unsigned long bufferSize, void *rendererPrivate);
+/******************************************************************************
+ ** **
+ ** Renderer Drawing State Methods **
+ ** **
+ *****************************************************************************/
+/*
+ * TQ3RendererStartFrame
+ *
+ * The StartFrame method is called first at Q3View_StartRendering
+ * and should:
+ * - initialize any renderer state to defaults
+ * - extract any and all useful data from the drawContext
+ *
+ * If your renderer passed in kQ3RendererFlagClearBuffer at
+ * registration, then it should also:
+ * - clear the drawContext
+ *
+ * When clearing, your renderer may opt to:
+ * - NOT clear anything (if you touch every pixel, for example)
+ * - to clear with your own routine, or
+ * - to use the draw context default clear method by calling
+ * Q3DrawContext_Clear. Q3DrawContext_Clear takes advantage of
+ * any available hardware in the system for clearing.
+ *
+ * This call also signals the start of all default submit commands from
+ * the view. The renderer will receive updates for the default view
+ * state via its Update methods before StartPass is called.
+ *
+ * REQUIRED
+ */
+enum {
+ kQ3XMethodTypeRendererStartFrame = FOUR_CHAR_CODE('rdcl')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererStartFrameMethod )(TQ3ViewObject view, void *rendererPrivate, TQ3DrawContextObject drawContext);
+/*
+ * kQ3XMethodTypeRendererStartPass
+ * TQ3XRendererStartPassMethod
+ *
+ * The StartPass method is called during Q3View_StartRendering but after
+ * the StartFrame command. It should:
+ * - collect camera and light information
+ *
+ * If your renderer supports deferred camera transformation, camera is the
+ * main camera which will be submitted in the hierarchy somewhere. It
+ * is never NULL.
+ *
+ * If your renderer does not support deferred camera transformation, camera
+ * is the transformed camera.
+ *
+ * If your renderer supports deferred light transformation, lights will be
+ * NULL, and will be submitted to your light draw methods instead.
+ *
+ * This call signals the end of the default update state, and the start of
+ * submit commands from the user to the view.
+ *
+ * REQUIRED
+ */
+enum {
+ kQ3XMethodTypeRendererStartPass = FOUR_CHAR_CODE('rdst')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererStartPassMethod )(TQ3ViewObject view, void *rendererPrivate, TQ3CameraObject camera, TQ3GroupObject lightGroup);
+/*
+ * kQ3XMethodTypeRendererFlushFrame
+ * TQ3XRendererFlushFrameMethod
+ *
+ * This call is only implemented by asynchronous renderers.
+ *
+ * The FlushFrame method is called between the StartPass and EndPass
+ * methods and is called when the user wishes to flush any asynchronous
+ * drawing tasks (which draw to the drawcontext), but does not want
+ * to block.
+ *
+ * The result of this call is that an image should "eventually" appear
+ * asynchronously.
+ *
+ * For asynchronous rendering, this call is non-blocking.
+ *
+ * An interactive renderer should ensure that all received
+ * geometries are drawn in the image.
+ *
+ * An interactive renderer that talks to hardware should force
+ * the hardware to generate an image.
+ *
+ * A deferred renderer should exhibit a similar behaviour,
+ * though it is not required. A deferred renderer should spawn
+ * a process that generates a partial image from the currently
+ * accumulated drawing state.
+ *
+ * However, for renderers such as ray-tracers which generally are
+ * quite compute-intensive, FlushFrame is not required and is a no-op.
+ *
+ * OPTIONAL
+ */
+enum {
+ kQ3XMethodTypeRendererFlushFrame = FOUR_CHAR_CODE('rdfl')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererFlushFrameMethod )(TQ3ViewObject view, void *rendererPrivate, TQ3DrawContextObject drawContext);
+/*
+ * kQ3XMethodTypeRendererEndPass
+ * TQ3XRendererEndPassMethod
+ *
+ * The EndPass method is called at Q3View_EndRendering and signals
+ * the end of submit commands to the view.
+ *
+ * If an error occurs, the renderer should call Q3XError_Post and
+ * return kQ3ViewStatusError.
+ *
+ * If a renderer requires another pass on the renderering data,
+ * it should return kQ3ViewStatusRetraverse.
+ *
+ * If rendering was cancelled, this function will not be called
+ * and the view will handle returning kQ3ViewStatusCancelled;
+ *
+ * Otherwise, your renderer should begin completing the process of
+ * generating the image in the drawcontext. If you have buffered
+ * any drawing data, flush it. RendererEnd should have a similar
+ * effect as RendererFlushFrame.
+ *
+ * If the renderer is synchronous:
+ * - complete rendering of the entire frame
+ * if the renderer supports kQ3RendererClassSupportDoubleBuffer
+ * - Update the front buffer
+ * else
+ * - DrawContext will update the front buffer after returning
+ *
+ * If the renderer is asynchronous
+ * - spawn rendering thread for entire frame
+ * if the renderer supports kQ3RendererClassSupportDoubleBuffer,
+ * - you must eventually update the front buffer asynchronously
+ * else
+ * - you must eventually update the back buffer asynchronously
+ *
+ * REQUIRED
+ */
+enum {
+ kQ3XMethodTypeRendererEndPass = FOUR_CHAR_CODE('rded')
+};
+
+typedef CALLBACK_API_C( TQ3ViewStatus , TQ3XRendererEndPassMethod )(TQ3ViewObject view, void *rendererPrivate);
+/*
+ * kQ3XMethodTypeRendererEndFrame
+ * TQ3XRendererEndFrame
+ *
+ * This call is only implemented by asynchronous renderers.
+ *
+ * The EndFrame method is called from Q3View_Sync, which is
+ * called after Q3View_EndRendering and signals that the user
+ * wishes to see the completed image and is willing to block.
+ *
+ * If your renderer supports kQ3RendererFlagDoubleBuffer
+ * - update the front buffer completely
+ * else
+ * - update the back buffer completely
+ *
+ * This call is equivalent in functionality to RendererFlushFrame
+ * but blocks until the image is completed.
+ *
+ * If no method is supplied, the default is a no-op.
+ *
+ * NOTE: Registering a method of this type indicates that your renderer will
+ * be rendering after Q3View_EndRendering has been called.
+ *
+ * OPTIONAL
+ */
+enum {
+ kQ3XMethodTypeRendererEndFrame = FOUR_CHAR_CODE('rdsy')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererEndFrameMethod )(TQ3ViewObject view, void *rendererPrivate, TQ3DrawContextObject drawContext);
+/*
+ * The RendererCancel method is called after Q3View_StartRendering
+ * and signals the termination of all rendering operations.
+ *
+ * A renderer should clean up any cached data, and cancel all
+ * rendering operations.
+ *
+ * If called before Q3View_EndRendering, the RendererEnd method
+ * is NOT called.
+ *
+ * If called after Q3View_EndRendering, the renderer should kill
+ * any threads and terminate any further rendering.
+ *
+ * REQUIRED
+ */
+enum {
+ kQ3XMethodTypeRendererCancel = FOUR_CHAR_CODE('rdab')
+};
+
+typedef CALLBACK_API_C( void , TQ3XRendererCancelMethod )(TQ3ViewObject view, void *rendererPrivate);
+/******************************************************************************
+ ** **
+ ** Renderer DrawContext Methods **
+ ** **
+ *****************************************************************************/
+/*
+ * kQ3XMethodTypeRendererPush
+ * TQ3XRendererPushMethod
+ *
+ * kQ3XMethodTypeRendererPop
+ * TQ3XRendererPopMethod
+ *
+ * These methods are called whenever the graphics state in the view
+ * is pushed or popped. The user may isolate state by calling:
+ *
+ * Q3Attribute_Submit(kQ3AttributeTypeDiffuseColor, &red, view);
+ * Q3Attribute_Submit(kQ3AttributeTypeTransparencyColor, &blue, view);
+ * Q3Attribute_Submit(kQ3AttributeTypeSpecularColor, &white, view);
+ * Q3Box_Submit(&unitBox, view);
+ * Q3TranslateTransform_Submit(&unitVector, view);
+ * Q3Push_Submit(view);
+ * Q3Attribute_Submit(kQ3AttributeTypeDiffuseColor, &blue, view);
+ * Q3Attribute_Submit(kQ3AttributeTypeTransparencyColor, &green, view);
+ * Q3Box_Submit(&unitBox, view);
+ * Q3Pop_Submit(view);
+ * Q3TranslateTransform_Submit(&unitVector, view);
+ * Q3Box_Submit(&unitBox, view);
+ *
+ * or by submitting a display group which pushes and pops.
+ *
+ * If you support RendererPush and RendererPop in your renderer:
+ * - you must maintain your drawing state as a stack, as well.
+ * - you will not be updated with the popped state after
+ * RendererPop is called.
+ *
+ * If you do not support Push and Pop in your renderer:
+ * - you may maintain a single copy of the drawing state.
+ * - you will be updated with changed fields after the view stack is
+ * popped.
+ *
+ * A renderer that supports Push and Pop gets called in the following
+ * sequence (from example above):
+ *
+ * RendererUpdateAttributeDiffuseColor(&red,...)
+ * RendererUpdateAttributeTransparencyColor(&blue,...)
+ * RendererUpdateAttributeSpecularColor(&white,...)
+ * RendererUpdateMatrixLocalToWorld(...)
+ * RendererSubmitGeometryBox(...)
+ * RendererPush(...)
+ * RendererUpdateAttributeDiffuseColor(&blue,...)
+ * RendererUpdateAttributeTransparencyColor(&green,...)
+ * RendererSubmitGeometryBox(...)
+ * RendererPop(...)
+ * RendererUpdateMatrixLocalToWorld(...)
+ * RendererSubmitGeometryBox(...)
+ *
+ * A renderer that does not supports Push and Pop gets called in the
+ * following sequence:
+ *
+ * RendererUpdateAttributeDiffuseColor(&red,...)
+ * RendererUpdateAttributeTransparencyColor(&blue,...)
+ * RendererUpdateAttributeSpecularColor(&white,...)
+ * RendererUpdateMatrixLocalToWorld(...)
+ * RendererSubmitGeometryBox(...)
+ * RendererUpdateAttributeDiffuseColor(&blue,...)
+ * RendererUpdateAttributeTransparencyColor(&green,...)
+ * RendererSubmitGeometryBox(...)
+ * RendererUpdateAttributeDiffuseColor(&red,...)
+ * RendererUpdateAttributeTransparencyColor(&blue,...)
+ * RendererUpdateMatrixLocalToWorld(...)
+ * RendererSubmitGeometryBox(...)
+ *
+ */
+enum {
+ kQ3XMethodTypeRendererPush = FOUR_CHAR_CODE('rdps')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererPushMethod )(TQ3ViewObject view, void *rendererPrivate);
+enum {
+ kQ3XMethodTypeRendererPop = FOUR_CHAR_CODE('rdpo')
+};
+
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererPopMethod )(TQ3ViewObject view, void *rendererPrivate);
+/******************************************************************************
+ ** **
+ ** Renderer Cull Methods **
+ ** **
+ *****************************************************************************/
+/*
+ * kQ3XMethodTypeRendererIsBoundingBoxVisible
+ * TQ3XRendererIsBoundingBoxVisibleMethod
+ *
+ * This method is called to cull complex groups and geometries
+ * given their bounding box in local space.
+ *
+ * It should transform the local-space bounding box coordinates to
+ * frustum space and return a TQ3Boolean return value indicating
+ * whether the box appears within the viewing frustum.
+ *
+ * If no method is supplied, the default behavior is to return
+ * kQ3True.
+ *
+ */
+enum {
+ kQ3XMethodTypeRendererIsBoundingBoxVisible = FOUR_CHAR_CODE('rdbx')
+};
+
+typedef CALLBACK_API_C( TQ3Boolean , TQ3XRendererIsBoundingBoxVisibleMethod )(TQ3ViewObject view, void *rendererPrivate, const TQ3BoundingBox *bBox);
+
+/******************************************************************************
+ ** **
+ ** Renderer Object Support Methods **
+ ** **
+ *****************************************************************************/
+/*
+ * Drawing methods (Geometry, Camera, Lights)
+ *
+ */
+/*
+ * Geometry MetaHandler
+ *
+ * This metaHandler is required to support
+ *
+ * kQ3GeometryTypeTriangle
+ * kQ3GeometryTypeLine
+ * kQ3GeometryTypePoint
+ * kQ3GeometryTypeMarker
+ * kQ3GeometryTypePixmapMarker
+ *
+ * REQUIRED
+ */
+enum {
+ kQ3XMethodTypeRendererSubmitGeometryMetaHandler = FOUR_CHAR_CODE('rdgm')
+};
+
+typedef CALLBACK_API_C( TQ3XFunctionPointer , TQ3XRendererSubmitGeometryMetaHandlerMethod )(TQ3ObjectType geometryType);
+/*
+ * The TQ3XRendererSubmitGeometryMetaHandlerMethod switches on geometryType
+ * of kQ3GeometryTypeFoo and returns methods of type:
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererSubmitGeometryMethod )(TQ3ViewObject view, void *rendererPrivate, TQ3GeometryObject geometry, const void *publicData);
+/*
+ * Camera MetaHandler
+ *
+ * This metaHandler, if supplied, indicates that your renderer
+ * handles deferred transformation of the main camera within a scene.
+ *
+ * If not supplied, or an unsupported camera is used, the view will do
+ * the transformation for the renderer and pass in a camera in the
+ * StartPass method.
+ *
+ * OPTIONAL
+ */
+enum {
+ kQ3XMethodTypeRendererSubmitCameraMetaHandler = FOUR_CHAR_CODE('rdcm')
+};
+
+typedef CALLBACK_API_C( TQ3XFunctionPointer , TQ3XRendererSubmitCameraMetaHandlerMethod )(TQ3ObjectType cameraType);
+/*
+ * The TQ3XRendererSubmitCameraMetaHandlerMethod switches on cameraType
+ * of kQ3CameraTypeFoo and returns methods of type:
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererSubmitCameraMethod )(TQ3ViewObject view, void *rendererPrivate, TQ3CameraObject camera, const void *publicData);
+/*
+ * Light MetaHandler
+ *
+ * This metaHandler, if supplied, indicates that your renderer
+ * handles deferred transformation of lights within a scene.
+ *
+ * If an unsupported light is encountered, it is ignored.
+ *
+ * OPTIONAL
+ */
+enum {
+ kQ3XMethodTypeRendererSubmitLightMetaHandler = FOUR_CHAR_CODE('rdlg')
+};
+
+typedef CALLBACK_API_C( TQ3XFunctionPointer , TQ3XRendererSubmitLightMetaHandlerMethod )(TQ3ObjectType lightType);
+/*
+ * The TQ3XRendererSubmitLightMetaHandlerMethod switches on lightType
+ * of kQ3LightTypeFoo and returns methods of type:
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererSubmitLightMethod )(TQ3ViewObject view, void *rendererPrivate, TQ3LightObject light, const void *publicData);
+/*
+ *
+ * Update methods
+ *
+ * They are called whenever the state has changed. If the renderer supports
+ * the RendererPush and RendererPop methods, it must maintain its own state
+ * stack. Updates are not called for changed data when the view stack is
+ * popped.
+ *
+ * See the comments for the RendererPush and RendererPop methods above
+ * for an example of how data is updated.
+ *
+ */
+/*
+ * Style
+ */
+enum {
+ kQ3XMethodTypeRendererUpdateStyleMetaHandler = FOUR_CHAR_CODE('rdyu')
+};
+
+typedef CALLBACK_API_C( TQ3XFunctionPointer , TQ3XRendererUpdateStyleMetaHandlerMethod )(TQ3ObjectType styleType);
+/*
+ * The TQ3XRendererUpdateStyleMetaHandlerMethod switches on styleType
+ * of kQ3StyleTypeFoo and returns methods of type:
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererUpdateStyleMethod )(TQ3ViewObject view, void *rendererPrivate, const void *publicData);
+/*
+ * Attributes
+ */
+enum {
+ kQ3XMethodTypeRendererUpdateAttributeMetaHandler = FOUR_CHAR_CODE('rdau')
+};
+
+typedef CALLBACK_API_C( TQ3XFunctionPointer , TQ3XRendererUpdateAttributeMetaHandlerMethod )(TQ3AttributeType attributeType);
+/*
+ * The TQ3XRendererUpdateStyleMetaHandlerMethod switches on attributeType
+ * of kQ3AttributeTypeFoo and returns methods of type:
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererUpdateAttributeMethod )(TQ3ViewObject view, void *rendererPrivate, const void *publicData);
+/*
+ * Shaders
+ */
+enum {
+ kQ3XMethodTypeRendererUpdateShaderMetaHandler = FOUR_CHAR_CODE('rdsu')
+};
+
+typedef CALLBACK_API_C( TQ3XFunctionPointer , TQ3XRendererUpdateShaderMetaHandlerMethod )(TQ3ObjectType shaderType);
+/*
+ * The TQ3XRendererUpdateShaderMetaHandlerMethod switches on shaderType
+ * of kQ3ShaderTypeFoo and returns methods of type:
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererUpdateShaderMethod )(TQ3ViewObject view, void *rendererPrivate, TQ3Object *shaderObject);
+/*
+ * Matrices
+ */
+enum {
+ kQ3XMethodTypeRendererUpdateMatrixMetaHandler = FOUR_CHAR_CODE('rdxu')
+};
+
+typedef TQ3XMetaHandler TQ3XRendererUpdateMatrixMetaHandlerMethod;
+/*
+ * The TQ3XRendererUpdateShaderMetaHandlerMethod switches on methods
+ * of the form kQ3MethodTypeRendererUpdateMatrixFoo:
+ */
+enum {
+ kQ3XMethodTypeRendererUpdateMatrixLocalToWorld = FOUR_CHAR_CODE('ulwx')
+};
+
+enum {
+ kQ3XMethodTypeRendererUpdateMatrixLocalToWorldInverse = FOUR_CHAR_CODE('ulwi')
+};
+
+enum {
+ kQ3XMethodTypeRendererUpdateMatrixLocalToWorldInverseTranspose = FOUR_CHAR_CODE('ulwt')
+};
+
+enum {
+ kQ3XMethodTypeRendererUpdateMatrixLocalToCamera = FOUR_CHAR_CODE('ulcx')
+};
+
+enum {
+ kQ3XMethodTypeRendererUpdateMatrixLocalToFrustum = FOUR_CHAR_CODE('ulfx')
+};
+
+enum {
+ kQ3XMethodTypeRendererUpdateMatrixWorldToFrustum = FOUR_CHAR_CODE('uwfx')
+};
+
+/*
+ * and returns methods of type:
+ */
+typedef CALLBACK_API_C( TQ3Status , TQ3XRendererUpdateMatrixMethod )(TQ3ViewObject view, void *rendererPrivate, const TQ3Matrix4x4 *matrix);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DRENDERER__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DRENDERER__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DRENDERER__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DSet.h b/include/qt/QD3DSet.h
index 58b50fd7d..2071714a7 100644
--- a/include/qt/QD3DSet.h
+++ b/include/qt/QD3DSet.h
@@ -1,18 +1,18 @@
/*
File: QD3DSet.h
-
+
Contains: Q3Set types and routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3DSET__
#define __QD3DSET__
@@ -37,386 +37,385 @@ extern "C" {
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DSET__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DSET__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DSET__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DSET__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Set Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Set Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Set_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3SetObject)
- Q3Set_New(void);
-
-
- /*
- * Q3Set_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Set_GetType(TQ3SetObject theSet);
-
-
- /*
- * Q3Set_Add()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Set_Add(
- TQ3SetObject theSet,
- TQ3ElementType theType,
- const void * data);
-
-
- /*
- * Q3Set_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Set_Get(
- TQ3SetObject theSet,
- TQ3ElementType theType,
- void * data);
-
-
- /*
- * Q3Set_Contains()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3Set_Contains(
- TQ3SetObject theSet,
- TQ3ElementType theType);
-
-
- /*
- * Q3Set_Clear()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Set_Clear(
- TQ3SetObject theSet,
- TQ3ElementType theType);
-
-
- /*
- * Q3Set_Empty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Set_Empty(TQ3SetObject target);
-
-
- /*
- * Iterating through all elements in a set
- *
- * Pass in kQ3ElementTypeNone to get first type
- * kQ3ElementTypeNone is returned when end of list is reached
- */
- /*
- * Q3Set_GetNextElementType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Set_GetNextElementType(
- TQ3SetObject theSet,
- TQ3ElementType * theType);
-
-
-
- /******************************************************************************
- ** **
- ** Attribute Types **
- ** **
- *****************************************************************************/
- /*
- * For the data types listed below, pass in a pointer to it in the _Add
- * and _Get calls.
- *
- * For surface shader attributes, reference counts are incremented on
- * the _Add and _Get
- */
+/*
+ * Q3Set_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3SetObject )
+Q3Set_New(void);
+
+
+/*
+ * Q3Set_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Set_GetType(TQ3SetObject theSet);
+
+
+/*
+ * Q3Set_Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Set_Add(
+ TQ3SetObject theSet,
+ TQ3ElementType theType,
+ const void * data);
+
+
+/*
+ * Q3Set_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Set_Get(
+ TQ3SetObject theSet,
+ TQ3ElementType theType,
+ void * data);
+
+
+/*
+ * Q3Set_Contains()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3Set_Contains(
+ TQ3SetObject theSet,
+ TQ3ElementType theType);
+
+
+/*
+ * Q3Set_Clear()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Set_Clear(
+ TQ3SetObject theSet,
+ TQ3ElementType theType);
+
+
+/*
+ * Q3Set_Empty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Set_Empty(TQ3SetObject target);
+
+
+/*
+ * Iterating through all elements in a set
+ *
+ * Pass in kQ3ElementTypeNone to get first type
+ * kQ3ElementTypeNone is returned when end of list is reached
+ */
+/*
+ * Q3Set_GetNextElementType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Set_GetNextElementType(
+ TQ3SetObject theSet,
+ TQ3ElementType * theType);
+
+
+
+/******************************************************************************
+ ** **
+ ** Attribute Types **
+ ** **
+ *****************************************************************************/
+/*
+ * For the data types listed below, pass in a pointer to it in the _Add
+ * and _Get calls.
+ *
+ * For surface shader attributes, reference counts are incremented on
+ * the _Add and _Get
+ */
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3AttributeTypes
- {
- /* Data Type */
- kQ3AttributeTypeNone = 0, /* --------- */
- kQ3AttributeTypeSurfaceUV = 1, /* TQ3Param2D */
- kQ3AttributeTypeShadingUV = 2, /* TQ3Param2D */
- kQ3AttributeTypeNormal = 3, /* TQ3Vector3D */
- kQ3AttributeTypeAmbientCoefficient = 4, /* float */
- kQ3AttributeTypeDiffuseColor = 5, /* TQ3ColorRGB */
- kQ3AttributeTypeSpecularColor = 6, /* TQ3ColorRGB */
- kQ3AttributeTypeSpecularControl = 7, /* float */
- kQ3AttributeTypeTransparencyColor = 8, /* TQ3ColorRGB */
- kQ3AttributeTypeSurfaceTangent = 9, /* TQ3Tangent2D */
- kQ3AttributeTypeHighlightState = 10, /* TQ3Switch */
- kQ3AttributeTypeSurfaceShader = 11, /* TQ3SurfaceShaderObject */
- kQ3AttributeTypeNumTypes = 12
- };
- typedef enum TQ3AttributeTypes TQ3AttributeTypes;
-
- typedef TQ3ElementType TQ3AttributeType;
- /******************************************************************************
- ** **
- ** Attribute Drawing **
- ** **
- *****************************************************************************/
+enum TQ3AttributeTypes {
+ /* Data Type */
+ kQ3AttributeTypeNone = 0, /* --------- */
+ kQ3AttributeTypeSurfaceUV = 1, /* TQ3Param2D */
+ kQ3AttributeTypeShadingUV = 2, /* TQ3Param2D */
+ kQ3AttributeTypeNormal = 3, /* TQ3Vector3D */
+ kQ3AttributeTypeAmbientCoefficient = 4, /* float */
+ kQ3AttributeTypeDiffuseColor = 5, /* TQ3ColorRGB */
+ kQ3AttributeTypeSpecularColor = 6, /* TQ3ColorRGB */
+ kQ3AttributeTypeSpecularControl = 7, /* float */
+ kQ3AttributeTypeTransparencyColor = 8, /* TQ3ColorRGB */
+ kQ3AttributeTypeSurfaceTangent = 9, /* TQ3Tangent2D */
+ kQ3AttributeTypeHighlightState = 10, /* TQ3Switch */
+ kQ3AttributeTypeSurfaceShader = 11, /* TQ3SurfaceShaderObject */
+ kQ3AttributeTypeNumTypes = 12
+};
+typedef enum TQ3AttributeTypes TQ3AttributeTypes;
+
+typedef TQ3ElementType TQ3AttributeType;
+/******************************************************************************
+ ** **
+ ** Attribute Drawing **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Attribute_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Attribute_Submit(
- TQ3AttributeType attributeType,
- const void * data,
- TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** AttributeSet Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3AttributeSet_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3AttributeSet)
- Q3AttributeSet_New(void);
-
-
- /*
- * Q3AttributeSet_Add()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AttributeSet_Add(
- TQ3AttributeSet attributeSet,
- TQ3AttributeType theType,
- const void * data);
-
-
- /*
- * Q3AttributeSet_Contains()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3AttributeSet_Contains(
- TQ3AttributeSet attributeSet,
- TQ3AttributeType attributeType);
-
-
- /*
- * Q3AttributeSet_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AttributeSet_Get(
- TQ3AttributeSet attributeSet,
- TQ3AttributeType theType,
- void * data);
-
-
- /*
- * Q3AttributeSet_Clear()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AttributeSet_Clear(
- TQ3AttributeSet attributeSet,
- TQ3AttributeType theType);
-
-
- /*
- * Q3AttributeSet_Empty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AttributeSet_Empty(TQ3AttributeSet target);
-
-
- /*
- * Q3AttributeSet_GetNextAttributeType
- *
- * Pass in kQ3AttributeTypeNone to get first type
- * kQ3AttributeTypeNone is returned when end of list is reached
- */
- /*
- * Q3AttributeSet_GetNextAttributeType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AttributeSet_GetNextAttributeType(
- TQ3AttributeSet source,
- TQ3AttributeType * theType);
-
-
- /*
- * Q3AttributeSet_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AttributeSet_Submit(
- TQ3AttributeSet attributeSet,
- TQ3ViewObject view);
-
-
- /*
- * Inherit from parent->child into result
- * Result attributes are:
- * all child attributes + all parent attributes NOT in the child
- */
- /*
- * Q3AttributeSet_Inherit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AttributeSet_Inherit(
- TQ3AttributeSet parent,
- TQ3AttributeSet child,
- TQ3AttributeSet result);
-
-
-
- /******************************************************************************
- ** **
- ** Custom Element Registration **
- ** **
- *****************************************************************************/
- /*
- * Element Methods -
- *
- * When you create a custom element, you control what structures are
- * passed around the API. For example, you may allow the Q3Set_Add call
- * take one type of argument, store your element internally in some
- * abstract data type, and have the Q3Set_Get call take a different
- * argument.
- *
- * For example:
- *
- * There are four calls which at some point will copy an element:
- *
- * Q3Set_Add (copied from Application memory to QuickDraw3D memory)
- * Q3Set_Get (copied from QuickDraw3D memory to Application memory)
- * Q3Object_Duplicate (all elements are copied internally)
- * Q3AttributeSet_Inherit (all elements are copied internally)
- *
- * Either CopyAdd or CopyReplace is called during the "_Add" call.
- * - CopyAdd is destructive and should assume "toElement" is garbage
- * - CopyReplace is replacing an existing element.
- *
- * CopyGet is called during the "_Get" call.
- *
- * CopyDuplicate is called to duplicate an element's internal structure.
- *
- * Attributes Methods -
- *
- * For copying data while Inheriting. Element methods are used
- * at all other times.
- *
- * CopyInherit is called to duplicate an element's internal structure
- * during inheritance. You should make this as fast as possible.
- * (for example, if your custom element contains objects, you
- * should do a Q3Shared_GetReference instead of a Q3Object_Duplicate)
- *
- * The ElementDelete method will be called for all of your elements
- * copied around via CopyAdd, CopyReplace, CopyDuplicate, and
- * CopyInherit.
- * If CopyGet allocates any memory in it's destination, it is up to the
- * application to delete it on its side.
- */
+/*
+ * Q3Attribute_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Attribute_Submit(
+ TQ3AttributeType attributeType,
+ const void * data,
+ TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** AttributeSet Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3AttributeSet_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3AttributeSet )
+Q3AttributeSet_New(void);
+
+
+/*
+ * Q3AttributeSet_Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AttributeSet_Add(
+ TQ3AttributeSet attributeSet,
+ TQ3AttributeType theType,
+ const void * data);
+
+
+/*
+ * Q3AttributeSet_Contains()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3AttributeSet_Contains(
+ TQ3AttributeSet attributeSet,
+ TQ3AttributeType attributeType);
+
+
+/*
+ * Q3AttributeSet_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AttributeSet_Get(
+ TQ3AttributeSet attributeSet,
+ TQ3AttributeType theType,
+ void * data);
+
+
+/*
+ * Q3AttributeSet_Clear()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AttributeSet_Clear(
+ TQ3AttributeSet attributeSet,
+ TQ3AttributeType theType);
+
+
+/*
+ * Q3AttributeSet_Empty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AttributeSet_Empty(TQ3AttributeSet target);
+
+
+/*
+ * Q3AttributeSet_GetNextAttributeType
+ *
+ * Pass in kQ3AttributeTypeNone to get first type
+ * kQ3AttributeTypeNone is returned when end of list is reached
+ */
+/*
+ * Q3AttributeSet_GetNextAttributeType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AttributeSet_GetNextAttributeType(
+ TQ3AttributeSet source,
+ TQ3AttributeType * theType);
+
+
+/*
+ * Q3AttributeSet_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AttributeSet_Submit(
+ TQ3AttributeSet attributeSet,
+ TQ3ViewObject view);
+
+
+/*
+ * Inherit from parent->child into result
+ * Result attributes are:
+ * all child attributes + all parent attributes NOT in the child
+ */
+/*
+ * Q3AttributeSet_Inherit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AttributeSet_Inherit(
+ TQ3AttributeSet parent,
+ TQ3AttributeSet child,
+ TQ3AttributeSet result);
+
+
+
+/******************************************************************************
+ ** **
+ ** Custom Element Registration **
+ ** **
+ *****************************************************************************/
+/*
+ * Element Methods -
+ *
+ * When you create a custom element, you control what structures are
+ * passed around the API. For example, you may allow the Q3Set_Add call
+ * take one type of argument, store your element internally in some
+ * abstract data type, and have the Q3Set_Get call take a different
+ * argument.
+ *
+ * For example:
+ *
+ * There are four calls which at some point will copy an element:
+ *
+ * Q3Set_Add (copied from Application memory to QuickDraw3D memory)
+ * Q3Set_Get (copied from QuickDraw3D memory to Application memory)
+ * Q3Object_Duplicate (all elements are copied internally)
+ * Q3AttributeSet_Inherit (all elements are copied internally)
+ *
+ * Either CopyAdd or CopyReplace is called during the "_Add" call.
+ * - CopyAdd is destructive and should assume "toElement" is garbage
+ * - CopyReplace is replacing an existing element.
+ *
+ * CopyGet is called during the "_Get" call.
+ *
+ * CopyDuplicate is called to duplicate an element's internal structure.
+ *
+ * Attributes Methods -
+ *
+ * For copying data while Inheriting. Element methods are used
+ * at all other times.
+ *
+ * CopyInherit is called to duplicate an element's internal structure
+ * during inheritance. You should make this as fast as possible.
+ * (for example, if your custom element contains objects, you
+ * should do a Q3Shared_GetReference instead of a Q3Object_Duplicate)
+ *
+ * The ElementDelete method will be called for all of your elements
+ * copied around via CopyAdd, CopyReplace, CopyDuplicate, and
+ * CopyInherit.
+ * If CopyGet allocates any memory in it's destination, it is up to the
+ * application to delete it on its side.
+ */
#endif /* CALL_NOT_IN_CARBON */
#define kQ3XMethodTypeElementCopyAdd Q3_METHOD_TYPE('e','c','p','a')
@@ -424,81 +423,81 @@ extern "C" {
#define kQ3XMethodTypeElementCopyGet Q3_METHOD_TYPE('e','c','p','g')
#define kQ3XMethodTypeElementCopyDuplicate Q3_METHOD_TYPE('e','c','p','d')
#define kQ3XMethodTypeElementDelete Q3_METHOD_TYPE('e','d','e','l')
- typedef CALLBACK_API_C(TQ3Status , TQ3XElementCopyAddMethod)(const void *fromAPIElement, void *toInternalElement);
- typedef CALLBACK_API_C(TQ3Status , TQ3XElementCopyReplaceMethod)(const void *fromAPIElement, void *ontoInternalElement);
- typedef CALLBACK_API_C(TQ3Status , TQ3XElementCopyGetMethod)(const void *fromInternalElement, void *toAPIElement);
- typedef CALLBACK_API_C(TQ3Status , TQ3XElementCopyDuplicateMethod)(const void *fromInternalElement, void *toInternalElement);
- typedef CALLBACK_API_C(TQ3Status , TQ3XElementDeleteMethod)(void * internalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3XElementCopyAddMethod )(const void *fromAPIElement, void *toInternalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3XElementCopyReplaceMethod )(const void *fromAPIElement, void *ontoInternalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3XElementCopyGetMethod )(const void *fromInternalElement, void *toAPIElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3XElementCopyDuplicateMethod )(const void *fromInternalElement, void *toInternalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3XElementDeleteMethod )(void * internalElement);
#if CALL_NOT_IN_CARBON
- /*
- * Q3XElementClass_Register()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3XObjectClass)
- Q3XElementClass_Register(
- TQ3ElementType * elementType,
- const char * name,
- unsigned long sizeOfElement,
- TQ3XMetaHandler metaHandler);
-
-
- /*
- * Q3XElementType_GetElementSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3XElementType_GetElementSize(
- TQ3ElementType elementType,
- unsigned long * sizeOfElement);
-
-
-
- /******************************************************************************
- ** **
- ** Custom Attribute Registration **
- ** **
- *****************************************************************************/
+/*
+ * Q3XElementClass_Register()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3XObjectClass )
+Q3XElementClass_Register(
+ TQ3ElementType * elementType,
+ const char * name,
+ unsigned long sizeOfElement,
+ TQ3XMetaHandler metaHandler);
+
+
+/*
+ * Q3XElementType_GetElementSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3XElementType_GetElementSize(
+ TQ3ElementType elementType,
+ unsigned long * sizeOfElement);
+
+
+
+/******************************************************************************
+ ** **
+ ** Custom Attribute Registration **
+ ** **
+ *****************************************************************************/
#define kQ3XMethodTypeAttributeInherit Q3_METHOD_TYPE('i','n','h','t')
#endif /* CALL_NOT_IN_CARBON */
- typedef TQ3Boolean TQ3XAttributeInheritMethod;
- /* return kQ3True or kQ3False in your metahandler */
+typedef TQ3Boolean TQ3XAttributeInheritMethod;
+/* return kQ3True or kQ3False in your metahandler */
#define kQ3XMethodTypeAttributeCopyInherit Q3_METHOD_TYPE('a','c','p','i')
- typedef CALLBACK_API_C(TQ3Status , TQ3XAttributeCopyInheritMethod)(const void *fromInternalAttribute, void *toInternalAttribute);
+typedef CALLBACK_API_C( TQ3Status , TQ3XAttributeCopyInheritMethod )(const void *fromInternalAttribute, void *toInternalAttribute);
#if CALL_NOT_IN_CARBON
- /*
- * Q3XAttributeClass_Register()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3XObjectClass)
- Q3XAttributeClass_Register(
- TQ3AttributeType * attributeType,
- const char * creatorName,
- unsigned long sizeOfElement,
- TQ3XMetaHandler metaHandler);
-
-
- /*
- * Version 1.5
- */
+/*
+ * Q3XAttributeClass_Register()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3XObjectClass )
+Q3XAttributeClass_Register(
+ TQ3AttributeType * attributeType,
+ const char * creatorName,
+ unsigned long sizeOfElement,
+ TQ3XMetaHandler metaHandler);
+
+
+/*
+ * Version 1.5
+ */
#define kQ3XMethodTypeAttributeDefault Q3_METHOD_TYPE('a','s','d','f')
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(TQ3Status , TQ3XAttributeDefaultMethod)(void * internalElement);
+typedef CALLBACK_API_C( TQ3Status , TQ3XAttributeDefaultMethod )(void * internalElement);
#define kQ3XMethodTypeAttributeIsDefault Q3_METHOD_TYPE('a','i','d','f')
- typedef CALLBACK_API_C(TQ3Boolean , TQ3XAttributeIsDefaultMethod)(void * internalElement);
+typedef CALLBACK_API_C( TQ3Boolean , TQ3XAttributeIsDefaultMethod )(void * internalElement);
@@ -507,14 +506,14 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DSET__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DSET__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DSET__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DShader.h b/include/qt/QD3DShader.h
index de8e73d3d..f264acaa0 100644
--- a/include/qt/QD3DShader.h
+++ b/include/qt/QD3DShader.h
@@ -1,18 +1,18 @@
/*
File: QD3DShader.h
-
+
Contains: QuickDraw 3D Shader / Color Routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3DSHADER__
#define __QD3DSHADER__
@@ -41,621 +41,620 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DSHADER__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DSHADER__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DSHADER__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DSHADER__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** RGB Color routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** RGB Color routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3ColorRGB_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ColorRGB *)
- Q3ColorRGB_Set(
- TQ3ColorRGB * color,
- float r,
- float g,
- float b);
-
-
- /*
- * Q3ColorARGB_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ColorARGB *)
- Q3ColorARGB_Set(
- TQ3ColorARGB * color,
- float a,
- float r,
- float g,
- float b);
-
-
- /*
- * Q3ColorRGB_Add()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ColorRGB *)
- Q3ColorRGB_Add(
- const TQ3ColorRGB * c1,
- const TQ3ColorRGB * c2,
- TQ3ColorRGB * result);
-
-
- /*
- * Q3ColorRGB_Subtract()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ColorRGB *)
- Q3ColorRGB_Subtract(
- const TQ3ColorRGB * c1,
- const TQ3ColorRGB * c2,
- TQ3ColorRGB * result);
-
-
- /*
- * Q3ColorRGB_Scale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ColorRGB *)
- Q3ColorRGB_Scale(
- const TQ3ColorRGB * color,
- float scale,
- TQ3ColorRGB * result);
-
-
- /*
- * Q3ColorRGB_Clamp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ColorRGB *)
- Q3ColorRGB_Clamp(
- const TQ3ColorRGB * color,
- TQ3ColorRGB * result);
-
-
- /*
- * Q3ColorRGB_Lerp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ColorRGB *)
- Q3ColorRGB_Lerp(
- const TQ3ColorRGB * first,
- const TQ3ColorRGB * last,
- float alpha,
- TQ3ColorRGB * result);
-
-
- /*
- * Q3ColorRGB_Accumulate()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ColorRGB *)
- Q3ColorRGB_Accumulate(
- const TQ3ColorRGB * src,
- TQ3ColorRGB * result);
+/*
+ * Q3ColorRGB_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ColorRGB * )
+Q3ColorRGB_Set(
+ TQ3ColorRGB * color,
+ float r,
+ float g,
+ float b);
+
+
+/*
+ * Q3ColorARGB_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ColorARGB * )
+Q3ColorARGB_Set(
+ TQ3ColorARGB * color,
+ float a,
+ float r,
+ float g,
+ float b);
+
+
+/*
+ * Q3ColorRGB_Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ColorRGB * )
+Q3ColorRGB_Add(
+ const TQ3ColorRGB * c1,
+ const TQ3ColorRGB * c2,
+ TQ3ColorRGB * result);
+
+
+/*
+ * Q3ColorRGB_Subtract()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ColorRGB * )
+Q3ColorRGB_Subtract(
+ const TQ3ColorRGB * c1,
+ const TQ3ColorRGB * c2,
+ TQ3ColorRGB * result);
+
+
+/*
+ * Q3ColorRGB_Scale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ColorRGB * )
+Q3ColorRGB_Scale(
+ const TQ3ColorRGB * color,
+ float scale,
+ TQ3ColorRGB * result);
+
+
+/*
+ * Q3ColorRGB_Clamp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ColorRGB * )
+Q3ColorRGB_Clamp(
+ const TQ3ColorRGB * color,
+ TQ3ColorRGB * result);
+
+
+/*
+ * Q3ColorRGB_Lerp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ColorRGB * )
+Q3ColorRGB_Lerp(
+ const TQ3ColorRGB * first,
+ const TQ3ColorRGB * last,
+ float alpha,
+ TQ3ColorRGB * result);
+
+
+/*
+ * Q3ColorRGB_Accumulate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ColorRGB * )
+Q3ColorRGB_Accumulate(
+ const TQ3ColorRGB * src,
+ TQ3ColorRGB * result);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * Q3ColorRGB_Luminance()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(float *)
- Q3ColorRGB_Luminance(
- const TQ3ColorRGB * color,
- float * luminance);
+/*
+ * Q3ColorRGB_Luminance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( float * )
+Q3ColorRGB_Luminance(
+ const TQ3ColorRGB * color,
+ float * luminance);
#endif /* CALL_NOT_IN_CARBON */
- /******************************************************************************
- ** **
- ** Shader Types **
- ** **
- *****************************************************************************/
- enum TQ3ShaderUVBoundary
- {
- kQ3ShaderUVBoundaryWrap = 0,
- kQ3ShaderUVBoundaryClamp = 1
- };
- typedef enum TQ3ShaderUVBoundary TQ3ShaderUVBoundary;
-
-
- /******************************************************************************
- ** **
- ** Shader Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Shader Types **
+ ** **
+ *****************************************************************************/
+enum TQ3ShaderUVBoundary {
+ kQ3ShaderUVBoundaryWrap = 0,
+ kQ3ShaderUVBoundaryClamp = 1
+};
+typedef enum TQ3ShaderUVBoundary TQ3ShaderUVBoundary;
+
+
+/******************************************************************************
+ ** **
+ ** Shader Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Shader_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Shader_GetType(TQ3ShaderObject shader);
-
-
- /*
- * Q3Shader_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shader_Submit(
- TQ3ShaderObject shader,
- TQ3ViewObject view);
-
-
- /*
- * Q3Shader_SetUVTransform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shader_SetUVTransform(
- TQ3ShaderObject shader,
- const TQ3Matrix3x3 * uvTransform);
-
-
- /*
- * Q3Shader_GetUVTransform()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shader_GetUVTransform(
- TQ3ShaderObject shader,
- TQ3Matrix3x3 * uvTransform);
-
-
- /*
- * Q3Shader_SetUBoundary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shader_SetUBoundary(
- TQ3ShaderObject shader,
- TQ3ShaderUVBoundary uBoundary);
-
-
- /*
- * Q3Shader_SetVBoundary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shader_SetVBoundary(
- TQ3ShaderObject shader,
- TQ3ShaderUVBoundary vBoundary);
-
-
- /*
- * Q3Shader_GetUBoundary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shader_GetUBoundary(
- TQ3ShaderObject shader,
- TQ3ShaderUVBoundary * uBoundary);
-
-
- /*
- * Q3Shader_GetVBoundary()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Shader_GetVBoundary(
- TQ3ShaderObject shader,
- TQ3ShaderUVBoundary * vBoundary);
-
-
-
- /******************************************************************************
- ** **
- ** Illumination Shader Classes **
- ** **
- *****************************************************************************/
- /*
- * Q3IlluminationShader_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3IlluminationShader_GetType(TQ3ShaderObject shader);
-
-
- /*
- * Q3PhongIllumination_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ShaderObject)
- Q3PhongIllumination_New(void);
-
-
- /*
- * Q3LambertIllumination_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ShaderObject)
- Q3LambertIllumination_New(void);
-
-
- /*
- * Q3NULLIllumination_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ShaderObject)
- Q3NULLIllumination_New(void);
-
-
-
- /******************************************************************************
- ** **
- ** Surface Shader **
- ** **
- *****************************************************************************/
- /*
- * Q3SurfaceShader_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3SurfaceShader_GetType(TQ3SurfaceShaderObject shader);
-
-
-
- /******************************************************************************
- ** **
- ** Texture Shader **
- ** **
- *****************************************************************************/
- /*
- * Q3TextureShader_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ShaderObject)
- Q3TextureShader_New(TQ3TextureObject texture);
-
-
- /*
- * Q3TextureShader_GetTexture()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TextureShader_GetTexture(
- TQ3ShaderObject shader,
- TQ3TextureObject * texture);
-
-
- /*
- * Q3TextureShader_SetTexture()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TextureShader_SetTexture(
- TQ3ShaderObject shader,
- TQ3TextureObject texture);
-
-
-
- /******************************************************************************
- ** **
- ** Texture Objects **
- ** **
- *****************************************************************************/
- /*
- * Q3Texture_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Texture_GetType(TQ3TextureObject texture);
-
-
- /*
- * Q3Texture_GetWidth()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Texture_GetWidth(
- TQ3TextureObject texture,
- unsigned long * width);
-
-
- /*
- * Q3Texture_GetHeight()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Texture_GetHeight(
- TQ3TextureObject texture,
- unsigned long * height);
-
-
-
- /******************************************************************************
- ** **
- ** Pixmap Texture **
- ** **
- *****************************************************************************/
- /*
- * Q3PixmapTexture_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TextureObject)
- Q3PixmapTexture_New(const TQ3StoragePixmap * pixmap);
-
-
- /*
- * Q3PixmapTexture_GetPixmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapTexture_GetPixmap(
- TQ3TextureObject texture,
- TQ3StoragePixmap * pixmap);
-
-
- /*
- * Q3PixmapTexture_SetPixmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PixmapTexture_SetPixmap(
- TQ3TextureObject texture,
- const TQ3StoragePixmap * pixmap);
-
-
-
- /******************************************************************************
- ** **
- ** Mipmap Texture **
- ** **
- *****************************************************************************/
- /*
- * Q3MipmapTexture_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TextureObject)
- Q3MipmapTexture_New(const TQ3Mipmap * mipmap);
-
-
- /*
- * Q3MipmapTexture_GetMipmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MipmapTexture_GetMipmap(
- TQ3TextureObject texture,
- TQ3Mipmap * mipmap);
-
-
- /*
- * Q3MipmapTexture_SetMipmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MipmapTexture_SetMipmap(
- TQ3TextureObject texture,
- const TQ3Mipmap * mipmap);
-
-
- /******************************************************************************
- ** **
- ** Compressed Pixmap Texture **
- ** **
- *****************************************************************************/
- /*
- * Q3CompressedPixmapTexture_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TextureObject)
- Q3CompressedPixmapTexture_New(const TQ3CompressedPixmap * compressedPixmap);
-
-
- /*
- * Q3CompressedPixmapTexture_GetCompressedPixmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3CompressedPixmapTexture_GetCompressedPixmap(
- TQ3TextureObject texture,
- TQ3CompressedPixmap * compressedPixmap);
-
-
- /*
- * Q3CompressedPixmapTexture_SetCompressedPixmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3CompressedPixmapTexture_SetCompressedPixmap(
- TQ3TextureObject texture,
- const TQ3CompressedPixmap * compressedPixmap);
-
-
- /*
- * Q3CompressedPixmapTexture_CompressImage()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3CompressedPixmapTexture_CompressImage(
- TQ3CompressedPixmap * compressedPixmap,
- PixMapHandle sourcePixMap,
- CodecType codecType,
- CodecComponent codecComponent,
- short codedDepth,
- CodecQ codecQuality);
+/*
+ * Q3Shader_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Shader_GetType(TQ3ShaderObject shader);
+
+
+/*
+ * Q3Shader_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shader_Submit(
+ TQ3ShaderObject shader,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3Shader_SetUVTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shader_SetUVTransform(
+ TQ3ShaderObject shader,
+ const TQ3Matrix3x3 * uvTransform);
+
+
+/*
+ * Q3Shader_GetUVTransform()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shader_GetUVTransform(
+ TQ3ShaderObject shader,
+ TQ3Matrix3x3 * uvTransform);
+
+
+/*
+ * Q3Shader_SetUBoundary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shader_SetUBoundary(
+ TQ3ShaderObject shader,
+ TQ3ShaderUVBoundary uBoundary);
+
+
+/*
+ * Q3Shader_SetVBoundary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shader_SetVBoundary(
+ TQ3ShaderObject shader,
+ TQ3ShaderUVBoundary vBoundary);
+
+
+/*
+ * Q3Shader_GetUBoundary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shader_GetUBoundary(
+ TQ3ShaderObject shader,
+ TQ3ShaderUVBoundary * uBoundary);
+
+
+/*
+ * Q3Shader_GetVBoundary()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Shader_GetVBoundary(
+ TQ3ShaderObject shader,
+ TQ3ShaderUVBoundary * vBoundary);
+
+
+
+/******************************************************************************
+ ** **
+ ** Illumination Shader Classes **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3IlluminationShader_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3IlluminationShader_GetType(TQ3ShaderObject shader);
+
+
+/*
+ * Q3PhongIllumination_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ShaderObject )
+Q3PhongIllumination_New(void);
+
+
+/*
+ * Q3LambertIllumination_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ShaderObject )
+Q3LambertIllumination_New(void);
+
+
+/*
+ * Q3NULLIllumination_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ShaderObject )
+Q3NULLIllumination_New(void);
+
+
+
+/******************************************************************************
+ ** **
+ ** Surface Shader **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3SurfaceShader_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3SurfaceShader_GetType(TQ3SurfaceShaderObject shader);
+
+
+
+/******************************************************************************
+ ** **
+ ** Texture Shader **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3TextureShader_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ShaderObject )
+Q3TextureShader_New(TQ3TextureObject texture);
+
+
+/*
+ * Q3TextureShader_GetTexture()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TextureShader_GetTexture(
+ TQ3ShaderObject shader,
+ TQ3TextureObject * texture);
+
+
+/*
+ * Q3TextureShader_SetTexture()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TextureShader_SetTexture(
+ TQ3ShaderObject shader,
+ TQ3TextureObject texture);
+
+
+
+/******************************************************************************
+ ** **
+ ** Texture Objects **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Texture_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Texture_GetType(TQ3TextureObject texture);
+
+
+/*
+ * Q3Texture_GetWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Texture_GetWidth(
+ TQ3TextureObject texture,
+ unsigned long * width);
+
+
+/*
+ * Q3Texture_GetHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Texture_GetHeight(
+ TQ3TextureObject texture,
+ unsigned long * height);
+
+
+
+/******************************************************************************
+ ** **
+ ** Pixmap Texture **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3PixmapTexture_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TextureObject )
+Q3PixmapTexture_New(const TQ3StoragePixmap * pixmap);
+
+
+/*
+ * Q3PixmapTexture_GetPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapTexture_GetPixmap(
+ TQ3TextureObject texture,
+ TQ3StoragePixmap * pixmap);
+
+
+/*
+ * Q3PixmapTexture_SetPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PixmapTexture_SetPixmap(
+ TQ3TextureObject texture,
+ const TQ3StoragePixmap * pixmap);
+
+
+
+/******************************************************************************
+ ** **
+ ** Mipmap Texture **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3MipmapTexture_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TextureObject )
+Q3MipmapTexture_New(const TQ3Mipmap * mipmap);
+
+
+/*
+ * Q3MipmapTexture_GetMipmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MipmapTexture_GetMipmap(
+ TQ3TextureObject texture,
+ TQ3Mipmap * mipmap);
+
+
+/*
+ * Q3MipmapTexture_SetMipmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MipmapTexture_SetMipmap(
+ TQ3TextureObject texture,
+ const TQ3Mipmap * mipmap);
+
+
+/******************************************************************************
+ ** **
+ ** Compressed Pixmap Texture **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3CompressedPixmapTexture_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TextureObject )
+Q3CompressedPixmapTexture_New(const TQ3CompressedPixmap * compressedPixmap);
+
+
+/*
+ * Q3CompressedPixmapTexture_GetCompressedPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3CompressedPixmapTexture_GetCompressedPixmap(
+ TQ3TextureObject texture,
+ TQ3CompressedPixmap * compressedPixmap);
+
+
+/*
+ * Q3CompressedPixmapTexture_SetCompressedPixmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3CompressedPixmapTexture_SetCompressedPixmap(
+ TQ3TextureObject texture,
+ const TQ3CompressedPixmap * compressedPixmap);
+
+
+/*
+ * Q3CompressedPixmapTexture_CompressImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3CompressedPixmapTexture_CompressImage(
+ TQ3CompressedPixmap * compressedPixmap,
+ PixMapHandle sourcePixMap,
+ CodecType codecType,
+ CodecComponent codecComponent,
+ short codedDepth,
+ CodecQ codecQuality);
@@ -667,22 +666,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DSHADER__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DSHADER__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DSHADER__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DStorage.h b/include/qt/QD3DStorage.h
index d7491afbc..cb8114e16 100644
--- a/include/qt/QD3DStorage.h
+++ b/include/qt/QD3DStorage.h
@@ -1,18 +1,18 @@
/*
File: QD3DStorage.h
-
+
Contains: Abstraction to deal with various types of stream-based storage devices
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3DSTORAGE__
#define __QD3DSTORAGE__
@@ -35,7 +35,7 @@
#if TARGET_OS_WIN32
-#include "windows.h"
+ #include "windows.h"
#endif /* TARGET_OS_WIN32 */
#include "stdio.h"
@@ -54,364 +54,364 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DSTORAGE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DSTORAGE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DSTORAGE__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DSTORAGE__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Storage Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Storage Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Storage_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Storage_GetType(TQ3StorageObject storage);
-
-
- /*
- * Q3Storage_GetSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Storage_GetSize(
- TQ3StorageObject storage,
- unsigned long * size);
-
-
- /*
- * Reads "dataSize" bytes starting at offset in storage, copying into data.
- * sizeRead returns the number of bytes filled in.
- *
- * You may assume if *sizeRead < dataSize, then EOF is at offset + *sizeRead
- */
- /*
- * Q3Storage_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Storage_GetData(
- TQ3StorageObject storage,
- unsigned long offset,
- unsigned long dataSize,
- unsigned char * data,
- unsigned long * sizeRead);
-
-
- /*
- * Write "dataSize" bytes starting at offset in storage, copying from data.
- * sizeWritten returns the number of bytes filled in.
- *
- * You may assume if *sizeRead < dataSize, then EOF is at offset + *sizeWritten
- */
- /*
- * Q3Storage_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Storage_SetData(
- TQ3StorageObject storage,
- unsigned long offset,
- unsigned long dataSize,
- const unsigned char * data,
- unsigned long * sizeWritten);
-
-
- /******************************************************************************
- ** **
- ** Memory Storage Prototypes **
- ** **
- *****************************************************************************/
- /*
- * Q3MemoryStorage_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3MemoryStorage_GetType(TQ3StorageObject storage);
-
-
- /*
- * These calls COPY the buffer into QD3D space
- */
- /*
- * Q3MemoryStorage_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StorageObject)
- Q3MemoryStorage_New(
- const unsigned char * buffer,
- unsigned long validSize);
-
-
- /*
- * Q3MemoryStorage_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MemoryStorage_Set(
- TQ3StorageObject storage,
- const unsigned char * buffer,
- unsigned long validSize);
-
-
- /*
- * These calls use the pointer given - you must dispose it when you're through
- */
+/*
+ * Q3Storage_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Storage_GetType(TQ3StorageObject storage);
+
+
+/*
+ * Q3Storage_GetSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Storage_GetSize(
+ TQ3StorageObject storage,
+ unsigned long * size);
+
+
+/*
+ * Reads "dataSize" bytes starting at offset in storage, copying into data.
+ * sizeRead returns the number of bytes filled in.
+ *
+ * You may assume if *sizeRead < dataSize, then EOF is at offset + *sizeRead
+ */
+/*
+ * Q3Storage_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Storage_GetData(
+ TQ3StorageObject storage,
+ unsigned long offset,
+ unsigned long dataSize,
+ unsigned char * data,
+ unsigned long * sizeRead);
+
+
+/*
+ * Write "dataSize" bytes starting at offset in storage, copying from data.
+ * sizeWritten returns the number of bytes filled in.
+ *
+ * You may assume if *sizeRead < dataSize, then EOF is at offset + *sizeWritten
+ */
+/*
+ * Q3Storage_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Storage_SetData(
+ TQ3StorageObject storage,
+ unsigned long offset,
+ unsigned long dataSize,
+ const unsigned char * data,
+ unsigned long * sizeWritten);
+
+
+/******************************************************************************
+ ** **
+ ** Memory Storage Prototypes **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3MemoryStorage_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3MemoryStorage_GetType(TQ3StorageObject storage);
+
+
+/*
+ * These calls COPY the buffer into QD3D space
+ */
+/*
+ * Q3MemoryStorage_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StorageObject )
+Q3MemoryStorage_New(
+ const unsigned char * buffer,
+ unsigned long validSize);
+
+
+/*
+ * Q3MemoryStorage_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MemoryStorage_Set(
+ TQ3StorageObject storage,
+ const unsigned char * buffer,
+ unsigned long validSize);
+
+
+/*
+ * These calls use the pointer given - you must dispose it when you're through
+ */
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * Q3MemoryStorage_NewBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StorageObject)
- Q3MemoryStorage_NewBuffer(
- unsigned char * buffer,
- unsigned long validSize,
- unsigned long bufferSize);
-
-
- /*
- * Q3MemoryStorage_SetBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MemoryStorage_SetBuffer(
- TQ3StorageObject storage,
- unsigned char * buffer,
- unsigned long validSize,
- unsigned long bufferSize);
-
-
- /*
- * Q3MemoryStorage_GetBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MemoryStorage_GetBuffer(
- TQ3StorageObject storage,
- unsigned char ** buffer,
- unsigned long * validSize,
- unsigned long * bufferSize);
+/*
+ * Q3MemoryStorage_NewBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StorageObject )
+Q3MemoryStorage_NewBuffer(
+ unsigned char * buffer,
+ unsigned long validSize,
+ unsigned long bufferSize);
+
+
+/*
+ * Q3MemoryStorage_SetBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MemoryStorage_SetBuffer(
+ TQ3StorageObject storage,
+ unsigned char * buffer,
+ unsigned long validSize,
+ unsigned long bufferSize);
+
+
+/*
+ * Q3MemoryStorage_GetBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MemoryStorage_GetBuffer(
+ TQ3StorageObject storage,
+ unsigned char ** buffer,
+ unsigned long * validSize,
+ unsigned long * bufferSize);
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_OS_MAC
- /******************************************************************************
- ** **
- ** Macintosh Handles Prototypes **
- ** **
- *****************************************************************************/
- /* Handle Storage is a subclass of Memory Storage */
+/******************************************************************************
+ ** **
+ ** Macintosh Handles Prototypes **
+ ** **
+ *****************************************************************************/
+/* Handle Storage is a subclass of Memory Storage */
#if CALL_NOT_IN_CARBON
- /*
- * Q3HandleStorage_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StorageObject)
- Q3HandleStorage_New(
- Handle handle,
- unsigned long validSize);
-
-
- /*
- * Q3HandleStorage_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3HandleStorage_Set(
- TQ3StorageObject storage,
- Handle handle,
- unsigned long validSize);
-
-
- /*
- * Q3HandleStorage_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3HandleStorage_Get(
- TQ3StorageObject storage,
- Handle * handle,
- unsigned long * validSize);
-
-
- /******************************************************************************
- ** **
- ** Macintosh Storage Prototypes **
- ** **
- *****************************************************************************/
- /*
- * Q3MacintoshStorage_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StorageObject)
- Q3MacintoshStorage_New(short fsRefNum);
-
-
- /* Note: This storage is assumed open */
- /*
- * Q3MacintoshStorage_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacintoshStorage_Set(
- TQ3StorageObject storage,
- short fsRefNum);
-
-
- /*
- * Q3MacintoshStorage_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MacintoshStorage_Get(
- TQ3StorageObject storage,
- short * fsRefNum);
-
-
- /*
- * Q3MacintoshStorage_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3MacintoshStorage_GetType(TQ3StorageObject storage);
-
-
-
- /******************************************************************************
- ** **
- ** Macintosh FSSpec Storage Prototypes **
- ** **
- *****************************************************************************/
- /*
- * Q3FSSpecStorage_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StorageObject)
- Q3FSSpecStorage_New(const FSSpec * fs);
-
-
- /*
- * Q3FSSpecStorage_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3FSSpecStorage_Set(
- TQ3StorageObject storage,
- const FSSpec * fs);
-
-
- /*
- * Q3FSSpecStorage_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3FSSpecStorage_Get(
- TQ3StorageObject storage,
- FSSpec * fs);
+/*
+ * Q3HandleStorage_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StorageObject )
+Q3HandleStorage_New(
+ Handle handle,
+ unsigned long validSize);
+
+
+/*
+ * Q3HandleStorage_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3HandleStorage_Set(
+ TQ3StorageObject storage,
+ Handle handle,
+ unsigned long validSize);
+
+
+/*
+ * Q3HandleStorage_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3HandleStorage_Get(
+ TQ3StorageObject storage,
+ Handle * handle,
+ unsigned long * validSize);
+
+
+/******************************************************************************
+ ** **
+ ** Macintosh Storage Prototypes **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3MacintoshStorage_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StorageObject )
+Q3MacintoshStorage_New(short fsRefNum);
+
+
+/* Note: This storage is assumed open */
+/*
+ * Q3MacintoshStorage_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacintoshStorage_Set(
+ TQ3StorageObject storage,
+ short fsRefNum);
+
+
+/*
+ * Q3MacintoshStorage_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MacintoshStorage_Get(
+ TQ3StorageObject storage,
+ short * fsRefNum);
+
+
+/*
+ * Q3MacintoshStorage_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3MacintoshStorage_GetType(TQ3StorageObject storage);
+
+
+
+/******************************************************************************
+ ** **
+ ** Macintosh FSSpec Storage Prototypes **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3FSSpecStorage_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StorageObject )
+Q3FSSpecStorage_New(const FSSpec * fs);
+
+
+/*
+ * Q3FSSpecStorage_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3FSSpecStorage_Set(
+ TQ3StorageObject storage,
+ const FSSpec * fs);
+
+
+/*
+ * Q3FSSpecStorage_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3FSSpecStorage_Get(
+ TQ3StorageObject storage,
+ FSSpec * fs);
#endif /* CALL_NOT_IN_CARBON */
@@ -419,50 +419,50 @@ extern "C" {
#endif /* TARGET_OS_MAC */
#if TARGET_OS_WIN32
- /******************************************************************************
- ** **
- ** Win32 HANDLE Storage Prototypes **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Win32 HANDLE Storage Prototypes **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Win32Storage_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StorageObject)
- Q3Win32Storage_New(HANDLE hFile);
-
-
- /*
- * Q3Win32Storage_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Win32Storage_Set(
- TQ3StorageObject storage,
- HANDLE hFile);
-
-
- /*
- * Q3Win32Storage_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Win32Storage_Get(
- TQ3StorageObject storage,
- HANDLE * hFile);
+/*
+ * Q3Win32Storage_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StorageObject )
+Q3Win32Storage_New(HANDLE hFile);
+
+
+/*
+ * Q3Win32Storage_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Win32Storage_Set(
+ TQ3StorageObject storage,
+ HANDLE hFile);
+
+
+/*
+ * Q3Win32Storage_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Win32Storage_Get(
+ TQ3StorageObject storage,
+ HANDLE * hFile);
#endif /* CALL_NOT_IN_CARBON */
@@ -470,63 +470,63 @@ extern "C" {
#endif /* TARGET_OS_WIN32 */
- /******************************************************************************
- ** **
- ** Unix Prototypes **
- ** The Unix Storage prototypes have been obsoleted. **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Unix Prototypes **
+ ** The Unix Storage prototypes have been obsoleted. **
+ ** **
+ *****************************************************************************/
- /******************************************************************************
- ** **
- ** Unix Path Prototypes **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Unix Path Prototypes **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3UnixPathStorage_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StorageObject)
- Q3UnixPathStorage_New(const char * pathName);
-
-
- /* C string */
- /*
- * Q3UnixPathStorage_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3UnixPathStorage_Set(
- TQ3StorageObject storage,
- const char * pathName);
-
-
- /* C string */
- /*
- * Q3UnixPathStorage_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3UnixPathStorage_Get(
- TQ3StorageObject storage,
- char * pathName);
-
-
- /* pathName is a buffer */
+/*
+ * Q3UnixPathStorage_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StorageObject )
+Q3UnixPathStorage_New(const char * pathName);
+
+
+/* C string */
+/*
+ * Q3UnixPathStorage_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3UnixPathStorage_Set(
+ TQ3StorageObject storage,
+ const char * pathName);
+
+
+/* C string */
+/*
+ * Q3UnixPathStorage_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3UnixPathStorage_Get(
+ TQ3StorageObject storage,
+ char * pathName);
+
+
+/* pathName is a buffer */
@@ -534,22 +534,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DSTORAGE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DSTORAGE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DSTORAGE__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DString.h b/include/qt/QD3DString.h
index e4be3620f..3b3bacfd5 100644
--- a/include/qt/QD3DString.h
+++ b/include/qt/QD3DString.h
@@ -1,18 +1,18 @@
/*
File: QD3DString.h
-
+
Contains: Q3CString methods
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __QD3DSTRING__
#define __QD3DSTRING__
@@ -37,119 +37,119 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DSTRING__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DSTRING__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DSTRING__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DSTRING__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** String Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** String Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3String_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3String_GetType(TQ3StringObject stringObj);
-
-
-
- /******************************************************************************
- ** **
- ** C String Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3CString_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StringObject)
- Q3CString_New(const char * str);
-
-
- /*
- * Q3CString_GetLength()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3CString_GetLength(
- TQ3StringObject stringObj,
- unsigned long * length);
-
-
- /*
- * Q3CString_SetString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3CString_SetString(
- TQ3StringObject stringObj,
- const char * str);
+/*
+ * Q3String_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3String_GetType(TQ3StringObject stringObj);
+
+
+
+/******************************************************************************
+ ** **
+ ** C String Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3CString_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StringObject )
+Q3CString_New(const char * str);
+
+
+/*
+ * Q3CString_GetLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3CString_GetLength(
+ TQ3StringObject stringObj,
+ unsigned long * length);
+
+
+/*
+ * Q3CString_SetString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3CString_SetString(
+ TQ3StringObject stringObj,
+ const char * str);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * Q3CString_GetString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3CString_GetString(
- TQ3StringObject stringObj,
- char ** str);
-
-
- /*
- * Q3CString_EmptyData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3CString_EmptyData(char ** str);
+/*
+ * Q3CString_GetString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3CString_GetString(
+ TQ3StringObject stringObj,
+ char ** str);
+
+
+/*
+ * Q3CString_EmptyData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3CString_EmptyData(char ** str);
#endif /* CALL_NOT_IN_CARBON */
@@ -157,22 +157,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DSTRING__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DSTRING__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DSTRING__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DStyle.h b/include/qt/QD3DStyle.h
index e0e8efa46..a6cb305e8 100644
--- a/include/qt/QD3DStyle.h
+++ b/include/qt/QD3DStyle.h
@@ -1,18 +1,18 @@
/*
File: QD3DStyle.h
-
+
Contains: Q3Style types and routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DSTYLE__
#define __QD3DSTYLE__
@@ -37,835 +37,824 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DSTYLE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DSTYLE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DSTYLE__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DSTYLE__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Style Base Class Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Style Base Class Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Style_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Style_GetType(TQ3StyleObject style);
-
-
- /*
- * Q3Style_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Style_Submit(
- TQ3StyleObject style,
- TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** Subdivision **
- ** **
- *****************************************************************************/
+/*
+ * Q3Style_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Style_GetType(TQ3StyleObject style);
+
+
+/*
+ * Q3Style_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Style_Submit(
+ TQ3StyleObject style,
+ TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** Subdivision **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3SubdivisionMethod
- {
- kQ3SubdivisionMethodConstant = 0,
- kQ3SubdivisionMethodWorldSpace = 1,
- kQ3SubdivisionMethodScreenSpace = 2
- };
- typedef enum TQ3SubdivisionMethod TQ3SubdivisionMethod;
-
-
- struct TQ3SubdivisionStyleData
- {
- TQ3SubdivisionMethod method;
- float c1;
- float c2;
- };
- typedef struct TQ3SubdivisionStyleData TQ3SubdivisionStyleData;
+enum TQ3SubdivisionMethod {
+ kQ3SubdivisionMethodConstant = 0,
+ kQ3SubdivisionMethodWorldSpace = 1,
+ kQ3SubdivisionMethodScreenSpace = 2
+};
+typedef enum TQ3SubdivisionMethod TQ3SubdivisionMethod;
+
+
+struct TQ3SubdivisionStyleData {
+ TQ3SubdivisionMethod method;
+ float c1;
+ float c2;
+};
+typedef struct TQ3SubdivisionStyleData TQ3SubdivisionStyleData;
#if CALL_NOT_IN_CARBON
- /*
- * Q3SubdivisionStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3SubdivisionStyle_New(const TQ3SubdivisionStyleData * data);
-
-
- /*
- * Q3SubdivisionStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SubdivisionStyle_Submit(
- const TQ3SubdivisionStyleData * data,
- TQ3ViewObject view);
-
-
- /*
- * Q3SubdivisionStyle_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SubdivisionStyle_SetData(
- TQ3StyleObject subdiv,
- const TQ3SubdivisionStyleData * data);
-
-
- /*
- * Q3SubdivisionStyle_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3SubdivisionStyle_GetData(
- TQ3StyleObject subdiv,
- TQ3SubdivisionStyleData * data);
-
-
-
- /******************************************************************************
- ** **
- ** Pick ID **
- ** **
- *****************************************************************************/
- /*
- * Q3PickIDStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3PickIDStyle_New(unsigned long id);
-
-
- /*
- * Q3PickIDStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PickIDStyle_Submit(
- unsigned long id,
- TQ3ViewObject view);
-
-
- /*
- * Q3PickIDStyle_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PickIDStyle_Get(
- TQ3StyleObject pickIDObject,
- unsigned long * id);
-
-
- /*
- * Q3PickIDStyle_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PickIDStyle_Set(
- TQ3StyleObject pickIDObject,
- unsigned long id);
-
-
-
- /******************************************************************************
- ** **
- ** Pick Parts **
- ** **
- *****************************************************************************/
+/*
+ * Q3SubdivisionStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3SubdivisionStyle_New(const TQ3SubdivisionStyleData * data);
+
+
+/*
+ * Q3SubdivisionStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SubdivisionStyle_Submit(
+ const TQ3SubdivisionStyleData * data,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3SubdivisionStyle_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SubdivisionStyle_SetData(
+ TQ3StyleObject subdiv,
+ const TQ3SubdivisionStyleData * data);
+
+
+/*
+ * Q3SubdivisionStyle_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3SubdivisionStyle_GetData(
+ TQ3StyleObject subdiv,
+ TQ3SubdivisionStyleData * data);
+
+
+
+/******************************************************************************
+ ** **
+ ** Pick ID **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3PickIDStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3PickIDStyle_New(unsigned long id);
+
+
+/*
+ * Q3PickIDStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PickIDStyle_Submit(
+ unsigned long id,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3PickIDStyle_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PickIDStyle_Get(
+ TQ3StyleObject pickIDObject,
+ unsigned long * id);
+
+
+/*
+ * Q3PickIDStyle_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PickIDStyle_Set(
+ TQ3StyleObject pickIDObject,
+ unsigned long id);
+
+
+
+/******************************************************************************
+ ** **
+ ** Pick Parts **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3PickPartsMasks
- {
- kQ3PickPartsObject = 0,
- kQ3PickPartsMaskFace = 1 << 0,
- kQ3PickPartsMaskEdge = 1 << 1,
- kQ3PickPartsMaskVertex = 1 << 2
- };
- typedef enum TQ3PickPartsMasks TQ3PickPartsMasks;
+enum TQ3PickPartsMasks {
+ kQ3PickPartsObject = 0,
+ kQ3PickPartsMaskFace = 1 << 0,
+ kQ3PickPartsMaskEdge = 1 << 1,
+ kQ3PickPartsMaskVertex = 1 << 2
+};
+typedef enum TQ3PickPartsMasks TQ3PickPartsMasks;
- typedef unsigned long TQ3PickParts;
+typedef unsigned long TQ3PickParts;
#if CALL_NOT_IN_CARBON
- /*
- * Q3PickPartsStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3PickPartsStyle_New(TQ3PickParts parts);
-
-
- /*
- * Q3PickPartsStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PickPartsStyle_Submit(
- TQ3PickParts parts,
- TQ3ViewObject view);
-
-
- /*
- * Q3PickPartsStyle_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PickPartsStyle_Get(
- TQ3StyleObject pickPartsObject,
- TQ3PickParts * parts);
-
-
- /*
- * Q3PickPartsStyle_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3PickPartsStyle_Set(
- TQ3StyleObject pickPartsObject,
- TQ3PickParts parts);
-
-
-
- /******************************************************************************
- ** **
- ** Receive Shadows **
- ** **
- *****************************************************************************/
- /*
- * Q3ReceiveShadowsStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3ReceiveShadowsStyle_New(TQ3Boolean receives);
-
-
- /*
- * Q3ReceiveShadowsStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ReceiveShadowsStyle_Submit(
- TQ3Boolean receives,
- TQ3ViewObject view);
-
-
- /*
- * Q3ReceiveShadowsStyle_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ReceiveShadowsStyle_Get(
- TQ3StyleObject styleObject,
- TQ3Boolean * receives);
-
-
- /*
- * Q3ReceiveShadowsStyle_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ReceiveShadowsStyle_Set(
- TQ3StyleObject styleObject,
- TQ3Boolean receives);
-
-
-
- /******************************************************************************
- ** **
- ** Fill Styles **
- ** **
- *****************************************************************************/
+/*
+ * Q3PickPartsStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3PickPartsStyle_New(TQ3PickParts parts);
+
+
+/*
+ * Q3PickPartsStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PickPartsStyle_Submit(
+ TQ3PickParts parts,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3PickPartsStyle_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PickPartsStyle_Get(
+ TQ3StyleObject pickPartsObject,
+ TQ3PickParts * parts);
+
+
+/*
+ * Q3PickPartsStyle_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3PickPartsStyle_Set(
+ TQ3StyleObject pickPartsObject,
+ TQ3PickParts parts);
+
+
+
+/******************************************************************************
+ ** **
+ ** Receive Shadows **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ReceiveShadowsStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3ReceiveShadowsStyle_New(TQ3Boolean receives);
+
+
+/*
+ * Q3ReceiveShadowsStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ReceiveShadowsStyle_Submit(
+ TQ3Boolean receives,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3ReceiveShadowsStyle_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ReceiveShadowsStyle_Get(
+ TQ3StyleObject styleObject,
+ TQ3Boolean * receives);
+
+
+/*
+ * Q3ReceiveShadowsStyle_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ReceiveShadowsStyle_Set(
+ TQ3StyleObject styleObject,
+ TQ3Boolean receives);
+
+
+
+/******************************************************************************
+ ** **
+ ** Fill Styles **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3FillStyle
- {
- kQ3FillStyleFilled = 0,
- kQ3FillStyleEdges = 1,
- kQ3FillStylePoints = 2
- };
- typedef enum TQ3FillStyle TQ3FillStyle;
+enum TQ3FillStyle {
+ kQ3FillStyleFilled = 0,
+ kQ3FillStyleEdges = 1,
+ kQ3FillStylePoints = 2
+};
+typedef enum TQ3FillStyle TQ3FillStyle;
#if CALL_NOT_IN_CARBON
- /*
- * Q3FillStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3FillStyle_New(TQ3FillStyle fillStyle);
-
-
- /*
- * Q3FillStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3FillStyle_Submit(
- TQ3FillStyle fillStyle,
- TQ3ViewObject view);
-
-
- /*
- * Q3FillStyle_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3FillStyle_Get(
- TQ3StyleObject styleObject,
- TQ3FillStyle * fillStyle);
-
-
- /*
- * Q3FillStyle_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3FillStyle_Set(
- TQ3StyleObject styleObject,
- TQ3FillStyle fillStyle);
-
-
-
- /******************************************************************************
- ** **
- ** Backfacing Styles **
- ** **
- *****************************************************************************/
+/*
+ * Q3FillStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3FillStyle_New(TQ3FillStyle fillStyle);
+
+
+/*
+ * Q3FillStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3FillStyle_Submit(
+ TQ3FillStyle fillStyle,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3FillStyle_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3FillStyle_Get(
+ TQ3StyleObject styleObject,
+ TQ3FillStyle * fillStyle);
+
+
+/*
+ * Q3FillStyle_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3FillStyle_Set(
+ TQ3StyleObject styleObject,
+ TQ3FillStyle fillStyle);
+
+
+
+/******************************************************************************
+ ** **
+ ** Backfacing Styles **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3BackfacingStyle
- {
- kQ3BackfacingStyleBoth = 0,
- kQ3BackfacingStyleRemove = 1,
- kQ3BackfacingStyleFlip = 2
- };
- typedef enum TQ3BackfacingStyle TQ3BackfacingStyle;
+enum TQ3BackfacingStyle {
+ kQ3BackfacingStyleBoth = 0,
+ kQ3BackfacingStyleRemove = 1,
+ kQ3BackfacingStyleFlip = 2
+};
+typedef enum TQ3BackfacingStyle TQ3BackfacingStyle;
#if CALL_NOT_IN_CARBON
- /*
- * Q3BackfacingStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3BackfacingStyle_New(TQ3BackfacingStyle backfacingStyle);
-
-
- /*
- * Q3BackfacingStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3BackfacingStyle_Submit(
- TQ3BackfacingStyle backfacingStyle,
- TQ3ViewObject view);
-
-
- /*
- * Q3BackfacingStyle_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3BackfacingStyle_Get(
- TQ3StyleObject backfacingObject,
- TQ3BackfacingStyle * backfacingStyle);
-
-
- /*
- * Q3BackfacingStyle_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3BackfacingStyle_Set(
- TQ3StyleObject backfacingObject,
- TQ3BackfacingStyle backfacingStyle);
-
-
-
- /******************************************************************************
- ** **
- ** Interpolation Types **
- ** **
- *****************************************************************************/
+/*
+ * Q3BackfacingStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3BackfacingStyle_New(TQ3BackfacingStyle backfacingStyle);
+
+
+/*
+ * Q3BackfacingStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3BackfacingStyle_Submit(
+ TQ3BackfacingStyle backfacingStyle,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3BackfacingStyle_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3BackfacingStyle_Get(
+ TQ3StyleObject backfacingObject,
+ TQ3BackfacingStyle * backfacingStyle);
+
+
+/*
+ * Q3BackfacingStyle_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3BackfacingStyle_Set(
+ TQ3StyleObject backfacingObject,
+ TQ3BackfacingStyle backfacingStyle);
+
+
+
+/******************************************************************************
+ ** **
+ ** Interpolation Types **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3InterpolationStyle
- {
- kQ3InterpolationStyleNone = 0,
- kQ3InterpolationStyleVertex = 1,
- kQ3InterpolationStylePixel = 2
- };
- typedef enum TQ3InterpolationStyle TQ3InterpolationStyle;
+enum TQ3InterpolationStyle {
+ kQ3InterpolationStyleNone = 0,
+ kQ3InterpolationStyleVertex = 1,
+ kQ3InterpolationStylePixel = 2
+};
+typedef enum TQ3InterpolationStyle TQ3InterpolationStyle;
#if CALL_NOT_IN_CARBON
- /*
- * Q3InterpolationStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3InterpolationStyle_New(TQ3InterpolationStyle interpolationStyle);
-
-
- /*
- * Q3InterpolationStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InterpolationStyle_Submit(
- TQ3InterpolationStyle interpolationStyle,
- TQ3ViewObject view);
-
-
- /*
- * Q3InterpolationStyle_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InterpolationStyle_Get(
- TQ3StyleObject interpolationObject,
- TQ3InterpolationStyle * interpolationStyle);
-
-
- /*
- * Q3InterpolationStyle_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3InterpolationStyle_Set(
- TQ3StyleObject interpolationObject,
- TQ3InterpolationStyle interpolationStyle);
-
-
-
- /******************************************************************************
- ** **
- ** Highlight Style **
- ** **
- *****************************************************************************/
- /*
- * Q3HighlightStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3HighlightStyle_New(TQ3AttributeSet highlightAttribute);
-
-
- /*
- * Q3HighlightStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3HighlightStyle_Submit(
- TQ3AttributeSet highlightAttribute,
- TQ3ViewObject view);
-
-
- /*
- * Q3HighlightStyle_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3HighlightStyle_Get(
- TQ3StyleObject highlight,
- TQ3AttributeSet * highlightAttribute);
-
-
- /*
- * Q3HighlightStyle_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3HighlightStyle_Set(
- TQ3StyleObject highlight,
- TQ3AttributeSet highlightAttribute);
-
-
-
- /******************************************************************************
- ** **
- ** FrontFacing Direction Styles **
- ** **
- *****************************************************************************/
+/*
+ * Q3InterpolationStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3InterpolationStyle_New(TQ3InterpolationStyle interpolationStyle);
+
+
+/*
+ * Q3InterpolationStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InterpolationStyle_Submit(
+ TQ3InterpolationStyle interpolationStyle,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3InterpolationStyle_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InterpolationStyle_Get(
+ TQ3StyleObject interpolationObject,
+ TQ3InterpolationStyle * interpolationStyle);
+
+
+/*
+ * Q3InterpolationStyle_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3InterpolationStyle_Set(
+ TQ3StyleObject interpolationObject,
+ TQ3InterpolationStyle interpolationStyle);
+
+
+
+/******************************************************************************
+ ** **
+ ** Highlight Style **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3HighlightStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3HighlightStyle_New(TQ3AttributeSet highlightAttribute);
+
+
+/*
+ * Q3HighlightStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3HighlightStyle_Submit(
+ TQ3AttributeSet highlightAttribute,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3HighlightStyle_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3HighlightStyle_Get(
+ TQ3StyleObject highlight,
+ TQ3AttributeSet * highlightAttribute);
+
+
+/*
+ * Q3HighlightStyle_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3HighlightStyle_Set(
+ TQ3StyleObject highlight,
+ TQ3AttributeSet highlightAttribute);
+
+
+
+/******************************************************************************
+ ** **
+ ** FrontFacing Direction Styles **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3OrientationStyle
- {
- kQ3OrientationStyleCounterClockwise = 0,
- kQ3OrientationStyleClockwise = 1
- };
- typedef enum TQ3OrientationStyle TQ3OrientationStyle;
+enum TQ3OrientationStyle {
+ kQ3OrientationStyleCounterClockwise = 0,
+ kQ3OrientationStyleClockwise = 1
+};
+typedef enum TQ3OrientationStyle TQ3OrientationStyle;
#if CALL_NOT_IN_CARBON
- /*
- * Q3OrientationStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3OrientationStyle_New(TQ3OrientationStyle frontFacingDirection);
-
-
- /*
- * Q3OrientationStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrientationStyle_Submit(
- TQ3OrientationStyle frontFacingDirection,
- TQ3ViewObject view);
-
-
- /*
- * Q3OrientationStyle_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrientationStyle_Get(
- TQ3StyleObject frontFacingDirectionObject,
- TQ3OrientationStyle * frontFacingDirection);
-
-
- /*
- * Q3OrientationStyle_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3OrientationStyle_Set(
- TQ3StyleObject frontFacingDirectionObject,
- TQ3OrientationStyle frontFacingDirection);
-
-
-
- /******************************************************************************
- ** **
- ** AntiAlias Style **
- ** **
- *****************************************************************************/
+/*
+ * Q3OrientationStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3OrientationStyle_New(TQ3OrientationStyle frontFacingDirection);
+
+
+/*
+ * Q3OrientationStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrientationStyle_Submit(
+ TQ3OrientationStyle frontFacingDirection,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3OrientationStyle_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrientationStyle_Get(
+ TQ3StyleObject frontFacingDirectionObject,
+ TQ3OrientationStyle * frontFacingDirection);
+
+
+/*
+ * Q3OrientationStyle_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3OrientationStyle_Set(
+ TQ3StyleObject frontFacingDirectionObject,
+ TQ3OrientationStyle frontFacingDirection);
+
+
+
+/******************************************************************************
+ ** **
+ ** AntiAlias Style **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3AntiAliasModeMasks
- {
- kQ3AntiAliasModeMaskEdges = 1 << 0,
- kQ3AntiAliasModeMaskFilled = 1 << 1
- };
- typedef enum TQ3AntiAliasModeMasks TQ3AntiAliasModeMasks;
-
- typedef unsigned long TQ3AntiAliasMode;
- struct TQ3AntiAliasStyleData
- {
- TQ3Switch state;
- TQ3AntiAliasMode mode;
- float quality;
- };
- typedef struct TQ3AntiAliasStyleData TQ3AntiAliasStyleData;
+enum TQ3AntiAliasModeMasks {
+ kQ3AntiAliasModeMaskEdges = 1 << 0,
+ kQ3AntiAliasModeMaskFilled = 1 << 1
+};
+typedef enum TQ3AntiAliasModeMasks TQ3AntiAliasModeMasks;
+
+typedef unsigned long TQ3AntiAliasMode;
+struct TQ3AntiAliasStyleData {
+ TQ3Switch state;
+ TQ3AntiAliasMode mode;
+ float quality;
+};
+typedef struct TQ3AntiAliasStyleData TQ3AntiAliasStyleData;
#if CALL_NOT_IN_CARBON
- /*
- * Q3AntiAliasStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3AntiAliasStyle_New(const TQ3AntiAliasStyleData * data);
-
-
- /*
- * Q3AntiAliasStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AntiAliasStyle_Submit(
- const TQ3AntiAliasStyleData * data,
- TQ3ViewObject view);
-
-
- /*
- * Q3AntiAliasStyle_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AntiAliasStyle_GetData(
- TQ3StyleObject styleObject,
- TQ3AntiAliasStyleData * data);
-
-
- /*
- * Q3AntiAliasStyle_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3AntiAliasStyle_SetData(
- TQ3StyleObject styleObject,
- const TQ3AntiAliasStyleData * data);
-
-
-
- /******************************************************************************
- ** **
- ** Fog Style **
- ** **
- *****************************************************************************/
+/*
+ * Q3AntiAliasStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3AntiAliasStyle_New(const TQ3AntiAliasStyleData * data);
+
+
+/*
+ * Q3AntiAliasStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AntiAliasStyle_Submit(
+ const TQ3AntiAliasStyleData * data,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3AntiAliasStyle_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AntiAliasStyle_GetData(
+ TQ3StyleObject styleObject,
+ TQ3AntiAliasStyleData * data);
+
+
+/*
+ * Q3AntiAliasStyle_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3AntiAliasStyle_SetData(
+ TQ3StyleObject styleObject,
+ const TQ3AntiAliasStyleData * data);
+
+
+
+/******************************************************************************
+ ** **
+ ** Fog Style **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- enum TQ3FogMode
- {
- kQ3FogModeLinear = 0,
- kQ3FogModeExponential = 1,
- kQ3FogModeExponentialSquared = 2,
- kQ3FogModeAlpha = 3
- };
- typedef enum TQ3FogMode TQ3FogMode;
-
- struct TQ3FogStyleData
- {
- TQ3Switch state;
- TQ3FogMode mode;
- float fogStart;
- float fogEnd;
- float density;
- TQ3ColorARGB color;
- };
- typedef struct TQ3FogStyleData TQ3FogStyleData;
+enum TQ3FogMode {
+ kQ3FogModeLinear = 0,
+ kQ3FogModeExponential = 1,
+ kQ3FogModeExponentialSquared = 2,
+ kQ3FogModeAlpha = 3
+};
+typedef enum TQ3FogMode TQ3FogMode;
+
+struct TQ3FogStyleData {
+ TQ3Switch state;
+ TQ3FogMode mode;
+ float fogStart;
+ float fogEnd;
+ float density;
+ TQ3ColorARGB color;
+};
+typedef struct TQ3FogStyleData TQ3FogStyleData;
#if CALL_NOT_IN_CARBON
- /*
- * Q3FogStyle_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StyleObject)
- Q3FogStyle_New(const TQ3FogStyleData * data);
-
-
- /*
- * Q3FogStyle_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3FogStyle_Submit(
- const TQ3FogStyleData * data,
- TQ3ViewObject view);
-
-
- /*
- * Q3FogStyle_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3FogStyle_GetData(
- TQ3StyleObject styleObject,
- TQ3FogStyleData * data);
-
-
- /*
- * Q3FogStyle_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3FogStyle_SetData(
- TQ3StyleObject styleObject,
- const TQ3FogStyleData * data);
+/*
+ * Q3FogStyle_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StyleObject )
+Q3FogStyle_New(const TQ3FogStyleData * data);
+
+
+/*
+ * Q3FogStyle_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3FogStyle_Submit(
+ const TQ3FogStyleData * data,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3FogStyle_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3FogStyle_GetData(
+ TQ3StyleObject styleObject,
+ TQ3FogStyleData * data);
+
+
+/*
+ * Q3FogStyle_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3FogStyle_SetData(
+ TQ3StyleObject styleObject,
+ const TQ3FogStyleData * data);
@@ -875,22 +864,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DSTYLE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DSTYLE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DSTYLE__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DTransform.h b/include/qt/QD3DTransform.h
index dd419b39f..0b08abd9e 100644
--- a/include/qt/QD3DTransform.h
+++ b/include/qt/QD3DTransform.h
@@ -1,18 +1,18 @@
/*
File: QD3DTransform.h
-
+
Contains: Q3Transform routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DTRANSFORM__
#define __QD3DTRANSFORM__
@@ -37,795 +37,792 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DTRANSFORM__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DTRANSFORM__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DTRANSFORM__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DTRANSFORM__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** Transform Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Transform Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3Transform_GetType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ObjectType)
- Q3Transform_GetType(TQ3TransformObject transform);
-
-
- /*
- * Q3Transform_GetMatrix()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Matrix4x4 *)
- Q3Transform_GetMatrix(
- TQ3TransformObject transform,
- TQ3Matrix4x4 * matrix);
-
-
- /*
- * Q3Transform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Transform_Submit(
- TQ3TransformObject transform,
- TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** MatrixTransform Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3MatrixTransform_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TransformObject)
- Q3MatrixTransform_New(const TQ3Matrix4x4 * matrix);
-
-
- /*
- * Q3MatrixTransform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MatrixTransform_Submit(
- const TQ3Matrix4x4 * matrix,
- TQ3ViewObject view);
-
-
- /*
- * Q3MatrixTransform_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MatrixTransform_Set(
- TQ3TransformObject transform,
- const TQ3Matrix4x4 * matrix);
-
-
- /*
- * Q3MatrixTransform_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3MatrixTransform_Get(
- TQ3TransformObject transform,
- TQ3Matrix4x4 * matrix);
-
-
-
- /******************************************************************************
- ** **
- ** RotateTransform Data **
- ** **
- *****************************************************************************/
+/*
+ * Q3Transform_GetType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ObjectType )
+Q3Transform_GetType(TQ3TransformObject transform);
+
+
+/*
+ * Q3Transform_GetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Matrix4x4 * )
+Q3Transform_GetMatrix(
+ TQ3TransformObject transform,
+ TQ3Matrix4x4 * matrix);
+
+
+/*
+ * Q3Transform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Transform_Submit(
+ TQ3TransformObject transform,
+ TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** MatrixTransform Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3MatrixTransform_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TransformObject )
+Q3MatrixTransform_New(const TQ3Matrix4x4 * matrix);
+
+
+/*
+ * Q3MatrixTransform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MatrixTransform_Submit(
+ const TQ3Matrix4x4 * matrix,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3MatrixTransform_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MatrixTransform_Set(
+ TQ3TransformObject transform,
+ const TQ3Matrix4x4 * matrix);
+
+
+/*
+ * Q3MatrixTransform_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3MatrixTransform_Get(
+ TQ3TransformObject transform,
+ TQ3Matrix4x4 * matrix);
+
+
+
+/******************************************************************************
+ ** **
+ ** RotateTransform Data **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3RotateTransformData
- {
- TQ3Axis axis;
- float radians;
- };
- typedef struct TQ3RotateTransformData TQ3RotateTransformData;
- /******************************************************************************
- ** **
- ** RotateTransform Routines **
- ** **
- *****************************************************************************/
+struct TQ3RotateTransformData {
+ TQ3Axis axis;
+ float radians;
+};
+typedef struct TQ3RotateTransformData TQ3RotateTransformData;
+/******************************************************************************
+ ** **
+ ** RotateTransform Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3RotateTransform_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TransformObject)
- Q3RotateTransform_New(const TQ3RotateTransformData * data);
-
-
-
- /*
- * Q3RotateTransform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateTransform_Submit(
- const TQ3RotateTransformData * data,
- TQ3ViewObject view);
-
-
- /*
- * Q3RotateTransform_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateTransform_SetData(
- TQ3TransformObject transform,
- const TQ3RotateTransformData * data);
-
-
- /*
- * Q3RotateTransform_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateTransform_GetData(
- TQ3TransformObject transform,
- TQ3RotateTransformData * data);
-
-
- /*
- * Q3RotateTransform_SetAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateTransform_SetAxis(
- TQ3TransformObject transform,
- TQ3Axis axis);
-
-
- /*
- * Q3RotateTransform_SetAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateTransform_SetAngle(
- TQ3TransformObject transform,
- float radians);
-
-
- /*
- * Q3RotateTransform_GetAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateTransform_GetAxis(
- TQ3TransformObject renderable,
- TQ3Axis * axis);
-
-
- /*
- * Q3RotateTransform_GetAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateTransform_GetAngle(
- TQ3TransformObject transform,
- float * radians);
-
-
-
- /******************************************************************************
- ** **
- ** RotateAboutPointTransform Data **
- ** **
- *****************************************************************************/
+/*
+ * Q3RotateTransform_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TransformObject )
+Q3RotateTransform_New(const TQ3RotateTransformData * data);
+
+
+
+/*
+ * Q3RotateTransform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateTransform_Submit(
+ const TQ3RotateTransformData * data,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3RotateTransform_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateTransform_SetData(
+ TQ3TransformObject transform,
+ const TQ3RotateTransformData * data);
+
+
+/*
+ * Q3RotateTransform_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateTransform_GetData(
+ TQ3TransformObject transform,
+ TQ3RotateTransformData * data);
+
+
+/*
+ * Q3RotateTransform_SetAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateTransform_SetAxis(
+ TQ3TransformObject transform,
+ TQ3Axis axis);
+
+
+/*
+ * Q3RotateTransform_SetAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateTransform_SetAngle(
+ TQ3TransformObject transform,
+ float radians);
+
+
+/*
+ * Q3RotateTransform_GetAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateTransform_GetAxis(
+ TQ3TransformObject renderable,
+ TQ3Axis * axis);
+
+
+/*
+ * Q3RotateTransform_GetAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateTransform_GetAngle(
+ TQ3TransformObject transform,
+ float * radians);
+
+
+
+/******************************************************************************
+ ** **
+ ** RotateAboutPointTransform Data **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3RotateAboutPointTransformData
- {
- TQ3Axis axis;
- float radians;
- TQ3Point3D about;
- };
- typedef struct TQ3RotateAboutPointTransformData TQ3RotateAboutPointTransformData;
- /******************************************************************************
- ** **
- ** RotateAboutPointTransform Routines **
- ** **
- *****************************************************************************/
+struct TQ3RotateAboutPointTransformData {
+ TQ3Axis axis;
+ float radians;
+ TQ3Point3D about;
+};
+typedef struct TQ3RotateAboutPointTransformData TQ3RotateAboutPointTransformData;
+/******************************************************************************
+ ** **
+ ** RotateAboutPointTransform Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3RotateAboutPointTransform_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TransformObject)
- Q3RotateAboutPointTransform_New(const TQ3RotateAboutPointTransformData * data);
-
-
- /*
- * Q3RotateAboutPointTransform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_Submit(
- const TQ3RotateAboutPointTransformData * data,
- TQ3ViewObject view);
-
-
- /*
- * Q3RotateAboutPointTransform_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_SetData(
- TQ3TransformObject transform,
- const TQ3RotateAboutPointTransformData * data);
-
-
- /*
- * Q3RotateAboutPointTransform_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_GetData(
- TQ3TransformObject transform,
- TQ3RotateAboutPointTransformData * data);
-
-
- /*
- * Q3RotateAboutPointTransform_SetAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_SetAxis(
- TQ3TransformObject transform,
- TQ3Axis axis);
-
-
- /*
- * Q3RotateAboutPointTransform_GetAxis()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_GetAxis(
- TQ3TransformObject transform,
- TQ3Axis * axis);
-
-
-
- /*
- * Q3RotateAboutPointTransform_SetAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_SetAngle(
- TQ3TransformObject transform,
- float radians);
-
-
- /*
- * Q3RotateAboutPointTransform_GetAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_GetAngle(
- TQ3TransformObject transform,
- float * radians);
-
-
-
- /*
- * Q3RotateAboutPointTransform_SetAboutPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_SetAboutPoint(
- TQ3TransformObject transform,
- const TQ3Point3D * about);
-
-
- /*
- * Q3RotateAboutPointTransform_GetAboutPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutPointTransform_GetAboutPoint(
- TQ3TransformObject transform,
- TQ3Point3D * about);
-
-
-
- /******************************************************************************
- ** **
- ** RotateAboutAxisTransform Data **
- ** **
- *****************************************************************************/
+/*
+ * Q3RotateAboutPointTransform_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TransformObject )
+Q3RotateAboutPointTransform_New(const TQ3RotateAboutPointTransformData * data);
+
+
+/*
+ * Q3RotateAboutPointTransform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_Submit(
+ const TQ3RotateAboutPointTransformData * data,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3RotateAboutPointTransform_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_SetData(
+ TQ3TransformObject transform,
+ const TQ3RotateAboutPointTransformData * data);
+
+
+/*
+ * Q3RotateAboutPointTransform_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_GetData(
+ TQ3TransformObject transform,
+ TQ3RotateAboutPointTransformData * data);
+
+
+/*
+ * Q3RotateAboutPointTransform_SetAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_SetAxis(
+ TQ3TransformObject transform,
+ TQ3Axis axis);
+
+
+/*
+ * Q3RotateAboutPointTransform_GetAxis()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_GetAxis(
+ TQ3TransformObject transform,
+ TQ3Axis * axis);
+
+
+
+/*
+ * Q3RotateAboutPointTransform_SetAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_SetAngle(
+ TQ3TransformObject transform,
+ float radians);
+
+
+/*
+ * Q3RotateAboutPointTransform_GetAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_GetAngle(
+ TQ3TransformObject transform,
+ float * radians);
+
+
+
+/*
+ * Q3RotateAboutPointTransform_SetAboutPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_SetAboutPoint(
+ TQ3TransformObject transform,
+ const TQ3Point3D * about);
+
+
+/*
+ * Q3RotateAboutPointTransform_GetAboutPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutPointTransform_GetAboutPoint(
+ TQ3TransformObject transform,
+ TQ3Point3D * about);
+
+
+
+/******************************************************************************
+ ** **
+ ** RotateAboutAxisTransform Data **
+ ** **
+ *****************************************************************************/
#endif /* CALL_NOT_IN_CARBON */
- struct TQ3RotateAboutAxisTransformData
- {
- TQ3Point3D origin;
- TQ3Vector3D orientation;
- float radians;
- };
- typedef struct TQ3RotateAboutAxisTransformData TQ3RotateAboutAxisTransformData;
- /******************************************************************************
- ** **
- ** RotateAboutAxisTransform Routines **
- ** **
- *****************************************************************************/
+struct TQ3RotateAboutAxisTransformData {
+ TQ3Point3D origin;
+ TQ3Vector3D orientation;
+ float radians;
+};
+typedef struct TQ3RotateAboutAxisTransformData TQ3RotateAboutAxisTransformData;
+/******************************************************************************
+ ** **
+ ** RotateAboutAxisTransform Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3RotateAboutAxisTransform_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TransformObject)
- Q3RotateAboutAxisTransform_New(const TQ3RotateAboutAxisTransformData * data);
-
-
- /*
- * Q3RotateAboutAxisTransform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_Submit(
- const TQ3RotateAboutAxisTransformData * data,
- TQ3ViewObject view);
-
-
- /*
- * Q3RotateAboutAxisTransform_SetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_SetData(
- TQ3TransformObject transform,
- const TQ3RotateAboutAxisTransformData * data);
-
-
- /*
- * Q3RotateAboutAxisTransform_GetData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_GetData(
- TQ3TransformObject transform,
- TQ3RotateAboutAxisTransformData * data);
-
-
-
- /*
- * Q3RotateAboutAxisTransform_SetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_SetOrientation(
- TQ3TransformObject transform,
- const TQ3Vector3D * axis);
-
-
- /*
- * Q3RotateAboutAxisTransform_GetOrientation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_GetOrientation(
- TQ3TransformObject transform,
- TQ3Vector3D * axis);
-
-
-
- /*
- * Q3RotateAboutAxisTransform_SetAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_SetAngle(
- TQ3TransformObject transform,
- float radians);
-
-
- /*
- * Q3RotateAboutAxisTransform_GetAngle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_GetAngle(
- TQ3TransformObject transform,
- float * radians);
-
-
-
- /*
- * Q3RotateAboutAxisTransform_SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_SetOrigin(
- TQ3TransformObject transform,
- const TQ3Point3D * origin);
-
-
- /*
- * Q3RotateAboutAxisTransform_GetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3RotateAboutAxisTransform_GetOrigin(
- TQ3TransformObject transform,
- TQ3Point3D * origin);
-
-
-
- /******************************************************************************
- ** **
- ** ScaleTransform Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3ScaleTransform_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TransformObject)
- Q3ScaleTransform_New(const TQ3Vector3D * scale);
-
-
- /*
- * Q3ScaleTransform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ScaleTransform_Submit(
- const TQ3Vector3D * scale,
- TQ3ViewObject view);
-
-
- /*
- * Q3ScaleTransform_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ScaleTransform_Set(
- TQ3TransformObject transform,
- const TQ3Vector3D * scale);
-
-
- /*
- * Q3ScaleTransform_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ScaleTransform_Get(
- TQ3TransformObject transform,
- TQ3Vector3D * scale);
-
-
-
- /******************************************************************************
- ** **
- ** TranslateTransform Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3TranslateTransform_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TransformObject)
- Q3TranslateTransform_New(const TQ3Vector3D * translate);
-
-
- /*
- * Q3TranslateTransform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TranslateTransform_Submit(
- const TQ3Vector3D * translate,
- TQ3ViewObject view);
-
-
- /*
- * Q3TranslateTransform_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TranslateTransform_Set(
- TQ3TransformObject transform,
- const TQ3Vector3D * translate);
-
-
- /*
- * Q3TranslateTransform_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3TranslateTransform_Get(
- TQ3TransformObject transform,
- TQ3Vector3D * translate);
-
-
- /******************************************************************************
- ** **
- ** QuaternionTransform Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3QuaternionTransform_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TransformObject)
- Q3QuaternionTransform_New(const TQ3Quaternion * quaternion);
-
-
- /*
- * Q3QuaternionTransform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3QuaternionTransform_Submit(
- const TQ3Quaternion * quaternion,
- TQ3ViewObject view);
-
-
- /*
- * Q3QuaternionTransform_Set()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3QuaternionTransform_Set(
- TQ3TransformObject transform,
- const TQ3Quaternion * quaternion);
-
-
- /*
- * Q3QuaternionTransform_Get()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3QuaternionTransform_Get(
- TQ3TransformObject transform,
- TQ3Quaternion * quaternion);
-
-
-
- /******************************************************************************
- ** **
- ** ResetTransform Routines **
- ** **
- *****************************************************************************/
- /*
- * Q3ResetTransform_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3TransformObject)
- Q3ResetTransform_New(void);
-
-
- /*
- * Q3ResetTransform_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3ResetTransform_Submit(TQ3ViewObject view);
+/*
+ * Q3RotateAboutAxisTransform_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TransformObject )
+Q3RotateAboutAxisTransform_New(const TQ3RotateAboutAxisTransformData * data);
+
+
+/*
+ * Q3RotateAboutAxisTransform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_Submit(
+ const TQ3RotateAboutAxisTransformData * data,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3RotateAboutAxisTransform_SetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_SetData(
+ TQ3TransformObject transform,
+ const TQ3RotateAboutAxisTransformData * data);
+
+
+/*
+ * Q3RotateAboutAxisTransform_GetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_GetData(
+ TQ3TransformObject transform,
+ TQ3RotateAboutAxisTransformData * data);
+
+
+
+/*
+ * Q3RotateAboutAxisTransform_SetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_SetOrientation(
+ TQ3TransformObject transform,
+ const TQ3Vector3D * axis);
+
+
+/*
+ * Q3RotateAboutAxisTransform_GetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_GetOrientation(
+ TQ3TransformObject transform,
+ TQ3Vector3D * axis);
+
+
+
+/*
+ * Q3RotateAboutAxisTransform_SetAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_SetAngle(
+ TQ3TransformObject transform,
+ float radians);
+
+
+/*
+ * Q3RotateAboutAxisTransform_GetAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_GetAngle(
+ TQ3TransformObject transform,
+ float * radians);
+
+
+
+/*
+ * Q3RotateAboutAxisTransform_SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_SetOrigin(
+ TQ3TransformObject transform,
+ const TQ3Point3D * origin);
+
+
+/*
+ * Q3RotateAboutAxisTransform_GetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3RotateAboutAxisTransform_GetOrigin(
+ TQ3TransformObject transform,
+ TQ3Point3D * origin);
+
+
+
+/******************************************************************************
+ ** **
+ ** ScaleTransform Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ScaleTransform_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TransformObject )
+Q3ScaleTransform_New(const TQ3Vector3D * scale);
+
+
+/*
+ * Q3ScaleTransform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ScaleTransform_Submit(
+ const TQ3Vector3D * scale,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3ScaleTransform_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ScaleTransform_Set(
+ TQ3TransformObject transform,
+ const TQ3Vector3D * scale);
+
+
+/*
+ * Q3ScaleTransform_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ScaleTransform_Get(
+ TQ3TransformObject transform,
+ TQ3Vector3D * scale);
+
+
+
+/******************************************************************************
+ ** **
+ ** TranslateTransform Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3TranslateTransform_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TransformObject )
+Q3TranslateTransform_New(const TQ3Vector3D * translate);
+
+
+/*
+ * Q3TranslateTransform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TranslateTransform_Submit(
+ const TQ3Vector3D * translate,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3TranslateTransform_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TranslateTransform_Set(
+ TQ3TransformObject transform,
+ const TQ3Vector3D * translate);
+
+
+/*
+ * Q3TranslateTransform_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3TranslateTransform_Get(
+ TQ3TransformObject transform,
+ TQ3Vector3D * translate);
+
+
+/******************************************************************************
+ ** **
+ ** QuaternionTransform Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3QuaternionTransform_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TransformObject )
+Q3QuaternionTransform_New(const TQ3Quaternion * quaternion);
+
+
+/*
+ * Q3QuaternionTransform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3QuaternionTransform_Submit(
+ const TQ3Quaternion * quaternion,
+ TQ3ViewObject view);
+
+
+/*
+ * Q3QuaternionTransform_Set()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3QuaternionTransform_Set(
+ TQ3TransformObject transform,
+ const TQ3Quaternion * quaternion);
+
+
+/*
+ * Q3QuaternionTransform_Get()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3QuaternionTransform_Get(
+ TQ3TransformObject transform,
+ TQ3Quaternion * quaternion);
+
+
+
+/******************************************************************************
+ ** **
+ ** ResetTransform Routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ResetTransform_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3TransformObject )
+Q3ResetTransform_New(void);
+
+
+/*
+ * Q3ResetTransform_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3ResetTransform_Submit(TQ3ViewObject view);
@@ -835,22 +832,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DTRANSFORM__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DTRANSFORM__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DTRANSFORM__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DView.h b/include/qt/QD3DView.h
index 1b4958be1..0fe150d84 100644
--- a/include/qt/QD3DView.h
+++ b/include/qt/QD3DView.h
@@ -1,18 +1,18 @@
/*
File: QD3DView.h
-
+
Contains: View types and routines
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DVIEW__
#define __QD3DVIEW__
@@ -46,39 +46,39 @@ extern "C" {
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DVIEW__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DVIEW__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DVIEW__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DVIEW__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /******************************************************************************
- ** **
- ** View Type Definitions **
- ** **
- *****************************************************************************/
- enum TQ3ViewStatus {
- kQ3ViewStatusDone = 0,
- kQ3ViewStatusRetraverse = 1,
- kQ3ViewStatusError = 2,
- kQ3ViewStatusCancelled = 3
- };
- typedef enum TQ3ViewStatus TQ3ViewStatus;
-
-
- /******************************************************************************
- ** **
- ** Default Attribute Set **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** View Type Definitions **
+ ** **
+ *****************************************************************************/
+enum TQ3ViewStatus {
+ kQ3ViewStatusDone = 0,
+ kQ3ViewStatusRetraverse = 1,
+ kQ3ViewStatusError = 2,
+ kQ3ViewStatusCancelled = 3
+};
+typedef enum TQ3ViewStatus TQ3ViewStatus;
+
+
+/******************************************************************************
+ ** **
+ ** Default Attribute Set **
+ ** **
+ *****************************************************************************/
#define kQ3ViewDefaultAmbientCoefficient 1.0
#define kQ3ViewDefaultDiffuseColor 1.0, 1.0, 1.0
#define kQ3ViewDefaultSpecularColor 0.5, 0.5, 0.5
@@ -90,827 +90,827 @@ extern "C" {
#define kQ3ViewDefaultSubdivisionC1 20.0
#define kQ3ViewDefaultSubdivisionC2 20.0
- /******************************************************************************
- ** **
- ** View Routines **
- ** **
- *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** View Routines **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3View_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewObject)
- Q3View_New(void);
-
-
- /*
- * Q3View_Cancel()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_Cancel(TQ3ViewObject view);
-
-
- /******************************************************************************
- ** **
- ** View Rendering routines **
- ** **
- *****************************************************************************/
- /*
- * Q3View_SetRendererByType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetRendererByType(
- TQ3ViewObject view,
- TQ3ObjectType theType);
-
-
- /*
- * Q3View_SetRenderer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetRenderer(
- TQ3ViewObject view,
- TQ3RendererObject renderer);
-
-
- /*
- * Q3View_GetRenderer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetRenderer(
- TQ3ViewObject view,
- TQ3RendererObject * renderer);
-
-
- /*
- * Q3View_StartRendering()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_StartRendering(TQ3ViewObject view);
-
-
- /*
- * Q3View_EndRendering()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewStatus)
- Q3View_EndRendering(TQ3ViewObject view);
-
-
- /*
- * Q3View_Flush()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_Flush(TQ3ViewObject view);
-
-
- /*
- * Q3View_Sync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_Sync(TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** View/Bounds/Pick routines **
- ** **
- *****************************************************************************/
- /*
- * Q3View_StartBoundingBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_StartBoundingBox(
- TQ3ViewObject view,
- TQ3ComputeBounds computeBounds);
-
-
- /*
- * Q3View_EndBoundingBox()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewStatus)
- Q3View_EndBoundingBox(
- TQ3ViewObject view,
- TQ3BoundingBox * result);
-
-
- /*
- * Q3View_StartBoundingSphere()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_StartBoundingSphere(
- TQ3ViewObject view,
- TQ3ComputeBounds computeBounds);
-
-
- /*
- * Q3View_EndBoundingSphere()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewStatus)
- Q3View_EndBoundingSphere(
- TQ3ViewObject view,
- TQ3BoundingSphere * result);
-
-
- /*
- * Q3View_StartPicking()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_StartPicking(
- TQ3ViewObject view,
- TQ3PickObject pick);
-
-
- /*
- * Q3View_EndPicking()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewStatus)
- Q3View_EndPicking(TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** View/Camera routines **
- ** **
- *****************************************************************************/
- /*
- * Q3View_GetCamera()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetCamera(
- TQ3ViewObject view,
- TQ3CameraObject * camera);
-
-
- /*
- * Q3View_SetCamera()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetCamera(
- TQ3ViewObject view,
- TQ3CameraObject camera);
-
-
-
- /******************************************************************************
- ** **
- ** View/Lights routines **
- ** **
- *****************************************************************************/
- /*
- * Q3View_SetLightGroup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetLightGroup(
- TQ3ViewObject view,
- TQ3GroupObject lightGroup);
-
-
- /*
- * Q3View_GetLightGroup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetLightGroup(
- TQ3ViewObject view,
- TQ3GroupObject * lightGroup);
-
-
-
- /******************************************************************************
- ** **
- ** Idle Method **
- ** **
- *****************************************************************************/
- /*
- * The idle methods allow the application to register callback routines
- * which will be called by the view during especially long operations.
- *
- * The idle methods may also be used to interrupt long renderings or
- * traversals. Inside the idler callback the application can check for
- * Command-Period, Control-C or clicking a "Cancel" button or whatever else
- * may be used to let the user interrupt rendering.
- *
- * It is NOT LEGAL to call QD3D routines inside an idler callback.
- *
- * Return kQ3Failure to cancel rendering, kQ3Success to continue. Don't
- * bother posting an error.
- *
- * Q3View_SetIdleMethod registers a callback that can be called
- * by the system during rendering. Unfortunately there is no way yet
- * to set timer intervals when you want to be called. Basically, it is
- * up to the application's idler callback to check clocks to see if you
- * were called back only a millisecond ago or an hour ago!
- *
- * Q3View_SetIdleProgressMethod registers a callback that also gives
- * progress information. This information is supplied by the renderer, and
- * may or may not be based on real time.
- *
- * If a renderer doesn't support the progress method, your method will be
- * called with current == 0 and completed == 0.
- *
- * Otherwise, you are GUARANTEED to get called at least 2 or more times:
- *
- * ONCE idleMethod(view, 0, n) -> Initialize, Show Dialog
- * zero or more idleMethod(view, 1..n-1, n) -> Update progress
- * ONCE idleMethod(view, n, n) -> Exit, Hide Dialog
- *
- * "current" is guaranteed to be less than or equal to "completed"
- * "completed" may change values, but current/complete always indicates
- * the degree of completion.
- *
- * The calling conventions aid in managing any data associated with a
- * progress user interface indicator.
- */
+/*
+ * Q3View_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewObject )
+Q3View_New(void);
+
+
+/*
+ * Q3View_Cancel()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_Cancel(TQ3ViewObject view);
+
+
+/******************************************************************************
+ ** **
+ ** View Rendering routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_SetRendererByType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetRendererByType(
+ TQ3ViewObject view,
+ TQ3ObjectType theType);
+
+
+/*
+ * Q3View_SetRenderer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetRenderer(
+ TQ3ViewObject view,
+ TQ3RendererObject renderer);
+
+
+/*
+ * Q3View_GetRenderer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetRenderer(
+ TQ3ViewObject view,
+ TQ3RendererObject * renderer);
+
+
+/*
+ * Q3View_StartRendering()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_StartRendering(TQ3ViewObject view);
+
+
+/*
+ * Q3View_EndRendering()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewStatus )
+Q3View_EndRendering(TQ3ViewObject view);
+
+
+/*
+ * Q3View_Flush()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_Flush(TQ3ViewObject view);
+
+
+/*
+ * Q3View_Sync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_Sync(TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** View/Bounds/Pick routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_StartBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_StartBoundingBox(
+ TQ3ViewObject view,
+ TQ3ComputeBounds computeBounds);
+
+
+/*
+ * Q3View_EndBoundingBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewStatus )
+Q3View_EndBoundingBox(
+ TQ3ViewObject view,
+ TQ3BoundingBox * result);
+
+
+/*
+ * Q3View_StartBoundingSphere()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_StartBoundingSphere(
+ TQ3ViewObject view,
+ TQ3ComputeBounds computeBounds);
+
+
+/*
+ * Q3View_EndBoundingSphere()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewStatus )
+Q3View_EndBoundingSphere(
+ TQ3ViewObject view,
+ TQ3BoundingSphere * result);
+
+
+/*
+ * Q3View_StartPicking()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_StartPicking(
+ TQ3ViewObject view,
+ TQ3PickObject pick);
+
+
+/*
+ * Q3View_EndPicking()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewStatus )
+Q3View_EndPicking(TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** View/Camera routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_GetCamera()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetCamera(
+ TQ3ViewObject view,
+ TQ3CameraObject * camera);
+
+
+/*
+ * Q3View_SetCamera()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetCamera(
+ TQ3ViewObject view,
+ TQ3CameraObject camera);
+
+
+
+/******************************************************************************
+ ** **
+ ** View/Lights routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_SetLightGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetLightGroup(
+ TQ3ViewObject view,
+ TQ3GroupObject lightGroup);
+
+
+/*
+ * Q3View_GetLightGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetLightGroup(
+ TQ3ViewObject view,
+ TQ3GroupObject * lightGroup);
+
+
+
+/******************************************************************************
+ ** **
+ ** Idle Method **
+ ** **
+ *****************************************************************************/
+/*
+ * The idle methods allow the application to register callback routines
+ * which will be called by the view during especially long operations.
+ *
+ * The idle methods may also be used to interrupt long renderings or
+ * traversals. Inside the idler callback the application can check for
+ * Command-Period, Control-C or clicking a "Cancel" button or whatever else
+ * may be used to let the user interrupt rendering.
+ *
+ * It is NOT LEGAL to call QD3D routines inside an idler callback.
+ *
+ * Return kQ3Failure to cancel rendering, kQ3Success to continue. Don't
+ * bother posting an error.
+ *
+ * Q3View_SetIdleMethod registers a callback that can be called
+ * by the system during rendering. Unfortunately there is no way yet
+ * to set timer intervals when you want to be called. Basically, it is
+ * up to the application's idler callback to check clocks to see if you
+ * were called back only a millisecond ago or an hour ago!
+ *
+ * Q3View_SetIdleProgressMethod registers a callback that also gives
+ * progress information. This information is supplied by the renderer, and
+ * may or may not be based on real time.
+ *
+ * If a renderer doesn't support the progress method, your method will be
+ * called with current == 0 and completed == 0.
+ *
+ * Otherwise, you are GUARANTEED to get called at least 2 or more times:
+ *
+ * ONCE idleMethod(view, 0, n) -> Initialize, Show Dialog
+ * zero or more idleMethod(view, 1..n-1, n) -> Update progress
+ * ONCE idleMethod(view, n, n) -> Exit, Hide Dialog
+ *
+ * "current" is guaranteed to be less than or equal to "completed"
+ * "completed" may change values, but current/complete always indicates
+ * the degree of completion.
+ *
+ * The calling conventions aid in managing any data associated with a
+ * progress user interface indicator.
+ */
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(TQ3Status , TQ3ViewIdleMethod)(TQ3ViewObject view, const void *idlerData);
- typedef CALLBACK_API_C(TQ3Status , TQ3ViewIdleProgressMethod)(TQ3ViewObject view, const void *idlerData, unsigned long current, unsigned long completed);
+typedef CALLBACK_API_C( TQ3Status , TQ3ViewIdleMethod )(TQ3ViewObject view, const void *idlerData);
+typedef CALLBACK_API_C( TQ3Status , TQ3ViewIdleProgressMethod )(TQ3ViewObject view, const void *idlerData, unsigned long current, unsigned long completed);
#if CALL_NOT_IN_CARBON
- /*
- * Q3View_SetIdleMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetIdleMethod(
- TQ3ViewObject view,
- TQ3ViewIdleMethod idleMethod,
- const void * idleData);
-
-
- /*
- * Q3View_SetIdleProgressMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetIdleProgressMethod(
- TQ3ViewObject view,
- TQ3ViewIdleProgressMethod idleMethod,
- const void * idleData);
-
-
-
- /******************************************************************************
- ** **
- ** EndFrame Method **
- ** **
- *****************************************************************************/
- /*
- * The end frame method is an alternate way of determining when an
- * asynchronous renderer has completed rendering a frame. It differs from
- * Q3View_Sync in that notification of the frame completion is the opposite
- * direction.
- *
- * With Q3View_Sync the application asks a renderer to finish rendering
- * a frame, and blocks until the frame is complete.
- *
- * With the EndFrame method, the renderer tells the application that is has
- * completed a frame.
- *
- * If "Q3View_Sync" is called BEFORE this method has been called, this
- * method will NOT be called ever.
- *
- * If "Q3View_Sync" is called AFTER this method has been called, the
- * call will return immediately (as the frame has already been completed).
- */
+/*
+ * Q3View_SetIdleMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetIdleMethod(
+ TQ3ViewObject view,
+ TQ3ViewIdleMethod idleMethod,
+ const void * idleData);
+
+
+/*
+ * Q3View_SetIdleProgressMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetIdleProgressMethod(
+ TQ3ViewObject view,
+ TQ3ViewIdleProgressMethod idleMethod,
+ const void * idleData);
+
+
+
+/******************************************************************************
+ ** **
+ ** EndFrame Method **
+ ** **
+ *****************************************************************************/
+/*
+ * The end frame method is an alternate way of determining when an
+ * asynchronous renderer has completed rendering a frame. It differs from
+ * Q3View_Sync in that notification of the frame completion is the opposite
+ * direction.
+ *
+ * With Q3View_Sync the application asks a renderer to finish rendering
+ * a frame, and blocks until the frame is complete.
+ *
+ * With the EndFrame method, the renderer tells the application that is has
+ * completed a frame.
+ *
+ * If "Q3View_Sync" is called BEFORE this method has been called, this
+ * method will NOT be called ever.
+ *
+ * If "Q3View_Sync" is called AFTER this method has been called, the
+ * call will return immediately (as the frame has already been completed).
+ */
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API_C(void , TQ3ViewEndFrameMethod)(TQ3ViewObject view, void *endFrameData);
+typedef CALLBACK_API_C( void , TQ3ViewEndFrameMethod )(TQ3ViewObject view, void *endFrameData);
#if CALL_NOT_IN_CARBON
- /*
- * Q3View_SetEndFrameMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetEndFrameMethod(
- TQ3ViewObject view,
- TQ3ViewEndFrameMethod endFrame,
- void * endFrameData);
-
-
-
- /******************************************************************************
- ** **
- ** Push/Pop routines **
- ** **
- *****************************************************************************/
- /*
- * Q3Push_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Push_Submit(TQ3ViewObject view);
-
-
- /*
- * Q3Pop_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3Pop_Submit(TQ3ViewObject view);
-
-
- /*
- * Q3Push_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StateOperatorObject)
- Q3Push_New(void);
-
-
- /*
- * Q3Pop_New()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3StateOperatorObject)
- Q3Pop_New(void);
-
-
- /*
- * Q3StateOperator_Submit()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3StateOperator_Submit(
- TQ3StateOperatorObject stateOperator,
- TQ3ViewObject view);
-
-
-
- /******************************************************************************
- ** **
- ** Check if bounding box is visible in the viewing frustum. Transforms **
- ** the bbox by the current local_to_world transformation matrix and **
- ** does a clip test to see if it lies in the viewing frustum. **
- ** This can be used by applications to cull out large chunks of scenes **
- ** that are not going to be visible. **
- ** **
- ** The default implementation is to always return kQ3True. Renderers **
- ** may override this routine however to do the checking. **
- ** **
- *****************************************************************************/
- /*
- * Q3View_IsBoundingBoxVisible()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Boolean)
- Q3View_IsBoundingBoxVisible(
- TQ3ViewObject view,
- const TQ3BoundingBox * bbox);
-
-
-
- /******************************************************************************
- ** **
- ** Allows display groups to be culled if they are assigned bounding **
- ** boxes. **
- ** **
- *****************************************************************************/
- /*
- * Q3View_AllowAllGroupCulling()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_AllowAllGroupCulling(
- TQ3ViewObject view,
- TQ3Boolean allowCulling);
-
-
-
-
- /******************************************************************************
- ** **
- ** DrawContext routines **
- ** **
- *****************************************************************************/
- /*
- * Q3View_SetDrawContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetDrawContext(
- TQ3ViewObject view,
- TQ3DrawContextObject drawContext);
-
-
- /*
- * Q3View_GetDrawContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetDrawContext(
- TQ3ViewObject view,
- TQ3DrawContextObject * drawContext);
-
-
-
- /******************************************************************************
- ** **
- ** Graphics State routines **
- ** **
- ** The graphics state routines can only be called while rendering (ie. in **
- ** between calls to start and end rendering calls). If they are called **
- ** outside of a rendering loop, they will return with error. **
- ** **
- *****************************************************************************/
- /******************************************************************************
- ** **
- ** Transform routines **
- ** **
- *****************************************************************************/
- /*
- * Q3View_GetLocalToWorldMatrixState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetLocalToWorldMatrixState(
- TQ3ViewObject view,
- TQ3Matrix4x4 * matrix);
-
-
- /*
- * Q3View_GetWorldToFrustumMatrixState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetWorldToFrustumMatrixState(
- TQ3ViewObject view,
- TQ3Matrix4x4 * matrix);
-
-
- /*
- * Q3View_GetFrustumToWindowMatrixState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetFrustumToWindowMatrixState(
- TQ3ViewObject view,
- TQ3Matrix4x4 * matrix);
-
-
-
- /******************************************************************************
- ** **
- ** Style state routines **
- ** **
- *****************************************************************************/
- /*
- * Q3View_GetBackfacingStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetBackfacingStyleState(
- TQ3ViewObject view,
- TQ3BackfacingStyle * backfacingStyle);
-
-
- /*
- * Q3View_GetInterpolationStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetInterpolationStyleState(
- TQ3ViewObject view,
- TQ3InterpolationStyle * interpolationType);
-
-
- /*
- * Q3View_GetFillStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetFillStyleState(
- TQ3ViewObject view,
- TQ3FillStyle * fillStyle);
-
-
- /*
- * Q3View_GetHighlightStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetHighlightStyleState(
- TQ3ViewObject view,
- TQ3AttributeSet * highlightStyle);
-
-
- /*
- * Q3View_GetSubdivisionStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetSubdivisionStyleState(
- TQ3ViewObject view,
- TQ3SubdivisionStyleData * subdivisionStyle);
-
-
- /*
- * Q3View_GetOrientationStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetOrientationStyleState(
- TQ3ViewObject view,
- TQ3OrientationStyle * fontFacingDirectionStyle);
-
-
- /*
- * Q3View_GetReceiveShadowsStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetReceiveShadowsStyleState(
- TQ3ViewObject view,
- TQ3Boolean * receives);
-
-
- /*
- * Q3View_GetPickIDStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetPickIDStyleState(
- TQ3ViewObject view,
- unsigned long * pickIDStyle);
-
-
- /*
- * Q3View_GetPickPartsStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetPickPartsStyleState(
- TQ3ViewObject view,
- TQ3PickParts * pickPartsStyle);
-
-
- /*
- * Q3View_GetAntiAliasStyleState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetAntiAliasStyleState(
- TQ3ViewObject view,
- TQ3AntiAliasStyleData * antiAliasData);
-
-
-
- /******************************************************************************
- ** **
- ** Attribute state routines **
- ** **
- *****************************************************************************/
- /*
- * Q3View_GetDefaultAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetDefaultAttributeSet(
- TQ3ViewObject view,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3View_SetDefaultAttributeSet()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_SetDefaultAttributeSet(
- TQ3ViewObject view,
- TQ3AttributeSet attributeSet);
-
-
-
- /*
- * Q3View_GetAttributeSetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetAttributeSetState(
- TQ3ViewObject view,
- TQ3AttributeSet * attributeSet);
-
-
- /*
- * Q3View_GetAttributeState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3Status)
- Q3View_GetAttributeState(
- TQ3ViewObject view,
- TQ3AttributeType attributeType,
- void * data);
+/*
+ * Q3View_SetEndFrameMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetEndFrameMethod(
+ TQ3ViewObject view,
+ TQ3ViewEndFrameMethod endFrame,
+ void * endFrameData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Push/Pop routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3Push_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Push_Submit(TQ3ViewObject view);
+
+
+/*
+ * Q3Pop_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3Pop_Submit(TQ3ViewObject view);
+
+
+/*
+ * Q3Push_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StateOperatorObject )
+Q3Push_New(void);
+
+
+/*
+ * Q3Pop_New()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3StateOperatorObject )
+Q3Pop_New(void);
+
+
+/*
+ * Q3StateOperator_Submit()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3StateOperator_Submit(
+ TQ3StateOperatorObject stateOperator,
+ TQ3ViewObject view);
+
+
+
+/******************************************************************************
+ ** **
+ ** Check if bounding box is visible in the viewing frustum. Transforms **
+ ** the bbox by the current local_to_world transformation matrix and **
+ ** does a clip test to see if it lies in the viewing frustum. **
+ ** This can be used by applications to cull out large chunks of scenes **
+ ** that are not going to be visible. **
+ ** **
+ ** The default implementation is to always return kQ3True. Renderers **
+ ** may override this routine however to do the checking. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_IsBoundingBoxVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Boolean )
+Q3View_IsBoundingBoxVisible(
+ TQ3ViewObject view,
+ const TQ3BoundingBox * bbox);
+
+
+
+/******************************************************************************
+ ** **
+ ** Allows display groups to be culled if they are assigned bounding **
+ ** boxes. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_AllowAllGroupCulling()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_AllowAllGroupCulling(
+ TQ3ViewObject view,
+ TQ3Boolean allowCulling);
+
+
+
+
+/******************************************************************************
+ ** **
+ ** DrawContext routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_SetDrawContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetDrawContext(
+ TQ3ViewObject view,
+ TQ3DrawContextObject drawContext);
+
+
+/*
+ * Q3View_GetDrawContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetDrawContext(
+ TQ3ViewObject view,
+ TQ3DrawContextObject * drawContext);
+
+
+
+/******************************************************************************
+ ** **
+ ** Graphics State routines **
+ ** **
+ ** The graphics state routines can only be called while rendering (ie. in **
+ ** between calls to start and end rendering calls). If they are called **
+ ** outside of a rendering loop, they will return with error. **
+ ** **
+ *****************************************************************************/
+/******************************************************************************
+ ** **
+ ** Transform routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_GetLocalToWorldMatrixState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetLocalToWorldMatrixState(
+ TQ3ViewObject view,
+ TQ3Matrix4x4 * matrix);
+
+
+/*
+ * Q3View_GetWorldToFrustumMatrixState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetWorldToFrustumMatrixState(
+ TQ3ViewObject view,
+ TQ3Matrix4x4 * matrix);
+
+
+/*
+ * Q3View_GetFrustumToWindowMatrixState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetFrustumToWindowMatrixState(
+ TQ3ViewObject view,
+ TQ3Matrix4x4 * matrix);
+
+
+
+/******************************************************************************
+ ** **
+ ** Style state routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_GetBackfacingStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetBackfacingStyleState(
+ TQ3ViewObject view,
+ TQ3BackfacingStyle * backfacingStyle);
+
+
+/*
+ * Q3View_GetInterpolationStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetInterpolationStyleState(
+ TQ3ViewObject view,
+ TQ3InterpolationStyle * interpolationType);
+
+
+/*
+ * Q3View_GetFillStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetFillStyleState(
+ TQ3ViewObject view,
+ TQ3FillStyle * fillStyle);
+
+
+/*
+ * Q3View_GetHighlightStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetHighlightStyleState(
+ TQ3ViewObject view,
+ TQ3AttributeSet * highlightStyle);
+
+
+/*
+ * Q3View_GetSubdivisionStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetSubdivisionStyleState(
+ TQ3ViewObject view,
+ TQ3SubdivisionStyleData * subdivisionStyle);
+
+
+/*
+ * Q3View_GetOrientationStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetOrientationStyleState(
+ TQ3ViewObject view,
+ TQ3OrientationStyle * fontFacingDirectionStyle);
+
+
+/*
+ * Q3View_GetReceiveShadowsStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetReceiveShadowsStyleState(
+ TQ3ViewObject view,
+ TQ3Boolean * receives);
+
+
+/*
+ * Q3View_GetPickIDStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetPickIDStyleState(
+ TQ3ViewObject view,
+ unsigned long * pickIDStyle);
+
+
+/*
+ * Q3View_GetPickPartsStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetPickPartsStyleState(
+ TQ3ViewObject view,
+ TQ3PickParts * pickPartsStyle);
+
+
+/*
+ * Q3View_GetAntiAliasStyleState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetAntiAliasStyleState(
+ TQ3ViewObject view,
+ TQ3AntiAliasStyleData * antiAliasData);
+
+
+
+/******************************************************************************
+ ** **
+ ** Attribute state routines **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3View_GetDefaultAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetDefaultAttributeSet(
+ TQ3ViewObject view,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3View_SetDefaultAttributeSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_SetDefaultAttributeSet(
+ TQ3ViewObject view,
+ TQ3AttributeSet attributeSet);
+
+
+
+/*
+ * Q3View_GetAttributeSetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetAttributeSetState(
+ TQ3ViewObject view,
+ TQ3AttributeSet * attributeSet);
+
+
+/*
+ * Q3View_GetAttributeState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3Status )
+Q3View_GetAttributeState(
+ TQ3ViewObject view,
+ TQ3AttributeType attributeType,
+ void * data);
@@ -919,14 +919,14 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DVIEW__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DVIEW__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DVIEW__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QD3DViewer.h b/include/qt/QD3DViewer.h
index 283dbf767..ec3f79e84 100644
--- a/include/qt/QD3DViewer.h
+++ b/include/qt/QD3DViewer.h
@@ -1,18 +1,18 @@
/*
File: QD3DViewer.h
-
+
Contains: MacOS Viewer Controller Interface File.
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1998 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 __QD3DVIEWER__
#define __QD3DVIEWER__
@@ -56,1000 +56,997 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __QD3DVIEWER__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __QD3DVIEWER__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __QD3DVIEWER__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __QD3DVIEWER__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- typedef void * TQ3ViewerObject;
+typedef void * TQ3ViewerObject;
- typedef CALLBACK_API_C(TQ3Status , TQ3ViewerWindowResizeCallbackMethod)(TQ3ViewerObject theViewer, const void *data);
- typedef CALLBACK_API_C(TQ3Status , TQ3ViewerPaneResizeNotifyCallbackMethod)(TQ3ViewerObject theViewer, const void *data);
+typedef CALLBACK_API_C( TQ3Status , TQ3ViewerWindowResizeCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
+typedef CALLBACK_API_C( TQ3Status , TQ3ViewerPaneResizeNotifyCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
#if TARGET_OS_MAC
- typedef CALLBACK_API_C(OSErr , TQ3ViewerDrawingCallbackMethod)(TQ3ViewerObject theViewer, const void *data);
-
- enum
- {
- kQ3ViewerShowBadge = 1 << 0,
- kQ3ViewerActive = 1 << 1,
- kQ3ViewerControllerVisible = 1 << 2,
- kQ3ViewerDrawFrame = 1 << 3,
- kQ3ViewerDraggingOff = 1 << 4,
- kQ3ViewerButtonCamera = 1 << 5,
- kQ3ViewerButtonTruck = 1 << 6,
- kQ3ViewerButtonOrbit = 1 << 7,
- kQ3ViewerButtonZoom = 1 << 8,
- kQ3ViewerButtonDolly = 1 << 9,
- kQ3ViewerButtonReset = 1 << 10,
- kQ3ViewerOutputTextMode = 1 << 11,
- kQ3ViewerDragMode = 1 << 12,
- kQ3ViewerDrawGrowBox = 1 << 13,
- kQ3ViewerDrawDragBorder = 1 << 14,
- kQ3ViewerDraggingInOff = 1 << 15,
- kQ3ViewerDraggingOutOff = 1 << 16,
- kQ3ViewerButtonOptions = 1 << 17,
- kQ3ViewerPaneGrowBox = 1 << 18,
- kQ3ViewerDefault = 1 << 31
- };
-
- enum
- {
- kQ3ViewerEmpty = 0,
- kQ3ViewerHasModel = 1 << 0,
- kQ3ViewerHasUndo = 1 << 1
- };
-
- enum TQ3ViewerCameraView
- {
- kQ3ViewerCameraRestore = 0,
- kQ3ViewerCameraFit = 1,
- kQ3ViewerCameraFront = 2,
- kQ3ViewerCameraBack = 3,
- kQ3ViewerCameraLeft = 4,
- kQ3ViewerCameraRight = 5,
- kQ3ViewerCameraTop = 6,
- kQ3ViewerCameraBottom = 7
- };
- typedef enum TQ3ViewerCameraView TQ3ViewerCameraView;
-
-
-
-
- /******************************************************************************
- ** **
- ** Return viewer version number **
- ** **
- *****************************************************************************/
+typedef CALLBACK_API_C( OSErr , TQ3ViewerDrawingCallbackMethod )(TQ3ViewerObject theViewer, const void *data);
+
+enum {
+ kQ3ViewerShowBadge = 1 << 0,
+ kQ3ViewerActive = 1 << 1,
+ kQ3ViewerControllerVisible = 1 << 2,
+ kQ3ViewerDrawFrame = 1 << 3,
+ kQ3ViewerDraggingOff = 1 << 4,
+ kQ3ViewerButtonCamera = 1 << 5,
+ kQ3ViewerButtonTruck = 1 << 6,
+ kQ3ViewerButtonOrbit = 1 << 7,
+ kQ3ViewerButtonZoom = 1 << 8,
+ kQ3ViewerButtonDolly = 1 << 9,
+ kQ3ViewerButtonReset = 1 << 10,
+ kQ3ViewerOutputTextMode = 1 << 11,
+ kQ3ViewerDragMode = 1 << 12,
+ kQ3ViewerDrawGrowBox = 1 << 13,
+ kQ3ViewerDrawDragBorder = 1 << 14,
+ kQ3ViewerDraggingInOff = 1 << 15,
+ kQ3ViewerDraggingOutOff = 1 << 16,
+ kQ3ViewerButtonOptions = 1 << 17,
+ kQ3ViewerPaneGrowBox = 1 << 18,
+ kQ3ViewerDefault = 1 << 31
+};
+
+enum {
+ kQ3ViewerEmpty = 0,
+ kQ3ViewerHasModel = 1 << 0,
+ kQ3ViewerHasUndo = 1 << 1
+};
+
+enum TQ3ViewerCameraView {
+ kQ3ViewerCameraRestore = 0,
+ kQ3ViewerCameraFit = 1,
+ kQ3ViewerCameraFront = 2,
+ kQ3ViewerCameraBack = 3,
+ kQ3ViewerCameraLeft = 4,
+ kQ3ViewerCameraRight = 5,
+ kQ3ViewerCameraTop = 6,
+ kQ3ViewerCameraBottom = 7
+};
+typedef enum TQ3ViewerCameraView TQ3ViewerCameraView;
+
+
+
+
+/******************************************************************************
+ ** **
+ ** Return viewer version number **
+ ** **
+ *****************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * Q3ViewerGetVersion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetVersion(
- unsigned long * majorRevision,
- unsigned long * minorRevision);
-
-
-
- /******************************************************************************
- ** **
- ** Return viewer release version number **
- ** (in 'vers' format - e.g. 0x01518000 ==> 1.5.1 release) **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerGetReleaseVersion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetReleaseVersion(unsigned long * releaseRevision);
-
-
-
- /******************************************************************************
- ** **
- ** Creation and destruction **
- ** Note that this is not a QuickDraw 3D object **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerNew()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewerObject)
- Q3ViewerNew(
- CGrafPtr port,
- Rect * rect,
- unsigned long flags);
-
-
- /*
- * Q3ViewerDispose()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerDispose(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Functions to attach data to a viewer **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerUseFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerUseFile(
- TQ3ViewerObject theViewer,
- long refNum);
-
-
- /*
- * Q3ViewerUseData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerUseData(
- TQ3ViewerObject theViewer,
- void * data,
- long size);
-
-
-
- /******************************************************************************
- ** **
- ** Functions to write data out from the Viewer **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerWriteFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerWriteFile(
- TQ3ViewerObject theViewer,
- long refNum);
-
-
- /*
- * Q3ViewerWriteData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- Q3ViewerWriteData(
- TQ3ViewerObject theViewer,
- Handle data);
-
-
-
- /******************************************************************************
- ** **
- ** Use this function to force the Viewer to re-draw **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerDraw()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerDraw(TQ3ViewerObject theViewer);
-
-
- /*
- * Q3ViewerDrawContent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerDrawContent(TQ3ViewerObject theViewer);
-
-
- /*
- * Q3ViewerDrawControlStrip()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerDrawControlStrip(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Function used by the Viewer to filter and handle events **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- Q3ViewerEvent(
- TQ3ViewerObject theViewer,
- EventRecord * evt);
-
-
-
- /******************************************************************************
- ** **
- ** This function returns a PICT of the contents of the **
- ** Viewer's window. The application should dispose the PICT. **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerGetPict()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(PicHandle)
- Q3ViewerGetPict(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Calls for dealing with Buttons **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerGetButtonRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetButtonRect(
- TQ3ViewerObject theViewer,
- unsigned long button,
- Rect * rect);
-
-
- /*
- * Q3ViewerGetCurrentButton()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- Q3ViewerGetCurrentButton(TQ3ViewerObject theViewer);
-
-
- /*
- * Q3ViewerSetCurrentButton()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetCurrentButton(
- TQ3ViewerObject theViewer,
- unsigned long button);
-
-
-
- /******************************************************************************
- ** **
- ** Functions to set/get the group to be displayed by the Viewer. **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerUseGroup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerUseGroup(
- TQ3ViewerObject theViewer,
- TQ3GroupObject group);
-
-
- /*
- * Q3ViewerGetGroup()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3GroupObject)
- Q3ViewerGetGroup(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Functions to set/get the color used to clear the window **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerSetBackgroundColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetBackgroundColor(
- TQ3ViewerObject theViewer,
- TQ3ColorARGB * color);
-
-
- /*
- * Q3ViewerGetBackgroundColor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetBackgroundColor(
- TQ3ViewerObject theViewer,
- TQ3ColorARGB * color);
-
-
-
- /******************************************************************************
- ** **
- ** Getting/Setting a Viewer's View object. **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerGetView()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQ3ViewObject)
- Q3ViewerGetView(TQ3ViewerObject theViewer);
-
-
- /*
- * Q3ViewerRestoreView()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerRestoreView(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Calls for setting/getting viewer flags **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerSetFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetFlags(
- TQ3ViewerObject theViewer,
- unsigned long flags);
-
-
- /*
- * Q3ViewerGetFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- Q3ViewerGetFlags(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Calls related to bounds/dimensions. Bounds is the size of **
- ** the window. Dimensions can either be the Rect from the ViewHints **
- ** or the current dimensions of the window (if you do a Set). **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerSetBounds()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetBounds(
- TQ3ViewerObject theViewer,
- Rect * bounds);
-
-
- /*
- * Q3ViewerGetBounds()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetBounds(
- TQ3ViewerObject theViewer,
- Rect * bounds);
-
-
- /*
- * Q3ViewerSetDimension()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetDimension(
- TQ3ViewerObject theViewer,
- unsigned long width,
- unsigned long height);
-
-
- /*
- * Q3ViewerGetDimension()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetDimension(
- TQ3ViewerObject theViewer,
- unsigned long * width,
- unsigned long * height);
-
-
- /*
- * Q3ViewerGetMinimumDimension()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetMinimumDimension(
- TQ3ViewerObject theViewer,
- unsigned long * width,
- unsigned long * height);
-
-
-
- /******************************************************************************
- ** **
- ** Port related calls **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerSetPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetPort(
- TQ3ViewerObject theViewer,
- CGrafPtr port);
-
-
- /*
- * Q3ViewerGetPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(CGrafPtr)
- Q3ViewerGetPort(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Adjust Cursor should be called from idle loop to allow the Viewer **
- ** to change the cursor according to the cursor position/object under **
- ** the cursor. **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerAdjustCursor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- Q3ViewerAdjustCursor(
- TQ3ViewerObject theViewer,
- Point * pt);
-
-
- /*
- * Q3ViewerCursorChanged()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerCursorChanged(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Returns the state of the viewer. See the constant defined at the **
- ** top of this file. **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerGetState()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(unsigned long)
- Q3ViewerGetState(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** Clipboard utilities **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerClear()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerClear(TQ3ViewerObject theViewer);
-
-
- /*
- * Q3ViewerCut()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerCut(TQ3ViewerObject theViewer);
-
-
- /*
- * Q3ViewerCopy()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerCopy(TQ3ViewerObject theViewer);
-
-
- /*
- * Q3ViewerPaste()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerPaste(TQ3ViewerObject theViewer);
-
-
-
- /******************************************************************************
- ** **
- ** New Event Model **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerMouseDown()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- Q3ViewerMouseDown(
- TQ3ViewerObject theViewer,
- long x,
- long y);
-
-
- /*
- * Q3ViewerContinueTracking()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- Q3ViewerContinueTracking(
- TQ3ViewerObject theViewer,
- long x,
- long y);
-
-
- /*
- * Q3ViewerMouseUp()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- Q3ViewerMouseUp(
- TQ3ViewerObject theViewer,
- long x,
- long y);
-
-
- /*
- * Q3ViewerHandleKeyEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- Q3ViewerHandleKeyEvent(
- TQ3ViewerObject theViewer,
- EventRecord * evt);
-
-
-
- /******************************************************************************
- ** **
- ** CallBacks **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerSetDrawingCallbackMethod()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetDrawingCallbackMethod(
- TQ3ViewerObject theViewer,
- TQ3ViewerDrawingCallbackMethod callbackMethod,
- const void * data);
-
-
- /*
- * Q3ViewerSetWindowResizeCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetWindowResizeCallback(
- TQ3ViewerObject theViewer,
- TQ3ViewerWindowResizeCallbackMethod windowResizeCallbackMethod,
- const void * data);
-
-
- /*
- * Q3ViewerSetPaneResizeNotifyCallback()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetPaneResizeNotifyCallback(
- TQ3ViewerObject theViewer,
- TQ3ViewerPaneResizeNotifyCallbackMethod paneResizeNotifyCallbackMethod,
- const void * data);
-
-
-
- /******************************************************************************
- ** **
- ** Undo **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerUndo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerUndo(TQ3ViewerObject theViewer);
-
-
- /*
- * Q3ViewerGetUndoString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- Q3ViewerGetUndoString(
- TQ3ViewerObject theViewer,
- char * str,
- unsigned long * cnt);
-
-
-
- /******************************************************************************
- ** **
- ** Camera Support **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerGetCameraCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetCameraCount(
- TQ3ViewerObject theViewer,
- unsigned long * cnt);
-
-
- /*
- * Q3ViewerSetCameraByNumber()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetCameraByNumber(
- TQ3ViewerObject theViewer,
- unsigned long cameraNo);
-
-
- /*
- * Q3ViewerSetCameraByView()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetCameraByView(
- TQ3ViewerObject theViewer,
- TQ3ViewerCameraView viewType);
-
-
-
- /******************************************************************************
- ** **
- ** Pop-up Button Options **
- ** **
- *****************************************************************************/
- /*
- * Q3ViewerSetRendererType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetRendererType(
- TQ3ViewerObject theViewer,
- TQ3ObjectType rendererType);
-
-
- /*
- * Q3ViewerGetRendererType()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetRendererType(
- TQ3ViewerObject theViewer,
- TQ3ObjectType * rendererType);
-
-
- /*
- * Q3ViewerChangeBrightness()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerChangeBrightness(
- TQ3ViewerObject theViewer,
- float brightness);
-
-
- /*
- * Q3ViewerSetRemoveBackfaces()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetRemoveBackfaces(
- TQ3ViewerObject theViewer,
- TQ3Boolean remove);
-
-
- /*
- * Q3ViewerGetRemoveBackfaces()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetRemoveBackfaces(
- TQ3ViewerObject theViewer,
- TQ3Boolean * remove);
-
-
- /*
- * Q3ViewerSetPhongShading()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerSetPhongShading(
- TQ3ViewerObject theViewer,
- TQ3Boolean phong);
-
-
- /*
- * Q3ViewerGetPhongShading()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- Q3ViewerGetPhongShading(
- TQ3ViewerObject theViewer,
- TQ3Boolean * phong);
+/*
+ * Q3ViewerGetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetVersion(
+ unsigned long * majorRevision,
+ unsigned long * minorRevision);
+
+
+
+/******************************************************************************
+ ** **
+ ** Return viewer release version number **
+ ** (in 'vers' format - e.g. 0x01518000 ==> 1.5.1 release) **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerGetReleaseVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetReleaseVersion(unsigned long * releaseRevision);
+
+
+
+/******************************************************************************
+ ** **
+ ** Creation and destruction **
+ ** Note that this is not a QuickDraw 3D object **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewerObject )
+Q3ViewerNew(
+ CGrafPtr port,
+ Rect * rect,
+ unsigned long flags);
+
+
+/*
+ * Q3ViewerDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerDispose(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Functions to attach data to a viewer **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerUseFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerUseFile(
+ TQ3ViewerObject theViewer,
+ long refNum);
+
+
+/*
+ * Q3ViewerUseData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerUseData(
+ TQ3ViewerObject theViewer,
+ void * data,
+ long size);
+
+
+
+/******************************************************************************
+ ** **
+ ** Functions to write data out from the Viewer **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerWriteFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerWriteFile(
+ TQ3ViewerObject theViewer,
+ long refNum);
+
+
+/*
+ * Q3ViewerWriteData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+Q3ViewerWriteData(
+ TQ3ViewerObject theViewer,
+ Handle data);
+
+
+
+/******************************************************************************
+ ** **
+ ** Use this function to force the Viewer to re-draw **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerDraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerDraw(TQ3ViewerObject theViewer);
+
+
+/*
+ * Q3ViewerDrawContent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerDrawContent(TQ3ViewerObject theViewer);
+
+
+/*
+ * Q3ViewerDrawControlStrip()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerDrawControlStrip(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Function used by the Viewer to filter and handle events **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+Q3ViewerEvent(
+ TQ3ViewerObject theViewer,
+ EventRecord * evt);
+
+
+
+/******************************************************************************
+ ** **
+ ** This function returns a PICT of the contents of the **
+ ** Viewer's window. The application should dispose the PICT. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerGetPict()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( PicHandle )
+Q3ViewerGetPict(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Calls for dealing with Buttons **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerGetButtonRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetButtonRect(
+ TQ3ViewerObject theViewer,
+ unsigned long button,
+ Rect * rect);
+
+
+/*
+ * Q3ViewerGetCurrentButton()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+Q3ViewerGetCurrentButton(TQ3ViewerObject theViewer);
+
+
+/*
+ * Q3ViewerSetCurrentButton()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetCurrentButton(
+ TQ3ViewerObject theViewer,
+ unsigned long button);
+
+
+
+/******************************************************************************
+ ** **
+ ** Functions to set/get the group to be displayed by the Viewer. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerUseGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerUseGroup(
+ TQ3ViewerObject theViewer,
+ TQ3GroupObject group);
+
+
+/*
+ * Q3ViewerGetGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3GroupObject )
+Q3ViewerGetGroup(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Functions to set/get the color used to clear the window **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerSetBackgroundColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetBackgroundColor(
+ TQ3ViewerObject theViewer,
+ TQ3ColorARGB * color);
+
+
+/*
+ * Q3ViewerGetBackgroundColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetBackgroundColor(
+ TQ3ViewerObject theViewer,
+ TQ3ColorARGB * color);
+
+
+
+/******************************************************************************
+ ** **
+ ** Getting/Setting a Viewer's View object. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerGetView()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQ3ViewObject )
+Q3ViewerGetView(TQ3ViewerObject theViewer);
+
+
+/*
+ * Q3ViewerRestoreView()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerRestoreView(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Calls for setting/getting viewer flags **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerSetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetFlags(
+ TQ3ViewerObject theViewer,
+ unsigned long flags);
+
+
+/*
+ * Q3ViewerGetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+Q3ViewerGetFlags(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Calls related to bounds/dimensions. Bounds is the size of **
+ ** the window. Dimensions can either be the Rect from the ViewHints **
+ ** or the current dimensions of the window (if you do a Set). **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerSetBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetBounds(
+ TQ3ViewerObject theViewer,
+ Rect * bounds);
+
+
+/*
+ * Q3ViewerGetBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetBounds(
+ TQ3ViewerObject theViewer,
+ Rect * bounds);
+
+
+/*
+ * Q3ViewerSetDimension()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetDimension(
+ TQ3ViewerObject theViewer,
+ unsigned long width,
+ unsigned long height);
+
+
+/*
+ * Q3ViewerGetDimension()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetDimension(
+ TQ3ViewerObject theViewer,
+ unsigned long * width,
+ unsigned long * height);
+
+
+/*
+ * Q3ViewerGetMinimumDimension()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetMinimumDimension(
+ TQ3ViewerObject theViewer,
+ unsigned long * width,
+ unsigned long * height);
+
+
+
+/******************************************************************************
+ ** **
+ ** Port related calls **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerSetPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetPort(
+ TQ3ViewerObject theViewer,
+ CGrafPtr port);
+
+
+/*
+ * Q3ViewerGetPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( CGrafPtr )
+Q3ViewerGetPort(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Adjust Cursor should be called from idle loop to allow the Viewer **
+ ** to change the cursor according to the cursor position/object under **
+ ** the cursor. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerAdjustCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+Q3ViewerAdjustCursor(
+ TQ3ViewerObject theViewer,
+ Point * pt);
+
+
+/*
+ * Q3ViewerCursorChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerCursorChanged(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Returns the state of the viewer. See the constant defined at the **
+ ** top of this file. **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerGetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( unsigned long )
+Q3ViewerGetState(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** Clipboard utilities **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerClear(TQ3ViewerObject theViewer);
+
+
+/*
+ * Q3ViewerCut()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerCut(TQ3ViewerObject theViewer);
+
+
+/*
+ * Q3ViewerCopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerCopy(TQ3ViewerObject theViewer);
+
+
+/*
+ * Q3ViewerPaste()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerPaste(TQ3ViewerObject theViewer);
+
+
+
+/******************************************************************************
+ ** **
+ ** New Event Model **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerMouseDown()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+Q3ViewerMouseDown(
+ TQ3ViewerObject theViewer,
+ long x,
+ long y);
+
+
+/*
+ * Q3ViewerContinueTracking()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+Q3ViewerContinueTracking(
+ TQ3ViewerObject theViewer,
+ long x,
+ long y);
+
+
+/*
+ * Q3ViewerMouseUp()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+Q3ViewerMouseUp(
+ TQ3ViewerObject theViewer,
+ long x,
+ long y);
+
+
+/*
+ * Q3ViewerHandleKeyEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+Q3ViewerHandleKeyEvent(
+ TQ3ViewerObject theViewer,
+ EventRecord * evt);
+
+
+
+/******************************************************************************
+ ** **
+ ** CallBacks **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerSetDrawingCallbackMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetDrawingCallbackMethod(
+ TQ3ViewerObject theViewer,
+ TQ3ViewerDrawingCallbackMethod callbackMethod,
+ const void * data);
+
+
+/*
+ * Q3ViewerSetWindowResizeCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetWindowResizeCallback(
+ TQ3ViewerObject theViewer,
+ TQ3ViewerWindowResizeCallbackMethod windowResizeCallbackMethod,
+ const void * data);
+
+
+/*
+ * Q3ViewerSetPaneResizeNotifyCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetPaneResizeNotifyCallback(
+ TQ3ViewerObject theViewer,
+ TQ3ViewerPaneResizeNotifyCallbackMethod paneResizeNotifyCallbackMethod,
+ const void * data);
+
+
+
+/******************************************************************************
+ ** **
+ ** Undo **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerUndo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerUndo(TQ3ViewerObject theViewer);
+
+
+/*
+ * Q3ViewerGetUndoString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+Q3ViewerGetUndoString(
+ TQ3ViewerObject theViewer,
+ char * str,
+ unsigned long * cnt);
+
+
+
+/******************************************************************************
+ ** **
+ ** Camera Support **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerGetCameraCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetCameraCount(
+ TQ3ViewerObject theViewer,
+ unsigned long * cnt);
+
+
+/*
+ * Q3ViewerSetCameraByNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetCameraByNumber(
+ TQ3ViewerObject theViewer,
+ unsigned long cameraNo);
+
+
+/*
+ * Q3ViewerSetCameraByView()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetCameraByView(
+ TQ3ViewerObject theViewer,
+ TQ3ViewerCameraView viewType);
+
+
+
+/******************************************************************************
+ ** **
+ ** Pop-up Button Options **
+ ** **
+ *****************************************************************************/
+/*
+ * Q3ViewerSetRendererType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetRendererType(
+ TQ3ViewerObject theViewer,
+ TQ3ObjectType rendererType);
+
+
+/*
+ * Q3ViewerGetRendererType()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetRendererType(
+ TQ3ViewerObject theViewer,
+ TQ3ObjectType * rendererType);
+
+
+/*
+ * Q3ViewerChangeBrightness()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerChangeBrightness(
+ TQ3ViewerObject theViewer,
+ float brightness);
+
+
+/*
+ * Q3ViewerSetRemoveBackfaces()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetRemoveBackfaces(
+ TQ3ViewerObject theViewer,
+ TQ3Boolean remove);
+
+
+/*
+ * Q3ViewerGetRemoveBackfaces()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetRemoveBackfaces(
+ TQ3ViewerObject theViewer,
+ TQ3Boolean * remove);
+
+
+/*
+ * Q3ViewerSetPhongShading()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerSetPhongShading(
+ TQ3ViewerObject theViewer,
+ TQ3Boolean phong);
+
+
+/*
+ * Q3ViewerGetPhongShading()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+Q3ViewerGetPhongShading(
+ TQ3ViewerObject theViewer,
+ TQ3Boolean * phong);
@@ -1062,22 +1059,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __QD3DVIEWER__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __QD3DVIEWER__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__QD3DVIEWER__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QDOffscreen.h b/include/qt/QDOffscreen.h
index 366c96f10..ee035d426 100644
--- a/include/qt/QDOffscreen.h
+++ b/include/qt/QDOffscreen.h
@@ -1,17 +1,17 @@
/*
File: QDOffscreen.h
-
+
Contains: Quickdraw Offscreen GWorld Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2003 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 __QDOFFSCREEN__
#define __QDOFFSCREEN__
@@ -39,459 +39,457 @@ extern "C" {
#pragma import on
#endif
- enum {
- pixPurgeBit = 0,
- noNewDeviceBit = 1,
- useTempMemBit = 2,
- keepLocalBit = 3,
- useDistantHdwrMemBit = 4,
- useLocalHdwrMemBit = 5,
- pixelsPurgeableBit = 6,
- pixelsLockedBit = 7,
- mapPixBit = 16,
- newDepthBit = 17,
- alignPixBit = 18,
- newRowBytesBit = 19,
- reallocPixBit = 20,
- clipPixBit = 28,
- stretchPixBit = 29,
- ditherPixBit = 30,
- gwFlagErrBit = 31
- };
-
- enum
- {
- pixPurge = 1L << pixPurgeBit,
- noNewDevice = 1L << noNewDeviceBit,
- useTempMem = 1L << useTempMemBit,
- keepLocal = 1L << keepLocalBit,
- useDistantHdwrMem = 1L << useDistantHdwrMemBit,
- useLocalHdwrMem = 1L << useLocalHdwrMemBit,
- pixelsPurgeable = 1L << pixelsPurgeableBit,
- pixelsLocked = 1L << pixelsLockedBit,
- kAllocDirectDrawSurface = 1L << 14,
- mapPix = 1L << mapPixBit,
- newDepth = 1L << newDepthBit,
- alignPix = 1L << alignPixBit,
- newRowBytes = 1L << newRowBytesBit,
- reallocPix = 1L << reallocPixBit,
- clipPix = 1L << clipPixBit,
- stretchPix = 1L << stretchPixBit,
- ditherPix = 1L << ditherPixBit,
- gwFlagErr = 1L << gwFlagErrBit
- };
-
- typedef unsigned long GWorldFlags;
- /* Type definition of a GWorldPtr */
- typedef CGrafPtr GWorldPtr;
- /*
- * NewGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(QDErr)
- NewGWorld(
- GWorldPtr * offscreenGWorld,
- short PixelDepth,
- const Rect * boundsRect,
- CTabHandle cTable, /* can be NULL */
- GDHandle aGDevice, /* can be NULL */
- GWorldFlags flags) FOURWORDINLINE(0x203C, 0x0016, 0x0000, 0xAB1D);
-
-
- /* GDevice attribute bits for Carbon and QuickTime 3.0*/
- enum
- {
- deviceIsIndirect = (1L << 0),
- deviceNeedsLock = (1L << 1),
- deviceIsStatic = (1L << 2),
- deviceIsExternalBuffer = (1L << 3),
- deviceIsDDSurface = (1L << 4),
- deviceIsDCISurface = (1L << 5),
- deviceIsGDISurface = (1L << 6),
- deviceIsAScreen = (1L << 7),
- deviceIsOverlaySurface = (1L << 8),
- pixMapIsDoubleBuffered = (1L << 9)
- };
+enum {
+ pixPurgeBit = 0,
+ noNewDeviceBit = 1,
+ useTempMemBit = 2,
+ keepLocalBit = 3,
+ useDistantHdwrMemBit = 4,
+ useLocalHdwrMemBit = 5,
+ pixelsPurgeableBit = 6,
+ pixelsLockedBit = 7,
+ mapPixBit = 16,
+ newDepthBit = 17,
+ alignPixBit = 18,
+ newRowBytesBit = 19,
+ reallocPixBit = 20,
+ clipPixBit = 28,
+ stretchPixBit = 29,
+ ditherPixBit = 30,
+ gwFlagErrBit = 31
+};
+
+enum {
+ pixPurge = 1L << pixPurgeBit,
+ noNewDevice = 1L << noNewDeviceBit,
+ useTempMem = 1L << useTempMemBit,
+ keepLocal = 1L << keepLocalBit,
+ useDistantHdwrMem = 1L << useDistantHdwrMemBit,
+ useLocalHdwrMem = 1L << useLocalHdwrMemBit,
+ pixelsPurgeable = 1L << pixelsPurgeableBit,
+ pixelsLocked = 1L << pixelsLockedBit,
+ kAllocDirectDrawSurface = 1L << 14,
+ mapPix = 1L << mapPixBit,
+ newDepth = 1L << newDepthBit,
+ alignPix = 1L << alignPixBit,
+ newRowBytes = 1L << newRowBytesBit,
+ reallocPix = 1L << reallocPixBit,
+ clipPix = 1L << clipPixBit,
+ stretchPix = 1L << stretchPixBit,
+ ditherPix = 1L << ditherPixBit,
+ gwFlagErr = 1L << gwFlagErrBit
+};
+
+typedef unsigned long GWorldFlags;
+/* Type definition of a GWorldPtr */
+typedef CGrafPtr GWorldPtr;
+/*
+ * NewGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( QDErr )
+NewGWorld(
+ GWorldPtr * offscreenGWorld,
+ short PixelDepth,
+ const Rect * boundsRect,
+ CTabHandle cTable, /* can be NULL */
+ GDHandle aGDevice, /* can be NULL */
+ GWorldFlags flags) FOURWORDINLINE(0x203C, 0x0016, 0x0000, 0xAB1D);
+
+
+/* GDevice attribute bits for Carbon and QuickTime 3.0*/
+enum {
+ deviceIsIndirect = (1L << 0),
+ deviceNeedsLock = (1L << 1),
+ deviceIsStatic = (1L << 2),
+ deviceIsExternalBuffer = (1L << 3),
+ deviceIsDDSurface = (1L << 4),
+ deviceIsDCISurface = (1L << 5),
+ deviceIsGDISurface = (1L << 6),
+ deviceIsAScreen = (1L << 7),
+ deviceIsOverlaySurface = (1L << 8),
+ pixMapIsDoubleBuffered = (1L << 9)
+};
#if TARGET_OS_WIN32
#if CALL_NOT_IN_CARBON
- /*
- * GetGDeviceSurface()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetGDeviceSurface(GDHandle gdh);
-
-
- /*
- * GetGDeviceAttributes()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(unsigned long)
- GetGDeviceAttributes(GDHandle gdh);
-
-
- /* to allocate non-mac-rgb GWorlds use QTNewGWorld (ImageCompression.h) */
- /*
- * NewGWorldFromHBITMAP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QDErr)
- NewGWorldFromHBITMAP(
- GWorldPtr * offscreenGWorld,
- CTabHandle cTable,
- GDHandle aGDevice,
- GWorldFlags flags,
- void * newHBITMAP,
- void * newHDC);
+/*
+ * GetGDeviceSurface()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetGDeviceSurface(GDHandle gdh);
+
+
+/*
+ * GetGDeviceAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( unsigned long )
+GetGDeviceAttributes(GDHandle gdh);
+
+
+/* to allocate non-mac-rgb GWorlds use QTNewGWorld (ImageCompression.h) */
+/*
+ * NewGWorldFromHBITMAP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QDErr )
+NewGWorldFromHBITMAP(
+ GWorldPtr * offscreenGWorld,
+ CTabHandle cTable,
+ GDHandle aGDevice,
+ GWorldFlags flags,
+ void * newHBITMAP,
+ void * newHDC);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_OS_WIN32 */
- /*
- * NewGWorldFromPtr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(QDErr)
- NewGWorldFromPtr(
- GWorldPtr * offscreenGWorld,
- unsigned long PixelFormat,
- const Rect * boundsRect,
- CTabHandle cTable, /* can be NULL */
- GDHandle aGDevice, /* can be NULL */
- GWorldFlags flags,
- Ptr newBuffer,
- long rowBytes);
-
-
- /*
- * LockPixels()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- LockPixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0001, 0xAB1D);
-
-
- /*
- * UnlockPixels()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UnlockPixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0002, 0xAB1D);
-
-
- /*
- * UpdateGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GWorldFlags)
- UpdateGWorld(
- GWorldPtr * offscreenGWorld,
- short pixelDepth,
- const Rect * boundsRect,
- CTabHandle cTable,
- GDHandle aGDevice, /* can be NULL */
- GWorldFlags flags) FOURWORDINLINE(0x203C, 0x0016, 0x0003, 0xAB1D);
-
-
- /*
- * DisposeGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeGWorld(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0004, 0xAB1D);
-
-
- /*
- * GetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetGWorld(
- CGrafPtr * port,
- GDHandle * gdh) FOURWORDINLINE(0x203C, 0x0008, 0x0005, 0xAB1D);
-
-
- /*
- * SetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetGWorld(
- CGrafPtr port,
- GDHandle gdh) FOURWORDINLINE(0x203C, 0x0008, 0x0006, 0xAB1D);
-
-
- /*
- * CTabChanged()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CTabChanged(CTabHandle ctab) FOURWORDINLINE(0x203C, 0x0004, 0x0007, 0xAB1D);
-
-
- /*
- * PixPatChanged()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PixPatChanged(PixPatHandle ppat) FOURWORDINLINE(0x203C, 0x0004, 0x0008, 0xAB1D);
-
-
- /*
- * PortChanged()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PortChanged(GrafPtr port) FOURWORDINLINE(0x203C, 0x0004, 0x0009, 0xAB1D);
-
-
- /*
- * GDeviceChanged()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GDeviceChanged(GDHandle gdh) FOURWORDINLINE(0x203C, 0x0004, 0x000A, 0xAB1D);
-
-
- /*
- * AllowPurgePixels()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AllowPurgePixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000B, 0xAB1D);
-
-
- /*
- * NoPurgePixels()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- NoPurgePixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000C, 0xAB1D);
-
-
- /*
- * GetPixelsState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GWorldFlags)
- GetPixelsState(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000D, 0xAB1D);
-
-
- /*
- * SetPixelsState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPixelsState(
- PixMapHandle pm,
- GWorldFlags state) FOURWORDINLINE(0x203C, 0x0008, 0x000E, 0xAB1D);
-
-
- /*
- * GetPixBaseAddr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr)
- GetPixBaseAddr(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000F, 0xAB1D);
-
-
- /*
- * GetPixRowBytes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GetPixRowBytes(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0018, 0xAB1D);
-
-
- /*
- * NewScreenBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(QDErr)
- NewScreenBuffer(
- const Rect * globalRect,
- Boolean purgeable,
- GDHandle * gdh,
- PixMapHandle * offscreenPixMap) FOURWORDINLINE(0x203C, 0x000E, 0x0010, 0xAB1D);
-
-
- /*
- * DisposeScreenBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeScreenBuffer(PixMapHandle offscreenPixMap) FOURWORDINLINE(0x203C, 0x0004, 0x0011, 0xAB1D);
-
-
- /*
- * GetGWorldDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- GetGWorldDevice(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0012, 0xAB1D);
-
-
- /*
- * QDDone()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- QDDone(GrafPtr port) FOURWORDINLINE(0x203C, 0x0004, 0x0013, 0xAB1D);
-
-
- /*
- * OffscreenVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- OffscreenVersion(void) TWOWORDINLINE(0x7014, 0xAB1D);
-
-
- /*
- * NewTempScreenBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(QDErr)
- NewTempScreenBuffer(
- const Rect * globalRect,
- Boolean purgeable,
- GDHandle * gdh,
- PixMapHandle * offscreenPixMap) FOURWORDINLINE(0x203C, 0x000E, 0x0015, 0xAB1D);
-
-
- /*
- * PixMap32Bit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- PixMap32Bit(PixMapHandle pmHandle) FOURWORDINLINE(0x203C, 0x0004, 0x0016, 0xAB1D);
-
-
- /*
- * GetGWorldPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PixMapHandle)
- GetGWorldPixMap(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0017, 0xAB1D);
+/*
+ * NewGWorldFromPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( QDErr )
+NewGWorldFromPtr(
+ GWorldPtr * offscreenGWorld,
+ unsigned long PixelFormat,
+ const Rect * boundsRect,
+ CTabHandle cTable, /* can be NULL */
+ GDHandle aGDevice, /* can be NULL */
+ GWorldFlags flags,
+ Ptr newBuffer,
+ long rowBytes);
+
+
+/*
+ * LockPixels()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+LockPixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0001, 0xAB1D);
+
+
+/*
+ * UnlockPixels()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UnlockPixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0002, 0xAB1D);
+
+
+/*
+ * UpdateGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GWorldFlags )
+UpdateGWorld(
+ GWorldPtr * offscreenGWorld,
+ short pixelDepth,
+ const Rect * boundsRect,
+ CTabHandle cTable,
+ GDHandle aGDevice, /* can be NULL */
+ GWorldFlags flags) FOURWORDINLINE(0x203C, 0x0016, 0x0003, 0xAB1D);
+
+
+/*
+ * DisposeGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeGWorld(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0004, 0xAB1D);
+
+
+/*
+ * GetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetGWorld(
+ CGrafPtr * port,
+ GDHandle * gdh) FOURWORDINLINE(0x203C, 0x0008, 0x0005, 0xAB1D);
+
+
+/*
+ * SetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetGWorld(
+ CGrafPtr port,
+ GDHandle gdh) FOURWORDINLINE(0x203C, 0x0008, 0x0006, 0xAB1D);
+
+
+/*
+ * CTabChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CTabChanged(CTabHandle ctab) FOURWORDINLINE(0x203C, 0x0004, 0x0007, 0xAB1D);
+
+
+/*
+ * PixPatChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PixPatChanged(PixPatHandle ppat) FOURWORDINLINE(0x203C, 0x0004, 0x0008, 0xAB1D);
+
+
+/*
+ * PortChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PortChanged(GrafPtr port) FOURWORDINLINE(0x203C, 0x0004, 0x0009, 0xAB1D);
+
+
+/*
+ * GDeviceChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GDeviceChanged(GDHandle gdh) FOURWORDINLINE(0x203C, 0x0004, 0x000A, 0xAB1D);
+
+
+/*
+ * AllowPurgePixels()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AllowPurgePixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000B, 0xAB1D);
+
+
+/*
+ * NoPurgePixels()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+NoPurgePixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000C, 0xAB1D);
+
+
+/*
+ * GetPixelsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GWorldFlags )
+GetPixelsState(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000D, 0xAB1D);
+
+
+/*
+ * SetPixelsState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPixelsState(
+ PixMapHandle pm,
+ GWorldFlags state) FOURWORDINLINE(0x203C, 0x0008, 0x000E, 0xAB1D);
+
+
+/*
+ * GetPixBaseAddr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr )
+GetPixBaseAddr(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000F, 0xAB1D);
+
+
+/*
+ * GetPixRowBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GetPixRowBytes(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0018, 0xAB1D);
+
+
+/*
+ * NewScreenBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( QDErr )
+NewScreenBuffer(
+ const Rect * globalRect,
+ Boolean purgeable,
+ GDHandle * gdh,
+ PixMapHandle * offscreenPixMap) FOURWORDINLINE(0x203C, 0x000E, 0x0010, 0xAB1D);
+
+
+/*
+ * DisposeScreenBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeScreenBuffer(PixMapHandle offscreenPixMap) FOURWORDINLINE(0x203C, 0x0004, 0x0011, 0xAB1D);
+
+
+/*
+ * GetGWorldDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+GetGWorldDevice(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0012, 0xAB1D);
+
+
+/*
+ * QDDone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+QDDone(GrafPtr port) FOURWORDINLINE(0x203C, 0x0004, 0x0013, 0xAB1D);
+
+
+/*
+ * OffscreenVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+OffscreenVersion(void) TWOWORDINLINE(0x7014, 0xAB1D);
+
+
+/*
+ * NewTempScreenBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( QDErr )
+NewTempScreenBuffer(
+ const Rect * globalRect,
+ Boolean purgeable,
+ GDHandle * gdh,
+ PixMapHandle * offscreenPixMap) FOURWORDINLINE(0x203C, 0x000E, 0x0015, 0xAB1D);
+
+
+/*
+ * PixMap32Bit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+PixMap32Bit(PixMapHandle pmHandle) FOURWORDINLINE(0x203C, 0x0004, 0x0016, 0xAB1D);
+
+
+/*
+ * GetGWorldPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PixMapHandle )
+GetGWorldPixMap(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0017, 0xAB1D);
diff --git a/include/qt/QDPictToCGContext.h b/include/qt/QDPictToCGContext.h
index d32b9f342..e2ae577fc 100644
--- a/include/qt/QDPictToCGContext.h
+++ b/include/qt/QDPictToCGContext.h
@@ -1,17 +1,17 @@
/*
File: QDPictToCGContext.h
-
+
Contains: API to draw Quickdraw PICTs into CoreGraphics context
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __QDPICTTOCGCONTEXT__
#define __QDPICTTOCGCONTEXT__
@@ -35,134 +35,134 @@ extern "C" {
#pragma import on
#endif
- typedef struct QDPict* QDPictRef;
- /*
- Note: QuickDraw picture data typically comes in two forms: a PICT resource
- that begins the picture header data at the beginning of the resource and PICT
- files that begin with 512 bytes of arbitrary data, followed by
- the picture header data. For this reason, the routines that create a QDPictRef
- attempt to find the picture header data beginning at either the first byte
- of the data provided or at byte 513 of the data provided.
-
- Additionally the Picture Bounds must not be an empty rect.
- */
- /* Create a QDPict reference, using `provider' to obtain the QDPict's data.
- * It is assumed that either the first byte or the 513th byte of data
- * in the file referenced by the URL is the first byte of the
- * picture header. If the URL does not begin PICT data at one
- * of these places in the data fork then the QDPictRef returned will be NULL.
- */
- /*
- * QDPictCreateWithProvider()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(QDPictRef)
- QDPictCreateWithProvider(CGDataProviderRef provider);
-
-
- /* Create a QDPict reference from `url'.
- * It is assumed that either the first byte or the 513th byte of data
- * in the file referenced by the URL is the first byte of the
- * picture header. If the URL does not begin PICT data at one
- * of these places in the data fork then the QDPictRef returned will be NULL.
- */
- /*
- * QDPictCreateWithURL()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(QDPictRef)
- QDPictCreateWithURL(CFURLRef url);
-
-
- /* Increment the retain count of `pictRef' and return it. All
- * pictRefs are created with an initial retain count of 1. */
- /*
- * QDPictRetain()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(QDPictRef)
- QDPictRetain(QDPictRef pictRef);
-
-
- /* Decrement the retain count of `pictRef'. If the retain count reaches 0,
- * then free it and any associated resources. */
- /*
- * QDPictRelease()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- QDPictRelease(QDPictRef pictRef);
-
-
- /* Return the Picture Bounds of the QuickDraw picture represented by `pictRef'. This
- rectangle is in the default user space with one unit = 1/72 inch.
- */
- /*
- * QDPictGetBounds()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(CGRect)
- QDPictGetBounds(QDPictRef pictRef);
-
-
- /* Return the resolution of the QuickDraw picture represented by `pictRef'.
- This data, together with the CGRect returned by QDPictGetBounds, can be
- used to compute the size of the picture in pixels, which is what QuickDraw
- really records into pictures.
- */
- /*
- * QDPictGetResolution()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- QDPictGetResolution(
- QDPictRef pictRef,
- float * xRes,
- float * yRes);
-
-
- /* Draw `pictRef' in the rectangular area specified by `rect'.
- * The PICT bounds of the page is scaled, if necessary, to fit into
- * `rect'. To get unscaled results, supply a rect the size of the rect
- * returned by QDPictGetBounds.
- */
- /*
- * QDPictDrawToCGContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- QDPictDrawToCGContext(
- CGContextRef ctx,
- CGRect rect,
- QDPictRef pictRef);
+typedef struct QDPict* QDPictRef;
+/*
+ Note: QuickDraw picture data typically comes in two forms: a PICT resource
+ that begins the picture header data at the beginning of the resource and PICT
+ files that begin with 512 bytes of arbitrary data, followed by
+ the picture header data. For this reason, the routines that create a QDPictRef
+ attempt to find the picture header data beginning at either the first byte
+ of the data provided or at byte 513 of the data provided.
+
+ Additionally the Picture Bounds must not be an empty rect.
+*/
+/* Create a QDPict reference, using `provider' to obtain the QDPict's data.
+ * It is assumed that either the first byte or the 513th byte of data
+ * in the file referenced by the URL is the first byte of the
+ * picture header. If the URL does not begin PICT data at one
+ * of these places in the data fork then the QDPictRef returned will be NULL.
+*/
+/*
+ * QDPictCreateWithProvider()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( QDPictRef )
+QDPictCreateWithProvider(CGDataProviderRef provider);
+
+
+/* Create a QDPict reference from `url'.
+ * It is assumed that either the first byte or the 513th byte of data
+ * in the file referenced by the URL is the first byte of the
+ * picture header. If the URL does not begin PICT data at one
+ * of these places in the data fork then the QDPictRef returned will be NULL.
+*/
+/*
+ * QDPictCreateWithURL()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( QDPictRef )
+QDPictCreateWithURL(CFURLRef url);
+
+
+/* Increment the retain count of `pictRef' and return it. All
+ * pictRefs are created with an initial retain count of 1. */
+/*
+ * QDPictRetain()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( QDPictRef )
+QDPictRetain(QDPictRef pictRef);
+
+
+/* Decrement the retain count of `pictRef'. If the retain count reaches 0,
+ * then free it and any associated resources. */
+/*
+ * QDPictRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+QDPictRelease(QDPictRef pictRef);
+
+
+/* Return the Picture Bounds of the QuickDraw picture represented by `pictRef'. This
+ rectangle is in the default user space with one unit = 1/72 inch.
+*/
+/*
+ * QDPictGetBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( CGRect )
+QDPictGetBounds(QDPictRef pictRef);
+
+
+/* Return the resolution of the QuickDraw picture represented by `pictRef'.
+ This data, together with the CGRect returned by QDPictGetBounds, can be
+ used to compute the size of the picture in pixels, which is what QuickDraw
+ really records into pictures.
+*/
+/*
+ * QDPictGetResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+QDPictGetResolution(
+ QDPictRef pictRef,
+ float * xRes,
+ float * yRes);
+
+
+/* Draw `pictRef' in the rectangular area specified by `rect'.
+ * The PICT bounds of the page is scaled, if necessary, to fit into
+ * `rect'. To get unscaled results, supply a rect the size of the rect
+ * returned by QDPictGetBounds.
+*/
+/*
+ * QDPictDrawToCGContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+QDPictDrawToCGContext(
+ CGContextRef ctx,
+ CGRect rect,
+ QDPictRef pictRef);
diff --git a/include/qt/QTLoadLibraryUtils.h b/include/qt/QTLoadLibraryUtils.h
index 43eaa5afd..fc54d4529 100644
--- a/include/qt/QTLoadLibraryUtils.h
+++ b/include/qt/QTLoadLibraryUtils.h
@@ -19,13 +19,13 @@ extern "C" {
#endif
// QuickTime version of LoadLibrary() which searches QT directories for DLLs.
- extern HINSTANCE QTLoadLibrary(const char *szDLL);
+extern HINSTANCE QTLoadLibrary(const char *szDLL);
// Simple routines to mimic GetSystemDirectory() as much as possible.
- extern UINT GetQTSystemDirectoryA(LPSTR lpBuffer, UINT uSize);
- extern UINT GetQTExtensionDirectoryA(LPSTR lpBuffer, UINT uSize);
- extern UINT GetQTApplicationDirectoryA(LPSTR lpBuffer, UINT uSize);
- extern UINT GetQTComponentDirectoryA(LPSTR lpBuffer, UINT uSize);
+extern UINT GetQTSystemDirectoryA(LPSTR lpBuffer, UINT uSize);
+extern UINT GetQTExtensionDirectoryA(LPSTR lpBuffer, UINT uSize);
+extern UINT GetQTApplicationDirectoryA(LPSTR lpBuffer, UINT uSize);
+extern UINT GetQTComponentDirectoryA(LPSTR lpBuffer, UINT uSize);
// be Unicode compatible in the next release of QuickTime
#define GetQTSystemDirectory GetQTSystemDirectoryA
diff --git a/include/qt/QTML.h b/include/qt/QTML.h
index e1c3f9ea4..5ad6d81a3 100644
--- a/include/qt/QTML.h
+++ b/include/qt/QTML.h
@@ -1,17 +1,17 @@
/*
File: QTML.h
-
+
Contains: QuickTime Cross-platform specific interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2007 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 __QTML__
#define __QTML__
@@ -51,511 +51,507 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- /*
- * QTMLYieldCPU()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 3.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLYieldCPU(void);
-
-
- /* QTMLYieldCPUTime flags*/
- enum
- {
- kQTMLHandlePortEvents = (1L << 0) /* ask for event handling during the yield*/
- };
-
- /*
- * QTMLYieldCPUTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 3.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLYieldCPUTime(
- long milliSeconds,
- unsigned long flags);
-
-
- typedef struct OpaqueQTMLMutex* QTMLMutex;
- typedef struct OpaqueQTMLSyncVar* QTMLSyncVar;
- typedef QTMLSyncVar * QTMLSyncVarPtr;
- /* InitializeQTML flags*/
- enum
- {
- kInitializeQTMLNoSoundFlag = (1L << 0), /* flag for requesting no sound when calling InitializeQTML*/
- kInitializeQTMLUseGDIFlag = (1L << 1), /* flag for requesting GDI when calling InitializeQTML*/
- kInitializeQTMLDisableDirectSound = (1L << 2), /* disables QTML's use of DirectSound*/
- kInitializeQTMLUseExclusiveFullScreenModeFlag = (1L << 3), /* later than QTML 3.0: qtml starts up in exclusive full screen mode*/
- kInitializeQTMLDisableDDClippers = (1L << 4), /* flag for requesting QTML not to use DirectDraw clipper objects; QTML 5.0 and later*/
- kInitializeQTMLEnableDoubleBufferedSurface = (1L << 6) /* flag for requesting QuickTime use a double-buffered destination surface; QT6.4 and later*/
- };
+/*
+ * QTMLYieldCPU()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 3.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLYieldCPU(void);
+
+
+/* QTMLYieldCPUTime flags*/
+enum {
+ kQTMLHandlePortEvents = (1L << 0) /* ask for event handling during the yield*/
+};
+
+/*
+ * QTMLYieldCPUTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 3.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLYieldCPUTime(
+ long milliSeconds,
+ unsigned long flags);
+
+
+typedef struct OpaqueQTMLMutex* QTMLMutex;
+typedef struct OpaqueQTMLSyncVar* QTMLSyncVar;
+typedef QTMLSyncVar * QTMLSyncVarPtr;
+/* InitializeQTML flags*/
+enum {
+ kInitializeQTMLNoSoundFlag = (1L << 0), /* flag for requesting no sound when calling InitializeQTML*/
+ kInitializeQTMLUseGDIFlag = (1L << 1), /* flag for requesting GDI when calling InitializeQTML*/
+ kInitializeQTMLDisableDirectSound = (1L << 2), /* disables QTML's use of DirectSound*/
+ kInitializeQTMLUseExclusiveFullScreenModeFlag = (1L << 3), /* later than QTML 3.0: qtml starts up in exclusive full screen mode*/
+ kInitializeQTMLDisableDDClippers = (1L << 4), /* flag for requesting QTML not to use DirectDraw clipper objects; QTML 5.0 and later*/
+ kInitializeQTMLEnableDoubleBufferedSurface = (1L << 6) /* flag for requesting QuickTime use a double-buffered destination surface; QT6.4 and later*/
+};
#if CALL_NOT_IN_CARBON
- /*
- * InitializeQTML()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- InitializeQTML(long flag);
-
-
- /*
- * TerminateQTML()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- TerminateQTML(void);
-
-
-
- /* CreatePortAssociation flags*/
+/*
+ * InitializeQTML()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+InitializeQTML(long flag);
+
+
+/*
+ * TerminateQTML()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+TerminateQTML(void);
+
+
+
+/* CreatePortAssociation flags*/
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kQTMLNoIdleEvents = (1L << 1), /* ask for a non-auto-idled port to be created*/
- kQTMLNoDoubleBufferPort = (1L << 2) /* ask for QTML not to double-buffer this port*/
- };
+enum {
+ kQTMLNoIdleEvents = (1L << 1), /* ask for a non-auto-idled port to be created*/
+ kQTMLNoDoubleBufferPort = (1L << 2) /* ask for QTML not to double-buffer this port*/
+};
#define kQTMLIsDoubleBuffered "UsesDoubleBuffer"
#if CALL_NOT_IN_CARBON
- /*
- * CreatePortAssociation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(GrafPtr)
- CreatePortAssociation(
- void * theWnd,
- Ptr storage,
- long flags);
-
-
- /*
- * DestroyPortAssociation()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- DestroyPortAssociation(CGrafPtr cgp);
+/*
+ * CreatePortAssociation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( GrafPtr )
+CreatePortAssociation(
+ void * theWnd,
+ Ptr storage,
+ long flags);
+
+
+/*
+ * DestroyPortAssociation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+DestroyPortAssociation(CGrafPtr cgp);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * QTMLGrabMutex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 3.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLGrabMutex(QTMLMutex mu);
-
-
- /*
- * QTMLTryGrabMutex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 4.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(Boolean)
- QTMLTryGrabMutex(QTMLMutex mu);
-
-
- /*
- * QTMLReturnMutex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 3.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLReturnMutex(QTMLMutex mu);
-
-
- /*
- * QTMLCreateMutex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 3.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTMLMutex)
- QTMLCreateMutex(void);
-
-
- /*
- * QTMLDestroyMutex()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 3.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLDestroyMutex(QTMLMutex mu);
+/*
+ * QTMLGrabMutex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 3.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLGrabMutex(QTMLMutex mu);
+
+
+/*
+ * QTMLTryGrabMutex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 4.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( Boolean )
+QTMLTryGrabMutex(QTMLMutex mu);
+
+
+/*
+ * QTMLReturnMutex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 3.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLReturnMutex(QTMLMutex mu);
+
+
+/*
+ * QTMLCreateMutex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 3.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTMLMutex )
+QTMLCreateMutex(void);
+
+
+/*
+ * QTMLDestroyMutex()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 3.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLDestroyMutex(QTMLMutex mu);
#if CALL_NOT_IN_CARBON
- /*
- * QTMLCreateSyncVar()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTMLSyncVarPtr)
- QTMLCreateSyncVar(void);
-
-
- /*
- * QTMLDestroySyncVar()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLDestroySyncVar(QTMLSyncVarPtr p);
-
-
- /*
- * QTMLTestAndSetSyncVar()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- QTMLTestAndSetSyncVar(QTMLSyncVarPtr sync);
-
-
- /*
- * QTMLWaitAndSetSyncVar()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLWaitAndSetSyncVar(QTMLSyncVarPtr sync);
-
-
- /*
- * QTMLResetSyncVar()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLResetSyncVar(QTMLSyncVarPtr sync);
-
-
-
- /*
- * InitializeQHdr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- InitializeQHdr(QHdr * qhdr);
-
-
- /*
- * TerminateQHdr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- TerminateQHdr(QHdr * qhdr);
-
-
-
- /*
- * QTMLAcquireWindowList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLAcquireWindowList(void);
-
-
- /*
- * QTMLReleaseWindowList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLReleaseWindowList(void);
-
-
- /*
- These routines are here to support "interrupt level" code
- These are dangerous routines, only use if you know what you are doing.
- */
-
- /*
- * QTMLRegisterInterruptSafeThread()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- QTMLRegisterInterruptSafeThread(
- unsigned long threadID,
- void * threadInfo);
-
-
- /*
- * QTMLUnregisterInterruptSafeThread()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- QTMLUnregisterInterruptSafeThread(unsigned long threadID);
-
-
-
- /*
- * NativeEventToMacEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- NativeEventToMacEvent(
- void * nativeEvent,
- EventRecord * macEvent);
+/*
+ * QTMLCreateSyncVar()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTMLSyncVarPtr )
+QTMLCreateSyncVar(void);
+
+
+/*
+ * QTMLDestroySyncVar()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLDestroySyncVar(QTMLSyncVarPtr p);
+
+
+/*
+ * QTMLTestAndSetSyncVar()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+QTMLTestAndSetSyncVar(QTMLSyncVarPtr sync);
+
+
+/*
+ * QTMLWaitAndSetSyncVar()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLWaitAndSetSyncVar(QTMLSyncVarPtr sync);
+
+
+/*
+ * QTMLResetSyncVar()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLResetSyncVar(QTMLSyncVarPtr sync);
+
+
+
+/*
+ * InitializeQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+InitializeQHdr(QHdr * qhdr);
+
+
+/*
+ * TerminateQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+TerminateQHdr(QHdr * qhdr);
+
+
+
+/*
+ * QTMLAcquireWindowList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLAcquireWindowList(void);
+
+
+/*
+ * QTMLReleaseWindowList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLReleaseWindowList(void);
+
+
+/*
+ These routines are here to support "interrupt level" code
+ These are dangerous routines, only use if you know what you are doing.
+*/
+
+/*
+ * QTMLRegisterInterruptSafeThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+QTMLRegisterInterruptSafeThread(
+ unsigned long threadID,
+ void * threadInfo);
+
+
+/*
+ * QTMLUnregisterInterruptSafeThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+QTMLUnregisterInterruptSafeThread(unsigned long threadID);
+
+
+
+/*
+ * NativeEventToMacEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+NativeEventToMacEvent(
+ void * nativeEvent,
+ EventRecord * macEvent);
#endif /* CALL_NOT_IN_CARBON */
#if TARGET_OS_WIN32
#if CALL_NOT_IN_CARBON
- /*
- * WinEventToMacEvent()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- WinEventToMacEvent(
- void * winMsg,
- EventRecord * macEvent);
+/*
+ * WinEventToMacEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+WinEventToMacEvent(
+ void * winMsg,
+ EventRecord * macEvent);
#define WinEventToMacEvent NativeEventToMacEvent
- /*
- * IsTaskBarVisible()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Boolean)
- IsTaskBarVisible(void);
-
-
- /*
- * ShowHideTaskBar()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- ShowHideTaskBar(Boolean showIt);
+/*
+ * IsTaskBarVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Boolean )
+IsTaskBarVisible(void);
+
+
+/*
+ * ShowHideTaskBar()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+ShowHideTaskBar(Boolean showIt);
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kDDSurfaceLocked = (1L << 0),
- kDDSurfaceStatic = (1L << 1)
- };
+enum {
+ kDDSurfaceLocked = (1L << 0),
+ kDDSurfaceStatic = (1L << 1)
+};
#if CALL_NOT_IN_CARBON
- /*
- * QTGetDDObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTGetDDObject(void ** lpDDObject);
-
-
- /*
- * QTSetDDObject()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTSetDDObject(void * lpNewDDObject);
-
-
- /*
- * QTSetDDPrimarySurface()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTSetDDPrimarySurface(
- void * lpNewDDSurface,
- unsigned long flags);
-
-
-
- /*
- * QTMLGetVolumeRootPath()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTMLGetVolumeRootPath(
- char * fullPath,
- char * volumeRootPath,
- unsigned long volumeRootLen);
-
-
-
- /*
- * QTMLSetWindowWndProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void)
- QTMLSetWindowWndProc(
- WindowRef theWindow,
- void * windowProc);
-
-
- /*
- * QTMLGetWindowWndProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(void *)
- QTMLGetWindowWndProc(WindowRef theWindow);
+/*
+ * QTGetDDObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetDDObject(void ** lpDDObject);
+
+
+/*
+ * QTSetDDObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetDDObject(void * lpNewDDObject);
+
+
+/*
+ * QTSetDDPrimarySurface()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTSetDDPrimarySurface(
+ void * lpNewDDSurface,
+ unsigned long flags);
+
+
+
+/*
+ * QTMLGetVolumeRootPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTMLGetVolumeRootPath(
+ char * fullPath,
+ char * volumeRootPath,
+ unsigned long volumeRootLen);
+
+
+
+/*
+ * QTMLSetWindowWndProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void )
+QTMLSetWindowWndProc(
+ WindowRef theWindow,
+ void * windowProc);
+
+
+/*
+ * QTMLGetWindowWndProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( void * )
+QTMLGetWindowWndProc(WindowRef theWindow);
#endif /* CALL_NOT_IN_CARBON */
@@ -563,93 +559,91 @@ extern "C" {
#endif /* TARGET_OS_WIN32 */
#if CALL_NOT_IN_CARBON
- /*
- * QTMLGetCanonicalPathName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- QTMLGetCanonicalPathName(
- char * inName,
- char * outName,
- unsigned long outLen);
+/*
+ * QTMLGetCanonicalPathName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+QTMLGetCanonicalPathName(
+ char * inName,
+ char * outName,
+ unsigned long outLen);
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kFullNativePath = 0,
- kFileNameOnly = (1 << 0),
- kDirectoryPathOnly = (1 << 1),
- kUFSFullPathName = (1 << 2),
- kTryVDIMask = (1 << 3), /* Used in NativePathNameToFSSpec to specify to search VDI mountpoints*/
- kFullPathSpecifiedMask = (1 << 4) /* the passed in name is a fully qualified full path*/
- };
+enum {
+ kFullNativePath = 0,
+ kFileNameOnly = (1 << 0),
+ kDirectoryPathOnly = (1 << 1),
+ kUFSFullPathName = (1 << 2),
+ kTryVDIMask = (1 << 3), /* Used in NativePathNameToFSSpec to specify to search VDI mountpoints*/
+ kFullPathSpecifiedMask = (1 << 4) /* the passed in name is a fully qualified full path*/
+};
#if CALL_NOT_IN_CARBON
- /*
- * FSSpecToNativePathName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- FSSpecToNativePathName(
- const FSSpec * inFile,
- char * outName,
- unsigned long outLen,
- long flags);
+/*
+ * FSSpecToNativePathName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+FSSpecToNativePathName(
+ const FSSpec * inFile,
+ char * outName,
+ unsigned long outLen,
+ long flags);
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kErrorIfFileNotFound = 1L << 31
- };
+enum {
+ kErrorIfFileNotFound = 1L << 31
+};
#if CALL_NOT_IN_CARBON
- /*
- * NativePathNameToFSSpec()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(OSErr)
- NativePathNameToFSSpec(
- char * inName,
- FSSpec * outFile,
- long flags);
-
-
- /*
- * QTGetAliasInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(OSErr)
- QTGetAliasInfo(
- AliasHandle alias,
- AliasInfoType index,
- char * outBuf,
- long bufLen,
- long * outLen,
- unsigned long flags);
+/*
+ * NativePathNameToFSSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( OSErr )
+NativePathNameToFSSpec(
+ char * inName,
+ FSSpec * outFile,
+ long flags);
+
+
+/*
+ * QTGetAliasInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( OSErr )
+QTGetAliasInfo(
+ AliasHandle alias,
+ AliasInfoType index,
+ char * outBuf,
+ long bufLen,
+ long * outLen,
+ unsigned long flags);
@@ -659,11 +653,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QTSMovie.h b/include/qt/QTSMovie.h
index a75b844d0..911167717 100644
--- a/include/qt/QTSMovie.h
+++ b/include/qt/QTSMovie.h
@@ -1,17 +1,17 @@
/*
File: QTSMovie.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __QTSMOVIE__
#define __QTSMOVIE__
@@ -44,209 +44,197 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- enum {
- kQTSStreamMediaType = FOUR_CHAR_CODE('strm')
- };
-
- struct QTSSampleDescription
- {
- long descSize;
- long dataFormat;
- long resvd1; /* set to 0*/
- short resvd2; /* set to 0*/
- short dataRefIndex;
- UInt32 version;
- UInt32 resvd3; /* set to 0*/
- SInt32 flags;
- /* qt atoms follow:*/
- /* long size, long type, some data*/
- /* repeat as necessary*/
- };
- typedef struct QTSSampleDescription QTSSampleDescription;
- typedef QTSSampleDescription * QTSSampleDescriptionPtr;
- typedef QTSSampleDescriptionPtr * QTSSampleDescriptionHandle;
- enum
- {
- kQTSSampleDescriptionVersion1 = 1L
- };
-
- enum
- {
- kQTSDefaultMediaTimeScale = 600L
- };
-
- /* sample description flags*/
- enum
- {
- kQTSSampleDescPassSampleDataAsHandleFlag = 0x00000001
- };
-
-
- /*============================================================================
- Stream Media Handler
- ============================================================================*/
- /*-----------------------------------------
- Info Selectors
- -----------------------------------------*/
- /* all indexes start at 1 */
-
- enum
- {
- kQTSMediaPresentationInfo = FOUR_CHAR_CODE('pres'), /* QTSMediaPresentationParams* */
- kQTSMediaNotificationInfo = FOUR_CHAR_CODE('noti'), /* QTSMediaNotificationParams* */
- kQTSMediaTotalDataRateInfo = FOUR_CHAR_CODE('dtrt'), /* UInt32*, bits/sec */
- kQTSMediaLostPercentInfo = FOUR_CHAR_CODE('lspc'), /* Fixed* */
- kQTSMediaNumStreamsInfo = FOUR_CHAR_CODE('nstr'), /* UInt32* */
- kQTSMediaIndSampleDescriptionInfo = FOUR_CHAR_CODE('isdc') /* QTSMediaIndSampleDescriptionParams* */
- };
-
-
- struct QTSMediaPresentationParams
- {
- QTSPresentation presentationID;
- };
- typedef struct QTSMediaPresentationParams QTSMediaPresentationParams;
- struct QTSMediaNotificationParams
- {
- QTSNotificationUPP notificationProc;
- void * notificationRefCon;
- SInt32 flags;
- };
- typedef struct QTSMediaNotificationParams QTSMediaNotificationParams;
- struct QTSMediaIndSampleDescriptionParams
- {
- SInt32 index;
- OSType returnedMediaType;
- SampleDescriptionHandle returnedSampleDescription;
- };
- typedef struct QTSMediaIndSampleDescriptionParams QTSMediaIndSampleDescriptionParams;
- /*-----------------------------------------
- QTS Media Handler Selectors
- -----------------------------------------*/
- enum
- {
- kQTSMediaSetInfoSelect = 0x0100,
- kQTSMediaGetInfoSelect = 0x0101,
- kQTSMediaSetIndStreamInfoSelect = 0x0102,
- kQTSMediaGetIndStreamInfoSelect = 0x0103
- };
-
- /*-----------------------------------------
- QTS Media Handler functions
- -----------------------------------------*/
- /*
- * QTSMediaSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSMediaSetInfo(
- MediaHandler mh,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * QTSMediaGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSMediaGetInfo(
- MediaHandler mh,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * QTSMediaSetIndStreamInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSMediaSetIndStreamInfo(
- MediaHandler mh,
- SInt32 inIndex,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * QTSMediaGetIndStreamInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSMediaGetIndStreamInfo(
- MediaHandler mh,
- SInt32 inIndex,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
-
-
-
- /*============================================================================
- Hint Media Handler
- ============================================================================*/
- enum
- {
- kQTSHintMediaType = FOUR_CHAR_CODE('hint')
- };
-
- enum
- {
- kQTSHintTrackReference = FOUR_CHAR_CODE('hint')
- };
-
-
-
-
-
- /* MixedMode ProcInfo constants for component calls */
- enum
- {
- uppQTSMediaSetInfoProcInfo = 0x00000FF0,
- uppQTSMediaGetInfoProcInfo = 0x00000FF0,
- uppQTSMediaSetIndStreamInfoProcInfo = 0x00003FF0,
- uppQTSMediaGetIndStreamInfoProcInfo = 0x00003FF0
- };
+enum {
+ kQTSStreamMediaType = FOUR_CHAR_CODE('strm')
+};
+
+struct QTSSampleDescription {
+ long descSize;
+ long dataFormat;
+ long resvd1; /* set to 0*/
+ short resvd2; /* set to 0*/
+ short dataRefIndex;
+ UInt32 version;
+ UInt32 resvd3; /* set to 0*/
+ SInt32 flags;
+ /* qt atoms follow:*/
+ /* long size, long type, some data*/
+ /* repeat as necessary*/
+};
+typedef struct QTSSampleDescription QTSSampleDescription;
+typedef QTSSampleDescription * QTSSampleDescriptionPtr;
+typedef QTSSampleDescriptionPtr * QTSSampleDescriptionHandle;
+enum {
+ kQTSSampleDescriptionVersion1 = 1L
+};
+
+enum {
+ kQTSDefaultMediaTimeScale = 600L
+};
+
+/* sample description flags*/
+enum {
+ kQTSSampleDescPassSampleDataAsHandleFlag = 0x00000001
+};
+
+
+/*============================================================================
+ Stream Media Handler
+============================================================================*/
+/*-----------------------------------------
+ Info Selectors
+-----------------------------------------*/
+/* all indexes start at 1 */
+
+enum {
+ kQTSMediaPresentationInfo = FOUR_CHAR_CODE('pres'), /* QTSMediaPresentationParams* */
+ kQTSMediaNotificationInfo = FOUR_CHAR_CODE('noti'), /* QTSMediaNotificationParams* */
+ kQTSMediaTotalDataRateInfo = FOUR_CHAR_CODE('dtrt'), /* UInt32*, bits/sec */
+ kQTSMediaLostPercentInfo = FOUR_CHAR_CODE('lspc'), /* Fixed* */
+ kQTSMediaNumStreamsInfo = FOUR_CHAR_CODE('nstr'), /* UInt32* */
+ kQTSMediaIndSampleDescriptionInfo = FOUR_CHAR_CODE('isdc') /* QTSMediaIndSampleDescriptionParams* */
+};
+
+
+struct QTSMediaPresentationParams {
+ QTSPresentation presentationID;
+};
+typedef struct QTSMediaPresentationParams QTSMediaPresentationParams;
+struct QTSMediaNotificationParams {
+ QTSNotificationUPP notificationProc;
+ void * notificationRefCon;
+ SInt32 flags;
+};
+typedef struct QTSMediaNotificationParams QTSMediaNotificationParams;
+struct QTSMediaIndSampleDescriptionParams {
+ SInt32 index;
+ OSType returnedMediaType;
+ SampleDescriptionHandle returnedSampleDescription;
+};
+typedef struct QTSMediaIndSampleDescriptionParams QTSMediaIndSampleDescriptionParams;
+/*-----------------------------------------
+ QTS Media Handler Selectors
+-----------------------------------------*/
+enum {
+ kQTSMediaSetInfoSelect = 0x0100,
+ kQTSMediaGetInfoSelect = 0x0101,
+ kQTSMediaSetIndStreamInfoSelect = 0x0102,
+ kQTSMediaGetIndStreamInfoSelect = 0x0103
+};
+
+/*-----------------------------------------
+ QTS Media Handler functions
+-----------------------------------------*/
+/*
+ * QTSMediaSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSMediaSetInfo(
+ MediaHandler mh,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * QTSMediaGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSMediaGetInfo(
+ MediaHandler mh,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * QTSMediaSetIndStreamInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSMediaSetIndStreamInfo(
+ MediaHandler mh,
+ SInt32 inIndex,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * QTSMediaGetIndStreamInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSMediaGetIndStreamInfo(
+ MediaHandler mh,
+ SInt32 inIndex,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
+
+
+
+/*============================================================================
+ Hint Media Handler
+============================================================================*/
+enum {
+ kQTSHintMediaType = FOUR_CHAR_CODE('hint')
+};
+
+enum {
+ kQTSHintTrackReference = FOUR_CHAR_CODE('hint')
+};
+
+
+
+
+
+/* MixedMode ProcInfo constants for component calls */
+enum {
+ uppQTSMediaSetInfoProcInfo = 0x00000FF0,
+ uppQTSMediaGetInfoProcInfo = 0x00000FF0,
+ uppQTSMediaSetIndStreamInfoProcInfo = 0x00003FF0,
+ uppQTSMediaGetIndStreamInfoProcInfo = 0x00003FF0
+};
#endif // !__LP64__
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QTStreamingComponents.h b/include/qt/QTStreamingComponents.h
index 30a6e1b2c..d78b30652 100644
--- a/include/qt/QTStreamingComponents.h
+++ b/include/qt/QTStreamingComponents.h
@@ -1,17 +1,17 @@
/*
File: QTStreamingComponents.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __QTSTREAMINGCOMPONENTS__
#define __QTSTREAMINGCOMPONENTS__
@@ -44,2640 +44,2539 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- /*============================================================================
- Stream Sourcer
- ============================================================================*/
- enum {
- kQTSSourcerType = FOUR_CHAR_CODE('srcr')
- };
-
- typedef ComponentInstance QTSSourcer;
- enum
- {
- kQTSSGChannelSourcerType = FOUR_CHAR_CODE('sgch'),
- kQTSMovieTrackSourcerType = FOUR_CHAR_CODE('trak'),
- kQTSPushDataSourcerType = FOUR_CHAR_CODE('push')
- };
-
- /* flags for sourcer data */
- enum
- {
- kQTSSourcerDataFlag_SyncSample = 0x00000001,
- kQTSPushDataSourcerFlag_SampleTimeIsValid = (long)0x80000000
- };
-
-
- enum
- {
- kQTSSourcerInitParamsVersion1 = 1
- };
-
- struct QTSSourcerInitParams
- {
- SInt32 version;
- SInt32 flags;
- OSType dataType;
- void * data;
- UInt32 dataLength;
- };
- typedef struct QTSSourcerInitParams QTSSourcerInitParams;
- /*
- * QTSNewSourcer()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSNewSourcer(
- void * params,
- const QTSSourcerInitParams * inInitParams,
- SInt32 inFlags,
- ComponentInstance * outSourcer);
-
-
- /* info selectors for sourcers - get and set */
- enum
- {
- kQTSInfo_Track = FOUR_CHAR_CODE('trak'), /* QTSTrackParams* */
- kQTSInfo_Loop = FOUR_CHAR_CODE('loop'), /* QTSLoopParams* */
- kQTSInfo_SourcerTiming = FOUR_CHAR_CODE('stim'), /* QTSSourcerTimingParams* */
- kQTSInfo_TargetFrameRate = FOUR_CHAR_CODE('tfps'), /* Fixed * in frames per second */
- kQTSInfo_PushData = FOUR_CHAR_CODE('push'), /* QTSPushDataParams* */
- kQTSInfo_SourcerCallbackProc = FOUR_CHAR_CODE('scbp'), /* QTSSourcerCallbackProcParams* */
- kQTSInfo_TargetDataRate = FOUR_CHAR_CODE('tdrt'), /* UInt32 * in bytes per second */
- kQTSInfo_AudioAutoGainOnOff = FOUR_CHAR_CODE('agc '), /* Boolean* - error if unavailable*/
- kQTSInfo_AudioGain = FOUR_CHAR_CODE('gain'), /* Fixed* kFixed1 is unity gain */
- kQTSInfo_CroppedInputRect = FOUR_CHAR_CODE('crpr'), /* Rect* - defined relative to kQTSInfo_FullInputRect below */
- kQTSInfo_SpatialSettings = FOUR_CHAR_CODE('sptl'), /* pointer to SCSpatialSettings struct*/
- kQTSInfo_TemporalSettings = FOUR_CHAR_CODE('tprl'), /* pointer to SCTemporalSettings struct*/
- kQTSInfo_DataRateSettings = FOUR_CHAR_CODE('drat'), /* pointer to SCDataRateSettings struct*/
- kQTSInfo_CodecFlags = FOUR_CHAR_CODE('cflg'), /* pointer to CodecFlags*/
- kQTSInfo_CodecSettings = FOUR_CHAR_CODE('cdec'), /* pointer to Handle*/
- kQTSInfo_ForceKeyValue = FOUR_CHAR_CODE('ksim'), /* pointer to long*/
- kQTSInfo_SoundSampleRate = FOUR_CHAR_CODE('ssrt'), /* pointer to UnsignedFixed*/
- kQTSInfo_SoundSampleSize = FOUR_CHAR_CODE('ssss'), /* pointer to short*/
- kQTSInfo_SoundChannelCount = FOUR_CHAR_CODE('sscc'), /* pointer to short*/
- kQTSInfo_SoundCompression = FOUR_CHAR_CODE('ssct'), /* pointer to OSType*/
- kQTSInfo_CompressionList = FOUR_CHAR_CODE('ctyl'), /* pointer to OSType Handle*/
- kQTSInfo_VideoHue = FOUR_CHAR_CODE('hue '), /* UInt16* */
- kQTSInfo_VideoSaturation = FOUR_CHAR_CODE('satr'), /* UInt16* */
- kQTSInfo_VideoContrast = FOUR_CHAR_CODE('trst'), /* UInt16* */
- kQTSInfo_VideoBrightness = FOUR_CHAR_CODE('brit'), /* UInt16* */
- kQTSInfo_VideoSharpness = FOUR_CHAR_CODE('shrp'), /* UInt16* */
- kQTSInfo_TimeScale = FOUR_CHAR_CODE('scal'), /* UInt32* */
- kQTSInfo_SGChannelDeviceName = FOUR_CHAR_CODE('innm'), /* Handle* */
- kQTSInfo_SGChannelDeviceList = FOUR_CHAR_CODE('srdl'), /* SGDeviceList* */
- kQTSInfo_SGChannelDeviceInput = FOUR_CHAR_CODE('sdii'), /* short* */
- kQTSInfo_SGChannelSettings = FOUR_CHAR_CODE('sesg'), /* QTSSGChannelSettingsParams */
- kQTSInfo_PreviewWhileRecordingMode = FOUR_CHAR_CODE('srpr'), /* Boolean* */
- kQTSInfo_CompressionParams = FOUR_CHAR_CODE('sccp') /* QTAtomContainer* */
- };
-
- /* info selectors for sourcers - get only*/
- enum
- {
- kQTSInfo_SGChannel = FOUR_CHAR_CODE('sgch'), /* SGChannel* */
- kQTSInfo_SGChannelInputName = FOUR_CHAR_CODE('srnm'), /* Handle* */
- kQTSInfo_FullInputRect = FOUR_CHAR_CODE('fulr') /* Rect* */
- };
-
- /* loop flags */
- enum
- {
- kQTSLoopFlag_Loop = 0x00000001
- };
-
- enum
- {
- kQTSLoopParamsVersion1 = 1
- };
-
- struct QTSLoopParams
- {
- SInt32 version;
- SInt32 flags;
- SInt32 loopFlags;
- SInt32 flagsMask;
- SInt32 numLoops;
- };
- typedef struct QTSLoopParams QTSLoopParams;
- enum
- {
- kQTSTrackParamsVersion1 = 1
- };
-
- struct QTSTrackParams
- {
- SInt32 version;
- SInt32 flags;
- Track track;
- TimeValue64 trackStartOffset; /* to start other than at the beginning otherwise set to 0*/
- TimeValue64 duration; /* to limit the duration otherwise set to 0*/
- QTSLoopParams * loopParams; /* set to NULL if not using; default is no looping */
- };
- typedef struct QTSTrackParams QTSTrackParams;
- enum
- {
- kQTSSourcerTimingParamsVersion1 = 1
- };
-
- struct QTSSourcerTimingParams
- {
- SInt32 version;
- SInt32 flags;
- TimeScale timeScale;
- TimeValue64 presentationStartTime;
- TimeValue64 presentationEndTime;
- TimeValue64 presentationCurrentTime;
- TimeValue64 localStartTime;
- TimeValue64 localEndTime;
- TimeValue64 localCurrentTime;
- };
- typedef struct QTSSourcerTimingParams QTSSourcerTimingParams;
- enum
- {
- kQTSPushDataParamsVersion1 = 1
- };
-
- enum
- {
- kQTSPushDataFlag_SampleTimeIsValid = 0x00000001,
- kQTSPushDataFlag_DurationIsValid = 0x00000002
- };
-
- struct QTSPushDataParams
- {
- SInt32 version;
- SInt32 flags;
- SampleDescriptionHandle sampleDescription; /* caller owns the handle */
- UInt32 sampleDescSeed;
- TimeValue64 sampleTime; /* also set flag if you set this */
- TimeValue64 duration; /* also set flag if you set this */
- UInt32 dataLength;
- void * dataPtr; /* this does not have to be a real macintosh Ptr */
- };
- typedef struct QTSPushDataParams QTSPushDataParams;
- enum
- {
- kQTSSourcerCallbackProcParamsVersion1 = 1
- };
-
-
- struct QTSSourcerCallbackProcParams
- {
- SInt32 version;
- SInt32 flags;
- QTSNotificationUPP proc;
- void * refCon;
- };
- typedef struct QTSSourcerCallbackProcParams QTSSourcerCallbackProcParams;
- /* track sourcer callback selectors*/
- enum
- {
- kQTSSourcerCallback_Done = FOUR_CHAR_CODE('done') /* QTSSourcerDoneParams* */
- };
-
-
- /* push data sourcer callback selectors*/
- enum
- {
- kQTSPushDataSourcerCallback_HasCharacteristic = 0x050D, /* QTSPushDataHasCharacteristicParams* */
- kQTSPushDataSourcerCallback_SetInfo = 0x0507, /* QTSPushDataInfoParams* */
- kQTSPushDataSourcerCallback_GetInfo = 0x0508 /* QTSPushDataInfoParams* */
- };
-
- struct QTSPushDataHasCharacteristicParams
- {
- SInt32 version;
- SInt32 flags;
- OSType characteristic;
- Boolean returnedHasIt;
- char reserved1;
- char reserved2;
- char reserved3;
- };
- typedef struct QTSPushDataHasCharacteristicParams QTSPushDataHasCharacteristicParams;
- struct QTSPushDataInfoParams
- {
- SInt32 version;
- SInt32 flags;
- OSType selector;
- void * ioParams;
- };
- typedef struct QTSPushDataInfoParams QTSPushDataInfoParams;
- enum
- {
- kQTSSourcerDoneParamsVersion1 = 1
- };
-
- struct QTSSourcerDoneParams
- {
- SInt32 version;
- SInt32 flags;
- ComponentInstance sourcer;
- };
- typedef struct QTSSourcerDoneParams QTSSourcerDoneParams;
- struct QTSSGChannelSettingsParams
- {
- UserData settings;
- SInt32 flags;
- };
- typedef struct QTSSGChannelSettingsParams QTSSGChannelSettingsParams;
-
- /*-----------------------------------------
- Stream Sourcer Selectors
- -----------------------------------------*/
- enum
- {
- kQTSSourcerInitializeSelect = 0x0500,
- kQTSSourcerSetEnableSelect = 0x0503,
- kQTSSourcerGetEnableSelect = 0x0504,
- kQTSSourcerSetInfoSelect = 0x0507,
- kQTSSourcerGetInfoSelect = 0x0508,
- kQTSSourcerSetTimeScaleSelect = 0x050E,
- kQTSSourcerGetTimeScaleSelect = 0x050F,
- kQTSSourcerIdleSelect = 0x0516
- };
-
- /*-----------------------------------------
- Stream Sourcer Prototypes
- -----------------------------------------*/
- /*
- * QTSSourcerInitialize()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(ComponentResult)
- QTSSourcerInitialize(
- QTSSourcer inSourcer,
- const QTSSourcerInitParams * inInitParams) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0500, 0x7000, 0xA82A);
-
-
- /*
- * QTSSourcerIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSSourcerIdle(
- QTSSourcer inSourcer,
- const TimeValue64 * inTime,
- SInt32 inFlags,
- SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0516, 0x7000, 0xA82A);
-
-
- /*
- * QTSSourcerSetEnable()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSSourcerSetEnable(
- QTSSourcer inSourcer,
- Boolean inEnableMode,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0503, 0x7000, 0xA82A);
-
-
- /*
- * QTSSourcerGetEnable()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSSourcerGetEnable(
- QTSSourcer inSourcer,
- Boolean * outEnableMode,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0504, 0x7000, 0xA82A);
-
-
- /*
- * QTSSourcerSetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSSourcerSetTimeScale(
- QTSSourcer inSourcer,
- TimeScale inTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050E, 0x7000, 0xA82A);
-
-
- /*
- * QTSSourcerGetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSSourcerGetTimeScale(
- QTSSourcer inSourcer,
- TimeScale * outTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050F, 0x7000, 0xA82A);
-
-
- /*
- * QTSSourcerSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSSourcerSetInfo(
- QTSSourcer inSourcer,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0507, 0x7000, 0xA82A);
-
-
- /*
- * QTSSourcerGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- QTSSourcerGetInfo(
- QTSSourcer inSourcer,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0508, 0x7000, 0xA82A);
-
-
-
- enum
- {
- kQTSInfo_InputDeviceName = FOUR_CHAR_CODE('innm'), /* Handle* */
- kQTSInfo_InputSourceName = FOUR_CHAR_CODE('srnm') /* Handle* */
- };
-
-
- /*============================================================================
- Stream Handler
- ============================================================================*/
-
- /*
- Server edits are only valid for the current chunk
- */
- struct SHServerEditParameters
- {
- UInt32 version;
- Fixed editRate;
- TimeValue64 dataStartTime_mediaAxis;
- TimeValue64 dataEndTime_mediaAxis;
- };
- typedef struct SHServerEditParameters SHServerEditParameters;
- enum
- {
- kSHNoChunkDispatchFlags = 0,
- kSHChunkFlagSyncSample = 1 << 2,
- kSHChunkFlagDataLoss = 1 << 4,
- kSHChunkFlagExtended = 1 << 5
- };
-
- struct SHChunkRecord
- {
- UInt32 version;
- long reserved1;
- SInt32 flags;
- UInt32 dataSize;
- UInt8 * dataPtr;
- long reserved2;
- long reserved3;
- TimeValue64 presentationTime;
-
- long reserved4;
- long reserved5;
- const SHServerEditParameters * serverEditParameters;
- long reserved6;
- long reserved7;
- };
- typedef struct SHChunkRecord SHChunkRecord;
- enum
- {
- kSHNumExtendedDataLongs = 10
- };
-
- enum
- {
- kSHExtendedChunkFlag_HasSampleCount = 1 << 0,
- kSHExtendedChunkFlag_HasFrameLengths = 1 << 1
- };
-
- struct SHExtendedChunkRecord
- {
- SHChunkRecord chunk;
- SInt32 extendedFlags;
- SInt32 extendedData[10];
- };
- typedef struct SHExtendedChunkRecord SHExtendedChunkRecord;
-
- /*============================================================================
- RTP Components
- ============================================================================*/
-
- typedef UInt32 RTPSSRC;
- enum
- {
- kRTPInvalidSSRC = 0
- };
-
-
- /* RTP standard content encodings for audio */
- enum
- {
- kRTPPayload_PCMU = 0, /* 8kHz PCM mu-law mono */
- kRTPPayload_1016 = 1, /* 8kHz CELP (Fed Std 1016) mono */
- kRTPPayload_G721 = 2, /* 8kHz G.721 ADPCM mono */
- kRTPPayload_GSM = 3, /* 8kHz GSM mono */
- kRTPPayload_G723 = 4, /* 8kHz G.723 ADPCM mono */
- kRTPPayload_DVI_8 = 5, /* 8kHz Intel DVI ADPCM mono */
- kRTPPayload_DVI_16 = 6, /* 16kHz Intel DVI ADPCM mono */
- kRTPPayload_LPC = 7, /* 8kHz LPC */
- kRTPPayload_PCMA = 8, /* 8kHz PCM a-law mono */
- kRTPPayload_L16_44_2 = 10, /* 44.1kHz 16-bit linear stereo */
- kRTPPayload_L16_44_1 = 11, /* 44.1kHz 16-bit linear mono */
- kRTPPayload_PureVoice = 12, /* 8kHz PureVoice mono (QCELP) */
- kRTPPayload_MPEGAUDIO = 14, /* MPEG I and II audio */
- kRTPPayload_DVI_11 = 16, /* 11kHz Intel DVI ADPCM mono */
- kRTPPayload_DVI_22 = 17 /* 22kHz Intel DVI ADPCM mono */
- };
-
- /* RTP standard content encodings for video */
- enum
- {
- kRTPPayload_CELLB = 25, /* Sun CellB */
- kRTPPayload_JPEG = 26, /* JPEG */
- kRTPPayload_CUSEEME = 27, /* Cornell CU-SeeMe */
- kRTPPayload_NV = 28, /* Xerox PARC nv */
- kRTPPayload_PICWIN = 29, /* BBN Picture Window */
- kRTPPayload_CPV = 30, /* Bolter CPV */
- kRTPPayload_H261 = 31, /* CCITT H.261 */
- kRTPPayload_MPEGVIDEO = 32, /* MPEG I and II video */
- kRTPPayload_H263 = 34 /* CCITT H.263 */
- };
-
- /* Other RTP standard content encodings */
- enum
- {
- kRTPPayload_MPEG2T = 33 /* MPEG 2 Transport */
- };
-
- /* Dynamic encodings */
- enum
- {
- kRTPPayload_FirstDynamic = 96,
- kRTPPayload_LastDynamic = 127,
- kRTPPayload_Unknown = 0xFF
- };
-
-
-
- /*
- -----------------------------------------
- RTP Info selectors
- -----------------------------------------
- */
- /* ----- these are get and set ----- */
- enum
- {
- kRTPInfo_SSRC = FOUR_CHAR_CODE('ssrc'), /* UInt32* */
- kRTPInfo_NextSeqNum = FOUR_CHAR_CODE('rnsn') /* UInt16* */
- };
-
- /*-----------------------------------------
- RTP Statistics
- -----------------------------------------*/
- enum
- {
- kRTPTotalReceivedPktsStat = FOUR_CHAR_CODE('trcp'),
- kRTPTotalLostPktsStat = FOUR_CHAR_CODE('tlsp'),
- kRTPTotalProcessedPktsStat = FOUR_CHAR_CODE('tprp'),
- kRTPTotalDroppedPktsStat = FOUR_CHAR_CODE('tdrp'),
- kRTPBadHeaderDroppedPktsStat = FOUR_CHAR_CODE('bhdp'),
- kRTPOurHeaderDroppedPktsStat = FOUR_CHAR_CODE('ohdp'),
- kRTPNotReceivingSenderDroppedPktsStat = FOUR_CHAR_CODE('nsdp'),
- kRTPNotProcessingDroppedPktsStat = FOUR_CHAR_CODE('npdp'),
- kRTPBadSeqDroppedPktsStat = FOUR_CHAR_CODE('bsdp'),
- kRTPArriveTooLatePktsStat = FOUR_CHAR_CODE('artl'),
- kRTPWaitForSeqDroppedPktsStat = FOUR_CHAR_CODE('wsdp'),
- kRTPBadStateDroppedPktsStat = FOUR_CHAR_CODE('stdp'),
- kRTPBadPayloadDroppedPktsStat = FOUR_CHAR_CODE('bpdp'),
- kRTPNoTimeScaleDroppedPktsStat = FOUR_CHAR_CODE('ntdp'),
- kRTPDupSeqNumDroppedPktsStat = FOUR_CHAR_CODE('dsdp'),
- kRTPLostPktsPercentStat = FOUR_CHAR_CODE('lspp'),
- kRTPDroppedPktsPercentStat = FOUR_CHAR_CODE('dppp'),
- kRTPTotalUnprocessedPktsPercentStat = FOUR_CHAR_CODE('tupp'),
- kRTPRTCPDataRateStat = FOUR_CHAR_CODE('rrcd'),
- kRTPPayloadIDStat = FOUR_CHAR_CODE('rpid'),
- kRTPPayloadNameStat = FOUR_CHAR_CODE('rpnm'),
- kRTPNumPktsInQueueStat = FOUR_CHAR_CODE('rnpq'),
- kRTPTotalPktsInQueueStat = FOUR_CHAR_CODE('rtpq'),
- kRTPTotalOutOfOrderPktsStat = FOUR_CHAR_CODE('rtoo'),
- kRTPRetransmissionStat = FOUR_CHAR_CODE('rrtx')
- };
-
-
- /*-----------------------------------------
- Payload Info
- -----------------------------------------*/
- enum
- {
- kRTPPayloadSpeedTag = FOUR_CHAR_CODE('sped'), /* 0-255, 255 is fastest*/
- kRTPPayloadLossRecoveryTag = FOUR_CHAR_CODE('loss'), /* 0-255, 0 can't handle any loss, 128 can handle 50% packet loss*/
- kRTPPayloadConformanceTag = FOUR_CHAR_CODE('conf') /* more than one of these can be present*/
- };
-
- struct RTPPayloadCharacteristic
- {
- OSType tag;
- long value;
- };
- typedef struct RTPPayloadCharacteristic RTPPayloadCharacteristic;
- /*
- pass RTPPayloadSortRequest to QTSFindMediaPacketizer or QTSFindMediaPacketizerForTrack.
- define the characteristics to sort by. tag is key to sort on. value is positive for ascending
- sort (low value first), negative for descending sort (high value first).
- */
- struct RTPPayloadSortRequest
- {
- long characteristicCount;
- RTPPayloadCharacteristic characteristic[1]; /* tag is key to sort on, value is + for ascending, - for descending*/
- };
- typedef struct RTPPayloadSortRequest RTPPayloadSortRequest;
- typedef RTPPayloadSortRequest * RTPPayloadSortRequestPtr;
- /* flags for RTPPayloadInfo */
- enum
- {
- kRTPPayloadTypeStaticFlag = 0x00000001,
- kRTPPayloadTypeDynamicFlag = 0x00000002
- };
-
- struct RTPPayloadInfo
- {
- long payloadFlags;
- UInt8 payloadID;
- char reserved1;
- char reserved2;
- char reserved3;
- char payloadName[1];
- };
- typedef struct RTPPayloadInfo RTPPayloadInfo;
- typedef RTPPayloadInfo * RTPPayloadInfoPtr;
- typedef RTPPayloadInfoPtr * RTPPayloadInfoHandle;
- /*============================================================================
- RTP Reassembler
- ============================================================================*/
- typedef ComponentInstance RTPReassembler;
- enum
- {
- kRTPReassemblerType = FOUR_CHAR_CODE('rtpr')
- };
-
- enum
- {
- kRTPBaseReassemblerType = FOUR_CHAR_CODE('gnrc'),
- kRTP261ReassemblerType = FOUR_CHAR_CODE('h261'),
- kRTP263ReassemblerType = FOUR_CHAR_CODE('h263'),
- kRTP263PlusReassemblerType = FOUR_CHAR_CODE('263+'),
- kRTPAudioReassemblerType = FOUR_CHAR_CODE('soun'),
- kRTPQTReassemblerType = FOUR_CHAR_CODE('qtim'),
- kRTPPureVoiceReassemblerType = FOUR_CHAR_CODE('Qclp'),
- kRTPJPEGReassemblerType = FOUR_CHAR_CODE('jpeg'),
- kRTPQDesign2ReassemblerType = FOUR_CHAR_CODE('QDM2'),
- kRTPSorensonReassemblerType = FOUR_CHAR_CODE('SVQ1'),
- kRTPMP3ReassemblerType = FOUR_CHAR_CODE('mp3 '),
- kRTPMPEG4AudioReassemblerType = FOUR_CHAR_CODE('mp4a'),
- kRTPMPEG4VideoReassemblerType = FOUR_CHAR_CODE('mp4v'),
- kRTPAMRReassemblerType = FOUR_CHAR_CODE('amr ')
- };
-
- struct RTPRssmInitParams
- {
- RTPSSRC ssrc;
- UInt8 payloadType;
- UInt8 reserved1;
- UInt8 reserved2;
- UInt8 reserved3;
- TimeBase timeBase;
- TimeScale timeScale;
- };
- typedef struct RTPRssmInitParams RTPRssmInitParams;
- struct RTPDescParams
- {
- QTAtomContainer container;
- QTAtom presentationParentAtom;
- QTAtom streamParentAtom;
- };
- typedef struct RTPDescParams RTPDescParams;
- struct RTPRssmMoreInitParams
- {
- RTPRssmInitParams initParams;
- SInt32 version;
- RTPDescParams desc;
- };
- typedef struct RTPRssmMoreInitParams RTPRssmMoreInitParams;
- enum
- {
- kRTPRssmMoreInitParamsVersion1 = 1
- };
-
-
- /* get/set info selectors*/
- enum
- {
- kRTPRssmInfo_MoreInitParams = FOUR_CHAR_CODE('rrmi')
- };
-
-
- struct RTPRssmPacket
- {
- struct RTPRssmPacket * next;
- struct RTPRssmPacket * prev;
- QTSStreamBuffer * streamBuffer;
- Boolean paramsFilledIn;
- UInt8 reserved;
- UInt16 sequenceNum;
- UInt32 transportHeaderLength; /* filled in by base*/
- UInt32 payloadHeaderLength; /* derived adjusts this */
- UInt32 dataLength;
- SHServerEditParameters serverEditParams;
- TimeValue64 timeStamp; /* lower 32 bits is original rtp timestamp*/
- SInt32 chunkFlags; /* these are or'd together*/
- SInt32 flags;
-
- };
- typedef struct RTPRssmPacket RTPRssmPacket;
- /* flags for RTPRssmPacket struct*/
- enum
- {
- kRTPRssmPacketHasMarkerBitSet = 0x00000001,
- kRTPRssmPacketHasServerEditFlag = 0x00010000
- };
-
- /* flags for RTPRssmSendStreamBufferRange*/
- enum
- {
- kRTPRssmCanRefStreamBuffer = 0x00000001
- };
-
- /* flags for RTPRssmSendPacketList*/
- enum
- {
- kRTPRssmLostSomePackets = 0x00000001
- };
-
- /* flags for RTPRssmSetFlags*/
- enum
- {
- kRTPRssmEveryPacketAChunkFlag = 0x00000001,
- kRTPRssmQueueAndUseMarkerBitFlag = 0x00000002,
- kRTPRssmTrackLostPacketsFlag = 0x00010000,
- kRTPRssmNoReorderingRequiredFlag = 0x00020000
- };
-
-
- struct RTPSendStreamBufferRangeParams
- {
- QTSStreamBuffer * streamBuffer;
- TimeValue64 presentationTime;
- UInt32 chunkStartPosition;
- UInt32 numDataBytes;
- SInt32 chunkFlags;
- SInt32 flags;
- const SHServerEditParameters * serverEditParams; /* NULL if no edit*/
- };
- typedef struct RTPSendStreamBufferRangeParams RTPSendStreamBufferRangeParams;
- /* characteristics*/
- enum
- {
- kRTPCharacteristic_RequiresOrderedPackets = FOUR_CHAR_CODE('rrop'),
- kRTPCharacteristic_TimeStampsNotMonoIncreasing = FOUR_CHAR_CODE('tsmi')
- };
-
-
- enum
- {
- kRTPReassemblerInfoResType = FOUR_CHAR_CODE('rsmi')
- };
-
- struct RTPReassemblerInfo
- {
- long characteristicCount;
- RTPPayloadCharacteristic characteristic[1];
-
- /* after the last characteristic, the payload name (defined by the MediaPacketizerPayloadInfo*/
- /* structure) is present. */
- };
- typedef struct RTPReassemblerInfo RTPReassemblerInfo;
- typedef RTPReassemblerInfo * RTPReassemblerInfoPtr;
- typedef RTPReassemblerInfoPtr * RTPReassemblerInfoHandle;
+/*============================================================================
+ Stream Sourcer
+============================================================================*/
+enum {
+ kQTSSourcerType = FOUR_CHAR_CODE('srcr')
+};
+
+typedef ComponentInstance QTSSourcer;
+enum {
+ kQTSSGChannelSourcerType = FOUR_CHAR_CODE('sgch'),
+ kQTSMovieTrackSourcerType = FOUR_CHAR_CODE('trak'),
+ kQTSPushDataSourcerType = FOUR_CHAR_CODE('push')
+};
+
+/* flags for sourcer data */
+enum {
+ kQTSSourcerDataFlag_SyncSample = 0x00000001,
+ kQTSPushDataSourcerFlag_SampleTimeIsValid = (long)0x80000000
+};
+
+
+enum {
+ kQTSSourcerInitParamsVersion1 = 1
+};
+
+struct QTSSourcerInitParams {
+ SInt32 version;
+ SInt32 flags;
+ OSType dataType;
+ void * data;
+ UInt32 dataLength;
+};
+typedef struct QTSSourcerInitParams QTSSourcerInitParams;
+/*
+ * QTSNewSourcer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewSourcer(
+ void * params,
+ const QTSSourcerInitParams * inInitParams,
+ SInt32 inFlags,
+ ComponentInstance * outSourcer);
+
+
+/* info selectors for sourcers - get and set */
+enum {
+ kQTSInfo_Track = FOUR_CHAR_CODE('trak'), /* QTSTrackParams* */
+ kQTSInfo_Loop = FOUR_CHAR_CODE('loop'), /* QTSLoopParams* */
+ kQTSInfo_SourcerTiming = FOUR_CHAR_CODE('stim'), /* QTSSourcerTimingParams* */
+ kQTSInfo_TargetFrameRate = FOUR_CHAR_CODE('tfps'), /* Fixed * in frames per second */
+ kQTSInfo_PushData = FOUR_CHAR_CODE('push'), /* QTSPushDataParams* */
+ kQTSInfo_SourcerCallbackProc = FOUR_CHAR_CODE('scbp'), /* QTSSourcerCallbackProcParams* */
+ kQTSInfo_TargetDataRate = FOUR_CHAR_CODE('tdrt'), /* UInt32 * in bytes per second */
+ kQTSInfo_AudioAutoGainOnOff = FOUR_CHAR_CODE('agc '), /* Boolean* - error if unavailable*/
+ kQTSInfo_AudioGain = FOUR_CHAR_CODE('gain'), /* Fixed* kFixed1 is unity gain */
+ kQTSInfo_CroppedInputRect = FOUR_CHAR_CODE('crpr'), /* Rect* - defined relative to kQTSInfo_FullInputRect below */
+ kQTSInfo_SpatialSettings = FOUR_CHAR_CODE('sptl'), /* pointer to SCSpatialSettings struct*/
+ kQTSInfo_TemporalSettings = FOUR_CHAR_CODE('tprl'), /* pointer to SCTemporalSettings struct*/
+ kQTSInfo_DataRateSettings = FOUR_CHAR_CODE('drat'), /* pointer to SCDataRateSettings struct*/
+ kQTSInfo_CodecFlags = FOUR_CHAR_CODE('cflg'), /* pointer to CodecFlags*/
+ kQTSInfo_CodecSettings = FOUR_CHAR_CODE('cdec'), /* pointer to Handle*/
+ kQTSInfo_ForceKeyValue = FOUR_CHAR_CODE('ksim'), /* pointer to long*/
+ kQTSInfo_SoundSampleRate = FOUR_CHAR_CODE('ssrt'), /* pointer to UnsignedFixed*/
+ kQTSInfo_SoundSampleSize = FOUR_CHAR_CODE('ssss'), /* pointer to short*/
+ kQTSInfo_SoundChannelCount = FOUR_CHAR_CODE('sscc'), /* pointer to short*/
+ kQTSInfo_SoundCompression = FOUR_CHAR_CODE('ssct'), /* pointer to OSType*/
+ kQTSInfo_CompressionList = FOUR_CHAR_CODE('ctyl'), /* pointer to OSType Handle*/
+ kQTSInfo_VideoHue = FOUR_CHAR_CODE('hue '), /* UInt16* */
+ kQTSInfo_VideoSaturation = FOUR_CHAR_CODE('satr'), /* UInt16* */
+ kQTSInfo_VideoContrast = FOUR_CHAR_CODE('trst'), /* UInt16* */
+ kQTSInfo_VideoBrightness = FOUR_CHAR_CODE('brit'), /* UInt16* */
+ kQTSInfo_VideoSharpness = FOUR_CHAR_CODE('shrp'), /* UInt16* */
+ kQTSInfo_TimeScale = FOUR_CHAR_CODE('scal'), /* UInt32* */
+ kQTSInfo_SGChannelDeviceName = FOUR_CHAR_CODE('innm'), /* Handle* */
+ kQTSInfo_SGChannelDeviceList = FOUR_CHAR_CODE('srdl'), /* SGDeviceList* */
+ kQTSInfo_SGChannelDeviceInput = FOUR_CHAR_CODE('sdii'), /* short* */
+ kQTSInfo_SGChannelSettings = FOUR_CHAR_CODE('sesg'), /* QTSSGChannelSettingsParams */
+ kQTSInfo_PreviewWhileRecordingMode = FOUR_CHAR_CODE('srpr'), /* Boolean* */
+ kQTSInfo_CompressionParams = FOUR_CHAR_CODE('sccp') /* QTAtomContainer* */
+};
+
+/* info selectors for sourcers - get only*/
+enum {
+ kQTSInfo_SGChannel = FOUR_CHAR_CODE('sgch'), /* SGChannel* */
+ kQTSInfo_SGChannelInputName = FOUR_CHAR_CODE('srnm'), /* Handle* */
+ kQTSInfo_FullInputRect = FOUR_CHAR_CODE('fulr') /* Rect* */
+};
+
+/* loop flags */
+enum {
+ kQTSLoopFlag_Loop = 0x00000001
+};
+
+enum {
+ kQTSLoopParamsVersion1 = 1
+};
+
+struct QTSLoopParams {
+ SInt32 version;
+ SInt32 flags;
+ SInt32 loopFlags;
+ SInt32 flagsMask;
+ SInt32 numLoops;
+};
+typedef struct QTSLoopParams QTSLoopParams;
+enum {
+ kQTSTrackParamsVersion1 = 1
+};
+
+struct QTSTrackParams {
+ SInt32 version;
+ SInt32 flags;
+ Track track;
+ TimeValue64 trackStartOffset; /* to start other than at the beginning otherwise set to 0*/
+ TimeValue64 duration; /* to limit the duration otherwise set to 0*/
+ QTSLoopParams * loopParams; /* set to NULL if not using; default is no looping */
+};
+typedef struct QTSTrackParams QTSTrackParams;
+enum {
+ kQTSSourcerTimingParamsVersion1 = 1
+};
+
+struct QTSSourcerTimingParams {
+ SInt32 version;
+ SInt32 flags;
+ TimeScale timeScale;
+ TimeValue64 presentationStartTime;
+ TimeValue64 presentationEndTime;
+ TimeValue64 presentationCurrentTime;
+ TimeValue64 localStartTime;
+ TimeValue64 localEndTime;
+ TimeValue64 localCurrentTime;
+};
+typedef struct QTSSourcerTimingParams QTSSourcerTimingParams;
+enum {
+ kQTSPushDataParamsVersion1 = 1
+};
+
+enum {
+ kQTSPushDataFlag_SampleTimeIsValid = 0x00000001,
+ kQTSPushDataFlag_DurationIsValid = 0x00000002
+};
+
+struct QTSPushDataParams {
+ SInt32 version;
+ SInt32 flags;
+ SampleDescriptionHandle sampleDescription; /* caller owns the handle */
+ UInt32 sampleDescSeed;
+ TimeValue64 sampleTime; /* also set flag if you set this */
+ TimeValue64 duration; /* also set flag if you set this */
+ UInt32 dataLength;
+ void * dataPtr; /* this does not have to be a real macintosh Ptr */
+};
+typedef struct QTSPushDataParams QTSPushDataParams;
+enum {
+ kQTSSourcerCallbackProcParamsVersion1 = 1
+};
+
+
+struct QTSSourcerCallbackProcParams {
+ SInt32 version;
+ SInt32 flags;
+ QTSNotificationUPP proc;
+ void * refCon;
+};
+typedef struct QTSSourcerCallbackProcParams QTSSourcerCallbackProcParams;
+/* track sourcer callback selectors*/
+enum {
+ kQTSSourcerCallback_Done = FOUR_CHAR_CODE('done') /* QTSSourcerDoneParams* */
+};
+
+
+/* push data sourcer callback selectors*/
+enum {
+ kQTSPushDataSourcerCallback_HasCharacteristic = 0x050D, /* QTSPushDataHasCharacteristicParams* */
+ kQTSPushDataSourcerCallback_SetInfo = 0x0507, /* QTSPushDataInfoParams* */
+ kQTSPushDataSourcerCallback_GetInfo = 0x0508 /* QTSPushDataInfoParams* */
+};
+
+struct QTSPushDataHasCharacteristicParams {
+ SInt32 version;
+ SInt32 flags;
+ OSType characteristic;
+ Boolean returnedHasIt;
+ char reserved1;
+ char reserved2;
+ char reserved3;
+};
+typedef struct QTSPushDataHasCharacteristicParams QTSPushDataHasCharacteristicParams;
+struct QTSPushDataInfoParams {
+ SInt32 version;
+ SInt32 flags;
+ OSType selector;
+ void * ioParams;
+};
+typedef struct QTSPushDataInfoParams QTSPushDataInfoParams;
+enum {
+ kQTSSourcerDoneParamsVersion1 = 1
+};
+
+struct QTSSourcerDoneParams {
+ SInt32 version;
+ SInt32 flags;
+ ComponentInstance sourcer;
+};
+typedef struct QTSSourcerDoneParams QTSSourcerDoneParams;
+struct QTSSGChannelSettingsParams {
+ UserData settings;
+ SInt32 flags;
+};
+typedef struct QTSSGChannelSettingsParams QTSSGChannelSettingsParams;
+
+/*-----------------------------------------
+ Stream Sourcer Selectors
+-----------------------------------------*/
+enum {
+ kQTSSourcerInitializeSelect = 0x0500,
+ kQTSSourcerSetEnableSelect = 0x0503,
+ kQTSSourcerGetEnableSelect = 0x0504,
+ kQTSSourcerSetInfoSelect = 0x0507,
+ kQTSSourcerGetInfoSelect = 0x0508,
+ kQTSSourcerSetTimeScaleSelect = 0x050E,
+ kQTSSourcerGetTimeScaleSelect = 0x050F,
+ kQTSSourcerIdleSelect = 0x0516
+};
+
+/*-----------------------------------------
+ Stream Sourcer Prototypes
+-----------------------------------------*/
+/*
+ * QTSSourcerInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( ComponentResult )
+QTSSourcerInitialize(
+ QTSSourcer inSourcer,
+ const QTSSourcerInitParams * inInitParams) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0500, 0x7000, 0xA82A);
+
+
+/*
+ * QTSSourcerIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSSourcerIdle(
+ QTSSourcer inSourcer,
+ const TimeValue64 * inTime,
+ SInt32 inFlags,
+ SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0516, 0x7000, 0xA82A);
+
+
+/*
+ * QTSSourcerSetEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSSourcerSetEnable(
+ QTSSourcer inSourcer,
+ Boolean inEnableMode,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0503, 0x7000, 0xA82A);
+
+
+/*
+ * QTSSourcerGetEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSSourcerGetEnable(
+ QTSSourcer inSourcer,
+ Boolean * outEnableMode,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0504, 0x7000, 0xA82A);
+
+
+/*
+ * QTSSourcerSetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSSourcerSetTimeScale(
+ QTSSourcer inSourcer,
+ TimeScale inTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050E, 0x7000, 0xA82A);
+
+
+/*
+ * QTSSourcerGetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSSourcerGetTimeScale(
+ QTSSourcer inSourcer,
+ TimeScale * outTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050F, 0x7000, 0xA82A);
+
+
+/*
+ * QTSSourcerSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSSourcerSetInfo(
+ QTSSourcer inSourcer,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0507, 0x7000, 0xA82A);
+
+
+/*
+ * QTSSourcerGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTSSourcerGetInfo(
+ QTSSourcer inSourcer,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0508, 0x7000, 0xA82A);
+
+
+
+enum {
+ kQTSInfo_InputDeviceName = FOUR_CHAR_CODE('innm'), /* Handle* */
+ kQTSInfo_InputSourceName = FOUR_CHAR_CODE('srnm') /* Handle* */
+};
+
+
+/*============================================================================
+ Stream Handler
+============================================================================*/
+
+/*
+ Server edits are only valid for the current chunk
+*/
+struct SHServerEditParameters {
+ UInt32 version;
+ Fixed editRate;
+ TimeValue64 dataStartTime_mediaAxis;
+ TimeValue64 dataEndTime_mediaAxis;
+};
+typedef struct SHServerEditParameters SHServerEditParameters;
+enum {
+ kSHNoChunkDispatchFlags = 0,
+ kSHChunkFlagSyncSample = 1 << 2,
+ kSHChunkFlagDataLoss = 1 << 4,
+ kSHChunkFlagExtended = 1 << 5
+};
+
+struct SHChunkRecord {
+ UInt32 version;
+ long reserved1;
+ SInt32 flags;
+ UInt32 dataSize;
+ UInt8 * dataPtr;
+ long reserved2;
+ long reserved3;
+ TimeValue64 presentationTime;
+
+ long reserved4;
+ long reserved5;
+ const SHServerEditParameters * serverEditParameters;
+ long reserved6;
+ long reserved7;
+};
+typedef struct SHChunkRecord SHChunkRecord;
+enum {
+ kSHNumExtendedDataLongs = 10
+};
+
+enum {
+ kSHExtendedChunkFlag_HasSampleCount = 1 << 0,
+ kSHExtendedChunkFlag_HasFrameLengths = 1 << 1
+};
+
+struct SHExtendedChunkRecord {
+ SHChunkRecord chunk;
+ SInt32 extendedFlags;
+ SInt32 extendedData[10];
+};
+typedef struct SHExtendedChunkRecord SHExtendedChunkRecord;
+
+/*============================================================================
+ RTP Components
+============================================================================*/
+
+typedef UInt32 RTPSSRC;
+enum {
+ kRTPInvalidSSRC = 0
+};
+
+
+/* RTP standard content encodings for audio */
+enum {
+ kRTPPayload_PCMU = 0, /* 8kHz PCM mu-law mono */
+ kRTPPayload_1016 = 1, /* 8kHz CELP (Fed Std 1016) mono */
+ kRTPPayload_G721 = 2, /* 8kHz G.721 ADPCM mono */
+ kRTPPayload_GSM = 3, /* 8kHz GSM mono */
+ kRTPPayload_G723 = 4, /* 8kHz G.723 ADPCM mono */
+ kRTPPayload_DVI_8 = 5, /* 8kHz Intel DVI ADPCM mono */
+ kRTPPayload_DVI_16 = 6, /* 16kHz Intel DVI ADPCM mono */
+ kRTPPayload_LPC = 7, /* 8kHz LPC */
+ kRTPPayload_PCMA = 8, /* 8kHz PCM a-law mono */
+ kRTPPayload_L16_44_2 = 10, /* 44.1kHz 16-bit linear stereo */
+ kRTPPayload_L16_44_1 = 11, /* 44.1kHz 16-bit linear mono */
+ kRTPPayload_PureVoice = 12, /* 8kHz PureVoice mono (QCELP) */
+ kRTPPayload_MPEGAUDIO = 14, /* MPEG I and II audio */
+ kRTPPayload_DVI_11 = 16, /* 11kHz Intel DVI ADPCM mono */
+ kRTPPayload_DVI_22 = 17 /* 22kHz Intel DVI ADPCM mono */
+};
+
+/* RTP standard content encodings for video */
+enum {
+ kRTPPayload_CELLB = 25, /* Sun CellB */
+ kRTPPayload_JPEG = 26, /* JPEG */
+ kRTPPayload_CUSEEME = 27, /* Cornell CU-SeeMe */
+ kRTPPayload_NV = 28, /* Xerox PARC nv */
+ kRTPPayload_PICWIN = 29, /* BBN Picture Window */
+ kRTPPayload_CPV = 30, /* Bolter CPV */
+ kRTPPayload_H261 = 31, /* CCITT H.261 */
+ kRTPPayload_MPEGVIDEO = 32, /* MPEG I and II video */
+ kRTPPayload_H263 = 34 /* CCITT H.263 */
+};
+
+/* Other RTP standard content encodings */
+enum {
+ kRTPPayload_MPEG2T = 33 /* MPEG 2 Transport */
+};
+
+/* Dynamic encodings */
+enum {
+ kRTPPayload_FirstDynamic = 96,
+ kRTPPayload_LastDynamic = 127,
+ kRTPPayload_Unknown = 0xFF
+};
+
+
+
+/*
+-----------------------------------------
+ RTP Info selectors
+-----------------------------------------
+*/
+/* ----- these are get and set ----- */
+enum {
+ kRTPInfo_SSRC = FOUR_CHAR_CODE('ssrc'), /* UInt32* */
+ kRTPInfo_NextSeqNum = FOUR_CHAR_CODE('rnsn') /* UInt16* */
+};
+
+/*-----------------------------------------
+ RTP Statistics
+-----------------------------------------*/
+enum {
+ kRTPTotalReceivedPktsStat = FOUR_CHAR_CODE('trcp'),
+ kRTPTotalLostPktsStat = FOUR_CHAR_CODE('tlsp'),
+ kRTPTotalProcessedPktsStat = FOUR_CHAR_CODE('tprp'),
+ kRTPTotalDroppedPktsStat = FOUR_CHAR_CODE('tdrp'),
+ kRTPBadHeaderDroppedPktsStat = FOUR_CHAR_CODE('bhdp'),
+ kRTPOurHeaderDroppedPktsStat = FOUR_CHAR_CODE('ohdp'),
+ kRTPNotReceivingSenderDroppedPktsStat = FOUR_CHAR_CODE('nsdp'),
+ kRTPNotProcessingDroppedPktsStat = FOUR_CHAR_CODE('npdp'),
+ kRTPBadSeqDroppedPktsStat = FOUR_CHAR_CODE('bsdp'),
+ kRTPArriveTooLatePktsStat = FOUR_CHAR_CODE('artl'),
+ kRTPWaitForSeqDroppedPktsStat = FOUR_CHAR_CODE('wsdp'),
+ kRTPBadStateDroppedPktsStat = FOUR_CHAR_CODE('stdp'),
+ kRTPBadPayloadDroppedPktsStat = FOUR_CHAR_CODE('bpdp'),
+ kRTPNoTimeScaleDroppedPktsStat = FOUR_CHAR_CODE('ntdp'),
+ kRTPDupSeqNumDroppedPktsStat = FOUR_CHAR_CODE('dsdp'),
+ kRTPLostPktsPercentStat = FOUR_CHAR_CODE('lspp'),
+ kRTPDroppedPktsPercentStat = FOUR_CHAR_CODE('dppp'),
+ kRTPTotalUnprocessedPktsPercentStat = FOUR_CHAR_CODE('tupp'),
+ kRTPRTCPDataRateStat = FOUR_CHAR_CODE('rrcd'),
+ kRTPPayloadIDStat = FOUR_CHAR_CODE('rpid'),
+ kRTPPayloadNameStat = FOUR_CHAR_CODE('rpnm'),
+ kRTPNumPktsInQueueStat = FOUR_CHAR_CODE('rnpq'),
+ kRTPTotalPktsInQueueStat = FOUR_CHAR_CODE('rtpq'),
+ kRTPTotalOutOfOrderPktsStat = FOUR_CHAR_CODE('rtoo'),
+ kRTPRetransmissionStat = FOUR_CHAR_CODE('rrtx')
+};
+
+
+/*-----------------------------------------
+ Payload Info
+-----------------------------------------*/
+enum {
+ kRTPPayloadSpeedTag = FOUR_CHAR_CODE('sped'), /* 0-255, 255 is fastest*/
+ kRTPPayloadLossRecoveryTag = FOUR_CHAR_CODE('loss'), /* 0-255, 0 can't handle any loss, 128 can handle 50% packet loss*/
+ kRTPPayloadConformanceTag = FOUR_CHAR_CODE('conf') /* more than one of these can be present*/
+};
+
+struct RTPPayloadCharacteristic {
+ OSType tag;
+ long value;
+};
+typedef struct RTPPayloadCharacteristic RTPPayloadCharacteristic;
+/*
+ pass RTPPayloadSortRequest to QTSFindMediaPacketizer or QTSFindMediaPacketizerForTrack.
+ define the characteristics to sort by. tag is key to sort on. value is positive for ascending
+ sort (low value first), negative for descending sort (high value first).
+*/
+struct RTPPayloadSortRequest {
+ long characteristicCount;
+ RTPPayloadCharacteristic characteristic[1]; /* tag is key to sort on, value is + for ascending, - for descending*/
+};
+typedef struct RTPPayloadSortRequest RTPPayloadSortRequest;
+typedef RTPPayloadSortRequest * RTPPayloadSortRequestPtr;
+/* flags for RTPPayloadInfo */
+enum {
+ kRTPPayloadTypeStaticFlag = 0x00000001,
+ kRTPPayloadTypeDynamicFlag = 0x00000002
+};
+
+struct RTPPayloadInfo {
+ long payloadFlags;
+ UInt8 payloadID;
+ char reserved1;
+ char reserved2;
+ char reserved3;
+ char payloadName[1];
+};
+typedef struct RTPPayloadInfo RTPPayloadInfo;
+typedef RTPPayloadInfo * RTPPayloadInfoPtr;
+typedef RTPPayloadInfoPtr * RTPPayloadInfoHandle;
+/*============================================================================
+ RTP Reassembler
+============================================================================*/
+typedef ComponentInstance RTPReassembler;
+enum {
+ kRTPReassemblerType = FOUR_CHAR_CODE('rtpr')
+};
+
+enum {
+ kRTPBaseReassemblerType = FOUR_CHAR_CODE('gnrc'),
+ kRTP261ReassemblerType = FOUR_CHAR_CODE('h261'),
+ kRTP263ReassemblerType = FOUR_CHAR_CODE('h263'),
+ kRTP263PlusReassemblerType = FOUR_CHAR_CODE('263+'),
+ kRTPAudioReassemblerType = FOUR_CHAR_CODE('soun'),
+ kRTPQTReassemblerType = FOUR_CHAR_CODE('qtim'),
+ kRTPPureVoiceReassemblerType = FOUR_CHAR_CODE('Qclp'),
+ kRTPJPEGReassemblerType = FOUR_CHAR_CODE('jpeg'),
+ kRTPQDesign2ReassemblerType = FOUR_CHAR_CODE('QDM2'),
+ kRTPSorensonReassemblerType = FOUR_CHAR_CODE('SVQ1'),
+ kRTPMP3ReassemblerType = FOUR_CHAR_CODE('mp3 '),
+ kRTPMPEG4AudioReassemblerType = FOUR_CHAR_CODE('mp4a'),
+ kRTPMPEG4VideoReassemblerType = FOUR_CHAR_CODE('mp4v'),
+ kRTPAMRReassemblerType = FOUR_CHAR_CODE('amr ')
+};
+
+struct RTPRssmInitParams {
+ RTPSSRC ssrc;
+ UInt8 payloadType;
+ UInt8 reserved1;
+ UInt8 reserved2;
+ UInt8 reserved3;
+ TimeBase timeBase;
+ TimeScale timeScale;
+};
+typedef struct RTPRssmInitParams RTPRssmInitParams;
+struct RTPDescParams {
+ QTAtomContainer container;
+ QTAtom presentationParentAtom;
+ QTAtom streamParentAtom;
+};
+typedef struct RTPDescParams RTPDescParams;
+struct RTPRssmMoreInitParams {
+ RTPRssmInitParams initParams;
+ SInt32 version;
+ RTPDescParams desc;
+};
+typedef struct RTPRssmMoreInitParams RTPRssmMoreInitParams;
+enum {
+ kRTPRssmMoreInitParamsVersion1 = 1
+};
+
+
+/* get/set info selectors*/
+enum {
+ kRTPRssmInfo_MoreInitParams = FOUR_CHAR_CODE('rrmi')
+};
+
+
+struct RTPRssmPacket {
+ struct RTPRssmPacket * next;
+ struct RTPRssmPacket * prev;
+ QTSStreamBuffer * streamBuffer;
+ Boolean paramsFilledIn;
+ UInt8 reserved;
+ UInt16 sequenceNum;
+ UInt32 transportHeaderLength; /* filled in by base*/
+ UInt32 payloadHeaderLength; /* derived adjusts this */
+ UInt32 dataLength;
+ SHServerEditParameters serverEditParams;
+ TimeValue64 timeStamp; /* lower 32 bits is original rtp timestamp*/
+ SInt32 chunkFlags; /* these are or'd together*/
+ SInt32 flags;
+
+};
+typedef struct RTPRssmPacket RTPRssmPacket;
+/* flags for RTPRssmPacket struct*/
+enum {
+ kRTPRssmPacketHasMarkerBitSet = 0x00000001,
+ kRTPRssmPacketHasServerEditFlag = 0x00010000
+};
+
+/* flags for RTPRssmSendStreamBufferRange*/
+enum {
+ kRTPRssmCanRefStreamBuffer = 0x00000001
+};
+
+/* flags for RTPRssmSendPacketList*/
+enum {
+ kRTPRssmLostSomePackets = 0x00000001
+};
+
+/* flags for RTPRssmSetFlags*/
+enum {
+ kRTPRssmEveryPacketAChunkFlag = 0x00000001,
+ kRTPRssmQueueAndUseMarkerBitFlag = 0x00000002,
+ kRTPRssmTrackLostPacketsFlag = 0x00010000,
+ kRTPRssmNoReorderingRequiredFlag = 0x00020000
+};
+
+
+struct RTPSendStreamBufferRangeParams {
+ QTSStreamBuffer * streamBuffer;
+ TimeValue64 presentationTime;
+ UInt32 chunkStartPosition;
+ UInt32 numDataBytes;
+ SInt32 chunkFlags;
+ SInt32 flags;
+ const SHServerEditParameters * serverEditParams; /* NULL if no edit*/
+};
+typedef struct RTPSendStreamBufferRangeParams RTPSendStreamBufferRangeParams;
+/* characteristics*/
+enum {
+ kRTPCharacteristic_RequiresOrderedPackets = FOUR_CHAR_CODE('rrop'),
+ kRTPCharacteristic_TimeStampsNotMonoIncreasing = FOUR_CHAR_CODE('tsmi')
+};
+
+
+enum {
+ kRTPReassemblerInfoResType = FOUR_CHAR_CODE('rsmi')
+};
+
+struct RTPReassemblerInfo {
+ long characteristicCount;
+ RTPPayloadCharacteristic characteristic[1];
+
+ /* after the last characteristic, the payload name (defined by the MediaPacketizerPayloadInfo*/
+ /* structure) is present. */
+};
+typedef struct RTPReassemblerInfo RTPReassemblerInfo;
+typedef RTPReassemblerInfo * RTPReassemblerInfoPtr;
+typedef RTPReassemblerInfoPtr * RTPReassemblerInfoHandle;
#define RTPReassemblerInfoToPayloadInfo(_rsmi) ((RTPPayloadInfoPtr)(&((_rsmi)->characteristic[(_rsmi)->characteristicCount])))
- /* RTPReassemblerInfoElement structs are padded to 32 bits */
- enum
- {
- kRTPReassemblerInfoPadUpToBytes = 4
- };
-
-
- /*
- * QTSFindReassemblerForPayloadID()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSFindReassemblerForPayloadID(
- UInt8 inPayloadID,
- RTPPayloadSortRequest * inSortInfo,
- QTAtomContainer * outReassemblerList);
-
-
- /*
- * QTSFindReassemblerForPayloadName()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSFindReassemblerForPayloadName(
- const char * inPayloadName,
- RTPPayloadSortRequest * inSortInfo,
- QTAtomContainer * outReassemblerList);
-
-
- /*-----------------------------------------
- RTP Reassembler Selectors
- -----------------------------------------*/
- enum
- {
- kRTPRssmSetCapabilitiesSelect = 0x0100,
- kRTPRssmGetCapabilitiesSelect = 0x0101,
- kRTPRssmSetPayloadHeaderLengthSelect = 0x0102,
- kRTPRssmGetPayloadHeaderLengthSelect = 0x0103,
- kRTPRssmSetTimeScaleSelect = 0x0104,
- kRTPRssmGetTimeScaleSelect = 0x0105,
- kRTPRssmNewStreamHandlerSelect = 0x0106,
- kRTPRssmSetStreamHandlerSelect = 0x0107,
- kRTPRssmGetStreamHandlerSelect = 0x0108,
- kRTPRssmSendStreamHandlerChangedSelect = 0x0109,
- kRTPRssmSetSampleDescriptionSelect = 0x010A,
- kRTPRssmGetChunkAndIncrRefCountSelect = 0x010D,
- kRTPRssmSendChunkAndDecrRefCountSelect = 0x010E,
- kRTPRssmSendLostChunkSelect = 0x010F,
- kRTPRssmSendStreamBufferRangeSelect = 0x0110,
- kRTPRssmClearCachedPackets = 0x0111,
- kRTPRssmFillPacketListParamsSelect = 0x0113,
- kRTPRssmReleasePacketListSelect = 0x0114,
- kRTPRssmIncrChunkRefCountSelect = 0x0115,
- kRTPRssmDecrChunkRefCountSelect = 0x0116,
- kRTPRssmGetExtChunkAndIncrRefCountSelect = 0x0117,
- kRTPRssmInitializeSelect = 0x0500,
- kRTPRssmHandleNewPacketSelect = 0x0501,
- kRTPRssmComputeChunkSizeSelect = 0x0502,
- kRTPRssmAdjustPacketParamsSelect = 0x0503,
- kRTPRssmCopyDataToChunkSelect = 0x0504,
- kRTPRssmSendPacketListSelect = 0x0505,
- kRTPRssmGetTimeScaleFromPacketSelect = 0x0506,
- kRTPRssmSetInfoSelect = 0x0509,
- kRTPRssmGetInfoSelect = 0x050A,
- kRTPRssmHasCharacteristicSelect = 0x050B,
- kRTPRssmResetSelect = 0x050C
- };
-
- /*-----------------------------------------
- RTP Reassembler functions - base to derived
- -----------------------------------------*/
-
- /*
- * RTPRssmInitialize()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmInitialize(
- RTPReassembler rtpr,
- RTPRssmInitParams * inInitParams) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0500, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmHandleNewPacket()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmHandleNewPacket(
- RTPReassembler rtpr,
- QTSStreamBuffer * inStreamBuffer,
- SInt32 inNumWraparounds) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0501, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmComputeChunkSize()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmComputeChunkSize(
- RTPReassembler rtpr,
- RTPRssmPacket * inPacketListHead,
- SInt32 inFlags,
- UInt32 * outChunkDataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0502, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmAdjustPacketParams()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmAdjustPacketParams(
- RTPReassembler rtpr,
- RTPRssmPacket * inPacket,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0503, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmCopyDataToChunk()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmCopyDataToChunk(
- RTPReassembler rtpr,
- RTPRssmPacket * inPacketListHead,
- UInt32 inMaxChunkDataSize,
- SHChunkRecord * inChunk,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0504, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSendPacketList()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSendPacketList(
- RTPReassembler rtpr,
- RTPRssmPacket * inPacketListHead,
- const TimeValue64 * inLastChunkPresentationTime,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0505, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmGetTimeScaleFromPacket()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmGetTimeScaleFromPacket(
- RTPReassembler rtpr,
- QTSStreamBuffer * inStreamBuffer,
- TimeScale * outTimeScale) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0506, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSetInfo(
- RTPReassembler rtpr,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0509, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmGetInfo(
- RTPReassembler rtpr,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050A, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmHasCharacteristic()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmHasCharacteristic(
- RTPReassembler rtpr,
- OSType inCharacteristic,
- Boolean * outHasIt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050B, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmReset()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmReset(
- RTPReassembler rtpr,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050C, 0x7000, 0xA82A);
-
-
- /*-----------------------------------------
- RTP Reassembler functions - derived to base
- -----------------------------------------*/
- /* ----- setup*/
- /*
- * RTPRssmSetCapabilities()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSetCapabilities(
- RTPReassembler rtpr,
- SInt32 inFlags,
- SInt32 inFlagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmGetCapabilities()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmGetCapabilities(
- RTPReassembler rtpr,
- SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSetPayloadHeaderLength()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSetPayloadHeaderLength(
- RTPReassembler rtpr,
- UInt32 inPayloadHeaderLength) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmGetPayloadHeaderLength()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmGetPayloadHeaderLength(
- RTPReassembler rtpr,
- UInt32 * outPayloadHeaderLength) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSetTimeScale(
- RTPReassembler rtpr,
- TimeScale inSHTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmGetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmGetTimeScale(
- RTPReassembler rtpr,
- TimeScale * outSHTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmNewStreamHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmNewStreamHandler(
- RTPReassembler rtpr,
- OSType inSHType,
- SampleDescriptionHandle inSampleDescription,
- TimeScale inSHTimeScale,
- ComponentInstance * outHandler) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSetStreamHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSetStreamHandler(
- RTPReassembler rtpr,
- ComponentInstance inStreamHandler) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmGetStreamHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmGetStreamHandler(
- RTPReassembler rtpr,
- ComponentInstance * outStreamHandler) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
-
-
-
- /*
- * RTPRssmSendStreamHandlerChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSendStreamHandlerChanged(RTPReassembler rtpr) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSetSampleDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSetSampleDescription(
- RTPReassembler rtpr,
- SampleDescriptionHandle inSampleDescription) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
-
-
- /* ----- manually sending chunks*/
- /*
- * RTPRssmGetChunkAndIncrRefCount()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmGetChunkAndIncrRefCount(
- RTPReassembler rtpr,
- UInt32 inChunkDataSize,
- const TimeValue64 * inChunkPresentationTime,
- SHChunkRecord ** outChunk) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010D, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmGetExtChunkAndIncrRefCount()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmGetExtChunkAndIncrRefCount(
- RTPReassembler rtpr,
- UInt32 inChunkDataSize,
- const TimeValue64 * inChunkPresentationTime,
- SInt32 inFlags,
- SHExtendedChunkRecord ** outChunk) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0117, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSendChunkAndDecrRefCount()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSendChunkAndDecrRefCount(
- RTPReassembler rtpr,
- SHChunkRecord * inChunk,
- const SHServerEditParameters * inServerEdit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010E, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSendLostChunk()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSendLostChunk(
- RTPReassembler rtpr,
- const TimeValue64 * inChunkPresentationTime) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010F, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmSendStreamBufferRange()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmSendStreamBufferRange(
- RTPReassembler rtpr,
- RTPSendStreamBufferRangeParams * inParams) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0110, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmClearCachedPackets()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmClearCachedPackets(
- RTPReassembler rtpr,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0111, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmFillPacketListParams()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmFillPacketListParams(
- RTPReassembler rtpr,
- RTPRssmPacket * inPacketListHead,
- SInt32 inNumWraparounds,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0113, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmReleasePacketList()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmReleasePacketList(
- RTPReassembler rtpr,
- RTPRssmPacket * inPacketListHead) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0114, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmIncrChunkRefCount()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmIncrChunkRefCount(
- RTPReassembler rtpr,
- SHChunkRecord * inChunk) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0115, 0x7000, 0xA82A);
-
-
- /*
- * RTPRssmDecrChunkRefCount()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPRssmDecrChunkRefCount(
- RTPReassembler rtpr,
- SHChunkRecord * inChunk) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0116, 0x7000, 0xA82A);
-
-
- /*============================================================================
- RTP Media Packetizer
- ============================================================================*/
- enum
- {
- kRTPMediaPacketizerType = FOUR_CHAR_CODE('rtpm')
- };
-
- typedef ComponentInstance RTPMediaPacketizer;
- enum
- {
- kRTPBaseMediaPacketizerType = FOUR_CHAR_CODE('gnrc'),
- kRTP261MediaPacketizerType = FOUR_CHAR_CODE('h261'),
- kRTP263PlusMediaPacketizerType = FOUR_CHAR_CODE('263+'),
- kRTPAudioMediaPacketizerType = FOUR_CHAR_CODE('soun'),
- kRTPQTMediaPacketizerType = FOUR_CHAR_CODE('qtim'),
- kRTPPureVoiceMediaPacketizerType = FOUR_CHAR_CODE('Qclp'),
- kRTPJPEGMediaPacketizerType = FOUR_CHAR_CODE('jpeg'),
- kRTPQDesign2MediaPacketizerType = FOUR_CHAR_CODE('QDM2'),
- kRTPSorensonMediaPacketizerType = FOUR_CHAR_CODE('SVQ1'),
- kRTPMP3MediaPacketizerType = FOUR_CHAR_CODE('mp3 '),
- kRTPMPEG4AudioMediaPacketizerType = FOUR_CHAR_CODE('mp4a'),
- kRTPMPEG4VideoMediaPacketizerType = FOUR_CHAR_CODE('mp4v'),
- kRTPAMRMediaPacketizerType = FOUR_CHAR_CODE('amr ')
- };
-
- typedef UInt32 RTPMPSampleRef;
- typedef CALLBACK_API(void , RTPMPDataReleaseProcPtr)(UInt8 *inData, void *inRefCon);
- typedef STACK_UPP_TYPE(RTPMPDataReleaseProcPtr) RTPMPDataReleaseUPP;
- enum
- {
- kMediaPacketizerCanPackEditRate = 1 << 0,
- kMediaPacketizerCanPackLayer = 1 << 1,
- kMediaPacketizerCanPackVolume = 1 << 2,
- kMediaPacketizerCanPackBalance = 1 << 3,
- kMediaPacketizerCanPackGraphicsMode = 1 << 4,
- kMediaPacketizerCanPackEmptyEdit = 1 << 5
- };
-
-
- struct MediaPacketizerRequirements
- {
- OSType mediaType; /* media type supported (0 for all)*/
- OSType dataFormat; /* data format (e.g., compression) supported (0 for all)*/
- UInt32 capabilityFlags; /* ability to handle non-standard track characteristics*/
- UInt8 canPackMatrixType; /* can pack any matrix type up to this (identityMatrixType for identity only)*/
- UInt8 reserved1;
- UInt8 reserved2;
- UInt8 reserved3;
- };
- typedef struct MediaPacketizerRequirements MediaPacketizerRequirements;
- typedef MediaPacketizerRequirements * MediaPacketizerRequirementsPtr;
- struct MediaPacketizerInfo
- {
- OSType mediaType; /* media type supported (0 for all)*/
- OSType dataFormat; /* data format (e.g., compression) supported (0 for all)*/
- OSType vendor; /* manufacturer of this packetizer (e.g., 'appl' for Apple)*/
- UInt32 capabilityFlags; /* ability to handle non-standard track characteristics*/
- UInt8 canPackMatrixType; /* can pack any matrix type up to this (identityMatrixType for identity only)*/
- UInt8 reserved1;
- UInt8 reserved2;
- UInt8 reserved3;
- long characteristicCount;
- RTPPayloadCharacteristic characteristic[1];
-
- /* after the last characteristic, the payload name (defined by the RTPPayloadInfo*/
- /* structure) is present. */
- };
- typedef struct MediaPacketizerInfo MediaPacketizerInfo;
- typedef MediaPacketizerInfo * MediaPacketizerInfoPtr;
- typedef MediaPacketizerInfoPtr * MediaPacketizerInfoHandle;
+/* RTPReassemblerInfoElement structs are padded to 32 bits */
+enum {
+ kRTPReassemblerInfoPadUpToBytes = 4
+};
+
+
+/*
+ * QTSFindReassemblerForPayloadID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSFindReassemblerForPayloadID(
+ UInt8 inPayloadID,
+ RTPPayloadSortRequest * inSortInfo,
+ QTAtomContainer * outReassemblerList);
+
+
+/*
+ * QTSFindReassemblerForPayloadName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSFindReassemblerForPayloadName(
+ const char * inPayloadName,
+ RTPPayloadSortRequest * inSortInfo,
+ QTAtomContainer * outReassemblerList);
+
+
+/*-----------------------------------------
+ RTP Reassembler Selectors
+-----------------------------------------*/
+enum {
+ kRTPRssmSetCapabilitiesSelect = 0x0100,
+ kRTPRssmGetCapabilitiesSelect = 0x0101,
+ kRTPRssmSetPayloadHeaderLengthSelect = 0x0102,
+ kRTPRssmGetPayloadHeaderLengthSelect = 0x0103,
+ kRTPRssmSetTimeScaleSelect = 0x0104,
+ kRTPRssmGetTimeScaleSelect = 0x0105,
+ kRTPRssmNewStreamHandlerSelect = 0x0106,
+ kRTPRssmSetStreamHandlerSelect = 0x0107,
+ kRTPRssmGetStreamHandlerSelect = 0x0108,
+ kRTPRssmSendStreamHandlerChangedSelect = 0x0109,
+ kRTPRssmSetSampleDescriptionSelect = 0x010A,
+ kRTPRssmGetChunkAndIncrRefCountSelect = 0x010D,
+ kRTPRssmSendChunkAndDecrRefCountSelect = 0x010E,
+ kRTPRssmSendLostChunkSelect = 0x010F,
+ kRTPRssmSendStreamBufferRangeSelect = 0x0110,
+ kRTPRssmClearCachedPackets = 0x0111,
+ kRTPRssmFillPacketListParamsSelect = 0x0113,
+ kRTPRssmReleasePacketListSelect = 0x0114,
+ kRTPRssmIncrChunkRefCountSelect = 0x0115,
+ kRTPRssmDecrChunkRefCountSelect = 0x0116,
+ kRTPRssmGetExtChunkAndIncrRefCountSelect = 0x0117,
+ kRTPRssmInitializeSelect = 0x0500,
+ kRTPRssmHandleNewPacketSelect = 0x0501,
+ kRTPRssmComputeChunkSizeSelect = 0x0502,
+ kRTPRssmAdjustPacketParamsSelect = 0x0503,
+ kRTPRssmCopyDataToChunkSelect = 0x0504,
+ kRTPRssmSendPacketListSelect = 0x0505,
+ kRTPRssmGetTimeScaleFromPacketSelect = 0x0506,
+ kRTPRssmSetInfoSelect = 0x0509,
+ kRTPRssmGetInfoSelect = 0x050A,
+ kRTPRssmHasCharacteristicSelect = 0x050B,
+ kRTPRssmResetSelect = 0x050C
+};
+
+/*-----------------------------------------
+ RTP Reassembler functions - base to derived
+-----------------------------------------*/
+
+/*
+ * RTPRssmInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmInitialize(
+ RTPReassembler rtpr,
+ RTPRssmInitParams * inInitParams) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0500, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmHandleNewPacket()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmHandleNewPacket(
+ RTPReassembler rtpr,
+ QTSStreamBuffer * inStreamBuffer,
+ SInt32 inNumWraparounds) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0501, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmComputeChunkSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmComputeChunkSize(
+ RTPReassembler rtpr,
+ RTPRssmPacket * inPacketListHead,
+ SInt32 inFlags,
+ UInt32 * outChunkDataSize) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0502, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmAdjustPacketParams()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmAdjustPacketParams(
+ RTPReassembler rtpr,
+ RTPRssmPacket * inPacket,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0503, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmCopyDataToChunk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmCopyDataToChunk(
+ RTPReassembler rtpr,
+ RTPRssmPacket * inPacketListHead,
+ UInt32 inMaxChunkDataSize,
+ SHChunkRecord * inChunk,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0504, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSendPacketList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSendPacketList(
+ RTPReassembler rtpr,
+ RTPRssmPacket * inPacketListHead,
+ const TimeValue64 * inLastChunkPresentationTime,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0505, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmGetTimeScaleFromPacket()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmGetTimeScaleFromPacket(
+ RTPReassembler rtpr,
+ QTSStreamBuffer * inStreamBuffer,
+ TimeScale * outTimeScale) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0506, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSetInfo(
+ RTPReassembler rtpr,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0509, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmGetInfo(
+ RTPReassembler rtpr,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050A, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmHasCharacteristic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmHasCharacteristic(
+ RTPReassembler rtpr,
+ OSType inCharacteristic,
+ Boolean * outHasIt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050B, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmReset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmReset(
+ RTPReassembler rtpr,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050C, 0x7000, 0xA82A);
+
+
+/*-----------------------------------------
+ RTP Reassembler functions - derived to base
+-----------------------------------------*/
+/* ----- setup*/
+/*
+ * RTPRssmSetCapabilities()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSetCapabilities(
+ RTPReassembler rtpr,
+ SInt32 inFlags,
+ SInt32 inFlagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmGetCapabilities()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmGetCapabilities(
+ RTPReassembler rtpr,
+ SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSetPayloadHeaderLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSetPayloadHeaderLength(
+ RTPReassembler rtpr,
+ UInt32 inPayloadHeaderLength) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmGetPayloadHeaderLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmGetPayloadHeaderLength(
+ RTPReassembler rtpr,
+ UInt32 * outPayloadHeaderLength) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSetTimeScale(
+ RTPReassembler rtpr,
+ TimeScale inSHTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmGetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmGetTimeScale(
+ RTPReassembler rtpr,
+ TimeScale * outSHTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmNewStreamHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmNewStreamHandler(
+ RTPReassembler rtpr,
+ OSType inSHType,
+ SampleDescriptionHandle inSampleDescription,
+ TimeScale inSHTimeScale,
+ ComponentInstance * outHandler) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSetStreamHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSetStreamHandler(
+ RTPReassembler rtpr,
+ ComponentInstance inStreamHandler) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmGetStreamHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmGetStreamHandler(
+ RTPReassembler rtpr,
+ ComponentInstance * outStreamHandler) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
+
+
+
+/*
+ * RTPRssmSendStreamHandlerChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSendStreamHandlerChanged(RTPReassembler rtpr) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSetSampleDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSetSampleDescription(
+ RTPReassembler rtpr,
+ SampleDescriptionHandle inSampleDescription) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
+
+
+/* ----- manually sending chunks*/
+/*
+ * RTPRssmGetChunkAndIncrRefCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmGetChunkAndIncrRefCount(
+ RTPReassembler rtpr,
+ UInt32 inChunkDataSize,
+ const TimeValue64 * inChunkPresentationTime,
+ SHChunkRecord ** outChunk) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010D, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmGetExtChunkAndIncrRefCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmGetExtChunkAndIncrRefCount(
+ RTPReassembler rtpr,
+ UInt32 inChunkDataSize,
+ const TimeValue64 * inChunkPresentationTime,
+ SInt32 inFlags,
+ SHExtendedChunkRecord ** outChunk) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0117, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSendChunkAndDecrRefCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSendChunkAndDecrRefCount(
+ RTPReassembler rtpr,
+ SHChunkRecord * inChunk,
+ const SHServerEditParameters * inServerEdit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010E, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSendLostChunk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSendLostChunk(
+ RTPReassembler rtpr,
+ const TimeValue64 * inChunkPresentationTime) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010F, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmSendStreamBufferRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmSendStreamBufferRange(
+ RTPReassembler rtpr,
+ RTPSendStreamBufferRangeParams * inParams) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0110, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmClearCachedPackets()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmClearCachedPackets(
+ RTPReassembler rtpr,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0111, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmFillPacketListParams()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmFillPacketListParams(
+ RTPReassembler rtpr,
+ RTPRssmPacket * inPacketListHead,
+ SInt32 inNumWraparounds,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0113, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmReleasePacketList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmReleasePacketList(
+ RTPReassembler rtpr,
+ RTPRssmPacket * inPacketListHead) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0114, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmIncrChunkRefCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmIncrChunkRefCount(
+ RTPReassembler rtpr,
+ SHChunkRecord * inChunk) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0115, 0x7000, 0xA82A);
+
+
+/*
+ * RTPRssmDecrChunkRefCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPRssmDecrChunkRefCount(
+ RTPReassembler rtpr,
+ SHChunkRecord * inChunk) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0116, 0x7000, 0xA82A);
+
+
+/*============================================================================
+ RTP Media Packetizer
+============================================================================*/
+enum {
+ kRTPMediaPacketizerType = FOUR_CHAR_CODE('rtpm')
+};
+
+typedef ComponentInstance RTPMediaPacketizer;
+enum {
+ kRTPBaseMediaPacketizerType = FOUR_CHAR_CODE('gnrc'),
+ kRTP261MediaPacketizerType = FOUR_CHAR_CODE('h261'),
+ kRTP263PlusMediaPacketizerType = FOUR_CHAR_CODE('263+'),
+ kRTPAudioMediaPacketizerType = FOUR_CHAR_CODE('soun'),
+ kRTPQTMediaPacketizerType = FOUR_CHAR_CODE('qtim'),
+ kRTPPureVoiceMediaPacketizerType = FOUR_CHAR_CODE('Qclp'),
+ kRTPJPEGMediaPacketizerType = FOUR_CHAR_CODE('jpeg'),
+ kRTPQDesign2MediaPacketizerType = FOUR_CHAR_CODE('QDM2'),
+ kRTPSorensonMediaPacketizerType = FOUR_CHAR_CODE('SVQ1'),
+ kRTPMP3MediaPacketizerType = FOUR_CHAR_CODE('mp3 '),
+ kRTPMPEG4AudioMediaPacketizerType = FOUR_CHAR_CODE('mp4a'),
+ kRTPMPEG4VideoMediaPacketizerType = FOUR_CHAR_CODE('mp4v'),
+ kRTPAMRMediaPacketizerType = FOUR_CHAR_CODE('amr ')
+};
+
+typedef UInt32 RTPMPSampleRef;
+typedef CALLBACK_API( void , RTPMPDataReleaseProcPtr )(UInt8 *inData, void *inRefCon);
+typedef STACK_UPP_TYPE(RTPMPDataReleaseProcPtr) RTPMPDataReleaseUPP;
+enum {
+ kMediaPacketizerCanPackEditRate = 1 << 0,
+ kMediaPacketizerCanPackLayer = 1 << 1,
+ kMediaPacketizerCanPackVolume = 1 << 2,
+ kMediaPacketizerCanPackBalance = 1 << 3,
+ kMediaPacketizerCanPackGraphicsMode = 1 << 4,
+ kMediaPacketizerCanPackEmptyEdit = 1 << 5
+};
+
+
+struct MediaPacketizerRequirements {
+ OSType mediaType; /* media type supported (0 for all)*/
+ OSType dataFormat; /* data format (e.g., compression) supported (0 for all)*/
+ UInt32 capabilityFlags; /* ability to handle non-standard track characteristics*/
+ UInt8 canPackMatrixType; /* can pack any matrix type up to this (identityMatrixType for identity only)*/
+ UInt8 reserved1;
+ UInt8 reserved2;
+ UInt8 reserved3;
+};
+typedef struct MediaPacketizerRequirements MediaPacketizerRequirements;
+typedef MediaPacketizerRequirements * MediaPacketizerRequirementsPtr;
+struct MediaPacketizerInfo {
+ OSType mediaType; /* media type supported (0 for all)*/
+ OSType dataFormat; /* data format (e.g., compression) supported (0 for all)*/
+ OSType vendor; /* manufacturer of this packetizer (e.g., 'appl' for Apple)*/
+ UInt32 capabilityFlags; /* ability to handle non-standard track characteristics*/
+ UInt8 canPackMatrixType; /* can pack any matrix type up to this (identityMatrixType for identity only)*/
+ UInt8 reserved1;
+ UInt8 reserved2;
+ UInt8 reserved3;
+ long characteristicCount;
+ RTPPayloadCharacteristic characteristic[1];
+
+ /* after the last characteristic, the payload name (defined by the RTPPayloadInfo*/
+ /* structure) is present. */
+};
+typedef struct MediaPacketizerInfo MediaPacketizerInfo;
+typedef MediaPacketizerInfo * MediaPacketizerInfoPtr;
+typedef MediaPacketizerInfoPtr * MediaPacketizerInfoHandle;
#define MediaPacketizerInfoToPayloadInfo(_mpi) ((RTPPayloadInfoPtr)(&((_mpi)->characteristic[(_mpi)->characteristicCount])))
- /* MediaPacketizerInfo structs are padded to 32 bits */
- enum
- {
- kMediaPacketizerInfoPadUpToBytes = 4
- };
-
- enum
- {
- kRTPMediaPacketizerInfoRezType = FOUR_CHAR_CODE('pcki')
- };
-
-
- /*
- * QTSFindMediaPacketizer()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSFindMediaPacketizer(
- MediaPacketizerRequirementsPtr inPacketizerinfo,
- SampleDescriptionHandle inSampleDescription,
- RTPPayloadSortRequestPtr inSortInfo,
- QTAtomContainer * outPacketizerList);
-
-
- /*
- * QTSFindMediaPacketizerForTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSFindMediaPacketizerForTrack(
- Track inTrack,
- long inSampleDescriptionIndex,
- RTPPayloadSortRequestPtr inSortInfo,
- QTAtomContainer * outPacketizerList);
-
-
- /*
- * QTSFindMediaPacketizerForPayloadID()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSFindMediaPacketizerForPayloadID(
- long payloadID,
- RTPPayloadSortRequestPtr inSortInfo,
- QTAtomContainer * outPacketizerList);
-
-
- /*
- * QTSFindMediaPacketizerForPayloadName()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSFindMediaPacketizerForPayloadName(
- const char * payloadName,
- RTPPayloadSortRequestPtr inSortInfo,
- QTAtomContainer * outPacketizerList);
-
-
- /* flags for RTPMPInitialize*/
- enum
- {
- kRTPMPRealtimeModeFlag = 0x00000001
- };
-
- /* flags for RTPMPSampleDataParams*/
- enum
- {
- kRTPMPSyncSampleFlag = 0x00000001,
- kRTPMPRespectDurationFlag = 0x00000002
- };
-
- struct RTPMPSampleDataParams
- {
- UInt32 version;
- UInt32 timeStamp;
- UInt32 duration; /* 0 = unknown duration*/
- UInt32 playOffset;
- Fixed playRate;
- SInt32 flags;
- UInt32 sampleDescSeed;
- Handle sampleDescription;
- RTPMPSampleRef sampleRef;
- UInt32 dataLength;
- const UInt8 * data;
- RTPMPDataReleaseUPP releaseProc;
- void * refCon;
- };
- typedef struct RTPMPSampleDataParams RTPMPSampleDataParams;
- /* out flags for idle, RTPMPSetSampleData, and RTPMPFlush*/
- enum
- {
- kRTPMPStillProcessingData = 0x00000001 /* not done with data you've got*/
- };
-
- struct RTPMPPayloadTypeParams
- {
- UInt32 flags;
- UInt32 payloadNumber;
- short nameLength; /* in: size of payloadName buffer (counting null terminator) -- this will be reset to needed length and paramErr returned if too small */
- char * payloadName; /* caller must provide buffer */
- };
- typedef struct RTPMPPayloadTypeParams RTPMPPayloadTypeParams;
- /*-----------------------------------------
- RTP Media Packetizer Info selectors
- -----------------------------------------*/
- /* info selectors - get only */
- enum
- {
- kRTPMPPayloadTypeInfo = FOUR_CHAR_CODE('rtpp'), /* RTPMPPayloadTypeParams* */
- kRTPMPRTPTimeScaleInfo = FOUR_CHAR_CODE('rtpt'), /* TimeScale* */
- kRTPMPRequiredSampleDescriptionInfo = FOUR_CHAR_CODE('sdsc'), /* SampleDescriptionHandle* */
- kRTPMPMinPayloadSize = FOUR_CHAR_CODE('mins'), /* UInt32* in bytes, does not include rtp header; default is 0 */
- kRTPMPMinPacketDuration = FOUR_CHAR_CODE('mind'), /* UInt3* in milliseconds; default is no min required */
- kRTPMPSuggestedRepeatPktCountInfo = FOUR_CHAR_CODE('srpc'), /* UInt32* */
- kRTPMPSuggestedRepeatPktSpacingInfo = FOUR_CHAR_CODE('srps'), /* UInt32* in milliseconds */
- kRTPMPMaxPartialSampleSizeInfo = FOUR_CHAR_CODE('mpss'), /* UInt32* in bytes */
- kRTPMPPreferredBufferDelayInfo = FOUR_CHAR_CODE('prbd'), /* UInt32* in milliseconds */
- kRTPMPPayloadNameInfo = FOUR_CHAR_CODE('name'), /* StringPtr */
- kRTPInfo_FormatString = FOUR_CHAR_CODE('fmtp') /* char **, caller allocates ptr, callee disposes */
- };
-
- /*-----------------------------------------
- RTP Media Packetizer Characteristics
- -----------------------------------------*/
- /* also supports relevant ones in Movies.h and QTSToolbox.h */
- enum
- {
- kRTPMPNoSampleDataRequiredCharacteristic = FOUR_CHAR_CODE('nsdr'),
- kRTPMPHasUserSettingsDialogCharacteristic = FOUR_CHAR_CODE('sdlg'),
- kRTPMPPrefersReliableTransportCharacteristic = FOUR_CHAR_CODE('rely'),
- kRTPMPRequiresOutOfBandDimensionsCharacteristic = FOUR_CHAR_CODE('robd'),
- kRTPMPReadsPartialSamplesCharacteristic = FOUR_CHAR_CODE('rpsp')
- };
-
- /*-----------------------------------------
- RTP Media Packetizer selectors
- -----------------------------------------*/
- enum
- {
- kRTPMPInitializeSelect = 0x0500,
- kRTPMPPreflightMediaSelect = 0x0501,
- kRTPMPIdleSelect = 0x0502,
- kRTPMPSetSampleDataSelect = 0x0503,
- kRTPMPFlushSelect = 0x0504,
- kRTPMPResetSelect = 0x0505,
- kRTPMPSetInfoSelect = 0x0506,
- kRTPMPGetInfoSelect = 0x0507,
- kRTPMPSetTimeScaleSelect = 0x0508,
- kRTPMPGetTimeScaleSelect = 0x0509,
- kRTPMPSetTimeBaseSelect = 0x050A,
- kRTPMPGetTimeBaseSelect = 0x050B,
- kRTPMPHasCharacteristicSelect = 0x050C,
- kRTPMPSetPacketBuilderSelect = 0x050E,
- kRTPMPGetPacketBuilderSelect = 0x050F,
- kRTPMPSetMediaTypeSelect = 0x0510,
- kRTPMPGetMediaTypeSelect = 0x0511,
- kRTPMPSetMaxPacketSizeSelect = 0x0512,
- kRTPMPGetMaxPacketSizeSelect = 0x0513,
- kRTPMPSetMaxPacketDurationSelect = 0x0514,
- kRTPMPGetMaxPacketDurationSelect = 0x0515, /* for export component and apps who want to*/
- /* access dialogs for Media-specific settings*/
- /* (such as Pure Voice interleave factor)*/
- kRTPMPDoUserDialogSelect = 0x0516,
- kRTPMPSetSettingsFromAtomContainerAtAtomSelect = 0x0517,
- kRTPMPGetSettingsIntoAtomContainerAtAtomSelect = 0x0518,
- kRTPMPGetSettingsAsTextSelect = 0x0519,
- kRTPMPGetSettingsSelect = 0x051C,
- kRTPMPSetSettingsSelect = 0x051D
- };
-
- /*-----------------------------------------
- RTP Media Packetizer functions
- -----------------------------------------*/
-
- /*
- * RTPMPInitialize()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPInitialize(
- RTPMediaPacketizer rtpm,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0500, 0x7000, 0xA82A);
-
-
- /* return noErr if you can handle this media */
- /*
- * RTPMPPreflightMedia()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPPreflightMedia(
- RTPMediaPacketizer rtpm,
- OSType inMediaType,
- SampleDescriptionHandle inSampleDescription) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0501, 0x7000, 0xA82A);
-
-
- /*
- do work here if you need to - give up time periodically
- if you're doing time consuming operations
- */
- /*
- * RTPMPIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPIdle(
- RTPMediaPacketizer rtpm,
- SInt32 inFlags,
- SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0502, 0x7000, 0xA82A);
-
-
- /*
- caller owns the RTPMPSampleDataParams struct
- media Packetizer must copy any fields of the struct it wants to keep
- media Packetizer must call release proc when done with the data
- you can do the processing work here if it does not take up too
- much cpu time - otherwise do it in idle
- */
- /*
- * RTPMPSetSampleData()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetSampleData(
- RTPMediaPacketizer rtpm,
- const RTPMPSampleDataParams * inSampleData,
- SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0503, 0x7000, 0xA82A);
-
-
- /*
- send everything you have buffered - you will get idles while
- you set the kRTPMPStillProcessingData flag here and in idle
- */
- /*
- * RTPMPFlush()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPFlush(
- RTPMediaPacketizer rtpm,
- SInt32 inFlags,
- SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0504, 0x7000, 0xA82A);
-
-
- /*
- dispose of anything buffered and get rid of state
- do not send the buffered data (because presumably
- there is no connection for you to send on)
- state should be the same as if you were just initialized
- */
- /*
- * RTPMPReset()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPReset(
- RTPMediaPacketizer rtpm,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0505, 0x7000, 0xA82A);
-
-
- /*-----------------------------------------
- RTP Media Packetizer get / set functions
- -----------------------------------------*/
- /*
- * RTPMPSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetInfo(
- RTPMediaPacketizer rtpm,
- OSType inSelector,
- const void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0506, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetInfo(
- RTPMediaPacketizer rtpm,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0507, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPSetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetTimeScale(
- RTPMediaPacketizer rtpm,
- TimeScale inTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0508, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetTimeScale(
- RTPMediaPacketizer rtpm,
- TimeScale * outTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0509, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPSetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetTimeBase(
- RTPMediaPacketizer rtpm,
- TimeBase inTimeBase) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050A, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetTimeBase(
- RTPMediaPacketizer rtpm,
- TimeBase * outTimeBase) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050B, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPHasCharacteristic()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPHasCharacteristic(
- RTPMediaPacketizer rtpm,
- OSType inSelector,
- Boolean * outHasIt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050C, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPSetPacketBuilder()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetPacketBuilder(
- RTPMediaPacketizer rtpm,
- ComponentInstance inPacketBuilder) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050E, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetPacketBuilder()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetPacketBuilder(
- RTPMediaPacketizer rtpm,
- ComponentInstance * outPacketBuilder) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050F, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPSetMediaType()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetMediaType(
- RTPMediaPacketizer rtpm,
- OSType inMediaType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0510, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetMediaType()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetMediaType(
- RTPMediaPacketizer rtpm,
- OSType * outMediaType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0511, 0x7000, 0xA82A);
-
-
- /* size is in bytes*/
- /*
- * RTPMPSetMaxPacketSize()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetMaxPacketSize(
- RTPMediaPacketizer rtpm,
- UInt32 inMaxPacketSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0512, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetMaxPacketSize()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetMaxPacketSize(
- RTPMediaPacketizer rtpm,
- UInt32 * outMaxPacketSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0513, 0x7000, 0xA82A);
-
-
- /* duration is in milliseconds*/
- /*
- * RTPMPSetMaxPacketDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetMaxPacketDuration(
- RTPMediaPacketizer rtpm,
- UInt32 inMaxPacketDuration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0514, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetMaxPacketDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetMaxPacketDuration(
- RTPMediaPacketizer rtpm,
- UInt32 * outMaxPacketDuration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0515, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPDoUserDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPDoUserDialog(
- RTPMediaPacketizer rtpm,
- ModalFilterUPP inFilterUPP,
- Boolean * canceled) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0516, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPSetSettingsFromAtomContainerAtAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetSettingsFromAtomContainerAtAtom(
- RTPMediaPacketizer rtpm,
- QTAtomContainer inContainer,
- QTAtom inParentAtom) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0517, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetSettingsIntoAtomContainerAtAtom()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetSettingsIntoAtomContainerAtAtom(
- RTPMediaPacketizer rtpm,
- QTAtomContainer inOutContainer,
- QTAtom inParentAtom) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0518, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPGetSettingsAsText()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetSettingsAsText(
- RTPMediaPacketizer rtpm,
- Handle * text) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0519, 0x7000, 0xA82A);
-
-
-
- /*
- * RTPMPGetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPGetSettings(
- RTPMediaPacketizer rtpm,
- QTAtomContainer * outSettings,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x051C, 0x7000, 0xA82A);
-
-
- /*
- * RTPMPSetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPMPSetSettings(
- RTPMediaPacketizer rtpm,
- QTAtomSpecPtr inSettings,
- SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x051D, 0x7000, 0xA82A);
-
-
- /*============================================================================
- RTP Packet Builder
- ============================================================================*/
- enum
- {
- kRTPPacketBuilderType = FOUR_CHAR_CODE('rtpb')
- };
-
-
- typedef ComponentInstance RTPPacketBuilder;
- typedef struct OpaqueRTPPacketGroupRef* RTPPacketGroupRef;
- typedef struct OpaqueRTPPacketRef* RTPPacketRef;
- typedef struct OpaqueRTPPacketRepeatedDataRef* RTPPacketRepeatedDataRef;
- /* flags for RTPPBBegin/EndPacket, RTPPBBegin/EndPacketGroup*/
- enum
- {
- kRTPPBSetMarkerFlag = 0x00000001,
- kRTPPBRepeatPacketFlag = 0x00000002,
- kRTPPBSyncSampleFlag = 0x00010000,
- kRTPPBBFrameFlag = 0x00020000,
- kRTPPBDontSendFlag = 0x10000000 /* when set in EndPacketGroup, will not add group*/
- };
-
- enum
- {
- kRTPPBUnknownPacketMediaDataLength = 0
- };
-
- /* flags for RTPPBGetSampleData*/
- enum
- {
- kRTPPBEndOfDataFlag = 0x00000001
- };
-
-
- typedef CALLBACK_API(void , RTPPBCallbackProcPtr)(OSType inSelector, void *ioParams, void *inRefCon);
- typedef STACK_UPP_TYPE(RTPPBCallbackProcPtr) RTPPBCallbackUPP;
- /*-----------------------------------------
- RTP Packet Builder selectors
- -----------------------------------------*/
- enum
- {
- kRTPPBBeginPacketGroupSelect = 0x0500,
- kRTPPBEndPacketGroupSelect = 0x0501,
- kRTPPBBeginPacketSelect = 0x0502,
- kRTPPBEndPacketSelect = 0x0503,
- kRTPPBAddPacketLiteralDataSelect = 0x0504,
- kRTPPBAddPacketSampleDataSelect = 0x0505,
- kRTPPBAddPacketRepeatedDataSelect = 0x0506,
- kRTPPBReleaseRepeatedDataSelect = 0x0507,
- kRTPPBSetPacketSequenceNumberSelect = 0x0508,
- kRTPPBGetPacketSequenceNumberSelect = 0x0509,
- kRTPPBSetCallbackSelect = 0x050A,
- kRTPPBGetCallbackSelect = 0x050B,
- kRTPPBSetInfoSelect = 0x050C,
- kRTPPBGetInfoSelect = 0x050D,
- kRTPPBSetPacketTimeStampOffsetSelect = 0x050E,
- kRTPPBGetPacketTimeStampOffsetSelect = 0x050F,
- kRTPPBAddPacketSampleData64Select = 0x0510,
- kRTPPBGetSampleDataSelect = 0x0511,
- kRTPPBAddRepeatPacketSelect = 0x0512
- };
-
- /*-----------------------------------------
- RTP Packet Builder functions
- -----------------------------------------*/
- /*
- * RTPPBBeginPacketGroup()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBBeginPacketGroup(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- UInt32 inTimeStamp,
- RTPPacketGroupRef * outPacketGroup) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0500, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBEndPacketGroup()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBEndPacketGroup(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0501, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBBeginPacket()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBBeginPacket(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- UInt32 inPacketMediaDataLength,
- RTPPacketRef * outPacket) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0502, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBEndPacket()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBEndPacket(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- UInt32 inTransmissionTimeOffset,
- UInt32 inDuration) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0503, 0x7000, 0xA82A);
-
-
- /*
- non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
- pb must return a repeated data ref
- */
- /*
- * RTPPBAddPacketLiteralData()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBAddPacketLiteralData(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- UInt8 * inData,
- UInt32 inDataLength,
- RTPPacketRepeatedDataRef * outDataRef) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0504, 0x7000, 0xA82A);
-
-
- /*
- non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
- pb must return a repeated data ref
- */
- /*
- * RTPPBAddPacketSampleData()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBAddPacketSampleData(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- RTPMPSampleDataParams * inSampleDataParams,
- UInt32 inSampleOffset,
- UInt32 inSampleDataLength,
- RTPPacketRepeatedDataRef * outDataRef) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0505, 0x7000, 0xA82A);
-
-
- /*
- non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
- pb must return a repeated data ref
- */
- /*
- * RTPPBAddPacketSampleData64()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBAddPacketSampleData64(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- RTPMPSampleDataParams * inSampleDataParams,
- const UInt64 * inSampleOffset,
- UInt32 inSampleDataLength,
- RTPPacketRepeatedDataRef * outDataRef) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0510, 0x7000, 0xA82A);
-
-
- /*
- call to add the repeated data using the ref you got from
- RTPPBAddPacketLiteralData or RTPPBAddPacketSampleData
- */
- /*
- * RTPPBAddPacketRepeatedData()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBAddPacketRepeatedData(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- RTPPacketRepeatedDataRef inDataRef) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0506, 0x7000, 0xA82A);
-
-
- /* call when done with repeated data*/
- /*
- * RTPPBReleaseRepeatedData()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBReleaseRepeatedData(
- RTPPacketBuilder rtpb,
- RTPPacketRepeatedDataRef inDataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0507, 0x7000, 0xA82A);
-
-
- /*
- seq number is just relative seq number
- don't call if you don't care when seq # is used
- */
- /*
- * RTPPBSetPacketSequenceNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBSetPacketSequenceNumber(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- UInt32 inSequenceNumber) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0508, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBGetPacketSequenceNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBGetPacketSequenceNumber(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- UInt32 * outSequenceNumber) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0509, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBSetPacketTimeStampOffset()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBSetPacketTimeStampOffset(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- SInt32 inTimeStampOffset) FIVEWORDINLINE(0x2F3C, 0x0010, 0x050E, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBGetPacketTimeStampOffset()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBGetPacketTimeStampOffset(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- SInt32 * outTimeStampOffset) FIVEWORDINLINE(0x2F3C, 0x0010, 0x050F, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBAddRepeatPacket()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBAddRepeatPacket(
- RTPPacketBuilder rtpb,
- SInt32 inFlags,
- RTPPacketGroupRef inPacketGroup,
- RTPPacketRef inPacket,
- TimeValue inTransmissionOffset,
- UInt32 inSequenceNumber) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0512, 0x7000, 0xA82A);
-
-
- /*
- used for communicating with the caller of the media packetizers if needed
- NOT used for communicating with the media packetizers themselves
- */
- /*
- * RTPPBSetCallback()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBSetCallback(
- RTPPacketBuilder rtpb,
- RTPPBCallbackUPP inCallback,
- void * inRefCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050A, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBGetCallback()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBGetCallback(
- RTPPacketBuilder rtpb,
- RTPPBCallbackUPP * outCallback,
- void ** outRefCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050B, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBSetInfo(
- RTPPacketBuilder rtpb,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050C, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBGetInfo(
- RTPPacketBuilder rtpb,
- OSType inSelector,
- void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050D, 0x7000, 0xA82A);
-
-
- /*
- * RTPPBGetSampleData()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- RTPPBGetSampleData(
- RTPPacketBuilder rtpb,
- RTPMPSampleDataParams * inParams,
- const UInt64 * inStartOffset,
- UInt8 * outDataBuffer,
- UInt32 inBytesToRead,
- UInt32 * outBytesRead,
- SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0511, 0x7000, 0xA82A);
-
-
-
- /* UPP call backs */
- /*
- * NewRTPMPDataReleaseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(RTPMPDataReleaseUPP)
- NewRTPMPDataReleaseUPP(RTPMPDataReleaseProcPtr userRoutine);
+/* MediaPacketizerInfo structs are padded to 32 bits */
+enum {
+ kMediaPacketizerInfoPadUpToBytes = 4
+};
+
+enum {
+ kRTPMediaPacketizerInfoRezType = FOUR_CHAR_CODE('pcki')
+};
+
+
+/*
+ * QTSFindMediaPacketizer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSFindMediaPacketizer(
+ MediaPacketizerRequirementsPtr inPacketizerinfo,
+ SampleDescriptionHandle inSampleDescription,
+ RTPPayloadSortRequestPtr inSortInfo,
+ QTAtomContainer * outPacketizerList);
+
+
+/*
+ * QTSFindMediaPacketizerForTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSFindMediaPacketizerForTrack(
+ Track inTrack,
+ long inSampleDescriptionIndex,
+ RTPPayloadSortRequestPtr inSortInfo,
+ QTAtomContainer * outPacketizerList);
+
+
+/*
+ * QTSFindMediaPacketizerForPayloadID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSFindMediaPacketizerForPayloadID(
+ long payloadID,
+ RTPPayloadSortRequestPtr inSortInfo,
+ QTAtomContainer * outPacketizerList);
+
+
+/*
+ * QTSFindMediaPacketizerForPayloadName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSFindMediaPacketizerForPayloadName(
+ const char * payloadName,
+ RTPPayloadSortRequestPtr inSortInfo,
+ QTAtomContainer * outPacketizerList);
+
+
+/* flags for RTPMPInitialize*/
+enum {
+ kRTPMPRealtimeModeFlag = 0x00000001
+};
+
+/* flags for RTPMPSampleDataParams*/
+enum {
+ kRTPMPSyncSampleFlag = 0x00000001,
+ kRTPMPRespectDurationFlag = 0x00000002
+};
+
+struct RTPMPSampleDataParams {
+ UInt32 version;
+ UInt32 timeStamp;
+ UInt32 duration; /* 0 = unknown duration*/
+ UInt32 playOffset;
+ Fixed playRate;
+ SInt32 flags;
+ UInt32 sampleDescSeed;
+ Handle sampleDescription;
+ RTPMPSampleRef sampleRef;
+ UInt32 dataLength;
+ const UInt8 * data;
+ RTPMPDataReleaseUPP releaseProc;
+ void * refCon;
+};
+typedef struct RTPMPSampleDataParams RTPMPSampleDataParams;
+/* out flags for idle, RTPMPSetSampleData, and RTPMPFlush*/
+enum {
+ kRTPMPStillProcessingData = 0x00000001 /* not done with data you've got*/
+};
+
+struct RTPMPPayloadTypeParams {
+ UInt32 flags;
+ UInt32 payloadNumber;
+ short nameLength; /* in: size of payloadName buffer (counting null terminator) -- this will be reset to needed length and paramErr returned if too small */
+ char * payloadName; /* caller must provide buffer */
+};
+typedef struct RTPMPPayloadTypeParams RTPMPPayloadTypeParams;
+/*-----------------------------------------
+ RTP Media Packetizer Info selectors
+-----------------------------------------*/
+/* info selectors - get only */
+enum {
+ kRTPMPPayloadTypeInfo = FOUR_CHAR_CODE('rtpp'), /* RTPMPPayloadTypeParams* */
+ kRTPMPRTPTimeScaleInfo = FOUR_CHAR_CODE('rtpt'), /* TimeScale* */
+ kRTPMPRequiredSampleDescriptionInfo = FOUR_CHAR_CODE('sdsc'), /* SampleDescriptionHandle* */
+ kRTPMPMinPayloadSize = FOUR_CHAR_CODE('mins'), /* UInt32* in bytes, does not include rtp header; default is 0 */
+ kRTPMPMinPacketDuration = FOUR_CHAR_CODE('mind'), /* UInt3* in milliseconds; default is no min required */
+ kRTPMPSuggestedRepeatPktCountInfo = FOUR_CHAR_CODE('srpc'), /* UInt32* */
+ kRTPMPSuggestedRepeatPktSpacingInfo = FOUR_CHAR_CODE('srps'), /* UInt32* in milliseconds */
+ kRTPMPMaxPartialSampleSizeInfo = FOUR_CHAR_CODE('mpss'), /* UInt32* in bytes */
+ kRTPMPPreferredBufferDelayInfo = FOUR_CHAR_CODE('prbd'), /* UInt32* in milliseconds */
+ kRTPMPPayloadNameInfo = FOUR_CHAR_CODE('name'), /* StringPtr */
+ kRTPInfo_FormatString = FOUR_CHAR_CODE('fmtp') /* char **, caller allocates ptr, callee disposes */
+};
+
+/*-----------------------------------------
+ RTP Media Packetizer Characteristics
+-----------------------------------------*/
+/* also supports relevant ones in Movies.h and QTSToolbox.h */
+enum {
+ kRTPMPNoSampleDataRequiredCharacteristic = FOUR_CHAR_CODE('nsdr'),
+ kRTPMPHasUserSettingsDialogCharacteristic = FOUR_CHAR_CODE('sdlg'),
+ kRTPMPPrefersReliableTransportCharacteristic = FOUR_CHAR_CODE('rely'),
+ kRTPMPRequiresOutOfBandDimensionsCharacteristic = FOUR_CHAR_CODE('robd'),
+ kRTPMPReadsPartialSamplesCharacteristic = FOUR_CHAR_CODE('rpsp')
+};
+
+/*-----------------------------------------
+ RTP Media Packetizer selectors
+-----------------------------------------*/
+enum {
+ kRTPMPInitializeSelect = 0x0500,
+ kRTPMPPreflightMediaSelect = 0x0501,
+ kRTPMPIdleSelect = 0x0502,
+ kRTPMPSetSampleDataSelect = 0x0503,
+ kRTPMPFlushSelect = 0x0504,
+ kRTPMPResetSelect = 0x0505,
+ kRTPMPSetInfoSelect = 0x0506,
+ kRTPMPGetInfoSelect = 0x0507,
+ kRTPMPSetTimeScaleSelect = 0x0508,
+ kRTPMPGetTimeScaleSelect = 0x0509,
+ kRTPMPSetTimeBaseSelect = 0x050A,
+ kRTPMPGetTimeBaseSelect = 0x050B,
+ kRTPMPHasCharacteristicSelect = 0x050C,
+ kRTPMPSetPacketBuilderSelect = 0x050E,
+ kRTPMPGetPacketBuilderSelect = 0x050F,
+ kRTPMPSetMediaTypeSelect = 0x0510,
+ kRTPMPGetMediaTypeSelect = 0x0511,
+ kRTPMPSetMaxPacketSizeSelect = 0x0512,
+ kRTPMPGetMaxPacketSizeSelect = 0x0513,
+ kRTPMPSetMaxPacketDurationSelect = 0x0514,
+ kRTPMPGetMaxPacketDurationSelect = 0x0515, /* for export component and apps who want to*/
+ /* access dialogs for Media-specific settings*/
+ /* (such as Pure Voice interleave factor)*/
+ kRTPMPDoUserDialogSelect = 0x0516,
+ kRTPMPSetSettingsFromAtomContainerAtAtomSelect = 0x0517,
+ kRTPMPGetSettingsIntoAtomContainerAtAtomSelect = 0x0518,
+ kRTPMPGetSettingsAsTextSelect = 0x0519,
+ kRTPMPGetSettingsSelect = 0x051C,
+ kRTPMPSetSettingsSelect = 0x051D
+};
+
+/*-----------------------------------------
+ RTP Media Packetizer functions
+-----------------------------------------*/
+
+/*
+ * RTPMPInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPInitialize(
+ RTPMediaPacketizer rtpm,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0500, 0x7000, 0xA82A);
+
+
+/* return noErr if you can handle this media */
+/*
+ * RTPMPPreflightMedia()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPPreflightMedia(
+ RTPMediaPacketizer rtpm,
+ OSType inMediaType,
+ SampleDescriptionHandle inSampleDescription) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0501, 0x7000, 0xA82A);
+
+
+/*
+ do work here if you need to - give up time periodically
+ if you're doing time consuming operations
+*/
+/*
+ * RTPMPIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPIdle(
+ RTPMediaPacketizer rtpm,
+ SInt32 inFlags,
+ SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0502, 0x7000, 0xA82A);
+
+
+/*
+ caller owns the RTPMPSampleDataParams struct
+ media Packetizer must copy any fields of the struct it wants to keep
+ media Packetizer must call release proc when done with the data
+ you can do the processing work here if it does not take up too
+ much cpu time - otherwise do it in idle
+*/
+/*
+ * RTPMPSetSampleData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetSampleData(
+ RTPMediaPacketizer rtpm,
+ const RTPMPSampleDataParams * inSampleData,
+ SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0503, 0x7000, 0xA82A);
+
+
+/*
+ send everything you have buffered - you will get idles while
+ you set the kRTPMPStillProcessingData flag here and in idle
+*/
+/*
+ * RTPMPFlush()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPFlush(
+ RTPMediaPacketizer rtpm,
+ SInt32 inFlags,
+ SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0504, 0x7000, 0xA82A);
+
+
+/*
+ dispose of anything buffered and get rid of state
+ do not send the buffered data (because presumably
+ there is no connection for you to send on)
+ state should be the same as if you were just initialized
+*/
+/*
+ * RTPMPReset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPReset(
+ RTPMediaPacketizer rtpm,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0505, 0x7000, 0xA82A);
+
+
+/*-----------------------------------------
+ RTP Media Packetizer get / set functions
+-----------------------------------------*/
+/*
+ * RTPMPSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetInfo(
+ RTPMediaPacketizer rtpm,
+ OSType inSelector,
+ const void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0506, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetInfo(
+ RTPMediaPacketizer rtpm,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0507, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPSetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetTimeScale(
+ RTPMediaPacketizer rtpm,
+ TimeScale inTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0508, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetTimeScale(
+ RTPMediaPacketizer rtpm,
+ TimeScale * outTimeScale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0509, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPSetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetTimeBase(
+ RTPMediaPacketizer rtpm,
+ TimeBase inTimeBase) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050A, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetTimeBase(
+ RTPMediaPacketizer rtpm,
+ TimeBase * outTimeBase) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050B, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPHasCharacteristic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPHasCharacteristic(
+ RTPMediaPacketizer rtpm,
+ OSType inSelector,
+ Boolean * outHasIt) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050C, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPSetPacketBuilder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetPacketBuilder(
+ RTPMediaPacketizer rtpm,
+ ComponentInstance inPacketBuilder) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050E, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetPacketBuilder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetPacketBuilder(
+ RTPMediaPacketizer rtpm,
+ ComponentInstance * outPacketBuilder) FIVEWORDINLINE(0x2F3C, 0x0004, 0x050F, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPSetMediaType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetMediaType(
+ RTPMediaPacketizer rtpm,
+ OSType inMediaType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0510, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetMediaType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetMediaType(
+ RTPMediaPacketizer rtpm,
+ OSType * outMediaType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0511, 0x7000, 0xA82A);
+
+
+/* size is in bytes*/
+/*
+ * RTPMPSetMaxPacketSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetMaxPacketSize(
+ RTPMediaPacketizer rtpm,
+ UInt32 inMaxPacketSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0512, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetMaxPacketSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetMaxPacketSize(
+ RTPMediaPacketizer rtpm,
+ UInt32 * outMaxPacketSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0513, 0x7000, 0xA82A);
+
+
+/* duration is in milliseconds*/
+/*
+ * RTPMPSetMaxPacketDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetMaxPacketDuration(
+ RTPMediaPacketizer rtpm,
+ UInt32 inMaxPacketDuration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0514, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetMaxPacketDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetMaxPacketDuration(
+ RTPMediaPacketizer rtpm,
+ UInt32 * outMaxPacketDuration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0515, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPDoUserDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPDoUserDialog(
+ RTPMediaPacketizer rtpm,
+ ModalFilterUPP inFilterUPP,
+ Boolean * canceled) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0516, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPSetSettingsFromAtomContainerAtAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetSettingsFromAtomContainerAtAtom(
+ RTPMediaPacketizer rtpm,
+ QTAtomContainer inContainer,
+ QTAtom inParentAtom) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0517, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetSettingsIntoAtomContainerAtAtom()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetSettingsIntoAtomContainerAtAtom(
+ RTPMediaPacketizer rtpm,
+ QTAtomContainer inOutContainer,
+ QTAtom inParentAtom) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0518, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPGetSettingsAsText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetSettingsAsText(
+ RTPMediaPacketizer rtpm,
+ Handle * text) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0519, 0x7000, 0xA82A);
+
+
+
+/*
+ * RTPMPGetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPGetSettings(
+ RTPMediaPacketizer rtpm,
+ QTAtomContainer * outSettings,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x051C, 0x7000, 0xA82A);
+
+
+/*
+ * RTPMPSetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPMPSetSettings(
+ RTPMediaPacketizer rtpm,
+ QTAtomSpecPtr inSettings,
+ SInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x051D, 0x7000, 0xA82A);
+
+
+/*============================================================================
+ RTP Packet Builder
+============================================================================*/
+enum {
+ kRTPPacketBuilderType = FOUR_CHAR_CODE('rtpb')
+};
+
+
+typedef ComponentInstance RTPPacketBuilder;
+typedef struct OpaqueRTPPacketGroupRef* RTPPacketGroupRef;
+typedef struct OpaqueRTPPacketRef* RTPPacketRef;
+typedef struct OpaqueRTPPacketRepeatedDataRef* RTPPacketRepeatedDataRef;
+/* flags for RTPPBBegin/EndPacket, RTPPBBegin/EndPacketGroup*/
+enum {
+ kRTPPBSetMarkerFlag = 0x00000001,
+ kRTPPBRepeatPacketFlag = 0x00000002,
+ kRTPPBSyncSampleFlag = 0x00010000,
+ kRTPPBBFrameFlag = 0x00020000,
+ kRTPPBDontSendFlag = 0x10000000 /* when set in EndPacketGroup, will not add group*/
+};
+
+enum {
+ kRTPPBUnknownPacketMediaDataLength = 0
+};
+
+/* flags for RTPPBGetSampleData*/
+enum {
+ kRTPPBEndOfDataFlag = 0x00000001
+};
+
+
+typedef CALLBACK_API( void , RTPPBCallbackProcPtr )(OSType inSelector, void *ioParams, void *inRefCon);
+typedef STACK_UPP_TYPE(RTPPBCallbackProcPtr) RTPPBCallbackUPP;
+/*-----------------------------------------
+ RTP Packet Builder selectors
+-----------------------------------------*/
+enum {
+ kRTPPBBeginPacketGroupSelect = 0x0500,
+ kRTPPBEndPacketGroupSelect = 0x0501,
+ kRTPPBBeginPacketSelect = 0x0502,
+ kRTPPBEndPacketSelect = 0x0503,
+ kRTPPBAddPacketLiteralDataSelect = 0x0504,
+ kRTPPBAddPacketSampleDataSelect = 0x0505,
+ kRTPPBAddPacketRepeatedDataSelect = 0x0506,
+ kRTPPBReleaseRepeatedDataSelect = 0x0507,
+ kRTPPBSetPacketSequenceNumberSelect = 0x0508,
+ kRTPPBGetPacketSequenceNumberSelect = 0x0509,
+ kRTPPBSetCallbackSelect = 0x050A,
+ kRTPPBGetCallbackSelect = 0x050B,
+ kRTPPBSetInfoSelect = 0x050C,
+ kRTPPBGetInfoSelect = 0x050D,
+ kRTPPBSetPacketTimeStampOffsetSelect = 0x050E,
+ kRTPPBGetPacketTimeStampOffsetSelect = 0x050F,
+ kRTPPBAddPacketSampleData64Select = 0x0510,
+ kRTPPBGetSampleDataSelect = 0x0511,
+ kRTPPBAddRepeatPacketSelect = 0x0512
+};
+
+/*-----------------------------------------
+ RTP Packet Builder functions
+-----------------------------------------*/
+/*
+ * RTPPBBeginPacketGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBBeginPacketGroup(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ UInt32 inTimeStamp,
+ RTPPacketGroupRef * outPacketGroup) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0500, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBEndPacketGroup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBEndPacketGroup(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0501, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBBeginPacket()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBBeginPacket(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ UInt32 inPacketMediaDataLength,
+ RTPPacketRef * outPacket) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0502, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBEndPacket()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBEndPacket(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ UInt32 inTransmissionTimeOffset,
+ UInt32 inDuration) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0503, 0x7000, 0xA82A);
+
+
+/*
+ non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
+ pb must return a repeated data ref
+*/
+/*
+ * RTPPBAddPacketLiteralData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBAddPacketLiteralData(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ UInt8 * inData,
+ UInt32 inDataLength,
+ RTPPacketRepeatedDataRef * outDataRef) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0504, 0x7000, 0xA82A);
+
+
+/*
+ non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
+ pb must return a repeated data ref
+*/
+/*
+ * RTPPBAddPacketSampleData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBAddPacketSampleData(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ RTPMPSampleDataParams * inSampleDataParams,
+ UInt32 inSampleOffset,
+ UInt32 inSampleDataLength,
+ RTPPacketRepeatedDataRef * outDataRef) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0505, 0x7000, 0xA82A);
+
+
+/*
+ non-NULL RTPPacketRepeatedDataRef means this data will be repeated later
+ pb must return a repeated data ref
+*/
+/*
+ * RTPPBAddPacketSampleData64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBAddPacketSampleData64(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ RTPMPSampleDataParams * inSampleDataParams,
+ const UInt64 * inSampleOffset,
+ UInt32 inSampleDataLength,
+ RTPPacketRepeatedDataRef * outDataRef) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0510, 0x7000, 0xA82A);
+
+
+/*
+ call to add the repeated data using the ref you got from
+ RTPPBAddPacketLiteralData or RTPPBAddPacketSampleData
+*/
+/*
+ * RTPPBAddPacketRepeatedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBAddPacketRepeatedData(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ RTPPacketRepeatedDataRef inDataRef) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0506, 0x7000, 0xA82A);
+
+
+/* call when done with repeated data*/
+/*
+ * RTPPBReleaseRepeatedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBReleaseRepeatedData(
+ RTPPacketBuilder rtpb,
+ RTPPacketRepeatedDataRef inDataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0507, 0x7000, 0xA82A);
+
+
+/*
+ seq number is just relative seq number
+ don't call if you don't care when seq # is used
+*/
+/*
+ * RTPPBSetPacketSequenceNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBSetPacketSequenceNumber(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ UInt32 inSequenceNumber) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0508, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBGetPacketSequenceNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBGetPacketSequenceNumber(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ UInt32 * outSequenceNumber) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0509, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBSetPacketTimeStampOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBSetPacketTimeStampOffset(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ SInt32 inTimeStampOffset) FIVEWORDINLINE(0x2F3C, 0x0010, 0x050E, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBGetPacketTimeStampOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBGetPacketTimeStampOffset(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ SInt32 * outTimeStampOffset) FIVEWORDINLINE(0x2F3C, 0x0010, 0x050F, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBAddRepeatPacket()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBAddRepeatPacket(
+ RTPPacketBuilder rtpb,
+ SInt32 inFlags,
+ RTPPacketGroupRef inPacketGroup,
+ RTPPacketRef inPacket,
+ TimeValue inTransmissionOffset,
+ UInt32 inSequenceNumber) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0512, 0x7000, 0xA82A);
+
+
+/*
+ used for communicating with the caller of the media packetizers if needed
+ NOT used for communicating with the media packetizers themselves
+*/
+/*
+ * RTPPBSetCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBSetCallback(
+ RTPPacketBuilder rtpb,
+ RTPPBCallbackUPP inCallback,
+ void * inRefCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050A, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBGetCallback()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBGetCallback(
+ RTPPacketBuilder rtpb,
+ RTPPBCallbackUPP * outCallback,
+ void ** outRefCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050B, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBSetInfo(
+ RTPPacketBuilder rtpb,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050C, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBGetInfo(
+ RTPPacketBuilder rtpb,
+ OSType inSelector,
+ void * ioParams) FIVEWORDINLINE(0x2F3C, 0x0008, 0x050D, 0x7000, 0xA82A);
+
+
+/*
+ * RTPPBGetSampleData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+RTPPBGetSampleData(
+ RTPPacketBuilder rtpb,
+ RTPMPSampleDataParams * inParams,
+ const UInt64 * inStartOffset,
+ UInt8 * outDataBuffer,
+ UInt32 inBytesToRead,
+ UInt32 * outBytesRead,
+ SInt32 * outFlags) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0511, 0x7000, 0xA82A);
+
+
+
+/* UPP call backs */
+/*
+ * NewRTPMPDataReleaseUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( RTPMPDataReleaseUPP )
+NewRTPMPDataReleaseUPP(RTPMPDataReleaseProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppRTPMPDataReleaseProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(RTPMPDataReleaseUPP) NewRTPMPDataReleaseUPP(RTPMPDataReleaseProcPtr userRoutine)
- {
- return (RTPMPDataReleaseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRTPMPDataReleaseProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewRTPMPDataReleaseUPP(userRoutine) (RTPMPDataReleaseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRTPMPDataReleaseProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppRTPMPDataReleaseProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(RTPMPDataReleaseUPP) NewRTPMPDataReleaseUPP(RTPMPDataReleaseProcPtr userRoutine) { return (RTPMPDataReleaseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRTPMPDataReleaseProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewRTPMPDataReleaseUPP(userRoutine) (RTPMPDataReleaseUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRTPMPDataReleaseProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewRTPPBCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(RTPPBCallbackUPP)
- NewRTPPBCallbackUPP(RTPPBCallbackProcPtr userRoutine);
+/*
+ * NewRTPPBCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( RTPPBCallbackUPP )
+NewRTPPBCallbackUPP(RTPPBCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppRTPPBCallbackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(RTPPBCallbackUPP) NewRTPPBCallbackUPP(RTPPBCallbackProcPtr userRoutine)
- {
- return (RTPPBCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRTPPBCallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewRTPPBCallbackUPP(userRoutine) (RTPPBCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRTPPBCallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppRTPPBCallbackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(RTPPBCallbackUPP) NewRTPPBCallbackUPP(RTPPBCallbackProcPtr userRoutine) { return (RTPPBCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRTPPBCallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewRTPPBCallbackUPP(userRoutine) (RTPPBCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRTPPBCallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeRTPMPDataReleaseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeRTPMPDataReleaseUPP(RTPMPDataReleaseUPP userUPP);
+/*
+ * DisposeRTPMPDataReleaseUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeRTPMPDataReleaseUPP(RTPMPDataReleaseUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeRTPMPDataReleaseUPP(RTPMPDataReleaseUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeRTPMPDataReleaseUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeRTPMPDataReleaseUPP(RTPMPDataReleaseUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeRTPMPDataReleaseUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeRTPPBCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeRTPPBCallbackUPP(RTPPBCallbackUPP userUPP);
+/*
+ * DisposeRTPPBCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeRTPPBCallbackUPP(RTPPBCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeRTPPBCallbackUPP(RTPPBCallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeRTPPBCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeRTPPBCallbackUPP(RTPPBCallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeRTPPBCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeRTPMPDataReleaseUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeRTPMPDataReleaseUPP(
- UInt8 * inData,
- void * inRefCon,
- RTPMPDataReleaseUPP userUPP);
+/*
+ * InvokeRTPMPDataReleaseUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeRTPMPDataReleaseUPP(
+ UInt8 * inData,
+ void * inRefCon,
+ RTPMPDataReleaseUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeRTPMPDataReleaseUPP(UInt8 * inData, void * inRefCon, RTPMPDataReleaseUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppRTPMPDataReleaseProcInfo, inData, inRefCon);
- }
-#else
-#define InvokeRTPMPDataReleaseUPP(inData, inRefCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppRTPMPDataReleaseProcInfo, (inData), (inRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeRTPMPDataReleaseUPP(UInt8 * inData, void * inRefCon, RTPMPDataReleaseUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppRTPMPDataReleaseProcInfo, inData, inRefCon); }
+ #else
+ #define InvokeRTPMPDataReleaseUPP(inData, inRefCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppRTPMPDataReleaseProcInfo, (inData), (inRefCon))
+ #endif
#endif
- /*
- * InvokeRTPPBCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeRTPPBCallbackUPP(
- OSType inSelector,
- void * ioParams,
- void * inRefCon,
- RTPPBCallbackUPP userUPP);
+/*
+ * InvokeRTPPBCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeRTPPBCallbackUPP(
+ OSType inSelector,
+ void * ioParams,
+ void * inRefCon,
+ RTPPBCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeRTPPBCallbackUPP(OSType inSelector, void * ioParams, void * inRefCon, RTPPBCallbackUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppRTPPBCallbackProcInfo, inSelector, ioParams, inRefCon);
- }
-#else
-#define InvokeRTPPBCallbackUPP(inSelector, ioParams, inRefCon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppRTPPBCallbackProcInfo, (inSelector), (ioParams), (inRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeRTPPBCallbackUPP(OSType inSelector, void * ioParams, void * inRefCon, RTPPBCallbackUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppRTPPBCallbackProcInfo, inSelector, ioParams, inRefCon); }
+ #else
+ #define InvokeRTPPBCallbackUPP(inSelector, ioParams, inRefCon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppRTPPBCallbackProcInfo, (inSelector), (ioParams), (inRefCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewRTPMPDataReleaseProc(userRoutine) NewRTPMPDataReleaseUPP(userRoutine)
-#define NewRTPPBCallbackProc(userRoutine) NewRTPPBCallbackUPP(userRoutine)
-#define CallRTPMPDataReleaseProc(userRoutine, inData, inRefCon) InvokeRTPMPDataReleaseUPP(inData, inRefCon, userRoutine)
-#define CallRTPPBCallbackProc(userRoutine, inSelector, ioParams, inRefCon) InvokeRTPPBCallbackUPP(inSelector, ioParams, inRefCon, userRoutine)
+ #define NewRTPMPDataReleaseProc(userRoutine) NewRTPMPDataReleaseUPP(userRoutine)
+ #define NewRTPPBCallbackProc(userRoutine) NewRTPPBCallbackUPP(userRoutine)
+ #define CallRTPMPDataReleaseProc(userRoutine, inData, inRefCon) InvokeRTPMPDataReleaseUPP(inData, inRefCon, userRoutine)
+ #define CallRTPPBCallbackProc(userRoutine, inSelector, ioParams, inRefCon) InvokeRTPPBCallbackUPP(inSelector, ioParams, inRefCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
@@ -2686,11 +2585,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QuickTime.h b/include/qt/QuickTime.h
index 1ac608f99..c7b7534e8 100644
--- a/include/qt/QuickTime.h
+++ b/include/qt/QuickTime.h
@@ -1,17 +1,17 @@
/*
File: QuickTime.h
-
+
Contains: Master include for all of QuickTime on OS X
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2007 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 __QUICKTIME__
#define __QUICKTIME__
diff --git a/include/qt/QuickTimeComponents.h b/include/qt/QuickTimeComponents.h
index 7568e9f18..ce3d6406e 100644
--- a/include/qt/QuickTimeComponents.h
+++ b/include/qt/QuickTimeComponents.h
@@ -1,17 +1,17 @@
/*
File: QuickTimeComponents.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __QUICKTIMECOMPONENTS__
#define __QUICKTIMECOMPONENTS__
@@ -73,8313 +73,8127 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- enum {
- clockComponentType = FOUR_CHAR_CODE('clok'),
- systemTickClock = FOUR_CHAR_CODE('tick'), /* subtype: 60ths since boot */
- systemSecondClock = FOUR_CHAR_CODE('seco'), /* subtype: seconds since 1904 */
- systemMillisecondClock = FOUR_CHAR_CODE('mill'), /* subtype: 1000ths since boot */
- systemMicrosecondClock = FOUR_CHAR_CODE('micr') /* subtype: 1000000ths since boot */
- };
-
- enum
- {
- kClockRateIsLinear = 1,
- kClockImplementsCallBacks = 2,
- kClockCanHandleIntermittentSound = 4 /* sound clocks only */
- };
+enum {
+ clockComponentType = FOUR_CHAR_CODE('clok'),
+ systemTickClock = FOUR_CHAR_CODE('tick'), /* subtype: 60ths since boot */
+ systemSecondClock = FOUR_CHAR_CODE('seco'), /* subtype: seconds since 1904 */
+ systemMillisecondClock = FOUR_CHAR_CODE('mill'), /* subtype: 1000ths since boot */
+ systemMicrosecondClock = FOUR_CHAR_CODE('micr') /* subtype: 1000000ths since boot */
+};
+
+enum {
+ kClockRateIsLinear = 1,
+ kClockImplementsCallBacks = 2,
+ kClockCanHandleIntermittentSound = 4 /* sound clocks only */
+};
#if OLDROUTINENAMES
#define GetClockTime(aClock, out) ClockGetTime(aClock, out)
#endif
- /** These are Clock procedures **/
- /*
- * ClockGetTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockGetTime(
- ComponentInstance aClock,
- TimeRecord * out) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
-
- /*
- * ClockNewCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(QTCallBack)
- ClockNewCallBack(
- ComponentInstance aClock,
- TimeBase tb,
- short callBackType) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * ClockDisposeCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockDisposeCallBack(
- ComponentInstance aClock,
- QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * ClockCallMeWhen()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockCallMeWhen(
- ComponentInstance aClock,
- QTCallBack cb,
- long param1,
- long param2,
- long param3) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * ClockCancelCallBack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockCancelCallBack(
- ComponentInstance aClock,
- QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * ClockRateChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockRateChanged(
- ComponentInstance aClock,
- QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * ClockTimeChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockTimeChanged(
- ComponentInstance aClock,
- QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * ClockSetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockSetTimeBase(
- ComponentInstance aClock,
- TimeBase tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * ClockStartStopChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockStartStopChanged(
- ComponentInstance aClock,
- QTCallBack cb,
- Boolean startChanged,
- Boolean stopChanged) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * ClockGetRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- ClockGetRate(
- ComponentInstance aClock,
- Fixed * rate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * ClockGetTimesForRateChange()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- ClockGetTimesForRateChange(
- ComponentInstance aClock,
- Fixed fromRate,
- Fixed toRate,
- TimeRecord * currentTime,
- TimeRecord * preferredTime,
- TimeRecord * safeIncrementForPreferredTime) FIVEWORDINLINE(0x2F3C, 0x0014, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * ClockGetRateChangeConstraints()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- ClockGetRateChangeConstraints(
- ComponentInstance aClock,
- TimeRecord * minimumDelay,
- TimeRecord * maximumDelay) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
-
-
-
-
-
- /*
- ************************************************
- Standard Compression component type and subtypes
- ************************************************
- */
-
- /*
- */
- enum
- {
- StandardCompressionType = FOUR_CHAR_CODE('scdi'),
- StandardCompressionSubType = FOUR_CHAR_CODE('imag'),
-
- /*
- * StandardCompressionSubTypeSound is the legacy StandardCompression
- * component that uses the SoundMgr. It is limited to mono/stereo,
- * and to sample rates under 64kHz. It is still present in QuickTime
- * to support older apps (use of the new
- * StandardCompressionSubTypeAudio requires app developers to modify
- * their code).
- */
- StandardCompressionSubTypeSound = FOUR_CHAR_CODE('soun'),
-
- /*
- * StandardCompressionSubTypeAudio is the StandardCompression
- * component that adds the ability to configure multi-channel, high
- * sample rate output formats. It uses CoreAudio internally instead
- * of the SoundMgr, and has a full set of component properties to
- * make configuration easier, especially when the developer wishes to
- * bring up his/her own dialog rather than the default dialog. See
- * StandardCompressionSubTypeAudio Properties below for a full list
- * of Component Properties supported by the
- * StandardCompressionSubTypeAudio component.
- */
- StandardCompressionSubTypeAudio = FOUR_CHAR_CODE('audi')
- };
-
- typedef CALLBACK_API(Boolean , SCModalFilterProcPtr)(DialogRef theDialog, EventRecord *theEvent, short *itemHit, long refcon);
- typedef CALLBACK_API(short , SCModalHookProcPtr)(DialogRef theDialog, short itemHit, void *params, long refcon);
- typedef STACK_UPP_TYPE(SCModalFilterProcPtr) SCModalFilterUPP;
- typedef STACK_UPP_TYPE(SCModalHookProcPtr) SCModalHookUPP;
- /* Preference flags.*/
- enum
- {
- scListEveryCodec = 1L << 1,
- scAllowZeroFrameRate = 1L << 2,
- scAllowZeroKeyFrameRate = 1L << 3,
- scShowBestDepth = 1L << 4,
- scUseMovableModal = 1L << 5,
- scDisableFrameRateItem = 1L << 6,
- scShowDataRateAsKilobits = 1L << 7
- };
-
-
- /* Possible test flags for setting test image.*/
- enum
- {
- scPreferCropping = 1 << 0,
- scPreferScaling = 1 << 1,
- scPreferScalingAndCropping = scPreferScaling | scPreferCropping,
- scDontDetermineSettingsFromTestImage = 1 << 2
- };
-
-
- /* Dimensions of the image preview box.*/
- enum
- {
- scTestImageWidth = 80,
- scTestImageHeight = 80
- };
-
- /* Possible items returned by hookProc.*/
- enum
- {
- scOKItem = 1,
- scCancelItem = 2,
- scCustomItem = 3
- };
-
- /* Result returned when user cancelled.*/
- enum
- {
- scUserCancelled = 1
- };
-
- /* Component selectors*/
- enum
- {
- scPositionRect = 2,
- scPositionDialog = 3,
- scSetTestImagePictHandle = 4,
- scSetTestImagePictFile = 5,
- scSetTestImagePixMap = 6,
- scGetBestDeviceRect = 7,
- scRequestImageSettings = 10,
- scCompressImage = 11,
- scCompressPicture = 12,
- scCompressPictureFile = 13,
- scRequestSequenceSettings = 14,
- scCompressSequenceBegin = 15,
- scCompressSequenceFrame = 16,
- scCompressSequenceEnd = 17,
- scDefaultPictHandleSettings = 18,
- scDefaultPictFileSettings = 19,
- scDefaultPixMapSettings = 20,
- scGetInfo = 21,
- scSetInfo = 22,
- scNewGWorld = 23
- };
-
- /* Get/SetInfo structures.*/
-
- struct SCSpatialSettings
- {
- CodecType codecType;
- CodecComponent codec;
- short depth;
- CodecQ spatialQuality;
- };
- typedef struct SCSpatialSettings SCSpatialSettings;
- struct SCTemporalSettings
- {
- CodecQ temporalQuality;
- Fixed frameRate;
- long keyFrameRate;
- };
- typedef struct SCTemporalSettings SCTemporalSettings;
- struct SCDataRateSettings
- {
- long dataRate;
- long frameDuration;
- CodecQ minSpatialQuality;
- CodecQ minTemporalQuality;
- };
- typedef struct SCDataRateSettings SCDataRateSettings;
- struct SCExtendedProcs
- {
- SCModalFilterUPP filterProc;
- SCModalHookUPP hookProc;
- long refcon;
- Str31 customName;
- };
- typedef struct SCExtendedProcs SCExtendedProcs;
- enum
- {
- scWindowRefKindCarbon = FOUR_CHAR_CODE('carb') /* WindowRef*/
- };
-
- struct SCWindowSettings
- {
- long size; /* must be sizeof(SCWindowSettings)*/
- long windowRefKind; /* type of parent window*/
- void * parentWindow; /* parent window, for sheets or NIL for none*/
- };
- typedef struct SCWindowSettings SCWindowSettings;
- /* Get/SetInfo selectors*/
- enum
- {
- scSpatialSettingsType = FOUR_CHAR_CODE('sptl'), /* pointer to SCSpatialSettings struct*/
- scTemporalSettingsType = FOUR_CHAR_CODE('tprl'), /* pointer to SCTemporalSettings struct*/
- scDataRateSettingsType = FOUR_CHAR_CODE('drat'), /* pointer to SCDataRateSettings struct*/
- scColorTableType = FOUR_CHAR_CODE('clut'), /* pointer to CTabHandle*/
- scProgressProcType = FOUR_CHAR_CODE('prog'), /* pointer to ProgressRecord struct*/
- scExtendedProcsType = FOUR_CHAR_CODE('xprc'), /* pointer to SCExtendedProcs struct*/
- scPreferenceFlagsType = FOUR_CHAR_CODE('pref'), /* pointer to long*/
- scSettingsStateType = FOUR_CHAR_CODE('ssta'), /* pointer to Handle*/
- scSequenceIDType = FOUR_CHAR_CODE('sequ'), /* pointer to ImageSequence*/
- scWindowPositionType = FOUR_CHAR_CODE('wndw'), /* pointer to Point*/
- scCodecFlagsType = FOUR_CHAR_CODE('cflg'), /* pointer to CodecFlags*/
- scCodecSettingsType = FOUR_CHAR_CODE('cdec'), /* pointer to Handle*/
- scForceKeyValueType = FOUR_CHAR_CODE('ksim'), /* pointer to long*/
- scCompressionListType = FOUR_CHAR_CODE('ctyl'), /* pointer to OSType Handle*/
- scCodecManufacturerType = FOUR_CHAR_CODE('cmfr'), /* pointer to OSType*/
- scAvailableCompressionListType = FOUR_CHAR_CODE('avai'), /* pointer to OSType Handle*/
- scWindowOptionsType = FOUR_CHAR_CODE('shee'), /* pointer to SCWindowSettings struct*/
- scSoundVBRCompressionOK = FOUR_CHAR_CODE('cvbr'), /* pointer to Boolean*/
- scSoundSampleRateChangeOK = FOUR_CHAR_CODE('rcok'), /* pointer to Boolean*/
- scSoundCompressionType = FOUR_CHAR_CODE('ssct'), /* pointer to OSType*/
- scSoundSampleRateType = FOUR_CHAR_CODE('ssrt'), /* pointer to UnsignedFixed*/
- scSoundInputSampleRateType = FOUR_CHAR_CODE('ssir'), /* pointer to UnsignedFixed*/
- scSoundSampleSizeType = FOUR_CHAR_CODE('ssss'), /* pointer to short*/
- scSoundChannelCountType = FOUR_CHAR_CODE('sscc') /* pointer to short*/
- };
-
- /* scTypeNotFoundErr returned by Get/SetInfo when type cannot be found.*/
-
-
-
- struct SCParams
- {
- long flags;
- CodecType theCodecType;
- CodecComponent theCodec;
- CodecQ spatialQuality;
- CodecQ temporalQuality;
- short depth;
- Fixed frameRate;
- long keyFrameRate;
- long reserved1;
- long reserved2;
- };
- typedef struct SCParams SCParams;
- enum
- {
- scGetCompression = 1,
- scShowMotionSettings = 1L << 0,
- scSettingsChangedItem = -1
- };
-
- enum
- {
- scCompressFlagIgnoreIdenticalFrames = 1
- };
-
- /* QTAtomTypes for atoms found in settings atom containers*/
- enum
- {
- kQTSettingsVideo = FOUR_CHAR_CODE('vide'), /* Container for video/image compression related atoms (Get/SetInfo selectors)*/
- kQTSettingsSound = FOUR_CHAR_CODE('soun'), /* Container for sound compression related atoms (Get/SetInfo selectors)*/
- kQTSettingsComponentVersion = FOUR_CHAR_CODE('vers') /* . Version of component that wrote settings (QTSettingsVersionAtomRecord)*/
- };
-
- /* Format of 'vers' atom found in settings atom containers*/
- struct QTSettingsVersionAtomRecord
- {
- long componentVersion; /* standard compression component version*/
- short flags; /* low bit is 1 if little endian platform, 0 if big endian platform*/
- short reserved; /* should be 0*/
- };
- typedef struct QTSettingsVersionAtomRecord QTSettingsVersionAtomRecord;
- /* Video Specific Definitions for B frame / multi pass support*/
-
-
- /*
- * SCVideoMultiPassEncodingSettings
- *
- * Summary:
- * Struct for passing multi pass encoding settings through
- * scVideoMultiPassEncodingSettingsType
- */
- struct SCVideoMultiPassEncodingSettings
- {
-
- /*
- * True if multi pass encoding can be performed.
- */
- Boolean allowMultiPassEncoding;
- unsigned char maxEncodingPassCount;
- };
- typedef struct SCVideoMultiPassEncodingSettings SCVideoMultiPassEncodingSettings;
-
- /*
- * Summary:
- * SCGetInfo/SetInfo Selectors
- */
- enum
- {
-
- /*
- * Specifies if frame reordering can occur in encoding.
- */
- scVideoAllowFrameReorderingType = FOUR_CHAR_CODE('bfra'), /* pointer to Boolean*/
-
- /*
- * The settings to control multi pass encoding.
- */
- scVideoMultiPassEncodingSettingsType = FOUR_CHAR_CODE('mpes') /* pointer to SCVideoMultiPassEncodingSettings struct*/
- };
-
-
- /*
- * Summary:
- * Preference Flags for scPreferenceFlagsType
- *
- * Discussion:
- * Preference flags that specify how StdCompression should handle
- * frame reordering and multi pass encoding settings.
- */
- enum
- {
-
- /*
- * Indicates the client is ready to use the ICM compression session
- * API to perform compression operations. StdCompression disables
- * frame reordering and multi pass encoding if this flag is cleared.
- */
- scAllowEncodingWithCompressionSession = 1L << 8,
-
- /*
- * Indicates the client does not want the user to change the frame
- * reordering setting.
- */
- scDisableFrameReorderingItem = 1L << 9,
-
- /*
- * Indicates the client does not want the user to change the multi
- * pass encoding setting
- */
- scDisableMultiPassEncodingItem = 1L << 10
- };
-
-
- /*
- ******************************************
- StandardCompressionSubTypeAudio Properties
- ******************************************
- */
-
-
- /*
- In StandardCompressionSubTypeAudio, instead of using Get/SetInfo, the developer will
- get and set component properties. (QTGetComponentPropertyInfo(), QTGetComponentProperty(),
- QTSetComponentProperty(), QTAddComponentPropertyListener(), QTRemoveComponentPropertyListener())
- These properties have a class and ID, instead of just a single selector.
- Note that implementers of MovieExport "from procedures" getProperty procs (that choose
- to opt-in to the new support; see kQTMovieExporterPropertyID_EnableHighResolutionAudioFeatures
- in this header) will need to support these property IDs as new selectors. In other
- words, the MovieExporter getProperty proc API is not changing to add a class. The
- class is implied in that case. Such procs, of course, do not implement any of the
- list properties, or the non-settable properties, as well as some others. The
- properties getProperty procs can implement are marked below with the word "DataProc".
- */
-
-
-
- /*
- * Summary:
- * ComponentPropertyClasses for StandardCompressionSubTypeAudio
- */
- enum
- {
-
- /*
- * All Component Properties used by StandardCompressionSubTypeAudio
- * component use kQTPropertyClass_SCAudio, except for the following:
- * kQTAudioPropertyID_FormatString - use kQTPropertyClass_Audio (see
- * Movies.h) kQTAudioPropertyID_ChannelLayoutString - use
- * kQTPropertyClass_Audio (see Movies.h)
- * kQTAudioPropertyID_SampleRateString - use kQTPropertyClass_Audio
- * (see Movies.h) kQTAudioPropertyID_SampleSizeString - use
- * kQTPropertyClass_Audio (see Movies.h)
- * kQTAudioPropertyID_BitRateString - use kQTPropertyClass_Audio (see
- * Movies.h) kQTAudioPropertyID_SummaryString - use
- * kQTPropertyClass_Audio (see Movies.h)
- */
- kQTPropertyClass_SCAudio = FOUR_CHAR_CODE('scda')
- };
-
-
-
-
- /*
- * Summary:
- * ComponentPropertyID selectors for kQTPropertyClass_SCAudio
- */
- enum
- {
-
- /*
- * kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList:
- * Specifies a client-restricted set of output compression formats
- * that should be listed as available. Use QTGetComponentPropertyInfo
- * to discover the number of bytes you should allocate to hold the
- * array.
- */
- kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList = FOUR_CHAR_CODE('crf#'), /* C-style array of OSType's, Read/Write/Listen*/
-
- /*
- * kQTSCAudioPropertyID_AvailableCompressionFormatList: Specifies the
- * list of available output compression formats. By default, this
- * list includes all the kAudioEncoderComponentType components and
- * kSoundCompressor type components on the system. The list may be
- * restricted by clients using the
- * kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList
- * property. Use QTGetComponentPropertyInfo to discover the number of
- * bytes you should allocate to hold the array.
- */
- kQTSCAudioPropertyID_AvailableCompressionFormatList = FOUR_CHAR_CODE('acf#'), /* C-style array of OSType's, Read/Listen */
-
- /*
- * kQTSCAudioPropertyID_AvailableCompressionFormatNamesList:
- * Specifies the human readable names for corresponding to each item
- * in kQTSCAudioPropertyID_AvailableCompressionFormatList. Caller
- * assumes responsibility for CFRelease()'ing the resulting
- * CFArrayRef.
- */
- kQTSCAudioPropertyID_AvailableCompressionFormatNamesList = FOUR_CHAR_CODE('cnm#'), /* CFArrayRef of CFStringRef's, Read/Write */
-
- /*
- * kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog: Some compression
- * formats have format-specific properties that are only accessible
- * via a compressor-provided dialog.
- * kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog lets you know if
- * the current compression format has such a dialog.
- */
- kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog = FOUR_CHAR_CODE('opn?'), /* Boolean, Read/Listen */
-
- /*
- * kQTSCAudioPropertyID_ConstantBitRateFormatsOnly: By default,
- * constant as well as variable bit rate compression formats are
- * shown in the available format list. a client may restrict the
- * available formats to constant bit rate formats only by setting
- * this property to true.
- */
- kQTSCAudioPropertyID_ConstantBitRateFormatsOnly = FOUR_CHAR_CODE('!vbr'), /* Boolean, Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_ClientRestrictedSampleRateList: Specifies a
- * client-restricted set of output sample rate ranges that should be
- * listed as available. Use QTGetComponentPropertyInfo to discover
- * the number of bytes you should allocate to hold the array.
- */
- kQTSCAudioPropertyID_ClientRestrictedSampleRateList = FOUR_CHAR_CODE('crr#'), /* C-style array of AudioValueRange's, Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_AvailableSampleRateList: Specifies a list of
- * available output sample rates. This list is compression format
- * specific, and takes into account any restrictions imposed by a
- * client using the
- * kQTSCAudioPropertyID_ClientRestrictedSampleRateList property. Use
- * QTGetComponentPropertyInfo to discover the number of bytes you
- * should allocate to hold the array.
- */
- kQTSCAudioPropertyID_AvailableSampleRateList = FOUR_CHAR_CODE('avr#'), /* C-style array of AudioValueRange's, Read/Listen*/
-
- /*
- * kQTSCAudioPropertyID_ApplicableSampleRateList: Specifies which of
- * the value ranges in the
- * kQTSCAudioPropertyID_AvailableSampleRateList are currently
- * applicable. The kQTSCAudioPropertyID_AvailableSampleRateList takes
- * into account client restrictions, and a compression format's
- * general sample rate restrictions.
- * kQTSCAudioPropertyID_ApplicableSampleRateList further filters the
- * list to just those sample rates that are legal and valid given the
- * current codec configuration. Use QTGetComponentPropertyInfo to
- * discover the number of bytes you should allocate to hold the array.
- */
- kQTSCAudioPropertyID_ApplicableSampleRateList = FOUR_CHAR_CODE('apr#'), /* C-style array of AudioValueRanges, Read/Listen*/
-
- /*
- * kQTSCAudioPropertyID_SampleRateRecommended: Clients not wishing to
- * set an output sample rate manually may set the output rate to the
- * recommended rate. Some compressors can perform rate conversion,
- * and can pick optimal settings for a desired bitrate (AAC is an
- * example). For other formats, the "Recommended" rate is simply the
- * closest output rate to the input rate that's allowed by the output
- * format. kQTSCAudioPropertyID_SampleRateIsRecommended is
- * read-only. To set the sample rate to recommended, a client sets
- * the kQTSCAudioPropertyID_BasicDescription with mSampleRate = 0.0.
- * To unset the sample rate as recommended, the client sets the
- * kQTSCAudioPropertyID_BasicDescription with a non-zero mSampleRate
- * field.
- */
- kQTSCAudioPropertyID_SampleRateIsRecommended = FOUR_CHAR_CODE('reco'), /* Boolean, Read/Listen*/
-
- /*
- * kQTSCAudioPropertyID_InputMagicCookie: Some decompressors make use
- * of untyped codec-specific data (a magic cookie) in order to decode
- * their input. Magic cookies are variable size, so you must call
- * QTGetComponentPropertyInfo in order to discover the size of the
- * buffer you should allocate to hold the cookie.
- */
- kQTSCAudioPropertyID_InputMagicCookie = FOUR_CHAR_CODE('ikki'), /* void * (opaque data), Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_MagicCookie: Some compressors make use of
- * untyped codec-specific data (a magic cookie) in order to configure
- * their output. Magic cookies are variable size, so you must call
- * QTGetComponentPropertyInfo in order to discover the size of the
- * buffer you should allocate to hold the cookie.
- */
- kQTSCAudioPropertyID_MagicCookie = FOUR_CHAR_CODE('kuki'), /* void * (opaque data), Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList:
- * Specifies a client-restricted set of output bits per channel that
- * should be listed as available. Use QTGetComponentPropertyInfo to
- * discover the number of bytes you should allocate to hold the array.
- */
- kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList = FOUR_CHAR_CODE('crb#'), /* C-style array of UInt32's, Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList: Specifies a
- * list of available bits-per-channel. This list is specific to
- * LPCM, and takes into account any restrictions imposed by a client
- * using the
- * kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList
- * property. Use QTGetComponentPropertyInfo to discover the number of
- * bytes you should allocate to hold the array.
- */
- kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList = FOUR_CHAR_CODE('avb#'), /* C-style array of UInt32's, Read/Listen */
-
- /*
- * kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList: Specifies
- * which of the values in the
- * kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList are currently
- * applicable. The
- * kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList takes into
- * account client restrictions, and LPCM's general bits per channel
- * restrictions.
- * kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList further
- * filters the list to just those bits per channel that are legal and
- * valid given the current LPCM configuration. Use
- * QTGetComponentPropertyInfo to discover the number of bytes you
- * should allocate to hold the array.
- */
- kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList = FOUR_CHAR_CODE('apb#'), /* C-style array of UInt32's, Read/Listen*/
-
- /*
- * kQTSCAudioPropertyID_InputChannelLayout: Specifies the audio
- * channel layout of the input description. AudioChannelLayout is a
- * variable size struct, so use QTGetComponentPropertyInfo to
- * discover the number of bytes you should allocate.
- */
- kQTSCAudioPropertyID_InputChannelLayout = FOUR_CHAR_CODE('icly'), /* AudioChannelLayout (variable-size), Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_InputChannelLayoutName: Specifies the human
- * readable name for kQTSCAudioPropertyID_InputChannelLayout (if one
- * exists). Caller assumes responsibility for CFRelease()'ing the
- * resulting string.
- */
- kQTSCAudioPropertyID_InputChannelLayoutName = FOUR_CHAR_CODE('icln'), /* CFStringRef, Read */
-
- /*
- * kQTSCAudioPropertyID_ChannelLayout: Specifies the audio channel
- * layout of the output description. AudioChannelLayout is a
- * variable size struct, so use QTGetComponentPropertyInfo to
- * discover the number of bytes you should allocate.
- */
- kQTSCAudioPropertyID_ChannelLayout = FOUR_CHAR_CODE('clay'), /* AudioChannelLayout (variable-size), Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_ChannelLayoutName: Specifies the human
- * readable name for kQTSCAudioPropertyID_ChannelLayout (if one
- * exists). Caller assumes responsibility for CFRelease()'ing the
- * resulting string.
- */
- kQTSCAudioPropertyID_ChannelLayoutName = FOUR_CHAR_CODE('clyn'), /* CFStringRef, Read */
-
- /*
- * kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList:
- * Specifies a client-restricted set of channel layout tags that
- * should be listed as available. Use QTGetComponentPropertyInfo to
- * discover the number of bytes you should allocate to hold the array.
- */
- kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList = FOUR_CHAR_CODE('crl#'), /* C-style array of AudioChannelLayoutTag's, Read/Write*/
-
- /*
- * kQTSCAudioPropertyID_AvailableChannelLayoutTagList: Specifies a
- * list of available audio channel layout tags. This list is
- * compression format specific, and takes into account any
- * restrictions imposed by a client using the
- * kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList
- * property. Use QTGetComponentPropertyInfo to discover the number of
- * bytes you should allocate to hold the array.
- */
- kQTSCAudioPropertyID_AvailableChannelLayoutTagList = FOUR_CHAR_CODE('avl#'), /* C-style array of AudioChannelLayoutTag's, Read/Listen */
-
- /*
- * kQTSCAudioPropertyID_AvailableChannelLayoutTagNamesList: Specifies
- * the human readable names for the AudioChannelLayoutTags in
- * kQTSCAudioPropertyID_AvailableChannelLayoutTagList. Each element
- * in the array is a CFStringRef. Caller assumes responsibility for
- * CFRelease()'ing the array.
- */
- kQTSCAudioPropertyID_AvailableChannelLayoutTagNamesList = FOUR_CHAR_CODE('vln#'), /* CFArrayRef, Read*/
-
- /*
- * kQTSCAudioPropertyID_ApplicableChannelLayoutTagList: Specifies
- * which of the values in the
- * kQTSCAudioPropertyID_AvailableChannelLayoutTagList are currently
- * applicable. The kQTSCAudioPropertyID_AvailableChannelLayoutTagList
- * takes into account client restrictions, and the current output
- * format's general channel layout restrictions.
- * kQTSCAudioPropertyID_ApplicableChannelLayoutTagList further
- * filters the list to just those channel layouts that are legal and
- * valid given the current codec configuration. Use
- * QTGetComponentPropertyInfo to discover the number of bytes you
- * should allocate to hold the array.
- */
- kQTSCAudioPropertyID_ApplicableChannelLayoutTagList = FOUR_CHAR_CODE('apl#'), /* C-style array of AudioChannelLayoutTag's, Read/Listen*/
-
- /*
- * kQTSCAudioPropertyID_ApplicableChannelLayoutTagNamesList:
- * Specifies the human readable names for the AudioChannelLayoutTags
- * in kQTSCAudioPropertyID_ApplicableChannelLayoutTagList. Each
- * element in the array is a CFStringRef. Caller assumes
- * responsibility for CFRelease()'ing the array.
- */
- kQTSCAudioPropertyID_ApplicableChannelLayoutTagNamesList = FOUR_CHAR_CODE('pln#'), /* CFArrayRef, Read*/
-
- /*
- * kQTSCAudioPropertyID_ClientRestrictedLPCMFlags: Specifies a
- * client-restricted set of flags corresponding to the mFormatFlags
- * fields in an AudioStreamBasicDescription. Data type is a
- * SCAudioFormatFlagsRestrictions struct. For instance, if a client
- * wishes to specify to the StandardAudioCompression component that
- * his file format requires little endian pcm data, he may set this
- * property, with formatFlagsMask set to kAudioFormatFlagIsBigEndian,
- * and formatFlagsValues set to zero (indicating that the IsBigEndian
- * bit should be interpreted as LittleEndian only).
- */
- kQTSCAudioPropertyID_ClientRestrictedLPCMFlags = FOUR_CHAR_CODE('crlp'), /* SCAudioFormatFlagsRestrictions (see below), Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_InputSoundDescription: Specifies the current
- * input description as a SoundDescriptionHandle (lowest possible
- * version for the current format). When calling
- * QTGetComponentProperty, the caller passes a pointer to an
- * unallocated Handle, and assumes responsibility for calling
- * DisposeHandle() when done.
- */
- kQTSCAudioPropertyID_InputSoundDescription = FOUR_CHAR_CODE('isdh'), /* SoundDescriptionHandle, Read/Write */
-
- /*
- * kQTSCAudioPropertyID_SoundDescription: Specifies the current
- * output description as a SoundDescriptionHandle (lowest possible
- * version for the current format). When calling
- * QTGetComponentProperty, the caller passes a pointer to an
- * unallocated Handle, and assumes responsibility for calling
- * DisposeHandle() when done.
- */
- kQTSCAudioPropertyID_SoundDescription = FOUR_CHAR_CODE('osdh'), /* SoundDescriptionHandle, Read/Write */
-
- /*
- * kQTSCAudioPropertyID_InputBasicDescription: Specifies the current
- * input description as an AudioStreamBasicDescription.
- */
- kQTSCAudioPropertyID_InputBasicDescription = FOUR_CHAR_CODE('isbd'), /* AudioStreamBasicDescription, Read/Write/Listen/DataProc */
-
- /*
- * kQTSCAudioPropertyID_BasicDescription: Specifies the current
- * output description as an AudioStreamBasicDescription.
- */
- kQTSCAudioPropertyID_BasicDescription = FOUR_CHAR_CODE('osbd'), /* AudioStreamBasicDescription, Read/Write/Listen/DataProc */
-
- /*
- * kQTSCAudioPropertyID_CodecSpecificSettingsArray: Some compressors
- * publish a CFArray of CFDictionaries that describe various
- * parameters specific to the configuring of the codec. This array
- * of dictionaries can be parsed to generate UI. When any value in
- * the array changes, a client should call QTSetComponentProperty,
- * passing the entire array.
- */
- kQTSCAudioPropertyID_CodecSpecificSettingsArray = FOUR_CHAR_CODE('cdst'), /* CFArrayRef, Read/Write */
-
- /*
- * kQTSCAudioPropertyID_BitRate: Specifies the current bitrate of the
- * output audio format in bit per second. Note that this property may
- * not be available for formats that are inherently very variable in
- * bitrate and highly source-data dependent (such as Apple Lossless).
- * This property is available in QT 7.1 and later.
- */
- kQTSCAudioPropertyID_BitRate = kQTSoundDescriptionPropertyID_BitRate, /* UInt32, Read*/
- /* Old Sound Get/SetInfo types as property id's.*/
-
- /*
- * kQTSCAudioPropertyID_SettingsState: Used to save off the current
- * state of the StandardCompressionSubTypeAudio component, such that
- * the state may be restored at a later time with a single call. The
- * Handle returned from from QTGetComponentProperty(...
- * kQTSCAudioPropertyID_SettingsState ...) contains classic atoms
- * that have not been Endian flipped, so this Handle is not suitable
- * for writing to disk. If you wish to store settings from a
- * scdi/audi component instance to disk (as a compression preset,
- * etc.), use SCGetSettingsAsAtomContainer(), the result of which is
- * a QTAtomContainer filled with settings that have been Endian
- * flipped. To restore a settings QTAtomContainer from disk at a
- * later time, use SCSetSettingsFromAtomContainer(). Note that a
- * scdi/audi instance will accept (via
- * SCSetSettingsFromAtomContainer()) a QTAtomContainer produced by a
- * legacy scdi/soun component. And the QTAtomContainer produced by
- * an scdi/audi component (using SCGetSettingsAsAtomContainer()) will
- * contain settings that are backward compatible with a scdi/soun
- * component, so long as the current state of the scdi/audi component
- * instance reflects an output format capable of being described by a
- * SoundDescriptionV1. Also note that the
- * kQTSCAudioPropertyID_SettingsState Handle from a scdi/audi
- * component and the Handle produced from a scdi/soun component's
- * SCGetInfo(... scSettingsStateType ...) are not compatible with one
- * another.
- */
- kQTSCAudioPropertyID_SettingsState = scSettingsStateType, /* Handle, Read/Write */
-
- /*
- * kQTSCAudioPropertyID_MaximumOutputPacketSize: Specifies the
- * greatest size in bytes of a packet obtained using the
- * SCAudioFillBuffer call. This size is dependent on the output
- * format of the compression/decompression/transcode operation being
- * performed. This property is available in QT 7.1 and later.
- * Maximum output packet size is a read-only property.
- */
- kQTSCAudioPropertyID_MaximumOutputPacketSize = FOUR_CHAR_CODE('xops'), /* UInt32, Read*/
-
- /*
- * kQTSCAudioPropertyID_OutputFormatIsExternallyFramed: Specifies
- * whether the output format currently selected requires external
- * framing information. This information is necessary when using the
- * SCAudioFillBuffer API call to determine whether
- * AudioStreamPacketDescriptions must be passed. If the format is
- * externally framed, an array of AudioStreamPacketDescriptions must
- * be passed to SCAudioFillBuffer, otherwise not. This property is
- * available in QT 7.1 and later. This property is read-only.
- */
- kQTSCAudioPropertyID_OutputFormatIsExternallyFramed = FOUR_CHAR_CODE('fexf'), /* Boolean, Read*/
-
- /*
- * kQTSCAudioPropertyID_RenderQuality: Specifies the quality with
- * which QuickTime should render the audio stream during the
- * compression/decompression/transcode operation. Accepted constants
- * are defined in Movies.h: kQTAudioRenderQuality_Max,
- * kQTAudioRenderQuality_High, kQTAudioRenderQuality_Medium,
- * kQTAudioRenderQuality_Low, kQTAudioRenderQuality_Min. This
- * property is available in QT 7.1 and later.
- */
- kQTSCAudioPropertyID_RenderQuality = FOUR_CHAR_CODE('qlty'), /* UInt32, Read/Write/Listen*/
-
- /*
- * kQTSCAudioPropertyID_ExtendedProcs: Used to get/set an
- * SCExtendedProcs struct.
- */
- kQTSCAudioPropertyID_ExtendedProcs = scExtendedProcsType, /* SCExtendedProcs struct, Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_PreferenceFlags: Used to specify dialog
- * preferences, such as scUseMovableModal.
- */
- kQTSCAudioPropertyID_PreferenceFlags = scPreferenceFlagsType, /* SInt32, Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_WindowOptions: Used to set an
- * SCWindowSettings struct, which tells the dialog about its parent
- * window, so that it can draw itself as a sheet on top of the parent
- * window.
- */
- kQTSCAudioPropertyID_WindowOptions = scWindowOptionsType, /* SCWindowSettings struct, Read/Write/Listen */
-
- /*
- * kQTSCAudioPropertyID_PreviewSourceMovie: Used for audio preview
- * purposes. If a source movie has been specified prior to invoking
- * the StdAudio dialog using SCRequestImageSettings(), the StdAudio
- * dialog ui will contain an additional "preview/stop" button and a
- * "play source" check box to allow quick toggling between the source
- * audio and the encoded result. The StdAudio dialog ui previews
- * from the movie's current time (obtained from GetMovieTime()) and
- * loops a segment of up to 10 seconds, starting at that time. If
- * the current movie time is at the end of the movie, the preview
- * begins at the start of the movie instead.
- */
- kQTSCAudioPropertyID_PreviewSourceMovie = FOUR_CHAR_CODE('prmv'), /* Movie, Read/Write*/
-
- /*
- * kQTSCAudioPropertyID_PreviewSourceTrack: Used to specify a
- * particular track for audio preview. The track must be found in the
- * movie specified by kQTSCAudioPropertyID_PreviewSourceMovie.
- */
- kQTSCAudioPropertyID_PreviewSourceTrack = FOUR_CHAR_CODE('prtk') /* Track, Read/Write*/
- };
-
-
- /*
- These are for movie export getProperty procs only (not SCAudio), so that variable size
- properties can be handled in that API where there is no associated size parameter.
- The getProperty proc can be asked the size first, then the caller can allocate memory
- for the associated SCAudio property and call the getProperty proc again to get the
- property.
- */
- enum
- {
- movieExportChannelLayoutSize = FOUR_CHAR_CODE('clsz'), /* UInt32. Proc only*/
- movieExportMagicCookieSize = FOUR_CHAR_CODE('mcsz'), /* UInt32. Proc only*/
- movieExportUseHighResolutionAudioProperties = FOUR_CHAR_CODE('hrau') /* Boolean. Proc only*/
- };
-
-
- /*
- * SCAudioFormatFlagsRestrictions
- *
- * Summary:
- * Struct describing the restrictions a client wishes to impose on
- * the mFormatFlags fields of an AudioStreamBasicDescription. In
- * formatFlagsMask, the client specifies the fields to be
- * restricted, and in formatFlagsValues, the client specifies the
- * restricted value of each field set in the mask.
- */
- struct SCAudioFormatFlagsRestrictions
- {
-
- /*
- * NOTE: Currently QuickTime only supports restrictions on the
- * following bits: kAudioFormatFlagIsFloat,
- * kAudioFormatFlagIsBigEndian, kAudioFormatFlagIsSignedInteger. If
- * other bits are set in the formatFlagsMask, paramErr will be
- * returned.
- */
- UInt32 formatFlagsMask;
-
- /*
- * NOTE regarding the kAudioFormatFlagIsSignedInteger flag: Integer
- * samples over 8 bits must always be signed. Setting this bit
- * applies to 8 bit integer samples only.
- */
- UInt32 formatFlagsValues;
- };
- typedef struct SCAudioFormatFlagsRestrictions SCAudioFormatFlagsRestrictions;
- /*
- * SCAudioInvokeLegacyCodecOptionsDialog()
- *
- * Discussion:
- * If kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog is true,
- * SCAudioInvokeLegacyCodecOptionsDialog invokes the compressor's
- * options dialog. Note - this call blocks until the options dialog
- * "OK" or "Cancel" buttons are pressed.
- *
- * Parameters:
- *
- * ci:
- * The client's connection to a StdAudio Compression component
- *
- * Result:
- * ComponentResult
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- SCAudioInvokeLegacyCodecOptionsDialog(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0081, 0x7000, 0xA82A);
-
-
-
-
-
- /*
- *************************************************
- StandardCompressionSubTypeAudio Compression API's
- *************************************************
- */
-
- /*
- The StandardCompressionSubTypeAudio component provides an SCAudioFillBuffer
- call with the same parameters and behaviors of AudioConverterFillComplexBuffer.
- One important difference between the AudioConverter and SCAudio component is
- that the SCAudio compression API's can do mixing as well as n -> n channels
- conversion. A client wishes to compress/decompress/transcode audio using
- the SCAudioFillBuffer interface configures the StandardCompressionSubTypeAudio
- component with the desired input and output formats (or uses the SCRequestImageSettings
- API to present a dialog and let a user pick an output format), then calls
- SCAudioFillBuffer, providing an SCAudioInputDataProc callback which will be
- called for audio in the specified source format.
- */
-
-
- /*
- * SCAudioInputDataProc
- *
- * Discussion:
- * Clients using the SCAudioFillBuffer API call must provide an
- * input data proc in which they provide source packets of audio.
- * SCAudioInputDataProc is available in QT 7.1 and later.
- *
- * Parameters:
- *
- * ci:
- * The client's connection to a StdAudio Compression component
- *
- * ioNumberDataPackets:
- * On input, the number of audio packets requested. On output, the
- * number of audio packets you've actually provided.
- *
- * ioData:
- * An AudioBufferList in which you store the requested data.
- *
- * outDataPacketDescription:
- * An array of AudioStreamPacketDescriptions you provide to inform
- * downstream components how to decode your externally framed
- * audio packets.
- *
- * inRefCon:
- * The ref con you provided to SCAudioFillBuffer.
- *
- * Result:
- * ComponentResult An error code you return.
- */
- typedef CALLBACK_API_C(ComponentResult , SCAudioInputDataProc)(ComponentInstance ci, UInt32 *ioNumberDataPackets, AudioBufferList *ioData, AudioStreamPacketDescription **outDataPacketDescription, void *inRefCon);
-
-
- /*
- * SCAudioFillBuffer()
- *
- * Discussion:
- * Used to pull compressed frames from the StdAudio component in
- * kQTSCAudioPropertyID_BasicDescription format. The StdAudio
- * component can perform any combination of
- * decompression/mixing/compression, combining the facilities of
- * CoreAudio AudioConverters and Matrix Mixer AudioUnits. The
- * behavior of the SCAudioFillBuffer call (signalling end of data,
- * etc.) is identical to the AudioConverter's
- * AudioConverterFillComplexBuffer API.
- *
- * Parameters:
- *
- * ci:
- * The client's connection to a StdAudio Compression component
- *
- * inInputDataProc:
- * The proc address of the function that will be called to supply
- * data in the kQTSCAudioPropertyID_InputBasicDescription format
- * to SCAudio.
- *
- * inInputDataProcRefCon:
- * The client refcon that will be passed to the user-provided
- * SCAudioInputDataProc function.
- *
- * ioOutputDataPacketSize:
- * On input, the number of desired packets. On output, the actual
- * number of packets delivered (can be fewer than the input
- * desired packets).
- *
- * outOutputData:
- * An AudioBufferList providing sufficiently large buffers to hold
- * the requested number of packets.
- *
- * outPacketDescription:
- * An array of AudioStreamPacketDescriptions. If the requested
- * output format requires external framing info (i.e. a VBR format
- * such as AAC), allocate and pass an array of packet descriptions
- * as large as the number of packets you are requesting.
- *
- * Result:
- * ComponentResult
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(ComponentResult)
- SCAudioFillBuffer(
- ComponentInstance ci,
- SCAudioInputDataProc inInputDataProc,
- void * inInputDataProcRefCon,
- UInt32 * ioOutputDataPacketSize,
- AudioBufferList * outOutputData,
- AudioStreamPacketDescription * outPacketDescription) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0082, 0x7000, 0xA82A);
-
-
-
- /*
- * SCAudioReset()
- *
- * Discussion:
- * Used to reset an SCAudio conversion chain, flushing any latency
- * present in internal buffers
- *
- * Parameters:
- *
- * ci:
- * The client's connection to a StdAudio Compression component
- *
- * Result:
- * ComponentResult
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(ComponentResult)
- SCAudioReset(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0083, 0x7000, 0xA82A);
+/** These are Clock procedures **/
+/*
+ * ClockGetTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockGetTime(
+ ComponentInstance aClock,
+ TimeRecord * out) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+
+/*
+ * ClockNewCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( QTCallBack )
+ClockNewCallBack(
+ ComponentInstance aClock,
+ TimeBase tb,
+ short callBackType) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * ClockDisposeCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockDisposeCallBack(
+ ComponentInstance aClock,
+ QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * ClockCallMeWhen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockCallMeWhen(
+ ComponentInstance aClock,
+ QTCallBack cb,
+ long param1,
+ long param2,
+ long param3) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * ClockCancelCallBack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockCancelCallBack(
+ ComponentInstance aClock,
+ QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * ClockRateChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockRateChanged(
+ ComponentInstance aClock,
+ QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * ClockTimeChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockTimeChanged(
+ ComponentInstance aClock,
+ QTCallBack cb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * ClockSetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockSetTimeBase(
+ ComponentInstance aClock,
+ TimeBase tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * ClockStartStopChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockStartStopChanged(
+ ComponentInstance aClock,
+ QTCallBack cb,
+ Boolean startChanged,
+ Boolean stopChanged) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * ClockGetRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+ClockGetRate(
+ ComponentInstance aClock,
+ Fixed * rate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * ClockGetTimesForRateChange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+ClockGetTimesForRateChange(
+ ComponentInstance aClock,
+ Fixed fromRate,
+ Fixed toRate,
+ TimeRecord * currentTime,
+ TimeRecord * preferredTime,
+ TimeRecord * safeIncrementForPreferredTime) FIVEWORDINLINE(0x2F3C, 0x0014, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * ClockGetRateChangeConstraints()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+ClockGetRateChangeConstraints(
+ ComponentInstance aClock,
+ TimeRecord * minimumDelay,
+ TimeRecord * maximumDelay) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
+
+
+
+
+
+/*
+ ************************************************
+ Standard Compression component type and subtypes
+ ************************************************
+*/
+
+/*
+ */
+enum {
+ StandardCompressionType = FOUR_CHAR_CODE('scdi'),
+ StandardCompressionSubType = FOUR_CHAR_CODE('imag'),
+
+ /*
+ * StandardCompressionSubTypeSound is the legacy StandardCompression
+ * component that uses the SoundMgr. It is limited to mono/stereo,
+ * and to sample rates under 64kHz. It is still present in QuickTime
+ * to support older apps (use of the new
+ * StandardCompressionSubTypeAudio requires app developers to modify
+ * their code).
+ */
+ StandardCompressionSubTypeSound = FOUR_CHAR_CODE('soun'),
+
+ /*
+ * StandardCompressionSubTypeAudio is the StandardCompression
+ * component that adds the ability to configure multi-channel, high
+ * sample rate output formats. It uses CoreAudio internally instead
+ * of the SoundMgr, and has a full set of component properties to
+ * make configuration easier, especially when the developer wishes to
+ * bring up his/her own dialog rather than the default dialog. See
+ * StandardCompressionSubTypeAudio Properties below for a full list
+ * of Component Properties supported by the
+ * StandardCompressionSubTypeAudio component.
+ */
+ StandardCompressionSubTypeAudio = FOUR_CHAR_CODE('audi')
+};
+
+typedef CALLBACK_API( Boolean , SCModalFilterProcPtr )(DialogRef theDialog, EventRecord *theEvent, short *itemHit, long refcon);
+typedef CALLBACK_API( short , SCModalHookProcPtr )(DialogRef theDialog, short itemHit, void *params, long refcon);
+typedef STACK_UPP_TYPE(SCModalFilterProcPtr) SCModalFilterUPP;
+typedef STACK_UPP_TYPE(SCModalHookProcPtr) SCModalHookUPP;
+/* Preference flags.*/
+enum {
+ scListEveryCodec = 1L << 1,
+ scAllowZeroFrameRate = 1L << 2,
+ scAllowZeroKeyFrameRate = 1L << 3,
+ scShowBestDepth = 1L << 4,
+ scUseMovableModal = 1L << 5,
+ scDisableFrameRateItem = 1L << 6,
+ scShowDataRateAsKilobits = 1L << 7
+};
+
+
+/* Possible test flags for setting test image.*/
+enum {
+ scPreferCropping = 1 << 0,
+ scPreferScaling = 1 << 1,
+ scPreferScalingAndCropping = scPreferScaling | scPreferCropping,
+ scDontDetermineSettingsFromTestImage = 1 << 2
+};
+
+
+/* Dimensions of the image preview box.*/
+enum {
+ scTestImageWidth = 80,
+ scTestImageHeight = 80
+};
+
+/* Possible items returned by hookProc.*/
+enum {
+ scOKItem = 1,
+ scCancelItem = 2,
+ scCustomItem = 3
+};
+
+/* Result returned when user cancelled.*/
+enum {
+ scUserCancelled = 1
+};
+
+/* Component selectors*/
+enum {
+ scPositionRect = 2,
+ scPositionDialog = 3,
+ scSetTestImagePictHandle = 4,
+ scSetTestImagePictFile = 5,
+ scSetTestImagePixMap = 6,
+ scGetBestDeviceRect = 7,
+ scRequestImageSettings = 10,
+ scCompressImage = 11,
+ scCompressPicture = 12,
+ scCompressPictureFile = 13,
+ scRequestSequenceSettings = 14,
+ scCompressSequenceBegin = 15,
+ scCompressSequenceFrame = 16,
+ scCompressSequenceEnd = 17,
+ scDefaultPictHandleSettings = 18,
+ scDefaultPictFileSettings = 19,
+ scDefaultPixMapSettings = 20,
+ scGetInfo = 21,
+ scSetInfo = 22,
+ scNewGWorld = 23
+};
+
+/* Get/SetInfo structures.*/
+
+struct SCSpatialSettings {
+ CodecType codecType;
+ CodecComponent codec;
+ short depth;
+ CodecQ spatialQuality;
+};
+typedef struct SCSpatialSettings SCSpatialSettings;
+struct SCTemporalSettings {
+ CodecQ temporalQuality;
+ Fixed frameRate;
+ long keyFrameRate;
+};
+typedef struct SCTemporalSettings SCTemporalSettings;
+struct SCDataRateSettings {
+ long dataRate;
+ long frameDuration;
+ CodecQ minSpatialQuality;
+ CodecQ minTemporalQuality;
+};
+typedef struct SCDataRateSettings SCDataRateSettings;
+struct SCExtendedProcs {
+ SCModalFilterUPP filterProc;
+ SCModalHookUPP hookProc;
+ long refcon;
+ Str31 customName;
+};
+typedef struct SCExtendedProcs SCExtendedProcs;
+enum {
+ scWindowRefKindCarbon = FOUR_CHAR_CODE('carb') /* WindowRef*/
+};
+
+struct SCWindowSettings {
+ long size; /* must be sizeof(SCWindowSettings)*/
+ long windowRefKind; /* type of parent window*/
+ void * parentWindow; /* parent window, for sheets or NIL for none*/
+};
+typedef struct SCWindowSettings SCWindowSettings;
+/* Get/SetInfo selectors*/
+enum {
+ scSpatialSettingsType = FOUR_CHAR_CODE('sptl'), /* pointer to SCSpatialSettings struct*/
+ scTemporalSettingsType = FOUR_CHAR_CODE('tprl'), /* pointer to SCTemporalSettings struct*/
+ scDataRateSettingsType = FOUR_CHAR_CODE('drat'), /* pointer to SCDataRateSettings struct*/
+ scColorTableType = FOUR_CHAR_CODE('clut'), /* pointer to CTabHandle*/
+ scProgressProcType = FOUR_CHAR_CODE('prog'), /* pointer to ProgressRecord struct*/
+ scExtendedProcsType = FOUR_CHAR_CODE('xprc'), /* pointer to SCExtendedProcs struct*/
+ scPreferenceFlagsType = FOUR_CHAR_CODE('pref'), /* pointer to long*/
+ scSettingsStateType = FOUR_CHAR_CODE('ssta'), /* pointer to Handle*/
+ scSequenceIDType = FOUR_CHAR_CODE('sequ'), /* pointer to ImageSequence*/
+ scWindowPositionType = FOUR_CHAR_CODE('wndw'), /* pointer to Point*/
+ scCodecFlagsType = FOUR_CHAR_CODE('cflg'), /* pointer to CodecFlags*/
+ scCodecSettingsType = FOUR_CHAR_CODE('cdec'), /* pointer to Handle*/
+ scForceKeyValueType = FOUR_CHAR_CODE('ksim'), /* pointer to long*/
+ scCompressionListType = FOUR_CHAR_CODE('ctyl'), /* pointer to OSType Handle*/
+ scCodecManufacturerType = FOUR_CHAR_CODE('cmfr'), /* pointer to OSType*/
+ scAvailableCompressionListType = FOUR_CHAR_CODE('avai'), /* pointer to OSType Handle*/
+ scWindowOptionsType = FOUR_CHAR_CODE('shee'), /* pointer to SCWindowSettings struct*/
+ scSoundVBRCompressionOK = FOUR_CHAR_CODE('cvbr'), /* pointer to Boolean*/
+ scSoundSampleRateChangeOK = FOUR_CHAR_CODE('rcok'), /* pointer to Boolean*/
+ scSoundCompressionType = FOUR_CHAR_CODE('ssct'), /* pointer to OSType*/
+ scSoundSampleRateType = FOUR_CHAR_CODE('ssrt'), /* pointer to UnsignedFixed*/
+ scSoundInputSampleRateType = FOUR_CHAR_CODE('ssir'), /* pointer to UnsignedFixed*/
+ scSoundSampleSizeType = FOUR_CHAR_CODE('ssss'), /* pointer to short*/
+ scSoundChannelCountType = FOUR_CHAR_CODE('sscc') /* pointer to short*/
+};
+
+/* scTypeNotFoundErr returned by Get/SetInfo when type cannot be found.*/
+
+
+
+struct SCParams {
+ long flags;
+ CodecType theCodecType;
+ CodecComponent theCodec;
+ CodecQ spatialQuality;
+ CodecQ temporalQuality;
+ short depth;
+ Fixed frameRate;
+ long keyFrameRate;
+ long reserved1;
+ long reserved2;
+};
+typedef struct SCParams SCParams;
+enum {
+ scGetCompression = 1,
+ scShowMotionSettings = 1L << 0,
+ scSettingsChangedItem = -1
+};
+
+enum {
+ scCompressFlagIgnoreIdenticalFrames = 1
+};
+
+/* QTAtomTypes for atoms found in settings atom containers*/
+enum {
+ kQTSettingsVideo = FOUR_CHAR_CODE('vide'), /* Container for video/image compression related atoms (Get/SetInfo selectors)*/
+ kQTSettingsSound = FOUR_CHAR_CODE('soun'), /* Container for sound compression related atoms (Get/SetInfo selectors)*/
+ kQTSettingsComponentVersion = FOUR_CHAR_CODE('vers') /* . Version of component that wrote settings (QTSettingsVersionAtomRecord)*/
+};
+
+/* Format of 'vers' atom found in settings atom containers*/
+struct QTSettingsVersionAtomRecord {
+ long componentVersion; /* standard compression component version*/
+ short flags; /* low bit is 1 if little endian platform, 0 if big endian platform*/
+ short reserved; /* should be 0*/
+};
+typedef struct QTSettingsVersionAtomRecord QTSettingsVersionAtomRecord;
+/* Video Specific Definitions for B frame / multi pass support*/
+
+
+/*
+ * SCVideoMultiPassEncodingSettings
+ *
+ * Summary:
+ * Struct for passing multi pass encoding settings through
+ * scVideoMultiPassEncodingSettingsType
+ */
+struct SCVideoMultiPassEncodingSettings {
+
+ /*
+ * True if multi pass encoding can be performed.
+ */
+ Boolean allowMultiPassEncoding;
+ unsigned char maxEncodingPassCount;
+};
+typedef struct SCVideoMultiPassEncodingSettings SCVideoMultiPassEncodingSettings;
+
+/*
+ * Summary:
+ * SCGetInfo/SetInfo Selectors
+ */
+enum {
+
+ /*
+ * Specifies if frame reordering can occur in encoding.
+ */
+ scVideoAllowFrameReorderingType = FOUR_CHAR_CODE('bfra'), /* pointer to Boolean*/
+
+ /*
+ * The settings to control multi pass encoding.
+ */
+ scVideoMultiPassEncodingSettingsType = FOUR_CHAR_CODE('mpes') /* pointer to SCVideoMultiPassEncodingSettings struct*/
+};
+
+
+/*
+ * Summary:
+ * Preference Flags for scPreferenceFlagsType
+ *
+ * Discussion:
+ * Preference flags that specify how StdCompression should handle
+ * frame reordering and multi pass encoding settings.
+ */
+enum {
+
+ /*
+ * Indicates the client is ready to use the ICM compression session
+ * API to perform compression operations. StdCompression disables
+ * frame reordering and multi pass encoding if this flag is cleared.
+ */
+ scAllowEncodingWithCompressionSession = 1L << 8,
+
+ /*
+ * Indicates the client does not want the user to change the frame
+ * reordering setting.
+ */
+ scDisableFrameReorderingItem = 1L << 9,
+
+ /*
+ * Indicates the client does not want the user to change the multi
+ * pass encoding setting
+ */
+ scDisableMultiPassEncodingItem = 1L << 10
+};
+
+
+/*
+ ******************************************
+ StandardCompressionSubTypeAudio Properties
+ ******************************************
+*/
+
+
+/*
+ In StandardCompressionSubTypeAudio, instead of using Get/SetInfo, the developer will
+ get and set component properties. (QTGetComponentPropertyInfo(), QTGetComponentProperty(),
+ QTSetComponentProperty(), QTAddComponentPropertyListener(), QTRemoveComponentPropertyListener())
+ These properties have a class and ID, instead of just a single selector.
+ Note that implementers of MovieExport "from procedures" getProperty procs (that choose
+ to opt-in to the new support; see kQTMovieExporterPropertyID_EnableHighResolutionAudioFeatures
+ in this header) will need to support these property IDs as new selectors. In other
+ words, the MovieExporter getProperty proc API is not changing to add a class. The
+ class is implied in that case. Such procs, of course, do not implement any of the
+ list properties, or the non-settable properties, as well as some others. The
+ properties getProperty procs can implement are marked below with the word "DataProc".
+*/
+
+
+
+/*
+ * Summary:
+ * ComponentPropertyClasses for StandardCompressionSubTypeAudio
+ */
+enum {
+
+ /*
+ * All Component Properties used by StandardCompressionSubTypeAudio
+ * component use kQTPropertyClass_SCAudio, except for the following:
+ * kQTAudioPropertyID_FormatString - use kQTPropertyClass_Audio (see
+ * Movies.h) kQTAudioPropertyID_ChannelLayoutString - use
+ * kQTPropertyClass_Audio (see Movies.h)
+ * kQTAudioPropertyID_SampleRateString - use kQTPropertyClass_Audio
+ * (see Movies.h) kQTAudioPropertyID_SampleSizeString - use
+ * kQTPropertyClass_Audio (see Movies.h)
+ * kQTAudioPropertyID_BitRateString - use kQTPropertyClass_Audio (see
+ * Movies.h) kQTAudioPropertyID_SummaryString - use
+ * kQTPropertyClass_Audio (see Movies.h)
+ */
+ kQTPropertyClass_SCAudio = FOUR_CHAR_CODE('scda')
+};
+
+
+
+
+/*
+ * Summary:
+ * ComponentPropertyID selectors for kQTPropertyClass_SCAudio
+ */
+enum {
+
+ /*
+ * kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList:
+ * Specifies a client-restricted set of output compression formats
+ * that should be listed as available. Use QTGetComponentPropertyInfo
+ * to discover the number of bytes you should allocate to hold the
+ * array.
+ */
+ kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList = FOUR_CHAR_CODE('crf#'), /* C-style array of OSType's, Read/Write/Listen*/
+
+ /*
+ * kQTSCAudioPropertyID_AvailableCompressionFormatList: Specifies the
+ * list of available output compression formats. By default, this
+ * list includes all the kAudioEncoderComponentType components and
+ * kSoundCompressor type components on the system. The list may be
+ * restricted by clients using the
+ * kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList
+ * property. Use QTGetComponentPropertyInfo to discover the number of
+ * bytes you should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_AvailableCompressionFormatList = FOUR_CHAR_CODE('acf#'), /* C-style array of OSType's, Read/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_AvailableCompressionFormatNamesList:
+ * Specifies the human readable names for corresponding to each item
+ * in kQTSCAudioPropertyID_AvailableCompressionFormatList. Caller
+ * assumes responsibility for CFRelease()'ing the resulting
+ * CFArrayRef.
+ */
+ kQTSCAudioPropertyID_AvailableCompressionFormatNamesList = FOUR_CHAR_CODE('cnm#'), /* CFArrayRef of CFStringRef's, Read/Write */
+
+ /*
+ * kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog: Some compression
+ * formats have format-specific properties that are only accessible
+ * via a compressor-provided dialog.
+ * kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog lets you know if
+ * the current compression format has such a dialog.
+ */
+ kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog = FOUR_CHAR_CODE('opn?'), /* Boolean, Read/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_ConstantBitRateFormatsOnly: By default,
+ * constant as well as variable bit rate compression formats are
+ * shown in the available format list. a client may restrict the
+ * available formats to constant bit rate formats only by setting
+ * this property to true.
+ */
+ kQTSCAudioPropertyID_ConstantBitRateFormatsOnly = FOUR_CHAR_CODE('!vbr'), /* Boolean, Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_ClientRestrictedSampleRateList: Specifies a
+ * client-restricted set of output sample rate ranges that should be
+ * listed as available. Use QTGetComponentPropertyInfo to discover
+ * the number of bytes you should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_ClientRestrictedSampleRateList = FOUR_CHAR_CODE('crr#'), /* C-style array of AudioValueRange's, Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_AvailableSampleRateList: Specifies a list of
+ * available output sample rates. This list is compression format
+ * specific, and takes into account any restrictions imposed by a
+ * client using the
+ * kQTSCAudioPropertyID_ClientRestrictedSampleRateList property. Use
+ * QTGetComponentPropertyInfo to discover the number of bytes you
+ * should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_AvailableSampleRateList = FOUR_CHAR_CODE('avr#'), /* C-style array of AudioValueRange's, Read/Listen*/
+
+ /*
+ * kQTSCAudioPropertyID_ApplicableSampleRateList: Specifies which of
+ * the value ranges in the
+ * kQTSCAudioPropertyID_AvailableSampleRateList are currently
+ * applicable. The kQTSCAudioPropertyID_AvailableSampleRateList takes
+ * into account client restrictions, and a compression format's
+ * general sample rate restrictions.
+ * kQTSCAudioPropertyID_ApplicableSampleRateList further filters the
+ * list to just those sample rates that are legal and valid given the
+ * current codec configuration. Use QTGetComponentPropertyInfo to
+ * discover the number of bytes you should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_ApplicableSampleRateList = FOUR_CHAR_CODE('apr#'), /* C-style array of AudioValueRanges, Read/Listen*/
+
+ /*
+ * kQTSCAudioPropertyID_SampleRateRecommended: Clients not wishing to
+ * set an output sample rate manually may set the output rate to the
+ * recommended rate. Some compressors can perform rate conversion,
+ * and can pick optimal settings for a desired bitrate (AAC is an
+ * example). For other formats, the "Recommended" rate is simply the
+ * closest output rate to the input rate that's allowed by the output
+ * format. kQTSCAudioPropertyID_SampleRateIsRecommended is
+ * read-only. To set the sample rate to recommended, a client sets
+ * the kQTSCAudioPropertyID_BasicDescription with mSampleRate = 0.0.
+ * To unset the sample rate as recommended, the client sets the
+ * kQTSCAudioPropertyID_BasicDescription with a non-zero mSampleRate
+ * field.
+ */
+ kQTSCAudioPropertyID_SampleRateIsRecommended = FOUR_CHAR_CODE('reco'), /* Boolean, Read/Listen*/
+
+ /*
+ * kQTSCAudioPropertyID_InputMagicCookie: Some decompressors make use
+ * of untyped codec-specific data (a magic cookie) in order to decode
+ * their input. Magic cookies are variable size, so you must call
+ * QTGetComponentPropertyInfo in order to discover the size of the
+ * buffer you should allocate to hold the cookie.
+ */
+ kQTSCAudioPropertyID_InputMagicCookie = FOUR_CHAR_CODE('ikki'), /* void * (opaque data), Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_MagicCookie: Some compressors make use of
+ * untyped codec-specific data (a magic cookie) in order to configure
+ * their output. Magic cookies are variable size, so you must call
+ * QTGetComponentPropertyInfo in order to discover the size of the
+ * buffer you should allocate to hold the cookie.
+ */
+ kQTSCAudioPropertyID_MagicCookie = FOUR_CHAR_CODE('kuki'), /* void * (opaque data), Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList:
+ * Specifies a client-restricted set of output bits per channel that
+ * should be listed as available. Use QTGetComponentPropertyInfo to
+ * discover the number of bytes you should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList = FOUR_CHAR_CODE('crb#'), /* C-style array of UInt32's, Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList: Specifies a
+ * list of available bits-per-channel. This list is specific to
+ * LPCM, and takes into account any restrictions imposed by a client
+ * using the
+ * kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList
+ * property. Use QTGetComponentPropertyInfo to discover the number of
+ * bytes you should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList = FOUR_CHAR_CODE('avb#'), /* C-style array of UInt32's, Read/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList: Specifies
+ * which of the values in the
+ * kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList are currently
+ * applicable. The
+ * kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList takes into
+ * account client restrictions, and LPCM's general bits per channel
+ * restrictions.
+ * kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList further
+ * filters the list to just those bits per channel that are legal and
+ * valid given the current LPCM configuration. Use
+ * QTGetComponentPropertyInfo to discover the number of bytes you
+ * should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList = FOUR_CHAR_CODE('apb#'), /* C-style array of UInt32's, Read/Listen*/
+
+ /*
+ * kQTSCAudioPropertyID_InputChannelLayout: Specifies the audio
+ * channel layout of the input description. AudioChannelLayout is a
+ * variable size struct, so use QTGetComponentPropertyInfo to
+ * discover the number of bytes you should allocate.
+ */
+ kQTSCAudioPropertyID_InputChannelLayout = FOUR_CHAR_CODE('icly'), /* AudioChannelLayout (variable-size), Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_InputChannelLayoutName: Specifies the human
+ * readable name for kQTSCAudioPropertyID_InputChannelLayout (if one
+ * exists). Caller assumes responsibility for CFRelease()'ing the
+ * resulting string.
+ */
+ kQTSCAudioPropertyID_InputChannelLayoutName = FOUR_CHAR_CODE('icln'), /* CFStringRef, Read */
+
+ /*
+ * kQTSCAudioPropertyID_ChannelLayout: Specifies the audio channel
+ * layout of the output description. AudioChannelLayout is a
+ * variable size struct, so use QTGetComponentPropertyInfo to
+ * discover the number of bytes you should allocate.
+ */
+ kQTSCAudioPropertyID_ChannelLayout = FOUR_CHAR_CODE('clay'), /* AudioChannelLayout (variable-size), Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_ChannelLayoutName: Specifies the human
+ * readable name for kQTSCAudioPropertyID_ChannelLayout (if one
+ * exists). Caller assumes responsibility for CFRelease()'ing the
+ * resulting string.
+ */
+ kQTSCAudioPropertyID_ChannelLayoutName = FOUR_CHAR_CODE('clyn'), /* CFStringRef, Read */
+
+ /*
+ * kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList:
+ * Specifies a client-restricted set of channel layout tags that
+ * should be listed as available. Use QTGetComponentPropertyInfo to
+ * discover the number of bytes you should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList = FOUR_CHAR_CODE('crl#'), /* C-style array of AudioChannelLayoutTag's, Read/Write*/
+
+ /*
+ * kQTSCAudioPropertyID_AvailableChannelLayoutTagList: Specifies a
+ * list of available audio channel layout tags. This list is
+ * compression format specific, and takes into account any
+ * restrictions imposed by a client using the
+ * kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList
+ * property. Use QTGetComponentPropertyInfo to discover the number of
+ * bytes you should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_AvailableChannelLayoutTagList = FOUR_CHAR_CODE('avl#'), /* C-style array of AudioChannelLayoutTag's, Read/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_AvailableChannelLayoutTagNamesList: Specifies
+ * the human readable names for the AudioChannelLayoutTags in
+ * kQTSCAudioPropertyID_AvailableChannelLayoutTagList. Each element
+ * in the array is a CFStringRef. Caller assumes responsibility for
+ * CFRelease()'ing the array.
+ */
+ kQTSCAudioPropertyID_AvailableChannelLayoutTagNamesList = FOUR_CHAR_CODE('vln#'), /* CFArrayRef, Read*/
+
+ /*
+ * kQTSCAudioPropertyID_ApplicableChannelLayoutTagList: Specifies
+ * which of the values in the
+ * kQTSCAudioPropertyID_AvailableChannelLayoutTagList are currently
+ * applicable. The kQTSCAudioPropertyID_AvailableChannelLayoutTagList
+ * takes into account client restrictions, and the current output
+ * format's general channel layout restrictions.
+ * kQTSCAudioPropertyID_ApplicableChannelLayoutTagList further
+ * filters the list to just those channel layouts that are legal and
+ * valid given the current codec configuration. Use
+ * QTGetComponentPropertyInfo to discover the number of bytes you
+ * should allocate to hold the array.
+ */
+ kQTSCAudioPropertyID_ApplicableChannelLayoutTagList = FOUR_CHAR_CODE('apl#'), /* C-style array of AudioChannelLayoutTag's, Read/Listen*/
+
+ /*
+ * kQTSCAudioPropertyID_ApplicableChannelLayoutTagNamesList:
+ * Specifies the human readable names for the AudioChannelLayoutTags
+ * in kQTSCAudioPropertyID_ApplicableChannelLayoutTagList. Each
+ * element in the array is a CFStringRef. Caller assumes
+ * responsibility for CFRelease()'ing the array.
+ */
+ kQTSCAudioPropertyID_ApplicableChannelLayoutTagNamesList = FOUR_CHAR_CODE('pln#'), /* CFArrayRef, Read*/
+
+ /*
+ * kQTSCAudioPropertyID_ClientRestrictedLPCMFlags: Specifies a
+ * client-restricted set of flags corresponding to the mFormatFlags
+ * fields in an AudioStreamBasicDescription. Data type is a
+ * SCAudioFormatFlagsRestrictions struct. For instance, if a client
+ * wishes to specify to the StandardAudioCompression component that
+ * his file format requires little endian pcm data, he may set this
+ * property, with formatFlagsMask set to kAudioFormatFlagIsBigEndian,
+ * and formatFlagsValues set to zero (indicating that the IsBigEndian
+ * bit should be interpreted as LittleEndian only).
+ */
+ kQTSCAudioPropertyID_ClientRestrictedLPCMFlags = FOUR_CHAR_CODE('crlp'), /* SCAudioFormatFlagsRestrictions (see below), Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_InputSoundDescription: Specifies the current
+ * input description as a SoundDescriptionHandle (lowest possible
+ * version for the current format). When calling
+ * QTGetComponentProperty, the caller passes a pointer to an
+ * unallocated Handle, and assumes responsibility for calling
+ * DisposeHandle() when done.
+ */
+ kQTSCAudioPropertyID_InputSoundDescription = FOUR_CHAR_CODE('isdh'), /* SoundDescriptionHandle, Read/Write */
+
+ /*
+ * kQTSCAudioPropertyID_SoundDescription: Specifies the current
+ * output description as a SoundDescriptionHandle (lowest possible
+ * version for the current format). When calling
+ * QTGetComponentProperty, the caller passes a pointer to an
+ * unallocated Handle, and assumes responsibility for calling
+ * DisposeHandle() when done.
+ */
+ kQTSCAudioPropertyID_SoundDescription = FOUR_CHAR_CODE('osdh'), /* SoundDescriptionHandle, Read/Write */
+
+ /*
+ * kQTSCAudioPropertyID_InputBasicDescription: Specifies the current
+ * input description as an AudioStreamBasicDescription.
+ */
+ kQTSCAudioPropertyID_InputBasicDescription = FOUR_CHAR_CODE('isbd'), /* AudioStreamBasicDescription, Read/Write/Listen/DataProc */
+
+ /*
+ * kQTSCAudioPropertyID_BasicDescription: Specifies the current
+ * output description as an AudioStreamBasicDescription.
+ */
+ kQTSCAudioPropertyID_BasicDescription = FOUR_CHAR_CODE('osbd'), /* AudioStreamBasicDescription, Read/Write/Listen/DataProc */
+
+ /*
+ * kQTSCAudioPropertyID_CodecSpecificSettingsArray: Some compressors
+ * publish a CFArray of CFDictionaries that describe various
+ * parameters specific to the configuring of the codec. This array
+ * of dictionaries can be parsed to generate UI. When any value in
+ * the array changes, a client should call QTSetComponentProperty,
+ * passing the entire array.
+ */
+ kQTSCAudioPropertyID_CodecSpecificSettingsArray = FOUR_CHAR_CODE('cdst'), /* CFArrayRef, Read/Write */
+
+ /*
+ * kQTSCAudioPropertyID_BitRate: Specifies the current bitrate of the
+ * output audio format in bit per second. Note that this property may
+ * not be available for formats that are inherently very variable in
+ * bitrate and highly source-data dependent (such as Apple Lossless).
+ * This property is available in QT 7.1 and later.
+ */
+ kQTSCAudioPropertyID_BitRate = kQTSoundDescriptionPropertyID_BitRate, /* UInt32, Read*/
+ /* Old Sound Get/SetInfo types as property id's.*/
+
+ /*
+ * kQTSCAudioPropertyID_SettingsState: Used to save off the current
+ * state of the StandardCompressionSubTypeAudio component, such that
+ * the state may be restored at a later time with a single call. The
+ * Handle returned from from QTGetComponentProperty(...
+ * kQTSCAudioPropertyID_SettingsState ...) contains classic atoms
+ * that have not been Endian flipped, so this Handle is not suitable
+ * for writing to disk. If you wish to store settings from a
+ * scdi/audi component instance to disk (as a compression preset,
+ * etc.), use SCGetSettingsAsAtomContainer(), the result of which is
+ * a QTAtomContainer filled with settings that have been Endian
+ * flipped. To restore a settings QTAtomContainer from disk at a
+ * later time, use SCSetSettingsFromAtomContainer(). Note that a
+ * scdi/audi instance will accept (via
+ * SCSetSettingsFromAtomContainer()) a QTAtomContainer produced by a
+ * legacy scdi/soun component. And the QTAtomContainer produced by
+ * an scdi/audi component (using SCGetSettingsAsAtomContainer()) will
+ * contain settings that are backward compatible with a scdi/soun
+ * component, so long as the current state of the scdi/audi component
+ * instance reflects an output format capable of being described by a
+ * SoundDescriptionV1. Also note that the
+ * kQTSCAudioPropertyID_SettingsState Handle from a scdi/audi
+ * component and the Handle produced from a scdi/soun component's
+ * SCGetInfo(... scSettingsStateType ...) are not compatible with one
+ * another.
+ */
+ kQTSCAudioPropertyID_SettingsState = scSettingsStateType, /* Handle, Read/Write */
+
+ /*
+ * kQTSCAudioPropertyID_MaximumOutputPacketSize: Specifies the
+ * greatest size in bytes of a packet obtained using the
+ * SCAudioFillBuffer call. This size is dependent on the output
+ * format of the compression/decompression/transcode operation being
+ * performed. This property is available in QT 7.1 and later.
+ * Maximum output packet size is a read-only property.
+ */
+ kQTSCAudioPropertyID_MaximumOutputPacketSize = FOUR_CHAR_CODE('xops'), /* UInt32, Read*/
+
+ /*
+ * kQTSCAudioPropertyID_OutputFormatIsExternallyFramed: Specifies
+ * whether the output format currently selected requires external
+ * framing information. This information is necessary when using the
+ * SCAudioFillBuffer API call to determine whether
+ * AudioStreamPacketDescriptions must be passed. If the format is
+ * externally framed, an array of AudioStreamPacketDescriptions must
+ * be passed to SCAudioFillBuffer, otherwise not. This property is
+ * available in QT 7.1 and later. This property is read-only.
+ */
+ kQTSCAudioPropertyID_OutputFormatIsExternallyFramed = FOUR_CHAR_CODE('fexf'), /* Boolean, Read*/
+
+ /*
+ * kQTSCAudioPropertyID_RenderQuality: Specifies the quality with
+ * which QuickTime should render the audio stream during the
+ * compression/decompression/transcode operation. Accepted constants
+ * are defined in Movies.h: kQTAudioRenderQuality_Max,
+ * kQTAudioRenderQuality_High, kQTAudioRenderQuality_Medium,
+ * kQTAudioRenderQuality_Low, kQTAudioRenderQuality_Min. This
+ * property is available in QT 7.1 and later.
+ */
+ kQTSCAudioPropertyID_RenderQuality = FOUR_CHAR_CODE('qlty'), /* UInt32, Read/Write/Listen*/
+
+ /*
+ * kQTSCAudioPropertyID_ExtendedProcs: Used to get/set an
+ * SCExtendedProcs struct.
+ */
+ kQTSCAudioPropertyID_ExtendedProcs = scExtendedProcsType, /* SCExtendedProcs struct, Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_PreferenceFlags: Used to specify dialog
+ * preferences, such as scUseMovableModal.
+ */
+ kQTSCAudioPropertyID_PreferenceFlags = scPreferenceFlagsType, /* SInt32, Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_WindowOptions: Used to set an
+ * SCWindowSettings struct, which tells the dialog about its parent
+ * window, so that it can draw itself as a sheet on top of the parent
+ * window.
+ */
+ kQTSCAudioPropertyID_WindowOptions = scWindowOptionsType, /* SCWindowSettings struct, Read/Write/Listen */
+
+ /*
+ * kQTSCAudioPropertyID_PreviewSourceMovie: Used for audio preview
+ * purposes. If a source movie has been specified prior to invoking
+ * the StdAudio dialog using SCRequestImageSettings(), the StdAudio
+ * dialog ui will contain an additional "preview/stop" button and a
+ * "play source" check box to allow quick toggling between the source
+ * audio and the encoded result. The StdAudio dialog ui previews
+ * from the movie's current time (obtained from GetMovieTime()) and
+ * loops a segment of up to 10 seconds, starting at that time. If
+ * the current movie time is at the end of the movie, the preview
+ * begins at the start of the movie instead.
+ */
+ kQTSCAudioPropertyID_PreviewSourceMovie = FOUR_CHAR_CODE('prmv'), /* Movie, Read/Write*/
+
+ /*
+ * kQTSCAudioPropertyID_PreviewSourceTrack: Used to specify a
+ * particular track for audio preview. The track must be found in the
+ * movie specified by kQTSCAudioPropertyID_PreviewSourceMovie.
+ */
+ kQTSCAudioPropertyID_PreviewSourceTrack = FOUR_CHAR_CODE('prtk') /* Track, Read/Write*/
+};
+
+
+/*
+ These are for movie export getProperty procs only (not SCAudio), so that variable size
+ properties can be handled in that API where there is no associated size parameter.
+ The getProperty proc can be asked the size first, then the caller can allocate memory
+ for the associated SCAudio property and call the getProperty proc again to get the
+ property.
+*/
+enum {
+ movieExportChannelLayoutSize = FOUR_CHAR_CODE('clsz'), /* UInt32. Proc only*/
+ movieExportMagicCookieSize = FOUR_CHAR_CODE('mcsz'), /* UInt32. Proc only*/
+ movieExportUseHighResolutionAudioProperties = FOUR_CHAR_CODE('hrau') /* Boolean. Proc only*/
+};
+
+
+/*
+ * SCAudioFormatFlagsRestrictions
+ *
+ * Summary:
+ * Struct describing the restrictions a client wishes to impose on
+ * the mFormatFlags fields of an AudioStreamBasicDescription. In
+ * formatFlagsMask, the client specifies the fields to be
+ * restricted, and in formatFlagsValues, the client specifies the
+ * restricted value of each field set in the mask.
+ */
+struct SCAudioFormatFlagsRestrictions {
+
+ /*
+ * NOTE: Currently QuickTime only supports restrictions on the
+ * following bits: kAudioFormatFlagIsFloat,
+ * kAudioFormatFlagIsBigEndian, kAudioFormatFlagIsSignedInteger. If
+ * other bits are set in the formatFlagsMask, paramErr will be
+ * returned.
+ */
+ UInt32 formatFlagsMask;
+
+ /*
+ * NOTE regarding the kAudioFormatFlagIsSignedInteger flag: Integer
+ * samples over 8 bits must always be signed. Setting this bit
+ * applies to 8 bit integer samples only.
+ */
+ UInt32 formatFlagsValues;
+};
+typedef struct SCAudioFormatFlagsRestrictions SCAudioFormatFlagsRestrictions;
+/*
+ * SCAudioInvokeLegacyCodecOptionsDialog()
+ *
+ * Discussion:
+ * If kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog is true,
+ * SCAudioInvokeLegacyCodecOptionsDialog invokes the compressor's
+ * options dialog. Note - this call blocks until the options dialog
+ * "OK" or "Cancel" buttons are pressed.
+ *
+ * Parameters:
+ *
+ * ci:
+ * The client's connection to a StdAudio Compression component
+ *
+ * Result:
+ * ComponentResult
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+SCAudioInvokeLegacyCodecOptionsDialog(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0081, 0x7000, 0xA82A);
+
+
+
+
+
+/*
+ *************************************************
+ StandardCompressionSubTypeAudio Compression API's
+ *************************************************
+*/
+
+/*
+ The StandardCompressionSubTypeAudio component provides an SCAudioFillBuffer
+ call with the same parameters and behaviors of AudioConverterFillComplexBuffer.
+ One important difference between the AudioConverter and SCAudio component is
+ that the SCAudio compression API's can do mixing as well as n -> n channels
+ conversion. A client wishes to compress/decompress/transcode audio using
+ the SCAudioFillBuffer interface configures the StandardCompressionSubTypeAudio
+ component with the desired input and output formats (or uses the SCRequestImageSettings
+ API to present a dialog and let a user pick an output format), then calls
+ SCAudioFillBuffer, providing an SCAudioInputDataProc callback which will be
+ called for audio in the specified source format.
+*/
+
+
+/*
+ * SCAudioInputDataProc
+ *
+ * Discussion:
+ * Clients using the SCAudioFillBuffer API call must provide an
+ * input data proc in which they provide source packets of audio.
+ * SCAudioInputDataProc is available in QT 7.1 and later.
+ *
+ * Parameters:
+ *
+ * ci:
+ * The client's connection to a StdAudio Compression component
+ *
+ * ioNumberDataPackets:
+ * On input, the number of audio packets requested. On output, the
+ * number of audio packets you've actually provided.
+ *
+ * ioData:
+ * An AudioBufferList in which you store the requested data.
+ *
+ * outDataPacketDescription:
+ * An array of AudioStreamPacketDescriptions you provide to inform
+ * downstream components how to decode your externally framed
+ * audio packets.
+ *
+ * inRefCon:
+ * The ref con you provided to SCAudioFillBuffer.
+ *
+ * Result:
+ * ComponentResult An error code you return.
+ */
+typedef CALLBACK_API_C( ComponentResult , SCAudioInputDataProc )(ComponentInstance ci, UInt32 *ioNumberDataPackets, AudioBufferList *ioData, AudioStreamPacketDescription **outDataPacketDescription, void *inRefCon);
+
+
+/*
+ * SCAudioFillBuffer()
+ *
+ * Discussion:
+ * Used to pull compressed frames from the StdAudio component in
+ * kQTSCAudioPropertyID_BasicDescription format. The StdAudio
+ * component can perform any combination of
+ * decompression/mixing/compression, combining the facilities of
+ * CoreAudio AudioConverters and Matrix Mixer AudioUnits. The
+ * behavior of the SCAudioFillBuffer call (signalling end of data,
+ * etc.) is identical to the AudioConverter's
+ * AudioConverterFillComplexBuffer API.
+ *
+ * Parameters:
+ *
+ * ci:
+ * The client's connection to a StdAudio Compression component
+ *
+ * inInputDataProc:
+ * The proc address of the function that will be called to supply
+ * data in the kQTSCAudioPropertyID_InputBasicDescription format
+ * to SCAudio.
+ *
+ * inInputDataProcRefCon:
+ * The client refcon that will be passed to the user-provided
+ * SCAudioInputDataProc function.
+ *
+ * ioOutputDataPacketSize:
+ * On input, the number of desired packets. On output, the actual
+ * number of packets delivered (can be fewer than the input
+ * desired packets).
+ *
+ * outOutputData:
+ * An AudioBufferList providing sufficiently large buffers to hold
+ * the requested number of packets.
+ *
+ * outPacketDescription:
+ * An array of AudioStreamPacketDescriptions. If the requested
+ * output format requires external framing info (i.e. a VBR format
+ * such as AAC), allocate and pass an array of packet descriptions
+ * as large as the number of packets you are requesting.
+ *
+ * Result:
+ * ComponentResult
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( ComponentResult )
+SCAudioFillBuffer(
+ ComponentInstance ci,
+ SCAudioInputDataProc inInputDataProc,
+ void * inInputDataProcRefCon,
+ UInt32 * ioOutputDataPacketSize,
+ AudioBufferList * outOutputData,
+ AudioStreamPacketDescription * outPacketDescription) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0082, 0x7000, 0xA82A);
+
+
+
+/*
+ * SCAudioReset()
+ *
+ * Discussion:
+ * Used to reset an SCAudio conversion chain, flushing any latency
+ * present in internal buffers
+ *
+ * Parameters:
+ *
+ * ci:
+ * The client's connection to a StdAudio Compression component
+ *
+ * Result:
+ * ComponentResult
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( ComponentResult )
+SCAudioReset(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0083, 0x7000, 0xA82A);
#define SCGetCompression(ci, params, where) SCGetCompressionExtended(ci,params,where,0,0,0,0)
- /** These are Progress procedures **/
- /*
- * SCGetCompressionExtended()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCGetCompressionExtended(
- ComponentInstance ci,
- SCParams * params,
- Point where,
- SCModalFilterUPP filterProc,
- SCModalHookUPP hookProc,
- long refcon,
- StringPtr customName) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * SCPositionRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCPositionRect(
- ComponentInstance ci,
- Rect * rp,
- Point * where) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * SCPositionDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCPositionDialog(
- ComponentInstance ci,
- short id,
- Point * where) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * SCSetTestImagePictHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCSetTestImagePictHandle(
- ComponentInstance ci,
- PicHandle testPict,
- Rect * testRect,
- short testFlags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * SCSetTestImagePictFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCSetTestImagePictFile(
- ComponentInstance ci,
- short testFileRef,
- Rect * testRect,
- short testFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * SCSetTestImagePixMap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCSetTestImagePixMap(
- ComponentInstance ci,
- PixMapHandle testPixMap,
- Rect * testRect,
- short testFlags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * SCGetBestDeviceRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCGetBestDeviceRect(
- ComponentInstance ci,
- Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
-
- /*
- * SCRequestImageSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCRequestImageSettings(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * SCCompressImage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCCompressImage(
- ComponentInstance ci,
- PixMapHandle src,
- const Rect * srcRect,
- ImageDescriptionHandle * desc,
- Handle * data) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * SCCompressPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCCompressPicture(
- ComponentInstance ci,
- PicHandle srcPicture,
- PicHandle dstPicture) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * SCCompressPictureFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCCompressPictureFile(
- ComponentInstance ci,
- short srcRefNum,
- short dstRefNum) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * SCRequestSequenceSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCRequestSequenceSettings(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * SCCompressSequenceBegin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCCompressSequenceBegin(
- ComponentInstance ci,
- PixMapHandle src,
- const Rect * srcRect,
- ImageDescriptionHandle * desc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * SCCompressSequenceFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCCompressSequenceFrame(
- ComponentInstance ci,
- PixMapHandle src,
- const Rect * srcRect,
- Handle * data,
- long * dataSize,
- short * notSyncFlag) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * SCCompressSequenceEnd()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCCompressSequenceEnd(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * SCDefaultPictHandleSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCDefaultPictHandleSettings(
- ComponentInstance ci,
- PicHandle srcPicture,
- short motion) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * SCDefaultPictFileSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCDefaultPictFileSettings(
- ComponentInstance ci,
- short srcRef,
- short motion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * SCDefaultPixMapSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCDefaultPixMapSettings(
- ComponentInstance ci,
- PixMapHandle src,
- short motion) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * SCGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCGetInfo(
- ComponentInstance ci,
- OSType infoType,
- void * info) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * SCSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCSetInfo(
- ComponentInstance ci,
- OSType infoType,
- void * info) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * SCNewGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCNewGWorld(
- ComponentInstance ci,
- GWorldPtr * gwp,
- Rect * rp,
- GWorldFlags flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * SCSetCompressFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCSetCompressFlags(
- ComponentInstance ci,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * SCGetCompressFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCGetCompressFlags(
- ComponentInstance ci,
- long * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * SCGetSettingsAsText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCGetSettingsAsText(
- ComponentInstance ci,
- Handle * text) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * SCGetSettingsAsAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCGetSettingsAsAtomContainer(
- ComponentInstance ci,
- QTAtomContainer * settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * SCSetSettingsFromAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SCSetSettingsFromAtomContainer(
- ComponentInstance ci,
- QTAtomContainer settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
-
-
- /* Note: if you're using SCCompressSequenceFrameAsync with a scForceKeyValue setting, you must call SCAsyncIdle occasionally at main task time. */
- /*
- * SCCompressSequenceFrameAsync()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- SCCompressSequenceFrameAsync(
- ComponentInstance ci,
- PixMapHandle src,
- const Rect * srcRect,
- Handle * data,
- long * dataSize,
- short * notSyncFlag,
- ICMCompletionProcRecordPtr asyncCompletionProc) FIVEWORDINLINE(0x2F3C, 0x0018, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * SCAsyncIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- SCAsyncIdle(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * SCCopyCompressionSessionOptions()
- *
- * Summary:
- * Retrieve relevant settings in a form of compression session
- * options that can be given to a compression session. The caller
- * must release it when it is done.
- *
- * Parameters:
- *
- * ci:
- * A component instance of type StdCompression subtype
- * StandardCompressionSubTypeVideo.
- *
- * outOptions:
- * A pointer to ICMCompressionSettionOptionsRef where a reference
- * to a new instance of ICM Compression Session Options object is
- * returned.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- SCCopyCompressionSessionOptions(
- ComponentInstance ci,
- ICMCompressionSessionOptionsRef * outOptions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
-
-
-
-
-
- enum
- {
- TweenComponentType = FOUR_CHAR_CODE('twen')
- };
-
-
- typedef ComponentInstance TweenerComponent;
- /*
- * TweenerInitialize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TweenerInitialize(
- TweenerComponent tc,
- QTAtomContainer container,
- QTAtom tweenAtom,
- QTAtom dataAtom) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * TweenerDoTween()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TweenerDoTween(
- TweenerComponent tc,
- TweenRecord * tr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * TweenerReset()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TweenerReset(TweenerComponent tc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
-
-
-
-
- enum
- {
- TCSourceRefNameType = FOUR_CHAR_CODE('name')
- };
-
- enum
- {
- tcDropFrame = 1 << 0,
- tc24HourMax = 1 << 1,
- tcNegTimesOK = 1 << 2,
- tcCounter = 1 << 3
- };
-
- struct TimeCodeDef
- {
- long flags; /* drop-frame, etc.*/
- TimeScale fTimeScale; /* time scale of frameDuration (eg. 2997)*/
- TimeValue frameDuration; /* duration of each frame (eg. 100)*/
- UInt8 numFrames; /* frames/sec for timecode (eg. 30) OR frames/tick for counter mode*/
- UInt8 padding; /* unused padding byte*/
- };
- typedef struct TimeCodeDef TimeCodeDef;
- enum
- {
- tctNegFlag = 0x80 /* negative bit is in minutes*/
- };
-
- struct TimeCodeTime
- {
- UInt8 hours;
- UInt8 minutes;
- UInt8 seconds;
- UInt8 frames;
- };
- typedef struct TimeCodeTime TimeCodeTime;
- struct TimeCodeCounter
- {
- long counter;
- };
- typedef struct TimeCodeCounter TimeCodeCounter;
- union TimeCodeRecord
- {
- TimeCodeTime t;
- TimeCodeCounter c;
- };
- typedef union TimeCodeRecord TimeCodeRecord;
- struct TimeCodeDescription
- {
- long descSize; /* standard sample description header*/
- long dataFormat;
- long resvd1;
- short resvd2;
- short dataRefIndex;
- long flags; /* timecode specific stuff*/
- TimeCodeDef timeCodeDef;
- long srcRef[1];
- };
- typedef struct TimeCodeDescription TimeCodeDescription;
- typedef TimeCodeDescription * TimeCodeDescriptionPtr;
- typedef TimeCodeDescriptionPtr * TimeCodeDescriptionHandle;
- enum
- {
- tcdfShowTimeCode = 1 << 0
- };
-
-
- struct TCTextOptions
- {
- short txFont;
- short txFace;
- short txSize;
- short pad; /* let's make it longword aligned - thanks.. */
- RGBColor foreColor;
- RGBColor backColor;
- };
- typedef struct TCTextOptions TCTextOptions;
- typedef TCTextOptions * TCTextOptionsPtr;
-
- typedef SInt64 TimeCode64Counter;
- /*
- * TCGetCurrentTimeCode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCGetCurrentTimeCode(
- MediaHandler mh,
- long * frameNum,
- TimeCodeDef * tcdef,
- TimeCodeRecord * tcrec,
- UserData * srcRefH) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * TCGetTimeCodeAtTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCGetTimeCodeAtTime(
- MediaHandler mh,
- TimeValue mediaTime,
- long * frameNum,
- TimeCodeDef * tcdef,
- TimeCodeRecord * tcdata,
- UserData * srcRefH) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * TCTimeCodeToString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCTimeCodeToString(
- MediaHandler mh,
- TimeCodeDef * tcdef,
- TimeCodeRecord * tcrec,
- StringPtr tcStr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * TCTimeCodeToFrameNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCTimeCodeToFrameNumber(
- MediaHandler mh,
- TimeCodeDef * tcdef,
- TimeCodeRecord * tcrec,
- long * frameNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * TCFrameNumberToTimeCode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCFrameNumberToTimeCode(
- MediaHandler mh,
- long frameNumber,
- TimeCodeDef * tcdef,
- TimeCodeRecord * tcrec) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * TCGetSourceRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCGetSourceRef(
- MediaHandler mh,
- TimeCodeDescriptionHandle tcdH,
- UserData * srefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * TCSetSourceRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCSetSourceRef(
- MediaHandler mh,
- TimeCodeDescriptionHandle tcdH,
- UserData srefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * TCSetTimeCodeFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCSetTimeCodeFlags(
- MediaHandler mh,
- long flags,
- long flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A);
-
-
- /*
- * TCGetTimeCodeFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCGetTimeCodeFlags(
- MediaHandler mh,
- long * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * TCSetDisplayOptions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCSetDisplayOptions(
- MediaHandler mh,
- TCTextOptionsPtr textOptions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
-
-
- /*
- * TCGetDisplayOptions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(HandlerError)
- TCGetDisplayOptions(
- MediaHandler mh,
- TCTextOptionsPtr textOptions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
-
-
- /* The following are the 64-bit TimeCode Media API's*/
- /*
- * TCGetCurrentFrameAndTimeCodeDef()
- *
- * Summary:
- * Retrieves the frame number and time code format information for
- * the current movie time.
- *
- * Parameters:
- *
- * mh:
- * The time code media handler.
- *
- * outFrameNum:
- * Pointer to a field that receives the current frame number.
- *
- * outTCDef:
- * Pointer to field that receives the time code format information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(HandlerError)
- TCGetCurrentFrameAndTimeCodeDef(
- MediaHandler mh,
- SInt64 * outFrameNum,
- TimeCodeDef * outTCDef) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010C, 0x7000, 0xA82A);
-
-
- /*
- * TCGetFrameAndTimeCodeDefAtTime()
- *
- * Summary:
- * Retrieves the frame number and time code format information for a
- * specific movie time.
- *
- * Parameters:
- *
- * mh:
- * The time code media handler.
- *
- * mediaTime:
- * A const pointer to the field containing the media time at which
- * time code information is required.
- *
- * outFrameNum:
- * Pointer to a field that receives the frame number at time
- * mediaTime.
- *
- * outTCDef:
- * Pointer to field that receives the time code format information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(HandlerError)
- TCGetFrameAndTimeCodeDefAtTime(
- MediaHandler mh,
- const TimeValue64 * mediaTime,
- SInt64 * outFrameNum,
- TimeCodeDef * outTCDef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010D, 0x7000, 0xA82A);
-
-
- /*
- * TCTimeCodeTimeToString()
- *
- * Summary:
- * Converts a time value into a text string in the (-) HH:MM:SS:FF
- * format.
- *
- * Parameters:
- *
- * mh:
- * The time code media handler.
- *
- * tCDef:
- * A const pointer to a TimeCodeDef that contains time code format
- * info for the conversion.
- *
- * tCTime:
- * A const pointer to a SMPTETime structure that contains the time
- * value to convert.
- *
- * outTCStr:
- * Pointer to a CFStringRef that is to receive the converted time
- * value. Client responsible for disposing string.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(HandlerError)
- TCTimeCodeTimeToString(
- MediaHandler mh,
- const TimeCodeDef * tCDef,
- const SMPTETime * tCTime,
- CFStringRef * outTCStr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010E, 0x7000, 0xA82A);
-
-
- /*
- * TCTimeCodeCounterToString()
- *
- * Summary:
- * Converts a counter value into a text string.
- *
- * Parameters:
- *
- * mh:
- * The time code media handler.
- *
- * tCDef:
- * A const pointer to a TimeCodeDef that contains time code format
- * info for the conversion.
- *
- * tCCounter:
- * A const pointer to a TimeCode64Counter that contains the
- * counter value to convert.
- *
- * outTCStr:
- * Pointer to a CFStringRef that is to receive the converted time
- * value. Client reponsible for disposing string.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(HandlerError)
- TCTimeCodeCounterToString(
- MediaHandler mh,
- const TimeCodeDef * tCDef,
- const TimeCode64Counter * tCCounter,
- CFStringRef * outTCStr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010F, 0x7000, 0xA82A);
-
-
- /*
- * TCTimeCodeTimeToFrameNumber()
- *
- * Summary:
- * Converts a time value into its corresponding frame number.
- *
- * Parameters:
- *
- * mh:
- * The time code media handler.
- *
- * tCDef:
- * A const pointer to a TimeCodeDef that contains time code format
- * info for the conversion.
- *
- * tCTime:
- * A const pointer to a SMPTETime structure that contains the time
- * value to convert.
- *
- * outFrameNum:
- * Pointer to a field that is to receive the frame number
- * corresponding to the time value in tCTime.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(HandlerError)
- TCTimeCodeTimeToFrameNumber(
- MediaHandler mh,
- const TimeCodeDef * tCDef,
- const SMPTETime * tCTime,
- SInt64 * outFrameNum) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0110, 0x7000, 0xA82A);
-
-
- /*
- * TCTimeCodeCounterToFrameNumber()
- *
- * Summary:
- * Converts a counter value into its corresponding frame number.
- *
- * Parameters:
- *
- * mh:
- * The time code media handler.
- *
- * tCDef:
- * A const pointer to a TimeCodeDef that contains format info for
- * the conversion.
- *
- * tCCounter:
- * A const pointer to a TimeCode64Counter that contains the
- * counter value to convert.
- *
- * outFrameNum:
- * Pointer to a field that is to receive the frame number
- * corresponding to the counter value in tCCounter.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(HandlerError)
- TCTimeCodeCounterToFrameNumber(
- MediaHandler mh,
- const TimeCodeDef * tCDef,
- const TimeCode64Counter * tCCounter,
- SInt64 * outFrameNum) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0111, 0x7000, 0xA82A);
-
-
- /*
- * TCFrameNumberToTimeCodeTime()
- *
- * Summary:
- * Converts a frame number to its corresponding timecode time value.
- *
- * Parameters:
- *
- * mh:
- * The time code media handler.
- *
- * frameNumber:
- * A const pointer to the field containing the frame number that
- * is to be converted.
- *
- * tCDef:
- * A const pointer to a TimeCodeDef that contains format info for
- * the conversion.
- *
- * outTCTime:
- * Pointer to a SMPTETime structure that is to receive the time
- * value.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(HandlerError)
- TCFrameNumberToTimeCodeTime(
- MediaHandler mh,
- const SInt64 * frameNumber,
- const TimeCodeDef * tCDef,
- SMPTETime * outTCTime) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0112, 0x7000, 0xA82A);
-
-
- /*
- * TCFrameNumberToTimeCodeCounter()
- *
- * Summary:
- * Converts a frame number to its corresponding counter value.
- *
- * Parameters:
- *
- * mh:
- * The time code media handler.
- *
- * frameNumber:
- * A const pointer to the field containing the frame number that
- * is to be converted.
- *
- * tCDef:
- * A const pointer to a TimeCodeDef that contains format info for
- * the conversion.
- *
- * outTCCounter:
- * Pointer to a TimeCode64Counter that is to receive the counter
- * value.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
- */
- EXTERN_API(HandlerError)
- TCFrameNumberToTimeCodeCounter(
- MediaHandler mh,
- const SInt64 * frameNumber,
- const TimeCodeDef * tCDef,
- TimeCode64Counter * outTCCounter) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0113, 0x7000, 0xA82A);
-
-
-
- typedef ComponentInstance MovieImportComponent;
- typedef ComponentInstance MovieExportComponent;
- enum
- {
- MovieImportType = FOUR_CHAR_CODE('eat '),
- MovieExportType = FOUR_CHAR_CODE('spit')
- };
-
- enum
- {
- canMovieImportHandles = 1 << 0,
- canMovieImportFiles = 1 << 1,
- hasMovieImportUserInterface = 1 << 2,
- canMovieExportHandles = 1 << 3,
- canMovieExportFiles = 1 << 4,
- hasMovieExportUserInterface = 1 << 5,
- movieImporterIsXMLBased = 1 << 5,
- dontAutoFileMovieImport = 1 << 6,
- canMovieExportAuxDataHandle = 1 << 7,
- canMovieImportValidateHandles = 1 << 8,
- canMovieImportValidateFile = 1 << 9,
- dontRegisterWithEasyOpen = 1 << 10,
- canMovieImportInPlace = 1 << 11,
- movieImportSubTypeIsFileExtension = 1 << 12,
- canMovieImportPartial = 1 << 13,
- hasMovieImportMIMEList = 1 << 14,
- canMovieImportAvoidBlocking = 1 << 15,
- canMovieExportFromProcedures = 1 << 15,
- canMovieExportValidateMovie = 1L << 16,
- movieImportMustGetDestinationMediaType = 1L << 16,
- movieExportNeedsResourceFork = 1L << 17,
- canMovieImportDataReferences = 1L << 18,
- movieExportMustGetSourceMediaType = 1L << 19,
- canMovieImportWithIdle = 1L << 20,
- canMovieImportValidateDataReferences = 1L << 21,
- reservedForUseByGraphicsImporters = 1L << 23
- };
-
- enum
- {
- movieImportCreateTrack = 1,
- movieImportInParallel = 2,
- movieImportMustUseTrack = 4,
- movieImportWithIdle = 16
- };
-
- enum
- {
- movieImportResultUsedMultipleTracks = 8,
- movieImportResultNeedIdles = 32,
- movieImportResultComplete = 64
- };
-
- enum
- {
- kMovieExportTextOnly = 0,
- kMovieExportAbsoluteTime = 1,
- kMovieExportRelativeTime = 2
- };
-
- /* Movie exporter property class*/
- enum
- {
- kQTPropertyClass_MovieExporter = FOUR_CHAR_CODE('spit')
- };
-
- /* kPropertyClass_MovieExporter IDs*/
- enum
- {
- kQTMovieExporterPropertyID_EnableHighResolutionAudioFeatures = FOUR_CHAR_CODE('hrau') /* value is Boolean*/
- };
-
- enum
- {
- kMIDIImportSilenceBefore = 1 << 0,
- kMIDIImportSilenceAfter = 1 << 1,
- kMIDIImport20Playable = 1 << 2,
- kMIDIImportWantLyrics = 1 << 3
- };
-
-
- enum
- {
- kQTMediaConfigResourceType = FOUR_CHAR_CODE('mcfg'),
- kQTMediaConfigResourceVersion = 2,
- kQTMediaGroupResourceType = FOUR_CHAR_CODE('mgrp'),
- kQTMediaGroupResourceVersion = 1,
- kQTBrowserInfoResourceType = FOUR_CHAR_CODE('brws'),
- kQTBrowserInfoResourceVersion = 1
- };
-
-
- enum
- {
- kQTMediaMIMEInfoHasChanged = (1L << 1), /* the MIME type(s) is(are) new or has changed since the last time*/
- /* someone asked about it*/
- kQTMediaFileInfoHasChanged = (1L << 2), /* the file extension(s) is(are) new or has changed since the last time*/
- /* anyone asked about it*/
- kQTMediaConfigCanUseApp = (1L << 18), /* this MIME type can be configured to use app*/
- kQTMediaConfigCanUsePlugin = (1L << 19), /* this MIME type can be configured to use plug-in*/
- kQTMediaConfigUNUSED = (1L << 20), /* currently unused*/
- kQTMediaConfigBinaryFile = (1L << 23), /* file should be transfered in binary mode*/
- kQTMediaConfigTextFile = 0, /* not a bit, defined for clarity*/
- kQTMediaConfigMacintoshFile = (1L << 24), /* file's resource fork is significant*/
- kQTMediaConfigCanDoFileAssociation = (1L << 26), /* can configure this file association */
- kQTMediaConfigAssociateByDefault = (1L << 27), /* Deprecated, use kQTMediaConfigTakeFileAssociationByDefault instead*/
- kQTMediaConfigTakeFileAssociationByDefault = (1L << 27), /* take this file association by default*/
- kQTMediaConfigUseAppByDefault = (1L << 28), /* use the app by default for this MIME type*/
- kQTMediaConfigUsePluginByDefault = (1L << 29), /* use the plug-in by default for this MIME type*/
- kQTMediaConfigDefaultsMask = (kQTMediaConfigUseAppByDefault | kQTMediaConfigUsePluginByDefault),
- kQTMediaConfigDefaultsShift = 12, /* ((flags & kQTMediaConfigDefaultsMask) >> kQTMediaConfigDefaultsShift) to get default setting */
- kQTMediaConfigHasFileHasQTAtoms = (1L << 30) /* the file has a "QuickTime like" file format */
- };
-
-
- /* mime type group constants for groupID field of 'mcfg' resource*/
- enum
- {
- kQTMediaConfigStreamGroupID = FOUR_CHAR_CODE('strm'),
- kQTMediaConfigInteractiveGroupID = FOUR_CHAR_CODE('intr'),
- kQTMediaConfigVideoGroupID = FOUR_CHAR_CODE('eyes'),
- kQTMediaConfigAudioGroupID = FOUR_CHAR_CODE('ears'),
- kQTMediaConfigMPEGGroupID = FOUR_CHAR_CODE('mpeg'),
- kQTMediaConfigMP3GroupID = FOUR_CHAR_CODE('mp3 '),
- kQTMediaConfigImageGroupID = FOUR_CHAR_CODE('ogle'),
- kQTMediaConfigMiscGroupID = FOUR_CHAR_CODE('misc')
- };
-
- /* file type group constants for groupID field of 'mcfg' resource*/
- enum
- {
- kQTMediaInfoNetGroup = FOUR_CHAR_CODE('net '),
- kQTMediaInfoWinGroup = FOUR_CHAR_CODE('win '),
- kQTMediaInfoMacGroup = FOUR_CHAR_CODE('mac '),
- kQTMediaInfoMiscGroup = 0x3F3F3F3F /* '????'*/
- };
-
-
-
- enum
- {
- kMimeInfoMimeTypeTag = FOUR_CHAR_CODE('mime'),
- kMimeInfoFileExtensionTag = FOUR_CHAR_CODE('ext '),
- kMimeInfoDescriptionTag = FOUR_CHAR_CODE('desc'),
- kMimeInfoGroupTag = FOUR_CHAR_CODE('grop'),
- kMimeInfoDoNotOverrideExistingFileTypeAssociation = FOUR_CHAR_CODE('nofa')
- };
-
- enum
- {
- kQTFileTypeAIFF = FOUR_CHAR_CODE('AIFF'),
- kQTFileTypeAIFC = FOUR_CHAR_CODE('AIFC'),
- kQTFileTypeDVC = FOUR_CHAR_CODE('dvc!'),
- kQTFileTypeMIDI = FOUR_CHAR_CODE('Midi'),
- kQTFileTypePicture = FOUR_CHAR_CODE('PICT'),
- kQTFileTypeMovie = FOUR_CHAR_CODE('MooV'),
- kQTFileTypeText = FOUR_CHAR_CODE('TEXT'),
- kQTFileTypeWave = FOUR_CHAR_CODE('WAVE'),
- kQTFileTypeSystemSevenSound = FOUR_CHAR_CODE('sfil'),
- kQTFileTypeMuLaw = FOUR_CHAR_CODE('ULAW'),
- kQTFileTypeAVI = FOUR_CHAR_CODE('VfW '),
- kQTFileTypeSoundDesignerII = FOUR_CHAR_CODE('Sd2f'),
- kQTFileTypeAudioCDTrack = FOUR_CHAR_CODE('trak'),
- kQTFileTypePICS = FOUR_CHAR_CODE('PICS'),
- kQTFileTypeGIF = FOUR_CHAR_CODE('GIFf'),
- kQTFileTypePNG = FOUR_CHAR_CODE('PNGf'),
- kQTFileTypeTIFF = FOUR_CHAR_CODE('TIFF'),
- kQTFileTypePhotoShop = FOUR_CHAR_CODE('8BPS'),
- kQTFileTypeSGIImage = FOUR_CHAR_CODE('.SGI'),
- kQTFileTypeBMP = FOUR_CHAR_CODE('BMPf'),
- kQTFileTypeJPEG = FOUR_CHAR_CODE('JPEG'),
- kQTFileTypeJFIF = FOUR_CHAR_CODE('JPEG'),
- kQTFileTypeMacPaint = FOUR_CHAR_CODE('PNTG'),
- kQTFileTypeTargaImage = FOUR_CHAR_CODE('TPIC'),
- kQTFileTypeQuickDrawGXPicture = FOUR_CHAR_CODE('qdgx'),
- kQTFileTypeQuickTimeImage = FOUR_CHAR_CODE('qtif'),
- kQTFileType3DMF = FOUR_CHAR_CODE('3DMF'),
- kQTFileTypeFLC = FOUR_CHAR_CODE('FLC '),
- kQTFileTypeFlash = FOUR_CHAR_CODE('SWFL'),
- kQTFileTypeFlashPix = FOUR_CHAR_CODE('FPix'),
- kQTFileTypeMP4 = FOUR_CHAR_CODE('mpg4'),
- kQTFileTypePDF = FOUR_CHAR_CODE('PDF '),
- kQTFileType3GPP = FOUR_CHAR_CODE('3gpp'),
- kQTFileTypeAMR = FOUR_CHAR_CODE('amr '),
- kQTFileTypeSDV = FOUR_CHAR_CODE('sdv '),
- kQTFileType3GP2 = FOUR_CHAR_CODE('3gp2'),
- kQTFileTypeAMC = FOUR_CHAR_CODE('amc '),
- kQTFileTypeJPEG2000 = FOUR_CHAR_CODE('jp2 ')
- };
-
- /* QTAtomTypes for atoms in import/export settings containers*/
- enum
- {
- kQTSettingsDVExportNTSC = FOUR_CHAR_CODE('dvcv'), /* True is export as NTSC, false is export as PAL. (Boolean)*/
- kQTSettingsDVExportLockedAudio = FOUR_CHAR_CODE('lock'), /* True if audio locked to video. (Boolean)*/
- kQTSettingsEffect = FOUR_CHAR_CODE('effe'), /* Parent atom whose contents are atoms of an effects description*/
- kQTSettingsGraphicsFileImportSequence = FOUR_CHAR_CODE('sequ'), /* Parent atom of graphic file movie import component*/
- kQTSettingsGraphicsFileImportSequenceEnabled = FOUR_CHAR_CODE('enab'), /* . If true, import numbered image sequence (Boolean)*/
- kQTSettingsMovieExportEnableVideo = FOUR_CHAR_CODE('envi'), /* Enable exporting of video track (Boolean)*/
- kQTSettingsMovieExportEnableSound = FOUR_CHAR_CODE('enso'), /* Enable exporting of sound track (Boolean)*/
- kQTSettingsMovieExportSaveOptions = FOUR_CHAR_CODE('save'), /* Parent atom of save options*/
- kQTSettingsMovieExportSaveForInternet = FOUR_CHAR_CODE('fast'), /* . Save for Internet*/
- kQTSettingsMovieExportSaveCompressedMovie = FOUR_CHAR_CODE('cmpm'), /* . Save compressed movie resource*/
- kQTSettingsMIDI = FOUR_CHAR_CODE('MIDI'), /* MIDI import related container*/
- kQTSettingsMIDISettingFlags = FOUR_CHAR_CODE('sttg'), /* . MIDI import settings (UInt32)*/
- kQTSettingsText = FOUR_CHAR_CODE('text'), /* Text related container*/
- kQTSettingsTextDescription = FOUR_CHAR_CODE('desc'), /* . Text import settings (TextDescription record)*/
- kQTSettingsTextSize = FOUR_CHAR_CODE('size'), /* . Width/height to create during import (FixedPoint)*/
- kQTSettingsTextSettingFlags = FOUR_CHAR_CODE('sttg'), /* . Text export settings (UInt32)*/
- kQTSettingsTextTimeFraction = FOUR_CHAR_CODE('timf'), /* . Movie time fraction for export (UInt32)*/
- kQTSettingsTime = FOUR_CHAR_CODE('time'), /* Time related container*/
- kQTSettingsTimeDuration = FOUR_CHAR_CODE('dura'), /* . Time related container*/
- kQTSettingsAudioCDTrack = FOUR_CHAR_CODE('trak'), /* Audio CD track related container*/
- kQTSettingsAudioCDTrackRateShift = FOUR_CHAR_CODE('rshf'), /* . Rate shift to be performed (SInt16)*/
- kQTSettingsDVExportDVFormat = FOUR_CHAR_CODE('dvcf'), /* Exported DV Format, DV('dv ') or DVCPRO('dvp '). (OSType)*/
- kQTSettingsVideoSize = FOUR_CHAR_CODE('isiz'), /* Video size related container*/
- kQTSettingsImageWidth = FOUR_CHAR_CODE('iwdt'), /* . Destination width. If this is zero, it means the source width. (SInt32)*/
- kQTSettingsImageHeight = FOUR_CHAR_CODE('ihgt'), /* . Destination height. If this is zero, it means the source height. (SInt32)*/
- kQTSettingsCleanAperture = FOUR_CHAR_CODE('clap'), /* . Clean aperture for compression sessions. If this is all zeros, it means no clean aperture (i.e. full width and height). (CleanApertureImageDescriptionExtension)*/
- kQTSettingsPixelAspectRatio = FOUR_CHAR_CODE('pasp'), /* . Pixel aspect ratio for compression sessions. If this is all zeros, it means square pixels (i.e. 1:1). (PixelAspectRatioImageDescriptionExtension)*/
- kQTSettingsScalingMode = FOUR_CHAR_CODE('scam'), /* . Scaling mode for compression sessions. If this is zero, it means scaling mode based on the source aperture mode. (OSType)*/
- kQTSettingsUseCodecEnforcedDimensions = FOUR_CHAR_CODE('uenf'), /* . If true, compressor's enforced dimension overrides the image size settings. (Boolean)*/
- kQTSettingsDeinterlaceSource = FOUR_CHAR_CODE('dint') /* . If true, deinterlacing is applied to source frames. (Boolean)*/
- };
-
-
- /*
- * Summary:
- * Scaling modes
- */
- enum
- {
-
- /*
- * Adjusts destination dimensions so that the source fits within the
- * dimensions specified with kQTSettingsImageWidth and
- * kQTSettingsImageHeight by fitting to the shortest side, and scales
- * the source to the destination. Internally, the default scaling
- * mode, which is based on the source aperture mode, . is used
- * for compression session, instead of this scaling mode.
- */
- kQTSpecialScalingMode_FitWithinDimensions = FOUR_CHAR_CODE('fit ')
- };
-
- struct MovieExportGetDataParams
- {
- long recordSize;
-
- long trackID;
-
- TimeScale sourceTimeScale;
- TimeValue requestedTime;
- TimeValue actualTime;
-
- Ptr dataPtr;
- long dataSize;
-
- SampleDescriptionHandle desc;
- OSType descType;
- long descSeed;
-
- long requestedSampleCount;
- long actualSampleCount;
- TimeValue durationPerSample;
- long sampleFlags;
- };
- typedef struct MovieExportGetDataParams MovieExportGetDataParams;
- typedef CALLBACK_API(OSErr , MovieExportGetDataProcPtr)(void *refCon, MovieExportGetDataParams *params);
- typedef CALLBACK_API(OSErr , MovieExportGetPropertyProcPtr)(void *refcon, long trackID, OSType propertyType, void *propertyValue);
- typedef CALLBACK_API(OSErr , MovieExportStageReachedCallbackProcPtr)(OSType inStage, Movie inMovie, ComponentInstance inDataHandler, Handle inDataRef, OSType inDataRefType, void *refCon);
- enum
- {
- kQTPresetsListResourceType = FOUR_CHAR_CODE('stg#'),
- kQTPresetsPlatformListResourceType = FOUR_CHAR_CODE('stgp')
- };
-
- enum
- {
- kQTPresetInfoIsDivider = 1
- };
-
- struct QTPresetInfo
- {
- OSType presetKey; /* unique key for this preset in presetsArray */
- UInt32 presetFlags; /* flags about this preset */
- OSType settingsResourceType; /* resource type of settings resource */
- SInt16 settingsResourceID; /* resource id of settings resource */
- SInt16 padding1;
- SInt16 nameStringListID; /* name string list resource id */
- SInt16 nameStringIndex; /* name string index */
- SInt16 infoStringListID; /* info string list resource id */
- SInt16 infoStringIndex; /* info string index */
- };
- typedef struct QTPresetInfo QTPresetInfo;
- struct QTPresetListRecord
- {
- UInt32 flags; /* flags for whole list */
- UInt32 count; /* number of elements in presetsArray */
- UInt32 reserved;
- QTPresetInfo presetsArray[1]; /* info about each preset */
- };
- typedef struct QTPresetListRecord QTPresetListRecord;
- enum
- {
- kQTMovieExportSourceInfoResourceType = FOUR_CHAR_CODE('src#'),
- kQTMovieExportSourceInfoIsMediaType = 1L << 0,
- kQTMovieExportSourceInfoIsMediaCharacteristic = 1L << 1,
- kQTMovieExportSourceInfoIsSourceType = 1L << 2
- };
-
- struct QTMovieExportSourceInfo
- {
- OSType mediaType; /* Media type of source */
- UInt16 minCount; /* min number of sources of this kind required, zero if none required */
- UInt16 maxCount; /* max number of sources of this kind allowed, -1 if unlimited allowed */
- long flags; /* reserved for flags */
- };
- typedef struct QTMovieExportSourceInfo QTMovieExportSourceInfo;
- struct QTMovieExportSourceRecord
- {
- long count;
- long reserved;
- QTMovieExportSourceInfo sourceArray[1];
- };
- typedef struct QTMovieExportSourceRecord QTMovieExportSourceRecord;
- typedef STACK_UPP_TYPE(MovieExportGetDataProcPtr) MovieExportGetDataUPP;
- typedef STACK_UPP_TYPE(MovieExportGetPropertyProcPtr) MovieExportGetPropertyUPP;
- typedef STACK_UPP_TYPE(MovieExportStageReachedCallbackProcPtr) MovieExportStageReachedCallbackUPP;
- /*
- * NewSCModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SCModalFilterUPP)
- NewSCModalFilterUPP(SCModalFilterProcPtr userRoutine);
+/** These are Progress procedures **/
+/*
+ * SCGetCompressionExtended()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCGetCompressionExtended(
+ ComponentInstance ci,
+ SCParams * params,
+ Point where,
+ SCModalFilterUPP filterProc,
+ SCModalHookUPP hookProc,
+ long refcon,
+ StringPtr customName) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * SCPositionRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCPositionRect(
+ ComponentInstance ci,
+ Rect * rp,
+ Point * where) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * SCPositionDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCPositionDialog(
+ ComponentInstance ci,
+ short id,
+ Point * where) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * SCSetTestImagePictHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCSetTestImagePictHandle(
+ ComponentInstance ci,
+ PicHandle testPict,
+ Rect * testRect,
+ short testFlags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * SCSetTestImagePictFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCSetTestImagePictFile(
+ ComponentInstance ci,
+ short testFileRef,
+ Rect * testRect,
+ short testFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * SCSetTestImagePixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCSetTestImagePixMap(
+ ComponentInstance ci,
+ PixMapHandle testPixMap,
+ Rect * testRect,
+ short testFlags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * SCGetBestDeviceRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCGetBestDeviceRect(
+ ComponentInstance ci,
+ Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+
+/*
+ * SCRequestImageSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCRequestImageSettings(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * SCCompressImage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCCompressImage(
+ ComponentInstance ci,
+ PixMapHandle src,
+ const Rect * srcRect,
+ ImageDescriptionHandle * desc,
+ Handle * data) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * SCCompressPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCCompressPicture(
+ ComponentInstance ci,
+ PicHandle srcPicture,
+ PicHandle dstPicture) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * SCCompressPictureFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCCompressPictureFile(
+ ComponentInstance ci,
+ short srcRefNum,
+ short dstRefNum) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * SCRequestSequenceSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCRequestSequenceSettings(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * SCCompressSequenceBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCCompressSequenceBegin(
+ ComponentInstance ci,
+ PixMapHandle src,
+ const Rect * srcRect,
+ ImageDescriptionHandle * desc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * SCCompressSequenceFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCCompressSequenceFrame(
+ ComponentInstance ci,
+ PixMapHandle src,
+ const Rect * srcRect,
+ Handle * data,
+ long * dataSize,
+ short * notSyncFlag) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * SCCompressSequenceEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCCompressSequenceEnd(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * SCDefaultPictHandleSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCDefaultPictHandleSettings(
+ ComponentInstance ci,
+ PicHandle srcPicture,
+ short motion) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * SCDefaultPictFileSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCDefaultPictFileSettings(
+ ComponentInstance ci,
+ short srcRef,
+ short motion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * SCDefaultPixMapSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCDefaultPixMapSettings(
+ ComponentInstance ci,
+ PixMapHandle src,
+ short motion) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * SCGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCGetInfo(
+ ComponentInstance ci,
+ OSType infoType,
+ void * info) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * SCSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCSetInfo(
+ ComponentInstance ci,
+ OSType infoType,
+ void * info) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * SCNewGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCNewGWorld(
+ ComponentInstance ci,
+ GWorldPtr * gwp,
+ Rect * rp,
+ GWorldFlags flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * SCSetCompressFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCSetCompressFlags(
+ ComponentInstance ci,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * SCGetCompressFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCGetCompressFlags(
+ ComponentInstance ci,
+ long * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * SCGetSettingsAsText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCGetSettingsAsText(
+ ComponentInstance ci,
+ Handle * text) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * SCGetSettingsAsAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCGetSettingsAsAtomContainer(
+ ComponentInstance ci,
+ QTAtomContainer * settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * SCSetSettingsFromAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCSetSettingsFromAtomContainer(
+ ComponentInstance ci,
+ QTAtomContainer settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
+
+
+/* Note: if you're using SCCompressSequenceFrameAsync with a scForceKeyValue setting, you must call SCAsyncIdle occasionally at main task time. */
+/*
+ * SCCompressSequenceFrameAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCCompressSequenceFrameAsync(
+ ComponentInstance ci,
+ PixMapHandle src,
+ const Rect * srcRect,
+ Handle * data,
+ long * dataSize,
+ short * notSyncFlag,
+ ICMCompletionProcRecordPtr asyncCompletionProc) FIVEWORDINLINE(0x2F3C, 0x0018, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * SCAsyncIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+SCAsyncIdle(ComponentInstance ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * SCCopyCompressionSessionOptions()
+ *
+ * Summary:
+ * Retrieve relevant settings in a form of compression session
+ * options that can be given to a compression session. The caller
+ * must release it when it is done.
+ *
+ * Parameters:
+ *
+ * ci:
+ * A component instance of type StdCompression subtype
+ * StandardCompressionSubTypeVideo.
+ *
+ * outOptions:
+ * A pointer to ICMCompressionSettionOptionsRef where a reference
+ * to a new instance of ICM Compression Session Options object is
+ * returned.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+SCCopyCompressionSessionOptions(
+ ComponentInstance ci,
+ ICMCompressionSessionOptionsRef * outOptions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
+
+
+
+
+
+enum {
+ TweenComponentType = FOUR_CHAR_CODE('twen')
+};
+
+
+typedef ComponentInstance TweenerComponent;
+/*
+ * TweenerInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TweenerInitialize(
+ TweenerComponent tc,
+ QTAtomContainer container,
+ QTAtom tweenAtom,
+ QTAtom dataAtom) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * TweenerDoTween()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TweenerDoTween(
+ TweenerComponent tc,
+ TweenRecord * tr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * TweenerReset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TweenerReset(TweenerComponent tc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
+
+
+
+
+enum {
+ TCSourceRefNameType = FOUR_CHAR_CODE('name')
+};
+
+enum {
+ tcDropFrame = 1 << 0,
+ tc24HourMax = 1 << 1,
+ tcNegTimesOK = 1 << 2,
+ tcCounter = 1 << 3
+};
+
+struct TimeCodeDef {
+ long flags; /* drop-frame, etc.*/
+ TimeScale fTimeScale; /* time scale of frameDuration (eg. 2997)*/
+ TimeValue frameDuration; /* duration of each frame (eg. 100)*/
+ UInt8 numFrames; /* frames/sec for timecode (eg. 30) OR frames/tick for counter mode*/
+ UInt8 padding; /* unused padding byte*/
+};
+typedef struct TimeCodeDef TimeCodeDef;
+enum {
+ tctNegFlag = 0x80 /* negative bit is in minutes*/
+};
+
+struct TimeCodeTime {
+ UInt8 hours;
+ UInt8 minutes;
+ UInt8 seconds;
+ UInt8 frames;
+};
+typedef struct TimeCodeTime TimeCodeTime;
+struct TimeCodeCounter {
+ long counter;
+};
+typedef struct TimeCodeCounter TimeCodeCounter;
+union TimeCodeRecord {
+ TimeCodeTime t;
+ TimeCodeCounter c;
+};
+typedef union TimeCodeRecord TimeCodeRecord;
+struct TimeCodeDescription {
+ long descSize; /* standard sample description header*/
+ long dataFormat;
+ long resvd1;
+ short resvd2;
+ short dataRefIndex;
+ long flags; /* timecode specific stuff*/
+ TimeCodeDef timeCodeDef;
+ long srcRef[1];
+};
+typedef struct TimeCodeDescription TimeCodeDescription;
+typedef TimeCodeDescription * TimeCodeDescriptionPtr;
+typedef TimeCodeDescriptionPtr * TimeCodeDescriptionHandle;
+enum {
+ tcdfShowTimeCode = 1 << 0
+};
+
+
+struct TCTextOptions {
+ short txFont;
+ short txFace;
+ short txSize;
+ short pad; /* let's make it longword aligned - thanks.. */
+ RGBColor foreColor;
+ RGBColor backColor;
+};
+typedef struct TCTextOptions TCTextOptions;
+typedef TCTextOptions * TCTextOptionsPtr;
+
+typedef SInt64 TimeCode64Counter;
+/*
+ * TCGetCurrentTimeCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCGetCurrentTimeCode(
+ MediaHandler mh,
+ long * frameNum,
+ TimeCodeDef * tcdef,
+ TimeCodeRecord * tcrec,
+ UserData * srcRefH) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * TCGetTimeCodeAtTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCGetTimeCodeAtTime(
+ MediaHandler mh,
+ TimeValue mediaTime,
+ long * frameNum,
+ TimeCodeDef * tcdef,
+ TimeCodeRecord * tcdata,
+ UserData * srcRefH) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * TCTimeCodeToString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCTimeCodeToString(
+ MediaHandler mh,
+ TimeCodeDef * tcdef,
+ TimeCodeRecord * tcrec,
+ StringPtr tcStr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * TCTimeCodeToFrameNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCTimeCodeToFrameNumber(
+ MediaHandler mh,
+ TimeCodeDef * tcdef,
+ TimeCodeRecord * tcrec,
+ long * frameNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * TCFrameNumberToTimeCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCFrameNumberToTimeCode(
+ MediaHandler mh,
+ long frameNumber,
+ TimeCodeDef * tcdef,
+ TimeCodeRecord * tcrec) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * TCGetSourceRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCGetSourceRef(
+ MediaHandler mh,
+ TimeCodeDescriptionHandle tcdH,
+ UserData * srefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * TCSetSourceRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCSetSourceRef(
+ MediaHandler mh,
+ TimeCodeDescriptionHandle tcdH,
+ UserData srefH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * TCSetTimeCodeFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCSetTimeCodeFlags(
+ MediaHandler mh,
+ long flags,
+ long flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A);
+
+
+/*
+ * TCGetTimeCodeFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCGetTimeCodeFlags(
+ MediaHandler mh,
+ long * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * TCSetDisplayOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCSetDisplayOptions(
+ MediaHandler mh,
+ TCTextOptionsPtr textOptions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
+
+
+/*
+ * TCGetDisplayOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( HandlerError )
+TCGetDisplayOptions(
+ MediaHandler mh,
+ TCTextOptionsPtr textOptions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
+
+
+/* The following are the 64-bit TimeCode Media API's*/
+/*
+ * TCGetCurrentFrameAndTimeCodeDef()
+ *
+ * Summary:
+ * Retrieves the frame number and time code format information for
+ * the current movie time.
+ *
+ * Parameters:
+ *
+ * mh:
+ * The time code media handler.
+ *
+ * outFrameNum:
+ * Pointer to a field that receives the current frame number.
+ *
+ * outTCDef:
+ * Pointer to field that receives the time code format information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( HandlerError )
+TCGetCurrentFrameAndTimeCodeDef(
+ MediaHandler mh,
+ SInt64 * outFrameNum,
+ TimeCodeDef * outTCDef) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010C, 0x7000, 0xA82A);
+
+
+/*
+ * TCGetFrameAndTimeCodeDefAtTime()
+ *
+ * Summary:
+ * Retrieves the frame number and time code format information for a
+ * specific movie time.
+ *
+ * Parameters:
+ *
+ * mh:
+ * The time code media handler.
+ *
+ * mediaTime:
+ * A const pointer to the field containing the media time at which
+ * time code information is required.
+ *
+ * outFrameNum:
+ * Pointer to a field that receives the frame number at time
+ * mediaTime.
+ *
+ * outTCDef:
+ * Pointer to field that receives the time code format information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( HandlerError )
+TCGetFrameAndTimeCodeDefAtTime(
+ MediaHandler mh,
+ const TimeValue64 * mediaTime,
+ SInt64 * outFrameNum,
+ TimeCodeDef * outTCDef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010D, 0x7000, 0xA82A);
+
+
+/*
+ * TCTimeCodeTimeToString()
+ *
+ * Summary:
+ * Converts a time value into a text string in the (-) HH:MM:SS:FF
+ * format.
+ *
+ * Parameters:
+ *
+ * mh:
+ * The time code media handler.
+ *
+ * tCDef:
+ * A const pointer to a TimeCodeDef that contains time code format
+ * info for the conversion.
+ *
+ * tCTime:
+ * A const pointer to a SMPTETime structure that contains the time
+ * value to convert.
+ *
+ * outTCStr:
+ * Pointer to a CFStringRef that is to receive the converted time
+ * value. Client responsible for disposing string.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( HandlerError )
+TCTimeCodeTimeToString(
+ MediaHandler mh,
+ const TimeCodeDef * tCDef,
+ const SMPTETime * tCTime,
+ CFStringRef * outTCStr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010E, 0x7000, 0xA82A);
+
+
+/*
+ * TCTimeCodeCounterToString()
+ *
+ * Summary:
+ * Converts a counter value into a text string.
+ *
+ * Parameters:
+ *
+ * mh:
+ * The time code media handler.
+ *
+ * tCDef:
+ * A const pointer to a TimeCodeDef that contains time code format
+ * info for the conversion.
+ *
+ * tCCounter:
+ * A const pointer to a TimeCode64Counter that contains the
+ * counter value to convert.
+ *
+ * outTCStr:
+ * Pointer to a CFStringRef that is to receive the converted time
+ * value. Client reponsible for disposing string.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( HandlerError )
+TCTimeCodeCounterToString(
+ MediaHandler mh,
+ const TimeCodeDef * tCDef,
+ const TimeCode64Counter * tCCounter,
+ CFStringRef * outTCStr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010F, 0x7000, 0xA82A);
+
+
+/*
+ * TCTimeCodeTimeToFrameNumber()
+ *
+ * Summary:
+ * Converts a time value into its corresponding frame number.
+ *
+ * Parameters:
+ *
+ * mh:
+ * The time code media handler.
+ *
+ * tCDef:
+ * A const pointer to a TimeCodeDef that contains time code format
+ * info for the conversion.
+ *
+ * tCTime:
+ * A const pointer to a SMPTETime structure that contains the time
+ * value to convert.
+ *
+ * outFrameNum:
+ * Pointer to a field that is to receive the frame number
+ * corresponding to the time value in tCTime.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( HandlerError )
+TCTimeCodeTimeToFrameNumber(
+ MediaHandler mh,
+ const TimeCodeDef * tCDef,
+ const SMPTETime * tCTime,
+ SInt64 * outFrameNum) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0110, 0x7000, 0xA82A);
+
+
+/*
+ * TCTimeCodeCounterToFrameNumber()
+ *
+ * Summary:
+ * Converts a counter value into its corresponding frame number.
+ *
+ * Parameters:
+ *
+ * mh:
+ * The time code media handler.
+ *
+ * tCDef:
+ * A const pointer to a TimeCodeDef that contains format info for
+ * the conversion.
+ *
+ * tCCounter:
+ * A const pointer to a TimeCode64Counter that contains the
+ * counter value to convert.
+ *
+ * outFrameNum:
+ * Pointer to a field that is to receive the frame number
+ * corresponding to the counter value in tCCounter.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( HandlerError )
+TCTimeCodeCounterToFrameNumber(
+ MediaHandler mh,
+ const TimeCodeDef * tCDef,
+ const TimeCode64Counter * tCCounter,
+ SInt64 * outFrameNum) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0111, 0x7000, 0xA82A);
+
+
+/*
+ * TCFrameNumberToTimeCodeTime()
+ *
+ * Summary:
+ * Converts a frame number to its corresponding timecode time value.
+ *
+ * Parameters:
+ *
+ * mh:
+ * The time code media handler.
+ *
+ * frameNumber:
+ * A const pointer to the field containing the frame number that
+ * is to be converted.
+ *
+ * tCDef:
+ * A const pointer to a TimeCodeDef that contains format info for
+ * the conversion.
+ *
+ * outTCTime:
+ * Pointer to a SMPTETime structure that is to receive the time
+ * value.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( HandlerError )
+TCFrameNumberToTimeCodeTime(
+ MediaHandler mh,
+ const SInt64 * frameNumber,
+ const TimeCodeDef * tCDef,
+ SMPTETime * outTCTime) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0112, 0x7000, 0xA82A);
+
+
+/*
+ * TCFrameNumberToTimeCodeCounter()
+ *
+ * Summary:
+ * Converts a frame number to its corresponding counter value.
+ *
+ * Parameters:
+ *
+ * mh:
+ * The time code media handler.
+ *
+ * frameNumber:
+ * A const pointer to the field containing the frame number that
+ * is to be converted.
+ *
+ * tCDef:
+ * A const pointer to a TimeCodeDef that contains format info for
+ * the conversion.
+ *
+ * outTCCounter:
+ * Pointer to a TimeCode64Counter that is to receive the counter
+ * value.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.5 (or QuickTime 7.1) and later
+ */
+EXTERN_API( HandlerError )
+TCFrameNumberToTimeCodeCounter(
+ MediaHandler mh,
+ const SInt64 * frameNumber,
+ const TimeCodeDef * tCDef,
+ TimeCode64Counter * outTCCounter) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0113, 0x7000, 0xA82A);
+
+
+
+typedef ComponentInstance MovieImportComponent;
+typedef ComponentInstance MovieExportComponent;
+enum {
+ MovieImportType = FOUR_CHAR_CODE('eat '),
+ MovieExportType = FOUR_CHAR_CODE('spit')
+};
+
+enum {
+ canMovieImportHandles = 1 << 0,
+ canMovieImportFiles = 1 << 1,
+ hasMovieImportUserInterface = 1 << 2,
+ canMovieExportHandles = 1 << 3,
+ canMovieExportFiles = 1 << 4,
+ hasMovieExportUserInterface = 1 << 5,
+ movieImporterIsXMLBased = 1 << 5,
+ dontAutoFileMovieImport = 1 << 6,
+ canMovieExportAuxDataHandle = 1 << 7,
+ canMovieImportValidateHandles = 1 << 8,
+ canMovieImportValidateFile = 1 << 9,
+ dontRegisterWithEasyOpen = 1 << 10,
+ canMovieImportInPlace = 1 << 11,
+ movieImportSubTypeIsFileExtension = 1 << 12,
+ canMovieImportPartial = 1 << 13,
+ hasMovieImportMIMEList = 1 << 14,
+ canMovieImportAvoidBlocking = 1 << 15,
+ canMovieExportFromProcedures = 1 << 15,
+ canMovieExportValidateMovie = 1L << 16,
+ movieImportMustGetDestinationMediaType = 1L << 16,
+ movieExportNeedsResourceFork = 1L << 17,
+ canMovieImportDataReferences = 1L << 18,
+ movieExportMustGetSourceMediaType = 1L << 19,
+ canMovieImportWithIdle = 1L << 20,
+ canMovieImportValidateDataReferences = 1L << 21,
+ reservedForUseByGraphicsImporters = 1L << 23
+};
+
+enum {
+ movieImportCreateTrack = 1,
+ movieImportInParallel = 2,
+ movieImportMustUseTrack = 4,
+ movieImportWithIdle = 16
+};
+
+enum {
+ movieImportResultUsedMultipleTracks = 8,
+ movieImportResultNeedIdles = 32,
+ movieImportResultComplete = 64
+};
+
+enum {
+ kMovieExportTextOnly = 0,
+ kMovieExportAbsoluteTime = 1,
+ kMovieExportRelativeTime = 2
+};
+
+/* Movie exporter property class*/
+enum {
+ kQTPropertyClass_MovieExporter = FOUR_CHAR_CODE('spit')
+};
+
+/* kPropertyClass_MovieExporter IDs*/
+enum {
+ kQTMovieExporterPropertyID_EnableHighResolutionAudioFeatures = FOUR_CHAR_CODE('hrau') /* value is Boolean*/
+};
+
+enum {
+ kMIDIImportSilenceBefore = 1 << 0,
+ kMIDIImportSilenceAfter = 1 << 1,
+ kMIDIImport20Playable = 1 << 2,
+ kMIDIImportWantLyrics = 1 << 3
+};
+
+
+enum {
+ kQTMediaConfigResourceType = FOUR_CHAR_CODE('mcfg'),
+ kQTMediaConfigResourceVersion = 2,
+ kQTMediaGroupResourceType = FOUR_CHAR_CODE('mgrp'),
+ kQTMediaGroupResourceVersion = 1,
+ kQTBrowserInfoResourceType = FOUR_CHAR_CODE('brws'),
+ kQTBrowserInfoResourceVersion = 1
+};
+
+
+enum {
+ kQTMediaMIMEInfoHasChanged = (1L << 1), /* the MIME type(s) is(are) new or has changed since the last time*/
+ /* someone asked about it*/
+ kQTMediaFileInfoHasChanged = (1L << 2), /* the file extension(s) is(are) new or has changed since the last time*/
+ /* anyone asked about it*/
+ kQTMediaConfigCanUseApp = (1L << 18), /* this MIME type can be configured to use app*/
+ kQTMediaConfigCanUsePlugin = (1L << 19), /* this MIME type can be configured to use plug-in*/
+ kQTMediaConfigUNUSED = (1L << 20), /* currently unused*/
+ kQTMediaConfigBinaryFile = (1L << 23), /* file should be transfered in binary mode*/
+ kQTMediaConfigTextFile = 0, /* not a bit, defined for clarity*/
+ kQTMediaConfigMacintoshFile = (1L << 24), /* file's resource fork is significant*/
+ kQTMediaConfigCanDoFileAssociation = (1L << 26), /* can configure this file association */
+ kQTMediaConfigAssociateByDefault = (1L << 27), /* Deprecated, use kQTMediaConfigTakeFileAssociationByDefault instead*/
+ kQTMediaConfigTakeFileAssociationByDefault = (1L << 27), /* take this file association by default*/
+ kQTMediaConfigUseAppByDefault = (1L << 28), /* use the app by default for this MIME type*/
+ kQTMediaConfigUsePluginByDefault = (1L << 29), /* use the plug-in by default for this MIME type*/
+ kQTMediaConfigDefaultsMask = (kQTMediaConfigUseAppByDefault | kQTMediaConfigUsePluginByDefault),
+ kQTMediaConfigDefaultsShift = 12, /* ((flags & kQTMediaConfigDefaultsMask) >> kQTMediaConfigDefaultsShift) to get default setting */
+ kQTMediaConfigHasFileHasQTAtoms = (1L << 30) /* the file has a "QuickTime like" file format */
+};
+
+
+/* mime type group constants for groupID field of 'mcfg' resource*/
+enum {
+ kQTMediaConfigStreamGroupID = FOUR_CHAR_CODE('strm'),
+ kQTMediaConfigInteractiveGroupID = FOUR_CHAR_CODE('intr'),
+ kQTMediaConfigVideoGroupID = FOUR_CHAR_CODE('eyes'),
+ kQTMediaConfigAudioGroupID = FOUR_CHAR_CODE('ears'),
+ kQTMediaConfigMPEGGroupID = FOUR_CHAR_CODE('mpeg'),
+ kQTMediaConfigMP3GroupID = FOUR_CHAR_CODE('mp3 '),
+ kQTMediaConfigImageGroupID = FOUR_CHAR_CODE('ogle'),
+ kQTMediaConfigMiscGroupID = FOUR_CHAR_CODE('misc')
+};
+
+/* file type group constants for groupID field of 'mcfg' resource*/
+enum {
+ kQTMediaInfoNetGroup = FOUR_CHAR_CODE('net '),
+ kQTMediaInfoWinGroup = FOUR_CHAR_CODE('win '),
+ kQTMediaInfoMacGroup = FOUR_CHAR_CODE('mac '),
+ kQTMediaInfoMiscGroup = 0x3F3F3F3F /* '????'*/
+};
+
+
+
+enum {
+ kMimeInfoMimeTypeTag = FOUR_CHAR_CODE('mime'),
+ kMimeInfoFileExtensionTag = FOUR_CHAR_CODE('ext '),
+ kMimeInfoDescriptionTag = FOUR_CHAR_CODE('desc'),
+ kMimeInfoGroupTag = FOUR_CHAR_CODE('grop'),
+ kMimeInfoDoNotOverrideExistingFileTypeAssociation = FOUR_CHAR_CODE('nofa')
+};
+
+enum {
+ kQTFileTypeAIFF = FOUR_CHAR_CODE('AIFF'),
+ kQTFileTypeAIFC = FOUR_CHAR_CODE('AIFC'),
+ kQTFileTypeDVC = FOUR_CHAR_CODE('dvc!'),
+ kQTFileTypeMIDI = FOUR_CHAR_CODE('Midi'),
+ kQTFileTypePicture = FOUR_CHAR_CODE('PICT'),
+ kQTFileTypeMovie = FOUR_CHAR_CODE('MooV'),
+ kQTFileTypeText = FOUR_CHAR_CODE('TEXT'),
+ kQTFileTypeWave = FOUR_CHAR_CODE('WAVE'),
+ kQTFileTypeSystemSevenSound = FOUR_CHAR_CODE('sfil'),
+ kQTFileTypeMuLaw = FOUR_CHAR_CODE('ULAW'),
+ kQTFileTypeAVI = FOUR_CHAR_CODE('VfW '),
+ kQTFileTypeSoundDesignerII = FOUR_CHAR_CODE('Sd2f'),
+ kQTFileTypeAudioCDTrack = FOUR_CHAR_CODE('trak'),
+ kQTFileTypePICS = FOUR_CHAR_CODE('PICS'),
+ kQTFileTypeGIF = FOUR_CHAR_CODE('GIFf'),
+ kQTFileTypePNG = FOUR_CHAR_CODE('PNGf'),
+ kQTFileTypeTIFF = FOUR_CHAR_CODE('TIFF'),
+ kQTFileTypePhotoShop = FOUR_CHAR_CODE('8BPS'),
+ kQTFileTypeSGIImage = FOUR_CHAR_CODE('.SGI'),
+ kQTFileTypeBMP = FOUR_CHAR_CODE('BMPf'),
+ kQTFileTypeJPEG = FOUR_CHAR_CODE('JPEG'),
+ kQTFileTypeJFIF = FOUR_CHAR_CODE('JPEG'),
+ kQTFileTypeMacPaint = FOUR_CHAR_CODE('PNTG'),
+ kQTFileTypeTargaImage = FOUR_CHAR_CODE('TPIC'),
+ kQTFileTypeQuickDrawGXPicture = FOUR_CHAR_CODE('qdgx'),
+ kQTFileTypeQuickTimeImage = FOUR_CHAR_CODE('qtif'),
+ kQTFileType3DMF = FOUR_CHAR_CODE('3DMF'),
+ kQTFileTypeFLC = FOUR_CHAR_CODE('FLC '),
+ kQTFileTypeFlash = FOUR_CHAR_CODE('SWFL'),
+ kQTFileTypeFlashPix = FOUR_CHAR_CODE('FPix'),
+ kQTFileTypeMP4 = FOUR_CHAR_CODE('mpg4'),
+ kQTFileTypePDF = FOUR_CHAR_CODE('PDF '),
+ kQTFileType3GPP = FOUR_CHAR_CODE('3gpp'),
+ kQTFileTypeAMR = FOUR_CHAR_CODE('amr '),
+ kQTFileTypeSDV = FOUR_CHAR_CODE('sdv '),
+ kQTFileType3GP2 = FOUR_CHAR_CODE('3gp2'),
+ kQTFileTypeAMC = FOUR_CHAR_CODE('amc '),
+ kQTFileTypeJPEG2000 = FOUR_CHAR_CODE('jp2 ')
+};
+
+/* QTAtomTypes for atoms in import/export settings containers*/
+enum {
+ kQTSettingsDVExportNTSC = FOUR_CHAR_CODE('dvcv'), /* True is export as NTSC, false is export as PAL. (Boolean)*/
+ kQTSettingsDVExportLockedAudio = FOUR_CHAR_CODE('lock'), /* True if audio locked to video. (Boolean)*/
+ kQTSettingsEffect = FOUR_CHAR_CODE('effe'), /* Parent atom whose contents are atoms of an effects description*/
+ kQTSettingsGraphicsFileImportSequence = FOUR_CHAR_CODE('sequ'), /* Parent atom of graphic file movie import component*/
+ kQTSettingsGraphicsFileImportSequenceEnabled = FOUR_CHAR_CODE('enab'), /* . If true, import numbered image sequence (Boolean)*/
+ kQTSettingsMovieExportEnableVideo = FOUR_CHAR_CODE('envi'), /* Enable exporting of video track (Boolean)*/
+ kQTSettingsMovieExportEnableSound = FOUR_CHAR_CODE('enso'), /* Enable exporting of sound track (Boolean)*/
+ kQTSettingsMovieExportSaveOptions = FOUR_CHAR_CODE('save'), /* Parent atom of save options*/
+ kQTSettingsMovieExportSaveForInternet = FOUR_CHAR_CODE('fast'), /* . Save for Internet*/
+ kQTSettingsMovieExportSaveCompressedMovie = FOUR_CHAR_CODE('cmpm'), /* . Save compressed movie resource*/
+ kQTSettingsMIDI = FOUR_CHAR_CODE('MIDI'), /* MIDI import related container*/
+ kQTSettingsMIDISettingFlags = FOUR_CHAR_CODE('sttg'), /* . MIDI import settings (UInt32)*/
+ kQTSettingsText = FOUR_CHAR_CODE('text'), /* Text related container*/
+ kQTSettingsTextDescription = FOUR_CHAR_CODE('desc'), /* . Text import settings (TextDescription record)*/
+ kQTSettingsTextSize = FOUR_CHAR_CODE('size'), /* . Width/height to create during import (FixedPoint)*/
+ kQTSettingsTextSettingFlags = FOUR_CHAR_CODE('sttg'), /* . Text export settings (UInt32)*/
+ kQTSettingsTextTimeFraction = FOUR_CHAR_CODE('timf'), /* . Movie time fraction for export (UInt32)*/
+ kQTSettingsTime = FOUR_CHAR_CODE('time'), /* Time related container*/
+ kQTSettingsTimeDuration = FOUR_CHAR_CODE('dura'), /* . Time related container*/
+ kQTSettingsAudioCDTrack = FOUR_CHAR_CODE('trak'), /* Audio CD track related container*/
+ kQTSettingsAudioCDTrackRateShift = FOUR_CHAR_CODE('rshf'), /* . Rate shift to be performed (SInt16)*/
+ kQTSettingsDVExportDVFormat = FOUR_CHAR_CODE('dvcf'), /* Exported DV Format, DV('dv ') or DVCPRO('dvp '). (OSType)*/
+ kQTSettingsVideoSize = FOUR_CHAR_CODE('isiz'), /* Video size related container*/
+ kQTSettingsImageWidth = FOUR_CHAR_CODE('iwdt'), /* . Destination width. If this is zero, it means the source width. (SInt32)*/
+ kQTSettingsImageHeight = FOUR_CHAR_CODE('ihgt'), /* . Destination height. If this is zero, it means the source height. (SInt32)*/
+ kQTSettingsCleanAperture = FOUR_CHAR_CODE('clap'), /* . Clean aperture for compression sessions. If this is all zeros, it means no clean aperture (i.e. full width and height). (CleanApertureImageDescriptionExtension)*/
+ kQTSettingsPixelAspectRatio = FOUR_CHAR_CODE('pasp'), /* . Pixel aspect ratio for compression sessions. If this is all zeros, it means square pixels (i.e. 1:1). (PixelAspectRatioImageDescriptionExtension)*/
+ kQTSettingsScalingMode = FOUR_CHAR_CODE('scam'), /* . Scaling mode for compression sessions. If this is zero, it means scaling mode based on the source aperture mode. (OSType)*/
+ kQTSettingsUseCodecEnforcedDimensions = FOUR_CHAR_CODE('uenf'), /* . If true, compressor's enforced dimension overrides the image size settings. (Boolean)*/
+ kQTSettingsDeinterlaceSource = FOUR_CHAR_CODE('dint') /* . If true, deinterlacing is applied to source frames. (Boolean)*/
+};
+
+
+/*
+ * Summary:
+ * Scaling modes
+ */
+enum {
+
+ /*
+ * Adjusts destination dimensions so that the source fits within the
+ * dimensions specified with kQTSettingsImageWidth and
+ * kQTSettingsImageHeight by fitting to the shortest side, and scales
+ * the source to the destination. Internally, the default scaling
+ * mode, which is based on the source aperture mode, . is used
+ * for compression session, instead of this scaling mode.
+ */
+ kQTSpecialScalingMode_FitWithinDimensions = FOUR_CHAR_CODE('fit ')
+};
+
+struct MovieExportGetDataParams {
+ long recordSize;
+
+ long trackID;
+
+ TimeScale sourceTimeScale;
+ TimeValue requestedTime;
+ TimeValue actualTime;
+
+ Ptr dataPtr;
+ long dataSize;
+
+ SampleDescriptionHandle desc;
+ OSType descType;
+ long descSeed;
+
+ long requestedSampleCount;
+ long actualSampleCount;
+ TimeValue durationPerSample;
+ long sampleFlags;
+};
+typedef struct MovieExportGetDataParams MovieExportGetDataParams;
+typedef CALLBACK_API( OSErr , MovieExportGetDataProcPtr )(void *refCon, MovieExportGetDataParams *params);
+typedef CALLBACK_API( OSErr , MovieExportGetPropertyProcPtr )(void *refcon, long trackID, OSType propertyType, void *propertyValue);
+typedef CALLBACK_API( OSErr , MovieExportStageReachedCallbackProcPtr )(OSType inStage, Movie inMovie, ComponentInstance inDataHandler, Handle inDataRef, OSType inDataRefType, void *refCon);
+enum {
+ kQTPresetsListResourceType = FOUR_CHAR_CODE('stg#'),
+ kQTPresetsPlatformListResourceType = FOUR_CHAR_CODE('stgp')
+};
+
+enum {
+ kQTPresetInfoIsDivider = 1
+};
+
+struct QTPresetInfo {
+ OSType presetKey; /* unique key for this preset in presetsArray */
+ UInt32 presetFlags; /* flags about this preset */
+ OSType settingsResourceType; /* resource type of settings resource */
+ SInt16 settingsResourceID; /* resource id of settings resource */
+ SInt16 padding1;
+ SInt16 nameStringListID; /* name string list resource id */
+ SInt16 nameStringIndex; /* name string index */
+ SInt16 infoStringListID; /* info string list resource id */
+ SInt16 infoStringIndex; /* info string index */
+};
+typedef struct QTPresetInfo QTPresetInfo;
+struct QTPresetListRecord {
+ UInt32 flags; /* flags for whole list */
+ UInt32 count; /* number of elements in presetsArray */
+ UInt32 reserved;
+ QTPresetInfo presetsArray[1]; /* info about each preset */
+};
+typedef struct QTPresetListRecord QTPresetListRecord;
+enum {
+ kQTMovieExportSourceInfoResourceType = FOUR_CHAR_CODE('src#'),
+ kQTMovieExportSourceInfoIsMediaType = 1L << 0,
+ kQTMovieExportSourceInfoIsMediaCharacteristic = 1L << 1,
+ kQTMovieExportSourceInfoIsSourceType = 1L << 2
+};
+
+struct QTMovieExportSourceInfo {
+ OSType mediaType; /* Media type of source */
+ UInt16 minCount; /* min number of sources of this kind required, zero if none required */
+ UInt16 maxCount; /* max number of sources of this kind allowed, -1 if unlimited allowed */
+ long flags; /* reserved for flags */
+};
+typedef struct QTMovieExportSourceInfo QTMovieExportSourceInfo;
+struct QTMovieExportSourceRecord {
+ long count;
+ long reserved;
+ QTMovieExportSourceInfo sourceArray[1];
+};
+typedef struct QTMovieExportSourceRecord QTMovieExportSourceRecord;
+typedef STACK_UPP_TYPE(MovieExportGetDataProcPtr) MovieExportGetDataUPP;
+typedef STACK_UPP_TYPE(MovieExportGetPropertyProcPtr) MovieExportGetPropertyUPP;
+typedef STACK_UPP_TYPE(MovieExportStageReachedCallbackProcPtr) MovieExportStageReachedCallbackUPP;
+/*
+ * NewSCModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SCModalFilterUPP )
+NewSCModalFilterUPP(SCModalFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSCModalFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SCModalFilterUPP) NewSCModalFilterUPP(SCModalFilterProcPtr userRoutine)
- {
- return (SCModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSCModalFilterUPP(userRoutine) (SCModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSCModalFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SCModalFilterUPP) NewSCModalFilterUPP(SCModalFilterProcPtr userRoutine) { return (SCModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSCModalFilterUPP(userRoutine) (SCModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSCModalHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SCModalHookUPP)
- NewSCModalHookUPP(SCModalHookProcPtr userRoutine);
+/*
+ * NewSCModalHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SCModalHookUPP )
+NewSCModalHookUPP(SCModalHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSCModalHookProcInfo = 0x00003EE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SCModalHookUPP) NewSCModalHookUPP(SCModalHookProcPtr userRoutine)
- {
- return (SCModalHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSCModalHookUPP(userRoutine) (SCModalHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSCModalHookProcInfo = 0x00003EE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SCModalHookUPP) NewSCModalHookUPP(SCModalHookProcPtr userRoutine) { return (SCModalHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSCModalHookUPP(userRoutine) (SCModalHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMovieExportGetDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MovieExportGetDataUPP)
- NewMovieExportGetDataUPP(MovieExportGetDataProcPtr userRoutine);
+/*
+ * NewMovieExportGetDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MovieExportGetDataUPP )
+NewMovieExportGetDataUPP(MovieExportGetDataProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMovieExportGetDataProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MovieExportGetDataUPP) NewMovieExportGetDataUPP(MovieExportGetDataProcPtr userRoutine)
- {
- return (MovieExportGetDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetDataProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMovieExportGetDataUPP(userRoutine) (MovieExportGetDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetDataProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMovieExportGetDataProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MovieExportGetDataUPP) NewMovieExportGetDataUPP(MovieExportGetDataProcPtr userRoutine) { return (MovieExportGetDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetDataProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMovieExportGetDataUPP(userRoutine) (MovieExportGetDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetDataProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMovieExportGetPropertyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MovieExportGetPropertyUPP)
- NewMovieExportGetPropertyUPP(MovieExportGetPropertyProcPtr userRoutine);
+/*
+ * NewMovieExportGetPropertyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MovieExportGetPropertyUPP )
+NewMovieExportGetPropertyUPP(MovieExportGetPropertyProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMovieExportGetPropertyProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MovieExportGetPropertyUPP) NewMovieExportGetPropertyUPP(MovieExportGetPropertyProcPtr userRoutine)
- {
- return (MovieExportGetPropertyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetPropertyProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMovieExportGetPropertyUPP(userRoutine) (MovieExportGetPropertyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetPropertyProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMovieExportGetPropertyProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MovieExportGetPropertyUPP) NewMovieExportGetPropertyUPP(MovieExportGetPropertyProcPtr userRoutine) { return (MovieExportGetPropertyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetPropertyProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMovieExportGetPropertyUPP(userRoutine) (MovieExportGetPropertyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetPropertyProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * NewMovieExportStageReachedCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(MovieExportStageReachedCallbackUPP)
- NewMovieExportStageReachedCallbackUPP(MovieExportStageReachedCallbackProcPtr userRoutine);
+/*
+ * NewMovieExportStageReachedCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( MovieExportStageReachedCallbackUPP )
+NewMovieExportStageReachedCallbackUPP(MovieExportStageReachedCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMovieExportStageReachedCallbackProcInfo = 0x0003FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MovieExportStageReachedCallbackUPP) NewMovieExportStageReachedCallbackUPP(MovieExportStageReachedCallbackProcPtr userRoutine)
- {
- return (MovieExportStageReachedCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportStageReachedCallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMovieExportStageReachedCallbackUPP(userRoutine) (MovieExportStageReachedCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportStageReachedCallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMovieExportStageReachedCallbackProcInfo = 0x0003FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MovieExportStageReachedCallbackUPP) NewMovieExportStageReachedCallbackUPP(MovieExportStageReachedCallbackProcPtr userRoutine) { return (MovieExportStageReachedCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportStageReachedCallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMovieExportStageReachedCallbackUPP(userRoutine) (MovieExportStageReachedCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportStageReachedCallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DisposeSCModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSCModalFilterUPP(SCModalFilterUPP userUPP);
+/*
+ * DisposeSCModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSCModalFilterUPP(SCModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSCModalFilterUPP(SCModalFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSCModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSCModalFilterUPP(SCModalFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSCModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSCModalHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSCModalHookUPP(SCModalHookUPP userUPP);
+/*
+ * DisposeSCModalHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSCModalHookUPP(SCModalHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSCModalHookUPP(SCModalHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSCModalHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSCModalHookUPP(SCModalHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSCModalHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMovieExportGetDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMovieExportGetDataUPP(MovieExportGetDataUPP userUPP);
+/*
+ * DisposeMovieExportGetDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMovieExportGetDataUPP(MovieExportGetDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMovieExportGetDataUPP(MovieExportGetDataUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMovieExportGetDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMovieExportGetDataUPP(MovieExportGetDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMovieExportGetDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMovieExportGetPropertyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMovieExportGetPropertyUPP(MovieExportGetPropertyUPP userUPP);
+/*
+ * DisposeMovieExportGetPropertyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMovieExportGetPropertyUPP(MovieExportGetPropertyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMovieExportGetPropertyUPP(MovieExportGetPropertyUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMovieExportGetPropertyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMovieExportGetPropertyUPP(MovieExportGetPropertyUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMovieExportGetPropertyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * DisposeMovieExportStageReachedCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(void)
- DisposeMovieExportStageReachedCallbackUPP(MovieExportStageReachedCallbackUPP userUPP);
+/*
+ * DisposeMovieExportStageReachedCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( void )
+DisposeMovieExportStageReachedCallbackUPP(MovieExportStageReachedCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMovieExportStageReachedCallbackUPP(MovieExportStageReachedCallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMovieExportStageReachedCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMovieExportStageReachedCallbackUPP(MovieExportStageReachedCallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMovieExportStageReachedCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * InvokeSCModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeSCModalFilterUPP(
- DialogRef theDialog,
- EventRecord * theEvent,
- short * itemHit,
- long refcon,
- SCModalFilterUPP userUPP);
+/*
+ * InvokeSCModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeSCModalFilterUPP(
+ DialogRef theDialog,
+ EventRecord * theEvent,
+ short * itemHit,
+ long refcon,
+ SCModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeSCModalFilterUPP(DialogRef theDialog, EventRecord * theEvent, short * itemHit, long refcon, SCModalFilterUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppSCModalFilterProcInfo, theDialog, theEvent, itemHit, refcon);
- }
-#else
-#define InvokeSCModalFilterUPP(theDialog, theEvent, itemHit, refcon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppSCModalFilterProcInfo, (theDialog), (theEvent), (itemHit), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeSCModalFilterUPP(DialogRef theDialog, EventRecord * theEvent, short * itemHit, long refcon, SCModalFilterUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppSCModalFilterProcInfo, theDialog, theEvent, itemHit, refcon); }
+ #else
+ #define InvokeSCModalFilterUPP(theDialog, theEvent, itemHit, refcon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppSCModalFilterProcInfo, (theDialog), (theEvent), (itemHit), (refcon))
+ #endif
#endif
- /*
- * InvokeSCModalHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(short)
- InvokeSCModalHookUPP(
- DialogRef theDialog,
- short itemHit,
- void * params,
- long refcon,
- SCModalHookUPP userUPP);
+/*
+ * InvokeSCModalHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( short )
+InvokeSCModalHookUPP(
+ DialogRef theDialog,
+ short itemHit,
+ void * params,
+ long refcon,
+ SCModalHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(short) InvokeSCModalHookUPP(DialogRef theDialog, short itemHit, void * params, long refcon, SCModalHookUPP userUPP)
- {
- return (short)CALL_FOUR_PARAMETER_UPP(userUPP, uppSCModalHookProcInfo, theDialog, itemHit, params, refcon);
- }
-#else
-#define InvokeSCModalHookUPP(theDialog, itemHit, params, refcon, userUPP) (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppSCModalHookProcInfo, (theDialog), (itemHit), (params), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(short) InvokeSCModalHookUPP(DialogRef theDialog, short itemHit, void * params, long refcon, SCModalHookUPP userUPP) { return (short)CALL_FOUR_PARAMETER_UPP(userUPP, uppSCModalHookProcInfo, theDialog, itemHit, params, refcon); }
+ #else
+ #define InvokeSCModalHookUPP(theDialog, itemHit, params, refcon, userUPP) (short)CALL_FOUR_PARAMETER_UPP((userUPP), uppSCModalHookProcInfo, (theDialog), (itemHit), (params), (refcon))
+ #endif
#endif
- /*
- * InvokeMovieExportGetDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeMovieExportGetDataUPP(
- void * refCon,
- MovieExportGetDataParams * params,
- MovieExportGetDataUPP userUPP);
+/*
+ * InvokeMovieExportGetDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeMovieExportGetDataUPP(
+ void * refCon,
+ MovieExportGetDataParams * params,
+ MovieExportGetDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeMovieExportGetDataUPP(void * refCon, MovieExportGetDataParams * params, MovieExportGetDataUPP userUPP)
- {
- return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppMovieExportGetDataProcInfo, refCon, params);
- }
-#else
-#define InvokeMovieExportGetDataUPP(refCon, params, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppMovieExportGetDataProcInfo, (refCon), (params))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeMovieExportGetDataUPP(void * refCon, MovieExportGetDataParams * params, MovieExportGetDataUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppMovieExportGetDataProcInfo, refCon, params); }
+ #else
+ #define InvokeMovieExportGetDataUPP(refCon, params, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppMovieExportGetDataProcInfo, (refCon), (params))
+ #endif
#endif
- /*
- * InvokeMovieExportGetPropertyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeMovieExportGetPropertyUPP(
- void * refcon,
- long trackID,
- OSType propertyType,
- void * propertyValue,
- MovieExportGetPropertyUPP userUPP);
+/*
+ * InvokeMovieExportGetPropertyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeMovieExportGetPropertyUPP(
+ void * refcon,
+ long trackID,
+ OSType propertyType,
+ void * propertyValue,
+ MovieExportGetPropertyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeMovieExportGetPropertyUPP(void * refcon, long trackID, OSType propertyType, void * propertyValue, MovieExportGetPropertyUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppMovieExportGetPropertyProcInfo, refcon, trackID, propertyType, propertyValue);
- }
-#else
-#define InvokeMovieExportGetPropertyUPP(refcon, trackID, propertyType, propertyValue, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppMovieExportGetPropertyProcInfo, (refcon), (trackID), (propertyType), (propertyValue))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeMovieExportGetPropertyUPP(void * refcon, long trackID, OSType propertyType, void * propertyValue, MovieExportGetPropertyUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppMovieExportGetPropertyProcInfo, refcon, trackID, propertyType, propertyValue); }
+ #else
+ #define InvokeMovieExportGetPropertyUPP(refcon, trackID, propertyType, propertyValue, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppMovieExportGetPropertyProcInfo, (refcon), (trackID), (propertyType), (propertyValue))
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * InvokeMovieExportStageReachedCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API_C(OSErr)
- InvokeMovieExportStageReachedCallbackUPP(
- OSType inStage,
- Movie inMovie,
- ComponentInstance inDataHandler,
- Handle inDataRef,
- OSType inDataRefType,
- void * refCon,
- MovieExportStageReachedCallbackUPP userUPP);
+/*
+ * InvokeMovieExportStageReachedCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API_C( OSErr )
+InvokeMovieExportStageReachedCallbackUPP(
+ OSType inStage,
+ Movie inMovie,
+ ComponentInstance inDataHandler,
+ Handle inDataRef,
+ OSType inDataRefType,
+ void * refCon,
+ MovieExportStageReachedCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeMovieExportStageReachedCallbackUPP(OSType inStage, Movie inMovie, ComponentInstance inDataHandler, Handle inDataRef, OSType inDataRefType, void * refCon, MovieExportStageReachedCallbackUPP userUPP)
- {
- return (OSErr)CALL_SIX_PARAMETER_UPP(userUPP, uppMovieExportStageReachedCallbackProcInfo, inStage, inMovie, inDataHandler, inDataRef, inDataRefType, refCon);
- }
-#else
-#define InvokeMovieExportStageReachedCallbackUPP(inStage, inMovie, inDataHandler, inDataRef, inDataRefType, refCon, userUPP) (OSErr)CALL_SIX_PARAMETER_UPP((userUPP), uppMovieExportStageReachedCallbackProcInfo, (inStage), (inMovie), (inDataHandler), (inDataRef), (inDataRefType), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeMovieExportStageReachedCallbackUPP(OSType inStage, Movie inMovie, ComponentInstance inDataHandler, Handle inDataRef, OSType inDataRefType, void * refCon, MovieExportStageReachedCallbackUPP userUPP) { return (OSErr)CALL_SIX_PARAMETER_UPP(userUPP, uppMovieExportStageReachedCallbackProcInfo, inStage, inMovie, inDataHandler, inDataRef, inDataRefType, refCon); }
+ #else
+ #define InvokeMovieExportStageReachedCallbackUPP(inStage, inMovie, inDataHandler, inDataRef, inDataRefType, refCon, userUPP) (OSErr)CALL_SIX_PARAMETER_UPP((userUPP), uppMovieExportStageReachedCallbackProcInfo, (inStage), (inMovie), (inDataHandler), (inDataRef), (inDataRefType), (refCon))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSCModalFilterProc(userRoutine) NewSCModalFilterUPP(userRoutine)
-#define NewSCModalHookProc(userRoutine) NewSCModalHookUPP(userRoutine)
-#define NewMovieExportGetDataProc(userRoutine) NewMovieExportGetDataUPP(userRoutine)
-#define NewMovieExportGetPropertyProc(userRoutine) NewMovieExportGetPropertyUPP(userRoutine)
-#define NewMovieExportStageReachedCallbackProc(userRoutine) NewMovieExportStageReachedCallbackUPP(userRoutine)
-#define CallSCModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refcon) InvokeSCModalFilterUPP(theDialog, theEvent, itemHit, refcon, userRoutine)
-#define CallSCModalHookProc(userRoutine, theDialog, itemHit, params, refcon) InvokeSCModalHookUPP(theDialog, itemHit, params, refcon, userRoutine)
-#define CallMovieExportGetDataProc(userRoutine, refCon, params) InvokeMovieExportGetDataUPP(refCon, params, userRoutine)
-#define CallMovieExportGetPropertyProc(userRoutine, refcon, trackID, propertyType, propertyValue) InvokeMovieExportGetPropertyUPP(refcon, trackID, propertyType, propertyValue, userRoutine)
-#define CallMovieExportStageReachedCallbackProc(userRoutine, inStage, inMovie, inDataHandler, inDataRef, inDataRefType, refCon) InvokeMovieExportStageReachedCallbackUPP(inStage, inMovie, inDataHandler, inDataRef, inDataRefType, refCon, userRoutine)
+ #define NewSCModalFilterProc(userRoutine) NewSCModalFilterUPP(userRoutine)
+ #define NewSCModalHookProc(userRoutine) NewSCModalHookUPP(userRoutine)
+ #define NewMovieExportGetDataProc(userRoutine) NewMovieExportGetDataUPP(userRoutine)
+ #define NewMovieExportGetPropertyProc(userRoutine) NewMovieExportGetPropertyUPP(userRoutine)
+ #define NewMovieExportStageReachedCallbackProc(userRoutine) NewMovieExportStageReachedCallbackUPP(userRoutine)
+ #define CallSCModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refcon) InvokeSCModalFilterUPP(theDialog, theEvent, itemHit, refcon, userRoutine)
+ #define CallSCModalHookProc(userRoutine, theDialog, itemHit, params, refcon) InvokeSCModalHookUPP(theDialog, itemHit, params, refcon, userRoutine)
+ #define CallMovieExportGetDataProc(userRoutine, refCon, params) InvokeMovieExportGetDataUPP(refCon, params, userRoutine)
+ #define CallMovieExportGetPropertyProc(userRoutine, refcon, trackID, propertyType, propertyValue) InvokeMovieExportGetPropertyUPP(refcon, trackID, propertyType, propertyValue, userRoutine)
+ #define CallMovieExportStageReachedCallbackProc(userRoutine, inStage, inMovie, inDataHandler, inDataRef, inDataRefType, refCon) InvokeMovieExportStageReachedCallbackUPP(inStage, inMovie, inDataHandler, inDataRef, inDataRefType, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * MovieImportHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportHandle(
- MovieImportComponent ci,
- Handle dataH,
- Movie theMovie,
- Track targetTrack,
- Track * usedTrack,
- TimeValue atTime,
- TimeValue * addedDuration,
- long inFlags,
- long * outFlags) FIVEWORDINLINE(0x2F3C, 0x0020, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportFile(
- MovieImportComponent ci,
- const FSSpec * theFile,
- Movie theMovie,
- Track targetTrack,
- Track * usedTrack,
- TimeValue atTime,
- TimeValue * addedDuration,
- long inFlags,
- long * outFlags) FIVEWORDINLINE(0x2F3C, 0x0020, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetSampleDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetSampleDuration(
- MovieImportComponent ci,
- TimeValue duration,
- TimeScale scale) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetSampleDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetSampleDescription(
- MovieImportComponent ci,
- SampleDescriptionHandle desc,
- OSType mediaType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetMediaFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetMediaFile(
- MovieImportComponent ci,
- AliasHandle alias) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetDimensions(
- MovieImportComponent ci,
- Fixed width,
- Fixed height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetChunkSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetChunkSize(
- MovieImportComponent ci,
- long chunkSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetProgressProc(
- MovieImportComponent ci,
- MovieProgressUPP proc,
- long refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetAuxiliaryData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetAuxiliaryData(
- MovieImportComponent ci,
- Handle data,
- OSType handleType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetFromScrap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetFromScrap(
- MovieImportComponent ci,
- Boolean fromScrap) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportDoUserDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportDoUserDialog(
- MovieImportComponent ci,
- const FSSpec * theFile,
- Handle theData,
- Boolean * canceled) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetDuration(
- MovieImportComponent ci,
- TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetAuxiliaryDataType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetAuxiliaryDataType(
- MovieImportComponent ci,
- OSType * auxType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportValidate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportValidate(
- MovieImportComponent ci,
- const FSSpec * theFile,
- Handle theData,
- Boolean * valid) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetFileType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetFileType(
- MovieImportComponent ci,
- OSType * fileType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportDataRef(
- MovieImportComponent ci,
- Handle dataRef,
- OSType dataRefType,
- Movie theMovie,
- Track targetTrack,
- Track * usedTrack,
- TimeValue atTime,
- TimeValue * addedDuration,
- long inFlags,
- long * outFlags) FIVEWORDINLINE(0x2F3C, 0x0024, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetSampleDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetSampleDescription(
- MovieImportComponent ci,
- SampleDescriptionHandle * desc,
- OSType * mediaType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetMIMETypeList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetMIMETypeList(
- MovieImportComponent ci,
- QTAtomContainer * mimeInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetOffsetAndLimit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetOffsetAndLimit(
- MovieImportComponent ci,
- unsigned long offset,
- unsigned long limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetSettingsAsAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetSettingsAsAtomContainer(
- MovieImportComponent ci,
- QTAtomContainer * settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetSettingsFromAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetSettingsFromAtomContainer(
- MovieImportComponent ci,
- QTAtomContainer settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetOffsetAndLimit64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetOffsetAndLimit64(
- MovieImportComponent ci,
- const wide * offset,
- const wide * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportIdle(
- MovieImportComponent ci,
- long inFlags,
- long * outFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportValidateDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportValidateDataRef(
- MovieImportComponent ci,
- Handle dataRef,
- OSType dataRefType,
- UInt8 * valid) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetLoadState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetLoadState(
- MovieImportComponent ci,
- long * importerLoadState) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetMaxLoadedTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetMaxLoadedTime(
- MovieImportComponent ci,
- TimeValue * time) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportEstimateCompletionTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportEstimateCompletionTime(
- MovieImportComponent ci,
- TimeRecord * time) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetDontBlock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetDontBlock(
- MovieImportComponent ci,
- Boolean dontBlock) FIVEWORDINLINE(0x2F3C, 0x0002, 0x001C, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetDontBlock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetDontBlock(
- MovieImportComponent ci,
- Boolean * willBlock) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetIdleManager()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetIdleManager(
- MovieImportComponent ci,
- IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetNewMovieFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetNewMovieFlags(
- MovieImportComponent ci,
- long newMovieFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportGetDestinationMediaType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportGetDestinationMediaType(
- MovieImportComponent ci,
- OSType * mediaType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportSetMediaDataRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportSetMediaDataRef(
- MovieImportComponent ci,
- Handle dataRef,
- OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * MovieImportDoUserDialogDataRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- MovieImportDoUserDialogDataRef(
- MovieImportComponent ci,
- Handle dataRef,
- OSType dataRefType,
- Boolean * canceled) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportToHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportToHandle(
- MovieExportComponent ci,
- Handle dataH,
- Movie theMovie,
- Track onlyThisTrack,
- TimeValue startTime,
- TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0080, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportToFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportToFile(
- MovieExportComponent ci,
- const FSSpec * theFile,
- Movie theMovie,
- Track onlyThisTrack,
- TimeValue startTime,
- TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0081, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportGetAuxiliaryData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportGetAuxiliaryData(
- MovieExportComponent ci,
- Handle dataH,
- OSType * handleType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0083, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportSetProgressProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportSetProgressProc(
- MovieExportComponent ci,
- MovieProgressUPP proc,
- long refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0084, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportSetSampleDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportSetSampleDescription(
- MovieExportComponent ci,
- SampleDescriptionHandle desc,
- OSType mediaType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0085, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportDoUserDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportDoUserDialog(
- MovieExportComponent ci,
- Movie theMovie,
- Track onlyThisTrack,
- TimeValue startTime,
- TimeValue duration,
- Boolean * canceled) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0086, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportGetCreatorType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportGetCreatorType(
- MovieExportComponent ci,
- OSType * creator) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0087, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportToDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportToDataRef(
- MovieExportComponent ci,
- Handle dataRef,
- OSType dataRefType,
- Movie theMovie,
- Track onlyThisTrack,
- TimeValue startTime,
- TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0088, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportFromProceduresToDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportFromProceduresToDataRef(
- MovieExportComponent ci,
- Handle dataRef,
- OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0089, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportAddDataSource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportAddDataSource(
- MovieExportComponent ci,
- OSType trackType,
- TimeScale scale,
- long * trackID,
- MovieExportGetPropertyUPP getPropertyProc,
- MovieExportGetDataUPP getDataProc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0018, 0x008A, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportValidate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportValidate(
- MovieExportComponent ci,
- Movie theMovie,
- Track onlyThisTrack,
- Boolean * valid) FIVEWORDINLINE(0x2F3C, 0x000C, 0x008B, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportGetSettingsAsAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportGetSettingsAsAtomContainer(
- MovieExportComponent ci,
- QTAtomContainer * settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008C, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportSetSettingsFromAtomContainer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportSetSettingsFromAtomContainer(
- MovieExportComponent ci,
- QTAtomContainer settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008D, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportGetFileNameExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportGetFileNameExtension(
- MovieExportComponent ci,
- OSType * extension) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008E, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportGetShortFileTypeString()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportGetShortFileTypeString(
- MovieExportComponent ci,
- Str255 typeString) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008F, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportGetSourceMediaType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportGetSourceMediaType(
- MovieExportComponent ci,
- OSType * mediaType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0090, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportSetGetMoviePropertyProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportSetGetMoviePropertyProc(
- MovieExportComponent ci,
- MovieExportGetPropertyUPP getPropertyProc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0091, 0x7000, 0xA82A);
-
-
- /* Text Export Display Info data structure*/
- struct TextDisplayData
- {
- long displayFlags;
- long textJustification;
- RGBColor bgColor;
- Rect textBox;
-
- short beginHilite;
- short endHilite;
- RGBColor hiliteColor;
- Boolean doHiliteColor;
- SInt8 filler;
- TimeValue scrollDelayDur;
- Point dropShadowOffset;
- short dropShadowTransparency;
- };
- typedef struct TextDisplayData TextDisplayData;
-
- typedef ComponentInstance TextExportComponent;
- typedef ComponentInstance GraphicImageMovieImportComponent;
- /*
- * TextExportGetDisplayData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextExportGetDisplayData(
- TextExportComponent ci,
- TextDisplayData * textDisplay) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * TextExportGetTimeFraction()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextExportGetTimeFraction(
- TextExportComponent ci,
- long * movieTimeFraction) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * TextExportSetTimeFraction()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextExportSetTimeFraction(
- TextExportComponent ci,
- long movieTimeFraction) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * TextExportGetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextExportGetSettings(
- TextExportComponent ci,
- long * setting) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * TextExportSetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TextExportSetSettings(
- TextExportComponent ci,
- long setting) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
-
-
-
- /*
- * MIDIImportGetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MIDIImportGetSettings(
- TextExportComponent ci,
- long * setting) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * MIDIImportSetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MIDIImportSetSettings(
- TextExportComponent ci,
- long setting) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportNewGetDataAndPropertiesProcs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportNewGetDataAndPropertiesProcs(
- MovieExportComponent ci,
- OSType trackType,
- TimeScale * scale,
- Movie theMovie,
- Track theTrack,
- TimeValue startTime,
- TimeValue duration,
- MovieExportGetPropertyUPP * getPropertyProc,
- MovieExportGetDataUPP * getDataProc,
- void ** refCon) FIVEWORDINLINE(0x2F3C, 0x0024, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * MovieExportDisposeGetDataAndPropertiesProcs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MovieExportDisposeGetDataAndPropertiesProcs(
- MovieExportComponent ci,
- MovieExportGetPropertyUPP getPropertyProc,
- MovieExportGetDataUPP getDataProc,
- void * refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
-
-
- enum
- {
- movieExportUseConfiguredSettings = FOUR_CHAR_CODE('ucfg'), /* pointer to Boolean*/
- movieExportWidth = FOUR_CHAR_CODE('wdth'), /* pointer to Fixed*/
- movieExportHeight = FOUR_CHAR_CODE('hegt'), /* pointer to Fixed*/
- movieExportDuration = FOUR_CHAR_CODE('dura'), /* pointer to TimeRecord*/
- movieExportVideoFilter = FOUR_CHAR_CODE('iflt'), /* pointer to QTAtomContainer*/
- movieExportTimeScale = FOUR_CHAR_CODE('tmsc'), /* pointer to TimeScale*/
- movieExportSourceApertureMode = FOUR_CHAR_CODE('srap') /* pointer to OSType. Source movie's aperture mode..Set the aperture mode on the decompression session.*/
- };
-
- /* Component Properties specific to Movie Export components*/
- enum
- {
- kQTMovieExporterPropertyID_StageReachedCallback = FOUR_CHAR_CODE('stgr'), /* value is a MovieExportStageReachedCallbackProcRecord*/
- kQTMovieExporterPropertyID_DeinterlaceVideo = FOUR_CHAR_CODE('dint') /* value is a Boolean */
- };
-
- /* Stages passed to MovieExportStageReachedCallbackProc*/
- enum
- {
- kQTMovieExportStage_EmptyMovieCreated = FOUR_CHAR_CODE('empt'),
- kQTMovieExportStage_AllTracksAddedToMovie = FOUR_CHAR_CODE('trax')
- };
-
- struct MovieExportStageReachedCallbackProcRecord
- {
- MovieExportStageReachedCallbackUPP stageReachedCallbackProc;
- void * stageReachedCallbackRefCon;
- };
- typedef struct MovieExportStageReachedCallbackProcRecord MovieExportStageReachedCallbackProcRecord;
- /*
- * GraphicsImageImportSetSequenceEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImageImportSetSequenceEnabled(
- GraphicImageMovieImportComponent ci,
- Boolean enable) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * GraphicsImageImportGetSequenceEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- GraphicsImageImportGetSequenceEnabled(
- GraphicImageMovieImportComponent ci,
- Boolean * enable) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
-
-
-
-
-
- /*----------------------------'brws' o browser prefs configuration info ------------------------*/
- enum
- {
- kQTBrowserInfoCanUseSystemFolderPlugin = (1L << 0) /* Mac browser can use plug-in from System "Internet Plug-ins" folder */
- };
-
-
-
-
- enum
- {
- kQTPreFlightOpenComponent = (1L << 1) /* Open component as preflight check*/
- };
-
- struct ComponentPreflightFlags
- {
- long flags;
- };
- typedef struct ComponentPreflightFlags ComponentPreflightFlags;
-
-
-
-
-
- /***************
-
- File Preview Components
-
- ***************/
-
- typedef ComponentInstance pnotComponent;
- enum
- {
- pnotComponentWantsEvents = 1,
- pnotComponentNeedsNoCache = 2
- };
-
- enum
- {
- ShowFilePreviewComponentType = FOUR_CHAR_CODE('pnot'),
- CreateFilePreviewComponentType = FOUR_CHAR_CODE('pmak')
- };
-
- /*
- * PreviewShowData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- PreviewShowData(
- pnotComponent p,
- OSType dataType,
- Handle data,
- const Rect * inHere) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * PreviewMakePreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- PreviewMakePreview(
- pnotComponent p,
- OSType * previewType,
- Handle * previewResult,
- const FSSpec * sourceFile,
- ICMProgressProcRecordPtr progress) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * PreviewMakePreviewReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- PreviewMakePreviewReference(
- pnotComponent p,
- OSType * previewType,
- short * resID,
- const FSSpec * sourceFile) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * PreviewEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- PreviewEvent(
- pnotComponent p,
- EventRecord * e,
- Boolean * handledEvent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
-
-
-
-
- typedef ComponentInstance DataCompressorComponent;
- typedef ComponentInstance DataDecompressorComponent;
- typedef ComponentInstance DataCodecComponent;
- enum
- {
- DataCompressorComponentType = FOUR_CHAR_CODE('dcom'),
- DataDecompressorComponentType = FOUR_CHAR_CODE('ddec'),
- AppleDataCompressorSubType = FOUR_CHAR_CODE('adec'),
- zlibDataCompressorSubType = FOUR_CHAR_CODE('zlib')
- };
-
-
- /** These are DataCodec procedures **/
- /*
- * DataCodecDecompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataCodecDecompress(
- DataCodecComponent dc,
- void * srcData,
- UInt32 srcSize,
- void * dstData,
- UInt32 dstBufferSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * DataCodecGetCompressBufferSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataCodecGetCompressBufferSize(
- DataCodecComponent dc,
- UInt32 srcSize,
- UInt32 * dstSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * DataCodecCompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataCodecCompress(
- DataCodecComponent dc,
- void * srcData,
- UInt32 srcSize,
- void * dstData,
- UInt32 dstBufferSize,
- UInt32 * actualDstSize,
- UInt32 * decompressSlop) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * DataCodecBeginInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataCodecBeginInterruptSafe(
- DataCodecComponent dc,
- unsigned long maxSrcSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * DataCodecEndInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataCodecEndInterruptSafe(DataCodecComponent dc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * DataCodecDecompressPartial()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataCodecDecompressPartial(
- DataCodecComponent dc,
- void ** next_in,
- unsigned long * avail_in,
- unsigned long * total_in,
- void ** next_out,
- unsigned long * avail_out,
- unsigned long * total_out,
- Boolean * didFinish) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * DataCodecCompressPartial()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataCodecCompressPartial(
- DataCodecComponent dc,
- void ** next_in,
- unsigned long * avail_in,
- unsigned long * total_in,
- void ** next_out,
- unsigned long * avail_out,
- unsigned long * total_out,
- Boolean tryToFinish,
- Boolean * didFinish) FIVEWORDINLINE(0x2F3C, 0x001E, 0x0007, 0x7000, 0xA82A);
-
-
-
-
-
- typedef CALLBACK_API(void , DataHCompletionProcPtr)(Ptr request, long refcon, OSErr err);
- typedef STACK_UPP_TYPE(DataHCompletionProcPtr) DataHCompletionUPP;
-
- enum
- {
- kDataHCanRead = 1L << 0,
- kDataHSpecialRead = 1L << 1,
- kDataHSpecialReadFile = 1L << 2,
- kDataHCanWrite = 1L << 3,
- kDataHSpecialWrite = 1 << 4,
- kDataHSpecialWriteFile = 1 << 5,
- kDataHCanStreamingWrite = 1 << 6,
- kDataHMustCheckDataRef = 1 << 7
- };
-
- /* Data reference records for specific data ref types*/
- struct HandleDataRefRecord
- {
- Handle dataHndl;
- };
- typedef struct HandleDataRefRecord HandleDataRefRecord;
- typedef HandleDataRefRecord * HandleDataRefPtr;
- typedef HandleDataRefPtr * HandleDataRef;
- struct PointerDataRefRecord
- {
- void * data;
- Size dataLength;
- };
- typedef struct PointerDataRefRecord PointerDataRefRecord;
- typedef PointerDataRefRecord * PointerDataRefPtr;
- typedef PointerDataRefPtr * PointerDataRef;
- /* Data reference extensions*/
- enum
- {
- kDataRefExtensionChokeSpeed = FOUR_CHAR_CODE('chok'),
- kDataRefExtensionFileName = FOUR_CHAR_CODE('fnam'),
- kDataRefExtensionMIMEType = FOUR_CHAR_CODE('mime'),
- kDataRefExtensionMacOSFileType = FOUR_CHAR_CODE('ftyp'),
- kDataRefExtensionInitializationData = FOUR_CHAR_CODE('data'),
- kDataRefExtensionQuickTimeMediaType = FOUR_CHAR_CODE('mtyp')
- };
-
- enum
- {
- kDataHChokeToMovieDataRate = 1 << 0, /* param is 0*/
- kDataHChokeToParam = 1 << 1 /* param is bytes per second*/
- };
-
- struct DataHChokeAtomRecord
- {
- long flags; /* one of kDataHChokeTo constants*/
- long param;
- };
- typedef struct DataHChokeAtomRecord DataHChokeAtomRecord;
-
- struct DataHVolumeListRecord
- {
- short vRefNum;
- long flags;
- };
- typedef struct DataHVolumeListRecord DataHVolumeListRecord;
- typedef DataHVolumeListRecord * DataHVolumeListPtr;
- typedef DataHVolumeListPtr * DataHVolumeList;
- enum
- {
- kDataHExtendedSchedule = FOUR_CHAR_CODE('xtnd')
- };
-
- struct DataHScheduleRecord
- {
- TimeRecord timeNeededBy;
- long extendedID; /* always is kDataHExtendedSchedule*/
- long extendedVers; /* always set to 0*/
- Fixed priority; /* 100.0 or more means must have. lower numbers...*/
- };
- typedef struct DataHScheduleRecord DataHScheduleRecord;
- typedef DataHScheduleRecord * DataHSchedulePtr;
- /* Flags for DataHGetInfoFlags*/
- enum
- {
- kDataHInfoFlagNeverStreams = 1 << 0, /* set if this data handler doesn't stream*/
- kDataHInfoFlagCanUpdateDataRefs = 1 << 1, /* set if this data handler might update data reference*/
- kDataHInfoFlagNeedsNetworkBandwidth = 1 << 2 /* set if this data handler may need to occupy the network*/
- };
-
-
- /* Types for DataHGetFileTypeOrdering*/
- enum
- {
- kDataHFileTypeMacOSFileType = FOUR_CHAR_CODE('ftyp'),
- kDataHFileTypeExtension = FOUR_CHAR_CODE('fext'),
- kDataHFileTypeMIME = FOUR_CHAR_CODE('mime')
- };
-
- typedef OSType * DataHFileTypeOrderingPtr;
- typedef DataHFileTypeOrderingPtr * DataHFileTypeOrderingHandle;
-
- /*
- * DataHGetData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetData(
- DataHandler dh,
- Handle h,
- long hOffset,
- long offset,
- long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * DataHPutData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHPutData(
- DataHandler dh,
- Handle h,
- long hOffset,
- long * offset,
- long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * DataHFlushData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHFlushData(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * DataHOpenForWrite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHOpenForWrite(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * DataHCloseForWrite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHCloseForWrite(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
-
-
-
- /*
- * DataHOpenForRead()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHOpenForRead(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * DataHCloseForRead()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHCloseForRead(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetDataRef(
- DataHandler dh,
- Handle dataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDataRef(
- DataHandler dh,
- Handle * dataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * DataHCompareDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHCompareDataRef(
- DataHandler dh,
- Handle dataRef,
- Boolean * equal) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * DataHTask()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHTask(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * DataHScheduleData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHScheduleData(
- DataHandler dh,
- Ptr PlaceToPutDataPtr,
- long FileOffset,
- long DataSize,
- long RefCon,
- DataHSchedulePtr scheduleRec,
- DataHCompletionUPP CompletionRtn) FIVEWORDINLINE(0x2F3C, 0x0018, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * DataHFinishData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHFinishData(
- DataHandler dh,
- Ptr PlaceToPutDataPtr,
- Boolean Cancel) FIVEWORDINLINE(0x2F3C, 0x0006, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * DataHFlushCache()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHFlushCache(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * DataHResolveDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHResolveDataRef(
- DataHandler dh,
- Handle theDataRef,
- Boolean * wasChanged,
- Boolean userInterfaceAllowed) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetFileSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetFileSize(
- DataHandler dh,
- long * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * DataHCanUseDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHCanUseDataRef(
- DataHandler dh,
- Handle dataRef,
- long * useFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetVolumeList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetVolumeList(
- DataHandler dh,
- DataHVolumeList * volumeList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * DataHWrite()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHWrite(
- DataHandler dh,
- Ptr data,
- long offset,
- long size,
- DataHCompletionUPP completion,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * DataHPreextend()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHPreextend(
- DataHandler dh,
- unsigned long maxToAdd,
- unsigned long * spaceAdded) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetFileSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetFileSize(
- DataHandler dh,
- long fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetFreeSpace()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetFreeSpace(
- DataHandler dh,
- unsigned long * freeSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * DataHCreateFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHCreateFile(
- DataHandler dh,
- OSType creator,
- Boolean deleteExisting) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetPreferredBlockSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetPreferredBlockSize(
- DataHandler dh,
- long * blockSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetDeviceIndex()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDeviceIndex(
- DataHandler dh,
- long * deviceIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * DataHIsStreamingDataHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHIsStreamingDataHandler(
- DataHandler dh,
- Boolean * yes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetDataInBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDataInBuffer(
- DataHandler dh,
- long startOffset,
- long * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetScheduleAheadTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetScheduleAheadTime(
- DataHandler dh,
- long * millisecs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetCacheSizeLimit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetCacheSizeLimit(
- DataHandler dh,
- Size cacheSizeLimit) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetCacheSizeLimit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetCacheSizeLimit(
- DataHandler dh,
- Size * cacheSizeLimit) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetMovie(
- DataHandler dh,
- Movie * theMovie,
- short * id) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * DataHAddMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHAddMovie(
- DataHandler dh,
- Movie theMovie,
- short * id) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * DataHUpdateMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHUpdateMovie(
- DataHandler dh,
- Movie theMovie,
- short id) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A);
-
-
- /*
- * DataHDoesBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHDoesBuffer(
- DataHandler dh,
- Boolean * buffersReads,
- Boolean * buffersWrites) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetFileName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetFileName(
- DataHandler dh,
- Str255 str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetAvailableFileSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetAvailableFileSize(
- DataHandler dh,
- long * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetMacOSFileType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetMacOSFileType(
- DataHandler dh,
- OSType * fileType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetMIMEType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetMIMEType(
- DataHandler dh,
- Str255 mimeType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetDataRefWithAnchor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetDataRefWithAnchor(
- DataHandler dh,
- Handle anchorDataRef,
- OSType dataRefType,
- Handle dataRef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0029, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetDataRefWithAnchor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDataRefWithAnchor(
- DataHandler dh,
- Handle anchorDataRef,
- OSType dataRefType,
- Handle * dataRef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002A, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetMacOSFileType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetMacOSFileType(
- DataHandler dh,
- OSType fileType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetTimeBase(
- DataHandler dh,
- TimeBase tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetInfoFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetInfoFlags(
- DataHandler dh,
- UInt32 * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002D, 0x7000, 0xA82A);
-
-
- /*
- * DataHScheduleData64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHScheduleData64(
- DataHandler dh,
- Ptr PlaceToPutDataPtr,
- const wide * FileOffset,
- long DataSize,
- long RefCon,
- DataHSchedulePtr scheduleRec,
- DataHCompletionUPP CompletionRtn) FIVEWORDINLINE(0x2F3C, 0x0018, 0x002E, 0x7000, 0xA82A);
-
-
- /*
- * DataHWrite64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHWrite64(
- DataHandler dh,
- Ptr data,
- const wide * offset,
- long size,
- DataHCompletionUPP completion,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x002F, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetFileSize64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetFileSize64(
- DataHandler dh,
- wide * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
-
-
- /*
- * DataHPreextend64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHPreextend64(
- DataHandler dh,
- const wide * maxToAdd,
- wide * spaceAdded) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetFileSize64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetFileSize64(
- DataHandler dh,
- const wide * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0032, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetFreeSpace64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetFreeSpace64(
- DataHandler dh,
- wide * freeSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
-
-
- /*
- * DataHAppend64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHAppend64(
- DataHandler dh,
- void * data,
- wide * fileOffset,
- unsigned long size) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0034, 0x7000, 0xA82A);
-
-
- /*
- * DataHReadAsync()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHReadAsync(
- DataHandler dh,
- void * dataPtr,
- UInt32 dataSize,
- const wide * dataOffset,
- DataHCompletionUPP completion,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0035, 0x7000, 0xA82A);
-
-
- /*
- * DataHPollRead()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHPollRead(
- DataHandler dh,
- void * dataPtr,
- UInt32 * dataSizeSoFar) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetDataAvailability()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDataAvailability(
- DataHandler dh,
- long offset,
- long len,
- long * missing_offset,
- long * missing_len) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0037, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetFileSizeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetFileSizeAsync(
- DataHandler dh,
- wide * fileSize,
- DataHCompletionUPP completionRtn,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003A, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetDataRefAsType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDataRefAsType(
- DataHandler dh,
- OSType requestedType,
- Handle * dataRef) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003B, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetDataRefExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetDataRefExtension(
- DataHandler dh,
- Handle extension,
- OSType idType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003C, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetDataRefExtension()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDataRefExtension(
- DataHandler dh,
- Handle * extension,
- OSType idType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003D, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetMovieWithFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetMovieWithFlags(
- DataHandler dh,
- Movie * theMovie,
- short * id,
- short flags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x003E, 0x7000, 0xA82A);
-
-
-
- /*
- * DataHGetFileTypeOrdering()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetFileTypeOrdering(
- DataHandler dh,
- DataHFileTypeOrderingHandle * orderingListHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0040, 0x7000, 0xA82A);
-
-
- /* flags for DataHCreateFileWithFlags*/
- enum
- {
- kDataHCreateFileButDontCreateResFile = (1L << 0)
- };
-
- /*
- * DataHCreateFileWithFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHCreateFileWithFlags(
- DataHandler dh,
- OSType creator,
- Boolean deleteExisting,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0041, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetMIMETypeAsync()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetMIMETypeAsync(
- DataHandler dh,
- Str255 mimeType,
- DataHCompletionUPP completionRtn,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0042, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0.1 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in qtmlClient.lib 5.0.1 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetInfo(
- DataHandler dh,
- OSType what,
- void * info) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0043, 0x7000, 0xA82A);
-
-
- /*
- * DataHSetIdleManager()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetIdleManager(
- DataHandler dh,
- IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0044, 0x7000, 0xA82A);
-
-
- /*
- * DataHDeleteFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHDeleteFile(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0045, 0x7000, 0xA82A);
-
-
- enum
- {
- kDataHMovieUsageDoAppendMDAT = 1L << 0 /* if set, datahandler should append wide and mdat atoms in append call*/
- };
-
- /*
- * DataHSetMovieUsageFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetMovieUsageFlags(
- DataHandler dh,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0046, 0x7000, 0xA82A);
-
-
-
- enum
- {
- kDataHTempUseSameDirectory = 1L << 0, /* temp data ref should be in same directory as current data ref (vs. in temporary directory)*/
- kDataHTempUseSameVolume = 1L << 1, /* temp data ref should be on same volume as current data ref (vs. find "best" volume)*/
- kDataHTempCreateFile = 1L << 2, /* create the file*/
- kDataHTempOpenFile = 1L << 3 /* open temporary file for write (kDataHTempCreateFile must be passed, too)*/
- };
-
- /*
- * DataHUseTemporaryDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHUseTemporaryDataRef(
- DataHandler dh,
- long inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetTemporaryDataRefCapabilities()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetTemporaryDataRefCapabilities(
- DataHandler dh,
- long * outUnderstoodFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
-
-
- /*
- * DataHRenameFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHRenameFile(
- DataHandler dh,
- Handle newDataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0049, 0x7000, 0xA82A);
-
-
- /* selector 74 skipped */
- /* selector 75 skipped */
- /* selector 76 skipped */
- /* selector 77 skipped */
- /*
- * DataHGetAvailableFileSize64()
- *
- * Summary:
- * Returns the amount of contiguous data from the start of the file
- * that's currently available for reading.
- *
- * Discussion:
- * The 64-bit variant of DataHGetAvailableFileSize. Note that all
- * data handlers that support fast-start playback, e.g. an http data
- * handler, must implement DataHGetAvailableFileSize. Those that
- * support files larger than 2 GB must also implement
- * DataHGetAvailableFileSize64.
- *
- * Parameters:
- *
- * dh:
- * Component instance / instance globals.
- *
- * fileSize:
- * Points to a variable to receive the amount of contiguous data
- * from the start of the file that's currently available for
- * reading.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- DataHGetAvailableFileSize64(
- DataHandler dh,
- wide * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004E, 0x7000, 0xA82A);
-
-
- /*
- * DataHGetDataAvailability64()
- *
- * Summary:
- * Checks the availability of the specified range of data and
- * returns the first range of missing data needed to satisfy a read
- * request. Returns an empty range starting at the end of the
- * specified range when a read request for the specified range can
- * be satisfied immediately.
- *
- * Discussion:
- * The 64-bit variant of DataHGetDataAvailability. Note that all
- * data handlers that support fast-start playback, e.g. an http data
- * handler, should implement DataHGetDataAvailability. Those that
- * support files larger than 2 GB should also implement
- * DataHGetDataAvailability64.
- *
- * Parameters:
- *
- * dh:
- * Component instance / instance globals.
- *
- * offset:
- * The start of the requested range of data.
- *
- * len:
- * The length of the requested range of data.
- *
- * missing_offset:
- * The offset from the start of the file of the first byte of data
- * within the requested range that's not yet available. If the
- * entire range is available, the offset returned is the offset of
- * the first byte after the requested range.
- *
- * missing_len:
- * The length of the range of data starting at missing_offset
- * that's not yet available. If the entire range of data is
- * available, the length returned is 0.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDataAvailability64(
- DataHandler dh,
- const wide * offset,
- long len,
- wide * missing_offset,
- long * missing_len) FIVEWORDINLINE(0x2F3C, 0x0010, 0x004F, 0x7000, 0xA82A);
-
-
- /* selector 80 skipped */
- /* selector 81 skipped */
- /*
- * DataHPlaybackHints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHPlaybackHints(
- DataHandler dh,
- long flags,
- unsigned long minFileOffset,
- unsigned long maxFileOffset,
- long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * DataHPlaybackHints64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.1 and later
- */
- EXTERN_API(ComponentResult)
- DataHPlaybackHints64(
- DataHandler dh,
- long flags,
- const wide * minFileOffset,
- const wide * maxFileOffset,
- long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010E, 0x7000, 0xA82A);
-
-
- /* Symbolic constants for DataHGetDataRate*/
- enum
- {
- kDataHGetDataRateInfiniteRate = 0x7FFFFFFF /* all the data arrived instantaneously*/
- };
-
- /*
- * DataHGetDataRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHGetDataRate(
- DataHandler dh,
- long flags,
- long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0110, 0x7000, 0xA82A);
-
-
- /* Flags for DataHSetTimeHints*/
- enum
- {
- kDataHSetTimeHintsSkipBandwidthRequest = 1 << 0 /* set if this data handler should use the network without requesting bandwidth*/
- };
-
- /*
- * DataHSetTimeHints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- DataHSetTimeHints(
- DataHandler dh,
- long flags,
- long bandwidthPriority,
- TimeScale scale,
- TimeValue minTime,
- TimeValue maxTime) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0111, 0x7000, 0xA82A);
-
-
-
-
-
-
- /* Standard type for video digitizers */
- enum
- {
- videoDigitizerComponentType = FOUR_CHAR_CODE('vdig'),
- vdigInterfaceRev = 2
- };
-
- /* Input Format Standards */
- enum
- {
- ntscIn = 0, /* current input format */
- currentIn = 0, /* ntsc input format */
- palIn = 1, /* pal input format */
- secamIn = 2, /* secam input format */
- ntscReallyIn = 3 /* ntsc input format */
- };
-
- /* Input Formats */
- enum
- {
- compositeIn = 0, /* input is composite format */
- sVideoIn = 1, /* input is sVideo format */
- rgbComponentIn = 2, /* input is rgb component format */
- rgbComponentSyncIn = 3, /* input is rgb component format (sync on green?)*/
- yuvComponentIn = 4, /* input is yuv component format */
- yuvComponentSyncIn = 5, /* input is yuv component format (sync on green?) */
- tvTunerIn = 6,
- sdiIn = 7
- };
-
-
- /* Video Digitizer PlayThru States */
- enum
- {
- vdPlayThruOff = 0,
- vdPlayThruOn = 1
- };
-
- /* Input Color Space Modes */
- enum
- {
- vdDigitizerBW = 0, /* black and white */
- vdDigitizerRGB = 1 /* rgb color */
- };
-
- /* Phase Lock Loop Modes */
- enum
- {
- vdBroadcastMode = 0, /* Broadcast / Laser Disk video mode */
- vdVTRMode = 1 /* VCR / Magnetic media mode */
- };
-
- /* Field Select Options */
- enum
- {
- vdUseAnyField = 0, /* Digitizers choice on field use */
- vdUseOddField = 1, /* Use odd field for half size vert and smaller */
- vdUseEvenField = 2 /* Use even field for half size vert and smaller */
- };
-
- /* vdig types */
- enum
- {
- vdTypeBasic = 0, /* basic, no clipping */
- vdTypeAlpha = 1, /* supports clipping with alpha channel */
- vdTypeMask = 2, /* supports clipping with mask plane */
- vdTypeKey = 3 /* supports clipping with key color(s) */
- };
-
-
-
- /* Digitizer Input Capability/Current Flags */
- enum
- {
- digiInDoesNTSC = 1L << 0, /* digitizer supports NTSC input format */
- digiInDoesPAL = 1L << 1, /* digitizer supports PAL input format */
- digiInDoesSECAM = 1L << 2, /* digitizer supports SECAM input format */
- digiInDoesGenLock = 1L << 7, /* digitizer does genlock */
- digiInDoesComposite = 1L << 8, /* digitizer supports composite input type */
- digiInDoesSVideo = 1L << 9, /* digitizer supports S-Video input type */
- digiInDoesComponent = 1L << 10, /* digitizer supports component = rgb, input type */
- digiInVTR_Broadcast = 1L << 11, /* digitizer can differentiate between the two */
- digiInDoesColor = 1L << 12, /* digitizer supports color */
- digiInDoesBW = 1L << 13, /* digitizer supports black & white */
- /* Digitizer Input Current Flags = these are valid only during active operating conditions, */
- digiInSignalLock = 1L << 31 /* digitizer detects input signal is locked, this bit = horiz lock || vertical lock */
- };
-
-
- /* Digitizer Output Capability/Current Flags */
- enum
- {
- digiOutDoes1 = 1L << 0, /* digitizer supports 1 bit pixels */
- digiOutDoes2 = 1L << 1, /* digitizer supports 2 bit pixels */
- digiOutDoes4 = 1L << 2, /* digitizer supports 4 bit pixels */
- digiOutDoes8 = 1L << 3, /* digitizer supports 8 bit pixels */
- digiOutDoes16 = 1L << 4, /* digitizer supports 16 bit pixels */
- digiOutDoes32 = 1L << 5, /* digitizer supports 32 bit pixels */
- digiOutDoesDither = 1L << 6, /* digitizer dithers in indexed modes */
- digiOutDoesStretch = 1L << 7, /* digitizer can arbitrarily stretch */
- digiOutDoesShrink = 1L << 8, /* digitizer can arbitrarily shrink */
- digiOutDoesMask = 1L << 9, /* digitizer can mask to clipping regions */
- digiOutDoesDouble = 1L << 11, /* digitizer can stretch to exactly double size */
- digiOutDoesQuad = 1L << 12, /* digitizer can stretch exactly quadruple size */
- digiOutDoesQuarter = 1L << 13, /* digitizer can shrink to exactly quarter size */
- digiOutDoesSixteenth = 1L << 14, /* digitizer can shrink to exactly sixteenth size */
- digiOutDoesRotate = 1L << 15, /* digitizer supports rotate transformations */
- digiOutDoesHorizFlip = 1L << 16, /* digitizer supports horizontal flips Sx < 0 */
- digiOutDoesVertFlip = 1L << 17, /* digitizer supports vertical flips Sy < 0 */
- digiOutDoesSkew = 1L << 18, /* digitizer supports skew = shear,twist, */
- digiOutDoesBlend = 1L << 19,
- digiOutDoesWarp = 1L << 20,
- digiOutDoesHW_DMA = 1L << 21, /* digitizer not constrained to local device */
- digiOutDoesHWPlayThru = 1L << 22, /* digitizer doesn't need time to play thru */
- digiOutDoesILUT = 1L << 23, /* digitizer does inverse LUT for index modes */
- digiOutDoesKeyColor = 1L << 24, /* digitizer does key color functions too */
- digiOutDoesAsyncGrabs = 1L << 25, /* digitizer supports async grabs */
- digiOutDoesUnreadableScreenBits = 1L << 26, /* playthru doesn't generate readable bits on screen*/
- digiOutDoesCompress = 1L << 27, /* supports alternate output data types */
- digiOutDoesCompressOnly = 1L << 28, /* can't provide raw frames anywhere */
- digiOutDoesPlayThruDuringCompress = 1L << 29, /* digi can do playthru while providing compressed data */
- digiOutDoesCompressPartiallyVisible = 1L << 30, /* digi doesn't need all bits visible on screen to do hardware compress */
- digiOutDoesNotNeedCopyOfCompressData = 1L << 31 /* digi doesn't need any bufferization when providing compressed data */
- };
-
- /* Types */
- typedef ComponentInstance VideoDigitizerComponent;
- typedef ComponentResult VideoDigitizerError;
- struct DigitizerInfo
- {
- short vdigType;
- long inputCapabilityFlags;
- long outputCapabilityFlags;
- long inputCurrentFlags;
- long outputCurrentFlags;
- short slot; /* temporary for connection purposes */
- GDHandle gdh; /* temporary for digitizers that have preferred screen */
- GDHandle maskgdh; /* temporary for digitizers that have mask planes */
- short minDestHeight; /* Smallest resizable height */
- short minDestWidth; /* Smallest resizable width */
- short maxDestHeight; /* Largest resizable height */
- short maxDestWidth; /* Largest resizable width */
- short blendLevels; /* Number of blend levels supported (2 if 1 bit mask) */
- long reserved; /* reserved */
- };
- typedef struct DigitizerInfo DigitizerInfo;
- struct VdigType
- {
- long digType;
- long reserved;
- };
- typedef struct VdigType VdigType;
- struct VdigTypeList
- {
- short count;
- VdigType list[1];
- };
- typedef struct VdigTypeList VdigTypeList;
- struct VdigBufferRec
- {
- PixMapHandle dest;
- Point location;
- long reserved;
- };
- typedef struct VdigBufferRec VdigBufferRec;
- struct VdigBufferRecList
- {
- short count;
- MatrixRecordPtr matrix;
- RgnHandle mask;
- VdigBufferRec list[1];
- };
- typedef struct VdigBufferRecList VdigBufferRecList;
- typedef VdigBufferRecList * VdigBufferRecListPtr;
- typedef VdigBufferRecListPtr * VdigBufferRecListHandle;
- typedef CALLBACK_API(void , VdigIntProcPtr)(long flags, long refcon);
- typedef STACK_UPP_TYPE(VdigIntProcPtr) VdigIntUPP;
- struct VDCompressionList
- {
- CodecComponent codec;
- CodecType cType;
- Str63 typeName;
- Str63 name;
- long formatFlags;
- long compressFlags;
- long reserved;
- };
- typedef struct VDCompressionList VDCompressionList;
- typedef VDCompressionList * VDCompressionListPtr;
- typedef VDCompressionListPtr * VDCompressionListHandle;
- enum
- {
- dmaDepth1 = 1,
- dmaDepth2 = 2,
- dmaDepth4 = 4,
- dmaDepth8 = 8,
- dmaDepth16 = 16,
- dmaDepth32 = 32,
- dmaDepth2Gray = 64,
- dmaDepth4Gray = 128,
- dmaDepth8Gray = 256
- };
-
- enum
- {
- kVDIGControlledFrameRate = -1
- };
-
-
- /*
- * VDGetMaxSrcRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetMaxSrcRect(
- VideoDigitizerComponent ci,
- short inputStd,
- Rect * maxSrcRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * VDGetActiveSrcRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetActiveSrcRect(
- VideoDigitizerComponent ci,
- short inputStd,
- Rect * activeSrcRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * VDSetDigitizerRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetDigitizerRect(
- VideoDigitizerComponent ci,
- Rect * digitizerRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * VDGetDigitizerRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetDigitizerRect(
- VideoDigitizerComponent ci,
- Rect * digitizerRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * VDGetVBlankRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetVBlankRect(
- VideoDigitizerComponent ci,
- short inputStd,
- Rect * vBlankRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * VDGetMaskPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetMaskPixMap(
- VideoDigitizerComponent ci,
- PixMapHandle maskPixMap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * VDGetPlayThruDestination()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetPlayThruDestination(
- VideoDigitizerComponent ci,
- PixMapHandle * dest,
- Rect * destRect,
- MatrixRecord * m,
- RgnHandle * mask) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * VDUseThisCLUT()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDUseThisCLUT(
- VideoDigitizerComponent ci,
- CTabHandle colorTableHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * VDSetInputGammaValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetInputGammaValue(
- VideoDigitizerComponent ci,
- Fixed channel1,
- Fixed channel2,
- Fixed channel3) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * VDGetInputGammaValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetInputGammaValue(
- VideoDigitizerComponent ci,
- Fixed * channel1,
- Fixed * channel2,
- Fixed * channel3) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * VDSetBrightness()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetBrightness(
- VideoDigitizerComponent ci,
- unsigned short * brightness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * VDGetBrightness()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetBrightness(
- VideoDigitizerComponent ci,
- unsigned short * brightness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * VDSetContrast()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetContrast(
- VideoDigitizerComponent ci,
- unsigned short * contrast) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * VDSetHue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetHue(
- VideoDigitizerComponent ci,
- unsigned short * hue) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * VDSetSharpness()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetSharpness(
- VideoDigitizerComponent ci,
- unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * VDSetSaturation()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetSaturation(
- VideoDigitizerComponent ci,
- unsigned short * saturation) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * VDGetContrast()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetContrast(
- VideoDigitizerComponent ci,
- unsigned short * contrast) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * VDGetHue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetHue(
- VideoDigitizerComponent ci,
- unsigned short * hue) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * VDGetSharpness()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetSharpness(
- VideoDigitizerComponent ci,
- unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * VDGetSaturation()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetSaturation(
- VideoDigitizerComponent ci,
- unsigned short * saturation) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * VDGrabOneFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGrabOneFrame(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * VDGetMaxAuxBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetMaxAuxBuffer(
- VideoDigitizerComponent ci,
- PixMapHandle * pm,
- Rect * r) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * VDGetDigitizerInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetDigitizerInfo(
- VideoDigitizerComponent ci,
- DigitizerInfo * info) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * VDGetCurrentFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetCurrentFlags(
- VideoDigitizerComponent ci,
- long * inputCurrentFlag,
- long * outputCurrentFlag) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * VDSetKeyColor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetKeyColor(
- VideoDigitizerComponent ci,
- long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * VDGetKeyColor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetKeyColor(
- VideoDigitizerComponent ci,
- long * index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
-
-
- /*
- * VDAddKeyColor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDAddKeyColor(
- VideoDigitizerComponent ci,
- long * index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * VDGetNextKeyColor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetNextKeyColor(
- VideoDigitizerComponent ci,
- long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * VDSetKeyColorRange()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetKeyColorRange(
- VideoDigitizerComponent ci,
- RGBColor * minRGB,
- RGBColor * maxRGB) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001F, 0x7000, 0xA82A);
-
-
- /*
- * VDGetKeyColorRange()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetKeyColorRange(
- VideoDigitizerComponent ci,
- RGBColor * minRGB,
- RGBColor * maxRGB) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
-
-
- /*
- * VDSetDigitizerUserInterrupt()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetDigitizerUserInterrupt(
- VideoDigitizerComponent ci,
- long flags,
- VdigIntUPP userInterruptProc,
- long refcon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * VDSetInputColorSpaceMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetInputColorSpaceMode(
- VideoDigitizerComponent ci,
- short colorSpaceMode) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * VDGetInputColorSpaceMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetInputColorSpaceMode(
- VideoDigitizerComponent ci,
- short * colorSpaceMode) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0023, 0x7000, 0xA82A);
-
-
- /*
- * VDSetClipState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetClipState(
- VideoDigitizerComponent ci,
- short clipEnable) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0024, 0x7000, 0xA82A);
-
-
- /*
- * VDGetClipState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetClipState(
- VideoDigitizerComponent ci,
- short * clipEnable) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
-
-
- /*
- * VDSetClipRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetClipRgn(
- VideoDigitizerComponent ci,
- RgnHandle clipRegion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
-
-
- /*
- * VDClearClipRgn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDClearClipRgn(
- VideoDigitizerComponent ci,
- RgnHandle clipRegion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
-
-
- /*
- * VDGetCLUTInUse()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetCLUTInUse(
- VideoDigitizerComponent ci,
- CTabHandle * colorTableHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
-
-
- /*
- * VDSetPLLFilterType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetPLLFilterType(
- VideoDigitizerComponent ci,
- short pllType) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0029, 0x7000, 0xA82A);
-
-
- /*
- * VDGetPLLFilterType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetPLLFilterType(
- VideoDigitizerComponent ci,
- short * pllType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
-
-
- /*
- * VDGetMaskandValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetMaskandValue(
- VideoDigitizerComponent ci,
- unsigned short blendLevel,
- long * mask,
- long * value) FIVEWORDINLINE(0x2F3C, 0x000A, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * VDSetMasterBlendLevel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetMasterBlendLevel(
- VideoDigitizerComponent ci,
- unsigned short * blendLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * VDSetPlayThruDestination()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetPlayThruDestination(
- VideoDigitizerComponent ci,
- PixMapHandle dest,
- RectPtr destRect,
- MatrixRecordPtr m,
- RgnHandle mask) FIVEWORDINLINE(0x2F3C, 0x0010, 0x002D, 0x7000, 0xA82A);
-
-
- /*
- * VDSetPlayThruOnOff()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetPlayThruOnOff(
- VideoDigitizerComponent ci,
- short state) FIVEWORDINLINE(0x2F3C, 0x0002, 0x002E, 0x7000, 0xA82A);
-
-
- /*
- * VDSetFieldPreference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetFieldPreference(
- VideoDigitizerComponent ci,
- short fieldFlag) FIVEWORDINLINE(0x2F3C, 0x0002, 0x002F, 0x7000, 0xA82A);
-
-
- /*
- * VDGetFieldPreference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetFieldPreference(
- VideoDigitizerComponent ci,
- short * fieldFlag) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
-
-
- /*
- * VDPreflightDestination()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDPreflightDestination(
- VideoDigitizerComponent ci,
- Rect * digitizerRect,
- PixMap ** dest,
- RectPtr destRect,
- MatrixRecordPtr m) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0032, 0x7000, 0xA82A);
-
-
- /*
- * VDPreflightGlobalRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDPreflightGlobalRect(
- VideoDigitizerComponent ci,
- GrafPtr theWindow,
- Rect * globalRect) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
-
-
- /*
- * VDSetPlayThruGlobalRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetPlayThruGlobalRect(
- VideoDigitizerComponent ci,
- GrafPtr theWindow,
- Rect * globalRect) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
-
-
- /*
- * VDSetInputGammaRecord()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetInputGammaRecord(
- VideoDigitizerComponent ci,
- VDGamRecPtr inputGammaPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A);
-
-
- /*
- * VDGetInputGammaRecord()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetInputGammaRecord(
- VideoDigitizerComponent ci,
- VDGamRecPtr * inputGammaPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0036, 0x7000, 0xA82A);
-
-
- /*
- * VDSetBlackLevelValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetBlackLevelValue(
- VideoDigitizerComponent ci,
- unsigned short * blackLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0037, 0x7000, 0xA82A);
-
-
- /*
- * VDGetBlackLevelValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetBlackLevelValue(
- VideoDigitizerComponent ci,
- unsigned short * blackLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0038, 0x7000, 0xA82A);
-
-
- /*
- * VDSetWhiteLevelValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetWhiteLevelValue(
- VideoDigitizerComponent ci,
- unsigned short * whiteLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0039, 0x7000, 0xA82A);
-
-
- /*
- * VDGetWhiteLevelValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetWhiteLevelValue(
- VideoDigitizerComponent ci,
- unsigned short * whiteLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003A, 0x7000, 0xA82A);
-
-
- /*
- * VDGetVideoDefaults()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetVideoDefaults(
- VideoDigitizerComponent ci,
- unsigned short * blackLevel,
- unsigned short * whiteLevel,
- unsigned short * brightness,
- unsigned short * hue,
- unsigned short * saturation,
- unsigned short * contrast,
- unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x001C, 0x003B, 0x7000, 0xA82A);
-
-
- /*
- * VDGetNumberOfInputs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetNumberOfInputs(
- VideoDigitizerComponent ci,
- short * inputs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003C, 0x7000, 0xA82A);
-
-
- /*
- * VDGetInputFormat()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetInputFormat(
- VideoDigitizerComponent ci,
- short input,
- short * format) FIVEWORDINLINE(0x2F3C, 0x0006, 0x003D, 0x7000, 0xA82A);
-
-
- /*
- * VDSetInput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetInput(
- VideoDigitizerComponent ci,
- short input) FIVEWORDINLINE(0x2F3C, 0x0002, 0x003E, 0x7000, 0xA82A);
-
-
- /*
- * VDGetInput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetInput(
- VideoDigitizerComponent ci,
- short * input) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003F, 0x7000, 0xA82A);
-
-
- /*
- * VDSetInputStandard()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetInputStandard(
- VideoDigitizerComponent ci,
- short inputStandard) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0040, 0x7000, 0xA82A);
-
-
- /*
- * VDSetupBuffers()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetupBuffers(
- VideoDigitizerComponent ci,
- VdigBufferRecListHandle bufferList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0041, 0x7000, 0xA82A);
-
-
- /*
- * VDGrabOneFrameAsync()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGrabOneFrameAsync(
- VideoDigitizerComponent ci,
- short buffer) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0042, 0x7000, 0xA82A);
-
-
- /*
- * VDDone()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDDone(
- VideoDigitizerComponent ci,
- short buffer) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0043, 0x7000, 0xA82A);
-
-
- /*
- * VDSetCompression()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetCompression(
- VideoDigitizerComponent ci,
- OSType compressType,
- short depth,
- Rect * bounds,
- CodecQ spatialQuality,
- CodecQ temporalQuality,
- long keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0044, 0x7000, 0xA82A);
-
-
- /*
- * VDCompressOneFrameAsync()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDCompressOneFrameAsync(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0045, 0x7000, 0xA82A);
-
-
- /* Note that UInt8* queuedFrameCount replaces Boolean* done. 0(==false) still means no frames, and 1(==true) one,
- but if more than one are available the number should be returned here. The value 2 previously meant more than one frame,
- so some VDIGs may return 2 even if more than 2 are available, and some will still return 1 as they are using the original definition */
- /*
- * VDCompressDone()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDCompressDone(
- VideoDigitizerComponent ci,
- UInt8 * queuedFrameCount,
- Ptr * theData,
- long * dataSize,
- UInt8 * similarity,
- TimeRecord * t) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0046, 0x7000, 0xA82A);
-
-
- /*
- * VDReleaseCompressBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDReleaseCompressBuffer(
- VideoDigitizerComponent ci,
- Ptr bufferAddr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
-
-
- /*
- * VDGetImageDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetImageDescription(
- VideoDigitizerComponent ci,
- ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
-
-
- /*
- * VDResetCompressSequence()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDResetCompressSequence(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0049, 0x7000, 0xA82A);
-
-
- /*
- * VDSetCompressionOnOff()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetCompressionOnOff(
- VideoDigitizerComponent ci,
- Boolean state) FIVEWORDINLINE(0x2F3C, 0x0002, 0x004A, 0x7000, 0xA82A);
-
-
- /*
- * VDGetCompressionTypes()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetCompressionTypes(
- VideoDigitizerComponent ci,
- VDCompressionListHandle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004B, 0x7000, 0xA82A);
-
-
- /*
- * VDSetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetTimeBase(
- VideoDigitizerComponent ci,
- TimeBase t) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004C, 0x7000, 0xA82A);
-
-
- /*
- * VDSetFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetFrameRate(
- VideoDigitizerComponent ci,
- Fixed framesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004D, 0x7000, 0xA82A);
-
-
- /*
- * VDGetDataRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetDataRate(
- VideoDigitizerComponent ci,
- long * milliSecPerFrame,
- Fixed * framesPerSecond,
- long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004E, 0x7000, 0xA82A);
-
-
- /*
- * VDGetSoundInputDriver()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetSoundInputDriver(
- VideoDigitizerComponent ci,
- Str255 soundDriverName) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004F, 0x7000, 0xA82A);
-
-
- /*
- * VDGetDMADepths()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetDMADepths(
- VideoDigitizerComponent ci,
- long * depthArray,
- long * preferredDepth) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0050, 0x7000, 0xA82A);
-
-
- /*
- * VDGetPreferredTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetPreferredTimeScale(
- VideoDigitizerComponent ci,
- TimeScale * preferred) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0051, 0x7000, 0xA82A);
-
-
- /*
- * VDReleaseAsyncBuffers()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDReleaseAsyncBuffers(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0052, 0x7000, 0xA82A);
-
-
- /* 83 is reserved for compatibility reasons */
- /*
- * VDSetDataRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetDataRate(
- VideoDigitizerComponent ci,
- long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0054, 0x7000, 0xA82A);
-
-
- /*
- * VDGetTimeCode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetTimeCode(
- VideoDigitizerComponent ci,
- TimeRecord * atTime,
- void * timeCodeFormat,
- void * timeCodeTime) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0055, 0x7000, 0xA82A);
-
-
- /*
- * VDUseSafeBuffers()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDUseSafeBuffers(
- VideoDigitizerComponent ci,
- Boolean useSafeBuffers) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0056, 0x7000, 0xA82A);
-
-
- /*
- * VDGetSoundInputSource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetSoundInputSource(
- VideoDigitizerComponent ci,
- long videoInput,
- long * soundInput) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0057, 0x7000, 0xA82A);
-
-
- /*
- * VDGetCompressionTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetCompressionTime(
- VideoDigitizerComponent ci,
- OSType compressionType,
- short depth,
- Rect * srcRect,
- CodecQ * spatialQuality,
- CodecQ * temporalQuality,
- unsigned long * compressTime) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0058, 0x7000, 0xA82A);
-
-
- /*
- * VDSetPreferredPacketSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetPreferredPacketSize(
- VideoDigitizerComponent ci,
- long preferredPacketSizeInBytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0059, 0x7000, 0xA82A);
-
-
- /*
- * VDSetPreferredImageDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetPreferredImageDimensions(
- VideoDigitizerComponent ci,
- long width,
- long height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005A, 0x7000, 0xA82A);
-
-
- /*
- * VDGetPreferredImageDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetPreferredImageDimensions(
- VideoDigitizerComponent ci,
- long * width,
- long * height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005B, 0x7000, 0xA82A);
-
-
- /*
- * VDGetInputName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetInputName(
- VideoDigitizerComponent ci,
- long videoInput,
- Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005C, 0x7000, 0xA82A);
-
-
- /*
- * VDSetDestinationPort()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSetDestinationPort(
- VideoDigitizerComponent ci,
- CGrafPtr destPort) FIVEWORDINLINE(0x2F3C, 0x0004, 0x005D, 0x7000, 0xA82A);
-
-
- /*
- The following call is designed to give the VDIG a little more control over how it is presented to the User, to clarify the
- distinction between Devices and Inputs. Historically, the assumption has been that there is one component registered per device
- and the component name is displayed. This change lets a component choose its name after registration.
- vdDeviceFlagShowInputsAsDevices is meant for components that register once and support multiple devices
- The UI is clearer if these are presented as device rather than inputs,
- and this allows a VDIG to present itself this way without huge restructuring
- vdDeviceFlagHideDevice is for the kind of VDIG that registers itself, and then can register a further VDIG for each device.
- If no hardware is available, returning this flag will omit it from the list.
- This call being made is also a good time to check for hardware and register further VDIG components if needed,
- allowing for lazy initialization when the Application needs to find a VDIG rather than on every launch or replug.
- */
-
- enum
- {
- vdDeviceFlagShowInputsAsDevices = (1 << 0), /* Tell the Panel to promote Inputs to Devices*/
- vdDeviceFlagHideDevice = (1 << 1) /* Omit this Device entirely from the list*/
- };
-
- /*
- * VDGetDeviceNameAndFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetDeviceNameAndFlags(
- VideoDigitizerComponent ci,
- Str255 outName,
- UInt32 * outNameFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005E, 0x7000, 0xA82A);
-
-
- enum
- {
- vdFlagCaptureStarting = (1 << 0), /* Capture is about to start; allocate bandwidth */
- vdFlagCaptureStopping = (1 << 1), /* Capture is about to stop; stop queuing frames*/
- vdFlagCaptureIsForPreview = (1 << 2), /* Capture is just to screen for preview purposes*/
- vdFlagCaptureIsForRecord = (1 << 3), /* Capture is going to be recorded*/
- vdFlagCaptureLowLatency = (1 << 4), /* Fresh frames are more important than delivering every frame - don't queue too much*/
- vdFlagCaptureAlwaysUseTimeBase = (1 << 5), /* Use the timebase for every frame; don't worry about making durations uniform*/
- vdFlagCaptureSetSettingsBegin = (1 << 6), /* A series of calls are about to be made to restore settings.*/
- vdFlagCaptureSetSettingsEnd = (1 << 7) /* Finished restoring settings; any set calls after this are from the app or UI*/
- };
-
- /*
- * VDCaptureStateChanging()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDCaptureStateChanging(
- VideoDigitizerComponent ci,
- UInt32 inStateFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x005F, 0x7000, 0xA82A);
-
-
- /*
- These UniqueID calls are so that the VDIG can give the SG information enabling it to restore a particular
- configuration - choose a particular device and input from those available.
- For example, restoring the specific camera for a set of several hot-plugged FireWire cameras
- the caller can pass nil if it is not interested in one of the IDs
- returning 0 in an ID means you don't have one
- */
-
- /*
- * VDGetUniqueIDs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDGetUniqueIDs(
- VideoDigitizerComponent ci,
- UInt64 * outDeviceID,
- UInt64 * outInputID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0060, 0x7000, 0xA82A);
-
-
- /*
- Note this is a 'Select' not a 'Set' - the assumption is that the Unique ID is a function of the hardware
- and not modifiable by the calling application. Either a nil pointer or 0 an the ID means don't care.
- return vdDontHaveThatUniqueIDErr if your device doesn't have a match.
- */
-
- /*
- * VDSelectUniqueIDs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(VideoDigitizerError)
- VDSelectUniqueIDs(
- VideoDigitizerComponent ci,
- const UInt64 * inDeviceID,
- const UInt64 * inInputID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0061, 0x7000, 0xA82A);
-
-
- /*
- * VDCopyPreferredAudioDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(ComponentResult)
- VDCopyPreferredAudioDevice(
- ComponentInstance vdig,
- CFStringRef * outAudioDeviceUID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0063, 0x7000, 0xA82A);
-
-
-
- /*
- IIDC (Instrumentation & Industrial Digital Camera) Video Digitizers
- Video Digitizers of subtype vdSubtypeIIDC support FireWire cameras which conform to the
- "IIDC 1394-based Digital Camera Specification."
- */
-
- enum
- {
- vdSubtypeIIDC = FOUR_CHAR_CODE('iidc') /* Subtype for IIDC 1394-Digital Camera video digitizer*/
- };
-
- /*
- vdIIDCAtomTypeFeature
- Parent node for the QTAtoms which describe a given feature.
- */
- enum
- {
- vdIIDCAtomTypeFeature = FOUR_CHAR_CODE('feat')
- };
-
- /*
- vdIIDCAtomTypeFeatureAtomTypeAndID
- This atom describes the feature's OSType/group/name and QTAtomType & QTAtomID needed to retrieve its settings.
- The contents of this atom is a VDIIDCFeatureAtomTypeAndID structure.
- */
- enum
- {
- vdIIDCAtomTypeFeatureAtomTypeAndID = FOUR_CHAR_CODE('t&id'),
- vdIIDCAtomIDFeatureAtomTypeAndID = 1
- };
-
- struct VDIIDCFeatureAtomTypeAndID
- {
- OSType feature; /* OSType of feature*/
- OSType group; /* OSType of group that feature is categorized into*/
- Str255 name; /* Name of this feature*/
- QTAtomType atomType; /* Atom type which contains feature's settings*/
- QTAtomID atomID; /* Atom ID which contains feature's settings*/
- };
- typedef struct VDIIDCFeatureAtomTypeAndID VDIIDCFeatureAtomTypeAndID;
- /* IIDC Feature OSTypes*/
- enum
- {
- vdIIDCFeatureHue = FOUR_CHAR_CODE('hue '), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureSaturation = FOUR_CHAR_CODE('satu'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureSharpness = FOUR_CHAR_CODE('shrp'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureBrightness = FOUR_CHAR_CODE('brit'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureGain = FOUR_CHAR_CODE('gain'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureIris = FOUR_CHAR_CODE('iris'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureShutter = FOUR_CHAR_CODE('shtr'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureExposure = FOUR_CHAR_CODE('xpsr'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureWhiteBalanceU = FOUR_CHAR_CODE('whbu'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureWhiteBalanceV = FOUR_CHAR_CODE('whbv'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureGamma = FOUR_CHAR_CODE('gmma'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureTemperature = FOUR_CHAR_CODE('temp'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureZoom = FOUR_CHAR_CODE('zoom'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureFocus = FOUR_CHAR_CODE('fcus'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeaturePan = FOUR_CHAR_CODE('pan '), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureTilt = FOUR_CHAR_CODE('tilt'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureOpticalFilter = FOUR_CHAR_CODE('opft'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureTrigger = FOUR_CHAR_CODE('trgr'), /* Trigger's setttings handled by VDIIDCTriggerSettings*/
- vdIIDCFeatureCaptureSize = FOUR_CHAR_CODE('cpsz'), /* Feature's settings is not defined*/
- vdIIDCFeatureCaptureQuality = FOUR_CHAR_CODE('cpql'), /* Feature's settings is not defined*/
- vdIIDCFeatureFocusPoint = FOUR_CHAR_CODE('fpnt'), /* Focus Point's settings handled by VDIIDCFocusPointSettings*/
- vdIIDCFeatureEdgeEnhancement = FOUR_CHAR_CODE('eden'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureLightingHint = FOUR_CHAR_CODE('lhnt') /* Feature's settings handled by VDIIDCLightingHintSettings*/
- };
-
- /*
- IIDC Group OSTypes that features are categorized into
- (The values used for the constants cannot be the same as any of the IIDC Feature OSTypes constants)
- */
- enum
- {
- vdIIDCGroupImage = FOUR_CHAR_CODE('imag'), /* Feature related to camera's image*/
- vdIIDCGroupColor = FOUR_CHAR_CODE('colr'), /* Feature related to camera's color control*/
- vdIIDCGroupMechanics = FOUR_CHAR_CODE('mech'), /* Feature related to camera's mechanics*/
- vdIIDCGroupTrigger = FOUR_CHAR_CODE('trig') /* Feature related to camera's trigger*/
- };
-
- /*
- vdIIDCAtomTypeFeatureSettings
- This atom describes the settings for the majority of features.
- The contents of this atom is a VDIIDCFeatureSettings structure.
- */
- enum
- {
- vdIIDCAtomTypeFeatureSettings = FOUR_CHAR_CODE('fstg'),
- vdIIDCAtomIDFeatureSettings = 1
- };
-
- struct VDIIDCFeatureCapabilities
- {
- UInt32 flags;
- UInt16 rawMinimum;
- UInt16 rawMaximum;
- QTFloatSingle absoluteMinimum;
- QTFloatSingle absoluteMaximum;
- };
- typedef struct VDIIDCFeatureCapabilities VDIIDCFeatureCapabilities;
- struct VDIIDCFeatureState
- {
- UInt32 flags;
- QTFloatSingle value;
- };
- typedef struct VDIIDCFeatureState VDIIDCFeatureState;
- struct VDIIDCFeatureSettings
- {
- VDIIDCFeatureCapabilities capabilities;
- VDIIDCFeatureState state;
- };
- typedef struct VDIIDCFeatureSettings VDIIDCFeatureSettings;
- /*
- Flags for use in VDIIDCFeatureCapabilities.flags & VDIIDCFeatureState.flags
- When indicating capabilities, the flag being set indicates that the feature can be put into the given state.
- When indicating/setting state, the flag represents the current/desired state.
- Note that certain combinations of flags are valid for capabilities (i.e. vdIIDCFeatureFlagOn | vdIIDCFeatureFlagOff)
- but are mutually exclusive for state.
- */
- enum
- {
- vdIIDCFeatureFlagOn = (1 << 0),
- vdIIDCFeatureFlagOff = (1 << 1),
- vdIIDCFeatureFlagManual = (1 << 2),
- vdIIDCFeatureFlagAuto = (1 << 3),
- vdIIDCFeatureFlagTune = (1 << 4),
- vdIIDCFeatureFlagRawControl = (1 << 5),
- vdIIDCFeatureFlagAbsoluteControl = (1 << 6)
- };
-
- /*
- vdIIDCAtomTypeTriggerSettings
- This atom describes the settings for the trigger feature.
- The contents of this atom is a VDIIDCTriggerSettings structure.
- */
- enum
- {
- vdIIDCAtomTypeTriggerSettings = FOUR_CHAR_CODE('tstg'),
- vdIIDCAtomIDTriggerSettings = 1
- };
-
- struct VDIIDCTriggerCapabilities
- {
- UInt32 flags;
- QTFloatSingle absoluteMinimum;
- QTFloatSingle absoluteMaximum;
- };
- typedef struct VDIIDCTriggerCapabilities VDIIDCTriggerCapabilities;
- struct VDIIDCTriggerState
- {
- UInt32 flags;
- UInt16 mode2TransitionCount;
- UInt16 mode3FrameRateMultiplier;
- QTFloatSingle absoluteValue;
- };
- typedef struct VDIIDCTriggerState VDIIDCTriggerState;
- struct VDIIDCTriggerSettings
- {
- VDIIDCTriggerCapabilities capabilities;
- VDIIDCTriggerState state;
- };
- typedef struct VDIIDCTriggerSettings VDIIDCTriggerSettings;
- /*
- Flags for use in VDIIDCTriggerCapabilities.flags & VDIIDCTriggerState.flags
- When indicating capabilities, the flag being set indicates that the trigger can be put into the given state.
- When indicating/setting state, the flag represents the current/desired state.
- Note that certain combinations of flags are valid for capabilities (i.e. vdIIDCTriggerFlagOn | vdIIDCTriggerFlagOff)
- but are mutually exclusive for state.
- */
- enum
- {
- vdIIDCTriggerFlagOn = (1 << 0),
- vdIIDCTriggerFlagOff = (1 << 1),
- vdIIDCTriggerFlagActiveHigh = (1 << 2),
- vdIIDCTriggerFlagActiveLow = (1 << 3),
- vdIIDCTriggerFlagMode0 = (1 << 4),
- vdIIDCTriggerFlagMode1 = (1 << 5),
- vdIIDCTriggerFlagMode2 = (1 << 6),
- vdIIDCTriggerFlagMode3 = (1 << 7),
- vdIIDCTriggerFlagRawControl = (1 << 8),
- vdIIDCTriggerFlagAbsoluteControl = (1 << 9)
- };
-
-
- /*
- vdIIDCAtomTypeFocusPointSettings
- This atom describes the settings for the focus point feature.
- The contents of this atom is a VDIIDCFocusPointSettings structure.
- */
- enum
- {
- vdIIDCAtomTypeFocusPointSettings = FOUR_CHAR_CODE('fpst'),
- vdIIDCAtomIDFocusPointSettings = 1
- };
-
- struct VDIIDCFocusPointSettings
- {
- Point focusPoint;
- };
- typedef struct VDIIDCFocusPointSettings VDIIDCFocusPointSettings;
- /*
- vdIIDCAtomTypeLightingHintSettings
- This atom describes the settings for the light hint feature.
- The contents of this atom is a VDIIDCLightingHintSettings structure.
- */
- enum
- {
- vdIIDCAtomTypeLightingHintSettings = FOUR_CHAR_CODE('lhst'),
- vdIIDCAtomIDLightingHintSettings = 1
- };
-
- struct VDIIDCLightingHintSettings
- {
- UInt32 capabilityFlags;
- UInt32 stateFlags;
- };
- typedef struct VDIIDCLightingHintSettings VDIIDCLightingHintSettings;
- /*
- Flags for use in VDIIDCLightingHintSettings.capabilityFlags & VDIIDCLightingHintSettings.capabilityFlags
- When indicating capabilities, the flag being set indicates that the hint can be applied.
- When indicating/setting state, the flag represents the current/desired hints applied/to apply.
- Certain combinations of flags are valid for capabilities (i.e. vdIIDCLightingHintNormal | vdIIDCLightingHintLow)
- but are mutually exclusive for state.
- */
- enum
- {
- vdIIDCLightingHintNormal = (1 << 0),
- vdIIDCLightingHintLow = (1 << 1)
- };
-
-
- /*
- VDIIDC calls are additional calls for IIDC digitizers (vdSubtypeIIDC)
- These calls are only valid for video digitizers of subtype vdSubtypeIIDC.
- */
- /*
- * VDIIDCGetFeatures()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(VideoDigitizerError)
- VDIIDCGetFeatures(
- VideoDigitizerComponent ci,
- QTAtomContainer * container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
-
-
- /*
- * VDIIDCSetFeatures()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(VideoDigitizerError)
- VDIIDCSetFeatures(
- VideoDigitizerComponent ci,
- QTAtomContainer container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0201, 0x7000, 0xA82A);
-
-
- /*
- * VDIIDCGetDefaultFeatures()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(VideoDigitizerError)
- VDIIDCGetDefaultFeatures(
- VideoDigitizerComponent ci,
- QTAtomContainer * container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0202, 0x7000, 0xA82A);
-
-
- /*
- * VDIIDCGetCSRData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(VideoDigitizerError)
- VDIIDCGetCSRData(
- VideoDigitizerComponent ci,
- Boolean offsetFromUnitBase,
- UInt32 offset,
- UInt32 * data) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0203, 0x7000, 0xA82A);
-
-
- /*
- * VDIIDCSetCSRData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(VideoDigitizerError)
- VDIIDCSetCSRData(
- VideoDigitizerComponent ci,
- Boolean offsetFromUnitBase,
- UInt32 offset,
- UInt32 data) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0204, 0x7000, 0xA82A);
-
-
- /*
- * VDIIDCGetFeaturesForSpecifier()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- */
- EXTERN_API(VideoDigitizerError)
- VDIIDCGetFeaturesForSpecifier(
- VideoDigitizerComponent ci,
- OSType specifier,
- QTAtomContainer * container) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0205, 0x7000, 0xA82A);
-
-
-
-
- enum
- {
- xmlParseComponentType = FOUR_CHAR_CODE('pars'),
- xmlParseComponentSubType = FOUR_CHAR_CODE('xml ')
- };
-
- enum
- {
- xmlIdentifierInvalid = 0,
- xmlIdentifierUnrecognized = (long)0xFFFFFFFF,
- xmlContentTypeInvalid = 0,
- xmlContentTypeElement = 1,
- xmlContentTypeCharData = 2
- };
-
- enum
- {
- elementFlagAlwaysSelfContained = 1L << 0, /* Element doesn't have contents or closing tag even if it doesn't end with />, as in the HTML <img> tag*/
- elementFlagPreserveWhiteSpace = 1L << 1, /* Preserve whitespace in content, default is to remove it */
- xmlParseFlagAllowUppercase = 1L << 0, /* Entities and attributes do not have to be lowercase (strict XML), but can be upper or mixed case as in HTML*/
- xmlParseFlagAllowUnquotedAttributeValues = 1L << 1, /* Attributes values do not have to be enclosed in quotes (strict XML), but can be left unquoted if they contain no spaces*/
- xmlParseFlagEventParseOnly = 1L << 2, /* Do event parsing only*/
- xmlParseFlagPreserveWhiteSpace = 1L << 3 /* Preserve whitespace throughout the document*/
- };
-
- enum
- {
- attributeValueKindCharString = 0,
- attributeValueKindInteger = 1L << 0, /* Number*/
- attributeValueKindPercent = 1L << 1, /* Number or percent*/
- attributeValueKindBoolean = 1L << 2, /* "true" or "false"*/
- attributeValueKindOnOff = 1L << 3, /* "on" or "off"*/
- attributeValueKindColor = 1L << 4, /* Either "#rrggbb" or a color name*/
- attributeValueKindEnum = 1L << 5, /* one of a number of strings; the enum strings are passed as a zero-separated, double-zero-terminated C string in the attributeKindValueInfo param*/
- attributeValueKindCaseSensEnum = 1L << 6, /* one of a number of strings; the enum strings are passed as for attributeValueKindEnum, but the values are case-sensitive*/
- MAX_ATTRIBUTE_VALUE_KIND = attributeValueKindCaseSensEnum
- };
-
- enum
- {
- nameSpaceIDNone = 0
- };
-
- /* A Parsed XML attribute value, one of number/percent, boolean/on-off, color, or enumerated type*/
- union XMLAttributeValue
- {
- SInt32 number; /* The value when valueKind is attributeValueKindInteger or attributeValueKindPercent*/
- Boolean boolean; /* The value when valueKind is attributeValueKindBoolean or attributeValueKindOnOff*/
- RGBColor color; /* The value when valueKind is attributeValueKindColor*/
- UInt32 enumType; /* The value when valueKind is attributeValueKindEnum*/
- };
- typedef union XMLAttributeValue XMLAttributeValue;
- /* An XML attribute-value pair*/
- struct XMLAttribute
- {
- UInt32 identifier; /* Tokenized identifier, if the attribute name was recognized by the parser*/
- char * name; /* Attribute name, Only present if identifier == xmlIdentifierUnrecognized*/
- long valueKind; /* Type of parsed value, if the value was recognized and parsed; otherwise, attributeValueKindCharString*/
- XMLAttributeValue value; /* Parsed attribute value*/
- char * valueStr; /* Always present*/
- };
- typedef struct XMLAttribute XMLAttribute;
- typedef XMLAttribute * XMLAttributePtr;
- /* Forward struct declarations for recursively-defined tree structure*/
- typedef struct XMLContent XMLContent;
- typedef XMLContent * XMLContentPtr;
- /*
- An XML Element, i.e.
- <element attr="value" attr="value" ...> [contents] </element>
- or
- <element attr="value" attr="value" .../>
- */
- struct XMLElement
- {
- UInt32 identifier; /* Tokenized identifier, if the element name was recognized by the parser*/
- char * name; /* Element name, only present if identifier == xmlIdentifierUnrecognized*/
- XMLAttributePtr attributes; /* Array of attributes, terminated with an attribute with identifier == xmlIdentifierInvalid*/
- XMLContentPtr contents; /* Array of contents, terminated with a content with kind == xmlIdentifierInvalid*/
- };
- typedef struct XMLElement XMLElement;
- typedef XMLElement * XMLElementPtr;
- /*
- The content of an XML element is a series of parts, each of which may be either another element
- or simply character data.
- */
- union XMLElementContent
- {
- XMLElement element; /* The contents when the content kind is xmlContentTypeElement*/
- char * charData; /* The contents when the content kind is xmlContentTypeCharData*/
- };
- typedef union XMLElementContent XMLElementContent;
- struct XMLContent
- {
- UInt32 kind;
- XMLElementContent actualContent;
- };
-
- struct XMLDocRecord
- {
- void * xmlDataStorage; /* opaque storage*/
- XMLElement rootElement;
- };
- typedef struct XMLDocRecord XMLDocRecord;
- typedef XMLDocRecord * XMLDoc;
- /*callback routines for event parsing*/
- typedef CALLBACK_API(ComponentResult , StartDocumentHandler)(long refcon);
- typedef CALLBACK_API(ComponentResult , EndDocumentHandler)(long refcon);
- typedef CALLBACK_API(ComponentResult , StartElementHandler)(const char *name, const char **atts, long refcon);
- typedef CALLBACK_API(ComponentResult , EndElementHandler)(const char *name, long refcon);
- typedef CALLBACK_API(ComponentResult , CharDataHandler)(const char *charData, long refcon);
- typedef CALLBACK_API(ComponentResult , PreprocessInstructionHandler)(const char *name, const char *const atts[], long refcon);
- typedef CALLBACK_API(ComponentResult , CommentHandler)(const char *comment, long refcon);
- typedef CALLBACK_API(ComponentResult , CDataHandler)(const char *cdata, long refcon);
- typedef STACK_UPP_TYPE(StartDocumentHandler) StartDocumentHandlerUPP;
- typedef STACK_UPP_TYPE(EndDocumentHandler) EndDocumentHandlerUPP;
- typedef STACK_UPP_TYPE(StartElementHandler) StartElementHandlerUPP;
- typedef STACK_UPP_TYPE(EndElementHandler) EndElementHandlerUPP;
- typedef STACK_UPP_TYPE(CharDataHandler) CharDataHandlerUPP;
- typedef STACK_UPP_TYPE(PreprocessInstructionHandler) PreprocessInstructionHandlerUPP;
- typedef STACK_UPP_TYPE(CommentHandler) CommentHandlerUPP;
- typedef STACK_UPP_TYPE(CDataHandler) CDataHandlerUPP;
- /* Parses the XML file pointed to by dataRef, returning a XMLDoc parse tree*/
- /*
- * XMLParseDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseDataRef(
- ComponentInstance aParser,
- Handle dataRef,
- OSType dataRefType,
- long parseFlags,
- XMLDoc * document) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0001, 0x7000, 0xA82A);
-
-
- /* Parses the XML file pointed to by fileSpec, returning a XMLDoc parse tree*/
- /*
- * XMLParseFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseFile(
- ComponentInstance aParser,
- ConstFSSpecPtr fileSpec,
- long parseFlags,
- XMLDoc * document) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
-
-
- /* Disposes of a XMLDoc parse tree*/
- /*
- * XMLParseDisposeXMLDoc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseDisposeXMLDoc(
- ComponentInstance aParser,
- XMLDoc document) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- Returns a more detailed description of the error and the line in which it occurred, if a
- file failed to parse properly.
- */
- /*
- * XMLParseGetDetailedParseError()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseGetDetailedParseError(
- ComponentInstance aParser,
- long * errorLine,
- StringPtr errDesc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- Tell the parser of an element to be recognized. The tokenized element unique identifier is
- passed in *elementID, unless *elementID is zero, whereupon a unique ID is generated and returned.
- Thus, a valid element identifier can never be zero.
- */
- /*
- * XMLParseAddElement()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseAddElement(
- ComponentInstance aParser,
- char * elementName,
- UInt32 nameSpaceID,
- UInt32 * elementID,
- long elementFlags) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- Tells the parser of an attribute for the specified element. The tokenized attribute unique
- ID is passed in *attributeID, unless *attributeID is zero, whereupon a unique ID is generated and
- returned. Thus, a valid attribute identifier can never be zero.
- */
- /*
- * XMLParseAddAttribute()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseAddAttribute(
- ComponentInstance aParser,
- UInt32 elementID,
- UInt32 nameSpaceID,
- char * attributeName,
- UInt32 * attributeID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- Tells the parser of several attributes for the specified element. The attributes are passed
- as a zero-delimited, double-zero-terminated C string in attributeNames, and the attribute
- IDs are passed in on attributeIDs as an array; if any attributeIDs are zero, unique IDs
- are generated for those and returned
- */
- /*
- * XMLParseAddMultipleAttributes()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseAddMultipleAttributes(
- ComponentInstance aParser,
- UInt32 elementID,
- UInt32 * nameSpaceIDs,
- char * attributeNames,
- UInt32 * attributeIDs) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- Tells the parser of an attribute, which may have a particular type of value, for the
- specified element. Params are as in XMLParseAddAttribute, plus all the kinds of values
- the attribute may have are passed in attributeValueKind, and optional additional information
- required to tokenize the particular kind of attribute is passed in attributeValueKindInfo
- */
- /*
- * XMLParseAddAttributeAndValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseAddAttributeAndValue(
- ComponentInstance aParser,
- UInt32 elementID,
- UInt32 nameSpaceID,
- char * attributeName,
- UInt32 * attributeID,
- UInt32 attributeValueKind,
- void * attributeValueKindInfo) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- Tells the parser of several attributes, which may have a particular type of value, for the
- specified element. Params are as in XMLParseAddMultipleAttributes, plus all the kinds of values
- the attributes may have are passed in attributeValueKinds, and optional additional information
- required to tokenize the particular kind of attributes is passed in attributeValueKindInfos
- */
- /*
- * XMLParseAddMultipleAttributesAndValues()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseAddMultipleAttributesAndValues(
- ComponentInstance aParser,
- UInt32 elementID,
- UInt32 * nameSpaceIDs,
- char * attributeNames,
- UInt32 * attributeIDs,
- UInt32 * attributeValueKinds,
- void ** attributeValueKindInfos) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- Tells the parser that the particular attribute may have an additional kind of
- value, as specified by attributeValueKind and attributeValueKindInfo
- */
- /*
- * XMLParseAddAttributeValueKind()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseAddAttributeValueKind(
- ComponentInstance aParser,
- UInt32 elementID,
- UInt32 attributeID,
- UInt32 attributeValueKind,
- void * attributeValueKindInfo) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- Tell the parser of a namespace to be recognized. The tokenized namespace unique identifier is
- passed in *nameSpaceID, unless *nameSpaceID is zero, whereupon a unique ID is generated and returned.
- Thus, a valid nameSpaceID identifier can never be zero.
- */
- /*
- * XMLParseAddNameSpace()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseAddNameSpace(
- ComponentInstance aParser,
- char * nameSpaceURL,
- UInt32 * nameSpaceID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
-
-
- /* Specifies the offset and limit for reading from the dataref to be used when parsing*/
- /*
- * XMLParseSetOffsetAndLimit()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetOffsetAndLimit(
- ComponentInstance aParser,
- UInt32 offset,
- UInt32 limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
-
-
- /* Set the event parse refcon*/
- /*
- * XMLParseSetEventParseRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetEventParseRefCon(
- ComponentInstance aParser,
- long refcon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
- /* Set the start document handler UPP for event parsing*/
- /*
- * XMLParseSetStartDocumentHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetStartDocumentHandler(
- ComponentInstance aParser,
- StartDocumentHandlerUPP startDocument) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
-
-
- /* Set the end document handler UPP for event parsing*/
- /*
- * XMLParseSetEndDocumentHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetEndDocumentHandler(
- ComponentInstance aParser,
- EndDocumentHandlerUPP endDocument) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
-
-
- /* Set the start element handler UPP for event parsing*/
- /*
- * XMLParseSetStartElementHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetStartElementHandler(
- ComponentInstance aParser,
- StartElementHandlerUPP startElement) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
-
-
- /* Set the end element handler UPP for event parsing*/
- /*
- * XMLParseSetEndElementHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetEndElementHandler(
- ComponentInstance aParser,
- EndElementHandlerUPP endElement) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
-
-
- /* Set the character data handler UPP for event parsing*/
- /*
- * XMLParseSetCharDataHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetCharDataHandler(
- ComponentInstance aParser,
- CharDataHandlerUPP charData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /* Set the preprocess instruction handler UPP for event parsing*/
- /*
- * XMLParseSetPreprocessInstructionHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetPreprocessInstructionHandler(
- ComponentInstance aParser,
- PreprocessInstructionHandlerUPP preprocessInstruction) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
-
-
- /* Set the comment handler UPP for event parsing*/
- /*
- * XMLParseSetCommentHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetCommentHandler(
- ComponentInstance aParser,
- CommentHandlerUPP comment) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
-
-
- /* Set the cdata handler UPP for event parsing*/
- /*
- * XMLParseSetCDataHandler()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- XMLParseSetCDataHandler(
- ComponentInstance aParser,
- CDataHandlerUPP cdata) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- Helper Macros
-
- These macros allow you to easily add entities and attributes to the parser
- in an error free manner when the identifiers are defined in a particular manner.
- For these to work, you must define the identifiers as follows:
-
- For entities, they must be defined as element_elementName, as in:
-
- enum
- {
- element_xml = 1, // "xml"
- element_head, // "head"
- element_body // "body"
- };
-
- If the element name has characters that are illegal in an identifier,
- some of the macros support that, but the identifier must not contain
- the illegal characters:
-
- enum
- {
- element_rootlayout // "root-layout"
- }
-
- For attribute names, similar rules apply except that they must be defined
- as attr_attributeName, as in:
-
- enum
- {
- attr_src = 1, // "src"
- attr_href,
- attr_width,
- attr_height
- }
-
- Finally, the existence of local variables elementID and attributeID is required.
- */
- /*
- Adds the specified element to the parser, i.e. XML_ADD_ELEMENT(head) adds the element "head" with
- a unique identifier of element_head
- */
+/*
+ * MovieImportHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportHandle(
+ MovieImportComponent ci,
+ Handle dataH,
+ Movie theMovie,
+ Track targetTrack,
+ Track * usedTrack,
+ TimeValue atTime,
+ TimeValue * addedDuration,
+ long inFlags,
+ long * outFlags) FIVEWORDINLINE(0x2F3C, 0x0020, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportFile(
+ MovieImportComponent ci,
+ const FSSpec * theFile,
+ Movie theMovie,
+ Track targetTrack,
+ Track * usedTrack,
+ TimeValue atTime,
+ TimeValue * addedDuration,
+ long inFlags,
+ long * outFlags) FIVEWORDINLINE(0x2F3C, 0x0020, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetSampleDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetSampleDuration(
+ MovieImportComponent ci,
+ TimeValue duration,
+ TimeScale scale) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetSampleDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetSampleDescription(
+ MovieImportComponent ci,
+ SampleDescriptionHandle desc,
+ OSType mediaType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetMediaFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetMediaFile(
+ MovieImportComponent ci,
+ AliasHandle alias) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetDimensions(
+ MovieImportComponent ci,
+ Fixed width,
+ Fixed height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetChunkSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetChunkSize(
+ MovieImportComponent ci,
+ long chunkSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetProgressProc(
+ MovieImportComponent ci,
+ MovieProgressUPP proc,
+ long refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetAuxiliaryData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetAuxiliaryData(
+ MovieImportComponent ci,
+ Handle data,
+ OSType handleType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetFromScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetFromScrap(
+ MovieImportComponent ci,
+ Boolean fromScrap) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportDoUserDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportDoUserDialog(
+ MovieImportComponent ci,
+ const FSSpec * theFile,
+ Handle theData,
+ Boolean * canceled) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetDuration(
+ MovieImportComponent ci,
+ TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetAuxiliaryDataType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetAuxiliaryDataType(
+ MovieImportComponent ci,
+ OSType * auxType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportValidate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportValidate(
+ MovieImportComponent ci,
+ const FSSpec * theFile,
+ Handle theData,
+ Boolean * valid) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetFileType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetFileType(
+ MovieImportComponent ci,
+ OSType * fileType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportDataRef(
+ MovieImportComponent ci,
+ Handle dataRef,
+ OSType dataRefType,
+ Movie theMovie,
+ Track targetTrack,
+ Track * usedTrack,
+ TimeValue atTime,
+ TimeValue * addedDuration,
+ long inFlags,
+ long * outFlags) FIVEWORDINLINE(0x2F3C, 0x0024, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetSampleDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetSampleDescription(
+ MovieImportComponent ci,
+ SampleDescriptionHandle * desc,
+ OSType * mediaType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetMIMETypeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetMIMETypeList(
+ MovieImportComponent ci,
+ QTAtomContainer * mimeInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetOffsetAndLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetOffsetAndLimit(
+ MovieImportComponent ci,
+ unsigned long offset,
+ unsigned long limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetSettingsAsAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetSettingsAsAtomContainer(
+ MovieImportComponent ci,
+ QTAtomContainer * settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetSettingsFromAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetSettingsFromAtomContainer(
+ MovieImportComponent ci,
+ QTAtomContainer settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetOffsetAndLimit64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetOffsetAndLimit64(
+ MovieImportComponent ci,
+ const wide * offset,
+ const wide * limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportIdle(
+ MovieImportComponent ci,
+ long inFlags,
+ long * outFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportValidateDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportValidateDataRef(
+ MovieImportComponent ci,
+ Handle dataRef,
+ OSType dataRefType,
+ UInt8 * valid) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetLoadState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetLoadState(
+ MovieImportComponent ci,
+ long * importerLoadState) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetMaxLoadedTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetMaxLoadedTime(
+ MovieImportComponent ci,
+ TimeValue * time) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportEstimateCompletionTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportEstimateCompletionTime(
+ MovieImportComponent ci,
+ TimeRecord * time) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetDontBlock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetDontBlock(
+ MovieImportComponent ci,
+ Boolean dontBlock) FIVEWORDINLINE(0x2F3C, 0x0002, 0x001C, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetDontBlock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetDontBlock(
+ MovieImportComponent ci,
+ Boolean * willBlock) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetIdleManager()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetIdleManager(
+ MovieImportComponent ci,
+ IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetNewMovieFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetNewMovieFlags(
+ MovieImportComponent ci,
+ long newMovieFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportGetDestinationMediaType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportGetDestinationMediaType(
+ MovieImportComponent ci,
+ OSType * mediaType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportSetMediaDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportSetMediaDataRef(
+ MovieImportComponent ci,
+ Handle dataRef,
+ OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * MovieImportDoUserDialogDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+MovieImportDoUserDialogDataRef(
+ MovieImportComponent ci,
+ Handle dataRef,
+ OSType dataRefType,
+ Boolean * canceled) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportToHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportToHandle(
+ MovieExportComponent ci,
+ Handle dataH,
+ Movie theMovie,
+ Track onlyThisTrack,
+ TimeValue startTime,
+ TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0080, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportToFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportToFile(
+ MovieExportComponent ci,
+ const FSSpec * theFile,
+ Movie theMovie,
+ Track onlyThisTrack,
+ TimeValue startTime,
+ TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0081, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportGetAuxiliaryData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportGetAuxiliaryData(
+ MovieExportComponent ci,
+ Handle dataH,
+ OSType * handleType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0083, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportSetProgressProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportSetProgressProc(
+ MovieExportComponent ci,
+ MovieProgressUPP proc,
+ long refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0084, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportSetSampleDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportSetSampleDescription(
+ MovieExportComponent ci,
+ SampleDescriptionHandle desc,
+ OSType mediaType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0085, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportDoUserDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportDoUserDialog(
+ MovieExportComponent ci,
+ Movie theMovie,
+ Track onlyThisTrack,
+ TimeValue startTime,
+ TimeValue duration,
+ Boolean * canceled) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0086, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportGetCreatorType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportGetCreatorType(
+ MovieExportComponent ci,
+ OSType * creator) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0087, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportToDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportToDataRef(
+ MovieExportComponent ci,
+ Handle dataRef,
+ OSType dataRefType,
+ Movie theMovie,
+ Track onlyThisTrack,
+ TimeValue startTime,
+ TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0088, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportFromProceduresToDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportFromProceduresToDataRef(
+ MovieExportComponent ci,
+ Handle dataRef,
+ OSType dataRefType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0089, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportAddDataSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportAddDataSource(
+ MovieExportComponent ci,
+ OSType trackType,
+ TimeScale scale,
+ long * trackID,
+ MovieExportGetPropertyUPP getPropertyProc,
+ MovieExportGetDataUPP getDataProc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0018, 0x008A, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportValidate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportValidate(
+ MovieExportComponent ci,
+ Movie theMovie,
+ Track onlyThisTrack,
+ Boolean * valid) FIVEWORDINLINE(0x2F3C, 0x000C, 0x008B, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportGetSettingsAsAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportGetSettingsAsAtomContainer(
+ MovieExportComponent ci,
+ QTAtomContainer * settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008C, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportSetSettingsFromAtomContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportSetSettingsFromAtomContainer(
+ MovieExportComponent ci,
+ QTAtomContainer settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008D, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportGetFileNameExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportGetFileNameExtension(
+ MovieExportComponent ci,
+ OSType * extension) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008E, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportGetShortFileTypeString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportGetShortFileTypeString(
+ MovieExportComponent ci,
+ Str255 typeString) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008F, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportGetSourceMediaType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportGetSourceMediaType(
+ MovieExportComponent ci,
+ OSType * mediaType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0090, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportSetGetMoviePropertyProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportSetGetMoviePropertyProc(
+ MovieExportComponent ci,
+ MovieExportGetPropertyUPP getPropertyProc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0091, 0x7000, 0xA82A);
+
+
+/* Text Export Display Info data structure*/
+struct TextDisplayData {
+ long displayFlags;
+ long textJustification;
+ RGBColor bgColor;
+ Rect textBox;
+
+ short beginHilite;
+ short endHilite;
+ RGBColor hiliteColor;
+ Boolean doHiliteColor;
+ SInt8 filler;
+ TimeValue scrollDelayDur;
+ Point dropShadowOffset;
+ short dropShadowTransparency;
+};
+typedef struct TextDisplayData TextDisplayData;
+
+typedef ComponentInstance TextExportComponent;
+typedef ComponentInstance GraphicImageMovieImportComponent;
+/*
+ * TextExportGetDisplayData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextExportGetDisplayData(
+ TextExportComponent ci,
+ TextDisplayData * textDisplay) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * TextExportGetTimeFraction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextExportGetTimeFraction(
+ TextExportComponent ci,
+ long * movieTimeFraction) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * TextExportSetTimeFraction()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextExportSetTimeFraction(
+ TextExportComponent ci,
+ long movieTimeFraction) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * TextExportGetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextExportGetSettings(
+ TextExportComponent ci,
+ long * setting) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * TextExportSetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextExportSetSettings(
+ TextExportComponent ci,
+ long setting) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
+
+
+
+/*
+ * MIDIImportGetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MIDIImportGetSettings(
+ TextExportComponent ci,
+ long * setting) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * MIDIImportSetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MIDIImportSetSettings(
+ TextExportComponent ci,
+ long setting) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportNewGetDataAndPropertiesProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportNewGetDataAndPropertiesProcs(
+ MovieExportComponent ci,
+ OSType trackType,
+ TimeScale * scale,
+ Movie theMovie,
+ Track theTrack,
+ TimeValue startTime,
+ TimeValue duration,
+ MovieExportGetPropertyUPP * getPropertyProc,
+ MovieExportGetDataUPP * getDataProc,
+ void ** refCon) FIVEWORDINLINE(0x2F3C, 0x0024, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * MovieExportDisposeGetDataAndPropertiesProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MovieExportDisposeGetDataAndPropertiesProcs(
+ MovieExportComponent ci,
+ MovieExportGetPropertyUPP getPropertyProc,
+ MovieExportGetDataUPP getDataProc,
+ void * refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
+
+
+enum {
+ movieExportUseConfiguredSettings = FOUR_CHAR_CODE('ucfg'), /* pointer to Boolean*/
+ movieExportWidth = FOUR_CHAR_CODE('wdth'), /* pointer to Fixed*/
+ movieExportHeight = FOUR_CHAR_CODE('hegt'), /* pointer to Fixed*/
+ movieExportDuration = FOUR_CHAR_CODE('dura'), /* pointer to TimeRecord*/
+ movieExportVideoFilter = FOUR_CHAR_CODE('iflt'), /* pointer to QTAtomContainer*/
+ movieExportTimeScale = FOUR_CHAR_CODE('tmsc'), /* pointer to TimeScale*/
+ movieExportSourceApertureMode = FOUR_CHAR_CODE('srap') /* pointer to OSType. Source movie's aperture mode..Set the aperture mode on the decompression session.*/
+};
+
+/* Component Properties specific to Movie Export components*/
+enum {
+ kQTMovieExporterPropertyID_StageReachedCallback = FOUR_CHAR_CODE('stgr'), /* value is a MovieExportStageReachedCallbackProcRecord*/
+ kQTMovieExporterPropertyID_DeinterlaceVideo = FOUR_CHAR_CODE('dint') /* value is a Boolean */
+};
+
+/* Stages passed to MovieExportStageReachedCallbackProc*/
+enum {
+ kQTMovieExportStage_EmptyMovieCreated = FOUR_CHAR_CODE('empt'),
+ kQTMovieExportStage_AllTracksAddedToMovie = FOUR_CHAR_CODE('trax')
+};
+
+struct MovieExportStageReachedCallbackProcRecord {
+ MovieExportStageReachedCallbackUPP stageReachedCallbackProc;
+ void * stageReachedCallbackRefCon;
+};
+typedef struct MovieExportStageReachedCallbackProcRecord MovieExportStageReachedCallbackProcRecord;
+/*
+ * GraphicsImageImportSetSequenceEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImageImportSetSequenceEnabled(
+ GraphicImageMovieImportComponent ci,
+ Boolean enable) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * GraphicsImageImportGetSequenceEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+GraphicsImageImportGetSequenceEnabled(
+ GraphicImageMovieImportComponent ci,
+ Boolean * enable) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+
+
+
+
+
+/*----------------------------'brws' o browser prefs configuration info ------------------------*/
+enum {
+ kQTBrowserInfoCanUseSystemFolderPlugin = (1L << 0) /* Mac browser can use plug-in from System "Internet Plug-ins" folder */
+};
+
+
+
+
+enum {
+ kQTPreFlightOpenComponent = (1L << 1) /* Open component as preflight check*/
+};
+
+struct ComponentPreflightFlags {
+ long flags;
+};
+typedef struct ComponentPreflightFlags ComponentPreflightFlags;
+
+
+
+
+
+/***************
+
+ File Preview Components
+
+***************/
+
+typedef ComponentInstance pnotComponent;
+enum {
+ pnotComponentWantsEvents = 1,
+ pnotComponentNeedsNoCache = 2
+};
+
+enum {
+ ShowFilePreviewComponentType = FOUR_CHAR_CODE('pnot'),
+ CreateFilePreviewComponentType = FOUR_CHAR_CODE('pmak')
+};
+
+/*
+ * PreviewShowData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+PreviewShowData(
+ pnotComponent p,
+ OSType dataType,
+ Handle data,
+ const Rect * inHere) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * PreviewMakePreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+PreviewMakePreview(
+ pnotComponent p,
+ OSType * previewType,
+ Handle * previewResult,
+ const FSSpec * sourceFile,
+ ICMProgressProcRecordPtr progress) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * PreviewMakePreviewReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+PreviewMakePreviewReference(
+ pnotComponent p,
+ OSType * previewType,
+ short * resID,
+ const FSSpec * sourceFile) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * PreviewEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+PreviewEvent(
+ pnotComponent p,
+ EventRecord * e,
+ Boolean * handledEvent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+
+
+
+
+typedef ComponentInstance DataCompressorComponent;
+typedef ComponentInstance DataDecompressorComponent;
+typedef ComponentInstance DataCodecComponent;
+enum {
+ DataCompressorComponentType = FOUR_CHAR_CODE('dcom'),
+ DataDecompressorComponentType = FOUR_CHAR_CODE('ddec'),
+ AppleDataCompressorSubType = FOUR_CHAR_CODE('adec'),
+ zlibDataCompressorSubType = FOUR_CHAR_CODE('zlib')
+};
+
+
+/** These are DataCodec procedures **/
+/*
+ * DataCodecDecompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataCodecDecompress(
+ DataCodecComponent dc,
+ void * srcData,
+ UInt32 srcSize,
+ void * dstData,
+ UInt32 dstBufferSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * DataCodecGetCompressBufferSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataCodecGetCompressBufferSize(
+ DataCodecComponent dc,
+ UInt32 srcSize,
+ UInt32 * dstSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * DataCodecCompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataCodecCompress(
+ DataCodecComponent dc,
+ void * srcData,
+ UInt32 srcSize,
+ void * dstData,
+ UInt32 dstBufferSize,
+ UInt32 * actualDstSize,
+ UInt32 * decompressSlop) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * DataCodecBeginInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataCodecBeginInterruptSafe(
+ DataCodecComponent dc,
+ unsigned long maxSrcSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * DataCodecEndInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataCodecEndInterruptSafe(DataCodecComponent dc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * DataCodecDecompressPartial()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataCodecDecompressPartial(
+ DataCodecComponent dc,
+ void ** next_in,
+ unsigned long * avail_in,
+ unsigned long * total_in,
+ void ** next_out,
+ unsigned long * avail_out,
+ unsigned long * total_out,
+ Boolean * didFinish) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * DataCodecCompressPartial()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataCodecCompressPartial(
+ DataCodecComponent dc,
+ void ** next_in,
+ unsigned long * avail_in,
+ unsigned long * total_in,
+ void ** next_out,
+ unsigned long * avail_out,
+ unsigned long * total_out,
+ Boolean tryToFinish,
+ Boolean * didFinish) FIVEWORDINLINE(0x2F3C, 0x001E, 0x0007, 0x7000, 0xA82A);
+
+
+
+
+
+typedef CALLBACK_API( void , DataHCompletionProcPtr )(Ptr request, long refcon, OSErr err);
+typedef STACK_UPP_TYPE(DataHCompletionProcPtr) DataHCompletionUPP;
+
+enum {
+ kDataHCanRead = 1L << 0,
+ kDataHSpecialRead = 1L << 1,
+ kDataHSpecialReadFile = 1L << 2,
+ kDataHCanWrite = 1L << 3,
+ kDataHSpecialWrite = 1 << 4,
+ kDataHSpecialWriteFile = 1 << 5,
+ kDataHCanStreamingWrite = 1 << 6,
+ kDataHMustCheckDataRef = 1 << 7
+};
+
+/* Data reference records for specific data ref types*/
+struct HandleDataRefRecord {
+ Handle dataHndl;
+};
+typedef struct HandleDataRefRecord HandleDataRefRecord;
+typedef HandleDataRefRecord * HandleDataRefPtr;
+typedef HandleDataRefPtr * HandleDataRef;
+struct PointerDataRefRecord {
+ void * data;
+ Size dataLength;
+};
+typedef struct PointerDataRefRecord PointerDataRefRecord;
+typedef PointerDataRefRecord * PointerDataRefPtr;
+typedef PointerDataRefPtr * PointerDataRef;
+/* Data reference extensions*/
+enum {
+ kDataRefExtensionChokeSpeed = FOUR_CHAR_CODE('chok'),
+ kDataRefExtensionFileName = FOUR_CHAR_CODE('fnam'),
+ kDataRefExtensionMIMEType = FOUR_CHAR_CODE('mime'),
+ kDataRefExtensionMacOSFileType = FOUR_CHAR_CODE('ftyp'),
+ kDataRefExtensionInitializationData = FOUR_CHAR_CODE('data'),
+ kDataRefExtensionQuickTimeMediaType = FOUR_CHAR_CODE('mtyp')
+};
+
+enum {
+ kDataHChokeToMovieDataRate = 1 << 0, /* param is 0*/
+ kDataHChokeToParam = 1 << 1 /* param is bytes per second*/
+};
+
+struct DataHChokeAtomRecord {
+ long flags; /* one of kDataHChokeTo constants*/
+ long param;
+};
+typedef struct DataHChokeAtomRecord DataHChokeAtomRecord;
+
+struct DataHVolumeListRecord {
+ short vRefNum;
+ long flags;
+};
+typedef struct DataHVolumeListRecord DataHVolumeListRecord;
+typedef DataHVolumeListRecord * DataHVolumeListPtr;
+typedef DataHVolumeListPtr * DataHVolumeList;
+enum {
+ kDataHExtendedSchedule = FOUR_CHAR_CODE('xtnd')
+};
+
+struct DataHScheduleRecord {
+ TimeRecord timeNeededBy;
+ long extendedID; /* always is kDataHExtendedSchedule*/
+ long extendedVers; /* always set to 0*/
+ Fixed priority; /* 100.0 or more means must have. lower numbers...*/
+};
+typedef struct DataHScheduleRecord DataHScheduleRecord;
+typedef DataHScheduleRecord * DataHSchedulePtr;
+/* Flags for DataHGetInfoFlags*/
+enum {
+ kDataHInfoFlagNeverStreams = 1 << 0, /* set if this data handler doesn't stream*/
+ kDataHInfoFlagCanUpdateDataRefs = 1 << 1, /* set if this data handler might update data reference*/
+ kDataHInfoFlagNeedsNetworkBandwidth = 1 << 2 /* set if this data handler may need to occupy the network*/
+};
+
+
+/* Types for DataHGetFileTypeOrdering*/
+enum {
+ kDataHFileTypeMacOSFileType = FOUR_CHAR_CODE('ftyp'),
+ kDataHFileTypeExtension = FOUR_CHAR_CODE('fext'),
+ kDataHFileTypeMIME = FOUR_CHAR_CODE('mime')
+};
+
+typedef OSType * DataHFileTypeOrderingPtr;
+typedef DataHFileTypeOrderingPtr * DataHFileTypeOrderingHandle;
+
+/*
+ * DataHGetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetData(
+ DataHandler dh,
+ Handle h,
+ long hOffset,
+ long offset,
+ long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * DataHPutData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHPutData(
+ DataHandler dh,
+ Handle h,
+ long hOffset,
+ long * offset,
+ long size) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * DataHFlushData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHFlushData(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * DataHOpenForWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHOpenForWrite(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * DataHCloseForWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHCloseForWrite(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
+
+
+
+/*
+ * DataHOpenForRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHOpenForRead(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * DataHCloseForRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHCloseForRead(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetDataRef(
+ DataHandler dh,
+ Handle dataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDataRef(
+ DataHandler dh,
+ Handle * dataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * DataHCompareDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHCompareDataRef(
+ DataHandler dh,
+ Handle dataRef,
+ Boolean * equal) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * DataHTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHTask(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * DataHScheduleData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHScheduleData(
+ DataHandler dh,
+ Ptr PlaceToPutDataPtr,
+ long FileOffset,
+ long DataSize,
+ long RefCon,
+ DataHSchedulePtr scheduleRec,
+ DataHCompletionUPP CompletionRtn) FIVEWORDINLINE(0x2F3C, 0x0018, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * DataHFinishData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHFinishData(
+ DataHandler dh,
+ Ptr PlaceToPutDataPtr,
+ Boolean Cancel) FIVEWORDINLINE(0x2F3C, 0x0006, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * DataHFlushCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHFlushCache(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * DataHResolveDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHResolveDataRef(
+ DataHandler dh,
+ Handle theDataRef,
+ Boolean * wasChanged,
+ Boolean userInterfaceAllowed) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetFileSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetFileSize(
+ DataHandler dh,
+ long * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * DataHCanUseDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHCanUseDataRef(
+ DataHandler dh,
+ Handle dataRef,
+ long * useFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetVolumeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetVolumeList(
+ DataHandler dh,
+ DataHVolumeList * volumeList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * DataHWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHWrite(
+ DataHandler dh,
+ Ptr data,
+ long offset,
+ long size,
+ DataHCompletionUPP completion,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * DataHPreextend()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHPreextend(
+ DataHandler dh,
+ unsigned long maxToAdd,
+ unsigned long * spaceAdded) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetFileSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetFileSize(
+ DataHandler dh,
+ long fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetFreeSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetFreeSpace(
+ DataHandler dh,
+ unsigned long * freeSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * DataHCreateFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHCreateFile(
+ DataHandler dh,
+ OSType creator,
+ Boolean deleteExisting) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetPreferredBlockSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetPreferredBlockSize(
+ DataHandler dh,
+ long * blockSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetDeviceIndex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDeviceIndex(
+ DataHandler dh,
+ long * deviceIndex) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * DataHIsStreamingDataHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHIsStreamingDataHandler(
+ DataHandler dh,
+ Boolean * yes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetDataInBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDataInBuffer(
+ DataHandler dh,
+ long startOffset,
+ long * size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetScheduleAheadTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetScheduleAheadTime(
+ DataHandler dh,
+ long * millisecs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetCacheSizeLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetCacheSizeLimit(
+ DataHandler dh,
+ Size cacheSizeLimit) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetCacheSizeLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetCacheSizeLimit(
+ DataHandler dh,
+ Size * cacheSizeLimit) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetMovie(
+ DataHandler dh,
+ Movie * theMovie,
+ short * id) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * DataHAddMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHAddMovie(
+ DataHandler dh,
+ Movie theMovie,
+ short * id) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * DataHUpdateMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHUpdateMovie(
+ DataHandler dh,
+ Movie theMovie,
+ short id) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A);
+
+
+/*
+ * DataHDoesBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHDoesBuffer(
+ DataHandler dh,
+ Boolean * buffersReads,
+ Boolean * buffersWrites) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetFileName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetFileName(
+ DataHandler dh,
+ Str255 str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetAvailableFileSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetAvailableFileSize(
+ DataHandler dh,
+ long * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetMacOSFileType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetMacOSFileType(
+ DataHandler dh,
+ OSType * fileType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetMIMEType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetMIMEType(
+ DataHandler dh,
+ Str255 mimeType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetDataRefWithAnchor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetDataRefWithAnchor(
+ DataHandler dh,
+ Handle anchorDataRef,
+ OSType dataRefType,
+ Handle dataRef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0029, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetDataRefWithAnchor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDataRefWithAnchor(
+ DataHandler dh,
+ Handle anchorDataRef,
+ OSType dataRefType,
+ Handle * dataRef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002A, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetMacOSFileType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetMacOSFileType(
+ DataHandler dh,
+ OSType fileType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetTimeBase(
+ DataHandler dh,
+ TimeBase tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetInfoFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetInfoFlags(
+ DataHandler dh,
+ UInt32 * flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002D, 0x7000, 0xA82A);
+
+
+/*
+ * DataHScheduleData64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHScheduleData64(
+ DataHandler dh,
+ Ptr PlaceToPutDataPtr,
+ const wide * FileOffset,
+ long DataSize,
+ long RefCon,
+ DataHSchedulePtr scheduleRec,
+ DataHCompletionUPP CompletionRtn) FIVEWORDINLINE(0x2F3C, 0x0018, 0x002E, 0x7000, 0xA82A);
+
+
+/*
+ * DataHWrite64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHWrite64(
+ DataHandler dh,
+ Ptr data,
+ const wide * offset,
+ long size,
+ DataHCompletionUPP completion,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x002F, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetFileSize64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetFileSize64(
+ DataHandler dh,
+ wide * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
+
+
+/*
+ * DataHPreextend64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHPreextend64(
+ DataHandler dh,
+ const wide * maxToAdd,
+ wide * spaceAdded) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetFileSize64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetFileSize64(
+ DataHandler dh,
+ const wide * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0032, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetFreeSpace64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetFreeSpace64(
+ DataHandler dh,
+ wide * freeSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
+
+
+/*
+ * DataHAppend64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHAppend64(
+ DataHandler dh,
+ void * data,
+ wide * fileOffset,
+ unsigned long size) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0034, 0x7000, 0xA82A);
+
+
+/*
+ * DataHReadAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHReadAsync(
+ DataHandler dh,
+ void * dataPtr,
+ UInt32 dataSize,
+ const wide * dataOffset,
+ DataHCompletionUPP completion,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0035, 0x7000, 0xA82A);
+
+
+/*
+ * DataHPollRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHPollRead(
+ DataHandler dh,
+ void * dataPtr,
+ UInt32 * dataSizeSoFar) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetDataAvailability()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDataAvailability(
+ DataHandler dh,
+ long offset,
+ long len,
+ long * missing_offset,
+ long * missing_len) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0037, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetFileSizeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetFileSizeAsync(
+ DataHandler dh,
+ wide * fileSize,
+ DataHCompletionUPP completionRtn,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003A, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetDataRefAsType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDataRefAsType(
+ DataHandler dh,
+ OSType requestedType,
+ Handle * dataRef) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003B, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetDataRefExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetDataRefExtension(
+ DataHandler dh,
+ Handle extension,
+ OSType idType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003C, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetDataRefExtension()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDataRefExtension(
+ DataHandler dh,
+ Handle * extension,
+ OSType idType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003D, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetMovieWithFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetMovieWithFlags(
+ DataHandler dh,
+ Movie * theMovie,
+ short * id,
+ short flags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x003E, 0x7000, 0xA82A);
+
+
+
+/*
+ * DataHGetFileTypeOrdering()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetFileTypeOrdering(
+ DataHandler dh,
+ DataHFileTypeOrderingHandle * orderingListHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0040, 0x7000, 0xA82A);
+
+
+/* flags for DataHCreateFileWithFlags*/
+enum {
+ kDataHCreateFileButDontCreateResFile = (1L << 0)
+};
+
+/*
+ * DataHCreateFileWithFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHCreateFileWithFlags(
+ DataHandler dh,
+ OSType creator,
+ Boolean deleteExisting,
+ UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0041, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetMIMETypeAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetMIMETypeAsync(
+ DataHandler dh,
+ Str255 mimeType,
+ DataHCompletionUPP completionRtn,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0042, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in qtmlClient.lib 5.0.1 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetInfo(
+ DataHandler dh,
+ OSType what,
+ void * info) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0043, 0x7000, 0xA82A);
+
+
+/*
+ * DataHSetIdleManager()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetIdleManager(
+ DataHandler dh,
+ IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0044, 0x7000, 0xA82A);
+
+
+/*
+ * DataHDeleteFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHDeleteFile(DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0045, 0x7000, 0xA82A);
+
+
+enum {
+ kDataHMovieUsageDoAppendMDAT = 1L << 0 /* if set, datahandler should append wide and mdat atoms in append call*/
+};
+
+/*
+ * DataHSetMovieUsageFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetMovieUsageFlags(
+ DataHandler dh,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0046, 0x7000, 0xA82A);
+
+
+
+enum {
+ kDataHTempUseSameDirectory = 1L << 0, /* temp data ref should be in same directory as current data ref (vs. in temporary directory)*/
+ kDataHTempUseSameVolume = 1L << 1, /* temp data ref should be on same volume as current data ref (vs. find "best" volume)*/
+ kDataHTempCreateFile = 1L << 2, /* create the file*/
+ kDataHTempOpenFile = 1L << 3 /* open temporary file for write (kDataHTempCreateFile must be passed, too)*/
+};
+
+/*
+ * DataHUseTemporaryDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHUseTemporaryDataRef(
+ DataHandler dh,
+ long inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetTemporaryDataRefCapabilities()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetTemporaryDataRefCapabilities(
+ DataHandler dh,
+ long * outUnderstoodFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
+
+
+/*
+ * DataHRenameFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHRenameFile(
+ DataHandler dh,
+ Handle newDataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0049, 0x7000, 0xA82A);
+
+
+/* selector 74 skipped */
+/* selector 75 skipped */
+/* selector 76 skipped */
+/* selector 77 skipped */
+/*
+ * DataHGetAvailableFileSize64()
+ *
+ * Summary:
+ * Returns the amount of contiguous data from the start of the file
+ * that's currently available for reading.
+ *
+ * Discussion:
+ * The 64-bit variant of DataHGetAvailableFileSize. Note that all
+ * data handlers that support fast-start playback, e.g. an http data
+ * handler, must implement DataHGetAvailableFileSize. Those that
+ * support files larger than 2 GB must also implement
+ * DataHGetAvailableFileSize64.
+ *
+ * Parameters:
+ *
+ * dh:
+ * Component instance / instance globals.
+ *
+ * fileSize:
+ * Points to a variable to receive the amount of contiguous data
+ * from the start of the file that's currently available for
+ * reading.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetAvailableFileSize64(
+ DataHandler dh,
+ wide * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004E, 0x7000, 0xA82A);
+
+
+/*
+ * DataHGetDataAvailability64()
+ *
+ * Summary:
+ * Checks the availability of the specified range of data and
+ * returns the first range of missing data needed to satisfy a read
+ * request. Returns an empty range starting at the end of the
+ * specified range when a read request for the specified range can
+ * be satisfied immediately.
+ *
+ * Discussion:
+ * The 64-bit variant of DataHGetDataAvailability. Note that all
+ * data handlers that support fast-start playback, e.g. an http data
+ * handler, should implement DataHGetDataAvailability. Those that
+ * support files larger than 2 GB should also implement
+ * DataHGetDataAvailability64.
+ *
+ * Parameters:
+ *
+ * dh:
+ * Component instance / instance globals.
+ *
+ * offset:
+ * The start of the requested range of data.
+ *
+ * len:
+ * The length of the requested range of data.
+ *
+ * missing_offset:
+ * The offset from the start of the file of the first byte of data
+ * within the requested range that's not yet available. If the
+ * entire range is available, the offset returned is the offset of
+ * the first byte after the requested range.
+ *
+ * missing_len:
+ * The length of the range of data starting at missing_offset
+ * that's not yet available. If the entire range of data is
+ * available, the length returned is 0.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.4 (or QuickTime 7.0) and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDataAvailability64(
+ DataHandler dh,
+ const wide * offset,
+ long len,
+ wide * missing_offset,
+ long * missing_len) FIVEWORDINLINE(0x2F3C, 0x0010, 0x004F, 0x7000, 0xA82A);
+
+
+/* selector 80 skipped */
+/* selector 81 skipped */
+/*
+ * DataHPlaybackHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHPlaybackHints(
+ DataHandler dh,
+ long flags,
+ unsigned long minFileOffset,
+ unsigned long maxFileOffset,
+ long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * DataHPlaybackHints64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.1 and later
+ */
+EXTERN_API( ComponentResult )
+DataHPlaybackHints64(
+ DataHandler dh,
+ long flags,
+ const wide * minFileOffset,
+ const wide * maxFileOffset,
+ long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010E, 0x7000, 0xA82A);
+
+
+/* Symbolic constants for DataHGetDataRate*/
+enum {
+ kDataHGetDataRateInfiniteRate = 0x7FFFFFFF /* all the data arrived instantaneously*/
+};
+
+/*
+ * DataHGetDataRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHGetDataRate(
+ DataHandler dh,
+ long flags,
+ long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0110, 0x7000, 0xA82A);
+
+
+/* Flags for DataHSetTimeHints*/
+enum {
+ kDataHSetTimeHintsSkipBandwidthRequest = 1 << 0 /* set if this data handler should use the network without requesting bandwidth*/
+};
+
+/*
+ * DataHSetTimeHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+DataHSetTimeHints(
+ DataHandler dh,
+ long flags,
+ long bandwidthPriority,
+ TimeScale scale,
+ TimeValue minTime,
+ TimeValue maxTime) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0111, 0x7000, 0xA82A);
+
+
+
+
+
+
+/* Standard type for video digitizers */
+enum {
+ videoDigitizerComponentType = FOUR_CHAR_CODE('vdig'),
+ vdigInterfaceRev = 2
+};
+
+/* Input Format Standards */
+enum {
+ ntscIn = 0, /* current input format */
+ currentIn = 0, /* ntsc input format */
+ palIn = 1, /* pal input format */
+ secamIn = 2, /* secam input format */
+ ntscReallyIn = 3 /* ntsc input format */
+};
+
+/* Input Formats */
+enum {
+ compositeIn = 0, /* input is composite format */
+ sVideoIn = 1, /* input is sVideo format */
+ rgbComponentIn = 2, /* input is rgb component format */
+ rgbComponentSyncIn = 3, /* input is rgb component format (sync on green?)*/
+ yuvComponentIn = 4, /* input is yuv component format */
+ yuvComponentSyncIn = 5, /* input is yuv component format (sync on green?) */
+ tvTunerIn = 6,
+ sdiIn = 7
+};
+
+
+/* Video Digitizer PlayThru States */
+enum {
+ vdPlayThruOff = 0,
+ vdPlayThruOn = 1
+};
+
+/* Input Color Space Modes */
+enum {
+ vdDigitizerBW = 0, /* black and white */
+ vdDigitizerRGB = 1 /* rgb color */
+};
+
+/* Phase Lock Loop Modes */
+enum {
+ vdBroadcastMode = 0, /* Broadcast / Laser Disk video mode */
+ vdVTRMode = 1 /* VCR / Magnetic media mode */
+};
+
+/* Field Select Options */
+enum {
+ vdUseAnyField = 0, /* Digitizers choice on field use */
+ vdUseOddField = 1, /* Use odd field for half size vert and smaller */
+ vdUseEvenField = 2 /* Use even field for half size vert and smaller */
+};
+
+/* vdig types */
+enum {
+ vdTypeBasic = 0, /* basic, no clipping */
+ vdTypeAlpha = 1, /* supports clipping with alpha channel */
+ vdTypeMask = 2, /* supports clipping with mask plane */
+ vdTypeKey = 3 /* supports clipping with key color(s) */
+};
+
+
+
+/* Digitizer Input Capability/Current Flags */
+enum {
+ digiInDoesNTSC = 1L << 0, /* digitizer supports NTSC input format */
+ digiInDoesPAL = 1L << 1, /* digitizer supports PAL input format */
+ digiInDoesSECAM = 1L << 2, /* digitizer supports SECAM input format */
+ digiInDoesGenLock = 1L << 7, /* digitizer does genlock */
+ digiInDoesComposite = 1L << 8, /* digitizer supports composite input type */
+ digiInDoesSVideo = 1L << 9, /* digitizer supports S-Video input type */
+ digiInDoesComponent = 1L << 10, /* digitizer supports component = rgb, input type */
+ digiInVTR_Broadcast = 1L << 11, /* digitizer can differentiate between the two */
+ digiInDoesColor = 1L << 12, /* digitizer supports color */
+ digiInDoesBW = 1L << 13, /* digitizer supports black & white */
+ /* Digitizer Input Current Flags = these are valid only during active operating conditions, */
+ digiInSignalLock = 1L << 31 /* digitizer detects input signal is locked, this bit = horiz lock || vertical lock */
+};
+
+
+/* Digitizer Output Capability/Current Flags */
+enum {
+ digiOutDoes1 = 1L << 0, /* digitizer supports 1 bit pixels */
+ digiOutDoes2 = 1L << 1, /* digitizer supports 2 bit pixels */
+ digiOutDoes4 = 1L << 2, /* digitizer supports 4 bit pixels */
+ digiOutDoes8 = 1L << 3, /* digitizer supports 8 bit pixels */
+ digiOutDoes16 = 1L << 4, /* digitizer supports 16 bit pixels */
+ digiOutDoes32 = 1L << 5, /* digitizer supports 32 bit pixels */
+ digiOutDoesDither = 1L << 6, /* digitizer dithers in indexed modes */
+ digiOutDoesStretch = 1L << 7, /* digitizer can arbitrarily stretch */
+ digiOutDoesShrink = 1L << 8, /* digitizer can arbitrarily shrink */
+ digiOutDoesMask = 1L << 9, /* digitizer can mask to clipping regions */
+ digiOutDoesDouble = 1L << 11, /* digitizer can stretch to exactly double size */
+ digiOutDoesQuad = 1L << 12, /* digitizer can stretch exactly quadruple size */
+ digiOutDoesQuarter = 1L << 13, /* digitizer can shrink to exactly quarter size */
+ digiOutDoesSixteenth = 1L << 14, /* digitizer can shrink to exactly sixteenth size */
+ digiOutDoesRotate = 1L << 15, /* digitizer supports rotate transformations */
+ digiOutDoesHorizFlip = 1L << 16, /* digitizer supports horizontal flips Sx < 0 */
+ digiOutDoesVertFlip = 1L << 17, /* digitizer supports vertical flips Sy < 0 */
+ digiOutDoesSkew = 1L << 18, /* digitizer supports skew = shear,twist, */
+ digiOutDoesBlend = 1L << 19,
+ digiOutDoesWarp = 1L << 20,
+ digiOutDoesHW_DMA = 1L << 21, /* digitizer not constrained to local device */
+ digiOutDoesHWPlayThru = 1L << 22, /* digitizer doesn't need time to play thru */
+ digiOutDoesILUT = 1L << 23, /* digitizer does inverse LUT for index modes */
+ digiOutDoesKeyColor = 1L << 24, /* digitizer does key color functions too */
+ digiOutDoesAsyncGrabs = 1L << 25, /* digitizer supports async grabs */
+ digiOutDoesUnreadableScreenBits = 1L << 26, /* playthru doesn't generate readable bits on screen*/
+ digiOutDoesCompress = 1L << 27, /* supports alternate output data types */
+ digiOutDoesCompressOnly = 1L << 28, /* can't provide raw frames anywhere */
+ digiOutDoesPlayThruDuringCompress = 1L << 29, /* digi can do playthru while providing compressed data */
+ digiOutDoesCompressPartiallyVisible = 1L << 30, /* digi doesn't need all bits visible on screen to do hardware compress */
+ digiOutDoesNotNeedCopyOfCompressData = 1L << 31 /* digi doesn't need any bufferization when providing compressed data */
+};
+
+/* Types */
+typedef ComponentInstance VideoDigitizerComponent;
+typedef ComponentResult VideoDigitizerError;
+struct DigitizerInfo {
+ short vdigType;
+ long inputCapabilityFlags;
+ long outputCapabilityFlags;
+ long inputCurrentFlags;
+ long outputCurrentFlags;
+ short slot; /* temporary for connection purposes */
+ GDHandle gdh; /* temporary for digitizers that have preferred screen */
+ GDHandle maskgdh; /* temporary for digitizers that have mask planes */
+ short minDestHeight; /* Smallest resizable height */
+ short minDestWidth; /* Smallest resizable width */
+ short maxDestHeight; /* Largest resizable height */
+ short maxDestWidth; /* Largest resizable width */
+ short blendLevels; /* Number of blend levels supported (2 if 1 bit mask) */
+ long reserved; /* reserved */
+};
+typedef struct DigitizerInfo DigitizerInfo;
+struct VdigType {
+ long digType;
+ long reserved;
+};
+typedef struct VdigType VdigType;
+struct VdigTypeList {
+ short count;
+ VdigType list[1];
+};
+typedef struct VdigTypeList VdigTypeList;
+struct VdigBufferRec {
+ PixMapHandle dest;
+ Point location;
+ long reserved;
+};
+typedef struct VdigBufferRec VdigBufferRec;
+struct VdigBufferRecList {
+ short count;
+ MatrixRecordPtr matrix;
+ RgnHandle mask;
+ VdigBufferRec list[1];
+};
+typedef struct VdigBufferRecList VdigBufferRecList;
+typedef VdigBufferRecList * VdigBufferRecListPtr;
+typedef VdigBufferRecListPtr * VdigBufferRecListHandle;
+typedef CALLBACK_API( void , VdigIntProcPtr )(long flags, long refcon);
+typedef STACK_UPP_TYPE(VdigIntProcPtr) VdigIntUPP;
+struct VDCompressionList {
+ CodecComponent codec;
+ CodecType cType;
+ Str63 typeName;
+ Str63 name;
+ long formatFlags;
+ long compressFlags;
+ long reserved;
+};
+typedef struct VDCompressionList VDCompressionList;
+typedef VDCompressionList * VDCompressionListPtr;
+typedef VDCompressionListPtr * VDCompressionListHandle;
+enum {
+ dmaDepth1 = 1,
+ dmaDepth2 = 2,
+ dmaDepth4 = 4,
+ dmaDepth8 = 8,
+ dmaDepth16 = 16,
+ dmaDepth32 = 32,
+ dmaDepth2Gray = 64,
+ dmaDepth4Gray = 128,
+ dmaDepth8Gray = 256
+};
+
+enum {
+ kVDIGControlledFrameRate = -1
+};
+
+
+/*
+ * VDGetMaxSrcRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetMaxSrcRect(
+ VideoDigitizerComponent ci,
+ short inputStd,
+ Rect * maxSrcRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetActiveSrcRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetActiveSrcRect(
+ VideoDigitizerComponent ci,
+ short inputStd,
+ Rect * activeSrcRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetDigitizerRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetDigitizerRect(
+ VideoDigitizerComponent ci,
+ Rect * digitizerRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetDigitizerRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetDigitizerRect(
+ VideoDigitizerComponent ci,
+ Rect * digitizerRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetVBlankRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetVBlankRect(
+ VideoDigitizerComponent ci,
+ short inputStd,
+ Rect * vBlankRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetMaskPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetMaskPixMap(
+ VideoDigitizerComponent ci,
+ PixMapHandle maskPixMap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetPlayThruDestination()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetPlayThruDestination(
+ VideoDigitizerComponent ci,
+ PixMapHandle * dest,
+ Rect * destRect,
+ MatrixRecord * m,
+ RgnHandle * mask) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * VDUseThisCLUT()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDUseThisCLUT(
+ VideoDigitizerComponent ci,
+ CTabHandle colorTableHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetInputGammaValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetInputGammaValue(
+ VideoDigitizerComponent ci,
+ Fixed channel1,
+ Fixed channel2,
+ Fixed channel3) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetInputGammaValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetInputGammaValue(
+ VideoDigitizerComponent ci,
+ Fixed * channel1,
+ Fixed * channel2,
+ Fixed * channel3) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetBrightness()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetBrightness(
+ VideoDigitizerComponent ci,
+ unsigned short * brightness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetBrightness()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetBrightness(
+ VideoDigitizerComponent ci,
+ unsigned short * brightness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetContrast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetContrast(
+ VideoDigitizerComponent ci,
+ unsigned short * contrast) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetHue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetHue(
+ VideoDigitizerComponent ci,
+ unsigned short * hue) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetSharpness()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetSharpness(
+ VideoDigitizerComponent ci,
+ unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetSaturation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetSaturation(
+ VideoDigitizerComponent ci,
+ unsigned short * saturation) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetContrast()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetContrast(
+ VideoDigitizerComponent ci,
+ unsigned short * contrast) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetHue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetHue(
+ VideoDigitizerComponent ci,
+ unsigned short * hue) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetSharpness()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetSharpness(
+ VideoDigitizerComponent ci,
+ unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetSaturation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetSaturation(
+ VideoDigitizerComponent ci,
+ unsigned short * saturation) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * VDGrabOneFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGrabOneFrame(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetMaxAuxBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetMaxAuxBuffer(
+ VideoDigitizerComponent ci,
+ PixMapHandle * pm,
+ Rect * r) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetDigitizerInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetDigitizerInfo(
+ VideoDigitizerComponent ci,
+ DigitizerInfo * info) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetCurrentFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetCurrentFlags(
+ VideoDigitizerComponent ci,
+ long * inputCurrentFlag,
+ long * outputCurrentFlag) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetKeyColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetKeyColor(
+ VideoDigitizerComponent ci,
+ long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetKeyColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetKeyColor(
+ VideoDigitizerComponent ci,
+ long * index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
+
+
+/*
+ * VDAddKeyColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDAddKeyColor(
+ VideoDigitizerComponent ci,
+ long * index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetNextKeyColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetNextKeyColor(
+ VideoDigitizerComponent ci,
+ long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetKeyColorRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetKeyColorRange(
+ VideoDigitizerComponent ci,
+ RGBColor * minRGB,
+ RGBColor * maxRGB) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001F, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetKeyColorRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetKeyColorRange(
+ VideoDigitizerComponent ci,
+ RGBColor * minRGB,
+ RGBColor * maxRGB) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetDigitizerUserInterrupt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetDigitizerUserInterrupt(
+ VideoDigitizerComponent ci,
+ long flags,
+ VdigIntUPP userInterruptProc,
+ long refcon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetInputColorSpaceMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetInputColorSpaceMode(
+ VideoDigitizerComponent ci,
+ short colorSpaceMode) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetInputColorSpaceMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetInputColorSpaceMode(
+ VideoDigitizerComponent ci,
+ short * colorSpaceMode) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0023, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetClipState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetClipState(
+ VideoDigitizerComponent ci,
+ short clipEnable) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0024, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetClipState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetClipState(
+ VideoDigitizerComponent ci,
+ short * clipEnable) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetClipRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetClipRgn(
+ VideoDigitizerComponent ci,
+ RgnHandle clipRegion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
+
+
+/*
+ * VDClearClipRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDClearClipRgn(
+ VideoDigitizerComponent ci,
+ RgnHandle clipRegion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetCLUTInUse()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetCLUTInUse(
+ VideoDigitizerComponent ci,
+ CTabHandle * colorTableHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetPLLFilterType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetPLLFilterType(
+ VideoDigitizerComponent ci,
+ short pllType) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0029, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetPLLFilterType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetPLLFilterType(
+ VideoDigitizerComponent ci,
+ short * pllType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetMaskandValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetMaskandValue(
+ VideoDigitizerComponent ci,
+ unsigned short blendLevel,
+ long * mask,
+ long * value) FIVEWORDINLINE(0x2F3C, 0x000A, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetMasterBlendLevel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetMasterBlendLevel(
+ VideoDigitizerComponent ci,
+ unsigned short * blendLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetPlayThruDestination()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetPlayThruDestination(
+ VideoDigitizerComponent ci,
+ PixMapHandle dest,
+ RectPtr destRect,
+ MatrixRecordPtr m,
+ RgnHandle mask) FIVEWORDINLINE(0x2F3C, 0x0010, 0x002D, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetPlayThruOnOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetPlayThruOnOff(
+ VideoDigitizerComponent ci,
+ short state) FIVEWORDINLINE(0x2F3C, 0x0002, 0x002E, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetFieldPreference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetFieldPreference(
+ VideoDigitizerComponent ci,
+ short fieldFlag) FIVEWORDINLINE(0x2F3C, 0x0002, 0x002F, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetFieldPreference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetFieldPreference(
+ VideoDigitizerComponent ci,
+ short * fieldFlag) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
+
+
+/*
+ * VDPreflightDestination()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDPreflightDestination(
+ VideoDigitizerComponent ci,
+ Rect * digitizerRect,
+ PixMap ** dest,
+ RectPtr destRect,
+ MatrixRecordPtr m) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0032, 0x7000, 0xA82A);
+
+
+/*
+ * VDPreflightGlobalRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDPreflightGlobalRect(
+ VideoDigitizerComponent ci,
+ GrafPtr theWindow,
+ Rect * globalRect) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetPlayThruGlobalRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetPlayThruGlobalRect(
+ VideoDigitizerComponent ci,
+ GrafPtr theWindow,
+ Rect * globalRect) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetInputGammaRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetInputGammaRecord(
+ VideoDigitizerComponent ci,
+ VDGamRecPtr inputGammaPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetInputGammaRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetInputGammaRecord(
+ VideoDigitizerComponent ci,
+ VDGamRecPtr * inputGammaPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0036, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetBlackLevelValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetBlackLevelValue(
+ VideoDigitizerComponent ci,
+ unsigned short * blackLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0037, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetBlackLevelValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetBlackLevelValue(
+ VideoDigitizerComponent ci,
+ unsigned short * blackLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0038, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetWhiteLevelValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetWhiteLevelValue(
+ VideoDigitizerComponent ci,
+ unsigned short * whiteLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0039, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetWhiteLevelValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetWhiteLevelValue(
+ VideoDigitizerComponent ci,
+ unsigned short * whiteLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003A, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetVideoDefaults()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetVideoDefaults(
+ VideoDigitizerComponent ci,
+ unsigned short * blackLevel,
+ unsigned short * whiteLevel,
+ unsigned short * brightness,
+ unsigned short * hue,
+ unsigned short * saturation,
+ unsigned short * contrast,
+ unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x001C, 0x003B, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetNumberOfInputs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetNumberOfInputs(
+ VideoDigitizerComponent ci,
+ short * inputs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003C, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetInputFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetInputFormat(
+ VideoDigitizerComponent ci,
+ short input,
+ short * format) FIVEWORDINLINE(0x2F3C, 0x0006, 0x003D, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetInput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetInput(
+ VideoDigitizerComponent ci,
+ short input) FIVEWORDINLINE(0x2F3C, 0x0002, 0x003E, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetInput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetInput(
+ VideoDigitizerComponent ci,
+ short * input) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003F, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetInputStandard()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetInputStandard(
+ VideoDigitizerComponent ci,
+ short inputStandard) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0040, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetupBuffers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetupBuffers(
+ VideoDigitizerComponent ci,
+ VdigBufferRecListHandle bufferList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0041, 0x7000, 0xA82A);
+
+
+/*
+ * VDGrabOneFrameAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGrabOneFrameAsync(
+ VideoDigitizerComponent ci,
+ short buffer) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0042, 0x7000, 0xA82A);
+
+
+/*
+ * VDDone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDDone(
+ VideoDigitizerComponent ci,
+ short buffer) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0043, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetCompression()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetCompression(
+ VideoDigitizerComponent ci,
+ OSType compressType,
+ short depth,
+ Rect * bounds,
+ CodecQ spatialQuality,
+ CodecQ temporalQuality,
+ long keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0044, 0x7000, 0xA82A);
+
+
+/*
+ * VDCompressOneFrameAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDCompressOneFrameAsync(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0045, 0x7000, 0xA82A);
+
+
+/* Note that UInt8* queuedFrameCount replaces Boolean* done. 0(==false) still means no frames, and 1(==true) one,
+ but if more than one are available the number should be returned here. The value 2 previously meant more than one frame,
+ so some VDIGs may return 2 even if more than 2 are available, and some will still return 1 as they are using the original definition */
+/*
+ * VDCompressDone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDCompressDone(
+ VideoDigitizerComponent ci,
+ UInt8 * queuedFrameCount,
+ Ptr * theData,
+ long * dataSize,
+ UInt8 * similarity,
+ TimeRecord * t) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0046, 0x7000, 0xA82A);
+
+
+/*
+ * VDReleaseCompressBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDReleaseCompressBuffer(
+ VideoDigitizerComponent ci,
+ Ptr bufferAddr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetImageDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetImageDescription(
+ VideoDigitizerComponent ci,
+ ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
+
+
+/*
+ * VDResetCompressSequence()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDResetCompressSequence(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0049, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetCompressionOnOff()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetCompressionOnOff(
+ VideoDigitizerComponent ci,
+ Boolean state) FIVEWORDINLINE(0x2F3C, 0x0002, 0x004A, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetCompressionTypes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetCompressionTypes(
+ VideoDigitizerComponent ci,
+ VDCompressionListHandle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004B, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetTimeBase(
+ VideoDigitizerComponent ci,
+ TimeBase t) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004C, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetFrameRate(
+ VideoDigitizerComponent ci,
+ Fixed framesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004D, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetDataRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetDataRate(
+ VideoDigitizerComponent ci,
+ long * milliSecPerFrame,
+ Fixed * framesPerSecond,
+ long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004E, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetSoundInputDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetSoundInputDriver(
+ VideoDigitizerComponent ci,
+ Str255 soundDriverName) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004F, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetDMADepths()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetDMADepths(
+ VideoDigitizerComponent ci,
+ long * depthArray,
+ long * preferredDepth) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0050, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetPreferredTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetPreferredTimeScale(
+ VideoDigitizerComponent ci,
+ TimeScale * preferred) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0051, 0x7000, 0xA82A);
+
+
+/*
+ * VDReleaseAsyncBuffers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDReleaseAsyncBuffers(VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0052, 0x7000, 0xA82A);
+
+
+/* 83 is reserved for compatibility reasons */
+/*
+ * VDSetDataRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetDataRate(
+ VideoDigitizerComponent ci,
+ long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0054, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetTimeCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetTimeCode(
+ VideoDigitizerComponent ci,
+ TimeRecord * atTime,
+ void * timeCodeFormat,
+ void * timeCodeTime) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0055, 0x7000, 0xA82A);
+
+
+/*
+ * VDUseSafeBuffers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDUseSafeBuffers(
+ VideoDigitizerComponent ci,
+ Boolean useSafeBuffers) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0056, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetSoundInputSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetSoundInputSource(
+ VideoDigitizerComponent ci,
+ long videoInput,
+ long * soundInput) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0057, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetCompressionTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetCompressionTime(
+ VideoDigitizerComponent ci,
+ OSType compressionType,
+ short depth,
+ Rect * srcRect,
+ CodecQ * spatialQuality,
+ CodecQ * temporalQuality,
+ unsigned long * compressTime) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0058, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetPreferredPacketSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetPreferredPacketSize(
+ VideoDigitizerComponent ci,
+ long preferredPacketSizeInBytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0059, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetPreferredImageDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetPreferredImageDimensions(
+ VideoDigitizerComponent ci,
+ long width,
+ long height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005A, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetPreferredImageDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetPreferredImageDimensions(
+ VideoDigitizerComponent ci,
+ long * width,
+ long * height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005B, 0x7000, 0xA82A);
+
+
+/*
+ * VDGetInputName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetInputName(
+ VideoDigitizerComponent ci,
+ long videoInput,
+ Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005C, 0x7000, 0xA82A);
+
+
+/*
+ * VDSetDestinationPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSetDestinationPort(
+ VideoDigitizerComponent ci,
+ CGrafPtr destPort) FIVEWORDINLINE(0x2F3C, 0x0004, 0x005D, 0x7000, 0xA82A);
+
+
+/*
+ The following call is designed to give the VDIG a little more control over how it is presented to the User, to clarify the
+ distinction between Devices and Inputs. Historically, the assumption has been that there is one component registered per device
+ and the component name is displayed. This change lets a component choose its name after registration.
+ vdDeviceFlagShowInputsAsDevices is meant for components that register once and support multiple devices
+ The UI is clearer if these are presented as device rather than inputs,
+ and this allows a VDIG to present itself this way without huge restructuring
+ vdDeviceFlagHideDevice is for the kind of VDIG that registers itself, and then can register a further VDIG for each device.
+ If no hardware is available, returning this flag will omit it from the list.
+ This call being made is also a good time to check for hardware and register further VDIG components if needed,
+ allowing for lazy initialization when the Application needs to find a VDIG rather than on every launch or replug.
+*/
+
+enum {
+ vdDeviceFlagShowInputsAsDevices = (1 << 0), /* Tell the Panel to promote Inputs to Devices*/
+ vdDeviceFlagHideDevice = (1 << 1) /* Omit this Device entirely from the list*/
+};
+
+/*
+ * VDGetDeviceNameAndFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetDeviceNameAndFlags(
+ VideoDigitizerComponent ci,
+ Str255 outName,
+ UInt32 * outNameFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005E, 0x7000, 0xA82A);
+
+
+enum {
+ vdFlagCaptureStarting = (1 << 0), /* Capture is about to start; allocate bandwidth */
+ vdFlagCaptureStopping = (1 << 1), /* Capture is about to stop; stop queuing frames*/
+ vdFlagCaptureIsForPreview = (1 << 2), /* Capture is just to screen for preview purposes*/
+ vdFlagCaptureIsForRecord = (1 << 3), /* Capture is going to be recorded*/
+ vdFlagCaptureLowLatency = (1 << 4), /* Fresh frames are more important than delivering every frame - don't queue too much*/
+ vdFlagCaptureAlwaysUseTimeBase = (1 << 5), /* Use the timebase for every frame; don't worry about making durations uniform*/
+ vdFlagCaptureSetSettingsBegin = (1 << 6), /* A series of calls are about to be made to restore settings.*/
+ vdFlagCaptureSetSettingsEnd = (1 << 7) /* Finished restoring settings; any set calls after this are from the app or UI*/
+};
+
+/*
+ * VDCaptureStateChanging()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDCaptureStateChanging(
+ VideoDigitizerComponent ci,
+ UInt32 inStateFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x005F, 0x7000, 0xA82A);
+
+
+/*
+ These UniqueID calls are so that the VDIG can give the SG information enabling it to restore a particular
+ configuration - choose a particular device and input from those available.
+ For example, restoring the specific camera for a set of several hot-plugged FireWire cameras
+ the caller can pass nil if it is not interested in one of the IDs
+ returning 0 in an ID means you don't have one
+*/
+
+/*
+ * VDGetUniqueIDs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDGetUniqueIDs(
+ VideoDigitizerComponent ci,
+ UInt64 * outDeviceID,
+ UInt64 * outInputID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0060, 0x7000, 0xA82A);
+
+
+/*
+ Note this is a 'Select' not a 'Set' - the assumption is that the Unique ID is a function of the hardware
+ and not modifiable by the calling application. Either a nil pointer or 0 an the ID means don't care.
+ return vdDontHaveThatUniqueIDErr if your device doesn't have a match.
+*/
+
+/*
+ * VDSelectUniqueIDs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDSelectUniqueIDs(
+ VideoDigitizerComponent ci,
+ const UInt64 * inDeviceID,
+ const UInt64 * inInputID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0061, 0x7000, 0xA82A);
+
+
+/*
+ * VDCopyPreferredAudioDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( ComponentResult )
+VDCopyPreferredAudioDevice(
+ ComponentInstance vdig,
+ CFStringRef * outAudioDeviceUID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0063, 0x7000, 0xA82A);
+
+
+
+/*
+ IIDC (Instrumentation & Industrial Digital Camera) Video Digitizers
+ Video Digitizers of subtype vdSubtypeIIDC support FireWire cameras which conform to the
+ "IIDC 1394-based Digital Camera Specification."
+*/
+
+enum {
+ vdSubtypeIIDC = FOUR_CHAR_CODE('iidc') /* Subtype for IIDC 1394-Digital Camera video digitizer*/
+};
+
+/*
+ vdIIDCAtomTypeFeature
+ Parent node for the QTAtoms which describe a given feature.
+*/
+enum {
+ vdIIDCAtomTypeFeature = FOUR_CHAR_CODE('feat')
+};
+
+/*
+ vdIIDCAtomTypeFeatureAtomTypeAndID
+ This atom describes the feature's OSType/group/name and QTAtomType & QTAtomID needed to retrieve its settings.
+ The contents of this atom is a VDIIDCFeatureAtomTypeAndID structure.
+*/
+enum {
+ vdIIDCAtomTypeFeatureAtomTypeAndID = FOUR_CHAR_CODE('t&id'),
+ vdIIDCAtomIDFeatureAtomTypeAndID = 1
+};
+
+struct VDIIDCFeatureAtomTypeAndID {
+ OSType feature; /* OSType of feature*/
+ OSType group; /* OSType of group that feature is categorized into*/
+ Str255 name; /* Name of this feature*/
+ QTAtomType atomType; /* Atom type which contains feature's settings*/
+ QTAtomID atomID; /* Atom ID which contains feature's settings*/
+};
+typedef struct VDIIDCFeatureAtomTypeAndID VDIIDCFeatureAtomTypeAndID;
+/* IIDC Feature OSTypes*/
+enum {
+ vdIIDCFeatureHue = FOUR_CHAR_CODE('hue '), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureSaturation = FOUR_CHAR_CODE('satu'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureSharpness = FOUR_CHAR_CODE('shrp'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureBrightness = FOUR_CHAR_CODE('brit'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureGain = FOUR_CHAR_CODE('gain'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureIris = FOUR_CHAR_CODE('iris'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureShutter = FOUR_CHAR_CODE('shtr'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureExposure = FOUR_CHAR_CODE('xpsr'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureWhiteBalanceU = FOUR_CHAR_CODE('whbu'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureWhiteBalanceV = FOUR_CHAR_CODE('whbv'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureGamma = FOUR_CHAR_CODE('gmma'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureTemperature = FOUR_CHAR_CODE('temp'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureZoom = FOUR_CHAR_CODE('zoom'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureFocus = FOUR_CHAR_CODE('fcus'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeaturePan = FOUR_CHAR_CODE('pan '), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureTilt = FOUR_CHAR_CODE('tilt'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureOpticalFilter = FOUR_CHAR_CODE('opft'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureTrigger = FOUR_CHAR_CODE('trgr'), /* Trigger's setttings handled by VDIIDCTriggerSettings*/
+ vdIIDCFeatureCaptureSize = FOUR_CHAR_CODE('cpsz'), /* Feature's settings is not defined*/
+ vdIIDCFeatureCaptureQuality = FOUR_CHAR_CODE('cpql'), /* Feature's settings is not defined*/
+ vdIIDCFeatureFocusPoint = FOUR_CHAR_CODE('fpnt'), /* Focus Point's settings handled by VDIIDCFocusPointSettings*/
+ vdIIDCFeatureEdgeEnhancement = FOUR_CHAR_CODE('eden'), /* Feature's settings handled by VDIIDCFeatureSettings*/
+ vdIIDCFeatureLightingHint = FOUR_CHAR_CODE('lhnt') /* Feature's settings handled by VDIIDCLightingHintSettings*/
+};
+
+/*
+ IIDC Group OSTypes that features are categorized into
+ (The values used for the constants cannot be the same as any of the IIDC Feature OSTypes constants)
+*/
+enum {
+ vdIIDCGroupImage = FOUR_CHAR_CODE('imag'), /* Feature related to camera's image*/
+ vdIIDCGroupColor = FOUR_CHAR_CODE('colr'), /* Feature related to camera's color control*/
+ vdIIDCGroupMechanics = FOUR_CHAR_CODE('mech'), /* Feature related to camera's mechanics*/
+ vdIIDCGroupTrigger = FOUR_CHAR_CODE('trig') /* Feature related to camera's trigger*/
+};
+
+/*
+ vdIIDCAtomTypeFeatureSettings
+ This atom describes the settings for the majority of features.
+ The contents of this atom is a VDIIDCFeatureSettings structure.
+*/
+enum {
+ vdIIDCAtomTypeFeatureSettings = FOUR_CHAR_CODE('fstg'),
+ vdIIDCAtomIDFeatureSettings = 1
+};
+
+struct VDIIDCFeatureCapabilities {
+ UInt32 flags;
+ UInt16 rawMinimum;
+ UInt16 rawMaximum;
+ QTFloatSingle absoluteMinimum;
+ QTFloatSingle absoluteMaximum;
+};
+typedef struct VDIIDCFeatureCapabilities VDIIDCFeatureCapabilities;
+struct VDIIDCFeatureState {
+ UInt32 flags;
+ QTFloatSingle value;
+};
+typedef struct VDIIDCFeatureState VDIIDCFeatureState;
+struct VDIIDCFeatureSettings {
+ VDIIDCFeatureCapabilities capabilities;
+ VDIIDCFeatureState state;
+};
+typedef struct VDIIDCFeatureSettings VDIIDCFeatureSettings;
+/*
+ Flags for use in VDIIDCFeatureCapabilities.flags & VDIIDCFeatureState.flags
+ When indicating capabilities, the flag being set indicates that the feature can be put into the given state.
+ When indicating/setting state, the flag represents the current/desired state.
+ Note that certain combinations of flags are valid for capabilities (i.e. vdIIDCFeatureFlagOn | vdIIDCFeatureFlagOff)
+ but are mutually exclusive for state.
+*/
+enum {
+ vdIIDCFeatureFlagOn = (1 << 0),
+ vdIIDCFeatureFlagOff = (1 << 1),
+ vdIIDCFeatureFlagManual = (1 << 2),
+ vdIIDCFeatureFlagAuto = (1 << 3),
+ vdIIDCFeatureFlagTune = (1 << 4),
+ vdIIDCFeatureFlagRawControl = (1 << 5),
+ vdIIDCFeatureFlagAbsoluteControl = (1 << 6)
+};
+
+/*
+ vdIIDCAtomTypeTriggerSettings
+ This atom describes the settings for the trigger feature.
+ The contents of this atom is a VDIIDCTriggerSettings structure.
+*/
+enum {
+ vdIIDCAtomTypeTriggerSettings = FOUR_CHAR_CODE('tstg'),
+ vdIIDCAtomIDTriggerSettings = 1
+};
+
+struct VDIIDCTriggerCapabilities {
+ UInt32 flags;
+ QTFloatSingle absoluteMinimum;
+ QTFloatSingle absoluteMaximum;
+};
+typedef struct VDIIDCTriggerCapabilities VDIIDCTriggerCapabilities;
+struct VDIIDCTriggerState {
+ UInt32 flags;
+ UInt16 mode2TransitionCount;
+ UInt16 mode3FrameRateMultiplier;
+ QTFloatSingle absoluteValue;
+};
+typedef struct VDIIDCTriggerState VDIIDCTriggerState;
+struct VDIIDCTriggerSettings {
+ VDIIDCTriggerCapabilities capabilities;
+ VDIIDCTriggerState state;
+};
+typedef struct VDIIDCTriggerSettings VDIIDCTriggerSettings;
+/*
+ Flags for use in VDIIDCTriggerCapabilities.flags & VDIIDCTriggerState.flags
+ When indicating capabilities, the flag being set indicates that the trigger can be put into the given state.
+ When indicating/setting state, the flag represents the current/desired state.
+ Note that certain combinations of flags are valid for capabilities (i.e. vdIIDCTriggerFlagOn | vdIIDCTriggerFlagOff)
+ but are mutually exclusive for state.
+*/
+enum {
+ vdIIDCTriggerFlagOn = (1 << 0),
+ vdIIDCTriggerFlagOff = (1 << 1),
+ vdIIDCTriggerFlagActiveHigh = (1 << 2),
+ vdIIDCTriggerFlagActiveLow = (1 << 3),
+ vdIIDCTriggerFlagMode0 = (1 << 4),
+ vdIIDCTriggerFlagMode1 = (1 << 5),
+ vdIIDCTriggerFlagMode2 = (1 << 6),
+ vdIIDCTriggerFlagMode3 = (1 << 7),
+ vdIIDCTriggerFlagRawControl = (1 << 8),
+ vdIIDCTriggerFlagAbsoluteControl = (1 << 9)
+};
+
+
+/*
+ vdIIDCAtomTypeFocusPointSettings
+ This atom describes the settings for the focus point feature.
+ The contents of this atom is a VDIIDCFocusPointSettings structure.
+*/
+enum {
+ vdIIDCAtomTypeFocusPointSettings = FOUR_CHAR_CODE('fpst'),
+ vdIIDCAtomIDFocusPointSettings = 1
+};
+
+struct VDIIDCFocusPointSettings {
+ Point focusPoint;
+};
+typedef struct VDIIDCFocusPointSettings VDIIDCFocusPointSettings;
+/*
+ vdIIDCAtomTypeLightingHintSettings
+ This atom describes the settings for the light hint feature.
+ The contents of this atom is a VDIIDCLightingHintSettings structure.
+*/
+enum {
+ vdIIDCAtomTypeLightingHintSettings = FOUR_CHAR_CODE('lhst'),
+ vdIIDCAtomIDLightingHintSettings = 1
+};
+
+struct VDIIDCLightingHintSettings {
+ UInt32 capabilityFlags;
+ UInt32 stateFlags;
+};
+typedef struct VDIIDCLightingHintSettings VDIIDCLightingHintSettings;
+/*
+ Flags for use in VDIIDCLightingHintSettings.capabilityFlags & VDIIDCLightingHintSettings.capabilityFlags
+ When indicating capabilities, the flag being set indicates that the hint can be applied.
+ When indicating/setting state, the flag represents the current/desired hints applied/to apply.
+ Certain combinations of flags are valid for capabilities (i.e. vdIIDCLightingHintNormal | vdIIDCLightingHintLow)
+ but are mutually exclusive for state.
+*/
+enum {
+ vdIIDCLightingHintNormal = (1 << 0),
+ vdIIDCLightingHintLow = (1 << 1)
+};
+
+
+/*
+ VDIIDC calls are additional calls for IIDC digitizers (vdSubtypeIIDC)
+ These calls are only valid for video digitizers of subtype vdSubtypeIIDC.
+*/
+/*
+ * VDIIDCGetFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDIIDCGetFeatures(
+ VideoDigitizerComponent ci,
+ QTAtomContainer * container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
+
+
+/*
+ * VDIIDCSetFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDIIDCSetFeatures(
+ VideoDigitizerComponent ci,
+ QTAtomContainer container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0201, 0x7000, 0xA82A);
+
+
+/*
+ * VDIIDCGetDefaultFeatures()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDIIDCGetDefaultFeatures(
+ VideoDigitizerComponent ci,
+ QTAtomContainer * container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0202, 0x7000, 0xA82A);
+
+
+/*
+ * VDIIDCGetCSRData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDIIDCGetCSRData(
+ VideoDigitizerComponent ci,
+ Boolean offsetFromUnitBase,
+ UInt32 offset,
+ UInt32 * data) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0203, 0x7000, 0xA82A);
+
+
+/*
+ * VDIIDCSetCSRData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDIIDCSetCSRData(
+ VideoDigitizerComponent ci,
+ Boolean offsetFromUnitBase,
+ UInt32 offset,
+ UInt32 data) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0204, 0x7000, 0xA82A);
+
+
+/*
+ * VDIIDCGetFeaturesForSpecifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ */
+EXTERN_API( VideoDigitizerError )
+VDIIDCGetFeaturesForSpecifier(
+ VideoDigitizerComponent ci,
+ OSType specifier,
+ QTAtomContainer * container) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0205, 0x7000, 0xA82A);
+
+
+
+
+enum {
+ xmlParseComponentType = FOUR_CHAR_CODE('pars'),
+ xmlParseComponentSubType = FOUR_CHAR_CODE('xml ')
+};
+
+enum {
+ xmlIdentifierInvalid = 0,
+ xmlIdentifierUnrecognized = (long)0xFFFFFFFF,
+ xmlContentTypeInvalid = 0,
+ xmlContentTypeElement = 1,
+ xmlContentTypeCharData = 2
+};
+
+enum {
+ elementFlagAlwaysSelfContained = 1L << 0, /* Element doesn't have contents or closing tag even if it doesn't end with />, as in the HTML <img> tag*/
+ elementFlagPreserveWhiteSpace = 1L << 1, /* Preserve whitespace in content, default is to remove it */
+ xmlParseFlagAllowUppercase = 1L << 0, /* Entities and attributes do not have to be lowercase (strict XML), but can be upper or mixed case as in HTML*/
+ xmlParseFlagAllowUnquotedAttributeValues = 1L << 1, /* Attributes values do not have to be enclosed in quotes (strict XML), but can be left unquoted if they contain no spaces*/
+ xmlParseFlagEventParseOnly = 1L << 2, /* Do event parsing only*/
+ xmlParseFlagPreserveWhiteSpace = 1L << 3 /* Preserve whitespace throughout the document*/
+};
+
+enum {
+ attributeValueKindCharString = 0,
+ attributeValueKindInteger = 1L << 0, /* Number*/
+ attributeValueKindPercent = 1L << 1, /* Number or percent*/
+ attributeValueKindBoolean = 1L << 2, /* "true" or "false"*/
+ attributeValueKindOnOff = 1L << 3, /* "on" or "off"*/
+ attributeValueKindColor = 1L << 4, /* Either "#rrggbb" or a color name*/
+ attributeValueKindEnum = 1L << 5, /* one of a number of strings; the enum strings are passed as a zero-separated, double-zero-terminated C string in the attributeKindValueInfo param*/
+ attributeValueKindCaseSensEnum = 1L << 6, /* one of a number of strings; the enum strings are passed as for attributeValueKindEnum, but the values are case-sensitive*/
+ MAX_ATTRIBUTE_VALUE_KIND = attributeValueKindCaseSensEnum
+};
+
+enum {
+ nameSpaceIDNone = 0
+};
+
+/* A Parsed XML attribute value, one of number/percent, boolean/on-off, color, or enumerated type*/
+union XMLAttributeValue {
+ SInt32 number; /* The value when valueKind is attributeValueKindInteger or attributeValueKindPercent*/
+ Boolean boolean; /* The value when valueKind is attributeValueKindBoolean or attributeValueKindOnOff*/
+ RGBColor color; /* The value when valueKind is attributeValueKindColor*/
+ UInt32 enumType; /* The value when valueKind is attributeValueKindEnum*/
+};
+typedef union XMLAttributeValue XMLAttributeValue;
+/* An XML attribute-value pair*/
+struct XMLAttribute {
+ UInt32 identifier; /* Tokenized identifier, if the attribute name was recognized by the parser*/
+ char * name; /* Attribute name, Only present if identifier == xmlIdentifierUnrecognized*/
+ long valueKind; /* Type of parsed value, if the value was recognized and parsed; otherwise, attributeValueKindCharString*/
+ XMLAttributeValue value; /* Parsed attribute value*/
+ char * valueStr; /* Always present*/
+};
+typedef struct XMLAttribute XMLAttribute;
+typedef XMLAttribute * XMLAttributePtr;
+/* Forward struct declarations for recursively-defined tree structure*/
+typedef struct XMLContent XMLContent;
+typedef XMLContent * XMLContentPtr;
+/*
+ An XML Element, i.e.
+ <element attr="value" attr="value" ...> [contents] </element>
+ or
+ <element attr="value" attr="value" .../>
+*/
+struct XMLElement {
+ UInt32 identifier; /* Tokenized identifier, if the element name was recognized by the parser*/
+ char * name; /* Element name, only present if identifier == xmlIdentifierUnrecognized*/
+ XMLAttributePtr attributes; /* Array of attributes, terminated with an attribute with identifier == xmlIdentifierInvalid*/
+ XMLContentPtr contents; /* Array of contents, terminated with a content with kind == xmlIdentifierInvalid*/
+};
+typedef struct XMLElement XMLElement;
+typedef XMLElement * XMLElementPtr;
+/*
+ The content of an XML element is a series of parts, each of which may be either another element
+ or simply character data.
+*/
+union XMLElementContent {
+ XMLElement element; /* The contents when the content kind is xmlContentTypeElement*/
+ char * charData; /* The contents when the content kind is xmlContentTypeCharData*/
+};
+typedef union XMLElementContent XMLElementContent;
+struct XMLContent {
+ UInt32 kind;
+ XMLElementContent actualContent;
+};
+
+struct XMLDocRecord {
+ void * xmlDataStorage; /* opaque storage*/
+ XMLElement rootElement;
+};
+typedef struct XMLDocRecord XMLDocRecord;
+typedef XMLDocRecord * XMLDoc;
+/*callback routines for event parsing*/
+typedef CALLBACK_API( ComponentResult , StartDocumentHandler )(long refcon);
+typedef CALLBACK_API( ComponentResult , EndDocumentHandler )(long refcon);
+typedef CALLBACK_API( ComponentResult , StartElementHandler )(const char *name, const char **atts, long refcon);
+typedef CALLBACK_API( ComponentResult , EndElementHandler )(const char *name, long refcon);
+typedef CALLBACK_API( ComponentResult , CharDataHandler )(const char *charData, long refcon);
+typedef CALLBACK_API( ComponentResult , PreprocessInstructionHandler )(const char *name, const char *const atts[], long refcon);
+typedef CALLBACK_API( ComponentResult , CommentHandler )(const char *comment, long refcon);
+typedef CALLBACK_API( ComponentResult , CDataHandler )(const char *cdata, long refcon);
+typedef STACK_UPP_TYPE(StartDocumentHandler) StartDocumentHandlerUPP;
+typedef STACK_UPP_TYPE(EndDocumentHandler) EndDocumentHandlerUPP;
+typedef STACK_UPP_TYPE(StartElementHandler) StartElementHandlerUPP;
+typedef STACK_UPP_TYPE(EndElementHandler) EndElementHandlerUPP;
+typedef STACK_UPP_TYPE(CharDataHandler) CharDataHandlerUPP;
+typedef STACK_UPP_TYPE(PreprocessInstructionHandler) PreprocessInstructionHandlerUPP;
+typedef STACK_UPP_TYPE(CommentHandler) CommentHandlerUPP;
+typedef STACK_UPP_TYPE(CDataHandler) CDataHandlerUPP;
+/* Parses the XML file pointed to by dataRef, returning a XMLDoc parse tree*/
+/*
+ * XMLParseDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseDataRef(
+ ComponentInstance aParser,
+ Handle dataRef,
+ OSType dataRefType,
+ long parseFlags,
+ XMLDoc * document) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0001, 0x7000, 0xA82A);
+
+
+/* Parses the XML file pointed to by fileSpec, returning a XMLDoc parse tree*/
+/*
+ * XMLParseFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseFile(
+ ComponentInstance aParser,
+ ConstFSSpecPtr fileSpec,
+ long parseFlags,
+ XMLDoc * document) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
+
+
+/* Disposes of a XMLDoc parse tree*/
+/*
+ * XMLParseDisposeXMLDoc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseDisposeXMLDoc(
+ ComponentInstance aParser,
+ XMLDoc document) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ Returns a more detailed description of the error and the line in which it occurred, if a
+ file failed to parse properly.
+*/
+/*
+ * XMLParseGetDetailedParseError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseGetDetailedParseError(
+ ComponentInstance aParser,
+ long * errorLine,
+ StringPtr errDesc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ Tell the parser of an element to be recognized. The tokenized element unique identifier is
+ passed in *elementID, unless *elementID is zero, whereupon a unique ID is generated and returned.
+ Thus, a valid element identifier can never be zero.
+*/
+/*
+ * XMLParseAddElement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseAddElement(
+ ComponentInstance aParser,
+ char * elementName,
+ UInt32 nameSpaceID,
+ UInt32 * elementID,
+ long elementFlags) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ Tells the parser of an attribute for the specified element. The tokenized attribute unique
+ ID is passed in *attributeID, unless *attributeID is zero, whereupon a unique ID is generated and
+ returned. Thus, a valid attribute identifier can never be zero.
+*/
+/*
+ * XMLParseAddAttribute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseAddAttribute(
+ ComponentInstance aParser,
+ UInt32 elementID,
+ UInt32 nameSpaceID,
+ char * attributeName,
+ UInt32 * attributeID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ Tells the parser of several attributes for the specified element. The attributes are passed
+ as a zero-delimited, double-zero-terminated C string in attributeNames, and the attribute
+ IDs are passed in on attributeIDs as an array; if any attributeIDs are zero, unique IDs
+ are generated for those and returned
+*/
+/*
+ * XMLParseAddMultipleAttributes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseAddMultipleAttributes(
+ ComponentInstance aParser,
+ UInt32 elementID,
+ UInt32 * nameSpaceIDs,
+ char * attributeNames,
+ UInt32 * attributeIDs) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ Tells the parser of an attribute, which may have a particular type of value, for the
+ specified element. Params are as in XMLParseAddAttribute, plus all the kinds of values
+ the attribute may have are passed in attributeValueKind, and optional additional information
+ required to tokenize the particular kind of attribute is passed in attributeValueKindInfo
+*/
+/*
+ * XMLParseAddAttributeAndValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseAddAttributeAndValue(
+ ComponentInstance aParser,
+ UInt32 elementID,
+ UInt32 nameSpaceID,
+ char * attributeName,
+ UInt32 * attributeID,
+ UInt32 attributeValueKind,
+ void * attributeValueKindInfo) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ Tells the parser of several attributes, which may have a particular type of value, for the
+ specified element. Params are as in XMLParseAddMultipleAttributes, plus all the kinds of values
+ the attributes may have are passed in attributeValueKinds, and optional additional information
+ required to tokenize the particular kind of attributes is passed in attributeValueKindInfos
+*/
+/*
+ * XMLParseAddMultipleAttributesAndValues()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseAddMultipleAttributesAndValues(
+ ComponentInstance aParser,
+ UInt32 elementID,
+ UInt32 * nameSpaceIDs,
+ char * attributeNames,
+ UInt32 * attributeIDs,
+ UInt32 * attributeValueKinds,
+ void ** attributeValueKindInfos) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ Tells the parser that the particular attribute may have an additional kind of
+ value, as specified by attributeValueKind and attributeValueKindInfo
+*/
+/*
+ * XMLParseAddAttributeValueKind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseAddAttributeValueKind(
+ ComponentInstance aParser,
+ UInt32 elementID,
+ UInt32 attributeID,
+ UInt32 attributeValueKind,
+ void * attributeValueKindInfo) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ Tell the parser of a namespace to be recognized. The tokenized namespace unique identifier is
+ passed in *nameSpaceID, unless *nameSpaceID is zero, whereupon a unique ID is generated and returned.
+ Thus, a valid nameSpaceID identifier can never be zero.
+*/
+/*
+ * XMLParseAddNameSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseAddNameSpace(
+ ComponentInstance aParser,
+ char * nameSpaceURL,
+ UInt32 * nameSpaceID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
+
+
+/* Specifies the offset and limit for reading from the dataref to be used when parsing*/
+/*
+ * XMLParseSetOffsetAndLimit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetOffsetAndLimit(
+ ComponentInstance aParser,
+ UInt32 offset,
+ UInt32 limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
+
+
+/* Set the event parse refcon*/
+/*
+ * XMLParseSetEventParseRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetEventParseRefCon(
+ ComponentInstance aParser,
+ long refcon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+/* Set the start document handler UPP for event parsing*/
+/*
+ * XMLParseSetStartDocumentHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetStartDocumentHandler(
+ ComponentInstance aParser,
+ StartDocumentHandlerUPP startDocument) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
+
+
+/* Set the end document handler UPP for event parsing*/
+/*
+ * XMLParseSetEndDocumentHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetEndDocumentHandler(
+ ComponentInstance aParser,
+ EndDocumentHandlerUPP endDocument) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
+
+
+/* Set the start element handler UPP for event parsing*/
+/*
+ * XMLParseSetStartElementHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetStartElementHandler(
+ ComponentInstance aParser,
+ StartElementHandlerUPP startElement) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
+
+
+/* Set the end element handler UPP for event parsing*/
+/*
+ * XMLParseSetEndElementHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetEndElementHandler(
+ ComponentInstance aParser,
+ EndElementHandlerUPP endElement) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
+
+
+/* Set the character data handler UPP for event parsing*/
+/*
+ * XMLParseSetCharDataHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetCharDataHandler(
+ ComponentInstance aParser,
+ CharDataHandlerUPP charData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/* Set the preprocess instruction handler UPP for event parsing*/
+/*
+ * XMLParseSetPreprocessInstructionHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetPreprocessInstructionHandler(
+ ComponentInstance aParser,
+ PreprocessInstructionHandlerUPP preprocessInstruction) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
+
+
+/* Set the comment handler UPP for event parsing*/
+/*
+ * XMLParseSetCommentHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetCommentHandler(
+ ComponentInstance aParser,
+ CommentHandlerUPP comment) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
+
+
+/* Set the cdata handler UPP for event parsing*/
+/*
+ * XMLParseSetCDataHandler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+XMLParseSetCDataHandler(
+ ComponentInstance aParser,
+ CDataHandlerUPP cdata) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ Helper Macros
+
+ These macros allow you to easily add entities and attributes to the parser
+ in an error free manner when the identifiers are defined in a particular manner.
+ For these to work, you must define the identifiers as follows:
+
+ For entities, they must be defined as element_elementName, as in:
+
+ enum
+ {
+ element_xml = 1, // "xml"
+ element_head, // "head"
+ element_body // "body"
+ };
+
+ If the element name has characters that are illegal in an identifier,
+ some of the macros support that, but the identifier must not contain
+ the illegal characters:
+
+ enum
+ {
+ element_rootlayout // "root-layout"
+ }
+
+ For attribute names, similar rules apply except that they must be defined
+ as attr_attributeName, as in:
+
+ enum
+ {
+ attr_src = 1, // "src"
+ attr_href,
+ attr_width,
+ attr_height
+ }
+
+ Finally, the existence of local variables elementID and attributeID is required.
+*/
+/*
+ Adds the specified element to the parser, i.e. XML_ADD_ELEMENT(head) adds the element "head" with
+ a unique identifier of element_head
+*/
#define XML_ADD_ELEMENT_NS(elementName,nameSpaceID) elementID = GLUE2(element_,elementName); XMLParseAddElement(xmlParser, #elementName, nameSpaceID, &elementID, 0)
#define XML_ADD_ELEMENT(elementName) XML_ADD_ELEMENT_NS(elementName,nameSpaceIDNone)
- /*
- Adds the specified element to the parser, not using the same string to generate the identifier and
- the element name. Use for element names that contain characters which are illegal in identifiers,
- i.e XML_ADD_COMPLEX_ELEMENT("root-layout",rootlayout) adds the element "root-layout" with a unique
- identifier of element_rootlayout
- */
+/*
+ Adds the specified element to the parser, not using the same string to generate the identifier and
+ the element name. Use for element names that contain characters which are illegal in identifiers,
+ i.e XML_ADD_COMPLEX_ELEMENT("root-layout",rootlayout) adds the element "root-layout" with a unique
+ identifier of element_rootlayout
+*/
#define XML_ADD_COMPLEX_ELEMENT_NS(elementName,elemID,nameSpaceID) elementID = GLUE2(element_,elemID); XMLParseAddElement(xmlParser, #elementName, nameSpaceID, &elementID, 0)
#define XML_ADD_COMPLEX_ELEMENT(elementName,elemID) XML_ADD_COMPLEX_ELEMENT_NS(elementName,elemID,nameSpaceIDNone)
- /*
- Adds the specified attribute to the current element in the parser, i.e. XML_ADD_ATTRIBUTE(src)
- adds the attribute "src" to the current element, and identifies it by attr_src
- */
+/*
+ Adds the specified attribute to the current element in the parser, i.e. XML_ADD_ATTRIBUTE(src)
+ adds the attribute "src" to the current element, and identifies it by attr_src
+*/
#define XML_ADD_ATTRIBUTE_NS(attrName,nameSpaceID) attributeID = GLUE2(attr_,attrName); XMLParseAddAttribute(xmlParser, elementID, nameSpaceID, #attrName, &attributeID);
#define XML_ADD_ATTRIBUTE(attrName) XML_ADD_ATTRIBUTE_NS(attrName,nameSpaceIDNone)
- /*
- Adds the specified attribute to the current element in the parser, i.e. XML_ADD_ATTRIBUTE(element_img, src)
- adds the attribute "src" to the element_img element, and identifies it by attr_src
- Adds the specified attribute to the current element in the parser, not using the same string to
- generate the identifier and the element name. Use for attribute names that contain characters which
- are illegal in identifiers, i.e XML_ADD_COMPLEX_ATTRIBUTE("http-equiv",httpequiv) adds the element
- "http-equiv" with a unique identifier of attr_httpequiv
- */
+/*
+ Adds the specified attribute to the current element in the parser, i.e. XML_ADD_ATTRIBUTE(element_img, src)
+ adds the attribute "src" to the element_img element, and identifies it by attr_src
+ Adds the specified attribute to the current element in the parser, not using the same string to
+ generate the identifier and the element name. Use for attribute names that contain characters which
+ are illegal in identifiers, i.e XML_ADD_COMPLEX_ATTRIBUTE("http-equiv",httpequiv) adds the element
+ "http-equiv" with a unique identifier of attr_httpequiv
+*/
#define XML_ADD_COMPLEX_ATTRIBUTE_NS(attrName,attrID,nameSpaceID) attributeID = GLUE2(attr_,attrID); XMLParseAddAttribute(xmlParser, elementID, nameSpaceID, #attrName, &attributeID);
#define XML_ADD_COMPLEX_ATTRIBUTE(attrName,attrID) XML_ADD_COMPLEX_ATTRIBUTE_NS(attrName,attrID,nameSpaceIDNone)
@@ -8394,6248 +8208,6016 @@ extern "C" {
- /*
- General Sequence Grab stuff
- */
- typedef ComponentInstance SeqGrabComponent;
- typedef ComponentInstance SGChannel;
- enum
- {
- SeqGrabComponentType = FOUR_CHAR_CODE('barg'),
- SeqGrabChannelType = FOUR_CHAR_CODE('sgch'),
- SeqGrabPanelType = FOUR_CHAR_CODE('sgpn'),
- SeqGrabCompressionPanelType = FOUR_CHAR_CODE('cmpr'),
- SeqGrabSourcePanelType = FOUR_CHAR_CODE('sour')
- };
-
- enum
- {
- seqGrabToDisk = 1,
- seqGrabToMemory = 2,
- seqGrabDontUseTempMemory = 4,
- seqGrabAppendToFile = 8,
- seqGrabDontAddMovieResource = 16,
- seqGrabDontMakeMovie = 32,
- seqGrabPreExtendFile = 64,
- seqGrabDataProcIsInterruptSafe = 128,
- seqGrabDataProcDoesOverlappingReads = 256,
- seqGrabDontPreAllocateFileSize = 512 /* Don't set the size of the file before capture unless the file has been pre-extended */
- };
-
- typedef unsigned long SeqGrabDataOutputEnum;
- enum
- {
- seqGrabRecord = 1,
- seqGrabPreview = 2,
- seqGrabPlayDuringRecord = 4,
- seqGrabLowLatencyCapture = 8, /* return the freshest frame possible, for live work (videoconferencing, live broadcast, live image processing) */
- seqGrabAlwaysUseTimeBase = 16, /* Tell VDIGs to use TimebaseTime always, rather than creating uniform frame durations, for more accurate live sync with audio */
- seqGrabRecordPreferQualityOverFrameRate = 32 /* quality is more important than frame rate: client rather drop frame instead of lower quality to achieve full frame rate */
- };
-
- typedef unsigned long SeqGrabUsageEnum;
- enum
- {
- seqGrabHasBounds = 1,
- seqGrabHasVolume = 2,
- seqGrabHasDiscreteSamples = 4,
- seqGrabDoNotBufferizeData = 8,
- seqGrabCanMoveWindowWhileRecording = 16
- };
-
- typedef unsigned long SeqGrabChannelInfoEnum;
- struct SGOutputRecord
- {
- long data[1];
- };
- typedef struct SGOutputRecord SGOutputRecord;
- typedef SGOutputRecord * SGOutput;
- struct SeqGrabFrameInfo
- {
- long frameOffset;
- long frameTime;
- long frameSize;
- SGChannel frameChannel;
- long frameRefCon;
- };
- typedef struct SeqGrabFrameInfo SeqGrabFrameInfo;
- typedef SeqGrabFrameInfo * SeqGrabFrameInfoPtr;
- struct SeqGrabExtendedFrameInfo
- {
- wide frameOffset;
- long frameTime;
- long frameSize;
- SGChannel frameChannel;
- long frameRefCon;
- SGOutput frameOutput;
- };
- typedef struct SeqGrabExtendedFrameInfo SeqGrabExtendedFrameInfo;
- typedef SeqGrabExtendedFrameInfo * SeqGrabExtendedFrameInfoPtr;
- enum
- {
- grabPictOffScreen = 1,
- grabPictIgnoreClip = 2,
- grabPictCurrentImage = 4
- };
-
- enum
- {
- sgFlagControlledGrab = (1 << 0),
- sgFlagAllowNonRGBPixMaps = (1 << 1)
- };
-
- typedef CALLBACK_API(OSErr , SGDataProcPtr)(SGChannel c, Ptr p, long len, long *offset, long chRefCon, TimeValue time, short writeType, long refCon);
- typedef STACK_UPP_TYPE(SGDataProcPtr) SGDataUPP;
- struct SGDeviceInputName
- {
- Str63 name;
- Handle icon;
- long flags;
- long reserved; /* zero*/
- };
- typedef struct SGDeviceInputName SGDeviceInputName;
- enum
- {
- sgDeviceInputNameFlagInputUnavailable = (1 << 0)
- };
-
- struct SGDeviceInputListRecord
- {
- short count;
- short selectedIndex;
- long reserved; /* zero*/
- SGDeviceInputName entry[1];
- };
- typedef struct SGDeviceInputListRecord SGDeviceInputListRecord;
- typedef SGDeviceInputListRecord * SGDeviceInputListPtr;
- typedef SGDeviceInputListPtr * SGDeviceInputList;
- struct SGDeviceName
- {
- Str63 name;
- Handle icon;
- long flags;
- long refCon;
- SGDeviceInputList inputs; /* list of inputs; formerly reserved to 0*/
- };
- typedef struct SGDeviceName SGDeviceName;
- enum
- {
- sgDeviceNameFlagDeviceUnavailable = (1 << 0),
- sgDeviceNameFlagShowInputsAsDevices = (1 << 1)
- };
-
- struct SGDeviceListRecord
- {
- short count;
- short selectedIndex;
- long reserved; /* zero*/
- SGDeviceName entry[1];
- };
- typedef struct SGDeviceListRecord SGDeviceListRecord;
- typedef SGDeviceListRecord * SGDeviceListPtr;
- typedef SGDeviceListPtr * SGDeviceList;
- enum
- {
- sgDeviceListWithIcons = (1 << 0),
- sgDeviceListDontCheckAvailability = (1 << 1),
- sgDeviceListIncludeInputs = (1 << 2)
- };
-
- enum
- {
- seqGrabWriteAppend = 0,
- seqGrabWriteReserve = 1,
- seqGrabWriteFill = 2
- };
-
- enum
- {
- seqGrabUnpause = 0,
- seqGrabPause = 1,
- seqGrabPauseForMenu = 3
- };
-
- enum
- {
- channelFlagDontOpenResFile = 2,
- channelFlagHasDependency = 4
- };
-
- typedef CALLBACK_API(Boolean , SGModalFilterProcPtr)(DialogRef theDialog, const EventRecord *theEvent, short *itemHit, long refCon);
- typedef STACK_UPP_TYPE(SGModalFilterProcPtr) SGModalFilterUPP;
- enum
- {
- sgPanelFlagForPanel = 1
- };
-
- enum
- {
- seqGrabSettingsPreviewOnly = 1
- };
+/*
+ General Sequence Grab stuff
+*/
+typedef ComponentInstance SeqGrabComponent;
+typedef ComponentInstance SGChannel;
+enum {
+ SeqGrabComponentType = FOUR_CHAR_CODE('barg'),
+ SeqGrabChannelType = FOUR_CHAR_CODE('sgch'),
+ SeqGrabPanelType = FOUR_CHAR_CODE('sgpn'),
+ SeqGrabCompressionPanelType = FOUR_CHAR_CODE('cmpr'),
+ SeqGrabSourcePanelType = FOUR_CHAR_CODE('sour')
+};
+
+enum {
+ seqGrabToDisk = 1,
+ seqGrabToMemory = 2,
+ seqGrabDontUseTempMemory = 4,
+ seqGrabAppendToFile = 8,
+ seqGrabDontAddMovieResource = 16,
+ seqGrabDontMakeMovie = 32,
+ seqGrabPreExtendFile = 64,
+ seqGrabDataProcIsInterruptSafe = 128,
+ seqGrabDataProcDoesOverlappingReads = 256,
+ seqGrabDontPreAllocateFileSize = 512 /* Don't set the size of the file before capture unless the file has been pre-extended */
+};
+
+typedef unsigned long SeqGrabDataOutputEnum;
+enum {
+ seqGrabRecord = 1,
+ seqGrabPreview = 2,
+ seqGrabPlayDuringRecord = 4,
+ seqGrabLowLatencyCapture = 8, /* return the freshest frame possible, for live work (videoconferencing, live broadcast, live image processing) */
+ seqGrabAlwaysUseTimeBase = 16, /* Tell VDIGs to use TimebaseTime always, rather than creating uniform frame durations, for more accurate live sync with audio */
+ seqGrabRecordPreferQualityOverFrameRate = 32 /* quality is more important than frame rate: client rather drop frame instead of lower quality to achieve full frame rate */
+};
+
+typedef unsigned long SeqGrabUsageEnum;
+enum {
+ seqGrabHasBounds = 1,
+ seqGrabHasVolume = 2,
+ seqGrabHasDiscreteSamples = 4,
+ seqGrabDoNotBufferizeData = 8,
+ seqGrabCanMoveWindowWhileRecording = 16
+};
+
+typedef unsigned long SeqGrabChannelInfoEnum;
+struct SGOutputRecord {
+ long data[1];
+};
+typedef struct SGOutputRecord SGOutputRecord;
+typedef SGOutputRecord * SGOutput;
+struct SeqGrabFrameInfo {
+ long frameOffset;
+ long frameTime;
+ long frameSize;
+ SGChannel frameChannel;
+ long frameRefCon;
+};
+typedef struct SeqGrabFrameInfo SeqGrabFrameInfo;
+typedef SeqGrabFrameInfo * SeqGrabFrameInfoPtr;
+struct SeqGrabExtendedFrameInfo {
+ wide frameOffset;
+ long frameTime;
+ long frameSize;
+ SGChannel frameChannel;
+ long frameRefCon;
+ SGOutput frameOutput;
+};
+typedef struct SeqGrabExtendedFrameInfo SeqGrabExtendedFrameInfo;
+typedef SeqGrabExtendedFrameInfo * SeqGrabExtendedFrameInfoPtr;
+enum {
+ grabPictOffScreen = 1,
+ grabPictIgnoreClip = 2,
+ grabPictCurrentImage = 4
+};
+
+enum {
+ sgFlagControlledGrab = (1 << 0),
+ sgFlagAllowNonRGBPixMaps = (1 << 1)
+};
+
+typedef CALLBACK_API( OSErr , SGDataProcPtr )(SGChannel c, Ptr p, long len, long *offset, long chRefCon, TimeValue time, short writeType, long refCon);
+typedef STACK_UPP_TYPE(SGDataProcPtr) SGDataUPP;
+struct SGDeviceInputName {
+ Str63 name;
+ Handle icon;
+ long flags;
+ long reserved; /* zero*/
+};
+typedef struct SGDeviceInputName SGDeviceInputName;
+enum {
+ sgDeviceInputNameFlagInputUnavailable = (1 << 0)
+};
+
+struct SGDeviceInputListRecord {
+ short count;
+ short selectedIndex;
+ long reserved; /* zero*/
+ SGDeviceInputName entry[1];
+};
+typedef struct SGDeviceInputListRecord SGDeviceInputListRecord;
+typedef SGDeviceInputListRecord * SGDeviceInputListPtr;
+typedef SGDeviceInputListPtr * SGDeviceInputList;
+struct SGDeviceName {
+ Str63 name;
+ Handle icon;
+ long flags;
+ long refCon;
+ SGDeviceInputList inputs; /* list of inputs; formerly reserved to 0*/
+};
+typedef struct SGDeviceName SGDeviceName;
+enum {
+ sgDeviceNameFlagDeviceUnavailable = (1 << 0),
+ sgDeviceNameFlagShowInputsAsDevices = (1 << 1)
+};
+
+struct SGDeviceListRecord {
+ short count;
+ short selectedIndex;
+ long reserved; /* zero*/
+ SGDeviceName entry[1];
+};
+typedef struct SGDeviceListRecord SGDeviceListRecord;
+typedef SGDeviceListRecord * SGDeviceListPtr;
+typedef SGDeviceListPtr * SGDeviceList;
+enum {
+ sgDeviceListWithIcons = (1 << 0),
+ sgDeviceListDontCheckAvailability = (1 << 1),
+ sgDeviceListIncludeInputs = (1 << 2)
+};
+
+enum {
+ seqGrabWriteAppend = 0,
+ seqGrabWriteReserve = 1,
+ seqGrabWriteFill = 2
+};
+
+enum {
+ seqGrabUnpause = 0,
+ seqGrabPause = 1,
+ seqGrabPauseForMenu = 3
+};
+
+enum {
+ channelFlagDontOpenResFile = 2,
+ channelFlagHasDependency = 4
+};
+
+typedef CALLBACK_API( Boolean , SGModalFilterProcPtr )(DialogRef theDialog, const EventRecord *theEvent, short *itemHit, long refCon);
+typedef STACK_UPP_TYPE(SGModalFilterProcPtr) SGModalFilterUPP;
+enum {
+ sgPanelFlagForPanel = 1
+};
+
+enum {
+ seqGrabSettingsPreviewOnly = 1
+};
#if TARGET_OS_MAC
- /*
- * Summary:
- * Bit fields used in SGGetChannelPlayFlags and SGSetChannelPlayFlags
- */
- enum
- {
-
- /*
- * Play flag specifying that the SGChannel should use its default
- * preview/playthru methodology. Currently it is only used by the
- * VideoMediaType SGChannel.
- */
- channelPlayNormal = 0,
-
- /*
- * Play flag specifying that the SGChannel should sacrifice playback
- * quality to achieve the specified playback rate. Currently it is
- * only used by the VideoMediaType SGChannel.
- */
- channelPlayFast = 1L << 0,
-
- /*
- * Play flag specifying that the SGChannel should play its data at
- * the highest possible quality. This option sacrifices playback rate
- * for the sake of image quality. It may reduce the amount of
- * processor time available to other programs in the computer. This
- * option should not affect the quality of the recorded data,
- * however. Currently it is only used by the VideoMediaType
- * SGChannel.
- */
- channelPlayHighQuality = 1L << 1,
-
- /*
- * Play flag specifying that the SGChannel should try to play all of
- * the data it captures, even the data that is stored in offscreen
- * buffers. This option is useful when you want to be sure that the
- * user sees as much of the captured data as possible. The sequence
- * grabber component sets this flag to 1 to play all the captured
- * data. The sequence grabber component may combine this flag with
- * any of the other values for the playFlags parameter. Currently it
- * is only used by the VideoMediaType SGChannel.
- */
- channelPlayAllData = 1L << 2,
-
- /*
- * Play flag specifying that the SGChannel should preview/play raw
- * audio samples just after they are captured from its recording
- * device. Currently it is only used by the SGAudioMediaType
- * SGChannel.
- */
- channelPlayPreMix = 1L << 3,
-
- /*
- * Play flag specifying that the SGChannel should preview/play audio
- * samples just after they are mixed down to the client-specified
- * movie track channel layout. Currently it is only used by the
- * SGAudioMediaType SGChannel.
- */
- channelPlayPostMix = 1L << 4,
-
- /*
- * Play flag specifying that the SGChannel should preview/play audio
- * samples just before they are interleaved/converted/compressed to
- * the client-specified movie track format. Currently it is only
- * used by the SGAudioMediaType SGChannel.
- */
- channelPlayPreConversion = 1L << 5,
-
- /*
- * Play flag specifying that the SGChannel should preview/play audio
- * samples after they have been interleaved/converted/compressed to
- * the client-specified movie track format. Currently it is only
- * used by the SGAudioMediaType SGChannel.
- */
- channelPlayPostConversion = 1L << 6
- };
+/*
+ * Summary:
+ * Bit fields used in SGGetChannelPlayFlags and SGSetChannelPlayFlags
+ */
+enum {
+
+ /*
+ * Play flag specifying that the SGChannel should use its default
+ * preview/playthru methodology. Currently it is only used by the
+ * VideoMediaType SGChannel.
+ */
+ channelPlayNormal = 0,
+
+ /*
+ * Play flag specifying that the SGChannel should sacrifice playback
+ * quality to achieve the specified playback rate. Currently it is
+ * only used by the VideoMediaType SGChannel.
+ */
+ channelPlayFast = 1L << 0,
+
+ /*
+ * Play flag specifying that the SGChannel should play its data at
+ * the highest possible quality. This option sacrifices playback rate
+ * for the sake of image quality. It may reduce the amount of
+ * processor time available to other programs in the computer. This
+ * option should not affect the quality of the recorded data,
+ * however. Currently it is only used by the VideoMediaType
+ * SGChannel.
+ */
+ channelPlayHighQuality = 1L << 1,
+
+ /*
+ * Play flag specifying that the SGChannel should try to play all of
+ * the data it captures, even the data that is stored in offscreen
+ * buffers. This option is useful when you want to be sure that the
+ * user sees as much of the captured data as possible. The sequence
+ * grabber component sets this flag to 1 to play all the captured
+ * data. The sequence grabber component may combine this flag with
+ * any of the other values for the playFlags parameter. Currently it
+ * is only used by the VideoMediaType SGChannel.
+ */
+ channelPlayAllData = 1L << 2,
+
+ /*
+ * Play flag specifying that the SGChannel should preview/play raw
+ * audio samples just after they are captured from its recording
+ * device. Currently it is only used by the SGAudioMediaType
+ * SGChannel.
+ */
+ channelPlayPreMix = 1L << 3,
+
+ /*
+ * Play flag specifying that the SGChannel should preview/play audio
+ * samples just after they are mixed down to the client-specified
+ * movie track channel layout. Currently it is only used by the
+ * SGAudioMediaType SGChannel.
+ */
+ channelPlayPostMix = 1L << 4,
+
+ /*
+ * Play flag specifying that the SGChannel should preview/play audio
+ * samples just before they are interleaved/converted/compressed to
+ * the client-specified movie track format. Currently it is only
+ * used by the SGAudioMediaType SGChannel.
+ */
+ channelPlayPreConversion = 1L << 5,
+
+ /*
+ * Play flag specifying that the SGChannel should preview/play audio
+ * samples after they have been interleaved/converted/compressed to
+ * the client-specified movie track format. Currently it is only
+ * used by the SGAudioMediaType SGChannel.
+ */
+ channelPlayPostConversion = 1L << 6
+};
#else
- enum
- {
- channelPlayNormal = 0,
- channelPlayFast = 1L << 0,
- channelPlayHighQuality = 1L << 1,
- channelPlayAllData = 1L << 2
- };
+enum {
+ channelPlayNormal = 0,
+ channelPlayFast = 1L << 0,
+ channelPlayHighQuality = 1L << 1,
+ channelPlayAllData = 1L << 2
+};
#endif /* TARGET_OS_MAC */
- /*
- * SGInitialize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGInitialize(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * SGSetDataOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetDataOutput(
- SeqGrabComponent s,
- const FSSpec * movieFile,
- long whereFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * SGGetDataOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetDataOutput(
- SeqGrabComponent s,
- FSSpec * movieFile,
- long * whereFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * SGSetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetGWorld(
- SeqGrabComponent s,
- CGrafPtr gp,
- GDHandle gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * SGGetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetGWorld(
- SeqGrabComponent s,
- CGrafPtr * gp,
- GDHandle * gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * SGNewChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGNewChannel(
- SeqGrabComponent s,
- OSType channelType,
- SGChannel * ref) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * SGDisposeChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGDisposeChannel(
- SeqGrabComponent s,
- SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * SGStartPreview()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGStartPreview(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * SGStartRecord()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGStartRecord(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * SGIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGIdle(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * SGStop()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGStop(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * SGPause()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPause(
- SeqGrabComponent s,
- Byte pause) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * SGPrepare()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPrepare(
- SeqGrabComponent s,
- Boolean prepareForPreview,
- Boolean prepareForRecord) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * SGRelease()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGRelease(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * SGGetMovie()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Movie)
- SGGetMovie(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * SGSetMaximumRecordTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetMaximumRecordTime(
- SeqGrabComponent s,
- unsigned long ticks) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * SGGetMaximumRecordTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetMaximumRecordTime(
- SeqGrabComponent s,
- unsigned long * ticks) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * SGGetStorageSpaceRemaining()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetStorageSpaceRemaining(
- SeqGrabComponent s,
- unsigned long * bytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * SGGetTimeRemaining()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetTimeRemaining(
- SeqGrabComponent s,
- long * ticksLeft) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * SGGrabPict()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGrabPict(
- SeqGrabComponent s,
- PicHandle * p,
- const Rect * bounds,
- short offscreenDepth,
- long grabPictFlags) FIVEWORDINLINE(0x2F3C, 0x000E, 0x001C, 0x7000, 0xA82A);
-
-
- /*
- * SGGetLastMovieResID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetLastMovieResID(
- SeqGrabComponent s,
- short * resID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * SGSetFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetFlags(
- SeqGrabComponent s,
- long sgFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * SGGetFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetFlags(
- SeqGrabComponent s,
- long * sgFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
-
-
- /*
- * SGSetDataProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetDataProc(
- SeqGrabComponent s,
- SGDataUPP proc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
-
-
- /*
- * SGNewChannelFromComponent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGNewChannelFromComponent(
- SeqGrabComponent s,
- SGChannel * newChannel,
- Component sgChannelComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * SGDisposeDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGDisposeDeviceList(
- SeqGrabComponent s,
- SGDeviceList list) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * SGAppendDeviceListToMenu()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGAppendDeviceListToMenu(
- SeqGrabComponent s,
- SGDeviceList list,
- MenuRef mh) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0023, 0x7000, 0xA82A);
-
-
- /*
- * SGSetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetSettings(
- SeqGrabComponent s,
- UserData ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
-
-
- /*
- * SGGetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetSettings(
- SeqGrabComponent s,
- UserData * ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0025, 0x7000, 0xA82A);
-
-
- /*
- * SGGetIndChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetIndChannel(
- SeqGrabComponent s,
- short index,
- SGChannel * ref,
- OSType * chanType) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0026, 0x7000, 0xA82A);
-
-
- /*
- * SGUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGUpdate(
- SeqGrabComponent s,
- RgnHandle updateRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
-
-
- /*
- * SGGetPause()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetPause(
- SeqGrabComponent s,
- Byte * paused) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
-
-
- typedef const Component * ConstComponentListPtr;
- /*
- * SGSettingsDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSettingsDialog(
- SeqGrabComponent s,
- SGChannel c,
- short numPanels,
- ConstComponentListPtr panelList,
- long flags,
- SGModalFilterUPP proc,
- long procRefNum) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0029, 0x7000, 0xA82A);
-
-
- /*
- * SGGetAlignmentProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetAlignmentProc(
- SeqGrabComponent s,
- ICMAlignmentProcRecordPtr alignmentProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelSettings(
- SeqGrabComponent s,
- SGChannel c,
- UserData ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelSettings(
- SeqGrabComponent s,
- SGChannel c,
- UserData * ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * SGGetMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetMode(
- SeqGrabComponent s,
- Boolean * previewMode,
- Boolean * recordMode) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A);
-
-
- /*
- * SGSetDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetDataRef(
- SeqGrabComponent s,
- Handle dataRef,
- OSType dataRefType,
- long whereFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002E, 0x7000, 0xA82A);
-
-
- /*
- * SGGetDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetDataRef(
- SeqGrabComponent s,
- Handle * dataRef,
- OSType * dataRefType,
- long * whereFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002F, 0x7000, 0xA82A);
-
-
- /*
- * SGNewOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGNewOutput(
- SeqGrabComponent s,
- Handle dataRef,
- OSType dataRefType,
- long whereFlags,
- SGOutput * sgOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0030, 0x7000, 0xA82A);
-
-
- /*
- * SGDisposeOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGDisposeOutput(
- SeqGrabComponent s,
- SGOutput sgOut) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0031, 0x7000, 0xA82A);
-
-
- /*
- * SGSetOutputFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetOutputFlags(
- SeqGrabComponent s,
- SGOutput sgOut,
- long whereFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelOutput(
- SeqGrabComponent s,
- SGChannel c,
- SGOutput sgOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
-
-
- /*
- * SGGetDataOutputStorageSpaceRemaining()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetDataOutputStorageSpaceRemaining(
- SeqGrabComponent s,
- SGOutput sgOut,
- unsigned long * space) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
-
-
- /*
- * SGHandleUpdateEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGHandleUpdateEvent(
- SeqGrabComponent s,
- const EventRecord * event,
- Boolean * handled) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0035, 0x7000, 0xA82A);
-
-
- /*
- * SGSetOutputNextOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetOutputNextOutput(
- SeqGrabComponent s,
- SGOutput sgOut,
- SGOutput nextOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
-
-
- /*
- * SGGetOutputNextOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetOutputNextOutput(
- SeqGrabComponent s,
- SGOutput sgOut,
- SGOutput * nextOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0037, 0x7000, 0xA82A);
-
-
- /*
- * SGSetOutputMaximumOffset()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetOutputMaximumOffset(
- SeqGrabComponent s,
- SGOutput sgOut,
- const wide * maxOffset) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0038, 0x7000, 0xA82A);
-
-
- /*
- * SGGetOutputMaximumOffset()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetOutputMaximumOffset(
- SeqGrabComponent s,
- SGOutput sgOut,
- wide * maxOffset) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0039, 0x7000, 0xA82A);
-
-
- /*
- * SGGetOutputDataReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetOutputDataReference(
- SeqGrabComponent s,
- SGOutput sgOut,
- Handle * dataRef,
- OSType * dataRefType) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003A, 0x7000, 0xA82A);
-
-
- /*
- * SGWriteExtendedMovieData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGWriteExtendedMovieData(
- SeqGrabComponent s,
- SGChannel c,
- Ptr p,
- long len,
- wide * offset,
- SGOutput * sgOut) FIVEWORDINLINE(0x2F3C, 0x0014, 0x003B, 0x7000, 0xA82A);
-
-
- /*
- * SGGetStorageSpaceRemaining64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetStorageSpaceRemaining64(
- SeqGrabComponent s,
- wide * bytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003C, 0x7000, 0xA82A);
-
-
- /*
- * SGGetDataOutputStorageSpaceRemaining64()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetDataOutputStorageSpaceRemaining64(
- SeqGrabComponent s,
- SGOutput sgOut,
- wide * space) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003D, 0x7000, 0xA82A);
-
-
- /*
- calls from Channel to seqGrab
- */
- /*
- * SGWriteMovieData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGWriteMovieData(
- SeqGrabComponent s,
- SGChannel c,
- Ptr p,
- long len,
- long * offset) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * SGAddFrameReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGAddFrameReference(
- SeqGrabComponent s,
- SeqGrabFrameInfoPtr frameInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * SGGetNextFrameReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetNextFrameReference(
- SeqGrabComponent s,
- SeqGrabFrameInfoPtr frameInfo,
- TimeValue * frameDuration,
- long * frameNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * SGGetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetTimeBase(
- SeqGrabComponent s,
- TimeBase * tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * SGSortDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSortDeviceList(
- SeqGrabComponent s,
- SGDeviceList list) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * SGAddMovieData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGAddMovieData(
- SeqGrabComponent s,
- SGChannel c,
- Ptr p,
- long len,
- long * offset,
- long chRefCon,
- TimeValue time,
- short writeType) FIVEWORDINLINE(0x2F3C, 0x001A, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * SGChangedSource()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGChangedSource(
- SeqGrabComponent s,
- SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * SGAddExtendedFrameReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGAddExtendedFrameReference(
- SeqGrabComponent s,
- SeqGrabExtendedFrameInfoPtr frameInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * SGGetNextExtendedFrameReference()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetNextExtendedFrameReference(
- SeqGrabComponent s,
- SeqGrabExtendedFrameInfoPtr frameInfo,
- TimeValue * frameDuration,
- long * frameNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0108, 0x7000, 0xA82A);
-
-
- /*
- * SGAddExtendedMovieData()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGAddExtendedMovieData(
- SeqGrabComponent s,
- SGChannel c,
- Ptr p,
- long len,
- wide * offset,
- long chRefCon,
- TimeValue time,
- short writeType,
- SGOutput * whichOutput) FIVEWORDINLINE(0x2F3C, 0x001E, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * SGAddOutputDataRefToMedia()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGAddOutputDataRefToMedia(
- SeqGrabComponent s,
- SGOutput sgOut,
- Media theMedia,
- SampleDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A);
-
-
- /*
- * SGSetSettingsSummary()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetSettingsSummary(
- SeqGrabComponent s,
- Handle summaryText) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
-
-
-
-
- /*** Sequence Grab CHANNEL Component Stuff ***/
-
- /*
- * SGSetChannelUsage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelUsage(
- SGChannel c,
- long usage) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0080, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelUsage()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelUsage(
- SGChannel c,
- long * usage) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0081, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelBounds()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelBounds(
- SGChannel c,
- const Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0082, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelBounds()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelBounds(
- SGChannel c,
- Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0083, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelVolume(
- SGChannel c,
- short volume) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0084, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelVolume(
- SGChannel c,
- short * volume) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0085, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelInfo(
- SGChannel c,
- long * channelInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0086, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelPlayFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelPlayFlags(
- SGChannel c,
- long playFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0087, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelPlayFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelPlayFlags(
- SGChannel c,
- long * playFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0088, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelMaxFrames()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelMaxFrames(
- SGChannel c,
- long frameCount) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0089, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelMaxFrames()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelMaxFrames(
- SGChannel c,
- long * frameCount) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008A, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelRefCon(
- SGChannel c,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008B, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelClip(
- SGChannel c,
- RgnHandle theClip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008C, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelClip()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelClip(
- SGChannel c,
- RgnHandle * theClip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008D, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelSampleDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelSampleDescription(
- SGChannel c,
- Handle sampleDesc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008E, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelDeviceList(
- SGChannel c,
- long selectionFlags,
- SGDeviceList * list) FIVEWORDINLINE(0x2F3C, 0x0008, 0x008F, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelDevice()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelDevice(
- SGChannel c,
- StringPtr name) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0090, 0x7000, 0xA82A);
-
-
- /*
- * SGSetChannelMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelMatrix(
- SGChannel c,
- const MatrixRecord * m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0091, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelMatrix(
- SGChannel c,
- MatrixRecord * m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0092, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelTimeScale(
- SGChannel c,
- TimeScale * scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0093, 0x7000, 0xA82A);
-
-
- /*
- * SGChannelPutPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGChannelPutPicture(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0094, 0x7000, 0xA82A);
-
-
- /*
- * SGChannelSetRequestedDataRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGChannelSetRequestedDataRate(
- SGChannel c,
- long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0095, 0x7000, 0xA82A);
-
-
- /*
- * SGChannelGetRequestedDataRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGChannelGetRequestedDataRate(
- SGChannel c,
- long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0096, 0x7000, 0xA82A);
-
-
- /*
- * SGChannelSetDataSourceName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGChannelSetDataSourceName(
- SGChannel c,
- ConstStr255Param name,
- ScriptCode scriptTag) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0097, 0x7000, 0xA82A);
-
-
- /*
- * SGChannelGetDataSourceName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGChannelGetDataSourceName(
- SGChannel c,
- Str255 name,
- ScriptCode * scriptTag) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0098, 0x7000, 0xA82A);
-
-
- /*
- * SGChannelSetCodecSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- SGChannelSetCodecSettings(
- SGChannel c,
- Handle settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0099, 0x7000, 0xA82A);
-
-
- /*
- * SGChannelGetCodecSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- SGChannelGetCodecSettings(
- SGChannel c,
- Handle * settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x009A, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelTimeBase(
- SGChannel c,
- TimeBase * tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x009B, 0x7000, 0xA82A);
-
-
- /*
- * SGGetChannelRefCon()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelRefCon(
- SGChannel c,
- long * refCon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x009C, 0x7000, 0xA82A);
-
-
- /* A utility call to find out the current device and input names, instead of having to call GetDeviceList and walk it yourself */
- /*
- * SGGetChannelDeviceAndInputNames()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetChannelDeviceAndInputNames(
- SGChannel c,
- Str255 outDeviceName,
- Str255 outInputName,
- short * outInputNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x009D, 0x7000, 0xA82A);
-
-
- /* A media format independent call for this. Inputs start at 0 here (Sound starts at 1, VDIGs at 0 in direct calls) */
- /*
- * SGSetChannelDeviceInput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelDeviceInput(
- SGChannel c,
- short inInputNumber) FIVEWORDINLINE(0x2F3C, 0x0002, 0x009E, 0x7000, 0xA82A);
-
-
- /* A call to bracket SetSettings related calls, to give downstream components an opportunity to deal with the entire
- settings change in one go */
- enum
- {
- sgSetSettingsBegin = (1 << 0), /* SGSetSettings related set calls about to start*/
- sgSetSettingsEnd = (1 << 1) /* Finished SGSetSettings calls. Get ready to use the new settings*/
- };
-
- /*
- * SGSetChannelSettingsStateChanging()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetChannelSettingsStateChanging(
- SGChannel c,
- UInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x009F, 0x7000, 0xA82A);
-
-
- /*
- calls from seqGrab to Channel
- */
- /*
- * SGInitChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGInitChannel(
- SGChannel c,
- SeqGrabComponent owner) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0180, 0x7000, 0xA82A);
-
-
- /*
- * SGWriteSamples()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGWriteSamples(
- SGChannel c,
- Movie m,
- AliasHandle theFile) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0181, 0x7000, 0xA82A);
-
-
- /*
- * SGGetDataRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetDataRate(
- SGChannel c,
- long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0182, 0x7000, 0xA82A);
-
-
- /*
- * SGAlignChannelRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGAlignChannelRect(
- SGChannel c,
- Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0183, 0x7000, 0xA82A);
-
-
- /*
- Dorky dialog panel calls
- */
- /*
- * SGPanelGetDitl()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelGetDitl(
- SeqGrabComponent s,
- Handle * ditl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelGetTitle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelGetTitle(
- SeqGrabComponent s,
- Str255 title) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0201, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelCanRun()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelCanRun(
- SeqGrabComponent s,
- SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0202, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelInstall()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelInstall(
- SeqGrabComponent s,
- SGChannel c,
- DialogRef d,
- short itemOffset) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0203, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelEvent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelEvent(
- SeqGrabComponent s,
- SGChannel c,
- DialogRef d,
- short itemOffset,
- const EventRecord * theEvent,
- short * itemHit,
- Boolean * handled) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0204, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelItem()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelItem(
- SeqGrabComponent s,
- SGChannel c,
- DialogRef d,
- short itemOffset,
- short itemNum) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0205, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelRemove()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelRemove(
- SeqGrabComponent s,
- SGChannel c,
- DialogRef d,
- short itemOffset) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0206, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelSetGrabber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelSetGrabber(
- SeqGrabComponent s,
- SeqGrabComponent sg) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0207, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelSetResFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelSetResFile(
- SeqGrabComponent s,
- short resRef) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0208, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelGetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelGetSettings(
- SeqGrabComponent s,
- SGChannel c,
- UserData * ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0209, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelSetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelSetSettings(
- SeqGrabComponent s,
- SGChannel c,
- UserData ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x020A, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelValidateInput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelValidateInput(
- SeqGrabComponent s,
- Boolean * ok) FIVEWORDINLINE(0x2F3C, 0x0004, 0x020B, 0x7000, 0xA82A);
-
-
- /*
- * SGPanelSetEventFilter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelSetEventFilter(
- SeqGrabComponent s,
- SGModalFilterUPP proc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x020C, 0x7000, 0xA82A);
-
-
- /*
- SGPanelGetDITLForSize is used to retrieve user interface elements that fit within a specified size
- panel. The component should return badComponentSelector for sizes it does not support. The component
- is required to support kSGSmallestDITLSize, and it is recommended to support kSGLargestDITLSize.
-
- If SGPanelGetDITLForSize is unimplemented entirely, the panel is assumed to not have resizable UI elements.
- */
- enum
- {
- kSGSmallestDITLSize = -1, /* requestedSize h and v set to this to retrieve small size*/
- kSGLargestDITLSize = -2 /* requestedSize h and v set to this to retrieve large size*/
- };
-
- /*
- * SGPanelGetDITLForSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- SGPanelGetDITLForSize(
- SeqGrabComponent s,
- Handle * ditl,
- Point * requestedSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x020D, 0x7000, 0xA82A);
-
-
- /*** Sequence Grab VIDEO CHANNEL Component Stuff ***/
- /*
- Video stuff
- */
- struct SGCompressInfo
- {
- Ptr buffer;
- unsigned long bufferSize;
- UInt8 similarity;
- UInt8 reserved;
- };
- typedef struct SGCompressInfo SGCompressInfo;
- typedef CALLBACK_API(ComponentResult , SGGrabBottleProcPtr)(SGChannel c, short bufferNum, long refCon);
- typedef CALLBACK_API(ComponentResult , SGGrabCompleteBottleProcPtr)(SGChannel c, short bufferNum, Boolean *done, long refCon);
- typedef CALLBACK_API(ComponentResult , SGDisplayBottleProcPtr)(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
- typedef CALLBACK_API(ComponentResult , SGCompressBottleProcPtr)(SGChannel c, short bufferNum, long refCon);
- typedef CALLBACK_API(ComponentResult , SGCompressCompleteBottleProcPtr)(SGChannel c, short bufferNum, Boolean *done, SGCompressInfo *ci, long refCon);
- typedef CALLBACK_API(ComponentResult , SGAddFrameBottleProcPtr)(SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo *ci, long refCon);
- typedef CALLBACK_API(ComponentResult , SGTransferFrameBottleProcPtr)(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
- /* Note that UInt8 *queuedFrameCount replaces Boolean *done. 0(==false) still means no frames, and 1(==true) one,
- but if more than one are available the number should be returned here. The value 2 previously meant more than one frame,
- so some VDIGs may return 2 even if more than 2 are available, and some will still return 1 as they are using the original definition. */
- typedef CALLBACK_API(ComponentResult , SGGrabCompressCompleteBottleProcPtr)(SGChannel c, UInt8 *queuedFrameCount, SGCompressInfo *ci, TimeRecord *t, long refCon);
- typedef CALLBACK_API(ComponentResult , SGDisplayCompressBottleProcPtr)(SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
- typedef STACK_UPP_TYPE(SGGrabBottleProcPtr) SGGrabBottleUPP;
- typedef STACK_UPP_TYPE(SGGrabCompleteBottleProcPtr) SGGrabCompleteBottleUPP;
- typedef STACK_UPP_TYPE(SGDisplayBottleProcPtr) SGDisplayBottleUPP;
- typedef STACK_UPP_TYPE(SGCompressBottleProcPtr) SGCompressBottleUPP;
- typedef STACK_UPP_TYPE(SGCompressCompleteBottleProcPtr) SGCompressCompleteBottleUPP;
- typedef STACK_UPP_TYPE(SGAddFrameBottleProcPtr) SGAddFrameBottleUPP;
- typedef STACK_UPP_TYPE(SGTransferFrameBottleProcPtr) SGTransferFrameBottleUPP;
- typedef STACK_UPP_TYPE(SGGrabCompressCompleteBottleProcPtr) SGGrabCompressCompleteBottleUPP;
- typedef STACK_UPP_TYPE(SGDisplayCompressBottleProcPtr) SGDisplayCompressBottleUPP;
- struct VideoBottles
- {
- short procCount;
- SGGrabBottleUPP grabProc;
- SGGrabCompleteBottleUPP grabCompleteProc;
- SGDisplayBottleUPP displayProc;
- SGCompressBottleUPP compressProc;
- SGCompressCompleteBottleUPP compressCompleteProc;
- SGAddFrameBottleUPP addFrameProc;
- SGTransferFrameBottleUPP transferFrameProc;
- SGGrabCompressCompleteBottleUPP grabCompressCompleteProc;
- SGDisplayCompressBottleUPP displayCompressProc;
- };
- typedef struct VideoBottles VideoBottles;
- /*
- * SGGetSrcVideoBounds()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetSrcVideoBounds(
- SGChannel c,
- Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * SGSetVideoRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetVideoRect(
- SGChannel c,
- const Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * SGGetVideoRect()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetVideoRect(
- SGChannel c,
- Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * SGGetVideoCompressorType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetVideoCompressorType(
- SGChannel c,
- OSType * compressorType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * SGSetVideoCompressorType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetVideoCompressorType(
- SGChannel c,
- OSType compressorType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * SGSetVideoCompressor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetVideoCompressor(
- SGChannel c,
- short depth,
- CompressorComponent compressor,
- CodecQ spatialQuality,
- CodecQ temporalQuality,
- long keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * SGGetVideoCompressor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetVideoCompressor(
- SGChannel c,
- short * depth,
- CompressorComponent * compressor,
- CodecQ * spatialQuality,
- CodecQ * temporalQuality,
- long * keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * SGGetVideoDigitizerComponent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentInstance)
- SGGetVideoDigitizerComponent(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * SGSetVideoDigitizerComponent()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetVideoDigitizerComponent(
- SGChannel c,
- ComponentInstance vdig) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
-
-
- /*
- * SGVideoDigitizerChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGVideoDigitizerChanged(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * SGSetVideoBottlenecks()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetVideoBottlenecks(
- SGChannel c,
- VideoBottles * vb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
-
-
- /*
- * SGGetVideoBottlenecks()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetVideoBottlenecks(
- SGChannel c,
- VideoBottles * vb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
-
-
- /*
- * SGGrabFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGrabFrame(
- SGChannel c,
- short bufferNum) FIVEWORDINLINE(0x2F3C, 0x0002, 0x010C, 0x7000, 0xA82A);
-
-
- /*
- * SGGrabFrameComplete()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGrabFrameComplete(
- SGChannel c,
- short bufferNum,
- Boolean * done) FIVEWORDINLINE(0x2F3C, 0x0006, 0x010D, 0x7000, 0xA82A);
-
-
- /*
- * SGDisplayFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGDisplayFrame(
- SGChannel c,
- short bufferNum,
- const MatrixRecord * mp,
- RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x000A, 0x010E, 0x7000, 0xA82A);
-
-
- /*
- * SGCompressFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGCompressFrame(
- SGChannel c,
- short bufferNum) FIVEWORDINLINE(0x2F3C, 0x0002, 0x010F, 0x7000, 0xA82A);
-
-
- /*
- * SGCompressFrameComplete()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGCompressFrameComplete(
- SGChannel c,
- short bufferNum,
- Boolean * done,
- SGCompressInfo * ci) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0110, 0x7000, 0xA82A);
-
-
- /*
- * SGAddFrame()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGAddFrame(
- SGChannel c,
- short bufferNum,
- TimeValue atTime,
- TimeScale scale,
- const SGCompressInfo * ci) FIVEWORDINLINE(0x2F3C, 0x000E, 0x0111, 0x7000, 0xA82A);
-
-
- /*
- * SGTransferFrameForCompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGTransferFrameForCompress(
- SGChannel c,
- short bufferNum,
- const MatrixRecord * mp,
- RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0112, 0x7000, 0xA82A);
-
-
- /*
- * SGSetCompressBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetCompressBuffer(
- SGChannel c,
- short depth,
- const Rect * compressSize) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0113, 0x7000, 0xA82A);
-
-
- /*
- * SGGetCompressBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetCompressBuffer(
- SGChannel c,
- short * depth,
- Rect * compressSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0114, 0x7000, 0xA82A);
-
-
- /*
- * SGGetBufferInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetBufferInfo(
- SGChannel c,
- short bufferNum,
- PixMapHandle * bufferPM,
- Rect * bufferRect,
- GWorldPtr * compressBuffer,
- Rect * compressBufferRect) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0115, 0x7000, 0xA82A);
-
-
- /*
- * SGSetUseScreenBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetUseScreenBuffer(
- SGChannel c,
- Boolean useScreenBuffer) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0116, 0x7000, 0xA82A);
-
-
- /*
- * SGGetUseScreenBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetUseScreenBuffer(
- SGChannel c,
- Boolean * useScreenBuffer) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0117, 0x7000, 0xA82A);
-
-
- /* Note that UInt8 *queuedFrameCount replaces Boolean *done. 0(==false) still means no frames, and 1(==true) one,
- but if more than one are available the number should be returned here. The value 2 previously meant more than one frame,
- so some VDIGs may return 2 even if more than 2 are available, and some will still return 1 as they are using the original definition. */
- /*
- * SGGrabCompressComplete()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGrabCompressComplete(
- SGChannel c,
- UInt8 * queuedFrameCount,
- SGCompressInfo * ci,
- TimeRecord * tr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0118, 0x7000, 0xA82A);
-
-
- /*
- * SGDisplayCompress()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGDisplayCompress(
- SGChannel c,
- Ptr dataPtr,
- ImageDescriptionHandle desc,
- MatrixRecord * mp,
- RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0119, 0x7000, 0xA82A);
-
-
- /*
- * SGSetFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetFrameRate(
- SGChannel c,
- Fixed frameRate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x011A, 0x7000, 0xA82A);
-
-
- /*
- * SGGetFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetFrameRate(
- SGChannel c,
- Fixed * frameRate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x011B, 0x7000, 0xA82A);
-
-
-
- /*
- * SGSetPreferredPacketSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetPreferredPacketSize(
- SGChannel c,
- long preferredPacketSizeInBytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0121, 0x7000, 0xA82A);
-
-
- /*
- * SGGetPreferredPacketSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetPreferredPacketSize(
- SGChannel c,
- long * preferredPacketSizeInBytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0122, 0x7000, 0xA82A);
-
-
- /*
- * SGSetUserVideoCompressorList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetUserVideoCompressorList(
- SGChannel c,
- Handle compressorTypes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0123, 0x7000, 0xA82A);
-
-
- /*
- * SGGetUserVideoCompressorList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetUserVideoCompressorList(
- SGChannel c,
- Handle * compressorTypes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0124, 0x7000, 0xA82A);
+/*
+ * SGInitialize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGInitialize(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetDataOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetDataOutput(
+ SeqGrabComponent s,
+ const FSSpec * movieFile,
+ long whereFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetDataOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetDataOutput(
+ SeqGrabComponent s,
+ FSSpec * movieFile,
+ long * whereFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetGWorld(
+ SeqGrabComponent s,
+ CGrafPtr gp,
+ GDHandle gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetGWorld(
+ SeqGrabComponent s,
+ CGrafPtr * gp,
+ GDHandle * gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * SGNewChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGNewChannel(
+ SeqGrabComponent s,
+ OSType channelType,
+ SGChannel * ref) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * SGDisposeChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGDisposeChannel(
+ SeqGrabComponent s,
+ SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * SGStartPreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGStartPreview(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * SGStartRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGStartRecord(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * SGIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGIdle(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * SGStop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGStop(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * SGPause()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPause(
+ SeqGrabComponent s,
+ Byte pause) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * SGPrepare()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPrepare(
+ SeqGrabComponent s,
+ Boolean prepareForPreview,
+ Boolean prepareForRecord) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * SGRelease()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGRelease(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetMovie()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Movie )
+SGGetMovie(SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetMaximumRecordTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetMaximumRecordTime(
+ SeqGrabComponent s,
+ unsigned long ticks) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetMaximumRecordTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetMaximumRecordTime(
+ SeqGrabComponent s,
+ unsigned long * ticks) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetStorageSpaceRemaining()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetStorageSpaceRemaining(
+ SeqGrabComponent s,
+ unsigned long * bytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetTimeRemaining()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetTimeRemaining(
+ SeqGrabComponent s,
+ long * ticksLeft) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * SGGrabPict()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGrabPict(
+ SeqGrabComponent s,
+ PicHandle * p,
+ const Rect * bounds,
+ short offscreenDepth,
+ long grabPictFlags) FIVEWORDINLINE(0x2F3C, 0x000E, 0x001C, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetLastMovieResID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetLastMovieResID(
+ SeqGrabComponent s,
+ short * resID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetFlags(
+ SeqGrabComponent s,
+ long sgFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetFlags(
+ SeqGrabComponent s,
+ long * sgFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetDataProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetDataProc(
+ SeqGrabComponent s,
+ SGDataUPP proc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
+
+
+/*
+ * SGNewChannelFromComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGNewChannelFromComponent(
+ SeqGrabComponent s,
+ SGChannel * newChannel,
+ Component sgChannelComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * SGDisposeDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGDisposeDeviceList(
+ SeqGrabComponent s,
+ SGDeviceList list) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * SGAppendDeviceListToMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGAppendDeviceListToMenu(
+ SeqGrabComponent s,
+ SGDeviceList list,
+ MenuRef mh) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0023, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetSettings(
+ SeqGrabComponent s,
+ UserData ud,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetSettings(
+ SeqGrabComponent s,
+ UserData * ud,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0025, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetIndChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetIndChannel(
+ SeqGrabComponent s,
+ short index,
+ SGChannel * ref,
+ OSType * chanType) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0026, 0x7000, 0xA82A);
+
+
+/*
+ * SGUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGUpdate(
+ SeqGrabComponent s,
+ RgnHandle updateRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetPause()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetPause(
+ SeqGrabComponent s,
+ Byte * paused) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
+
+
+typedef const Component * ConstComponentListPtr;
+/*
+ * SGSettingsDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSettingsDialog(
+ SeqGrabComponent s,
+ SGChannel c,
+ short numPanels,
+ ConstComponentListPtr panelList,
+ long flags,
+ SGModalFilterUPP proc,
+ long procRefNum) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0029, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetAlignmentProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetAlignmentProc(
+ SeqGrabComponent s,
+ ICMAlignmentProcRecordPtr alignmentProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelSettings(
+ SeqGrabComponent s,
+ SGChannel c,
+ UserData ud,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelSettings(
+ SeqGrabComponent s,
+ SGChannel c,
+ UserData * ud,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetMode(
+ SeqGrabComponent s,
+ Boolean * previewMode,
+ Boolean * recordMode) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetDataRef(
+ SeqGrabComponent s,
+ Handle dataRef,
+ OSType dataRefType,
+ long whereFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002E, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetDataRef(
+ SeqGrabComponent s,
+ Handle * dataRef,
+ OSType * dataRefType,
+ long * whereFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002F, 0x7000, 0xA82A);
+
+
+/*
+ * SGNewOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGNewOutput(
+ SeqGrabComponent s,
+ Handle dataRef,
+ OSType dataRefType,
+ long whereFlags,
+ SGOutput * sgOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0030, 0x7000, 0xA82A);
+
+
+/*
+ * SGDisposeOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGDisposeOutput(
+ SeqGrabComponent s,
+ SGOutput sgOut) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0031, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetOutputFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetOutputFlags(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ long whereFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelOutput(
+ SeqGrabComponent s,
+ SGChannel c,
+ SGOutput sgOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetDataOutputStorageSpaceRemaining()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetDataOutputStorageSpaceRemaining(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ unsigned long * space) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
+
+
+/*
+ * SGHandleUpdateEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGHandleUpdateEvent(
+ SeqGrabComponent s,
+ const EventRecord * event,
+ Boolean * handled) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0035, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetOutputNextOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetOutputNextOutput(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ SGOutput nextOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetOutputNextOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetOutputNextOutput(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ SGOutput * nextOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0037, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetOutputMaximumOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetOutputMaximumOffset(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ const wide * maxOffset) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0038, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetOutputMaximumOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetOutputMaximumOffset(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ wide * maxOffset) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0039, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetOutputDataReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetOutputDataReference(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ Handle * dataRef,
+ OSType * dataRefType) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003A, 0x7000, 0xA82A);
+
+
+/*
+ * SGWriteExtendedMovieData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGWriteExtendedMovieData(
+ SeqGrabComponent s,
+ SGChannel c,
+ Ptr p,
+ long len,
+ wide * offset,
+ SGOutput * sgOut) FIVEWORDINLINE(0x2F3C, 0x0014, 0x003B, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetStorageSpaceRemaining64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetStorageSpaceRemaining64(
+ SeqGrabComponent s,
+ wide * bytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003C, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetDataOutputStorageSpaceRemaining64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetDataOutputStorageSpaceRemaining64(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ wide * space) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003D, 0x7000, 0xA82A);
+
+
+/*
+ calls from Channel to seqGrab
+*/
+/*
+ * SGWriteMovieData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGWriteMovieData(
+ SeqGrabComponent s,
+ SGChannel c,
+ Ptr p,
+ long len,
+ long * offset) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * SGAddFrameReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGAddFrameReference(
+ SeqGrabComponent s,
+ SeqGrabFrameInfoPtr frameInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetNextFrameReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetNextFrameReference(
+ SeqGrabComponent s,
+ SeqGrabFrameInfoPtr frameInfo,
+ TimeValue * frameDuration,
+ long * frameNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetTimeBase(
+ SeqGrabComponent s,
+ TimeBase * tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * SGSortDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSortDeviceList(
+ SeqGrabComponent s,
+ SGDeviceList list) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * SGAddMovieData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGAddMovieData(
+ SeqGrabComponent s,
+ SGChannel c,
+ Ptr p,
+ long len,
+ long * offset,
+ long chRefCon,
+ TimeValue time,
+ short writeType) FIVEWORDINLINE(0x2F3C, 0x001A, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * SGChangedSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGChangedSource(
+ SeqGrabComponent s,
+ SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * SGAddExtendedFrameReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGAddExtendedFrameReference(
+ SeqGrabComponent s,
+ SeqGrabExtendedFrameInfoPtr frameInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetNextExtendedFrameReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetNextExtendedFrameReference(
+ SeqGrabComponent s,
+ SeqGrabExtendedFrameInfoPtr frameInfo,
+ TimeValue * frameDuration,
+ long * frameNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0108, 0x7000, 0xA82A);
+
+
+/*
+ * SGAddExtendedMovieData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGAddExtendedMovieData(
+ SeqGrabComponent s,
+ SGChannel c,
+ Ptr p,
+ long len,
+ wide * offset,
+ long chRefCon,
+ TimeValue time,
+ short writeType,
+ SGOutput * whichOutput) FIVEWORDINLINE(0x2F3C, 0x001E, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * SGAddOutputDataRefToMedia()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGAddOutputDataRefToMedia(
+ SeqGrabComponent s,
+ SGOutput sgOut,
+ Media theMedia,
+ SampleDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetSettingsSummary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetSettingsSummary(
+ SeqGrabComponent s,
+ Handle summaryText) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
+
+
+
+
+/*** Sequence Grab CHANNEL Component Stuff ***/
+
+/*
+ * SGSetChannelUsage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelUsage(
+ SGChannel c,
+ long usage) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0080, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelUsage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelUsage(
+ SGChannel c,
+ long * usage) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0081, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelBounds(
+ SGChannel c,
+ const Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0082, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelBounds(
+ SGChannel c,
+ Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0083, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelVolume(
+ SGChannel c,
+ short volume) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0084, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelVolume(
+ SGChannel c,
+ short * volume) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0085, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelInfo(
+ SGChannel c,
+ long * channelInfo) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0086, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelPlayFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelPlayFlags(
+ SGChannel c,
+ long playFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0087, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelPlayFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelPlayFlags(
+ SGChannel c,
+ long * playFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0088, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelMaxFrames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelMaxFrames(
+ SGChannel c,
+ long frameCount) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0089, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelMaxFrames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelMaxFrames(
+ SGChannel c,
+ long * frameCount) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008A, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelRefCon(
+ SGChannel c,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008B, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelClip(
+ SGChannel c,
+ RgnHandle theClip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008C, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelClip(
+ SGChannel c,
+ RgnHandle * theClip) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008D, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelSampleDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelSampleDescription(
+ SGChannel c,
+ Handle sampleDesc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x008E, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelDeviceList(
+ SGChannel c,
+ long selectionFlags,
+ SGDeviceList * list) FIVEWORDINLINE(0x2F3C, 0x0008, 0x008F, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelDevice(
+ SGChannel c,
+ StringPtr name) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0090, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetChannelMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelMatrix(
+ SGChannel c,
+ const MatrixRecord * m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0091, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelMatrix(
+ SGChannel c,
+ MatrixRecord * m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0092, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelTimeScale(
+ SGChannel c,
+ TimeScale * scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0093, 0x7000, 0xA82A);
+
+
+/*
+ * SGChannelPutPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGChannelPutPicture(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0094, 0x7000, 0xA82A);
+
+
+/*
+ * SGChannelSetRequestedDataRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGChannelSetRequestedDataRate(
+ SGChannel c,
+ long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0095, 0x7000, 0xA82A);
+
+
+/*
+ * SGChannelGetRequestedDataRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGChannelGetRequestedDataRate(
+ SGChannel c,
+ long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0096, 0x7000, 0xA82A);
+
+
+/*
+ * SGChannelSetDataSourceName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGChannelSetDataSourceName(
+ SGChannel c,
+ ConstStr255Param name,
+ ScriptCode scriptTag) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0097, 0x7000, 0xA82A);
+
+
+/*
+ * SGChannelGetDataSourceName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGChannelGetDataSourceName(
+ SGChannel c,
+ Str255 name,
+ ScriptCode * scriptTag) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0098, 0x7000, 0xA82A);
+
+
+/*
+ * SGChannelSetCodecSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGChannelSetCodecSettings(
+ SGChannel c,
+ Handle settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0099, 0x7000, 0xA82A);
+
+
+/*
+ * SGChannelGetCodecSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGChannelGetCodecSettings(
+ SGChannel c,
+ Handle * settings) FIVEWORDINLINE(0x2F3C, 0x0004, 0x009A, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 4.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelTimeBase(
+ SGChannel c,
+ TimeBase * tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x009B, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetChannelRefCon()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelRefCon(
+ SGChannel c,
+ long * refCon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x009C, 0x7000, 0xA82A);
+
+
+/* A utility call to find out the current device and input names, instead of having to call GetDeviceList and walk it yourself */
+/*
+ * SGGetChannelDeviceAndInputNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetChannelDeviceAndInputNames(
+ SGChannel c,
+ Str255 outDeviceName,
+ Str255 outInputName,
+ short * outInputNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x009D, 0x7000, 0xA82A);
+
+
+/* A media format independent call for this. Inputs start at 0 here (Sound starts at 1, VDIGs at 0 in direct calls) */
+/*
+ * SGSetChannelDeviceInput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelDeviceInput(
+ SGChannel c,
+ short inInputNumber) FIVEWORDINLINE(0x2F3C, 0x0002, 0x009E, 0x7000, 0xA82A);
+
+
+/* A call to bracket SetSettings related calls, to give downstream components an opportunity to deal with the entire
+ settings change in one go */
+enum {
+ sgSetSettingsBegin = (1 << 0), /* SGSetSettings related set calls about to start*/
+ sgSetSettingsEnd = (1 << 1) /* Finished SGSetSettings calls. Get ready to use the new settings*/
+};
+
+/*
+ * SGSetChannelSettingsStateChanging()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetChannelSettingsStateChanging(
+ SGChannel c,
+ UInt32 inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x009F, 0x7000, 0xA82A);
+
+
+/*
+ calls from seqGrab to Channel
+*/
+/*
+ * SGInitChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGInitChannel(
+ SGChannel c,
+ SeqGrabComponent owner) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0180, 0x7000, 0xA82A);
+
+
+/*
+ * SGWriteSamples()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGWriteSamples(
+ SGChannel c,
+ Movie m,
+ AliasHandle theFile) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0181, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetDataRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetDataRate(
+ SGChannel c,
+ long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0182, 0x7000, 0xA82A);
+
+
+/*
+ * SGAlignChannelRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGAlignChannelRect(
+ SGChannel c,
+ Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0183, 0x7000, 0xA82A);
+
+
+/*
+ Dorky dialog panel calls
+*/
+/*
+ * SGPanelGetDitl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelGetDitl(
+ SeqGrabComponent s,
+ Handle * ditl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelGetTitle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelGetTitle(
+ SeqGrabComponent s,
+ Str255 title) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0201, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelCanRun()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelCanRun(
+ SeqGrabComponent s,
+ SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0202, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelInstall(
+ SeqGrabComponent s,
+ SGChannel c,
+ DialogRef d,
+ short itemOffset) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0203, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelEvent(
+ SeqGrabComponent s,
+ SGChannel c,
+ DialogRef d,
+ short itemOffset,
+ const EventRecord * theEvent,
+ short * itemHit,
+ Boolean * handled) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0204, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelItem(
+ SeqGrabComponent s,
+ SGChannel c,
+ DialogRef d,
+ short itemOffset,
+ short itemNum) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0205, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelRemove(
+ SeqGrabComponent s,
+ SGChannel c,
+ DialogRef d,
+ short itemOffset) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0206, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelSetGrabber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelSetGrabber(
+ SeqGrabComponent s,
+ SeqGrabComponent sg) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0207, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelSetResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelSetResFile(
+ SeqGrabComponent s,
+ short resRef) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0208, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelGetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelGetSettings(
+ SeqGrabComponent s,
+ SGChannel c,
+ UserData * ud,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0209, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelSetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelSetSettings(
+ SeqGrabComponent s,
+ SGChannel c,
+ UserData ud,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x020A, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelValidateInput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelValidateInput(
+ SeqGrabComponent s,
+ Boolean * ok) FIVEWORDINLINE(0x2F3C, 0x0004, 0x020B, 0x7000, 0xA82A);
+
+
+/*
+ * SGPanelSetEventFilter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelSetEventFilter(
+ SeqGrabComponent s,
+ SGModalFilterUPP proc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x020C, 0x7000, 0xA82A);
+
+
+/*
+ SGPanelGetDITLForSize is used to retrieve user interface elements that fit within a specified size
+ panel. The component should return badComponentSelector for sizes it does not support. The component
+ is required to support kSGSmallestDITLSize, and it is recommended to support kSGLargestDITLSize.
+
+ If SGPanelGetDITLForSize is unimplemented entirely, the panel is assumed to not have resizable UI elements.
+*/
+enum {
+ kSGSmallestDITLSize = -1, /* requestedSize h and v set to this to retrieve small size*/
+ kSGLargestDITLSize = -2 /* requestedSize h and v set to this to retrieve large size*/
+};
+
+/*
+ * SGPanelGetDITLForSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGPanelGetDITLForSize(
+ SeqGrabComponent s,
+ Handle * ditl,
+ Point * requestedSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x020D, 0x7000, 0xA82A);
+
+
+/*** Sequence Grab VIDEO CHANNEL Component Stuff ***/
+/*
+ Video stuff
+*/
+struct SGCompressInfo {
+ Ptr buffer;
+ unsigned long bufferSize;
+ UInt8 similarity;
+ UInt8 reserved;
+};
+typedef struct SGCompressInfo SGCompressInfo;
+typedef CALLBACK_API( ComponentResult , SGGrabBottleProcPtr )(SGChannel c, short bufferNum, long refCon);
+typedef CALLBACK_API( ComponentResult , SGGrabCompleteBottleProcPtr )(SGChannel c, short bufferNum, Boolean *done, long refCon);
+typedef CALLBACK_API( ComponentResult , SGDisplayBottleProcPtr )(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
+typedef CALLBACK_API( ComponentResult , SGCompressBottleProcPtr )(SGChannel c, short bufferNum, long refCon);
+typedef CALLBACK_API( ComponentResult , SGCompressCompleteBottleProcPtr )(SGChannel c, short bufferNum, Boolean *done, SGCompressInfo *ci, long refCon);
+typedef CALLBACK_API( ComponentResult , SGAddFrameBottleProcPtr )(SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo *ci, long refCon);
+typedef CALLBACK_API( ComponentResult , SGTransferFrameBottleProcPtr )(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
+/* Note that UInt8 *queuedFrameCount replaces Boolean *done. 0(==false) still means no frames, and 1(==true) one,
+ but if more than one are available the number should be returned here. The value 2 previously meant more than one frame,
+ so some VDIGs may return 2 even if more than 2 are available, and some will still return 1 as they are using the original definition. */
+typedef CALLBACK_API( ComponentResult , SGGrabCompressCompleteBottleProcPtr )(SGChannel c, UInt8 *queuedFrameCount, SGCompressInfo *ci, TimeRecord *t, long refCon);
+typedef CALLBACK_API( ComponentResult , SGDisplayCompressBottleProcPtr )(SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
+typedef STACK_UPP_TYPE(SGGrabBottleProcPtr) SGGrabBottleUPP;
+typedef STACK_UPP_TYPE(SGGrabCompleteBottleProcPtr) SGGrabCompleteBottleUPP;
+typedef STACK_UPP_TYPE(SGDisplayBottleProcPtr) SGDisplayBottleUPP;
+typedef STACK_UPP_TYPE(SGCompressBottleProcPtr) SGCompressBottleUPP;
+typedef STACK_UPP_TYPE(SGCompressCompleteBottleProcPtr) SGCompressCompleteBottleUPP;
+typedef STACK_UPP_TYPE(SGAddFrameBottleProcPtr) SGAddFrameBottleUPP;
+typedef STACK_UPP_TYPE(SGTransferFrameBottleProcPtr) SGTransferFrameBottleUPP;
+typedef STACK_UPP_TYPE(SGGrabCompressCompleteBottleProcPtr) SGGrabCompressCompleteBottleUPP;
+typedef STACK_UPP_TYPE(SGDisplayCompressBottleProcPtr) SGDisplayCompressBottleUPP;
+struct VideoBottles {
+ short procCount;
+ SGGrabBottleUPP grabProc;
+ SGGrabCompleteBottleUPP grabCompleteProc;
+ SGDisplayBottleUPP displayProc;
+ SGCompressBottleUPP compressProc;
+ SGCompressCompleteBottleUPP compressCompleteProc;
+ SGAddFrameBottleUPP addFrameProc;
+ SGTransferFrameBottleUPP transferFrameProc;
+ SGGrabCompressCompleteBottleUPP grabCompressCompleteProc;
+ SGDisplayCompressBottleUPP displayCompressProc;
+};
+typedef struct VideoBottles VideoBottles;
+/*
+ * SGGetSrcVideoBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetSrcVideoBounds(
+ SGChannel c,
+ Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetVideoRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetVideoRect(
+ SGChannel c,
+ const Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetVideoRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetVideoRect(
+ SGChannel c,
+ Rect * r) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetVideoCompressorType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetVideoCompressorType(
+ SGChannel c,
+ OSType * compressorType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetVideoCompressorType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetVideoCompressorType(
+ SGChannel c,
+ OSType compressorType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetVideoCompressor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetVideoCompressor(
+ SGChannel c,
+ short depth,
+ CompressorComponent compressor,
+ CodecQ spatialQuality,
+ CodecQ temporalQuality,
+ long keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetVideoCompressor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetVideoCompressor(
+ SGChannel c,
+ short * depth,
+ CompressorComponent * compressor,
+ CodecQ * spatialQuality,
+ CodecQ * temporalQuality,
+ long * keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetVideoDigitizerComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentInstance )
+SGGetVideoDigitizerComponent(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetVideoDigitizerComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetVideoDigitizerComponent(
+ SGChannel c,
+ ComponentInstance vdig) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
+
+
+/*
+ * SGVideoDigitizerChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGVideoDigitizerChanged(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetVideoBottlenecks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetVideoBottlenecks(
+ SGChannel c,
+ VideoBottles * vb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetVideoBottlenecks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetVideoBottlenecks(
+ SGChannel c,
+ VideoBottles * vb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
+
+
+/*
+ * SGGrabFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGrabFrame(
+ SGChannel c,
+ short bufferNum) FIVEWORDINLINE(0x2F3C, 0x0002, 0x010C, 0x7000, 0xA82A);
+
+
+/*
+ * SGGrabFrameComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGrabFrameComplete(
+ SGChannel c,
+ short bufferNum,
+ Boolean * done) FIVEWORDINLINE(0x2F3C, 0x0006, 0x010D, 0x7000, 0xA82A);
+
+
+/*
+ * SGDisplayFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGDisplayFrame(
+ SGChannel c,
+ short bufferNum,
+ const MatrixRecord * mp,
+ RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x000A, 0x010E, 0x7000, 0xA82A);
+
+
+/*
+ * SGCompressFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGCompressFrame(
+ SGChannel c,
+ short bufferNum) FIVEWORDINLINE(0x2F3C, 0x0002, 0x010F, 0x7000, 0xA82A);
+
+
+/*
+ * SGCompressFrameComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGCompressFrameComplete(
+ SGChannel c,
+ short bufferNum,
+ Boolean * done,
+ SGCompressInfo * ci) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0110, 0x7000, 0xA82A);
+
+
+/*
+ * SGAddFrame()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGAddFrame(
+ SGChannel c,
+ short bufferNum,
+ TimeValue atTime,
+ TimeScale scale,
+ const SGCompressInfo * ci) FIVEWORDINLINE(0x2F3C, 0x000E, 0x0111, 0x7000, 0xA82A);
+
+
+/*
+ * SGTransferFrameForCompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGTransferFrameForCompress(
+ SGChannel c,
+ short bufferNum,
+ const MatrixRecord * mp,
+ RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0112, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetCompressBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetCompressBuffer(
+ SGChannel c,
+ short depth,
+ const Rect * compressSize) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0113, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetCompressBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetCompressBuffer(
+ SGChannel c,
+ short * depth,
+ Rect * compressSize) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0114, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetBufferInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetBufferInfo(
+ SGChannel c,
+ short bufferNum,
+ PixMapHandle * bufferPM,
+ Rect * bufferRect,
+ GWorldPtr * compressBuffer,
+ Rect * compressBufferRect) FIVEWORDINLINE(0x2F3C, 0x0012, 0x0115, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetUseScreenBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetUseScreenBuffer(
+ SGChannel c,
+ Boolean useScreenBuffer) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0116, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetUseScreenBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetUseScreenBuffer(
+ SGChannel c,
+ Boolean * useScreenBuffer) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0117, 0x7000, 0xA82A);
+
+
+/* Note that UInt8 *queuedFrameCount replaces Boolean *done. 0(==false) still means no frames, and 1(==true) one,
+ but if more than one are available the number should be returned here. The value 2 previously meant more than one frame,
+ so some VDIGs may return 2 even if more than 2 are available, and some will still return 1 as they are using the original definition. */
+/*
+ * SGGrabCompressComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGrabCompressComplete(
+ SGChannel c,
+ UInt8 * queuedFrameCount,
+ SGCompressInfo * ci,
+ TimeRecord * tr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0118, 0x7000, 0xA82A);
+
+
+/*
+ * SGDisplayCompress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGDisplayCompress(
+ SGChannel c,
+ Ptr dataPtr,
+ ImageDescriptionHandle desc,
+ MatrixRecord * mp,
+ RgnHandle clipRgn) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0119, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetFrameRate(
+ SGChannel c,
+ Fixed frameRate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x011A, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetFrameRate(
+ SGChannel c,
+ Fixed * frameRate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x011B, 0x7000, 0xA82A);
+
+
+
+/*
+ * SGSetPreferredPacketSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetPreferredPacketSize(
+ SGChannel c,
+ long preferredPacketSizeInBytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0121, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetPreferredPacketSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetPreferredPacketSize(
+ SGChannel c,
+ long * preferredPacketSizeInBytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0122, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetUserVideoCompressorList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetUserVideoCompressorList(
+ SGChannel c,
+ Handle compressorTypes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0123, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetUserVideoCompressorList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetUserVideoCompressorList(
+ SGChannel c,
+ Handle * compressorTypes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0124, 0x7000, 0xA82A);
#if TARGET_OS_MAC
- /*** Sequence Grab AUDIO CHANNEL Component Stuff ***/
- /* -----------------------------------------------------------------------------
- | |
- | ************************************* |
- | * SGAUDIOCHANNEL COMPONENT SUBTYPE * |
- | ************************************* |
- | SGAudioMediaType channel (aka SGAudioChannel) is a new Sequence Grabber |
- | channel that enables multi-channel, high sample rate, wide bit-depth audio |
- | recording, as well as writing of vbr audio compression formats. |
- | SGAudioChannel is meant to replace the SoundMediaType SGChannel, as it can |
- | do everything the old channel can do, and enables new features. |
- | |
- ------------------------------------------------------------------------------*/
- enum
- {
- SGAudioMediaType = FOUR_CHAR_CODE('audi')
- };
-
- /* -----------------------------------------------------------------------------
- | |
- | COMPONENT PROPERTY CLASSES used by SGAudioChannel |
- | |
- | Note: QTComponentProperty API's are defined in ImageCompression.h: |
- | QTGetComponentPropertyInfo |
- | QTGetComponentProperty |
- | QTSetComponentProperty |
- | QTAddComponentPropertyListener |
- | QTRemoveComponentPropertyListener |
- | |
- | Discussion: SGAudioMediaType channel uses standard QT Component Property |
- | selectors to get, set, and listen to properties. Component properties |
- | take a property class as well as a property id. SGAudioMediaType uses |
- | the following property classes (see each property ID's discussion |
- | for the specific property classes it understands) |
- | |
- ------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * ComponentPropertyClass constants used by SGAudioChannel
- */
- enum
- {
-
- /*
- * kQTPropertyClass_SGAudio: Used with properties that pertain to the
- * SGChannel as a whole, or to the output of an SGAudioChannel (i.e.
- * the resulting track in a QuickTime movie)
- */
- kQTPropertyClass_SGAudio = FOUR_CHAR_CODE('audo'),
-
- /*
- * kQTPropertyClass_SGAudioRecordDevice: Used with properties that
- * pertain specifically to the physical settings of the device *FROM*
- * which SGAudioChannel is set to record or preview
- */
- kQTPropertyClass_SGAudioRecordDevice = FOUR_CHAR_CODE('audr'),
-
- /*
- * kQTPropertyClass_SGAudioPreviewDevice: Used with properties that
- * pertain specifically to the physical settings of the device *TO*
- * which SGAudioChannel is set to preview
- */
- kQTPropertyClass_SGAudioPreviewDevice = FOUR_CHAR_CODE('audp')
- };
-
-
- /* -----------------------------------------------------------------------------
- | |
- | COMPONENT PROPERTY ID'S used by SGAudioMediaType channel |
- | |
- | In addition to the Property ID's declared below, SGAudioMediaType channel |
- | responds to kComponentPropertyClassPropertyInfo/kComponentPropertyInfoList, |
- | which returns a CFDataRef containing an array of ComponentPropertyInfo |
- | structs (defined in ImageCompression.h) |
- | |
- | Besides Component Property API's, SGAudioChannel responds to the following |
- | old-style Sequence Grabber Channel property selectors: |
- | |
- | SGGetChannelUsage() |
- | SGSetChannelUsage() |
- | SGAudioChannel responds to the following usage flags: |
- | seqGrabRecord |
- | seqGrabPreview |
- | seqGrabPlayDuringRecord |
- | |
- | SGGetChannelInfo() |
- | |
- | SGGetChannelPlayFlags() |
- | SGSetChannelPlayFlags() |
- | SGAudioChannel responds to the following play flags: |
- | channelPlayPreMix |
- | channelPlayPostMix |
- | channelPlayPreConversion |
- | channelPlayPostConversion |
- | |
- | SGGetChannelRefCon() |
- | SGSetChannelRefCon() |
- | |
- | SGGetChannelTimeBase() |
- | |
- | SGSetChannelSettingsStateChanging() |
- | SGGetChannelSettings() |
- | SGSetChannelSettings() |
- | |
- | SGGetDataRate() |
- | |
- | SGGetChannelTimeScale() |
- | |
- ------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * ComponentPropertyID constants used by SGAudioChannel
- */
- enum
- {
-
- /*
- * kQTSGAudioPropertyID_DeviceListWithAttributes: Used to get a
- * CFArray of CFDictionaryRef's. Each dictionary represents
- * attributes of one audio device. See below for list of supported
- * dictionary keys. Note: all keys are not guaranteed to be present
- * for a given device. If the device list changes (i.e. a device is
- * hotplugged or unplugged), listeners of this property will be
- * notified. Note - caller is responsible for calling CFRelease() on
- * the resulting CFArray.
- */
- kQTSGAudioPropertyID_DeviceListWithAttributes = FOUR_CHAR_CODE('#dva'), /* Data: CFArrayRef, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_DeviceAttributes: Used to get a
- * CFDictionaryRef representing attributes of the specified audio
- * device (record or preview). See below for list of supported
- * dictionary keys. Note: all keys are not guaranteed to be present
- * for a given device. Note - caller is responsible for calling
- * CFRelease() on the resulting CFDictionary.
- */
- kQTSGAudioPropertyID_DeviceAttributes = FOUR_CHAR_CODE('deva'), /* Data: CFDictionaryRef, R/W/L: Read, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_DeviceUID: Used to get the audio device
- * unique id for the current recording or preview, or set the current
- * recording or preview device to the specified audio device unique
- * id. You may obtain the list of devices on the system using
- * kQTSGAudioPropertyID_DeviceListWithAttributes. Note - caller is
- * responsible for calling CFRelease() on the resulting CFString.
- */
- kQTSGAudioPropertyID_DeviceUID = FOUR_CHAR_CODE('uid '), /* Data: CFStringRef, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_DeviceAlive: If the device in question dies
- * (is hot unplugged) listeners of this property will be notified.
- * If a record/preview operation is in progress, it will be stopped,
- * but it is left to the client to select a new device.
- */
- kQTSGAudioPropertyID_DeviceAlive = FOUR_CHAR_CODE('aliv'), /* Data: Boolean, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_DeviceHogged: If the device in question
- * becomes hogged or unhogged by another process, listeners of this
- * property will be notified. SGAudioMediaType channel does not hogs
- * devices, but if a client has reason to gain exclusive access to a
- * device, he may set this property to his process id (obtained by
- * calling getpid()).
- */
- kQTSGAudioPropertyID_DeviceHogged = FOUR_CHAR_CODE('hogg'), /* Data: pid_t, R/W/L: Read/Write/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_DeviceInUse: If the device in question starts
- * to be used (for instance, another process starts performing i/o
- * with the device), listeners of this property will be notified.
- */
- kQTSGAudioPropertyID_DeviceInUse = FOUR_CHAR_CODE('used'), /* Data: Boolean, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_HardwarePlaythruEnabled: Use this property to
- * set hardware playthru during seqGrabPreview or
- * seqGrabPlayDuringRecord operations. Setting this value will have
- * no effect if the record device and preview device are not the
- * same. Also, some devices do not support hardware playthru.
- * Devices report whether or not they support this feature through
- * the kQTSGAudioPropertyID_DeviceListWithAttributes property.
- */
- kQTSGAudioPropertyID_HardwarePlaythruEnabled = FOUR_CHAR_CODE('hard'), /* Data: Boolean, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudioRecordDevice */
-
- /*
- * kQTSGAudioPropertyID_ChannelLayout: Used to get/set a spatial or
- * discrete channel layout. If used with kQTPropertyClass_SGAudio,
- * the AudioChannelLayout refers to the channels in the resulting
- * QuickTime movie sound track. If used with
- * kQTPropertyClass_SGAudioRecordDevice, the AudioChannelLayout
- * refers to the input channels on the record device. If used with
- * kQTPropertyClass_SGAudioPreviewDevice, the AudioChannelLayout
- * refers to the preview device output channels. Note -
- * AudioChannelLayout is a variable size struct, so before calling
- * QTGetComponentProperty, you should call QTGetComponentPropertyInfo
- * to discover the size of the block of memory you should allocate to
- * hold the result.
- */
- kQTSGAudioPropertyID_ChannelLayout = FOUR_CHAR_CODE('clay'), /* Data: AudioChannelLayout, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_ChannelMap: Allows a client to enable or
- * disable channels on a recording device, as well as reorder them or
- * duplicate them to several output channels. This property need not
- * be set if a client wishes to capture all channels from the record
- * device (this is the DEFAULT behavior). Each element in the SInt32
- * array represents one output bus (into the SGAudioChannel) from the
- * record device. The value of each element is the source channel
- * (zero-based) on the input device that should feed the specified
- * output. CHANNEL-DISABLING EXAMPLE: if you wish to capture just the
- * 1st, 3rd, and 5th channels from a 6-channel input device, your
- * channel map should be: SInt32 map[3] = { 0, 2, 4 }.
- * CHANNEL-REORDERING EXAMPLE: if you wish to capture both channels
- * from a stereo input device, but you know the left and right
- * channels are reversed in the data source, you set your channel map
- * to: SInt32 map[2] = { 1, 0 }. CHANNEL-DUPLICATION EXAMPLE: if you
- * wish to duplicate the second source channel into 4 outputs, set
- * your channel map thusly: SInt32 map[4] = { 1, 1, 1, 1 }. EMPTY
- * CHANNEL EXAMPLE: if you need to produce a conformant stream of
- * audio, say, a 6-channel stream to send to an external 5.1 AC3
- * encoder, but you only have audio for the L, R, and C channels (on
- * record device channels 0, 1, and 2), you may set your channel map
- * thusly: SInt32 map[6] = { 0, 1, 2, -1, -1, -1 }. The last 3
- * channels will be filled with silence.
- */
- kQTSGAudioPropertyID_ChannelMap = FOUR_CHAR_CODE('cmap'), /* Data: C-style array of SInt32's, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudioRecordDevice */
-
- /*
- * kQTSGAudioPropertyID_CodecSpecificSettingsArray: Used to get or
- * set compressor-specific out-of-band settings. This property is
- * only applicable when you are encoding to a compressed output
- * format (i.e. AAC, AMR). This property is analogous to SCAudio's
- * kQTSCAudioPropertyID_CodecSpecificSettingsArray property (defined
- * in this header), or an AudioConverter's
- * kAudioConverterPropertySettings property (defined in
- * <AudioToolbox/AudioConverter.h"). Note that not all compressed
- * formats expose a settings array. Older codecs may only expose a
- * magic cookie for out-of-band data (see the following property).
- * When an audio compressor exposes a settings array, prefer it over
- * a magic cookie, as the settings array is richer. The
- * CodecSpecificSettingsArray is a CFArray of CFDictionaries, where
- * each dictionary represents one node in the audio converter's
- * processing chain. The dictionary keys are defined in
- * <AudioUnit/AudioCodec.h". For further information, see technotes:
- * <http://developer.apple.com/qa/qa2006/qa1437.html>
- * <http://developer.apple.com/qa/qa2006/qa1390.html>
- */
- kQTSGAudioPropertyID_CodecSpecificSettingsArray = FOUR_CHAR_CODE('cdst'), /* Data: CFArrayRef, Read/Write, Class(es): kQTPropertyClass_SGAudio*/
-
- /*
- * kQTSGAudioPropertyID_MagicCookie: Used to get or set
- * compressor-specific out-of-band settings. This is property is
- * only applicable to compressed formats that use a cookie. The
- * kQTSGAudioPropertyID_CodecSpecificSettingsArray property should be
- * preferred over kQTSGAudioPropertyID_MagicCookie whenever a
- * compressor supports it.
- */
- kQTSGAudioPropertyID_MagicCookie = FOUR_CHAR_CODE('kuki'), /* Data: void * (opaque), R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_StreamFormat: For kQTPropertyClass_SGAudio,
- * get/set the format of the audio as it will be written to the
- * destination QuickTime movie track. For
- * kQTPropertyClass_SGAudioRecordDevice, get/set the format of audio
- * as it is physically recorded on the device (must be one of the
- * formats passed in kQTSGAudioPropertyID_StreamFormatList) Note that
- * the mChannelsPerFrame of the StreamFormat read from the
- * RecordDevice will not reflect channels that have been enabled or
- * disabled with the ChannelMap property.
- */
- kQTSGAudioPropertyID_StreamFormat = FOUR_CHAR_CODE('frmt'), /* Data: AudioStreamBasicDescription, R/W/L: Read/Write/Listen, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_StreamFormatList: Used to get an array of
- * AudioStreamBasicDescriptions that describe valid combinations of
- * settings supported by the physical device in its current
- * configuration (sample rate, bit depth, number of channels).
- */
- kQTSGAudioPropertyID_StreamFormatList = FOUR_CHAR_CODE('#frm'), /* Data: C-style array of AudioStreamBasicDescription's, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_SoundDescription: The sound description that
- * describes the data written to the QuickTime movie track. A
- * QTGetComponentProperty call allocates the SoundDescriptionHandle
- * for you. Caller should declare a SoundDescriptionHandle and set
- * it to NULL, and pass its address to QTGetComponentProperty.
- * Caller must DisposeHandle() the resulting SoundDescriptionHandle
- * when done with it.
- */
- kQTSGAudioPropertyID_SoundDescription = FOUR_CHAR_CODE('snds'), /* Data: SoundDescriptionHandle, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_InputSelection: Some devices allow switching
- * between data sources, such as analog, adat, sdi, aes/ebu, spdif.
- * Use this property to change the current input selection. Note
- * that when input selection changes, the StreamFormat of the device
- * may change as well (In particular, the number of channels may
- * change).
- */
- kQTSGAudioPropertyID_InputSelection = FOUR_CHAR_CODE('inpt'), /* Data: OSType, R/W/L: Read/Write/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice */
-
- /*
- * kQTSGAudioPropertyID_InputListWithAttributes: Used to get the list
- * of available input sources for a given device. A CFArrayRef of
- * CFDictionaryRef's is returned, where each CFDictionaryRef
- * represents the attributes of one input (see below for a list of
- * valid keys). The caller is responsible for CFRelease()'ing the
- * returned array.
- */
- kQTSGAudioPropertyID_InputListWithAttributes = FOUR_CHAR_CODE('#inp'), /* Data: CFArrayRef, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice */
-
- /*
- * kQTSGAudioPropertyID_OutputSelection: Some devices allow switching
- * between output destinations, such as analog, adat, sdi, aes/ebu,
- * spdif. Use this property to change the current output selection.
- * Note that when output selection changes, the StreamFormat of the
- * device may change as well (In particular, the number of channels
- * may change).
- */
- kQTSGAudioPropertyID_OutputSelection = FOUR_CHAR_CODE('otpt'), /* Data: OSType, R/W/L: Read/Write/Listen, Class(es): kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_OutputListWithAttributes: Used to get the
- * list of available output destinations for a given device. A
- * CFArrayRef of CFDictionaryRef's is returned, where each
- * CFDictionaryRef represents the attributes of one output (see below
- * for a list of valid keys). The caller is responsible for
- * CFRelease()'ing the returned array.
- */
- kQTSGAudioPropertyID_OutputListWithAttributes = FOUR_CHAR_CODE('#otp'), /* Data: CFArrayRef, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_LevelMetersEnabled: When used with
- * kQTPropertyClass_SGAudioRecordDevice or
- * kQTPropertyClass_SGAudioPreviewDevice, this turns device level
- * metering on/off. When used with kQTPropertyClass_SGAudio, this
- * turns output level metering on/off. When level meters are
- * enabled, use kQTSGAudioPropertyID_AveragePowerLevels to get
- * instantaneous levels. Use kQTSGAudioPropertyID_PeakHoldLevels to
- * get peak-hold style meters (better for clipping detection, etc).
- * Level meters should only be enabled if you intend to poll for
- * levels, as they incur an added CPU load when enabled.
- */
- kQTSGAudioPropertyID_LevelMetersEnabled = FOUR_CHAR_CODE('lmet'), /* Data: Boolean, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice, kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_PeakHoldLevels:
- * kQTSGAudioPropertyID_PeakHoldLevelsmay only be read when level
- * meters are enabled. The result is an array of Float32 values, one
- * for each channel on the device (or output) in question. values
- * are in dB. Poll for PeakHoldLevels as often as you would like to
- * update ui or look for clipping. Note that the number of elements
- * in the float-32 array will be equal to the number of input
- * channels on your record device for
- * kQTPropertyClass_SGAudioRecordDevice (or the number of elements in
- * your kQTSGAudioPropertyID_ChannelMap, if you've set one), equal to
- * the number of output channels on your preview device for
- * kQTPropertyClass_SGAudioPreviewDevice, and equal to the number of
- * channels in your kQTSGAudioPropertyID_StreamFormat
- * (format.mChannelsPerFrame) for kQTPropertyClass_SGAudio. Also
- * note that if you have requested hardware playthru, level metering
- * is unavailable. Also note that if no channel mixdown is being
- * performed between record device and output formats, then
- * kQTSGAudioPropertyID_PeakHoldLevels for
- * kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudio
- * will be equivalent.
- */
- kQTSGAudioPropertyID_PeakHoldLevels = FOUR_CHAR_CODE('phlv'), /* Data: C-style array of Float32's, R/W/L: Read, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice, kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_AveragePowerLevels:
- * kQTSGAudioPropertyID_AveragePowerLevels may only be read when
- * level meters are enabled. The result is an array of Float32
- * values, one for each channel on the device (or output) in
- * question. values are in dB. Poll for AveragePowerLevels as
- * frequently as you would like to update ui. Note that the number
- * of elements in the float-32 array will be equal to the number of
- * input channels on your record device for
- * kQTPropertyClass_SGAudioRecordDevice (or the number of elements in
- * your kQTSGAudioPropertyID_ChannelMap, if you've set one), equal to
- * the number of output channels on your preview device for
- * kQTPropertyClass_SGAudioPreviewDevice, and equal to the number of
- * channels in your kQTSGAudioPropertyID_StreamFormat
- * (format.mChannelsPerFrame) for kQTPropertyClass_SGAudio. Also
- * note that if you have requested hardware playthru, level metering
- * is unavailable. Also note that if no channel mixdown is being
- * performed between record device and output formats, then
- * kQTSGAudioPropertyID_PeakHoldLevels for
- * kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudio
- * will be equivalent.
- */
- kQTSGAudioPropertyID_AveragePowerLevels = FOUR_CHAR_CODE('aplv'), /* Data: C-style array of Float32's, R/W/L: Read, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice, kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_MasterGain: With
- * kQTPropertyClass_SGAudioRecordDevice, this property gets/sets
- * master gain on the physical recording device with 0.0 = minimum
- * volume and 1.0 = the max volume of the device. With
- * kQTPropertyClass_SGAudioPreviewDevice, this property gets/sets
- * master gain on the physical previewing device with 0.0 = minimum
- * volume and 1.0 = the max volume of the device. With
- * kQTPropertyClass_SGAudio, this property gets/sets the master gain
- * (volume) of the recorded audio data in software (pre-mixdown) min
- * = 0.0, max = unbounded. Normally you wouldn't set the volume
- * greater than 1.0, but if the source material provided by the
- * device is too soft, a gain of > 1.0 may be set to boost the gain.
- * Note that some devices do not respond to this property setting.
- */
- kQTSGAudioPropertyID_MasterGain = FOUR_CHAR_CODE('mgan'), /* Data: Float32, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_PerChannelGain: With
- * kQTPropertyClass_SGAudioRecordDevice, this property gets/sets the
- * gain of each channel on the physical recording device. Note that
- * the number of channels in the array for
- * kQTPropertyClass_SGAudioRecordDevice and
- * kQTPropertyClass_SGAudioPreviewDevice is equal to the total number
- * of channels on the device, which can be discovered using the
- * kQTSGAudioPropertyID_StreamFormat (on the recording device or
- * preview device). The number of channels (and order of channels)
- * in the array for the kQTPropertyClass_SGAudio class must
- * correspond to the valence of channels on output (which is affected
- * by a channel map, if you've set one). With
- * kQTPropertyClass_SGAudio, this property gets/sets the gain
- * (volume) of each channel of recorded audio data in software.
- * Levels set on the record device or preview device must adhere to
- * min = 0.0, max = 1.0. Levels set in software may be set to values
- * greater than 1.0 in order to boost low signals. Caller may
- * specify that a particular channel gain level should be left alone
- * by setting the value to -1.0. For instance, to set the gain of
- * channels 1, 2, and 3 to 0.5 on a 6 channel device, pass the
- * following array values in a SetProperty call: { 0.5, 0.5, 0.5,
- * -1., -1., -1. }.
- */
- kQTSGAudioPropertyID_PerChannelGain = FOUR_CHAR_CODE('cgan'), /* Data: C-style array of Float32's, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
-
- /*
- * kQTSGAudioPropertyID_GainScalarToDecibels: Both
- * kQTSGAudioPropertyID_MasterGain and
- * kQTSGAudioPropertyID_PerChannelGain properties express gain as a
- * scalar floating point value from 0.0 - 1.0 (for
- * kQTPropertyClass_SGAudioRecordDevice and
- * kQTPropertyClass_SGAudioPreviewDevice classes), and from 0.0 - 1.0
- * or greater (for kQTPropertyClass_SGAudio). For UI purposes, it
- * may be useful to map the scalar gain value to a decibel value.
- * kQTSGAudioPropertyID_GainScalarToDecibels is a read-only property
- * that takes a Float32 scalar value and returns the corresponding
- * decibel value for that scalar value. Note that this property uses
- * the outPropValueAddress parameter of QTGetComponentProperty for
- * both input and output. This property is available in QT 7.1 and
- * later.
- */
- kQTSGAudioPropertyID_GainScalarToDecibels = FOUR_CHAR_CODE('gsdb'), /* Data: Float32, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice*/
-
- /*
- * kQTSGAudioPropertyID_MixerCoefficients: If you wish to perform a
- * custom mix-down from the incoming record device channel valence
- * (discoverable using a combination of
- * kQTPropertyClass_SGAudioRecordDevice /
- * kQTSGAudioPropertyID_StreamFormat &
- * kQTPropertyClass_SGAudioRecordDevice /
- * kQTSGAudioPropertyID_ChannelMap) to a different output number of
- * channels
- * (kQTPropertyClass_SGAudio-kQTSGAudioPropertyID_StreamFormat), you
- * may specify your own set of mixer coefficients which will be set
- * as volume values at each crosspoint in SGAudioMediaType's internal
- * matrix mixer. The value you pass is a two-dimensional array of
- * Float32's where the first dimension (rows) is the input channel
- * and the second dimension (columns) is the output channel. Each
- * Float32 value is the gain level to apply.
- */
- kQTSGAudioPropertyID_MixerCoefficients = FOUR_CHAR_CODE('mixc'), /* Data: C-style array of Float32's, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio*/
-
- /*
- * kQTSGAudioPropertyID_Settings: This property takes supercedes the
- * SGGet/SetChannelSettings calls. SGAudioMediaType channel accepts
- * old-style 'soun' SGChannel settings in a QTSetComponentProperty
- * call, but always produces new-style settings in a
- * QTGetComponentProperty call.
- */
- kQTSGAudioPropertyID_Settings = FOUR_CHAR_CODE('setu'), /* Data: UserData, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_ChunkSize: Use this property to get/set the
- * number of seconds of audio that the SGAudioChannel should buffer
- * before writing.
- */
- kQTSGAudioPropertyID_ChunkSize = FOUR_CHAR_CODE('chnk'), /* Data: Float32, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_SoftPreviewLatency: If previewing or playing
- * thru while recording (and
- * kQTSGAudioPropertyID_HardwarePlaythruEnabled is not in use), a
- * client may specify in seconds the amount of latency to introduce
- * before beginning playback. By default, soft preview latency is 0
- * seconds. As soon as audio data arrives from the recording device,
- * it is eligible to be played out to the preview device. This
- * property may be of use if software preview breaks up due to the
- * recording device not delivering samples fast enough for the
- * preview device.
- */
- kQTSGAudioPropertyID_SoftPreviewLatency = FOUR_CHAR_CODE('slat'), /* Data: Float32, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_PreMixCallback: If you wish to receive a
- * callback when new audio samples become available from the
- * recording device (before they've been mixed down), set
- * kQTSGAudioPropertyID_PreMixCallback using an SGAudioCallbackStruct
- * containing a pointer to your SGAudioCallback function and a
- * refcon. If you've previously registered a callback and no longer
- * wish to receive it, call QTSetComponentProperty again, this time
- * passing NULL for your inputProc and 0 for your inputRefCon.
- */
- kQTSGAudioPropertyID_PreMixCallback = FOUR_CHAR_CODE('_mxc'), /* Data: SGAudioCallbackStruct, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_PreMixCallbackFormat: Call
- * QTGetComponentProperty with
- * kQTSGAudioPropertyID_PreMixCallbackFormat to discover the format
- * of the audio that will be received in your Pre-Mix
- * SGAudioCallback. Note that the format may not be available until
- * you've called SGPrepare().
- */
- kQTSGAudioPropertyID_PreMixCallbackFormat = FOUR_CHAR_CODE('_mcf'), /* Data: AudioStreamBasicDescription, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio*/
-
- /*
- * kQTSGAudioPropertyID_PostMixCallback: If you wish to receive a
- * callback after audio samples have been mixed (the first step after
- * they are received from a recording device by SGAudioMediaType
- * channel), set kQTSGAudioPropertyID_PostMixCallback using an
- * SGAudioCallbackStruct containing a pointer to your SGAudioCallback
- * function and a refcon. If you've previously registered a callback
- * and no longer wish to receive it, call QTSetComponentProperty
- * again, this time passing NULL for your inputProc and 0 for your
- * inputRefCon.
- */
- kQTSGAudioPropertyID_PostMixCallback = FOUR_CHAR_CODE('mx_c'), /* Data: SGAudioCallbackStruct, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_PostMixCallbackFormat: Call
- * QTGetComponentProperty with
- * kQTSGAudioPropertyID_PostMixCallbackFormat to discover the format
- * of the audio that will be received in your Post-Mix
- * SGAudioCallback. Note that the format may not be available until
- * you've called SGPrepare().
- */
- kQTSGAudioPropertyID_PostMixCallbackFormat = FOUR_CHAR_CODE('m_cf'), /* Data: AudioStreamBasicDescription, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio*/
-
- /*
- * kQTSGAudioPropertyID_PreConversionCallback: If you wish to receive
- * a callback just before audio samples are about to be sent through
- * an AudioConverter (for format conversion or compression), set
- * kQTSGAudioPropertyID_PreConversionCallback using an
- * SGAudioCallbackStruct containing a pointer to your SGAudioCallback
- * function and a refcon. If you've previously registered a callback
- * and no longer wish to receive it, call QTSetComponentProperty
- * again, this time passing NULL for your inputProc and 0 for your
- * inputRefCon.
- */
- kQTSGAudioPropertyID_PreConversionCallback = FOUR_CHAR_CODE('_cvc'), /* Data: SGAudioCallbackStruct, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_PreConversionCallbackFormat: Call
- * QTGetComponentProperty with
- * kQTSGAudioPropertyID_PreConversionCallbackFormat to discover the
- * format of the audio that will be received in your Pre-Conversion
- * SGAudioCallback. Note that the format may not be available until
- * you've called SGPrepare().
- */
- kQTSGAudioPropertyID_PreConversionCallbackFormat = FOUR_CHAR_CODE('_ccf'), /* Data: AudioStreamBasicDescription, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio*/
-
- /*
- * kQTSGAudioPropertyID_PostConversionCallback: If you wish to
- * receive a callback right after audio samples have been sent
- * through an AudioConverter (for format conversion or compression),
- * set kQTSGAudioPropertyID_PostConversionCallback using an
- * SGAudioCallbackStruct containing a pointer to your SGAudioCallback
- * function and a refcon. If you've previously registered a callback
- * and no longer wish to receive it, call QTSetComponentProperty
- * again, this time passing NULL for your inputProc and 0 for your
- * inputRefCon.
- */
- kQTSGAudioPropertyID_PostConversionCallback = FOUR_CHAR_CODE('cv_c'), /* Data: SGAudioCallbackStruct, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
-
- /*
- * kQTSGAudioPropertyID_PostConversionCallbackFormat: Call
- * QTGetComponentProperty with
- * kQTSGAudioPropertyID_PostConversionCallbackFormat to discover the
- * format of the audio that will be received in your Post-Conversion
- * SGAudioCallback. Note that the format may not be available until
- * you've called SGPrepare().
- */
- kQTSGAudioPropertyID_PostConversionCallbackFormat = FOUR_CHAR_CODE('c_cf') /* Data: AudioStreamBasicDescription, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio*/
- };
-
-
-
- /* -----------------------------------------------------------------------------
- | |
- | SGAudioMediaType Channel - Device Attribute Keys |
- | |
- | These dictionary keys may be used to parse CFDictionaries returned by |
- | kQTSGAudioPropertyID_DeviceListWithAttributes & |
- | kQTSGAudioPropertyID_DeviceAttributes |
- | |
- ------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Device Attribute Key constants used by SGAudioChannel
- */
- enum
- {
-
- /*
- * kQTAudioDeviceAttribute_DeviceUIDKey: value = CFStringRef. A
- * unique identifier for the device.
- */
- kQTAudioDeviceAttribute_DeviceUIDKey = kQTSGAudioPropertyID_DeviceUID,
-
- /*
- * kQTAudioDeviceAttribute_DeviceNameKey: value = CFStringRef. The
- * device printable name (suitable for gui).
- */
- kQTAudioDeviceAttribute_DeviceNameKey = FOUR_CHAR_CODE('name'),
-
- /*
- * kQTAudioDeviceAttribute_DeviceManufacturerKey: value =
- * CFStringRef. Device manufacturer printable name (suitable for
- * gui).
- */
- kQTAudioDeviceAttribute_DeviceManufacturerKey = FOUR_CHAR_CODE('manu'),
-
- /*
- * kQTAudioDeviceAttribute_DeviceTransportTypeKey: value =
- * CFNumberRef. Wraps an OSType (i.e. '1394' for fw, see
- * IOAudioTypes.h).
- */
- kQTAudioDeviceAttribute_DeviceTransportTypeKey = FOUR_CHAR_CODE('tran'),
-
- /*
- * kQTAudioDeviceAttribute_DeviceAliveKey: value = CFBooleanRef.
- * True if device is present.
- */
- kQTAudioDeviceAttribute_DeviceAliveKey = kQTSGAudioPropertyID_DeviceAlive,
-
- /*
- * kQTAudioDeviceAttribute_DeviceCanRecordKey: value = CFBooleanRef.
- * True if device can be used for recording (some can only do
- * playback)
- */
- kQTAudioDeviceAttribute_DeviceCanRecordKey = FOUR_CHAR_CODE('rec '),
-
- /*
- * kQTAudioDeviceAttribute_DeviceCanPreviewKey: value = CFBooleanRef.
- * True if device can be used to preview a grab.
- */
- kQTAudioDeviceAttribute_DeviceCanPreviewKey = FOUR_CHAR_CODE('prev'),
-
- /*
- * kQTAudioDeviceAttribute_DeviceHoggedKey: value = CFNumberRef.
- * CFNumber wraps the unique process ID that is hogging the device,
- * or -1 if the device is currently not being hogged. Process id
- * comes from getpid().
- */
- kQTAudioDeviceAttribute_DeviceHoggedKey = kQTSGAudioPropertyID_DeviceHogged,
-
- /*
- * kQTAudioDeviceAttribute_DeviceInUseKey: value = CFBooleanRef.
- * True if someone is performing IO w/ the device (in any process).
- */
- kQTAudioDeviceAttribute_DeviceInUseKey = kQTSGAudioPropertyID_DeviceInUse,
-
- /*
- * kQTAudioDeviceAttribute_DeviceSupportsHardwarePlaythruKey: value =
- * CFBooleanRef. True if the device supports hardware playthru of
- * inputs to outputs.
- */
- kQTAudioDeviceAttribute_DeviceSupportsHardwarePlaythruKey = FOUR_CHAR_CODE('hard'),
-
- /*
- * kQTAudioDeviceAttribute_InputSelectionKey: value = CFNumberRef.
- * CFNumber wraps an OSType (device may or may not have an input
- * selection)
- */
- kQTAudioDeviceAttribute_InputSelectionKey = kQTSGAudioPropertyID_InputSelection,
-
- /*
- * kQTAudioDeviceAttribute_InputListWithAttributesKey: value =
- * CFArrayRef. Same as kQTSGAudioPropertyID_InputListWithAttributes.
- */
- kQTAudioDeviceAttribute_InputListWithAttributesKey = kQTSGAudioPropertyID_InputListWithAttributes,
- kQTAudioDeviceAttribute_OutputSelectionKey = kQTSGAudioPropertyID_OutputSelection,
-
- /*
- * kQTAudioDeviceAttribute_OutputListWithAttributesKey: value =
- * CFArrayRef. Same as kQTSGAudioPropertyID_OutputListWithAttributes.
- */
- kQTAudioDeviceAttribute_OutputListWithAttributesKey = kQTSGAudioPropertyID_OutputListWithAttributes,
-
- /*
- * kQTAudioDeviceAttribute_DefaultInputDeviceKey: value =
- * CFBooleanRef. True if it's the user-selected default input in
- * AudioMidiSetup.
- */
- kQTAudioDeviceAttribute_DefaultInputDeviceKey = FOUR_CHAR_CODE('dIn '),
-
- /*
- * kQTAudioDeviceAttribute_DefaultOutputDeviceKey: value =
- * CFBooleanRef. True if it's the user-selected default output in
- * AudioMidiSetup.
- */
- kQTAudioDeviceAttribute_DefaultOutputDeviceKey = FOUR_CHAR_CODE('dOut'),
-
- /*
- * kQTAudioDeviceAttribute_DefaultSystemOutputDeviceKey: value =
- * CFBooleanRef. True if it's the user-selected device where system
- * alerts plays.
- */
- kQTAudioDeviceAttribute_DefaultSystemOutputDeviceKey = FOUR_CHAR_CODE('sOut'),
-
- /*
- * kQTAudioDeviceAttribute_IsCoreAudioDeviceKey: value =
- * CFBooleanRef. True if the device is a Core Audio device.
- */
- kQTAudioDeviceAttribute_IsCoreAudioDeviceKey = FOUR_CHAR_CODE('hal!')
- };
-
-
- /* -----------------------------------------------------------------------------
- | |
- | SGAudioMediaType Channel - Device Attribute Keys for Inputs & Outputs |
- | |
- | These dictionary keys may be used to parse CFDictionaries returned by |
- | kQTSGAudioPropertyID_InputListWithAttributes & |
- | kQTSGAudioPropertyID_OutputListWithAttributes. |
- | |
- ------------------------------------------------------------------------------*/
-
- /*
- * Summary:
- * Device Attribute Key constants for Inputs and Outputs used by
- * SGAudioChannel
- */
- enum
- {
-
- /*
- * kQTAudioDeviceAttribute_DeviceInputID: value = CFNumberRef that
- * wraps an OSType.
- */
- kQTAudioDeviceAttribute_DeviceInputID = FOUR_CHAR_CODE('inID'),
-
- /*
- * kQTAudioDeviceAttribute_DeviceInputDescription: value =
- * CFStringRef containing a string suitable for ui display.
- */
- kQTAudioDeviceAttribute_DeviceInputDescription = FOUR_CHAR_CODE('inds'),
-
- /*
- * kQTAudioDeviceAttribute_DeviceOutputID: value = CFNumberRef that
- * wraps an OSType.
- */
- kQTAudioDeviceAttribute_DeviceOutputID = FOUR_CHAR_CODE('otID'),
-
- /*
- * kQTAudioDeviceAttribute_DeviceOutputDescription: value =
- * CFStringRef containing a string suitable for ui display.
- */
- kQTAudioDeviceAttribute_DeviceOutputDescription = FOUR_CHAR_CODE('otds')
- };
-
-
- /* -----------------------------------------------------------------------------
- | |
- | SG SETTINGS CODES USED BY SGAudioMediaType SGChannel |
- | |
- ------------------------------------------------------------------------------*/
- enum
- {
- sgcAudioRecordDeviceSettingsAtom = kQTPropertyClass_SGAudioRecordDevice,
- sgcAudioPreviewDeviceSettingsAtom = kQTPropertyClass_SGAudioPreviewDevice,
- sgcAudioOutputSettingsAtom = kQTPropertyClass_SGAudio,
- sgcAudioSettingsVersion = FOUR_CHAR_CODE('vers'),
- sgcAudioDeviceUID = kQTAudioDeviceAttribute_DeviceUIDKey,
- sgcAudioDeviceName = kQTAudioDeviceAttribute_DeviceNameKey,
- sgcAudioStreamFormat = kQTSGAudioPropertyID_StreamFormat,
- sgcAudioInputSelection = kQTSGAudioPropertyID_InputSelection,
- sgcAudioOutputSelection = kQTSGAudioPropertyID_OutputSelection,
- sgcAudioChannelMap = kQTSGAudioPropertyID_ChannelMap,
- sgcAudioMasterGain = kQTSGAudioPropertyID_MasterGain,
- sgcAudioPerChannelGain = kQTSGAudioPropertyID_PerChannelGain,
- sgcAudioLevelMetersEnabled = kQTSGAudioPropertyID_LevelMetersEnabled,
- sgcAudioChannelLayout = kQTSGAudioPropertyID_ChannelLayout,
- sgcAudioCodecSpecificSettingsArray = kQTSGAudioPropertyID_CodecSpecificSettingsArray,
- sgcAudioMagicCookie = kQTSGAudioPropertyID_MagicCookie,
- sgcAudioHardwarePlaythruEnabled = kQTSGAudioPropertyID_HardwarePlaythruEnabled,
- sgcAudioMixerCoefficients = kQTSGAudioPropertyID_MixerCoefficients,
- sgcAudioChunkSize = kQTSGAudioPropertyID_ChunkSize,
- sgcAudioSoftPreviewLatency = kQTSGAudioPropertyID_SoftPreviewLatency
- };
-
- /* -----------------------------------------------------------------------------
- | |
- | SGAudioMediaType Channel Callback Declarations |
- | |
- ------------------------------------------------------------------------------*/
-
- typedef UInt32 SGAudioCallbackFlags;
-
- /*
- * SGAudioCallback
- *
- * Discussion:
- * Clients define an SGAudioCallback to tap into an SGAudio channel,
- * and gain access to its data at various point along the signal
- * flow chain. Clients should be aware that they may be called back
- * on threads other than the thread on which they registered for the
- * callback. They should do as little work as possible inside their
- * callback, returning control as soon as possible to the calling
- * SGAudio channel.
- *
- * Parameters:
- *
- * c:
- * The SGChannel originating this callback
- *
- * inRefCon:
- * The refCon assigned by the client when filling out an
- * SGAudioCallbackStruct
- *
- * ioFlags:
- * This flags field is currently unused.
- *
- * inTimeStamp:
- * The time stamp associated with the first sample passed in inData
- *
- * inNumberPackets:
- * The number of data packets (if dealing with LPCM formats,
- * number of packets is the same as number of frames) held in
- * inData.
- *
- * inData:
- * A bufferlist containing the requested sample data.
- *
- * inPacketDescriptions:
- * If the packets contained in inData are of variable size,
- * inPacketDescriptions will contain an array of inNumberPackets
- * packet descriptions.
- *
- * Result:
- * OSStatus Your SGAudioCallback function should return noErr.
- */
- typedef CALLBACK_API_C(OSStatus , SGAudioCallback)(SGChannel c, void *inRefCon, SGAudioCallbackFlags *ioFlags, const AudioTimeStamp *inTimeStamp, const UInt32 *inNumberPackets, const AudioBufferList *inData, const AudioStreamPacketDescription *inPacketDescriptions);
- struct SGAudioCallbackStruct
- {
- SGAudioCallback inputProc;
- void * inputProcRefCon;
- };
- typedef struct SGAudioCallbackStruct SGAudioCallbackStruct;
+/*** Sequence Grab AUDIO CHANNEL Component Stuff ***/
+/* -----------------------------------------------------------------------------
+| |
+| ************************************* |
+| * SGAUDIOCHANNEL COMPONENT SUBTYPE * |
+| ************************************* |
+| SGAudioMediaType channel (aka SGAudioChannel) is a new Sequence Grabber |
+| channel that enables multi-channel, high sample rate, wide bit-depth audio |
+| recording, as well as writing of vbr audio compression formats. |
+| SGAudioChannel is meant to replace the SoundMediaType SGChannel, as it can |
+| do everything the old channel can do, and enables new features. |
+| |
+ ------------------------------------------------------------------------------*/
+enum {
+ SGAudioMediaType = FOUR_CHAR_CODE('audi')
+};
+
+/* -----------------------------------------------------------------------------
+| |
+| COMPONENT PROPERTY CLASSES used by SGAudioChannel |
+| |
+| Note: QTComponentProperty API's are defined in ImageCompression.h: |
+| QTGetComponentPropertyInfo |
+| QTGetComponentProperty |
+| QTSetComponentProperty |
+| QTAddComponentPropertyListener |
+| QTRemoveComponentPropertyListener |
+| |
+| Discussion: SGAudioMediaType channel uses standard QT Component Property |
+| selectors to get, set, and listen to properties. Component properties |
+| take a property class as well as a property id. SGAudioMediaType uses |
+| the following property classes (see each property ID's discussion |
+| for the specific property classes it understands) |
+| |
+ ------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * ComponentPropertyClass constants used by SGAudioChannel
+ */
+enum {
+
+ /*
+ * kQTPropertyClass_SGAudio: Used with properties that pertain to the
+ * SGChannel as a whole, or to the output of an SGAudioChannel (i.e.
+ * the resulting track in a QuickTime movie)
+ */
+ kQTPropertyClass_SGAudio = FOUR_CHAR_CODE('audo'),
+
+ /*
+ * kQTPropertyClass_SGAudioRecordDevice: Used with properties that
+ * pertain specifically to the physical settings of the device *FROM*
+ * which SGAudioChannel is set to record or preview
+ */
+ kQTPropertyClass_SGAudioRecordDevice = FOUR_CHAR_CODE('audr'),
+
+ /*
+ * kQTPropertyClass_SGAudioPreviewDevice: Used with properties that
+ * pertain specifically to the physical settings of the device *TO*
+ * which SGAudioChannel is set to preview
+ */
+ kQTPropertyClass_SGAudioPreviewDevice = FOUR_CHAR_CODE('audp')
+};
+
+
+/* -----------------------------------------------------------------------------
+| |
+| COMPONENT PROPERTY ID'S used by SGAudioMediaType channel |
+| |
+| In addition to the Property ID's declared below, SGAudioMediaType channel |
+| responds to kComponentPropertyClassPropertyInfo/kComponentPropertyInfoList, |
+| which returns a CFDataRef containing an array of ComponentPropertyInfo |
+| structs (defined in ImageCompression.h) |
+| |
+| Besides Component Property API's, SGAudioChannel responds to the following |
+| old-style Sequence Grabber Channel property selectors: |
+| |
+| SGGetChannelUsage() |
+| SGSetChannelUsage() |
+| SGAudioChannel responds to the following usage flags: |
+| seqGrabRecord |
+| seqGrabPreview |
+| seqGrabPlayDuringRecord |
+| |
+| SGGetChannelInfo() |
+| |
+| SGGetChannelPlayFlags() |
+| SGSetChannelPlayFlags() |
+| SGAudioChannel responds to the following play flags: |
+| channelPlayPreMix |
+| channelPlayPostMix |
+| channelPlayPreConversion |
+| channelPlayPostConversion |
+| |
+| SGGetChannelRefCon() |
+| SGSetChannelRefCon() |
+| |
+| SGGetChannelTimeBase() |
+| |
+| SGSetChannelSettingsStateChanging() |
+| SGGetChannelSettings() |
+| SGSetChannelSettings() |
+| |
+| SGGetDataRate() |
+| |
+| SGGetChannelTimeScale() |
+| |
+ ------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * ComponentPropertyID constants used by SGAudioChannel
+ */
+enum {
+
+ /*
+ * kQTSGAudioPropertyID_DeviceListWithAttributes: Used to get a
+ * CFArray of CFDictionaryRef's. Each dictionary represents
+ * attributes of one audio device. See below for list of supported
+ * dictionary keys. Note: all keys are not guaranteed to be present
+ * for a given device. If the device list changes (i.e. a device is
+ * hotplugged or unplugged), listeners of this property will be
+ * notified. Note - caller is responsible for calling CFRelease() on
+ * the resulting CFArray.
+ */
+ kQTSGAudioPropertyID_DeviceListWithAttributes = FOUR_CHAR_CODE('#dva'), /* Data: CFArrayRef, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_DeviceAttributes: Used to get a
+ * CFDictionaryRef representing attributes of the specified audio
+ * device (record or preview). See below for list of supported
+ * dictionary keys. Note: all keys are not guaranteed to be present
+ * for a given device. Note - caller is responsible for calling
+ * CFRelease() on the resulting CFDictionary.
+ */
+ kQTSGAudioPropertyID_DeviceAttributes = FOUR_CHAR_CODE('deva'), /* Data: CFDictionaryRef, R/W/L: Read, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_DeviceUID: Used to get the audio device
+ * unique id for the current recording or preview, or set the current
+ * recording or preview device to the specified audio device unique
+ * id. You may obtain the list of devices on the system using
+ * kQTSGAudioPropertyID_DeviceListWithAttributes. Note - caller is
+ * responsible for calling CFRelease() on the resulting CFString.
+ */
+ kQTSGAudioPropertyID_DeviceUID = FOUR_CHAR_CODE('uid '), /* Data: CFStringRef, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_DeviceAlive: If the device in question dies
+ * (is hot unplugged) listeners of this property will be notified.
+ * If a record/preview operation is in progress, it will be stopped,
+ * but it is left to the client to select a new device.
+ */
+ kQTSGAudioPropertyID_DeviceAlive = FOUR_CHAR_CODE('aliv'), /* Data: Boolean, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_DeviceHogged: If the device in question
+ * becomes hogged or unhogged by another process, listeners of this
+ * property will be notified. SGAudioMediaType channel does not hogs
+ * devices, but if a client has reason to gain exclusive access to a
+ * device, he may set this property to his process id (obtained by
+ * calling getpid()).
+ */
+ kQTSGAudioPropertyID_DeviceHogged = FOUR_CHAR_CODE('hogg'), /* Data: pid_t, R/W/L: Read/Write/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_DeviceInUse: If the device in question starts
+ * to be used (for instance, another process starts performing i/o
+ * with the device), listeners of this property will be notified.
+ */
+ kQTSGAudioPropertyID_DeviceInUse = FOUR_CHAR_CODE('used'), /* Data: Boolean, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_HardwarePlaythruEnabled: Use this property to
+ * set hardware playthru during seqGrabPreview or
+ * seqGrabPlayDuringRecord operations. Setting this value will have
+ * no effect if the record device and preview device are not the
+ * same. Also, some devices do not support hardware playthru.
+ * Devices report whether or not they support this feature through
+ * the kQTSGAudioPropertyID_DeviceListWithAttributes property.
+ */
+ kQTSGAudioPropertyID_HardwarePlaythruEnabled = FOUR_CHAR_CODE('hard'), /* Data: Boolean, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudioRecordDevice */
+
+ /*
+ * kQTSGAudioPropertyID_ChannelLayout: Used to get/set a spatial or
+ * discrete channel layout. If used with kQTPropertyClass_SGAudio,
+ * the AudioChannelLayout refers to the channels in the resulting
+ * QuickTime movie sound track. If used with
+ * kQTPropertyClass_SGAudioRecordDevice, the AudioChannelLayout
+ * refers to the input channels on the record device. If used with
+ * kQTPropertyClass_SGAudioPreviewDevice, the AudioChannelLayout
+ * refers to the preview device output channels. Note -
+ * AudioChannelLayout is a variable size struct, so before calling
+ * QTGetComponentProperty, you should call QTGetComponentPropertyInfo
+ * to discover the size of the block of memory you should allocate to
+ * hold the result.
+ */
+ kQTSGAudioPropertyID_ChannelLayout = FOUR_CHAR_CODE('clay'), /* Data: AudioChannelLayout, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_ChannelMap: Allows a client to enable or
+ * disable channels on a recording device, as well as reorder them or
+ * duplicate them to several output channels. This property need not
+ * be set if a client wishes to capture all channels from the record
+ * device (this is the DEFAULT behavior). Each element in the SInt32
+ * array represents one output bus (into the SGAudioChannel) from the
+ * record device. The value of each element is the source channel
+ * (zero-based) on the input device that should feed the specified
+ * output. CHANNEL-DISABLING EXAMPLE: if you wish to capture just the
+ * 1st, 3rd, and 5th channels from a 6-channel input device, your
+ * channel map should be: SInt32 map[3] = { 0, 2, 4 }.
+ * CHANNEL-REORDERING EXAMPLE: if you wish to capture both channels
+ * from a stereo input device, but you know the left and right
+ * channels are reversed in the data source, you set your channel map
+ * to: SInt32 map[2] = { 1, 0 }. CHANNEL-DUPLICATION EXAMPLE: if you
+ * wish to duplicate the second source channel into 4 outputs, set
+ * your channel map thusly: SInt32 map[4] = { 1, 1, 1, 1 }. EMPTY
+ * CHANNEL EXAMPLE: if you need to produce a conformant stream of
+ * audio, say, a 6-channel stream to send to an external 5.1 AC3
+ * encoder, but you only have audio for the L, R, and C channels (on
+ * record device channels 0, 1, and 2), you may set your channel map
+ * thusly: SInt32 map[6] = { 0, 1, 2, -1, -1, -1 }. The last 3
+ * channels will be filled with silence.
+ */
+ kQTSGAudioPropertyID_ChannelMap = FOUR_CHAR_CODE('cmap'), /* Data: C-style array of SInt32's, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudioRecordDevice */
+
+ /*
+ * kQTSGAudioPropertyID_CodecSpecificSettingsArray: Used to get or
+ * set compressor-specific out-of-band settings. This property is
+ * only applicable when you are encoding to a compressed output
+ * format (i.e. AAC, AMR). This property is analogous to SCAudio's
+ * kQTSCAudioPropertyID_CodecSpecificSettingsArray property (defined
+ * in this header), or an AudioConverter's
+ * kAudioConverterPropertySettings property (defined in
+ * <AudioToolbox/AudioConverter.h"). Note that not all compressed
+ * formats expose a settings array. Older codecs may only expose a
+ * magic cookie for out-of-band data (see the following property).
+ * When an audio compressor exposes a settings array, prefer it over
+ * a magic cookie, as the settings array is richer. The
+ * CodecSpecificSettingsArray is a CFArray of CFDictionaries, where
+ * each dictionary represents one node in the audio converter's
+ * processing chain. The dictionary keys are defined in
+ * <AudioUnit/AudioCodec.h". For further information, see technotes:
+ * <http://developer.apple.com/qa/qa2006/qa1437.html>
+ * <http://developer.apple.com/qa/qa2006/qa1390.html>
+ */
+ kQTSGAudioPropertyID_CodecSpecificSettingsArray = FOUR_CHAR_CODE('cdst'), /* Data: CFArrayRef, Read/Write, Class(es): kQTPropertyClass_SGAudio*/
+
+ /*
+ * kQTSGAudioPropertyID_MagicCookie: Used to get or set
+ * compressor-specific out-of-band settings. This is property is
+ * only applicable to compressed formats that use a cookie. The
+ * kQTSGAudioPropertyID_CodecSpecificSettingsArray property should be
+ * preferred over kQTSGAudioPropertyID_MagicCookie whenever a
+ * compressor supports it.
+ */
+ kQTSGAudioPropertyID_MagicCookie = FOUR_CHAR_CODE('kuki'), /* Data: void * (opaque), R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_StreamFormat: For kQTPropertyClass_SGAudio,
+ * get/set the format of the audio as it will be written to the
+ * destination QuickTime movie track. For
+ * kQTPropertyClass_SGAudioRecordDevice, get/set the format of audio
+ * as it is physically recorded on the device (must be one of the
+ * formats passed in kQTSGAudioPropertyID_StreamFormatList) Note that
+ * the mChannelsPerFrame of the StreamFormat read from the
+ * RecordDevice will not reflect channels that have been enabled or
+ * disabled with the ChannelMap property.
+ */
+ kQTSGAudioPropertyID_StreamFormat = FOUR_CHAR_CODE('frmt'), /* Data: AudioStreamBasicDescription, R/W/L: Read/Write/Listen, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_StreamFormatList: Used to get an array of
+ * AudioStreamBasicDescriptions that describe valid combinations of
+ * settings supported by the physical device in its current
+ * configuration (sample rate, bit depth, number of channels).
+ */
+ kQTSGAudioPropertyID_StreamFormatList = FOUR_CHAR_CODE('#frm'), /* Data: C-style array of AudioStreamBasicDescription's, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_SoundDescription: The sound description that
+ * describes the data written to the QuickTime movie track. A
+ * QTGetComponentProperty call allocates the SoundDescriptionHandle
+ * for you. Caller should declare a SoundDescriptionHandle and set
+ * it to NULL, and pass its address to QTGetComponentProperty.
+ * Caller must DisposeHandle() the resulting SoundDescriptionHandle
+ * when done with it.
+ */
+ kQTSGAudioPropertyID_SoundDescription = FOUR_CHAR_CODE('snds'), /* Data: SoundDescriptionHandle, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_InputSelection: Some devices allow switching
+ * between data sources, such as analog, adat, sdi, aes/ebu, spdif.
+ * Use this property to change the current input selection. Note
+ * that when input selection changes, the StreamFormat of the device
+ * may change as well (In particular, the number of channels may
+ * change).
+ */
+ kQTSGAudioPropertyID_InputSelection = FOUR_CHAR_CODE('inpt'), /* Data: OSType, R/W/L: Read/Write/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice */
+
+ /*
+ * kQTSGAudioPropertyID_InputListWithAttributes: Used to get the list
+ * of available input sources for a given device. A CFArrayRef of
+ * CFDictionaryRef's is returned, where each CFDictionaryRef
+ * represents the attributes of one input (see below for a list of
+ * valid keys). The caller is responsible for CFRelease()'ing the
+ * returned array.
+ */
+ kQTSGAudioPropertyID_InputListWithAttributes = FOUR_CHAR_CODE('#inp'), /* Data: CFArrayRef, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioRecordDevice */
+
+ /*
+ * kQTSGAudioPropertyID_OutputSelection: Some devices allow switching
+ * between output destinations, such as analog, adat, sdi, aes/ebu,
+ * spdif. Use this property to change the current output selection.
+ * Note that when output selection changes, the StreamFormat of the
+ * device may change as well (In particular, the number of channels
+ * may change).
+ */
+ kQTSGAudioPropertyID_OutputSelection = FOUR_CHAR_CODE('otpt'), /* Data: OSType, R/W/L: Read/Write/Listen, Class(es): kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_OutputListWithAttributes: Used to get the
+ * list of available output destinations for a given device. A
+ * CFArrayRef of CFDictionaryRef's is returned, where each
+ * CFDictionaryRef represents the attributes of one output (see below
+ * for a list of valid keys). The caller is responsible for
+ * CFRelease()'ing the returned array.
+ */
+ kQTSGAudioPropertyID_OutputListWithAttributes = FOUR_CHAR_CODE('#otp'), /* Data: CFArrayRef, R/W/L: Read/Listen, Class(es): kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_LevelMetersEnabled: When used with
+ * kQTPropertyClass_SGAudioRecordDevice or
+ * kQTPropertyClass_SGAudioPreviewDevice, this turns device level
+ * metering on/off. When used with kQTPropertyClass_SGAudio, this
+ * turns output level metering on/off. When level meters are
+ * enabled, use kQTSGAudioPropertyID_AveragePowerLevels to get
+ * instantaneous levels. Use kQTSGAudioPropertyID_PeakHoldLevels to
+ * get peak-hold style meters (better for clipping detection, etc).
+ * Level meters should only be enabled if you intend to poll for
+ * levels, as they incur an added CPU load when enabled.
+ */
+ kQTSGAudioPropertyID_LevelMetersEnabled = FOUR_CHAR_CODE('lmet'), /* Data: Boolean, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice, kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_PeakHoldLevels:
+ * kQTSGAudioPropertyID_PeakHoldLevelsmay only be read when level
+ * meters are enabled. The result is an array of Float32 values, one
+ * for each channel on the device (or output) in question. values
+ * are in dB. Poll for PeakHoldLevels as often as you would like to
+ * update ui or look for clipping. Note that the number of elements
+ * in the float-32 array will be equal to the number of input
+ * channels on your record device for
+ * kQTPropertyClass_SGAudioRecordDevice (or the number of elements in
+ * your kQTSGAudioPropertyID_ChannelMap, if you've set one), equal to
+ * the number of output channels on your preview device for
+ * kQTPropertyClass_SGAudioPreviewDevice, and equal to the number of
+ * channels in your kQTSGAudioPropertyID_StreamFormat
+ * (format.mChannelsPerFrame) for kQTPropertyClass_SGAudio. Also
+ * note that if you have requested hardware playthru, level metering
+ * is unavailable. Also note that if no channel mixdown is being
+ * performed between record device and output formats, then
+ * kQTSGAudioPropertyID_PeakHoldLevels for
+ * kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudio
+ * will be equivalent.
+ */
+ kQTSGAudioPropertyID_PeakHoldLevels = FOUR_CHAR_CODE('phlv'), /* Data: C-style array of Float32's, R/W/L: Read, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice, kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_AveragePowerLevels:
+ * kQTSGAudioPropertyID_AveragePowerLevels may only be read when
+ * level meters are enabled. The result is an array of Float32
+ * values, one for each channel on the device (or output) in
+ * question. values are in dB. Poll for AveragePowerLevels as
+ * frequently as you would like to update ui. Note that the number
+ * of elements in the float-32 array will be equal to the number of
+ * input channels on your record device for
+ * kQTPropertyClass_SGAudioRecordDevice (or the number of elements in
+ * your kQTSGAudioPropertyID_ChannelMap, if you've set one), equal to
+ * the number of output channels on your preview device for
+ * kQTPropertyClass_SGAudioPreviewDevice, and equal to the number of
+ * channels in your kQTSGAudioPropertyID_StreamFormat
+ * (format.mChannelsPerFrame) for kQTPropertyClass_SGAudio. Also
+ * note that if you have requested hardware playthru, level metering
+ * is unavailable. Also note that if no channel mixdown is being
+ * performed between record device and output formats, then
+ * kQTSGAudioPropertyID_PeakHoldLevels for
+ * kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudio
+ * will be equivalent.
+ */
+ kQTSGAudioPropertyID_AveragePowerLevels = FOUR_CHAR_CODE('aplv'), /* Data: C-style array of Float32's, R/W/L: Read, Class(es): kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice, kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_MasterGain: With
+ * kQTPropertyClass_SGAudioRecordDevice, this property gets/sets
+ * master gain on the physical recording device with 0.0 = minimum
+ * volume and 1.0 = the max volume of the device. With
+ * kQTPropertyClass_SGAudioPreviewDevice, this property gets/sets
+ * master gain on the physical previewing device with 0.0 = minimum
+ * volume and 1.0 = the max volume of the device. With
+ * kQTPropertyClass_SGAudio, this property gets/sets the master gain
+ * (volume) of the recorded audio data in software (pre-mixdown) min
+ * = 0.0, max = unbounded. Normally you wouldn't set the volume
+ * greater than 1.0, but if the source material provided by the
+ * device is too soft, a gain of > 1.0 may be set to boost the gain.
+ * Note that some devices do not respond to this property setting.
+ */
+ kQTSGAudioPropertyID_MasterGain = FOUR_CHAR_CODE('mgan'), /* Data: Float32, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_PerChannelGain: With
+ * kQTPropertyClass_SGAudioRecordDevice, this property gets/sets the
+ * gain of each channel on the physical recording device. Note that
+ * the number of channels in the array for
+ * kQTPropertyClass_SGAudioRecordDevice and
+ * kQTPropertyClass_SGAudioPreviewDevice is equal to the total number
+ * of channels on the device, which can be discovered using the
+ * kQTSGAudioPropertyID_StreamFormat (on the recording device or
+ * preview device). The number of channels (and order of channels)
+ * in the array for the kQTPropertyClass_SGAudio class must
+ * correspond to the valence of channels on output (which is affected
+ * by a channel map, if you've set one). With
+ * kQTPropertyClass_SGAudio, this property gets/sets the gain
+ * (volume) of each channel of recorded audio data in software.
+ * Levels set on the record device or preview device must adhere to
+ * min = 0.0, max = 1.0. Levels set in software may be set to values
+ * greater than 1.0 in order to boost low signals. Caller may
+ * specify that a particular channel gain level should be left alone
+ * by setting the value to -1.0. For instance, to set the gain of
+ * channels 1, 2, and 3 to 0.5 on a 6 channel device, pass the
+ * following array values in a SetProperty call: { 0.5, 0.5, 0.5,
+ * -1., -1., -1. }.
+ */
+ kQTSGAudioPropertyID_PerChannelGain = FOUR_CHAR_CODE('cgan'), /* Data: C-style array of Float32's, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice */
+
+ /*
+ * kQTSGAudioPropertyID_GainScalarToDecibels: Both
+ * kQTSGAudioPropertyID_MasterGain and
+ * kQTSGAudioPropertyID_PerChannelGain properties express gain as a
+ * scalar floating point value from 0.0 - 1.0 (for
+ * kQTPropertyClass_SGAudioRecordDevice and
+ * kQTPropertyClass_SGAudioPreviewDevice classes), and from 0.0 - 1.0
+ * or greater (for kQTPropertyClass_SGAudio). For UI purposes, it
+ * may be useful to map the scalar gain value to a decibel value.
+ * kQTSGAudioPropertyID_GainScalarToDecibels is a read-only property
+ * that takes a Float32 scalar value and returns the corresponding
+ * decibel value for that scalar value. Note that this property uses
+ * the outPropValueAddress parameter of QTGetComponentProperty for
+ * both input and output. This property is available in QT 7.1 and
+ * later.
+ */
+ kQTSGAudioPropertyID_GainScalarToDecibels = FOUR_CHAR_CODE('gsdb'), /* Data: Float32, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio, kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudioPreviewDevice*/
+
+ /*
+ * kQTSGAudioPropertyID_MixerCoefficients: If you wish to perform a
+ * custom mix-down from the incoming record device channel valence
+ * (discoverable using a combination of
+ * kQTPropertyClass_SGAudioRecordDevice /
+ * kQTSGAudioPropertyID_StreamFormat &
+ * kQTPropertyClass_SGAudioRecordDevice /
+ * kQTSGAudioPropertyID_ChannelMap) to a different output number of
+ * channels
+ * (kQTPropertyClass_SGAudio-kQTSGAudioPropertyID_StreamFormat), you
+ * may specify your own set of mixer coefficients which will be set
+ * as volume values at each crosspoint in SGAudioMediaType's internal
+ * matrix mixer. The value you pass is a two-dimensional array of
+ * Float32's where the first dimension (rows) is the input channel
+ * and the second dimension (columns) is the output channel. Each
+ * Float32 value is the gain level to apply.
+ */
+ kQTSGAudioPropertyID_MixerCoefficients = FOUR_CHAR_CODE('mixc'), /* Data: C-style array of Float32's, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio*/
+
+ /*
+ * kQTSGAudioPropertyID_Settings: This property takes supercedes the
+ * SGGet/SetChannelSettings calls. SGAudioMediaType channel accepts
+ * old-style 'soun' SGChannel settings in a QTSetComponentProperty
+ * call, but always produces new-style settings in a
+ * QTGetComponentProperty call.
+ */
+ kQTSGAudioPropertyID_Settings = FOUR_CHAR_CODE('setu'), /* Data: UserData, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_ChunkSize: Use this property to get/set the
+ * number of seconds of audio that the SGAudioChannel should buffer
+ * before writing.
+ */
+ kQTSGAudioPropertyID_ChunkSize = FOUR_CHAR_CODE('chnk'), /* Data: Float32, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_SoftPreviewLatency: If previewing or playing
+ * thru while recording (and
+ * kQTSGAudioPropertyID_HardwarePlaythruEnabled is not in use), a
+ * client may specify in seconds the amount of latency to introduce
+ * before beginning playback. By default, soft preview latency is 0
+ * seconds. As soon as audio data arrives from the recording device,
+ * it is eligible to be played out to the preview device. This
+ * property may be of use if software preview breaks up due to the
+ * recording device not delivering samples fast enough for the
+ * preview device.
+ */
+ kQTSGAudioPropertyID_SoftPreviewLatency = FOUR_CHAR_CODE('slat'), /* Data: Float32, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_PreMixCallback: If you wish to receive a
+ * callback when new audio samples become available from the
+ * recording device (before they've been mixed down), set
+ * kQTSGAudioPropertyID_PreMixCallback using an SGAudioCallbackStruct
+ * containing a pointer to your SGAudioCallback function and a
+ * refcon. If you've previously registered a callback and no longer
+ * wish to receive it, call QTSetComponentProperty again, this time
+ * passing NULL for your inputProc and 0 for your inputRefCon.
+ */
+ kQTSGAudioPropertyID_PreMixCallback = FOUR_CHAR_CODE('_mxc'), /* Data: SGAudioCallbackStruct, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_PreMixCallbackFormat: Call
+ * QTGetComponentProperty with
+ * kQTSGAudioPropertyID_PreMixCallbackFormat to discover the format
+ * of the audio that will be received in your Pre-Mix
+ * SGAudioCallback. Note that the format may not be available until
+ * you've called SGPrepare().
+ */
+ kQTSGAudioPropertyID_PreMixCallbackFormat = FOUR_CHAR_CODE('_mcf'), /* Data: AudioStreamBasicDescription, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio*/
+
+ /*
+ * kQTSGAudioPropertyID_PostMixCallback: If you wish to receive a
+ * callback after audio samples have been mixed (the first step after
+ * they are received from a recording device by SGAudioMediaType
+ * channel), set kQTSGAudioPropertyID_PostMixCallback using an
+ * SGAudioCallbackStruct containing a pointer to your SGAudioCallback
+ * function and a refcon. If you've previously registered a callback
+ * and no longer wish to receive it, call QTSetComponentProperty
+ * again, this time passing NULL for your inputProc and 0 for your
+ * inputRefCon.
+ */
+ kQTSGAudioPropertyID_PostMixCallback = FOUR_CHAR_CODE('mx_c'), /* Data: SGAudioCallbackStruct, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_PostMixCallbackFormat: Call
+ * QTGetComponentProperty with
+ * kQTSGAudioPropertyID_PostMixCallbackFormat to discover the format
+ * of the audio that will be received in your Post-Mix
+ * SGAudioCallback. Note that the format may not be available until
+ * you've called SGPrepare().
+ */
+ kQTSGAudioPropertyID_PostMixCallbackFormat = FOUR_CHAR_CODE('m_cf'), /* Data: AudioStreamBasicDescription, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio*/
+
+ /*
+ * kQTSGAudioPropertyID_PreConversionCallback: If you wish to receive
+ * a callback just before audio samples are about to be sent through
+ * an AudioConverter (for format conversion or compression), set
+ * kQTSGAudioPropertyID_PreConversionCallback using an
+ * SGAudioCallbackStruct containing a pointer to your SGAudioCallback
+ * function and a refcon. If you've previously registered a callback
+ * and no longer wish to receive it, call QTSetComponentProperty
+ * again, this time passing NULL for your inputProc and 0 for your
+ * inputRefCon.
+ */
+ kQTSGAudioPropertyID_PreConversionCallback = FOUR_CHAR_CODE('_cvc'), /* Data: SGAudioCallbackStruct, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_PreConversionCallbackFormat: Call
+ * QTGetComponentProperty with
+ * kQTSGAudioPropertyID_PreConversionCallbackFormat to discover the
+ * format of the audio that will be received in your Pre-Conversion
+ * SGAudioCallback. Note that the format may not be available until
+ * you've called SGPrepare().
+ */
+ kQTSGAudioPropertyID_PreConversionCallbackFormat = FOUR_CHAR_CODE('_ccf'), /* Data: AudioStreamBasicDescription, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio*/
+
+ /*
+ * kQTSGAudioPropertyID_PostConversionCallback: If you wish to
+ * receive a callback right after audio samples have been sent
+ * through an AudioConverter (for format conversion or compression),
+ * set kQTSGAudioPropertyID_PostConversionCallback using an
+ * SGAudioCallbackStruct containing a pointer to your SGAudioCallback
+ * function and a refcon. If you've previously registered a callback
+ * and no longer wish to receive it, call QTSetComponentProperty
+ * again, this time passing NULL for your inputProc and 0 for your
+ * inputRefCon.
+ */
+ kQTSGAudioPropertyID_PostConversionCallback = FOUR_CHAR_CODE('cv_c'), /* Data: SGAudioCallbackStruct, R/W/L: Read/Write, Class(es): kQTPropertyClass_SGAudio */
+
+ /*
+ * kQTSGAudioPropertyID_PostConversionCallbackFormat: Call
+ * QTGetComponentProperty with
+ * kQTSGAudioPropertyID_PostConversionCallbackFormat to discover the
+ * format of the audio that will be received in your Post-Conversion
+ * SGAudioCallback. Note that the format may not be available until
+ * you've called SGPrepare().
+ */
+ kQTSGAudioPropertyID_PostConversionCallbackFormat = FOUR_CHAR_CODE('c_cf') /* Data: AudioStreamBasicDescription, R/W/L: Read, Class(es): kQTPropertyClass_SGAudio*/
+};
+
+
+
+/* -----------------------------------------------------------------------------
+| |
+| SGAudioMediaType Channel - Device Attribute Keys |
+| |
+| These dictionary keys may be used to parse CFDictionaries returned by |
+| kQTSGAudioPropertyID_DeviceListWithAttributes & |
+| kQTSGAudioPropertyID_DeviceAttributes |
+| |
+ ------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Device Attribute Key constants used by SGAudioChannel
+ */
+enum {
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceUIDKey: value = CFStringRef. A
+ * unique identifier for the device.
+ */
+ kQTAudioDeviceAttribute_DeviceUIDKey = kQTSGAudioPropertyID_DeviceUID,
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceNameKey: value = CFStringRef. The
+ * device printable name (suitable for gui).
+ */
+ kQTAudioDeviceAttribute_DeviceNameKey = FOUR_CHAR_CODE('name'),
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceManufacturerKey: value =
+ * CFStringRef. Device manufacturer printable name (suitable for
+ * gui).
+ */
+ kQTAudioDeviceAttribute_DeviceManufacturerKey = FOUR_CHAR_CODE('manu'),
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceTransportTypeKey: value =
+ * CFNumberRef. Wraps an OSType (i.e. '1394' for fw, see
+ * IOAudioTypes.h).
+ */
+ kQTAudioDeviceAttribute_DeviceTransportTypeKey = FOUR_CHAR_CODE('tran'),
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceAliveKey: value = CFBooleanRef.
+ * True if device is present.
+ */
+ kQTAudioDeviceAttribute_DeviceAliveKey = kQTSGAudioPropertyID_DeviceAlive,
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceCanRecordKey: value = CFBooleanRef.
+ * True if device can be used for recording (some can only do
+ * playback)
+ */
+ kQTAudioDeviceAttribute_DeviceCanRecordKey = FOUR_CHAR_CODE('rec '),
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceCanPreviewKey: value = CFBooleanRef.
+ * True if device can be used to preview a grab.
+ */
+ kQTAudioDeviceAttribute_DeviceCanPreviewKey = FOUR_CHAR_CODE('prev'),
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceHoggedKey: value = CFNumberRef.
+ * CFNumber wraps the unique process ID that is hogging the device,
+ * or -1 if the device is currently not being hogged. Process id
+ * comes from getpid().
+ */
+ kQTAudioDeviceAttribute_DeviceHoggedKey = kQTSGAudioPropertyID_DeviceHogged,
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceInUseKey: value = CFBooleanRef.
+ * True if someone is performing IO w/ the device (in any process).
+ */
+ kQTAudioDeviceAttribute_DeviceInUseKey = kQTSGAudioPropertyID_DeviceInUse,
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceSupportsHardwarePlaythruKey: value =
+ * CFBooleanRef. True if the device supports hardware playthru of
+ * inputs to outputs.
+ */
+ kQTAudioDeviceAttribute_DeviceSupportsHardwarePlaythruKey = FOUR_CHAR_CODE('hard'),
+
+ /*
+ * kQTAudioDeviceAttribute_InputSelectionKey: value = CFNumberRef.
+ * CFNumber wraps an OSType (device may or may not have an input
+ * selection)
+ */
+ kQTAudioDeviceAttribute_InputSelectionKey = kQTSGAudioPropertyID_InputSelection,
+
+ /*
+ * kQTAudioDeviceAttribute_InputListWithAttributesKey: value =
+ * CFArrayRef. Same as kQTSGAudioPropertyID_InputListWithAttributes.
+ */
+ kQTAudioDeviceAttribute_InputListWithAttributesKey = kQTSGAudioPropertyID_InputListWithAttributes,
+ kQTAudioDeviceAttribute_OutputSelectionKey = kQTSGAudioPropertyID_OutputSelection,
+
+ /*
+ * kQTAudioDeviceAttribute_OutputListWithAttributesKey: value =
+ * CFArrayRef. Same as kQTSGAudioPropertyID_OutputListWithAttributes.
+ */
+ kQTAudioDeviceAttribute_OutputListWithAttributesKey = kQTSGAudioPropertyID_OutputListWithAttributes,
+
+ /*
+ * kQTAudioDeviceAttribute_DefaultInputDeviceKey: value =
+ * CFBooleanRef. True if it's the user-selected default input in
+ * AudioMidiSetup.
+ */
+ kQTAudioDeviceAttribute_DefaultInputDeviceKey = FOUR_CHAR_CODE('dIn '),
+
+ /*
+ * kQTAudioDeviceAttribute_DefaultOutputDeviceKey: value =
+ * CFBooleanRef. True if it's the user-selected default output in
+ * AudioMidiSetup.
+ */
+ kQTAudioDeviceAttribute_DefaultOutputDeviceKey = FOUR_CHAR_CODE('dOut'),
+
+ /*
+ * kQTAudioDeviceAttribute_DefaultSystemOutputDeviceKey: value =
+ * CFBooleanRef. True if it's the user-selected device where system
+ * alerts plays.
+ */
+ kQTAudioDeviceAttribute_DefaultSystemOutputDeviceKey = FOUR_CHAR_CODE('sOut'),
+
+ /*
+ * kQTAudioDeviceAttribute_IsCoreAudioDeviceKey: value =
+ * CFBooleanRef. True if the device is a Core Audio device.
+ */
+ kQTAudioDeviceAttribute_IsCoreAudioDeviceKey = FOUR_CHAR_CODE('hal!')
+};
+
+
+/* -----------------------------------------------------------------------------
+| |
+| SGAudioMediaType Channel - Device Attribute Keys for Inputs & Outputs |
+| |
+| These dictionary keys may be used to parse CFDictionaries returned by |
+| kQTSGAudioPropertyID_InputListWithAttributes & |
+| kQTSGAudioPropertyID_OutputListWithAttributes. |
+| |
+ ------------------------------------------------------------------------------*/
+
+/*
+ * Summary:
+ * Device Attribute Key constants for Inputs and Outputs used by
+ * SGAudioChannel
+ */
+enum {
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceInputID: value = CFNumberRef that
+ * wraps an OSType.
+ */
+ kQTAudioDeviceAttribute_DeviceInputID = FOUR_CHAR_CODE('inID'),
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceInputDescription: value =
+ * CFStringRef containing a string suitable for ui display.
+ */
+ kQTAudioDeviceAttribute_DeviceInputDescription = FOUR_CHAR_CODE('inds'),
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceOutputID: value = CFNumberRef that
+ * wraps an OSType.
+ */
+ kQTAudioDeviceAttribute_DeviceOutputID = FOUR_CHAR_CODE('otID'),
+
+ /*
+ * kQTAudioDeviceAttribute_DeviceOutputDescription: value =
+ * CFStringRef containing a string suitable for ui display.
+ */
+ kQTAudioDeviceAttribute_DeviceOutputDescription = FOUR_CHAR_CODE('otds')
+};
+
+
+/* -----------------------------------------------------------------------------
+| |
+| SG SETTINGS CODES USED BY SGAudioMediaType SGChannel |
+| |
+ ------------------------------------------------------------------------------*/
+enum {
+ sgcAudioRecordDeviceSettingsAtom = kQTPropertyClass_SGAudioRecordDevice,
+ sgcAudioPreviewDeviceSettingsAtom = kQTPropertyClass_SGAudioPreviewDevice,
+ sgcAudioOutputSettingsAtom = kQTPropertyClass_SGAudio,
+ sgcAudioSettingsVersion = FOUR_CHAR_CODE('vers'),
+ sgcAudioDeviceUID = kQTAudioDeviceAttribute_DeviceUIDKey,
+ sgcAudioDeviceName = kQTAudioDeviceAttribute_DeviceNameKey,
+ sgcAudioStreamFormat = kQTSGAudioPropertyID_StreamFormat,
+ sgcAudioInputSelection = kQTSGAudioPropertyID_InputSelection,
+ sgcAudioOutputSelection = kQTSGAudioPropertyID_OutputSelection,
+ sgcAudioChannelMap = kQTSGAudioPropertyID_ChannelMap,
+ sgcAudioMasterGain = kQTSGAudioPropertyID_MasterGain,
+ sgcAudioPerChannelGain = kQTSGAudioPropertyID_PerChannelGain,
+ sgcAudioLevelMetersEnabled = kQTSGAudioPropertyID_LevelMetersEnabled,
+ sgcAudioChannelLayout = kQTSGAudioPropertyID_ChannelLayout,
+ sgcAudioCodecSpecificSettingsArray = kQTSGAudioPropertyID_CodecSpecificSettingsArray,
+ sgcAudioMagicCookie = kQTSGAudioPropertyID_MagicCookie,
+ sgcAudioHardwarePlaythruEnabled = kQTSGAudioPropertyID_HardwarePlaythruEnabled,
+ sgcAudioMixerCoefficients = kQTSGAudioPropertyID_MixerCoefficients,
+ sgcAudioChunkSize = kQTSGAudioPropertyID_ChunkSize,
+ sgcAudioSoftPreviewLatency = kQTSGAudioPropertyID_SoftPreviewLatency
+};
+
+/* -----------------------------------------------------------------------------
+| |
+| SGAudioMediaType Channel Callback Declarations |
+| |
+ ------------------------------------------------------------------------------*/
+
+typedef UInt32 SGAudioCallbackFlags;
+
+/*
+ * SGAudioCallback
+ *
+ * Discussion:
+ * Clients define an SGAudioCallback to tap into an SGAudio channel,
+ * and gain access to its data at various point along the signal
+ * flow chain. Clients should be aware that they may be called back
+ * on threads other than the thread on which they registered for the
+ * callback. They should do as little work as possible inside their
+ * callback, returning control as soon as possible to the calling
+ * SGAudio channel.
+ *
+ * Parameters:
+ *
+ * c:
+ * The SGChannel originating this callback
+ *
+ * inRefCon:
+ * The refCon assigned by the client when filling out an
+ * SGAudioCallbackStruct
+ *
+ * ioFlags:
+ * This flags field is currently unused.
+ *
+ * inTimeStamp:
+ * The time stamp associated with the first sample passed in inData
+ *
+ * inNumberPackets:
+ * The number of data packets (if dealing with LPCM formats,
+ * number of packets is the same as number of frames) held in
+ * inData.
+ *
+ * inData:
+ * A bufferlist containing the requested sample data.
+ *
+ * inPacketDescriptions:
+ * If the packets contained in inData are of variable size,
+ * inPacketDescriptions will contain an array of inNumberPackets
+ * packet descriptions.
+ *
+ * Result:
+ * OSStatus Your SGAudioCallback function should return noErr.
+ */
+typedef CALLBACK_API_C( OSStatus , SGAudioCallback )(SGChannel c, void *inRefCon, SGAudioCallbackFlags *ioFlags, const AudioTimeStamp *inTimeStamp, const UInt32 *inNumberPackets, const AudioBufferList *inData, const AudioStreamPacketDescription *inPacketDescriptions);
+struct SGAudioCallbackStruct {
+ SGAudioCallback inputProc;
+ void * inputProcRefCon;
+};
+typedef struct SGAudioCallbackStruct SGAudioCallbackStruct;
#endif /* TARGET_OS_MAC */
- /*** Sequence Grab SOUND CHANNEL Component Stuff ***/
-
- /*
- Sound stuff
- */
- /*
- * SGSetSoundInputDriver()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetSoundInputDriver(
- SGChannel c,
- ConstStr255Param driverName) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * SGGetSoundInputDriver()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- SGGetSoundInputDriver(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * SGSoundInputDriverChanged()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSoundInputDriverChanged(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * SGSetSoundRecordChunkSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetSoundRecordChunkSize(
- SGChannel c,
- long seconds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * SGGetSoundRecordChunkSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(long)
- SGGetSoundRecordChunkSize(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * SGSetSoundInputRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetSoundInputRate(
- SGChannel c,
- Fixed rate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * SGGetSoundInputRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(Fixed)
- SGGetSoundInputRate(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * SGSetSoundInputParameters()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetSoundInputParameters(
- SGChannel c,
- short sampleSize,
- short numChannels,
- OSType compressionType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * SGGetSoundInputParameters()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetSoundInputParameters(
- SGChannel c,
- short * sampleSize,
- short * numChannels,
- OSType * compressionType) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0108, 0x7000, 0xA82A);
-
-
- /*
- * SGSetAdditionalSoundRates()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetAdditionalSoundRates(
- SGChannel c,
- Handle rates) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
-
-
- /*
- * SGGetAdditionalSoundRates()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetAdditionalSoundRates(
- SGChannel c,
- Handle * rates) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
-
-
- /*
- Text stuff
- */
- /*
- * SGSetFontName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetFontName(
- SGChannel c,
- StringPtr pstr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * SGSetFontSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetFontSize(
- SGChannel c,
- short fontSize) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * SGSetTextForeColor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetTextForeColor(
- SGChannel c,
- RGBColor * theColor) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * SGSetTextBackColor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetTextBackColor(
- SGChannel c,
- RGBColor * theColor) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * SGSetJustification()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetJustification(
- SGChannel c,
- short just) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0104, 0x7000, 0xA82A);
-
-
- /*
- * SGGetTextReturnToSpaceValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetTextReturnToSpaceValue(
- SGChannel c,
- short * rettospace) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * SGSetTextReturnToSpaceValue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetTextReturnToSpaceValue(
- SGChannel c,
- short rettospace) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- Music stuff
- */
- /*
- * SGGetInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGGetInstrument(
- SGChannel c,
- ToneDescription * td) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * SGSetInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- SGSetInstrument(
- SGChannel c,
- ToneDescription * td) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
-
- enum
- {
- sgChannelAtom = FOUR_CHAR_CODE('chan'),
- sgChannelSettingsAtom = FOUR_CHAR_CODE('ctom'),
- sgChannelDescription = FOUR_CHAR_CODE('cdsc'),
- sgChannelSettings = FOUR_CHAR_CODE('cset')
- };
-
- enum
- {
- sgDeviceNameType = FOUR_CHAR_CODE('name'),
- sgDeviceDisplayNameType = FOUR_CHAR_CODE('dnam'),
- sgDeviceUIDType = FOUR_CHAR_CODE('duid'),
- sgInputUIDType = FOUR_CHAR_CODE('iuid'),
- sgUsageType = FOUR_CHAR_CODE('use '),
- sgPlayFlagsType = FOUR_CHAR_CODE('plyf'),
- sgClipType = FOUR_CHAR_CODE('clip'),
- sgMatrixType = FOUR_CHAR_CODE('mtrx'),
- sgVolumeType = FOUR_CHAR_CODE('volu')
- };
-
- enum
- {
- sgPanelSettingsAtom = FOUR_CHAR_CODE('ptom'),
- sgPanelDescription = FOUR_CHAR_CODE('pdsc'),
- sgPanelSettings = FOUR_CHAR_CODE('pset')
- };
-
- enum
- {
- sgcSoundCompressionType = FOUR_CHAR_CODE('scmp'),
- sgcSoundCodecSettingsType = FOUR_CHAR_CODE('cdec'),
- sgcSoundSampleRateType = FOUR_CHAR_CODE('srat'),
- sgcSoundChannelCountType = FOUR_CHAR_CODE('schn'),
- sgcSoundSampleSizeType = FOUR_CHAR_CODE('ssiz'),
- sgcSoundInputType = FOUR_CHAR_CODE('sinp'),
- sgcSoundGainType = FOUR_CHAR_CODE('gain')
- };
-
- enum
- {
- sgcVideoHueType = FOUR_CHAR_CODE('hue '),
- sgcVideoSaturationType = FOUR_CHAR_CODE('satr'),
- sgcVideoContrastType = FOUR_CHAR_CODE('trst'),
- sgcVideoSharpnessType = FOUR_CHAR_CODE('shrp'),
- sgcVideoBrigtnessType = FOUR_CHAR_CODE('brit'),
- sgcVideoBlackLevelType = FOUR_CHAR_CODE('blkl'),
- sgcVideoWhiteLevelType = FOUR_CHAR_CODE('whtl'),
- sgcVideoInputType = FOUR_CHAR_CODE('vinp'),
- sgcVideoFormatType = FOUR_CHAR_CODE('vstd'),
- sgcVideoFilterType = FOUR_CHAR_CODE('vflt'),
- sgcVideoRectType = FOUR_CHAR_CODE('vrct'),
- sgcVideoDigitizerType = FOUR_CHAR_CODE('vdig')
- };
-
-
-
-
-
- typedef ComponentInstance QTVideoOutputComponent;
- /* Component type and subtype enumerations*/
- enum
- {
- QTVideoOutputComponentType = FOUR_CHAR_CODE('vout'),
- QTVideoOutputComponentBaseSubType = FOUR_CHAR_CODE('base')
- };
-
-
- /* QTVideoOutput Component flags*/
-
- enum
- {
- kQTVideoOutputDontDisplayToUser = 1L << 0
- };
-
- /* Display mode atom types*/
-
- enum
- {
- kQTVODisplayModeItem = FOUR_CHAR_CODE('qdmi'),
- kQTVODimensions = FOUR_CHAR_CODE('dimn'), /* atom contains two longs - pixel count - width, height*/
- kQTVOResolution = FOUR_CHAR_CODE('resl'), /* atom contains two Fixed - hRes, vRes in dpi*/
- kQTVORefreshRate = FOUR_CHAR_CODE('refr'), /* atom contains one Fixed - refresh rate in Hz*/
- kQTVOPixelType = FOUR_CHAR_CODE('pixl'), /* atom contains one OSType - pixel format of mode*/
- kQTVOName = FOUR_CHAR_CODE('name'), /* atom contains string (no length byte) - name of mode for display to user*/
- kQTVODecompressors = FOUR_CHAR_CODE('deco'), /* atom contains other atoms indicating supported decompressors*/
- /* kQTVODecompressors sub-atoms*/
- kQTVODecompressorType = FOUR_CHAR_CODE('dety'), /* atom contains one OSType - decompressor type code*/
- kQTVODecompressorContinuous = FOUR_CHAR_CODE('cont'), /* atom contains one Boolean - true if this type is displayed continuously*/
- kQTVODecompressorComponent = FOUR_CHAR_CODE('cmpt') /* atom contains one Component - component id of decompressor*/
- };
-
- /** These are QTVideoOutput procedures **/
- /*
- * QTVideoOutputGetDisplayModeList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetDisplayModeList(
- QTVideoOutputComponent vo,
- QTAtomContainer * outputs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputGetCurrentClientName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetCurrentClientName(
- QTVideoOutputComponent vo,
- Str255 str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputSetClientName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputSetClientName(
- QTVideoOutputComponent vo,
- ConstStr255Param str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputGetClientName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetClientName(
- QTVideoOutputComponent vo,
- Str255 str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputBegin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputBegin(QTVideoOutputComponent vo) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputEnd()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputEnd(QTVideoOutputComponent vo) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputSetDisplayMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputSetDisplayMode(
- QTVideoOutputComponent vo,
- long displayModeID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputGetDisplayMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetDisplayMode(
- QTVideoOutputComponent vo,
- long * displayModeID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputCustomConfigureDisplay()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputCustomConfigureDisplay(
- QTVideoOutputComponent vo,
- ModalFilterUPP filter) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputSaveState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputSaveState(
- QTVideoOutputComponent vo,
- QTAtomContainer * state) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputRestoreState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputRestoreState(
- QTVideoOutputComponent vo,
- QTAtomContainer state) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputGetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetGWorld(
- QTVideoOutputComponent vo,
- GWorldPtr * gw) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputGetGWorldParameters()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetGWorldParameters(
- QTVideoOutputComponent vo,
- Ptr * baseAddr,
- long * rowBytes,
- CTabHandle * colorTable) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputGetIndSoundOutput()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetIndSoundOutput(
- QTVideoOutputComponent vo,
- long index,
- Component * outputComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputGetClock()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetClock(
- QTVideoOutputComponent vo,
- ComponentInstance * clock) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputSetEchoPort()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputSetEchoPort(
- QTVideoOutputComponent vo,
- CGrafPtr echoPort) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputGetIndImageDecompressor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputGetIndImageDecompressor(
- QTVideoOutputComponent vo,
- long index,
- Component * codec) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputBaseSetEchoPort()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in qtmlClient.lib 6.0 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputBaseSetEchoPort(
- QTVideoOutputComponent vo,
- CGrafPtr echoPort) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * QTVideoOutputCopyIndAudioOutputDeviceUID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
- * Windows: in qtmlClient.lib 6.5 and later
- */
- EXTERN_API(ComponentResult)
- QTVideoOutputCopyIndAudioOutputDeviceUID(
- QTVideoOutputComponent vo,
- long index,
- CFStringRef * audioDeviceUID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
-
-
- /* UPP call backs */
- /*
- * NewDataHCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DataHCompletionUPP)
- NewDataHCompletionUPP(DataHCompletionProcPtr userRoutine);
+/*** Sequence Grab SOUND CHANNEL Component Stuff ***/
+
+/*
+ Sound stuff
+*/
+/*
+ * SGSetSoundInputDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetSoundInputDriver(
+ SGChannel c,
+ ConstStr255Param driverName) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetSoundInputDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+SGGetSoundInputDriver(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * SGSoundInputDriverChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSoundInputDriverChanged(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetSoundRecordChunkSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetSoundRecordChunkSize(
+ SGChannel c,
+ long seconds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetSoundRecordChunkSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( long )
+SGGetSoundRecordChunkSize(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetSoundInputRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetSoundInputRate(
+ SGChannel c,
+ Fixed rate) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetSoundInputRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( Fixed )
+SGGetSoundInputRate(SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetSoundInputParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetSoundInputParameters(
+ SGChannel c,
+ short sampleSize,
+ short numChannels,
+ OSType compressionType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetSoundInputParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetSoundInputParameters(
+ SGChannel c,
+ short * sampleSize,
+ short * numChannels,
+ OSType * compressionType) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0108, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetAdditionalSoundRates()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetAdditionalSoundRates(
+ SGChannel c,
+ Handle rates) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetAdditionalSoundRates()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetAdditionalSoundRates(
+ SGChannel c,
+ Handle * rates) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
+
+
+/*
+ Text stuff
+*/
+/*
+ * SGSetFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetFontName(
+ SGChannel c,
+ StringPtr pstr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetFontSize(
+ SGChannel c,
+ short fontSize) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetTextForeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetTextForeColor(
+ SGChannel c,
+ RGBColor * theColor) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetTextBackColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetTextBackColor(
+ SGChannel c,
+ RGBColor * theColor) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetJustification()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetJustification(
+ SGChannel c,
+ short just) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0104, 0x7000, 0xA82A);
+
+
+/*
+ * SGGetTextReturnToSpaceValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetTextReturnToSpaceValue(
+ SGChannel c,
+ short * rettospace) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetTextReturnToSpaceValue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetTextReturnToSpaceValue(
+ SGChannel c,
+ short rettospace) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ Music stuff
+*/
+/*
+ * SGGetInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGGetInstrument(
+ SGChannel c,
+ ToneDescription * td) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * SGSetInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+SGSetInstrument(
+ SGChannel c,
+ ToneDescription * td) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+
+enum {
+ sgChannelAtom = FOUR_CHAR_CODE('chan'),
+ sgChannelSettingsAtom = FOUR_CHAR_CODE('ctom'),
+ sgChannelDescription = FOUR_CHAR_CODE('cdsc'),
+ sgChannelSettings = FOUR_CHAR_CODE('cset')
+};
+
+enum {
+ sgDeviceNameType = FOUR_CHAR_CODE('name'),
+ sgDeviceDisplayNameType = FOUR_CHAR_CODE('dnam'),
+ sgDeviceUIDType = FOUR_CHAR_CODE('duid'),
+ sgInputUIDType = FOUR_CHAR_CODE('iuid'),
+ sgUsageType = FOUR_CHAR_CODE('use '),
+ sgPlayFlagsType = FOUR_CHAR_CODE('plyf'),
+ sgClipType = FOUR_CHAR_CODE('clip'),
+ sgMatrixType = FOUR_CHAR_CODE('mtrx'),
+ sgVolumeType = FOUR_CHAR_CODE('volu')
+};
+
+enum {
+ sgPanelSettingsAtom = FOUR_CHAR_CODE('ptom'),
+ sgPanelDescription = FOUR_CHAR_CODE('pdsc'),
+ sgPanelSettings = FOUR_CHAR_CODE('pset')
+};
+
+enum {
+ sgcSoundCompressionType = FOUR_CHAR_CODE('scmp'),
+ sgcSoundCodecSettingsType = FOUR_CHAR_CODE('cdec'),
+ sgcSoundSampleRateType = FOUR_CHAR_CODE('srat'),
+ sgcSoundChannelCountType = FOUR_CHAR_CODE('schn'),
+ sgcSoundSampleSizeType = FOUR_CHAR_CODE('ssiz'),
+ sgcSoundInputType = FOUR_CHAR_CODE('sinp'),
+ sgcSoundGainType = FOUR_CHAR_CODE('gain')
+};
+
+enum {
+ sgcVideoHueType = FOUR_CHAR_CODE('hue '),
+ sgcVideoSaturationType = FOUR_CHAR_CODE('satr'),
+ sgcVideoContrastType = FOUR_CHAR_CODE('trst'),
+ sgcVideoSharpnessType = FOUR_CHAR_CODE('shrp'),
+ sgcVideoBrigtnessType = FOUR_CHAR_CODE('brit'),
+ sgcVideoBlackLevelType = FOUR_CHAR_CODE('blkl'),
+ sgcVideoWhiteLevelType = FOUR_CHAR_CODE('whtl'),
+ sgcVideoInputType = FOUR_CHAR_CODE('vinp'),
+ sgcVideoFormatType = FOUR_CHAR_CODE('vstd'),
+ sgcVideoFilterType = FOUR_CHAR_CODE('vflt'),
+ sgcVideoRectType = FOUR_CHAR_CODE('vrct'),
+ sgcVideoDigitizerType = FOUR_CHAR_CODE('vdig')
+};
+
+
+
+
+
+typedef ComponentInstance QTVideoOutputComponent;
+/* Component type and subtype enumerations*/
+enum {
+ QTVideoOutputComponentType = FOUR_CHAR_CODE('vout'),
+ QTVideoOutputComponentBaseSubType = FOUR_CHAR_CODE('base')
+};
+
+
+/* QTVideoOutput Component flags*/
+
+enum {
+ kQTVideoOutputDontDisplayToUser = 1L << 0
+};
+
+/* Display mode atom types*/
+
+enum {
+ kQTVODisplayModeItem = FOUR_CHAR_CODE('qdmi'),
+ kQTVODimensions = FOUR_CHAR_CODE('dimn'), /* atom contains two longs - pixel count - width, height*/
+ kQTVOResolution = FOUR_CHAR_CODE('resl'), /* atom contains two Fixed - hRes, vRes in dpi*/
+ kQTVORefreshRate = FOUR_CHAR_CODE('refr'), /* atom contains one Fixed - refresh rate in Hz*/
+ kQTVOPixelType = FOUR_CHAR_CODE('pixl'), /* atom contains one OSType - pixel format of mode*/
+ kQTVOName = FOUR_CHAR_CODE('name'), /* atom contains string (no length byte) - name of mode for display to user*/
+ kQTVODecompressors = FOUR_CHAR_CODE('deco'), /* atom contains other atoms indicating supported decompressors*/
+ /* kQTVODecompressors sub-atoms*/
+ kQTVODecompressorType = FOUR_CHAR_CODE('dety'), /* atom contains one OSType - decompressor type code*/
+ kQTVODecompressorContinuous = FOUR_CHAR_CODE('cont'), /* atom contains one Boolean - true if this type is displayed continuously*/
+ kQTVODecompressorComponent = FOUR_CHAR_CODE('cmpt') /* atom contains one Component - component id of decompressor*/
+};
+
+/** These are QTVideoOutput procedures **/
+/*
+ * QTVideoOutputGetDisplayModeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetDisplayModeList(
+ QTVideoOutputComponent vo,
+ QTAtomContainer * outputs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputGetCurrentClientName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetCurrentClientName(
+ QTVideoOutputComponent vo,
+ Str255 str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputSetClientName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputSetClientName(
+ QTVideoOutputComponent vo,
+ ConstStr255Param str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputGetClientName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetClientName(
+ QTVideoOutputComponent vo,
+ Str255 str) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputBegin(QTVideoOutputComponent vo) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputEnd(QTVideoOutputComponent vo) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputSetDisplayMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputSetDisplayMode(
+ QTVideoOutputComponent vo,
+ long displayModeID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputGetDisplayMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetDisplayMode(
+ QTVideoOutputComponent vo,
+ long * displayModeID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputCustomConfigureDisplay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputCustomConfigureDisplay(
+ QTVideoOutputComponent vo,
+ ModalFilterUPP filter) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputSaveState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputSaveState(
+ QTVideoOutputComponent vo,
+ QTAtomContainer * state) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputRestoreState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputRestoreState(
+ QTVideoOutputComponent vo,
+ QTAtomContainer state) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputGetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetGWorld(
+ QTVideoOutputComponent vo,
+ GWorldPtr * gw) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputGetGWorldParameters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetGWorldParameters(
+ QTVideoOutputComponent vo,
+ Ptr * baseAddr,
+ long * rowBytes,
+ CTabHandle * colorTable) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputGetIndSoundOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetIndSoundOutput(
+ QTVideoOutputComponent vo,
+ long index,
+ Component * outputComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputGetClock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetClock(
+ QTVideoOutputComponent vo,
+ ComponentInstance * clock) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputSetEchoPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputSetEchoPort(
+ QTVideoOutputComponent vo,
+ CGrafPtr echoPort) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputGetIndImageDecompressor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in qtmlClient.lib 5.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputGetIndImageDecompressor(
+ QTVideoOutputComponent vo,
+ long index,
+ Component * codec) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputBaseSetEchoPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in qtmlClient.lib 6.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputBaseSetEchoPort(
+ QTVideoOutputComponent vo,
+ CGrafPtr echoPort) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * QTVideoOutputCopyIndAudioOutputDeviceUID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.3 (or QuickTime 6.4) and later
+ * Windows: in qtmlClient.lib 6.5 and later
+ */
+EXTERN_API( ComponentResult )
+QTVideoOutputCopyIndAudioOutputDeviceUID(
+ QTVideoOutputComponent vo,
+ long index,
+ CFStringRef * audioDeviceUID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
+
+
+/* UPP call backs */
+/*
+ * NewDataHCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DataHCompletionUPP )
+NewDataHCompletionUPP(DataHCompletionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDataHCompletionProcInfo = 0x00000BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DataHCompletionUPP) NewDataHCompletionUPP(DataHCompletionProcPtr userRoutine)
- {
- return (DataHCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDataHCompletionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDataHCompletionUPP(userRoutine) (DataHCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDataHCompletionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDataHCompletionProcInfo = 0x00000BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DataHCompletionUPP) NewDataHCompletionUPP(DataHCompletionProcPtr userRoutine) { return (DataHCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDataHCompletionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDataHCompletionUPP(userRoutine) (DataHCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDataHCompletionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewVdigIntUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(VdigIntUPP)
- NewVdigIntUPP(VdigIntProcPtr userRoutine);
+/*
+ * NewVdigIntUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( VdigIntUPP )
+NewVdigIntUPP(VdigIntProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppVdigIntProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(VdigIntUPP) NewVdigIntUPP(VdigIntProcPtr userRoutine)
- {
- return (VdigIntUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVdigIntProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewVdigIntUPP(userRoutine) (VdigIntUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVdigIntProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppVdigIntProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(VdigIntUPP) NewVdigIntUPP(VdigIntProcPtr userRoutine) { return (VdigIntUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVdigIntProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewVdigIntUPP(userRoutine) (VdigIntUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVdigIntProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewStartDocumentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(StartDocumentHandlerUPP)
- NewStartDocumentHandlerUPP(StartDocumentHandler userRoutine);
+/*
+ * NewStartDocumentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( StartDocumentHandlerUPP )
+NewStartDocumentHandlerUPP(StartDocumentHandler userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppStartDocumentHandlerProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(StartDocumentHandlerUPP) NewStartDocumentHandlerUPP(StartDocumentHandler userRoutine)
- {
- return (StartDocumentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStartDocumentHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewStartDocumentHandlerUPP(userRoutine) (StartDocumentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStartDocumentHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppStartDocumentHandlerProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(StartDocumentHandlerUPP) NewStartDocumentHandlerUPP(StartDocumentHandler userRoutine) { return (StartDocumentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStartDocumentHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewStartDocumentHandlerUPP(userRoutine) (StartDocumentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStartDocumentHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewEndDocumentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EndDocumentHandlerUPP)
- NewEndDocumentHandlerUPP(EndDocumentHandler userRoutine);
+/*
+ * NewEndDocumentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EndDocumentHandlerUPP )
+NewEndDocumentHandlerUPP(EndDocumentHandler userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppEndDocumentHandlerProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(EndDocumentHandlerUPP) NewEndDocumentHandlerUPP(EndDocumentHandler userRoutine)
- {
- return (EndDocumentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEndDocumentHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewEndDocumentHandlerUPP(userRoutine) (EndDocumentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEndDocumentHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppEndDocumentHandlerProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EndDocumentHandlerUPP) NewEndDocumentHandlerUPP(EndDocumentHandler userRoutine) { return (EndDocumentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEndDocumentHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEndDocumentHandlerUPP(userRoutine) (EndDocumentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEndDocumentHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewStartElementHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(StartElementHandlerUPP)
- NewStartElementHandlerUPP(StartElementHandler userRoutine);
+/*
+ * NewStartElementHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( StartElementHandlerUPP )
+NewStartElementHandlerUPP(StartElementHandler userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppStartElementHandlerProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(StartElementHandlerUPP) NewStartElementHandlerUPP(StartElementHandler userRoutine)
- {
- return (StartElementHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStartElementHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewStartElementHandlerUPP(userRoutine) (StartElementHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStartElementHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppStartElementHandlerProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(StartElementHandlerUPP) NewStartElementHandlerUPP(StartElementHandler userRoutine) { return (StartElementHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStartElementHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewStartElementHandlerUPP(userRoutine) (StartElementHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStartElementHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewEndElementHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EndElementHandlerUPP)
- NewEndElementHandlerUPP(EndElementHandler userRoutine);
+/*
+ * NewEndElementHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EndElementHandlerUPP )
+NewEndElementHandlerUPP(EndElementHandler userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppEndElementHandlerProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(EndElementHandlerUPP) NewEndElementHandlerUPP(EndElementHandler userRoutine)
- {
- return (EndElementHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEndElementHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewEndElementHandlerUPP(userRoutine) (EndElementHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEndElementHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppEndElementHandlerProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EndElementHandlerUPP) NewEndElementHandlerUPP(EndElementHandler userRoutine) { return (EndElementHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEndElementHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEndElementHandlerUPP(userRoutine) (EndElementHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEndElementHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCharDataHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CharDataHandlerUPP)
- NewCharDataHandlerUPP(CharDataHandler userRoutine);
+/*
+ * NewCharDataHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CharDataHandlerUPP )
+NewCharDataHandlerUPP(CharDataHandler userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCharDataHandlerProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CharDataHandlerUPP) NewCharDataHandlerUPP(CharDataHandler userRoutine)
- {
- return (CharDataHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCharDataHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCharDataHandlerUPP(userRoutine) (CharDataHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCharDataHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCharDataHandlerProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CharDataHandlerUPP) NewCharDataHandlerUPP(CharDataHandler userRoutine) { return (CharDataHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCharDataHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCharDataHandlerUPP(userRoutine) (CharDataHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCharDataHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewPreprocessInstructionHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(PreprocessInstructionHandlerUPP)
- NewPreprocessInstructionHandlerUPP(PreprocessInstructionHandler userRoutine);
+/*
+ * NewPreprocessInstructionHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PreprocessInstructionHandlerUPP )
+NewPreprocessInstructionHandlerUPP(PreprocessInstructionHandler userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppPreprocessInstructionHandlerProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(PreprocessInstructionHandlerUPP) NewPreprocessInstructionHandlerUPP(PreprocessInstructionHandler userRoutine)
- {
- return (PreprocessInstructionHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPreprocessInstructionHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewPreprocessInstructionHandlerUPP(userRoutine) (PreprocessInstructionHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPreprocessInstructionHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppPreprocessInstructionHandlerProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PreprocessInstructionHandlerUPP) NewPreprocessInstructionHandlerUPP(PreprocessInstructionHandler userRoutine) { return (PreprocessInstructionHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPreprocessInstructionHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPreprocessInstructionHandlerUPP(userRoutine) (PreprocessInstructionHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPreprocessInstructionHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCommentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CommentHandlerUPP)
- NewCommentHandlerUPP(CommentHandler userRoutine);
+/*
+ * NewCommentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CommentHandlerUPP )
+NewCommentHandlerUPP(CommentHandler userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCommentHandlerProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CommentHandlerUPP) NewCommentHandlerUPP(CommentHandler userRoutine)
- {
- return (CommentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCommentHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCommentHandlerUPP(userRoutine) (CommentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCommentHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCommentHandlerProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CommentHandlerUPP) NewCommentHandlerUPP(CommentHandler userRoutine) { return (CommentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCommentHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCommentHandlerUPP(userRoutine) (CommentHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCommentHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCDataHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CDataHandlerUPP)
- NewCDataHandlerUPP(CDataHandler userRoutine);
+/*
+ * NewCDataHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CDataHandlerUPP )
+NewCDataHandlerUPP(CDataHandler userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCDataHandlerProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CDataHandlerUPP) NewCDataHandlerUPP(CDataHandler userRoutine)
- {
- return (CDataHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCDataHandlerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCDataHandlerUPP(userRoutine) (CDataHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCDataHandlerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCDataHandlerProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CDataHandlerUPP) NewCDataHandlerUPP(CDataHandler userRoutine) { return (CDataHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCDataHandlerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCDataHandlerUPP(userRoutine) (CDataHandlerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCDataHandlerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGDataUPP)
- NewSGDataUPP(SGDataProcPtr userRoutine);
+/*
+ * NewSGDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGDataUPP )
+NewSGDataUPP(SGDataProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGDataProcInfo = 0x003BFFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGDataUPP) NewSGDataUPP(SGDataProcPtr userRoutine)
- {
- return (SGDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDataProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGDataUPP(userRoutine) (SGDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDataProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGDataProcInfo = 0x003BFFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGDataUPP) NewSGDataUPP(SGDataProcPtr userRoutine) { return (SGDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDataProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGDataUPP(userRoutine) (SGDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDataProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGModalFilterUPP)
- NewSGModalFilterUPP(SGModalFilterProcPtr userRoutine);
+/*
+ * NewSGModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGModalFilterUPP )
+NewSGModalFilterUPP(SGModalFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGModalFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGModalFilterUPP) NewSGModalFilterUPP(SGModalFilterProcPtr userRoutine)
- {
- return (SGModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGModalFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGModalFilterUPP(userRoutine) (SGModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGModalFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGModalFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGModalFilterUPP) NewSGModalFilterUPP(SGModalFilterProcPtr userRoutine) { return (SGModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGModalFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGModalFilterUPP(userRoutine) (SGModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGModalFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGGrabBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGGrabBottleUPP)
- NewSGGrabBottleUPP(SGGrabBottleProcPtr userRoutine);
+/*
+ * NewSGGrabBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGGrabBottleUPP )
+NewSGGrabBottleUPP(SGGrabBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGGrabBottleProcInfo = 0x00000EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGGrabBottleUPP) NewSGGrabBottleUPP(SGGrabBottleProcPtr userRoutine)
- {
- return (SGGrabBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGGrabBottleUPP(userRoutine) (SGGrabBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGGrabBottleProcInfo = 0x00000EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGGrabBottleUPP) NewSGGrabBottleUPP(SGGrabBottleProcPtr userRoutine) { return (SGGrabBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGGrabBottleUPP(userRoutine) (SGGrabBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGGrabCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGGrabCompleteBottleUPP)
- NewSGGrabCompleteBottleUPP(SGGrabCompleteBottleProcPtr userRoutine);
+/*
+ * NewSGGrabCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGGrabCompleteBottleUPP )
+NewSGGrabCompleteBottleUPP(SGGrabCompleteBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGGrabCompleteBottleProcInfo = 0x00003EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGGrabCompleteBottleUPP) NewSGGrabCompleteBottleUPP(SGGrabCompleteBottleProcPtr userRoutine)
- {
- return (SGGrabCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompleteBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGGrabCompleteBottleUPP(userRoutine) (SGGrabCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompleteBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGGrabCompleteBottleProcInfo = 0x00003EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGGrabCompleteBottleUPP) NewSGGrabCompleteBottleUPP(SGGrabCompleteBottleProcPtr userRoutine) { return (SGGrabCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompleteBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGGrabCompleteBottleUPP(userRoutine) (SGGrabCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompleteBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGDisplayBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGDisplayBottleUPP)
- NewSGDisplayBottleUPP(SGDisplayBottleProcPtr userRoutine);
+/*
+ * NewSGDisplayBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGDisplayBottleUPP )
+NewSGDisplayBottleUPP(SGDisplayBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGDisplayBottleProcInfo = 0x0000FEF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGDisplayBottleUPP) NewSGDisplayBottleUPP(SGDisplayBottleProcPtr userRoutine)
- {
- return (SGDisplayBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGDisplayBottleUPP(userRoutine) (SGDisplayBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGDisplayBottleProcInfo = 0x0000FEF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGDisplayBottleUPP) NewSGDisplayBottleUPP(SGDisplayBottleProcPtr userRoutine) { return (SGDisplayBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGDisplayBottleUPP(userRoutine) (SGDisplayBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGCompressBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGCompressBottleUPP)
- NewSGCompressBottleUPP(SGCompressBottleProcPtr userRoutine);
+/*
+ * NewSGCompressBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGCompressBottleUPP )
+NewSGCompressBottleUPP(SGCompressBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGCompressBottleProcInfo = 0x00000EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGCompressBottleUPP) NewSGCompressBottleUPP(SGCompressBottleProcPtr userRoutine)
- {
- return (SGCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGCompressBottleUPP(userRoutine) (SGCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGCompressBottleProcInfo = 0x00000EF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGCompressBottleUPP) NewSGCompressBottleUPP(SGCompressBottleProcPtr userRoutine) { return (SGCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGCompressBottleUPP(userRoutine) (SGCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGCompressCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGCompressCompleteBottleUPP)
- NewSGCompressCompleteBottleUPP(SGCompressCompleteBottleProcPtr userRoutine);
+/*
+ * NewSGCompressCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGCompressCompleteBottleUPP )
+NewSGCompressCompleteBottleUPP(SGCompressCompleteBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGCompressCompleteBottleProcInfo = 0x0000FEF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGCompressCompleteBottleUPP) NewSGCompressCompleteBottleUPP(SGCompressCompleteBottleProcPtr userRoutine)
- {
- return (SGCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressCompleteBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGCompressCompleteBottleUPP(userRoutine) (SGCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressCompleteBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGCompressCompleteBottleProcInfo = 0x0000FEF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGCompressCompleteBottleUPP) NewSGCompressCompleteBottleUPP(SGCompressCompleteBottleProcPtr userRoutine) { return (SGCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressCompleteBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGCompressCompleteBottleUPP(userRoutine) (SGCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressCompleteBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGAddFrameBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGAddFrameBottleUPP)
- NewSGAddFrameBottleUPP(SGAddFrameBottleProcPtr userRoutine);
+/*
+ * NewSGAddFrameBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGAddFrameBottleUPP )
+NewSGAddFrameBottleUPP(SGAddFrameBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGAddFrameBottleProcInfo = 0x0003FEF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGAddFrameBottleUPP) NewSGAddFrameBottleUPP(SGAddFrameBottleProcPtr userRoutine)
- {
- return (SGAddFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGAddFrameBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGAddFrameBottleUPP(userRoutine) (SGAddFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGAddFrameBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGAddFrameBottleProcInfo = 0x0003FEF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGAddFrameBottleUPP) NewSGAddFrameBottleUPP(SGAddFrameBottleProcPtr userRoutine) { return (SGAddFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGAddFrameBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGAddFrameBottleUPP(userRoutine) (SGAddFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGAddFrameBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGTransferFrameBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGTransferFrameBottleUPP)
- NewSGTransferFrameBottleUPP(SGTransferFrameBottleProcPtr userRoutine);
+/*
+ * NewSGTransferFrameBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGTransferFrameBottleUPP )
+NewSGTransferFrameBottleUPP(SGTransferFrameBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGTransferFrameBottleProcInfo = 0x0000FEF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGTransferFrameBottleUPP) NewSGTransferFrameBottleUPP(SGTransferFrameBottleProcPtr userRoutine)
- {
- return (SGTransferFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGTransferFrameBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGTransferFrameBottleUPP(userRoutine) (SGTransferFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGTransferFrameBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGTransferFrameBottleProcInfo = 0x0000FEF0 }; /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGTransferFrameBottleUPP) NewSGTransferFrameBottleUPP(SGTransferFrameBottleProcPtr userRoutine) { return (SGTransferFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGTransferFrameBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGTransferFrameBottleUPP(userRoutine) (SGTransferFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGTransferFrameBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGGrabCompressCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGGrabCompressCompleteBottleUPP)
- NewSGGrabCompressCompleteBottleUPP(SGGrabCompressCompleteBottleProcPtr userRoutine);
+/*
+ * NewSGGrabCompressCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGGrabCompressCompleteBottleUPP )
+NewSGGrabCompressCompleteBottleUPP(SGGrabCompressCompleteBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGGrabCompressCompleteBottleProcInfo = 0x0000FFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGGrabCompressCompleteBottleUPP) NewSGGrabCompressCompleteBottleUPP(SGGrabCompressCompleteBottleProcPtr userRoutine)
- {
- return (SGGrabCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompressCompleteBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGGrabCompressCompleteBottleUPP(userRoutine) (SGGrabCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompressCompleteBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGGrabCompressCompleteBottleProcInfo = 0x0000FFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGGrabCompressCompleteBottleUPP) NewSGGrabCompressCompleteBottleUPP(SGGrabCompressCompleteBottleProcPtr userRoutine) { return (SGGrabCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompressCompleteBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGGrabCompressCompleteBottleUPP(userRoutine) (SGGrabCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompressCompleteBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSGDisplayCompressBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SGDisplayCompressBottleUPP)
- NewSGDisplayCompressBottleUPP(SGDisplayCompressBottleProcPtr userRoutine);
+/*
+ * NewSGDisplayCompressBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SGDisplayCompressBottleUPP )
+NewSGDisplayCompressBottleUPP(SGDisplayCompressBottleProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSGDisplayCompressBottleProcInfo = 0x0003FFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SGDisplayCompressBottleUPP) NewSGDisplayCompressBottleUPP(SGDisplayCompressBottleProcPtr userRoutine)
- {
- return (SGDisplayCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayCompressBottleProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSGDisplayCompressBottleUPP(userRoutine) (SGDisplayCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayCompressBottleProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSGDisplayCompressBottleProcInfo = 0x0003FFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SGDisplayCompressBottleUPP) NewSGDisplayCompressBottleUPP(SGDisplayCompressBottleProcPtr userRoutine) { return (SGDisplayCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayCompressBottleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSGDisplayCompressBottleUPP(userRoutine) (SGDisplayCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayCompressBottleProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDataHCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDataHCompletionUPP(DataHCompletionUPP userUPP);
+/*
+ * DisposeDataHCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDataHCompletionUPP(DataHCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDataHCompletionUPP(DataHCompletionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDataHCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDataHCompletionUPP(DataHCompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDataHCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeVdigIntUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeVdigIntUPP(VdigIntUPP userUPP);
+/*
+ * DisposeVdigIntUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeVdigIntUPP(VdigIntUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeVdigIntUPP(VdigIntUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeVdigIntUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeVdigIntUPP(VdigIntUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeVdigIntUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeStartDocumentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeStartDocumentHandlerUPP(StartDocumentHandlerUPP userUPP);
+/*
+ * DisposeStartDocumentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeStartDocumentHandlerUPP(StartDocumentHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeStartDocumentHandlerUPP(StartDocumentHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeStartDocumentHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeStartDocumentHandlerUPP(StartDocumentHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeStartDocumentHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeEndDocumentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeEndDocumentHandlerUPP(EndDocumentHandlerUPP userUPP);
+/*
+ * DisposeEndDocumentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEndDocumentHandlerUPP(EndDocumentHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeEndDocumentHandlerUPP(EndDocumentHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeEndDocumentHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeEndDocumentHandlerUPP(EndDocumentHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeEndDocumentHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeStartElementHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeStartElementHandlerUPP(StartElementHandlerUPP userUPP);
+/*
+ * DisposeStartElementHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeStartElementHandlerUPP(StartElementHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeStartElementHandlerUPP(StartElementHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeStartElementHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeStartElementHandlerUPP(StartElementHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeStartElementHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeEndElementHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeEndElementHandlerUPP(EndElementHandlerUPP userUPP);
+/*
+ * DisposeEndElementHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEndElementHandlerUPP(EndElementHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeEndElementHandlerUPP(EndElementHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeEndElementHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeEndElementHandlerUPP(EndElementHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeEndElementHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCharDataHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCharDataHandlerUPP(CharDataHandlerUPP userUPP);
+/*
+ * DisposeCharDataHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCharDataHandlerUPP(CharDataHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCharDataHandlerUPP(CharDataHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCharDataHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCharDataHandlerUPP(CharDataHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCharDataHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposePreprocessInstructionHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposePreprocessInstructionHandlerUPP(PreprocessInstructionHandlerUPP userUPP);
+/*
+ * DisposePreprocessInstructionHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePreprocessInstructionHandlerUPP(PreprocessInstructionHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposePreprocessInstructionHandlerUPP(PreprocessInstructionHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposePreprocessInstructionHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePreprocessInstructionHandlerUPP(PreprocessInstructionHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePreprocessInstructionHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCommentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCommentHandlerUPP(CommentHandlerUPP userUPP);
+/*
+ * DisposeCommentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCommentHandlerUPP(CommentHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCommentHandlerUPP(CommentHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCommentHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCommentHandlerUPP(CommentHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCommentHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCDataHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- DisposeCDataHandlerUPP(CDataHandlerUPP userUPP);
+/*
+ * DisposeCDataHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+DisposeCDataHandlerUPP(CDataHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCDataHandlerUPP(CDataHandlerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCDataHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCDataHandlerUPP(CDataHandlerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCDataHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGDataUPP(SGDataUPP userUPP);
+/*
+ * DisposeSGDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGDataUPP(SGDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGDataUPP(SGDataUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGDataUPP(SGDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGModalFilterUPP(SGModalFilterUPP userUPP);
+/*
+ * DisposeSGModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGModalFilterUPP(SGModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGModalFilterUPP(SGModalFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGModalFilterUPP(SGModalFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGGrabBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGGrabBottleUPP(SGGrabBottleUPP userUPP);
+/*
+ * DisposeSGGrabBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGGrabBottleUPP(SGGrabBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGGrabBottleUPP(SGGrabBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGGrabBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGGrabBottleUPP(SGGrabBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGGrabBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGGrabCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGGrabCompleteBottleUPP(SGGrabCompleteBottleUPP userUPP);
+/*
+ * DisposeSGGrabCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGGrabCompleteBottleUPP(SGGrabCompleteBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGGrabCompleteBottleUPP(SGGrabCompleteBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGGrabCompleteBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGGrabCompleteBottleUPP(SGGrabCompleteBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGGrabCompleteBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGDisplayBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGDisplayBottleUPP(SGDisplayBottleUPP userUPP);
+/*
+ * DisposeSGDisplayBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGDisplayBottleUPP(SGDisplayBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGDisplayBottleUPP(SGDisplayBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGDisplayBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGDisplayBottleUPP(SGDisplayBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGDisplayBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGCompressBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGCompressBottleUPP(SGCompressBottleUPP userUPP);
+/*
+ * DisposeSGCompressBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGCompressBottleUPP(SGCompressBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGCompressBottleUPP(SGCompressBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGCompressBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGCompressBottleUPP(SGCompressBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGCompressBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGCompressCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGCompressCompleteBottleUPP(SGCompressCompleteBottleUPP userUPP);
+/*
+ * DisposeSGCompressCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGCompressCompleteBottleUPP(SGCompressCompleteBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGCompressCompleteBottleUPP(SGCompressCompleteBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGCompressCompleteBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGCompressCompleteBottleUPP(SGCompressCompleteBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGCompressCompleteBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGAddFrameBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGAddFrameBottleUPP(SGAddFrameBottleUPP userUPP);
+/*
+ * DisposeSGAddFrameBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGAddFrameBottleUPP(SGAddFrameBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGAddFrameBottleUPP(SGAddFrameBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGAddFrameBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGAddFrameBottleUPP(SGAddFrameBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGAddFrameBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGTransferFrameBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGTransferFrameBottleUPP(SGTransferFrameBottleUPP userUPP);
+/*
+ * DisposeSGTransferFrameBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGTransferFrameBottleUPP(SGTransferFrameBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGTransferFrameBottleUPP(SGTransferFrameBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGTransferFrameBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGTransferFrameBottleUPP(SGTransferFrameBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGTransferFrameBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGGrabCompressCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGGrabCompressCompleteBottleUPP(SGGrabCompressCompleteBottleUPP userUPP);
+/*
+ * DisposeSGGrabCompressCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGGrabCompressCompleteBottleUPP(SGGrabCompressCompleteBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGGrabCompressCompleteBottleUPP(SGGrabCompressCompleteBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGGrabCompressCompleteBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGGrabCompressCompleteBottleUPP(SGGrabCompressCompleteBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGGrabCompressCompleteBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSGDisplayCompressBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSGDisplayCompressBottleUPP(SGDisplayCompressBottleUPP userUPP);
+/*
+ * DisposeSGDisplayCompressBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSGDisplayCompressBottleUPP(SGDisplayCompressBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSGDisplayCompressBottleUPP(SGDisplayCompressBottleUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSGDisplayCompressBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSGDisplayCompressBottleUPP(SGDisplayCompressBottleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSGDisplayCompressBottleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDataHCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDataHCompletionUPP(
- Ptr request,
- long refcon,
- OSErr err,
- DataHCompletionUPP userUPP);
+/*
+ * InvokeDataHCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDataHCompletionUPP(
+ Ptr request,
+ long refcon,
+ OSErr err,
+ DataHCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDataHCompletionUPP(Ptr request, long refcon, OSErr err, DataHCompletionUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppDataHCompletionProcInfo, request, refcon, err);
- }
-#else
-#define InvokeDataHCompletionUPP(request, refcon, err, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDataHCompletionProcInfo, (request), (refcon), (err))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDataHCompletionUPP(Ptr request, long refcon, OSErr err, DataHCompletionUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppDataHCompletionProcInfo, request, refcon, err); }
+ #else
+ #define InvokeDataHCompletionUPP(request, refcon, err, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppDataHCompletionProcInfo, (request), (refcon), (err))
+ #endif
#endif
- /*
- * InvokeVdigIntUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeVdigIntUPP(
- long flags,
- long refcon,
- VdigIntUPP userUPP);
+/*
+ * InvokeVdigIntUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeVdigIntUPP(
+ long flags,
+ long refcon,
+ VdigIntUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeVdigIntUPP(long flags, long refcon, VdigIntUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppVdigIntProcInfo, flags, refcon);
- }
-#else
-#define InvokeVdigIntUPP(flags, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppVdigIntProcInfo, (flags), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeVdigIntUPP(long flags, long refcon, VdigIntUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppVdigIntProcInfo, flags, refcon); }
+ #else
+ #define InvokeVdigIntUPP(flags, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppVdigIntProcInfo, (flags), (refcon))
+ #endif
#endif
- /*
- * InvokeStartDocumentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeStartDocumentHandlerUPP(
- long refcon,
- StartDocumentHandlerUPP userUPP);
+/*
+ * InvokeStartDocumentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeStartDocumentHandlerUPP(
+ long refcon,
+ StartDocumentHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeStartDocumentHandlerUPP(long refcon, StartDocumentHandlerUPP userUPP)
- {
- return (ComponentResult)CALL_ONE_PARAMETER_UPP(userUPP, uppStartDocumentHandlerProcInfo, refcon);
- }
-#else
-#define InvokeStartDocumentHandlerUPP(refcon, userUPP) (ComponentResult)CALL_ONE_PARAMETER_UPP((userUPP), uppStartDocumentHandlerProcInfo, (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeStartDocumentHandlerUPP(long refcon, StartDocumentHandlerUPP userUPP) { return (ComponentResult)CALL_ONE_PARAMETER_UPP(userUPP, uppStartDocumentHandlerProcInfo, refcon); }
+ #else
+ #define InvokeStartDocumentHandlerUPP(refcon, userUPP) (ComponentResult)CALL_ONE_PARAMETER_UPP((userUPP), uppStartDocumentHandlerProcInfo, (refcon))
+ #endif
#endif
- /*
- * InvokeEndDocumentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeEndDocumentHandlerUPP(
- long refcon,
- EndDocumentHandlerUPP userUPP);
+/*
+ * InvokeEndDocumentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeEndDocumentHandlerUPP(
+ long refcon,
+ EndDocumentHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeEndDocumentHandlerUPP(long refcon, EndDocumentHandlerUPP userUPP)
- {
- return (ComponentResult)CALL_ONE_PARAMETER_UPP(userUPP, uppEndDocumentHandlerProcInfo, refcon);
- }
-#else
-#define InvokeEndDocumentHandlerUPP(refcon, userUPP) (ComponentResult)CALL_ONE_PARAMETER_UPP((userUPP), uppEndDocumentHandlerProcInfo, (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeEndDocumentHandlerUPP(long refcon, EndDocumentHandlerUPP userUPP) { return (ComponentResult)CALL_ONE_PARAMETER_UPP(userUPP, uppEndDocumentHandlerProcInfo, refcon); }
+ #else
+ #define InvokeEndDocumentHandlerUPP(refcon, userUPP) (ComponentResult)CALL_ONE_PARAMETER_UPP((userUPP), uppEndDocumentHandlerProcInfo, (refcon))
+ #endif
#endif
- /*
- * InvokeStartElementHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeStartElementHandlerUPP(
- const char * name,
- const char ** atts,
- long refcon,
- StartElementHandlerUPP userUPP);
+/*
+ * InvokeStartElementHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeStartElementHandlerUPP(
+ const char * name,
+ const char ** atts,
+ long refcon,
+ StartElementHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeStartElementHandlerUPP(const char * name, const char ** atts, long refcon, StartElementHandlerUPP userUPP)
- {
- return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppStartElementHandlerProcInfo, name, atts, refcon);
- }
-#else
-#define InvokeStartElementHandlerUPP(name, atts, refcon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppStartElementHandlerProcInfo, (name), (atts), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeStartElementHandlerUPP(const char * name, const char ** atts, long refcon, StartElementHandlerUPP userUPP) { return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppStartElementHandlerProcInfo, name, atts, refcon); }
+ #else
+ #define InvokeStartElementHandlerUPP(name, atts, refcon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppStartElementHandlerProcInfo, (name), (atts), (refcon))
+ #endif
#endif
- /*
- * InvokeEndElementHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeEndElementHandlerUPP(
- const char * name,
- long refcon,
- EndElementHandlerUPP userUPP);
+/*
+ * InvokeEndElementHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeEndElementHandlerUPP(
+ const char * name,
+ long refcon,
+ EndElementHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeEndElementHandlerUPP(const char * name, long refcon, EndElementHandlerUPP userUPP)
- {
- return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppEndElementHandlerProcInfo, name, refcon);
- }
-#else
-#define InvokeEndElementHandlerUPP(name, refcon, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppEndElementHandlerProcInfo, (name), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeEndElementHandlerUPP(const char * name, long refcon, EndElementHandlerUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppEndElementHandlerProcInfo, name, refcon); }
+ #else
+ #define InvokeEndElementHandlerUPP(name, refcon, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppEndElementHandlerProcInfo, (name), (refcon))
+ #endif
#endif
- /*
- * InvokeCharDataHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeCharDataHandlerUPP(
- const char * charData,
- long refcon,
- CharDataHandlerUPP userUPP);
+/*
+ * InvokeCharDataHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeCharDataHandlerUPP(
+ const char * charData,
+ long refcon,
+ CharDataHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeCharDataHandlerUPP(const char * charData, long refcon, CharDataHandlerUPP userUPP)
- {
- return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppCharDataHandlerProcInfo, charData, refcon);
- }
-#else
-#define InvokeCharDataHandlerUPP(charData, refcon, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppCharDataHandlerProcInfo, (charData), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeCharDataHandlerUPP(const char * charData, long refcon, CharDataHandlerUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppCharDataHandlerProcInfo, charData, refcon); }
+ #else
+ #define InvokeCharDataHandlerUPP(charData, refcon, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppCharDataHandlerProcInfo, (charData), (refcon))
+ #endif
#endif
- /*
- * InvokePreprocessInstructionHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokePreprocessInstructionHandlerUPP(
- const char * name,
- const char *const atts[],
- long refcon,
- PreprocessInstructionHandlerUPP userUPP);
+/*
+ * InvokePreprocessInstructionHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokePreprocessInstructionHandlerUPP(
+ const char * name,
+ const char *const atts[],
+ long refcon,
+ PreprocessInstructionHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokePreprocessInstructionHandlerUPP(const char * name, const char *const atts[], long refcon, PreprocessInstructionHandlerUPP userUPP)
- {
- return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppPreprocessInstructionHandlerProcInfo, name, atts, refcon);
- }
-#else
-#define InvokePreprocessInstructionHandlerUPP(name, atts, refcon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppPreprocessInstructionHandlerProcInfo, (name), (atts), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokePreprocessInstructionHandlerUPP(const char * name, const char *const atts[], long refcon, PreprocessInstructionHandlerUPP userUPP) { return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppPreprocessInstructionHandlerProcInfo, name, atts, refcon); }
+ #else
+ #define InvokePreprocessInstructionHandlerUPP(name, atts, refcon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppPreprocessInstructionHandlerProcInfo, (name), (atts), (refcon))
+ #endif
#endif
- /*
- * InvokeCommentHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeCommentHandlerUPP(
- const char * comment,
- long refcon,
- CommentHandlerUPP userUPP);
+/*
+ * InvokeCommentHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeCommentHandlerUPP(
+ const char * comment,
+ long refcon,
+ CommentHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeCommentHandlerUPP(const char * comment, long refcon, CommentHandlerUPP userUPP)
- {
- return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppCommentHandlerProcInfo, comment, refcon);
- }
-#else
-#define InvokeCommentHandlerUPP(comment, refcon, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppCommentHandlerProcInfo, (comment), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeCommentHandlerUPP(const char * comment, long refcon, CommentHandlerUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppCommentHandlerProcInfo, comment, refcon); }
+ #else
+ #define InvokeCommentHandlerUPP(comment, refcon, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppCommentHandlerProcInfo, (comment), (refcon))
+ #endif
#endif
- /*
- * InvokeCDataHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeCDataHandlerUPP(
- const char * cdata,
- long refcon,
- CDataHandlerUPP userUPP);
+/*
+ * InvokeCDataHandlerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeCDataHandlerUPP(
+ const char * cdata,
+ long refcon,
+ CDataHandlerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeCDataHandlerUPP(const char * cdata, long refcon, CDataHandlerUPP userUPP)
- {
- return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppCDataHandlerProcInfo, cdata, refcon);
- }
-#else
-#define InvokeCDataHandlerUPP(cdata, refcon, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppCDataHandlerProcInfo, (cdata), (refcon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeCDataHandlerUPP(const char * cdata, long refcon, CDataHandlerUPP userUPP) { return (ComponentResult)CALL_TWO_PARAMETER_UPP(userUPP, uppCDataHandlerProcInfo, cdata, refcon); }
+ #else
+ #define InvokeCDataHandlerUPP(cdata, refcon, userUPP) (ComponentResult)CALL_TWO_PARAMETER_UPP((userUPP), uppCDataHandlerProcInfo, (cdata), (refcon))
+ #endif
#endif
- /*
- * InvokeSGDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeSGDataUPP(
- SGChannel c,
- Ptr p,
- long len,
- long * offset,
- long chRefCon,
- TimeValue time,
- short writeType,
- long refCon,
- SGDataUPP userUPP);
+/*
+ * InvokeSGDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeSGDataUPP(
+ SGChannel c,
+ Ptr p,
+ long len,
+ long * offset,
+ long chRefCon,
+ TimeValue time,
+ short writeType,
+ long refCon,
+ SGDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeSGDataUPP(SGChannel c, Ptr p, long len, long * offset, long chRefCon, TimeValue time, short writeType, long refCon, SGDataUPP userUPP)
- {
- return (OSErr)CALL_EIGHT_PARAMETER_UPP(userUPP, uppSGDataProcInfo, c, p, len, offset, chRefCon, time, writeType, refCon);
- }
-#else
-#define InvokeSGDataUPP(c, p, len, offset, chRefCon, time, writeType, refCon, userUPP) (OSErr)CALL_EIGHT_PARAMETER_UPP((userUPP), uppSGDataProcInfo, (c), (p), (len), (offset), (chRefCon), (time), (writeType), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeSGDataUPP(SGChannel c, Ptr p, long len, long * offset, long chRefCon, TimeValue time, short writeType, long refCon, SGDataUPP userUPP) { return (OSErr)CALL_EIGHT_PARAMETER_UPP(userUPP, uppSGDataProcInfo, c, p, len, offset, chRefCon, time, writeType, refCon); }
+ #else
+ #define InvokeSGDataUPP(c, p, len, offset, chRefCon, time, writeType, refCon, userUPP) (OSErr)CALL_EIGHT_PARAMETER_UPP((userUPP), uppSGDataProcInfo, (c), (p), (len), (offset), (chRefCon), (time), (writeType), (refCon))
+ #endif
#endif
- /*
- * InvokeSGModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeSGModalFilterUPP(
- DialogRef theDialog,
- const EventRecord * theEvent,
- short * itemHit,
- long refCon,
- SGModalFilterUPP userUPP);
+/*
+ * InvokeSGModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeSGModalFilterUPP(
+ DialogRef theDialog,
+ const EventRecord * theEvent,
+ short * itemHit,
+ long refCon,
+ SGModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeSGModalFilterUPP(DialogRef theDialog, const EventRecord * theEvent, short * itemHit, long refCon, SGModalFilterUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppSGModalFilterProcInfo, theDialog, theEvent, itemHit, refCon);
- }
-#else
-#define InvokeSGModalFilterUPP(theDialog, theEvent, itemHit, refCon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppSGModalFilterProcInfo, (theDialog), (theEvent), (itemHit), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeSGModalFilterUPP(DialogRef theDialog, const EventRecord * theEvent, short * itemHit, long refCon, SGModalFilterUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppSGModalFilterProcInfo, theDialog, theEvent, itemHit, refCon); }
+ #else
+ #define InvokeSGModalFilterUPP(theDialog, theEvent, itemHit, refCon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppSGModalFilterProcInfo, (theDialog), (theEvent), (itemHit), (refCon))
+ #endif
#endif
- /*
- * InvokeSGGrabBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGGrabBottleUPP(
- SGChannel c,
- short bufferNum,
- long refCon,
- SGGrabBottleUPP userUPP);
+/*
+ * InvokeSGGrabBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGGrabBottleUPP(
+ SGChannel c,
+ short bufferNum,
+ long refCon,
+ SGGrabBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGGrabBottleUPP(SGChannel c, short bufferNum, long refCon, SGGrabBottleUPP userUPP)
- {
- return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppSGGrabBottleProcInfo, c, bufferNum, refCon);
- }
-#else
-#define InvokeSGGrabBottleUPP(c, bufferNum, refCon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppSGGrabBottleProcInfo, (c), (bufferNum), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGGrabBottleUPP(SGChannel c, short bufferNum, long refCon, SGGrabBottleUPP userUPP) { return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppSGGrabBottleProcInfo, c, bufferNum, refCon); }
+ #else
+ #define InvokeSGGrabBottleUPP(c, bufferNum, refCon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppSGGrabBottleProcInfo, (c), (bufferNum), (refCon))
+ #endif
#endif
- /*
- * InvokeSGGrabCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGGrabCompleteBottleUPP(
- SGChannel c,
- short bufferNum,
- Boolean * done,
- long refCon,
- SGGrabCompleteBottleUPP userUPP);
+/*
+ * InvokeSGGrabCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGGrabCompleteBottleUPP(
+ SGChannel c,
+ short bufferNum,
+ Boolean * done,
+ long refCon,
+ SGGrabCompleteBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGGrabCompleteBottleUPP(SGChannel c, short bufferNum, Boolean * done, long refCon, SGGrabCompleteBottleUPP userUPP)
- {
- return (ComponentResult)CALL_FOUR_PARAMETER_UPP(userUPP, uppSGGrabCompleteBottleProcInfo, c, bufferNum, done, refCon);
- }
-#else
-#define InvokeSGGrabCompleteBottleUPP(c, bufferNum, done, refCon, userUPP) (ComponentResult)CALL_FOUR_PARAMETER_UPP((userUPP), uppSGGrabCompleteBottleProcInfo, (c), (bufferNum), (done), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGGrabCompleteBottleUPP(SGChannel c, short bufferNum, Boolean * done, long refCon, SGGrabCompleteBottleUPP userUPP) { return (ComponentResult)CALL_FOUR_PARAMETER_UPP(userUPP, uppSGGrabCompleteBottleProcInfo, c, bufferNum, done, refCon); }
+ #else
+ #define InvokeSGGrabCompleteBottleUPP(c, bufferNum, done, refCon, userUPP) (ComponentResult)CALL_FOUR_PARAMETER_UPP((userUPP), uppSGGrabCompleteBottleProcInfo, (c), (bufferNum), (done), (refCon))
+ #endif
#endif
- /*
- * InvokeSGDisplayBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGDisplayBottleUPP(
- SGChannel c,
- short bufferNum,
- MatrixRecord * mp,
- RgnHandle clipRgn,
- long refCon,
- SGDisplayBottleUPP userUPP);
+/*
+ * InvokeSGDisplayBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGDisplayBottleUPP(
+ SGChannel c,
+ short bufferNum,
+ MatrixRecord * mp,
+ RgnHandle clipRgn,
+ long refCon,
+ SGDisplayBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGDisplayBottleUPP(SGChannel c, short bufferNum, MatrixRecord * mp, RgnHandle clipRgn, long refCon, SGDisplayBottleUPP userUPP)
- {
- return (ComponentResult)CALL_FIVE_PARAMETER_UPP(userUPP, uppSGDisplayBottleProcInfo, c, bufferNum, mp, clipRgn, refCon);
- }
-#else
-#define InvokeSGDisplayBottleUPP(c, bufferNum, mp, clipRgn, refCon, userUPP) (ComponentResult)CALL_FIVE_PARAMETER_UPP((userUPP), uppSGDisplayBottleProcInfo, (c), (bufferNum), (mp), (clipRgn), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGDisplayBottleUPP(SGChannel c, short bufferNum, MatrixRecord * mp, RgnHandle clipRgn, long refCon, SGDisplayBottleUPP userUPP) { return (ComponentResult)CALL_FIVE_PARAMETER_UPP(userUPP, uppSGDisplayBottleProcInfo, c, bufferNum, mp, clipRgn, refCon); }
+ #else
+ #define InvokeSGDisplayBottleUPP(c, bufferNum, mp, clipRgn, refCon, userUPP) (ComponentResult)CALL_FIVE_PARAMETER_UPP((userUPP), uppSGDisplayBottleProcInfo, (c), (bufferNum), (mp), (clipRgn), (refCon))
+ #endif
#endif
- /*
- * InvokeSGCompressBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGCompressBottleUPP(
- SGChannel c,
- short bufferNum,
- long refCon,
- SGCompressBottleUPP userUPP);
+/*
+ * InvokeSGCompressBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGCompressBottleUPP(
+ SGChannel c,
+ short bufferNum,
+ long refCon,
+ SGCompressBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGCompressBottleUPP(SGChannel c, short bufferNum, long refCon, SGCompressBottleUPP userUPP)
- {
- return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppSGCompressBottleProcInfo, c, bufferNum, refCon);
- }
-#else
-#define InvokeSGCompressBottleUPP(c, bufferNum, refCon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppSGCompressBottleProcInfo, (c), (bufferNum), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGCompressBottleUPP(SGChannel c, short bufferNum, long refCon, SGCompressBottleUPP userUPP) { return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppSGCompressBottleProcInfo, c, bufferNum, refCon); }
+ #else
+ #define InvokeSGCompressBottleUPP(c, bufferNum, refCon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppSGCompressBottleProcInfo, (c), (bufferNum), (refCon))
+ #endif
#endif
- /*
- * InvokeSGCompressCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGCompressCompleteBottleUPP(
- SGChannel c,
- short bufferNum,
- Boolean * done,
- SGCompressInfo * ci,
- long refCon,
- SGCompressCompleteBottleUPP userUPP);
+/*
+ * InvokeSGCompressCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGCompressCompleteBottleUPP(
+ SGChannel c,
+ short bufferNum,
+ Boolean * done,
+ SGCompressInfo * ci,
+ long refCon,
+ SGCompressCompleteBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGCompressCompleteBottleUPP(SGChannel c, short bufferNum, Boolean * done, SGCompressInfo * ci, long refCon, SGCompressCompleteBottleUPP userUPP)
- {
- return (ComponentResult)CALL_FIVE_PARAMETER_UPP(userUPP, uppSGCompressCompleteBottleProcInfo, c, bufferNum, done, ci, refCon);
- }
-#else
-#define InvokeSGCompressCompleteBottleUPP(c, bufferNum, done, ci, refCon, userUPP) (ComponentResult)CALL_FIVE_PARAMETER_UPP((userUPP), uppSGCompressCompleteBottleProcInfo, (c), (bufferNum), (done), (ci), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGCompressCompleteBottleUPP(SGChannel c, short bufferNum, Boolean * done, SGCompressInfo * ci, long refCon, SGCompressCompleteBottleUPP userUPP) { return (ComponentResult)CALL_FIVE_PARAMETER_UPP(userUPP, uppSGCompressCompleteBottleProcInfo, c, bufferNum, done, ci, refCon); }
+ #else
+ #define InvokeSGCompressCompleteBottleUPP(c, bufferNum, done, ci, refCon, userUPP) (ComponentResult)CALL_FIVE_PARAMETER_UPP((userUPP), uppSGCompressCompleteBottleProcInfo, (c), (bufferNum), (done), (ci), (refCon))
+ #endif
#endif
- /*
- * InvokeSGAddFrameBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGAddFrameBottleUPP(
- SGChannel c,
- short bufferNum,
- TimeValue atTime,
- TimeScale scale,
- const SGCompressInfo * ci,
- long refCon,
- SGAddFrameBottleUPP userUPP);
+/*
+ * InvokeSGAddFrameBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGAddFrameBottleUPP(
+ SGChannel c,
+ short bufferNum,
+ TimeValue atTime,
+ TimeScale scale,
+ const SGCompressInfo * ci,
+ long refCon,
+ SGAddFrameBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGAddFrameBottleUPP(SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo * ci, long refCon, SGAddFrameBottleUPP userUPP)
- {
- return (ComponentResult)CALL_SIX_PARAMETER_UPP(userUPP, uppSGAddFrameBottleProcInfo, c, bufferNum, atTime, scale, ci, refCon);
- }
-#else
-#define InvokeSGAddFrameBottleUPP(c, bufferNum, atTime, scale, ci, refCon, userUPP) (ComponentResult)CALL_SIX_PARAMETER_UPP((userUPP), uppSGAddFrameBottleProcInfo, (c), (bufferNum), (atTime), (scale), (ci), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGAddFrameBottleUPP(SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo * ci, long refCon, SGAddFrameBottleUPP userUPP) { return (ComponentResult)CALL_SIX_PARAMETER_UPP(userUPP, uppSGAddFrameBottleProcInfo, c, bufferNum, atTime, scale, ci, refCon); }
+ #else
+ #define InvokeSGAddFrameBottleUPP(c, bufferNum, atTime, scale, ci, refCon, userUPP) (ComponentResult)CALL_SIX_PARAMETER_UPP((userUPP), uppSGAddFrameBottleProcInfo, (c), (bufferNum), (atTime), (scale), (ci), (refCon))
+ #endif
#endif
- /*
- * InvokeSGTransferFrameBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGTransferFrameBottleUPP(
- SGChannel c,
- short bufferNum,
- MatrixRecord * mp,
- RgnHandle clipRgn,
- long refCon,
- SGTransferFrameBottleUPP userUPP);
+/*
+ * InvokeSGTransferFrameBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGTransferFrameBottleUPP(
+ SGChannel c,
+ short bufferNum,
+ MatrixRecord * mp,
+ RgnHandle clipRgn,
+ long refCon,
+ SGTransferFrameBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGTransferFrameBottleUPP(SGChannel c, short bufferNum, MatrixRecord * mp, RgnHandle clipRgn, long refCon, SGTransferFrameBottleUPP userUPP)
- {
- return (ComponentResult)CALL_FIVE_PARAMETER_UPP(userUPP, uppSGTransferFrameBottleProcInfo, c, bufferNum, mp, clipRgn, refCon);
- }
-#else
-#define InvokeSGTransferFrameBottleUPP(c, bufferNum, mp, clipRgn, refCon, userUPP) (ComponentResult)CALL_FIVE_PARAMETER_UPP((userUPP), uppSGTransferFrameBottleProcInfo, (c), (bufferNum), (mp), (clipRgn), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGTransferFrameBottleUPP(SGChannel c, short bufferNum, MatrixRecord * mp, RgnHandle clipRgn, long refCon, SGTransferFrameBottleUPP userUPP) { return (ComponentResult)CALL_FIVE_PARAMETER_UPP(userUPP, uppSGTransferFrameBottleProcInfo, c, bufferNum, mp, clipRgn, refCon); }
+ #else
+ #define InvokeSGTransferFrameBottleUPP(c, bufferNum, mp, clipRgn, refCon, userUPP) (ComponentResult)CALL_FIVE_PARAMETER_UPP((userUPP), uppSGTransferFrameBottleProcInfo, (c), (bufferNum), (mp), (clipRgn), (refCon))
+ #endif
#endif
- /*
- * InvokeSGGrabCompressCompleteBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGGrabCompressCompleteBottleUPP(
- SGChannel c,
- UInt8 * queuedFrameCount,
- SGCompressInfo * ci,
- TimeRecord * t,
- long refCon,
- SGGrabCompressCompleteBottleUPP userUPP);
+/*
+ * InvokeSGGrabCompressCompleteBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGGrabCompressCompleteBottleUPP(
+ SGChannel c,
+ UInt8 * queuedFrameCount,
+ SGCompressInfo * ci,
+ TimeRecord * t,
+ long refCon,
+ SGGrabCompressCompleteBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGGrabCompressCompleteBottleUPP(SGChannel c, UInt8 * queuedFrameCount, SGCompressInfo * ci, TimeRecord * t, long refCon, SGGrabCompressCompleteBottleUPP userUPP)
- {
- return (ComponentResult)CALL_FIVE_PARAMETER_UPP(userUPP, uppSGGrabCompressCompleteBottleProcInfo, c, queuedFrameCount, ci, t, refCon);
- }
-#else
-#define InvokeSGGrabCompressCompleteBottleUPP(c, queuedFrameCount, ci, t, refCon, userUPP) (ComponentResult)CALL_FIVE_PARAMETER_UPP((userUPP), uppSGGrabCompressCompleteBottleProcInfo, (c), (queuedFrameCount), (ci), (t), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGGrabCompressCompleteBottleUPP(SGChannel c, UInt8 * queuedFrameCount, SGCompressInfo * ci, TimeRecord * t, long refCon, SGGrabCompressCompleteBottleUPP userUPP) { return (ComponentResult)CALL_FIVE_PARAMETER_UPP(userUPP, uppSGGrabCompressCompleteBottleProcInfo, c, queuedFrameCount, ci, t, refCon); }
+ #else
+ #define InvokeSGGrabCompressCompleteBottleUPP(c, queuedFrameCount, ci, t, refCon, userUPP) (ComponentResult)CALL_FIVE_PARAMETER_UPP((userUPP), uppSGGrabCompressCompleteBottleProcInfo, (c), (queuedFrameCount), (ci), (t), (refCon))
+ #endif
#endif
- /*
- * InvokeSGDisplayCompressBottleUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeSGDisplayCompressBottleUPP(
- SGChannel c,
- Ptr dataPtr,
- ImageDescriptionHandle desc,
- MatrixRecord * mp,
- RgnHandle clipRgn,
- long refCon,
- SGDisplayCompressBottleUPP userUPP);
+/*
+ * InvokeSGDisplayCompressBottleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeSGDisplayCompressBottleUPP(
+ SGChannel c,
+ Ptr dataPtr,
+ ImageDescriptionHandle desc,
+ MatrixRecord * mp,
+ RgnHandle clipRgn,
+ long refCon,
+ SGDisplayCompressBottleUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeSGDisplayCompressBottleUPP(SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord * mp, RgnHandle clipRgn, long refCon, SGDisplayCompressBottleUPP userUPP)
- {
- return (ComponentResult)CALL_SIX_PARAMETER_UPP(userUPP, uppSGDisplayCompressBottleProcInfo, c, dataPtr, desc, mp, clipRgn, refCon);
- }
-#else
-#define InvokeSGDisplayCompressBottleUPP(c, dataPtr, desc, mp, clipRgn, refCon, userUPP) (ComponentResult)CALL_SIX_PARAMETER_UPP((userUPP), uppSGDisplayCompressBottleProcInfo, (c), (dataPtr), (desc), (mp), (clipRgn), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeSGDisplayCompressBottleUPP(SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord * mp, RgnHandle clipRgn, long refCon, SGDisplayCompressBottleUPP userUPP) { return (ComponentResult)CALL_SIX_PARAMETER_UPP(userUPP, uppSGDisplayCompressBottleProcInfo, c, dataPtr, desc, mp, clipRgn, refCon); }
+ #else
+ #define InvokeSGDisplayCompressBottleUPP(c, dataPtr, desc, mp, clipRgn, refCon, userUPP) (ComponentResult)CALL_SIX_PARAMETER_UPP((userUPP), uppSGDisplayCompressBottleProcInfo, (c), (dataPtr), (desc), (mp), (clipRgn), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDataHCompletionProc(userRoutine) NewDataHCompletionUPP(userRoutine)
-#define NewVdigIntProc(userRoutine) NewVdigIntUPP(userRoutine)
-#define NewStartDocumentHandlerProc(userRoutine) NewStartDocumentHandlerUPP(userRoutine)
-#define NewEndDocumentHandlerProc(userRoutine) NewEndDocumentHandlerUPP(userRoutine)
-#define NewStartElementHandlerProc(userRoutine) NewStartElementHandlerUPP(userRoutine)
-#define NewEndElementHandlerProc(userRoutine) NewEndElementHandlerUPP(userRoutine)
-#define NewCharDataHandlerProc(userRoutine) NewCharDataHandlerUPP(userRoutine)
-#define NewPreprocessInstructionHandlerProc(userRoutine) NewPreprocessInstructionHandlerUPP(userRoutine)
-#define NewCommentHandlerProc(userRoutine) NewCommentHandlerUPP(userRoutine)
-#define NewCDataHandlerProc(userRoutine) NewCDataHandlerUPP(userRoutine)
-#define NewSGDataProc(userRoutine) NewSGDataUPP(userRoutine)
-#define NewSGModalFilterProc(userRoutine) NewSGModalFilterUPP(userRoutine)
-#define NewSGGrabBottleProc(userRoutine) NewSGGrabBottleUPP(userRoutine)
-#define NewSGGrabCompleteBottleProc(userRoutine) NewSGGrabCompleteBottleUPP(userRoutine)
-#define NewSGDisplayBottleProc(userRoutine) NewSGDisplayBottleUPP(userRoutine)
-#define NewSGCompressBottleProc(userRoutine) NewSGCompressBottleUPP(userRoutine)
-#define NewSGCompressCompleteBottleProc(userRoutine) NewSGCompressCompleteBottleUPP(userRoutine)
-#define NewSGAddFrameBottleProc(userRoutine) NewSGAddFrameBottleUPP(userRoutine)
-#define NewSGTransferFrameBottleProc(userRoutine) NewSGTransferFrameBottleUPP(userRoutine)
-#define NewSGGrabCompressCompleteBottleProc(userRoutine) NewSGGrabCompressCompleteBottleUPP(userRoutine)
-#define NewSGDisplayCompressBottleProc(userRoutine) NewSGDisplayCompressBottleUPP(userRoutine)
-#define CallDataHCompletionProc(userRoutine, request, refcon, err) InvokeDataHCompletionUPP(request, refcon, err, userRoutine)
-#define CallVdigIntProc(userRoutine, flags, refcon) InvokeVdigIntUPP(flags, refcon, userRoutine)
-#define CallStartDocumentHandlerProc(userRoutine, refcon) InvokeStartDocumentHandlerUPP(refcon, userRoutine)
-#define CallEndDocumentHandlerProc(userRoutine, refcon) InvokeEndDocumentHandlerUPP(refcon, userRoutine)
-#define CallStartElementHandlerProc(userRoutine, name, atts, refcon) InvokeStartElementHandlerUPP(name, atts, refcon, userRoutine)
-#define CallEndElementHandlerProc(userRoutine, name, refcon) InvokeEndElementHandlerUPP(name, refcon, userRoutine)
-#define CallCharDataHandlerProc(userRoutine, charData, refcon) InvokeCharDataHandlerUPP(charData, refcon, userRoutine)
-#define CallPreprocessInstructionHandlerProc(userRoutine, name, atts, refcon) InvokePreprocessInstructionHandlerUPP(name, atts, refcon, userRoutine)
-#define CallCommentHandlerProc(userRoutine, comment, refcon) InvokeCommentHandlerUPP(comment, refcon, userRoutine)
-#define CallCDataHandlerProc(userRoutine, cdata, refcon) InvokeCDataHandlerUPP(cdata, refcon, userRoutine)
-#define CallSGDataProc(userRoutine, c, p, len, offset, chRefCon, time, writeType, refCon) InvokeSGDataUPP(c, p, len, offset, chRefCon, time, writeType, refCon, userRoutine)
-#define CallSGModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refCon) InvokeSGModalFilterUPP(theDialog, theEvent, itemHit, refCon, userRoutine)
-#define CallSGGrabBottleProc(userRoutine, c, bufferNum, refCon) InvokeSGGrabBottleUPP(c, bufferNum, refCon, userRoutine)
-#define CallSGGrabCompleteBottleProc(userRoutine, c, bufferNum, done, refCon) InvokeSGGrabCompleteBottleUPP(c, bufferNum, done, refCon, userRoutine)
-#define CallSGDisplayBottleProc(userRoutine, c, bufferNum, mp, clipRgn, refCon) InvokeSGDisplayBottleUPP(c, bufferNum, mp, clipRgn, refCon, userRoutine)
-#define CallSGCompressBottleProc(userRoutine, c, bufferNum, refCon) InvokeSGCompressBottleUPP(c, bufferNum, refCon, userRoutine)
-#define CallSGCompressCompleteBottleProc(userRoutine, c, bufferNum, done, ci, refCon) InvokeSGCompressCompleteBottleUPP(c, bufferNum, done, ci, refCon, userRoutine)
-#define CallSGAddFrameBottleProc(userRoutine, c, bufferNum, atTime, scale, ci, refCon) InvokeSGAddFrameBottleUPP(c, bufferNum, atTime, scale, ci, refCon, userRoutine)
-#define CallSGTransferFrameBottleProc(userRoutine, c, bufferNum, mp, clipRgn, refCon) InvokeSGTransferFrameBottleUPP(c, bufferNum, mp, clipRgn, refCon, userRoutine)
-#define CallSGGrabCompressCompleteBottleProc(userRoutine, c, queuedFrameCount, ci, t, refCon) InvokeSGGrabCompressCompleteBottleUPP(c, queuedFrameCount, ci, t, refCon, userRoutine)
-#define CallSGDisplayCompressBottleProc(userRoutine, c, dataPtr, desc, mp, clipRgn, refCon) InvokeSGDisplayCompressBottleUPP(c, dataPtr, desc, mp, clipRgn, refCon, userRoutine)
+ #define NewDataHCompletionProc(userRoutine) NewDataHCompletionUPP(userRoutine)
+ #define NewVdigIntProc(userRoutine) NewVdigIntUPP(userRoutine)
+ #define NewStartDocumentHandlerProc(userRoutine) NewStartDocumentHandlerUPP(userRoutine)
+ #define NewEndDocumentHandlerProc(userRoutine) NewEndDocumentHandlerUPP(userRoutine)
+ #define NewStartElementHandlerProc(userRoutine) NewStartElementHandlerUPP(userRoutine)
+ #define NewEndElementHandlerProc(userRoutine) NewEndElementHandlerUPP(userRoutine)
+ #define NewCharDataHandlerProc(userRoutine) NewCharDataHandlerUPP(userRoutine)
+ #define NewPreprocessInstructionHandlerProc(userRoutine) NewPreprocessInstructionHandlerUPP(userRoutine)
+ #define NewCommentHandlerProc(userRoutine) NewCommentHandlerUPP(userRoutine)
+ #define NewCDataHandlerProc(userRoutine) NewCDataHandlerUPP(userRoutine)
+ #define NewSGDataProc(userRoutine) NewSGDataUPP(userRoutine)
+ #define NewSGModalFilterProc(userRoutine) NewSGModalFilterUPP(userRoutine)
+ #define NewSGGrabBottleProc(userRoutine) NewSGGrabBottleUPP(userRoutine)
+ #define NewSGGrabCompleteBottleProc(userRoutine) NewSGGrabCompleteBottleUPP(userRoutine)
+ #define NewSGDisplayBottleProc(userRoutine) NewSGDisplayBottleUPP(userRoutine)
+ #define NewSGCompressBottleProc(userRoutine) NewSGCompressBottleUPP(userRoutine)
+ #define NewSGCompressCompleteBottleProc(userRoutine) NewSGCompressCompleteBottleUPP(userRoutine)
+ #define NewSGAddFrameBottleProc(userRoutine) NewSGAddFrameBottleUPP(userRoutine)
+ #define NewSGTransferFrameBottleProc(userRoutine) NewSGTransferFrameBottleUPP(userRoutine)
+ #define NewSGGrabCompressCompleteBottleProc(userRoutine) NewSGGrabCompressCompleteBottleUPP(userRoutine)
+ #define NewSGDisplayCompressBottleProc(userRoutine) NewSGDisplayCompressBottleUPP(userRoutine)
+ #define CallDataHCompletionProc(userRoutine, request, refcon, err) InvokeDataHCompletionUPP(request, refcon, err, userRoutine)
+ #define CallVdigIntProc(userRoutine, flags, refcon) InvokeVdigIntUPP(flags, refcon, userRoutine)
+ #define CallStartDocumentHandlerProc(userRoutine, refcon) InvokeStartDocumentHandlerUPP(refcon, userRoutine)
+ #define CallEndDocumentHandlerProc(userRoutine, refcon) InvokeEndDocumentHandlerUPP(refcon, userRoutine)
+ #define CallStartElementHandlerProc(userRoutine, name, atts, refcon) InvokeStartElementHandlerUPP(name, atts, refcon, userRoutine)
+ #define CallEndElementHandlerProc(userRoutine, name, refcon) InvokeEndElementHandlerUPP(name, refcon, userRoutine)
+ #define CallCharDataHandlerProc(userRoutine, charData, refcon) InvokeCharDataHandlerUPP(charData, refcon, userRoutine)
+ #define CallPreprocessInstructionHandlerProc(userRoutine, name, atts, refcon) InvokePreprocessInstructionHandlerUPP(name, atts, refcon, userRoutine)
+ #define CallCommentHandlerProc(userRoutine, comment, refcon) InvokeCommentHandlerUPP(comment, refcon, userRoutine)
+ #define CallCDataHandlerProc(userRoutine, cdata, refcon) InvokeCDataHandlerUPP(cdata, refcon, userRoutine)
+ #define CallSGDataProc(userRoutine, c, p, len, offset, chRefCon, time, writeType, refCon) InvokeSGDataUPP(c, p, len, offset, chRefCon, time, writeType, refCon, userRoutine)
+ #define CallSGModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refCon) InvokeSGModalFilterUPP(theDialog, theEvent, itemHit, refCon, userRoutine)
+ #define CallSGGrabBottleProc(userRoutine, c, bufferNum, refCon) InvokeSGGrabBottleUPP(c, bufferNum, refCon, userRoutine)
+ #define CallSGGrabCompleteBottleProc(userRoutine, c, bufferNum, done, refCon) InvokeSGGrabCompleteBottleUPP(c, bufferNum, done, refCon, userRoutine)
+ #define CallSGDisplayBottleProc(userRoutine, c, bufferNum, mp, clipRgn, refCon) InvokeSGDisplayBottleUPP(c, bufferNum, mp, clipRgn, refCon, userRoutine)
+ #define CallSGCompressBottleProc(userRoutine, c, bufferNum, refCon) InvokeSGCompressBottleUPP(c, bufferNum, refCon, userRoutine)
+ #define CallSGCompressCompleteBottleProc(userRoutine, c, bufferNum, done, ci, refCon) InvokeSGCompressCompleteBottleUPP(c, bufferNum, done, ci, refCon, userRoutine)
+ #define CallSGAddFrameBottleProc(userRoutine, c, bufferNum, atTime, scale, ci, refCon) InvokeSGAddFrameBottleUPP(c, bufferNum, atTime, scale, ci, refCon, userRoutine)
+ #define CallSGTransferFrameBottleProc(userRoutine, c, bufferNum, mp, clipRgn, refCon) InvokeSGTransferFrameBottleUPP(c, bufferNum, mp, clipRgn, refCon, userRoutine)
+ #define CallSGGrabCompressCompleteBottleProc(userRoutine, c, queuedFrameCount, ci, t, refCon) InvokeSGGrabCompressCompleteBottleUPP(c, queuedFrameCount, ci, t, refCon, userRoutine)
+ #define CallSGDisplayCompressBottleProc(userRoutine, c, dataPtr, desc, mp, clipRgn, refCon) InvokeSGDisplayCompressBottleUPP(c, dataPtr, desc, mp, clipRgn, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* selectors for component calls */
- enum
- {
- kClockGetTimeSelect = 0x0001,
- kClockNewCallBackSelect = 0x0002,
- kClockDisposeCallBackSelect = 0x0003,
- kClockCallMeWhenSelect = 0x0004,
- kClockCancelCallBackSelect = 0x0005,
- kClockRateChangedSelect = 0x0006,
- kClockTimeChangedSelect = 0x0007,
- kClockSetTimeBaseSelect = 0x0008,
- kClockStartStopChangedSelect = 0x0009,
- kClockGetRateSelect = 0x000A,
- kClockGetTimesForRateChangeSelect = 0x000B,
- kClockGetRateChangeConstraintsSelect = 0x000C,
- kSCAudioInvokeLegacyCodecOptionsDialogSelect = 0x0081,
- kSCAudioFillBufferSelect = 0x0082,
- kSCAudioResetSelect = 0x0083,
- kSCGetCompressionExtendedSelect = 0x0001,
- kSCPositionRectSelect = 0x0002,
- kSCPositionDialogSelect = 0x0003,
- kSCSetTestImagePictHandleSelect = 0x0004,
- kSCSetTestImagePictFileSelect = 0x0005,
- kSCSetTestImagePixMapSelect = 0x0006,
- kSCGetBestDeviceRectSelect = 0x0007,
- kSCRequestImageSettingsSelect = 0x000A,
- kSCCompressImageSelect = 0x000B,
- kSCCompressPictureSelect = 0x000C,
- kSCCompressPictureFileSelect = 0x000D,
- kSCRequestSequenceSettingsSelect = 0x000E,
- kSCCompressSequenceBeginSelect = 0x000F,
- kSCCompressSequenceFrameSelect = 0x0010,
- kSCCompressSequenceEndSelect = 0x0011,
- kSCDefaultPictHandleSettingsSelect = 0x0012,
- kSCDefaultPictFileSettingsSelect = 0x0013,
- kSCDefaultPixMapSettingsSelect = 0x0014,
- kSCGetInfoSelect = 0x0015,
- kSCSetInfoSelect = 0x0016,
- kSCNewGWorldSelect = 0x0017,
- kSCSetCompressFlagsSelect = 0x0018,
- kSCGetCompressFlagsSelect = 0x0019,
- kSCGetSettingsAsTextSelect = 0x001A,
- kSCGetSettingsAsAtomContainerSelect = 0x001B,
- kSCSetSettingsFromAtomContainerSelect = 0x001C,
- kSCCompressSequenceFrameAsyncSelect = 0x001D,
- kSCAsyncIdleSelect = 0x001E,
- kSCCopyCompressionSessionOptionsSelect = 0x001F,
- kTweenerInitializeSelect = 0x0001,
- kTweenerDoTweenSelect = 0x0002,
- kTweenerResetSelect = 0x0003,
- kTCGetCurrentTimeCodeSelect = 0x0101,
- kTCGetTimeCodeAtTimeSelect = 0x0102,
- kTCTimeCodeToStringSelect = 0x0103,
- kTCTimeCodeToFrameNumberSelect = 0x0104,
- kTCFrameNumberToTimeCodeSelect = 0x0105,
- kTCGetSourceRefSelect = 0x0106,
- kTCSetSourceRefSelect = 0x0107,
- kTCSetTimeCodeFlagsSelect = 0x0108,
- kTCGetTimeCodeFlagsSelect = 0x0109,
- kTCSetDisplayOptionsSelect = 0x010A,
- kTCGetDisplayOptionsSelect = 0x010B,
- kTCGetCurrentFrameAndTimeCodeDefSelect = 0x010C,
- kTCGetFrameAndTimeCodeDefAtTimeSelect = 0x010D,
- kTCTimeCodeTimeToStringSelect = 0x010E,
- kTCTimeCodeCounterToStringSelect = 0x010F,
- kTCTimeCodeTimeToFrameNumberSelect = 0x0110,
- kTCTimeCodeCounterToFrameNumberSelect = 0x0111,
- kTCFrameNumberToTimeCodeTimeSelect = 0x0112,
- kTCFrameNumberToTimeCodeCounterSelect = 0x0113,
- kMovieImportHandleSelect = 0x0001,
- kMovieImportFileSelect = 0x0002,
- kMovieImportSetSampleDurationSelect = 0x0003,
- kMovieImportSetSampleDescriptionSelect = 0x0004,
- kMovieImportSetMediaFileSelect = 0x0005,
- kMovieImportSetDimensionsSelect = 0x0006,
- kMovieImportSetChunkSizeSelect = 0x0007,
- kMovieImportSetProgressProcSelect = 0x0008,
- kMovieImportSetAuxiliaryDataSelect = 0x0009,
- kMovieImportSetFromScrapSelect = 0x000A,
- kMovieImportDoUserDialogSelect = 0x000B,
- kMovieImportSetDurationSelect = 0x000C,
- kMovieImportGetAuxiliaryDataTypeSelect = 0x000D,
- kMovieImportValidateSelect = 0x000E,
- kMovieImportGetFileTypeSelect = 0x000F,
- kMovieImportDataRefSelect = 0x0010,
- kMovieImportGetSampleDescriptionSelect = 0x0011,
- kMovieImportGetMIMETypeListSelect = 0x0012,
- kMovieImportSetOffsetAndLimitSelect = 0x0013,
- kMovieImportGetSettingsAsAtomContainerSelect = 0x0014,
- kMovieImportSetSettingsFromAtomContainerSelect = 0x0015,
- kMovieImportSetOffsetAndLimit64Select = 0x0016,
- kMovieImportIdleSelect = 0x0017,
- kMovieImportValidateDataRefSelect = 0x0018,
- kMovieImportGetLoadStateSelect = 0x0019,
- kMovieImportGetMaxLoadedTimeSelect = 0x001A,
- kMovieImportEstimateCompletionTimeSelect = 0x001B,
- kMovieImportSetDontBlockSelect = 0x001C,
- kMovieImportGetDontBlockSelect = 0x001D,
- kMovieImportSetIdleManagerSelect = 0x001E,
- kMovieImportSetNewMovieFlagsSelect = 0x001F,
- kMovieImportGetDestinationMediaTypeSelect = 0x0020,
- kMovieImportSetMediaDataRefSelect = 0x0021,
- kMovieImportDoUserDialogDataRefSelect = 0x0022,
- kMovieExportToHandleSelect = 0x0080,
- kMovieExportToFileSelect = 0x0081,
- kMovieExportGetAuxiliaryDataSelect = 0x0083,
- kMovieExportSetProgressProcSelect = 0x0084,
- kMovieExportSetSampleDescriptionSelect = 0x0085,
- kMovieExportDoUserDialogSelect = 0x0086,
- kMovieExportGetCreatorTypeSelect = 0x0087,
- kMovieExportToDataRefSelect = 0x0088,
- kMovieExportFromProceduresToDataRefSelect = 0x0089,
- kMovieExportAddDataSourceSelect = 0x008A,
- kMovieExportValidateSelect = 0x008B,
- kMovieExportGetSettingsAsAtomContainerSelect = 0x008C,
- kMovieExportSetSettingsFromAtomContainerSelect = 0x008D,
- kMovieExportGetFileNameExtensionSelect = 0x008E,
- kMovieExportGetShortFileTypeStringSelect = 0x008F,
- kMovieExportGetSourceMediaTypeSelect = 0x0090,
- kMovieExportSetGetMoviePropertyProcSelect = 0x0091,
- kTextExportGetDisplayDataSelect = 0x0100,
- kTextExportGetTimeFractionSelect = 0x0101,
- kTextExportSetTimeFractionSelect = 0x0102,
- kTextExportGetSettingsSelect = 0x0103,
- kTextExportSetSettingsSelect = 0x0104,
- kMIDIImportGetSettingsSelect = 0x0100,
- kMIDIImportSetSettingsSelect = 0x0101,
- kMovieExportNewGetDataAndPropertiesProcsSelect = 0x0100,
- kMovieExportDisposeGetDataAndPropertiesProcsSelect = 0x0101,
- kGraphicsImageImportSetSequenceEnabledSelect = 0x0100,
- kGraphicsImageImportGetSequenceEnabledSelect = 0x0101,
- kPreviewShowDataSelect = 0x0001,
- kPreviewMakePreviewSelect = 0x0002,
- kPreviewMakePreviewReferenceSelect = 0x0003,
- kPreviewEventSelect = 0x0004,
- kDataCodecDecompressSelect = 0x0001,
- kDataCodecGetCompressBufferSizeSelect = 0x0002,
- kDataCodecCompressSelect = 0x0003,
- kDataCodecBeginInterruptSafeSelect = 0x0004,
- kDataCodecEndInterruptSafeSelect = 0x0005,
- kDataCodecDecompressPartialSelect = 0x0006,
- kDataCodecCompressPartialSelect = 0x0007,
- kDataHGetDataSelect = 0x0002,
- kDataHPutDataSelect = 0x0003,
- kDataHFlushDataSelect = 0x0004,
- kDataHOpenForWriteSelect = 0x0005,
- kDataHCloseForWriteSelect = 0x0006,
- kDataHOpenForReadSelect = 0x0008,
- kDataHCloseForReadSelect = 0x0009,
- kDataHSetDataRefSelect = 0x000A,
- kDataHGetDataRefSelect = 0x000B,
- kDataHCompareDataRefSelect = 0x000C,
- kDataHTaskSelect = 0x000D,
- kDataHScheduleDataSelect = 0x000E,
- kDataHFinishDataSelect = 0x000F,
- kDataHFlushCacheSelect = 0x0010,
- kDataHResolveDataRefSelect = 0x0011,
- kDataHGetFileSizeSelect = 0x0012,
- kDataHCanUseDataRefSelect = 0x0013,
- kDataHGetVolumeListSelect = 0x0014,
- kDataHWriteSelect = 0x0015,
- kDataHPreextendSelect = 0x0016,
- kDataHSetFileSizeSelect = 0x0017,
- kDataHGetFreeSpaceSelect = 0x0018,
- kDataHCreateFileSelect = 0x0019,
- kDataHGetPreferredBlockSizeSelect = 0x001A,
- kDataHGetDeviceIndexSelect = 0x001B,
- kDataHIsStreamingDataHandlerSelect = 0x001C,
- kDataHGetDataInBufferSelect = 0x001D,
- kDataHGetScheduleAheadTimeSelect = 0x001E,
- kDataHSetCacheSizeLimitSelect = 0x001F,
- kDataHGetCacheSizeLimitSelect = 0x0020,
- kDataHGetMovieSelect = 0x0021,
- kDataHAddMovieSelect = 0x0022,
- kDataHUpdateMovieSelect = 0x0023,
- kDataHDoesBufferSelect = 0x0024,
- kDataHGetFileNameSelect = 0x0025,
- kDataHGetAvailableFileSizeSelect = 0x0026,
- kDataHGetMacOSFileTypeSelect = 0x0027,
- kDataHGetMIMETypeSelect = 0x0028,
- kDataHSetDataRefWithAnchorSelect = 0x0029,
- kDataHGetDataRefWithAnchorSelect = 0x002A,
- kDataHSetMacOSFileTypeSelect = 0x002B,
- kDataHSetTimeBaseSelect = 0x002C,
- kDataHGetInfoFlagsSelect = 0x002D,
- kDataHScheduleData64Select = 0x002E,
- kDataHWrite64Select = 0x002F,
- kDataHGetFileSize64Select = 0x0030,
- kDataHPreextend64Select = 0x0031,
- kDataHSetFileSize64Select = 0x0032,
- kDataHGetFreeSpace64Select = 0x0033,
- kDataHAppend64Select = 0x0034,
- kDataHReadAsyncSelect = 0x0035,
- kDataHPollReadSelect = 0x0036,
- kDataHGetDataAvailabilitySelect = 0x0037,
- kDataHGetFileSizeAsyncSelect = 0x003A,
- kDataHGetDataRefAsTypeSelect = 0x003B,
- kDataHSetDataRefExtensionSelect = 0x003C,
- kDataHGetDataRefExtensionSelect = 0x003D,
- kDataHGetMovieWithFlagsSelect = 0x003E,
- kDataHGetFileTypeOrderingSelect = 0x0040,
- kDataHCreateFileWithFlagsSelect = 0x0041,
- kDataHGetMIMETypeAsyncSelect = 0x0042,
- kDataHGetInfoSelect = 0x0043,
- kDataHSetIdleManagerSelect = 0x0044,
- kDataHDeleteFileSelect = 0x0045,
- kDataHSetMovieUsageFlagsSelect = 0x0046,
- kDataHUseTemporaryDataRefSelect = 0x0047,
- kDataHGetTemporaryDataRefCapabilitiesSelect = 0x0048,
- kDataHRenameFileSelect = 0x0049,
- kDataHGetAvailableFileSize64Select = 0x004E,
- kDataHGetDataAvailability64Select = 0x004F,
- kDataHPlaybackHintsSelect = 0x0103,
- kDataHPlaybackHints64Select = 0x010E,
- kDataHGetDataRateSelect = 0x0110,
- kDataHSetTimeHintsSelect = 0x0111,
- kVDGetMaxSrcRectSelect = 0x0001,
- kVDGetActiveSrcRectSelect = 0x0002,
- kVDSetDigitizerRectSelect = 0x0003,
- kVDGetDigitizerRectSelect = 0x0004,
- kVDGetVBlankRectSelect = 0x0005,
- kVDGetMaskPixMapSelect = 0x0006,
- kVDGetPlayThruDestinationSelect = 0x0008,
- kVDUseThisCLUTSelect = 0x0009,
- kVDSetInputGammaValueSelect = 0x000A,
- kVDGetInputGammaValueSelect = 0x000B,
- kVDSetBrightnessSelect = 0x000C,
- kVDGetBrightnessSelect = 0x000D,
- kVDSetContrastSelect = 0x000E,
- kVDSetHueSelect = 0x000F,
- kVDSetSharpnessSelect = 0x0010,
- kVDSetSaturationSelect = 0x0011,
- kVDGetContrastSelect = 0x0012,
- kVDGetHueSelect = 0x0013,
- kVDGetSharpnessSelect = 0x0014,
- kVDGetSaturationSelect = 0x0015,
- kVDGrabOneFrameSelect = 0x0016,
- kVDGetMaxAuxBufferSelect = 0x0017,
- kVDGetDigitizerInfoSelect = 0x0019,
- kVDGetCurrentFlagsSelect = 0x001A,
- kVDSetKeyColorSelect = 0x001B,
- kVDGetKeyColorSelect = 0x001C,
- kVDAddKeyColorSelect = 0x001D,
- kVDGetNextKeyColorSelect = 0x001E,
- kVDSetKeyColorRangeSelect = 0x001F,
- kVDGetKeyColorRangeSelect = 0x0020,
- kVDSetDigitizerUserInterruptSelect = 0x0021,
- kVDSetInputColorSpaceModeSelect = 0x0022,
- kVDGetInputColorSpaceModeSelect = 0x0023,
- kVDSetClipStateSelect = 0x0024,
- kVDGetClipStateSelect = 0x0025,
- kVDSetClipRgnSelect = 0x0026,
- kVDClearClipRgnSelect = 0x0027,
- kVDGetCLUTInUseSelect = 0x0028,
- kVDSetPLLFilterTypeSelect = 0x0029,
- kVDGetPLLFilterTypeSelect = 0x002A,
- kVDGetMaskandValueSelect = 0x002B,
- kVDSetMasterBlendLevelSelect = 0x002C,
- kVDSetPlayThruDestinationSelect = 0x002D,
- kVDSetPlayThruOnOffSelect = 0x002E,
- kVDSetFieldPreferenceSelect = 0x002F,
- kVDGetFieldPreferenceSelect = 0x0030,
- kVDPreflightDestinationSelect = 0x0032,
- kVDPreflightGlobalRectSelect = 0x0033,
- kVDSetPlayThruGlobalRectSelect = 0x0034,
- kVDSetInputGammaRecordSelect = 0x0035,
- kVDGetInputGammaRecordSelect = 0x0036,
- kVDSetBlackLevelValueSelect = 0x0037,
- kVDGetBlackLevelValueSelect = 0x0038,
- kVDSetWhiteLevelValueSelect = 0x0039,
- kVDGetWhiteLevelValueSelect = 0x003A,
- kVDGetVideoDefaultsSelect = 0x003B,
- kVDGetNumberOfInputsSelect = 0x003C,
- kVDGetInputFormatSelect = 0x003D,
- kVDSetInputSelect = 0x003E,
- kVDGetInputSelect = 0x003F,
- kVDSetInputStandardSelect = 0x0040,
- kVDSetupBuffersSelect = 0x0041,
- kVDGrabOneFrameAsyncSelect = 0x0042,
- kVDDoneSelect = 0x0043,
- kVDSetCompressionSelect = 0x0044,
- kVDCompressOneFrameAsyncSelect = 0x0045,
- kVDCompressDoneSelect = 0x0046,
- kVDReleaseCompressBufferSelect = 0x0047,
- kVDGetImageDescriptionSelect = 0x0048,
- kVDResetCompressSequenceSelect = 0x0049,
- kVDSetCompressionOnOffSelect = 0x004A,
- kVDGetCompressionTypesSelect = 0x004B,
- kVDSetTimeBaseSelect = 0x004C,
- kVDSetFrameRateSelect = 0x004D,
- kVDGetDataRateSelect = 0x004E,
- kVDGetSoundInputDriverSelect = 0x004F,
- kVDGetDMADepthsSelect = 0x0050,
- kVDGetPreferredTimeScaleSelect = 0x0051,
- kVDReleaseAsyncBuffersSelect = 0x0052,
- kVDSetDataRateSelect = 0x0054,
- kVDGetTimeCodeSelect = 0x0055,
- kVDUseSafeBuffersSelect = 0x0056,
- kVDGetSoundInputSourceSelect = 0x0057,
- kVDGetCompressionTimeSelect = 0x0058,
- kVDSetPreferredPacketSizeSelect = 0x0059,
- kVDSetPreferredImageDimensionsSelect = 0x005A,
- kVDGetPreferredImageDimensionsSelect = 0x005B,
- kVDGetInputNameSelect = 0x005C,
- kVDSetDestinationPortSelect = 0x005D,
- kVDGetDeviceNameAndFlagsSelect = 0x005E,
- kVDCaptureStateChangingSelect = 0x005F,
- kVDGetUniqueIDsSelect = 0x0060,
- kVDSelectUniqueIDsSelect = 0x0061,
- kVDCopyPreferredAudioDeviceSelect = 0x0063,
- kVDIIDCGetFeaturesSelect = 0x0200,
- kVDIIDCSetFeaturesSelect = 0x0201,
- kVDIIDCGetDefaultFeaturesSelect = 0x0202,
- kVDIIDCGetCSRDataSelect = 0x0203,
- kVDIIDCSetCSRDataSelect = 0x0204,
- kVDIIDCGetFeaturesForSpecifierSelect = 0x0205,
- kXMLParseDataRefSelect = 0x0001,
- kXMLParseFileSelect = 0x0002,
- kXMLParseDisposeXMLDocSelect = 0x0003,
- kXMLParseGetDetailedParseErrorSelect = 0x0004,
- kXMLParseAddElementSelect = 0x0005,
- kXMLParseAddAttributeSelect = 0x0006,
- kXMLParseAddMultipleAttributesSelect = 0x0007,
- kXMLParseAddAttributeAndValueSelect = 0x0008,
- kXMLParseAddMultipleAttributesAndValuesSelect = 0x0009,
- kXMLParseAddAttributeValueKindSelect = 0x000A,
- kXMLParseAddNameSpaceSelect = 0x000B,
- kXMLParseSetOffsetAndLimitSelect = 0x000C,
- kXMLParseSetEventParseRefConSelect = 0x000D,
- kXMLParseSetStartDocumentHandlerSelect = 0x000E,
- kXMLParseSetEndDocumentHandlerSelect = 0x000F,
- kXMLParseSetStartElementHandlerSelect = 0x0010,
- kXMLParseSetEndElementHandlerSelect = 0x0011,
- kXMLParseSetCharDataHandlerSelect = 0x0012,
- kXMLParseSetPreprocessInstructionHandlerSelect = 0x0013,
- kXMLParseSetCommentHandlerSelect = 0x0014,
- kXMLParseSetCDataHandlerSelect = 0x0015,
- kSGInitializeSelect = 0x0001,
- kSGSetDataOutputSelect = 0x0002,
- kSGGetDataOutputSelect = 0x0003,
- kSGSetGWorldSelect = 0x0004,
- kSGGetGWorldSelect = 0x0005,
- kSGNewChannelSelect = 0x0006,
- kSGDisposeChannelSelect = 0x0007,
- kSGStartPreviewSelect = 0x0010,
- kSGStartRecordSelect = 0x0011,
- kSGIdleSelect = 0x0012,
- kSGStopSelect = 0x0013,
- kSGPauseSelect = 0x0014,
- kSGPrepareSelect = 0x0015,
- kSGReleaseSelect = 0x0016,
- kSGGetMovieSelect = 0x0017,
- kSGSetMaximumRecordTimeSelect = 0x0018,
- kSGGetMaximumRecordTimeSelect = 0x0019,
- kSGGetStorageSpaceRemainingSelect = 0x001A,
- kSGGetTimeRemainingSelect = 0x001B,
- kSGGrabPictSelect = 0x001C,
- kSGGetLastMovieResIDSelect = 0x001D,
- kSGSetFlagsSelect = 0x001E,
- kSGGetFlagsSelect = 0x001F,
- kSGSetDataProcSelect = 0x0020,
- kSGNewChannelFromComponentSelect = 0x0021,
- kSGDisposeDeviceListSelect = 0x0022,
- kSGAppendDeviceListToMenuSelect = 0x0023,
- kSGSetSettingsSelect = 0x0024,
- kSGGetSettingsSelect = 0x0025,
- kSGGetIndChannelSelect = 0x0026,
- kSGUpdateSelect = 0x0027,
- kSGGetPauseSelect = 0x0028,
- kSGSettingsDialogSelect = 0x0029,
- kSGGetAlignmentProcSelect = 0x002A,
- kSGSetChannelSettingsSelect = 0x002B,
- kSGGetChannelSettingsSelect = 0x002C,
- kSGGetModeSelect = 0x002D,
- kSGSetDataRefSelect = 0x002E,
- kSGGetDataRefSelect = 0x002F,
- kSGNewOutputSelect = 0x0030,
- kSGDisposeOutputSelect = 0x0031,
- kSGSetOutputFlagsSelect = 0x0032,
- kSGSetChannelOutputSelect = 0x0033,
- kSGGetDataOutputStorageSpaceRemainingSelect = 0x0034,
- kSGHandleUpdateEventSelect = 0x0035,
- kSGSetOutputNextOutputSelect = 0x0036,
- kSGGetOutputNextOutputSelect = 0x0037,
- kSGSetOutputMaximumOffsetSelect = 0x0038,
- kSGGetOutputMaximumOffsetSelect = 0x0039,
- kSGGetOutputDataReferenceSelect = 0x003A,
- kSGWriteExtendedMovieDataSelect = 0x003B,
- kSGGetStorageSpaceRemaining64Select = 0x003C,
- kSGGetDataOutputStorageSpaceRemaining64Select = 0x003D,
- kSGWriteMovieDataSelect = 0x0100,
- kSGAddFrameReferenceSelect = 0x0101,
- kSGGetNextFrameReferenceSelect = 0x0102,
- kSGGetTimeBaseSelect = 0x0103,
- kSGSortDeviceListSelect = 0x0104,
- kSGAddMovieDataSelect = 0x0105,
- kSGChangedSourceSelect = 0x0106,
- kSGAddExtendedFrameReferenceSelect = 0x0107,
- kSGGetNextExtendedFrameReferenceSelect = 0x0108,
- kSGAddExtendedMovieDataSelect = 0x0109,
- kSGAddOutputDataRefToMediaSelect = 0x010A,
- kSGSetSettingsSummarySelect = 0x010B,
- kSGSetChannelUsageSelect = 0x0080,
- kSGGetChannelUsageSelect = 0x0081,
- kSGSetChannelBoundsSelect = 0x0082,
- kSGGetChannelBoundsSelect = 0x0083,
- kSGSetChannelVolumeSelect = 0x0084,
- kSGGetChannelVolumeSelect = 0x0085,
- kSGGetChannelInfoSelect = 0x0086,
- kSGSetChannelPlayFlagsSelect = 0x0087,
- kSGGetChannelPlayFlagsSelect = 0x0088,
- kSGSetChannelMaxFramesSelect = 0x0089,
- kSGGetChannelMaxFramesSelect = 0x008A,
- kSGSetChannelRefConSelect = 0x008B,
- kSGSetChannelClipSelect = 0x008C,
- kSGGetChannelClipSelect = 0x008D,
- kSGGetChannelSampleDescriptionSelect = 0x008E,
- kSGGetChannelDeviceListSelect = 0x008F,
- kSGSetChannelDeviceSelect = 0x0090,
- kSGSetChannelMatrixSelect = 0x0091,
- kSGGetChannelMatrixSelect = 0x0092,
- kSGGetChannelTimeScaleSelect = 0x0093,
- kSGChannelPutPictureSelect = 0x0094,
- kSGChannelSetRequestedDataRateSelect = 0x0095,
- kSGChannelGetRequestedDataRateSelect = 0x0096,
- kSGChannelSetDataSourceNameSelect = 0x0097,
- kSGChannelGetDataSourceNameSelect = 0x0098,
- kSGChannelSetCodecSettingsSelect = 0x0099,
- kSGChannelGetCodecSettingsSelect = 0x009A,
- kSGGetChannelTimeBaseSelect = 0x009B,
- kSGGetChannelRefConSelect = 0x009C,
- kSGGetChannelDeviceAndInputNamesSelect = 0x009D,
- kSGSetChannelDeviceInputSelect = 0x009E,
- kSGSetChannelSettingsStateChangingSelect = 0x009F,
- kSGInitChannelSelect = 0x0180,
- kSGWriteSamplesSelect = 0x0181,
- kSGGetDataRateSelect = 0x0182,
- kSGAlignChannelRectSelect = 0x0183,
- kSGPanelGetDitlSelect = 0x0200,
- kSGPanelGetTitleSelect = 0x0201,
- kSGPanelCanRunSelect = 0x0202,
- kSGPanelInstallSelect = 0x0203,
- kSGPanelEventSelect = 0x0204,
- kSGPanelItemSelect = 0x0205,
- kSGPanelRemoveSelect = 0x0206,
- kSGPanelSetGrabberSelect = 0x0207,
- kSGPanelSetResFileSelect = 0x0208,
- kSGPanelGetSettingsSelect = 0x0209,
- kSGPanelSetSettingsSelect = 0x020A,
- kSGPanelValidateInputSelect = 0x020B,
- kSGPanelSetEventFilterSelect = 0x020C,
- kSGPanelGetDITLForSizeSelect = 0x020D,
- kSGGetSrcVideoBoundsSelect = 0x0100,
- kSGSetVideoRectSelect = 0x0101,
- kSGGetVideoRectSelect = 0x0102,
- kSGGetVideoCompressorTypeSelect = 0x0103,
- kSGSetVideoCompressorTypeSelect = 0x0104,
- kSGSetVideoCompressorSelect = 0x0105,
- kSGGetVideoCompressorSelect = 0x0106,
- kSGGetVideoDigitizerComponentSelect = 0x0107,
- kSGSetVideoDigitizerComponentSelect = 0x0108,
- kSGVideoDigitizerChangedSelect = 0x0109,
- kSGSetVideoBottlenecksSelect = 0x010A,
- kSGGetVideoBottlenecksSelect = 0x010B,
- kSGGrabFrameSelect = 0x010C,
- kSGGrabFrameCompleteSelect = 0x010D,
- kSGDisplayFrameSelect = 0x010E,
- kSGCompressFrameSelect = 0x010F,
- kSGCompressFrameCompleteSelect = 0x0110,
- kSGAddFrameSelect = 0x0111,
- kSGTransferFrameForCompressSelect = 0x0112,
- kSGSetCompressBufferSelect = 0x0113,
- kSGGetCompressBufferSelect = 0x0114,
- kSGGetBufferInfoSelect = 0x0115,
- kSGSetUseScreenBufferSelect = 0x0116,
- kSGGetUseScreenBufferSelect = 0x0117,
- kSGGrabCompressCompleteSelect = 0x0118,
- kSGDisplayCompressSelect = 0x0119,
- kSGSetFrameRateSelect = 0x011A,
- kSGGetFrameRateSelect = 0x011B,
- kSGSetPreferredPacketSizeSelect = 0x0121,
- kSGGetPreferredPacketSizeSelect = 0x0122,
- kSGSetUserVideoCompressorListSelect = 0x0123,
- kSGGetUserVideoCompressorListSelect = 0x0124,
- kSGSetSoundInputDriverSelect = 0x0100,
- kSGGetSoundInputDriverSelect = 0x0101,
- kSGSoundInputDriverChangedSelect = 0x0102,
- kSGSetSoundRecordChunkSizeSelect = 0x0103,
- kSGGetSoundRecordChunkSizeSelect = 0x0104,
- kSGSetSoundInputRateSelect = 0x0105,
- kSGGetSoundInputRateSelect = 0x0106,
- kSGSetSoundInputParametersSelect = 0x0107,
- kSGGetSoundInputParametersSelect = 0x0108,
- kSGSetAdditionalSoundRatesSelect = 0x0109,
- kSGGetAdditionalSoundRatesSelect = 0x010A,
- kSGSetFontNameSelect = 0x0100,
- kSGSetFontSizeSelect = 0x0101,
- kSGSetTextForeColorSelect = 0x0102,
- kSGSetTextBackColorSelect = 0x0103,
- kSGSetJustificationSelect = 0x0104,
- kSGGetTextReturnToSpaceValueSelect = 0x0105,
- kSGSetTextReturnToSpaceValueSelect = 0x0106,
- kSGGetInstrumentSelect = 0x0100,
- kSGSetInstrumentSelect = 0x0101,
- kQTVideoOutputGetDisplayModeListSelect = 0x0001,
- kQTVideoOutputGetCurrentClientNameSelect = 0x0002,
- kQTVideoOutputSetClientNameSelect = 0x0003,
- kQTVideoOutputGetClientNameSelect = 0x0004,
- kQTVideoOutputBeginSelect = 0x0005,
- kQTVideoOutputEndSelect = 0x0006,
- kQTVideoOutputSetDisplayModeSelect = 0x0007,
- kQTVideoOutputGetDisplayModeSelect = 0x0008,
- kQTVideoOutputCustomConfigureDisplaySelect = 0x0009,
- kQTVideoOutputSaveStateSelect = 0x000A,
- kQTVideoOutputRestoreStateSelect = 0x000B,
- kQTVideoOutputGetGWorldSelect = 0x000C,
- kQTVideoOutputGetGWorldParametersSelect = 0x000D,
- kQTVideoOutputGetIndSoundOutputSelect = 0x000E,
- kQTVideoOutputGetClockSelect = 0x000F,
- kQTVideoOutputSetEchoPortSelect = 0x0010,
- kQTVideoOutputGetIndImageDecompressorSelect = 0x0011,
- kQTVideoOutputBaseSetEchoPortSelect = 0x0012,
- kQTVideoOutputCopyIndAudioOutputDeviceUIDSelect = 0x0016
- };
+/* selectors for component calls */
+enum {
+ kClockGetTimeSelect = 0x0001,
+ kClockNewCallBackSelect = 0x0002,
+ kClockDisposeCallBackSelect = 0x0003,
+ kClockCallMeWhenSelect = 0x0004,
+ kClockCancelCallBackSelect = 0x0005,
+ kClockRateChangedSelect = 0x0006,
+ kClockTimeChangedSelect = 0x0007,
+ kClockSetTimeBaseSelect = 0x0008,
+ kClockStartStopChangedSelect = 0x0009,
+ kClockGetRateSelect = 0x000A,
+ kClockGetTimesForRateChangeSelect = 0x000B,
+ kClockGetRateChangeConstraintsSelect = 0x000C,
+ kSCAudioInvokeLegacyCodecOptionsDialogSelect = 0x0081,
+ kSCAudioFillBufferSelect = 0x0082,
+ kSCAudioResetSelect = 0x0083,
+ kSCGetCompressionExtendedSelect = 0x0001,
+ kSCPositionRectSelect = 0x0002,
+ kSCPositionDialogSelect = 0x0003,
+ kSCSetTestImagePictHandleSelect = 0x0004,
+ kSCSetTestImagePictFileSelect = 0x0005,
+ kSCSetTestImagePixMapSelect = 0x0006,
+ kSCGetBestDeviceRectSelect = 0x0007,
+ kSCRequestImageSettingsSelect = 0x000A,
+ kSCCompressImageSelect = 0x000B,
+ kSCCompressPictureSelect = 0x000C,
+ kSCCompressPictureFileSelect = 0x000D,
+ kSCRequestSequenceSettingsSelect = 0x000E,
+ kSCCompressSequenceBeginSelect = 0x000F,
+ kSCCompressSequenceFrameSelect = 0x0010,
+ kSCCompressSequenceEndSelect = 0x0011,
+ kSCDefaultPictHandleSettingsSelect = 0x0012,
+ kSCDefaultPictFileSettingsSelect = 0x0013,
+ kSCDefaultPixMapSettingsSelect = 0x0014,
+ kSCGetInfoSelect = 0x0015,
+ kSCSetInfoSelect = 0x0016,
+ kSCNewGWorldSelect = 0x0017,
+ kSCSetCompressFlagsSelect = 0x0018,
+ kSCGetCompressFlagsSelect = 0x0019,
+ kSCGetSettingsAsTextSelect = 0x001A,
+ kSCGetSettingsAsAtomContainerSelect = 0x001B,
+ kSCSetSettingsFromAtomContainerSelect = 0x001C,
+ kSCCompressSequenceFrameAsyncSelect = 0x001D,
+ kSCAsyncIdleSelect = 0x001E,
+ kSCCopyCompressionSessionOptionsSelect = 0x001F,
+ kTweenerInitializeSelect = 0x0001,
+ kTweenerDoTweenSelect = 0x0002,
+ kTweenerResetSelect = 0x0003,
+ kTCGetCurrentTimeCodeSelect = 0x0101,
+ kTCGetTimeCodeAtTimeSelect = 0x0102,
+ kTCTimeCodeToStringSelect = 0x0103,
+ kTCTimeCodeToFrameNumberSelect = 0x0104,
+ kTCFrameNumberToTimeCodeSelect = 0x0105,
+ kTCGetSourceRefSelect = 0x0106,
+ kTCSetSourceRefSelect = 0x0107,
+ kTCSetTimeCodeFlagsSelect = 0x0108,
+ kTCGetTimeCodeFlagsSelect = 0x0109,
+ kTCSetDisplayOptionsSelect = 0x010A,
+ kTCGetDisplayOptionsSelect = 0x010B,
+ kTCGetCurrentFrameAndTimeCodeDefSelect = 0x010C,
+ kTCGetFrameAndTimeCodeDefAtTimeSelect = 0x010D,
+ kTCTimeCodeTimeToStringSelect = 0x010E,
+ kTCTimeCodeCounterToStringSelect = 0x010F,
+ kTCTimeCodeTimeToFrameNumberSelect = 0x0110,
+ kTCTimeCodeCounterToFrameNumberSelect = 0x0111,
+ kTCFrameNumberToTimeCodeTimeSelect = 0x0112,
+ kTCFrameNumberToTimeCodeCounterSelect = 0x0113,
+ kMovieImportHandleSelect = 0x0001,
+ kMovieImportFileSelect = 0x0002,
+ kMovieImportSetSampleDurationSelect = 0x0003,
+ kMovieImportSetSampleDescriptionSelect = 0x0004,
+ kMovieImportSetMediaFileSelect = 0x0005,
+ kMovieImportSetDimensionsSelect = 0x0006,
+ kMovieImportSetChunkSizeSelect = 0x0007,
+ kMovieImportSetProgressProcSelect = 0x0008,
+ kMovieImportSetAuxiliaryDataSelect = 0x0009,
+ kMovieImportSetFromScrapSelect = 0x000A,
+ kMovieImportDoUserDialogSelect = 0x000B,
+ kMovieImportSetDurationSelect = 0x000C,
+ kMovieImportGetAuxiliaryDataTypeSelect = 0x000D,
+ kMovieImportValidateSelect = 0x000E,
+ kMovieImportGetFileTypeSelect = 0x000F,
+ kMovieImportDataRefSelect = 0x0010,
+ kMovieImportGetSampleDescriptionSelect = 0x0011,
+ kMovieImportGetMIMETypeListSelect = 0x0012,
+ kMovieImportSetOffsetAndLimitSelect = 0x0013,
+ kMovieImportGetSettingsAsAtomContainerSelect = 0x0014,
+ kMovieImportSetSettingsFromAtomContainerSelect = 0x0015,
+ kMovieImportSetOffsetAndLimit64Select = 0x0016,
+ kMovieImportIdleSelect = 0x0017,
+ kMovieImportValidateDataRefSelect = 0x0018,
+ kMovieImportGetLoadStateSelect = 0x0019,
+ kMovieImportGetMaxLoadedTimeSelect = 0x001A,
+ kMovieImportEstimateCompletionTimeSelect = 0x001B,
+ kMovieImportSetDontBlockSelect = 0x001C,
+ kMovieImportGetDontBlockSelect = 0x001D,
+ kMovieImportSetIdleManagerSelect = 0x001E,
+ kMovieImportSetNewMovieFlagsSelect = 0x001F,
+ kMovieImportGetDestinationMediaTypeSelect = 0x0020,
+ kMovieImportSetMediaDataRefSelect = 0x0021,
+ kMovieImportDoUserDialogDataRefSelect = 0x0022,
+ kMovieExportToHandleSelect = 0x0080,
+ kMovieExportToFileSelect = 0x0081,
+ kMovieExportGetAuxiliaryDataSelect = 0x0083,
+ kMovieExportSetProgressProcSelect = 0x0084,
+ kMovieExportSetSampleDescriptionSelect = 0x0085,
+ kMovieExportDoUserDialogSelect = 0x0086,
+ kMovieExportGetCreatorTypeSelect = 0x0087,
+ kMovieExportToDataRefSelect = 0x0088,
+ kMovieExportFromProceduresToDataRefSelect = 0x0089,
+ kMovieExportAddDataSourceSelect = 0x008A,
+ kMovieExportValidateSelect = 0x008B,
+ kMovieExportGetSettingsAsAtomContainerSelect = 0x008C,
+ kMovieExportSetSettingsFromAtomContainerSelect = 0x008D,
+ kMovieExportGetFileNameExtensionSelect = 0x008E,
+ kMovieExportGetShortFileTypeStringSelect = 0x008F,
+ kMovieExportGetSourceMediaTypeSelect = 0x0090,
+ kMovieExportSetGetMoviePropertyProcSelect = 0x0091,
+ kTextExportGetDisplayDataSelect = 0x0100,
+ kTextExportGetTimeFractionSelect = 0x0101,
+ kTextExportSetTimeFractionSelect = 0x0102,
+ kTextExportGetSettingsSelect = 0x0103,
+ kTextExportSetSettingsSelect = 0x0104,
+ kMIDIImportGetSettingsSelect = 0x0100,
+ kMIDIImportSetSettingsSelect = 0x0101,
+ kMovieExportNewGetDataAndPropertiesProcsSelect = 0x0100,
+ kMovieExportDisposeGetDataAndPropertiesProcsSelect = 0x0101,
+ kGraphicsImageImportSetSequenceEnabledSelect = 0x0100,
+ kGraphicsImageImportGetSequenceEnabledSelect = 0x0101,
+ kPreviewShowDataSelect = 0x0001,
+ kPreviewMakePreviewSelect = 0x0002,
+ kPreviewMakePreviewReferenceSelect = 0x0003,
+ kPreviewEventSelect = 0x0004,
+ kDataCodecDecompressSelect = 0x0001,
+ kDataCodecGetCompressBufferSizeSelect = 0x0002,
+ kDataCodecCompressSelect = 0x0003,
+ kDataCodecBeginInterruptSafeSelect = 0x0004,
+ kDataCodecEndInterruptSafeSelect = 0x0005,
+ kDataCodecDecompressPartialSelect = 0x0006,
+ kDataCodecCompressPartialSelect = 0x0007,
+ kDataHGetDataSelect = 0x0002,
+ kDataHPutDataSelect = 0x0003,
+ kDataHFlushDataSelect = 0x0004,
+ kDataHOpenForWriteSelect = 0x0005,
+ kDataHCloseForWriteSelect = 0x0006,
+ kDataHOpenForReadSelect = 0x0008,
+ kDataHCloseForReadSelect = 0x0009,
+ kDataHSetDataRefSelect = 0x000A,
+ kDataHGetDataRefSelect = 0x000B,
+ kDataHCompareDataRefSelect = 0x000C,
+ kDataHTaskSelect = 0x000D,
+ kDataHScheduleDataSelect = 0x000E,
+ kDataHFinishDataSelect = 0x000F,
+ kDataHFlushCacheSelect = 0x0010,
+ kDataHResolveDataRefSelect = 0x0011,
+ kDataHGetFileSizeSelect = 0x0012,
+ kDataHCanUseDataRefSelect = 0x0013,
+ kDataHGetVolumeListSelect = 0x0014,
+ kDataHWriteSelect = 0x0015,
+ kDataHPreextendSelect = 0x0016,
+ kDataHSetFileSizeSelect = 0x0017,
+ kDataHGetFreeSpaceSelect = 0x0018,
+ kDataHCreateFileSelect = 0x0019,
+ kDataHGetPreferredBlockSizeSelect = 0x001A,
+ kDataHGetDeviceIndexSelect = 0x001B,
+ kDataHIsStreamingDataHandlerSelect = 0x001C,
+ kDataHGetDataInBufferSelect = 0x001D,
+ kDataHGetScheduleAheadTimeSelect = 0x001E,
+ kDataHSetCacheSizeLimitSelect = 0x001F,
+ kDataHGetCacheSizeLimitSelect = 0x0020,
+ kDataHGetMovieSelect = 0x0021,
+ kDataHAddMovieSelect = 0x0022,
+ kDataHUpdateMovieSelect = 0x0023,
+ kDataHDoesBufferSelect = 0x0024,
+ kDataHGetFileNameSelect = 0x0025,
+ kDataHGetAvailableFileSizeSelect = 0x0026,
+ kDataHGetMacOSFileTypeSelect = 0x0027,
+ kDataHGetMIMETypeSelect = 0x0028,
+ kDataHSetDataRefWithAnchorSelect = 0x0029,
+ kDataHGetDataRefWithAnchorSelect = 0x002A,
+ kDataHSetMacOSFileTypeSelect = 0x002B,
+ kDataHSetTimeBaseSelect = 0x002C,
+ kDataHGetInfoFlagsSelect = 0x002D,
+ kDataHScheduleData64Select = 0x002E,
+ kDataHWrite64Select = 0x002F,
+ kDataHGetFileSize64Select = 0x0030,
+ kDataHPreextend64Select = 0x0031,
+ kDataHSetFileSize64Select = 0x0032,
+ kDataHGetFreeSpace64Select = 0x0033,
+ kDataHAppend64Select = 0x0034,
+ kDataHReadAsyncSelect = 0x0035,
+ kDataHPollReadSelect = 0x0036,
+ kDataHGetDataAvailabilitySelect = 0x0037,
+ kDataHGetFileSizeAsyncSelect = 0x003A,
+ kDataHGetDataRefAsTypeSelect = 0x003B,
+ kDataHSetDataRefExtensionSelect = 0x003C,
+ kDataHGetDataRefExtensionSelect = 0x003D,
+ kDataHGetMovieWithFlagsSelect = 0x003E,
+ kDataHGetFileTypeOrderingSelect = 0x0040,
+ kDataHCreateFileWithFlagsSelect = 0x0041,
+ kDataHGetMIMETypeAsyncSelect = 0x0042,
+ kDataHGetInfoSelect = 0x0043,
+ kDataHSetIdleManagerSelect = 0x0044,
+ kDataHDeleteFileSelect = 0x0045,
+ kDataHSetMovieUsageFlagsSelect = 0x0046,
+ kDataHUseTemporaryDataRefSelect = 0x0047,
+ kDataHGetTemporaryDataRefCapabilitiesSelect = 0x0048,
+ kDataHRenameFileSelect = 0x0049,
+ kDataHGetAvailableFileSize64Select = 0x004E,
+ kDataHGetDataAvailability64Select = 0x004F,
+ kDataHPlaybackHintsSelect = 0x0103,
+ kDataHPlaybackHints64Select = 0x010E,
+ kDataHGetDataRateSelect = 0x0110,
+ kDataHSetTimeHintsSelect = 0x0111,
+ kVDGetMaxSrcRectSelect = 0x0001,
+ kVDGetActiveSrcRectSelect = 0x0002,
+ kVDSetDigitizerRectSelect = 0x0003,
+ kVDGetDigitizerRectSelect = 0x0004,
+ kVDGetVBlankRectSelect = 0x0005,
+ kVDGetMaskPixMapSelect = 0x0006,
+ kVDGetPlayThruDestinationSelect = 0x0008,
+ kVDUseThisCLUTSelect = 0x0009,
+ kVDSetInputGammaValueSelect = 0x000A,
+ kVDGetInputGammaValueSelect = 0x000B,
+ kVDSetBrightnessSelect = 0x000C,
+ kVDGetBrightnessSelect = 0x000D,
+ kVDSetContrastSelect = 0x000E,
+ kVDSetHueSelect = 0x000F,
+ kVDSetSharpnessSelect = 0x0010,
+ kVDSetSaturationSelect = 0x0011,
+ kVDGetContrastSelect = 0x0012,
+ kVDGetHueSelect = 0x0013,
+ kVDGetSharpnessSelect = 0x0014,
+ kVDGetSaturationSelect = 0x0015,
+ kVDGrabOneFrameSelect = 0x0016,
+ kVDGetMaxAuxBufferSelect = 0x0017,
+ kVDGetDigitizerInfoSelect = 0x0019,
+ kVDGetCurrentFlagsSelect = 0x001A,
+ kVDSetKeyColorSelect = 0x001B,
+ kVDGetKeyColorSelect = 0x001C,
+ kVDAddKeyColorSelect = 0x001D,
+ kVDGetNextKeyColorSelect = 0x001E,
+ kVDSetKeyColorRangeSelect = 0x001F,
+ kVDGetKeyColorRangeSelect = 0x0020,
+ kVDSetDigitizerUserInterruptSelect = 0x0021,
+ kVDSetInputColorSpaceModeSelect = 0x0022,
+ kVDGetInputColorSpaceModeSelect = 0x0023,
+ kVDSetClipStateSelect = 0x0024,
+ kVDGetClipStateSelect = 0x0025,
+ kVDSetClipRgnSelect = 0x0026,
+ kVDClearClipRgnSelect = 0x0027,
+ kVDGetCLUTInUseSelect = 0x0028,
+ kVDSetPLLFilterTypeSelect = 0x0029,
+ kVDGetPLLFilterTypeSelect = 0x002A,
+ kVDGetMaskandValueSelect = 0x002B,
+ kVDSetMasterBlendLevelSelect = 0x002C,
+ kVDSetPlayThruDestinationSelect = 0x002D,
+ kVDSetPlayThruOnOffSelect = 0x002E,
+ kVDSetFieldPreferenceSelect = 0x002F,
+ kVDGetFieldPreferenceSelect = 0x0030,
+ kVDPreflightDestinationSelect = 0x0032,
+ kVDPreflightGlobalRectSelect = 0x0033,
+ kVDSetPlayThruGlobalRectSelect = 0x0034,
+ kVDSetInputGammaRecordSelect = 0x0035,
+ kVDGetInputGammaRecordSelect = 0x0036,
+ kVDSetBlackLevelValueSelect = 0x0037,
+ kVDGetBlackLevelValueSelect = 0x0038,
+ kVDSetWhiteLevelValueSelect = 0x0039,
+ kVDGetWhiteLevelValueSelect = 0x003A,
+ kVDGetVideoDefaultsSelect = 0x003B,
+ kVDGetNumberOfInputsSelect = 0x003C,
+ kVDGetInputFormatSelect = 0x003D,
+ kVDSetInputSelect = 0x003E,
+ kVDGetInputSelect = 0x003F,
+ kVDSetInputStandardSelect = 0x0040,
+ kVDSetupBuffersSelect = 0x0041,
+ kVDGrabOneFrameAsyncSelect = 0x0042,
+ kVDDoneSelect = 0x0043,
+ kVDSetCompressionSelect = 0x0044,
+ kVDCompressOneFrameAsyncSelect = 0x0045,
+ kVDCompressDoneSelect = 0x0046,
+ kVDReleaseCompressBufferSelect = 0x0047,
+ kVDGetImageDescriptionSelect = 0x0048,
+ kVDResetCompressSequenceSelect = 0x0049,
+ kVDSetCompressionOnOffSelect = 0x004A,
+ kVDGetCompressionTypesSelect = 0x004B,
+ kVDSetTimeBaseSelect = 0x004C,
+ kVDSetFrameRateSelect = 0x004D,
+ kVDGetDataRateSelect = 0x004E,
+ kVDGetSoundInputDriverSelect = 0x004F,
+ kVDGetDMADepthsSelect = 0x0050,
+ kVDGetPreferredTimeScaleSelect = 0x0051,
+ kVDReleaseAsyncBuffersSelect = 0x0052,
+ kVDSetDataRateSelect = 0x0054,
+ kVDGetTimeCodeSelect = 0x0055,
+ kVDUseSafeBuffersSelect = 0x0056,
+ kVDGetSoundInputSourceSelect = 0x0057,
+ kVDGetCompressionTimeSelect = 0x0058,
+ kVDSetPreferredPacketSizeSelect = 0x0059,
+ kVDSetPreferredImageDimensionsSelect = 0x005A,
+ kVDGetPreferredImageDimensionsSelect = 0x005B,
+ kVDGetInputNameSelect = 0x005C,
+ kVDSetDestinationPortSelect = 0x005D,
+ kVDGetDeviceNameAndFlagsSelect = 0x005E,
+ kVDCaptureStateChangingSelect = 0x005F,
+ kVDGetUniqueIDsSelect = 0x0060,
+ kVDSelectUniqueIDsSelect = 0x0061,
+ kVDCopyPreferredAudioDeviceSelect = 0x0063,
+ kVDIIDCGetFeaturesSelect = 0x0200,
+ kVDIIDCSetFeaturesSelect = 0x0201,
+ kVDIIDCGetDefaultFeaturesSelect = 0x0202,
+ kVDIIDCGetCSRDataSelect = 0x0203,
+ kVDIIDCSetCSRDataSelect = 0x0204,
+ kVDIIDCGetFeaturesForSpecifierSelect = 0x0205,
+ kXMLParseDataRefSelect = 0x0001,
+ kXMLParseFileSelect = 0x0002,
+ kXMLParseDisposeXMLDocSelect = 0x0003,
+ kXMLParseGetDetailedParseErrorSelect = 0x0004,
+ kXMLParseAddElementSelect = 0x0005,
+ kXMLParseAddAttributeSelect = 0x0006,
+ kXMLParseAddMultipleAttributesSelect = 0x0007,
+ kXMLParseAddAttributeAndValueSelect = 0x0008,
+ kXMLParseAddMultipleAttributesAndValuesSelect = 0x0009,
+ kXMLParseAddAttributeValueKindSelect = 0x000A,
+ kXMLParseAddNameSpaceSelect = 0x000B,
+ kXMLParseSetOffsetAndLimitSelect = 0x000C,
+ kXMLParseSetEventParseRefConSelect = 0x000D,
+ kXMLParseSetStartDocumentHandlerSelect = 0x000E,
+ kXMLParseSetEndDocumentHandlerSelect = 0x000F,
+ kXMLParseSetStartElementHandlerSelect = 0x0010,
+ kXMLParseSetEndElementHandlerSelect = 0x0011,
+ kXMLParseSetCharDataHandlerSelect = 0x0012,
+ kXMLParseSetPreprocessInstructionHandlerSelect = 0x0013,
+ kXMLParseSetCommentHandlerSelect = 0x0014,
+ kXMLParseSetCDataHandlerSelect = 0x0015,
+ kSGInitializeSelect = 0x0001,
+ kSGSetDataOutputSelect = 0x0002,
+ kSGGetDataOutputSelect = 0x0003,
+ kSGSetGWorldSelect = 0x0004,
+ kSGGetGWorldSelect = 0x0005,
+ kSGNewChannelSelect = 0x0006,
+ kSGDisposeChannelSelect = 0x0007,
+ kSGStartPreviewSelect = 0x0010,
+ kSGStartRecordSelect = 0x0011,
+ kSGIdleSelect = 0x0012,
+ kSGStopSelect = 0x0013,
+ kSGPauseSelect = 0x0014,
+ kSGPrepareSelect = 0x0015,
+ kSGReleaseSelect = 0x0016,
+ kSGGetMovieSelect = 0x0017,
+ kSGSetMaximumRecordTimeSelect = 0x0018,
+ kSGGetMaximumRecordTimeSelect = 0x0019,
+ kSGGetStorageSpaceRemainingSelect = 0x001A,
+ kSGGetTimeRemainingSelect = 0x001B,
+ kSGGrabPictSelect = 0x001C,
+ kSGGetLastMovieResIDSelect = 0x001D,
+ kSGSetFlagsSelect = 0x001E,
+ kSGGetFlagsSelect = 0x001F,
+ kSGSetDataProcSelect = 0x0020,
+ kSGNewChannelFromComponentSelect = 0x0021,
+ kSGDisposeDeviceListSelect = 0x0022,
+ kSGAppendDeviceListToMenuSelect = 0x0023,
+ kSGSetSettingsSelect = 0x0024,
+ kSGGetSettingsSelect = 0x0025,
+ kSGGetIndChannelSelect = 0x0026,
+ kSGUpdateSelect = 0x0027,
+ kSGGetPauseSelect = 0x0028,
+ kSGSettingsDialogSelect = 0x0029,
+ kSGGetAlignmentProcSelect = 0x002A,
+ kSGSetChannelSettingsSelect = 0x002B,
+ kSGGetChannelSettingsSelect = 0x002C,
+ kSGGetModeSelect = 0x002D,
+ kSGSetDataRefSelect = 0x002E,
+ kSGGetDataRefSelect = 0x002F,
+ kSGNewOutputSelect = 0x0030,
+ kSGDisposeOutputSelect = 0x0031,
+ kSGSetOutputFlagsSelect = 0x0032,
+ kSGSetChannelOutputSelect = 0x0033,
+ kSGGetDataOutputStorageSpaceRemainingSelect = 0x0034,
+ kSGHandleUpdateEventSelect = 0x0035,
+ kSGSetOutputNextOutputSelect = 0x0036,
+ kSGGetOutputNextOutputSelect = 0x0037,
+ kSGSetOutputMaximumOffsetSelect = 0x0038,
+ kSGGetOutputMaximumOffsetSelect = 0x0039,
+ kSGGetOutputDataReferenceSelect = 0x003A,
+ kSGWriteExtendedMovieDataSelect = 0x003B,
+ kSGGetStorageSpaceRemaining64Select = 0x003C,
+ kSGGetDataOutputStorageSpaceRemaining64Select = 0x003D,
+ kSGWriteMovieDataSelect = 0x0100,
+ kSGAddFrameReferenceSelect = 0x0101,
+ kSGGetNextFrameReferenceSelect = 0x0102,
+ kSGGetTimeBaseSelect = 0x0103,
+ kSGSortDeviceListSelect = 0x0104,
+ kSGAddMovieDataSelect = 0x0105,
+ kSGChangedSourceSelect = 0x0106,
+ kSGAddExtendedFrameReferenceSelect = 0x0107,
+ kSGGetNextExtendedFrameReferenceSelect = 0x0108,
+ kSGAddExtendedMovieDataSelect = 0x0109,
+ kSGAddOutputDataRefToMediaSelect = 0x010A,
+ kSGSetSettingsSummarySelect = 0x010B,
+ kSGSetChannelUsageSelect = 0x0080,
+ kSGGetChannelUsageSelect = 0x0081,
+ kSGSetChannelBoundsSelect = 0x0082,
+ kSGGetChannelBoundsSelect = 0x0083,
+ kSGSetChannelVolumeSelect = 0x0084,
+ kSGGetChannelVolumeSelect = 0x0085,
+ kSGGetChannelInfoSelect = 0x0086,
+ kSGSetChannelPlayFlagsSelect = 0x0087,
+ kSGGetChannelPlayFlagsSelect = 0x0088,
+ kSGSetChannelMaxFramesSelect = 0x0089,
+ kSGGetChannelMaxFramesSelect = 0x008A,
+ kSGSetChannelRefConSelect = 0x008B,
+ kSGSetChannelClipSelect = 0x008C,
+ kSGGetChannelClipSelect = 0x008D,
+ kSGGetChannelSampleDescriptionSelect = 0x008E,
+ kSGGetChannelDeviceListSelect = 0x008F,
+ kSGSetChannelDeviceSelect = 0x0090,
+ kSGSetChannelMatrixSelect = 0x0091,
+ kSGGetChannelMatrixSelect = 0x0092,
+ kSGGetChannelTimeScaleSelect = 0x0093,
+ kSGChannelPutPictureSelect = 0x0094,
+ kSGChannelSetRequestedDataRateSelect = 0x0095,
+ kSGChannelGetRequestedDataRateSelect = 0x0096,
+ kSGChannelSetDataSourceNameSelect = 0x0097,
+ kSGChannelGetDataSourceNameSelect = 0x0098,
+ kSGChannelSetCodecSettingsSelect = 0x0099,
+ kSGChannelGetCodecSettingsSelect = 0x009A,
+ kSGGetChannelTimeBaseSelect = 0x009B,
+ kSGGetChannelRefConSelect = 0x009C,
+ kSGGetChannelDeviceAndInputNamesSelect = 0x009D,
+ kSGSetChannelDeviceInputSelect = 0x009E,
+ kSGSetChannelSettingsStateChangingSelect = 0x009F,
+ kSGInitChannelSelect = 0x0180,
+ kSGWriteSamplesSelect = 0x0181,
+ kSGGetDataRateSelect = 0x0182,
+ kSGAlignChannelRectSelect = 0x0183,
+ kSGPanelGetDitlSelect = 0x0200,
+ kSGPanelGetTitleSelect = 0x0201,
+ kSGPanelCanRunSelect = 0x0202,
+ kSGPanelInstallSelect = 0x0203,
+ kSGPanelEventSelect = 0x0204,
+ kSGPanelItemSelect = 0x0205,
+ kSGPanelRemoveSelect = 0x0206,
+ kSGPanelSetGrabberSelect = 0x0207,
+ kSGPanelSetResFileSelect = 0x0208,
+ kSGPanelGetSettingsSelect = 0x0209,
+ kSGPanelSetSettingsSelect = 0x020A,
+ kSGPanelValidateInputSelect = 0x020B,
+ kSGPanelSetEventFilterSelect = 0x020C,
+ kSGPanelGetDITLForSizeSelect = 0x020D,
+ kSGGetSrcVideoBoundsSelect = 0x0100,
+ kSGSetVideoRectSelect = 0x0101,
+ kSGGetVideoRectSelect = 0x0102,
+ kSGGetVideoCompressorTypeSelect = 0x0103,
+ kSGSetVideoCompressorTypeSelect = 0x0104,
+ kSGSetVideoCompressorSelect = 0x0105,
+ kSGGetVideoCompressorSelect = 0x0106,
+ kSGGetVideoDigitizerComponentSelect = 0x0107,
+ kSGSetVideoDigitizerComponentSelect = 0x0108,
+ kSGVideoDigitizerChangedSelect = 0x0109,
+ kSGSetVideoBottlenecksSelect = 0x010A,
+ kSGGetVideoBottlenecksSelect = 0x010B,
+ kSGGrabFrameSelect = 0x010C,
+ kSGGrabFrameCompleteSelect = 0x010D,
+ kSGDisplayFrameSelect = 0x010E,
+ kSGCompressFrameSelect = 0x010F,
+ kSGCompressFrameCompleteSelect = 0x0110,
+ kSGAddFrameSelect = 0x0111,
+ kSGTransferFrameForCompressSelect = 0x0112,
+ kSGSetCompressBufferSelect = 0x0113,
+ kSGGetCompressBufferSelect = 0x0114,
+ kSGGetBufferInfoSelect = 0x0115,
+ kSGSetUseScreenBufferSelect = 0x0116,
+ kSGGetUseScreenBufferSelect = 0x0117,
+ kSGGrabCompressCompleteSelect = 0x0118,
+ kSGDisplayCompressSelect = 0x0119,
+ kSGSetFrameRateSelect = 0x011A,
+ kSGGetFrameRateSelect = 0x011B,
+ kSGSetPreferredPacketSizeSelect = 0x0121,
+ kSGGetPreferredPacketSizeSelect = 0x0122,
+ kSGSetUserVideoCompressorListSelect = 0x0123,
+ kSGGetUserVideoCompressorListSelect = 0x0124,
+ kSGSetSoundInputDriverSelect = 0x0100,
+ kSGGetSoundInputDriverSelect = 0x0101,
+ kSGSoundInputDriverChangedSelect = 0x0102,
+ kSGSetSoundRecordChunkSizeSelect = 0x0103,
+ kSGGetSoundRecordChunkSizeSelect = 0x0104,
+ kSGSetSoundInputRateSelect = 0x0105,
+ kSGGetSoundInputRateSelect = 0x0106,
+ kSGSetSoundInputParametersSelect = 0x0107,
+ kSGGetSoundInputParametersSelect = 0x0108,
+ kSGSetAdditionalSoundRatesSelect = 0x0109,
+ kSGGetAdditionalSoundRatesSelect = 0x010A,
+ kSGSetFontNameSelect = 0x0100,
+ kSGSetFontSizeSelect = 0x0101,
+ kSGSetTextForeColorSelect = 0x0102,
+ kSGSetTextBackColorSelect = 0x0103,
+ kSGSetJustificationSelect = 0x0104,
+ kSGGetTextReturnToSpaceValueSelect = 0x0105,
+ kSGSetTextReturnToSpaceValueSelect = 0x0106,
+ kSGGetInstrumentSelect = 0x0100,
+ kSGSetInstrumentSelect = 0x0101,
+ kQTVideoOutputGetDisplayModeListSelect = 0x0001,
+ kQTVideoOutputGetCurrentClientNameSelect = 0x0002,
+ kQTVideoOutputSetClientNameSelect = 0x0003,
+ kQTVideoOutputGetClientNameSelect = 0x0004,
+ kQTVideoOutputBeginSelect = 0x0005,
+ kQTVideoOutputEndSelect = 0x0006,
+ kQTVideoOutputSetDisplayModeSelect = 0x0007,
+ kQTVideoOutputGetDisplayModeSelect = 0x0008,
+ kQTVideoOutputCustomConfigureDisplaySelect = 0x0009,
+ kQTVideoOutputSaveStateSelect = 0x000A,
+ kQTVideoOutputRestoreStateSelect = 0x000B,
+ kQTVideoOutputGetGWorldSelect = 0x000C,
+ kQTVideoOutputGetGWorldParametersSelect = 0x000D,
+ kQTVideoOutputGetIndSoundOutputSelect = 0x000E,
+ kQTVideoOutputGetClockSelect = 0x000F,
+ kQTVideoOutputSetEchoPortSelect = 0x0010,
+ kQTVideoOutputGetIndImageDecompressorSelect = 0x0011,
+ kQTVideoOutputBaseSetEchoPortSelect = 0x0012,
+ kQTVideoOutputCopyIndAudioOutputDeviceUIDSelect = 0x0016
+};
#endif // !__LP64__
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QuickTimeErrors.h b/include/qt/QuickTimeErrors.h
index 012fcc349..c318d2409 100644
--- a/include/qt/QuickTimeErrors.h
+++ b/include/qt/QuickTimeErrors.h
@@ -1,17 +1,17 @@
/*
File: QuickTimeErrors.h
-
+
Contains: QuickTime Error codes.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2007 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 __QUICKTIMEERRORS__
#define __QUICKTIMEERRORS__
@@ -30,46 +30,43 @@
#if !__LP64__
-enum
-{
- kQTMediaDoesNotSupportDisplayOffsetsErr = -9460, /* Returned by new (B-frame-aware) media APIs that attempt to set nonzero decode to display deltas on media that do not support them. */
- kQTMediaHasDisplayOffsetsErr = -9461, /* Returned by old (non-B-frame-aware) media APIs that cannot cope with nonzero decode to display deltas on media that contain them. */
- kQTDisplayTimeAlreadyInUseErr = -9462, /* Returned if an attempt to add a new media sample fails because there is already a sample with its display time. */
- kQTDisplayTimeTooEarlyErr = -9463, /* Returned if an attempt to add a new media sample fails because its display time */
- /* would be earlier than the display time of an existing sample that does not have the */
- /* mediaSampleEarlierDisplayTimesAllowed flag set. */
- kQTTimeValueTooBigErr = -9464, /* Returned by APIs that use 32-bit TimeValues if a timevalue could not be returned because it did not fit. */
- kQTVisualContextRequiredErr = -9458, /* Returned if a visual context is required */
- kQTVisualContextNotAllowedErr = -9459, /* Returned if a visual context cannot be used */
- kQTPropertyBadValueSizeErr = -2184, /* Returned if the size for the property value is incorrect */
- kQTPropertyNotSupportedErr = -2195, /* Returned if the property is not supported */
- kQTPropertyAskLaterErr = -2200, /* Returned if the property is not available now, but may be available later */
- kQTPropertyReadOnlyErr = -2191, /* Returned if the property cannot be set */
- kQTPropertyArrayElementUnprocessedErr = -9465, /* Used with property arrays, set on a property element prior to processing (example usage: NewMovieFromProperties) */
- kQTCannotCoerceValueErr = -2192, /* Returned if a value cannot be coerced to the request type */
- kQTMessageNotHandledErr = -2194, /* Returned if the message was not handled */
- kQTMessageCommandNotSupportedErr = -2196, /* Returned if the command message is not supported */
- kQTMessageNoSuchParameterErr = -2197, /* Returned if the requested parameter does not exist */
- kQTObsoleteLPCMSoundFormatErr = -2171, /* Returned if the LPCM sound format is incorrectly set to something other than 'lpcm' */
- kQTIncompatibleDescriptionErr = -2166, /* Returned if the operation cannot be performed on this SampleDescription */
- kQTMetaDataInvalidMetaDataErr = -2173, /* Returned if the metadata container is invalid */
- kQTMetaDataInvalidItemErr = -2174, /* Returned if the metadata item is invalid */
- kQTMetaDataInvalidStorageFormatErr = -2175, /* Returned if the storage format is invalid */
- kQTMetaDataInvalidKeyFormatErr = -2176, /* Returned if the key format is invalid */
- kQTMetaDataNoMoreItemsErr = -2177 /* Returned if there is no more metadata items */
+enum {
+ kQTMediaDoesNotSupportDisplayOffsetsErr = -9460, /* Returned by new (B-frame-aware) media APIs that attempt to set nonzero decode to display deltas on media that do not support them. */
+ kQTMediaHasDisplayOffsetsErr = -9461, /* Returned by old (non-B-frame-aware) media APIs that cannot cope with nonzero decode to display deltas on media that contain them. */
+ kQTDisplayTimeAlreadyInUseErr = -9462, /* Returned if an attempt to add a new media sample fails because there is already a sample with its display time. */
+ kQTDisplayTimeTooEarlyErr = -9463, /* Returned if an attempt to add a new media sample fails because its display time */
+ /* would be earlier than the display time of an existing sample that does not have the */
+ /* mediaSampleEarlierDisplayTimesAllowed flag set. */
+ kQTTimeValueTooBigErr = -9464, /* Returned by APIs that use 32-bit TimeValues if a timevalue could not be returned because it did not fit. */
+ kQTVisualContextRequiredErr = -9458, /* Returned if a visual context is required */
+ kQTVisualContextNotAllowedErr = -9459, /* Returned if a visual context cannot be used */
+ kQTPropertyBadValueSizeErr = -2184, /* Returned if the size for the property value is incorrect */
+ kQTPropertyNotSupportedErr = -2195, /* Returned if the property is not supported */
+ kQTPropertyAskLaterErr = -2200, /* Returned if the property is not available now, but may be available later */
+ kQTPropertyReadOnlyErr = -2191, /* Returned if the property cannot be set */
+ kQTPropertyArrayElementUnprocessedErr = -9465, /* Used with property arrays, set on a property element prior to processing (example usage: NewMovieFromProperties) */
+ kQTCannotCoerceValueErr = -2192, /* Returned if a value cannot be coerced to the request type */
+ kQTMessageNotHandledErr = -2194, /* Returned if the message was not handled */
+ kQTMessageCommandNotSupportedErr = -2196, /* Returned if the command message is not supported */
+ kQTMessageNoSuchParameterErr = -2197, /* Returned if the requested parameter does not exist */
+ kQTObsoleteLPCMSoundFormatErr = -2171, /* Returned if the LPCM sound format is incorrectly set to something other than 'lpcm' */
+ kQTIncompatibleDescriptionErr = -2166, /* Returned if the operation cannot be performed on this SampleDescription */
+ kQTMetaDataInvalidMetaDataErr = -2173, /* Returned if the metadata container is invalid */
+ kQTMetaDataInvalidItemErr = -2174, /* Returned if the metadata item is invalid */
+ kQTMetaDataInvalidStorageFormatErr = -2175, /* Returned if the storage format is invalid */
+ kQTMetaDataInvalidKeyFormatErr = -2176, /* Returned if the key format is invalid */
+ kQTMetaDataNoMoreItemsErr = -2177 /* Returned if there is no more metadata items */
};
-enum
-{
- kICMCodecCantQueueOutOfOrderErr = -8995
+enum {
+ kICMCodecCantQueueOutOfOrderErr = -8995
};
-enum
-{
- vdImageDescStaleErr = -2210, /* The ImageDescription previously returned from VDGetImageDescription is no longer valid */
- vdHardwareGoneErr = -2211, /* The hardware device providing video frames has been unplugged */
- vdDontHaveThatUniqueIDErr = -2212 /* The hardware device does not have the ID you are asking for */
+enum {
+ vdImageDescStaleErr = -2210, /* The ImageDescription previously returned from VDGetImageDescription is no longer valid */
+ vdHardwareGoneErr = -2211, /* The hardware device providing video frames has been unplugged */
+ vdDontHaveThatUniqueIDErr = -2212 /* The hardware device does not have the ID you are asking for */
};
diff --git a/include/qt/QuickTimeMusic.h b/include/qt/QuickTimeMusic.h
index 64964f2b1..7cb612a9e 100644
--- a/include/qt/QuickTimeMusic.h
+++ b/include/qt/QuickTimeMusic.h
@@ -1,17 +1,17 @@
/*
File: QuickTimeMusic.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __QUICKTIMEMUSIC__
#define __QUICKTIMEMUSIC__
@@ -65,1950 +65,1895 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- enum {
- kaiToneDescType = FOUR_CHAR_CODE('tone'),
- kaiNoteRequestInfoType = FOUR_CHAR_CODE('ntrq'),
- kaiKnobListType = FOUR_CHAR_CODE('knbl'),
- kaiKeyRangeInfoType = FOUR_CHAR_CODE('sinf'),
- kaiSampleDescType = FOUR_CHAR_CODE('sdsc'),
- kaiSampleInfoType = FOUR_CHAR_CODE('smin'),
- kaiSampleDataType = FOUR_CHAR_CODE('sdat'),
- kaiSampleDataQUIDType = FOUR_CHAR_CODE('quid'),
- kaiInstInfoType = FOUR_CHAR_CODE('iinf'),
- kaiPictType = FOUR_CHAR_CODE('pict'),
- kaiWriterType = 0xA9777274,
- kaiCopyrightType = 0xA9637079,
- kaiOtherStrType = FOUR_CHAR_CODE('str '),
- kaiInstrumentRefType = FOUR_CHAR_CODE('iref'),
- kaiInstGMQualityType = FOUR_CHAR_CODE('qual'),
- kaiLibraryInfoType = FOUR_CHAR_CODE('linf'),
- kaiLibraryDescType = FOUR_CHAR_CODE('ldsc')
- };
-
- struct InstLibDescRec
- {
- Str31 libIDName;
- };
- typedef struct InstLibDescRec InstLibDescRec;
- struct InstKnobRec
- {
- BigEndianLong number;
- BigEndianLong value;
- };
- typedef struct InstKnobRec InstKnobRec;
- enum
- {
- kInstKnobMissingUnknown = 0,
- kInstKnobMissingDefault = (1 << 0)
- };
-
- struct InstKnobList
- {
- BigEndianLong knobCount;
- BigEndianLong knobFlags;
- InstKnobRec knob[1];
- };
- typedef struct InstKnobList InstKnobList;
- enum
- {
- kMusicLoopTypeNormal = 0,
- kMusicLoopTypePalindrome = 1 /* back & forth*/
- };
-
- enum
- {
- instSamplePreProcessFlag = 1 << 0
- };
-
- struct InstSampleDescRec
- {
- BigEndianOSType dataFormat;
- BigEndianShort numChannels;
- BigEndianShort sampleSize;
- BigEndianUnsignedFixed sampleRate;
- BigEndianShort sampleDataID;
- BigEndianLong offset; /* offset within SampleData - this could be just for internal use*/
- BigEndianLong numSamples; /* this could also just be for internal use, we'll see*/
-
- BigEndianLong loopType;
- BigEndianLong loopStart;
- BigEndianLong loopEnd;
-
- BigEndianLong pitchNormal;
- BigEndianLong pitchLow;
- BigEndianLong pitchHigh;
- };
- typedef struct InstSampleDescRec InstSampleDescRec;
-
- typedef Handle AtomicInstrument;
- typedef Ptr AtomicInstrumentPtr;
- enum
- {
- kQTMIDIComponentType = FOUR_CHAR_CODE('midi')
- };
-
- enum
- {
- kOMSComponentSubType = FOUR_CHAR_CODE('OMS '),
- kFMSComponentSubType = FOUR_CHAR_CODE('FMS '),
- kMIDIManagerComponentSubType = FOUR_CHAR_CODE('mmgr'),
- kOSXMIDIComponentSubType = FOUR_CHAR_CODE('osxm')
- };
-
- typedef ComponentInstance QTMIDIComponent;
- enum
- {
- kMusicPacketPortLost = 1, /* received when application loses the default input port */
- kMusicPacketPortFound = 2, /* received when application gets it back out from under someone else's claim */
- kMusicPacketTimeGap = 3 /* data[0] = number of milliseconds to keep the MIDI line silent */
- };
-
- enum
- {
- kAppleSysexID = 0x11, /* apple sysex is followed by 2-byte command. 0001 is the command for samplesize */
- kAppleSysexCmdSampleSize = 0x0001, /* 21 bit number in 3 midi bytes follows sysex ID and 2 cmd bytes */
- kAppleSysexCmdSampleBreak = 0x0002, /* specifies that the sample should break right here */
- kAppleSysexCmdAtomicInstrument = 0x0010, /* contents of atomic instrument handle */
- kAppleSysexCmdDeveloper = 0x7F00 /* F0 11 7F 00 ww xx yy zz ... F7 is available for non-Apple developers, where wxyz is unique app signature with 8th bit cleared, unique to developer, and 00 and 7f are reserved */
- };
-
- struct MusicMIDIPacket
- {
- unsigned short length;
- unsigned long reserved; /* if length zero, then reserved = above enum */
- UInt8 data[249];
- };
- typedef struct MusicMIDIPacket MusicMIDIPacket;
- typedef CALLBACK_API(ComponentResult , MusicMIDISendProcPtr)(ComponentInstance self, long refCon, MusicMIDIPacket *mmp);
- typedef STACK_UPP_TYPE(MusicMIDISendProcPtr) MusicMIDISendUPP;
- enum
- {
- kSynthesizerConnectionFMS = 1, /* this connection imported from FMS */
- kSynthesizerConnectionMMgr = 2, /* this connection imported from the MIDI Mgr */
- kSynthesizerConnectionOMS = 4, /* this connection imported from OMS */
- kSynthesizerConnectionQT = 8, /* this connection is a QuickTime-only port */
- kSynthesizerConnectionOSXMIDI = 16, /* this connection is an OS X CoreMIDI port */
- /* lowest five bits are mutually exclusive; combinations reserved for future use.*/
- kSynthesizerConnectionUnavailable = 256 /* port exists, but cannot be used just now */
- };
-
- /*
- The sampleBankFile field of this structure can be used to pass in a pointer to an FSSpec
- that represents a SoundFont 2 or DLS file (otherwise set it to NULL ).
-
- You then pass in a structure with this field set (all other fields should be zero) to
- NARegisterMusicDevice:
- - with synthType as kSoftSynthComponentSubType
- - with name being used to return to the application the "name" of the synth
- that should be used in the synthesiserName field of the ToneDescription structure
- and is also used to retrieve a particular MusicComponent with the
- NAGetRegisteredMusicDevice call
-
- This call will create a MusicComponent of kSoftSynthComponentSubType, with the specified
- sound bank as the sample data source.
-
- This field requires QuickTime 5.0 or later and should be set to NULL for prior versions.
- */
- struct SynthesizerConnections
- {
- OSType clientID;
- OSType inputPortID; /* terminology death: this port is used to SEND to the midi synth */
- OSType outputPortID; /* terminology death: this port receives from a keyboard or other control device */
- long midiChannel; /* The system channel; others are configurable (or the nubus slot number) */
- long flags;
- long unique; /* unique id may be used instead of index, to getinfo and unregister calls */
- FSSpecPtr sampleBankFile; /* see notes above */
- long reserved2; /* should be zero */
- };
- typedef struct SynthesizerConnections SynthesizerConnections;
- struct QTMIDIPort
- {
- SynthesizerConnections portConnections;
- Str63 portName;
- };
- typedef struct QTMIDIPort QTMIDIPort;
- struct QTMIDIPortList
- {
- short portCount;
- QTMIDIPort port[1];
- };
- typedef struct QTMIDIPortList QTMIDIPortList;
- typedef QTMIDIPortList * QTMIDIPortListPtr;
- typedef QTMIDIPortListPtr * QTMIDIPortListHandle;
- /*
- * QTMIDIGetMIDIPorts()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTMIDIGetMIDIPorts(
- QTMIDIComponent ci,
- QTMIDIPortListHandle * inputPorts,
- QTMIDIPortListHandle * outputPorts) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * QTMIDIUseSendPort()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTMIDIUseSendPort(
- QTMIDIComponent ci,
- long portIndex,
- long inUse) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * QTMIDISendMIDI()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- QTMIDISendMIDI(
- QTMIDIComponent ci,
- long portIndex,
- MusicMIDIPacket * mp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
-
-
-
-
-
- enum
- {
- kMusicComponentType = FOUR_CHAR_CODE('musi'),
- kInstrumentComponentType = FOUR_CHAR_CODE('inst')
- };
-
- enum
- {
- kSoftSynthComponentSubType = FOUR_CHAR_CODE('ss '),
- kGMSynthComponentSubType = FOUR_CHAR_CODE('gm ')
- };
-
-
- typedef ComponentInstance MusicComponent;
- /* MusicSynthesizerFlags*/
- enum
- {
- kSynthesizerDynamicVoice = 1 << 0, /* can assign voices on the fly (else, polyphony is very important */
- kSynthesizerUsesMIDIPort = 1 << 1, /* must be patched through MIDI Manager */
- kSynthesizerMicrotone = 1 << 2, /* can play microtonal scales */
- kSynthesizerHasSamples = 1 << 3, /* synthesizer has some use for sampled data */
- kSynthesizerMixedDrums = 1 << 4, /* any part can play drum parts, total = instrument parts */
- kSynthesizerSoftware = 1 << 5, /* implemented in main CPU software == uses cpu cycles */
- kSynthesizerHardware = 1 << 6, /* is a hardware device (such as nubus, or maybe DSP?) */
- kSynthesizerDynamicChannel = 1 << 7, /* can move any part to any channel or disable each part. (else we assume it lives on all channels in masks) */
- kSynthesizerHogsSystemChannel = 1 << 8, /* can be channelwise dynamic, but always responds on its system channel */
- kSynthesizerHasSystemChannel = 1 << 9, /* has some "system channel" notion to distinguish it from multiple instances of the same device (GM devices dont) */
- kSynthesizerSlowSetPart = 1 << 10, /* SetPart() and SetPartInstrumentNumber() calls do not have rapid response, may glitch notes */
- kSynthesizerOffline = 1 << 12, /* can enter an offline synthesis mode */
- kSynthesizerGM = 1 << 14, /* synth is a GM device */
- kSynthesizerDLS = 1 << 15, /* synth supports DLS level 1 */
- kSynthesizerSoundLocalization = 1 << 16 /* synth supports extremely baroque, nonstandard, and proprietary "apple game sprockets" localization parameter set */
- };
-
- /*
- * Note that these controller numbers
- * are _not_ identical to the MIDI controller numbers.
- * These are _signed_ 8.8 values, and the LSB's are
- * always sent to a MIDI device. Controllers 32-63 are
- * reserved (for MIDI, they are LSB's for 0-31, but we
- * always send both).
- *
- * The full range, therefore, is -128.00 to 127.7f.
- *
- * _Excepting_ _volume_, all controls default to zero.
- *
- * Pitch bend is specified in fractional semitones! No
- * more "pitch bend range" nonsense. You can bend as far
- * as you want, any time you want.
- */
- typedef SInt32 MusicController;
- enum
- {
- kControllerModulationWheel = 1,
- kControllerBreath = 2,
- kControllerFoot = 4,
- kControllerPortamentoTime = 5, /* time in 8.8 seconds, portamento on/off is omitted, 0 time = 'off' */
- kControllerVolume = 7, /* main volume control */
- kControllerBalance = 8,
- kControllerPan = 10, /* 0 - "default", 1 - n: positioned in output 1-n (incl fractions) */
- kControllerExpression = 11, /* secondary volume control */
- kControllerLever1 = 16, /* general purpose controllers */
- kControllerLever2 = 17, /* general purpose controllers */
- kControllerLever3 = 18, /* general purpose controllers */
- kControllerLever4 = 19, /* general purpose controllers */
- kControllerLever5 = 80, /* general purpose controllers */
- kControllerLever6 = 81, /* general purpose controllers */
- kControllerLever7 = 82, /* general purpose controllers */
- kControllerLever8 = 83, /* general purpose controllers */
- kControllerPitchBend = 32, /* positive & negative semitones, with 8 bits fraction, same units as transpose controllers*/
- kControllerAfterTouch = 33, /* aka channel pressure */
- kControllerPartTranspose = 40, /* identical to pitchbend, for overall part xpose */
- kControllerTuneTranspose = 41, /* another pitchbend, for "song global" pitch offset */
- kControllerPartVolume = 42, /* another volume control, passed right down from note allocator part volume */
- kControllerTuneVolume = 43, /* another volume control, used for "song global" volume - since we share one synthesizer across multiple tuneplayers*/
- kControllerSustain = 64, /* boolean - positive for on, 0 or negative off */
- kControllerPortamento = 65, /* boolean*/
- kControllerSostenuto = 66, /* boolean */
- kControllerSoftPedal = 67, /* boolean */
- kControllerReverb = 91,
- kControllerTremolo = 92,
- kControllerChorus = 93,
- kControllerCeleste = 94,
- kControllerPhaser = 95,
- kControllerEditPart = 113, /* last 16 controllers 113-128 and above are global controllers which respond on part zero */
- kControllerMasterTune = 114,
- kControllerMasterTranspose = 114, /* preferred*/
- kControllerMasterVolume = 115,
- kControllerMasterCPULoad = 116,
- kControllerMasterPolyphony = 117,
- kControllerMasterFeatures = 118
- };
-
-
- /* ID's of knobs supported by the QuickTime Music Synthesizer built into QuickTime*/
-
- enum
- {
- kQTMSKnobStartID = 0x02000000,
- kQTMSKnobVolumeAttackTimeID = 0x02000001,
- kQTMSKnobVolumeDecayTimeID = 0x02000002,
- kQTMSKnobVolumeSustainLevelID = 0x02000003,
- kQTMSKnobVolumeRelease1RateID = 0x02000004,
- kQTMSKnobVolumeDecayKeyScalingID = 0x02000005,
- kQTMSKnobVolumeReleaseTimeID = 0x02000006,
- kQTMSKnobVolumeLFODelayID = 0x02000007,
- kQTMSKnobVolumeLFORampTimeID = 0x02000008,
- kQTMSKnobVolumeLFOPeriodID = 0x02000009,
- kQTMSKnobVolumeLFOShapeID = 0x0200000A,
- kQTMSKnobVolumeLFODepthID = 0x0200000B,
- kQTMSKnobVolumeOverallID = 0x0200000C,
- kQTMSKnobVolumeVelocity127ID = 0x0200000D,
- kQTMSKnobVolumeVelocity96ID = 0x0200000E,
- kQTMSKnobVolumeVelocity64ID = 0x0200000F,
- kQTMSKnobVolumeVelocity32ID = 0x02000010,
- kQTMSKnobVolumeVelocity16ID = 0x02000011, /* Pitch related knobs*/
- kQTMSKnobPitchTransposeID = 0x02000012,
- kQTMSKnobPitchLFODelayID = 0x02000013,
- kQTMSKnobPitchLFORampTimeID = 0x02000014,
- kQTMSKnobPitchLFOPeriodID = 0x02000015,
- kQTMSKnobPitchLFOShapeID = 0x02000016,
- kQTMSKnobPitchLFODepthID = 0x02000017,
- kQTMSKnobPitchLFOQuantizeID = 0x02000018, /* Stereo related knobs*/
- kQTMSKnobStereoDefaultPanID = 0x02000019,
- kQTMSKnobStereoPositionKeyScalingID = 0x0200001A,
- kQTMSKnobPitchLFOOffsetID = 0x0200001B,
- kQTMSKnobExclusionGroupID = 0x0200001C, /* Misc knobs, late additions*/
- kQTMSKnobSustainTimeID = 0x0200001D,
- kQTMSKnobSustainInfiniteID = 0x0200001E,
- kQTMSKnobVolumeLFOStereoID = 0x0200001F,
- kQTMSKnobVelocityLowID = 0x02000020,
- kQTMSKnobVelocityHighID = 0x02000021,
- kQTMSKnobVelocitySensitivityID = 0x02000022,
- kQTMSKnobPitchSensitivityID = 0x02000023,
- kQTMSKnobVolumeLFODepthFromWheelID = 0x02000024,
- kQTMSKnobPitchLFODepthFromWheelID = 0x02000025, /* Volume Env again*/
- kQTMSKnobVolumeExpOptionsID = 0x02000026, /* Env1*/
- kQTMSKnobEnv1AttackTimeID = 0x02000027,
- kQTMSKnobEnv1DecayTimeID = 0x02000028,
- kQTMSKnobEnv1SustainLevelID = 0x02000029,
- kQTMSKnobEnv1SustainTimeID = 0x0200002A,
- kQTMSKnobEnv1SustainInfiniteID = 0x0200002B,
- kQTMSKnobEnv1ReleaseTimeID = 0x0200002C,
- kQTMSKnobEnv1ExpOptionsID = 0x0200002D, /* Env2*/
- kQTMSKnobEnv2AttackTimeID = 0x0200002E,
- kQTMSKnobEnv2DecayTimeID = 0x0200002F,
- kQTMSKnobEnv2SustainLevelID = 0x02000030,
- kQTMSKnobEnv2SustainTimeID = 0x02000031,
- kQTMSKnobEnv2SustainInfiniteID = 0x02000032,
- kQTMSKnobEnv2ReleaseTimeID = 0x02000033,
- kQTMSKnobEnv2ExpOptionsID = 0x02000034, /* Pitch Env*/
- kQTMSKnobPitchEnvelopeID = 0x02000035,
- kQTMSKnobPitchEnvelopeDepthID = 0x02000036, /* Filter*/
- kQTMSKnobFilterKeyFollowID = 0x02000037,
- kQTMSKnobFilterTransposeID = 0x02000038,
- kQTMSKnobFilterQID = 0x02000039,
- kQTMSKnobFilterFrequencyEnvelopeID = 0x0200003A,
- kQTMSKnobFilterFrequencyEnvelopeDepthID = 0x0200003B,
- kQTMSKnobFilterQEnvelopeID = 0x0200003C,
- kQTMSKnobFilterQEnvelopeDepthID = 0x0200003D, /* Reverb Threshhold*/
- kQTMSKnobReverbThresholdID = 0x0200003E,
- kQTMSKnobVolumeAttackVelScalingID = 0x0200003F,
- kQTMSKnobLastIDPlus1 = 0x02000040
- };
-
-
-
-
- enum
- {
- kControllerMaximum = 0x00007FFF, /* +01111111.11111111 */
- kControllerMinimum = (long)0xFFFF8000 /* -10000000.00000000 */
- };
-
- struct SynthesizerDescription
- {
- OSType synthesizerType; /* synthesizer type (must be same as component subtype) */
- Str31 name; /* text name of synthesizer type */
- unsigned long flags; /* from the above enum */
- unsigned long voiceCount; /* maximum polyphony */
-
- unsigned long partCount; /* maximum multi-timbrality (and midi channels) */
- unsigned long instrumentCount; /* non gm, built in (rom) instruments only */
- unsigned long modifiableInstrumentCount; /* plus n-more are user modifiable */
- unsigned long channelMask; /* (midi device only) which channels device always uses */
-
- unsigned long drumPartCount; /* maximum multi-timbrality of drum parts */
- unsigned long drumCount; /* non gm, built in (rom) drumkits only */
- unsigned long modifiableDrumCount; /* plus n-more are user modifiable */
- unsigned long drumChannelMask; /* (midi device only) which channels device always uses */
-
- unsigned long outputCount; /* number of audio outputs (usually two) */
- unsigned long latency; /* response time in .Sec */
-
- unsigned long controllers[4]; /* array of 128 bits */
- unsigned long gmInstruments[4]; /* array of 128 bits */
- unsigned long gmDrums[4]; /* array of 128 bits */
- };
- typedef struct SynthesizerDescription SynthesizerDescription;
- enum
- {
- kVoiceCountDynamic = -1 /* constant to use to specify dynamic voicing */
- };
-
-
- struct ToneDescription
- {
- BigEndianOSType synthesizerType; /* synthesizer type */
- Str31 synthesizerName; /* name of instantiation of synth */
- Str31 instrumentName; /* preferred name for human use */
- BigEndianLong instrumentNumber; /* inst-number used if synth-name matches */
- BigEndianLong gmNumber; /* Best matching general MIDI number */
- };
- typedef struct ToneDescription ToneDescription;
- enum
- {
- kFirstGMInstrument = 0x00000001,
- kLastGMInstrument = 0x00000080,
- kFirstGSInstrument = 0x00000081,
- kLastGSInstrument = 0x00003FFF,
- kFirstDrumkit = 0x00004000, /* (first value is "no drum". instrument numbers from 16384->16384+128 are drumkits, and for GM they are _defined_ drumkits! */
- kLastDrumkit = 0x00004080,
- kFirstROMInstrument = 0x00008000,
- kLastROMInstrument = 0x0000FFFF,
- kFirstUserInstrument = 0x00010000,
- kLastUserInstrument = 0x0001FFFF
- };
-
- /* InstrumentMatch*/
- enum
- {
- kInstrumentMatchSynthesizerType = 1,
- kInstrumentMatchSynthesizerName = 2,
- kInstrumentMatchName = 4,
- kInstrumentMatchNumber = 8,
- kInstrumentMatchGMNumber = 16,
- kInstrumentMatchGSNumber = 32
- };
-
- /* KnobFlags*/
- enum
- {
- kKnobBasic = 8, /* knob shows up in certain simplified lists of knobs */
- kKnobReadOnly = 16, /* knob value cannot be changed by user or with a SetKnob call */
- kKnobInterruptUnsafe = 32, /* only alter this knob from foreground task time (may access toolbox) */
- kKnobKeyrangeOverride = 64, /* knob can be overridden within a single keyrange (software synth only) */
- kKnobGroupStart = 128, /* knob is first in some logical group of knobs */
- kKnobFixedPoint8 = 1024,
- kKnobFixedPoint16 = 2048, /* One of these may be used at a time. */
- kKnobTypeNumber = 0 << 12,
- kKnobTypeGroupName = 1 << 12, /* "knob" is really a group name for display purposes */
- kKnobTypeBoolean = 2 << 12, /* if range is greater than 1, its a multi-checkbox field */
- kKnobTypeNote = 3 << 12, /* knob range is equivalent to MIDI keys */
- kKnobTypePan = 4 << 12, /* range goes left/right (lose this? ) */
- kKnobTypeInstrument = 5 << 12, /* knob value = reference to another instrument number */
- kKnobTypeSetting = 6 << 12, /* knob value is 1 of n different things (eg, fm algorithms) popup menu */
- kKnobTypeMilliseconds = 7 << 12, /* knob is a millisecond time range */
- kKnobTypePercentage = 8 << 12, /* knob range is displayed as a Percentage */
- kKnobTypeHertz = 9 << 12, /* knob represents frequency */
- kKnobTypeButton = 10 << 12 /* momentary trigger push button */
- };
-
-
- enum
- {
- kUnknownKnobValue = 0x7FFFFFFF, /* a knob with this value means, we don't know it. */
- kDefaultKnobValue = 0x7FFFFFFE /* used to SET a knob to its default value. */
- };
-
- struct KnobDescription
- {
- Str63 name;
- long lowValue;
- long highValue;
- long defaultValue; /* a default instrument is made of all default values */
- long flags;
- long knobID;
- };
- typedef struct KnobDescription KnobDescription;
- struct GCInstrumentData
- {
- ToneDescription tone;
- long knobCount;
- long knob[1];
- };
- typedef struct GCInstrumentData GCInstrumentData;
- typedef GCInstrumentData * GCInstrumentDataPtr;
- typedef GCInstrumentDataPtr * GCInstrumentDataHandle;
- struct InstrumentAboutInfo
- {
- PicHandle p;
- Str255 author;
- Str255 copyright;
- Str255 other;
- };
- typedef struct InstrumentAboutInfo InstrumentAboutInfo;
-
- enum
- {
- notImplementedMusicErr = (0x80000000 | (0xFFFF & (notImplementedMusicOSErr))),
- cantSendToSynthesizerErr = (0x80000000 | (0xFFFF & (cantSendToSynthesizerOSErr))),
- cantReceiveFromSynthesizerErr = (0x80000000 | (0xFFFF & (cantReceiveFromSynthesizerOSErr))),
- illegalVoiceAllocationErr = (0x80000000 | (0xFFFF & (illegalVoiceAllocationOSErr))),
- illegalPartErr = (0x80000000 | (0xFFFF & (illegalPartOSErr))),
- illegalChannelErr = (0x80000000 | (0xFFFF & (illegalChannelOSErr))),
- illegalKnobErr = (0x80000000 | (0xFFFF & (illegalKnobOSErr))),
- illegalKnobValueErr = (0x80000000 | (0xFFFF & (illegalKnobValueOSErr))),
- illegalInstrumentErr = (0x80000000 | (0xFFFF & (illegalInstrumentOSErr))),
- illegalControllerErr = (0x80000000 | (0xFFFF & (illegalControllerOSErr))),
- midiManagerAbsentErr = (0x80000000 | (0xFFFF & (midiManagerAbsentOSErr))),
- synthesizerNotRespondingErr = (0x80000000 | (0xFFFF & (synthesizerNotRespondingOSErr))),
- synthesizerErr = (0x80000000 | (0xFFFF & (synthesizerOSErr))),
- illegalNoteChannelErr = (0x80000000 | (0xFFFF & (illegalNoteChannelOSErr))),
- noteChannelNotAllocatedErr = (0x80000000 | (0xFFFF & (noteChannelNotAllocatedOSErr))),
- tunePlayerFullErr = (0x80000000 | (0xFFFF & (tunePlayerFullOSErr))),
- tuneParseErr = (0x80000000 | (0xFFFF & (tuneParseOSErr)))
- };
-
- enum
- {
- kGetAtomicInstNoExpandedSamples = 1 << 0,
- kGetAtomicInstNoOriginalSamples = 1 << 1,
- kGetAtomicInstNoSamples = kGetAtomicInstNoExpandedSamples | kGetAtomicInstNoOriginalSamples,
- kGetAtomicInstNoKnobList = 1 << 2,
- kGetAtomicInstNoInstrumentInfo = 1 << 3,
- kGetAtomicInstOriginalKnobList = 1 << 4,
- kGetAtomicInstAllKnobs = 1 << 5 /* return even those that are set to default*/
- };
-
- /*
- For non-gm instruments, instrument number of tone description == 0
- If you want to speed up while running, slam the inst num with what Get instrument number returns
- All missing knobs are slammed to the default value
- */
- enum
- {
- kSetAtomicInstKeepOriginalInstrument = 1 << 0,
- kSetAtomicInstShareAcrossParts = 1 << 1, /* inst disappears when app goes away*/
- kSetAtomicInstCallerTosses = 1 << 2, /* the caller isn't keeping a copy around (for NASetAtomicInstrument)*/
- kSetAtomicInstCallerGuarantees = 1 << 3, /* the caller guarantees a copy is around*/
- kSetAtomicInstInterruptSafe = 1 << 4, /* dont move memory at this time (but process at next task time)*/
- kSetAtomicInstDontPreprocess = 1 << 7 /* perform no further preprocessing because either 1)you know the instrument is digitally clean, or 2) you got it from a GetPartAtomic*/
- };
-
- enum
- {
- kInstrumentNamesModifiable = 1,
- kInstrumentNamesBoth = 2
- };
-
- /*
- * Structures specific to the GenericMusicComponent
- */
-
- enum
- {
- kGenericMusicComponentSubtype = FOUR_CHAR_CODE('gene')
- };
-
- struct GenericKnobDescription
- {
- KnobDescription kd;
- long hw1; /* driver defined */
- long hw2; /* driver defined */
- long hw3; /* driver defined */
- long settingsID; /* resource ID list for boolean and popup names */
- };
- typedef struct GenericKnobDescription GenericKnobDescription;
- struct GenericKnobDescriptionList
- {
- long knobCount;
- GenericKnobDescription knob[1];
- };
- typedef struct GenericKnobDescriptionList GenericKnobDescriptionList;
- typedef GenericKnobDescriptionList * GenericKnobDescriptionListPtr;
- typedef GenericKnobDescriptionListPtr * GenericKnobDescriptionListHandle;
- /* knobTypes for MusicDerivedSetKnob */
- enum
- {
- kGenericMusicKnob = 1,
- kGenericMusicInstrumentKnob = 2,
- kGenericMusicDrumKnob = 3,
- kGenericMusicGlobalController = 4
- };
-
-
-
- enum
- {
- kGenericMusicResFirst = 0,
- kGenericMusicResMiscStringList = 1, /* STR# 1: synth name, 2:about author,3:aboutcopyright,4:aboutother */
- kGenericMusicResMiscLongList = 2, /* Long various params, see list below */
- kGenericMusicResInstrumentList = 3, /* NmLs of names and shorts, categories prefixed by 'oo' */
- kGenericMusicResDrumList = 4, /* NmLs of names and shorts */
- kGenericMusicResInstrumentKnobDescriptionList = 5, /* Knob */
- kGenericMusicResDrumKnobDescriptionList = 6, /* Knob */
- kGenericMusicResKnobDescriptionList = 7, /* Knob */
- kGenericMusicResBitsLongList = 8, /* Long back to back bitmaps of controllers, gminstruments, and drums */
- kGenericMusicResModifiableInstrumentHW = 9, /* Shrt same as the hw shorts trailing the instrument names, a shortlist */
- kGenericMusicResGMTranslation = 10, /* Long 128 long entries, 1 for each gm inst, of local instrument numbers 1-n (not hw numbers) */
- kGenericMusicResROMInstrumentData = 11, /* knob lists for ROM instruments, so the knob values may be known */
- kGenericMusicResAboutPICT = 12, /* picture for aboutlist. must be present for GetAbout call to work */
- kGenericMusicResLast = 13
- };
-
- /* elements of the misc long list */
- enum
- {
- kGenericMusicMiscLongFirst = 0,
- kGenericMusicMiscLongVoiceCount = 1,
- kGenericMusicMiscLongPartCount = 2,
- kGenericMusicMiscLongModifiableInstrumentCount = 3,
- kGenericMusicMiscLongChannelMask = 4,
- kGenericMusicMiscLongDrumPartCount = 5,
- kGenericMusicMiscLongModifiableDrumCount = 6,
- kGenericMusicMiscLongDrumChannelMask = 7,
- kGenericMusicMiscLongOutputCount = 8,
- kGenericMusicMiscLongLatency = 9,
- kGenericMusicMiscLongFlags = 10,
- kGenericMusicMiscLongFirstGMHW = 11, /* number to add to locate GM main instruments */
- kGenericMusicMiscLongFirstGMDrumHW = 12, /* number to add to locate GM drumkits */
- kGenericMusicMiscLongFirstUserHW = 13, /* First hw number of user instruments (presumed sequential) */
- kGenericMusicMiscLongLast = 14
- };
-
- struct GCPart
- {
- long hwInstrumentNumber; /* internal number of recalled instrument */
- short controller[128]; /* current values for all controllers */
- long volume; /* ctrl 7 is special case */
- long polyphony;
- long midiChannel; /* 1-16 if in use */
- GCInstrumentData id; /* ToneDescription & knoblist, uncertain length */
- };
- typedef struct GCPart GCPart;
- /*
- * Calls specific to the GenericMusicComponent
- */
- enum
- {
- kMusicGenericRange = 0x0100,
- kMusicDerivedRange = 0x0200
- };
-
- /*
- * Flags in GenericMusicConfigure call
- */
- enum
- {
- kGenericMusicDoMIDI = 1 << 0, /* implement normal MIDI messages for note, controllers, and program changes 0-127 */
- kGenericMusicBank0 = 1 << 1, /* implement instrument bank changes on controller 0 */
- kGenericMusicBank32 = 1 << 2, /* implement instrument bank changes on controller 32 */
- kGenericMusicErsatzMIDI = 1 << 3, /* construct MIDI packets, but send them to the derived component */
- kGenericMusicCallKnobs = 1 << 4, /* call the derived component with special knob format call */
- kGenericMusicCallParts = 1 << 5, /* call the derived component with special part format call */
- kGenericMusicCallInstrument = 1 << 6, /* call MusicDerivedSetInstrument for MusicSetInstrument calls */
- kGenericMusicCallNumber = 1 << 7, /* call MusicDerivedSetPartInstrumentNumber for MusicSetPartInstrumentNumber calls, & don't send any C0 or bank stuff */
- kGenericMusicCallROMInstrument = 1 << 8, /* call MusicSetInstrument for MusicSetPartInstrumentNumber for "ROM" instruments, passing params from the ROMi resource */
- kGenericMusicAllDefaults = 1 << 9 /* indicates that when a new instrument is recalled, all knobs are reset to DEFAULT settings. True for GS modules */
- };
-
-
-
-
-
- typedef CALLBACK_API(ComponentResult , MusicOfflineDataProcPtr)(Ptr SoundData, long numBytes, long myRefCon);
- typedef STACK_UPP_TYPE(MusicOfflineDataProcPtr) MusicOfflineDataUPP;
- struct OfflineSampleType
- {
- unsigned long numChannels; /*number of channels, ie mono = 1*/
- UnsignedFixed sampleRate; /*sample rate in Apples Fixed point representation*/
- unsigned short sampleSize; /*number of bits in sample*/
- };
- typedef struct OfflineSampleType OfflineSampleType;
- struct InstrumentInfoRecord
- {
- long instrumentNumber; /* instrument number (if 0, name is a catagory)*/
- long flags; /* show in picker, etc.*/
- long toneNameIndex; /* index in toneNames (1 based)*/
- long itxtNameAtomID; /* index in itxtNames (itxt/name by index)*/
- };
- typedef struct InstrumentInfoRecord InstrumentInfoRecord;
- struct InstrumentInfoList
- {
- long recordCount;
- Handle toneNames; /* name from tone description*/
- QTAtomContainer itxtNames; /* itxt/name atoms for instruments*/
- InstrumentInfoRecord info[1];
- };
- typedef struct InstrumentInfoList InstrumentInfoList;
- typedef InstrumentInfoList * InstrumentInfoListPtr;
- typedef InstrumentInfoListPtr * InstrumentInfoListHandle;
- /*
- * MusicGetDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetDescription(
- MusicComponent mc,
- SynthesizerDescription * sd) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetPart()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetPart(
- MusicComponent mc,
- long part,
- long * midiChannel,
- long * polyphony) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetPart()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetPart(
- MusicComponent mc,
- long part,
- long midiChannel,
- long polyphony) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetPartInstrumentNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetPartInstrumentNumber(
- MusicComponent mc,
- long part,
- long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+enum {
+ kaiToneDescType = FOUR_CHAR_CODE('tone'),
+ kaiNoteRequestInfoType = FOUR_CHAR_CODE('ntrq'),
+ kaiKnobListType = FOUR_CHAR_CODE('knbl'),
+ kaiKeyRangeInfoType = FOUR_CHAR_CODE('sinf'),
+ kaiSampleDescType = FOUR_CHAR_CODE('sdsc'),
+ kaiSampleInfoType = FOUR_CHAR_CODE('smin'),
+ kaiSampleDataType = FOUR_CHAR_CODE('sdat'),
+ kaiSampleDataQUIDType = FOUR_CHAR_CODE('quid'),
+ kaiInstInfoType = FOUR_CHAR_CODE('iinf'),
+ kaiPictType = FOUR_CHAR_CODE('pict'),
+ kaiWriterType = 0xA9777274,
+ kaiCopyrightType = 0xA9637079,
+ kaiOtherStrType = FOUR_CHAR_CODE('str '),
+ kaiInstrumentRefType = FOUR_CHAR_CODE('iref'),
+ kaiInstGMQualityType = FOUR_CHAR_CODE('qual'),
+ kaiLibraryInfoType = FOUR_CHAR_CODE('linf'),
+ kaiLibraryDescType = FOUR_CHAR_CODE('ldsc')
+};
+
+struct InstLibDescRec {
+ Str31 libIDName;
+};
+typedef struct InstLibDescRec InstLibDescRec;
+struct InstKnobRec {
+ BigEndianLong number;
+ BigEndianLong value;
+};
+typedef struct InstKnobRec InstKnobRec;
+enum {
+ kInstKnobMissingUnknown = 0,
+ kInstKnobMissingDefault = (1 << 0)
+};
+
+struct InstKnobList {
+ BigEndianLong knobCount;
+ BigEndianLong knobFlags;
+ InstKnobRec knob[1];
+};
+typedef struct InstKnobList InstKnobList;
+enum {
+ kMusicLoopTypeNormal = 0,
+ kMusicLoopTypePalindrome = 1 /* back & forth*/
+};
+
+enum {
+ instSamplePreProcessFlag = 1 << 0
+};
+
+struct InstSampleDescRec {
+ BigEndianOSType dataFormat;
+ BigEndianShort numChannels;
+ BigEndianShort sampleSize;
+ BigEndianUnsignedFixed sampleRate;
+ BigEndianShort sampleDataID;
+ BigEndianLong offset; /* offset within SampleData - this could be just for internal use*/
+ BigEndianLong numSamples; /* this could also just be for internal use, we'll see*/
+
+ BigEndianLong loopType;
+ BigEndianLong loopStart;
+ BigEndianLong loopEnd;
+
+ BigEndianLong pitchNormal;
+ BigEndianLong pitchLow;
+ BigEndianLong pitchHigh;
+};
+typedef struct InstSampleDescRec InstSampleDescRec;
+
+typedef Handle AtomicInstrument;
+typedef Ptr AtomicInstrumentPtr;
+enum {
+ kQTMIDIComponentType = FOUR_CHAR_CODE('midi')
+};
+
+enum {
+ kOMSComponentSubType = FOUR_CHAR_CODE('OMS '),
+ kFMSComponentSubType = FOUR_CHAR_CODE('FMS '),
+ kMIDIManagerComponentSubType = FOUR_CHAR_CODE('mmgr'),
+ kOSXMIDIComponentSubType = FOUR_CHAR_CODE('osxm')
+};
+
+typedef ComponentInstance QTMIDIComponent;
+enum {
+ kMusicPacketPortLost = 1, /* received when application loses the default input port */
+ kMusicPacketPortFound = 2, /* received when application gets it back out from under someone else's claim */
+ kMusicPacketTimeGap = 3 /* data[0] = number of milliseconds to keep the MIDI line silent */
+};
+
+enum {
+ kAppleSysexID = 0x11, /* apple sysex is followed by 2-byte command. 0001 is the command for samplesize */
+ kAppleSysexCmdSampleSize = 0x0001, /* 21 bit number in 3 midi bytes follows sysex ID and 2 cmd bytes */
+ kAppleSysexCmdSampleBreak = 0x0002, /* specifies that the sample should break right here */
+ kAppleSysexCmdAtomicInstrument = 0x0010, /* contents of atomic instrument handle */
+ kAppleSysexCmdDeveloper = 0x7F00 /* F0 11 7F 00 ww xx yy zz ... F7 is available for non-Apple developers, where wxyz is unique app signature with 8th bit cleared, unique to developer, and 00 and 7f are reserved */
+};
+
+struct MusicMIDIPacket {
+ unsigned short length;
+ unsigned long reserved; /* if length zero, then reserved = above enum */
+ UInt8 data[249];
+};
+typedef struct MusicMIDIPacket MusicMIDIPacket;
+typedef CALLBACK_API( ComponentResult , MusicMIDISendProcPtr )(ComponentInstance self, long refCon, MusicMIDIPacket *mmp);
+typedef STACK_UPP_TYPE(MusicMIDISendProcPtr) MusicMIDISendUPP;
+enum {
+ kSynthesizerConnectionFMS = 1, /* this connection imported from FMS */
+ kSynthesizerConnectionMMgr = 2, /* this connection imported from the MIDI Mgr */
+ kSynthesizerConnectionOMS = 4, /* this connection imported from OMS */
+ kSynthesizerConnectionQT = 8, /* this connection is a QuickTime-only port */
+ kSynthesizerConnectionOSXMIDI = 16, /* this connection is an OS X CoreMIDI port */
+ /* lowest five bits are mutually exclusive; combinations reserved for future use.*/
+ kSynthesizerConnectionUnavailable = 256 /* port exists, but cannot be used just now */
+};
+
+/*
+ The sampleBankFile field of this structure can be used to pass in a pointer to an FSSpec
+ that represents a SoundFont 2 or DLS file (otherwise set it to NULL ).
+
+ You then pass in a structure with this field set (all other fields should be zero) to
+ NARegisterMusicDevice:
+ - with synthType as kSoftSynthComponentSubType
+ - with name being used to return to the application the "name" of the synth
+ that should be used in the synthesiserName field of the ToneDescription structure
+ and is also used to retrieve a particular MusicComponent with the
+ NAGetRegisteredMusicDevice call
+
+ This call will create a MusicComponent of kSoftSynthComponentSubType, with the specified
+ sound bank as the sample data source.
+
+ This field requires QuickTime 5.0 or later and should be set to NULL for prior versions.
+*/
+struct SynthesizerConnections {
+ OSType clientID;
+ OSType inputPortID; /* terminology death: this port is used to SEND to the midi synth */
+ OSType outputPortID; /* terminology death: this port receives from a keyboard or other control device */
+ long midiChannel; /* The system channel; others are configurable (or the nubus slot number) */
+ long flags;
+ long unique; /* unique id may be used instead of index, to getinfo and unregister calls */
+ FSSpecPtr sampleBankFile; /* see notes above */
+ long reserved2; /* should be zero */
+};
+typedef struct SynthesizerConnections SynthesizerConnections;
+struct QTMIDIPort {
+ SynthesizerConnections portConnections;
+ Str63 portName;
+};
+typedef struct QTMIDIPort QTMIDIPort;
+struct QTMIDIPortList {
+ short portCount;
+ QTMIDIPort port[1];
+};
+typedef struct QTMIDIPortList QTMIDIPortList;
+typedef QTMIDIPortList * QTMIDIPortListPtr;
+typedef QTMIDIPortListPtr * QTMIDIPortListHandle;
+/*
+ * QTMIDIGetMIDIPorts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTMIDIGetMIDIPorts(
+ QTMIDIComponent ci,
+ QTMIDIPortListHandle * inputPorts,
+ QTMIDIPortListHandle * outputPorts) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * QTMIDIUseSendPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTMIDIUseSendPort(
+ QTMIDIComponent ci,
+ long portIndex,
+ long inUse) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * QTMIDISendMIDI()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+QTMIDISendMIDI(
+ QTMIDIComponent ci,
+ long portIndex,
+ MusicMIDIPacket * mp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
+
+
+
+
+
+enum {
+ kMusicComponentType = FOUR_CHAR_CODE('musi'),
+ kInstrumentComponentType = FOUR_CHAR_CODE('inst')
+};
+
+enum {
+ kSoftSynthComponentSubType = FOUR_CHAR_CODE('ss '),
+ kGMSynthComponentSubType = FOUR_CHAR_CODE('gm ')
+};
+
+
+typedef ComponentInstance MusicComponent;
+/* MusicSynthesizerFlags*/
+enum {
+ kSynthesizerDynamicVoice = 1 << 0, /* can assign voices on the fly (else, polyphony is very important */
+ kSynthesizerUsesMIDIPort = 1 << 1, /* must be patched through MIDI Manager */
+ kSynthesizerMicrotone = 1 << 2, /* can play microtonal scales */
+ kSynthesizerHasSamples = 1 << 3, /* synthesizer has some use for sampled data */
+ kSynthesizerMixedDrums = 1 << 4, /* any part can play drum parts, total = instrument parts */
+ kSynthesizerSoftware = 1 << 5, /* implemented in main CPU software == uses cpu cycles */
+ kSynthesizerHardware = 1 << 6, /* is a hardware device (such as nubus, or maybe DSP?) */
+ kSynthesizerDynamicChannel = 1 << 7, /* can move any part to any channel or disable each part. (else we assume it lives on all channels in masks) */
+ kSynthesizerHogsSystemChannel = 1 << 8, /* can be channelwise dynamic, but always responds on its system channel */
+ kSynthesizerHasSystemChannel = 1 << 9, /* has some "system channel" notion to distinguish it from multiple instances of the same device (GM devices dont) */
+ kSynthesizerSlowSetPart = 1 << 10, /* SetPart() and SetPartInstrumentNumber() calls do not have rapid response, may glitch notes */
+ kSynthesizerOffline = 1 << 12, /* can enter an offline synthesis mode */
+ kSynthesizerGM = 1 << 14, /* synth is a GM device */
+ kSynthesizerDLS = 1 << 15, /* synth supports DLS level 1 */
+ kSynthesizerSoundLocalization = 1 << 16 /* synth supports extremely baroque, nonstandard, and proprietary "apple game sprockets" localization parameter set */
+};
+
+/*
+ * Note that these controller numbers
+ * are _not_ identical to the MIDI controller numbers.
+ * These are _signed_ 8.8 values, and the LSB's are
+ * always sent to a MIDI device. Controllers 32-63 are
+ * reserved (for MIDI, they are LSB's for 0-31, but we
+ * always send both).
+ *
+ * The full range, therefore, is -128.00 to 127.7f.
+ *
+ * _Excepting_ _volume_, all controls default to zero.
+ *
+ * Pitch bend is specified in fractional semitones! No
+ * more "pitch bend range" nonsense. You can bend as far
+ * as you want, any time you want.
+ */
+typedef SInt32 MusicController;
+enum {
+ kControllerModulationWheel = 1,
+ kControllerBreath = 2,
+ kControllerFoot = 4,
+ kControllerPortamentoTime = 5, /* time in 8.8 seconds, portamento on/off is omitted, 0 time = 'off' */
+ kControllerVolume = 7, /* main volume control */
+ kControllerBalance = 8,
+ kControllerPan = 10, /* 0 - "default", 1 - n: positioned in output 1-n (incl fractions) */
+ kControllerExpression = 11, /* secondary volume control */
+ kControllerLever1 = 16, /* general purpose controllers */
+ kControllerLever2 = 17, /* general purpose controllers */
+ kControllerLever3 = 18, /* general purpose controllers */
+ kControllerLever4 = 19, /* general purpose controllers */
+ kControllerLever5 = 80, /* general purpose controllers */
+ kControllerLever6 = 81, /* general purpose controllers */
+ kControllerLever7 = 82, /* general purpose controllers */
+ kControllerLever8 = 83, /* general purpose controllers */
+ kControllerPitchBend = 32, /* positive & negative semitones, with 8 bits fraction, same units as transpose controllers*/
+ kControllerAfterTouch = 33, /* aka channel pressure */
+ kControllerPartTranspose = 40, /* identical to pitchbend, for overall part xpose */
+ kControllerTuneTranspose = 41, /* another pitchbend, for "song global" pitch offset */
+ kControllerPartVolume = 42, /* another volume control, passed right down from note allocator part volume */
+ kControllerTuneVolume = 43, /* another volume control, used for "song global" volume - since we share one synthesizer across multiple tuneplayers*/
+ kControllerSustain = 64, /* boolean - positive for on, 0 or negative off */
+ kControllerPortamento = 65, /* boolean*/
+ kControllerSostenuto = 66, /* boolean */
+ kControllerSoftPedal = 67, /* boolean */
+ kControllerReverb = 91,
+ kControllerTremolo = 92,
+ kControllerChorus = 93,
+ kControllerCeleste = 94,
+ kControllerPhaser = 95,
+ kControllerEditPart = 113, /* last 16 controllers 113-128 and above are global controllers which respond on part zero */
+ kControllerMasterTune = 114,
+ kControllerMasterTranspose = 114, /* preferred*/
+ kControllerMasterVolume = 115,
+ kControllerMasterCPULoad = 116,
+ kControllerMasterPolyphony = 117,
+ kControllerMasterFeatures = 118
+};
+
+
+/* ID's of knobs supported by the QuickTime Music Synthesizer built into QuickTime*/
+
+enum {
+ kQTMSKnobStartID = 0x02000000,
+ kQTMSKnobVolumeAttackTimeID = 0x02000001,
+ kQTMSKnobVolumeDecayTimeID = 0x02000002,
+ kQTMSKnobVolumeSustainLevelID = 0x02000003,
+ kQTMSKnobVolumeRelease1RateID = 0x02000004,
+ kQTMSKnobVolumeDecayKeyScalingID = 0x02000005,
+ kQTMSKnobVolumeReleaseTimeID = 0x02000006,
+ kQTMSKnobVolumeLFODelayID = 0x02000007,
+ kQTMSKnobVolumeLFORampTimeID = 0x02000008,
+ kQTMSKnobVolumeLFOPeriodID = 0x02000009,
+ kQTMSKnobVolumeLFOShapeID = 0x0200000A,
+ kQTMSKnobVolumeLFODepthID = 0x0200000B,
+ kQTMSKnobVolumeOverallID = 0x0200000C,
+ kQTMSKnobVolumeVelocity127ID = 0x0200000D,
+ kQTMSKnobVolumeVelocity96ID = 0x0200000E,
+ kQTMSKnobVolumeVelocity64ID = 0x0200000F,
+ kQTMSKnobVolumeVelocity32ID = 0x02000010,
+ kQTMSKnobVolumeVelocity16ID = 0x02000011, /* Pitch related knobs*/
+ kQTMSKnobPitchTransposeID = 0x02000012,
+ kQTMSKnobPitchLFODelayID = 0x02000013,
+ kQTMSKnobPitchLFORampTimeID = 0x02000014,
+ kQTMSKnobPitchLFOPeriodID = 0x02000015,
+ kQTMSKnobPitchLFOShapeID = 0x02000016,
+ kQTMSKnobPitchLFODepthID = 0x02000017,
+ kQTMSKnobPitchLFOQuantizeID = 0x02000018, /* Stereo related knobs*/
+ kQTMSKnobStereoDefaultPanID = 0x02000019,
+ kQTMSKnobStereoPositionKeyScalingID = 0x0200001A,
+ kQTMSKnobPitchLFOOffsetID = 0x0200001B,
+ kQTMSKnobExclusionGroupID = 0x0200001C, /* Misc knobs, late additions*/
+ kQTMSKnobSustainTimeID = 0x0200001D,
+ kQTMSKnobSustainInfiniteID = 0x0200001E,
+ kQTMSKnobVolumeLFOStereoID = 0x0200001F,
+ kQTMSKnobVelocityLowID = 0x02000020,
+ kQTMSKnobVelocityHighID = 0x02000021,
+ kQTMSKnobVelocitySensitivityID = 0x02000022,
+ kQTMSKnobPitchSensitivityID = 0x02000023,
+ kQTMSKnobVolumeLFODepthFromWheelID = 0x02000024,
+ kQTMSKnobPitchLFODepthFromWheelID = 0x02000025, /* Volume Env again*/
+ kQTMSKnobVolumeExpOptionsID = 0x02000026, /* Env1*/
+ kQTMSKnobEnv1AttackTimeID = 0x02000027,
+ kQTMSKnobEnv1DecayTimeID = 0x02000028,
+ kQTMSKnobEnv1SustainLevelID = 0x02000029,
+ kQTMSKnobEnv1SustainTimeID = 0x0200002A,
+ kQTMSKnobEnv1SustainInfiniteID = 0x0200002B,
+ kQTMSKnobEnv1ReleaseTimeID = 0x0200002C,
+ kQTMSKnobEnv1ExpOptionsID = 0x0200002D, /* Env2*/
+ kQTMSKnobEnv2AttackTimeID = 0x0200002E,
+ kQTMSKnobEnv2DecayTimeID = 0x0200002F,
+ kQTMSKnobEnv2SustainLevelID = 0x02000030,
+ kQTMSKnobEnv2SustainTimeID = 0x02000031,
+ kQTMSKnobEnv2SustainInfiniteID = 0x02000032,
+ kQTMSKnobEnv2ReleaseTimeID = 0x02000033,
+ kQTMSKnobEnv2ExpOptionsID = 0x02000034, /* Pitch Env*/
+ kQTMSKnobPitchEnvelopeID = 0x02000035,
+ kQTMSKnobPitchEnvelopeDepthID = 0x02000036, /* Filter*/
+ kQTMSKnobFilterKeyFollowID = 0x02000037,
+ kQTMSKnobFilterTransposeID = 0x02000038,
+ kQTMSKnobFilterQID = 0x02000039,
+ kQTMSKnobFilterFrequencyEnvelopeID = 0x0200003A,
+ kQTMSKnobFilterFrequencyEnvelopeDepthID = 0x0200003B,
+ kQTMSKnobFilterQEnvelopeID = 0x0200003C,
+ kQTMSKnobFilterQEnvelopeDepthID = 0x0200003D, /* Reverb Threshhold*/
+ kQTMSKnobReverbThresholdID = 0x0200003E,
+ kQTMSKnobVolumeAttackVelScalingID = 0x0200003F,
+ kQTMSKnobLastIDPlus1 = 0x02000040
+};
+
+
+
+
+enum {
+ kControllerMaximum = 0x00007FFF, /* +01111111.11111111 */
+ kControllerMinimum = (long)0xFFFF8000 /* -10000000.00000000 */
+};
+
+struct SynthesizerDescription {
+ OSType synthesizerType; /* synthesizer type (must be same as component subtype) */
+ Str31 name; /* text name of synthesizer type */
+ unsigned long flags; /* from the above enum */
+ unsigned long voiceCount; /* maximum polyphony */
+
+ unsigned long partCount; /* maximum multi-timbrality (and midi channels) */
+ unsigned long instrumentCount; /* non gm, built in (rom) instruments only */
+ unsigned long modifiableInstrumentCount; /* plus n-more are user modifiable */
+ unsigned long channelMask; /* (midi device only) which channels device always uses */
+
+ unsigned long drumPartCount; /* maximum multi-timbrality of drum parts */
+ unsigned long drumCount; /* non gm, built in (rom) drumkits only */
+ unsigned long modifiableDrumCount; /* plus n-more are user modifiable */
+ unsigned long drumChannelMask; /* (midi device only) which channels device always uses */
+
+ unsigned long outputCount; /* number of audio outputs (usually two) */
+ unsigned long latency; /* response time in .Sec */
+
+ unsigned long controllers[4]; /* array of 128 bits */
+ unsigned long gmInstruments[4]; /* array of 128 bits */
+ unsigned long gmDrums[4]; /* array of 128 bits */
+};
+typedef struct SynthesizerDescription SynthesizerDescription;
+enum {
+ kVoiceCountDynamic = -1 /* constant to use to specify dynamic voicing */
+};
+
+
+struct ToneDescription {
+ BigEndianOSType synthesizerType; /* synthesizer type */
+ Str31 synthesizerName; /* name of instantiation of synth */
+ Str31 instrumentName; /* preferred name for human use */
+ BigEndianLong instrumentNumber; /* inst-number used if synth-name matches */
+ BigEndianLong gmNumber; /* Best matching general MIDI number */
+};
+typedef struct ToneDescription ToneDescription;
+enum {
+ kFirstGMInstrument = 0x00000001,
+ kLastGMInstrument = 0x00000080,
+ kFirstGSInstrument = 0x00000081,
+ kLastGSInstrument = 0x00003FFF,
+ kFirstDrumkit = 0x00004000, /* (first value is "no drum". instrument numbers from 16384->16384+128 are drumkits, and for GM they are _defined_ drumkits! */
+ kLastDrumkit = 0x00004080,
+ kFirstROMInstrument = 0x00008000,
+ kLastROMInstrument = 0x0000FFFF,
+ kFirstUserInstrument = 0x00010000,
+ kLastUserInstrument = 0x0001FFFF
+};
+
+/* InstrumentMatch*/
+enum {
+ kInstrumentMatchSynthesizerType = 1,
+ kInstrumentMatchSynthesizerName = 2,
+ kInstrumentMatchName = 4,
+ kInstrumentMatchNumber = 8,
+ kInstrumentMatchGMNumber = 16,
+ kInstrumentMatchGSNumber = 32
+};
+
+/* KnobFlags*/
+enum {
+ kKnobBasic = 8, /* knob shows up in certain simplified lists of knobs */
+ kKnobReadOnly = 16, /* knob value cannot be changed by user or with a SetKnob call */
+ kKnobInterruptUnsafe = 32, /* only alter this knob from foreground task time (may access toolbox) */
+ kKnobKeyrangeOverride = 64, /* knob can be overridden within a single keyrange (software synth only) */
+ kKnobGroupStart = 128, /* knob is first in some logical group of knobs */
+ kKnobFixedPoint8 = 1024,
+ kKnobFixedPoint16 = 2048, /* One of these may be used at a time. */
+ kKnobTypeNumber = 0 << 12,
+ kKnobTypeGroupName = 1 << 12, /* "knob" is really a group name for display purposes */
+ kKnobTypeBoolean = 2 << 12, /* if range is greater than 1, its a multi-checkbox field */
+ kKnobTypeNote = 3 << 12, /* knob range is equivalent to MIDI keys */
+ kKnobTypePan = 4 << 12, /* range goes left/right (lose this? ) */
+ kKnobTypeInstrument = 5 << 12, /* knob value = reference to another instrument number */
+ kKnobTypeSetting = 6 << 12, /* knob value is 1 of n different things (eg, fm algorithms) popup menu */
+ kKnobTypeMilliseconds = 7 << 12, /* knob is a millisecond time range */
+ kKnobTypePercentage = 8 << 12, /* knob range is displayed as a Percentage */
+ kKnobTypeHertz = 9 << 12, /* knob represents frequency */
+ kKnobTypeButton = 10 << 12 /* momentary trigger push button */
+};
+
+
+enum {
+ kUnknownKnobValue = 0x7FFFFFFF, /* a knob with this value means, we don't know it. */
+ kDefaultKnobValue = 0x7FFFFFFE /* used to SET a knob to its default value. */
+};
+
+struct KnobDescription {
+ Str63 name;
+ long lowValue;
+ long highValue;
+ long defaultValue; /* a default instrument is made of all default values */
+ long flags;
+ long knobID;
+};
+typedef struct KnobDescription KnobDescription;
+struct GCInstrumentData {
+ ToneDescription tone;
+ long knobCount;
+ long knob[1];
+};
+typedef struct GCInstrumentData GCInstrumentData;
+typedef GCInstrumentData * GCInstrumentDataPtr;
+typedef GCInstrumentDataPtr * GCInstrumentDataHandle;
+struct InstrumentAboutInfo {
+ PicHandle p;
+ Str255 author;
+ Str255 copyright;
+ Str255 other;
+};
+typedef struct InstrumentAboutInfo InstrumentAboutInfo;
+
+enum {
+ notImplementedMusicErr = (0x80000000 | (0xFFFF & (notImplementedMusicOSErr))),
+ cantSendToSynthesizerErr = (0x80000000 | (0xFFFF & (cantSendToSynthesizerOSErr))),
+ cantReceiveFromSynthesizerErr = (0x80000000 | (0xFFFF & (cantReceiveFromSynthesizerOSErr))),
+ illegalVoiceAllocationErr = (0x80000000 | (0xFFFF & (illegalVoiceAllocationOSErr))),
+ illegalPartErr = (0x80000000 | (0xFFFF & (illegalPartOSErr))),
+ illegalChannelErr = (0x80000000 | (0xFFFF & (illegalChannelOSErr))),
+ illegalKnobErr = (0x80000000 | (0xFFFF & (illegalKnobOSErr))),
+ illegalKnobValueErr = (0x80000000 | (0xFFFF & (illegalKnobValueOSErr))),
+ illegalInstrumentErr = (0x80000000 | (0xFFFF & (illegalInstrumentOSErr))),
+ illegalControllerErr = (0x80000000 | (0xFFFF & (illegalControllerOSErr))),
+ midiManagerAbsentErr = (0x80000000 | (0xFFFF & (midiManagerAbsentOSErr))),
+ synthesizerNotRespondingErr = (0x80000000 | (0xFFFF & (synthesizerNotRespondingOSErr))),
+ synthesizerErr = (0x80000000 | (0xFFFF & (synthesizerOSErr))),
+ illegalNoteChannelErr = (0x80000000 | (0xFFFF & (illegalNoteChannelOSErr))),
+ noteChannelNotAllocatedErr = (0x80000000 | (0xFFFF & (noteChannelNotAllocatedOSErr))),
+ tunePlayerFullErr = (0x80000000 | (0xFFFF & (tunePlayerFullOSErr))),
+ tuneParseErr = (0x80000000 | (0xFFFF & (tuneParseOSErr)))
+};
+
+enum {
+ kGetAtomicInstNoExpandedSamples = 1 << 0,
+ kGetAtomicInstNoOriginalSamples = 1 << 1,
+ kGetAtomicInstNoSamples = kGetAtomicInstNoExpandedSamples | kGetAtomicInstNoOriginalSamples,
+ kGetAtomicInstNoKnobList = 1 << 2,
+ kGetAtomicInstNoInstrumentInfo = 1 << 3,
+ kGetAtomicInstOriginalKnobList = 1 << 4,
+ kGetAtomicInstAllKnobs = 1 << 5 /* return even those that are set to default*/
+};
+
+/*
+ For non-gm instruments, instrument number of tone description == 0
+ If you want to speed up while running, slam the inst num with what Get instrument number returns
+ All missing knobs are slammed to the default value
+*/
+enum {
+ kSetAtomicInstKeepOriginalInstrument = 1 << 0,
+ kSetAtomicInstShareAcrossParts = 1 << 1, /* inst disappears when app goes away*/
+ kSetAtomicInstCallerTosses = 1 << 2, /* the caller isn't keeping a copy around (for NASetAtomicInstrument)*/
+ kSetAtomicInstCallerGuarantees = 1 << 3, /* the caller guarantees a copy is around*/
+ kSetAtomicInstInterruptSafe = 1 << 4, /* dont move memory at this time (but process at next task time)*/
+ kSetAtomicInstDontPreprocess = 1 << 7 /* perform no further preprocessing because either 1)you know the instrument is digitally clean, or 2) you got it from a GetPartAtomic*/
+};
+
+enum {
+ kInstrumentNamesModifiable = 1,
+ kInstrumentNamesBoth = 2
+};
+
+/*
+ * Structures specific to the GenericMusicComponent
+ */
+
+enum {
+ kGenericMusicComponentSubtype = FOUR_CHAR_CODE('gene')
+};
+
+struct GenericKnobDescription {
+ KnobDescription kd;
+ long hw1; /* driver defined */
+ long hw2; /* driver defined */
+ long hw3; /* driver defined */
+ long settingsID; /* resource ID list for boolean and popup names */
+};
+typedef struct GenericKnobDescription GenericKnobDescription;
+struct GenericKnobDescriptionList {
+ long knobCount;
+ GenericKnobDescription knob[1];
+};
+typedef struct GenericKnobDescriptionList GenericKnobDescriptionList;
+typedef GenericKnobDescriptionList * GenericKnobDescriptionListPtr;
+typedef GenericKnobDescriptionListPtr * GenericKnobDescriptionListHandle;
+/* knobTypes for MusicDerivedSetKnob */
+enum {
+ kGenericMusicKnob = 1,
+ kGenericMusicInstrumentKnob = 2,
+ kGenericMusicDrumKnob = 3,
+ kGenericMusicGlobalController = 4
+};
+
+
+
+enum {
+ kGenericMusicResFirst = 0,
+ kGenericMusicResMiscStringList = 1, /* STR# 1: synth name, 2:about author,3:aboutcopyright,4:aboutother */
+ kGenericMusicResMiscLongList = 2, /* Long various params, see list below */
+ kGenericMusicResInstrumentList = 3, /* NmLs of names and shorts, categories prefixed by 'oo' */
+ kGenericMusicResDrumList = 4, /* NmLs of names and shorts */
+ kGenericMusicResInstrumentKnobDescriptionList = 5, /* Knob */
+ kGenericMusicResDrumKnobDescriptionList = 6, /* Knob */
+ kGenericMusicResKnobDescriptionList = 7, /* Knob */
+ kGenericMusicResBitsLongList = 8, /* Long back to back bitmaps of controllers, gminstruments, and drums */
+ kGenericMusicResModifiableInstrumentHW = 9, /* Shrt same as the hw shorts trailing the instrument names, a shortlist */
+ kGenericMusicResGMTranslation = 10, /* Long 128 long entries, 1 for each gm inst, of local instrument numbers 1-n (not hw numbers) */
+ kGenericMusicResROMInstrumentData = 11, /* knob lists for ROM instruments, so the knob values may be known */
+ kGenericMusicResAboutPICT = 12, /* picture for aboutlist. must be present for GetAbout call to work */
+ kGenericMusicResLast = 13
+};
+
+/* elements of the misc long list */
+enum {
+ kGenericMusicMiscLongFirst = 0,
+ kGenericMusicMiscLongVoiceCount = 1,
+ kGenericMusicMiscLongPartCount = 2,
+ kGenericMusicMiscLongModifiableInstrumentCount = 3,
+ kGenericMusicMiscLongChannelMask = 4,
+ kGenericMusicMiscLongDrumPartCount = 5,
+ kGenericMusicMiscLongModifiableDrumCount = 6,
+ kGenericMusicMiscLongDrumChannelMask = 7,
+ kGenericMusicMiscLongOutputCount = 8,
+ kGenericMusicMiscLongLatency = 9,
+ kGenericMusicMiscLongFlags = 10,
+ kGenericMusicMiscLongFirstGMHW = 11, /* number to add to locate GM main instruments */
+ kGenericMusicMiscLongFirstGMDrumHW = 12, /* number to add to locate GM drumkits */
+ kGenericMusicMiscLongFirstUserHW = 13, /* First hw number of user instruments (presumed sequential) */
+ kGenericMusicMiscLongLast = 14
+};
+
+struct GCPart {
+ long hwInstrumentNumber; /* internal number of recalled instrument */
+ short controller[128]; /* current values for all controllers */
+ long volume; /* ctrl 7 is special case */
+ long polyphony;
+ long midiChannel; /* 1-16 if in use */
+ GCInstrumentData id; /* ToneDescription & knoblist, uncertain length */
+};
+typedef struct GCPart GCPart;
+/*
+ * Calls specific to the GenericMusicComponent
+ */
+enum {
+ kMusicGenericRange = 0x0100,
+ kMusicDerivedRange = 0x0200
+};
+
+/*
+ * Flags in GenericMusicConfigure call
+ */
+enum {
+ kGenericMusicDoMIDI = 1 << 0, /* implement normal MIDI messages for note, controllers, and program changes 0-127 */
+ kGenericMusicBank0 = 1 << 1, /* implement instrument bank changes on controller 0 */
+ kGenericMusicBank32 = 1 << 2, /* implement instrument bank changes on controller 32 */
+ kGenericMusicErsatzMIDI = 1 << 3, /* construct MIDI packets, but send them to the derived component */
+ kGenericMusicCallKnobs = 1 << 4, /* call the derived component with special knob format call */
+ kGenericMusicCallParts = 1 << 5, /* call the derived component with special part format call */
+ kGenericMusicCallInstrument = 1 << 6, /* call MusicDerivedSetInstrument for MusicSetInstrument calls */
+ kGenericMusicCallNumber = 1 << 7, /* call MusicDerivedSetPartInstrumentNumber for MusicSetPartInstrumentNumber calls, & don't send any C0 or bank stuff */
+ kGenericMusicCallROMInstrument = 1 << 8, /* call MusicSetInstrument for MusicSetPartInstrumentNumber for "ROM" instruments, passing params from the ROMi resource */
+ kGenericMusicAllDefaults = 1 << 9 /* indicates that when a new instrument is recalled, all knobs are reset to DEFAULT settings. True for GS modules */
+};
+
+
+
+
+
+typedef CALLBACK_API( ComponentResult , MusicOfflineDataProcPtr )(Ptr SoundData, long numBytes, long myRefCon);
+typedef STACK_UPP_TYPE(MusicOfflineDataProcPtr) MusicOfflineDataUPP;
+struct OfflineSampleType {
+ unsigned long numChannels; /*number of channels, ie mono = 1*/
+ UnsignedFixed sampleRate; /*sample rate in Apples Fixed point representation*/
+ unsigned short sampleSize; /*number of bits in sample*/
+};
+typedef struct OfflineSampleType OfflineSampleType;
+struct InstrumentInfoRecord {
+ long instrumentNumber; /* instrument number (if 0, name is a catagory)*/
+ long flags; /* show in picker, etc.*/
+ long toneNameIndex; /* index in toneNames (1 based)*/
+ long itxtNameAtomID; /* index in itxtNames (itxt/name by index)*/
+};
+typedef struct InstrumentInfoRecord InstrumentInfoRecord;
+struct InstrumentInfoList {
+ long recordCount;
+ Handle toneNames; /* name from tone description*/
+ QTAtomContainer itxtNames; /* itxt/name atoms for instruments*/
+ InstrumentInfoRecord info[1];
+};
+typedef struct InstrumentInfoList InstrumentInfoList;
+typedef InstrumentInfoList * InstrumentInfoListPtr;
+typedef InstrumentInfoListPtr * InstrumentInfoListHandle;
+/*
+ * MusicGetDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetDescription(
+ MusicComponent mc,
+ SynthesizerDescription * sd) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetPart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetPart(
+ MusicComponent mc,
+ long part,
+ long * midiChannel,
+ long * polyphony) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetPart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetPart(
+ MusicComponent mc,
+ long part,
+ long midiChannel,
+ long polyphony) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetPartInstrumentNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetPartInstrumentNumber(
+ MusicComponent mc,
+ long part,
+ long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
#if OLDROUTINENAMES
#define MusicSetInstrumentNumber(ci,part,instrumentNumber) MusicSetPartInstrumentNumber(ci, part,instrumentNumber)
#endif
- /*
- * MusicGetPartInstrumentNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetPartInstrumentNumber(
- MusicComponent mc,
- long part) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * MusicStorePartInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicStorePartInstrument(
- MusicComponent mc,
- long part,
- long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
-
-
-
- /*
- * MusicGetPartAtomicInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetPartAtomicInstrument(
- MusicComponent mc,
- long part,
- AtomicInstrument * ai,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetPartAtomicInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetPartAtomicInstrument(
- MusicComponent mc,
- long part,
- AtomicInstrumentPtr aiP,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000A, 0x7000, 0xA82A);
-
-
-
- /*
- * MusicGetPartKnob()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetPartKnob(
- MusicComponent mc,
- long part,
- long knobID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetPartKnob()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetPartKnob(
- MusicComponent mc,
- long part,
- long knobID,
- long knobValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetKnob()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetKnob(
- MusicComponent mc,
- long knobID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetKnob()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetKnob(
- MusicComponent mc,
- long knobID,
- long knobValue) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetPartName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetPartName(
- MusicComponent mc,
- long part,
- StringPtr name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetPartName()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetPartName(
- MusicComponent mc,
- long part,
- StringPtr name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0015, 0x7000, 0xA82A);
-
-
- /*
- * MusicFindTone()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicFindTone(
- MusicComponent mc,
- ToneDescription * td,
- long * libraryIndexOut,
- unsigned long * fit) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0016, 0x7000, 0xA82A);
-
-
- /*
- * MusicPlayNote()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicPlayNote(
- MusicComponent mc,
- long part,
- long pitch,
- long velocity) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * MusicResetPart()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicResetPart(
- MusicComponent mc,
- long part) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetPartController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetPartController(
- MusicComponent mc,
- long part,
- MusicController controllerNumber,
- long controllerValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0019, 0x7000, 0xA82A);
+/*
+ * MusicGetPartInstrumentNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetPartInstrumentNumber(
+ MusicComponent mc,
+ long part) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * MusicStorePartInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicStorePartInstrument(
+ MusicComponent mc,
+ long part,
+ long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
+
+
+
+/*
+ * MusicGetPartAtomicInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetPartAtomicInstrument(
+ MusicComponent mc,
+ long part,
+ AtomicInstrument * ai,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetPartAtomicInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetPartAtomicInstrument(
+ MusicComponent mc,
+ long part,
+ AtomicInstrumentPtr aiP,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000A, 0x7000, 0xA82A);
+
+
+
+/*
+ * MusicGetPartKnob()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetPartKnob(
+ MusicComponent mc,
+ long part,
+ long knobID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetPartKnob()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetPartKnob(
+ MusicComponent mc,
+ long part,
+ long knobID,
+ long knobValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetKnob()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetKnob(
+ MusicComponent mc,
+ long knobID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetKnob()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetKnob(
+ MusicComponent mc,
+ long knobID,
+ long knobValue) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetPartName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetPartName(
+ MusicComponent mc,
+ long part,
+ StringPtr name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetPartName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetPartName(
+ MusicComponent mc,
+ long part,
+ StringPtr name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0015, 0x7000, 0xA82A);
+
+
+/*
+ * MusicFindTone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicFindTone(
+ MusicComponent mc,
+ ToneDescription * td,
+ long * libraryIndexOut,
+ unsigned long * fit) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0016, 0x7000, 0xA82A);
+
+
+/*
+ * MusicPlayNote()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicPlayNote(
+ MusicComponent mc,
+ long part,
+ long pitch,
+ long velocity) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * MusicResetPart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicResetPart(
+ MusicComponent mc,
+ long part) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetPartController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetPartController(
+ MusicComponent mc,
+ long part,
+ MusicController controllerNumber,
+ long controllerValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0019, 0x7000, 0xA82A);
#if OLDROUTINENAMES
#define MusicSetController(ci,part,controllerNumber,controllerValue) MusicSetPartController(ci, part,controllerNumber,controllerValue)
#endif
- /*
- * MusicGetPartController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetPartController(
- MusicComponent mc,
- long part,
- MusicController controllerNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetMIDIProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetMIDIProc(
- MusicComponent mc,
- MusicMIDISendUPP * midiSendProc,
- long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetMIDIProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetMIDIProc(
- MusicComponent mc,
- MusicMIDISendUPP midiSendProc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001C, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetInstrumentNames()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetInstrumentNames(
- MusicComponent mc,
- long modifiableInstruments,
- Handle * instrumentNames,
- Handle * instrumentCategoryLasts,
- Handle * instrumentCategoryNames) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetDrumNames()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetDrumNames(
- MusicComponent mc,
- long modifiableInstruments,
- Handle * instrumentNumbers,
- Handle * instrumentNames) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001E, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetMasterTune()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetMasterTune(MusicComponent mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001F, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetMasterTune()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetMasterTune(
- MusicComponent mc,
- long masterTune) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
-
-
-
- /*
- * MusicGetInstrumentAboutInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetInstrumentAboutInfo(
- MusicComponent mc,
- long part,
- InstrumentAboutInfo * iai) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetDeviceConnection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetDeviceConnection(
- MusicComponent mc,
- long index,
- long * id1,
- long * id2) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0023, 0x7000, 0xA82A);
-
-
- /*
- * MusicUseDeviceConnection()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicUseDeviceConnection(
- MusicComponent mc,
- long id1,
- long id2) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetKnobSettingStrings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetKnobSettingStrings(
- MusicComponent mc,
- long knobIndex,
- long isGlobal,
- Handle * settingsNames,
- Handle * settingsCategoryLasts,
- Handle * settingsCategoryNames) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0025, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetMIDIPorts()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetMIDIPorts(
- MusicComponent mc,
- long * inputPortCount,
- long * outputPortCount) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0026, 0x7000, 0xA82A);
-
-
- /*
- * MusicSendMIDI()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSendMIDI(
- MusicComponent mc,
- long portIndex,
- MusicMIDIPacket * mp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0027, 0x7000, 0xA82A);
-
-
-
- /*
- * MusicStartOffline()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicStartOffline(
- MusicComponent mc,
- unsigned long * numChannels,
- UnsignedFixed * sampleRate,
- unsigned short * sampleSize,
- MusicOfflineDataUPP dataProc,
- long dataProcRefCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0029, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetOfflineTimeTo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetOfflineTimeTo(
- MusicComponent mc,
- long newTimeStamp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetInstrumentKnobDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetInstrumentKnobDescription(
- MusicComponent mc,
- long knobIndex,
- KnobDescription * mkd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetDrumKnobDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetDrumKnobDescription(
- MusicComponent mc,
- long knobIndex,
- KnobDescription * mkd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetKnobDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetKnobDescription(
- MusicComponent mc,
- long knobIndex,
- KnobDescription * mkd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A);
-
-
- /*
- * MusicGetInfoText()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetInfoText(
- MusicComponent mc,
- long selector,
- Handle * textH,
- Handle * styleH) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002E, 0x7000, 0xA82A);
-
-
- enum
- {
- kGetInstrumentInfoNoBuiltIn = 1 << 0,
- kGetInstrumentInfoMidiUserInst = 1 << 1,
- kGetInstrumentInfoNoIText = 1 << 2
- };
-
- /*
- * MusicGetInstrumentInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGetInstrumentInfo(
- MusicComponent mc,
- long getInstrumentInfoFlags,
- InstrumentInfoListHandle * infoListH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002F, 0x7000, 0xA82A);
-
-
-
-
-
- /*
- * MusicTask()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicTask(MusicComponent mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0031, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetPartInstrumentNumberInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetPartInstrumentNumberInterruptSafe(
- MusicComponent mc,
- long part,
- long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
-
-
- /*
- * MusicSetPartSoundLocalization()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicSetPartSoundLocalization(
- MusicComponent mc,
- long part,
- Handle data) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
-
-
- /*
- * MusicGenericConfigure()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGenericConfigure(
- MusicComponent mc,
- long mode,
- long flags,
- long baseResID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0100, 0x7000, 0xA82A);
-
-
- /*
- * MusicGenericGetPart()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGenericGetPart(
- MusicComponent mc,
- long partNumber,
- GCPart ** part) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * MusicGenericGetKnobList()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGenericGetKnobList(
- MusicComponent mc,
- long knobType,
- GenericKnobDescriptionListHandle * gkdlH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0102, 0x7000, 0xA82A);
-
-
- /*
- * MusicGenericSetResourceNumbers()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicGenericSetResourceNumbers(
- MusicComponent mc,
- Handle resourceIDH) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedMIDISend()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedMIDISend(
- MusicComponent mc,
- MusicMIDIPacket * packet) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedSetKnob()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedSetKnob(
- MusicComponent mc,
- long knobType,
- long knobNumber,
- long knobValue,
- long partNumber,
- GCPart * p,
- GenericKnobDescription * gkd) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0201, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedSetPart()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedSetPart(
- MusicComponent mc,
- long partNumber,
- GCPart * p) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0202, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedSetInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedSetInstrument(
- MusicComponent mc,
- long partNumber,
- GCPart * p) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0203, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedSetPartInstrumentNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedSetPartInstrumentNumber(
- MusicComponent mc,
- long partNumber,
- GCPart * p) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0204, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedSetMIDI()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedSetMIDI(
- MusicComponent mc,
- MusicMIDISendUPP midiProc,
- long refcon,
- long midiChannel) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0205, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedStorePartInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedStorePartInstrument(
- MusicComponent mc,
- long partNumber,
- GCPart * p,
- long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0206, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedOpenResFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedOpenResFile(MusicComponent mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0207, 0x7000, 0xA82A);
-
-
- /*
- * MusicDerivedCloseResFile()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- MusicDerivedCloseResFile(
- MusicComponent mc,
- short resRefNum) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0208, 0x7000, 0xA82A);
-
-
-
-
-
-
-
-
- /*--------------------------
- Types
- --------------------------*/
- enum
- {
- kNoteRequestNoGM = 1, /* don't degrade to a GM synth */
- kNoteRequestNoSynthType = 2, /* don't degrade to another synth of same type but different name */
- kNoteRequestSynthMustMatch = 4 /* synthType must be a match, including kGMSynthComponentSubType */
- };
-
-
- enum
- {
- kNoteRequestSpecifyMIDIChannel = 0x80
- };
-
- typedef ComponentInstance NoteAllocator;
- /*
- The midiChannelAssignment field of this structure is used to assign a MIDI channel
- when a NoteChannel is created from a NoteRequest.
- A value of 0 indicates a MIDI channel has *not* been assigned
- A value of (kNoteRequestSpecifyMIDIChannel | 1->16) is a MIDI channel assignment
-
- This field requires QuickTime 5.0 or later and should be set to 0 for prior versions.
- */
- typedef UInt8 NoteRequestMIDIChannel;
- struct NoteRequestInfo
- {
- UInt8 flags; /* 1: dont accept GM match, 2: dont accept same-synth-type match */
- NoteRequestMIDIChannel midiChannelAssignment; /* (kNoteRequestSpecifyMIDIChannel | 1->16) as MIDI Channel assignement or zero - see notes above */
- BigEndianShort polyphony; /* Maximum number of voices */
- BigEndianFixed typicalPolyphony; /* Hint for level mixing */
- };
- typedef struct NoteRequestInfo NoteRequestInfo;
- struct NoteRequest
- {
- NoteRequestInfo info;
- ToneDescription tone;
- };
- typedef struct NoteRequest NoteRequest;
-
- typedef long NoteChannel;
-
- enum
- {
- kPickDontMix = 1, /* dont mix instruments with drum sounds */
- kPickSameSynth = 2, /* only allow the same device that went in, to come out */
- kPickUserInsts = 4, /* show user insts in addition to ROM voices */
- kPickEditAllowEdit = 8, /* lets user switch over to edit mode */
- kPickEditAllowPick = 16, /* lets the user switch over to pick mode */
- kPickEditSynthGlobal = 32, /* edit the global knobs of the synth */
- kPickEditControllers = 64 /* edit the controllers of the notechannel */
- };
-
-
- enum
- {
- kNoteAllocatorComponentType = FOUR_CHAR_CODE('nota')
- };
-
-
- /*--------------------------------
- Note Allocator Prototypes
- --------------------------------*/
- /*
- * NARegisterMusicDevice()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NARegisterMusicDevice(
- NoteAllocator na,
- OSType synthType,
- Str31 name,
- SynthesizerConnections * connections) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0000, 0x7000, 0xA82A);
-
-
- /*
- * NAUnregisterMusicDevice()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAUnregisterMusicDevice(
- NoteAllocator na,
- long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * NAGetRegisteredMusicDevice()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAGetRegisteredMusicDevice(
- NoteAllocator na,
- long index,
- OSType * synthType,
- Str31 name,
- SynthesizerConnections * connections,
- MusicComponent * mc) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * NASaveMusicConfiguration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASaveMusicConfiguration(NoteAllocator na) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * NANewNoteChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NANewNoteChannel(
- NoteAllocator na,
- NoteRequest * noteRequest,
- NoteChannel * outChannel) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * NADisposeNoteChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NADisposeNoteChannel(
- NoteAllocator na,
- NoteChannel noteChannel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * NAGetNoteChannelInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAGetNoteChannelInfo(
- NoteAllocator na,
- NoteChannel noteChannel,
- long * index,
- long * part) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * NAPrerollNoteChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAPrerollNoteChannel(
- NoteAllocator na,
- NoteChannel noteChannel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * NAUnrollNoteChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAUnrollNoteChannel(
- NoteAllocator na,
- NoteChannel noteChannel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
-
-
-
- /*
- * NASetNoteChannelVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASetNoteChannelVolume(
- NoteAllocator na,
- NoteChannel noteChannel,
- Fixed volume) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * NAResetNoteChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAResetNoteChannel(
- NoteAllocator na,
- NoteChannel noteChannel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * NAPlayNote()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAPlayNote(
- NoteAllocator na,
- NoteChannel noteChannel,
- long pitch,
- long velocity) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000D, 0x7000, 0xA82A);
-
-
- /*
- * NASetController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASetController(
- NoteAllocator na,
- NoteChannel noteChannel,
- long controllerNumber,
- long controllerValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * NASetKnob()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASetKnob(
- NoteAllocator na,
- NoteChannel noteChannel,
- long knobNumber,
- long knobValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000F, 0x7000, 0xA82A);
-
-
- /*
- * NAFindNoteChannelTone()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAFindNoteChannelTone(
- NoteAllocator na,
- NoteChannel noteChannel,
- ToneDescription * td,
- long * instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * NASetInstrumentNumber()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASetInstrumentNumber(
- NoteAllocator na,
- NoteChannel noteChannel,
- long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
+/*
+ * MusicGetPartController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetPartController(
+ MusicComponent mc,
+ long part,
+ MusicController controllerNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetMIDIProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetMIDIProc(
+ MusicComponent mc,
+ MusicMIDISendUPP * midiSendProc,
+ long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetMIDIProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetMIDIProc(
+ MusicComponent mc,
+ MusicMIDISendUPP midiSendProc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001C, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetInstrumentNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetInstrumentNames(
+ MusicComponent mc,
+ long modifiableInstruments,
+ Handle * instrumentNames,
+ Handle * instrumentCategoryLasts,
+ Handle * instrumentCategoryNames) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetDrumNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetDrumNames(
+ MusicComponent mc,
+ long modifiableInstruments,
+ Handle * instrumentNumbers,
+ Handle * instrumentNames) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001E, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetMasterTune()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetMasterTune(MusicComponent mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001F, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetMasterTune()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetMasterTune(
+ MusicComponent mc,
+ long masterTune) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
+
+
+
+/*
+ * MusicGetInstrumentAboutInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetInstrumentAboutInfo(
+ MusicComponent mc,
+ long part,
+ InstrumentAboutInfo * iai) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetDeviceConnection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetDeviceConnection(
+ MusicComponent mc,
+ long index,
+ long * id1,
+ long * id2) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0023, 0x7000, 0xA82A);
+
+
+/*
+ * MusicUseDeviceConnection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicUseDeviceConnection(
+ MusicComponent mc,
+ long id1,
+ long id2) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetKnobSettingStrings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetKnobSettingStrings(
+ MusicComponent mc,
+ long knobIndex,
+ long isGlobal,
+ Handle * settingsNames,
+ Handle * settingsCategoryLasts,
+ Handle * settingsCategoryNames) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0025, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetMIDIPorts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetMIDIPorts(
+ MusicComponent mc,
+ long * inputPortCount,
+ long * outputPortCount) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0026, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSendMIDI()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSendMIDI(
+ MusicComponent mc,
+ long portIndex,
+ MusicMIDIPacket * mp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0027, 0x7000, 0xA82A);
+
+
+
+/*
+ * MusicStartOffline()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicStartOffline(
+ MusicComponent mc,
+ unsigned long * numChannels,
+ UnsignedFixed * sampleRate,
+ unsigned short * sampleSize,
+ MusicOfflineDataUPP dataProc,
+ long dataProcRefCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0029, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetOfflineTimeTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetOfflineTimeTo(
+ MusicComponent mc,
+ long newTimeStamp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetInstrumentKnobDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetInstrumentKnobDescription(
+ MusicComponent mc,
+ long knobIndex,
+ KnobDescription * mkd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetDrumKnobDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetDrumKnobDescription(
+ MusicComponent mc,
+ long knobIndex,
+ KnobDescription * mkd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetKnobDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetKnobDescription(
+ MusicComponent mc,
+ long knobIndex,
+ KnobDescription * mkd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGetInfoText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetInfoText(
+ MusicComponent mc,
+ long selector,
+ Handle * textH,
+ Handle * styleH) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002E, 0x7000, 0xA82A);
+
+
+enum {
+ kGetInstrumentInfoNoBuiltIn = 1 << 0,
+ kGetInstrumentInfoMidiUserInst = 1 << 1,
+ kGetInstrumentInfoNoIText = 1 << 2
+};
+
+/*
+ * MusicGetInstrumentInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGetInstrumentInfo(
+ MusicComponent mc,
+ long getInstrumentInfoFlags,
+ InstrumentInfoListHandle * infoListH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002F, 0x7000, 0xA82A);
+
+
+
+
+
+/*
+ * MusicTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicTask(MusicComponent mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0031, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetPartInstrumentNumberInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetPartInstrumentNumberInterruptSafe(
+ MusicComponent mc,
+ long part,
+ long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
+
+
+/*
+ * MusicSetPartSoundLocalization()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicSetPartSoundLocalization(
+ MusicComponent mc,
+ long part,
+ Handle data) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGenericConfigure()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGenericConfigure(
+ MusicComponent mc,
+ long mode,
+ long flags,
+ long baseResID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0100, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGenericGetPart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGenericGetPart(
+ MusicComponent mc,
+ long partNumber,
+ GCPart ** part) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGenericGetKnobList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGenericGetKnobList(
+ MusicComponent mc,
+ long knobType,
+ GenericKnobDescriptionListHandle * gkdlH) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0102, 0x7000, 0xA82A);
+
+
+/*
+ * MusicGenericSetResourceNumbers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicGenericSetResourceNumbers(
+ MusicComponent mc,
+ Handle resourceIDH) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedMIDISend()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedMIDISend(
+ MusicComponent mc,
+ MusicMIDIPacket * packet) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedSetKnob()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedSetKnob(
+ MusicComponent mc,
+ long knobType,
+ long knobNumber,
+ long knobValue,
+ long partNumber,
+ GCPart * p,
+ GenericKnobDescription * gkd) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0201, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedSetPart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedSetPart(
+ MusicComponent mc,
+ long partNumber,
+ GCPart * p) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0202, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedSetInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedSetInstrument(
+ MusicComponent mc,
+ long partNumber,
+ GCPart * p) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0203, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedSetPartInstrumentNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedSetPartInstrumentNumber(
+ MusicComponent mc,
+ long partNumber,
+ GCPart * p) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0204, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedSetMIDI()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedSetMIDI(
+ MusicComponent mc,
+ MusicMIDISendUPP midiProc,
+ long refcon,
+ long midiChannel) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0205, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedStorePartInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedStorePartInstrument(
+ MusicComponent mc,
+ long partNumber,
+ GCPart * p,
+ long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0206, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedOpenResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedOpenResFile(MusicComponent mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0207, 0x7000, 0xA82A);
+
+
+/*
+ * MusicDerivedCloseResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+MusicDerivedCloseResFile(
+ MusicComponent mc,
+ short resRefNum) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0208, 0x7000, 0xA82A);
+
+
+
+
+
+
+
+
+/*--------------------------
+ Types
+--------------------------*/
+enum {
+ kNoteRequestNoGM = 1, /* don't degrade to a GM synth */
+ kNoteRequestNoSynthType = 2, /* don't degrade to another synth of same type but different name */
+ kNoteRequestSynthMustMatch = 4 /* synthType must be a match, including kGMSynthComponentSubType */
+};
+
+
+enum {
+ kNoteRequestSpecifyMIDIChannel = 0x80
+};
+
+typedef ComponentInstance NoteAllocator;
+/*
+ The midiChannelAssignment field of this structure is used to assign a MIDI channel
+ when a NoteChannel is created from a NoteRequest.
+ A value of 0 indicates a MIDI channel has *not* been assigned
+ A value of (kNoteRequestSpecifyMIDIChannel | 1->16) is a MIDI channel assignment
+
+ This field requires QuickTime 5.0 or later and should be set to 0 for prior versions.
+*/
+typedef UInt8 NoteRequestMIDIChannel;
+struct NoteRequestInfo {
+ UInt8 flags; /* 1: dont accept GM match, 2: dont accept same-synth-type match */
+ NoteRequestMIDIChannel midiChannelAssignment; /* (kNoteRequestSpecifyMIDIChannel | 1->16) as MIDI Channel assignement or zero - see notes above */
+ BigEndianShort polyphony; /* Maximum number of voices */
+ BigEndianFixed typicalPolyphony; /* Hint for level mixing */
+};
+typedef struct NoteRequestInfo NoteRequestInfo;
+struct NoteRequest {
+ NoteRequestInfo info;
+ ToneDescription tone;
+};
+typedef struct NoteRequest NoteRequest;
+
+typedef long NoteChannel;
+
+enum {
+ kPickDontMix = 1, /* dont mix instruments with drum sounds */
+ kPickSameSynth = 2, /* only allow the same device that went in, to come out */
+ kPickUserInsts = 4, /* show user insts in addition to ROM voices */
+ kPickEditAllowEdit = 8, /* lets user switch over to edit mode */
+ kPickEditAllowPick = 16, /* lets the user switch over to pick mode */
+ kPickEditSynthGlobal = 32, /* edit the global knobs of the synth */
+ kPickEditControllers = 64 /* edit the controllers of the notechannel */
+};
+
+
+enum {
+ kNoteAllocatorComponentType = FOUR_CHAR_CODE('nota')
+};
+
+
+/*--------------------------------
+ Note Allocator Prototypes
+--------------------------------*/
+/*
+ * NARegisterMusicDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NARegisterMusicDevice(
+ NoteAllocator na,
+ OSType synthType,
+ Str31 name,
+ SynthesizerConnections * connections) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0000, 0x7000, 0xA82A);
+
+
+/*
+ * NAUnregisterMusicDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAUnregisterMusicDevice(
+ NoteAllocator na,
+ long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * NAGetRegisteredMusicDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAGetRegisteredMusicDevice(
+ NoteAllocator na,
+ long index,
+ OSType * synthType,
+ Str31 name,
+ SynthesizerConnections * connections,
+ MusicComponent * mc) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * NASaveMusicConfiguration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASaveMusicConfiguration(NoteAllocator na) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * NANewNoteChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NANewNoteChannel(
+ NoteAllocator na,
+ NoteRequest * noteRequest,
+ NoteChannel * outChannel) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * NADisposeNoteChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NADisposeNoteChannel(
+ NoteAllocator na,
+ NoteChannel noteChannel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * NAGetNoteChannelInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAGetNoteChannelInfo(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long * index,
+ long * part) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * NAPrerollNoteChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAPrerollNoteChannel(
+ NoteAllocator na,
+ NoteChannel noteChannel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * NAUnrollNoteChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAUnrollNoteChannel(
+ NoteAllocator na,
+ NoteChannel noteChannel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
+
+
+
+/*
+ * NASetNoteChannelVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASetNoteChannelVolume(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ Fixed volume) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * NAResetNoteChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAResetNoteChannel(
+ NoteAllocator na,
+ NoteChannel noteChannel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * NAPlayNote()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAPlayNote(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long pitch,
+ long velocity) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000D, 0x7000, 0xA82A);
+
+
+/*
+ * NASetController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASetController(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long controllerNumber,
+ long controllerValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * NASetKnob()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASetKnob(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long knobNumber,
+ long knobValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000F, 0x7000, 0xA82A);
+
+
+/*
+ * NAFindNoteChannelTone()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAFindNoteChannelTone(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ ToneDescription * td,
+ long * instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * NASetInstrumentNumber()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASetInstrumentNumber(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
@@ -2017,898 +1962,889 @@ extern "C" {
#define NASetNoteChannelInstrument(ci, noteChannel,instrumentNumber ) NASetInstrumentNumber(ci, noteChannel,instrumentNumber)
#define NASetInstrument(ci, noteChannel,instrumentNumber ) NASetInstrumentNumber(ci, noteChannel,instrumentNumber)
#endif
- /*
- * NAPickInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAPickInstrument(
- NoteAllocator na,
- ModalFilterUPP filterProc,
- StringPtr prompt,
- ToneDescription * sd,
- unsigned long flags,
- long refCon,
- long reserved1,
- long reserved2) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * NAPickArrangement()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAPickArrangement(
- NoteAllocator na,
- ModalFilterUPP filterProc,
- StringPtr prompt,
- long zero1,
- long zero2,
- Track t,
- StringPtr songName) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0013, 0x7000, 0xA82A);
-
-
-
- /*
- * NAStuffToneDescription()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAStuffToneDescription(
- NoteAllocator na,
- long gmNumber,
- ToneDescription * td) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * NACopyrightDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NACopyrightDialog(
- NoteAllocator na,
- PicHandle p,
- StringPtr author,
- StringPtr copyright,
- StringPtr other,
- StringPtr title,
- ModalFilterUPP filterProc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x001C, 0x001C, 0x7000, 0xA82A);
-
-
-
- /*
- kNADummyOneSelect = 29
- kNADummyTwoSelect = 30
- */
-
- /*
- * NAGetIndNoteChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAGetIndNoteChannel(
- NoteAllocator na,
- long index,
- NoteChannel * nc,
- long * seed) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001F, 0x7000, 0xA82A);
-
-
-
- /*
- * NAGetMIDIPorts()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAGetMIDIPorts(
- NoteAllocator na,
- QTMIDIPortListHandle * inputPorts,
- QTMIDIPortListHandle * outputPorts) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
-
-
- /*
- * NAGetNoteRequest()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAGetNoteRequest(
- NoteAllocator na,
- NoteChannel noteChannel,
- NoteRequest * nrOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0022, 0x7000, 0xA82A);
-
-
- /*
- * NASendMIDI()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASendMIDI(
- NoteAllocator na,
- NoteChannel noteChannel,
- MusicMIDIPacket * mp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0023, 0x7000, 0xA82A);
-
-
- /*
- * NAPickEditInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAPickEditInstrument(
- NoteAllocator na,
- ModalFilterUPP filterProc,
- StringPtr prompt,
- long refCon,
- NoteChannel nc,
- AtomicInstrument ai,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0024, 0x7000, 0xA82A);
-
-
- /*
- * NANewNoteChannelFromAtomicInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NANewNoteChannelFromAtomicInstrument(
- NoteAllocator na,
- AtomicInstrumentPtr instrument,
- long flags,
- NoteChannel * outChannel) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0025, 0x7000, 0xA82A);
-
-
- /*
- * NASetAtomicInstrument()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASetAtomicInstrument(
- NoteAllocator na,
- NoteChannel noteChannel,
- AtomicInstrumentPtr instrument,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0026, 0x7000, 0xA82A);
-
-
-
-
- /*
- * NAGetKnob()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAGetKnob(
- NoteAllocator na,
- NoteChannel noteChannel,
- long knobNumber,
- long * knobValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0028, 0x7000, 0xA82A);
-
-
- /*
- * NATask()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NATask(NoteAllocator na) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0029, 0x7000, 0xA82A);
-
-
- /*
- * NASetNoteChannelBalance()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASetNoteChannelBalance(
- NoteAllocator na,
- NoteChannel noteChannel,
- long balance) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A);
-
-
- /*
- * NASetInstrumentNumberInterruptSafe()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASetInstrumentNumberInterruptSafe(
- NoteAllocator na,
- NoteChannel noteChannel,
- long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
-
-
- /*
- * NASetNoteChannelSoundLocalization()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NASetNoteChannelSoundLocalization(
- NoteAllocator na,
- NoteChannel noteChannel,
- Handle data) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002C, 0x7000, 0xA82A);
-
-
- /*
- * NAGetController()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- NAGetController(
- NoteAllocator na,
- NoteChannel noteChannel,
- long controllerNumber,
- long * controllerValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002D, 0x7000, 0xA82A);
-
-
-
-
-
-
- enum
- {
- kTuneQueueDepth = 8 /* Deepest you can queue tune segments */
- };
-
-
- struct TuneStatus
- {
- unsigned long * tune; /* currently playing tune */
- unsigned long * tunePtr; /* position within currently playing piece */
- TimeValue time; /* current tune time */
- short queueCount; /* how many pieces queued up? */
- short queueSpots; /* How many more tunepieces can be queued */
- TimeValue queueTime; /* How much time is queued up? (can be very inaccurate) */
- long reserved[3];
- };
- typedef struct TuneStatus TuneStatus;
- typedef CALLBACK_API(void , TuneCallBackProcPtr)(const TuneStatus *status, long refCon);
- typedef CALLBACK_API(void , TunePlayCallBackProcPtr)(unsigned long *event, long seed, long refCon);
- typedef STACK_UPP_TYPE(TuneCallBackProcPtr) TuneCallBackUPP;
- typedef STACK_UPP_TYPE(TunePlayCallBackProcPtr) TunePlayCallBackUPP;
-
- typedef ComponentInstance TunePlayer;
- enum
- {
- kTunePlayerComponentType = FOUR_CHAR_CODE('tune')
- };
-
-
- /*
- * TuneSetHeader()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetHeader(
- TunePlayer tp,
- unsigned long * header) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * TuneGetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneGetTimeBase(
- TunePlayer tp,
- TimeBase * tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * TuneSetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetTimeScale(
- TunePlayer tp,
- TimeScale scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * TuneGetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneGetTimeScale(
- TunePlayer tp,
- TimeScale * scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * TuneGetIndexedNoteChannel()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneGetIndexedNoteChannel(
- TunePlayer tp,
- long i,
- NoteChannel * nc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
-
-
-
- /* Values for when to start. */
- enum
- {
- kTuneStartNow = 1, /* start after buffer is implied */
- kTuneDontClipNotes = 2, /* allow notes to finish their durations outside sample */
- kTuneExcludeEdgeNotes = 4, /* dont play notes that start at end of tune */
- kTuneQuickStart = 8, /* Leave all the controllers where they are, ignore start time */
- kTuneLoopUntil = 16, /* loop a queued tune if there's nothing else in the queue*/
- kTunePlayDifference = 32, /* by default, the tune difference is skipped*/
- kTunePlayConcurrent = 64, /* dont block the next tune sequence with this one*/
- kTuneStartNewMaster = 16384
- };
-
- /*
- * TuneQueue()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneQueue(
- TunePlayer tp,
- unsigned long * tune,
- Fixed tuneRate,
- unsigned long tuneStartPosition,
- unsigned long tuneStopPosition,
- unsigned long queueFlags,
- TuneCallBackUPP callBackProc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x001C, 0x000A, 0x7000, 0xA82A);
-
-
- /*
- * TuneInstant()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneInstant(
- TunePlayer tp,
- unsigned long * tune,
- unsigned long tunePosition) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * TuneGetStatus()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneGetStatus(
- TunePlayer tp,
- TuneStatus * status) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
-
-
- /* Values for stopping. */
- enum
- {
- kTuneStopFade = 1, /* do a quick, synchronous fadeout */
- kTuneStopSustain = 2, /* don't silece notes */
- kTuneStopInstant = 4, /* silence notes fast (else, decay them) */
- kTuneStopReleaseChannels = 8 /* afterwards, let the channels go */
- };
-
- /*
- * TuneStop()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneStop(
- TunePlayer tp,
- long stopFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
-
-
-
- /*
- * TuneSetVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetVolume(
- TunePlayer tp,
- Fixed volume) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
-
-
- /*
- * TuneGetVolume()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneGetVolume(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
-
-
- /*
- * TunePreroll()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TunePreroll(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A);
-
-
- /*
- * TuneUnroll()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneUnroll(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0013, 0x7000, 0xA82A);
-
-
- /*
- * TuneSetNoteChannels()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetNoteChannels(
- TunePlayer tp,
- unsigned long count,
- NoteChannel * noteChannelList,
- TunePlayCallBackUPP playCallBackProc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0014, 0x7000, 0xA82A);
-
-
- /*
- * TuneSetPartTranspose()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetPartTranspose(
- TunePlayer tp,
- unsigned long part,
- long transpose,
- long velocityShift) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0015, 0x7000, 0xA82A);
-
-
-
- /*
- * TuneGetNoteAllocator()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(NoteAllocator)
- TuneGetNoteAllocator(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0017, 0x7000, 0xA82A);
-
-
- /*
- * TuneSetSofter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetSofter(
- TunePlayer tp,
- long softer) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
-
-
- /*
- * TuneTask()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneTask(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0019, 0x7000, 0xA82A);
-
-
- /*
- * TuneSetBalance()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetBalance(
- TunePlayer tp,
- long balance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
-
-
- /*
- * TuneSetSoundLocalization()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetSoundLocalization(
- TunePlayer tp,
- Handle data) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
-
-
- /*
- * TuneSetHeaderWithSize()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetHeaderWithSize(
- TunePlayer tp,
- unsigned long * header,
- unsigned long size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001C, 0x7000, 0xA82A);
-
-
- /* flags for part mix. */
- enum
- {
- kTuneMixMute = 1, /* disable a part */
- kTuneMixSolo = 2 /* if any parts soloed, play only soloed parts */
- };
-
-
- /*
- * TuneSetPartMix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneSetPartMix(
- TunePlayer tp,
- unsigned long partNumber,
- long volume,
- long balance,
- long mixFlags) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001D, 0x7000, 0xA82A);
-
-
- /*
- * TuneGetPartMix()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later but deprecated in 10.5
- * Windows: in qtmlClient.lib 3.0 and later
- */
- EXTERN_API(ComponentResult)
- TuneGetPartMix(
- TunePlayer tp,
- unsigned long partNumber,
- long * volumeOut,
- long * balanceOut,
- long * mixFlagsOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001E, 0x7000, 0xA82A);
-
-
-
-
-
-
- typedef unsigned long MusicOpWord;
- typedef MusicOpWord * MusicOpWordPtr;
- /* QuickTime Music Track Event Formats:
-
- At this time, QuickTime music tracks support 5 different event types -- REST events,
- short NOTE events, short CONTROL events, short GENERAL events, Long NOTE events,
- long CONTROL events, and variable GENERAL events.
-
- o REST Event (4 bytes/event):
-
- (0 0 0) (5-bit UNUSED) (24-bit Rest Duration)
-
- o.Short NOTE Events (4 bytes/event):
-
- (0 0 1) (5-bit Part) (6-bit Pitch) (7-bit Volume) (11-bit Duration)
-
- where: Pitch is offset by 32 (Actual pitch = pitch field + 32)
-
- o.Short CONTROL Events (4 bytes/event):
-
- (0 1 0) (5-bit Part) (8-bit Controller) (1-bit UNUSED) (1-bit Sign) (7-bit MSB) (7-bit LSB)
- ( or 15-bit Signed Value)
- o Short GENERAL Event (4 bytes/event):
-
- (0 1 1) (1-bit UNUSED) (12-bit Sub-Type) (16-bit Value)
-
- o Long NOTE Events (8 bytes/event):
-
- (1 0 0 1) (12-bit Part) (1-bit UNUSED) (7-bit Pitch) (1-bit UNUSED) (7-bit Volume)
- (1 0) (8-bit UNUSED) (22-bit Duration)
-
- o.Long CONTROL Event (8 bytes/event):
-
- (1 0 1 0) (12-bit Part) (16-bit Value MSB)
- (1 0) (14-bit Controller) (16-bit Value LSB)
-
- o.Long KNOB Event (8 bytes/event):
-
- (1 0 1 1) (12-bit Sub-Type) (16-bit Value MSB)
- (1 0) (14-bit KNOB) (16-bit Value LSB)
-
- o.Variable GENERAL Length Events (N bytes/event):
-
- (1 1 1 1) (12-bit Sub-Type) (16-bit Length)
- :
- (32-bit Data values)
- :
- (1 1) (14-bit UNUSED) (16-bit Length)
-
- where: Length field is the number of LONG words in the record.
- Lengths include the first and last long words (Minimum length = 2)
-
- The following event type values have not been used yet and are reserved for
- future expansion:
-
- o (1 0 0 0) (8 bytes/event)
- o (1 1 0 0) (N bytes/event)
- o (1 1 0 1) (N bytes/event)
- o (1 1 1 0) (N bytes/event)
-
- For all events, the following generalizations apply:
-
- - All duration values are specified in Millisecond units.
- - Pitch values are intended to map directly to the MIDI key numbers.
- - Controllers from 0 to 127 correspond to the standard MIDI controllers.
- Controllers greater than 127 correspond to other controls (i.e., Pitch Bend,
- Key Pressure, and Channel Pressure).
- */
-
- /* Defines for the implemented music event data fields*/
- enum
- {
- kRestEventType = 0x00000000, /* lower 3-bits */
- kNoteEventType = 0x00000001, /* lower 3-bits */
- kControlEventType = 0x00000002, /* lower 3-bits */
- kMarkerEventType = 0x00000003, /* lower 3-bits */
- kUndefined1EventType = 0x00000008, /* 4-bits */
- kXNoteEventType = 0x00000009, /* 4-bits */
- kXControlEventType = 0x0000000A, /* 4-bits */
- kKnobEventType = 0x0000000B, /* 4-bits */
- kUndefined2EventType = 0x0000000C, /* 4-bits */
- kUndefined3EventType = 0x0000000D, /* 4-bits */
- kUndefined4EventType = 0x0000000E, /* 4-bits */
- kGeneralEventType = 0x0000000F, /* 4-bits */
- kXEventLengthBits = 0x00000002, /* 2 bits: indicates 8-byte event record */
- kGeneralEventLengthBits = 0x00000003, /* 2 bits: indicates variable length event record */
- kEventLen = 1L, /* length of events in long words */
- kXEventLen = 2L,
- kRestEventLen = kEventLen, /* length of events in long words */
- kNoteEventLen = kEventLen,
- kControlEventLen = kEventLen,
- kMarkerEventLen = kEventLen,
- kXNoteEventLen = kXEventLen,
- kXControlEventLen = kXEventLen,
- kGeneralEventLen = kXEventLen, /* 2 or more, however */
- /* Universal Event Defines*/
- kEventLengthFieldPos = 30, /* by looking at these two bits of the 1st or last word */
- kEventLengthFieldWidth = 2, /* of an event you can determine the event length */
- /* length field: 0 & 1 => 1 long; 2 => 2 longs; 3 => variable length */
- kEventTypeFieldPos = 29, /* event type field for short events */
- kEventTypeFieldWidth = 3, /* short type is 3 bits */
- kXEventTypeFieldPos = 28, /* event type field for extended events */
- kXEventTypeFieldWidth = 4, /* extended type is 4 bits */
- kEventPartFieldPos = 24,
- kEventPartFieldWidth = 5,
- kXEventPartFieldPos = 16, /* in the 1st long word */
- kXEventPartFieldWidth = 12, /* Rest Events*/
- kRestEventDurationFieldPos = 0,
- kRestEventDurationFieldWidth = 24,
- kRestEventDurationMax = ((1L << kRestEventDurationFieldWidth) - 1), /* Note Events*/
- kNoteEventPitchFieldPos = 18,
- kNoteEventPitchFieldWidth = 6,
- kNoteEventPitchOffset = 32, /* add to value in pitch field to get actual pitch */
- kNoteEventVolumeFieldPos = 11,
- kNoteEventVolumeFieldWidth = 7,
- kNoteEventVolumeOffset = 0, /* add to value in volume field to get actual volume */
- kNoteEventDurationFieldPos = 0,
- kNoteEventDurationFieldWidth = 11,
- kNoteEventDurationMax = ((1L << kNoteEventDurationFieldWidth) - 1),
- kXNoteEventPitchFieldPos = 0, /* in the 1st long word */
- kXNoteEventPitchFieldWidth = 16,
- kXNoteEventDurationFieldPos = 0, /* in the 2nd long word */
- kXNoteEventDurationFieldWidth = 22,
- kXNoteEventDurationMax = ((1L << kXNoteEventDurationFieldWidth) - 1),
- kXNoteEventVolumeFieldPos = 22, /* in the 2nd long word */
- kXNoteEventVolumeFieldWidth = 7, /* Control Events*/
- kControlEventControllerFieldPos = 16,
- kControlEventControllerFieldWidth = 8,
- kControlEventValueFieldPos = 0,
- kControlEventValueFieldWidth = 16,
- kXControlEventControllerFieldPos = 0, /* in the 2nd long word */
- kXControlEventControllerFieldWidth = 16,
- kXControlEventValueFieldPos = 0, /* in the 1st long word */
- kXControlEventValueFieldWidth = 16, /* Knob Events*/
- kKnobEventValueHighFieldPos = 0, /* 1st long word */
- kKnobEventValueHighFieldWidth = 16,
- kKnobEventKnobFieldPos = 16, /* 2nd long word */
- kKnobEventKnobFieldWidth = 14,
- kKnobEventValueLowFieldPos = 0, /* 2nd long word */
- kKnobEventValueLowFieldWidth = 16, /* Marker Events*/
- kMarkerEventSubtypeFieldPos = 16,
- kMarkerEventSubtypeFieldWidth = 8,
- kMarkerEventValueFieldPos = 0,
- kMarkerEventValueFieldWidth = 16, /* General Events*/
- kGeneralEventSubtypeFieldPos = 16, /* in the last long word */
- kGeneralEventSubtypeFieldWidth = 14,
- kGeneralEventLengthFieldPos = 0, /* in the 1st & last long words */
- kGeneralEventLengthFieldWidth = 16
- };
+/*
+ * NAPickInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAPickInstrument(
+ NoteAllocator na,
+ ModalFilterUPP filterProc,
+ StringPtr prompt,
+ ToneDescription * sd,
+ unsigned long flags,
+ long refCon,
+ long reserved1,
+ long reserved2) FIVEWORDINLINE(0x2F3C, 0x001C, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * NAPickArrangement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAPickArrangement(
+ NoteAllocator na,
+ ModalFilterUPP filterProc,
+ StringPtr prompt,
+ long zero1,
+ long zero2,
+ Track t,
+ StringPtr songName) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0013, 0x7000, 0xA82A);
+
+
+
+/*
+ * NAStuffToneDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAStuffToneDescription(
+ NoteAllocator na,
+ long gmNumber,
+ ToneDescription * td) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * NACopyrightDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NACopyrightDialog(
+ NoteAllocator na,
+ PicHandle p,
+ StringPtr author,
+ StringPtr copyright,
+ StringPtr other,
+ StringPtr title,
+ ModalFilterUPP filterProc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x001C, 0x001C, 0x7000, 0xA82A);
+
+
+
+/*
+ kNADummyOneSelect = 29
+ kNADummyTwoSelect = 30
+*/
+
+/*
+ * NAGetIndNoteChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAGetIndNoteChannel(
+ NoteAllocator na,
+ long index,
+ NoteChannel * nc,
+ long * seed) FIVEWORDINLINE(0x2F3C, 0x000C, 0x001F, 0x7000, 0xA82A);
+
+
+
+/*
+ * NAGetMIDIPorts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAGetMIDIPorts(
+ NoteAllocator na,
+ QTMIDIPortListHandle * inputPorts,
+ QTMIDIPortListHandle * outputPorts) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
+
+
+/*
+ * NAGetNoteRequest()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAGetNoteRequest(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ NoteRequest * nrOut) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0022, 0x7000, 0xA82A);
+
+
+/*
+ * NASendMIDI()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASendMIDI(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ MusicMIDIPacket * mp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0023, 0x7000, 0xA82A);
+
+
+/*
+ * NAPickEditInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAPickEditInstrument(
+ NoteAllocator na,
+ ModalFilterUPP filterProc,
+ StringPtr prompt,
+ long refCon,
+ NoteChannel nc,
+ AtomicInstrument ai,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0024, 0x7000, 0xA82A);
+
+
+/*
+ * NANewNoteChannelFromAtomicInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NANewNoteChannelFromAtomicInstrument(
+ NoteAllocator na,
+ AtomicInstrumentPtr instrument,
+ long flags,
+ NoteChannel * outChannel) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0025, 0x7000, 0xA82A);
+
+
+/*
+ * NASetAtomicInstrument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASetAtomicInstrument(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ AtomicInstrumentPtr instrument,
+ long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0026, 0x7000, 0xA82A);
+
+
+
+
+/*
+ * NAGetKnob()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAGetKnob(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long knobNumber,
+ long * knobValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0028, 0x7000, 0xA82A);
+
+
+/*
+ * NATask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NATask(NoteAllocator na) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0029, 0x7000, 0xA82A);
+
+
+/*
+ * NASetNoteChannelBalance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASetNoteChannelBalance(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long balance) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A);
+
+
+/*
+ * NASetInstrumentNumberInterruptSafe()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASetInstrumentNumberInterruptSafe(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long instrumentNumber) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A);
+
+
+/*
+ * NASetNoteChannelSoundLocalization()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NASetNoteChannelSoundLocalization(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ Handle data) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002C, 0x7000, 0xA82A);
+
+
+/*
+ * NAGetController()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+NAGetController(
+ NoteAllocator na,
+ NoteChannel noteChannel,
+ long controllerNumber,
+ long * controllerValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002D, 0x7000, 0xA82A);
+
+
+
+
+
+
+enum {
+ kTuneQueueDepth = 8 /* Deepest you can queue tune segments */
+};
+
+
+struct TuneStatus {
+ unsigned long * tune; /* currently playing tune */
+ unsigned long * tunePtr; /* position within currently playing piece */
+ TimeValue time; /* current tune time */
+ short queueCount; /* how many pieces queued up? */
+ short queueSpots; /* How many more tunepieces can be queued */
+ TimeValue queueTime; /* How much time is queued up? (can be very inaccurate) */
+ long reserved[3];
+};
+typedef struct TuneStatus TuneStatus;
+typedef CALLBACK_API( void , TuneCallBackProcPtr )(const TuneStatus *status, long refCon);
+typedef CALLBACK_API( void , TunePlayCallBackProcPtr )(unsigned long *event, long seed, long refCon);
+typedef STACK_UPP_TYPE(TuneCallBackProcPtr) TuneCallBackUPP;
+typedef STACK_UPP_TYPE(TunePlayCallBackProcPtr) TunePlayCallBackUPP;
+
+typedef ComponentInstance TunePlayer;
+enum {
+ kTunePlayerComponentType = FOUR_CHAR_CODE('tune')
+};
+
+
+/*
+ * TuneSetHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetHeader(
+ TunePlayer tp,
+ unsigned long * header) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * TuneGetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneGetTimeBase(
+ TunePlayer tp,
+ TimeBase * tb) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * TuneSetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetTimeScale(
+ TunePlayer tp,
+ TimeScale scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * TuneGetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneGetTimeScale(
+ TunePlayer tp,
+ TimeScale * scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * TuneGetIndexedNoteChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneGetIndexedNoteChannel(
+ TunePlayer tp,
+ long i,
+ NoteChannel * nc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
+
+
+
+/* Values for when to start. */
+enum {
+ kTuneStartNow = 1, /* start after buffer is implied */
+ kTuneDontClipNotes = 2, /* allow notes to finish their durations outside sample */
+ kTuneExcludeEdgeNotes = 4, /* dont play notes that start at end of tune */
+ kTuneQuickStart = 8, /* Leave all the controllers where they are, ignore start time */
+ kTuneLoopUntil = 16, /* loop a queued tune if there's nothing else in the queue*/
+ kTunePlayDifference = 32, /* by default, the tune difference is skipped*/
+ kTunePlayConcurrent = 64, /* dont block the next tune sequence with this one*/
+ kTuneStartNewMaster = 16384
+};
+
+/*
+ * TuneQueue()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneQueue(
+ TunePlayer tp,
+ unsigned long * tune,
+ Fixed tuneRate,
+ unsigned long tuneStartPosition,
+ unsigned long tuneStopPosition,
+ unsigned long queueFlags,
+ TuneCallBackUPP callBackProc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x001C, 0x000A, 0x7000, 0xA82A);
+
+
+/*
+ * TuneInstant()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneInstant(
+ TunePlayer tp,
+ unsigned long * tune,
+ unsigned long tunePosition) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * TuneGetStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneGetStatus(
+ TunePlayer tp,
+ TuneStatus * status) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
+
+
+/* Values for stopping. */
+enum {
+ kTuneStopFade = 1, /* do a quick, synchronous fadeout */
+ kTuneStopSustain = 2, /* don't silece notes */
+ kTuneStopInstant = 4, /* silence notes fast (else, decay them) */
+ kTuneStopReleaseChannels = 8 /* afterwards, let the channels go */
+};
+
+/*
+ * TuneStop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneStop(
+ TunePlayer tp,
+ long stopFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
+
+
+
+/*
+ * TuneSetVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetVolume(
+ TunePlayer tp,
+ Fixed volume) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
+
+
+/*
+ * TuneGetVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneGetVolume(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
+
+
+/*
+ * TunePreroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TunePreroll(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A);
+
+
+/*
+ * TuneUnroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneUnroll(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0013, 0x7000, 0xA82A);
+
+
+/*
+ * TuneSetNoteChannels()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetNoteChannels(
+ TunePlayer tp,
+ unsigned long count,
+ NoteChannel * noteChannelList,
+ TunePlayCallBackUPP playCallBackProc,
+ long refCon) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0014, 0x7000, 0xA82A);
+
+
+/*
+ * TuneSetPartTranspose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetPartTranspose(
+ TunePlayer tp,
+ unsigned long part,
+ long transpose,
+ long velocityShift) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0015, 0x7000, 0xA82A);
+
+
+
+/*
+ * TuneGetNoteAllocator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( NoteAllocator )
+TuneGetNoteAllocator(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0017, 0x7000, 0xA82A);
+
+
+/*
+ * TuneSetSofter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetSofter(
+ TunePlayer tp,
+ long softer) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
+
+
+/*
+ * TuneTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneTask(TunePlayer tp) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0019, 0x7000, 0xA82A);
+
+
+/*
+ * TuneSetBalance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetBalance(
+ TunePlayer tp,
+ long balance) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
+
+
+/*
+ * TuneSetSoundLocalization()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetSoundLocalization(
+ TunePlayer tp,
+ Handle data) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
+
+
+/*
+ * TuneSetHeaderWithSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 2.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetHeaderWithSize(
+ TunePlayer tp,
+ unsigned long * header,
+ unsigned long size) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001C, 0x7000, 0xA82A);
+
+
+/* flags for part mix. */
+enum {
+ kTuneMixMute = 1, /* disable a part */
+ kTuneMixSolo = 2 /* if any parts soloed, play only soloed parts */
+};
+
+
+/*
+ * TuneSetPartMix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneSetPartMix(
+ TunePlayer tp,
+ unsigned long partNumber,
+ long volume,
+ long balance,
+ long mixFlags) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001D, 0x7000, 0xA82A);
+
+
+/*
+ * TuneGetPartMix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later but deprecated in 10.5
+ * Windows: in qtmlClient.lib 3.0 and later
+ */
+EXTERN_API( ComponentResult )
+TuneGetPartMix(
+ TunePlayer tp,
+ unsigned long partNumber,
+ long * volumeOut,
+ long * balanceOut,
+ long * mixFlagsOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001E, 0x7000, 0xA82A);
+
+
+
+
+
+
+typedef unsigned long MusicOpWord;
+typedef MusicOpWord * MusicOpWordPtr;
+/* QuickTime Music Track Event Formats:
+
+ At this time, QuickTime music tracks support 5 different event types -- REST events,
+ short NOTE events, short CONTROL events, short GENERAL events, Long NOTE events,
+ long CONTROL events, and variable GENERAL events.
+
+ o REST Event (4 bytes/event):
+
+ (0 0 0) (5-bit UNUSED) (24-bit Rest Duration)
+
+ o.Short NOTE Events (4 bytes/event):
+
+ (0 0 1) (5-bit Part) (6-bit Pitch) (7-bit Volume) (11-bit Duration)
+
+ where: Pitch is offset by 32 (Actual pitch = pitch field + 32)
+
+ o.Short CONTROL Events (4 bytes/event):
+
+ (0 1 0) (5-bit Part) (8-bit Controller) (1-bit UNUSED) (1-bit Sign) (7-bit MSB) (7-bit LSB)
+ ( or 15-bit Signed Value)
+ o Short GENERAL Event (4 bytes/event):
+
+ (0 1 1) (1-bit UNUSED) (12-bit Sub-Type) (16-bit Value)
+
+ o Long NOTE Events (8 bytes/event):
+
+ (1 0 0 1) (12-bit Part) (1-bit UNUSED) (7-bit Pitch) (1-bit UNUSED) (7-bit Volume)
+ (1 0) (8-bit UNUSED) (22-bit Duration)
+
+ o.Long CONTROL Event (8 bytes/event):
+
+ (1 0 1 0) (12-bit Part) (16-bit Value MSB)
+ (1 0) (14-bit Controller) (16-bit Value LSB)
+
+ o.Long KNOB Event (8 bytes/event):
+
+ (1 0 1 1) (12-bit Sub-Type) (16-bit Value MSB)
+ (1 0) (14-bit KNOB) (16-bit Value LSB)
+
+ o.Variable GENERAL Length Events (N bytes/event):
+
+ (1 1 1 1) (12-bit Sub-Type) (16-bit Length)
+ :
+ (32-bit Data values)
+ :
+ (1 1) (14-bit UNUSED) (16-bit Length)
+
+ where: Length field is the number of LONG words in the record.
+ Lengths include the first and last long words (Minimum length = 2)
+
+ The following event type values have not been used yet and are reserved for
+ future expansion:
+
+ o (1 0 0 0) (8 bytes/event)
+ o (1 1 0 0) (N bytes/event)
+ o (1 1 0 1) (N bytes/event)
+ o (1 1 1 0) (N bytes/event)
+
+ For all events, the following generalizations apply:
+
+ - All duration values are specified in Millisecond units.
+ - Pitch values are intended to map directly to the MIDI key numbers.
+ - Controllers from 0 to 127 correspond to the standard MIDI controllers.
+ Controllers greater than 127 correspond to other controls (i.e., Pitch Bend,
+ Key Pressure, and Channel Pressure).
+*/
+
+/* Defines for the implemented music event data fields*/
+enum {
+ kRestEventType = 0x00000000, /* lower 3-bits */
+ kNoteEventType = 0x00000001, /* lower 3-bits */
+ kControlEventType = 0x00000002, /* lower 3-bits */
+ kMarkerEventType = 0x00000003, /* lower 3-bits */
+ kUndefined1EventType = 0x00000008, /* 4-bits */
+ kXNoteEventType = 0x00000009, /* 4-bits */
+ kXControlEventType = 0x0000000A, /* 4-bits */
+ kKnobEventType = 0x0000000B, /* 4-bits */
+ kUndefined2EventType = 0x0000000C, /* 4-bits */
+ kUndefined3EventType = 0x0000000D, /* 4-bits */
+ kUndefined4EventType = 0x0000000E, /* 4-bits */
+ kGeneralEventType = 0x0000000F, /* 4-bits */
+ kXEventLengthBits = 0x00000002, /* 2 bits: indicates 8-byte event record */
+ kGeneralEventLengthBits = 0x00000003, /* 2 bits: indicates variable length event record */
+ kEventLen = 1L, /* length of events in long words */
+ kXEventLen = 2L,
+ kRestEventLen = kEventLen, /* length of events in long words */
+ kNoteEventLen = kEventLen,
+ kControlEventLen = kEventLen,
+ kMarkerEventLen = kEventLen,
+ kXNoteEventLen = kXEventLen,
+ kXControlEventLen = kXEventLen,
+ kGeneralEventLen = kXEventLen, /* 2 or more, however */
+ /* Universal Event Defines*/
+ kEventLengthFieldPos = 30, /* by looking at these two bits of the 1st or last word */
+ kEventLengthFieldWidth = 2, /* of an event you can determine the event length */
+ /* length field: 0 & 1 => 1 long; 2 => 2 longs; 3 => variable length */
+ kEventTypeFieldPos = 29, /* event type field for short events */
+ kEventTypeFieldWidth = 3, /* short type is 3 bits */
+ kXEventTypeFieldPos = 28, /* event type field for extended events */
+ kXEventTypeFieldWidth = 4, /* extended type is 4 bits */
+ kEventPartFieldPos = 24,
+ kEventPartFieldWidth = 5,
+ kXEventPartFieldPos = 16, /* in the 1st long word */
+ kXEventPartFieldWidth = 12, /* Rest Events*/
+ kRestEventDurationFieldPos = 0,
+ kRestEventDurationFieldWidth = 24,
+ kRestEventDurationMax = ((1L << kRestEventDurationFieldWidth) - 1), /* Note Events*/
+ kNoteEventPitchFieldPos = 18,
+ kNoteEventPitchFieldWidth = 6,
+ kNoteEventPitchOffset = 32, /* add to value in pitch field to get actual pitch */
+ kNoteEventVolumeFieldPos = 11,
+ kNoteEventVolumeFieldWidth = 7,
+ kNoteEventVolumeOffset = 0, /* add to value in volume field to get actual volume */
+ kNoteEventDurationFieldPos = 0,
+ kNoteEventDurationFieldWidth = 11,
+ kNoteEventDurationMax = ((1L << kNoteEventDurationFieldWidth) - 1),
+ kXNoteEventPitchFieldPos = 0, /* in the 1st long word */
+ kXNoteEventPitchFieldWidth = 16,
+ kXNoteEventDurationFieldPos = 0, /* in the 2nd long word */
+ kXNoteEventDurationFieldWidth = 22,
+ kXNoteEventDurationMax = ((1L << kXNoteEventDurationFieldWidth) - 1),
+ kXNoteEventVolumeFieldPos = 22, /* in the 2nd long word */
+ kXNoteEventVolumeFieldWidth = 7, /* Control Events*/
+ kControlEventControllerFieldPos = 16,
+ kControlEventControllerFieldWidth = 8,
+ kControlEventValueFieldPos = 0,
+ kControlEventValueFieldWidth = 16,
+ kXControlEventControllerFieldPos = 0, /* in the 2nd long word */
+ kXControlEventControllerFieldWidth = 16,
+ kXControlEventValueFieldPos = 0, /* in the 1st long word */
+ kXControlEventValueFieldWidth = 16, /* Knob Events*/
+ kKnobEventValueHighFieldPos = 0, /* 1st long word */
+ kKnobEventValueHighFieldWidth = 16,
+ kKnobEventKnobFieldPos = 16, /* 2nd long word */
+ kKnobEventKnobFieldWidth = 14,
+ kKnobEventValueLowFieldPos = 0, /* 2nd long word */
+ kKnobEventValueLowFieldWidth = 16, /* Marker Events*/
+ kMarkerEventSubtypeFieldPos = 16,
+ kMarkerEventSubtypeFieldWidth = 8,
+ kMarkerEventValueFieldPos = 0,
+ kMarkerEventValueFieldWidth = 16, /* General Events*/
+ kGeneralEventSubtypeFieldPos = 16, /* in the last long word */
+ kGeneralEventSubtypeFieldWidth = 14,
+ kGeneralEventLengthFieldPos = 0, /* in the 1st & last long words */
+ kGeneralEventLengthFieldWidth = 16
+};
#if TARGET_RT_LITTLE_ENDIAN
- enum
- {
- kEndMarkerValue = 0x00000060
- };
+enum {
+ kEndMarkerValue = 0x00000060
+};
#else
- enum
- {
- kEndMarkerValue = 0x60000000
- };
+enum {
+ kEndMarkerValue = 0x60000000
+};
#endif /* TARGET_RT_LITTLE_ENDIAN */
- /* macros for extracting various fields from the QuickTime event records*/
+/* macros for extracting various fields from the QuickTime event records*/
#define qtma_MASK(bitWidth) ((1L << (bitWidth)) - 1)
#define qtma_EXT(val, pos, width) ((EndianU32_BtoN(val) >> (pos)) & qtma_MASK(width))
@@ -3024,448 +2960,408 @@ extern "C" {
w2 = EndianU32_NtoB(w2) )
#define qtma_NeedXGeneralEvent(length) (((unsigned long)(length)) > (unsigned long)0xffff)
- /* General Event Defined Types*/
- enum
- {
- kGeneralEventNoteRequest = 1, /* Encapsulates NoteRequest data structure */
- kGeneralEventPartKey = 4,
- kGeneralEventTuneDifference = 5, /* Contains a standard sequence, with end marker, for the tune difference of a sequence piece (halts QuickTime 2.0 Music) */
- kGeneralEventAtomicInstrument = 6, /* Encapsulates AtomicInstrument record */
- kGeneralEventKnob = 7, /* knobID/knobValue pairs; smallest event is 4 longs */
- kGeneralEventMIDIChannel = 8, /* used in tune header, one longword identifies the midi channel it originally came from */
- kGeneralEventPartChange = 9, /* used in tune sequence, one longword identifies the tune part which can now take over this part's note channel (similar to program change) (halts QuickTime 2.0 Music)*/
- kGeneralEventNoOp = 10, /* guaranteed to do nothing and be ignored. (halts QuickTime 2.0 Music) */
- kGeneralEventUsedNotes = 11, /* four longwords specifying which midi notes are actually used, 0..127 msb to lsb */
- kGeneralEventPartMix = 12 /* three longwords: Fixed volume, long balance, long flags */
- };
-
- /* Marker Event Defined Types // marker is 60 ee vv vv in hex, where e = event type, and v = value*/
- enum
- {
- kMarkerEventEnd = 0, /* marker type 0 means: value 0 - stop, value != 0 - ignore*/
- kMarkerEventBeat = 1, /* value 0 = single beat; anything else is 65536ths-of-a-beat (quarter note)*/
- kMarkerEventTempo = 2 /* value same as beat marker, but indicates that a tempo event should be computed (based on where the next beat or tempo marker is) and emitted upon export*/
- };
-
- enum
- {
- kCurrentlyNativeEndian = 1,
- kCurrentlyNotNativeEndian = 2
- };
-
- /* UPP call backs */
- /*
- * NewMusicMIDISendUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MusicMIDISendUPP)
- NewMusicMIDISendUPP(MusicMIDISendProcPtr userRoutine);
+/* General Event Defined Types*/
+enum {
+ kGeneralEventNoteRequest = 1, /* Encapsulates NoteRequest data structure */
+ kGeneralEventPartKey = 4,
+ kGeneralEventTuneDifference = 5, /* Contains a standard sequence, with end marker, for the tune difference of a sequence piece (halts QuickTime 2.0 Music) */
+ kGeneralEventAtomicInstrument = 6, /* Encapsulates AtomicInstrument record */
+ kGeneralEventKnob = 7, /* knobID/knobValue pairs; smallest event is 4 longs */
+ kGeneralEventMIDIChannel = 8, /* used in tune header, one longword identifies the midi channel it originally came from */
+ kGeneralEventPartChange = 9, /* used in tune sequence, one longword identifies the tune part which can now take over this part's note channel (similar to program change) (halts QuickTime 2.0 Music)*/
+ kGeneralEventNoOp = 10, /* guaranteed to do nothing and be ignored. (halts QuickTime 2.0 Music) */
+ kGeneralEventUsedNotes = 11, /* four longwords specifying which midi notes are actually used, 0..127 msb to lsb */
+ kGeneralEventPartMix = 12 /* three longwords: Fixed volume, long balance, long flags */
+};
+
+/* Marker Event Defined Types // marker is 60 ee vv vv in hex, where e = event type, and v = value*/
+enum {
+ kMarkerEventEnd = 0, /* marker type 0 means: value 0 - stop, value != 0 - ignore*/
+ kMarkerEventBeat = 1, /* value 0 = single beat; anything else is 65536ths-of-a-beat (quarter note)*/
+ kMarkerEventTempo = 2 /* value same as beat marker, but indicates that a tempo event should be computed (based on where the next beat or tempo marker is) and emitted upon export*/
+};
+
+enum {
+ kCurrentlyNativeEndian = 1,
+ kCurrentlyNotNativeEndian = 2
+};
+
+/* UPP call backs */
+/*
+ * NewMusicMIDISendUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MusicMIDISendUPP )
+NewMusicMIDISendUPP(MusicMIDISendProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMusicMIDISendProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MusicMIDISendUPP) NewMusicMIDISendUPP(MusicMIDISendProcPtr userRoutine)
- {
- return (MusicMIDISendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMusicMIDISendProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMusicMIDISendUPP(userRoutine) (MusicMIDISendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMusicMIDISendProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMusicMIDISendProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MusicMIDISendUPP) NewMusicMIDISendUPP(MusicMIDISendProcPtr userRoutine) { return (MusicMIDISendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMusicMIDISendProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMusicMIDISendUPP(userRoutine) (MusicMIDISendUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMusicMIDISendProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewMusicOfflineDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(MusicOfflineDataUPP)
- NewMusicOfflineDataUPP(MusicOfflineDataProcPtr userRoutine);
+/*
+ * NewMusicOfflineDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( MusicOfflineDataUPP )
+NewMusicOfflineDataUPP(MusicOfflineDataProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppMusicOfflineDataProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(MusicOfflineDataUPP) NewMusicOfflineDataUPP(MusicOfflineDataProcPtr userRoutine)
- {
- return (MusicOfflineDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMusicOfflineDataProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewMusicOfflineDataUPP(userRoutine) (MusicOfflineDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMusicOfflineDataProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppMusicOfflineDataProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(MusicOfflineDataUPP) NewMusicOfflineDataUPP(MusicOfflineDataProcPtr userRoutine) { return (MusicOfflineDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMusicOfflineDataProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewMusicOfflineDataUPP(userRoutine) (MusicOfflineDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMusicOfflineDataProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTuneCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TuneCallBackUPP)
- NewTuneCallBackUPP(TuneCallBackProcPtr userRoutine);
+/*
+ * NewTuneCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TuneCallBackUPP )
+NewTuneCallBackUPP(TuneCallBackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTuneCallBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TuneCallBackUPP) NewTuneCallBackUPP(TuneCallBackProcPtr userRoutine)
- {
- return (TuneCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTuneCallBackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTuneCallBackUPP(userRoutine) (TuneCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTuneCallBackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTuneCallBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TuneCallBackUPP) NewTuneCallBackUPP(TuneCallBackProcPtr userRoutine) { return (TuneCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTuneCallBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTuneCallBackUPP(userRoutine) (TuneCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTuneCallBackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTunePlayCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TunePlayCallBackUPP)
- NewTunePlayCallBackUPP(TunePlayCallBackProcPtr userRoutine);
+/*
+ * NewTunePlayCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TunePlayCallBackUPP )
+NewTunePlayCallBackUPP(TunePlayCallBackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTunePlayCallBackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TunePlayCallBackUPP) NewTunePlayCallBackUPP(TunePlayCallBackProcPtr userRoutine)
- {
- return (TunePlayCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTunePlayCallBackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTunePlayCallBackUPP(userRoutine) (TunePlayCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTunePlayCallBackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTunePlayCallBackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TunePlayCallBackUPP) NewTunePlayCallBackUPP(TunePlayCallBackProcPtr userRoutine) { return (TunePlayCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTunePlayCallBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTunePlayCallBackUPP(userRoutine) (TunePlayCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTunePlayCallBackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeMusicMIDISendUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMusicMIDISendUPP(MusicMIDISendUPP userUPP);
+/*
+ * DisposeMusicMIDISendUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMusicMIDISendUPP(MusicMIDISendUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMusicMIDISendUPP(MusicMIDISendUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMusicMIDISendUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMusicMIDISendUPP(MusicMIDISendUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMusicMIDISendUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeMusicOfflineDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeMusicOfflineDataUPP(MusicOfflineDataUPP userUPP);
+/*
+ * DisposeMusicOfflineDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeMusicOfflineDataUPP(MusicOfflineDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeMusicOfflineDataUPP(MusicOfflineDataUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeMusicOfflineDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeMusicOfflineDataUPP(MusicOfflineDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeMusicOfflineDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTuneCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTuneCallBackUPP(TuneCallBackUPP userUPP);
+/*
+ * DisposeTuneCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTuneCallBackUPP(TuneCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTuneCallBackUPP(TuneCallBackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTuneCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTuneCallBackUPP(TuneCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTuneCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTunePlayCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTunePlayCallBackUPP(TunePlayCallBackUPP userUPP);
+/*
+ * DisposeTunePlayCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTunePlayCallBackUPP(TunePlayCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTunePlayCallBackUPP(TunePlayCallBackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTunePlayCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTunePlayCallBackUPP(TunePlayCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTunePlayCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeMusicMIDISendUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeMusicMIDISendUPP(
- ComponentInstance self,
- long refCon,
- MusicMIDIPacket * mmp,
- MusicMIDISendUPP userUPP);
+/*
+ * InvokeMusicMIDISendUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeMusicMIDISendUPP(
+ ComponentInstance self,
+ long refCon,
+ MusicMIDIPacket * mmp,
+ MusicMIDISendUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeMusicMIDISendUPP(ComponentInstance self, long refCon, MusicMIDIPacket * mmp, MusicMIDISendUPP userUPP)
- {
- return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppMusicMIDISendProcInfo, self, refCon, mmp);
- }
-#else
-#define InvokeMusicMIDISendUPP(self, refCon, mmp, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppMusicMIDISendProcInfo, (self), (refCon), (mmp))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeMusicMIDISendUPP(ComponentInstance self, long refCon, MusicMIDIPacket * mmp, MusicMIDISendUPP userUPP) { return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppMusicMIDISendProcInfo, self, refCon, mmp); }
+ #else
+ #define InvokeMusicMIDISendUPP(self, refCon, mmp, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppMusicMIDISendProcInfo, (self), (refCon), (mmp))
+ #endif
#endif
- /*
- * InvokeMusicOfflineDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeMusicOfflineDataUPP(
- Ptr SoundData,
- long numBytes,
- long myRefCon,
- MusicOfflineDataUPP userUPP);
+/*
+ * InvokeMusicOfflineDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeMusicOfflineDataUPP(
+ Ptr SoundData,
+ long numBytes,
+ long myRefCon,
+ MusicOfflineDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeMusicOfflineDataUPP(Ptr SoundData, long numBytes, long myRefCon, MusicOfflineDataUPP userUPP)
- {
- return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppMusicOfflineDataProcInfo, SoundData, numBytes, myRefCon);
- }
-#else
-#define InvokeMusicOfflineDataUPP(SoundData, numBytes, myRefCon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppMusicOfflineDataProcInfo, (SoundData), (numBytes), (myRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeMusicOfflineDataUPP(Ptr SoundData, long numBytes, long myRefCon, MusicOfflineDataUPP userUPP) { return (ComponentResult)CALL_THREE_PARAMETER_UPP(userUPP, uppMusicOfflineDataProcInfo, SoundData, numBytes, myRefCon); }
+ #else
+ #define InvokeMusicOfflineDataUPP(SoundData, numBytes, myRefCon, userUPP) (ComponentResult)CALL_THREE_PARAMETER_UPP((userUPP), uppMusicOfflineDataProcInfo, (SoundData), (numBytes), (myRefCon))
+ #endif
#endif
- /*
- * InvokeTuneCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeTuneCallBackUPP(
- const TuneStatus * status,
- long refCon,
- TuneCallBackUPP userUPP);
+/*
+ * InvokeTuneCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTuneCallBackUPP(
+ const TuneStatus * status,
+ long refCon,
+ TuneCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTuneCallBackUPP(const TuneStatus * status, long refCon, TuneCallBackUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppTuneCallBackProcInfo, status, refCon);
- }
-#else
-#define InvokeTuneCallBackUPP(status, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppTuneCallBackProcInfo, (status), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTuneCallBackUPP(const TuneStatus * status, long refCon, TuneCallBackUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppTuneCallBackProcInfo, status, refCon); }
+ #else
+ #define InvokeTuneCallBackUPP(status, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppTuneCallBackProcInfo, (status), (refCon))
+ #endif
#endif
- /*
- * InvokeTunePlayCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeTunePlayCallBackUPP(
- unsigned long * event,
- long seed,
- long refCon,
- TunePlayCallBackUPP userUPP);
+/*
+ * InvokeTunePlayCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTunePlayCallBackUPP(
+ unsigned long * event,
+ long seed,
+ long refCon,
+ TunePlayCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTunePlayCallBackUPP(unsigned long * event, long seed, long refCon, TunePlayCallBackUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppTunePlayCallBackProcInfo, event, seed, refCon);
- }
-#else
-#define InvokeTunePlayCallBackUPP(event, seed, refCon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppTunePlayCallBackProcInfo, (event), (seed), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTunePlayCallBackUPP(unsigned long * event, long seed, long refCon, TunePlayCallBackUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppTunePlayCallBackProcInfo, event, seed, refCon); }
+ #else
+ #define InvokeTunePlayCallBackUPP(event, seed, refCon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppTunePlayCallBackProcInfo, (event), (seed), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewMusicMIDISendProc(userRoutine) NewMusicMIDISendUPP(userRoutine)
-#define NewMusicOfflineDataProc(userRoutine) NewMusicOfflineDataUPP(userRoutine)
-#define NewTuneCallBackProc(userRoutine) NewTuneCallBackUPP(userRoutine)
-#define NewTunePlayCallBackProc(userRoutine) NewTunePlayCallBackUPP(userRoutine)
-#define CallMusicMIDISendProc(userRoutine, self, refCon, mmp) InvokeMusicMIDISendUPP(self, refCon, mmp, userRoutine)
-#define CallMusicOfflineDataProc(userRoutine, SoundData, numBytes, myRefCon) InvokeMusicOfflineDataUPP(SoundData, numBytes, myRefCon, userRoutine)
-#define CallTuneCallBackProc(userRoutine, status, refCon) InvokeTuneCallBackUPP(status, refCon, userRoutine)
-#define CallTunePlayCallBackProc(userRoutine, event, seed, refCon) InvokeTunePlayCallBackUPP(event, seed, refCon, userRoutine)
+ #define NewMusicMIDISendProc(userRoutine) NewMusicMIDISendUPP(userRoutine)
+ #define NewMusicOfflineDataProc(userRoutine) NewMusicOfflineDataUPP(userRoutine)
+ #define NewTuneCallBackProc(userRoutine) NewTuneCallBackUPP(userRoutine)
+ #define NewTunePlayCallBackProc(userRoutine) NewTunePlayCallBackUPP(userRoutine)
+ #define CallMusicMIDISendProc(userRoutine, self, refCon, mmp) InvokeMusicMIDISendUPP(self, refCon, mmp, userRoutine)
+ #define CallMusicOfflineDataProc(userRoutine, SoundData, numBytes, myRefCon) InvokeMusicOfflineDataUPP(SoundData, numBytes, myRefCon, userRoutine)
+ #define CallTuneCallBackProc(userRoutine, status, refCon) InvokeTuneCallBackUPP(status, refCon, userRoutine)
+ #define CallTunePlayCallBackProc(userRoutine, event, seed, refCon) InvokeTunePlayCallBackUPP(event, seed, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* selectors for component calls */
- enum
- {
- kQTMIDIGetMIDIPortsSelect = 0x0001,
- kQTMIDIUseSendPortSelect = 0x0002,
- kQTMIDISendMIDISelect = 0x0003,
- kMusicGetDescriptionSelect = 0x0001,
- kMusicGetPartSelect = 0x0002,
- kMusicSetPartSelect = 0x0003,
- kMusicSetPartInstrumentNumberSelect = 0x0004,
- kMusicGetPartInstrumentNumberSelect = 0x0005,
- kMusicStorePartInstrumentSelect = 0x0006,
- kMusicGetPartAtomicInstrumentSelect = 0x0009,
- kMusicSetPartAtomicInstrumentSelect = 0x000A,
- kMusicGetPartKnobSelect = 0x0010,
- kMusicSetPartKnobSelect = 0x0011,
- kMusicGetKnobSelect = 0x0012,
- kMusicSetKnobSelect = 0x0013,
- kMusicGetPartNameSelect = 0x0014,
- kMusicSetPartNameSelect = 0x0015,
- kMusicFindToneSelect = 0x0016,
- kMusicPlayNoteSelect = 0x0017,
- kMusicResetPartSelect = 0x0018,
- kMusicSetPartControllerSelect = 0x0019,
- kMusicGetPartControllerSelect = 0x001A,
- kMusicGetMIDIProcSelect = 0x001B,
- kMusicSetMIDIProcSelect = 0x001C,
- kMusicGetInstrumentNamesSelect = 0x001D,
- kMusicGetDrumNamesSelect = 0x001E,
- kMusicGetMasterTuneSelect = 0x001F,
- kMusicSetMasterTuneSelect = 0x0020,
- kMusicGetInstrumentAboutInfoSelect = 0x0022,
- kMusicGetDeviceConnectionSelect = 0x0023,
- kMusicUseDeviceConnectionSelect = 0x0024,
- kMusicGetKnobSettingStringsSelect = 0x0025,
- kMusicGetMIDIPortsSelect = 0x0026,
- kMusicSendMIDISelect = 0x0027,
- kMusicStartOfflineSelect = 0x0029,
- kMusicSetOfflineTimeToSelect = 0x002A,
- kMusicGetInstrumentKnobDescriptionSelect = 0x002B,
- kMusicGetDrumKnobDescriptionSelect = 0x002C,
- kMusicGetKnobDescriptionSelect = 0x002D,
- kMusicGetInfoTextSelect = 0x002E,
- kMusicGetInstrumentInfoSelect = 0x002F,
- kMusicTaskSelect = 0x0031,
- kMusicSetPartInstrumentNumberInterruptSafeSelect = 0x0032,
- kMusicSetPartSoundLocalizationSelect = 0x0033,
- kMusicGenericConfigureSelect = 0x0100,
- kMusicGenericGetPartSelect = 0x0101,
- kMusicGenericGetKnobListSelect = 0x0102,
- kMusicGenericSetResourceNumbersSelect = 0x0103,
- kMusicDerivedMIDISendSelect = 0x0200,
- kMusicDerivedSetKnobSelect = 0x0201,
- kMusicDerivedSetPartSelect = 0x0202,
- kMusicDerivedSetInstrumentSelect = 0x0203,
- kMusicDerivedSetPartInstrumentNumberSelect = 0x0204,
- kMusicDerivedSetMIDISelect = 0x0205,
- kMusicDerivedStorePartInstrumentSelect = 0x0206,
- kMusicDerivedOpenResFileSelect = 0x0207,
- kMusicDerivedCloseResFileSelect = 0x0208,
- kNARegisterMusicDeviceSelect = 0x0000,
- kNAUnregisterMusicDeviceSelect = 0x0001,
- kNAGetRegisteredMusicDeviceSelect = 0x0002,
- kNASaveMusicConfigurationSelect = 0x0003,
- kNANewNoteChannelSelect = 0x0004,
- kNADisposeNoteChannelSelect = 0x0005,
- kNAGetNoteChannelInfoSelect = 0x0006,
- kNAPrerollNoteChannelSelect = 0x0007,
- kNAUnrollNoteChannelSelect = 0x0008,
- kNASetNoteChannelVolumeSelect = 0x000B,
- kNAResetNoteChannelSelect = 0x000C,
- kNAPlayNoteSelect = 0x000D,
- kNASetControllerSelect = 0x000E,
- kNASetKnobSelect = 0x000F,
- kNAFindNoteChannelToneSelect = 0x0010,
- kNASetInstrumentNumberSelect = 0x0011,
- kNAPickInstrumentSelect = 0x0012,
- kNAPickArrangementSelect = 0x0013,
- kNAStuffToneDescriptionSelect = 0x001B,
- kNACopyrightDialogSelect = 0x001C,
- kNAGetIndNoteChannelSelect = 0x001F,
- kNAGetMIDIPortsSelect = 0x0021,
- kNAGetNoteRequestSelect = 0x0022,
- kNASendMIDISelect = 0x0023,
- kNAPickEditInstrumentSelect = 0x0024,
- kNANewNoteChannelFromAtomicInstrumentSelect = 0x0025,
- kNASetAtomicInstrumentSelect = 0x0026,
- kNAGetKnobSelect = 0x0028,
- kNATaskSelect = 0x0029,
- kNASetNoteChannelBalanceSelect = 0x002A,
- kNASetInstrumentNumberInterruptSafeSelect = 0x002B,
- kNASetNoteChannelSoundLocalizationSelect = 0x002C,
- kNAGetControllerSelect = 0x002D,
- kTuneSetHeaderSelect = 0x0004,
- kTuneGetTimeBaseSelect = 0x0005,
- kTuneSetTimeScaleSelect = 0x0006,
- kTuneGetTimeScaleSelect = 0x0007,
- kTuneGetIndexedNoteChannelSelect = 0x0008,
- kTuneQueueSelect = 0x000A,
- kTuneInstantSelect = 0x000B,
- kTuneGetStatusSelect = 0x000C,
- kTuneStopSelect = 0x000D,
- kTuneSetVolumeSelect = 0x0010,
- kTuneGetVolumeSelect = 0x0011,
- kTunePrerollSelect = 0x0012,
- kTuneUnrollSelect = 0x0013,
- kTuneSetNoteChannelsSelect = 0x0014,
- kTuneSetPartTransposeSelect = 0x0015,
- kTuneGetNoteAllocatorSelect = 0x0017,
- kTuneSetSofterSelect = 0x0018,
- kTuneTaskSelect = 0x0019,
- kTuneSetBalanceSelect = 0x001A,
- kTuneSetSoundLocalizationSelect = 0x001B,
- kTuneSetHeaderWithSizeSelect = 0x001C,
- kTuneSetPartMixSelect = 0x001D,
- kTuneGetPartMixSelect = 0x001E
- };
+/* selectors for component calls */
+enum {
+ kQTMIDIGetMIDIPortsSelect = 0x0001,
+ kQTMIDIUseSendPortSelect = 0x0002,
+ kQTMIDISendMIDISelect = 0x0003,
+ kMusicGetDescriptionSelect = 0x0001,
+ kMusicGetPartSelect = 0x0002,
+ kMusicSetPartSelect = 0x0003,
+ kMusicSetPartInstrumentNumberSelect = 0x0004,
+ kMusicGetPartInstrumentNumberSelect = 0x0005,
+ kMusicStorePartInstrumentSelect = 0x0006,
+ kMusicGetPartAtomicInstrumentSelect = 0x0009,
+ kMusicSetPartAtomicInstrumentSelect = 0x000A,
+ kMusicGetPartKnobSelect = 0x0010,
+ kMusicSetPartKnobSelect = 0x0011,
+ kMusicGetKnobSelect = 0x0012,
+ kMusicSetKnobSelect = 0x0013,
+ kMusicGetPartNameSelect = 0x0014,
+ kMusicSetPartNameSelect = 0x0015,
+ kMusicFindToneSelect = 0x0016,
+ kMusicPlayNoteSelect = 0x0017,
+ kMusicResetPartSelect = 0x0018,
+ kMusicSetPartControllerSelect = 0x0019,
+ kMusicGetPartControllerSelect = 0x001A,
+ kMusicGetMIDIProcSelect = 0x001B,
+ kMusicSetMIDIProcSelect = 0x001C,
+ kMusicGetInstrumentNamesSelect = 0x001D,
+ kMusicGetDrumNamesSelect = 0x001E,
+ kMusicGetMasterTuneSelect = 0x001F,
+ kMusicSetMasterTuneSelect = 0x0020,
+ kMusicGetInstrumentAboutInfoSelect = 0x0022,
+ kMusicGetDeviceConnectionSelect = 0x0023,
+ kMusicUseDeviceConnectionSelect = 0x0024,
+ kMusicGetKnobSettingStringsSelect = 0x0025,
+ kMusicGetMIDIPortsSelect = 0x0026,
+ kMusicSendMIDISelect = 0x0027,
+ kMusicStartOfflineSelect = 0x0029,
+ kMusicSetOfflineTimeToSelect = 0x002A,
+ kMusicGetInstrumentKnobDescriptionSelect = 0x002B,
+ kMusicGetDrumKnobDescriptionSelect = 0x002C,
+ kMusicGetKnobDescriptionSelect = 0x002D,
+ kMusicGetInfoTextSelect = 0x002E,
+ kMusicGetInstrumentInfoSelect = 0x002F,
+ kMusicTaskSelect = 0x0031,
+ kMusicSetPartInstrumentNumberInterruptSafeSelect = 0x0032,
+ kMusicSetPartSoundLocalizationSelect = 0x0033,
+ kMusicGenericConfigureSelect = 0x0100,
+ kMusicGenericGetPartSelect = 0x0101,
+ kMusicGenericGetKnobListSelect = 0x0102,
+ kMusicGenericSetResourceNumbersSelect = 0x0103,
+ kMusicDerivedMIDISendSelect = 0x0200,
+ kMusicDerivedSetKnobSelect = 0x0201,
+ kMusicDerivedSetPartSelect = 0x0202,
+ kMusicDerivedSetInstrumentSelect = 0x0203,
+ kMusicDerivedSetPartInstrumentNumberSelect = 0x0204,
+ kMusicDerivedSetMIDISelect = 0x0205,
+ kMusicDerivedStorePartInstrumentSelect = 0x0206,
+ kMusicDerivedOpenResFileSelect = 0x0207,
+ kMusicDerivedCloseResFileSelect = 0x0208,
+ kNARegisterMusicDeviceSelect = 0x0000,
+ kNAUnregisterMusicDeviceSelect = 0x0001,
+ kNAGetRegisteredMusicDeviceSelect = 0x0002,
+ kNASaveMusicConfigurationSelect = 0x0003,
+ kNANewNoteChannelSelect = 0x0004,
+ kNADisposeNoteChannelSelect = 0x0005,
+ kNAGetNoteChannelInfoSelect = 0x0006,
+ kNAPrerollNoteChannelSelect = 0x0007,
+ kNAUnrollNoteChannelSelect = 0x0008,
+ kNASetNoteChannelVolumeSelect = 0x000B,
+ kNAResetNoteChannelSelect = 0x000C,
+ kNAPlayNoteSelect = 0x000D,
+ kNASetControllerSelect = 0x000E,
+ kNASetKnobSelect = 0x000F,
+ kNAFindNoteChannelToneSelect = 0x0010,
+ kNASetInstrumentNumberSelect = 0x0011,
+ kNAPickInstrumentSelect = 0x0012,
+ kNAPickArrangementSelect = 0x0013,
+ kNAStuffToneDescriptionSelect = 0x001B,
+ kNACopyrightDialogSelect = 0x001C,
+ kNAGetIndNoteChannelSelect = 0x001F,
+ kNAGetMIDIPortsSelect = 0x0021,
+ kNAGetNoteRequestSelect = 0x0022,
+ kNASendMIDISelect = 0x0023,
+ kNAPickEditInstrumentSelect = 0x0024,
+ kNANewNoteChannelFromAtomicInstrumentSelect = 0x0025,
+ kNASetAtomicInstrumentSelect = 0x0026,
+ kNAGetKnobSelect = 0x0028,
+ kNATaskSelect = 0x0029,
+ kNASetNoteChannelBalanceSelect = 0x002A,
+ kNASetInstrumentNumberInterruptSafeSelect = 0x002B,
+ kNASetNoteChannelSoundLocalizationSelect = 0x002C,
+ kNAGetControllerSelect = 0x002D,
+ kTuneSetHeaderSelect = 0x0004,
+ kTuneGetTimeBaseSelect = 0x0005,
+ kTuneSetTimeScaleSelect = 0x0006,
+ kTuneGetTimeScaleSelect = 0x0007,
+ kTuneGetIndexedNoteChannelSelect = 0x0008,
+ kTuneQueueSelect = 0x000A,
+ kTuneInstantSelect = 0x000B,
+ kTuneGetStatusSelect = 0x000C,
+ kTuneStopSelect = 0x000D,
+ kTuneSetVolumeSelect = 0x0010,
+ kTuneGetVolumeSelect = 0x0011,
+ kTunePrerollSelect = 0x0012,
+ kTuneUnrollSelect = 0x0013,
+ kTuneSetNoteChannelsSelect = 0x0014,
+ kTuneSetPartTransposeSelect = 0x0015,
+ kTuneGetNoteAllocatorSelect = 0x0017,
+ kTuneSetSofterSelect = 0x0018,
+ kTuneTaskSelect = 0x0019,
+ kTuneSetBalanceSelect = 0x001A,
+ kTuneSetSoundLocalizationSelect = 0x001B,
+ kTuneSetHeaderWithSizeSelect = 0x001C,
+ kTuneSetPartMixSelect = 0x001D,
+ kTuneGetPartMixSelect = 0x001E
+};
#endif // !__LP64__
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QuickTimeStreaming.h b/include/qt/QuickTimeStreaming.h
index fdc8531b4..6996dd533 100644
--- a/include/qt/QuickTimeStreaming.h
+++ b/include/qt/QuickTimeStreaming.h
@@ -1,17 +1,17 @@
/*
File: QuickTimeStreaming.h
-
+
Contains: QuickTime Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2007 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 __QUICKTIMESTREAMING__
#define __QUICKTIMESTREAMING__
@@ -52,2774 +52,2650 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- enum {
- kQTSInfiniteDuration = 0x7FFFFFFF,
- kQTSUnknownDuration = 0x00000000,
- kQTSNormalForwardRate = 0x00010000,
- kQTSStoppedRate = 0x00000000
- };
-
- struct QTSPresentationRecord
- {
- long data[1];
- };
- typedef struct QTSPresentationRecord QTSPresentationRecord;
- typedef QTSPresentationRecord * QTSPresentation;
- struct QTSStreamRecord
- {
- long data[1];
- };
- typedef struct QTSStreamRecord QTSStreamRecord;
- typedef QTSStreamRecord * QTSStream;
- struct QTSEditEntry
- {
- TimeValue64 presentationDuration;
- TimeValue64 streamStartTime;
- Fixed streamRate;
- };
- typedef struct QTSEditEntry QTSEditEntry;
- struct QTSEditList
- {
- SInt32 numEdits;
- QTSEditEntry edits[1];
- };
- typedef struct QTSEditList QTSEditList;
- typedef QTSEditList * QTSEditListPtr;
- typedef QTSEditListPtr * QTSEditListHandle;
+enum {
+ kQTSInfiniteDuration = 0x7FFFFFFF,
+ kQTSUnknownDuration = 0x00000000,
+ kQTSNormalForwardRate = 0x00010000,
+ kQTSStoppedRate = 0x00000000
+};
+
+struct QTSPresentationRecord {
+ long data[1];
+};
+typedef struct QTSPresentationRecord QTSPresentationRecord;
+typedef QTSPresentationRecord * QTSPresentation;
+struct QTSStreamRecord {
+ long data[1];
+};
+typedef struct QTSStreamRecord QTSStreamRecord;
+typedef QTSStreamRecord * QTSStream;
+struct QTSEditEntry {
+ TimeValue64 presentationDuration;
+ TimeValue64 streamStartTime;
+ Fixed streamRate;
+};
+typedef struct QTSEditEntry QTSEditEntry;
+struct QTSEditList {
+ SInt32 numEdits;
+ QTSEditEntry edits[1];
+};
+typedef struct QTSEditList QTSEditList;
+typedef QTSEditList * QTSEditListPtr;
+typedef QTSEditListPtr * QTSEditListHandle;
#define kQTSInvalidPresentation (QTSPresentation)0L
#define kQTSAllPresentations (QTSPresentation)0L
#define kQTSInvalidStream (QTSStream)0L
#define kQTSAllStreams (QTSStream)0L
- typedef CALLBACK_API(ComponentResult , QTSNotificationProcPtr)(ComponentResult inErr, OSType inNotificationType, void *inNotificationParams, void *inRefCon);
- typedef STACK_UPP_TYPE(QTSNotificationProcPtr) QTSNotificationUPP;
- /*-----------------------------------------
- Get / Set Info
- -----------------------------------------*/
- enum
- {
- kQTSGetURLLink = FOUR_CHAR_CODE('gull') /* QTSGetURLLinkRecord* */
- };
-
- /* get and set */
- enum
- {
- kQTSTargetBufferDurationInfo = FOUR_CHAR_CODE('bufr'), /* Fixed* in seconds; expected, not actual */
- kQTSDurationInfo = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom* */
- kQTSSoundLevelMeteringEnabledInfo = FOUR_CHAR_CODE('mtrn'), /* Boolean* */
- kQTSSoundLevelMeterInfo = FOUR_CHAR_CODE('levm'), /* LevelMeterInfoPtr */
- kQTSSourceTrackIDInfo = FOUR_CHAR_CODE('otid'), /* UInt32* */
- kQTSSourceLayerInfo = FOUR_CHAR_CODE('olyr'), /* UInt16* */
- kQTSSourceLanguageInfo = FOUR_CHAR_CODE('olng'), /* UInt16* */
- kQTSSourceTrackFlagsInfo = FOUR_CHAR_CODE('otfl'), /* SInt32* */
- kQTSSourceDimensionsInfo = FOUR_CHAR_CODE('odim'), /* QTSDimensionParams* */
- kQTSSourceVolumesInfo = FOUR_CHAR_CODE('ovol'), /* QTSVolumesParams* */
- kQTSSourceMatrixInfo = FOUR_CHAR_CODE('omat'), /* MatrixRecord* */
- kQTSSourceClipRectInfo = FOUR_CHAR_CODE('oclp'), /* Rect* */
- kQTSSourceGraphicsModeInfo = FOUR_CHAR_CODE('ogrm'), /* QTSGraphicsModeParams* */
- kQTSSourceScaleInfo = FOUR_CHAR_CODE('oscl'), /* Point* */
- kQTSSourceBoundingRectInfo = FOUR_CHAR_CODE('orct'), /* Rect* */
- kQTSSourceUserDataInfo = FOUR_CHAR_CODE('oudt'), /* UserData */
- kQTSSourceInputMapInfo = FOUR_CHAR_CODE('oimp'), /* QTAtomContainer */
- kQTSInfo_DataProc = FOUR_CHAR_CODE('datp'), /* QTSDataProcParams* */
- kQTSInfo_SendDataExtras = FOUR_CHAR_CODE('dext'), /* QTSSendDataExtrasParams* */
- kQTSInfo_HintTrackID = FOUR_CHAR_CODE('htid'), /* long* */
- kQTSInfo_URL = FOUR_CHAR_CODE('url '), /* Handle*, cstring in handle */
- kQTSInfo_Authentication = FOUR_CHAR_CODE('auup'), /* QTSAuthenticationParams */
- kQTSInfo_MediaPacketizer = FOUR_CHAR_CODE('rmpk') /* ComponentInstance */
- };
-
- /* get only */
- enum
- {
- kQTSStatisticsInfo = FOUR_CHAR_CODE('stat'), /* QTSStatisticsParams* */
- kQTSMinStatusDimensionsInfo = FOUR_CHAR_CODE('mstd'), /* QTSDimensionParams* */
- kQTSNormalStatusDimensionsInfo = FOUR_CHAR_CODE('nstd'), /* QTSDimensionParams* */
- kQTSTotalDataRateInfo = FOUR_CHAR_CODE('drtt'), /* UInt32*, add to what's there */
- kQTSTotalDataRateInInfo = FOUR_CHAR_CODE('drti'), /* UInt32*, add to what's there */
- kQTSTotalDataRateOutInfo = FOUR_CHAR_CODE('drto'), /* UInt32*, add to what's there */
- kQTSLostPercentInfo = FOUR_CHAR_CODE('lpct'), /* QTSLostPercentParams*, add to what's there */
- kQTSNumViewersInfo = FOUR_CHAR_CODE('nviw'), /* UInt32* */
- kQTSMediaTypeInfo = FOUR_CHAR_CODE('mtyp'), /* OSType* */
- kQTSNameInfo = FOUR_CHAR_CODE('name'), /* QTSNameParams* */
- kQTSCanHandleSendDataType = FOUR_CHAR_CODE('chsd'), /* QTSCanHandleSendDataTypeParams* */
- kQTSAnnotationsInfo = FOUR_CHAR_CODE('meta'), /* QTAtomContainer */
- kQTSRemainingBufferTimeInfo = FOUR_CHAR_CODE('btms'), /* UInt32* remaining buffer time before playback, in microseconds */
- kQTSInfo_SettingsText = FOUR_CHAR_CODE('sttx'), /* QTSSettingsTextParams* */
- kQTSInfo_AverageFrameRate = FOUR_CHAR_CODE('fps ') /* UnsignedFixed* */
- };
-
-
- struct QTSAuthenticationParams
- {
- SInt32 flags;
- const char * userID; /* caller disposes of pointer*/
- const char * password; /* caller disposes of pointer*/
- };
- typedef struct QTSAuthenticationParams QTSAuthenticationParams;
- enum
- {
- kQTSTargetBufferDurationTimeScale = 1000
- };
-
- struct QTSPanelFilterParams
- {
- SInt32 version;
- QTSStream inStream;
- OSType inPanelType;
- OSType inPanelSubType;
- QTAtomSpec details;
- };
- typedef struct QTSPanelFilterParams QTSPanelFilterParams;
- /* return true to keep this panel*/
- typedef CALLBACK_API(Boolean , QTSPanelFilterProcPtr)(QTSPanelFilterParams *inParams, void *inRefCon);
- typedef STACK_UPP_TYPE(QTSPanelFilterProcPtr) QTSPanelFilterUPP;
- enum
- {
- kQTSSettingsTextSummary = FOUR_CHAR_CODE('set1'),
- kQTSSettingsTextDetails = FOUR_CHAR_CODE('setd')
- };
-
- struct QTSSettingsTextParams
- {
- SInt32 flags; /* None yet defined*/
- OSType inSettingsSelector; /* which kind of setting you want from enum above*/
- Handle outSettingsAsText; /* QTS allocates; Caller disposes*/
- QTSPanelFilterUPP inPanelFilterProc; /* To get a subset filter with this */
- void * inPanelFilterProcRefCon;
- };
- typedef struct QTSSettingsTextParams QTSSettingsTextParams;
- struct QTSCanHandleSendDataTypeParams
- {
- SInt32 modifierTypeOrInputID;
- Boolean isModifierType;
- Boolean returnedCanHandleSendDataType; /* callee sets to true if it can handle it*/
- };
- typedef struct QTSCanHandleSendDataTypeParams QTSCanHandleSendDataTypeParams;
- struct QTSNameParams
- {
- SInt32 maxNameLength;
- SInt32 requestedLanguage;
- SInt32 returnedActualLanguage;
- unsigned char * returnedName; /* pascal string; caller supplies*/
- };
- typedef struct QTSNameParams QTSNameParams;
- struct QTSLostPercentParams
- {
- UInt32 receivedPkts;
- UInt32 lostPkts;
- Fixed percent;
- };
- typedef struct QTSLostPercentParams QTSLostPercentParams;
- struct QTSDimensionParams
- {
- Fixed width;
- Fixed height;
- };
- typedef struct QTSDimensionParams QTSDimensionParams;
- struct QTSVolumesParams
- {
- SInt16 leftVolume;
- SInt16 rightVolume;
- };
- typedef struct QTSVolumesParams QTSVolumesParams;
- struct QTSGraphicsModeParams
- {
- SInt16 graphicsMode;
- RGBColor opColor;
- };
- typedef struct QTSGraphicsModeParams QTSGraphicsModeParams;
- struct QTSGetURLLinkRecord
- {
- Point displayWhere;
- Handle returnedURLLink;
- };
- typedef struct QTSGetURLLinkRecord QTSGetURLLinkRecord;
- enum
- {
- kQTSDataProcParamsVersion1 = 1
- };
-
- enum
- {
- kQTSDataProcType_MediaSample = FOUR_CHAR_CODE('mdia'),
- kQTSDataProcType_HintSample = FOUR_CHAR_CODE('hint')
- };
-
- struct QTSDataProcParams
- {
- SInt32 version;
- SInt32 flags;
- QTSStream stream;
- OSType procType;
- QTSNotificationUPP proc;
- void * procRefCon;
- };
- typedef struct QTSDataProcParams QTSDataProcParams;
- enum
- {
- kQTSDataProcSelector_SampleData = FOUR_CHAR_CODE('samp'),
- kQTSDataProcSelector_UserData = FOUR_CHAR_CODE('user')
- };
-
- enum
- {
- kQTSSampleDataCallbackParamsVersion1 = 1
- };
-
- struct QTSSampleDataCallbackParams
- {
- SInt32 version;
- SInt32 flags;
- QTSStream stream;
- OSType procType;
- OSType mediaType;
- TimeScale mediaTimeScale;
- SampleDescriptionHandle sampleDesc;
- UInt32 sampleDescSeed;
- TimeValue64 sampleTime;
- TimeValue64 duration; /* could be 0 */
- SInt32 sampleFlags;
- UInt32 dataLength;
- const void * data;
- };
- typedef struct QTSSampleDataCallbackParams QTSSampleDataCallbackParams;
- enum
- {
- kQTSUserDataCallbackParamsVersion1 = 1
- };
-
- struct QTSUserDataCallbackParams
- {
- SInt32 version;
- SInt32 flags;
- QTSStream stream;
- OSType procType;
- OSType userDataType;
- Handle userDataHandle; /* caller must make copy if it wants to keep the data around*/
- };
- typedef struct QTSUserDataCallbackParams QTSUserDataCallbackParams;
- enum
- {
- kQTSSendDataExtrasParamsVersion1 = 1
- };
-
- struct QTSSendDataExtrasParams
- {
- SInt32 version;
- SInt32 flags;
- OSType procType;
- };
- typedef struct QTSSendDataExtrasParams QTSSendDataExtrasParams;
- typedef CALLBACK_API(Boolean , QTSModalFilterProcPtr)(DialogPtr inDialog, const EventRecord *inEvent, SInt16 *ioItemHit, void *inRefCon);
- typedef STACK_UPP_TYPE(QTSModalFilterProcPtr) QTSModalFilterUPP;
- /*-----------------------------------------
- Characteristics
- -----------------------------------------*/
- /* characteristics in Movies.h work here too */
- enum
- {
- kQTSSupportsPerStreamControlCharacteristic = FOUR_CHAR_CODE('psct')
- };
-
- struct QTSVideoParams
- {
- Fixed width;
- Fixed height;
- MatrixRecord matrix;
- CGrafPtr gWorld;
- GDHandle gdHandle;
- RgnHandle clip;
- short graphicsMode;
- RGBColor opColor;
- };
- typedef struct QTSVideoParams QTSVideoParams;
- struct QTSAudioParams
- {
- SInt16 leftVolume;
- SInt16 rightVolume;
- SInt16 bassLevel;
- SInt16 trebleLevel;
- short frequencyBandsCount;
- void * frequencyBands;
- Boolean levelMeteringEnabled;
- };
- typedef struct QTSAudioParams QTSAudioParams;
- struct QTSMediaParams
- {
- QTSVideoParams v;
- QTSAudioParams a;
- };
- typedef struct QTSMediaParams QTSMediaParams;
- enum
- {
- kQTSMustDraw = 1 << 3,
- kQTSAtEnd = 1 << 4,
- kQTSPreflightDraw = 1 << 5,
- kQTSSyncDrawing = 1 << 6
- };
-
- /* media task result flags */
- enum
- {
- kQTSDidDraw = 1 << 0,
- kQTSNeedsToDraw = 1 << 2,
- kQTSDrawAgain = 1 << 3,
- kQTSPartialDraw = 1 << 4
- };
-
- /*============================================================================
- Notifications
- ============================================================================*/
- /* ------ notification types ------ */
- enum
- {
- kQTSNullNotification = FOUR_CHAR_CODE('null'), /* NULL */
- kQTSErrorNotification = FOUR_CHAR_CODE('err '), /* QTSErrorParams*, optional */
- kQTSNewPresDetectedNotification = FOUR_CHAR_CODE('newp'), /* QTSNewPresDetectedParams* */
- kQTSPresBeginChangingNotification = FOUR_CHAR_CODE('prcb'), /* NULL */
- kQTSPresDoneChangingNotification = FOUR_CHAR_CODE('prcd'), /* NULL */
- kQTSPresentationChangedNotification = FOUR_CHAR_CODE('prch'), /* NULL */
- kQTSNewStreamNotification = FOUR_CHAR_CODE('stnw'), /* QTSNewStreamParams* */
- kQTSStreamBeginChangingNotification = FOUR_CHAR_CODE('stcb'), /* QTSStream */
- kQTSStreamDoneChangingNotification = FOUR_CHAR_CODE('stcd'), /* QTSStream */
- kQTSStreamChangedNotification = FOUR_CHAR_CODE('stch'), /* QTSStreamChangedParams* */
- kQTSStreamGoneNotification = FOUR_CHAR_CODE('stgn'), /* QTSStreamGoneParams* */
- kQTSPreviewAckNotification = FOUR_CHAR_CODE('pvak'), /* QTSStream */
- kQTSPrerollAckNotification = FOUR_CHAR_CODE('pack'), /* QTSStream */
- kQTSStartAckNotification = FOUR_CHAR_CODE('sack'), /* QTSStream */
- kQTSStopAckNotification = FOUR_CHAR_CODE('xack'), /* QTSStream */
- kQTSStatusNotification = FOUR_CHAR_CODE('stat'), /* QTSStatusParams* */
- kQTSURLNotification = FOUR_CHAR_CODE('url '), /* QTSURLParams* */
- kQTSDurationNotification = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom* */
- kQTSNewPresentationNotification = FOUR_CHAR_CODE('nprs'), /* QTSPresentation */
- kQTSPresentationGoneNotification = FOUR_CHAR_CODE('xprs'), /* QTSPresentation */
- kQTSPresentationDoneNotification = FOUR_CHAR_CODE('pdon'), /* NULL */
- kQTSBandwidthAlertNotification = FOUR_CHAR_CODE('bwal'), /* QTSBandwidthAlertParams* */
- kQTSAnnotationsChangedNotification = FOUR_CHAR_CODE('meta') /* NULL */
- };
-
-
- /* flags for QTSErrorParams */
- enum
- {
- kQTSFatalErrorFlag = 0x00000001
- };
-
- struct QTSErrorParams
- {
- const char * errorString;
- SInt32 flags;
- };
- typedef struct QTSErrorParams QTSErrorParams;
- struct QTSNewPresDetectedParams
- {
- void * data;
- };
- typedef struct QTSNewPresDetectedParams QTSNewPresDetectedParams;
- struct QTSNewStreamParams
- {
- QTSStream stream;
- };
- typedef struct QTSNewStreamParams QTSNewStreamParams;
- struct QTSStreamChangedParams
- {
- QTSStream stream;
- ComponentInstance mediaComponent; /* could be NULL */
- };
- typedef struct QTSStreamChangedParams QTSStreamChangedParams;
- struct QTSStreamGoneParams
- {
- QTSStream stream;
- };
- typedef struct QTSStreamGoneParams QTSStreamGoneParams;
- struct QTSStatusParams
- {
- UInt32 status;
- const char * statusString;
- UInt32 detailedStatus;
- const char * detailedStatusString;
- };
- typedef struct QTSStatusParams QTSStatusParams;
- struct QTSInfoParams
- {
- OSType infoType;
- void * infoParams;
- };
- typedef struct QTSInfoParams QTSInfoParams;
- struct QTSURLParams
- {
- UInt32 urlLength;
- const char * url;
- };
- typedef struct QTSURLParams QTSURLParams;
- enum
- {
- kQTSBandwidthAlertNeedToStop = 1 << 0,
- kQTSBandwidthAlertRestartAt = 1 << 1
- };
-
- struct QTSBandwidthAlertParams
- {
- SInt32 flags;
- TimeValue restartAt; /* new field in QT 4.1*/
- void * reserved;
- };
- typedef struct QTSBandwidthAlertParams QTSBandwidthAlertParams;
- /*============================================================================
- Presentation
- ============================================================================*/
- /*-----------------------------------------
- Flags
- -----------------------------------------*/
- /* flags for NewPresentationFromData */
- enum
- {
- kQTSAutoModeFlag = 0x00000001,
- kQTSDontShowStatusFlag = 0x00000008,
- kQTSSendMediaFlag = 0x00010000,
- kQTSReceiveMediaFlag = 0x00020000
- };
-
- struct QTSNewPresentationParams
- {
- OSType dataType;
- const void * data;
- UInt32 dataLength;
- QTSEditListHandle editList;
- SInt32 flags;
- TimeScale timeScale; /* set to 0 for default timescale */
- QTSMediaParams * mediaParams;
- QTSNotificationUPP notificationProc;
- void * notificationRefCon;
- };
- typedef struct QTSNewPresentationParams QTSNewPresentationParams;
- struct QTSPresParams
- {
- UInt32 version;
- QTSEditListHandle editList;
- SInt32 flags;
- TimeScale timeScale; /* set to 0 for default timescale */
- QTSMediaParams * mediaParams;
- QTSNotificationUPP notificationProc;
- void * notificationRefCon;
- };
- typedef struct QTSPresParams QTSPresParams;
- enum
- {
- kQTSPresParamsVersion1 = 1
- };
-
- struct QTSPresIdleParams
- {
- QTSStream stream;
- TimeValue64 movieTimeToDisplay;
- SInt32 flagsIn;
- SInt32 flagsOut;
- };
- typedef struct QTSPresIdleParams QTSPresIdleParams;
- enum
- {
- kQTSExportFlag_ShowDialog = 0x00000001
- };
-
- enum
- {
- kQTSExportParamsVersion1 = 1
- };
-
- struct QTSExportParams
- {
- SInt32 version;
- OSType exportType;
- void * exportExtraData;
- OSType destinationContainerType;
- void * destinationContainerData;
- void * destinationContainerExtras;
- SInt32 flagsIn;
- SInt32 flagsOut;
- QTSModalFilterUPP filterProc;
- void * filterProcRefCon;
- Component exportComponent; /* NULL unless you want to override */
- };
- typedef struct QTSExportParams QTSExportParams;
- /*-----------------------------------------
- Toolbox Init/Close
- -----------------------------------------*/
- /* all "apps" must call this */
- /*
- * InitializeQTS()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- InitializeQTS(void);
-
-
- /*
- * TerminateQTS()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- TerminateQTS(void);
-
-
- /*-----------------------------------------
- Presentation Functions
- -----------------------------------------*/
- /*
- * QTSNewPresentation()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSNewPresentation(
- const QTSNewPresentationParams * inParams,
- QTSPresentation * outPresentation);
-
-
- /*
- * QTSNewPresentationFromData()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSNewPresentationFromData(
- OSType inDataType,
- const void * inData,
- const SInt64 * inDataLength,
- const QTSPresParams * inPresParams,
- QTSPresentation * outPresentation);
-
-
- /*
- * QTSNewPresentationFromFile()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSNewPresentationFromFile(
- const FSSpec * inFileSpec,
- const QTSPresParams * inPresParams,
- QTSPresentation * outPresentation);
-
-
- /*
- * QTSNewPresentationFromDataRef()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSNewPresentationFromDataRef(
- Handle inDataRef,
- OSType inDataRefType,
- const QTSPresParams * inPresParams,
- QTSPresentation * outPresentation);
-
-
- /*
- * QTSDisposePresentation()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSDisposePresentation(
- QTSPresentation inPresentation,
- SInt32 inFlags);
-
-
- /*
- * QTSPresExport()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresExport(
- QTSPresentation inPresentation,
- QTSStream inStream,
- QTSExportParams * inExportParams);
-
-
- /*
- * QTSPresIdle()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(void)
- QTSPresIdle(
- QTSPresentation inPresentation,
- QTSPresIdleParams * ioParams);
-
-
- /*
- * QTSPresInvalidateRegion()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresInvalidateRegion(
- QTSPresentation inPresentation,
- RgnHandle inRegion);
-
-
- /*-----------------------------------------
- Presentation Configuration
- -----------------------------------------*/
- /*
- * QTSPresSetFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetFlags(
- QTSPresentation inPresentation,
- SInt32 inFlags,
- SInt32 inFlagsMask);
-
-
- /*
- * QTSPresGetFlags()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetFlags(
- QTSPresentation inPresentation,
- SInt32 * outFlags);
-
-
- /*
- * QTSPresGetTimeBase()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetTimeBase(
- QTSPresentation inPresentation,
- TimeBase * outTimeBase);
-
-
- /*
- * QTSPresGetTimeScale()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetTimeScale(
- QTSPresentation inPresentation,
- TimeScale * outTimeScale);
-
-
- /*
- * QTSPresSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetInfo(
- QTSPresentation inPresentation,
- QTSStream inStream,
- OSType inSelector,
- void * ioParam);
-
-
- /*
- * QTSPresGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetInfo(
- QTSPresentation inPresentation,
- QTSStream inStream,
- OSType inSelector,
- void * ioParam);
-
-
- /*
- * QTSPresHasCharacteristic()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresHasCharacteristic(
- QTSPresentation inPresentation,
- QTSStream inStream,
- OSType inCharacteristic,
- Boolean * outHasIt);
-
-
- /*
- * QTSPresSetNotificationProc()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetNotificationProc(
- QTSPresentation inPresentation,
- QTSNotificationUPP inNotificationProc,
- void * inRefCon);
-
-
- /*
- * QTSPresGetNotificationProc()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetNotificationProc(
- QTSPresentation inPresentation,
- QTSNotificationUPP * outNotificationProc,
- void ** outRefCon);
-
-
- /*-----------------------------------------
- Presentation Control
- -----------------------------------------*/
- /*
- * QTSPresPreview()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresPreview(
- QTSPresentation inPresentation,
- QTSStream inStream,
- const TimeValue64 * inTimeValue,
- Fixed inRate,
- SInt32 inFlags);
-
-
- /*
- * QTSPresPreroll()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresPreroll(
- QTSPresentation inPresentation,
- QTSStream inStream,
- UInt32 inTimeValue,
- Fixed inRate,
- SInt32 inFlags);
-
-
- /*
- * QTSPresPreroll64()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresPreroll64(
- QTSPresentation inPresentation,
- QTSStream inStream,
- const TimeValue64 * inPrerollTime,
- Fixed inRate,
- SInt32 inFlags);
-
-
- /*
- * QTSPresStart()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresStart(
- QTSPresentation inPresentation,
- QTSStream inStream,
- SInt32 inFlags);
-
-
- /*
- * QTSPresSkipTo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSkipTo(
- QTSPresentation inPresentation,
- UInt32 inTimeValue);
-
-
- /*
- * QTSPresSkipTo64()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSkipTo64(
- QTSPresentation inPresentation,
- const TimeValue64 * inTimeValue);
-
-
- /*
- * QTSPresStop()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresStop(
- QTSPresentation inPresentation,
- QTSStream inStream,
- SInt32 inFlags);
-
-
- /*============================================================================
- Streams
- ============================================================================*/
- /*-----------------------------------------
- Stream Functions
- -----------------------------------------*/
- /*
- * QTSPresNewStream()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresNewStream(
- QTSPresentation inPresentation,
- OSType inDataType,
- const void * inData,
- UInt32 inDataLength,
- SInt32 inFlags,
- QTSStream * outStream);
-
-
- /*
- * QTSDisposeStream()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSDisposeStream(
- QTSStream inStream,
- SInt32 inFlags);
-
-
- /*
- * QTSPresGetNumStreams()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(UInt32)
- QTSPresGetNumStreams(QTSPresentation inPresentation);
-
-
- /*
- * QTSPresGetIndStream()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(QTSStream)
- QTSPresGetIndStream(
- QTSPresentation inPresentation,
- UInt32 inIndex);
-
-
- /*
- * QTSGetStreamPresentation()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(QTSPresentation)
- QTSGetStreamPresentation(QTSStream inStream);
-
-
- /*
- * QTSPresSetPreferredRate()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetPreferredRate(
- QTSPresentation inPresentation,
- Fixed inRate,
- SInt32 inFlags);
-
-
- /*
- * QTSPresGetPreferredRate()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetPreferredRate(
- QTSPresentation inPresentation,
- Fixed * outRate);
-
-
- /*
- * QTSPresSetEnable()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetEnable(
- QTSPresentation inPresentation,
- QTSStream inStream,
- Boolean inEnableMode);
-
-
- /*
- * QTSPresGetEnable()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetEnable(
- QTSPresentation inPresentation,
- QTSStream inStream,
- Boolean * outEnableMode);
-
-
- /*
- * QTSPresSetPresenting()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetPresenting(
- QTSPresentation inPresentation,
- QTSStream inStream,
- Boolean inPresentingMode);
-
-
- /*
- * QTSPresGetPresenting()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetPresenting(
- QTSPresentation inPresentation,
- QTSStream inStream,
- Boolean * outPresentingMode);
-
-
- /*
- * QTSPresSetActiveSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetActiveSegment(
- QTSPresentation inPresentation,
- QTSStream inStream,
- const TimeValue64 * inStartTime,
- const TimeValue64 * inDuration);
-
-
- /*
- * QTSPresGetActiveSegment()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetActiveSegment(
- QTSPresentation inPresentation,
- QTSStream inStream,
- TimeValue64 * outStartTime,
- TimeValue64 * outDuration);
-
-
- /*
- * QTSPresSetPlayHints()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetPlayHints(
- QTSPresentation inPresentation,
- QTSStream inStream,
- SInt32 inFlags,
- SInt32 inFlagsMask);
-
-
- /*
- * QTSPresGetPlayHints()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetPlayHints(
- QTSPresentation inPresentation,
- QTSStream inStream,
- SInt32 * outFlags);
-
-
- /*-----------------------------------------
- Stream Spatial Functions
- -----------------------------------------*/
- /*
- * QTSPresSetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetGWorld(
- QTSPresentation inPresentation,
- QTSStream inStream,
- CGrafPtr inGWorld,
- GDHandle inGDHandle);
-
-
- /*
- * QTSPresGetGWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetGWorld(
- QTSPresentation inPresentation,
- QTSStream inStream,
- CGrafPtr * outGWorld,
- GDHandle * outGDHandle);
-
-
- /*
- * QTSPresSetClip()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetClip(
- QTSPresentation inPresentation,
- QTSStream inStream,
- RgnHandle inClip);
-
-
- /*
- * QTSPresGetClip()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetClip(
- QTSPresentation inPresentation,
- QTSStream inStream,
- RgnHandle * outClip);
-
-
- /*
- * QTSPresSetMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetMatrix(
- QTSPresentation inPresentation,
- QTSStream inStream,
- const MatrixRecord * inMatrix);
-
-
- /*
- * QTSPresGetMatrix()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetMatrix(
- QTSPresentation inPresentation,
- QTSStream inStream,
- MatrixRecord * outMatrix);
-
-
- /*
- * QTSPresSetDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetDimensions(
- QTSPresentation inPresentation,
- QTSStream inStream,
- Fixed inWidth,
- Fixed inHeight);
-
-
- /*
- * QTSPresGetDimensions()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetDimensions(
- QTSPresentation inPresentation,
- QTSStream inStream,
- Fixed * outWidth,
- Fixed * outHeight);
-
-
- /*
- * QTSPresSetGraphicsMode()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetGraphicsMode(
- QTSPresentation inPresentation,
- QTSStream inStream,
- short inMode,
- const RGBColor * inOpColor);
-
-
- /*
- * QTSPresGetGraphicsMode()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetGraphicsMode(
- QTSPresentation inPresentation,
- QTSStream inStream,
- short * outMode,
- RGBColor * outOpColor);
-
-
- /*
- * QTSPresGetPicture()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetPicture(
- QTSPresentation inPresentation,
- QTSStream inStream,
- PicHandle * outPicture);
-
-
- /*-----------------------------------------
- Stream Sound Functions
- -----------------------------------------*/
- /*
- * QTSPresSetVolumes()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetVolumes(
- QTSPresentation inPresentation,
- QTSStream inStream,
- short inLeftVolume,
- short inRightVolume);
-
-
- /*
- * QTSPresGetVolumes()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetVolumes(
- QTSPresentation inPresentation,
- QTSStream inStream,
- short * outLeftVolume,
- short * outRightVolume);
-
-
- /*-----------------------------------------
- Sourcing
- -----------------------------------------*/
- /*
- * QTSPresGetSettingsAsText()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetSettingsAsText(
- QTSPresentation inPresentation,
- QTSStream inStream,
- SInt32 inFlags,
- OSType inSettingsType,
- Handle * outText,
- QTSPanelFilterUPP inPanelFilterProc,
- void * inPanelFilterProcRefCon);
-
-
- /*
- * QTSPresSettingsDialog()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSettingsDialog(
- QTSPresentation inPresentation,
- QTSStream inStream,
- SInt32 inFlags,
- QTSModalFilterUPP inFilterProc,
- void * inFilterProcRefCon);
-
-
- /*
- * QTSPresSettingsDialogWithFilters()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSettingsDialogWithFilters(
- QTSPresentation inPresentation,
- QTSStream inStream,
- SInt32 inFlags,
- QTSModalFilterUPP inFilterProc,
- void * inFilterProcRefCon,
- QTSPanelFilterUPP inPanelFilterProc,
- void * inPanelFilterProcRefCon);
-
-
- /*
- * QTSPresSetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresSetSettings(
- QTSPresentation inPresentation,
- QTSStream inStream,
- QTAtomSpecPtr inSettings,
- SInt32 inFlags);
-
-
- /*
- * QTSPresGetSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetSettings(
- QTSPresentation inPresentation,
- QTSStream inStream,
- QTAtomContainer * outSettings,
- SInt32 inFlags);
-
-
- /*
- * QTSPresAddSourcer()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresAddSourcer(
- QTSPresentation inPresentation,
- QTSStream inStream,
- ComponentInstance inSourcer,
- SInt32 inFlags);
-
-
- /*
- * QTSPresRemoveSourcer()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresRemoveSourcer(
- QTSPresentation inPresentation,
- QTSStream inStream,
- ComponentInstance inSourcer,
- SInt32 inFlags);
-
-
- /*
- * QTSPresGetNumSourcers()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UInt32)
- QTSPresGetNumSourcers(
- QTSPresentation inPresentation,
- QTSStream inStream);
-
-
- /*
- * QTSPresGetIndSourcer()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPresGetIndSourcer(
- QTSPresentation inPresentation,
- QTSStream inStream,
- UInt32 inIndex,
- ComponentInstance * outSourcer);
-
-
- /*============================================================================
- Misc
- ============================================================================*/
- /* flags for Get/SetNetworkAppName */
- enum
- {
- kQTSNetworkAppNameIsFullNameFlag = 0x00000001
- };
-
- /*
- * QTSSetNetworkAppName()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSSetNetworkAppName(
- const char * inAppName,
- SInt32 inFlags);
-
-
- /*
- * QTSGetNetworkAppName()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSGetNetworkAppName(
- SInt32 inFlags,
- char ** outCStringPtr);
-
-
- /*-----------------------------------------
- Statistics Utilities
- -----------------------------------------*/
- struct QTSStatHelperRecord
- {
- long data[1];
- };
- typedef struct QTSStatHelperRecord QTSStatHelperRecord;
- typedef QTSStatHelperRecord * QTSStatHelper;
- enum
- {
- kQTSInvalidStatHelper = 0L
- };
-
- /* flags for QTSStatHelperNextParams */
- enum
- {
- kQTSStatHelperReturnPascalStringsFlag = 0x00000001
- };
-
- struct QTSStatHelperNextParams
- {
- SInt32 flags;
- OSType returnedStatisticsType;
- QTSStream returnedStream;
- UInt32 maxStatNameLength;
- char * returnedStatName; /* NULL if you don't want it*/
- UInt32 maxStatStringLength;
- char * returnedStatString; /* NULL if you don't want it*/
- UInt32 maxStatUnitLength;
- char * returnedStatUnit; /* NULL if you don't want it*/
- };
- typedef struct QTSStatHelperNextParams QTSStatHelperNextParams;
- struct QTSStatisticsParams
- {
- OSType statisticsType;
- QTAtomContainer container;
- QTAtom parentAtom;
- SInt32 flags;
- };
- typedef struct QTSStatisticsParams QTSStatisticsParams;
- /* general statistics types */
- enum
- {
- kQTSAllStatisticsType = FOUR_CHAR_CODE('all '),
- kQTSShortStatisticsType = FOUR_CHAR_CODE('shrt'),
- kQTSSummaryStatisticsType = FOUR_CHAR_CODE('summ')
- };
-
- /* statistics flags */
- enum
- {
- kQTSGetNameStatisticsFlag = 0x00000001,
- kQTSDontGetDataStatisticsFlag = 0x00000002,
- kQTSUpdateAtomsStatisticsFlag = 0x00000004,
- kQTSGetUnitsStatisticsFlag = 0x00000008,
- kQTSUpdateAllIfNecessaryStatisticsFlag = 0x00010000
- };
-
- /* statistics atom types */
- enum
- {
- kQTSStatisticsStreamAtomType = FOUR_CHAR_CODE('strm'),
- kQTSStatisticsNameAtomType = FOUR_CHAR_CODE('name'), /* chars only, no length or terminator */
- kQTSStatisticsDataFormatAtomType = FOUR_CHAR_CODE('frmt'), /* OSType */
- kQTSStatisticsDataAtomType = FOUR_CHAR_CODE('data'),
- kQTSStatisticsUnitsAtomType = FOUR_CHAR_CODE('unit'), /* OSType */
- kQTSStatisticsUnitsNameAtomType = FOUR_CHAR_CODE('unin') /* chars only, no length or terminator */
- };
-
- /* statistics data formats */
- enum
- {
- kQTSStatisticsSInt32DataFormat = FOUR_CHAR_CODE('si32'),
- kQTSStatisticsUInt32DataFormat = FOUR_CHAR_CODE('ui32'),
- kQTSStatisticsSInt16DataFormat = FOUR_CHAR_CODE('si16'),
- kQTSStatisticsUInt16DataFormat = FOUR_CHAR_CODE('ui16'),
- kQTSStatisticsFixedDataFormat = FOUR_CHAR_CODE('fixd'),
- kQTSStatisticsUnsignedFixedDataFormat = FOUR_CHAR_CODE('ufix'),
- kQTSStatisticsStringDataFormat = FOUR_CHAR_CODE('strg'),
- kQTSStatisticsOSTypeDataFormat = FOUR_CHAR_CODE('ostp'),
- kQTSStatisticsRectDataFormat = FOUR_CHAR_CODE('rect'),
- kQTSStatisticsPointDataFormat = FOUR_CHAR_CODE('pont')
- };
-
- /* statistics units types */
- enum
- {
- kQTSStatisticsNoUnitsType = 0,
- kQTSStatisticsPercentUnitsType = FOUR_CHAR_CODE('pcnt'),
- kQTSStatisticsBitsPerSecUnitsType = FOUR_CHAR_CODE('bps '),
- kQTSStatisticsFramesPerSecUnitsType = FOUR_CHAR_CODE('fps ')
- };
-
- /* specific statistics types */
- enum
- {
- kQTSTotalDataRateStat = FOUR_CHAR_CODE('drtt'),
- kQTSTotalDataRateInStat = FOUR_CHAR_CODE('drti'),
- kQTSTotalDataRateOutStat = FOUR_CHAR_CODE('drto'),
- kQTSNetworkIDStringStat = FOUR_CHAR_CODE('nids')
- };
-
- /*
- * QTSNewStatHelper()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSNewStatHelper(
- QTSPresentation inPresentation,
- QTSStream inStream,
- OSType inStatType,
- SInt32 inFlags,
- QTSStatHelper * outStatHelper);
-
-
- /*
- * QTSDisposeStatHelper()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSDisposeStatHelper(QTSStatHelper inStatHelper);
-
-
- /*
- * QTSStatHelperGetStats()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSStatHelperGetStats(QTSStatHelper inStatHelper);
-
-
- /*
- * QTSStatHelperResetIter()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSStatHelperResetIter(QTSStatHelper inStatHelper);
-
-
- /*
- * QTSStatHelperNext()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(Boolean)
- QTSStatHelperNext(
- QTSStatHelper inStatHelper,
- QTSStatHelperNextParams * ioParams);
-
-
- /*
- * QTSStatHelperGetNumStats()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(UInt32)
- QTSStatHelperGetNumStats(QTSStatHelper inStatHelper);
-
-
- /* used by components to put statistics into the atom container */
- /*
- * QTSGetOrMakeStatAtomForStream()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSGetOrMakeStatAtomForStream(
- QTAtomContainer inContainer,
- QTSStream inStream,
- QTAtom * outParentAtom);
-
-
- /*
- * QTSInsertStatistic()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSInsertStatistic(
- QTAtomContainer inContainer,
- QTAtom inParentAtom,
- OSType inStatType,
- void * inStatData,
- UInt32 inStatDataLength,
- OSType inStatDataFormat,
- SInt32 inFlags);
-
-
- /*
- * QTSInsertStatisticName()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSInsertStatisticName(
- QTAtomContainer inContainer,
- QTAtom inParentAtom,
- OSType inStatType,
- const char * inStatName,
- UInt32 inStatNameLength);
-
-
- /*
- * QTSInsertStatisticUnits()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSInsertStatisticUnits(
- QTAtomContainer inContainer,
- QTAtom inParentAtom,
- OSType inStatType,
- OSType inUnitsType,
- const char * inUnitsName,
- UInt32 inUnitsNameLength);
-
-
- /*============================================================================
- Data Formats
- ============================================================================*/
- /*-----------------------------------------
- Data Types
- -----------------------------------------*/
- /* universal data types */
- enum
- {
- kQTSNullDataType = FOUR_CHAR_CODE('NULL'),
- kQTSUnknownDataType = FOUR_CHAR_CODE('huh?'),
- kQTSAtomContainerDataType = FOUR_CHAR_CODE('qtac'), /* QTAtomContainer */
- kQTSAtomDataType = FOUR_CHAR_CODE('qtat'), /* QTSAtomContainerDataStruct* */
- kQTSAliasDataType = FOUR_CHAR_CODE('alis'),
- kQTSFileDataType = FOUR_CHAR_CODE('fspc'), /* FSSpec* */
- kQTSFileSpecDataType = FOUR_CHAR_CODE('fspc'), /* FSSpec* */
- kQTSHandleDataType = FOUR_CHAR_CODE('hndl'), /* Handle* */
- kQTSDataRefDataType = FOUR_CHAR_CODE('dref') /* DataReferencePtr */
- };
-
- /* these data types are specific to presentations */
- enum
- {
- kQTSRTSPDataType = FOUR_CHAR_CODE('rtsp'),
- kQTSSDPDataType = FOUR_CHAR_CODE('sdp ')
- };
-
- /*-----------------------------------------
- Atom IDs
- -----------------------------------------*/
- enum
- {
- kQTSAtomType_Presentation = FOUR_CHAR_CODE('pres'),
- kQTSAtomType_PresentationHeader = FOUR_CHAR_CODE('phdr'), /* QTSPresentationHeaderAtom */
- kQTSAtomType_MediaStream = FOUR_CHAR_CODE('mstr'),
- kQTSAtomType_MediaStreamHeader = FOUR_CHAR_CODE('mshd'), /* QTSMediaStreamHeaderAtom */
- kQTSAtomType_MediaDescriptionText = FOUR_CHAR_CODE('mdes'), /* chars, no length */
- kQTSAtomType_ClipRect = FOUR_CHAR_CODE('clip'), /* QTSClipRectAtom */
- kQTSAtomType_Duration = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom */
- kQTSAtomType_BufferTime = FOUR_CHAR_CODE('bufr') /* QTSBufferTimeAtom */
- };
-
- struct QTSAtomContainerDataStruct
- {
- QTAtomContainer container;
- QTAtom parentAtom;
- };
- typedef struct QTSAtomContainerDataStruct QTSAtomContainerDataStruct;
- /* flags for QTSPresentationHeaderAtom */
- enum
- {
- kQTSPresHeaderTypeIsData = 0x00000100,
- kQTSPresHeaderDataIsHandle = 0x00000200
- };
-
- struct QTSPresentationHeaderAtom
- {
- SInt32 versionAndFlags;
- OSType conductorOrDataType;
- OSType dataAtomType; /* where the data really is*/
- };
- typedef struct QTSPresentationHeaderAtom QTSPresentationHeaderAtom;
- struct QTSMediaStreamHeaderAtom
- {
- SInt32 versionAndFlags;
- OSType mediaTransportType;
- OSType mediaTransportDataAID; /* where the data really is*/
- };
- typedef struct QTSMediaStreamHeaderAtom QTSMediaStreamHeaderAtom;
- struct QTSBufferTimeAtom
- {
- SInt32 versionAndFlags;
- Fixed bufferTime;
- };
- typedef struct QTSBufferTimeAtom QTSBufferTimeAtom;
- struct QTSDurationAtom
- {
- SInt32 versionAndFlags;
- TimeScale timeScale;
- TimeValue64 duration;
- };
- typedef struct QTSDurationAtom QTSDurationAtom;
- struct QTSClipRectAtom
- {
- SInt32 versionAndFlags;
- Rect clipRect;
- };
- typedef struct QTSClipRectAtom QTSClipRectAtom;
- enum
- {
- kQTSEmptyEditStreamStartTime = -1
- };
-
-
- typedef UInt32 QTSStatus;
- enum
- {
- kQTSNullStatus = 0,
- kQTSUninitializedStatus = 1,
- kQTSConnectingStatus = 2,
- kQTSOpeningConnectionDetailedStatus = 3,
- kQTSMadeConnectionDetailedStatus = 4,
- kQTSNegotiatingStatus = 5,
- kQTSGettingDescriptionDetailedStatus = 6,
- kQTSGotDescriptionDetailedStatus = 7,
- kQTSSentSetupCmdDetailedStatus = 8,
- kQTSReceivedSetupResponseDetailedStatus = 9,
- kQTSSentPlayCmdDetailedStatus = 10,
- kQTSReceivedPlayResponseDetailedStatus = 11,
- kQTSBufferingStatus = 12,
- kQTSPlayingStatus = 13,
- kQTSPausedStatus = 14,
- kQTSAutoConfiguringStatus = 15,
- kQTSDownloadingStatus = 16,
- kQTSBufferingWithTimeStatus = 17,
- kQTSWaitingDisconnectStatus = 100
- };
-
- /*-----------------------------------------
- QuickTime Preferences Types
- -----------------------------------------*/
- enum
- {
- kQTSConnectionPrefsType = FOUR_CHAR_CODE('stcm'), /* root atom that all other atoms are contained in*/
- /* kQTSNotUsedForProxyPrefsType = 'nopr', // comma-delimited list of URLs that are never used for proxies*/
- kQTSConnectionMethodPrefsType = FOUR_CHAR_CODE('mthd'), /* connection method (OSType that matches one of the following three)*/
- kQTSDirectConnectPrefsType = FOUR_CHAR_CODE('drct'), /* used if direct connect (QTSDirectConnectPrefsRecord)*/
- /* kQTSRTSPProxyPrefsType = 'rtsp', // used if RTSP Proxy (QTSProxyPrefsRecord)*/
- kQTSSOCKSPrefsType = FOUR_CHAR_CODE('sock') /* used if SOCKS Proxy (QTSProxyPrefsRecord)*/
- };
-
- enum
- {
- kQTSDirectConnectHTTPProtocol = FOUR_CHAR_CODE('http'),
- kQTSDirectConnectRTSPProtocol = FOUR_CHAR_CODE('rtsp')
- };
-
- struct QTSDirectConnectPrefsRecord
- {
- UInt32 tcpPortID;
- OSType protocol;
- };
- typedef struct QTSDirectConnectPrefsRecord QTSDirectConnectPrefsRecord;
- struct QTSProxyPrefsRecord
- {
- Str255 serverNameStr;
- UInt32 portID;
- };
- typedef struct QTSProxyPrefsRecord QTSProxyPrefsRecord;
+typedef CALLBACK_API( ComponentResult , QTSNotificationProcPtr )(ComponentResult inErr, OSType inNotificationType, void *inNotificationParams, void *inRefCon);
+typedef STACK_UPP_TYPE(QTSNotificationProcPtr) QTSNotificationUPP;
+/*-----------------------------------------
+ Get / Set Info
+-----------------------------------------*/
+enum {
+ kQTSGetURLLink = FOUR_CHAR_CODE('gull') /* QTSGetURLLinkRecord* */
+};
+
+/* get and set */
+enum {
+ kQTSTargetBufferDurationInfo = FOUR_CHAR_CODE('bufr'), /* Fixed* in seconds; expected, not actual */
+ kQTSDurationInfo = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom* */
+ kQTSSoundLevelMeteringEnabledInfo = FOUR_CHAR_CODE('mtrn'), /* Boolean* */
+ kQTSSoundLevelMeterInfo = FOUR_CHAR_CODE('levm'), /* LevelMeterInfoPtr */
+ kQTSSourceTrackIDInfo = FOUR_CHAR_CODE('otid'), /* UInt32* */
+ kQTSSourceLayerInfo = FOUR_CHAR_CODE('olyr'), /* UInt16* */
+ kQTSSourceLanguageInfo = FOUR_CHAR_CODE('olng'), /* UInt16* */
+ kQTSSourceTrackFlagsInfo = FOUR_CHAR_CODE('otfl'), /* SInt32* */
+ kQTSSourceDimensionsInfo = FOUR_CHAR_CODE('odim'), /* QTSDimensionParams* */
+ kQTSSourceVolumesInfo = FOUR_CHAR_CODE('ovol'), /* QTSVolumesParams* */
+ kQTSSourceMatrixInfo = FOUR_CHAR_CODE('omat'), /* MatrixRecord* */
+ kQTSSourceClipRectInfo = FOUR_CHAR_CODE('oclp'), /* Rect* */
+ kQTSSourceGraphicsModeInfo = FOUR_CHAR_CODE('ogrm'), /* QTSGraphicsModeParams* */
+ kQTSSourceScaleInfo = FOUR_CHAR_CODE('oscl'), /* Point* */
+ kQTSSourceBoundingRectInfo = FOUR_CHAR_CODE('orct'), /* Rect* */
+ kQTSSourceUserDataInfo = FOUR_CHAR_CODE('oudt'), /* UserData */
+ kQTSSourceInputMapInfo = FOUR_CHAR_CODE('oimp'), /* QTAtomContainer */
+ kQTSInfo_DataProc = FOUR_CHAR_CODE('datp'), /* QTSDataProcParams* */
+ kQTSInfo_SendDataExtras = FOUR_CHAR_CODE('dext'), /* QTSSendDataExtrasParams* */
+ kQTSInfo_HintTrackID = FOUR_CHAR_CODE('htid'), /* long* */
+ kQTSInfo_URL = FOUR_CHAR_CODE('url '), /* Handle*, cstring in handle */
+ kQTSInfo_Authentication = FOUR_CHAR_CODE('auup'), /* QTSAuthenticationParams */
+ kQTSInfo_MediaPacketizer = FOUR_CHAR_CODE('rmpk') /* ComponentInstance */
+};
+
+/* get only */
+enum {
+ kQTSStatisticsInfo = FOUR_CHAR_CODE('stat'), /* QTSStatisticsParams* */
+ kQTSMinStatusDimensionsInfo = FOUR_CHAR_CODE('mstd'), /* QTSDimensionParams* */
+ kQTSNormalStatusDimensionsInfo = FOUR_CHAR_CODE('nstd'), /* QTSDimensionParams* */
+ kQTSTotalDataRateInfo = FOUR_CHAR_CODE('drtt'), /* UInt32*, add to what's there */
+ kQTSTotalDataRateInInfo = FOUR_CHAR_CODE('drti'), /* UInt32*, add to what's there */
+ kQTSTotalDataRateOutInfo = FOUR_CHAR_CODE('drto'), /* UInt32*, add to what's there */
+ kQTSLostPercentInfo = FOUR_CHAR_CODE('lpct'), /* QTSLostPercentParams*, add to what's there */
+ kQTSNumViewersInfo = FOUR_CHAR_CODE('nviw'), /* UInt32* */
+ kQTSMediaTypeInfo = FOUR_CHAR_CODE('mtyp'), /* OSType* */
+ kQTSNameInfo = FOUR_CHAR_CODE('name'), /* QTSNameParams* */
+ kQTSCanHandleSendDataType = FOUR_CHAR_CODE('chsd'), /* QTSCanHandleSendDataTypeParams* */
+ kQTSAnnotationsInfo = FOUR_CHAR_CODE('meta'), /* QTAtomContainer */
+ kQTSRemainingBufferTimeInfo = FOUR_CHAR_CODE('btms'), /* UInt32* remaining buffer time before playback, in microseconds */
+ kQTSInfo_SettingsText = FOUR_CHAR_CODE('sttx'), /* QTSSettingsTextParams* */
+ kQTSInfo_AverageFrameRate = FOUR_CHAR_CODE('fps ') /* UnsignedFixed* */
+};
+
+
+struct QTSAuthenticationParams {
+ SInt32 flags;
+ const char * userID; /* caller disposes of pointer*/
+ const char * password; /* caller disposes of pointer*/
+};
+typedef struct QTSAuthenticationParams QTSAuthenticationParams;
+enum {
+ kQTSTargetBufferDurationTimeScale = 1000
+};
+
+struct QTSPanelFilterParams {
+ SInt32 version;
+ QTSStream inStream;
+ OSType inPanelType;
+ OSType inPanelSubType;
+ QTAtomSpec details;
+};
+typedef struct QTSPanelFilterParams QTSPanelFilterParams;
+/* return true to keep this panel*/
+typedef CALLBACK_API( Boolean , QTSPanelFilterProcPtr )(QTSPanelFilterParams *inParams, void *inRefCon);
+typedef STACK_UPP_TYPE(QTSPanelFilterProcPtr) QTSPanelFilterUPP;
+enum {
+ kQTSSettingsTextSummary = FOUR_CHAR_CODE('set1'),
+ kQTSSettingsTextDetails = FOUR_CHAR_CODE('setd')
+};
+
+struct QTSSettingsTextParams {
+ SInt32 flags; /* None yet defined*/
+ OSType inSettingsSelector; /* which kind of setting you want from enum above*/
+ Handle outSettingsAsText; /* QTS allocates; Caller disposes*/
+ QTSPanelFilterUPP inPanelFilterProc; /* To get a subset filter with this */
+ void * inPanelFilterProcRefCon;
+};
+typedef struct QTSSettingsTextParams QTSSettingsTextParams;
+struct QTSCanHandleSendDataTypeParams {
+ SInt32 modifierTypeOrInputID;
+ Boolean isModifierType;
+ Boolean returnedCanHandleSendDataType; /* callee sets to true if it can handle it*/
+};
+typedef struct QTSCanHandleSendDataTypeParams QTSCanHandleSendDataTypeParams;
+struct QTSNameParams {
+ SInt32 maxNameLength;
+ SInt32 requestedLanguage;
+ SInt32 returnedActualLanguage;
+ unsigned char * returnedName; /* pascal string; caller supplies*/
+};
+typedef struct QTSNameParams QTSNameParams;
+struct QTSLostPercentParams {
+ UInt32 receivedPkts;
+ UInt32 lostPkts;
+ Fixed percent;
+};
+typedef struct QTSLostPercentParams QTSLostPercentParams;
+struct QTSDimensionParams {
+ Fixed width;
+ Fixed height;
+};
+typedef struct QTSDimensionParams QTSDimensionParams;
+struct QTSVolumesParams {
+ SInt16 leftVolume;
+ SInt16 rightVolume;
+};
+typedef struct QTSVolumesParams QTSVolumesParams;
+struct QTSGraphicsModeParams {
+ SInt16 graphicsMode;
+ RGBColor opColor;
+};
+typedef struct QTSGraphicsModeParams QTSGraphicsModeParams;
+struct QTSGetURLLinkRecord {
+ Point displayWhere;
+ Handle returnedURLLink;
+};
+typedef struct QTSGetURLLinkRecord QTSGetURLLinkRecord;
+enum {
+ kQTSDataProcParamsVersion1 = 1
+};
+
+enum {
+ kQTSDataProcType_MediaSample = FOUR_CHAR_CODE('mdia'),
+ kQTSDataProcType_HintSample = FOUR_CHAR_CODE('hint')
+};
+
+struct QTSDataProcParams {
+ SInt32 version;
+ SInt32 flags;
+ QTSStream stream;
+ OSType procType;
+ QTSNotificationUPP proc;
+ void * procRefCon;
+};
+typedef struct QTSDataProcParams QTSDataProcParams;
+enum {
+ kQTSDataProcSelector_SampleData = FOUR_CHAR_CODE('samp'),
+ kQTSDataProcSelector_UserData = FOUR_CHAR_CODE('user')
+};
+
+enum {
+ kQTSSampleDataCallbackParamsVersion1 = 1
+};
+
+struct QTSSampleDataCallbackParams {
+ SInt32 version;
+ SInt32 flags;
+ QTSStream stream;
+ OSType procType;
+ OSType mediaType;
+ TimeScale mediaTimeScale;
+ SampleDescriptionHandle sampleDesc;
+ UInt32 sampleDescSeed;
+ TimeValue64 sampleTime;
+ TimeValue64 duration; /* could be 0 */
+ SInt32 sampleFlags;
+ UInt32 dataLength;
+ const void * data;
+};
+typedef struct QTSSampleDataCallbackParams QTSSampleDataCallbackParams;
+enum {
+ kQTSUserDataCallbackParamsVersion1 = 1
+};
+
+struct QTSUserDataCallbackParams {
+ SInt32 version;
+ SInt32 flags;
+ QTSStream stream;
+ OSType procType;
+ OSType userDataType;
+ Handle userDataHandle; /* caller must make copy if it wants to keep the data around*/
+};
+typedef struct QTSUserDataCallbackParams QTSUserDataCallbackParams;
+enum {
+ kQTSSendDataExtrasParamsVersion1 = 1
+};
+
+struct QTSSendDataExtrasParams {
+ SInt32 version;
+ SInt32 flags;
+ OSType procType;
+};
+typedef struct QTSSendDataExtrasParams QTSSendDataExtrasParams;
+typedef CALLBACK_API( Boolean , QTSModalFilterProcPtr )(DialogPtr inDialog, const EventRecord *inEvent, SInt16 *ioItemHit, void *inRefCon);
+typedef STACK_UPP_TYPE(QTSModalFilterProcPtr) QTSModalFilterUPP;
+/*-----------------------------------------
+ Characteristics
+-----------------------------------------*/
+/* characteristics in Movies.h work here too */
+enum {
+ kQTSSupportsPerStreamControlCharacteristic = FOUR_CHAR_CODE('psct')
+};
+
+struct QTSVideoParams {
+ Fixed width;
+ Fixed height;
+ MatrixRecord matrix;
+ CGrafPtr gWorld;
+ GDHandle gdHandle;
+ RgnHandle clip;
+ short graphicsMode;
+ RGBColor opColor;
+};
+typedef struct QTSVideoParams QTSVideoParams;
+struct QTSAudioParams {
+ SInt16 leftVolume;
+ SInt16 rightVolume;
+ SInt16 bassLevel;
+ SInt16 trebleLevel;
+ short frequencyBandsCount;
+ void * frequencyBands;
+ Boolean levelMeteringEnabled;
+};
+typedef struct QTSAudioParams QTSAudioParams;
+struct QTSMediaParams {
+ QTSVideoParams v;
+ QTSAudioParams a;
+};
+typedef struct QTSMediaParams QTSMediaParams;
+enum {
+ kQTSMustDraw = 1 << 3,
+ kQTSAtEnd = 1 << 4,
+ kQTSPreflightDraw = 1 << 5,
+ kQTSSyncDrawing = 1 << 6
+};
+
+/* media task result flags */
+enum {
+ kQTSDidDraw = 1 << 0,
+ kQTSNeedsToDraw = 1 << 2,
+ kQTSDrawAgain = 1 << 3,
+ kQTSPartialDraw = 1 << 4
+};
+
+/*============================================================================
+ Notifications
+============================================================================*/
+/* ------ notification types ------ */
+enum {
+ kQTSNullNotification = FOUR_CHAR_CODE('null'), /* NULL */
+ kQTSErrorNotification = FOUR_CHAR_CODE('err '), /* QTSErrorParams*, optional */
+ kQTSNewPresDetectedNotification = FOUR_CHAR_CODE('newp'), /* QTSNewPresDetectedParams* */
+ kQTSPresBeginChangingNotification = FOUR_CHAR_CODE('prcb'), /* NULL */
+ kQTSPresDoneChangingNotification = FOUR_CHAR_CODE('prcd'), /* NULL */
+ kQTSPresentationChangedNotification = FOUR_CHAR_CODE('prch'), /* NULL */
+ kQTSNewStreamNotification = FOUR_CHAR_CODE('stnw'), /* QTSNewStreamParams* */
+ kQTSStreamBeginChangingNotification = FOUR_CHAR_CODE('stcb'), /* QTSStream */
+ kQTSStreamDoneChangingNotification = FOUR_CHAR_CODE('stcd'), /* QTSStream */
+ kQTSStreamChangedNotification = FOUR_CHAR_CODE('stch'), /* QTSStreamChangedParams* */
+ kQTSStreamGoneNotification = FOUR_CHAR_CODE('stgn'), /* QTSStreamGoneParams* */
+ kQTSPreviewAckNotification = FOUR_CHAR_CODE('pvak'), /* QTSStream */
+ kQTSPrerollAckNotification = FOUR_CHAR_CODE('pack'), /* QTSStream */
+ kQTSStartAckNotification = FOUR_CHAR_CODE('sack'), /* QTSStream */
+ kQTSStopAckNotification = FOUR_CHAR_CODE('xack'), /* QTSStream */
+ kQTSStatusNotification = FOUR_CHAR_CODE('stat'), /* QTSStatusParams* */
+ kQTSURLNotification = FOUR_CHAR_CODE('url '), /* QTSURLParams* */
+ kQTSDurationNotification = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom* */
+ kQTSNewPresentationNotification = FOUR_CHAR_CODE('nprs'), /* QTSPresentation */
+ kQTSPresentationGoneNotification = FOUR_CHAR_CODE('xprs'), /* QTSPresentation */
+ kQTSPresentationDoneNotification = FOUR_CHAR_CODE('pdon'), /* NULL */
+ kQTSBandwidthAlertNotification = FOUR_CHAR_CODE('bwal'), /* QTSBandwidthAlertParams* */
+ kQTSAnnotationsChangedNotification = FOUR_CHAR_CODE('meta') /* NULL */
+};
+
+
+/* flags for QTSErrorParams */
+enum {
+ kQTSFatalErrorFlag = 0x00000001
+};
+
+struct QTSErrorParams {
+ const char * errorString;
+ SInt32 flags;
+};
+typedef struct QTSErrorParams QTSErrorParams;
+struct QTSNewPresDetectedParams {
+ void * data;
+};
+typedef struct QTSNewPresDetectedParams QTSNewPresDetectedParams;
+struct QTSNewStreamParams {
+ QTSStream stream;
+};
+typedef struct QTSNewStreamParams QTSNewStreamParams;
+struct QTSStreamChangedParams {
+ QTSStream stream;
+ ComponentInstance mediaComponent; /* could be NULL */
+};
+typedef struct QTSStreamChangedParams QTSStreamChangedParams;
+struct QTSStreamGoneParams {
+ QTSStream stream;
+};
+typedef struct QTSStreamGoneParams QTSStreamGoneParams;
+struct QTSStatusParams {
+ UInt32 status;
+ const char * statusString;
+ UInt32 detailedStatus;
+ const char * detailedStatusString;
+};
+typedef struct QTSStatusParams QTSStatusParams;
+struct QTSInfoParams {
+ OSType infoType;
+ void * infoParams;
+};
+typedef struct QTSInfoParams QTSInfoParams;
+struct QTSURLParams {
+ UInt32 urlLength;
+ const char * url;
+};
+typedef struct QTSURLParams QTSURLParams;
+enum {
+ kQTSBandwidthAlertNeedToStop = 1 << 0,
+ kQTSBandwidthAlertRestartAt = 1 << 1
+};
+
+struct QTSBandwidthAlertParams {
+ SInt32 flags;
+ TimeValue restartAt; /* new field in QT 4.1*/
+ void * reserved;
+};
+typedef struct QTSBandwidthAlertParams QTSBandwidthAlertParams;
+/*============================================================================
+ Presentation
+============================================================================*/
+/*-----------------------------------------
+ Flags
+-----------------------------------------*/
+/* flags for NewPresentationFromData */
+enum {
+ kQTSAutoModeFlag = 0x00000001,
+ kQTSDontShowStatusFlag = 0x00000008,
+ kQTSSendMediaFlag = 0x00010000,
+ kQTSReceiveMediaFlag = 0x00020000
+};
+
+struct QTSNewPresentationParams {
+ OSType dataType;
+ const void * data;
+ UInt32 dataLength;
+ QTSEditListHandle editList;
+ SInt32 flags;
+ TimeScale timeScale; /* set to 0 for default timescale */
+ QTSMediaParams * mediaParams;
+ QTSNotificationUPP notificationProc;
+ void * notificationRefCon;
+};
+typedef struct QTSNewPresentationParams QTSNewPresentationParams;
+struct QTSPresParams {
+ UInt32 version;
+ QTSEditListHandle editList;
+ SInt32 flags;
+ TimeScale timeScale; /* set to 0 for default timescale */
+ QTSMediaParams * mediaParams;
+ QTSNotificationUPP notificationProc;
+ void * notificationRefCon;
+};
+typedef struct QTSPresParams QTSPresParams;
+enum {
+ kQTSPresParamsVersion1 = 1
+};
+
+struct QTSPresIdleParams {
+ QTSStream stream;
+ TimeValue64 movieTimeToDisplay;
+ SInt32 flagsIn;
+ SInt32 flagsOut;
+};
+typedef struct QTSPresIdleParams QTSPresIdleParams;
+enum {
+ kQTSExportFlag_ShowDialog = 0x00000001
+};
+
+enum {
+ kQTSExportParamsVersion1 = 1
+};
+
+struct QTSExportParams {
+ SInt32 version;
+ OSType exportType;
+ void * exportExtraData;
+ OSType destinationContainerType;
+ void * destinationContainerData;
+ void * destinationContainerExtras;
+ SInt32 flagsIn;
+ SInt32 flagsOut;
+ QTSModalFilterUPP filterProc;
+ void * filterProcRefCon;
+ Component exportComponent; /* NULL unless you want to override */
+};
+typedef struct QTSExportParams QTSExportParams;
+/*-----------------------------------------
+ Toolbox Init/Close
+-----------------------------------------*/
+/* all "apps" must call this */
+/*
+ * InitializeQTS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+InitializeQTS(void);
+
+
+/*
+ * TerminateQTS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+TerminateQTS(void);
+
+
+/*-----------------------------------------
+ Presentation Functions
+-----------------------------------------*/
+/*
+ * QTSNewPresentation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewPresentation(
+ const QTSNewPresentationParams * inParams,
+ QTSPresentation * outPresentation);
+
+
+/*
+ * QTSNewPresentationFromData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewPresentationFromData(
+ OSType inDataType,
+ const void * inData,
+ const SInt64 * inDataLength,
+ const QTSPresParams * inPresParams,
+ QTSPresentation * outPresentation);
+
+
+/*
+ * QTSNewPresentationFromFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewPresentationFromFile(
+ const FSSpec * inFileSpec,
+ const QTSPresParams * inPresParams,
+ QTSPresentation * outPresentation);
+
+
+/*
+ * QTSNewPresentationFromDataRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewPresentationFromDataRef(
+ Handle inDataRef,
+ OSType inDataRefType,
+ const QTSPresParams * inPresParams,
+ QTSPresentation * outPresentation);
+
+
+/*
+ * QTSDisposePresentation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSDisposePresentation(
+ QTSPresentation inPresentation,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresExport()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresExport(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ QTSExportParams * inExportParams);
+
+
+/*
+ * QTSPresIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( void )
+QTSPresIdle(
+ QTSPresentation inPresentation,
+ QTSPresIdleParams * ioParams);
+
+
+/*
+ * QTSPresInvalidateRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresInvalidateRegion(
+ QTSPresentation inPresentation,
+ RgnHandle inRegion);
+
+
+/*-----------------------------------------
+ Presentation Configuration
+-----------------------------------------*/
+/*
+ * QTSPresSetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetFlags(
+ QTSPresentation inPresentation,
+ SInt32 inFlags,
+ SInt32 inFlagsMask);
+
+
+/*
+ * QTSPresGetFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetFlags(
+ QTSPresentation inPresentation,
+ SInt32 * outFlags);
+
+
+/*
+ * QTSPresGetTimeBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetTimeBase(
+ QTSPresentation inPresentation,
+ TimeBase * outTimeBase);
+
+
+/*
+ * QTSPresGetTimeScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetTimeScale(
+ QTSPresentation inPresentation,
+ TimeScale * outTimeScale);
+
+
+/*
+ * QTSPresSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetInfo(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ OSType inSelector,
+ void * ioParam);
+
+
+/*
+ * QTSPresGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetInfo(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ OSType inSelector,
+ void * ioParam);
+
+
+/*
+ * QTSPresHasCharacteristic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresHasCharacteristic(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ OSType inCharacteristic,
+ Boolean * outHasIt);
+
+
+/*
+ * QTSPresSetNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetNotificationProc(
+ QTSPresentation inPresentation,
+ QTSNotificationUPP inNotificationProc,
+ void * inRefCon);
+
+
+/*
+ * QTSPresGetNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetNotificationProc(
+ QTSPresentation inPresentation,
+ QTSNotificationUPP * outNotificationProc,
+ void ** outRefCon);
+
+
+/*-----------------------------------------
+ Presentation Control
+-----------------------------------------*/
+/*
+ * QTSPresPreview()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresPreview(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ const TimeValue64 * inTimeValue,
+ Fixed inRate,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresPreroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresPreroll(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ UInt32 inTimeValue,
+ Fixed inRate,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresPreroll64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresPreroll64(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ const TimeValue64 * inPrerollTime,
+ Fixed inRate,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresStart()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresStart(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresSkipTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSkipTo(
+ QTSPresentation inPresentation,
+ UInt32 inTimeValue);
+
+
+/*
+ * QTSPresSkipTo64()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSkipTo64(
+ QTSPresentation inPresentation,
+ const TimeValue64 * inTimeValue);
+
+
+/*
+ * QTSPresStop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresStop(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags);
+
+
+/*============================================================================
+ Streams
+============================================================================*/
+/*-----------------------------------------
+ Stream Functions
+-----------------------------------------*/
+/*
+ * QTSPresNewStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresNewStream(
+ QTSPresentation inPresentation,
+ OSType inDataType,
+ const void * inData,
+ UInt32 inDataLength,
+ SInt32 inFlags,
+ QTSStream * outStream);
+
+
+/*
+ * QTSDisposeStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSDisposeStream(
+ QTSStream inStream,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresGetNumStreams()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( UInt32 )
+QTSPresGetNumStreams(QTSPresentation inPresentation);
+
+
+/*
+ * QTSPresGetIndStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStream )
+QTSPresGetIndStream(
+ QTSPresentation inPresentation,
+ UInt32 inIndex);
+
+
+/*
+ * QTSGetStreamPresentation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSPresentation )
+QTSGetStreamPresentation(QTSStream inStream);
+
+
+/*
+ * QTSPresSetPreferredRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetPreferredRate(
+ QTSPresentation inPresentation,
+ Fixed inRate,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresGetPreferredRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetPreferredRate(
+ QTSPresentation inPresentation,
+ Fixed * outRate);
+
+
+/*
+ * QTSPresSetEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetEnable(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Boolean inEnableMode);
+
+
+/*
+ * QTSPresGetEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetEnable(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Boolean * outEnableMode);
+
+
+/*
+ * QTSPresSetPresenting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetPresenting(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Boolean inPresentingMode);
+
+
+/*
+ * QTSPresGetPresenting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetPresenting(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Boolean * outPresentingMode);
+
+
+/*
+ * QTSPresSetActiveSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetActiveSegment(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ const TimeValue64 * inStartTime,
+ const TimeValue64 * inDuration);
+
+
+/*
+ * QTSPresGetActiveSegment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetActiveSegment(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ TimeValue64 * outStartTime,
+ TimeValue64 * outDuration);
+
+
+/*
+ * QTSPresSetPlayHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetPlayHints(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags,
+ SInt32 inFlagsMask);
+
+
+/*
+ * QTSPresGetPlayHints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetPlayHints(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 * outFlags);
+
+
+/*-----------------------------------------
+ Stream Spatial Functions
+-----------------------------------------*/
+/*
+ * QTSPresSetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetGWorld(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ CGrafPtr inGWorld,
+ GDHandle inGDHandle);
+
+
+/*
+ * QTSPresGetGWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetGWorld(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ CGrafPtr * outGWorld,
+ GDHandle * outGDHandle);
+
+
+/*
+ * QTSPresSetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetClip(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ RgnHandle inClip);
+
+
+/*
+ * QTSPresGetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetClip(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ RgnHandle * outClip);
+
+
+/*
+ * QTSPresSetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetMatrix(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ const MatrixRecord * inMatrix);
+
+
+/*
+ * QTSPresGetMatrix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetMatrix(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ MatrixRecord * outMatrix);
+
+
+/*
+ * QTSPresSetDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetDimensions(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Fixed inWidth,
+ Fixed inHeight);
+
+
+/*
+ * QTSPresGetDimensions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetDimensions(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ Fixed * outWidth,
+ Fixed * outHeight);
+
+
+/*
+ * QTSPresSetGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetGraphicsMode(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ short inMode,
+ const RGBColor * inOpColor);
+
+
+/*
+ * QTSPresGetGraphicsMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetGraphicsMode(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ short * outMode,
+ RGBColor * outOpColor);
+
+
+/*
+ * QTSPresGetPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetPicture(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ PicHandle * outPicture);
+
+
+/*-----------------------------------------
+ Stream Sound Functions
+-----------------------------------------*/
+/*
+ * QTSPresSetVolumes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetVolumes(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ short inLeftVolume,
+ short inRightVolume);
+
+
+/*
+ * QTSPresGetVolumes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetVolumes(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ short * outLeftVolume,
+ short * outRightVolume);
+
+
+/*-----------------------------------------
+ Sourcing
+-----------------------------------------*/
+/*
+ * QTSPresGetSettingsAsText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetSettingsAsText(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags,
+ OSType inSettingsType,
+ Handle * outText,
+ QTSPanelFilterUPP inPanelFilterProc,
+ void * inPanelFilterProcRefCon);
+
+
+/*
+ * QTSPresSettingsDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSettingsDialog(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags,
+ QTSModalFilterUPP inFilterProc,
+ void * inFilterProcRefCon);
+
+
+/*
+ * QTSPresSettingsDialogWithFilters()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSettingsDialogWithFilters(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ SInt32 inFlags,
+ QTSModalFilterUPP inFilterProc,
+ void * inFilterProcRefCon,
+ QTSPanelFilterUPP inPanelFilterProc,
+ void * inPanelFilterProcRefCon);
+
+
+/*
+ * QTSPresSetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresSetSettings(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ QTAtomSpecPtr inSettings,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresGetSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetSettings(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ QTAtomContainer * outSettings,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresAddSourcer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresAddSourcer(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ ComponentInstance inSourcer,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresRemoveSourcer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresRemoveSourcer(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ ComponentInstance inSourcer,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPresGetNumSourcers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UInt32 )
+QTSPresGetNumSourcers(
+ QTSPresentation inPresentation,
+ QTSStream inStream);
+
+
+/*
+ * QTSPresGetIndSourcer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPresGetIndSourcer(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ UInt32 inIndex,
+ ComponentInstance * outSourcer);
+
+
+/*============================================================================
+ Misc
+============================================================================*/
+/* flags for Get/SetNetworkAppName */
+enum {
+ kQTSNetworkAppNameIsFullNameFlag = 0x00000001
+};
+
+/*
+ * QTSSetNetworkAppName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSSetNetworkAppName(
+ const char * inAppName,
+ SInt32 inFlags);
+
+
+/*
+ * QTSGetNetworkAppName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSGetNetworkAppName(
+ SInt32 inFlags,
+ char ** outCStringPtr);
+
+
+/*-----------------------------------------
+ Statistics Utilities
+-----------------------------------------*/
+struct QTSStatHelperRecord {
+ long data[1];
+};
+typedef struct QTSStatHelperRecord QTSStatHelperRecord;
+typedef QTSStatHelperRecord * QTSStatHelper;
+enum {
+ kQTSInvalidStatHelper = 0L
+};
+
+/* flags for QTSStatHelperNextParams */
+enum {
+ kQTSStatHelperReturnPascalStringsFlag = 0x00000001
+};
+
+struct QTSStatHelperNextParams {
+ SInt32 flags;
+ OSType returnedStatisticsType;
+ QTSStream returnedStream;
+ UInt32 maxStatNameLength;
+ char * returnedStatName; /* NULL if you don't want it*/
+ UInt32 maxStatStringLength;
+ char * returnedStatString; /* NULL if you don't want it*/
+ UInt32 maxStatUnitLength;
+ char * returnedStatUnit; /* NULL if you don't want it*/
+};
+typedef struct QTSStatHelperNextParams QTSStatHelperNextParams;
+struct QTSStatisticsParams {
+ OSType statisticsType;
+ QTAtomContainer container;
+ QTAtom parentAtom;
+ SInt32 flags;
+};
+typedef struct QTSStatisticsParams QTSStatisticsParams;
+/* general statistics types */
+enum {
+ kQTSAllStatisticsType = FOUR_CHAR_CODE('all '),
+ kQTSShortStatisticsType = FOUR_CHAR_CODE('shrt'),
+ kQTSSummaryStatisticsType = FOUR_CHAR_CODE('summ')
+};
+
+/* statistics flags */
+enum {
+ kQTSGetNameStatisticsFlag = 0x00000001,
+ kQTSDontGetDataStatisticsFlag = 0x00000002,
+ kQTSUpdateAtomsStatisticsFlag = 0x00000004,
+ kQTSGetUnitsStatisticsFlag = 0x00000008,
+ kQTSUpdateAllIfNecessaryStatisticsFlag = 0x00010000
+};
+
+/* statistics atom types */
+enum {
+ kQTSStatisticsStreamAtomType = FOUR_CHAR_CODE('strm'),
+ kQTSStatisticsNameAtomType = FOUR_CHAR_CODE('name'), /* chars only, no length or terminator */
+ kQTSStatisticsDataFormatAtomType = FOUR_CHAR_CODE('frmt'), /* OSType */
+ kQTSStatisticsDataAtomType = FOUR_CHAR_CODE('data'),
+ kQTSStatisticsUnitsAtomType = FOUR_CHAR_CODE('unit'), /* OSType */
+ kQTSStatisticsUnitsNameAtomType = FOUR_CHAR_CODE('unin') /* chars only, no length or terminator */
+};
+
+/* statistics data formats */
+enum {
+ kQTSStatisticsSInt32DataFormat = FOUR_CHAR_CODE('si32'),
+ kQTSStatisticsUInt32DataFormat = FOUR_CHAR_CODE('ui32'),
+ kQTSStatisticsSInt16DataFormat = FOUR_CHAR_CODE('si16'),
+ kQTSStatisticsUInt16DataFormat = FOUR_CHAR_CODE('ui16'),
+ kQTSStatisticsFixedDataFormat = FOUR_CHAR_CODE('fixd'),
+ kQTSStatisticsUnsignedFixedDataFormat = FOUR_CHAR_CODE('ufix'),
+ kQTSStatisticsStringDataFormat = FOUR_CHAR_CODE('strg'),
+ kQTSStatisticsOSTypeDataFormat = FOUR_CHAR_CODE('ostp'),
+ kQTSStatisticsRectDataFormat = FOUR_CHAR_CODE('rect'),
+ kQTSStatisticsPointDataFormat = FOUR_CHAR_CODE('pont')
+};
+
+/* statistics units types */
+enum {
+ kQTSStatisticsNoUnitsType = 0,
+ kQTSStatisticsPercentUnitsType = FOUR_CHAR_CODE('pcnt'),
+ kQTSStatisticsBitsPerSecUnitsType = FOUR_CHAR_CODE('bps '),
+ kQTSStatisticsFramesPerSecUnitsType = FOUR_CHAR_CODE('fps ')
+};
+
+/* specific statistics types */
+enum {
+ kQTSTotalDataRateStat = FOUR_CHAR_CODE('drtt'),
+ kQTSTotalDataRateInStat = FOUR_CHAR_CODE('drti'),
+ kQTSTotalDataRateOutStat = FOUR_CHAR_CODE('drto'),
+ kQTSNetworkIDStringStat = FOUR_CHAR_CODE('nids')
+};
+
+/*
+ * QTSNewStatHelper()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewStatHelper(
+ QTSPresentation inPresentation,
+ QTSStream inStream,
+ OSType inStatType,
+ SInt32 inFlags,
+ QTSStatHelper * outStatHelper);
+
+
+/*
+ * QTSDisposeStatHelper()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSDisposeStatHelper(QTSStatHelper inStatHelper);
+
+
+/*
+ * QTSStatHelperGetStats()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSStatHelperGetStats(QTSStatHelper inStatHelper);
+
+
+/*
+ * QTSStatHelperResetIter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSStatHelperResetIter(QTSStatHelper inStatHelper);
+
+
+/*
+ * QTSStatHelperNext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( Boolean )
+QTSStatHelperNext(
+ QTSStatHelper inStatHelper,
+ QTSStatHelperNextParams * ioParams);
+
+
+/*
+ * QTSStatHelperGetNumStats()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( UInt32 )
+QTSStatHelperGetNumStats(QTSStatHelper inStatHelper);
+
+
+/* used by components to put statistics into the atom container */
+/*
+ * QTSGetOrMakeStatAtomForStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSGetOrMakeStatAtomForStream(
+ QTAtomContainer inContainer,
+ QTSStream inStream,
+ QTAtom * outParentAtom);
+
+
+/*
+ * QTSInsertStatistic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSInsertStatistic(
+ QTAtomContainer inContainer,
+ QTAtom inParentAtom,
+ OSType inStatType,
+ void * inStatData,
+ UInt32 inStatDataLength,
+ OSType inStatDataFormat,
+ SInt32 inFlags);
+
+
+/*
+ * QTSInsertStatisticName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSInsertStatisticName(
+ QTAtomContainer inContainer,
+ QTAtom inParentAtom,
+ OSType inStatType,
+ const char * inStatName,
+ UInt32 inStatNameLength);
+
+
+/*
+ * QTSInsertStatisticUnits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSInsertStatisticUnits(
+ QTAtomContainer inContainer,
+ QTAtom inParentAtom,
+ OSType inStatType,
+ OSType inUnitsType,
+ const char * inUnitsName,
+ UInt32 inUnitsNameLength);
+
+
+/*============================================================================
+ Data Formats
+============================================================================*/
+/*-----------------------------------------
+ Data Types
+-----------------------------------------*/
+/* universal data types */
+enum {
+ kQTSNullDataType = FOUR_CHAR_CODE('NULL'),
+ kQTSUnknownDataType = FOUR_CHAR_CODE('huh?'),
+ kQTSAtomContainerDataType = FOUR_CHAR_CODE('qtac'), /* QTAtomContainer */
+ kQTSAtomDataType = FOUR_CHAR_CODE('qtat'), /* QTSAtomContainerDataStruct* */
+ kQTSAliasDataType = FOUR_CHAR_CODE('alis'),
+ kQTSFileDataType = FOUR_CHAR_CODE('fspc'), /* FSSpec* */
+ kQTSFileSpecDataType = FOUR_CHAR_CODE('fspc'), /* FSSpec* */
+ kQTSHandleDataType = FOUR_CHAR_CODE('hndl'), /* Handle* */
+ kQTSDataRefDataType = FOUR_CHAR_CODE('dref') /* DataReferencePtr */
+};
+
+/* these data types are specific to presentations */
+enum {
+ kQTSRTSPDataType = FOUR_CHAR_CODE('rtsp'),
+ kQTSSDPDataType = FOUR_CHAR_CODE('sdp ')
+};
+
+/*-----------------------------------------
+ Atom IDs
+-----------------------------------------*/
+enum {
+ kQTSAtomType_Presentation = FOUR_CHAR_CODE('pres'),
+ kQTSAtomType_PresentationHeader = FOUR_CHAR_CODE('phdr'), /* QTSPresentationHeaderAtom */
+ kQTSAtomType_MediaStream = FOUR_CHAR_CODE('mstr'),
+ kQTSAtomType_MediaStreamHeader = FOUR_CHAR_CODE('mshd'), /* QTSMediaStreamHeaderAtom */
+ kQTSAtomType_MediaDescriptionText = FOUR_CHAR_CODE('mdes'), /* chars, no length */
+ kQTSAtomType_ClipRect = FOUR_CHAR_CODE('clip'), /* QTSClipRectAtom */
+ kQTSAtomType_Duration = FOUR_CHAR_CODE('dura'), /* QTSDurationAtom */
+ kQTSAtomType_BufferTime = FOUR_CHAR_CODE('bufr') /* QTSBufferTimeAtom */
+};
+
+struct QTSAtomContainerDataStruct {
+ QTAtomContainer container;
+ QTAtom parentAtom;
+};
+typedef struct QTSAtomContainerDataStruct QTSAtomContainerDataStruct;
+/* flags for QTSPresentationHeaderAtom */
+enum {
+ kQTSPresHeaderTypeIsData = 0x00000100,
+ kQTSPresHeaderDataIsHandle = 0x00000200
+};
+
+struct QTSPresentationHeaderAtom {
+ SInt32 versionAndFlags;
+ OSType conductorOrDataType;
+ OSType dataAtomType; /* where the data really is*/
+};
+typedef struct QTSPresentationHeaderAtom QTSPresentationHeaderAtom;
+struct QTSMediaStreamHeaderAtom {
+ SInt32 versionAndFlags;
+ OSType mediaTransportType;
+ OSType mediaTransportDataAID; /* where the data really is*/
+};
+typedef struct QTSMediaStreamHeaderAtom QTSMediaStreamHeaderAtom;
+struct QTSBufferTimeAtom {
+ SInt32 versionAndFlags;
+ Fixed bufferTime;
+};
+typedef struct QTSBufferTimeAtom QTSBufferTimeAtom;
+struct QTSDurationAtom {
+ SInt32 versionAndFlags;
+ TimeScale timeScale;
+ TimeValue64 duration;
+};
+typedef struct QTSDurationAtom QTSDurationAtom;
+struct QTSClipRectAtom {
+ SInt32 versionAndFlags;
+ Rect clipRect;
+};
+typedef struct QTSClipRectAtom QTSClipRectAtom;
+enum {
+ kQTSEmptyEditStreamStartTime = -1
+};
+
+
+typedef UInt32 QTSStatus;
+enum {
+ kQTSNullStatus = 0,
+ kQTSUninitializedStatus = 1,
+ kQTSConnectingStatus = 2,
+ kQTSOpeningConnectionDetailedStatus = 3,
+ kQTSMadeConnectionDetailedStatus = 4,
+ kQTSNegotiatingStatus = 5,
+ kQTSGettingDescriptionDetailedStatus = 6,
+ kQTSGotDescriptionDetailedStatus = 7,
+ kQTSSentSetupCmdDetailedStatus = 8,
+ kQTSReceivedSetupResponseDetailedStatus = 9,
+ kQTSSentPlayCmdDetailedStatus = 10,
+ kQTSReceivedPlayResponseDetailedStatus = 11,
+ kQTSBufferingStatus = 12,
+ kQTSPlayingStatus = 13,
+ kQTSPausedStatus = 14,
+ kQTSAutoConfiguringStatus = 15,
+ kQTSDownloadingStatus = 16,
+ kQTSBufferingWithTimeStatus = 17,
+ kQTSWaitingDisconnectStatus = 100
+};
+
+/*-----------------------------------------
+ QuickTime Preferences Types
+-----------------------------------------*/
+enum {
+ kQTSConnectionPrefsType = FOUR_CHAR_CODE('stcm'), /* root atom that all other atoms are contained in*/
+ /* kQTSNotUsedForProxyPrefsType = 'nopr', // comma-delimited list of URLs that are never used for proxies*/
+ kQTSConnectionMethodPrefsType = FOUR_CHAR_CODE('mthd'), /* connection method (OSType that matches one of the following three)*/
+ kQTSDirectConnectPrefsType = FOUR_CHAR_CODE('drct'), /* used if direct connect (QTSDirectConnectPrefsRecord)*/
+ /* kQTSRTSPProxyPrefsType = 'rtsp', // used if RTSP Proxy (QTSProxyPrefsRecord)*/
+ kQTSSOCKSPrefsType = FOUR_CHAR_CODE('sock') /* used if SOCKS Proxy (QTSProxyPrefsRecord)*/
+};
+
+enum {
+ kQTSDirectConnectHTTPProtocol = FOUR_CHAR_CODE('http'),
+ kQTSDirectConnectRTSPProtocol = FOUR_CHAR_CODE('rtsp')
+};
+
+struct QTSDirectConnectPrefsRecord {
+ UInt32 tcpPortID;
+ OSType protocol;
+};
+typedef struct QTSDirectConnectPrefsRecord QTSDirectConnectPrefsRecord;
+struct QTSProxyPrefsRecord {
+ Str255 serverNameStr;
+ UInt32 portID;
+};
+typedef struct QTSProxyPrefsRecord QTSProxyPrefsRecord;
#define kQTSTransAndProxyPrefsVersNum 2 /* prefs atom format version */
- enum
- {
- kConnectionActive = (1L << 0),
- kConnectionUseSystemPref = (1L << 1)
- };
-
- struct QTSTransportPref
- {
- OSType protocol; /* udp, http, tcp, etc*/
- SInt32 portID; /* port to use for this connection type*/
- UInt32 flags; /* connection flags*/
- UInt32 seed; /* seed value last time this setting was read from system prefs*/
- };
- typedef struct QTSTransportPref QTSTransportPref;
- enum
- {
- kProxyActive = (1L << 0),
- kProxyUseSystemPref = (1L << 1)
- };
-
- struct QTSProxyPref
- {
- UInt32 flags; /* proxy flags*/
- SInt32 portID; /* port to use for this connection type*/
- UInt32 seed; /* seed value last time this setting was read from system prefs*/
- Str255 serverNameStr; /* proxy server url*/
- };
- typedef struct QTSProxyPref QTSProxyPref;
- enum
- {
- kNoProxyUseSystemPref = (1L << 0)
- };
-
- struct QTSNoProxyPref
- {
- UInt32 flags; /* no-proxy flags*/
- UInt32 seed; /* seed value last time this setting was read from system prefs*/
- char urlList[1]; /* NULL terminated, comma delimited list of urls*/
- };
- typedef struct QTSNoProxyPref QTSNoProxyPref;
- enum
- {
- kQTSInstantOnFlag_Enable = (1L << 0), /* instant on is enabled (read/write)*/
- kQTSInstantOnFlag_Permitted = (1L << 1) /* instant on is possible (read only)*/
- };
-
-
- struct QTSInstantOnPref
- {
- SInt32 flags; /* flags*/
- SInt32 factor; /* 0-100; default is 50*/
- };
- typedef struct QTSInstantOnPref QTSInstantOnPref;
- enum
- {
- kQTSTransAndProxyAtomType = FOUR_CHAR_CODE('strp'), /* transport/proxy prefs root atom*/
- kQTSConnectionPrefsVersion = FOUR_CHAR_CODE('vers'), /* prefs format version*/
- kQTSTransportPrefsAtomType = FOUR_CHAR_CODE('trns'), /* tranport prefs root atom*/
- kQTSConnectionAtomType = FOUR_CHAR_CODE('conn'), /* connection prefs atom type, one for each transport type*/
- kQTSUDPTransportType = FOUR_CHAR_CODE('udp '), /* udp transport prefs*/
- kQTSHTTPTransportType = FOUR_CHAR_CODE('http'), /* http transport prefs*/
- kQTSTCPTransportType = FOUR_CHAR_CODE('tcp '), /* tcp transport prefs */
- kQTSProxyPrefsAtomType = FOUR_CHAR_CODE('prxy'), /* proxy prefs root atom*/
- kQTSHTTPProxyPrefsType = FOUR_CHAR_CODE('http'), /* http proxy settings*/
- kQTSRTSPProxyPrefsType = FOUR_CHAR_CODE('rtsp'), /* rtsp proxy settings*/
- kQTSSOCKSProxyPrefsType = FOUR_CHAR_CODE('sock'), /* socks proxy settings*/
- kQTSProxyUserInfoPrefsType = FOUR_CHAR_CODE('user'), /* proxy username/password root atom*/
- kQTSDontProxyPrefsAtomType = FOUR_CHAR_CODE('nopr'), /* no-proxy prefs root atom*/
- kQTSDontProxyDataType = FOUR_CHAR_CODE('data'), /* no proxy settings*/
- kQTSInstantOnPrefsAtomType = FOUR_CHAR_CODE('inon') /* instant on prefs*/
- };
-
- /*
- * QTSPrefsAddProxySetting()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsAddProxySetting(
- OSType proxyType,
- SInt32 portID,
- UInt32 flags,
- UInt32 seed,
- Str255 srvrURL);
-
-
- /*
- * QTSPrefsFindProxyByType()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsFindProxyByType(
- OSType proxyType,
- UInt32 flags,
- UInt32 flagsMask,
- QTSProxyPref ** proxyHndl,
- SInt16 * count);
-
-
- /*
- * QTSPrefsAddConnectionSetting()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsAddConnectionSetting(
- OSType protocol,
- SInt32 portID,
- UInt32 flags,
- UInt32 seed);
-
-
- /*
- * QTSPrefsFindConnectionByType()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsFindConnectionByType(
- OSType protocol,
- UInt32 flags,
- UInt32 flagsMask,
- QTSTransportPref ** connectionHndl,
- SInt16 * count);
-
-
- /*
- * QTSPrefsGetActiveConnection()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsGetActiveConnection(
- OSType protocol,
- QTSTransportPref * connectInfo);
-
-
- /*
- * QTSPrefsGetNoProxyURLs()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsGetNoProxyURLs(QTSNoProxyPref ** noProxyHndl);
-
-
- /*
- * QTSPrefsSetNoProxyURLs()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsSetNoProxyURLs(
- char * urls,
- UInt32 flags,
- UInt32 seed);
-
-
- /*
- * QTSPrefsAddProxyUserInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in QTSClient.lib 5.0.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsAddProxyUserInfo(
- OSType proxyType,
- SInt32 flags,
- SInt32 flagsMask,
- StringPtr username,
- StringPtr password);
-
-
- /*
- * QTSPrefsFindProxyUserInfoByType()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in QTSClient.lib 5.0.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsFindProxyUserInfoByType(
- OSType proxyType,
- SInt32 flags,
- SInt32 flagsMask,
- StringPtr username,
- StringPtr password);
-
-
- /*
- * QTSPrefsGetInstantOnSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in QTSClient.lib 6.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsGetInstantOnSettings(
- QTSInstantOnPref * outPref,
- SInt32 inFlags);
-
-
- /*
- * QTSPrefsSetInstantOnSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 6.0 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- * Windows: in QTSClient.lib 6.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSPrefsSetInstantOnSettings(
- QTSInstantOnPref * inPref,
- SInt32 inFlags);
-
-
-
- /*============================================================================
- Memory Management Services
- ============================================================================*/
- /*
- These routines allocate normal pointers and handles,
- but do the correct checking, etc.
- Dispose using the normal DisposePtr and DisposeHandle
- Call these routines for one time memory allocations.
- You do not need to set any hints to use these calls.
- */
-
- /*
- * QTSNewPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(Ptr)
- QTSNewPtr(
- UInt32 inByteCount,
- SInt32 inFlags,
- SInt32 * outFlags);
-
-
- /*
- * QTSNewHandle()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(Handle)
- QTSNewHandle(
- UInt32 inByteCount,
- SInt32 inFlags,
- SInt32 * outFlags);
+enum {
+ kConnectionActive = (1L << 0),
+ kConnectionUseSystemPref = (1L << 1)
+};
+
+struct QTSTransportPref {
+ OSType protocol; /* udp, http, tcp, etc*/
+ SInt32 portID; /* port to use for this connection type*/
+ UInt32 flags; /* connection flags*/
+ UInt32 seed; /* seed value last time this setting was read from system prefs*/
+};
+typedef struct QTSTransportPref QTSTransportPref;
+enum {
+ kProxyActive = (1L << 0),
+ kProxyUseSystemPref = (1L << 1)
+};
+
+struct QTSProxyPref {
+ UInt32 flags; /* proxy flags*/
+ SInt32 portID; /* port to use for this connection type*/
+ UInt32 seed; /* seed value last time this setting was read from system prefs*/
+ Str255 serverNameStr; /* proxy server url*/
+};
+typedef struct QTSProxyPref QTSProxyPref;
+enum {
+ kNoProxyUseSystemPref = (1L << 0)
+};
+
+struct QTSNoProxyPref {
+ UInt32 flags; /* no-proxy flags*/
+ UInt32 seed; /* seed value last time this setting was read from system prefs*/
+ char urlList[1]; /* NULL terminated, comma delimited list of urls*/
+};
+typedef struct QTSNoProxyPref QTSNoProxyPref;
+enum {
+ kQTSInstantOnFlag_Enable = (1L << 0), /* instant on is enabled (read/write)*/
+ kQTSInstantOnFlag_Permitted = (1L << 1) /* instant on is possible (read only)*/
+};
+
+
+struct QTSInstantOnPref {
+ SInt32 flags; /* flags*/
+ SInt32 factor; /* 0-100; default is 50*/
+};
+typedef struct QTSInstantOnPref QTSInstantOnPref;
+enum {
+ kQTSTransAndProxyAtomType = FOUR_CHAR_CODE('strp'), /* transport/proxy prefs root atom*/
+ kQTSConnectionPrefsVersion = FOUR_CHAR_CODE('vers'), /* prefs format version*/
+ kQTSTransportPrefsAtomType = FOUR_CHAR_CODE('trns'), /* tranport prefs root atom*/
+ kQTSConnectionAtomType = FOUR_CHAR_CODE('conn'), /* connection prefs atom type, one for each transport type*/
+ kQTSUDPTransportType = FOUR_CHAR_CODE('udp '), /* udp transport prefs*/
+ kQTSHTTPTransportType = FOUR_CHAR_CODE('http'), /* http transport prefs*/
+ kQTSTCPTransportType = FOUR_CHAR_CODE('tcp '), /* tcp transport prefs */
+ kQTSProxyPrefsAtomType = FOUR_CHAR_CODE('prxy'), /* proxy prefs root atom*/
+ kQTSHTTPProxyPrefsType = FOUR_CHAR_CODE('http'), /* http proxy settings*/
+ kQTSRTSPProxyPrefsType = FOUR_CHAR_CODE('rtsp'), /* rtsp proxy settings*/
+ kQTSSOCKSProxyPrefsType = FOUR_CHAR_CODE('sock'), /* socks proxy settings*/
+ kQTSProxyUserInfoPrefsType = FOUR_CHAR_CODE('user'), /* proxy username/password root atom*/
+ kQTSDontProxyPrefsAtomType = FOUR_CHAR_CODE('nopr'), /* no-proxy prefs root atom*/
+ kQTSDontProxyDataType = FOUR_CHAR_CODE('data'), /* no proxy settings*/
+ kQTSInstantOnPrefsAtomType = FOUR_CHAR_CODE('inon') /* instant on prefs*/
+};
+
+/*
+ * QTSPrefsAddProxySetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsAddProxySetting(
+ OSType proxyType,
+ SInt32 portID,
+ UInt32 flags,
+ UInt32 seed,
+ Str255 srvrURL);
+
+
+/*
+ * QTSPrefsFindProxyByType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsFindProxyByType(
+ OSType proxyType,
+ UInt32 flags,
+ UInt32 flagsMask,
+ QTSProxyPref ** proxyHndl,
+ SInt16 * count);
+
+
+/*
+ * QTSPrefsAddConnectionSetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsAddConnectionSetting(
+ OSType protocol,
+ SInt32 portID,
+ UInt32 flags,
+ UInt32 seed);
+
+
+/*
+ * QTSPrefsFindConnectionByType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsFindConnectionByType(
+ OSType protocol,
+ UInt32 flags,
+ UInt32 flagsMask,
+ QTSTransportPref ** connectionHndl,
+ SInt16 * count);
+
+
+/*
+ * QTSPrefsGetActiveConnection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsGetActiveConnection(
+ OSType protocol,
+ QTSTransportPref * connectInfo);
+
+
+/*
+ * QTSPrefsGetNoProxyURLs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsGetNoProxyURLs(QTSNoProxyPref ** noProxyHndl);
+
+
+/*
+ * QTSPrefsSetNoProxyURLs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsSetNoProxyURLs(
+ char * urls,
+ UInt32 flags,
+ UInt32 seed);
+
+
+/*
+ * QTSPrefsAddProxyUserInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in QTSClient.lib 5.0.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsAddProxyUserInfo(
+ OSType proxyType,
+ SInt32 flags,
+ SInt32 flagsMask,
+ StringPtr username,
+ StringPtr password);
+
+
+/*
+ * QTSPrefsFindProxyUserInfoByType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in QTSClient.lib 5.0.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsFindProxyUserInfoByType(
+ OSType proxyType,
+ SInt32 flags,
+ SInt32 flagsMask,
+ StringPtr username,
+ StringPtr password);
+
+
+/*
+ * QTSPrefsGetInstantOnSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in QTSClient.lib 6.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsGetInstantOnSettings(
+ QTSInstantOnPref * outPref,
+ SInt32 inFlags);
+
+
+/*
+ * QTSPrefsSetInstantOnSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 6.0 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ * Windows: in QTSClient.lib 6.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSPrefsSetInstantOnSettings(
+ QTSInstantOnPref * inPref,
+ SInt32 inFlags);
+
+
+
+/*============================================================================
+ Memory Management Services
+============================================================================*/
+/*
+ These routines allocate normal pointers and handles,
+ but do the correct checking, etc.
+ Dispose using the normal DisposePtr and DisposeHandle
+ Call these routines for one time memory allocations.
+ You do not need to set any hints to use these calls.
+*/
+
+/*
+ * QTSNewPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( Ptr )
+QTSNewPtr(
+ UInt32 inByteCount,
+ SInt32 inFlags,
+ SInt32 * outFlags);
+
+
+/*
+ * QTSNewHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( Handle )
+QTSNewHandle(
+ UInt32 inByteCount,
+ SInt32 inFlags,
+ SInt32 * outFlags);
#define QTSNewPtrClear(_s) QTSNewPtr((_s), kQTSMemAllocClearMem, NULL)
#define QTSNewHandleClear(_s) QTSNewHandle((_s), kQTSMemAllocClearMem, NULL)
- /* flags in*/
- enum
- {
- kQTSMemAllocClearMem = 0x00000001,
- kQTSMemAllocDontUseTempMem = 0x00000002,
- kQTSMemAllocTryTempMemFirst = 0x00000004,
- kQTSMemAllocDontUseSystemMem = 0x00000008,
- kQTSMemAllocTrySystemMemFirst = 0x00000010,
- kQTSMemAllocHoldMemory = 0x00001000,
- kQTSMemAllocIsInterruptTime = 0x01010000 /* currently not supported for alloc*/
- };
-
- /* flags out*/
- enum
- {
- kQTSMemAllocAllocatedInTempMem = 0x00000001,
- kQTSMemAllocAllocatedInSystemMem = 0x00000002
- };
-
- typedef struct OpaqueQTSMemPtr* QTSMemPtr;
- /*
- These routines are for buffers that will be recirculated
- you must use QTReleaseMemPtr instead of DisposePtr
- QTSReleaseMemPtr can be used at interrupt time
- but QTSAllocMemPtr currently cannot
- */
- /*
- * QTSAllocMemPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(QTSMemPtr)
- QTSAllocMemPtr(
- UInt32 inByteCount,
- SInt32 inFlags);
-
-
- /*
- * QTSReleaseMemPtr()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(void)
- QTSReleaseMemPtr(
- QTSMemPtr inMemPtr,
- SInt32 inFlags);
-
-
-
- /*============================================================================
- Buffer Management Services
- ============================================================================*/
-
- enum
- {
- kQTSStreamBufferVersion1 = 1
- };
-
- struct QTSStreamBuffer
- {
- struct QTSStreamBuffer * reserved1;
- struct QTSStreamBuffer * reserved2;
- struct QTSStreamBuffer * next; /* next message block in a message */
- unsigned char * rptr; /* first byte with real data in the DataBuffer */
- unsigned char * wptr; /* last+1 byte with real data in the DataBuffer */
- SInt32 version;
- UInt32 metadata[4]; /* usage defined by message sender */
- SInt32 flags; /* reserved */
- long reserved3;
- long reserved4;
- long reserved5;
-
- UInt32 moreMeta[8];
- };
- typedef struct QTSStreamBuffer QTSStreamBuffer;
- /* flags for QTSDuplicateMessage*/
- enum
- {
- kQTSDuplicateBufferFlag_CopyData = 0x00000001,
- kQTSDuplicateBufferFlag_FlattenMessage = 0x00000002
- };
-
-
- /*
- * QTSNewStreamBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSNewStreamBuffer(
- UInt32 inDataSize,
- SInt32 inFlags,
- QTSStreamBuffer ** outStreamBuffer);
-
-
- /*
- * QTSFreeMessage()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(void)
- QTSFreeMessage(QTSStreamBuffer * inMessage);
-
-
- /*
- kQTSDuplicateBufferFlag_CopyData - forces a copy of the data itself
- kQTSCopyBufferFlag_FlattenMessage - copies the data if it needs to be flattened
- QTSDuplicateMessage never frees the old message
- */
- /*
- * QTSDuplicateMessage()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API_C(OSErr)
- QTSDuplicateMessage(
- QTSStreamBuffer * inMessage,
- SInt32 inFlags,
- QTSStreamBuffer ** outDuplicatedMessage);
-
-
- /*
- * QTSMessageLength()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(UInt32)
- QTSMessageLength(QTSStreamBuffer * inMessage);
-
-
- /*
- * QTSStreamBufferDataInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 5.0 and later
- */
- EXTERN_API_C(void)
- QTSStreamBufferDataInfo(
- QTSStreamBuffer * inStreamBuffer,
- unsigned char ** outDataStart,
- UInt32 * outDataMaxLength);
-
-
- /* ---- old calls (don't use these)*/
-
- /*
- * QTSAllocBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(QTSStreamBuffer *)
- QTSAllocBuffer(SInt32 inSize);
-
-
- /*
- * QTSDupMessage()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(QTSStreamBuffer *)
- QTSDupMessage(QTSStreamBuffer * inMessage);
-
-
- /*
- * QTSCopyMessage()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(QTSStreamBuffer *)
- QTSCopyMessage(QTSStreamBuffer * inMessage);
-
-
- /*
- * QTSFlattenMessage()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(QTSStreamBuffer *)
- QTSFlattenMessage(QTSStreamBuffer * inMessage);
-
-
-
-
- /*============================================================================
- Misc
- ============================================================================*/
- /*
- * QTSGetErrorString()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 4.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTSClient.lib 4.0 and later
- */
- EXTERN_API_C(Boolean)
- QTSGetErrorString(
- SInt32 inErrorCode,
- UInt32 inMaxErrorStringLength,
- char * outErrorString,
- SInt32 inFlags);
-
-
- /*
- * QTSInitializeMediaParams()
- *
- * Availability:
- * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- * Windows: in QTSClient.lib 5.0.1 and later
- */
- EXTERN_API_C(OSErr)
- QTSInitializeMediaParams(QTSMediaParams * inMediaParams);
-
-
-
-
- /* UPP call backs */
- /*
- * NewQTSNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTSNotificationUPP)
- NewQTSNotificationUPP(QTSNotificationProcPtr userRoutine);
+/* flags in*/
+enum {
+ kQTSMemAllocClearMem = 0x00000001,
+ kQTSMemAllocDontUseTempMem = 0x00000002,
+ kQTSMemAllocTryTempMemFirst = 0x00000004,
+ kQTSMemAllocDontUseSystemMem = 0x00000008,
+ kQTSMemAllocTrySystemMemFirst = 0x00000010,
+ kQTSMemAllocHoldMemory = 0x00001000,
+ kQTSMemAllocIsInterruptTime = 0x01010000 /* currently not supported for alloc*/
+};
+
+/* flags out*/
+enum {
+ kQTSMemAllocAllocatedInTempMem = 0x00000001,
+ kQTSMemAllocAllocatedInSystemMem = 0x00000002
+};
+
+typedef struct OpaqueQTSMemPtr* QTSMemPtr;
+/*
+ These routines are for buffers that will be recirculated
+ you must use QTReleaseMemPtr instead of DisposePtr
+ QTSReleaseMemPtr can be used at interrupt time
+ but QTSAllocMemPtr currently cannot
+*/
+/*
+ * QTSAllocMemPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSMemPtr )
+QTSAllocMemPtr(
+ UInt32 inByteCount,
+ SInt32 inFlags);
+
+
+/*
+ * QTSReleaseMemPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( void )
+QTSReleaseMemPtr(
+ QTSMemPtr inMemPtr,
+ SInt32 inFlags);
+
+
+
+/*============================================================================
+ Buffer Management Services
+============================================================================*/
+
+enum {
+ kQTSStreamBufferVersion1 = 1
+};
+
+struct QTSStreamBuffer {
+ struct QTSStreamBuffer * reserved1;
+ struct QTSStreamBuffer * reserved2;
+ struct QTSStreamBuffer * next; /* next message block in a message */
+ unsigned char * rptr; /* first byte with real data in the DataBuffer */
+ unsigned char * wptr; /* last+1 byte with real data in the DataBuffer */
+ SInt32 version;
+ UInt32 metadata[4]; /* usage defined by message sender */
+ SInt32 flags; /* reserved */
+ long reserved3;
+ long reserved4;
+ long reserved5;
+
+ UInt32 moreMeta[8];
+};
+typedef struct QTSStreamBuffer QTSStreamBuffer;
+/* flags for QTSDuplicateMessage*/
+enum {
+ kQTSDuplicateBufferFlag_CopyData = 0x00000001,
+ kQTSDuplicateBufferFlag_FlattenMessage = 0x00000002
+};
+
+
+/*
+ * QTSNewStreamBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSNewStreamBuffer(
+ UInt32 inDataSize,
+ SInt32 inFlags,
+ QTSStreamBuffer ** outStreamBuffer);
+
+
+/*
+ * QTSFreeMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( void )
+QTSFreeMessage(QTSStreamBuffer * inMessage);
+
+
+/*
+ kQTSDuplicateBufferFlag_CopyData - forces a copy of the data itself
+ kQTSCopyBufferFlag_FlattenMessage - copies the data if it needs to be flattened
+ QTSDuplicateMessage never frees the old message
+*/
+/*
+ * QTSDuplicateMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTSDuplicateMessage(
+ QTSStreamBuffer * inMessage,
+ SInt32 inFlags,
+ QTSStreamBuffer ** outDuplicatedMessage);
+
+
+/*
+ * QTSMessageLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( UInt32 )
+QTSMessageLength(QTSStreamBuffer * inMessage);
+
+
+/*
+ * QTSStreamBufferDataInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 5.0 and later
+ */
+EXTERN_API_C( void )
+QTSStreamBufferDataInfo(
+ QTSStreamBuffer * inStreamBuffer,
+ unsigned char ** outDataStart,
+ UInt32 * outDataMaxLength);
+
+
+/* ---- old calls (don't use these)*/
+
+/*
+ * QTSAllocBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStreamBuffer * )
+QTSAllocBuffer(SInt32 inSize);
+
+
+/*
+ * QTSDupMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStreamBuffer * )
+QTSDupMessage(QTSStreamBuffer * inMessage);
+
+
+/*
+ * QTSCopyMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStreamBuffer * )
+QTSCopyMessage(QTSStreamBuffer * inMessage);
+
+
+/*
+ * QTSFlattenMessage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( QTSStreamBuffer * )
+QTSFlattenMessage(QTSStreamBuffer * inMessage);
+
+
+
+
+/*============================================================================
+ Misc
+============================================================================*/
+/*
+ * QTSGetErrorString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 4.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTSClient.lib 4.0 and later
+ */
+EXTERN_API_C( Boolean )
+QTSGetErrorString(
+ SInt32 inErrorCode,
+ UInt32 inMaxErrorStringLength,
+ char * outErrorString,
+ SInt32 inFlags);
+
+
+/*
+ * QTSInitializeMediaParams()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QTStreamLib 5.0.1 and later
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ * Windows: in QTSClient.lib 5.0.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTSInitializeMediaParams(QTSMediaParams * inMediaParams);
+
+
+
+
+/* UPP call backs */
+/*
+ * NewQTSNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTSNotificationUPP )
+NewQTSNotificationUPP(QTSNotificationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTSNotificationProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTSNotificationUPP) NewQTSNotificationUPP(QTSNotificationProcPtr userRoutine)
- {
- return (QTSNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSNotificationProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTSNotificationUPP(userRoutine) (QTSNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSNotificationProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTSNotificationProcInfo = 0x00003FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTSNotificationUPP) NewQTSNotificationUPP(QTSNotificationProcPtr userRoutine) { return (QTSNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSNotificationProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTSNotificationUPP(userRoutine) (QTSNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSNotificationProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTSPanelFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(QTSPanelFilterUPP)
- NewQTSPanelFilterUPP(QTSPanelFilterProcPtr userRoutine);
+/*
+ * NewQTSPanelFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( QTSPanelFilterUPP )
+NewQTSPanelFilterUPP(QTSPanelFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTSPanelFilterProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTSPanelFilterUPP) NewQTSPanelFilterUPP(QTSPanelFilterProcPtr userRoutine)
- {
- return (QTSPanelFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSPanelFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTSPanelFilterUPP(userRoutine) (QTSPanelFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSPanelFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTSPanelFilterProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTSPanelFilterUPP) NewQTSPanelFilterUPP(QTSPanelFilterProcPtr userRoutine) { return (QTSPanelFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSPanelFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTSPanelFilterUPP(userRoutine) (QTSPanelFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSPanelFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTSModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTSModalFilterUPP)
- NewQTSModalFilterUPP(QTSModalFilterProcPtr userRoutine);
+/*
+ * NewQTSModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTSModalFilterUPP )
+NewQTSModalFilterUPP(QTSModalFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTSModalFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTSModalFilterUPP) NewQTSModalFilterUPP(QTSModalFilterProcPtr userRoutine)
- {
- return (QTSModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSModalFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTSModalFilterUPP(userRoutine) (QTSModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSModalFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTSModalFilterProcInfo = 0x00003FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTSModalFilterUPP) NewQTSModalFilterUPP(QTSModalFilterProcPtr userRoutine) { return (QTSModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSModalFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTSModalFilterUPP(userRoutine) (QTSModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSModalFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeQTSNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTSNotificationUPP(QTSNotificationUPP userUPP);
+/*
+ * DisposeQTSNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTSNotificationUPP(QTSNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTSNotificationUPP(QTSNotificationUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTSNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTSNotificationUPP(QTSNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTSNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTSPanelFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- DisposeQTSPanelFilterUPP(QTSPanelFilterUPP userUPP);
+/*
+ * DisposeQTSPanelFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+DisposeQTSPanelFilterUPP(QTSPanelFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTSPanelFilterUPP(QTSPanelFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTSPanelFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTSPanelFilterUPP(QTSPanelFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTSPanelFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTSModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTSModalFilterUPP(QTSModalFilterUPP userUPP);
+/*
+ * DisposeQTSModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTSModalFilterUPP(QTSModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTSModalFilterUPP(QTSModalFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTSModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTSModalFilterUPP(QTSModalFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTSModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeQTSNotificationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ComponentResult)
- InvokeQTSNotificationUPP(
- ComponentResult inErr,
- OSType inNotificationType,
- void * inNotificationParams,
- void * inRefCon,
- QTSNotificationUPP userUPP);
+/*
+ * InvokeQTSNotificationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ComponentResult )
+InvokeQTSNotificationUPP(
+ ComponentResult inErr,
+ OSType inNotificationType,
+ void * inNotificationParams,
+ void * inRefCon,
+ QTSNotificationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ComponentResult) InvokeQTSNotificationUPP(ComponentResult inErr, OSType inNotificationType, void * inNotificationParams, void * inRefCon, QTSNotificationUPP userUPP)
- {
- return (ComponentResult)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTSNotificationProcInfo, inErr, inNotificationType, inNotificationParams, inRefCon);
- }
-#else
-#define InvokeQTSNotificationUPP(inErr, inNotificationType, inNotificationParams, inRefCon, userUPP) (ComponentResult)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTSNotificationProcInfo, (inErr), (inNotificationType), (inNotificationParams), (inRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ComponentResult) InvokeQTSNotificationUPP(ComponentResult inErr, OSType inNotificationType, void * inNotificationParams, void * inRefCon, QTSNotificationUPP userUPP) { return (ComponentResult)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTSNotificationProcInfo, inErr, inNotificationType, inNotificationParams, inRefCon); }
+ #else
+ #define InvokeQTSNotificationUPP(inErr, inNotificationType, inNotificationParams, inRefCon, userUPP) (ComponentResult)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTSNotificationProcInfo, (inErr), (inNotificationType), (inNotificationParams), (inRefCon))
+ #endif
#endif
- /*
- * InvokeQTSPanelFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(Boolean)
- InvokeQTSPanelFilterUPP(
- QTSPanelFilterParams * inParams,
- void * inRefCon,
- QTSPanelFilterUPP userUPP);
+/*
+ * InvokeQTSPanelFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeQTSPanelFilterUPP(
+ QTSPanelFilterParams * inParams,
+ void * inRefCon,
+ QTSPanelFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeQTSPanelFilterUPP(QTSPanelFilterParams * inParams, void * inRefCon, QTSPanelFilterUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppQTSPanelFilterProcInfo, inParams, inRefCon);
- }
-#else
-#define InvokeQTSPanelFilterUPP(inParams, inRefCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppQTSPanelFilterProcInfo, (inParams), (inRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeQTSPanelFilterUPP(QTSPanelFilterParams * inParams, void * inRefCon, QTSPanelFilterUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppQTSPanelFilterProcInfo, inParams, inRefCon); }
+ #else
+ #define InvokeQTSPanelFilterUPP(inParams, inRefCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppQTSPanelFilterProcInfo, (inParams), (inRefCon))
+ #endif
#endif
- /*
- * InvokeQTSModalFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeQTSModalFilterUPP(
- DialogPtr inDialog,
- const EventRecord * inEvent,
- SInt16 * ioItemHit,
- void * inRefCon,
- QTSModalFilterUPP userUPP);
+/*
+ * InvokeQTSModalFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeQTSModalFilterUPP(
+ DialogPtr inDialog,
+ const EventRecord * inEvent,
+ SInt16 * ioItemHit,
+ void * inRefCon,
+ QTSModalFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeQTSModalFilterUPP(DialogPtr inDialog, const EventRecord * inEvent, SInt16 * ioItemHit, void * inRefCon, QTSModalFilterUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTSModalFilterProcInfo, inDialog, inEvent, ioItemHit, inRefCon);
- }
-#else
-#define InvokeQTSModalFilterUPP(inDialog, inEvent, ioItemHit, inRefCon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTSModalFilterProcInfo, (inDialog), (inEvent), (ioItemHit), (inRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeQTSModalFilterUPP(DialogPtr inDialog, const EventRecord * inEvent, SInt16 * ioItemHit, void * inRefCon, QTSModalFilterUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTSModalFilterProcInfo, inDialog, inEvent, ioItemHit, inRefCon); }
+ #else
+ #define InvokeQTSModalFilterUPP(inDialog, inEvent, ioItemHit, inRefCon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTSModalFilterProcInfo, (inDialog), (inEvent), (ioItemHit), (inRefCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewQTSNotificationProc(userRoutine) NewQTSNotificationUPP(userRoutine)
-#define NewQTSPanelFilterProc(userRoutine) NewQTSPanelFilterUPP(userRoutine)
-#define NewQTSModalFilterProc(userRoutine) NewQTSModalFilterUPP(userRoutine)
-#define CallQTSNotificationProc(userRoutine, inErr, inNotificationType, inNotificationParams, inRefCon) InvokeQTSNotificationUPP(inErr, inNotificationType, inNotificationParams, inRefCon, userRoutine)
-#define CallQTSPanelFilterProc(userRoutine, inParams, inRefCon) InvokeQTSPanelFilterUPP(inParams, inRefCon, userRoutine)
-#define CallQTSModalFilterProc(userRoutine, inDialog, inEvent, ioItemHit, inRefCon) InvokeQTSModalFilterUPP(inDialog, inEvent, ioItemHit, inRefCon, userRoutine)
+ #define NewQTSNotificationProc(userRoutine) NewQTSNotificationUPP(userRoutine)
+ #define NewQTSPanelFilterProc(userRoutine) NewQTSPanelFilterUPP(userRoutine)
+ #define NewQTSModalFilterProc(userRoutine) NewQTSModalFilterUPP(userRoutine)
+ #define CallQTSNotificationProc(userRoutine, inErr, inNotificationType, inNotificationParams, inRefCon) InvokeQTSNotificationUPP(inErr, inNotificationType, inNotificationParams, inRefCon, userRoutine)
+ #define CallQTSPanelFilterProc(userRoutine, inParams, inRefCon) InvokeQTSPanelFilterUPP(inParams, inRefCon, userRoutine)
+ #define CallQTSModalFilterProc(userRoutine, inDialog, inEvent, ioItemHit, inRefCon) InvokeQTSModalFilterUPP(inDialog, inEvent, ioItemHit, inRefCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
@@ -2828,11 +2704,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QuickTimeVR.h b/include/qt/QuickTimeVR.h
index 206a8d272..39adc5db6 100644
--- a/include/qt/QuickTimeVR.h
+++ b/include/qt/QuickTimeVR.h
@@ -1,17 +1,17 @@
/*
File: QuickTimeVR.h
-
+
Contains: QuickTime VR interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2007 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 __QUICKTIMEVR__
#define __QUICKTIMEVR__
@@ -40,20 +40,20 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- typedef struct OpaqueQTVRInstance* QTVRInstance;
+typedef struct OpaqueQTVRInstance* QTVRInstance;
- /* Released API Version numbers */
+/* Released API Version numbers */
#define kQTVRAPIMajorVersion05 (0x05)
#define kQTVRAPIMajorVersion02 (0x02)
#define kQTVRAPIMinorVersion00 (0x00)
@@ -61,2468 +61,2375 @@ extern "C" {
#define kQTVRAPIMinorVersion10 (0x10)
#define kQTVRAPIMinorVersion20 (0x20)
- /* Version numbers for the API described in this header */
+/* Version numbers for the API described in this header */
#define kQTVRAPIMajorVersion kQTVRAPIMajorVersion05
#define kQTVRAPIMinorVersion kQTVRAPIMinorVersion00
- enum
- {
- kQTVRControllerSubType = FOUR_CHAR_CODE('ctyp'),
- kQTVRQTVRType = FOUR_CHAR_CODE('qtvr'),
- kQTVRPanoramaType = FOUR_CHAR_CODE('pano'),
- kQTVRObjectType = FOUR_CHAR_CODE('obje'),
- kQTVROldPanoType = FOUR_CHAR_CODE('STpn'), /* Used in QTVR 1.0 release*/
- kQTVROldObjectType = FOUR_CHAR_CODE('stna') /* Used in QTVR 1.0 release*/
- };
+enum {
+ kQTVRControllerSubType = FOUR_CHAR_CODE('ctyp'),
+ kQTVRQTVRType = FOUR_CHAR_CODE('qtvr'),
+ kQTVRPanoramaType = FOUR_CHAR_CODE('pano'),
+ kQTVRObjectType = FOUR_CHAR_CODE('obje'),
+ kQTVROldPanoType = FOUR_CHAR_CODE('STpn'), /* Used in QTVR 1.0 release*/
+ kQTVROldObjectType = FOUR_CHAR_CODE('stna') /* Used in QTVR 1.0 release*/
+};
#define kQTVRUnknownType '\?\?\?\?' /* Unknown node type */
- /* QTVR hot spot types*/
- enum
- {
- kQTVRHotSpotLinkType = FOUR_CHAR_CODE('link'),
- kQTVRHotSpotURLType = FOUR_CHAR_CODE('url '),
- kQTVRHotSpotUndefinedType = FOUR_CHAR_CODE('undf')
- };
-
- /* Special Values for nodeID in QTVRGoToNodeID*/
- enum
- {
- kQTVRCurrentNode = 0,
- kQTVRPreviousNode = (long)0x80000000,
- kQTVRDefaultNode = (long)0x80000001
- };
-
- /* Panorama correction modes used for the kQTVRImagingCorrection imaging property*/
- enum
- {
- kQTVRNoCorrection = 0,
- kQTVRPartialCorrection = 1,
- kQTVRFullCorrection = 2
- };
-
- /* Imaging Modes used by QTVRSetImagingProperty, QTVRGetImagingProperty, QTVRUpdate, QTVRBeginUpdate*/
- typedef UInt32 QTVRImagingMode;
- enum
- {
- kQTVRStatic = 1,
- kQTVRMotion = 2,
- kQTVRCurrentMode = 0, /* Special Value for QTVRUpdate*/
- kQTVRAllModes = 100 /* Special value for QTVRSetProperty*/
- };
-
- /* Imaging Properties used by QTVRSetImagingProperty, QTVRGetImagingProperty*/
- enum
- {
- kQTVRImagingCorrection = 1,
- kQTVRImagingQuality = 2,
- kQTVRImagingDirectDraw = 3,
- kQTVRImagingCurrentMode = 100 /* Get Only*/
- };
-
- /* OR the above with kImagingDefaultValue to get/set the default value*/
- enum
- {
- kImagingDefaultValue = (long)0x80000000
- };
-
- /* Transition Types used by QTVRSetTransitionProperty, QTVREnableTransition*/
- enum
- {
- kQTVRTransitionSwing = 1
- };
-
- /* Transition Properties QTVRSetTransitionProperty*/
- enum
- {
- kQTVRTransitionSpeed = 1,
- kQTVRTransitionDirection = 2
- };
-
- /* Constraint values used to construct value returned by GetConstraintStatus*/
- enum
- {
- kQTVRUnconstrained = 0L,
- kQTVRCantPanLeft = 1L << 0,
- kQTVRCantPanRight = 1L << 1,
- kQTVRCantPanUp = 1L << 2,
- kQTVRCantPanDown = 1L << 3,
- kQTVRCantZoomIn = 1L << 4,
- kQTVRCantZoomOut = 1L << 5,
- kQTVRCantTranslateLeft = 1L << 6,
- kQTVRCantTranslateRight = 1L << 7,
- kQTVRCantTranslateUp = 1L << 8,
- kQTVRCantTranslateDown = 1L << 9
- };
-
- /* Object-only mouse mode values used to construct value returned by QTVRGetCurrentMouseMode*/
- enum
- {
- kQTVRPanning = 1L << 0, /* standard objects, "object only" controllers*/
- kQTVRTranslating = 1L << 1, /* all objects*/
- kQTVRZooming = 1L << 2, /* all objects*/
- kQTVRScrolling = 1L << 3, /* standard object arrow scrollers and joystick object*/
- kQTVRSelecting = 1L << 4 /* object absolute controller*/
- };
-
- /* Properties for use with QTVRSetInteractionProperty/GetInteractionProperty*/
- enum
- {
- kQTVRInteractionMouseClickHysteresis = 1, /* pixels within which the mouse is considered not to have moved (UInt16)*/
- kQTVRInteractionMouseClickTimeout = 2, /* ticks after which a mouse click times out and turns into panning (UInt32)*/
- kQTVRInteractionPanTiltSpeed = 3, /* control the relative pan/tilt speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;*/
- kQTVRInteractionZoomSpeed = 4, /* control the relative zooming speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;*/
- kQTVRInteractionTranslateOnMouseDown = 101, /* Holding MouseDown with this setting translates zoomed object movies (Boolean)*/
- kQTVRInteractionMouseMotionScale = 102, /* The maximum angle of rotation caused by dragging across the display window. (* float)*/
- kQTVRInteractionNudgeMode = 103 /* A QTVRNudgeMode: rotate, translate, or the same as the current mouse mode. Requires QTVR 2.1*/
- };
-
- /* OR the above with kQTVRInteractionDefaultValue to get/set the default value*/
- enum
- {
- kQTVRInteractionDefaultValue = (long)0x80000000
- };
-
-
- /* Geometry constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
- enum
- {
- kQTVRUseMovieGeometry = 0,
- kQTVRVerticalCylinder = FOUR_CHAR_CODE('vcyl'),
- kQTVRHorizontalCylinder = FOUR_CHAR_CODE('hcyl'),
- kQTVRCube = FOUR_CHAR_CODE('cube')
- };
-
- /* Resolution constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
- enum
- {
- kQTVRDefaultRes = 0,
- kQTVRFullRes = 1L << 0,
- kQTVRHalfRes = 1L << 1,
- kQTVRQuarterRes = 1L << 2
- };
-
- /* QTVR-specific pixelFormat constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
- enum
- {
- kQTVRUseMovieDepth = 0
- };
-
- /* Cache Size Pref constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings*/
- enum
- {
- kQTVRMinimumCache = -1,
- kQTVRSuggestedCache = 0,
- kQTVRFullCache = 1
- };
-
- /* Angular units used by QTVRSetAngularUnits*/
- typedef UInt32 QTVRAngularUnits;
- enum
- {
- kQTVRDegrees = 0,
- kQTVRRadians = 1
- };
-
- /* Values for enableFlag parameter in QTVREnableHotSpot*/
- enum
- {
- kQTVRHotSpotID = 0,
- kQTVRHotSpotType = 1,
- kQTVRAllHotSpots = 2
- };
-
- /* Values for viewParameter for QTVRSet/GetViewParameter*/
- enum
- {
- kQTVRPanAngle = 0x0100, /* default units; &float, &float*/
- kQTVRTiltAngle = 0x0101, /* default units; &float, &float*/
- kQTVRFieldOfViewAngle = 0x0103, /* default units; &float, &float*/
- kQTVRViewCenter = 0x0104, /* pixels (per object movies); &QTVRFloatPoint, &QTVRFloatPoint*/
- kQTVRHotSpotsVisible = 0x0200 /* Boolean, &Boolean*/
- };
-
- /* Values for flagsIn for QTVRSet/GetViewParameter*/
- enum
- {
- kQTVRValueIsRelative = 1L << 0, /* Is the value absolute or relative to the current value?*/
- kQTVRValueIsRate = 1L << 1, /* Is the value absolute or a rate of change to be applied?*/
- kQTVRValueIsUserPrefRelative = 1L << 2 /* Is the value a percentage of the user rate pref?*/
- };
-
- /* Values for kind parameter in QTVRGet/SetConstraints, QTVRGetViewingLimits*/
- enum
- {
- kQTVRPan = 0,
- kQTVRTilt = 1,
- kQTVRFieldOfView = 2,
- kQTVRViewCenterH = 4, /* WrapAndConstrain only*/
- kQTVRViewCenterV = 5 /* WrapAndConstrain only*/
- };
-
- /* Values for setting parameter in QTVRSetAnimationSetting, QTVRGetAnimationSetting*/
- typedef UInt32 QTVRObjectAnimationSetting;
- enum
- {
- /* View Frame Animation Settings*/
- kQTVRPalindromeViewFrames = 1,
- kQTVRStartFirstViewFrame = 2,
- kQTVRDontLoopViewFrames = 3,
- kQTVRPlayEveryViewFrame = 4, /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
- /* View Animation Settings*/
- kQTVRSyncViewToFrameRate = 16,
- kQTVRPalindromeViews = 17,
- kQTVRPlayStreamingViews = 18 /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
- };
-
- typedef UInt32 QTVRControlSetting;
- enum
- {
- kQTVRWrapPan = 1,
- kQTVRWrapTilt = 2,
- kQTVRCanZoom = 3,
- kQTVRReverseHControl = 4,
- kQTVRReverseVControl = 5,
- kQTVRSwapHVControl = 6,
- kQTVRTranslation = 7
- };
-
- typedef UInt32 QTVRViewStateType;
- enum
- {
- kQTVRDefault = 0,
- kQTVRCurrent = 2,
- kQTVRMouseDown = 3
- };
-
- typedef UInt32 QTVRNudgeControl;
- enum
- {
- kQTVRRight = 0,
- kQTVRUpRight = 45,
- kQTVRUp = 90,
- kQTVRUpLeft = 135,
- kQTVRLeft = 180,
- kQTVRDownLeft = 225,
- kQTVRDown = 270,
- kQTVRDownRight = 315
- };
-
- typedef UInt32 QTVRNudgeMode;
- enum
- {
- kQTVRNudgeRotate = 0,
- kQTVRNudgeTranslate = 1,
- kQTVRNudgeSameAsMouse = 2
- };
-
-
- /* Flags to control elements of the QTVR control bar (set via mcActionSetFlags) */
- enum
- {
- mcFlagQTVRSuppressBackBtn = 1L << 16,
- mcFlagQTVRSuppressZoomBtns = 1L << 17,
- mcFlagQTVRSuppressHotSpotBtn = 1L << 18,
- mcFlagQTVRSuppressTranslateBtn = 1L << 19,
- mcFlagQTVRSuppressHelpText = 1L << 20,
- mcFlagQTVRSuppressHotSpotNames = 1L << 21,
- mcFlagQTVRExplicitFlagSet = 1L << 31 /* bits 0->30 should be interpreted as "explicit on" for the corresponding suppression bits*/
- };
-
- /* Cursor types used in type field of QTVRCursorRecord*/
- enum
- {
- kQTVRUseDefaultCursor = 0,
- kQTVRStdCursorType = 1,
- kQTVRColorCursorType = 2
- };
-
- /* Values for flags parameter in QTVRMouseOverHotSpot callback*/
- enum
- {
- kQTVRHotSpotEnter = 0,
- kQTVRHotSpotWithin = 1,
- kQTVRHotSpotLeave = 2
- };
-
- /* Values for flags parameter in QTVRSetPrescreenImagingCompleteProc*/
- enum
- {
- kQTVRPreScreenEveryIdle = 1L << 0 /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
- };
-
- /* Values for flags field of areasOfInterest in QTVRSetBackBufferImagingProc*/
- enum
- {
- kQTVRBackBufferEveryUpdate = 1L << 0,
- kQTVRBackBufferEveryIdle = 1L << 1,
- kQTVRBackBufferAlwaysRefresh = 1L << 2,
- kQTVRBackBufferHorizontal = 1L << 3 /* Requires that backbuffer proc be long-rowBytes aware (gestaltQDHasLongRowBytes)*/
- };
-
- /* Values for flagsIn parameter in QTVRBackBufferImaging callback*/
- enum
- {
- kQTVRBackBufferRectVisible = 1L << 0,
- kQTVRBackBufferWasRefreshed = 1L << 1
- };
-
- /* Values for flagsOut parameter in QTVRBackBufferImaging callback*/
- enum
- {
- kQTVRBackBufferFlagDidDraw = 1L << 0,
- kQTVRBackBufferFlagLastFlag = 1L << 31
- };
-
- /* QTVRCursorRecord used in QTVRReplaceCursor*/
- struct QTVRCursorRecord
- {
- UInt16 theType; /* field was previously named "type"*/
- SInt16 rsrcID;
- Handle handle;
- };
- typedef struct QTVRCursorRecord QTVRCursorRecord;
- struct QTVRFloatPoint
- {
- float x;
- float y;
- };
- typedef struct QTVRFloatPoint QTVRFloatPoint;
- /* Struct used for areasOfInterest parameter in QTVRSetBackBufferImagingProc*/
- struct QTVRAreaOfInterest
- {
- float panAngle;
- float tiltAngle;
- float width;
- float height;
- UInt32 flags;
- };
- typedef struct QTVRAreaOfInterest QTVRAreaOfInterest;
- /*
- =================================================================================================
- Callback routines
- -------------------------------------------------------------------------------------------------
- */
-
- typedef CALLBACK_API(OSErr , QTVRLeavingNodeProcPtr)(QTVRInstance qtvr, UInt32 fromNodeID, UInt32 toNodeID, Boolean *cancel, SInt32 refCon);
- typedef CALLBACK_API(OSErr , QTVREnteringNodeProcPtr)(QTVRInstance qtvr, UInt32 nodeID, SInt32 refCon);
- typedef CALLBACK_API(OSErr , QTVRMouseOverHotSpotProcPtr)(QTVRInstance qtvr, UInt32 hotSpotID, UInt32 flags, SInt32 refCon);
- typedef CALLBACK_API(OSErr , QTVRImagingCompleteProcPtr)(QTVRInstance qtvr, SInt32 refCon);
- typedef CALLBACK_API(OSErr , QTVRBackBufferImagingProcPtr)(QTVRInstance qtvr, Rect *drawRect, UInt16 areaIndex, UInt32 flagsIn, UInt32 *flagsOut, SInt32 refCon);
- typedef STACK_UPP_TYPE(QTVRLeavingNodeProcPtr) QTVRLeavingNodeUPP;
- typedef STACK_UPP_TYPE(QTVREnteringNodeProcPtr) QTVREnteringNodeUPP;
- typedef STACK_UPP_TYPE(QTVRMouseOverHotSpotProcPtr) QTVRMouseOverHotSpotUPP;
- typedef STACK_UPP_TYPE(QTVRImagingCompleteProcPtr) QTVRImagingCompleteUPP;
- typedef STACK_UPP_TYPE(QTVRBackBufferImagingProcPtr) QTVRBackBufferImagingUPP;
- /*
- * NewQTVRLeavingNodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTVRLeavingNodeUPP)
- NewQTVRLeavingNodeUPP(QTVRLeavingNodeProcPtr userRoutine);
+/* QTVR hot spot types*/
+enum {
+ kQTVRHotSpotLinkType = FOUR_CHAR_CODE('link'),
+ kQTVRHotSpotURLType = FOUR_CHAR_CODE('url '),
+ kQTVRHotSpotUndefinedType = FOUR_CHAR_CODE('undf')
+};
+
+/* Special Values for nodeID in QTVRGoToNodeID*/
+enum {
+ kQTVRCurrentNode = 0,
+ kQTVRPreviousNode = (long)0x80000000,
+ kQTVRDefaultNode = (long)0x80000001
+};
+
+/* Panorama correction modes used for the kQTVRImagingCorrection imaging property*/
+enum {
+ kQTVRNoCorrection = 0,
+ kQTVRPartialCorrection = 1,
+ kQTVRFullCorrection = 2
+};
+
+/* Imaging Modes used by QTVRSetImagingProperty, QTVRGetImagingProperty, QTVRUpdate, QTVRBeginUpdate*/
+typedef UInt32 QTVRImagingMode;
+enum {
+ kQTVRStatic = 1,
+ kQTVRMotion = 2,
+ kQTVRCurrentMode = 0, /* Special Value for QTVRUpdate*/
+ kQTVRAllModes = 100 /* Special value for QTVRSetProperty*/
+};
+
+/* Imaging Properties used by QTVRSetImagingProperty, QTVRGetImagingProperty*/
+enum {
+ kQTVRImagingCorrection = 1,
+ kQTVRImagingQuality = 2,
+ kQTVRImagingDirectDraw = 3,
+ kQTVRImagingCurrentMode = 100 /* Get Only*/
+};
+
+/* OR the above with kImagingDefaultValue to get/set the default value*/
+enum {
+ kImagingDefaultValue = (long)0x80000000
+};
+
+/* Transition Types used by QTVRSetTransitionProperty, QTVREnableTransition*/
+enum {
+ kQTVRTransitionSwing = 1
+};
+
+/* Transition Properties QTVRSetTransitionProperty*/
+enum {
+ kQTVRTransitionSpeed = 1,
+ kQTVRTransitionDirection = 2
+};
+
+/* Constraint values used to construct value returned by GetConstraintStatus*/
+enum {
+ kQTVRUnconstrained = 0L,
+ kQTVRCantPanLeft = 1L << 0,
+ kQTVRCantPanRight = 1L << 1,
+ kQTVRCantPanUp = 1L << 2,
+ kQTVRCantPanDown = 1L << 3,
+ kQTVRCantZoomIn = 1L << 4,
+ kQTVRCantZoomOut = 1L << 5,
+ kQTVRCantTranslateLeft = 1L << 6,
+ kQTVRCantTranslateRight = 1L << 7,
+ kQTVRCantTranslateUp = 1L << 8,
+ kQTVRCantTranslateDown = 1L << 9
+};
+
+/* Object-only mouse mode values used to construct value returned by QTVRGetCurrentMouseMode*/
+enum {
+ kQTVRPanning = 1L << 0, /* standard objects, "object only" controllers*/
+ kQTVRTranslating = 1L << 1, /* all objects*/
+ kQTVRZooming = 1L << 2, /* all objects*/
+ kQTVRScrolling = 1L << 3, /* standard object arrow scrollers and joystick object*/
+ kQTVRSelecting = 1L << 4 /* object absolute controller*/
+};
+
+/* Properties for use with QTVRSetInteractionProperty/GetInteractionProperty*/
+enum {
+ kQTVRInteractionMouseClickHysteresis = 1, /* pixels within which the mouse is considered not to have moved (UInt16)*/
+ kQTVRInteractionMouseClickTimeout = 2, /* ticks after which a mouse click times out and turns into panning (UInt32)*/
+ kQTVRInteractionPanTiltSpeed = 3, /* control the relative pan/tilt speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;*/
+ kQTVRInteractionZoomSpeed = 4, /* control the relative zooming speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;*/
+ kQTVRInteractionTranslateOnMouseDown = 101, /* Holding MouseDown with this setting translates zoomed object movies (Boolean)*/
+ kQTVRInteractionMouseMotionScale = 102, /* The maximum angle of rotation caused by dragging across the display window. (* float)*/
+ kQTVRInteractionNudgeMode = 103 /* A QTVRNudgeMode: rotate, translate, or the same as the current mouse mode. Requires QTVR 2.1*/
+};
+
+/* OR the above with kQTVRInteractionDefaultValue to get/set the default value*/
+enum {
+ kQTVRInteractionDefaultValue = (long)0x80000000
+};
+
+
+/* Geometry constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
+enum {
+ kQTVRUseMovieGeometry = 0,
+ kQTVRVerticalCylinder = FOUR_CHAR_CODE('vcyl'),
+ kQTVRHorizontalCylinder = FOUR_CHAR_CODE('hcyl'),
+ kQTVRCube = FOUR_CHAR_CODE('cube')
+};
+
+/* Resolution constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
+enum {
+ kQTVRDefaultRes = 0,
+ kQTVRFullRes = 1L << 0,
+ kQTVRHalfRes = 1L << 1,
+ kQTVRQuarterRes = 1L << 2
+};
+
+/* QTVR-specific pixelFormat constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
+enum {
+ kQTVRUseMovieDepth = 0
+};
+
+/* Cache Size Pref constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings*/
+enum {
+ kQTVRMinimumCache = -1,
+ kQTVRSuggestedCache = 0,
+ kQTVRFullCache = 1
+};
+
+/* Angular units used by QTVRSetAngularUnits*/
+typedef UInt32 QTVRAngularUnits;
+enum {
+ kQTVRDegrees = 0,
+ kQTVRRadians = 1
+};
+
+/* Values for enableFlag parameter in QTVREnableHotSpot*/
+enum {
+ kQTVRHotSpotID = 0,
+ kQTVRHotSpotType = 1,
+ kQTVRAllHotSpots = 2
+};
+
+/* Values for viewParameter for QTVRSet/GetViewParameter*/
+enum {
+ kQTVRPanAngle = 0x0100, /* default units; &float, &float*/
+ kQTVRTiltAngle = 0x0101, /* default units; &float, &float*/
+ kQTVRFieldOfViewAngle = 0x0103, /* default units; &float, &float*/
+ kQTVRViewCenter = 0x0104, /* pixels (per object movies); &QTVRFloatPoint, &QTVRFloatPoint*/
+ kQTVRHotSpotsVisible = 0x0200 /* Boolean, &Boolean*/
+};
+
+/* Values for flagsIn for QTVRSet/GetViewParameter*/
+enum {
+ kQTVRValueIsRelative = 1L << 0, /* Is the value absolute or relative to the current value?*/
+ kQTVRValueIsRate = 1L << 1, /* Is the value absolute or a rate of change to be applied?*/
+ kQTVRValueIsUserPrefRelative = 1L << 2 /* Is the value a percentage of the user rate pref?*/
+};
+
+/* Values for kind parameter in QTVRGet/SetConstraints, QTVRGetViewingLimits*/
+enum {
+ kQTVRPan = 0,
+ kQTVRTilt = 1,
+ kQTVRFieldOfView = 2,
+ kQTVRViewCenterH = 4, /* WrapAndConstrain only*/
+ kQTVRViewCenterV = 5 /* WrapAndConstrain only*/
+};
+
+/* Values for setting parameter in QTVRSetAnimationSetting, QTVRGetAnimationSetting*/
+typedef UInt32 QTVRObjectAnimationSetting;
+enum {
+ /* View Frame Animation Settings*/
+ kQTVRPalindromeViewFrames = 1,
+ kQTVRStartFirstViewFrame = 2,
+ kQTVRDontLoopViewFrames = 3,
+ kQTVRPlayEveryViewFrame = 4, /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
+ /* View Animation Settings*/
+ kQTVRSyncViewToFrameRate = 16,
+ kQTVRPalindromeViews = 17,
+ kQTVRPlayStreamingViews = 18 /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
+};
+
+typedef UInt32 QTVRControlSetting;
+enum {
+ kQTVRWrapPan = 1,
+ kQTVRWrapTilt = 2,
+ kQTVRCanZoom = 3,
+ kQTVRReverseHControl = 4,
+ kQTVRReverseVControl = 5,
+ kQTVRSwapHVControl = 6,
+ kQTVRTranslation = 7
+};
+
+typedef UInt32 QTVRViewStateType;
+enum {
+ kQTVRDefault = 0,
+ kQTVRCurrent = 2,
+ kQTVRMouseDown = 3
+};
+
+typedef UInt32 QTVRNudgeControl;
+enum {
+ kQTVRRight = 0,
+ kQTVRUpRight = 45,
+ kQTVRUp = 90,
+ kQTVRUpLeft = 135,
+ kQTVRLeft = 180,
+ kQTVRDownLeft = 225,
+ kQTVRDown = 270,
+ kQTVRDownRight = 315
+};
+
+typedef UInt32 QTVRNudgeMode;
+enum {
+ kQTVRNudgeRotate = 0,
+ kQTVRNudgeTranslate = 1,
+ kQTVRNudgeSameAsMouse = 2
+};
+
+
+/* Flags to control elements of the QTVR control bar (set via mcActionSetFlags) */
+enum {
+ mcFlagQTVRSuppressBackBtn = 1L << 16,
+ mcFlagQTVRSuppressZoomBtns = 1L << 17,
+ mcFlagQTVRSuppressHotSpotBtn = 1L << 18,
+ mcFlagQTVRSuppressTranslateBtn = 1L << 19,
+ mcFlagQTVRSuppressHelpText = 1L << 20,
+ mcFlagQTVRSuppressHotSpotNames = 1L << 21,
+ mcFlagQTVRExplicitFlagSet = 1L << 31 /* bits 0->30 should be interpreted as "explicit on" for the corresponding suppression bits*/
+};
+
+/* Cursor types used in type field of QTVRCursorRecord*/
+enum {
+ kQTVRUseDefaultCursor = 0,
+ kQTVRStdCursorType = 1,
+ kQTVRColorCursorType = 2
+};
+
+/* Values for flags parameter in QTVRMouseOverHotSpot callback*/
+enum {
+ kQTVRHotSpotEnter = 0,
+ kQTVRHotSpotWithin = 1,
+ kQTVRHotSpotLeave = 2
+};
+
+/* Values for flags parameter in QTVRSetPrescreenImagingCompleteProc*/
+enum {
+ kQTVRPreScreenEveryIdle = 1L << 0 /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
+};
+
+/* Values for flags field of areasOfInterest in QTVRSetBackBufferImagingProc*/
+enum {
+ kQTVRBackBufferEveryUpdate = 1L << 0,
+ kQTVRBackBufferEveryIdle = 1L << 1,
+ kQTVRBackBufferAlwaysRefresh = 1L << 2,
+ kQTVRBackBufferHorizontal = 1L << 3 /* Requires that backbuffer proc be long-rowBytes aware (gestaltQDHasLongRowBytes)*/
+};
+
+/* Values for flagsIn parameter in QTVRBackBufferImaging callback*/
+enum {
+ kQTVRBackBufferRectVisible = 1L << 0,
+ kQTVRBackBufferWasRefreshed = 1L << 1
+};
+
+/* Values for flagsOut parameter in QTVRBackBufferImaging callback*/
+enum {
+ kQTVRBackBufferFlagDidDraw = 1L << 0,
+ kQTVRBackBufferFlagLastFlag = 1L << 31
+};
+
+/* QTVRCursorRecord used in QTVRReplaceCursor*/
+struct QTVRCursorRecord {
+ UInt16 theType; /* field was previously named "type"*/
+ SInt16 rsrcID;
+ Handle handle;
+};
+typedef struct QTVRCursorRecord QTVRCursorRecord;
+struct QTVRFloatPoint {
+ float x;
+ float y;
+};
+typedef struct QTVRFloatPoint QTVRFloatPoint;
+/* Struct used for areasOfInterest parameter in QTVRSetBackBufferImagingProc*/
+struct QTVRAreaOfInterest {
+ float panAngle;
+ float tiltAngle;
+ float width;
+ float height;
+ UInt32 flags;
+};
+typedef struct QTVRAreaOfInterest QTVRAreaOfInterest;
+/*
+ =================================================================================================
+ Callback routines
+ -------------------------------------------------------------------------------------------------
+*/
+
+typedef CALLBACK_API( OSErr , QTVRLeavingNodeProcPtr )(QTVRInstance qtvr, UInt32 fromNodeID, UInt32 toNodeID, Boolean *cancel, SInt32 refCon);
+typedef CALLBACK_API( OSErr , QTVREnteringNodeProcPtr )(QTVRInstance qtvr, UInt32 nodeID, SInt32 refCon);
+typedef CALLBACK_API( OSErr , QTVRMouseOverHotSpotProcPtr )(QTVRInstance qtvr, UInt32 hotSpotID, UInt32 flags, SInt32 refCon);
+typedef CALLBACK_API( OSErr , QTVRImagingCompleteProcPtr )(QTVRInstance qtvr, SInt32 refCon);
+typedef CALLBACK_API( OSErr , QTVRBackBufferImagingProcPtr )(QTVRInstance qtvr, Rect *drawRect, UInt16 areaIndex, UInt32 flagsIn, UInt32 *flagsOut, SInt32 refCon);
+typedef STACK_UPP_TYPE(QTVRLeavingNodeProcPtr) QTVRLeavingNodeUPP;
+typedef STACK_UPP_TYPE(QTVREnteringNodeProcPtr) QTVREnteringNodeUPP;
+typedef STACK_UPP_TYPE(QTVRMouseOverHotSpotProcPtr) QTVRMouseOverHotSpotUPP;
+typedef STACK_UPP_TYPE(QTVRImagingCompleteProcPtr) QTVRImagingCompleteUPP;
+typedef STACK_UPP_TYPE(QTVRBackBufferImagingProcPtr) QTVRBackBufferImagingUPP;
+/*
+ * NewQTVRLeavingNodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTVRLeavingNodeUPP )
+NewQTVRLeavingNodeUPP(QTVRLeavingNodeProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTVRLeavingNodeProcInfo = 0x0000FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTVRLeavingNodeUPP) NewQTVRLeavingNodeUPP(QTVRLeavingNodeProcPtr userRoutine)
- {
- return (QTVRLeavingNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRLeavingNodeProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTVRLeavingNodeUPP(userRoutine) (QTVRLeavingNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRLeavingNodeProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTVRLeavingNodeProcInfo = 0x0000FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTVRLeavingNodeUPP) NewQTVRLeavingNodeUPP(QTVRLeavingNodeProcPtr userRoutine) { return (QTVRLeavingNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRLeavingNodeProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTVRLeavingNodeUPP(userRoutine) (QTVRLeavingNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRLeavingNodeProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTVREnteringNodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTVREnteringNodeUPP)
- NewQTVREnteringNodeUPP(QTVREnteringNodeProcPtr userRoutine);
+/*
+ * NewQTVREnteringNodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTVREnteringNodeUPP )
+NewQTVREnteringNodeUPP(QTVREnteringNodeProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTVREnteringNodeProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTVREnteringNodeUPP) NewQTVREnteringNodeUPP(QTVREnteringNodeProcPtr userRoutine)
- {
- return (QTVREnteringNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVREnteringNodeProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTVREnteringNodeUPP(userRoutine) (QTVREnteringNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVREnteringNodeProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTVREnteringNodeProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTVREnteringNodeUPP) NewQTVREnteringNodeUPP(QTVREnteringNodeProcPtr userRoutine) { return (QTVREnteringNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVREnteringNodeProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTVREnteringNodeUPP(userRoutine) (QTVREnteringNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVREnteringNodeProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTVRMouseOverHotSpotUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTVRMouseOverHotSpotUPP)
- NewQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotProcPtr userRoutine);
+/*
+ * NewQTVRMouseOverHotSpotUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTVRMouseOverHotSpotUPP )
+NewQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTVRMouseOverHotSpotProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTVRMouseOverHotSpotUPP) NewQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotProcPtr userRoutine)
- {
- return (QTVRMouseOverHotSpotUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRMouseOverHotSpotProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTVRMouseOverHotSpotUPP(userRoutine) (QTVRMouseOverHotSpotUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRMouseOverHotSpotProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTVRMouseOverHotSpotProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTVRMouseOverHotSpotUPP) NewQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotProcPtr userRoutine) { return (QTVRMouseOverHotSpotUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRMouseOverHotSpotProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTVRMouseOverHotSpotUPP(userRoutine) (QTVRMouseOverHotSpotUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRMouseOverHotSpotProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTVRImagingCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTVRImagingCompleteUPP)
- NewQTVRImagingCompleteUPP(QTVRImagingCompleteProcPtr userRoutine);
+/*
+ * NewQTVRImagingCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTVRImagingCompleteUPP )
+NewQTVRImagingCompleteUPP(QTVRImagingCompleteProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTVRImagingCompleteProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTVRImagingCompleteUPP) NewQTVRImagingCompleteUPP(QTVRImagingCompleteProcPtr userRoutine)
- {
- return (QTVRImagingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRImagingCompleteProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTVRImagingCompleteUPP(userRoutine) (QTVRImagingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRImagingCompleteProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTVRImagingCompleteProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTVRImagingCompleteUPP) NewQTVRImagingCompleteUPP(QTVRImagingCompleteProcPtr userRoutine) { return (QTVRImagingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRImagingCompleteProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTVRImagingCompleteUPP(userRoutine) (QTVRImagingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRImagingCompleteProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQTVRBackBufferImagingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTVRBackBufferImagingUPP)
- NewQTVRBackBufferImagingUPP(QTVRBackBufferImagingProcPtr userRoutine);
+/*
+ * NewQTVRBackBufferImagingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTVRBackBufferImagingUPP )
+NewQTVRBackBufferImagingUPP(QTVRBackBufferImagingProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTVRBackBufferImagingProcInfo = 0x0003FBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTVRBackBufferImagingUPP) NewQTVRBackBufferImagingUPP(QTVRBackBufferImagingProcPtr userRoutine)
- {
- return (QTVRBackBufferImagingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRBackBufferImagingProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTVRBackBufferImagingUPP(userRoutine) (QTVRBackBufferImagingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRBackBufferImagingProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTVRBackBufferImagingProcInfo = 0x0003FBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTVRBackBufferImagingUPP) NewQTVRBackBufferImagingUPP(QTVRBackBufferImagingProcPtr userRoutine) { return (QTVRBackBufferImagingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRBackBufferImagingProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTVRBackBufferImagingUPP(userRoutine) (QTVRBackBufferImagingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRBackBufferImagingProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeQTVRLeavingNodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTVRLeavingNodeUPP(QTVRLeavingNodeUPP userUPP);
+/*
+ * DisposeQTVRLeavingNodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTVRLeavingNodeUPP(QTVRLeavingNodeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTVRLeavingNodeUPP(QTVRLeavingNodeUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTVRLeavingNodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTVRLeavingNodeUPP(QTVRLeavingNodeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTVRLeavingNodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTVREnteringNodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTVREnteringNodeUPP(QTVREnteringNodeUPP userUPP);
+/*
+ * DisposeQTVREnteringNodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTVREnteringNodeUPP(QTVREnteringNodeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTVREnteringNodeUPP(QTVREnteringNodeUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTVREnteringNodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTVREnteringNodeUPP(QTVREnteringNodeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTVREnteringNodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTVRMouseOverHotSpotUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotUPP userUPP);
+/*
+ * DisposeQTVRMouseOverHotSpotUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTVRMouseOverHotSpotUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTVRMouseOverHotSpotUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTVRImagingCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTVRImagingCompleteUPP(QTVRImagingCompleteUPP userUPP);
+/*
+ * DisposeQTVRImagingCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTVRImagingCompleteUPP(QTVRImagingCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTVRImagingCompleteUPP(QTVRImagingCompleteUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTVRImagingCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTVRImagingCompleteUPP(QTVRImagingCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTVRImagingCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQTVRBackBufferImagingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTVRBackBufferImagingUPP(QTVRBackBufferImagingUPP userUPP);
+/*
+ * DisposeQTVRBackBufferImagingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTVRBackBufferImagingUPP(QTVRBackBufferImagingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTVRBackBufferImagingUPP(QTVRBackBufferImagingUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTVRBackBufferImagingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTVRBackBufferImagingUPP(QTVRBackBufferImagingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTVRBackBufferImagingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeQTVRLeavingNodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeQTVRLeavingNodeUPP(
- QTVRInstance qtvr,
- UInt32 fromNodeID,
- UInt32 toNodeID,
- Boolean * cancel,
- SInt32 refCon,
- QTVRLeavingNodeUPP userUPP);
+/*
+ * InvokeQTVRLeavingNodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeQTVRLeavingNodeUPP(
+ QTVRInstance qtvr,
+ UInt32 fromNodeID,
+ UInt32 toNodeID,
+ Boolean * cancel,
+ SInt32 refCon,
+ QTVRLeavingNodeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeQTVRLeavingNodeUPP(QTVRInstance qtvr, UInt32 fromNodeID, UInt32 toNodeID, Boolean * cancel, SInt32 refCon, QTVRLeavingNodeUPP userUPP)
- {
- return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppQTVRLeavingNodeProcInfo, qtvr, fromNodeID, toNodeID, cancel, refCon);
- }
-#else
-#define InvokeQTVRLeavingNodeUPP(qtvr, fromNodeID, toNodeID, cancel, refCon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppQTVRLeavingNodeProcInfo, (qtvr), (fromNodeID), (toNodeID), (cancel), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeQTVRLeavingNodeUPP(QTVRInstance qtvr, UInt32 fromNodeID, UInt32 toNodeID, Boolean * cancel, SInt32 refCon, QTVRLeavingNodeUPP userUPP) { return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppQTVRLeavingNodeProcInfo, qtvr, fromNodeID, toNodeID, cancel, refCon); }
+ #else
+ #define InvokeQTVRLeavingNodeUPP(qtvr, fromNodeID, toNodeID, cancel, refCon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppQTVRLeavingNodeProcInfo, (qtvr), (fromNodeID), (toNodeID), (cancel), (refCon))
+ #endif
#endif
- /*
- * InvokeQTVREnteringNodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeQTVREnteringNodeUPP(
- QTVRInstance qtvr,
- UInt32 nodeID,
- SInt32 refCon,
- QTVREnteringNodeUPP userUPP);
+/*
+ * InvokeQTVREnteringNodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeQTVREnteringNodeUPP(
+ QTVRInstance qtvr,
+ UInt32 nodeID,
+ SInt32 refCon,
+ QTVREnteringNodeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeQTVREnteringNodeUPP(QTVRInstance qtvr, UInt32 nodeID, SInt32 refCon, QTVREnteringNodeUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppQTVREnteringNodeProcInfo, qtvr, nodeID, refCon);
- }
-#else
-#define InvokeQTVREnteringNodeUPP(qtvr, nodeID, refCon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppQTVREnteringNodeProcInfo, (qtvr), (nodeID), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeQTVREnteringNodeUPP(QTVRInstance qtvr, UInt32 nodeID, SInt32 refCon, QTVREnteringNodeUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppQTVREnteringNodeProcInfo, qtvr, nodeID, refCon); }
+ #else
+ #define InvokeQTVREnteringNodeUPP(qtvr, nodeID, refCon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppQTVREnteringNodeProcInfo, (qtvr), (nodeID), (refCon))
+ #endif
#endif
- /*
- * InvokeQTVRMouseOverHotSpotUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeQTVRMouseOverHotSpotUPP(
- QTVRInstance qtvr,
- UInt32 hotSpotID,
- UInt32 flags,
- SInt32 refCon,
- QTVRMouseOverHotSpotUPP userUPP);
+/*
+ * InvokeQTVRMouseOverHotSpotUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeQTVRMouseOverHotSpotUPP(
+ QTVRInstance qtvr,
+ UInt32 hotSpotID,
+ UInt32 flags,
+ SInt32 refCon,
+ QTVRMouseOverHotSpotUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeQTVRMouseOverHotSpotUPP(QTVRInstance qtvr, UInt32 hotSpotID, UInt32 flags, SInt32 refCon, QTVRMouseOverHotSpotUPP userUPP)
- {
- return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTVRMouseOverHotSpotProcInfo, qtvr, hotSpotID, flags, refCon);
- }
-#else
-#define InvokeQTVRMouseOverHotSpotUPP(qtvr, hotSpotID, flags, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTVRMouseOverHotSpotProcInfo, (qtvr), (hotSpotID), (flags), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeQTVRMouseOverHotSpotUPP(QTVRInstance qtvr, UInt32 hotSpotID, UInt32 flags, SInt32 refCon, QTVRMouseOverHotSpotUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTVRMouseOverHotSpotProcInfo, qtvr, hotSpotID, flags, refCon); }
+ #else
+ #define InvokeQTVRMouseOverHotSpotUPP(qtvr, hotSpotID, flags, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTVRMouseOverHotSpotProcInfo, (qtvr), (hotSpotID), (flags), (refCon))
+ #endif
#endif
- /*
- * InvokeQTVRImagingCompleteUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeQTVRImagingCompleteUPP(
- QTVRInstance qtvr,
- SInt32 refCon,
- QTVRImagingCompleteUPP userUPP);
+/*
+ * InvokeQTVRImagingCompleteUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeQTVRImagingCompleteUPP(
+ QTVRInstance qtvr,
+ SInt32 refCon,
+ QTVRImagingCompleteUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeQTVRImagingCompleteUPP(QTVRInstance qtvr, SInt32 refCon, QTVRImagingCompleteUPP userUPP)
- {
- return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppQTVRImagingCompleteProcInfo, qtvr, refCon);
- }
-#else
-#define InvokeQTVRImagingCompleteUPP(qtvr, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppQTVRImagingCompleteProcInfo, (qtvr), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeQTVRImagingCompleteUPP(QTVRInstance qtvr, SInt32 refCon, QTVRImagingCompleteUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppQTVRImagingCompleteProcInfo, qtvr, refCon); }
+ #else
+ #define InvokeQTVRImagingCompleteUPP(qtvr, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppQTVRImagingCompleteProcInfo, (qtvr), (refCon))
+ #endif
#endif
- /*
- * InvokeQTVRBackBufferImagingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeQTVRBackBufferImagingUPP(
- QTVRInstance qtvr,
- Rect * drawRect,
- UInt16 areaIndex,
- UInt32 flagsIn,
- UInt32 * flagsOut,
- SInt32 refCon,
- QTVRBackBufferImagingUPP userUPP);
+/*
+ * InvokeQTVRBackBufferImagingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeQTVRBackBufferImagingUPP(
+ QTVRInstance qtvr,
+ Rect * drawRect,
+ UInt16 areaIndex,
+ UInt32 flagsIn,
+ UInt32 * flagsOut,
+ SInt32 refCon,
+ QTVRBackBufferImagingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeQTVRBackBufferImagingUPP(QTVRInstance qtvr, Rect * drawRect, UInt16 areaIndex, UInt32 flagsIn, UInt32 * flagsOut, SInt32 refCon, QTVRBackBufferImagingUPP userUPP)
- {
- return (OSErr)CALL_SIX_PARAMETER_UPP(userUPP, uppQTVRBackBufferImagingProcInfo, qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon);
- }
-#else
-#define InvokeQTVRBackBufferImagingUPP(qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon, userUPP) (OSErr)CALL_SIX_PARAMETER_UPP((userUPP), uppQTVRBackBufferImagingProcInfo, (qtvr), (drawRect), (areaIndex), (flagsIn), (flagsOut), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeQTVRBackBufferImagingUPP(QTVRInstance qtvr, Rect * drawRect, UInt16 areaIndex, UInt32 flagsIn, UInt32 * flagsOut, SInt32 refCon, QTVRBackBufferImagingUPP userUPP) { return (OSErr)CALL_SIX_PARAMETER_UPP(userUPP, uppQTVRBackBufferImagingProcInfo, qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon); }
+ #else
+ #define InvokeQTVRBackBufferImagingUPP(qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon, userUPP) (OSErr)CALL_SIX_PARAMETER_UPP((userUPP), uppQTVRBackBufferImagingProcInfo, (qtvr), (drawRect), (areaIndex), (flagsIn), (flagsOut), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewQTVRLeavingNodeProc(userRoutine) NewQTVRLeavingNodeUPP(userRoutine)
-#define NewQTVREnteringNodeProc(userRoutine) NewQTVREnteringNodeUPP(userRoutine)
-#define NewQTVRMouseOverHotSpotProc(userRoutine) NewQTVRMouseOverHotSpotUPP(userRoutine)
-#define NewQTVRImagingCompleteProc(userRoutine) NewQTVRImagingCompleteUPP(userRoutine)
-#define NewQTVRBackBufferImagingProc(userRoutine) NewQTVRBackBufferImagingUPP(userRoutine)
-#define CallQTVRLeavingNodeProc(userRoutine, qtvr, fromNodeID, toNodeID, cancel, refCon) InvokeQTVRLeavingNodeUPP(qtvr, fromNodeID, toNodeID, cancel, refCon, userRoutine)
-#define CallQTVREnteringNodeProc(userRoutine, qtvr, nodeID, refCon) InvokeQTVREnteringNodeUPP(qtvr, nodeID, refCon, userRoutine)
-#define CallQTVRMouseOverHotSpotProc(userRoutine, qtvr, hotSpotID, flags, refCon) InvokeQTVRMouseOverHotSpotUPP(qtvr, hotSpotID, flags, refCon, userRoutine)
-#define CallQTVRImagingCompleteProc(userRoutine, qtvr, refCon) InvokeQTVRImagingCompleteUPP(qtvr, refCon, userRoutine)
-#define CallQTVRBackBufferImagingProc(userRoutine, qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon) InvokeQTVRBackBufferImagingUPP(qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon, userRoutine)
+ #define NewQTVRLeavingNodeProc(userRoutine) NewQTVRLeavingNodeUPP(userRoutine)
+ #define NewQTVREnteringNodeProc(userRoutine) NewQTVREnteringNodeUPP(userRoutine)
+ #define NewQTVRMouseOverHotSpotProc(userRoutine) NewQTVRMouseOverHotSpotUPP(userRoutine)
+ #define NewQTVRImagingCompleteProc(userRoutine) NewQTVRImagingCompleteUPP(userRoutine)
+ #define NewQTVRBackBufferImagingProc(userRoutine) NewQTVRBackBufferImagingUPP(userRoutine)
+ #define CallQTVRLeavingNodeProc(userRoutine, qtvr, fromNodeID, toNodeID, cancel, refCon) InvokeQTVRLeavingNodeUPP(qtvr, fromNodeID, toNodeID, cancel, refCon, userRoutine)
+ #define CallQTVREnteringNodeProc(userRoutine, qtvr, nodeID, refCon) InvokeQTVREnteringNodeUPP(qtvr, nodeID, refCon, userRoutine)
+ #define CallQTVRMouseOverHotSpotProc(userRoutine, qtvr, hotSpotID, flags, refCon) InvokeQTVRMouseOverHotSpotUPP(qtvr, hotSpotID, flags, refCon, userRoutine)
+ #define CallQTVRImagingCompleteProc(userRoutine, qtvr, refCon) InvokeQTVRImagingCompleteUPP(qtvr, refCon, userRoutine)
+ #define CallQTVRBackBufferImagingProc(userRoutine, qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon) InvokeQTVRBackBufferImagingUPP(qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- =================================================================================================
- QTVR Intercept Struct, Callback, Routine Descriptors
- -------------------------------------------------------------------------------------------------
- */
-
- typedef UInt32 QTVRProcSelector;
- enum
- {
- kQTVRSetPanAngleSelector = 0x2000,
- kQTVRSetTiltAngleSelector = 0x2001,
- kQTVRSetFieldOfViewSelector = 0x2002,
- kQTVRSetViewCenterSelector = 0x2003,
- kQTVRMouseEnterSelector = 0x2004,
- kQTVRMouseWithinSelector = 0x2005,
- kQTVRMouseLeaveSelector = 0x2006,
- kQTVRMouseDownSelector = 0x2007,
- kQTVRMouseStillDownSelector = 0x2008,
- kQTVRMouseUpSelector = 0x2009,
- kQTVRTriggerHotSpotSelector = 0x200A,
- kQTVRGetHotSpotTypeSelector = 0x200B, /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
- kQTVRSetViewParameterSelector = 0x200C, /* Requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
- kQTVRGetViewParameterSelector = 0x200D /* Requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
- };
-
- struct QTVRInterceptRecord
- {
- SInt32 reserved1;
- SInt32 selector;
-
- SInt32 reserved2;
- SInt32 reserved3;
-
- SInt32 paramCount;
- void * parameter[6];
- };
- typedef struct QTVRInterceptRecord QTVRInterceptRecord;
- typedef QTVRInterceptRecord * QTVRInterceptPtr;
- /* Prototype for Intercept Proc callback*/
- typedef CALLBACK_API(void , QTVRInterceptProcPtr)(QTVRInstance qtvr, QTVRInterceptPtr qtvrMsg, SInt32 refCon, Boolean *cancel);
- typedef STACK_UPP_TYPE(QTVRInterceptProcPtr) QTVRInterceptUPP;
- /*
- * NewQTVRInterceptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QTVRInterceptUPP)
- NewQTVRInterceptUPP(QTVRInterceptProcPtr userRoutine);
+/*
+ =================================================================================================
+ QTVR Intercept Struct, Callback, Routine Descriptors
+ -------------------------------------------------------------------------------------------------
+*/
+
+typedef UInt32 QTVRProcSelector;
+enum {
+ kQTVRSetPanAngleSelector = 0x2000,
+ kQTVRSetTiltAngleSelector = 0x2001,
+ kQTVRSetFieldOfViewSelector = 0x2002,
+ kQTVRSetViewCenterSelector = 0x2003,
+ kQTVRMouseEnterSelector = 0x2004,
+ kQTVRMouseWithinSelector = 0x2005,
+ kQTVRMouseLeaveSelector = 0x2006,
+ kQTVRMouseDownSelector = 0x2007,
+ kQTVRMouseStillDownSelector = 0x2008,
+ kQTVRMouseUpSelector = 0x2009,
+ kQTVRTriggerHotSpotSelector = 0x200A,
+ kQTVRGetHotSpotTypeSelector = 0x200B, /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
+ kQTVRSetViewParameterSelector = 0x200C, /* Requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
+ kQTVRGetViewParameterSelector = 0x200D /* Requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
+};
+
+struct QTVRInterceptRecord {
+ SInt32 reserved1;
+ SInt32 selector;
+
+ SInt32 reserved2;
+ SInt32 reserved3;
+
+ SInt32 paramCount;
+ void * parameter[6];
+};
+typedef struct QTVRInterceptRecord QTVRInterceptRecord;
+typedef QTVRInterceptRecord * QTVRInterceptPtr;
+/* Prototype for Intercept Proc callback*/
+typedef CALLBACK_API( void , QTVRInterceptProcPtr )(QTVRInstance qtvr, QTVRInterceptPtr qtvrMsg, SInt32 refCon, Boolean *cancel);
+typedef STACK_UPP_TYPE(QTVRInterceptProcPtr) QTVRInterceptUPP;
+/*
+ * NewQTVRInterceptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QTVRInterceptUPP )
+NewQTVRInterceptUPP(QTVRInterceptProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQTVRInterceptProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QTVRInterceptUPP) NewQTVRInterceptUPP(QTVRInterceptProcPtr userRoutine)
- {
- return (QTVRInterceptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRInterceptProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQTVRInterceptUPP(userRoutine) (QTVRInterceptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRInterceptProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQTVRInterceptProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QTVRInterceptUPP) NewQTVRInterceptUPP(QTVRInterceptProcPtr userRoutine) { return (QTVRInterceptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRInterceptProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQTVRInterceptUPP(userRoutine) (QTVRInterceptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRInterceptProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeQTVRInterceptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQTVRInterceptUPP(QTVRInterceptUPP userUPP);
+/*
+ * DisposeQTVRInterceptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQTVRInterceptUPP(QTVRInterceptUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQTVRInterceptUPP(QTVRInterceptUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQTVRInterceptUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQTVRInterceptUPP(QTVRInterceptUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQTVRInterceptUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeQTVRInterceptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQTVRInterceptUPP(
- QTVRInstance qtvr,
- QTVRInterceptPtr qtvrMsg,
- SInt32 refCon,
- Boolean * cancel,
- QTVRInterceptUPP userUPP);
+/*
+ * InvokeQTVRInterceptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQTVRInterceptUPP(
+ QTVRInstance qtvr,
+ QTVRInterceptPtr qtvrMsg,
+ SInt32 refCon,
+ Boolean * cancel,
+ QTVRInterceptUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQTVRInterceptUPP(QTVRInstance qtvr, QTVRInterceptPtr qtvrMsg, SInt32 refCon, Boolean * cancel, QTVRInterceptUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQTVRInterceptProcInfo, qtvr, qtvrMsg, refCon, cancel);
- }
-#else
-#define InvokeQTVRInterceptUPP(qtvr, qtvrMsg, refCon, cancel, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTVRInterceptProcInfo, (qtvr), (qtvrMsg), (refCon), (cancel))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQTVRInterceptUPP(QTVRInstance qtvr, QTVRInterceptPtr qtvrMsg, SInt32 refCon, Boolean * cancel, QTVRInterceptUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQTVRInterceptProcInfo, qtvr, qtvrMsg, refCon, cancel); }
+ #else
+ #define InvokeQTVRInterceptUPP(qtvr, qtvrMsg, refCon, cancel, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTVRInterceptProcInfo, (qtvr), (qtvrMsg), (refCon), (cancel))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewQTVRInterceptProc(userRoutine) NewQTVRInterceptUPP(userRoutine)
-#define CallQTVRInterceptProc(userRoutine, qtvr, qtvrMsg, refCon, cancel) InvokeQTVRInterceptUPP(qtvr, qtvrMsg, refCon, cancel, userRoutine)
+ #define NewQTVRInterceptProc(userRoutine) NewQTVRInterceptUPP(userRoutine)
+ #define CallQTVRInterceptProc(userRoutine, qtvr, qtvrMsg, refCon, cancel) InvokeQTVRInterceptUPP(qtvr, qtvrMsg, refCon, cancel, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- =================================================================================================
- Initialization QTVR calls
- -------------------------------------------------------------------------------------------------
- Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10) and only work on Non-Macintosh platforms
- */
+/*
+ =================================================================================================
+ Initialization QTVR calls
+ -------------------------------------------------------------------------------------------------
+ Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10) and only work on Non-Macintosh platforms
+*/
#if !TARGET_OS_MAC
#if CALL_NOT_IN_CARBON
- /*
- * InitializeQTVR()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- InitializeQTVR(void);
-
-
- /*
- * TerminateQTVR()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- TerminateQTVR(void);
+/*
+ * InitializeQTVR()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+InitializeQTVR(void);
+
+
+/*
+ * TerminateQTVR()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+TerminateQTVR(void);
#endif /* CALL_NOT_IN_CARBON */
#endif /* !TARGET_OS_MAC */
- /*
- =================================================================================================
- General QTVR calls
- -------------------------------------------------------------------------------------------------
- */
- /*
- * QTVRGetQTVRTrack()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(Track)
- QTVRGetQTVRTrack(
- Movie theMovie,
- SInt32 index);
-
-
- /*
- * QTVRGetQTVRInstance()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetQTVRInstance(
- QTVRInstance * qtvr,
- Track qtvrTrack,
- MovieController mc);
-
-
- /*
- =================================================================================================
- Viewing Angles and Zooming
- -------------------------------------------------------------------------------------------------
- */
-
- /* QTVRSetViewParameter requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
- /*
- * QTVRSetViewParameter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 5.0 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetViewParameter(
- QTVRInstance qtvr,
- UInt32 viewParameter,
- void * value,
- UInt32 flagsIn);
-
-
- /* QTVRGetViewParameter requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
- /*
- * QTVRGetViewParameter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 5.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 5.0 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetViewParameter(
- QTVRInstance qtvr,
- UInt32 viewParameter,
- void * value,
- UInt32 flagsIn,
- UInt32 * flagsOut);
-
-
- /*
- * QTVRSetPanAngle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetPanAngle(
- QTVRInstance qtvr,
- float panAngle);
-
-
- /*
- * QTVRGetPanAngle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(float)
- QTVRGetPanAngle(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetTiltAngle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetTiltAngle(
- QTVRInstance qtvr,
- float tiltAngle);
-
-
- /*
- * QTVRGetTiltAngle()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(float)
- QTVRGetTiltAngle(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetFieldOfView()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetFieldOfView(
- QTVRInstance qtvr,
- float fieldOfView);
-
-
- /*
- * QTVRGetFieldOfView()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(float)
- QTVRGetFieldOfView(QTVRInstance qtvr);
-
-
- /*
- * QTVRShowDefaultView()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRShowDefaultView(QTVRInstance qtvr);
-
-
- /* Object Specific*/
- /*
- * QTVRSetViewCenter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetViewCenter(
- QTVRInstance qtvr,
- const QTVRFloatPoint * viewCenter);
-
-
- /*
- * QTVRGetViewCenter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetViewCenter(
- QTVRInstance qtvr,
- QTVRFloatPoint * viewCenter);
-
-
- /*
- * QTVRNudge()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRNudge(
- QTVRInstance qtvr,
- QTVRNudgeControl direction);
-
-
- /* QTVRInteractionNudge requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
- /*
- * QTVRInteractionNudge()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRInteractionNudge(
- QTVRInstance qtvr,
- QTVRNudgeControl direction);
-
-
- /*
- =================================================================================================
- Scene and Node Location Information
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRGetVRWorld()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetVRWorld(
- QTVRInstance qtvr,
- QTAtomContainer * VRWorld);
-
-
- /*
- * QTVRGetNodeInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetNodeInfo(
- QTVRInstance qtvr,
- UInt32 nodeID,
- QTAtomContainer * nodeInfo);
-
-
- /*
- * QTVRGoToNodeID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGoToNodeID(
- QTVRInstance qtvr,
- UInt32 nodeID);
-
-
- /*
- * QTVRGetCurrentNodeID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(UInt32)
- QTVRGetCurrentNodeID(QTVRInstance qtvr);
-
-
- /*
- * QTVRGetNodeType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSType)
- QTVRGetNodeType(
- QTVRInstance qtvr,
- UInt32 nodeID);
-
-
- /*
- =================================================================================================
- Hot Spot related calls
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRPtToHotSpotID()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRPtToHotSpotID(
- QTVRInstance qtvr,
- Point pt,
- UInt32 * hotSpotID);
-
-
- /* QTVRGetHotSpotType requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
- /*
- * QTVRGetHotSpotType()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetHotSpotType(
- QTVRInstance qtvr,
- UInt32 hotSpotID,
- OSType * hotSpotType);
-
-
- /*
- * QTVRTriggerHotSpot()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRTriggerHotSpot(
- QTVRInstance qtvr,
- UInt32 hotSpotID,
- QTAtomContainer nodeInfo,
- QTAtom selectedAtom);
-
-
- /*
- * QTVRSetMouseOverHotSpotProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetMouseOverHotSpotProc(
- QTVRInstance qtvr,
- QTVRMouseOverHotSpotUPP mouseOverHotSpotProc,
- SInt32 refCon,
- UInt32 flags);
-
-
- /*
- * QTVREnableHotSpot()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVREnableHotSpot(
- QTVRInstance qtvr,
- UInt32 enableFlag,
- UInt32 hotSpotValue,
- Boolean enable);
-
-
- /*
- * QTVRGetVisibleHotSpots()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(UInt32)
- QTVRGetVisibleHotSpots(
- QTVRInstance qtvr,
- Handle hotSpots);
-
-
- /*
- * QTVRGetHotSpotRegion()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetHotSpotRegion(
- QTVRInstance qtvr,
- UInt32 hotSpotID,
- RgnHandle hotSpotRegion);
-
-
- /*
- =================================================================================================
- Event & Cursor Handling Calls
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRSetMouseOverTracking()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetMouseOverTracking(
- QTVRInstance qtvr,
- Boolean enable);
-
-
- /*
- * QTVRGetMouseOverTracking()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(Boolean)
- QTVRGetMouseOverTracking(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetMouseDownTracking()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetMouseDownTracking(
- QTVRInstance qtvr,
- Boolean enable);
-
-
- /*
- * QTVRGetMouseDownTracking()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(Boolean)
- QTVRGetMouseDownTracking(QTVRInstance qtvr);
-
-
- /*
- * QTVRMouseEnter()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRMouseEnter(
- QTVRInstance qtvr,
- Point pt,
- UInt32 * hotSpotID,
- WindowRef w);
-
-
- /*
- * QTVRMouseWithin()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRMouseWithin(
- QTVRInstance qtvr,
- Point pt,
- UInt32 * hotSpotID,
- WindowRef w);
-
-
- /*
- * QTVRMouseLeave()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRMouseLeave(
- QTVRInstance qtvr,
- Point pt,
- WindowRef w);
-
-
- /*
- * QTVRMouseDown()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRMouseDown(
- QTVRInstance qtvr,
- Point pt,
- UInt32 when,
- UInt16 modifiers,
- UInt32 * hotSpotID,
- WindowRef w);
-
-
- /*
- * QTVRMouseStillDown()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRMouseStillDown(
- QTVRInstance qtvr,
- Point pt,
- UInt32 * hotSpotID,
- WindowRef w);
-
-
- /*
- * QTVRMouseUp()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRMouseUp(
- QTVRInstance qtvr,
- Point pt,
- UInt32 * hotSpotID,
- WindowRef w);
-
-
- /* These require QTVR 2.01 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion01)*/
- /*
- * QTVRMouseStillDownExtended()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRMouseStillDownExtended(
- QTVRInstance qtvr,
- Point pt,
- UInt32 * hotSpotID,
- WindowRef w,
- UInt32 when,
- UInt16 modifiers);
-
-
- /*
- * QTVRMouseUpExtended()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRMouseUpExtended(
- QTVRInstance qtvr,
- Point pt,
- UInt32 * hotSpotID,
- WindowRef w,
- UInt32 when,
- UInt16 modifiers);
-
-
- /*
- =================================================================================================
- Intercept Routines
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRInstallInterceptProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRInstallInterceptProc(
- QTVRInstance qtvr,
- QTVRProcSelector selector,
- QTVRInterceptUPP interceptProc,
- SInt32 refCon,
- UInt32 flags);
-
-
- /*
- * QTVRCallInterceptedProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRCallInterceptedProc(
- QTVRInstance qtvr,
- QTVRInterceptRecord * qtvrMsg);
-
-
- /*
- =================================================================================================
- Object Movie Specific Calls
- -------------------------------------------------------------------------------------------------
- QTVRGetCurrentMouseMode requires QTRVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
- */
- /*
- * QTVRGetCurrentMouseMode()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(UInt32)
- QTVRGetCurrentMouseMode(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetFrameRate(
- QTVRInstance qtvr,
- float rate);
-
-
- /*
- * QTVRGetFrameRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(float)
- QTVRGetFrameRate(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetViewRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetViewRate(
- QTVRInstance qtvr,
- float rate);
-
-
- /*
- * QTVRGetViewRate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(float)
- QTVRGetViewRate(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetViewCurrentTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetViewCurrentTime(
- QTVRInstance qtvr,
- TimeValue time);
-
-
- /*
- * QTVRGetViewCurrentTime()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(TimeValue)
- QTVRGetViewCurrentTime(QTVRInstance qtvr);
-
-
- /*
- * QTVRGetCurrentViewDuration()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(TimeValue)
- QTVRGetCurrentViewDuration(QTVRInstance qtvr);
-
-
- /*
- =================================================================================================
- View State Calls - QTVR Object Only
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRSetViewState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetViewState(
- QTVRInstance qtvr,
- QTVRViewStateType viewStateType,
- UInt16 state);
-
-
- /*
- * QTVRGetViewState()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetViewState(
- QTVRInstance qtvr,
- QTVRViewStateType viewStateType,
- UInt16 * state);
-
-
- /*
- * QTVRGetViewStateCount()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(UInt16)
- QTVRGetViewStateCount(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetAnimationSetting()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetAnimationSetting(
- QTVRInstance qtvr,
- QTVRObjectAnimationSetting setting,
- Boolean enable);
-
-
- /*
- * QTVRGetAnimationSetting()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetAnimationSetting(
- QTVRInstance qtvr,
- QTVRObjectAnimationSetting setting,
- Boolean * enable);
-
-
- /*
- * QTVRSetControlSetting()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetControlSetting(
- QTVRInstance qtvr,
- QTVRControlSetting setting,
- Boolean enable);
-
-
- /*
- * QTVRGetControlSetting()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetControlSetting(
- QTVRInstance qtvr,
- QTVRControlSetting setting,
- Boolean * enable);
-
-
- /*
- * QTVREnableFrameAnimation()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVREnableFrameAnimation(
- QTVRInstance qtvr,
- Boolean enable);
-
-
- /*
- * QTVRGetFrameAnimation()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(Boolean)
- QTVRGetFrameAnimation(QTVRInstance qtvr);
-
-
- /*
- * QTVREnableViewAnimation()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVREnableViewAnimation(
- QTVRInstance qtvr,
- Boolean enable);
-
-
- /*
- * QTVRGetViewAnimation()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(Boolean)
- QTVRGetViewAnimation(QTVRInstance qtvr);
-
-
-
- /*
- =================================================================================================
- Imaging Characteristics
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRSetVisible()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetVisible(
- QTVRInstance qtvr,
- Boolean visible);
-
-
- /*
- * QTVRGetVisible()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(Boolean)
- QTVRGetVisible(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetImagingProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetImagingProperty(
- QTVRInstance qtvr,
- QTVRImagingMode imagingMode,
- UInt32 imagingProperty,
- SInt32 propertyValue);
-
-
- /*
- * QTVRGetImagingProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetImagingProperty(
- QTVRInstance qtvr,
- QTVRImagingMode imagingMode,
- UInt32 imagingProperty,
- SInt32 * propertyValue);
-
-
- /*
- * QTVRUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRUpdate(
- QTVRInstance qtvr,
- QTVRImagingMode imagingMode);
-
-
- /*
- * QTVRBeginUpdateStream()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRBeginUpdateStream(
- QTVRInstance qtvr,
- QTVRImagingMode imagingMode);
-
-
- /*
- * QTVREndUpdateStream()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVREndUpdateStream(QTVRInstance qtvr);
-
-
- /*
- * QTVRSetTransitionProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetTransitionProperty(
- QTVRInstance qtvr,
- UInt32 transitionType,
- UInt32 transitionProperty,
- SInt32 transitionValue);
-
-
- /*
- * QTVREnableTransition()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVREnableTransition(
- QTVRInstance qtvr,
- UInt32 transitionType,
- Boolean enable);
-
-
- /*
- =================================================================================================
- Basic Conversion and Math Routines
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRSetAngularUnits()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetAngularUnits(
- QTVRInstance qtvr,
- QTVRAngularUnits units);
-
-
- /*
- * QTVRGetAngularUnits()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(QTVRAngularUnits)
- QTVRGetAngularUnits(QTVRInstance qtvr);
-
-
- /* Pano specific routines*/
- /*
- * QTVRPtToAngles()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRPtToAngles(
- QTVRInstance qtvr,
- Point pt,
- float * panAngle,
- float * tiltAngle);
-
-
- /*
- * QTVRCoordToAngles()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRCoordToAngles(
- QTVRInstance qtvr,
- QTVRFloatPoint * coord,
- float * panAngle,
- float * tiltAngle);
-
-
- /*
- * QTVRAnglesToCoord()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRAnglesToCoord(
- QTVRInstance qtvr,
- float panAngle,
- float tiltAngle,
- QTVRFloatPoint * coord);
-
-
- /* Object specific routines*/
- /*
- * QTVRPanToColumn()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(short)
- QTVRPanToColumn(
- QTVRInstance qtvr,
- float panAngle);
-
-
- /* zero based */
- /*
- * QTVRColumnToPan()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(float)
- QTVRColumnToPan(
- QTVRInstance qtvr,
- short column);
-
-
- /* zero based */
- /*
- * QTVRTiltToRow()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(short)
- QTVRTiltToRow(
- QTVRInstance qtvr,
- float tiltAngle);
-
-
- /* zero based */
- /*
- * QTVRRowToTilt()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(float)
- QTVRRowToTilt(
- QTVRInstance qtvr,
- short row);
-
-
- /* zero based */
- /*
- * QTVRWrapAndConstrain()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRWrapAndConstrain(
- QTVRInstance qtvr,
- short kind,
- float value,
- float * result);
-
-
-
- /*
- =================================================================================================
- Interaction Routines
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRSetEnteringNodeProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetEnteringNodeProc(
- QTVRInstance qtvr,
- QTVREnteringNodeUPP enteringNodeProc,
- SInt32 refCon,
- UInt32 flags);
-
-
- /*
- * QTVRSetLeavingNodeProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetLeavingNodeProc(
- QTVRInstance qtvr,
- QTVRLeavingNodeUPP leavingNodeProc,
- SInt32 refCon,
- UInt32 flags);
-
-
- /*
- * QTVRSetInteractionProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetInteractionProperty(
- QTVRInstance qtvr,
- UInt32 property,
- void * value);
-
-
- /*
- * QTVRGetInteractionProperty()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetInteractionProperty(
- QTVRInstance qtvr,
- UInt32 property,
- void * value);
-
-
- /*
- * QTVRReplaceCursor()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRReplaceCursor(
- QTVRInstance qtvr,
- QTVRCursorRecord * cursRecord);
-
-
- /*
- =================================================================================================
- Viewing Limits and Constraints
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRGetViewingLimits()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetViewingLimits(
- QTVRInstance qtvr,
- UInt16 kind,
- float * minValue,
- float * maxValue);
-
-
- /*
- * QTVRGetConstraintStatus()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(UInt32)
- QTVRGetConstraintStatus(QTVRInstance qtvr);
-
-
- /*
- * QTVRGetConstraints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetConstraints(
- QTVRInstance qtvr,
- UInt16 kind,
- float * minValue,
- float * maxValue);
-
-
- /*
- * QTVRSetConstraints()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetConstraints(
- QTVRInstance qtvr,
- UInt16 kind,
- float minValue,
- float maxValue);
-
-
-
- /*
- =================================================================================================
- Back Buffer Memory Management
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRGetAvailableResolutions()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetAvailableResolutions(
- QTVRInstance qtvr,
- UInt16 * resolutionsMask);
-
-
- /* These require QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
- /*
- * QTVRGetBackBufferMemInfo()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetBackBufferMemInfo(
- QTVRInstance qtvr,
- UInt32 geometry,
- UInt16 resolution,
- UInt32 cachePixelFormat,
- SInt32 * minCacheBytes,
- SInt32 * suggestedCacheBytes,
- SInt32 * fullCacheBytes);
-
-
- /*
- * QTVRGetBackBufferSettings()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRGetBackBufferSettings(
- QTVRInstance qtvr,
- UInt32 * geometry,
- UInt16 * resolution,
- UInt32 * cachePixelFormat,
- SInt16 * cacheSize);
-
-
- /*
- * QTVRSetBackBufferPrefs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetBackBufferPrefs(
- QTVRInstance qtvr,
- UInt32 geometry,
- UInt16 resolution,
- UInt32 cachePixelFormat,
- SInt16 cacheSize);
-
-
- /*
- =================================================================================================
- Buffer Access
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * QTVRSetPrescreenImagingCompleteProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetPrescreenImagingCompleteProc(
- QTVRInstance qtvr,
- QTVRImagingCompleteUPP imagingCompleteProc,
- SInt32 refCon,
- UInt32 flags);
-
-
- /*
- * QTVRSetBackBufferImagingProc()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRSetBackBufferImagingProc(
- QTVRInstance qtvr,
- QTVRBackBufferImagingUPP backBufferImagingProc,
- UInt16 numAreas,
- QTVRAreaOfInterest areasOfInterest[],
- SInt32 refCon);
-
-
- /*
- * QTVRRefreshBackBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- * Windows: in QTVR.lib 2.1 and later
- */
- EXTERN_API_C(OSErr)
- QTVRRefreshBackBuffer(
- QTVRInstance qtvr,
- UInt32 flags);
-
-
-
-
- /*
- =================================================================================================
- Old Names
- -------------------------------------------------------------------------------------------------
- */
+/*
+ =================================================================================================
+ General QTVR calls
+ -------------------------------------------------------------------------------------------------
+*/
+/*
+ * QTVRGetQTVRTrack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( Track )
+QTVRGetQTVRTrack(
+ Movie theMovie,
+ SInt32 index);
+
+
+/*
+ * QTVRGetQTVRInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetQTVRInstance(
+ QTVRInstance * qtvr,
+ Track qtvrTrack,
+ MovieController mc);
+
+
+/*
+ =================================================================================================
+ Viewing Angles and Zooming
+ -------------------------------------------------------------------------------------------------
+*/
+
+/* QTVRSetViewParameter requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
+/*
+ * QTVRSetViewParameter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetViewParameter(
+ QTVRInstance qtvr,
+ UInt32 viewParameter,
+ void * value,
+ UInt32 flagsIn);
+
+
+/* QTVRGetViewParameter requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
+/*
+ * QTVRGetViewParameter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 5.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 5.0 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetViewParameter(
+ QTVRInstance qtvr,
+ UInt32 viewParameter,
+ void * value,
+ UInt32 flagsIn,
+ UInt32 * flagsOut);
+
+
+/*
+ * QTVRSetPanAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetPanAngle(
+ QTVRInstance qtvr,
+ float panAngle);
+
+
+/*
+ * QTVRGetPanAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( float )
+QTVRGetPanAngle(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetTiltAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetTiltAngle(
+ QTVRInstance qtvr,
+ float tiltAngle);
+
+
+/*
+ * QTVRGetTiltAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( float )
+QTVRGetTiltAngle(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetFieldOfView()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetFieldOfView(
+ QTVRInstance qtvr,
+ float fieldOfView);
+
+
+/*
+ * QTVRGetFieldOfView()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( float )
+QTVRGetFieldOfView(QTVRInstance qtvr);
+
+
+/*
+ * QTVRShowDefaultView()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRShowDefaultView(QTVRInstance qtvr);
+
+
+/* Object Specific*/
+/*
+ * QTVRSetViewCenter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetViewCenter(
+ QTVRInstance qtvr,
+ const QTVRFloatPoint * viewCenter);
+
+
+/*
+ * QTVRGetViewCenter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetViewCenter(
+ QTVRInstance qtvr,
+ QTVRFloatPoint * viewCenter);
+
+
+/*
+ * QTVRNudge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRNudge(
+ QTVRInstance qtvr,
+ QTVRNudgeControl direction);
+
+
+/* QTVRInteractionNudge requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
+/*
+ * QTVRInteractionNudge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRInteractionNudge(
+ QTVRInstance qtvr,
+ QTVRNudgeControl direction);
+
+
+/*
+ =================================================================================================
+ Scene and Node Location Information
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRGetVRWorld()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetVRWorld(
+ QTVRInstance qtvr,
+ QTAtomContainer * VRWorld);
+
+
+/*
+ * QTVRGetNodeInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetNodeInfo(
+ QTVRInstance qtvr,
+ UInt32 nodeID,
+ QTAtomContainer * nodeInfo);
+
+
+/*
+ * QTVRGoToNodeID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGoToNodeID(
+ QTVRInstance qtvr,
+ UInt32 nodeID);
+
+
+/*
+ * QTVRGetCurrentNodeID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( UInt32 )
+QTVRGetCurrentNodeID(QTVRInstance qtvr);
+
+
+/*
+ * QTVRGetNodeType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSType )
+QTVRGetNodeType(
+ QTVRInstance qtvr,
+ UInt32 nodeID);
+
+
+/*
+ =================================================================================================
+ Hot Spot related calls
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRPtToHotSpotID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRPtToHotSpotID(
+ QTVRInstance qtvr,
+ Point pt,
+ UInt32 * hotSpotID);
+
+
+/* QTVRGetHotSpotType requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
+/*
+ * QTVRGetHotSpotType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetHotSpotType(
+ QTVRInstance qtvr,
+ UInt32 hotSpotID,
+ OSType * hotSpotType);
+
+
+/*
+ * QTVRTriggerHotSpot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRTriggerHotSpot(
+ QTVRInstance qtvr,
+ UInt32 hotSpotID,
+ QTAtomContainer nodeInfo,
+ QTAtom selectedAtom);
+
+
+/*
+ * QTVRSetMouseOverHotSpotProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetMouseOverHotSpotProc(
+ QTVRInstance qtvr,
+ QTVRMouseOverHotSpotUPP mouseOverHotSpotProc,
+ SInt32 refCon,
+ UInt32 flags);
+
+
+/*
+ * QTVREnableHotSpot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVREnableHotSpot(
+ QTVRInstance qtvr,
+ UInt32 enableFlag,
+ UInt32 hotSpotValue,
+ Boolean enable);
+
+
+/*
+ * QTVRGetVisibleHotSpots()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( UInt32 )
+QTVRGetVisibleHotSpots(
+ QTVRInstance qtvr,
+ Handle hotSpots);
+
+
+/*
+ * QTVRGetHotSpotRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetHotSpotRegion(
+ QTVRInstance qtvr,
+ UInt32 hotSpotID,
+ RgnHandle hotSpotRegion);
+
+
+/*
+ =================================================================================================
+ Event & Cursor Handling Calls
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRSetMouseOverTracking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetMouseOverTracking(
+ QTVRInstance qtvr,
+ Boolean enable);
+
+
+/*
+ * QTVRGetMouseOverTracking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( Boolean )
+QTVRGetMouseOverTracking(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetMouseDownTracking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetMouseDownTracking(
+ QTVRInstance qtvr,
+ Boolean enable);
+
+
+/*
+ * QTVRGetMouseDownTracking()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( Boolean )
+QTVRGetMouseDownTracking(QTVRInstance qtvr);
+
+
+/*
+ * QTVRMouseEnter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRMouseEnter(
+ QTVRInstance qtvr,
+ Point pt,
+ UInt32 * hotSpotID,
+ WindowRef w);
+
+
+/*
+ * QTVRMouseWithin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRMouseWithin(
+ QTVRInstance qtvr,
+ Point pt,
+ UInt32 * hotSpotID,
+ WindowRef w);
+
+
+/*
+ * QTVRMouseLeave()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRMouseLeave(
+ QTVRInstance qtvr,
+ Point pt,
+ WindowRef w);
+
+
+/*
+ * QTVRMouseDown()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRMouseDown(
+ QTVRInstance qtvr,
+ Point pt,
+ UInt32 when,
+ UInt16 modifiers,
+ UInt32 * hotSpotID,
+ WindowRef w);
+
+
+/*
+ * QTVRMouseStillDown()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRMouseStillDown(
+ QTVRInstance qtvr,
+ Point pt,
+ UInt32 * hotSpotID,
+ WindowRef w);
+
+
+/*
+ * QTVRMouseUp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRMouseUp(
+ QTVRInstance qtvr,
+ Point pt,
+ UInt32 * hotSpotID,
+ WindowRef w);
+
+
+/* These require QTVR 2.01 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion01)*/
+/*
+ * QTVRMouseStillDownExtended()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRMouseStillDownExtended(
+ QTVRInstance qtvr,
+ Point pt,
+ UInt32 * hotSpotID,
+ WindowRef w,
+ UInt32 when,
+ UInt16 modifiers);
+
+
+/*
+ * QTVRMouseUpExtended()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRMouseUpExtended(
+ QTVRInstance qtvr,
+ Point pt,
+ UInt32 * hotSpotID,
+ WindowRef w,
+ UInt32 when,
+ UInt16 modifiers);
+
+
+/*
+ =================================================================================================
+ Intercept Routines
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRInstallInterceptProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRInstallInterceptProc(
+ QTVRInstance qtvr,
+ QTVRProcSelector selector,
+ QTVRInterceptUPP interceptProc,
+ SInt32 refCon,
+ UInt32 flags);
+
+
+/*
+ * QTVRCallInterceptedProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRCallInterceptedProc(
+ QTVRInstance qtvr,
+ QTVRInterceptRecord * qtvrMsg);
+
+
+/*
+ =================================================================================================
+ Object Movie Specific Calls
+ -------------------------------------------------------------------------------------------------
+ QTVRGetCurrentMouseMode requires QTRVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
+*/
+/*
+ * QTVRGetCurrentMouseMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( UInt32 )
+QTVRGetCurrentMouseMode(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetFrameRate(
+ QTVRInstance qtvr,
+ float rate);
+
+
+/*
+ * QTVRGetFrameRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( float )
+QTVRGetFrameRate(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetViewRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetViewRate(
+ QTVRInstance qtvr,
+ float rate);
+
+
+/*
+ * QTVRGetViewRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( float )
+QTVRGetViewRate(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetViewCurrentTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetViewCurrentTime(
+ QTVRInstance qtvr,
+ TimeValue time);
+
+
+/*
+ * QTVRGetViewCurrentTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( TimeValue )
+QTVRGetViewCurrentTime(QTVRInstance qtvr);
+
+
+/*
+ * QTVRGetCurrentViewDuration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( TimeValue )
+QTVRGetCurrentViewDuration(QTVRInstance qtvr);
+
+
+/*
+ =================================================================================================
+ View State Calls - QTVR Object Only
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRSetViewState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetViewState(
+ QTVRInstance qtvr,
+ QTVRViewStateType viewStateType,
+ UInt16 state);
+
+
+/*
+ * QTVRGetViewState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetViewState(
+ QTVRInstance qtvr,
+ QTVRViewStateType viewStateType,
+ UInt16 * state);
+
+
+/*
+ * QTVRGetViewStateCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( UInt16 )
+QTVRGetViewStateCount(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetAnimationSetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetAnimationSetting(
+ QTVRInstance qtvr,
+ QTVRObjectAnimationSetting setting,
+ Boolean enable);
+
+
+/*
+ * QTVRGetAnimationSetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetAnimationSetting(
+ QTVRInstance qtvr,
+ QTVRObjectAnimationSetting setting,
+ Boolean * enable);
+
+
+/*
+ * QTVRSetControlSetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetControlSetting(
+ QTVRInstance qtvr,
+ QTVRControlSetting setting,
+ Boolean enable);
+
+
+/*
+ * QTVRGetControlSetting()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetControlSetting(
+ QTVRInstance qtvr,
+ QTVRControlSetting setting,
+ Boolean * enable);
+
+
+/*
+ * QTVREnableFrameAnimation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVREnableFrameAnimation(
+ QTVRInstance qtvr,
+ Boolean enable);
+
+
+/*
+ * QTVRGetFrameAnimation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( Boolean )
+QTVRGetFrameAnimation(QTVRInstance qtvr);
+
+
+/*
+ * QTVREnableViewAnimation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVREnableViewAnimation(
+ QTVRInstance qtvr,
+ Boolean enable);
+
+
+/*
+ * QTVRGetViewAnimation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( Boolean )
+QTVRGetViewAnimation(QTVRInstance qtvr);
+
+
+
+/*
+ =================================================================================================
+ Imaging Characteristics
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRSetVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetVisible(
+ QTVRInstance qtvr,
+ Boolean visible);
+
+
+/*
+ * QTVRGetVisible()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( Boolean )
+QTVRGetVisible(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetImagingProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetImagingProperty(
+ QTVRInstance qtvr,
+ QTVRImagingMode imagingMode,
+ UInt32 imagingProperty,
+ SInt32 propertyValue);
+
+
+/*
+ * QTVRGetImagingProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetImagingProperty(
+ QTVRInstance qtvr,
+ QTVRImagingMode imagingMode,
+ UInt32 imagingProperty,
+ SInt32 * propertyValue);
+
+
+/*
+ * QTVRUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRUpdate(
+ QTVRInstance qtvr,
+ QTVRImagingMode imagingMode);
+
+
+/*
+ * QTVRBeginUpdateStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRBeginUpdateStream(
+ QTVRInstance qtvr,
+ QTVRImagingMode imagingMode);
+
+
+/*
+ * QTVREndUpdateStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVREndUpdateStream(QTVRInstance qtvr);
+
+
+/*
+ * QTVRSetTransitionProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetTransitionProperty(
+ QTVRInstance qtvr,
+ UInt32 transitionType,
+ UInt32 transitionProperty,
+ SInt32 transitionValue);
+
+
+/*
+ * QTVREnableTransition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVREnableTransition(
+ QTVRInstance qtvr,
+ UInt32 transitionType,
+ Boolean enable);
+
+
+/*
+ =================================================================================================
+ Basic Conversion and Math Routines
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRSetAngularUnits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetAngularUnits(
+ QTVRInstance qtvr,
+ QTVRAngularUnits units);
+
+
+/*
+ * QTVRGetAngularUnits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( QTVRAngularUnits )
+QTVRGetAngularUnits(QTVRInstance qtvr);
+
+
+/* Pano specific routines*/
+/*
+ * QTVRPtToAngles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRPtToAngles(
+ QTVRInstance qtvr,
+ Point pt,
+ float * panAngle,
+ float * tiltAngle);
+
+
+/*
+ * QTVRCoordToAngles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRCoordToAngles(
+ QTVRInstance qtvr,
+ QTVRFloatPoint * coord,
+ float * panAngle,
+ float * tiltAngle);
+
+
+/*
+ * QTVRAnglesToCoord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRAnglesToCoord(
+ QTVRInstance qtvr,
+ float panAngle,
+ float tiltAngle,
+ QTVRFloatPoint * coord);
+
+
+/* Object specific routines*/
+/*
+ * QTVRPanToColumn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( short )
+QTVRPanToColumn(
+ QTVRInstance qtvr,
+ float panAngle);
+
+
+/* zero based */
+/*
+ * QTVRColumnToPan()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( float )
+QTVRColumnToPan(
+ QTVRInstance qtvr,
+ short column);
+
+
+/* zero based */
+/*
+ * QTVRTiltToRow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( short )
+QTVRTiltToRow(
+ QTVRInstance qtvr,
+ float tiltAngle);
+
+
+/* zero based */
+/*
+ * QTVRRowToTilt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( float )
+QTVRRowToTilt(
+ QTVRInstance qtvr,
+ short row);
+
+
+/* zero based */
+/*
+ * QTVRWrapAndConstrain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRWrapAndConstrain(
+ QTVRInstance qtvr,
+ short kind,
+ float value,
+ float * result);
+
+
+
+/*
+ =================================================================================================
+ Interaction Routines
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRSetEnteringNodeProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetEnteringNodeProc(
+ QTVRInstance qtvr,
+ QTVREnteringNodeUPP enteringNodeProc,
+ SInt32 refCon,
+ UInt32 flags);
+
+
+/*
+ * QTVRSetLeavingNodeProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetLeavingNodeProc(
+ QTVRInstance qtvr,
+ QTVRLeavingNodeUPP leavingNodeProc,
+ SInt32 refCon,
+ UInt32 flags);
+
+
+/*
+ * QTVRSetInteractionProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetInteractionProperty(
+ QTVRInstance qtvr,
+ UInt32 property,
+ void * value);
+
+
+/*
+ * QTVRGetInteractionProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetInteractionProperty(
+ QTVRInstance qtvr,
+ UInt32 property,
+ void * value);
+
+
+/*
+ * QTVRReplaceCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRReplaceCursor(
+ QTVRInstance qtvr,
+ QTVRCursorRecord * cursRecord);
+
+
+/*
+ =================================================================================================
+ Viewing Limits and Constraints
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRGetViewingLimits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetViewingLimits(
+ QTVRInstance qtvr,
+ UInt16 kind,
+ float * minValue,
+ float * maxValue);
+
+
+/*
+ * QTVRGetConstraintStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( UInt32 )
+QTVRGetConstraintStatus(QTVRInstance qtvr);
+
+
+/*
+ * QTVRGetConstraints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetConstraints(
+ QTVRInstance qtvr,
+ UInt16 kind,
+ float * minValue,
+ float * maxValue);
+
+
+/*
+ * QTVRSetConstraints()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetConstraints(
+ QTVRInstance qtvr,
+ UInt16 kind,
+ float minValue,
+ float maxValue);
+
+
+
+/*
+ =================================================================================================
+ Back Buffer Memory Management
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRGetAvailableResolutions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetAvailableResolutions(
+ QTVRInstance qtvr,
+ UInt16 * resolutionsMask);
+
+
+/* These require QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
+/*
+ * QTVRGetBackBufferMemInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetBackBufferMemInfo(
+ QTVRInstance qtvr,
+ UInt32 geometry,
+ UInt16 resolution,
+ UInt32 cachePixelFormat,
+ SInt32 * minCacheBytes,
+ SInt32 * suggestedCacheBytes,
+ SInt32 * fullCacheBytes);
+
+
+/*
+ * QTVRGetBackBufferSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRGetBackBufferSettings(
+ QTVRInstance qtvr,
+ UInt32 * geometry,
+ UInt16 * resolution,
+ UInt32 * cachePixelFormat,
+ SInt16 * cacheSize);
+
+
+/*
+ * QTVRSetBackBufferPrefs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetBackBufferPrefs(
+ QTVRInstance qtvr,
+ UInt32 geometry,
+ UInt16 resolution,
+ UInt32 cachePixelFormat,
+ SInt16 cacheSize);
+
+
+/*
+ =================================================================================================
+ Buffer Access
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * QTVRSetPrescreenImagingCompleteProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetPrescreenImagingCompleteProc(
+ QTVRInstance qtvr,
+ QTVRImagingCompleteUPP imagingCompleteProc,
+ SInt32 refCon,
+ UInt32 flags);
+
+
+/*
+ * QTVRSetBackBufferImagingProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRSetBackBufferImagingProc(
+ QTVRInstance qtvr,
+ QTVRBackBufferImagingUPP backBufferImagingProc,
+ UInt16 numAreas,
+ QTVRAreaOfInterest areasOfInterest[],
+ SInt32 refCon);
+
+
+/*
+ * QTVRRefreshBackBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ * Windows: in QTVR.lib 2.1 and later
+ */
+EXTERN_API_C( OSErr )
+QTVRRefreshBackBuffer(
+ QTVRInstance qtvr,
+ UInt32 flags);
+
+
+
+
+/*
+ =================================================================================================
+ Old Names
+ -------------------------------------------------------------------------------------------------
+*/
#if OLDROUTINENAMES
- typedef QTVRCursorRecord CursorRecord;
- typedef QTVRAreaOfInterest AreaOfInterest;
- typedef QTVRFloatPoint FloatPoint;
- typedef QTVRLeavingNodeProcPtr LeavingNodeProcPtr;
- typedef QTVRLeavingNodeUPP LeavingNodeUPP;
- typedef QTVREnteringNodeProcPtr EnteringNodeProcPtr;
- typedef QTVREnteringNodeUPP EnteringNodeUPP;
- typedef QTVRMouseOverHotSpotProcPtr MouseOverHotSpotProcPtr;
- typedef QTVRMouseOverHotSpotUPP MouseOverHotSpotUPP;
- typedef QTVRImagingCompleteProcPtr ImagingCompleteProcPtr;
- typedef QTVRImagingCompleteUPP ImagingCompleteUPP;
- typedef QTVRBackBufferImagingProcPtr BackBufferImagingProcPtr;
- typedef QTVRBackBufferImagingUPP BackBufferImagingUPP;
+typedef QTVRCursorRecord CursorRecord;
+typedef QTVRAreaOfInterest AreaOfInterest;
+typedef QTVRFloatPoint FloatPoint;
+typedef QTVRLeavingNodeProcPtr LeavingNodeProcPtr;
+typedef QTVRLeavingNodeUPP LeavingNodeUPP;
+typedef QTVREnteringNodeProcPtr EnteringNodeProcPtr;
+typedef QTVREnteringNodeUPP EnteringNodeUPP;
+typedef QTVRMouseOverHotSpotProcPtr MouseOverHotSpotProcPtr;
+typedef QTVRMouseOverHotSpotUPP MouseOverHotSpotUPP;
+typedef QTVRImagingCompleteProcPtr ImagingCompleteProcPtr;
+typedef QTVRImagingCompleteUPP ImagingCompleteUPP;
+typedef QTVRBackBufferImagingProcPtr BackBufferImagingProcPtr;
+typedef QTVRBackBufferImagingUPP BackBufferImagingUPP;
#endif /* OLDROUTINENAMES */
@@ -2531,11 +2438,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QuickTimeVRFormat.h b/include/qt/QuickTimeVRFormat.h
index 8867ec6ff..ac71ed8cd 100644
--- a/include/qt/QuickTimeVRFormat.h
+++ b/include/qt/QuickTimeVRFormat.h
@@ -1,17 +1,17 @@
/*
File: QuickTimeVRFormat.h
-
+
Contains: QuickTime VR interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2007 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 __QUICKTIMEVRFORMAT__
#define __QUICKTIMEVRFORMAT__
@@ -44,503 +44,471 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickTime is not available to 64-bit clients */
+/* QuickTime is not available to 64-bit clients */
#if !__LP64__
- /* File Format Version numbers */
+/* File Format Version numbers */
#define kQTVRMajorVersion (2)
#define kQTVRMinorVersion (0)
- /* User data type for the Movie Controller type specifier*/
- enum {
- kQTControllerType = kQTVRControllerSubType, /* Atom & ID of where our*/
- kQTControllerID = 1 /* ...controller name is stored*/
- };
-
- /* VRWorld atom types*/
- enum
- {
- kQTVRWorldHeaderAtomType = FOUR_CHAR_CODE('vrsc'),
- kQTVRImagingParentAtomType = FOUR_CHAR_CODE('imgp'),
- kQTVRPanoImagingAtomType = FOUR_CHAR_CODE('impn'),
- kQTVRObjectImagingAtomType = FOUR_CHAR_CODE('imob'),
- kQTVRNodeParentAtomType = FOUR_CHAR_CODE('vrnp'),
- kQTVRNodeIDAtomType = FOUR_CHAR_CODE('vrni'),
- kQTVRNodeLocationAtomType = FOUR_CHAR_CODE('nloc'),
- kQTVRCursorParentAtomType = FOUR_CHAR_CODE('vrcp'), /* New with 2.1*/
- kQTVRCursorAtomType = FOUR_CHAR_CODE('CURS'), /* New with 2.1*/
- kQTVRColorCursorAtomType = FOUR_CHAR_CODE('crsr') /* New with 2.1*/
- };
-
- /* NodeInfo atom types*/
- enum
- {
- kQTVRNodeHeaderAtomType = FOUR_CHAR_CODE('ndhd'),
- kQTVRHotSpotParentAtomType = FOUR_CHAR_CODE('hspa'),
- kQTVRHotSpotAtomType = FOUR_CHAR_CODE('hots'),
- kQTVRHotSpotInfoAtomType = FOUR_CHAR_CODE('hsin'),
- kQTVRLinkInfoAtomType = FOUR_CHAR_CODE('link')
- };
-
- /* Miscellaneous atom types*/
- enum
- {
- kQTVRStringAtomType = FOUR_CHAR_CODE('vrsg'),
- kQTVRStringEncodingAtomType = FOUR_CHAR_CODE('vrse'), /* New with 2.1*/
- kQTVRPanoSampleDataAtomType = FOUR_CHAR_CODE('pdat'),
- kQTVRObjectInfoAtomType = FOUR_CHAR_CODE('obji'),
- kQTVRImageTrackRefAtomType = FOUR_CHAR_CODE('imtr'), /* Parent is kQTVRObjectInfoAtomType. Required if track ref is not 1 as required by 2.0 format.*/
- kQTVRHotSpotTrackRefAtomType = FOUR_CHAR_CODE('hstr'), /* Parent is kQTVRObjectInfoAtomType. Required if track ref is not 1 as required by 2.0 format.*/
- kQTVRAngleRangeAtomType = FOUR_CHAR_CODE('arng'),
- kQTVRTrackRefArrayAtomType = FOUR_CHAR_CODE('tref'),
- kQTVRPanConstraintAtomType = FOUR_CHAR_CODE('pcon'),
- kQTVRTiltConstraintAtomType = FOUR_CHAR_CODE('tcon'),
- kQTVRFOVConstraintAtomType = FOUR_CHAR_CODE('fcon'),
- kQTVRCubicViewAtomType = FOUR_CHAR_CODE('cuvw'), /* New with 5.0*/
- kQTVRCubicFaceDataAtomType = FOUR_CHAR_CODE('cufa') /* New with 5.0*/
- };
-
- enum
- {
- kQTVRObjectInfoAtomID = 1,
- kQTVRObjectImageTrackRefAtomID = 1, /* New with 2.1, it adds a track reference to select between multiple image tracks*/
- kQTVRObjectHotSpotTrackRefAtomID = 1 /* New with 2.1, it adds a track reference to select between multiple hotspot tracks*/
- };
-
- /* Track reference types*/
- enum
- {
- kQTVRImageTrackRefType = FOUR_CHAR_CODE('imgt'),
- kQTVRHotSpotTrackRefType = FOUR_CHAR_CODE('hott')
- };
-
- /* Old hot spot types*/
- enum
- {
- kQTVRHotSpotNavigableType = FOUR_CHAR_CODE('navg')
- };
-
- /* Valid bits used in QTVRLinkHotSpotAtom*/
- enum
- {
- kQTVRValidPan = 1L << 0,
- kQTVRValidTilt = 1L << 1,
- kQTVRValidFOV = 1L << 2,
- kQTVRValidViewCenter = 1L << 3
- };
-
-
- /* Values for flags field in QTVRPanoSampleAtom*/
- enum
- {
- kQTVRPanoFlagHorizontal = 1L << 0,
- kQTVRPanoFlagLast = 1L << 31
- };
-
-
- /* Values for locationFlags field in QTVRNodeLocationAtom*/
- enum
- {
- kQTVRSameFile = 0
- };
-
-
- /* Header for QTVR track's Sample Description record (vrWorld atom container is appended)*/
- struct QTVRSampleDescription
- {
- UInt32 descSize; /* total size of the QTVRSampleDescription*/
- UInt32 descType; /* must be 'qtvr'*/
-
- UInt32 reserved1; /* must be zero*/
- UInt16 reserved2; /* must be zero*/
- UInt16 dataRefIndex; /* must be zero*/
-
- UInt32 data; /* Will be extended to hold vrWorld QTAtomContainer*/
-
- };
- typedef struct QTVRSampleDescription QTVRSampleDescription;
- typedef QTVRSampleDescription * QTVRSampleDescriptionPtr;
- typedef QTVRSampleDescriptionPtr * QTVRSampleDescriptionHandle;
- /*
- =================================================================================================
- Definitions and structures used in the VRWorld QTAtomContainer
- -------------------------------------------------------------------------------------------------
- */
-
- struct QTVRStringAtom
- {
- UInt16 stringUsage;
- UInt16 stringLength;
- unsigned char theString[4]; /* field previously named "string"*/
- };
- typedef struct QTVRStringAtom QTVRStringAtom;
- typedef QTVRStringAtom * QTVRStringAtomPtr;
-
- struct QTVRWorldHeaderAtom
- {
- UInt16 majorVersion;
- UInt16 minorVersion;
-
- QTAtomID nameAtomID;
- UInt32 defaultNodeID;
- UInt32 vrWorldFlags;
-
- UInt32 reserved1;
- UInt32 reserved2;
- };
- typedef struct QTVRWorldHeaderAtom QTVRWorldHeaderAtom;
- typedef QTVRWorldHeaderAtom * QTVRWorldHeaderAtomPtr;
-
- /* Valid bits used in QTVRPanoImagingAtom*/
- enum
- {
- kQTVRValidCorrection = 1L << 0,
- kQTVRValidQuality = 1L << 1,
- kQTVRValidDirectDraw = 1L << 2,
- kQTVRValidFirstExtraProperty = 1L << 3
- };
-
- struct QTVRPanoImagingAtom
- {
- UInt16 majorVersion;
- UInt16 minorVersion;
-
- UInt32 imagingMode;
- UInt32 imagingValidFlags;
-
- UInt32 correction;
- UInt32 quality;
- UInt32 directDraw;
- UInt32 imagingProperties[6]; /* for future properties*/
-
- UInt32 reserved1;
- UInt32 reserved2;
- };
- typedef struct QTVRPanoImagingAtom QTVRPanoImagingAtom;
- typedef QTVRPanoImagingAtom * QTVRPanoImagingAtomPtr;
- struct QTVRNodeLocationAtom
- {
- UInt16 majorVersion;
- UInt16 minorVersion;
-
- OSType nodeType;
- UInt32 locationFlags;
- UInt32 locationData;
-
- UInt32 reserved1;
- UInt32 reserved2;
- };
- typedef struct QTVRNodeLocationAtom QTVRNodeLocationAtom;
- typedef QTVRNodeLocationAtom * QTVRNodeLocationAtomPtr;
- /*
- =================================================================================================
- Definitions and structures used in the Nodeinfo QTAtomContainer
- -------------------------------------------------------------------------------------------------
- */
-
- struct QTVRNodeHeaderAtom
- {
- UInt16 majorVersion;
- UInt16 minorVersion;
-
- OSType nodeType;
- QTAtomID nodeID;
- QTAtomID nameAtomID;
- QTAtomID commentAtomID;
-
- UInt32 reserved1;
- UInt32 reserved2;
- };
- typedef struct QTVRNodeHeaderAtom QTVRNodeHeaderAtom;
- typedef QTVRNodeHeaderAtom * QTVRNodeHeaderAtomPtr;
- struct QTVRAngleRangeAtom
- {
- Float32 minimumAngle;
- Float32 maximumAngle;
- };
- typedef struct QTVRAngleRangeAtom QTVRAngleRangeAtom;
- typedef QTVRAngleRangeAtom * QTVRAngleRangeAtomPtr;
- struct QTVRHotSpotInfoAtom
- {
- UInt16 majorVersion;
- UInt16 minorVersion;
-
- OSType hotSpotType;
- QTAtomID nameAtomID;
- QTAtomID commentAtomID;
-
- SInt32 cursorID[3];
-
- /* canonical view for this hot spot*/
- Float32 bestPan;
- Float32 bestTilt;
- Float32 bestFOV;
- QTVRFloatPoint bestViewCenter;
-
- /* Bounding box for this hot spot*/
- Rect hotSpotRect;
-
- UInt32 flags;
- UInt32 reserved1;
- UInt32 reserved2;
- };
- typedef struct QTVRHotSpotInfoAtom QTVRHotSpotInfoAtom;
- typedef QTVRHotSpotInfoAtom * QTVRHotSpotInfoAtomPtr;
- struct QTVRLinkHotSpotAtom
- {
- UInt16 majorVersion;
- UInt16 minorVersion;
-
- UInt32 toNodeID;
-
- UInt32 fromValidFlags;
- Float32 fromPan;
- Float32 fromTilt;
- Float32 fromFOV;
- QTVRFloatPoint fromViewCenter;
-
- UInt32 toValidFlags;
- Float32 toPan;
- Float32 toTilt;
- Float32 toFOV;
- QTVRFloatPoint toViewCenter;
-
- Float32 distance;
-
- UInt32 flags;
- UInt32 reserved1;
- UInt32 reserved2;
- };
- typedef struct QTVRLinkHotSpotAtom QTVRLinkHotSpotAtom;
- typedef QTVRLinkHotSpotAtom * QTVRLinkHotSpotAtomPtr;
- /*
- =================================================================================================
- Definitions and structures used in Panorama and Object tracks
- -------------------------------------------------------------------------------------------------
- */
-
- struct QTVRPanoSampleAtom
- {
- UInt16 majorVersion;
- UInt16 minorVersion;
-
- UInt32 imageRefTrackIndex; /* track reference index of the full res image track*/
- UInt32 hotSpotRefTrackIndex; /* track reference index of the full res hot spot track*/
-
- Float32 minPan;
- Float32 maxPan;
- Float32 minTilt;
- Float32 maxTilt;
- Float32 minFieldOfView;
- Float32 maxFieldOfView;
-
- Float32 defaultPan;
- Float32 defaultTilt;
- Float32 defaultFieldOfView;
-
- /* Info for highest res version of image track*/
- UInt32 imageSizeX; /* pixel width of the panorama (e.g. 768)*/
- UInt32 imageSizeY; /* pixel height of the panorama (e.g. 2496)*/
- UInt16 imageNumFramesX; /* diced frames wide (e.g. 1)*/
- UInt16 imageNumFramesY; /* diced frames high (e.g. 24)*/
-
- /* Info for highest res version of hotSpot track*/
- UInt32 hotSpotSizeX; /* pixel width of the hot spot panorama (e.g. 768)*/
- UInt32 hotSpotSizeY; /* pixel height of the hot spot panorama (e.g. 2496)*/
- UInt16 hotSpotNumFramesX; /* diced frames wide (e.g. 1)*/
- UInt16 hotSpotNumFramesY; /* diced frames high (e.g. 24)*/
-
- UInt32 flags;
- OSType panoType;
- UInt32 reserved2;
-
- };
- typedef struct QTVRPanoSampleAtom QTVRPanoSampleAtom;
- typedef QTVRPanoSampleAtom * QTVRPanoSampleAtomPtr;
- /*
- View atom for cubes (since same fields in QTVRPanoSampleAtom are set to special
- values for backwards compatibility and hence are ignored by the cubic engine)
- */
- struct QTVRCubicViewAtom
- {
- Float32 minPan;
- Float32 maxPan;
- Float32 minTilt;
- Float32 maxTilt;
- Float32 minFieldOfView;
- Float32 maxFieldOfView;
-
- Float32 defaultPan;
- Float32 defaultTilt;
- Float32 defaultFieldOfView;
- };
- typedef struct QTVRCubicViewAtom QTVRCubicViewAtom;
- typedef QTVRCubicViewAtom * QTVRCubicViewAtomPtr;
- struct QTVRCubicFaceData
- {
- Float32 orientation[4]; /* WXYZ quaternion of absolute orientation*/
- Float32 center[2]; /* Center of image relative to center of projection (default = (0,0)) in normalized units*/
- Float32 aspect; /* aspect>1 => tall pixels; aspect <1 => squat pixels (default = 1)*/
- Float32 skew; /* skew x by y (default = 0)*/
- };
- typedef struct QTVRCubicFaceData QTVRCubicFaceData;
- typedef QTVRCubicFaceData * QTVRCubicFaceDataPtr;
- /* Special resolution values for the Image Track Reference Atoms. Use only one value per track reference.*/
- enum
- {
- kQTVRFullTrackRes = kQTVRFullRes,
- kQTVRHalfTrackRes = kQTVRHalfRes,
- kQTVRQuarterTrackRes = kQTVRQuarterRes,
- kQTVRPreviewTrackRes = 0x8000
- };
-
- struct QTVRTrackRefEntry
- {
- UInt32 trackRefType;
- UInt16 trackResolution;
- UInt32 trackRefIndex;
- };
- typedef struct QTVRTrackRefEntry QTVRTrackRefEntry;
- /*
- =================================================================================================
- Object File format 2.0
- -------------------------------------------------------------------------------------------------
- */
- enum
- {
- kQTVRObjectAnimateViewFramesOn = (1L << 0),
- kQTVRObjectPalindromeViewFramesOn = (1L << 1),
- kQTVRObjectStartFirstViewFrameOn = (1L << 2),
- kQTVRObjectAnimateViewsOn = (1L << 3),
- kQTVRObjectPalindromeViewsOn = (1L << 4),
- kQTVRObjectSyncViewToFrameRate = (1L << 5),
- kQTVRObjectDontLoopViewFramesOn = (1L << 6),
- kQTVRObjectPlayEveryViewFrameOn = (1L << 7),
- kQTVRObjectStreamingViewsOn = (1L << 8)
- };
-
- enum
- {
- kQTVRObjectWrapPanOn = (1L << 0),
- kQTVRObjectWrapTiltOn = (1L << 1),
- kQTVRObjectCanZoomOn = (1L << 2),
- kQTVRObjectReverseHControlOn = (1L << 3),
- kQTVRObjectReverseVControlOn = (1L << 4),
- kQTVRObjectSwapHVControlOn = (1L << 5),
- kQTVRObjectTranslationOn = (1L << 6)
- };
-
- enum
- {
- kGrabberScrollerUI = 1, /* "Object" */
- kOldJoyStickUI = 2, /* "1.0 Object as Scene" */
- kJoystickUI = 3, /* "Object In Scene"*/
- kGrabberUI = 4, /* "Grabber only"*/
- kAbsoluteUI = 5 /* "Absolute pointer"*/
- };
-
-
- struct QTVRObjectSampleAtom
- {
- UInt16 majorVersion; /* kQTVRMajorVersion*/
- UInt16 minorVersion; /* kQTVRMinorVersion*/
- UInt16 movieType; /* ObjectUITypes*/
- UInt16 viewStateCount; /* The number of view states 1 based*/
- UInt16 defaultViewState; /* The default view state number. The number must be 1 to viewStateCount*/
- UInt16 mouseDownViewState; /* The mouse down view state. The number must be 1 to viewStateCount*/
- UInt32 viewDuration; /* The duration of each view including all animation frames in a view*/
- UInt32 columns; /* Number of columns in movie*/
- UInt32 rows; /* Number rows in movie*/
- Float32 mouseMotionScale; /* 180.0 for kStandardObject or kQTVRObjectInScene, actual degrees for kOldNavigableMovieScene.*/
- Float32 minPan; /* Start horizontal pan angle in degrees*/
- Float32 maxPan; /* End horizontal pan angle in degrees*/
- Float32 defaultPan; /* Initial horizontal pan angle in degrees (poster view)*/
- Float32 minTilt; /* Start vertical pan angle in degrees*/
- Float32 maxTilt; /* End vertical pan angle in degrees*/
- Float32 defaultTilt; /* Initial vertical pan angle in degrees (poster view) */
- Float32 minFieldOfView; /* minimum field of view setting (appears as the maximum zoom effect) must be >= 1*/
- Float32 fieldOfView; /* the field of view range must be >= 1*/
- Float32 defaultFieldOfView; /* must be in minFieldOfView and maxFieldOfView range inclusive*/
- Float32 defaultViewCenterH;
- Float32 defaultViewCenterV;
-
- Float32 viewRate;
- Float32 frameRate;
- UInt32 animationSettings; /* 32 reserved bit fields*/
- UInt32 controlSettings; /* 32 reserved bit fields*/
-
- };
- typedef struct QTVRObjectSampleAtom QTVRObjectSampleAtom;
- typedef QTVRObjectSampleAtom * QTVRObjectSampleAtomPtr;
- /*
- =================================================================================================
- QuickTime VR Authoring Components
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- ComponentDescription constants for QTVR Export components
- (componentType = MovieExportType; componentSubType = MovieFileType)
- */
- enum
- {
- kQTVRFlattenerManufacturer = FOUR_CHAR_CODE('vrwe'), /* aka QTVRFlattenerType*/
- kQTVRSplitterManufacturer = FOUR_CHAR_CODE('vrsp'),
- kQTVRObjExporterManufacturer = FOUR_CHAR_CODE('vrob')
- };
-
- /* QuickTime VR Flattener atom types*/
- enum
- {
- kQTVRFlattenerSettingsParentAtomType = FOUR_CHAR_CODE('VRWe'), /* parent of settings atoms (other than compression)*/
- kQTVRFlattenerPreviewResAtomType = FOUR_CHAR_CODE('PRes'), /* preview resolution Int16*/
- kQTVRFlattenerImportSpecAtomType = FOUR_CHAR_CODE('ISpe'), /* import file spec FSSpec*/
- kQTVRFlattenerCreatePreviewAtomType = FOUR_CHAR_CODE('Prev'), /* Boolean*/
- kQTVRFlattenerImportPreviewAtomType = FOUR_CHAR_CODE('IPre'), /* Boolean*/
- kQTVRFlattenerBlurPreviewAtomType = FOUR_CHAR_CODE('Blur') /* Boolean*/
- };
-
- /* QuickTime VR Splitter atom types*/
- enum
- {
- kQTVRSplitterSettingsParentAtomType = FOUR_CHAR_CODE('VRSp'), /* parent of settings atoms (other than compression)*/
- kQTVRSplitterGenerateHTMLAtomType = FOUR_CHAR_CODE('Ghtm'), /* Boolean*/
- kQTVRSplitterOverwriteFilesAtomType = FOUR_CHAR_CODE('Owfi'), /* Boolean*/
- kQTVRSplitterUseFlattenerAtomType = FOUR_CHAR_CODE('Usef'), /* Boolean*/
- kQTVRSplitterShowControllerAtomType = FOUR_CHAR_CODE('Shco'), /* Boolean*/
- kQTVRSplitterTargetMyselfAtomType = FOUR_CHAR_CODE('Tgtm') /* Boolean*/
- };
-
- /* QuickTime VR Object Exporter atom types*/
- enum
- {
- kQTVRObjExporterSettingsBlockSize = FOUR_CHAR_CODE('bsiz'), /* block size for compression*/
- kQTVRObjExporterSettingsTargetSize = FOUR_CHAR_CODE('tsiz') /* target file size*/
- };
+/* User data type for the Movie Controller type specifier*/
+enum {
+ kQTControllerType = kQTVRControllerSubType, /* Atom & ID of where our*/
+ kQTControllerID = 1 /* ...controller name is stored*/
+};
+
+/* VRWorld atom types*/
+enum {
+ kQTVRWorldHeaderAtomType = FOUR_CHAR_CODE('vrsc'),
+ kQTVRImagingParentAtomType = FOUR_CHAR_CODE('imgp'),
+ kQTVRPanoImagingAtomType = FOUR_CHAR_CODE('impn'),
+ kQTVRObjectImagingAtomType = FOUR_CHAR_CODE('imob'),
+ kQTVRNodeParentAtomType = FOUR_CHAR_CODE('vrnp'),
+ kQTVRNodeIDAtomType = FOUR_CHAR_CODE('vrni'),
+ kQTVRNodeLocationAtomType = FOUR_CHAR_CODE('nloc'),
+ kQTVRCursorParentAtomType = FOUR_CHAR_CODE('vrcp'), /* New with 2.1*/
+ kQTVRCursorAtomType = FOUR_CHAR_CODE('CURS'), /* New with 2.1*/
+ kQTVRColorCursorAtomType = FOUR_CHAR_CODE('crsr') /* New with 2.1*/
+};
+
+/* NodeInfo atom types*/
+enum {
+ kQTVRNodeHeaderAtomType = FOUR_CHAR_CODE('ndhd'),
+ kQTVRHotSpotParentAtomType = FOUR_CHAR_CODE('hspa'),
+ kQTVRHotSpotAtomType = FOUR_CHAR_CODE('hots'),
+ kQTVRHotSpotInfoAtomType = FOUR_CHAR_CODE('hsin'),
+ kQTVRLinkInfoAtomType = FOUR_CHAR_CODE('link')
+};
+
+/* Miscellaneous atom types*/
+enum {
+ kQTVRStringAtomType = FOUR_CHAR_CODE('vrsg'),
+ kQTVRStringEncodingAtomType = FOUR_CHAR_CODE('vrse'), /* New with 2.1*/
+ kQTVRPanoSampleDataAtomType = FOUR_CHAR_CODE('pdat'),
+ kQTVRObjectInfoAtomType = FOUR_CHAR_CODE('obji'),
+ kQTVRImageTrackRefAtomType = FOUR_CHAR_CODE('imtr'), /* Parent is kQTVRObjectInfoAtomType. Required if track ref is not 1 as required by 2.0 format.*/
+ kQTVRHotSpotTrackRefAtomType = FOUR_CHAR_CODE('hstr'), /* Parent is kQTVRObjectInfoAtomType. Required if track ref is not 1 as required by 2.0 format.*/
+ kQTVRAngleRangeAtomType = FOUR_CHAR_CODE('arng'),
+ kQTVRTrackRefArrayAtomType = FOUR_CHAR_CODE('tref'),
+ kQTVRPanConstraintAtomType = FOUR_CHAR_CODE('pcon'),
+ kQTVRTiltConstraintAtomType = FOUR_CHAR_CODE('tcon'),
+ kQTVRFOVConstraintAtomType = FOUR_CHAR_CODE('fcon'),
+ kQTVRCubicViewAtomType = FOUR_CHAR_CODE('cuvw'), /* New with 5.0*/
+ kQTVRCubicFaceDataAtomType = FOUR_CHAR_CODE('cufa') /* New with 5.0*/
+};
+
+enum {
+ kQTVRObjectInfoAtomID = 1,
+ kQTVRObjectImageTrackRefAtomID = 1, /* New with 2.1, it adds a track reference to select between multiple image tracks*/
+ kQTVRObjectHotSpotTrackRefAtomID = 1 /* New with 2.1, it adds a track reference to select between multiple hotspot tracks*/
+};
+
+/* Track reference types*/
+enum {
+ kQTVRImageTrackRefType = FOUR_CHAR_CODE('imgt'),
+ kQTVRHotSpotTrackRefType = FOUR_CHAR_CODE('hott')
+};
+
+/* Old hot spot types*/
+enum {
+ kQTVRHotSpotNavigableType = FOUR_CHAR_CODE('navg')
+};
+
+/* Valid bits used in QTVRLinkHotSpotAtom*/
+enum {
+ kQTVRValidPan = 1L << 0,
+ kQTVRValidTilt = 1L << 1,
+ kQTVRValidFOV = 1L << 2,
+ kQTVRValidViewCenter = 1L << 3
+};
+
+
+/* Values for flags field in QTVRPanoSampleAtom*/
+enum {
+ kQTVRPanoFlagHorizontal = 1L << 0,
+ kQTVRPanoFlagLast = 1L << 31
+};
+
+
+/* Values for locationFlags field in QTVRNodeLocationAtom*/
+enum {
+ kQTVRSameFile = 0
+};
+
+
+/* Header for QTVR track's Sample Description record (vrWorld atom container is appended)*/
+struct QTVRSampleDescription {
+ UInt32 descSize; /* total size of the QTVRSampleDescription*/
+ UInt32 descType; /* must be 'qtvr'*/
+
+ UInt32 reserved1; /* must be zero*/
+ UInt16 reserved2; /* must be zero*/
+ UInt16 dataRefIndex; /* must be zero*/
+
+ UInt32 data; /* Will be extended to hold vrWorld QTAtomContainer*/
+
+};
+typedef struct QTVRSampleDescription QTVRSampleDescription;
+typedef QTVRSampleDescription * QTVRSampleDescriptionPtr;
+typedef QTVRSampleDescriptionPtr * QTVRSampleDescriptionHandle;
+/*
+ =================================================================================================
+ Definitions and structures used in the VRWorld QTAtomContainer
+ -------------------------------------------------------------------------------------------------
+*/
+
+struct QTVRStringAtom {
+ UInt16 stringUsage;
+ UInt16 stringLength;
+ unsigned char theString[4]; /* field previously named "string"*/
+};
+typedef struct QTVRStringAtom QTVRStringAtom;
+typedef QTVRStringAtom * QTVRStringAtomPtr;
+
+struct QTVRWorldHeaderAtom {
+ UInt16 majorVersion;
+ UInt16 minorVersion;
+
+ QTAtomID nameAtomID;
+ UInt32 defaultNodeID;
+ UInt32 vrWorldFlags;
+
+ UInt32 reserved1;
+ UInt32 reserved2;
+};
+typedef struct QTVRWorldHeaderAtom QTVRWorldHeaderAtom;
+typedef QTVRWorldHeaderAtom * QTVRWorldHeaderAtomPtr;
+
+/* Valid bits used in QTVRPanoImagingAtom*/
+enum {
+ kQTVRValidCorrection = 1L << 0,
+ kQTVRValidQuality = 1L << 1,
+ kQTVRValidDirectDraw = 1L << 2,
+ kQTVRValidFirstExtraProperty = 1L << 3
+};
+
+struct QTVRPanoImagingAtom {
+ UInt16 majorVersion;
+ UInt16 minorVersion;
+
+ UInt32 imagingMode;
+ UInt32 imagingValidFlags;
+
+ UInt32 correction;
+ UInt32 quality;
+ UInt32 directDraw;
+ UInt32 imagingProperties[6]; /* for future properties*/
+
+ UInt32 reserved1;
+ UInt32 reserved2;
+};
+typedef struct QTVRPanoImagingAtom QTVRPanoImagingAtom;
+typedef QTVRPanoImagingAtom * QTVRPanoImagingAtomPtr;
+struct QTVRNodeLocationAtom {
+ UInt16 majorVersion;
+ UInt16 minorVersion;
+
+ OSType nodeType;
+ UInt32 locationFlags;
+ UInt32 locationData;
+
+ UInt32 reserved1;
+ UInt32 reserved2;
+};
+typedef struct QTVRNodeLocationAtom QTVRNodeLocationAtom;
+typedef QTVRNodeLocationAtom * QTVRNodeLocationAtomPtr;
+/*
+ =================================================================================================
+ Definitions and structures used in the Nodeinfo QTAtomContainer
+ -------------------------------------------------------------------------------------------------
+*/
+
+struct QTVRNodeHeaderAtom {
+ UInt16 majorVersion;
+ UInt16 minorVersion;
+
+ OSType nodeType;
+ QTAtomID nodeID;
+ QTAtomID nameAtomID;
+ QTAtomID commentAtomID;
+
+ UInt32 reserved1;
+ UInt32 reserved2;
+};
+typedef struct QTVRNodeHeaderAtom QTVRNodeHeaderAtom;
+typedef QTVRNodeHeaderAtom * QTVRNodeHeaderAtomPtr;
+struct QTVRAngleRangeAtom {
+ Float32 minimumAngle;
+ Float32 maximumAngle;
+};
+typedef struct QTVRAngleRangeAtom QTVRAngleRangeAtom;
+typedef QTVRAngleRangeAtom * QTVRAngleRangeAtomPtr;
+struct QTVRHotSpotInfoAtom {
+ UInt16 majorVersion;
+ UInt16 minorVersion;
+
+ OSType hotSpotType;
+ QTAtomID nameAtomID;
+ QTAtomID commentAtomID;
+
+ SInt32 cursorID[3];
+
+ /* canonical view for this hot spot*/
+ Float32 bestPan;
+ Float32 bestTilt;
+ Float32 bestFOV;
+ QTVRFloatPoint bestViewCenter;
+
+ /* Bounding box for this hot spot*/
+ Rect hotSpotRect;
+
+ UInt32 flags;
+ UInt32 reserved1;
+ UInt32 reserved2;
+};
+typedef struct QTVRHotSpotInfoAtom QTVRHotSpotInfoAtom;
+typedef QTVRHotSpotInfoAtom * QTVRHotSpotInfoAtomPtr;
+struct QTVRLinkHotSpotAtom {
+ UInt16 majorVersion;
+ UInt16 minorVersion;
+
+ UInt32 toNodeID;
+
+ UInt32 fromValidFlags;
+ Float32 fromPan;
+ Float32 fromTilt;
+ Float32 fromFOV;
+ QTVRFloatPoint fromViewCenter;
+
+ UInt32 toValidFlags;
+ Float32 toPan;
+ Float32 toTilt;
+ Float32 toFOV;
+ QTVRFloatPoint toViewCenter;
+
+ Float32 distance;
+
+ UInt32 flags;
+ UInt32 reserved1;
+ UInt32 reserved2;
+};
+typedef struct QTVRLinkHotSpotAtom QTVRLinkHotSpotAtom;
+typedef QTVRLinkHotSpotAtom * QTVRLinkHotSpotAtomPtr;
+/*
+ =================================================================================================
+ Definitions and structures used in Panorama and Object tracks
+ -------------------------------------------------------------------------------------------------
+*/
+
+struct QTVRPanoSampleAtom {
+ UInt16 majorVersion;
+ UInt16 minorVersion;
+
+ UInt32 imageRefTrackIndex; /* track reference index of the full res image track*/
+ UInt32 hotSpotRefTrackIndex; /* track reference index of the full res hot spot track*/
+
+ Float32 minPan;
+ Float32 maxPan;
+ Float32 minTilt;
+ Float32 maxTilt;
+ Float32 minFieldOfView;
+ Float32 maxFieldOfView;
+
+ Float32 defaultPan;
+ Float32 defaultTilt;
+ Float32 defaultFieldOfView;
+
+ /* Info for highest res version of image track*/
+ UInt32 imageSizeX; /* pixel width of the panorama (e.g. 768)*/
+ UInt32 imageSizeY; /* pixel height of the panorama (e.g. 2496)*/
+ UInt16 imageNumFramesX; /* diced frames wide (e.g. 1)*/
+ UInt16 imageNumFramesY; /* diced frames high (e.g. 24)*/
+
+ /* Info for highest res version of hotSpot track*/
+ UInt32 hotSpotSizeX; /* pixel width of the hot spot panorama (e.g. 768)*/
+ UInt32 hotSpotSizeY; /* pixel height of the hot spot panorama (e.g. 2496)*/
+ UInt16 hotSpotNumFramesX; /* diced frames wide (e.g. 1)*/
+ UInt16 hotSpotNumFramesY; /* diced frames high (e.g. 24)*/
+
+ UInt32 flags;
+ OSType panoType;
+ UInt32 reserved2;
+
+};
+typedef struct QTVRPanoSampleAtom QTVRPanoSampleAtom;
+typedef QTVRPanoSampleAtom * QTVRPanoSampleAtomPtr;
+/*
+ View atom for cubes (since same fields in QTVRPanoSampleAtom are set to special
+ values for backwards compatibility and hence are ignored by the cubic engine)
+*/
+struct QTVRCubicViewAtom {
+ Float32 minPan;
+ Float32 maxPan;
+ Float32 minTilt;
+ Float32 maxTilt;
+ Float32 minFieldOfView;
+ Float32 maxFieldOfView;
+
+ Float32 defaultPan;
+ Float32 defaultTilt;
+ Float32 defaultFieldOfView;
+};
+typedef struct QTVRCubicViewAtom QTVRCubicViewAtom;
+typedef QTVRCubicViewAtom * QTVRCubicViewAtomPtr;
+struct QTVRCubicFaceData {
+ Float32 orientation[4]; /* WXYZ quaternion of absolute orientation*/
+ Float32 center[2]; /* Center of image relative to center of projection (default = (0,0)) in normalized units*/
+ Float32 aspect; /* aspect>1 => tall pixels; aspect <1 => squat pixels (default = 1)*/
+ Float32 skew; /* skew x by y (default = 0)*/
+};
+typedef struct QTVRCubicFaceData QTVRCubicFaceData;
+typedef QTVRCubicFaceData * QTVRCubicFaceDataPtr;
+/* Special resolution values for the Image Track Reference Atoms. Use only one value per track reference.*/
+enum {
+ kQTVRFullTrackRes = kQTVRFullRes,
+ kQTVRHalfTrackRes = kQTVRHalfRes,
+ kQTVRQuarterTrackRes = kQTVRQuarterRes,
+ kQTVRPreviewTrackRes = 0x8000
+};
+
+struct QTVRTrackRefEntry {
+ UInt32 trackRefType;
+ UInt16 trackResolution;
+ UInt32 trackRefIndex;
+};
+typedef struct QTVRTrackRefEntry QTVRTrackRefEntry;
+/*
+ =================================================================================================
+ Object File format 2.0
+ -------------------------------------------------------------------------------------------------
+*/
+enum {
+ kQTVRObjectAnimateViewFramesOn = (1L << 0),
+ kQTVRObjectPalindromeViewFramesOn = (1L << 1),
+ kQTVRObjectStartFirstViewFrameOn = (1L << 2),
+ kQTVRObjectAnimateViewsOn = (1L << 3),
+ kQTVRObjectPalindromeViewsOn = (1L << 4),
+ kQTVRObjectSyncViewToFrameRate = (1L << 5),
+ kQTVRObjectDontLoopViewFramesOn = (1L << 6),
+ kQTVRObjectPlayEveryViewFrameOn = (1L << 7),
+ kQTVRObjectStreamingViewsOn = (1L << 8)
+};
+
+enum {
+ kQTVRObjectWrapPanOn = (1L << 0),
+ kQTVRObjectWrapTiltOn = (1L << 1),
+ kQTVRObjectCanZoomOn = (1L << 2),
+ kQTVRObjectReverseHControlOn = (1L << 3),
+ kQTVRObjectReverseVControlOn = (1L << 4),
+ kQTVRObjectSwapHVControlOn = (1L << 5),
+ kQTVRObjectTranslationOn = (1L << 6)
+};
+
+enum {
+ kGrabberScrollerUI = 1, /* "Object" */
+ kOldJoyStickUI = 2, /* "1.0 Object as Scene" */
+ kJoystickUI = 3, /* "Object In Scene"*/
+ kGrabberUI = 4, /* "Grabber only"*/
+ kAbsoluteUI = 5 /* "Absolute pointer"*/
+};
+
+
+struct QTVRObjectSampleAtom {
+ UInt16 majorVersion; /* kQTVRMajorVersion*/
+ UInt16 minorVersion; /* kQTVRMinorVersion*/
+ UInt16 movieType; /* ObjectUITypes*/
+ UInt16 viewStateCount; /* The number of view states 1 based*/
+ UInt16 defaultViewState; /* The default view state number. The number must be 1 to viewStateCount*/
+ UInt16 mouseDownViewState; /* The mouse down view state. The number must be 1 to viewStateCount*/
+ UInt32 viewDuration; /* The duration of each view including all animation frames in a view*/
+ UInt32 columns; /* Number of columns in movie*/
+ UInt32 rows; /* Number rows in movie*/
+ Float32 mouseMotionScale; /* 180.0 for kStandardObject or kQTVRObjectInScene, actual degrees for kOldNavigableMovieScene.*/
+ Float32 minPan; /* Start horizontal pan angle in degrees*/
+ Float32 maxPan; /* End horizontal pan angle in degrees*/
+ Float32 defaultPan; /* Initial horizontal pan angle in degrees (poster view)*/
+ Float32 minTilt; /* Start vertical pan angle in degrees*/
+ Float32 maxTilt; /* End vertical pan angle in degrees*/
+ Float32 defaultTilt; /* Initial vertical pan angle in degrees (poster view) */
+ Float32 minFieldOfView; /* minimum field of view setting (appears as the maximum zoom effect) must be >= 1*/
+ Float32 fieldOfView; /* the field of view range must be >= 1*/
+ Float32 defaultFieldOfView; /* must be in minFieldOfView and maxFieldOfView range inclusive*/
+ Float32 defaultViewCenterH;
+ Float32 defaultViewCenterV;
+
+ Float32 viewRate;
+ Float32 frameRate;
+ UInt32 animationSettings; /* 32 reserved bit fields*/
+ UInt32 controlSettings; /* 32 reserved bit fields*/
+
+};
+typedef struct QTVRObjectSampleAtom QTVRObjectSampleAtom;
+typedef QTVRObjectSampleAtom * QTVRObjectSampleAtomPtr;
+/*
+ =================================================================================================
+ QuickTime VR Authoring Components
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ ComponentDescription constants for QTVR Export components
+ (componentType = MovieExportType; componentSubType = MovieFileType)
+*/
+enum {
+ kQTVRFlattenerManufacturer = FOUR_CHAR_CODE('vrwe'), /* aka QTVRFlattenerType*/
+ kQTVRSplitterManufacturer = FOUR_CHAR_CODE('vrsp'),
+ kQTVRObjExporterManufacturer = FOUR_CHAR_CODE('vrob')
+};
+
+/* QuickTime VR Flattener atom types*/
+enum {
+ kQTVRFlattenerSettingsParentAtomType = FOUR_CHAR_CODE('VRWe'), /* parent of settings atoms (other than compression)*/
+ kQTVRFlattenerPreviewResAtomType = FOUR_CHAR_CODE('PRes'), /* preview resolution Int16*/
+ kQTVRFlattenerImportSpecAtomType = FOUR_CHAR_CODE('ISpe'), /* import file spec FSSpec*/
+ kQTVRFlattenerCreatePreviewAtomType = FOUR_CHAR_CODE('Prev'), /* Boolean*/
+ kQTVRFlattenerImportPreviewAtomType = FOUR_CHAR_CODE('IPre'), /* Boolean*/
+ kQTVRFlattenerBlurPreviewAtomType = FOUR_CHAR_CODE('Blur') /* Boolean*/
+};
+
+/* QuickTime VR Splitter atom types*/
+enum {
+ kQTVRSplitterSettingsParentAtomType = FOUR_CHAR_CODE('VRSp'), /* parent of settings atoms (other than compression)*/
+ kQTVRSplitterGenerateHTMLAtomType = FOUR_CHAR_CODE('Ghtm'), /* Boolean*/
+ kQTVRSplitterOverwriteFilesAtomType = FOUR_CHAR_CODE('Owfi'), /* Boolean*/
+ kQTVRSplitterUseFlattenerAtomType = FOUR_CHAR_CODE('Usef'), /* Boolean*/
+ kQTVRSplitterShowControllerAtomType = FOUR_CHAR_CODE('Shco'), /* Boolean*/
+ kQTVRSplitterTargetMyselfAtomType = FOUR_CHAR_CODE('Tgtm') /* Boolean*/
+};
+
+/* QuickTime VR Object Exporter atom types*/
+enum {
+ kQTVRObjExporterSettingsBlockSize = FOUR_CHAR_CODE('bsiz'), /* block size for compression*/
+ kQTVRObjExporterSettingsTargetSize = FOUR_CHAR_CODE('tsiz') /* target file size*/
+};
#if OLDROUTINENAMES
- typedef QTVRStringAtom VRStringAtom;
- typedef QTVRWorldHeaderAtom VRWorldHeaderAtom;
- typedef QTVRPanoImagingAtom VRPanoImagingAtom;
- typedef QTVRNodeLocationAtom VRNodeLocationAtom;
- typedef QTVRNodeHeaderAtom VRNodeHeaderAtom;
- typedef QTVRAngleRangeAtom VRAngleRangeAtom;
- typedef QTVRHotSpotInfoAtom VRHotSpotInfoAtom;
- typedef QTVRLinkHotSpotAtom VRLinkHotSpotAtom;
- typedef QTVRPanoSampleAtom VRPanoSampleAtom;
- typedef QTVRTrackRefEntry VRTrackRefEntry;
- typedef QTVRObjectSampleAtom VRObjectSampleAtom;
+typedef QTVRStringAtom VRStringAtom;
+typedef QTVRWorldHeaderAtom VRWorldHeaderAtom;
+typedef QTVRPanoImagingAtom VRPanoImagingAtom;
+typedef QTVRNodeLocationAtom VRNodeLocationAtom;
+typedef QTVRNodeHeaderAtom VRNodeHeaderAtom;
+typedef QTVRAngleRangeAtom VRAngleRangeAtom;
+typedef QTVRHotSpotInfoAtom VRHotSpotInfoAtom;
+typedef QTVRLinkHotSpotAtom VRLinkHotSpotAtom;
+typedef QTVRPanoSampleAtom VRPanoSampleAtom;
+typedef QTVRTrackRefEntry VRTrackRefEntry;
+typedef QTVRObjectSampleAtom VRObjectSampleAtom;
#endif /* OLDROUTINENAMES */
@@ -550,11 +518,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Quickdraw.h b/include/qt/Quickdraw.h
index bc28c15e6..8e1551fb3 100644
--- a/include/qt/Quickdraw.h
+++ b/include/qt/Quickdraw.h
@@ -1,17 +1,17 @@
/*
File: Quickdraw.h
-
+
Contains: Interface to Quickdraw Graphics
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2003 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 __QUICKDRAW__
#define __QUICKDRAW__
@@ -51,1783 +51,1582 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- enum {
- invalColReq = -1 /*invalid color table request*/
- };
-
- enum
- {
- /* transfer modes */
- srcCopy = 0, /*the 16 transfer modes*/
- srcOr = 1,
- srcXor = 2,
- srcBic = 3,
- notSrcCopy = 4,
- notSrcOr = 5,
- notSrcXor = 6,
- notSrcBic = 7,
- patCopy = 8,
- patOr = 9,
- patXor = 10,
- patBic = 11,
- notPatCopy = 12,
- notPatOr = 13,
- notPatXor = 14,
- notPatBic = 15, /* Special Text Transfer Mode */
- grayishTextOr = 49,
- hilitetransfermode = 50,
- hilite = 50, /* Arithmetic transfer modes */
- blend = 32,
- addPin = 33,
- addOver = 34,
- subPin = 35,
- addMax = 37,
- adMax = 37,
- subOver = 38,
- adMin = 39,
- ditherCopy = 64, /* Transparent mode constant */
- transparent = 36
- };
-
- enum
- {
- italicBit = 1,
- ulineBit = 2,
- outlineBit = 3,
- shadowBit = 4,
- condenseBit = 5,
- extendBit = 6
- };
-
- enum
- {
- /* QuickDraw color separation constants */
- normalBit = 0, /*normal screen mapping*/
- inverseBit = 1, /*inverse screen mapping*/
- redBit = 4, /*RGB additive mapping*/
- greenBit = 3,
- blueBit = 2,
- cyanBit = 8, /*CMYBk subtractive mapping*/
- magentaBit = 7,
- yellowBit = 6,
- blackBit = 5
- };
-
- enum
- {
- blackColor = 33, /*colors expressed in these mappings*/
- whiteColor = 30,
- redColor = 205,
- greenColor = 341,
- blueColor = 409,
- cyanColor = 273,
- magentaColor = 137,
- yellowColor = 69
- };
-
- enum
- {
- picLParen = 0, /*standard picture comments*/
- picRParen = 1,
- clutType = 0, /*0 if lookup table*/
- fixedType = 1, /*1 if fixed table*/
- directType = 2, /*2 if direct values*/
- gdDevType = 0 /*0 = monochrome 1 = color*/
- };
-
- enum
- {
- interlacedDevice = 2, /* 1 if single pixel lines look bad */
- hwMirroredDevice = 4, /* 1 if device is HW mirrored */
- roundedDevice = 5, /* 1 if device has been "rounded" into the GrayRgn */
- hasAuxMenuBar = 6, /* 1 if device has an aux menu bar on it */
- burstDevice = 7,
- ext32Device = 8,
- ramInit = 10, /*1 if initialized from 'scrn' resource*/
- mainScreen = 11, /* 1 if main screen */
- allInit = 12, /* 1 if all devices initialized */
- screenDevice = 13, /*1 if screen device [not used]*/
- noDriver = 14, /* 1 if no driver for this GDevice */
- screenActive = 15, /*1 if in use*/
- hiliteBit = 7, /*flag bit in LMGet/SetHiliteMode*/
- pHiliteBit = 0, /*flag bit in LMGet/SetHiliteMode when used with BitClr*/
- defQDColors = 127, /*resource ID of clut for default QDColors*/
- /* pixel type */
- RGBDirect = 16, /* 16 & 32 bits/pixel pixelType value */
- /* pmVersion values */
- baseAddr32 = 4 /*pixmap base address is 32-bit address*/
- };
-
-
- enum
- {
- sysPatListID = 0,
- iBeamCursor = 1,
- crossCursor = 2,
- plusCursor = 3,
- watchCursor = 4
- };
-
- enum
- {
- kQDGrafVerbFrame = 0,
- kQDGrafVerbPaint = 1,
- kQDGrafVerbErase = 2,
- kQDGrafVerbInvert = 3,
- kQDGrafVerbFill = 4
- };
+ #pragma pack(2)
+#endif
+
+enum {
+ invalColReq = -1 /*invalid color table request*/
+};
+
+enum {
+ /* transfer modes */
+ srcCopy = 0, /*the 16 transfer modes*/
+ srcOr = 1,
+ srcXor = 2,
+ srcBic = 3,
+ notSrcCopy = 4,
+ notSrcOr = 5,
+ notSrcXor = 6,
+ notSrcBic = 7,
+ patCopy = 8,
+ patOr = 9,
+ patXor = 10,
+ patBic = 11,
+ notPatCopy = 12,
+ notPatOr = 13,
+ notPatXor = 14,
+ notPatBic = 15, /* Special Text Transfer Mode */
+ grayishTextOr = 49,
+ hilitetransfermode = 50,
+ hilite = 50, /* Arithmetic transfer modes */
+ blend = 32,
+ addPin = 33,
+ addOver = 34,
+ subPin = 35,
+ addMax = 37,
+ adMax = 37,
+ subOver = 38,
+ adMin = 39,
+ ditherCopy = 64, /* Transparent mode constant */
+ transparent = 36
+};
+
+enum {
+ italicBit = 1,
+ ulineBit = 2,
+ outlineBit = 3,
+ shadowBit = 4,
+ condenseBit = 5,
+ extendBit = 6
+};
+
+enum {
+ /* QuickDraw color separation constants */
+ normalBit = 0, /*normal screen mapping*/
+ inverseBit = 1, /*inverse screen mapping*/
+ redBit = 4, /*RGB additive mapping*/
+ greenBit = 3,
+ blueBit = 2,
+ cyanBit = 8, /*CMYBk subtractive mapping*/
+ magentaBit = 7,
+ yellowBit = 6,
+ blackBit = 5
+};
+
+enum {
+ blackColor = 33, /*colors expressed in these mappings*/
+ whiteColor = 30,
+ redColor = 205,
+ greenColor = 341,
+ blueColor = 409,
+ cyanColor = 273,
+ magentaColor = 137,
+ yellowColor = 69
+};
+
+enum {
+ picLParen = 0, /*standard picture comments*/
+ picRParen = 1,
+ clutType = 0, /*0 if lookup table*/
+ fixedType = 1, /*1 if fixed table*/
+ directType = 2, /*2 if direct values*/
+ gdDevType = 0 /*0 = monochrome 1 = color*/
+};
+
+enum {
+ interlacedDevice = 2, /* 1 if single pixel lines look bad */
+ hwMirroredDevice = 4, /* 1 if device is HW mirrored */
+ roundedDevice = 5, /* 1 if device has been "rounded" into the GrayRgn */
+ hasAuxMenuBar = 6, /* 1 if device has an aux menu bar on it */
+ burstDevice = 7,
+ ext32Device = 8,
+ ramInit = 10, /*1 if initialized from 'scrn' resource*/
+ mainScreen = 11, /* 1 if main screen */
+ allInit = 12, /* 1 if all devices initialized */
+ screenDevice = 13, /*1 if screen device [not used]*/
+ noDriver = 14, /* 1 if no driver for this GDevice */
+ screenActive = 15, /*1 if in use*/
+ hiliteBit = 7, /*flag bit in LMGet/SetHiliteMode*/
+ pHiliteBit = 0, /*flag bit in LMGet/SetHiliteMode when used with BitClr*/
+ defQDColors = 127, /*resource ID of clut for default QDColors*/
+ /* pixel type */
+ RGBDirect = 16, /* 16 & 32 bits/pixel pixelType value */
+ /* pmVersion values */
+ baseAddr32 = 4 /*pixmap base address is 32-bit address*/
+};
+
+
+enum {
+ sysPatListID = 0,
+ iBeamCursor = 1,
+ crossCursor = 2,
+ plusCursor = 3,
+ watchCursor = 4
+};
+
+enum {
+ kQDGrafVerbFrame = 0,
+ kQDGrafVerbPaint = 1,
+ kQDGrafVerbErase = 2,
+ kQDGrafVerbInvert = 3,
+ kQDGrafVerbFill = 4
+};
#if OLDROUTINENAMES
- enum
- {
- frame = kQDGrafVerbFrame,
- paint = kQDGrafVerbPaint,
- erase = kQDGrafVerbErase,
- invert = kQDGrafVerbInvert,
- fill = kQDGrafVerbFill
- };
+enum {
+ frame = kQDGrafVerbFrame,
+ paint = kQDGrafVerbPaint,
+ erase = kQDGrafVerbErase,
+ invert = kQDGrafVerbInvert,
+ fill = kQDGrafVerbFill
+};
#endif /* OLDROUTINENAMES */
- typedef SInt8 GrafVerb;
- enum
- {
- chunky = 0,
- chunkyPlanar = 1,
- planar = 2
- };
-
- typedef SInt8 PixelType;
- typedef short Bits16[16];
-
- /*************** IMPORTANT NOTE REGARDING Pattern **************************************
- Patterns were originally defined as:
-
- C: typedef unsigned char Pattern[8];
- Pascal: Pattern = PACKED ARRAY [0..7] OF 0..255;
-
- The old array definition of Pattern would cause 68000 based CPU's to crash in certain circum-
- stances. The new struct definition is safe, but may require source code changes to compile.
-
- *********************************************************************************************/
- struct Pattern
- {
- UInt8 pat[8];
- };
- typedef struct Pattern Pattern;
- /*
- ConstPatternParam is no longer needed. It was first created when Pattern was an array.
- Now that Pattern is a struct, it is more straight forward to just add the "const" qualifier
- on the parameter type (e.g. "const Pattern * pat" instead of "ConstPatternParam pat").
- */
- typedef const Pattern * ConstPatternParam;
- typedef Pattern * PatPtr;
- typedef PatPtr * PatHandle;
- typedef SignedByte QDByte;
- typedef QDByte * QDPtr;
- typedef QDPtr * QDHandle;
- typedef short QDErr;
- enum
- {
- singleDevicesBit = 0,
- dontMatchSeedsBit = 1,
- allDevicesBit = 2
- };
-
- enum
- {
- singleDevices = 1 << singleDevicesBit,
- dontMatchSeeds = 1 << dontMatchSeedsBit,
- allDevices = 1 << allDevicesBit
- };
-
- typedef unsigned long DeviceLoopFlags;
- /*
- PrinterStatusOpcode. For communication with downloading and printing services.
- */
- typedef SInt32 PrinterStatusOpcode;
- enum
- {
- kPrinterFontStatus = 0,
- kPrinterScalingStatus = 1
- };
-
- struct PrinterFontStatus
- {
- SInt32 oResult;
- SInt16 iFondID;
- Style iStyle;
- };
- typedef struct PrinterFontStatus PrinterFontStatus;
- struct PrinterScalingStatus
- {
- Point oScalingFactors;
- };
- typedef struct PrinterScalingStatus PrinterScalingStatus;
- struct BitMap
- {
- Ptr baseAddr;
- short rowBytes;
- Rect bounds;
- };
- typedef struct BitMap BitMap;
- typedef BitMap * BitMapPtr;
- typedef BitMapPtr * BitMapHandle;
- struct Cursor
- {
- Bits16 data;
- Bits16 mask;
- Point hotSpot;
- };
- typedef struct Cursor Cursor;
- typedef Cursor * CursPtr;
- typedef CursPtr * CursHandle;
- struct PenState
- {
- Point pnLoc;
- Point pnSize;
- short pnMode;
- Pattern pnPat;
- };
- typedef struct PenState PenState;
+typedef SInt8 GrafVerb;
+enum {
+ chunky = 0,
+ chunkyPlanar = 1,
+ planar = 2
+};
+
+typedef SInt8 PixelType;
+typedef short Bits16[16];
+
+/*************** IMPORTANT NOTE REGARDING Pattern **************************************
+ Patterns were originally defined as:
+
+ C: typedef unsigned char Pattern[8];
+ Pascal: Pattern = PACKED ARRAY [0..7] OF 0..255;
+
+ The old array definition of Pattern would cause 68000 based CPU's to crash in certain circum-
+ stances. The new struct definition is safe, but may require source code changes to compile.
+
+*********************************************************************************************/
+struct Pattern {
+ UInt8 pat[8];
+};
+typedef struct Pattern Pattern;
+/*
+ ConstPatternParam is no longer needed. It was first created when Pattern was an array.
+ Now that Pattern is a struct, it is more straight forward to just add the "const" qualifier
+ on the parameter type (e.g. "const Pattern * pat" instead of "ConstPatternParam pat").
+*/
+typedef const Pattern * ConstPatternParam;
+typedef Pattern * PatPtr;
+typedef PatPtr * PatHandle;
+typedef SignedByte QDByte;
+typedef QDByte * QDPtr;
+typedef QDPtr * QDHandle;
+typedef short QDErr;
+enum {
+ singleDevicesBit = 0,
+ dontMatchSeedsBit = 1,
+ allDevicesBit = 2
+};
+
+enum {
+ singleDevices = 1 << singleDevicesBit,
+ dontMatchSeeds = 1 << dontMatchSeedsBit,
+ allDevices = 1 << allDevicesBit
+};
+
+typedef unsigned long DeviceLoopFlags;
+/*
+ PrinterStatusOpcode. For communication with downloading and printing services.
+*/
+typedef SInt32 PrinterStatusOpcode;
+enum {
+ kPrinterFontStatus = 0,
+ kPrinterScalingStatus = 1
+};
+
+struct PrinterFontStatus {
+ SInt32 oResult;
+ SInt16 iFondID;
+ Style iStyle;
+};
+typedef struct PrinterFontStatus PrinterFontStatus;
+struct PrinterScalingStatus {
+ Point oScalingFactors;
+};
+typedef struct PrinterScalingStatus PrinterScalingStatus;
+struct BitMap {
+ Ptr baseAddr;
+ short rowBytes;
+ Rect bounds;
+};
+typedef struct BitMap BitMap;
+typedef BitMap * BitMapPtr;
+typedef BitMapPtr * BitMapHandle;
+struct Cursor {
+ Bits16 data;
+ Bits16 mask;
+ Point hotSpot;
+};
+typedef struct Cursor Cursor;
+typedef Cursor * CursPtr;
+typedef CursPtr * CursHandle;
+struct PenState {
+ Point pnLoc;
+ Point pnSize;
+ short pnMode;
+ Pattern pnPat;
+};
+typedef struct PenState PenState;
#if !OPAQUE_TOOLBOX_STRUCTS
- struct MacRegion
- {
- unsigned short rgnSize; /* size in bytes; don't rely on it */
- Rect rgnBBox; /* enclosing rectangle; in Carbon use GetRegionBounds */
- };
- typedef struct MacRegion MacRegion;
- typedef MacRegion * RgnPtr;
- typedef RgnPtr * RgnHandle;
+struct MacRegion {
+ unsigned short rgnSize; /* size in bytes; don't rely on it */
+ Rect rgnBBox; /* enclosing rectangle; in Carbon use GetRegionBounds */
+};
+typedef struct MacRegion MacRegion;
+typedef MacRegion * RgnPtr;
+typedef RgnPtr * RgnHandle;
#else
- typedef struct OpaqueRgnHandle* RgnHandle;
+typedef struct OpaqueRgnHandle* RgnHandle;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- struct Picture
- {
- short picSize;
- Rect picFrame;
- };
- typedef struct Picture Picture;
- typedef Picture * PicPtr;
- typedef PicPtr * PicHandle;
- struct MacPolygon
- {
- short polySize;
- Rect polyBBox;
- Point polyPoints[1];
- };
- typedef struct MacPolygon MacPolygon;
- typedef MacPolygon * PolyPtr;
- typedef PolyPtr * PolyHandle;
- 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);
- typedef CALLBACK_API_C(OSStatus , QDStdGlyphsProcPtr)(void *dataStream, ByteCount size);
- typedef CALLBACK_API(void , QDJShieldCursorProcPtr)(short left, short top, short right, short bottom);
- 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;
- struct QDProcs
- {
- 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;
- };
- typedef struct QDProcs QDProcs;
- typedef QDProcs * QDProcsPtr;
- /*
- * NewQDTextUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDTextUPP)
- NewQDTextUPP(QDTextProcPtr userRoutine);
+struct Picture {
+ short picSize;
+ Rect picFrame;
+};
+typedef struct Picture Picture;
+typedef Picture * PicPtr;
+typedef PicPtr * PicHandle;
+struct MacPolygon {
+ short polySize;
+ Rect polyBBox;
+ Point polyPoints[1];
+};
+typedef struct MacPolygon MacPolygon;
+typedef MacPolygon * PolyPtr;
+typedef PolyPtr * PolyHandle;
+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);
+typedef CALLBACK_API_C( OSStatus , QDStdGlyphsProcPtr )(void *dataStream, ByteCount size);
+typedef CALLBACK_API( void , QDJShieldCursorProcPtr )(short left, short top, short right, short bottom);
+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;
+struct QDProcs {
+ 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;
+};
+typedef struct QDProcs QDProcs;
+typedef QDProcs * QDProcsPtr;
+/*
+ * NewQDTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDTextUPP )
+NewQDTextUPP(QDTextProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDTextProcInfo = 0x00003F80 }; /* pascal no_return_value Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDTextUPP) NewQDTextUPP(QDTextProcPtr userRoutine)
- {
- return (QDTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTextProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDTextUPP(userRoutine) (QDTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTextProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDTextProcInfo = 0x00003F80 }; /* pascal no_return_value Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDTextUPP) NewQDTextUPP(QDTextProcPtr userRoutine) { return (QDTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTextProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDTextUPP(userRoutine) (QDTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTextProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDLineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDLineUPP)
- NewQDLineUPP(QDLineProcPtr userRoutine);
+/*
+ * NewQDLineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDLineUPP )
+NewQDLineUPP(QDLineProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDLineProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDLineUPP) NewQDLineUPP(QDLineProcPtr userRoutine)
- {
- return (QDLineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDLineProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDLineUPP(userRoutine) (QDLineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDLineProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDLineProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDLineUPP) NewQDLineUPP(QDLineProcPtr userRoutine) { return (QDLineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDLineProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDLineUPP(userRoutine) (QDLineUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDLineProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDRectUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDRectUPP)
- NewQDRectUPP(QDRectProcPtr userRoutine);
+/*
+ * NewQDRectUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDRectUPP )
+NewQDRectUPP(QDRectProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDRectProcInfo = 0x00000340 }; /* pascal no_return_value Func(1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDRectUPP) NewQDRectUPP(QDRectProcPtr userRoutine)
- {
- return (QDRectUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRectProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDRectUPP(userRoutine) (QDRectUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRectProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDRectProcInfo = 0x00000340 }; /* pascal no_return_value Func(1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDRectUPP) NewQDRectUPP(QDRectProcPtr userRoutine) { return (QDRectUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRectProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDRectUPP(userRoutine) (QDRectUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRectProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDRRectUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDRRectUPP)
- NewQDRRectUPP(QDRRectProcPtr userRoutine);
+/*
+ * NewQDRRectUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDRRectUPP )
+NewQDRRectUPP(QDRRectProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDRRectProcInfo = 0x00002B40 }; /* pascal no_return_value Func(1_byte, 4_bytes, 2_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDRRectUPP) NewQDRRectUPP(QDRRectProcPtr userRoutine)
- {
- return (QDRRectUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRRectProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDRRectUPP(userRoutine) (QDRRectUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRRectProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDRRectProcInfo = 0x00002B40 }; /* pascal no_return_value Func(1_byte, 4_bytes, 2_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDRRectUPP) NewQDRRectUPP(QDRRectProcPtr userRoutine) { return (QDRRectUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRRectProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDRRectUPP(userRoutine) (QDRRectUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRRectProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDOvalUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDOvalUPP)
- NewQDOvalUPP(QDOvalProcPtr userRoutine);
+/*
+ * NewQDOvalUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDOvalUPP )
+NewQDOvalUPP(QDOvalProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDOvalProcInfo = 0x00000340 }; /* pascal no_return_value Func(1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDOvalUPP) NewQDOvalUPP(QDOvalProcPtr userRoutine)
- {
- return (QDOvalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOvalProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDOvalUPP(userRoutine) (QDOvalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOvalProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDOvalProcInfo = 0x00000340 }; /* pascal no_return_value Func(1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDOvalUPP) NewQDOvalUPP(QDOvalProcPtr userRoutine) { return (QDOvalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOvalProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDOvalUPP(userRoutine) (QDOvalUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOvalProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDArcUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDArcUPP)
- NewQDArcUPP(QDArcProcPtr userRoutine);
+/*
+ * NewQDArcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDArcUPP )
+NewQDArcUPP(QDArcProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDArcProcInfo = 0x00002B40 }; /* pascal no_return_value Func(1_byte, 4_bytes, 2_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDArcUPP) NewQDArcUPP(QDArcProcPtr userRoutine)
- {
- return (QDArcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDArcProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDArcUPP(userRoutine) (QDArcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDArcProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDArcProcInfo = 0x00002B40 }; /* pascal no_return_value Func(1_byte, 4_bytes, 2_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDArcUPP) NewQDArcUPP(QDArcProcPtr userRoutine) { return (QDArcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDArcProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDArcUPP(userRoutine) (QDArcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDArcProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDPolyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDPolyUPP)
- NewQDPolyUPP(QDPolyProcPtr userRoutine);
+/*
+ * NewQDPolyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDPolyUPP )
+NewQDPolyUPP(QDPolyProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDPolyProcInfo = 0x00000340 }; /* pascal no_return_value Func(1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDPolyUPP) NewQDPolyUPP(QDPolyProcPtr userRoutine)
- {
- return (QDPolyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPolyProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDPolyUPP(userRoutine) (QDPolyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPolyProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDPolyProcInfo = 0x00000340 }; /* pascal no_return_value Func(1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDPolyUPP) NewQDPolyUPP(QDPolyProcPtr userRoutine) { return (QDPolyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPolyProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDPolyUPP(userRoutine) (QDPolyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPolyProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDRgnUPP)
- NewQDRgnUPP(QDRgnProcPtr userRoutine);
+/*
+ * NewQDRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDRgnUPP )
+NewQDRgnUPP(QDRgnProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDRgnProcInfo = 0x00000340 }; /* pascal no_return_value Func(1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDRgnUPP) NewQDRgnUPP(QDRgnProcPtr userRoutine)
- {
- return (QDRgnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRgnProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDRgnUPP(userRoutine) (QDRgnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRgnProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDRgnProcInfo = 0x00000340 }; /* pascal no_return_value Func(1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDRgnUPP) NewQDRgnUPP(QDRgnProcPtr userRoutine) { return (QDRgnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRgnProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDRgnUPP(userRoutine) (QDRgnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRgnProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDBitsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDBitsUPP)
- NewQDBitsUPP(QDBitsProcPtr userRoutine);
+/*
+ * NewQDBitsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDBitsUPP )
+NewQDBitsUPP(QDBitsProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDBitsProcInfo = 0x0000EFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDBitsUPP) NewQDBitsUPP(QDBitsProcPtr userRoutine)
- {
- return (QDBitsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDBitsProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDBitsUPP(userRoutine) (QDBitsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDBitsProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDBitsProcInfo = 0x0000EFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDBitsUPP) NewQDBitsUPP(QDBitsProcPtr userRoutine) { return (QDBitsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDBitsProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDBitsUPP(userRoutine) (QDBitsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDBitsProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDCommentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDCommentUPP)
- NewQDCommentUPP(QDCommentProcPtr userRoutine);
+/*
+ * NewQDCommentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDCommentUPP )
+NewQDCommentUPP(QDCommentProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDCommentProcInfo = 0x00000E80 }; /* pascal no_return_value Func(2_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDCommentUPP) NewQDCommentUPP(QDCommentProcPtr userRoutine)
- {
- return (QDCommentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDCommentProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDCommentUPP(userRoutine) (QDCommentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDCommentProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDCommentProcInfo = 0x00000E80 }; /* pascal no_return_value Func(2_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDCommentUPP) NewQDCommentUPP(QDCommentProcPtr userRoutine) { return (QDCommentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDCommentProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDCommentUPP(userRoutine) (QDCommentUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDCommentProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDTxMeasUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDTxMeasUPP)
- NewQDTxMeasUPP(QDTxMeasProcPtr userRoutine);
+/*
+ * NewQDTxMeasUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDTxMeasUPP )
+NewQDTxMeasUPP(QDTxMeasProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDTxMeasProcInfo = 0x0000FFA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDTxMeasUPP) NewQDTxMeasUPP(QDTxMeasProcPtr userRoutine)
- {
- return (QDTxMeasUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTxMeasProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDTxMeasUPP(userRoutine) (QDTxMeasUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTxMeasProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDTxMeasProcInfo = 0x0000FFA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDTxMeasUPP) NewQDTxMeasUPP(QDTxMeasProcPtr userRoutine) { return (QDTxMeasUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTxMeasProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDTxMeasUPP(userRoutine) (QDTxMeasUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTxMeasProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDGetPicUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDGetPicUPP)
- NewQDGetPicUPP(QDGetPicProcPtr userRoutine);
+/*
+ * NewQDGetPicUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDGetPicUPP )
+NewQDGetPicUPP(QDGetPicProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDGetPicProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDGetPicUPP) NewQDGetPicUPP(QDGetPicProcPtr userRoutine)
- {
- return (QDGetPicUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDGetPicProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDGetPicUPP(userRoutine) (QDGetPicUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDGetPicProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDGetPicProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDGetPicUPP) NewQDGetPicUPP(QDGetPicProcPtr userRoutine) { return (QDGetPicUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDGetPicProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDGetPicUPP(userRoutine) (QDGetPicUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDGetPicProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDPutPicUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDPutPicUPP)
- NewQDPutPicUPP(QDPutPicProcPtr userRoutine);
+/*
+ * NewQDPutPicUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDPutPicUPP )
+NewQDPutPicUPP(QDPutPicProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDPutPicProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDPutPicUPP) NewQDPutPicUPP(QDPutPicProcPtr userRoutine)
- {
- return (QDPutPicUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPutPicProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDPutPicUPP(userRoutine) (QDPutPicUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPutPicProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDPutPicProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDPutPicUPP) NewQDPutPicUPP(QDPutPicProcPtr userRoutine) { return (QDPutPicUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPutPicProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDPutPicUPP(userRoutine) (QDPutPicUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPutPicProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDOpcodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDOpcodeUPP)
- NewQDOpcodeUPP(QDOpcodeProcPtr userRoutine);
+/*
+ * NewQDOpcodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDOpcodeUPP )
+NewQDOpcodeUPP(QDOpcodeProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDOpcodeProcInfo = 0x00002BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDOpcodeUPP) NewQDOpcodeUPP(QDOpcodeProcPtr userRoutine)
- {
- return (QDOpcodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOpcodeProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDOpcodeUPP(userRoutine) (QDOpcodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOpcodeProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDOpcodeProcInfo = 0x00002BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDOpcodeUPP) NewQDOpcodeUPP(QDOpcodeProcPtr userRoutine) { return (QDOpcodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOpcodeProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDOpcodeUPP(userRoutine) (QDOpcodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOpcodeProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDStdGlyphsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDStdGlyphsUPP)
- NewQDStdGlyphsUPP(QDStdGlyphsProcPtr userRoutine);
+/*
+ * NewQDStdGlyphsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDStdGlyphsUPP )
+NewQDStdGlyphsUPP(QDStdGlyphsProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDStdGlyphsProcInfo = 0x000003F1 }; /* 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDStdGlyphsUPP) NewQDStdGlyphsUPP(QDStdGlyphsProcPtr userRoutine)
- {
- return (QDStdGlyphsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDStdGlyphsProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDStdGlyphsUPP(userRoutine) (QDStdGlyphsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDStdGlyphsProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDStdGlyphsProcInfo = 0x000003F1 }; /* 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDStdGlyphsUPP) NewQDStdGlyphsUPP(QDStdGlyphsProcPtr userRoutine) { return (QDStdGlyphsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDStdGlyphsProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDStdGlyphsUPP(userRoutine) (QDStdGlyphsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDStdGlyphsProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewQDJShieldCursorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(QDJShieldCursorUPP)
- NewQDJShieldCursorUPP(QDJShieldCursorProcPtr userRoutine);
+/*
+ * NewQDJShieldCursorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( QDJShieldCursorUPP )
+NewQDJShieldCursorUPP(QDJShieldCursorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDJShieldCursorProcInfo = 0x00002A80 }; /* pascal no_return_value Func(2_bytes, 2_bytes, 2_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDJShieldCursorUPP) NewQDJShieldCursorUPP(QDJShieldCursorProcPtr userRoutine)
- {
- return (QDJShieldCursorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDJShieldCursorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDJShieldCursorUPP(userRoutine) (QDJShieldCursorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDJShieldCursorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDJShieldCursorProcInfo = 0x00002A80 }; /* pascal no_return_value Func(2_bytes, 2_bytes, 2_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDJShieldCursorUPP) NewQDJShieldCursorUPP(QDJShieldCursorProcPtr userRoutine) { return (QDJShieldCursorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDJShieldCursorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDJShieldCursorUPP(userRoutine) (QDJShieldCursorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDJShieldCursorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeQDTextUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDTextUPP(QDTextUPP userUPP);
+/*
+ * DisposeQDTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDTextUPP(QDTextUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDTextUPP(QDTextUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDTextUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDTextUPP(QDTextUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDTextUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDLineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDLineUPP(QDLineUPP userUPP);
+/*
+ * DisposeQDLineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDLineUPP(QDLineUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDLineUPP(QDLineUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDLineUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDLineUPP(QDLineUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDLineUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDRectUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDRectUPP(QDRectUPP userUPP);
+/*
+ * DisposeQDRectUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDRectUPP(QDRectUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDRectUPP(QDRectUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDRectUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDRectUPP(QDRectUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDRectUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDRRectUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDRRectUPP(QDRRectUPP userUPP);
+/*
+ * DisposeQDRRectUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDRRectUPP(QDRRectUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDRRectUPP(QDRRectUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDRRectUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDRRectUPP(QDRRectUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDRRectUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDOvalUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDOvalUPP(QDOvalUPP userUPP);
+/*
+ * DisposeQDOvalUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDOvalUPP(QDOvalUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDOvalUPP(QDOvalUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDOvalUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDOvalUPP(QDOvalUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDOvalUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDArcUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDArcUPP(QDArcUPP userUPP);
+/*
+ * DisposeQDArcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDArcUPP(QDArcUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDArcUPP(QDArcUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDArcUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDArcUPP(QDArcUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDArcUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDPolyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDPolyUPP(QDPolyUPP userUPP);
+/*
+ * DisposeQDPolyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDPolyUPP(QDPolyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDPolyUPP(QDPolyUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDPolyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDPolyUPP(QDPolyUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDPolyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDRgnUPP(QDRgnUPP userUPP);
+/*
+ * DisposeQDRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDRgnUPP(QDRgnUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDRgnUPP(QDRgnUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDRgnUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDRgnUPP(QDRgnUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDRgnUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDBitsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDBitsUPP(QDBitsUPP userUPP);
+/*
+ * DisposeQDBitsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDBitsUPP(QDBitsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDBitsUPP(QDBitsUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDBitsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDBitsUPP(QDBitsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDBitsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDCommentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDCommentUPP(QDCommentUPP userUPP);
+/*
+ * DisposeQDCommentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDCommentUPP(QDCommentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDCommentUPP(QDCommentUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDCommentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDCommentUPP(QDCommentUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDCommentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDTxMeasUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDTxMeasUPP(QDTxMeasUPP userUPP);
+/*
+ * DisposeQDTxMeasUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDTxMeasUPP(QDTxMeasUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDTxMeasUPP(QDTxMeasUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDTxMeasUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDTxMeasUPP(QDTxMeasUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDTxMeasUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDGetPicUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDGetPicUPP(QDGetPicUPP userUPP);
+/*
+ * DisposeQDGetPicUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDGetPicUPP(QDGetPicUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDGetPicUPP(QDGetPicUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDGetPicUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDGetPicUPP(QDGetPicUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDGetPicUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDPutPicUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDPutPicUPP(QDPutPicUPP userUPP);
+/*
+ * DisposeQDPutPicUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDPutPicUPP(QDPutPicUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDPutPicUPP(QDPutPicUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDPutPicUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDPutPicUPP(QDPutPicUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDPutPicUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDOpcodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDOpcodeUPP(QDOpcodeUPP userUPP);
+/*
+ * DisposeQDOpcodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDOpcodeUPP(QDOpcodeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDOpcodeUPP(QDOpcodeUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDOpcodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDOpcodeUPP(QDOpcodeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDOpcodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDStdGlyphsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDStdGlyphsUPP(QDStdGlyphsUPP userUPP);
+/*
+ * DisposeQDStdGlyphsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDStdGlyphsUPP(QDStdGlyphsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDStdGlyphsUPP(QDStdGlyphsUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDStdGlyphsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDStdGlyphsUPP(QDStdGlyphsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDStdGlyphsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeQDJShieldCursorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeQDJShieldCursorUPP(QDJShieldCursorUPP userUPP);
+/*
+ * DisposeQDJShieldCursorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeQDJShieldCursorUPP(QDJShieldCursorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDJShieldCursorUPP(QDJShieldCursorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDJShieldCursorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDJShieldCursorUPP(QDJShieldCursorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDJShieldCursorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeQDTextUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDTextUPP(
- short byteCount,
- const void * textBuf,
- Point numer,
- Point denom,
- QDTextUPP userUPP);
+/*
+ * InvokeQDTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDTextUPP(
+ short byteCount,
+ const void * textBuf,
+ Point numer,
+ Point denom,
+ QDTextUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDTextUPP(short byteCount, const void * textBuf, Point numer, Point denom, QDTextUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQDTextProcInfo, byteCount, textBuf, numer, denom);
- }
-#else
-#define InvokeQDTextUPP(byteCount, textBuf, numer, denom, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDTextProcInfo, (byteCount), (textBuf), (numer), (denom))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDTextUPP(short byteCount, const void * textBuf, Point numer, Point denom, QDTextUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQDTextProcInfo, byteCount, textBuf, numer, denom); }
+ #else
+ #define InvokeQDTextUPP(byteCount, textBuf, numer, denom, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDTextProcInfo, (byteCount), (textBuf), (numer), (denom))
+ #endif
#endif
- /*
- * InvokeQDLineUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDLineUPP(
- Point newPt,
- QDLineUPP userUPP);
+/*
+ * InvokeQDLineUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDLineUPP(
+ Point newPt,
+ QDLineUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDLineUPP(Point newPt, QDLineUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppQDLineProcInfo, newPt);
- }
-#else
-#define InvokeQDLineUPP(newPt, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppQDLineProcInfo, (newPt))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDLineUPP(Point newPt, QDLineUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppQDLineProcInfo, newPt); }
+ #else
+ #define InvokeQDLineUPP(newPt, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppQDLineProcInfo, (newPt))
+ #endif
#endif
- /*
- * InvokeQDRectUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDRectUPP(
- GrafVerb verb,
- const Rect * r,
- QDRectUPP userUPP);
+/*
+ * InvokeQDRectUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDRectUPP(
+ GrafVerb verb,
+ const Rect * r,
+ QDRectUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDRectUPP(GrafVerb verb, const Rect * r, QDRectUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppQDRectProcInfo, verb, r);
- }
-#else
-#define InvokeQDRectUPP(verb, r, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDRectProcInfo, (verb), (r))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDRectUPP(GrafVerb verb, const Rect * r, QDRectUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppQDRectProcInfo, verb, r); }
+ #else
+ #define InvokeQDRectUPP(verb, r, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDRectProcInfo, (verb), (r))
+ #endif
#endif
- /*
- * InvokeQDRRectUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDRRectUPP(
- GrafVerb verb,
- const Rect * r,
- short ovalWidth,
- short ovalHeight,
- QDRRectUPP userUPP);
+/*
+ * InvokeQDRRectUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDRRectUPP(
+ GrafVerb verb,
+ const Rect * r,
+ short ovalWidth,
+ short ovalHeight,
+ QDRRectUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDRRectUPP(GrafVerb verb, const Rect * r, short ovalWidth, short ovalHeight, QDRRectUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQDRRectProcInfo, verb, r, ovalWidth, ovalHeight);
- }
-#else
-#define InvokeQDRRectUPP(verb, r, ovalWidth, ovalHeight, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDRRectProcInfo, (verb), (r), (ovalWidth), (ovalHeight))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDRRectUPP(GrafVerb verb, const Rect * r, short ovalWidth, short ovalHeight, QDRRectUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQDRRectProcInfo, verb, r, ovalWidth, ovalHeight); }
+ #else
+ #define InvokeQDRRectUPP(verb, r, ovalWidth, ovalHeight, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDRRectProcInfo, (verb), (r), (ovalWidth), (ovalHeight))
+ #endif
#endif
- /*
- * InvokeQDOvalUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDOvalUPP(
- GrafVerb verb,
- const Rect * r,
- QDOvalUPP userUPP);
+/*
+ * InvokeQDOvalUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDOvalUPP(
+ GrafVerb verb,
+ const Rect * r,
+ QDOvalUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDOvalUPP(GrafVerb verb, const Rect * r, QDOvalUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppQDOvalProcInfo, verb, r);
- }
-#else
-#define InvokeQDOvalUPP(verb, r, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDOvalProcInfo, (verb), (r))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDOvalUPP(GrafVerb verb, const Rect * r, QDOvalUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppQDOvalProcInfo, verb, r); }
+ #else
+ #define InvokeQDOvalUPP(verb, r, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDOvalProcInfo, (verb), (r))
+ #endif
#endif
- /*
- * InvokeQDArcUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDArcUPP(
- GrafVerb verb,
- const Rect * r,
- short startAngle,
- short arcAngle,
- QDArcUPP userUPP);
+/*
+ * InvokeQDArcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDArcUPP(
+ GrafVerb verb,
+ const Rect * r,
+ short startAngle,
+ short arcAngle,
+ QDArcUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDArcUPP(GrafVerb verb, const Rect * r, short startAngle, short arcAngle, QDArcUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQDArcProcInfo, verb, r, startAngle, arcAngle);
- }
-#else
-#define InvokeQDArcUPP(verb, r, startAngle, arcAngle, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDArcProcInfo, (verb), (r), (startAngle), (arcAngle))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDArcUPP(GrafVerb verb, const Rect * r, short startAngle, short arcAngle, QDArcUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQDArcProcInfo, verb, r, startAngle, arcAngle); }
+ #else
+ #define InvokeQDArcUPP(verb, r, startAngle, arcAngle, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDArcProcInfo, (verb), (r), (startAngle), (arcAngle))
+ #endif
#endif
- /*
- * InvokeQDPolyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDPolyUPP(
- GrafVerb verb,
- PolyHandle poly,
- QDPolyUPP userUPP);
+/*
+ * InvokeQDPolyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDPolyUPP(
+ GrafVerb verb,
+ PolyHandle poly,
+ QDPolyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDPolyUPP(GrafVerb verb, PolyHandle poly, QDPolyUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppQDPolyProcInfo, verb, poly);
- }
-#else
-#define InvokeQDPolyUPP(verb, poly, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDPolyProcInfo, (verb), (poly))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDPolyUPP(GrafVerb verb, PolyHandle poly, QDPolyUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppQDPolyProcInfo, verb, poly); }
+ #else
+ #define InvokeQDPolyUPP(verb, poly, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDPolyProcInfo, (verb), (poly))
+ #endif
#endif
- /*
- * InvokeQDRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDRgnUPP(
- GrafVerb verb,
- RgnHandle rgn,
- QDRgnUPP userUPP);
+/*
+ * InvokeQDRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDRgnUPP(
+ GrafVerb verb,
+ RgnHandle rgn,
+ QDRgnUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDRgnUPP(GrafVerb verb, RgnHandle rgn, QDRgnUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppQDRgnProcInfo, verb, rgn);
- }
-#else
-#define InvokeQDRgnUPP(verb, rgn, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDRgnProcInfo, (verb), (rgn))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDRgnUPP(GrafVerb verb, RgnHandle rgn, QDRgnUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppQDRgnProcInfo, verb, rgn); }
+ #else
+ #define InvokeQDRgnUPP(verb, rgn, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDRgnProcInfo, (verb), (rgn))
+ #endif
#endif
- /*
- * InvokeQDBitsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDBitsUPP(
- const BitMap * srcBits,
- const Rect * srcRect,
- const Rect * dstRect,
- short mode,
- RgnHandle maskRgn,
- QDBitsUPP userUPP);
+/*
+ * InvokeQDBitsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDBitsUPP(
+ const BitMap * srcBits,
+ const Rect * srcRect,
+ const Rect * dstRect,
+ short mode,
+ RgnHandle maskRgn,
+ QDBitsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDBitsUPP(const BitMap * srcBits, const Rect * srcRect, const Rect * dstRect, short mode, RgnHandle maskRgn, QDBitsUPP userUPP)
- {
- CALL_FIVE_PARAMETER_UPP(userUPP, uppQDBitsProcInfo, srcBits, srcRect, dstRect, mode, maskRgn);
- }
-#else
-#define InvokeQDBitsUPP(srcBits, srcRect, dstRect, mode, maskRgn, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppQDBitsProcInfo, (srcBits), (srcRect), (dstRect), (mode), (maskRgn))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDBitsUPP(const BitMap * srcBits, const Rect * srcRect, const Rect * dstRect, short mode, RgnHandle maskRgn, QDBitsUPP userUPP) { CALL_FIVE_PARAMETER_UPP(userUPP, uppQDBitsProcInfo, srcBits, srcRect, dstRect, mode, maskRgn); }
+ #else
+ #define InvokeQDBitsUPP(srcBits, srcRect, dstRect, mode, maskRgn, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppQDBitsProcInfo, (srcBits), (srcRect), (dstRect), (mode), (maskRgn))
+ #endif
#endif
- /*
- * InvokeQDCommentUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDCommentUPP(
- short kind,
- short dataSize,
- Handle dataHandle,
- QDCommentUPP userUPP);
+/*
+ * InvokeQDCommentUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDCommentUPP(
+ short kind,
+ short dataSize,
+ Handle dataHandle,
+ QDCommentUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDCommentUPP(short kind, short dataSize, Handle dataHandle, QDCommentUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppQDCommentProcInfo, kind, dataSize, dataHandle);
- }
-#else
-#define InvokeQDCommentUPP(kind, dataSize, dataHandle, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppQDCommentProcInfo, (kind), (dataSize), (dataHandle))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDCommentUPP(short kind, short dataSize, Handle dataHandle, QDCommentUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppQDCommentProcInfo, kind, dataSize, dataHandle); }
+ #else
+ #define InvokeQDCommentUPP(kind, dataSize, dataHandle, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppQDCommentProcInfo, (kind), (dataSize), (dataHandle))
+ #endif
#endif
- /*
- * InvokeQDTxMeasUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(short)
- InvokeQDTxMeasUPP(
- short byteCount,
- const void * textAddr,
- Point * numer,
- Point * denom,
- FontInfo * info,
- QDTxMeasUPP userUPP);
+/*
+ * InvokeQDTxMeasUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( short )
+InvokeQDTxMeasUPP(
+ short byteCount,
+ const void * textAddr,
+ Point * numer,
+ Point * denom,
+ FontInfo * info,
+ QDTxMeasUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(short) InvokeQDTxMeasUPP(short byteCount, const void * textAddr, Point * numer, Point * denom, FontInfo * info, QDTxMeasUPP userUPP)
- {
- return (short)CALL_FIVE_PARAMETER_UPP(userUPP, uppQDTxMeasProcInfo, byteCount, textAddr, numer, denom, info);
- }
-#else
-#define InvokeQDTxMeasUPP(byteCount, textAddr, numer, denom, info, userUPP) (short)CALL_FIVE_PARAMETER_UPP((userUPP), uppQDTxMeasProcInfo, (byteCount), (textAddr), (numer), (denom), (info))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(short) InvokeQDTxMeasUPP(short byteCount, const void * textAddr, Point * numer, Point * denom, FontInfo * info, QDTxMeasUPP userUPP) { return (short)CALL_FIVE_PARAMETER_UPP(userUPP, uppQDTxMeasProcInfo, byteCount, textAddr, numer, denom, info); }
+ #else
+ #define InvokeQDTxMeasUPP(byteCount, textAddr, numer, denom, info, userUPP) (short)CALL_FIVE_PARAMETER_UPP((userUPP), uppQDTxMeasProcInfo, (byteCount), (textAddr), (numer), (denom), (info))
+ #endif
#endif
- /*
- * InvokeQDGetPicUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDGetPicUPP(
- void * dataPtr,
- short byteCount,
- QDGetPicUPP userUPP);
+/*
+ * InvokeQDGetPicUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDGetPicUPP(
+ void * dataPtr,
+ short byteCount,
+ QDGetPicUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDGetPicUPP(void * dataPtr, short byteCount, QDGetPicUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppQDGetPicProcInfo, dataPtr, byteCount);
- }
-#else
-#define InvokeQDGetPicUPP(dataPtr, byteCount, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDGetPicProcInfo, (dataPtr), (byteCount))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDGetPicUPP(void * dataPtr, short byteCount, QDGetPicUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppQDGetPicProcInfo, dataPtr, byteCount); }
+ #else
+ #define InvokeQDGetPicUPP(dataPtr, byteCount, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDGetPicProcInfo, (dataPtr), (byteCount))
+ #endif
#endif
- /*
- * InvokeQDPutPicUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDPutPicUPP(
- const void * dataPtr,
- short byteCount,
- QDPutPicUPP userUPP);
+/*
+ * InvokeQDPutPicUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDPutPicUPP(
+ const void * dataPtr,
+ short byteCount,
+ QDPutPicUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDPutPicUPP(const void * dataPtr, short byteCount, QDPutPicUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppQDPutPicProcInfo, dataPtr, byteCount);
- }
-#else
-#define InvokeQDPutPicUPP(dataPtr, byteCount, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDPutPicProcInfo, (dataPtr), (byteCount))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDPutPicUPP(const void * dataPtr, short byteCount, QDPutPicUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppQDPutPicProcInfo, dataPtr, byteCount); }
+ #else
+ #define InvokeQDPutPicUPP(dataPtr, byteCount, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQDPutPicProcInfo, (dataPtr), (byteCount))
+ #endif
#endif
- /*
- * InvokeQDOpcodeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDOpcodeUPP(
- const Rect * fromRect,
- const Rect * toRect,
- UInt16 opcode,
- SInt16 version,
- QDOpcodeUPP userUPP);
+/*
+ * InvokeQDOpcodeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDOpcodeUPP(
+ const Rect * fromRect,
+ const Rect * toRect,
+ UInt16 opcode,
+ SInt16 version,
+ QDOpcodeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDOpcodeUPP(const Rect * fromRect, const Rect * toRect, UInt16 opcode, SInt16 version, QDOpcodeUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQDOpcodeProcInfo, fromRect, toRect, opcode, version);
- }
-#else
-#define InvokeQDOpcodeUPP(fromRect, toRect, opcode, version, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDOpcodeProcInfo, (fromRect), (toRect), (opcode), (version))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDOpcodeUPP(const Rect * fromRect, const Rect * toRect, UInt16 opcode, SInt16 version, QDOpcodeUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQDOpcodeProcInfo, fromRect, toRect, opcode, version); }
+ #else
+ #define InvokeQDOpcodeUPP(fromRect, toRect, opcode, version, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDOpcodeProcInfo, (fromRect), (toRect), (opcode), (version))
+ #endif
#endif
- /*
- * InvokeQDStdGlyphsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeQDStdGlyphsUPP(
- void * dataStream,
- ByteCount size,
- QDStdGlyphsUPP userUPP);
+/*
+ * InvokeQDStdGlyphsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeQDStdGlyphsUPP(
+ void * dataStream,
+ ByteCount size,
+ QDStdGlyphsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeQDStdGlyphsUPP(void * dataStream, ByteCount size, QDStdGlyphsUPP userUPP)
- {
- return (OSStatus)CALL_TWO_PARAMETER_UPP(userUPP, uppQDStdGlyphsProcInfo, dataStream, size);
- }
-#else
-#define InvokeQDStdGlyphsUPP(dataStream, size, userUPP) (OSStatus)CALL_TWO_PARAMETER_UPP((userUPP), uppQDStdGlyphsProcInfo, (dataStream), (size))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeQDStdGlyphsUPP(void * dataStream, ByteCount size, QDStdGlyphsUPP userUPP) { return (OSStatus)CALL_TWO_PARAMETER_UPP(userUPP, uppQDStdGlyphsProcInfo, dataStream, size); }
+ #else
+ #define InvokeQDStdGlyphsUPP(dataStream, size, userUPP) (OSStatus)CALL_TWO_PARAMETER_UPP((userUPP), uppQDStdGlyphsProcInfo, (dataStream), (size))
+ #endif
#endif
- /*
- * InvokeQDJShieldCursorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeQDJShieldCursorUPP(
- short left,
- short top,
- short right,
- short bottom,
- QDJShieldCursorUPP userUPP);
+/*
+ * InvokeQDJShieldCursorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeQDJShieldCursorUPP(
+ short left,
+ short top,
+ short right,
+ short bottom,
+ QDJShieldCursorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeQDJShieldCursorUPP(short left, short top, short right, short bottom, QDJShieldCursorUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppQDJShieldCursorProcInfo, left, top, right, bottom);
- }
-#else
-#define InvokeQDJShieldCursorUPP(left, top, right, bottom, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDJShieldCursorProcInfo, (left), (top), (right), (bottom))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeQDJShieldCursorUPP(short left, short top, short right, short bottom, QDJShieldCursorUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQDJShieldCursorProcInfo, left, top, right, bottom); }
+ #else
+ #define InvokeQDJShieldCursorUPP(left, top, right, bottom, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQDJShieldCursorProcInfo, (left), (top), (right), (bottom))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewQDTextProc(userRoutine) NewQDTextUPP(userRoutine)
-#define NewQDLineProc(userRoutine) NewQDLineUPP(userRoutine)
-#define NewQDRectProc(userRoutine) NewQDRectUPP(userRoutine)
-#define NewQDRRectProc(userRoutine) NewQDRRectUPP(userRoutine)
-#define NewQDOvalProc(userRoutine) NewQDOvalUPP(userRoutine)
-#define NewQDArcProc(userRoutine) NewQDArcUPP(userRoutine)
-#define NewQDPolyProc(userRoutine) NewQDPolyUPP(userRoutine)
-#define NewQDRgnProc(userRoutine) NewQDRgnUPP(userRoutine)
-#define NewQDBitsProc(userRoutine) NewQDBitsUPP(userRoutine)
-#define NewQDCommentProc(userRoutine) NewQDCommentUPP(userRoutine)
-#define NewQDTxMeasProc(userRoutine) NewQDTxMeasUPP(userRoutine)
-#define NewQDGetPicProc(userRoutine) NewQDGetPicUPP(userRoutine)
-#define NewQDPutPicProc(userRoutine) NewQDPutPicUPP(userRoutine)
-#define NewQDOpcodeProc(userRoutine) NewQDOpcodeUPP(userRoutine)
-#define NewQDStdGlyphsProc(userRoutine) NewQDStdGlyphsUPP(userRoutine)
-#define NewQDJShieldCursorProc(userRoutine) NewQDJShieldCursorUPP(userRoutine)
-#define CallQDTextProc(userRoutine, byteCount, textBuf, numer, denom) InvokeQDTextUPP(byteCount, textBuf, numer, denom, userRoutine)
-#define CallQDLineProc(userRoutine, newPt) InvokeQDLineUPP(newPt, userRoutine)
-#define CallQDRectProc(userRoutine, verb, r) InvokeQDRectUPP(verb, r, userRoutine)
-#define CallQDRRectProc(userRoutine, verb, r, ovalWidth, ovalHeight) InvokeQDRRectUPP(verb, r, ovalWidth, ovalHeight, userRoutine)
-#define CallQDOvalProc(userRoutine, verb, r) InvokeQDOvalUPP(verb, r, userRoutine)
-#define CallQDArcProc(userRoutine, verb, r, startAngle, arcAngle) InvokeQDArcUPP(verb, r, startAngle, arcAngle, userRoutine)
-#define CallQDPolyProc(userRoutine, verb, poly) InvokeQDPolyUPP(verb, poly, userRoutine)
-#define CallQDRgnProc(userRoutine, verb, rgn) InvokeQDRgnUPP(verb, rgn, userRoutine)
-#define CallQDBitsProc(userRoutine, srcBits, srcRect, dstRect, mode, maskRgn) InvokeQDBitsUPP(srcBits, srcRect, dstRect, mode, maskRgn, userRoutine)
-#define CallQDCommentProc(userRoutine, kind, dataSize, dataHandle) InvokeQDCommentUPP(kind, dataSize, dataHandle, userRoutine)
-#define CallQDTxMeasProc(userRoutine, byteCount, textAddr, numer, denom, info) InvokeQDTxMeasUPP(byteCount, textAddr, numer, denom, info, userRoutine)
-#define CallQDGetPicProc(userRoutine, dataPtr, byteCount) InvokeQDGetPicUPP(dataPtr, byteCount, userRoutine)
-#define CallQDPutPicProc(userRoutine, dataPtr, byteCount) InvokeQDPutPicUPP(dataPtr, byteCount, userRoutine)
-#define CallQDOpcodeProc(userRoutine, fromRect, toRect, opcode, version) InvokeQDOpcodeUPP(fromRect, toRect, opcode, version, userRoutine)
-#define CallQDStdGlyphsProc(userRoutine, dataStream, size) InvokeQDStdGlyphsUPP(dataStream, size, userRoutine)
-#define CallQDJShieldCursorProc(userRoutine, left, top, right, bottom) InvokeQDJShieldCursorUPP(left, top, right, bottom, userRoutine)
+ #define NewQDTextProc(userRoutine) NewQDTextUPP(userRoutine)
+ #define NewQDLineProc(userRoutine) NewQDLineUPP(userRoutine)
+ #define NewQDRectProc(userRoutine) NewQDRectUPP(userRoutine)
+ #define NewQDRRectProc(userRoutine) NewQDRRectUPP(userRoutine)
+ #define NewQDOvalProc(userRoutine) NewQDOvalUPP(userRoutine)
+ #define NewQDArcProc(userRoutine) NewQDArcUPP(userRoutine)
+ #define NewQDPolyProc(userRoutine) NewQDPolyUPP(userRoutine)
+ #define NewQDRgnProc(userRoutine) NewQDRgnUPP(userRoutine)
+ #define NewQDBitsProc(userRoutine) NewQDBitsUPP(userRoutine)
+ #define NewQDCommentProc(userRoutine) NewQDCommentUPP(userRoutine)
+ #define NewQDTxMeasProc(userRoutine) NewQDTxMeasUPP(userRoutine)
+ #define NewQDGetPicProc(userRoutine) NewQDGetPicUPP(userRoutine)
+ #define NewQDPutPicProc(userRoutine) NewQDPutPicUPP(userRoutine)
+ #define NewQDOpcodeProc(userRoutine) NewQDOpcodeUPP(userRoutine)
+ #define NewQDStdGlyphsProc(userRoutine) NewQDStdGlyphsUPP(userRoutine)
+ #define NewQDJShieldCursorProc(userRoutine) NewQDJShieldCursorUPP(userRoutine)
+ #define CallQDTextProc(userRoutine, byteCount, textBuf, numer, denom) InvokeQDTextUPP(byteCount, textBuf, numer, denom, userRoutine)
+ #define CallQDLineProc(userRoutine, newPt) InvokeQDLineUPP(newPt, userRoutine)
+ #define CallQDRectProc(userRoutine, verb, r) InvokeQDRectUPP(verb, r, userRoutine)
+ #define CallQDRRectProc(userRoutine, verb, r, ovalWidth, ovalHeight) InvokeQDRRectUPP(verb, r, ovalWidth, ovalHeight, userRoutine)
+ #define CallQDOvalProc(userRoutine, verb, r) InvokeQDOvalUPP(verb, r, userRoutine)
+ #define CallQDArcProc(userRoutine, verb, r, startAngle, arcAngle) InvokeQDArcUPP(verb, r, startAngle, arcAngle, userRoutine)
+ #define CallQDPolyProc(userRoutine, verb, poly) InvokeQDPolyUPP(verb, poly, userRoutine)
+ #define CallQDRgnProc(userRoutine, verb, rgn) InvokeQDRgnUPP(verb, rgn, userRoutine)
+ #define CallQDBitsProc(userRoutine, srcBits, srcRect, dstRect, mode, maskRgn) InvokeQDBitsUPP(srcBits, srcRect, dstRect, mode, maskRgn, userRoutine)
+ #define CallQDCommentProc(userRoutine, kind, dataSize, dataHandle) InvokeQDCommentUPP(kind, dataSize, dataHandle, userRoutine)
+ #define CallQDTxMeasProc(userRoutine, byteCount, textAddr, numer, denom, info) InvokeQDTxMeasUPP(byteCount, textAddr, numer, denom, info, userRoutine)
+ #define CallQDGetPicProc(userRoutine, dataPtr, byteCount) InvokeQDGetPicUPP(dataPtr, byteCount, userRoutine)
+ #define CallQDPutPicProc(userRoutine, dataPtr, byteCount) InvokeQDPutPicUPP(dataPtr, byteCount, userRoutine)
+ #define CallQDOpcodeProc(userRoutine, fromRect, toRect, opcode, version) InvokeQDOpcodeUPP(fromRect, toRect, opcode, version, userRoutine)
+ #define CallQDStdGlyphsProc(userRoutine, dataStream, size) InvokeQDStdGlyphsUPP(dataStream, size, userRoutine)
+ #define CallQDJShieldCursorProc(userRoutine, left, top, right, bottom) InvokeQDJShieldCursorUPP(left, top, right, bottom, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if !OPAQUE_TOOLBOX_STRUCTS
- struct GrafPort
- {
- short device; /* not available in Carbon*/
- BitMap portBits; /* in Carbon use GetPortBitMapForCopyBits or IsPortColor*/
- Rect portRect; /* in Carbon use Get/SetPortBounds*/
- RgnHandle visRgn; /* in Carbon use Get/SetPortVisibleRegion*/
- RgnHandle clipRgn; /* in Carbon use Get/SetPortClipRegion*/
- Pattern bkPat; /* not available in Carbon all GrafPorts are CGrafPorts*/
- Pattern fillPat; /* not available in Carbon all GrafPorts are CGrafPorts*/
- Point pnLoc; /* in Carbon use GetPortPenLocation or MoveTo*/
- Point pnSize; /* in Carbon use Get/SetPortPenSize*/
- short pnMode; /* in Carbon use Get/SetPortPenMode*/
- Pattern pnPat; /* not available in Carbon all GrafPorts are CGrafPorts*/
- short pnVis; /* in Carbon use GetPortPenVisibility or Show/HidePen*/
- short txFont; /* in Carbon use GetPortTextFont or TextFont*/
- StyleField txFace; /* in Carbon use GetPortTextFace or TextFace*/
- /*StyleField occupies 16-bits, but only first 8-bits are used*/
- short txMode; /* in Carbon use GetPortTextMode or TextMode*/
- short txSize; /* in Carbon use GetPortTextSize or TextSize*/
- Fixed spExtra; /* in Carbon use GetPortSpExtra or SpaceExtra*/
- long fgColor; /* not available in Carbon */
- long bkColor; /* not available in Carbon*/
- short colrBit; /* not available in Carbon*/
- short patStretch; /* not available in Carbon*/
- Handle picSave; /* in Carbon use IsPortPictureBeingDefined*/
- Handle rgnSave; /* not available in Carbon*/
- Handle polySave; /* not available in Carbon*/
- QDProcsPtr grafProcs; /* not available in Carbon all GrafPorts are CGrafPorts*/
- };
- typedef struct GrafPort GrafPort;
- typedef GrafPort * GrafPtr;
- /*
- * This set of definitions "belongs" in Windows.
- * But, there is a circularity in the headers where Windows includes Controls and
- * Controls includes Windows. To break the circle, the information
- * needed by Controls is moved from Windows to Quickdraw.
- */
- typedef GrafPtr WindowPtr;
- typedef WindowPtr DialogPtr;
+struct GrafPort {
+ short device; /* not available in Carbon*/
+ BitMap portBits; /* in Carbon use GetPortBitMapForCopyBits or IsPortColor*/
+ Rect portRect; /* in Carbon use Get/SetPortBounds*/
+ RgnHandle visRgn; /* in Carbon use Get/SetPortVisibleRegion*/
+ RgnHandle clipRgn; /* in Carbon use Get/SetPortClipRegion*/
+ Pattern bkPat; /* not available in Carbon all GrafPorts are CGrafPorts*/
+ Pattern fillPat; /* not available in Carbon all GrafPorts are CGrafPorts*/
+ Point pnLoc; /* in Carbon use GetPortPenLocation or MoveTo*/
+ Point pnSize; /* in Carbon use Get/SetPortPenSize*/
+ short pnMode; /* in Carbon use Get/SetPortPenMode*/
+ Pattern pnPat; /* not available in Carbon all GrafPorts are CGrafPorts*/
+ short pnVis; /* in Carbon use GetPortPenVisibility or Show/HidePen*/
+ short txFont; /* in Carbon use GetPortTextFont or TextFont*/
+ StyleField txFace; /* in Carbon use GetPortTextFace or TextFace*/
+ /*StyleField occupies 16-bits, but only first 8-bits are used*/
+ short txMode; /* in Carbon use GetPortTextMode or TextMode*/
+ short txSize; /* in Carbon use GetPortTextSize or TextSize*/
+ Fixed spExtra; /* in Carbon use GetPortSpExtra or SpaceExtra*/
+ long fgColor; /* not available in Carbon */
+ long bkColor; /* not available in Carbon*/
+ short colrBit; /* not available in Carbon*/
+ short patStretch; /* not available in Carbon*/
+ Handle picSave; /* in Carbon use IsPortPictureBeingDefined*/
+ Handle rgnSave; /* not available in Carbon*/
+ Handle polySave; /* not available in Carbon*/
+ QDProcsPtr grafProcs; /* not available in Carbon all GrafPorts are CGrafPorts*/
+};
+typedef struct GrafPort GrafPort;
+typedef GrafPort * GrafPtr;
+/*
+ * This set of definitions "belongs" in Windows.
+ * But, there is a circularity in the headers where Windows includes Controls and
+ * Controls includes Windows. To break the circle, the information
+ * needed by Controls is moved from Windows to Quickdraw.
+ */
+typedef GrafPtr WindowPtr;
+typedef WindowPtr DialogPtr;
#else
- typedef struct OpaqueWindowPtr* WindowPtr;
- typedef struct OpaqueDialogPtr* DialogPtr;
- typedef struct OpaqueGrafPtr* GrafPtr;
+typedef struct OpaqueWindowPtr* WindowPtr;
+typedef struct OpaqueDialogPtr* DialogPtr;
+typedef struct OpaqueGrafPtr* GrafPtr;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- typedef WindowPtr WindowRef;
- /* DragConstraint constants to pass to DragGray,DragTheRgn, or ConstrainedDragRgn*/
- typedef UInt16 DragConstraint;
- enum
- {
- kNoConstraint = 0,
- kVerticalConstraint = 1,
- kHorizontalConstraint = 2
- };
-
-
- typedef CALLBACK_API(void , DragGrayRgnProcPtr)(void);
- /*
- * Here ends the list of things that "belong" in Windows.
- */
-
-
- struct RGBColor
- {
- unsigned short red; /*magnitude of red component*/
- unsigned short green; /*magnitude of green component*/
- unsigned short blue; /*magnitude of blue component*/
- };
- typedef struct RGBColor RGBColor;
- typedef RGBColor * RGBColorPtr;
- typedef RGBColorPtr * RGBColorHdl;
- 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;
- /*
- * NewDragGrayRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DragGrayRgnUPP)
- NewDragGrayRgnUPP(DragGrayRgnProcPtr userRoutine);
+typedef WindowPtr WindowRef;
+/* DragConstraint constants to pass to DragGray,DragTheRgn, or ConstrainedDragRgn*/
+typedef UInt16 DragConstraint;
+enum {
+ kNoConstraint = 0,
+ kVerticalConstraint = 1,
+ kHorizontalConstraint = 2
+};
+
+
+typedef CALLBACK_API( void , DragGrayRgnProcPtr )(void);
+/*
+ * Here ends the list of things that "belong" in Windows.
+ */
+
+
+struct RGBColor {
+ unsigned short red; /*magnitude of red component*/
+ unsigned short green; /*magnitude of green component*/
+ unsigned short blue; /*magnitude of blue component*/
+};
+typedef struct RGBColor RGBColor;
+typedef RGBColor * RGBColorPtr;
+typedef RGBColorPtr * RGBColorHdl;
+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;
+/*
+ * NewDragGrayRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DragGrayRgnUPP )
+NewDragGrayRgnUPP(DragGrayRgnProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDragGrayRgnProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
-#ifdef __cplusplus
- inline DEFINE_API_C(DragGrayRgnUPP) NewDragGrayRgnUPP(DragGrayRgnProcPtr userRoutine)
- {
- return (DragGrayRgnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragGrayRgnProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDragGrayRgnUPP(userRoutine) (DragGrayRgnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragGrayRgnProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDragGrayRgnProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DragGrayRgnUPP) NewDragGrayRgnUPP(DragGrayRgnProcPtr userRoutine) { return (DragGrayRgnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragGrayRgnProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDragGrayRgnUPP(userRoutine) (DragGrayRgnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragGrayRgnProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewColorSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ColorSearchUPP)
- NewColorSearchUPP(ColorSearchProcPtr userRoutine);
+/*
+ * NewColorSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ColorSearchUPP )
+NewColorSearchUPP(ColorSearchProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppColorSearchProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ColorSearchUPP) NewColorSearchUPP(ColorSearchProcPtr userRoutine)
- {
- return (ColorSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorSearchProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewColorSearchUPP(userRoutine) (ColorSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorSearchProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppColorSearchProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ColorSearchUPP) NewColorSearchUPP(ColorSearchProcPtr userRoutine) { return (ColorSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorSearchProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewColorSearchUPP(userRoutine) (ColorSearchUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorSearchProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewColorComplementUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ColorComplementUPP)
- NewColorComplementUPP(ColorComplementProcPtr userRoutine);
+/*
+ * NewColorComplementUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ColorComplementUPP )
+NewColorComplementUPP(ColorComplementProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppColorComplementProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ColorComplementUPP) NewColorComplementUPP(ColorComplementProcPtr userRoutine)
- {
- return (ColorComplementUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorComplementProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewColorComplementUPP(userRoutine) (ColorComplementUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorComplementProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppColorComplementProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ColorComplementUPP) NewColorComplementUPP(ColorComplementProcPtr userRoutine) { return (ColorComplementUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorComplementProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewColorComplementUPP(userRoutine) (ColorComplementUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorComplementProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDragGrayRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDragGrayRgnUPP(DragGrayRgnUPP userUPP);
+/*
+ * DisposeDragGrayRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDragGrayRgnUPP(DragGrayRgnUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDragGrayRgnUPP(DragGrayRgnUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDragGrayRgnUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDragGrayRgnUPP(DragGrayRgnUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDragGrayRgnUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeColorSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeColorSearchUPP(ColorSearchUPP userUPP);
+/*
+ * DisposeColorSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeColorSearchUPP(ColorSearchUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeColorSearchUPP(ColorSearchUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeColorSearchUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeColorSearchUPP(ColorSearchUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeColorSearchUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeColorComplementUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeColorComplementUPP(ColorComplementUPP userUPP);
+/*
+ * DisposeColorComplementUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeColorComplementUPP(ColorComplementUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeColorComplementUPP(ColorComplementUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeColorComplementUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeColorComplementUPP(ColorComplementUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeColorComplementUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDragGrayRgnUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDragGrayRgnUPP(DragGrayRgnUPP userUPP);
+/*
+ * InvokeDragGrayRgnUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDragGrayRgnUPP(DragGrayRgnUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDragGrayRgnUPP(DragGrayRgnUPP userUPP)
- {
- CALL_ZERO_PARAMETER_UPP(userUPP, uppDragGrayRgnProcInfo);
- }
-#else
-#define InvokeDragGrayRgnUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppDragGrayRgnProcInfo)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDragGrayRgnUPP(DragGrayRgnUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppDragGrayRgnProcInfo); }
+ #else
+ #define InvokeDragGrayRgnUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppDragGrayRgnProcInfo)
+ #endif
#endif
- /*
- * InvokeColorSearchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeColorSearchUPP(
- RGBColor * rgb,
- long * position,
- ColorSearchUPP userUPP);
+/*
+ * InvokeColorSearchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeColorSearchUPP(
+ RGBColor * rgb,
+ long * position,
+ ColorSearchUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeColorSearchUPP(RGBColor * rgb, long * position, ColorSearchUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppColorSearchProcInfo, rgb, position);
- }
-#else
-#define InvokeColorSearchUPP(rgb, position, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppColorSearchProcInfo, (rgb), (position))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeColorSearchUPP(RGBColor * rgb, long * position, ColorSearchUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppColorSearchProcInfo, rgb, position); }
+ #else
+ #define InvokeColorSearchUPP(rgb, position, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppColorSearchProcInfo, (rgb), (position))
+ #endif
#endif
- /*
- * InvokeColorComplementUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeColorComplementUPP(
- RGBColor * rgb,
- ColorComplementUPP userUPP);
+/*
+ * InvokeColorComplementUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeColorComplementUPP(
+ RGBColor * rgb,
+ ColorComplementUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeColorComplementUPP(RGBColor * rgb, ColorComplementUPP userUPP)
- {
- return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppColorComplementProcInfo, rgb);
- }
-#else
-#define InvokeColorComplementUPP(rgb, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppColorComplementProcInfo, (rgb))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeColorComplementUPP(RGBColor * rgb, ColorComplementUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppColorComplementProcInfo, rgb); }
+ #else
+ #define InvokeColorComplementUPP(rgb, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppColorComplementProcInfo, (rgb))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDragGrayRgnProc(userRoutine) NewDragGrayRgnUPP(userRoutine)
-#define NewColorSearchProc(userRoutine) NewColorSearchUPP(userRoutine)
-#define NewColorComplementProc(userRoutine) NewColorComplementUPP(userRoutine)
-#define CallDragGrayRgnProc(userRoutine) InvokeDragGrayRgnUPP(userRoutine)
-#define CallColorSearchProc(userRoutine, rgb, position) InvokeColorSearchUPP(rgb, position, userRoutine)
-#define CallColorComplementProc(userRoutine, rgb) InvokeColorComplementUPP(rgb, userRoutine)
+ #define NewDragGrayRgnProc(userRoutine) NewDragGrayRgnUPP(userRoutine)
+ #define NewColorSearchProc(userRoutine) NewColorSearchUPP(userRoutine)
+ #define NewColorComplementProc(userRoutine) NewColorComplementUPP(userRoutine)
+ #define CallDragGrayRgnProc(userRoutine) InvokeDragGrayRgnUPP(userRoutine)
+ #define CallColorSearchProc(userRoutine, rgb, position) InvokeColorSearchUPP(rgb, position, userRoutine)
+ #define CallColorComplementProc(userRoutine, rgb) InvokeColorComplementUPP(rgb, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- struct ColorSpec
- {
- short value; /*index or other value*/
- RGBColor rgb; /*true color*/
- };
- typedef struct ColorSpec ColorSpec;
- typedef ColorSpec * ColorSpecPtr;
- typedef ColorSpec CSpecArray[1];
- struct ColorTable
- {
- long ctSeed; /*unique identifier for table*/
- short ctFlags; /*high bit: 0 = PixMap; 1 = device*/
- short ctSize; /*number of entries in CTTable*/
- CSpecArray ctTable; /*array [0..0] of ColorSpec*/
- };
- typedef struct ColorTable ColorTable;
- typedef ColorTable * CTabPtr;
- typedef CTabPtr * CTabHandle;
- struct xColorSpec
- {
- short value; /*index or other value*/
- RGBColor rgb; /*true color*/
- short xalpha;
- };
- typedef struct xColorSpec xColorSpec;
- typedef xColorSpec * xColorSpecPtr;
- typedef xColorSpec xCSpecArray[1];
- struct MatchRec
- {
- unsigned short red;
- unsigned short green;
- unsigned short blue;
- long matchData;
- };
- typedef struct MatchRec MatchRec;
- /*
- QuickTime 3.0 makes PixMap data structure available on non-Mac OS's.
- In order to implement PixMap in these alternate environments, the PixMap
- had to be extended. The pmReserved field was changed to pmExt which is
- a Handle to extra info. The planeBytes field was changed to pixelFormat.
-
- In OS X, Quickdraw also uses the new PixMap data structure.
- */
+struct ColorSpec {
+ short value; /*index or other value*/
+ RGBColor rgb; /*true color*/
+};
+typedef struct ColorSpec ColorSpec;
+typedef ColorSpec * ColorSpecPtr;
+typedef ColorSpec CSpecArray[1];
+struct ColorTable {
+ long ctSeed; /*unique identifier for table*/
+ short ctFlags; /*high bit: 0 = PixMap; 1 = device*/
+ short ctSize; /*number of entries in CTTable*/
+ CSpecArray ctTable; /*array [0..0] of ColorSpec*/
+};
+typedef struct ColorTable ColorTable;
+typedef ColorTable * CTabPtr;
+typedef CTabPtr * CTabHandle;
+struct xColorSpec {
+ short value; /*index or other value*/
+ RGBColor rgb; /*true color*/
+ short xalpha;
+};
+typedef struct xColorSpec xColorSpec;
+typedef xColorSpec * xColorSpecPtr;
+typedef xColorSpec xCSpecArray[1];
+struct MatchRec {
+ unsigned short red;
+ unsigned short green;
+ unsigned short blue;
+ long matchData;
+};
+typedef struct MatchRec MatchRec;
+/*
+ QuickTime 3.0 makes PixMap data structure available on non-Mac OS's.
+ In order to implement PixMap in these alternate environments, the PixMap
+ had to be extended. The pmReserved field was changed to pmExt which is
+ a Handle to extra info. The planeBytes field was changed to pixelFormat.
+
+ In OS X, Quickdraw also uses the new PixMap data structure.
+*/
#ifndef OLDPIXMAPSTRUCT
#if TARGET_OS_MAC && TARGET_API_MAC_OS8
#define OLDPIXMAPSTRUCT 1
@@ -1839,159 +1638,150 @@ extern "C" {
#if OLDPIXMAPSTRUCT
-#define GETPIXMAPPIXELFORMAT(pm) ( (pm)->pixelSize )
+ #define GETPIXMAPPIXELFORMAT(pm) ( (pm)->pixelSize )
#else
-#define GETPIXMAPPIXELFORMAT(pm) ( ((pm)->pixelFormat != 0) ? (pm)->pixelFormat : (pm)->pixelSize )
+ #define GETPIXMAPPIXELFORMAT(pm) ( ((pm)->pixelFormat != 0) ? (pm)->pixelFormat : (pm)->pixelSize )
#endif
- /* You MUST remove the TARGET_API_MAC_OS8 because this must be 0 for OSX */
+/* You MUST remove the TARGET_API_MAC_OS8 because this must be 0 for OSX */
#if TARGET_OS_MAC && !TARGET_RT_LITTLE_ENDIAN
-#define NON_MAC_PIXEL_FORMATS 0
+ #define NON_MAC_PIXEL_FORMATS 0
#else
-#define NON_MAC_PIXEL_FORMATS 1
-#endif
-
- /* pixel formats*/
- enum
- {
- 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)*/
- k1IndexedGrayPixelFormat = 0x00000021, /* 1 bit indexed gray*/
- k2IndexedGrayPixelFormat = 0x00000022, /* 2 bit indexed gray*/
- k4IndexedGrayPixelFormat = 0x00000024, /* 4 bit indexed gray*/
- k8IndexedGrayPixelFormat = 0x00000028 /* 8 bit indexed gray*/
- };
-
-
- /* values for PixMap.pixelFormat*/
- enum
- {
- k16LE555PixelFormat = FOUR_CHAR_CODE('L555'), /* 16 bit LE rgb 555 (PC)*/
- k16LE5551PixelFormat = FOUR_CHAR_CODE('5551'), /* 16 bit LE rgb 5551*/
- k16BE565PixelFormat = FOUR_CHAR_CODE('B565'), /* 16 bit BE rgb 565*/
- k16LE565PixelFormat = FOUR_CHAR_CODE('L565'), /* 16 bit LE rgb 565*/
- k24BGRPixelFormat = FOUR_CHAR_CODE('24BG'), /* 24 bit bgr */
- k32BGRAPixelFormat = FOUR_CHAR_CODE('BGRA'), /* 32 bit bgra (Matrox)*/
- k32ABGRPixelFormat = FOUR_CHAR_CODE('ABGR'), /* 32 bit abgr */
- k32RGBAPixelFormat = FOUR_CHAR_CODE('RGBA'), /* 32 bit rgba */
- kYUVSPixelFormat = FOUR_CHAR_CODE('yuvs'), /* YUV 4:2:2 byte ordering 16-unsigned = 'YUY2'*/
- kYUVUPixelFormat = FOUR_CHAR_CODE('yuvu'), /* YUV 4:2:2 byte ordering 16-signed*/
- kYVU9PixelFormat = FOUR_CHAR_CODE('YVU9'), /* YVU9 Planar 9*/
- kYUV411PixelFormat = FOUR_CHAR_CODE('Y411'), /* YUV 4:1:1 Interleaved 16*/
- kYVYU422PixelFormat = FOUR_CHAR_CODE('YVYU'), /* YVYU 4:2:2 byte ordering 16*/
- kUYVY422PixelFormat = FOUR_CHAR_CODE('UYVY'), /* UYVY 4:2:2 byte ordering 16*/
- kYUV211PixelFormat = FOUR_CHAR_CODE('Y211'), /* YUV 2:1:1 Packed 8*/
- k2vuyPixelFormat = FOUR_CHAR_CODE('2vuy') /* UYVY 4:2:2 byte ordering 16*/
- };
-
-
- 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*/
- long 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*/
+ #define NON_MAC_PIXEL_FORMATS 1
+#endif
+
+/* pixel formats*/
+enum {
+ 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)*/
+ k1IndexedGrayPixelFormat = 0x00000021, /* 1 bit indexed gray*/
+ k2IndexedGrayPixelFormat = 0x00000022, /* 2 bit indexed gray*/
+ k4IndexedGrayPixelFormat = 0x00000024, /* 4 bit indexed gray*/
+ k8IndexedGrayPixelFormat = 0x00000028 /* 8 bit indexed gray*/
+};
+
+
+/* values for PixMap.pixelFormat*/
+enum {
+ k16LE555PixelFormat = FOUR_CHAR_CODE('L555'), /* 16 bit LE rgb 555 (PC)*/
+ k16LE5551PixelFormat = FOUR_CHAR_CODE('5551'), /* 16 bit LE rgb 5551*/
+ k16BE565PixelFormat = FOUR_CHAR_CODE('B565'), /* 16 bit BE rgb 565*/
+ k16LE565PixelFormat = FOUR_CHAR_CODE('L565'), /* 16 bit LE rgb 565*/
+ k24BGRPixelFormat = FOUR_CHAR_CODE('24BG'), /* 24 bit bgr */
+ k32BGRAPixelFormat = FOUR_CHAR_CODE('BGRA'), /* 32 bit bgra (Matrox)*/
+ k32ABGRPixelFormat = FOUR_CHAR_CODE('ABGR'), /* 32 bit abgr */
+ k32RGBAPixelFormat = FOUR_CHAR_CODE('RGBA'), /* 32 bit rgba */
+ kYUVSPixelFormat = FOUR_CHAR_CODE('yuvs'), /* YUV 4:2:2 byte ordering 16-unsigned = 'YUY2'*/
+ kYUVUPixelFormat = FOUR_CHAR_CODE('yuvu'), /* YUV 4:2:2 byte ordering 16-signed*/
+ kYVU9PixelFormat = FOUR_CHAR_CODE('YVU9'), /* YVU9 Planar 9*/
+ kYUV411PixelFormat = FOUR_CHAR_CODE('Y411'), /* YUV 4:1:1 Interleaved 16*/
+ kYVYU422PixelFormat = FOUR_CHAR_CODE('YVYU'), /* YVYU 4:2:2 byte ordering 16*/
+ kUYVY422PixelFormat = FOUR_CHAR_CODE('UYVY'), /* UYVY 4:2:2 byte ordering 16*/
+ kYUV211PixelFormat = FOUR_CHAR_CODE('Y211'), /* YUV 2:1:1 Packed 8*/
+ k2vuyPixelFormat = FOUR_CHAR_CODE('2vuy') /* UYVY 4:2:2 byte ordering 16*/
+};
+
+
+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*/
+ long 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*/
#if OLDPIXMAPSTRUCT
- long planeBytes; /*offset to next plane*/
- CTabHandle pmTable; /*color map for this pixMap*/
- long pmReserved;
+ long planeBytes; /*offset to next plane*/
+ CTabHandle pmTable; /*color map for this pixMap*/
+ long pmReserved;
#else
- OSType pixelFormat; /*fourCharCode representation*/
- CTabHandle pmTable; /*color map for this pixMap*/
- void* pmExt; /*Handle to pixMap extension*/
-#endif
- };
- typedef struct PixMap PixMap;
- typedef PixMap * PixMapPtr;
- typedef PixMapPtr * PixMapHandle;
- 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;
- struct CCrsr
- {
- short crsrType; /*type of cursor*/
- PixMapHandle crsrMap; /*the cursor's pixmap*/
- Handle crsrData; /*cursor's data*/
- Handle crsrXData; /*expanded cursor data*/
- short crsrXValid; /*depth of expanded data (0 if none)*/
- Handle crsrXHandle; /*future use*/
- Bits16 crsr1Data; /*one-bit cursor*/
- Bits16 crsrMask; /*cursor's mask*/
- Point crsrHotSpot; /*cursor's hotspot*/
- long crsrXTable; /*private*/
- long crsrID; /*private*/
- };
- typedef struct CCrsr CCrsr;
- typedef CCrsr * CCrsrPtr;
- typedef CCrsrPtr * CCrsrHandle;
- struct GammaTbl
- {
- short gVersion; /*gamma version number*/
- short gType; /*gamma data type*/
- short gFormulaSize; /*Formula data size*/
- short gChanCnt; /*number of channels of data*/
- short gDataCnt; /*number of values/channel*/
- short gDataWidth; /*bits/corrected value (data packed to next larger byte size)*/
- short gFormulaData[1]; /*data for formulas followed by gamma values*/
- };
- typedef struct GammaTbl GammaTbl;
- typedef GammaTbl * GammaTblPtr;
- typedef GammaTblPtr * GammaTblHandle;
- struct ITab
- {
- long iTabSeed; /*copy of CTSeed from source CTable*/
- short iTabRes; /*bits/channel resolution of iTable*/
- Byte iTTable[1]; /*byte colortable index values*/
- };
- typedef struct ITab ITab;
- typedef ITab * ITabPtr;
- typedef ITabPtr * ITabHandle;
- struct SProcRec
- {
- Handle nxtSrch; /*SProcHndl Handle to next SProcRec*/
- ColorSearchUPP srchProc; /*search procedure proc ptr*/
- };
- typedef struct SProcRec SProcRec;
- typedef SProcRec * SProcPtr;
- typedef SProcPtr * SProcHndl;
- struct CProcRec
- {
- Handle nxtComp; /*CProcHndl Handle to next CProcRec*/
- ColorComplementUPP compProc; /*complement procedure proc ptr*/
- };
- typedef struct CProcRec CProcRec;
- typedef CProcRec * CProcPtr;
- typedef CProcPtr * CProcHndl;
- /*
- QuickTime 3.0 makes GDevice data structure available on non-Mac OS's.
- In order to implement GDevice in these alternate environments, the GDevice
- had to be extended. The gdReserved field was changed to gdExt which is
- a Handle to extra info.
- */
+ OSType pixelFormat; /*fourCharCode representation*/
+ CTabHandle pmTable; /*color map for this pixMap*/
+ void* pmExt; /*Handle to pixMap extension*/
+#endif
+};
+typedef struct PixMap PixMap;
+typedef PixMap * PixMapPtr;
+typedef PixMapPtr * PixMapHandle;
+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;
+struct CCrsr {
+ short crsrType; /*type of cursor*/
+ PixMapHandle crsrMap; /*the cursor's pixmap*/
+ Handle crsrData; /*cursor's data*/
+ Handle crsrXData; /*expanded cursor data*/
+ short crsrXValid; /*depth of expanded data (0 if none)*/
+ Handle crsrXHandle; /*future use*/
+ Bits16 crsr1Data; /*one-bit cursor*/
+ Bits16 crsrMask; /*cursor's mask*/
+ Point crsrHotSpot; /*cursor's hotspot*/
+ long crsrXTable; /*private*/
+ long crsrID; /*private*/
+};
+typedef struct CCrsr CCrsr;
+typedef CCrsr * CCrsrPtr;
+typedef CCrsrPtr * CCrsrHandle;
+struct GammaTbl {
+ short gVersion; /*gamma version number*/
+ short gType; /*gamma data type*/
+ short gFormulaSize; /*Formula data size*/
+ short gChanCnt; /*number of channels of data*/
+ short gDataCnt; /*number of values/channel*/
+ short gDataWidth; /*bits/corrected value (data packed to next larger byte size)*/
+ short gFormulaData[1]; /*data for formulas followed by gamma values*/
+};
+typedef struct GammaTbl GammaTbl;
+typedef GammaTbl * GammaTblPtr;
+typedef GammaTblPtr * GammaTblHandle;
+struct ITab {
+ long iTabSeed; /*copy of CTSeed from source CTable*/
+ short iTabRes; /*bits/channel resolution of iTable*/
+ Byte iTTable[1]; /*byte colortable index values*/
+};
+typedef struct ITab ITab;
+typedef ITab * ITabPtr;
+typedef ITabPtr * ITabHandle;
+struct SProcRec {
+ Handle nxtSrch; /*SProcHndl Handle to next SProcRec*/
+ ColorSearchUPP srchProc; /*search procedure proc ptr*/
+};
+typedef struct SProcRec SProcRec;
+typedef SProcRec * SProcPtr;
+typedef SProcPtr * SProcHndl;
+struct CProcRec {
+ Handle nxtComp; /*CProcHndl Handle to next CProcRec*/
+ ColorComplementUPP compProc; /*complement procedure proc ptr*/
+};
+typedef struct CProcRec CProcRec;
+typedef CProcRec * CProcPtr;
+typedef CProcPtr * CProcHndl;
+/*
+ QuickTime 3.0 makes GDevice data structure available on non-Mac OS's.
+ In order to implement GDevice in these alternate environments, the GDevice
+ had to be extended. The gdReserved field was changed to gdExt which is
+ a Handle to extra info.
+*/
#ifndef OLDGDEVICESTRUCT
#if TARGET_OS_MAC && TARGET_API_MAC_OS8
#define OLDGDEVICESTRUCT 1
@@ -2001,589 +1791,551 @@ extern "C" {
#endif /* !defined(OLDGDEVICESTRUCT) */
- 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*/
- ITabHandle gdITable; /*Handle to inverse lookup table*/
- short gdResPref; /*preferred resolution of GDITable*/
- SProcHndl gdSearchProc; /*search proc list head*/
- CProcHndl gdCompProc; /*complement proc list*/
- short gdFlags; /*grafDevice flags word*/
- PixMapHandle gdPMap; /*describing pixMap*/
- long gdRefCon; /*reference value*/
- GDHandle gdNextGD; /*GDHandle Handle of next gDevice*/
- Rect gdRect; /* device's bounds in global coordinates*/
- long 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*/
+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*/
+ ITabHandle gdITable; /*Handle to inverse lookup table*/
+ short gdResPref; /*preferred resolution of GDITable*/
+ SProcHndl gdSearchProc; /*search proc list head*/
+ CProcHndl gdCompProc; /*complement proc list*/
+ short gdFlags; /*grafDevice flags word*/
+ PixMapHandle gdPMap; /*describing pixMap*/
+ long gdRefCon; /*reference value*/
+ GDHandle gdNextGD; /*GDHandle Handle of next gDevice*/
+ Rect gdRect; /* device's bounds in global coordinates*/
+ long 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*/
#if OLDGDEVICESTRUCT
- long gdReserved; /*future use. MUST BE 0*/
+ long gdReserved; /*future use. MUST BE 0*/
#else
- Handle gdExt; /*QuickTime 3.0 private info*/
-#endif
- };
-
- struct GrafVars
- {
- RGBColor rgbOpColor; /*color for addPin subPin and average*/
- RGBColor rgbHiliteColor; /*color for hiliting*/
- Handle pmFgColor; /*palette Handle for foreground color*/
- short pmFgIndex; /*index value for foreground*/
- Handle pmBkColor; /*palette Handle for background color*/
- short pmBkIndex; /*index value for background*/
- short pmFlags; /*flags for Palette Manager*/
- };
- typedef struct GrafVars GrafVars;
- typedef GrafVars * GVarPtr;
- typedef GVarPtr * GVarHandle;
+ Handle gdExt; /*QuickTime 3.0 private info*/
+#endif
+};
+
+struct GrafVars {
+ RGBColor rgbOpColor; /*color for addPin subPin and average*/
+ RGBColor rgbHiliteColor; /*color for hiliting*/
+ Handle pmFgColor; /*palette Handle for foreground color*/
+ short pmFgIndex; /*index value for foreground*/
+ Handle pmBkColor; /*palette Handle for background color*/
+ short pmBkIndex; /*index value for background*/
+ short pmFlags; /*flags for Palette Manager*/
+};
+typedef struct GrafVars GrafVars;
+typedef GrafVars * GVarPtr;
+typedef GVarPtr * GVarHandle;
#if !OPAQUE_TOOLBOX_STRUCTS
- typedef struct CGrafPort CGrafPort;
- typedef CGrafPort * CGrafPtr;
+typedef struct CGrafPort CGrafPort;
+typedef CGrafPort * CGrafPtr;
#else
- typedef GrafPtr CGrafPtr;
+typedef GrafPtr CGrafPtr;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- typedef CALLBACK_API_C(OSStatus , QDPrinterStatusProcPtr)(PrinterStatusOpcode opcode, CGrafPtr currentPort, void *printerStatus);
- 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; /* was newProc2; now used in Unicode text drawing */
- 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;
+typedef CALLBACK_API_C( OSStatus , QDPrinterStatusProcPtr )(PrinterStatusOpcode opcode, CGrafPtr currentPort, void *printerStatus);
+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; /* was newProc2; now used in Unicode text drawing */
+ 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;
#if !OPAQUE_TOOLBOX_STRUCTS
- struct CGrafPort
- {
- short device; /* not available in Carbon*/
- PixMapHandle portPixMap; /* in Carbon use GetPortPixMap*/
- short portVersion; /* in Carbon use IsPortColor*/
- Handle grafVars; /* not available in Carbon*/
- short chExtra; /* in Carbon use GetPortChExtra*/
- short pnLocHFrac; /* in Carbon use Get/SetPortFracHPenLocation*/
- Rect portRect; /* in Carbon use Get/SetPortBounds*/
- RgnHandle visRgn; /* in Carbon use Get/SetPortVisibleRegion*/
- RgnHandle clipRgn; /* in Carbon use Get/SetPortClipRegion*/
- PixPatHandle bkPixPat; /* in Carbon use GetPortBackPixPat or BackPixPat*/
- RGBColor rgbFgColor; /* in Carbon use GetPortForeColor or RGBForeColor*/
- RGBColor rgbBkColor; /* in Carbon use GetPortBackColor or RGBBackColor*/
- Point pnLoc; /* in Carbon use GetPortPenLocation or MoveTo*/
- Point pnSize; /* in Carbon use Get/SetPortPenSize*/
- short pnMode; /* in Carbon use Get/SetPortPenMode*/
- PixPatHandle pnPixPat; /* in Carbon use Get/SetPortPenPixPat*/
- PixPatHandle fillPixPat; /* in Carbon use GetPortFillPixPat*/
- short pnVis; /* in Carbon use GetPortPenVisibility or Show/HidePen*/
- short txFont; /* in Carbon use GetPortTextFont or TextFont*/
- StyleField txFace; /* in Carbon use GetPortTextFace or TextFace*/
- /*StyleField occupies 16-bits, but only first 8-bits are used*/
- short txMode; /* in Carbon use GetPortTextMode or TextMode*/
- short txSize; /* in Carbon use GetPortTextSize or TextSize*/
- Fixed spExtra; /* in Carbon use GetPortSpExtra or SpaceExtra*/
- long fgColor; /* not available in Carbon*/
- long bkColor; /* not available in Carbon*/
- short colrBit; /* not available in Carbon*/
- short patStretch; /* not available in Carbon*/
- Handle picSave; /* in Carbon use IsPortPictureBeingDefined*/
- Handle rgnSave; /* in Carbon use IsPortRegionBeingDefined*/
- Handle polySave; /* in Carbon use IsPortPolyBeingDefined*/
- CQDProcsPtr grafProcs; /* in Carbon use Get/SetPortGrafProcs*/
- };
+struct CGrafPort {
+ short device; /* not available in Carbon*/
+ PixMapHandle portPixMap; /* in Carbon use GetPortPixMap*/
+ short portVersion; /* in Carbon use IsPortColor*/
+ Handle grafVars; /* not available in Carbon*/
+ short chExtra; /* in Carbon use GetPortChExtra*/
+ short pnLocHFrac; /* in Carbon use Get/SetPortFracHPenLocation*/
+ Rect portRect; /* in Carbon use Get/SetPortBounds*/
+ RgnHandle visRgn; /* in Carbon use Get/SetPortVisibleRegion*/
+ RgnHandle clipRgn; /* in Carbon use Get/SetPortClipRegion*/
+ PixPatHandle bkPixPat; /* in Carbon use GetPortBackPixPat or BackPixPat*/
+ RGBColor rgbFgColor; /* in Carbon use GetPortForeColor or RGBForeColor*/
+ RGBColor rgbBkColor; /* in Carbon use GetPortBackColor or RGBBackColor*/
+ Point pnLoc; /* in Carbon use GetPortPenLocation or MoveTo*/
+ Point pnSize; /* in Carbon use Get/SetPortPenSize*/
+ short pnMode; /* in Carbon use Get/SetPortPenMode*/
+ PixPatHandle pnPixPat; /* in Carbon use Get/SetPortPenPixPat*/
+ PixPatHandle fillPixPat; /* in Carbon use GetPortFillPixPat*/
+ short pnVis; /* in Carbon use GetPortPenVisibility or Show/HidePen*/
+ short txFont; /* in Carbon use GetPortTextFont or TextFont*/
+ StyleField txFace; /* in Carbon use GetPortTextFace or TextFace*/
+ /*StyleField occupies 16-bits, but only first 8-bits are used*/
+ short txMode; /* in Carbon use GetPortTextMode or TextMode*/
+ short txSize; /* in Carbon use GetPortTextSize or TextSize*/
+ Fixed spExtra; /* in Carbon use GetPortSpExtra or SpaceExtra*/
+ long fgColor; /* not available in Carbon*/
+ long bkColor; /* not available in Carbon*/
+ short colrBit; /* not available in Carbon*/
+ short patStretch; /* not available in Carbon*/
+ Handle picSave; /* in Carbon use IsPortPictureBeingDefined*/
+ Handle rgnSave; /* in Carbon use IsPortRegionBeingDefined*/
+ Handle polySave; /* in Carbon use IsPortPolyBeingDefined*/
+ CQDProcsPtr grafProcs; /* in Carbon use Get/SetPortGrafProcs*/
+};
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
#if OPAQUE_TOOLBOX_STRUCTS
- typedef WindowPtr CWindowPtr;
+typedef WindowPtr CWindowPtr;
#else
- typedef CGrafPtr CWindowPtr;
+typedef CGrafPtr CWindowPtr;
#endif /* OPAQUE_TOOLBOX_STRUCTS */
- struct ReqListRec
- {
- short reqLSize; /*request list size*/
- short reqLData[1]; /*request list data*/
- };
- typedef struct ReqListRec ReqListRec;
- struct OpenCPicParams
- {
- Rect srcRect;
- Fixed hRes;
- Fixed vRes;
- short version;
- short reserved1;
- long reserved2;
- };
- typedef struct OpenCPicParams OpenCPicParams;
- enum
- {
- kCursorImageMajorVersion = 0x0001,
- kCursorImageMinorVersion = 0x0000
- };
-
- struct CursorImageRec
- {
- UInt16 majorVersion;
- UInt16 minorVersion;
- PixMapHandle cursorPixMap;
- BitMapHandle cursorBitMask;
- };
- typedef struct CursorImageRec CursorImageRec;
- typedef CursorImageRec * CursorImagePtr;
- typedef CALLBACK_API(void , DeviceLoopDrawingProcPtr)(short depth, short deviceFlags, GDHandle targetDevice, long userData);
- typedef STACK_UPP_TYPE(DeviceLoopDrawingProcPtr) DeviceLoopDrawingUPP;
+struct ReqListRec {
+ short reqLSize; /*request list size*/
+ short reqLData[1]; /*request list data*/
+};
+typedef struct ReqListRec ReqListRec;
+struct OpenCPicParams {
+ Rect srcRect;
+ Fixed hRes;
+ Fixed vRes;
+ short version;
+ short reserved1;
+ long reserved2;
+};
+typedef struct OpenCPicParams OpenCPicParams;
+enum {
+ kCursorImageMajorVersion = 0x0001,
+ kCursorImageMinorVersion = 0x0000
+};
+
+struct CursorImageRec {
+ UInt16 majorVersion;
+ UInt16 minorVersion;
+ PixMapHandle cursorPixMap;
+ BitMapHandle cursorBitMask;
+};
+typedef struct CursorImageRec CursorImageRec;
+typedef CursorImageRec * CursorImagePtr;
+typedef CALLBACK_API( void , DeviceLoopDrawingProcPtr )(short depth, short deviceFlags, GDHandle targetDevice, long userData);
+typedef STACK_UPP_TYPE(DeviceLoopDrawingProcPtr) DeviceLoopDrawingUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewQDPrinterStatusUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(QDPrinterStatusUPP)
- NewQDPrinterStatusUPP(QDPrinterStatusProcPtr userRoutine);
+/*
+ * NewQDPrinterStatusUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( QDPrinterStatusUPP )
+NewQDPrinterStatusUPP(QDPrinterStatusProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppQDPrinterStatusProcInfo = 0x00000FF1 }; /* 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(QDPrinterStatusUPP) NewQDPrinterStatusUPP(QDPrinterStatusProcPtr userRoutine)
- {
- return (QDPrinterStatusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPrinterStatusProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewQDPrinterStatusUPP(userRoutine) (QDPrinterStatusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPrinterStatusProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppQDPrinterStatusProcInfo = 0x00000FF1 }; /* 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(QDPrinterStatusUPP) NewQDPrinterStatusUPP(QDPrinterStatusProcPtr userRoutine) { return (QDPrinterStatusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPrinterStatusProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewQDPrinterStatusUPP(userRoutine) (QDPrinterStatusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPrinterStatusProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewDeviceLoopDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DeviceLoopDrawingUPP)
- NewDeviceLoopDrawingUPP(DeviceLoopDrawingProcPtr userRoutine);
+/*
+ * NewDeviceLoopDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DeviceLoopDrawingUPP )
+NewDeviceLoopDrawingUPP(DeviceLoopDrawingProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDeviceLoopDrawingProcInfo = 0x00003E80 }; /* pascal no_return_value Func(2_bytes, 2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DeviceLoopDrawingUPP) NewDeviceLoopDrawingUPP(DeviceLoopDrawingProcPtr userRoutine)
- {
- return (DeviceLoopDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeviceLoopDrawingProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDeviceLoopDrawingUPP(userRoutine) (DeviceLoopDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeviceLoopDrawingProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDeviceLoopDrawingProcInfo = 0x00003E80 }; /* pascal no_return_value Func(2_bytes, 2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DeviceLoopDrawingUPP) NewDeviceLoopDrawingUPP(DeviceLoopDrawingProcPtr userRoutine) { return (DeviceLoopDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeviceLoopDrawingProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDeviceLoopDrawingUPP(userRoutine) (DeviceLoopDrawingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeviceLoopDrawingProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * DisposeQDPrinterStatusUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeQDPrinterStatusUPP(QDPrinterStatusUPP userUPP);
+/*
+ * DisposeQDPrinterStatusUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeQDPrinterStatusUPP(QDPrinterStatusUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeQDPrinterStatusUPP(QDPrinterStatusUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeQDPrinterStatusUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeQDPrinterStatusUPP(QDPrinterStatusUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeQDPrinterStatusUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DisposeDeviceLoopDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDeviceLoopDrawingUPP(DeviceLoopDrawingUPP userUPP);
+/*
+ * DisposeDeviceLoopDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDeviceLoopDrawingUPP(DeviceLoopDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDeviceLoopDrawingUPP(DeviceLoopDrawingUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDeviceLoopDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDeviceLoopDrawingUPP(DeviceLoopDrawingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDeviceLoopDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * InvokeQDPrinterStatusUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSStatus)
- InvokeQDPrinterStatusUPP(
- PrinterStatusOpcode opcode,
- CGrafPtr currentPort,
- void * printerStatus,
- QDPrinterStatusUPP userUPP);
+/*
+ * InvokeQDPrinterStatusUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSStatus )
+InvokeQDPrinterStatusUPP(
+ PrinterStatusOpcode opcode,
+ CGrafPtr currentPort,
+ void * printerStatus,
+ QDPrinterStatusUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeQDPrinterStatusUPP(PrinterStatusOpcode opcode, CGrafPtr currentPort, void * printerStatus, QDPrinterStatusUPP userUPP)
- {
- return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppQDPrinterStatusProcInfo, opcode, currentPort, printerStatus);
- }
-#else
-#define InvokeQDPrinterStatusUPP(opcode, currentPort, printerStatus, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppQDPrinterStatusProcInfo, (opcode), (currentPort), (printerStatus))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeQDPrinterStatusUPP(PrinterStatusOpcode opcode, CGrafPtr currentPort, void * printerStatus, QDPrinterStatusUPP userUPP) { return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppQDPrinterStatusProcInfo, opcode, currentPort, printerStatus); }
+ #else
+ #define InvokeQDPrinterStatusUPP(opcode, currentPort, printerStatus, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppQDPrinterStatusProcInfo, (opcode), (currentPort), (printerStatus))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * InvokeDeviceLoopDrawingUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDeviceLoopDrawingUPP(
- short depth,
- short deviceFlags,
- GDHandle targetDevice,
- long userData,
- DeviceLoopDrawingUPP userUPP);
+/*
+ * InvokeDeviceLoopDrawingUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDeviceLoopDrawingUPP(
+ short depth,
+ short deviceFlags,
+ GDHandle targetDevice,
+ long userData,
+ DeviceLoopDrawingUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDeviceLoopDrawingUPP(short depth, short deviceFlags, GDHandle targetDevice, long userData, DeviceLoopDrawingUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppDeviceLoopDrawingProcInfo, depth, deviceFlags, targetDevice, userData);
- }
-#else
-#define InvokeDeviceLoopDrawingUPP(depth, deviceFlags, targetDevice, userData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppDeviceLoopDrawingProcInfo, (depth), (deviceFlags), (targetDevice), (userData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDeviceLoopDrawingUPP(short depth, short deviceFlags, GDHandle targetDevice, long userData, DeviceLoopDrawingUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppDeviceLoopDrawingProcInfo, depth, deviceFlags, targetDevice, userData); }
+ #else
+ #define InvokeDeviceLoopDrawingUPP(depth, deviceFlags, targetDevice, userData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppDeviceLoopDrawingProcInfo, (depth), (deviceFlags), (targetDevice), (userData))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewQDPrinterStatusProc(userRoutine) NewQDPrinterStatusUPP(userRoutine)
-#define NewDeviceLoopDrawingProc(userRoutine) NewDeviceLoopDrawingUPP(userRoutine)
-#define CallQDPrinterStatusProc(userRoutine, opcode, currentPort, printerStatus) InvokeQDPrinterStatusUPP(opcode, currentPort, printerStatus, userRoutine)
-#define CallDeviceLoopDrawingProc(userRoutine, depth, deviceFlags, targetDevice, userData) InvokeDeviceLoopDrawingUPP(depth, deviceFlags, targetDevice, userData, userRoutine)
+ #define NewQDPrinterStatusProc(userRoutine) NewQDPrinterStatusUPP(userRoutine)
+ #define NewDeviceLoopDrawingProc(userRoutine) NewDeviceLoopDrawingUPP(userRoutine)
+ #define CallQDPrinterStatusProc(userRoutine, opcode, currentPort, printerStatus) InvokeQDPrinterStatusUPP(opcode, currentPort, printerStatus, userRoutine)
+ #define CallDeviceLoopDrawingProc(userRoutine, depth, deviceFlags, targetDevice, userData) InvokeDeviceLoopDrawingUPP(depth, deviceFlags, targetDevice, userData, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if !OPAQUE_TOOLBOX_STRUCTS || !TARGET_API_MAC_CARBON
- struct QDGlobals
- {
- char privates[76];
- long randSeed; /* in Carbon use GetQDGlobalsRandomSeed*/
- BitMap screenBits; /* in Carbon use GetQDGlobalsScreenBits*/
- Cursor arrow; /* in Carbon use GetQDGlobalsArrow*/
- Pattern dkGray; /* in Carbon use GetQDGlobalsDarkGray*/
- Pattern ltGray; /* in Carbon use GetQDGlobalsLightGray*/
- Pattern gray; /* in Carbon use GetQDGlobalsGray*/
- Pattern black; /* in Carbon use GetQDGlobalsBlack*/
- Pattern white; /* in Carbon use GetQDGlobalsWhite*/
- GrafPtr thePort; /* in Carbon use GetQDGlobalsThePort*/
- };
- typedef struct QDGlobals QDGlobals;
- typedef QDGlobals * QDGlobalsPtr;
- typedef QDGlobalsPtr * QDGlobalsHdl;
- extern QDGlobals qd;
+struct QDGlobals {
+ char privates[76];
+ long randSeed; /* in Carbon use GetQDGlobalsRandomSeed*/
+ BitMap screenBits; /* in Carbon use GetQDGlobalsScreenBits*/
+ Cursor arrow; /* in Carbon use GetQDGlobalsArrow*/
+ Pattern dkGray; /* in Carbon use GetQDGlobalsDarkGray*/
+ Pattern ltGray; /* in Carbon use GetQDGlobalsLightGray*/
+ Pattern gray; /* in Carbon use GetQDGlobalsGray*/
+ Pattern black; /* in Carbon use GetQDGlobalsBlack*/
+ Pattern white; /* in Carbon use GetQDGlobalsWhite*/
+ GrafPtr thePort; /* in Carbon use GetQDGlobalsThePort*/
+};
+typedef struct QDGlobals QDGlobals;
+typedef QDGlobals * QDGlobalsPtr;
+typedef QDGlobalsPtr * QDGlobalsHdl;
+extern QDGlobals qd;
#endif /* !OPAQUE_TOOLBOX_STRUCTS || !TARGET_API_MAC_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * InitGraf()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitGraf(void * globalPtr) ONEWORDINLINE(0xA86E);
-
-
- /*
- * OpenPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OpenPort(GrafPtr port) ONEWORDINLINE(0xA86F);
-
-
- /*
- * InitPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitPort(GrafPtr port) ONEWORDINLINE(0xA86D);
-
-
- /*
- * ClosePort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- ClosePort(GrafPtr port) ONEWORDINLINE(0xA87D);
-
-
- /*
- These are Carbon only routines. They do nothing at all on
- Mac OS 8, but work flawlessly on Mac OS X.
- */
+/*
+ * InitGraf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitGraf(void * globalPtr) ONEWORDINLINE(0xA86E);
+
+
+/*
+ * OpenPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OpenPort(GrafPtr port) ONEWORDINLINE(0xA86F);
+
+
+/*
+ * InitPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitPort(GrafPtr port) ONEWORDINLINE(0xA86D);
+
+
+/*
+ * ClosePort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+ClosePort(GrafPtr port) ONEWORDINLINE(0xA87D);
+
+
+/*
+ These are Carbon only routines. They do nothing at all on
+ Mac OS 8, but work flawlessly on Mac OS X.
+*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * LockPortBits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- LockPortBits(GrafPtr port);
-
-
- /*
- * UnlockPortBits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UnlockPortBits(GrafPtr port);
-
-
- /* Break a region up into rectangles.*/
-
- enum
- {
- kQDParseRegionFromTop = (1 << 0),
- kQDParseRegionFromBottom = (1 << 1),
- kQDParseRegionFromLeft = (1 << 2),
- kQDParseRegionFromRight = (1 << 3),
- kQDParseRegionFromTopLeft = kQDParseRegionFromTop | kQDParseRegionFromLeft,
- kQDParseRegionFromBottomRight = kQDParseRegionFromBottom | kQDParseRegionFromRight
- };
-
- typedef SInt32 QDRegionParseDirection;
- enum
- {
- kQDRegionToRectsMsgInit = 1,
- kQDRegionToRectsMsgParse = 2,
- kQDRegionToRectsMsgTerminate = 3
- };
-
- typedef CALLBACK_API_C(OSStatus , RegionToRectsProcPtr)(UInt16 message, RgnHandle rgn, const Rect *rect, void *refCon);
- typedef STACK_UPP_TYPE(RegionToRectsProcPtr) RegionToRectsUPP;
- /*
- * NewRegionToRectsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(RegionToRectsUPP)
- NewRegionToRectsUPP(RegionToRectsProcPtr userRoutine);
+/*
+ * LockPortBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+LockPortBits(GrafPtr port);
+
+
+/*
+ * UnlockPortBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UnlockPortBits(GrafPtr port);
+
+
+/* Break a region up into rectangles.*/
+
+enum {
+ kQDParseRegionFromTop = (1 << 0),
+ kQDParseRegionFromBottom = (1 << 1),
+ kQDParseRegionFromLeft = (1 << 2),
+ kQDParseRegionFromRight = (1 << 3),
+ kQDParseRegionFromTopLeft = kQDParseRegionFromTop | kQDParseRegionFromLeft,
+ kQDParseRegionFromBottomRight = kQDParseRegionFromBottom | kQDParseRegionFromRight
+};
+
+typedef SInt32 QDRegionParseDirection;
+enum {
+ kQDRegionToRectsMsgInit = 1,
+ kQDRegionToRectsMsgParse = 2,
+ kQDRegionToRectsMsgTerminate = 3
+};
+
+typedef CALLBACK_API_C( OSStatus , RegionToRectsProcPtr )(UInt16 message, RgnHandle rgn, const Rect *rect, void *refCon);
+typedef STACK_UPP_TYPE(RegionToRectsProcPtr) RegionToRectsUPP;
+/*
+ * NewRegionToRectsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( RegionToRectsUPP )
+NewRegionToRectsUPP(RegionToRectsProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppRegionToRectsProcInfo = 0x00003FB1 }; /* 4_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(RegionToRectsUPP) NewRegionToRectsUPP(RegionToRectsProcPtr userRoutine)
- {
- return (RegionToRectsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRegionToRectsProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewRegionToRectsUPP(userRoutine) (RegionToRectsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRegionToRectsProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppRegionToRectsProcInfo = 0x00003FB1 }; /* 4_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(RegionToRectsUPP) NewRegionToRectsUPP(RegionToRectsProcPtr userRoutine) { return (RegionToRectsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRegionToRectsProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewRegionToRectsUPP(userRoutine) (RegionToRectsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRegionToRectsProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeRegionToRectsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeRegionToRectsUPP(RegionToRectsUPP userUPP);
+/*
+ * DisposeRegionToRectsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeRegionToRectsUPP(RegionToRectsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeRegionToRectsUPP(RegionToRectsUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeRegionToRectsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeRegionToRectsUPP(RegionToRectsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeRegionToRectsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeRegionToRectsUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeRegionToRectsUPP(
- UInt16 message,
- RgnHandle rgn,
- const Rect * rect,
- void * refCon,
- RegionToRectsUPP userUPP);
+/*
+ * InvokeRegionToRectsUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeRegionToRectsUPP(
+ UInt16 message,
+ RgnHandle rgn,
+ const Rect * rect,
+ void * refCon,
+ RegionToRectsUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeRegionToRectsUPP(UInt16 message, RgnHandle rgn, const Rect * rect, void * refCon, RegionToRectsUPP userUPP)
- {
- return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppRegionToRectsProcInfo, message, rgn, rect, refCon);
- }
-#else
-#define InvokeRegionToRectsUPP(message, rgn, rect, refCon, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppRegionToRectsProcInfo, (message), (rgn), (rect), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeRegionToRectsUPP(UInt16 message, RgnHandle rgn, const Rect * rect, void * refCon, RegionToRectsUPP userUPP) { return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppRegionToRectsProcInfo, message, rgn, rect, refCon); }
+ #else
+ #define InvokeRegionToRectsUPP(message, rgn, rect, refCon, userUPP) (OSStatus)CALL_FOUR_PARAMETER_UPP((userUPP), uppRegionToRectsProcInfo, (message), (rgn), (rect), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewRegionToRectsProc(userRoutine) NewRegionToRectsUPP(userRoutine)
-#define CallRegionToRectsProc(userRoutine, message, rgn, rect, refCon) InvokeRegionToRectsUPP(message, rgn, rect, refCon, userRoutine)
+ #define NewRegionToRectsProc(userRoutine) NewRegionToRectsUPP(userRoutine)
+ #define CallRegionToRectsProc(userRoutine, message, rgn, rect, refCon) InvokeRegionToRectsUPP(message, rgn, rect, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * QDRegionToRects()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- QDRegionToRects(
- RgnHandle rgn,
- QDRegionParseDirection dir,
- RegionToRectsUPP proc,
- void * userData);
+/*
+ * QDRegionToRects()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+QDRegionToRects(
+ RgnHandle rgn,
+ QDRegionParseDirection dir,
+ RegionToRectsUPP proc,
+ void * userData);
#if !TARGET_OS_MAC
#if CALL_NOT_IN_CARBON
- /*
- * UpdatePort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- UpdatePort(GrafPtr port);
-
-
- /*
- * GetPortNativeWindow()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetPortNativeWindow(GrafPtr macPort);
-
-
- /*
- * GetNativeWindowPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(GrafPtr)
- GetNativeWindowPort(void * nativeWindow);
-
-
- /*
- * MacRegionToNativeRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- MacRegionToNativeRegion(RgnHandle macRegion);
-
-
- /*
- * NativeRegionToMacRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(RgnHandle)
- NativeRegionToMacRegion(void * nativeRegion);
+/*
+ * UpdatePort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+UpdatePort(GrafPtr port);
+
+
+/*
+ * GetPortNativeWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetPortNativeWindow(GrafPtr macPort);
+
+
+/*
+ * GetNativeWindowPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( GrafPtr )
+GetNativeWindowPort(void * nativeWindow);
+
+
+/*
+ * MacRegionToNativeRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+MacRegionToNativeRegion(RgnHandle macRegion);
+
+
+/*
+ * NativeRegionToMacRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( RgnHandle )
+NativeRegionToMacRegion(void * nativeRegion);
#endif /* CALL_NOT_IN_CARBON */
@@ -2592,3328 +2344,3328 @@ extern "C" {
#if TARGET_OS_WIN32
#if CALL_NOT_IN_CARBON
- /*
- * GetPortHWND()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetPortHWND(GrafPtr port);
-
-
- /*
- * GetHWNDPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(GrafPtr)
- GetHWNDPort(void * theHWND);
+/*
+ * GetPortHWND()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetPortHWND(GrafPtr port);
+
+
+/*
+ * GetHWNDPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( GrafPtr )
+GetHWNDPort(void * theHWND);
#define GetPortHWND(port) (HWND)GetPortNativeWindow(port)
#define GetHWNDPort(theHWND) GetNativeWindowPort(theHWND)
- /*
- * GetPortHDC()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetPortHDC(GrafPtr port);
-
-
- /*
- * GetPortHBITMAP()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetPortHBITMAP(GrafPtr port);
-
-
- /*
- * GetPortHPALETTE()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetPortHPALETTE(GrafPtr port);
-
-
- /*
- * GetPortHFONT()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetPortHFONT(GrafPtr port);
-
-
- /*
- * GetDIBFromPICT()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void *)
- GetDIBFromPICT(PicHandle hPict);
-
-
- /*
- * GetPICTFromDIB()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(PicHandle)
- GetPICTFromDIB(void * h);
-
-
- /*
- * QTMLFlushDirtyPorts()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- QTMLFlushDirtyPorts(void);
-
-
- /*
- * QTMLFlushPortDirtyRgn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- QTMLFlushPortDirtyRgn(GrafPtr port);
-
-
- /*
- * QTMLAddRgnToDirtyRgn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- QTMLAddRgnToDirtyRgn(
- GrafPtr port,
- RgnHandle dirtyRgn);
-
-
- /*
- * QTMLGetBackbufferHDC()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- QTMLGetBackbufferHDC(
- GrafPtr port,
- void * backbufferHDC);
-
-
- /*
- * QTMLReleaseBackbufferHDC()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- QTMLReleaseBackbufferHDC(
- GrafPtr port,
- void * backbufferHDC);
-
-
- /*
- * QTMLAddRectToDirtyRgn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- QTMLAddRectToDirtyRgn(
- GrafPtr port,
- Rect * dirtyRect);
-
-
- /*
- * QTMLAddNativeRgnToDirtyRgn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- QTMLAddNativeRgnToDirtyRgn(
- GrafPtr port,
- void * dirtyHRGN);
+/*
+ * GetPortHDC()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetPortHDC(GrafPtr port);
+
+
+/*
+ * GetPortHBITMAP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetPortHBITMAP(GrafPtr port);
+
+
+/*
+ * GetPortHPALETTE()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetPortHPALETTE(GrafPtr port);
+
+
+/*
+ * GetPortHFONT()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetPortHFONT(GrafPtr port);
+
+
+/*
+ * GetDIBFromPICT()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void * )
+GetDIBFromPICT(PicHandle hPict);
+
+
+/*
+ * GetPICTFromDIB()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( PicHandle )
+GetPICTFromDIB(void * h);
+
+
+/*
+ * QTMLFlushDirtyPorts()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+QTMLFlushDirtyPorts(void);
+
+
+/*
+ * QTMLFlushPortDirtyRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+QTMLFlushPortDirtyRgn(GrafPtr port);
+
+
+/*
+ * QTMLAddRgnToDirtyRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+QTMLAddRgnToDirtyRgn(
+ GrafPtr port,
+ RgnHandle dirtyRgn);
+
+
+/*
+ * QTMLGetBackbufferHDC()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+QTMLGetBackbufferHDC(
+ GrafPtr port,
+ void * backbufferHDC);
+
+
+/*
+ * QTMLReleaseBackbufferHDC()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+QTMLReleaseBackbufferHDC(
+ GrafPtr port,
+ void * backbufferHDC);
+
+
+/*
+ * QTMLAddRectToDirtyRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+QTMLAddRectToDirtyRgn(
+ GrafPtr port,
+ Rect * dirtyRect);
+
+
+/*
+ * QTMLAddNativeRgnToDirtyRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+QTMLAddNativeRgnToDirtyRgn(
+ GrafPtr port,
+ void * dirtyHRGN);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_OS_WIN32 */
- /*
- * [Mac]SetPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * [Mac]SetPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacSetPort SetPort
+ #define MacSetPort SetPort
#endif
- EXTERN_API(void)
- MacSetPort(GrafPtr port) ONEWORDINLINE(0xA873);
-
-
- /*
- * GetPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetPort(GrafPtr * port) ONEWORDINLINE(0xA874);
-
-
- /*
- * QDSwapPort()
- *
- * Summary:
- * Combines a GetPort(&savePort); SetPort(newPort) sequence.
- *
- * Discussion:
- * On X, the GetPort/SetPort calls act on per-thread globals, and
- * cost more processor cycles than in the past, where they were
- * simple memory accessors. To optimize, use the QDSwapPort call
- * which combines both, and returns a Boolean indicating if the port
- * actually did change. Typical usage: portChanged =
- * QDSwapPort(newPort, &savePort); // some drawing into newPort if
- * (portChanged) QDSwapPort(savePort, NULL);
- *
- * Parameters:
- *
- * inNewPort:
- * The new port to be set.
- *
- * outOldPort:
- * Receives the previous port. Can be NULL.
- *
- * Result:
- * A Boolean indicating whether the port was changed, i.e.
- * (inNewPort != *outOldPort)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(Boolean)
- QDSwapPort(
- CGrafPtr inNewPort,
- CGrafPtr * outOldPort);
-
-
- /*
- * GrafDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GrafDevice(short device) ONEWORDINLINE(0xA872);
-
-
- /*
- * SetPortBits()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortBits(const BitMap * bm) ONEWORDINLINE(0xA875);
-
-
- /*
- * PortSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PortSize(
- short width,
- short height) ONEWORDINLINE(0xA876);
-
-
- /*
- * MovePortTo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MovePortTo(
- short leftGlobal,
- short topGlobal) ONEWORDINLINE(0xA877);
-
-
- /*
- * SetOrigin()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetOrigin(
- short h,
- short v) ONEWORDINLINE(0xA878);
-
-
- /*
- * SetClip()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetClip(RgnHandle rgn) ONEWORDINLINE(0xA879);
-
-
- /*
- * GetClip()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetClip(RgnHandle rgn) ONEWORDINLINE(0xA87A);
-
-
- /*
- * ClipRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ClipRect(const Rect * r) ONEWORDINLINE(0xA87B);
-
-
- /*
- * BackPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BackPat(const Pattern * pat) ONEWORDINLINE(0xA87C);
-
-
- /*
- * InitCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InitCursor(void) ONEWORDINLINE(0xA850);
-
-
- /*
- * [Mac]SetCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacSetPort(GrafPtr port) ONEWORDINLINE(0xA873);
+
+
+/*
+ * GetPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetPort(GrafPtr * port) ONEWORDINLINE(0xA874);
+
+
+/*
+ * QDSwapPort()
+ *
+ * Summary:
+ * Combines a GetPort(&savePort); SetPort(newPort) sequence.
+ *
+ * Discussion:
+ * On X, the GetPort/SetPort calls act on per-thread globals, and
+ * cost more processor cycles than in the past, where they were
+ * simple memory accessors. To optimize, use the QDSwapPort call
+ * which combines both, and returns a Boolean indicating if the port
+ * actually did change. Typical usage: portChanged =
+ * QDSwapPort(newPort, &savePort); // some drawing into newPort if
+ * (portChanged) QDSwapPort(savePort, NULL);
+ *
+ * Parameters:
+ *
+ * inNewPort:
+ * The new port to be set.
+ *
+ * outOldPort:
+ * Receives the previous port. Can be NULL.
+ *
+ * Result:
+ * A Boolean indicating whether the port was changed, i.e.
+ * (inNewPort != *outOldPort)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( Boolean )
+QDSwapPort(
+ CGrafPtr inNewPort,
+ CGrafPtr * outOldPort);
+
+
+/*
+ * GrafDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GrafDevice(short device) ONEWORDINLINE(0xA872);
+
+
+/*
+ * SetPortBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortBits(const BitMap * bm) ONEWORDINLINE(0xA875);
+
+
+/*
+ * PortSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PortSize(
+ short width,
+ short height) ONEWORDINLINE(0xA876);
+
+
+/*
+ * MovePortTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MovePortTo(
+ short leftGlobal,
+ short topGlobal) ONEWORDINLINE(0xA877);
+
+
+/*
+ * SetOrigin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetOrigin(
+ short h,
+ short v) ONEWORDINLINE(0xA878);
+
+
+/*
+ * SetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetClip(RgnHandle rgn) ONEWORDINLINE(0xA879);
+
+
+/*
+ * GetClip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetClip(RgnHandle rgn) ONEWORDINLINE(0xA87A);
+
+
+/*
+ * ClipRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ClipRect(const Rect * r) ONEWORDINLINE(0xA87B);
+
+
+/*
+ * BackPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BackPat(const Pattern * pat) ONEWORDINLINE(0xA87C);
+
+
+/*
+ * InitCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InitCursor(void) ONEWORDINLINE(0xA850);
+
+
+/*
+ * [Mac]SetCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacSetCursor SetCursor
+ #define MacSetCursor SetCursor
#endif
- EXTERN_API(void)
- MacSetCursor(const Cursor * crsr) ONEWORDINLINE(0xA851);
-
-
- /*
- * HideCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HideCursor(void) ONEWORDINLINE(0xA852);
-
-
- /*
- * [Mac]ShowCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacSetCursor(const Cursor * crsr) ONEWORDINLINE(0xA851);
+
+
+/*
+ * HideCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HideCursor(void) ONEWORDINLINE(0xA852);
+
+
+/*
+ * [Mac]ShowCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacShowCursor ShowCursor
+ #define MacShowCursor ShowCursor
#endif
- EXTERN_API(void)
- MacShowCursor(void) ONEWORDINLINE(0xA853);
-
-
- /*
- * ObscureCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ObscureCursor(void) ONEWORDINLINE(0xA856);
-
-
- /*
- * HidePen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HidePen(void) ONEWORDINLINE(0xA896);
-
-
- /*
- * ShowPen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ShowPen(void) ONEWORDINLINE(0xA897);
-
-
- /*
- * GetPen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetPen(Point * pt) ONEWORDINLINE(0xA89A);
-
-
- /*
- * GetPenState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetPenState(PenState * pnState) ONEWORDINLINE(0xA898);
-
-
- /*
- * SetPenState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPenState(const PenState * pnState) ONEWORDINLINE(0xA899);
-
-
- /*
- * PenSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PenSize(
- short width,
- short height) ONEWORDINLINE(0xA89B);
-
-
- /*
- * PenMode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PenMode(short mode) ONEWORDINLINE(0xA89C);
-
-
- /*
- * PenPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PenPat(const Pattern * pat) ONEWORDINLINE(0xA89D);
-
-
- /*
- * PenNormal()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PenNormal(void) ONEWORDINLINE(0xA89E);
-
-
- /*
- * MoveTo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MoveTo(
- short h,
- short v) ONEWORDINLINE(0xA893);
-
-
- /*
- * Move()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Move(
- short dh,
- short dv) ONEWORDINLINE(0xA894);
-
-
- /*
- * [Mac]LineTo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacShowCursor(void) ONEWORDINLINE(0xA853);
+
+
+/*
+ * ObscureCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ObscureCursor(void) ONEWORDINLINE(0xA856);
+
+
+/*
+ * HidePen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HidePen(void) ONEWORDINLINE(0xA896);
+
+
+/*
+ * ShowPen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ShowPen(void) ONEWORDINLINE(0xA897);
+
+
+/*
+ * GetPen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetPen(Point * pt) ONEWORDINLINE(0xA89A);
+
+
+/*
+ * GetPenState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetPenState(PenState * pnState) ONEWORDINLINE(0xA898);
+
+
+/*
+ * SetPenState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPenState(const PenState * pnState) ONEWORDINLINE(0xA899);
+
+
+/*
+ * PenSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PenSize(
+ short width,
+ short height) ONEWORDINLINE(0xA89B);
+
+
+/*
+ * PenMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PenMode(short mode) ONEWORDINLINE(0xA89C);
+
+
+/*
+ * PenPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PenPat(const Pattern * pat) ONEWORDINLINE(0xA89D);
+
+
+/*
+ * PenNormal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PenNormal(void) ONEWORDINLINE(0xA89E);
+
+
+/*
+ * MoveTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MoveTo(
+ short h,
+ short v) ONEWORDINLINE(0xA893);
+
+
+/*
+ * Move()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Move(
+ short dh,
+ short dv) ONEWORDINLINE(0xA894);
+
+
+/*
+ * [Mac]LineTo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacLineTo LineTo
+ #define MacLineTo LineTo
#endif
- EXTERN_API(void)
- MacLineTo(
- short h,
- short v) ONEWORDINLINE(0xA891);
-
-
- /*
- * Line()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Line(
- short dh,
- short dv) ONEWORDINLINE(0xA892);
-
-
- /*
- * ForeColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ForeColor(long color) ONEWORDINLINE(0xA862);
-
-
- /*
- * BackColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BackColor(long color) ONEWORDINLINE(0xA863);
-
-
- /*
- * ColorBit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ColorBit(short whichBit) ONEWORDINLINE(0xA864);
-
-
- /*
- * [Mac]SetRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacLineTo(
+ short h,
+ short v) ONEWORDINLINE(0xA891);
+
+
+/*
+ * Line()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Line(
+ short dh,
+ short dv) ONEWORDINLINE(0xA892);
+
+
+/*
+ * ForeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ForeColor(long color) ONEWORDINLINE(0xA862);
+
+
+/*
+ * BackColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BackColor(long color) ONEWORDINLINE(0xA863);
+
+
+/*
+ * ColorBit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ColorBit(short whichBit) ONEWORDINLINE(0xA864);
+
+
+/*
+ * [Mac]SetRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacSetRect SetRect
+ #define MacSetRect SetRect
#endif
- EXTERN_API(void)
- MacSetRect(
- Rect * r,
- short left,
- short top,
- short right,
- short bottom) ONEWORDINLINE(0xA8A7);
-
-
- /*
- * [Mac]OffsetRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacSetRect(
+ Rect * r,
+ short left,
+ short top,
+ short right,
+ short bottom) ONEWORDINLINE(0xA8A7);
+
+
+/*
+ * [Mac]OffsetRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacOffsetRect OffsetRect
+ #define MacOffsetRect OffsetRect
#endif
- EXTERN_API(void)
- MacOffsetRect(
- Rect * r,
- short dh,
- short dv) ONEWORDINLINE(0xA8A8);
-
-
- /*
- * [Mac]InsetRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacOffsetRect(
+ Rect * r,
+ short dh,
+ short dv) ONEWORDINLINE(0xA8A8);
+
+
+/*
+ * [Mac]InsetRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacInsetRect InsetRect
+ #define MacInsetRect InsetRect
#endif
- EXTERN_API(void)
- MacInsetRect(
- Rect * r,
- short dh,
- short dv) ONEWORDINLINE(0xA8A9);
-
-
- /*
- * SectRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- SectRect(
- const Rect * src1,
- const Rect * src2,
- Rect * dstRect) ONEWORDINLINE(0xA8AA);
-
-
- /*
- * [Mac]UnionRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacInsetRect(
+ Rect * r,
+ short dh,
+ short dv) ONEWORDINLINE(0xA8A9);
+
+
+/*
+ * SectRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+SectRect(
+ const Rect * src1,
+ const Rect * src2,
+ Rect * dstRect) ONEWORDINLINE(0xA8AA);
+
+
+/*
+ * [Mac]UnionRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacUnionRect UnionRect
+ #define MacUnionRect UnionRect
#endif
- EXTERN_API(void)
- MacUnionRect(
- const Rect * src1,
- const Rect * src2,
- Rect * dstRect) ONEWORDINLINE(0xA8AB);
-
-
- /*
- * [Mac]EqualRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacUnionRect(
+ const Rect * src1,
+ const Rect * src2,
+ Rect * dstRect) ONEWORDINLINE(0xA8AB);
+
+
+/*
+ * [Mac]EqualRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacEqualRect EqualRect
+ #define MacEqualRect EqualRect
#endif
- EXTERN_API(Boolean)
- MacEqualRect(
- const Rect * rect1,
- const Rect * rect2) ONEWORDINLINE(0xA8A6);
-
-
- /*
- * EmptyRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- EmptyRect(const Rect * r) ONEWORDINLINE(0xA8AE);
-
-
- /*
- * [Mac]FrameRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( Boolean )
+MacEqualRect(
+ const Rect * rect1,
+ const Rect * rect2) ONEWORDINLINE(0xA8A6);
+
+
+/*
+ * EmptyRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+EmptyRect(const Rect * r) ONEWORDINLINE(0xA8AE);
+
+
+/*
+ * [Mac]FrameRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacFrameRect FrameRect
+ #define MacFrameRect FrameRect
#endif
- EXTERN_API(void)
- MacFrameRect(const Rect * r) ONEWORDINLINE(0xA8A1);
-
-
- /*
- * PaintRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PaintRect(const Rect * r) ONEWORDINLINE(0xA8A2);
-
-
- /*
- * EraseRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EraseRect(const Rect * r) ONEWORDINLINE(0xA8A3);
-
-
- /*
- * [Mac]InvertRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacFrameRect(const Rect * r) ONEWORDINLINE(0xA8A1);
+
+
+/*
+ * PaintRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PaintRect(const Rect * r) ONEWORDINLINE(0xA8A2);
+
+
+/*
+ * EraseRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EraseRect(const Rect * r) ONEWORDINLINE(0xA8A3);
+
+
+/*
+ * [Mac]InvertRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacInvertRect InvertRect
+ #define MacInvertRect InvertRect
#endif
- EXTERN_API(void)
- MacInvertRect(const Rect * r) ONEWORDINLINE(0xA8A4);
-
-
- /*
- * [Mac]FillRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacInvertRect(const Rect * r) ONEWORDINLINE(0xA8A4);
+
+
+/*
+ * [Mac]FillRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacFillRect FillRect
+ #define MacFillRect FillRect
#endif
- EXTERN_API(void)
- MacFillRect(
- const Rect * r,
- const Pattern * pat) ONEWORDINLINE(0xA8A5);
-
-
- /*
- * FrameOval()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FrameOval(const Rect * r) ONEWORDINLINE(0xA8B7);
-
-
- /*
- * PaintOval()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PaintOval(const Rect * r) ONEWORDINLINE(0xA8B8);
-
-
- /*
- * EraseOval()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EraseOval(const Rect * r) ONEWORDINLINE(0xA8B9);
-
-
- /*
- * InvertOval()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InvertOval(const Rect * r) ONEWORDINLINE(0xA8BA);
-
-
- /*
- * FillOval()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillOval(
- const Rect * r,
- const Pattern * pat) ONEWORDINLINE(0xA8BB);
-
-
- /*
- * FrameRoundRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FrameRoundRect(
- const Rect * r,
- short ovalWidth,
- short ovalHeight) ONEWORDINLINE(0xA8B0);
-
-
- /*
- * PaintRoundRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PaintRoundRect(
- const Rect * r,
- short ovalWidth,
- short ovalHeight) ONEWORDINLINE(0xA8B1);
-
-
- /*
- * EraseRoundRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EraseRoundRect(
- const Rect * r,
- short ovalWidth,
- short ovalHeight) ONEWORDINLINE(0xA8B2);
-
-
- /*
- * InvertRoundRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InvertRoundRect(
- const Rect * r,
- short ovalWidth,
- short ovalHeight) ONEWORDINLINE(0xA8B3);
-
-
- /*
- * FillRoundRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillRoundRect(
- const Rect * r,
- short ovalWidth,
- short ovalHeight,
- const Pattern * pat) ONEWORDINLINE(0xA8B4);
-
-
- /*
- * FrameArc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FrameArc(
- const Rect * r,
- short startAngle,
- short arcAngle) ONEWORDINLINE(0xA8BE);
-
-
- /*
- * PaintArc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PaintArc(
- const Rect * r,
- short startAngle,
- short arcAngle) ONEWORDINLINE(0xA8BF);
-
-
- /*
- * EraseArc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EraseArc(
- const Rect * r,
- short startAngle,
- short arcAngle) ONEWORDINLINE(0xA8C0);
-
-
- /*
- * InvertArc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InvertArc(
- const Rect * r,
- short startAngle,
- short arcAngle) ONEWORDINLINE(0xA8C1);
-
-
- /*
- * FillArc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillArc(
- const Rect * r,
- short startAngle,
- short arcAngle,
- const Pattern * pat) ONEWORDINLINE(0xA8C2);
-
-
- /*
- * NewRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RgnHandle)
- NewRgn(void) ONEWORDINLINE(0xA8D8);
-
-
- /*
- * OpenRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OpenRgn(void) ONEWORDINLINE(0xA8DA);
-
-
- /*
- * CloseRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CloseRgn(RgnHandle dstRgn) ONEWORDINLINE(0xA8DB);
-
-
- /*
- * BitMapToRegion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- BitMapToRegion(
- RgnHandle region,
- const BitMap * bMap) ONEWORDINLINE(0xA8D7);
-
-
- /*
- * HandleToRgn()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HandleToRgn(
- Handle oldRegion,
- RgnHandle region);
-
-
- /*
- * RgnToHandle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(void)
- RgnToHandle(
- RgnHandle region,
- Handle flattenedRgnDataHdl);
-
-
- /*
- * DisposeRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D9);
-
-
- /*
- * [Mac]CopyRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacFillRect(
+ const Rect * r,
+ const Pattern * pat) ONEWORDINLINE(0xA8A5);
+
+
+/*
+ * FrameOval()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FrameOval(const Rect * r) ONEWORDINLINE(0xA8B7);
+
+
+/*
+ * PaintOval()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PaintOval(const Rect * r) ONEWORDINLINE(0xA8B8);
+
+
+/*
+ * EraseOval()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EraseOval(const Rect * r) ONEWORDINLINE(0xA8B9);
+
+
+/*
+ * InvertOval()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InvertOval(const Rect * r) ONEWORDINLINE(0xA8BA);
+
+
+/*
+ * FillOval()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillOval(
+ const Rect * r,
+ const Pattern * pat) ONEWORDINLINE(0xA8BB);
+
+
+/*
+ * FrameRoundRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FrameRoundRect(
+ const Rect * r,
+ short ovalWidth,
+ short ovalHeight) ONEWORDINLINE(0xA8B0);
+
+
+/*
+ * PaintRoundRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PaintRoundRect(
+ const Rect * r,
+ short ovalWidth,
+ short ovalHeight) ONEWORDINLINE(0xA8B1);
+
+
+/*
+ * EraseRoundRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EraseRoundRect(
+ const Rect * r,
+ short ovalWidth,
+ short ovalHeight) ONEWORDINLINE(0xA8B2);
+
+
+/*
+ * InvertRoundRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InvertRoundRect(
+ const Rect * r,
+ short ovalWidth,
+ short ovalHeight) ONEWORDINLINE(0xA8B3);
+
+
+/*
+ * FillRoundRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillRoundRect(
+ const Rect * r,
+ short ovalWidth,
+ short ovalHeight,
+ const Pattern * pat) ONEWORDINLINE(0xA8B4);
+
+
+/*
+ * FrameArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FrameArc(
+ const Rect * r,
+ short startAngle,
+ short arcAngle) ONEWORDINLINE(0xA8BE);
+
+
+/*
+ * PaintArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PaintArc(
+ const Rect * r,
+ short startAngle,
+ short arcAngle) ONEWORDINLINE(0xA8BF);
+
+
+/*
+ * EraseArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EraseArc(
+ const Rect * r,
+ short startAngle,
+ short arcAngle) ONEWORDINLINE(0xA8C0);
+
+
+/*
+ * InvertArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InvertArc(
+ const Rect * r,
+ short startAngle,
+ short arcAngle) ONEWORDINLINE(0xA8C1);
+
+
+/*
+ * FillArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillArc(
+ const Rect * r,
+ short startAngle,
+ short arcAngle,
+ const Pattern * pat) ONEWORDINLINE(0xA8C2);
+
+
+/*
+ * NewRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RgnHandle )
+NewRgn(void) ONEWORDINLINE(0xA8D8);
+
+
+/*
+ * OpenRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OpenRgn(void) ONEWORDINLINE(0xA8DA);
+
+
+/*
+ * CloseRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CloseRgn(RgnHandle dstRgn) ONEWORDINLINE(0xA8DB);
+
+
+/*
+ * BitMapToRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+BitMapToRegion(
+ RgnHandle region,
+ const BitMap * bMap) ONEWORDINLINE(0xA8D7);
+
+
+/*
+ * HandleToRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HandleToRgn(
+ Handle oldRegion,
+ RgnHandle region);
+
+
+/*
+ * RgnToHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( void )
+RgnToHandle(
+ RgnHandle region,
+ Handle flattenedRgnDataHdl);
+
+
+/*
+ * DisposeRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D9);
+
+
+/*
+ * [Mac]CopyRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacCopyRgn CopyRgn
+ #define MacCopyRgn CopyRgn
#endif
- EXTERN_API(void)
- MacCopyRgn(
- RgnHandle srcRgn,
- RgnHandle dstRgn) ONEWORDINLINE(0xA8DC);
-
-
- /*
- * SetEmptyRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetEmptyRgn(RgnHandle rgn) ONEWORDINLINE(0xA8DD);
-
-
- /*
- * [Mac]SetRectRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacCopyRgn(
+ RgnHandle srcRgn,
+ RgnHandle dstRgn) ONEWORDINLINE(0xA8DC);
+
+
+/*
+ * SetEmptyRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetEmptyRgn(RgnHandle rgn) ONEWORDINLINE(0xA8DD);
+
+
+/*
+ * [Mac]SetRectRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacSetRectRgn SetRectRgn
+ #define MacSetRectRgn SetRectRgn
#endif
- EXTERN_API(void)
- MacSetRectRgn(
- RgnHandle rgn,
- short left,
- short top,
- short right,
- short bottom) ONEWORDINLINE(0xA8DE);
-
-
- /*
- * RectRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RectRgn(
- RgnHandle rgn,
- const Rect * r) ONEWORDINLINE(0xA8DF);
-
-
- /*
- * [Mac]OffsetRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacSetRectRgn(
+ RgnHandle rgn,
+ short left,
+ short top,
+ short right,
+ short bottom) ONEWORDINLINE(0xA8DE);
+
+
+/*
+ * RectRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RectRgn(
+ RgnHandle rgn,
+ const Rect * r) ONEWORDINLINE(0xA8DF);
+
+
+/*
+ * [Mac]OffsetRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacOffsetRgn OffsetRgn
+ #define MacOffsetRgn OffsetRgn
#endif
- EXTERN_API(void)
- MacOffsetRgn(
- RgnHandle rgn,
- short dh,
- short dv) ONEWORDINLINE(0xA8E0);
-
-
- /*
- * InsetRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InsetRgn(
- RgnHandle rgn,
- short dh,
- short dv) ONEWORDINLINE(0xA8E1);
-
-
- /*
- * SectRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SectRgn(
- RgnHandle srcRgnA,
- RgnHandle srcRgnB,
- RgnHandle dstRgn) ONEWORDINLINE(0xA8E4);
-
-
- /*
- * [Mac]UnionRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacOffsetRgn(
+ RgnHandle rgn,
+ short dh,
+ short dv) ONEWORDINLINE(0xA8E0);
+
+
+/*
+ * InsetRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InsetRgn(
+ RgnHandle rgn,
+ short dh,
+ short dv) ONEWORDINLINE(0xA8E1);
+
+
+/*
+ * SectRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SectRgn(
+ RgnHandle srcRgnA,
+ RgnHandle srcRgnB,
+ RgnHandle dstRgn) ONEWORDINLINE(0xA8E4);
+
+
+/*
+ * [Mac]UnionRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacUnionRgn UnionRgn
+ #define MacUnionRgn UnionRgn
#endif
- EXTERN_API(void)
- MacUnionRgn(
- RgnHandle srcRgnA,
- RgnHandle srcRgnB,
- RgnHandle dstRgn) ONEWORDINLINE(0xA8E5);
-
-
- /*
- * DiffRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DiffRgn(
- RgnHandle srcRgnA,
- RgnHandle srcRgnB,
- RgnHandle dstRgn) ONEWORDINLINE(0xA8E6);
-
-
- /*
- * [Mac]XorRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacUnionRgn(
+ RgnHandle srcRgnA,
+ RgnHandle srcRgnB,
+ RgnHandle dstRgn) ONEWORDINLINE(0xA8E5);
+
+
+/*
+ * DiffRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DiffRgn(
+ RgnHandle srcRgnA,
+ RgnHandle srcRgnB,
+ RgnHandle dstRgn) ONEWORDINLINE(0xA8E6);
+
+
+/*
+ * [Mac]XorRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacXorRgn XorRgn
+ #define MacXorRgn XorRgn
#endif
- EXTERN_API(void)
- MacXorRgn(
- RgnHandle srcRgnA,
- RgnHandle srcRgnB,
- RgnHandle dstRgn) ONEWORDINLINE(0xA8E7);
-
-
- /*
- * RectInRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- RectInRgn(
- const Rect * r,
- RgnHandle rgn) ONEWORDINLINE(0xA8E9);
-
-
- /*
- * [Mac]EqualRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacXorRgn(
+ RgnHandle srcRgnA,
+ RgnHandle srcRgnB,
+ RgnHandle dstRgn) ONEWORDINLINE(0xA8E7);
+
+
+/*
+ * RectInRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+RectInRgn(
+ const Rect * r,
+ RgnHandle rgn) ONEWORDINLINE(0xA8E9);
+
+
+/*
+ * [Mac]EqualRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacEqualRgn EqualRgn
+ #define MacEqualRgn EqualRgn
#endif
- EXTERN_API(Boolean)
- MacEqualRgn(
- RgnHandle rgnA,
- RgnHandle rgnB) ONEWORDINLINE(0xA8E3);
-
-
- /*
- * EmptyRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- EmptyRgn(RgnHandle rgn) ONEWORDINLINE(0xA8E2);
-
-
- /*
- * [Mac]FrameRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( Boolean )
+MacEqualRgn(
+ RgnHandle rgnA,
+ RgnHandle rgnB) ONEWORDINLINE(0xA8E3);
+
+
+/*
+ * EmptyRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+EmptyRgn(RgnHandle rgn) ONEWORDINLINE(0xA8E2);
+
+
+/*
+ * [Mac]FrameRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacFrameRgn FrameRgn
+ #define MacFrameRgn FrameRgn
#endif
- EXTERN_API(void)
- MacFrameRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D2);
-
-
- /*
- * [Mac]PaintRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacFrameRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D2);
+
+
+/*
+ * [Mac]PaintRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacPaintRgn PaintRgn
+ #define MacPaintRgn PaintRgn
#endif
- EXTERN_API(void)
- MacPaintRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D3);
-
-
- /*
- * EraseRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- EraseRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D4);
-
-
- /*
- * [Mac]InvertRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacPaintRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D3);
+
+
+/*
+ * EraseRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+EraseRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D4);
+
+
+/*
+ * [Mac]InvertRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacInvertRgn InvertRgn
+ #define MacInvertRgn InvertRgn
#endif
- EXTERN_API(void)
- MacInvertRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D5);
-
-
- /*
- * [Mac]FillRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacInvertRgn(RgnHandle rgn) ONEWORDINLINE(0xA8D5);
+
+
+/*
+ * [Mac]FillRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacFillRgn FillRgn
+ #define MacFillRgn FillRgn
#endif
- EXTERN_API(void)
- MacFillRgn(
- RgnHandle rgn,
- const Pattern * pat) ONEWORDINLINE(0xA8D6);
-
-
- /*
- * ScrollRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ScrollRect(
- const Rect * r,
- short dh,
- short dv,
- RgnHandle updateRgn) ONEWORDINLINE(0xA8EF);
-
-
- /*
- * CopyBits()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CopyBits(
- const BitMap * srcBits,
- const BitMap * dstBits,
- const Rect * srcRect,
- const Rect * dstRect,
- short mode,
- RgnHandle maskRgn) /* can be NULL */ ONEWORDINLINE(0xA8EC);
-
-
- /*
- * SeedFill()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SeedFill(
- const void * srcPtr,
- void * dstPtr,
- short srcRow,
- short dstRow,
- short height,
- short words,
- short seedH,
- short seedV) ONEWORDINLINE(0xA839);
-
-
- /*
- * CalcMask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CalcMask(
- const void * srcPtr,
- void * dstPtr,
- short srcRow,
- short dstRow,
- short height,
- short words) ONEWORDINLINE(0xA838);
-
-
- /*
- * CopyMask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CopyMask(
- const BitMap * srcBits,
- const BitMap * maskBits,
- const BitMap * dstBits,
- const Rect * srcRect,
- const Rect * maskRect,
- const Rect * dstRect) ONEWORDINLINE(0xA817);
-
-
- /*
- * OpenPicture()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PicHandle)
- OpenPicture(const Rect * picFrame) ONEWORDINLINE(0xA8F3);
-
-
- /*
- * PicComment()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PicComment(
- short kind,
- short dataSize,
- Handle dataHandle) ONEWORDINLINE(0xA8F2);
-
-
- /*
- * ClosePicture()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ClosePicture(void) ONEWORDINLINE(0xA8F4);
-
-
- /*
- * DrawPicture()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DrawPicture(
- PicHandle myPicture,
- const Rect * dstRect) ONEWORDINLINE(0xA8F6);
-
-
- /*
- * KillPicture()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- KillPicture(PicHandle myPicture) ONEWORDINLINE(0xA8F5);
-
-
- /*
- * OpenPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PolyHandle)
- OpenPoly(void) ONEWORDINLINE(0xA8CB);
-
-
- /*
- * ClosePoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ClosePoly(void) ONEWORDINLINE(0xA8CC);
-
-
- /*
- * KillPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- KillPoly(PolyHandle poly) ONEWORDINLINE(0xA8CD);
-
-
- /*
- * OffsetPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OffsetPoly(
- PolyHandle poly,
- short dh,
- short dv) ONEWORDINLINE(0xA8CE);
-
-
- /*
- * FramePoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FramePoly(PolyHandle poly) ONEWORDINLINE(0xA8C6);
-
-
- /*
- * PaintPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PaintPoly(PolyHandle poly) ONEWORDINLINE(0xA8C7);
-
-
- /*
- * ErasePoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ErasePoly(PolyHandle poly) ONEWORDINLINE(0xA8C8);
-
-
- /*
- * InvertPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InvertPoly(PolyHandle poly) ONEWORDINLINE(0xA8C9);
-
-
- /*
- * FillPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillPoly(
- PolyHandle poly,
- const Pattern * pat) ONEWORDINLINE(0xA8CA);
-
-
- /*
- * SetPt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPt(
- Point * pt,
- short h,
- short v) ONEWORDINLINE(0xA880);
-
-
- /*
- * LocalToGlobal()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LocalToGlobal(Point * pt) ONEWORDINLINE(0xA870);
-
-
- /*
- * GlobalToLocal()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GlobalToLocal(Point * pt) ONEWORDINLINE(0xA871);
-
-
- /*
- * Random()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- Random(void) ONEWORDINLINE(0xA861);
-
-
- /*
- * StuffHex()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StuffHex(
- void * thingPtr,
- ConstStr255Param s) ONEWORDINLINE(0xA866);
-
-
- /*
- * [Mac]GetPixel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+MacFillRgn(
+ RgnHandle rgn,
+ const Pattern * pat) ONEWORDINLINE(0xA8D6);
+
+
+/*
+ * ScrollRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ScrollRect(
+ const Rect * r,
+ short dh,
+ short dv,
+ RgnHandle updateRgn) ONEWORDINLINE(0xA8EF);
+
+
+/*
+ * CopyBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CopyBits(
+ const BitMap * srcBits,
+ const BitMap * dstBits,
+ const Rect * srcRect,
+ const Rect * dstRect,
+ short mode,
+ RgnHandle maskRgn) /* can be NULL */ ONEWORDINLINE(0xA8EC);
+
+
+/*
+ * SeedFill()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SeedFill(
+ const void * srcPtr,
+ void * dstPtr,
+ short srcRow,
+ short dstRow,
+ short height,
+ short words,
+ short seedH,
+ short seedV) ONEWORDINLINE(0xA839);
+
+
+/*
+ * CalcMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CalcMask(
+ const void * srcPtr,
+ void * dstPtr,
+ short srcRow,
+ short dstRow,
+ short height,
+ short words) ONEWORDINLINE(0xA838);
+
+
+/*
+ * CopyMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CopyMask(
+ const BitMap * srcBits,
+ const BitMap * maskBits,
+ const BitMap * dstBits,
+ const Rect * srcRect,
+ const Rect * maskRect,
+ const Rect * dstRect) ONEWORDINLINE(0xA817);
+
+
+/*
+ * OpenPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PicHandle )
+OpenPicture(const Rect * picFrame) ONEWORDINLINE(0xA8F3);
+
+
+/*
+ * PicComment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PicComment(
+ short kind,
+ short dataSize,
+ Handle dataHandle) ONEWORDINLINE(0xA8F2);
+
+
+/*
+ * ClosePicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ClosePicture(void) ONEWORDINLINE(0xA8F4);
+
+
+/*
+ * DrawPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DrawPicture(
+ PicHandle myPicture,
+ const Rect * dstRect) ONEWORDINLINE(0xA8F6);
+
+
+/*
+ * KillPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+KillPicture(PicHandle myPicture) ONEWORDINLINE(0xA8F5);
+
+
+/*
+ * OpenPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PolyHandle )
+OpenPoly(void) ONEWORDINLINE(0xA8CB);
+
+
+/*
+ * ClosePoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ClosePoly(void) ONEWORDINLINE(0xA8CC);
+
+
+/*
+ * KillPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+KillPoly(PolyHandle poly) ONEWORDINLINE(0xA8CD);
+
+
+/*
+ * OffsetPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OffsetPoly(
+ PolyHandle poly,
+ short dh,
+ short dv) ONEWORDINLINE(0xA8CE);
+
+
+/*
+ * FramePoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FramePoly(PolyHandle poly) ONEWORDINLINE(0xA8C6);
+
+
+/*
+ * PaintPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PaintPoly(PolyHandle poly) ONEWORDINLINE(0xA8C7);
+
+
+/*
+ * ErasePoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ErasePoly(PolyHandle poly) ONEWORDINLINE(0xA8C8);
+
+
+/*
+ * InvertPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InvertPoly(PolyHandle poly) ONEWORDINLINE(0xA8C9);
+
+
+/*
+ * FillPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillPoly(
+ PolyHandle poly,
+ const Pattern * pat) ONEWORDINLINE(0xA8CA);
+
+
+/*
+ * SetPt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPt(
+ Point * pt,
+ short h,
+ short v) ONEWORDINLINE(0xA880);
+
+
+/*
+ * LocalToGlobal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LocalToGlobal(Point * pt) ONEWORDINLINE(0xA870);
+
+
+/*
+ * GlobalToLocal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GlobalToLocal(Point * pt) ONEWORDINLINE(0xA871);
+
+
+/*
+ * Random()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+Random(void) ONEWORDINLINE(0xA861);
+
+
+/*
+ * StuffHex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StuffHex(
+ void * thingPtr,
+ ConstStr255Param s) ONEWORDINLINE(0xA866);
+
+
+/*
+ * [Mac]GetPixel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacGetPixel GetPixel
+ #define MacGetPixel GetPixel
#endif
- EXTERN_API(Boolean)
- MacGetPixel(
- short h,
- short v) ONEWORDINLINE(0xA865);
-
-
- /*
- * ScalePt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ScalePt(
- Point * pt,
- const Rect * srcRect,
- const Rect * dstRect) ONEWORDINLINE(0xA8F8);
-
-
- /*
- * MapPt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MapPt(
- Point * pt,
- const Rect * srcRect,
- const Rect * dstRect) ONEWORDINLINE(0xA8F9);
-
-
- /*
- * MapRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MapRect(
- Rect * r,
- const Rect * srcRect,
- const Rect * dstRect) ONEWORDINLINE(0xA8FA);
-
-
- /*
- * MapRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MapRgn(
- RgnHandle rgn,
- const Rect * srcRect,
- const Rect * dstRect) ONEWORDINLINE(0xA8FB);
-
-
- /*
- * MapPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MapPoly(
- PolyHandle poly,
- const Rect * srcRect,
- const Rect * dstRect) ONEWORDINLINE(0xA8FC);
-
-
- /*
- * SetStdProcs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetStdProcs(QDProcs * procs) ONEWORDINLINE(0xA8EA);
-
-
- /*
- * StdRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdRect(
- GrafVerb verb,
- const Rect * r) ONEWORDINLINE(0xA8A0);
-
-
- /*
- * StdRRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdRRect(
- GrafVerb verb,
- const Rect * r,
- short ovalWidth,
- short ovalHeight) ONEWORDINLINE(0xA8AF);
-
-
- /*
- * StdOval()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdOval(
- GrafVerb verb,
- const Rect * r) ONEWORDINLINE(0xA8B6);
-
-
- /*
- * StdArc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdArc(
- GrafVerb verb,
- const Rect * r,
- short startAngle,
- short arcAngle) ONEWORDINLINE(0xA8BD);
-
-
- /*
- * StdPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdPoly(
- GrafVerb verb,
- PolyHandle poly) ONEWORDINLINE(0xA8C5);
-
-
- /*
- * StdRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdRgn(
- GrafVerb verb,
- RgnHandle rgn) ONEWORDINLINE(0xA8D1);
-
-
- /*
- * StdBits()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdBits(
- const BitMap * srcBits,
- const Rect * srcRect,
- const Rect * dstRect,
- short mode,
- RgnHandle maskRgn) ONEWORDINLINE(0xA8EB);
-
-
- /*
- * StdComment()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdComment(
- short kind,
- short dataSize,
- Handle dataHandle) ONEWORDINLINE(0xA8F1);
-
-
- /*
- * StdGetPic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdGetPic(
- void * dataPtr,
- short byteCount) ONEWORDINLINE(0xA8EE);
-
-
- /*
- * StdPutPic()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdPutPic(
- const void * dataPtr,
- short byteCount) ONEWORDINLINE(0xA8F0);
-
-
- /*
- * StdOpcode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdOpcode(
- const Rect * fromRect,
- const Rect * toRect,
- UInt16 opcode,
- SInt16 version) ONEWORDINLINE(0xABF8);
-
-
- /*
- * AddPt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AddPt(
- Point src,
- Point * dst) ONEWORDINLINE(0xA87E);
-
-
- /*
- * EqualPt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- EqualPt(
- Point pt1,
- Point pt2) ONEWORDINLINE(0xA881);
-
-
- /*
- * [Mac]PtInRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( Boolean )
+MacGetPixel(
+ short h,
+ short v) ONEWORDINLINE(0xA865);
+
+
+/*
+ * ScalePt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ScalePt(
+ Point * pt,
+ const Rect * srcRect,
+ const Rect * dstRect) ONEWORDINLINE(0xA8F8);
+
+
+/*
+ * MapPt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MapPt(
+ Point * pt,
+ const Rect * srcRect,
+ const Rect * dstRect) ONEWORDINLINE(0xA8F9);
+
+
+/*
+ * MapRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MapRect(
+ Rect * r,
+ const Rect * srcRect,
+ const Rect * dstRect) ONEWORDINLINE(0xA8FA);
+
+
+/*
+ * MapRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MapRgn(
+ RgnHandle rgn,
+ const Rect * srcRect,
+ const Rect * dstRect) ONEWORDINLINE(0xA8FB);
+
+
+/*
+ * MapPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MapPoly(
+ PolyHandle poly,
+ const Rect * srcRect,
+ const Rect * dstRect) ONEWORDINLINE(0xA8FC);
+
+
+/*
+ * SetStdProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetStdProcs(QDProcs * procs) ONEWORDINLINE(0xA8EA);
+
+
+/*
+ * StdRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdRect(
+ GrafVerb verb,
+ const Rect * r) ONEWORDINLINE(0xA8A0);
+
+
+/*
+ * StdRRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdRRect(
+ GrafVerb verb,
+ const Rect * r,
+ short ovalWidth,
+ short ovalHeight) ONEWORDINLINE(0xA8AF);
+
+
+/*
+ * StdOval()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdOval(
+ GrafVerb verb,
+ const Rect * r) ONEWORDINLINE(0xA8B6);
+
+
+/*
+ * StdArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdArc(
+ GrafVerb verb,
+ const Rect * r,
+ short startAngle,
+ short arcAngle) ONEWORDINLINE(0xA8BD);
+
+
+/*
+ * StdPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdPoly(
+ GrafVerb verb,
+ PolyHandle poly) ONEWORDINLINE(0xA8C5);
+
+
+/*
+ * StdRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdRgn(
+ GrafVerb verb,
+ RgnHandle rgn) ONEWORDINLINE(0xA8D1);
+
+
+/*
+ * StdBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdBits(
+ const BitMap * srcBits,
+ const Rect * srcRect,
+ const Rect * dstRect,
+ short mode,
+ RgnHandle maskRgn) ONEWORDINLINE(0xA8EB);
+
+
+/*
+ * StdComment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdComment(
+ short kind,
+ short dataSize,
+ Handle dataHandle) ONEWORDINLINE(0xA8F1);
+
+
+/*
+ * StdGetPic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdGetPic(
+ void * dataPtr,
+ short byteCount) ONEWORDINLINE(0xA8EE);
+
+
+/*
+ * StdPutPic()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdPutPic(
+ const void * dataPtr,
+ short byteCount) ONEWORDINLINE(0xA8F0);
+
+
+/*
+ * StdOpcode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdOpcode(
+ const Rect * fromRect,
+ const Rect * toRect,
+ UInt16 opcode,
+ SInt16 version) ONEWORDINLINE(0xABF8);
+
+
+/*
+ * AddPt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AddPt(
+ Point src,
+ Point * dst) ONEWORDINLINE(0xA87E);
+
+
+/*
+ * EqualPt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+EqualPt(
+ Point pt1,
+ Point pt2) ONEWORDINLINE(0xA881);
+
+
+/*
+ * [Mac]PtInRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacPtInRect PtInRect
+ #define MacPtInRect PtInRect
#endif
- EXTERN_API(Boolean)
- MacPtInRect(
- Point pt,
- const Rect * r) ONEWORDINLINE(0xA8AD);
-
-
- /*
- * Pt2Rect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Pt2Rect(
- Point pt1,
- Point pt2,
- Rect * dstRect) ONEWORDINLINE(0xA8AC);
-
-
- /*
- * PtToAngle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PtToAngle(
- const Rect * r,
- Point pt,
- short * angle) ONEWORDINLINE(0xA8C3);
-
-
- /*
- * SubPt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SubPt(
- Point src,
- Point * dst) ONEWORDINLINE(0xA87F);
-
-
- /*
- * PtInRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- PtInRgn(
- Point pt,
- RgnHandle rgn) ONEWORDINLINE(0xA8E8);
-
-
- /*
- * StdLine()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdLine(Point newPt) ONEWORDINLINE(0xA890);
+EXTERN_API( Boolean )
+MacPtInRect(
+ Point pt,
+ const Rect * r) ONEWORDINLINE(0xA8AD);
+
+
+/*
+ * Pt2Rect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Pt2Rect(
+ Point pt1,
+ Point pt2,
+ Rect * dstRect) ONEWORDINLINE(0xA8AC);
+
+
+/*
+ * PtToAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PtToAngle(
+ const Rect * r,
+ Point pt,
+ short * angle) ONEWORDINLINE(0xA8C3);
+
+
+/*
+ * SubPt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SubPt(
+ Point src,
+ Point * dst) ONEWORDINLINE(0xA87F);
+
+
+/*
+ * PtInRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+PtInRgn(
+ Point pt,
+ RgnHandle rgn) ONEWORDINLINE(0xA8E8);
+
+
+/*
+ * StdLine()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdLine(Point newPt) ONEWORDINLINE(0xA890);
#if CALL_NOT_IN_CARBON
- /*
- * OpenCPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- OpenCPort(CGrafPtr port) ONEWORDINLINE(0xAA00);
-
-
- /*
- * InitCPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- InitCPort(CGrafPtr port) ONEWORDINLINE(0xAA01);
-
-
- /*
- * CloseCPort()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CloseCPort(CGrafPtr port) ONEWORDINLINE(0xAA02);
+/*
+ * OpenCPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+OpenCPort(CGrafPtr port) ONEWORDINLINE(0xAA00);
+
+
+/*
+ * InitCPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitCPort(CGrafPtr port) ONEWORDINLINE(0xAA01);
+
+
+/*
+ * CloseCPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CloseCPort(CGrafPtr port) ONEWORDINLINE(0xAA02);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * NewPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PixMapHandle)
- NewPixMap(void) ONEWORDINLINE(0xAA03);
-
-
- /*
- * DisposePixMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposePixMap(PixMapHandle pm) ONEWORDINLINE(0xAA04);
-
-
- /*
- * CopyPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CopyPixMap(
- PixMapHandle srcPM,
- PixMapHandle dstPM) ONEWORDINLINE(0xAA05);
-
-
- /*
- * NewPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PixPatHandle)
- NewPixPat(void) ONEWORDINLINE(0xAA07);
-
-
- /*
- * DisposePixPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposePixPat(PixPatHandle pp) ONEWORDINLINE(0xAA08);
-
-
- /*
- * CopyPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CopyPixPat(
- PixPatHandle srcPP,
- PixPatHandle dstPP) ONEWORDINLINE(0xAA09);
-
-
- /*
- * PenPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PenPixPat(PixPatHandle pp) ONEWORDINLINE(0xAA0A);
-
-
- /*
- * BackPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BackPixPat(PixPatHandle pp) ONEWORDINLINE(0xAA0B);
-
-
- /*
- * GetPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PixPatHandle)
- GetPixPat(short patID) ONEWORDINLINE(0xAA0C);
-
-
- /*
- * MakeRGBPat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MakeRGBPat(
- PixPatHandle pp,
- const RGBColor * myColor) ONEWORDINLINE(0xAA0D);
-
-
- /*
- * FillCRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillCRect(
- const Rect * r,
- PixPatHandle pp) ONEWORDINLINE(0xAA0E);
-
-
- /*
- * FillCOval()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillCOval(
- const Rect * r,
- PixPatHandle pp) ONEWORDINLINE(0xAA0F);
-
-
- /*
- * FillCRoundRect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillCRoundRect(
- const Rect * r,
- short ovalWidth,
- short ovalHeight,
- PixPatHandle pp) ONEWORDINLINE(0xAA10);
-
-
- /*
- * FillCArc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillCArc(
- const Rect * r,
- short startAngle,
- short arcAngle,
- PixPatHandle pp) ONEWORDINLINE(0xAA11);
-
-
- /*
- * FillCRgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillCRgn(
- RgnHandle rgn,
- PixPatHandle pp) ONEWORDINLINE(0xAA12);
-
-
- /*
- * FillCPoly()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FillCPoly(
- PolyHandle poly,
- PixPatHandle pp) ONEWORDINLINE(0xAA13);
-
-
- /*
- * RGBForeColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RGBForeColor(const RGBColor * color) ONEWORDINLINE(0xAA14);
-
-
- /*
- * RGBBackColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RGBBackColor(const RGBColor * color) ONEWORDINLINE(0xAA15);
-
-
- /*
- * SetCPixel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetCPixel(
- short h,
- short v,
- const RGBColor * cPix) ONEWORDINLINE(0xAA16);
-
-
- /*
- * SetPortPix()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortPix(PixMapHandle pm) ONEWORDINLINE(0xAA06);
-
-
- /*
- * GetCPixel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetCPixel(
- short h,
- short v,
- RGBColor * cPix) ONEWORDINLINE(0xAA17);
-
-
- /*
- * GetForeColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetForeColor(RGBColor * color) ONEWORDINLINE(0xAA19);
-
-
- /*
- * GetBackColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetBackColor(RGBColor * color) ONEWORDINLINE(0xAA1A);
-
-
- /*
- * SeedCFill()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SeedCFill(
- const BitMap * srcBits,
- const BitMap * dstBits,
- const Rect * srcRect,
- const Rect * dstRect,
- short seedH,
- short seedV,
- ColorSearchUPP matchProc,
- long matchData) ONEWORDINLINE(0xAA50);
-
-
- /*
- * CalcCMask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CalcCMask(
- const BitMap * srcBits,
- const BitMap * dstBits,
- const Rect * srcRect,
- const Rect * dstRect,
- const RGBColor * seedRGB,
- ColorSearchUPP matchProc,
- long matchData) ONEWORDINLINE(0xAA4F);
-
-
- /*
- * OpenCPicture()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PicHandle)
- OpenCPicture(const OpenCPicParams * newHeader) ONEWORDINLINE(0xAA20);
-
-
- /*
- * OpColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- OpColor(const RGBColor * color) ONEWORDINLINE(0xAA21);
-
-
- /*
- * HiliteColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HiliteColor(const RGBColor * color) ONEWORDINLINE(0xAA22);
-
-
- /*
- * DisposeCTable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeCTable(CTabHandle cTable) ONEWORDINLINE(0xAA24);
-
-
- /*
- * GetCTable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CTabHandle)
- GetCTable(short ctID) ONEWORDINLINE(0xAA18);
-
-
- /*
- * GetCCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CCrsrHandle)
- GetCCursor(short crsrID) ONEWORDINLINE(0xAA1B);
-
-
- /*
- * SetCCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetCCursor(CCrsrHandle cCrsr) ONEWORDINLINE(0xAA1C);
-
-
- /*
- * AllocCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AllocCursor(void) ONEWORDINLINE(0xAA1D);
-
-
- /*
- * DisposeCCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeCCursor(CCrsrHandle cCrsr) ONEWORDINLINE(0xAA26);
-
-
- /* GetCIcon(), PlotCIcon(), and DisposeCIcon() moved to Icons.h*/
-
- /*
- * SetStdCProcs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetStdCProcs(CQDProcs * procs) ONEWORDINLINE(0xAA4E);
-
-
- /*
- * GetMaxDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- GetMaxDevice(const Rect * globalRect) ONEWORDINLINE(0xAA27);
-
-
- /*
- * GetCTSeed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GetCTSeed(void) ONEWORDINLINE(0xAA28);
-
-
- /*
- * GetDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- GetDeviceList(void) ONEWORDINLINE(0xAA29);
-
-
- /*
- * GetMainDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- GetMainDevice(void) ONEWORDINLINE(0xAA2A);
-
-
- /*
- * GetNextDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- GetNextDevice(GDHandle curDevice) ONEWORDINLINE(0xAA2B);
-
-
- /*
- * TestDeviceAttribute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- TestDeviceAttribute(
- GDHandle gdh,
- short attribute) ONEWORDINLINE(0xAA2C);
-
-
- /*
- * SetDeviceAttribute()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetDeviceAttribute(
- GDHandle gdh,
- short attribute,
- Boolean value) ONEWORDINLINE(0xAA2D);
-
-
- /*
- * InitGDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InitGDevice(
- short qdRefNum,
- long mode,
- GDHandle gdh) ONEWORDINLINE(0xAA2E);
-
-
- /*
- * NewGDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- NewGDevice(
- short refNum,
- long mode) ONEWORDINLINE(0xAA2F);
-
-
- /*
- * DisposeGDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposeGDevice(GDHandle gdh) ONEWORDINLINE(0xAA30);
-
-
- /*
- * SetGDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetGDevice(GDHandle gd) ONEWORDINLINE(0xAA31);
-
-
- /*
- * GetGDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- GetGDevice(void) ONEWORDINLINE(0xAA32);
-
-
- /*
- * Color2Index()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- Color2Index(const RGBColor * myColor) ONEWORDINLINE(0xAA33);
-
-
- /*
- * Index2Color()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Index2Color(
- long index,
- RGBColor * aColor) ONEWORDINLINE(0xAA34);
-
-
- /*
- * InvertColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- InvertColor(RGBColor * myColor) ONEWORDINLINE(0xAA35);
-
-
- /*
- * RealColor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- RealColor(const RGBColor * color) ONEWORDINLINE(0xAA36);
-
-
- /*
- * GetSubTable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetSubTable(
- CTabHandle myColors,
- short iTabRes,
- CTabHandle targetTbl) ONEWORDINLINE(0xAA37);
-
-
- /*
- * MakeITable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MakeITable(
- CTabHandle cTabH,
- ITabHandle iTabH,
- short res) ONEWORDINLINE(0xAA39);
-
-
- /*
- * AddSearch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AddSearch(ColorSearchUPP searchProc) ONEWORDINLINE(0xAA3A);
-
-
- /*
- * AddComp()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AddComp(ColorComplementUPP compProc) ONEWORDINLINE(0xAA3B);
-
-
- /*
- * DelSearch()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DelSearch(ColorSearchUPP searchProc) ONEWORDINLINE(0xAA4C);
-
-
- /*
- * DelComp()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DelComp(ColorComplementUPP compProc) ONEWORDINLINE(0xAA4D);
-
-
- /*
- * SetClientID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetClientID(short id) ONEWORDINLINE(0xAA3C);
-
-
- /*
- * ProtectEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ProtectEntry(
- short index,
- Boolean protect) ONEWORDINLINE(0xAA3D);
-
-
- /*
- * ReserveEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ReserveEntry(
- short index,
- Boolean reserve) ONEWORDINLINE(0xAA3E);
-
-
- /*
- * SetEntries()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetEntries(
- short start,
- short count,
- CSpecArray aTable) ONEWORDINLINE(0xAA3F);
-
-
- /*
- * SaveEntries()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SaveEntries(
- CTabHandle srcTable,
- CTabHandle resultTable,
- ReqListRec * selection) ONEWORDINLINE(0xAA49);
-
-
- /*
- * RestoreEntries()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RestoreEntries(
- CTabHandle srcTable,
- CTabHandle dstTable,
- ReqListRec * selection) ONEWORDINLINE(0xAA4A);
-
-
- /*
- * QDError()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- QDError(void) ONEWORDINLINE(0xAA40);
-
-
- /*
- * CopyDeepMask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CopyDeepMask(
- const BitMap * srcBits,
- const BitMap * maskBits,
- const BitMap * dstBits,
- const Rect * srcRect,
- const Rect * maskRect,
- const Rect * dstRect,
- short mode,
- RgnHandle maskRgn) /* can be NULL */ ONEWORDINLINE(0xAA51);
-
-
- /*
- * DeviceLoop()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DeviceLoop(
- RgnHandle drawingRgn,
- DeviceLoopDrawingUPP drawingProc,
- long userData,
- DeviceLoopFlags flags) ONEWORDINLINE(0xABCA);
-
-
-
-
- /*
- * GetMaskTable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NewPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PixMapHandle )
+NewPixMap(void) ONEWORDINLINE(0xAA03);
+
+
+/*
+ * DisposePixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposePixMap(PixMapHandle pm) ONEWORDINLINE(0xAA04);
+
+
+/*
+ * CopyPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CopyPixMap(
+ PixMapHandle srcPM,
+ PixMapHandle dstPM) ONEWORDINLINE(0xAA05);
+
+
+/*
+ * NewPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PixPatHandle )
+NewPixPat(void) ONEWORDINLINE(0xAA07);
+
+
+/*
+ * DisposePixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposePixPat(PixPatHandle pp) ONEWORDINLINE(0xAA08);
+
+
+/*
+ * CopyPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CopyPixPat(
+ PixPatHandle srcPP,
+ PixPatHandle dstPP) ONEWORDINLINE(0xAA09);
+
+
+/*
+ * PenPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PenPixPat(PixPatHandle pp) ONEWORDINLINE(0xAA0A);
+
+
+/*
+ * BackPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BackPixPat(PixPatHandle pp) ONEWORDINLINE(0xAA0B);
+
+
+/*
+ * GetPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PixPatHandle )
+GetPixPat(short patID) ONEWORDINLINE(0xAA0C);
+
+
+/*
+ * MakeRGBPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MakeRGBPat(
+ PixPatHandle pp,
+ const RGBColor * myColor) ONEWORDINLINE(0xAA0D);
+
+
+/*
+ * FillCRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillCRect(
+ const Rect * r,
+ PixPatHandle pp) ONEWORDINLINE(0xAA0E);
+
+
+/*
+ * FillCOval()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillCOval(
+ const Rect * r,
+ PixPatHandle pp) ONEWORDINLINE(0xAA0F);
+
+
+/*
+ * FillCRoundRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillCRoundRect(
+ const Rect * r,
+ short ovalWidth,
+ short ovalHeight,
+ PixPatHandle pp) ONEWORDINLINE(0xAA10);
+
+
+/*
+ * FillCArc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillCArc(
+ const Rect * r,
+ short startAngle,
+ short arcAngle,
+ PixPatHandle pp) ONEWORDINLINE(0xAA11);
+
+
+/*
+ * FillCRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillCRgn(
+ RgnHandle rgn,
+ PixPatHandle pp) ONEWORDINLINE(0xAA12);
+
+
+/*
+ * FillCPoly()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FillCPoly(
+ PolyHandle poly,
+ PixPatHandle pp) ONEWORDINLINE(0xAA13);
+
+
+/*
+ * RGBForeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RGBForeColor(const RGBColor * color) ONEWORDINLINE(0xAA14);
+
+
+/*
+ * RGBBackColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RGBBackColor(const RGBColor * color) ONEWORDINLINE(0xAA15);
+
+
+/*
+ * SetCPixel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetCPixel(
+ short h,
+ short v,
+ const RGBColor * cPix) ONEWORDINLINE(0xAA16);
+
+
+/*
+ * SetPortPix()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortPix(PixMapHandle pm) ONEWORDINLINE(0xAA06);
+
+
+/*
+ * GetCPixel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetCPixel(
+ short h,
+ short v,
+ RGBColor * cPix) ONEWORDINLINE(0xAA17);
+
+
+/*
+ * GetForeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetForeColor(RGBColor * color) ONEWORDINLINE(0xAA19);
+
+
+/*
+ * GetBackColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetBackColor(RGBColor * color) ONEWORDINLINE(0xAA1A);
+
+
+/*
+ * SeedCFill()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SeedCFill(
+ const BitMap * srcBits,
+ const BitMap * dstBits,
+ const Rect * srcRect,
+ const Rect * dstRect,
+ short seedH,
+ short seedV,
+ ColorSearchUPP matchProc,
+ long matchData) ONEWORDINLINE(0xAA50);
+
+
+/*
+ * CalcCMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CalcCMask(
+ const BitMap * srcBits,
+ const BitMap * dstBits,
+ const Rect * srcRect,
+ const Rect * dstRect,
+ const RGBColor * seedRGB,
+ ColorSearchUPP matchProc,
+ long matchData) ONEWORDINLINE(0xAA4F);
+
+
+/*
+ * OpenCPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PicHandle )
+OpenCPicture(const OpenCPicParams * newHeader) ONEWORDINLINE(0xAA20);
+
+
+/*
+ * OpColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+OpColor(const RGBColor * color) ONEWORDINLINE(0xAA21);
+
+
+/*
+ * HiliteColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HiliteColor(const RGBColor * color) ONEWORDINLINE(0xAA22);
+
+
+/*
+ * DisposeCTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeCTable(CTabHandle cTable) ONEWORDINLINE(0xAA24);
+
+
+/*
+ * GetCTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CTabHandle )
+GetCTable(short ctID) ONEWORDINLINE(0xAA18);
+
+
+/*
+ * GetCCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CCrsrHandle )
+GetCCursor(short crsrID) ONEWORDINLINE(0xAA1B);
+
+
+/*
+ * SetCCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetCCursor(CCrsrHandle cCrsr) ONEWORDINLINE(0xAA1C);
+
+
+/*
+ * AllocCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AllocCursor(void) ONEWORDINLINE(0xAA1D);
+
+
+/*
+ * DisposeCCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeCCursor(CCrsrHandle cCrsr) ONEWORDINLINE(0xAA26);
+
+
+/* GetCIcon(), PlotCIcon(), and DisposeCIcon() moved to Icons.h*/
+
+/*
+ * SetStdCProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetStdCProcs(CQDProcs * procs) ONEWORDINLINE(0xAA4E);
+
+
+/*
+ * GetMaxDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+GetMaxDevice(const Rect * globalRect) ONEWORDINLINE(0xAA27);
+
+
+/*
+ * GetCTSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GetCTSeed(void) ONEWORDINLINE(0xAA28);
+
+
+/*
+ * GetDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+GetDeviceList(void) ONEWORDINLINE(0xAA29);
+
+
+/*
+ * GetMainDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+GetMainDevice(void) ONEWORDINLINE(0xAA2A);
+
+
+/*
+ * GetNextDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+GetNextDevice(GDHandle curDevice) ONEWORDINLINE(0xAA2B);
+
+
+/*
+ * TestDeviceAttribute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+TestDeviceAttribute(
+ GDHandle gdh,
+ short attribute) ONEWORDINLINE(0xAA2C);
+
+
+/*
+ * SetDeviceAttribute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetDeviceAttribute(
+ GDHandle gdh,
+ short attribute,
+ Boolean value) ONEWORDINLINE(0xAA2D);
+
+
+/*
+ * InitGDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InitGDevice(
+ short qdRefNum,
+ long mode,
+ GDHandle gdh) ONEWORDINLINE(0xAA2E);
+
+
+/*
+ * NewGDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+NewGDevice(
+ short refNum,
+ long mode) ONEWORDINLINE(0xAA2F);
+
+
+/*
+ * DisposeGDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposeGDevice(GDHandle gdh) ONEWORDINLINE(0xAA30);
+
+
+/*
+ * SetGDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetGDevice(GDHandle gd) ONEWORDINLINE(0xAA31);
+
+
+/*
+ * GetGDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+GetGDevice(void) ONEWORDINLINE(0xAA32);
+
+
+/*
+ * Color2Index()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+Color2Index(const RGBColor * myColor) ONEWORDINLINE(0xAA33);
+
+
+/*
+ * Index2Color()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Index2Color(
+ long index,
+ RGBColor * aColor) ONEWORDINLINE(0xAA34);
+
+
+/*
+ * InvertColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+InvertColor(RGBColor * myColor) ONEWORDINLINE(0xAA35);
+
+
+/*
+ * RealColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+RealColor(const RGBColor * color) ONEWORDINLINE(0xAA36);
+
+
+/*
+ * GetSubTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetSubTable(
+ CTabHandle myColors,
+ short iTabRes,
+ CTabHandle targetTbl) ONEWORDINLINE(0xAA37);
+
+
+/*
+ * MakeITable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MakeITable(
+ CTabHandle cTabH,
+ ITabHandle iTabH,
+ short res) ONEWORDINLINE(0xAA39);
+
+
+/*
+ * AddSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AddSearch(ColorSearchUPP searchProc) ONEWORDINLINE(0xAA3A);
+
+
+/*
+ * AddComp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AddComp(ColorComplementUPP compProc) ONEWORDINLINE(0xAA3B);
+
+
+/*
+ * DelSearch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DelSearch(ColorSearchUPP searchProc) ONEWORDINLINE(0xAA4C);
+
+
+/*
+ * DelComp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DelComp(ColorComplementUPP compProc) ONEWORDINLINE(0xAA4D);
+
+
+/*
+ * SetClientID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetClientID(short id) ONEWORDINLINE(0xAA3C);
+
+
+/*
+ * ProtectEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ProtectEntry(
+ short index,
+ Boolean protect) ONEWORDINLINE(0xAA3D);
+
+
+/*
+ * ReserveEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ReserveEntry(
+ short index,
+ Boolean reserve) ONEWORDINLINE(0xAA3E);
+
+
+/*
+ * SetEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetEntries(
+ short start,
+ short count,
+ CSpecArray aTable) ONEWORDINLINE(0xAA3F);
+
+
+/*
+ * SaveEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SaveEntries(
+ CTabHandle srcTable,
+ CTabHandle resultTable,
+ ReqListRec * selection) ONEWORDINLINE(0xAA49);
+
+
+/*
+ * RestoreEntries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RestoreEntries(
+ CTabHandle srcTable,
+ CTabHandle dstTable,
+ ReqListRec * selection) ONEWORDINLINE(0xAA4A);
+
+
+/*
+ * QDError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+QDError(void) ONEWORDINLINE(0xAA40);
+
+
+/*
+ * CopyDeepMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CopyDeepMask(
+ const BitMap * srcBits,
+ const BitMap * maskBits,
+ const BitMap * dstBits,
+ const Rect * srcRect,
+ const Rect * maskRect,
+ const Rect * dstRect,
+ short mode,
+ RgnHandle maskRgn) /* can be NULL */ ONEWORDINLINE(0xAA51);
+
+
+/*
+ * DeviceLoop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DeviceLoop(
+ RgnHandle drawingRgn,
+ DeviceLoopDrawingUPP drawingProc,
+ long userData,
+ DeviceLoopFlags flags) ONEWORDINLINE(0xABCA);
+
+
+
+
+/*
+ * GetMaskTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __A0 GetMaskTable
#endif
- EXTERN_API(Ptr)
- GetMaskTable(void) ONEWORDINLINE(0xA836);
-
-
-
- /*
- * GetPattern()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PatHandle)
- GetPattern(short patternID) ONEWORDINLINE(0xA9B8);
-
-
- /*
- * [Mac]GetCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( Ptr )
+GetMaskTable(void) ONEWORDINLINE(0xA836);
+
+
+
+/*
+ * GetPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PatHandle )
+GetPattern(short patternID) ONEWORDINLINE(0xA9B8);
+
+
+/*
+ * [Mac]GetCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacGetCursor GetCursor
+ #define MacGetCursor GetCursor
#endif
- EXTERN_API(CursHandle)
- MacGetCursor(short cursorID) ONEWORDINLINE(0xA9B9);
-
-
- /*
- * GetPicture()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PicHandle)
- GetPicture(short pictureID) ONEWORDINLINE(0xA9BC);
-
-
- /*
- * DeltaPoint()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- DeltaPoint(
- Point ptA,
- Point ptB) ONEWORDINLINE(0xA94F);
-
-
- /*
- * ShieldCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ShieldCursor(
- const Rect * shieldRect,
- Point offsetPt) ONEWORDINLINE(0xA855);
-
-
- /*
- * ScreenRes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ScreenRes(
- short * scrnHRes,
- short * scrnVRes) SIXWORDINLINE(0x225F, 0x32B8, 0x0102, 0x225F, 0x32B8, 0x0104);
-
-
- /*
- * GetIndPattern()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetIndPattern(
- Pattern * thePat,
- short patternListID,
- short index);
+EXTERN_API( CursHandle )
+MacGetCursor(short cursorID) ONEWORDINLINE(0xA9B9);
+
+
+/*
+ * GetPicture()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PicHandle )
+GetPicture(short pictureID) ONEWORDINLINE(0xA9BC);
+
+
+/*
+ * DeltaPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+DeltaPoint(
+ Point ptA,
+ Point ptB) ONEWORDINLINE(0xA94F);
+
+
+/*
+ * ShieldCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ShieldCursor(
+ const Rect * shieldRect,
+ Point offsetPt) ONEWORDINLINE(0xA855);
+
+
+/*
+ * ScreenRes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ScreenRes(
+ short * scrnHRes,
+ short * scrnVRes) SIXWORDINLINE(0x225F, 0x32B8, 0x0102, 0x225F, 0x32B8, 0x0104);
+
+
+/*
+ * GetIndPattern()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetIndPattern(
+ Pattern * thePat,
+ short patternListID,
+ short index);
#if CALL_NOT_IN_CARBON
- /*
- * ptinrect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- ptinrect(
- const Point * pt,
- const Rect * r);
-
-
- /*
- * pt2rect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- pt2rect(
- const Point * pt1,
- const Point * pt2,
- Rect * destRect);
-
-
- /*
- * pttoangle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- pttoangle(
- const Rect * r,
- const Point * pt,
- short * angle);
-
-
- /*
- * ptinrgn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- ptinrgn(
- const Point * pt,
- RgnHandle rgn);
-
-
- /*
- * addpt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- addpt(
- const Point * src,
- Point * dst);
-
-
- /*
- * subpt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- subpt(
- const Point * src,
- Point * dst);
-
-
- /*
- * equalpt()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- equalpt(
- const Point * pt1,
- const Point * pt2);
-
-
- /*
- * stuffhex()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- stuffhex(
- void * thingPtr,
- const char * s);
-
-
- /*
- * stdline()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- stdline(const Point * newPt);
-
-
- /*
- * shieldcursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- shieldcursor(
- const Rect * shieldRect,
- Point * offsetPt);
+/*
+ * ptinrect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+ptinrect(
+ const Point * pt,
+ const Rect * r);
+
+
+/*
+ * pt2rect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+pt2rect(
+ const Point * pt1,
+ const Point * pt2,
+ Rect * destRect);
+
+
+/*
+ * pttoangle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+pttoangle(
+ const Rect * r,
+ const Point * pt,
+ short * angle);
+
+
+/*
+ * ptinrgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+ptinrgn(
+ const Point * pt,
+ RgnHandle rgn);
+
+
+/*
+ * addpt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+addpt(
+ const Point * src,
+ Point * dst);
+
+
+/*
+ * subpt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+subpt(
+ const Point * src,
+ Point * dst);
+
+
+/*
+ * equalpt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+equalpt(
+ const Point * pt1,
+ const Point * pt2);
+
+
+/*
+ * stuffhex()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+stuffhex(
+ void * thingPtr,
+ const char * s);
+
+
+/*
+ * stdline()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+stdline(const Point * newPt);
+
+
+/*
+ * shieldcursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+shieldcursor(
+ const Rect * shieldRect,
+ Point * offsetPt);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * deltapoint()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long)
- deltapoint(
- Point * ptA,
- Point * ptB);
+/*
+ * deltapoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long )
+deltapoint(
+ Point * ptA,
+ Point * ptB);
#if OLDROUTINENAMES
@@ -5924,2118 +5676,2108 @@ extern "C" {
#define DisposGDevice(gdh) DisposeGDevice(gdh)
#endif /* OLDROUTINENAMES */
- /*
- From ToolUtils.i
- */
- /*
- * PackBits()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- PackBits(
- Ptr * srcPtr,
- Ptr * dstPtr,
- short srcBytes) ONEWORDINLINE(0xA8CF);
-
-
- /*
- * UnpackBits()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UnpackBits(
- Ptr * srcPtr,
- Ptr * dstPtr,
- short dstBytes) ONEWORDINLINE(0xA8D0);
-
-
- /*
- * SlopeFromAngle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- SlopeFromAngle(short angle) ONEWORDINLINE(0xA8BC);
-
-
- /*
- * AngleFromSlope()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- AngleFromSlope(Fixed slope) ONEWORDINLINE(0xA8C4);
-
-
- /* New transfer modes */
- enum
- {
- colorXorXFer = 52,
- noiseXFer = 53,
- customXFer = 54
- };
-
- /* Custom XFer flags */
- enum
- {
- kXFer1PixelAtATime = 0x00000001, /* 1 pixel passed to custom XFer proc*/
- kXFerConvertPixelToRGB32 = 0x00000002 /* All color depths converted to 32 bit RGB*/
- };
-
- struct CustomXFerRec
- {
- UInt32 version;
- void * srcPixels;
- void * destPixels;
- void * resultPixels;
- UInt32 refCon;
- UInt32 pixelSize;
- UInt32 pixelCount;
- Point firstPixelHV;
- Rect destBounds;
- };
- typedef struct CustomXFerRec CustomXFerRec;
- typedef CustomXFerRec * CustomXFerRecPtr;
- typedef CALLBACK_API(void , CustomXFerProcPtr)(CustomXFerRecPtr info);
- /*
- * GetPortCustomXFerProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetPortCustomXFerProc(
- CGrafPtr port,
- CustomXFerProcPtr * proc,
- UInt32 * flags,
- UInt32 * refCon) FOURWORDINLINE(0x203C, 0x0010, 0x0019, 0xAB1D);
-
-
- /*
- * SetPortCustomXFerProc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetPortCustomXFerProc(
- CGrafPtr port,
- CustomXFerProcPtr proc,
- UInt32 flags,
- UInt32 refCon) FOURWORDINLINE(0x203C, 0x0010, 0x001A, 0xAB1D);
-
-
-
- enum
- {
- kCursorComponentsVersion = 0x00010001
- };
-
- enum
- {
- kCursorComponentType = FOUR_CHAR_CODE('curs')
- };
-
- /* Cursor Component capabilities flags */
- enum
- {
- cursorDoesAnimate = 1L << 0,
- cursorDoesHardware = 1L << 1,
- cursorDoesUnreadableScreenBits = 1L << 2
- };
-
- /* Cursor Component output mode flags */
- enum
- {
- kRenderCursorInHardware = 1L << 0,
- kRenderCursorInSoftware = 1L << 1
- };
-
- /* Cursor Component Info */
- struct CursorInfo
- {
- long version; /* use kCursorComponentsVersion */
- long capabilities;
- long animateDuration; /* approximate time between animate tickles */
- Rect bounds;
- Point hotspot;
- long reserved; /* must set to zero */
-
- };
- typedef struct CursorInfo CursorInfo;
- /* Cursor Component Selectors */
- enum
- {
- kCursorComponentInit = 0x0001,
- kCursorComponentGetInfo = 0x0002,
- kCursorComponentSetOutputMode = 0x0003,
- kCursorComponentSetData = 0x0004,
- kCursorComponentReconfigure = 0x0005,
- kCursorComponentDraw = 0x0006,
- kCursorComponentErase = 0x0007,
- kCursorComponentMove = 0x0008,
- kCursorComponentAnimate = 0x0009,
- kCursorComponentLastReserved = 0x0050
- };
-
- /*
- * OpenCursorComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OpenCursorComponent(
- Component c,
- ComponentInstance * ci) FOURWORDINLINE(0x203C, 0x0008, 0x000B, 0xABE0);
-
-
- /*
- * CloseCursorComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CloseCursorComponent(ComponentInstance ci) FOURWORDINLINE(0x203C, 0x0004, 0x000C, 0xABE0);
-
-
- /*
- * SetCursorComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetCursorComponent(ComponentInstance ci) FOURWORDINLINE(0x203C, 0x0004, 0x000D, 0xABE0);
-
-
- /*
- * CursorComponentChanged()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CursorComponentChanged(ComponentInstance ci) FOURWORDINLINE(0x203C, 0x0004, 0x000E, 0xABE0);
-
-
- /*
- * CursorComponentSetData()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CursorComponentSetData(
- ComponentInstance ci,
- long data) FOURWORDINLINE(0x203C, 0x0008, 0x000F, 0xABE0);
-
-
- /* Quickdraw-specific ColorSync matching */
- /* Available in CarbonLib... */
- /*
- * IsValidPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsValidPort(CGrafPtr port);
+/*
+ From ToolUtils.i
+*/
+/*
+ * PackBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+PackBits(
+ Ptr * srcPtr,
+ Ptr * dstPtr,
+ short srcBytes) ONEWORDINLINE(0xA8CF);
+
+
+/*
+ * UnpackBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UnpackBits(
+ Ptr * srcPtr,
+ Ptr * dstPtr,
+ short dstBytes) ONEWORDINLINE(0xA8D0);
+
+
+/*
+ * SlopeFromAngle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+SlopeFromAngle(short angle) ONEWORDINLINE(0xA8BC);
+
+
+/*
+ * AngleFromSlope()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+AngleFromSlope(Fixed slope) ONEWORDINLINE(0xA8C4);
+
+
+/* New transfer modes */
+enum {
+ colorXorXFer = 52,
+ noiseXFer = 53,
+ customXFer = 54
+};
+
+/* Custom XFer flags */
+enum {
+ kXFer1PixelAtATime = 0x00000001, /* 1 pixel passed to custom XFer proc*/
+ kXFerConvertPixelToRGB32 = 0x00000002 /* All color depths converted to 32 bit RGB*/
+};
+
+struct CustomXFerRec {
+ UInt32 version;
+ void * srcPixels;
+ void * destPixels;
+ void * resultPixels;
+ UInt32 refCon;
+ UInt32 pixelSize;
+ UInt32 pixelCount;
+ Point firstPixelHV;
+ Rect destBounds;
+};
+typedef struct CustomXFerRec CustomXFerRec;
+typedef CustomXFerRec * CustomXFerRecPtr;
+typedef CALLBACK_API( void , CustomXFerProcPtr )(CustomXFerRecPtr info);
+/*
+ * GetPortCustomXFerProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetPortCustomXFerProc(
+ CGrafPtr port,
+ CustomXFerProcPtr * proc,
+ UInt32 * flags,
+ UInt32 * refCon) FOURWORDINLINE(0x203C, 0x0010, 0x0019, 0xAB1D);
+
+
+/*
+ * SetPortCustomXFerProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetPortCustomXFerProc(
+ CGrafPtr port,
+ CustomXFerProcPtr proc,
+ UInt32 flags,
+ UInt32 refCon) FOURWORDINLINE(0x203C, 0x0010, 0x001A, 0xAB1D);
+
+
+
+enum {
+ kCursorComponentsVersion = 0x00010001
+};
+
+enum {
+ kCursorComponentType = FOUR_CHAR_CODE('curs')
+};
+
+/* Cursor Component capabilities flags */
+enum {
+ cursorDoesAnimate = 1L << 0,
+ cursorDoesHardware = 1L << 1,
+ cursorDoesUnreadableScreenBits = 1L << 2
+};
+
+/* Cursor Component output mode flags */
+enum {
+ kRenderCursorInHardware = 1L << 0,
+ kRenderCursorInSoftware = 1L << 1
+};
+
+/* Cursor Component Info */
+struct CursorInfo {
+ long version; /* use kCursorComponentsVersion */
+ long capabilities;
+ long animateDuration; /* approximate time between animate tickles */
+ Rect bounds;
+ Point hotspot;
+ long reserved; /* must set to zero */
+
+};
+typedef struct CursorInfo CursorInfo;
+/* Cursor Component Selectors */
+enum {
+ kCursorComponentInit = 0x0001,
+ kCursorComponentGetInfo = 0x0002,
+ kCursorComponentSetOutputMode = 0x0003,
+ kCursorComponentSetData = 0x0004,
+ kCursorComponentReconfigure = 0x0005,
+ kCursorComponentDraw = 0x0006,
+ kCursorComponentErase = 0x0007,
+ kCursorComponentMove = 0x0008,
+ kCursorComponentAnimate = 0x0009,
+ kCursorComponentLastReserved = 0x0050
+};
+
+/*
+ * OpenCursorComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OpenCursorComponent(
+ Component c,
+ ComponentInstance * ci) FOURWORDINLINE(0x203C, 0x0008, 0x000B, 0xABE0);
+
+
+/*
+ * CloseCursorComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CloseCursorComponent(ComponentInstance ci) FOURWORDINLINE(0x203C, 0x0004, 0x000C, 0xABE0);
+
+
+/*
+ * SetCursorComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetCursorComponent(ComponentInstance ci) FOURWORDINLINE(0x203C, 0x0004, 0x000D, 0xABE0);
+
+
+/*
+ * CursorComponentChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CursorComponentChanged(ComponentInstance ci) FOURWORDINLINE(0x203C, 0x0004, 0x000E, 0xABE0);
+
+
+/*
+ * CursorComponentSetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CursorComponentSetData(
+ ComponentInstance ci,
+ long data) FOURWORDINLINE(0x203C, 0x0008, 0x000F, 0xABE0);
+
+
+/* Quickdraw-specific ColorSync matching */
+/* Available in CarbonLib... */
+/*
+ * IsValidPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsValidPort(CGrafPtr port);
#if ACCESSOR_CALLS_ARE_FUNCTIONS
- /* GrafPort */
- /* Getters */
- /*
- * GetPortPixMap()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PixMapHandle)
- GetPortPixMap(CGrafPtr port);
-
-
- /*
- * GetPortBitMapForCopyBits()
- *
- * Discussion:
- * GetPortBitMapForCopyBits is provided for the specific purpose of
- * using the return value as a parameter to CopyBits. The return
- * value can be used as the srcBits or dstBits parameter to CopyBits
- * regardless of whether the port is color. If the port parameter is
- * a color port, however, the returned BitMapPtr does not actually
- * point to a BitMap; it points to the PixMapHandle and other fields
- * in the CGrafPort structure. You should not dereference the
- * BitMapPtr or otherwise depend on its contents unless you've
- * confirmed that this port is a non-color port.
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(const BitMap *)
- GetPortBitMapForCopyBits(CGrafPtr port);
-
-
- /*
- * GetPortBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- GetPortBounds(
- CGrafPtr port,
- Rect * rect);
-
-
- /*
- * GetPortForeColor()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RGBColor *)
- GetPortForeColor(
- CGrafPtr port,
- RGBColor * foreColor);
-
-
- /*
- * GetPortBackColor()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RGBColor *)
- GetPortBackColor(
- CGrafPtr port,
- RGBColor * backColor);
-
-
- /*
- * GetPortOpColor()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RGBColor *)
- GetPortOpColor(
- CGrafPtr port,
- RGBColor * opColor);
-
-
- /*
- * GetPortHiliteColor()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RGBColor *)
- GetPortHiliteColor(
- CGrafPtr port,
- RGBColor * hiliteColor);
-
-
- /*
- * GetPortGrafProcs()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CQDProcsPtr)
- GetPortGrafProcs(CGrafPtr port);
-
-
- /*
- * GetPortTextFont()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetPortTextFont(CGrafPtr port);
-
-
- /*
- * GetPortTextFace()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Style)
- GetPortTextFace(CGrafPtr port);
-
-
- /*
- * GetPortTextMode()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetPortTextMode(CGrafPtr port);
-
-
- /*
- * GetPortTextSize()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetPortTextSize(CGrafPtr port);
-
-
- /*
- * GetPortChExtra()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetPortChExtra(CGrafPtr port);
-
-
- /*
- * GetPortFracHPenLocation()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetPortFracHPenLocation(CGrafPtr port);
-
-
- /*
- * GetPortSpExtra()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- GetPortSpExtra(CGrafPtr port);
-
-
- /*
- * GetPortPenVisibility()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetPortPenVisibility(CGrafPtr port);
-
-
- /*
- * GetPortVisibleRegion()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RgnHandle)
- GetPortVisibleRegion(
- CGrafPtr port,
- RgnHandle visRgn);
-
-
- /*
- * GetPortClipRegion()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RgnHandle)
- GetPortClipRegion(
- CGrafPtr port,
- RgnHandle clipRgn);
-
-
- /*
- * GetPortBackPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PixPatHandle)
- GetPortBackPixPat(
- CGrafPtr port,
- PixPatHandle backPattern);
-
-
- /*
- * GetPortPenPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PixPatHandle)
- GetPortPenPixPat(
- CGrafPtr port,
- PixPatHandle penPattern);
-
-
- /*
- * GetPortFillPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(PixPatHandle)
- GetPortFillPixPat(
- CGrafPtr port,
- PixPatHandle fillPattern);
-
-
- /*
- * GetPortPenSize()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point *)
- GetPortPenSize(
- CGrafPtr port,
- Point * penSize);
-
-
- /*
- * GetPortPenMode()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- GetPortPenMode(CGrafPtr port);
-
-
- /*
- * GetPortPenLocation()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point *)
- GetPortPenLocation(
- CGrafPtr port,
- Point * penLocation);
-
-
- /*
- * IsPortRegionBeingDefined()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsPortRegionBeingDefined(CGrafPtr port);
-
-
- /*
- * IsPortPictureBeingDefined()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsPortPictureBeingDefined(CGrafPtr port);
-
-
- /*
- * IsPortPolyBeingDefined()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.3 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsPortPolyBeingDefined(CGrafPtr port);
-
-
- /*
- * IsPortOffscreen()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsPortOffscreen(CGrafPtr port);
-
-
- /*
- * IsPortColor()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsPortColor(CGrafPtr port);
-
-
- /*
- * IsPortVisibleRegionEmpty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(Boolean)
- IsPortVisibleRegionEmpty(CGrafPtr port);
-
-
- /*
- * IsPortClipRegionEmpty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(Boolean)
- IsPortClipRegionEmpty(CGrafPtr port);
-
-
- /*
- * SectRegionWithPortClipRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(void)
- SectRegionWithPortClipRegion(
- CGrafPtr port,
- RgnHandle ioRegion);
-
-
- /*
- * SectRegionWithPortVisibleRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(void)
- SectRegionWithPortVisibleRegion(
- CGrafPtr port,
- RgnHandle ioRegion);
-
-
-
- /* Swappers */
- /*
- * SwapPortPicSaveHandle()
- *
- * Summary:
- * Sets the port's picSave Handle, and returns the previous picSave
- *
- * Discussion:
- * Historically, the picSave field in a GrafPort is != NULL if a
- * Picture is being defined; and it has been documented that picture
- * definition can be temporarily suspended by saving the current
- * picSave Handle and setting picSave to NULL. Restoring the saved
- * picSave Handle resumes picture definition.
- *
- * Parameters:
- *
- * port:
- * The port whose picSave field is being swapped.
- *
- * inPicSaveHdl:
- * The picSave Handle to be set.
- *
- * Result:
- * The previous picSave Handle in the port.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(Handle)
- SwapPortPicSaveHandle(
- CGrafPtr port,
- Handle inPicSaveHdl);
-
-
- /* Similarly: */
- /*
- * SwapPortPolySaveHandle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(Handle)
- SwapPortPolySaveHandle(
- CGrafPtr port,
- Handle inPolySaveHdl);
-
-
- /*
- * SwapPortRegionSaveHandle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.6 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(Handle)
- SwapPortRegionSaveHandle(
- CGrafPtr port,
- Handle inRegionSaveHdl);
-
-
-
- /* Setters */
- /*
- * SetPortBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortBounds(
- CGrafPtr port,
- const Rect * rect);
-
-
- /*
- * SetPortOpColor()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortOpColor(
- CGrafPtr port,
- const RGBColor * opColor);
-
-
- /*
- * SetPortGrafProcs()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortGrafProcs(
- CGrafPtr port,
- CQDProcsPtr procs);
-
-
- /*
- * SetPortTextFont()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(void)
- SetPortTextFont(
- CGrafPtr port,
- short txFont);
-
-
- /*
- * SetPortTextSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(void)
- SetPortTextSize(
- CGrafPtr port,
- short txSize);
-
-
- /*
- * SetPortTextFace()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(void)
- SetPortTextFace(
- CGrafPtr port,
- StyleParameter face);
-
-
- /*
- * SetPortTextMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(void)
- SetPortTextMode(
- CGrafPtr port,
- short mode);
-
-
- /*
- * SetPortVisibleRegion()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortVisibleRegion(
- CGrafPtr port,
- RgnHandle visRgn);
-
-
- /*
- * SetPortClipRegion()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortClipRegion(
- CGrafPtr port,
- RgnHandle clipRgn);
-
-
- /*
- * SetPortPenPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortPenPixPat(
- CGrafPtr port,
- PixPatHandle penPattern);
-
-
- /*
- * SetPortFillPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.2 and later
- * CarbonLib: in CarbonLib 1.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortFillPixPat(
- CGrafPtr port,
- PixPatHandle penPattern);
-
-
- /*
- * SetPortBackPixPat()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortBackPixPat(
- CGrafPtr port,
- PixPatHandle backPattern);
-
-
- /*
- * SetPortPenSize()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortPenSize(
- CGrafPtr port,
- Point penSize);
-
-
- /*
- * SetPortPenMode()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortPenMode(
- CGrafPtr port,
- SInt32 penMode);
-
-
- /*
- * SetPortFracHPenLocation()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetPortFracHPenLocation(
- CGrafPtr port,
- short pnLocHFrac);
-
-
- /* PixMap */
- /*
- * GetPixBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- GetPixBounds(
- PixMapHandle pixMap,
- Rect * bounds);
-
-
- /*
- * GetPixDepth()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetPixDepth(PixMapHandle pixMap);
-
-
- /* QDGlobals */
- /* Getters */
- /*
- * GetQDGlobalsRandomSeed()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GetQDGlobalsRandomSeed(void);
-
-
- /*
- * GetQDGlobalsScreenBits()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(BitMap *)
- GetQDGlobalsScreenBits(BitMap * screenBits);
-
-
- /*
- * GetQDGlobalsArrow()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Cursor *)
- GetQDGlobalsArrow(Cursor * arrow);
-
-
- /*
- * GetQDGlobalsDarkGray()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Pattern *)
- GetQDGlobalsDarkGray(Pattern * dkGray);
-
-
- /*
- * GetQDGlobalsLightGray()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Pattern *)
- GetQDGlobalsLightGray(Pattern * ltGray);
-
-
- /*
- * GetQDGlobalsGray()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Pattern *)
- GetQDGlobalsGray(Pattern * gray);
-
-
- /*
- * GetQDGlobalsBlack()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Pattern *)
- GetQDGlobalsBlack(Pattern * black);
-
-
- /*
- * GetQDGlobalsWhite()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Pattern *)
- GetQDGlobalsWhite(Pattern * white);
-
-
- /*
- * GetQDGlobalsThePort()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CGrafPtr)
- GetQDGlobalsThePort(void);
-
-
- /* Setters */
- /*
- * SetQDGlobalsRandomSeed()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetQDGlobalsRandomSeed(long randomSeed);
-
-
- /*
- * SetQDGlobalsArrow()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetQDGlobalsArrow(const Cursor * arrow);
-
-
- /* Regions */
- /*
- * GetRegionBounds()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- GetRegionBounds(
- RgnHandle region,
- Rect * bounds);
-
-
- /*
- * IsRegionRectangular()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsRegionRectangular(RgnHandle region);
-
-
- /* Utilities */
- /* To prevent upward dependencies, GetWindowFromPort() is defined in Window Manager interface: */
- /* pascal WindowRef GetWindowFromPort(CGrafPtr port); */
- /* NewPtr/OpenCPort doesn't work with opaque structures */
- /*
- * CreateNewPort()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CGrafPtr)
- CreateNewPort(void);
-
-
- /*
- * DisposePort()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DisposePort(CGrafPtr port);
-
-
-
- /*
- * SetQDError()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetQDError(OSErr err);
+/* GrafPort */
+/* Getters */
+/*
+ * GetPortPixMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PixMapHandle )
+GetPortPixMap(CGrafPtr port);
+
+
+/*
+ * GetPortBitMapForCopyBits()
+ *
+ * Discussion:
+ * GetPortBitMapForCopyBits is provided for the specific purpose of
+ * using the return value as a parameter to CopyBits. The return
+ * value can be used as the srcBits or dstBits parameter to CopyBits
+ * regardless of whether the port is color. If the port parameter is
+ * a color port, however, the returned BitMapPtr does not actually
+ * point to a BitMap; it points to the PixMapHandle and other fields
+ * in the CGrafPort structure. You should not dereference the
+ * BitMapPtr or otherwise depend on its contents unless you've
+ * confirmed that this port is a non-color port.
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( const BitMap * )
+GetPortBitMapForCopyBits(CGrafPtr port);
+
+
+/*
+ * GetPortBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+GetPortBounds(
+ CGrafPtr port,
+ Rect * rect);
+
+
+/*
+ * GetPortForeColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RGBColor * )
+GetPortForeColor(
+ CGrafPtr port,
+ RGBColor * foreColor);
+
+
+/*
+ * GetPortBackColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RGBColor * )
+GetPortBackColor(
+ CGrafPtr port,
+ RGBColor * backColor);
+
+
+/*
+ * GetPortOpColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RGBColor * )
+GetPortOpColor(
+ CGrafPtr port,
+ RGBColor * opColor);
+
+
+/*
+ * GetPortHiliteColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RGBColor * )
+GetPortHiliteColor(
+ CGrafPtr port,
+ RGBColor * hiliteColor);
+
+
+/*
+ * GetPortGrafProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CQDProcsPtr )
+GetPortGrafProcs(CGrafPtr port);
+
+
+/*
+ * GetPortTextFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetPortTextFont(CGrafPtr port);
+
+
+/*
+ * GetPortTextFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Style )
+GetPortTextFace(CGrafPtr port);
+
+
+/*
+ * GetPortTextMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetPortTextMode(CGrafPtr port);
+
+
+/*
+ * GetPortTextSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetPortTextSize(CGrafPtr port);
+
+
+/*
+ * GetPortChExtra()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetPortChExtra(CGrafPtr port);
+
+
+/*
+ * GetPortFracHPenLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetPortFracHPenLocation(CGrafPtr port);
+
+
+/*
+ * GetPortSpExtra()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+GetPortSpExtra(CGrafPtr port);
+
+
+/*
+ * GetPortPenVisibility()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetPortPenVisibility(CGrafPtr port);
+
+
+/*
+ * GetPortVisibleRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetPortVisibleRegion(
+ CGrafPtr port,
+ RgnHandle visRgn);
+
+
+/*
+ * GetPortClipRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RgnHandle )
+GetPortClipRegion(
+ CGrafPtr port,
+ RgnHandle clipRgn);
+
+
+/*
+ * GetPortBackPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PixPatHandle )
+GetPortBackPixPat(
+ CGrafPtr port,
+ PixPatHandle backPattern);
+
+
+/*
+ * GetPortPenPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PixPatHandle )
+GetPortPenPixPat(
+ CGrafPtr port,
+ PixPatHandle penPattern);
+
+
+/*
+ * GetPortFillPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( PixPatHandle )
+GetPortFillPixPat(
+ CGrafPtr port,
+ PixPatHandle fillPattern);
+
+
+/*
+ * GetPortPenSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point * )
+GetPortPenSize(
+ CGrafPtr port,
+ Point * penSize);
+
+
+/*
+ * GetPortPenMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+GetPortPenMode(CGrafPtr port);
+
+
+/*
+ * GetPortPenLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point * )
+GetPortPenLocation(
+ CGrafPtr port,
+ Point * penLocation);
+
+
+/*
+ * IsPortRegionBeingDefined()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsPortRegionBeingDefined(CGrafPtr port);
+
+
+/*
+ * IsPortPictureBeingDefined()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsPortPictureBeingDefined(CGrafPtr port);
+
+
+/*
+ * IsPortPolyBeingDefined()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.3 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsPortPolyBeingDefined(CGrafPtr port);
+
+
+/*
+ * IsPortOffscreen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsPortOffscreen(CGrafPtr port);
+
+
+/*
+ * IsPortColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsPortColor(CGrafPtr port);
+
+
+/*
+ * IsPortVisibleRegionEmpty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( Boolean )
+IsPortVisibleRegionEmpty(CGrafPtr port);
+
+
+/*
+ * IsPortClipRegionEmpty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( Boolean )
+IsPortClipRegionEmpty(CGrafPtr port);
+
+
+/*
+ * SectRegionWithPortClipRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( void )
+SectRegionWithPortClipRegion(
+ CGrafPtr port,
+ RgnHandle ioRegion);
+
+
+/*
+ * SectRegionWithPortVisibleRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( void )
+SectRegionWithPortVisibleRegion(
+ CGrafPtr port,
+ RgnHandle ioRegion);
+
+
+
+/* Swappers */
+/*
+ * SwapPortPicSaveHandle()
+ *
+ * Summary:
+ * Sets the port's picSave Handle, and returns the previous picSave
+ *
+ * Discussion:
+ * Historically, the picSave field in a GrafPort is != NULL if a
+ * Picture is being defined; and it has been documented that picture
+ * definition can be temporarily suspended by saving the current
+ * picSave Handle and setting picSave to NULL. Restoring the saved
+ * picSave Handle resumes picture definition.
+ *
+ * Parameters:
+ *
+ * port:
+ * The port whose picSave field is being swapped.
+ *
+ * inPicSaveHdl:
+ * The picSave Handle to be set.
+ *
+ * Result:
+ * The previous picSave Handle in the port.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( Handle )
+SwapPortPicSaveHandle(
+ CGrafPtr port,
+ Handle inPicSaveHdl);
+
+
+/* Similarly: */
+/*
+ * SwapPortPolySaveHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( Handle )
+SwapPortPolySaveHandle(
+ CGrafPtr port,
+ Handle inPolySaveHdl);
+
+
+/*
+ * SwapPortRegionSaveHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( Handle )
+SwapPortRegionSaveHandle(
+ CGrafPtr port,
+ Handle inRegionSaveHdl);
+
+
+
+/* Setters */
+/*
+ * SetPortBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortBounds(
+ CGrafPtr port,
+ const Rect * rect);
+
+
+/*
+ * SetPortOpColor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortOpColor(
+ CGrafPtr port,
+ const RGBColor * opColor);
+
+
+/*
+ * SetPortGrafProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortGrafProcs(
+ CGrafPtr port,
+ CQDProcsPtr procs);
+
+
+/*
+ * SetPortTextFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( void )
+SetPortTextFont(
+ CGrafPtr port,
+ short txFont);
+
+
+/*
+ * SetPortTextSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( void )
+SetPortTextSize(
+ CGrafPtr port,
+ short txSize);
+
+
+/*
+ * SetPortTextFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( void )
+SetPortTextFace(
+ CGrafPtr port,
+ StyleParameter face);
+
+
+/*
+ * SetPortTextMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( void )
+SetPortTextMode(
+ CGrafPtr port,
+ short mode);
+
+
+/*
+ * SetPortVisibleRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortVisibleRegion(
+ CGrafPtr port,
+ RgnHandle visRgn);
+
+
+/*
+ * SetPortClipRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortClipRegion(
+ CGrafPtr port,
+ RgnHandle clipRgn);
+
+
+/*
+ * SetPortPenPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortPenPixPat(
+ CGrafPtr port,
+ PixPatHandle penPattern);
+
+
+/*
+ * SetPortFillPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.2 and later
+ * CarbonLib: in CarbonLib 1.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortFillPixPat(
+ CGrafPtr port,
+ PixPatHandle penPattern);
+
+
+/*
+ * SetPortBackPixPat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortBackPixPat(
+ CGrafPtr port,
+ PixPatHandle backPattern);
+
+
+/*
+ * SetPortPenSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortPenSize(
+ CGrafPtr port,
+ Point penSize);
+
+
+/*
+ * SetPortPenMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortPenMode(
+ CGrafPtr port,
+ SInt32 penMode);
+
+
+/*
+ * SetPortFracHPenLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPortFracHPenLocation(
+ CGrafPtr port,
+ short pnLocHFrac);
+
+
+/* PixMap */
+/*
+ * GetPixBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+GetPixBounds(
+ PixMapHandle pixMap,
+ Rect * bounds);
+
+
+/*
+ * GetPixDepth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetPixDepth(PixMapHandle pixMap);
+
+
+/* QDGlobals */
+/* Getters */
+/*
+ * GetQDGlobalsRandomSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GetQDGlobalsRandomSeed(void);
+
+
+/*
+ * GetQDGlobalsScreenBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( BitMap * )
+GetQDGlobalsScreenBits(BitMap * screenBits);
+
+
+/*
+ * GetQDGlobalsArrow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Cursor * )
+GetQDGlobalsArrow(Cursor * arrow);
+
+
+/*
+ * GetQDGlobalsDarkGray()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Pattern * )
+GetQDGlobalsDarkGray(Pattern * dkGray);
+
+
+/*
+ * GetQDGlobalsLightGray()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Pattern * )
+GetQDGlobalsLightGray(Pattern * ltGray);
+
+
+/*
+ * GetQDGlobalsGray()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Pattern * )
+GetQDGlobalsGray(Pattern * gray);
+
+
+/*
+ * GetQDGlobalsBlack()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Pattern * )
+GetQDGlobalsBlack(Pattern * black);
+
+
+/*
+ * GetQDGlobalsWhite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Pattern * )
+GetQDGlobalsWhite(Pattern * white);
+
+
+/*
+ * GetQDGlobalsThePort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CGrafPtr )
+GetQDGlobalsThePort(void);
+
+
+/* Setters */
+/*
+ * SetQDGlobalsRandomSeed()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetQDGlobalsRandomSeed(long randomSeed);
+
+
+/*
+ * SetQDGlobalsArrow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetQDGlobalsArrow(const Cursor * arrow);
+
+
+/* Regions */
+/*
+ * GetRegionBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+GetRegionBounds(
+ RgnHandle region,
+ Rect * bounds);
+
+
+/*
+ * IsRegionRectangular()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsRegionRectangular(RgnHandle region);
+
+
+/* Utilities */
+/* To prevent upward dependencies, GetWindowFromPort() is defined in Window Manager interface: */
+/* pascal WindowRef GetWindowFromPort(CGrafPtr port); */
+/* NewPtr/OpenCPort doesn't work with opaque structures */
+/*
+ * CreateNewPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CGrafPtr )
+CreateNewPort(void);
+
+
+/*
+ * DisposePort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DisposePort(CGrafPtr port);
+
+
+
+/*
+ * SetQDError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetQDError(OSErr err);
#endif /* ACCESSOR_CALLS_ARE_FUNCTIONS */
- /* Helpful Carbon-only utilities (finally made public)*/
-
- /*
- * QDLocalToGlobalPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point *)
- QDLocalToGlobalPoint(
- CGrafPtr port,
- Point * point);
-
-
- /*
- * QDGlobalToLocalPoint()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point *)
- QDGlobalToLocalPoint(
- CGrafPtr port,
- Point * point);
-
-
- /*
- * QDLocalToGlobalRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- QDLocalToGlobalRect(
- CGrafPtr port,
- Rect * bounds);
-
-
- /*
- * QDGlobalToLocalRect()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Rect *)
- QDGlobalToLocalRect(
- CGrafPtr port,
- Rect * bounds);
-
-
- /*
- * QDLocalToGlobalRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RgnHandle)
- QDLocalToGlobalRegion(
- CGrafPtr port,
- RgnHandle region);
-
-
- /*
- * QDGlobalToLocalRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(RgnHandle)
- QDGlobalToLocalRegion(
- CGrafPtr port,
- RgnHandle region);
-
-
-
- /*
- Routines available on Mac OS X to flush buffered window ports...
- These calls do nothing on Mac OS 8/9. QDIsPortBuffered will always return false there.
- */
-
- /*
- * QDIsPortBuffered()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- QDIsPortBuffered(CGrafPtr port);
-
-
- /*
- * QDIsPortBufferDirty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- QDIsPortBufferDirty(CGrafPtr port);
-
-
- /*
- * QDFlushPortBuffer()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- QDFlushPortBuffer(
- CGrafPtr port,
- RgnHandle region); /* can be NULL */
-
-
- /*
- * QDGetDirtyRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- QDGetDirtyRegion(
- CGrafPtr port,
- RgnHandle rgn);
-
-
- /*
- * QDSetDirtyRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- QDSetDirtyRegion(
- CGrafPtr port,
- RgnHandle rgn);
-
-
- /*
- * QDAddRectToDirtyRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- QDAddRectToDirtyRegion(
- CGrafPtr inPort,
- const Rect * inBounds);
-
-
- /*
- * QDAddRegionToDirtyRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- QDAddRegionToDirtyRegion(
- CGrafPtr inPort,
- RgnHandle inRegion);
-
-
-
- /*
- * CreateCGContextForPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- CreateCGContextForPort(
- CGrafPtr inPort,
- CGContextRef * outContext);
-
-
- /*
- * ClipCGContextToRegion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ClipCGContextToRegion(
- CGContextRef gc,
- const Rect * portRect,
- RgnHandle region);
-
-
- /*
- * SyncCGContextOriginWithPort()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SyncCGContextOriginWithPort(
- CGContextRef inContext,
- CGrafPtr port);
-
-
- /*
- * QDBeginCGContext()
- *
- * Summary:
- * Allow CoreGraphics drawing in a CGrafPort
- *
- * Discussion:
- * So far, CreateCGContextForPort() was used to create a CGContext
- * for CG drawing from a CGrafPort. However, if the current port is
- * a printing port, the CreateCGContextForPort fails; consequently,
- * there was no way to mix Quickdraw and CoreGraphics drawing and
- * still print it. If, instead, the CoreGraphics drawing is
- * bracketed by QDBeginCGContext/QDEndCGContext calls, the drawing
- * will also appear in print. There are some restrictions on the
- * usage of QDBeginCGContext/QDEndCGContext:
- * - Between QDBeginCGContext and QDEndCGContext, Quickdraw drawing
- * is disabled; only CoreGraphics drawing is allowed
- * - QDBeginCGContext/QDEndCGContext calls can not be nested
- * - QDEndCGContext releases the CGContext returned from
- * QDBeginCGContext and sets it to NULL.
- *
- * Parameters:
- *
- * inPort:
- * The current port
- *
- * outContext:
- * The CGContextRef to be used for CG drawing
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- QDBeginCGContext(
- CGrafPtr inPort,
- CGContextRef * outContext);
-
-
- /*
- * QDEndCGContext()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(OSStatus)
- QDEndCGContext(
- CGrafPtr inPort,
- CGContextRef * inoutContext);
-
-
- /*
- The following routines are implemented in CarbonLib, and on Mac OS X in QD proper.
- They save the pixel data of a region in a packed format for quick save/restore
- without using a lot of memory to do a large, hollow region, such as the region
- used when drag hiliting (which is where this is used).
- */
-
- typedef struct OpaqueQDRegionBitsRef* QDRegionBitsRef;
- /*
- * QDSaveRegionBits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(QDRegionBitsRef)
- QDSaveRegionBits(RgnHandle region);
-
-
- /*
- * QDRestoreRegionBits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- QDRestoreRegionBits(
- RgnHandle region,
- QDRegionBitsRef regionBits);
-
-
- /*
- * QDDisposeRegionBits()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- QDDisposeRegionBits(QDRegionBitsRef regionBits);
-
-
- /*
- Developers need a way to go from a CGDirectDisplay environment to Quickdraw.
- The following is equivalent to CreateNewPort(), but instead of taking the
- portPixMap from the current GDevice, it uses the GDevice corresponding to
- the CGSDisplayID passed in. If the CGSDisplayID is invalid, the mainDevice
- is used instead.
- */
- /*
- * CreateNewPortForCGDisplayID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CGrafPtr)
- CreateNewPortForCGDisplayID(UInt32 inCGDisplayID);
-
-
- /*
- In Mac OS X, developers should be able to turn the WaitCursor (spinning wheel)
- on and off. QDDisplayWaitCursor() keeps track of nested calls.
- Passing FALSE will resume automatic wait cursor operation.
- Call this function only from an application in the foreground.
- */
- /*
- * QDDisplayWaitCursor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- QDDisplayWaitCursor(Boolean forceWaitCursor);
-
-
- /*
- * QDSetPatternOrigin()
- *
- * Summary:
- * Sets the pattern origin for the current port.
- *
- * Discussion:
- * When a QuickDraw drawing operation uses a pattern (either a
- * black&white pattern or a PixPat), the pattern's image is aligned
- * with port origin, modified by the pattern origin of the port. For
- * example, if the background pattern is a 10x10 image, and a
- * rectangle with coordinates (3, 3, 10, 10) is filled with that
- * pattern, then only the bottom right 7x7 portion of the pattern
- * image will be drawn into the rectangle. When drawing a pattern,
- * QuickDraw always starts with the port origin and then adjusts it
- * by the pattern origin to determine the actual origin point of
- * pattern drawing. QDSetPatternOrigin can be used to set the
- * pattern origin relative to the port origin. It is often used in
- * conjuction with SetOrigin to maintain the pattern alignment at
- * (0,0) in a window's content area, regardless of the port origin;
- * for example, after changing the port's origin to (10,10), an
- * application might change the port's pattern origin to (-10, -10)
- * so that patterns are still aligned with the window's content area.
- *
- * Parameters:
- *
- * origin:
- * The new pattern origin of the port.
- *
- * Availability:
- * Non-Carbon CFM: in NQD 8.5 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- QDSetPatternOrigin(Point origin);
-
-
- /*
- * QDGetPatternOrigin()
- *
- * Summary:
- * Returns the pattern origin of the current port.
- *
- * Parameters:
- *
- * origin:
- * On exit, contains the current port's pattern origin.
- *
- * Availability:
- * Non-Carbon CFM: in NQD 8.5 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API_C(void)
- QDGetPatternOrigin(Point * origin);
-
-
-
- /*
- * QDIsNamedPixMapCursorRegistered()
- *
- * Summary:
- * Returns whether a named cursor has already been registered.
- *
- * Discussion:
- * The CoreGraphics Scalable Cursor Registry provides support for
- * cursors based on PixMaps for crsrData and crsrMask, with sizes up
- * to 64x64 pixels. Such cursors need to be registered via
- * QDRegisterNamedPixMapCursor, and can then be set by
- * QDSetNamedPixMapCursor.
- *
- * Parameters:
- *
- * name:
- * (see below at QDRegisterNamedPixMapCursor)
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- QDIsNamedPixMapCursorRegistered(const char name[128]);
-
-
-
- /*
- * QDRegisterNamedPixMapCursor()
- *
- * Summary:
- * Register a new cursor by name
- *
- * Discussion:
- * In order to set a PixMapCursor, it needs to be registered first
- * by name.
- *
- * Parameters:
- *
- * crsrData:
- * (description forthcoming)
- *
- * crsrMask:
- * (description forthcoming)
- *
- * hotSpot:
- * (description forthcoming)
- *
- * name:
- * A naming convention involving the name of your application and
- * descriptive cursor names or resource IDs is suggested. Cursor
- * names are 0-terminated C-strings up to a length of 127.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- QDRegisterNamedPixMapCursor(
- PixMapHandle crsrData,
- PixMapHandle crsrMask,
- Point hotSpot,
- const char name[128]);
-
-
- /*
- * QDUnregisterNamedPixMapCursur()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- QDUnregisterNamedPixMapCursur(const char name[128]);
-
-
- /*
- * QDSetNamedPixMapCursor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- QDSetNamedPixMapCursor(const char name[128]);
-
-
- /*
- * QDSetCursorScale()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- QDSetCursorScale(float scale);
-
-
-
-
- enum
- {
- kQDUseDefaultTextRendering = 0, /* Sets whatever is specified in system defaults.*/
- /* Currently sets kQDUseTrueTypeScalerGlyphs if nothing is specified.*/
- kQDUseTrueTypeScalerGlyphs = (1 << 0), /* bit 0*/
- kQDUseCGTextRendering = (1 << 1), /* bit 1*/
- kQDUseCGTextMetrics = (1 << 2), /* bit 2*/
- kQDSupportedFlags = kQDUseTrueTypeScalerGlyphs | kQDUseCGTextRendering | kQDUseCGTextMetrics,
- kQDDontChangeFlags = (long)0xFFFFFFFF /* to request the current state, without changing anything*/
- };
-
-
-
- /*
- * QDSwapTextFlags()
- *
- * Summary:
- * Returns current flags and optionally sets new flags.
- *
- * Discussion:
- * Currently, only the flag bits in the enum above are supported.
- * The typical usage is UInt32 savedFlags =
- * QDSwapTextFlags(newFlags); // ... draw text under the conditions
- * of "newFlags" ... (void)QDSwapTextFlags(savedFlags); // restore
- * previous setting
- *
- * Parameters:
- *
- * newFlags:
- * Use the enums above; example "kQDUseCGTextRendering |
- * kQDUseCGTextMetrics".
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(UInt32)
- QDSwapTextFlags(UInt32 newFlags);
-
-
- /*
- * QDSwapPortTextFlags()
- *
- * Summary:
- * Same as QDSwapTextFlags, but per GrafPort.
- *
- * Parameters:
- *
- * port:
- * Settings per port override any global settings. If port ==
- * NULL, the current port is used.
- *
- * newFlags:
- * As in QDSwapTextFlags, above.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(UInt32)
- QDSwapPortTextFlags(
- CGrafPtr port,
- UInt32 newFlags);
-
-
-
-
- /*
- LowMem accessor functions previously in LowMem.h
- */
- /*
- * LMGetScrVRes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- LMGetScrVRes(void) TWOWORDINLINE(0x3EB8, 0x0102);
-
-
- /*
- * LMSetScrVRes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetScrVRes(SInt16 value) TWOWORDINLINE(0x31DF, 0x0102);
-
-
- /*
- * LMGetScrHRes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt16)
- LMGetScrHRes(void) TWOWORDINLINE(0x3EB8, 0x0104);
-
-
- /*
- * LMSetScrHRes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetScrHRes(SInt16 value) TWOWORDINLINE(0x31DF, 0x0104);
-
-
- /*
- * LMGetMainDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- LMGetMainDevice(void) TWOWORDINLINE(0x2EB8, 0x08A4);
-
-
- /*
- * LMSetMainDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetMainDevice(GDHandle value) TWOWORDINLINE(0x21DF, 0x08A4);
-
-
- /*
- * LMGetDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- LMGetDeviceList(void) TWOWORDINLINE(0x2EB8, 0x08A8);
-
-
- /*
- * LMSetDeviceList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetDeviceList(GDHandle value) TWOWORDINLINE(0x21DF, 0x08A8);
-
-
- /*
- * LMGetQDColors()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- LMGetQDColors(void) TWOWORDINLINE(0x2EB8, 0x08B0);
-
-
- /*
- * LMSetQDColors()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetQDColors(Handle value) TWOWORDINLINE(0x21DF, 0x08B0);
-
-
- /*
- * LMGetWidthListHand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- LMGetWidthListHand(void) TWOWORDINLINE(0x2EB8, 0x08E4);
-
-
- /*
- * LMSetWidthListHand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetWidthListHand(Handle value) TWOWORDINLINE(0x21DF, 0x08E4);
-
-
- /*
- * LMGetHiliteMode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8)
- LMGetHiliteMode(void) TWOWORDINLINE(0x1EB8, 0x0938);
-
-
- /*
- * LMSetHiliteMode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetHiliteMode(UInt8 value) TWOWORDINLINE(0x11DF, 0x0938);
-
-
- /*
- * LMGetWidthPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Ptr)
- LMGetWidthPtr(void) TWOWORDINLINE(0x2EB8, 0x0B10);
-
-
- /*
- * LMSetWidthPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetWidthPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x0B10);
-
-
- /*
- * LMGetWidthTabHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- LMGetWidthTabHandle(void) TWOWORDINLINE(0x2EB8, 0x0B2A);
-
-
- /*
- * LMSetWidthTabHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetWidthTabHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0B2A);
-
-
- /*
- * LMGetLastSPExtra()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(SInt32)
- LMGetLastSPExtra(void) TWOWORDINLINE(0x2EB8, 0x0B4C);
-
-
- /*
- * LMSetLastSPExtra()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetLastSPExtra(SInt32 value) TWOWORDINLINE(0x21DF, 0x0B4C);
-
-
- /*
- * LMGetLastFOND()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- LMGetLastFOND(void) TWOWORDINLINE(0x2EB8, 0x0BC2);
-
-
- /*
- * LMSetLastFOND()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetLastFOND(Handle value) TWOWORDINLINE(0x21DF, 0x0BC2);
-
-
- /*
- * LMGetFractEnable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8)
- LMGetFractEnable(void) TWOWORDINLINE(0x1EB8, 0x0BF4);
-
-
- /*
- * LMSetFractEnable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetFractEnable(UInt8 value) TWOWORDINLINE(0x11DF, 0x0BF4);
-
-
- /*
- * LMGetTheGDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(GDHandle)
- LMGetTheGDevice(void) TWOWORDINLINE(0x2EB8, 0x0CC8);
-
-
- /*
- * LMSetTheGDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetTheGDevice(GDHandle value) TWOWORDINLINE(0x21DF, 0x0CC8);
+/* Helpful Carbon-only utilities (finally made public)*/
+
+/*
+ * QDLocalToGlobalPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point * )
+QDLocalToGlobalPoint(
+ CGrafPtr port,
+ Point * point);
+
+
+/*
+ * QDGlobalToLocalPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point * )
+QDGlobalToLocalPoint(
+ CGrafPtr port,
+ Point * point);
+
+
+/*
+ * QDLocalToGlobalRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+QDLocalToGlobalRect(
+ CGrafPtr port,
+ Rect * bounds);
+
+
+/*
+ * QDGlobalToLocalRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Rect * )
+QDGlobalToLocalRect(
+ CGrafPtr port,
+ Rect * bounds);
+
+
+/*
+ * QDLocalToGlobalRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RgnHandle )
+QDLocalToGlobalRegion(
+ CGrafPtr port,
+ RgnHandle region);
+
+
+/*
+ * QDGlobalToLocalRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( RgnHandle )
+QDGlobalToLocalRegion(
+ CGrafPtr port,
+ RgnHandle region);
+
+
+
+/*
+ Routines available on Mac OS X to flush buffered window ports...
+ These calls do nothing on Mac OS 8/9. QDIsPortBuffered will always return false there.
+*/
+
+/*
+ * QDIsPortBuffered()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+QDIsPortBuffered(CGrafPtr port);
+
+
+/*
+ * QDIsPortBufferDirty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+QDIsPortBufferDirty(CGrafPtr port);
+
+
+/*
+ * QDFlushPortBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+QDFlushPortBuffer(
+ CGrafPtr port,
+ RgnHandle region); /* can be NULL */
+
+
+/*
+ * QDGetDirtyRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+QDGetDirtyRegion(
+ CGrafPtr port,
+ RgnHandle rgn);
+
+
+/*
+ * QDSetDirtyRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+QDSetDirtyRegion(
+ CGrafPtr port,
+ RgnHandle rgn);
+
+
+/*
+ * QDAddRectToDirtyRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+QDAddRectToDirtyRegion(
+ CGrafPtr inPort,
+ const Rect * inBounds);
+
+
+/*
+ * QDAddRegionToDirtyRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+QDAddRegionToDirtyRegion(
+ CGrafPtr inPort,
+ RgnHandle inRegion);
+
+
+
+/*
+ * CreateCGContextForPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+CreateCGContextForPort(
+ CGrafPtr inPort,
+ CGContextRef * outContext);
+
+
+/*
+ * ClipCGContextToRegion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ClipCGContextToRegion(
+ CGContextRef gc,
+ const Rect * portRect,
+ RgnHandle region);
+
+
+/*
+ * SyncCGContextOriginWithPort()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SyncCGContextOriginWithPort(
+ CGContextRef inContext,
+ CGrafPtr port);
+
+
+/*
+ * QDBeginCGContext()
+ *
+ * Summary:
+ * Allow CoreGraphics drawing in a CGrafPort
+ *
+ * Discussion:
+ * So far, CreateCGContextForPort() was used to create a CGContext
+ * for CG drawing from a CGrafPort. However, if the current port is
+ * a printing port, the CreateCGContextForPort fails; consequently,
+ * there was no way to mix Quickdraw and CoreGraphics drawing and
+ * still print it. If, instead, the CoreGraphics drawing is
+ * bracketed by QDBeginCGContext/QDEndCGContext calls, the drawing
+ * will also appear in print. There are some restrictions on the
+ * usage of QDBeginCGContext/QDEndCGContext:
+ * - Between QDBeginCGContext and QDEndCGContext, Quickdraw drawing
+ * is disabled; only CoreGraphics drawing is allowed
+ * - QDBeginCGContext/QDEndCGContext calls can not be nested
+ * - QDEndCGContext releases the CGContext returned from
+ * QDBeginCGContext and sets it to NULL.
+ *
+ * Parameters:
+ *
+ * inPort:
+ * The current port
+ *
+ * outContext:
+ * The CGContextRef to be used for CG drawing
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+QDBeginCGContext(
+ CGrafPtr inPort,
+ CGContextRef * outContext);
+
+
+/*
+ * QDEndCGContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+QDEndCGContext(
+ CGrafPtr inPort,
+ CGContextRef * inoutContext);
+
+
+/*
+ The following routines are implemented in CarbonLib, and on Mac OS X in QD proper.
+ They save the pixel data of a region in a packed format for quick save/restore
+ without using a lot of memory to do a large, hollow region, such as the region
+ used when drag hiliting (which is where this is used).
+*/
+
+typedef struct OpaqueQDRegionBitsRef* QDRegionBitsRef;
+/*
+ * QDSaveRegionBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( QDRegionBitsRef )
+QDSaveRegionBits(RgnHandle region);
+
+
+/*
+ * QDRestoreRegionBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+QDRestoreRegionBits(
+ RgnHandle region,
+ QDRegionBitsRef regionBits);
+
+
+/*
+ * QDDisposeRegionBits()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+QDDisposeRegionBits(QDRegionBitsRef regionBits);
+
+
+/*
+ Developers need a way to go from a CGDirectDisplay environment to Quickdraw.
+ The following is equivalent to CreateNewPort(), but instead of taking the
+ portPixMap from the current GDevice, it uses the GDevice corresponding to
+ the CGSDisplayID passed in. If the CGSDisplayID is invalid, the mainDevice
+ is used instead.
+*/
+/*
+ * CreateNewPortForCGDisplayID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CGrafPtr )
+CreateNewPortForCGDisplayID(UInt32 inCGDisplayID);
+
+
+/*
+ In Mac OS X, developers should be able to turn the WaitCursor (spinning wheel)
+ on and off. QDDisplayWaitCursor() keeps track of nested calls.
+ Passing FALSE will resume automatic wait cursor operation.
+ Call this function only from an application in the foreground.
+*/
+/*
+ * QDDisplayWaitCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+QDDisplayWaitCursor(Boolean forceWaitCursor);
+
+
+/*
+ * QDSetPatternOrigin()
+ *
+ * Summary:
+ * Sets the pattern origin for the current port.
+ *
+ * Discussion:
+ * When a QuickDraw drawing operation uses a pattern (either a
+ * black&white pattern or a PixPat), the pattern's image is aligned
+ * with port origin, modified by the pattern origin of the port. For
+ * example, if the background pattern is a 10x10 image, and a
+ * rectangle with coordinates (3, 3, 10, 10) is filled with that
+ * pattern, then only the bottom right 7x7 portion of the pattern
+ * image will be drawn into the rectangle. When drawing a pattern,
+ * QuickDraw always starts with the port origin and then adjusts it
+ * by the pattern origin to determine the actual origin point of
+ * pattern drawing. QDSetPatternOrigin can be used to set the
+ * pattern origin relative to the port origin. It is often used in
+ * conjuction with SetOrigin to maintain the pattern alignment at
+ * (0,0) in a window's content area, regardless of the port origin;
+ * for example, after changing the port's origin to (10,10), an
+ * application might change the port's pattern origin to (-10, -10)
+ * so that patterns are still aligned with the window's content area.
+ *
+ * Parameters:
+ *
+ * origin:
+ * The new pattern origin of the port.
+ *
+ * Availability:
+ * Non-Carbon CFM: in NQD 8.5 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+QDSetPatternOrigin(Point origin);
+
+
+/*
+ * QDGetPatternOrigin()
+ *
+ * Summary:
+ * Returns the pattern origin of the current port.
+ *
+ * Parameters:
+ *
+ * origin:
+ * On exit, contains the current port's pattern origin.
+ *
+ * Availability:
+ * Non-Carbon CFM: in NQD 8.5 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( void )
+QDGetPatternOrigin(Point * origin);
+
+
+
+/*
+ * QDIsNamedPixMapCursorRegistered()
+ *
+ * Summary:
+ * Returns whether a named cursor has already been registered.
+ *
+ * Discussion:
+ * The CoreGraphics Scalable Cursor Registry provides support for
+ * cursors based on PixMaps for crsrData and crsrMask, with sizes up
+ * to 64x64 pixels. Such cursors need to be registered via
+ * QDRegisterNamedPixMapCursor, and can then be set by
+ * QDSetNamedPixMapCursor.
+ *
+ * Parameters:
+ *
+ * name:
+ * (see below at QDRegisterNamedPixMapCursor)
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+QDIsNamedPixMapCursorRegistered(const char name[128]);
+
+
+
+/*
+ * QDRegisterNamedPixMapCursor()
+ *
+ * Summary:
+ * Register a new cursor by name
+ *
+ * Discussion:
+ * In order to set a PixMapCursor, it needs to be registered first
+ * by name.
+ *
+ * Parameters:
+ *
+ * crsrData:
+ * (description forthcoming)
+ *
+ * crsrMask:
+ * (description forthcoming)
+ *
+ * hotSpot:
+ * (description forthcoming)
+ *
+ * name:
+ * A naming convention involving the name of your application and
+ * descriptive cursor names or resource IDs is suggested. Cursor
+ * names are 0-terminated C-strings up to a length of 127.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+QDRegisterNamedPixMapCursor(
+ PixMapHandle crsrData,
+ PixMapHandle crsrMask,
+ Point hotSpot,
+ const char name[128]);
+
+
+/*
+ * QDUnregisterNamedPixMapCursur()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+QDUnregisterNamedPixMapCursur(const char name[128]);
+
+
+/*
+ * QDSetNamedPixMapCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+QDSetNamedPixMapCursor(const char name[128]);
+
+
+/*
+ * QDSetCursorScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+QDSetCursorScale(float scale);
+
+
+
+
+enum {
+ kQDUseDefaultTextRendering = 0, /* Sets whatever is specified in system defaults.*/
+ /* Currently sets kQDUseTrueTypeScalerGlyphs if nothing is specified.*/
+ kQDUseTrueTypeScalerGlyphs = (1 << 0), /* bit 0*/
+ kQDUseCGTextRendering = (1 << 1), /* bit 1*/
+ kQDUseCGTextMetrics = (1 << 2), /* bit 2*/
+ kQDSupportedFlags = kQDUseTrueTypeScalerGlyphs | kQDUseCGTextRendering | kQDUseCGTextMetrics,
+ kQDDontChangeFlags = (long)0xFFFFFFFF /* to request the current state, without changing anything*/
+};
+
+
+
+/*
+ * QDSwapTextFlags()
+ *
+ * Summary:
+ * Returns current flags and optionally sets new flags.
+ *
+ * Discussion:
+ * Currently, only the flag bits in the enum above are supported.
+ * The typical usage is UInt32 savedFlags =
+ * QDSwapTextFlags(newFlags); // ... draw text under the conditions
+ * of "newFlags" ... (void)QDSwapTextFlags(savedFlags); // restore
+ * previous setting
+ *
+ * Parameters:
+ *
+ * newFlags:
+ * Use the enums above; example "kQDUseCGTextRendering |
+ * kQDUseCGTextMetrics".
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( UInt32 )
+QDSwapTextFlags(UInt32 newFlags);
+
+
+/*
+ * QDSwapPortTextFlags()
+ *
+ * Summary:
+ * Same as QDSwapTextFlags, but per GrafPort.
+ *
+ * Parameters:
+ *
+ * port:
+ * Settings per port override any global settings. If port ==
+ * NULL, the current port is used.
+ *
+ * newFlags:
+ * As in QDSwapTextFlags, above.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( UInt32 )
+QDSwapPortTextFlags(
+ CGrafPtr port,
+ UInt32 newFlags);
+
+
+
+
+/*
+ LowMem accessor functions previously in LowMem.h
+*/
+/*
+ * LMGetScrVRes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+LMGetScrVRes(void) TWOWORDINLINE(0x3EB8, 0x0102);
+
+
+/*
+ * LMSetScrVRes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetScrVRes(SInt16 value) TWOWORDINLINE(0x31DF, 0x0102);
+
+
+/*
+ * LMGetScrHRes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt16 )
+LMGetScrHRes(void) TWOWORDINLINE(0x3EB8, 0x0104);
+
+
+/*
+ * LMSetScrHRes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetScrHRes(SInt16 value) TWOWORDINLINE(0x31DF, 0x0104);
+
+
+/*
+ * LMGetMainDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+LMGetMainDevice(void) TWOWORDINLINE(0x2EB8, 0x08A4);
+
+
+/*
+ * LMSetMainDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetMainDevice(GDHandle value) TWOWORDINLINE(0x21DF, 0x08A4);
+
+
+/*
+ * LMGetDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+LMGetDeviceList(void) TWOWORDINLINE(0x2EB8, 0x08A8);
+
+
+/*
+ * LMSetDeviceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetDeviceList(GDHandle value) TWOWORDINLINE(0x21DF, 0x08A8);
+
+
+/*
+ * LMGetQDColors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+LMGetQDColors(void) TWOWORDINLINE(0x2EB8, 0x08B0);
+
+
+/*
+ * LMSetQDColors()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetQDColors(Handle value) TWOWORDINLINE(0x21DF, 0x08B0);
+
+
+/*
+ * LMGetWidthListHand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+LMGetWidthListHand(void) TWOWORDINLINE(0x2EB8, 0x08E4);
+
+
+/*
+ * LMSetWidthListHand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetWidthListHand(Handle value) TWOWORDINLINE(0x21DF, 0x08E4);
+
+
+/*
+ * LMGetHiliteMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 )
+LMGetHiliteMode(void) TWOWORDINLINE(0x1EB8, 0x0938);
+
+
+/*
+ * LMSetHiliteMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetHiliteMode(UInt8 value) TWOWORDINLINE(0x11DF, 0x0938);
+
+
+/*
+ * LMGetWidthPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Ptr )
+LMGetWidthPtr(void) TWOWORDINLINE(0x2EB8, 0x0B10);
+
+
+/*
+ * LMSetWidthPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetWidthPtr(Ptr value) TWOWORDINLINE(0x21DF, 0x0B10);
+
+
+/*
+ * LMGetWidthTabHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+LMGetWidthTabHandle(void) TWOWORDINLINE(0x2EB8, 0x0B2A);
+
+
+/*
+ * LMSetWidthTabHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetWidthTabHandle(Handle value) TWOWORDINLINE(0x21DF, 0x0B2A);
+
+
+/*
+ * LMGetLastSPExtra()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( SInt32 )
+LMGetLastSPExtra(void) TWOWORDINLINE(0x2EB8, 0x0B4C);
+
+
+/*
+ * LMSetLastSPExtra()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetLastSPExtra(SInt32 value) TWOWORDINLINE(0x21DF, 0x0B4C);
+
+
+/*
+ * LMGetLastFOND()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+LMGetLastFOND(void) TWOWORDINLINE(0x2EB8, 0x0BC2);
+
+
+/*
+ * LMSetLastFOND()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetLastFOND(Handle value) TWOWORDINLINE(0x21DF, 0x0BC2);
+
+
+/*
+ * LMGetFractEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 )
+LMGetFractEnable(void) TWOWORDINLINE(0x1EB8, 0x0BF4);
+
+
+/*
+ * LMSetFractEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetFractEnable(UInt8 value) TWOWORDINLINE(0x11DF, 0x0BF4);
+
+
+/*
+ * LMGetTheGDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( GDHandle )
+LMGetTheGDevice(void) TWOWORDINLINE(0x2EB8, 0x0CC8);
+
+
+/*
+ * LMSetTheGDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetTheGDevice(GDHandle value) TWOWORDINLINE(0x21DF, 0x0CC8);
@@ -8043,54 +7785,54 @@ extern "C" {
#define LMGetHiliteRGB(hiliteRGBValue) (*(hiliteRGBValue) = *(RGBColor*)0x0DA0)
#define LMSetHiliteRGB(hiliteRGBValue) ((* (RGBColor *) 0x0DA0) = *(hiliteRGBValue))
#else
- /*
- * LMGetHiliteRGB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMGetHiliteRGB(RGBColor * hiliteRGBValue);
-
-
- /*
- * LMSetHiliteRGB()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetHiliteRGB(const RGBColor * hiliteRGBValue);
+/*
+ * LMGetHiliteRGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMGetHiliteRGB(RGBColor * hiliteRGBValue);
+
+
+/*
+ * LMSetHiliteRGB()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetHiliteRGB(const RGBColor * hiliteRGBValue);
#endif /* TARGET_CPU_68K && !TARGET_RT_MAC_CFM */
- /*
- * LMGetCursorNew()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- LMGetCursorNew(void) TWOWORDINLINE(0x1EB8, 0x08CE);
+/*
+ * LMGetCursorNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+LMGetCursorNew(void) TWOWORDINLINE(0x1EB8, 0x08CE);
- /*
- * LMSetCursorNew()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetCursorNew(Boolean value) TWOWORDINLINE(0x11DF, 0x08CE);
+/*
+ * LMSetCursorNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetCursorNew(Boolean value) TWOWORDINLINE(0x11DF, 0x08CE);
@@ -8111,11 +7853,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/QuickdrawText.h b/include/qt/QuickdrawText.h
index 29810edd7..f5d8be9bd 100644
--- a/include/qt/QuickdrawText.h
+++ b/include/qt/QuickdrawText.h
@@ -1,17 +1,17 @@
/*
File: QuickdrawText.h
-
+
Contains: Quickdraw Text Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1983-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __QUICKDRAWTEXT__
#define __QUICKDRAWTEXT__
@@ -43,742 +43,725 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* new CGrafPort bottleneck ("newProc2") function, used in Unicode Text drawing */
- /*
- * StandardGlyphs()
- *
- * Availability:
- * Non-Carbon CFM: in QuickDrawText 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- StandardGlyphs(
- void * dataStream,
- ByteCount size);
-
-
-
- enum
- {
- /* CharToPixel directions */
- leftCaret = 0, /*Place caret for left block*/
- rightCaret = -1, /*Place caret for right block*/
- kHilite = 1 /*Direction is SysDirection*/
- };
-
- enum
- {
- smLeftCaret = 0, /*Place caret for left block - obsolete */
- smRightCaret = -1, /*Place caret for right block - obsolete */
- smHilite = 1 /*Direction is TESysJust - obsolete */
- };
-
- enum
- {
- /*Constants for styleRunPosition argument in PortionLine, DrawJustified, MeasureJustified, CharToPixel, and PixelToChar.*/
- onlyStyleRun = 0, /* This is the only style run on the line */
- leftStyleRun = 1, /* This is leftmost of multiple style runs on the line */
- rightStyleRun = 2, /* This is rightmost of multiple style runs on the line */
- middleStyleRun = 3, /* There are multiple style runs on the line and this is neither the leftmost nor the rightmost. */
- smOnlyStyleRun = 0, /* obsolete */
- smLeftStyleRun = 1, /* obsolete */
- smRightStyleRun = 2, /* obsolete */
- smMiddleStyleRun = 3 /* obsolete */
- };
-
- /* type for styleRunPosition parameter in PixelToChar etc. */
- typedef short JustStyleCode;
- /* Type for truncWhere parameter in TruncString, TruncText */
- typedef short TruncCode;
- enum
- {
- /* Constants for truncWhere argument in TruncString and TruncText */
- truncEnd = 0, /* Truncate at end */
- truncMiddle = 0x4000, /* Truncate in middle */
- smTruncEnd = 0, /* Truncate at end - obsolete */
- smTruncMiddle = 0x4000 /* Truncate in middle - obsolete */
- };
-
- enum
- {
- /* Constants for TruncString and TruncText results */
- notTruncated = 0, /* No truncation was necessary */
- truncated = 1, /* Truncation performed */
- truncErr = -1, /* General error */
- smNotTruncated = 0, /* No truncation was necessary - obsolete */
- smTruncated = 1, /* Truncation performed - obsolete */
- smTruncErr = -1 /* General error - obsolete */
- };
-
- typedef SInt8 StyledLineBreakCode;
- enum
- {
- smBreakWord = 0,
- smBreakChar = 1,
- smBreakOverflow = 2
- };
-
- /*QuickTime3.0*/
- enum
- {
- /* Constants for txFlags (which used to be the pad field after txFace) */
- tfAntiAlias = 1 << 0,
- tfUnicode = 1 << 1
- };
-
-
- struct FontInfo
- {
- short ascent;
- short descent;
- short widMax;
- short leading;
- };
- typedef struct FontInfo FontInfo;
-
- typedef short FormatOrder[1];
- typedef FormatOrder * FormatOrderPtr;
- /* FormatStatus was moved to TextUtils.i */
- /* OffsetTable moved to IntlResources.i */
-
- typedef CALLBACK_API(Boolean , StyleRunDirectionProcPtr)(short styleRunIndex, void *dirParam);
- typedef STACK_UPP_TYPE(StyleRunDirectionProcPtr) StyleRunDirectionUPP;
- /*
- * NewStyleRunDirectionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(StyleRunDirectionUPP)
- NewStyleRunDirectionUPP(StyleRunDirectionProcPtr userRoutine);
+/* new CGrafPort bottleneck ("newProc2") function, used in Unicode Text drawing */
+/*
+ * StandardGlyphs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in QuickDrawText 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+StandardGlyphs(
+ void * dataStream,
+ ByteCount size);
+
+
+
+enum {
+ /* CharToPixel directions */
+ leftCaret = 0, /*Place caret for left block*/
+ rightCaret = -1, /*Place caret for right block*/
+ kHilite = 1 /*Direction is SysDirection*/
+};
+
+enum {
+ smLeftCaret = 0, /*Place caret for left block - obsolete */
+ smRightCaret = -1, /*Place caret for right block - obsolete */
+ smHilite = 1 /*Direction is TESysJust - obsolete */
+};
+
+enum {
+ /*Constants for styleRunPosition argument in PortionLine, DrawJustified, MeasureJustified, CharToPixel, and PixelToChar.*/
+ onlyStyleRun = 0, /* This is the only style run on the line */
+ leftStyleRun = 1, /* This is leftmost of multiple style runs on the line */
+ rightStyleRun = 2, /* This is rightmost of multiple style runs on the line */
+ middleStyleRun = 3, /* There are multiple style runs on the line and this is neither the leftmost nor the rightmost. */
+ smOnlyStyleRun = 0, /* obsolete */
+ smLeftStyleRun = 1, /* obsolete */
+ smRightStyleRun = 2, /* obsolete */
+ smMiddleStyleRun = 3 /* obsolete */
+};
+
+/* type for styleRunPosition parameter in PixelToChar etc. */
+typedef short JustStyleCode;
+/* Type for truncWhere parameter in TruncString, TruncText */
+typedef short TruncCode;
+enum {
+ /* Constants for truncWhere argument in TruncString and TruncText */
+ truncEnd = 0, /* Truncate at end */
+ truncMiddle = 0x4000, /* Truncate in middle */
+ smTruncEnd = 0, /* Truncate at end - obsolete */
+ smTruncMiddle = 0x4000 /* Truncate in middle - obsolete */
+};
+
+enum {
+ /* Constants for TruncString and TruncText results */
+ notTruncated = 0, /* No truncation was necessary */
+ truncated = 1, /* Truncation performed */
+ truncErr = -1, /* General error */
+ smNotTruncated = 0, /* No truncation was necessary - obsolete */
+ smTruncated = 1, /* Truncation performed - obsolete */
+ smTruncErr = -1 /* General error - obsolete */
+};
+
+typedef SInt8 StyledLineBreakCode;
+enum {
+ smBreakWord = 0,
+ smBreakChar = 1,
+ smBreakOverflow = 2
+};
+
+/*QuickTime3.0*/
+enum {
+ /* Constants for txFlags (which used to be the pad field after txFace) */
+ tfAntiAlias = 1 << 0,
+ tfUnicode = 1 << 1
+};
+
+
+struct FontInfo {
+ short ascent;
+ short descent;
+ short widMax;
+ short leading;
+};
+typedef struct FontInfo FontInfo;
+
+typedef short FormatOrder[1];
+typedef FormatOrder * FormatOrderPtr;
+/* FormatStatus was moved to TextUtils.i */
+/* OffsetTable moved to IntlResources.i */
+
+typedef CALLBACK_API( Boolean , StyleRunDirectionProcPtr )(short styleRunIndex, void *dirParam);
+typedef STACK_UPP_TYPE(StyleRunDirectionProcPtr) StyleRunDirectionUPP;
+/*
+ * NewStyleRunDirectionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( StyleRunDirectionUPP )
+NewStyleRunDirectionUPP(StyleRunDirectionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppStyleRunDirectionProcInfo = 0x00000390 }; /* pascal 1_byte Func(2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(StyleRunDirectionUPP) NewStyleRunDirectionUPP(StyleRunDirectionProcPtr userRoutine)
- {
- return (StyleRunDirectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStyleRunDirectionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewStyleRunDirectionUPP(userRoutine) (StyleRunDirectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStyleRunDirectionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppStyleRunDirectionProcInfo = 0x00000390 }; /* pascal 1_byte Func(2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(StyleRunDirectionUPP) NewStyleRunDirectionUPP(StyleRunDirectionProcPtr userRoutine) { return (StyleRunDirectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStyleRunDirectionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewStyleRunDirectionUPP(userRoutine) (StyleRunDirectionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppStyleRunDirectionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeStyleRunDirectionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeStyleRunDirectionUPP(StyleRunDirectionUPP userUPP);
+/*
+ * DisposeStyleRunDirectionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeStyleRunDirectionUPP(StyleRunDirectionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeStyleRunDirectionUPP(StyleRunDirectionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeStyleRunDirectionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeStyleRunDirectionUPP(StyleRunDirectionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeStyleRunDirectionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeStyleRunDirectionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeStyleRunDirectionUPP(
- short styleRunIndex,
- void * dirParam,
- StyleRunDirectionUPP userUPP);
+/*
+ * InvokeStyleRunDirectionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeStyleRunDirectionUPP(
+ short styleRunIndex,
+ void * dirParam,
+ StyleRunDirectionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeStyleRunDirectionUPP(short styleRunIndex, void * dirParam, StyleRunDirectionUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppStyleRunDirectionProcInfo, styleRunIndex, dirParam);
- }
-#else
-#define InvokeStyleRunDirectionUPP(styleRunIndex, dirParam, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppStyleRunDirectionProcInfo, (styleRunIndex), (dirParam))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeStyleRunDirectionUPP(short styleRunIndex, void * dirParam, StyleRunDirectionUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppStyleRunDirectionProcInfo, styleRunIndex, dirParam); }
+ #else
+ #define InvokeStyleRunDirectionUPP(styleRunIndex, dirParam, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppStyleRunDirectionProcInfo, (styleRunIndex), (dirParam))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewStyleRunDirectionProc(userRoutine) NewStyleRunDirectionUPP(userRoutine)
-#define CallStyleRunDirectionProc(userRoutine, styleRunIndex, dirParam) InvokeStyleRunDirectionUPP(styleRunIndex, dirParam, userRoutine)
+ #define NewStyleRunDirectionProc(userRoutine) NewStyleRunDirectionUPP(userRoutine)
+ #define CallStyleRunDirectionProc(userRoutine, styleRunIndex, dirParam) InvokeStyleRunDirectionUPP(styleRunIndex, dirParam, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * Pixel2Char()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- Pixel2Char(
- Ptr textBuf,
- short textLen,
- short slop,
- short pixelWidth,
- Boolean * leadingEdge) FOURWORDINLINE(0x2F3C, 0x820E, 0x0014, 0xA8B5);
-
-
- /*
- * Char2Pixel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- Char2Pixel(
- Ptr textBuf,
- short textLen,
- short slop,
- short offset,
- short direction) FOURWORDINLINE(0x2F3C, 0x820C, 0x0016, 0xA8B5);
+/*
+ * Pixel2Char()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+Pixel2Char(
+ Ptr textBuf,
+ short textLen,
+ short slop,
+ short pixelWidth,
+ Boolean * leadingEdge) FOURWORDINLINE(0x2F3C, 0x820E, 0x0014, 0xA8B5);
+
+
+/*
+ * Char2Pixel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+Char2Pixel(
+ Ptr textBuf,
+ short textLen,
+ short slop,
+ short offset,
+ short direction) FOURWORDINLINE(0x2F3C, 0x820C, 0x0016, 0xA8B5);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * PixelToChar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- PixelToChar(
- Ptr textBuf,
- long textLength,
- Fixed slop,
- Fixed pixelWidth,
- Boolean * leadingEdge,
- Fixed * widthRemaining,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x8222, 0x002E, 0xA8B5);
-
-
- /*
- * CharToPixel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- CharToPixel(
- Ptr textBuf,
- long textLength,
- Fixed slop,
- long offset,
- short direction,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x821C, 0x0030, 0xA8B5);
-
-
- /*
- * DrawJustified()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DrawJustified(
- Ptr textPtr,
- long textLength,
- Fixed slop,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x8016, 0x0032, 0xA8B5);
-
-
- /*
- * MeasureJustified()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MeasureJustified(
- Ptr textPtr,
- long textLength,
- Fixed slop,
- Ptr charLocs,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x801A, 0x0034, 0xA8B5);
-
-
- /*
- * PortionLine()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Fixed)
- PortionLine(
- Ptr textPtr,
- long textLen,
- JustStyleCode styleRunPosition,
- Point numer,
- Point denom) FOURWORDINLINE(0x2F3C, 0x8412, 0x0036, 0xA8B5);
-
-
- /*
- * HiliteText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HiliteText(
- Ptr textPtr,
- short textLength,
- short firstOffset,
- short secondOffset,
- OffsetTable offsets) FOURWORDINLINE(0x2F3C, 0x800E, 0x001C, 0xA8B5);
+/*
+ * PixelToChar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+PixelToChar(
+ Ptr textBuf,
+ long textLength,
+ Fixed slop,
+ Fixed pixelWidth,
+ Boolean * leadingEdge,
+ Fixed * widthRemaining,
+ JustStyleCode styleRunPosition,
+ Point numer,
+ Point denom) FOURWORDINLINE(0x2F3C, 0x8222, 0x002E, 0xA8B5);
+
+
+/*
+ * CharToPixel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+CharToPixel(
+ Ptr textBuf,
+ long textLength,
+ Fixed slop,
+ long offset,
+ short direction,
+ JustStyleCode styleRunPosition,
+ Point numer,
+ Point denom) FOURWORDINLINE(0x2F3C, 0x821C, 0x0030, 0xA8B5);
+
+
+/*
+ * DrawJustified()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DrawJustified(
+ Ptr textPtr,
+ long textLength,
+ Fixed slop,
+ JustStyleCode styleRunPosition,
+ Point numer,
+ Point denom) FOURWORDINLINE(0x2F3C, 0x8016, 0x0032, 0xA8B5);
+
+
+/*
+ * MeasureJustified()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MeasureJustified(
+ Ptr textPtr,
+ long textLength,
+ Fixed slop,
+ Ptr charLocs,
+ JustStyleCode styleRunPosition,
+ Point numer,
+ Point denom) FOURWORDINLINE(0x2F3C, 0x801A, 0x0034, 0xA8B5);
+
+
+/*
+ * PortionLine()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Fixed )
+PortionLine(
+ Ptr textPtr,
+ long textLen,
+ JustStyleCode styleRunPosition,
+ Point numer,
+ Point denom) FOURWORDINLINE(0x2F3C, 0x8412, 0x0036, 0xA8B5);
+
+
+/*
+ * HiliteText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HiliteText(
+ Ptr textPtr,
+ short textLength,
+ short firstOffset,
+ short secondOffset,
+ OffsetTable offsets) FOURWORDINLINE(0x2F3C, 0x800E, 0x001C, 0xA8B5);
#if CALL_NOT_IN_CARBON
- /*
- * DrawJust()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- DrawJust(
- Ptr textPtr,
- short textLength,
- short slop) FOURWORDINLINE(0x2F3C, 0x8008, 0x001E, 0xA8B5);
-
-
- /*
- * MeasureJust()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- MeasureJust(
- Ptr textPtr,
- short textLength,
- short slop,
- Ptr charLocs) FOURWORDINLINE(0x2F3C, 0x800C, 0x0020, 0xA8B5);
-
-
- /*
- * PortionText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Fixed)
- PortionText(
- Ptr textPtr,
- long textLength) FOURWORDINLINE(0x2F3C, 0x8408, 0x0024, 0xA8B5);
+/*
+ * DrawJust()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+DrawJust(
+ Ptr textPtr,
+ short textLength,
+ short slop) FOURWORDINLINE(0x2F3C, 0x8008, 0x001E, 0xA8B5);
+
+
+/*
+ * MeasureJust()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+MeasureJust(
+ Ptr textPtr,
+ short textLength,
+ short slop,
+ Ptr charLocs) FOURWORDINLINE(0x2F3C, 0x800C, 0x0020, 0xA8B5);
+
+
+/*
+ * PortionText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Fixed )
+PortionText(
+ Ptr textPtr,
+ long textLength) FOURWORDINLINE(0x2F3C, 0x8408, 0x0024, 0xA8B5);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * VisibleLength()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- VisibleLength(
- Ptr textPtr,
- long textLength) FOURWORDINLINE(0x2F3C, 0x8408, 0x0028, 0xA8B5);
-
-
- /*
- * GetFormatOrder()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetFormatOrder(
- FormatOrderPtr ordering,
- short firstFormat,
- short lastFormat,
- Boolean lineRight,
- StyleRunDirectionUPP rlDirProc,
- Ptr dirParam) FOURWORDINLINE(0x2F3C, 0x8012, 0xFFFC, 0xA8B5);
-
-
- /*
- * TextFont()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TextFont(short font) ONEWORDINLINE(0xA887);
-
-
- /*
- * TextFace()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TextFace(StyleParameter face) ONEWORDINLINE(0xA888);
-
-
- /*
- * TextMode()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TextMode(short mode) ONEWORDINLINE(0xA889);
-
-
- /*
- * TextSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TextSize(short size) ONEWORDINLINE(0xA88A);
-
-
- /*
- * SpaceExtra()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SpaceExtra(Fixed extra) ONEWORDINLINE(0xA88E);
-
-
- /*
- * DrawChar()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DrawChar(CharParameter ch) ONEWORDINLINE(0xA883);
-
-
- /*
- * DrawString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DrawString(ConstStr255Param s) ONEWORDINLINE(0xA884);
-
-
- /*
- * [Mac]DrawText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * VisibleLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+VisibleLength(
+ Ptr textPtr,
+ long textLength) FOURWORDINLINE(0x2F3C, 0x8408, 0x0028, 0xA8B5);
+
+
+/*
+ * GetFormatOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetFormatOrder(
+ FormatOrderPtr ordering,
+ short firstFormat,
+ short lastFormat,
+ Boolean lineRight,
+ StyleRunDirectionUPP rlDirProc,
+ Ptr dirParam) FOURWORDINLINE(0x2F3C, 0x8012, 0xFFFC, 0xA8B5);
+
+
+/*
+ * TextFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TextFont(short font) ONEWORDINLINE(0xA887);
+
+
+/*
+ * TextFace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TextFace(StyleParameter face) ONEWORDINLINE(0xA888);
+
+
+/*
+ * TextMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TextMode(short mode) ONEWORDINLINE(0xA889);
+
+
+/*
+ * TextSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TextSize(short size) ONEWORDINLINE(0xA88A);
+
+
+/*
+ * SpaceExtra()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SpaceExtra(Fixed extra) ONEWORDINLINE(0xA88E);
+
+
+/*
+ * DrawChar()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DrawChar(CharParameter ch) ONEWORDINLINE(0xA883);
+
+
+/*
+ * DrawString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DrawString(ConstStr255Param s) ONEWORDINLINE(0xA884);
+
+
+/*
+ * [Mac]DrawText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacDrawText DrawText
+ #define MacDrawText DrawText
#endif
- EXTERN_API(void)
- MacDrawText(
- const void * textBuf,
- short firstByte,
- short byteCount) ONEWORDINLINE(0xA885);
-
-
- /*
- * CharWidth()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- CharWidth(CharParameter ch) ONEWORDINLINE(0xA88D);
-
-
- /*
- * StringWidth()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- StringWidth(ConstStr255Param s) ONEWORDINLINE(0xA88C);
-
-
- /*
- * TextWidth()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- TextWidth(
- const void * textBuf,
- short firstByte,
- short byteCount) ONEWORDINLINE(0xA886);
-
-
- /*
- * MeasureText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- MeasureText(
- short count,
- const void * textAddr,
- void * charLocs) ONEWORDINLINE(0xA837);
-
-
- /*
- * GetFontInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetFontInfo(FontInfo * info) ONEWORDINLINE(0xA88B);
-
-
- /*
- * CharExtra()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CharExtra(Fixed extra) ONEWORDINLINE(0xAA23);
-
-
- /*
- * StdText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StdText(
- short count,
- const void * textAddr,
- Point numer,
- Point denom) ONEWORDINLINE(0xA882);
-
-
- /*
- * StdTxMeas()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- StdTxMeas(
- short byteCount,
- const void * textAddr,
- Point * numer,
- Point * denom,
- FontInfo * info) ONEWORDINLINE(0xA8ED);
-
-
- /*
- * StyledLineBreak()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StyledLineBreakCode)
- StyledLineBreak(
- Ptr textPtr,
- long textLen,
- long textStart,
- long textEnd,
- long flags,
- Fixed * textWidth,
- long * textOffset) FOURWORDINLINE(0x2F3C, 0x821C, 0xFFFE, 0xA8B5);
-
-
- /*
- * TruncString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- TruncString(
- short width,
- Str255 theString,
- TruncCode truncWhere) FOURWORDINLINE(0x2F3C, 0x8208, 0xFFE0, 0xA8B5);
-
-
- /*
- * TruncText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- TruncText(
- short width,
- Ptr textPtr,
- short * length,
- TruncCode truncWhere) FOURWORDINLINE(0x2F3C, 0x820C, 0xFFDE, 0xA8B5);
+EXTERN_API( void )
+MacDrawText(
+ const void * textBuf,
+ short firstByte,
+ short byteCount) ONEWORDINLINE(0xA885);
+
+
+/*
+ * CharWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+CharWidth(CharParameter ch) ONEWORDINLINE(0xA88D);
+
+
+/*
+ * StringWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+StringWidth(ConstStr255Param s) ONEWORDINLINE(0xA88C);
+
+
+/*
+ * TextWidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TextWidth(
+ const void * textBuf,
+ short firstByte,
+ short byteCount) ONEWORDINLINE(0xA886);
+
+
+/*
+ * MeasureText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MeasureText(
+ short count,
+ const void * textAddr,
+ void * charLocs) ONEWORDINLINE(0xA837);
+
+
+/*
+ * GetFontInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetFontInfo(FontInfo * info) ONEWORDINLINE(0xA88B);
+
+
+/*
+ * CharExtra()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CharExtra(Fixed extra) ONEWORDINLINE(0xAA23);
+
+
+/*
+ * StdText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StdText(
+ short count,
+ const void * textAddr,
+ Point numer,
+ Point denom) ONEWORDINLINE(0xA882);
+
+
+/*
+ * StdTxMeas()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+StdTxMeas(
+ short byteCount,
+ const void * textAddr,
+ Point * numer,
+ Point * denom,
+ FontInfo * info) ONEWORDINLINE(0xA8ED);
+
+
+/*
+ * StyledLineBreak()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StyledLineBreakCode )
+StyledLineBreak(
+ Ptr textPtr,
+ long textLen,
+ long textStart,
+ long textEnd,
+ long flags,
+ Fixed * textWidth,
+ long * textOffset) FOURWORDINLINE(0x2F3C, 0x821C, 0xFFFE, 0xA8B5);
+
+
+/*
+ * TruncString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TruncString(
+ short width,
+ Str255 theString,
+ TruncCode truncWhere) FOURWORDINLINE(0x2F3C, 0x8208, 0xFFE0, 0xA8B5);
+
+
+/*
+ * TruncText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TruncText(
+ short width,
+ Ptr textPtr,
+ short * length,
+ TruncCode truncWhere) FOURWORDINLINE(0x2F3C, 0x820C, 0xFFDE, 0xA8B5);
#if CALL_NOT_IN_CARBON
- /*
- * drawstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- drawstring(const char * s);
-
-
- /*
- * stringwidth()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- stringwidth(const char * s);
+/*
+ * drawstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+drawstring(const char * s);
+
+
+/*
+ * stringwidth()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+stringwidth(const char * s);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * stdtext()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- stdtext(
- short count,
- const void * textAddr,
- const Point * numer,
- const Point * denom);
-
-
- /*
- * SwapQDTextFlags()
- *
- * Discussion:
- * Obsolete. Use QDSwapTextFlags instead (in Quickdraw.h).
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(UInt32)
- SwapQDTextFlags(UInt32 newFlags);
+/*
+ * stdtext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+stdtext(
+ short count,
+ const void * textAddr,
+ const Point * numer,
+ const Point * denom);
+
+
+/*
+ * SwapQDTextFlags()
+ *
+ * Discussion:
+ * Obsolete. Use QDSwapTextFlags instead (in Quickdraw.h).
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( UInt32 )
+SwapQDTextFlags(UInt32 newFlags);
#if OLDROUTINENAMES
#define NPixel2Char(textBuf, textLen, slop, pixelWidth, leadingEdge, widthRemaining, styleRunPosition, numer, denom) \
- PixelToChar(textBuf, textLen, slop, pixelWidth, leadingEdge, widthRemaining, styleRunPosition, numer, denom)
+ PixelToChar(textBuf, textLen, slop, pixelWidth, leadingEdge, widthRemaining, styleRunPosition, numer, denom)
#define NChar2Pixel(textBuf, textLen, slop, offset, direction, styleRunPosition, numer, denom) \
CharToPixel(textBuf, textLen, slop, offset, direction, styleRunPosition, numer, denom)
#define NDrawJust(textPtr, textLength, slop, styleRunPosition, numer, denom) \
@@ -791,11 +774,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/RAVE.h b/include/qt/RAVE.h
index 7e27c2e37..79db8a2c5 100644
--- a/include/qt/RAVE.h
+++ b/include/qt/RAVE.h
@@ -1,18 +1,18 @@
/*
File: RAVE.h
-
+
Contains: Interface for RAVE (Renderer Acceleration Virtual Engine)
-
+
Version: Technology: Quickdraw 3D 1.6
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-1999 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 __RAVE__
#define __RAVE__
@@ -61,37 +61,37 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __RAVE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __RAVE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __RAVE__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __RAVE__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
#define RAVE_OBSOLETE 0
- /******************************************************************************
- *
- * Platform macros.
- * This sets kQAPlatform to one of kQAMacOS, kQAWin32, or kQAGeneric.
- * kQAPlatform controls platform-specific compilation switches and types.
- *
- *****************************************************************************/
+/******************************************************************************
+ *
+ * Platform macros.
+ * This sets kQAPlatform to one of kQAMacOS, kQAWin32, or kQAGeneric.
+ * kQAPlatform controls platform-specific compilation switches and types.
+ *
+ *****************************************************************************/
#if !defined(kQAMacOS)
#define kQAMacOS 1 /* Target is MacOS */
@@ -106,1054 +106,1002 @@ extern "C" {
#endif
#if defined(_WIN32) || defined(_WINDOWS)
-#define kQAPlatform kQAWin32
+ #define kQAPlatform kQAWin32
#elif !defined(kQAPlatform)
-#define kQAPlatform kQAMacOS
+ #define kQAPlatform kQAMacOS
#endif
- /******************************************************************************
- *
- * Export Control
- *
- *****************************************************************************/
+/******************************************************************************
+ *
+ * Export Control
+ *
+ *****************************************************************************/
#if defined(_MSC_VER)
/* Microsoft Visual C */
-#if defined(WIN32_RAVEEXPORTING)
- /* define when building DLL */
-#define RAVE_EXPORT __declspec( dllexport )
-#define RAVE_CALL
-#define RAVE_CALLBACK
-#else
-#define RAVE_EXPORT __declspec( dllimport )
-#define RAVE_CALL __cdecl
-#define RAVE_CALLBACK __cdecl
-#endif
+ #if defined(WIN32_RAVEEXPORTING)
+ /* define when building DLL */
+ #define RAVE_EXPORT __declspec( dllexport )
+ #define RAVE_CALL
+ #define RAVE_CALLBACK
+ #else
+ #define RAVE_EXPORT __declspec( dllimport )
+ #define RAVE_CALL __cdecl
+ #define RAVE_CALLBACK __cdecl
+ #endif
/* WIN32_RAVEEXPORTING */
#else
-#define RAVE_EXPORT
-#define RAVE_CALL
-#define RAVE_CALLBACK
-#endif
- /* _MSC_VER */
-
- /******************************************************************************
- *
- * Platform dependent datatypes: TQAImagePixelType, TQADevice, TQAClip, and TQARect.
- *
- *****************************************************************************/
- enum TQAImagePixelType {
- kQAPixel_Alpha1 = 0, /* 1 bit/pixel alpha */
- kQAPixel_RGB16 = 1, /* 16 bits/pixel, R=14:10, G=9:5, B=4:0 */
- kQAPixel_ARGB16 = 2, /* 16 bits/pixel, A=15, R=14:10, G=9:5, B=4:0 */
- kQAPixel_RGB32 = 3, /* 32 bits/pixel, R=23:16, G=15:8, B=7:0 */
- kQAPixel_ARGB32 = 4, /* 32 bits/pixel, A=31:24, R=23:16, G=15:8, B=7:0 */
- kQAPixel_CL4 = 5, /* 4 bit color look up table, always big endian, ie high 4 bits effect left pixel */
- kQAPixel_CL8 = 6, /* 8 bit color look up table */
- kQAPixel_RGB16_565 = 7, /* Win32 ONLY 16 bits/pixel, no alpha, R:5, G:6, B:5 */
- kQAPixel_RGB24 = 8, /* Win32 ONLY 24 bits/pixel, no alpha, R:8, G:8, B:8 */
- kQAPixel_RGB8_332 = 9, /* 8 bits/pixel, R=7:5, G = 4:2, B = 1:0 */
- kQAPixel_ARGB16_4444 = 10, /* 16 bits/pixel, A=15:12, R=11:8, G=7:4, B=3:0 */
- kQAPixel_ACL16_88 = 11, /* 16 bits/pixel, A=15:8, CL=7:0, 8 bit alpha + 8 bit color lookup */
- kQAPixel_I8 = 12, /* 8 bits/pixel, I=7:0, intensity map (grayscale) */
- kQAPixel_AI16_88 = 13, /* 16 bits/pixel, A=15:8, I=7:0, intensity map (grayscale) */
- kQAPixel_YUVS = 14, /* 16 bits/pixel, QD's kYUVSPixelFormat (4:2:2, YUYV ordering, unsigned UV) */
- kQAPixel_YUVU = 15, /* 16 bits/pixel, QD's kYUVUPixelFormat (4:2:2, YUYV ordering, signed UV) */
- kQAPixel_YVYU422 = 16, /* 16 bits/pixel, QD's kYVYU422PixelFormat (4:2:2, YVYU ordering, unsigned UV) */
- kQAPixel_UYVY422 = 17 /* 16 bits/pixel, QD's kUYVY422PixelFormat (4:2:2, UYVY ordering, unsigned UV) */
- };
- typedef enum TQAImagePixelType TQAImagePixelType;
-
- enum TQAColorTableType
- {
- kQAColorTable_CL8_RGB32 = 0, /* 256 entry, 32 bit/pixel, R=23:16, G=15:8, B=7:0 */
- kQAColorTable_CL4_RGB32 = 1 /* 16 entry, 32 bit/pixel, R=23:16, G=15:8, B=7:0 */
- };
- typedef enum TQAColorTableType TQAColorTableType;
-
- /* Selects target device type */
- enum TQADeviceType
- {
- kQADeviceMemory = 0, /* Memory draw context */
- kQADeviceGDevice = 1, /* Macintosh GDevice draw context */
- kQADeviceWin32DC = 2, /* Win32 DC */
- kQADeviceDDSurface = 3 /* Win32 DirectDraw Surface */
- };
- typedef enum TQADeviceType TQADeviceType;
-
- /* Generic memory pixmap device */
- struct TQADeviceMemory
- {
- long rowBytes; /* Rowbytes */
- TQAImagePixelType pixelType; /* Depth, color space, etc. */
- long width; /* Width in pixels */
- long height; /* Height in pixels */
- void * baseAddr; /* Base address of pixmap */
- };
- typedef struct TQADeviceMemory TQADeviceMemory;
- /* Offscreen Device */
- struct TQADeviceOffscreen
- {
- TQAImagePixelType pixelType; /* Depth, color space, etc. */
- };
- typedef struct TQADeviceOffscreen TQADeviceOffscreen;
- /* Selects target clip type */
- enum TQAClipType
- {
- kQAClipRgn = 0, /* Macintosh clipRgn with serial number */
- kQAClipWin32Rgn = 1 /* Win32 clip region */
- };
- typedef enum TQAClipType TQAClipType;
-
- struct TQARect
- {
- long left;
- long right;
- long top;
- long bottom;
- };
- typedef struct TQARect TQARect;
+ #define RAVE_EXPORT
+ #define RAVE_CALL
+ #define RAVE_CALLBACK
+#endif
+/* _MSC_VER */
+
+/******************************************************************************
+ *
+ * Platform dependent datatypes: TQAImagePixelType, TQADevice, TQAClip, and TQARect.
+ *
+ *****************************************************************************/
+enum TQAImagePixelType {
+ kQAPixel_Alpha1 = 0, /* 1 bit/pixel alpha */
+ kQAPixel_RGB16 = 1, /* 16 bits/pixel, R=14:10, G=9:5, B=4:0 */
+ kQAPixel_ARGB16 = 2, /* 16 bits/pixel, A=15, R=14:10, G=9:5, B=4:0 */
+ kQAPixel_RGB32 = 3, /* 32 bits/pixel, R=23:16, G=15:8, B=7:0 */
+ kQAPixel_ARGB32 = 4, /* 32 bits/pixel, A=31:24, R=23:16, G=15:8, B=7:0 */
+ kQAPixel_CL4 = 5, /* 4 bit color look up table, always big endian, ie high 4 bits effect left pixel */
+ kQAPixel_CL8 = 6, /* 8 bit color look up table */
+ kQAPixel_RGB16_565 = 7, /* Win32 ONLY 16 bits/pixel, no alpha, R:5, G:6, B:5 */
+ kQAPixel_RGB24 = 8, /* Win32 ONLY 24 bits/pixel, no alpha, R:8, G:8, B:8 */
+ kQAPixel_RGB8_332 = 9, /* 8 bits/pixel, R=7:5, G = 4:2, B = 1:0 */
+ kQAPixel_ARGB16_4444 = 10, /* 16 bits/pixel, A=15:12, R=11:8, G=7:4, B=3:0 */
+ kQAPixel_ACL16_88 = 11, /* 16 bits/pixel, A=15:8, CL=7:0, 8 bit alpha + 8 bit color lookup */
+ kQAPixel_I8 = 12, /* 8 bits/pixel, I=7:0, intensity map (grayscale) */
+ kQAPixel_AI16_88 = 13, /* 16 bits/pixel, A=15:8, I=7:0, intensity map (grayscale) */
+ kQAPixel_YUVS = 14, /* 16 bits/pixel, QD's kYUVSPixelFormat (4:2:2, YUYV ordering, unsigned UV) */
+ kQAPixel_YUVU = 15, /* 16 bits/pixel, QD's kYUVUPixelFormat (4:2:2, YUYV ordering, signed UV) */
+ kQAPixel_YVYU422 = 16, /* 16 bits/pixel, QD's kYVYU422PixelFormat (4:2:2, YVYU ordering, unsigned UV) */
+ kQAPixel_UYVY422 = 17 /* 16 bits/pixel, QD's kUYVY422PixelFormat (4:2:2, UYVY ordering, unsigned UV) */
+};
+typedef enum TQAImagePixelType TQAImagePixelType;
+
+enum TQAColorTableType {
+ kQAColorTable_CL8_RGB32 = 0, /* 256 entry, 32 bit/pixel, R=23:16, G=15:8, B=7:0 */
+ kQAColorTable_CL4_RGB32 = 1 /* 16 entry, 32 bit/pixel, R=23:16, G=15:8, B=7:0 */
+};
+typedef enum TQAColorTableType TQAColorTableType;
+
+/* Selects target device type */
+enum TQADeviceType {
+ kQADeviceMemory = 0, /* Memory draw context */
+ kQADeviceGDevice = 1, /* Macintosh GDevice draw context */
+ kQADeviceWin32DC = 2, /* Win32 DC */
+ kQADeviceDDSurface = 3 /* Win32 DirectDraw Surface */
+};
+typedef enum TQADeviceType TQADeviceType;
+
+/* Generic memory pixmap device */
+struct TQADeviceMemory {
+ long rowBytes; /* Rowbytes */
+ TQAImagePixelType pixelType; /* Depth, color space, etc. */
+ long width; /* Width in pixels */
+ long height; /* Height in pixels */
+ void * baseAddr; /* Base address of pixmap */
+};
+typedef struct TQADeviceMemory TQADeviceMemory;
+/* Offscreen Device */
+struct TQADeviceOffscreen {
+ TQAImagePixelType pixelType; /* Depth, color space, etc. */
+};
+typedef struct TQADeviceOffscreen TQADeviceOffscreen;
+/* Selects target clip type */
+enum TQAClipType {
+ kQAClipRgn = 0, /* Macintosh clipRgn with serial number */
+ kQAClipWin32Rgn = 1 /* Win32 clip region */
+};
+typedef enum TQAClipType TQAClipType;
+
+struct TQARect {
+ long left;
+ long right;
+ long top;
+ long bottom;
+};
+typedef struct TQARect TQARect;
#if TARGET_OS_MAC
- union TQAPlatformDevice
- {
- TQADeviceMemory memoryDevice;
- GDHandle gDevice;
- };
- typedef union TQAPlatformDevice TQAPlatformDevice;
- union TQAPlatformClip
- {
- RgnHandle clipRgn;
- };
- typedef union TQAPlatformClip TQAPlatformClip;
- typedef CALLBACK_API(void , TQADrawNotificationProcPtr)(short left, short top, short right, short bottom, long refCon);
-
- typedef long TQADrawNotificationProcRefNum;
- /* used to unregister your proc */
+union TQAPlatformDevice {
+ TQADeviceMemory memoryDevice;
+ GDHandle gDevice;
+};
+typedef union TQAPlatformDevice TQAPlatformDevice;
+union TQAPlatformClip {
+ RgnHandle clipRgn;
+};
+typedef union TQAPlatformClip TQAPlatformClip;
+typedef CALLBACK_API( void , TQADrawNotificationProcPtr )(short left, short top, short right, short bottom, long refCon);
+
+typedef long TQADrawNotificationProcRefNum;
+/* used to unregister your proc */
#elif TARGET_OS_WIN32
#if !defined(RAVE_NO_DIRECTDRAW)
- enum TQADirectDrawObjectSelector
- {
- kQADirectDrawObject = 1,
- kQADirectDrawObject2 = 2
+ enum TQADirectDrawObjectSelector
+ {
+ kQADirectDrawObject = 1,
+ kQADirectDrawObject2 = 2
};
- typedef enum TQADirectDrawObjectSelector TQADirectDrawObjectSelector;
+ typedef enum TQADirectDrawObjectSelector TQADirectDrawObjectSelector;
- enum TQADirectDrawSurfaceSelector
- {
- kQADirectDrawSurface = 1,
- kQADirectDrawSurface2 = 2
+ enum TQADirectDrawSurfaceSelector
+ {
+ kQADirectDrawSurface = 1,
+ kQADirectDrawSurface2 = 2
};
- typedef enum TQADirectDrawSurfaceSelector TQADirectDrawSurfaceSelector;
+ typedef enum TQADirectDrawSurfaceSelector TQADirectDrawSurfaceSelector;
#endif /* !RAVE_NO_DIRECTDRAW */
- union TQAPlatformDevice
+ union TQAPlatformDevice
{
- TQADeviceMemory memoryDevice;
- HDC hdc;
+ TQADeviceMemory memoryDevice;
+ HDC hdc;
#if !defined(RAVE_NO_DIRECTDRAW)
- struct
- {
- TQADirectDrawObjectSelector objectSelector;
+ struct
+ {
+ TQADirectDrawObjectSelector objectSelector;
union
- {
- LPDIRECTDRAW lpDirectDraw;
- LPDIRECTDRAW2 lpDirectDraw2;
- };
+ {
+ LPDIRECTDRAW lpDirectDraw;
+ LPDIRECTDRAW2 lpDirectDraw2;
+ };
TQADirectDrawSurfaceSelector surfaceSelector;
- union
- {
- LPDIRECTDRAWSURFACE lpDirectDrawSurface;
- LPDIRECTDRAWSURFACE2 lpDirectDrawSurface2;
- };
- };
+ union
+ {
+ LPDIRECTDRAWSURFACE lpDirectDrawSurface;
+ LPDIRECTDRAWSURFACE2 lpDirectDrawSurface2;
+ };
+ };
#endif /* RAVE_NO_DIRECTDRAW */
- };
- typedef union TQAPlatformDevice TQAPlatformDevice;
-
- union TQAPlatformClip
- {
- HRGN clipRgn;
- };
- typedef union TQAPlatformClip TQAPlatformClip;
+ };
+ typedef union TQAPlatformDevice TQAPlatformDevice;
+
+ union TQAPlatformClip
+ {
+ HRGN clipRgn;
+ };
+ typedef union TQAPlatformClip TQAPlatformClip;
#else
- /*
- * Generic platform supports memory device only. TQARect is generic. TQAClip is ???.
- */
- union TQAPlatformDevice
- {
- TQADeviceMemory memoryDevice;
- };
- typedef union TQAPlatformDevice TQAPlatformDevice;
- union TQAPlatformClip
- {
- void * region; /* ??? */
- };
- typedef union TQAPlatformClip TQAPlatformClip;
-#endif /* */
-
- struct TQADevice
- {
- TQADeviceType deviceType;
- TQAPlatformDevice device;
- };
- typedef struct TQADevice TQADevice;
- struct TQAClip
- {
- TQAClipType clipType;
- TQAPlatformClip clip;
- };
- typedef struct TQAClip TQAClip;
- /******************************************************************************
- *
- * Basic data types.
- *
- *****************************************************************************/
-
- /* Pointer to a drawing engine */
- typedef struct TQAEngine TQAEngine;
- /* Pointer to an allocated texture */
- typedef struct TQATexture TQATexture;
- /* Pointer to an allocated bitmap */
- typedef struct TQABitmap TQABitmap;
- /* Engine's private draw context pointer */
- typedef struct TQADrawPrivate TQADrawPrivate;
- /* An engine specific color table structure */
- typedef struct TQAColorTable TQAColorTable;
- /* A single triangle element for QADrawTriMesh */
- struct TQAIndexedTriangle
- {
- unsigned long triangleFlags; /* Triangle flags, see kQATriFlags_ */
- unsigned long vertices[3]; /* Indices into a vertex array */
- };
- typedef struct TQAIndexedTriangle TQAIndexedTriangle;
- /* An image for use as texture or bitmap */
- struct TQAImage
- {
- long width; /* Width of pixmap */
- long height; /* Height of pixmap */
- long rowBytes; /* Rowbytes of pixmap */
- void * pixmap; /* Pixmap */
- };
- typedef struct TQAImage TQAImage;
- /* a pixel buffer */
-
- typedef TQADeviceMemory TQAPixelBuffer;
- /* a zbuffer */
- struct TQAZBuffer
- {
- long width; /* Width of pixmap */
- long height; /* Height of pixmap */
- long rowBytes; /* Rowbytes of pixmap */
- void * zbuffer; /* pointer to the zbuffer data */
- long zDepth; /* bit depth of zbuffer (16,24,32...) */
- long isBigEndian; /* true if zbuffer values are in big-endian format, false if little-endian */
- };
- typedef struct TQAZBuffer TQAZBuffer;
- /* Standard error type */
- enum TQAError
- {
- kQANoErr = 0, /* No error */
- kQAError = 1, /* Generic error flag */
- kQAOutOfMemory = 2, /* Insufficient memory */
- kQANotSupported = 3, /* Requested feature is not supported */
- kQAOutOfDate = 4, /* A newer drawing engine was registered */
- kQAParamErr = 5, /* Error in passed parameters */
- kQAGestaltUnknown = 6, /* Requested gestalt type isn't available */
- kQADisplayModeUnsupported = 7, /* Engine cannot render to the display in its current , */
- /* mode, but could if it were in some other mode */
- kQAOutOfVideoMemory = 8 /* There is not enough VRAM to support the desired context dimensions */
- };
- typedef enum TQAError TQAError;
-
- /* TQABoolean */
-
- typedef unsigned char TQABoolean;
- /************************************************************************************************
- *
- * Vertex data types.
- *
- ***********************************************************************************************/
- /*
- * TQAVGouraud is used for Gouraud shading. Each vertex specifies position, color and Z.
- *
- * Alpha is always treated as indicating transparency. Drawing engines which don't
- * support Z-sorted rendering use the back-to-front transparency blending functions
- * shown below. (ARGBsrc are the source (new) values, ARGBdest are the destination
- * (previous) pixel values.)
- *
- * Premultiplied Interpolated
- *
- * A = 1 - (1 - Asrc) * (1 - Adest) A = 1 - (1 - Asrc) * (1 - Adest)
- * R = (1 - Asrc) * Rdest + Rsrc R = (1 - Asrc) * Rdest + Asrc * Rsrc
- * G = (1 - Asrc) * Gdest + Gsrc G = (1 - Asrc) * Gdest + Asrc * Gsrc
- * B = (1 - Asrc) * Bdest + Bsrc B = (1 - Asrc) * Bdest + Asrc * Bsrc
- *
- * Note that the use of other blending modes to implement antialiasing is performed
- * automatically by the drawing engine when the kQATag_Antialias variable !=
- * kQAAntiAlias_Fast. The driving software should continue to use the alpha fields
- * for transparency even when antialiasing is being used (the drawing engine will
- * resolve the multiple blending requirements as best as it can).
- *
- * Drawing engines which perform front-to-back Z-sorted rendering should replace
- * the blending function shown above with the equivalent front-to-back formula.
- */
- struct TQAVGouraud
- {
- float x; /* X pixel coordinate, 0.0 <= x < width */
- float y; /* Y pixel coordinate, 0.0 <= y < height */
- float z; /* Z coordinate, 0.0 <= z <= 1.0 */
- float invW; /* 1 / w; required only when kQAPerspectiveZ_On is set */
-
- float r; /* Red, 0.0 <= r <= 1.0 */
- float g; /* Green, 0.0 <= g <= 1.0 */
- float b; /* Blue, 0.0 <= b <= 1.0 */
- float a; /* Alpha, 0.0 <= a <= 1.0, 1.0 is opaque */
- };
- typedef struct TQAVGouraud TQAVGouraud;
- /*
- * TQAVTexture is used for texture mapping. The texture mapping operation
- * is controlled by the kQATag_TextureOp variable, which is a mask of
- * kQATextureOp_None/Modulate/Highlight/Decal. Below is pseudo-code for the
- * texture shading operation:
- *
- * texPix = TextureLookup (uq/q, vq/q);
- * if (kQATextureOp_Decal)
- * {
- * texPix.r = texPix.a * texPix.r + (1 - texPix.a) * r;
- * texPix.g = texPix.a * texPix.g + (1 - texPix.a) * g;
- * texPix.b = texPix.a * texPix.b + (1 - texPix.a) * b;
- * texPix.a = a;
- * }
- * else
- * {
- * texPix.a = texPix.a * a;
- * }
- * if (kQATextureOp_Modulate)
- * {
- * texPix.r *= kd_r; // Clamped to prevent overflow
- * texPix.g *= kd_g; // Clamped to prevent overflow
- * texPix.b *= kd_b; // Clamped to prevent overflow
- * }
- * if (kQATextureOp_Highlight)
- * {
- * texPix.r += ks_r; // Clamped to prevent overflow
- * texPix.g += ks_g; // Clamped to prevent overflow
- * texPix.b += ks_b; // Clamped to prevent overflow
- * }
- *
- * After computation of texPix, transparency blending (as shown
- * above for TQAVGouraud) is performed.
- */
- struct TQAVTexture
- {
- float x; /* X pixel coordinate, 0.0 <= x < width */
- float y; /* Y pixel coordinate, 0.0 <= y < height */
- float z; /* Z coordinate, 0.0 <= z <= 1.0 */
- float invW; /* 1 / w (always required) */
-
- /* rgb are used only when kQATextureOp_Decal is set. a is always required */
-
- float r; /* Red, 0.0 <= r <= 1.0 */
- float g; /* Green, 0.0 <= g <= 1.0 */
- float b; /* Blue, 0.0 <= b <= 1.0 */
- float a; /* Alpha, 0.0 <= a <= 1.0, 1.0 is opaque */
-
- /* uOverW and vOverW are required by all modes */
-
- float uOverW; /* u / w */
- float vOverW; /* v / w */
-
- /* kd_r/g/b are used only when kQATextureOp_Modulate is set */
-
- float kd_r; /* Scale factor for texture red, 0.0 <= kd_r */
- float kd_g; /* Scale factor for texture green, 0.0 <= kd_g */
- float kd_b; /* Scale factor for texture blue, 0.0 <= kd_b */
-
- /* ks_r/g/b are used only when kQATextureOp_Highlight is set */
-
- float ks_r; /* Red specular highlight, 0.0 <= ks_r <= 1.0 */
- float ks_g; /* Green specular highlight, 0.0 <= ks_g <= 1.0 */
- float ks_b; /* Blue specular highlight, 0.0 <= ks_b <= 1.0 */
- };
- typedef struct TQAVTexture TQAVTexture;
- /*
- * TQAVMultiTexture allows you to specify the uv and invW values
- * for secondary textures. This data is submitted with the
- * QASubmitMultiTextureParams() call.
- */
- struct TQAVMultiTexture
- {
- float invW;
- float uOverW;
- float vOverW;
- };
- typedef struct TQAVMultiTexture TQAVMultiTexture;
-
- /************************************************************************************************
- *
- * Constants used for the state variables.
- *
- ***********************************************************************************************/
- /*
- * kQATag_xxx is used to select a state variable when calling QASetFloat(), QASetInt(),
- * QAGetFloat() and QAGetInt(). The kQATag values are split into three separate enumerated
- * types: TQATagInt, TQATagPtr and TQATagFloat. TQATagInt is used for the QASet/GetInt()
- * functions, TQATagPtr is used for the QASet/GetPtr() functions, and TQATagFloat is used for
- * the QASet/GetFloat() functions. (This is so that a compiler that typechecks enums can flag
- * a float/int tag mismatch during compile.)
- *
- * -=- All tag values must be unique even across all three types. -=-
- *
- * These variables are required by all drawing engines:
- * kQATag_ZFunction (Int) One of kQAZFunction_xxx
- * kQATag_ColorBG_a (Float) Background color alpha
- * kQATag_ColorBG_r (Float) Background color red
- * kQATag_ColorBG_g (Float) Background color green
- * kQATag_ColorBG_b (Float) Background color blue
- * kQATag_Width (Float) Line and point width (pixels)
- * kQATag_ZMinOffset (Float) Min offset to Z to guarantee visibility (Read only!)
- * kQATag_ZMinScale (Float) Min scale to Z to guarantee visibility (Read only!)
-
- * These variables are used for optional features:
- * kQATag_Antialias (Int) One of kQAAntiAlias_xxx
- * kQATag_Blend (Int) One of kQABlend_xxx
- * kQATag_PerspectiveZ (Int) One of kQAPerspectiveZ_xxx
- * kQATag_TextureFilter (Int) One of kQATextureFilter_xxx
- * kQATag_TextureOp (Int) Mask of kQATextureOp_xxx
- * kQATag_Texture (Ptr) Pointer to current TQATexture
- * kQATag_CSGTag (Int) One of kQACSGTag_xxx
- * kQATag_CSGEquation (Int) 32 bit CSG truth table
- * kQATag_FogMode (Int) One of kQAFogMode_xxxx
- * kQATag_FogColor_a (Float) Fog color alpha
- * kQATag_FogColor_r (Float) Fog color red
- * kQATag_FogColor_g (Float) Fog color green
- * kQATag_FogColor_b (Float) Fog color blue
- * kQATag_FogStart (Float) Fog start
- * kQATag_FogEnd (Float) Fog end
- * kQATag_FogDensity (Float) Fog density
- * kQATag_FogMaxDepth (Float) Maximun value for 1.0 / invW
- * kQATag_MipmapBias (Float) The mipmap page bias factor
- * kQATag_ChannelMask (Int) one of kQAChannelMask_xxx
- * kQATag_ZBufferMask (Int) one of kQAZBufferMask_xxx
- * kQATag_ZSortedHint (Int) 1 = depth sort transparent triangles, 0 = do not sort.
- * kQATag_Chromakey_r (Float) chroma key red
- * kQATag_Chromakey_g (Float) chroma key green
- * kQATag_Chromakey_b (Float) chroma key blue
- * kQATag_ChromakeyEnable (Int) 1 = enable chroma keying, 0 = disable chroma keying
- * kQATag_AlphaTestFunc (Int) one of kQAAlphaTest_xxx
- * kQATag_AlphaTestRef (Float) from 0 to 1
- * kQATag_DontSwap (Int) 1 = dont swap buffers during QARenderEnd, 0 = do swap buffers during QARenderEnd.
-
- * kQATag_MultiTextureOp (Int) One of kQAMultiTexture_xxx
- * kQATag_MultiTextureFilter (Int) One of kQATextureFilter_xxx
- * kQATag_MultiTextureCurrent (Int) which multitexture layer to use for all other multitexture funcs
- * kQATag_MultiTextureEnable (Int) how many multitexture layers to use (0 = no multitexturing).
- * kQATag_MultiTextureWrapU (Int)
- * kQATag_MultiTextureWrapV (Int)
- * kQATag_MultiTextureMagFilter (Int)
- * kQATag_MultiTextureMinFilter (Int)
- * kQATag_MultiTextureBorder_a (Float)
- * kQATag_MultiTextureBorder_r (Float)
- * kQATag_MultiTextureBorder_g (Float)
- * kQATag_MultiTextureBorder_b (Float)
- * kQATag_MultiTextureMipmapBias (Float)
- * kQATag_MultiTextureFactor (Float) used with kQAMultiTexture_Fixed to determine blending factor
- *
- * These variables are used for OpenGL(tm) support:
- * kQATagGL_DrawBuffer (Int) Mask of kQAGL_DrawBuffer_xxx
- * kQATagGL_TextureWrapU (Int) kQAGL_Clamp or kQAGL_Repeat
- * kQATagGL_TextureWrapV (Int) kQAGL_Clamp or kQAGL_Repeat
- * kQATagGL_TextureMagFilter (Int) kQAGL_Nearest or kQAGL_Linear
- * kQATagGL_TextureMinFilter (Int) kQAGL_Nearest, etc.
- * kQATagGL_ScissorXMin (Int) Minimum X value for scissor rectangle
- * kQATagGL_ScissorYMin (Int) Minimum Y value for scissor rectangle
- * kQATagGL_ScissorXMax (Int) Maximum X value for scissor rectangle
- * kQATagGL_ScissorYMax (Int) Maximum Y value for scissor rectangle
- * kQATagGL_BlendSrc (Int) Source blending operation
- * kQATagGL_BlendDst (Int) Destination blending operation
- * kQATagGL_LinePattern (Int) Line rasterization pattern
- * kQATagGL_AreaPattern0 (Int) First of 32 area pattern registers
- * kQATagGL_AreaPattern31 (Int) Last of 32 area pattern registers
- *
- * kQATagGL_DepthBG (Float) Background Z
- * kQATagGL_TextureBorder_a (Float) Texture border color alpha
- * kQATagGL_TextureBorder_r (Float) Texture border color red
- * kQATagGL_TextureBorder_g (Float) Texture border color green
- * kQATagGL_TextureBorder_b (Float) Texture border color blue
- *
- * Tags >= kQATag_EngineSpecific_Minimum may be assigned by the vendor for use as
- * engine-specific variables. NOTE: These should be used only in exceptional circumstances,
- * as functions performed by these variables won't be generally accessible. All other tag
- * values are reserved.
- *
- * kQATag_EngineSpecific_Minimum Minimum tag value for drawing-engine specific variables
+/*
+ * Generic platform supports memory device only. TQARect is generic. TQAClip is ???.
*/
- enum TQATagInt
- {
- kQATag_ZFunction = 0,
- kQATag_Antialias = 8,
- kQATag_Blend = 9,
- kQATag_PerspectiveZ = 10,
- kQATag_TextureFilter = 11,
- kQATag_TextureOp = 12,
- kQATag_CSGTag = 14,
- kQATag_CSGEquation = 15,
- kQATag_BufferComposite = 16,
- kQATag_FogMode = 17,
- kQATag_ChannelMask = 27,
- kQATag_ZBufferMask = 28,
- kQATag_ZSortedHint = 29,
- kQATag_ChromakeyEnable = 30,
- kQATag_AlphaTestFunc = 31,
- kQATag_DontSwap = 32,
- kQATag_MultiTextureEnable = 33,
- kQATag_MultiTextureCurrent = 34,
- kQATag_MultiTextureOp = 35,
- kQATag_MultiTextureFilter = 36,
- kQATag_MultiTextureWrapU = 37,
- kQATag_MultiTextureWrapV = 38,
- kQATag_MultiTextureMagFilter = 39,
- kQATag_MultiTextureMinFilter = 40,
- kQATag_BitmapFilter = 54, /* filter to use while scaling bitmaps, one of kQAFilter_xxx */
- kQATag_DrawContextFilter = 55, /* filter to use while scaling draw contexts, one of kQAFilter_xxx */
- kQATagGL_DrawBuffer = 100,
- kQATagGL_TextureWrapU = 101,
- kQATagGL_TextureWrapV = 102,
- kQATagGL_TextureMagFilter = 103,
- kQATagGL_TextureMinFilter = 104,
- kQATagGL_ScissorXMin = 105,
- kQATagGL_ScissorYMin = 106,
- kQATagGL_ScissorXMax = 107,
- kQATagGL_ScissorYMax = 108,
- kQATagGL_BlendSrc = 109,
- kQATagGL_BlendDst = 110,
- kQATagGL_LinePattern = 111,
- kQATagGL_AreaPattern0 = 117, /* ...kQATagGL_AreaPattern1-30 */
- kQATagGL_AreaPattern31 = 148,
- kQATagGL_LinePatternFactor = 149, /* equivalent to GL_LINE_STIPPLE_REPEAT */
- kQATag_EngineSpecific_Minimum = 1000
- };
- typedef enum TQATagInt TQATagInt;
-
- enum TQATagPtr
- {
- kQATag_Texture = 13,
- kQATag_MultiTexture = 26
- };
- typedef enum TQATagPtr TQATagPtr;
-
- enum TQATagFloat
- {
- kQATag_ColorBG_a = 1,
- kQATag_ColorBG_r = 2,
- kQATag_ColorBG_g = 3,
- kQATag_ColorBG_b = 4,
- kQATag_Width = 5,
- kQATag_ZMinOffset = 6,
- kQATag_ZMinScale = 7,
- kQATag_FogColor_a = 18,
- kQATag_FogColor_r = 19,
- kQATag_FogColor_g = 20,
- kQATag_FogColor_b = 21,
- kQATag_FogStart = 22,
- kQATag_FogEnd = 23,
- kQATag_FogDensity = 24,
- kQATag_FogMaxDepth = 25,
- kQATag_MipmapBias = 41,
- kQATag_MultiTextureMipmapBias = 42,
- kQATag_Chromakey_r = 43,
- kQATag_Chromakey_g = 44,
- kQATag_Chromakey_b = 45,
- kQATag_AlphaTestRef = 46,
- kQATag_MultiTextureBorder_a = 47,
- kQATag_MultiTextureBorder_r = 48,
- kQATag_MultiTextureBorder_g = 49,
- kQATag_MultiTextureBorder_b = 50,
- kQATag_MultiTextureFactor = 51,
- kQATag_BitmapScale_x = 52, /* horizontal bitmap scale factor, default value is 1.0 */
- kQATag_BitmapScale_y = 53, /* vertical bitmap scale factor, default value is 1.0 */
- kQATag_MultiTextureEnvColor_a = 56,
- kQATag_MultiTextureEnvColor_r = 57,
- kQATag_MultiTextureEnvColor_g = 58,
- kQATag_MultiTextureEnvColor_b = 59,
- kQATagGL_DepthBG = 112,
- kQATagGL_TextureBorder_a = 113,
- kQATagGL_TextureBorder_r = 114,
- kQATagGL_TextureBorder_g = 115,
- kQATagGL_TextureBorder_b = 116,
- kQATagGL_TextureEnvColor_a = 150,
- kQATagGL_TextureEnvColor_r = 151,
- kQATagGL_TextureEnvColor_g = 152,
- kQATagGL_TextureEnvColor_b = 153
- };
- typedef enum TQATagFloat TQATagFloat;
-
-
- /* kQATag_ZFunction */
- enum
- {
- kQAZFunction_None = 0, /* Z is neither tested nor written (same as no Z buffer) */
- kQAZFunction_LT = 1, /* Znew < Zbuffer is visible */
- kQAZFunction_EQ = 2, /* Znew == Zbuffer is visible */
- kQAZFunction_LE = 3, /* Znew <= Zbuffer is visible */
- kQAZFunction_GT = 4, /* Znew > Zbuffer is visible */
- kQAZFunction_NE = 5, /* Znew != Zbuffer is visible */
- kQAZFunction_GE = 6, /* Znew >= Zbuffer is visible */
- kQAZFunction_True = 7, /* Znew is always visible */
- kQAZFunction_False = 8 /* Znew is never visible */
- };
+union TQAPlatformDevice {
+ TQADeviceMemory memoryDevice;
+};
+typedef union TQAPlatformDevice TQAPlatformDevice;
+union TQAPlatformClip {
+ void * region; /* ??? */
+};
+typedef union TQAPlatformClip TQAPlatformClip;
+#endif /* */
- /* kQATag_Width */
+struct TQADevice {
+ TQADeviceType deviceType;
+ TQAPlatformDevice device;
+};
+typedef struct TQADevice TQADevice;
+struct TQAClip {
+ TQAClipType clipType;
+ TQAPlatformClip clip;
+};
+typedef struct TQAClip TQAClip;
+/******************************************************************************
+ *
+ * Basic data types.
+ *
+ *****************************************************************************/
+
+/* Pointer to a drawing engine */
+typedef struct TQAEngine TQAEngine;
+/* Pointer to an allocated texture */
+typedef struct TQATexture TQATexture;
+/* Pointer to an allocated bitmap */
+typedef struct TQABitmap TQABitmap;
+/* Engine's private draw context pointer */
+typedef struct TQADrawPrivate TQADrawPrivate;
+/* An engine specific color table structure */
+typedef struct TQAColorTable TQAColorTable;
+/* A single triangle element for QADrawTriMesh */
+struct TQAIndexedTriangle {
+ unsigned long triangleFlags; /* Triangle flags, see kQATriFlags_ */
+ unsigned long vertices[3]; /* Indices into a vertex array */
+};
+typedef struct TQAIndexedTriangle TQAIndexedTriangle;
+/* An image for use as texture or bitmap */
+struct TQAImage {
+ long width; /* Width of pixmap */
+ long height; /* Height of pixmap */
+ long rowBytes; /* Rowbytes of pixmap */
+ void * pixmap; /* Pixmap */
+};
+typedef struct TQAImage TQAImage;
+/* a pixel buffer */
+
+typedef TQADeviceMemory TQAPixelBuffer;
+/* a zbuffer */
+struct TQAZBuffer {
+ long width; /* Width of pixmap */
+ long height; /* Height of pixmap */
+ long rowBytes; /* Rowbytes of pixmap */
+ void * zbuffer; /* pointer to the zbuffer data */
+ long zDepth; /* bit depth of zbuffer (16,24,32...) */
+ long isBigEndian; /* true if zbuffer values are in big-endian format, false if little-endian */
+};
+typedef struct TQAZBuffer TQAZBuffer;
+/* Standard error type */
+enum TQAError {
+ kQANoErr = 0, /* No error */
+ kQAError = 1, /* Generic error flag */
+ kQAOutOfMemory = 2, /* Insufficient memory */
+ kQANotSupported = 3, /* Requested feature is not supported */
+ kQAOutOfDate = 4, /* A newer drawing engine was registered */
+ kQAParamErr = 5, /* Error in passed parameters */
+ kQAGestaltUnknown = 6, /* Requested gestalt type isn't available */
+ kQADisplayModeUnsupported = 7, /* Engine cannot render to the display in its current , */
+ /* mode, but could if it were in some other mode */
+ kQAOutOfVideoMemory = 8 /* There is not enough VRAM to support the desired context dimensions */
+};
+typedef enum TQAError TQAError;
+
+/* TQABoolean */
+
+typedef unsigned char TQABoolean;
+/************************************************************************************************
+ *
+ * Vertex data types.
+ *
+ ***********************************************************************************************/
+/*
+ * TQAVGouraud is used for Gouraud shading. Each vertex specifies position, color and Z.
+ *
+ * Alpha is always treated as indicating transparency. Drawing engines which don't
+ * support Z-sorted rendering use the back-to-front transparency blending functions
+ * shown below. (ARGBsrc are the source (new) values, ARGBdest are the destination
+ * (previous) pixel values.)
+ *
+ * Premultiplied Interpolated
+ *
+ * A = 1 - (1 - Asrc) * (1 - Adest) A = 1 - (1 - Asrc) * (1 - Adest)
+ * R = (1 - Asrc) * Rdest + Rsrc R = (1 - Asrc) * Rdest + Asrc * Rsrc
+ * G = (1 - Asrc) * Gdest + Gsrc G = (1 - Asrc) * Gdest + Asrc * Gsrc
+ * B = (1 - Asrc) * Bdest + Bsrc B = (1 - Asrc) * Bdest + Asrc * Bsrc
+ *
+ * Note that the use of other blending modes to implement antialiasing is performed
+ * automatically by the drawing engine when the kQATag_Antialias variable !=
+ * kQAAntiAlias_Fast. The driving software should continue to use the alpha fields
+ * for transparency even when antialiasing is being used (the drawing engine will
+ * resolve the multiple blending requirements as best as it can).
+ *
+ * Drawing engines which perform front-to-back Z-sorted rendering should replace
+ * the blending function shown above with the equivalent front-to-back formula.
+ */
+struct TQAVGouraud {
+ float x; /* X pixel coordinate, 0.0 <= x < width */
+ float y; /* Y pixel coordinate, 0.0 <= y < height */
+ float z; /* Z coordinate, 0.0 <= z <= 1.0 */
+ float invW; /* 1 / w; required only when kQAPerspectiveZ_On is set */
+
+ float r; /* Red, 0.0 <= r <= 1.0 */
+ float g; /* Green, 0.0 <= g <= 1.0 */
+ float b; /* Blue, 0.0 <= b <= 1.0 */
+ float a; /* Alpha, 0.0 <= a <= 1.0, 1.0 is opaque */
+};
+typedef struct TQAVGouraud TQAVGouraud;
+/*
+ * TQAVTexture is used for texture mapping. The texture mapping operation
+ * is controlled by the kQATag_TextureOp variable, which is a mask of
+ * kQATextureOp_None/Modulate/Highlight/Decal. Below is pseudo-code for the
+ * texture shading operation:
+ *
+ * texPix = TextureLookup (uq/q, vq/q);
+ * if (kQATextureOp_Decal)
+ * {
+ * texPix.r = texPix.a * texPix.r + (1 - texPix.a) * r;
+ * texPix.g = texPix.a * texPix.g + (1 - texPix.a) * g;
+ * texPix.b = texPix.a * texPix.b + (1 - texPix.a) * b;
+ * texPix.a = a;
+ * }
+ * else
+ * {
+ * texPix.a = texPix.a * a;
+ * }
+ * if (kQATextureOp_Modulate)
+ * {
+ * texPix.r *= kd_r; // Clamped to prevent overflow
+ * texPix.g *= kd_g; // Clamped to prevent overflow
+ * texPix.b *= kd_b; // Clamped to prevent overflow
+ * }
+ * if (kQATextureOp_Highlight)
+ * {
+ * texPix.r += ks_r; // Clamped to prevent overflow
+ * texPix.g += ks_g; // Clamped to prevent overflow
+ * texPix.b += ks_b; // Clamped to prevent overflow
+ * }
+ *
+ * After computation of texPix, transparency blending (as shown
+ * above for TQAVGouraud) is performed.
+ */
+struct TQAVTexture {
+ float x; /* X pixel coordinate, 0.0 <= x < width */
+ float y; /* Y pixel coordinate, 0.0 <= y < height */
+ float z; /* Z coordinate, 0.0 <= z <= 1.0 */
+ float invW; /* 1 / w (always required) */
+
+ /* rgb are used only when kQATextureOp_Decal is set. a is always required */
+
+ float r; /* Red, 0.0 <= r <= 1.0 */
+ float g; /* Green, 0.0 <= g <= 1.0 */
+ float b; /* Blue, 0.0 <= b <= 1.0 */
+ float a; /* Alpha, 0.0 <= a <= 1.0, 1.0 is opaque */
+
+ /* uOverW and vOverW are required by all modes */
+
+ float uOverW; /* u / w */
+ float vOverW; /* v / w */
+
+ /* kd_r/g/b are used only when kQATextureOp_Modulate is set */
+
+ float kd_r; /* Scale factor for texture red, 0.0 <= kd_r */
+ float kd_g; /* Scale factor for texture green, 0.0 <= kd_g */
+ float kd_b; /* Scale factor for texture blue, 0.0 <= kd_b */
+
+ /* ks_r/g/b are used only when kQATextureOp_Highlight is set */
+
+ float ks_r; /* Red specular highlight, 0.0 <= ks_r <= 1.0 */
+ float ks_g; /* Green specular highlight, 0.0 <= ks_g <= 1.0 */
+ float ks_b; /* Blue specular highlight, 0.0 <= ks_b <= 1.0 */
+};
+typedef struct TQAVTexture TQAVTexture;
+/*
+* TQAVMultiTexture allows you to specify the uv and invW values
+* for secondary textures. This data is submitted with the
+* QASubmitMultiTextureParams() call.
+*/
+struct TQAVMultiTexture {
+ float invW;
+ float uOverW;
+ float vOverW;
+};
+typedef struct TQAVMultiTexture TQAVMultiTexture;
+
+/************************************************************************************************
+ *
+ * Constants used for the state variables.
+ *
+ ***********************************************************************************************/
+/*
+ * kQATag_xxx is used to select a state variable when calling QASetFloat(), QASetInt(),
+ * QAGetFloat() and QAGetInt(). The kQATag values are split into three separate enumerated
+ * types: TQATagInt, TQATagPtr and TQATagFloat. TQATagInt is used for the QASet/GetInt()
+ * functions, TQATagPtr is used for the QASet/GetPtr() functions, and TQATagFloat is used for
+ * the QASet/GetFloat() functions. (This is so that a compiler that typechecks enums can flag
+ * a float/int tag mismatch during compile.)
+ *
+ * -=- All tag values must be unique even across all three types. -=-
+ *
+ * These variables are required by all drawing engines:
+ * kQATag_ZFunction (Int) One of kQAZFunction_xxx
+ * kQATag_ColorBG_a (Float) Background color alpha
+ * kQATag_ColorBG_r (Float) Background color red
+ * kQATag_ColorBG_g (Float) Background color green
+ * kQATag_ColorBG_b (Float) Background color blue
+ * kQATag_Width (Float) Line and point width (pixels)
+ * kQATag_ZMinOffset (Float) Min offset to Z to guarantee visibility (Read only!)
+ * kQATag_ZMinScale (Float) Min scale to Z to guarantee visibility (Read only!)
+
+ * These variables are used for optional features:
+ * kQATag_Antialias (Int) One of kQAAntiAlias_xxx
+ * kQATag_Blend (Int) One of kQABlend_xxx
+ * kQATag_PerspectiveZ (Int) One of kQAPerspectiveZ_xxx
+ * kQATag_TextureFilter (Int) One of kQATextureFilter_xxx
+ * kQATag_TextureOp (Int) Mask of kQATextureOp_xxx
+ * kQATag_Texture (Ptr) Pointer to current TQATexture
+ * kQATag_CSGTag (Int) One of kQACSGTag_xxx
+ * kQATag_CSGEquation (Int) 32 bit CSG truth table
+ * kQATag_FogMode (Int) One of kQAFogMode_xxxx
+ * kQATag_FogColor_a (Float) Fog color alpha
+ * kQATag_FogColor_r (Float) Fog color red
+ * kQATag_FogColor_g (Float) Fog color green
+ * kQATag_FogColor_b (Float) Fog color blue
+ * kQATag_FogStart (Float) Fog start
+ * kQATag_FogEnd (Float) Fog end
+ * kQATag_FogDensity (Float) Fog density
+ * kQATag_FogMaxDepth (Float) Maximun value for 1.0 / invW
+ * kQATag_MipmapBias (Float) The mipmap page bias factor
+ * kQATag_ChannelMask (Int) one of kQAChannelMask_xxx
+ * kQATag_ZBufferMask (Int) one of kQAZBufferMask_xxx
+ * kQATag_ZSortedHint (Int) 1 = depth sort transparent triangles, 0 = do not sort.
+ * kQATag_Chromakey_r (Float) chroma key red
+ * kQATag_Chromakey_g (Float) chroma key green
+ * kQATag_Chromakey_b (Float) chroma key blue
+ * kQATag_ChromakeyEnable (Int) 1 = enable chroma keying, 0 = disable chroma keying
+ * kQATag_AlphaTestFunc (Int) one of kQAAlphaTest_xxx
+ * kQATag_AlphaTestRef (Float) from 0 to 1
+ * kQATag_DontSwap (Int) 1 = dont swap buffers during QARenderEnd, 0 = do swap buffers during QARenderEnd.
+
+ * kQATag_MultiTextureOp (Int) One of kQAMultiTexture_xxx
+ * kQATag_MultiTextureFilter (Int) One of kQATextureFilter_xxx
+ * kQATag_MultiTextureCurrent (Int) which multitexture layer to use for all other multitexture funcs
+ * kQATag_MultiTextureEnable (Int) how many multitexture layers to use (0 = no multitexturing).
+ * kQATag_MultiTextureWrapU (Int)
+ * kQATag_MultiTextureWrapV (Int)
+ * kQATag_MultiTextureMagFilter (Int)
+ * kQATag_MultiTextureMinFilter (Int)
+ * kQATag_MultiTextureBorder_a (Float)
+ * kQATag_MultiTextureBorder_r (Float)
+ * kQATag_MultiTextureBorder_g (Float)
+ * kQATag_MultiTextureBorder_b (Float)
+ * kQATag_MultiTextureMipmapBias (Float)
+ * kQATag_MultiTextureFactor (Float) used with kQAMultiTexture_Fixed to determine blending factor
+ *
+ * These variables are used for OpenGL(tm) support:
+ * kQATagGL_DrawBuffer (Int) Mask of kQAGL_DrawBuffer_xxx
+ * kQATagGL_TextureWrapU (Int) kQAGL_Clamp or kQAGL_Repeat
+ * kQATagGL_TextureWrapV (Int) kQAGL_Clamp or kQAGL_Repeat
+ * kQATagGL_TextureMagFilter (Int) kQAGL_Nearest or kQAGL_Linear
+ * kQATagGL_TextureMinFilter (Int) kQAGL_Nearest, etc.
+ * kQATagGL_ScissorXMin (Int) Minimum X value for scissor rectangle
+ * kQATagGL_ScissorYMin (Int) Minimum Y value for scissor rectangle
+ * kQATagGL_ScissorXMax (Int) Maximum X value for scissor rectangle
+ * kQATagGL_ScissorYMax (Int) Maximum Y value for scissor rectangle
+ * kQATagGL_BlendSrc (Int) Source blending operation
+ * kQATagGL_BlendDst (Int) Destination blending operation
+ * kQATagGL_LinePattern (Int) Line rasterization pattern
+ * kQATagGL_AreaPattern0 (Int) First of 32 area pattern registers
+ * kQATagGL_AreaPattern31 (Int) Last of 32 area pattern registers
+ *
+ * kQATagGL_DepthBG (Float) Background Z
+ * kQATagGL_TextureBorder_a (Float) Texture border color alpha
+ * kQATagGL_TextureBorder_r (Float) Texture border color red
+ * kQATagGL_TextureBorder_g (Float) Texture border color green
+ * kQATagGL_TextureBorder_b (Float) Texture border color blue
+ *
+ * Tags >= kQATag_EngineSpecific_Minimum may be assigned by the vendor for use as
+ * engine-specific variables. NOTE: These should be used only in exceptional circumstances,
+ * as functions performed by these variables won't be generally accessible. All other tag
+ * values are reserved.
+ *
+ * kQATag_EngineSpecific_Minimum Minimum tag value for drawing-engine specific variables
+ */
+enum TQATagInt {
+ kQATag_ZFunction = 0,
+ kQATag_Antialias = 8,
+ kQATag_Blend = 9,
+ kQATag_PerspectiveZ = 10,
+ kQATag_TextureFilter = 11,
+ kQATag_TextureOp = 12,
+ kQATag_CSGTag = 14,
+ kQATag_CSGEquation = 15,
+ kQATag_BufferComposite = 16,
+ kQATag_FogMode = 17,
+ kQATag_ChannelMask = 27,
+ kQATag_ZBufferMask = 28,
+ kQATag_ZSortedHint = 29,
+ kQATag_ChromakeyEnable = 30,
+ kQATag_AlphaTestFunc = 31,
+ kQATag_DontSwap = 32,
+ kQATag_MultiTextureEnable = 33,
+ kQATag_MultiTextureCurrent = 34,
+ kQATag_MultiTextureOp = 35,
+ kQATag_MultiTextureFilter = 36,
+ kQATag_MultiTextureWrapU = 37,
+ kQATag_MultiTextureWrapV = 38,
+ kQATag_MultiTextureMagFilter = 39,
+ kQATag_MultiTextureMinFilter = 40,
+ kQATag_BitmapFilter = 54, /* filter to use while scaling bitmaps, one of kQAFilter_xxx */
+ kQATag_DrawContextFilter = 55, /* filter to use while scaling draw contexts, one of kQAFilter_xxx */
+ kQATagGL_DrawBuffer = 100,
+ kQATagGL_TextureWrapU = 101,
+ kQATagGL_TextureWrapV = 102,
+ kQATagGL_TextureMagFilter = 103,
+ kQATagGL_TextureMinFilter = 104,
+ kQATagGL_ScissorXMin = 105,
+ kQATagGL_ScissorYMin = 106,
+ kQATagGL_ScissorXMax = 107,
+ kQATagGL_ScissorYMax = 108,
+ kQATagGL_BlendSrc = 109,
+ kQATagGL_BlendDst = 110,
+ kQATagGL_LinePattern = 111,
+ kQATagGL_AreaPattern0 = 117, /* ...kQATagGL_AreaPattern1-30 */
+ kQATagGL_AreaPattern31 = 148,
+ kQATagGL_LinePatternFactor = 149, /* equivalent to GL_LINE_STIPPLE_REPEAT */
+ kQATag_EngineSpecific_Minimum = 1000
+};
+typedef enum TQATagInt TQATagInt;
+
+enum TQATagPtr {
+ kQATag_Texture = 13,
+ kQATag_MultiTexture = 26
+};
+typedef enum TQATagPtr TQATagPtr;
+
+enum TQATagFloat {
+ kQATag_ColorBG_a = 1,
+ kQATag_ColorBG_r = 2,
+ kQATag_ColorBG_g = 3,
+ kQATag_ColorBG_b = 4,
+ kQATag_Width = 5,
+ kQATag_ZMinOffset = 6,
+ kQATag_ZMinScale = 7,
+ kQATag_FogColor_a = 18,
+ kQATag_FogColor_r = 19,
+ kQATag_FogColor_g = 20,
+ kQATag_FogColor_b = 21,
+ kQATag_FogStart = 22,
+ kQATag_FogEnd = 23,
+ kQATag_FogDensity = 24,
+ kQATag_FogMaxDepth = 25,
+ kQATag_MipmapBias = 41,
+ kQATag_MultiTextureMipmapBias = 42,
+ kQATag_Chromakey_r = 43,
+ kQATag_Chromakey_g = 44,
+ kQATag_Chromakey_b = 45,
+ kQATag_AlphaTestRef = 46,
+ kQATag_MultiTextureBorder_a = 47,
+ kQATag_MultiTextureBorder_r = 48,
+ kQATag_MultiTextureBorder_g = 49,
+ kQATag_MultiTextureBorder_b = 50,
+ kQATag_MultiTextureFactor = 51,
+ kQATag_BitmapScale_x = 52, /* horizontal bitmap scale factor, default value is 1.0 */
+ kQATag_BitmapScale_y = 53, /* vertical bitmap scale factor, default value is 1.0 */
+ kQATag_MultiTextureEnvColor_a = 56,
+ kQATag_MultiTextureEnvColor_r = 57,
+ kQATag_MultiTextureEnvColor_g = 58,
+ kQATag_MultiTextureEnvColor_b = 59,
+ kQATagGL_DepthBG = 112,
+ kQATagGL_TextureBorder_a = 113,
+ kQATagGL_TextureBorder_r = 114,
+ kQATagGL_TextureBorder_g = 115,
+ kQATagGL_TextureBorder_b = 116,
+ kQATagGL_TextureEnvColor_a = 150,
+ kQATagGL_TextureEnvColor_r = 151,
+ kQATagGL_TextureEnvColor_g = 152,
+ kQATagGL_TextureEnvColor_b = 153
+};
+typedef enum TQATagFloat TQATagFloat;
+
+
+/* kQATag_ZFunction */
+enum {
+ kQAZFunction_None = 0, /* Z is neither tested nor written (same as no Z buffer) */
+ kQAZFunction_LT = 1, /* Znew < Zbuffer is visible */
+ kQAZFunction_EQ = 2, /* Znew == Zbuffer is visible */
+ kQAZFunction_LE = 3, /* Znew <= Zbuffer is visible */
+ kQAZFunction_GT = 4, /* Znew > Zbuffer is visible */
+ kQAZFunction_NE = 5, /* Znew != Zbuffer is visible */
+ kQAZFunction_GE = 6, /* Znew >= Zbuffer is visible */
+ kQAZFunction_True = 7, /* Znew is always visible */
+ kQAZFunction_False = 8 /* Znew is never visible */
+};
+
+/* kQATag_Width */
#define kQAMaxWidth 128.0
- /* kQATag_Antialias */
- enum
- {
- kQAAntiAlias_Off = 0,
- kQAAntiAlias_Fast = 1,
- kQAAntiAlias_Mid = 2,
- kQAAntiAlias_Best = 3
- };
-
- /* kQATag_Blend */
- enum
- {
- kQABlend_PreMultiply = 0,
- kQABlend_Interpolate = 1,
- kQABlend_OpenGL = 2
- };
-
- /* kQATag_BufferComposite */
- enum
- {
- kQABufferComposite_None = 0, /* Default: New pixels overwrite initial buffer contents */
- kQABufferComposite_PreMultiply = 1, /* New pixels are blended with initial buffer contents via PreMultiply */
- kQABufferComposite_Interpolate = 2 /* New pixels are blended with initial buffer contents via Interpolate */
- };
-
- /* kQATag_PerspectiveZ */
- enum
- {
- kQAPerspectiveZ_Off = 0, /* Use Z for hidden surface removal */
- kQAPerspectiveZ_On = 1 /* Use InvW for hidden surface removal */
- };
-
- /* kQATag_TextureFilter */
- enum
- {
- /* suggested meanings of these values */
- kQATextureFilter_Fast = 0, /* No filtering, pick nearest */
- kQATextureFilter_Mid = 1, /* Fastest method that does some filtering */
- kQATextureFilter_Best = 2 /* Highest quality renderer can do */
- };
-
- /* filter tag values */
- enum
- {
- /* suggested meanings of these values */
- kQAFilter_Fast = 0, /* No filtering, pick nearest */
- kQAFilter_Mid = 1, /* Fastest method that does some filtering */
- kQAFilter_Best = 2 /* Highest quality renderer can do */
- };
-
- /* kQATag_TextureOp (mask of one or more) */
- enum
- {
- kQATextureOp_None = 0, /* Default texture mapping mode */
- kQATextureOp_Modulate = (1 << 0), /* Modulate texture color with kd_r/g/b */
- kQATextureOp_Highlight = (1 << 1), /* Add highlight value ks_r/g/b */
- kQATextureOp_Decal = (1 << 2), /* When texture alpha == 0, use rgb instead */
- kQATextureOp_Shrink = (1 << 3), /* This is a non-wrapping texture, so the ??? */
- kQATextureOp_Blend = (1 << 4) /* Same as GL_TEXTURE_ENV_MODE GL_BLEND */
- };
-
- /* kQATag_MultiTextureOp */
- enum
- {
- kQAMultiTexture_Add = 0, /* texels are added to form final pixel */
- kQAMultiTexture_Modulate = 1, /* texels are multiplied to form final pixel */
- kQAMultiTexture_BlendAlpha = 2, /* texels are blended according to 2nd texel's alpha */
- kQAMultiTexture_Fixed = 3 /* texels are blended by a fixed factor via kQATag_MultiTextureFactor */
- };
-
- /* kQATag_CSGTag */
+/* kQATag_Antialias */
+enum {
+ kQAAntiAlias_Off = 0,
+ kQAAntiAlias_Fast = 1,
+ kQAAntiAlias_Mid = 2,
+ kQAAntiAlias_Best = 3
+};
+
+/* kQATag_Blend */
+enum {
+ kQABlend_PreMultiply = 0,
+ kQABlend_Interpolate = 1,
+ kQABlend_OpenGL = 2
+};
+
+/* kQATag_BufferComposite */
+enum {
+ kQABufferComposite_None = 0, /* Default: New pixels overwrite initial buffer contents */
+ kQABufferComposite_PreMultiply = 1, /* New pixels are blended with initial buffer contents via PreMultiply */
+ kQABufferComposite_Interpolate = 2 /* New pixels are blended with initial buffer contents via Interpolate */
+};
+
+/* kQATag_PerspectiveZ */
+enum {
+ kQAPerspectiveZ_Off = 0, /* Use Z for hidden surface removal */
+ kQAPerspectiveZ_On = 1 /* Use InvW for hidden surface removal */
+};
+
+/* kQATag_TextureFilter */
+enum {
+ /* suggested meanings of these values */
+ kQATextureFilter_Fast = 0, /* No filtering, pick nearest */
+ kQATextureFilter_Mid = 1, /* Fastest method that does some filtering */
+ kQATextureFilter_Best = 2 /* Highest quality renderer can do */
+};
+
+/* filter tag values */
+enum {
+ /* suggested meanings of these values */
+ kQAFilter_Fast = 0, /* No filtering, pick nearest */
+ kQAFilter_Mid = 1, /* Fastest method that does some filtering */
+ kQAFilter_Best = 2 /* Highest quality renderer can do */
+};
+
+/* kQATag_TextureOp (mask of one or more) */
+enum {
+ kQATextureOp_None = 0, /* Default texture mapping mode */
+ kQATextureOp_Modulate = (1 << 0), /* Modulate texture color with kd_r/g/b */
+ kQATextureOp_Highlight = (1 << 1), /* Add highlight value ks_r/g/b */
+ kQATextureOp_Decal = (1 << 2), /* When texture alpha == 0, use rgb instead */
+ kQATextureOp_Shrink = (1 << 3), /* This is a non-wrapping texture, so the ??? */
+ kQATextureOp_Blend = (1 << 4) /* Same as GL_TEXTURE_ENV_MODE GL_BLEND */
+};
+
+/* kQATag_MultiTextureOp */
+enum {
+ kQAMultiTexture_Add = 0, /* texels are added to form final pixel */
+ kQAMultiTexture_Modulate = 1, /* texels are multiplied to form final pixel */
+ kQAMultiTexture_BlendAlpha = 2, /* texels are blended according to 2nd texel's alpha */
+ kQAMultiTexture_Fixed = 3 /* texels are blended by a fixed factor via kQATag_MultiTextureFactor */
+};
+
+/* kQATag_CSGTag */
#define kQACSGTag_None 0xffffffffUL
- enum
- {
- kQACSGTag_0 = 0, /* Submitted tris have CSG ID 0 */
- kQACSGTag_1 = 1, /* Submitted tris have CSG ID 1 */
- kQACSGTag_2 = 2, /* Submitted tris have CSG ID 2 */
- kQACSGTag_3 = 3, /* Submitted tris have CSG ID 3 */
- kQACSGTag_4 = 4 /* Submitted tris have CSG ID 4 */
- };
-
- /* kQATagGL_TextureWrapU/V */
- enum
- {
- kQAGL_Repeat = 0,
- kQAGL_Clamp = 1
- };
-
- /* kQATagGL_BlendSrc */
- enum
- {
- kQAGL_SourceBlend_XXX = 0
- };
-
- /* kQATagGL_BlendDst */
- enum
- {
- kQAGL_DestBlend_XXX = 0
- };
-
- /* kQATagGL_DrawBuffer (mask of one or more) */
- enum
- {
- kQAGL_DrawBuffer_None = 0,
- kQAGL_DrawBuffer_FrontLeft = (1 << 0),
- kQAGL_DrawBuffer_FrontRight = (1 << 1),
- kQAGL_DrawBuffer_BackLeft = (1 << 2),
- kQAGL_DrawBuffer_BackRight = (1 << 3),
- kQAGL_DrawBuffer_Front = (kQAGL_DrawBuffer_FrontLeft | kQAGL_DrawBuffer_FrontRight),
- kQAGL_DrawBuffer_Back = (kQAGL_DrawBuffer_BackLeft | kQAGL_DrawBuffer_BackRight)
- };
-
- /* kQATag_FogMode */
- enum
- {
- kQAFogMode_None = 0, /* no fog */
- kQAFogMode_Alpha = 1, /* fog value is alpha */
- kQAFogMode_Linear = 2, /* fog = (end - z) / (end - start) */
- kQAFogMode_Exponential = 3, /* fog = exp(-density * z) */
- kQAFogMode_ExponentialSquared = 4 /* fog = exp(-density * z * density * z) */
- };
-
-
- /* kQATag_ChannelMask */
- enum
- {
- kQAChannelMask_r = (1 << 0),
- kQAChannelMask_g = (1 << 1),
- kQAChannelMask_b = (1 << 2),
- kQAChannelMask_a = (1 << 3)
- };
-
-
- /* kQATag_ZBufferMask */
- enum
- {
- kQAZBufferMask_Disable = 0,
- kQAZBufferMask_Enable = 1
- };
-
- /* kQATag_AlphaTestFunc */
- enum
- {
- kQAAlphaTest_None = 0,
- kQAAlphaTest_LT = 1,
- kQAAlphaTest_EQ = 2,
- kQAAlphaTest_LE = 3,
- kQAAlphaTest_GT = 4,
- kQAAlphaTest_NE = 5,
- kQAAlphaTest_GE = 6,
- kQAAlphaTest_True = 7
- };
-
-
- /* flags for QAAccess__xxx */
- enum
- {
- kQANoCopyNeeded = (1 << 0)
- };
-
-
- /************************************************************************************************
- *
- * Constants used as function parameters.
- *
- ***********************************************************************************************/
- /*
- * TQAVertexMode is a parameter to QADrawVGouraud() and QADrawVTexture() that specifies how
- * to interpret and draw the vertex array.
- */
- enum TQAVertexMode
- {
- kQAVertexMode_Point = 0, /* Draw nVertices points */
- kQAVertexMode_Line = 1, /* Draw nVertices/2 line segments */
- kQAVertexMode_Polyline = 2, /* Draw nVertices-1 connected line segments */
- kQAVertexMode_Tri = 3, /* Draw nVertices/3 triangles */
- kQAVertexMode_Strip = 4, /* Draw nVertices-2 triangles as a strip */
- kQAVertexMode_Fan = 5, /* Draw nVertices-2 triangles as a fan from v0 */
- kQAVertexMode_NumModes = 6
- };
- typedef enum TQAVertexMode TQAVertexMode;
+enum {
+ kQACSGTag_0 = 0, /* Submitted tris have CSG ID 0 */
+ kQACSGTag_1 = 1, /* Submitted tris have CSG ID 1 */
+ kQACSGTag_2 = 2, /* Submitted tris have CSG ID 2 */
+ kQACSGTag_3 = 3, /* Submitted tris have CSG ID 3 */
+ kQACSGTag_4 = 4 /* Submitted tris have CSG ID 4 */
+};
+
+/* kQATagGL_TextureWrapU/V */
+enum {
+ kQAGL_Repeat = 0,
+ kQAGL_Clamp = 1
+};
+
+/* kQATagGL_BlendSrc */
+enum {
+ kQAGL_SourceBlend_XXX = 0
+};
+
+/* kQATagGL_BlendDst */
+enum {
+ kQAGL_DestBlend_XXX = 0
+};
+
+/* kQATagGL_DrawBuffer (mask of one or more) */
+enum {
+ kQAGL_DrawBuffer_None = 0,
+ kQAGL_DrawBuffer_FrontLeft = (1 << 0),
+ kQAGL_DrawBuffer_FrontRight = (1 << 1),
+ kQAGL_DrawBuffer_BackLeft = (1 << 2),
+ kQAGL_DrawBuffer_BackRight = (1 << 3),
+ kQAGL_DrawBuffer_Front = (kQAGL_DrawBuffer_FrontLeft | kQAGL_DrawBuffer_FrontRight),
+ kQAGL_DrawBuffer_Back = (kQAGL_DrawBuffer_BackLeft | kQAGL_DrawBuffer_BackRight)
+};
+
+/* kQATag_FogMode */
+enum {
+ kQAFogMode_None = 0, /* no fog */
+ kQAFogMode_Alpha = 1, /* fog value is alpha */
+ kQAFogMode_Linear = 2, /* fog = (end - z) / (end - start) */
+ kQAFogMode_Exponential = 3, /* fog = exp(-density * z) */
+ kQAFogMode_ExponentialSquared = 4 /* fog = exp(-density * z * density * z) */
+};
+
+
+/* kQATag_ChannelMask */
+enum {
+ kQAChannelMask_r = (1 << 0),
+ kQAChannelMask_g = (1 << 1),
+ kQAChannelMask_b = (1 << 2),
+ kQAChannelMask_a = (1 << 3)
+};
+
+
+/* kQATag_ZBufferMask */
+enum {
+ kQAZBufferMask_Disable = 0,
+ kQAZBufferMask_Enable = 1
+};
+
+/* kQATag_AlphaTestFunc */
+enum {
+ kQAAlphaTest_None = 0,
+ kQAAlphaTest_LT = 1,
+ kQAAlphaTest_EQ = 2,
+ kQAAlphaTest_LE = 3,
+ kQAAlphaTest_GT = 4,
+ kQAAlphaTest_NE = 5,
+ kQAAlphaTest_GE = 6,
+ kQAAlphaTest_True = 7
+};
+
+
+/* flags for QAAccess__xxx */
+enum {
+ kQANoCopyNeeded = (1 << 0)
+};
+
+
+/************************************************************************************************
+ *
+ * Constants used as function parameters.
+ *
+ ***********************************************************************************************/
+/*
+ * TQAVertexMode is a parameter to QADrawVGouraud() and QADrawVTexture() that specifies how
+ * to interpret and draw the vertex array.
+ */
+enum TQAVertexMode {
+ kQAVertexMode_Point = 0, /* Draw nVertices points */
+ kQAVertexMode_Line = 1, /* Draw nVertices/2 line segments */
+ kQAVertexMode_Polyline = 2, /* Draw nVertices-1 connected line segments */
+ kQAVertexMode_Tri = 3, /* Draw nVertices/3 triangles */
+ kQAVertexMode_Strip = 4, /* Draw nVertices-2 triangles as a strip */
+ kQAVertexMode_Fan = 5, /* Draw nVertices-2 triangles as a fan from v0 */
+ kQAVertexMode_NumModes = 6
+};
+typedef enum TQAVertexMode TQAVertexMode;
- /*
- * TQAGestaltSelector is a parameter to QAEngineGestalt(). It selects which gestalt
- * parameter will be copied into 'response'.
- */
- enum TQAGestaltSelector
- {
- kQAGestalt_OptionalFeatures = 0, /* Mask of one or more kQAOptional_xxx */
- kQAGestalt_FastFeatures = 1, /* Mask of one or more kQAFast_xxx */
- kQAGestalt_VendorID = 2, /* Vendor ID */
- kQAGestalt_EngineID = 3, /* Engine ID */
- kQAGestalt_Revision = 4, /* Revision number of this engine */
- kQAGestalt_ASCIINameLength = 5, /* strlen (asciiName) */
- kQAGestalt_ASCIIName = 6, /* Causes strcpy (response, asciiName) */
- kQAGestalt_TextureMemory = 7, /* amount of texture RAM currently available */
- kQAGestalt_FastTextureMemory = 8, /* amount of texture RAM currently available */
- kQAGestalt_DrawContextPixelTypesAllowed = 9, /* returns all the draw context pixel types supported by the RAVE engine */
- kQAGestalt_DrawContextPixelTypesPreferred = 10, /* returns all the draw context pixel types that are preferred by the RAVE engine. */
- kQAGestalt_TexturePixelTypesAllowed = 11, /* returns all the texture pixel types that are supported by the RAVE engine */
- kQAGestalt_TexturePixelTypesPreferred = 12, /* returns all the texture pixel types that are preferred by the RAVE engine.*/
- kQAGestalt_BitmapPixelTypesAllowed = 13, /* returns all the bitmap pixel types that are supported by the RAVE engine. */
- kQAGestalt_BitmapPixelTypesPreferred = 14, /* returns all the bitmap pixel types that are preferred by the RAVE engine. */
- kQAGestalt_OptionalFeatures2 = 15, /* Mask of one or more kQAOptional2_xxx */
- kQAGestalt_MultiTextureMax = 16, /* max number of multi textures supported by this engine */
- kQAGestalt_NumSelectors = 17,
- kQAGestalt_EngineSpecific_Minimum = 1000 /* all gestalts here and above are for engine specific purposes */
- };
- typedef enum TQAGestaltSelector TQAGestaltSelector;
+/*
+ * TQAGestaltSelector is a parameter to QAEngineGestalt(). It selects which gestalt
+ * parameter will be copied into 'response'.
+ */
+enum TQAGestaltSelector {
+ kQAGestalt_OptionalFeatures = 0, /* Mask of one or more kQAOptional_xxx */
+ kQAGestalt_FastFeatures = 1, /* Mask of one or more kQAFast_xxx */
+ kQAGestalt_VendorID = 2, /* Vendor ID */
+ kQAGestalt_EngineID = 3, /* Engine ID */
+ kQAGestalt_Revision = 4, /* Revision number of this engine */
+ kQAGestalt_ASCIINameLength = 5, /* strlen (asciiName) */
+ kQAGestalt_ASCIIName = 6, /* Causes strcpy (response, asciiName) */
+ kQAGestalt_TextureMemory = 7, /* amount of texture RAM currently available */
+ kQAGestalt_FastTextureMemory = 8, /* amount of texture RAM currently available */
+ kQAGestalt_DrawContextPixelTypesAllowed = 9, /* returns all the draw context pixel types supported by the RAVE engine */
+ kQAGestalt_DrawContextPixelTypesPreferred = 10, /* returns all the draw context pixel types that are preferred by the RAVE engine. */
+ kQAGestalt_TexturePixelTypesAllowed = 11, /* returns all the texture pixel types that are supported by the RAVE engine */
+ kQAGestalt_TexturePixelTypesPreferred = 12, /* returns all the texture pixel types that are preferred by the RAVE engine.*/
+ kQAGestalt_BitmapPixelTypesAllowed = 13, /* returns all the bitmap pixel types that are supported by the RAVE engine. */
+ kQAGestalt_BitmapPixelTypesPreferred = 14, /* returns all the bitmap pixel types that are preferred by the RAVE engine. */
+ kQAGestalt_OptionalFeatures2 = 15, /* Mask of one or more kQAOptional2_xxx */
+ kQAGestalt_MultiTextureMax = 16, /* max number of multi textures supported by this engine */
+ kQAGestalt_NumSelectors = 17,
+ kQAGestalt_EngineSpecific_Minimum = 1000 /* all gestalts here and above are for engine specific purposes */
+};
+typedef enum TQAGestaltSelector TQAGestaltSelector;
- /*
- * TQAMethodSelector is a parameter to QASetNoticeMethod to select the notice method
- */
+/*
+ * TQAMethodSelector is a parameter to QASetNoticeMethod to select the notice method
+ */
#if RAVE_OBSOLETE
- enum TQAMethodSelector
- {
- kQAMethod_RenderCompletion = 0, /* Called when rendering has completed and buffers swapped */
- kQAMethod_DisplayModeChanged = 1, /* Called when a display mode has changed */
- kQAMethod_ReloadTextures = 2, /* Called when texture memory has been invalidated */
- kQAMethod_BufferInitialize = 3, /* Called when a buffer needs to be initialized */
- kQAMethod_BufferComposite = 4, /* Called when rendering is finished and its safe to composite */
- kQAMethod_NumSelectors = 5
- };
- typedef enum TQAMethodSelector TQAMethodSelector;
+enum TQAMethodSelector {
+ kQAMethod_RenderCompletion = 0, /* Called when rendering has completed and buffers swapped */
+ kQAMethod_DisplayModeChanged = 1, /* Called when a display mode has changed */
+ kQAMethod_ReloadTextures = 2, /* Called when texture memory has been invalidated */
+ kQAMethod_BufferInitialize = 3, /* Called when a buffer needs to be initialized */
+ kQAMethod_BufferComposite = 4, /* Called when rendering is finished and its safe to composite */
+ kQAMethod_NumSelectors = 5
+};
+typedef enum TQAMethodSelector TQAMethodSelector;
#else
- enum TQAMethodSelector
- {
- kQAMethod_RenderCompletion = 0, /* Called when rendering has completed and buffers swapped */
- kQAMethod_DisplayModeChanged = 1, /* Called when a display mode has changed */
- kQAMethod_ReloadTextures = 2, /* Called when texture memory has been invalidated */
- kQAMethod_ImageBufferInitialize = 3, /* Called when a buffer needs to be initialized */
- kQAMethod_ImageBuffer2DComposite = 4, /* Called when rendering is finished and its safe to composite */
- kQAMethod_NumSelectors = 5
- };
- typedef enum TQAMethodSelector TQAMethodSelector;
+enum TQAMethodSelector {
+ kQAMethod_RenderCompletion = 0, /* Called when rendering has completed and buffers swapped */
+ kQAMethod_DisplayModeChanged = 1, /* Called when a display mode has changed */
+ kQAMethod_ReloadTextures = 2, /* Called when texture memory has been invalidated */
+ kQAMethod_ImageBufferInitialize = 3, /* Called when a buffer needs to be initialized */
+ kQAMethod_ImageBuffer2DComposite = 4, /* Called when rendering is finished and its safe to composite */
+ kQAMethod_NumSelectors = 5
+};
+typedef enum TQAMethodSelector TQAMethodSelector;
#endif /* RAVE_OBSOLETE */
- /*
- * kQATriFlags_xxx are ORed together to generate the 'flags' parameter
- * to QADrawTriGouraud() and QADrawTriTexture().
- */
- enum
- {
- kQATriFlags_None = 0, /* No flags (triangle is front-facing or don't care) */
- kQATriFlags_Backfacing = (1 << 0) /* Triangle is back-facing */
- };
-
- /*
- * kQATexture_xxx are ORed together to generate the 'flags' parameter to QATextureNew().
- */
- enum
- {
- kQATexture_None = 0, /* No flags */
- kQATexture_Lock = (1 << 0), /* Don't swap this texture out */
- kQATexture_Mipmap = (1 << 1), /* This texture is mipmapped */
- kQATexture_NoCompression = (1 << 2), /* Do not compress this texture */
- kQATexture_HighCompression = (1 << 3), /* Compress texture, even if it takes a while */
- kQATexture_NonRelocatable = (1 << 4), /* Image buffer in VRAM should be non-relocatable */
- kQATexture_NoCopy = (1 << 5), /* Don't copy image to VRAM when creating it */
- kQATexture_FlipOrigin = (1 << 6), /* The image(s) is(are) in a bottom-up format. (The image(s) is(are) flipped vertically.) */
- kQATexture_PriorityBits = (1 << 31) | (1 << 30) | (1 << 29) | (1 << 28) /* Texture priority: 4 upper bits for 16 levels of priority */
- };
-
- /*
- * kQABitmap_xxx are ORed together to generate the 'flags' parameter to QABitmapNew().
- */
- enum
- {
- kQABitmap_None = 0, /* No flags */
- kQABitmap_Lock = (1 << 1), /* Don't swap this bitmap out */
- kQABitmap_NoCompression = (1 << 2), /* Do not compress this bitmap */
- kQABitmap_HighCompression = (1 << 3), /* Compress bitmap, even if it takes a while */
- kQABitmap_NonRelocatable = (1 << 4), /* Image buffer in VRAM should be non-relocatable */
- kQABitmap_NoCopy = (1 << 5), /* Don't copy image to VRAM when creating it */
- kQABitmap_FlipOrigin = (1 << 6), /* The image is in a bottom-up format. (The image is flipped vertically.) */
- kQABitmap_PriorityBits = (1 << 31) | (1 << 30) | (1 << 29) | (1 << 28) /* Bitmap priority: 4 upper bits for 16 levels of priority */
- };
-
- /*
- * kQAContext_xxx are ORed together to generate the 'flags' parameter for QADrawContextNew().
- */
- enum
- {
- kQAContext_None = 0, /* No flags */
- kQAContext_NoZBuffer = (1 << 0), /* No hidden surface removal */
- kQAContext_DeepZ = (1 << 1), /* Hidden surface precision >= 24 bits */
- kQAContext_DoubleBuffer = (1 << 2), /* Double buffered window */
- kQAContext_Cache = (1 << 3), /* This is a cache context */
- kQAContext_NoDither = (1 << 4), /* No dithering, straight color banding */
- kQAContext_Scale = (1 << 5), /* The draw context is to be scaled. The front buffer is a different size than the back buffer. */
- kQAContext_NonRelocatable = (1 << 6), /* The back buffer and the z buffer must not move in memory */
- kQAContext_EngineSpecific1 = (1 << 28), /* engine specific flag # 1 */
- kQAContext_EngineSpecific2 = (1 << 29), /* engine specific flag # 2 */
- kQAContext_EngineSpecific3 = (1 << 30), /* engine specific flag # 3 */
- kQAContext_EngineSpecific4 = (1 << 31) /* engine specific flag # 4 */
- };
+/*
+ * kQATriFlags_xxx are ORed together to generate the 'flags' parameter
+ * to QADrawTriGouraud() and QADrawTriTexture().
+ */
+enum {
+ kQATriFlags_None = 0, /* No flags (triangle is front-facing or don't care) */
+ kQATriFlags_Backfacing = (1 << 0) /* Triangle is back-facing */
+};
- /*
- * kQAOptional_xxx are ORed together to generate the kQAGestalt_OptionalFeatures response
- * from QAEngineGestalt().
- */
- enum
- {
- kQAOptional_None = 0, /* No optional features */
- kQAOptional_DeepZ = (1 << 0), /* Hidden surface precision >= 24 bits */
- kQAOptional_Texture = (1 << 1), /* Texture mapping */
- kQAOptional_TextureHQ = (1 << 2), /* High quality texture (tri-linear mip or better) */
- kQAOptional_TextureColor = (1 << 3), /* Full color modulation and highlight of textures */
- kQAOptional_Blend = (1 << 4), /* Transparency blending of RGB */
- kQAOptional_BlendAlpha = (1 << 5), /* Transparency blending includes alpha channel */
- kQAOptional_Antialias = (1 << 6), /* Antialiased rendering */
- kQAOptional_ZSorted = (1 << 7), /* Z sorted rendering (for transparency, etc.) */
- kQAOptional_PerspectiveZ = (1 << 8), /* Hidden surface removal using InvW instead of Z */
- kQAOptional_OpenGL = (1 << 9), /* Extended rasterization features for OpenGL(tm) */
- kQAOptional_NoClear = (1 << 10), /* This drawing engine doesn't clear before drawing */
- kQAOptional_CSG = (1 << 11), /* kQATag_CSGxxx are implemented */
- kQAOptional_BoundToDevice = (1 << 12), /* This engine is tightly bound to GDevice */
- kQAOptional_CL4 = (1 << 13), /* This engine suports kQAPixel_CL4 */
- kQAOptional_CL8 = (1 << 14), /* This engine suports kQAPixel_CL8 */
- kQAOptional_BufferComposite = (1 << 15), /* This engine can composite with initial buffer contents */
- kQAOptional_NoDither = (1 << 16), /* This engine can draw with no dithering */
- kQAOptional_FogAlpha = (1 << 17), /* This engine suports alpha based fog */
- kQAOptional_FogDepth = (1 << 18), /* This engine suports depth based fog */
- kQAOptional_MultiTextures = (1 << 19), /* This bit set if engine supports texture compositing */
- kQAOptional_MipmapBias = (1 << 20), /* This bit is set if the engine supports mipmap selection bias */
- kQAOptional_ChannelMask = (1 << 21),
- kQAOptional_ZBufferMask = (1 << 22),
- kQAOptional_AlphaTest = (1 << 23), /* this engine supports alpha testing */
- kQAOptional_AccessTexture = (1 << 24), /* if engine supports access to texture */
- kQAOptional_AccessBitmap = (1 << 25), /* if engine supports access to bitmaps */
- kQAOptional_AccessDrawBuffer = (1 << 26), /* if engine supports access to draw buffer */
- kQAOptional_AccessZBuffer = (1 << 27), /* if engine supports access to zbuffer */
- kQAOptional_ClearDrawBuffer = (1 << 28), /* if engine supports QAClearDrawBuffer() */
- kQAOptional_ClearZBuffer = (1 << 29), /* if engine supports QAClearZBuffer() */
- kQAOptional_OffscreenDrawContexts = (1 << 30) /* if engine supports TQADeviceOffscreen */
- };
+/*
+ * kQATexture_xxx are ORed together to generate the 'flags' parameter to QATextureNew().
+ */
+enum {
+ kQATexture_None = 0, /* No flags */
+ kQATexture_Lock = (1 << 0), /* Don't swap this texture out */
+ kQATexture_Mipmap = (1 << 1), /* This texture is mipmapped */
+ kQATexture_NoCompression = (1 << 2), /* Do not compress this texture */
+ kQATexture_HighCompression = (1 << 3), /* Compress texture, even if it takes a while */
+ kQATexture_NonRelocatable = (1 << 4), /* Image buffer in VRAM should be non-relocatable */
+ kQATexture_NoCopy = (1 << 5), /* Don't copy image to VRAM when creating it */
+ kQATexture_FlipOrigin = (1 << 6), /* The image(s) is(are) in a bottom-up format. (The image(s) is(are) flipped vertically.) */
+ kQATexture_PriorityBits = (1 << 31) | (1 << 30) | (1 << 29) | (1 << 28) /* Texture priority: 4 upper bits for 16 levels of priority */
+};
- /*
- * kQAOptional2_xxx are ORed together to generate the kQAGestalt_OptionalFeatures2 response
- * from QAEngineGestalt().
- */
- enum
- {
- kQAOptional2_None = 0,
- kQAOptional2_TextureDrawContexts = (1 << 1), /* if engine supports QATextureNewFromDrawContext() */
- kQAOptional2_BitmapDrawContexts = (1 << 2), /* if engine supports QABitmapNewFromDrawContext() */
- kQAOptional2_Busy = (1 << 3), /* if engine supports QABusy() */
- kQAOptional2_SwapBuffers = (1 << 4), /* if engine supports QASwapBuffers() */
- kQAOptional2_Chromakey = (1 << 5), /* if engine supports chromakeying via kQATag_Chromakey_xxx */
- kQAOptional2_NonRelocatable = (1 << 6), /* if engine supports nonrelocatable texture & bitmap image buffers in VRAM */
- kQAOptional2_NoCopy = (1 << 7), /* if engine supports ability to not copy texture & bitmap image to VRAM */
- kQAOptional2_PriorityBits = (1 << 8), /* if engine supports texture & bitmap priority levels */
- kQAOptional2_FlipOrigin = (1 << 9), /* if engine supports textures & bitmaps that are vertically flipped */
- kQAOptional2_BitmapScale = (1 << 10), /* if engine supports scaled bitmap drawing */
- kQAOptional2_DrawContextScale = (1 << 11), /* if engine supports scaled draw contexts */
- kQAOptional2_DrawContextNonRelocatable = (1 << 12) /* if engine supports draw contexts with non relocatable buffers */
- };
+/*
+ * kQABitmap_xxx are ORed together to generate the 'flags' parameter to QABitmapNew().
+ */
+enum {
+ kQABitmap_None = 0, /* No flags */
+ kQABitmap_Lock = (1 << 1), /* Don't swap this bitmap out */
+ kQABitmap_NoCompression = (1 << 2), /* Do not compress this bitmap */
+ kQABitmap_HighCompression = (1 << 3), /* Compress bitmap, even if it takes a while */
+ kQABitmap_NonRelocatable = (1 << 4), /* Image buffer in VRAM should be non-relocatable */
+ kQABitmap_NoCopy = (1 << 5), /* Don't copy image to VRAM when creating it */
+ kQABitmap_FlipOrigin = (1 << 6), /* The image is in a bottom-up format. (The image is flipped vertically.) */
+ kQABitmap_PriorityBits = (1 << 31) | (1 << 30) | (1 << 29) | (1 << 28) /* Bitmap priority: 4 upper bits for 16 levels of priority */
+};
+/*
+ * kQAContext_xxx are ORed together to generate the 'flags' parameter for QADrawContextNew().
+ */
+enum {
+ kQAContext_None = 0, /* No flags */
+ kQAContext_NoZBuffer = (1 << 0), /* No hidden surface removal */
+ kQAContext_DeepZ = (1 << 1), /* Hidden surface precision >= 24 bits */
+ kQAContext_DoubleBuffer = (1 << 2), /* Double buffered window */
+ kQAContext_Cache = (1 << 3), /* This is a cache context */
+ kQAContext_NoDither = (1 << 4), /* No dithering, straight color banding */
+ kQAContext_Scale = (1 << 5), /* The draw context is to be scaled. The front buffer is a different size than the back buffer. */
+ kQAContext_NonRelocatable = (1 << 6), /* The back buffer and the z buffer must not move in memory */
+ kQAContext_EngineSpecific1 = (1 << 28), /* engine specific flag # 1 */
+ kQAContext_EngineSpecific2 = (1 << 29), /* engine specific flag # 2 */
+ kQAContext_EngineSpecific3 = (1 << 30), /* engine specific flag # 3 */
+ kQAContext_EngineSpecific4 = (1 << 31) /* engine specific flag # 4 */
+};
- /*
- * kQAFast_xxx are ORed together to generate the kQAGestalt_FastFeatures response
- * from QAEngineGestalt().
- */
- enum
- {
- kQAFast_None = 0, /* No accelerated features */
- kQAFast_Line = (1 << 0), /* Line drawing */
- kQAFast_Gouraud = (1 << 1), /* Gouraud shaded triangles */
- kQAFast_Texture = (1 << 2), /* Texture mapped triangles */
- kQAFast_TextureHQ = (1 << 3), /* High quality texture (tri-linear mip or better) */
- kQAFast_Blend = (1 << 4), /* Transparency blending */
- kQAFast_Antialiasing = (1 << 5), /* Antialiased rendering */
- kQAFast_ZSorted = (1 << 6), /* Z sorted rendering of non-opaque objects */
- kQAFast_CL4 = (1 << 7), /* This engine accelerates kQAPixel_CL4 */
- kQAFast_CL8 = (1 << 8), /* This engine accelerates kQAPixel_CL8 */
- kQAFast_FogAlpha = (1 << 9), /* This engine accelerates alpha based fog */
- kQAFast_FogDepth = (1 << 10), /* This engine accelerates depth based fog */
- kQAFast_MultiTextures = (1 << 11), /* This engine accelerates texture compositing */
- kQAFast_BitmapScale = (1 << 12), /* This engine accelerates scaled bitmap drawing */
- kQAFast_DrawContextScale = (1 << 13) /* This engine accelerates scaled draw contexts */
- };
+/*
+ * kQAOptional_xxx are ORed together to generate the kQAGestalt_OptionalFeatures response
+ * from QAEngineGestalt().
+ */
+enum {
+ kQAOptional_None = 0, /* No optional features */
+ kQAOptional_DeepZ = (1 << 0), /* Hidden surface precision >= 24 bits */
+ kQAOptional_Texture = (1 << 1), /* Texture mapping */
+ kQAOptional_TextureHQ = (1 << 2), /* High quality texture (tri-linear mip or better) */
+ kQAOptional_TextureColor = (1 << 3), /* Full color modulation and highlight of textures */
+ kQAOptional_Blend = (1 << 4), /* Transparency blending of RGB */
+ kQAOptional_BlendAlpha = (1 << 5), /* Transparency blending includes alpha channel */
+ kQAOptional_Antialias = (1 << 6), /* Antialiased rendering */
+ kQAOptional_ZSorted = (1 << 7), /* Z sorted rendering (for transparency, etc.) */
+ kQAOptional_PerspectiveZ = (1 << 8), /* Hidden surface removal using InvW instead of Z */
+ kQAOptional_OpenGL = (1 << 9), /* Extended rasterization features for OpenGL(tm) */
+ kQAOptional_NoClear = (1 << 10), /* This drawing engine doesn't clear before drawing */
+ kQAOptional_CSG = (1 << 11), /* kQATag_CSGxxx are implemented */
+ kQAOptional_BoundToDevice = (1 << 12), /* This engine is tightly bound to GDevice */
+ kQAOptional_CL4 = (1 << 13), /* This engine suports kQAPixel_CL4 */
+ kQAOptional_CL8 = (1 << 14), /* This engine suports kQAPixel_CL8 */
+ kQAOptional_BufferComposite = (1 << 15), /* This engine can composite with initial buffer contents */
+ kQAOptional_NoDither = (1 << 16), /* This engine can draw with no dithering */
+ kQAOptional_FogAlpha = (1 << 17), /* This engine suports alpha based fog */
+ kQAOptional_FogDepth = (1 << 18), /* This engine suports depth based fog */
+ kQAOptional_MultiTextures = (1 << 19), /* This bit set if engine supports texture compositing */
+ kQAOptional_MipmapBias = (1 << 20), /* This bit is set if the engine supports mipmap selection bias */
+ kQAOptional_ChannelMask = (1 << 21),
+ kQAOptional_ZBufferMask = (1 << 22),
+ kQAOptional_AlphaTest = (1 << 23), /* this engine supports alpha testing */
+ kQAOptional_AccessTexture = (1 << 24), /* if engine supports access to texture */
+ kQAOptional_AccessBitmap = (1 << 25), /* if engine supports access to bitmaps */
+ kQAOptional_AccessDrawBuffer = (1 << 26), /* if engine supports access to draw buffer */
+ kQAOptional_AccessZBuffer = (1 << 27), /* if engine supports access to zbuffer */
+ kQAOptional_ClearDrawBuffer = (1 << 28), /* if engine supports QAClearDrawBuffer() */
+ kQAOptional_ClearZBuffer = (1 << 29), /* if engine supports QAClearZBuffer() */
+ kQAOptional_OffscreenDrawContexts = (1 << 30) /* if engine supports TQADeviceOffscreen */
+};
+/*
+ * kQAOptional2_xxx are ORed together to generate the kQAGestalt_OptionalFeatures2 response
+ * from QAEngineGestalt().
+ */
+enum {
+ kQAOptional2_None = 0,
+ kQAOptional2_TextureDrawContexts = (1 << 1), /* if engine supports QATextureNewFromDrawContext() */
+ kQAOptional2_BitmapDrawContexts = (1 << 2), /* if engine supports QABitmapNewFromDrawContext() */
+ kQAOptional2_Busy = (1 << 3), /* if engine supports QABusy() */
+ kQAOptional2_SwapBuffers = (1 << 4), /* if engine supports QASwapBuffers() */
+ kQAOptional2_Chromakey = (1 << 5), /* if engine supports chromakeying via kQATag_Chromakey_xxx */
+ kQAOptional2_NonRelocatable = (1 << 6), /* if engine supports nonrelocatable texture & bitmap image buffers in VRAM */
+ kQAOptional2_NoCopy = (1 << 7), /* if engine supports ability to not copy texture & bitmap image to VRAM */
+ kQAOptional2_PriorityBits = (1 << 8), /* if engine supports texture & bitmap priority levels */
+ kQAOptional2_FlipOrigin = (1 << 9), /* if engine supports textures & bitmaps that are vertically flipped */
+ kQAOptional2_BitmapScale = (1 << 10), /* if engine supports scaled bitmap drawing */
+ kQAOptional2_DrawContextScale = (1 << 11), /* if engine supports scaled draw contexts */
+ kQAOptional2_DrawContextNonRelocatable = (1 << 12) /* if engine supports draw contexts with non relocatable buffers */
+};
- /************************************************************************************************
- *
- * Macro definition for easily setting the texture priority bits in the flags field of
- * QATextureNew(), and QABitMapNew().
- *
- * The priority value must be a number between 0 and 15. 0 is top priority, and 15 is lowest
- * priority. Note that this is different than OpenGL which uses floats from 0.0 to 1.0 where
- * 1.0 is top priority. In RAVE, this system is more like texture ranking, thus 0 is top rank,
- * and 15 is the last ranking.
- *
- * Texture prioritization is mainly used for systems which support AGP memory. This allows the
- * hardware driver to determine which textures to put into faster VRAM and which to put into
- * slower AGP RAM. If you dont care about texture priority, then you dont need to worry about
- * this macro or the priority bits since the default will always be top priority when all 4 bits
- * of this flag field are 0's.
- *
- * To upload a texture with high priority, do the following:
- *
- * unsigned long flags = kQATexture_Mipmap; // Initialize flags
- *
- * flags |= QACalculatePriorityBits(0); // Setting top priority (this actually does
- * // nothing since the bits are still 0000)
- * QATextureNew(myEngine, flags, pixelType, image, &raveTexture);
- *
- *
- * To do a texture with a middle priority of 8, do the following:
- *
- * unsigned long flags = kQATexture_HighCompression; // Initialize flags
- *
- * flags |= QACalculatePriorityBits(8); // Setting middle priority
- *
- * QATextureNew(myEngine, flags, pixelType, image, &raveTexture);
- *
- ***********************************************************************************************/
+/*
+ * kQAFast_xxx are ORed together to generate the kQAGestalt_FastFeatures response
+ * from QAEngineGestalt().
+ */
+enum {
+ kQAFast_None = 0, /* No accelerated features */
+ kQAFast_Line = (1 << 0), /* Line drawing */
+ kQAFast_Gouraud = (1 << 1), /* Gouraud shaded triangles */
+ kQAFast_Texture = (1 << 2), /* Texture mapped triangles */
+ kQAFast_TextureHQ = (1 << 3), /* High quality texture (tri-linear mip or better) */
+ kQAFast_Blend = (1 << 4), /* Transparency blending */
+ kQAFast_Antialiasing = (1 << 5), /* Antialiased rendering */
+ kQAFast_ZSorted = (1 << 6), /* Z sorted rendering of non-opaque objects */
+ kQAFast_CL4 = (1 << 7), /* This engine accelerates kQAPixel_CL4 */
+ kQAFast_CL8 = (1 << 8), /* This engine accelerates kQAPixel_CL8 */
+ kQAFast_FogAlpha = (1 << 9), /* This engine accelerates alpha based fog */
+ kQAFast_FogDepth = (1 << 10), /* This engine accelerates depth based fog */
+ kQAFast_MultiTextures = (1 << 11), /* This engine accelerates texture compositing */
+ kQAFast_BitmapScale = (1 << 12), /* This engine accelerates scaled bitmap drawing */
+ kQAFast_DrawContextScale = (1 << 13) /* This engine accelerates scaled draw contexts */
+};
+
+
+
+/************************************************************************************************
+ *
+ * Macro definition for easily setting the texture priority bits in the flags field of
+ * QATextureNew(), and QABitMapNew().
+ *
+ * The priority value must be a number between 0 and 15. 0 is top priority, and 15 is lowest
+ * priority. Note that this is different than OpenGL which uses floats from 0.0 to 1.0 where
+ * 1.0 is top priority. In RAVE, this system is more like texture ranking, thus 0 is top rank,
+ * and 15 is the last ranking.
+ *
+ * Texture prioritization is mainly used for systems which support AGP memory. This allows the
+ * hardware driver to determine which textures to put into faster VRAM and which to put into
+ * slower AGP RAM. If you dont care about texture priority, then you dont need to worry about
+ * this macro or the priority bits since the default will always be top priority when all 4 bits
+ * of this flag field are 0's.
+ *
+ * To upload a texture with high priority, do the following:
+ *
+ * unsigned long flags = kQATexture_Mipmap; // Initialize flags
+ *
+ * flags |= QACalculatePriorityBits(0); // Setting top priority (this actually does
+ * // nothing since the bits are still 0000)
+ * QATextureNew(myEngine, flags, pixelType, image, &raveTexture);
+ *
+ *
+ * To do a texture with a middle priority of 8, do the following:
+ *
+ * unsigned long flags = kQATexture_HighCompression; // Initialize flags
+ *
+ * flags |= QACalculatePriorityBits(8); // Setting middle priority
+ *
+ * QATextureNew(myEngine, flags, pixelType, image, &raveTexture);
+ *
+ ***********************************************************************************************/
#define QACalculatePriorityBits(_priority) (((unsigned long) (_priority)) << 28)
- /************************************************************************************************
- *
- * Macro definitions for the drawing engine methods included in TQADrawContext. These
- * macros are the recommended means of accessing the engine's draw methods, e.g:
- *
- * TQADrawContext *drawContext;
- * TQAVTexture vertices[3];
- *
- * drawContext = QADrawContextNew (rect, gdevice, engine, kQAContext_ZBuffer);
- * ...
- * QASetInt (drawContext, kQATag_ZFunction, kQAZFunction_LT);
- * QADrawTriGouraud (drawContext, &vertices[0], &vertices[1], &vertices[2], kQATriFlags_None);
- *
- * Note that QARenderStart(), QARenderEnd(), QAFlush() and QASync() have real function
- * definitions instead of macros. This is because these functions can afford the extra
- * per-call overhead of a function layer (which makes application code a little smaller),
- * and to allow a cleaner implementation of handling NULL parameters to QARenderStart().
- *
- ***********************************************************************************************/
+/************************************************************************************************
+ *
+ * Macro definitions for the drawing engine methods included in TQADrawContext. These
+ * macros are the recommended means of accessing the engine's draw methods, e.g:
+ *
+ * TQADrawContext *drawContext;
+ * TQAVTexture vertices[3];
+ *
+ * drawContext = QADrawContextNew (rect, gdevice, engine, kQAContext_ZBuffer);
+ * ...
+ * QASetInt (drawContext, kQATag_ZFunction, kQAZFunction_LT);
+ * QADrawTriGouraud (drawContext, &vertices[0], &vertices[1], &vertices[2], kQATriFlags_None);
+ *
+ * Note that QARenderStart(), QARenderEnd(), QAFlush() and QASync() have real function
+ * definitions instead of macros. This is because these functions can afford the extra
+ * per-call overhead of a function layer (which makes application code a little smaller),
+ * and to allow a cleaner implementation of handling NULL parameters to QARenderStart().
+ *
+ ***********************************************************************************************/
#define QASetFloat(drawContext,tag,newValue) \
@@ -1188,15 +1136,15 @@ extern "C" {
#define QASubmitVerticesGouraud(drawContext,nVertices,vertices) \
(drawContext)->submitVerticesGouraud(drawContext,nVertices,vertices)
-
+
#define QASubmitVerticesTexture(drawContext,nVertices,vertices) \
(drawContext)->submitVerticesTexture(drawContext,nVertices,vertices)
-
+
#define QASubmitMultiTextureParams(drawContext,nParams,params) \
(drawContext)->submitMultiTextureParams(drawContext,nParams,params)
-
+
#define QADrawTriMeshGouraud(drawContext,nTriangle,triangles) \
(drawContext)->drawTriMeshGouraud (drawContext,nTriangle,triangles)
@@ -1232,7 +1180,7 @@ extern "C" {
#define QAGetNoticeMethod(drawContext, method, completionCallBack, refCon) \
(drawContext)->getNoticeMethod (drawContext, method, completionCallBack, refCon)
-
+
#define QAAccessDrawBuffer(drawContext, pixelBuffer) \
(drawContext)->accessDrawBuffer(drawContext, pixelBuffer)
@@ -1246,7 +1194,7 @@ extern "C" {
(drawContext)->accessZBufferEnd(drawContext, dirtyRect)
-
+
#define QAClearDrawBuffer(drawContext, rect, initialContext) \
(drawContext)->clearDrawBuffer(drawContext, rect, initialContext)
@@ -1269,458 +1217,455 @@ extern "C" {
- /********************************************************************
- * TQAVersion sets the TQADrawContext 'version' field. It is set by
- * the manager to indicate the version of the TQADrawContext structure.
- *******************************************************************/
- enum TQAVersion
- {
- kQAVersion_Prerelease = 0,
- kQAVersion_1_0 = 1,
- kQAVersion_1_0_5 = 2, /* Added tri mesh functions, color tables */
- kQAVersion_1_5 = 3, /* Added call backs, texture compression, and new error return code */
- kQAVersion_1_6 = 4 /* Added QAAccess_xxx, fog, _Options2, Clear_xxx, etc. */
- };
- typedef enum TQAVersion TQAVersion;
-
-
-
- /***********************************************************************
- * TQADrawContext structure holds method pointers.
- * This is a forward refrence. The structure is defined later.
- **********************************************************************/
- typedef struct TQADrawContext TQADrawContext;
- /************************************************************************************************
- *
- * Typedefs of draw method functions provided by the drawing engine. One function pointer
- * for each of these function types in stored in the TQADrawContext public data structure.
- *
- * These functions should be accessed through the QA<function>(context,...) macros,
- * defined above.
- *
- ***********************************************************************************************/
- typedef CALLBACK_API_C(void , TQAStandardNoticeMethod)(const TQADrawContext *drawContext, void *refCon);
- typedef CALLBACK_API_C(void , TQABufferNoticeMethod)(const TQADrawContext *drawContext, const TQADevice *buffer, const TQARect *dirtyRect, void *refCon);
- union TQANoticeMethod
- {
- TQAStandardNoticeMethod standardNoticeMethod; /* Used for non-buffer related methods */
- TQABufferNoticeMethod bufferNoticeMethod; /* Used for buffer handling methods */
- };
- typedef union TQANoticeMethod TQANoticeMethod;
- typedef CALLBACK_API_C(void , TQASetFloat)(TQADrawContext *drawContext, TQATagFloat tag, float newValue);
- typedef CALLBACK_API_C(void , TQASetInt)(TQADrawContext *drawContext, TQATagInt tag, unsigned long newValue);
- typedef CALLBACK_API_C(void , TQASetPtr)(TQADrawContext *drawContext, TQATagPtr tag, const void *newValue);
- typedef CALLBACK_API_C(float , TQAGetFloat)(const TQADrawContext *drawContext, TQATagFloat tag);
- typedef CALLBACK_API_C(unsigned long , TQAGetInt)(const TQADrawContext *drawContext, TQATagInt tag);
- typedef CALLBACK_API_C(void *, TQAGetPtr)(const TQADrawContext *drawContext, TQATagPtr tag);
- typedef CALLBACK_API_C(void , TQADrawPoint)(const TQADrawContext *drawContext, const TQAVGouraud *v);
- typedef CALLBACK_API_C(void , TQADrawLine)(const TQADrawContext *drawContext, const TQAVGouraud *v0, const TQAVGouraud *v1);
- typedef CALLBACK_API_C(void , TQADrawTriGouraud)(const TQADrawContext *drawContext, const TQAVGouraud *v0, const TQAVGouraud *v1, const TQAVGouraud *v2, unsigned long flags);
- typedef CALLBACK_API_C(void , TQADrawTriTexture)(const TQADrawContext *drawContext, const TQAVTexture *v0, const TQAVTexture *v1, const TQAVTexture *v2, unsigned long flags);
- typedef CALLBACK_API_C(void , TQASubmitVerticesGouraud)(const TQADrawContext *drawContext, unsigned long nVertices, const TQAVGouraud *vertices);
- typedef CALLBACK_API_C(void , TQASubmitVerticesTexture)(const TQADrawContext *drawContext, unsigned long nVertices, const TQAVTexture *vertices);
- typedef CALLBACK_API_C(void , TQADrawTriMeshGouraud)(const TQADrawContext *drawContext, unsigned long nTriangles, const TQAIndexedTriangle *triangles);
- typedef CALLBACK_API_C(void , TQADrawTriMeshTexture)(const TQADrawContext *drawContext, unsigned long nTriangles, const TQAIndexedTriangle *triangles);
- typedef CALLBACK_API_C(void , TQADrawVGouraud)(const TQADrawContext *drawContext, unsigned long nVertices, TQAVertexMode vertexMode, const TQAVGouraud vertices[], const unsigned long flags[]);
- typedef CALLBACK_API_C(void , TQADrawVTexture)(const TQADrawContext *drawContext, unsigned long nVertices, TQAVertexMode vertexMode, const TQAVTexture vertices[], const unsigned long flags[]);
- typedef CALLBACK_API_C(void , TQADrawBitmap)(const TQADrawContext *drawContext, const TQAVGouraud *v, TQABitmap *bitmap);
- typedef CALLBACK_API_C(void , TQARenderStart)(const TQADrawContext *drawContext, const TQARect *dirtyRect, const TQADrawContext *initialContext);
- typedef CALLBACK_API_C(TQAError , TQARenderEnd)(const TQADrawContext *drawContext, const TQARect *modifiedRect);
- typedef CALLBACK_API_C(TQAError , TQARenderAbort)(const TQADrawContext * drawContext);
- typedef CALLBACK_API_C(TQAError , TQAFlush)(const TQADrawContext * drawContext);
- typedef CALLBACK_API_C(TQAError , TQASync)(const TQADrawContext * drawContext);
- typedef CALLBACK_API_C(TQAError , TQASetNoticeMethod)(const TQADrawContext *drawContext, TQAMethodSelector method, TQANoticeMethod completionCallBack, void *refCon);
- typedef CALLBACK_API_C(TQAError , TQAGetNoticeMethod)(const TQADrawContext *drawContext, TQAMethodSelector method, TQANoticeMethod *completionCallBack, void **refCon);
- typedef CALLBACK_API_C(void , TQASubmitMultiTextureParams)(const TQADrawContext *drawContext, unsigned long nParams, const TQAVMultiTexture *params);
- typedef CALLBACK_API_C(TQAError , TQAAccessDrawBuffer)(const TQADrawContext *drawContext, TQAPixelBuffer *buffer);
- typedef CALLBACK_API_C(TQAError , TQAAccessDrawBufferEnd)(const TQADrawContext *drawContext, const TQARect *dirtyRect);
- typedef CALLBACK_API_C(TQAError , TQAAccessZBuffer)(const TQADrawContext *drawContext, TQAZBuffer *buffer);
- typedef CALLBACK_API_C(TQAError , TQAAccessZBufferEnd)(const TQADrawContext *drawContext, const TQARect *dirtyRect);
- typedef CALLBACK_API_C(TQAError , TQAClearDrawBuffer)(const TQADrawContext *drawContext, const TQARect *rect, const TQADrawContext *initialContext);
- typedef CALLBACK_API_C(TQAError , TQAClearZBuffer)(const TQADrawContext *drawContext, const TQARect *rect, const TQADrawContext *initialContext);
- typedef CALLBACK_API_C(TQAError , TQATextureNewFromDrawContext)(const TQADrawContext *drawContext, unsigned long flags, TQATexture **newTexture);
- typedef CALLBACK_API_C(TQAError , TQABitmapNewFromDrawContext)(const TQADrawContext *drawContext, unsigned long flags, TQABitmap **newBitmap);
- typedef CALLBACK_API_C(TQABoolean , TQABusy)(const TQADrawContext * drawContext);
- typedef CALLBACK_API_C(TQAError , TQASwapBuffers)(const TQADrawContext *drawContext, const TQARect *dirtyRect);
- /************************************************************************************************
- *
- * Public TQADrawContext structure. This contains function pointers for the chosen
- * drawing engine.
- *
- ***********************************************************************************************/
- struct TQADrawContext
- {
- TQADrawPrivate * drawPrivate; /* Engine's private data for this context */
- TQAVersion version; /* Version number */
- TQASetFloat setFloat; /* Method: Set a float state variable */
- TQASetInt setInt; /* Method: Set an unsigned long state variable */
- TQASetPtr setPtr; /* Method: Set an unsigned long state variable */
- TQAGetFloat getFloat; /* Method: Get a float state variable */
- TQAGetInt getInt; /* Method: Get an unsigned long state variable */
- TQAGetPtr getPtr; /* Method: Get an pointer state variable */
- TQADrawPoint drawPoint; /* Method: Draw a point */
- TQADrawLine drawLine; /* Method: Draw a line */
- TQADrawTriGouraud drawTriGouraud; /* Method: Draw a Gouraud shaded triangle */
- TQADrawTriTexture drawTriTexture; /* Method: Draw a texture mapped triangle */
- TQADrawVGouraud drawVGouraud; /* Method: Draw Gouraud vertices */
- TQADrawVTexture drawVTexture; /* Method: Draw texture vertices */
- TQADrawBitmap drawBitmap; /* Method: Draw a bitmap */
- TQARenderStart renderStart; /* Method: Initialize for rendering */
- TQARenderEnd renderEnd; /* Method: Complete rendering and display */
- TQARenderAbort renderAbort; /* Method: Abort any outstanding rendering (blocking) */
- TQAFlush flush; /* Method: Start render of any queued commands (non-blocking) */
- TQASync sync; /* Method: Wait for completion of all rendering (blocking) */
- TQASubmitVerticesGouraud submitVerticesGouraud; /* Method: Submit Gouraud vertices for trimesh */
- TQASubmitVerticesTexture submitVerticesTexture; /* Method: Submit Texture vertices for trimesh */
- TQADrawTriMeshGouraud drawTriMeshGouraud; /* Method: Draw a Gouraud triangle mesh */
- TQADrawTriMeshTexture drawTriMeshTexture; /* Method: Draw a Texture triangle mesh */
- TQASetNoticeMethod setNoticeMethod; /* Method: Set a notice method */
- TQAGetNoticeMethod getNoticeMethod; /* Method: Get a notice method */
- TQASubmitMultiTextureParams submitMultiTextureParams; /* Method: Submit Secondary texture params */
- TQAAccessDrawBuffer accessDrawBuffer;
- TQAAccessDrawBufferEnd accessDrawBufferEnd;
- TQAAccessZBuffer accessZBuffer;
- TQAAccessZBufferEnd accessZBufferEnd;
- TQAClearDrawBuffer clearDrawBuffer;
- TQAClearZBuffer clearZBuffer;
- TQATextureNewFromDrawContext textureFromContext;
- TQABitmapNewFromDrawContext bitmapFromContext;
- TQABusy busy;
- TQASwapBuffers swapBuffers;
- };
-
- /************************************************************************************************
- *
- * Acceleration manager function prototypes.
- *
- ***********************************************************************************************/
+/********************************************************************
+ * TQAVersion sets the TQADrawContext 'version' field. It is set by
+ * the manager to indicate the version of the TQADrawContext structure.
+ *******************************************************************/
+enum TQAVersion {
+ kQAVersion_Prerelease = 0,
+ kQAVersion_1_0 = 1,
+ kQAVersion_1_0_5 = 2, /* Added tri mesh functions, color tables */
+ kQAVersion_1_5 = 3, /* Added call backs, texture compression, and new error return code */
+ kQAVersion_1_6 = 4 /* Added QAAccess_xxx, fog, _Options2, Clear_xxx, etc. */
+};
+typedef enum TQAVersion TQAVersion;
+
+
+
+/***********************************************************************
+ * TQADrawContext structure holds method pointers.
+ * This is a forward refrence. The structure is defined later.
+ **********************************************************************/
+typedef struct TQADrawContext TQADrawContext;
+/************************************************************************************************
+ *
+ * Typedefs of draw method functions provided by the drawing engine. One function pointer
+ * for each of these function types in stored in the TQADrawContext public data structure.
+ *
+ * These functions should be accessed through the QA<function>(context,...) macros,
+ * defined above.
+ *
+ ***********************************************************************************************/
+typedef CALLBACK_API_C( void , TQAStandardNoticeMethod )(const TQADrawContext *drawContext, void *refCon);
+typedef CALLBACK_API_C( void , TQABufferNoticeMethod )(const TQADrawContext *drawContext, const TQADevice *buffer, const TQARect *dirtyRect, void *refCon);
+union TQANoticeMethod {
+ TQAStandardNoticeMethod standardNoticeMethod; /* Used for non-buffer related methods */
+ TQABufferNoticeMethod bufferNoticeMethod; /* Used for buffer handling methods */
+};
+typedef union TQANoticeMethod TQANoticeMethod;
+typedef CALLBACK_API_C( void , TQASetFloat )(TQADrawContext *drawContext, TQATagFloat tag, float newValue);
+typedef CALLBACK_API_C( void , TQASetInt )(TQADrawContext *drawContext, TQATagInt tag, unsigned long newValue);
+typedef CALLBACK_API_C( void , TQASetPtr )(TQADrawContext *drawContext, TQATagPtr tag, const void *newValue);
+typedef CALLBACK_API_C( float , TQAGetFloat )(const TQADrawContext *drawContext, TQATagFloat tag);
+typedef CALLBACK_API_C( unsigned long , TQAGetInt )(const TQADrawContext *drawContext, TQATagInt tag);
+typedef CALLBACK_API_C( void *, TQAGetPtr )(const TQADrawContext *drawContext, TQATagPtr tag);
+typedef CALLBACK_API_C( void , TQADrawPoint )(const TQADrawContext *drawContext, const TQAVGouraud *v);
+typedef CALLBACK_API_C( void , TQADrawLine )(const TQADrawContext *drawContext, const TQAVGouraud *v0, const TQAVGouraud *v1);
+typedef CALLBACK_API_C( void , TQADrawTriGouraud )(const TQADrawContext *drawContext, const TQAVGouraud *v0, const TQAVGouraud *v1, const TQAVGouraud *v2, unsigned long flags);
+typedef CALLBACK_API_C( void , TQADrawTriTexture )(const TQADrawContext *drawContext, const TQAVTexture *v0, const TQAVTexture *v1, const TQAVTexture *v2, unsigned long flags);
+typedef CALLBACK_API_C( void , TQASubmitVerticesGouraud )(const TQADrawContext *drawContext, unsigned long nVertices, const TQAVGouraud *vertices);
+typedef CALLBACK_API_C( void , TQASubmitVerticesTexture )(const TQADrawContext *drawContext, unsigned long nVertices, const TQAVTexture *vertices);
+typedef CALLBACK_API_C( void , TQADrawTriMeshGouraud )(const TQADrawContext *drawContext, unsigned long nTriangles, const TQAIndexedTriangle *triangles);
+typedef CALLBACK_API_C( void , TQADrawTriMeshTexture )(const TQADrawContext *drawContext, unsigned long nTriangles, const TQAIndexedTriangle *triangles);
+typedef CALLBACK_API_C( void , TQADrawVGouraud )(const TQADrawContext *drawContext, unsigned long nVertices, TQAVertexMode vertexMode, const TQAVGouraud vertices[], const unsigned long flags[]);
+typedef CALLBACK_API_C( void , TQADrawVTexture )(const TQADrawContext *drawContext, unsigned long nVertices, TQAVertexMode vertexMode, const TQAVTexture vertices[], const unsigned long flags[]);
+typedef CALLBACK_API_C( void , TQADrawBitmap )(const TQADrawContext *drawContext, const TQAVGouraud *v, TQABitmap *bitmap);
+typedef CALLBACK_API_C( void , TQARenderStart )(const TQADrawContext *drawContext, const TQARect *dirtyRect, const TQADrawContext *initialContext);
+typedef CALLBACK_API_C( TQAError , TQARenderEnd )(const TQADrawContext *drawContext, const TQARect *modifiedRect);
+typedef CALLBACK_API_C( TQAError , TQARenderAbort )(const TQADrawContext * drawContext);
+typedef CALLBACK_API_C( TQAError , TQAFlush )(const TQADrawContext * drawContext);
+typedef CALLBACK_API_C( TQAError , TQASync )(const TQADrawContext * drawContext);
+typedef CALLBACK_API_C( TQAError , TQASetNoticeMethod )(const TQADrawContext *drawContext, TQAMethodSelector method, TQANoticeMethod completionCallBack, void *refCon);
+typedef CALLBACK_API_C( TQAError , TQAGetNoticeMethod )(const TQADrawContext *drawContext, TQAMethodSelector method, TQANoticeMethod *completionCallBack, void **refCon);
+typedef CALLBACK_API_C( void , TQASubmitMultiTextureParams )(const TQADrawContext *drawContext, unsigned long nParams, const TQAVMultiTexture *params);
+typedef CALLBACK_API_C( TQAError , TQAAccessDrawBuffer )(const TQADrawContext *drawContext, TQAPixelBuffer *buffer);
+typedef CALLBACK_API_C( TQAError , TQAAccessDrawBufferEnd )(const TQADrawContext *drawContext, const TQARect *dirtyRect);
+typedef CALLBACK_API_C( TQAError , TQAAccessZBuffer )(const TQADrawContext *drawContext, TQAZBuffer *buffer);
+typedef CALLBACK_API_C( TQAError , TQAAccessZBufferEnd )(const TQADrawContext *drawContext, const TQARect *dirtyRect);
+typedef CALLBACK_API_C( TQAError , TQAClearDrawBuffer )(const TQADrawContext *drawContext, const TQARect *rect, const TQADrawContext *initialContext);
+typedef CALLBACK_API_C( TQAError , TQAClearZBuffer )(const TQADrawContext *drawContext, const TQARect *rect, const TQADrawContext *initialContext);
+typedef CALLBACK_API_C( TQAError , TQATextureNewFromDrawContext )(const TQADrawContext *drawContext, unsigned long flags, TQATexture **newTexture);
+typedef CALLBACK_API_C( TQAError , TQABitmapNewFromDrawContext )(const TQADrawContext *drawContext, unsigned long flags, TQABitmap **newBitmap);
+typedef CALLBACK_API_C( TQABoolean , TQABusy )(const TQADrawContext * drawContext);
+typedef CALLBACK_API_C( TQAError , TQASwapBuffers )(const TQADrawContext *drawContext, const TQARect *dirtyRect);
+/************************************************************************************************
+ *
+ * Public TQADrawContext structure. This contains function pointers for the chosen
+ * drawing engine.
+ *
+ ***********************************************************************************************/
+struct TQADrawContext {
+ TQADrawPrivate * drawPrivate; /* Engine's private data for this context */
+ TQAVersion version; /* Version number */
+ TQASetFloat setFloat; /* Method: Set a float state variable */
+ TQASetInt setInt; /* Method: Set an unsigned long state variable */
+ TQASetPtr setPtr; /* Method: Set an unsigned long state variable */
+ TQAGetFloat getFloat; /* Method: Get a float state variable */
+ TQAGetInt getInt; /* Method: Get an unsigned long state variable */
+ TQAGetPtr getPtr; /* Method: Get an pointer state variable */
+ TQADrawPoint drawPoint; /* Method: Draw a point */
+ TQADrawLine drawLine; /* Method: Draw a line */
+ TQADrawTriGouraud drawTriGouraud; /* Method: Draw a Gouraud shaded triangle */
+ TQADrawTriTexture drawTriTexture; /* Method: Draw a texture mapped triangle */
+ TQADrawVGouraud drawVGouraud; /* Method: Draw Gouraud vertices */
+ TQADrawVTexture drawVTexture; /* Method: Draw texture vertices */
+ TQADrawBitmap drawBitmap; /* Method: Draw a bitmap */
+ TQARenderStart renderStart; /* Method: Initialize for rendering */
+ TQARenderEnd renderEnd; /* Method: Complete rendering and display */
+ TQARenderAbort renderAbort; /* Method: Abort any outstanding rendering (blocking) */
+ TQAFlush flush; /* Method: Start render of any queued commands (non-blocking) */
+ TQASync sync; /* Method: Wait for completion of all rendering (blocking) */
+ TQASubmitVerticesGouraud submitVerticesGouraud; /* Method: Submit Gouraud vertices for trimesh */
+ TQASubmitVerticesTexture submitVerticesTexture; /* Method: Submit Texture vertices for trimesh */
+ TQADrawTriMeshGouraud drawTriMeshGouraud; /* Method: Draw a Gouraud triangle mesh */
+ TQADrawTriMeshTexture drawTriMeshTexture; /* Method: Draw a Texture triangle mesh */
+ TQASetNoticeMethod setNoticeMethod; /* Method: Set a notice method */
+ TQAGetNoticeMethod getNoticeMethod; /* Method: Get a notice method */
+ TQASubmitMultiTextureParams submitMultiTextureParams; /* Method: Submit Secondary texture params */
+ TQAAccessDrawBuffer accessDrawBuffer;
+ TQAAccessDrawBufferEnd accessDrawBufferEnd;
+ TQAAccessZBuffer accessZBuffer;
+ TQAAccessZBufferEnd accessZBufferEnd;
+ TQAClearDrawBuffer clearDrawBuffer;
+ TQAClearZBuffer clearZBuffer;
+ TQATextureNewFromDrawContext textureFromContext;
+ TQABitmapNewFromDrawContext bitmapFromContext;
+ TQABusy busy;
+ TQASwapBuffers swapBuffers;
+};
+
+/************************************************************************************************
+ *
+ * Acceleration manager function prototypes.
+ *
+ ***********************************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * QADrawContextNew()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QADrawContextNew(
- const TQADevice * device,
- const TQARect * rect,
- const TQAClip * clip,
- const TQAEngine * engine,
- unsigned long flags,
- TQADrawContext ** newDrawContext);
-
-
- /*
- * QADrawContextDelete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- QADrawContextDelete(TQADrawContext * drawContext);
+/*
+ * QADrawContextNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QADrawContextNew(
+ const TQADevice * device,
+ const TQARect * rect,
+ const TQAClip * clip,
+ const TQAEngine * engine,
+ unsigned long flags,
+ TQADrawContext ** newDrawContext);
- /*
- * QAColorTableNew()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAColorTableNew(
- const TQAEngine * engine,
- TQAColorTableType tableType,
- void * pixelData,
- long transparentIndexFlag,
- TQAColorTable ** newTable);
-
-
- /*
- * QAColorTableDelete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- QAColorTableDelete(
- const TQAEngine * engine,
- TQAColorTable * colorTable);
-
-
- /*
- * QATextureNew()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QATextureNew(
- const TQAEngine * engine,
- unsigned long flags,
- TQAImagePixelType pixelType,
- const TQAImage images[],
- TQATexture ** newTexture);
-
-
- /*
- * QATextureDetach()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QATextureDetach(
- const TQAEngine * engine,
- TQATexture * texture);
-
-
- /*
- * QATextureDelete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- QATextureDelete(
- const TQAEngine * engine,
- TQATexture * texture);
-
-
- /*
- * QATextureBindColorTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QATextureBindColorTable(
- const TQAEngine * engine,
- TQATexture * texture,
- TQAColorTable * colorTable);
-
-
- /*
- * QABitmapNew()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QABitmapNew(
- const TQAEngine * engine,
- unsigned long flags,
- TQAImagePixelType pixelType,
- const TQAImage * image,
- TQABitmap ** newBitmap);
-
-
- /*
- * QABitmapDetach()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QABitmapDetach(
- const TQAEngine * engine,
- TQABitmap * bitmap);
-
-
- /*
- * QABitmapDelete()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- QABitmapDelete(
- const TQAEngine * engine,
- TQABitmap * bitmap);
-
-
- /*
- * QABitmapBindColorTable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QABitmapBindColorTable(
- const TQAEngine * engine,
- TQABitmap * bitmap,
- TQAColorTable * colorTable);
-
-
- /*
- * QADeviceGetFirstEngine()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAEngine *)
- QADeviceGetFirstEngine(const TQADevice * device);
+/*
+ * QADrawContextDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+QADrawContextDelete(TQADrawContext * drawContext);
- /*
- * QADeviceGetNextEngine()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAEngine *)
- QADeviceGetNextEngine(
- const TQADevice * device,
- const TQAEngine * currentEngine);
-
-
- /*
- * QAEngineCheckDevice()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAEngineCheckDevice(
- const TQAEngine * engine,
- const TQADevice * device);
-
-
- /*
- * QAEngineGestalt()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAEngineGestalt(
- const TQAEngine * engine,
- TQAGestaltSelector selector,
- void * response);
-
-
- /*
- * QAEngineEnable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAEngineEnable(
- long vendorID,
- long engineID);
-
-
- /*
- * QAEngineDisable()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAEngineDisable(
- long vendorID,
- long engineID);
+/*
+ * QAColorTableNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAColorTableNew(
+ const TQAEngine * engine,
+ TQAColorTableType tableType,
+ void * pixelData,
+ long transparentIndexFlag,
+ TQAColorTable ** newTable);
+/*
+ * QAColorTableDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+QAColorTableDelete(
+ const TQAEngine * engine,
+ TQAColorTable * colorTable);
- /*
- * QAAccessTexture()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAAccessTexture(
- const TQAEngine * engine,
- TQATexture * texture,
- long mipmapLevel,
- long flags,
- TQAPixelBuffer * buffer);
-
-
- /*
- * QAAccessTextureEnd()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAAccessTextureEnd(
- const TQAEngine * engine,
- TQATexture * texture,
- const TQARect * dirtyRect);
-
-
- /*
- * QAAccessBitmap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAAccessBitmap(
- const TQAEngine * engine,
- TQABitmap * bitmap,
- long flags,
- TQAPixelBuffer * buffer);
-
-
- /*
- * QAAccessBitmapEnd()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAAccessBitmapEnd(
- const TQAEngine * engine,
- TQABitmap * bitmap,
- const TQARect * dirtyRect);
+
+/*
+ * QATextureNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QATextureNew(
+ const TQAEngine * engine,
+ unsigned long flags,
+ TQAImagePixelType pixelType,
+ const TQAImage images[],
+ TQATexture ** newTexture);
+
+
+/*
+ * QATextureDetach()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QATextureDetach(
+ const TQAEngine * engine,
+ TQATexture * texture);
+
+
+/*
+ * QATextureDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+QATextureDelete(
+ const TQAEngine * engine,
+ TQATexture * texture);
+
+
+/*
+ * QATextureBindColorTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QATextureBindColorTable(
+ const TQAEngine * engine,
+ TQATexture * texture,
+ TQAColorTable * colorTable);
+
+
+/*
+ * QABitmapNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QABitmapNew(
+ const TQAEngine * engine,
+ unsigned long flags,
+ TQAImagePixelType pixelType,
+ const TQAImage * image,
+ TQABitmap ** newBitmap);
+
+
+/*
+ * QABitmapDetach()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QABitmapDetach(
+ const TQAEngine * engine,
+ TQABitmap * bitmap);
+
+
+/*
+ * QABitmapDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+QABitmapDelete(
+ const TQAEngine * engine,
+ TQABitmap * bitmap);
+
+
+/*
+ * QABitmapBindColorTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QABitmapBindColorTable(
+ const TQAEngine * engine,
+ TQABitmap * bitmap,
+ TQAColorTable * colorTable);
+
+
+/*
+ * QADeviceGetFirstEngine()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAEngine * )
+QADeviceGetFirstEngine(const TQADevice * device);
+
+
+/*
+ * QADeviceGetNextEngine()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAEngine * )
+QADeviceGetNextEngine(
+ const TQADevice * device,
+ const TQAEngine * currentEngine);
+
+
+/*
+ * QAEngineCheckDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAEngineCheckDevice(
+ const TQAEngine * engine,
+ const TQADevice * device);
+
+
+/*
+ * QAEngineGestalt()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAEngineGestalt(
+ const TQAEngine * engine,
+ TQAGestaltSelector selector,
+ void * response);
+
+
+/*
+ * QAEngineEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAEngineEnable(
+ long vendorID,
+ long engineID);
+
+
+/*
+ * QAEngineDisable()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAEngineDisable(
+ long vendorID,
+ long engineID);
+
+
+
+/*
+ * QAAccessTexture()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAAccessTexture(
+ const TQAEngine * engine,
+ TQATexture * texture,
+ long mipmapLevel,
+ long flags,
+ TQAPixelBuffer * buffer);
+
+
+/*
+ * QAAccessTextureEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAAccessTextureEnd(
+ const TQAEngine * engine,
+ TQATexture * texture,
+ const TQARect * dirtyRect);
+
+
+/*
+ * QAAccessBitmap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAAccessBitmap(
+ const TQAEngine * engine,
+ TQABitmap * bitmap,
+ long flags,
+ TQAPixelBuffer * buffer);
+
+
+/*
+ * QAAccessBitmapEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAAccessBitmapEnd(
+ const TQAEngine * engine,
+ TQABitmap * bitmap,
+ const TQARect * dirtyRect);
@@ -1730,32 +1675,32 @@ extern "C" {
#if TARGET_OS_MAC
#if CALL_NOT_IN_CARBON
- /*
- * QARegisterDrawNotificationProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QARegisterDrawNotificationProc(
- Rect * globalRect,
- TQADrawNotificationProcPtr proc,
- long refCon,
- TQADrawNotificationProcRefNum * refNum);
-
-
- /*
- * QAUnregisterDrawNotificationProc()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(TQAError)
- QAUnregisterDrawNotificationProc(TQADrawNotificationProcRefNum refNum);
+/*
+ * QARegisterDrawNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QARegisterDrawNotificationProc(
+ Rect * globalRect,
+ TQADrawNotificationProcPtr proc,
+ long refCon,
+ TQADrawNotificationProcRefNum * refNum);
+
+
+/*
+ * QAUnregisterDrawNotificationProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TQAError )
+QAUnregisterDrawNotificationProc(TQADrawNotificationProcRefNum refNum);
#endif /* CALL_NOT_IN_CARBON */
@@ -1770,22 +1715,22 @@ extern "C" {
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __RAVE__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __RAVE__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__RAVE__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ROMDefs.h b/include/qt/ROMDefs.h
index f44e2987a..75a5ef59c 100644
--- a/include/qt/ROMDefs.h
+++ b/include/qt/ROMDefs.h
@@ -1,18 +1,18 @@
/*
File: ROMDefs.h
-
+
Contains: NuBus card ROM Definitions.
-
+
Version: Technology: System 7.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1986-1998 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 __ROMDEFS__
#define __ROMDEFS__
@@ -32,257 +32,252 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- appleFormat = 1, /*Format of Declaration Data (IEEE will assign real value)*/
- romRevision = 1, /*Revision of Declaration Data Format*/
- romRevRange = 9, /*Revision of Declaration Data Format [1..9]*/
- testPattern = 1519594439L, /*FHeader long word test pattern*/
- sCodeRev = 2, /*Revision of code (For sExec)*/
- sExec2 = 2,
- sCPU68000 = 1, /*CPU type = 68000*/
- sCPU68020 = 2, /*CPU type = 68020*/
- sCPU68030 = 3, /*CPU type = 68030*/
- sCPU68040 = 4, /*CPU type = 68040*/
- sMacOS68000 = 1, /*Mac OS, CPU type = 68000*/
- sMacOS68020 = 2, /*Mac OS, CPU type = 68020*/
- sMacOS68030 = 3, /*Mac OS, CPU type = 68030*/
- sMacOS68040 = 4, /*Mac OS, CPU type = 68040*/
- board = 0, /*Board sResource - Required on all boards*/
- displayVideoAppleTFB = 16843009L, /*Video with Apple parameters for TFB card.*/
- displayVideoAppleGM = 16843010L, /*Video with Apple parameters for GM card.*/
- networkEtherNetApple3Com = 33620225L, /*Ethernet with apple parameters for 3-Comm card.*/
- testSimpleAppleAny = -2147417856L, /*A simple test sResource.*/
- endOfList = 255, /*End of list*/
- defaultTO = 100 /*100 retries.*/
- };
+enum {
+ appleFormat = 1, /*Format of Declaration Data (IEEE will assign real value)*/
+ romRevision = 1, /*Revision of Declaration Data Format*/
+ romRevRange = 9, /*Revision of Declaration Data Format [1..9]*/
+ testPattern = 1519594439L, /*FHeader long word test pattern*/
+ sCodeRev = 2, /*Revision of code (For sExec)*/
+ sExec2 = 2,
+ sCPU68000 = 1, /*CPU type = 68000*/
+ sCPU68020 = 2, /*CPU type = 68020*/
+ sCPU68030 = 3, /*CPU type = 68030*/
+ sCPU68040 = 4, /*CPU type = 68040*/
+ sMacOS68000 = 1, /*Mac OS, CPU type = 68000*/
+ sMacOS68020 = 2, /*Mac OS, CPU type = 68020*/
+ sMacOS68030 = 3, /*Mac OS, CPU type = 68030*/
+ sMacOS68040 = 4, /*Mac OS, CPU type = 68040*/
+ board = 0, /*Board sResource - Required on all boards*/
+ displayVideoAppleTFB = 16843009L, /*Video with Apple parameters for TFB card.*/
+ displayVideoAppleGM = 16843010L, /*Video with Apple parameters for GM card.*/
+ networkEtherNetApple3Com = 33620225L, /*Ethernet with apple parameters for 3-Comm card.*/
+ testSimpleAppleAny = -2147417856L, /*A simple test sResource.*/
+ endOfList = 255, /*End of list*/
+ defaultTO = 100 /*100 retries.*/
+};
- enum
- {
- /* sResource flags for sRsrc_Flags */
- fOpenAtStart = 1, /* set => open the driver at start time, else do not */
- f32BitMode = 2 /* set => a 32-bit address will be put into dctlDevBase (IM Devices 2-54) */
- };
+enum {
+ /* sResource flags for sRsrc_Flags */
+ fOpenAtStart = 1, /* set => open the driver at start time, else do not */
+ f32BitMode = 2 /* set => a 32-bit address will be put into dctlDevBase (IM Devices 2-54) */
+};
- enum
- {
- sRsrcType = 1, /*Type of sResource*/
- sRsrcName = 2, /*Name of sResource*/
- sRsrcIcon = 3, /*Icon*/
- sRsrcDrvrDir = 4, /*Driver directory*/
- sRsrcLoadDir = 5, /*Load directory*/
- sRsrcBootRec = 6, /*sBoot record*/
- sRsrcFlags = 7, /*sResource Flags*/
- sRsrcHWDevId = 8, /*Hardware Device Id*/
- minorBaseOS = 10, /*Offset to base of sResource in minor space.*/
- minorLength = 11, /*Length of sResource's address space in standard slot space.*/
- majorBaseOS = 12, /*Offset to base of sResource in Major space.*/
- majorLength = 13, /*Length of sResource in super slot space.*/
- sRsrcTest = 14, /*sBlock diagnostic code*/
- sRsrccicn = 15, /*Color icon*/
- sRsrcicl8 = 16, /*8-bit (indexed) icon*/
- sRsrcicl4 = 17, /*4-bit (indexed) icon*/
- sDRVRDir = 16, /*sDriver directory*/
- sGammaDir = 64, /*sGamma directory*/
- sRsrcVidNames = 65, /*Video mode name directory*/
- sRsrcDock = 80, /*spID for Docking Handlers*/
- sDiagRec = 85, /*spID for board diagnostics*/
- sVidAuxParams = 123, /*more video info for Display Manager -- timing information*/
- sDebugger = 124, /*DatLstEntry for debuggers indicating video anamolies*/
- sVidAttributes = 125, /*video attributes data field (optional,word)*/
- fLCDScreen = 0, /* bit 0 - when set is LCD, else is CRT*/
- fBuiltInDisplay = 1, /* 1 - when set is built-in (in the box) display, else not*/
- fDefaultColor = 2, /* 2 - when set display prefers multi-bit color, else gray*/
- fActiveBlack = 3, /* 3 - when set black on display must be written, else display is naturally black*/
- fDimMinAt1 = 4, /* 4 - when set should dim backlight to level 1 instead of 0*/
- fBuiltInDetach = 4, /* 4 - when set is built-in (in the box), but detaches*/
- sVidParmDir = 126,
- sBkltParmDir = 140, /*directory of backlight tables*/
- stdBkltTblSize = 36, /*size of "standard" 0..31-entry backlight table*/
- sSuperDir = 254
- };
+enum {
+ sRsrcType = 1, /*Type of sResource*/
+ sRsrcName = 2, /*Name of sResource*/
+ sRsrcIcon = 3, /*Icon*/
+ sRsrcDrvrDir = 4, /*Driver directory*/
+ sRsrcLoadDir = 5, /*Load directory*/
+ sRsrcBootRec = 6, /*sBoot record*/
+ sRsrcFlags = 7, /*sResource Flags*/
+ sRsrcHWDevId = 8, /*Hardware Device Id*/
+ minorBaseOS = 10, /*Offset to base of sResource in minor space.*/
+ minorLength = 11, /*Length of sResource's address space in standard slot space.*/
+ majorBaseOS = 12, /*Offset to base of sResource in Major space.*/
+ majorLength = 13, /*Length of sResource in super slot space.*/
+ sRsrcTest = 14, /*sBlock diagnostic code*/
+ sRsrccicn = 15, /*Color icon*/
+ sRsrcicl8 = 16, /*8-bit (indexed) icon*/
+ sRsrcicl4 = 17, /*4-bit (indexed) icon*/
+ sDRVRDir = 16, /*sDriver directory*/
+ sGammaDir = 64, /*sGamma directory*/
+ sRsrcVidNames = 65, /*Video mode name directory*/
+ sRsrcDock = 80, /*spID for Docking Handlers*/
+ sDiagRec = 85, /*spID for board diagnostics*/
+ sVidAuxParams = 123, /*more video info for Display Manager -- timing information*/
+ sDebugger = 124, /*DatLstEntry for debuggers indicating video anamolies*/
+ sVidAttributes = 125, /*video attributes data field (optional,word)*/
+ fLCDScreen = 0, /* bit 0 - when set is LCD, else is CRT*/
+ fBuiltInDisplay = 1, /* 1 - when set is built-in (in the box) display, else not*/
+ fDefaultColor = 2, /* 2 - when set display prefers multi-bit color, else gray*/
+ fActiveBlack = 3, /* 3 - when set black on display must be written, else display is naturally black*/
+ fDimMinAt1 = 4, /* 4 - when set should dim backlight to level 1 instead of 0*/
+ fBuiltInDetach = 4, /* 4 - when set is built-in (in the box), but detaches*/
+ sVidParmDir = 126,
+ sBkltParmDir = 140, /*directory of backlight tables*/
+ stdBkltTblSize = 36, /*size of "standard" 0..31-entry backlight table*/
+ sSuperDir = 254
+};
- /* ======================================================================= */
- /* sResource types */
- /* ======================================================================= */
- enum
- {
- catBoard = 0x0001, /*Category for board types.*/
- catTest = 0x0002, /*Category for test types -- not used much.*/
- catDisplay = 0x0003, /*Category for display (video) cards.*/
- catNetwork = 0x0004, /*Category for Networking cards.*/
- catScanner = 0x0008, /*scanners bring in data somehow*/
- catCPU = 0x000A,
- catIntBus = 0x000C,
- catProto = 0x0011,
- catDock = 0x0020, /*<Type>*/
- typeBoard = 0x0000,
- typeApple = 0x0001,
- typeVideo = 0x0001,
- typeEtherNet = 0x0001,
- typeStation = 0x0001,
- typeDesk = 0x0002,
- typeTravel = 0x0003,
- typeDSP = 0x0004,
- typeXPT = 0x000B,
- typeSIM = 0x000C,
- typeDebugger = 0x0100,
- type68000 = 0x0002,
- type68020 = 0x0003,
- type68030 = 0x0004,
- type68040 = 0x0005,
- type601 = 0x0025,
- type603 = 0x002E,
- typeAppleII = 0x0015, /*Driver Interface : <id.SW>*/
- drSwMacCPU = 0,
- drSwAppleIIe = 0x0001,
- drSwApple = 1, /*To ask for or define an Apple-compatible SW device.*/
- drSwMacsBug = 0x0104,
- drSwDepewEngineering = 0x0101, /*Driver Interface : <id.SW><id.HW>*/
- drHwTFB = 1, /*HW ID for the TFB (original Mac II) video card.*/
- drHw3Com = 1, /*HW ID for the Apple EtherTalk card.*/
- drHwBSC = 3,
- drHwGemini = 1,
- drHwDeskBar = 1,
- drHwHooperDock = 2, /*Hooper's CatDock,TypeDesk,DrSwApple ID; registered with DTS.*/
- drHwATT3210 = 0x0001,
- drHwBootBug = 0x0100,
- drHwMicroDock = 0x0100, /* video hardware id's - <catDisplay><typVideo>*/
- drHwSTB3 = 0x0002, /* Assigned by Kevin Mellander for STB-3 hardware. */
- drHwSTB = drHwSTB3, /* (Both STB-3 and STB-4 share the same video hardware.) */
- drHwRBV = 0x0018, /* IIci Aurora25/16 hw ID */
- drHwJMFB = 0x0019, /* 4o8/8o24 NuBus card */
- drHwElsie = 0x001A,
- drHwTim = 0x001B,
- drHwDAFB = 0x001C,
- drHwDolphin = 0x001D, /* 8o24GC NuBus card */
- drHwGSC = 0x001E, /* (Renamed from GSC drHWDBLite) */
- drHwDAFBPDS = 0x001F,
- drHWVSC = 0x0020,
- drHwApollo = 0x0021,
- drHwSonora = 0x0022,
- drHwReserved2 = 0x0023,
- drHwColumbia = 0x0024,
- drHwCivic = 0x0025,
- drHwBrazil = 0x0026,
- drHWPBLCD = 0x0027,
- drHWCSC = 0x0028,
- drHwJET = 0x0029,
- drHWMEMCjr = 0x002A,
- drHwBoogie = 0x002B, /* 8o24AC nuBus video card (built by Radius) */
- drHwHPV = 0x002C, /* High performance Video (HPV) PDS card for original PowerMacs */
- drHwPlanaria = 0x002D, /*PowerMac 6100/7100/8100 PDS AV video*/
- drHwValkyrie = 0x002E,
- drHwKeystone = 0x002F,
- drHWATI = 0x0055,
- drHwGammaFormula = 0x0056, /* Use for gType of display mgr gamma tables */
- /* other drHW id's for built-in functions*/
- drHwSonic = 0x0110,
- drHwMace = 0x0114,
- drHwDblExp = 0x0001, /* CPU board IDs - <catBoard> <typBoard> <0000> <0000>*/
- MIIBoardId = 0x0010, /*Mac II Board ID*/
- ciVidBoardID = 0x001F, /*Aurora25 board ID*/
- CX16VidBoardID = 0x0020, /*Aurora16 board ID*/
- MIIxBoardId = 0x0021, /*Mac IIx Board ID*/
- SE30BoardID = 0x0022, /*Mac SE/30 Board ID*/
- MIIcxBoardId = 0x0023, /*Mac IIcx Board ID*/
- MIIfxBoardId = 0x0024, /*F19 board ID*/
- EricksonBoardID = 0x0028,
- ElsieBoardID = 0x0029,
- TIMBoardID = 0x002A,
- EclipseBoardID = 0x002B,
- SpikeBoardID = 0x0033,
- DBLiteBoardID = 0x0035,
- ZydecoBrdID = 0x0036,
- ApolloBoardID = 0x0038,
- PDMBrdID = 0x0039,
- VailBoardID = 0x003A,
- WombatBrdID = 0x003B,
- ColumbiaBrdID = 0x003C,
- CycloneBrdID = 0x003D,
- CompanionBrdID = 0x003E,
- DartanianBoardID = 0x0040,
- DartExtVidBoardID = 0x0046,
- HookBoardID = 0x0047, /*Hook internal video board ID*/
- EscherBoardID = 0x004A, /*Board ID for Escher (CSC)*/
- POBoardID = 0x004D, /*Board ID for Primus/Optimus/Aladdin*/
- TempestBrdID = 0x0050, /*Non-official Board ID for Tempest*/
- BlackBirdBdID = 0x0058, /*Board ID for BlackBird*/
- BBExtVidBdID = 0x0059, /*Board ID for BlackBird built-in external video*/
- YeagerBoardID = 0x005A, /*Board ID for Yeager*/
- BBEtherNetBdID = 0x005E, /*Board ID for BlackBird Ethernet board*/
- TELLBoardID = 0x0065, /*Board ID for TELL (Valkyrie)*/
- MalcolmBoardID = 0x065E, /*Board ID for Malcolm*/
- AJBoardID = 0x065F, /*Board ID for AJ*/
- M2BoardID = 0x0660, /*Board ID for M2*/
- OmegaBoardID = 0x0661, /*Board ID for Omega*/
- TNTBoardID = 0x0670, /*Board ID for TNT/Alchemy/Hipclipper CPUs (did Nano just make this up?)*/
- HooperBoardID = 0x06CD, /*Board ID for Hooper*/
- /* other board IDs*/
- BoardIDDblExp = 0x002F,
- DAFBPDSBoardID = 0x0037,
- MonetBoardID = 0x0048,
- SacSONIC16BoardID = 0x004E,
- SacSONIC32BoardID = 0x004F, /* CPU board types - <CatCPU> <Typ680x0> <DrSwMacCPU>*/
- drHWMacII = 0x0001, /*Mac II hw ID*/
- drHwMacIIx = 0x0002, /*Mac IIx hw ID*/
- drHWSE30 = 0x0003, /*Mac SE/30 hw ID*/
- drHwMacIIcx = 0x0004, /*Mac IIcx hw ID*/
- drHWMacIIfx = 0x0005, /*Mac IIfx hw ID*/
- drHWF19 = 0x0005, /*F19 hw ID*/
- sBlockTransferInfo = 20, /*general slot block xfer info*/
- sMaxLockedTransferCount = 21, /*slot max. locked xfer count*/
- boardId = 32, /*Board Id*/
- pRAMInitData = 33, /*sPRAM init data*/
- primaryInit = 34, /*Primary init record*/
- timeOutConst = 35, /*Time out constant*/
- vendorInfo = 36, /*Vendor information List. See Vendor List, below*/
- boardFlags = 37, /*Board Flags*/
- secondaryInit = 38, /*Secondary init record/code*/
- /* The following Id's are associated with all CPU sResources.*/
- MajRAMSp = 129, /*ID of Major RAM space.*/
- MinROMSp = 130, /*ID of Minor ROM space.*/
- vendorId = 1, /*Vendor Id*/
- serialNum = 2, /*Serial number*/
- revLevel = 3, /*Revision level*/
- partNum = 4, /*Part number*/
- date = 5 /*Last revision date of the card*/
- };
+/* ======================================================================= */
+/* sResource types */
+/* ======================================================================= */
+enum {
+ catBoard = 0x0001, /*Category for board types.*/
+ catTest = 0x0002, /*Category for test types -- not used much.*/
+ catDisplay = 0x0003, /*Category for display (video) cards.*/
+ catNetwork = 0x0004, /*Category for Networking cards.*/
+ catScanner = 0x0008, /*scanners bring in data somehow*/
+ catCPU = 0x000A,
+ catIntBus = 0x000C,
+ catProto = 0x0011,
+ catDock = 0x0020, /*<Type>*/
+ typeBoard = 0x0000,
+ typeApple = 0x0001,
+ typeVideo = 0x0001,
+ typeEtherNet = 0x0001,
+ typeStation = 0x0001,
+ typeDesk = 0x0002,
+ typeTravel = 0x0003,
+ typeDSP = 0x0004,
+ typeXPT = 0x000B,
+ typeSIM = 0x000C,
+ typeDebugger = 0x0100,
+ type68000 = 0x0002,
+ type68020 = 0x0003,
+ type68030 = 0x0004,
+ type68040 = 0x0005,
+ type601 = 0x0025,
+ type603 = 0x002E,
+ typeAppleII = 0x0015, /*Driver Interface : <id.SW>*/
+ drSwMacCPU = 0,
+ drSwAppleIIe = 0x0001,
+ drSwApple = 1, /*To ask for or define an Apple-compatible SW device.*/
+ drSwMacsBug = 0x0104,
+ drSwDepewEngineering = 0x0101, /*Driver Interface : <id.SW><id.HW>*/
+ drHwTFB = 1, /*HW ID for the TFB (original Mac II) video card.*/
+ drHw3Com = 1, /*HW ID for the Apple EtherTalk card.*/
+ drHwBSC = 3,
+ drHwGemini = 1,
+ drHwDeskBar = 1,
+ drHwHooperDock = 2, /*Hooper's CatDock,TypeDesk,DrSwApple ID; registered with DTS.*/
+ drHwATT3210 = 0x0001,
+ drHwBootBug = 0x0100,
+ drHwMicroDock = 0x0100, /* video hardware id's - <catDisplay><typVideo>*/
+ drHwSTB3 = 0x0002, /* Assigned by Kevin Mellander for STB-3 hardware. */
+ drHwSTB = drHwSTB3, /* (Both STB-3 and STB-4 share the same video hardware.) */
+ drHwRBV = 0x0018, /* IIci Aurora25/16 hw ID */
+ drHwJMFB = 0x0019, /* 4o8/8o24 NuBus card */
+ drHwElsie = 0x001A,
+ drHwTim = 0x001B,
+ drHwDAFB = 0x001C,
+ drHwDolphin = 0x001D, /* 8o24GC NuBus card */
+ drHwGSC = 0x001E, /* (Renamed from GSC drHWDBLite) */
+ drHwDAFBPDS = 0x001F,
+ drHWVSC = 0x0020,
+ drHwApollo = 0x0021,
+ drHwSonora = 0x0022,
+ drHwReserved2 = 0x0023,
+ drHwColumbia = 0x0024,
+ drHwCivic = 0x0025,
+ drHwBrazil = 0x0026,
+ drHWPBLCD = 0x0027,
+ drHWCSC = 0x0028,
+ drHwJET = 0x0029,
+ drHWMEMCjr = 0x002A,
+ drHwBoogie = 0x002B, /* 8o24AC nuBus video card (built by Radius) */
+ drHwHPV = 0x002C, /* High performance Video (HPV) PDS card for original PowerMacs */
+ drHwPlanaria = 0x002D, /*PowerMac 6100/7100/8100 PDS AV video*/
+ drHwValkyrie = 0x002E,
+ drHwKeystone = 0x002F,
+ drHWATI = 0x0055,
+ drHwGammaFormula = 0x0056, /* Use for gType of display mgr gamma tables */
+ /* other drHW id's for built-in functions*/
+ drHwSonic = 0x0110,
+ drHwMace = 0x0114,
+ drHwDblExp = 0x0001, /* CPU board IDs - <catBoard> <typBoard> <0000> <0000>*/
+ MIIBoardId = 0x0010, /*Mac II Board ID*/
+ ciVidBoardID = 0x001F, /*Aurora25 board ID*/
+ CX16VidBoardID = 0x0020, /*Aurora16 board ID*/
+ MIIxBoardId = 0x0021, /*Mac IIx Board ID*/
+ SE30BoardID = 0x0022, /*Mac SE/30 Board ID*/
+ MIIcxBoardId = 0x0023, /*Mac IIcx Board ID*/
+ MIIfxBoardId = 0x0024, /*F19 board ID*/
+ EricksonBoardID = 0x0028,
+ ElsieBoardID = 0x0029,
+ TIMBoardID = 0x002A,
+ EclipseBoardID = 0x002B,
+ SpikeBoardID = 0x0033,
+ DBLiteBoardID = 0x0035,
+ ZydecoBrdID = 0x0036,
+ ApolloBoardID = 0x0038,
+ PDMBrdID = 0x0039,
+ VailBoardID = 0x003A,
+ WombatBrdID = 0x003B,
+ ColumbiaBrdID = 0x003C,
+ CycloneBrdID = 0x003D,
+ CompanionBrdID = 0x003E,
+ DartanianBoardID = 0x0040,
+ DartExtVidBoardID = 0x0046,
+ HookBoardID = 0x0047, /*Hook internal video board ID*/
+ EscherBoardID = 0x004A, /*Board ID for Escher (CSC)*/
+ POBoardID = 0x004D, /*Board ID for Primus/Optimus/Aladdin*/
+ TempestBrdID = 0x0050, /*Non-official Board ID for Tempest*/
+ BlackBirdBdID = 0x0058, /*Board ID for BlackBird*/
+ BBExtVidBdID = 0x0059, /*Board ID for BlackBird built-in external video*/
+ YeagerBoardID = 0x005A, /*Board ID for Yeager*/
+ BBEtherNetBdID = 0x005E, /*Board ID for BlackBird Ethernet board*/
+ TELLBoardID = 0x0065, /*Board ID for TELL (Valkyrie)*/
+ MalcolmBoardID = 0x065E, /*Board ID for Malcolm*/
+ AJBoardID = 0x065F, /*Board ID for AJ*/
+ M2BoardID = 0x0660, /*Board ID for M2*/
+ OmegaBoardID = 0x0661, /*Board ID for Omega*/
+ TNTBoardID = 0x0670, /*Board ID for TNT/Alchemy/Hipclipper CPUs (did Nano just make this up?)*/
+ HooperBoardID = 0x06CD, /*Board ID for Hooper*/
+ /* other board IDs*/
+ BoardIDDblExp = 0x002F,
+ DAFBPDSBoardID = 0x0037,
+ MonetBoardID = 0x0048,
+ SacSONIC16BoardID = 0x004E,
+ SacSONIC32BoardID = 0x004F, /* CPU board types - <CatCPU> <Typ680x0> <DrSwMacCPU>*/
+ drHWMacII = 0x0001, /*Mac II hw ID*/
+ drHwMacIIx = 0x0002, /*Mac IIx hw ID*/
+ drHWSE30 = 0x0003, /*Mac SE/30 hw ID*/
+ drHwMacIIcx = 0x0004, /*Mac IIcx hw ID*/
+ drHWMacIIfx = 0x0005, /*Mac IIfx hw ID*/
+ drHWF19 = 0x0005, /*F19 hw ID*/
+ sBlockTransferInfo = 20, /*general slot block xfer info*/
+ sMaxLockedTransferCount = 21, /*slot max. locked xfer count*/
+ boardId = 32, /*Board Id*/
+ pRAMInitData = 33, /*sPRAM init data*/
+ primaryInit = 34, /*Primary init record*/
+ timeOutConst = 35, /*Time out constant*/
+ vendorInfo = 36, /*Vendor information List. See Vendor List, below*/
+ boardFlags = 37, /*Board Flags*/
+ secondaryInit = 38, /*Secondary init record/code*/
+ /* The following Id's are associated with all CPU sResources.*/
+ MajRAMSp = 129, /*ID of Major RAM space.*/
+ MinROMSp = 130, /*ID of Minor ROM space.*/
+ vendorId = 1, /*Vendor Id*/
+ serialNum = 2, /*Serial number*/
+ revLevel = 3, /*Revision level*/
+ partNum = 4, /*Part number*/
+ date = 5 /*Last revision date of the card*/
+};
- enum
- {
- testByte = 32, /*Test byte.*/
- testWord = 33, /*0021*/
- testLong = 34, /*Test Long.*/
- testString = 35 /*Test String.*/
- };
+enum {
+ testByte = 32, /*Test byte.*/
+ testWord = 33, /*0021*/
+ testLong = 34, /*Test Long.*/
+ testString = 35 /*Test String.*/
+};
- /* sResource List. Category: Display Type: Video */
- /* The following Id's are common to all Mode sResources in Display_Video */
- /* functional sResources. */
- enum
- {
- mBlockTransferInfo = 5, /* slot block xfer info PER MODE */
- mMaxLockedTransferCount = 6 /* slot max. locked xfer count PER MODE */
- };
+/* sResource List. Category: Display Type: Video */
+/* The following Id's are common to all Mode sResources in Display_Video */
+/* functional sResources. */
+enum {
+ mBlockTransferInfo = 5, /* slot block xfer info PER MODE */
+ mMaxLockedTransferCount = 6 /* slot max. locked xfer count PER MODE */
+};
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ResourceForkComponent.h b/include/qt/ResourceForkComponent.h
index 8f728f69c..a97d461cb 100644
--- a/include/qt/ResourceForkComponent.h
+++ b/include/qt/ResourceForkComponent.h
@@ -1,15 +1,15 @@
/*
File: ResourceForkComponent.h
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 1984-2007 by Apple Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
/*.#endif forMasterInterfaces*/
/*.#ifndef forMergedInterface*/
@@ -36,155 +36,152 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*.#endif forMergedInterfaces*/
- enum {
- resourceForkComponentType = FOUR_CHAR_CODE('rfrk')
- };
-
- enum
- {
- rfmCanExpand = FOUR_CHAR_CODE('expn'),
- rfmCanExpandEasily = FOUR_CHAR_CODE('expe'),
- rfmIsMultiStream = FOUR_CHAR_CODE('muls')
- };
-
- enum
- {
- rfmQueryForkMask = 1 << 0, /* bit on == resource fork, off == data fork*/
- rfmQueryResourceFork = 1 << 0,
- rfmQueryDataFork = 0
- };
+/*.#endif forMergedInterfaces*/
+enum {
+ resourceForkComponentType = FOUR_CHAR_CODE('rfrk')
+};
+
+enum {
+ rfmCanExpand = FOUR_CHAR_CODE('expn'),
+ rfmCanExpandEasily = FOUR_CHAR_CODE('expe'),
+ rfmIsMultiStream = FOUR_CHAR_CODE('muls')
+};
+
+enum {
+ rfmQueryForkMask = 1 << 0, /* bit on == resource fork, off == data fork*/
+ rfmQueryResourceFork = 1 << 0,
+ rfmQueryDataFork = 0
+};
#if CALL_NOT_IN_CARBON
- /*
- * ResourceForkPathNameMap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- ResourceForkPathNameMap(
- ComponentInstance rfi,
- char * inDataPath,
- char * outRsrcPath,
- unsigned long maxLen) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * ResourceForkOffsetAndLength()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- ResourceForkOffsetAndLength(
- ComponentInstance rfi,
- char * accessPath,
- long queryFlags,
- long * dataOffset,
- long * dataLength) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * ResourceForkGetMethodInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- ResourceForkGetMethodInfo(
- ComponentInstance rfi,
- long queryFlags,
- long queryType,
- long * answer) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * ResourceForkFileLength()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- ResourceForkFileLength(
- ComponentInstance rfi,
- char * accessPath,
- long queryFlags,
- long * fileLength) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * ResourceForkOffsetAndLength64()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- ResourceForkOffsetAndLength64(
- ComponentInstance rfi,
- char * accessPath,
- long queryFlags,
- wide * dataOffset,
- wide * dataLength) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * ResourceForkFileLength64()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- ResourceForkFileLength64(
- ComponentInstance rfi,
- char * accessPath,
- long queryFlags,
- wide * fileLength) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0006, 0x7000, 0xA82A);
-
-
- /*.#ifndef forMergedInterfaces*/
-
-
- /* selectors for component calls */
- enum
- {
- kResourceForkPathNameMapSelect = 0x0001,
- kResourceForkOffsetAndLengthSelect = 0x0002,
- kResourceForkGetMethodInfoSelect = 0x0003,
- kResourceForkFileLengthSelect = 0x0004,
- kResourceForkOffsetAndLength64Select = 0x0005,
- kResourceForkFileLength64Select = 0x0006
- };
- /*.#endif forMergedInterfaces*/
+/*
+ * ResourceForkPathNameMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+ResourceForkPathNameMap(
+ ComponentInstance rfi,
+ char * inDataPath,
+ char * outRsrcPath,
+ unsigned long maxLen) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * ResourceForkOffsetAndLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+ResourceForkOffsetAndLength(
+ ComponentInstance rfi,
+ char * accessPath,
+ long queryFlags,
+ long * dataOffset,
+ long * dataLength) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * ResourceForkGetMethodInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+ResourceForkGetMethodInfo(
+ ComponentInstance rfi,
+ long queryFlags,
+ long queryType,
+ long * answer) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * ResourceForkFileLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+ResourceForkFileLength(
+ ComponentInstance rfi,
+ char * accessPath,
+ long queryFlags,
+ long * fileLength) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * ResourceForkOffsetAndLength64()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+ResourceForkOffsetAndLength64(
+ ComponentInstance rfi,
+ char * accessPath,
+ long queryFlags,
+ wide * dataOffset,
+ wide * dataLength) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * ResourceForkFileLength64()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+ResourceForkFileLength64(
+ ComponentInstance rfi,
+ char * accessPath,
+ long queryFlags,
+ wide * fileLength) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0006, 0x7000, 0xA82A);
+
+
+/*.#ifndef forMergedInterfaces*/
+
+
+/* selectors for component calls */
+enum {
+ kResourceForkPathNameMapSelect = 0x0001,
+ kResourceForkOffsetAndLengthSelect = 0x0002,
+ kResourceForkGetMethodInfoSelect = 0x0003,
+ kResourceForkFileLengthSelect = 0x0004,
+ kResourceForkOffsetAndLength64Select = 0x0005,
+ kResourceForkFileLength64Select = 0x0006
+};
+/*.#endif forMergedInterfaces*/
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Resources.h b/include/qt/Resources.h
index c4a2cfa27..62d523090 100644
--- a/include/qt/Resources.h
+++ b/include/qt/Resources.h
@@ -1,17 +1,17 @@
/*
File: Resources.h
-
+
Contains: Resource Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __RESOURCES__
#define __RESOURCES__
@@ -44,1099 +44,1087 @@ extern "C" {
#endif
- enum {
- resSysHeap = 64, /*System or application heap?*/
- resPurgeable = 32, /*Purgeable resource?*/
- resLocked = 16, /*Load it in locked?*/
- resProtected = 8, /*Protected?*/
- resPreload = 4, /*Load in on OpenResFile?*/
- resChanged = 2, /*Resource changed?*/
- mapReadOnly = 128, /*Resource file read-only*/
- mapCompact = 64, /*Compact resource file*/
- mapChanged = 32 /*Write map out at update*/
- };
-
- enum
- {
- resSysRefBit = 7, /*reference to system/local reference*/
- resSysHeapBit = 6, /*In system/in application heap*/
- resPurgeableBit = 5, /*Purgeable/not purgeable*/
- resLockedBit = 4, /*Locked/not locked*/
- resProtectedBit = 3, /*Protected/not protected*/
- resPreloadBit = 2, /*Read in at OpenResource?*/
- resChangedBit = 1, /*Existing resource changed since last update*/
- mapReadOnlyBit = 7, /*is this file read-only?*/
- mapCompactBit = 6, /*Is a compact necessary?*/
- mapChangedBit = 5 /*Is it necessary to write map?*/
- };
-
- enum
- {
- kResFileNotOpened = -1, /*ref num return as error when opening a resource file*/
- kSystemResFile = 0 /*this is the default ref num to the system file*/
- };
-
-
- typedef CALLBACK_API_REGISTER68K(void , ResErrProcPtr, (OSErr thErr));
- typedef REGISTER_UPP_TYPE(ResErrProcPtr) ResErrUPP;
- /*
- * NewResErrUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ResErrUPP)
- NewResErrUPP(ResErrProcPtr userRoutine);
+enum {
+ resSysHeap = 64, /*System or application heap?*/
+ resPurgeable = 32, /*Purgeable resource?*/
+ resLocked = 16, /*Load it in locked?*/
+ resProtected = 8, /*Protected?*/
+ resPreload = 4, /*Load in on OpenResFile?*/
+ resChanged = 2, /*Resource changed?*/
+ mapReadOnly = 128, /*Resource file read-only*/
+ mapCompact = 64, /*Compact resource file*/
+ mapChanged = 32 /*Write map out at update*/
+};
+
+enum {
+ resSysRefBit = 7, /*reference to system/local reference*/
+ resSysHeapBit = 6, /*In system/in application heap*/
+ resPurgeableBit = 5, /*Purgeable/not purgeable*/
+ resLockedBit = 4, /*Locked/not locked*/
+ resProtectedBit = 3, /*Protected/not protected*/
+ resPreloadBit = 2, /*Read in at OpenResource?*/
+ resChangedBit = 1, /*Existing resource changed since last update*/
+ mapReadOnlyBit = 7, /*is this file read-only?*/
+ mapCompactBit = 6, /*Is a compact necessary?*/
+ mapChangedBit = 5 /*Is it necessary to write map?*/
+};
+
+enum {
+ kResFileNotOpened = -1, /*ref num return as error when opening a resource file*/
+ kSystemResFile = 0 /*this is the default ref num to the system file*/
+};
+
+
+typedef CALLBACK_API_REGISTER68K( void , ResErrProcPtr, (OSErr thErr) );
+typedef REGISTER_UPP_TYPE(ResErrProcPtr) ResErrUPP;
+/*
+ * NewResErrUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ResErrUPP )
+NewResErrUPP(ResErrProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppResErrProcInfo = 0x00001002 }; /* register no_return_value Func(2_bytes:D0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ResErrUPP) NewResErrUPP(ResErrProcPtr userRoutine)
- {
- return (ResErrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppResErrProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewResErrUPP(userRoutine) (ResErrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppResErrProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppResErrProcInfo = 0x00001002 }; /* register no_return_value Func(2_bytes:D0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ResErrUPP) NewResErrUPP(ResErrProcPtr userRoutine) { return (ResErrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppResErrProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewResErrUPP(userRoutine) (ResErrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppResErrProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeResErrUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeResErrUPP(ResErrUPP userUPP);
+/*
+ * DisposeResErrUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeResErrUPP(ResErrUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeResErrUPP(ResErrUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeResErrUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeResErrUPP(ResErrUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeResErrUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeResErrUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * InvokeResErrUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeResErrUPP(__D0, __A0)
#endif
- EXTERN_API_C(void)
- InvokeResErrUPP(
- OSErr thErr,
- ResErrUPP userUPP) ONEWORDINLINE(0x4E90);
+EXTERN_API_C( void )
+InvokeResErrUPP(
+ OSErr thErr,
+ ResErrUPP userUPP) ONEWORDINLINE(0x4E90);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeResErrUPP(OSErr thErr, ResErrUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppResErrProcInfo, thErr);
- }
-#else
-#define InvokeResErrUPP(thErr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppResErrProcInfo, (thErr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeResErrUPP(OSErr thErr, ResErrUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppResErrProcInfo, thErr); }
+ #else
+ #define InvokeResErrUPP(thErr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppResErrProcInfo, (thErr))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewResErrProc(userRoutine) NewResErrUPP(userRoutine)
-#define CallResErrProc(userRoutine, thErr) InvokeResErrUPP(thErr, userRoutine)
+ #define NewResErrProc(userRoutine) NewResErrUPP(userRoutine)
+ #define CallResErrProc(userRoutine, thErr) InvokeResErrUPP(thErr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* QuickTime 3.0*/
- typedef CALLBACK_API(OSErr , ResourceEndianFilterPtr)(Handle theResource, Boolean currentlyNativeEndian);
+/* QuickTime 3.0*/
+typedef CALLBACK_API( OSErr , ResourceEndianFilterPtr )(Handle theResource, Boolean currentlyNativeEndian);
#if CALL_NOT_IN_CARBON
- /*
- * InitResources()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- InitResources(void) ONEWORDINLINE(0xA995);
-
-
- /*
- * RsrcZoneInit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- RsrcZoneInit(void) ONEWORDINLINE(0xA996);
+/*
+ * InitResources()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+InitResources(void) ONEWORDINLINE(0xA995);
+
+
+/*
+ * RsrcZoneInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+RsrcZoneInit(void) ONEWORDINLINE(0xA996);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * CloseResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- CloseResFile(short refNum) ONEWORDINLINE(0xA99A);
-
-
- /*
- * ResError()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ResError(void) ONEWORDINLINE(0xA9AF);
-
-
- /*
- * CurResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- CurResFile(void) ONEWORDINLINE(0xA994);
-
-
- /*
- * HomeResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- HomeResFile(Handle theResource) ONEWORDINLINE(0xA9A4);
+/*
+ * CloseResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+CloseResFile(short refNum) ONEWORDINLINE(0xA99A);
+
+
+/*
+ * ResError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ResError(void) ONEWORDINLINE(0xA9AF);
+
+
+/*
+ * CurResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+CurResFile(void) ONEWORDINLINE(0xA994);
+
+
+/*
+ * HomeResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+HomeResFile(Handle theResource) ONEWORDINLINE(0xA9A4);
#if CALL_NOT_IN_CARBON
- /*
- * CreateResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CreateResFile(ConstStr255Param fileName) ONEWORDINLINE(0xA9B1);
-
-
- /*
- * OpenResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- OpenResFile(ConstStr255Param fileName) ONEWORDINLINE(0xA997);
+/*
+ * CreateResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CreateResFile(ConstStr255Param fileName) ONEWORDINLINE(0xA9B1);
+
+
+/*
+ * OpenResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+OpenResFile(ConstStr255Param fileName) ONEWORDINLINE(0xA997);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * UseResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UseResFile(short refNum) ONEWORDINLINE(0xA998);
-
-
- /*
- * CountTypes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- CountTypes(void) ONEWORDINLINE(0xA99E);
-
-
- /*
- * Count1Types()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- Count1Types(void) ONEWORDINLINE(0xA81C);
-
-
- /*
- * GetIndType()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetIndType(
- ResType * theType,
- short index) ONEWORDINLINE(0xA99F);
-
-
- /*
- * Get1IndType()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Get1IndType(
- ResType * theType,
- short index) ONEWORDINLINE(0xA80F);
-
-
- /*
- * SetResLoad()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetResLoad(Boolean load) ONEWORDINLINE(0xA99B);
-
-
- /*
- * CountResources()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- CountResources(ResType theType) ONEWORDINLINE(0xA99C);
-
-
- /*
- * Count1Resources()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- Count1Resources(ResType theType) ONEWORDINLINE(0xA80D);
-
-
- /*
- * GetIndResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetIndResource(
- ResType theType,
- short index) ONEWORDINLINE(0xA99D);
-
-
- /*
- * Get1IndResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- Get1IndResource(
- ResType theType,
- short index) ONEWORDINLINE(0xA80E);
-
-
- /*
- * GetResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetResource(
- ResType theType,
- short theID) ONEWORDINLINE(0xA9A0);
-
-
- /*
- * Get1Resource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- Get1Resource(
- ResType theType,
- short theID) ONEWORDINLINE(0xA81F);
-
-
- /*
- * GetNamedResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetNamedResource(
- ResType theType,
- ConstStr255Param name) ONEWORDINLINE(0xA9A1);
-
-
- /*
- * Get1NamedResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- Get1NamedResource(
- ResType theType,
- ConstStr255Param name) ONEWORDINLINE(0xA820);
-
-
- /*
- * [Mac]LoadResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * UseResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UseResFile(short refNum) ONEWORDINLINE(0xA998);
+
+
+/*
+ * CountTypes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+CountTypes(void) ONEWORDINLINE(0xA99E);
+
+
+/*
+ * Count1Types()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+Count1Types(void) ONEWORDINLINE(0xA81C);
+
+
+/*
+ * GetIndType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetIndType(
+ ResType * theType,
+ short index) ONEWORDINLINE(0xA99F);
+
+
+/*
+ * Get1IndType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Get1IndType(
+ ResType * theType,
+ short index) ONEWORDINLINE(0xA80F);
+
+
+/*
+ * SetResLoad()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetResLoad(Boolean load) ONEWORDINLINE(0xA99B);
+
+
+/*
+ * CountResources()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+CountResources(ResType theType) ONEWORDINLINE(0xA99C);
+
+
+/*
+ * Count1Resources()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+Count1Resources(ResType theType) ONEWORDINLINE(0xA80D);
+
+
+/*
+ * GetIndResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetIndResource(
+ ResType theType,
+ short index) ONEWORDINLINE(0xA99D);
+
+
+/*
+ * Get1IndResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+Get1IndResource(
+ ResType theType,
+ short index) ONEWORDINLINE(0xA80E);
+
+
+/*
+ * GetResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetResource(
+ ResType theType,
+ short theID) ONEWORDINLINE(0xA9A0);
+
+
+/*
+ * Get1Resource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+Get1Resource(
+ ResType theType,
+ short theID) ONEWORDINLINE(0xA81F);
+
+
+/*
+ * GetNamedResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetNamedResource(
+ ResType theType,
+ ConstStr255Param name) ONEWORDINLINE(0xA9A1);
+
+
+/*
+ * Get1NamedResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+Get1NamedResource(
+ ResType theType,
+ ConstStr255Param name) ONEWORDINLINE(0xA820);
+
+
+/*
+ * [Mac]LoadResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacLoadResource LoadResource
+ #define MacLoadResource LoadResource
#endif
- EXTERN_API(void)
- MacLoadResource(Handle theResource) ONEWORDINLINE(0xA9A2);
-
-
- /*
- * ReleaseResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ReleaseResource(Handle theResource) ONEWORDINLINE(0xA9A3);
-
-
- /*
- * DetachResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- DetachResource(Handle theResource) ONEWORDINLINE(0xA992);
-
-
- /*
- * UniqueID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- UniqueID(ResType theType) ONEWORDINLINE(0xA9C1);
-
-
- /*
- * Unique1ID()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- Unique1ID(ResType theType) ONEWORDINLINE(0xA810);
-
-
- /*
- * GetResAttrs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetResAttrs(Handle theResource) ONEWORDINLINE(0xA9A6);
-
-
- /*
- * GetResInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetResInfo(
- Handle theResource,
- short * theID,
- ResType * theType,
- Str255 name) ONEWORDINLINE(0xA9A8);
-
-
- /*
- * SetResInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetResInfo(
- Handle theResource,
- short theID,
- ConstStr255Param name) ONEWORDINLINE(0xA9A9);
-
-
- /*
- * AddResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- AddResource(
- Handle theData,
- ResType theType,
- short theID,
- ConstStr255Param name) ONEWORDINLINE(0xA9AB);
-
-
- /*
- * GetResourceSizeOnDisk()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GetResourceSizeOnDisk(Handle theResource) ONEWORDINLINE(0xA9A5);
-
-
- /*
- * GetMaxResourceSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GetMaxResourceSize(Handle theResource) ONEWORDINLINE(0xA821);
+EXTERN_API( void )
+MacLoadResource(Handle theResource) ONEWORDINLINE(0xA9A2);
+
+
+/*
+ * ReleaseResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ReleaseResource(Handle theResource) ONEWORDINLINE(0xA9A3);
+
+
+/*
+ * DetachResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+DetachResource(Handle theResource) ONEWORDINLINE(0xA992);
+
+
+/*
+ * UniqueID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+UniqueID(ResType theType) ONEWORDINLINE(0xA9C1);
+
+
+/*
+ * Unique1ID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+Unique1ID(ResType theType) ONEWORDINLINE(0xA810);
+
+
+/*
+ * GetResAttrs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetResAttrs(Handle theResource) ONEWORDINLINE(0xA9A6);
+
+
+/*
+ * GetResInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetResInfo(
+ Handle theResource,
+ short * theID,
+ ResType * theType,
+ Str255 name) ONEWORDINLINE(0xA9A8);
+
+
+/*
+ * SetResInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetResInfo(
+ Handle theResource,
+ short theID,
+ ConstStr255Param name) ONEWORDINLINE(0xA9A9);
+
+
+/*
+ * AddResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+AddResource(
+ Handle theData,
+ ResType theType,
+ short theID,
+ ConstStr255Param name) ONEWORDINLINE(0xA9AB);
+
+
+/*
+ * GetResourceSizeOnDisk()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GetResourceSizeOnDisk(Handle theResource) ONEWORDINLINE(0xA9A5);
+
+
+/*
+ * GetMaxResourceSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GetMaxResourceSize(Handle theResource) ONEWORDINLINE(0xA821);
#if CALL_NOT_IN_CARBON
- /*
- * RsrcMapEntry()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long)
- RsrcMapEntry(Handle theResource) ONEWORDINLINE(0xA9C5);
+/*
+ * RsrcMapEntry()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long )
+RsrcMapEntry(Handle theResource) ONEWORDINLINE(0xA9C5);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SetResAttrs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetResAttrs(
- Handle theResource,
- short attrs) ONEWORDINLINE(0xA9A7);
-
-
- /*
- * ChangedResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ChangedResource(Handle theResource) ONEWORDINLINE(0xA9AA);
-
-
- /*
- * RemoveResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- RemoveResource(Handle theResource) ONEWORDINLINE(0xA9AD);
-
-
- /*
- * UpdateResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UpdateResFile(short refNum) ONEWORDINLINE(0xA999);
-
-
- /*
- * WriteResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- WriteResource(Handle theResource) ONEWORDINLINE(0xA9B0);
-
-
- /*
- * SetResPurge()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetResPurge(Boolean install) ONEWORDINLINE(0xA993);
-
-
- /*
- * GetResFileAttrs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetResFileAttrs(short refNum) ONEWORDINLINE(0xA9F6);
-
-
- /*
- * SetResFileAttrs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetResFileAttrs(
- short refNum,
- short attrs) ONEWORDINLINE(0xA9F7);
-
-
- /*
- * OpenRFPerm()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- OpenRFPerm(
- ConstStr255Param fileName,
- short vRefNum,
- SInt8 permission) ONEWORDINLINE(0xA9C4);
+/*
+ * SetResAttrs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetResAttrs(
+ Handle theResource,
+ short attrs) ONEWORDINLINE(0xA9A7);
+
+
+/*
+ * ChangedResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ChangedResource(Handle theResource) ONEWORDINLINE(0xA9AA);
+
+
+/*
+ * RemoveResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+RemoveResource(Handle theResource) ONEWORDINLINE(0xA9AD);
+
+
+/*
+ * UpdateResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UpdateResFile(short refNum) ONEWORDINLINE(0xA999);
+
+
+/*
+ * WriteResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+WriteResource(Handle theResource) ONEWORDINLINE(0xA9B0);
+
+
+/*
+ * SetResPurge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetResPurge(Boolean install) ONEWORDINLINE(0xA993);
+
+
+/*
+ * GetResFileAttrs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetResFileAttrs(short refNum) ONEWORDINLINE(0xA9F6);
+
+
+/*
+ * SetResFileAttrs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetResFileAttrs(
+ short refNum,
+ short attrs) ONEWORDINLINE(0xA9F7);
+
+
+/*
+ * OpenRFPerm()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+OpenRFPerm(
+ ConstStr255Param fileName,
+ short vRefNum,
+ SInt8 permission) ONEWORDINLINE(0xA9C4);
#if CALL_NOT_IN_CARBON
- /*
- * RGetResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Handle)
- RGetResource(
- ResType theType,
- short theID) ONEWORDINLINE(0xA80C);
+/*
+ * RGetResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle )
+RGetResource(
+ ResType theType,
+ short theID) ONEWORDINLINE(0xA80C);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * HOpenResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- HOpenResFile(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName,
- SInt8 permission) ONEWORDINLINE(0xA81A);
-
-
- /*
- * HCreateResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- HCreateResFile(
- short vRefNum,
- long dirID,
- ConstStr255Param fileName) ONEWORDINLINE(0xA81B);
-
-
- /*
- * FSpOpenResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- FSpOpenResFile(
- const FSSpec * spec,
- SignedByte permission) TWOWORDINLINE(0x700D, 0xAA52);
-
-
- /*
- * FSpCreateResFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FSpCreateResFile(
- const FSSpec * spec,
- OSType creator,
- OSType fileType,
- ScriptCode scriptTag) TWOWORDINLINE(0x700E, 0xAA52);
-
-
- /*
- * ReadPartialResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ReadPartialResource(
- Handle theResource,
- long offset,
- void * buffer,
- long count) TWOWORDINLINE(0x7001, 0xA822);
-
-
- /*
- * WritePartialResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- WritePartialResource(
- Handle theResource,
- long offset,
- const void * buffer,
- long count) TWOWORDINLINE(0x7002, 0xA822);
-
-
- /*
- * SetResourceSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetResourceSize(
- Handle theResource,
- long newSize) TWOWORDINLINE(0x7003, 0xA822);
-
-
- /*
- * GetNextFOND()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetNextFOND(Handle fondHandle) TWOWORDINLINE(0x700A, 0xA822);
-
-
- /* QuickTime 3.0*/
+/*
+ * HOpenResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+HOpenResFile(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName,
+ SInt8 permission) ONEWORDINLINE(0xA81A);
+
+
+/*
+ * HCreateResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+HCreateResFile(
+ short vRefNum,
+ long dirID,
+ ConstStr255Param fileName) ONEWORDINLINE(0xA81B);
+
+
+/*
+ * FSpOpenResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+FSpOpenResFile(
+ const FSSpec * spec,
+ SignedByte permission) TWOWORDINLINE(0x700D, 0xAA52);
+
+
+/*
+ * FSpCreateResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FSpCreateResFile(
+ const FSSpec * spec,
+ OSType creator,
+ OSType fileType,
+ ScriptCode scriptTag) TWOWORDINLINE(0x700E, 0xAA52);
+
+
+/*
+ * ReadPartialResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ReadPartialResource(
+ Handle theResource,
+ long offset,
+ void * buffer,
+ long count) TWOWORDINLINE(0x7001, 0xA822);
+
+
+/*
+ * WritePartialResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+WritePartialResource(
+ Handle theResource,
+ long offset,
+ const void * buffer,
+ long count) TWOWORDINLINE(0x7002, 0xA822);
+
+
+/*
+ * SetResourceSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetResourceSize(
+ Handle theResource,
+ long newSize) TWOWORDINLINE(0x7003, 0xA822);
+
+
+/*
+ * GetNextFOND()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetNextFOND(Handle fondHandle) TWOWORDINLINE(0x700A, 0xA822);
+
+
+/* QuickTime 3.0*/
#if CALL_NOT_IN_CARBON
- /*
- * RegisterResourceEndianFilter()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- RegisterResourceEndianFilter(
- ResType theType,
- ResourceEndianFilterPtr theFilterProc);
-
-
- /* Use TempInsertROMMap to force the ROM resource map to be
- inserted into the chain in front of the system. Note that
- this call is only temporary - the modified resource chain
- is only used for the next call to the resource manager.
- See IM IV 19 for more information.
- */
- /*
- * TempInsertROMMap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- TempInsertROMMap(Boolean tempResLoad) FIVEWORDINLINE(0x70FF, 0x4A1F, 0x56C0, 0x31C0, 0x0B9E);
-
-
- /*
- _________________________________________________________________________________________________________
-
- o RESOURCE CHAIN LOCATION - for use with the Resource Manager chain manipulation routines under Carbon.
- _________________________________________________________________________________________________________
- */
+/*
+ * RegisterResourceEndianFilter()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+RegisterResourceEndianFilter(
+ ResType theType,
+ ResourceEndianFilterPtr theFilterProc);
+
+
+/* Use TempInsertROMMap to force the ROM resource map to be
+ inserted into the chain in front of the system. Note that
+ this call is only temporary - the modified resource chain
+ is only used for the next call to the resource manager.
+ See IM IV 19 for more information.
+*/
+/*
+ * TempInsertROMMap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+TempInsertROMMap(Boolean tempResLoad) FIVEWORDINLINE(0x70FF, 0x4A1F, 0x56C0, 0x31C0, 0x0B9E);
+
+
+/*
+ _________________________________________________________________________________________________________
+
+ o RESOURCE CHAIN LOCATION - for use with the Resource Manager chain manipulation routines under Carbon.
+ _________________________________________________________________________________________________________
+*/
#endif /* CALL_NOT_IN_CARBON */
- typedef SInt16 RsrcChainLocation;
- enum
- {
- kRsrcChainBelowSystemMap = 0, /* Below the system's resource map*/
- kRsrcChainBelowApplicationMap = 1, /* Below the application's resource map*/
- kRsrcChainAboveApplicationMap = 2, /* Above the application's resource map*/
- kRsrcChainAboveAllMaps = 4 /* Above all resource maps*/
- };
-
- /*
- If the file is already in the resource chain, it is removed and re-inserted at the specified location
- If the file has been detached, it is added to the resource chain at the specified location
- Returns resFNotFound if it's not currently open.
- */
- /*
- * InsertResourceFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- InsertResourceFile(
- SInt16 refNum,
- RsrcChainLocation where);
-
-
- /*
- If the file is not currently in the resource chain, this returns resNotFound
- Otherwise, the resource file is removed from the resource chain.
- */
- /*
- * DetachResourceFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DetachResourceFile(SInt16 refNum);
-
-
- /*
- Returns true if the resource file is already open and known by the Resource Manager (i.e., it is
- either in the current resource chain or it's a detached resource file.) If it's in the resource
- chain, the inChain Boolean is set to true on exit and true is returned. If it's an open file, but
- the file is currently detached, inChain is set to false and true is returned. If the file is open,
- the refNum to the file is returned.
- */
- /*
- * FSpResourceFileAlreadyOpen()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- FSpResourceFileAlreadyOpen(
- const FSSpec * resourceFile,
- Boolean * inChain,
- SInt16 * refNum) TWOWORDINLINE(0x7010, 0xA822);
-
-
- /*
- FSpOpenOrphanResFile should be used to open a resource file that is persistent across all contexts,
- because using OpenResFile normally loads a map and all preloaded resources into the application
- context. FSpOpenOrphanResFile loads everything into the system context and detaches the file
- from the context in which it was opened. If the file is already in the resource chain and a new
- instance is not opened, FSpOpenOrphanResFile will return a paramErr.
- Use with care, as can and will fail if the map is very large or a lot of preload
- resources exist.
- */
- /*
- * FSpOpenOrphanResFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSpOpenOrphanResFile(
- const FSSpec * spec,
- SignedByte permission,
- SInt16 * refNum);
-
-
- /*
- GetTopResourceFile returns the refNum of the top most resource map in the current resource chain. If
- the resource chain is empty it returns resFNotFound.
- */
- /*
- * GetTopResourceFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetTopResourceFile(SInt16 * refNum);
-
-
- /*
- GetNextResourceFile can be used to iterate over resource files in the resource chain. By passing a
- valid refNum in curRefNum it will return in nextRefNum the refNum of the next file in
- the chain. If curRefNum is not found in the resource chain, GetNextResourceFile returns resFNotFound.
- When the end of the chain is reached GetNextResourceFile will return noErr and nextRefNum will be NIL.
- */
- /*
- * GetNextResourceFile()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetNextResourceFile(
- SInt16 curRefNum,
- SInt16 * nextRefNum);
+typedef SInt16 RsrcChainLocation;
+enum {
+ kRsrcChainBelowSystemMap = 0, /* Below the system's resource map*/
+ kRsrcChainBelowApplicationMap = 1, /* Below the application's resource map*/
+ kRsrcChainAboveApplicationMap = 2, /* Above the application's resource map*/
+ kRsrcChainAboveAllMaps = 4 /* Above all resource maps*/
+};
+
+/*
+ If the file is already in the resource chain, it is removed and re-inserted at the specified location
+ If the file has been detached, it is added to the resource chain at the specified location
+ Returns resFNotFound if it's not currently open.
+*/
+/*
+ * InsertResourceFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+InsertResourceFile(
+ SInt16 refNum,
+ RsrcChainLocation where);
+
+
+/*
+ If the file is not currently in the resource chain, this returns resNotFound
+ Otherwise, the resource file is removed from the resource chain.
+*/
+/*
+ * DetachResourceFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DetachResourceFile(SInt16 refNum);
+
+
+/*
+ Returns true if the resource file is already open and known by the Resource Manager (i.e., it is
+ either in the current resource chain or it's a detached resource file.) If it's in the resource
+ chain, the inChain Boolean is set to true on exit and true is returned. If it's an open file, but
+ the file is currently detached, inChain is set to false and true is returned. If the file is open,
+ the refNum to the file is returned.
+*/
+/*
+ * FSpResourceFileAlreadyOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+FSpResourceFileAlreadyOpen(
+ const FSSpec * resourceFile,
+ Boolean * inChain,
+ SInt16 * refNum) TWOWORDINLINE(0x7010, 0xA822);
+
+
+/*
+ FSpOpenOrphanResFile should be used to open a resource file that is persistent across all contexts,
+ because using OpenResFile normally loads a map and all preloaded resources into the application
+ context. FSpOpenOrphanResFile loads everything into the system context and detaches the file
+ from the context in which it was opened. If the file is already in the resource chain and a new
+ instance is not opened, FSpOpenOrphanResFile will return a paramErr.
+ Use with care, as can and will fail if the map is very large or a lot of preload
+ resources exist.
+*/
+/*
+ * FSpOpenOrphanResFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSpOpenOrphanResFile(
+ const FSSpec * spec,
+ SignedByte permission,
+ SInt16 * refNum);
+
+
+/*
+ GetTopResourceFile returns the refNum of the top most resource map in the current resource chain. If
+ the resource chain is empty it returns resFNotFound.
+*/
+/*
+ * GetTopResourceFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetTopResourceFile(SInt16 * refNum);
+
+
+/*
+ GetNextResourceFile can be used to iterate over resource files in the resource chain. By passing a
+ valid refNum in curRefNum it will return in nextRefNum the refNum of the next file in
+ the chain. If curRefNum is not found in the resource chain, GetNextResourceFile returns resFNotFound.
+ When the end of the chain is reached GetNextResourceFile will return noErr and nextRefNum will be NIL.
+*/
+/*
+ * GetNextResourceFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetNextResourceFile(
+ SInt16 curRefNum,
+ SInt16 * nextRefNum);
#if CALL_NOT_IN_CARBON
- /*
- * getnamedresource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Handle)
- getnamedresource(
- ResType theType,
- const char * name);
-
-
- /*
- * get1namedresource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Handle)
- get1namedresource(
- ResType theType,
- const char * name);
-
-
- /*
- * openrfperm()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- openrfperm(
- const char * fileName,
- short vRefNum,
- char permission);
-
-
- /*
- * openresfile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- openresfile(const char * fileName);
-
-
- /*
- * createresfile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- createresfile(const char * fileName);
-
-
- /*
- * getresinfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getresinfo(
- Handle theResource,
- short * theID,
- ResType * theType,
- char * name);
-
-
- /*
- * setresinfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- setresinfo(
- Handle theResource,
- short theID,
- const char * name);
-
-
- /*
- * addresource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- addresource(
- Handle theResource,
- ResType theType,
- short theID,
- const char * name);
+/*
+ * getnamedresource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Handle )
+getnamedresource(
+ ResType theType,
+ const char * name);
+
+
+/*
+ * get1namedresource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Handle )
+get1namedresource(
+ ResType theType,
+ const char * name);
+
+
+/*
+ * openrfperm()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+openrfperm(
+ const char * fileName,
+ short vRefNum,
+ char permission);
+
+
+/*
+ * openresfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+openresfile(const char * fileName);
+
+
+/*
+ * createresfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+createresfile(const char * fileName);
+
+
+/*
+ * getresinfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getresinfo(
+ Handle theResource,
+ short * theID,
+ ResType * theType,
+ char * name);
+
+
+/*
+ * setresinfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+setresinfo(
+ Handle theResource,
+ short theID,
+ const char * name);
+
+
+/*
+ * addresource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+addresource(
+ Handle theResource,
+ ResType theType,
+ short theID,
+ const char * name);
#endif /* CALL_NOT_IN_CARBON */
@@ -1147,167 +1135,167 @@ extern "C" {
#define RmveResource(theResource) RemoveResource(theResource)
#endif /* OLDROUTINENAMES */
- /*
- * FSCreateResourceFile()
- *
- * Summary:
- * Creates a new resource file.
- *
- * Discussion:
- * This function creates a new file and initializes the specified
- * named fork as an empty resource fork. This function allows for
- * the creation of data fork only files which can be used for
- * storing resources. Passing in a null name defaults to using the
- * data fork.
- *
- * Parameters:
- *
- * parentRef:
- * The directory where the file is to be created
- *
- * nameLength:
- * Number of Unicode characters in the file's name
- *
- * name:
- * A pointer to the Unicode name
- *
- * whichInfo:
- * Which catalog info fields to set
- *
- * catalogInfo:
- * The values for catalog info fields to set; may be NULL
- *
- * forkNameLength:
- * The length of the fork name (in Unicode characters)
- *
- * forkName:
- * The name of the fork to initialize (in Unicode); may be NULL
- *
- * newRef:
- * A pointer to the FSRef for the new file; may be NULL
- *
- * newSpec:
- * A pointer to the FSSpec for the new directory; may be NULL
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSCreateResourceFile(
- const FSRef * parentRef,
- UniCharCount nameLength,
- const UniChar * name,
- FSCatalogInfoBitmap whichInfo,
- const FSCatalogInfo * catalogInfo, /* can be NULL */
- UniCharCount forkNameLength,
- const UniChar * forkName, /* can be NULL */
- FSRef * newRef, /* can be NULL */
- FSSpec * newSpec); /* can be NULL */
-
-
-
- /*
- * FSCreateResourceFork()
- *
- * Summary:
- * Creates the named forked and initializes it as an empty resource
- * fork.
- *
- * Discussion:
- * This function allows a resource fork to be added to an existing
- * file. Passing in a null forkname will result in the data fork
- * being used. If the named fork already exists this function does
- * nothing and returns errFSForkExists.
- *
- * Parameters:
- *
- * ref:
- * The file to add the fork to
- *
- * forkNameLength:
- * The length of the fork name (in Unicode characters)
- *
- * forkName:
- * The name of the fork to open (in Unicode); may be NULL
- *
- * flags:
- * Pass in zero
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSErr)
- FSCreateResourceFork(
- const FSRef * ref,
- UniCharCount forkNameLength,
- const UniChar * forkName, /* can be NULL */
- UInt32 flags);
-
-
- /*
- * FSOpenResourceFile()
- *
- * Summary:
- * Opens the specified named fork as a resource fork.
- *
- * Discussion:
- * This function allows any named fork of a file to be used for
- * storing resources. Passing in a null forkname will result in the
- * data fork being used.
- *
- * Parameters:
- *
- * ref:
- * The file containing the fork to open
- *
- * forkNameLength:
- * The length of the fork name (in Unicode characters)
- *
- * forkName:
- * The name of the fork to open (in Unicode); may be NULL
- *
- * permissions:
- * The access (read and/or write) you want
- *
- * refNum:
- * On exit the reference number for accessing the open fork
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FSOpenResourceFile(
- const FSRef * ref,
- UniCharCount forkNameLength,
- const UniChar * forkName, /* can be NULL */
- SInt8 permissions,
- SInt16 * refNum);
-
-
- /*
- These typedefs were originally created for the Copland Resource Mangager
- */
- typedef short ResFileRefNum;
- typedef short ResID;
- typedef short ResAttributes;
- typedef short ResFileAttributes;
+/*
+ * FSCreateResourceFile()
+ *
+ * Summary:
+ * Creates a new resource file.
+ *
+ * Discussion:
+ * This function creates a new file and initializes the specified
+ * named fork as an empty resource fork. This function allows for
+ * the creation of data fork only files which can be used for
+ * storing resources. Passing in a null name defaults to using the
+ * data fork.
+ *
+ * Parameters:
+ *
+ * parentRef:
+ * The directory where the file is to be created
+ *
+ * nameLength:
+ * Number of Unicode characters in the file's name
+ *
+ * name:
+ * A pointer to the Unicode name
+ *
+ * whichInfo:
+ * Which catalog info fields to set
+ *
+ * catalogInfo:
+ * The values for catalog info fields to set; may be NULL
+ *
+ * forkNameLength:
+ * The length of the fork name (in Unicode characters)
+ *
+ * forkName:
+ * The name of the fork to initialize (in Unicode); may be NULL
+ *
+ * newRef:
+ * A pointer to the FSRef for the new file; may be NULL
+ *
+ * newSpec:
+ * A pointer to the FSSpec for the new directory; may be NULL
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSCreateResourceFile(
+ const FSRef * parentRef,
+ UniCharCount nameLength,
+ const UniChar * name,
+ FSCatalogInfoBitmap whichInfo,
+ const FSCatalogInfo * catalogInfo, /* can be NULL */
+ UniCharCount forkNameLength,
+ const UniChar * forkName, /* can be NULL */
+ FSRef * newRef, /* can be NULL */
+ FSSpec * newSpec); /* can be NULL */
+
+
+
+/*
+ * FSCreateResourceFork()
+ *
+ * Summary:
+ * Creates the named forked and initializes it as an empty resource
+ * fork.
+ *
+ * Discussion:
+ * This function allows a resource fork to be added to an existing
+ * file. Passing in a null forkname will result in the data fork
+ * being used. If the named fork already exists this function does
+ * nothing and returns errFSForkExists.
+ *
+ * Parameters:
+ *
+ * ref:
+ * The file to add the fork to
+ *
+ * forkNameLength:
+ * The length of the fork name (in Unicode characters)
+ *
+ * forkName:
+ * The name of the fork to open (in Unicode); may be NULL
+ *
+ * flags:
+ * Pass in zero
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSErr )
+FSCreateResourceFork(
+ const FSRef * ref,
+ UniCharCount forkNameLength,
+ const UniChar * forkName, /* can be NULL */
+ UInt32 flags);
+
+
+/*
+ * FSOpenResourceFile()
+ *
+ * Summary:
+ * Opens the specified named fork as a resource fork.
+ *
+ * Discussion:
+ * This function allows any named fork of a file to be used for
+ * storing resources. Passing in a null forkname will result in the
+ * data fork being used.
+ *
+ * Parameters:
+ *
+ * ref:
+ * The file containing the fork to open
+ *
+ * forkNameLength:
+ * The length of the fork name (in Unicode characters)
+ *
+ * forkName:
+ * The name of the fork to open (in Unicode); may be NULL
+ *
+ * permissions:
+ * The access (read and/or write) you want
+ *
+ * refNum:
+ * On exit the reference number for accessing the open fork
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FSOpenResourceFile(
+ const FSRef * ref,
+ UniCharCount forkNameLength,
+ const UniChar * forkName, /* can be NULL */
+ SInt8 permissions,
+ SInt16 * refNum);
+
+
+/*
+ These typedefs were originally created for the Copland Resource Mangager
+*/
+typedef short ResFileRefNum;
+typedef short ResID;
+typedef short ResAttributes;
+typedef short ResFileAttributes;
#if CALL_NOT_IN_CARBON
- /*
- * SortResourceFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.2 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SortResourceFile(short resFileRefNum) TWOWORDINLINE(0x7016, 0xA822);
+/*
+ * SortResourceFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.2 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SortResourceFile(short resFileRefNum) TWOWORDINLINE(0x7016, 0xA822);
diff --git a/include/qt/Retrace.h b/include/qt/Retrace.h
index e98bab130..7e120a78d 100644
--- a/include/qt/Retrace.h
+++ b/include/qt/Retrace.h
@@ -1,18 +1,18 @@
/*
File: Retrace.h
-
+
Contains: Vertical Retrace Interfaces.
-
+
Version: Technology: System 7.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-1993, 1995-1999 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 __RETRACE__
#define __RETRACE__
@@ -41,210 +41,200 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef struct VBLTask VBLTask;
- typedef VBLTask * VBLTaskPtr;
- typedef CALLBACK_API_REGISTER68K(void , VBLProcPtr, (VBLTaskPtr vblTaskPtr));
- typedef REGISTER_UPP_TYPE(VBLProcPtr) VBLUPP;
- struct VBLTask
- {
- QElemPtr qLink;
- short qType;
- VBLUPP vblAddr;
- short vblCount;
- short vblPhase;
- };
+typedef struct VBLTask VBLTask;
+typedef VBLTask * VBLTaskPtr;
+typedef CALLBACK_API_REGISTER68K( void , VBLProcPtr, (VBLTaskPtr vblTaskPtr) );
+typedef REGISTER_UPP_TYPE(VBLProcPtr) VBLUPP;
+struct VBLTask {
+ QElemPtr qLink;
+ short qType;
+ VBLUPP vblAddr;
+ short vblCount;
+ short vblPhase;
+};
#if CALL_NOT_IN_CARBON
- /*
- * NewVBLUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(VBLUPP)
- NewVBLUPP(VBLProcPtr userRoutine);
+/*
+ * NewVBLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( VBLUPP )
+NewVBLUPP(VBLProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppVBLProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(VBLUPP) NewVBLUPP(VBLProcPtr userRoutine)
- {
- return (VBLUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVBLProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewVBLUPP(userRoutine) (VBLUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVBLProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppVBLProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(VBLUPP) NewVBLUPP(VBLProcPtr userRoutine) { return (VBLUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVBLProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewVBLUPP(userRoutine) (VBLUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVBLProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeVBLUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeVBLUPP(VBLUPP userUPP);
+/*
+ * DisposeVBLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeVBLUPP(VBLUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeVBLUPP(VBLUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeVBLUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeVBLUPP(VBLUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeVBLUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeVBLUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InvokeVBLUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeVBLUPP(__A0, __A1)
#endif
- EXTERN_API_C(void)
- InvokeVBLUPP(
- VBLTaskPtr vblTaskPtr,
- VBLUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( void )
+InvokeVBLUPP(
+ VBLTaskPtr vblTaskPtr,
+ VBLUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeVBLUPP(VBLTaskPtr vblTaskPtr, VBLUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppVBLProcInfo, vblTaskPtr);
- }
-#else
-#define InvokeVBLUPP(vblTaskPtr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppVBLProcInfo, (vblTaskPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeVBLUPP(VBLTaskPtr vblTaskPtr, VBLUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppVBLProcInfo, vblTaskPtr); }
+ #else
+ #define InvokeVBLUPP(vblTaskPtr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppVBLProcInfo, (vblTaskPtr))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewVBLProc(userRoutine) NewVBLUPP(userRoutine)
-#define CallVBLProc(userRoutine, vblTaskPtr) InvokeVBLUPP(vblTaskPtr, userRoutine)
+ #define NewVBLProc(userRoutine) NewVBLUPP(userRoutine)
+ #define CallVBLProc(userRoutine, vblTaskPtr) InvokeVBLUPP(vblTaskPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
#if CALL_NOT_IN_CARBON
- /*
- * GetVBLQHdr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(QHdrPtr)
- GetVBLQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x0160);
-
-
- /*
- * SlotVInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * GetVBLQHdr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( QHdrPtr )
+GetVBLQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x0160);
+
+
+/*
+ * SlotVInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SlotVInstall(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- SlotVInstall(
- QElemPtr vblBlockPtr,
- short theSlot) ONEWORDINLINE(0xA06F);
-
-
- /*
- * SlotVRemove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SlotVInstall(
+ QElemPtr vblBlockPtr,
+ short theSlot) ONEWORDINLINE(0xA06F);
+
+
+/*
+ * SlotVRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SlotVRemove(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- SlotVRemove(
- QElemPtr vblBlockPtr,
- short theSlot) ONEWORDINLINE(0xA070);
-
-
- /*
- * AttachVBL()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SlotVRemove(
+ QElemPtr vblBlockPtr,
+ short theSlot) ONEWORDINLINE(0xA070);
+
+
+/*
+ * AttachVBL()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 AttachVBL(__D0)
#endif
- EXTERN_API(OSErr)
- AttachVBL(short theSlot) ONEWORDINLINE(0xA071);
-
-
- /*
- * DoVBLTask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+AttachVBL(short theSlot) ONEWORDINLINE(0xA071);
+
+
+/*
+ * DoVBLTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 DoVBLTask(__D0)
#endif
- EXTERN_API(OSErr)
- DoVBLTask(short theSlot) ONEWORDINLINE(0xA072);
-
-
- /*
- * VInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+DoVBLTask(short theSlot) ONEWORDINLINE(0xA072);
+
+
+/*
+ * VInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 VInstall(__A0)
#endif
- EXTERN_API(OSErr)
- VInstall(QElemPtr vblTaskPtr) ONEWORDINLINE(0xA033);
-
-
- /*
- * VRemove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+VInstall(QElemPtr vblTaskPtr) ONEWORDINLINE(0xA033);
+
+
+/*
+ * VRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 VRemove(__A0)
#endif
- EXTERN_API(OSErr)
- VRemove(QElemPtr vblTaskPtr) ONEWORDINLINE(0xA034);
+EXTERN_API( OSErr )
+VRemove(QElemPtr vblTaskPtr) ONEWORDINLINE(0xA034);
#endif /* CALL_NOT_IN_CARBON */
@@ -253,11 +243,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/SCSI.h b/include/qt/SCSI.h
index 5a9e6ba65..afea3c200 100644
--- a/include/qt/SCSI.h
+++ b/include/qt/SCSI.h
@@ -1,17 +1,17 @@
/*
File: SCSI.h
-
+
Contains: SCSI Family Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1986-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SCSI__
#define __SCSI__
@@ -44,950 +44,862 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* SCSI Manager errors. These are generated by Inside Mac IV calls only. */
- enum {
- scCommErr = 2, /* communications error, operation timeout */
- scArbNBErr = 3, /* arbitration timeout waiting for not BSY */
- scBadParmsErr = 4, /* bad parameter or TIB opcode */
- scPhaseErr = 5, /* SCSI bus not in correct phase for attempted operation */
- scCompareErr = 6, /* data compare error */
- scMgrBusyErr = 7, /* SCSI Manager busy */
- scSequenceErr = 8, /* attempted operation is out of sequence */
- scBusTOErr = 9, /* CPU bus timeout */
- scComplPhaseErr = 10 /* SCSI bus wasn't in Status phase */
- };
-
- /* TIB opcodes */
- enum
- {
- scInc = 1,
- scNoInc = 2,
- scAdd = 3,
- scMove = 4,
- scLoop = 5,
- scNop = 6,
- scStop = 7,
- scComp = 8
- };
-
- /*
- * All disk partition structures and definitions are now in the
- * AppleDiskPartitions.h/p/a files.
- */
- /* TIB instruction */
- struct SCSIInstr
- {
- unsigned short scOpcode;
- long scParam1;
- long scParam2;
- };
- typedef struct SCSIInstr SCSIInstr;
- /* SCSI Phases (used by SIMs to support the Original SCSI Manager */
- enum
- {
- kDataOutPhase = 0, /* Encoded MSG, C/D, I/O bits */
- kDataInPhase = 1,
- kCommandPhase = 2,
- kStatusPhase = 3,
- kPhaseIllegal0 = 4,
- kPhaseIllegal1 = 5,
- kMessageOutPhase = 6,
- kMessageInPhase = 7,
- kBusFreePhase = 8, /* Additional Phases */
- kArbitratePhase = 9,
- kSelectPhase = 10,
- kMessageInPhaseNACK = 11 /* Message In Phase with ACK hanging on the bus */
- };
+/* SCSI Manager errors. These are generated by Inside Mac IV calls only. */
+enum {
+ scCommErr = 2, /* communications error, operation timeout */
+ scArbNBErr = 3, /* arbitration timeout waiting for not BSY */
+ scBadParmsErr = 4, /* bad parameter or TIB opcode */
+ scPhaseErr = 5, /* SCSI bus not in correct phase for attempted operation */
+ scCompareErr = 6, /* data compare error */
+ scMgrBusyErr = 7, /* SCSI Manager busy */
+ scSequenceErr = 8, /* attempted operation is out of sequence */
+ scBusTOErr = 9, /* CPU bus timeout */
+ scComplPhaseErr = 10 /* SCSI bus wasn't in Status phase */
+};
+
+/* TIB opcodes */
+enum {
+ scInc = 1,
+ scNoInc = 2,
+ scAdd = 3,
+ scMove = 4,
+ scLoop = 5,
+ scNop = 6,
+ scStop = 7,
+ scComp = 8
+};
+
+/*
+ * All disk partition structures and definitions are now in the
+ * AppleDiskPartitions.h/p/a files.
+ */
+/* TIB instruction */
+struct SCSIInstr {
+ unsigned short scOpcode;
+ long scParam1;
+ long scParam2;
+};
+typedef struct SCSIInstr SCSIInstr;
+/* SCSI Phases (used by SIMs to support the Original SCSI Manager */
+enum {
+ kDataOutPhase = 0, /* Encoded MSG, C/D, I/O bits */
+ kDataInPhase = 1,
+ kCommandPhase = 2,
+ kStatusPhase = 3,
+ kPhaseIllegal0 = 4,
+ kPhaseIllegal1 = 5,
+ kMessageOutPhase = 6,
+ kMessageInPhase = 7,
+ kBusFreePhase = 8, /* Additional Phases */
+ kArbitratePhase = 9,
+ kSelectPhase = 10,
+ kMessageInPhaseNACK = 11 /* Message In Phase with ACK hanging on the bus */
+};
#if CALL_NOT_IN_CARBON
- /*
- * SCSIReset()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIReset(void) TWOWORDINLINE(0x4267, 0xA815);
-
-
- /*
- * SCSIGet()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIGet(void) THREEWORDINLINE(0x3F3C, 0x0001, 0xA815);
-
-
- /*
- * SCSISelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSISelect(short targetID) THREEWORDINLINE(0x3F3C, 0x0002, 0xA815);
-
-
- /*
- * SCSICmd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSICmd(
- Ptr buffer,
- short count) THREEWORDINLINE(0x3F3C, 0x0003, 0xA815);
-
-
- /*
- * SCSIRead()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIRead(Ptr tibPtr) THREEWORDINLINE(0x3F3C, 0x0005, 0xA815);
-
-
- /*
- * SCSIRBlind()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIRBlind(Ptr tibPtr) THREEWORDINLINE(0x3F3C, 0x0008, 0xA815);
-
-
- /*
- * SCSIWrite()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIWrite(Ptr tibPtr) THREEWORDINLINE(0x3F3C, 0x0006, 0xA815);
-
-
- /*
- * SCSIWBlind()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIWBlind(Ptr tibPtr) THREEWORDINLINE(0x3F3C, 0x0009, 0xA815);
-
-
- /*
- * SCSIComplete()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIComplete(
- short * stat,
- short * message,
- unsigned long wait) THREEWORDINLINE(0x3F3C, 0x0004, 0xA815);
-
-
- /*
- * SCSIStat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- SCSIStat(void) THREEWORDINLINE(0x3F3C, 0x000A, 0xA815);
-
-
- /*
- * SCSISelAtn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSISelAtn(short targetID) THREEWORDINLINE(0x3F3C, 0x000B, 0xA815);
-
-
- /*
- * SCSIMsgIn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIMsgIn(short * message) THREEWORDINLINE(0x3F3C, 0x000C, 0xA815);
-
-
- /*
- * SCSIMsgOut()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SCSIMsgOut(short message) THREEWORDINLINE(0x3F3C, 0x000D, 0xA815);
+/*
+ * SCSIReset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIReset(void) TWOWORDINLINE(0x4267, 0xA815);
+
+
+/*
+ * SCSIGet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIGet(void) THREEWORDINLINE(0x3F3C, 0x0001, 0xA815);
+
+
+/*
+ * SCSISelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSISelect(short targetID) THREEWORDINLINE(0x3F3C, 0x0002, 0xA815);
+
+
+/*
+ * SCSICmd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSICmd(
+ Ptr buffer,
+ short count) THREEWORDINLINE(0x3F3C, 0x0003, 0xA815);
+
+
+/*
+ * SCSIRead()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIRead(Ptr tibPtr) THREEWORDINLINE(0x3F3C, 0x0005, 0xA815);
+
+
+/*
+ * SCSIRBlind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIRBlind(Ptr tibPtr) THREEWORDINLINE(0x3F3C, 0x0008, 0xA815);
+
+
+/*
+ * SCSIWrite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIWrite(Ptr tibPtr) THREEWORDINLINE(0x3F3C, 0x0006, 0xA815);
+
+
+/*
+ * SCSIWBlind()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIWBlind(Ptr tibPtr) THREEWORDINLINE(0x3F3C, 0x0009, 0xA815);
+
+
+/*
+ * SCSIComplete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIComplete(
+ short * stat,
+ short * message,
+ unsigned long wait) THREEWORDINLINE(0x3F3C, 0x0004, 0xA815);
+
+
+/*
+ * SCSIStat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+SCSIStat(void) THREEWORDINLINE(0x3F3C, 0x000A, 0xA815);
+
+
+/*
+ * SCSISelAtn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSISelAtn(short targetID) THREEWORDINLINE(0x3F3C, 0x000B, 0xA815);
+
+
+/*
+ * SCSIMsgIn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIMsgIn(short * message) THREEWORDINLINE(0x3F3C, 0x000C, 0xA815);
+
+
+/*
+ * SCSIMsgOut()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SCSIMsgOut(short message) THREEWORDINLINE(0x3F3C, 0x000D, 0xA815);
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- scsiVERSION = 43
- };
-
-
- /*
- * SCSI Callback Procedure Prototypes. Several of these are only callable
- * from SCSI Manager 4.3 SIM and XPT contexts.
- */
- typedef CALLBACK_API_C(void , AENCallbackProcPtr)(void);
- typedef CALLBACK_API_C(OSErr , SIMInitProcPtr)(Ptr SIMinfoPtr);
- typedef CALLBACK_API_C(void , SIMActionProcPtr)(void *scsiPB, Ptr SIMGlobals);
- typedef CALLBACK_API_C(void , SCSIProcPtr)(void);
- typedef CALLBACK_API_C(void , SCSIMakeCallbackProcPtr)(void * scsiPB);
- /* SCSIInterruptPollProcPtr is obsolete (use SCSIInterruptProcPtr) but still here for compatibility */
- typedef CALLBACK_API_C(long , SCSIInterruptPollProcPtr)(Ptr SIMGlobals);
- typedef CALLBACK_API_C(long , SCSIInterruptProcPtr)(Ptr SIMGlobals);
- typedef STACK_UPP_TYPE(AENCallbackProcPtr) AENCallbackUPP;
- typedef STACK_UPP_TYPE(SIMInitProcPtr) SIMInitUPP;
- typedef STACK_UPP_TYPE(SIMActionProcPtr) SIMActionUPP;
- typedef STACK_UPP_TYPE(SCSIProcPtr) SCSIUPP;
- typedef STACK_UPP_TYPE(SCSIMakeCallbackProcPtr) SCSIMakeCallbackUPP;
- typedef STACK_UPP_TYPE(SCSIInterruptPollProcPtr) SCSIInterruptPollUPP;
- typedef STACK_UPP_TYPE(SCSIInterruptProcPtr) SCSIInterruptUPP;
+enum {
+ scsiVERSION = 43
+};
+
+
+/*
+ * SCSI Callback Procedure Prototypes. Several of these are only callable
+ * from SCSI Manager 4.3 SIM and XPT contexts.
+ */
+typedef CALLBACK_API_C( void , AENCallbackProcPtr )(void);
+typedef CALLBACK_API_C( OSErr , SIMInitProcPtr )(Ptr SIMinfoPtr);
+typedef CALLBACK_API_C( void , SIMActionProcPtr )(void *scsiPB, Ptr SIMGlobals);
+typedef CALLBACK_API_C( void , SCSIProcPtr )(void);
+typedef CALLBACK_API_C( void , SCSIMakeCallbackProcPtr )(void * scsiPB);
+/* SCSIInterruptPollProcPtr is obsolete (use SCSIInterruptProcPtr) but still here for compatibility */
+typedef CALLBACK_API_C( long , SCSIInterruptPollProcPtr )(Ptr SIMGlobals);
+typedef CALLBACK_API_C( long , SCSIInterruptProcPtr )(Ptr SIMGlobals);
+typedef STACK_UPP_TYPE(AENCallbackProcPtr) AENCallbackUPP;
+typedef STACK_UPP_TYPE(SIMInitProcPtr) SIMInitUPP;
+typedef STACK_UPP_TYPE(SIMActionProcPtr) SIMActionUPP;
+typedef STACK_UPP_TYPE(SCSIProcPtr) SCSIUPP;
+typedef STACK_UPP_TYPE(SCSIMakeCallbackProcPtr) SCSIMakeCallbackUPP;
+typedef STACK_UPP_TYPE(SCSIInterruptPollProcPtr) SCSIInterruptPollUPP;
+typedef STACK_UPP_TYPE(SCSIInterruptProcPtr) SCSIInterruptUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewAENCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(AENCallbackUPP)
- NewAENCallbackUPP(AENCallbackProcPtr userRoutine);
+/*
+ * NewAENCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( AENCallbackUPP )
+NewAENCallbackUPP(AENCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppAENCallbackProcInfo = 0x00000001 }; /* no_return_value Func() */
-#ifdef __cplusplus
- inline DEFINE_API_C(AENCallbackUPP) NewAENCallbackUPP(AENCallbackProcPtr userRoutine)
- {
- return (AENCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAENCallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewAENCallbackUPP(userRoutine) (AENCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAENCallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppAENCallbackProcInfo = 0x00000001 }; /* no_return_value Func() */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(AENCallbackUPP) NewAENCallbackUPP(AENCallbackProcPtr userRoutine) { return (AENCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAENCallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewAENCallbackUPP(userRoutine) (AENCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppAENCallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSIMInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SIMInitUPP)
- NewSIMInitUPP(SIMInitProcPtr userRoutine);
+/*
+ * NewSIMInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SIMInitUPP )
+NewSIMInitUPP(SIMInitProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSIMInitProcInfo = 0x000000E1 }; /* 2_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SIMInitUPP) NewSIMInitUPP(SIMInitProcPtr userRoutine)
- {
- return (SIMInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIMInitProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSIMInitUPP(userRoutine) (SIMInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIMInitProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSIMInitProcInfo = 0x000000E1 }; /* 2_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SIMInitUPP) NewSIMInitUPP(SIMInitProcPtr userRoutine) { return (SIMInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIMInitProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSIMInitUPP(userRoutine) (SIMInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIMInitProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSIMActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SIMActionUPP)
- NewSIMActionUPP(SIMActionProcPtr userRoutine);
+/*
+ * NewSIMActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SIMActionUPP )
+NewSIMActionUPP(SIMActionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSIMActionProcInfo = 0x000003C1 }; /* no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SIMActionUPP) NewSIMActionUPP(SIMActionProcPtr userRoutine)
- {
- return (SIMActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIMActionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSIMActionUPP(userRoutine) (SIMActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIMActionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSIMActionProcInfo = 0x000003C1 }; /* no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SIMActionUPP) NewSIMActionUPP(SIMActionProcPtr userRoutine) { return (SIMActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIMActionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSIMActionUPP(userRoutine) (SIMActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIMActionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSCSIUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SCSIUPP)
- NewSCSIUPP(SCSIProcPtr userRoutine);
+/*
+ * NewSCSIUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SCSIUPP )
+NewSCSIUPP(SCSIProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSCSIProcInfo = 0x00000001 }; /* no_return_value Func() */
-#ifdef __cplusplus
- inline DEFINE_API_C(SCSIUPP) NewSCSIUPP(SCSIProcPtr userRoutine)
- {
- return (SCSIUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSCSIUPP(userRoutine) (SCSIUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSCSIProcInfo = 0x00000001 }; /* no_return_value Func() */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SCSIUPP) NewSCSIUPP(SCSIProcPtr userRoutine) { return (SCSIUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSCSIUPP(userRoutine) (SCSIUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSCSIMakeCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SCSIMakeCallbackUPP)
- NewSCSIMakeCallbackUPP(SCSIMakeCallbackProcPtr userRoutine);
+/*
+ * NewSCSIMakeCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SCSIMakeCallbackUPP )
+NewSCSIMakeCallbackUPP(SCSIMakeCallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSCSIMakeCallbackProcInfo = 0x000000C1 }; /* no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SCSIMakeCallbackUPP) NewSCSIMakeCallbackUPP(SCSIMakeCallbackProcPtr userRoutine)
- {
- return (SCSIMakeCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIMakeCallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSCSIMakeCallbackUPP(userRoutine) (SCSIMakeCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIMakeCallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSCSIMakeCallbackProcInfo = 0x000000C1 }; /* no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SCSIMakeCallbackUPP) NewSCSIMakeCallbackUPP(SCSIMakeCallbackProcPtr userRoutine) { return (SCSIMakeCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIMakeCallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSCSIMakeCallbackUPP(userRoutine) (SCSIMakeCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIMakeCallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSCSIInterruptPollUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SCSIInterruptPollUPP)
- NewSCSIInterruptPollUPP(SCSIInterruptPollProcPtr userRoutine);
+/*
+ * NewSCSIInterruptPollUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SCSIInterruptPollUPP )
+NewSCSIInterruptPollUPP(SCSIInterruptPollProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSCSIInterruptPollProcInfo = 0x000000F1 }; /* 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SCSIInterruptPollUPP) NewSCSIInterruptPollUPP(SCSIInterruptPollProcPtr userRoutine)
- {
- return (SCSIInterruptPollUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIInterruptPollProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSCSIInterruptPollUPP(userRoutine) (SCSIInterruptPollUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIInterruptPollProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSCSIInterruptPollProcInfo = 0x000000F1 }; /* 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SCSIInterruptPollUPP) NewSCSIInterruptPollUPP(SCSIInterruptPollProcPtr userRoutine) { return (SCSIInterruptPollUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIInterruptPollProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSCSIInterruptPollUPP(userRoutine) (SCSIInterruptPollUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIInterruptPollProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSCSIInterruptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SCSIInterruptUPP)
- NewSCSIInterruptUPP(SCSIInterruptProcPtr userRoutine);
+/*
+ * NewSCSIInterruptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SCSIInterruptUPP )
+NewSCSIInterruptUPP(SCSIInterruptProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSCSIInterruptProcInfo = 0x000000F1 }; /* 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SCSIInterruptUPP) NewSCSIInterruptUPP(SCSIInterruptProcPtr userRoutine)
- {
- return (SCSIInterruptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIInterruptProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSCSIInterruptUPP(userRoutine) (SCSIInterruptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIInterruptProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSCSIInterruptProcInfo = 0x000000F1 }; /* 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SCSIInterruptUPP) NewSCSIInterruptUPP(SCSIInterruptProcPtr userRoutine) { return (SCSIInterruptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIInterruptProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSCSIInterruptUPP(userRoutine) (SCSIInterruptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSIInterruptProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeAENCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeAENCallbackUPP(AENCallbackUPP userUPP);
+/*
+ * DisposeAENCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeAENCallbackUPP(AENCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeAENCallbackUPP(AENCallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeAENCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeAENCallbackUPP(AENCallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeAENCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSIMInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSIMInitUPP(SIMInitUPP userUPP);
+/*
+ * DisposeSIMInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSIMInitUPP(SIMInitUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSIMInitUPP(SIMInitUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSIMInitUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSIMInitUPP(SIMInitUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSIMInitUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSIMActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSIMActionUPP(SIMActionUPP userUPP);
+/*
+ * DisposeSIMActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSIMActionUPP(SIMActionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSIMActionUPP(SIMActionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSIMActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSIMActionUPP(SIMActionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSIMActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSCSIUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSCSIUPP(SCSIUPP userUPP);
+/*
+ * DisposeSCSIUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSCSIUPP(SCSIUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSCSIUPP(SCSIUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSCSIUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSCSIUPP(SCSIUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSCSIUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSCSIMakeCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSCSIMakeCallbackUPP(SCSIMakeCallbackUPP userUPP);
+/*
+ * DisposeSCSIMakeCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSCSIMakeCallbackUPP(SCSIMakeCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSCSIMakeCallbackUPP(SCSIMakeCallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSCSIMakeCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSCSIMakeCallbackUPP(SCSIMakeCallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSCSIMakeCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSCSIInterruptPollUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSCSIInterruptPollUPP(SCSIInterruptPollUPP userUPP);
+/*
+ * DisposeSCSIInterruptPollUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSCSIInterruptPollUPP(SCSIInterruptPollUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSCSIInterruptPollUPP(SCSIInterruptPollUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSCSIInterruptPollUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSCSIInterruptPollUPP(SCSIInterruptPollUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSCSIInterruptPollUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSCSIInterruptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSCSIInterruptUPP(SCSIInterruptUPP userUPP);
+/*
+ * DisposeSCSIInterruptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSCSIInterruptUPP(SCSIInterruptUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSCSIInterruptUPP(SCSIInterruptUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSCSIInterruptUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSCSIInterruptUPP(SCSIInterruptUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSCSIInterruptUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeAENCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeAENCallbackUPP(AENCallbackUPP userUPP);
+/*
+ * InvokeAENCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeAENCallbackUPP(AENCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeAENCallbackUPP(AENCallbackUPP userUPP)
- {
- CALL_ZERO_PARAMETER_UPP(userUPP, uppAENCallbackProcInfo);
- }
-#else
-#define InvokeAENCallbackUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppAENCallbackProcInfo)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeAENCallbackUPP(AENCallbackUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppAENCallbackProcInfo); }
+ #else
+ #define InvokeAENCallbackUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppAENCallbackProcInfo)
+ #endif
#endif
- /*
- * InvokeSIMInitUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(OSErr)
- InvokeSIMInitUPP(
- Ptr SIMinfoPtr,
- SIMInitUPP userUPP);
+/*
+ * InvokeSIMInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( OSErr )
+InvokeSIMInitUPP(
+ Ptr SIMinfoPtr,
+ SIMInitUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeSIMInitUPP(Ptr SIMinfoPtr, SIMInitUPP userUPP)
- {
- return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppSIMInitProcInfo, SIMinfoPtr);
- }
-#else
-#define InvokeSIMInitUPP(SIMinfoPtr, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppSIMInitProcInfo, (SIMinfoPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeSIMInitUPP(Ptr SIMinfoPtr, SIMInitUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppSIMInitProcInfo, SIMinfoPtr); }
+ #else
+ #define InvokeSIMInitUPP(SIMinfoPtr, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppSIMInitProcInfo, (SIMinfoPtr))
+ #endif
#endif
- /*
- * InvokeSIMActionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeSIMActionUPP(
- void * scsiPB,
- Ptr SIMGlobals,
- SIMActionUPP userUPP);
+/*
+ * InvokeSIMActionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeSIMActionUPP(
+ void * scsiPB,
+ Ptr SIMGlobals,
+ SIMActionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSIMActionUPP(void * scsiPB, Ptr SIMGlobals, SIMActionUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppSIMActionProcInfo, scsiPB, SIMGlobals);
- }
-#else
-#define InvokeSIMActionUPP(scsiPB, SIMGlobals, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSIMActionProcInfo, (scsiPB), (SIMGlobals))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSIMActionUPP(void * scsiPB, Ptr SIMGlobals, SIMActionUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppSIMActionProcInfo, scsiPB, SIMGlobals); }
+ #else
+ #define InvokeSIMActionUPP(scsiPB, SIMGlobals, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSIMActionProcInfo, (scsiPB), (SIMGlobals))
+ #endif
#endif
- /*
- * InvokeSCSIUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeSCSIUPP(SCSIUPP userUPP);
+/*
+ * InvokeSCSIUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeSCSIUPP(SCSIUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSCSIUPP(SCSIUPP userUPP)
- {
- CALL_ZERO_PARAMETER_UPP(userUPP, uppSCSIProcInfo);
- }
-#else
-#define InvokeSCSIUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppSCSIProcInfo)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSCSIUPP(SCSIUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppSCSIProcInfo); }
+ #else
+ #define InvokeSCSIUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppSCSIProcInfo)
+ #endif
#endif
- /*
- * InvokeSCSIMakeCallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeSCSIMakeCallbackUPP(
- void * scsiPB,
- SCSIMakeCallbackUPP userUPP);
+/*
+ * InvokeSCSIMakeCallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeSCSIMakeCallbackUPP(
+ void * scsiPB,
+ SCSIMakeCallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSCSIMakeCallbackUPP(void * scsiPB, SCSIMakeCallbackUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppSCSIMakeCallbackProcInfo, scsiPB);
- }
-#else
-#define InvokeSCSIMakeCallbackUPP(scsiPB, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSCSIMakeCallbackProcInfo, (scsiPB))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSCSIMakeCallbackUPP(void * scsiPB, SCSIMakeCallbackUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppSCSIMakeCallbackProcInfo, scsiPB); }
+ #else
+ #define InvokeSCSIMakeCallbackUPP(scsiPB, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSCSIMakeCallbackProcInfo, (scsiPB))
+ #endif
#endif
- /*
- * InvokeSCSIInterruptPollUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- InvokeSCSIInterruptPollUPP(
- Ptr SIMGlobals,
- SCSIInterruptPollUPP userUPP);
+/*
+ * InvokeSCSIInterruptPollUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+InvokeSCSIInterruptPollUPP(
+ Ptr SIMGlobals,
+ SCSIInterruptPollUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(long) InvokeSCSIInterruptPollUPP(Ptr SIMGlobals, SCSIInterruptPollUPP userUPP)
- {
- return (long)CALL_ONE_PARAMETER_UPP(userUPP, uppSCSIInterruptPollProcInfo, SIMGlobals);
- }
-#else
-#define InvokeSCSIInterruptPollUPP(SIMGlobals, userUPP) (long)CALL_ONE_PARAMETER_UPP((userUPP), uppSCSIInterruptPollProcInfo, (SIMGlobals))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long) InvokeSCSIInterruptPollUPP(Ptr SIMGlobals, SCSIInterruptPollUPP userUPP) { return (long)CALL_ONE_PARAMETER_UPP(userUPP, uppSCSIInterruptPollProcInfo, SIMGlobals); }
+ #else
+ #define InvokeSCSIInterruptPollUPP(SIMGlobals, userUPP) (long)CALL_ONE_PARAMETER_UPP((userUPP), uppSCSIInterruptPollProcInfo, (SIMGlobals))
+ #endif
#endif
- /*
- * InvokeSCSIInterruptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(long)
- InvokeSCSIInterruptUPP(
- Ptr SIMGlobals,
- SCSIInterruptUPP userUPP);
+/*
+ * InvokeSCSIInterruptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long )
+InvokeSCSIInterruptUPP(
+ Ptr SIMGlobals,
+ SCSIInterruptUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(long) InvokeSCSIInterruptUPP(Ptr SIMGlobals, SCSIInterruptUPP userUPP)
- {
- return (long)CALL_ONE_PARAMETER_UPP(userUPP, uppSCSIInterruptProcInfo, SIMGlobals);
- }
-#else
-#define InvokeSCSIInterruptUPP(SIMGlobals, userUPP) (long)CALL_ONE_PARAMETER_UPP((userUPP), uppSCSIInterruptProcInfo, (SIMGlobals))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long) InvokeSCSIInterruptUPP(Ptr SIMGlobals, SCSIInterruptUPP userUPP) { return (long)CALL_ONE_PARAMETER_UPP(userUPP, uppSCSIInterruptProcInfo, SIMGlobals); }
+ #else
+ #define InvokeSCSIInterruptUPP(SIMGlobals, userUPP) (long)CALL_ONE_PARAMETER_UPP((userUPP), uppSCSIInterruptProcInfo, (SIMGlobals))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewAENCallbackProc(userRoutine) NewAENCallbackUPP(userRoutine)
-#define NewSIMInitProc(userRoutine) NewSIMInitUPP(userRoutine)
-#define NewSIMActionProc(userRoutine) NewSIMActionUPP(userRoutine)
-#define NewSCSIProc(userRoutine) NewSCSIUPP(userRoutine)
-#define NewSCSIMakeCallbackProc(userRoutine) NewSCSIMakeCallbackUPP(userRoutine)
-#define NewSCSIInterruptPollProc(userRoutine) NewSCSIInterruptPollUPP(userRoutine)
-#define NewSCSIInterruptProc(userRoutine) NewSCSIInterruptUPP(userRoutine)
-#define CallAENCallbackProc(userRoutine) InvokeAENCallbackUPP(userRoutine)
-#define CallSIMInitProc(userRoutine, SIMinfoPtr) InvokeSIMInitUPP(SIMinfoPtr, userRoutine)
-#define CallSIMActionProc(userRoutine, scsiPB, SIMGlobals) InvokeSIMActionUPP(scsiPB, SIMGlobals, userRoutine)
-#define CallSCSIProc(userRoutine) InvokeSCSIUPP(userRoutine)
-#define CallSCSIMakeCallbackProc(userRoutine, scsiPB) InvokeSCSIMakeCallbackUPP(scsiPB, userRoutine)
-#define CallSCSIInterruptPollProc(userRoutine, SIMGlobals) InvokeSCSIInterruptPollUPP(SIMGlobals, userRoutine)
-#define CallSCSIInterruptProc(userRoutine, SIMGlobals) InvokeSCSIInterruptUPP(SIMGlobals, userRoutine)
+ #define NewAENCallbackProc(userRoutine) NewAENCallbackUPP(userRoutine)
+ #define NewSIMInitProc(userRoutine) NewSIMInitUPP(userRoutine)
+ #define NewSIMActionProc(userRoutine) NewSIMActionUPP(userRoutine)
+ #define NewSCSIProc(userRoutine) NewSCSIUPP(userRoutine)
+ #define NewSCSIMakeCallbackProc(userRoutine) NewSCSIMakeCallbackUPP(userRoutine)
+ #define NewSCSIInterruptPollProc(userRoutine) NewSCSIInterruptPollUPP(userRoutine)
+ #define NewSCSIInterruptProc(userRoutine) NewSCSIInterruptUPP(userRoutine)
+ #define CallAENCallbackProc(userRoutine) InvokeAENCallbackUPP(userRoutine)
+ #define CallSIMInitProc(userRoutine, SIMinfoPtr) InvokeSIMInitUPP(SIMinfoPtr, userRoutine)
+ #define CallSIMActionProc(userRoutine, scsiPB, SIMGlobals) InvokeSIMActionUPP(scsiPB, SIMGlobals, userRoutine)
+ #define CallSCSIProc(userRoutine) InvokeSCSIUPP(userRoutine)
+ #define CallSCSIMakeCallbackProc(userRoutine, scsiPB) InvokeSCSIMakeCallbackUPP(scsiPB, userRoutine)
+ #define CallSCSIInterruptPollProc(userRoutine, SIMGlobals) InvokeSCSIInterruptPollUPP(SIMGlobals, userRoutine)
+ #define CallSCSIInterruptProc(userRoutine, SIMGlobals) InvokeSCSIInterruptUPP(SIMGlobals, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SCSI Completion routine callback for SCSIAction.
- */
- typedef CALLBACK_API(void , SCSICallbackProcPtr)(void * scsiPB);
- typedef STACK_UPP_TYPE(SCSICallbackProcPtr) SCSICallbackUPP;
- /*
- * NewSCSICallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SCSICallbackUPP)
- NewSCSICallbackUPP(SCSICallbackProcPtr userRoutine);
+/*
+ * SCSI Completion routine callback for SCSIAction.
+ */
+typedef CALLBACK_API( void , SCSICallbackProcPtr )(void * scsiPB);
+typedef STACK_UPP_TYPE(SCSICallbackProcPtr) SCSICallbackUPP;
+/*
+ * NewSCSICallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SCSICallbackUPP )
+NewSCSICallbackUPP(SCSICallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSCSICallbackProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SCSICallbackUPP) NewSCSICallbackUPP(SCSICallbackProcPtr userRoutine)
- {
- return (SCSICallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSICallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSCSICallbackUPP(userRoutine) (SCSICallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSICallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSCSICallbackProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SCSICallbackUPP) NewSCSICallbackUPP(SCSICallbackProcPtr userRoutine) { return (SCSICallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSICallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSCSICallbackUPP(userRoutine) (SCSICallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCSICallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeSCSICallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSCSICallbackUPP(SCSICallbackUPP userUPP);
+/*
+ * DisposeSCSICallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSCSICallbackUPP(SCSICallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSCSICallbackUPP(SCSICallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSCSICallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSCSICallbackUPP(SCSICallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSCSICallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeSCSICallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSCSICallbackUPP(
- void * scsiPB,
- SCSICallbackUPP userUPP);
+/*
+ * InvokeSCSICallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSCSICallbackUPP(
+ void * scsiPB,
+ SCSICallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSCSICallbackUPP(void * scsiPB, SCSICallbackUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppSCSICallbackProcInfo, scsiPB);
- }
-#else
-#define InvokeSCSICallbackUPP(scsiPB, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSCSICallbackProcInfo, (scsiPB))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSCSICallbackUPP(void * scsiPB, SCSICallbackUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppSCSICallbackProcInfo, scsiPB); }
+ #else
+ #define InvokeSCSICallbackUPP(scsiPB, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSCSICallbackProcInfo, (scsiPB))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSCSICallbackProc(userRoutine) NewSCSICallbackUPP(userRoutine)
-#define CallSCSICallbackProc(userRoutine, scsiPB) InvokeSCSICallbackUPP(scsiPB, userRoutine)
+ #define NewSCSICallbackProc(userRoutine) NewSCSICallbackUPP(userRoutine)
+ #define CallSCSICallbackProc(userRoutine, scsiPB) InvokeSCSICallbackUPP(scsiPB, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- SCSI Manager 4.3 function codes
- */
- enum
- {
- SCSINop = 0x00, /* Execute nothing */
- SCSIExecIO = 0x01, /* Execute the specified IO */
- SCSIBusInquiry = 0x03, /* Get parameters for entire path of HBAs */
- SCSIReleaseQ = 0x04, /* Release the frozen SIM queue for particular LUN */
- SCSIAbortCommand = 0x10, /* Abort the selected Control Block */
- SCSIResetBus = 0x11, /* Reset the SCSI bus */
- SCSIResetDevice = 0x12, /* Reset the SCSI device */
- SCSITerminateIO = 0x13 /* Terminate any pending IO */
- };
-
- /* Not available in Carbon on X */
- enum
- {
- SCSIGetVirtualIDInfo = 0x80, /* Find out which bus old ID is on */
- SCSILoadDriver = 0x82, /* Load a driver for a device ident */
- SCSIOldCall = 0x84, /* XPT->SIM private call for old-API */
- SCSICreateRefNumXref = 0x85, /* Register a DeviceIdent to drvr RefNum xref */
- SCSILookupRefNumXref = 0x86, /* Get DeviceIdent to drvr RefNum xref */
- SCSIRemoveRefNumXref = 0x87, /* Remove a DeviceIdent to drvr RefNum xref */
- SCSIRegisterWithNewXPT = 0x88 /* XPT has changed - SIM needs to re-register itself */
- };
-
- enum
- {
- vendorUnique = 0xC0 /* 0xC0 thru 0xFF */
- };
-
-
- /* Allocation length defines for some of the fields */
- enum
- {
- handshakeDataLength = 8, /* Handshake data length */
- maxCDBLength = 16, /* Space for the CDB bytes/pointer */
- vendorIDLength = 16 /* ASCII string len for Vendor ID */
- };
-
- /* Define DeviceIdent structure */
- struct DeviceIdent
- {
- UInt8 diReserved; /* reserved */
- UInt8 bus; /* SCSI - Bus Number */
- UInt8 targetID; /* SCSI - Target SCSI ID */
- UInt8 LUN; /* SCSI - LUN */
- };
- typedef struct DeviceIdent DeviceIdent;
- /* Constants for the diReserved field of DeviceIdent */
- /* used to distinguish whether the DeviceIdent holds */
- /* information about a SCSI device (kBusTypeSCSI) */
- /* or an ATA device (kBusTypeATA). The other */
- /* constants are pretty much deprecated. Let me */
- /* know if you see any. */
- enum
- {
- kBusTypeSCSI = 0,
- kBusTypeATA = 1,
- kBusTypePCMCIA = 2,
- kBusTypeMediaBay = 3
- };
-
- /* If diReserved indicates that a DeviceIdent is */
- /* really for ATA, you can cast it to DeviceIdentATA */
- /* to get at the important fields. */
- struct DeviceIdentATA
- {
- UInt8 diReserved;
- UInt8 busNum;
- UInt8 devNum;
- UInt8 diReserved2;
- };
- typedef struct DeviceIdentATA DeviceIdentATA;
- /* for use with Apple Patch Driver used during booting*/
- struct PatchDescriptor
- {
- OSType patchSig; /* The patches signature */
- UInt16 majorVers; /* The major version number of the */
- /* patch */
- UInt16 minorVers; /* The minor version number of the */
- /* patch */
- UInt32 flags; /* Reqired/Optional, etc. */
- UInt32 patchOffset; /* Block offset to the beginning of */
- /* the patch */
- UInt32 patchSize; /* Actual size of the patch in bytes */
- UInt32 patchCRC; /* As calculated by the SCSI drivers */
- /* CRC code */
- UInt32 patchDescriptorLen; /* Total length of the descriptor */
- /* (must be >= 61 bytes) */
- Str32 patchName; /* Pascal string with a short */
- /* description of the patch */
- UInt8 patchVendor[1]; /* The first byte of a pascal string */
- /* for the patch Vendor. Any amount */
- /* of data may follow the string. */
- };
- typedef struct PatchDescriptor PatchDescriptor;
- /* Constants for the flags field of PatchDescriptor. */
- enum
- {
- kRequiredPatch = 0x00000001 /* Patch must succeed to continue booting. */
- };
-
-
- struct PatchList
- {
- UInt16 numPatchBlocks; /* The number of disk blocks */
- /* to hold patch descriptions */
- UInt16 numPatches; /* The number of patches */
- PatchDescriptor thePatch[1]; /* An array with one patch */
- /* per element */
- };
- typedef struct PatchList PatchList;
- /* signature of a Patch entry point*/
- typedef CALLBACK_API(OSErr , PatchEntryPoint)(PatchDescriptor *myPatch, DeviceIdent myDevID);
-
-
- /* Command Descriptor Block structure */
- union CDB
- {
- BytePtr cdbPtr; /* pointer to the CDB, or */
- UInt8 cdbBytes[16]; /* the actual CDB to send */
- };
- typedef union CDB CDB;
- typedef CDB * CDBPtr;
- /* Scatter/gather list element (Deprecated for MacOS8) */
- struct SGRecord
- {
- Ptr SGAddr;
- UInt32 SGCount;
- };
- typedef struct SGRecord SGRecord;
+/*
+ SCSI Manager 4.3 function codes
+ */
+enum {
+ SCSINop = 0x00, /* Execute nothing */
+ SCSIExecIO = 0x01, /* Execute the specified IO */
+ SCSIBusInquiry = 0x03, /* Get parameters for entire path of HBAs */
+ SCSIReleaseQ = 0x04, /* Release the frozen SIM queue for particular LUN */
+ SCSIAbortCommand = 0x10, /* Abort the selected Control Block */
+ SCSIResetBus = 0x11, /* Reset the SCSI bus */
+ SCSIResetDevice = 0x12, /* Reset the SCSI device */
+ SCSITerminateIO = 0x13 /* Terminate any pending IO */
+};
+
+/* Not available in Carbon on X */
+enum {
+ SCSIGetVirtualIDInfo = 0x80, /* Find out which bus old ID is on */
+ SCSILoadDriver = 0x82, /* Load a driver for a device ident */
+ SCSIOldCall = 0x84, /* XPT->SIM private call for old-API */
+ SCSICreateRefNumXref = 0x85, /* Register a DeviceIdent to drvr RefNum xref */
+ SCSILookupRefNumXref = 0x86, /* Get DeviceIdent to drvr RefNum xref */
+ SCSIRemoveRefNumXref = 0x87, /* Remove a DeviceIdent to drvr RefNum xref */
+ SCSIRegisterWithNewXPT = 0x88 /* XPT has changed - SIM needs to re-register itself */
+};
+
+enum {
+ vendorUnique = 0xC0 /* 0xC0 thru 0xFF */
+};
+
+
+/* Allocation length defines for some of the fields */
+enum {
+ handshakeDataLength = 8, /* Handshake data length */
+ maxCDBLength = 16, /* Space for the CDB bytes/pointer */
+ vendorIDLength = 16 /* ASCII string len for Vendor ID */
+};
+
+/* Define DeviceIdent structure */
+struct DeviceIdent {
+ UInt8 diReserved; /* reserved */
+ UInt8 bus; /* SCSI - Bus Number */
+ UInt8 targetID; /* SCSI - Target SCSI ID */
+ UInt8 LUN; /* SCSI - LUN */
+};
+typedef struct DeviceIdent DeviceIdent;
+/* Constants for the diReserved field of DeviceIdent */
+/* used to distinguish whether the DeviceIdent holds */
+/* information about a SCSI device (kBusTypeSCSI) */
+/* or an ATA device (kBusTypeATA). The other */
+/* constants are pretty much deprecated. Let me */
+/* know if you see any. */
+enum {
+ kBusTypeSCSI = 0,
+ kBusTypeATA = 1,
+ kBusTypePCMCIA = 2,
+ kBusTypeMediaBay = 3
+};
+
+/* If diReserved indicates that a DeviceIdent is */
+/* really for ATA, you can cast it to DeviceIdentATA */
+/* to get at the important fields. */
+struct DeviceIdentATA {
+ UInt8 diReserved;
+ UInt8 busNum;
+ UInt8 devNum;
+ UInt8 diReserved2;
+};
+typedef struct DeviceIdentATA DeviceIdentATA;
+/* for use with Apple Patch Driver used during booting*/
+struct PatchDescriptor {
+ OSType patchSig; /* The patches signature */
+ UInt16 majorVers; /* The major version number of the */
+ /* patch */
+ UInt16 minorVers; /* The minor version number of the */
+ /* patch */
+ UInt32 flags; /* Reqired/Optional, etc. */
+ UInt32 patchOffset; /* Block offset to the beginning of */
+ /* the patch */
+ UInt32 patchSize; /* Actual size of the patch in bytes */
+ UInt32 patchCRC; /* As calculated by the SCSI drivers */
+ /* CRC code */
+ UInt32 patchDescriptorLen; /* Total length of the descriptor */
+ /* (must be >= 61 bytes) */
+ Str32 patchName; /* Pascal string with a short */
+ /* description of the patch */
+ UInt8 patchVendor[1]; /* The first byte of a pascal string */
+ /* for the patch Vendor. Any amount */
+ /* of data may follow the string. */
+};
+typedef struct PatchDescriptor PatchDescriptor;
+/* Constants for the flags field of PatchDescriptor. */
+enum {
+ kRequiredPatch = 0x00000001 /* Patch must succeed to continue booting. */
+};
+
+
+struct PatchList {
+ UInt16 numPatchBlocks; /* The number of disk blocks */
+ /* to hold patch descriptions */
+ UInt16 numPatches; /* The number of patches */
+ PatchDescriptor thePatch[1]; /* An array with one patch */
+ /* per element */
+};
+typedef struct PatchList PatchList;
+/* signature of a Patch entry point*/
+typedef CALLBACK_API( OSErr , PatchEntryPoint )(PatchDescriptor *myPatch, DeviceIdent myDevID);
+
+
+/* Command Descriptor Block structure */
+union CDB {
+ BytePtr cdbPtr; /* pointer to the CDB, or */
+ UInt8 cdbBytes[16]; /* the actual CDB to send */
+};
+typedef union CDB CDB;
+typedef CDB * CDBPtr;
+/* Scatter/gather list element (Deprecated for MacOS8) */
+struct SGRecord {
+ Ptr SGAddr;
+ UInt32 SGCount;
+};
+typedef struct SGRecord SGRecord;
#define SCSIPBHdr \
struct SCSIHdr* qLink; \
@@ -1003,764 +915,730 @@ extern "C" {
Ptr scsiXPTprivate; \
long scsiReserved3;
- struct SCSIHdr
- {
- struct SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- };
- typedef struct SCSIHdr SCSIHdr;
- struct SCSI_PB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- };
- typedef struct SCSI_PB SCSI_PB;
- struct SCSI_IO
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
-
- UInt16 scsiResultFlags; /* <- Flags which modify the scsiResult field */
- UInt16 scsiReserved3pt5; /* -> Reserved */
- BytePtr scsiDataPtr; /* -> Pointer to the data buffer or the S/G list */
- UInt32 scsiDataLength; /* -> Data transfer length */
- BytePtr scsiSensePtr; /* -> Ptr to autosense data buffer */
- UInt8 scsiSenseLength; /* -> size of the autosense buffer */
- UInt8 scsiCDBLength; /* -> Number of bytes for the CDB */
- UInt16 scsiSGListCount; /* -> num of scatter gather list entries */
- UInt32 scsiReserved4; /* <- reserved for output */
- UInt8 scsiSCSIstatus; /* <- Returned scsi device status */
- SInt8 scsiSenseResidual; /* <- Autosense residual length */
- UInt16 scsiReserved5; /* <- reserved for output */
- long scsiDataResidual; /* <- Returned Transfer residual length */
- CDB scsiCDB; /* -> Actual CDB or pointer to CDB */
- long scsiTimeout; /* -> Timeout value (Time Mgr format) (CAM timeout) */
- BytePtr scsiReserved5pt5; /* -> Reserved */
- UInt16 scsiReserved5pt6; /* -> Reserved */
- UInt16 scsiIOFlags; /* -> additional I/O flags */
- UInt8 scsiTagAction; /* -> What to do for tag queuing */
- UInt8 scsiReserved6; /* -> reserved for input */
- UInt16 scsiReserved7; /* -> reserved for input */
- UInt16 scsiSelectTimeout; /* -> Select timeout value */
- UInt8 scsiDataType; /* -> Data description type (i.e. buffer, TIB, S/G) */
- UInt8 scsiTransferType; /* -> Transfer type (i.e. Blind vs Polled) */
- UInt32 scsiReserved8; /* -> reserved for input */
- UInt32 scsiReserved9; /* -> reserved for input */
- UInt16 scsiHandshake[8]; /* -> handshaking points (null term'd) */
- UInt32 scsiReserved10; /* -> reserved for input */
- UInt32 scsiReserved11; /* -> reserved for input */
- struct SCSI_IO * scsiCommandLink; /* -> Ptr to the next PB in linked cmd chain */
-
- UInt8 scsiSIMpublics[8]; /* -> reserved for input to 3rd-party SIMs */
- UInt8 scsiAppleReserved6[8]; /* -> reserved for input */
-
- /* XPT layer privates (for old-API emulation) */
-
- UInt16 scsiCurrentPhase; /* <- phase upon completing old call */
- short scsiSelector; /* -> selector specified in old calls */
- OSErr scsiOldCallResult; /* <- result of old call */
- UInt8 scsiSCSImessage; /* <- Returned scsi device message (for SCSIComplete)*/
- UInt8 XPTprivateFlags; /* <> various flags */
- UInt8 XPTextras[12]; /* */
- };
- typedef struct SCSI_IO SCSI_IO;
- typedef SCSI_IO SCSIExecIOPB;
- /* Bus inquiry PB */
- struct SCSIBusInquiryPB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
-
- UInt16 scsiEngineCount; /* <- Number of engines on HBA */
- UInt16 scsiMaxTransferType; /* <- Number of transfer types for this HBA */
-
- UInt32 scsiDataTypes; /* <- which data types are supported by this SIM */
-
- UInt16 scsiIOpbSize; /* <- Size of SCSI_IO PB for this SIM/HBA */
- UInt16 scsiMaxIOpbSize; /* <- Size of max SCSI_IO PB for all SIM/HBAs */
-
- UInt32 scsiFeatureFlags; /* <- Supported features flags field */
-
- UInt8 scsiVersionNumber; /* <- Version number for the SIM/HBA */
- UInt8 scsiHBAInquiry; /* <- Mimic of INQ byte 7 for the HBA */
- UInt8 scsiTargetModeFlags; /* <- Flags for target mode support */
- UInt8 scsiScanFlags; /* <- Scan related feature flags */
-
- UInt32 scsiSIMPrivatesPtr; /* <- Ptr to SIM private data area */
- UInt32 scsiSIMPrivatesSize; /* <- Size of SIM private data area */
- UInt32 scsiAsyncFlags; /* <- Event cap. for Async Callback */
-
- UInt8 scsiHiBusID; /* <- Highest path ID in the subsystem */
- UInt8 scsiInitiatorID; /* <- ID of the HBA on the SCSI bus */
- UInt16 scsiBIReserved0; /* */
-
- UInt32 scsiBIReserved1; /* <- */
- UInt32 scsiFlagsSupported; /* <- which scsiFlags are supported */
-
- UInt16 scsiIOFlagsSupported; /* <- which scsiIOFlags are supported */
- UInt16 scsiWeirdStuff; /* <- */
- UInt16 scsiMaxTarget; /* <- maximum Target number supported */
- UInt16 scsiMaxLUN; /* <- maximum Logical Unit number supported */
-
- char scsiSIMVendor[16]; /* <- Vendor ID of SIM (or XPT if bus<FF) */
- char scsiHBAVendor[16]; /* <- Vendor ID of the HBA */
- char scsiControllerFamily[16]; /* <- Family of SCSI Controller */
- char scsiControllerType[16]; /* <- Specific Model of SCSI Controller used */
-
- char scsiXPTversion[4]; /* <- version number of XPT */
- char scsiSIMversion[4]; /* <- version number of SIM */
- char scsiHBAversion[4]; /* <- version number of HBA */
-
- UInt8 scsiHBAslotType; /* <- type of "slot" that this HBA is in */
- UInt8 scsiHBAslotNumber; /* <- slot number of this HBA */
- UInt16 scsiSIMsRsrcID; /* <- resource ID of this SIM */
-
- UInt16 scsiBIReserved3; /* <- */
- UInt16 scsiAdditionalLength; /* <- additional BusInquiry PB len */
- };
- typedef struct SCSIBusInquiryPB SCSIBusInquiryPB;
- /* Abort SIM Request PB */
- struct SCSIAbortCommandPB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- SCSI_IO * scsiIOptr; /* Pointer to the PB to abort */
- };
- typedef struct SCSIAbortCommandPB SCSIAbortCommandPB;
- /* Terminate I/O Process Request PB */
- struct SCSITerminateIOPB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- SCSI_IO * scsiIOptr; /* Pointer to the PB to terminate */
- };
- typedef struct SCSITerminateIOPB SCSITerminateIOPB;
- /* Reset SCSI Bus PB */
- struct SCSIResetBusPB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- };
- typedef struct SCSIResetBusPB SCSIResetBusPB;
- /* Reset SCSI Device PB */
- struct SCSIResetDevicePB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- };
- typedef struct SCSIResetDevicePB SCSIResetDevicePB;
- /* Release SIM Queue PB */
- struct SCSIReleaseQPB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- };
- typedef struct SCSIReleaseQPB SCSIReleaseQPB;
- /* SCSI Get Virtual ID Info PB */
- struct SCSIGetVirtualIDInfoPB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- Ptr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- UInt16 scsiOldCallID; /* -> SCSI ID of device in question */
- Boolean scsiExists; /* <- true if device exists */
- SInt8 filler;
- };
- typedef struct SCSIGetVirtualIDInfoPB SCSIGetVirtualIDInfoPB;
- /* Create/Lookup/Remove RefNum for Device PB */
- struct SCSIDriverPB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- Ptr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- short scsiDriver; /* -> DriverRefNum, For SetDriver, <- For GetNextDriver */
- UInt16 scsiDriverFlags; /* <> Details of driver/device */
- DeviceIdent scsiNextDevice; /* <- DeviceIdent of the NEXT Item in the list */
- };
- typedef struct SCSIDriverPB SCSIDriverPB;
- /* Load Driver PB */
- struct SCSILoadDriverPB
- {
- SCSIHdr * qLink; /* (internal use, must be nil on entry) */
- short scsiReserved1; /* -> reserved for input */
- UInt16 scsiPBLength; /* -> Length of the entire PB */
- UInt8 scsiFunctionCode; /* -> function selector */
- UInt8 scsiReserved2; /* <- reserved for output */
- volatile OSErr scsiResult; /* <- Returned result */
- DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
- SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
- UInt32 scsiFlags; /* -> assorted flags */
- Ptr scsiDriverStorage; /* <> Ptr for driver private use */
- Ptr scsiXPTprivate; /* private field for use in XPT */
- long scsiReserved3; /* reserved */
- short scsiLoadedRefNum; /* <- SIM returns refnum of driver */
- Boolean scsiDiskLoadFailed; /* -> if true, indicates call after failure to load */
- SInt8 filler;
- };
- typedef struct SCSILoadDriverPB SCSILoadDriverPB;
-
- /* Defines for the scsiTransferType field */
- enum
- {
- scsiTransferBlind = 0,
- scsiTransferPolled = 1
- };
-
- enum
- {
- scsiErrorBase = -7936
- };
-
- enum
- {
- scsiRequestInProgress = 1, /* 1 = PB request is in progress */
- /* Execution failed 00-2F */
- scsiRequestAborted = scsiErrorBase + 2, /* -7934 = PB request aborted by the host */
- scsiUnableToAbort = scsiErrorBase + 3, /* -7933 = Unable to Abort PB request */
- scsiNonZeroStatus = scsiErrorBase + 4, /* -7932 = PB request completed with an err */
- scsiUnused05 = scsiErrorBase + 5, /* -7931 = */
- scsiUnused06 = scsiErrorBase + 6, /* -7930 = */
- scsiUnused07 = scsiErrorBase + 7, /* -7929 = */
- scsiUnused08 = scsiErrorBase + 8, /* -7928 = */
- scsiUnableToTerminate = scsiErrorBase + 9, /* -7927 = Unable to Terminate I/O PB req */
- scsiSelectTimeout = scsiErrorBase + 10, /* -7926 = Target selection timeout */
- scsiCommandTimeout = scsiErrorBase + 11, /* -7925 = Command timeout */
- scsiIdentifyMessageRejected = scsiErrorBase + 12, /* -7924 = */
- scsiMessageRejectReceived = scsiErrorBase + 13, /* -7923 = Message reject received */
- scsiSCSIBusReset = scsiErrorBase + 14, /* -7922 = SCSI bus reset sent/received */
- scsiParityError = scsiErrorBase + 15, /* -7921 = Uncorrectable parity error occured */
- scsiAutosenseFailed = scsiErrorBase + 16, /* -7920 = Autosense: Request sense cmd fail */
- scsiUnused11 = scsiErrorBase + 17, /* -7919 = */
- scsiDataRunError = scsiErrorBase + 18, /* -7918 = Data overrun/underrun error */
- scsiUnexpectedBusFree = scsiErrorBase + 19, /* -7917 = Unexpected BUS free */
- scsiSequenceFailed = scsiErrorBase + 20, /* -7916 = Target bus phase sequence failure */
- scsiWrongDirection = scsiErrorBase + 21, /* -7915 = Data phase was in wrong direction */
- scsiUnused16 = scsiErrorBase + 22, /* -7914 = */
- scsiBDRsent = scsiErrorBase + 23, /* -7913 = A SCSI BDR msg was sent to target */
- scsiTerminated = scsiErrorBase + 24, /* -7912 = PB request terminated by the host */
- scsiNoNexus = scsiErrorBase + 25, /* -7911 = Nexus is not established */
- scsiCDBReceived = scsiErrorBase + 26, /* -7910 = The SCSI CDB has been received */
- /* Couldn't begin execution 30-3F */
- scsiTooManyBuses = scsiErrorBase + 48, /* -7888 = Register failed because we're full */
- scsiBusy = scsiErrorBase + 49, /* -7887 = SCSI subsystem is busy */
- scsiProvideFail = scsiErrorBase + 50, /* -7886 = Unable to provide requ. capability */
- scsiDeviceNotThere = scsiErrorBase + 51, /* -7885 = SCSI device not installed/there */
- scsiNoHBA = scsiErrorBase + 52, /* -7884 = No HBA detected Error */
- scsiDeviceConflict = scsiErrorBase + 53, /* -7883 = sorry, max 1 refNum per DeviceIdent */
- scsiNoSuchXref = scsiErrorBase + 54, /* -7882 = no such RefNum xref */
- scsiQLinkInvalid = scsiErrorBase + 55, /* -7881 = pre-linked PBs not supported */
- /* (The QLink field was nonzero) */
- /* Parameter errors 40-7F */
- scsiPBLengthError = scsiErrorBase + 64, /* -7872 = (scsiPBLength is insuf'ct/invalid */
- scsiFunctionNotAvailable = scsiErrorBase + 65, /* -7871 = The requ. func is not available */
- scsiRequestInvalid = scsiErrorBase + 66, /* -7870 = PB request is invalid */
- scsiBusInvalid = scsiErrorBase + 67, /* -7869 = Bus ID supplied is invalid */
- scsiTIDInvalid = scsiErrorBase + 68, /* -7868 = Target ID supplied is invalid */
- scsiLUNInvalid = scsiErrorBase + 69, /* -7867 = LUN supplied is invalid */
- scsiIDInvalid = scsiErrorBase + 70, /* -7866 = The initiator ID is invalid */
- scsiDataTypeInvalid = scsiErrorBase + 71, /* -7865 = scsiDataType requested not supported */
- scsiTransferTypeInvalid = scsiErrorBase + 72, /* -7864 = scsiTransferType field is too high */
- scsiCDBLengthInvalid = scsiErrorBase + 73 /* -7863 = scsiCDBLength field is too big */
- };
-
- /* New errors for SCSI Family */
- enum
- {
- scsiUnused74 = scsiErrorBase + 74, /* -7862 = */
- scsiUnused75 = scsiErrorBase + 75, /* -7861 = */
- scsiBadDataLength = scsiErrorBase + 76, /* -7860 = a zero data length in PB */
- scsiPartialPrepared = scsiErrorBase + 77, /* -7859 = could not do full prepare mem for I/O*/
- scsiInvalidMsgType = scsiErrorBase + 78, /* -7858 = Invalid message type (internal) */
- scsiUnused79 = scsiErrorBase + 79, /* -7857 = */
- scsiBadConnID = scsiErrorBase + 80, /* -7856 = Bad Connection ID */
- scsiUnused81 = scsiErrorBase + 81, /* -7855 = */
- scsiIOInProgress = scsiErrorBase + 82, /* -7854 = Can't close conn, IO in prog */
- scsiTargetReserved = scsiErrorBase + 83, /* -7853 = Target already reserved */
- scsiUnused84 = scsiErrorBase + 84, /* -7852 = */
- scsiUnused85 = scsiErrorBase + 85, /* -7851 = */
- scsiBadConnType = scsiErrorBase + 86, /* -7850 = Bad connection type */
- scsiCannotLoadPlugin = scsiErrorBase + 87 /* -7849 = No matching service category */
- };
-
- /* +++ */
- /*
- * scsiFamilyInternalError and scsiPluginInternalError are intended to handle consistency check failures.
- * For example, if the family stores a record on a lookaside queue, but does not find that record
- * it can use this error to report this failure. SCSI Manager 4.3 uses dsIOCoreErr in a few places,
- * but this is probably not the best error. In general, internal errors should be reported as bugs.
- *
- * The following range of errors is provided for third-party (non-Apple) SCSI SIM and device driver vendors.
- * In general, they would be used for error conditions that are not covered by the standardized errors.
- * They should not normally be conveyed to normal applications, but might be used for communication between
- * a plug-in and a vendor-provided device driver (for example, to manage RAID hot-swapping).
- *
- * Note: I don't know how many SCSI errors are reserved in the error code architecture. Don't assume that
- * we'll actually get sixteen, but we should reserve at least one.
- */
- enum
- {
- scsiFamilyInternalError = scsiErrorBase + 87, /* -7849 = Internal consistency check failed */
- scsiPluginInternalError = scsiErrorBase + 88, /* -7848 = Internal consistency check failed */
- scsiVendorSpecificErrorBase = scsiErrorBase + 128, /* ?? = Start of third-party error range */
- scsiVendorSpecificErrorCount = 16 /* Number of third-party errors */
- };
-
- /* --- */
- enum
- {
- scsiExecutionErrors = scsiErrorBase,
- scsiNotExecutedErrors = scsiTooManyBuses,
- scsiParameterErrors = scsiPBLengthError
- };
-
- /* Defines for the scsiResultFlags field */
- enum
- {
- scsiSIMQFrozen = 0x0001, /* The SIM queue is frozen w/this err */
- scsiAutosenseValid = 0x0002, /* Autosense data valid for target */
- scsiBusNotFree = 0x0004 /* At time of callback, SCSI bus is not free */
- };
-
- /* Defines for the bit numbers of the scsiFlags field in the PB header for the SCSIExecIO function */
- enum
- {
- kbSCSIDisableAutosense = 29, /* Disable auto sense feature */
- kbSCSIFlagReservedA = 28, /* */
- kbSCSIFlagReserved0 = 27, /* */
- kbSCSICDBLinked = 26, /* The PB contains a linked CDB */
- kbSCSIQEnable = 25, /* Target queue actions are enabled */
- kbSCSICDBIsPointer = 24, /* The CDB field contains a pointer */
- kbSCSIFlagReserved1 = 23, /* */
- kbSCSIInitiateSyncData = 22, /* Attempt Sync data xfer and SDTR */
- kbSCSIDisableSyncData = 21, /* Disable sync, go to async */
- kbSCSISIMQHead = 20, /* Place PB at the head of SIM Q */
- kbSCSISIMQFreeze = 19, /* Return the SIM Q to frozen state */
- kbSCSISIMQNoFreeze = 18, /* Disallow SIM Q freezing */
- kbSCSIDoDisconnect = 17, /* Definitely do disconnect */
- kbSCSIDontDisconnect = 16, /* Definitely don't disconnect */
- kbSCSIDataReadyForDMA = 15, /* Data buffer(s) are ready for DMA */
- kbSCSIFlagReserved3 = 14, /* */
- kbSCSIDataPhysical = 13, /* SG/Buffer data ptrs are physical */
- kbSCSISensePhysical = 12, /* Autosense buffer ptr is physical */
- kbSCSIFlagReserved5 = 11, /* */
- kbSCSIFlagReserved6 = 10, /* */
- kbSCSIFlagReserved7 = 9, /* */
- kbSCSIFlagReserved8 = 8, /* */
- kbSCSIDataBufferValid = 7, /* Data buffer valid */
- kbSCSIStatusBufferValid = 6, /* Status buffer valid */
- kbSCSIMessageBufferValid = 5, /* Message buffer valid */
- kbSCSIFlagReserved9 = 4 /* */
- };
-
- /* Defines for the bit masks of the scsiFlags field */
- enum
- {
- scsiDirectionMask = (long)0xC0000000, /* Data direction mask */
- scsiDirectionNone = (long)0xC0000000, /* Data direction (11: no data) */
- scsiDirectionReserved = 0x00000000, /* Data direction (00: reserved) */
- scsiDirectionOut = (long)0x80000000, /* Data direction (10: DATA OUT) */
- scsiDirectionIn = 0x40000000, /* Data direction (01: DATA IN) */
- scsiDisableAutosense = 0x20000000, /* Disable auto sense feature */
- scsiFlagReservedA = 0x10000000, /* */
- scsiFlagReserved0 = 0x08000000, /* */
- scsiCDBLinked = 0x04000000, /* The PB contains a linked CDB */
- scsiQEnable = 0x02000000, /* Target queue actions are enabled */
- scsiCDBIsPointer = 0x01000000, /* The CDB field contains a pointer */
- scsiFlagReserved1 = 0x00800000, /* */
- scsiInitiateSyncData = 0x00400000, /* Attempt Sync data xfer and SDTR */
- scsiDisableSyncData = 0x00200000, /* Disable sync, go to async */
- scsiSIMQHead = 0x00100000, /* Place PB at the head of SIM Q */
- scsiSIMQFreeze = 0x00080000, /* Return the SIM Q to frozen state */
- scsiSIMQNoFreeze = 0x00040000, /* Disallow SIM Q freezing */
- scsiDoDisconnect = 0x00020000, /* Definitely do disconnect */
- scsiDontDisconnect = 0x00010000, /* Definitely don't disconnect */
- scsiDataReadyForDMA = 0x00008000, /* Data buffer(s) are ready for DMA */
- scsiFlagReserved3 = 0x00004000, /* */
- scsiDataPhysical = 0x00002000, /* SG/Buffer data ptrs are physical */
- scsiSensePhysical = 0x00001000, /* Autosense buffer ptr is physical */
- scsiFlagReserved5 = 0x00000800, /* */
- scsiFlagReserved6 = 0x00000400, /* */
- scsiFlagReserved7 = 0x00000200, /* */
- scsiFlagReserved8 = 0x00000100 /* */
- };
-
- /* bit masks for the scsiIOFlags field in SCSIExecIOPB */
- enum
- {
- scsiNoParityCheck = 0x0002, /* disable parity checking */
- scsiDisableSelectWAtn = 0x0004, /* disable select w/Atn */
- scsiSavePtrOnDisconnect = 0x0008, /* do SaveDataPointer upon Disconnect msg */
- scsiNoBucketIn = 0x0010, /* don't bit bucket in during this I/O */
- scsiNoBucketOut = 0x0020, /* don't bit bucket out during this I/O */
- scsiDisableWide = 0x0040, /* disable wide transfer negotiation */
- scsiInitiateWide = 0x0080, /* initiate wide transfer negotiation */
- scsiRenegotiateSense = 0x0100, /* renegotiate sync/wide before issuing autosense */
- scsiDisableDiscipline = 0x0200, /* disable parameter checking on SCSIExecIO calls */
- scsiIOFlagReserved0080 = 0x0080, /* */
- scsiIOFlagReserved8000 = 0x8000 /* */
- };
-
- /* Defines for the Bus Inquiry PB fields. */
- /* scsiHBAInquiry field bits */
- enum
- {
- scsiBusMDP = 0x80, /* Supports Modify Data Pointer message */
- scsiBusWide32 = 0x40, /* Supports 32 bit wide SCSI */
- scsiBusWide16 = 0x20, /* Supports 16 bit wide SCSI */
- scsiBusSDTR = 0x10, /* Supports Sync Data Transfer Req message */
- scsiBusLinkedCDB = 0x08, /* Supports linked CDBs */
- scsiBusTagQ = 0x02, /* Supports tag queue message */
- scsiBusSoftReset = 0x01 /* Supports soft reset */
- };
-
- /* Defines for the scsiDataType field */
- enum
- {
- scsiDataBuffer = 0, /* single contiguous buffer supplied */
- scsiDataTIB = 1, /* TIB supplied (ptr in scsiDataPtr) */
- scsiDataSG = 2, /* scatter/gather list supplied */
- scsiDataIOTable = 3 /*#(7/11/95) Prepared by Block Storage */
- };
-
- /* scsiDataTypes field bits */
- /* bits 0->15 Apple-defined, 16->30 3rd-party unique, 31 = reserved */
- enum
- {
- scsiBusDataTIB = (1 << scsiDataTIB), /* TIB supplied (ptr in scsiDataPtr) */
- scsiBusDataBuffer = (1 << scsiDataBuffer), /* single contiguous buffer supplied */
- scsiBusDataSG = (1 << scsiDataSG), /* scatter/gather list supplied */
- scsiBusDataIOTable = (1 << scsiDataIOTable), /* (2/6/95) Prepare Memory for IO*/
- scsiBusDataReserved = (long)0x80000000 /* */
- };
-
- /* scsiScanFlags field bits */
- enum
- {
- scsiBusScansDevices = 0x80, /* Bus scans for and maintains device list */
- scsiBusScansOnInit = 0x40, /* Bus scans performed at power-up/reboot */
- scsiBusLoadsROMDrivers = 0x20 /* may load ROM drivers to support targets */
- };
-
- /* scsiFeatureFlags field bits */
- enum
- {
- scsiBusLVD = 0x00000400, /* HBA is Low Voltage Differential Bus */
- scsiBusUltra3SCSI = 0x00000200, /* HBA supports Ultra3 SCSI */
- scsiBusUltra2SCSI = 0x00000100, /* HBA supports Ultra2 SCSI */
- scsiBusInternalExternalMask = 0x000000C0, /* bus internal/external mask */
- scsiBusInternalExternalUnknown = 0x00000000, /* not known whether bus is inside or outside */
- scsiBusInternalExternal = 0x000000C0, /* bus goes inside and outside the box */
- scsiBusInternal = 0x00000080, /* bus goes inside the box */
- scsiBusExternal = 0x00000040, /* bus goes outside the box */
- scsiBusCacheCoherentDMA = 0x00000020, /* DMA is cache coherent */
- scsiBusOldCallCapable = 0x00000010, /* SIM is old call capable */
- scsiBusUltraSCSI = 0x00000008, /* HBA supports Ultra SCSI */
- scsiBusDifferential = 0x00000004, /* Single Ended (0) or Differential (1) */
- scsiBusFastSCSI = 0x00000002, /* HBA supports fast SCSI */
- scsiBusDMAavailable = 0x00000001 /* DMA is available */
- };
-
- /* scsiWeirdStuff field bits */
- enum
- {
- scsiOddDisconnectUnsafeRead1 = 0x0001, /* Disconnects on odd byte boundries are unsafe with DMA and/or blind reads */
- scsiOddDisconnectUnsafeWrite1 = 0x0002, /* Disconnects on odd byte boundries are unsafe with DMA and/or blind writes */
- scsiBusErrorsUnsafe = 0x0004, /* Non-handshaked delays or disconnects during blind transfers may cause a crash */
- scsiRequiresHandshake = 0x0008, /* Non-handshaked delays or disconnects during blind transfers may cause data corruption */
- scsiTargetDrivenSDTRSafe = 0x0010, /* Targets which initiate synchronous negotiations are supported */
- scsiOddCountForPhysicalUnsafe = 0x0020, /* If using physical addrs all counts must be even, and disconnects must be on even boundries */
- scsiAbortCmdFixed = 0x0040, /* Set if abort command is fixed to properly make callbacks */
- scsiMeshACKTimingFixed = 0x0080 /* Set if bug allowing Mesh to release ACK prematurely is fixed */
- };
-
- /* scsiHBAslotType values */
- enum
- {
- scsiMotherboardBus = 0x00, /* A built in Apple supplied bus */
- scsiNuBus = 0x01, /* A SIM on a NuBus card */
- scsiPDSBus = 0x03, /* " on a PDS card */
- scsiPCIBus = 0x04, /* " on a PCI bus card */
- scsiPCMCIABus = 0x05, /* " on a PCMCIA card */
- scsiFireWireBridgeBus = 0x06, /* " connected through a FireWire bridge */
- scsiUSBBus = 0x07 /* " connected on a USB bus */
- };
-
- /* Defines for the scsiDriverFlags field (in SCSIDriverPB) */
- enum
- {
- scsiDeviceSensitive = 0x0001, /* Only driver should access this device */
- scsiDeviceNoOldCallAccess = 0x0002 /* no old call access to this device */
- };
-
- /* SIMInitInfo PB */
- /* directions are for SCSIRegisterBus call ( -> parm, <- result) */
- struct SIMInitInfo
- {
- Ptr SIMstaticPtr; /* <- alloc. ptr to the SIM's static vars */
- long staticSize; /* -> num bytes SIM needs for static vars */
- SIMInitUPP SIMInit; /* -> pointer to the SIM init routine */
- SIMActionUPP SIMAction; /* -> pointer to the SIM action routine */
- SCSIInterruptUPP SIM_ISR; /* reserved */
- SCSIInterruptUPP SIMInterruptPoll; /* -> pointer to the SIM interrupt poll routine */
- SIMActionUPP NewOldCall; /* -> pointer to the SIM NewOldCall routine */
- UInt16 ioPBSize; /* -> size of SCSI_IO_PBs required for this SIM */
- Boolean oldCallCapable; /* -> true if this SIM can handle old-API calls */
- UInt8 simInfoUnused1; /* reserved */
- long simInternalUse; /* xx not affected or viewed by XPT */
- SCSIUPP XPT_ISR; /* reserved */
- SCSIUPP EnteringSIM; /* <- ptr to the EnteringSIM routine */
- SCSIUPP ExitingSIM; /* <- ptr to the ExitingSIM routine */
- SCSIMakeCallbackUPP MakeCallback; /* <- the XPT layer's SCSIMakeCallback routine */
- UInt16 busID; /* <- bus number for the registered bus */
- UInt8 simSlotNumber; /* <- Magic cookie to place in scsiHBASlotNumber (PCI) */
- UInt8 simSRsrcID; /* <- Magic cookie to place in scsiSIMsRsrcID (PCI) */
- Ptr simRegEntry; /* -> The SIM's RegEntryIDPtr (PCI) */
- };
- typedef struct SIMInitInfo SIMInitInfo;
- /* Glue between SCSI calls and SCSITrap format */
- enum
- {
- xptSCSIAction = 0x0001,
- xptSCSIRegisterBus = 0x0002,
- xptSCSIDeregisterBus = 0x0003,
- xptSCSIReregisterBus = 0x0004,
- xptSCSIKillXPT = 0x0005, /* kills Mini-XPT after transition */
- xptSCSIInitialize = 0x000A /* Initialize the SCSI manager */
- };
-
- /*
- * SCSI bus status. These values are returned by the SCSI target in the status phase.
- * They are not related to Macintosh status values (except that values other than
- * scsiStatusGood will result in scsiResult set to scsiNonZeroStatus).
- */
- enum
- {
- scsiStatGood = 0x00, /* Good Status*/
- scsiStatCheckCondition = 0x02, /* Check Condition*/
- scsiStatConditionMet = 0x04, /* Condition Met*/
- scsiStatBusy = 0x08, /* Busy*/
- scsiStatIntermediate = 0x10, /* Intermediate*/
- scsiStatIntermedMet = 0x14, /* Intermediate - Condition Met*/
- scsiStatResvConflict = 0x18, /* Reservation conflict*/
- scsiStatTerminated = 0x22, /* Command terminated*/
- scsiStatQFull = 0x28 /* Queue full*/
- };
-
- /* SCSI messages*/
- enum
- {
- kCmdCompleteMsg = 0,
- kExtendedMsg = 1, /* 0x01*/
- kSaveDataPointerMsg = 2, /* 0x02*/
- kRestorePointersMsg = 3, /* 0x03*/
- kDisconnectMsg = 4, /* 0x04*/
- kInitiatorDetectedErrorMsg = 5, /* 0x05*/
- kAbortMsg = 6, /* 0x06*/
- kMsgRejectMsg = 7, /* 0x07*/
- kNoOperationMsg = 8, /* 0x08*/
- kMsgParityErrorMsg = 9, /* 0x09*/
- kLinkedCmdCompleteMsg = 10, /* 0x0a*/
- kLinkedCmdCompleteWithFlagMsg = 11, /* 0x0b*/
- kBusDeviceResetMsg = 12, /* 0x0c*/
- kAbortTagMsg = 13, /* 0x0d*/
- kClearQueueMsg = 14, /* 0x0e*/
- kInitiateRecoveryMsg = 15, /* 0x0f*/
- kReleaseRecoveryMsg = 16, /* 0x10*/
- kTerminateIOProcessMsg = 17, /* 0x11*/
- kSimpleQueueTag = 0x20, /* 0x20*/
- kHeadOfQueueTagMsg = 0x21, /* 0x21*/
- kOrderedQueueTagMsg = 0x22, /* 0x22*/
- kIgnoreWideResidueMsg = 0x23 /* 0x23*/
- };
-
-
- /*
- * SCSIAction()
- *
- * Discussion:
- * This routine is deprecated. It is exported and callable, but it
- * is no longer being maintained. Please use SCSITaskUserClient
- * instead.
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+struct SCSIHdr {
+ struct SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+};
+typedef struct SCSIHdr SCSIHdr;
+struct SCSI_PB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+};
+typedef struct SCSI_PB SCSI_PB;
+struct SCSI_IO {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+
+ UInt16 scsiResultFlags; /* <- Flags which modify the scsiResult field */
+ UInt16 scsiReserved3pt5; /* -> Reserved */
+ BytePtr scsiDataPtr; /* -> Pointer to the data buffer or the S/G list */
+ UInt32 scsiDataLength; /* -> Data transfer length */
+ BytePtr scsiSensePtr; /* -> Ptr to autosense data buffer */
+ UInt8 scsiSenseLength; /* -> size of the autosense buffer */
+ UInt8 scsiCDBLength; /* -> Number of bytes for the CDB */
+ UInt16 scsiSGListCount; /* -> num of scatter gather list entries */
+ UInt32 scsiReserved4; /* <- reserved for output */
+ UInt8 scsiSCSIstatus; /* <- Returned scsi device status */
+ SInt8 scsiSenseResidual; /* <- Autosense residual length */
+ UInt16 scsiReserved5; /* <- reserved for output */
+ long scsiDataResidual; /* <- Returned Transfer residual length */
+ CDB scsiCDB; /* -> Actual CDB or pointer to CDB */
+ long scsiTimeout; /* -> Timeout value (Time Mgr format) (CAM timeout) */
+ BytePtr scsiReserved5pt5; /* -> Reserved */
+ UInt16 scsiReserved5pt6; /* -> Reserved */
+ UInt16 scsiIOFlags; /* -> additional I/O flags */
+ UInt8 scsiTagAction; /* -> What to do for tag queuing */
+ UInt8 scsiReserved6; /* -> reserved for input */
+ UInt16 scsiReserved7; /* -> reserved for input */
+ UInt16 scsiSelectTimeout; /* -> Select timeout value */
+ UInt8 scsiDataType; /* -> Data description type (i.e. buffer, TIB, S/G) */
+ UInt8 scsiTransferType; /* -> Transfer type (i.e. Blind vs Polled) */
+ UInt32 scsiReserved8; /* -> reserved for input */
+ UInt32 scsiReserved9; /* -> reserved for input */
+ UInt16 scsiHandshake[8]; /* -> handshaking points (null term'd) */
+ UInt32 scsiReserved10; /* -> reserved for input */
+ UInt32 scsiReserved11; /* -> reserved for input */
+ struct SCSI_IO * scsiCommandLink; /* -> Ptr to the next PB in linked cmd chain */
+
+ UInt8 scsiSIMpublics[8]; /* -> reserved for input to 3rd-party SIMs */
+ UInt8 scsiAppleReserved6[8]; /* -> reserved for input */
+
+ /* XPT layer privates (for old-API emulation) */
+
+ UInt16 scsiCurrentPhase; /* <- phase upon completing old call */
+ short scsiSelector; /* -> selector specified in old calls */
+ OSErr scsiOldCallResult; /* <- result of old call */
+ UInt8 scsiSCSImessage; /* <- Returned scsi device message (for SCSIComplete)*/
+ UInt8 XPTprivateFlags; /* <> various flags */
+ UInt8 XPTextras[12]; /* */
+};
+typedef struct SCSI_IO SCSI_IO;
+typedef SCSI_IO SCSIExecIOPB;
+/* Bus inquiry PB */
+struct SCSIBusInquiryPB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+
+ UInt16 scsiEngineCount; /* <- Number of engines on HBA */
+ UInt16 scsiMaxTransferType; /* <- Number of transfer types for this HBA */
+
+ UInt32 scsiDataTypes; /* <- which data types are supported by this SIM */
+
+ UInt16 scsiIOpbSize; /* <- Size of SCSI_IO PB for this SIM/HBA */
+ UInt16 scsiMaxIOpbSize; /* <- Size of max SCSI_IO PB for all SIM/HBAs */
+
+ UInt32 scsiFeatureFlags; /* <- Supported features flags field */
+
+ UInt8 scsiVersionNumber; /* <- Version number for the SIM/HBA */
+ UInt8 scsiHBAInquiry; /* <- Mimic of INQ byte 7 for the HBA */
+ UInt8 scsiTargetModeFlags; /* <- Flags for target mode support */
+ UInt8 scsiScanFlags; /* <- Scan related feature flags */
+
+ UInt32 scsiSIMPrivatesPtr; /* <- Ptr to SIM private data area */
+ UInt32 scsiSIMPrivatesSize; /* <- Size of SIM private data area */
+ UInt32 scsiAsyncFlags; /* <- Event cap. for Async Callback */
+
+ UInt8 scsiHiBusID; /* <- Highest path ID in the subsystem */
+ UInt8 scsiInitiatorID; /* <- ID of the HBA on the SCSI bus */
+ UInt16 scsiBIReserved0; /* */
+
+ UInt32 scsiBIReserved1; /* <- */
+ UInt32 scsiFlagsSupported; /* <- which scsiFlags are supported */
+
+ UInt16 scsiIOFlagsSupported; /* <- which scsiIOFlags are supported */
+ UInt16 scsiWeirdStuff; /* <- */
+ UInt16 scsiMaxTarget; /* <- maximum Target number supported */
+ UInt16 scsiMaxLUN; /* <- maximum Logical Unit number supported */
+
+ char scsiSIMVendor[16]; /* <- Vendor ID of SIM (or XPT if bus<FF) */
+ char scsiHBAVendor[16]; /* <- Vendor ID of the HBA */
+ char scsiControllerFamily[16]; /* <- Family of SCSI Controller */
+ char scsiControllerType[16]; /* <- Specific Model of SCSI Controller used */
+
+ char scsiXPTversion[4]; /* <- version number of XPT */
+ char scsiSIMversion[4]; /* <- version number of SIM */
+ char scsiHBAversion[4]; /* <- version number of HBA */
+
+ UInt8 scsiHBAslotType; /* <- type of "slot" that this HBA is in */
+ UInt8 scsiHBAslotNumber; /* <- slot number of this HBA */
+ UInt16 scsiSIMsRsrcID; /* <- resource ID of this SIM */
+
+ UInt16 scsiBIReserved3; /* <- */
+ UInt16 scsiAdditionalLength; /* <- additional BusInquiry PB len */
+};
+typedef struct SCSIBusInquiryPB SCSIBusInquiryPB;
+/* Abort SIM Request PB */
+struct SCSIAbortCommandPB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+ SCSI_IO * scsiIOptr; /* Pointer to the PB to abort */
+};
+typedef struct SCSIAbortCommandPB SCSIAbortCommandPB;
+/* Terminate I/O Process Request PB */
+struct SCSITerminateIOPB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+ SCSI_IO * scsiIOptr; /* Pointer to the PB to terminate */
+};
+typedef struct SCSITerminateIOPB SCSITerminateIOPB;
+/* Reset SCSI Bus PB */
+struct SCSIResetBusPB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+};
+typedef struct SCSIResetBusPB SCSIResetBusPB;
+/* Reset SCSI Device PB */
+struct SCSIResetDevicePB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+};
+typedef struct SCSIResetDevicePB SCSIResetDevicePB;
+/* Release SIM Queue PB */
+struct SCSIReleaseQPB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ BytePtr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+};
+typedef struct SCSIReleaseQPB SCSIReleaseQPB;
+/* SCSI Get Virtual ID Info PB */
+struct SCSIGetVirtualIDInfoPB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ Ptr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+ UInt16 scsiOldCallID; /* -> SCSI ID of device in question */
+ Boolean scsiExists; /* <- true if device exists */
+ SInt8 filler;
+};
+typedef struct SCSIGetVirtualIDInfoPB SCSIGetVirtualIDInfoPB;
+/* Create/Lookup/Remove RefNum for Device PB */
+struct SCSIDriverPB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ Ptr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+ short scsiDriver; /* -> DriverRefNum, For SetDriver, <- For GetNextDriver */
+ UInt16 scsiDriverFlags; /* <> Details of driver/device */
+ DeviceIdent scsiNextDevice; /* <- DeviceIdent of the NEXT Item in the list */
+};
+typedef struct SCSIDriverPB SCSIDriverPB;
+/* Load Driver PB */
+struct SCSILoadDriverPB {
+ SCSIHdr * qLink; /* (internal use, must be nil on entry) */
+ short scsiReserved1; /* -> reserved for input */
+ UInt16 scsiPBLength; /* -> Length of the entire PB */
+ UInt8 scsiFunctionCode; /* -> function selector */
+ UInt8 scsiReserved2; /* <- reserved for output */
+ volatile OSErr scsiResult; /* <- Returned result */
+ DeviceIdent scsiDevice; /* -> Device Identifier (bus+target+lun)*/
+ SCSICallbackUPP scsiCompletion; /* -> Callback on completion function */
+ UInt32 scsiFlags; /* -> assorted flags */
+ Ptr scsiDriverStorage; /* <> Ptr for driver private use */
+ Ptr scsiXPTprivate; /* private field for use in XPT */
+ long scsiReserved3; /* reserved */
+ short scsiLoadedRefNum; /* <- SIM returns refnum of driver */
+ Boolean scsiDiskLoadFailed; /* -> if true, indicates call after failure to load */
+ SInt8 filler;
+};
+typedef struct SCSILoadDriverPB SCSILoadDriverPB;
+
+/* Defines for the scsiTransferType field */
+enum {
+ scsiTransferBlind = 0,
+ scsiTransferPolled = 1
+};
+
+enum {
+ scsiErrorBase = -7936
+};
+
+enum {
+ scsiRequestInProgress = 1, /* 1 = PB request is in progress */
+ /* Execution failed 00-2F */
+ scsiRequestAborted = scsiErrorBase + 2, /* -7934 = PB request aborted by the host */
+ scsiUnableToAbort = scsiErrorBase + 3, /* -7933 = Unable to Abort PB request */
+ scsiNonZeroStatus = scsiErrorBase + 4, /* -7932 = PB request completed with an err */
+ scsiUnused05 = scsiErrorBase + 5, /* -7931 = */
+ scsiUnused06 = scsiErrorBase + 6, /* -7930 = */
+ scsiUnused07 = scsiErrorBase + 7, /* -7929 = */
+ scsiUnused08 = scsiErrorBase + 8, /* -7928 = */
+ scsiUnableToTerminate = scsiErrorBase + 9, /* -7927 = Unable to Terminate I/O PB req */
+ scsiSelectTimeout = scsiErrorBase + 10, /* -7926 = Target selection timeout */
+ scsiCommandTimeout = scsiErrorBase + 11, /* -7925 = Command timeout */
+ scsiIdentifyMessageRejected = scsiErrorBase + 12, /* -7924 = */
+ scsiMessageRejectReceived = scsiErrorBase + 13, /* -7923 = Message reject received */
+ scsiSCSIBusReset = scsiErrorBase + 14, /* -7922 = SCSI bus reset sent/received */
+ scsiParityError = scsiErrorBase + 15, /* -7921 = Uncorrectable parity error occured */
+ scsiAutosenseFailed = scsiErrorBase + 16, /* -7920 = Autosense: Request sense cmd fail */
+ scsiUnused11 = scsiErrorBase + 17, /* -7919 = */
+ scsiDataRunError = scsiErrorBase + 18, /* -7918 = Data overrun/underrun error */
+ scsiUnexpectedBusFree = scsiErrorBase + 19, /* -7917 = Unexpected BUS free */
+ scsiSequenceFailed = scsiErrorBase + 20, /* -7916 = Target bus phase sequence failure */
+ scsiWrongDirection = scsiErrorBase + 21, /* -7915 = Data phase was in wrong direction */
+ scsiUnused16 = scsiErrorBase + 22, /* -7914 = */
+ scsiBDRsent = scsiErrorBase + 23, /* -7913 = A SCSI BDR msg was sent to target */
+ scsiTerminated = scsiErrorBase + 24, /* -7912 = PB request terminated by the host */
+ scsiNoNexus = scsiErrorBase + 25, /* -7911 = Nexus is not established */
+ scsiCDBReceived = scsiErrorBase + 26, /* -7910 = The SCSI CDB has been received */
+ /* Couldn't begin execution 30-3F */
+ scsiTooManyBuses = scsiErrorBase + 48, /* -7888 = Register failed because we're full */
+ scsiBusy = scsiErrorBase + 49, /* -7887 = SCSI subsystem is busy */
+ scsiProvideFail = scsiErrorBase + 50, /* -7886 = Unable to provide requ. capability */
+ scsiDeviceNotThere = scsiErrorBase + 51, /* -7885 = SCSI device not installed/there */
+ scsiNoHBA = scsiErrorBase + 52, /* -7884 = No HBA detected Error */
+ scsiDeviceConflict = scsiErrorBase + 53, /* -7883 = sorry, max 1 refNum per DeviceIdent */
+ scsiNoSuchXref = scsiErrorBase + 54, /* -7882 = no such RefNum xref */
+ scsiQLinkInvalid = scsiErrorBase + 55, /* -7881 = pre-linked PBs not supported */
+ /* (The QLink field was nonzero) */
+ /* Parameter errors 40-7F */
+ scsiPBLengthError = scsiErrorBase + 64, /* -7872 = (scsiPBLength is insuf'ct/invalid */
+ scsiFunctionNotAvailable = scsiErrorBase + 65, /* -7871 = The requ. func is not available */
+ scsiRequestInvalid = scsiErrorBase + 66, /* -7870 = PB request is invalid */
+ scsiBusInvalid = scsiErrorBase + 67, /* -7869 = Bus ID supplied is invalid */
+ scsiTIDInvalid = scsiErrorBase + 68, /* -7868 = Target ID supplied is invalid */
+ scsiLUNInvalid = scsiErrorBase + 69, /* -7867 = LUN supplied is invalid */
+ scsiIDInvalid = scsiErrorBase + 70, /* -7866 = The initiator ID is invalid */
+ scsiDataTypeInvalid = scsiErrorBase + 71, /* -7865 = scsiDataType requested not supported */
+ scsiTransferTypeInvalid = scsiErrorBase + 72, /* -7864 = scsiTransferType field is too high */
+ scsiCDBLengthInvalid = scsiErrorBase + 73 /* -7863 = scsiCDBLength field is too big */
+};
+
+/* New errors for SCSI Family */
+enum {
+ scsiUnused74 = scsiErrorBase + 74, /* -7862 = */
+ scsiUnused75 = scsiErrorBase + 75, /* -7861 = */
+ scsiBadDataLength = scsiErrorBase + 76, /* -7860 = a zero data length in PB */
+ scsiPartialPrepared = scsiErrorBase + 77, /* -7859 = could not do full prepare mem for I/O*/
+ scsiInvalidMsgType = scsiErrorBase + 78, /* -7858 = Invalid message type (internal) */
+ scsiUnused79 = scsiErrorBase + 79, /* -7857 = */
+ scsiBadConnID = scsiErrorBase + 80, /* -7856 = Bad Connection ID */
+ scsiUnused81 = scsiErrorBase + 81, /* -7855 = */
+ scsiIOInProgress = scsiErrorBase + 82, /* -7854 = Can't close conn, IO in prog */
+ scsiTargetReserved = scsiErrorBase + 83, /* -7853 = Target already reserved */
+ scsiUnused84 = scsiErrorBase + 84, /* -7852 = */
+ scsiUnused85 = scsiErrorBase + 85, /* -7851 = */
+ scsiBadConnType = scsiErrorBase + 86, /* -7850 = Bad connection type */
+ scsiCannotLoadPlugin = scsiErrorBase + 87 /* -7849 = No matching service category */
+};
+
+/* +++ */
+/*
+ * scsiFamilyInternalError and scsiPluginInternalError are intended to handle consistency check failures.
+ * For example, if the family stores a record on a lookaside queue, but does not find that record
+ * it can use this error to report this failure. SCSI Manager 4.3 uses dsIOCoreErr in a few places,
+ * but this is probably not the best error. In general, internal errors should be reported as bugs.
+ *
+ * The following range of errors is provided for third-party (non-Apple) SCSI SIM and device driver vendors.
+ * In general, they would be used for error conditions that are not covered by the standardized errors.
+ * They should not normally be conveyed to normal applications, but might be used for communication between
+ * a plug-in and a vendor-provided device driver (for example, to manage RAID hot-swapping).
+ *
+ * Note: I don't know how many SCSI errors are reserved in the error code architecture. Don't assume that
+ * we'll actually get sixteen, but we should reserve at least one.
+ */
+enum {
+ scsiFamilyInternalError = scsiErrorBase + 87, /* -7849 = Internal consistency check failed */
+ scsiPluginInternalError = scsiErrorBase + 88, /* -7848 = Internal consistency check failed */
+ scsiVendorSpecificErrorBase = scsiErrorBase + 128, /* ?? = Start of third-party error range */
+ scsiVendorSpecificErrorCount = 16 /* Number of third-party errors */
+};
+
+/* --- */
+enum {
+ scsiExecutionErrors = scsiErrorBase,
+ scsiNotExecutedErrors = scsiTooManyBuses,
+ scsiParameterErrors = scsiPBLengthError
+};
+
+/* Defines for the scsiResultFlags field */
+enum {
+ scsiSIMQFrozen = 0x0001, /* The SIM queue is frozen w/this err */
+ scsiAutosenseValid = 0x0002, /* Autosense data valid for target */
+ scsiBusNotFree = 0x0004 /* At time of callback, SCSI bus is not free */
+};
+
+/* Defines for the bit numbers of the scsiFlags field in the PB header for the SCSIExecIO function */
+enum {
+ kbSCSIDisableAutosense = 29, /* Disable auto sense feature */
+ kbSCSIFlagReservedA = 28, /* */
+ kbSCSIFlagReserved0 = 27, /* */
+ kbSCSICDBLinked = 26, /* The PB contains a linked CDB */
+ kbSCSIQEnable = 25, /* Target queue actions are enabled */
+ kbSCSICDBIsPointer = 24, /* The CDB field contains a pointer */
+ kbSCSIFlagReserved1 = 23, /* */
+ kbSCSIInitiateSyncData = 22, /* Attempt Sync data xfer and SDTR */
+ kbSCSIDisableSyncData = 21, /* Disable sync, go to async */
+ kbSCSISIMQHead = 20, /* Place PB at the head of SIM Q */
+ kbSCSISIMQFreeze = 19, /* Return the SIM Q to frozen state */
+ kbSCSISIMQNoFreeze = 18, /* Disallow SIM Q freezing */
+ kbSCSIDoDisconnect = 17, /* Definitely do disconnect */
+ kbSCSIDontDisconnect = 16, /* Definitely don't disconnect */
+ kbSCSIDataReadyForDMA = 15, /* Data buffer(s) are ready for DMA */
+ kbSCSIFlagReserved3 = 14, /* */
+ kbSCSIDataPhysical = 13, /* SG/Buffer data ptrs are physical */
+ kbSCSISensePhysical = 12, /* Autosense buffer ptr is physical */
+ kbSCSIFlagReserved5 = 11, /* */
+ kbSCSIFlagReserved6 = 10, /* */
+ kbSCSIFlagReserved7 = 9, /* */
+ kbSCSIFlagReserved8 = 8, /* */
+ kbSCSIDataBufferValid = 7, /* Data buffer valid */
+ kbSCSIStatusBufferValid = 6, /* Status buffer valid */
+ kbSCSIMessageBufferValid = 5, /* Message buffer valid */
+ kbSCSIFlagReserved9 = 4 /* */
+};
+
+/* Defines for the bit masks of the scsiFlags field */
+enum {
+ scsiDirectionMask = (long)0xC0000000, /* Data direction mask */
+ scsiDirectionNone = (long)0xC0000000, /* Data direction (11: no data) */
+ scsiDirectionReserved = 0x00000000, /* Data direction (00: reserved) */
+ scsiDirectionOut = (long)0x80000000, /* Data direction (10: DATA OUT) */
+ scsiDirectionIn = 0x40000000, /* Data direction (01: DATA IN) */
+ scsiDisableAutosense = 0x20000000, /* Disable auto sense feature */
+ scsiFlagReservedA = 0x10000000, /* */
+ scsiFlagReserved0 = 0x08000000, /* */
+ scsiCDBLinked = 0x04000000, /* The PB contains a linked CDB */
+ scsiQEnable = 0x02000000, /* Target queue actions are enabled */
+ scsiCDBIsPointer = 0x01000000, /* The CDB field contains a pointer */
+ scsiFlagReserved1 = 0x00800000, /* */
+ scsiInitiateSyncData = 0x00400000, /* Attempt Sync data xfer and SDTR */
+ scsiDisableSyncData = 0x00200000, /* Disable sync, go to async */
+ scsiSIMQHead = 0x00100000, /* Place PB at the head of SIM Q */
+ scsiSIMQFreeze = 0x00080000, /* Return the SIM Q to frozen state */
+ scsiSIMQNoFreeze = 0x00040000, /* Disallow SIM Q freezing */
+ scsiDoDisconnect = 0x00020000, /* Definitely do disconnect */
+ scsiDontDisconnect = 0x00010000, /* Definitely don't disconnect */
+ scsiDataReadyForDMA = 0x00008000, /* Data buffer(s) are ready for DMA */
+ scsiFlagReserved3 = 0x00004000, /* */
+ scsiDataPhysical = 0x00002000, /* SG/Buffer data ptrs are physical */
+ scsiSensePhysical = 0x00001000, /* Autosense buffer ptr is physical */
+ scsiFlagReserved5 = 0x00000800, /* */
+ scsiFlagReserved6 = 0x00000400, /* */
+ scsiFlagReserved7 = 0x00000200, /* */
+ scsiFlagReserved8 = 0x00000100 /* */
+};
+
+/* bit masks for the scsiIOFlags field in SCSIExecIOPB */
+enum {
+ scsiNoParityCheck = 0x0002, /* disable parity checking */
+ scsiDisableSelectWAtn = 0x0004, /* disable select w/Atn */
+ scsiSavePtrOnDisconnect = 0x0008, /* do SaveDataPointer upon Disconnect msg */
+ scsiNoBucketIn = 0x0010, /* don't bit bucket in during this I/O */
+ scsiNoBucketOut = 0x0020, /* don't bit bucket out during this I/O */
+ scsiDisableWide = 0x0040, /* disable wide transfer negotiation */
+ scsiInitiateWide = 0x0080, /* initiate wide transfer negotiation */
+ scsiRenegotiateSense = 0x0100, /* renegotiate sync/wide before issuing autosense */
+ scsiDisableDiscipline = 0x0200, /* disable parameter checking on SCSIExecIO calls */
+ scsiIOFlagReserved0080 = 0x0080, /* */
+ scsiIOFlagReserved8000 = 0x8000 /* */
+};
+
+/* Defines for the Bus Inquiry PB fields. */
+/* scsiHBAInquiry field bits */
+enum {
+ scsiBusMDP = 0x80, /* Supports Modify Data Pointer message */
+ scsiBusWide32 = 0x40, /* Supports 32 bit wide SCSI */
+ scsiBusWide16 = 0x20, /* Supports 16 bit wide SCSI */
+ scsiBusSDTR = 0x10, /* Supports Sync Data Transfer Req message */
+ scsiBusLinkedCDB = 0x08, /* Supports linked CDBs */
+ scsiBusTagQ = 0x02, /* Supports tag queue message */
+ scsiBusSoftReset = 0x01 /* Supports soft reset */
+};
+
+/* Defines for the scsiDataType field */
+enum {
+ scsiDataBuffer = 0, /* single contiguous buffer supplied */
+ scsiDataTIB = 1, /* TIB supplied (ptr in scsiDataPtr) */
+ scsiDataSG = 2, /* scatter/gather list supplied */
+ scsiDataIOTable = 3 /*#(7/11/95) Prepared by Block Storage */
+};
+
+/* scsiDataTypes field bits */
+/* bits 0->15 Apple-defined, 16->30 3rd-party unique, 31 = reserved */
+enum {
+ scsiBusDataTIB = (1 << scsiDataTIB), /* TIB supplied (ptr in scsiDataPtr) */
+ scsiBusDataBuffer = (1 << scsiDataBuffer), /* single contiguous buffer supplied */
+ scsiBusDataSG = (1 << scsiDataSG), /* scatter/gather list supplied */
+ scsiBusDataIOTable = (1 << scsiDataIOTable), /* (2/6/95) Prepare Memory for IO*/
+ scsiBusDataReserved = (long)0x80000000 /* */
+};
+
+/* scsiScanFlags field bits */
+enum {
+ scsiBusScansDevices = 0x80, /* Bus scans for and maintains device list */
+ scsiBusScansOnInit = 0x40, /* Bus scans performed at power-up/reboot */
+ scsiBusLoadsROMDrivers = 0x20 /* may load ROM drivers to support targets */
+};
+
+/* scsiFeatureFlags field bits */
+enum {
+ scsiBusLVD = 0x00000400, /* HBA is Low Voltage Differential Bus */
+ scsiBusUltra3SCSI = 0x00000200, /* HBA supports Ultra3 SCSI */
+ scsiBusUltra2SCSI = 0x00000100, /* HBA supports Ultra2 SCSI */
+ scsiBusInternalExternalMask = 0x000000C0, /* bus internal/external mask */
+ scsiBusInternalExternalUnknown = 0x00000000, /* not known whether bus is inside or outside */
+ scsiBusInternalExternal = 0x000000C0, /* bus goes inside and outside the box */
+ scsiBusInternal = 0x00000080, /* bus goes inside the box */
+ scsiBusExternal = 0x00000040, /* bus goes outside the box */
+ scsiBusCacheCoherentDMA = 0x00000020, /* DMA is cache coherent */
+ scsiBusOldCallCapable = 0x00000010, /* SIM is old call capable */
+ scsiBusUltraSCSI = 0x00000008, /* HBA supports Ultra SCSI */
+ scsiBusDifferential = 0x00000004, /* Single Ended (0) or Differential (1) */
+ scsiBusFastSCSI = 0x00000002, /* HBA supports fast SCSI */
+ scsiBusDMAavailable = 0x00000001 /* DMA is available */
+};
+
+/* scsiWeirdStuff field bits */
+enum {
+ scsiOddDisconnectUnsafeRead1 = 0x0001, /* Disconnects on odd byte boundries are unsafe with DMA and/or blind reads */
+ scsiOddDisconnectUnsafeWrite1 = 0x0002, /* Disconnects on odd byte boundries are unsafe with DMA and/or blind writes */
+ scsiBusErrorsUnsafe = 0x0004, /* Non-handshaked delays or disconnects during blind transfers may cause a crash */
+ scsiRequiresHandshake = 0x0008, /* Non-handshaked delays or disconnects during blind transfers may cause data corruption */
+ scsiTargetDrivenSDTRSafe = 0x0010, /* Targets which initiate synchronous negotiations are supported */
+ scsiOddCountForPhysicalUnsafe = 0x0020, /* If using physical addrs all counts must be even, and disconnects must be on even boundries */
+ scsiAbortCmdFixed = 0x0040, /* Set if abort command is fixed to properly make callbacks */
+ scsiMeshACKTimingFixed = 0x0080 /* Set if bug allowing Mesh to release ACK prematurely is fixed */
+};
+
+/* scsiHBAslotType values */
+enum {
+ scsiMotherboardBus = 0x00, /* A built in Apple supplied bus */
+ scsiNuBus = 0x01, /* A SIM on a NuBus card */
+ scsiPDSBus = 0x03, /* " on a PDS card */
+ scsiPCIBus = 0x04, /* " on a PCI bus card */
+ scsiPCMCIABus = 0x05, /* " on a PCMCIA card */
+ scsiFireWireBridgeBus = 0x06, /* " connected through a FireWire bridge */
+ scsiUSBBus = 0x07 /* " connected on a USB bus */
+};
+
+/* Defines for the scsiDriverFlags field (in SCSIDriverPB) */
+enum {
+ scsiDeviceSensitive = 0x0001, /* Only driver should access this device */
+ scsiDeviceNoOldCallAccess = 0x0002 /* no old call access to this device */
+};
+
+/* SIMInitInfo PB */
+/* directions are for SCSIRegisterBus call ( -> parm, <- result) */
+struct SIMInitInfo {
+ Ptr SIMstaticPtr; /* <- alloc. ptr to the SIM's static vars */
+ long staticSize; /* -> num bytes SIM needs for static vars */
+ SIMInitUPP SIMInit; /* -> pointer to the SIM init routine */
+ SIMActionUPP SIMAction; /* -> pointer to the SIM action routine */
+ SCSIInterruptUPP SIM_ISR; /* reserved */
+ SCSIInterruptUPP SIMInterruptPoll; /* -> pointer to the SIM interrupt poll routine */
+ SIMActionUPP NewOldCall; /* -> pointer to the SIM NewOldCall routine */
+ UInt16 ioPBSize; /* -> size of SCSI_IO_PBs required for this SIM */
+ Boolean oldCallCapable; /* -> true if this SIM can handle old-API calls */
+ UInt8 simInfoUnused1; /* reserved */
+ long simInternalUse; /* xx not affected or viewed by XPT */
+ SCSIUPP XPT_ISR; /* reserved */
+ SCSIUPP EnteringSIM; /* <- ptr to the EnteringSIM routine */
+ SCSIUPP ExitingSIM; /* <- ptr to the ExitingSIM routine */
+ SCSIMakeCallbackUPP MakeCallback; /* <- the XPT layer's SCSIMakeCallback routine */
+ UInt16 busID; /* <- bus number for the registered bus */
+ UInt8 simSlotNumber; /* <- Magic cookie to place in scsiHBASlotNumber (PCI) */
+ UInt8 simSRsrcID; /* <- Magic cookie to place in scsiSIMsRsrcID (PCI) */
+ Ptr simRegEntry; /* -> The SIM's RegEntryIDPtr (PCI) */
+};
+typedef struct SIMInitInfo SIMInitInfo;
+/* Glue between SCSI calls and SCSITrap format */
+enum {
+ xptSCSIAction = 0x0001,
+ xptSCSIRegisterBus = 0x0002,
+ xptSCSIDeregisterBus = 0x0003,
+ xptSCSIReregisterBus = 0x0004,
+ xptSCSIKillXPT = 0x0005, /* kills Mini-XPT after transition */
+ xptSCSIInitialize = 0x000A /* Initialize the SCSI manager */
+};
+
+/*
+ * SCSI bus status. These values are returned by the SCSI target in the status phase.
+ * They are not related to Macintosh status values (except that values other than
+ * scsiStatusGood will result in scsiResult set to scsiNonZeroStatus).
+ */
+enum {
+ scsiStatGood = 0x00, /* Good Status*/
+ scsiStatCheckCondition = 0x02, /* Check Condition*/
+ scsiStatConditionMet = 0x04, /* Condition Met*/
+ scsiStatBusy = 0x08, /* Busy*/
+ scsiStatIntermediate = 0x10, /* Intermediate*/
+ scsiStatIntermedMet = 0x14, /* Intermediate - Condition Met*/
+ scsiStatResvConflict = 0x18, /* Reservation conflict*/
+ scsiStatTerminated = 0x22, /* Command terminated*/
+ scsiStatQFull = 0x28 /* Queue full*/
+};
+
+/* SCSI messages*/
+enum {
+ kCmdCompleteMsg = 0,
+ kExtendedMsg = 1, /* 0x01*/
+ kSaveDataPointerMsg = 2, /* 0x02*/
+ kRestorePointersMsg = 3, /* 0x03*/
+ kDisconnectMsg = 4, /* 0x04*/
+ kInitiatorDetectedErrorMsg = 5, /* 0x05*/
+ kAbortMsg = 6, /* 0x06*/
+ kMsgRejectMsg = 7, /* 0x07*/
+ kNoOperationMsg = 8, /* 0x08*/
+ kMsgParityErrorMsg = 9, /* 0x09*/
+ kLinkedCmdCompleteMsg = 10, /* 0x0a*/
+ kLinkedCmdCompleteWithFlagMsg = 11, /* 0x0b*/
+ kBusDeviceResetMsg = 12, /* 0x0c*/
+ kAbortTagMsg = 13, /* 0x0d*/
+ kClearQueueMsg = 14, /* 0x0e*/
+ kInitiateRecoveryMsg = 15, /* 0x0f*/
+ kReleaseRecoveryMsg = 16, /* 0x10*/
+ kTerminateIOProcessMsg = 17, /* 0x11*/
+ kSimpleQueueTag = 0x20, /* 0x20*/
+ kHeadOfQueueTagMsg = 0x21, /* 0x21*/
+ kOrderedQueueTagMsg = 0x22, /* 0x22*/
+ kIgnoreWideResidueMsg = 0x23 /* 0x23*/
+};
+
+
+/*
+ * SCSIAction()
+ *
+ * Discussion:
+ * This routine is deprecated. It is exported and callable, but it
+ * is no longer being maintained. Please use SCSITaskUserClient
+ * instead.
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCSIAction(__A0)
#endif
- EXTERN_API(OSErr)
- SCSIAction(SCSI_PB * parameterBlock) TWOWORDINLINE(0x7001, 0xA089);
+EXTERN_API( OSErr )
+SCSIAction(SCSI_PB * parameterBlock) TWOWORDINLINE(0x7001, 0xA089);
#if CALL_NOT_IN_CARBON
- /*
- * SCSIRegisterBus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * SCSIRegisterBus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCSIRegisterBus(__A0)
#endif
- EXTERN_API(OSErr)
- SCSIRegisterBus(SIMInitInfo * parameterBlock) TWOWORDINLINE(0x7002, 0xA089);
-
-
- /*
- * SCSIDeregisterBus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SCSIRegisterBus(SIMInitInfo * parameterBlock) TWOWORDINLINE(0x7002, 0xA089);
+
+
+/*
+ * SCSIDeregisterBus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCSIDeregisterBus(__A0)
#endif
- EXTERN_API(OSErr)
- SCSIDeregisterBus(SCSI_PB * parameterBlock) TWOWORDINLINE(0x7003, 0xA089);
-
-
- /*
- * SCSIReregisterBus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SCSIDeregisterBus(SCSI_PB * parameterBlock) TWOWORDINLINE(0x7003, 0xA089);
+
+
+/*
+ * SCSIReregisterBus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCSIReregisterBus(__A0)
#endif
- EXTERN_API(OSErr)
- SCSIReregisterBus(SIMInitInfo * parameterBlock) TWOWORDINLINE(0x7004, 0xA089);
-
-
- /*
- * SCSIKillXPT()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SCSIReregisterBus(SIMInitInfo * parameterBlock) TWOWORDINLINE(0x7004, 0xA089);
+
+
+/*
+ * SCSIKillXPT()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCSIKillXPT(__A0)
#endif
- EXTERN_API(OSErr)
- SCSIKillXPT(SIMInitInfo * parameterBlock) TWOWORDINLINE(0x7005, 0xA089);
+EXTERN_API( OSErr )
+SCSIKillXPT(SIMInitInfo * parameterBlock) TWOWORDINLINE(0x7005, 0xA089);
@@ -1769,11 +1647,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/SFNTLayoutTypes.h b/include/qt/SFNTLayoutTypes.h
index 50561c7c7..0706ab991 100644
--- a/include/qt/SFNTLayoutTypes.h
+++ b/include/qt/SFNTLayoutTypes.h
@@ -1,17 +1,17 @@
/*
File: SFNTLayoutTypes.h
-
+
Contains: SFNT file layout structures and constants.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SFNTLAYOUTTYPES__
#define __SFNTLAYOUTTYPES__
@@ -31,11 +31,11 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/* ----------------------------------------------------------------------------------------- */
@@ -52,41 +52,40 @@
* Summary:
* Feature types
*/
-enum
-{
- kAllTypographicFeaturesType = 0,
- kLigaturesType = 1,
- kCursiveConnectionType = 2,
- kLetterCaseType = 3,
- kVerticalSubstitutionType = 4,
- kLinguisticRearrangementType = 5,
- kNumberSpacingType = 6,
- kSmartSwashType = 8,
- kDiacriticsType = 9,
- kVerticalPositionType = 10,
- kFractionsType = 11,
- kOverlappingCharactersType = 13,
- kTypographicExtrasType = 14,
- kMathematicalExtrasType = 15,
- kOrnamentSetsType = 16,
- kCharacterAlternativesType = 17,
- kDesignComplexityType = 18,
- kStyleOptionsType = 19,
- kCharacterShapeType = 20,
- kNumberCaseType = 21,
- kTextSpacingType = 22,
- kTransliterationType = 23,
- kAnnotationType = 24,
- kKanaSpacingType = 25,
- kIdeographicSpacingType = 26,
- kUnicodeDecompositionType = 27,
- kRubyKanaType = 28,
- kCJKSymbolAlternativesType = 29,
- kIdeographicAlternativesType = 30,
- kCJKVerticalRomanPlacementType = 31,
- kItalicCJKRomanType = 32,
- kCJKRomanSpacingType = 103,
- kLastFeatureType = -1
+enum {
+ kAllTypographicFeaturesType = 0,
+ kLigaturesType = 1,
+ kCursiveConnectionType = 2,
+ kLetterCaseType = 3,
+ kVerticalSubstitutionType = 4,
+ kLinguisticRearrangementType = 5,
+ kNumberSpacingType = 6,
+ kSmartSwashType = 8,
+ kDiacriticsType = 9,
+ kVerticalPositionType = 10,
+ kFractionsType = 11,
+ kOverlappingCharactersType = 13,
+ kTypographicExtrasType = 14,
+ kMathematicalExtrasType = 15,
+ kOrnamentSetsType = 16,
+ kCharacterAlternativesType = 17,
+ kDesignComplexityType = 18,
+ kStyleOptionsType = 19,
+ kCharacterShapeType = 20,
+ kNumberCaseType = 21,
+ kTextSpacingType = 22,
+ kTransliterationType = 23,
+ kAnnotationType = 24,
+ kKanaSpacingType = 25,
+ kIdeographicSpacingType = 26,
+ kUnicodeDecompositionType = 27,
+ kRubyKanaType = 28,
+ kCJKSymbolAlternativesType = 29,
+ kIdeographicAlternativesType = 30,
+ kCJKVerticalRomanPlacementType = 31,
+ kItalicCJKRomanType = 32,
+ kCJKRomanSpacingType = 103,
+ kLastFeatureType = -1
};
@@ -94,10 +93,9 @@ enum
* Summary:
* Selectors for feature type kAllTypographicFeaturesType
*/
-enum
-{
- kAllTypeFeaturesOnSelector = 0,
- kAllTypeFeaturesOffSelector = 1
+enum {
+ kAllTypeFeaturesOnSelector = 0,
+ kAllTypeFeaturesOffSelector = 1
};
@@ -106,26 +104,25 @@ enum
* Summary:
* Selectors for feature type kLigaturesType
*/
-enum
-{
- kRequiredLigaturesOnSelector = 0,
- kRequiredLigaturesOffSelector = 1,
- kCommonLigaturesOnSelector = 2,
- kCommonLigaturesOffSelector = 3,
- kRareLigaturesOnSelector = 4,
- kRareLigaturesOffSelector = 5,
- kLogosOnSelector = 6,
- kLogosOffSelector = 7,
- kRebusPicturesOnSelector = 8,
- kRebusPicturesOffSelector = 9,
- kDiphthongLigaturesOnSelector = 10,
- kDiphthongLigaturesOffSelector = 11,
- kSquaredLigaturesOnSelector = 12,
- kSquaredLigaturesOffSelector = 13,
- kAbbrevSquaredLigaturesOnSelector = 14,
- kAbbrevSquaredLigaturesOffSelector = 15,
- kSymbolLigaturesOnSelector = 16,
- kSymbolLigaturesOffSelector = 17
+enum {
+ kRequiredLigaturesOnSelector = 0,
+ kRequiredLigaturesOffSelector = 1,
+ kCommonLigaturesOnSelector = 2,
+ kCommonLigaturesOffSelector = 3,
+ kRareLigaturesOnSelector = 4,
+ kRareLigaturesOffSelector = 5,
+ kLogosOnSelector = 6,
+ kLogosOffSelector = 7,
+ kRebusPicturesOnSelector = 8,
+ kRebusPicturesOffSelector = 9,
+ kDiphthongLigaturesOnSelector = 10,
+ kDiphthongLigaturesOffSelector = 11,
+ kSquaredLigaturesOnSelector = 12,
+ kSquaredLigaturesOffSelector = 13,
+ kAbbrevSquaredLigaturesOnSelector = 14,
+ kAbbrevSquaredLigaturesOffSelector = 15,
+ kSymbolLigaturesOnSelector = 16,
+ kSymbolLigaturesOffSelector = 17
};
@@ -133,11 +130,10 @@ enum
* Summary:
* Selectors for feature type kCursiveConnectionType
*/
-enum
-{
- kUnconnectedSelector = 0,
- kPartiallyConnectedSelector = 1,
- kCursiveSelector = 2
+enum {
+ kUnconnectedSelector = 0,
+ kPartiallyConnectedSelector = 1,
+ kCursiveSelector = 2
};
@@ -145,14 +141,13 @@ enum
* Summary:
* Selectors for feature type kLetterCaseType
*/
-enum
-{
- kUpperAndLowerCaseSelector = 0,
- kAllCapsSelector = 1,
- kAllLowerCaseSelector = 2,
- kSmallCapsSelector = 3,
- kInitialCapsSelector = 4,
- kInitialCapsAndSmallCapsSelector = 5
+enum {
+ kUpperAndLowerCaseSelector = 0,
+ kAllCapsSelector = 1,
+ kAllLowerCaseSelector = 2,
+ kSmallCapsSelector = 3,
+ kInitialCapsSelector = 4,
+ kInitialCapsAndSmallCapsSelector = 5
};
@@ -160,10 +155,9 @@ enum
* Summary:
* Selectors for feature type kVerticalSubstitutionType
*/
-enum
-{
- kSubstituteVerticalFormsOnSelector = 0,
- kSubstituteVerticalFormsOffSelector = 1
+enum {
+ kSubstituteVerticalFormsOnSelector = 0,
+ kSubstituteVerticalFormsOffSelector = 1
};
@@ -171,10 +165,9 @@ enum
* Summary:
* Selectors for feature type kLinguisticRearrangementType
*/
-enum
-{
- kLinguisticRearrangementOnSelector = 0,
- kLinguisticRearrangementOffSelector = 1
+enum {
+ kLinguisticRearrangementOnSelector = 0,
+ kLinguisticRearrangementOffSelector = 1
};
@@ -182,12 +175,11 @@ enum
* Summary:
* Selectors for feature type kNumberSpacingType
*/
-enum
-{
- kMonospacedNumbersSelector = 0,
- kProportionalNumbersSelector = 1,
- kThirdWidthNumbersSelector = 2,
- kQuarterWidthNumbersSelector = 3
+enum {
+ kMonospacedNumbersSelector = 0,
+ kProportionalNumbersSelector = 1,
+ kThirdWidthNumbersSelector = 2,
+ kQuarterWidthNumbersSelector = 3
};
@@ -195,18 +187,17 @@ enum
* Summary:
* Selectors for feature type kSmartSwashType
*/
-enum
-{
- kWordInitialSwashesOnSelector = 0,
- kWordInitialSwashesOffSelector = 1,
- kWordFinalSwashesOnSelector = 2,
- kWordFinalSwashesOffSelector = 3,
- kLineInitialSwashesOnSelector = 4,
- kLineInitialSwashesOffSelector = 5,
- kLineFinalSwashesOnSelector = 6,
- kLineFinalSwashesOffSelector = 7,
- kNonFinalSwashesOnSelector = 8,
- kNonFinalSwashesOffSelector = 9
+enum {
+ kWordInitialSwashesOnSelector = 0,
+ kWordInitialSwashesOffSelector = 1,
+ kWordFinalSwashesOnSelector = 2,
+ kWordFinalSwashesOffSelector = 3,
+ kLineInitialSwashesOnSelector = 4,
+ kLineInitialSwashesOffSelector = 5,
+ kLineFinalSwashesOnSelector = 6,
+ kLineFinalSwashesOffSelector = 7,
+ kNonFinalSwashesOnSelector = 8,
+ kNonFinalSwashesOffSelector = 9
};
@@ -214,11 +205,10 @@ enum
* Summary:
* Selectors for feature type kDiacriticsType
*/
-enum
-{
- kShowDiacriticsSelector = 0,
- kHideDiacriticsSelector = 1,
- kDecomposeDiacriticsSelector = 2
+enum {
+ kShowDiacriticsSelector = 0,
+ kHideDiacriticsSelector = 1,
+ kDecomposeDiacriticsSelector = 2
};
@@ -226,12 +216,11 @@ enum
* Summary:
* Selectors for feature type kVerticalPositionType
*/
-enum
-{
- kNormalPositionSelector = 0,
- kSuperiorsSelector = 1,
- kInferiorsSelector = 2,
- kOrdinalsSelector = 3
+enum {
+ kNormalPositionSelector = 0,
+ kSuperiorsSelector = 1,
+ kInferiorsSelector = 2,
+ kOrdinalsSelector = 3
};
@@ -239,11 +228,10 @@ enum
* Summary:
* Selectors for feature type kFractionsType
*/
-enum
-{
- kNoFractionsSelector = 0,
- kVerticalFractionsSelector = 1,
- kDiagonalFractionsSelector = 2
+enum {
+ kNoFractionsSelector = 0,
+ kVerticalFractionsSelector = 1,
+ kDiagonalFractionsSelector = 2
};
@@ -251,10 +239,9 @@ enum
* Summary:
* Selectors for feature type kOverlappingCharactersType
*/
-enum
-{
- kPreventOverlapOnSelector = 0,
- kPreventOverlapOffSelector = 1
+enum {
+ kPreventOverlapOnSelector = 0,
+ kPreventOverlapOffSelector = 1
};
@@ -262,20 +249,19 @@ enum
* Summary:
* Selectors for feature type kTypographicExtrasType
*/
-enum
-{
- kHyphensToEmDashOnSelector = 0,
- kHyphensToEmDashOffSelector = 1,
- kHyphenToEnDashOnSelector = 2,
- kHyphenToEnDashOffSelector = 3,
- kSlashedZeroOnSelector = 4,
- kSlashedZeroOffSelector = 5,
- kFormInterrobangOnSelector = 6,
- kFormInterrobangOffSelector = 7,
- kSmartQuotesOnSelector = 8,
- kSmartQuotesOffSelector = 9,
- kPeriodsToEllipsisOnSelector = 10,
- kPeriodsToEllipsisOffSelector = 11
+enum {
+ kHyphensToEmDashOnSelector = 0,
+ kHyphensToEmDashOffSelector = 1,
+ kHyphenToEnDashOnSelector = 2,
+ kHyphenToEnDashOffSelector = 3,
+ kSlashedZeroOnSelector = 4,
+ kSlashedZeroOffSelector = 5,
+ kFormInterrobangOnSelector = 6,
+ kFormInterrobangOffSelector = 7,
+ kSmartQuotesOnSelector = 8,
+ kSmartQuotesOffSelector = 9,
+ kPeriodsToEllipsisOnSelector = 10,
+ kPeriodsToEllipsisOffSelector = 11
};
@@ -283,18 +269,17 @@ enum
* Summary:
* Selectors for feature type kMathematicalExtrasType
*/
-enum
-{
- kHyphenToMinusOnSelector = 0,
- kHyphenToMinusOffSelector = 1,
- kAsteriskToMultiplyOnSelector = 2,
- kAsteriskToMultiplyOffSelector = 3,
- kSlashToDivideOnSelector = 4,
- kSlashToDivideOffSelector = 5,
- kInequalityLigaturesOnSelector = 6,
- kInequalityLigaturesOffSelector = 7,
- kExponentsOnSelector = 8,
- kExponentsOffSelector = 9
+enum {
+ kHyphenToMinusOnSelector = 0,
+ kHyphenToMinusOffSelector = 1,
+ kAsteriskToMultiplyOnSelector = 2,
+ kAsteriskToMultiplyOffSelector = 3,
+ kSlashToDivideOnSelector = 4,
+ kSlashToDivideOffSelector = 5,
+ kInequalityLigaturesOnSelector = 6,
+ kInequalityLigaturesOffSelector = 7,
+ kExponentsOnSelector = 8,
+ kExponentsOffSelector = 9
};
@@ -302,15 +287,14 @@ enum
* Summary:
* Selectors for feature type kOrnamentSetsType
*/
-enum
-{
- kNoOrnamentsSelector = 0,
- kDingbatsSelector = 1,
- kPiCharactersSelector = 2,
- kFleuronsSelector = 3,
- kDecorativeBordersSelector = 4,
- kInternationalSymbolsSelector = 5,
- kMathSymbolsSelector = 6
+enum {
+ kNoOrnamentsSelector = 0,
+ kDingbatsSelector = 1,
+ kPiCharactersSelector = 2,
+ kFleuronsSelector = 3,
+ kDecorativeBordersSelector = 4,
+ kInternationalSymbolsSelector = 5,
+ kMathSymbolsSelector = 6
};
@@ -318,9 +302,8 @@ enum
* Summary:
* Selectors for feature type kCharacterAlternativesType
*/
-enum
-{
- kNoAlternatesSelector = 0
+enum {
+ kNoAlternatesSelector = 0
};
@@ -328,13 +311,12 @@ enum
* Summary:
* Selectors for feature type kDesignComplexityType
*/
-enum
-{
- kDesignLevel1Selector = 0,
- kDesignLevel2Selector = 1,
- kDesignLevel3Selector = 2,
- kDesignLevel4Selector = 3,
- kDesignLevel5Selector = 4
+enum {
+ kDesignLevel1Selector = 0,
+ kDesignLevel2Selector = 1,
+ kDesignLevel3Selector = 2,
+ kDesignLevel4Selector = 3,
+ kDesignLevel5Selector = 4
};
@@ -342,14 +324,13 @@ enum
* Summary:
* Selectors for feature type kStyleOptionsType
*/
-enum
-{
- kNoStyleOptionsSelector = 0,
- kDisplayTextSelector = 1,
- kEngravedTextSelector = 2,
- kIlluminatedCapsSelector = 3,
- kTitlingCapsSelector = 4,
- kTallCapsSelector = 5
+enum {
+ kNoStyleOptionsSelector = 0,
+ kDisplayTextSelector = 1,
+ kEngravedTextSelector = 2,
+ kIlluminatedCapsSelector = 3,
+ kTitlingCapsSelector = 4,
+ kTallCapsSelector = 5
};
@@ -357,19 +338,18 @@ enum
* Summary:
* Selectors for feature type kCharacterShapeType
*/
-enum
-{
- kTraditionalCharactersSelector = 0,
- kSimplifiedCharactersSelector = 1,
- kJIS1978CharactersSelector = 2,
- kJIS1983CharactersSelector = 3,
- kJIS1990CharactersSelector = 4,
- kTraditionalAltOneSelector = 5,
- kTraditionalAltTwoSelector = 6,
- kTraditionalAltThreeSelector = 7,
- kTraditionalAltFourSelector = 8,
- kTraditionalAltFiveSelector = 9,
- kExpertCharactersSelector = 10
+enum {
+ kTraditionalCharactersSelector = 0,
+ kSimplifiedCharactersSelector = 1,
+ kJIS1978CharactersSelector = 2,
+ kJIS1983CharactersSelector = 3,
+ kJIS1990CharactersSelector = 4,
+ kTraditionalAltOneSelector = 5,
+ kTraditionalAltTwoSelector = 6,
+ kTraditionalAltThreeSelector = 7,
+ kTraditionalAltFourSelector = 8,
+ kTraditionalAltFiveSelector = 9,
+ kExpertCharactersSelector = 10
};
@@ -377,10 +357,9 @@ enum
* Summary:
* Selectors for feature type kNumberCaseType
*/
-enum
-{
- kLowerCaseNumbersSelector = 0,
- kUpperCaseNumbersSelector = 1
+enum {
+ kLowerCaseNumbersSelector = 0,
+ kUpperCaseNumbersSelector = 1
};
@@ -388,11 +367,10 @@ enum
* Summary:
* Selectors for feature type kTextSpacingType
*/
-enum
-{
- kProportionalTextSelector = 0,
- kMonospacedTextSelector = 1,
- kHalfWidthTextSelector = 2
+enum {
+ kProportionalTextSelector = 0,
+ kMonospacedTextSelector = 1,
+ kHalfWidthTextSelector = 2
};
@@ -400,18 +378,17 @@ enum
* Summary:
* Selectors for feature type kTransliterationType
*/
-enum
-{
- kNoTransliterationSelector = 0,
- kHanjaToHangulSelector = 1,
- kHiraganaToKatakanaSelector = 2,
- kKatakanaToHiraganaSelector = 3,
- kKanaToRomanizationSelector = 4,
- kRomanizationToHiraganaSelector = 5,
- kRomanizationToKatakanaSelector = 6,
- kHanjaToHangulAltOneSelector = 7,
- kHanjaToHangulAltTwoSelector = 8,
- kHanjaToHangulAltThreeSelector = 9
+enum {
+ kNoTransliterationSelector = 0,
+ kHanjaToHangulSelector = 1,
+ kHiraganaToKatakanaSelector = 2,
+ kKatakanaToHiraganaSelector = 3,
+ kKanaToRomanizationSelector = 4,
+ kRomanizationToHiraganaSelector = 5,
+ kRomanizationToKatakanaSelector = 6,
+ kHanjaToHangulAltOneSelector = 7,
+ kHanjaToHangulAltTwoSelector = 8,
+ kHanjaToHangulAltThreeSelector = 9
};
@@ -419,19 +396,18 @@ enum
* Summary:
* Selectors for feature type kAnnotationType
*/
-enum
-{
- kNoAnnotationSelector = 0,
- kBoxAnnotationSelector = 1,
- kRoundedBoxAnnotationSelector = 2,
- kCircleAnnotationSelector = 3,
- kInvertedCircleAnnotationSelector = 4,
- kParenthesisAnnotationSelector = 5,
- kPeriodAnnotationSelector = 6,
- kRomanNumeralAnnotationSelector = 7,
- kDiamondAnnotationSelector = 8,
- kInvertedBoxAnnotationSelector = 9,
- kInvertedRoundedBoxAnnotationSelector = 10
+enum {
+ kNoAnnotationSelector = 0,
+ kBoxAnnotationSelector = 1,
+ kRoundedBoxAnnotationSelector = 2,
+ kCircleAnnotationSelector = 3,
+ kInvertedCircleAnnotationSelector = 4,
+ kParenthesisAnnotationSelector = 5,
+ kPeriodAnnotationSelector = 6,
+ kRomanNumeralAnnotationSelector = 7,
+ kDiamondAnnotationSelector = 8,
+ kInvertedBoxAnnotationSelector = 9,
+ kInvertedRoundedBoxAnnotationSelector = 10
};
@@ -439,10 +415,9 @@ enum
* Summary:
* Selectors for feature type kKanaSpacingType
*/
-enum
-{
- kFullWidthKanaSelector = 0,
- kProportionalKanaSelector = 1
+enum {
+ kFullWidthKanaSelector = 0,
+ kProportionalKanaSelector = 1
};
@@ -450,11 +425,10 @@ enum
* Summary:
* Selectors for feature type kIdeographicSpacingType
*/
-enum
-{
- kFullWidthIdeographsSelector = 0,
- kProportionalIdeographsSelector = 1,
- kHalfWidthIdeographsSelector = 2
+enum {
+ kFullWidthIdeographsSelector = 0,
+ kProportionalIdeographsSelector = 1,
+ kHalfWidthIdeographsSelector = 2
};
@@ -462,14 +436,13 @@ enum
* Summary:
* Selectors for feature type kUnicodeDecompositionType
*/
-enum
-{
- kCanonicalCompositionOnSelector = 0,
- kCanonicalCompositionOffSelector = 1,
- kCompatibilityCompositionOnSelector = 2,
- kCompatibilityCompositionOffSelector = 3,
- kTranscodingCompositionOnSelector = 4,
- kTranscodingCompositionOffSelector = 5
+enum {
+ kCanonicalCompositionOnSelector = 0,
+ kCanonicalCompositionOffSelector = 1,
+ kCompatibilityCompositionOnSelector = 2,
+ kCompatibilityCompositionOffSelector = 3,
+ kTranscodingCompositionOnSelector = 4,
+ kTranscodingCompositionOffSelector = 5
};
@@ -477,10 +450,9 @@ enum
* Summary:
* Selectors for feature type kRubyKanaType
*/
-enum
-{
- kNoRubyKanaSelector = 0,
- kRubyKanaSelector = 1
+enum {
+ kNoRubyKanaSelector = 0,
+ kRubyKanaSelector = 1
};
@@ -488,14 +460,13 @@ enum
* Summary:
* Selectors for feature type kCJKSymbolAlternativesType
*/
-enum
-{
- kNoCJKSymbolAlternativesSelector = 0,
- kCJKSymbolAltOneSelector = 1,
- kCJKSymbolAltTwoSelector = 2,
- kCJKSymbolAltThreeSelector = 3,
- kCJKSymbolAltFourSelector = 4,
- kCJKSymbolAltFiveSelector = 5
+enum {
+ kNoCJKSymbolAlternativesSelector = 0,
+ kCJKSymbolAltOneSelector = 1,
+ kCJKSymbolAltTwoSelector = 2,
+ kCJKSymbolAltThreeSelector = 3,
+ kCJKSymbolAltFourSelector = 4,
+ kCJKSymbolAltFiveSelector = 5
};
@@ -503,14 +474,13 @@ enum
* Summary:
* Selectors for feature type kIdeographicAlternativesType
*/
-enum
-{
- kNoIdeographicAlternativesSelector = 0,
- kIdeographicAltOneSelector = 1,
- kIdeographicAltTwoSelector = 2,
- kIdeographicAltThreeSelector = 3,
- kIdeographicAltFourSelector = 4,
- kIdeographicAltFiveSelector = 5
+enum {
+ kNoIdeographicAlternativesSelector = 0,
+ kIdeographicAltOneSelector = 1,
+ kIdeographicAltTwoSelector = 2,
+ kIdeographicAltThreeSelector = 3,
+ kIdeographicAltFourSelector = 4,
+ kIdeographicAltFiveSelector = 5
};
@@ -518,10 +488,9 @@ enum
* Summary:
* Selectors for feature type kCJKVerticalRomanPlacementType
*/
-enum
-{
- kCJKVerticalRomanCenteredSelector = 0,
- kCJKVerticalRomanHBaselineSelector = 1
+enum {
+ kCJKVerticalRomanCenteredSelector = 0,
+ kCJKVerticalRomanHBaselineSelector = 1
};
@@ -529,10 +498,9 @@ enum
* Summary:
* Selectors for feature type kItalicCJKRomanType
*/
-enum
-{
- kNoCJKItalicRomanSelector = 0,
- kCJKItalicRomanSelector = 1
+enum {
+ kNoCJKItalicRomanSelector = 0,
+ kCJKItalicRomanSelector = 1
};
@@ -540,25 +508,23 @@ enum
* Summary:
* Selectors for feature type kCJKRomanSpacingType
*/
-enum
-{
- kHalfWidthCJKRomanSelector = 0,
- kProportionalCJKRomanSelector = 1,
- kDefaultCJKRomanSelector = 2,
- kFullWidthCJKRomanSelector = 3
+enum {
+ kHalfWidthCJKRomanSelector = 0,
+ kProportionalCJKRomanSelector = 1,
+ kDefaultCJKRomanSelector = 2,
+ kFullWidthCJKRomanSelector = 3
};
/* --------------------------------------------------------------------------- */
/* ---------------- Table Specific Typedefs and Constants -------------------- */
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: lookup tables - used within various other tables */
-enum
-{
- kSFNTLookupSimpleArray = 0, /* a simple array indexed by glyph code */
- kSFNTLookupSegmentSingle = 2, /* segment mapping to single value */
- kSFNTLookupSegmentArray = 4, /* segment mapping to lookup array */
- kSFNTLookupSingleTable = 6, /* sorted list of glyph, value pairs */
- kSFNTLookupTrimmedArray = 8 /* a simple trimmed array indexed by glyph code */
+enum {
+ kSFNTLookupSimpleArray = 0, /* a simple array indexed by glyph code */
+ kSFNTLookupSegmentSingle = 2, /* segment mapping to single value */
+ kSFNTLookupSegmentArray = 4, /* segment mapping to lookup array */
+ kSFNTLookupSingleTable = 6, /* sorted list of glyph, value pairs */
+ kSFNTLookupTrimmedArray = 8 /* a simple trimmed array indexed by glyph code */
};
typedef UInt16 SFNTLookupTableFormat;
@@ -571,27 +537,24 @@ typedef UInt32 SFNTLookupKind;
similar types, is important here, since these tables are in fonts, and the
documented font formats specify 16-bit quantities).
*/
-struct SFNTLookupBinarySearchHeader
-{
- UInt16 unitSize; /* size of a unit in bytes */
- UInt16 nUnits; /* number of units in table */
- UInt16 searchRange; /* (largest power of two <= nUnits) * unitSize */
- UInt16 entrySelector; /* log2 (largest power of two <= nUnits) */
- UInt16 rangeShift; /* (nUnits - largest power of two <= nUnits) * unitSize */
+struct SFNTLookupBinarySearchHeader {
+ UInt16 unitSize; /* size of a unit in bytes */
+ UInt16 nUnits; /* number of units in table */
+ UInt16 searchRange; /* (largest power of two <= nUnits) * unitSize */
+ UInt16 entrySelector; /* log2 (largest power of two <= nUnits) */
+ UInt16 rangeShift; /* (nUnits - largest power of two <= nUnits) * unitSize */
};
typedef struct SFNTLookupBinarySearchHeader SFNTLookupBinarySearchHeader;
/* A format 0 lookup table maps all glyphs in the font to lookup values */
-struct SFNTLookupArrayHeader
-{
- SFNTLookupValue lookupValues[1];
+struct SFNTLookupArrayHeader {
+ SFNTLookupValue lookupValues[1];
};
typedef struct SFNTLookupArrayHeader SFNTLookupArrayHeader;
/* A format 8 lookup table maps some range of glyphs in the font to lookup values */
-struct SFNTLookupTrimmedArrayHeader
-{
- UInt16 firstGlyph;
- UInt16 count;
- SFNTLookupValue valueArray[1];
+struct SFNTLookupTrimmedArrayHeader {
+ UInt16 firstGlyph;
+ UInt16 count;
+ SFNTLookupValue valueArray[1];
};
typedef struct SFNTLookupTrimmedArrayHeader SFNTLookupTrimmedArrayHeader;
/*
@@ -600,220 +563,196 @@ typedef struct SFNTLookupTrimmedArrayHeader SFNTLookupTrimmedArrayHeader;
use the same kind of data, only one unified set of segment-related structures
is defined.
*/
-struct SFNTLookupSegment
-{
- UInt16 lastGlyph;
- UInt16 firstGlyph;
- UInt16 value[1];
+struct SFNTLookupSegment {
+ UInt16 lastGlyph;
+ UInt16 firstGlyph;
+ UInt16 value[1];
};
typedef struct SFNTLookupSegment SFNTLookupSegment;
-struct SFNTLookupSegmentHeader
-{
- SFNTLookupBinarySearchHeader binSearch;
- SFNTLookupSegment segments[1];
+struct SFNTLookupSegmentHeader {
+ SFNTLookupBinarySearchHeader binSearch;
+ SFNTLookupSegment segments[1];
};
typedef struct SFNTLookupSegmentHeader SFNTLookupSegmentHeader;
/* A format 6 lookup table maps single glyphs to lookup values. */
-struct SFNTLookupSingle
-{
- UInt16 glyph;
- UInt16 value[1];
+struct SFNTLookupSingle {
+ UInt16 glyph;
+ UInt16 value[1];
};
typedef struct SFNTLookupSingle SFNTLookupSingle;
-struct SFNTLookupSingleHeader
-{
- SFNTLookupBinarySearchHeader binSearch;
- SFNTLookupSingle entries[1];
+struct SFNTLookupSingleHeader {
+ SFNTLookupBinarySearchHeader binSearch;
+ SFNTLookupSingle entries[1];
};
typedef struct SFNTLookupSingleHeader SFNTLookupSingleHeader;
/* The format-specific part of the subtable header */
-union SFNTLookupFormatSpecificHeader
-{
- SFNTLookupArrayHeader theArray;
- SFNTLookupSegmentHeader segment;
- SFNTLookupSingleHeader single;
- SFNTLookupTrimmedArrayHeader trimmedArray;
+union SFNTLookupFormatSpecificHeader {
+ SFNTLookupArrayHeader theArray;
+ SFNTLookupSegmentHeader segment;
+ SFNTLookupSingleHeader single;
+ SFNTLookupTrimmedArrayHeader trimmedArray;
};
typedef union SFNTLookupFormatSpecificHeader SFNTLookupFormatSpecificHeader;
/* The overall subtable header */
-struct SFNTLookupTable
-{
- SFNTLookupTableFormat format; /* table format */
- SFNTLookupFormatSpecificHeader fsHeader; /* format specific header */
+struct SFNTLookupTable {
+ SFNTLookupTableFormat format; /* table format */
+ SFNTLookupFormatSpecificHeader fsHeader; /* format specific header */
};
typedef struct SFNTLookupTable SFNTLookupTable;
typedef SFNTLookupTable * SFNTLookupTablePtr;
typedef SFNTLookupTablePtr * SFNTLookupTableHandle;
/* --------------------------------------------------------------------------- */
/* GENERAL FORMATS FOR STATE TABLES -- prefix "ST" */
-enum
-{
- kSTClassEndOfText = 0,
- kSTClassOutOfBounds = 1,
- kSTClassDeletedGlyph = 2,
- kSTClassEndOfLine = 3,
- kSTSetMark = 0x8000,
- kSTNoAdvance = 0x4000,
- kSTMarkEnd = 0x2000,
- kSTLigActionMask = 0x3FFF,
- kSTRearrVerbMask = 0x000F
+enum {
+ kSTClassEndOfText = 0,
+ kSTClassOutOfBounds = 1,
+ kSTClassDeletedGlyph = 2,
+ kSTClassEndOfLine = 3,
+ kSTSetMark = 0x8000,
+ kSTNoAdvance = 0x4000,
+ kSTMarkEnd = 0x2000,
+ kSTLigActionMask = 0x3FFF,
+ kSTRearrVerbMask = 0x000F
};
typedef UInt8 STClass;
typedef UInt8 STEntryIndex;
-struct STHeader
-{
- UInt8 filler;
- STClass nClasses;
- UInt16 classTableOffset;
- UInt16 stateArrayOffset;
- UInt16 entryTableOffset;
+struct STHeader {
+ UInt8 filler;
+ STClass nClasses;
+ UInt16 classTableOffset;
+ UInt16 stateArrayOffset;
+ UInt16 entryTableOffset;
};
typedef struct STHeader STHeader;
-struct STClassTable
-{
- UInt16 firstGlyph;
- UInt16 nGlyphs;
- STClass classes[1];
+struct STClassTable {
+ UInt16 firstGlyph;
+ UInt16 nGlyphs;
+ STClass classes[1];
};
typedef struct STClassTable STClassTable;
-struct STEntryZero
-{
- UInt16 newState;
- UInt16 flags;
+struct STEntryZero {
+ UInt16 newState;
+ UInt16 flags;
};
typedef struct STEntryZero STEntryZero;
-struct STEntryOne
-{
- UInt16 newState;
- UInt16 flags;
- UInt16 offset1;
+struct STEntryOne {
+ UInt16 newState;
+ UInt16 flags;
+ UInt16 offset1;
};
typedef struct STEntryOne STEntryOne;
-struct STEntryTwo
-{
- UInt16 newState;
- UInt16 flags;
- UInt16 offset1;
- UInt16 offset2;
+struct STEntryTwo {
+ UInt16 newState;
+ UInt16 flags;
+ UInt16 offset1;
+ UInt16 offset2;
};
typedef struct STEntryTwo STEntryTwo;
/* --------------------------------------------------------------------------- */
/* GENERAL FORMATS FOR STATE TABLES to be used with 'morx' tables -- prefix "STX" */
-enum
-{
- kSTXHasLigAction = 0x2000
+enum {
+ kSTXHasLigAction = 0x2000
};
typedef UInt16 STXClass;
typedef UInt16 STXStateIndex;
typedef UInt16 STXEntryIndex;
-struct STXHeader
-{
- UInt32 nClasses;
- UInt32 classTableOffset;
- UInt32 stateArrayOffset;
- UInt32 entryTableOffset;
+struct STXHeader {
+ UInt32 nClasses;
+ UInt32 classTableOffset;
+ UInt32 stateArrayOffset;
+ UInt32 entryTableOffset;
};
typedef struct STXHeader STXHeader;
typedef SFNTLookupTable STXClassTable;
-struct STXEntryZero
-{
- STXStateIndex newState;
- UInt16 flags;
+struct STXEntryZero {
+ STXStateIndex newState;
+ UInt16 flags;
};
typedef struct STXEntryZero STXEntryZero;
-struct STXEntryOne
-{
- STXStateIndex newState;
- UInt16 flags;
- UInt16 index1;
+struct STXEntryOne {
+ STXStateIndex newState;
+ UInt16 flags;
+ UInt16 index1;
};
typedef struct STXEntryOne STXEntryOne;
-struct STXEntryTwo
-{
- STXStateIndex newState;
- UInt16 flags;
- UInt16 index1;
- UInt16 index2;
+struct STXEntryTwo {
+ STXStateIndex newState;
+ UInt16 flags;
+ UInt16 index1;
+ UInt16 index2;
};
typedef struct STXEntryTwo STXEntryTwo;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'lcar' */
/* CONSTANTS */
-enum
-{
- kLCARTag = 0x6C636172, /* 'lcar' */
- kLCARCurrentVersion = 0x00010000, /* current version number for 'lcar' table */
- kLCARLinearFormat = 0,
- kLCARCtlPointFormat = 1
+enum {
+ kLCARTag = 0x6C636172, /* 'lcar' */
+ kLCARCurrentVersion = 0x00010000, /* current version number for 'lcar' table */
+ kLCARLinearFormat = 0,
+ kLCARCtlPointFormat = 1
};
/* TYPES */
-struct LcarCaretClassEntry
-{
- UInt16 count;
- UInt16 partials[1]; /* these are either FUnits or control-point numbers */
+struct LcarCaretClassEntry {
+ UInt16 count;
+ UInt16 partials[1]; /* these are either FUnits or control-point numbers */
};
typedef struct LcarCaretClassEntry LcarCaretClassEntry;
-struct LcarCaretTable
-{
- Fixed version;
- UInt16 format;
- SFNTLookupTable lookup;
+struct LcarCaretTable {
+ Fixed version;
+ UInt16 format;
+ SFNTLookupTable lookup;
};
typedef struct LcarCaretTable LcarCaretTable;
typedef LcarCaretTable * LcarCaretTablePtr;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'just' */
/* CONSTANTS */
-enum
-{
- kJUSTTag = 0x6A757374, /* 'just' */
- kJUSTCurrentVersion = 0x00010000,
- kJUSTStandardFormat = 0,
- kJUSTnoGlyphcode = 0xFFFF, /* used in a pcConditionalAddAction */
- kJUSTpcDecompositionAction = 0,
- kJUSTpcUnconditionalAddAction = 1,
- kJUSTpcConditionalAddAction = 2,
- kJUSTpcGlyphStretchAction = 3,
- kJUSTpcDuctilityAction = 4,
- kJUSTpcGlyphRepeatAddAction = 5
+enum {
+ kJUSTTag = 0x6A757374, /* 'just' */
+ kJUSTCurrentVersion = 0x00010000,
+ kJUSTStandardFormat = 0,
+ kJUSTnoGlyphcode = 0xFFFF, /* used in a pcConditionalAddAction */
+ kJUSTpcDecompositionAction = 0,
+ kJUSTpcUnconditionalAddAction = 1,
+ kJUSTpcConditionalAddAction = 2,
+ kJUSTpcGlyphStretchAction = 3,
+ kJUSTpcDuctilityAction = 4,
+ kJUSTpcGlyphRepeatAddAction = 5
};
/* Justification priority levels */
-enum
-{
- kJUSTKashidaPriority = 0,
- kJUSTSpacePriority = 1,
- kJUSTLetterPriority = 2,
- kJUSTNullPriority = 3,
- kJUSTPriorityCount = 4
+enum {
+ kJUSTKashidaPriority = 0,
+ kJUSTSpacePriority = 1,
+ kJUSTLetterPriority = 2,
+ kJUSTNullPriority = 3,
+ kJUSTPriorityCount = 4
};
/* Justification flags */
-enum
-{
- kJUSTOverridePriority = 0x8000,
- kJUSTOverrideLimits = 0x4000,
- kJUSTOverrideUnlimited = 0x2000,
- kJUSTUnlimited = 0x1000,
- kJUSTPriorityMask = 0x0003
+enum {
+ kJUSTOverridePriority = 0x8000,
+ kJUSTOverrideLimits = 0x4000,
+ kJUSTOverrideUnlimited = 0x2000,
+ kJUSTUnlimited = 0x1000,
+ kJUSTPriorityMask = 0x0003
};
/* TYPES */
typedef UInt16 JustPCActionType;
typedef UInt16 JustificationFlags;
/* A JustPCDecompositionAction defines a ligature decomposition action. */
-struct JustPCDecompositionAction
-{
- Fixed lowerLimit;
- Fixed upperLimit;
- UInt16 order;
- UInt16 count;
- UInt16 glyphs[1];
+struct JustPCDecompositionAction {
+ Fixed lowerLimit;
+ Fixed upperLimit;
+ UInt16 order;
+ UInt16 count;
+ UInt16 glyphs[1];
};
typedef struct JustPCDecompositionAction JustPCDecompositionAction;
/* A JUSTPCUnconditionalAddAction defines an unconditional glyph add action. */
@@ -824,20 +763,18 @@ typedef UInt16 JustPCUnconditionalAddAction;
is equal to kJUSTnoGlyphcode, then no glyph will be added, and the justification for
the line will be redone.
*/
-struct JustPCConditionalAddAction
-{
- Fixed substThreshhold; /* threshhold of growth factor at which subst occurs */
- UInt16 addGlyph;
- UInt16 substGlyph;
+struct JustPCConditionalAddAction {
+ Fixed substThreshhold; /* threshhold of growth factor at which subst occurs */
+ UInt16 addGlyph;
+ UInt16 substGlyph;
};
typedef struct JustPCConditionalAddAction JustPCConditionalAddAction;
/* A PCDuctilityAction defines a ductile axis along which the glyph will be varied. */
-struct JustPCDuctilityAction
-{
- UInt32 ductilityAxis;
- Fixed minimumLimit;
- Fixed noStretchValue;
- Fixed maximumLimit;
+struct JustPCDuctilityAction {
+ UInt32 ductilityAxis;
+ Fixed minimumLimit;
+ Fixed noStretchValue;
+ Fixed maximumLimit;
};
typedef struct JustPCDuctilityAction JustPCDuctilityAction;
/*
@@ -845,81 +782,72 @@ typedef struct JustPCDuctilityAction JustPCDuctilityAction;
transformed, but rather which will be emplaced however many times are needed to fill
the needed gap.
*/
-struct JustPCGlyphRepeatAddAction
-{
- UInt16 flags;
- UInt16 glyph;
+struct JustPCGlyphRepeatAddAction {
+ UInt16 flags;
+ UInt16 glyph;
};
typedef struct JustPCGlyphRepeatAddAction JustPCGlyphRepeatAddAction;
/* PCActionSubrecords contain the actual postcompensation actions. */
-struct JustPCActionSubrecord
-{
- UInt16 theClass; /* justification class value associated with this rec */
- JustPCActionType theType;
- UInt32 length;
- UInt32 data; /* not really a UInt32; cast as ptr to appropriate action */
+struct JustPCActionSubrecord {
+ UInt16 theClass; /* justification class value associated with this rec */
+ JustPCActionType theType;
+ UInt32 length;
+ UInt32 data; /* not really a UInt32; cast as ptr to appropriate action */
};
typedef struct JustPCActionSubrecord JustPCActionSubrecord;
/* The set of postcompensation records is defined in a PCAction struct. */
-struct JustPCAction
-{
- UInt32 actionCount; /* long for alignment purposes */
- JustPCActionSubrecord actions[1];
+struct JustPCAction {
+ UInt32 actionCount; /* long for alignment purposes */
+ JustPCActionSubrecord actions[1];
};
typedef struct JustPCAction JustPCAction;
/*
JustWidthDeltaEntry is the justification table entry structure. The justClass value (which is
actually limited to 7 bits by the state table structure) is defined as a long for PPC alignment reasons.
*/
-struct JustWidthDeltaEntry
-{
- UInt32 justClass;
- Fixed beforeGrowLimit; /* ems AW can grow by at most on LT */
- Fixed beforeShrinkLimit; /* ems AW can shrink by at most on LT */
- Fixed afterGrowLimit; /* ems AW can grow by at most on RB */
- Fixed afterShrinkLimit; /* ems AW can shrink by at most on RB */
- JustificationFlags growFlags; /* flags controlling grow case */
- JustificationFlags shrinkFlags; /* flags controlling shrink case */
+struct JustWidthDeltaEntry {
+ UInt32 justClass;
+ Fixed beforeGrowLimit; /* ems AW can grow by at most on LT */
+ Fixed beforeShrinkLimit; /* ems AW can shrink by at most on LT */
+ Fixed afterGrowLimit; /* ems AW can grow by at most on RB */
+ Fixed afterShrinkLimit; /* ems AW can shrink by at most on RB */
+ JustificationFlags growFlags; /* flags controlling grow case */
+ JustificationFlags shrinkFlags; /* flags controlling shrink case */
};
typedef struct JustWidthDeltaEntry JustWidthDeltaEntry;
-struct JustWidthDeltaGroup
-{
- UInt32 count;
- JustWidthDeltaEntry entries[1];
+struct JustWidthDeltaGroup {
+ UInt32 count;
+ JustWidthDeltaEntry entries[1];
};
typedef struct JustWidthDeltaGroup JustWidthDeltaGroup;
/* Overall structure of a postcompensation table is defined in PostcompTable. */
-struct JustPostcompTable
-{
- SFNTLookupTable lookupTable;
- /* action records here */
+struct JustPostcompTable {
+ SFNTLookupTable lookupTable;
+ /* action records here */
};
typedef struct JustPostcompTable JustPostcompTable;
-struct JustDirectionTable
-{
- UInt16 justClass; /* offset to state table (0=none) */
- UInt16 widthDeltaClusters; /* offset to clusters */
- UInt16 postcomp; /* offset to postcomp table (0=none) */
- SFNTLookupTable lookup;
+struct JustDirectionTable {
+ UInt16 justClass; /* offset to state table (0=none) */
+ UInt16 widthDeltaClusters; /* offset to clusters */
+ UInt16 postcomp; /* offset to postcomp table (0=none) */
+ SFNTLookupTable lookup;
};
typedef struct JustDirectionTable JustDirectionTable;
-struct JustTable
-{
- Fixed version;
- UInt16 format;
- UInt16 horizHeaderOffset;
- UInt16 vertHeaderOffset;
+struct JustTable {
+ Fixed version;
+ UInt16 format;
+ UInt16 horizHeaderOffset;
+ UInt16 vertHeaderOffset;
};
typedef struct JustTable JustTable;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'opbd' */
/* CONSTANTS */
-enum
-{
- kOPBDTag = 0x6F706264, /* 'opbd' */
- kOPBDCurrentVersion = 0x00010000,
- kOPBDDistanceFormat = 0,
- kOPBDControlPointFormat = 1
+enum {
+ kOPBDTag = 0x6F706264, /* 'opbd' */
+ kOPBDCurrentVersion = 0x00010000,
+ kOPBDDistanceFormat = 0,
+ kOPBDControlPointFormat = 1
};
/* TYPES */
@@ -930,363 +858,329 @@ typedef UInt16 OpbdTableFormat;
optical tables. It contains the 4 FUnit values that are relevant to the specified
glyph, or the 4 control gxPoint values.
*/
-struct OpbdSideValues
-{
- SInt16 leftSideShift;
- SInt16 topSideShift;
- SInt16 rightSideShift;
- SInt16 bottomSideShift;
+struct OpbdSideValues {
+ SInt16 leftSideShift;
+ SInt16 topSideShift;
+ SInt16 rightSideShift;
+ SInt16 bottomSideShift;
};
typedef struct OpbdSideValues OpbdSideValues;
-struct OpbdTable
-{
- Fixed version;
- OpbdTableFormat format;
- SFNTLookupTable lookupTable;
+struct OpbdTable {
+ Fixed version;
+ OpbdTableFormat format;
+ SFNTLookupTable lookupTable;
};
typedef struct OpbdTable OpbdTable;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'mort' */
/* CONSTANTS */
-enum
-{
- kMORTTag = 0x6D6F7274, /* 'mort' */
- kMORTCurrentVersion = 0x00010000, /* current version number for 'mort' table */
- /* Coverage masks */
- kMORTCoverVertical = 0x8000,
- kMORTCoverDescending = 0x4000,
- kMORTCoverIgnoreVertical = 0x2000,
- kMORTCoverTypeMask = 0x000F, /* Subtable types */
- kMORTRearrangementType = 0,
- kMORTContextualType = 1,
- kMORTLigatureType = 2,
- kMORTSwashType = 4,
- kMORTInsertionType = 5, /* Ligature subtable constants */
- kMORTLigLastAction = (long)0x80000000,
- kMORTLigStoreLigature = 0x40000000,
- kMORTLigFormOffsetMask = 0x3FFFFFFF,
- kMORTLigFormOffsetShift = 2, /* Rearrangement subtable actions */
- kMORTraNoAction = 0, /* no action */
- kMORTraxA = 1, /* Ax => xA */
- kMORTraDx = 2, /* xD => Dx */
- kMORTraDxA = 3, /* AxD => DxA */
- kMORTraxAB = 4, /* ABx => xAB */
- kMORTraxBA = 5, /* ABx => xBA */
- kMORTraCDx = 6, /* xCD => CDx */
- kMORTraDCx = 7, /* xCD => DCx */
- kMORTraCDxA = 8, /* AxCD => CDxA */
- kMORTraDCxA = 9, /* AxCD => DCxA */
- kMORTraDxAB = 10, /* ABxD => DxAB */
- kMORTraDxBA = 11, /* ABxD => DxBA */
- kMORTraCDxAB = 12, /* ABxCD => CDxAB */
- kMORTraCDxBA = 13, /* ABxCD => CDxBA */
- kMORTraDCxAB = 14, /* ABxCD => DCxAB */
- kMORTraDCxBA = 15, /* ABxCD => DCxBA */
- /* Insertion subtable constants */
- kMORTDoInsertionsBefore = 0x80,
- kMORTIsSplitVowelPiece = 0x40,
- kMORTInsertionsCountMask = 0x3F,
- kMORTCurrInsertKashidaLike = 0x2000,
- kMORTMarkInsertKashidaLike = 0x1000,
- kMORTCurrInsertBefore = 0x0800,
- kMORTMarkInsertBefore = 0x0400,
- kMORTMarkJustTableCountMask = 0x3F80,
- kMORTMarkJustTableCountShift = 7, /* JustTableIndex for marked character */
- kMORTCurrJustTableCountMask = 0x007F,
- kMORTCurrJustTableCountShift = 0, /* JustTableIndex for current character */
- kMORTCurrInsertCountMask = 0x03E0,
- kMORTCurrInsertCountShift = 5, /* count to insert after current glyphRec */
- kMORTMarkInsertCountMask = 0x001F,
- kMORTMarkInsertCountShift = 0 /* count to insert after marked glyphRec */
+enum {
+ kMORTTag = 0x6D6F7274, /* 'mort' */
+ kMORTCurrentVersion = 0x00010000, /* current version number for 'mort' table */
+ /* Coverage masks */
+ kMORTCoverVertical = 0x8000,
+ kMORTCoverDescending = 0x4000,
+ kMORTCoverIgnoreVertical = 0x2000,
+ kMORTCoverTypeMask = 0x000F, /* Subtable types */
+ kMORTRearrangementType = 0,
+ kMORTContextualType = 1,
+ kMORTLigatureType = 2,
+ kMORTSwashType = 4,
+ kMORTInsertionType = 5, /* Ligature subtable constants */
+ kMORTLigLastAction = (long)0x80000000,
+ kMORTLigStoreLigature = 0x40000000,
+ kMORTLigFormOffsetMask = 0x3FFFFFFF,
+ kMORTLigFormOffsetShift = 2, /* Rearrangement subtable actions */
+ kMORTraNoAction = 0, /* no action */
+ kMORTraxA = 1, /* Ax => xA */
+ kMORTraDx = 2, /* xD => Dx */
+ kMORTraDxA = 3, /* AxD => DxA */
+ kMORTraxAB = 4, /* ABx => xAB */
+ kMORTraxBA = 5, /* ABx => xBA */
+ kMORTraCDx = 6, /* xCD => CDx */
+ kMORTraDCx = 7, /* xCD => DCx */
+ kMORTraCDxA = 8, /* AxCD => CDxA */
+ kMORTraDCxA = 9, /* AxCD => DCxA */
+ kMORTraDxAB = 10, /* ABxD => DxAB */
+ kMORTraDxBA = 11, /* ABxD => DxBA */
+ kMORTraCDxAB = 12, /* ABxCD => CDxAB */
+ kMORTraCDxBA = 13, /* ABxCD => CDxBA */
+ kMORTraDCxAB = 14, /* ABxCD => DCxAB */
+ kMORTraDCxBA = 15, /* ABxCD => DCxBA */
+ /* Insertion subtable constants */
+ kMORTDoInsertionsBefore = 0x80,
+ kMORTIsSplitVowelPiece = 0x40,
+ kMORTInsertionsCountMask = 0x3F,
+ kMORTCurrInsertKashidaLike = 0x2000,
+ kMORTMarkInsertKashidaLike = 0x1000,
+ kMORTCurrInsertBefore = 0x0800,
+ kMORTMarkInsertBefore = 0x0400,
+ kMORTMarkJustTableCountMask = 0x3F80,
+ kMORTMarkJustTableCountShift = 7, /* JustTableIndex for marked character */
+ kMORTCurrJustTableCountMask = 0x007F,
+ kMORTCurrJustTableCountShift = 0, /* JustTableIndex for current character */
+ kMORTCurrInsertCountMask = 0x03E0,
+ kMORTCurrInsertCountShift = 5, /* count to insert after current glyphRec */
+ kMORTMarkInsertCountMask = 0x001F,
+ kMORTMarkInsertCountShift = 0 /* count to insert after marked glyphRec */
};
/* TYPES */
typedef UInt32 MortSubtableMaskFlags;
typedef UInt32 MortLigatureActionEntry;
-struct MortRearrangementSubtable
-{
- STHeader header;
+struct MortRearrangementSubtable {
+ STHeader header;
};
typedef struct MortRearrangementSubtable MortRearrangementSubtable;
-struct MortContextualSubtable
-{
- STHeader header;
- UInt16 substitutionTableOffset;
+struct MortContextualSubtable {
+ STHeader header;
+ UInt16 substitutionTableOffset;
};
typedef struct MortContextualSubtable MortContextualSubtable;
-struct MortLigatureSubtable
-{
- STHeader header;
- UInt16 ligatureActionTableOffset;
- UInt16 componentTableOffset;
- UInt16 ligatureTableOffset;
+struct MortLigatureSubtable {
+ STHeader header;
+ UInt16 ligatureActionTableOffset;
+ UInt16 componentTableOffset;
+ UInt16 ligatureTableOffset;
};
typedef struct MortLigatureSubtable MortLigatureSubtable;
-struct MortSwashSubtable
-{
- SFNTLookupTable lookup;
+struct MortSwashSubtable {
+ SFNTLookupTable lookup;
};
typedef struct MortSwashSubtable MortSwashSubtable;
-struct MortInsertionSubtable
-{
- STHeader header;
+struct MortInsertionSubtable {
+ STHeader header;
};
typedef struct MortInsertionSubtable MortInsertionSubtable;
-union MortSpecificSubtable
-{
- MortRearrangementSubtable rearrangement;
- MortContextualSubtable contextual;
- MortLigatureSubtable ligature;
- MortSwashSubtable swash;
- MortInsertionSubtable insertion;
+union MortSpecificSubtable {
+ MortRearrangementSubtable rearrangement;
+ MortContextualSubtable contextual;
+ MortLigatureSubtable ligature;
+ MortSwashSubtable swash;
+ MortInsertionSubtable insertion;
};
typedef union MortSpecificSubtable MortSpecificSubtable;
-struct MortSubtable
-{
- UInt16 length;
- UInt16 coverage;
- MortSubtableMaskFlags flags;
- MortSpecificSubtable u;
+struct MortSubtable {
+ UInt16 length;
+ UInt16 coverage;
+ MortSubtableMaskFlags flags;
+ MortSpecificSubtable u;
};
typedef struct MortSubtable MortSubtable;
-struct MortFeatureEntry
-{
- UInt16 featureType;
- UInt16 featureSelector;
- MortSubtableMaskFlags enableFlags;
- MortSubtableMaskFlags disableFlags;
+struct MortFeatureEntry {
+ UInt16 featureType;
+ UInt16 featureSelector;
+ MortSubtableMaskFlags enableFlags;
+ MortSubtableMaskFlags disableFlags;
};
typedef struct MortFeatureEntry MortFeatureEntry;
-struct MortChain
-{
- MortSubtableMaskFlags defaultFlags; /* default flags for this chain */
- UInt32 length; /* byte length of this chain */
- UInt16 nFeatures; /* number of feature entries */
- UInt16 nSubtables; /* number of subtables */
- MortFeatureEntry featureEntries[1];
- /* the subtables follow */
+struct MortChain {
+ MortSubtableMaskFlags defaultFlags; /* default flags for this chain */
+ UInt32 length; /* byte length of this chain */
+ UInt16 nFeatures; /* number of feature entries */
+ UInt16 nSubtables; /* number of subtables */
+ MortFeatureEntry featureEntries[1];
+ /* the subtables follow */
};
typedef struct MortChain MortChain;
-struct MortTable
-{
- Fixed version;
- UInt32 nChains;
- MortChain chains[1];
+struct MortTable {
+ Fixed version;
+ UInt32 nChains;
+ MortChain chains[1];
};
typedef struct MortTable MortTable;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'morx' (version 2 and beyond metamorphosis tables) */
/* CONSTANTS */
-enum
-{
- kMORXTag = 0x6D6F7278, /* 'morx' */
- kMORXCurrentVersion = 0x00020000, /* version number for current 'morx' table */
- /* Coverage masks */
- kMORXCoverVertical = (long)0x80000000,
- kMORXCoverDescending = 0x40000000,
- kMORXCoverIgnoreVertical = 0x20000000,
- kMORXCoverTypeMask = 0x000000FF
+enum {
+ kMORXTag = 0x6D6F7278, /* 'morx' */
+ kMORXCurrentVersion = 0x00020000, /* version number for current 'morx' table */
+ /* Coverage masks */
+ kMORXCoverVertical = (long)0x80000000,
+ kMORXCoverDescending = 0x40000000,
+ kMORXCoverIgnoreVertical = 0x20000000,
+ kMORXCoverTypeMask = 0x000000FF
};
/* TYPES */
-struct MorxRearrangementSubtable
-{
- STXHeader header;
+struct MorxRearrangementSubtable {
+ STXHeader header;
};
typedef struct MorxRearrangementSubtable MorxRearrangementSubtable;
-struct MorxContextualSubtable
-{
- STXHeader header;
- UInt32 substitutionTableOffset;
+struct MorxContextualSubtable {
+ STXHeader header;
+ UInt32 substitutionTableOffset;
};
typedef struct MorxContextualSubtable MorxContextualSubtable;
-struct MorxLigatureSubtable
-{
- STXHeader header;
- UInt32 ligatureActionTableOffset;
- UInt32 componentTableOffset;
- UInt32 ligatureTableOffset;
+struct MorxLigatureSubtable {
+ STXHeader header;
+ UInt32 ligatureActionTableOffset;
+ UInt32 componentTableOffset;
+ UInt32 ligatureTableOffset;
};
typedef struct MorxLigatureSubtable MorxLigatureSubtable;
-struct MorxInsertionSubtable
-{
- STXHeader header;
- UInt32 insertionGlyphTableOffset;
+struct MorxInsertionSubtable {
+ STXHeader header;
+ UInt32 insertionGlyphTableOffset;
};
typedef struct MorxInsertionSubtable MorxInsertionSubtable;
-union MorxSpecificSubtable
-{
- MorxRearrangementSubtable rearrangement;
- MorxContextualSubtable contextual;
- MorxLigatureSubtable ligature;
- MortSwashSubtable swash;
- MorxInsertionSubtable insertion;
+union MorxSpecificSubtable {
+ MorxRearrangementSubtable rearrangement;
+ MorxContextualSubtable contextual;
+ MorxLigatureSubtable ligature;
+ MortSwashSubtable swash;
+ MorxInsertionSubtable insertion;
};
typedef union MorxSpecificSubtable MorxSpecificSubtable;
-struct MorxSubtable
-{
- UInt32 length;
- UInt32 coverage;
- MortSubtableMaskFlags flags;
- MorxSpecificSubtable u;
+struct MorxSubtable {
+ UInt32 length;
+ UInt32 coverage;
+ MortSubtableMaskFlags flags;
+ MorxSpecificSubtable u;
};
typedef struct MorxSubtable MorxSubtable;
-struct MorxChain
-{
- MortSubtableMaskFlags defaultFlags; /* default flags for this chain */
- UInt32 length; /* byte length of this chain */
- UInt32 nFeatures; /* number of feature entries */
- UInt32 nSubtables; /* number of subtables */
- MortFeatureEntry featureEntries[1];
- /* the subtables follow */
+struct MorxChain {
+ MortSubtableMaskFlags defaultFlags; /* default flags for this chain */
+ UInt32 length; /* byte length of this chain */
+ UInt32 nFeatures; /* number of feature entries */
+ UInt32 nSubtables; /* number of subtables */
+ MortFeatureEntry featureEntries[1];
+ /* the subtables follow */
};
typedef struct MorxChain MorxChain;
-struct MorxTable
-{
- Fixed version;
- UInt32 nChains;
- MorxChain chains[1];
+struct MorxTable {
+ Fixed version;
+ UInt32 nChains;
+ MorxChain chains[1];
};
typedef struct MorxTable MorxTable;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'prop' */
/* CONSTANTS */
-enum
-{
- kPROPTag = 0x70726F70, /* 'prop' */
- kPROPCurrentVersion = 0x00030000, /* current version number for 'prop' table */
- kPROPPairOffsetShift = 8,
- kPROPPairOffsetSign = 7,
- kPROPIsFloaterMask = 0x8000, /* glyph is floater */
- kPROPCanHangLTMask = 0x4000, /* glyph can hang left/top */
- kPROPCanHangRBMask = 0x2000, /* glyph can hang right/bottom */
- kPROPUseRLPairMask = 0x1000, /* if glyph lands in RL streak, use paired glyph */
- kPROPPairOffsetMask = 0x0F00, /* 4-bit signed offset to other pair member */
- kPROPRightConnectMask = 0x0080, /* glyph connects to glyph on right */
- kPROPZeroReserved = 0x0060, /* must be zero */
- kPROPDirectionMask = 0x001F /* direction bits */
+enum {
+ kPROPTag = 0x70726F70, /* 'prop' */
+ kPROPCurrentVersion = 0x00030000, /* current version number for 'prop' table */
+ kPROPPairOffsetShift = 8,
+ kPROPPairOffsetSign = 7,
+ kPROPIsFloaterMask = 0x8000, /* glyph is floater */
+ kPROPCanHangLTMask = 0x4000, /* glyph can hang left/top */
+ kPROPCanHangRBMask = 0x2000, /* glyph can hang right/bottom */
+ kPROPUseRLPairMask = 0x1000, /* if glyph lands in RL streak, use paired glyph */
+ kPROPPairOffsetMask = 0x0F00, /* 4-bit signed offset to other pair member */
+ kPROPRightConnectMask = 0x0080, /* glyph connects to glyph on right */
+ kPROPZeroReserved = 0x0060, /* must be zero */
+ kPROPDirectionMask = 0x001F /* direction bits */
};
/* These are the Unicode direction classes (plus the Special European Number class). */
-enum
-{
- kPROPLDirectionClass = 0, /* Left-to-Right */
- kPROPRDirectionClass = 1, /* Right-to-Left */
- kPROPALDirectionClass = 2, /* Right-to-Left Arabic Letter */
- kPROPENDirectionClass = 3, /* European Number */
- kPROPESDirectionClass = 4, /* European Number Seperator */
- kPROPETDirectionClass = 5, /* European Number Terminator */
- kPROPANDirectionClass = 6, /* Arabic Number */
- kPROPCSDirectionClass = 7, /* Common Number Seperator */
- kPROPPSDirectionClass = 8, /* Paragraph Seperator (also referred to as Block Separator) */
- kPROPSDirectionClass = 9, /* Segment Seperator */
- kPROPWSDirectionClass = 10, /* Whitespace */
- kPROPONDirectionClass = 11, /* Other Neutral */
- kPROPSENDirectionClass = 12, /* Special European Number (not a Unicode class) */
- kPROPLREDirectionClass = 13, /* Left-to-Right Embeding */
- kPROPLRODirectionClass = 14, /* Left-to-Right Override */
- kPROPRLEDirectionClass = 15, /* Right-to-Left Embeding */
- kPROPRLODirectionClass = 16, /* Right-to-Left Override */
- kPROPPDFDirectionClass = 17, /* Pop Directional Format */
- kPROPNSMDirectionClass = 18, /* Non-Spacing Mark */
- kPROPBNDirectionClass = 19, /* Boundary Neutral */
- kPROPNumDirectionClasses = 20 /* Number of Unicode directional types + Special European Number */
+enum {
+ kPROPLDirectionClass = 0, /* Left-to-Right */
+ kPROPRDirectionClass = 1, /* Right-to-Left */
+ kPROPALDirectionClass = 2, /* Right-to-Left Arabic Letter */
+ kPROPENDirectionClass = 3, /* European Number */
+ kPROPESDirectionClass = 4, /* European Number Seperator */
+ kPROPETDirectionClass = 5, /* European Number Terminator */
+ kPROPANDirectionClass = 6, /* Arabic Number */
+ kPROPCSDirectionClass = 7, /* Common Number Seperator */
+ kPROPPSDirectionClass = 8, /* Paragraph Seperator (also referred to as Block Separator) */
+ kPROPSDirectionClass = 9, /* Segment Seperator */
+ kPROPWSDirectionClass = 10, /* Whitespace */
+ kPROPONDirectionClass = 11, /* Other Neutral */
+ kPROPSENDirectionClass = 12, /* Special European Number (not a Unicode class) */
+ kPROPLREDirectionClass = 13, /* Left-to-Right Embeding */
+ kPROPLRODirectionClass = 14, /* Left-to-Right Override */
+ kPROPRLEDirectionClass = 15, /* Right-to-Left Embeding */
+ kPROPRLODirectionClass = 16, /* Right-to-Left Override */
+ kPROPPDFDirectionClass = 17, /* Pop Directional Format */
+ kPROPNSMDirectionClass = 18, /* Non-Spacing Mark */
+ kPROPBNDirectionClass = 19, /* Boundary Neutral */
+ kPROPNumDirectionClasses = 20 /* Number of Unicode directional types + Special European Number */
};
/* TYPES */
typedef UInt16 PropCharProperties;
-struct PropTable
-{
- Fixed version;
- UInt16 format;
- PropCharProperties defaultProps;
- SFNTLookupTable lookup;
+struct PropTable {
+ Fixed version;
+ UInt16 format;
+ PropCharProperties defaultProps;
+ SFNTLookupTable lookup;
};
typedef struct PropTable PropTable;
-struct PropLookupSegment
-{
- UInt16 lastGlyph;
- UInt16 firstGlyph;
- UInt16 value;
+struct PropLookupSegment {
+ UInt16 lastGlyph;
+ UInt16 firstGlyph;
+ UInt16 value;
};
typedef struct PropLookupSegment PropLookupSegment;
-struct PropLookupSingle
-{
- UInt16 glyph;
- PropCharProperties props;
+struct PropLookupSingle {
+ UInt16 glyph;
+ PropCharProperties props;
};
typedef struct PropLookupSingle PropLookupSingle;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'trak' */
/* CONSTANTS */
-enum
-{
- kTRAKTag = 0x7472616B, /* 'trak' */
- kTRAKCurrentVersion = 0x00010000, /* current version number for 'trak' table */
- kTRAKUniformFormat = 0 /* kTRAKPerGlyphFormat = 2*/
+enum {
+ kTRAKTag = 0x7472616B, /* 'trak' */
+ kTRAKCurrentVersion = 0x00010000, /* current version number for 'trak' table */
+ kTRAKUniformFormat = 0 /* kTRAKPerGlyphFormat = 2*/
};
/* TYPES */
typedef SInt16 TrakValue;
-struct TrakTableEntry
-{
- Fixed track;
- UInt16 nameTableIndex;
- UInt16 sizesOffset; /* offset to array of TrackingValues */
+struct TrakTableEntry {
+ Fixed track;
+ UInt16 nameTableIndex;
+ UInt16 sizesOffset; /* offset to array of TrackingValues */
};
typedef struct TrakTableEntry TrakTableEntry;
-struct TrakTableData
-{
- UInt16 nTracks;
- UInt16 nSizes;
- UInt32 sizeTableOffset;
- TrakTableEntry trakTable[1];
+struct TrakTableData {
+ UInt16 nTracks;
+ UInt16 nSizes;
+ UInt32 sizeTableOffset;
+ TrakTableEntry trakTable[1];
};
typedef struct TrakTableData TrakTableData;
-struct TrakTable
-{
- Fixed version;
- UInt16 format;
- UInt16 horizOffset;
- UInt16 vertOffset;
+struct TrakTable {
+ Fixed version;
+ UInt16 format;
+ UInt16 horizOffset;
+ UInt16 vertOffset;
};
typedef struct TrakTable TrakTable;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'kern' */
/* CONSTANTS */
-enum
-{
- kKERNTag = 0x6B65726E, /* 'kern' */
- kKERNCurrentVersion = 0x00010000,
- kKERNVertical = 0x8000, /* set if this table has vertical kerning information */
- kKERNResetCrossStream = 0x8000, /* this value in a cross-stream table means reset to zero */
- kKERNCrossStream = 0x4000, /* set if this table contains cross-stream kerning values */
- kKERNVariation = 0x2000, /* set if this table contains variation kerning values */
- kKERNUnusedBits = 0x1F00, /* UNUSED, MUST BE ZERO */
- kKERNFormatMask = 0x00FF /* format of this subtable */
-};
-
-enum
-{
- kKERNOrderedList = 0, /* ordered list of kerning pairs */
- kKERNStateTable = 1, /* state table for n-way contextual kerning */
- kKERNSimpleArray = 2, /* simple n X m array of kerning values */
- kKERNIndexArray = 3 /* modifed version of SimpleArray */
+enum {
+ kKERNTag = 0x6B65726E, /* 'kern' */
+ kKERNCurrentVersion = 0x00010000,
+ kKERNVertical = 0x8000, /* set if this table has vertical kerning information */
+ kKERNResetCrossStream = 0x8000, /* this value in a cross-stream table means reset to zero */
+ kKERNCrossStream = 0x4000, /* set if this table contains cross-stream kerning values */
+ kKERNVariation = 0x2000, /* set if this table contains variation kerning values */
+ kKERNUnusedBits = 0x1F00, /* UNUSED, MUST BE ZERO */
+ kKERNFormatMask = 0x00FF /* format of this subtable */
+};
+
+enum {
+ kKERNOrderedList = 0, /* ordered list of kerning pairs */
+ kKERNStateTable = 1, /* state table for n-way contextual kerning */
+ kKERNSimpleArray = 2, /* simple n X m array of kerning values */
+ kKERNIndexArray = 3 /* modifed version of SimpleArray */
};
/* Message Type Flags */
-enum
-{
- kKERNLineStart = 0x00000001, /* Array of glyphs starts a line */
- kKERNLineEndKerning = 0x00000002, /* Array of glyphs ends a line */
- kKERNNoCrossKerning = 0x00000004, /* Prohibit cross kerning */
- kKERNNotesRequested = 0x00000008, /* Caller wants kerning notes */
- kKERNNoStakeNote = 1, /* Indicates a glyph was involved in a kerning pair/group */
- kKERNCrossStreamResetNote = 2, /* Indicates a return-to-baseline in cross-stream kerning */
- kKERNNotApplied = 0x00000001 /* All kerning values were zero, kerning call had no effect */
+enum {
+ kKERNLineStart = 0x00000001, /* Array of glyphs starts a line */
+ kKERNLineEndKerning = 0x00000002, /* Array of glyphs ends a line */
+ kKERNNoCrossKerning = 0x00000004, /* Prohibit cross kerning */
+ kKERNNotesRequested = 0x00000008, /* Caller wants kerning notes */
+ kKERNNoStakeNote = 1, /* Indicates a glyph was involved in a kerning pair/group */
+ kKERNCrossStreamResetNote = 2, /* Indicates a return-to-baseline in cross-stream kerning */
+ kKERNNotApplied = 0x00000001 /* All kerning values were zero, kerning call had no effect */
};
/* TYPES */
@@ -1296,19 +1190,17 @@ typedef UInt16 KernSubtableInfo;
typedef SInt16 KernKerningValue;
typedef UInt16 KernArrayOffset;
/* header for version 0 kerning table */
-struct KernVersion0Header
-{
- UInt16 version; /* font version number (will be 0!) */
- UInt16 nTables; /* number of subtables present */
- UInt16 firstSubtable[1]; /* first subtable starts here */
+struct KernVersion0Header {
+ UInt16 version; /* font version number (will be 0!) */
+ UInt16 nTables; /* number of subtables present */
+ UInt16 firstSubtable[1]; /* first subtable starts here */
};
typedef struct KernVersion0Header KernVersion0Header;
/* Header for a kerning table */
-struct KernTableHeader
-{
- Fixed version; /* font version number (currently 1.0) */
- SInt32 nTables; /* number of subtables present */
- UInt16 firstSubtable[1]; /* first subtable starts here */
+struct KernTableHeader {
+ Fixed version; /* font version number (currently 1.0) */
+ SInt32 nTables; /* number of subtables present */
+ UInt16 firstSubtable[1]; /* first subtable starts here */
};
typedef struct KernTableHeader KernTableHeader;
typedef KernTableHeader * KernTableHeaderPtr;
@@ -1317,48 +1209,43 @@ typedef KernTableHeaderPtr * KernTableHeaderHandle;
F O R M A T S P E C I F I C D E F I N I T I O N S
kernOrderedList:
-
+
The table is a sorted list of [left glyph, right glyph, value] triples.
There's enough information in the header so that the list can be
- efficiently binary searched.
+ efficiently binary searched.
*/
/* defines a single kerning pair of Glyphcodes */
-struct KernKerningPair
-{
- UInt16 left;
- UInt16 right;
+struct KernKerningPair {
+ UInt16 left;
+ UInt16 right;
};
typedef struct KernKerningPair KernKerningPair;
/* a single list entry */
-struct KernOrderedListEntry
-{
- KernKerningPair pair; /* the kerning pair */
- KernKerningValue value; /* the kerning value for the above pair */
+struct KernOrderedListEntry {
+ KernKerningPair pair; /* the kerning pair */
+ KernKerningValue value; /* the kerning value for the above pair */
};
typedef struct KernOrderedListEntry KernOrderedListEntry;
typedef KernOrderedListEntry * KernOrderedListEntryPtr;
/* the header information for binary searching the list */
-struct KernOrderedListHeader
-{
- UInt16 nPairs; /* number of kerning pairs in table */
- UInt16 searchRange; /* (largest power of two <= nPairs) * entry size */
- UInt16 entrySelector; /* log2 (largest power of two <= nPairs) */
- UInt16 rangeShift; /* (nPairs - largest power of two <= nPairs) * entry size */
- UInt16 table[1]; /* entries are first glyph, second glyph, and value */
+struct KernOrderedListHeader {
+ UInt16 nPairs; /* number of kerning pairs in table */
+ UInt16 searchRange; /* (largest power of two <= nPairs) * entry size */
+ UInt16 entrySelector; /* log2 (largest power of two <= nPairs) */
+ UInt16 rangeShift; /* (nPairs - largest power of two <= nPairs) * entry size */
+ UInt16 table[1]; /* entries are first glyph, second glyph, and value */
};
typedef struct KernOrderedListHeader KernOrderedListHeader;
/* KernStateTable: like the the generic state tables */
-struct KernStateHeader
-{
- STHeader header; /* state table header */
- UInt16 valueTable; /* offset to kerning value table */
- UInt8 firstTable[1]; /* first table starts here */
+struct KernStateHeader {
+ STHeader header; /* state table header */
+ UInt16 valueTable; /* offset to kerning value table */
+ UInt8 firstTable[1]; /* first table starts here */
};
typedef struct KernStateHeader KernStateHeader;
-struct KernStateEntry
-{
- UInt16 newState;
- UInt16 flags; /* flags per above enum */
+struct KernStateEntry {
+ UInt16 newState;
+ UInt16 flags; /* flags per above enum */
};
typedef struct KernStateEntry KernStateEntry;
/*
@@ -1367,23 +1254,22 @@ typedef struct KernStateEntry KernStateEntry;
Glyphs outside of this range should get zero for right-hand glyphs
and the offset of the beginning of the kerning array for left-hand glyphs.
*/
-struct KernOffsetTable
-{
- UInt16 firstGlyph; /* first glyph in class range */
- UInt16 nGlyphs; /* number of glyphs in class range */
- KernArrayOffset offsetTable[1]; /* offset table starts here */
+struct KernOffsetTable {
+ UInt16 firstGlyph; /* first glyph in class range */
+ UInt16 nGlyphs; /* number of glyphs in class range */
+ KernArrayOffset offsetTable[1]; /* offset table starts here */
};
typedef struct KernOffsetTable KernOffsetTable;
typedef KernOffsetTable * KernOffsetTablePtr;
/* Header information for accessing offset tables and kerning array */
/*
KernSimpleArray:
-
+
The array is an nXm array of kenring values. Each row in the array
represents one left-hand glyph, and each column one right-hand glyph.
The zeroth row and column always represent glyphs that are out of bounds
and will always contain zero.
-
+
A pair is looked up by indexing the left-hand glyph through the left
offset table, the right-hand glyph through the right offset table,
adding both offsets to the starting address of the kerning array,
@@ -1394,81 +1280,74 @@ typedef KernOffsetTable * KernOffsetTablePtr;
/* Glyphs outside of this range should get zero for right-hand glyphs */
/* and the offset of the beginning of the kerning array for left- */
/* hand glyphs. */
-struct KernSimpleArrayHeader
-{
- UInt16 rowWidth; /* width, in bytes, of a row in the table */
- UInt16 leftOffsetTable; /* offset to left-hand offset table */
- UInt16 rightOffsetTable; /* offset to right-hand offset table */
- KernArrayOffset theArray; /* offset to start of kerning array */
- UInt16 firstTable[1]; /* first offset table starts here... */
+struct KernSimpleArrayHeader {
+ UInt16 rowWidth; /* width, in bytes, of a row in the table */
+ UInt16 leftOffsetTable; /* offset to left-hand offset table */
+ UInt16 rightOffsetTable; /* offset to right-hand offset table */
+ KernArrayOffset theArray; /* offset to start of kerning array */
+ UInt16 firstTable[1]; /* first offset table starts here... */
};
typedef struct KernSimpleArrayHeader KernSimpleArrayHeader;
/* Index Array */
-struct KernIndexArrayHeader
-{
- UInt16 glyphCount;
- UInt8 kernValueCount;
- UInt8 leftClassCount;
- UInt8 rightClassCount;
- UInt8 flags; /* set to 0 for now */
- SInt16 kernValue[1]; /* actual kerning values reference by index in kernIndex */
- UInt8 leftClass[1]; /* maps left glyph to offset into kern index */
- UInt8 rightClass[1]; /* maps right glyph to offset into kern index */
- UInt8 kernIndex[1]; /* contains indicies into kernValue */
+struct KernIndexArrayHeader {
+ UInt16 glyphCount;
+ UInt8 kernValueCount;
+ UInt8 leftClassCount;
+ UInt8 rightClassCount;
+ UInt8 flags; /* set to 0 for now */
+ SInt16 kernValue[1]; /* actual kerning values reference by index in kernIndex */
+ UInt8 leftClass[1]; /* maps left glyph to offset into kern index */
+ UInt8 rightClass[1]; /* maps right glyph to offset into kern index */
+ UInt8 kernIndex[1]; /* contains indicies into kernValue */
};
typedef struct KernIndexArrayHeader KernIndexArrayHeader;
/* format specific part of subtable header */
-union KernFormatSpecificHeader
-{
- KernOrderedListHeader orderedList;
- KernStateHeader stateTable;
- KernSimpleArrayHeader simpleArray;
- KernIndexArrayHeader indexArray;
+union KernFormatSpecificHeader {
+ KernOrderedListHeader orderedList;
+ KernStateHeader stateTable;
+ KernSimpleArrayHeader simpleArray;
+ KernIndexArrayHeader indexArray;
};
typedef union KernFormatSpecificHeader KernFormatSpecificHeader;
/* version 0 subtable header */
-struct KernVersion0SubtableHeader
-{
- UInt16 version; /* kerning table version number */
- UInt16 length; /* length in bytes (including this header) */
- KernSubtableInfo stInfo; /* sub-table info */
- KernFormatSpecificHeader fsHeader; /* format specific sub-header */
+struct KernVersion0SubtableHeader {
+ UInt16 version; /* kerning table version number */
+ UInt16 length; /* length in bytes (including this header) */
+ KernSubtableInfo stInfo; /* sub-table info */
+ KernFormatSpecificHeader fsHeader; /* format specific sub-header */
};
typedef struct KernVersion0SubtableHeader KernVersion0SubtableHeader;
/* Overall Subtable header format */
-struct KernSubtableHeader
-{
- SInt32 length; /* length in bytes (including this header) */
- KernSubtableInfo stInfo; /* subtable info */
- SInt16 tupleIndex; /* tuple index for variation subtables */
- KernFormatSpecificHeader fsHeader; /* format specific sub-header */
+struct KernSubtableHeader {
+ SInt32 length; /* length in bytes (including this header) */
+ KernSubtableInfo stInfo; /* subtable info */
+ SInt16 tupleIndex; /* tuple index for variation subtables */
+ KernFormatSpecificHeader fsHeader; /* format specific sub-header */
};
typedef struct KernSubtableHeader KernSubtableHeader;
typedef KernSubtableHeader * KernSubtableHeaderPtr;
/* --------------------------------------------------------------------------- */
/* FORMATS FOR TABLE: 'bsln' */
/* CONSTANTS */
-enum
-{
- kBSLNTag = 0x62736C6E, /* 'bsln' */
- kBSLNCurrentVersion = 0x00010000, /* current version number for 'bsln' table */
- kBSLNDistanceFormatNoMap = 0,
- kBSLNDistanceFormatWithMap = 1,
- kBSLNControlPointFormatNoMap = 2,
- kBSLNControlPointFormatWithMap = 3
+enum {
+ kBSLNTag = 0x62736C6E, /* 'bsln' */
+ kBSLNCurrentVersion = 0x00010000, /* current version number for 'bsln' table */
+ kBSLNDistanceFormatNoMap = 0,
+ kBSLNDistanceFormatWithMap = 1,
+ kBSLNControlPointFormatNoMap = 2,
+ kBSLNControlPointFormatWithMap = 3
};
/* Baseline classes and constants */
-enum
-{
- kBSLNRomanBaseline = 0,
- kBSLNIdeographicCenterBaseline = 1,
- kBSLNIdeographicLowBaseline = 2,
- kBSLNHangingBaseline = 3,
- kBSLNMathBaseline = 4,
- kBSLNLastBaseline = 31,
- kBSLNNumBaselineClasses = kBSLNLastBaseline + 1,
- kBSLNNoBaselineOverride = 255
+enum {
+ kBSLNRomanBaseline = 0,
+ kBSLNIdeographicCenterBaseline = 1,
+ kBSLNIdeographicLowBaseline = 2,
+ kBSLNHangingBaseline = 3,
+ kBSLNMathBaseline = 4,
+ kBSLNLastBaseline = 31,
+ kBSLNNumBaselineClasses = kBSLNLastBaseline + 1,
+ kBSLNNoBaselineOverride = 255
};
/* TYPES */
@@ -1479,16 +1358,14 @@ typedef Fixed BslnBaselineRecord[32];
BslnFormat0Part is the format-specific data for a distance table with no mapping (i.e.
all the glyphs belong to the defaultBaseline).
*/
-struct BslnFormat0Part
-{
- SInt16 deltas[32];
+struct BslnFormat0Part {
+ SInt16 deltas[32];
};
typedef struct BslnFormat0Part BslnFormat0Part;
/* BslnFormat1Part is the format-specific data for a distance table with a gxMapping. */
-struct BslnFormat1Part
-{
- SInt16 deltas[32];
- SFNTLookupTable mappingData;
+struct BslnFormat1Part {
+ SInt16 deltas[32];
+ SFNTLookupTable mappingData;
};
typedef struct BslnFormat1Part BslnFormat1Part;
/*
@@ -1497,10 +1374,9 @@ typedef struct BslnFormat1Part BslnFormat1Part;
glyph to use and the set of control points in that glyph that designate each of
the baselines.
*/
-struct BslnFormat2Part
-{
- UInt16 stdGlyph;
- SInt16 ctlPoints[32];
+struct BslnFormat2Part {
+ UInt16 stdGlyph;
+ SInt16 ctlPoints[32];
};
typedef struct BslnFormat2Part BslnFormat2Part;
/*
@@ -1508,43 +1384,40 @@ typedef struct BslnFormat2Part BslnFormat2Part;
format 2, it contains a single glyph and its set of control-point values for each
of the baselines.
*/
-struct BslnFormat3Part
-{
- UInt16 stdGlyph;
- SInt16 ctlPoints[32];
- SFNTLookupTable mappingData;
+struct BslnFormat3Part {
+ UInt16 stdGlyph;
+ SInt16 ctlPoints[32];
+ SFNTLookupTable mappingData;
};
typedef struct BslnFormat3Part BslnFormat3Part;
/* The BslnFormatUnion is a union containing the format-specific parts of the baseline table. */
-union BslnFormatUnion
-{
- BslnFormat0Part fmt0Part;
- BslnFormat1Part fmt1Part;
- BslnFormat2Part fmt2Part;
- BslnFormat3Part fmt3Part;
+union BslnFormatUnion {
+ BslnFormat0Part fmt0Part;
+ BslnFormat1Part fmt1Part;
+ BslnFormat2Part fmt2Part;
+ BslnFormat3Part fmt3Part;
};
typedef union BslnFormatUnion BslnFormatUnion;
/* The table format used in BaselineTable */
typedef UInt16 BslnTableFormat;
/* BaselineTable defines the top-level format of the baseline table in the font. */
-struct BslnTable
-{
- Fixed version;
- BslnTableFormat format;
- UInt16 defaultBaseline;
- BslnFormatUnion parts;
+struct BslnTable {
+ Fixed version;
+ BslnTableFormat format;
+ UInt16 defaultBaseline;
+ BslnFormatUnion parts;
};
typedef struct BslnTable BslnTable;
typedef BslnTable * BslnTablePtr;
/* --------------------------------------------------------------------------- */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/SFNTTypes.h b/include/qt/SFNTTypes.h
index 5fe8fa00d..235ac5842 100644
--- a/include/qt/SFNTTypes.h
+++ b/include/qt/SFNTTypes.h
@@ -1,17 +1,17 @@
/*
File: SFNTTypes.h
-
+
Contains: Font file structures.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2000 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 __SFNTTYPES__
#define __SFNTTYPES__
@@ -31,489 +31,444 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
-struct sfntDirectoryEntry
-{
- FourCharCode tableTag;
- UInt32 checkSum;
- UInt32 offset;
- UInt32 length;
+struct sfntDirectoryEntry {
+ FourCharCode tableTag;
+ UInt32 checkSum;
+ UInt32 offset;
+ UInt32 length;
};
typedef struct sfntDirectoryEntry sfntDirectoryEntry;
/* The search fields limits numOffsets to 4096. */
-struct sfntDirectory
-{
- FourCharCode format;
- UInt16 numOffsets; /* number of tables */
- UInt16 searchRange; /* (max2 <= numOffsets)*16 */
- UInt16 entrySelector; /* log2(max2 <= numOffsets) */
- UInt16 rangeShift; /* numOffsets*16-searchRange*/
- sfntDirectoryEntry table[1]; /* table[numOffsets] */
+struct sfntDirectory {
+ FourCharCode format;
+ UInt16 numOffsets; /* number of tables */
+ UInt16 searchRange; /* (max2 <= numOffsets)*16 */
+ UInt16 entrySelector; /* log2(max2 <= numOffsets) */
+ UInt16 rangeShift; /* numOffsets*16-searchRange*/
+ sfntDirectoryEntry table[1]; /* table[numOffsets] */
};
typedef struct sfntDirectory sfntDirectory;
-enum
-{
- sizeof_sfntDirectory = 12
+enum {
+ sizeof_sfntDirectory = 12
};
/* Cmap - character id to glyph id mapping */
-enum
-{
- cmapFontTableTag = FOUR_CHAR_CODE('cmap')
-};
-
-enum
-{
- kFontUnicodePlatform = 0,
- kFontMacintoshPlatform = 1,
- kFontReservedPlatform = 2,
- kFontMicrosoftPlatform = 3,
- kFontCustomPlatform = 4
-};
-
-enum
-{
- kFontUnicodeDefaultSemantics = 0,
- kFontUnicodeV1_1Semantics = 1,
- kFontISO10646_1993Semantics = 2
-};
-
-enum
-{
- kFontRomanScript = 0,
- kFontJapaneseScript = 1,
- kFontTraditionalChineseScript = 2,
- kFontChineseScript = kFontTraditionalChineseScript,
- kFontKoreanScript = 3,
- kFontArabicScript = 4,
- kFontHebrewScript = 5,
- kFontGreekScript = 6,
- kFontCyrillicScript = 7,
- kFontRussian = kFontCyrillicScript,
- kFontRSymbolScript = 8,
- kFontDevanagariScript = 9,
- kFontGurmukhiScript = 10,
- kFontGujaratiScript = 11,
- kFontOriyaScript = 12,
- kFontBengaliScript = 13,
- kFontTamilScript = 14,
- kFontTeluguScript = 15,
- kFontKannadaScript = 16,
- kFontMalayalamScript = 17,
- kFontSinhaleseScript = 18,
- kFontBurmeseScript = 19,
- kFontKhmerScript = 20,
- kFontThaiScript = 21,
- kFontLaotianScript = 22,
- kFontGeorgianScript = 23,
- kFontArmenianScript = 24,
- kFontSimpleChineseScript = 25,
- kFontTibetanScript = 26,
- kFontMongolianScript = 27,
- kFontGeezScript = 28,
- kFontEthiopicScript = kFontGeezScript,
- kFontAmharicScript = kFontGeezScript,
- kFontSlavicScript = 29,
- kFontEastEuropeanRomanScript = kFontSlavicScript,
- kFontVietnameseScript = 30,
- kFontExtendedArabicScript = 31,
- kFontSindhiScript = kFontExtendedArabicScript,
- kFontUninterpretedScript = 32
-};
-
-enum
-{
- kFontMicrosoftSymbolScript = 0,
- kFontMicrosoftStandardScript = 1,
- kFontMicrosoftUCS4Script = 10
-};
-
-
-enum
-{
- kFontCustom8BitScript = 0,
- kFontCustom816BitScript = 1,
- kFontCustom16BitScript = 2
+enum {
+ cmapFontTableTag = FOUR_CHAR_CODE('cmap')
+};
+
+enum {
+ kFontUnicodePlatform = 0,
+ kFontMacintoshPlatform = 1,
+ kFontReservedPlatform = 2,
+ kFontMicrosoftPlatform = 3,
+ kFontCustomPlatform = 4
+};
+
+enum {
+ kFontUnicodeDefaultSemantics = 0,
+ kFontUnicodeV1_1Semantics = 1,
+ kFontISO10646_1993Semantics = 2
+};
+
+enum {
+ kFontRomanScript = 0,
+ kFontJapaneseScript = 1,
+ kFontTraditionalChineseScript = 2,
+ kFontChineseScript = kFontTraditionalChineseScript,
+ kFontKoreanScript = 3,
+ kFontArabicScript = 4,
+ kFontHebrewScript = 5,
+ kFontGreekScript = 6,
+ kFontCyrillicScript = 7,
+ kFontRussian = kFontCyrillicScript,
+ kFontRSymbolScript = 8,
+ kFontDevanagariScript = 9,
+ kFontGurmukhiScript = 10,
+ kFontGujaratiScript = 11,
+ kFontOriyaScript = 12,
+ kFontBengaliScript = 13,
+ kFontTamilScript = 14,
+ kFontTeluguScript = 15,
+ kFontKannadaScript = 16,
+ kFontMalayalamScript = 17,
+ kFontSinhaleseScript = 18,
+ kFontBurmeseScript = 19,
+ kFontKhmerScript = 20,
+ kFontThaiScript = 21,
+ kFontLaotianScript = 22,
+ kFontGeorgianScript = 23,
+ kFontArmenianScript = 24,
+ kFontSimpleChineseScript = 25,
+ kFontTibetanScript = 26,
+ kFontMongolianScript = 27,
+ kFontGeezScript = 28,
+ kFontEthiopicScript = kFontGeezScript,
+ kFontAmharicScript = kFontGeezScript,
+ kFontSlavicScript = 29,
+ kFontEastEuropeanRomanScript = kFontSlavicScript,
+ kFontVietnameseScript = 30,
+ kFontExtendedArabicScript = 31,
+ kFontSindhiScript = kFontExtendedArabicScript,
+ kFontUninterpretedScript = 32
+};
+
+enum {
+ kFontMicrosoftSymbolScript = 0,
+ kFontMicrosoftStandardScript = 1,
+ kFontMicrosoftUCS4Script = 10
+};
+
+
+enum {
+ kFontCustom8BitScript = 0,
+ kFontCustom816BitScript = 1,
+ kFontCustom16BitScript = 2
};
/* Language codes are zero based everywhere but within a 'cmap' table */
-enum
-{
- kFontEnglishLanguage = 0,
- kFontFrenchLanguage = 1,
- kFontGermanLanguage = 2,
- kFontItalianLanguage = 3,
- kFontDutchLanguage = 4,
- kFontSwedishLanguage = 5,
- kFontSpanishLanguage = 6,
- kFontDanishLanguage = 7,
- kFontPortugueseLanguage = 8,
- kFontNorwegianLanguage = 9,
- kFontHebrewLanguage = 10,
- kFontJapaneseLanguage = 11,
- kFontArabicLanguage = 12,
- kFontFinnishLanguage = 13,
- kFontGreekLanguage = 14,
- kFontIcelandicLanguage = 15,
- kFontMalteseLanguage = 16,
- kFontTurkishLanguage = 17,
- kFontCroatianLanguage = 18,
- kFontTradChineseLanguage = 19,
- kFontUrduLanguage = 20,
- kFontHindiLanguage = 21,
- kFontThaiLanguage = 22,
- kFontKoreanLanguage = 23,
- kFontLithuanianLanguage = 24,
- kFontPolishLanguage = 25,
- kFontHungarianLanguage = 26,
- kFontEstonianLanguage = 27,
- kFontLettishLanguage = 28,
- kFontLatvianLanguage = kFontLettishLanguage,
- kFontSaamiskLanguage = 29,
- kFontLappishLanguage = kFontSaamiskLanguage,
- kFontFaeroeseLanguage = 30,
- kFontFarsiLanguage = 31,
- kFontPersianLanguage = kFontFarsiLanguage,
- kFontRussianLanguage = 32,
- kFontSimpChineseLanguage = 33,
- kFontFlemishLanguage = 34,
- kFontIrishLanguage = 35,
- kFontAlbanianLanguage = 36,
- kFontRomanianLanguage = 37,
- kFontCzechLanguage = 38,
- kFontSlovakLanguage = 39,
- kFontSlovenianLanguage = 40,
- kFontYiddishLanguage = 41,
- kFontSerbianLanguage = 42,
- kFontMacedonianLanguage = 43,
- kFontBulgarianLanguage = 44,
- kFontUkrainianLanguage = 45,
- kFontByelorussianLanguage = 46,
- kFontUzbekLanguage = 47,
- kFontKazakhLanguage = 48,
- kFontAzerbaijaniLanguage = 49,
- kFontAzerbaijanArLanguage = 50,
- kFontArmenianLanguage = 51,
- kFontGeorgianLanguage = 52,
- kFontMoldavianLanguage = 53,
- kFontKirghizLanguage = 54,
- kFontTajikiLanguage = 55,
- kFontTurkmenLanguage = 56,
- kFontMongolianLanguage = 57,
- kFontMongolianCyrLanguage = 58,
- kFontPashtoLanguage = 59,
- kFontKurdishLanguage = 60,
- kFontKashmiriLanguage = 61,
- kFontSindhiLanguage = 62,
- kFontTibetanLanguage = 63,
- kFontNepaliLanguage = 64,
- kFontSanskritLanguage = 65,
- kFontMarathiLanguage = 66,
- kFontBengaliLanguage = 67,
- kFontAssameseLanguage = 68,
- kFontGujaratiLanguage = 69,
- kFontPunjabiLanguage = 70,
- kFontOriyaLanguage = 71,
- kFontMalayalamLanguage = 72,
- kFontKannadaLanguage = 73,
- kFontTamilLanguage = 74,
- kFontTeluguLanguage = 75,
- kFontSinhaleseLanguage = 76,
- kFontBurmeseLanguage = 77,
- kFontKhmerLanguage = 78,
- kFontLaoLanguage = 79,
- kFontVietnameseLanguage = 80,
- kFontIndonesianLanguage = 81,
- kFontTagalogLanguage = 82,
- kFontMalayRomanLanguage = 83,
- kFontMalayArabicLanguage = 84,
- kFontAmharicLanguage = 85,
- kFontTigrinyaLanguage = 86,
- kFontGallaLanguage = 87,
- kFontOromoLanguage = kFontGallaLanguage,
- kFontSomaliLanguage = 88,
- kFontSwahiliLanguage = 89,
- kFontRuandaLanguage = 90,
- kFontRundiLanguage = 91,
- kFontChewaLanguage = 92,
- kFontMalagasyLanguage = 93,
- kFontEsperantoLanguage = 94,
- kFontWelshLanguage = 128,
- kFontBasqueLanguage = 129,
- kFontCatalanLanguage = 130,
- kFontLatinLanguage = 131,
- kFontQuechuaLanguage = 132,
- kFontGuaraniLanguage = 133,
- kFontAymaraLanguage = 134,
- kFontTatarLanguage = 135,
- kFontUighurLanguage = 136,
- kFontDzongkhaLanguage = 137,
- kFontJavaneseRomLanguage = 138,
- kFontSundaneseRomLanguage = 139
+enum {
+ kFontEnglishLanguage = 0,
+ kFontFrenchLanguage = 1,
+ kFontGermanLanguage = 2,
+ kFontItalianLanguage = 3,
+ kFontDutchLanguage = 4,
+ kFontSwedishLanguage = 5,
+ kFontSpanishLanguage = 6,
+ kFontDanishLanguage = 7,
+ kFontPortugueseLanguage = 8,
+ kFontNorwegianLanguage = 9,
+ kFontHebrewLanguage = 10,
+ kFontJapaneseLanguage = 11,
+ kFontArabicLanguage = 12,
+ kFontFinnishLanguage = 13,
+ kFontGreekLanguage = 14,
+ kFontIcelandicLanguage = 15,
+ kFontMalteseLanguage = 16,
+ kFontTurkishLanguage = 17,
+ kFontCroatianLanguage = 18,
+ kFontTradChineseLanguage = 19,
+ kFontUrduLanguage = 20,
+ kFontHindiLanguage = 21,
+ kFontThaiLanguage = 22,
+ kFontKoreanLanguage = 23,
+ kFontLithuanianLanguage = 24,
+ kFontPolishLanguage = 25,
+ kFontHungarianLanguage = 26,
+ kFontEstonianLanguage = 27,
+ kFontLettishLanguage = 28,
+ kFontLatvianLanguage = kFontLettishLanguage,
+ kFontSaamiskLanguage = 29,
+ kFontLappishLanguage = kFontSaamiskLanguage,
+ kFontFaeroeseLanguage = 30,
+ kFontFarsiLanguage = 31,
+ kFontPersianLanguage = kFontFarsiLanguage,
+ kFontRussianLanguage = 32,
+ kFontSimpChineseLanguage = 33,
+ kFontFlemishLanguage = 34,
+ kFontIrishLanguage = 35,
+ kFontAlbanianLanguage = 36,
+ kFontRomanianLanguage = 37,
+ kFontCzechLanguage = 38,
+ kFontSlovakLanguage = 39,
+ kFontSlovenianLanguage = 40,
+ kFontYiddishLanguage = 41,
+ kFontSerbianLanguage = 42,
+ kFontMacedonianLanguage = 43,
+ kFontBulgarianLanguage = 44,
+ kFontUkrainianLanguage = 45,
+ kFontByelorussianLanguage = 46,
+ kFontUzbekLanguage = 47,
+ kFontKazakhLanguage = 48,
+ kFontAzerbaijaniLanguage = 49,
+ kFontAzerbaijanArLanguage = 50,
+ kFontArmenianLanguage = 51,
+ kFontGeorgianLanguage = 52,
+ kFontMoldavianLanguage = 53,
+ kFontKirghizLanguage = 54,
+ kFontTajikiLanguage = 55,
+ kFontTurkmenLanguage = 56,
+ kFontMongolianLanguage = 57,
+ kFontMongolianCyrLanguage = 58,
+ kFontPashtoLanguage = 59,
+ kFontKurdishLanguage = 60,
+ kFontKashmiriLanguage = 61,
+ kFontSindhiLanguage = 62,
+ kFontTibetanLanguage = 63,
+ kFontNepaliLanguage = 64,
+ kFontSanskritLanguage = 65,
+ kFontMarathiLanguage = 66,
+ kFontBengaliLanguage = 67,
+ kFontAssameseLanguage = 68,
+ kFontGujaratiLanguage = 69,
+ kFontPunjabiLanguage = 70,
+ kFontOriyaLanguage = 71,
+ kFontMalayalamLanguage = 72,
+ kFontKannadaLanguage = 73,
+ kFontTamilLanguage = 74,
+ kFontTeluguLanguage = 75,
+ kFontSinhaleseLanguage = 76,
+ kFontBurmeseLanguage = 77,
+ kFontKhmerLanguage = 78,
+ kFontLaoLanguage = 79,
+ kFontVietnameseLanguage = 80,
+ kFontIndonesianLanguage = 81,
+ kFontTagalogLanguage = 82,
+ kFontMalayRomanLanguage = 83,
+ kFontMalayArabicLanguage = 84,
+ kFontAmharicLanguage = 85,
+ kFontTigrinyaLanguage = 86,
+ kFontGallaLanguage = 87,
+ kFontOromoLanguage = kFontGallaLanguage,
+ kFontSomaliLanguage = 88,
+ kFontSwahiliLanguage = 89,
+ kFontRuandaLanguage = 90,
+ kFontRundiLanguage = 91,
+ kFontChewaLanguage = 92,
+ kFontMalagasyLanguage = 93,
+ kFontEsperantoLanguage = 94,
+ kFontWelshLanguage = 128,
+ kFontBasqueLanguage = 129,
+ kFontCatalanLanguage = 130,
+ kFontLatinLanguage = 131,
+ kFontQuechuaLanguage = 132,
+ kFontGuaraniLanguage = 133,
+ kFontAymaraLanguage = 134,
+ kFontTatarLanguage = 135,
+ kFontUighurLanguage = 136,
+ kFontDzongkhaLanguage = 137,
+ kFontJavaneseRomLanguage = 138,
+ kFontSundaneseRomLanguage = 139
};
/* The following are special "don't care" values to be used in interfaces */
-enum
-{
- kFontNoPlatformCode = (unsigned long)(-1),
- kFontNoScriptCode = (unsigned long)(-1),
- kFontNoLanguageCode = (unsigned long)(-1)
+enum {
+ kFontNoPlatformCode = (unsigned long)(-1),
+ kFontNoScriptCode = (unsigned long)(-1),
+ kFontNoLanguageCode = (unsigned long)(-1)
};
-struct sfntCMapSubHeader
-{
- UInt16 format;
- UInt16 length;
- UInt16 languageID; /* base-1 */
+struct sfntCMapSubHeader {
+ UInt16 format;
+ UInt16 length;
+ UInt16 languageID; /* base-1 */
};
typedef struct sfntCMapSubHeader sfntCMapSubHeader;
-enum
-{
- sizeof_sfntCMapSubHeader = 6
+enum {
+ sizeof_sfntCMapSubHeader = 6
};
-struct sfntCMapExtendedSubHeader
-{
- UInt16 format;
- UInt16 reserved;
- UInt32 length;
- UInt32 language;
+struct sfntCMapExtendedSubHeader {
+ UInt16 format;
+ UInt16 reserved;
+ UInt32 length;
+ UInt32 language;
};
typedef struct sfntCMapExtendedSubHeader sfntCMapExtendedSubHeader;
-enum
-{
- sizeof_sfntCMapExtendedSubHeader = 12
+enum {
+ sizeof_sfntCMapExtendedSubHeader = 12
};
-struct sfntCMapEncoding
-{
- UInt16 platformID; /* base-0 */
- UInt16 scriptID; /* base-0 */
- UInt32 offset;
+struct sfntCMapEncoding {
+ UInt16 platformID; /* base-0 */
+ UInt16 scriptID; /* base-0 */
+ UInt32 offset;
};
typedef struct sfntCMapEncoding sfntCMapEncoding;
-enum
-{
- sizeof_sfntCMapEncoding = 8
+enum {
+ sizeof_sfntCMapEncoding = 8
};
-struct sfntCMapHeader
-{
- UInt16 version;
- UInt16 numTables;
- sfntCMapEncoding encoding[1];
+struct sfntCMapHeader {
+ UInt16 version;
+ UInt16 numTables;
+ sfntCMapEncoding encoding[1];
};
typedef struct sfntCMapHeader sfntCMapHeader;
-enum
-{
- sizeof_sfntCMapHeader = 4
+enum {
+ sizeof_sfntCMapHeader = 4
};
/* Name table */
-enum
-{
- nameFontTableTag = FOUR_CHAR_CODE('name')
-};
-
-enum
-{
- kFontCopyrightName = 0,
- kFontFamilyName = 1,
- kFontStyleName = 2,
- kFontUniqueName = 3,
- kFontFullName = 4,
- kFontVersionName = 5,
- kFontPostscriptName = 6,
- kFontTrademarkName = 7,
- kFontManufacturerName = 8,
- kFontDesignerName = 9,
- kFontDescriptionName = 10,
- kFontVendorURLName = 11,
- kFontDesignerURLName = 12,
- kFontLicenseDescriptionName = 13,
- kFontLicenseInfoURLName = 14,
- kFontLastReservedName = 255
+enum {
+ nameFontTableTag = FOUR_CHAR_CODE('name')
+};
+
+enum {
+ kFontCopyrightName = 0,
+ kFontFamilyName = 1,
+ kFontStyleName = 2,
+ kFontUniqueName = 3,
+ kFontFullName = 4,
+ kFontVersionName = 5,
+ kFontPostscriptName = 6,
+ kFontTrademarkName = 7,
+ kFontManufacturerName = 8,
+ kFontDesignerName = 9,
+ kFontDescriptionName = 10,
+ kFontVendorURLName = 11,
+ kFontDesignerURLName = 12,
+ kFontLicenseDescriptionName = 13,
+ kFontLicenseInfoURLName = 14,
+ kFontLastReservedName = 255
};
/* The following is a special "don't care" value to be used in interfaces */
-enum
-{
- kFontNoNameCode = (unsigned long)(-1)
+enum {
+ kFontNoNameCode = (unsigned long)(-1)
};
-struct sfntNameRecord
-{
- UInt16 platformID; /* base-0 */
- UInt16 scriptID; /* base-0 */
- UInt16 languageID; /* base-0 */
- UInt16 nameID; /* base-0 */
- UInt16 length;
- UInt16 offset;
+struct sfntNameRecord {
+ UInt16 platformID; /* base-0 */
+ UInt16 scriptID; /* base-0 */
+ UInt16 languageID; /* base-0 */
+ UInt16 nameID; /* base-0 */
+ UInt16 length;
+ UInt16 offset;
};
typedef struct sfntNameRecord sfntNameRecord;
-enum
-{
- sizeof_sfntNameRecord = 12
+enum {
+ sizeof_sfntNameRecord = 12
};
-struct sfntNameHeader
-{
- UInt16 format;
- UInt16 count;
- UInt16 stringOffset;
- sfntNameRecord rec[1];
+struct sfntNameHeader {
+ UInt16 format;
+ UInt16 count;
+ UInt16 stringOffset;
+ sfntNameRecord rec[1];
};
typedef struct sfntNameHeader sfntNameHeader;
-enum
-{
- sizeof_sfntNameHeader = 6
+enum {
+ sizeof_sfntNameHeader = 6
};
/* Fvar table - font variations */
-enum
-{
- variationFontTableTag = FOUR_CHAR_CODE('fvar')
+enum {
+ variationFontTableTag = FOUR_CHAR_CODE('fvar')
};
/* These define each font variation */
-struct sfntVariationAxis
-{
- FourCharCode axisTag;
- Fixed minValue;
- Fixed defaultValue;
- Fixed maxValue;
- SInt16 flags;
- SInt16 nameID;
+struct sfntVariationAxis {
+ FourCharCode axisTag;
+ Fixed minValue;
+ Fixed defaultValue;
+ Fixed maxValue;
+ SInt16 flags;
+ SInt16 nameID;
};
typedef struct sfntVariationAxis sfntVariationAxis;
-enum
-{
- sizeof_sfntVariationAxis = 20
+enum {
+ sizeof_sfntVariationAxis = 20
};
/* These are named locations in style-space for the user */
-struct sfntInstance
-{
- SInt16 nameID;
- SInt16 flags;
- Fixed coord[1]; /* [axisCount] */
- /* room to grow since the header carries a tupleSize field */
+struct sfntInstance {
+ SInt16 nameID;
+ SInt16 flags;
+ Fixed coord[1]; /* [axisCount] */
+ /* room to grow since the header carries a tupleSize field */
};
typedef struct sfntInstance sfntInstance;
-enum
-{
- sizeof_sfntInstance = 4
-};
-
-struct sfntVariationHeader
-{
- Fixed version; /* 1.0 Fixed */
- UInt16 offsetToData; /* to first axis = 16*/
- UInt16 countSizePairs; /* axis+inst = 2 */
- UInt16 axisCount;
- UInt16 axisSize;
- UInt16 instanceCount;
- UInt16 instanceSize;
- /* ...other <count,size> pairs */
- sfntVariationAxis axis[1]; /* [axisCount] */
- sfntInstance instance[1]; /* [instanceCount] ...other arrays of data */
+enum {
+ sizeof_sfntInstance = 4
+};
+
+struct sfntVariationHeader {
+ Fixed version; /* 1.0 Fixed */
+ UInt16 offsetToData; /* to first axis = 16*/
+ UInt16 countSizePairs; /* axis+inst = 2 */
+ UInt16 axisCount;
+ UInt16 axisSize;
+ UInt16 instanceCount;
+ UInt16 instanceSize;
+ /* ...other <count,size> pairs */
+ sfntVariationAxis axis[1]; /* [axisCount] */
+ sfntInstance instance[1]; /* [instanceCount] ...other arrays of data */
};
typedef struct sfntVariationHeader sfntVariationHeader;
-enum
-{
- sizeof_sfntVariationHeader = 16
+enum {
+ sizeof_sfntVariationHeader = 16
};
/* Fdsc table - font descriptor */
-enum
-{
- descriptorFontTableTag = FOUR_CHAR_CODE('fdsc')
+enum {
+ descriptorFontTableTag = FOUR_CHAR_CODE('fdsc')
};
-struct sfntFontDescriptor
-{
- FourCharCode name;
- Fixed value;
+struct sfntFontDescriptor {
+ FourCharCode name;
+ Fixed value;
};
typedef struct sfntFontDescriptor sfntFontDescriptor;
-struct sfntDescriptorHeader
-{
- Fixed version; /* 1.0 in Fixed */
- SInt32 descriptorCount;
- sfntFontDescriptor descriptor[1];
+struct sfntDescriptorHeader {
+ Fixed version; /* 1.0 in Fixed */
+ SInt32 descriptorCount;
+ sfntFontDescriptor descriptor[1];
};
typedef struct sfntDescriptorHeader sfntDescriptorHeader;
-enum
-{
- sizeof_sfntDescriptorHeader = 8
+enum {
+ sizeof_sfntDescriptorHeader = 8
};
/* Feat Table - layout feature table */
-enum
-{
- featureFontTableTag = FOUR_CHAR_CODE('feat')
+enum {
+ featureFontTableTag = FOUR_CHAR_CODE('feat')
};
-struct sfntFeatureName
-{
- UInt16 featureType;
- UInt16 settingCount;
- SInt32 offsetToSettings;
- UInt16 featureFlags;
- UInt16 nameID;
+struct sfntFeatureName {
+ UInt16 featureType;
+ UInt16 settingCount;
+ SInt32 offsetToSettings;
+ UInt16 featureFlags;
+ UInt16 nameID;
};
typedef struct sfntFeatureName sfntFeatureName;
-struct sfntFontFeatureSetting
-{
- UInt16 setting;
- UInt16 nameID;
+struct sfntFontFeatureSetting {
+ UInt16 setting;
+ UInt16 nameID;
};
typedef struct sfntFontFeatureSetting sfntFontFeatureSetting;
-struct sfntFontRunFeature
-{
- UInt16 featureType;
- UInt16 setting;
+struct sfntFontRunFeature {
+ UInt16 featureType;
+ UInt16 setting;
};
typedef struct sfntFontRunFeature sfntFontRunFeature;
-struct sfntFeatureHeader
-{
- SInt32 version; /* 1.0 */
- UInt16 featureNameCount;
- UInt16 featureSetCount;
- SInt32 reserved; /* set to 0 */
- sfntFeatureName names[1];
- sfntFontFeatureSetting settings[1];
- sfntFontRunFeature runs[1];
+struct sfntFeatureHeader {
+ SInt32 version; /* 1.0 */
+ UInt16 featureNameCount;
+ UInt16 featureSetCount;
+ SInt32 reserved; /* set to 0 */
+ sfntFeatureName names[1];
+ sfntFontFeatureSetting settings[1];
+ sfntFontRunFeature runs[1];
};
typedef struct sfntFeatureHeader sfntFeatureHeader;
/* OS/2 Table */
-enum
-{
- os2FontTableTag = FOUR_CHAR_CODE('OS/2')
+enum {
+ os2FontTableTag = FOUR_CHAR_CODE('OS/2')
};
/* Special invalid glyph ID value, useful as a sentinel value, for example */
-enum
-{
- nonGlyphID = 65535L
+enum {
+ nonGlyphID = 65535L
};
-/* Deprecated "don't care" values - use kFontNoPlatformCode, kFontNoScriptCode,
+/* Deprecated "don't care" values - use kFontNoPlatformCode, kFontNoScriptCode,
kFontNoLanguageCode, kFontNoName instead
*/
-enum
-{
- kFontNoPlatform = -1,
- kFontNoScript = -1,
- kFontNoLanguage = -1,
- kFontNoName = -1
+enum {
+ kFontNoPlatform = -1,
+ kFontNoScript = -1,
+ kFontNoLanguage = -1,
+ kFontNoName = -1
};
@@ -529,19 +484,18 @@ typedef UInt32 FontLanguageCode;
** FontVariation is used to specify a coordinate along a variation axis. The name
** identifies the axes to be applied, and value is the setting to be used.
*/
-struct FontVariation
-{
- FourCharCode name;
- Fixed value;
+struct FontVariation {
+ FourCharCode name;
+ Fixed value;
};
typedef struct FontVariation FontVariation;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ScalerStreamTypes.h b/include/qt/ScalerStreamTypes.h
index 36177a210..9e0d2febb 100644
--- a/include/qt/ScalerStreamTypes.h
+++ b/include/qt/ScalerStreamTypes.h
@@ -1,17 +1,17 @@
/*
File: ScalerStreamTypes.h
-
+
Contains: Scaler streaming data structures and constants for OFA 1.x
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SCALERSTREAMTYPES__
#define __SCALERSTREAMTYPES__
@@ -36,107 +36,98 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/* ScalerStream input/output types */
-enum
-{
- cexec68K = 0x00000001,
- truetypeStreamType = 0x00000001,
- type1StreamType = 0x00000002,
- type3StreamType = 0x00000004,
- type42StreamType = 0x00000008,
- type42GXStreamType = 0x00000010,
- portableStreamType = 0x00000020,
- flattenedStreamType = 0x00000040,
- cidType2StreamType = 0x00000080,
- cidType0StreamType = 0x00000100,
- type1CFFStreamType = 0x00000200,
- evenOddModifierStreamType = 0x00008000,
- eexecBinaryModifierStreamType = 0x00010000, /* encrypted portion of Type1Stream to be binary */
- unicodeMappingModifierStreamType = 0x00020000, /* include glyph ID to unicode mapping info for PDF */
- scalerSpecifcModifierMask = 0x0000F000, /* for scaler's internal use */
- streamTypeModifierMask = (long)0xFFFFF000 /* 16 bits for Apple, 4 bits for scaler */
+enum {
+ cexec68K = 0x00000001,
+ truetypeStreamType = 0x00000001,
+ type1StreamType = 0x00000002,
+ type3StreamType = 0x00000004,
+ type42StreamType = 0x00000008,
+ type42GXStreamType = 0x00000010,
+ portableStreamType = 0x00000020,
+ flattenedStreamType = 0x00000040,
+ cidType2StreamType = 0x00000080,
+ cidType0StreamType = 0x00000100,
+ type1CFFStreamType = 0x00000200,
+ evenOddModifierStreamType = 0x00008000,
+ eexecBinaryModifierStreamType = 0x00010000, /* encrypted portion of Type1Stream to be binary */
+ unicodeMappingModifierStreamType = 0x00020000, /* include glyph ID to unicode mapping info for PDF */
+ scalerSpecifcModifierMask = 0x0000F000, /* for scaler's internal use */
+ streamTypeModifierMask = (long)0xFFFFF000 /* 16 bits for Apple, 4 bits for scaler */
};
/* Possible streamed font formats */
typedef unsigned long scalerStreamTypeFlag;
-enum
-{
- downloadStreamAction = 0, /* Transmit the (possibly sparse) font data */
- asciiDownloadStreamAction = 1, /* Transmit font data to a 7-bit ASCII destination */
- fontSizeQueryStreamAction = 2, /* Estimate in-printer memory used if the font were downloaded */
- encodingOnlyStreamAction = 3, /* Transmit only the encoding for the font */
- prerequisiteQueryStreamAction = 4, /* Return a list of prerequisite items needed for the font */
- prerequisiteItemStreamAction = 5, /* Transmit a specified prerequisite item */
- variationQueryStreamAction = 6, /* Return information regarding support for variation streaming */
- variationPSOperatorStreamAction = 7 /* Transmit Postscript code necessary to effect variation of a font */
+enum {
+ downloadStreamAction = 0, /* Transmit the (possibly sparse) font data */
+ asciiDownloadStreamAction = 1, /* Transmit font data to a 7-bit ASCII destination */
+ fontSizeQueryStreamAction = 2, /* Estimate in-printer memory used if the font were downloaded */
+ encodingOnlyStreamAction = 3, /* Transmit only the encoding for the font */
+ prerequisiteQueryStreamAction = 4, /* Return a list of prerequisite items needed for the font */
+ prerequisiteItemStreamAction = 5, /* Transmit a specified prerequisite item */
+ variationQueryStreamAction = 6, /* Return information regarding support for variation streaming */
+ variationPSOperatorStreamAction = 7 /* Transmit Postscript code necessary to effect variation of a font */
};
typedef long scalerStreamAction;
-enum
-{
- selectAllVariations = -1 /* Special variationCount value meaning include all variation data */
+enum {
+ selectAllVariations = -1 /* Special variationCount value meaning include all variation data */
};
-struct scalerPrerequisiteItem
-{
- long enumeration; /* Shorthand tag identifying the item */
- long size; /* Worst case vm in printer item requires */
- unsigned char name[1]; /* Name to be used by the client when emitting the item (Pascal string) */
+struct scalerPrerequisiteItem {
+ long enumeration; /* Shorthand tag identifying the item */
+ long size; /* Worst case vm in printer item requires */
+ unsigned char name[1]; /* Name to be used by the client when emitting the item (Pascal string) */
};
typedef struct scalerPrerequisiteItem scalerPrerequisiteItem;
-struct scalerStream
-{
- const void * streamRefCon; /* <- private reference for client */
- const char * targetVersion; /* <- e.g. Postscript printer name (C string) */
- scalerStreamTypeFlag types; /* <-> Data stream formats desired/supplied */
- scalerStreamAction action; /* <- What action to take */
- unsigned long memorySize; /* -> Worst case memory use (vm) in printer or as sfnt */
- long variationCount; /* <- The number of variations, or selectAllVariations */
- const void * variations; /* <- A pointer to an array of the variations (gxFontVariation) */
- union
- {
- /* Normal font streaming information*/
- struct
- {
- const unsigned short * encoding; /* <- Intention is * unsigned short[256] */
- long * glyphBits; /* <-> Bitvector: a bit for each glyph, 1 = desired/supplied */
- char * name; /* <-> The printer font name to use/used (C string) */
- } font;
-
- /* Used to obtain a list of prerequisites from the scaler*/
- struct
- {
- long size; /* -> Size of the prereq. list in bytes (0 indicates no prerequisites)*/
- void * list; /* <- Pointer to client block to hold list (nil = list size query only) */
- } prerequisiteQuery;
-
- long prerequisiteItem; /* <- Enumeration value for the prerequisite item to be streamed.*/
-
- long variationQueryResult; /* -> Output from the variationQueryStreamAction */
- } info;
+struct scalerStream {
+ const void * streamRefCon; /* <- private reference for client */
+ const char * targetVersion; /* <- e.g. Postscript printer name (C string) */
+ scalerStreamTypeFlag types; /* <-> Data stream formats desired/supplied */
+ scalerStreamAction action; /* <- What action to take */
+ unsigned long memorySize; /* -> Worst case memory use (vm) in printer or as sfnt */
+ long variationCount; /* <- The number of variations, or selectAllVariations */
+ const void * variations; /* <- A pointer to an array of the variations (gxFontVariation) */
+ union {
+ /* Normal font streaming information*/
+ struct {
+ const unsigned short * encoding; /* <- Intention is * unsigned short[256] */
+ long * glyphBits; /* <-> Bitvector: a bit for each glyph, 1 = desired/supplied */
+ char * name; /* <-> The printer font name to use/used (C string) */
+ } font;
+
+ /* Used to obtain a list of prerequisites from the scaler*/
+ struct {
+ long size; /* -> Size of the prereq. list in bytes (0 indicates no prerequisites)*/
+ void * list; /* <- Pointer to client block to hold list (nil = list size query only) */
+ } prerequisiteQuery;
+
+ long prerequisiteItem; /* <- Enumeration value for the prerequisite item to be streamed.*/
+
+ long variationQueryResult; /* -> Output from the variationQueryStreamAction */
+ } info;
};
typedef struct scalerStream scalerStream;
-struct scalerStreamData
-{
- long hexFlag; /* Indicates that the data is to be interpreted as hex, versus binary */
- long byteCount; /* Number of bytes in the data being streamed */
- const void * data; /* Pointer to the data being streamed */
+struct scalerStreamData {
+ long hexFlag; /* Indicates that the data is to be interpreted as hex, versus binary */
+ long byteCount; /* Number of bytes in the data being streamed */
+ const void * data; /* Pointer to the data being streamed */
};
typedef struct scalerStreamData scalerStreamData;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Scrap.h b/include/qt/Scrap.h
index aea55e662..11053208f 100644
--- a/include/qt/Scrap.h
+++ b/include/qt/Scrap.h
@@ -1,17 +1,17 @@
/*
File: Scrap.h
-
+
Contains: Scrap Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SCRAP__
#define __SCRAP__
@@ -43,654 +43,638 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- ________________________________________________________________
- UNIVERSAL SCRAP MANAGER INTERFACES
- ________________________________________________________________
- The following interfaces are available when compiling for BOTH
- Carbon AND Mac OS 8.
- ________________________________________________________________
- */
- /*
- While we're in here mucking about, we defined a new type to
- to put some confusion to rest. The old calls, as well as the
- new calls, use the new type. Existing clients should be
- blissfully ignorant.
- */
-
- typedef FourCharCode ScrapFlavorType;
- /*
- Newsflash! After 15 years of arduous toil, it's finally possible
- for specially trained typists wielding advanced text editing
- technology to define symbolic names for commonly used scrap
- flavor type constants! Apple triumphs again!
- */
- enum
- {
- kScrapFlavorTypePicture = FOUR_CHAR_CODE('PICT'), /* contents of a PicHandle*/
- kScrapFlavorTypeText = FOUR_CHAR_CODE('TEXT'), /* stream of characters*/
- kScrapFlavorTypeTextStyle = FOUR_CHAR_CODE('styl'), /* see TEGetStyleScrapHandle*/
- kScrapFlavorTypeMovie = FOUR_CHAR_CODE('moov'), /* reference to a movie*/
- kScrapFlavorTypeSound = FOUR_CHAR_CODE('snd '), /* see SndRecord and SndPlay*/
- kScrapFlavorTypeUnicode = FOUR_CHAR_CODE('utxt'), /* stream of UTF16 characters*/
- kScrapFlavorTypeUnicodeStyle = FOUR_CHAR_CODE('ustl') /* ATSUI defines; Textension uses*/
- };
-
- /*
- If you are a Carbon client and you need to run on Mac OS 8,
- you may still need to load and unload the scrap. Under Mac OS
- X, the scrap is held by the pasteboard server instead of in a
- handle in your app's heap, so LoadScrap and UnloadScrap do
- nothing when called under Mac OS X.
- */
-
- /*
- * LoadScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- LoadScrap(void) ONEWORDINLINE(0xA9FB);
-
-
- /*
- * UnloadScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UnloadScrap(void) ONEWORDINLINE(0xA9FA);
+/*
+ ________________________________________________________________
+ UNIVERSAL SCRAP MANAGER INTERFACES
+ ________________________________________________________________
+ The following interfaces are available when compiling for BOTH
+ Carbon AND Mac OS 8.
+ ________________________________________________________________
+*/
+/*
+ While we're in here mucking about, we defined a new type to
+ to put some confusion to rest. The old calls, as well as the
+ new calls, use the new type. Existing clients should be
+ blissfully ignorant.
+*/
+
+typedef FourCharCode ScrapFlavorType;
+/*
+ Newsflash! After 15 years of arduous toil, it's finally possible
+ for specially trained typists wielding advanced text editing
+ technology to define symbolic names for commonly used scrap
+ flavor type constants! Apple triumphs again!
+*/
+enum {
+ kScrapFlavorTypePicture = FOUR_CHAR_CODE('PICT'), /* contents of a PicHandle*/
+ kScrapFlavorTypeText = FOUR_CHAR_CODE('TEXT'), /* stream of characters*/
+ kScrapFlavorTypeTextStyle = FOUR_CHAR_CODE('styl'), /* see TEGetStyleScrapHandle*/
+ kScrapFlavorTypeMovie = FOUR_CHAR_CODE('moov'), /* reference to a movie*/
+ kScrapFlavorTypeSound = FOUR_CHAR_CODE('snd '), /* see SndRecord and SndPlay*/
+ kScrapFlavorTypeUnicode = FOUR_CHAR_CODE('utxt'), /* stream of UTF16 characters*/
+ kScrapFlavorTypeUnicodeStyle = FOUR_CHAR_CODE('ustl') /* ATSUI defines; Textension uses*/
+};
+
+/*
+ If you are a Carbon client and you need to run on Mac OS 8,
+ you may still need to load and unload the scrap. Under Mac OS
+ X, the scrap is held by the pasteboard server instead of in a
+ handle in your app's heap, so LoadScrap and UnloadScrap do
+ nothing when called under Mac OS X.
+*/
+
+/*
+ * LoadScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LoadScrap(void) ONEWORDINLINE(0xA9FB);
+
+
+/*
+ * UnloadScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UnloadScrap(void) ONEWORDINLINE(0xA9FA);
#if CALL_NOT_IN_CARBON
- /*
- ________________________________________________________________
- MAC OS 8 SCRAP MANAGER INTERFACES
- ________________________________________________________________
- The following interfaces are available only when compiling for
- plain vanilla Mac OS 8. We didn't add comments to them because
- Inside Mac covers them in detail.
- ________________________________________________________________
- */
- struct ScrapStuff
- {
- SInt32 scrapSize;
- Handle scrapHandle;
- SInt16 scrapCount;
- SInt16 scrapState;
- StringPtr scrapName;
- };
- typedef struct ScrapStuff ScrapStuff;
- typedef ScrapStuff * PScrapStuff;
- typedef ScrapStuff * ScrapStuffPtr;
+/*
+ ________________________________________________________________
+ MAC OS 8 SCRAP MANAGER INTERFACES
+ ________________________________________________________________
+ The following interfaces are available only when compiling for
+ plain vanilla Mac OS 8. We didn't add comments to them because
+ Inside Mac covers them in detail.
+ ________________________________________________________________
+*/
+struct ScrapStuff {
+ SInt32 scrapSize;
+ Handle scrapHandle;
+ SInt16 scrapCount;
+ SInt16 scrapState;
+ StringPtr scrapName;
+};
+typedef struct ScrapStuff ScrapStuff;
+typedef ScrapStuff * PScrapStuff;
+typedef ScrapStuff * ScrapStuffPtr;
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * InfoScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ScrapStuffPtr)
- InfoScrap(void) ONEWORDINLINE(0xA9F9);
-
-
- /*
- * GetScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long)
- GetScrap(
- Handle destination,
- ScrapFlavorType flavorType,
- SInt32 * offset) ONEWORDINLINE(0xA9FD);
-
-
- /*
- * ZeroScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- ZeroScrap(void) ONEWORDINLINE(0xA9FC);
-
-
- /*
- * PutScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- PutScrap(
- SInt32 sourceBufferByteCount,
- ScrapFlavorType flavorType,
- const void * sourceBuffer) ONEWORDINLINE(0xA9FE);
-
-
-
- /*
- ________________________________________________________________
- CARBON SCRAP MANAGER INTERFACES
- ________________________________________________________________
- The following interfaces are available only when compiling for
- Carbon.
- ________________________________________________________________
- */
-
- /*
- When promising a scrap flavor, it's OK if you
- don't yet know how big the flavor data will be.
- In this case, just pass kScrapFlavorSizeUnknown
- for the flavor data size.
- */
+/*
+ * InfoScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ScrapStuffPtr )
+InfoScrap(void) ONEWORDINLINE(0xA9F9);
+
+
+/*
+ * GetScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long )
+GetScrap(
+ Handle destination,
+ ScrapFlavorType flavorType,
+ SInt32 * offset) ONEWORDINLINE(0xA9FD);
+
+
+/*
+ * ZeroScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+ZeroScrap(void) ONEWORDINLINE(0xA9FC);
+
+
+/*
+ * PutScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+PutScrap(
+ SInt32 sourceBufferByteCount,
+ ScrapFlavorType flavorType,
+ const void * sourceBuffer) ONEWORDINLINE(0xA9FE);
+
+
+
+/*
+ ________________________________________________________________
+ CARBON SCRAP MANAGER INTERFACES
+ ________________________________________________________________
+ The following interfaces are available only when compiling for
+ Carbon.
+ ________________________________________________________________
+*/
+
+/*
+ When promising a scrap flavor, it's OK if you
+ don't yet know how big the flavor data will be.
+ In this case, just pass kScrapFlavorSizeUnknown
+ for the flavor data size.
+*/
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kScrapFlavorSizeUnknown = -1
- };
-
- /*
- kScrapReservedFlavorType is a flavor type which is reserved
- for use by Scrap Manager. If you pass it to Scrap Manager,
- it will be rejected.
- */
-
- enum
- {
- kScrapReservedFlavorType = FOUR_CHAR_CODE('srft')
- };
-
- /*
- We've added scrap flavor flags ala Drag Manager.
-
- kScrapFlavorMaskNone means you want none of the flags.
-
- kScrapFlavorSenderOnlyMask means only the process which
- put the flavor on the scrap can see it. If some other
- process put a flavor with this flag on the scrap,
- your process will never see the flavor, so there's
- no point in testing for this flag.
-
- kScrapFlavorTranslated means the flavor was translated
- from some other flavor in the scrap by Translation Manager.
- Most callers should not care about this bit.
- */
- enum
- {
- kScrapFlavorMaskNone = 0x00000000,
- kScrapFlavorMaskSenderOnly = 0x00000001,
- kScrapFlavorMaskTranslated = 0x00000002
- };
-
- typedef UInt32 ScrapFlavorFlags;
- /*
- ScrapFlavorInfo describes a single flavor within
- a scrap.
- */
- struct ScrapFlavorInfo
- {
- ScrapFlavorType flavorType;
- ScrapFlavorFlags flavorFlags;
- };
- typedef struct ScrapFlavorInfo ScrapFlavorInfo;
- typedef struct OpaqueScrapRef* ScrapRef;
- /*
- kScrapRefNone is guaranteed to be an invalid ScrapRef. This
- is convenient when initializing application variables.
- */
+enum {
+ kScrapFlavorSizeUnknown = -1
+};
+
+/*
+ kScrapReservedFlavorType is a flavor type which is reserved
+ for use by Scrap Manager. If you pass it to Scrap Manager,
+ it will be rejected.
+*/
+
+enum {
+ kScrapReservedFlavorType = FOUR_CHAR_CODE('srft')
+};
+
+/*
+ We've added scrap flavor flags ala Drag Manager.
+
+ kScrapFlavorMaskNone means you want none of the flags.
+
+ kScrapFlavorSenderOnlyMask means only the process which
+ put the flavor on the scrap can see it. If some other
+ process put a flavor with this flag on the scrap,
+ your process will never see the flavor, so there's
+ no point in testing for this flag.
+
+ kScrapFlavorTranslated means the flavor was translated
+ from some other flavor in the scrap by Translation Manager.
+ Most callers should not care about this bit.
+*/
+enum {
+ kScrapFlavorMaskNone = 0x00000000,
+ kScrapFlavorMaskSenderOnly = 0x00000001,
+ kScrapFlavorMaskTranslated = 0x00000002
+};
+
+typedef UInt32 ScrapFlavorFlags;
+/*
+ ScrapFlavorInfo describes a single flavor within
+ a scrap.
+*/
+struct ScrapFlavorInfo {
+ ScrapFlavorType flavorType;
+ ScrapFlavorFlags flavorFlags;
+};
+typedef struct ScrapFlavorInfo ScrapFlavorInfo;
+typedef struct OpaqueScrapRef* ScrapRef;
+/*
+ kScrapRefNone is guaranteed to be an invalid ScrapRef. This
+ is convenient when initializing application variables.
+*/
#define kScrapRefNone ((ScrapRef)NULL)
- /*
- Defined Apple scrap names for GetScrapByName
- kScrapClipboardScrap traditional clipboard scrap
- kScrapFindScrap compatible with Cocoa's global find scrap
- */
+/*
+ Defined Apple scrap names for GetScrapByName
+ kScrapClipboardScrap traditional clipboard scrap
+ kScrapFindScrap compatible with Cocoa's global find scrap
+*/
#define kScrapClipboardScrap CFSTR("com.apple.scrap.clipboard")
#define kScrapFindScrap CFSTR("com.apple.scrap.find")
- /* Enumerated options to be passed to GetScrapByName*/
-
- enum
- {
- kScrapGetNamedScrap = 0, /* get current named scrap without bumping*/
- kScrapClearNamedScrap = (1L << 0) /* acquire the named scrap, bumping and clearing*/
- };
-
- /*
- GetScrapByName allows access to an indefinite number of public or private
- scraps. The constant kScrapClipboardScrap refers to the "current" scrap
- we've all come to know and love. kScrapFindScrap allows Carbon apps to
- interact seamlessly with Cocoa's global find scrap. Note that calling:
-
- GetScrapByName( kScrapClipboardScrap, kScrapGetNamedScrap, &scrap );
-
- is an exact match to the call:
-
- GetCurrentScrap( &scrap );
-
- Additionally, a call to:
-
- GetScrapByName( kScrapClipboardScrap, kScrapClearNamedScrap, &scrap );
-
- is a replacement for the sequence:
-
- ClearCurrentScrap();
- GetCurrentScrap( &scrap );
-
- You can use this API to generate your own private scraps to use as a high
- level interprocess communication between your main and helper apps. The Java
- naming convention is suggested for your scraps ( ie. com.joeco.scrap.secret ).
-
- CarbonLib does not support arbitrary named scraps; when calling this API on
- CarbonLib, kScrapClipboardScrap is the only supported value for the name parameter.
- */
- /*
- * GetScrapByName()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- GetScrapByName(
- CFStringRef name,
- OptionBits options,
- ScrapRef * scrap);
-
-
- /*
- GetCurrentScrap obtains a reference to the current scrap.
- The ScrapRef obtained via GetCurrentScrap will become
- invalid and unusable after the scrap is cleared.
- */
-
- /*
- * GetCurrentScrap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetCurrentScrap(ScrapRef * scrap);
-
-
- /*
- GetScrapFlavorFlags tells you [a] whether the scrap contains
- data for a particular flavor and [b] some things about that
- flavor if it exists. This call never blocks, and is useful
- for deciding whether to enable the Paste item in your Edit
- menu, among other things.
- */
-
- /*
- * GetScrapFlavorFlags()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetScrapFlavorFlags(
- ScrapRef scrap,
- ScrapFlavorType flavorType,
- ScrapFlavorFlags * flavorFlags);
-
-
- /*
- GetScrapFlavorSize gets the size of the data of the specified
- flavor. This function blocks until the specified flavor
- data is available. GetScrapFlavorSize is intended as a prelude
- to allocating memory and calling GetScrapFlavorData.
- */
-
- /*
- * GetScrapFlavorSize()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetScrapFlavorSize(
- ScrapRef scrap,
- ScrapFlavorType flavorType,
- Size * byteCount);
-
-
- /*
- GetScrapFlavorData gets the data from the specified flavor in the
- specified scrap. This function blocks until the specified flavor
- data is available. Specify the maximum size your buffer can contain;
- on output, this function produces the number of bytes that were
- available (even if this is more than you requested).
- */
-
- /*
- * GetScrapFlavorData()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetScrapFlavorData(
- ScrapRef scrap,
- ScrapFlavorType flavorType,
- Size * byteCount,
- void * destination);
-
-
- /*
- ClearCurrentScrap clears the current scrap. Call this
- first when the user requests a Copy or Cut operation --
- even if you maintain a private scrap! You should not wait
- until receiving a suspend event to call ClearCurrentScrap. Call
- it immediately after the user requests a Copy or Cut operation.
- You don't need to put any data on the scrap immediately (although
- it's perfectly fine to do so). You DO need to call GetCurrentScrap
- after ClearCurrentScrap so you'll have a valid ScrapRef to pass
- to other functions.
- */
-
- /*
- * ClearCurrentScrap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ClearCurrentScrap(void);
-
-
- /*
- ClearScrap will clear the scrap passed in and return the bumped
- ScrapRef value. ClearScrap behaves similarly to GetScrapByName
- when called with the kScrapClearNamedScrap option with the
- benefit of not requiring a name in the event one is not available.
-
- CarbonLib does not support arbitrary named scraps; when calling this
- API on CarbonLib, only clearing the current scrap is supported.
- */
- /*
- * ClearScrap()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.5 and later
- * Mac OS X: in version 10.1 and later
- */
- EXTERN_API(OSStatus)
- ClearScrap(ScrapRef * inOutScrap);
-
-
-
- /*
- PutScrapFlavor is a lot like PutScrap, with two differences:
- we added a ScrapRef parameter at the beginning and you can
- "promise" various aspects of a flavor. If you pass a NIL
- data pointer, this is a promise that in the future you
- will provide data for this flavor. Provide the data
- through a subsequent call to PutScrapFlavor, either later
- in the same code flow or during a scrap promise keeper proc.
- If you know how big the data is, you can pass the size as
- well, and this may allow subsequent callers of GetScrapFlavorInfo
- to avoid blocking. If you don't know the size, pass -1.
- If you pass a 0 size, you are telling Scrap Manager not to
- expect any data for this flavor. In this case, the flavor
- data pointer is ignored. NOTE: the last time you can provide
- scrap flavor data is when your scrap promise keeper gets
- called. It is NOT possible to call PutScrapFlavor while
- handling a suspend event; suspend events under Carbon
- simply don't work the way they do under Mac OS 8.
-
- The method for setting Scrap Manager promises differs from that for Drag Manger promises.
- This chart describes the method for setting scrap promises via PutScrapFlavor().
-
- dataPtr dataSize result
- pointer value actual data size The data of size dataSize pointed to by dataPtr is added to the scrap.
- 0 actual data size A promise for data of size dataSize is placed on the scrap.
- 0 -1 A promise for data of an undetermined size is placed on the scrap.
- ignored 0 A flavor with no data expected is placed on the scrap. This is not a promise.
- */
- /*
- * PutScrapFlavor()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- PutScrapFlavor(
- ScrapRef scrap,
- ScrapFlavorType flavorType,
- ScrapFlavorFlags flavorFlags,
- Size flavorSize,
- const void * flavorData); /* can be NULL */
-
-
- /*
- ScrapPromiseKeeper is a function you write which is called by
- Scrap Manager as needed to keep your earlier promise of a
- particular scrap flavor. When your function is called, deliver
- the requested data by calling PutScrapFlavor.
- */
-
- typedef CALLBACK_API(OSStatus , ScrapPromiseKeeperProcPtr)(ScrapRef scrap, ScrapFlavorType flavorType, void *userData);
- typedef STACK_UPP_TYPE(ScrapPromiseKeeperProcPtr) ScrapPromiseKeeperUPP;
- /*
- * NewScrapPromiseKeeperUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ScrapPromiseKeeperUPP)
- NewScrapPromiseKeeperUPP(ScrapPromiseKeeperProcPtr userRoutine);
+/* Enumerated options to be passed to GetScrapByName*/
+
+enum {
+ kScrapGetNamedScrap = 0, /* get current named scrap without bumping*/
+ kScrapClearNamedScrap = (1L << 0) /* acquire the named scrap, bumping and clearing*/
+};
+
+/*
+ GetScrapByName allows access to an indefinite number of public or private
+ scraps. The constant kScrapClipboardScrap refers to the "current" scrap
+ we've all come to know and love. kScrapFindScrap allows Carbon apps to
+ interact seamlessly with Cocoa's global find scrap. Note that calling:
+
+ GetScrapByName( kScrapClipboardScrap, kScrapGetNamedScrap, &scrap );
+
+ is an exact match to the call:
+
+ GetCurrentScrap( &scrap );
+
+ Additionally, a call to:
+
+ GetScrapByName( kScrapClipboardScrap, kScrapClearNamedScrap, &scrap );
+
+ is a replacement for the sequence:
+
+ ClearCurrentScrap();
+ GetCurrentScrap( &scrap );
+
+ You can use this API to generate your own private scraps to use as a high
+ level interprocess communication between your main and helper apps. The Java
+ naming convention is suggested for your scraps ( ie. com.joeco.scrap.secret ).
+
+ CarbonLib does not support arbitrary named scraps; when calling this API on
+ CarbonLib, kScrapClipboardScrap is the only supported value for the name parameter.
+*/
+/*
+ * GetScrapByName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+GetScrapByName(
+ CFStringRef name,
+ OptionBits options,
+ ScrapRef * scrap);
+
+
+/*
+ GetCurrentScrap obtains a reference to the current scrap.
+ The ScrapRef obtained via GetCurrentScrap will become
+ invalid and unusable after the scrap is cleared.
+*/
+
+/*
+ * GetCurrentScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetCurrentScrap(ScrapRef * scrap);
+
+
+/*
+ GetScrapFlavorFlags tells you [a] whether the scrap contains
+ data for a particular flavor and [b] some things about that
+ flavor if it exists. This call never blocks, and is useful
+ for deciding whether to enable the Paste item in your Edit
+ menu, among other things.
+*/
+
+/*
+ * GetScrapFlavorFlags()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetScrapFlavorFlags(
+ ScrapRef scrap,
+ ScrapFlavorType flavorType,
+ ScrapFlavorFlags * flavorFlags);
+
+
+/*
+ GetScrapFlavorSize gets the size of the data of the specified
+ flavor. This function blocks until the specified flavor
+ data is available. GetScrapFlavorSize is intended as a prelude
+ to allocating memory and calling GetScrapFlavorData.
+*/
+
+/*
+ * GetScrapFlavorSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetScrapFlavorSize(
+ ScrapRef scrap,
+ ScrapFlavorType flavorType,
+ Size * byteCount);
+
+
+/*
+ GetScrapFlavorData gets the data from the specified flavor in the
+ specified scrap. This function blocks until the specified flavor
+ data is available. Specify the maximum size your buffer can contain;
+ on output, this function produces the number of bytes that were
+ available (even if this is more than you requested).
+*/
+
+/*
+ * GetScrapFlavorData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetScrapFlavorData(
+ ScrapRef scrap,
+ ScrapFlavorType flavorType,
+ Size * byteCount,
+ void * destination);
+
+
+/*
+ ClearCurrentScrap clears the current scrap. Call this
+ first when the user requests a Copy or Cut operation --
+ even if you maintain a private scrap! You should not wait
+ until receiving a suspend event to call ClearCurrentScrap. Call
+ it immediately after the user requests a Copy or Cut operation.
+ You don't need to put any data on the scrap immediately (although
+ it's perfectly fine to do so). You DO need to call GetCurrentScrap
+ after ClearCurrentScrap so you'll have a valid ScrapRef to pass
+ to other functions.
+*/
+
+/*
+ * ClearCurrentScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ClearCurrentScrap(void);
+
+
+/*
+ ClearScrap will clear the scrap passed in and return the bumped
+ ScrapRef value. ClearScrap behaves similarly to GetScrapByName
+ when called with the kScrapClearNamedScrap option with the
+ benefit of not requiring a name in the event one is not available.
+
+ CarbonLib does not support arbitrary named scraps; when calling this
+ API on CarbonLib, only clearing the current scrap is supported.
+*/
+/*
+ * ClearScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+ClearScrap(ScrapRef * inOutScrap);
+
+
+
+/*
+ PutScrapFlavor is a lot like PutScrap, with two differences:
+ we added a ScrapRef parameter at the beginning and you can
+ "promise" various aspects of a flavor. If you pass a NIL
+ data pointer, this is a promise that in the future you
+ will provide data for this flavor. Provide the data
+ through a subsequent call to PutScrapFlavor, either later
+ in the same code flow or during a scrap promise keeper proc.
+ If you know how big the data is, you can pass the size as
+ well, and this may allow subsequent callers of GetScrapFlavorInfo
+ to avoid blocking. If you don't know the size, pass -1.
+ If you pass a 0 size, you are telling Scrap Manager not to
+ expect any data for this flavor. In this case, the flavor
+ data pointer is ignored. NOTE: the last time you can provide
+ scrap flavor data is when your scrap promise keeper gets
+ called. It is NOT possible to call PutScrapFlavor while
+ handling a suspend event; suspend events under Carbon
+ simply don't work the way they do under Mac OS 8.
+
+ The method for setting Scrap Manager promises differs from that for Drag Manger promises.
+ This chart describes the method for setting scrap promises via PutScrapFlavor().
+
+ dataPtr dataSize result
+ pointer value actual data size The data of size dataSize pointed to by dataPtr is added to the scrap.
+ 0 actual data size A promise for data of size dataSize is placed on the scrap.
+ 0 -1 A promise for data of an undetermined size is placed on the scrap.
+ ignored 0 A flavor with no data expected is placed on the scrap. This is not a promise.
+*/
+/*
+ * PutScrapFlavor()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PutScrapFlavor(
+ ScrapRef scrap,
+ ScrapFlavorType flavorType,
+ ScrapFlavorFlags flavorFlags,
+ Size flavorSize,
+ const void * flavorData); /* can be NULL */
+
+
+/*
+ ScrapPromiseKeeper is a function you write which is called by
+ Scrap Manager as needed to keep your earlier promise of a
+ particular scrap flavor. When your function is called, deliver
+ the requested data by calling PutScrapFlavor.
+*/
+
+typedef CALLBACK_API( OSStatus , ScrapPromiseKeeperProcPtr )(ScrapRef scrap, ScrapFlavorType flavorType, void *userData);
+typedef STACK_UPP_TYPE(ScrapPromiseKeeperProcPtr) ScrapPromiseKeeperUPP;
+/*
+ * NewScrapPromiseKeeperUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ScrapPromiseKeeperUPP )
+NewScrapPromiseKeeperUPP(ScrapPromiseKeeperProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppScrapPromiseKeeperProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ScrapPromiseKeeperUPP) NewScrapPromiseKeeperUPP(ScrapPromiseKeeperProcPtr userRoutine)
- {
- return (ScrapPromiseKeeperUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppScrapPromiseKeeperProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewScrapPromiseKeeperUPP(userRoutine) (ScrapPromiseKeeperUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppScrapPromiseKeeperProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppScrapPromiseKeeperProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ScrapPromiseKeeperUPP) NewScrapPromiseKeeperUPP(ScrapPromiseKeeperProcPtr userRoutine) { return (ScrapPromiseKeeperUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppScrapPromiseKeeperProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewScrapPromiseKeeperUPP(userRoutine) (ScrapPromiseKeeperUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppScrapPromiseKeeperProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeScrapPromiseKeeperUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeScrapPromiseKeeperUPP(ScrapPromiseKeeperUPP userUPP);
+/*
+ * DisposeScrapPromiseKeeperUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeScrapPromiseKeeperUPP(ScrapPromiseKeeperUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeScrapPromiseKeeperUPP(ScrapPromiseKeeperUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeScrapPromiseKeeperUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeScrapPromiseKeeperUPP(ScrapPromiseKeeperUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeScrapPromiseKeeperUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeScrapPromiseKeeperUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeScrapPromiseKeeperUPP(
- ScrapRef scrap,
- ScrapFlavorType flavorType,
- void * userData,
- ScrapPromiseKeeperUPP userUPP);
+/*
+ * InvokeScrapPromiseKeeperUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeScrapPromiseKeeperUPP(
+ ScrapRef scrap,
+ ScrapFlavorType flavorType,
+ void * userData,
+ ScrapPromiseKeeperUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeScrapPromiseKeeperUPP(ScrapRef scrap, ScrapFlavorType flavorType, void * userData, ScrapPromiseKeeperUPP userUPP)
- {
- return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppScrapPromiseKeeperProcInfo, scrap, flavorType, userData);
- }
-#else
-#define InvokeScrapPromiseKeeperUPP(scrap, flavorType, userData, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppScrapPromiseKeeperProcInfo, (scrap), (flavorType), (userData))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeScrapPromiseKeeperUPP(ScrapRef scrap, ScrapFlavorType flavorType, void * userData, ScrapPromiseKeeperUPP userUPP) { return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppScrapPromiseKeeperProcInfo, scrap, flavorType, userData); }
+ #else
+ #define InvokeScrapPromiseKeeperUPP(scrap, flavorType, userData, userUPP) (OSStatus)CALL_THREE_PARAMETER_UPP((userUPP), uppScrapPromiseKeeperProcInfo, (scrap), (flavorType), (userData))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewScrapPromiseKeeperProc(userRoutine) NewScrapPromiseKeeperUPP(userRoutine)
-#define CallScrapPromiseKeeperProc(userRoutine, scrap, flavorType, userData) InvokeScrapPromiseKeeperUPP(scrap, flavorType, userData, userRoutine)
+ #define NewScrapPromiseKeeperProc(userRoutine) NewScrapPromiseKeeperUPP(userRoutine)
+ #define CallScrapPromiseKeeperProc(userRoutine, scrap, flavorType, userData) InvokeScrapPromiseKeeperUPP(scrap, flavorType, userData, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- SetScrapPromiseKeeper associates a ScrapPromiseKeeper with a
- scrap. You can remove a ScrapPromiseKeeper from a scrap by
- passing a NIL ScrapPromiseKeeper to SetScrapPromiseKeeper.
- Pass whatever you like in the last parameter; its value will
- be passed to your ScrapPromiseKeeper, which can do whatever
- it likes with the value. You might choose to pass a pointer
- or handle to some private scrap data which the
- ScrapPromiseKeeper could use in fabricating one or more
- promised flavors.
- */
- /*
- * SetScrapPromiseKeeper()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetScrapPromiseKeeper(
- ScrapRef scrap,
- ScrapPromiseKeeperUPP upp,
- const void * userData);
-
-
- /*
- GetScrapFlavorCount produces the number of
- items which can be obtained by GetScrapFlavorInfoList.
- */
-
- /*
- * GetScrapFlavorCount()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetScrapFlavorCount(
- ScrapRef scrap,
- UInt32 * infoCount);
-
-
- /*
- GetScrapFlavorInfoList fills a list (array)
- of items which each describe the corresponding
- flavor in the scrap. It fills no more array
- elements as are specified. On exit, it produces
- the count of elements it filled (which may be
- smaller than the count requested). Yes, YOU
- must provide the memory for the array.
- */
-
- /*
- * GetScrapFlavorInfoList()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- GetScrapFlavorInfoList(
- ScrapRef scrap,
- UInt32 * infoCount,
- ScrapFlavorInfo info[]);
-
-
-
- /*
- CallInScrapPromises forces all promises to be kept.
- If your application promises at least one flavor
- AND it does NOT adopt the new event model, you
- should call this function when your application
- is about to quit. If your app promises no flavors,
- there is no need to call this function, and if
- your app adopts the new event model, this function
- will be called automagically for you. It doesn't
- hurt to call this function more than once, though
- promise keepers may be asked to keep promises
- they already tried and failed.
- */
-
- /*
- * CallInScrapPromises()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CallInScrapPromises(void);
+/*
+ SetScrapPromiseKeeper associates a ScrapPromiseKeeper with a
+ scrap. You can remove a ScrapPromiseKeeper from a scrap by
+ passing a NIL ScrapPromiseKeeper to SetScrapPromiseKeeper.
+ Pass whatever you like in the last parameter; its value will
+ be passed to your ScrapPromiseKeeper, which can do whatever
+ it likes with the value. You might choose to pass a pointer
+ or handle to some private scrap data which the
+ ScrapPromiseKeeper could use in fabricating one or more
+ promised flavors.
+*/
+/*
+ * SetScrapPromiseKeeper()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetScrapPromiseKeeper(
+ ScrapRef scrap,
+ ScrapPromiseKeeperUPP upp,
+ const void * userData);
+
+
+/*
+ GetScrapFlavorCount produces the number of
+ items which can be obtained by GetScrapFlavorInfoList.
+*/
+
+/*
+ * GetScrapFlavorCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetScrapFlavorCount(
+ ScrapRef scrap,
+ UInt32 * infoCount);
+
+
+/*
+ GetScrapFlavorInfoList fills a list (array)
+ of items which each describe the corresponding
+ flavor in the scrap. It fills no more array
+ elements as are specified. On exit, it produces
+ the count of elements it filled (which may be
+ smaller than the count requested). Yes, YOU
+ must provide the memory for the array.
+*/
+
+/*
+ * GetScrapFlavorInfoList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+GetScrapFlavorInfoList(
+ ScrapRef scrap,
+ UInt32 * infoCount,
+ ScrapFlavorInfo info[]);
+
+
+
+/*
+ CallInScrapPromises forces all promises to be kept.
+ If your application promises at least one flavor
+ AND it does NOT adopt the new event model, you
+ should call this function when your application
+ is about to quit. If your app promises no flavors,
+ there is no need to call this function, and if
+ your app adopts the new event model, this function
+ will be called automagically for you. It doesn't
+ hurt to call this function more than once, though
+ promise keepers may be asked to keep promises
+ they already tried and failed.
+*/
+
+/*
+ * CallInScrapPromises()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CallInScrapPromises(void);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Script.h b/include/qt/Script.h
index ba09c80c0..a6e695136 100644
--- a/include/qt/Script.h
+++ b/include/qt/Script.h
@@ -1,17 +1,17 @@
/*
File: Script.h
-
+
Contains: Script Manager interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1986-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SCRIPT__
#define __SCRIPT__
@@ -40,1399 +40,1347 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Meta script codes:*/
- enum {
- smSystemScript = -1, /* designates system script.*/
- smCurrentScript = -2, /* designates current font script.*/
- smAllScripts = -3 /* designates any script*/
- };
-
- /*
- Script codes:
- These specify a Mac OS encoding that is related to a FOND ID range.
- Some of the encodings have several variants (e.g. for different localized systems)
- which all share the same script code.
- Not all of these script codes are currently supported by Apple software.
- Notes:
- - Script code 0 (smRoman) is also used (instead of smGreek) for the Greek encoding
- in the Greek localized system.
- - Script code 28 (smEthiopic) is also used for the Inuit encoding in the Inuktitut
- system.
- */
- enum
- {
- smRoman = 0,
- smJapanese = 1,
- smTradChinese = 2, /* Traditional Chinese*/
- smKorean = 3,
- smArabic = 4,
- smHebrew = 5,
- smGreek = 6,
- smCyrillic = 7,
- smRSymbol = 8, /* Right-left symbol*/
- smDevanagari = 9,
- smGurmukhi = 10,
- smGujarati = 11,
- smOriya = 12,
- smBengali = 13,
- smTamil = 14,
- smTelugu = 15,
- smKannada = 16, /* Kannada/Kanarese*/
- smMalayalam = 17,
- smSinhalese = 18,
- smBurmese = 19,
- smKhmer = 20, /* Khmer/Cambodian*/
- smThai = 21,
- smLao = 22,
- smGeorgian = 23,
- smArmenian = 24,
- smSimpChinese = 25, /* Simplified Chinese*/
- smTibetan = 26,
- smMongolian = 27,
- smEthiopic = 28,
- smGeez = 28, /* Synonym for smEthiopic*/
- smCentralEuroRoman = 29, /* For Czech, Slovak, Polish, Hungarian, Baltic langs*/
- smVietnamese = 30,
- smExtArabic = 31, /* extended Arabic*/
- smUninterp = 32 /* uninterpreted symbols, e.g. palette symbols*/
- };
-
- /* Extended script code for full Unicode input*/
- enum
- {
- smUnicodeScript = 0x7E
- };
-
- /* Obsolete script code names (kept for backward compatibility):*/
- enum
- {
- smChinese = 2, /* (Use smTradChinese or smSimpChinese)*/
- smRussian = 7, /* Use smCyrillic*/
- /* smMaldivian = 25: deleted, no code for Maldivian*/
- smLaotian = 22, /* Use smLao */
- smAmharic = 28, /* Use smEthiopic or smGeez*/
- smSlavic = 29, /* Use smCentralEuroRoman*/
- smEastEurRoman = 29, /* Use smCentralEuroRoman*/
- smSindhi = 31, /* Use smExtArabic*/
- smKlingon = 32
- };
-
- /*
- Language codes:
- These specify a language implemented using a particular Mac OS encoding.
- Not all of these language codes are currently supported by Apple software.
- */
- enum
- {
- langEnglish = 0, /* smRoman script*/
- langFrench = 1, /* smRoman script*/
- langGerman = 2, /* smRoman script*/
- langItalian = 3, /* smRoman script*/
- langDutch = 4, /* smRoman script*/
- langSwedish = 5, /* smRoman script*/
- langSpanish = 6, /* smRoman script*/
- langDanish = 7, /* smRoman script*/
- langPortuguese = 8, /* smRoman script*/
- langNorwegian = 9, /* smRoman script*/
- langHebrew = 10, /* smHebrew script*/
- langJapanese = 11, /* smJapanese script*/
- langArabic = 12, /* smArabic script*/
- langFinnish = 13, /* smRoman script*/
- langGreek = 14, /* Greek script using smRoman script code*/
- langIcelandic = 15, /* modified smRoman/Icelandic script*/
- langMaltese = 16, /* Roman script*/
- langTurkish = 17, /* modified smRoman/Turkish script*/
- langCroatian = 18, /* modified smRoman/Croatian script*/
- langTradChinese = 19, /* Chinese (Mandarin) in traditional characters*/
- langUrdu = 20, /* smArabic script*/
- langHindi = 21, /* smDevanagari script*/
- langThai = 22, /* smThai script*/
- langKorean = 23 /* smKorean script*/
- };
-
- enum
- {
- langLithuanian = 24, /* smCentralEuroRoman script*/
- langPolish = 25, /* smCentralEuroRoman script*/
- langHungarian = 26, /* smCentralEuroRoman script*/
- langEstonian = 27, /* smCentralEuroRoman script*/
- langLatvian = 28, /* smCentralEuroRoman script*/
- langSami = 29, /* language of the Sami people of N. Scandinavia */
- langFaroese = 30, /* modified smRoman/Icelandic script */
- langFarsi = 31, /* modified smArabic/Farsi script*/
- langPersian = 31, /* Synonym for langFarsi*/
- langRussian = 32, /* smCyrillic script*/
- langSimpChinese = 33, /* Chinese (Mandarin) in simplified characters*/
- langFlemish = 34, /* smRoman script*/
- langIrishGaelic = 35, /* smRoman or modified smRoman/Celtic script (without dot above) */
- langAlbanian = 36, /* smRoman script*/
- langRomanian = 37, /* modified smRoman/Romanian script*/
- langCzech = 38, /* smCentralEuroRoman script*/
- langSlovak = 39, /* smCentralEuroRoman script*/
- langSlovenian = 40, /* modified smRoman/Croatian script*/
- langYiddish = 41, /* smHebrew script*/
- langSerbian = 42, /* smCyrillic script*/
- langMacedonian = 43, /* smCyrillic script*/
- langBulgarian = 44, /* smCyrillic script*/
- langUkrainian = 45, /* modified smCyrillic/Ukrainian script*/
- langByelorussian = 46, /* smCyrillic script*/
- langBelorussian = 46 /* Synonym for langByelorussian */
- };
-
- enum
- {
- langUzbek = 47, /* Cyrillic script*/
- langKazakh = 48, /* Cyrillic script*/
- langAzerbaijani = 49, /* Azerbaijani in Cyrillic script*/
- langAzerbaijanAr = 50, /* Azerbaijani in Arabic script*/
- langArmenian = 51, /* smArmenian script*/
- langGeorgian = 52, /* smGeorgian script*/
- langMoldavian = 53, /* smCyrillic script*/
- langKirghiz = 54, /* Cyrillic script*/
- langTajiki = 55, /* Cyrillic script*/
- langTurkmen = 56, /* Cyrillic script*/
- langMongolian = 57, /* Mongolian in smMongolian script*/
- langMongolianCyr = 58, /* Mongolian in Cyrillic script*/
- langPashto = 59, /* Arabic script*/
- langKurdish = 60, /* smArabic script*/
- langKashmiri = 61, /* Arabic script*/
- langSindhi = 62, /* Arabic script*/
- langTibetan = 63, /* smTibetan script*/
- langNepali = 64, /* smDevanagari script*/
- langSanskrit = 65, /* smDevanagari script*/
- langMarathi = 66, /* smDevanagari script*/
- langBengali = 67, /* smBengali script*/
- langAssamese = 68, /* smBengali script*/
- langGujarati = 69, /* smGujarati script*/
- langPunjabi = 70 /* smGurmukhi script*/
- };
-
- enum
- {
- langOriya = 71, /* smOriya script*/
- langMalayalam = 72, /* smMalayalam script*/
- langKannada = 73, /* smKannada script*/
- langTamil = 74, /* smTamil script*/
- langTelugu = 75, /* smTelugu script*/
- langSinhalese = 76, /* smSinhalese script*/
- langBurmese = 77, /* smBurmese script*/
- langKhmer = 78, /* smKhmer script*/
- langLao = 79, /* smLao script*/
- langVietnamese = 80, /* smVietnamese script*/
- langIndonesian = 81, /* smRoman script*/
- langTagalog = 82, /* Roman script*/
- langMalayRoman = 83, /* Malay in smRoman script*/
- langMalayArabic = 84, /* Malay in Arabic script*/
- langAmharic = 85, /* smEthiopic script*/
- langTigrinya = 86, /* smEthiopic script*/
- langOromo = 87, /* smEthiopic script*/
- langSomali = 88, /* smRoman script*/
- langSwahili = 89, /* smRoman script*/
- langKinyarwanda = 90, /* smRoman script*/
- langRuanda = 90, /* synonym for langKinyarwanda*/
- langRundi = 91, /* smRoman script*/
- langNyanja = 92, /* smRoman script*/
- langChewa = 92, /* synonym for langNyanja*/
- langMalagasy = 93, /* smRoman script*/
- langEsperanto = 94 /* Roman script*/
- };
-
- enum
- {
- langWelsh = 128, /* modified smRoman/Celtic script*/
- langBasque = 129, /* smRoman script*/
- langCatalan = 130, /* smRoman script*/
- langLatin = 131, /* smRoman script*/
- langQuechua = 132, /* smRoman script*/
- langGuarani = 133, /* smRoman script*/
- langAymara = 134, /* smRoman script*/
- langTatar = 135, /* Cyrillic script*/
- langUighur = 136, /* Arabic script*/
- langDzongkha = 137, /* (lang of Bhutan) smTibetan script*/
- langJavaneseRom = 138, /* Javanese in smRoman script*/
- langSundaneseRom = 139, /* Sundanese in smRoman script*/
- langGalician = 140, /* smRoman script*/
- langAfrikaans = 141 /* smRoman script */
- };
-
- enum
- {
- langBreton = 142, /* smRoman or modified smRoman/Celtic script */
- langInuktitut = 143, /* Inuit script using smEthiopic script code */
- langScottishGaelic = 144, /* smRoman or modified smRoman/Celtic script */
- langManxGaelic = 145, /* smRoman or modified smRoman/Celtic script */
- langIrishGaelicScript = 146, /* modified smRoman/Gaelic script (using dot above) */
- langTongan = 147, /* smRoman script */
- langGreekPoly = 148, /* smGreek script */
- langGreenlandic = 149, /* smRoman script */
- langAzerbaijanRoman = 150 /* Azerbaijani in Roman script */
- };
-
- enum
- {
- langUnspecified = 32767 /* Special code for use in resources (such as 'itlm') */
- };
-
- /*
- Obsolete language code names (kept for backward compatibility):
- Misspelled, ambiguous, misleading, considered pejorative, archaic, etc.
- */
- enum
- {
- langPortugese = 8, /* Use langPortuguese*/
- langMalta = 16, /* Use langMaltese*/
- langYugoslavian = 18, /* (use langCroatian, langSerbian, etc.)*/
- langChinese = 19, /* (use langTradChinese or langSimpChinese)*/
- langLettish = 28, /* Use langLatvian */
- langLapponian = 29, /* Use langSami*/
- langLappish = 29, /* Use langSami*/
- langSaamisk = 29, /* Use langSami */
- langFaeroese = 30, /* Use langFaroese */
- langIrish = 35, /* Use langIrishGaelic */
- langGalla = 87, /* Use langOromo */
- langAfricaans = 141 /* Use langAfrikaans */
- };
-
- /*
- Region codes:
- These typically specify a combination of a language code and a particular region.
- Some of these numeric values are reserved just for extra resource IDs associated
- with certain regions; these are not actual region codes, and are noted in the comments.
- Not all of the region codes are currently supported by Apple software.
- When relevant, the following list also provides:
- - The Apple part number (P/N) code for software localized for the specified region.
- - The two-letter ISO language and country codes (from ISO 639 and ISO 3166). The
- language code (lowercase) is first, then '_', then the country code (uppercase).
- */
-
- enum
- {
- /* P/N ISO codes comments*/
- verUS = 0, /* en_US*/
- verFrance = 1, /* F fr_FR*/
- verBritain = 2, /* B en_GB*/
- verGermany = 3, /* D de_DE*/
- verItaly = 4, /* T it_IT*/
- verNetherlands = 5, /* N nl_NL*/
- verFlemish = 6, /* FN nl_BE Flemish (Dutch) for Belgium */
- verSweden = 7, /* S sv_SE*/
- verSpain = 8, /* E es_ES Spanish for Spain*/
- verDenmark = 9, /* DK da_DK*/
- verPortugal = 10, /* PO pt_PT Portuguese for Portugal*/
- verFrCanada = 11, /* C fr_CA French for Canada*/
- verNorway = 12, /* H no_NO,nb_NO Bokm.l*/
- verIsrael = 13, /* HB he_IL,iw_IL Hebrew*/
- verJapan = 14, /* J ja_JP*/
- verAustralia = 15, /* X en_AU English for Australia*/
- verArabic = 16, /* AB ar Arabic for N Africa, Arabian peninsula, Levant*/
- verFinland = 17, /* K fi_FI*/
- verFrSwiss = 18, /* SF fr_CH French Swiss*/
- verGrSwiss = 19, /* SD de_CH German Swiss*/
- verGreece = 20, /* GR el_GR Monotonic Greek (modern)*/
- verIceland = 21, /* IS is_IS*/
- verMalta = 22, /* MA mt_MT*/
- verCyprus = 23, /* CY _CY Greek or Turkish language? Checking...*/
- verTurkey = 24, /* TU tr_TR*/
- verYugoCroatian = 25 /* YU Croatian for Yugoslavia; now use verCroatia (68)*/
- };
-
- enum
- {
- verNetherlandsComma = 26, /* ID for KCHR resource - Dutch*/
- verBelgiumLuxPoint = 27, /* ID for KCHR resource - Belgium*/
- verCanadaComma = 28, /* ID for KCHR resource - Canadian ISO*/
- verCanadaPoint = 29, /* ID for KCHR resource - Canadian; now unused*/
- vervariantPortugal = 30, /* ID for resource; now unused*/
- vervariantNorway = 31, /* ID for resource; now unused*/
- vervariantDenmark = 32 /* ID for KCHR resource - Danish Mac Plus*/
- };
-
- enum
- {
- verIndiaHindi = 33, /* hi_IN Hindi for India*/
- verPakistanUrdu = 34, /* UR ur_PK Urdu for Pakistan */
- verTurkishModified = 35,
- verItalianSwiss = 36, /* ST it_CH Italian Swiss*/
- verInternational = 37, /* Z en English for international use */
- /* 38 is unassigned*/
- verRomania = 39, /* RO ro_RO*/
- verGreecePoly = 40, /* grc Polytonic Greek (classical) */
- verLithuania = 41, /* LT lt_LT*/
- verPoland = 42, /* PL pl_PL*/
- verHungary = 43, /* MG hu_HU*/
- verEstonia = 44, /* EE et_EE*/
- verLatvia = 45, /* LV lv_LV*/
- verSami = 46, /* se */
- verFaroeIsl = 47, /* FA fo_FO */
- verIran = 48, /* PS fa_IR Persian/Farsi*/
- verRussia = 49, /* RS ru_RU Russian*/
- verIreland = 50, /* GA ga_IE Irish Gaelic for Ireland (without dot above) */
- verKorea = 51, /* KH ko_KR*/
- verChina = 52, /* CH zh_CN Simplified Chinese*/
- verTaiwan = 53, /* TA zh_TW Traditional Chinese*/
- verThailand = 54, /* TH th_TH*/
- verScriptGeneric = 55, /* SS Generic script system (no language or script) */
- verCzech = 56, /* CZ cs_CZ*/
- verSlovak = 57, /* SL sk_SK*/
- verFarEastGeneric = 58, /* FE Generic Far East system (no language or script) */
- verMagyar = 59, /* Unused; see verHungary*/
- verBengali = 60, /* bn Bangladesh or India*/
- verByeloRussian = 61 /* BY be_BY*/
- };
-
- enum
- {
- verUkraine = 62, /* UA uk_UA*/
- /* 63 is unassigned*/
- verGreeceAlt = 64, /* unused */
- verSerbian = 65, /* SR sr_YU,sh_YU */
- verSlovenian = 66, /* SV sl_SI */
- verMacedonian = 67, /* MD mk_MK */
- verCroatia = 68, /* CR hr_HR,sh_HR*/
- /* 69 is unassigned*/
- verGermanReformed = 70, /* de_DE Reformed orthography (used formerly unassigned 70) */
- verBrazil = 71, /* BR pt_BR Portuguese for Brazil*/
- verBulgaria = 72, /* BG bg_BG*/
- verCatalonia = 73, /* CA ca_ES Catalan for Spain*/
- verMultilingual = 74, /* ZM mul (no language or script)*/
- verScottishGaelic = 75, /* GD gd*/
- verManxGaelic = 76, /* GV gv Isle of Man*/
- verBreton = 77, /* BZ br*/
- verNunavut = 78, /* IU iu_CA Inuktitut for Canada*/
- verWelsh = 79, /* CU cy*/
- /* 80 is ID for KCHR resource - Canadian CSA*/
- verIrishGaelicScript = 81, /* GS ga_IE Irish Gaelic for Ireland (using dot above)*/
- verEngCanada = 82, /* V en_CA English for Canada*/
- verBhutan = 83, /* BH dz_BT Dzongkha for Bhutan*/
- verArmenian = 84, /* HY hy_AM*/
- verGeorgian = 85, /* KR ka_GE*/
- verSpLatinAmerica = 86, /* LA es Spanish for Latin America*/
- /* 87 is ID for KCHR resource - Spanish ISO*/
- verTonga = 88, /* TS to_TO*/
- /* 89 is ID for KCHR resource - Polish Modified*/
- /* 90 is ID for KCHR resource - Catalan ISO*/
- verFrenchUniversal = 91, /* fr French generic*/
- verAustria = 92, /* AU de_AT German for Austria*/
- /* Y 93 is unused alternate for verSpLatinAmerica*/
- verGujarati = 94, /* gu_IN*/
- verPunjabi = 95, /* pa Pakistan or India*/
- verIndiaUrdu = 96, /* ur_IN Urdu for India*/
- verVietnam = 97 /* vi_VN*/
- };
-
- enum
- {
- verFrBelgium = 98, /* BF fr_BE French for Belgium */
- verUzbek = 99, /* BD uz_UZ */
- verSingapore = 100, /* SG */
- verNynorsk = 101, /* NY nn_NO Norwegian Nynorsk */
- verAfrikaans = 102, /* AK af_ZA */
- verEsperanto = 103, /* eo */
- verMarathi = 104, /* mr_IN */
- verTibetan = 105, /* bo */
- verNepal = 106, /* ne_NP */
- verGreenland = 107, /* kl */
- verIrelandEnglish = 108 /* en_IE English for Ireland, with Euro for currency*/
- };
-
- /*
- Other extra resource IDs assigned in the same number space:
- 179 is ID for KCHR & itl_ resources - Cornish
- 581 is ID for KCHR resource - Irish Gaelic script alternate
- 582 is ID for KCHR resource - Ogham
- 779 is ID for KCHR resource - Welsh alternate
- 1111 is ID for KCHR resource - French numeric
- */
-
- /*
- Obsolete region code names (kept for backward compatibility):
- Misspelled or alternate form, ambiguous, misleading, considered pejorative, archaic, etc.
- */
- enum
- {
- verFrBelgiumLux = 6, /* Incorrect; 6 is Flemish, not French, for Belgium; use verFlemish */
- verBelgiumLux = 6, /* Use verFlemish*/
- verArabia = 16, /* Use verArabic*/
- verYugoslavia = 25, /* Use verYugoCroatian (same number, now unused), or newer verCroatia*/
- verIndia = 33, /* Use verIndiaHindi*/
- verPakistan = 34, /* Use verPakistanUrdu */
- verRumania = 39, /* Alternate for verRomania */
- verGreekAncient = 40, /* Use verGreecePoly */
- verLapland = 46, /* Use verSami */
- verFaeroeIsl = 47, /* Use verFaroeIsl */
- verGenericFE = 58, /* Use verFarEastGeneric */
- verBelarus = 61, /* Alternate for verByelorussian */
- verUkrania = 62, /* Use verUkraine*/
- verAlternateGr = 64, /* Use verGreeceAlt */
- verSerbia = 65, /* Alternate for verSerbian */
- verSlovenia = 66, /* Alternate for verSlovenian */
- verMacedonia = 67, /* Alternate for verMacedonian */
- verBrittany = 77, /* Alternate for verBreton */
- verWales = 79, /* Alternate for verWelsh */
- verArmenia = 84, /* Alternate for verArmenian */
- verGeorgia = 85, /* Alternate for verGeorgian */
- verAustriaGerman = 92, /* Use verAustria */
- verTibet = 105 /* Use verTibetan */
- };
-
- enum
- {
- minCountry = verUS,
- maxCountry = verGreenland
- };
-
- enum
- {
- /* Calendar Codes */
- calGregorian = 0,
- calArabicCivil = 1,
- calArabicLunar = 2,
- calJapanese = 3,
- calJewish = 4,
- calCoptic = 5,
- calPersian = 6
- };
-
- enum
- {
- /* Integer Format Codes */
- intWestern = 0,
- intArabic = 1,
- intRoman = 2,
- intJapanese = 3,
- intEuropean = 4,
- intOutputMask = 0x8000
- };
-
- enum
- {
- /* CharByte byte types */
- smSingleByte = 0,
- smFirstByte = -1,
- smLastByte = 1,
- smMiddleByte = 2
- };
-
- enum
- {
- /* CharType field masks */
- smcTypeMask = 0x000F,
- smcReserved = 0x00F0,
- smcClassMask = 0x0F00,
- smcOrientationMask = 0x1000, /*two-byte script glyph orientation*/
- smcRightMask = 0x2000,
- smcUpperMask = 0x4000,
- smcDoubleMask = 0x8000
- };
-
- enum
- {
- /* Basic CharType character types */
- smCharPunct = 0x0000,
- smCharAscii = 0x0001,
- smCharEuro = 0x0007,
- smCharExtAscii = 0x0007, /* More correct synonym for smCharEuro */
- /* Additional CharType character types for script systems */
- smCharKatakana = 0x0002, /*Japanese Katakana*/
- smCharHiragana = 0x0003, /*Japanese Hiragana*/
- smCharIdeographic = 0x0004, /*Hanzi, Kanji, Hanja*/
- smCharTwoByteGreek = 0x0005, /*2-byte Greek in Far East systems*/
- smCharTwoByteRussian = 0x0006, /*2-byte Cyrillic in Far East systems*/
- smCharBidirect = 0x0008, /*Arabic/Hebrew*/
- smCharContextualLR = 0x0009, /*Contextual left-right: Thai, Indic scripts*/
- smCharNonContextualLR = 0x000A, /*Non-contextual left-right: Cyrillic, Greek*/
- smCharHangul = 0x000C, /*Korean Hangul*/
- smCharJamo = 0x000D, /*Korean Jamo*/
- smCharBopomofo = 0x000E, /*Chinese Bopomofo*/
- smCharGanaKana = 0x000F, /*Shared for Japanese Hiragana & Katakana*/
- /* old names for some of above, for backward compatibility */
- smCharFISKana = 0x0002, /*Katakana*/
- smCharFISGana = 0x0003, /*Hiragana*/
- smCharFISIdeo = 0x0004 /*Hanzi, Kanji, Hanja*/
- };
-
- enum
- {
- smCharFISGreek = 0x0005, /*2-byte Greek in Far East systems*/
- smCharFISRussian = 0x0006, /*2-byte Cyrillic in Far East systems*/
- /* CharType classes for punctuation (smCharPunct) */
- smPunctNormal = 0x0000,
- smPunctNumber = 0x0100,
- smPunctSymbol = 0x0200,
- smPunctBlank = 0x0300, /* Additional CharType classes for punctuation in two-byte systems */
- smPunctRepeat = 0x0400, /* repeat marker */
- smPunctGraphic = 0x0500, /* line graphics */
- /* CharType Katakana and Hiragana classes for two-byte systems */
- smKanaSmall = 0x0100, /*small kana character*/
- smKanaHardOK = 0x0200, /*can have dakuten*/
- smKanaSoftOK = 0x0300, /*can have dakuten or han-dakuten*/
- /* CharType Ideographic classes for two-byte systems */
- smIdeographicLevel1 = 0x0000, /*level 1 char*/
- smIdeographicLevel2 = 0x0100, /*level 2 char*/
- smIdeographicUser = 0x0200, /*user char*/
- /* old names for above, for backward compatibility */
- smFISClassLvl1 = 0x0000, /*level 1 char*/
- smFISClassLvl2 = 0x0100, /*level 2 char*/
- smFISClassUser = 0x0200, /*user char*/
- /* CharType Jamo classes for Korean systems */
- smJamoJaeum = 0x0000, /*simple consonant char*/
- smJamoBogJaeum = 0x0100, /*complex consonant char*/
- smJamoMoeum = 0x0200, /*simple vowel char*/
- smJamoBogMoeum = 0x0300 /*complex vowel char*/
- };
-
- enum
- {
- /* CharType glyph orientation for two-byte systems */
- smCharHorizontal = 0x0000, /* horizontal character form, or for both */
- smCharVertical = 0x1000, /* vertical character form */
- /* CharType directions */
- smCharLeft = 0x0000,
- smCharRight = 0x2000, /* CharType case modifers */
- smCharLower = 0x0000,
- smCharUpper = 0x4000, /* CharType character size modifiers (1 or multiple bytes). */
- smChar1byte = 0x0000,
- smChar2byte = 0x8000
- };
-
- enum
- {
- /* TransliterateText target types for Roman */
- smTransAscii = 0, /*convert to ASCII*/
- smTransNative = 1, /*convert to font script*/
- smTransCase = 0xFE, /*convert case for all text*/
- smTransSystem = 0xFF, /*convert to system script*/
- /* TransliterateText target types for two-byte scripts */
- smTransAscii1 = 2, /*1-byte Roman*/
- smTransAscii2 = 3, /*2-byte Roman*/
- smTransKana1 = 4, /*1-byte Japanese Katakana*/
- smTransKana2 = 5 /*2-byte Japanese Katakana*/
- };
-
- enum
- {
- smTransGana2 = 7, /*2-byte Japanese Hiragana (no 1-byte Hiragana)*/
- smTransHangul2 = 8, /*2-byte Korean Hangul*/
- smTransJamo2 = 9, /*2-byte Korean Jamo*/
- smTransBopomofo2 = 10, /*2-byte Chinese Bopomofo*/
- /* TransliterateText target modifiers */
- smTransLower = 0x4000, /*target becomes lowercase*/
- smTransUpper = 0x8000, /*target becomes uppercase*/
- /* TransliterateText resource format numbers */
- smTransRuleBaseFormat = 1, /*Rule based trsl resource format */
- smTransHangulFormat = 2, /*Table based Hangul trsl resource format*/
- /* TransliterateText property flags */
- smTransPreDoubleByting = 1, /*Convert all text to double byte before transliteration*/
- smTransPreLowerCasing = 2 /*Convert all text to lower case before transliteration*/
- };
-
- enum
- {
- /* TransliterateText source mask - general */
- smMaskAll = (long)0xFFFFFFFF, /*Convert all text*/
- /* TransliterateText source masks */
- smMaskAscii = 0x00000001, /*2^smTransAscii*/
- smMaskNative = 0x00000002, /*2^smTransNative*/
- /* TransliterateText source masks for two-byte scripts */
- smMaskAscii1 = 0x00000004, /*2^smTransAscii1*/
- smMaskAscii2 = 0x00000008, /*2^smTransAscii2*/
- smMaskKana1 = 0x00000010, /*2^smTransKana1*/
- smMaskKana2 = 0x00000020, /*2^smTransKana2*/
- smMaskGana2 = 0x00000080, /*2^smTransGana2*/
- smMaskHangul2 = 0x00000100, /*2^smTransHangul2*/
- smMaskJamo2 = 0x00000200, /*2^smTransJamo2*/
- smMaskBopomofo2 = 0x00000400 /*2^smTransBopomofo2*/
- };
-
- enum
- {
- /* Result values from GetScriptManagerVariable and SetScriptManagerVariable calls. */
- smNotInstalled = 0, /*routine not available in script*/
- smBadVerb = -1, /*Bad verb passed to a routine*/
- smBadScript = -2 /*Bad script code passed to a routine*/
- };
-
- enum
- {
- /* Values for script redraw flag. */
- smRedrawChar = 0, /*Redraw character only*/
- smRedrawWord = 1, /*Redraw entire word (2-byte systems)*/
- smRedrawLine = -1 /*Redraw entire line (bidirectional systems)*/
- };
-
- enum
- {
- /* GetScriptManagerVariable and SetScriptManagerVariable verbs */
- smVersion = 0, /*Script Manager version number*/
- smMunged = 2, /*Globals change count*/
- smEnabled = 4, /*Count of enabled scripts, incl Roman*/
- smBidirect = 6, /*At least one bidirectional script*/
- smFontForce = 8, /*Force font flag*/
- smIntlForce = 10, /*Force intl flag*/
- smForced = 12, /*Script was forced to system script*/
- smDefault = 14, /*Script was defaulted to Roman script*/
- smPrint = 16, /*Printer action routine*/
- smSysScript = 18, /*System script*/
- smLastScript = 20, /*Last keyboard script*/
- smKeyScript = 22, /*Keyboard script*/
- smSysRef = 24, /*System folder refNum*/
- smKeyCache = 26, /*obsolete*/
- smKeySwap = 28, /*Swapping table handle*/
- smGenFlags = 30, /*General flags long*/
- smOverride = 32, /*Script override flags*/
- smCharPortion = 34, /*Ch vs SpExtra proportion*/
- /* New for System 7.0: */
- smDoubleByte = 36, /*Flag for double-byte script installed*/
- smKCHRCache = 38, /*Returns pointer to KCHR cache*/
- smRegionCode = 40, /*Returns current region code (verXxx)*/
- smKeyDisableState = 42 /*Returns current keyboard disable state*/
- };
-
- enum
- {
- /* GetScriptVariable and SetScriptVariable verbs. */
- /* Note: Verbs private to script systems are negative, while */
- /* those general across script systems are non-negative. */
- smScriptVersion = 0, /*Script software version*/
- smScriptMunged = 2, /*Script entry changed count*/
- smScriptEnabled = 4, /*Script enabled flag*/
- smScriptRight = 6, /*Right to left flag*/
- smScriptJust = 8, /*Justification flag*/
- smScriptRedraw = 10, /*Word redraw flag*/
- smScriptSysFond = 12, /*Preferred system font*/
- smScriptAppFond = 14, /*Preferred Application font*/
- smScriptBundle = 16, /*Beginning of itlb verbs*/
- smScriptNumber = 16, /*Script itl0 id*/
- smScriptDate = 18, /*Script itl1 id*/
- smScriptSort = 20, /*Script itl2 id*/
- smScriptFlags = 22, /*flags word*/
- smScriptToken = 24, /*Script itl4 id*/
- smScriptEncoding = 26, /*id of optional itl5, if present*/
- smScriptLang = 28 /*Current language for script*/
- };
-
- enum
- {
- smScriptNumDate = 30, /*Script Number/Date formats.*/
- smScriptKeys = 32, /*Script KCHR id*/
- smScriptIcon = 34, /*ID # of SICN or kcs#/kcs4/kcs8 suite*/
- smScriptPrint = 36, /*Script printer action routine*/
- smScriptTrap = 38, /*Trap entry pointer*/
- smScriptCreator = 40, /*Script file creator*/
- smScriptFile = 42, /*Script file name*/
- smScriptName = 44, /*Script name*/
- /* There is a hole here for old Kanji private verbs 46-76 */
- /* New for System 7.0: */
- smScriptMonoFondSize = 78, /*default monospace FOND (hi) & size (lo)*/
- smScriptPrefFondSize = 80, /*preferred FOND (hi) & size (lo)*/
- smScriptSmallFondSize = 82, /*default small FOND (hi) & size (lo)*/
- smScriptSysFondSize = 84, /*default system FOND (hi) & size (lo)*/
- smScriptAppFondSize = 86, /*default app FOND (hi) & size (lo)*/
- smScriptHelpFondSize = 88, /*default Help Mgr FOND (hi) & size (lo)*/
- smScriptValidStyles = 90, /*mask of valid styles for script*/
- smScriptAliasStyle = 92 /*style (set) to use for aliases*/
- };
-
- /* special negative verbs for Get/SetScriptVariable that were associated with WorldScriptI */
- /* move them here to be public */
- enum
- {
- /* WorldScript private verbs */
- smLayoutCache = -309, /* HiWrd(param) is # entries, LoWrd is max input length*/
- smOldVerbSupport = -311, /* param is added to old verbs to map to WSI verb*/
- smSetKashidas = -291, /* param is ON or OFF, old verb = -36*/
- smSetKashProp = -287, /* param is kashida proportion, old verb = -32*/
- smScriptSysBase = -281, /* param is associated font to use w/ system font (old verb = -26)*/
- smScriptAppBase = -283, /* param is associated font to use w/ app font (old verb = -28)*/
- smScriptFntBase = -285, /* param is associated font to use w/ all other fonts (old verb = -30)*/
- smScriptLigatures = -263, /* old verb = -8*/
- smScriptNumbers = -267 /* old verb = -12*/
- };
-
- enum
- {
- /* Special script code values for International Utilities */
- iuSystemScript = -1, /* <obsolete> system script */
- iuCurrentScript = -2 /* <obsolete> current script (for font of grafPort) */
- };
-
- enum
- {
- /* Negative verbs for KeyScript */
- smKeyNextScript = -1, /* Switch to next available script */
- smKeySysScript = -2, /* Switch to the system script */
- smKeySwapScript = -3, /* Switch to previously-used script */
- /* New for System 7.0: */
- smKeyNextKybd = -4, /* Switch to next keyboard in current keyscript */
- smKeySwapKybd = -5, /* Switch to previously-used keyboard in current keyscript */
- smKeyDisableKybds = -6, /* Disable keyboards not in system or Roman script */
- smKeyEnableKybds = -7, /* Re-enable keyboards for all enabled scripts */
- smKeyToggleInline = -8, /* Toggle inline input for current keyscript */
- smKeyToggleDirection = -9, /* Toggle default line direction (TESysJust) */
- smKeyNextInputMethod = -10, /* Switch to next input method in current keyscript */
- smKeySwapInputMethod = -11, /* Switch to last-used input method in current keyscript */
- smKeyDisableKybdSwitch = -12, /* Disable switching from the current keyboard */
- smKeySetDirLeftRight = -15, /* Set default line dir to left-right, align left */
- smKeySetDirRightLeft = -16, /* Set default line dir to right-left, align right */
- smKeyRoman = -17 /* Set keyscript to Roman. Does nothing if Roman-only system, unlike KeyScript(smRoman) which forces an update to current default Roman keyboard */
- };
-
- /* Optional font and keyboard script synchronization */
- enum
- {
- /* One more flag in the smGenFlags long. */
- smfDisableKeyScriptSync = 27 /*Disable font and keyboard script synchronization*/
- };
-
- enum
- {
- /* We should define masks, too. */
- smfDisableKeyScriptSyncMask = 1L << smfDisableKeyScriptSync /*Disable font and keyboard script synchronization mask*/
- };
-
- enum
- {
- /* Force keyboard script switching flag and mask for zero and positive KeyScript verbs */
- smKeyForceKeyScriptBit = 7, /* Force keyboard script switching flag */
- smKeyForceKeyScriptMask = 1 << smKeyForceKeyScriptBit /* its mask */
- };
-
- enum
- {
- /* Bits in the smScriptFlags word */
- /* (bits above 8 are non-static) */
- smsfIntellCP = 0, /*Script has intelligent cut & paste*/
- smsfSingByte = 1, /*Script has only single bytes*/
- smsfNatCase = 2, /*Native chars have upper & lower case*/
- smsfContext = 3, /*Script is contextual*/
- smsfNoForceFont = 4, /*Script will not force characters*/
- smsfB0Digits = 5, /*Script has alternate digits at B0-B9*/
- smsfAutoInit = 6, /*Auto initialize the script*/
- smsfUnivExt = 7, /*Script is handled by universal extension*/
- smsfSynchUnstyledTE = 8, /*Script synchronizes for unstyled TE*/
- smsfForms = 13, /*Uses contextual forms for letters*/
- smsfLigatures = 14, /*Uses contextual ligatures*/
- smsfReverse = 15, /*Reverses native text, right-left*/
- /* Bits in the smGenFlags long. */
- /* First (high-order) byte is set from itlc flags byte. */
- smfShowIcon = 31, /*Show icon even if only one script*/
- smfDualCaret = 30, /*Use dual caret for mixed direction text*/
- smfNameTagEnab = 29, /*Reserved for internal use*/
- smfUseAssocFontInfo = 28 /*Use the associated font info for FontMetrics calls <48>*/
- };
-
- enum
- {
- /* Roman script constants */
- /* The following are here for backward compatibility, but should not be used. */
- /* This information should be obtained using GetScript. */
- romanSysFond = 0x3FFF, /*system font id number*/
- romanAppFond = 3, /*application font id number*/
- romanFlags = 0x0007, /*roman settings*/
- /* Script Manager font equates. */
- smFondStart = 0x4000, /*start from 16K*/
- smFondEnd = 0xC000, /*past end of range at 48K*/
- /* Miscellaneous font equates. */
- smUprHalfCharSet = 0x80 /*first char code in top half of std char set*/
- };
-
- enum
- {
- /* Character Set Extensions */
- diaeresisUprY = 0xD9,
- fraction = 0xDA,
- intlCurrency = 0xDB,
- leftSingGuillemet = 0xDC,
- rightSingGuillemet = 0xDD,
- fiLigature = 0xDE,
- flLigature = 0xDF,
- dblDagger = 0xE0,
- centeredDot = 0xE1,
- baseSingQuote = 0xE2,
- baseDblQuote = 0xE3,
- perThousand = 0xE4,
- circumflexUprA = 0xE5,
- circumflexUprE = 0xE6,
- acuteUprA = 0xE7,
- diaeresisUprE = 0xE8,
- graveUprE = 0xE9,
- acuteUprI = 0xEA,
- circumflexUprI = 0xEB,
- diaeresisUprI = 0xEC,
- graveUprI = 0xED,
- acuteUprO = 0xEE,
- circumflexUprO = 0xEF,
- appleLogo = 0xF0,
- graveUprO = 0xF1,
- acuteUprU = 0xF2,
- circumflexUprU = 0xF3,
- graveUprU = 0xF4,
- dotlessLwrI = 0xF5,
- circumflex = 0xF6,
- tilde = 0xF7,
- macron = 0xF8,
- breveMark = 0xF9,
- overDot = 0xFA,
- ringMark = 0xFB,
- cedilla = 0xFC,
- doubleAcute = 0xFD,
- ogonek = 0xFE,
- hachek = 0xFF
- };
-
- enum
- {
- /* ScriptTokenType values */
- tokenIntl = 4, /*the itl resource number of the tokenizer*/
- tokenEmpty = -1 /*used internally as an empty flag*/
- };
-
- enum
- {
- tokenUnknown = 0, /*chars that do not match a defined token type*/
- tokenWhite = 1, /*white space*/
- tokenLeftLit = 2, /*literal begin*/
- tokenRightLit = 3, /*literal end*/
- tokenAlpha = 4, /*alphabetic*/
- tokenNumeric = 5, /*numeric*/
- tokenNewLine = 6, /*new line*/
- tokenLeftComment = 7, /*open comment*/
- tokenRightComment = 8, /*close comment*/
- tokenLiteral = 9, /*literal*/
- tokenEscape = 10, /*character escape (e.g. '\' in "\n", "\t")*/
- tokenAltNum = 11, /*alternate number (e.g. $B0-B9 in Arabic,Hebrew)*/
- tokenRealNum = 12, /*real number*/
- tokenAltReal = 13, /*alternate real number*/
- tokenReserve1 = 14, /*reserved*/
- tokenReserve2 = 15, /*reserved*/
- tokenLeftParen = 16, /*open parenthesis*/
- tokenRightParen = 17, /*close parenthesis*/
- tokenLeftBracket = 18, /*open square bracket*/
- tokenRightBracket = 19 /*close square bracket*/
- };
-
- enum
- {
- tokenLeftCurly = 20, /*open curly bracket*/
- tokenRightCurly = 21, /*close curly bracket*/
- tokenLeftEnclose = 22, /*open guillemet*/
- tokenRightEnclose = 23, /*close guillemet*/
- tokenPlus = 24,
- tokenMinus = 25,
- tokenAsterisk = 26, /*times/multiply*/
- tokenDivide = 27,
- tokenPlusMinus = 28, /*plus or minus symbol*/
- tokenSlash = 29,
- tokenBackSlash = 30,
- tokenLess = 31, /*less than symbol*/
- tokenGreat = 32, /*greater than symbol*/
- tokenEqual = 33,
- tokenLessEqual2 = 34, /*less than or equal, 2 characters (e.g. <=)*/
- tokenLessEqual1 = 35, /*less than or equal, 1 character*/
- tokenGreatEqual2 = 36, /*greater than or equal, 2 characters (e.g. >=)*/
- tokenGreatEqual1 = 37, /*greater than or equal, 1 character*/
- token2Equal = 38, /*double equal (e.g. ==)*/
- tokenColonEqual = 39 /*colon equal*/
- };
-
- enum
- {
- tokenNotEqual = 40, /*not equal, 1 character*/
- tokenLessGreat = 41, /*less/greater, Pascal not equal (e.g. <>)*/
- tokenExclamEqual = 42, /*exclamation equal, C not equal (e.g. !=)*/
- tokenExclam = 43, /*exclamation point*/
- tokenTilde = 44, /*centered tilde*/
- tokenComma = 45,
- tokenPeriod = 46,
- tokenLeft2Quote = 47, /*open double quote*/
- tokenRight2Quote = 48, /*close double quote*/
- tokenLeft1Quote = 49, /*open single quote*/
- tokenRight1Quote = 50, /*close single quote*/
- token2Quote = 51, /*double quote*/
- token1Quote = 52, /*single quote*/
- tokenSemicolon = 53,
- tokenPercent = 54,
- tokenCaret = 55,
- tokenUnderline = 56,
- tokenAmpersand = 57,
- tokenAtSign = 58,
- tokenBar = 59 /*vertical bar*/
- };
-
- enum
- {
- tokenQuestion = 60,
- tokenPi = 61, /*lower-case pi*/
- tokenRoot = 62, /*square root symbol*/
- tokenSigma = 63, /*capital sigma*/
- tokenIntegral = 64, /*integral sign*/
- tokenMicro = 65,
- tokenCapPi = 66, /*capital pi*/
- tokenInfinity = 67,
- tokenColon = 68,
- tokenHash = 69, /*e.g. #*/
- tokenDollar = 70,
- tokenNoBreakSpace = 71, /*non-breaking space*/
- tokenFraction = 72,
- tokenIntlCurrency = 73,
- tokenLeftSingGuillemet = 74,
- tokenRightSingGuillemet = 75,
- tokenPerThousand = 76,
- tokenEllipsis = 77,
- tokenCenterDot = 78,
- tokenNil = 127
- };
-
- enum
- {
- delimPad = -2, /* obsolete, misspelled token names kept for backward compatibility */
- tokenTilda = 44,
- tokenCarat = 55
- };
-
- enum
- {
- /* Table selectors for GetItlTable */
- smWordSelectTable = 0, /* get word select break table from 'itl2' */
- smWordWrapTable = 1, /* get word wrap break table from 'itl2' */
- smNumberPartsTable = 2, /* get default number parts table from 'itl4' */
- smUnTokenTable = 3, /* get unToken table from 'itl4' */
- smWhiteSpaceList = 4, /* get white space list from 'itl4' */
- iuWordSelectTable = 0, /* <obsolete> get word select break table from 'itl2' */
- iuWordWrapTable = 1, /* <obsolete> get word wrap break table from 'itl2' */
- iuNumberPartsTable = 2, /* <obsolete> get default number parts table from 'itl4' */
- iuUnTokenTable = 3, /* <obsolete> get unToken table from 'itl4' */
- iuWhiteSpaceList = 4 /* <obsolete> get white space list from 'itl4' */
- };
-
- /* end of stuff moved from Packages.h */
- enum
- {
- tokenOK = 0, /* TokenResults */
- tokenOverflow = 1, /* TokenResults */
- stringOverflow = 2, /* TokenResults */
- badDelim = 3, /* TokenResults */
- badEnding = 4, /* TokenResults */
- crash = 5 /* TokenResults */
- };
-
- typedef SInt8 TokenResults;
- typedef char CharByteTable[256];
- /* "TokenType" was renamed to "ScriptTokenType" because of a name collisions*/
- typedef short ScriptTokenType;
+/* Meta script codes:*/
+enum {
+ smSystemScript = -1, /* designates system script.*/
+ smCurrentScript = -2, /* designates current font script.*/
+ smAllScripts = -3 /* designates any script*/
+};
+
+/*
+ Script codes:
+ These specify a Mac OS encoding that is related to a FOND ID range.
+ Some of the encodings have several variants (e.g. for different localized systems)
+ which all share the same script code.
+ Not all of these script codes are currently supported by Apple software.
+ Notes:
+ - Script code 0 (smRoman) is also used (instead of smGreek) for the Greek encoding
+ in the Greek localized system.
+ - Script code 28 (smEthiopic) is also used for the Inuit encoding in the Inuktitut
+ system.
+*/
+enum {
+ smRoman = 0,
+ smJapanese = 1,
+ smTradChinese = 2, /* Traditional Chinese*/
+ smKorean = 3,
+ smArabic = 4,
+ smHebrew = 5,
+ smGreek = 6,
+ smCyrillic = 7,
+ smRSymbol = 8, /* Right-left symbol*/
+ smDevanagari = 9,
+ smGurmukhi = 10,
+ smGujarati = 11,
+ smOriya = 12,
+ smBengali = 13,
+ smTamil = 14,
+ smTelugu = 15,
+ smKannada = 16, /* Kannada/Kanarese*/
+ smMalayalam = 17,
+ smSinhalese = 18,
+ smBurmese = 19,
+ smKhmer = 20, /* Khmer/Cambodian*/
+ smThai = 21,
+ smLao = 22,
+ smGeorgian = 23,
+ smArmenian = 24,
+ smSimpChinese = 25, /* Simplified Chinese*/
+ smTibetan = 26,
+ smMongolian = 27,
+ smEthiopic = 28,
+ smGeez = 28, /* Synonym for smEthiopic*/
+ smCentralEuroRoman = 29, /* For Czech, Slovak, Polish, Hungarian, Baltic langs*/
+ smVietnamese = 30,
+ smExtArabic = 31, /* extended Arabic*/
+ smUninterp = 32 /* uninterpreted symbols, e.g. palette symbols*/
+};
+
+/* Extended script code for full Unicode input*/
+enum {
+ smUnicodeScript = 0x7E
+};
+
+/* Obsolete script code names (kept for backward compatibility):*/
+enum {
+ smChinese = 2, /* (Use smTradChinese or smSimpChinese)*/
+ smRussian = 7, /* Use smCyrillic*/
+ /* smMaldivian = 25: deleted, no code for Maldivian*/
+ smLaotian = 22, /* Use smLao */
+ smAmharic = 28, /* Use smEthiopic or smGeez*/
+ smSlavic = 29, /* Use smCentralEuroRoman*/
+ smEastEurRoman = 29, /* Use smCentralEuroRoman*/
+ smSindhi = 31, /* Use smExtArabic*/
+ smKlingon = 32
+};
+
+/*
+ Language codes:
+ These specify a language implemented using a particular Mac OS encoding.
+ Not all of these language codes are currently supported by Apple software.
+*/
+enum {
+ langEnglish = 0, /* smRoman script*/
+ langFrench = 1, /* smRoman script*/
+ langGerman = 2, /* smRoman script*/
+ langItalian = 3, /* smRoman script*/
+ langDutch = 4, /* smRoman script*/
+ langSwedish = 5, /* smRoman script*/
+ langSpanish = 6, /* smRoman script*/
+ langDanish = 7, /* smRoman script*/
+ langPortuguese = 8, /* smRoman script*/
+ langNorwegian = 9, /* smRoman script*/
+ langHebrew = 10, /* smHebrew script*/
+ langJapanese = 11, /* smJapanese script*/
+ langArabic = 12, /* smArabic script*/
+ langFinnish = 13, /* smRoman script*/
+ langGreek = 14, /* Greek script using smRoman script code*/
+ langIcelandic = 15, /* modified smRoman/Icelandic script*/
+ langMaltese = 16, /* Roman script*/
+ langTurkish = 17, /* modified smRoman/Turkish script*/
+ langCroatian = 18, /* modified smRoman/Croatian script*/
+ langTradChinese = 19, /* Chinese (Mandarin) in traditional characters*/
+ langUrdu = 20, /* smArabic script*/
+ langHindi = 21, /* smDevanagari script*/
+ langThai = 22, /* smThai script*/
+ langKorean = 23 /* smKorean script*/
+};
+
+enum {
+ langLithuanian = 24, /* smCentralEuroRoman script*/
+ langPolish = 25, /* smCentralEuroRoman script*/
+ langHungarian = 26, /* smCentralEuroRoman script*/
+ langEstonian = 27, /* smCentralEuroRoman script*/
+ langLatvian = 28, /* smCentralEuroRoman script*/
+ langSami = 29, /* language of the Sami people of N. Scandinavia */
+ langFaroese = 30, /* modified smRoman/Icelandic script */
+ langFarsi = 31, /* modified smArabic/Farsi script*/
+ langPersian = 31, /* Synonym for langFarsi*/
+ langRussian = 32, /* smCyrillic script*/
+ langSimpChinese = 33, /* Chinese (Mandarin) in simplified characters*/
+ langFlemish = 34, /* smRoman script*/
+ langIrishGaelic = 35, /* smRoman or modified smRoman/Celtic script (without dot above) */
+ langAlbanian = 36, /* smRoman script*/
+ langRomanian = 37, /* modified smRoman/Romanian script*/
+ langCzech = 38, /* smCentralEuroRoman script*/
+ langSlovak = 39, /* smCentralEuroRoman script*/
+ langSlovenian = 40, /* modified smRoman/Croatian script*/
+ langYiddish = 41, /* smHebrew script*/
+ langSerbian = 42, /* smCyrillic script*/
+ langMacedonian = 43, /* smCyrillic script*/
+ langBulgarian = 44, /* smCyrillic script*/
+ langUkrainian = 45, /* modified smCyrillic/Ukrainian script*/
+ langByelorussian = 46, /* smCyrillic script*/
+ langBelorussian = 46 /* Synonym for langByelorussian */
+};
+
+enum {
+ langUzbek = 47, /* Cyrillic script*/
+ langKazakh = 48, /* Cyrillic script*/
+ langAzerbaijani = 49, /* Azerbaijani in Cyrillic script*/
+ langAzerbaijanAr = 50, /* Azerbaijani in Arabic script*/
+ langArmenian = 51, /* smArmenian script*/
+ langGeorgian = 52, /* smGeorgian script*/
+ langMoldavian = 53, /* smCyrillic script*/
+ langKirghiz = 54, /* Cyrillic script*/
+ langTajiki = 55, /* Cyrillic script*/
+ langTurkmen = 56, /* Cyrillic script*/
+ langMongolian = 57, /* Mongolian in smMongolian script*/
+ langMongolianCyr = 58, /* Mongolian in Cyrillic script*/
+ langPashto = 59, /* Arabic script*/
+ langKurdish = 60, /* smArabic script*/
+ langKashmiri = 61, /* Arabic script*/
+ langSindhi = 62, /* Arabic script*/
+ langTibetan = 63, /* smTibetan script*/
+ langNepali = 64, /* smDevanagari script*/
+ langSanskrit = 65, /* smDevanagari script*/
+ langMarathi = 66, /* smDevanagari script*/
+ langBengali = 67, /* smBengali script*/
+ langAssamese = 68, /* smBengali script*/
+ langGujarati = 69, /* smGujarati script*/
+ langPunjabi = 70 /* smGurmukhi script*/
+};
+
+enum {
+ langOriya = 71, /* smOriya script*/
+ langMalayalam = 72, /* smMalayalam script*/
+ langKannada = 73, /* smKannada script*/
+ langTamil = 74, /* smTamil script*/
+ langTelugu = 75, /* smTelugu script*/
+ langSinhalese = 76, /* smSinhalese script*/
+ langBurmese = 77, /* smBurmese script*/
+ langKhmer = 78, /* smKhmer script*/
+ langLao = 79, /* smLao script*/
+ langVietnamese = 80, /* smVietnamese script*/
+ langIndonesian = 81, /* smRoman script*/
+ langTagalog = 82, /* Roman script*/
+ langMalayRoman = 83, /* Malay in smRoman script*/
+ langMalayArabic = 84, /* Malay in Arabic script*/
+ langAmharic = 85, /* smEthiopic script*/
+ langTigrinya = 86, /* smEthiopic script*/
+ langOromo = 87, /* smEthiopic script*/
+ langSomali = 88, /* smRoman script*/
+ langSwahili = 89, /* smRoman script*/
+ langKinyarwanda = 90, /* smRoman script*/
+ langRuanda = 90, /* synonym for langKinyarwanda*/
+ langRundi = 91, /* smRoman script*/
+ langNyanja = 92, /* smRoman script*/
+ langChewa = 92, /* synonym for langNyanja*/
+ langMalagasy = 93, /* smRoman script*/
+ langEsperanto = 94 /* Roman script*/
+};
+
+enum {
+ langWelsh = 128, /* modified smRoman/Celtic script*/
+ langBasque = 129, /* smRoman script*/
+ langCatalan = 130, /* smRoman script*/
+ langLatin = 131, /* smRoman script*/
+ langQuechua = 132, /* smRoman script*/
+ langGuarani = 133, /* smRoman script*/
+ langAymara = 134, /* smRoman script*/
+ langTatar = 135, /* Cyrillic script*/
+ langUighur = 136, /* Arabic script*/
+ langDzongkha = 137, /* (lang of Bhutan) smTibetan script*/
+ langJavaneseRom = 138, /* Javanese in smRoman script*/
+ langSundaneseRom = 139, /* Sundanese in smRoman script*/
+ langGalician = 140, /* smRoman script*/
+ langAfrikaans = 141 /* smRoman script */
+};
+
+enum {
+ langBreton = 142, /* smRoman or modified smRoman/Celtic script */
+ langInuktitut = 143, /* Inuit script using smEthiopic script code */
+ langScottishGaelic = 144, /* smRoman or modified smRoman/Celtic script */
+ langManxGaelic = 145, /* smRoman or modified smRoman/Celtic script */
+ langIrishGaelicScript = 146, /* modified smRoman/Gaelic script (using dot above) */
+ langTongan = 147, /* smRoman script */
+ langGreekPoly = 148, /* smGreek script */
+ langGreenlandic = 149, /* smRoman script */
+ langAzerbaijanRoman = 150 /* Azerbaijani in Roman script */
+};
+
+enum {
+ langUnspecified = 32767 /* Special code for use in resources (such as 'itlm') */
+};
+
+/*
+ Obsolete language code names (kept for backward compatibility):
+ Misspelled, ambiguous, misleading, considered pejorative, archaic, etc.
+*/
+enum {
+ langPortugese = 8, /* Use langPortuguese*/
+ langMalta = 16, /* Use langMaltese*/
+ langYugoslavian = 18, /* (use langCroatian, langSerbian, etc.)*/
+ langChinese = 19, /* (use langTradChinese or langSimpChinese)*/
+ langLettish = 28, /* Use langLatvian */
+ langLapponian = 29, /* Use langSami*/
+ langLappish = 29, /* Use langSami*/
+ langSaamisk = 29, /* Use langSami */
+ langFaeroese = 30, /* Use langFaroese */
+ langIrish = 35, /* Use langIrishGaelic */
+ langGalla = 87, /* Use langOromo */
+ langAfricaans = 141 /* Use langAfrikaans */
+};
+
+/*
+ Region codes:
+ These typically specify a combination of a language code and a particular region.
+ Some of these numeric values are reserved just for extra resource IDs associated
+ with certain regions; these are not actual region codes, and are noted in the comments.
+ Not all of the region codes are currently supported by Apple software.
+ When relevant, the following list also provides:
+ - The Apple part number (P/N) code for software localized for the specified region.
+ - The two-letter ISO language and country codes (from ISO 639 and ISO 3166). The
+ language code (lowercase) is first, then '_', then the country code (uppercase).
+*/
+
+enum {
+ /* P/N ISO codes comments*/
+ verUS = 0, /* en_US*/
+ verFrance = 1, /* F fr_FR*/
+ verBritain = 2, /* B en_GB*/
+ verGermany = 3, /* D de_DE*/
+ verItaly = 4, /* T it_IT*/
+ verNetherlands = 5, /* N nl_NL*/
+ verFlemish = 6, /* FN nl_BE Flemish (Dutch) for Belgium */
+ verSweden = 7, /* S sv_SE*/
+ verSpain = 8, /* E es_ES Spanish for Spain*/
+ verDenmark = 9, /* DK da_DK*/
+ verPortugal = 10, /* PO pt_PT Portuguese for Portugal*/
+ verFrCanada = 11, /* C fr_CA French for Canada*/
+ verNorway = 12, /* H no_NO,nb_NO Bokm.l*/
+ verIsrael = 13, /* HB he_IL,iw_IL Hebrew*/
+ verJapan = 14, /* J ja_JP*/
+ verAustralia = 15, /* X en_AU English for Australia*/
+ verArabic = 16, /* AB ar Arabic for N Africa, Arabian peninsula, Levant*/
+ verFinland = 17, /* K fi_FI*/
+ verFrSwiss = 18, /* SF fr_CH French Swiss*/
+ verGrSwiss = 19, /* SD de_CH German Swiss*/
+ verGreece = 20, /* GR el_GR Monotonic Greek (modern)*/
+ verIceland = 21, /* IS is_IS*/
+ verMalta = 22, /* MA mt_MT*/
+ verCyprus = 23, /* CY _CY Greek or Turkish language? Checking...*/
+ verTurkey = 24, /* TU tr_TR*/
+ verYugoCroatian = 25 /* YU Croatian for Yugoslavia; now use verCroatia (68)*/
+};
+
+enum {
+ verNetherlandsComma = 26, /* ID for KCHR resource - Dutch*/
+ verBelgiumLuxPoint = 27, /* ID for KCHR resource - Belgium*/
+ verCanadaComma = 28, /* ID for KCHR resource - Canadian ISO*/
+ verCanadaPoint = 29, /* ID for KCHR resource - Canadian; now unused*/
+ vervariantPortugal = 30, /* ID for resource; now unused*/
+ vervariantNorway = 31, /* ID for resource; now unused*/
+ vervariantDenmark = 32 /* ID for KCHR resource - Danish Mac Plus*/
+};
+
+enum {
+ verIndiaHindi = 33, /* hi_IN Hindi for India*/
+ verPakistanUrdu = 34, /* UR ur_PK Urdu for Pakistan */
+ verTurkishModified = 35,
+ verItalianSwiss = 36, /* ST it_CH Italian Swiss*/
+ verInternational = 37, /* Z en English for international use */
+ /* 38 is unassigned*/
+ verRomania = 39, /* RO ro_RO*/
+ verGreecePoly = 40, /* grc Polytonic Greek (classical) */
+ verLithuania = 41, /* LT lt_LT*/
+ verPoland = 42, /* PL pl_PL*/
+ verHungary = 43, /* MG hu_HU*/
+ verEstonia = 44, /* EE et_EE*/
+ verLatvia = 45, /* LV lv_LV*/
+ verSami = 46, /* se */
+ verFaroeIsl = 47, /* FA fo_FO */
+ verIran = 48, /* PS fa_IR Persian/Farsi*/
+ verRussia = 49, /* RS ru_RU Russian*/
+ verIreland = 50, /* GA ga_IE Irish Gaelic for Ireland (without dot above) */
+ verKorea = 51, /* KH ko_KR*/
+ verChina = 52, /* CH zh_CN Simplified Chinese*/
+ verTaiwan = 53, /* TA zh_TW Traditional Chinese*/
+ verThailand = 54, /* TH th_TH*/
+ verScriptGeneric = 55, /* SS Generic script system (no language or script) */
+ verCzech = 56, /* CZ cs_CZ*/
+ verSlovak = 57, /* SL sk_SK*/
+ verFarEastGeneric = 58, /* FE Generic Far East system (no language or script) */
+ verMagyar = 59, /* Unused; see verHungary*/
+ verBengali = 60, /* bn Bangladesh or India*/
+ verByeloRussian = 61 /* BY be_BY*/
+};
+
+enum {
+ verUkraine = 62, /* UA uk_UA*/
+ /* 63 is unassigned*/
+ verGreeceAlt = 64, /* unused */
+ verSerbian = 65, /* SR sr_YU,sh_YU */
+ verSlovenian = 66, /* SV sl_SI */
+ verMacedonian = 67, /* MD mk_MK */
+ verCroatia = 68, /* CR hr_HR,sh_HR*/
+ /* 69 is unassigned*/
+ verGermanReformed = 70, /* de_DE Reformed orthography (used formerly unassigned 70) */
+ verBrazil = 71, /* BR pt_BR Portuguese for Brazil*/
+ verBulgaria = 72, /* BG bg_BG*/
+ verCatalonia = 73, /* CA ca_ES Catalan for Spain*/
+ verMultilingual = 74, /* ZM mul (no language or script)*/
+ verScottishGaelic = 75, /* GD gd*/
+ verManxGaelic = 76, /* GV gv Isle of Man*/
+ verBreton = 77, /* BZ br*/
+ verNunavut = 78, /* IU iu_CA Inuktitut for Canada*/
+ verWelsh = 79, /* CU cy*/
+ /* 80 is ID for KCHR resource - Canadian CSA*/
+ verIrishGaelicScript = 81, /* GS ga_IE Irish Gaelic for Ireland (using dot above)*/
+ verEngCanada = 82, /* V en_CA English for Canada*/
+ verBhutan = 83, /* BH dz_BT Dzongkha for Bhutan*/
+ verArmenian = 84, /* HY hy_AM*/
+ verGeorgian = 85, /* KR ka_GE*/
+ verSpLatinAmerica = 86, /* LA es Spanish for Latin America*/
+ /* 87 is ID for KCHR resource - Spanish ISO*/
+ verTonga = 88, /* TS to_TO*/
+ /* 89 is ID for KCHR resource - Polish Modified*/
+ /* 90 is ID for KCHR resource - Catalan ISO*/
+ verFrenchUniversal = 91, /* fr French generic*/
+ verAustria = 92, /* AU de_AT German for Austria*/
+ /* Y 93 is unused alternate for verSpLatinAmerica*/
+ verGujarati = 94, /* gu_IN*/
+ verPunjabi = 95, /* pa Pakistan or India*/
+ verIndiaUrdu = 96, /* ur_IN Urdu for India*/
+ verVietnam = 97 /* vi_VN*/
+};
+
+enum {
+ verFrBelgium = 98, /* BF fr_BE French for Belgium */
+ verUzbek = 99, /* BD uz_UZ */
+ verSingapore = 100, /* SG */
+ verNynorsk = 101, /* NY nn_NO Norwegian Nynorsk */
+ verAfrikaans = 102, /* AK af_ZA */
+ verEsperanto = 103, /* eo */
+ verMarathi = 104, /* mr_IN */
+ verTibetan = 105, /* bo */
+ verNepal = 106, /* ne_NP */
+ verGreenland = 107, /* kl */
+ verIrelandEnglish = 108 /* en_IE English for Ireland, with Euro for currency*/
+};
+
+/*
+ Other extra resource IDs assigned in the same number space:
+ 179 is ID for KCHR & itl_ resources - Cornish
+ 581 is ID for KCHR resource - Irish Gaelic script alternate
+ 582 is ID for KCHR resource - Ogham
+ 779 is ID for KCHR resource - Welsh alternate
+ 1111 is ID for KCHR resource - French numeric
+*/
+
+/*
+ Obsolete region code names (kept for backward compatibility):
+ Misspelled or alternate form, ambiguous, misleading, considered pejorative, archaic, etc.
+*/
+enum {
+ verFrBelgiumLux = 6, /* Incorrect; 6 is Flemish, not French, for Belgium; use verFlemish */
+ verBelgiumLux = 6, /* Use verFlemish*/
+ verArabia = 16, /* Use verArabic*/
+ verYugoslavia = 25, /* Use verYugoCroatian (same number, now unused), or newer verCroatia*/
+ verIndia = 33, /* Use verIndiaHindi*/
+ verPakistan = 34, /* Use verPakistanUrdu */
+ verRumania = 39, /* Alternate for verRomania */
+ verGreekAncient = 40, /* Use verGreecePoly */
+ verLapland = 46, /* Use verSami */
+ verFaeroeIsl = 47, /* Use verFaroeIsl */
+ verGenericFE = 58, /* Use verFarEastGeneric */
+ verBelarus = 61, /* Alternate for verByelorussian */
+ verUkrania = 62, /* Use verUkraine*/
+ verAlternateGr = 64, /* Use verGreeceAlt */
+ verSerbia = 65, /* Alternate for verSerbian */
+ verSlovenia = 66, /* Alternate for verSlovenian */
+ verMacedonia = 67, /* Alternate for verMacedonian */
+ verBrittany = 77, /* Alternate for verBreton */
+ verWales = 79, /* Alternate for verWelsh */
+ verArmenia = 84, /* Alternate for verArmenian */
+ verGeorgia = 85, /* Alternate for verGeorgian */
+ verAustriaGerman = 92, /* Use verAustria */
+ verTibet = 105 /* Use verTibetan */
+};
+
+enum {
+ minCountry = verUS,
+ maxCountry = verGreenland
+};
+
+enum {
+ /* Calendar Codes */
+ calGregorian = 0,
+ calArabicCivil = 1,
+ calArabicLunar = 2,
+ calJapanese = 3,
+ calJewish = 4,
+ calCoptic = 5,
+ calPersian = 6
+};
+
+enum {
+ /* Integer Format Codes */
+ intWestern = 0,
+ intArabic = 1,
+ intRoman = 2,
+ intJapanese = 3,
+ intEuropean = 4,
+ intOutputMask = 0x8000
+};
+
+enum {
+ /* CharByte byte types */
+ smSingleByte = 0,
+ smFirstByte = -1,
+ smLastByte = 1,
+ smMiddleByte = 2
+};
+
+enum {
+ /* CharType field masks */
+ smcTypeMask = 0x000F,
+ smcReserved = 0x00F0,
+ smcClassMask = 0x0F00,
+ smcOrientationMask = 0x1000, /*two-byte script glyph orientation*/
+ smcRightMask = 0x2000,
+ smcUpperMask = 0x4000,
+ smcDoubleMask = 0x8000
+};
+
+enum {
+ /* Basic CharType character types */
+ smCharPunct = 0x0000,
+ smCharAscii = 0x0001,
+ smCharEuro = 0x0007,
+ smCharExtAscii = 0x0007, /* More correct synonym for smCharEuro */
+ /* Additional CharType character types for script systems */
+ smCharKatakana = 0x0002, /*Japanese Katakana*/
+ smCharHiragana = 0x0003, /*Japanese Hiragana*/
+ smCharIdeographic = 0x0004, /*Hanzi, Kanji, Hanja*/
+ smCharTwoByteGreek = 0x0005, /*2-byte Greek in Far East systems*/
+ smCharTwoByteRussian = 0x0006, /*2-byte Cyrillic in Far East systems*/
+ smCharBidirect = 0x0008, /*Arabic/Hebrew*/
+ smCharContextualLR = 0x0009, /*Contextual left-right: Thai, Indic scripts*/
+ smCharNonContextualLR = 0x000A, /*Non-contextual left-right: Cyrillic, Greek*/
+ smCharHangul = 0x000C, /*Korean Hangul*/
+ smCharJamo = 0x000D, /*Korean Jamo*/
+ smCharBopomofo = 0x000E, /*Chinese Bopomofo*/
+ smCharGanaKana = 0x000F, /*Shared for Japanese Hiragana & Katakana*/
+ /* old names for some of above, for backward compatibility */
+ smCharFISKana = 0x0002, /*Katakana*/
+ smCharFISGana = 0x0003, /*Hiragana*/
+ smCharFISIdeo = 0x0004 /*Hanzi, Kanji, Hanja*/
+};
+
+enum {
+ smCharFISGreek = 0x0005, /*2-byte Greek in Far East systems*/
+ smCharFISRussian = 0x0006, /*2-byte Cyrillic in Far East systems*/
+ /* CharType classes for punctuation (smCharPunct) */
+ smPunctNormal = 0x0000,
+ smPunctNumber = 0x0100,
+ smPunctSymbol = 0x0200,
+ smPunctBlank = 0x0300, /* Additional CharType classes for punctuation in two-byte systems */
+ smPunctRepeat = 0x0400, /* repeat marker */
+ smPunctGraphic = 0x0500, /* line graphics */
+ /* CharType Katakana and Hiragana classes for two-byte systems */
+ smKanaSmall = 0x0100, /*small kana character*/
+ smKanaHardOK = 0x0200, /*can have dakuten*/
+ smKanaSoftOK = 0x0300, /*can have dakuten or han-dakuten*/
+ /* CharType Ideographic classes for two-byte systems */
+ smIdeographicLevel1 = 0x0000, /*level 1 char*/
+ smIdeographicLevel2 = 0x0100, /*level 2 char*/
+ smIdeographicUser = 0x0200, /*user char*/
+ /* old names for above, for backward compatibility */
+ smFISClassLvl1 = 0x0000, /*level 1 char*/
+ smFISClassLvl2 = 0x0100, /*level 2 char*/
+ smFISClassUser = 0x0200, /*user char*/
+ /* CharType Jamo classes for Korean systems */
+ smJamoJaeum = 0x0000, /*simple consonant char*/
+ smJamoBogJaeum = 0x0100, /*complex consonant char*/
+ smJamoMoeum = 0x0200, /*simple vowel char*/
+ smJamoBogMoeum = 0x0300 /*complex vowel char*/
+};
+
+enum {
+ /* CharType glyph orientation for two-byte systems */
+ smCharHorizontal = 0x0000, /* horizontal character form, or for both */
+ smCharVertical = 0x1000, /* vertical character form */
+ /* CharType directions */
+ smCharLeft = 0x0000,
+ smCharRight = 0x2000, /* CharType case modifers */
+ smCharLower = 0x0000,
+ smCharUpper = 0x4000, /* CharType character size modifiers (1 or multiple bytes). */
+ smChar1byte = 0x0000,
+ smChar2byte = 0x8000
+};
+
+enum {
+ /* TransliterateText target types for Roman */
+ smTransAscii = 0, /*convert to ASCII*/
+ smTransNative = 1, /*convert to font script*/
+ smTransCase = 0xFE, /*convert case for all text*/
+ smTransSystem = 0xFF, /*convert to system script*/
+ /* TransliterateText target types for two-byte scripts */
+ smTransAscii1 = 2, /*1-byte Roman*/
+ smTransAscii2 = 3, /*2-byte Roman*/
+ smTransKana1 = 4, /*1-byte Japanese Katakana*/
+ smTransKana2 = 5 /*2-byte Japanese Katakana*/
+};
+
+enum {
+ smTransGana2 = 7, /*2-byte Japanese Hiragana (no 1-byte Hiragana)*/
+ smTransHangul2 = 8, /*2-byte Korean Hangul*/
+ smTransJamo2 = 9, /*2-byte Korean Jamo*/
+ smTransBopomofo2 = 10, /*2-byte Chinese Bopomofo*/
+ /* TransliterateText target modifiers */
+ smTransLower = 0x4000, /*target becomes lowercase*/
+ smTransUpper = 0x8000, /*target becomes uppercase*/
+ /* TransliterateText resource format numbers */
+ smTransRuleBaseFormat = 1, /*Rule based trsl resource format */
+ smTransHangulFormat = 2, /*Table based Hangul trsl resource format*/
+ /* TransliterateText property flags */
+ smTransPreDoubleByting = 1, /*Convert all text to double byte before transliteration*/
+ smTransPreLowerCasing = 2 /*Convert all text to lower case before transliteration*/
+};
+
+enum {
+ /* TransliterateText source mask - general */
+ smMaskAll = (long)0xFFFFFFFF, /*Convert all text*/
+ /* TransliterateText source masks */
+ smMaskAscii = 0x00000001, /*2^smTransAscii*/
+ smMaskNative = 0x00000002, /*2^smTransNative*/
+ /* TransliterateText source masks for two-byte scripts */
+ smMaskAscii1 = 0x00000004, /*2^smTransAscii1*/
+ smMaskAscii2 = 0x00000008, /*2^smTransAscii2*/
+ smMaskKana1 = 0x00000010, /*2^smTransKana1*/
+ smMaskKana2 = 0x00000020, /*2^smTransKana2*/
+ smMaskGana2 = 0x00000080, /*2^smTransGana2*/
+ smMaskHangul2 = 0x00000100, /*2^smTransHangul2*/
+ smMaskJamo2 = 0x00000200, /*2^smTransJamo2*/
+ smMaskBopomofo2 = 0x00000400 /*2^smTransBopomofo2*/
+};
+
+enum {
+ /* Result values from GetScriptManagerVariable and SetScriptManagerVariable calls. */
+ smNotInstalled = 0, /*routine not available in script*/
+ smBadVerb = -1, /*Bad verb passed to a routine*/
+ smBadScript = -2 /*Bad script code passed to a routine*/
+};
+
+enum {
+ /* Values for script redraw flag. */
+ smRedrawChar = 0, /*Redraw character only*/
+ smRedrawWord = 1, /*Redraw entire word (2-byte systems)*/
+ smRedrawLine = -1 /*Redraw entire line (bidirectional systems)*/
+};
+
+enum {
+ /* GetScriptManagerVariable and SetScriptManagerVariable verbs */
+ smVersion = 0, /*Script Manager version number*/
+ smMunged = 2, /*Globals change count*/
+ smEnabled = 4, /*Count of enabled scripts, incl Roman*/
+ smBidirect = 6, /*At least one bidirectional script*/
+ smFontForce = 8, /*Force font flag*/
+ smIntlForce = 10, /*Force intl flag*/
+ smForced = 12, /*Script was forced to system script*/
+ smDefault = 14, /*Script was defaulted to Roman script*/
+ smPrint = 16, /*Printer action routine*/
+ smSysScript = 18, /*System script*/
+ smLastScript = 20, /*Last keyboard script*/
+ smKeyScript = 22, /*Keyboard script*/
+ smSysRef = 24, /*System folder refNum*/
+ smKeyCache = 26, /*obsolete*/
+ smKeySwap = 28, /*Swapping table handle*/
+ smGenFlags = 30, /*General flags long*/
+ smOverride = 32, /*Script override flags*/
+ smCharPortion = 34, /*Ch vs SpExtra proportion*/
+ /* New for System 7.0: */
+ smDoubleByte = 36, /*Flag for double-byte script installed*/
+ smKCHRCache = 38, /*Returns pointer to KCHR cache*/
+ smRegionCode = 40, /*Returns current region code (verXxx)*/
+ smKeyDisableState = 42 /*Returns current keyboard disable state*/
+};
+
+enum {
+ /* GetScriptVariable and SetScriptVariable verbs. */
+ /* Note: Verbs private to script systems are negative, while */
+ /* those general across script systems are non-negative. */
+ smScriptVersion = 0, /*Script software version*/
+ smScriptMunged = 2, /*Script entry changed count*/
+ smScriptEnabled = 4, /*Script enabled flag*/
+ smScriptRight = 6, /*Right to left flag*/
+ smScriptJust = 8, /*Justification flag*/
+ smScriptRedraw = 10, /*Word redraw flag*/
+ smScriptSysFond = 12, /*Preferred system font*/
+ smScriptAppFond = 14, /*Preferred Application font*/
+ smScriptBundle = 16, /*Beginning of itlb verbs*/
+ smScriptNumber = 16, /*Script itl0 id*/
+ smScriptDate = 18, /*Script itl1 id*/
+ smScriptSort = 20, /*Script itl2 id*/
+ smScriptFlags = 22, /*flags word*/
+ smScriptToken = 24, /*Script itl4 id*/
+ smScriptEncoding = 26, /*id of optional itl5, if present*/
+ smScriptLang = 28 /*Current language for script*/
+};
+
+enum {
+ smScriptNumDate = 30, /*Script Number/Date formats.*/
+ smScriptKeys = 32, /*Script KCHR id*/
+ smScriptIcon = 34, /*ID # of SICN or kcs#/kcs4/kcs8 suite*/
+ smScriptPrint = 36, /*Script printer action routine*/
+ smScriptTrap = 38, /*Trap entry pointer*/
+ smScriptCreator = 40, /*Script file creator*/
+ smScriptFile = 42, /*Script file name*/
+ smScriptName = 44, /*Script name*/
+ /* There is a hole here for old Kanji private verbs 46-76 */
+ /* New for System 7.0: */
+ smScriptMonoFondSize = 78, /*default monospace FOND (hi) & size (lo)*/
+ smScriptPrefFondSize = 80, /*preferred FOND (hi) & size (lo)*/
+ smScriptSmallFondSize = 82, /*default small FOND (hi) & size (lo)*/
+ smScriptSysFondSize = 84, /*default system FOND (hi) & size (lo)*/
+ smScriptAppFondSize = 86, /*default app FOND (hi) & size (lo)*/
+ smScriptHelpFondSize = 88, /*default Help Mgr FOND (hi) & size (lo)*/
+ smScriptValidStyles = 90, /*mask of valid styles for script*/
+ smScriptAliasStyle = 92 /*style (set) to use for aliases*/
+};
+
+/* special negative verbs for Get/SetScriptVariable that were associated with WorldScriptI */
+/* move them here to be public */
+enum {
+ /* WorldScript private verbs */
+ smLayoutCache = -309, /* HiWrd(param) is # entries, LoWrd is max input length*/
+ smOldVerbSupport = -311, /* param is added to old verbs to map to WSI verb*/
+ smSetKashidas = -291, /* param is ON or OFF, old verb = -36*/
+ smSetKashProp = -287, /* param is kashida proportion, old verb = -32*/
+ smScriptSysBase = -281, /* param is associated font to use w/ system font (old verb = -26)*/
+ smScriptAppBase = -283, /* param is associated font to use w/ app font (old verb = -28)*/
+ smScriptFntBase = -285, /* param is associated font to use w/ all other fonts (old verb = -30)*/
+ smScriptLigatures = -263, /* old verb = -8*/
+ smScriptNumbers = -267 /* old verb = -12*/
+};
+
+enum {
+ /* Special script code values for International Utilities */
+ iuSystemScript = -1, /* <obsolete> system script */
+ iuCurrentScript = -2 /* <obsolete> current script (for font of grafPort) */
+};
+
+enum {
+ /* Negative verbs for KeyScript */
+ smKeyNextScript = -1, /* Switch to next available script */
+ smKeySysScript = -2, /* Switch to the system script */
+ smKeySwapScript = -3, /* Switch to previously-used script */
+ /* New for System 7.0: */
+ smKeyNextKybd = -4, /* Switch to next keyboard in current keyscript */
+ smKeySwapKybd = -5, /* Switch to previously-used keyboard in current keyscript */
+ smKeyDisableKybds = -6, /* Disable keyboards not in system or Roman script */
+ smKeyEnableKybds = -7, /* Re-enable keyboards for all enabled scripts */
+ smKeyToggleInline = -8, /* Toggle inline input for current keyscript */
+ smKeyToggleDirection = -9, /* Toggle default line direction (TESysJust) */
+ smKeyNextInputMethod = -10, /* Switch to next input method in current keyscript */
+ smKeySwapInputMethod = -11, /* Switch to last-used input method in current keyscript */
+ smKeyDisableKybdSwitch = -12, /* Disable switching from the current keyboard */
+ smKeySetDirLeftRight = -15, /* Set default line dir to left-right, align left */
+ smKeySetDirRightLeft = -16, /* Set default line dir to right-left, align right */
+ smKeyRoman = -17 /* Set keyscript to Roman. Does nothing if Roman-only system, unlike KeyScript(smRoman) which forces an update to current default Roman keyboard */
+};
+
+/* Optional font and keyboard script synchronization */
+enum {
+ /* One more flag in the smGenFlags long. */
+ smfDisableKeyScriptSync = 27 /*Disable font and keyboard script synchronization*/
+};
+
+enum {
+ /* We should define masks, too. */
+ smfDisableKeyScriptSyncMask = 1L << smfDisableKeyScriptSync /*Disable font and keyboard script synchronization mask*/
+};
+
+enum {
+ /* Force keyboard script switching flag and mask for zero and positive KeyScript verbs */
+ smKeyForceKeyScriptBit = 7, /* Force keyboard script switching flag */
+ smKeyForceKeyScriptMask = 1 << smKeyForceKeyScriptBit /* its mask */
+};
+
+enum {
+ /* Bits in the smScriptFlags word */
+ /* (bits above 8 are non-static) */
+ smsfIntellCP = 0, /*Script has intelligent cut & paste*/
+ smsfSingByte = 1, /*Script has only single bytes*/
+ smsfNatCase = 2, /*Native chars have upper & lower case*/
+ smsfContext = 3, /*Script is contextual*/
+ smsfNoForceFont = 4, /*Script will not force characters*/
+ smsfB0Digits = 5, /*Script has alternate digits at B0-B9*/
+ smsfAutoInit = 6, /*Auto initialize the script*/
+ smsfUnivExt = 7, /*Script is handled by universal extension*/
+ smsfSynchUnstyledTE = 8, /*Script synchronizes for unstyled TE*/
+ smsfForms = 13, /*Uses contextual forms for letters*/
+ smsfLigatures = 14, /*Uses contextual ligatures*/
+ smsfReverse = 15, /*Reverses native text, right-left*/
+ /* Bits in the smGenFlags long. */
+ /* First (high-order) byte is set from itlc flags byte. */
+ smfShowIcon = 31, /*Show icon even if only one script*/
+ smfDualCaret = 30, /*Use dual caret for mixed direction text*/
+ smfNameTagEnab = 29, /*Reserved for internal use*/
+ smfUseAssocFontInfo = 28 /*Use the associated font info for FontMetrics calls <48>*/
+};
+
+enum {
+ /* Roman script constants */
+ /* The following are here for backward compatibility, but should not be used. */
+ /* This information should be obtained using GetScript. */
+ romanSysFond = 0x3FFF, /*system font id number*/
+ romanAppFond = 3, /*application font id number*/
+ romanFlags = 0x0007, /*roman settings*/
+ /* Script Manager font equates. */
+ smFondStart = 0x4000, /*start from 16K*/
+ smFondEnd = 0xC000, /*past end of range at 48K*/
+ /* Miscellaneous font equates. */
+ smUprHalfCharSet = 0x80 /*first char code in top half of std char set*/
+};
+
+enum {
+ /* Character Set Extensions */
+ diaeresisUprY = 0xD9,
+ fraction = 0xDA,
+ intlCurrency = 0xDB,
+ leftSingGuillemet = 0xDC,
+ rightSingGuillemet = 0xDD,
+ fiLigature = 0xDE,
+ flLigature = 0xDF,
+ dblDagger = 0xE0,
+ centeredDot = 0xE1,
+ baseSingQuote = 0xE2,
+ baseDblQuote = 0xE3,
+ perThousand = 0xE4,
+ circumflexUprA = 0xE5,
+ circumflexUprE = 0xE6,
+ acuteUprA = 0xE7,
+ diaeresisUprE = 0xE8,
+ graveUprE = 0xE9,
+ acuteUprI = 0xEA,
+ circumflexUprI = 0xEB,
+ diaeresisUprI = 0xEC,
+ graveUprI = 0xED,
+ acuteUprO = 0xEE,
+ circumflexUprO = 0xEF,
+ appleLogo = 0xF0,
+ graveUprO = 0xF1,
+ acuteUprU = 0xF2,
+ circumflexUprU = 0xF3,
+ graveUprU = 0xF4,
+ dotlessLwrI = 0xF5,
+ circumflex = 0xF6,
+ tilde = 0xF7,
+ macron = 0xF8,
+ breveMark = 0xF9,
+ overDot = 0xFA,
+ ringMark = 0xFB,
+ cedilla = 0xFC,
+ doubleAcute = 0xFD,
+ ogonek = 0xFE,
+ hachek = 0xFF
+};
+
+enum {
+ /* ScriptTokenType values */
+ tokenIntl = 4, /*the itl resource number of the tokenizer*/
+ tokenEmpty = -1 /*used internally as an empty flag*/
+};
+
+enum {
+ tokenUnknown = 0, /*chars that do not match a defined token type*/
+ tokenWhite = 1, /*white space*/
+ tokenLeftLit = 2, /*literal begin*/
+ tokenRightLit = 3, /*literal end*/
+ tokenAlpha = 4, /*alphabetic*/
+ tokenNumeric = 5, /*numeric*/
+ tokenNewLine = 6, /*new line*/
+ tokenLeftComment = 7, /*open comment*/
+ tokenRightComment = 8, /*close comment*/
+ tokenLiteral = 9, /*literal*/
+ tokenEscape = 10, /*character escape (e.g. '\' in "\n", "\t")*/
+ tokenAltNum = 11, /*alternate number (e.g. $B0-B9 in Arabic,Hebrew)*/
+ tokenRealNum = 12, /*real number*/
+ tokenAltReal = 13, /*alternate real number*/
+ tokenReserve1 = 14, /*reserved*/
+ tokenReserve2 = 15, /*reserved*/
+ tokenLeftParen = 16, /*open parenthesis*/
+ tokenRightParen = 17, /*close parenthesis*/
+ tokenLeftBracket = 18, /*open square bracket*/
+ tokenRightBracket = 19 /*close square bracket*/
+};
+
+enum {
+ tokenLeftCurly = 20, /*open curly bracket*/
+ tokenRightCurly = 21, /*close curly bracket*/
+ tokenLeftEnclose = 22, /*open guillemet*/
+ tokenRightEnclose = 23, /*close guillemet*/
+ tokenPlus = 24,
+ tokenMinus = 25,
+ tokenAsterisk = 26, /*times/multiply*/
+ tokenDivide = 27,
+ tokenPlusMinus = 28, /*plus or minus symbol*/
+ tokenSlash = 29,
+ tokenBackSlash = 30,
+ tokenLess = 31, /*less than symbol*/
+ tokenGreat = 32, /*greater than symbol*/
+ tokenEqual = 33,
+ tokenLessEqual2 = 34, /*less than or equal, 2 characters (e.g. <=)*/
+ tokenLessEqual1 = 35, /*less than or equal, 1 character*/
+ tokenGreatEqual2 = 36, /*greater than or equal, 2 characters (e.g. >=)*/
+ tokenGreatEqual1 = 37, /*greater than or equal, 1 character*/
+ token2Equal = 38, /*double equal (e.g. ==)*/
+ tokenColonEqual = 39 /*colon equal*/
+};
+
+enum {
+ tokenNotEqual = 40, /*not equal, 1 character*/
+ tokenLessGreat = 41, /*less/greater, Pascal not equal (e.g. <>)*/
+ tokenExclamEqual = 42, /*exclamation equal, C not equal (e.g. !=)*/
+ tokenExclam = 43, /*exclamation point*/
+ tokenTilde = 44, /*centered tilde*/
+ tokenComma = 45,
+ tokenPeriod = 46,
+ tokenLeft2Quote = 47, /*open double quote*/
+ tokenRight2Quote = 48, /*close double quote*/
+ tokenLeft1Quote = 49, /*open single quote*/
+ tokenRight1Quote = 50, /*close single quote*/
+ token2Quote = 51, /*double quote*/
+ token1Quote = 52, /*single quote*/
+ tokenSemicolon = 53,
+ tokenPercent = 54,
+ tokenCaret = 55,
+ tokenUnderline = 56,
+ tokenAmpersand = 57,
+ tokenAtSign = 58,
+ tokenBar = 59 /*vertical bar*/
+};
+
+enum {
+ tokenQuestion = 60,
+ tokenPi = 61, /*lower-case pi*/
+ tokenRoot = 62, /*square root symbol*/
+ tokenSigma = 63, /*capital sigma*/
+ tokenIntegral = 64, /*integral sign*/
+ tokenMicro = 65,
+ tokenCapPi = 66, /*capital pi*/
+ tokenInfinity = 67,
+ tokenColon = 68,
+ tokenHash = 69, /*e.g. #*/
+ tokenDollar = 70,
+ tokenNoBreakSpace = 71, /*non-breaking space*/
+ tokenFraction = 72,
+ tokenIntlCurrency = 73,
+ tokenLeftSingGuillemet = 74,
+ tokenRightSingGuillemet = 75,
+ tokenPerThousand = 76,
+ tokenEllipsis = 77,
+ tokenCenterDot = 78,
+ tokenNil = 127
+};
+
+enum {
+ delimPad = -2, /* obsolete, misspelled token names kept for backward compatibility */
+ tokenTilda = 44,
+ tokenCarat = 55
+};
+
+enum {
+ /* Table selectors for GetItlTable */
+ smWordSelectTable = 0, /* get word select break table from 'itl2' */
+ smWordWrapTable = 1, /* get word wrap break table from 'itl2' */
+ smNumberPartsTable = 2, /* get default number parts table from 'itl4' */
+ smUnTokenTable = 3, /* get unToken table from 'itl4' */
+ smWhiteSpaceList = 4, /* get white space list from 'itl4' */
+ iuWordSelectTable = 0, /* <obsolete> get word select break table from 'itl2' */
+ iuWordWrapTable = 1, /* <obsolete> get word wrap break table from 'itl2' */
+ iuNumberPartsTable = 2, /* <obsolete> get default number parts table from 'itl4' */
+ iuUnTokenTable = 3, /* <obsolete> get unToken table from 'itl4' */
+ iuWhiteSpaceList = 4 /* <obsolete> get white space list from 'itl4' */
+};
+
+/* end of stuff moved from Packages.h */
+enum {
+ tokenOK = 0, /* TokenResults */
+ tokenOverflow = 1, /* TokenResults */
+ stringOverflow = 2, /* TokenResults */
+ badDelim = 3, /* TokenResults */
+ badEnding = 4, /* TokenResults */
+ crash = 5 /* TokenResults */
+};
+
+typedef SInt8 TokenResults;
+typedef char CharByteTable[256];
+/* "TokenType" was renamed to "ScriptTokenType" because of a name collisions*/
+typedef short ScriptTokenType;
#if TARGET_OS_MAC
- typedef ScriptTokenType TokenType;
+typedef ScriptTokenType TokenType;
#endif /* TARGET_OS_MAC */
- typedef ScriptTokenType DelimType[2];
- typedef ScriptTokenType CommentType[4];
- struct TokenRec
- {
- ScriptTokenType theToken;
- Ptr position; /*pointer into original source*/
- long length; /*length of text in original source*/
- StringPtr stringPosition; /*Pascal/C string copy of identifier*/
- };
- typedef struct TokenRec TokenRec;
- typedef TokenRec * TokenRecPtr;
- struct TokenBlock
- {
- Ptr source; /*pointer to stream of characters*/
- long sourceLength; /*length of source stream*/
- Ptr tokenList; /*pointer to array of tokens*/
- long tokenLength; /*maximum length of TokenList*/
- long tokenCount; /*number tokens generated by tokenizer*/
- Ptr stringList; /*pointer to stream of identifiers*/
- long stringLength; /*length of string list*/
- long stringCount; /*number of bytes currently used*/
- Boolean doString; /*make strings & put into StringList*/
- Boolean doAppend; /*append to TokenList rather than replace*/
- Boolean doAlphanumeric; /*identifiers may include numeric*/
- Boolean doNest; /*do comments nest?*/
- ScriptTokenType leftDelims[2];
- ScriptTokenType rightDelims[2];
- ScriptTokenType leftComment[4];
- ScriptTokenType rightComment[4];
- ScriptTokenType escapeCode; /*escape symbol code*/
- ScriptTokenType decimalCode;
- Handle itlResource; /*handle to itl4 resource of current script*/
- long reserved[8]; /*must be zero!*/
- };
- typedef struct TokenBlock TokenBlock;
- typedef TokenBlock * TokenBlockPtr;
- /*
- * GetSysDirection()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetSysDirection(void) TWOWORDINLINE(0x3EB8, 0x0BAC);
-
-
- /*
- * SetSysDirection()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetSysDirection(short value) TWOWORDINLINE(0x31DF, 0x0BAC);
-
-
- /*
- * FontScript()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- FontScript(void) FOURWORDINLINE(0x2F3C, 0x8200, 0x0000, 0xA8B5);
-
-
- /*
- * IntlScript()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- IntlScript(void) FOURWORDINLINE(0x2F3C, 0x8200, 0x0002, 0xA8B5);
-
-
- /*
- * FontToScript()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- FontToScript(short fontNumber) FOURWORDINLINE(0x2F3C, 0x8202, 0x0006, 0xA8B5);
-
-
- /*
- * GetScriptManagerVariable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GetScriptManagerVariable(short selector) FOURWORDINLINE(0x2F3C, 0x8402, 0x0008, 0xA8B5);
-
-
- /*
- * SetScriptManagerVariable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetScriptManagerVariable(
- short selector,
- long param) FOURWORDINLINE(0x2F3C, 0x8206, 0x000A, 0xA8B5);
-
-
- /*
- * GetScriptVariable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- GetScriptVariable(
- short script,
- short selector) FOURWORDINLINE(0x2F3C, 0x8404, 0x000C, 0xA8B5);
-
-
- /*
- * SetScriptVariable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetScriptVariable(
- short script,
- short selector,
- long param) FOURWORDINLINE(0x2F3C, 0x8208, 0x000E, 0xA8B5);
-
-
- /*
- * CharacterByteType()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- CharacterByteType(
- Ptr textBuf,
- short textOffset,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC206, 0x0010, 0xA8B5);
-
-
- /*
- * CharacterType()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- CharacterType(
- Ptr textBuf,
- short textOffset,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC206, 0x0012, 0xA8B5);
-
-
- /*
- * TransliterateText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- TransliterateText(
- Handle srcHandle,
- Handle dstHandle,
- short target,
- long srcMask,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC20E, 0x0018, 0xA8B5);
-
-
- /*
- * FillParseTable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- FillParseTable(
- CharByteTable table,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC204, 0x0022, 0xA8B5);
-
-
- /*
- * GetIntlResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- GetIntlResource(short theID) THREEWORDINLINE(0x3F3C, 0x0006, 0xA9ED);
-
-
- /*
- * ClearIntlResourceCache()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- ClearIntlResourceCache(void) THREEWORDINLINE(0x3F3C, 0x0018, 0xA9ED);
-
-
- /*
- * GetIntlResourceTable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetIntlResourceTable(
- ScriptCode script,
- short tableCode,
- Handle * itlHandle,
- long * offset,
- long * length) THREEWORDINLINE(0x3F3C, 0x0024, 0xA9ED);
+typedef ScriptTokenType DelimType[2];
+typedef ScriptTokenType CommentType[4];
+struct TokenRec {
+ ScriptTokenType theToken;
+ Ptr position; /*pointer into original source*/
+ long length; /*length of text in original source*/
+ StringPtr stringPosition; /*Pascal/C string copy of identifier*/
+};
+typedef struct TokenRec TokenRec;
+typedef TokenRec * TokenRecPtr;
+struct TokenBlock {
+ Ptr source; /*pointer to stream of characters*/
+ long sourceLength; /*length of source stream*/
+ Ptr tokenList; /*pointer to array of tokens*/
+ long tokenLength; /*maximum length of TokenList*/
+ long tokenCount; /*number tokens generated by tokenizer*/
+ Ptr stringList; /*pointer to stream of identifiers*/
+ long stringLength; /*length of string list*/
+ long stringCount; /*number of bytes currently used*/
+ Boolean doString; /*make strings & put into StringList*/
+ Boolean doAppend; /*append to TokenList rather than replace*/
+ Boolean doAlphanumeric; /*identifiers may include numeric*/
+ Boolean doNest; /*do comments nest?*/
+ ScriptTokenType leftDelims[2];
+ ScriptTokenType rightDelims[2];
+ ScriptTokenType leftComment[4];
+ ScriptTokenType rightComment[4];
+ ScriptTokenType escapeCode; /*escape symbol code*/
+ ScriptTokenType decimalCode;
+ Handle itlResource; /*handle to itl4 resource of current script*/
+ long reserved[8]; /*must be zero!*/
+};
+typedef struct TokenBlock TokenBlock;
+typedef TokenBlock * TokenBlockPtr;
+/*
+ * GetSysDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetSysDirection(void) TWOWORDINLINE(0x3EB8, 0x0BAC);
+
+
+/*
+ * SetSysDirection()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetSysDirection(short value) TWOWORDINLINE(0x31DF, 0x0BAC);
+
+
+/*
+ * FontScript()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+FontScript(void) FOURWORDINLINE(0x2F3C, 0x8200, 0x0000, 0xA8B5);
+
+
+/*
+ * IntlScript()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+IntlScript(void) FOURWORDINLINE(0x2F3C, 0x8200, 0x0002, 0xA8B5);
+
+
+/*
+ * FontToScript()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+FontToScript(short fontNumber) FOURWORDINLINE(0x2F3C, 0x8202, 0x0006, 0xA8B5);
+
+
+/*
+ * GetScriptManagerVariable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GetScriptManagerVariable(short selector) FOURWORDINLINE(0x2F3C, 0x8402, 0x0008, 0xA8B5);
+
+
+/*
+ * SetScriptManagerVariable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetScriptManagerVariable(
+ short selector,
+ long param) FOURWORDINLINE(0x2F3C, 0x8206, 0x000A, 0xA8B5);
+
+
+/*
+ * GetScriptVariable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+GetScriptVariable(
+ short script,
+ short selector) FOURWORDINLINE(0x2F3C, 0x8404, 0x000C, 0xA8B5);
+
+
+/*
+ * SetScriptVariable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetScriptVariable(
+ short script,
+ short selector,
+ long param) FOURWORDINLINE(0x2F3C, 0x8208, 0x000E, 0xA8B5);
+
+
+/*
+ * CharacterByteType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+CharacterByteType(
+ Ptr textBuf,
+ short textOffset,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC206, 0x0010, 0xA8B5);
+
+
+/*
+ * CharacterType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+CharacterType(
+ Ptr textBuf,
+ short textOffset,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC206, 0x0012, 0xA8B5);
+
+
+/*
+ * TransliterateText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TransliterateText(
+ Handle srcHandle,
+ Handle dstHandle,
+ short target,
+ long srcMask,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC20E, 0x0018, 0xA8B5);
+
+
+/*
+ * FillParseTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+FillParseTable(
+ CharByteTable table,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC204, 0x0022, 0xA8B5);
+
+
+/*
+ * GetIntlResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+GetIntlResource(short theID) THREEWORDINLINE(0x3F3C, 0x0006, 0xA9ED);
+
+
+/*
+ * ClearIntlResourceCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+ClearIntlResourceCache(void) THREEWORDINLINE(0x3F3C, 0x0018, 0xA9ED);
+
+
+/*
+ * GetIntlResourceTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetIntlResourceTable(
+ ScriptCode script,
+ short tableCode,
+ Handle * itlHandle,
+ long * offset,
+ long * length) THREEWORDINLINE(0x3F3C, 0x0024, 0xA9ED);
#if CALL_NOT_IN_CARBON
- /*
- * GetScriptUtilityAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr)
- GetScriptUtilityAddress(
- short selector,
- Boolean Before,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC404, 0x0038, 0xA8B5);
-
-
- /*
- * SetScriptUtilityAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetScriptUtilityAddress(
- short selector,
- Boolean Before,
- UniversalProcPtr routineAddr,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC008, 0x003A, 0xA8B5);
-
-
- /*
- * GetScriptQDPatchAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(UniversalProcPtr)
- GetScriptQDPatchAddress(
- short trapNum,
- Boolean Before,
- Boolean forPrinting,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC406, 0x003C, 0xA8B5);
-
-
- /*
- * SetScriptQDPatchAddress()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetScriptQDPatchAddress(
- short trapNum,
- Boolean Before,
- Boolean forPrinting,
- UniversalProcPtr routineAddr,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC00A, 0x003E, 0xA8B5);
-
-
- /*
- * SetIntlResource()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetIntlResource(
- short refNum,
- short theID,
- Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0008, 0xA9ED);
-
-
- /*
- * CharByte()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- CharByte(
- Ptr textBuf,
- short textOffset) FOURWORDINLINE(0x2F3C, 0x8206, 0x0010, 0xA8B5);
-
-
- /*
- * CharType()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- CharType(
- Ptr textBuf,
- short textOffset) FOURWORDINLINE(0x2F3C, 0x8206, 0x0012, 0xA8B5);
-
-
- /*
- * Transliterate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- Transliterate(
- Handle srcHandle,
- Handle dstHandle,
- short target,
- long srcMask) FOURWORDINLINE(0x2F3C, 0x820E, 0x0018, 0xA8B5);
-
-
- /*
- * ParseTable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- ParseTable(CharByteTable table) FOURWORDINLINE(0x2F3C, 0x8204, 0x0022, 0xA8B5);
+/*
+ * GetScriptUtilityAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr )
+GetScriptUtilityAddress(
+ short selector,
+ Boolean Before,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC404, 0x0038, 0xA8B5);
+
+
+/*
+ * SetScriptUtilityAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetScriptUtilityAddress(
+ short selector,
+ Boolean Before,
+ UniversalProcPtr routineAddr,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC008, 0x003A, 0xA8B5);
+
+
+/*
+ * GetScriptQDPatchAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( UniversalProcPtr )
+GetScriptQDPatchAddress(
+ short trapNum,
+ Boolean Before,
+ Boolean forPrinting,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC406, 0x003C, 0xA8B5);
+
+
+/*
+ * SetScriptQDPatchAddress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetScriptQDPatchAddress(
+ short trapNum,
+ Boolean Before,
+ Boolean forPrinting,
+ UniversalProcPtr routineAddr,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC00A, 0x003E, 0xA8B5);
+
+
+/*
+ * SetIntlResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetIntlResource(
+ short refNum,
+ short theID,
+ Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0008, 0xA9ED);
+
+
+/*
+ * CharByte()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+CharByte(
+ Ptr textBuf,
+ short textOffset) FOURWORDINLINE(0x2F3C, 0x8206, 0x0010, 0xA8B5);
+
+
+/*
+ * CharType()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+CharType(
+ Ptr textBuf,
+ short textOffset) FOURWORDINLINE(0x2F3C, 0x8206, 0x0012, 0xA8B5);
+
+
+/*
+ * Transliterate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+Transliterate(
+ Handle srcHandle,
+ Handle dstHandle,
+ short target,
+ long srcMask) FOURWORDINLINE(0x2F3C, 0x820E, 0x0018, 0xA8B5);
+
+
+/*
+ * ParseTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+ParseTable(CharByteTable table) FOURWORDINLINE(0x2F3C, 0x8204, 0x0022, 0xA8B5);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * IntlTokenize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TokenResults)
- IntlTokenize(TokenBlockPtr tokenParam) FOURWORDINLINE(0x2F3C, 0x8204, 0xFFFA, 0xA8B5);
+/*
+ * IntlTokenize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TokenResults )
+IntlTokenize(TokenBlockPtr tokenParam) FOURWORDINLINE(0x2F3C, 0x8204, 0xFFFA, 0xA8B5);
#if OLDROUTINENAMES
@@ -1443,7 +1391,7 @@ extern "C" {
#define SetEnvirons(verb, param) SetScriptManagerVariable(verb, param)
#define GetScript(script, verb) GetScriptVariable(script, verb)
#define SetScript(script, verb, param) SetScriptVariable(script, verb, param)
-#define IUGetIntl(theID) GetIntlResource(theID)
+#define IUGetIntl(theID) GetIntlResource(theID)
#define IUSetIntl(refNum, theID, intlHandle) SetIntlResource(refNum, theID, intlHandle)
#define IUClearCache() ClearIntlResourceCache()
#define IUGetItlTable(script, tableCode, itlHandle, offset, length) \
@@ -1453,11 +1401,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/SecurityCore.h b/include/qt/SecurityCore.h
index d5b85b6b2..f088c90a0 100644
--- a/include/qt/SecurityCore.h
+++ b/include/qt/SecurityCore.h
@@ -1,17 +1,17 @@
/*
File: SecurityCore.h
-
+
Contains: Master include for SecurityCore private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SECURITYCORE__
#define __SECURITYCORE__
diff --git a/include/qt/SecurityHI.h b/include/qt/SecurityHI.h
index 9850f8196..23523fac0 100644
--- a/include/qt/SecurityHI.h
+++ b/include/qt/SecurityHI.h
@@ -1,17 +1,17 @@
/*
File: SecurityHI.h
-
+
Contains: Master include for SecurityHI private framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SECURITYHI__
#define __SECURITYHI__
diff --git a/include/qt/SegLoad.h b/include/qt/SegLoad.h
index 297dcfe45..d262547b1 100644
--- a/include/qt/SegLoad.h
+++ b/include/qt/SegLoad.h
@@ -1,18 +1,18 @@
/*
File: SegLoad.h
-
+
Contains: Segment Loader Interfaces.
-
+
Version: Technology: Mac OS 8
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-1999 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 __SEGLOAD__
#define __SEGLOAD__
@@ -37,131 +37,130 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if TARGET_CPU_68K && !TARGET_RT_MAC_CFM || !TARGET_OS_MAC
- /*
- CountAppFiles, GetAppFiles, ClrAppFiles, GetAppParms, getappparms,
- and the AppFile data structure and enums are obsolete.
- They are still supported for writing old style 68K apps,
- but they are not supported for CFM-based apps.
- Use AppleEvents to determine which files are to be
- opened or printed from the Finder.
- */
- enum {
- appOpen = 0, /*Open the Document (s)*/
- appPrint = 1 /*Print the Document (s)*/
- };
-
- struct AppFile
- {
- short vRefNum;
- OSType fType;
- short versNum; /*versNum in high byte*/
- Str255 fName;
- };
- typedef struct AppFile AppFile;
+/*
+ CountAppFiles, GetAppFiles, ClrAppFiles, GetAppParms, getappparms,
+ and the AppFile data structure and enums are obsolete.
+ They are still supported for writing old style 68K apps,
+ but they are not supported for CFM-based apps.
+ Use AppleEvents to determine which files are to be
+ opened or printed from the Finder.
+*/
+enum {
+ appOpen = 0, /*Open the Document (s)*/
+ appPrint = 1 /*Print the Document (s)*/
+};
+
+struct AppFile {
+ short vRefNum;
+ OSType fType;
+ short versNum; /*versNum in high byte*/
+ Str255 fName;
+};
+typedef struct AppFile AppFile;
#if CALL_NOT_IN_CARBON
- /*
- * CountAppFiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CountAppFiles(
- short * message,
- short * count);
-
-
- /*
- * GetAppFiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- GetAppFiles(
- short index,
- AppFile * theFile);
-
-
- /*
- * ClrAppFiles()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- ClrAppFiles(short index);
-
-
- /*
- * GetAppParms()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- GetAppParms(
- Str255 apName,
- short * apRefNum,
- Handle * apParam) ONEWORDINLINE(0xA9F5);
+/*
+ * CountAppFiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CountAppFiles(
+ short * message,
+ short * count);
+
+
+/*
+ * GetAppFiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+GetAppFiles(
+ short index,
+ AppFile * theFile);
+
+
+/*
+ * ClrAppFiles()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+ClrAppFiles(short index);
+
+
+/*
+ * GetAppParms()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+GetAppParms(
+ Str255 apName,
+ short * apRefNum,
+ Handle * apParam) ONEWORDINLINE(0xA9F5);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * getappparms()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getappparms(
- char * apName,
- short * apRefNum,
- Handle * apParam);
+/*
+ * getappparms()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getappparms(
+ char * apName,
+ short * apRefNum,
+ Handle * apParam);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_CPU_68K && !TARGET_RT_MAC_CFM || !TARGET_OS_MAC */
-
- /*
- Because PowerPC applications don't have segments.
- But, in order to allow applications to not have conditionalized
- source code, UnloadSeg is macro'ed away for PowerPC.
- */
+
+/*
+ Because PowerPC applications don't have segments.
+ But, in order to allow applications to not have conditionalized
+ source code, UnloadSeg is macro'ed away for PowerPC.
+*/
#if TARGET_CPU_68K
#if CALL_NOT_IN_CARBON
- /*
- * UnloadSeg()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- UnloadSeg(void * routineAddr) ONEWORDINLINE(0xA9F1);
+/*
+ * UnloadSeg()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+UnloadSeg(void * routineAddr) ONEWORDINLINE(0xA9F1);
#endif /* CALL_NOT_IN_CARBON */
@@ -170,18 +169,18 @@ extern "C" {
#define UnloadSeg(x)
#endif /* TARGET_CPU_68K */
- /* ExitToShell() has moved to Process.h*/
+/* ExitToShell() has moved to Process.h*/
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Slots.h b/include/qt/Slots.h
index d0dcc46a1..ac3a73373 100644
--- a/include/qt/Slots.h
+++ b/include/qt/Slots.h
@@ -1,18 +1,18 @@
/*
File: Slots.h
-
+
Contains: Slot Manager Interfaces.
-
+
Version: Technology: System 7.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1986-1993, 1995-1999 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 __SLOTS__
#define __SLOTS__
@@ -45,975 +45,956 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- enum {
- fCardIsChanged = 1, /*Card is Changed field in StatusFlags field of sInfoArray*/
- fCkForSame = 0, /*For SearchSRT. Flag to check for SAME sResource in the table. */
- fCkForNext = 1, /*For SearchSRT. Flag to check for NEXT sResource in the table. */
- fWarmStart = 2 /*If this bit is set then warm start else cold start.*/
- };
-
- enum
- {
- stateNil = 0, /*State*/
- stateSDMInit = 1, /*:Slot declaration manager Init*/
- statePRAMInit = 2, /*:sPRAM record init*/
- statePInit = 3, /*:Primary init*/
- stateSInit = 4 /*:Secondary init*/
- };
-
- enum
- {
- /* flags for spParamData */
- fall = 0, /* bit 0: set=search enabled/disabled sRsrc's */
- foneslot = 1, /* 1: set=search sRsrc's in given slot only */
- fnext = 2 /* 2: set=search for next sRsrc */
- };
-
- enum
- {
- /* Misc masks */
- catMask = 0x08, /* sets spCategory field of spTBMask (bit 3) */
- cTypeMask = 0x04, /* sets spCType field of spTBMask (bit 2) */
- drvrSWMask = 0x02, /* sets spDrvrSW field of spTBMask (bit 1) */
- drvrHWMask = 0x01 /* sets spDrvrHW field of spTBMask (bit 0) */
- };
-
- typedef CALLBACK_API_REGISTER68K(short , SlotIntServiceProcPtr, (long sqParameter));
- typedef REGISTER_UPP_TYPE(SlotIntServiceProcPtr) SlotIntServiceUPP;
+ #pragma pack(2)
+#endif
+
+enum {
+ fCardIsChanged = 1, /*Card is Changed field in StatusFlags field of sInfoArray*/
+ fCkForSame = 0, /*For SearchSRT. Flag to check for SAME sResource in the table. */
+ fCkForNext = 1, /*For SearchSRT. Flag to check for NEXT sResource in the table. */
+ fWarmStart = 2 /*If this bit is set then warm start else cold start.*/
+};
+
+enum {
+ stateNil = 0, /*State*/
+ stateSDMInit = 1, /*:Slot declaration manager Init*/
+ statePRAMInit = 2, /*:sPRAM record init*/
+ statePInit = 3, /*:Primary init*/
+ stateSInit = 4 /*:Secondary init*/
+};
+
+enum {
+ /* flags for spParamData */
+ fall = 0, /* bit 0: set=search enabled/disabled sRsrc's */
+ foneslot = 1, /* 1: set=search sRsrc's in given slot only */
+ fnext = 2 /* 2: set=search for next sRsrc */
+};
+
+enum {
+ /* Misc masks */
+ catMask = 0x08, /* sets spCategory field of spTBMask (bit 3) */
+ cTypeMask = 0x04, /* sets spCType field of spTBMask (bit 2) */
+ drvrSWMask = 0x02, /* sets spDrvrSW field of spTBMask (bit 1) */
+ drvrHWMask = 0x01 /* sets spDrvrHW field of spTBMask (bit 0) */
+};
+
+typedef CALLBACK_API_REGISTER68K( short , SlotIntServiceProcPtr, (long sqParameter) );
+typedef REGISTER_UPP_TYPE(SlotIntServiceProcPtr) SlotIntServiceUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewSlotIntServiceUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SlotIntServiceUPP)
- NewSlotIntServiceUPP(SlotIntServiceProcPtr userRoutine);
+/*
+ * NewSlotIntServiceUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SlotIntServiceUPP )
+NewSlotIntServiceUPP(SlotIntServiceProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSlotIntServiceProcInfo = 0x0000B822 }; /* register 2_bytes:D0 Func(4_bytes:A1) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SlotIntServiceUPP) NewSlotIntServiceUPP(SlotIntServiceProcPtr userRoutine)
- {
- return (SlotIntServiceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSlotIntServiceProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSlotIntServiceUPP(userRoutine) (SlotIntServiceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSlotIntServiceProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSlotIntServiceProcInfo = 0x0000B822 }; /* register 2_bytes:D0 Func(4_bytes:A1) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SlotIntServiceUPP) NewSlotIntServiceUPP(SlotIntServiceProcPtr userRoutine) { return (SlotIntServiceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSlotIntServiceProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSlotIntServiceUPP(userRoutine) (SlotIntServiceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSlotIntServiceProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeSlotIntServiceUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSlotIntServiceUPP(SlotIntServiceUPP userUPP);
+/*
+ * DisposeSlotIntServiceUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSlotIntServiceUPP(SlotIntServiceUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSlotIntServiceUPP(SlotIntServiceUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSlotIntServiceUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSlotIntServiceUPP(SlotIntServiceUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSlotIntServiceUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeSlotIntServiceUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InvokeSlotIntServiceUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InvokeSlotIntServiceUPP(__A1, __A0)
#endif
- EXTERN_API_C(short)
- InvokeSlotIntServiceUPP(
- long sqParameter,
- SlotIntServiceUPP userUPP) ONEWORDINLINE(0x4E90);
+EXTERN_API_C( short )
+InvokeSlotIntServiceUPP(
+ long sqParameter,
+ SlotIntServiceUPP userUPP) ONEWORDINLINE(0x4E90);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(short) InvokeSlotIntServiceUPP(long sqParameter, SlotIntServiceUPP userUPP)
- {
- return (short)CALL_ONE_PARAMETER_UPP(userUPP, uppSlotIntServiceProcInfo, sqParameter);
- }
-#else
-#define InvokeSlotIntServiceUPP(sqParameter, userUPP) (short)CALL_ONE_PARAMETER_UPP((userUPP), uppSlotIntServiceProcInfo, (sqParameter))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(short) InvokeSlotIntServiceUPP(long sqParameter, SlotIntServiceUPP userUPP) { return (short)CALL_ONE_PARAMETER_UPP(userUPP, uppSlotIntServiceProcInfo, sqParameter); }
+ #else
+ #define InvokeSlotIntServiceUPP(sqParameter, userUPP) (short)CALL_ONE_PARAMETER_UPP((userUPP), uppSlotIntServiceProcInfo, (sqParameter))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSlotIntServiceProc(userRoutine) NewSlotIntServiceUPP(userRoutine)
-#define CallSlotIntServiceProc(userRoutine, sqParameter) InvokeSlotIntServiceUPP(sqParameter, userRoutine)
+ #define NewSlotIntServiceProc(userRoutine) NewSlotIntServiceUPP(userRoutine)
+ #define CallSlotIntServiceProc(userRoutine, sqParameter) InvokeSlotIntServiceUPP(sqParameter, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- struct SlotIntQElement
- {
- Ptr sqLink; /*ptr to next element*/
- short sqType; /*queue type ID for validity*/
- short sqPrio; /*priority*/
- SlotIntServiceUPP sqAddr; /*interrupt service routine*/
- long sqParm; /*optional A1 parameter*/
- };
- typedef struct SlotIntQElement SlotIntQElement;
- typedef SlotIntQElement * SQElemPtr;
- struct SpBlock
- {
- long spResult; /*FUNCTION Result*/
- Ptr spsPointer; /*structure pointer*/
- long spSize; /*size of structure*/
- long spOffsetData; /*offset/data field used by sOffsetData*/
- Ptr spIOFileName; /*ptr to IOFile name for sDisDrvrName*/
- Ptr spsExecPBlk; /*pointer to sExec parameter block.*/
- long spParamData; /*misc parameter data (formerly spStackPtr).*/
- long spMisc; /*misc field for SDM.*/
- long spReserved; /*reserved for future expansion*/
- short spIOReserved; /*Reserved field of Slot Resource Table*/
- short spRefNum; /*RefNum*/
- short spCategory; /*sType: Category*/
- short spCType; /*Type*/
- short spDrvrSW; /*DrvrSW*/
- short spDrvrHW; /*DrvrHW*/
- SInt8 spTBMask; /*type bit mask bits 0..3 mask words 0..3*/
- SInt8 spSlot; /*slot number*/
- SInt8 spID; /*structure ID*/
- SInt8 spExtDev; /*ID of the external device*/
- SInt8 spHwDev; /*Id of the hardware device.*/
- SInt8 spByteLanes; /*bytelanes from card ROM format block*/
- SInt8 spFlags; /*standard flags*/
- SInt8 spKey; /*Internal use only*/
- };
- typedef struct SpBlock SpBlock;
- typedef SpBlock * SpBlockPtr;
- struct SInfoRecord
- {
- Ptr siDirPtr; /*Pointer to directory*/
- short siInitStatusA; /*initialization E*/
- short siInitStatusV; /*status returned by vendor init code*/
- SInt8 siState; /*initialization state*/
- SInt8 siCPUByteLanes; /*0=[d0..d7] 1=[d8..d15]*/
- SInt8 siTopOfROM; /*Top of ROM= $FssFFFFx: x is TopOfROM*/
- SInt8 siStatusFlags; /*bit 0 - card is changed*/
- short siTOConst; /*Time Out C for BusErr*/
- SInt8 siReserved[2]; /*reserved*/
- Ptr siROMAddr; /* addr of top of ROM */
- SInt8 siSlot; /* slot number */
- SInt8 siPadding[3]; /* reserved */
- };
- typedef struct SInfoRecord SInfoRecord;
- typedef SInfoRecord * SInfoRecPtr;
- struct SDMRecord
- {
- ProcPtr sdBEVSave; /*Save old BusErr vector*/
- ProcPtr sdBusErrProc; /*Go here to determine if it is a BusErr*/
- ProcPtr sdErrorEntry; /*Go here if BusErrProc finds real BusErr*/
- long sdReserved; /*Reserved*/
- };
- typedef struct SDMRecord SDMRecord;
- struct FHeaderRec
- {
- long fhDirOffset; /*offset to directory*/
- long fhLength; /*length of ROM*/
- long fhCRC; /*CRC*/
- SInt8 fhROMRev; /*revision of ROM*/
- SInt8 fhFormat; /*format - 2*/
- long fhTstPat; /*test pattern*/
- SInt8 fhReserved; /*reserved*/
- SInt8 fhByteLanes; /*ByteLanes*/
- };
- typedef struct FHeaderRec FHeaderRec;
- typedef FHeaderRec * FHeaderRecPtr;
- /*
-
- Extended Format header block - extended declaration ROM format header for super sRsrc directories. <H2><SM0>
-
- */
-
- struct XFHeaderRec
- {
- long fhXSuperInit; /*Offset to SuperInit SExecBlock <fhFormat,offset>*/
- long fhXSDirOffset; /*Offset to SuperDirectory <$FE,offset>*/
- long fhXEOL; /*Psuedo end-of-list <$FF,nil>*/
- long fhXSTstPat; /*TestPattern*/
- long fhXDirOffset; /*Offset to (minimal) directory*/
- long fhXLength; /*Length of ROM*/
- long fhXCRC; /*CRC*/
- SInt8 fhXROMRev; /*Revision of ROM*/
- SInt8 fhXFormat; /*Format-2*/
- long fhXTstPat; /*TestPattern*/
- SInt8 fhXReserved; /*Reserved*/
- SInt8 fhXByteLanes; /*ByteLanes*/
- };
- typedef struct XFHeaderRec XFHeaderRec;
- typedef XFHeaderRec * XFHeaderRecPtr;
- struct SEBlock
- {
- UInt8 seSlot; /*Slot number.*/
- UInt8 sesRsrcId; /*sResource Id.*/
- short seStatus; /*Status of code executed by sExec.*/
- UInt8 seFlags; /*Flags*/
- UInt8 seFiller0; /*Filler, must be SignedByte to align on odd boundry*/
- UInt8 seFiller1; /*Filler*/
- UInt8 seFiller2; /*Filler*/
- long seResult; /*Result of sLoad.*/
- long seIOFileName; /*Pointer to IOFile name.*/
- UInt8 seDevice; /*Which device to read from.*/
- UInt8 sePartition; /*The partition.*/
- UInt8 seOSType; /*Type of OS.*/
- UInt8 seReserved; /*Reserved field.*/
- UInt8 seRefNum; /*RefNum of the driver.*/
- UInt8 seNumDevices; /* Number of devices to load.*/
- UInt8 seBootState; /*State of StartBoot code.*/
- SInt8 filler;
- };
- typedef struct SEBlock SEBlock;
- /* Principle */
+struct SlotIntQElement {
+ Ptr sqLink; /*ptr to next element*/
+ short sqType; /*queue type ID for validity*/
+ short sqPrio; /*priority*/
+ SlotIntServiceUPP sqAddr; /*interrupt service routine*/
+ long sqParm; /*optional A1 parameter*/
+};
+typedef struct SlotIntQElement SlotIntQElement;
+typedef SlotIntQElement * SQElemPtr;
+struct SpBlock {
+ long spResult; /*FUNCTION Result*/
+ Ptr spsPointer; /*structure pointer*/
+ long spSize; /*size of structure*/
+ long spOffsetData; /*offset/data field used by sOffsetData*/
+ Ptr spIOFileName; /*ptr to IOFile name for sDisDrvrName*/
+ Ptr spsExecPBlk; /*pointer to sExec parameter block.*/
+ long spParamData; /*misc parameter data (formerly spStackPtr).*/
+ long spMisc; /*misc field for SDM.*/
+ long spReserved; /*reserved for future expansion*/
+ short spIOReserved; /*Reserved field of Slot Resource Table*/
+ short spRefNum; /*RefNum*/
+ short spCategory; /*sType: Category*/
+ short spCType; /*Type*/
+ short spDrvrSW; /*DrvrSW*/
+ short spDrvrHW; /*DrvrHW*/
+ SInt8 spTBMask; /*type bit mask bits 0..3 mask words 0..3*/
+ SInt8 spSlot; /*slot number*/
+ SInt8 spID; /*structure ID*/
+ SInt8 spExtDev; /*ID of the external device*/
+ SInt8 spHwDev; /*Id of the hardware device.*/
+ SInt8 spByteLanes; /*bytelanes from card ROM format block*/
+ SInt8 spFlags; /*standard flags*/
+ SInt8 spKey; /*Internal use only*/
+};
+typedef struct SpBlock SpBlock;
+typedef SpBlock * SpBlockPtr;
+struct SInfoRecord {
+ Ptr siDirPtr; /*Pointer to directory*/
+ short siInitStatusA; /*initialization E*/
+ short siInitStatusV; /*status returned by vendor init code*/
+ SInt8 siState; /*initialization state*/
+ SInt8 siCPUByteLanes; /*0=[d0..d7] 1=[d8..d15]*/
+ SInt8 siTopOfROM; /*Top of ROM= $FssFFFFx: x is TopOfROM*/
+ SInt8 siStatusFlags; /*bit 0 - card is changed*/
+ short siTOConst; /*Time Out C for BusErr*/
+ SInt8 siReserved[2]; /*reserved*/
+ Ptr siROMAddr; /* addr of top of ROM */
+ SInt8 siSlot; /* slot number */
+ SInt8 siPadding[3]; /* reserved */
+};
+typedef struct SInfoRecord SInfoRecord;
+typedef SInfoRecord * SInfoRecPtr;
+struct SDMRecord {
+ ProcPtr sdBEVSave; /*Save old BusErr vector*/
+ ProcPtr sdBusErrProc; /*Go here to determine if it is a BusErr*/
+ ProcPtr sdErrorEntry; /*Go here if BusErrProc finds real BusErr*/
+ long sdReserved; /*Reserved*/
+};
+typedef struct SDMRecord SDMRecord;
+struct FHeaderRec {
+ long fhDirOffset; /*offset to directory*/
+ long fhLength; /*length of ROM*/
+ long fhCRC; /*CRC*/
+ SInt8 fhROMRev; /*revision of ROM*/
+ SInt8 fhFormat; /*format - 2*/
+ long fhTstPat; /*test pattern*/
+ SInt8 fhReserved; /*reserved*/
+ SInt8 fhByteLanes; /*ByteLanes*/
+};
+typedef struct FHeaderRec FHeaderRec;
+typedef FHeaderRec * FHeaderRecPtr;
+/*
+
+ Extended Format header block - extended declaration ROM format header for super sRsrc directories. <H2><SM0>
+
+*/
+
+struct XFHeaderRec {
+ long fhXSuperInit; /*Offset to SuperInit SExecBlock <fhFormat,offset>*/
+ long fhXSDirOffset; /*Offset to SuperDirectory <$FE,offset>*/
+ long fhXEOL; /*Psuedo end-of-list <$FF,nil>*/
+ long fhXSTstPat; /*TestPattern*/
+ long fhXDirOffset; /*Offset to (minimal) directory*/
+ long fhXLength; /*Length of ROM*/
+ long fhXCRC; /*CRC*/
+ SInt8 fhXROMRev; /*Revision of ROM*/
+ SInt8 fhXFormat; /*Format-2*/
+ long fhXTstPat; /*TestPattern*/
+ SInt8 fhXReserved; /*Reserved*/
+ SInt8 fhXByteLanes; /*ByteLanes*/
+};
+typedef struct XFHeaderRec XFHeaderRec;
+typedef XFHeaderRec * XFHeaderRecPtr;
+struct SEBlock {
+ UInt8 seSlot; /*Slot number.*/
+ UInt8 sesRsrcId; /*sResource Id.*/
+ short seStatus; /*Status of code executed by sExec.*/
+ UInt8 seFlags; /*Flags*/
+ UInt8 seFiller0; /*Filler, must be SignedByte to align on odd boundry*/
+ UInt8 seFiller1; /*Filler*/
+ UInt8 seFiller2; /*Filler*/
+ long seResult; /*Result of sLoad.*/
+ long seIOFileName; /*Pointer to IOFile name.*/
+ UInt8 seDevice; /*Which device to read from.*/
+ UInt8 sePartition; /*The partition.*/
+ UInt8 seOSType; /*Type of OS.*/
+ UInt8 seReserved; /*Reserved field.*/
+ UInt8 seRefNum; /*RefNum of the driver.*/
+ UInt8 seNumDevices; /* Number of devices to load.*/
+ UInt8 seBootState; /*State of StartBoot code.*/
+ SInt8 filler;
+};
+typedef struct SEBlock SEBlock;
+/* Principle */
#if CALL_NOT_IN_CARBON
- /*
- * SReadByte()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * SReadByte()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadByte(__A0)
#endif
- EXTERN_API(OSErr)
- SReadByte(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7000, 0xA06E);
-
-
- /*
- * SReadWord()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadByte(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7000, 0xA06E);
+
+
+/*
+ * SReadWord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadWord(__A0)
#endif
- EXTERN_API(OSErr)
- SReadWord(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7001, 0xA06E);
-
-
- /*
- * SReadLong()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadWord(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7001, 0xA06E);
+
+
+/*
+ * SReadLong()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadLong(__A0)
#endif
- EXTERN_API(OSErr)
- SReadLong(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7002, 0xA06E);
-
-
- /*
- * SGetCString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadLong(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7002, 0xA06E);
+
+
+/*
+ * SGetCString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SGetCString(__A0)
#endif
- EXTERN_API(OSErr)
- SGetCString(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7003, 0xA06E);
-
-
- /*
- * SGetBlock()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SGetCString(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7003, 0xA06E);
+
+
+/*
+ * SGetBlock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SGetBlock(__A0)
#endif
- EXTERN_API(OSErr)
- SGetBlock(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7005, 0xA06E);
-
-
- /*
- * SFindStruct()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SGetBlock(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7005, 0xA06E);
+
+
+/*
+ * SFindStruct()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SFindStruct(__A0)
#endif
- EXTERN_API(OSErr)
- SFindStruct(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7006, 0xA06E);
-
-
- /*
- * SReadStruct()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SFindStruct(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7006, 0xA06E);
+
+
+/*
+ * SReadStruct()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadStruct(__A0)
#endif
- EXTERN_API(OSErr)
- SReadStruct(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7007, 0xA06E);
-
-
- /* Special */
- /*
- * SReadInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadStruct(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7007, 0xA06E);
+
+
+/* Special */
+/*
+ * SReadInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadInfo(__A0)
#endif
- EXTERN_API(OSErr)
- SReadInfo(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7010, 0xA06E);
-
-
- /*
- * SReadPRAMRec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadInfo(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7010, 0xA06E);
+
+
+/*
+ * SReadPRAMRec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadPRAMRec(__A0)
#endif
- EXTERN_API(OSErr)
- SReadPRAMRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7011, 0xA06E);
-
-
- /*
- * SPutPRAMRec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadPRAMRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7011, 0xA06E);
+
+
+/*
+ * SPutPRAMRec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SPutPRAMRec(__A0)
#endif
- EXTERN_API(OSErr)
- SPutPRAMRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7012, 0xA06E);
-
-
- /*
- * SReadFHeader()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SPutPRAMRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7012, 0xA06E);
+
+
+/*
+ * SReadFHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadFHeader(__A0)
#endif
- EXTERN_API(OSErr)
- SReadFHeader(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7013, 0xA06E);
-
-
- /*
- * SNextSRsrc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadFHeader(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7013, 0xA06E);
+
+
+/*
+ * SNextSRsrc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SNextSRsrc(__A0)
#endif
- EXTERN_API(OSErr)
- SNextSRsrc(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7014, 0xA06E);
-
-
- /*
- * SNextTypeSRsrc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SNextSRsrc(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7014, 0xA06E);
+
+
+/*
+ * SNextTypeSRsrc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SNextTypeSRsrc(__A0)
#endif
- EXTERN_API(OSErr)
- SNextTypeSRsrc(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7015, 0xA06E);
-
-
- /*
- * SRsrcInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SNextTypeSRsrc(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7015, 0xA06E);
+
+
+/*
+ * SRsrcInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SRsrcInfo(__A0)
#endif
- EXTERN_API(OSErr)
- SRsrcInfo(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7016, 0xA06E);
-
-
- /*
- * SDisposePtr()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SRsrcInfo(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7016, 0xA06E);
+
+
+/*
+ * SDisposePtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SDisposePtr(__A0)
#endif
- EXTERN_API(OSErr)
- SDisposePtr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7017, 0xA06E);
-
-
- /*
- * SCkCardStat()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SDisposePtr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7017, 0xA06E);
+
+
+/*
+ * SCkCardStat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCkCardStat(__A0)
#endif
- EXTERN_API(OSErr)
- SCkCardStat(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7018, 0xA06E);
-
-
- /*
- * SReadDrvrName()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SCkCardStat(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7018, 0xA06E);
+
+
+/*
+ * SReadDrvrName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadDrvrName(__A0)
#endif
- EXTERN_API(OSErr)
- SReadDrvrName(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7019, 0xA06E);
-
-
- /*
- * SFindSRTRec()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadDrvrName(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7019, 0xA06E);
+
+
+/*
+ * SFindSRTRec()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SFindSRTRec(__A0)
#endif
- EXTERN_API(OSErr)
- SFindSRTRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x701A, 0xA06E);
-
-
- /*
- * SFindDevBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SFindSRTRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x701A, 0xA06E);
+
+
+/*
+ * SFindDevBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SFindDevBase(__A0)
#endif
- EXTERN_API(OSErr)
- SFindDevBase(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x701B, 0xA06E);
-
-
- /*
- * SFindBigDevBase()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SFindDevBase(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x701B, 0xA06E);
+
+
+/*
+ * SFindBigDevBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SFindBigDevBase(__A0)
#endif
- EXTERN_API(OSErr)
- SFindBigDevBase(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x701C, 0xA06E);
-
-
- /* Advanced */
- /*
- * InitSDeclMgr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SFindBigDevBase(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x701C, 0xA06E);
+
+
+/* Advanced */
+/*
+ * InitSDeclMgr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InitSDeclMgr(__A0)
#endif
- EXTERN_API(OSErr)
- InitSDeclMgr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7020, 0xA06E);
-
-
- /*
- * SPrimaryInit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+InitSDeclMgr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7020, 0xA06E);
+
+
+/*
+ * SPrimaryInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SPrimaryInit(__A0)
#endif
- EXTERN_API(OSErr)
- SPrimaryInit(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7021, 0xA06E);
-
-
- /*
- * SCardChanged()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SPrimaryInit(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7021, 0xA06E);
+
+
+/*
+ * SCardChanged()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCardChanged(__A0)
#endif
- EXTERN_API(OSErr)
- SCardChanged(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7022, 0xA06E);
-
-
- /*
- * SExec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SCardChanged(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7022, 0xA06E);
+
+
+/*
+ * SExec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SExec(__A0)
#endif
- EXTERN_API(OSErr)
- SExec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7023, 0xA06E);
-
-
- /*
- * SOffsetData()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SExec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7023, 0xA06E);
+
+
+/*
+ * SOffsetData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SOffsetData(__A0)
#endif
- EXTERN_API(OSErr)
- SOffsetData(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7024, 0xA06E);
-
-
- /*
- * SInitPRAMRecs()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SOffsetData(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7024, 0xA06E);
+
+
+/*
+ * SInitPRAMRecs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SInitPRAMRecs(__A0)
#endif
- EXTERN_API(OSErr)
- SInitPRAMRecs(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7025, 0xA06E);
-
-
- /*
- * SReadPBSize()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SInitPRAMRecs(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7025, 0xA06E);
+
+
+/*
+ * SReadPBSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SReadPBSize(__A0)
#endif
- EXTERN_API(OSErr)
- SReadPBSize(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7026, 0xA06E);
-
-
- /*
- * SCalcStep()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SReadPBSize(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7026, 0xA06E);
+
+
+/*
+ * SCalcStep()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCalcStep(__A0)
#endif
- EXTERN_API(OSErr)
- SCalcStep(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7028, 0xA06E);
-
-
- /*
- * SInitSRsrcTable()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SCalcStep(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7028, 0xA06E);
+
+
+/*
+ * SInitSRsrcTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SInitSRsrcTable(__A0)
#endif
- EXTERN_API(OSErr)
- SInitSRsrcTable(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7029, 0xA06E);
-
-
- /*
- * SSearchSRT()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SInitSRsrcTable(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7029, 0xA06E);
+
+
+/*
+ * SSearchSRT()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SSearchSRT(__A0)
#endif
- EXTERN_API(OSErr)
- SSearchSRT(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702A, 0xA06E);
-
-
- /*
- * SUpdateSRT()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SSearchSRT(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702A, 0xA06E);
+
+
+/*
+ * SUpdateSRT()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SUpdateSRT(__A0)
#endif
- EXTERN_API(OSErr)
- SUpdateSRT(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702B, 0xA06E);
-
-
- /*
- * SCalcSPointer()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SUpdateSRT(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702B, 0xA06E);
+
+
+/*
+ * SCalcSPointer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SCalcSPointer(__A0)
#endif
- EXTERN_API(OSErr)
- SCalcSPointer(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702C, 0xA06E);
-
-
- /*
- * SGetDriver()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SCalcSPointer(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702C, 0xA06E);
+
+
+/*
+ * SGetDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SGetDriver(__A0)
#endif
- EXTERN_API(OSErr)
- SGetDriver(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702D, 0xA06E);
-
-
- /*
- * SPtrToSlot()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SGetDriver(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702D, 0xA06E);
+
+
+/*
+ * SPtrToSlot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SPtrToSlot(__A0)
#endif
- EXTERN_API(OSErr)
- SPtrToSlot(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702E, 0xA06E);
-
-
- /*
- * SFindSInfoRecPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SPtrToSlot(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702E, 0xA06E);
+
+
+/*
+ * SFindSInfoRecPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SFindSInfoRecPtr(__A0)
#endif
- EXTERN_API(OSErr)
- SFindSInfoRecPtr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702F, 0xA06E);
-
-
- /*
- * SFindSRsrcPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SFindSInfoRecPtr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x702F, 0xA06E);
+
+
+/*
+ * SFindSRsrcPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SFindSRsrcPtr(__A0)
#endif
- EXTERN_API(OSErr)
- SFindSRsrcPtr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7030, 0xA06E);
-
-
- /*
- * SDeleteSRTRec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SFindSRsrcPtr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7030, 0xA06E);
+
+
+/*
+ * SDeleteSRTRec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SDeleteSRTRec(__A0)
#endif
- EXTERN_API(OSErr)
- SDeleteSRTRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7031, 0xA06E);
+EXTERN_API( OSErr )
+SDeleteSRTRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7031, 0xA06E);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * OpenSlot()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- OpenSlot(
- ParmBlkPtr paramBlock,
- Boolean async);
-
-
- /*
- * OpenSlotSync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * OpenSlot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+OpenSlot(
+ ParmBlkPtr paramBlock,
+ Boolean async);
+
+
+/*
+ * OpenSlotSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OpenSlotSync(__A0)
#endif
- EXTERN_API(OSErr)
- OpenSlotSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA200);
-
-
- /*
- * OpenSlotAsync()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+OpenSlotSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA200);
+
+
+/*
+ * OpenSlotAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 OpenSlotAsync(__A0)
#endif
- EXTERN_API(OSErr)
- OpenSlotAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA600);
-
-
- /* Device Manager Slot Support */
- /*
- * SIntInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+OpenSlotAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA600);
+
+
+/* Device Manager Slot Support */
+/*
+ * SIntInstall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SIntInstall(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- SIntInstall(
- SQElemPtr sIntQElemPtr,
- short theSlot) ONEWORDINLINE(0xA075);
-
-
- /*
- * SIntRemove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SIntInstall(
+ SQElemPtr sIntQElemPtr,
+ short theSlot) ONEWORDINLINE(0xA075);
+
+
+/*
+ * SIntRemove()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SIntRemove(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- SIntRemove(
- SQElemPtr sIntQElemPtr,
- short theSlot) ONEWORDINLINE(0xA076);
-
-
- /*
- * SVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SIntRemove(
+ SQElemPtr sIntQElemPtr,
+ short theSlot) ONEWORDINLINE(0xA076);
+
+
+/*
+ * SVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SVersion(__A0)
#endif
- EXTERN_API(OSErr)
- SVersion(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7008, 0xA06E);
-
-
- /*
- * SetSRsrcState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SVersion(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7008, 0xA06E);
+
+
+/*
+ * SetSRsrcState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SetSRsrcState(__A0)
#endif
- EXTERN_API(OSErr)
- SetSRsrcState(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7009, 0xA06E);
-
-
- /*
- * InsertSRTRec()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SetSRsrcState(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x7009, 0xA06E);
+
+
+/*
+ * InsertSRTRec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InsertSRTRec(__A0)
#endif
- EXTERN_API(OSErr)
- InsertSRTRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x700A, 0xA06E);
-
-
- /*
- * SGetSRsrc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+InsertSRTRec(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x700A, 0xA06E);
+
+
+/*
+ * SGetSRsrc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SGetSRsrc(__A0)
#endif
- EXTERN_API(OSErr)
- SGetSRsrc(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x700B, 0xA06E);
-
-
- /*
- * SGetTypeSRsrc()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SGetSRsrc(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x700B, 0xA06E);
+
+
+/*
+ * SGetTypeSRsrc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SGetTypeSRsrc(__A0)
#endif
- EXTERN_API(OSErr)
- SGetTypeSRsrc(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x700C, 0xA06E);
-
-
- /*
- * SGetSRsrcPtr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( OSErr )
+SGetTypeSRsrc(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x700C, 0xA06E);
+
+
+/*
+ * SGetSRsrcPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 SGetSRsrcPtr(__A0)
#endif
- EXTERN_API(OSErr)
- SGetSRsrcPtr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x701D, 0xA06E);
+EXTERN_API( OSErr )
+SGetSRsrcPtr(SpBlockPtr spBlkPtr) TWOWORDINLINE(0x701D, 0xA06E);
@@ -1022,11 +1003,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Sound.h b/include/qt/Sound.h
index cee590796..2484a2c84 100644
--- a/include/qt/Sound.h
+++ b/include/qt/Sound.h
@@ -1,17 +1,17 @@
/*
File: Sound.h
-
+
Contains: Sound Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1986-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SOUND__
#define __SOUND__
@@ -48,1750 +48,1606 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- * * * N O T E * * *
-
- This file has been updated to include Sound Manager 3.3 interfaces.
-
- Some of the Sound Manager 3.0 interfaces were not put into the InterfaceLib
- that originally shipped with the PowerMacs. These missing functions and the
- new 3.3 interfaces have been released in the SoundLib library for PowerPC
- developers to link with. The runtime library for these functions are
- installed by the Sound Manager. The following functions are found in SoundLib.
-
- GetCompressionInfo(), GetSoundPreference(), SetSoundPreference(),
- UnsignedFixedMulDiv(), SndGetInfo(), SndSetInfo(), GetSoundOutputInfo(),
- SetSoundOutputInfo(), GetCompressionName(), SoundConverterOpen(),
- SoundConverterClose(), SoundConverterGetBufferSizes(), SoundConverterBeginConversion(),
- SoundConverterConvertBuffer(), SoundConverterEndConversion(),
- AudioGetBass(), AudioGetInfo(), AudioGetMute(), AudioGetOutputDevice(),
- AudioGetTreble(), AudioGetVolume(), AudioMuteOnEvent(), AudioSetBass(),
- AudioSetMute(), AudioSetToDefaults(), AudioSetTreble(), AudioSetVolume(),
- OpenMixerSoundComponent(), CloseMixerSoundComponent(), SoundComponentAddSource(),
- SoundComponentGetInfo(), SoundComponentGetSource(), SoundComponentGetSourceData(),
- SoundComponentInitOutputDevice(), SoundComponentPauseSource(),
- SoundComponentPlaySourceBuffer(), SoundComponentRemoveSource(),
- SoundComponentSetInfo(), SoundComponentSetOutput(), SoundComponentSetSource(),
- SoundComponentStartSource(), SoundComponentStopSource(),
- ParseAIFFHeader(), ParseSndHeader(), SoundConverterGetInfo(), SoundConverterSetInfo()
- */
- /*
- Interfaces for Sound Driver, !!! OBSOLETE and NOT SUPPORTED !!!
-
- These items are no longer defined, but appear here so that someone
- searching the interfaces might find them. If you are using one of these
- items, you must change your code to support the Sound Manager.
-
- swMode, ftMode, ffMode
- FreeWave, FFSynthRec, Tone, SWSynthRec, Wave, FTSoundRec
- SndCompletionProcPtr
- StartSound, StopSound, SoundDone
- SetSoundVol, GetSoundVol
- */
- /*
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- constants
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- */
+/*
+ * * * N O T E * * *
+
+ This file has been updated to include Sound Manager 3.3 interfaces.
+
+ Some of the Sound Manager 3.0 interfaces were not put into the InterfaceLib
+ that originally shipped with the PowerMacs. These missing functions and the
+ new 3.3 interfaces have been released in the SoundLib library for PowerPC
+ developers to link with. The runtime library for these functions are
+ installed by the Sound Manager. The following functions are found in SoundLib.
+
+ GetCompressionInfo(), GetSoundPreference(), SetSoundPreference(),
+ UnsignedFixedMulDiv(), SndGetInfo(), SndSetInfo(), GetSoundOutputInfo(),
+ SetSoundOutputInfo(), GetCompressionName(), SoundConverterOpen(),
+ SoundConverterClose(), SoundConverterGetBufferSizes(), SoundConverterBeginConversion(),
+ SoundConverterConvertBuffer(), SoundConverterEndConversion(),
+ AudioGetBass(), AudioGetInfo(), AudioGetMute(), AudioGetOutputDevice(),
+ AudioGetTreble(), AudioGetVolume(), AudioMuteOnEvent(), AudioSetBass(),
+ AudioSetMute(), AudioSetToDefaults(), AudioSetTreble(), AudioSetVolume(),
+ OpenMixerSoundComponent(), CloseMixerSoundComponent(), SoundComponentAddSource(),
+ SoundComponentGetInfo(), SoundComponentGetSource(), SoundComponentGetSourceData(),
+ SoundComponentInitOutputDevice(), SoundComponentPauseSource(),
+ SoundComponentPlaySourceBuffer(), SoundComponentRemoveSource(),
+ SoundComponentSetInfo(), SoundComponentSetOutput(), SoundComponentSetSource(),
+ SoundComponentStartSource(), SoundComponentStopSource(),
+ ParseAIFFHeader(), ParseSndHeader(), SoundConverterGetInfo(), SoundConverterSetInfo()
+*/
+/*
+ Interfaces for Sound Driver, !!! OBSOLETE and NOT SUPPORTED !!!
+
+ These items are no longer defined, but appear here so that someone
+ searching the interfaces might find them. If you are using one of these
+ items, you must change your code to support the Sound Manager.
+
+ swMode, ftMode, ffMode
+ FreeWave, FFSynthRec, Tone, SWSynthRec, Wave, FTSoundRec
+ SndCompletionProcPtr
+ StartSound, StopSound, SoundDone
+ SetSoundVol, GetSoundVol
+*/
+/*
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ constants
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
#define twelfthRootTwo 1.05946309435
- enum {
- soundListRsrc = FOUR_CHAR_CODE('snd '), /*Resource type used by Sound Manager*/
- kSoundCodecInfoResourceType = FOUR_CHAR_CODE('snfo') /*Resource type holding codec information (optional public component resource)*/
- };
-
- enum
- {
- kSimpleBeepID = 1 /*reserved resource ID for Simple Beep*/
- };
-
- enum
- {
- rate48khz = (long)0xBB800000, /*48000.00000 in fixed-point*/
- rate44khz = (long)0xAC440000, /*44100.00000 in fixed-point*/
- rate32khz = 0x7D000000, /*32000.00000 in fixed-point*/
- rate22050hz = 0x56220000, /*22050.00000 in fixed-point*/
- rate22khz = 0x56EE8BA3, /*22254.54545 in fixed-point*/
- rate16khz = 0x3E800000, /*16000.00000 in fixed-point*/
- rate11khz = 0x2B7745D1, /*11127.27273 in fixed-point*/
- rate11025hz = 0x2B110000, /*11025.00000 in fixed-point*/
- rate8khz = 0x1F400000 /* 8000.00000 in fixed-point*/
- };
-
- /*synthesizer numbers for SndNewChannel*/
- enum
- {
- sampledSynth = 5 /*sampled sound synthesizer*/
- };
+enum {
+ soundListRsrc = FOUR_CHAR_CODE('snd '), /*Resource type used by Sound Manager*/
+ kSoundCodecInfoResourceType = FOUR_CHAR_CODE('snfo') /*Resource type holding codec information (optional public component resource)*/
+};
+
+enum {
+ kSimpleBeepID = 1 /*reserved resource ID for Simple Beep*/
+};
+
+enum {
+ rate48khz = (long)0xBB800000, /*48000.00000 in fixed-point*/
+ rate44khz = (long)0xAC440000, /*44100.00000 in fixed-point*/
+ rate32khz = 0x7D000000, /*32000.00000 in fixed-point*/
+ rate22050hz = 0x56220000, /*22050.00000 in fixed-point*/
+ rate22khz = 0x56EE8BA3, /*22254.54545 in fixed-point*/
+ rate16khz = 0x3E800000, /*16000.00000 in fixed-point*/
+ rate11khz = 0x2B7745D1, /*11127.27273 in fixed-point*/
+ rate11025hz = 0x2B110000, /*11025.00000 in fixed-point*/
+ rate8khz = 0x1F400000 /* 8000.00000 in fixed-point*/
+};
+
+/*synthesizer numbers for SndNewChannel*/
+enum {
+ sampledSynth = 5 /*sampled sound synthesizer*/
+};
#if CALL_NOT_IN_CARBON
- enum
- {
- squareWaveSynth = 1, /*square wave synthesizer*/
- waveTableSynth = 3, /*wave table synthesizer*/
- /*old Sound Manager MACE synthesizer numbers*/
- MACE3snthID = 11,
- MACE6snthID = 13
- };
+enum {
+ squareWaveSynth = 1, /*square wave synthesizer*/
+ waveTableSynth = 3, /*wave table synthesizer*/
+ /*old Sound Manager MACE synthesizer numbers*/
+ MACE3snthID = 11,
+ MACE6snthID = 13
+};
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kMiddleC = 60 /*MIDI note value for middle C*/
- };
-
- enum
- {
- kNoVolume = 0, /*setting for no sound volume*/
- kFullVolume = 0x0100 /*1.0, setting for full hardware output volume*/
- };
-
- enum
- {
- stdQLength = 128
- };
-
- enum
- {
- dataOffsetFlag = 0x8000
- };
-
- enum
- {
- kUseOptionalOutputDevice = -1 /*only for Sound Manager 3.0 or later*/
- };
-
- enum
- {
- notCompressed = 0, /*compression ID's*/
- fixedCompression = -1, /*compression ID for fixed-sized compression*/
- variableCompression = -2 /*compression ID for variable-sized compression*/
- };
-
- enum
- {
- twoToOne = 1,
- eightToThree = 2,
- threeToOne = 3,
- sixToOne = 4,
- sixToOnePacketSize = 8,
- threeToOnePacketSize = 16
- };
-
- enum
- {
- stateBlockSize = 64,
- leftOverBlockSize = 32
- };
-
- enum
- {
- firstSoundFormat = 0x0001, /*general sound format*/
- secondSoundFormat = 0x0002 /*special sampled sound format (HyperCard)*/
- };
+enum {
+ kMiddleC = 60 /*MIDI note value for middle C*/
+};
+
+enum {
+ kNoVolume = 0, /*setting for no sound volume*/
+ kFullVolume = 0x0100 /*1.0, setting for full hardware output volume*/
+};
+
+enum {
+ stdQLength = 128
+};
+
+enum {
+ dataOffsetFlag = 0x8000
+};
+
+enum {
+ kUseOptionalOutputDevice = -1 /*only for Sound Manager 3.0 or later*/
+};
+
+enum {
+ notCompressed = 0, /*compression ID's*/
+ fixedCompression = -1, /*compression ID for fixed-sized compression*/
+ variableCompression = -2 /*compression ID for variable-sized compression*/
+};
+
+enum {
+ twoToOne = 1,
+ eightToThree = 2,
+ threeToOne = 3,
+ sixToOne = 4,
+ sixToOnePacketSize = 8,
+ threeToOnePacketSize = 16
+};
+
+enum {
+ stateBlockSize = 64,
+ leftOverBlockSize = 32
+};
+
+enum {
+ firstSoundFormat = 0x0001, /*general sound format*/
+ secondSoundFormat = 0x0002 /*special sampled sound format (HyperCard)*/
+};
#if CALL_NOT_IN_CARBON
- enum
- {
- dbBufferReady = 0x00000001, /*double buffer is filled*/
- dbLastBuffer = 0x00000004 /*last double buffer to play*/
- };
+enum {
+ dbBufferReady = 0x00000001, /*double buffer is filled*/
+ dbLastBuffer = 0x00000004 /*last double buffer to play*/
+};
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- sysBeepDisable = 0x0000, /*SysBeep() enable flags*/
- sysBeepEnable = (1 << 0),
- sysBeepSynchronous = (1 << 1) /*if bit set, make alert sounds synchronous*/
- };
-
- enum
- {
- unitTypeNoSelection = 0xFFFF, /*unitTypes for AudioSelection.unitType*/
- unitTypeSeconds = 0x0000
- };
-
- enum
- {
- stdSH = 0x00, /*Standard sound header encode value*/
- extSH = 0xFF, /*Extended sound header encode value*/
- cmpSH = 0xFE /*Compressed sound header encode value*/
- };
-
- /*command numbers for SndDoCommand and SndDoImmediate*/
- enum
- {
- nullCmd = 0,
- quietCmd = 3,
- flushCmd = 4,
- reInitCmd = 5,
- waitCmd = 10,
- pauseCmd = 11,
- resumeCmd = 12,
- callBackCmd = 13,
- syncCmd = 14,
- availableCmd = 24,
- versionCmd = 25,
- volumeCmd = 46, /*sound manager 3.0 or later only*/
- getVolumeCmd = 47, /*sound manager 3.0 or later only*/
- clockComponentCmd = 50, /*sound manager 3.2.1 or later only*/
- getClockComponentCmd = 51, /*sound manager 3.2.1 or later only*/
- scheduledSoundCmd = 52, /*sound manager 3.3 or later only*/
- linkSoundComponentsCmd = 53, /*sound manager 3.3 or later only*/
- soundCmd = 80,
- bufferCmd = 81,
- rateMultiplierCmd = 86,
- getRateMultiplierCmd = 87
- };
+enum {
+ sysBeepDisable = 0x0000, /*SysBeep() enable flags*/
+ sysBeepEnable = (1 << 0),
+ sysBeepSynchronous = (1 << 1) /*if bit set, make alert sounds synchronous*/
+};
+
+enum {
+ unitTypeNoSelection = 0xFFFF, /*unitTypes for AudioSelection.unitType*/
+ unitTypeSeconds = 0x0000
+};
+
+enum {
+ stdSH = 0x00, /*Standard sound header encode value*/
+ extSH = 0xFF, /*Extended sound header encode value*/
+ cmpSH = 0xFE /*Compressed sound header encode value*/
+};
+
+/*command numbers for SndDoCommand and SndDoImmediate*/
+enum {
+ nullCmd = 0,
+ quietCmd = 3,
+ flushCmd = 4,
+ reInitCmd = 5,
+ waitCmd = 10,
+ pauseCmd = 11,
+ resumeCmd = 12,
+ callBackCmd = 13,
+ syncCmd = 14,
+ availableCmd = 24,
+ versionCmd = 25,
+ volumeCmd = 46, /*sound manager 3.0 or later only*/
+ getVolumeCmd = 47, /*sound manager 3.0 or later only*/
+ clockComponentCmd = 50, /*sound manager 3.2.1 or later only*/
+ getClockComponentCmd = 51, /*sound manager 3.2.1 or later only*/
+ scheduledSoundCmd = 52, /*sound manager 3.3 or later only*/
+ linkSoundComponentsCmd = 53, /*sound manager 3.3 or later only*/
+ soundCmd = 80,
+ bufferCmd = 81,
+ rateMultiplierCmd = 86,
+ getRateMultiplierCmd = 87
+};
#if CALL_NOT_IN_CARBON
- /*command numbers for SndDoCommand and SndDoImmediate that are not available for use in Carbon */
- enum
- {
- initCmd = 1,
- freeCmd = 2,
- totalLoadCmd = 26,
- loadCmd = 27,
- freqDurationCmd = 40,
- restCmd = 41,
- freqCmd = 42,
- ampCmd = 43,
- timbreCmd = 44,
- getAmpCmd = 45,
- waveTableCmd = 60,
- phaseCmd = 61,
- rateCmd = 82,
- continueCmd = 83,
- doubleBufferCmd = 84,
- getRateCmd = 85,
- sizeCmd = 90, /*obsolete command*/
- convertCmd = 91 /*obsolete MACE command*/
- };
+/*command numbers for SndDoCommand and SndDoImmediate that are not available for use in Carbon */
+enum {
+ initCmd = 1,
+ freeCmd = 2,
+ totalLoadCmd = 26,
+ loadCmd = 27,
+ freqDurationCmd = 40,
+ restCmd = 41,
+ freqCmd = 42,
+ ampCmd = 43,
+ timbreCmd = 44,
+ getAmpCmd = 45,
+ waveTableCmd = 60,
+ phaseCmd = 61,
+ rateCmd = 82,
+ continueCmd = 83,
+ doubleBufferCmd = 84,
+ getRateCmd = 85,
+ sizeCmd = 90, /*obsolete command*/
+ convertCmd = 91 /*obsolete MACE command*/
+};
#endif /* CALL_NOT_IN_CARBON */
#if OLDROUTINENAMES
- /*channel initialization parameters*/
- enum
- {
- waveInitChannelMask = 0x07,
- waveInitChannel0 = 0x04, /*wave table only, Sound Manager 2.0 and earlier*/
- waveInitChannel1 = 0x05, /*wave table only, Sound Manager 2.0 and earlier*/
- waveInitChannel2 = 0x06, /*wave table only, Sound Manager 2.0 and earlier*/
- waveInitChannel3 = 0x07, /*wave table only, Sound Manager 2.0 and earlier*/
- initChan0 = waveInitChannel0, /*obsolete spelling*/
- initChan1 = waveInitChannel1, /*obsolete spelling*/
- initChan2 = waveInitChannel2, /*obsolete spelling*/
- initChan3 = waveInitChannel3 /*obsolete spelling*/
- };
-
- enum
- {
- outsideCmpSH = 0, /*obsolete MACE constant*/
- insideCmpSH = 1, /*obsolete MACE constant*/
- aceSuccess = 0, /*obsolete MACE constant*/
- aceMemFull = 1, /*obsolete MACE constant*/
- aceNilBlock = 2, /*obsolete MACE constant*/
- aceBadComp = 3, /*obsolete MACE constant*/
- aceBadEncode = 4, /*obsolete MACE constant*/
- aceBadDest = 5, /*obsolete MACE constant*/
- aceBadCmd = 6 /*obsolete MACE constant*/
- };
+/*channel initialization parameters*/
+enum {
+ waveInitChannelMask = 0x07,
+ waveInitChannel0 = 0x04, /*wave table only, Sound Manager 2.0 and earlier*/
+ waveInitChannel1 = 0x05, /*wave table only, Sound Manager 2.0 and earlier*/
+ waveInitChannel2 = 0x06, /*wave table only, Sound Manager 2.0 and earlier*/
+ waveInitChannel3 = 0x07, /*wave table only, Sound Manager 2.0 and earlier*/
+ initChan0 = waveInitChannel0, /*obsolete spelling*/
+ initChan1 = waveInitChannel1, /*obsolete spelling*/
+ initChan2 = waveInitChannel2, /*obsolete spelling*/
+ initChan3 = waveInitChannel3 /*obsolete spelling*/
+};
+
+enum {
+ outsideCmpSH = 0, /*obsolete MACE constant*/
+ insideCmpSH = 1, /*obsolete MACE constant*/
+ aceSuccess = 0, /*obsolete MACE constant*/
+ aceMemFull = 1, /*obsolete MACE constant*/
+ aceNilBlock = 2, /*obsolete MACE constant*/
+ aceBadComp = 3, /*obsolete MACE constant*/
+ aceBadEncode = 4, /*obsolete MACE constant*/
+ aceBadDest = 5, /*obsolete MACE constant*/
+ aceBadCmd = 6 /*obsolete MACE constant*/
+};
#endif /* OLDROUTINENAMES */
- enum
- {
- initChanLeft = 0x0002, /*left stereo channel*/
- initChanRight = 0x0003, /*right stereo channel*/
- initNoInterp = 0x0004, /*no linear interpolation*/
- initNoDrop = 0x0008, /*no drop-sample conversion*/
- initMono = 0x0080, /*monophonic channel*/
- initStereo = 0x00C0, /*stereo channel*/
- initMACE3 = 0x0300, /*MACE 3:1*/
- initMACE6 = 0x0400, /*MACE 6:1*/
- initPanMask = 0x0003, /*mask for right/left pan values*/
- initSRateMask = 0x0030, /*mask for sample rate values*/
- initStereoMask = 0x00C0, /*mask for mono/stereo values*/
- initCompMask = 0xFF00 /*mask for compression IDs*/
- };
-
- /*Get&Set Sound Information Selectors*/
- enum
- {
- siActiveChannels = FOUR_CHAR_CODE('chac'), /*active channels*/
- siActiveLevels = FOUR_CHAR_CODE('lmac'), /*active meter levels*/
- siAGCOnOff = FOUR_CHAR_CODE('agc '), /*automatic gain control state*/
- siAsync = FOUR_CHAR_CODE('asyn'), /*asynchronous capability*/
- siAVDisplayBehavior = FOUR_CHAR_CODE('avdb'),
- siChannelAvailable = FOUR_CHAR_CODE('chav'), /*number of channels available*/
- siCompressionAvailable = FOUR_CHAR_CODE('cmav'), /*compression types available*/
- siCompressionFactor = FOUR_CHAR_CODE('cmfa'), /*current compression factor*/
- siCompressionHeader = FOUR_CHAR_CODE('cmhd'), /*return compression header*/
- siCompressionNames = FOUR_CHAR_CODE('cnam'), /*compression type names available*/
- siCompressionParams = FOUR_CHAR_CODE('evaw'), /*compression parameters*/
- siCompressionSampleRate = FOUR_CHAR_CODE('cprt'), /* SetInfo only: compressor's sample rate*/
- siCompressionChannels = FOUR_CHAR_CODE('cpct'), /* SetInfo only: compressor's number of channels*/
- siCompressionOutputSampleRate = FOUR_CHAR_CODE('cort'), /* GetInfo only: only implemented by compressors that have differing in and out rates */
- siCompressionInputRateList = FOUR_CHAR_CODE('crtl'), /* GetInfo only: only implemented by compressors that only take certain input rates */
- siCompressionType = FOUR_CHAR_CODE('comp'), /*current compression type*/
- siCompressionConfiguration = FOUR_CHAR_CODE('ccfg'), /*compression extensions*/
- siContinuous = FOUR_CHAR_CODE('cont'), /*continous recording*/
- siDecompressionParams = FOUR_CHAR_CODE('wave'), /*decompression parameters*/
- siDecompressionConfiguration = FOUR_CHAR_CODE('dcfg'), /*decompression extensions*/
- siDeviceBufferInfo = FOUR_CHAR_CODE('dbin'), /*size of interrupt buffer*/
- siDeviceConnected = FOUR_CHAR_CODE('dcon'), /*input device connection status*/
- siDeviceIcon = FOUR_CHAR_CODE('icon'), /*input device icon*/
- siDeviceName = FOUR_CHAR_CODE('name'), /*input device name*/
- siEQSpectrumBands = FOUR_CHAR_CODE('eqsb'), /* number of spectrum bands*/
- siEQSpectrumLevels = FOUR_CHAR_CODE('eqlv'), /* gets spectum meter levels*/
- siEQSpectrumOnOff = FOUR_CHAR_CODE('eqlo'), /* turn on/off spectum meter levels*/
- siEQSpectrumResolution = FOUR_CHAR_CODE('eqrs'), /* set the resolution of the FFT, 0 = low res (<=16 bands), 1 = high res (16-64 bands)*/
- siEQToneControlGain = FOUR_CHAR_CODE('eqtg'), /* set the bass and treble gain*/
- siEQToneControlOnOff = FOUR_CHAR_CODE('eqtc'), /* turn on equalizer attenuation*/
- siHardwareBalance = FOUR_CHAR_CODE('hbal'),
- siHardwareBalanceSteps = FOUR_CHAR_CODE('hbls'),
- siHardwareBass = FOUR_CHAR_CODE('hbas'),
- siHardwareBassSteps = FOUR_CHAR_CODE('hbst'),
- siHardwareBusy = FOUR_CHAR_CODE('hwbs'), /*sound hardware is in use*/
- siHardwareFormat = FOUR_CHAR_CODE('hwfm'), /*get hardware format*/
- siHardwareMute = FOUR_CHAR_CODE('hmut'), /*mute state of all hardware*/
- siHardwareMuteNoPrefs = FOUR_CHAR_CODE('hmnp'), /*mute state of all hardware, but don't store in prefs */
- siHardwareTreble = FOUR_CHAR_CODE('htrb'),
- siHardwareTrebleSteps = FOUR_CHAR_CODE('hwts'),
- siHardwareVolume = FOUR_CHAR_CODE('hvol'), /*volume level of all hardware*/
- siHardwareVolumeSteps = FOUR_CHAR_CODE('hstp'), /*number of volume steps for hardware*/
- siHeadphoneMute = FOUR_CHAR_CODE('pmut'), /*mute state of headphones*/
- siHeadphoneVolume = FOUR_CHAR_CODE('pvol'), /*volume level of headphones*/
- siHeadphoneVolumeSteps = FOUR_CHAR_CODE('hdst'), /*number of volume steps for headphones*/
- siInputAvailable = FOUR_CHAR_CODE('inav'), /*input sources available*/
- siInputGain = FOUR_CHAR_CODE('gain'), /*input gain*/
- siInputSource = FOUR_CHAR_CODE('sour'), /*input source selector*/
- siInputSourceNames = FOUR_CHAR_CODE('snam'), /*input source names*/
- siLevelMeterOnOff = FOUR_CHAR_CODE('lmet'), /*level meter state*/
- siModemGain = FOUR_CHAR_CODE('mgai'), /*modem input gain*/
- siMonitorAvailable = FOUR_CHAR_CODE('mnav'),
- siMonitorSource = FOUR_CHAR_CODE('mons'),
- siNumberChannels = FOUR_CHAR_CODE('chan'), /*current number of channels*/
- siOptionsDialog = FOUR_CHAR_CODE('optd'), /*display options dialog*/
- siOSTypeInputSource = FOUR_CHAR_CODE('inpt'), /*input source by OSType*/
- siOSTypeInputAvailable = FOUR_CHAR_CODE('inav'), /*list of available input source OSTypes*/
- siOutputDeviceName = FOUR_CHAR_CODE('onam'), /*output device name*/
- siPlayThruOnOff = FOUR_CHAR_CODE('plth'), /*playthrough state*/
- siPostMixerSoundComponent = FOUR_CHAR_CODE('psmx'), /*install post-mixer effect*/
- siPreMixerSoundComponent = FOUR_CHAR_CODE('prmx'), /*install pre-mixer effect*/
- siQuality = FOUR_CHAR_CODE('qual'), /*quality setting*/
- siRateMultiplier = FOUR_CHAR_CODE('rmul'), /*throttle rate setting*/
- siRecordingQuality = FOUR_CHAR_CODE('qual'), /*recording quality*/
- siSampleRate = FOUR_CHAR_CODE('srat'), /*current sample rate*/
- siSampleRateAvailable = FOUR_CHAR_CODE('srav'), /*sample rates available*/
- siSampleSize = FOUR_CHAR_CODE('ssiz'), /*current sample size*/
- siSampleSizeAvailable = FOUR_CHAR_CODE('ssav'), /*sample sizes available*/
- siSetupCDAudio = FOUR_CHAR_CODE('sucd'), /*setup sound hardware for CD audio*/
- siSetupModemAudio = FOUR_CHAR_CODE('sumd'), /*setup sound hardware for modem audio*/
- siSlopeAndIntercept = FOUR_CHAR_CODE('flap'), /*floating point variables for conversion*/
- siSoundClock = FOUR_CHAR_CODE('sclk'),
- siUseThisSoundClock = FOUR_CHAR_CODE('sclc'), /*sdev uses this to tell the mixer to use his sound clock*/
- siSpeakerMute = FOUR_CHAR_CODE('smut'), /*mute state of all built-in speaker*/
- siSpeakerVolume = FOUR_CHAR_CODE('svol'), /*volume level of built-in speaker*/
- siSSpCPULoadLimit = FOUR_CHAR_CODE('3dll'),
- siSSpLocalization = FOUR_CHAR_CODE('3dif'),
- siSSpSpeakerSetup = FOUR_CHAR_CODE('3dst'),
- siStereoInputGain = FOUR_CHAR_CODE('sgai'), /*stereo input gain*/
- siSubwooferMute = FOUR_CHAR_CODE('bmut'), /*mute state of sub-woofer*/
- siTerminalType = FOUR_CHAR_CODE('ttyp'), /* usb terminal type */
- siTwosComplementOnOff = FOUR_CHAR_CODE('twos'), /*two's complement state*/
- siVendorProduct = FOUR_CHAR_CODE('vpro'), /* vendor and product ID */
- siVolume = FOUR_CHAR_CODE('volu'), /*volume level of source*/
- siVoxRecordInfo = FOUR_CHAR_CODE('voxr'), /*VOX record parameters*/
- siVoxStopInfo = FOUR_CHAR_CODE('voxs'), /*VOX stop parameters*/
- siWideStereo = FOUR_CHAR_CODE('wide'), /*wide stereo setting*/
- siSupportedExtendedFlags = FOUR_CHAR_CODE('exfl'), /*which flags are supported in Extended sound data structures*/
- siRateConverterRollOffSlope = FOUR_CHAR_CODE('rcdb'), /*the roll-off slope for the rate converter's filter, in whole dB as a long this value is a long whose range is from 20 (worst quality/fastest performance) to 90 (best quality/slowest performance)*/
- siOutputLatency = FOUR_CHAR_CODE('olte'), /*latency of sound output component*/
- siHALAudioDeviceID = FOUR_CHAR_CODE('hlid'), /*audio device id*/
- siHALAudioDeviceUniqueID = FOUR_CHAR_CODE('huid'), /*audio device unique id*/
- siClientAcceptsVBR = FOUR_CHAR_CODE('cvbr'), /*client handles VBR*/
- siSourceIsExhausted = FOUR_CHAR_CODE('srcx'), /*the ultimate source of data has run out (keep asking, but when you get nothing, that's it)*/
- siMediaContextID = FOUR_CHAR_CODE('uuid'), /*media context id -- UUID */
- siCompressionMaxPacketSize = FOUR_CHAR_CODE('cmxp'), /*maximum compressed packet size for current configuration -- unsigned long */
- siAudioCodecPropertyValue = FOUR_CHAR_CODE('spva'), /*audio codec property value -- SoundAudioCodecPropertyRequestParams* */
- siAudioCodecPropertyInfo = FOUR_CHAR_CODE('spin') /*audio codec property info -- SoundAudioCodecPropertyRequestParams* */
- };
-
- enum
- {
- siCloseDriver = FOUR_CHAR_CODE('clos'), /*reserved for internal use only*/
- siInitializeDriver = FOUR_CHAR_CODE('init'), /*reserved for internal use only*/
- siPauseRecording = FOUR_CHAR_CODE('paus'), /*reserved for internal use only*/
- siUserInterruptProc = FOUR_CHAR_CODE('user') /*reserved for internal use only*/
- };
-
- /* input source Types*/
- enum
- {
- kInvalidSource = (long)0xFFFFFFFF, /*this source may be returned from GetInfo if no other source is the monitored source*/
- kNoSource = FOUR_CHAR_CODE('none'), /*no source selection*/
- kCDSource = FOUR_CHAR_CODE('cd '), /*internal CD player input*/
- kExtMicSource = FOUR_CHAR_CODE('emic'), /*external mic input*/
- kSoundInSource = FOUR_CHAR_CODE('sinj'), /*sound input jack*/
- kRCAInSource = FOUR_CHAR_CODE('irca'), /*RCA jack input*/
- kTVFMTunerSource = FOUR_CHAR_CODE('tvfm'),
- kDAVInSource = FOUR_CHAR_CODE('idav'), /*DAV analog input*/
- kIntMicSource = FOUR_CHAR_CODE('imic'), /*internal mic input*/
- kMediaBaySource = FOUR_CHAR_CODE('mbay'), /*media bay input*/
- kModemSource = FOUR_CHAR_CODE('modm'), /*modem input (internal modem on desktops, PCI input on PowerBooks)*/
- kPCCardSource = FOUR_CHAR_CODE('pcm '), /*PC Card pwm input*/
- kZoomVideoSource = FOUR_CHAR_CODE('zvpc'), /*zoom video input*/
- kDVDSource = FOUR_CHAR_CODE('dvda'), /* DVD audio input*/
- kMicrophoneArray = FOUR_CHAR_CODE('mica') /* microphone array*/
- };
-
- /*Sound Component Types and Subtypes*/
- enum
- {
- kNoSoundComponentType = FOUR_CHAR_CODE('****'),
- kSoundComponentType = FOUR_CHAR_CODE('sift'), /*component type*/
- kSoundComponentPPCType = FOUR_CHAR_CODE('nift'), /*component type for PowerPC code*/
- kRate8SubType = FOUR_CHAR_CODE('ratb'), /*8-bit rate converter*/
- kRate16SubType = FOUR_CHAR_CODE('ratw'), /*16-bit rate converter*/
- kConverterSubType = FOUR_CHAR_CODE('conv'), /*sample format converter*/
- kSndSourceSubType = FOUR_CHAR_CODE('sour'), /*generic source component*/
- kMixerType = FOUR_CHAR_CODE('mixr'),
- kMixer8SubType = FOUR_CHAR_CODE('mixb'), /*8-bit mixer*/
- kMixer16SubType = FOUR_CHAR_CODE('mixw'), /*16-bit mixer*/
- kSoundInputDeviceType = FOUR_CHAR_CODE('sinp'), /*sound input component*/
- kWaveInSubType = FOUR_CHAR_CODE('wavi'), /*Windows waveIn*/
- kWaveInSnifferSubType = FOUR_CHAR_CODE('wisn'), /*Windows waveIn sniffer*/
- kSoundOutputDeviceType = FOUR_CHAR_CODE('sdev'), /*sound output component*/
- kClassicSubType = FOUR_CHAR_CODE('clas'), /*classic hardware, i.e. Mac Plus*/
- kASCSubType = FOUR_CHAR_CODE('asc '), /*Apple Sound Chip device*/
- kDSPSubType = FOUR_CHAR_CODE('dsp '), /*DSP device*/
- kAwacsSubType = FOUR_CHAR_CODE('awac'), /*Another of Will's Audio Chips device*/
- kGCAwacsSubType = FOUR_CHAR_CODE('awgc'), /*Awacs audio with Grand Central DMA*/
- kSingerSubType = FOUR_CHAR_CODE('sing'), /*Singer (via Whitney) based sound*/
- kSinger2SubType = FOUR_CHAR_CODE('sng2'), /*Singer 2 (via Whitney) for Acme*/
- kWhitSubType = FOUR_CHAR_CODE('whit'), /*Whit sound component for PrimeTime 3*/
- kSoundBlasterSubType = FOUR_CHAR_CODE('sbls'), /*Sound Blaster for CHRP*/
- kWaveOutSubType = FOUR_CHAR_CODE('wavo'), /*Windows waveOut*/
- kWaveOutSnifferSubType = FOUR_CHAR_CODE('wosn'), /*Windows waveOut sniffer*/
- kDirectSoundSubType = FOUR_CHAR_CODE('dsnd'), /*Windows DirectSound*/
- kDirectSoundSnifferSubType = FOUR_CHAR_CODE('dssn'), /*Windows DirectSound sniffer*/
- kUNIXsdevSubType = FOUR_CHAR_CODE('un1x'), /*UNIX base sdev*/
- kUSBSubType = FOUR_CHAR_CODE('usb '), /*USB device*/
- kBlueBoxSubType = FOUR_CHAR_CODE('bsnd'), /*Blue Box sound component*/
- kHALCustomComponentSubType = FOUR_CHAR_CODE('halx'), /*Registered by the HAL output component ('hal!') for each HAL output device*/
- kSoundCompressor = FOUR_CHAR_CODE('scom'),
- kSoundDecompressor = FOUR_CHAR_CODE('sdec'),
- kAudioComponentType = FOUR_CHAR_CODE('adio'), /*Audio components and sub-types*/
- kAwacsPhoneSubType = FOUR_CHAR_CODE('hphn'),
- kAudioVisionSpeakerSubType = FOUR_CHAR_CODE('telc'),
- kAudioVisionHeadphoneSubType = FOUR_CHAR_CODE('telh'),
- kPhilipsFaderSubType = FOUR_CHAR_CODE('tvav'),
- kSGSToneSubType = FOUR_CHAR_CODE('sgs0'),
- kSoundEffectsType = FOUR_CHAR_CODE('snfx'), /*sound effects type*/
- kEqualizerSubType = FOUR_CHAR_CODE('eqal'), /*frequency equalizer*/
- kSSpLocalizationSubType = FOUR_CHAR_CODE('snd3')
- };
-
- /*Format Types*/
- enum
- {
- kSoundNotCompressed = FOUR_CHAR_CODE('NONE'), /*sound is not compressed*/
- k8BitOffsetBinaryFormat = FOUR_CHAR_CODE('raw '), /*8-bit offset binary*/
- k16BitBigEndianFormat = FOUR_CHAR_CODE('twos'), /*16-bit big endian*/
- k16BitLittleEndianFormat = FOUR_CHAR_CODE('sowt'), /*16-bit little endian*/
- kFloat32Format = FOUR_CHAR_CODE('fl32'), /*32-bit floating point*/
- kFloat64Format = FOUR_CHAR_CODE('fl64'), /*64-bit floating point*/
- k24BitFormat = FOUR_CHAR_CODE('in24'), /*24-bit integer*/
- k32BitFormat = FOUR_CHAR_CODE('in32'), /*32-bit integer*/
- k32BitLittleEndianFormat = FOUR_CHAR_CODE('23ni'), /*32-bit little endian integer */
- kMACE3Compression = FOUR_CHAR_CODE('MAC3'), /*MACE 3:1*/
- kMACE6Compression = FOUR_CHAR_CODE('MAC6'), /*MACE 6:1*/
- kCDXA4Compression = FOUR_CHAR_CODE('cdx4'), /*CD/XA 4:1*/
- kCDXA2Compression = FOUR_CHAR_CODE('cdx2'), /*CD/XA 2:1*/
- kIMACompression = FOUR_CHAR_CODE('ima4'), /*IMA 4:1*/
- kULawCompression = FOUR_CHAR_CODE('ulaw'), /*.Law 2:1*/
- kALawCompression = FOUR_CHAR_CODE('alaw'), /*aLaw 2:1*/
- kMicrosoftADPCMFormat = 0x6D730002, /*Microsoft ADPCM - ACM code 2*/
- kDVIIntelIMAFormat = 0x6D730011, /*DVI/Intel IMA ADPCM - ACM code 17*/
- kMicrosoftGSMCompression = 0x6D730031, /*Microsoft GSM 6.10 - ACM code 49*/
- kDVAudioFormat = FOUR_CHAR_CODE('dvca'), /*DV Audio*/
- kQDesignCompression = FOUR_CHAR_CODE('QDMC'), /*QDesign music*/
- kQDesign2Compression = FOUR_CHAR_CODE('QDM2'), /*QDesign2 music*/
- kQUALCOMMCompression = FOUR_CHAR_CODE('Qclp'), /*QUALCOMM PureVoice*/
- kOffsetBinary = k8BitOffsetBinaryFormat, /*for compatibility*/
- kTwosComplement = k16BitBigEndianFormat, /*for compatibility*/
- kLittleEndianFormat = k16BitLittleEndianFormat, /*for compatibility*/
- kMPEGLayer3Format = 0x6D730055, /*MPEG Layer 3, CBR only (pre QT4.1)*/
- kFullMPEGLay3Format = FOUR_CHAR_CODE('.mp3'), /*MPEG Layer 3, CBR & VBR (QT4.1 and later)*/
- kVariableDurationDVAudioFormat = FOUR_CHAR_CODE('vdva') /*Variable Duration DV Audio*/
- };
+enum {
+ initChanLeft = 0x0002, /*left stereo channel*/
+ initChanRight = 0x0003, /*right stereo channel*/
+ initNoInterp = 0x0004, /*no linear interpolation*/
+ initNoDrop = 0x0008, /*no drop-sample conversion*/
+ initMono = 0x0080, /*monophonic channel*/
+ initStereo = 0x00C0, /*stereo channel*/
+ initMACE3 = 0x0300, /*MACE 3:1*/
+ initMACE6 = 0x0400, /*MACE 6:1*/
+ initPanMask = 0x0003, /*mask for right/left pan values*/
+ initSRateMask = 0x0030, /*mask for sample rate values*/
+ initStereoMask = 0x00C0, /*mask for mono/stereo values*/
+ initCompMask = 0xFF00 /*mask for compression IDs*/
+};
+
+/*Get&Set Sound Information Selectors*/
+enum {
+ siActiveChannels = FOUR_CHAR_CODE('chac'), /*active channels*/
+ siActiveLevels = FOUR_CHAR_CODE('lmac'), /*active meter levels*/
+ siAGCOnOff = FOUR_CHAR_CODE('agc '), /*automatic gain control state*/
+ siAsync = FOUR_CHAR_CODE('asyn'), /*asynchronous capability*/
+ siAVDisplayBehavior = FOUR_CHAR_CODE('avdb'),
+ siChannelAvailable = FOUR_CHAR_CODE('chav'), /*number of channels available*/
+ siCompressionAvailable = FOUR_CHAR_CODE('cmav'), /*compression types available*/
+ siCompressionFactor = FOUR_CHAR_CODE('cmfa'), /*current compression factor*/
+ siCompressionHeader = FOUR_CHAR_CODE('cmhd'), /*return compression header*/
+ siCompressionNames = FOUR_CHAR_CODE('cnam'), /*compression type names available*/
+ siCompressionParams = FOUR_CHAR_CODE('evaw'), /*compression parameters*/
+ siCompressionSampleRate = FOUR_CHAR_CODE('cprt'), /* SetInfo only: compressor's sample rate*/
+ siCompressionChannels = FOUR_CHAR_CODE('cpct'), /* SetInfo only: compressor's number of channels*/
+ siCompressionOutputSampleRate = FOUR_CHAR_CODE('cort'), /* GetInfo only: only implemented by compressors that have differing in and out rates */
+ siCompressionInputRateList = FOUR_CHAR_CODE('crtl'), /* GetInfo only: only implemented by compressors that only take certain input rates */
+ siCompressionType = FOUR_CHAR_CODE('comp'), /*current compression type*/
+ siCompressionConfiguration = FOUR_CHAR_CODE('ccfg'), /*compression extensions*/
+ siContinuous = FOUR_CHAR_CODE('cont'), /*continous recording*/
+ siDecompressionParams = FOUR_CHAR_CODE('wave'), /*decompression parameters*/
+ siDecompressionConfiguration = FOUR_CHAR_CODE('dcfg'), /*decompression extensions*/
+ siDeviceBufferInfo = FOUR_CHAR_CODE('dbin'), /*size of interrupt buffer*/
+ siDeviceConnected = FOUR_CHAR_CODE('dcon'), /*input device connection status*/
+ siDeviceIcon = FOUR_CHAR_CODE('icon'), /*input device icon*/
+ siDeviceName = FOUR_CHAR_CODE('name'), /*input device name*/
+ siEQSpectrumBands = FOUR_CHAR_CODE('eqsb'), /* number of spectrum bands*/
+ siEQSpectrumLevels = FOUR_CHAR_CODE('eqlv'), /* gets spectum meter levels*/
+ siEQSpectrumOnOff = FOUR_CHAR_CODE('eqlo'), /* turn on/off spectum meter levels*/
+ siEQSpectrumResolution = FOUR_CHAR_CODE('eqrs'), /* set the resolution of the FFT, 0 = low res (<=16 bands), 1 = high res (16-64 bands)*/
+ siEQToneControlGain = FOUR_CHAR_CODE('eqtg'), /* set the bass and treble gain*/
+ siEQToneControlOnOff = FOUR_CHAR_CODE('eqtc'), /* turn on equalizer attenuation*/
+ siHardwareBalance = FOUR_CHAR_CODE('hbal'),
+ siHardwareBalanceSteps = FOUR_CHAR_CODE('hbls'),
+ siHardwareBass = FOUR_CHAR_CODE('hbas'),
+ siHardwareBassSteps = FOUR_CHAR_CODE('hbst'),
+ siHardwareBusy = FOUR_CHAR_CODE('hwbs'), /*sound hardware is in use*/
+ siHardwareFormat = FOUR_CHAR_CODE('hwfm'), /*get hardware format*/
+ siHardwareMute = FOUR_CHAR_CODE('hmut'), /*mute state of all hardware*/
+ siHardwareMuteNoPrefs = FOUR_CHAR_CODE('hmnp'), /*mute state of all hardware, but don't store in prefs */
+ siHardwareTreble = FOUR_CHAR_CODE('htrb'),
+ siHardwareTrebleSteps = FOUR_CHAR_CODE('hwts'),
+ siHardwareVolume = FOUR_CHAR_CODE('hvol'), /*volume level of all hardware*/
+ siHardwareVolumeSteps = FOUR_CHAR_CODE('hstp'), /*number of volume steps for hardware*/
+ siHeadphoneMute = FOUR_CHAR_CODE('pmut'), /*mute state of headphones*/
+ siHeadphoneVolume = FOUR_CHAR_CODE('pvol'), /*volume level of headphones*/
+ siHeadphoneVolumeSteps = FOUR_CHAR_CODE('hdst'), /*number of volume steps for headphones*/
+ siInputAvailable = FOUR_CHAR_CODE('inav'), /*input sources available*/
+ siInputGain = FOUR_CHAR_CODE('gain'), /*input gain*/
+ siInputSource = FOUR_CHAR_CODE('sour'), /*input source selector*/
+ siInputSourceNames = FOUR_CHAR_CODE('snam'), /*input source names*/
+ siLevelMeterOnOff = FOUR_CHAR_CODE('lmet'), /*level meter state*/
+ siModemGain = FOUR_CHAR_CODE('mgai'), /*modem input gain*/
+ siMonitorAvailable = FOUR_CHAR_CODE('mnav'),
+ siMonitorSource = FOUR_CHAR_CODE('mons'),
+ siNumberChannels = FOUR_CHAR_CODE('chan'), /*current number of channels*/
+ siOptionsDialog = FOUR_CHAR_CODE('optd'), /*display options dialog*/
+ siOSTypeInputSource = FOUR_CHAR_CODE('inpt'), /*input source by OSType*/
+ siOSTypeInputAvailable = FOUR_CHAR_CODE('inav'), /*list of available input source OSTypes*/
+ siOutputDeviceName = FOUR_CHAR_CODE('onam'), /*output device name*/
+ siPlayThruOnOff = FOUR_CHAR_CODE('plth'), /*playthrough state*/
+ siPostMixerSoundComponent = FOUR_CHAR_CODE('psmx'), /*install post-mixer effect*/
+ siPreMixerSoundComponent = FOUR_CHAR_CODE('prmx'), /*install pre-mixer effect*/
+ siQuality = FOUR_CHAR_CODE('qual'), /*quality setting*/
+ siRateMultiplier = FOUR_CHAR_CODE('rmul'), /*throttle rate setting*/
+ siRecordingQuality = FOUR_CHAR_CODE('qual'), /*recording quality*/
+ siSampleRate = FOUR_CHAR_CODE('srat'), /*current sample rate*/
+ siSampleRateAvailable = FOUR_CHAR_CODE('srav'), /*sample rates available*/
+ siSampleSize = FOUR_CHAR_CODE('ssiz'), /*current sample size*/
+ siSampleSizeAvailable = FOUR_CHAR_CODE('ssav'), /*sample sizes available*/
+ siSetupCDAudio = FOUR_CHAR_CODE('sucd'), /*setup sound hardware for CD audio*/
+ siSetupModemAudio = FOUR_CHAR_CODE('sumd'), /*setup sound hardware for modem audio*/
+ siSlopeAndIntercept = FOUR_CHAR_CODE('flap'), /*floating point variables for conversion*/
+ siSoundClock = FOUR_CHAR_CODE('sclk'),
+ siUseThisSoundClock = FOUR_CHAR_CODE('sclc'), /*sdev uses this to tell the mixer to use his sound clock*/
+ siSpeakerMute = FOUR_CHAR_CODE('smut'), /*mute state of all built-in speaker*/
+ siSpeakerVolume = FOUR_CHAR_CODE('svol'), /*volume level of built-in speaker*/
+ siSSpCPULoadLimit = FOUR_CHAR_CODE('3dll'),
+ siSSpLocalization = FOUR_CHAR_CODE('3dif'),
+ siSSpSpeakerSetup = FOUR_CHAR_CODE('3dst'),
+ siStereoInputGain = FOUR_CHAR_CODE('sgai'), /*stereo input gain*/
+ siSubwooferMute = FOUR_CHAR_CODE('bmut'), /*mute state of sub-woofer*/
+ siTerminalType = FOUR_CHAR_CODE('ttyp'), /* usb terminal type */
+ siTwosComplementOnOff = FOUR_CHAR_CODE('twos'), /*two's complement state*/
+ siVendorProduct = FOUR_CHAR_CODE('vpro'), /* vendor and product ID */
+ siVolume = FOUR_CHAR_CODE('volu'), /*volume level of source*/
+ siVoxRecordInfo = FOUR_CHAR_CODE('voxr'), /*VOX record parameters*/
+ siVoxStopInfo = FOUR_CHAR_CODE('voxs'), /*VOX stop parameters*/
+ siWideStereo = FOUR_CHAR_CODE('wide'), /*wide stereo setting*/
+ siSupportedExtendedFlags = FOUR_CHAR_CODE('exfl'), /*which flags are supported in Extended sound data structures*/
+ siRateConverterRollOffSlope = FOUR_CHAR_CODE('rcdb'), /*the roll-off slope for the rate converter's filter, in whole dB as a long this value is a long whose range is from 20 (worst quality/fastest performance) to 90 (best quality/slowest performance)*/
+ siOutputLatency = FOUR_CHAR_CODE('olte'), /*latency of sound output component*/
+ siHALAudioDeviceID = FOUR_CHAR_CODE('hlid'), /*audio device id*/
+ siHALAudioDeviceUniqueID = FOUR_CHAR_CODE('huid'), /*audio device unique id*/
+ siClientAcceptsVBR = FOUR_CHAR_CODE('cvbr'), /*client handles VBR*/
+ siSourceIsExhausted = FOUR_CHAR_CODE('srcx'), /*the ultimate source of data has run out (keep asking, but when you get nothing, that's it)*/
+ siMediaContextID = FOUR_CHAR_CODE('uuid'), /*media context id -- UUID */
+ siCompressionMaxPacketSize = FOUR_CHAR_CODE('cmxp'), /*maximum compressed packet size for current configuration -- unsigned long */
+ siAudioCodecPropertyValue = FOUR_CHAR_CODE('spva'), /*audio codec property value -- SoundAudioCodecPropertyRequestParams* */
+ siAudioCodecPropertyInfo = FOUR_CHAR_CODE('spin') /*audio codec property info -- SoundAudioCodecPropertyRequestParams* */
+};
+
+enum {
+ siCloseDriver = FOUR_CHAR_CODE('clos'), /*reserved for internal use only*/
+ siInitializeDriver = FOUR_CHAR_CODE('init'), /*reserved for internal use only*/
+ siPauseRecording = FOUR_CHAR_CODE('paus'), /*reserved for internal use only*/
+ siUserInterruptProc = FOUR_CHAR_CODE('user') /*reserved for internal use only*/
+};
+
+/* input source Types*/
+enum {
+ kInvalidSource = (long)0xFFFFFFFF, /*this source may be returned from GetInfo if no other source is the monitored source*/
+ kNoSource = FOUR_CHAR_CODE('none'), /*no source selection*/
+ kCDSource = FOUR_CHAR_CODE('cd '), /*internal CD player input*/
+ kExtMicSource = FOUR_CHAR_CODE('emic'), /*external mic input*/
+ kSoundInSource = FOUR_CHAR_CODE('sinj'), /*sound input jack*/
+ kRCAInSource = FOUR_CHAR_CODE('irca'), /*RCA jack input*/
+ kTVFMTunerSource = FOUR_CHAR_CODE('tvfm'),
+ kDAVInSource = FOUR_CHAR_CODE('idav'), /*DAV analog input*/
+ kIntMicSource = FOUR_CHAR_CODE('imic'), /*internal mic input*/
+ kMediaBaySource = FOUR_CHAR_CODE('mbay'), /*media bay input*/
+ kModemSource = FOUR_CHAR_CODE('modm'), /*modem input (internal modem on desktops, PCI input on PowerBooks)*/
+ kPCCardSource = FOUR_CHAR_CODE('pcm '), /*PC Card pwm input*/
+ kZoomVideoSource = FOUR_CHAR_CODE('zvpc'), /*zoom video input*/
+ kDVDSource = FOUR_CHAR_CODE('dvda'), /* DVD audio input*/
+ kMicrophoneArray = FOUR_CHAR_CODE('mica') /* microphone array*/
+};
+
+/*Sound Component Types and Subtypes*/
+enum {
+ kNoSoundComponentType = FOUR_CHAR_CODE('****'),
+ kSoundComponentType = FOUR_CHAR_CODE('sift'), /*component type*/
+ kSoundComponentPPCType = FOUR_CHAR_CODE('nift'), /*component type for PowerPC code*/
+ kRate8SubType = FOUR_CHAR_CODE('ratb'), /*8-bit rate converter*/
+ kRate16SubType = FOUR_CHAR_CODE('ratw'), /*16-bit rate converter*/
+ kConverterSubType = FOUR_CHAR_CODE('conv'), /*sample format converter*/
+ kSndSourceSubType = FOUR_CHAR_CODE('sour'), /*generic source component*/
+ kMixerType = FOUR_CHAR_CODE('mixr'),
+ kMixer8SubType = FOUR_CHAR_CODE('mixb'), /*8-bit mixer*/
+ kMixer16SubType = FOUR_CHAR_CODE('mixw'), /*16-bit mixer*/
+ kSoundInputDeviceType = FOUR_CHAR_CODE('sinp'), /*sound input component*/
+ kWaveInSubType = FOUR_CHAR_CODE('wavi'), /*Windows waveIn*/
+ kWaveInSnifferSubType = FOUR_CHAR_CODE('wisn'), /*Windows waveIn sniffer*/
+ kSoundOutputDeviceType = FOUR_CHAR_CODE('sdev'), /*sound output component*/
+ kClassicSubType = FOUR_CHAR_CODE('clas'), /*classic hardware, i.e. Mac Plus*/
+ kASCSubType = FOUR_CHAR_CODE('asc '), /*Apple Sound Chip device*/
+ kDSPSubType = FOUR_CHAR_CODE('dsp '), /*DSP device*/
+ kAwacsSubType = FOUR_CHAR_CODE('awac'), /*Another of Will's Audio Chips device*/
+ kGCAwacsSubType = FOUR_CHAR_CODE('awgc'), /*Awacs audio with Grand Central DMA*/
+ kSingerSubType = FOUR_CHAR_CODE('sing'), /*Singer (via Whitney) based sound*/
+ kSinger2SubType = FOUR_CHAR_CODE('sng2'), /*Singer 2 (via Whitney) for Acme*/
+ kWhitSubType = FOUR_CHAR_CODE('whit'), /*Whit sound component for PrimeTime 3*/
+ kSoundBlasterSubType = FOUR_CHAR_CODE('sbls'), /*Sound Blaster for CHRP*/
+ kWaveOutSubType = FOUR_CHAR_CODE('wavo'), /*Windows waveOut*/
+ kWaveOutSnifferSubType = FOUR_CHAR_CODE('wosn'), /*Windows waveOut sniffer*/
+ kDirectSoundSubType = FOUR_CHAR_CODE('dsnd'), /*Windows DirectSound*/
+ kDirectSoundSnifferSubType = FOUR_CHAR_CODE('dssn'), /*Windows DirectSound sniffer*/
+ kUNIXsdevSubType = FOUR_CHAR_CODE('un1x'), /*UNIX base sdev*/
+ kUSBSubType = FOUR_CHAR_CODE('usb '), /*USB device*/
+ kBlueBoxSubType = FOUR_CHAR_CODE('bsnd'), /*Blue Box sound component*/
+ kHALCustomComponentSubType = FOUR_CHAR_CODE('halx'), /*Registered by the HAL output component ('hal!') for each HAL output device*/
+ kSoundCompressor = FOUR_CHAR_CODE('scom'),
+ kSoundDecompressor = FOUR_CHAR_CODE('sdec'),
+ kAudioComponentType = FOUR_CHAR_CODE('adio'), /*Audio components and sub-types*/
+ kAwacsPhoneSubType = FOUR_CHAR_CODE('hphn'),
+ kAudioVisionSpeakerSubType = FOUR_CHAR_CODE('telc'),
+ kAudioVisionHeadphoneSubType = FOUR_CHAR_CODE('telh'),
+ kPhilipsFaderSubType = FOUR_CHAR_CODE('tvav'),
+ kSGSToneSubType = FOUR_CHAR_CODE('sgs0'),
+ kSoundEffectsType = FOUR_CHAR_CODE('snfx'), /*sound effects type*/
+ kEqualizerSubType = FOUR_CHAR_CODE('eqal'), /*frequency equalizer*/
+ kSSpLocalizationSubType = FOUR_CHAR_CODE('snd3')
+};
+
+/*Format Types*/
+enum {
+ kSoundNotCompressed = FOUR_CHAR_CODE('NONE'), /*sound is not compressed*/
+ k8BitOffsetBinaryFormat = FOUR_CHAR_CODE('raw '), /*8-bit offset binary*/
+ k16BitBigEndianFormat = FOUR_CHAR_CODE('twos'), /*16-bit big endian*/
+ k16BitLittleEndianFormat = FOUR_CHAR_CODE('sowt'), /*16-bit little endian*/
+ kFloat32Format = FOUR_CHAR_CODE('fl32'), /*32-bit floating point*/
+ kFloat64Format = FOUR_CHAR_CODE('fl64'), /*64-bit floating point*/
+ k24BitFormat = FOUR_CHAR_CODE('in24'), /*24-bit integer*/
+ k32BitFormat = FOUR_CHAR_CODE('in32'), /*32-bit integer*/
+ k32BitLittleEndianFormat = FOUR_CHAR_CODE('23ni'), /*32-bit little endian integer */
+ kMACE3Compression = FOUR_CHAR_CODE('MAC3'), /*MACE 3:1*/
+ kMACE6Compression = FOUR_CHAR_CODE('MAC6'), /*MACE 6:1*/
+ kCDXA4Compression = FOUR_CHAR_CODE('cdx4'), /*CD/XA 4:1*/
+ kCDXA2Compression = FOUR_CHAR_CODE('cdx2'), /*CD/XA 2:1*/
+ kIMACompression = FOUR_CHAR_CODE('ima4'), /*IMA 4:1*/
+ kULawCompression = FOUR_CHAR_CODE('ulaw'), /*.Law 2:1*/
+ kALawCompression = FOUR_CHAR_CODE('alaw'), /*aLaw 2:1*/
+ kMicrosoftADPCMFormat = 0x6D730002, /*Microsoft ADPCM - ACM code 2*/
+ kDVIIntelIMAFormat = 0x6D730011, /*DVI/Intel IMA ADPCM - ACM code 17*/
+ kMicrosoftGSMCompression = 0x6D730031, /*Microsoft GSM 6.10 - ACM code 49*/
+ kDVAudioFormat = FOUR_CHAR_CODE('dvca'), /*DV Audio*/
+ kQDesignCompression = FOUR_CHAR_CODE('QDMC'), /*QDesign music*/
+ kQDesign2Compression = FOUR_CHAR_CODE('QDM2'), /*QDesign2 music*/
+ kQUALCOMMCompression = FOUR_CHAR_CODE('Qclp'), /*QUALCOMM PureVoice*/
+ kOffsetBinary = k8BitOffsetBinaryFormat, /*for compatibility*/
+ kTwosComplement = k16BitBigEndianFormat, /*for compatibility*/
+ kLittleEndianFormat = k16BitLittleEndianFormat, /*for compatibility*/
+ kMPEGLayer3Format = 0x6D730055, /*MPEG Layer 3, CBR only (pre QT4.1)*/
+ kFullMPEGLay3Format = FOUR_CHAR_CODE('.mp3'), /*MPEG Layer 3, CBR & VBR (QT4.1 and later)*/
+ kVariableDurationDVAudioFormat = FOUR_CHAR_CODE('vdva') /*Variable Duration DV Audio*/
+};
#if TARGET_RT_LITTLE_ENDIAN
- enum
- {
- k16BitNativeEndianFormat = k16BitLittleEndianFormat,
- k16BitNonNativeEndianFormat = k16BitBigEndianFormat
- };
+enum {
+ k16BitNativeEndianFormat = k16BitLittleEndianFormat,
+ k16BitNonNativeEndianFormat = k16BitBigEndianFormat
+};
#else
- enum
- {
- k16BitNativeEndianFormat = k16BitBigEndianFormat,
- k16BitNonNativeEndianFormat = k16BitLittleEndianFormat
- };
+enum {
+ k16BitNativeEndianFormat = k16BitBigEndianFormat,
+ k16BitNonNativeEndianFormat = k16BitLittleEndianFormat
+};
#endif /* TARGET_RT_LITTLE_ENDIAN */
- /*Features Flags*/
- enum
- {
- k8BitRawIn = (1 << 0), /*data description*/
- k8BitTwosIn = (1 << 1),
- k16BitIn = (1 << 2),
- kStereoIn = (1 << 3),
- k8BitRawOut = (1 << 8),
- k8BitTwosOut = (1 << 9),
- k16BitOut = (1 << 10),
- kStereoOut = (1 << 11),
- kReverse = (1L << 16), /* function description*/
- kRateConvert = (1L << 17),
- kCreateSoundSource = (1L << 18),
- kVMAwareness = (1L << 21), /* component will hold its memory*/
- kHighQuality = (1L << 22), /* performance description*/
- kNonRealTime = (1L << 23)
- };
-
- /*'snfo' Resource Feature Flags*/
- enum
- {
- kSoundCodecInfoFixedCompression = (1L << 0), /* has fixed compression format*/
- kSoundCodecInfoVariableCompression = (1L << 1), /* has variable compression format*/
- kSoundCodecInfoHasRestrictedInputRates = (1L << 2), /* compressor has restricted set of input sample rates*/
- kSoundCodecInfoCanChangeOutputRate = (1L << 3), /* compressor may output a different sample rate than it receives*/
- kSoundCodecInfoRequiresExternalFraming = (1L << 4), /* format requires external framing information during decode/encode*/
- kSoundCodecInfoVariableDuration = (1L << 5) /* audio packets can vary in duration*/
- };
-
- /*SoundComponentPlaySourceBuffer action flags*/
- enum
- {
- kSourcePaused = (1 << 0),
- kPassThrough = (1L << 16),
- kNoSoundComponentChain = (1L << 17)
- };
-
- /*SoundParamBlock flags, usefull for OpenMixerSoundComponent*/
- enum
- {
- kNoMixing = (1 << 0), /*don't mix source*/
- kNoSampleRateConversion = (1 << 1), /*don't convert sample rate (i.e. 11 kHz -> 22 kHz)*/
- kNoSampleSizeConversion = (1 << 2), /*don't convert sample size (i.e. 16 -> 8)*/
- kNoSampleFormatConversion = (1 << 3), /*don't convert sample format (i.e. 'twos' -> 'raw ')*/
- kNoChannelConversion = (1 << 4), /*don't convert stereo/mono*/
- kNoDecompression = (1 << 5), /*don't decompress (i.e. 'MAC3' -> 'raw ')*/
- kNoVolumeConversion = (1 << 6), /*don't apply volume*/
- kNoRealtimeProcessing = (1 << 7), /*won't run at interrupt time*/
- kScheduledSource = (1 << 8), /*source is scheduled*/
- kNonInterleavedBuffer = (1 << 9), /*buffer is not interleaved samples*/
- kNonPagingMixer = (1 << 10), /*if VM is on, use the non-paging mixer*/
- kSoundConverterMixer = (1 << 11), /*the mixer is to be used by the SoundConverter*/
- kPagingMixer = (1 << 12), /*the mixer is to be used as a paging mixer when VM is on*/
- kVMAwareMixer = (1 << 13), /*passed to the output device when the SM is going to deal with VM safety*/
- kExtendedSoundData = (1 << 14) /*SoundComponentData record is actually an ExtendedSoundComponentData*/
- };
-
- /*SoundParamBlock quality settings*/
- enum
- {
- kBestQuality = (1 << 0) /*use interpolation in rate conversion*/
- };
-
- /*useful bit masks*/
- enum
- {
- kInputMask = 0x000000FF, /*masks off input bits*/
- kOutputMask = 0x0000FF00, /*masks off output bits*/
- kOutputShift = 8, /*amount output bits are shifted*/
- kActionMask = 0x00FF0000, /*masks off action bits*/
- kSoundComponentBits = 0x00FFFFFF
- };
-
- /*audio atom types*/
- enum
- {
- kAudioFormatAtomType = FOUR_CHAR_CODE('frma'),
- kAudioEndianAtomType = FOUR_CHAR_CODE('enda'),
- kAudioVBRAtomType = FOUR_CHAR_CODE('vbra'),
- kAudioTerminatorAtomType = 0
- };
-
- /*siAVDisplayBehavior types*/
- enum
- {
- kAVDisplayHeadphoneRemove = 0, /* monitor does not have a headphone attached*/
- kAVDisplayHeadphoneInsert = 1, /* monitor has a headphone attached*/
- kAVDisplayPlainTalkRemove = 2, /* monitor either sending no input through CPU input port or unable to tell if input is coming in*/
- kAVDisplayPlainTalkInsert = 3 /* monitor sending PlainTalk level microphone source input through sound input port*/
- };
-
- /*Audio Component constants*/
- enum
- {
- /*Values for whichChannel parameter*/
- audioAllChannels = 0, /*All channels (usually interpreted as both left and right)*/
- audioLeftChannel = 1, /*Left channel*/
- audioRightChannel = 2, /*Right channel*/
- /*Values for mute parameter*/
- audioUnmuted = 0, /*Device is unmuted*/
- audioMuted = 1, /*Device is muted*/
- /*Capabilities flags definitions*/
- audioDoesMono = (1L << 0), /*Device supports mono output*/
- audioDoesStereo = (1L << 1), /*Device supports stereo output*/
- audioDoesIndependentChannels = (1L << 2) /*Device supports independent software control of each channel*/
- };
-
- /*Sound Input Qualities*/
- enum
- {
- siCDQuality = FOUR_CHAR_CODE('cd '), /*44.1kHz, stereo, 16 bit*/
- siBestQuality = FOUR_CHAR_CODE('best'), /*22kHz, mono, 8 bit*/
- siBetterQuality = FOUR_CHAR_CODE('betr'), /*22kHz, mono, MACE 3:1*/
- siGoodQuality = FOUR_CHAR_CODE('good'), /*22kHz, mono, MACE 6:1*/
- siNoneQuality = FOUR_CHAR_CODE('none') /*settings don't match any quality for a get call*/
- };
-
- enum
- {
- siDeviceIsConnected = 1, /*input device is connected and ready for input*/
- siDeviceNotConnected = 0, /*input device is not connected*/
- siDontKnowIfConnected = -1, /*can't tell if input device is connected*/
- siReadPermission = 0, /*permission passed to SPBOpenDevice*/
- siWritePermission = 1 /*permission passed to SPBOpenDevice*/
- };
-
- /*flags that SoundConverterFillBuffer will return*/
- enum
- {
- kSoundConverterDidntFillBuffer = (1 << 0), /*set if the converter couldn't completely satisfy a SoundConverterFillBuffer request*/
- kSoundConverterHasLeftOverData = (1 << 1) /*set if the converter had left over data after completely satisfying a SoundConverterFillBuffer call*/
- };
-
- /* flags for extendedFlags fields of ExtendedSoundComponentData, ExtendedSoundParamBlock, and ExtendedScheduledSoundHeader*/
- enum
- {
- kExtendedSoundSampleCountNotValid = 1L << 0, /* set if sampleCount of SoundComponentData isn't meaningful; use buffer size instead*/
- kExtendedSoundBufferSizeValid = 1L << 1, /* set if bufferSize field is valid*/
- kExtendedSoundFrameSizesValid = 1L << 2, /* set if frameSizesArray is valid (will be nil if all sizes are common and kExtendedSoundCommonFrameSizeValid is set*/
- kExtendedSoundCommonFrameSizeValid = 1L << 3, /* set if all audio frames have the same size and the commonFrameSize field is valid*/
- kExtendedSoundExtensionsValid = 1L << 4, /* set if pointer to extensions array is valid*/
- kExtendedSoundBufferFlagsValid = 1L << 5 /* set if buffer flags field is valid*/
- };
-
- /* flags passed in bufferFlags/bufferFlagsMask extended fields if kExtendedSoundBufferFlagsValid extended flag is set*/
- enum
- {
- kExtendedSoundBufferIsDiscontinuous = 1L << 0, /* buffer is discontinuous with previous buffer*/
- kExtendedSoundBufferIsFirstBuffer = 1L << 1 /* buffer is first buffer*/
- };
-
- /*
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- typedefs
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- */
-
- struct SndCommand
- {
- unsigned short cmd;
- short param1;
- long param2;
- };
- typedef struct SndCommand SndCommand;
- typedef struct SndChannel SndChannel;
-
- typedef SndChannel * SndChannelPtr;
- typedef CALLBACK_API(void , SndCallBackProcPtr)(SndChannelPtr chan, SndCommand *cmd);
- typedef STACK_UPP_TYPE(SndCallBackProcPtr) SndCallBackUPP;
- struct SndChannel
- {
- SndChannelPtr nextChan;
- Ptr firstMod; /* reserved for the Sound Manager */
- SndCallBackUPP callBack;
- long userInfo;
- long wait; /* The following is for internal Sound Manager use only.*/
- SndCommand cmdInProgress;
- short flags;
- short qLength;
- short qHead;
- short qTail;
- SndCommand queue[128];
- };
-
- /*
- * NewSndCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SndCallBackUPP)
- NewSndCallBackUPP(SndCallBackProcPtr userRoutine);
+/*Features Flags*/
+enum {
+ k8BitRawIn = (1 << 0), /*data description*/
+ k8BitTwosIn = (1 << 1),
+ k16BitIn = (1 << 2),
+ kStereoIn = (1 << 3),
+ k8BitRawOut = (1 << 8),
+ k8BitTwosOut = (1 << 9),
+ k16BitOut = (1 << 10),
+ kStereoOut = (1 << 11),
+ kReverse = (1L << 16), /* function description*/
+ kRateConvert = (1L << 17),
+ kCreateSoundSource = (1L << 18),
+ kVMAwareness = (1L << 21), /* component will hold its memory*/
+ kHighQuality = (1L << 22), /* performance description*/
+ kNonRealTime = (1L << 23)
+};
+
+/*'snfo' Resource Feature Flags*/
+enum {
+ kSoundCodecInfoFixedCompression = (1L << 0), /* has fixed compression format*/
+ kSoundCodecInfoVariableCompression = (1L << 1), /* has variable compression format*/
+ kSoundCodecInfoHasRestrictedInputRates = (1L << 2), /* compressor has restricted set of input sample rates*/
+ kSoundCodecInfoCanChangeOutputRate = (1L << 3), /* compressor may output a different sample rate than it receives*/
+ kSoundCodecInfoRequiresExternalFraming = (1L << 4), /* format requires external framing information during decode/encode*/
+ kSoundCodecInfoVariableDuration = (1L << 5) /* audio packets can vary in duration*/
+};
+
+/*SoundComponentPlaySourceBuffer action flags*/
+enum {
+ kSourcePaused = (1 << 0),
+ kPassThrough = (1L << 16),
+ kNoSoundComponentChain = (1L << 17)
+};
+
+/*SoundParamBlock flags, usefull for OpenMixerSoundComponent*/
+enum {
+ kNoMixing = (1 << 0), /*don't mix source*/
+ kNoSampleRateConversion = (1 << 1), /*don't convert sample rate (i.e. 11 kHz -> 22 kHz)*/
+ kNoSampleSizeConversion = (1 << 2), /*don't convert sample size (i.e. 16 -> 8)*/
+ kNoSampleFormatConversion = (1 << 3), /*don't convert sample format (i.e. 'twos' -> 'raw ')*/
+ kNoChannelConversion = (1 << 4), /*don't convert stereo/mono*/
+ kNoDecompression = (1 << 5), /*don't decompress (i.e. 'MAC3' -> 'raw ')*/
+ kNoVolumeConversion = (1 << 6), /*don't apply volume*/
+ kNoRealtimeProcessing = (1 << 7), /*won't run at interrupt time*/
+ kScheduledSource = (1 << 8), /*source is scheduled*/
+ kNonInterleavedBuffer = (1 << 9), /*buffer is not interleaved samples*/
+ kNonPagingMixer = (1 << 10), /*if VM is on, use the non-paging mixer*/
+ kSoundConverterMixer = (1 << 11), /*the mixer is to be used by the SoundConverter*/
+ kPagingMixer = (1 << 12), /*the mixer is to be used as a paging mixer when VM is on*/
+ kVMAwareMixer = (1 << 13), /*passed to the output device when the SM is going to deal with VM safety*/
+ kExtendedSoundData = (1 << 14) /*SoundComponentData record is actually an ExtendedSoundComponentData*/
+};
+
+/*SoundParamBlock quality settings*/
+enum {
+ kBestQuality = (1 << 0) /*use interpolation in rate conversion*/
+};
+
+/*useful bit masks*/
+enum {
+ kInputMask = 0x000000FF, /*masks off input bits*/
+ kOutputMask = 0x0000FF00, /*masks off output bits*/
+ kOutputShift = 8, /*amount output bits are shifted*/
+ kActionMask = 0x00FF0000, /*masks off action bits*/
+ kSoundComponentBits = 0x00FFFFFF
+};
+
+/*audio atom types*/
+enum {
+ kAudioFormatAtomType = FOUR_CHAR_CODE('frma'),
+ kAudioEndianAtomType = FOUR_CHAR_CODE('enda'),
+ kAudioVBRAtomType = FOUR_CHAR_CODE('vbra'),
+ kAudioTerminatorAtomType = 0
+};
+
+/*siAVDisplayBehavior types*/
+enum {
+ kAVDisplayHeadphoneRemove = 0, /* monitor does not have a headphone attached*/
+ kAVDisplayHeadphoneInsert = 1, /* monitor has a headphone attached*/
+ kAVDisplayPlainTalkRemove = 2, /* monitor either sending no input through CPU input port or unable to tell if input is coming in*/
+ kAVDisplayPlainTalkInsert = 3 /* monitor sending PlainTalk level microphone source input through sound input port*/
+};
+
+/*Audio Component constants*/
+enum {
+ /*Values for whichChannel parameter*/
+ audioAllChannels = 0, /*All channels (usually interpreted as both left and right)*/
+ audioLeftChannel = 1, /*Left channel*/
+ audioRightChannel = 2, /*Right channel*/
+ /*Values for mute parameter*/
+ audioUnmuted = 0, /*Device is unmuted*/
+ audioMuted = 1, /*Device is muted*/
+ /*Capabilities flags definitions*/
+ audioDoesMono = (1L << 0), /*Device supports mono output*/
+ audioDoesStereo = (1L << 1), /*Device supports stereo output*/
+ audioDoesIndependentChannels = (1L << 2) /*Device supports independent software control of each channel*/
+};
+
+/*Sound Input Qualities*/
+enum {
+ siCDQuality = FOUR_CHAR_CODE('cd '), /*44.1kHz, stereo, 16 bit*/
+ siBestQuality = FOUR_CHAR_CODE('best'), /*22kHz, mono, 8 bit*/
+ siBetterQuality = FOUR_CHAR_CODE('betr'), /*22kHz, mono, MACE 3:1*/
+ siGoodQuality = FOUR_CHAR_CODE('good'), /*22kHz, mono, MACE 6:1*/
+ siNoneQuality = FOUR_CHAR_CODE('none') /*settings don't match any quality for a get call*/
+};
+
+enum {
+ siDeviceIsConnected = 1, /*input device is connected and ready for input*/
+ siDeviceNotConnected = 0, /*input device is not connected*/
+ siDontKnowIfConnected = -1, /*can't tell if input device is connected*/
+ siReadPermission = 0, /*permission passed to SPBOpenDevice*/
+ siWritePermission = 1 /*permission passed to SPBOpenDevice*/
+};
+
+/*flags that SoundConverterFillBuffer will return*/
+enum {
+ kSoundConverterDidntFillBuffer = (1 << 0), /*set if the converter couldn't completely satisfy a SoundConverterFillBuffer request*/
+ kSoundConverterHasLeftOverData = (1 << 1) /*set if the converter had left over data after completely satisfying a SoundConverterFillBuffer call*/
+};
+
+/* flags for extendedFlags fields of ExtendedSoundComponentData, ExtendedSoundParamBlock, and ExtendedScheduledSoundHeader*/
+enum {
+ kExtendedSoundSampleCountNotValid = 1L << 0, /* set if sampleCount of SoundComponentData isn't meaningful; use buffer size instead*/
+ kExtendedSoundBufferSizeValid = 1L << 1, /* set if bufferSize field is valid*/
+ kExtendedSoundFrameSizesValid = 1L << 2, /* set if frameSizesArray is valid (will be nil if all sizes are common and kExtendedSoundCommonFrameSizeValid is set*/
+ kExtendedSoundCommonFrameSizeValid = 1L << 3, /* set if all audio frames have the same size and the commonFrameSize field is valid*/
+ kExtendedSoundExtensionsValid = 1L << 4, /* set if pointer to extensions array is valid*/
+ kExtendedSoundBufferFlagsValid = 1L << 5 /* set if buffer flags field is valid*/
+};
+
+/* flags passed in bufferFlags/bufferFlagsMask extended fields if kExtendedSoundBufferFlagsValid extended flag is set*/
+enum {
+ kExtendedSoundBufferIsDiscontinuous = 1L << 0, /* buffer is discontinuous with previous buffer*/
+ kExtendedSoundBufferIsFirstBuffer = 1L << 1 /* buffer is first buffer*/
+};
+
+/*
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ typedefs
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+
+struct SndCommand {
+ unsigned short cmd;
+ short param1;
+ long param2;
+};
+typedef struct SndCommand SndCommand;
+typedef struct SndChannel SndChannel;
+
+typedef SndChannel * SndChannelPtr;
+typedef CALLBACK_API( void , SndCallBackProcPtr )(SndChannelPtr chan, SndCommand *cmd);
+typedef STACK_UPP_TYPE(SndCallBackProcPtr) SndCallBackUPP;
+struct SndChannel {
+ SndChannelPtr nextChan;
+ Ptr firstMod; /* reserved for the Sound Manager */
+ SndCallBackUPP callBack;
+ long userInfo;
+ long wait; /* The following is for internal Sound Manager use only.*/
+ SndCommand cmdInProgress;
+ short flags;
+ short qLength;
+ short qHead;
+ short qTail;
+ SndCommand queue[128];
+};
+
+/*
+ * NewSndCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SndCallBackUPP )
+NewSndCallBackUPP(SndCallBackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSndCallBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SndCallBackUPP) NewSndCallBackUPP(SndCallBackProcPtr userRoutine)
- {
- return (SndCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndCallBackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSndCallBackUPP(userRoutine) (SndCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndCallBackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSndCallBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SndCallBackUPP) NewSndCallBackUPP(SndCallBackProcPtr userRoutine) { return (SndCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndCallBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSndCallBackUPP(userRoutine) (SndCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndCallBackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeSndCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSndCallBackUPP(SndCallBackUPP userUPP);
+/*
+ * DisposeSndCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSndCallBackUPP(SndCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSndCallBackUPP(SndCallBackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSndCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSndCallBackUPP(SndCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSndCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeSndCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSndCallBackUPP(
- SndChannelPtr chan,
- SndCommand * cmd,
- SndCallBackUPP userUPP);
+/*
+ * InvokeSndCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSndCallBackUPP(
+ SndChannelPtr chan,
+ SndCommand * cmd,
+ SndCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSndCallBackUPP(SndChannelPtr chan, SndCommand * cmd, SndCallBackUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppSndCallBackProcInfo, chan, cmd);
- }
-#else
-#define InvokeSndCallBackUPP(chan, cmd, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSndCallBackProcInfo, (chan), (cmd))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSndCallBackUPP(SndChannelPtr chan, SndCommand * cmd, SndCallBackUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppSndCallBackProcInfo, chan, cmd); }
+ #else
+ #define InvokeSndCallBackUPP(chan, cmd, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSndCallBackProcInfo, (chan), (cmd))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSndCallBackProc(userRoutine) NewSndCallBackUPP(userRoutine)
-#define CallSndCallBackProc(userRoutine, chan, cmd) InvokeSndCallBackUPP(chan, cmd, userRoutine)
+ #define NewSndCallBackProc(userRoutine) NewSndCallBackUPP(userRoutine)
+ #define CallSndCallBackProc(userRoutine, chan, cmd) InvokeSndCallBackUPP(chan, cmd, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*MACE structures*/
- struct StateBlock
- {
- short stateVar[64];
- };
- typedef struct StateBlock StateBlock;
- typedef StateBlock * StateBlockPtr;
- struct LeftOverBlock
- {
- unsigned long count;
- SInt8 sampleArea[32];
- };
- typedef struct LeftOverBlock LeftOverBlock;
- typedef LeftOverBlock * LeftOverBlockPtr;
- struct ModRef
- {
- unsigned short modNumber;
- long modInit;
- };
- typedef struct ModRef ModRef;
- struct SndListResource
- {
- short format;
- short numModifiers;
- ModRef modifierPart[1];
- short numCommands;
- SndCommand commandPart[1];
- UInt8 dataPart[1];
- };
- typedef struct SndListResource SndListResource;
- typedef SndListResource * SndListPtr;
- typedef SndListPtr * SndListHandle;
- typedef SndListHandle SndListHndl;
- /*HyperCard sound resource format*/
- struct Snd2ListResource
- {
- short format;
- short refCount;
- short numCommands;
- SndCommand commandPart[1];
- UInt8 dataPart[1];
- };
- typedef struct Snd2ListResource Snd2ListResource;
- typedef Snd2ListResource * Snd2ListPtr;
- typedef Snd2ListPtr * Snd2ListHandle;
- typedef Snd2ListHandle Snd2ListHndl;
- struct SoundHeader
- {
- Ptr samplePtr; /*if NIL then samples are in sampleArea*/
- unsigned long length; /*length of sound in bytes*/
- UnsignedFixed sampleRate; /*sample rate for this sound*/
- unsigned long loopStart; /*start of looping portion*/
- unsigned long loopEnd; /*end of looping portion*/
- UInt8 encode; /*header encoding*/
- UInt8 baseFrequency; /*baseFrequency value*/
- UInt8 sampleArea[1]; /*space for when samples follow directly*/
- };
- typedef struct SoundHeader SoundHeader;
- typedef SoundHeader * SoundHeaderPtr;
- struct CmpSoundHeader
- {
- Ptr samplePtr; /*if nil then samples are in sample area*/
- unsigned long numChannels; /*number of channels i.e. mono = 1*/
- UnsignedFixed sampleRate; /*sample rate in Apples Fixed point representation*/
- unsigned long loopStart; /*loopStart of sound before compression*/
- unsigned long loopEnd; /*loopEnd of sound before compression*/
- UInt8 encode; /*data structure used , stdSH, extSH, or cmpSH*/
- UInt8 baseFrequency; /*same meaning as regular SoundHeader*/
- unsigned long numFrames; /*length in frames ( packetFrames or sampleFrames )*/
- extended80 AIFFSampleRate; /*IEEE sample rate*/
- Ptr markerChunk; /*sync track*/
- OSType format; /*data format type, was futureUse1*/
- unsigned long futureUse2; /*reserved by Apple*/
- StateBlockPtr stateVars; /*pointer to State Block*/
- LeftOverBlockPtr leftOverSamples; /*used to save truncated samples between compression calls*/
- short compressionID; /*0 means no compression, non zero means compressionID*/
- unsigned short packetSize; /*number of bits in compressed sample packet*/
- unsigned short snthID; /*resource ID of Sound Manager snth that contains NRT C/E*/
- unsigned short sampleSize; /*number of bits in non-compressed sample*/
- UInt8 sampleArea[1]; /*space for when samples follow directly*/
- };
- typedef struct CmpSoundHeader CmpSoundHeader;
- typedef CmpSoundHeader * CmpSoundHeaderPtr;
- struct ExtSoundHeader
- {
- Ptr samplePtr; /*if nil then samples are in sample area*/
- unsigned long numChannels; /*number of channels, ie mono = 1*/
- UnsignedFixed sampleRate; /*sample rate in Apples Fixed point representation*/
- unsigned long loopStart; /*same meaning as regular SoundHeader*/
- unsigned long loopEnd; /*same meaning as regular SoundHeader*/
- UInt8 encode; /*data structure used , stdSH, extSH, or cmpSH*/
- UInt8 baseFrequency; /*same meaning as regular SoundHeader*/
- unsigned long numFrames; /*length in total number of frames*/
- extended80 AIFFSampleRate; /*IEEE sample rate*/
- Ptr markerChunk; /*sync track*/
- Ptr instrumentChunks; /*AIFF instrument chunks*/
- Ptr AESRecording;
- unsigned short sampleSize; /*number of bits in sample*/
- unsigned short futureUse1; /*reserved by Apple*/
- unsigned long futureUse2; /*reserved by Apple*/
- unsigned long futureUse3; /*reserved by Apple*/
- unsigned long futureUse4; /*reserved by Apple*/
- UInt8 sampleArea[1]; /*space for when samples follow directly*/
- };
- typedef struct ExtSoundHeader ExtSoundHeader;
- typedef ExtSoundHeader * ExtSoundHeaderPtr;
- union SoundHeaderUnion
- {
- SoundHeader stdHeader;
- CmpSoundHeader cmpHeader;
- ExtSoundHeader extHeader;
- };
- typedef union SoundHeaderUnion SoundHeaderUnion;
- struct ConversionBlock
- {
- short destination;
- short unused;
- CmpSoundHeaderPtr inputPtr;
- CmpSoundHeaderPtr outputPtr;
- };
- typedef struct ConversionBlock ConversionBlock;
- typedef ConversionBlock * ConversionBlockPtr;
- /* ScheduledSoundHeader flags*/
- enum
- {
- kScheduledSoundDoScheduled = 1 << 0,
- kScheduledSoundDoCallBack = 1 << 1,
- kScheduledSoundExtendedHdr = 1 << 2
- };
-
- struct ScheduledSoundHeader
- {
- SoundHeaderUnion u;
- long flags;
- short reserved;
- short callBackParam1;
- long callBackParam2;
- TimeRecord startTime;
- };
- typedef struct ScheduledSoundHeader ScheduledSoundHeader;
- typedef ScheduledSoundHeader * ScheduledSoundHeaderPtr;
- struct ExtendedScheduledSoundHeader
- {
- SoundHeaderUnion u;
- long flags;
- short reserved;
- short callBackParam1;
- long callBackParam2;
- TimeRecord startTime;
- long recordSize;
- long extendedFlags;
- long bufferSize;
- long frameCount; /* number of audio frames*/
- long * frameSizesArray; /* pointer to array of longs with frame sizes in bytes*/
- long commonFrameSize; /* size of each frame if common*/
- void * extensionsPtr; /*pointer to set of classic atoms (size,type,data,...)*/
- long extensionsSize; /*size of extensions data (extensionsPtr)*/
- unsigned long bufferFlags; /*set or cleared flags*/
- unsigned long bufferFlagsMask; /*which flags are valid*/
- };
- typedef struct ExtendedScheduledSoundHeader ExtendedScheduledSoundHeader;
- typedef ExtendedScheduledSoundHeader * ExtendedScheduledSoundHeaderPtr;
- struct SMStatus
- {
- short smMaxCPULoad;
- short smNumChannels;
- short smCurCPULoad;
- };
- typedef struct SMStatus SMStatus;
- typedef SMStatus * SMStatusPtr;
- struct SCStatus
- {
- UnsignedFixed scStartTime;
- UnsignedFixed scEndTime;
- UnsignedFixed scCurrentTime;
- Boolean scChannelBusy;
- Boolean scChannelDisposed;
- Boolean scChannelPaused;
- Boolean scUnused;
- unsigned long scChannelAttributes;
- long scCPULoad;
- };
- typedef struct SCStatus SCStatus;
- typedef SCStatus * SCStatusPtr;
- struct AudioSelection
- {
- long unitType;
- UnsignedFixed selStart;
- UnsignedFixed selEnd;
- };
- typedef struct AudioSelection AudioSelection;
- typedef AudioSelection * AudioSelectionPtr;
+/*MACE structures*/
+struct StateBlock {
+ short stateVar[64];
+};
+typedef struct StateBlock StateBlock;
+typedef StateBlock * StateBlockPtr;
+struct LeftOverBlock {
+ unsigned long count;
+ SInt8 sampleArea[32];
+};
+typedef struct LeftOverBlock LeftOverBlock;
+typedef LeftOverBlock * LeftOverBlockPtr;
+struct ModRef {
+ unsigned short modNumber;
+ long modInit;
+};
+typedef struct ModRef ModRef;
+struct SndListResource {
+ short format;
+ short numModifiers;
+ ModRef modifierPart[1];
+ short numCommands;
+ SndCommand commandPart[1];
+ UInt8 dataPart[1];
+};
+typedef struct SndListResource SndListResource;
+typedef SndListResource * SndListPtr;
+typedef SndListPtr * SndListHandle;
+typedef SndListHandle SndListHndl;
+/*HyperCard sound resource format*/
+struct Snd2ListResource {
+ short format;
+ short refCount;
+ short numCommands;
+ SndCommand commandPart[1];
+ UInt8 dataPart[1];
+};
+typedef struct Snd2ListResource Snd2ListResource;
+typedef Snd2ListResource * Snd2ListPtr;
+typedef Snd2ListPtr * Snd2ListHandle;
+typedef Snd2ListHandle Snd2ListHndl;
+struct SoundHeader {
+ Ptr samplePtr; /*if NIL then samples are in sampleArea*/
+ unsigned long length; /*length of sound in bytes*/
+ UnsignedFixed sampleRate; /*sample rate for this sound*/
+ unsigned long loopStart; /*start of looping portion*/
+ unsigned long loopEnd; /*end of looping portion*/
+ UInt8 encode; /*header encoding*/
+ UInt8 baseFrequency; /*baseFrequency value*/
+ UInt8 sampleArea[1]; /*space for when samples follow directly*/
+};
+typedef struct SoundHeader SoundHeader;
+typedef SoundHeader * SoundHeaderPtr;
+struct CmpSoundHeader {
+ Ptr samplePtr; /*if nil then samples are in sample area*/
+ unsigned long numChannels; /*number of channels i.e. mono = 1*/
+ UnsignedFixed sampleRate; /*sample rate in Apples Fixed point representation*/
+ unsigned long loopStart; /*loopStart of sound before compression*/
+ unsigned long loopEnd; /*loopEnd of sound before compression*/
+ UInt8 encode; /*data structure used , stdSH, extSH, or cmpSH*/
+ UInt8 baseFrequency; /*same meaning as regular SoundHeader*/
+ unsigned long numFrames; /*length in frames ( packetFrames or sampleFrames )*/
+ extended80 AIFFSampleRate; /*IEEE sample rate*/
+ Ptr markerChunk; /*sync track*/
+ OSType format; /*data format type, was futureUse1*/
+ unsigned long futureUse2; /*reserved by Apple*/
+ StateBlockPtr stateVars; /*pointer to State Block*/
+ LeftOverBlockPtr leftOverSamples; /*used to save truncated samples between compression calls*/
+ short compressionID; /*0 means no compression, non zero means compressionID*/
+ unsigned short packetSize; /*number of bits in compressed sample packet*/
+ unsigned short snthID; /*resource ID of Sound Manager snth that contains NRT C/E*/
+ unsigned short sampleSize; /*number of bits in non-compressed sample*/
+ UInt8 sampleArea[1]; /*space for when samples follow directly*/
+};
+typedef struct CmpSoundHeader CmpSoundHeader;
+typedef CmpSoundHeader * CmpSoundHeaderPtr;
+struct ExtSoundHeader {
+ Ptr samplePtr; /*if nil then samples are in sample area*/
+ unsigned long numChannels; /*number of channels, ie mono = 1*/
+ UnsignedFixed sampleRate; /*sample rate in Apples Fixed point representation*/
+ unsigned long loopStart; /*same meaning as regular SoundHeader*/
+ unsigned long loopEnd; /*same meaning as regular SoundHeader*/
+ UInt8 encode; /*data structure used , stdSH, extSH, or cmpSH*/
+ UInt8 baseFrequency; /*same meaning as regular SoundHeader*/
+ unsigned long numFrames; /*length in total number of frames*/
+ extended80 AIFFSampleRate; /*IEEE sample rate*/
+ Ptr markerChunk; /*sync track*/
+ Ptr instrumentChunks; /*AIFF instrument chunks*/
+ Ptr AESRecording;
+ unsigned short sampleSize; /*number of bits in sample*/
+ unsigned short futureUse1; /*reserved by Apple*/
+ unsigned long futureUse2; /*reserved by Apple*/
+ unsigned long futureUse3; /*reserved by Apple*/
+ unsigned long futureUse4; /*reserved by Apple*/
+ UInt8 sampleArea[1]; /*space for when samples follow directly*/
+};
+typedef struct ExtSoundHeader ExtSoundHeader;
+typedef ExtSoundHeader * ExtSoundHeaderPtr;
+union SoundHeaderUnion {
+ SoundHeader stdHeader;
+ CmpSoundHeader cmpHeader;
+ ExtSoundHeader extHeader;
+};
+typedef union SoundHeaderUnion SoundHeaderUnion;
+struct ConversionBlock {
+ short destination;
+ short unused;
+ CmpSoundHeaderPtr inputPtr;
+ CmpSoundHeaderPtr outputPtr;
+};
+typedef struct ConversionBlock ConversionBlock;
+typedef ConversionBlock * ConversionBlockPtr;
+/* ScheduledSoundHeader flags*/
+enum {
+ kScheduledSoundDoScheduled = 1 << 0,
+ kScheduledSoundDoCallBack = 1 << 1,
+ kScheduledSoundExtendedHdr = 1 << 2
+};
+
+struct ScheduledSoundHeader {
+ SoundHeaderUnion u;
+ long flags;
+ short reserved;
+ short callBackParam1;
+ long callBackParam2;
+ TimeRecord startTime;
+};
+typedef struct ScheduledSoundHeader ScheduledSoundHeader;
+typedef ScheduledSoundHeader * ScheduledSoundHeaderPtr;
+struct ExtendedScheduledSoundHeader {
+ SoundHeaderUnion u;
+ long flags;
+ short reserved;
+ short callBackParam1;
+ long callBackParam2;
+ TimeRecord startTime;
+ long recordSize;
+ long extendedFlags;
+ long bufferSize;
+ long frameCount; /* number of audio frames*/
+ long * frameSizesArray; /* pointer to array of longs with frame sizes in bytes*/
+ long commonFrameSize; /* size of each frame if common*/
+ void * extensionsPtr; /*pointer to set of classic atoms (size,type,data,...)*/
+ long extensionsSize; /*size of extensions data (extensionsPtr)*/
+ unsigned long bufferFlags; /*set or cleared flags*/
+ unsigned long bufferFlagsMask; /*which flags are valid*/
+};
+typedef struct ExtendedScheduledSoundHeader ExtendedScheduledSoundHeader;
+typedef ExtendedScheduledSoundHeader * ExtendedScheduledSoundHeaderPtr;
+struct SMStatus {
+ short smMaxCPULoad;
+ short smNumChannels;
+ short smCurCPULoad;
+};
+typedef struct SMStatus SMStatus;
+typedef SMStatus * SMStatusPtr;
+struct SCStatus {
+ UnsignedFixed scStartTime;
+ UnsignedFixed scEndTime;
+ UnsignedFixed scCurrentTime;
+ Boolean scChannelBusy;
+ Boolean scChannelDisposed;
+ Boolean scChannelPaused;
+ Boolean scUnused;
+ unsigned long scChannelAttributes;
+ long scCPULoad;
+};
+typedef struct SCStatus SCStatus;
+typedef SCStatus * SCStatusPtr;
+struct AudioSelection {
+ long unitType;
+ UnsignedFixed selStart;
+ UnsignedFixed selEnd;
+};
+typedef struct AudioSelection AudioSelection;
+typedef AudioSelection * AudioSelectionPtr;
#if CALL_NOT_IN_CARBON
- struct SndDoubleBuffer
- {
- long dbNumFrames;
- long dbFlags;
- long dbUserInfo[2];
- SInt8 dbSoundData[1];
- };
- typedef struct SndDoubleBuffer SndDoubleBuffer;
- typedef SndDoubleBuffer * SndDoubleBufferPtr;
-
-
- typedef CALLBACK_API(void , SndDoubleBackProcPtr)(SndChannelPtr channel, SndDoubleBufferPtr doubleBufferPtr);
- typedef STACK_UPP_TYPE(SndDoubleBackProcPtr) SndDoubleBackUPP;
+struct SndDoubleBuffer {
+ long dbNumFrames;
+ long dbFlags;
+ long dbUserInfo[2];
+ SInt8 dbSoundData[1];
+};
+typedef struct SndDoubleBuffer SndDoubleBuffer;
+typedef SndDoubleBuffer * SndDoubleBufferPtr;
+
+
+typedef CALLBACK_API( void , SndDoubleBackProcPtr )(SndChannelPtr channel, SndDoubleBufferPtr doubleBufferPtr);
+typedef STACK_UPP_TYPE(SndDoubleBackProcPtr) SndDoubleBackUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewSndDoubleBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(SndDoubleBackUPP)
- NewSndDoubleBackUPP(SndDoubleBackProcPtr userRoutine);
+/*
+ * NewSndDoubleBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( SndDoubleBackUPP )
+NewSndDoubleBackUPP(SndDoubleBackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSndDoubleBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SndDoubleBackUPP) NewSndDoubleBackUPP(SndDoubleBackProcPtr userRoutine)
- {
- return (SndDoubleBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndDoubleBackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSndDoubleBackUPP(userRoutine) (SndDoubleBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndDoubleBackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSndDoubleBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SndDoubleBackUPP) NewSndDoubleBackUPP(SndDoubleBackProcPtr userRoutine) { return (SndDoubleBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndDoubleBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSndDoubleBackUPP(userRoutine) (SndDoubleBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSndDoubleBackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeSndDoubleBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeSndDoubleBackUPP(SndDoubleBackUPP userUPP);
+/*
+ * DisposeSndDoubleBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeSndDoubleBackUPP(SndDoubleBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSndDoubleBackUPP(SndDoubleBackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSndDoubleBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSndDoubleBackUPP(SndDoubleBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSndDoubleBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeSndDoubleBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeSndDoubleBackUPP(
- SndChannelPtr channel,
- SndDoubleBufferPtr doubleBufferPtr,
- SndDoubleBackUPP userUPP);
+/*
+ * InvokeSndDoubleBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeSndDoubleBackUPP(
+ SndChannelPtr channel,
+ SndDoubleBufferPtr doubleBufferPtr,
+ SndDoubleBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSndDoubleBackUPP(SndChannelPtr channel, SndDoubleBufferPtr doubleBufferPtr, SndDoubleBackUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppSndDoubleBackProcInfo, channel, doubleBufferPtr);
- }
-#else
-#define InvokeSndDoubleBackUPP(channel, doubleBufferPtr, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSndDoubleBackProcInfo, (channel), (doubleBufferPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSndDoubleBackUPP(SndChannelPtr channel, SndDoubleBufferPtr doubleBufferPtr, SndDoubleBackUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppSndDoubleBackProcInfo, channel, doubleBufferPtr); }
+ #else
+ #define InvokeSndDoubleBackUPP(channel, doubleBufferPtr, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSndDoubleBackProcInfo, (channel), (doubleBufferPtr))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSndDoubleBackProc(userRoutine) NewSndDoubleBackUPP(userRoutine)
-#define CallSndDoubleBackProc(userRoutine, channel, doubleBufferPtr) InvokeSndDoubleBackUPP(channel, doubleBufferPtr, userRoutine)
+ #define NewSndDoubleBackProc(userRoutine) NewSndDoubleBackUPP(userRoutine)
+ #define CallSndDoubleBackProc(userRoutine, channel, doubleBufferPtr) InvokeSndDoubleBackUPP(channel, doubleBufferPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- struct SndDoubleBufferHeader
- {
- short dbhNumChannels;
- short dbhSampleSize;
- short dbhCompressionID;
- short dbhPacketSize;
- UnsignedFixed dbhSampleRate;
- SndDoubleBufferPtr dbhBufferPtr[2];
- SndDoubleBackUPP dbhDoubleBack;
- };
- typedef struct SndDoubleBufferHeader SndDoubleBufferHeader;
- typedef SndDoubleBufferHeader * SndDoubleBufferHeaderPtr;
- struct SndDoubleBufferHeader2
- {
- short dbhNumChannels;
- short dbhSampleSize;
- short dbhCompressionID;
- short dbhPacketSize;
- UnsignedFixed dbhSampleRate;
- SndDoubleBufferPtr dbhBufferPtr[2];
- SndDoubleBackUPP dbhDoubleBack;
- OSType dbhFormat;
- };
- typedef struct SndDoubleBufferHeader2 SndDoubleBufferHeader2;
- typedef SndDoubleBufferHeader2 * SndDoubleBufferHeader2Ptr;
+struct SndDoubleBufferHeader {
+ short dbhNumChannels;
+ short dbhSampleSize;
+ short dbhCompressionID;
+ short dbhPacketSize;
+ UnsignedFixed dbhSampleRate;
+ SndDoubleBufferPtr dbhBufferPtr[2];
+ SndDoubleBackUPP dbhDoubleBack;
+};
+typedef struct SndDoubleBufferHeader SndDoubleBufferHeader;
+typedef SndDoubleBufferHeader * SndDoubleBufferHeaderPtr;
+struct SndDoubleBufferHeader2 {
+ short dbhNumChannels;
+ short dbhSampleSize;
+ short dbhCompressionID;
+ short dbhPacketSize;
+ UnsignedFixed dbhSampleRate;
+ SndDoubleBufferPtr dbhBufferPtr[2];
+ SndDoubleBackUPP dbhDoubleBack;
+ OSType dbhFormat;
+};
+typedef struct SndDoubleBufferHeader2 SndDoubleBufferHeader2;
+typedef SndDoubleBufferHeader2 * SndDoubleBufferHeader2Ptr;
#endif /* CALL_NOT_IN_CARBON */
- struct SoundInfoList
- {
- short count;
- Handle infoHandle;
- };
- typedef struct SoundInfoList SoundInfoList;
- typedef SoundInfoList * SoundInfoListPtr;
- struct SoundComponentData
- {
- long flags;
- OSType format;
- short numChannels;
- short sampleSize;
- UnsignedFixed sampleRate;
- long sampleCount;
- Byte * buffer;
- long reserved;
- };
- typedef struct SoundComponentData SoundComponentData;
- typedef SoundComponentData * SoundComponentDataPtr;
- struct ExtendedSoundComponentData
- {
- SoundComponentData desc; /*description of sound buffer*/
- long recordSize; /*size of this record in bytes*/
- long extendedFlags; /*flags for extended record*/
- long bufferSize; /*size of buffer in bytes*/
- long frameCount; /*number of audio frames*/
- long * frameSizesArray; /*pointer to array of longs with frame sizes in bytes*/
- long commonFrameSize; /*size of each frame if common*/
- void * extensionsPtr; /*pointer to set of classic atoms (size,type,data,...)*/
- long extensionsSize; /*size of extensions data (extensionsPtr)*/
- unsigned long bufferFlags; /*set or cleared flags*/
- unsigned long bufferFlagsMask; /*which flags are valid*/
- };
- typedef struct ExtendedSoundComponentData ExtendedSoundComponentData;
- typedef ExtendedSoundComponentData * ExtendedSoundComponentDataPtr;
- typedef struct SoundParamBlock SoundParamBlock;
- typedef SoundParamBlock * SoundParamBlockPtr;
- typedef CALLBACK_API(Boolean , SoundParamProcPtr)(SoundParamBlockPtr * pb);
- typedef STACK_UPP_TYPE(SoundParamProcPtr) SoundParamUPP;
- struct SoundParamBlock
- {
- long recordSize; /*size of this record in bytes*/
- SoundComponentData desc; /*description of sound buffer*/
- UnsignedFixed rateMultiplier; /*rate multiplier to apply to sound*/
- short leftVolume; /*volumes to apply to sound*/
- short rightVolume;
- long quality; /*quality to apply to sound*/
- ComponentInstance filter; /*filter to apply to sound*/
- SoundParamUPP moreRtn; /*routine to call to get more data*/
- SoundParamUPP completionRtn; /*routine to call when buffer is complete*/
- long refCon; /*user refcon*/
- short result; /*result*/
- };
-
- struct ExtendedSoundParamBlock
- {
- SoundParamBlock pb; /*classic SoundParamBlock except recordSize == sizeof(ExtendedSoundParamBlock)*/
- short reserved;
- long extendedFlags; /*flags*/
- long bufferSize; /*size of buffer in bytes*/
- long frameCount; /*number of audio frames*/
- long * frameSizesArray; /*pointer to array of longs with frame sizes in bytes*/
- long commonFrameSize; /*size of each frame if common*/
- void * extensionsPtr; /*pointer to set of classic atoms (size,type,data,...)*/
- long extensionsSize; /*size of extensions data (extensionsPtr)*/
- unsigned long bufferFlags; /*set or cleared flags*/
- unsigned long bufferFlagsMask; /*which flags are valid*/
- };
- typedef struct ExtendedSoundParamBlock ExtendedSoundParamBlock;
- typedef ExtendedSoundParamBlock * ExtendedSoundParamBlockPtr;
- struct CompressionInfo
- {
- long recordSize;
- OSType format;
- short compressionID;
- unsigned short samplesPerPacket;
- unsigned short bytesPerPacket;
- unsigned short bytesPerFrame;
- unsigned short bytesPerSample;
- unsigned short futureUse1;
- };
- typedef struct CompressionInfo CompressionInfo;
- typedef CompressionInfo * CompressionInfoPtr;
- typedef CompressionInfoPtr * CompressionInfoHandle;
- /*variables for floating point conversion*/
- struct SoundSlopeAndInterceptRecord
- {
- Float64 slope;
- Float64 intercept;
- Float64 minClip;
- Float64 maxClip;
- };
- typedef struct SoundSlopeAndInterceptRecord SoundSlopeAndInterceptRecord;
- typedef SoundSlopeAndInterceptRecord * SoundSlopeAndInterceptPtr;
- /*private thing to use as a reference to a Sound Converter*/
- typedef struct OpaqueSoundConverter* SoundConverter;
- /*callback routine to provide data to the Sound Converter*/
- typedef CALLBACK_API(Boolean , SoundConverterFillBufferDataProcPtr)(SoundComponentDataPtr *data, void *refCon);
- typedef STACK_UPP_TYPE(SoundConverterFillBufferDataProcPtr) SoundConverterFillBufferDataUPP;
- /*private thing to use as a reference to a Sound Source*/
- typedef struct OpaqueSoundSource* SoundSource;
- typedef SoundSource * SoundSourcePtr;
-
-
- struct SoundComponentLink
- {
- ComponentDescription description; /*Describes the sound component*/
- SoundSource mixerID; /*Reserved by Apple*/
- SoundSource * linkID; /*Reserved by Apple*/
- };
- typedef struct SoundComponentLink SoundComponentLink;
- typedef SoundComponentLink * SoundComponentLinkPtr;
- struct AudioInfo
- {
- long capabilitiesFlags; /*Describes device capabilities*/
- long reserved; /*Reserved by Apple*/
- unsigned short numVolumeSteps; /*Number of significant increments between min and max volume*/
- };
- typedef struct AudioInfo AudioInfo;
- typedef AudioInfo * AudioInfoPtr;
- struct AudioFormatAtom
- {
- long size; /* = sizeof(AudioFormatAtom)*/
- OSType atomType; /* = kAudioFormatAtomType*/
- OSType format;
- };
- typedef struct AudioFormatAtom AudioFormatAtom;
- typedef AudioFormatAtom * AudioFormatAtomPtr;
- struct AudioEndianAtom
- {
- long size; /* = sizeof(AudioEndianAtom)*/
- OSType atomType; /* = kAudioEndianAtomType*/
- short littleEndian;
- };
- typedef struct AudioEndianAtom AudioEndianAtom;
- typedef AudioEndianAtom * AudioEndianAtomPtr;
- struct AudioTerminatorAtom
- {
- long size; /* = sizeof(AudioTerminatorAtom)*/
- OSType atomType; /* = kAudioTerminatorAtomType*/
- };
- typedef struct AudioTerminatorAtom AudioTerminatorAtom;
- typedef AudioTerminatorAtom * AudioTerminatorAtomPtr;
- struct LevelMeterInfo
- {
- short numChannels; /* mono or stereo source*/
- UInt8 leftMeter; /* 0-255 range*/
- UInt8 rightMeter; /* 0-255 range*/
- };
- typedef struct LevelMeterInfo LevelMeterInfo;
- typedef LevelMeterInfo * LevelMeterInfoPtr;
- struct EQSpectrumBandsRecord
- {
- short count;
- UnsignedFixedPtr frequency; /* pointer to array of frequencies*/
- };
- typedef struct EQSpectrumBandsRecord EQSpectrumBandsRecord;
- typedef EQSpectrumBandsRecord * EQSpectrumBandsRecordPtr;
- enum
- {
- kSoundAudioCodecPropertyWritableFlag = 1L << 0
- };
-
- struct SoundAudioCodecPropertyRequestParams
- {
- UInt32 propertyClass;
- UInt32 propertyID;
- UInt32 propertyDataSize; /* out -- GetPropertyInfo, in/out -- GetProperty, in -- SetProperty*/
- void * propertyData; /* in -- GetPropertyInfo, GetProperty, SetProperty*/
- UInt32 propertyRequestFlags; /* out -- GetPropertyInfo*/
- UInt32 propertyDataType; /* out -- GetPropertyInfo, often 0*/
- ComponentResult propertyRequestResult; /* out -- GetPropertyInfo, GetProperty, SetProperty*/
- };
- typedef struct SoundAudioCodecPropertyRequestParams SoundAudioCodecPropertyRequestParams;
-
-
- /* Sound Input Structures*/
- typedef struct SPB SPB;
-
- typedef SPB * SPBPtr;
-
-
- /*user procedures called by sound input routines*/
- typedef CALLBACK_API_REGISTER68K(void , SIInterruptProcPtr, (SPBPtr inParamPtr, Ptr dataBuffer, short peakAmplitude, long sampleSize));
- typedef CALLBACK_API(void , SICompletionProcPtr)(SPBPtr inParamPtr);
- typedef REGISTER_UPP_TYPE(SIInterruptProcPtr) SIInterruptUPP;
- typedef STACK_UPP_TYPE(SICompletionProcPtr) SICompletionUPP;
-
-
- /*Sound Input Parameter Block*/
- struct SPB
- {
- long inRefNum; /*reference number of sound input device*/
- unsigned long count; /*number of bytes to record*/
- unsigned long milliseconds; /*number of milliseconds to record*/
- unsigned long bufferLength; /*length of buffer in bytes*/
- Ptr bufferPtr; /*buffer to store sound data in*/
- SICompletionUPP completionRoutine; /*completion routine*/
- SIInterruptUPP interruptRoutine; /*interrupt routine*/
- long userLong; /*user-defined field*/
- OSErr error; /*error*/
- long unused1; /*reserved - must be zero*/
- };
-
- /*
- * NewSoundParamUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SoundParamUPP)
- NewSoundParamUPP(SoundParamProcPtr userRoutine);
+struct SoundInfoList {
+ short count;
+ Handle infoHandle;
+};
+typedef struct SoundInfoList SoundInfoList;
+typedef SoundInfoList * SoundInfoListPtr;
+struct SoundComponentData {
+ long flags;
+ OSType format;
+ short numChannels;
+ short sampleSize;
+ UnsignedFixed sampleRate;
+ long sampleCount;
+ Byte * buffer;
+ long reserved;
+};
+typedef struct SoundComponentData SoundComponentData;
+typedef SoundComponentData * SoundComponentDataPtr;
+struct ExtendedSoundComponentData {
+ SoundComponentData desc; /*description of sound buffer*/
+ long recordSize; /*size of this record in bytes*/
+ long extendedFlags; /*flags for extended record*/
+ long bufferSize; /*size of buffer in bytes*/
+ long frameCount; /*number of audio frames*/
+ long * frameSizesArray; /*pointer to array of longs with frame sizes in bytes*/
+ long commonFrameSize; /*size of each frame if common*/
+ void * extensionsPtr; /*pointer to set of classic atoms (size,type,data,...)*/
+ long extensionsSize; /*size of extensions data (extensionsPtr)*/
+ unsigned long bufferFlags; /*set or cleared flags*/
+ unsigned long bufferFlagsMask; /*which flags are valid*/
+};
+typedef struct ExtendedSoundComponentData ExtendedSoundComponentData;
+typedef ExtendedSoundComponentData * ExtendedSoundComponentDataPtr;
+typedef struct SoundParamBlock SoundParamBlock;
+typedef SoundParamBlock * SoundParamBlockPtr;
+typedef CALLBACK_API( Boolean , SoundParamProcPtr )(SoundParamBlockPtr * pb);
+typedef STACK_UPP_TYPE(SoundParamProcPtr) SoundParamUPP;
+struct SoundParamBlock {
+ long recordSize; /*size of this record in bytes*/
+ SoundComponentData desc; /*description of sound buffer*/
+ UnsignedFixed rateMultiplier; /*rate multiplier to apply to sound*/
+ short leftVolume; /*volumes to apply to sound*/
+ short rightVolume;
+ long quality; /*quality to apply to sound*/
+ ComponentInstance filter; /*filter to apply to sound*/
+ SoundParamUPP moreRtn; /*routine to call to get more data*/
+ SoundParamUPP completionRtn; /*routine to call when buffer is complete*/
+ long refCon; /*user refcon*/
+ short result; /*result*/
+};
+
+struct ExtendedSoundParamBlock {
+ SoundParamBlock pb; /*classic SoundParamBlock except recordSize == sizeof(ExtendedSoundParamBlock)*/
+ short reserved;
+ long extendedFlags; /*flags*/
+ long bufferSize; /*size of buffer in bytes*/
+ long frameCount; /*number of audio frames*/
+ long * frameSizesArray; /*pointer to array of longs with frame sizes in bytes*/
+ long commonFrameSize; /*size of each frame if common*/
+ void * extensionsPtr; /*pointer to set of classic atoms (size,type,data,...)*/
+ long extensionsSize; /*size of extensions data (extensionsPtr)*/
+ unsigned long bufferFlags; /*set or cleared flags*/
+ unsigned long bufferFlagsMask; /*which flags are valid*/
+};
+typedef struct ExtendedSoundParamBlock ExtendedSoundParamBlock;
+typedef ExtendedSoundParamBlock * ExtendedSoundParamBlockPtr;
+struct CompressionInfo {
+ long recordSize;
+ OSType format;
+ short compressionID;
+ unsigned short samplesPerPacket;
+ unsigned short bytesPerPacket;
+ unsigned short bytesPerFrame;
+ unsigned short bytesPerSample;
+ unsigned short futureUse1;
+};
+typedef struct CompressionInfo CompressionInfo;
+typedef CompressionInfo * CompressionInfoPtr;
+typedef CompressionInfoPtr * CompressionInfoHandle;
+/*variables for floating point conversion*/
+struct SoundSlopeAndInterceptRecord {
+ Float64 slope;
+ Float64 intercept;
+ Float64 minClip;
+ Float64 maxClip;
+};
+typedef struct SoundSlopeAndInterceptRecord SoundSlopeAndInterceptRecord;
+typedef SoundSlopeAndInterceptRecord * SoundSlopeAndInterceptPtr;
+/*private thing to use as a reference to a Sound Converter*/
+typedef struct OpaqueSoundConverter* SoundConverter;
+/*callback routine to provide data to the Sound Converter*/
+typedef CALLBACK_API( Boolean , SoundConverterFillBufferDataProcPtr )(SoundComponentDataPtr *data, void *refCon);
+typedef STACK_UPP_TYPE(SoundConverterFillBufferDataProcPtr) SoundConverterFillBufferDataUPP;
+/*private thing to use as a reference to a Sound Source*/
+typedef struct OpaqueSoundSource* SoundSource;
+typedef SoundSource * SoundSourcePtr;
+
+
+struct SoundComponentLink {
+ ComponentDescription description; /*Describes the sound component*/
+ SoundSource mixerID; /*Reserved by Apple*/
+ SoundSource * linkID; /*Reserved by Apple*/
+};
+typedef struct SoundComponentLink SoundComponentLink;
+typedef SoundComponentLink * SoundComponentLinkPtr;
+struct AudioInfo {
+ long capabilitiesFlags; /*Describes device capabilities*/
+ long reserved; /*Reserved by Apple*/
+ unsigned short numVolumeSteps; /*Number of significant increments between min and max volume*/
+};
+typedef struct AudioInfo AudioInfo;
+typedef AudioInfo * AudioInfoPtr;
+struct AudioFormatAtom {
+ long size; /* = sizeof(AudioFormatAtom)*/
+ OSType atomType; /* = kAudioFormatAtomType*/
+ OSType format;
+};
+typedef struct AudioFormatAtom AudioFormatAtom;
+typedef AudioFormatAtom * AudioFormatAtomPtr;
+struct AudioEndianAtom {
+ long size; /* = sizeof(AudioEndianAtom)*/
+ OSType atomType; /* = kAudioEndianAtomType*/
+ short littleEndian;
+};
+typedef struct AudioEndianAtom AudioEndianAtom;
+typedef AudioEndianAtom * AudioEndianAtomPtr;
+struct AudioTerminatorAtom {
+ long size; /* = sizeof(AudioTerminatorAtom)*/
+ OSType atomType; /* = kAudioTerminatorAtomType*/
+};
+typedef struct AudioTerminatorAtom AudioTerminatorAtom;
+typedef AudioTerminatorAtom * AudioTerminatorAtomPtr;
+struct LevelMeterInfo {
+ short numChannels; /* mono or stereo source*/
+ UInt8 leftMeter; /* 0-255 range*/
+ UInt8 rightMeter; /* 0-255 range*/
+};
+typedef struct LevelMeterInfo LevelMeterInfo;
+typedef LevelMeterInfo * LevelMeterInfoPtr;
+struct EQSpectrumBandsRecord {
+ short count;
+ UnsignedFixedPtr frequency; /* pointer to array of frequencies*/
+};
+typedef struct EQSpectrumBandsRecord EQSpectrumBandsRecord;
+typedef EQSpectrumBandsRecord * EQSpectrumBandsRecordPtr;
+enum {
+ kSoundAudioCodecPropertyWritableFlag = 1L << 0
+};
+
+struct SoundAudioCodecPropertyRequestParams {
+ UInt32 propertyClass;
+ UInt32 propertyID;
+ UInt32 propertyDataSize; /* out -- GetPropertyInfo, in/out -- GetProperty, in -- SetProperty*/
+ void * propertyData; /* in -- GetPropertyInfo, GetProperty, SetProperty*/
+ UInt32 propertyRequestFlags; /* out -- GetPropertyInfo*/
+ UInt32 propertyDataType; /* out -- GetPropertyInfo, often 0*/
+ ComponentResult propertyRequestResult; /* out -- GetPropertyInfo, GetProperty, SetProperty*/
+};
+typedef struct SoundAudioCodecPropertyRequestParams SoundAudioCodecPropertyRequestParams;
+
+
+/* Sound Input Structures*/
+typedef struct SPB SPB;
+
+typedef SPB * SPBPtr;
+
+
+/*user procedures called by sound input routines*/
+typedef CALLBACK_API_REGISTER68K( void , SIInterruptProcPtr, (SPBPtr inParamPtr, Ptr dataBuffer, short peakAmplitude, long sampleSize) );
+typedef CALLBACK_API( void , SICompletionProcPtr )(SPBPtr inParamPtr);
+typedef REGISTER_UPP_TYPE(SIInterruptProcPtr) SIInterruptUPP;
+typedef STACK_UPP_TYPE(SICompletionProcPtr) SICompletionUPP;
+
+
+/*Sound Input Parameter Block*/
+struct SPB {
+ long inRefNum; /*reference number of sound input device*/
+ unsigned long count; /*number of bytes to record*/
+ unsigned long milliseconds; /*number of milliseconds to record*/
+ unsigned long bufferLength; /*length of buffer in bytes*/
+ Ptr bufferPtr; /*buffer to store sound data in*/
+ SICompletionUPP completionRoutine; /*completion routine*/
+ SIInterruptUPP interruptRoutine; /*interrupt routine*/
+ long userLong; /*user-defined field*/
+ OSErr error; /*error*/
+ long unused1; /*reserved - must be zero*/
+};
+
+/*
+ * NewSoundParamUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SoundParamUPP )
+NewSoundParamUPP(SoundParamProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSoundParamProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SoundParamUPP) NewSoundParamUPP(SoundParamProcPtr userRoutine)
- {
- return (SoundParamUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundParamProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSoundParamUPP(userRoutine) (SoundParamUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundParamProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSoundParamProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SoundParamUPP) NewSoundParamUPP(SoundParamProcPtr userRoutine) { return (SoundParamUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundParamProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSoundParamUPP(userRoutine) (SoundParamUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundParamProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSoundConverterFillBufferDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SoundConverterFillBufferDataUPP)
- NewSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataProcPtr userRoutine);
+/*
+ * NewSoundConverterFillBufferDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SoundConverterFillBufferDataUPP )
+NewSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSoundConverterFillBufferDataProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SoundConverterFillBufferDataUPP) NewSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataProcPtr userRoutine)
- {
- return (SoundConverterFillBufferDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundConverterFillBufferDataProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSoundConverterFillBufferDataUPP(userRoutine) (SoundConverterFillBufferDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundConverterFillBufferDataProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSoundConverterFillBufferDataProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SoundConverterFillBufferDataUPP) NewSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataProcPtr userRoutine) { return (SoundConverterFillBufferDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundConverterFillBufferDataProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSoundConverterFillBufferDataUPP(userRoutine) (SoundConverterFillBufferDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundConverterFillBufferDataProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSIInterruptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SIInterruptUPP)
- NewSIInterruptUPP(SIInterruptProcPtr userRoutine);
+/*
+ * NewSIInterruptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SIInterruptUPP )
+NewSIInterruptUPP(SIInterruptProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSIInterruptProcInfo = 0x1C579802 }; /* register no_return_value Func(4_bytes:A0, 4_bytes:A1, 2_bytes:D0, 4_bytes:D1) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SIInterruptUPP) NewSIInterruptUPP(SIInterruptProcPtr userRoutine)
- {
- return (SIInterruptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIInterruptProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSIInterruptUPP(userRoutine) (SIInterruptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIInterruptProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSIInterruptProcInfo = 0x1C579802 }; /* register no_return_value Func(4_bytes:A0, 4_bytes:A1, 2_bytes:D0, 4_bytes:D1) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SIInterruptUPP) NewSIInterruptUPP(SIInterruptProcPtr userRoutine) { return (SIInterruptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIInterruptProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSIInterruptUPP(userRoutine) (SIInterruptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSIInterruptProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSICompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SICompletionUPP)
- NewSICompletionUPP(SICompletionProcPtr userRoutine);
+/*
+ * NewSICompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SICompletionUPP )
+NewSICompletionUPP(SICompletionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSICompletionProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SICompletionUPP) NewSICompletionUPP(SICompletionProcPtr userRoutine)
- {
- return (SICompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSICompletionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSICompletionUPP(userRoutine) (SICompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSICompletionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSICompletionProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SICompletionUPP) NewSICompletionUPP(SICompletionProcPtr userRoutine) { return (SICompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSICompletionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSICompletionUPP(userRoutine) (SICompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSICompletionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeSoundParamUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSoundParamUPP(SoundParamUPP userUPP);
+/*
+ * DisposeSoundParamUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSoundParamUPP(SoundParamUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSoundParamUPP(SoundParamUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSoundParamUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSoundParamUPP(SoundParamUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSoundParamUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSoundConverterFillBufferDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataUPP userUPP);
+/*
+ * DisposeSoundConverterFillBufferDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSoundConverterFillBufferDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSoundConverterFillBufferDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSIInterruptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSIInterruptUPP(SIInterruptUPP userUPP);
+/*
+ * DisposeSIInterruptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSIInterruptUPP(SIInterruptUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSIInterruptUPP(SIInterruptUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSIInterruptUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSIInterruptUPP(SIInterruptUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSIInterruptUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSICompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSICompletionUPP(SICompletionUPP userUPP);
+/*
+ * DisposeSICompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSICompletionUPP(SICompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSICompletionUPP(SICompletionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSICompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSICompletionUPP(SICompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSICompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeSoundParamUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeSoundParamUPP(
- SoundParamBlockPtr * pb,
- SoundParamUPP userUPP);
+/*
+ * InvokeSoundParamUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeSoundParamUPP(
+ SoundParamBlockPtr * pb,
+ SoundParamUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeSoundParamUPP(SoundParamBlockPtr * pb, SoundParamUPP userUPP)
- {
- return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppSoundParamProcInfo, pb);
- }
-#else
-#define InvokeSoundParamUPP(pb, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppSoundParamProcInfo, (pb))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeSoundParamUPP(SoundParamBlockPtr * pb, SoundParamUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppSoundParamProcInfo, pb); }
+ #else
+ #define InvokeSoundParamUPP(pb, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppSoundParamProcInfo, (pb))
+ #endif
#endif
- /*
- * InvokeSoundConverterFillBufferDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeSoundConverterFillBufferDataUPP(
- SoundComponentDataPtr * data,
- void * refCon,
- SoundConverterFillBufferDataUPP userUPP);
+/*
+ * InvokeSoundConverterFillBufferDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeSoundConverterFillBufferDataUPP(
+ SoundComponentDataPtr * data,
+ void * refCon,
+ SoundConverterFillBufferDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeSoundConverterFillBufferDataUPP(SoundComponentDataPtr * data, void * refCon, SoundConverterFillBufferDataUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppSoundConverterFillBufferDataProcInfo, data, refCon);
- }
-#else
-#define InvokeSoundConverterFillBufferDataUPP(data, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppSoundConverterFillBufferDataProcInfo, (data), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeSoundConverterFillBufferDataUPP(SoundComponentDataPtr * data, void * refCon, SoundConverterFillBufferDataUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppSoundConverterFillBufferDataProcInfo, data, refCon); }
+ #else
+ #define InvokeSoundConverterFillBufferDataUPP(data, refCon, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppSoundConverterFillBufferDataProcInfo, (data), (refCon))
+ #endif
#endif
- /*
- * InvokeSIInterruptUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSIInterruptUPP(
- SPBPtr inParamPtr,
- Ptr dataBuffer,
- short peakAmplitude,
- long sampleSize,
- SIInterruptUPP userUPP);
+/*
+ * InvokeSIInterruptUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSIInterruptUPP(
+ SPBPtr inParamPtr,
+ Ptr dataBuffer,
+ short peakAmplitude,
+ long sampleSize,
+ SIInterruptUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSIInterruptUPP(SPBPtr inParamPtr, Ptr dataBuffer, short peakAmplitude, long sampleSize, SIInterruptUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppSIInterruptProcInfo, inParamPtr, dataBuffer, peakAmplitude, sampleSize);
- }
-#else
-#define InvokeSIInterruptUPP(inParamPtr, dataBuffer, peakAmplitude, sampleSize, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppSIInterruptProcInfo, (inParamPtr), (dataBuffer), (peakAmplitude), (sampleSize))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSIInterruptUPP(SPBPtr inParamPtr, Ptr dataBuffer, short peakAmplitude, long sampleSize, SIInterruptUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppSIInterruptProcInfo, inParamPtr, dataBuffer, peakAmplitude, sampleSize); }
+ #else
+ #define InvokeSIInterruptUPP(inParamPtr, dataBuffer, peakAmplitude, sampleSize, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppSIInterruptProcInfo, (inParamPtr), (dataBuffer), (peakAmplitude), (sampleSize))
+ #endif
#endif
- /*
- * InvokeSICompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSICompletionUPP(
- SPBPtr inParamPtr,
- SICompletionUPP userUPP);
+/*
+ * InvokeSICompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSICompletionUPP(
+ SPBPtr inParamPtr,
+ SICompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSICompletionUPP(SPBPtr inParamPtr, SICompletionUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppSICompletionProcInfo, inParamPtr);
- }
-#else
-#define InvokeSICompletionUPP(inParamPtr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSICompletionProcInfo, (inParamPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSICompletionUPP(SPBPtr inParamPtr, SICompletionUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppSICompletionProcInfo, inParamPtr); }
+ #else
+ #define InvokeSICompletionUPP(inParamPtr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSICompletionProcInfo, (inParamPtr))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSoundParamProc(userRoutine) NewSoundParamUPP(userRoutine)
-#define NewSoundConverterFillBufferDataProc(userRoutine) NewSoundConverterFillBufferDataUPP(userRoutine)
-#define NewSIInterruptProc(userRoutine) NewSIInterruptUPP(userRoutine)
-#define NewSICompletionProc(userRoutine) NewSICompletionUPP(userRoutine)
-#define CallSoundParamProc(userRoutine, pb) InvokeSoundParamUPP(pb, userRoutine)
-#define CallSoundConverterFillBufferDataProc(userRoutine, data, refCon) InvokeSoundConverterFillBufferDataUPP(data, refCon, userRoutine)
-#define CallSIInterruptProc(userRoutine, inParamPtr, dataBuffer, peakAmplitude, sampleSize) InvokeSIInterruptUPP(inParamPtr, dataBuffer, peakAmplitude, sampleSize, userRoutine)
-#define CallSICompletionProc(userRoutine, inParamPtr) InvokeSICompletionUPP(inParamPtr, userRoutine)
+ #define NewSoundParamProc(userRoutine) NewSoundParamUPP(userRoutine)
+ #define NewSoundConverterFillBufferDataProc(userRoutine) NewSoundConverterFillBufferDataUPP(userRoutine)
+ #define NewSIInterruptProc(userRoutine) NewSIInterruptUPP(userRoutine)
+ #define NewSICompletionProc(userRoutine) NewSICompletionUPP(userRoutine)
+ #define CallSoundParamProc(userRoutine, pb) InvokeSoundParamUPP(pb, userRoutine)
+ #define CallSoundConverterFillBufferDataProc(userRoutine, data, refCon) InvokeSoundConverterFillBufferDataUPP(data, refCon, userRoutine)
+ #define CallSIInterruptProc(userRoutine, inParamPtr, dataBuffer, peakAmplitude, sampleSize) InvokeSIInterruptUPP(inParamPtr, dataBuffer, peakAmplitude, sampleSize, userRoutine)
+ #define CallSICompletionProc(userRoutine, inParamPtr) InvokeSICompletionUPP(inParamPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef CALLBACK_API(void , FilePlayCompletionProcPtr)(SndChannelPtr chan);
- typedef STACK_UPP_TYPE(FilePlayCompletionProcPtr) FilePlayCompletionUPP;
+typedef CALLBACK_API( void , FilePlayCompletionProcPtr )(SndChannelPtr chan);
+typedef STACK_UPP_TYPE(FilePlayCompletionProcPtr) FilePlayCompletionUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewFilePlayCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(FilePlayCompletionUPP)
- NewFilePlayCompletionUPP(FilePlayCompletionProcPtr userRoutine);
+/*
+ * NewFilePlayCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( FilePlayCompletionUPP )
+NewFilePlayCompletionUPP(FilePlayCompletionProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFilePlayCompletionProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FilePlayCompletionUPP) NewFilePlayCompletionUPP(FilePlayCompletionProcPtr userRoutine)
- {
- return (FilePlayCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFilePlayCompletionProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewFilePlayCompletionUPP(userRoutine) (FilePlayCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFilePlayCompletionProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppFilePlayCompletionProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FilePlayCompletionUPP) NewFilePlayCompletionUPP(FilePlayCompletionProcPtr userRoutine) { return (FilePlayCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFilePlayCompletionProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewFilePlayCompletionUPP(userRoutine) (FilePlayCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFilePlayCompletionProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeFilePlayCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeFilePlayCompletionUPP(FilePlayCompletionUPP userUPP);
+/*
+ * DisposeFilePlayCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeFilePlayCompletionUPP(FilePlayCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFilePlayCompletionUPP(FilePlayCompletionUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeFilePlayCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFilePlayCompletionUPP(FilePlayCompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeFilePlayCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeFilePlayCompletionUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeFilePlayCompletionUPP(
- SndChannelPtr chan,
- FilePlayCompletionUPP userUPP);
+/*
+ * InvokeFilePlayCompletionUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeFilePlayCompletionUPP(
+ SndChannelPtr chan,
+ FilePlayCompletionUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeFilePlayCompletionUPP(SndChannelPtr chan, FilePlayCompletionUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppFilePlayCompletionProcInfo, chan);
- }
-#else
-#define InvokeFilePlayCompletionUPP(chan, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppFilePlayCompletionProcInfo, (chan))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeFilePlayCompletionUPP(SndChannelPtr chan, FilePlayCompletionUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppFilePlayCompletionProcInfo, chan); }
+ #else
+ #define InvokeFilePlayCompletionUPP(chan, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppFilePlayCompletionProcInfo, (chan))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewFilePlayCompletionProc(userRoutine) NewFilePlayCompletionUPP(userRoutine)
-#define CallFilePlayCompletionProc(userRoutine, chan) InvokeFilePlayCompletionUPP(chan, userRoutine)
+ #define NewFilePlayCompletionProc(userRoutine) NewFilePlayCompletionUPP(userRoutine)
+ #define CallFilePlayCompletionProc(userRoutine, chan) InvokeFilePlayCompletionUPP(chan, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- prototypes
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- */
-
-
- /* Sound Manager routines */
- /*
- * SysBeep()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SysBeep(short duration) ONEWORDINLINE(0xA9C8);
-
-
- /*
- * SndDoCommand()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndDoCommand(
- SndChannelPtr chan,
- const SndCommand * cmd,
- Boolean noWait) ONEWORDINLINE(0xA803);
-
-
- /*
- * SndDoImmediate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndDoImmediate(
- SndChannelPtr chan,
- const SndCommand * cmd) ONEWORDINLINE(0xA804);
-
-
- /*
- * SndNewChannel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndNewChannel(
- SndChannelPtr * chan,
- short synth,
- long init,
- SndCallBackUPP userRoutine) ONEWORDINLINE(0xA807);
-
-
- /*
- * SndDisposeChannel()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndDisposeChannel(
- SndChannelPtr chan,
- Boolean quietNow) ONEWORDINLINE(0xA801);
-
-
- /*
- * SndPlay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndPlay(
- SndChannelPtr chan,
- SndListHandle sndHandle,
- Boolean async) ONEWORDINLINE(0xA805);
+/*
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ prototypes
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*/
+
+
+/* Sound Manager routines */
+/*
+ * SysBeep()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SysBeep(short duration) ONEWORDINLINE(0xA9C8);
+
+
+/*
+ * SndDoCommand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndDoCommand(
+ SndChannelPtr chan,
+ const SndCommand * cmd,
+ Boolean noWait) ONEWORDINLINE(0xA803);
+
+
+/*
+ * SndDoImmediate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndDoImmediate(
+ SndChannelPtr chan,
+ const SndCommand * cmd) ONEWORDINLINE(0xA804);
+
+
+/*
+ * SndNewChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndNewChannel(
+ SndChannelPtr * chan,
+ short synth,
+ long init,
+ SndCallBackUPP userRoutine) ONEWORDINLINE(0xA807);
+
+
+/*
+ * SndDisposeChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndDisposeChannel(
+ SndChannelPtr chan,
+ Boolean quietNow) ONEWORDINLINE(0xA801);
+
+
+/*
+ * SndPlay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndPlay(
+ SndChannelPtr chan,
+ SndListHandle sndHandle,
+ Boolean async) ONEWORDINLINE(0xA805);
#if OLDROUTINENAMES
#if CALL_NOT_IN_CARBON
- /*
- * SndAddModifier()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SndAddModifier(
- SndChannelPtr chan,
- Ptr modifier,
- short id,
- long init) ONEWORDINLINE(0xA802);
+/*
+ * SndAddModifier()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SndAddModifier(
+ SndChannelPtr chan,
+ Ptr modifier,
+ short id,
+ long init) ONEWORDINLINE(0xA802);
#endif /* CALL_NOT_IN_CARBON */
@@ -1799,1407 +1655,1404 @@ extern "C" {
#endif /* OLDROUTINENAMES */
#if CALL_NOT_IN_CARBON
- /*
- * SndControl()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SndControl(
- short id,
- SndCommand * cmd) ONEWORDINLINE(0xA806);
-
-
- /* Sound Manager 2.0 and later, uses _SoundDispatch */
+/*
+ * SndControl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SndControl(
+ short id,
+ SndCommand * cmd) ONEWORDINLINE(0xA806);
+
+
+/* Sound Manager 2.0 and later, uses _SoundDispatch */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SndSoundManagerVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NumVersion)
- SndSoundManagerVersion(void) FOURWORDINLINE(0x203C, 0x000C, 0x0008, 0xA800);
+/*
+ * SndSoundManagerVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NumVersion )
+SndSoundManagerVersion(void) FOURWORDINLINE(0x203C, 0x000C, 0x0008, 0xA800);
#if CALL_NOT_IN_CARBON
- /*
- * SndStartFilePlay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SndStartFilePlay(
- SndChannelPtr chan,
- short fRefNum,
- short resNum,
- long bufferSize,
- void * theBuffer,
- AudioSelectionPtr theSelection,
- FilePlayCompletionUPP theCompletion,
- Boolean async) FOURWORDINLINE(0x203C, 0x0D00, 0x0008, 0xA800);
-
-
- /*
- * SndPauseFilePlay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SndPauseFilePlay(SndChannelPtr chan) FOURWORDINLINE(0x203C, 0x0204, 0x0008, 0xA800);
-
-
- /*
- * SndStopFilePlay()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SndStopFilePlay(
- SndChannelPtr chan,
- Boolean quietNow) FOURWORDINLINE(0x203C, 0x0308, 0x0008, 0xA800);
+/*
+ * SndStartFilePlay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SndStartFilePlay(
+ SndChannelPtr chan,
+ short fRefNum,
+ short resNum,
+ long bufferSize,
+ void * theBuffer,
+ AudioSelectionPtr theSelection,
+ FilePlayCompletionUPP theCompletion,
+ Boolean async) FOURWORDINLINE(0x203C, 0x0D00, 0x0008, 0xA800);
+
+
+/*
+ * SndPauseFilePlay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SndPauseFilePlay(SndChannelPtr chan) FOURWORDINLINE(0x203C, 0x0204, 0x0008, 0xA800);
+
+
+/*
+ * SndStopFilePlay()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SndStopFilePlay(
+ SndChannelPtr chan,
+ Boolean quietNow) FOURWORDINLINE(0x203C, 0x0308, 0x0008, 0xA800);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SndChannelStatus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndChannelStatus(
- SndChannelPtr chan,
- short theLength,
- SCStatusPtr theStatus) FOURWORDINLINE(0x203C, 0x0510, 0x0008, 0xA800);
-
-
- /*
- * SndManagerStatus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndManagerStatus(
- short theLength,
- SMStatusPtr theStatus) FOURWORDINLINE(0x203C, 0x0314, 0x0008, 0xA800);
-
-
- /*
- * SndGetSysBeepState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SndGetSysBeepState(short * sysBeepState) FOURWORDINLINE(0x203C, 0x0218, 0x0008, 0xA800);
-
-
- /*
- * SndSetSysBeepState()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndSetSysBeepState(short sysBeepState) FOURWORDINLINE(0x203C, 0x011C, 0x0008, 0xA800);
+/*
+ * SndChannelStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndChannelStatus(
+ SndChannelPtr chan,
+ short theLength,
+ SCStatusPtr theStatus) FOURWORDINLINE(0x203C, 0x0510, 0x0008, 0xA800);
+
+
+/*
+ * SndManagerStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndManagerStatus(
+ short theLength,
+ SMStatusPtr theStatus) FOURWORDINLINE(0x203C, 0x0314, 0x0008, 0xA800);
+
+
+/*
+ * SndGetSysBeepState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SndGetSysBeepState(short * sysBeepState) FOURWORDINLINE(0x203C, 0x0218, 0x0008, 0xA800);
+
+
+/*
+ * SndSetSysBeepState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndSetSysBeepState(short sysBeepState) FOURWORDINLINE(0x203C, 0x011C, 0x0008, 0xA800);
#if CALL_NOT_IN_CARBON
- /*
- * SndPlayDoubleBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SndPlayDoubleBuffer(
- SndChannelPtr chan,
- SndDoubleBufferHeaderPtr theParams) FOURWORDINLINE(0x203C, 0x0420, 0x0008, 0xA800);
-
-
- /* MACE compression routines, uses _SoundDispatch */
- /*
- * MACEVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(NumVersion)
- MACEVersion(void) FOURWORDINLINE(0x203C, 0x0000, 0x0010, 0xA800);
-
-
- /*
- * Comp3to1()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- Comp3to1(
- const void * inBuffer,
- void * outBuffer,
- unsigned long cnt,
- StateBlockPtr inState,
- StateBlockPtr outState,
- unsigned long numChannels,
- unsigned long whichChannel) FOURWORDINLINE(0x203C, 0x0004, 0x0010, 0xA800);
-
-
- /*
- * Exp1to3()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- Exp1to3(
- const void * inBuffer,
- void * outBuffer,
- unsigned long cnt,
- StateBlockPtr inState,
- StateBlockPtr outState,
- unsigned long numChannels,
- unsigned long whichChannel) FOURWORDINLINE(0x203C, 0x0008, 0x0010, 0xA800);
-
-
- /*
- * Comp6to1()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- Comp6to1(
- const void * inBuffer,
- void * outBuffer,
- unsigned long cnt,
- StateBlockPtr inState,
- StateBlockPtr outState,
- unsigned long numChannels,
- unsigned long whichChannel) FOURWORDINLINE(0x203C, 0x000C, 0x0010, 0xA800);
-
-
- /*
- * Exp1to6()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- Exp1to6(
- const void * inBuffer,
- void * outBuffer,
- unsigned long cnt,
- StateBlockPtr inState,
- StateBlockPtr outState,
- unsigned long numChannels,
- unsigned long whichChannel) FOURWORDINLINE(0x203C, 0x0010, 0x0010, 0xA800);
-
-
- /* Sound Manager 3.0 and later calls, uses _SoundDispatch */
+/*
+ * SndPlayDoubleBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SndPlayDoubleBuffer(
+ SndChannelPtr chan,
+ SndDoubleBufferHeaderPtr theParams) FOURWORDINLINE(0x203C, 0x0420, 0x0008, 0xA800);
+
+
+/* MACE compression routines, uses _SoundDispatch */
+/*
+ * MACEVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( NumVersion )
+MACEVersion(void) FOURWORDINLINE(0x203C, 0x0000, 0x0010, 0xA800);
+
+
+/*
+ * Comp3to1()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+Comp3to1(
+ const void * inBuffer,
+ void * outBuffer,
+ unsigned long cnt,
+ StateBlockPtr inState,
+ StateBlockPtr outState,
+ unsigned long numChannels,
+ unsigned long whichChannel) FOURWORDINLINE(0x203C, 0x0004, 0x0010, 0xA800);
+
+
+/*
+ * Exp1to3()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+Exp1to3(
+ const void * inBuffer,
+ void * outBuffer,
+ unsigned long cnt,
+ StateBlockPtr inState,
+ StateBlockPtr outState,
+ unsigned long numChannels,
+ unsigned long whichChannel) FOURWORDINLINE(0x203C, 0x0008, 0x0010, 0xA800);
+
+
+/*
+ * Comp6to1()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+Comp6to1(
+ const void * inBuffer,
+ void * outBuffer,
+ unsigned long cnt,
+ StateBlockPtr inState,
+ StateBlockPtr outState,
+ unsigned long numChannels,
+ unsigned long whichChannel) FOURWORDINLINE(0x203C, 0x000C, 0x0010, 0xA800);
+
+
+/*
+ * Exp1to6()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+Exp1to6(
+ const void * inBuffer,
+ void * outBuffer,
+ unsigned long cnt,
+ StateBlockPtr inState,
+ StateBlockPtr outState,
+ unsigned long numChannels,
+ unsigned long whichChannel) FOURWORDINLINE(0x203C, 0x0010, 0x0010, 0xA800);
+
+
+/* Sound Manager 3.0 and later calls, uses _SoundDispatch */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetSysBeepVolume()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSysBeepVolume(long * level) FOURWORDINLINE(0x203C, 0x0224, 0x0018, 0xA800);
-
-
- /*
- * SetSysBeepVolume()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetSysBeepVolume(long level) FOURWORDINLINE(0x203C, 0x0228, 0x0018, 0xA800);
-
-
- /*
- * GetDefaultOutputVolume()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDefaultOutputVolume(long * level) FOURWORDINLINE(0x203C, 0x022C, 0x0018, 0xA800);
-
-
- /*
- * SetDefaultOutputVolume()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDefaultOutputVolume(long level) FOURWORDINLINE(0x203C, 0x0230, 0x0018, 0xA800);
-
-
- /*
- * GetSoundHeaderOffset()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSoundHeaderOffset(
- SndListHandle sndHandle,
- long * offset) FOURWORDINLINE(0x203C, 0x0404, 0x0018, 0xA800);
-
-
- /*
- * UnsignedFixedMulDiv()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API(UnsignedFixed)
- UnsignedFixedMulDiv(
- UnsignedFixed value,
- UnsignedFixed multiplier,
- UnsignedFixed divisor) FOURWORDINLINE(0x203C, 0x060C, 0x0018, 0xA800);
-
-
- /*
- * GetCompressionInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetCompressionInfo(
- short compressionID,
- OSType format,
- short numChannels,
- short sampleSize,
- CompressionInfoPtr cp) FOURWORDINLINE(0x203C, 0x0710, 0x0018, 0xA800);
-
-
- /*
- * SetSoundPreference()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetSoundPreference(
- OSType theType,
- Str255 name,
- Handle settings) FOURWORDINLINE(0x203C, 0x0634, 0x0018, 0xA800);
-
-
- /*
- * GetSoundPreference()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSoundPreference(
- OSType theType,
- Str255 name,
- Handle settings) FOURWORDINLINE(0x203C, 0x0638, 0x0018, 0xA800);
-
-
- /*
- * OpenMixerSoundComponent()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OpenMixerSoundComponent(
- SoundComponentDataPtr outputDescription,
- long outputFlags,
- ComponentInstance * mixerComponent) FOURWORDINLINE(0x203C, 0x0614, 0x0018, 0xA800);
-
-
- /*
- * CloseMixerSoundComponent()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CloseMixerSoundComponent(ComponentInstance ci) FOURWORDINLINE(0x203C, 0x0218, 0x0018, 0xA800);
-
-
- /* Sound Manager 3.1 and later calls, uses _SoundDispatch */
- /*
- * SndGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndGetInfo(
- SndChannelPtr chan,
- OSType selector,
- void * infoPtr) FOURWORDINLINE(0x203C, 0x063C, 0x0018, 0xA800);
-
-
- /*
- * SndSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndSetInfo(
- SndChannelPtr chan,
- OSType selector,
- const void * infoPtr) FOURWORDINLINE(0x203C, 0x0640, 0x0018, 0xA800);
-
-
- /*
- * GetSoundOutputInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSoundOutputInfo(
- Component outputDevice,
- OSType selector,
- void * infoPtr) FOURWORDINLINE(0x203C, 0x0644, 0x0018, 0xA800);
-
-
- /*
- * SetSoundOutputInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetSoundOutputInfo(
- Component outputDevice,
- OSType selector,
- const void * infoPtr) FOURWORDINLINE(0x203C, 0x0648, 0x0018, 0xA800);
-
-
- /* Sound Manager 3.2 and later calls, uses _SoundDispatch */
- /*
- * GetCompressionName()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetCompressionName(
- OSType compressionType,
- Str255 compressionName) FOURWORDINLINE(0x203C, 0x044C, 0x0018, 0xA800);
-
-
- /*
- * SoundConverterOpen()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterOpen(
- const SoundComponentData * inputFormat,
- const SoundComponentData * outputFormat,
- SoundConverter * sc) FOURWORDINLINE(0x203C, 0x0650, 0x0018, 0xA800);
-
-
- /*
- * SoundConverterClose()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterClose(SoundConverter sc) FOURWORDINLINE(0x203C, 0x0254, 0x0018, 0xA800);
-
-
- /*
- * SoundConverterGetBufferSizes()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterGetBufferSizes(
- SoundConverter sc,
- unsigned long inputBytesTarget,
- unsigned long * inputFrames,
- unsigned long * inputBytes,
- unsigned long * outputBytes) FOURWORDINLINE(0x203C, 0x0A58, 0x0018, 0xA800);
-
-
- /*
- * SoundConverterBeginConversion()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterBeginConversion(SoundConverter sc) FOURWORDINLINE(0x203C, 0x025C, 0x0018, 0xA800);
-
-
- /*
- * SoundConverterConvertBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterConvertBuffer(
- SoundConverter sc,
- const void * inputPtr,
- unsigned long inputFrames,
- void * outputPtr,
- unsigned long * outputFrames,
- unsigned long * outputBytes) FOURWORDINLINE(0x203C, 0x0C60, 0x0018, 0xA800);
-
-
- /*
- * SoundConverterEndConversion()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterEndConversion(
- SoundConverter sc,
- void * outputPtr,
- unsigned long * outputFrames,
- unsigned long * outputBytes) FOURWORDINLINE(0x203C, 0x0864, 0x0018, 0xA800);
-
-
- /* Sound Manager 3.3 and later calls, uses _SoundDispatch */
- /*
- * SoundConverterGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.3 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterGetInfo(
- SoundConverter sc,
- OSType selector,
- void * infoPtr) FOURWORDINLINE(0x203C, 0x0668, 0x0018, 0xA800);
-
-
- /*
- * SoundConverterSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.3 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterSetInfo(
- SoundConverter sc,
- OSType selector,
- void * infoPtr) FOURWORDINLINE(0x203C, 0x066C, 0x0018, 0xA800);
-
-
- /* Sound Manager 3.6 and later calls, uses _SoundDispatch */
- /*
- * SoundConverterFillBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.6 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundConverterFillBuffer(
- SoundConverter sc,
- SoundConverterFillBufferDataUPP fillBufferDataUPP,
- void * fillBufferDataRefCon,
- void * outputBuffer,
- unsigned long outputBufferByteSize,
- unsigned long * bytesWritten,
- unsigned long * framesWritten,
- unsigned long * outputFlags) FOURWORDINLINE(0x203C, 0x1078, 0x0018, 0xA800);
-
-
- /*
- * SoundManagerGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.6 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundManagerGetInfo(
- OSType selector,
- void * infoPtr) FOURWORDINLINE(0x203C, 0x047C, 0x0018, 0xA800);
-
-
- /*
- * SoundManagerSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.6 and later
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SoundManagerSetInfo(
- OSType selector,
- const void * infoPtr) FOURWORDINLINE(0x203C, 0x0480, 0x0018, 0xA800);
-
-
- /*
- Sound Component Functions
- basic sound component functions
- */
-
- /*
- * SoundComponentInitOutputDevice()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentInitOutputDevice(
- ComponentInstance ti,
- long actions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentSetSource()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentSetSource(
- ComponentInstance ti,
- SoundSource sourceID,
- ComponentInstance source) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentGetSource()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentGetSource(
- ComponentInstance ti,
- SoundSource sourceID,
- ComponentInstance * source) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentGetSourceData()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentGetSourceData(
- ComponentInstance ti,
- SoundComponentDataPtr * sourceData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentSetOutput()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentSetOutput(
- ComponentInstance ti,
- SoundComponentDataPtr requested,
- SoundComponentDataPtr * actual) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
-
-
- /* junction methods for the mixer, must be called at non-interrupt level*/
- /*
- * SoundComponentAddSource()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentAddSource(
- ComponentInstance ti,
- SoundSource * sourceID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentRemoveSource()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentRemoveSource(
- ComponentInstance ti,
- SoundSource sourceID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
-
-
- /* info methods*/
- /*
- * SoundComponentGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentGetInfo(
- ComponentInstance ti,
- SoundSource sourceID,
- OSType selector,
- void * infoPtr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentSetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentSetInfo(
- ComponentInstance ti,
- SoundSource sourceID,
- OSType selector,
- void * infoPtr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0104, 0x7000, 0xA82A);
-
-
- /* control methods*/
- /*
- * SoundComponentStartSource()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentStartSource(
- ComponentInstance ti,
- short count,
- SoundSource * sources) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0105, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentStopSource()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentStopSource(
- ComponentInstance ti,
- short count,
- SoundSource * sources) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0106, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentPauseSource()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentPauseSource(
- ComponentInstance ti,
- short count,
- SoundSource * sources) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0107, 0x7000, 0xA82A);
-
-
- /*
- * SoundComponentPlaySourceBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SoundComponentPlaySourceBuffer(
- ComponentInstance ti,
- SoundSource sourceID,
- SoundParamBlockPtr pb,
- long actions) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0108, 0x7000, 0xA82A);
-
-
-
- /* selectors for component calls */
- enum
- {
- kSoundComponentInitOutputDeviceSelect = 0x0001,
- kSoundComponentSetSourceSelect = 0x0002,
- kSoundComponentGetSourceSelect = 0x0003,
- kSoundComponentGetSourceDataSelect = 0x0004,
- kSoundComponentSetOutputSelect = 0x0005,
- kSoundComponentAddSourceSelect = 0x0101,
- kSoundComponentRemoveSourceSelect = 0x0102,
- kSoundComponentGetInfoSelect = 0x0103,
- kSoundComponentSetInfoSelect = 0x0104,
- kSoundComponentStartSourceSelect = 0x0105,
- kSoundComponentStopSourceSelect = 0x0106,
- kSoundComponentPauseSourceSelect = 0x0107,
- kSoundComponentPlaySourceBufferSelect = 0x0108
- };
- /*Audio Components*/
- /*Volume is described as a value between 0 and 1, with 0 indicating minimum
- volume and 1 indicating maximum volume; if the device doesn't support
- software control of volume, then a value of unimpErr is returned, indicating
- that these functions are not supported by the device
- */
+/*
+ * GetSysBeepVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSysBeepVolume(long * level) FOURWORDINLINE(0x203C, 0x0224, 0x0018, 0xA800);
+
+
+/*
+ * SetSysBeepVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetSysBeepVolume(long level) FOURWORDINLINE(0x203C, 0x0228, 0x0018, 0xA800);
+
+
+/*
+ * GetDefaultOutputVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDefaultOutputVolume(long * level) FOURWORDINLINE(0x203C, 0x022C, 0x0018, 0xA800);
+
+
+/*
+ * SetDefaultOutputVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDefaultOutputVolume(long level) FOURWORDINLINE(0x203C, 0x0230, 0x0018, 0xA800);
+
+
+/*
+ * GetSoundHeaderOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSoundHeaderOffset(
+ SndListHandle sndHandle,
+ long * offset) FOURWORDINLINE(0x203C, 0x0404, 0x0018, 0xA800);
+
+
+/*
+ * UnsignedFixedMulDiv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API( UnsignedFixed )
+UnsignedFixedMulDiv(
+ UnsignedFixed value,
+ UnsignedFixed multiplier,
+ UnsignedFixed divisor) FOURWORDINLINE(0x203C, 0x060C, 0x0018, 0xA800);
+
+
+/*
+ * GetCompressionInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetCompressionInfo(
+ short compressionID,
+ OSType format,
+ short numChannels,
+ short sampleSize,
+ CompressionInfoPtr cp) FOURWORDINLINE(0x203C, 0x0710, 0x0018, 0xA800);
+
+
+/*
+ * SetSoundPreference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetSoundPreference(
+ OSType theType,
+ Str255 name,
+ Handle settings) FOURWORDINLINE(0x203C, 0x0634, 0x0018, 0xA800);
+
+
+/*
+ * GetSoundPreference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSoundPreference(
+ OSType theType,
+ Str255 name,
+ Handle settings) FOURWORDINLINE(0x203C, 0x0638, 0x0018, 0xA800);
+
+
+/*
+ * OpenMixerSoundComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OpenMixerSoundComponent(
+ SoundComponentDataPtr outputDescription,
+ long outputFlags,
+ ComponentInstance * mixerComponent) FOURWORDINLINE(0x203C, 0x0614, 0x0018, 0xA800);
+
+
+/*
+ * CloseMixerSoundComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CloseMixerSoundComponent(ComponentInstance ci) FOURWORDINLINE(0x203C, 0x0218, 0x0018, 0xA800);
+
+
+/* Sound Manager 3.1 and later calls, uses _SoundDispatch */
+/*
+ * SndGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndGetInfo(
+ SndChannelPtr chan,
+ OSType selector,
+ void * infoPtr) FOURWORDINLINE(0x203C, 0x063C, 0x0018, 0xA800);
+
+
+/*
+ * SndSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndSetInfo(
+ SndChannelPtr chan,
+ OSType selector,
+ const void * infoPtr) FOURWORDINLINE(0x203C, 0x0640, 0x0018, 0xA800);
+
+
+/*
+ * GetSoundOutputInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSoundOutputInfo(
+ Component outputDevice,
+ OSType selector,
+ void * infoPtr) FOURWORDINLINE(0x203C, 0x0644, 0x0018, 0xA800);
+
+
+/*
+ * SetSoundOutputInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetSoundOutputInfo(
+ Component outputDevice,
+ OSType selector,
+ const void * infoPtr) FOURWORDINLINE(0x203C, 0x0648, 0x0018, 0xA800);
+
+
+/* Sound Manager 3.2 and later calls, uses _SoundDispatch */
+/*
+ * GetCompressionName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetCompressionName(
+ OSType compressionType,
+ Str255 compressionName) FOURWORDINLINE(0x203C, 0x044C, 0x0018, 0xA800);
+
+
+/*
+ * SoundConverterOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterOpen(
+ const SoundComponentData * inputFormat,
+ const SoundComponentData * outputFormat,
+ SoundConverter * sc) FOURWORDINLINE(0x203C, 0x0650, 0x0018, 0xA800);
+
+
+/*
+ * SoundConverterClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterClose(SoundConverter sc) FOURWORDINLINE(0x203C, 0x0254, 0x0018, 0xA800);
+
+
+/*
+ * SoundConverterGetBufferSizes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterGetBufferSizes(
+ SoundConverter sc,
+ unsigned long inputBytesTarget,
+ unsigned long * inputFrames,
+ unsigned long * inputBytes,
+ unsigned long * outputBytes) FOURWORDINLINE(0x203C, 0x0A58, 0x0018, 0xA800);
+
+
+/*
+ * SoundConverterBeginConversion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterBeginConversion(SoundConverter sc) FOURWORDINLINE(0x203C, 0x025C, 0x0018, 0xA800);
+
+
+/*
+ * SoundConverterConvertBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterConvertBuffer(
+ SoundConverter sc,
+ const void * inputPtr,
+ unsigned long inputFrames,
+ void * outputPtr,
+ unsigned long * outputFrames,
+ unsigned long * outputBytes) FOURWORDINLINE(0x203C, 0x0C60, 0x0018, 0xA800);
+
+
+/*
+ * SoundConverterEndConversion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterEndConversion(
+ SoundConverter sc,
+ void * outputPtr,
+ unsigned long * outputFrames,
+ unsigned long * outputBytes) FOURWORDINLINE(0x203C, 0x0864, 0x0018, 0xA800);
+
+
+/* Sound Manager 3.3 and later calls, uses _SoundDispatch */
+/*
+ * SoundConverterGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.3 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterGetInfo(
+ SoundConverter sc,
+ OSType selector,
+ void * infoPtr) FOURWORDINLINE(0x203C, 0x0668, 0x0018, 0xA800);
+
+
+/*
+ * SoundConverterSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.3 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterSetInfo(
+ SoundConverter sc,
+ OSType selector,
+ void * infoPtr) FOURWORDINLINE(0x203C, 0x066C, 0x0018, 0xA800);
+
+
+/* Sound Manager 3.6 and later calls, uses _SoundDispatch */
+/*
+ * SoundConverterFillBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.6 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundConverterFillBuffer(
+ SoundConverter sc,
+ SoundConverterFillBufferDataUPP fillBufferDataUPP,
+ void * fillBufferDataRefCon,
+ void * outputBuffer,
+ unsigned long outputBufferByteSize,
+ unsigned long * bytesWritten,
+ unsigned long * framesWritten,
+ unsigned long * outputFlags) FOURWORDINLINE(0x203C, 0x1078, 0x0018, 0xA800);
+
+
+/*
+ * SoundManagerGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.6 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundManagerGetInfo(
+ OSType selector,
+ void * infoPtr) FOURWORDINLINE(0x203C, 0x047C, 0x0018, 0xA800);
+
+
+/*
+ * SoundManagerSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.6 and later
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SoundManagerSetInfo(
+ OSType selector,
+ const void * infoPtr) FOURWORDINLINE(0x203C, 0x0480, 0x0018, 0xA800);
+
+
+/*
+ Sound Component Functions
+ basic sound component functions
+*/
+
+/*
+ * SoundComponentInitOutputDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentInitOutputDevice(
+ ComponentInstance ti,
+ long actions) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentSetSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentSetSource(
+ ComponentInstance ti,
+ SoundSource sourceID,
+ ComponentInstance source) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentGetSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentGetSource(
+ ComponentInstance ti,
+ SoundSource sourceID,
+ ComponentInstance * source) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentGetSourceData()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentGetSourceData(
+ ComponentInstance ti,
+ SoundComponentDataPtr * sourceData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentSetOutput()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentSetOutput(
+ ComponentInstance ti,
+ SoundComponentDataPtr requested,
+ SoundComponentDataPtr * actual) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
+
+
+/* junction methods for the mixer, must be called at non-interrupt level*/
+/*
+ * SoundComponentAddSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentAddSource(
+ ComponentInstance ti,
+ SoundSource * sourceID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentRemoveSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentRemoveSource(
+ ComponentInstance ti,
+ SoundSource sourceID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
+
+
+/* info methods*/
+/*
+ * SoundComponentGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentGetInfo(
+ ComponentInstance ti,
+ SoundSource sourceID,
+ OSType selector,
+ void * infoPtr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentSetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentSetInfo(
+ ComponentInstance ti,
+ SoundSource sourceID,
+ OSType selector,
+ void * infoPtr) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0104, 0x7000, 0xA82A);
+
+
+/* control methods*/
+/*
+ * SoundComponentStartSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentStartSource(
+ ComponentInstance ti,
+ short count,
+ SoundSource * sources) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0105, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentStopSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentStopSource(
+ ComponentInstance ti,
+ short count,
+ SoundSource * sources) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0106, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentPauseSource()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentPauseSource(
+ ComponentInstance ti,
+ short count,
+ SoundSource * sources) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0107, 0x7000, 0xA82A);
+
+
+/*
+ * SoundComponentPlaySourceBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SoundComponentPlaySourceBuffer(
+ ComponentInstance ti,
+ SoundSource sourceID,
+ SoundParamBlockPtr pb,
+ long actions) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0108, 0x7000, 0xA82A);
+
+
+
+/* selectors for component calls */
+enum {
+ kSoundComponentInitOutputDeviceSelect = 0x0001,
+ kSoundComponentSetSourceSelect = 0x0002,
+ kSoundComponentGetSourceSelect = 0x0003,
+ kSoundComponentGetSourceDataSelect = 0x0004,
+ kSoundComponentSetOutputSelect = 0x0005,
+ kSoundComponentAddSourceSelect = 0x0101,
+ kSoundComponentRemoveSourceSelect = 0x0102,
+ kSoundComponentGetInfoSelect = 0x0103,
+ kSoundComponentSetInfoSelect = 0x0104,
+ kSoundComponentStartSourceSelect = 0x0105,
+ kSoundComponentStopSourceSelect = 0x0106,
+ kSoundComponentPauseSourceSelect = 0x0107,
+ kSoundComponentPlaySourceBufferSelect = 0x0108
+};
+/*Audio Components*/
+/*Volume is described as a value between 0 and 1, with 0 indicating minimum
+ volume and 1 indicating maximum volume; if the device doesn't support
+ software control of volume, then a value of unimpErr is returned, indicating
+ that these functions are not supported by the device
+*/
#if CALL_NOT_IN_CARBON
- /*
- * AudioGetVolume()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioGetVolume(
- ComponentInstance ac,
- short whichChannel,
- ShortFixed * volume) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0000, 0x7000, 0xA82A);
-
-
- /*
- * AudioSetVolume()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioSetVolume(
- ComponentInstance ac,
- short whichChannel,
- ShortFixed volume) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*If the device doesn't support software control of mute, then a value of unimpErr is
- returned, indicating that these functions are not supported by the device.*/
- /*
- * AudioGetMute()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioGetMute(
- ComponentInstance ac,
- short whichChannel,
- short * mute) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * AudioSetMute()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioSetMute(
- ComponentInstance ac,
- short whichChannel,
- short mute) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
-
-
- /*AudioSetToDefaults causes the associated device to reset its volume and mute values
- (and perhaps other characteristics, e.g. attenuation) to "factory default" settings*/
- /*
- * AudioSetToDefaults()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioSetToDefaults(ComponentInstance ac) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
-
-
- /*This routine is required; it must be implemented by all audio components*/
-
- /*
- * AudioGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioGetInfo(
- ComponentInstance ac,
- AudioInfoPtr info) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * AudioGetBass()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioGetBass(
- ComponentInstance ac,
- short whichChannel,
- short * bass) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * AudioSetBass()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioSetBass(
- ComponentInstance ac,
- short whichChannel,
- short bass) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * AudioGetTreble()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioGetTreble(
- ComponentInstance ac,
- short whichChannel,
- short * Treble) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * AudioSetTreble()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioSetTreble(
- ComponentInstance ac,
- short whichChannel,
- short Treble) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * AudioGetOutputDevice()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioGetOutputDevice(
- ComponentInstance ac,
- Component * outputDevice) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
-
-
- /*This is routine is private to the AudioVision component. It enables the watching of the mute key.*/
- /*
- * AudioMuteOnEvent()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- AudioMuteOnEvent(
- ComponentInstance ac,
- short muteOnEvent) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0081, 0x7000, 0xA82A);
-
-
-
- /* selectors for component calls */
- enum
- {
- kAudioGetVolumeSelect = 0x0000,
- kAudioSetVolumeSelect = 0x0001,
- kAudioGetMuteSelect = 0x0002,
- kAudioSetMuteSelect = 0x0003,
- kAudioSetToDefaultsSelect = 0x0004,
- kAudioGetInfoSelect = 0x0005,
- kAudioGetBassSelect = 0x0006,
- kAudioSetBassSelect = 0x0007,
- kAudioGetTrebleSelect = 0x0008,
- kAudioSetTrebleSelect = 0x0009,
- kAudioGetOutputDeviceSelect = 0x000A,
- kAudioMuteOnEventSelect = 0x0081
- };
+/*
+ * AudioGetVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioGetVolume(
+ ComponentInstance ac,
+ short whichChannel,
+ ShortFixed * volume) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0000, 0x7000, 0xA82A);
+
+
+/*
+ * AudioSetVolume()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioSetVolume(
+ ComponentInstance ac,
+ short whichChannel,
+ ShortFixed volume) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*If the device doesn't support software control of mute, then a value of unimpErr is
+returned, indicating that these functions are not supported by the device.*/
+/*
+ * AudioGetMute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioGetMute(
+ ComponentInstance ac,
+ short whichChannel,
+ short * mute) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * AudioSetMute()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioSetMute(
+ ComponentInstance ac,
+ short whichChannel,
+ short mute) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
+
+
+/*AudioSetToDefaults causes the associated device to reset its volume and mute values
+(and perhaps other characteristics, e.g. attenuation) to "factory default" settings*/
+/*
+ * AudioSetToDefaults()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioSetToDefaults(ComponentInstance ac) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
+
+
+/*This routine is required; it must be implemented by all audio components*/
+
+/*
+ * AudioGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioGetInfo(
+ ComponentInstance ac,
+ AudioInfoPtr info) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * AudioGetBass()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioGetBass(
+ ComponentInstance ac,
+ short whichChannel,
+ short * bass) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * AudioSetBass()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioSetBass(
+ ComponentInstance ac,
+ short whichChannel,
+ short bass) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * AudioGetTreble()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioGetTreble(
+ ComponentInstance ac,
+ short whichChannel,
+ short * Treble) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * AudioSetTreble()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioSetTreble(
+ ComponentInstance ac,
+ short whichChannel,
+ short Treble) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * AudioGetOutputDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioGetOutputDevice(
+ ComponentInstance ac,
+ Component * outputDevice) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
+
+
+/*This is routine is private to the AudioVision component. It enables the watching of the mute key.*/
+/*
+ * AudioMuteOnEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+AudioMuteOnEvent(
+ ComponentInstance ac,
+ short muteOnEvent) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0081, 0x7000, 0xA82A);
+
+
+
+/* selectors for component calls */
+enum {
+ kAudioGetVolumeSelect = 0x0000,
+ kAudioSetVolumeSelect = 0x0001,
+ kAudioGetMuteSelect = 0x0002,
+ kAudioSetMuteSelect = 0x0003,
+ kAudioSetToDefaultsSelect = 0x0004,
+ kAudioGetInfoSelect = 0x0005,
+ kAudioGetBassSelect = 0x0006,
+ kAudioSetBassSelect = 0x0007,
+ kAudioGetTrebleSelect = 0x0008,
+ kAudioSetTrebleSelect = 0x0009,
+ kAudioGetOutputDeviceSelect = 0x000A,
+ kAudioMuteOnEventSelect = 0x0081
+};
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- kDelegatedSoundComponentSelectors = 0x0100
- };
+enum {
+ kDelegatedSoundComponentSelectors = 0x0100
+};
- /* Sound Input Manager routines, uses _SoundDispatch */
- /*
- * SPBVersion()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NumVersion)
- SPBVersion(void) FOURWORDINLINE(0x203C, 0x0000, 0x0014, 0xA800);
+/* Sound Input Manager routines, uses _SoundDispatch */
+/*
+ * SPBVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NumVersion )
+SPBVersion(void) FOURWORDINLINE(0x203C, 0x0000, 0x0014, 0xA800);
- /*
- * SndRecord()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SndRecord(
- ModalFilterUPP filterProc,
- Point corner,
- OSType quality,
- SndListHandle * sndHandle) FOURWORDINLINE(0x203C, 0x0804, 0x0014, 0xA800);
+/*
+ * SndRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SndRecord(
+ ModalFilterUPP filterProc,
+ Point corner,
+ OSType quality,
+ SndListHandle * sndHandle) FOURWORDINLINE(0x203C, 0x0804, 0x0014, 0xA800);
#if CALL_NOT_IN_CARBON
- /*
- * SndRecordToFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SndRecordToFile(
- ModalFilterUPP filterProc,
- Point corner,
- OSType quality,
- short fRefNum) FOURWORDINLINE(0x203C, 0x0708, 0x0014, 0xA800);
+/*
+ * SndRecordToFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SndRecordToFile(
+ ModalFilterUPP filterProc,
+ Point corner,
+ OSType quality,
+ short fRefNum) FOURWORDINLINE(0x203C, 0x0708, 0x0014, 0xA800);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SPBSignInDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBSignInDevice(
- short deviceRefNum,
- ConstStr255Param deviceName) FOURWORDINLINE(0x203C, 0x030C, 0x0014, 0xA800);
-
-
- /*
- * SPBSignOutDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBSignOutDevice(short deviceRefNum) FOURWORDINLINE(0x203C, 0x0110, 0x0014, 0xA800);
-
-
- /*
- * SPBGetIndexedDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBGetIndexedDevice(
- short count,
- Str255 deviceName,
- Handle * deviceIconHandle) FOURWORDINLINE(0x203C, 0x0514, 0x0014, 0xA800);
-
-
- /*
- * SPBOpenDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBOpenDevice(
- ConstStr255Param deviceName,
- short permission,
- long * inRefNum) FOURWORDINLINE(0x203C, 0x0518, 0x0014, 0xA800);
-
-
- /*
- * SPBCloseDevice()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBCloseDevice(long inRefNum) FOURWORDINLINE(0x203C, 0x021C, 0x0014, 0xA800);
-
-
- /*
- * SPBRecord()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBRecord(
- SPBPtr inParamPtr,
- Boolean asynchFlag) FOURWORDINLINE(0x203C, 0x0320, 0x0014, 0xA800);
+/*
+ * SPBSignInDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBSignInDevice(
+ short deviceRefNum,
+ ConstStr255Param deviceName) FOURWORDINLINE(0x203C, 0x030C, 0x0014, 0xA800);
+
+
+/*
+ * SPBSignOutDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBSignOutDevice(short deviceRefNum) FOURWORDINLINE(0x203C, 0x0110, 0x0014, 0xA800);
+
+
+/*
+ * SPBGetIndexedDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBGetIndexedDevice(
+ short count,
+ Str255 deviceName,
+ Handle * deviceIconHandle) FOURWORDINLINE(0x203C, 0x0514, 0x0014, 0xA800);
+
+
+/*
+ * SPBOpenDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBOpenDevice(
+ ConstStr255Param deviceName,
+ short permission,
+ long * inRefNum) FOURWORDINLINE(0x203C, 0x0518, 0x0014, 0xA800);
+
+
+/*
+ * SPBCloseDevice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBCloseDevice(long inRefNum) FOURWORDINLINE(0x203C, 0x021C, 0x0014, 0xA800);
+
+
+/*
+ * SPBRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBRecord(
+ SPBPtr inParamPtr,
+ Boolean asynchFlag) FOURWORDINLINE(0x203C, 0x0320, 0x0014, 0xA800);
#if CALL_NOT_IN_CARBON
- /*
- * SPBRecordToFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- SPBRecordToFile(
- short fRefNum,
- SPBPtr inParamPtr,
- Boolean asynchFlag) FOURWORDINLINE(0x203C, 0x0424, 0x0014, 0xA800);
+/*
+ * SPBRecordToFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+SPBRecordToFile(
+ short fRefNum,
+ SPBPtr inParamPtr,
+ Boolean asynchFlag) FOURWORDINLINE(0x203C, 0x0424, 0x0014, 0xA800);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SPBPauseRecording()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBPauseRecording(long inRefNum) FOURWORDINLINE(0x203C, 0x0228, 0x0014, 0xA800);
-
-
- /*
- * SPBResumeRecording()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBResumeRecording(long inRefNum) FOURWORDINLINE(0x203C, 0x022C, 0x0014, 0xA800);
-
-
- /*
- * SPBStopRecording()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBStopRecording(long inRefNum) FOURWORDINLINE(0x203C, 0x0230, 0x0014, 0xA800);
-
-
- /*
- * SPBGetRecordingStatus()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBGetRecordingStatus(
- long inRefNum,
- short * recordingStatus,
- short * meterLevel,
- unsigned long * totalSamplesToRecord,
- unsigned long * numberOfSamplesRecorded,
- unsigned long * totalMsecsToRecord,
- unsigned long * numberOfMsecsRecorded) FOURWORDINLINE(0x203C, 0x0E34, 0x0014, 0xA800);
-
-
- /*
- * SPBGetDeviceInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBGetDeviceInfo(
- long inRefNum,
- OSType infoType,
- void * infoData) FOURWORDINLINE(0x203C, 0x0638, 0x0014, 0xA800);
-
-
- /*
- * SPBSetDeviceInfo()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBSetDeviceInfo(
- long inRefNum,
- OSType infoType,
- void * infoData) FOURWORDINLINE(0x203C, 0x063C, 0x0014, 0xA800);
-
-
- /*
- * SPBMillisecondsToBytes()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBMillisecondsToBytes(
- long inRefNum,
- long * milliseconds) FOURWORDINLINE(0x203C, 0x0440, 0x0014, 0xA800);
-
-
- /*
- * SPBBytesToMilliseconds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SPBBytesToMilliseconds(
- long inRefNum,
- long * byteCount) FOURWORDINLINE(0x203C, 0x0444, 0x0014, 0xA800);
-
-
- /*
- * SetupSndHeader()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetupSndHeader(
- SndListHandle sndHandle,
- short numChannels,
- UnsignedFixed sampleRate,
- short sampleSize,
- OSType compressionType,
- short baseNote,
- unsigned long numBytes,
- short * headerLen) FOURWORDINLINE(0x203C, 0x0D48, 0x0014, 0xA800);
-
-
- /*
- * SetupAIFFHeader()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetupAIFFHeader(
- short fRefNum,
- short numChannels,
- UnsignedFixed sampleRate,
- short sampleSize,
- OSType compressionType,
- unsigned long numBytes,
- unsigned long numFrames) FOURWORDINLINE(0x203C, 0x0B4C, 0x0014, 0xA800);
-
-
- /* Sound Input Manager 1.1 and later calls, uses _SoundDispatch */
- /*
- * ParseAIFFHeader()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ParseAIFFHeader(
- short fRefNum,
- SoundComponentData * sndInfo,
- unsigned long * numFrames,
- unsigned long * dataOffset) FOURWORDINLINE(0x203C, 0x0758, 0x0014, 0xA800);
-
-
- /*
- * ParseSndHeader()
- *
- * Availability:
- * Non-Carbon CFM: in SoundLib 3.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ParseSndHeader(
- SndListHandle sndHandle,
- SoundComponentData * sndInfo,
- unsigned long * numFrames,
- unsigned long * dataOffset) FOURWORDINLINE(0x203C, 0x085C, 0x0014, 0xA800);
+/*
+ * SPBPauseRecording()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBPauseRecording(long inRefNum) FOURWORDINLINE(0x203C, 0x0228, 0x0014, 0xA800);
+
+
+/*
+ * SPBResumeRecording()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBResumeRecording(long inRefNum) FOURWORDINLINE(0x203C, 0x022C, 0x0014, 0xA800);
+
+
+/*
+ * SPBStopRecording()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBStopRecording(long inRefNum) FOURWORDINLINE(0x203C, 0x0230, 0x0014, 0xA800);
+
+
+/*
+ * SPBGetRecordingStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBGetRecordingStatus(
+ long inRefNum,
+ short * recordingStatus,
+ short * meterLevel,
+ unsigned long * totalSamplesToRecord,
+ unsigned long * numberOfSamplesRecorded,
+ unsigned long * totalMsecsToRecord,
+ unsigned long * numberOfMsecsRecorded) FOURWORDINLINE(0x203C, 0x0E34, 0x0014, 0xA800);
+
+
+/*
+ * SPBGetDeviceInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBGetDeviceInfo(
+ long inRefNum,
+ OSType infoType,
+ void * infoData) FOURWORDINLINE(0x203C, 0x0638, 0x0014, 0xA800);
+
+
+/*
+ * SPBSetDeviceInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBSetDeviceInfo(
+ long inRefNum,
+ OSType infoType,
+ void * infoData) FOURWORDINLINE(0x203C, 0x063C, 0x0014, 0xA800);
+
+
+/*
+ * SPBMillisecondsToBytes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBMillisecondsToBytes(
+ long inRefNum,
+ long * milliseconds) FOURWORDINLINE(0x203C, 0x0440, 0x0014, 0xA800);
+
+
+/*
+ * SPBBytesToMilliseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SPBBytesToMilliseconds(
+ long inRefNum,
+ long * byteCount) FOURWORDINLINE(0x203C, 0x0444, 0x0014, 0xA800);
+
+
+/*
+ * SetupSndHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetupSndHeader(
+ SndListHandle sndHandle,
+ short numChannels,
+ UnsignedFixed sampleRate,
+ short sampleSize,
+ OSType compressionType,
+ short baseNote,
+ unsigned long numBytes,
+ short * headerLen) FOURWORDINLINE(0x203C, 0x0D48, 0x0014, 0xA800);
+
+
+/*
+ * SetupAIFFHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetupAIFFHeader(
+ short fRefNum,
+ short numChannels,
+ UnsignedFixed sampleRate,
+ short sampleSize,
+ OSType compressionType,
+ unsigned long numBytes,
+ unsigned long numFrames) FOURWORDINLINE(0x203C, 0x0B4C, 0x0014, 0xA800);
+
+
+/* Sound Input Manager 1.1 and later calls, uses _SoundDispatch */
+/*
+ * ParseAIFFHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ParseAIFFHeader(
+ short fRefNum,
+ SoundComponentData * sndInfo,
+ unsigned long * numFrames,
+ unsigned long * dataOffset) FOURWORDINLINE(0x203C, 0x0758, 0x0014, 0xA800);
+
+
+/*
+ * ParseSndHeader()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SoundLib 3.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ParseSndHeader(
+ SndListHandle sndHandle,
+ SoundComponentData * sndInfo,
+ unsigned long * numFrames,
+ unsigned long * dataOffset) FOURWORDINLINE(0x203C, 0x085C, 0x0014, 0xA800);
@@ -3207,172 +3060,170 @@ extern "C" {
#if !TARGET_OS_MAC || TARGET_API_MAC_CARBON
- /* Only to be used if you are writing a sound input component; this */
- /* is the param block for a read request from the SoundMgr to the */
- /* sound input component. Not to be confused with the SPB struct */
- /* above, which is the param block for a read request from an app */
- /* to the SoundMgr. */
- typedef struct SndInputCmpParam SndInputCmpParam;
- typedef SndInputCmpParam * SndInputCmpParamPtr;
- typedef CALLBACK_API(void , SICCompletionProcPtr)(SndInputCmpParamPtr SICParmPtr);
- struct SndInputCmpParam
- {
- SICCompletionProcPtr ioCompletion; /* completion routine [pointer]*/
- SIInterruptProcPtr ioInterrupt; /* interrupt routine [pointer]*/
- OSErr ioResult; /* I/O result code [word]*/
- short pad;
- unsigned long ioReqCount;
- unsigned long ioActCount;
- Ptr ioBuffer;
- Ptr ioMisc;
- };
-
- /*
- * SndInputReadAsync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputReadAsync(
- ComponentInstance self,
- SndInputCmpParamPtr SICParmPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * SndInputReadSync()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputReadSync(
- ComponentInstance self,
- SndInputCmpParamPtr SICParmPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * SndInputPauseRecording()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputPauseRecording(ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * SndInputResumeRecording()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputResumeRecording(ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * SndInputStopRecording()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputStopRecording(ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * SndInputGetStatus()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputGetStatus(
- ComponentInstance self,
- short * recordingStatus,
- unsigned long * totalSamplesToRecord,
- unsigned long * numberOfSamplesRecorded) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * SndInputGetDeviceInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputGetDeviceInfo(
- ComponentInstance self,
- OSType infoType,
- void * infoData) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0007, 0x7000, 0xA82A);
-
-
- /*
- * SndInputSetDeviceInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputSetDeviceInfo(
- ComponentInstance self,
- OSType infoType,
- void * infoData) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * SndInputInitHardware()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SndInputInitHardware(ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0009, 0x7000, 0xA82A);
-
-
-
- /* selectors for component calls */
- enum
- {
- kSndInputReadAsyncSelect = 0x0001,
- kSndInputReadSyncSelect = 0x0002,
- kSndInputPauseRecordingSelect = 0x0003,
- kSndInputResumeRecordingSelect = 0x0004,
- kSndInputStopRecordingSelect = 0x0005,
- kSndInputGetStatusSelect = 0x0006,
- kSndInputGetDeviceInfoSelect = 0x0007,
- kSndInputSetDeviceInfoSelect = 0x0008,
- kSndInputInitHardwareSelect = 0x0009
- };
+/* Only to be used if you are writing a sound input component; this */
+/* is the param block for a read request from the SoundMgr to the */
+/* sound input component. Not to be confused with the SPB struct */
+/* above, which is the param block for a read request from an app */
+/* to the SoundMgr. */
+typedef struct SndInputCmpParam SndInputCmpParam;
+typedef SndInputCmpParam * SndInputCmpParamPtr;
+typedef CALLBACK_API( void , SICCompletionProcPtr )(SndInputCmpParamPtr SICParmPtr);
+struct SndInputCmpParam {
+ SICCompletionProcPtr ioCompletion; /* completion routine [pointer]*/
+ SIInterruptProcPtr ioInterrupt; /* interrupt routine [pointer]*/
+ OSErr ioResult; /* I/O result code [word]*/
+ short pad;
+ unsigned long ioReqCount;
+ unsigned long ioActCount;
+ Ptr ioBuffer;
+ Ptr ioMisc;
+};
+
+/*
+ * SndInputReadAsync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputReadAsync(
+ ComponentInstance self,
+ SndInputCmpParamPtr SICParmPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * SndInputReadSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputReadSync(
+ ComponentInstance self,
+ SndInputCmpParamPtr SICParmPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * SndInputPauseRecording()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputPauseRecording(ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * SndInputResumeRecording()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputResumeRecording(ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * SndInputStopRecording()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputStopRecording(ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * SndInputGetStatus()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputGetStatus(
+ ComponentInstance self,
+ short * recordingStatus,
+ unsigned long * totalSamplesToRecord,
+ unsigned long * numberOfSamplesRecorded) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * SndInputGetDeviceInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputGetDeviceInfo(
+ ComponentInstance self,
+ OSType infoType,
+ void * infoData) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0007, 0x7000, 0xA82A);
+
+
+/*
+ * SndInputSetDeviceInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputSetDeviceInfo(
+ ComponentInstance self,
+ OSType infoType,
+ void * infoData) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * SndInputInitHardware()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SndInputInitHardware(ComponentInstance self) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0009, 0x7000, 0xA82A);
+
+
+
+/* selectors for component calls */
+enum {
+ kSndInputReadAsyncSelect = 0x0001,
+ kSndInputReadSyncSelect = 0x0002,
+ kSndInputPauseRecordingSelect = 0x0003,
+ kSndInputResumeRecordingSelect = 0x0004,
+ kSndInputStopRecordingSelect = 0x0005,
+ kSndInputGetStatusSelect = 0x0006,
+ kSndInputGetDeviceInfoSelect = 0x0007,
+ kSndInputSetDeviceInfoSelect = 0x0008,
+ kSndInputInitHardwareSelect = 0x0009
+};
#endif /* !TARGET_OS_MAC || TARGET_API_MAC_CARBON */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/SpeechRecognition.h b/include/qt/SpeechRecognition.h
index 37bfdbb72..b44bf0df9 100644
--- a/include/qt/SpeechRecognition.h
+++ b/include/qt/SpeechRecognition.h
@@ -1,17 +1,17 @@
/*
File: SpeechRecognition.h
-
+
Contains: Apple Speech Recognition Toolbox Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SPEECHRECOGNITION__
#define __SPEECHRECOGNITION__
@@ -39,906 +39,878 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Error Codes [Speech recognition gets -5100 through -5199] */
- enum {
- kSRNotAvailable = -5100, /* the service requested is not avail or applicable */
- kSRInternalError = -5101, /* a system internal or hardware error condition */
- kSRComponentNotFound = -5102, /* a needed system resource was not located */
- kSROutOfMemory = -5103, /* an out of memory error occurred in the toolbox memory space */
- kSRNotASpeechObject = -5104, /* the object specified is no longer or never was valid */
- kSRBadParameter = -5105, /* an invalid parameter was specified */
- kSRParamOutOfRange = -5106, /* when we say 0-100, don't pass in 101. */
- kSRBadSelector = -5107, /* an unrecognized selector was specified */
- kSRBufferTooSmall = -5108, /* returned from attribute access functions */
- kSRNotARecSystem = -5109, /* the object used was not a SRRecognitionSystem */
- kSRFeedbackNotAvail = -5110, /* there is no feedback window associated with SRRecognizer */
- kSRCantSetProperty = -5111, /* a non-settable property was specified */
- kSRCantGetProperty = -5112, /* a non-gettable property was specified */
- kSRCantSetDuringRecognition = -5113, /* the property can't be set while recognition is in progress -- do before or between utterances. */
- kSRAlreadyListening = -5114, /* in response to SRStartListening */
- kSRNotListeningState = -5115, /* in response to SRStopListening */
- kSRModelMismatch = -5116, /* no acoustical models are avail to match request */
- kSRNoClientLanguageModel = -5117, /* trying to access a non-specified SRLanguageModel */
- kSRNoPendingUtterances = -5118, /* nothing to continue search on */
- kSRRecognitionCanceled = -5119, /* an abort error occurred during search */
- kSRRecognitionDone = -5120, /* search has finished, but nothing was recognized */
- kSROtherRecAlreadyModal = -5121, /* another recognizer is modal at the moment, so can't set this recognizer's kSRBlockModally property right now */
- kSRHasNoSubItems = -5122, /* SRCountItems or related routine was called on an object without subelements -- e.g. a word -- rather than phrase, path, or LM. */
- kSRSubItemNotFound = -5123, /* returned when accessing a non-existent sub item of a container */
- kSRLanguageModelTooBig = -5124, /* Cant build language models so big */
- kSRAlreadyReleased = -5125, /* this object has already been released before */
- kSRAlreadyFinished = -5126, /* the language model can't be finished twice */
- kSRWordNotFound = -5127, /* the spelling couldn't be found in lookup(s) */
- kSRNotFinishedWithRejection = -5128, /* property not found because the LMObj is not finished with rejection */
- kSRExpansionTooDeep = -5129, /* Language model is left recursive or is embedded too many levels */
- kSRTooManyElements = -5130, /* Too many elements added to phrase or path or other langauge model object */
- kSRCantAdd = -5131, /* Can't add given type of object to the base SRLanguageObject (e.g.in SRAddLanguageObject) */
- kSRSndInSourceDisconnected = -5132, /* Sound input source is disconnected */
- kSRCantReadLanguageObject = -5133, /* An error while trying to create new Language object from file or pointer -- possibly bad format */
- /* non-release debugging error codes are included here */
- kSRNotImplementedYet = -5199 /* you'd better wait for this feature in a future release */
- };
-
-
- /* Type Definitions */
- typedef struct OpaqueSRSpeechObject* SRSpeechObject;
- typedef SRSpeechObject SRRecognitionSystem;
- typedef SRSpeechObject SRRecognizer;
- typedef SRSpeechObject SRSpeechSource;
- typedef SRSpeechSource SRRecognitionResult;
- typedef SRSpeechObject SRLanguageObject;
- typedef SRLanguageObject SRLanguageModel;
- typedef SRLanguageObject SRPath;
- typedef SRLanguageObject SRPhrase;
- typedef SRLanguageObject SRWord;
- /* between 0 and 100 */
- typedef unsigned short SRSpeedSetting;
- /* between 0 and 100 */
- typedef unsigned short SRRejectionLevel;
- /* When an event occurs, the user supplied proc will be called with a pointer */
- /* to the param passed in and a flag to indicate conditions such */
- /* as interrupt time or system background time. */
- struct SRCallBackStruct
- {
- long what; /* one of notification flags */
- long message; /* contains SRRecognitionResult id */
- SRRecognizer instance; /* ID of recognizer being notified */
- OSErr status; /* result status of last search */
- short flags; /* non-zero if occurs during interrupt */
- long refCon; /* user defined - set from SRCallBackParam */
- };
- typedef struct SRCallBackStruct SRCallBackStruct;
- /* Call back procedure definition */
- typedef CALLBACK_API(void , SRCallBackProcPtr)(SRCallBackStruct * param);
- typedef STACK_UPP_TYPE(SRCallBackProcPtr) SRCallBackUPP;
- /*
- * NewSRCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SRCallBackUPP)
- NewSRCallBackUPP(SRCallBackProcPtr userRoutine);
+/* Error Codes [Speech recognition gets -5100 through -5199] */
+enum {
+ kSRNotAvailable = -5100, /* the service requested is not avail or applicable */
+ kSRInternalError = -5101, /* a system internal or hardware error condition */
+ kSRComponentNotFound = -5102, /* a needed system resource was not located */
+ kSROutOfMemory = -5103, /* an out of memory error occurred in the toolbox memory space */
+ kSRNotASpeechObject = -5104, /* the object specified is no longer or never was valid */
+ kSRBadParameter = -5105, /* an invalid parameter was specified */
+ kSRParamOutOfRange = -5106, /* when we say 0-100, don't pass in 101. */
+ kSRBadSelector = -5107, /* an unrecognized selector was specified */
+ kSRBufferTooSmall = -5108, /* returned from attribute access functions */
+ kSRNotARecSystem = -5109, /* the object used was not a SRRecognitionSystem */
+ kSRFeedbackNotAvail = -5110, /* there is no feedback window associated with SRRecognizer */
+ kSRCantSetProperty = -5111, /* a non-settable property was specified */
+ kSRCantGetProperty = -5112, /* a non-gettable property was specified */
+ kSRCantSetDuringRecognition = -5113, /* the property can't be set while recognition is in progress -- do before or between utterances. */
+ kSRAlreadyListening = -5114, /* in response to SRStartListening */
+ kSRNotListeningState = -5115, /* in response to SRStopListening */
+ kSRModelMismatch = -5116, /* no acoustical models are avail to match request */
+ kSRNoClientLanguageModel = -5117, /* trying to access a non-specified SRLanguageModel */
+ kSRNoPendingUtterances = -5118, /* nothing to continue search on */
+ kSRRecognitionCanceled = -5119, /* an abort error occurred during search */
+ kSRRecognitionDone = -5120, /* search has finished, but nothing was recognized */
+ kSROtherRecAlreadyModal = -5121, /* another recognizer is modal at the moment, so can't set this recognizer's kSRBlockModally property right now */
+ kSRHasNoSubItems = -5122, /* SRCountItems or related routine was called on an object without subelements -- e.g. a word -- rather than phrase, path, or LM. */
+ kSRSubItemNotFound = -5123, /* returned when accessing a non-existent sub item of a container */
+ kSRLanguageModelTooBig = -5124, /* Cant build language models so big */
+ kSRAlreadyReleased = -5125, /* this object has already been released before */
+ kSRAlreadyFinished = -5126, /* the language model can't be finished twice */
+ kSRWordNotFound = -5127, /* the spelling couldn't be found in lookup(s) */
+ kSRNotFinishedWithRejection = -5128, /* property not found because the LMObj is not finished with rejection */
+ kSRExpansionTooDeep = -5129, /* Language model is left recursive or is embedded too many levels */
+ kSRTooManyElements = -5130, /* Too many elements added to phrase or path or other langauge model object */
+ kSRCantAdd = -5131, /* Can't add given type of object to the base SRLanguageObject (e.g.in SRAddLanguageObject) */
+ kSRSndInSourceDisconnected = -5132, /* Sound input source is disconnected */
+ kSRCantReadLanguageObject = -5133, /* An error while trying to create new Language object from file or pointer -- possibly bad format */
+ /* non-release debugging error codes are included here */
+ kSRNotImplementedYet = -5199 /* you'd better wait for this feature in a future release */
+};
+
+
+/* Type Definitions */
+typedef struct OpaqueSRSpeechObject* SRSpeechObject;
+typedef SRSpeechObject SRRecognitionSystem;
+typedef SRSpeechObject SRRecognizer;
+typedef SRSpeechObject SRSpeechSource;
+typedef SRSpeechSource SRRecognitionResult;
+typedef SRSpeechObject SRLanguageObject;
+typedef SRLanguageObject SRLanguageModel;
+typedef SRLanguageObject SRPath;
+typedef SRLanguageObject SRPhrase;
+typedef SRLanguageObject SRWord;
+/* between 0 and 100 */
+typedef unsigned short SRSpeedSetting;
+/* between 0 and 100 */
+typedef unsigned short SRRejectionLevel;
+/* When an event occurs, the user supplied proc will be called with a pointer */
+/* to the param passed in and a flag to indicate conditions such */
+/* as interrupt time or system background time. */
+struct SRCallBackStruct {
+ long what; /* one of notification flags */
+ long message; /* contains SRRecognitionResult id */
+ SRRecognizer instance; /* ID of recognizer being notified */
+ OSErr status; /* result status of last search */
+ short flags; /* non-zero if occurs during interrupt */
+ long refCon; /* user defined - set from SRCallBackParam */
+};
+typedef struct SRCallBackStruct SRCallBackStruct;
+/* Call back procedure definition */
+typedef CALLBACK_API( void , SRCallBackProcPtr )(SRCallBackStruct * param);
+typedef STACK_UPP_TYPE(SRCallBackProcPtr) SRCallBackUPP;
+/*
+ * NewSRCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SRCallBackUPP )
+NewSRCallBackUPP(SRCallBackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSRCallBackProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SRCallBackUPP) NewSRCallBackUPP(SRCallBackProcPtr userRoutine)
- {
- return (SRCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSRCallBackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSRCallBackUPP(userRoutine) (SRCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSRCallBackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSRCallBackProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SRCallBackUPP) NewSRCallBackUPP(SRCallBackProcPtr userRoutine) { return (SRCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSRCallBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSRCallBackUPP(userRoutine) (SRCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSRCallBackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeSRCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSRCallBackUPP(SRCallBackUPP userUPP);
+/*
+ * DisposeSRCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSRCallBackUPP(SRCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSRCallBackUPP(SRCallBackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSRCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSRCallBackUPP(SRCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSRCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeSRCallBackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSRCallBackUPP(
- SRCallBackStruct * param,
- SRCallBackUPP userUPP);
+/*
+ * InvokeSRCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSRCallBackUPP(
+ SRCallBackStruct * param,
+ SRCallBackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSRCallBackUPP(SRCallBackStruct * param, SRCallBackUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppSRCallBackProcInfo, param);
- }
-#else
-#define InvokeSRCallBackUPP(param, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSRCallBackProcInfo, (param))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSRCallBackUPP(SRCallBackStruct * param, SRCallBackUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppSRCallBackProcInfo, param); }
+ #else
+ #define InvokeSRCallBackUPP(param, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSRCallBackProcInfo, (param))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSRCallBackProc(userRoutine) NewSRCallBackUPP(userRoutine)
-#define CallSRCallBackProc(userRoutine, param) InvokeSRCallBackUPP(param, userRoutine)
+ #define NewSRCallBackProc(userRoutine) NewSRCallBackUPP(userRoutine)
+ #define CallSRCallBackProc(userRoutine, param) InvokeSRCallBackUPP(param, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- struct SRCallBackParam
- {
- SRCallBackUPP callBack;
- long refCon;
- };
- typedef struct SRCallBackParam SRCallBackParam;
- /* Recognition System Types */
- enum
- {
- kSRDefaultRecognitionSystemID = 0
- };
-
- /* Recognition System Properties */
- enum
- {
- kSRFeedbackAndListeningModes = FOUR_CHAR_CODE('fbwn'), /* short: one of kSRNoFeedbackHasListenModes, kSRHasFeedbackHasListenModes, kSRNoFeedbackNoListenModes */
- kSRRejectedWord = FOUR_CHAR_CODE('rejq'), /* the SRWord used to represent a rejection */
- kSRCleanupOnClientExit = FOUR_CHAR_CODE('clup') /* Boolean: Default is true. The rec system and everything it owns is disposed when the client application quits */
- };
-
- enum
- {
- kSRNoFeedbackNoListenModes = 0, /* next allocated recognizer has no feedback window and doesn't use listening modes */
- kSRHasFeedbackHasListenModes = 1, /* next allocated recognizer has feedback window and uses listening modes */
- kSRNoFeedbackHasListenModes = 2 /* next allocated recognizer has no feedback window but does use listening modes */
- };
-
- /* Speech Source Types */
- enum
- {
- kSRDefaultSpeechSource = 0,
- kSRLiveDesktopSpeechSource = FOUR_CHAR_CODE('dklv'), /* live desktop sound input */
- kSRCanned22kHzSpeechSource = FOUR_CHAR_CODE('ca22') /* AIFF file based 16 bit, 22.050 KHz sound input */
- };
-
- /* Notification via Apple Event or Callback */
- /* Notification Flags */
- enum
- {
- kSRNotifyRecognitionBeginning = 1L << 0, /* recognition can begin. client must now call SRContinueRecognition or SRCancelRecognition */
- kSRNotifyRecognitionDone = 1L << 1 /* recognition has terminated. result (if any) is available. */
- };
-
- /* Apple Event selectors */
- /* AppleEvent message class */
- enum
- {
- kAESpeechSuite = FOUR_CHAR_CODE('sprc')
- };
-
- /* AppleEvent message event ids */
- enum
- {
- kAESpeechDone = FOUR_CHAR_CODE('srsd'),
- kAESpeechDetected = FOUR_CHAR_CODE('srbd')
- };
-
- /* AppleEvent Parameter ids */
- enum
- {
- keySRRecognizer = FOUR_CHAR_CODE('krec'),
- keySRSpeechResult = FOUR_CHAR_CODE('kspr'),
- keySRSpeechStatus = FOUR_CHAR_CODE('ksst')
- };
-
- /* AppleEvent Parameter types */
- enum
- {
- typeSRRecognizer = FOUR_CHAR_CODE('trec'),
- typeSRSpeechResult = FOUR_CHAR_CODE('tspr')
- };
-
-
- /* SRRecognizer Properties */
- enum
- {
- kSRNotificationParam = FOUR_CHAR_CODE('noti'), /* see notification flags below */
- kSRCallBackParam = FOUR_CHAR_CODE('call'), /* type SRCallBackParam */
- kSRSearchStatusParam = FOUR_CHAR_CODE('stat'), /* see status flags below */
- kSRAutoFinishingParam = FOUR_CHAR_CODE('afin'), /* automatic finishing applied on LM for search */
- kSRForegroundOnly = FOUR_CHAR_CODE('fgon'), /* Boolean. Default is true. If true, client recognizer only active when in foreground. */
- kSRBlockBackground = FOUR_CHAR_CODE('blbg'), /* Boolean. Default is false. If true, when client recognizer in foreground, rest of LMs are inactive. */
- kSRBlockModally = FOUR_CHAR_CODE('blmd'), /* Boolean. Default is false. When true, this client's LM is only active LM; all other LMs are inactive. Be nice, don't be modal for long periods! */
- kSRWantsResultTextDrawn = FOUR_CHAR_CODE('txfb'), /* Boolean. Default is true. If true, search results are posted to Feedback window */
- kSRWantsAutoFBGestures = FOUR_CHAR_CODE('dfbr'), /* Boolean. Default is true. If true, client needn't call SRProcessBegin/End to get default feedback behavior */
- kSRSoundInVolume = FOUR_CHAR_CODE('volu'), /* short in [0..100] log scaled sound input power. Can't set this property */
- kSRReadAudioFSSpec = FOUR_CHAR_CODE('aurd'), /* *FSSpec. Specify FSSpec where raw audio is to be read (AIFF format) using kSRCanned22kHzSpeechSource. Reads until EOF */
- kSRCancelOnSoundOut = FOUR_CHAR_CODE('caso'), /* Boolean: Default is true. If any sound is played out during utterance, recognition is aborted. */
- kSRSpeedVsAccuracyParam = FOUR_CHAR_CODE('sped') /* SRSpeedSetting between 0 and 100 */
- };
-
- /* 0 means more accurate but slower. */
- /* 100 means (much) less accurate but faster. */
- enum
- {
- kSRUseToggleListen = 0, /* listen key modes */
- kSRUsePushToTalk = 1
- };
-
- enum
- {
- kSRListenKeyMode = FOUR_CHAR_CODE('lkmd'), /* short: either kSRUseToggleListen or kSRUsePushToTalk */
- kSRListenKeyCombo = FOUR_CHAR_CODE('lkey'), /* short: Push-To-Talk key combination; high byte is high byte of event->modifiers, the low byte is the keycode from event->message */
- kSRListenKeyName = FOUR_CHAR_CODE('lnam'), /* Str63: string representing ListenKeyCombo */
- kSRKeyWord = FOUR_CHAR_CODE('kwrd'), /* Str255: keyword preceding spoken commands in kSRUseToggleListen mode */
- kSRKeyExpected = FOUR_CHAR_CODE('kexp') /* Boolean: Must the PTT key be depressed or the key word spoken before recognition can occur? */
- };
-
- /* Operational Status Flags */
- enum
- {
- kSRIdleRecognizer = 1L << 0, /* engine is not active */
- kSRSearchInProgress = 1L << 1, /* search is in progress */
- kSRSearchWaitForAllClients = 1L << 2, /* search is suspended waiting on all clients' input */
- kSRMustCancelSearch = 1L << 3, /* something has occurred (sound played, non-speech detected) requiring the search to abort */
- kSRPendingSearch = 1L << 4 /* we're about to start searching */
- };
-
- /* Recognition Result Properties */
- enum
- {
- kSRTEXTFormat = FOUR_CHAR_CODE('TEXT'), /* raw text in user supplied memory */
- kSRPhraseFormat = FOUR_CHAR_CODE('lmph'), /* SRPhrase containing result words */
- kSRPathFormat = FOUR_CHAR_CODE('lmpt'), /* SRPath containing result phrases or words */
- kSRLanguageModelFormat = FOUR_CHAR_CODE('lmfm') /* top level SRLanguageModel for post parse */
- };
-
- /* SRLanguageObject Family Properties */
- enum
- {
- kSRSpelling = FOUR_CHAR_CODE('spel'), /* spelling of a SRWord or SRPhrase or SRPath, or name of a SRLanguageModel */
- kSRLMObjType = FOUR_CHAR_CODE('lmtp'), /* Returns one of SRLanguageObject Types listed below */
- kSRRefCon = FOUR_CHAR_CODE('refc'), /* 4 bytes of user storage */
- kSROptional = FOUR_CHAR_CODE('optl'), /* Boolean -- true if SRLanguageObject is optional */
- kSREnabled = FOUR_CHAR_CODE('enbl'), /* Boolean -- true if SRLanguageObject enabled */
- kSRRepeatable = FOUR_CHAR_CODE('rptb'), /* Boolean -- true if SRLanguageObject is repeatable */
- kSRRejectable = FOUR_CHAR_CODE('rjbl'), /* Boolean -- true if SRLanguageObject is rejectable (Recognition System's kSRRejectedWord */
- /* object can be returned in place of SRLanguageObject with this property) */
- kSRRejectionLevel = FOUR_CHAR_CODE('rjct') /* SRRejectionLevel between 0 and 100 */
- };
-
- /* LM Object Types -- returned as kSRLMObjType property of language model objects */
- enum
- {
- kSRLanguageModelType = FOUR_CHAR_CODE('lmob'), /* SRLanguageModel */
- kSRPathType = FOUR_CHAR_CODE('path'), /* SRPath */
- kSRPhraseType = FOUR_CHAR_CODE('phra'), /* SRPhrase */
- kSRWordType = FOUR_CHAR_CODE('word') /* SRWord */
- };
-
- /* a normal and reasonable rejection level */
- enum
- {
- kSRDefaultRejectionLevel = 50
- };
-
- /********************************************************************************/
- /* NOTES ON USING THE API */
- /* */
- /* All operations (with the exception of SRGetRecognitionSystem) are */
- /* directed toward an object allocated or begot from New, Get and Read */
- /* type calls. */
- /* */
- /* There is a simple rule in dealing with allocation and disposal: */
- /* */
- /* * all toolbox allocations are obtained from a SRRecognitionSystem */
- /* */
- /* * if you obtain an object via New or Get, then you own a reference */
- /* to that object and it must be released via SRReleaseObject when */
- /* you no longer need it */
- /* */
- /* * when you receive a SRRecognitionResult object via AppleEvent or */
- /* callback, it has essentially been created on your behalf and so */
- /* you are responsible for releasing it as above */
- /* */
- /* * when you close a SRRecognitionSystem, all remaining objects which */
- /* were allocated with it will be forcefully released and any */
- /* remaining references to those objects will be invalid. */
- /* */
- /* This translates into a very simple guideline: */
- /* If you allocate it or have it allocated for you, you must release */
- /* it. If you are only peeking at it, then don't release it. */
- /* */
- /********************************************************************************/
- /* Opening and Closing of the SRRecognitionSystem */
- /*
- * SROpenRecognitionSystem()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SROpenRecognitionSystem(
- SRRecognitionSystem * system,
- OSType systemID) THREEWORDINLINE(0x303C, 0x0400, 0xAA56);
-
-
- /*
- * SRCloseRecognitionSystem()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRCloseRecognitionSystem(SRRecognitionSystem system) THREEWORDINLINE(0x303C, 0x0201, 0xAA56);
-
-
- /* Accessing Properties of any Speech Object */
- /*
- * SRSetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRSetProperty(
- SRSpeechObject srObject,
- OSType selector,
- const void * property,
- Size propertyLen) THREEWORDINLINE(0x303C, 0x0802, 0xAA56);
-
-
- /*
- * SRGetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRGetProperty(
- SRSpeechObject srObject,
- OSType selector,
- void * property,
- Size * propertyLen) THREEWORDINLINE(0x303C, 0x0803, 0xAA56);
-
-
- /* Any object obtained via New or Get type calls must be released */
- /*
- * SRReleaseObject()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRReleaseObject(SRSpeechObject srObject) THREEWORDINLINE(0x303C, 0x0204, 0xAA56);
-
-
- /*
- * SRGetReference()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRGetReference(
- SRSpeechObject srObject,
- SRSpeechObject * newObjectRef) THREEWORDINLINE(0x303C, 0x0425, 0xAA56);
-
-
- /* SRRecognizer Instance Functions */
- /*
- * SRNewRecognizer()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRNewRecognizer(
- SRRecognitionSystem system,
- SRRecognizer * recognizer,
- OSType sourceID) THREEWORDINLINE(0x303C, 0x060A, 0xAA56);
-
-
- /*
- * SRStartListening()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRStartListening(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x020C, 0xAA56);
-
-
- /*
- * SRStopListening()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRStopListening(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x020D, 0xAA56);
-
-
- /*
- * SRSetLanguageModel()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRSetLanguageModel(
- SRRecognizer recognizer,
- SRLanguageModel languageModel) THREEWORDINLINE(0x303C, 0x040E, 0xAA56);
-
-
- /*
- * SRGetLanguageModel()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRGetLanguageModel(
- SRRecognizer recognizer,
- SRLanguageModel * languageModel) THREEWORDINLINE(0x303C, 0x040F, 0xAA56);
-
-
- /*
- * SRContinueRecognition()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRContinueRecognition(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0210, 0xAA56);
-
-
- /*
- * SRCancelRecognition()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRCancelRecognition(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0211, 0xAA56);
-
-
- /*
- * SRIdle()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRIdle(void) THREEWORDINLINE(0x303C, 0x0028, 0xAA56);
-
-
- /* Language Model Building and Manipulation Functions */
- /*
- * SRNewLanguageModel()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRNewLanguageModel(
- SRRecognitionSystem system,
- SRLanguageModel * model,
- const void * name,
- Size nameLength) THREEWORDINLINE(0x303C, 0x0812, 0xAA56);
-
-
- /*
- * SRNewPath()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRNewPath(
- SRRecognitionSystem system,
- SRPath * path) THREEWORDINLINE(0x303C, 0x0413, 0xAA56);
-
-
- /*
- * SRNewPhrase()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRNewPhrase(
- SRRecognitionSystem system,
- SRPhrase * phrase,
- const void * text,
- Size textLength) THREEWORDINLINE(0x303C, 0x0814, 0xAA56);
-
-
- /*
- * SRNewWord()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRNewWord(
- SRRecognitionSystem system,
- SRWord * word,
- const void * text,
- Size textLength) THREEWORDINLINE(0x303C, 0x0815, 0xAA56);
-
-
- /* Operations on any object of the SRLanguageObject family */
- /*
- * SRPutLanguageObjectIntoHandle()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRPutLanguageObjectIntoHandle(
- SRLanguageObject languageObject,
- Handle lobjHandle) THREEWORDINLINE(0x303C, 0x0416, 0xAA56);
-
-
- /*
- * SRPutLanguageObjectIntoDataFile()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRPutLanguageObjectIntoDataFile(
- SRLanguageObject languageObject,
- short fRefNum) THREEWORDINLINE(0x303C, 0x0328, 0xAA56);
-
-
- /*
- * SRNewLanguageObjectFromHandle()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRNewLanguageObjectFromHandle(
- SRRecognitionSystem system,
- SRLanguageObject * languageObject,
- Handle lObjHandle) THREEWORDINLINE(0x303C, 0x0417, 0xAA56);
-
-
- /*
- * SRNewLanguageObjectFromDataFile()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRNewLanguageObjectFromDataFile(
- SRRecognitionSystem system,
- SRLanguageObject * languageObject,
- short fRefNum) THREEWORDINLINE(0x303C, 0x0427, 0xAA56);
-
-
- /*
- * SREmptyLanguageObject()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SREmptyLanguageObject(SRLanguageObject languageObject) THREEWORDINLINE(0x303C, 0x0218, 0xAA56);
-
-
- /*
- * SRChangeLanguageObject()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRChangeLanguageObject(
- SRLanguageObject languageObject,
- const void * text,
- Size textLength) THREEWORDINLINE(0x303C, 0x0619, 0xAA56);
-
-
- /*
- * SRAddLanguageObject()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRAddLanguageObject(
- SRLanguageObject base,
- SRLanguageObject addon) THREEWORDINLINE(0x303C, 0x041A, 0xAA56);
-
-
- /*
- * SRAddText()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRAddText(
- SRLanguageObject base,
- const void * text,
- Size textLength,
- long refCon) THREEWORDINLINE(0x303C, 0x081B, 0xAA56);
-
-
- /*
- * SRRemoveLanguageObject()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRRemoveLanguageObject(
- SRLanguageObject base,
- SRLanguageObject toRemove) THREEWORDINLINE(0x303C, 0x041C, 0xAA56);
-
-
- /* Traversing SRRecognitionResults or SRLanguageObjects */
- /*
- * SRCountItems()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRCountItems(
- SRSpeechObject container,
- long * count) THREEWORDINLINE(0x303C, 0x0405, 0xAA56);
-
-
- /*
- * SRGetIndexedItem()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRGetIndexedItem(
- SRSpeechObject container,
- SRSpeechObject * item,
- long index) THREEWORDINLINE(0x303C, 0x0606, 0xAA56);
-
-
- /*
- * SRSetIndexedItem()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRSetIndexedItem(
- SRSpeechObject container,
- SRSpeechObject item,
- long index) THREEWORDINLINE(0x303C, 0x0607, 0xAA56);
-
-
- /*
- * SRRemoveIndexedItem()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRRemoveIndexedItem(
- SRSpeechObject container,
- long index) THREEWORDINLINE(0x303C, 0x0408, 0xAA56);
-
-
- /* Utilizing the System Feedback Window */
- /*
- * SRDrawText()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRDrawText(
- SRRecognizer recognizer,
- const void * dispText,
- Size dispLength) THREEWORDINLINE(0x303C, 0x0621, 0xAA56);
-
-
- /*
- * SRDrawRecognizedText()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRDrawRecognizedText(
- SRRecognizer recognizer,
- const void * dispText,
- Size dispLength) THREEWORDINLINE(0x303C, 0x0622, 0xAA56);
-
-
- /*
- * SRSpeakText()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRSpeakText(
- SRRecognizer recognizer,
- const void * speakText,
- Size speakLength) THREEWORDINLINE(0x303C, 0x0620, 0xAA56);
-
-
- /*
- * SRSpeakAndDrawText()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRSpeakAndDrawText(
- SRRecognizer recognizer,
- const void * text,
- Size textLength) THREEWORDINLINE(0x303C, 0x061F, 0xAA56);
-
-
- /*
- * SRStopSpeech()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRStopSpeech(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0223, 0xAA56);
-
-
- /*
- * SRSpeechBusy()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- SRSpeechBusy(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0224, 0xAA56);
-
-
- /*
- * SRProcessBegin()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRProcessBegin(
- SRRecognizer recognizer,
- Boolean failed) THREEWORDINLINE(0x303C, 0x031D, 0xAA56);
-
-
- /*
- * SRProcessEnd()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SRProcessEnd(
- SRRecognizer recognizer,
- Boolean failed) THREEWORDINLINE(0x303C, 0x031E, 0xAA56);
+struct SRCallBackParam {
+ SRCallBackUPP callBack;
+ long refCon;
+};
+typedef struct SRCallBackParam SRCallBackParam;
+/* Recognition System Types */
+enum {
+ kSRDefaultRecognitionSystemID = 0
+};
+
+/* Recognition System Properties */
+enum {
+ kSRFeedbackAndListeningModes = FOUR_CHAR_CODE('fbwn'), /* short: one of kSRNoFeedbackHasListenModes, kSRHasFeedbackHasListenModes, kSRNoFeedbackNoListenModes */
+ kSRRejectedWord = FOUR_CHAR_CODE('rejq'), /* the SRWord used to represent a rejection */
+ kSRCleanupOnClientExit = FOUR_CHAR_CODE('clup') /* Boolean: Default is true. The rec system and everything it owns is disposed when the client application quits */
+};
+
+enum {
+ kSRNoFeedbackNoListenModes = 0, /* next allocated recognizer has no feedback window and doesn't use listening modes */
+ kSRHasFeedbackHasListenModes = 1, /* next allocated recognizer has feedback window and uses listening modes */
+ kSRNoFeedbackHasListenModes = 2 /* next allocated recognizer has no feedback window but does use listening modes */
+};
+
+/* Speech Source Types */
+enum {
+ kSRDefaultSpeechSource = 0,
+ kSRLiveDesktopSpeechSource = FOUR_CHAR_CODE('dklv'), /* live desktop sound input */
+ kSRCanned22kHzSpeechSource = FOUR_CHAR_CODE('ca22') /* AIFF file based 16 bit, 22.050 KHz sound input */
+};
+
+/* Notification via Apple Event or Callback */
+/* Notification Flags */
+enum {
+ kSRNotifyRecognitionBeginning = 1L << 0, /* recognition can begin. client must now call SRContinueRecognition or SRCancelRecognition */
+ kSRNotifyRecognitionDone = 1L << 1 /* recognition has terminated. result (if any) is available. */
+};
+
+/* Apple Event selectors */
+/* AppleEvent message class */
+enum {
+ kAESpeechSuite = FOUR_CHAR_CODE('sprc')
+};
+
+/* AppleEvent message event ids */
+enum {
+ kAESpeechDone = FOUR_CHAR_CODE('srsd'),
+ kAESpeechDetected = FOUR_CHAR_CODE('srbd')
+};
+
+/* AppleEvent Parameter ids */
+enum {
+ keySRRecognizer = FOUR_CHAR_CODE('krec'),
+ keySRSpeechResult = FOUR_CHAR_CODE('kspr'),
+ keySRSpeechStatus = FOUR_CHAR_CODE('ksst')
+};
+
+/* AppleEvent Parameter types */
+enum {
+ typeSRRecognizer = FOUR_CHAR_CODE('trec'),
+ typeSRSpeechResult = FOUR_CHAR_CODE('tspr')
+};
+
+
+/* SRRecognizer Properties */
+enum {
+ kSRNotificationParam = FOUR_CHAR_CODE('noti'), /* see notification flags below */
+ kSRCallBackParam = FOUR_CHAR_CODE('call'), /* type SRCallBackParam */
+ kSRSearchStatusParam = FOUR_CHAR_CODE('stat'), /* see status flags below */
+ kSRAutoFinishingParam = FOUR_CHAR_CODE('afin'), /* automatic finishing applied on LM for search */
+ kSRForegroundOnly = FOUR_CHAR_CODE('fgon'), /* Boolean. Default is true. If true, client recognizer only active when in foreground. */
+ kSRBlockBackground = FOUR_CHAR_CODE('blbg'), /* Boolean. Default is false. If true, when client recognizer in foreground, rest of LMs are inactive. */
+ kSRBlockModally = FOUR_CHAR_CODE('blmd'), /* Boolean. Default is false. When true, this client's LM is only active LM; all other LMs are inactive. Be nice, don't be modal for long periods! */
+ kSRWantsResultTextDrawn = FOUR_CHAR_CODE('txfb'), /* Boolean. Default is true. If true, search results are posted to Feedback window */
+ kSRWantsAutoFBGestures = FOUR_CHAR_CODE('dfbr'), /* Boolean. Default is true. If true, client needn't call SRProcessBegin/End to get default feedback behavior */
+ kSRSoundInVolume = FOUR_CHAR_CODE('volu'), /* short in [0..100] log scaled sound input power. Can't set this property */
+ kSRReadAudioFSSpec = FOUR_CHAR_CODE('aurd'), /* *FSSpec. Specify FSSpec where raw audio is to be read (AIFF format) using kSRCanned22kHzSpeechSource. Reads until EOF */
+ kSRCancelOnSoundOut = FOUR_CHAR_CODE('caso'), /* Boolean: Default is true. If any sound is played out during utterance, recognition is aborted. */
+ kSRSpeedVsAccuracyParam = FOUR_CHAR_CODE('sped') /* SRSpeedSetting between 0 and 100 */
+};
+
+/* 0 means more accurate but slower. */
+/* 100 means (much) less accurate but faster. */
+enum {
+ kSRUseToggleListen = 0, /* listen key modes */
+ kSRUsePushToTalk = 1
+};
+
+enum {
+ kSRListenKeyMode = FOUR_CHAR_CODE('lkmd'), /* short: either kSRUseToggleListen or kSRUsePushToTalk */
+ kSRListenKeyCombo = FOUR_CHAR_CODE('lkey'), /* short: Push-To-Talk key combination; high byte is high byte of event->modifiers, the low byte is the keycode from event->message */
+ kSRListenKeyName = FOUR_CHAR_CODE('lnam'), /* Str63: string representing ListenKeyCombo */
+ kSRKeyWord = FOUR_CHAR_CODE('kwrd'), /* Str255: keyword preceding spoken commands in kSRUseToggleListen mode */
+ kSRKeyExpected = FOUR_CHAR_CODE('kexp') /* Boolean: Must the PTT key be depressed or the key word spoken before recognition can occur? */
+};
+
+/* Operational Status Flags */
+enum {
+ kSRIdleRecognizer = 1L << 0, /* engine is not active */
+ kSRSearchInProgress = 1L << 1, /* search is in progress */
+ kSRSearchWaitForAllClients = 1L << 2, /* search is suspended waiting on all clients' input */
+ kSRMustCancelSearch = 1L << 3, /* something has occurred (sound played, non-speech detected) requiring the search to abort */
+ kSRPendingSearch = 1L << 4 /* we're about to start searching */
+};
+
+/* Recognition Result Properties */
+enum {
+ kSRTEXTFormat = FOUR_CHAR_CODE('TEXT'), /* raw text in user supplied memory */
+ kSRPhraseFormat = FOUR_CHAR_CODE('lmph'), /* SRPhrase containing result words */
+ kSRPathFormat = FOUR_CHAR_CODE('lmpt'), /* SRPath containing result phrases or words */
+ kSRLanguageModelFormat = FOUR_CHAR_CODE('lmfm') /* top level SRLanguageModel for post parse */
+};
+
+/* SRLanguageObject Family Properties */
+enum {
+ kSRSpelling = FOUR_CHAR_CODE('spel'), /* spelling of a SRWord or SRPhrase or SRPath, or name of a SRLanguageModel */
+ kSRLMObjType = FOUR_CHAR_CODE('lmtp'), /* Returns one of SRLanguageObject Types listed below */
+ kSRRefCon = FOUR_CHAR_CODE('refc'), /* 4 bytes of user storage */
+ kSROptional = FOUR_CHAR_CODE('optl'), /* Boolean -- true if SRLanguageObject is optional */
+ kSREnabled = FOUR_CHAR_CODE('enbl'), /* Boolean -- true if SRLanguageObject enabled */
+ kSRRepeatable = FOUR_CHAR_CODE('rptb'), /* Boolean -- true if SRLanguageObject is repeatable */
+ kSRRejectable = FOUR_CHAR_CODE('rjbl'), /* Boolean -- true if SRLanguageObject is rejectable (Recognition System's kSRRejectedWord */
+ /* object can be returned in place of SRLanguageObject with this property) */
+ kSRRejectionLevel = FOUR_CHAR_CODE('rjct') /* SRRejectionLevel between 0 and 100 */
+};
+
+/* LM Object Types -- returned as kSRLMObjType property of language model objects */
+enum {
+ kSRLanguageModelType = FOUR_CHAR_CODE('lmob'), /* SRLanguageModel */
+ kSRPathType = FOUR_CHAR_CODE('path'), /* SRPath */
+ kSRPhraseType = FOUR_CHAR_CODE('phra'), /* SRPhrase */
+ kSRWordType = FOUR_CHAR_CODE('word') /* SRWord */
+};
+
+/* a normal and reasonable rejection level */
+enum {
+ kSRDefaultRejectionLevel = 50
+};
+
+/********************************************************************************/
+/* NOTES ON USING THE API */
+/* */
+/* All operations (with the exception of SRGetRecognitionSystem) are */
+/* directed toward an object allocated or begot from New, Get and Read */
+/* type calls. */
+/* */
+/* There is a simple rule in dealing with allocation and disposal: */
+/* */
+/* * all toolbox allocations are obtained from a SRRecognitionSystem */
+/* */
+/* * if you obtain an object via New or Get, then you own a reference */
+/* to that object and it must be released via SRReleaseObject when */
+/* you no longer need it */
+/* */
+/* * when you receive a SRRecognitionResult object via AppleEvent or */
+/* callback, it has essentially been created on your behalf and so */
+/* you are responsible for releasing it as above */
+/* */
+/* * when you close a SRRecognitionSystem, all remaining objects which */
+/* were allocated with it will be forcefully released and any */
+/* remaining references to those objects will be invalid. */
+/* */
+/* This translates into a very simple guideline: */
+/* If you allocate it or have it allocated for you, you must release */
+/* it. If you are only peeking at it, then don't release it. */
+/* */
+/********************************************************************************/
+/* Opening and Closing of the SRRecognitionSystem */
+/*
+ * SROpenRecognitionSystem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SROpenRecognitionSystem(
+ SRRecognitionSystem * system,
+ OSType systemID) THREEWORDINLINE(0x303C, 0x0400, 0xAA56);
+
+
+/*
+ * SRCloseRecognitionSystem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRCloseRecognitionSystem(SRRecognitionSystem system) THREEWORDINLINE(0x303C, 0x0201, 0xAA56);
+
+
+/* Accessing Properties of any Speech Object */
+/*
+ * SRSetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSetProperty(
+ SRSpeechObject srObject,
+ OSType selector,
+ const void * property,
+ Size propertyLen) THREEWORDINLINE(0x303C, 0x0802, 0xAA56);
+
+
+/*
+ * SRGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRGetProperty(
+ SRSpeechObject srObject,
+ OSType selector,
+ void * property,
+ Size * propertyLen) THREEWORDINLINE(0x303C, 0x0803, 0xAA56);
+
+
+/* Any object obtained via New or Get type calls must be released */
+/*
+ * SRReleaseObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRReleaseObject(SRSpeechObject srObject) THREEWORDINLINE(0x303C, 0x0204, 0xAA56);
+
+
+/*
+ * SRGetReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRGetReference(
+ SRSpeechObject srObject,
+ SRSpeechObject * newObjectRef) THREEWORDINLINE(0x303C, 0x0425, 0xAA56);
+
+
+/* SRRecognizer Instance Functions */
+/*
+ * SRNewRecognizer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewRecognizer(
+ SRRecognitionSystem system,
+ SRRecognizer * recognizer,
+ OSType sourceID) THREEWORDINLINE(0x303C, 0x060A, 0xAA56);
+
+
+/*
+ * SRStartListening()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRStartListening(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x020C, 0xAA56);
+
+
+/*
+ * SRStopListening()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRStopListening(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x020D, 0xAA56);
+
+
+/*
+ * SRSetLanguageModel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSetLanguageModel(
+ SRRecognizer recognizer,
+ SRLanguageModel languageModel) THREEWORDINLINE(0x303C, 0x040E, 0xAA56);
+
+
+/*
+ * SRGetLanguageModel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRGetLanguageModel(
+ SRRecognizer recognizer,
+ SRLanguageModel * languageModel) THREEWORDINLINE(0x303C, 0x040F, 0xAA56);
+
+
+/*
+ * SRContinueRecognition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRContinueRecognition(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0210, 0xAA56);
+
+
+/*
+ * SRCancelRecognition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRCancelRecognition(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0211, 0xAA56);
+
+
+/*
+ * SRIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRIdle(void) THREEWORDINLINE(0x303C, 0x0028, 0xAA56);
+
+
+/* Language Model Building and Manipulation Functions */
+/*
+ * SRNewLanguageModel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewLanguageModel(
+ SRRecognitionSystem system,
+ SRLanguageModel * model,
+ const void * name,
+ Size nameLength) THREEWORDINLINE(0x303C, 0x0812, 0xAA56);
+
+
+/*
+ * SRNewPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewPath(
+ SRRecognitionSystem system,
+ SRPath * path) THREEWORDINLINE(0x303C, 0x0413, 0xAA56);
+
+
+/*
+ * SRNewPhrase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewPhrase(
+ SRRecognitionSystem system,
+ SRPhrase * phrase,
+ const void * text,
+ Size textLength) THREEWORDINLINE(0x303C, 0x0814, 0xAA56);
+
+
+/*
+ * SRNewWord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewWord(
+ SRRecognitionSystem system,
+ SRWord * word,
+ const void * text,
+ Size textLength) THREEWORDINLINE(0x303C, 0x0815, 0xAA56);
+
+
+/* Operations on any object of the SRLanguageObject family */
+/*
+ * SRPutLanguageObjectIntoHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRPutLanguageObjectIntoHandle(
+ SRLanguageObject languageObject,
+ Handle lobjHandle) THREEWORDINLINE(0x303C, 0x0416, 0xAA56);
+
+
+/*
+ * SRPutLanguageObjectIntoDataFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRPutLanguageObjectIntoDataFile(
+ SRLanguageObject languageObject,
+ short fRefNum) THREEWORDINLINE(0x303C, 0x0328, 0xAA56);
+
+
+/*
+ * SRNewLanguageObjectFromHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewLanguageObjectFromHandle(
+ SRRecognitionSystem system,
+ SRLanguageObject * languageObject,
+ Handle lObjHandle) THREEWORDINLINE(0x303C, 0x0417, 0xAA56);
+
+
+/*
+ * SRNewLanguageObjectFromDataFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewLanguageObjectFromDataFile(
+ SRRecognitionSystem system,
+ SRLanguageObject * languageObject,
+ short fRefNum) THREEWORDINLINE(0x303C, 0x0427, 0xAA56);
+
+
+/*
+ * SREmptyLanguageObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SREmptyLanguageObject(SRLanguageObject languageObject) THREEWORDINLINE(0x303C, 0x0218, 0xAA56);
+
+
+/*
+ * SRChangeLanguageObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRChangeLanguageObject(
+ SRLanguageObject languageObject,
+ const void * text,
+ Size textLength) THREEWORDINLINE(0x303C, 0x0619, 0xAA56);
+
+
+/*
+ * SRAddLanguageObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRAddLanguageObject(
+ SRLanguageObject base,
+ SRLanguageObject addon) THREEWORDINLINE(0x303C, 0x041A, 0xAA56);
+
+
+/*
+ * SRAddText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRAddText(
+ SRLanguageObject base,
+ const void * text,
+ Size textLength,
+ long refCon) THREEWORDINLINE(0x303C, 0x081B, 0xAA56);
+
+
+/*
+ * SRRemoveLanguageObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRRemoveLanguageObject(
+ SRLanguageObject base,
+ SRLanguageObject toRemove) THREEWORDINLINE(0x303C, 0x041C, 0xAA56);
+
+
+/* Traversing SRRecognitionResults or SRLanguageObjects */
+/*
+ * SRCountItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRCountItems(
+ SRSpeechObject container,
+ long * count) THREEWORDINLINE(0x303C, 0x0405, 0xAA56);
+
+
+/*
+ * SRGetIndexedItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRGetIndexedItem(
+ SRSpeechObject container,
+ SRSpeechObject * item,
+ long index) THREEWORDINLINE(0x303C, 0x0606, 0xAA56);
+
+
+/*
+ * SRSetIndexedItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSetIndexedItem(
+ SRSpeechObject container,
+ SRSpeechObject item,
+ long index) THREEWORDINLINE(0x303C, 0x0607, 0xAA56);
+
+
+/*
+ * SRRemoveIndexedItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRRemoveIndexedItem(
+ SRSpeechObject container,
+ long index) THREEWORDINLINE(0x303C, 0x0408, 0xAA56);
+
+
+/* Utilizing the System Feedback Window */
+/*
+ * SRDrawText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRDrawText(
+ SRRecognizer recognizer,
+ const void * dispText,
+ Size dispLength) THREEWORDINLINE(0x303C, 0x0621, 0xAA56);
+
+
+/*
+ * SRDrawRecognizedText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRDrawRecognizedText(
+ SRRecognizer recognizer,
+ const void * dispText,
+ Size dispLength) THREEWORDINLINE(0x303C, 0x0622, 0xAA56);
+
+
+/*
+ * SRSpeakText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSpeakText(
+ SRRecognizer recognizer,
+ const void * speakText,
+ Size speakLength) THREEWORDINLINE(0x303C, 0x0620, 0xAA56);
+
+
+/*
+ * SRSpeakAndDrawText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSpeakAndDrawText(
+ SRRecognizer recognizer,
+ const void * text,
+ Size textLength) THREEWORDINLINE(0x303C, 0x061F, 0xAA56);
+
+
+/*
+ * SRStopSpeech()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRStopSpeech(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0223, 0xAA56);
+
+
+/*
+ * SRSpeechBusy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+SRSpeechBusy(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0224, 0xAA56);
+
+
+/*
+ * SRProcessBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRProcessBegin(
+ SRRecognizer recognizer,
+ Boolean failed) THREEWORDINLINE(0x303C, 0x031D, 0xAA56);
+
+
+/*
+ * SRProcessEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRProcessEnd(
+ SRRecognizer recognizer,
+ Boolean failed) THREEWORDINLINE(0x303C, 0x031E, 0xAA56);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/SpeechSynthesis.h b/include/qt/SpeechSynthesis.h
index ab80b5903..292920b1f 100644
--- a/include/qt/SpeechSynthesis.h
+++ b/include/qt/SpeechSynthesis.h
@@ -1,17 +1,17 @@
/*
File: SpeechSynthesis.h
-
+
Contains: Speech Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1989-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __SPEECHSYNTHESIS__
#define __SPEECHSYNTHESIS__
@@ -43,985 +43,915 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- enum {
- kTextToSpeechSynthType = FOUR_CHAR_CODE('ttsc'),
- kTextToSpeechVoiceType = FOUR_CHAR_CODE('ttvd'),
- kTextToSpeechVoiceFileType = FOUR_CHAR_CODE('ttvf'),
- kTextToSpeechVoiceBundleType = FOUR_CHAR_CODE('ttvb')
- };
-
- enum
- {
- kNoEndingProsody = 1,
- kNoSpeechInterrupt = 2,
- kPreflightThenPause = 4
- };
-
- enum
- {
- kImmediate = 0,
- kEndOfWord = 1,
- kEndOfSentence = 2
- };
-
-
- /*------------------------------------------*/
- /* GetSpeechInfo & SetSpeechInfo selectors */
- /*------------------------------------------*/
- enum
- {
- soStatus = FOUR_CHAR_CODE('stat'),
- soErrors = FOUR_CHAR_CODE('erro'),
- soInputMode = FOUR_CHAR_CODE('inpt'),
- soCharacterMode = FOUR_CHAR_CODE('char'),
- soNumberMode = FOUR_CHAR_CODE('nmbr'),
- soRate = FOUR_CHAR_CODE('rate'),
- soPitchBase = FOUR_CHAR_CODE('pbas'),
- soPitchMod = FOUR_CHAR_CODE('pmod'),
- soVolume = FOUR_CHAR_CODE('volm'),
- soSynthType = FOUR_CHAR_CODE('vers'),
- soRecentSync = FOUR_CHAR_CODE('sync'),
- soPhonemeSymbols = FOUR_CHAR_CODE('phsy'),
- soCurrentVoice = FOUR_CHAR_CODE('cvox'),
- soCommandDelimiter = FOUR_CHAR_CODE('dlim'),
- soReset = FOUR_CHAR_CODE('rset'),
- soCurrentA5 = FOUR_CHAR_CODE('myA5'),
- soRefCon = FOUR_CHAR_CODE('refc'),
- soTextDoneCallBack = FOUR_CHAR_CODE('tdcb'), /* use with SpeechTextDoneProcPtr*/
- soSpeechDoneCallBack = FOUR_CHAR_CODE('sdcb'), /* use with SpeechDoneProcPtr*/
- soSyncCallBack = FOUR_CHAR_CODE('sycb'), /* use with SpeechSyncProcPtr*/
- soErrorCallBack = FOUR_CHAR_CODE('ercb'), /* use with SpeechErrorProcPtr*/
- soPhonemeCallBack = FOUR_CHAR_CODE('phcb'), /* use with SpeechPhonemeProcPtr*/
- soWordCallBack = FOUR_CHAR_CODE('wdcb'),
- soSynthExtension = FOUR_CHAR_CODE('xtnd'),
- soSoundOutput = FOUR_CHAR_CODE('sndo')
- };
-
-
- /*------------------------------------------*/
- /* Speaking Mode Constants */
- /*------------------------------------------*/
- enum
- {
- modeText = FOUR_CHAR_CODE('TEXT'), /* input mode constants */
- modePhonemes = FOUR_CHAR_CODE('PHON'),
- modeNormal = FOUR_CHAR_CODE('NORM'), /* character mode and number mode constants */
- modeLiteral = FOUR_CHAR_CODE('LTRL')
- };
-
-
- enum
- {
- soVoiceDescription = FOUR_CHAR_CODE('info'),
- soVoiceFile = FOUR_CHAR_CODE('fref')
- };
-
-
- typedef struct OpaqueSpeechChannel* SpeechChannel;
-
- struct VoiceSpec
- {
- OSType creator;
- OSType id;
- };
- typedef struct VoiceSpec VoiceSpec;
- typedef VoiceSpec * VoiceSpecPtr;
-
- enum
- {
- kNeuter = 0,
- kMale = 1,
- kFemale = 2
- };
-
-
-
-
- struct VoiceDescription
- {
- long length;
- VoiceSpec voice;
- long version;
- Str63 name;
- Str255 comment;
- short gender;
- short age;
- short script;
- short language;
- short region;
- long reserved[4];
- };
- typedef struct VoiceDescription VoiceDescription;
-
-
- struct VoiceFileInfo
- {
- FSSpec fileSpec;
- short resID;
- };
- typedef struct VoiceFileInfo VoiceFileInfo;
- struct SpeechStatusInfo
- {
- Boolean outputBusy;
- Boolean outputPaused;
- long inputBytesLeft;
- short phonemeCode;
- };
- typedef struct SpeechStatusInfo SpeechStatusInfo;
-
-
- struct SpeechErrorInfo
- {
- short count;
- OSErr oldest;
- long oldPos;
- OSErr newest;
- long newPos;
- };
- typedef struct SpeechErrorInfo SpeechErrorInfo;
-
-
- struct SpeechVersionInfo
- {
- OSType synthType;
- OSType synthSubType;
- OSType synthManufacturer;
- long synthFlags;
- NumVersion synthVersion;
- };
- typedef struct SpeechVersionInfo SpeechVersionInfo;
-
-
- struct PhonemeInfo
- {
- short opcode;
- Str15 phStr;
- Str31 exampleStr;
- short hiliteStart;
- short hiliteEnd;
- };
- typedef struct PhonemeInfo PhonemeInfo;
-
- struct PhonemeDescriptor
- {
- short phonemeCount;
- PhonemeInfo thePhonemes[1];
- };
- typedef struct PhonemeDescriptor PhonemeDescriptor;
- struct SpeechXtndData
- {
- OSType synthCreator;
- Byte synthData[2];
- };
- typedef struct SpeechXtndData SpeechXtndData;
-
- struct DelimiterInfo
- {
- Byte startDelimiter[2];
- Byte endDelimiter[2];
- };
- typedef struct DelimiterInfo DelimiterInfo;
-
- typedef CALLBACK_API(void , SpeechTextDoneProcPtr)(SpeechChannel chan, long refCon, const void **nextBuf, unsigned long *byteLen, long *controlFlags);
- typedef CALLBACK_API(void , SpeechDoneProcPtr)(SpeechChannel chan, long refCon);
- typedef CALLBACK_API(void , SpeechSyncProcPtr)(SpeechChannel chan, long refCon, OSType syncMessage);
- typedef CALLBACK_API(void , SpeechErrorProcPtr)(SpeechChannel chan, long refCon, OSErr theError, long bytePos);
- typedef CALLBACK_API(void , SpeechPhonemeProcPtr)(SpeechChannel chan, long refCon, short phonemeOpcode);
- typedef CALLBACK_API(void , SpeechWordProcPtr)(SpeechChannel chan, long refCon, unsigned long wordPos, unsigned short wordLen);
- typedef STACK_UPP_TYPE(SpeechTextDoneProcPtr) SpeechTextDoneUPP;
- typedef STACK_UPP_TYPE(SpeechDoneProcPtr) SpeechDoneUPP;
- typedef STACK_UPP_TYPE(SpeechSyncProcPtr) SpeechSyncUPP;
- typedef STACK_UPP_TYPE(SpeechErrorProcPtr) SpeechErrorUPP;
- typedef STACK_UPP_TYPE(SpeechPhonemeProcPtr) SpeechPhonemeUPP;
- typedef STACK_UPP_TYPE(SpeechWordProcPtr) SpeechWordUPP;
- /*
- * NewSpeechTextDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SpeechTextDoneUPP)
- NewSpeechTextDoneUPP(SpeechTextDoneProcPtr userRoutine);
+ #pragma pack(2)
+#endif
+
+enum {
+ kTextToSpeechSynthType = FOUR_CHAR_CODE('ttsc'),
+ kTextToSpeechVoiceType = FOUR_CHAR_CODE('ttvd'),
+ kTextToSpeechVoiceFileType = FOUR_CHAR_CODE('ttvf'),
+ kTextToSpeechVoiceBundleType = FOUR_CHAR_CODE('ttvb')
+};
+
+enum {
+ kNoEndingProsody = 1,
+ kNoSpeechInterrupt = 2,
+ kPreflightThenPause = 4
+};
+
+enum {
+ kImmediate = 0,
+ kEndOfWord = 1,
+ kEndOfSentence = 2
+};
+
+
+/*------------------------------------------*/
+/* GetSpeechInfo & SetSpeechInfo selectors */
+/*------------------------------------------*/
+enum {
+ soStatus = FOUR_CHAR_CODE('stat'),
+ soErrors = FOUR_CHAR_CODE('erro'),
+ soInputMode = FOUR_CHAR_CODE('inpt'),
+ soCharacterMode = FOUR_CHAR_CODE('char'),
+ soNumberMode = FOUR_CHAR_CODE('nmbr'),
+ soRate = FOUR_CHAR_CODE('rate'),
+ soPitchBase = FOUR_CHAR_CODE('pbas'),
+ soPitchMod = FOUR_CHAR_CODE('pmod'),
+ soVolume = FOUR_CHAR_CODE('volm'),
+ soSynthType = FOUR_CHAR_CODE('vers'),
+ soRecentSync = FOUR_CHAR_CODE('sync'),
+ soPhonemeSymbols = FOUR_CHAR_CODE('phsy'),
+ soCurrentVoice = FOUR_CHAR_CODE('cvox'),
+ soCommandDelimiter = FOUR_CHAR_CODE('dlim'),
+ soReset = FOUR_CHAR_CODE('rset'),
+ soCurrentA5 = FOUR_CHAR_CODE('myA5'),
+ soRefCon = FOUR_CHAR_CODE('refc'),
+ soTextDoneCallBack = FOUR_CHAR_CODE('tdcb'), /* use with SpeechTextDoneProcPtr*/
+ soSpeechDoneCallBack = FOUR_CHAR_CODE('sdcb'), /* use with SpeechDoneProcPtr*/
+ soSyncCallBack = FOUR_CHAR_CODE('sycb'), /* use with SpeechSyncProcPtr*/
+ soErrorCallBack = FOUR_CHAR_CODE('ercb'), /* use with SpeechErrorProcPtr*/
+ soPhonemeCallBack = FOUR_CHAR_CODE('phcb'), /* use with SpeechPhonemeProcPtr*/
+ soWordCallBack = FOUR_CHAR_CODE('wdcb'),
+ soSynthExtension = FOUR_CHAR_CODE('xtnd'),
+ soSoundOutput = FOUR_CHAR_CODE('sndo')
+};
+
+
+/*------------------------------------------*/
+/* Speaking Mode Constants */
+/*------------------------------------------*/
+enum {
+ modeText = FOUR_CHAR_CODE('TEXT'), /* input mode constants */
+ modePhonemes = FOUR_CHAR_CODE('PHON'),
+ modeNormal = FOUR_CHAR_CODE('NORM'), /* character mode and number mode constants */
+ modeLiteral = FOUR_CHAR_CODE('LTRL')
+};
+
+
+enum {
+ soVoiceDescription = FOUR_CHAR_CODE('info'),
+ soVoiceFile = FOUR_CHAR_CODE('fref')
+};
+
+
+typedef struct OpaqueSpeechChannel* SpeechChannel;
+
+struct VoiceSpec {
+ OSType creator;
+ OSType id;
+};
+typedef struct VoiceSpec VoiceSpec;
+typedef VoiceSpec * VoiceSpecPtr;
+
+enum {
+ kNeuter = 0,
+ kMale = 1,
+ kFemale = 2
+};
+
+
+
+
+struct VoiceDescription {
+ long length;
+ VoiceSpec voice;
+ long version;
+ Str63 name;
+ Str255 comment;
+ short gender;
+ short age;
+ short script;
+ short language;
+ short region;
+ long reserved[4];
+};
+typedef struct VoiceDescription VoiceDescription;
+
+
+struct VoiceFileInfo {
+ FSSpec fileSpec;
+ short resID;
+};
+typedef struct VoiceFileInfo VoiceFileInfo;
+struct SpeechStatusInfo {
+ Boolean outputBusy;
+ Boolean outputPaused;
+ long inputBytesLeft;
+ short phonemeCode;
+};
+typedef struct SpeechStatusInfo SpeechStatusInfo;
+
+
+struct SpeechErrorInfo {
+ short count;
+ OSErr oldest;
+ long oldPos;
+ OSErr newest;
+ long newPos;
+};
+typedef struct SpeechErrorInfo SpeechErrorInfo;
+
+
+struct SpeechVersionInfo {
+ OSType synthType;
+ OSType synthSubType;
+ OSType synthManufacturer;
+ long synthFlags;
+ NumVersion synthVersion;
+};
+typedef struct SpeechVersionInfo SpeechVersionInfo;
+
+
+struct PhonemeInfo {
+ short opcode;
+ Str15 phStr;
+ Str31 exampleStr;
+ short hiliteStart;
+ short hiliteEnd;
+};
+typedef struct PhonemeInfo PhonemeInfo;
+
+struct PhonemeDescriptor {
+ short phonemeCount;
+ PhonemeInfo thePhonemes[1];
+};
+typedef struct PhonemeDescriptor PhonemeDescriptor;
+struct SpeechXtndData {
+ OSType synthCreator;
+ Byte synthData[2];
+};
+typedef struct SpeechXtndData SpeechXtndData;
+
+struct DelimiterInfo {
+ Byte startDelimiter[2];
+ Byte endDelimiter[2];
+};
+typedef struct DelimiterInfo DelimiterInfo;
+
+typedef CALLBACK_API( void , SpeechTextDoneProcPtr )(SpeechChannel chan, long refCon, const void **nextBuf, unsigned long *byteLen, long *controlFlags);
+typedef CALLBACK_API( void , SpeechDoneProcPtr )(SpeechChannel chan, long refCon);
+typedef CALLBACK_API( void , SpeechSyncProcPtr )(SpeechChannel chan, long refCon, OSType syncMessage);
+typedef CALLBACK_API( void , SpeechErrorProcPtr )(SpeechChannel chan, long refCon, OSErr theError, long bytePos);
+typedef CALLBACK_API( void , SpeechPhonemeProcPtr )(SpeechChannel chan, long refCon, short phonemeOpcode);
+typedef CALLBACK_API( void , SpeechWordProcPtr )(SpeechChannel chan, long refCon, unsigned long wordPos, unsigned short wordLen);
+typedef STACK_UPP_TYPE(SpeechTextDoneProcPtr) SpeechTextDoneUPP;
+typedef STACK_UPP_TYPE(SpeechDoneProcPtr) SpeechDoneUPP;
+typedef STACK_UPP_TYPE(SpeechSyncProcPtr) SpeechSyncUPP;
+typedef STACK_UPP_TYPE(SpeechErrorProcPtr) SpeechErrorUPP;
+typedef STACK_UPP_TYPE(SpeechPhonemeProcPtr) SpeechPhonemeUPP;
+typedef STACK_UPP_TYPE(SpeechWordProcPtr) SpeechWordUPP;
+/*
+ * NewSpeechTextDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SpeechTextDoneUPP )
+NewSpeechTextDoneUPP(SpeechTextDoneProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSpeechTextDoneProcInfo = 0x0000FFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SpeechTextDoneUPP) NewSpeechTextDoneUPP(SpeechTextDoneProcPtr userRoutine)
- {
- return (SpeechTextDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechTextDoneProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSpeechTextDoneUPP(userRoutine) (SpeechTextDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechTextDoneProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSpeechTextDoneProcInfo = 0x0000FFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SpeechTextDoneUPP) NewSpeechTextDoneUPP(SpeechTextDoneProcPtr userRoutine) { return (SpeechTextDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechTextDoneProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSpeechTextDoneUPP(userRoutine) (SpeechTextDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechTextDoneProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSpeechDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SpeechDoneUPP)
- NewSpeechDoneUPP(SpeechDoneProcPtr userRoutine);
+/*
+ * NewSpeechDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SpeechDoneUPP )
+NewSpeechDoneUPP(SpeechDoneProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSpeechDoneProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SpeechDoneUPP) NewSpeechDoneUPP(SpeechDoneProcPtr userRoutine)
- {
- return (SpeechDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechDoneProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSpeechDoneUPP(userRoutine) (SpeechDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechDoneProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSpeechDoneProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SpeechDoneUPP) NewSpeechDoneUPP(SpeechDoneProcPtr userRoutine) { return (SpeechDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechDoneProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSpeechDoneUPP(userRoutine) (SpeechDoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechDoneProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSpeechSyncUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SpeechSyncUPP)
- NewSpeechSyncUPP(SpeechSyncProcPtr userRoutine);
+/*
+ * NewSpeechSyncUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SpeechSyncUPP )
+NewSpeechSyncUPP(SpeechSyncProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSpeechSyncProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SpeechSyncUPP) NewSpeechSyncUPP(SpeechSyncProcPtr userRoutine)
- {
- return (SpeechSyncUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechSyncProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSpeechSyncUPP(userRoutine) (SpeechSyncUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechSyncProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSpeechSyncProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SpeechSyncUPP) NewSpeechSyncUPP(SpeechSyncProcPtr userRoutine) { return (SpeechSyncUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechSyncProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSpeechSyncUPP(userRoutine) (SpeechSyncUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechSyncProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSpeechErrorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SpeechErrorUPP)
- NewSpeechErrorUPP(SpeechErrorProcPtr userRoutine);
+/*
+ * NewSpeechErrorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SpeechErrorUPP )
+NewSpeechErrorUPP(SpeechErrorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSpeechErrorProcInfo = 0x00003BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SpeechErrorUPP) NewSpeechErrorUPP(SpeechErrorProcPtr userRoutine)
- {
- return (SpeechErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechErrorProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSpeechErrorUPP(userRoutine) (SpeechErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechErrorProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSpeechErrorProcInfo = 0x00003BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SpeechErrorUPP) NewSpeechErrorUPP(SpeechErrorProcPtr userRoutine) { return (SpeechErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechErrorProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSpeechErrorUPP(userRoutine) (SpeechErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechErrorProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSpeechPhonemeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SpeechPhonemeUPP)
- NewSpeechPhonemeUPP(SpeechPhonemeProcPtr userRoutine);
+/*
+ * NewSpeechPhonemeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SpeechPhonemeUPP )
+NewSpeechPhonemeUPP(SpeechPhonemeProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSpeechPhonemeProcInfo = 0x00000BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SpeechPhonemeUPP) NewSpeechPhonemeUPP(SpeechPhonemeProcPtr userRoutine)
- {
- return (SpeechPhonemeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechPhonemeProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSpeechPhonemeUPP(userRoutine) (SpeechPhonemeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechPhonemeProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSpeechPhonemeProcInfo = 0x00000BC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SpeechPhonemeUPP) NewSpeechPhonemeUPP(SpeechPhonemeProcPtr userRoutine) { return (SpeechPhonemeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechPhonemeProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSpeechPhonemeUPP(userRoutine) (SpeechPhonemeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechPhonemeProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewSpeechWordUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(SpeechWordUPP)
- NewSpeechWordUPP(SpeechWordProcPtr userRoutine);
+/*
+ * NewSpeechWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SpeechWordUPP )
+NewSpeechWordUPP(SpeechWordProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppSpeechWordProcInfo = 0x00002FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(SpeechWordUPP) NewSpeechWordUPP(SpeechWordProcPtr userRoutine)
- {
- return (SpeechWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechWordProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewSpeechWordUPP(userRoutine) (SpeechWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechWordProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppSpeechWordProcInfo = 0x00002FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SpeechWordUPP) NewSpeechWordUPP(SpeechWordProcPtr userRoutine) { return (SpeechWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechWordProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSpeechWordUPP(userRoutine) (SpeechWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSpeechWordProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeSpeechTextDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSpeechTextDoneUPP(SpeechTextDoneUPP userUPP);
+/*
+ * DisposeSpeechTextDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSpeechTextDoneUPP(SpeechTextDoneUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSpeechTextDoneUPP(SpeechTextDoneUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSpeechTextDoneUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSpeechTextDoneUPP(SpeechTextDoneUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSpeechTextDoneUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSpeechDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSpeechDoneUPP(SpeechDoneUPP userUPP);
+/*
+ * DisposeSpeechDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSpeechDoneUPP(SpeechDoneUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSpeechDoneUPP(SpeechDoneUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSpeechDoneUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSpeechDoneUPP(SpeechDoneUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSpeechDoneUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSpeechSyncUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSpeechSyncUPP(SpeechSyncUPP userUPP);
+/*
+ * DisposeSpeechSyncUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSpeechSyncUPP(SpeechSyncUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSpeechSyncUPP(SpeechSyncUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSpeechSyncUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSpeechSyncUPP(SpeechSyncUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSpeechSyncUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSpeechErrorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSpeechErrorUPP(SpeechErrorUPP userUPP);
+/*
+ * DisposeSpeechErrorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSpeechErrorUPP(SpeechErrorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSpeechErrorUPP(SpeechErrorUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSpeechErrorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSpeechErrorUPP(SpeechErrorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSpeechErrorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSpeechPhonemeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSpeechPhonemeUPP(SpeechPhonemeUPP userUPP);
+/*
+ * DisposeSpeechPhonemeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSpeechPhonemeUPP(SpeechPhonemeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSpeechPhonemeUPP(SpeechPhonemeUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSpeechPhonemeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSpeechPhonemeUPP(SpeechPhonemeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSpeechPhonemeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeSpeechWordUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeSpeechWordUPP(SpeechWordUPP userUPP);
+/*
+ * DisposeSpeechWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSpeechWordUPP(SpeechWordUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeSpeechWordUPP(SpeechWordUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeSpeechWordUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSpeechWordUPP(SpeechWordUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSpeechWordUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeSpeechTextDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSpeechTextDoneUPP(
- SpeechChannel chan,
- long refCon,
- const void ** nextBuf,
- unsigned long * byteLen,
- long * controlFlags,
- SpeechTextDoneUPP userUPP);
+/*
+ * InvokeSpeechTextDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSpeechTextDoneUPP(
+ SpeechChannel chan,
+ long refCon,
+ const void ** nextBuf,
+ unsigned long * byteLen,
+ long * controlFlags,
+ SpeechTextDoneUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSpeechTextDoneUPP(SpeechChannel chan, long refCon, const void ** nextBuf, unsigned long * byteLen, long * controlFlags, SpeechTextDoneUPP userUPP)
- {
- CALL_FIVE_PARAMETER_UPP(userUPP, uppSpeechTextDoneProcInfo, chan, refCon, nextBuf, byteLen, controlFlags);
- }
-#else
-#define InvokeSpeechTextDoneUPP(chan, refCon, nextBuf, byteLen, controlFlags, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppSpeechTextDoneProcInfo, (chan), (refCon), (nextBuf), (byteLen), (controlFlags))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSpeechTextDoneUPP(SpeechChannel chan, long refCon, const void ** nextBuf, unsigned long * byteLen, long * controlFlags, SpeechTextDoneUPP userUPP) { CALL_FIVE_PARAMETER_UPP(userUPP, uppSpeechTextDoneProcInfo, chan, refCon, nextBuf, byteLen, controlFlags); }
+ #else
+ #define InvokeSpeechTextDoneUPP(chan, refCon, nextBuf, byteLen, controlFlags, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppSpeechTextDoneProcInfo, (chan), (refCon), (nextBuf), (byteLen), (controlFlags))
+ #endif
#endif
- /*
- * InvokeSpeechDoneUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSpeechDoneUPP(
- SpeechChannel chan,
- long refCon,
- SpeechDoneUPP userUPP);
+/*
+ * InvokeSpeechDoneUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSpeechDoneUPP(
+ SpeechChannel chan,
+ long refCon,
+ SpeechDoneUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSpeechDoneUPP(SpeechChannel chan, long refCon, SpeechDoneUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppSpeechDoneProcInfo, chan, refCon);
- }
-#else
-#define InvokeSpeechDoneUPP(chan, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSpeechDoneProcInfo, (chan), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSpeechDoneUPP(SpeechChannel chan, long refCon, SpeechDoneUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppSpeechDoneProcInfo, chan, refCon); }
+ #else
+ #define InvokeSpeechDoneUPP(chan, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppSpeechDoneProcInfo, (chan), (refCon))
+ #endif
#endif
- /*
- * InvokeSpeechSyncUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSpeechSyncUPP(
- SpeechChannel chan,
- long refCon,
- OSType syncMessage,
- SpeechSyncUPP userUPP);
+/*
+ * InvokeSpeechSyncUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSpeechSyncUPP(
+ SpeechChannel chan,
+ long refCon,
+ OSType syncMessage,
+ SpeechSyncUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSpeechSyncUPP(SpeechChannel chan, long refCon, OSType syncMessage, SpeechSyncUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppSpeechSyncProcInfo, chan, refCon, syncMessage);
- }
-#else
-#define InvokeSpeechSyncUPP(chan, refCon, syncMessage, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppSpeechSyncProcInfo, (chan), (refCon), (syncMessage))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSpeechSyncUPP(SpeechChannel chan, long refCon, OSType syncMessage, SpeechSyncUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppSpeechSyncProcInfo, chan, refCon, syncMessage); }
+ #else
+ #define InvokeSpeechSyncUPP(chan, refCon, syncMessage, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppSpeechSyncProcInfo, (chan), (refCon), (syncMessage))
+ #endif
#endif
- /*
- * InvokeSpeechErrorUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSpeechErrorUPP(
- SpeechChannel chan,
- long refCon,
- OSErr theError,
- long bytePos,
- SpeechErrorUPP userUPP);
+/*
+ * InvokeSpeechErrorUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSpeechErrorUPP(
+ SpeechChannel chan,
+ long refCon,
+ OSErr theError,
+ long bytePos,
+ SpeechErrorUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSpeechErrorUPP(SpeechChannel chan, long refCon, OSErr theError, long bytePos, SpeechErrorUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppSpeechErrorProcInfo, chan, refCon, theError, bytePos);
- }
-#else
-#define InvokeSpeechErrorUPP(chan, refCon, theError, bytePos, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppSpeechErrorProcInfo, (chan), (refCon), (theError), (bytePos))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSpeechErrorUPP(SpeechChannel chan, long refCon, OSErr theError, long bytePos, SpeechErrorUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppSpeechErrorProcInfo, chan, refCon, theError, bytePos); }
+ #else
+ #define InvokeSpeechErrorUPP(chan, refCon, theError, bytePos, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppSpeechErrorProcInfo, (chan), (refCon), (theError), (bytePos))
+ #endif
#endif
- /*
- * InvokeSpeechPhonemeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSpeechPhonemeUPP(
- SpeechChannel chan,
- long refCon,
- short phonemeOpcode,
- SpeechPhonemeUPP userUPP);
+/*
+ * InvokeSpeechPhonemeUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSpeechPhonemeUPP(
+ SpeechChannel chan,
+ long refCon,
+ short phonemeOpcode,
+ SpeechPhonemeUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSpeechPhonemeUPP(SpeechChannel chan, long refCon, short phonemeOpcode, SpeechPhonemeUPP userUPP)
- {
- CALL_THREE_PARAMETER_UPP(userUPP, uppSpeechPhonemeProcInfo, chan, refCon, phonemeOpcode);
- }
-#else
-#define InvokeSpeechPhonemeUPP(chan, refCon, phonemeOpcode, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppSpeechPhonemeProcInfo, (chan), (refCon), (phonemeOpcode))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSpeechPhonemeUPP(SpeechChannel chan, long refCon, short phonemeOpcode, SpeechPhonemeUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppSpeechPhonemeProcInfo, chan, refCon, phonemeOpcode); }
+ #else
+ #define InvokeSpeechPhonemeUPP(chan, refCon, phonemeOpcode, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppSpeechPhonemeProcInfo, (chan), (refCon), (phonemeOpcode))
+ #endif
#endif
- /*
- * InvokeSpeechWordUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeSpeechWordUPP(
- SpeechChannel chan,
- long refCon,
- unsigned long wordPos,
- unsigned short wordLen,
- SpeechWordUPP userUPP);
+/*
+ * InvokeSpeechWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSpeechWordUPP(
+ SpeechChannel chan,
+ long refCon,
+ unsigned long wordPos,
+ unsigned short wordLen,
+ SpeechWordUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeSpeechWordUPP(SpeechChannel chan, long refCon, unsigned long wordPos, unsigned short wordLen, SpeechWordUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppSpeechWordProcInfo, chan, refCon, wordPos, wordLen);
- }
-#else
-#define InvokeSpeechWordUPP(chan, refCon, wordPos, wordLen, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppSpeechWordProcInfo, (chan), (refCon), (wordPos), (wordLen))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSpeechWordUPP(SpeechChannel chan, long refCon, unsigned long wordPos, unsigned short wordLen, SpeechWordUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppSpeechWordProcInfo, chan, refCon, wordPos, wordLen); }
+ #else
+ #define InvokeSpeechWordUPP(chan, refCon, wordPos, wordLen, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppSpeechWordProcInfo, (chan), (refCon), (wordPos), (wordLen))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewSpeechTextDoneProc(userRoutine) NewSpeechTextDoneUPP(userRoutine)
-#define NewSpeechDoneProc(userRoutine) NewSpeechDoneUPP(userRoutine)
-#define NewSpeechSyncProc(userRoutine) NewSpeechSyncUPP(userRoutine)
-#define NewSpeechErrorProc(userRoutine) NewSpeechErrorUPP(userRoutine)
-#define NewSpeechPhonemeProc(userRoutine) NewSpeechPhonemeUPP(userRoutine)
-#define NewSpeechWordProc(userRoutine) NewSpeechWordUPP(userRoutine)
-#define CallSpeechTextDoneProc(userRoutine, chan, refCon, nextBuf, byteLen, controlFlags) InvokeSpeechTextDoneUPP(chan, refCon, nextBuf, byteLen, controlFlags, userRoutine)
-#define CallSpeechDoneProc(userRoutine, chan, refCon) InvokeSpeechDoneUPP(chan, refCon, userRoutine)
-#define CallSpeechSyncProc(userRoutine, chan, refCon, syncMessage) InvokeSpeechSyncUPP(chan, refCon, syncMessage, userRoutine)
-#define CallSpeechErrorProc(userRoutine, chan, refCon, theError, bytePos) InvokeSpeechErrorUPP(chan, refCon, theError, bytePos, userRoutine)
-#define CallSpeechPhonemeProc(userRoutine, chan, refCon, phonemeOpcode) InvokeSpeechPhonemeUPP(chan, refCon, phonemeOpcode, userRoutine)
-#define CallSpeechWordProc(userRoutine, chan, refCon, wordPos, wordLen) InvokeSpeechWordUPP(chan, refCon, wordPos, wordLen, userRoutine)
+ #define NewSpeechTextDoneProc(userRoutine) NewSpeechTextDoneUPP(userRoutine)
+ #define NewSpeechDoneProc(userRoutine) NewSpeechDoneUPP(userRoutine)
+ #define NewSpeechSyncProc(userRoutine) NewSpeechSyncUPP(userRoutine)
+ #define NewSpeechErrorProc(userRoutine) NewSpeechErrorUPP(userRoutine)
+ #define NewSpeechPhonemeProc(userRoutine) NewSpeechPhonemeUPP(userRoutine)
+ #define NewSpeechWordProc(userRoutine) NewSpeechWordUPP(userRoutine)
+ #define CallSpeechTextDoneProc(userRoutine, chan, refCon, nextBuf, byteLen, controlFlags) InvokeSpeechTextDoneUPP(chan, refCon, nextBuf, byteLen, controlFlags, userRoutine)
+ #define CallSpeechDoneProc(userRoutine, chan, refCon) InvokeSpeechDoneUPP(chan, refCon, userRoutine)
+ #define CallSpeechSyncProc(userRoutine, chan, refCon, syncMessage) InvokeSpeechSyncUPP(chan, refCon, syncMessage, userRoutine)
+ #define CallSpeechErrorProc(userRoutine, chan, refCon, theError, bytePos) InvokeSpeechErrorUPP(chan, refCon, theError, bytePos, userRoutine)
+ #define CallSpeechPhonemeProc(userRoutine, chan, refCon, phonemeOpcode) InvokeSpeechPhonemeUPP(chan, refCon, phonemeOpcode, userRoutine)
+ #define CallSpeechWordProc(userRoutine, chan, refCon, wordPos, wordLen) InvokeSpeechWordUPP(chan, refCon, wordPos, wordLen, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /*
- * SpeechManagerVersion()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(NumVersion)
- SpeechManagerVersion(void) FOURWORDINLINE(0x203C, 0x0000, 0x000C, 0xA800);
-
-
- /*
- * MakeVoiceSpec()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- MakeVoiceSpec(
- OSType creator,
- OSType id,
- VoiceSpec * voice) FOURWORDINLINE(0x203C, 0x0604, 0x000C, 0xA800);
-
-
- /*
- * CountVoices()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CountVoices(short * numVoices) FOURWORDINLINE(0x203C, 0x0108, 0x000C, 0xA800);
-
-
- /*
- * GetIndVoice()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetIndVoice(
- short index,
- VoiceSpec * voice) FOURWORDINLINE(0x203C, 0x030C, 0x000C, 0xA800);
-
-
- /*
- * GetVoiceDescription()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetVoiceDescription(
- const VoiceSpec * voice,
- VoiceDescription * info,
- long infoLength) FOURWORDINLINE(0x203C, 0x0610, 0x000C, 0xA800);
-
-
- /*
- * GetVoiceInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetVoiceInfo(
- const VoiceSpec * voice,
- OSType selector,
- void * voiceInfo) FOURWORDINLINE(0x203C, 0x0614, 0x000C, 0xA800);
-
-
- /*
- * NewSpeechChannel()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewSpeechChannel(
- VoiceSpec * voice, /* can be NULL */
- SpeechChannel * chan) FOURWORDINLINE(0x203C, 0x0418, 0x000C, 0xA800);
-
-
- /*
- * DisposeSpeechChannel()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DisposeSpeechChannel(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x021C, 0x000C, 0xA800);
-
-
- /*
- * SpeakString()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SpeakString(ConstStr255Param textToBeSpoken) FOURWORDINLINE(0x203C, 0x0220, 0x000C, 0xA800);
-
-
- /*
- * SpeakText()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SpeakText(
- SpeechChannel chan,
- const void * textBuf,
- unsigned long textBytes) FOURWORDINLINE(0x203C, 0x0624, 0x000C, 0xA800);
-
-
- /*
- * SpeakBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SpeakBuffer(
- SpeechChannel chan,
- const void * textBuf,
- unsigned long textBytes,
- long controlFlags) FOURWORDINLINE(0x203C, 0x0828, 0x000C, 0xA800);
-
-
- /*
- * StopSpeech()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- StopSpeech(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x022C, 0x000C, 0xA800);
-
-
- /*
- * StopSpeechAt()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- StopSpeechAt(
- SpeechChannel chan,
- long whereToStop) FOURWORDINLINE(0x203C, 0x0430, 0x000C, 0xA800);
-
-
- /*
- * PauseSpeechAt()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- PauseSpeechAt(
- SpeechChannel chan,
- long whereToPause) FOURWORDINLINE(0x203C, 0x0434, 0x000C, 0xA800);
-
-
- /*
- * ContinueSpeech()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ContinueSpeech(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x0238, 0x000C, 0xA800);
-
-
- /*
- * SpeechBusy()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- SpeechBusy(void) FOURWORDINLINE(0x203C, 0x003C, 0x000C, 0xA800);
-
-
- /*
- * SpeechBusySystemWide()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- SpeechBusySystemWide(void) FOURWORDINLINE(0x203C, 0x0040, 0x000C, 0xA800);
-
-
- /*
- * SetSpeechRate()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetSpeechRate(
- SpeechChannel chan,
- Fixed rate) FOURWORDINLINE(0x203C, 0x0444, 0x000C, 0xA800);
-
-
- /*
- * GetSpeechRate()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSpeechRate(
- SpeechChannel chan,
- Fixed * rate) FOURWORDINLINE(0x203C, 0x0448, 0x000C, 0xA800);
-
-
- /*
- * SetSpeechPitch()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetSpeechPitch(
- SpeechChannel chan,
- Fixed pitch) FOURWORDINLINE(0x203C, 0x044C, 0x000C, 0xA800);
-
-
- /*
- * GetSpeechPitch()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSpeechPitch(
- SpeechChannel chan,
- Fixed * pitch) FOURWORDINLINE(0x203C, 0x0450, 0x000C, 0xA800);
-
-
- /*
- * SetSpeechInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetSpeechInfo(
- SpeechChannel chan,
- OSType selector,
- const void * speechInfo) FOURWORDINLINE(0x203C, 0x0654, 0x000C, 0xA800);
-
-
- /*
- * GetSpeechInfo()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSpeechInfo(
- SpeechChannel chan,
- OSType selector,
- void * speechInfo) FOURWORDINLINE(0x203C, 0x0658, 0x000C, 0xA800);
-
-
- /*
- * TextToPhonemes()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- TextToPhonemes(
- SpeechChannel chan,
- const void * textBuf,
- unsigned long textBytes,
- Handle phonemeBuf,
- long * phonemeBytes) FOURWORDINLINE(0x203C, 0x0A5C, 0x000C, 0xA800);
-
-
- /*
- * UseDictionary()
- *
- * Availability:
- * Non-Carbon CFM: in SpeechLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UseDictionary(
- SpeechChannel chan,
- Handle dictionary) FOURWORDINLINE(0x203C, 0x0460, 0x000C, 0xA800);
+/*
+ * SpeechManagerVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( NumVersion )
+SpeechManagerVersion(void) FOURWORDINLINE(0x203C, 0x0000, 0x000C, 0xA800);
+
+
+/*
+ * MakeVoiceSpec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+MakeVoiceSpec(
+ OSType creator,
+ OSType id,
+ VoiceSpec * voice) FOURWORDINLINE(0x203C, 0x0604, 0x000C, 0xA800);
+
+
+/*
+ * CountVoices()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CountVoices(short * numVoices) FOURWORDINLINE(0x203C, 0x0108, 0x000C, 0xA800);
+
+
+/*
+ * GetIndVoice()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetIndVoice(
+ short index,
+ VoiceSpec * voice) FOURWORDINLINE(0x203C, 0x030C, 0x000C, 0xA800);
+
+
+/*
+ * GetVoiceDescription()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetVoiceDescription(
+ const VoiceSpec * voice,
+ VoiceDescription * info,
+ long infoLength) FOURWORDINLINE(0x203C, 0x0610, 0x000C, 0xA800);
+
+
+/*
+ * GetVoiceInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetVoiceInfo(
+ const VoiceSpec * voice,
+ OSType selector,
+ void * voiceInfo) FOURWORDINLINE(0x203C, 0x0614, 0x000C, 0xA800);
+
+
+/*
+ * NewSpeechChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewSpeechChannel(
+ VoiceSpec * voice, /* can be NULL */
+ SpeechChannel * chan) FOURWORDINLINE(0x203C, 0x0418, 0x000C, 0xA800);
+
+
+/*
+ * DisposeSpeechChannel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DisposeSpeechChannel(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x021C, 0x000C, 0xA800);
+
+
+/*
+ * SpeakString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SpeakString(ConstStr255Param textToBeSpoken) FOURWORDINLINE(0x203C, 0x0220, 0x000C, 0xA800);
+
+
+/*
+ * SpeakText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SpeakText(
+ SpeechChannel chan,
+ const void * textBuf,
+ unsigned long textBytes) FOURWORDINLINE(0x203C, 0x0624, 0x000C, 0xA800);
+
+
+/*
+ * SpeakBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SpeakBuffer(
+ SpeechChannel chan,
+ const void * textBuf,
+ unsigned long textBytes,
+ long controlFlags) FOURWORDINLINE(0x203C, 0x0828, 0x000C, 0xA800);
+
+
+/*
+ * StopSpeech()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+StopSpeech(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x022C, 0x000C, 0xA800);
+
+
+/*
+ * StopSpeechAt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+StopSpeechAt(
+ SpeechChannel chan,
+ long whereToStop) FOURWORDINLINE(0x203C, 0x0430, 0x000C, 0xA800);
+
+
+/*
+ * PauseSpeechAt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+PauseSpeechAt(
+ SpeechChannel chan,
+ long whereToPause) FOURWORDINLINE(0x203C, 0x0434, 0x000C, 0xA800);
+
+
+/*
+ * ContinueSpeech()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ContinueSpeech(SpeechChannel chan) FOURWORDINLINE(0x203C, 0x0238, 0x000C, 0xA800);
+
+
+/*
+ * SpeechBusy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+SpeechBusy(void) FOURWORDINLINE(0x203C, 0x003C, 0x000C, 0xA800);
+
+
+/*
+ * SpeechBusySystemWide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+SpeechBusySystemWide(void) FOURWORDINLINE(0x203C, 0x0040, 0x000C, 0xA800);
+
+
+/*
+ * SetSpeechRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetSpeechRate(
+ SpeechChannel chan,
+ Fixed rate) FOURWORDINLINE(0x203C, 0x0444, 0x000C, 0xA800);
+
+
+/*
+ * GetSpeechRate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSpeechRate(
+ SpeechChannel chan,
+ Fixed * rate) FOURWORDINLINE(0x203C, 0x0448, 0x000C, 0xA800);
+
+
+/*
+ * SetSpeechPitch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetSpeechPitch(
+ SpeechChannel chan,
+ Fixed pitch) FOURWORDINLINE(0x203C, 0x044C, 0x000C, 0xA800);
+
+
+/*
+ * GetSpeechPitch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSpeechPitch(
+ SpeechChannel chan,
+ Fixed * pitch) FOURWORDINLINE(0x203C, 0x0450, 0x000C, 0xA800);
+
+
+/*
+ * SetSpeechInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetSpeechInfo(
+ SpeechChannel chan,
+ OSType selector,
+ const void * speechInfo) FOURWORDINLINE(0x203C, 0x0654, 0x000C, 0xA800);
+
+
+/*
+ * GetSpeechInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSpeechInfo(
+ SpeechChannel chan,
+ OSType selector,
+ void * speechInfo) FOURWORDINLINE(0x203C, 0x0658, 0x000C, 0xA800);
+
+
+/*
+ * TextToPhonemes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TextToPhonemes(
+ SpeechChannel chan,
+ const void * textBuf,
+ unsigned long textBytes,
+ Handle phonemeBuf,
+ long * phonemeBytes) FOURWORDINLINE(0x203C, 0x0A5C, 0x000C, 0xA800);
+
+
+/*
+ * UseDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UseDictionary(
+ SpeechChannel chan,
+ Handle dictionary) FOURWORDINLINE(0x203C, 0x0460, 0x000C, 0xA800);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/StandardFile.h b/include/qt/StandardFile.h
index 69d879c6a..45776e113 100644
--- a/include/qt/StandardFile.h
+++ b/include/qt/StandardFile.h
@@ -1,17 +1,17 @@
/*
File: StandardFile.h
-
+
Contains: Standard File package Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __STANDARDFILE__
#define __STANDARDFILE__
@@ -44,737 +44,685 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- enum {
- /* resource IDs of pre-7.0 get and put dialogs */
- putDlgID = -3999,
- getDlgID = -4000
- };
-
- enum
- {
- /* item offsets of pre-7.0 get and put dialogs */
- putSave = 1,
- putCancel = 2,
- putEject = 5,
- putDrive = 6,
- putName = 7,
- getOpen = 1,
- getCancel = 3,
- getEject = 5,
- getDrive = 6,
- getNmList = 7,
- getScroll = 8
- };
-
- enum
- {
- /* resource IDs of 7.0 get and put dialogs */
- sfPutDialogID = -6043,
- sfGetDialogID = -6042
- };
-
- enum
- {
- /* item offsets of 7.0 get and put dialogs */
- sfItemOpenButton = 1,
- sfItemCancelButton = 2,
- sfItemBalloonHelp = 3,
- sfItemVolumeUser = 4,
- sfItemEjectButton = 5,
- sfItemDesktopButton = 6,
- sfItemFileListUser = 7,
- sfItemPopUpMenuUser = 8,
- sfItemDividerLinePict = 9,
- sfItemFileNameTextEdit = 10,
- sfItemPromptStaticText = 11,
- sfItemNewFolderUser = 12
- };
-
- enum
- {
- /* pseudo-item hits for use in DlgHook */
- sfHookFirstCall = -1,
- sfHookCharOffset = 0x1000,
- sfHookNullEvent = 100,
- sfHookRebuildList = 101,
- sfHookFolderPopUp = 102,
- sfHookOpenFolder = 103, /* the following are only in system 7.0+ */
- sfHookLastCall = -2,
- sfHookOpenAlias = 104,
- sfHookGoToDesktop = 105,
- sfHookGoToAliasTarget = 106,
- sfHookGoToParent = 107,
- sfHookGoToNextDrive = 108,
- sfHookGoToPrevDrive = 109,
- sfHookChangeSelection = 110,
- sfHookSetActiveOffset = 200
- };
-
-
- /* the refcon field of the dialog record during a
- modalfilter or dialoghook contains one of the following */
- enum
- {
- sfMainDialogRefCon = FOUR_CHAR_CODE('stdf'),
- sfNewFolderDialogRefCon = FOUR_CHAR_CODE('nfdr'),
- sfReplaceDialogRefCon = FOUR_CHAR_CODE('rplc'),
- sfStatWarnDialogRefCon = FOUR_CHAR_CODE('stat'),
- sfLockWarnDialogRefCon = FOUR_CHAR_CODE('lock'),
- sfErrorDialogRefCon = FOUR_CHAR_CODE('err ')
- };
-
-
- struct SFReply
- {
- Boolean good;
- Boolean copy;
- OSType fType;
- short vRefNum;
- short version;
- StrFileName fName; /* a Str63 on MacOS */
- };
- typedef struct SFReply SFReply;
- struct StandardFileReply
- {
- Boolean sfGood;
- Boolean sfReplacing;
- OSType sfType;
- FSSpec sfFile;
- ScriptCode sfScript;
- short sfFlags;
- Boolean sfIsFolder;
- Boolean sfIsVolume;
- long sfReserved1;
- short sfReserved2;
- };
- typedef struct StandardFileReply StandardFileReply;
- /* for CustomXXXFile, ActivationOrderListPtr parameter is a pointer to an array of item numbers */
-
- typedef const short * ActivationOrderListPtr;
- typedef CALLBACK_API(short , DlgHookProcPtr)(short item, DialogRef theDialog);
- typedef CALLBACK_API(Boolean , FileFilterProcPtr)(CInfoPBPtr pb);
- /* the following also include an extra parameter of "your data pointer" */
- typedef CALLBACK_API(short , DlgHookYDProcPtr)(short item, DialogRef theDialog, void *yourDataPtr);
- /* ModalFilterYDProcPtr moved to Dialogs.h */
- typedef CALLBACK_API(Boolean , FileFilterYDProcPtr)(CInfoPBPtr pb, void *yourDataPtr);
- typedef CALLBACK_API(void , ActivateYDProcPtr)(DialogRef theDialog, short itemNo, Boolean activating, void *yourDataPtr);
- typedef STACK_UPP_TYPE(DlgHookProcPtr) DlgHookUPP;
- typedef STACK_UPP_TYPE(FileFilterProcPtr) FileFilterUPP;
- typedef STACK_UPP_TYPE(DlgHookYDProcPtr) DlgHookYDUPP;
- typedef STACK_UPP_TYPE(FileFilterYDProcPtr) FileFilterYDUPP;
- typedef STACK_UPP_TYPE(ActivateYDProcPtr) ActivateYDUPP;
+ #pragma pack(2)
+#endif
+
+enum {
+ /* resource IDs of pre-7.0 get and put dialogs */
+ putDlgID = -3999,
+ getDlgID = -4000
+};
+
+enum {
+ /* item offsets of pre-7.0 get and put dialogs */
+ putSave = 1,
+ putCancel = 2,
+ putEject = 5,
+ putDrive = 6,
+ putName = 7,
+ getOpen = 1,
+ getCancel = 3,
+ getEject = 5,
+ getDrive = 6,
+ getNmList = 7,
+ getScroll = 8
+};
+
+enum {
+ /* resource IDs of 7.0 get and put dialogs */
+ sfPutDialogID = -6043,
+ sfGetDialogID = -6042
+};
+
+enum {
+ /* item offsets of 7.0 get and put dialogs */
+ sfItemOpenButton = 1,
+ sfItemCancelButton = 2,
+ sfItemBalloonHelp = 3,
+ sfItemVolumeUser = 4,
+ sfItemEjectButton = 5,
+ sfItemDesktopButton = 6,
+ sfItemFileListUser = 7,
+ sfItemPopUpMenuUser = 8,
+ sfItemDividerLinePict = 9,
+ sfItemFileNameTextEdit = 10,
+ sfItemPromptStaticText = 11,
+ sfItemNewFolderUser = 12
+};
+
+enum {
+ /* pseudo-item hits for use in DlgHook */
+ sfHookFirstCall = -1,
+ sfHookCharOffset = 0x1000,
+ sfHookNullEvent = 100,
+ sfHookRebuildList = 101,
+ sfHookFolderPopUp = 102,
+ sfHookOpenFolder = 103, /* the following are only in system 7.0+ */
+ sfHookLastCall = -2,
+ sfHookOpenAlias = 104,
+ sfHookGoToDesktop = 105,
+ sfHookGoToAliasTarget = 106,
+ sfHookGoToParent = 107,
+ sfHookGoToNextDrive = 108,
+ sfHookGoToPrevDrive = 109,
+ sfHookChangeSelection = 110,
+ sfHookSetActiveOffset = 200
+};
+
+
+/* the refcon field of the dialog record during a
+ modalfilter or dialoghook contains one of the following */
+enum {
+ sfMainDialogRefCon = FOUR_CHAR_CODE('stdf'),
+ sfNewFolderDialogRefCon = FOUR_CHAR_CODE('nfdr'),
+ sfReplaceDialogRefCon = FOUR_CHAR_CODE('rplc'),
+ sfStatWarnDialogRefCon = FOUR_CHAR_CODE('stat'),
+ sfLockWarnDialogRefCon = FOUR_CHAR_CODE('lock'),
+ sfErrorDialogRefCon = FOUR_CHAR_CODE('err ')
+};
+
+
+struct SFReply {
+ Boolean good;
+ Boolean copy;
+ OSType fType;
+ short vRefNum;
+ short version;
+ StrFileName fName; /* a Str63 on MacOS */
+};
+typedef struct SFReply SFReply;
+struct StandardFileReply {
+ Boolean sfGood;
+ Boolean sfReplacing;
+ OSType sfType;
+ FSSpec sfFile;
+ ScriptCode sfScript;
+ short sfFlags;
+ Boolean sfIsFolder;
+ Boolean sfIsVolume;
+ long sfReserved1;
+ short sfReserved2;
+};
+typedef struct StandardFileReply StandardFileReply;
+/* for CustomXXXFile, ActivationOrderListPtr parameter is a pointer to an array of item numbers */
+
+typedef const short * ActivationOrderListPtr;
+typedef CALLBACK_API( short , DlgHookProcPtr )(short item, DialogRef theDialog);
+typedef CALLBACK_API( Boolean , FileFilterProcPtr )(CInfoPBPtr pb);
+/* the following also include an extra parameter of "your data pointer" */
+typedef CALLBACK_API( short , DlgHookYDProcPtr )(short item, DialogRef theDialog, void *yourDataPtr);
+/* ModalFilterYDProcPtr moved to Dialogs.h */
+typedef CALLBACK_API( Boolean , FileFilterYDProcPtr )(CInfoPBPtr pb, void *yourDataPtr);
+typedef CALLBACK_API( void , ActivateYDProcPtr )(DialogRef theDialog, short itemNo, Boolean activating, void *yourDataPtr);
+typedef STACK_UPP_TYPE(DlgHookProcPtr) DlgHookUPP;
+typedef STACK_UPP_TYPE(FileFilterProcPtr) FileFilterUPP;
+typedef STACK_UPP_TYPE(DlgHookYDProcPtr) DlgHookYDUPP;
+typedef STACK_UPP_TYPE(FileFilterYDProcPtr) FileFilterYDUPP;
+typedef STACK_UPP_TYPE(ActivateYDProcPtr) ActivateYDUPP;
#if CALL_NOT_IN_CARBON
- /*
- * NewDlgHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DlgHookUPP)
- NewDlgHookUPP(DlgHookProcPtr userRoutine);
+/*
+ * NewDlgHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DlgHookUPP )
+NewDlgHookUPP(DlgHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDlgHookProcInfo = 0x000003A0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DlgHookUPP) NewDlgHookUPP(DlgHookProcPtr userRoutine)
- {
- return (DlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDlgHookUPP(userRoutine) (DlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDlgHookProcInfo = 0x000003A0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DlgHookUPP) NewDlgHookUPP(DlgHookProcPtr userRoutine) { return (DlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDlgHookUPP(userRoutine) (DlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewFileFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(FileFilterUPP)
- NewFileFilterUPP(FileFilterProcPtr userRoutine);
+/*
+ * NewFileFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( FileFilterUPP )
+NewFileFilterUPP(FileFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFileFilterProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FileFilterUPP) NewFileFilterUPP(FileFilterProcPtr userRoutine)
- {
- return (FileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewFileFilterUPP(userRoutine) (FileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppFileFilterProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FileFilterUPP) NewFileFilterUPP(FileFilterProcPtr userRoutine) { return (FileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewFileFilterUPP(userRoutine) (FileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDlgHookYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(DlgHookYDUPP)
- NewDlgHookYDUPP(DlgHookYDProcPtr userRoutine);
+/*
+ * NewDlgHookYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( DlgHookYDUPP )
+NewDlgHookYDUPP(DlgHookYDProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDlgHookYDProcInfo = 0x00000FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DlgHookYDUPP) NewDlgHookYDUPP(DlgHookYDProcPtr userRoutine)
- {
- return (DlgHookYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookYDProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDlgHookYDUPP(userRoutine) (DlgHookYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookYDProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDlgHookYDProcInfo = 0x00000FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DlgHookYDUPP) NewDlgHookYDUPP(DlgHookYDProcPtr userRoutine) { return (DlgHookYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookYDProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDlgHookYDUPP(userRoutine) (DlgHookYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookYDProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewFileFilterYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(FileFilterYDUPP)
- NewFileFilterYDUPP(FileFilterYDProcPtr userRoutine);
+/*
+ * NewFileFilterYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( FileFilterYDUPP )
+NewFileFilterYDUPP(FileFilterYDProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppFileFilterYDProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(FileFilterYDUPP) NewFileFilterYDUPP(FileFilterYDProcPtr userRoutine)
- {
- return (FileFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterYDProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewFileFilterYDUPP(userRoutine) (FileFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterYDProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppFileFilterYDProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(FileFilterYDUPP) NewFileFilterYDUPP(FileFilterYDProcPtr userRoutine) { return (FileFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterYDProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewFileFilterYDUPP(userRoutine) (FileFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterYDProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewActivateYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(ActivateYDUPP)
- NewActivateYDUPP(ActivateYDProcPtr userRoutine);
+/*
+ * NewActivateYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( ActivateYDUPP )
+NewActivateYDUPP(ActivateYDProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppActivateYDProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ActivateYDUPP) NewActivateYDUPP(ActivateYDProcPtr userRoutine)
- {
- return (ActivateYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActivateYDProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewActivateYDUPP(userRoutine) (ActivateYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActivateYDProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppActivateYDProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ActivateYDUPP) NewActivateYDUPP(ActivateYDProcPtr userRoutine) { return (ActivateYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActivateYDProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewActivateYDUPP(userRoutine) (ActivateYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActivateYDProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeDlgHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeDlgHookUPP(DlgHookUPP userUPP);
+/*
+ * DisposeDlgHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeDlgHookUPP(DlgHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDlgHookUPP(DlgHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDlgHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDlgHookUPP(DlgHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDlgHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeFileFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeFileFilterUPP(FileFilterUPP userUPP);
+/*
+ * DisposeFileFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeFileFilterUPP(FileFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFileFilterUPP(FileFilterUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeFileFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFileFilterUPP(FileFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeFileFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDlgHookYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeDlgHookYDUPP(DlgHookYDUPP userUPP);
+/*
+ * DisposeDlgHookYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeDlgHookYDUPP(DlgHookYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDlgHookYDUPP(DlgHookYDUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDlgHookYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDlgHookYDUPP(DlgHookYDUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDlgHookYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeFileFilterYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeFileFilterYDUPP(FileFilterYDUPP userUPP);
+/*
+ * DisposeFileFilterYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeFileFilterYDUPP(FileFilterYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeFileFilterYDUPP(FileFilterYDUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeFileFilterYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeFileFilterYDUPP(FileFilterYDUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeFileFilterYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeActivateYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeActivateYDUPP(ActivateYDUPP userUPP);
+/*
+ * DisposeActivateYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeActivateYDUPP(ActivateYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeActivateYDUPP(ActivateYDUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeActivateYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeActivateYDUPP(ActivateYDUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeActivateYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeDlgHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- InvokeDlgHookUPP(
- short item,
- DialogRef theDialog,
- DlgHookUPP userUPP);
+/*
+ * InvokeDlgHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+InvokeDlgHookUPP(
+ short item,
+ DialogRef theDialog,
+ DlgHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(short) InvokeDlgHookUPP(short item, DialogRef theDialog, DlgHookUPP userUPP)
- {
- return (short)CALL_TWO_PARAMETER_UPP(userUPP, uppDlgHookProcInfo, item, theDialog);
- }
-#else
-#define InvokeDlgHookUPP(item, theDialog, userUPP) (short)CALL_TWO_PARAMETER_UPP((userUPP), uppDlgHookProcInfo, (item), (theDialog))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(short) InvokeDlgHookUPP(short item, DialogRef theDialog, DlgHookUPP userUPP) { return (short)CALL_TWO_PARAMETER_UPP(userUPP, uppDlgHookProcInfo, item, theDialog); }
+ #else
+ #define InvokeDlgHookUPP(item, theDialog, userUPP) (short)CALL_TWO_PARAMETER_UPP((userUPP), uppDlgHookProcInfo, (item), (theDialog))
+ #endif
#endif
- /*
- * InvokeFileFilterUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeFileFilterUPP(
- CInfoPBPtr pb,
- FileFilterUPP userUPP);
+/*
+ * InvokeFileFilterUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeFileFilterUPP(
+ CInfoPBPtr pb,
+ FileFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeFileFilterUPP(CInfoPBPtr pb, FileFilterUPP userUPP)
- {
- return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppFileFilterProcInfo, pb);
- }
-#else
-#define InvokeFileFilterUPP(pb, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppFileFilterProcInfo, (pb))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeFileFilterUPP(CInfoPBPtr pb, FileFilterUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppFileFilterProcInfo, pb); }
+ #else
+ #define InvokeFileFilterUPP(pb, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppFileFilterProcInfo, (pb))
+ #endif
#endif
- /*
- * InvokeDlgHookYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- InvokeDlgHookYDUPP(
- short item,
- DialogRef theDialog,
- void * yourDataPtr,
- DlgHookYDUPP userUPP);
+/*
+ * InvokeDlgHookYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+InvokeDlgHookYDUPP(
+ short item,
+ DialogRef theDialog,
+ void * yourDataPtr,
+ DlgHookYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(short) InvokeDlgHookYDUPP(short item, DialogRef theDialog, void * yourDataPtr, DlgHookYDUPP userUPP)
- {
- return (short)CALL_THREE_PARAMETER_UPP(userUPP, uppDlgHookYDProcInfo, item, theDialog, yourDataPtr);
- }
-#else
-#define InvokeDlgHookYDUPP(item, theDialog, yourDataPtr, userUPP) (short)CALL_THREE_PARAMETER_UPP((userUPP), uppDlgHookYDProcInfo, (item), (theDialog), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(short) InvokeDlgHookYDUPP(short item, DialogRef theDialog, void * yourDataPtr, DlgHookYDUPP userUPP) { return (short)CALL_THREE_PARAMETER_UPP(userUPP, uppDlgHookYDProcInfo, item, theDialog, yourDataPtr); }
+ #else
+ #define InvokeDlgHookYDUPP(item, theDialog, yourDataPtr, userUPP) (short)CALL_THREE_PARAMETER_UPP((userUPP), uppDlgHookYDProcInfo, (item), (theDialog), (yourDataPtr))
+ #endif
#endif
- /*
- * InvokeFileFilterYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- InvokeFileFilterYDUPP(
- CInfoPBPtr pb,
- void * yourDataPtr,
- FileFilterYDUPP userUPP);
+/*
+ * InvokeFileFilterYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+InvokeFileFilterYDUPP(
+ CInfoPBPtr pb,
+ void * yourDataPtr,
+ FileFilterYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeFileFilterYDUPP(CInfoPBPtr pb, void * yourDataPtr, FileFilterYDUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppFileFilterYDProcInfo, pb, yourDataPtr);
- }
-#else
-#define InvokeFileFilterYDUPP(pb, yourDataPtr, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppFileFilterYDProcInfo, (pb), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeFileFilterYDUPP(CInfoPBPtr pb, void * yourDataPtr, FileFilterYDUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppFileFilterYDProcInfo, pb, yourDataPtr); }
+ #else
+ #define InvokeFileFilterYDUPP(pb, yourDataPtr, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppFileFilterYDProcInfo, (pb), (yourDataPtr))
+ #endif
#endif
- /*
- * InvokeActivateYDUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- InvokeActivateYDUPP(
- DialogRef theDialog,
- short itemNo,
- Boolean activating,
- void * yourDataPtr,
- ActivateYDUPP userUPP);
+/*
+ * InvokeActivateYDUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokeActivateYDUPP(
+ DialogRef theDialog,
+ short itemNo,
+ Boolean activating,
+ void * yourDataPtr,
+ ActivateYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeActivateYDUPP(DialogRef theDialog, short itemNo, Boolean activating, void * yourDataPtr, ActivateYDUPP userUPP)
- {
- CALL_FOUR_PARAMETER_UPP(userUPP, uppActivateYDProcInfo, theDialog, itemNo, activating, yourDataPtr);
- }
-#else
-#define InvokeActivateYDUPP(theDialog, itemNo, activating, yourDataPtr, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppActivateYDProcInfo, (theDialog), (itemNo), (activating), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeActivateYDUPP(DialogRef theDialog, short itemNo, Boolean activating, void * yourDataPtr, ActivateYDUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppActivateYDProcInfo, theDialog, itemNo, activating, yourDataPtr); }
+ #else
+ #define InvokeActivateYDUPP(theDialog, itemNo, activating, yourDataPtr, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppActivateYDProcInfo, (theDialog), (itemNo), (activating), (yourDataPtr))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewDlgHookProc(userRoutine) NewDlgHookUPP(userRoutine)
-#define NewFileFilterProc(userRoutine) NewFileFilterUPP(userRoutine)
-#define NewDlgHookYDProc(userRoutine) NewDlgHookYDUPP(userRoutine)
-#define NewFileFilterYDProc(userRoutine) NewFileFilterYDUPP(userRoutine)
-#define NewActivateYDProc(userRoutine) NewActivateYDUPP(userRoutine)
-#define CallDlgHookProc(userRoutine, item, theDialog) InvokeDlgHookUPP(item, theDialog, userRoutine)
-#define CallFileFilterProc(userRoutine, pb) InvokeFileFilterUPP(pb, userRoutine)
-#define CallDlgHookYDProc(userRoutine, item, theDialog, yourDataPtr) InvokeDlgHookYDUPP(item, theDialog, yourDataPtr, userRoutine)
-#define CallFileFilterYDProc(userRoutine, pb, yourDataPtr) InvokeFileFilterYDUPP(pb, yourDataPtr, userRoutine)
-#define CallActivateYDProc(userRoutine, theDialog, itemNo, activating, yourDataPtr) InvokeActivateYDUPP(theDialog, itemNo, activating, yourDataPtr, userRoutine)
+ #define NewDlgHookProc(userRoutine) NewDlgHookUPP(userRoutine)
+ #define NewFileFilterProc(userRoutine) NewFileFilterUPP(userRoutine)
+ #define NewDlgHookYDProc(userRoutine) NewDlgHookYDUPP(userRoutine)
+ #define NewFileFilterYDProc(userRoutine) NewFileFilterYDUPP(userRoutine)
+ #define NewActivateYDProc(userRoutine) NewActivateYDUPP(userRoutine)
+ #define CallDlgHookProc(userRoutine, item, theDialog) InvokeDlgHookUPP(item, theDialog, userRoutine)
+ #define CallFileFilterProc(userRoutine, pb) InvokeFileFilterUPP(pb, userRoutine)
+ #define CallDlgHookYDProc(userRoutine, item, theDialog, yourDataPtr) InvokeDlgHookYDUPP(item, theDialog, yourDataPtr, userRoutine)
+ #define CallFileFilterYDProc(userRoutine, pb, yourDataPtr) InvokeFileFilterYDUPP(pb, yourDataPtr, userRoutine)
+ #define CallActivateYDProc(userRoutine, theDialog, itemNo, activating, yourDataPtr) InvokeActivateYDUPP(theDialog, itemNo, activating, yourDataPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef OSType SFTypeList[4];
- /*
- The GetFile "typeList" parameter type has changed from "SFTypeList" to "ConstSFTypeListPtr".
- For C, this will add "const" and make it an in-only parameter.
- For Pascal, this will require client code to use the @ operator, but make it easier to specify long lists.
+typedef OSType SFTypeList[4];
+/*
+ The GetFile "typeList" parameter type has changed from "SFTypeList" to "ConstSFTypeListPtr".
+ For C, this will add "const" and make it an in-only parameter.
+ For Pascal, this will require client code to use the @ operator, but make it easier to specify long lists.
- ConstSFTypeListPtr is a pointer to an array of OSTypes.
- */
- typedef const OSType * ConstSFTypeListPtr;
+ ConstSFTypeListPtr is a pointer to an array of OSTypes.
+*/
+typedef const OSType * ConstSFTypeListPtr;
#if CALL_NOT_IN_CARBON
- /*
- * SFPutFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SFPutFile(
- Point where,
- ConstStr255Param prompt, /* can be NULL */
- ConstStr255Param origName,
- DlgHookUPP dlgHook, /* can be NULL */
- SFReply * reply) THREEWORDINLINE(0x3F3C, 0x0001, 0xA9EA);
-
-
- /*
- * SFGetFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SFGetFile(
- Point where,
- ConstStr255Param prompt,
- FileFilterUPP fileFilter, /* can be NULL */
- short numTypes,
- ConstSFTypeListPtr typeList, /* can be NULL */
- DlgHookUPP dlgHook, /* can be NULL */
- SFReply * reply) THREEWORDINLINE(0x3F3C, 0x0002, 0xA9EA);
-
-
- /*
- * SFPPutFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SFPPutFile(
- Point where,
- ConstStr255Param prompt, /* can be NULL */
- ConstStr255Param origName,
- DlgHookUPP dlgHook,
- SFReply * reply,
- short dlgID,
- ModalFilterUPP filterProc) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0003, 0xA9EA);
-
-
- /*
- * SFPGetFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SFPGetFile(
- Point where,
- ConstStr255Param prompt,
- FileFilterUPP fileFilter, /* can be NULL */
- short numTypes,
- ConstSFTypeListPtr typeList, /* can be NULL */
- DlgHookUPP dlgHook, /* can be NULL */
- SFReply * reply,
- short dlgID,
- ModalFilterUPP filterProc) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0004, 0xA9EA);
-
-
- /*
- * StandardPutFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- StandardPutFile(
- ConstStr255Param prompt, /* can be NULL */
- ConstStr255Param defaultName,
- StandardFileReply * reply) THREEWORDINLINE(0x3F3C, 0x0005, 0xA9EA);
-
-
- /*
- * StandardGetFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- StandardGetFile(
- FileFilterUPP fileFilter, /* can be NULL */
- short numTypes,
- ConstSFTypeListPtr typeList, /* can be NULL */
- StandardFileReply * reply) THREEWORDINLINE(0x3F3C, 0x0006, 0xA9EA);
-
-
- /*
- * CustomPutFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CustomPutFile(
- ConstStr255Param prompt, /* can be NULL */
- ConstStr255Param defaultName,
- StandardFileReply * reply,
- short dlgID,
- Point where,
- DlgHookYDUPP dlgHook, /* can be NULL */
- ModalFilterYDUPP filterProc, /* can be NULL */
- ActivationOrderListPtr activeList, /* can be NULL */
- ActivateYDUPP activate, /* can be NULL */
- void * yourDataPtr) THREEWORDINLINE(0x3F3C, 0x0007, 0xA9EA);
-
-
- /*
- * CustomGetFile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- CustomGetFile(
- FileFilterYDUPP fileFilter, /* can be NULL */
- short numTypes,
- ConstSFTypeListPtr typeList, /* can be NULL */
- StandardFileReply * reply,
- short dlgID,
- Point where,
- DlgHookYDUPP dlgHook, /* can be NULL */
- ModalFilterYDUPP filterProc, /* can be NULL */
- ActivationOrderListPtr activeList, /* can be NULL */
- ActivateYDUPP activate, /* can be NULL */
- void * yourDataPtr) THREEWORDINLINE(0x3F3C, 0x0008, 0xA9EA);
-
-
- /*
- * StandardOpenDialog()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- StandardOpenDialog(StandardFileReply * reply);
+/*
+ * SFPutFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SFPutFile(
+ Point where,
+ ConstStr255Param prompt, /* can be NULL */
+ ConstStr255Param origName,
+ DlgHookUPP dlgHook, /* can be NULL */
+ SFReply * reply) THREEWORDINLINE(0x3F3C, 0x0001, 0xA9EA);
+
+
+/*
+ * SFGetFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SFGetFile(
+ Point where,
+ ConstStr255Param prompt,
+ FileFilterUPP fileFilter, /* can be NULL */
+ short numTypes,
+ ConstSFTypeListPtr typeList, /* can be NULL */
+ DlgHookUPP dlgHook, /* can be NULL */
+ SFReply * reply) THREEWORDINLINE(0x3F3C, 0x0002, 0xA9EA);
+
+
+/*
+ * SFPPutFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SFPPutFile(
+ Point where,
+ ConstStr255Param prompt, /* can be NULL */
+ ConstStr255Param origName,
+ DlgHookUPP dlgHook,
+ SFReply * reply,
+ short dlgID,
+ ModalFilterUPP filterProc) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0003, 0xA9EA);
+
+
+/*
+ * SFPGetFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SFPGetFile(
+ Point where,
+ ConstStr255Param prompt,
+ FileFilterUPP fileFilter, /* can be NULL */
+ short numTypes,
+ ConstSFTypeListPtr typeList, /* can be NULL */
+ DlgHookUPP dlgHook, /* can be NULL */
+ SFReply * reply,
+ short dlgID,
+ ModalFilterUPP filterProc) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0004, 0xA9EA);
+
+
+/*
+ * StandardPutFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+StandardPutFile(
+ ConstStr255Param prompt, /* can be NULL */
+ ConstStr255Param defaultName,
+ StandardFileReply * reply) THREEWORDINLINE(0x3F3C, 0x0005, 0xA9EA);
+
+
+/*
+ * StandardGetFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+StandardGetFile(
+ FileFilterUPP fileFilter, /* can be NULL */
+ short numTypes,
+ ConstSFTypeListPtr typeList, /* can be NULL */
+ StandardFileReply * reply) THREEWORDINLINE(0x3F3C, 0x0006, 0xA9EA);
+
+
+/*
+ * CustomPutFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CustomPutFile(
+ ConstStr255Param prompt, /* can be NULL */
+ ConstStr255Param defaultName,
+ StandardFileReply * reply,
+ short dlgID,
+ Point where,
+ DlgHookYDUPP dlgHook, /* can be NULL */
+ ModalFilterYDUPP filterProc, /* can be NULL */
+ ActivationOrderListPtr activeList, /* can be NULL */
+ ActivateYDUPP activate, /* can be NULL */
+ void * yourDataPtr) THREEWORDINLINE(0x3F3C, 0x0007, 0xA9EA);
+
+
+/*
+ * CustomGetFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+CustomGetFile(
+ FileFilterYDUPP fileFilter, /* can be NULL */
+ short numTypes,
+ ConstSFTypeListPtr typeList, /* can be NULL */
+ StandardFileReply * reply,
+ short dlgID,
+ Point where,
+ DlgHookYDUPP dlgHook, /* can be NULL */
+ ModalFilterYDUPP filterProc, /* can be NULL */
+ ActivationOrderListPtr activeList, /* can be NULL */
+ ActivateYDUPP activate, /* can be NULL */
+ void * yourDataPtr) THREEWORDINLINE(0x3F3C, 0x0008, 0xA9EA);
+
+
+/*
+ * StandardOpenDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+StandardOpenDialog(StandardFileReply * reply);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * sfpputfile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- sfpputfile(
- Point * where,
- const char * prompt,
- const char * origName,
- DlgHookUPP dlgHook, /* can be NULL */
- SFReply * reply,
- short dlgID,
- ModalFilterUPP filterProc); /* can be NULL */
-
-
- /*
- * sfgetfile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- sfgetfile(
- Point * where,
- const char * prompt,
- FileFilterUPP fileFilter, /* can be NULL */
- short numTypes,
- ConstSFTypeListPtr typeList, /* can be NULL */
- DlgHookUPP dlgHook, /* can be NULL */
- SFReply * reply);
-
-
- /*
- * sfpgetfile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- sfpgetfile(
- Point * where,
- const char * prompt,
- FileFilterUPP fileFilter, /* can be NULL */
- short numTypes,
- ConstSFTypeListPtr typeList, /* can be NULL */
- DlgHookUPP dlgHook, /* can be NULL */
- SFReply * reply,
- short dlgID,
- ModalFilterUPP filterProc); /* can be NULL */
-
-
- /*
- * sfputfile()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- sfputfile(
- Point * where,
- const char * prompt,
- const char * origName,
- DlgHookUPP dlgHook, /* can be NULL */
- SFReply * reply);
+/*
+ * sfpputfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+sfpputfile(
+ Point * where,
+ const char * prompt,
+ const char * origName,
+ DlgHookUPP dlgHook, /* can be NULL */
+ SFReply * reply,
+ short dlgID,
+ ModalFilterUPP filterProc); /* can be NULL */
+
+
+/*
+ * sfgetfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+sfgetfile(
+ Point * where,
+ const char * prompt,
+ FileFilterUPP fileFilter, /* can be NULL */
+ short numTypes,
+ ConstSFTypeListPtr typeList, /* can be NULL */
+ DlgHookUPP dlgHook, /* can be NULL */
+ SFReply * reply);
+
+
+/*
+ * sfpgetfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+sfpgetfile(
+ Point * where,
+ const char * prompt,
+ FileFilterUPP fileFilter, /* can be NULL */
+ short numTypes,
+ ConstSFTypeListPtr typeList, /* can be NULL */
+ DlgHookUPP dlgHook, /* can be NULL */
+ SFReply * reply,
+ short dlgID,
+ ModalFilterUPP filterProc); /* can be NULL */
+
+
+/*
+ * sfputfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+sfputfile(
+ Point * where,
+ const char * prompt,
+ const char * origName,
+ DlgHookUPP dlgHook, /* can be NULL */
+ SFReply * reply);
#endif /* CALL_NOT_IN_CARBON */
@@ -783,11 +731,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Streaming.h b/include/qt/Streaming.h
index f5985ffed..ab43cdeb8 100644
--- a/include/qt/Streaming.h
+++ b/include/qt/Streaming.h
@@ -1,17 +1,17 @@
/*
File: Streaming.h
-
+
Contains: xxx put contents here xxx
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994, 1996 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/
-
+
*/
/*.#endif forMasterInterfaces*/
@@ -38,236 +38,235 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* interfaces to streammode for c*/
+/* interfaces to streammode for c*/
- /* streaming constants for foreground and background streaming*/
- enum {
- AlphaStream = 1,
- GraphicsStream = 2
- };
+/* streaming constants for foreground and background streaming*/
+enum {
+ AlphaStream = 1,
+ GraphicsStream = 2
+};
- /* mode bits*/
- enum
- {
- CopyToAlpha = 0x0200,
- CopyToGraphics = 0x0100
- };
+/* mode bits*/
+enum {
+ CopyToAlpha = 0x0200,
+ CopyToGraphics = 0x0100
+};
#if CALL_NOT_IN_CARBON
- /*
- * AlphaVersion()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- AlphaVersion(void) TWOWORDINLINE(0x7000, 0xABC0);
-
-
- /*
- * SetForeStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long)
- SetForeStream(long streamID) TWOWORDINLINE(0x7001, 0xABC0);
-
-
- /*
- * SetForeTransparency()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetForeTransparency(short streamRatio) TWOWORDINLINE(0x7002, 0xABC0);
-
-
- /*
- * SetBackStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(long)
- SetBackStream(long streamID) TWOWORDINLINE(0x7003, 0xABC0);
-
-
- /*
- * SetBackTransparency()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- SetBackTransparency(short streamRatio) TWOWORDINLINE(0x7004, 0xABC0);
-
-
- /*
- * GetForeStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetForeStream(void) TWOWORDINLINE(0x7005, 0xABC0);
-
-
- /*
- * GetForeTransparency()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetForeTransparency(void) TWOWORDINLINE(0x7006, 0xABC0);
-
-
- /*
- * GetBackStream()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetBackStream(void) TWOWORDINLINE(0x7007, 0xABC0);
-
-
- /*
- * GetBackTransparency()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetBackTransparency(void) TWOWORDINLINE(0x7008, 0xABC0);
-
-
- /*
- * ResizeGrafVars()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- ResizeGrafVars(void) TWOWORDINLINE(0x7009, 0xABC0);
-
-
- /*
- * GetStreamMode()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetStreamMode(void) TWOWORDINLINE(0x700A, 0xABC0);
-
-
- /* these are thew new ones*/
- /*
- * SetForeAlpha()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- SetForeAlpha(
- long streamType,
- short value) TWOWORDINLINE(0x700B, 0xABC0);
-
-
- /*
- * SetBackAlpha()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- SetBackAlpha(
- long streamType,
- short value) TWOWORDINLINE(0x700C, 0xABC0);
-
-
- /*
- * GetForeAlpha()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetForeAlpha(void) TWOWORDINLINE(0x700D, 0xABC0);
-
-
- /*
- * GetBackAlpha()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetBackAlpha(void) TWOWORDINLINE(0x700E, 0xABC0);
-
-
- /*
- * GetForeAlphaMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetForeAlphaMask(void) TWOWORDINLINE(0x700F, 0xABC0);
-
-
- /*
- * GetBackAlphaMask()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- GetBackAlphaMask(void) TWOWORDINLINE(0x7010, 0xABC0);
+/*
+ * AlphaVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+AlphaVersion(void) TWOWORDINLINE(0x7000, 0xABC0);
+
+
+/*
+ * SetForeStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long )
+SetForeStream(long streamID) TWOWORDINLINE(0x7001, 0xABC0);
+
+
+/*
+ * SetForeTransparency()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetForeTransparency(short streamRatio) TWOWORDINLINE(0x7002, 0xABC0);
+
+
+/*
+ * SetBackStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( long )
+SetBackStream(long streamID) TWOWORDINLINE(0x7003, 0xABC0);
+
+
+/*
+ * SetBackTransparency()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetBackTransparency(short streamRatio) TWOWORDINLINE(0x7004, 0xABC0);
+
+
+/*
+ * GetForeStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetForeStream(void) TWOWORDINLINE(0x7005, 0xABC0);
+
+
+/*
+ * GetForeTransparency()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetForeTransparency(void) TWOWORDINLINE(0x7006, 0xABC0);
+
+
+/*
+ * GetBackStream()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetBackStream(void) TWOWORDINLINE(0x7007, 0xABC0);
+
+
+/*
+ * GetBackTransparency()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetBackTransparency(void) TWOWORDINLINE(0x7008, 0xABC0);
+
+
+/*
+ * ResizeGrafVars()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+ResizeGrafVars(void) TWOWORDINLINE(0x7009, 0xABC0);
+
+
+/*
+ * GetStreamMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetStreamMode(void) TWOWORDINLINE(0x700A, 0xABC0);
+
+
+/* these are thew new ones*/
+/*
+ * SetForeAlpha()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+SetForeAlpha(
+ long streamType,
+ short value) TWOWORDINLINE(0x700B, 0xABC0);
+
+
+/*
+ * SetBackAlpha()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+SetBackAlpha(
+ long streamType,
+ short value) TWOWORDINLINE(0x700C, 0xABC0);
+
+
+/*
+ * GetForeAlpha()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetForeAlpha(void) TWOWORDINLINE(0x700D, 0xABC0);
+
+
+/*
+ * GetBackAlpha()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetBackAlpha(void) TWOWORDINLINE(0x700E, 0xABC0);
+
+
+/*
+ * GetForeAlphaMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetForeAlphaMask(void) TWOWORDINLINE(0x700F, 0xABC0);
+
+
+/*
+ * GetBackAlphaMask()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+GetBackAlphaMask(void) TWOWORDINLINE(0x7010, 0xABC0);
#endif /* CALL_NOT_IN_CARBON */
@@ -295,11 +294,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/StringCompare.h b/include/qt/StringCompare.h
index b9f2b6828..90b818d1d 100644
--- a/include/qt/StringCompare.h
+++ b/include/qt/StringCompare.h
@@ -1,17 +1,17 @@
/*
File: StringCompare.h
-
+
Contains: Public interfaces for String Comparison and related operations
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __STRINGCOMPARE__
#define __STRINGCOMPARE__
@@ -46,417 +46,416 @@ extern "C" {
#pragma import on
#endif
- /*
-
- Here are the current System 7 routine names and the translations to the older forms.
- Please use the newer forms in all new code and migrate the older names out of existing
- code as maintenance permits.
-
- NEW NAME OLD NAME OBSOLETE FORM (no handle)
-
- CompareString (Str255) IUCompPString (hp only) IUCompString (hp only)
- CompareText (ptr/len) IUMagPString IUMagString
- IdenticalString (Str255) IUEqualPString (hp only) IUEqualString (hp only)
- IdenticalText (ptr/len) IUMagIDPString IUMagIDString
- LanguageOrder IULangOrder
- ScriptOrder IUScriptOrder
- StringOrder (Str255) IUStringOrder (hp only)
- TextOrder (ptr/len) IUTextOrder
-
- RelString
- CmpString (a only)
- EqualString (hp only)
-
- ReplaceText
-
- Carbon only supports the new names. The old names are undefined for Carbon targets.
-
- InterfaceLib always has exported the old names. For C macros have been defined to allow
- the use of the new names. For Pascal and Assembly using the new names will result
- in link errors.
-
- */
-
- enum {
- /* Special language code values for Language Order*/
- systemCurLang = -2, /* current (itlbLang) lang for system script*/
- systemDefLang = -3, /* default (table) lang for system script*/
- currentCurLang = -4, /* current (itlbLang) lang for current script*/
- currentDefLang = -5, /* default lang for current script*/
- scriptCurLang = -6, /* current (itlbLang) lang for specified script*/
- scriptDefLang = -7 /* default language for a specified script*/
- };
-
- /* obsolete names*/
- enum
- {
- iuSystemCurLang = systemCurLang,
- iuSystemDefLang = systemDefLang,
- iuCurrentCurLang = currentCurLang,
- iuCurrentDefLang = currentDefLang,
- iuScriptCurLang = scriptCurLang,
- iuScriptDefLang = scriptDefLang
- };
-
-
- /*
- * These routines are available in Carbon with the new names.
- */
- /*
- * [Mac]ReplaceText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+
+ Here are the current System 7 routine names and the translations to the older forms.
+ Please use the newer forms in all new code and migrate the older names out of existing
+ code as maintenance permits.
+
+ NEW NAME OLD NAME OBSOLETE FORM (no handle)
+
+ CompareString (Str255) IUCompPString (hp only) IUCompString (hp only)
+ CompareText (ptr/len) IUMagPString IUMagString
+ IdenticalString (Str255) IUEqualPString (hp only) IUEqualString (hp only)
+ IdenticalText (ptr/len) IUMagIDPString IUMagIDString
+ LanguageOrder IULangOrder
+ ScriptOrder IUScriptOrder
+ StringOrder (Str255) IUStringOrder (hp only)
+ TextOrder (ptr/len) IUTextOrder
+
+ RelString
+ CmpString (a only)
+ EqualString (hp only)
+
+ ReplaceText
+
+ Carbon only supports the new names. The old names are undefined for Carbon targets.
+
+ InterfaceLib always has exported the old names. For C macros have been defined to allow
+ the use of the new names. For Pascal and Assembly using the new names will result
+ in link errors.
+
+*/
+
+enum {
+ /* Special language code values for Language Order*/
+ systemCurLang = -2, /* current (itlbLang) lang for system script*/
+ systemDefLang = -3, /* default (table) lang for system script*/
+ currentCurLang = -4, /* current (itlbLang) lang for current script*/
+ currentDefLang = -5, /* default lang for current script*/
+ scriptCurLang = -6, /* current (itlbLang) lang for specified script*/
+ scriptDefLang = -7 /* default language for a specified script*/
+};
+
+/* obsolete names*/
+enum {
+ iuSystemCurLang = systemCurLang,
+ iuSystemDefLang = systemDefLang,
+ iuCurrentCurLang = currentCurLang,
+ iuCurrentDefLang = currentDefLang,
+ iuScriptCurLang = scriptCurLang,
+ iuScriptDefLang = scriptDefLang
+};
+
+
+/*
+ * These routines are available in Carbon with the new names.
+ */
+/*
+ * [Mac]ReplaceText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacReplaceText ReplaceText
+ #define MacReplaceText ReplaceText
#endif
- EXTERN_API(short)
- MacReplaceText(
- Handle baseText,
- Handle substitutionText,
- Str15 key) FOURWORDINLINE(0x2F3C, 0x820C, 0xFFDC, 0xA8B5);
-
-
- /*
- * ScriptOrder()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- ScriptOrder(
- ScriptCode script1,
- ScriptCode script2) THREEWORDINLINE(0x3F3C, 0x001E, 0xA9ED);
-
-
- /*
- * [Mac]CompareString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( short )
+MacReplaceText(
+ Handle baseText,
+ Handle substitutionText,
+ Str15 key) FOURWORDINLINE(0x2F3C, 0x820C, 0xFFDC, 0xA8B5);
+
+
+/*
+ * ScriptOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+ScriptOrder(
+ ScriptCode script1,
+ ScriptCode script2) THREEWORDINLINE(0x3F3C, 0x001E, 0xA9ED);
+
+
+/*
+ * [Mac]CompareString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacCompareString CompareString
+ #define MacCompareString CompareString
#endif
- EXTERN_API(short)
- MacCompareString(
- ConstStr255Param aStr,
- ConstStr255Param bStr,
- Handle itl2Handle);
-
-
- /*
- * IdenticalString()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- IdenticalString(
- ConstStr255Param aStr,
- ConstStr255Param bStr,
- Handle itl2Handle);
-
-
- /*
- * StringOrder()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- StringOrder(
- ConstStr255Param aStr,
- ConstStr255Param bStr,
- ScriptCode aScript,
- ScriptCode bScript,
- LangCode aLang,
- LangCode bLang);
-
-
- /*
- * CompareText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- CompareText(
- const void * aPtr,
- const void * bPtr,
- short aLen,
- short bLen,
- Handle itl2Handle) THREEWORDINLINE(0x3F3C, 0x001A, 0xA9ED);
-
-
- /*
- * IdenticalText()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- IdenticalText(
- const void * aPtr,
- const void * bPtr,
- short aLen,
- short bLen,
- Handle itl2Handle) THREEWORDINLINE(0x3F3C, 0x001C, 0xA9ED);
-
-
- /*
- * TextOrder()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- TextOrder(
- const void * aPtr,
- const void * bPtr,
- short aLen,
- short bLen,
- ScriptCode aScript,
- ScriptCode bScript,
- LangCode aLang,
- LangCode bLang) THREEWORDINLINE(0x3F3C, 0x0022, 0xA9ED);
-
-
- /*
- * LanguageOrder()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- LanguageOrder(
- LangCode language1,
- LangCode language2) THREEWORDINLINE(0x3F3C, 0x0020, 0xA9ED);
-
-
-
- /*
- * These routines are available in InterfaceLib with old names.
- * Macros are provided for C to allow source code use to the new names.
- */
+EXTERN_API( short )
+MacCompareString(
+ ConstStr255Param aStr,
+ ConstStr255Param bStr,
+ Handle itl2Handle);
+
+
+/*
+ * IdenticalString()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+IdenticalString(
+ ConstStr255Param aStr,
+ ConstStr255Param bStr,
+ Handle itl2Handle);
+
+
+/*
+ * StringOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+StringOrder(
+ ConstStr255Param aStr,
+ ConstStr255Param bStr,
+ ScriptCode aScript,
+ ScriptCode bScript,
+ LangCode aLang,
+ LangCode bLang);
+
+
+/*
+ * CompareText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+CompareText(
+ const void * aPtr,
+ const void * bPtr,
+ short aLen,
+ short bLen,
+ Handle itl2Handle) THREEWORDINLINE(0x3F3C, 0x001A, 0xA9ED);
+
+
+/*
+ * IdenticalText()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+IdenticalText(
+ const void * aPtr,
+ const void * bPtr,
+ short aLen,
+ short bLen,
+ Handle itl2Handle) THREEWORDINLINE(0x3F3C, 0x001C, 0xA9ED);
+
+
+/*
+ * TextOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TextOrder(
+ const void * aPtr,
+ const void * bPtr,
+ short aLen,
+ short bLen,
+ ScriptCode aScript,
+ ScriptCode bScript,
+ LangCode aLang,
+ LangCode bLang) THREEWORDINLINE(0x3F3C, 0x0022, 0xA9ED);
+
+
+/*
+ * LanguageOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+LanguageOrder(
+ LangCode language1,
+ LangCode language2) THREEWORDINLINE(0x3F3C, 0x0020, 0xA9ED);
+
+
+
+/*
+ * These routines are available in InterfaceLib with old names.
+ * Macros are provided for C to allow source code use to the new names.
+ */
#if CALL_NOT_IN_CARBON
- /*
- * IUMagPString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUMagPString(
- const void * aPtr,
- const void * bPtr,
- short aLen,
- short bLen,
- Handle itl2Handle) THREEWORDINLINE(0x3F3C, 0x001A, 0xA9ED);
-
-
- /*
- * IUMagIDPString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUMagIDPString(
- const void * aPtr,
- const void * bPtr,
- short aLen,
- short bLen,
- Handle itl2Handle) THREEWORDINLINE(0x3F3C, 0x001C, 0xA9ED);
-
-
- /*
- * IUTextOrder()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUTextOrder(
- const void * aPtr,
- const void * bPtr,
- short aLen,
- short bLen,
- ScriptCode aScript,
- ScriptCode bScript,
- LangCode aLang,
- LangCode bLang) THREEWORDINLINE(0x3F3C, 0x0022, 0xA9ED);
-
-
- /*
- * IULangOrder()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IULangOrder(
- LangCode language1,
- LangCode language2) THREEWORDINLINE(0x3F3C, 0x0020, 0xA9ED);
-
-
- /*
- * IUScriptOrder()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUScriptOrder(
- ScriptCode script1,
- ScriptCode script2) THREEWORDINLINE(0x3F3C, 0x001E, 0xA9ED);
-
-
- /*
- * IUMagString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUMagString(
- const void * aPtr,
- const void * bPtr,
- short aLen,
- short bLen) THREEWORDINLINE(0x3F3C, 0x000A, 0xA9ED);
-
-
- /*
- * IUMagIDString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUMagIDString(
- const void * aPtr,
- const void * bPtr,
- short aLen,
- short bLen) THREEWORDINLINE(0x3F3C, 0x000C, 0xA9ED);
+/*
+ * IUMagPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUMagPString(
+ const void * aPtr,
+ const void * bPtr,
+ short aLen,
+ short bLen,
+ Handle itl2Handle) THREEWORDINLINE(0x3F3C, 0x001A, 0xA9ED);
+
+
+/*
+ * IUMagIDPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUMagIDPString(
+ const void * aPtr,
+ const void * bPtr,
+ short aLen,
+ short bLen,
+ Handle itl2Handle) THREEWORDINLINE(0x3F3C, 0x001C, 0xA9ED);
+
+
+/*
+ * IUTextOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUTextOrder(
+ const void * aPtr,
+ const void * bPtr,
+ short aLen,
+ short bLen,
+ ScriptCode aScript,
+ ScriptCode bScript,
+ LangCode aLang,
+ LangCode bLang) THREEWORDINLINE(0x3F3C, 0x0022, 0xA9ED);
+
+
+/*
+ * IULangOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IULangOrder(
+ LangCode language1,
+ LangCode language2) THREEWORDINLINE(0x3F3C, 0x0020, 0xA9ED);
+
+
+/*
+ * IUScriptOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUScriptOrder(
+ ScriptCode script1,
+ ScriptCode script2) THREEWORDINLINE(0x3F3C, 0x001E, 0xA9ED);
+
+
+/*
+ * IUMagString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUMagString(
+ const void * aPtr,
+ const void * bPtr,
+ short aLen,
+ short bLen) THREEWORDINLINE(0x3F3C, 0x000A, 0xA9ED);
+
+
+/*
+ * IUMagIDString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUMagIDString(
+ const void * aPtr,
+ const void * bPtr,
+ short aLen,
+ short bLen) THREEWORDINLINE(0x3F3C, 0x000C, 0xA9ED);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * IUCompPString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUCompPString(
- ConstStr255Param aStr,
- ConstStr255Param bStr,
- Handle itl2Handle);
-
-
- /*
- * IUEqualPString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUEqualPString(
- ConstStr255Param aStr,
- ConstStr255Param bStr,
- Handle itl2Handle);
-
-
- /*
- * IUStringOrder()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUStringOrder(
- ConstStr255Param aStr,
- ConstStr255Param bStr,
- ScriptCode aScript,
- ScriptCode bScript,
- LangCode aLang,
- LangCode bLang);
-
-
- /*
- * IUCompString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUCompString(
- ConstStr255Param aStr,
- ConstStr255Param bStr);
-
-
- /*
- * IUEqualString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- IUEqualString(
- ConstStr255Param aStr,
- ConstStr255Param bStr);
+/*
+ * IUCompPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUCompPString(
+ ConstStr255Param aStr,
+ ConstStr255Param bStr,
+ Handle itl2Handle);
+
+
+/*
+ * IUEqualPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUEqualPString(
+ ConstStr255Param aStr,
+ ConstStr255Param bStr,
+ Handle itl2Handle);
+
+
+/*
+ * IUStringOrder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUStringOrder(
+ ConstStr255Param aStr,
+ ConstStr255Param bStr,
+ ScriptCode aScript,
+ ScriptCode bScript,
+ LangCode aLang,
+ LangCode bLang);
+
+
+/*
+ * IUCompString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUCompString(
+ ConstStr255Param aStr,
+ ConstStr255Param bStr);
+
+
+/*
+ * IUEqualString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+IUEqualString(
+ ConstStr255Param aStr,
+ ConstStr255Param bStr);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
#if TARGET_OS_MAC
-#define CompareString(aStr, bStr, itl2Handle) \
+ #define CompareString(aStr, bStr, itl2Handle) \
IUCompPString(aStr, bStr, itl2Handle)
#endif
#define CompareText(aPtr, bPtr, aLen, bLen, itl2Handle) \
@@ -473,148 +472,148 @@ extern "C" {
IULangOrder(language1, language2)
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
- /*
- * iucomppstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- iucomppstring(
- const char * aStr,
- const char * bStr,
- Handle intlHandle);
-
-
- /*
- * iuequalpstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- iuequalpstring(
- const char * aStr,
- const char * bStr,
- Handle intlHandle);
-
-
- /*
- * iustringorder()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- iustringorder(
- const char * aStr,
- const char * bStr,
- ScriptCode aScript,
- ScriptCode bScript,
- LangCode aLang,
- LangCode bLang);
-
-
- /*
- * iucompstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- iucompstring(
- const char * aStr,
- const char * bStr);
-
-
- /*
- * iuequalstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(short)
- iuequalstring(
- const char * aStr,
- const char * bStr);
+/*
+ * iucomppstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+iucomppstring(
+ const char * aStr,
+ const char * bStr,
+ Handle intlHandle);
+
+
+/*
+ * iuequalpstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+iuequalpstring(
+ const char * aStr,
+ const char * bStr,
+ Handle intlHandle);
+
+
+/*
+ * iustringorder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+iustringorder(
+ const char * aStr,
+ const char * bStr,
+ ScriptCode aScript,
+ ScriptCode bScript,
+ LangCode aLang,
+ LangCode bLang);
+
+
+/*
+ * iucompstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+iucompstring(
+ const char * aStr,
+ const char * bStr);
+
+
+/*
+ * iuequalstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( short )
+iuequalstring(
+ const char * aStr,
+ const char * bStr);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * RelString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- RelString(
- ConstStr255Param str1,
- ConstStr255Param str2,
- Boolean caseSensitive,
- Boolean diacSensitive);
-
-
- /*
- * EqualString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- EqualString(
- ConstStr255Param str1,
- ConstStr255Param str2,
- Boolean caseSensitive,
- Boolean diacSensitive);
-
-
- /*
- * relstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(short)
- relstring(
- const char * str1,
- const char * str2,
- Boolean caseSensitive,
- Boolean diacSensitive);
+/*
+ * RelString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+RelString(
+ ConstStr255Param str1,
+ ConstStr255Param str2,
+ Boolean caseSensitive,
+ Boolean diacSensitive);
+
+
+/*
+ * EqualString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+EqualString(
+ ConstStr255Param str1,
+ ConstStr255Param str2,
+ Boolean caseSensitive,
+ Boolean diacSensitive);
+
+
+/*
+ * relstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( short )
+relstring(
+ const char * str1,
+ const char * str2,
+ Boolean caseSensitive,
+ Boolean diacSensitive);
#if CALL_NOT_IN_CARBON
- /*
- * equalstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(Boolean)
- equalstring(
- const char * str1,
- const char * str2,
- Boolean caseSensitive,
- Boolean diacSensitive);
+/*
+ * equalstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( Boolean )
+equalstring(
+ const char * str1,
+ const char * str2,
+ Boolean caseSensitive,
+ Boolean diacSensitive);
#endif /* CALL_NOT_IN_CARBON */
diff --git a/include/qt/Strings.h b/include/qt/Strings.h
index 15810145e..e03092d7d 100644
--- a/include/qt/Strings.h
+++ b/include/qt/Strings.h
@@ -1,18 +1,18 @@
/*
File: Strings.h
-
+
Contains: Pascal <-> C String Interfaces.
-
+
Version: Technology: System 7.5
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-1993, 1996-1997 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/
-
+
*/
/*
Note: All Pascal <-> C String routines have moved to TextUtils.h
diff --git a/include/qt/SystemSound.h b/include/qt/SystemSound.h
index 16af93e30..388812af2 100644
--- a/include/qt/SystemSound.h
+++ b/include/qt/SystemSound.h
@@ -24,125 +24,125 @@ extern "C" {
#pragma import on
#endif
- /* ================================================================================ */
- /* Errors */
- /* ================================================================================ */
- enum {
- kSystemSoundNoError = 0,
- kSystemSoundUnspecifiedError = -1500
- };
-
- /* ================================================================================ */
- /* Types */
- /* ================================================================================ */
- typedef UInt32 SystemSoundActionID;
- /* ================================================================================ */
- /* Public APIs */
- /* ================================================================================ */
- /*
- * AlertSoundPlay()
- *
- * Summary:
- * Play an Alert Sound
- *
- * Discussion:
- * Play the user's current alert sound, interrupting any previously
- * playing alert sound.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- AlertSoundPlay(void);
-
-
- /*
- * SystemSoundPlay()
- *
- * Summary:
- * Play a System Sound
- *
- * Discussion:
- * Immediately play the sound designated by actionID. Use for one
- * time actions that do not require a duration or modification
- * during playback. Sustain loops in the sound will be ignored.
- *
- * Parameters:
- *
- * inAction:
- * A SystemSoundActionID indicating the desired System Sound to be
- * played.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- SystemSoundPlay(SystemSoundActionID inAction);
-
-
- /*
- * SystemSoundGetActionID()
- *
- * Summary:
- * Create a 'custom' System Sound by providing an audio file.
- *
- * Discussion:
- * If the user wants to add a sound that can be played via
- * SystemSoundPlay(), an FSRef for an audio file can be passed and a
- * SystemSoundActionID, which can be passed to SystemSoundPlay(),
- * will be returned .
- *
- * Parameters:
- *
- * userFile:
- * An const FSRef * for the audio file to be used as a System
- * Sound. Any audio file supported by the AudioFile APIs in the
- * AudioToolbox framework may be used.
- *
- * outAction:
- * If successful, a SystemSoundActionID will be returned, which in
- * turn can be passed to SystemSoundPlay().
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SystemSoundGetActionID(
- const FSRef * userFile,
- SystemSoundActionID * outAction);
-
-
- /*
- * SystemSoundRemoveActionID()
- *
- * Summary:
- * Remove a 'custom' System Sound.
- *
- * Discussion:
- * If the user no longer needs to use the custom system sound that
- * was created via SystemSoundGetActionID, this function should be
- * called so the SystemSoundServer can release resources that are no
- * longer needed.
- *
- * Parameters:
- *
- * inAction:
- * A SystemSoundActionID indicating the desired System Sound to be
- * removed.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(OSStatus)
- SystemSoundRemoveActionID(SystemSoundActionID inAction);
+/* ================================================================================ */
+/* Errors */
+/* ================================================================================ */
+enum {
+ kSystemSoundNoError = 0,
+ kSystemSoundUnspecifiedError = -1500
+};
+
+/* ================================================================================ */
+/* Types */
+/* ================================================================================ */
+typedef UInt32 SystemSoundActionID;
+/* ================================================================================ */
+/* Public APIs */
+/* ================================================================================ */
+/*
+ * AlertSoundPlay()
+ *
+ * Summary:
+ * Play an Alert Sound
+ *
+ * Discussion:
+ * Play the user's current alert sound, interrupting any previously
+ * playing alert sound.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+AlertSoundPlay(void);
+
+
+/*
+ * SystemSoundPlay()
+ *
+ * Summary:
+ * Play a System Sound
+ *
+ * Discussion:
+ * Immediately play the sound designated by actionID. Use for one
+ * time actions that do not require a duration or modification
+ * during playback. Sustain loops in the sound will be ignored.
+ *
+ * Parameters:
+ *
+ * inAction:
+ * A SystemSoundActionID indicating the desired System Sound to be
+ * played.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+SystemSoundPlay(SystemSoundActionID inAction);
+
+
+/*
+ * SystemSoundGetActionID()
+ *
+ * Summary:
+ * Create a 'custom' System Sound by providing an audio file.
+ *
+ * Discussion:
+ * If the user wants to add a sound that can be played via
+ * SystemSoundPlay(), an FSRef for an audio file can be passed and a
+ * SystemSoundActionID, which can be passed to SystemSoundPlay(),
+ * will be returned .
+ *
+ * Parameters:
+ *
+ * userFile:
+ * An const FSRef * for the audio file to be used as a System
+ * Sound. Any audio file supported by the AudioFile APIs in the
+ * AudioToolbox framework may be used.
+ *
+ * outAction:
+ * If successful, a SystemSoundActionID will be returned, which in
+ * turn can be passed to SystemSoundPlay().
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SystemSoundGetActionID(
+ const FSRef * userFile,
+ SystemSoundActionID * outAction);
+
+
+/*
+ * SystemSoundRemoveActionID()
+ *
+ * Summary:
+ * Remove a 'custom' System Sound.
+ *
+ * Discussion:
+ * If the user no longer needs to use the custom system sound that
+ * was created via SystemSoundGetActionID, this function should be
+ * called so the SystemSoundServer can release resources that are no
+ * longer needed.
+ *
+ * Parameters:
+ *
+ * inAction:
+ * A SystemSoundActionID indicating the desired System Sound to be
+ * removed.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( OSStatus )
+SystemSoundRemoveActionID(SystemSoundActionID inAction);
diff --git a/include/qt/TSMTE.h b/include/qt/TSMTE.h
index d5acc4930..4e2d0daf6 100644
--- a/include/qt/TSMTE.h
+++ b/include/qt/TSMTE.h
@@ -1,17 +1,17 @@
/*
File: TSMTE.h
-
+
Contains: Text Services Managerfor TextEdit Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TSMTE__
#define __TSMTE__
@@ -45,296 +45,274 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* signature, interface types*/
- enum {
- kTSMTESignature = FOUR_CHAR_CODE('tmTE'),
- kTSMTEInterfaceType = FOUR_CHAR_CODE('tmTE')
- };
-
- /*
- In Carbon, since DialogRef is opaque, the TSMDialogRecord is removed.
- Only one kind of TSMTE dialog remains, with extended data managed by TSMTE.
- Use kTSMTESignature for the dialog refCon, and use the accessors below,
- i.e. GetTSMTEDialogTSMTERecHandle, to get at the old TSMDialogRecord info.
- */
+/* signature, interface types*/
+enum {
+ kTSMTESignature = FOUR_CHAR_CODE('tmTE'),
+ kTSMTEInterfaceType = FOUR_CHAR_CODE('tmTE')
+};
+
+/*
+ In Carbon, since DialogRef is opaque, the TSMDialogRecord is removed.
+ Only one kind of TSMTE dialog remains, with extended data managed by TSMTE.
+ Use kTSMTESignature for the dialog refCon, and use the accessors below,
+ i.e. GetTSMTEDialogTSMTERecHandle, to get at the old TSMDialogRecord info.
+*/
#if CALL_NOT_IN_CARBON
- enum
- {
- kTSMTEDialog = FOUR_CHAR_CODE('tmDI')
- };
+enum {
+ kTSMTEDialog = FOUR_CHAR_CODE('tmDI')
+};
#endif /* CALL_NOT_IN_CARBON */
- /* update flag for TSMTERec*/
- enum
- {
- kTSMTEAutoScroll = 1
- };
-
-
- /* callback procedure definitions*/
-
- typedef CALLBACK_API(void , TSMTEPreUpdateProcPtr)(TEHandle textH, long refCon);
- typedef CALLBACK_API(void , TSMTEPostUpdateProcPtr)(TEHandle textH, long fixLen, long inputAreaStart, long inputAreaEnd, long pinStart, long pinEnd, long refCon);
- typedef STACK_UPP_TYPE(TSMTEPreUpdateProcPtr) TSMTEPreUpdateUPP;
- typedef STACK_UPP_TYPE(TSMTEPostUpdateProcPtr) TSMTEPostUpdateUPP;
-
-
- /* data types*/
- struct TSMTERec
- {
- TEHandle textH;
- TSMTEPreUpdateUPP preUpdateProc;
- TSMTEPostUpdateUPP postUpdateProc;
- long updateFlag;
- long refCon;
- };
- typedef struct TSMTERec TSMTERec;
- typedef TSMTERec * TSMTERecPtr;
- typedef TSMTERecPtr * TSMTERecHandle;
+/* update flag for TSMTERec*/
+enum {
+ kTSMTEAutoScroll = 1
+};
+
+
+/* callback procedure definitions*/
+
+typedef CALLBACK_API( void , TSMTEPreUpdateProcPtr )(TEHandle textH, long refCon);
+typedef CALLBACK_API( void , TSMTEPostUpdateProcPtr )(TEHandle textH, long fixLen, long inputAreaStart, long inputAreaEnd, long pinStart, long pinEnd, long refCon);
+typedef STACK_UPP_TYPE(TSMTEPreUpdateProcPtr) TSMTEPreUpdateUPP;
+typedef STACK_UPP_TYPE(TSMTEPostUpdateProcPtr) TSMTEPostUpdateUPP;
+
+
+/* data types*/
+struct TSMTERec {
+ TEHandle textH;
+ TSMTEPreUpdateUPP preUpdateProc;
+ TSMTEPostUpdateUPP postUpdateProc;
+ long updateFlag;
+ long refCon;
+};
+typedef struct TSMTERec TSMTERec;
+typedef TSMTERec * TSMTERecPtr;
+typedef TSMTERecPtr * TSMTERecHandle;
#if !OPAQUE_TOOLBOX_STRUCTS
- struct TSMDialogRecord
- {
- DialogRecord fDialog;
- TSMDocumentID fDocID;
- TSMTERecHandle fTSMTERecH;
- long fTSMTERsvd[3]; /* reserved*/
- };
- typedef struct TSMDialogRecord TSMDialogRecord;
- typedef TSMDialogRecord * TSMDialogPtr;
- typedef TSMDialogPtr TSMDialogPeek;
+struct TSMDialogRecord {
+ DialogRecord fDialog;
+ TSMDocumentID fDocID;
+ TSMTERecHandle fTSMTERecH;
+ long fTSMTERsvd[3]; /* reserved*/
+};
+typedef struct TSMDialogRecord TSMDialogRecord;
+typedef TSMDialogRecord * TSMDialogPtr;
+typedef TSMDialogPtr TSMDialogPeek;
#endif /* !OPAQUE_TOOLBOX_STRUCTS */
- /*
- * NewTSMTEPreUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TSMTEPreUpdateUPP)
- NewTSMTEPreUpdateUPP(TSMTEPreUpdateProcPtr userRoutine);
+/*
+ * NewTSMTEPreUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TSMTEPreUpdateUPP )
+NewTSMTEPreUpdateUPP(TSMTEPreUpdateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTSMTEPreUpdateProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TSMTEPreUpdateUPP) NewTSMTEPreUpdateUPP(TSMTEPreUpdateProcPtr userRoutine)
- {
- return (TSMTEPreUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPreUpdateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTSMTEPreUpdateUPP(userRoutine) (TSMTEPreUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPreUpdateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTSMTEPreUpdateProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TSMTEPreUpdateUPP) NewTSMTEPreUpdateUPP(TSMTEPreUpdateProcPtr userRoutine) { return (TSMTEPreUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPreUpdateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTSMTEPreUpdateUPP(userRoutine) (TSMTEPreUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPreUpdateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTSMTEPostUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TSMTEPostUpdateUPP)
- NewTSMTEPostUpdateUPP(TSMTEPostUpdateProcPtr userRoutine);
+/*
+ * NewTSMTEPostUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TSMTEPostUpdateUPP )
+NewTSMTEPostUpdateUPP(TSMTEPostUpdateProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTSMTEPostUpdateProcInfo = 0x000FFFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TSMTEPostUpdateUPP) NewTSMTEPostUpdateUPP(TSMTEPostUpdateProcPtr userRoutine)
- {
- return (TSMTEPostUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPostUpdateProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTSMTEPostUpdateUPP(userRoutine) (TSMTEPostUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPostUpdateProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTSMTEPostUpdateProcInfo = 0x000FFFC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TSMTEPostUpdateUPP) NewTSMTEPostUpdateUPP(TSMTEPostUpdateProcPtr userRoutine) { return (TSMTEPostUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPostUpdateProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTSMTEPostUpdateUPP(userRoutine) (TSMTEPostUpdateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPostUpdateProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeTSMTEPreUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTSMTEPreUpdateUPP(TSMTEPreUpdateUPP userUPP);
+/*
+ * DisposeTSMTEPreUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTSMTEPreUpdateUPP(TSMTEPreUpdateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTSMTEPreUpdateUPP(TSMTEPreUpdateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTSMTEPreUpdateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTSMTEPreUpdateUPP(TSMTEPreUpdateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTSMTEPreUpdateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTSMTEPostUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTSMTEPostUpdateUPP(TSMTEPostUpdateUPP userUPP);
+/*
+ * DisposeTSMTEPostUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTSMTEPostUpdateUPP(TSMTEPostUpdateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTSMTEPostUpdateUPP(TSMTEPostUpdateUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTSMTEPostUpdateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTSMTEPostUpdateUPP(TSMTEPostUpdateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTSMTEPostUpdateUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeTSMTEPreUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeTSMTEPreUpdateUPP(
- TEHandle textH,
- long refCon,
- TSMTEPreUpdateUPP userUPP);
+/*
+ * InvokeTSMTEPreUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTSMTEPreUpdateUPP(
+ TEHandle textH,
+ long refCon,
+ TSMTEPreUpdateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTSMTEPreUpdateUPP(TEHandle textH, long refCon, TSMTEPreUpdateUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppTSMTEPreUpdateProcInfo, textH, refCon);
- }
-#else
-#define InvokeTSMTEPreUpdateUPP(textH, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppTSMTEPreUpdateProcInfo, (textH), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTSMTEPreUpdateUPP(TEHandle textH, long refCon, TSMTEPreUpdateUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppTSMTEPreUpdateProcInfo, textH, refCon); }
+ #else
+ #define InvokeTSMTEPreUpdateUPP(textH, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppTSMTEPreUpdateProcInfo, (textH), (refCon))
+ #endif
#endif
- /*
- * InvokeTSMTEPostUpdateUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeTSMTEPostUpdateUPP(
- TEHandle textH,
- long fixLen,
- long inputAreaStart,
- long inputAreaEnd,
- long pinStart,
- long pinEnd,
- long refCon,
- TSMTEPostUpdateUPP userUPP);
+/*
+ * InvokeTSMTEPostUpdateUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTSMTEPostUpdateUPP(
+ TEHandle textH,
+ long fixLen,
+ long inputAreaStart,
+ long inputAreaEnd,
+ long pinStart,
+ long pinEnd,
+ long refCon,
+ TSMTEPostUpdateUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTSMTEPostUpdateUPP(TEHandle textH, long fixLen, long inputAreaStart, long inputAreaEnd, long pinStart, long pinEnd, long refCon, TSMTEPostUpdateUPP userUPP)
- {
- CALL_SEVEN_PARAMETER_UPP(userUPP, uppTSMTEPostUpdateProcInfo, textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon);
- }
-#else
-#define InvokeTSMTEPostUpdateUPP(textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon, userUPP) CALL_SEVEN_PARAMETER_UPP((userUPP), uppTSMTEPostUpdateProcInfo, (textH), (fixLen), (inputAreaStart), (inputAreaEnd), (pinStart), (pinEnd), (refCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTSMTEPostUpdateUPP(TEHandle textH, long fixLen, long inputAreaStart, long inputAreaEnd, long pinStart, long pinEnd, long refCon, TSMTEPostUpdateUPP userUPP) { CALL_SEVEN_PARAMETER_UPP(userUPP, uppTSMTEPostUpdateProcInfo, textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon); }
+ #else
+ #define InvokeTSMTEPostUpdateUPP(textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon, userUPP) CALL_SEVEN_PARAMETER_UPP((userUPP), uppTSMTEPostUpdateProcInfo, (textH), (fixLen), (inputAreaStart), (inputAreaEnd), (pinStart), (pinEnd), (refCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewTSMTEPreUpdateProc(userRoutine) NewTSMTEPreUpdateUPP(userRoutine)
-#define NewTSMTEPostUpdateProc(userRoutine) NewTSMTEPostUpdateUPP(userRoutine)
-#define CallTSMTEPreUpdateProc(userRoutine, textH, refCon) InvokeTSMTEPreUpdateUPP(textH, refCon, userRoutine)
-#define CallTSMTEPostUpdateProc(userRoutine, textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon) InvokeTSMTEPostUpdateUPP(textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon, userRoutine)
+ #define NewTSMTEPreUpdateProc(userRoutine) NewTSMTEPreUpdateUPP(userRoutine)
+ #define NewTSMTEPostUpdateProc(userRoutine) NewTSMTEPostUpdateUPP(userRoutine)
+ #define CallTSMTEPreUpdateProc(userRoutine, textH, refCon) InvokeTSMTEPreUpdateUPP(textH, refCon, userRoutine)
+ #define CallTSMTEPostUpdateProc(userRoutine, textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon) InvokeTSMTEPostUpdateUPP(textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if ACCESSOR_CALLS_ARE_FUNCTIONS
- /*
- * IsTSMTEDialog()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- IsTSMTEDialog(DialogRef dialog);
-
-
- /* Getters */
- /*
- * GetTSMTEDialogDocumentID()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TSMDocumentID)
- GetTSMTEDialogDocumentID(DialogRef dialog);
-
-
- /*
- * GetTSMTEDialogTSMTERecHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TSMTERecHandle)
- GetTSMTEDialogTSMTERecHandle(DialogRef dialog);
-
-
- /* Setters */
- /*
- * SetTSMTEDialogDocumentID()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetTSMTEDialogDocumentID(
- DialogRef dialog,
- TSMDocumentID documentID);
-
-
- /*
- * SetTSMTEDialogTSMTERecHandle()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetTSMTEDialogTSMTERecHandle(
- DialogRef dialog,
- TSMTERecHandle tsmteRecHandle);
+/*
+ * IsTSMTEDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsTSMTEDialog(DialogRef dialog);
+
+
+/* Getters */
+/*
+ * GetTSMTEDialogDocumentID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TSMDocumentID )
+GetTSMTEDialogDocumentID(DialogRef dialog);
+
+
+/*
+ * GetTSMTEDialogTSMTERecHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TSMTERecHandle )
+GetTSMTEDialogTSMTERecHandle(DialogRef dialog);
+
+
+/* Setters */
+/*
+ * SetTSMTEDialogDocumentID()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetTSMTEDialogDocumentID(
+ DialogRef dialog,
+ TSMDocumentID documentID);
+
+
+/*
+ * SetTSMTEDialogTSMTERecHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetTSMTEDialogTSMTERecHandle(
+ DialogRef dialog,
+ TSMTERecHandle tsmteRecHandle);
#endif /* ACCESSOR_CALLS_ARE_FUNCTIONS */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/TextCommon.h b/include/qt/TextCommon.h
index 669152e14..3b0941768 100644
--- a/include/qt/TextCommon.h
+++ b/include/qt/TextCommon.h
@@ -1,17 +1,17 @@
/*
File: TextCommon.h
-
+
Contains: TextEncoding-related types and constants, and prototypes for related functions
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1995-2002 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 __TEXTCOMMON__
#define __TEXTCOMMON__
@@ -36,944 +36,896 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* TextEncodingBase type & values */
- /* (values 0-32 correspond to the Script Codes defined in Inside Macintosh: Text pages 6-52 and 6-53 */
- typedef UInt32 TextEncodingBase;
- enum
- {
- /* Mac OS encodings*/
- kTextEncodingMacRoman = 0L,
- kTextEncodingMacJapanese = 1,
- kTextEncodingMacChineseTrad = 2,
- kTextEncodingMacKorean = 3,
- kTextEncodingMacArabic = 4,
- kTextEncodingMacHebrew = 5,
- kTextEncodingMacGreek = 6,
- kTextEncodingMacCyrillic = 7,
- kTextEncodingMacDevanagari = 9,
- kTextEncodingMacGurmukhi = 10,
- kTextEncodingMacGujarati = 11,
- kTextEncodingMacOriya = 12,
- kTextEncodingMacBengali = 13,
- kTextEncodingMacTamil = 14,
- kTextEncodingMacTelugu = 15,
- kTextEncodingMacKannada = 16,
- kTextEncodingMacMalayalam = 17,
- kTextEncodingMacSinhalese = 18,
- kTextEncodingMacBurmese = 19,
- kTextEncodingMacKhmer = 20,
- kTextEncodingMacThai = 21,
- kTextEncodingMacLaotian = 22,
- kTextEncodingMacGeorgian = 23,
- kTextEncodingMacArmenian = 24,
- kTextEncodingMacChineseSimp = 25,
- kTextEncodingMacTibetan = 26,
- kTextEncodingMacMongolian = 27,
- kTextEncodingMacEthiopic = 28,
- kTextEncodingMacCentralEurRoman = 29,
- kTextEncodingMacVietnamese = 30,
- kTextEncodingMacExtArabic = 31, /* The following use script code 0, smRoman*/
- kTextEncodingMacSymbol = 33,
- kTextEncodingMacDingbats = 34,
- kTextEncodingMacTurkish = 35,
- kTextEncodingMacCroatian = 36,
- kTextEncodingMacIcelandic = 37,
- kTextEncodingMacRomanian = 38,
- kTextEncodingMacCeltic = 39,
- kTextEncodingMacGaelic = 40,
- kTextEncodingMacKeyboardGlyphs = 41
- };
-
- /* The following are older names for backward compatibility*/
- enum
- {
- kTextEncodingMacTradChinese = kTextEncodingMacChineseTrad,
- kTextEncodingMacRSymbol = 8,
- kTextEncodingMacSimpChinese = kTextEncodingMacChineseSimp,
- kTextEncodingMacGeez = kTextEncodingMacEthiopic,
- kTextEncodingMacEastEurRoman = kTextEncodingMacCentralEurRoman,
- kTextEncodingMacUninterp = 32
- };
-
-
- /*
- Beginning in Mac OS 8.5, the following meta-value is used to indicate Unicode in some parts
- of the Mac OS which previously only expected a Mac OS script code. In some of these places,
- only 7 bits are available to indicate encoding (script code), so kTextEncodingUnicodeDefault
- cannot be used. For example, kTextEncodingMacUnicode can be used to indicate Unicode in the
- 7-bit script code field of a Unicode input method's ComponentDescription.componentFlags field;
- it can also be used to indicate Unicode in the 16-bit script code field of an AppleEvent's
- typeIntlWritingCode text tag.
- */
- enum
- {
- kTextEncodingMacUnicode = 0x7E /* Meta-value, Unicode as a Mac encoding*/
- };
-
- /* Variant Mac OS encodings that use script codes other than 0*/
- enum
- {
- /* The following use script code 4, smArabic*/
- kTextEncodingMacFarsi = 0x8C, /* Like MacArabic but uses Farsi digits*/
- /* The following use script code 7, smCyrillic*/
- kTextEncodingMacUkrainian = 0x98, /* Meta-value in TEC 1.5 & later; maps to kTextEncodingMacCyrillic variant */
- /* The following use script code 28, smEthiopic*/
- kTextEncodingMacInuit = 0xEC, /* The following use script code 32, smUnimplemented*/
- kTextEncodingMacVT100 = 0xFC /* VT100/102 font from Comm Toolbox: Latin-1 repertoire + box drawing etc*/
- };
-
- /* Special Mac OS encodings*/
- enum
- {
- kTextEncodingMacHFS = 0xFF /* Meta-value, should never appear in a table.*/
- };
-
- /* Unicode & ISO UCS encodings begin at 0x100*/
- enum
- {
- kTextEncodingUnicodeDefault = 0x0100, /* Meta-value, should never appear in a table.*/
- kTextEncodingUnicodeV1_1 = 0x0101,
- kTextEncodingISO10646_1993 = 0x0101, /* Code points identical to Unicode 1.1*/
- kTextEncodingUnicodeV2_0 = 0x0103, /* New location for Korean Hangul*/
- kTextEncodingUnicodeV2_1 = 0x0103, /* We treat both Unicode 2.0 and Unicode 2.1 as 2.1*/
- kTextEncodingUnicodeV3_0 = 0x0104,
- kTextEncodingUnicodeV3_1 = 0x0105, /* Adds characters requiring surrogate pairs in UTF-16*/
- kTextEncodingUnicodeV3_2 = 0x0106
- };
-
- /* ISO 8-bit and 7-bit encodings begin at 0x200*/
- enum
- {
- kTextEncodingISOLatin1 = 0x0201, /* ISO 8859-1*/
- kTextEncodingISOLatin2 = 0x0202, /* ISO 8859-2*/
- kTextEncodingISOLatin3 = 0x0203, /* ISO 8859-3*/
- kTextEncodingISOLatin4 = 0x0204, /* ISO 8859-4*/
- kTextEncodingISOLatinCyrillic = 0x0205, /* ISO 8859-5*/
- kTextEncodingISOLatinArabic = 0x0206, /* ISO 8859-6, = ASMO 708, =DOS CP 708*/
- kTextEncodingISOLatinGreek = 0x0207, /* ISO 8859-7*/
- kTextEncodingISOLatinHebrew = 0x0208, /* ISO 8859-8*/
- kTextEncodingISOLatin5 = 0x0209, /* ISO 8859-9*/
- kTextEncodingISOLatin6 = 0x020A, /* ISO 8859-10 */
- kTextEncodingISOLatin7 = 0x020D, /* ISO 8859-13, Baltic Rim */
- kTextEncodingISOLatin8 = 0x020E, /* ISO 8859-14, Celtic */
- kTextEncodingISOLatin9 = 0x020F /* ISO 8859-15, 8859-1 changed for EURO & CP1252 letters */
- };
-
- /* MS-DOS & Windows encodings begin at 0x400*/
- enum
- {
- kTextEncodingDOSLatinUS = 0x0400, /* code page 437*/
- kTextEncodingDOSGreek = 0x0405, /* code page 737 (formerly code page 437G)*/
- kTextEncodingDOSBalticRim = 0x0406, /* code page 775*/
- kTextEncodingDOSLatin1 = 0x0410, /* code page 850, "Multilingual"*/
- kTextEncodingDOSGreek1 = 0x0411, /* code page 851*/
- kTextEncodingDOSLatin2 = 0x0412, /* code page 852, Slavic*/
- kTextEncodingDOSCyrillic = 0x0413, /* code page 855, IBM Cyrillic*/
- kTextEncodingDOSTurkish = 0x0414, /* code page 857, IBM Turkish*/
- kTextEncodingDOSPortuguese = 0x0415, /* code page 860*/
- kTextEncodingDOSIcelandic = 0x0416, /* code page 861*/
- kTextEncodingDOSHebrew = 0x0417, /* code page 862*/
- kTextEncodingDOSCanadianFrench = 0x0418, /* code page 863*/
- kTextEncodingDOSArabic = 0x0419, /* code page 864*/
- kTextEncodingDOSNordic = 0x041A, /* code page 865*/
- kTextEncodingDOSRussian = 0x041B, /* code page 866*/
- kTextEncodingDOSGreek2 = 0x041C, /* code page 869, IBM Modern Greek*/
- kTextEncodingDOSThai = 0x041D, /* code page 874, also for Windows*/
- kTextEncodingDOSJapanese = 0x0420, /* code page 932, also for Windows; Shift-JIS with additions*/
- kTextEncodingDOSChineseSimplif = 0x0421, /* code page 936, also for Windows; was EUC-CN, now GBK (EUC-CN extended)*/
- kTextEncodingDOSKorean = 0x0422, /* code page 949, also for Windows; Unified Hangul Code (EUC-KR extended)*/
- kTextEncodingDOSChineseTrad = 0x0423, /* code page 950, also for Windows; Big-5*/
- kTextEncodingWindowsLatin1 = 0x0500, /* code page 1252*/
- kTextEncodingWindowsANSI = 0x0500, /* code page 1252 (alternate name)*/
- kTextEncodingWindowsLatin2 = 0x0501, /* code page 1250, Central Europe*/
- kTextEncodingWindowsCyrillic = 0x0502, /* code page 1251, Slavic Cyrillic*/
- kTextEncodingWindowsGreek = 0x0503, /* code page 1253*/
- kTextEncodingWindowsLatin5 = 0x0504, /* code page 1254, Turkish*/
- kTextEncodingWindowsHebrew = 0x0505, /* code page 1255*/
- kTextEncodingWindowsArabic = 0x0506, /* code page 1256*/
- kTextEncodingWindowsBalticRim = 0x0507, /* code page 1257*/
- kTextEncodingWindowsVietnamese = 0x0508, /* code page 1258*/
- kTextEncodingWindowsKoreanJohab = 0x0510 /* code page 1361, for Windows NT*/
- };
-
- /* Various national standards begin at 0x600*/
- enum
- {
- kTextEncodingUS_ASCII = 0x0600,
- kTextEncodingJIS_X0201_76 = 0x0620, /* JIS Roman and 1-byte katakana (halfwidth)*/
- kTextEncodingJIS_X0208_83 = 0x0621,
- kTextEncodingJIS_X0208_90 = 0x0622,
- kTextEncodingJIS_X0212_90 = 0x0623,
- kTextEncodingJIS_C6226_78 = 0x0624,
- kTextEncodingShiftJIS_X0213_00 = 0x0628, /* Shift-JIS format encoding of JIS X0213 planes 1 and 2*/
- kTextEncodingGB_2312_80 = 0x0630,
- kTextEncodingGBK_95 = 0x0631, /* annex to GB 13000-93; for Windows 95; EUC-CN extended*/
- kTextEncodingGB_18030_2000 = 0x0632,
- kTextEncodingKSC_5601_87 = 0x0640, /* same as KSC 5601-92 without Johab annex*/
- kTextEncodingKSC_5601_92_Johab = 0x0641, /* KSC 5601-92 Johab annex*/
- kTextEncodingCNS_11643_92_P1 = 0x0651, /* CNS 11643-1992 plane 1*/
- kTextEncodingCNS_11643_92_P2 = 0x0652, /* CNS 11643-1992 plane 2*/
- kTextEncodingCNS_11643_92_P3 = 0x0653 /* CNS 11643-1992 plane 3 (was plane 14 in 1986 version)*/
- };
-
- /* ISO 2022 collections begin at 0x800*/
- enum
- {
- kTextEncodingISO_2022_JP = 0x0820, /* RFC 1468*/
- kTextEncodingISO_2022_JP_2 = 0x0821, /* RFC 1554*/
- kTextEncodingISO_2022_JP_1 = 0x0822, /* RFC 2237*/
- kTextEncodingISO_2022_JP_3 = 0x0823, /* JIS X0213*/
- kTextEncodingISO_2022_CN = 0x0830,
- kTextEncodingISO_2022_CN_EXT = 0x0831,
- kTextEncodingISO_2022_KR = 0x0840
- };
-
- /* EUC collections begin at 0x900*/
- enum
- {
- kTextEncodingEUC_JP = 0x0920, /* ISO 646, 1-byte katakana, JIS 208, JIS 212*/
- kTextEncodingEUC_CN = 0x0930, /* ISO 646, GB 2312-80*/
- kTextEncodingEUC_TW = 0x0931, /* ISO 646, CNS 11643-1992 Planes 1-16*/
- kTextEncodingEUC_KR = 0x0940 /* ISO 646, KS C 5601-1987*/
- };
-
- /* Misc standards begin at 0xA00*/
- enum
- {
- kTextEncodingShiftJIS = 0x0A01, /* plain Shift-JIS*/
- kTextEncodingKOI8_R = 0x0A02, /* Russian internet standard*/
- kTextEncodingBig5 = 0x0A03, /* Big-5 (has variants)*/
- kTextEncodingMacRomanLatin1 = 0x0A04, /* Mac OS Roman permuted to align with ISO Latin-1*/
- kTextEncodingHZ_GB_2312 = 0x0A05, /* HZ (RFC 1842, for Chinese mail & news)*/
- kTextEncodingBig5_HKSCS_1999 = 0x0A06 /* Big-5 with Hong Kong special char set supplement*/
- };
-
- /* Other platform encodings*/
- enum
- {
- kTextEncodingNextStepLatin = 0x0B01, /* NextStep Latin encoding*/
- kTextEncodingNextStepJapanese = 0x0B02 /* NextStep Japanese encoding (variant of EUC-JP)*/
- };
-
- /* EBCDIC & IBM host encodings begin at 0xC00*/
- enum
- {
- kTextEncodingEBCDIC_US = 0x0C01, /* basic EBCDIC-US*/
- kTextEncodingEBCDIC_CP037 = 0x0C02 /* code page 037, extended EBCDIC (Latin-1 set) for US,Canada...*/
- };
-
- /* Special values*/
- enum
- {
- kTextEncodingMultiRun = 0x0FFF, /* Multi-encoding text with external run info*/
- kTextEncodingUnknown = 0xFFFF /* Unknown or unspecified */
- };
-
-
- /* TextEncodingVariant type & values */
- typedef UInt32 TextEncodingVariant;
- /* Default TextEncodingVariant, for any TextEncodingBase*/
- enum
- {
- kTextEncodingDefaultVariant = 0
- };
-
- /* Variants of kTextEncodingMacRoman */
- enum
- {
- kMacRomanDefaultVariant = 0, /* meta value, maps to 1 or 2 depending on System */
- kMacRomanCurrencySignVariant = 1, /* Mac OS version < 8.5, 0xDB is CURRENCY SIGN*/
- kMacRomanEuroSignVariant = 2 /* Mac OS version >= 8.5, 0xDB is EURO SIGN */
- };
-
- /* Variants of kTextEncodingMacCyrillic (for TEC 1.5 and later) */
- enum
- {
- kMacCyrillicDefaultVariant = 0, /* meta value, maps to 1, 2, or 3 depending on System*/
- kMacCyrillicCurrSignStdVariant = 1, /* Mac OS < 9.0 (RU,BG), 0xFF = CURRENCY SIGN, 0xA2/0xB6 = CENT / PARTIAL DIFF.*/
- kMacCyrillicCurrSignUkrVariant = 2, /* Mac OS < 9.0 (UA,LangKit), 0xFF = CURRENCY SIGN, 0xA2/0xB6 = GHE WITH UPTURN*/
- kMacCyrillicEuroSignVariant = 3 /* Mac OS >= 9.0, 0xFF is EURO SIGN, 0xA2/0xB6 = GHE WITH UPTURN*/
- };
-
- /* Variants of kTextEncodingMacIcelandic */
- enum
- {
- kMacIcelandicStdDefaultVariant = 0, /* meta value, maps to 2 or 4 depending on System */
- kMacIcelandicTTDefaultVariant = 1, /* meta value, maps to 3 or 5 depending on System */
- /* The following are for Mac OS version < 8.5, 0xDB is CURRENCY SIGN */
- kMacIcelandicStdCurrSignVariant = 2, /* 0xBB/0xBC are fem./masc. ordinal indicators*/
- kMacIcelandicTTCurrSignVariant = 3, /* 0xBB/0xBC are fi/fl ligatures*/
- /* The following are for Mac OS version >= 8.5, 0xDB is EURO SIGN */
- kMacIcelandicStdEuroSignVariant = 4, /* 0xBB/0xBC are fem./masc. ordinal indicators*/
- kMacIcelandicTTEuroSignVariant = 5 /* 0xBB/0xBC are fi/fl ligatures*/
- };
-
- /* Variants of kTextEncodingMacCroatian */
- enum
- {
- kMacCroatianDefaultVariant = 0, /* meta value, maps to 1 or 2 depending on System */
- kMacCroatianCurrencySignVariant = 1, /* Mac OS version < 8.5, 0xDB is CURRENCY SIGN */
- kMacCroatianEuroSignVariant = 2 /* Mac OS version >= 8.5, 0xDB is EURO SIGN */
- };
-
-
- /* Variants of kTextEncodingMacRomanian */
- enum
- {
- kMacRomanianDefaultVariant = 0, /* meta value, maps to 1 or 2 depending on System */
- kMacRomanianCurrencySignVariant = 1, /* Mac OS version < 8.5, 0xDB is CURRENCY SIGN */
- kMacRomanianEuroSignVariant = 2 /* Mac OS version >= 8.5, 0xDB is EURO SIGN */
- };
-
-
- /* Variants of kTextEncodingMacJapanese*/
- enum
- {
- kMacJapaneseStandardVariant = 0,
- kMacJapaneseStdNoVerticalsVariant = 1,
- kMacJapaneseBasicVariant = 2,
- kMacJapanesePostScriptScrnVariant = 3,
- kMacJapanesePostScriptPrintVariant = 4,
- kMacJapaneseVertAtKuPlusTenVariant = 5
- };
-
- /* Variants of kTextEncodingMacArabic*/
- enum
- {
- kMacArabicStandardVariant = 0, /* 0xC0 is 8-spoke asterisk, 0x2A & 0xAA are asterisk (e.g. Cairo)*/
- kMacArabicTrueTypeVariant = 1, /* 0xC0 is asterisk, 0x2A & 0xAA are multiply signs (e.g. Baghdad)*/
- kMacArabicThuluthVariant = 2, /* 0xC0 is Arabic five-point star, 0x2A & 0xAA are multiply signs*/
- kMacArabicAlBayanVariant = 3 /* 8-spoke asterisk, multiply sign, Koranic ligatures & parens*/
- };
-
- /* Variants of kTextEncodingMacFarsi*/
- enum
- {
- kMacFarsiStandardVariant = 0, /* 0xC0 is 8-spoke asterisk, 0x2A & 0xAA are asterisk (e.g. Tehran)*/
- kMacFarsiTrueTypeVariant = 1 /* asterisk, multiply signs, Koranic ligatures, geometric shapes*/
- };
-
- /* Variants of kTextEncodingMacHebrew*/
- enum
- {
- kMacHebrewStandardVariant = 0,
- kMacHebrewFigureSpaceVariant = 1
- };
-
- /* Variants of kTextEncodingMacVT100 */
- enum
- {
- kMacVT100DefaultVariant = 0, /* meta value, maps to 1 or 2 depending on System */
- kMacVT100CurrencySignVariant = 1, /* Mac OS version < 8.5, 0xDB is CURRENCY SIGN */
- kMacVT100EuroSignVariant = 2 /* Mac OS version >= 8.5, 0xDB is EURO SIGN */
- };
-
- /* Variants of Unicode & ISO 10646 encodings*/
- enum
- {
- kUnicodeNoSubset = 0,
- kUnicodeCanonicalDecompVariant = 2, /* canonical decomposition (NFD); excludes composed characters*/
- kUnicodeCanonicalCompVariant = 3, /* canonical composition (NFC); uses the composed chars as of Unicode 3.1*/
- kUnicodeHFSPlusDecompVariant = 8, /* decomposition for HFS+; doesn't decompose in 2000-2FFF, F900-FAFF, 2F800-2FAFF*/
- kUnicodeHFSPlusCompVariant = 9 /* composition based on HFS+ decomposition*/
- };
-
- /* Variants of Big-5 encoding*/
- enum
- {
- kBig5_BasicVariant = 0,
- kBig5_StandardVariant = 1, /* 0xC6A1-0xC7FC: kana, Cyrillic, enclosed numerics*/
- kBig5_ETenVariant = 2 /* adds kana, Cyrillic, radicals, etc with hi bytes C6-C8,F9*/
- };
-
- /* Variants of MacRomanLatin1 */
- enum
- {
- kMacRomanLatin1DefaultVariant = 0, /* meta value, maps to others depending on System*/
- kMacRomanLatin1StandardVariant = 2, /* permuted MacRoman, EuroSignVariant*/
- kMacRomanLatin1TurkishVariant = 6, /* permuted MacTurkish*/
- kMacRomanLatin1CroatianVariant = 8, /* permuted MacCroatian, EuroSignVariant*/
- kMacRomanLatin1IcelandicVariant = 11, /* permuted MacIcelandic, StdEuroSignVariant*/
- kMacRomanLatin1RomanianVariant = 14 /* permuted MacRomanian, EuroSignVariant*/
- };
-
- /* Unicode variants not yet supported (and not fully defined)*/
- enum
- {
- kUnicodeNoCompatibilityVariant = 1,
- kUnicodeNoCorporateVariant = 4
- };
-
- /* The following are older names for backward compatibility*/
- enum
- {
- kMacRomanStandardVariant = 0,
- kMacIcelandicStandardVariant = 0,
- kMacIcelandicTrueTypeVariant = 1,
- kJapaneseStandardVariant = 0,
- kJapaneseStdNoVerticalsVariant = 1,
- kJapaneseBasicVariant = 2,
- kJapanesePostScriptScrnVariant = 3,
- kJapanesePostScriptPrintVariant = 4,
- kJapaneseVertAtKuPlusTenVariant = 5, /* kJapaneseStdNoOneByteKanaVariant = 6, // replaced by kJapaneseNoOneByteKanaOption*/
- /* kJapaneseBasicNoOneByteKanaVariant = 7, // replaced by kJapaneseNoOneByteKanaOption */
- kHebrewStandardVariant = 0,
- kHebrewFigureSpaceVariant = 1,
- kUnicodeMaxDecomposedVariant = 2, /* replaced by kUnicodeCanonicalDecompVariant*/
- kUnicodeNoComposedVariant = 3, /* this really meant NoComposing; replaced by kUnicodeCanonicalCompVariant*/
- /* The following Japanese variant options were never supported and are now deprecated.*/
- /* In TEC 1.4 and later their functionality is replaced by the Unicode Converter options listed.*/
- kJapaneseNoOneByteKanaOption = 0x20, /* replaced by UnicodeConverter option kUnicodeNoHalfwidthCharsBit*/
- kJapaneseUseAsciiBackslashOption = 0x40 /* replaced by UnicodeConverter option kUnicodeForceASCIIRangeBit*/
- };
-
- /* TextEncodingFormat type & values */
- typedef UInt32 TextEncodingFormat;
- enum
- {
- /* Default TextEncodingFormat for any TextEncodingBase*/
- kTextEncodingDefaultFormat = 0, /* Formats for Unicode & ISO 10646*/
- kUnicode16BitFormat = 0,
- kUnicodeUTF7Format = 1,
- kUnicodeUTF8Format = 2,
- kUnicode32BitFormat = 3, /* New constants since 10.3?*/
- kUnicodeUTF16Format = 0, /* UTF16 form (16-bit units), native or external byte order (see below)*/
- kUnicodeUTF32Format = 3, /* UTF32 form (32-bit units), native or external byte order (see below)*/
- kUnicodeUTF16BEFormat = 4, /* UTF16 form, explicit big-endian byte order, no BOM*/
- kUnicodeUTF16LEFormat = 5, /* UTF16 form, explicit little-endian byte order, no BOM*/
- kUnicodeUTF32BEFormat = 6, /* UTF32 form, explicit big-endian byte order, no BOM*/
- kUnicodeUTF32LEFormat = 7, /* UTF32 form, explicit little-endian byte order, no BOM*/
- kUnicodeSCSUFormat = 8 /* Std. Compression Scheme for Unicode, Unicode Tech Std. #6*/
- };
-
- /*
- Note for kUnicodeUTF16Format and kUnicodeUTF32Format:
- - An array of UTF16Char (UniChar) or UTF32Char is normally understood to use "internal" or
- platform-native byte ordering for kUnicodeUTF16Format and kUnicodeUTF32Format; the array MAY
- begin with byte-order mark (BOM), but the BOM should match the internal ordering.
- - If an array of bytes (such as char *) that can be in various encodings is specified to be
- in Unicode with kUnicodeUTF16Format or kUnicodeUTF32Format (not explicitly BE or LE), then it
- is assumed to use "external" byte ordering, which means: If there is a BOM at the beginning
- of text, the BOM specifies the byte ordering, otherwise big-endian is assumed.
- Synonyms for some Unicode formats
- */
- /* TextEncoding type */
- typedef UInt32 TextEncoding;
- /* name part selector for GetTextEncodingName*/
- typedef UInt32 TextEncodingNameSelector;
- enum
- {
- kTextEncodingFullName = 0,
- kTextEncodingBaseName = 1,
- kTextEncodingVariantName = 2,
- kTextEncodingFormatName = 3
- };
-
- /* Types used in conversion */
- struct TextEncodingRun
- {
- ByteOffset offset;
- TextEncoding textEncoding;
- };
- typedef struct TextEncodingRun TextEncodingRun;
- typedef TextEncodingRun * TextEncodingRunPtr;
- typedef const TextEncodingRun * ConstTextEncodingRunPtr;
- struct ScriptCodeRun
- {
- ByteOffset offset;
- ScriptCode script;
- };
- typedef struct ScriptCodeRun ScriptCodeRun;
- typedef ScriptCodeRun * ScriptCodeRunPtr;
- typedef const ScriptCodeRun * ConstScriptCodeRunPtr;
- typedef UInt8 * TextPtr;
- typedef const UInt8 * ConstTextPtr;
- /* Basic types for Unicode characters and strings:*/
- typedef UniChar * UniCharArrayPtr;
- typedef const UniChar * ConstUniCharArrayPtr;
- /*
- UniCharArrayHandle is a handle type to correspond to UniCharArrayPtr,
- i.e. a handle to an array of UniChars (UInt16s).
- */
- typedef UniCharArrayPtr * UniCharArrayHandle;
- /*
- UniCharArrayOffset is used to indicate an edge offset in an array
- of UniChars (UInt16s).
- */
- typedef UInt32 UniCharArrayOffset;
- /* enums for TextEncoding Conversion routines*/
- enum
- {
- kTextScriptDontCare = -128,
- kTextLanguageDontCare = -128,
- kTextRegionDontCare = -128
- };
-
- /* struct for TECGetInfo*/
-
- struct TECInfo
- {
- UInt16 format; /* format code for this struct*/
- UInt16 tecVersion; /* TEC version in BCD, e.g. 0x0121 for 1.2.1*/
- UInt32 tecTextConverterFeatures; /* bitmask indicating TEC features/fixes*/
- UInt32 tecUnicodeConverterFeatures; /* bitmask indicating UnicodeConverter features/fixes*/
- UInt32 tecTextCommonFeatures; /* bitmask indicating TextCommon features/fixes*/
- Str31 tecTextEncodingsFolderName; /* localized name of Text Encodings folder (pascal string)*/
- Str31 tecExtensionFileName; /* localized name of TEC extension (pascal string)*/
- UInt16 tecLowestTEFileVersion; /* Lowest version (BCD) of all files in Text Encodings folder*/
- UInt16 tecHighestTEFileVersion; /* Highest version (BCD) of all files in Text Encodings folder*/
- };
- typedef struct TECInfo TECInfo;
- typedef TECInfo * TECInfoPtr;
- typedef TECInfoPtr * TECInfoHandle;
- /* Value for TECInfo format code*/
- enum
- {
- kTECInfoCurrentFormat = 2 /* any future formats will just add fields at the end*/
- };
-
- /*
- Defined feature/fix bits for tecUnicodeConverterFeatures field
- Bit: Meaning if set:
- ---- ---------------
- kTECKeepInfoFixBit Unicode Converter no longer ignores other control flags if
- kUnicodeKeepInfoBit is set. Bug fix in TEC Manager 1.2.1.
- kTECFallbackTextLengthFixBit Unicode Converter honors the *srcConvLen and *destConvLen
- returned by caller-supplied fallback handler for any status it
- returns except for kTECUnmappableElementErr (previously it only
- honored these values if noErr was returned). Bug fix in TEC
- Manager 1.2.1.
- kTECTextRunBitClearFixBit ConvertFromUnicodeToTextRun & ConvertFromUnicodeToScriptCodeRun
- function correctly if the kUnicodeTextRunBit is set (previously
- their determination of best target encoding was incorrect). Bug
- fix in TEC Manager 1.3.
- kTECTextToUnicodeScanFixBit ConvertFromTextToUnicode uses an improved scanner and maintains
- some resulting state information, which it uses for mapping.
- This has several effects:
- - Improved mapping of 0x30-0x39 digits in Mac OS Arabic, fewer
- direction overrides when mapping Mac OS Arabic & Hebrew, and
- improved mapping of certain characters in Indic encodings.
- - Malformed input produces kTextMalformedInputErr.
- - ConvertFromTextToUnicode accepts and uses the control flags
- kUnicodeKeepInfoMask and kUnicodeStringUnterminatedMask.
- Bug fix and enhancement in TEC Manager 1.3.
- kTECAddForceASCIIChangesBit Define new control flag bits kUnicodeForceASCIIRangeBit and
- kUnicodeNoHalfwidthCharsBit for use with
- ConvertFromTextToUnicode, ConvertFromUnicodeToText, etc.
- Enhancement in TEC Manager 1.4.
- kTECPreferredEncodingFixBit CreateUnicodeToTextRunInfo and related functions fix a problem
- that occurred when a preferred encoding was specified that did
- not match the System script; the preferred script was not
- actually placed first in the ordered list of encodings to use.
- Bug fix in TEC Manager 1.4.
- kTECAddTextRunHeuristicsBit Define new control flag bit kUnicodeTextRunHeuristicsBit for
- use with ConvertFromUnicodeToTextRun.
- kTECAddFallbackInterruptBit Define new option kUnicodeFallbackInterruptSafeMask for use
- with SetFallbackUnicodeToText. If a client fallback handler is
- installed without specifying this bit, ConvertFromUnicodeToText
- will HLock the tables it uses (in case the fallback handler
- moves memory); otherwise, it won't.
- */
-
- enum
- {
- kTECKeepInfoFixBit = 0,
- kTECFallbackTextLengthFixBit = 1,
- kTECTextRunBitClearFixBit = 2,
- kTECTextToUnicodeScanFixBit = 3,
- kTECAddForceASCIIChangesBit = 4,
- kTECPreferredEncodingFixBit = 5,
- kTECAddTextRunHeuristicsBit = 6,
- kTECAddFallbackInterruptBit = 7
- };
-
- enum
- {
- kTECKeepInfoFixMask = 1L << kTECKeepInfoFixBit,
- kTECFallbackTextLengthFixMask = 1L << kTECFallbackTextLengthFixBit,
- kTECTextRunBitClearFixMask = 1L << kTECTextRunBitClearFixBit,
- kTECTextToUnicodeScanFixMask = 1L << kTECTextToUnicodeScanFixBit,
- kTECAddForceASCIIChangesMask = 1L << kTECAddForceASCIIChangesBit,
- kTECPreferredEncodingFixMask = 1L << kTECPreferredEncodingFixBit,
- kTECAddTextRunHeuristicsMask = 1L << kTECAddTextRunHeuristicsBit,
- kTECAddFallbackInterruptMask = 1L << kTECAddFallbackInterruptBit
- };
-
- /*
- -------------------------------------------------------------------------------------------------
- CONSTANTS for common and special Unicode code values
- -------------------------------------------------------------------------------------------------
- */
-
- enum
- {
- kUnicodeByteOrderMark = 0xFEFF,
- kUnicodeObjectReplacement = 0xFFFC, /* placeholder for non-text object*/
- kUnicodeReplacementChar = 0xFFFD, /* Unicode replacement for unconvertable input char*/
- kUnicodeSwappedByteOrderMark = 0xFFFE, /* not a Unicode char; byte-swapped version of FEFF*/
- kUnicodeNotAChar = 0xFFFF /* not a Unicode char; may be used as a terminator*/
- };
-
- /*
- -------------------------------------------------------------------------------------------------
- CONSTANTS & DATA STRUCTURES for Unicode Properties
- -------------------------------------------------------------------------------------------------
- */
- typedef SInt32 UCCharPropertyType;
- enum
- {
- kUCCharPropTypeGenlCategory = 1, /* requests enumeration value*/
- kUCCharPropTypeCombiningClass = 2, /* requests numeric value 0..255*/
- kUCCharPropTypeBidiCategory = 3 /* requests enumeration value*/
- };
-
- typedef UInt32 UCCharPropertyValue;
- /* General Category enumeration values (requested by kUCCharPropTypeGenlCategory)*/
- enum
- {
- /* Normative categories:*/
- kUCGenlCatOtherNotAssigned = 0, /* Cn Other, Not Assigned*/
- kUCGenlCatOtherControl = 1, /* Cc Other, Control*/
- kUCGenlCatOtherFormat = 2, /* Cf Other, Format*/
- kUCGenlCatOtherSurrogate = 3, /* Cs Other, Surrogate*/
- kUCGenlCatOtherPrivateUse = 4, /* Co Other, Private Use*/
- kUCGenlCatMarkNonSpacing = 5, /* Mn Mark, Non-Spacing*/
- kUCGenlCatMarkSpacingCombining = 6, /* Mc Mark, Spacing Combining*/
- kUCGenlCatMarkEnclosing = 7, /* Me Mark, Enclosing*/
- kUCGenlCatNumberDecimalDigit = 8, /* Nd Number, Decimal Digit*/
- kUCGenlCatNumberLetter = 9, /* Nl Number, Letter*/
- kUCGenlCatNumberOther = 10, /* No Number, Other*/
- kUCGenlCatSeparatorSpace = 11, /* Zs Separator, Space*/
- kUCGenlCatSeparatorLine = 12, /* Zl Separator, Line*/
- kUCGenlCatSeparatorParagraph = 13, /* Zp Separator, Paragraph*/
- kUCGenlCatLetterUppercase = 14, /* Lu Letter, Uppercase*/
- kUCGenlCatLetterLowercase = 15, /* Ll Letter, Lowercase*/
- kUCGenlCatLetterTitlecase = 16, /* Lt Letter, Titlecase*/
- /* Informative categories:*/
- kUCGenlCatLetterModifier = 17, /* Lm Letter, Modifier*/
- kUCGenlCatLetterOther = 18, /* Lo Letter, Other*/
- kUCGenlCatPunctConnector = 20, /* Pc Punctuation, Connector*/
- kUCGenlCatPunctDash = 21, /* Pd Punctuation, Dash*/
- kUCGenlCatPunctOpen = 22, /* Ps Punctuation, Open*/
- kUCGenlCatPunctClose = 23, /* Pe Punctuation, Close*/
- kUCGenlCatPunctInitialQuote = 24, /* Pi Punctuation, Initial quote*/
- kUCGenlCatPunctFinalQuote = 25, /* Pf Punctuation, Final quote*/
- kUCGenlCatPunctOther = 26, /* Po Punctuation, Other*/
- kUCGenlCatSymbolMath = 28, /* Sm Symbol, Math*/
- kUCGenlCatSymbolCurrency = 29, /* Sc Symbol, Currency*/
- kUCGenlCatSymbolModifier = 30, /* Sk Symbol, Modifier*/
- kUCGenlCatSymbolOther = 31 /* So Symbol, Other*/
- };
-
- /* Bidirectional Category enumeration values (requested by kUCCharPropTypeBidiCategory)*/
- enum
- {
- kUCBidiCatNotApplicable = 0, /* for now use this for unassigned*/
- /* Strong types:*/
- kUCBidiCatLeftRight = 1, /* L Left-to-Right*/
- kUCBidiCatRightLeft = 2, /* R Right-to-Left*/
- /* Weak types:*/
- kUCBidiCatEuroNumber = 3, /* EN European Number*/
- kUCBidiCatEuroNumberSeparator = 4, /* ES European Number Separator*/
- kUCBidiCatEuroNumberTerminator = 5, /* ET European Number Terminator*/
- kUCBidiCatArabicNumber = 6, /* AN Arabic Number*/
- kUCBidiCatCommonNumberSeparator = 7, /* CS Common Number Separator*/
- /* Separators:*/
- kUCBidiCatBlockSeparator = 8, /* B Paragraph Separator (was Block Separator)*/
- kUCBidiCatSegmentSeparator = 9, /* S Segment Separator*/
- /* Neutrals:*/
- kUCBidiCatWhitespace = 10, /* WS Whitespace*/
- kUCBidiCatOtherNeutral = 11, /* ON Other Neutrals (unassigned codes could use this)*/
- /* New categories for Unicode 3.0*/
- kUCBidiCatRightLeftArabic = 12, /* AL Right-to-Left Arabic (was Arabic Letter)*/
- kUCBidiCatLeftRightEmbedding = 13, /* LRE Left-to-Right Embedding*/
- kUCBidiCatRightLeftEmbedding = 14, /* RLE Right-to-Left Embedding*/
- kUCBidiCatLeftRightOverride = 15, /* LRO Left-to-Right Override*/
- kUCBidiCatRightLeftOverride = 16, /* RLO Right-to-Left Override*/
- kUCBidiCatPopDirectionalFormat = 17, /* PDF Pop Directional Format*/
- kUCBidiCatNonSpacingMark = 18, /* NSM Non-Spacing Mark*/
- kUCBidiCatBoundaryNeutral = 19 /* BN Boundary Neutral*/
- };
-
- /*
- -------------------------------------------------------------------------------------------------
- Prototypes for TextEncoding functions
- -------------------------------------------------------------------------------------------------
- */
-
-
- /*
- * CreateTextEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TextEncoding)
- CreateTextEncoding(
- TextEncodingBase encodingBase,
- TextEncodingVariant encodingVariant,
- TextEncodingFormat encodingFormat);
-
-
- /*
- * GetTextEncodingBase()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TextEncodingBase)
- GetTextEncodingBase(TextEncoding encoding);
-
-
- /*
- * GetTextEncodingVariant()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TextEncodingVariant)
- GetTextEncodingVariant(TextEncoding encoding);
-
-
- /*
- * GetTextEncodingFormat()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TextEncodingFormat)
- GetTextEncodingFormat(TextEncoding encoding);
-
-
- /*
- * ResolveDefaultTextEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TextEncoding)
- ResolveDefaultTextEncoding(TextEncoding encoding);
-
-
- /*
- * GetTextEncodingName()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetTextEncodingName(
- TextEncoding iEncoding,
- TextEncodingNameSelector iNamePartSelector,
- RegionCode iPreferredRegion,
- TextEncoding iPreferredEncoding,
- ByteCount iOutputBufLen,
- ByteCount * oNameLength,
- RegionCode * oActualRegion, /* can be NULL */
- TextEncoding * oActualEncoding, /* can be NULL */
- TextPtr oEncodingName);
-
-
- /*
- * TECGetInfo()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.2.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetInfo(TECInfoHandle * tecInfo);
-
-
-
- /*
- * UpgradeScriptInfoToTextEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UpgradeScriptInfoToTextEncoding(
- ScriptCode iTextScriptID,
- LangCode iTextLanguageID,
- RegionCode iRegionID,
- ConstStr255Param iTextFontname,
- TextEncoding * oEncoding);
-
-
- /*
- * RevertTextEncodingToScriptInfo()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- RevertTextEncodingToScriptInfo(
- TextEncoding iEncoding,
- ScriptCode * oTextScriptID,
- LangCode * oTextLanguageID, /* can be NULL */
- Str255 oTextFontname); /* can be NULL */
-
-
- /*
- * GetTextEncodingFromScriptInfo()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- GetTextEncodingFromScriptInfo(
- ScriptCode iTextScriptID,
- LangCode iTextLanguageID,
- RegionCode iTextRegionID,
- TextEncoding * oEncoding);
-
-
- /*
- * GetScriptInfoFromTextEncoding()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- GetScriptInfoFromTextEncoding(
- TextEncoding iEncoding,
- ScriptCode * oTextScriptID,
- LangCode * oTextLanguageID); /* can be NULL */
-
-
- /*
- * NearestMacTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- NearestMacTextEncodings(
- TextEncoding generalEncoding,
- TextEncoding * bestMacEncoding,
- TextEncoding * alternateMacEncoding);
-
-
- /*
- * UCGetCharProperty()
- *
- * Availability:
- * Non-Carbon CFM: in TextCommon 1.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCGetCharProperty(
- const UniChar * charPtr,
- UniCharCount textLength,
- UCCharPropertyType propType,
- UCCharPropertyValue * propValue);
-
-
- /*
- -------------------------------------------------------------------------------------------------
- Surrogate pair utilities
- -------------------------------------------------------------------------------------------------
- */
+/* TextEncodingBase type & values */
+/* (values 0-32 correspond to the Script Codes defined in Inside Macintosh: Text pages 6-52 and 6-53 */
+typedef UInt32 TextEncodingBase;
+enum {
+ /* Mac OS encodings*/
+ kTextEncodingMacRoman = 0L,
+ kTextEncodingMacJapanese = 1,
+ kTextEncodingMacChineseTrad = 2,
+ kTextEncodingMacKorean = 3,
+ kTextEncodingMacArabic = 4,
+ kTextEncodingMacHebrew = 5,
+ kTextEncodingMacGreek = 6,
+ kTextEncodingMacCyrillic = 7,
+ kTextEncodingMacDevanagari = 9,
+ kTextEncodingMacGurmukhi = 10,
+ kTextEncodingMacGujarati = 11,
+ kTextEncodingMacOriya = 12,
+ kTextEncodingMacBengali = 13,
+ kTextEncodingMacTamil = 14,
+ kTextEncodingMacTelugu = 15,
+ kTextEncodingMacKannada = 16,
+ kTextEncodingMacMalayalam = 17,
+ kTextEncodingMacSinhalese = 18,
+ kTextEncodingMacBurmese = 19,
+ kTextEncodingMacKhmer = 20,
+ kTextEncodingMacThai = 21,
+ kTextEncodingMacLaotian = 22,
+ kTextEncodingMacGeorgian = 23,
+ kTextEncodingMacArmenian = 24,
+ kTextEncodingMacChineseSimp = 25,
+ kTextEncodingMacTibetan = 26,
+ kTextEncodingMacMongolian = 27,
+ kTextEncodingMacEthiopic = 28,
+ kTextEncodingMacCentralEurRoman = 29,
+ kTextEncodingMacVietnamese = 30,
+ kTextEncodingMacExtArabic = 31, /* The following use script code 0, smRoman*/
+ kTextEncodingMacSymbol = 33,
+ kTextEncodingMacDingbats = 34,
+ kTextEncodingMacTurkish = 35,
+ kTextEncodingMacCroatian = 36,
+ kTextEncodingMacIcelandic = 37,
+ kTextEncodingMacRomanian = 38,
+ kTextEncodingMacCeltic = 39,
+ kTextEncodingMacGaelic = 40,
+ kTextEncodingMacKeyboardGlyphs = 41
+};
+
+/* The following are older names for backward compatibility*/
+enum {
+ kTextEncodingMacTradChinese = kTextEncodingMacChineseTrad,
+ kTextEncodingMacRSymbol = 8,
+ kTextEncodingMacSimpChinese = kTextEncodingMacChineseSimp,
+ kTextEncodingMacGeez = kTextEncodingMacEthiopic,
+ kTextEncodingMacEastEurRoman = kTextEncodingMacCentralEurRoman,
+ kTextEncodingMacUninterp = 32
+};
+
+
+/*
+ Beginning in Mac OS 8.5, the following meta-value is used to indicate Unicode in some parts
+ of the Mac OS which previously only expected a Mac OS script code. In some of these places,
+ only 7 bits are available to indicate encoding (script code), so kTextEncodingUnicodeDefault
+ cannot be used. For example, kTextEncodingMacUnicode can be used to indicate Unicode in the
+ 7-bit script code field of a Unicode input method's ComponentDescription.componentFlags field;
+ it can also be used to indicate Unicode in the 16-bit script code field of an AppleEvent's
+ typeIntlWritingCode text tag.
+*/
+enum {
+ kTextEncodingMacUnicode = 0x7E /* Meta-value, Unicode as a Mac encoding*/
+};
+
+/* Variant Mac OS encodings that use script codes other than 0*/
+enum {
+ /* The following use script code 4, smArabic*/
+ kTextEncodingMacFarsi = 0x8C, /* Like MacArabic but uses Farsi digits*/
+ /* The following use script code 7, smCyrillic*/
+ kTextEncodingMacUkrainian = 0x98, /* Meta-value in TEC 1.5 & later; maps to kTextEncodingMacCyrillic variant */
+ /* The following use script code 28, smEthiopic*/
+ kTextEncodingMacInuit = 0xEC, /* The following use script code 32, smUnimplemented*/
+ kTextEncodingMacVT100 = 0xFC /* VT100/102 font from Comm Toolbox: Latin-1 repertoire + box drawing etc*/
+};
+
+/* Special Mac OS encodings*/
+enum {
+ kTextEncodingMacHFS = 0xFF /* Meta-value, should never appear in a table.*/
+};
+
+/* Unicode & ISO UCS encodings begin at 0x100*/
+enum {
+ kTextEncodingUnicodeDefault = 0x0100, /* Meta-value, should never appear in a table.*/
+ kTextEncodingUnicodeV1_1 = 0x0101,
+ kTextEncodingISO10646_1993 = 0x0101, /* Code points identical to Unicode 1.1*/
+ kTextEncodingUnicodeV2_0 = 0x0103, /* New location for Korean Hangul*/
+ kTextEncodingUnicodeV2_1 = 0x0103, /* We treat both Unicode 2.0 and Unicode 2.1 as 2.1*/
+ kTextEncodingUnicodeV3_0 = 0x0104,
+ kTextEncodingUnicodeV3_1 = 0x0105, /* Adds characters requiring surrogate pairs in UTF-16*/
+ kTextEncodingUnicodeV3_2 = 0x0106
+};
+
+/* ISO 8-bit and 7-bit encodings begin at 0x200*/
+enum {
+ kTextEncodingISOLatin1 = 0x0201, /* ISO 8859-1*/
+ kTextEncodingISOLatin2 = 0x0202, /* ISO 8859-2*/
+ kTextEncodingISOLatin3 = 0x0203, /* ISO 8859-3*/
+ kTextEncodingISOLatin4 = 0x0204, /* ISO 8859-4*/
+ kTextEncodingISOLatinCyrillic = 0x0205, /* ISO 8859-5*/
+ kTextEncodingISOLatinArabic = 0x0206, /* ISO 8859-6, = ASMO 708, =DOS CP 708*/
+ kTextEncodingISOLatinGreek = 0x0207, /* ISO 8859-7*/
+ kTextEncodingISOLatinHebrew = 0x0208, /* ISO 8859-8*/
+ kTextEncodingISOLatin5 = 0x0209, /* ISO 8859-9*/
+ kTextEncodingISOLatin6 = 0x020A, /* ISO 8859-10 */
+ kTextEncodingISOLatin7 = 0x020D, /* ISO 8859-13, Baltic Rim */
+ kTextEncodingISOLatin8 = 0x020E, /* ISO 8859-14, Celtic */
+ kTextEncodingISOLatin9 = 0x020F /* ISO 8859-15, 8859-1 changed for EURO & CP1252 letters */
+};
+
+/* MS-DOS & Windows encodings begin at 0x400*/
+enum {
+ kTextEncodingDOSLatinUS = 0x0400, /* code page 437*/
+ kTextEncodingDOSGreek = 0x0405, /* code page 737 (formerly code page 437G)*/
+ kTextEncodingDOSBalticRim = 0x0406, /* code page 775*/
+ kTextEncodingDOSLatin1 = 0x0410, /* code page 850, "Multilingual"*/
+ kTextEncodingDOSGreek1 = 0x0411, /* code page 851*/
+ kTextEncodingDOSLatin2 = 0x0412, /* code page 852, Slavic*/
+ kTextEncodingDOSCyrillic = 0x0413, /* code page 855, IBM Cyrillic*/
+ kTextEncodingDOSTurkish = 0x0414, /* code page 857, IBM Turkish*/
+ kTextEncodingDOSPortuguese = 0x0415, /* code page 860*/
+ kTextEncodingDOSIcelandic = 0x0416, /* code page 861*/
+ kTextEncodingDOSHebrew = 0x0417, /* code page 862*/
+ kTextEncodingDOSCanadianFrench = 0x0418, /* code page 863*/
+ kTextEncodingDOSArabic = 0x0419, /* code page 864*/
+ kTextEncodingDOSNordic = 0x041A, /* code page 865*/
+ kTextEncodingDOSRussian = 0x041B, /* code page 866*/
+ kTextEncodingDOSGreek2 = 0x041C, /* code page 869, IBM Modern Greek*/
+ kTextEncodingDOSThai = 0x041D, /* code page 874, also for Windows*/
+ kTextEncodingDOSJapanese = 0x0420, /* code page 932, also for Windows; Shift-JIS with additions*/
+ kTextEncodingDOSChineseSimplif = 0x0421, /* code page 936, also for Windows; was EUC-CN, now GBK (EUC-CN extended)*/
+ kTextEncodingDOSKorean = 0x0422, /* code page 949, also for Windows; Unified Hangul Code (EUC-KR extended)*/
+ kTextEncodingDOSChineseTrad = 0x0423, /* code page 950, also for Windows; Big-5*/
+ kTextEncodingWindowsLatin1 = 0x0500, /* code page 1252*/
+ kTextEncodingWindowsANSI = 0x0500, /* code page 1252 (alternate name)*/
+ kTextEncodingWindowsLatin2 = 0x0501, /* code page 1250, Central Europe*/
+ kTextEncodingWindowsCyrillic = 0x0502, /* code page 1251, Slavic Cyrillic*/
+ kTextEncodingWindowsGreek = 0x0503, /* code page 1253*/
+ kTextEncodingWindowsLatin5 = 0x0504, /* code page 1254, Turkish*/
+ kTextEncodingWindowsHebrew = 0x0505, /* code page 1255*/
+ kTextEncodingWindowsArabic = 0x0506, /* code page 1256*/
+ kTextEncodingWindowsBalticRim = 0x0507, /* code page 1257*/
+ kTextEncodingWindowsVietnamese = 0x0508, /* code page 1258*/
+ kTextEncodingWindowsKoreanJohab = 0x0510 /* code page 1361, for Windows NT*/
+};
+
+/* Various national standards begin at 0x600*/
+enum {
+ kTextEncodingUS_ASCII = 0x0600,
+ kTextEncodingJIS_X0201_76 = 0x0620, /* JIS Roman and 1-byte katakana (halfwidth)*/
+ kTextEncodingJIS_X0208_83 = 0x0621,
+ kTextEncodingJIS_X0208_90 = 0x0622,
+ kTextEncodingJIS_X0212_90 = 0x0623,
+ kTextEncodingJIS_C6226_78 = 0x0624,
+ kTextEncodingShiftJIS_X0213_00 = 0x0628, /* Shift-JIS format encoding of JIS X0213 planes 1 and 2*/
+ kTextEncodingGB_2312_80 = 0x0630,
+ kTextEncodingGBK_95 = 0x0631, /* annex to GB 13000-93; for Windows 95; EUC-CN extended*/
+ kTextEncodingGB_18030_2000 = 0x0632,
+ kTextEncodingKSC_5601_87 = 0x0640, /* same as KSC 5601-92 without Johab annex*/
+ kTextEncodingKSC_5601_92_Johab = 0x0641, /* KSC 5601-92 Johab annex*/
+ kTextEncodingCNS_11643_92_P1 = 0x0651, /* CNS 11643-1992 plane 1*/
+ kTextEncodingCNS_11643_92_P2 = 0x0652, /* CNS 11643-1992 plane 2*/
+ kTextEncodingCNS_11643_92_P3 = 0x0653 /* CNS 11643-1992 plane 3 (was plane 14 in 1986 version)*/
+};
+
+/* ISO 2022 collections begin at 0x800*/
+enum {
+ kTextEncodingISO_2022_JP = 0x0820, /* RFC 1468*/
+ kTextEncodingISO_2022_JP_2 = 0x0821, /* RFC 1554*/
+ kTextEncodingISO_2022_JP_1 = 0x0822, /* RFC 2237*/
+ kTextEncodingISO_2022_JP_3 = 0x0823, /* JIS X0213*/
+ kTextEncodingISO_2022_CN = 0x0830,
+ kTextEncodingISO_2022_CN_EXT = 0x0831,
+ kTextEncodingISO_2022_KR = 0x0840
+};
+
+/* EUC collections begin at 0x900*/
+enum {
+ kTextEncodingEUC_JP = 0x0920, /* ISO 646, 1-byte katakana, JIS 208, JIS 212*/
+ kTextEncodingEUC_CN = 0x0930, /* ISO 646, GB 2312-80*/
+ kTextEncodingEUC_TW = 0x0931, /* ISO 646, CNS 11643-1992 Planes 1-16*/
+ kTextEncodingEUC_KR = 0x0940 /* ISO 646, KS C 5601-1987*/
+};
+
+/* Misc standards begin at 0xA00*/
+enum {
+ kTextEncodingShiftJIS = 0x0A01, /* plain Shift-JIS*/
+ kTextEncodingKOI8_R = 0x0A02, /* Russian internet standard*/
+ kTextEncodingBig5 = 0x0A03, /* Big-5 (has variants)*/
+ kTextEncodingMacRomanLatin1 = 0x0A04, /* Mac OS Roman permuted to align with ISO Latin-1*/
+ kTextEncodingHZ_GB_2312 = 0x0A05, /* HZ (RFC 1842, for Chinese mail & news)*/
+ kTextEncodingBig5_HKSCS_1999 = 0x0A06 /* Big-5 with Hong Kong special char set supplement*/
+};
+
+/* Other platform encodings*/
+enum {
+ kTextEncodingNextStepLatin = 0x0B01, /* NextStep Latin encoding*/
+ kTextEncodingNextStepJapanese = 0x0B02 /* NextStep Japanese encoding (variant of EUC-JP)*/
+};
+
+/* EBCDIC & IBM host encodings begin at 0xC00*/
+enum {
+ kTextEncodingEBCDIC_US = 0x0C01, /* basic EBCDIC-US*/
+ kTextEncodingEBCDIC_CP037 = 0x0C02 /* code page 037, extended EBCDIC (Latin-1 set) for US,Canada...*/
+};
+
+/* Special values*/
+enum {
+ kTextEncodingMultiRun = 0x0FFF, /* Multi-encoding text with external run info*/
+ kTextEncodingUnknown = 0xFFFF /* Unknown or unspecified */
+};
+
+
+/* TextEncodingVariant type & values */
+typedef UInt32 TextEncodingVariant;
+/* Default TextEncodingVariant, for any TextEncodingBase*/
+enum {
+ kTextEncodingDefaultVariant = 0
+};
+
+/* Variants of kTextEncodingMacRoman */
+enum {
+ kMacRomanDefaultVariant = 0, /* meta value, maps to 1 or 2 depending on System */
+ kMacRomanCurrencySignVariant = 1, /* Mac OS version < 8.5, 0xDB is CURRENCY SIGN*/
+ kMacRomanEuroSignVariant = 2 /* Mac OS version >= 8.5, 0xDB is EURO SIGN */
+};
+
+/* Variants of kTextEncodingMacCyrillic (for TEC 1.5 and later) */
+enum {
+ kMacCyrillicDefaultVariant = 0, /* meta value, maps to 1, 2, or 3 depending on System*/
+ kMacCyrillicCurrSignStdVariant = 1, /* Mac OS < 9.0 (RU,BG), 0xFF = CURRENCY SIGN, 0xA2/0xB6 = CENT / PARTIAL DIFF.*/
+ kMacCyrillicCurrSignUkrVariant = 2, /* Mac OS < 9.0 (UA,LangKit), 0xFF = CURRENCY SIGN, 0xA2/0xB6 = GHE WITH UPTURN*/
+ kMacCyrillicEuroSignVariant = 3 /* Mac OS >= 9.0, 0xFF is EURO SIGN, 0xA2/0xB6 = GHE WITH UPTURN*/
+};
+
+/* Variants of kTextEncodingMacIcelandic */
+enum {
+ kMacIcelandicStdDefaultVariant = 0, /* meta value, maps to 2 or 4 depending on System */
+ kMacIcelandicTTDefaultVariant = 1, /* meta value, maps to 3 or 5 depending on System */
+ /* The following are for Mac OS version < 8.5, 0xDB is CURRENCY SIGN */
+ kMacIcelandicStdCurrSignVariant = 2, /* 0xBB/0xBC are fem./masc. ordinal indicators*/
+ kMacIcelandicTTCurrSignVariant = 3, /* 0xBB/0xBC are fi/fl ligatures*/
+ /* The following are for Mac OS version >= 8.5, 0xDB is EURO SIGN */
+ kMacIcelandicStdEuroSignVariant = 4, /* 0xBB/0xBC are fem./masc. ordinal indicators*/
+ kMacIcelandicTTEuroSignVariant = 5 /* 0xBB/0xBC are fi/fl ligatures*/
+};
+
+/* Variants of kTextEncodingMacCroatian */
+enum {
+ kMacCroatianDefaultVariant = 0, /* meta value, maps to 1 or 2 depending on System */
+ kMacCroatianCurrencySignVariant = 1, /* Mac OS version < 8.5, 0xDB is CURRENCY SIGN */
+ kMacCroatianEuroSignVariant = 2 /* Mac OS version >= 8.5, 0xDB is EURO SIGN */
+};
+
+
+/* Variants of kTextEncodingMacRomanian */
+enum {
+ kMacRomanianDefaultVariant = 0, /* meta value, maps to 1 or 2 depending on System */
+ kMacRomanianCurrencySignVariant = 1, /* Mac OS version < 8.5, 0xDB is CURRENCY SIGN */
+ kMacRomanianEuroSignVariant = 2 /* Mac OS version >= 8.5, 0xDB is EURO SIGN */
+};
+
+
+/* Variants of kTextEncodingMacJapanese*/
+enum {
+ kMacJapaneseStandardVariant = 0,
+ kMacJapaneseStdNoVerticalsVariant = 1,
+ kMacJapaneseBasicVariant = 2,
+ kMacJapanesePostScriptScrnVariant = 3,
+ kMacJapanesePostScriptPrintVariant = 4,
+ kMacJapaneseVertAtKuPlusTenVariant = 5
+};
+
+/* Variants of kTextEncodingMacArabic*/
+enum {
+ kMacArabicStandardVariant = 0, /* 0xC0 is 8-spoke asterisk, 0x2A & 0xAA are asterisk (e.g. Cairo)*/
+ kMacArabicTrueTypeVariant = 1, /* 0xC0 is asterisk, 0x2A & 0xAA are multiply signs (e.g. Baghdad)*/
+ kMacArabicThuluthVariant = 2, /* 0xC0 is Arabic five-point star, 0x2A & 0xAA are multiply signs*/
+ kMacArabicAlBayanVariant = 3 /* 8-spoke asterisk, multiply sign, Koranic ligatures & parens*/
+};
+
+/* Variants of kTextEncodingMacFarsi*/
+enum {
+ kMacFarsiStandardVariant = 0, /* 0xC0 is 8-spoke asterisk, 0x2A & 0xAA are asterisk (e.g. Tehran)*/
+ kMacFarsiTrueTypeVariant = 1 /* asterisk, multiply signs, Koranic ligatures, geometric shapes*/
+};
+
+/* Variants of kTextEncodingMacHebrew*/
+enum {
+ kMacHebrewStandardVariant = 0,
+ kMacHebrewFigureSpaceVariant = 1
+};
+
+/* Variants of kTextEncodingMacVT100 */
+enum {
+ kMacVT100DefaultVariant = 0, /* meta value, maps to 1 or 2 depending on System */
+ kMacVT100CurrencySignVariant = 1, /* Mac OS version < 8.5, 0xDB is CURRENCY SIGN */
+ kMacVT100EuroSignVariant = 2 /* Mac OS version >= 8.5, 0xDB is EURO SIGN */
+};
+
+/* Variants of Unicode & ISO 10646 encodings*/
+enum {
+ kUnicodeNoSubset = 0,
+ kUnicodeCanonicalDecompVariant = 2, /* canonical decomposition (NFD); excludes composed characters*/
+ kUnicodeCanonicalCompVariant = 3, /* canonical composition (NFC); uses the composed chars as of Unicode 3.1*/
+ kUnicodeHFSPlusDecompVariant = 8, /* decomposition for HFS+; doesn't decompose in 2000-2FFF, F900-FAFF, 2F800-2FAFF*/
+ kUnicodeHFSPlusCompVariant = 9 /* composition based on HFS+ decomposition*/
+};
+
+/* Variants of Big-5 encoding*/
+enum {
+ kBig5_BasicVariant = 0,
+ kBig5_StandardVariant = 1, /* 0xC6A1-0xC7FC: kana, Cyrillic, enclosed numerics*/
+ kBig5_ETenVariant = 2 /* adds kana, Cyrillic, radicals, etc with hi bytes C6-C8,F9*/
+};
+
+/* Variants of MacRomanLatin1 */
+enum {
+ kMacRomanLatin1DefaultVariant = 0, /* meta value, maps to others depending on System*/
+ kMacRomanLatin1StandardVariant = 2, /* permuted MacRoman, EuroSignVariant*/
+ kMacRomanLatin1TurkishVariant = 6, /* permuted MacTurkish*/
+ kMacRomanLatin1CroatianVariant = 8, /* permuted MacCroatian, EuroSignVariant*/
+ kMacRomanLatin1IcelandicVariant = 11, /* permuted MacIcelandic, StdEuroSignVariant*/
+ kMacRomanLatin1RomanianVariant = 14 /* permuted MacRomanian, EuroSignVariant*/
+};
+
+/* Unicode variants not yet supported (and not fully defined)*/
+enum {
+ kUnicodeNoCompatibilityVariant = 1,
+ kUnicodeNoCorporateVariant = 4
+};
+
+/* The following are older names for backward compatibility*/
+enum {
+ kMacRomanStandardVariant = 0,
+ kMacIcelandicStandardVariant = 0,
+ kMacIcelandicTrueTypeVariant = 1,
+ kJapaneseStandardVariant = 0,
+ kJapaneseStdNoVerticalsVariant = 1,
+ kJapaneseBasicVariant = 2,
+ kJapanesePostScriptScrnVariant = 3,
+ kJapanesePostScriptPrintVariant = 4,
+ kJapaneseVertAtKuPlusTenVariant = 5, /* kJapaneseStdNoOneByteKanaVariant = 6, // replaced by kJapaneseNoOneByteKanaOption*/
+ /* kJapaneseBasicNoOneByteKanaVariant = 7, // replaced by kJapaneseNoOneByteKanaOption */
+ kHebrewStandardVariant = 0,
+ kHebrewFigureSpaceVariant = 1,
+ kUnicodeMaxDecomposedVariant = 2, /* replaced by kUnicodeCanonicalDecompVariant*/
+ kUnicodeNoComposedVariant = 3, /* this really meant NoComposing; replaced by kUnicodeCanonicalCompVariant*/
+ /* The following Japanese variant options were never supported and are now deprecated.*/
+ /* In TEC 1.4 and later their functionality is replaced by the Unicode Converter options listed.*/
+ kJapaneseNoOneByteKanaOption = 0x20, /* replaced by UnicodeConverter option kUnicodeNoHalfwidthCharsBit*/
+ kJapaneseUseAsciiBackslashOption = 0x40 /* replaced by UnicodeConverter option kUnicodeForceASCIIRangeBit*/
+};
+
+/* TextEncodingFormat type & values */
+typedef UInt32 TextEncodingFormat;
+enum {
+ /* Default TextEncodingFormat for any TextEncodingBase*/
+ kTextEncodingDefaultFormat = 0, /* Formats for Unicode & ISO 10646*/
+ kUnicode16BitFormat = 0,
+ kUnicodeUTF7Format = 1,
+ kUnicodeUTF8Format = 2,
+ kUnicode32BitFormat = 3, /* New constants since 10.3?*/
+ kUnicodeUTF16Format = 0, /* UTF16 form (16-bit units), native or external byte order (see below)*/
+ kUnicodeUTF32Format = 3, /* UTF32 form (32-bit units), native or external byte order (see below)*/
+ kUnicodeUTF16BEFormat = 4, /* UTF16 form, explicit big-endian byte order, no BOM*/
+ kUnicodeUTF16LEFormat = 5, /* UTF16 form, explicit little-endian byte order, no BOM*/
+ kUnicodeUTF32BEFormat = 6, /* UTF32 form, explicit big-endian byte order, no BOM*/
+ kUnicodeUTF32LEFormat = 7, /* UTF32 form, explicit little-endian byte order, no BOM*/
+ kUnicodeSCSUFormat = 8 /* Std. Compression Scheme for Unicode, Unicode Tech Std. #6*/
+};
+
+/*
+ Note for kUnicodeUTF16Format and kUnicodeUTF32Format:
+ - An array of UTF16Char (UniChar) or UTF32Char is normally understood to use "internal" or
+ platform-native byte ordering for kUnicodeUTF16Format and kUnicodeUTF32Format; the array MAY
+ begin with byte-order mark (BOM), but the BOM should match the internal ordering.
+ - If an array of bytes (such as char *) that can be in various encodings is specified to be
+ in Unicode with kUnicodeUTF16Format or kUnicodeUTF32Format (not explicitly BE or LE), then it
+ is assumed to use "external" byte ordering, which means: If there is a BOM at the beginning
+ of text, the BOM specifies the byte ordering, otherwise big-endian is assumed.
+ Synonyms for some Unicode formats
+*/
+/* TextEncoding type */
+typedef UInt32 TextEncoding;
+/* name part selector for GetTextEncodingName*/
+typedef UInt32 TextEncodingNameSelector;
+enum {
+ kTextEncodingFullName = 0,
+ kTextEncodingBaseName = 1,
+ kTextEncodingVariantName = 2,
+ kTextEncodingFormatName = 3
+};
+
+/* Types used in conversion */
+struct TextEncodingRun {
+ ByteOffset offset;
+ TextEncoding textEncoding;
+};
+typedef struct TextEncodingRun TextEncodingRun;
+typedef TextEncodingRun * TextEncodingRunPtr;
+typedef const TextEncodingRun * ConstTextEncodingRunPtr;
+struct ScriptCodeRun {
+ ByteOffset offset;
+ ScriptCode script;
+};
+typedef struct ScriptCodeRun ScriptCodeRun;
+typedef ScriptCodeRun * ScriptCodeRunPtr;
+typedef const ScriptCodeRun * ConstScriptCodeRunPtr;
+typedef UInt8 * TextPtr;
+typedef const UInt8 * ConstTextPtr;
+/* Basic types for Unicode characters and strings:*/
+typedef UniChar * UniCharArrayPtr;
+typedef const UniChar * ConstUniCharArrayPtr;
+/*
+ UniCharArrayHandle is a handle type to correspond to UniCharArrayPtr,
+ i.e. a handle to an array of UniChars (UInt16s).
+*/
+typedef UniCharArrayPtr * UniCharArrayHandle;
+/*
+ UniCharArrayOffset is used to indicate an edge offset in an array
+ of UniChars (UInt16s).
+*/
+typedef UInt32 UniCharArrayOffset;
+/* enums for TextEncoding Conversion routines*/
+enum {
+ kTextScriptDontCare = -128,
+ kTextLanguageDontCare = -128,
+ kTextRegionDontCare = -128
+};
+
+/* struct for TECGetInfo*/
+
+struct TECInfo {
+ UInt16 format; /* format code for this struct*/
+ UInt16 tecVersion; /* TEC version in BCD, e.g. 0x0121 for 1.2.1*/
+ UInt32 tecTextConverterFeatures; /* bitmask indicating TEC features/fixes*/
+ UInt32 tecUnicodeConverterFeatures; /* bitmask indicating UnicodeConverter features/fixes*/
+ UInt32 tecTextCommonFeatures; /* bitmask indicating TextCommon features/fixes*/
+ Str31 tecTextEncodingsFolderName; /* localized name of Text Encodings folder (pascal string)*/
+ Str31 tecExtensionFileName; /* localized name of TEC extension (pascal string)*/
+ UInt16 tecLowestTEFileVersion; /* Lowest version (BCD) of all files in Text Encodings folder*/
+ UInt16 tecHighestTEFileVersion; /* Highest version (BCD) of all files in Text Encodings folder*/
+};
+typedef struct TECInfo TECInfo;
+typedef TECInfo * TECInfoPtr;
+typedef TECInfoPtr * TECInfoHandle;
+/* Value for TECInfo format code*/
+enum {
+ kTECInfoCurrentFormat = 2 /* any future formats will just add fields at the end*/
+};
+
+/*
+ Defined feature/fix bits for tecUnicodeConverterFeatures field
+ Bit: Meaning if set:
+ ---- ---------------
+ kTECKeepInfoFixBit Unicode Converter no longer ignores other control flags if
+ kUnicodeKeepInfoBit is set. Bug fix in TEC Manager 1.2.1.
+ kTECFallbackTextLengthFixBit Unicode Converter honors the *srcConvLen and *destConvLen
+ returned by caller-supplied fallback handler for any status it
+ returns except for kTECUnmappableElementErr (previously it only
+ honored these values if noErr was returned). Bug fix in TEC
+ Manager 1.2.1.
+ kTECTextRunBitClearFixBit ConvertFromUnicodeToTextRun & ConvertFromUnicodeToScriptCodeRun
+ function correctly if the kUnicodeTextRunBit is set (previously
+ their determination of best target encoding was incorrect). Bug
+ fix in TEC Manager 1.3.
+ kTECTextToUnicodeScanFixBit ConvertFromTextToUnicode uses an improved scanner and maintains
+ some resulting state information, which it uses for mapping.
+ This has several effects:
+ - Improved mapping of 0x30-0x39 digits in Mac OS Arabic, fewer
+ direction overrides when mapping Mac OS Arabic & Hebrew, and
+ improved mapping of certain characters in Indic encodings.
+ - Malformed input produces kTextMalformedInputErr.
+ - ConvertFromTextToUnicode accepts and uses the control flags
+ kUnicodeKeepInfoMask and kUnicodeStringUnterminatedMask.
+ Bug fix and enhancement in TEC Manager 1.3.
+ kTECAddForceASCIIChangesBit Define new control flag bits kUnicodeForceASCIIRangeBit and
+ kUnicodeNoHalfwidthCharsBit for use with
+ ConvertFromTextToUnicode, ConvertFromUnicodeToText, etc.
+ Enhancement in TEC Manager 1.4.
+ kTECPreferredEncodingFixBit CreateUnicodeToTextRunInfo and related functions fix a problem
+ that occurred when a preferred encoding was specified that did
+ not match the System script; the preferred script was not
+ actually placed first in the ordered list of encodings to use.
+ Bug fix in TEC Manager 1.4.
+ kTECAddTextRunHeuristicsBit Define new control flag bit kUnicodeTextRunHeuristicsBit for
+ use with ConvertFromUnicodeToTextRun.
+ kTECAddFallbackInterruptBit Define new option kUnicodeFallbackInterruptSafeMask for use
+ with SetFallbackUnicodeToText. If a client fallback handler is
+ installed without specifying this bit, ConvertFromUnicodeToText
+ will HLock the tables it uses (in case the fallback handler
+ moves memory); otherwise, it won't.
+*/
+
+enum {
+ kTECKeepInfoFixBit = 0,
+ kTECFallbackTextLengthFixBit = 1,
+ kTECTextRunBitClearFixBit = 2,
+ kTECTextToUnicodeScanFixBit = 3,
+ kTECAddForceASCIIChangesBit = 4,
+ kTECPreferredEncodingFixBit = 5,
+ kTECAddTextRunHeuristicsBit = 6,
+ kTECAddFallbackInterruptBit = 7
+};
+
+enum {
+ kTECKeepInfoFixMask = 1L << kTECKeepInfoFixBit,
+ kTECFallbackTextLengthFixMask = 1L << kTECFallbackTextLengthFixBit,
+ kTECTextRunBitClearFixMask = 1L << kTECTextRunBitClearFixBit,
+ kTECTextToUnicodeScanFixMask = 1L << kTECTextToUnicodeScanFixBit,
+ kTECAddForceASCIIChangesMask = 1L << kTECAddForceASCIIChangesBit,
+ kTECPreferredEncodingFixMask = 1L << kTECPreferredEncodingFixBit,
+ kTECAddTextRunHeuristicsMask = 1L << kTECAddTextRunHeuristicsBit,
+ kTECAddFallbackInterruptMask = 1L << kTECAddFallbackInterruptBit
+};
+
+/*
+ -------------------------------------------------------------------------------------------------
+ CONSTANTS for common and special Unicode code values
+ -------------------------------------------------------------------------------------------------
+*/
+
+enum {
+ kUnicodeByteOrderMark = 0xFEFF,
+ kUnicodeObjectReplacement = 0xFFFC, /* placeholder for non-text object*/
+ kUnicodeReplacementChar = 0xFFFD, /* Unicode replacement for unconvertable input char*/
+ kUnicodeSwappedByteOrderMark = 0xFFFE, /* not a Unicode char; byte-swapped version of FEFF*/
+ kUnicodeNotAChar = 0xFFFF /* not a Unicode char; may be used as a terminator*/
+};
+
+/*
+ -------------------------------------------------------------------------------------------------
+ CONSTANTS & DATA STRUCTURES for Unicode Properties
+ -------------------------------------------------------------------------------------------------
+*/
+typedef SInt32 UCCharPropertyType;
+enum {
+ kUCCharPropTypeGenlCategory = 1, /* requests enumeration value*/
+ kUCCharPropTypeCombiningClass = 2, /* requests numeric value 0..255*/
+ kUCCharPropTypeBidiCategory = 3 /* requests enumeration value*/
+};
+
+typedef UInt32 UCCharPropertyValue;
+/* General Category enumeration values (requested by kUCCharPropTypeGenlCategory)*/
+enum {
+ /* Normative categories:*/
+ kUCGenlCatOtherNotAssigned = 0, /* Cn Other, Not Assigned*/
+ kUCGenlCatOtherControl = 1, /* Cc Other, Control*/
+ kUCGenlCatOtherFormat = 2, /* Cf Other, Format*/
+ kUCGenlCatOtherSurrogate = 3, /* Cs Other, Surrogate*/
+ kUCGenlCatOtherPrivateUse = 4, /* Co Other, Private Use*/
+ kUCGenlCatMarkNonSpacing = 5, /* Mn Mark, Non-Spacing*/
+ kUCGenlCatMarkSpacingCombining = 6, /* Mc Mark, Spacing Combining*/
+ kUCGenlCatMarkEnclosing = 7, /* Me Mark, Enclosing*/
+ kUCGenlCatNumberDecimalDigit = 8, /* Nd Number, Decimal Digit*/
+ kUCGenlCatNumberLetter = 9, /* Nl Number, Letter*/
+ kUCGenlCatNumberOther = 10, /* No Number, Other*/
+ kUCGenlCatSeparatorSpace = 11, /* Zs Separator, Space*/
+ kUCGenlCatSeparatorLine = 12, /* Zl Separator, Line*/
+ kUCGenlCatSeparatorParagraph = 13, /* Zp Separator, Paragraph*/
+ kUCGenlCatLetterUppercase = 14, /* Lu Letter, Uppercase*/
+ kUCGenlCatLetterLowercase = 15, /* Ll Letter, Lowercase*/
+ kUCGenlCatLetterTitlecase = 16, /* Lt Letter, Titlecase*/
+ /* Informative categories:*/
+ kUCGenlCatLetterModifier = 17, /* Lm Letter, Modifier*/
+ kUCGenlCatLetterOther = 18, /* Lo Letter, Other*/
+ kUCGenlCatPunctConnector = 20, /* Pc Punctuation, Connector*/
+ kUCGenlCatPunctDash = 21, /* Pd Punctuation, Dash*/
+ kUCGenlCatPunctOpen = 22, /* Ps Punctuation, Open*/
+ kUCGenlCatPunctClose = 23, /* Pe Punctuation, Close*/
+ kUCGenlCatPunctInitialQuote = 24, /* Pi Punctuation, Initial quote*/
+ kUCGenlCatPunctFinalQuote = 25, /* Pf Punctuation, Final quote*/
+ kUCGenlCatPunctOther = 26, /* Po Punctuation, Other*/
+ kUCGenlCatSymbolMath = 28, /* Sm Symbol, Math*/
+ kUCGenlCatSymbolCurrency = 29, /* Sc Symbol, Currency*/
+ kUCGenlCatSymbolModifier = 30, /* Sk Symbol, Modifier*/
+ kUCGenlCatSymbolOther = 31 /* So Symbol, Other*/
+};
+
+/* Bidirectional Category enumeration values (requested by kUCCharPropTypeBidiCategory)*/
+enum {
+ kUCBidiCatNotApplicable = 0, /* for now use this for unassigned*/
+ /* Strong types:*/
+ kUCBidiCatLeftRight = 1, /* L Left-to-Right*/
+ kUCBidiCatRightLeft = 2, /* R Right-to-Left*/
+ /* Weak types:*/
+ kUCBidiCatEuroNumber = 3, /* EN European Number*/
+ kUCBidiCatEuroNumberSeparator = 4, /* ES European Number Separator*/
+ kUCBidiCatEuroNumberTerminator = 5, /* ET European Number Terminator*/
+ kUCBidiCatArabicNumber = 6, /* AN Arabic Number*/
+ kUCBidiCatCommonNumberSeparator = 7, /* CS Common Number Separator*/
+ /* Separators:*/
+ kUCBidiCatBlockSeparator = 8, /* B Paragraph Separator (was Block Separator)*/
+ kUCBidiCatSegmentSeparator = 9, /* S Segment Separator*/
+ /* Neutrals:*/
+ kUCBidiCatWhitespace = 10, /* WS Whitespace*/
+ kUCBidiCatOtherNeutral = 11, /* ON Other Neutrals (unassigned codes could use this)*/
+ /* New categories for Unicode 3.0*/
+ kUCBidiCatRightLeftArabic = 12, /* AL Right-to-Left Arabic (was Arabic Letter)*/
+ kUCBidiCatLeftRightEmbedding = 13, /* LRE Left-to-Right Embedding*/
+ kUCBidiCatRightLeftEmbedding = 14, /* RLE Right-to-Left Embedding*/
+ kUCBidiCatLeftRightOverride = 15, /* LRO Left-to-Right Override*/
+ kUCBidiCatRightLeftOverride = 16, /* RLO Right-to-Left Override*/
+ kUCBidiCatPopDirectionalFormat = 17, /* PDF Pop Directional Format*/
+ kUCBidiCatNonSpacingMark = 18, /* NSM Non-Spacing Mark*/
+ kUCBidiCatBoundaryNeutral = 19 /* BN Boundary Neutral*/
+};
+
+/*
+ -------------------------------------------------------------------------------------------------
+ Prototypes for TextEncoding functions
+ -------------------------------------------------------------------------------------------------
+*/
+
+
+/*
+ * CreateTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TextEncoding )
+CreateTextEncoding(
+ TextEncodingBase encodingBase,
+ TextEncodingVariant encodingVariant,
+ TextEncodingFormat encodingFormat);
+
+
+/*
+ * GetTextEncodingBase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TextEncodingBase )
+GetTextEncodingBase(TextEncoding encoding);
+
+
+/*
+ * GetTextEncodingVariant()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TextEncodingVariant )
+GetTextEncodingVariant(TextEncoding encoding);
+
+
+/*
+ * GetTextEncodingFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TextEncodingFormat )
+GetTextEncodingFormat(TextEncoding encoding);
+
+
+/*
+ * ResolveDefaultTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TextEncoding )
+ResolveDefaultTextEncoding(TextEncoding encoding);
+
+
+/*
+ * GetTextEncodingName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetTextEncodingName(
+ TextEncoding iEncoding,
+ TextEncodingNameSelector iNamePartSelector,
+ RegionCode iPreferredRegion,
+ TextEncoding iPreferredEncoding,
+ ByteCount iOutputBufLen,
+ ByteCount * oNameLength,
+ RegionCode * oActualRegion, /* can be NULL */
+ TextEncoding * oActualEncoding, /* can be NULL */
+ TextPtr oEncodingName);
+
+
+/*
+ * TECGetInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.2.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetInfo(TECInfoHandle * tecInfo);
+
+
+
+/*
+ * UpgradeScriptInfoToTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UpgradeScriptInfoToTextEncoding(
+ ScriptCode iTextScriptID,
+ LangCode iTextLanguageID,
+ RegionCode iRegionID,
+ ConstStr255Param iTextFontname,
+ TextEncoding * oEncoding);
+
+
+/*
+ * RevertTextEncodingToScriptInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+RevertTextEncodingToScriptInfo(
+ TextEncoding iEncoding,
+ ScriptCode * oTextScriptID,
+ LangCode * oTextLanguageID, /* can be NULL */
+ Str255 oTextFontname); /* can be NULL */
+
+
+/*
+ * GetTextEncodingFromScriptInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+GetTextEncodingFromScriptInfo(
+ ScriptCode iTextScriptID,
+ LangCode iTextLanguageID,
+ RegionCode iTextRegionID,
+ TextEncoding * oEncoding);
+
+
+/*
+ * GetScriptInfoFromTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+GetScriptInfoFromTextEncoding(
+ TextEncoding iEncoding,
+ ScriptCode * oTextScriptID,
+ LangCode * oTextLanguageID); /* can be NULL */
+
+
+/*
+ * NearestMacTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+NearestMacTextEncodings(
+ TextEncoding generalEncoding,
+ TextEncoding * bestMacEncoding,
+ TextEncoding * alternateMacEncoding);
+
+
+/*
+ * UCGetCharProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextCommon 1.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCGetCharProperty(
+ const UniChar * charPtr,
+ UniCharCount textLength,
+ UCCharPropertyType propType,
+ UCCharPropertyValue * propValue);
+
+
+/*
+ -------------------------------------------------------------------------------------------------
+ Surrogate pair utilities
+ -------------------------------------------------------------------------------------------------
+*/
#if !defined(UC_INLINE)
-#if defined(__GNUC__)
-#define UC_INLINE static __inline__
-#elif defined(__MWERKS__) || defined(__cplusplus)
-#define UC_INLINE static inline
-#else
-#define UC_INLINE static
-#endif
+ #if defined(__GNUC__)
+ #define UC_INLINE static __inline__
+ #elif defined(__MWERKS__) || defined(__cplusplus)
+ #define UC_INLINE static inline
+ #else
+ #define UC_INLINE static
+ #endif
#endif
// surrogate ranges
- enum
- {
- kUCHighSurrogateRangeStart = 0xD800UL,
- kUCHighSurrogateRangeEnd = 0xDBFFUL,
- kUCLowSurrogateRangeStart = 0xDC00UL,
- kUCLowSurrogateRangeEnd = 0xDFFFUL
- };
-
-
- /*!
- @function UCIsSurrogateHighCharacter
- Reports whether or not the character is a high surrogate.
- @param character The character to be checked.
- @result true, if character is a high surrogate, otherwise false.
- */
- UC_INLINE Boolean UCIsSurrogateHighCharacter(UniChar character)
- {
- /* return ( ( character >= kUCHighSurrogateRangeStart ) && (character <= kUCHighSurrogateRangeEnd ) ? true : false ); */
- return ((character & 0xFC00UL) == kUCHighSurrogateRangeStart);
- }
-
- /*!
- @function UCIsSurrogateLowCharacter
- Reports whether or not the character is a low surrogate.
- @param character The character to be checked.
- @result true, if character is a low surrogate, otherwise false.
- */
- UC_INLINE Boolean UCIsSurrogateLowCharacter(UniChar character)
- {
- /* return ( ( character >= kUCLowSurrogateRangeStart ) && ( character <= kUCLowSurrogateRangeEnd ) ? true : false ); */
- return ((character & 0xFC00UL) == kUCLowSurrogateRangeStart);
- }
-
- /*!
- @function UCGetUnicodeScalarValueForSurrogatePair
- Returns the UTF-32 value corresponding to the surrogate pair passed in.
- @param surrogateHigh The high surrogate character. If this parameter
- is not a valid high surrogate character, the behavior is undefined.
- @param surrogateLow The low surrogate character. If this parameter
- is not a valid low surrogate character, the behavior is undefined.
- @result The UTF-32 value for the surrogate pair.
- */
- UC_INLINE UnicodeScalarValue UCGetUnicodeScalarValueForSurrogatePair(UniChar surrogateHigh, UniChar surrogateLow)
- {
- return ((surrogateHigh - kUCHighSurrogateRangeStart) << 10) + (surrogateLow - kUCLowSurrogateRangeStart) + 0x0010000UL;
- }
+enum {
+ kUCHighSurrogateRangeStart = 0xD800UL,
+ kUCHighSurrogateRangeEnd = 0xDBFFUL,
+ kUCLowSurrogateRangeStart = 0xDC00UL,
+ kUCLowSurrogateRangeEnd = 0xDFFFUL
+};
+
+
+/*!
+ @function UCIsSurrogateHighCharacter
+ Reports whether or not the character is a high surrogate.
+ @param character The character to be checked.
+ @result true, if character is a high surrogate, otherwise false.
+*/
+UC_INLINE Boolean UCIsSurrogateHighCharacter( UniChar character ) {
+ /* return ( ( character >= kUCHighSurrogateRangeStart ) && (character <= kUCHighSurrogateRangeEnd ) ? true : false ); */
+ return ( ( character & 0xFC00UL ) == kUCHighSurrogateRangeStart );
+}
+
+/*!
+ @function UCIsSurrogateLowCharacter
+ Reports whether or not the character is a low surrogate.
+ @param character The character to be checked.
+ @result true, if character is a low surrogate, otherwise false.
+*/
+UC_INLINE Boolean UCIsSurrogateLowCharacter( UniChar character ) {
+ /* return ( ( character >= kUCLowSurrogateRangeStart ) && ( character <= kUCLowSurrogateRangeEnd ) ? true : false ); */
+ return ( ( character & 0xFC00UL ) == kUCLowSurrogateRangeStart );
+}
+
+/*!
+ @function UCGetUnicodeScalarValueForSurrogatePair
+ Returns the UTF-32 value corresponding to the surrogate pair passed in.
+ @param surrogateHigh The high surrogate character. If this parameter
+ is not a valid high surrogate character, the behavior is undefined.
+ @param surrogateLow The low surrogate character. If this parameter
+ is not a valid low surrogate character, the behavior is undefined.
+ @result The UTF-32 value for the surrogate pair.
+*/
+UC_INLINE UnicodeScalarValue UCGetUnicodeScalarValueForSurrogatePair( UniChar surrogateHigh, UniChar surrogateLow ) {
+ return ( ( surrogateHigh - kUCHighSurrogateRangeStart ) << 10 ) + ( surrogateLow - kUCLowSurrogateRangeStart ) + 0x0010000UL;
+}
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/TextEdit.h b/include/qt/TextEdit.h
index a04baa400..45113ab0d 100644
--- a/include/qt/TextEdit.h
+++ b/include/qt/TextEdit.h
@@ -1,17 +1,17 @@
/*
File: TextEdit.h
-
+
Contains: TextEdit Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TEXTEDIT__
#define __TEXTEDIT__
@@ -43,1372 +43,1235 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
+ #pragma pack(2)
+#endif
+
+typedef struct TERec TERec;
+typedef TERec * TEPtr;
+typedef TEPtr * TEHandle;
+typedef CALLBACK_API_REGISTER68K( void , HighHookProcPtr, (const Rect *r, TEPtr pTE) );
+typedef CALLBACK_API_REGISTER68K( Boolean , EOLHookProcPtr, (char theChar, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( void , CaretHookProcPtr, (const Rect *r, TEPtr pTE) );
+typedef CALLBACK_API_REGISTER68K( unsigned short , WidthHookProcPtr, (unsigned short textLen, unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( unsigned short , TextWidthHookProcPtr, (unsigned short textLen, unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( unsigned short , NWidthHookProcPtr, (unsigned short styleRunLen, unsigned short styleRunOffset, short slop, short direction, void *textBufferPtr, short *lineStart, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( void , DrawHookProcPtr, (unsigned short textOffset, unsigned short drawLen, void *textBufferPtr, TEPtr pTE, TEHandle hTE) );
+typedef CALLBACK_API_REGISTER68K( Boolean , HitTestHookProcPtr, (unsigned short styleRunLen, unsigned short styleRunOffset, unsigned short slop, void *textBufferPtr, TEPtr pTE, TEHandle hTE, unsigned short *pixelWidth, unsigned short *charOffset, Boolean *pixelInChar) );
+typedef CALLBACK_API_REGISTER68K( void , TEFindWordProcPtr, (unsigned short currentPos, short caller, TEPtr pTE, TEHandle hTE, unsigned short *wordStart, unsigned short *wordEnd) );
+typedef CALLBACK_API_REGISTER68K( void , TERecalcProcPtr, (TEPtr pTE, unsigned short changeLength, unsigned short *lineStart, unsigned short *firstChar, unsigned short *lastChar) );
+typedef CALLBACK_API_REGISTER68K( void , TEDoTextProcPtr, (TEPtr pTE, unsigned short firstChar, unsigned short lastChar, short selector, GrafPtr *currentGrafPort, short *charPosition) );
+typedef CALLBACK_API_REGISTER68K( Boolean , TEClickLoopProcPtr, (TEPtr pTE) );
+typedef CALLBACK_API_REGISTER68K( Boolean , WordBreakProcPtr, (Ptr text, short charPos) );
+/*
+ Important note about TEClickLoopProcPtr and WordBreakProcPtr
+
+ At one point these were defined as returning the function result in the
+ condition code Z-bit. This was correct, in that it was what the 68K
+ implementation of TextEdit actually tested. But, MixedMode had a different
+ idea of what returning a boolean in the Z-bit meant. MixedMode was setting
+ the Z-bit the complement of what was wanted.
+
+ Therefore, these ProcPtrs have been changed (back) to return the result in
+ register D0. It turns out that for register based routines,
+ MixedMode sets the Z-bit of the 68K emulator based on the contents
+ of the return result register. Thus we can get the Z-bit set correctly.
+
+ But, when TextEdit is recoded in PowerPC, if it calls a 68K ClickLoop
+ or WordBreak routine, register D0 had better have the result (in addition
+ to the Z-bit). Therefore all 68K apps should make sure their ClickLoop or
+ WordBreak routines set register D0 at the end.
+*/
+
+/*
+ There is no function to get/set the low-mem for FindWordHook at 0x07F8.
+ This is because it is not a low-mem ProcPtr. That address is the entry
+ in the OS TrapTable for trap 0xA0FE. You can use Get/SetTrapAddress to
+ acccess it.
+*/
- typedef struct TERec TERec;
- typedef TERec * TEPtr;
- typedef TEPtr * TEHandle;
- typedef CALLBACK_API_REGISTER68K(void , HighHookProcPtr, (const Rect *r, TEPtr pTE));
- typedef CALLBACK_API_REGISTER68K(Boolean , EOLHookProcPtr, (char theChar, TEPtr pTE, TEHandle hTE));
- typedef CALLBACK_API_REGISTER68K(void , CaretHookProcPtr, (const Rect *r, TEPtr pTE));
- typedef CALLBACK_API_REGISTER68K(unsigned short , WidthHookProcPtr, (unsigned short textLen, unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE));
- typedef CALLBACK_API_REGISTER68K(unsigned short , TextWidthHookProcPtr, (unsigned short textLen, unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE));
- typedef CALLBACK_API_REGISTER68K(unsigned short , NWidthHookProcPtr, (unsigned short styleRunLen, unsigned short styleRunOffset, short slop, short direction, void *textBufferPtr, short *lineStart, TEPtr pTE, TEHandle hTE));
- typedef CALLBACK_API_REGISTER68K(void , DrawHookProcPtr, (unsigned short textOffset, unsigned short drawLen, void *textBufferPtr, TEPtr pTE, TEHandle hTE));
- typedef CALLBACK_API_REGISTER68K(Boolean , HitTestHookProcPtr, (unsigned short styleRunLen, unsigned short styleRunOffset, unsigned short slop, void *textBufferPtr, TEPtr pTE, TEHandle hTE, unsigned short *pixelWidth, unsigned short *charOffset, Boolean *pixelInChar));
- typedef CALLBACK_API_REGISTER68K(void , TEFindWordProcPtr, (unsigned short currentPos, short caller, TEPtr pTE, TEHandle hTE, unsigned short *wordStart, unsigned short *wordEnd));
- typedef CALLBACK_API_REGISTER68K(void , TERecalcProcPtr, (TEPtr pTE, unsigned short changeLength, unsigned short *lineStart, unsigned short *firstChar, unsigned short *lastChar));
- typedef CALLBACK_API_REGISTER68K(void , TEDoTextProcPtr, (TEPtr pTE, unsigned short firstChar, unsigned short lastChar, short selector, GrafPtr *currentGrafPort, short *charPosition));
- typedef CALLBACK_API_REGISTER68K(Boolean , TEClickLoopProcPtr, (TEPtr pTE));
- typedef CALLBACK_API_REGISTER68K(Boolean , WordBreakProcPtr, (Ptr text, short charPos));
- /*
- Important note about TEClickLoopProcPtr and WordBreakProcPtr
-
- At one point these were defined as returning the function result in the
- condition code Z-bit. This was correct, in that it was what the 68K
- implementation of TextEdit actually tested. But, MixedMode had a different
- idea of what returning a boolean in the Z-bit meant. MixedMode was setting
- the Z-bit the complement of what was wanted.
-
- Therefore, these ProcPtrs have been changed (back) to return the result in
- register D0. It turns out that for register based routines,
- MixedMode sets the Z-bit of the 68K emulator based on the contents
- of the return result register. Thus we can get the Z-bit set correctly.
-
- But, when TextEdit is recoded in PowerPC, if it calls a 68K ClickLoop
- or WordBreak routine, register D0 had better have the result (in addition
- to the Z-bit). Therefore all 68K apps should make sure their ClickLoop or
- WordBreak routines set register D0 at the end.
- */
-
- /*
- There is no function to get/set the low-mem for FindWordHook at 0x07F8.
- This is because it is not a low-mem ProcPtr. That address is the entry
- in the OS TrapTable for trap 0xA0FE. You can use Get/SetTrapAddress to
- acccess it.
- */
-
- /*
- The following ProcPtrs cannot be written in or called from a high-level
- language without the help of mixed mode or assembly glue because they
- use the following parameter-passing conventions:
-
- typedef pascal void (*HighHookProcPtr)(const Rect *r, TEPtr pTE);
- typedef pascal void (*CaretHookProcPtr)(const Rect *r, TEPtr pTE);
-
- In:
- => r on stack
- => pTE A3.L
- Out:
- none
-
- typedef pascal Boolean (*EOLHookProcPtr)(char theChar, TEPtr pTE, TEHandle hTE);
-
- In:
- => theChar D0.B
- => pTE A3.L
- => hTE A4.L
- Out:
- <= Boolean Z bit of the CCR
-
- typedef pascal unsigned short (*WidthHookProcPtr)(unsigned short textLen,
- unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE);
- typedef pascal unsigned short (*TextWidthHookProcPtr)(unsigned short textLen,
- unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE);
-
- In:
- => textLen D0.W
- => textOffset D1.W
- => textBufferPtr A0.L
- => pTE A3.L
- => hTE A4.L
- Out:
- <= unsigned short D1.W
-
- typedef pascal unsigned short (*NWidthHookProcPtr)(unsigned short styleRunLen,
- unsigned short styleRunOffset, short slop, short direction, void *textBufferPtr,
- short *lineStart, TEPtr pTE, TEHandle hTE);
-
- In:
- => styleRunLen D0.W
- => styleRunOffset D1.W
- => slop D2.W (low)
- => direction D2.W (high)
- => textBufferPtr A0.L
- => lineStart A2.L
- => pTE A3.L
- => hTE A4.L
- Out:
- <= unsigned short D1.W
-
- typedef pascal void (*DrawHookProcPtr)(unsigned short textOffset, unsigned short drawLen,
- void *textBufferPtr, TEPtr pTE, TEHandle hTE);
-
- In:
- => textOffset D0.W
- => drawLen D1.W
- => textBufferPtr A0.L
- => pTE A3.L
- => hTE A4.L
- Out:
- none
-
- typedef pascal Boolean (*HitTestHookProcPtr)(unsigned short styleRunLen,
- unsigned short styleRunOffset, unsigned short slop, void *textBufferPtr,
- TEPtr pTE, TEHandle hTE, unsigned short *pixelWidth, unsigned short *charOffset,
- Boolean *pixelInChar);
-
- In:
- => styleRunLen D0.W
- => styleRunOffset D1.W
- => slop D2.W
- => textBufferPtr A0.L
- => pTE A3.L
- => hTE A4.L
- Out:
- <= pixelWidth D0.W (low)
- <= Boolean D0.W (high)
- <= charOffset D1.W
- <= pixelInChar D2.W
-
- typedef pascal void (*TEFindWordProcPtr)(unsigned short currentPos, short caller,
- TEPtr pTE, TEHandle hTE, unsigned short *wordStart, unsigned short *wordEnd);
-
- In:
- => currentPos D0.W
- => caller D2.W
- => pTE A3.L
- => hTE A4.L
- Out:
- <= wordStart D0.W
- <= wordEnd D1.W
-
- typedef pascal void (*TERecalcProcPtr)(TEPtr pTE, unsigned short changeLength,
- unsigned short *lineStart, unsigned short *firstChar, unsigned short *lastChar);
-
- In:
- => pTE A3.L
- => changeLength D7.W
- Out:
- <= lineStart D2.W
- <= firstChar D3.W
- <= lastChar D4.W
-
- typedef pascal void (*TEDoTextProcPtr)(TEPtr pTE, unsigned short firstChar, unsigned short lastChar,
- short selector, GrafPtr *currentGrafPort, short *charPosition);
-
- In:
- => pTE A3.L
- => firstChar D3.W
- => lastChar D4.W
- => selector D7.W
- Out:
- <= currentGrafPort A0.L
- <= charPosition D0.W
-
- */
- typedef REGISTER_UPP_TYPE(HighHookProcPtr) HighHookUPP;
- typedef REGISTER_UPP_TYPE(EOLHookProcPtr) EOLHookUPP;
- typedef REGISTER_UPP_TYPE(CaretHookProcPtr) CaretHookUPP;
- typedef REGISTER_UPP_TYPE(WidthHookProcPtr) WidthHookUPP;
- typedef REGISTER_UPP_TYPE(TextWidthHookProcPtr) TextWidthHookUPP;
- typedef REGISTER_UPP_TYPE(NWidthHookProcPtr) NWidthHookUPP;
- typedef REGISTER_UPP_TYPE(DrawHookProcPtr) DrawHookUPP;
- typedef REGISTER_UPP_TYPE(HitTestHookProcPtr) HitTestHookUPP;
- typedef REGISTER_UPP_TYPE(TEFindWordProcPtr) TEFindWordUPP;
- typedef REGISTER_UPP_TYPE(TERecalcProcPtr) TERecalcUPP;
- typedef REGISTER_UPP_TYPE(TEDoTextProcPtr) TEDoTextUPP;
- typedef REGISTER_UPP_TYPE(TEClickLoopProcPtr) TEClickLoopUPP;
- typedef REGISTER_UPP_TYPE(WordBreakProcPtr) WordBreakUPP;
- struct TERec
- {
- Rect destRect;
- Rect viewRect;
- Rect selRect;
- short lineHeight;
- short fontAscent;
- Point selPoint;
- short selStart;
- short selEnd;
- short active;
- WordBreakUPP wordBreak; /* NOTE: This field is ignored on non-Roman systems and on Carbon (see IM-Text 2-60) */
- TEClickLoopUPP clickLoop;
- long clickTime;
- short clickLoc;
- long caretTime;
- short caretState;
- short just;
- short teLength;
- Handle hText;
- long hDispatchRec; /* added to replace recalBack & recalLines. it's a handle anyway */
- short clikStuff;
- short crOnly;
- short txFont;
- StyleField txFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
- short txMode;
- short txSize;
- GrafPtr inPort;
- HighHookUPP highHook;
- CaretHookUPP caretHook;
- short nLines;
- short lineStarts[16001];
- };
-
- enum
- {
- /* Justification (word alignment) styles */
- teJustLeft = 0,
- teJustCenter = 1,
- teJustRight = -1,
- teForceLeft = -2, /* new names for the Justification (word alignment) styles */
- teFlushDefault = 0, /*flush according to the line direction */
- teCenter = 1, /*center justify (word alignment) */
- teFlushRight = -1, /*flush right for all scripts */
- teFlushLeft = -2 /*flush left for all scripts */
- };
-
- enum
- {
- /* Set/Replace style modes */
- fontBit = 0, /*set font*/
- faceBit = 1, /*set face*/
- sizeBit = 2, /*set size*/
- clrBit = 3, /*set color*/
- addSizeBit = 4, /*add size mode*/
- toggleBit = 5 /*set faces in toggle mode*/
- };
-
- enum
- {
- /* TESetStyle/TEContinuousStyle modes */
- doFont = 1, /* set font (family) number*/
- doFace = 2, /*set character style*/
- doSize = 4, /*set type size*/
- doColor = 8, /*set color*/
- doAll = 15, /*set all attributes*/
- addSize = 16, /*adjust type size*/
- doToggle = 32 /*toggle mode for TESetStyle*/
- };
-
- enum
- {
- /* offsets into TEDispatchRec */
- EOLHook = 0, /*[UniversalProcPtr] TEEOLHook*/
- DRAWHook = 4, /*[UniversalProcPtr] TEWidthHook*/
- WIDTHHook = 8, /*[UniversalProcPtr] TEDrawHook*/
- HITTESTHook = 12, /*[UniversalProcPtr] TEHitTestHook*/
- nWIDTHHook = 24, /*[UniversalProcPtr] nTEWidthHook*/
- TextWidthHook = 28 /*[UniversalProcPtr] TETextWidthHook*/
- };
-
- enum
- {
- /* selectors for TECustomHook */
- intEOLHook = 0, /*TEIntHook value*/
- intDrawHook = 1, /*TEIntHook value*/
- intWidthHook = 2, /*TEIntHook value*/
- intHitTestHook = 3, /*TEIntHook value*/
- intNWidthHook = 6, /*TEIntHook value for new version of WidthHook*/
- intTextWidthHook = 7, /*TEIntHook value for new TextWidthHook*/
- intInlineInputTSMTEPreUpdateHook = 8, /*TEIntHook value for TSMTEPreUpdateProcPtr callback*/
- intInlineInputTSMTEPostUpdateHook = 9 /*TEIntHook value for TSMTEPostUpdateProcPtr callback*/
- };
-
- enum
- {
- /* feature or bit definitions for TEFeatureFlag */
- teFAutoScroll = 0, /*00000001b*/
- teFTextBuffering = 1, /*00000010b*/
- teFOutlineHilite = 2, /*00000100b*/
- teFInlineInput = 3, /*00001000b */
- teFUseWhiteBackground = 4, /*00010000b */
- teFUseInlineInput = 5, /*00100000b */
- teFInlineInputAutoScroll = 6 /*01000000b */
- };
-
- enum
- {
- /* feature or bit definitions for TEFeatureFlag -- Carbon only */
- /* To avoid having to call TEIdle in Carbon apps, automatic idling can be activated */
- /* via the following feature flag, but you must ensure that the destRect and/or */
- /* GrafPort's origin be setup properly for drawing in a given TERec when */
- /* the timer fires. When this feature flag is set, TEIdle is a noop. */
- /* Activate this feature flag before calling TEActivate. */
- teFIdleWithEventLoopTimer = 7 /*10000000b */
- };
-
- enum
- {
- /* action for the new "bit (un)set" interface, TEFeatureFlag */
- teBitClear = 0,
- teBitSet = 1, /*set the selector bit*/
- teBitTest = -1 /*no change; just return the current setting*/
- };
-
- enum
- {
- /*constants for identifying the routine that called FindWord */
- teWordSelect = 4, /*clickExpand to select word*/
- teWordDrag = 8, /*clickExpand to drag new word*/
- teFromFind = 12, /*FindLine called it ($0C)*/
- teFromRecal = 16 /*RecalLines called it ($10) obsolete */
- };
-
- enum
- {
- /*constants for identifying TEDoText selectors */
- teFind = 0, /*TEDoText called for searching*/
- teHighlight = 1, /*TEDoText called for highlighting*/
- teDraw = -1, /*TEDoText called for drawing text*/
- teCaret = -2 /*TEDoText called for drawing the caret*/
- };
-
-
- typedef char Chars[32001];
- typedef char * CharsPtr;
- typedef CharsPtr * CharsHandle;
- struct StyleRun
- {
- short startChar; /*starting character position*/
- short styleIndex; /*index in style table*/
- };
- typedef struct StyleRun StyleRun;
- struct STElement
- {
- short stCount; /*number of runs in this style*/
- short stHeight; /*line height*/
- short stAscent; /*font ascent*/
- short stFont; /*font (family) number*/
- StyleField stFace; /*StyleField occupies 16-bits, but only first 8-bits are used */
- short stSize; /*size in points*/
- RGBColor stColor; /*absolute (RGB) color*/
- };
- typedef struct STElement STElement;
- typedef STElement TEStyleTable[1777];
- typedef STElement * STPtr;
- typedef STPtr * STHandle;
- struct LHElement
- {
- short lhHeight; /*maximum height in line*/
- short lhAscent; /*maximum ascent in line*/
- };
- typedef struct LHElement LHElement;
- typedef LHElement LHTable[8001];
- typedef LHElement * LHPtr;
- typedef LHPtr * LHHandle;
- struct ScrpSTElement
- {
- long scrpStartChar; /*starting character position*/
- short scrpHeight;
- short scrpAscent;
- short scrpFont;
- StyleField scrpFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
- short scrpSize;
- RGBColor scrpColor;
- };
- typedef struct ScrpSTElement ScrpSTElement;
- /* ARRAY [0..1600] OF ScrpSTElement */
- typedef ScrpSTElement ScrpSTTable[1601];
- struct StScrpRec
- {
- short scrpNStyles; /*number of styles in scrap*/
- ScrpSTTable scrpStyleTab; /*table of styles for scrap*/
- };
- typedef struct StScrpRec StScrpRec;
- typedef StScrpRec * StScrpPtr;
- typedef StScrpPtr * StScrpHandle;
- struct NullStRec
- {
- long teReserved; /*reserved for future expansion*/
- StScrpHandle nullScrap; /*handle to scrap style table*/
- };
- typedef struct NullStRec NullStRec;
- typedef NullStRec * NullStPtr;
- typedef NullStPtr * NullStHandle;
- struct TEStyleRec
- {
- short nRuns; /*number of style runs*/
- short nStyles; /*size of style table*/
- STHandle styleTab; /*handle to style table*/
- LHHandle lhTab; /*handle to line-height table*/
- long teRefCon; /*reserved for application use*/
- NullStHandle nullStyle; /*Handle to style set at null selection*/
- StyleRun runs[8001]; /*ARRAY [0..8000] OF StyleRun*/
- };
- typedef struct TEStyleRec TEStyleRec;
- typedef TEStyleRec * TEStylePtr;
- typedef TEStylePtr * TEStyleHandle;
- struct TextStyle
- {
- short tsFont; /*font (family) number*/
- StyleField tsFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
- short tsSize; /*size in point*/
- RGBColor tsColor; /*absolute (RGB) color*/
- };
- typedef struct TextStyle TextStyle;
- typedef TextStyle * TextStylePtr;
- typedef TextStylePtr * TextStyleHandle;
- typedef short TEIntHook;
- /*
- * NewHighHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HighHookUPP)
- NewHighHookUPP(HighHookProcPtr userRoutine);
+/*
+ The following ProcPtrs cannot be written in or called from a high-level
+ language without the help of mixed mode or assembly glue because they
+ use the following parameter-passing conventions:
+
+ typedef pascal void (*HighHookProcPtr)(const Rect *r, TEPtr pTE);
+ typedef pascal void (*CaretHookProcPtr)(const Rect *r, TEPtr pTE);
+
+ In:
+ => r on stack
+ => pTE A3.L
+ Out:
+ none
+
+ typedef pascal Boolean (*EOLHookProcPtr)(char theChar, TEPtr pTE, TEHandle hTE);
+
+ In:
+ => theChar D0.B
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= Boolean Z bit of the CCR
+
+ typedef pascal unsigned short (*WidthHookProcPtr)(unsigned short textLen,
+ unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE);
+ typedef pascal unsigned short (*TextWidthHookProcPtr)(unsigned short textLen,
+ unsigned short textOffset, void *textBufferPtr, TEPtr pTE, TEHandle hTE);
+
+ In:
+ => textLen D0.W
+ => textOffset D1.W
+ => textBufferPtr A0.L
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= unsigned short D1.W
+
+ typedef pascal unsigned short (*NWidthHookProcPtr)(unsigned short styleRunLen,
+ unsigned short styleRunOffset, short slop, short direction, void *textBufferPtr,
+ short *lineStart, TEPtr pTE, TEHandle hTE);
+
+ In:
+ => styleRunLen D0.W
+ => styleRunOffset D1.W
+ => slop D2.W (low)
+ => direction D2.W (high)
+ => textBufferPtr A0.L
+ => lineStart A2.L
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= unsigned short D1.W
+
+ typedef pascal void (*DrawHookProcPtr)(unsigned short textOffset, unsigned short drawLen,
+ void *textBufferPtr, TEPtr pTE, TEHandle hTE);
+
+ In:
+ => textOffset D0.W
+ => drawLen D1.W
+ => textBufferPtr A0.L
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ none
+
+ typedef pascal Boolean (*HitTestHookProcPtr)(unsigned short styleRunLen,
+ unsigned short styleRunOffset, unsigned short slop, void *textBufferPtr,
+ TEPtr pTE, TEHandle hTE, unsigned short *pixelWidth, unsigned short *charOffset,
+ Boolean *pixelInChar);
+
+ In:
+ => styleRunLen D0.W
+ => styleRunOffset D1.W
+ => slop D2.W
+ => textBufferPtr A0.L
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= pixelWidth D0.W (low)
+ <= Boolean D0.W (high)
+ <= charOffset D1.W
+ <= pixelInChar D2.W
+
+ typedef pascal void (*TEFindWordProcPtr)(unsigned short currentPos, short caller,
+ TEPtr pTE, TEHandle hTE, unsigned short *wordStart, unsigned short *wordEnd);
+
+ In:
+ => currentPos D0.W
+ => caller D2.W
+ => pTE A3.L
+ => hTE A4.L
+ Out:
+ <= wordStart D0.W
+ <= wordEnd D1.W
+
+ typedef pascal void (*TERecalcProcPtr)(TEPtr pTE, unsigned short changeLength,
+ unsigned short *lineStart, unsigned short *firstChar, unsigned short *lastChar);
+
+ In:
+ => pTE A3.L
+ => changeLength D7.W
+ Out:
+ <= lineStart D2.W
+ <= firstChar D3.W
+ <= lastChar D4.W
+
+ typedef pascal void (*TEDoTextProcPtr)(TEPtr pTE, unsigned short firstChar, unsigned short lastChar,
+ short selector, GrafPtr *currentGrafPort, short *charPosition);
+
+ In:
+ => pTE A3.L
+ => firstChar D3.W
+ => lastChar D4.W
+ => selector D7.W
+ Out:
+ <= currentGrafPort A0.L
+ <= charPosition D0.W
+
+*/
+typedef REGISTER_UPP_TYPE(HighHookProcPtr) HighHookUPP;
+typedef REGISTER_UPP_TYPE(EOLHookProcPtr) EOLHookUPP;
+typedef REGISTER_UPP_TYPE(CaretHookProcPtr) CaretHookUPP;
+typedef REGISTER_UPP_TYPE(WidthHookProcPtr) WidthHookUPP;
+typedef REGISTER_UPP_TYPE(TextWidthHookProcPtr) TextWidthHookUPP;
+typedef REGISTER_UPP_TYPE(NWidthHookProcPtr) NWidthHookUPP;
+typedef REGISTER_UPP_TYPE(DrawHookProcPtr) DrawHookUPP;
+typedef REGISTER_UPP_TYPE(HitTestHookProcPtr) HitTestHookUPP;
+typedef REGISTER_UPP_TYPE(TEFindWordProcPtr) TEFindWordUPP;
+typedef REGISTER_UPP_TYPE(TERecalcProcPtr) TERecalcUPP;
+typedef REGISTER_UPP_TYPE(TEDoTextProcPtr) TEDoTextUPP;
+typedef REGISTER_UPP_TYPE(TEClickLoopProcPtr) TEClickLoopUPP;
+typedef REGISTER_UPP_TYPE(WordBreakProcPtr) WordBreakUPP;
+struct TERec {
+ Rect destRect;
+ Rect viewRect;
+ Rect selRect;
+ short lineHeight;
+ short fontAscent;
+ Point selPoint;
+ short selStart;
+ short selEnd;
+ short active;
+ WordBreakUPP wordBreak; /* NOTE: This field is ignored on non-Roman systems and on Carbon (see IM-Text 2-60) */
+ TEClickLoopUPP clickLoop;
+ long clickTime;
+ short clickLoc;
+ long caretTime;
+ short caretState;
+ short just;
+ short teLength;
+ Handle hText;
+ long hDispatchRec; /* added to replace recalBack & recalLines. it's a handle anyway */
+ short clikStuff;
+ short crOnly;
+ short txFont;
+ StyleField txFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
+ short txMode;
+ short txSize;
+ GrafPtr inPort;
+ HighHookUPP highHook;
+ CaretHookUPP caretHook;
+ short nLines;
+ short lineStarts[16001];
+};
+
+enum {
+ /* Justification (word alignment) styles */
+ teJustLeft = 0,
+ teJustCenter = 1,
+ teJustRight = -1,
+ teForceLeft = -2, /* new names for the Justification (word alignment) styles */
+ teFlushDefault = 0, /*flush according to the line direction */
+ teCenter = 1, /*center justify (word alignment) */
+ teFlushRight = -1, /*flush right for all scripts */
+ teFlushLeft = -2 /*flush left for all scripts */
+};
+
+enum {
+ /* Set/Replace style modes */
+ fontBit = 0, /*set font*/
+ faceBit = 1, /*set face*/
+ sizeBit = 2, /*set size*/
+ clrBit = 3, /*set color*/
+ addSizeBit = 4, /*add size mode*/
+ toggleBit = 5 /*set faces in toggle mode*/
+};
+
+enum {
+ /* TESetStyle/TEContinuousStyle modes */
+ doFont = 1, /* set font (family) number*/
+ doFace = 2, /*set character style*/
+ doSize = 4, /*set type size*/
+ doColor = 8, /*set color*/
+ doAll = 15, /*set all attributes*/
+ addSize = 16, /*adjust type size*/
+ doToggle = 32 /*toggle mode for TESetStyle*/
+};
+
+enum {
+ /* offsets into TEDispatchRec */
+ EOLHook = 0, /*[UniversalProcPtr] TEEOLHook*/
+ DRAWHook = 4, /*[UniversalProcPtr] TEWidthHook*/
+ WIDTHHook = 8, /*[UniversalProcPtr] TEDrawHook*/
+ HITTESTHook = 12, /*[UniversalProcPtr] TEHitTestHook*/
+ nWIDTHHook = 24, /*[UniversalProcPtr] nTEWidthHook*/
+ TextWidthHook = 28 /*[UniversalProcPtr] TETextWidthHook*/
+};
+
+enum {
+ /* selectors for TECustomHook */
+ intEOLHook = 0, /*TEIntHook value*/
+ intDrawHook = 1, /*TEIntHook value*/
+ intWidthHook = 2, /*TEIntHook value*/
+ intHitTestHook = 3, /*TEIntHook value*/
+ intNWidthHook = 6, /*TEIntHook value for new version of WidthHook*/
+ intTextWidthHook = 7, /*TEIntHook value for new TextWidthHook*/
+ intInlineInputTSMTEPreUpdateHook = 8, /*TEIntHook value for TSMTEPreUpdateProcPtr callback*/
+ intInlineInputTSMTEPostUpdateHook = 9 /*TEIntHook value for TSMTEPostUpdateProcPtr callback*/
+};
+
+enum {
+ /* feature or bit definitions for TEFeatureFlag */
+ teFAutoScroll = 0, /*00000001b*/
+ teFTextBuffering = 1, /*00000010b*/
+ teFOutlineHilite = 2, /*00000100b*/
+ teFInlineInput = 3, /*00001000b */
+ teFUseWhiteBackground = 4, /*00010000b */
+ teFUseInlineInput = 5, /*00100000b */
+ teFInlineInputAutoScroll = 6 /*01000000b */
+};
+
+enum {
+ /* feature or bit definitions for TEFeatureFlag -- Carbon only */
+ /* To avoid having to call TEIdle in Carbon apps, automatic idling can be activated */
+ /* via the following feature flag, but you must ensure that the destRect and/or */
+ /* GrafPort's origin be setup properly for drawing in a given TERec when */
+ /* the timer fires. When this feature flag is set, TEIdle is a noop. */
+ /* Activate this feature flag before calling TEActivate. */
+ teFIdleWithEventLoopTimer = 7 /*10000000b */
+};
+
+enum {
+ /* action for the new "bit (un)set" interface, TEFeatureFlag */
+ teBitClear = 0,
+ teBitSet = 1, /*set the selector bit*/
+ teBitTest = -1 /*no change; just return the current setting*/
+};
+
+enum {
+ /*constants for identifying the routine that called FindWord */
+ teWordSelect = 4, /*clickExpand to select word*/
+ teWordDrag = 8, /*clickExpand to drag new word*/
+ teFromFind = 12, /*FindLine called it ($0C)*/
+ teFromRecal = 16 /*RecalLines called it ($10) obsolete */
+};
+
+enum {
+ /*constants for identifying TEDoText selectors */
+ teFind = 0, /*TEDoText called for searching*/
+ teHighlight = 1, /*TEDoText called for highlighting*/
+ teDraw = -1, /*TEDoText called for drawing text*/
+ teCaret = -2 /*TEDoText called for drawing the caret*/
+};
+
+
+typedef char Chars[32001];
+typedef char * CharsPtr;
+typedef CharsPtr * CharsHandle;
+struct StyleRun {
+ short startChar; /*starting character position*/
+ short styleIndex; /*index in style table*/
+};
+typedef struct StyleRun StyleRun;
+struct STElement {
+ short stCount; /*number of runs in this style*/
+ short stHeight; /*line height*/
+ short stAscent; /*font ascent*/
+ short stFont; /*font (family) number*/
+ StyleField stFace; /*StyleField occupies 16-bits, but only first 8-bits are used */
+ short stSize; /*size in points*/
+ RGBColor stColor; /*absolute (RGB) color*/
+};
+typedef struct STElement STElement;
+typedef STElement TEStyleTable[1777];
+typedef STElement * STPtr;
+typedef STPtr * STHandle;
+struct LHElement {
+ short lhHeight; /*maximum height in line*/
+ short lhAscent; /*maximum ascent in line*/
+};
+typedef struct LHElement LHElement;
+typedef LHElement LHTable[8001];
+typedef LHElement * LHPtr;
+typedef LHPtr * LHHandle;
+struct ScrpSTElement {
+ long scrpStartChar; /*starting character position*/
+ short scrpHeight;
+ short scrpAscent;
+ short scrpFont;
+ StyleField scrpFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
+ short scrpSize;
+ RGBColor scrpColor;
+};
+typedef struct ScrpSTElement ScrpSTElement;
+/* ARRAY [0..1600] OF ScrpSTElement */
+typedef ScrpSTElement ScrpSTTable[1601];
+struct StScrpRec {
+ short scrpNStyles; /*number of styles in scrap*/
+ ScrpSTTable scrpStyleTab; /*table of styles for scrap*/
+};
+typedef struct StScrpRec StScrpRec;
+typedef StScrpRec * StScrpPtr;
+typedef StScrpPtr * StScrpHandle;
+struct NullStRec {
+ long teReserved; /*reserved for future expansion*/
+ StScrpHandle nullScrap; /*handle to scrap style table*/
+};
+typedef struct NullStRec NullStRec;
+typedef NullStRec * NullStPtr;
+typedef NullStPtr * NullStHandle;
+struct TEStyleRec {
+ short nRuns; /*number of style runs*/
+ short nStyles; /*size of style table*/
+ STHandle styleTab; /*handle to style table*/
+ LHHandle lhTab; /*handle to line-height table*/
+ long teRefCon; /*reserved for application use*/
+ NullStHandle nullStyle; /*Handle to style set at null selection*/
+ StyleRun runs[8001]; /*ARRAY [0..8000] OF StyleRun*/
+};
+typedef struct TEStyleRec TEStyleRec;
+typedef TEStyleRec * TEStylePtr;
+typedef TEStylePtr * TEStyleHandle;
+struct TextStyle {
+ short tsFont; /*font (family) number*/
+ StyleField tsFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
+ short tsSize; /*size in point*/
+ RGBColor tsColor; /*absolute (RGB) color*/
+};
+typedef struct TextStyle TextStyle;
+typedef TextStyle * TextStylePtr;
+typedef TextStylePtr * TextStyleHandle;
+typedef short TEIntHook;
+/*
+ * NewHighHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HighHookUPP )
+NewHighHookUPP(HighHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHighHookProcInfo = 0x0000000F }; /* SPECIAL_CASE_PROCINFO(0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HighHookUPP) NewHighHookUPP(HighHookProcPtr userRoutine)
- {
- return (HighHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHighHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHighHookUPP(userRoutine) (HighHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHighHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHighHookProcInfo = 0x0000000F }; /* SPECIAL_CASE_PROCINFO(0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HighHookUPP) NewHighHookUPP(HighHookProcPtr userRoutine) { return (HighHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHighHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHighHookUPP(userRoutine) (HighHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHighHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewEOLHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(EOLHookUPP)
- NewEOLHookUPP(EOLHookProcPtr userRoutine);
+/*
+ * NewEOLHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( EOLHookUPP )
+NewEOLHookUPP(EOLHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppEOLHookProcInfo = 0x0000001F }; /* SPECIAL_CASE_PROCINFO(1) */
-#ifdef __cplusplus
- inline DEFINE_API_C(EOLHookUPP) NewEOLHookUPP(EOLHookProcPtr userRoutine)
- {
- return (EOLHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEOLHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewEOLHookUPP(userRoutine) (EOLHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEOLHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppEOLHookProcInfo = 0x0000001F }; /* SPECIAL_CASE_PROCINFO(1) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(EOLHookUPP) NewEOLHookUPP(EOLHookProcPtr userRoutine) { return (EOLHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEOLHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewEOLHookUPP(userRoutine) (EOLHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppEOLHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewCaretHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(CaretHookUPP)
- NewCaretHookUPP(CaretHookProcPtr userRoutine);
+/*
+ * NewCaretHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CaretHookUPP )
+NewCaretHookUPP(CaretHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppCaretHookProcInfo = 0x0000000F }; /* SPECIAL_CASE_PROCINFO(0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(CaretHookUPP) NewCaretHookUPP(CaretHookProcPtr userRoutine)
- {
- return (CaretHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCaretHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewCaretHookUPP(userRoutine) (CaretHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCaretHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppCaretHookProcInfo = 0x0000000F }; /* SPECIAL_CASE_PROCINFO(0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(CaretHookUPP) NewCaretHookUPP(CaretHookProcPtr userRoutine) { return (CaretHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCaretHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewCaretHookUPP(userRoutine) (CaretHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCaretHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(WidthHookUPP)
- NewWidthHookUPP(WidthHookProcPtr userRoutine);
+/*
+ * NewWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( WidthHookUPP )
+NewWidthHookUPP(WidthHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppWidthHookProcInfo = 0x0000002F }; /* SPECIAL_CASE_PROCINFO(2) */
-#ifdef __cplusplus
- inline DEFINE_API_C(WidthHookUPP) NewWidthHookUPP(WidthHookProcPtr userRoutine)
- {
- return (WidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWidthHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewWidthHookUPP(userRoutine) (WidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWidthHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppWidthHookProcInfo = 0x0000002F }; /* SPECIAL_CASE_PROCINFO(2) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(WidthHookUPP) NewWidthHookUPP(WidthHookProcPtr userRoutine) { return (WidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWidthHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewWidthHookUPP(userRoutine) (WidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWidthHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTextWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TextWidthHookUPP)
- NewTextWidthHookUPP(TextWidthHookProcPtr userRoutine);
+/*
+ * NewTextWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TextWidthHookUPP )
+NewTextWidthHookUPP(TextWidthHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTextWidthHookProcInfo = 0x0000002F }; /* SPECIAL_CASE_PROCINFO(2) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TextWidthHookUPP) NewTextWidthHookUPP(TextWidthHookProcPtr userRoutine)
- {
- return (TextWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextWidthHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTextWidthHookUPP(userRoutine) (TextWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextWidthHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTextWidthHookProcInfo = 0x0000002F }; /* SPECIAL_CASE_PROCINFO(2) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TextWidthHookUPP) NewTextWidthHookUPP(TextWidthHookProcPtr userRoutine) { return (TextWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextWidthHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTextWidthHookUPP(userRoutine) (TextWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextWidthHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewNWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(NWidthHookUPP)
- NewNWidthHookUPP(NWidthHookProcPtr userRoutine);
+/*
+ * NewNWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( NWidthHookUPP )
+NewNWidthHookUPP(NWidthHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppNWidthHookProcInfo = 0x0000003F }; /* SPECIAL_CASE_PROCINFO(3) */
-#ifdef __cplusplus
- inline DEFINE_API_C(NWidthHookUPP) NewNWidthHookUPP(NWidthHookProcPtr userRoutine)
- {
- return (NWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNWidthHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewNWidthHookUPP(userRoutine) (NWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNWidthHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppNWidthHookProcInfo = 0x0000003F }; /* SPECIAL_CASE_PROCINFO(3) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(NWidthHookUPP) NewNWidthHookUPP(NWidthHookProcPtr userRoutine) { return (NWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNWidthHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewNWidthHookUPP(userRoutine) (NWidthHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppNWidthHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewDrawHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DrawHookUPP)
- NewDrawHookUPP(DrawHookProcPtr userRoutine);
+/*
+ * NewDrawHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DrawHookUPP )
+NewDrawHookUPP(DrawHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDrawHookProcInfo = 0x0000004F }; /* SPECIAL_CASE_PROCINFO(4) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DrawHookUPP) NewDrawHookUPP(DrawHookProcPtr userRoutine)
- {
- return (DrawHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDrawHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewDrawHookUPP(userRoutine) (DrawHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDrawHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppDrawHookProcInfo = 0x0000004F }; /* SPECIAL_CASE_PROCINFO(4) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DrawHookUPP) NewDrawHookUPP(DrawHookProcPtr userRoutine) { return (DrawHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDrawHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDrawHookUPP(userRoutine) (DrawHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDrawHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewHitTestHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(HitTestHookUPP)
- NewHitTestHookUPP(HitTestHookProcPtr userRoutine);
+/*
+ * NewHitTestHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( HitTestHookUPP )
+NewHitTestHookUPP(HitTestHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppHitTestHookProcInfo = 0x0000005F }; /* SPECIAL_CASE_PROCINFO(5) */
-#ifdef __cplusplus
- inline DEFINE_API_C(HitTestHookUPP) NewHitTestHookUPP(HitTestHookProcPtr userRoutine)
- {
- return (HitTestHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHitTestHookProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewHitTestHookUPP(userRoutine) (HitTestHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHitTestHookProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppHitTestHookProcInfo = 0x0000005F }; /* SPECIAL_CASE_PROCINFO(5) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(HitTestHookUPP) NewHitTestHookUPP(HitTestHookProcPtr userRoutine) { return (HitTestHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHitTestHookProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewHitTestHookUPP(userRoutine) (HitTestHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppHitTestHookProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTEFindWordUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TEFindWordUPP)
- NewTEFindWordUPP(TEFindWordProcPtr userRoutine);
+/*
+ * NewTEFindWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TEFindWordUPP )
+NewTEFindWordUPP(TEFindWordProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTEFindWordProcInfo = 0x0000006F }; /* SPECIAL_CASE_PROCINFO(6) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TEFindWordUPP) NewTEFindWordUPP(TEFindWordProcPtr userRoutine)
- {
- return (TEFindWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEFindWordProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTEFindWordUPP(userRoutine) (TEFindWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEFindWordProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTEFindWordProcInfo = 0x0000006F }; /* SPECIAL_CASE_PROCINFO(6) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TEFindWordUPP) NewTEFindWordUPP(TEFindWordProcPtr userRoutine) { return (TEFindWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEFindWordProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTEFindWordUPP(userRoutine) (TEFindWordUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEFindWordProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTERecalcUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TERecalcUPP)
- NewTERecalcUPP(TERecalcProcPtr userRoutine);
+/*
+ * NewTERecalcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TERecalcUPP )
+NewTERecalcUPP(TERecalcProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTERecalcProcInfo = 0x0000009F }; /* SPECIAL_CASE_PROCINFO(9) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TERecalcUPP) NewTERecalcUPP(TERecalcProcPtr userRoutine)
- {
- return (TERecalcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTERecalcProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTERecalcUPP(userRoutine) (TERecalcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTERecalcProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTERecalcProcInfo = 0x0000009F }; /* SPECIAL_CASE_PROCINFO(9) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TERecalcUPP) NewTERecalcUPP(TERecalcProcPtr userRoutine) { return (TERecalcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTERecalcProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTERecalcUPP(userRoutine) (TERecalcUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTERecalcProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTEDoTextUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TEDoTextUPP)
- NewTEDoTextUPP(TEDoTextProcPtr userRoutine);
+/*
+ * NewTEDoTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TEDoTextUPP )
+NewTEDoTextUPP(TEDoTextProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTEDoTextProcInfo = 0x000000AF }; /* SPECIAL_CASE_PROCINFO(10) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TEDoTextUPP) NewTEDoTextUPP(TEDoTextProcPtr userRoutine)
- {
- return (TEDoTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEDoTextProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTEDoTextUPP(userRoutine) (TEDoTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEDoTextProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTEDoTextProcInfo = 0x000000AF }; /* SPECIAL_CASE_PROCINFO(10) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TEDoTextUPP) NewTEDoTextUPP(TEDoTextProcPtr userRoutine) { return (TEDoTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEDoTextProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTEDoTextUPP(userRoutine) (TEDoTextUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEDoTextProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * NewTEClickLoopUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TEClickLoopUPP)
- NewTEClickLoopUPP(TEClickLoopProcPtr userRoutine);
+/*
+ * NewTEClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TEClickLoopUPP )
+NewTEClickLoopUPP(TEClickLoopProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTEClickLoopProcInfo = 0x0000F812 }; /* register 1_byte:D0 Func(4_bytes:A3) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TEClickLoopUPP) NewTEClickLoopUPP(TEClickLoopProcPtr userRoutine)
- {
- return (TEClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEClickLoopProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTEClickLoopUPP(userRoutine) (TEClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEClickLoopProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTEClickLoopProcInfo = 0x0000F812 }; /* register 1_byte:D0 Func(4_bytes:A3) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TEClickLoopUPP) NewTEClickLoopUPP(TEClickLoopProcPtr userRoutine) { return (TEClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEClickLoopProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTEClickLoopUPP(userRoutine) (TEClickLoopUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTEClickLoopProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * NewWordBreakUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(WordBreakUPP)
- NewWordBreakUPP(WordBreakProcPtr userRoutine);
+/*
+ * NewWordBreakUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( WordBreakUPP )
+NewWordBreakUPP(WordBreakProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppWordBreakProcInfo = 0x00029812 }; /* register 1_byte:D0 Func(4_bytes:A0, 2_bytes:D0) */
-#ifdef __cplusplus
- inline DEFINE_API_C(WordBreakUPP) NewWordBreakUPP(WordBreakProcPtr userRoutine)
- {
- return (WordBreakUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWordBreakProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewWordBreakUPP(userRoutine) (WordBreakUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWordBreakProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppWordBreakProcInfo = 0x00029812 }; /* register 1_byte:D0 Func(4_bytes:A0, 2_bytes:D0) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(WordBreakUPP) NewWordBreakUPP(WordBreakProcPtr userRoutine) { return (WordBreakUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWordBreakProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewWordBreakUPP(userRoutine) (WordBreakUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppWordBreakProcInfo, GetCurrentArchitecture())
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * DisposeHighHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHighHookUPP(HighHookUPP userUPP);
+/*
+ * DisposeHighHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHighHookUPP(HighHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHighHookUPP(HighHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHighHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHighHookUPP(HighHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHighHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeEOLHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeEOLHookUPP(EOLHookUPP userUPP);
+/*
+ * DisposeEOLHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeEOLHookUPP(EOLHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeEOLHookUPP(EOLHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeEOLHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeEOLHookUPP(EOLHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeEOLHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeCaretHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeCaretHookUPP(CaretHookUPP userUPP);
+/*
+ * DisposeCaretHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeCaretHookUPP(CaretHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeCaretHookUPP(CaretHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeCaretHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeCaretHookUPP(CaretHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeCaretHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeWidthHookUPP(WidthHookUPP userUPP);
+/*
+ * DisposeWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeWidthHookUPP(WidthHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeWidthHookUPP(WidthHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeWidthHookUPP(WidthHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTextWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTextWidthHookUPP(TextWidthHookUPP userUPP);
+/*
+ * DisposeTextWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTextWidthHookUPP(TextWidthHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTextWidthHookUPP(TextWidthHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTextWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTextWidthHookUPP(TextWidthHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTextWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeNWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeNWidthHookUPP(NWidthHookUPP userUPP);
+/*
+ * DisposeNWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeNWidthHookUPP(NWidthHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeNWidthHookUPP(NWidthHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeNWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeNWidthHookUPP(NWidthHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeNWidthHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeDrawHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDrawHookUPP(DrawHookUPP userUPP);
+/*
+ * DisposeDrawHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDrawHookUPP(DrawHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDrawHookUPP(DrawHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeDrawHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDrawHookUPP(DrawHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDrawHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeHitTestHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeHitTestHookUPP(HitTestHookUPP userUPP);
+/*
+ * DisposeHitTestHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeHitTestHookUPP(HitTestHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeHitTestHookUPP(HitTestHookUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeHitTestHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeHitTestHookUPP(HitTestHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeHitTestHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTEFindWordUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTEFindWordUPP(TEFindWordUPP userUPP);
+/*
+ * DisposeTEFindWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTEFindWordUPP(TEFindWordUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTEFindWordUPP(TEFindWordUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTEFindWordUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTEFindWordUPP(TEFindWordUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTEFindWordUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTERecalcUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTERecalcUPP(TERecalcUPP userUPP);
+/*
+ * DisposeTERecalcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTERecalcUPP(TERecalcUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTERecalcUPP(TERecalcUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTERecalcUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTERecalcUPP(TERecalcUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTERecalcUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTEDoTextUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTEDoTextUPP(TEDoTextUPP userUPP);
+/*
+ * DisposeTEDoTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTEDoTextUPP(TEDoTextUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTEDoTextUPP(TEDoTextUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTEDoTextUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTEDoTextUPP(TEDoTextUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTEDoTextUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * DisposeTEClickLoopUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTEClickLoopUPP(TEClickLoopUPP userUPP);
+/*
+ * DisposeTEClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTEClickLoopUPP(TEClickLoopUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTEClickLoopUPP(TEClickLoopUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTEClickLoopUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTEClickLoopUPP(TEClickLoopUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTEClickLoopUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * DisposeWordBreakUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- DisposeWordBreakUPP(WordBreakUPP userUPP);
+/*
+ * DisposeWordBreakUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposeWordBreakUPP(WordBreakUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeWordBreakUPP(WordBreakUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeWordBreakUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeWordBreakUPP(WordBreakUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeWordBreakUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
- /*
- * InvokeHighHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeHighHookUPP(
- const Rect * r,
- TEPtr pTE,
- HighHookUPP userUPP);
+/*
+ * InvokeHighHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeHighHookUPP(
+ const Rect * r,
+ TEPtr pTE,
+ HighHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeHighHookUPP(const Rect * r, TEPtr pTE, HighHookUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppHighHookProcInfo, r, pTE);
- }
-#else
-#define InvokeHighHookUPP(r, pTE, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppHighHookProcInfo, (r), (pTE))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeHighHookUPP(const Rect * r, TEPtr pTE, HighHookUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppHighHookProcInfo, r, pTE); }
+ #else
+ #define InvokeHighHookUPP(r, pTE, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppHighHookProcInfo, (r), (pTE))
+ #endif
#endif
- /*
- * InvokeEOLHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeEOLHookUPP(
- char theChar,
- TEPtr pTE,
- TEHandle hTE,
- EOLHookUPP userUPP);
+/*
+ * InvokeEOLHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeEOLHookUPP(
+ char theChar,
+ TEPtr pTE,
+ TEHandle hTE,
+ EOLHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeEOLHookUPP(char theChar, TEPtr pTE, TEHandle hTE, EOLHookUPP userUPP)
- {
- return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppEOLHookProcInfo, theChar, pTE, hTE);
- }
-#else
-#define InvokeEOLHookUPP(theChar, pTE, hTE, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppEOLHookProcInfo, (theChar), (pTE), (hTE))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeEOLHookUPP(char theChar, TEPtr pTE, TEHandle hTE, EOLHookUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppEOLHookProcInfo, theChar, pTE, hTE); }
+ #else
+ #define InvokeEOLHookUPP(theChar, pTE, hTE, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppEOLHookProcInfo, (theChar), (pTE), (hTE))
+ #endif
#endif
- /*
- * InvokeCaretHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeCaretHookUPP(
- const Rect * r,
- TEPtr pTE,
- CaretHookUPP userUPP);
+/*
+ * InvokeCaretHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeCaretHookUPP(
+ const Rect * r,
+ TEPtr pTE,
+ CaretHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeCaretHookUPP(const Rect * r, TEPtr pTE, CaretHookUPP userUPP)
- {
- CALL_TWO_PARAMETER_UPP(userUPP, uppCaretHookProcInfo, r, pTE);
- }
-#else
-#define InvokeCaretHookUPP(r, pTE, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppCaretHookProcInfo, (r), (pTE))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeCaretHookUPP(const Rect * r, TEPtr pTE, CaretHookUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppCaretHookProcInfo, r, pTE); }
+ #else
+ #define InvokeCaretHookUPP(r, pTE, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppCaretHookProcInfo, (r), (pTE))
+ #endif
#endif
- /*
- * InvokeWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(unsigned short)
- InvokeWidthHookUPP(
- unsigned short textLen,
- unsigned short textOffset,
- void * textBufferPtr,
- TEPtr pTE,
- TEHandle hTE,
- WidthHookUPP userUPP);
+/*
+ * InvokeWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( unsigned short )
+InvokeWidthHookUPP(
+ unsigned short textLen,
+ unsigned short textOffset,
+ void * textBufferPtr,
+ TEPtr pTE,
+ TEHandle hTE,
+ WidthHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(unsigned short) InvokeWidthHookUPP(unsigned short textLen, unsigned short textOffset, void * textBufferPtr, TEPtr pTE, TEHandle hTE, WidthHookUPP userUPP)
- {
- return (unsigned short)CALL_FIVE_PARAMETER_UPP(userUPP, uppWidthHookProcInfo, textLen, textOffset, textBufferPtr, pTE, hTE);
- }
-#else
-#define InvokeWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userUPP) (unsigned short)CALL_FIVE_PARAMETER_UPP((userUPP), uppWidthHookProcInfo, (textLen), (textOffset), (textBufferPtr), (pTE), (hTE))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(unsigned short) InvokeWidthHookUPP(unsigned short textLen, unsigned short textOffset, void * textBufferPtr, TEPtr pTE, TEHandle hTE, WidthHookUPP userUPP) { return (unsigned short)CALL_FIVE_PARAMETER_UPP(userUPP, uppWidthHookProcInfo, textLen, textOffset, textBufferPtr, pTE, hTE); }
+ #else
+ #define InvokeWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userUPP) (unsigned short)CALL_FIVE_PARAMETER_UPP((userUPP), uppWidthHookProcInfo, (textLen), (textOffset), (textBufferPtr), (pTE), (hTE))
+ #endif
#endif
- /*
- * InvokeTextWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(unsigned short)
- InvokeTextWidthHookUPP(
- unsigned short textLen,
- unsigned short textOffset,
- void * textBufferPtr,
- TEPtr pTE,
- TEHandle hTE,
- TextWidthHookUPP userUPP);
+/*
+ * InvokeTextWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( unsigned short )
+InvokeTextWidthHookUPP(
+ unsigned short textLen,
+ unsigned short textOffset,
+ void * textBufferPtr,
+ TEPtr pTE,
+ TEHandle hTE,
+ TextWidthHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(unsigned short) InvokeTextWidthHookUPP(unsigned short textLen, unsigned short textOffset, void * textBufferPtr, TEPtr pTE, TEHandle hTE, TextWidthHookUPP userUPP)
- {
- return (unsigned short)CALL_FIVE_PARAMETER_UPP(userUPP, uppTextWidthHookProcInfo, textLen, textOffset, textBufferPtr, pTE, hTE);
- }
-#else
-#define InvokeTextWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userUPP) (unsigned short)CALL_FIVE_PARAMETER_UPP((userUPP), uppTextWidthHookProcInfo, (textLen), (textOffset), (textBufferPtr), (pTE), (hTE))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(unsigned short) InvokeTextWidthHookUPP(unsigned short textLen, unsigned short textOffset, void * textBufferPtr, TEPtr pTE, TEHandle hTE, TextWidthHookUPP userUPP) { return (unsigned short)CALL_FIVE_PARAMETER_UPP(userUPP, uppTextWidthHookProcInfo, textLen, textOffset, textBufferPtr, pTE, hTE); }
+ #else
+ #define InvokeTextWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userUPP) (unsigned short)CALL_FIVE_PARAMETER_UPP((userUPP), uppTextWidthHookProcInfo, (textLen), (textOffset), (textBufferPtr), (pTE), (hTE))
+ #endif
#endif
- /*
- * InvokeNWidthHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(unsigned short)
- InvokeNWidthHookUPP(
- unsigned short styleRunLen,
- unsigned short styleRunOffset,
- short slop,
- short direction,
- void * textBufferPtr,
- short * lineStart,
- TEPtr pTE,
- TEHandle hTE,
- NWidthHookUPP userUPP);
+/*
+ * InvokeNWidthHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( unsigned short )
+InvokeNWidthHookUPP(
+ unsigned short styleRunLen,
+ unsigned short styleRunOffset,
+ short slop,
+ short direction,
+ void * textBufferPtr,
+ short * lineStart,
+ TEPtr pTE,
+ TEHandle hTE,
+ NWidthHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(unsigned short) InvokeNWidthHookUPP(unsigned short styleRunLen, unsigned short styleRunOffset, short slop, short direction, void * textBufferPtr, short * lineStart, TEPtr pTE, TEHandle hTE, NWidthHookUPP userUPP)
- {
- return (unsigned short)CALL_EIGHT_PARAMETER_UPP(userUPP, uppNWidthHookProcInfo, styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE);
- }
-#else
-#define InvokeNWidthHookUPP(styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE, userUPP) (unsigned short)CALL_EIGHT_PARAMETER_UPP((userUPP), uppNWidthHookProcInfo, (styleRunLen), (styleRunOffset), (slop), (direction), (textBufferPtr), (lineStart), (pTE), (hTE))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(unsigned short) InvokeNWidthHookUPP(unsigned short styleRunLen, unsigned short styleRunOffset, short slop, short direction, void * textBufferPtr, short * lineStart, TEPtr pTE, TEHandle hTE, NWidthHookUPP userUPP) { return (unsigned short)CALL_EIGHT_PARAMETER_UPP(userUPP, uppNWidthHookProcInfo, styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE); }
+ #else
+ #define InvokeNWidthHookUPP(styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE, userUPP) (unsigned short)CALL_EIGHT_PARAMETER_UPP((userUPP), uppNWidthHookProcInfo, (styleRunLen), (styleRunOffset), (slop), (direction), (textBufferPtr), (lineStart), (pTE), (hTE))
+ #endif
#endif
- /*
- * InvokeDrawHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDrawHookUPP(
- unsigned short textOffset,
- unsigned short drawLen,
- void * textBufferPtr,
- TEPtr pTE,
- TEHandle hTE,
- DrawHookUPP userUPP);
+/*
+ * InvokeDrawHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDrawHookUPP(
+ unsigned short textOffset,
+ unsigned short drawLen,
+ void * textBufferPtr,
+ TEPtr pTE,
+ TEHandle hTE,
+ DrawHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDrawHookUPP(unsigned short textOffset, unsigned short drawLen, void * textBufferPtr, TEPtr pTE, TEHandle hTE, DrawHookUPP userUPP)
- {
- CALL_FIVE_PARAMETER_UPP(userUPP, uppDrawHookProcInfo, textOffset, drawLen, textBufferPtr, pTE, hTE);
- }
-#else
-#define InvokeDrawHookUPP(textOffset, drawLen, textBufferPtr, pTE, hTE, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppDrawHookProcInfo, (textOffset), (drawLen), (textBufferPtr), (pTE), (hTE))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDrawHookUPP(unsigned short textOffset, unsigned short drawLen, void * textBufferPtr, TEPtr pTE, TEHandle hTE, DrawHookUPP userUPP) { CALL_FIVE_PARAMETER_UPP(userUPP, uppDrawHookProcInfo, textOffset, drawLen, textBufferPtr, pTE, hTE); }
+ #else
+ #define InvokeDrawHookUPP(textOffset, drawLen, textBufferPtr, pTE, hTE, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppDrawHookProcInfo, (textOffset), (drawLen), (textBufferPtr), (pTE), (hTE))
+ #endif
#endif
- /*
- * InvokeHitTestHookUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeHitTestHookUPP(
- unsigned short styleRunLen,
- unsigned short styleRunOffset,
- unsigned short slop,
- void * textBufferPtr,
- TEPtr pTE,
- TEHandle hTE,
- unsigned short * pixelWidth,
- unsigned short * charOffset,
- Boolean * pixelInChar,
- HitTestHookUPP userUPP);
+/*
+ * InvokeHitTestHookUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeHitTestHookUPP(
+ unsigned short styleRunLen,
+ unsigned short styleRunOffset,
+ unsigned short slop,
+ void * textBufferPtr,
+ TEPtr pTE,
+ TEHandle hTE,
+ unsigned short * pixelWidth,
+ unsigned short * charOffset,
+ Boolean * pixelInChar,
+ HitTestHookUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeHitTestHookUPP(unsigned short styleRunLen, unsigned short styleRunOffset, unsigned short slop, void * textBufferPtr, TEPtr pTE, TEHandle hTE, unsigned short * pixelWidth, unsigned short * charOffset, Boolean * pixelInChar, HitTestHookUPP userUPP)
- {
- return (Boolean)CALL_NINE_PARAMETER_UPP(userUPP, uppHitTestHookProcInfo, styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar);
- }
-#else
-#define InvokeHitTestHookUPP(styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar, userUPP) (Boolean)CALL_NINE_PARAMETER_UPP((userUPP), uppHitTestHookProcInfo, (styleRunLen), (styleRunOffset), (slop), (textBufferPtr), (pTE), (hTE), (pixelWidth), (charOffset), (pixelInChar))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeHitTestHookUPP(unsigned short styleRunLen, unsigned short styleRunOffset, unsigned short slop, void * textBufferPtr, TEPtr pTE, TEHandle hTE, unsigned short * pixelWidth, unsigned short * charOffset, Boolean * pixelInChar, HitTestHookUPP userUPP) { return (Boolean)CALL_NINE_PARAMETER_UPP(userUPP, uppHitTestHookProcInfo, styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar); }
+ #else
+ #define InvokeHitTestHookUPP(styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar, userUPP) (Boolean)CALL_NINE_PARAMETER_UPP((userUPP), uppHitTestHookProcInfo, (styleRunLen), (styleRunOffset), (slop), (textBufferPtr), (pTE), (hTE), (pixelWidth), (charOffset), (pixelInChar))
+ #endif
#endif
- /*
- * InvokeTEFindWordUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeTEFindWordUPP(
- unsigned short currentPos,
- short caller,
- TEPtr pTE,
- TEHandle hTE,
- unsigned short * wordStart,
- unsigned short * wordEnd,
- TEFindWordUPP userUPP);
+/*
+ * InvokeTEFindWordUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTEFindWordUPP(
+ unsigned short currentPos,
+ short caller,
+ TEPtr pTE,
+ TEHandle hTE,
+ unsigned short * wordStart,
+ unsigned short * wordEnd,
+ TEFindWordUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTEFindWordUPP(unsigned short currentPos, short caller, TEPtr pTE, TEHandle hTE, unsigned short * wordStart, unsigned short * wordEnd, TEFindWordUPP userUPP)
- {
- CALL_SIX_PARAMETER_UPP(userUPP, uppTEFindWordProcInfo, currentPos, caller, pTE, hTE, wordStart, wordEnd);
- }
-#else
-#define InvokeTEFindWordUPP(currentPos, caller, pTE, hTE, wordStart, wordEnd, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppTEFindWordProcInfo, (currentPos), (caller), (pTE), (hTE), (wordStart), (wordEnd))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTEFindWordUPP(unsigned short currentPos, short caller, TEPtr pTE, TEHandle hTE, unsigned short * wordStart, unsigned short * wordEnd, TEFindWordUPP userUPP) { CALL_SIX_PARAMETER_UPP(userUPP, uppTEFindWordProcInfo, currentPos, caller, pTE, hTE, wordStart, wordEnd); }
+ #else
+ #define InvokeTEFindWordUPP(currentPos, caller, pTE, hTE, wordStart, wordEnd, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppTEFindWordProcInfo, (currentPos), (caller), (pTE), (hTE), (wordStart), (wordEnd))
+ #endif
#endif
- /*
- * InvokeTERecalcUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeTERecalcUPP(
- TEPtr pTE,
- unsigned short changeLength,
- unsigned short * lineStart,
- unsigned short * firstChar,
- unsigned short * lastChar,
- TERecalcUPP userUPP);
+/*
+ * InvokeTERecalcUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTERecalcUPP(
+ TEPtr pTE,
+ unsigned short changeLength,
+ unsigned short * lineStart,
+ unsigned short * firstChar,
+ unsigned short * lastChar,
+ TERecalcUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTERecalcUPP(TEPtr pTE, unsigned short changeLength, unsigned short * lineStart, unsigned short * firstChar, unsigned short * lastChar, TERecalcUPP userUPP)
- {
- CALL_FIVE_PARAMETER_UPP(userUPP, uppTERecalcProcInfo, pTE, changeLength, lineStart, firstChar, lastChar);
- }
-#else
-#define InvokeTERecalcUPP(pTE, changeLength, lineStart, firstChar, lastChar, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppTERecalcProcInfo, (pTE), (changeLength), (lineStart), (firstChar), (lastChar))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTERecalcUPP(TEPtr pTE, unsigned short changeLength, unsigned short * lineStart, unsigned short * firstChar, unsigned short * lastChar, TERecalcUPP userUPP) { CALL_FIVE_PARAMETER_UPP(userUPP, uppTERecalcProcInfo, pTE, changeLength, lineStart, firstChar, lastChar); }
+ #else
+ #define InvokeTERecalcUPP(pTE, changeLength, lineStart, firstChar, lastChar, userUPP) CALL_FIVE_PARAMETER_UPP((userUPP), uppTERecalcProcInfo, (pTE), (changeLength), (lineStart), (firstChar), (lastChar))
+ #endif
#endif
- /*
- * InvokeTEDoTextUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeTEDoTextUPP(
- TEPtr pTE,
- unsigned short firstChar,
- unsigned short lastChar,
- short selector,
- GrafPtr * currentGrafPort,
- short * charPosition,
- TEDoTextUPP userUPP);
+/*
+ * InvokeTEDoTextUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeTEDoTextUPP(
+ TEPtr pTE,
+ unsigned short firstChar,
+ unsigned short lastChar,
+ short selector,
+ GrafPtr * currentGrafPort,
+ short * charPosition,
+ TEDoTextUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTEDoTextUPP(TEPtr pTE, unsigned short firstChar, unsigned short lastChar, short selector, GrafPtr * currentGrafPort, short * charPosition, TEDoTextUPP userUPP)
- {
- CALL_SIX_PARAMETER_UPP(userUPP, uppTEDoTextProcInfo, pTE, firstChar, lastChar, selector, currentGrafPort, charPosition);
- }
-#else
-#define InvokeTEDoTextUPP(pTE, firstChar, lastChar, selector, currentGrafPort, charPosition, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppTEDoTextProcInfo, (pTE), (firstChar), (lastChar), (selector), (currentGrafPort), (charPosition))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTEDoTextUPP(TEPtr pTE, unsigned short firstChar, unsigned short lastChar, short selector, GrafPtr * currentGrafPort, short * charPosition, TEDoTextUPP userUPP) { CALL_SIX_PARAMETER_UPP(userUPP, uppTEDoTextProcInfo, pTE, firstChar, lastChar, selector, currentGrafPort, charPosition); }
+ #else
+ #define InvokeTEDoTextUPP(pTE, firstChar, lastChar, selector, currentGrafPort, charPosition, userUPP) CALL_SIX_PARAMETER_UPP((userUPP), uppTEDoTextProcInfo, (pTE), (firstChar), (lastChar), (selector), (currentGrafPort), (charPosition))
+ #endif
#endif
- /*
- * InvokeTEClickLoopUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeTEClickLoopUPP(
- TEPtr pTE,
- TEClickLoopUPP userUPP);
+/*
+ * InvokeTEClickLoopUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeTEClickLoopUPP(
+ TEPtr pTE,
+ TEClickLoopUPP userUPP);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeTEClickLoopUPP(TEPtr pTE, TEClickLoopUPP userUPP)
- {
- return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppTEClickLoopProcInfo, pTE);
- }
-#else
-#define InvokeTEClickLoopUPP(pTE, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppTEClickLoopProcInfo, (pTE))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeTEClickLoopUPP(TEPtr pTE, TEClickLoopUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppTEClickLoopProcInfo, pTE); }
+ #else
+ #define InvokeTEClickLoopUPP(pTE, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppTEClickLoopProcInfo, (pTE))
+ #endif
#endif
#if CALL_NOT_IN_CARBON
- /*
- * InvokeWordBreakUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * InvokeWordBreakUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InvokeWordBreakUPP(__A0, __D0, __A1)
#endif
- EXTERN_API_C(Boolean)
- InvokeWordBreakUPP(
- Ptr text,
- short charPos,
- WordBreakUPP userUPP) ONEWORDINLINE(0x4E91);
+EXTERN_API_C( Boolean )
+InvokeWordBreakUPP(
+ Ptr text,
+ short charPos,
+ WordBreakUPP userUPP) ONEWORDINLINE(0x4E91);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeWordBreakUPP(Ptr text, short charPos, WordBreakUPP userUPP)
- {
- return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppWordBreakProcInfo, text, charPos);
- }
-#else
-#define InvokeWordBreakUPP(text, charPos, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppWordBreakProcInfo, (text), (charPos))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeWordBreakUPP(Ptr text, short charPos, WordBreakUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppWordBreakProcInfo, text, charPos); }
+ #else
+ #define InvokeWordBreakUPP(text, charPos, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppWordBreakProcInfo, (text), (charPos))
+ #endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewHighHookProc(userRoutine) NewHighHookUPP(userRoutine)
-#define NewEOLHookProc(userRoutine) NewEOLHookUPP(userRoutine)
-#define NewCaretHookProc(userRoutine) NewCaretHookUPP(userRoutine)
-#define NewWidthHookProc(userRoutine) NewWidthHookUPP(userRoutine)
-#define NewTextWidthHookProc(userRoutine) NewTextWidthHookUPP(userRoutine)
-#define NewNWidthHookProc(userRoutine) NewNWidthHookUPP(userRoutine)
-#define NewDrawHookProc(userRoutine) NewDrawHookUPP(userRoutine)
-#define NewHitTestHookProc(userRoutine) NewHitTestHookUPP(userRoutine)
-#define NewTEFindWordProc(userRoutine) NewTEFindWordUPP(userRoutine)
-#define NewTERecalcProc(userRoutine) NewTERecalcUPP(userRoutine)
-#define NewTEDoTextProc(userRoutine) NewTEDoTextUPP(userRoutine)
-#define NewTEClickLoopProc(userRoutine) NewTEClickLoopUPP(userRoutine)
-#define NewWordBreakProc(userRoutine) NewWordBreakUPP(userRoutine)
-#define CallHighHookProc(userRoutine, r, pTE) InvokeHighHookUPP(r, pTE, userRoutine)
-#define CallEOLHookProc(userRoutine, theChar, pTE, hTE) InvokeEOLHookUPP(theChar, pTE, hTE, userRoutine)
-#define CallCaretHookProc(userRoutine, r, pTE) InvokeCaretHookUPP(r, pTE, userRoutine)
-#define CallWidthHookProc(userRoutine, textLen, textOffset, textBufferPtr, pTE, hTE) InvokeWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userRoutine)
-#define CallTextWidthHookProc(userRoutine, textLen, textOffset, textBufferPtr, pTE, hTE) InvokeTextWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userRoutine)
-#define CallNWidthHookProc(userRoutine, styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE) InvokeNWidthHookUPP(styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE, userRoutine)
-#define CallDrawHookProc(userRoutine, textOffset, drawLen, textBufferPtr, pTE, hTE) InvokeDrawHookUPP(textOffset, drawLen, textBufferPtr, pTE, hTE, userRoutine)
-#define CallHitTestHookProc(userRoutine, styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar) InvokeHitTestHookUPP(styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar, userRoutine)
-#define CallTEFindWordProc(userRoutine, currentPos, caller, pTE, hTE, wordStart, wordEnd) InvokeTEFindWordUPP(currentPos, caller, pTE, hTE, wordStart, wordEnd, userRoutine)
-#define CallTERecalcProc(userRoutine, pTE, changeLength, lineStart, firstChar, lastChar) InvokeTERecalcUPP(pTE, changeLength, lineStart, firstChar, lastChar, userRoutine)
-#define CallTEDoTextProc(userRoutine, pTE, firstChar, lastChar, selector, currentGrafPort, charPosition) InvokeTEDoTextUPP(pTE, firstChar, lastChar, selector, currentGrafPort, charPosition, userRoutine)
-#define CallTEClickLoopProc(userRoutine, pTE) InvokeTEClickLoopUPP(pTE, userRoutine)
-#define CallWordBreakProc(userRoutine, text, charPos) InvokeWordBreakUPP(text, charPos, userRoutine)
+ #define NewHighHookProc(userRoutine) NewHighHookUPP(userRoutine)
+ #define NewEOLHookProc(userRoutine) NewEOLHookUPP(userRoutine)
+ #define NewCaretHookProc(userRoutine) NewCaretHookUPP(userRoutine)
+ #define NewWidthHookProc(userRoutine) NewWidthHookUPP(userRoutine)
+ #define NewTextWidthHookProc(userRoutine) NewTextWidthHookUPP(userRoutine)
+ #define NewNWidthHookProc(userRoutine) NewNWidthHookUPP(userRoutine)
+ #define NewDrawHookProc(userRoutine) NewDrawHookUPP(userRoutine)
+ #define NewHitTestHookProc(userRoutine) NewHitTestHookUPP(userRoutine)
+ #define NewTEFindWordProc(userRoutine) NewTEFindWordUPP(userRoutine)
+ #define NewTERecalcProc(userRoutine) NewTERecalcUPP(userRoutine)
+ #define NewTEDoTextProc(userRoutine) NewTEDoTextUPP(userRoutine)
+ #define NewTEClickLoopProc(userRoutine) NewTEClickLoopUPP(userRoutine)
+ #define NewWordBreakProc(userRoutine) NewWordBreakUPP(userRoutine)
+ #define CallHighHookProc(userRoutine, r, pTE) InvokeHighHookUPP(r, pTE, userRoutine)
+ #define CallEOLHookProc(userRoutine, theChar, pTE, hTE) InvokeEOLHookUPP(theChar, pTE, hTE, userRoutine)
+ #define CallCaretHookProc(userRoutine, r, pTE) InvokeCaretHookUPP(r, pTE, userRoutine)
+ #define CallWidthHookProc(userRoutine, textLen, textOffset, textBufferPtr, pTE, hTE) InvokeWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userRoutine)
+ #define CallTextWidthHookProc(userRoutine, textLen, textOffset, textBufferPtr, pTE, hTE) InvokeTextWidthHookUPP(textLen, textOffset, textBufferPtr, pTE, hTE, userRoutine)
+ #define CallNWidthHookProc(userRoutine, styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE) InvokeNWidthHookUPP(styleRunLen, styleRunOffset, slop, direction, textBufferPtr, lineStart, pTE, hTE, userRoutine)
+ #define CallDrawHookProc(userRoutine, textOffset, drawLen, textBufferPtr, pTE, hTE) InvokeDrawHookUPP(textOffset, drawLen, textBufferPtr, pTE, hTE, userRoutine)
+ #define CallHitTestHookProc(userRoutine, styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar) InvokeHitTestHookUPP(styleRunLen, styleRunOffset, slop, textBufferPtr, pTE, hTE, pixelWidth, charOffset, pixelInChar, userRoutine)
+ #define CallTEFindWordProc(userRoutine, currentPos, caller, pTE, hTE, wordStart, wordEnd) InvokeTEFindWordUPP(currentPos, caller, pTE, hTE, wordStart, wordEnd, userRoutine)
+ #define CallTERecalcProc(userRoutine, pTE, changeLength, lineStart, firstChar, lastChar) InvokeTERecalcUPP(pTE, changeLength, lineStart, firstChar, lastChar, userRoutine)
+ #define CallTEDoTextProc(userRoutine, pTE, firstChar, lastChar, selector, currentGrafPort, charPosition) InvokeTEDoTextUPP(pTE, firstChar, lastChar, selector, currentGrafPort, charPosition, userRoutine)
+ #define CallTEClickLoopProc(userRoutine, pTE) InvokeTEClickLoopUPP(pTE, userRoutine)
+ #define CallWordBreakProc(userRoutine, text, charPos) InvokeWordBreakUPP(text, charPos, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- enum
- {
- /* feature bit 4 for TEFeatureFlag no longer in use */
- teFUseTextServices = 4 /*00010000b */
- };
+enum {
+ /* feature bit 4 for TEFeatureFlag no longer in use */
+ teFUseTextServices = 4 /*00010000b */
+};
#if OLDROUTINENAMES
- /* action for the old C "bit (un)set" interface, TEFeatureFlag */
+/* action for the old C "bit (un)set" interface, TEFeatureFlag */
#define TEBitClear teBitClear
#define TEBitSet teBitSet
#define TEBitTest teBitTest
@@ -1416,684 +1279,684 @@ extern "C" {
#define toglBit toggleBit
#endif /* OLDROUTINENAMES */
- /*
- * TEScrapHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- TEScrapHandle(void) TWOWORDINLINE(0x2EB8, 0x0AB4);
+/*
+ * TEScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+TEScrapHandle(void) TWOWORDINLINE(0x2EB8, 0x0AB4);
- /*
- * TEGetScrapLength()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- TEGetScrapLength(void);
+/*
+ * TEGetScrapLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+TEGetScrapLength(void);
#if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#define TEGetScrapLength() ((long) * (unsigned short *) 0x0AB0)
#endif
#if CALL_NOT_IN_CARBON
- /*
- * TEInit()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- TEInit(void) ONEWORDINLINE(0xA9CC);
+/*
+ * TEInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+TEInit(void) ONEWORDINLINE(0xA9CC);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * TENew()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TEHandle)
- TENew(
- const Rect * destRect,
- const Rect * viewRect) ONEWORDINLINE(0xA9D2);
-
-
- /*
- * TEDispose()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEDispose(TEHandle hTE) ONEWORDINLINE(0xA9CD);
-
-
- /*
- * TESetText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetText(
- const void * text,
- long length,
- TEHandle hTE) ONEWORDINLINE(0xA9CF);
-
-
- /*
- * TEGetText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(CharsHandle)
- TEGetText(TEHandle hTE) ONEWORDINLINE(0xA9CB);
-
-
- /*
- * TEIdle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEIdle(TEHandle hTE) ONEWORDINLINE(0xA9DA);
-
-
- /*
- * TESetSelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetSelect(
- long selStart,
- long selEnd,
- TEHandle hTE) ONEWORDINLINE(0xA9D1);
-
-
- /*
- * TEActivate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEActivate(TEHandle hTE) ONEWORDINLINE(0xA9D8);
-
-
- /*
- * TEDeactivate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEDeactivate(TEHandle hTE) ONEWORDINLINE(0xA9D9);
-
-
- /*
- * TEKey()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEKey(
- CharParameter key,
- TEHandle hTE) ONEWORDINLINE(0xA9DC);
-
-
- /*
- * TECut()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TECut(TEHandle hTE) ONEWORDINLINE(0xA9D6);
-
-
- /*
- * TECopy()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TECopy(TEHandle hTE) ONEWORDINLINE(0xA9D5);
-
-
- /*
- * TEPaste()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEPaste(TEHandle hTE) ONEWORDINLINE(0xA9DB);
-
-
- /*
- * TEDelete()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEDelete(TEHandle hTE) ONEWORDINLINE(0xA9D7);
-
-
- /*
- * TEInsert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEInsert(
- const void * text,
- long length,
- TEHandle hTE) ONEWORDINLINE(0xA9DE);
-
-
- /*
- * TESetAlignment()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetAlignment(
- short just,
- TEHandle hTE) ONEWORDINLINE(0xA9DF);
-
-
- /*
- * TEUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEUpdate(
- const Rect * rUpdate,
- TEHandle hTE) ONEWORDINLINE(0xA9D3);
-
-
- /*
- * TETextBox()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TETextBox(
- const void * text,
- long length,
- const Rect * box,
- short just) ONEWORDINLINE(0xA9CE);
-
-
- /*
- * TEScroll()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEScroll(
- short dh,
- short dv,
- TEHandle hTE) ONEWORDINLINE(0xA9DD);
-
-
- /*
- * TESelView()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESelView(TEHandle hTE) ONEWORDINLINE(0xA811);
-
-
- /*
- * TEPinScroll()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEPinScroll(
- short dh,
- short dv,
- TEHandle hTE) ONEWORDINLINE(0xA812);
-
-
- /*
- * TEAutoView()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEAutoView(
- Boolean fAuto,
- TEHandle hTE) ONEWORDINLINE(0xA813);
-
-
- /*
- * TECalText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TECalText(TEHandle hTE) ONEWORDINLINE(0xA9D0);
-
-
- /*
- * TEGetOffset()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- TEGetOffset(
- Point pt,
- TEHandle hTE) ONEWORDINLINE(0xA83C);
-
-
- /*
- * TEGetPoint()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Point)
- TEGetPoint(
- short offset,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0008, 0xA83D);
-
-
- /*
- * TEClick()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEClick(
- Point pt,
- Boolean fExtend,
- TEHandle h) ONEWORDINLINE(0xA9D4);
-
-
- /*
- * TEStyleNew()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TEHandle)
- TEStyleNew(
- const Rect * destRect,
- const Rect * viewRect) ONEWORDINLINE(0xA83E);
-
-
- /*
- * TESetStyleHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetStyleHandle(
- TEStyleHandle theHandle,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0005, 0xA83D);
-
-
- /*
- * TEGetStyleHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TEStyleHandle)
- TEGetStyleHandle(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0004, 0xA83D);
-
-
- /*
- * TEGetStyle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEGetStyle(
- short offset,
- TextStyle * theStyle,
- short * lineHeight,
- short * fontAscent,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0003, 0xA83D);
-
-
- /*
- * TEStylePaste()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEStylePaste(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0000, 0xA83D);
-
-
- /*
- * TESetStyle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetStyle(
- short mode,
- const TextStyle * newStyle,
- Boolean fRedraw,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0001, 0xA83D);
-
-
- /*
- * TEReplaceStyle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEReplaceStyle(
- short mode,
- const TextStyle * oldStyle,
- const TextStyle * newStyle,
- Boolean fRedraw,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0002, 0xA83D);
-
-
- /*
- * TEGetStyleScrapHandle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StScrpHandle)
- TEGetStyleScrapHandle(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0006, 0xA83D);
-
-
- /*
- * TEStyleInsert()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEStyleInsert(
- const void * text,
- long length,
- StScrpHandle hST,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0007, 0xA83D);
-
-
- /*
- * TEGetHeight()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- TEGetHeight(
- long endLine,
- long startLine,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0009, 0xA83D);
-
-
- /*
- * TEContinuousStyle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- TEContinuousStyle(
- short * mode,
- TextStyle * aStyle,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000A, 0xA83D);
-
-
- /*
- * TEUseStyleScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TEUseStyleScrap(
- long rangeStart,
- long rangeEnd,
- StScrpHandle newStyles,
- Boolean fRedraw,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000B, 0xA83D);
-
-
- /*
- * TECustomHook()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TECustomHook(
- TEIntHook which,
- UniversalProcPtr * addr,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000C, 0xA83D);
-
-
- /*
- * TENumStyles()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- TENumStyles(
- long rangeStart,
- long rangeEnd,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000D, 0xA83D);
-
-
- /*
- * TEFeatureFlag()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- TEFeatureFlag(
- short feature,
- short action,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000E, 0xA83D);
-
-
- /*
- * TEGetHiliteRgn()
- *
- * Availability:
- * Non-Carbon CFM: in DragLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- TEGetHiliteRgn(
- RgnHandle region,
- TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000F, 0xA83D);
-
-
- /*
- * TESetScrapLength()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetScrapLength(long length);
-
-
- /*
- * TEFromScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- TEFromScrap(void);
-
-
- /*
- * TEToScrap()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- TEToScrap(void);
-
-
- /*
- * TESetClickLoop()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetClickLoop(
- TEClickLoopUPP clikProc,
- TEHandle hTE);
+/*
+ * TENew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEHandle )
+TENew(
+ const Rect * destRect,
+ const Rect * viewRect) ONEWORDINLINE(0xA9D2);
+
+
+/*
+ * TEDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEDispose(TEHandle hTE) ONEWORDINLINE(0xA9CD);
+
+
+/*
+ * TESetText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetText(
+ const void * text,
+ long length,
+ TEHandle hTE) ONEWORDINLINE(0xA9CF);
+
+
+/*
+ * TEGetText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( CharsHandle )
+TEGetText(TEHandle hTE) ONEWORDINLINE(0xA9CB);
+
+
+/*
+ * TEIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEIdle(TEHandle hTE) ONEWORDINLINE(0xA9DA);
+
+
+/*
+ * TESetSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetSelect(
+ long selStart,
+ long selEnd,
+ TEHandle hTE) ONEWORDINLINE(0xA9D1);
+
+
+/*
+ * TEActivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEActivate(TEHandle hTE) ONEWORDINLINE(0xA9D8);
+
+
+/*
+ * TEDeactivate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEDeactivate(TEHandle hTE) ONEWORDINLINE(0xA9D9);
+
+
+/*
+ * TEKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEKey(
+ CharParameter key,
+ TEHandle hTE) ONEWORDINLINE(0xA9DC);
+
+
+/*
+ * TECut()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TECut(TEHandle hTE) ONEWORDINLINE(0xA9D6);
+
+
+/*
+ * TECopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TECopy(TEHandle hTE) ONEWORDINLINE(0xA9D5);
+
+
+/*
+ * TEPaste()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEPaste(TEHandle hTE) ONEWORDINLINE(0xA9DB);
+
+
+/*
+ * TEDelete()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEDelete(TEHandle hTE) ONEWORDINLINE(0xA9D7);
+
+
+/*
+ * TEInsert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEInsert(
+ const void * text,
+ long length,
+ TEHandle hTE) ONEWORDINLINE(0xA9DE);
+
+
+/*
+ * TESetAlignment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetAlignment(
+ short just,
+ TEHandle hTE) ONEWORDINLINE(0xA9DF);
+
+
+/*
+ * TEUpdate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEUpdate(
+ const Rect * rUpdate,
+ TEHandle hTE) ONEWORDINLINE(0xA9D3);
+
+
+/*
+ * TETextBox()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TETextBox(
+ const void * text,
+ long length,
+ const Rect * box,
+ short just) ONEWORDINLINE(0xA9CE);
+
+
+/*
+ * TEScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEScroll(
+ short dh,
+ short dv,
+ TEHandle hTE) ONEWORDINLINE(0xA9DD);
+
+
+/*
+ * TESelView()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESelView(TEHandle hTE) ONEWORDINLINE(0xA811);
+
+
+/*
+ * TEPinScroll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEPinScroll(
+ short dh,
+ short dv,
+ TEHandle hTE) ONEWORDINLINE(0xA812);
+
+
+/*
+ * TEAutoView()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEAutoView(
+ Boolean fAuto,
+ TEHandle hTE) ONEWORDINLINE(0xA813);
+
+
+/*
+ * TECalText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TECalText(TEHandle hTE) ONEWORDINLINE(0xA9D0);
+
+
+/*
+ * TEGetOffset()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TEGetOffset(
+ Point pt,
+ TEHandle hTE) ONEWORDINLINE(0xA83C);
+
+
+/*
+ * TEGetPoint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Point )
+TEGetPoint(
+ short offset,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0008, 0xA83D);
+
+
+/*
+ * TEClick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEClick(
+ Point pt,
+ Boolean fExtend,
+ TEHandle h) ONEWORDINLINE(0xA9D4);
+
+
+/*
+ * TEStyleNew()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEHandle )
+TEStyleNew(
+ const Rect * destRect,
+ const Rect * viewRect) ONEWORDINLINE(0xA83E);
+
+
+/*
+ * TESetStyleHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetStyleHandle(
+ TEStyleHandle theHandle,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0005, 0xA83D);
+
+
+/*
+ * TEGetStyleHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEStyleHandle )
+TEGetStyleHandle(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0004, 0xA83D);
+
+
+/*
+ * TEGetStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEGetStyle(
+ short offset,
+ TextStyle * theStyle,
+ short * lineHeight,
+ short * fontAscent,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0003, 0xA83D);
+
+
+/*
+ * TEStylePaste()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEStylePaste(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0000, 0xA83D);
+
+
+/*
+ * TESetStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetStyle(
+ short mode,
+ const TextStyle * newStyle,
+ Boolean fRedraw,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0001, 0xA83D);
+
+
+/*
+ * TEReplaceStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEReplaceStyle(
+ short mode,
+ const TextStyle * oldStyle,
+ const TextStyle * newStyle,
+ Boolean fRedraw,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0002, 0xA83D);
+
+
+/*
+ * TEGetStyleScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StScrpHandle )
+TEGetStyleScrapHandle(TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0006, 0xA83D);
+
+
+/*
+ * TEStyleInsert()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEStyleInsert(
+ const void * text,
+ long length,
+ StScrpHandle hST,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0007, 0xA83D);
+
+
+/*
+ * TEGetHeight()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+TEGetHeight(
+ long endLine,
+ long startLine,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x0009, 0xA83D);
+
+
+/*
+ * TEContinuousStyle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+TEContinuousStyle(
+ short * mode,
+ TextStyle * aStyle,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000A, 0xA83D);
+
+
+/*
+ * TEUseStyleScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TEUseStyleScrap(
+ long rangeStart,
+ long rangeEnd,
+ StScrpHandle newStyles,
+ Boolean fRedraw,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000B, 0xA83D);
+
+
+/*
+ * TECustomHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TECustomHook(
+ TEIntHook which,
+ UniversalProcPtr * addr,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000C, 0xA83D);
+
+
+/*
+ * TENumStyles()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+TENumStyles(
+ long rangeStart,
+ long rangeEnd,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000D, 0xA83D);
+
+
+/*
+ * TEFeatureFlag()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TEFeatureFlag(
+ short feature,
+ short action,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000E, 0xA83D);
+
+
+/*
+ * TEGetHiliteRgn()
+ *
+ * Availability:
+ * Non-Carbon CFM: in DragLib 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TEGetHiliteRgn(
+ RgnHandle region,
+ TEHandle hTE) THREEWORDINLINE(0x3F3C, 0x000F, 0xA83D);
+
+
+/*
+ * TESetScrapLength()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetScrapLength(long length);
+
+
+/*
+ * TEFromScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TEFromScrap(void);
+
+
+/*
+ * TEToScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TEToScrap(void);
+
+
+/*
+ * TESetClickLoop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetClickLoop(
+ TEClickLoopUPP clikProc,
+ TEHandle hTE);
#if CALL_NOT_IN_CARBON
- /*
- * TESetWordBreak()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- TESetWordBreak(
- WordBreakUPP wBrkProc,
- TEHandle hTE);
+/*
+ * TESetWordBreak()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+TESetWordBreak(
+ WordBreakUPP wBrkProc,
+ TEHandle hTE);
@@ -2105,148 +1968,148 @@ extern "C" {
#endif /* CALL_NOT_IN_CARBON */
- /*
- * TEGetDoTextHook()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TEDoTextUPP)
- TEGetDoTextHook(void);
-
-
- /*
- * TESetDoTextHook()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetDoTextHook(TEDoTextUPP value);
-
-
- /*
- * TEGetRecalcHook()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TERecalcUPP)
- TEGetRecalcHook(void);
-
-
- /*
- * TESetRecalcHook()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetRecalcHook(TERecalcUPP value);
-
-
- /*
- * TEGetFindWordHook()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TEFindWordUPP)
- TEGetFindWordHook(void);
-
-
- /*
- * TESetFindWordHook()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetFindWordHook(TEFindWordUPP value);
-
-
- /*
- * TEGetScrapHandle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Handle)
- TEGetScrapHandle(void);
-
-
- /*
- * TESetScrapHandle()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TESetScrapHandle(Handle value);
-
-
-
-
- /* LMGetWordRedraw and LMSetWordRedraw were previously in LowMem.h */
- /* Deprecated for Carbon on MacOS X */
- /* This lomem is no longer used by the implementation of TextEdit */
- /* on MacOS X, so setting it will have no effect. */
- /*
- * LMGetWordRedraw()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(UInt8)
- LMGetWordRedraw(void) TWOWORDINLINE(0x1EB8, 0x0BA5);
-
-
- /*
- * LMSetWordRedraw()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LMSetWordRedraw(UInt8 value) TWOWORDINLINE(0x11DF, 0x0BA5);
+/*
+ * TEGetDoTextHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEDoTextUPP )
+TEGetDoTextHook(void);
+
+
+/*
+ * TESetDoTextHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetDoTextHook(TEDoTextUPP value);
+
+
+/*
+ * TEGetRecalcHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TERecalcUPP )
+TEGetRecalcHook(void);
+
+
+/*
+ * TESetRecalcHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetRecalcHook(TERecalcUPP value);
+
+
+/*
+ * TEGetFindWordHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TEFindWordUPP )
+TEGetFindWordHook(void);
+
+
+/*
+ * TESetFindWordHook()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetFindWordHook(TEFindWordUPP value);
+
+
+/*
+ * TEGetScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Handle )
+TEGetScrapHandle(void);
+
+
+/*
+ * TESetScrapHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TESetScrapHandle(Handle value);
+
+
+
+
+/* LMGetWordRedraw and LMSetWordRedraw were previously in LowMem.h */
+/* Deprecated for Carbon on MacOS X */
+/* This lomem is no longer used by the implementation of TextEdit */
+/* on MacOS X, so setting it will have no effect. */
+/*
+ * LMGetWordRedraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt8 )
+LMGetWordRedraw(void) TWOWORDINLINE(0x1EB8, 0x0BA5);
+
+
+/*
+ * LMSetWordRedraw()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LMSetWordRedraw(UInt8 value) TWOWORDINLINE(0x11DF, 0x0BA5);
#if CALL_NOT_IN_CARBON
- /*
- * teclick()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- teclick(
- Point * pt,
- Boolean fExtend,
- TEHandle h);
+/*
+ * teclick()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+teclick(
+ Point * pt,
+ Boolean fExtend,
+ TEHandle h);
#endif /* CALL_NOT_IN_CARBON */
@@ -2275,11 +2138,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/TextEncodingConverter.h b/include/qt/TextEncodingConverter.h
index 54b89de67..4cbbc7587 100644
--- a/include/qt/TextEncodingConverter.h
+++ b/include/qt/TextEncodingConverter.h
@@ -1,17 +1,17 @@
/*
File: TextEncodingConverter.h
-
+
Contains: Text Encoding Conversion Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TEXTENCODINGCONVERTER__
#define __TEXTENCODINGCONVERTER__
@@ -40,513 +40,511 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef OSType TECPluginSignature;
- typedef UInt32 TECPluginVersion;
- /* plugin signatures */
- enum
- {
- kTECSignature = FOUR_CHAR_CODE('encv'),
- kTECUnicodePluginSignature = FOUR_CHAR_CODE('puni'),
- kTECJapanesePluginSignature = FOUR_CHAR_CODE('pjpn'),
- kTECChinesePluginSignature = FOUR_CHAR_CODE('pzho'),
- kTECKoreanPluginSignature = FOUR_CHAR_CODE('pkor')
- };
-
-
- /* converter object reference */
- typedef struct OpaqueTECObjectRef* TECObjectRef;
- typedef struct OpaqueTECSnifferObjectRef* TECSnifferObjectRef;
- typedef OSType TECPluginSig;
- struct TECConversionInfo
- {
- TextEncoding sourceEncoding;
- TextEncoding destinationEncoding;
- UInt16 reserved1;
- UInt16 reserved2;
- };
- typedef struct TECConversionInfo TECConversionInfo;
- /* return number of encodings types supported by user's configuraton of the encoding converter */
- /*
- * TECCountAvailableTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCountAvailableTextEncodings(ItemCount * numberEncodings);
-
-
- /* fill in an array of type TextEncoding passed in by the user with types of encodings the current configuration of the encoder can handle. */
- /*
- * TECGetAvailableTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetAvailableTextEncodings(
- TextEncoding availableEncodings[],
- ItemCount maxAvailableEncodings,
- ItemCount * actualAvailableEncodings);
-
-
- /* return number of from-to encoding conversion pairs supported */
- /*
- * TECCountDirectTextEncodingConversions()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCountDirectTextEncodingConversions(ItemCount * numberOfEncodings);
-
-
- /* fill in an array of type TextEncodingPair passed in by the user with types of encoding pairs the current configuration of the encoder can handle. */
- /*
- * TECGetDirectTextEncodingConversions()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetDirectTextEncodingConversions(
- TECConversionInfo availableConversions[],
- ItemCount maxAvailableConversions,
- ItemCount * actualAvailableConversions);
-
-
- /* return number of encodings a given encoding can be converter into */
- /*
- * TECCountDestinationTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCountDestinationTextEncodings(
- TextEncoding inputEncoding,
- ItemCount * numberOfEncodings);
-
-
- /* fill in an array of type TextEncodingPair passed in by the user with types of encodings pairs the current configuration of the encoder can handle. */
- /*
- * TECGetDestinationTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetDestinationTextEncodings(
- TextEncoding inputEncoding,
- TextEncoding destinationEncodings[],
- ItemCount maxDestinationEncodings,
- ItemCount * actualDestinationEncodings);
-
-
- /* get info about a text encoding */
- /*
- * TECGetTextEncodingInternetName()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetTextEncodingInternetName(
- TextEncoding textEncoding,
- Str255 encodingName);
-
-
- /*
- * TECGetTextEncodingFromInternetName()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetTextEncodingFromInternetName(
- TextEncoding * textEncoding,
- ConstStr255Param encodingName);
-
-
- /* create/dispose converters */
- /*
- * TECCreateConverter()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCreateConverter(
- TECObjectRef * newEncodingConverter,
- TextEncoding inputEncoding,
- TextEncoding outputEncoding);
-
-
- /*
- * TECCreateConverterFromPath()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCreateConverterFromPath(
- TECObjectRef * newEncodingConverter,
- const TextEncoding inPath[],
- ItemCount inEncodings);
-
-
- /*
- * TECDisposeConverter()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECDisposeConverter(TECObjectRef newEncodingConverter);
-
-
- /* convert text encodings */
- /*
- * TECClearConverterContextInfo()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECClearConverterContextInfo(TECObjectRef encodingConverter);
-
-
- /*
- * TECConvertText()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECConvertText(
- TECObjectRef encodingConverter,
- ConstTextPtr inputBuffer,
- ByteCount inputBufferLength,
- ByteCount * actualInputLength,
- TextPtr outputBuffer,
- ByteCount outputBufferLength,
- ByteCount * actualOutputLength);
-
-
- /*
- * TECFlushText()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECFlushText(
- TECObjectRef encodingConverter,
- TextPtr outputBuffer,
- ByteCount outputBufferLength,
- ByteCount * actualOutputLength);
-
-
- /* one-to-many routines */
- /*
- * TECCountSubTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCountSubTextEncodings(
- TextEncoding inputEncoding,
- ItemCount * numberOfEncodings);
-
-
- /*
- * TECGetSubTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetSubTextEncodings(
- TextEncoding inputEncoding,
- TextEncoding subEncodings[],
- ItemCount maxSubEncodings,
- ItemCount * actualSubEncodings);
-
-
- /*
- * TECGetEncodingList()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetEncodingList(
- TECObjectRef encodingConverter,
- ItemCount * numEncodings,
- Handle * encodingList);
-
-
- /*
- * TECCreateOneToManyConverter()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCreateOneToManyConverter(
- TECObjectRef * newEncodingConverter,
- TextEncoding inputEncoding,
- ItemCount numOutputEncodings,
- const TextEncoding outputEncodings[]);
-
-
- /*
- * TECConvertTextToMultipleEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECConvertTextToMultipleEncodings(
- TECObjectRef encodingConverter,
- ConstTextPtr inputBuffer,
- ByteCount inputBufferLength,
- ByteCount * actualInputLength,
- TextPtr outputBuffer,
- ByteCount outputBufferLength,
- ByteCount * actualOutputLength,
- TextEncodingRun outEncodingsBuffer[],
- ItemCount maxOutEncodingRuns,
- ItemCount * actualOutEncodingRuns);
-
-
- /*
- * TECFlushMultipleEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECFlushMultipleEncodings(
- TECObjectRef encodingConverter,
- TextPtr outputBuffer,
- ByteCount outputBufferLength,
- ByteCount * actualOutputLength,
- TextEncodingRun outEncodingsBuffer[],
- ItemCount maxOutEncodingRuns,
- ItemCount * actualOutEncodingRuns);
-
-
- /* international internet info */
- /*
- * TECCountWebTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCountWebTextEncodings(
- RegionCode locale,
- ItemCount * numberEncodings);
-
-
- /*
- * TECGetWebTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetWebTextEncodings(
- RegionCode locale,
- TextEncoding availableEncodings[],
- ItemCount maxAvailableEncodings,
- ItemCount * actualAvailableEncodings);
-
-
- /*
- * TECCountMailTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCountMailTextEncodings(
- RegionCode locale,
- ItemCount * numberEncodings);
-
-
- /*
- * TECGetMailTextEncodings()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetMailTextEncodings(
- RegionCode locale,
- TextEncoding availableEncodings[],
- ItemCount maxAvailableEncodings,
- ItemCount * actualAvailableEncodings);
-
-
- /* examine text encodings */
- /*
- * TECCountAvailableSniffers()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCountAvailableSniffers(ItemCount * numberOfEncodings);
-
-
- /*
- * TECGetAvailableSniffers()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECGetAvailableSniffers(
- TextEncoding availableSniffers[],
- ItemCount maxAvailableSniffers,
- ItemCount * actualAvailableSniffers);
-
-
- /*
- * TECCreateSniffer()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECCreateSniffer(
- TECSnifferObjectRef * encodingSniffer,
- TextEncoding testEncodings[],
- ItemCount numTextEncodings);
-
-
- /*
- * TECSniffTextEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECSniffTextEncoding(
- TECSnifferObjectRef encodingSniffer,
- TextPtr inputBuffer,
- ByteCount inputBufferLength,
- TextEncoding testEncodings[],
- ItemCount numTextEncodings,
- ItemCount numErrsArray[],
- ItemCount maxErrs,
- ItemCount numFeaturesArray[],
- ItemCount maxFeatures);
-
-
- /*
- * TECDisposeSniffer()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECDisposeSniffer(TECSnifferObjectRef encodingSniffer);
-
-
- /*
- * TECClearSnifferContextInfo()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TECClearSnifferContextInfo(TECSnifferObjectRef encodingSniffer);
+typedef OSType TECPluginSignature;
+typedef UInt32 TECPluginVersion;
+/* plugin signatures */
+enum {
+ kTECSignature = FOUR_CHAR_CODE('encv'),
+ kTECUnicodePluginSignature = FOUR_CHAR_CODE('puni'),
+ kTECJapanesePluginSignature = FOUR_CHAR_CODE('pjpn'),
+ kTECChinesePluginSignature = FOUR_CHAR_CODE('pzho'),
+ kTECKoreanPluginSignature = FOUR_CHAR_CODE('pkor')
+};
+
+
+/* converter object reference */
+typedef struct OpaqueTECObjectRef* TECObjectRef;
+typedef struct OpaqueTECSnifferObjectRef* TECSnifferObjectRef;
+typedef OSType TECPluginSig;
+struct TECConversionInfo {
+ TextEncoding sourceEncoding;
+ TextEncoding destinationEncoding;
+ UInt16 reserved1;
+ UInt16 reserved2;
+};
+typedef struct TECConversionInfo TECConversionInfo;
+/* return number of encodings types supported by user's configuraton of the encoding converter */
+/*
+ * TECCountAvailableTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCountAvailableTextEncodings(ItemCount * numberEncodings);
+
+
+/* fill in an array of type TextEncoding passed in by the user with types of encodings the current configuration of the encoder can handle. */
+/*
+ * TECGetAvailableTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetAvailableTextEncodings(
+ TextEncoding availableEncodings[],
+ ItemCount maxAvailableEncodings,
+ ItemCount * actualAvailableEncodings);
+
+
+/* return number of from-to encoding conversion pairs supported */
+/*
+ * TECCountDirectTextEncodingConversions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCountDirectTextEncodingConversions(ItemCount * numberOfEncodings);
+
+
+/* fill in an array of type TextEncodingPair passed in by the user with types of encoding pairs the current configuration of the encoder can handle. */
+/*
+ * TECGetDirectTextEncodingConversions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetDirectTextEncodingConversions(
+ TECConversionInfo availableConversions[],
+ ItemCount maxAvailableConversions,
+ ItemCount * actualAvailableConversions);
+
+
+/* return number of encodings a given encoding can be converter into */
+/*
+ * TECCountDestinationTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCountDestinationTextEncodings(
+ TextEncoding inputEncoding,
+ ItemCount * numberOfEncodings);
+
+
+/* fill in an array of type TextEncodingPair passed in by the user with types of encodings pairs the current configuration of the encoder can handle. */
+/*
+ * TECGetDestinationTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetDestinationTextEncodings(
+ TextEncoding inputEncoding,
+ TextEncoding destinationEncodings[],
+ ItemCount maxDestinationEncodings,
+ ItemCount * actualDestinationEncodings);
+
+
+/* get info about a text encoding */
+/*
+ * TECGetTextEncodingInternetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetTextEncodingInternetName(
+ TextEncoding textEncoding,
+ Str255 encodingName);
+
+
+/*
+ * TECGetTextEncodingFromInternetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetTextEncodingFromInternetName(
+ TextEncoding * textEncoding,
+ ConstStr255Param encodingName);
+
+
+/* create/dispose converters */
+/*
+ * TECCreateConverter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCreateConverter(
+ TECObjectRef * newEncodingConverter,
+ TextEncoding inputEncoding,
+ TextEncoding outputEncoding);
+
+
+/*
+ * TECCreateConverterFromPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCreateConverterFromPath(
+ TECObjectRef * newEncodingConverter,
+ const TextEncoding inPath[],
+ ItemCount inEncodings);
+
+
+/*
+ * TECDisposeConverter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECDisposeConverter(TECObjectRef newEncodingConverter);
+
+
+/* convert text encodings */
+/*
+ * TECClearConverterContextInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECClearConverterContextInfo(TECObjectRef encodingConverter);
+
+
+/*
+ * TECConvertText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECConvertText(
+ TECObjectRef encodingConverter,
+ ConstTextPtr inputBuffer,
+ ByteCount inputBufferLength,
+ ByteCount * actualInputLength,
+ TextPtr outputBuffer,
+ ByteCount outputBufferLength,
+ ByteCount * actualOutputLength);
+
+
+/*
+ * TECFlushText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECFlushText(
+ TECObjectRef encodingConverter,
+ TextPtr outputBuffer,
+ ByteCount outputBufferLength,
+ ByteCount * actualOutputLength);
+
+
+/* one-to-many routines */
+/*
+ * TECCountSubTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCountSubTextEncodings(
+ TextEncoding inputEncoding,
+ ItemCount * numberOfEncodings);
+
+
+/*
+ * TECGetSubTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetSubTextEncodings(
+ TextEncoding inputEncoding,
+ TextEncoding subEncodings[],
+ ItemCount maxSubEncodings,
+ ItemCount * actualSubEncodings);
+
+
+/*
+ * TECGetEncodingList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetEncodingList(
+ TECObjectRef encodingConverter,
+ ItemCount * numEncodings,
+ Handle * encodingList);
+
+
+/*
+ * TECCreateOneToManyConverter()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCreateOneToManyConverter(
+ TECObjectRef * newEncodingConverter,
+ TextEncoding inputEncoding,
+ ItemCount numOutputEncodings,
+ const TextEncoding outputEncodings[]);
+
+
+/*
+ * TECConvertTextToMultipleEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECConvertTextToMultipleEncodings(
+ TECObjectRef encodingConverter,
+ ConstTextPtr inputBuffer,
+ ByteCount inputBufferLength,
+ ByteCount * actualInputLength,
+ TextPtr outputBuffer,
+ ByteCount outputBufferLength,
+ ByteCount * actualOutputLength,
+ TextEncodingRun outEncodingsBuffer[],
+ ItemCount maxOutEncodingRuns,
+ ItemCount * actualOutEncodingRuns);
+
+
+/*
+ * TECFlushMultipleEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECFlushMultipleEncodings(
+ TECObjectRef encodingConverter,
+ TextPtr outputBuffer,
+ ByteCount outputBufferLength,
+ ByteCount * actualOutputLength,
+ TextEncodingRun outEncodingsBuffer[],
+ ItemCount maxOutEncodingRuns,
+ ItemCount * actualOutEncodingRuns);
+
+
+/* international internet info */
+/*
+ * TECCountWebTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCountWebTextEncodings(
+ RegionCode locale,
+ ItemCount * numberEncodings);
+
+
+/*
+ * TECGetWebTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetWebTextEncodings(
+ RegionCode locale,
+ TextEncoding availableEncodings[],
+ ItemCount maxAvailableEncodings,
+ ItemCount * actualAvailableEncodings);
+
+
+/*
+ * TECCountMailTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCountMailTextEncodings(
+ RegionCode locale,
+ ItemCount * numberEncodings);
+
+
+/*
+ * TECGetMailTextEncodings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetMailTextEncodings(
+ RegionCode locale,
+ TextEncoding availableEncodings[],
+ ItemCount maxAvailableEncodings,
+ ItemCount * actualAvailableEncodings);
+
+
+/* examine text encodings */
+/*
+ * TECCountAvailableSniffers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCountAvailableSniffers(ItemCount * numberOfEncodings);
+
+
+/*
+ * TECGetAvailableSniffers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECGetAvailableSniffers(
+ TextEncoding availableSniffers[],
+ ItemCount maxAvailableSniffers,
+ ItemCount * actualAvailableSniffers);
+
+
+/*
+ * TECCreateSniffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECCreateSniffer(
+ TECSnifferObjectRef * encodingSniffer,
+ TextEncoding testEncodings[],
+ ItemCount numTextEncodings);
+
+
+/*
+ * TECSniffTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECSniffTextEncoding(
+ TECSnifferObjectRef encodingSniffer,
+ TextPtr inputBuffer,
+ ByteCount inputBufferLength,
+ TextEncoding testEncodings[],
+ ItemCount numTextEncodings,
+ ItemCount numErrsArray[],
+ ItemCount maxErrs,
+ ItemCount numFeaturesArray[],
+ ItemCount maxFeatures);
+
+
+/*
+ * TECDisposeSniffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECDisposeSniffer(TECSnifferObjectRef encodingSniffer);
+
+
+/*
+ * TECClearSnifferContextInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TECClearSnifferContextInfo(TECSnifferObjectRef encodingSniffer);
#if CALL_NOT_IN_CARBON
- /*
- * TECSetBasicOptions()
- *
- * Availability:
- * Non-Carbon CFM: in TextEncodingConverter 1.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- TECSetBasicOptions(
- TECObjectRef encodingConverter,
- OptionBits controlFlags);
+/*
+ * TECSetBasicOptions()
+ *
+ * Availability:
+ * Non-Carbon CFM: in TextEncodingConverter 1.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+TECSetBasicOptions(
+ TECObjectRef encodingConverter,
+ OptionBits controlFlags);
#endif /* CALL_NOT_IN_CARBON */
@@ -554,11 +552,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/TextEncodingPlugin.h b/include/qt/TextEncodingPlugin.h
index c69ad018f..43b341db7 100644
--- a/include/qt/TextEncodingPlugin.h
+++ b/include/qt/TextEncodingPlugin.h
@@ -1,17 +1,17 @@
/*
File: TextEncodingPlugin.h
-
+
Contains: Required interface for Text Encoding Converter-Plugins
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TEXTENCODINGPLUGIN__
#define __TEXTENCODINGPLUGIN__
@@ -40,11 +40,11 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
/*
@@ -57,69 +57,65 @@
Structs
####################################################################################
*/
-struct TECBufferContextRec
-{
- TextPtr textInputBuffer;
- TextPtr textInputBufferEnd;
- TextPtr textOutputBuffer;
- TextPtr textOutputBufferEnd;
-
- TextEncodingRunPtr encodingInputBuffer;
- TextEncodingRunPtr encodingInputBufferEnd;
- TextEncodingRunPtr encodingOutputBuffer;
- TextEncodingRunPtr encodingOutputBufferEnd;
+struct TECBufferContextRec {
+ TextPtr textInputBuffer;
+ TextPtr textInputBufferEnd;
+ TextPtr textOutputBuffer;
+ TextPtr textOutputBufferEnd;
+
+ TextEncodingRunPtr encodingInputBuffer;
+ TextEncodingRunPtr encodingInputBufferEnd;
+ TextEncodingRunPtr encodingOutputBuffer;
+ TextEncodingRunPtr encodingOutputBufferEnd;
};
typedef struct TECBufferContextRec TECBufferContextRec;
-struct TECPluginStateRec
-{
-
- UInt8 state1;
- UInt8 state2;
- UInt8 state3;
- UInt8 state4;
-
- UInt32 longState1;
- UInt32 longState2;
- UInt32 longState3;
- UInt32 longState4;
+struct TECPluginStateRec {
+
+ UInt8 state1;
+ UInt8 state2;
+ UInt8 state3;
+ UInt8 state4;
+
+ UInt32 longState1;
+ UInt32 longState2;
+ UInt32 longState3;
+ UInt32 longState4;
};
typedef struct TECPluginStateRec TECPluginStateRec;
-struct TECConverterContextRec
-{
-
- /* public - manipulated externally and by plugin*/
- Ptr pluginRec;
- TextEncoding sourceEncoding;
- TextEncoding destEncoding;
- UInt32 reserved1;
- UInt32 reserved2;
- TECBufferContextRec bufferContext;
- /* private - manipulated only within Plugin*/
- UInt32 contextRefCon;
- ProcPtr conversionProc;
- ProcPtr flushProc;
- ProcPtr clearContextInfoProc;
- UInt32 options1;
- UInt32 options2;
- TECPluginStateRec pluginState;
+struct TECConverterContextRec {
+
+ /* public - manipulated externally and by plugin*/
+ Ptr pluginRec;
+ TextEncoding sourceEncoding;
+ TextEncoding destEncoding;
+ UInt32 reserved1;
+ UInt32 reserved2;
+ TECBufferContextRec bufferContext;
+ /* private - manipulated only within Plugin*/
+ UInt32 contextRefCon;
+ ProcPtr conversionProc;
+ ProcPtr flushProc;
+ ProcPtr clearContextInfoProc;
+ UInt32 options1;
+ UInt32 options2;
+ TECPluginStateRec pluginState;
};
typedef struct TECConverterContextRec TECConverterContextRec;
-struct TECSnifferContextRec
-{
- /* public - manipulated externally*/
- Ptr pluginRec;
- TextEncoding encoding;
- ItemCount maxErrors;
- ItemCount maxFeatures;
- TextPtr textInputBuffer;
- TextPtr textInputBufferEnd;
- ItemCount numFeatures;
- ItemCount numErrors;
- /* private - manipulated only within Plugin*/
- UInt32 contextRefCon;
- ProcPtr sniffProc;
- ProcPtr clearContextInfoProc;
- TECPluginStateRec pluginState;
+struct TECSnifferContextRec {
+ /* public - manipulated externally*/
+ Ptr pluginRec;
+ TextEncoding encoding;
+ ItemCount maxErrors;
+ ItemCount maxFeatures;
+ TextPtr textInputBuffer;
+ TextPtr textInputBufferEnd;
+ ItemCount numFeatures;
+ ItemCount numErrors;
+ /* private - manipulated only within Plugin*/
+ UInt32 contextRefCon;
+ ProcPtr sniffProc;
+ ProcPtr clearContextInfoProc;
+ TECPluginStateRec pluginState;
};
typedef struct TECSnifferContextRec TECSnifferContextRec;
/*
@@ -128,66 +124,64 @@ typedef struct TECSnifferContextRec TECSnifferContextRec;
####################################################################################
*/
-typedef CALLBACK_API_C(OSStatus , TECPluginNewEncodingConverterPtr)(TECObjectRef *newEncodingConverter, TECConverterContextRec *plugContext, TextEncoding inputEncoding, TextEncoding outputEncoding);
-typedef CALLBACK_API_C(OSStatus , TECPluginClearContextInfoPtr)(TECObjectRef encodingConverter, TECConverterContextRec *plugContext);
-typedef CALLBACK_API_C(OSStatus , TECPluginConvertTextEncodingPtr)(TECObjectRef encodingConverter, TECConverterContextRec *plugContext);
-typedef CALLBACK_API_C(OSStatus , TECPluginFlushConversionPtr)(TECObjectRef encodingConverter, TECConverterContextRec *plugContext);
-typedef CALLBACK_API_C(OSStatus , TECPluginDisposeEncodingConverterPtr)(TECObjectRef newEncodingConverter, TECConverterContextRec *plugContext);
-typedef CALLBACK_API_C(OSStatus , TECPluginNewEncodingSnifferPtr)(TECSnifferObjectRef *encodingSniffer, TECSnifferContextRec *snifContext, TextEncoding inputEncoding);
-typedef CALLBACK_API_C(OSStatus , TECPluginClearSnifferContextInfoPtr)(TECSnifferObjectRef encodingSniffer, TECSnifferContextRec *snifContext);
-typedef CALLBACK_API_C(OSStatus , TECPluginSniffTextEncodingPtr)(TECSnifferObjectRef encodingSniffer, TECSnifferContextRec *snifContext);
-typedef CALLBACK_API_C(OSStatus , TECPluginDisposeEncodingSnifferPtr)(TECSnifferObjectRef encodingSniffer, TECSnifferContextRec *snifContext);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetCountAvailableTextEncodingsPtr)(TextEncoding *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetCountAvailableTextEncodingPairsPtr)(TECConversionInfo *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetCountDestinationTextEncodingsPtr)(TextEncoding inputEncoding, TextEncoding *destinationEncodings, ItemCount maxDestinationEncodings, ItemCount *actualDestinationEncodings);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetCountSubTextEncodingsPtr)(TextEncoding inputEncoding, TextEncoding subEncodings[], ItemCount maxSubEncodings, ItemCount *actualSubEncodings);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetCountAvailableSniffersPtr)(TextEncoding *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetTextEncodingInternetNamePtr)(TextEncoding textEncoding, Str255 encodingName);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetTextEncodingFromInternetNamePtr)(TextEncoding *textEncoding, ConstStr255Param encodingName);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetCountWebEncodingsPtr)(TextEncoding *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
-typedef CALLBACK_API_C(OSStatus , TECPluginGetCountMailEncodingsPtr)(TextEncoding *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
+typedef CALLBACK_API_C( OSStatus , TECPluginNewEncodingConverterPtr )(TECObjectRef *newEncodingConverter, TECConverterContextRec *plugContext, TextEncoding inputEncoding, TextEncoding outputEncoding);
+typedef CALLBACK_API_C( OSStatus , TECPluginClearContextInfoPtr )(TECObjectRef encodingConverter, TECConverterContextRec *plugContext);
+typedef CALLBACK_API_C( OSStatus , TECPluginConvertTextEncodingPtr )(TECObjectRef encodingConverter, TECConverterContextRec *plugContext);
+typedef CALLBACK_API_C( OSStatus , TECPluginFlushConversionPtr )(TECObjectRef encodingConverter, TECConverterContextRec *plugContext);
+typedef CALLBACK_API_C( OSStatus , TECPluginDisposeEncodingConverterPtr )(TECObjectRef newEncodingConverter, TECConverterContextRec *plugContext);
+typedef CALLBACK_API_C( OSStatus , TECPluginNewEncodingSnifferPtr )(TECSnifferObjectRef *encodingSniffer, TECSnifferContextRec *snifContext, TextEncoding inputEncoding);
+typedef CALLBACK_API_C( OSStatus , TECPluginClearSnifferContextInfoPtr )(TECSnifferObjectRef encodingSniffer, TECSnifferContextRec *snifContext);
+typedef CALLBACK_API_C( OSStatus , TECPluginSniffTextEncodingPtr )(TECSnifferObjectRef encodingSniffer, TECSnifferContextRec *snifContext);
+typedef CALLBACK_API_C( OSStatus , TECPluginDisposeEncodingSnifferPtr )(TECSnifferObjectRef encodingSniffer, TECSnifferContextRec *snifContext);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetCountAvailableTextEncodingsPtr )(TextEncoding *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetCountAvailableTextEncodingPairsPtr )(TECConversionInfo *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetCountDestinationTextEncodingsPtr )(TextEncoding inputEncoding, TextEncoding *destinationEncodings, ItemCount maxDestinationEncodings, ItemCount *actualDestinationEncodings);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetCountSubTextEncodingsPtr )(TextEncoding inputEncoding, TextEncoding subEncodings[], ItemCount maxSubEncodings, ItemCount *actualSubEncodings);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetCountAvailableSniffersPtr )(TextEncoding *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetTextEncodingInternetNamePtr )(TextEncoding textEncoding, Str255 encodingName);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetTextEncodingFromInternetNamePtr )(TextEncoding *textEncoding, ConstStr255Param encodingName);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetCountWebEncodingsPtr )(TextEncoding *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
+typedef CALLBACK_API_C( OSStatus , TECPluginGetCountMailEncodingsPtr )(TextEncoding *availableEncodings, ItemCount maxAvailableEncodings, ItemCount *actualAvailableEncodings);
/*
####################################################################################
Dispatch Table Definition
####################################################################################
*/
-enum
-{
- kTECPluginDispatchTableVersion1 = 0x00010000, /* 1.0 through 1.0.3 releases*/
- kTECPluginDispatchTableVersion1_1 = 0x00010001, /* 1.1 releases*/
- kTECPluginDispatchTableVersion1_2 = 0x00010002, /* 1.2 releases*/
- kTECPluginDispatchTableCurrentVersion = kTECPluginDispatchTableVersion1_2
+enum {
+ kTECPluginDispatchTableVersion1 = 0x00010000, /* 1.0 through 1.0.3 releases*/
+ kTECPluginDispatchTableVersion1_1 = 0x00010001, /* 1.1 releases*/
+ kTECPluginDispatchTableVersion1_2 = 0x00010002, /* 1.2 releases*/
+ kTECPluginDispatchTableCurrentVersion = kTECPluginDispatchTableVersion1_2
};
-struct TECPluginDispatchTable
-{
+struct TECPluginDispatchTable {
- TECPluginVersion version;
- TECPluginVersion compatibleVersion;
- TECPluginSignature PluginID;
+ TECPluginVersion version;
+ TECPluginVersion compatibleVersion;
+ TECPluginSignature PluginID;
- TECPluginNewEncodingConverterPtr PluginNewEncodingConverter;
- TECPluginClearContextInfoPtr PluginClearContextInfo;
- TECPluginConvertTextEncodingPtr PluginConvertTextEncoding;
- TECPluginFlushConversionPtr PluginFlushConversion;
- TECPluginDisposeEncodingConverterPtr PluginDisposeEncodingConverter;
+ TECPluginNewEncodingConverterPtr PluginNewEncodingConverter;
+ TECPluginClearContextInfoPtr PluginClearContextInfo;
+ TECPluginConvertTextEncodingPtr PluginConvertTextEncoding;
+ TECPluginFlushConversionPtr PluginFlushConversion;
+ TECPluginDisposeEncodingConverterPtr PluginDisposeEncodingConverter;
- TECPluginNewEncodingSnifferPtr PluginNewEncodingSniffer;
- TECPluginClearSnifferContextInfoPtr PluginClearSnifferContextInfo;
- TECPluginSniffTextEncodingPtr PluginSniffTextEncoding;
- TECPluginDisposeEncodingSnifferPtr PluginDisposeEncodingSniffer;
+ TECPluginNewEncodingSnifferPtr PluginNewEncodingSniffer;
+ TECPluginClearSnifferContextInfoPtr PluginClearSnifferContextInfo;
+ TECPluginSniffTextEncodingPtr PluginSniffTextEncoding;
+ TECPluginDisposeEncodingSnifferPtr PluginDisposeEncodingSniffer;
- TECPluginGetCountAvailableTextEncodingsPtr PluginGetCountAvailableTextEncodings;
- TECPluginGetCountAvailableTextEncodingPairsPtr PluginGetCountAvailableTextEncodingPairs;
- TECPluginGetCountDestinationTextEncodingsPtr PluginGetCountDestinationTextEncodings;
- TECPluginGetCountSubTextEncodingsPtr PluginGetCountSubTextEncodings;
- TECPluginGetCountAvailableSniffersPtr PluginGetCountAvailableSniffers;
- TECPluginGetCountWebEncodingsPtr PluginGetCountWebTextEncodings;
- TECPluginGetCountMailEncodingsPtr PluginGetCountMailTextEncodings;
+ TECPluginGetCountAvailableTextEncodingsPtr PluginGetCountAvailableTextEncodings;
+ TECPluginGetCountAvailableTextEncodingPairsPtr PluginGetCountAvailableTextEncodingPairs;
+ TECPluginGetCountDestinationTextEncodingsPtr PluginGetCountDestinationTextEncodings;
+ TECPluginGetCountSubTextEncodingsPtr PluginGetCountSubTextEncodings;
+ TECPluginGetCountAvailableSniffersPtr PluginGetCountAvailableSniffers;
+ TECPluginGetCountWebEncodingsPtr PluginGetCountWebTextEncodings;
+ TECPluginGetCountMailEncodingsPtr PluginGetCountMailTextEncodings;
- TECPluginGetTextEncodingInternetNamePtr PluginGetTextEncodingInternetName;
- TECPluginGetTextEncodingFromInternetNamePtr PluginGetTextEncodingFromInternetName;
+ TECPluginGetTextEncodingInternetNamePtr PluginGetTextEncodingInternetName;
+ TECPluginGetTextEncodingFromInternetNamePtr PluginGetTextEncodingFromInternetName;
};
typedef struct TECPluginDispatchTable TECPluginDispatchTable;
@@ -198,11 +192,11 @@ typedef struct TECPluginDispatchTable TECPluginDispatchTable;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/TextServices.h b/include/qt/TextServices.h
index 47e865224..c204f68fe 100644
--- a/include/qt/TextServices.h
+++ b/include/qt/TextServices.h
@@ -1,17 +1,17 @@
/*
File: TextServices.h
-
+
Contains: Text Services Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TEXTSERVICES__
#define __TEXTSERVICES__
@@ -68,939 +68,923 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kTextService = FOUR_CHAR_CODE('tsvc'), /* component type for the component description */
- kTSMVersion = 0x0150 /* Version of the Text Services Manager is 1.5 */
- };
-
-
- /*
- TextServiceClass constants supported by TSM
- Same as component subtype for the component description
- */
- enum
- {
- kKeyboardInputMethodClass = FOUR_CHAR_CODE('inpm'),
- kInkInputMethodClass = FOUR_CHAR_CODE('ink '),
- kCharacterPaletteInputMethodClass = FOUR_CHAR_CODE('cplt')
- };
-
- typedef OSType TextServiceClass;
- enum
- {
- kTSClassHonorUserSetting = 1,
- kTSClassForceSetting = 2,
- kTSClassForceToHonorUserSetting = 3
- };
-
- typedef UInt32 TSClassEnablingForceLevel;
- enum
- {
- kUnicodeDocument = FOUR_CHAR_CODE('udoc'), /* TSM Document type for Unicode-savvy application */
- kUnicodeTextService = FOUR_CHAR_CODE('utsv') /* Component type for Unicode Text Service */
- };
-
- /* TSMDocumentID property tags*/
- enum
- {
- kTSMDocumentPropertySupportGlyphInfo = FOUR_CHAR_CODE('dpgi') /* property value is arbitrary*/
- };
-
-
- /* Language and Script constants*/
- enum
- {
- kUnknownLanguage = 0xFFFF,
- kUnknownScript = 0xFFFF,
- kNeutralScript = 0xFFFF
- };
-
-
- enum
- {
- /* Component Flags in ComponentDescription */
- bTakeActiveEvent = 15, /* bit set if the component takes active event */
- bHandleAERecording = 16, /* bit set if the component takes care of recording Apple Events <new in vers2.0> */
- bScriptMask = 0x00007F00, /* bit 8 - 14 */
- bLanguageMask = 0x000000FF, /* bit 0 - 7 */
- bScriptLanguageMask = bScriptMask + bLanguageMask /* bit 0 - 14 */
- };
-
- enum
- {
- /* Typing method property constants for Input Methods */
- kIMJaTypingMethodProperty = FOUR_CHAR_CODE('jtyp'), /* Typing method property for Japanese input methods*/
- kIMJaTypingMethodRoman = FOUR_CHAR_CODE('roma'), /* Roman typing*/
- kIMJaTypingMethodKana = FOUR_CHAR_CODE('kana') /* Kana typing*/
- };
-
- enum
- {
- /* Low level routines which are dispatched directly to the Component Manager */
- kCMGetScriptLangSupport = 0x0001, /* Component Manager call selector 1 */
- kCMInitiateTextService = 0x0002, /* Component Manager call selector 2 */
- kCMTerminateTextService = 0x0003, /* Component Manager call selector 3 */
- kCMActivateTextService = 0x0004, /* Component Manager call selector 4 */
- kCMDeactivateTextService = 0x0005, /* Component Manager call selector 5 */
- kCMTextServiceEvent = 0x0006, /* Component Manager call selector 6 */
- kCMGetTextServiceMenu = 0x0007, /* Component Manager call selector 7 */
- kCMTextServiceMenuSelect = 0x0008, /* Component Manager call selector 8 */
- kCMFixTextService = 0x0009, /* Component Manager call selector 9 */
- kCMSetTextServiceCursor = 0x000A, /* Component Manager call selector 10 */
- kCMHidePaletteWindows = 0x000B, /* Component Manager call selector 11 */
- kCMGetTextServiceProperty = 0x000C, /* Component Manager call selector 12 */
- kCMSetTextServiceProperty = 0x000D /* Component Manager call selector 13 */
- };
-
- enum
- {
- /* New low level routines which are dispatched directly to the Component Manager */
- kCMUCTextServiceEvent = 0x000E /* Component Manager call selector 14 */
- };
-
-
- /* extract Script/Language code from Component flag ... */
+enum {
+ kTextService = FOUR_CHAR_CODE('tsvc'), /* component type for the component description */
+ kTSMVersion = 0x0150 /* Version of the Text Services Manager is 1.5 */
+};
+
+
+/*
+ TextServiceClass constants supported by TSM
+ Same as component subtype for the component description
+*/
+enum {
+ kKeyboardInputMethodClass = FOUR_CHAR_CODE('inpm'),
+ kInkInputMethodClass = FOUR_CHAR_CODE('ink '),
+ kCharacterPaletteInputMethodClass = FOUR_CHAR_CODE('cplt')
+};
+
+typedef OSType TextServiceClass;
+enum {
+ kTSClassHonorUserSetting = 1,
+ kTSClassForceSetting = 2,
+ kTSClassForceToHonorUserSetting = 3
+};
+
+typedef UInt32 TSClassEnablingForceLevel;
+enum {
+ kUnicodeDocument = FOUR_CHAR_CODE('udoc'), /* TSM Document type for Unicode-savvy application */
+ kUnicodeTextService = FOUR_CHAR_CODE('utsv') /* Component type for Unicode Text Service */
+};
+
+/* TSMDocumentID property tags*/
+enum {
+ kTSMDocumentPropertySupportGlyphInfo = FOUR_CHAR_CODE('dpgi') /* property value is arbitrary*/
+};
+
+
+/* Language and Script constants*/
+enum {
+ kUnknownLanguage = 0xFFFF,
+ kUnknownScript = 0xFFFF,
+ kNeutralScript = 0xFFFF
+};
+
+
+enum {
+ /* Component Flags in ComponentDescription */
+ bTakeActiveEvent = 15, /* bit set if the component takes active event */
+ bHandleAERecording = 16, /* bit set if the component takes care of recording Apple Events <new in vers2.0> */
+ bScriptMask = 0x00007F00, /* bit 8 - 14 */
+ bLanguageMask = 0x000000FF, /* bit 0 - 7 */
+ bScriptLanguageMask = bScriptMask + bLanguageMask /* bit 0 - 14 */
+};
+
+enum {
+ /* Typing method property constants for Input Methods */
+ kIMJaTypingMethodProperty = FOUR_CHAR_CODE('jtyp'), /* Typing method property for Japanese input methods*/
+ kIMJaTypingMethodRoman = FOUR_CHAR_CODE('roma'), /* Roman typing*/
+ kIMJaTypingMethodKana = FOUR_CHAR_CODE('kana') /* Kana typing*/
+};
+
+enum {
+ /* Low level routines which are dispatched directly to the Component Manager */
+ kCMGetScriptLangSupport = 0x0001, /* Component Manager call selector 1 */
+ kCMInitiateTextService = 0x0002, /* Component Manager call selector 2 */
+ kCMTerminateTextService = 0x0003, /* Component Manager call selector 3 */
+ kCMActivateTextService = 0x0004, /* Component Manager call selector 4 */
+ kCMDeactivateTextService = 0x0005, /* Component Manager call selector 5 */
+ kCMTextServiceEvent = 0x0006, /* Component Manager call selector 6 */
+ kCMGetTextServiceMenu = 0x0007, /* Component Manager call selector 7 */
+ kCMTextServiceMenuSelect = 0x0008, /* Component Manager call selector 8 */
+ kCMFixTextService = 0x0009, /* Component Manager call selector 9 */
+ kCMSetTextServiceCursor = 0x000A, /* Component Manager call selector 10 */
+ kCMHidePaletteWindows = 0x000B, /* Component Manager call selector 11 */
+ kCMGetTextServiceProperty = 0x000C, /* Component Manager call selector 12 */
+ kCMSetTextServiceProperty = 0x000D /* Component Manager call selector 13 */
+};
+
+enum {
+ /* New low level routines which are dispatched directly to the Component Manager */
+ kCMUCTextServiceEvent = 0x000E /* Component Manager call selector 14 */
+};
+
+
+/* extract Script/Language code from Component flag ... */
#define mGetScriptCode(cdRec) ((ScriptCode) ((cdRec.componentFlags & bScriptMask) >> 8))
#define mGetLanguageCode(cdRec) ((LangCode) cdRec.componentFlags & bLanguageMask)
- /* New opaque definitions for types */
- typedef struct OpaqueTSMDocumentID* TSMDocumentID;
- typedef OSType InterfaceTypeList[1];
-
- /* Text Service Info List */
- struct TextServiceInfo
- {
- Component fComponent;
- Str255 fItemName;
- };
- typedef struct TextServiceInfo TextServiceInfo;
- typedef TextServiceInfo * TextServiceInfoPtr;
- struct TextServiceList
- {
- short fTextServiceCount; /* number of entries in the 'fServices' array */
- TextServiceInfo fServices[1]; /* Note: array of 'TextServiceInfo' records follows */
- };
- typedef struct TextServiceList TextServiceList;
- typedef TextServiceList * TextServiceListPtr;
- typedef TextServiceListPtr * TextServiceListHandle;
- struct ScriptLanguageRecord
- {
- ScriptCode fScript;
- LangCode fLanguage;
- };
- typedef struct ScriptLanguageRecord ScriptLanguageRecord;
- struct ScriptLanguageSupport
- {
- short fScriptLanguageCount; /* number of entries in the 'fScriptLanguageArray' array */
- ScriptLanguageRecord fScriptLanguageArray[1]; /* Note: array of 'ScriptLanguageRecord' records follows */
- };
- typedef struct ScriptLanguageSupport ScriptLanguageSupport;
- typedef ScriptLanguageSupport * ScriptLanguageSupportPtr;
- typedef ScriptLanguageSupportPtr * ScriptLanguageSupportHandle;
- struct TSMGlyphInfo
- {
- CFRange range; /* two SInt32s*/
- ATSFontRef fontRef;
- UInt16 collection; /* kGlyphCollectionXXX enum*/
- UInt16 glyphID; /* GID (when collection==0) or CID*/
- };
- typedef struct TSMGlyphInfo TSMGlyphInfo;
- struct TSMGlyphInfoArray
- {
- ItemCount numGlyphInfo; /* UInt32*/
- TSMGlyphInfo glyphInfo[1];
- };
- typedef struct TSMGlyphInfoArray TSMGlyphInfoArray;
-
- /* High level TSM Doucment routines */
- /*
- * NewTSMDocument()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewTSMDocument(
- short numOfInterface,
- InterfaceTypeList supportedInterfaceTypes,
- TSMDocumentID * idocID,
- long refcon) TWOWORDINLINE(0x7000, 0xAA54);
-
-
- /*
- * DeleteTSMDocument()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DeleteTSMDocument(TSMDocumentID idocID) TWOWORDINLINE(0x7001, 0xAA54);
-
-
- /*
- * ActivateTSMDocument()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ActivateTSMDocument(TSMDocumentID idocID) TWOWORDINLINE(0x7002, 0xAA54);
-
-
- /*
- * DeactivateTSMDocument()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DeactivateTSMDocument(TSMDocumentID idocID) TWOWORDINLINE(0x7003, 0xAA54);
-
-
- /*
- * FixTSMDocument()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- FixTSMDocument(TSMDocumentID idocID) TWOWORDINLINE(0x7007, 0xAA54);
-
-
- /*
- * GetServiceList()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetServiceList(
- short numOfInterface,
- OSType * supportedInterfaceTypes,
- TextServiceListHandle * serviceInfo,
- long * seedValue) TWOWORDINLINE(0x7008, 0xAA54);
-
-
- /*
- * OpenTextService()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- OpenTextService(
- TSMDocumentID idocID,
- Component aComponent,
- ComponentInstance * aComponentInstance) TWOWORDINLINE(0x7009, 0xAA54);
-
-
- /*
- * CloseTextService()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CloseTextService(
- TSMDocumentID idocID,
- ComponentInstance aComponentInstance) TWOWORDINLINE(0x700A, 0xAA54);
-
-
- /*
- * SendAEFromTSMComponent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SendAEFromTSMComponent(
- const AppleEvent * theAppleEvent,
- AppleEvent * reply,
- AESendMode sendMode,
- AESendPriority sendPriority,
- long timeOutInTicks,
- AEIdleUPP idleProc,
- AEFilterUPP filterProc) TWOWORDINLINE(0x700B, 0xAA54);
-
-
- /*
- * SendTextInputEvent()
- *
- * Discussion:
- * This API replaces SendAEFromTSMComponent on Mac OS X only. Input
- * Methods on Mac OS X are Carbon Event based instead of AppleEvent
- * based. The Carbon TextInput events which they generate are
- * provided to TSM for dispatching via this API.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib N.e.v.e.r and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SendTextInputEvent(EventRef inEvent);
-
-
- /*
- * SetDefaultInputMethod()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDefaultInputMethod(
- Component ts,
- ScriptLanguageRecord * slRecordPtr) TWOWORDINLINE(0x700C, 0xAA54);
-
-
- /*
- * GetDefaultInputMethod()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDefaultInputMethod(
- Component * ts,
- ScriptLanguageRecord * slRecordPtr) TWOWORDINLINE(0x700D, 0xAA54);
-
-
- /*
- * SetTextServiceLanguage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetTextServiceLanguage(ScriptLanguageRecord * slRecordPtr) TWOWORDINLINE(0x700E, 0xAA54);
-
-
- /*
- * GetTextServiceLanguage()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetTextServiceLanguage(ScriptLanguageRecord * slRecordPtr) TWOWORDINLINE(0x700F, 0xAA54);
-
-
- /*
- * UseInputWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UseInputWindow(
- TSMDocumentID idocID,
- Boolean useWindow) TWOWORDINLINE(0x7010, 0xAA54);
-
-
- /*
- * TSMSetInlineInputRegion()
- *
- * Discussion:
- * Tell TSM about the region occupied by an inline input session. If
- * the location of certain mouse events (clicks, mouse moved) occur
- * within the specified inline input region, TSM will forward these
- * events to the current Input Method so that it can interact with
- * the user. Note: If you do not specify this information, TSM will
- * need to intercept mouse events in the entire content region as
- * the default, when an input method is active, in order to ensure
- * that input methods can manage user interaction properly.
- *
- * Parameters:
- *
- * inTSMDocument:
- * The document.
- *
- * inWindow:
- * The window that contains the inline input session. You can pass
- * NULL for this parameter to indicate the user focus window.
- *
- * inRegion:
- * The region occupied by the current inline input region. This
- * should be in the coordinates of the port associated with the
- * window you passed to inPort. It will need to be recomputed when
- * the text content of the inline input session content changes
- * (i.e. due to Update Active Input Area events) and when the
- * region moves for other reasons, such as window resized,
- * scrolling, etc. If you pass a NULL region for this parameter,
- * TSM will default to intercept mouse events in the focus
- * window's content region.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TSMSetInlineInputRegion(
- TSMDocumentID inTSMDocument,
- WindowRef inWindow,
- RgnHandle inRegion);
-
-
-
- /* Following calls from Classic event loops not needed for Carbon clients. */
+/* New opaque definitions for types */
+typedef struct OpaqueTSMDocumentID* TSMDocumentID;
+typedef OSType InterfaceTypeList[1];
+
+/* Text Service Info List */
+struct TextServiceInfo {
+ Component fComponent;
+ Str255 fItemName;
+};
+typedef struct TextServiceInfo TextServiceInfo;
+typedef TextServiceInfo * TextServiceInfoPtr;
+struct TextServiceList {
+ short fTextServiceCount; /* number of entries in the 'fServices' array */
+ TextServiceInfo fServices[1]; /* Note: array of 'TextServiceInfo' records follows */
+};
+typedef struct TextServiceList TextServiceList;
+typedef TextServiceList * TextServiceListPtr;
+typedef TextServiceListPtr * TextServiceListHandle;
+struct ScriptLanguageRecord {
+ ScriptCode fScript;
+ LangCode fLanguage;
+};
+typedef struct ScriptLanguageRecord ScriptLanguageRecord;
+struct ScriptLanguageSupport {
+ short fScriptLanguageCount; /* number of entries in the 'fScriptLanguageArray' array */
+ ScriptLanguageRecord fScriptLanguageArray[1]; /* Note: array of 'ScriptLanguageRecord' records follows */
+};
+typedef struct ScriptLanguageSupport ScriptLanguageSupport;
+typedef ScriptLanguageSupport * ScriptLanguageSupportPtr;
+typedef ScriptLanguageSupportPtr * ScriptLanguageSupportHandle;
+struct TSMGlyphInfo {
+ CFRange range; /* two SInt32s*/
+ ATSFontRef fontRef;
+ UInt16 collection; /* kGlyphCollectionXXX enum*/
+ UInt16 glyphID; /* GID (when collection==0) or CID*/
+};
+typedef struct TSMGlyphInfo TSMGlyphInfo;
+struct TSMGlyphInfoArray {
+ ItemCount numGlyphInfo; /* UInt32*/
+ TSMGlyphInfo glyphInfo[1];
+};
+typedef struct TSMGlyphInfoArray TSMGlyphInfoArray;
+
+/* High level TSM Doucment routines */
+/*
+ * NewTSMDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewTSMDocument(
+ short numOfInterface,
+ InterfaceTypeList supportedInterfaceTypes,
+ TSMDocumentID * idocID,
+ long refcon) TWOWORDINLINE(0x7000, 0xAA54);
+
+
+/*
+ * DeleteTSMDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DeleteTSMDocument(TSMDocumentID idocID) TWOWORDINLINE(0x7001, 0xAA54);
+
+
+/*
+ * ActivateTSMDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ActivateTSMDocument(TSMDocumentID idocID) TWOWORDINLINE(0x7002, 0xAA54);
+
+
+/*
+ * DeactivateTSMDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DeactivateTSMDocument(TSMDocumentID idocID) TWOWORDINLINE(0x7003, 0xAA54);
+
+
+/*
+ * FixTSMDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FixTSMDocument(TSMDocumentID idocID) TWOWORDINLINE(0x7007, 0xAA54);
+
+
+/*
+ * GetServiceList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetServiceList(
+ short numOfInterface,
+ OSType * supportedInterfaceTypes,
+ TextServiceListHandle * serviceInfo,
+ long * seedValue) TWOWORDINLINE(0x7008, 0xAA54);
+
+
+/*
+ * OpenTextService()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OpenTextService(
+ TSMDocumentID idocID,
+ Component aComponent,
+ ComponentInstance * aComponentInstance) TWOWORDINLINE(0x7009, 0xAA54);
+
+
+/*
+ * CloseTextService()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CloseTextService(
+ TSMDocumentID idocID,
+ ComponentInstance aComponentInstance) TWOWORDINLINE(0x700A, 0xAA54);
+
+
+/*
+ * SendAEFromTSMComponent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SendAEFromTSMComponent(
+ const AppleEvent * theAppleEvent,
+ AppleEvent * reply,
+ AESendMode sendMode,
+ AESendPriority sendPriority,
+ long timeOutInTicks,
+ AEIdleUPP idleProc,
+ AEFilterUPP filterProc) TWOWORDINLINE(0x700B, 0xAA54);
+
+
+/*
+ * SendTextInputEvent()
+ *
+ * Discussion:
+ * This API replaces SendAEFromTSMComponent on Mac OS X only. Input
+ * Methods on Mac OS X are Carbon Event based instead of AppleEvent
+ * based. The Carbon TextInput events which they generate are
+ * provided to TSM for dispatching via this API.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib N.e.v.e.r and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SendTextInputEvent(EventRef inEvent);
+
+
+/*
+ * SetDefaultInputMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDefaultInputMethod(
+ Component ts,
+ ScriptLanguageRecord * slRecordPtr) TWOWORDINLINE(0x700C, 0xAA54);
+
+
+/*
+ * GetDefaultInputMethod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDefaultInputMethod(
+ Component * ts,
+ ScriptLanguageRecord * slRecordPtr) TWOWORDINLINE(0x700D, 0xAA54);
+
+
+/*
+ * SetTextServiceLanguage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetTextServiceLanguage(ScriptLanguageRecord * slRecordPtr) TWOWORDINLINE(0x700E, 0xAA54);
+
+
+/*
+ * GetTextServiceLanguage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetTextServiceLanguage(ScriptLanguageRecord * slRecordPtr) TWOWORDINLINE(0x700F, 0xAA54);
+
+
+/*
+ * UseInputWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UseInputWindow(
+ TSMDocumentID idocID,
+ Boolean useWindow) TWOWORDINLINE(0x7010, 0xAA54);
+
+
+/*
+ * TSMSetInlineInputRegion()
+ *
+ * Discussion:
+ * Tell TSM about the region occupied by an inline input session. If
+ * the location of certain mouse events (clicks, mouse moved) occur
+ * within the specified inline input region, TSM will forward these
+ * events to the current Input Method so that it can interact with
+ * the user. Note: If you do not specify this information, TSM will
+ * need to intercept mouse events in the entire content region as
+ * the default, when an input method is active, in order to ensure
+ * that input methods can manage user interaction properly.
+ *
+ * Parameters:
+ *
+ * inTSMDocument:
+ * The document.
+ *
+ * inWindow:
+ * The window that contains the inline input session. You can pass
+ * NULL for this parameter to indicate the user focus window.
+ *
+ * inRegion:
+ * The region occupied by the current inline input region. This
+ * should be in the coordinates of the port associated with the
+ * window you passed to inPort. It will need to be recomputed when
+ * the text content of the inline input session content changes
+ * (i.e. due to Update Active Input Area events) and when the
+ * region moves for other reasons, such as window resized,
+ * scrolling, etc. If you pass a NULL region for this parameter,
+ * TSM will default to intercept mouse events in the focus
+ * window's content region.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TSMSetInlineInputRegion(
+ TSMDocumentID inTSMDocument,
+ WindowRef inWindow,
+ RgnHandle inRegion);
+
+
+
+/* Following calls from Classic event loops not needed for Carbon clients. */
#if CALL_NOT_IN_CARBON
- /*
- * TSMEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- TSMEvent(EventRecord * event) TWOWORDINLINE(0x7004, 0xAA54);
-
-
- /*
- * TSMMenuSelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- TSMMenuSelect(long menuResult) TWOWORDINLINE(0x7005, 0xAA54);
-
-
- /*
- * SetTSMCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Boolean)
- SetTSMCursor(Point mousePos) TWOWORDINLINE(0x7006, 0xAA54);
-
-
- /* Following ServiceWindow API replaced by Window Manager API in Carbon. */
- /*
- * NewServiceWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NewServiceWindow(
- void * wStorage,
- const Rect * boundsRect,
- ConstStr255Param title,
- Boolean visible,
- short theProc,
- WindowRef behind,
- Boolean goAwayFlag,
- ComponentInstance ts,
- WindowRef * window) TWOWORDINLINE(0x7011, 0xAA54);
-
-
- /*
- * CloseServiceWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CloseServiceWindow(WindowRef window) TWOWORDINLINE(0x7012, 0xAA54);
-
-
- /*
- * GetFrontServiceWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- GetFrontServiceWindow(WindowRef * window) TWOWORDINLINE(0x7013, 0xAA54);
-
-
- /*
- * FindServiceWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(short)
- FindServiceWindow(
- Point thePoint,
- WindowRef * theWindow) TWOWORDINLINE(0x7017, 0xAA54);
-
-
- /*
- * NewCServiceWindow()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- NewCServiceWindow(
- void * wStorage,
- const Rect * boundsRect,
- ConstStr255Param title,
- Boolean visible,
- short theProc,
- WindowRef behind,
- Boolean goAwayFlag,
- ComponentInstance ts,
- WindowRef * window) TWOWORDINLINE(0x701A, 0xAA54);
-
-
- /* Explicit initialization not needed for Carbon clients, since TSM is */
- /* instanciated per-context. */
- /*
- * InitTSMAwareApplication()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- InitTSMAwareApplication(void) TWOWORDINLINE(0x7014, 0xAA54);
-
-
- /*
- * CloseTSMAwareApplication()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSErr)
- CloseTSMAwareApplication(void) TWOWORDINLINE(0x7015, 0xAA54);
-
-
-
- /* Component Manager Interfaces to Input Methods */
+/*
+ * TSMEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+TSMEvent(EventRecord * event) TWOWORDINLINE(0x7004, 0xAA54);
+
+
+/*
+ * TSMMenuSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+TSMMenuSelect(long menuResult) TWOWORDINLINE(0x7005, 0xAA54);
+
+
+/*
+ * SetTSMCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+SetTSMCursor(Point mousePos) TWOWORDINLINE(0x7006, 0xAA54);
+
+
+/* Following ServiceWindow API replaced by Window Manager API in Carbon. */
+/*
+ * NewServiceWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NewServiceWindow(
+ void * wStorage,
+ const Rect * boundsRect,
+ ConstStr255Param title,
+ Boolean visible,
+ short theProc,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ ComponentInstance ts,
+ WindowRef * window) TWOWORDINLINE(0x7011, 0xAA54);
+
+
+/*
+ * CloseServiceWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CloseServiceWindow(WindowRef window) TWOWORDINLINE(0x7012, 0xAA54);
+
+
+/*
+ * GetFrontServiceWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+GetFrontServiceWindow(WindowRef * window) TWOWORDINLINE(0x7013, 0xAA54);
+
+
+/*
+ * FindServiceWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+FindServiceWindow(
+ Point thePoint,
+ WindowRef * theWindow) TWOWORDINLINE(0x7017, 0xAA54);
+
+
+/*
+ * NewCServiceWindow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+NewCServiceWindow(
+ void * wStorage,
+ const Rect * boundsRect,
+ ConstStr255Param title,
+ Boolean visible,
+ short theProc,
+ WindowRef behind,
+ Boolean goAwayFlag,
+ ComponentInstance ts,
+ WindowRef * window) TWOWORDINLINE(0x701A, 0xAA54);
+
+
+/* Explicit initialization not needed for Carbon clients, since TSM is */
+/* instanciated per-context. */
+/*
+ * InitTSMAwareApplication()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+InitTSMAwareApplication(void) TWOWORDINLINE(0x7014, 0xAA54);
+
+
+/*
+ * CloseTSMAwareApplication()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+CloseTSMAwareApplication(void) TWOWORDINLINE(0x7015, 0xAA54);
+
+
+
+/* Component Manager Interfaces to Input Methods */
#endif /* CALL_NOT_IN_CARBON */
- /*
- * GetScriptLanguageSupport()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- GetScriptLanguageSupport(
- ComponentInstance ts,
- ScriptLanguageSupportHandle * scriptHdl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
-
-
- /*
- * InitiateTextService()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- InitiateTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0002, 0x7000, 0xA82A);
-
-
- /*
- * TerminateTextService()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- TerminateTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
-
-
- /*
- * ActivateTextService()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- ActivateTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
-
-
- /*
- * DeactivateTextService()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- DeactivateTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
-
-
- /*
- * GetTextServiceMenu()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- GetTextServiceMenu(
- ComponentInstance ts,
- MenuRef * serviceMenu) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
-
-
- /* New Text Service call in Carbon. */
- /* Note: Only Raw Key and Mouse-flavored events are passed to Text Services on MacOS X. */
- /*
- * TextServiceEventRef()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.1 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- TextServiceEventRef(
- ComponentInstance ts,
- EventRef event) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0006, 0x7000, 0xA82A);
+/*
+ * GetScriptLanguageSupport()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+GetScriptLanguageSupport(
+ ComponentInstance ts,
+ ScriptLanguageSupportHandle * scriptHdl) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
+
+
+/*
+ * InitiateTextService()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+InitiateTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0002, 0x7000, 0xA82A);
+
+
+/*
+ * TerminateTextService()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+TerminateTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
+
+
+/*
+ * ActivateTextService()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+ActivateTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
+
+
+/*
+ * DeactivateTextService()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+DeactivateTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
+
+
+/*
+ * GetTextServiceMenu()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+GetTextServiceMenu(
+ ComponentInstance ts,
+ MenuRef * serviceMenu) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
+
+
+/* New Text Service call in Carbon. */
+/* Note: Only Raw Key and Mouse-flavored events are passed to Text Services on MacOS X. */
+/*
+ * TextServiceEventRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+TextServiceEventRef(
+ ComponentInstance ts,
+ EventRef event) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0006, 0x7000, 0xA82A);
#if CALL_NOT_IN_CARBON
- /*
- * TextServiceEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- TextServiceEvent(
- ComponentInstance ts,
- short numOfEvents,
- EventRecord * event) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0006, 0x7000, 0xA82A);
-
-
- /*
- * UCTextServiceEvent()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 8.5 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- UCTextServiceEvent(
- ComponentInstance ts,
- short numOfEvents,
- EventRecord * event,
- UniChar unicodeString[],
- UniCharCount unicodeStrLength) FIVEWORDINLINE(0x2F3C, 0x000E, 0x000E, 0x7000, 0xA82A);
-
-
- /*
- * TextServiceMenuSelect()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- TextServiceMenuSelect(
- ComponentInstance ts,
- MenuRef serviceMenu,
- short item) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0008, 0x7000, 0xA82A);
-
-
- /*
- * SetTextServiceCursor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(ComponentResult)
- SetTextServiceCursor(
- ComponentInstance ts,
- Point mousePos) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
+/*
+ * TextServiceEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+TextServiceEvent(
+ ComponentInstance ts,
+ short numOfEvents,
+ EventRecord * event) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0006, 0x7000, 0xA82A);
+
+
+/*
+ * UCTextServiceEvent()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+UCTextServiceEvent(
+ ComponentInstance ts,
+ short numOfEvents,
+ EventRecord * event,
+ UniChar unicodeString[],
+ UniCharCount unicodeStrLength) FIVEWORDINLINE(0x2F3C, 0x000E, 0x000E, 0x7000, 0xA82A);
+
+
+/*
+ * TextServiceMenuSelect()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+TextServiceMenuSelect(
+ ComponentInstance ts,
+ MenuRef serviceMenu,
+ short item) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0008, 0x7000, 0xA82A);
+
+
+/*
+ * SetTextServiceCursor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( ComponentResult )
+SetTextServiceCursor(
+ ComponentInstance ts,
+ Point mousePos) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * FixTextService()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- FixTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0009, 0x7000, 0xA82A);
-
-
- /*
- * HidePaletteWindows()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- HidePaletteWindows(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000B, 0x7000, 0xA82A);
-
-
- /*
- * GetTextServiceProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- GetTextServiceProperty(
- ComponentInstance ts,
- OSType propertySelector,
- SInt32 * result) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
-
-
- /*
- * SetTextServiceProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ComponentResult)
- SetTextServiceProperty(
- ComponentInstance ts,
- OSType propertySelector,
- SInt32 value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000D, 0x7000, 0xA82A);
-
-
- /* Get the active TSMDocument in the current application context. */
- /* If TSM has enabled bottom line input mode because no TSMDocument */
- /* is active, NULL will be returned. */
- /*
- * TSMGetActiveDocument()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(TSMDocumentID)
- TSMGetActiveDocument(void);
-
-
- /*
- * GetDefaultInputMethodOfClass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- GetDefaultInputMethodOfClass(
- Component * aComp,
- ScriptLanguageRecord * slRecPtr,
- TextServiceClass tsClass);
-
-
- /*
- * SetDefaultInputMethodOfClass()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- SetDefaultInputMethodOfClass(
- Component aComp,
- ScriptLanguageRecord * slRecPtr,
- TextServiceClass tsClass);
-
-
- /*
- * DeselectTextService()
- *
- * Discussion:
- * This API is currently only intended for use by Character Palette
- * class input methods. It allows such an input method to notify TSM
- * that it has been closed by the user as a result of interaction
- * with the input method's own UI, such a palette window's close
- * button, instead of via the normal UI provided by the System, such
- * as the Keyboard Menu. Note that this API is only meant for use
- * with "additive" text service classes (such as Character
- * Palettes), and not with traditional input methods which are
- * exclusively selected in a given class and script, such as
- * keyboard input methods.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- DeselectTextService(Component aComp);
-
-
- /*
- * SelectTextService()
- *
- * Discussion:
- * This API is currently only intended for use by the system UI
- * (Keyboard Menu or prefs panel) and input methods that wish to set
- * to the "selected" state a text service which is "additive" in
- * nature. It is not intended for use with input methods that are
- * "exclusive" in nature (see DeselectTextService). It allows an
- * input method to notify TSM that it has been selected by the user
- * as a result of interaction with some UI (possibly another input
- * method), instead of via the normal UI provided by the System,
- * such as the Keyboard Menu.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- SelectTextService(Component aComp);
-
-
- /*
- * TSMSetDocumentProperty()
- *
- * Discussion:
- * This API is currently only needed for applications that wish to
- * signal to TSM that it supports GlyphID specification in TSM
- * events containing Unicode text (see
- * kTSMDocumentPropertySupportGlyphInfo). Input Methods call
- * TSMGetDocumentProperty() against the currently active TSMDocument
- * to test whether the app supports this glyph info. These TSM
- * property API can also be freely used by applications to relate
- * arbitrary data to a given TSMDocument.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- TSMSetDocumentProperty(
- TSMDocumentID docID,
- OSType propertyTag,
- UInt32 propertySize,
- void * propertyData);
-
-
- /*
- * TSMGetDocumentProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- TSMGetDocumentProperty(
- TSMDocumentID docID,
- OSType propertyTag,
- UInt32 bufferSize,
- UInt32 * actualSize,
- void * propertyBuffer); /* can be NULL */
-
-
- /*
- * TSMRemoveDocumentProperty()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API(OSStatus)
- TSMRemoveDocumentProperty(
- TSMDocumentID docID,
- OSType propertyTag);
+/*
+ * FixTextService()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+FixTextService(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0009, 0x7000, 0xA82A);
+
+
+/*
+ * HidePaletteWindows()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+HidePaletteWindows(ComponentInstance ts) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000B, 0x7000, 0xA82A);
+
+
+/*
+ * GetTextServiceProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+GetTextServiceProperty(
+ ComponentInstance ts,
+ OSType propertySelector,
+ SInt32 * result) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
+
+
+/*
+ * SetTextServiceProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ComponentResult )
+SetTextServiceProperty(
+ ComponentInstance ts,
+ OSType propertySelector,
+ SInt32 value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000D, 0x7000, 0xA82A);
+
+
+/* Get the active TSMDocument in the current application context. */
+/* If TSM has enabled bottom line input mode because no TSMDocument */
+/* is active, NULL will be returned. */
+/*
+ * TSMGetActiveDocument()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( TSMDocumentID )
+TSMGetActiveDocument(void);
+
+
+/*
+ * GetDefaultInputMethodOfClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+GetDefaultInputMethodOfClass(
+ Component * aComp,
+ ScriptLanguageRecord * slRecPtr,
+ TextServiceClass tsClass);
+
+
+/*
+ * SetDefaultInputMethodOfClass()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+SetDefaultInputMethodOfClass(
+ Component aComp,
+ ScriptLanguageRecord * slRecPtr,
+ TextServiceClass tsClass);
+
+
+/*
+ * DeselectTextService()
+ *
+ * Discussion:
+ * This API is currently only intended for use by Character Palette
+ * class input methods. It allows such an input method to notify TSM
+ * that it has been closed by the user as a result of interaction
+ * with the input method's own UI, such a palette window's close
+ * button, instead of via the normal UI provided by the System, such
+ * as the Keyboard Menu. Note that this API is only meant for use
+ * with "additive" text service classes (such as Character
+ * Palettes), and not with traditional input methods which are
+ * exclusively selected in a given class and script, such as
+ * keyboard input methods.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+DeselectTextService(Component aComp);
+
+
+/*
+ * SelectTextService()
+ *
+ * Discussion:
+ * This API is currently only intended for use by the system UI
+ * (Keyboard Menu or prefs panel) and input methods that wish to set
+ * to the "selected" state a text service which is "additive" in
+ * nature. It is not intended for use with input methods that are
+ * "exclusive" in nature (see DeselectTextService). It allows an
+ * input method to notify TSM that it has been selected by the user
+ * as a result of interaction with some UI (possibly another input
+ * method), instead of via the normal UI provided by the System,
+ * such as the Keyboard Menu.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+SelectTextService(Component aComp);
+
+
+/*
+ * TSMSetDocumentProperty()
+ *
+ * Discussion:
+ * This API is currently only needed for applications that wish to
+ * signal to TSM that it supports GlyphID specification in TSM
+ * events containing Unicode text (see
+ * kTSMDocumentPropertySupportGlyphInfo). Input Methods call
+ * TSMGetDocumentProperty() against the currently active TSMDocument
+ * to test whether the app supports this glyph info. These TSM
+ * property API can also be freely used by applications to relate
+ * arbitrary data to a given TSMDocument.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+TSMSetDocumentProperty(
+ TSMDocumentID docID,
+ OSType propertyTag,
+ UInt32 propertySize,
+ void * propertyData);
+
+
+/*
+ * TSMGetDocumentProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+TSMGetDocumentProperty(
+ TSMDocumentID docID,
+ OSType propertyTag,
+ UInt32 bufferSize,
+ UInt32 * actualSize,
+ void * propertyBuffer); /* can be NULL */
+
+
+/*
+ * TSMRemoveDocumentProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+TSMRemoveDocumentProperty(
+ TSMDocumentID docID,
+ OSType propertyTag);
#if OLDROUTINENAMES
- enum
- {
- kInputMethodService = kKeyboardInputMethodClass
- };
+enum {
+ kInputMethodService = kKeyboardInputMethodClass
+};
#endif /* OLDROUTINENAMES */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/TextUtils.h b/include/qt/TextUtils.h
index 9a4cc4c9a..bc8e25823 100644
--- a/include/qt/TextUtils.h
+++ b/include/qt/TextUtils.h
@@ -1,17 +1,17 @@
/*
File: TextUtils.h
-
+
Contains: Text Utilities Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TEXTUTILS__
#define __TEXTUTILS__
@@ -48,625 +48,622 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
-
- Here are the current System 7 routine names and the translations to the older forms.
- Please use the newer forms in all new code and migrate the older names out of existing
- code as maintainance permits.
-
- NEW NAME OLD NAMEs OBSOLETE FORM (no script code)
-
- FindScriptRun
- FindWordBreaks NFindWord, FindWord
- GetIndString
- GetString
- Munger
- NewString
- SetString
- StyledLineBreak
- TruncString
- TruncText
-
- UpperString ($A054) UprString, UprText
- UppercaseText SCUpperText (a only) UpperText ($A456)
- LowercaseText LwrString, LowerText, LwrText ($A056)
- StripDiacritics StripText ($A256)
- UppercaseStripDiacritics StripUpperText ($A656)
-
-
- */
-
- /* TruncCode, StyledLineBreakCode, and truncation constants moved to QuickDrawText.i */
- struct ScriptRunStatus
- {
- SInt8 script;
- SInt8 runVariant;
- };
- typedef struct ScriptRunStatus ScriptRunStatus;
- struct BreakTable
- {
- char charTypes[256];
- short tripleLength;
- short triples[1];
- };
- typedef struct BreakTable BreakTable;
- typedef BreakTable * BreakTablePtr;
- struct NBreakTable
- {
- SInt8 flags1;
- SInt8 flags2;
- short version;
- short classTableOff;
- short auxCTableOff;
- short backwdTableOff;
- short forwdTableOff;
- short doBackup;
- short length; /* length of NBreakTable */
- char charTypes[256];
- short tables[1];
- };
- typedef struct NBreakTable NBreakTable;
- typedef NBreakTable * NBreakTablePtr;
- /* The following functions are new names that work on 68k and PowerPC*/
- /*
- * Munger()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- Munger(
- Handle h,
- long offset,
- const void * ptr1,
- long len1,
- const void * ptr2,
- long len2) ONEWORDINLINE(0xA9E0);
-
-
- /*
- * NewString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringHandle)
- NewString(ConstStr255Param theString) ONEWORDINLINE(0xA906);
-
-
- /*
- * SetString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- SetString(
- StringHandle theString,
- ConstStr255Param strNew) ONEWORDINLINE(0xA907);
-
-
- /*
- * GetString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(StringHandle)
- GetString(short stringID) ONEWORDINLINE(0xA9BA);
-
-
- /*
- * GetIndString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- GetIndString(
- Str255 theString,
- short strListID,
- short index);
+/*
+
+ Here are the current System 7 routine names and the translations to the older forms.
+ Please use the newer forms in all new code and migrate the older names out of existing
+ code as maintainance permits.
+
+ NEW NAME OLD NAMEs OBSOLETE FORM (no script code)
+
+ FindScriptRun
+ FindWordBreaks NFindWord, FindWord
+ GetIndString
+ GetString
+ Munger
+ NewString
+ SetString
+ StyledLineBreak
+ TruncString
+ TruncText
+
+ UpperString ($A054) UprString, UprText
+ UppercaseText SCUpperText (a only) UpperText ($A456)
+ LowercaseText LwrString, LowerText, LwrText ($A056)
+ StripDiacritics StripText ($A256)
+ UppercaseStripDiacritics StripUpperText ($A656)
+
+
+*/
+
+/* TruncCode, StyledLineBreakCode, and truncation constants moved to QuickDrawText.i */
+struct ScriptRunStatus {
+ SInt8 script;
+ SInt8 runVariant;
+};
+typedef struct ScriptRunStatus ScriptRunStatus;
+struct BreakTable {
+ char charTypes[256];
+ short tripleLength;
+ short triples[1];
+};
+typedef struct BreakTable BreakTable;
+typedef BreakTable * BreakTablePtr;
+struct NBreakTable {
+ SInt8 flags1;
+ SInt8 flags2;
+ short version;
+ short classTableOff;
+ short auxCTableOff;
+ short backwdTableOff;
+ short forwdTableOff;
+ short doBackup;
+ short length; /* length of NBreakTable */
+ char charTypes[256];
+ short tables[1];
+};
+typedef struct NBreakTable NBreakTable;
+typedef NBreakTable * NBreakTablePtr;
+/* The following functions are new names that work on 68k and PowerPC*/
+/*
+ * Munger()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+Munger(
+ Handle h,
+ long offset,
+ const void * ptr1,
+ long len1,
+ const void * ptr2,
+ long len2) ONEWORDINLINE(0xA9E0);
+
+
+/*
+ * NewString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringHandle )
+NewString(ConstStr255Param theString) ONEWORDINLINE(0xA906);
+
+
+/*
+ * SetString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetString(
+ StringHandle theString,
+ ConstStr255Param strNew) ONEWORDINLINE(0xA907);
+
+
+/*
+ * GetString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( StringHandle )
+GetString(short stringID) ONEWORDINLINE(0xA9BA);
+
+
+/*
+ * GetIndString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetIndString(
+ Str255 theString,
+ short strListID,
+ short index);
#if CALL_NOT_IN_CARBON
- /*
- * setstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- setstring(
- StringHandle theString,
- const char * strNew);
-
-
- /*
- * newstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(StringHandle)
- newstring(const char * theString);
-
-
- /*
- * getindstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void)
- getindstring(
- char * theString,
- short strListID,
- short index);
+/*
+ * setstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+setstring(
+ StringHandle theString,
+ const char * strNew);
+
+
+/*
+ * newstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( StringHandle )
+newstring(const char * theString);
+
+
+/*
+ * getindstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getindstring(
+ char * theString,
+ short strListID,
+ short index);
#endif /* CALL_NOT_IN_CARBON */
- /*
- * FindWordBreaks()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- FindWordBreaks(
- Ptr textPtr,
- short textLength,
- short offset,
- Boolean leadingEdge,
- BreakTablePtr breaks,
- OffsetTable offsets,
- ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC012, 0x001A, 0xA8B5);
-
-
- /*
- * LowercaseText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- LowercaseText(
- Ptr textPtr,
- short len,
- ScriptCode script) SIXWORDINLINE(0x3F3C, 0x0000, 0x2F3C, 0x800A, 0xFFB6, 0xA8B5);
-
-
- /*
- * UppercaseText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UppercaseText(
- Ptr textPtr,
- short len,
- ScriptCode script) SIXWORDINLINE(0x3F3C, 0x0400, 0x2F3C, 0x800A, 0xFFB6, 0xA8B5);
-
-
- /*
- * StripDiacritics()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- StripDiacritics(
- Ptr textPtr,
- short len,
- ScriptCode script) SIXWORDINLINE(0x3F3C, 0x0200, 0x2F3C, 0x800A, 0xFFB6, 0xA8B5);
-
-
- /*
- * UppercaseStripDiacritics()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UppercaseStripDiacritics(
- Ptr textPtr,
- short len,
- ScriptCode script) SIXWORDINLINE(0x3F3C, 0x0600, 0x2F3C, 0x800A, 0xFFB6, 0xA8B5);
-
-
- /*
- * FindScriptRun()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(ScriptRunStatus)
- FindScriptRun(
- Ptr textPtr,
- long textLen,
- long * lenUsed) FOURWORDINLINE(0x2F3C, 0x820C, 0x0026, 0xA8B5);
-
-
- /*
- The following functions are old names, but are required for PowerPC builds
- because InterfaceLib exports these names, instead of the new ones.
- */
+/*
+ * FindWordBreaks()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FindWordBreaks(
+ Ptr textPtr,
+ short textLength,
+ short offset,
+ Boolean leadingEdge,
+ BreakTablePtr breaks,
+ OffsetTable offsets,
+ ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC012, 0x001A, 0xA8B5);
+
+
+/*
+ * LowercaseText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+LowercaseText(
+ Ptr textPtr,
+ short len,
+ ScriptCode script) SIXWORDINLINE(0x3F3C, 0x0000, 0x2F3C, 0x800A, 0xFFB6, 0xA8B5);
+
+
+/*
+ * UppercaseText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UppercaseText(
+ Ptr textPtr,
+ short len,
+ ScriptCode script) SIXWORDINLINE(0x3F3C, 0x0400, 0x2F3C, 0x800A, 0xFFB6, 0xA8B5);
+
+
+/*
+ * StripDiacritics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+StripDiacritics(
+ Ptr textPtr,
+ short len,
+ ScriptCode script) SIXWORDINLINE(0x3F3C, 0x0200, 0x2F3C, 0x800A, 0xFFB6, 0xA8B5);
+
+
+/*
+ * UppercaseStripDiacritics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UppercaseStripDiacritics(
+ Ptr textPtr,
+ short len,
+ ScriptCode script) SIXWORDINLINE(0x3F3C, 0x0600, 0x2F3C, 0x800A, 0xFFB6, 0xA8B5);
+
+
+/*
+ * FindScriptRun()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( ScriptRunStatus )
+FindScriptRun(
+ Ptr textPtr,
+ long textLen,
+ long * lenUsed) FOURWORDINLINE(0x2F3C, 0x820C, 0x0026, 0xA8B5);
+
+
+/*
+ The following functions are old names, but are required for PowerPC builds
+ because InterfaceLib exports these names, instead of the new ones.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * FindWord()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- FindWord(
- Ptr textPtr,
- short textLength,
- short offset,
- Boolean leadingEdge,
- BreakTablePtr breaks,
- OffsetTable offsets) FOURWORDINLINE(0x2F3C, 0x8012, 0x001A, 0xA8B5);
-
-
- /*
- * NFindWord()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- NFindWord(
- Ptr textPtr,
- short textLength,
- short offset,
- Boolean leadingEdge,
- NBreakTablePtr nbreaks,
- OffsetTable offsets) FOURWORDINLINE(0x2F3C, 0x8012, 0xFFE2, 0xA8B5);
-
-
- /*
- On 68K machines, LwrText, LowerText, StripText, UpperText and StripUpperText
- return an error code in register D0, but System 7 PowerMacs do not emulate
- this properly, so checking D0 is unreliable.
- */
-
- /*
- * LwrText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * FindWord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FindWord(
+ Ptr textPtr,
+ short textLength,
+ short offset,
+ Boolean leadingEdge,
+ BreakTablePtr breaks,
+ OffsetTable offsets) FOURWORDINLINE(0x2F3C, 0x8012, 0x001A, 0xA8B5);
+
+
+/*
+ * NFindWord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+NFindWord(
+ Ptr textPtr,
+ short textLength,
+ short offset,
+ Boolean leadingEdge,
+ NBreakTablePtr nbreaks,
+ OffsetTable offsets) FOURWORDINLINE(0x2F3C, 0x8012, 0xFFE2, 0xA8B5);
+
+
+/*
+ On 68K machines, LwrText, LowerText, StripText, UpperText and StripUpperText
+ return an error code in register D0, but System 7 PowerMacs do not emulate
+ this properly, so checking D0 is unreliable.
+*/
+
+/*
+ * LwrText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter LwrText(__A0, __D0)
#endif
- EXTERN_API(void)
- LwrText(
- Ptr textPtr,
- short len) ONEWORDINLINE(0xA056);
-
-
- /*
- * LowerText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( void )
+LwrText(
+ Ptr textPtr,
+ short len) ONEWORDINLINE(0xA056);
+
+
+/*
+ * LowerText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter LowerText(__A0, __D0)
#endif
- EXTERN_API(void)
- LowerText(
- Ptr textPtr,
- short len) ONEWORDINLINE(0xA056);
-
-
- /*
- * StripText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( void )
+LowerText(
+ Ptr textPtr,
+ short len) ONEWORDINLINE(0xA056);
+
+
+/*
+ * StripText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter StripText(__A0, __D0)
#endif
- EXTERN_API(void)
- StripText(
- Ptr textPtr,
- short len) ONEWORDINLINE(0xA256);
-
-
- /*
- * UpperText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( void )
+StripText(
+ Ptr textPtr,
+ short len) ONEWORDINLINE(0xA256);
+
+
+/*
+ * UpperText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter UpperText(__A0, __D0)
#endif
- EXTERN_API(void)
- UpperText(
- Ptr textPtr,
- short len) ONEWORDINLINE(0xA456);
-
-
- /*
- * StripUpperText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+EXTERN_API( void )
+UpperText(
+ Ptr textPtr,
+ short len) ONEWORDINLINE(0xA456);
+
+
+/*
+ * StripUpperText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter StripUpperText(__A0, __D0)
#endif
- EXTERN_API(void)
- StripUpperText(
- Ptr textPtr,
- short len) ONEWORDINLINE(0xA656);
+EXTERN_API( void )
+StripUpperText(
+ Ptr textPtr,
+ short len) ONEWORDINLINE(0xA656);
- /* The following are new names which are exported by InterfaceLib*/
+/* The following are new names which are exported by InterfaceLib*/
#endif /* CALL_NOT_IN_CARBON */
- /*
- * UpperString()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- UpperString(
- Str255 theString,
- Boolean diacSensitive);
-
-
- /*
- * upperstring()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- upperstring(
- char * theString,
- Boolean diacSensitive);
-
-
- /* The following are macros which map old names to the names exported by InterfaceLib*/
+/*
+ * UpperString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+UpperString(
+ Str255 theString,
+ Boolean diacSensitive);
+
+
+/*
+ * upperstring()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+upperstring(
+ char * theString,
+ Boolean diacSensitive);
+
+
+/* The following are macros which map old names to the names exported by InterfaceLib*/
#if OLDROUTINENAMES
#define UprString(theString, diacSensitive) \
UpperString(theString, diacSensitive)
#endif /* OLDROUTINENAMES */
- /* Old routine name but no new names are mapped to it:*/
+/* Old routine name but no new names are mapped to it:*/
#if CALL_NOT_IN_CARBON
- /*
- * UprText()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
+/*
+ * UprText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter UprText(__A0, __D0)
#endif
- EXTERN_API(void)
- UprText(
- Ptr textPtr,
- short len) ONEWORDINLINE(0xA054);
+EXTERN_API( void )
+UprText(
+ Ptr textPtr,
+ short len) ONEWORDINLINE(0xA054);
#endif /* CALL_NOT_IN_CARBON */
- /*
- Functions for converting between C and Pascal Strings
- (Previously in Strings.h)
-
- Note: CopyPascalStringToC, CopyCStringToPascal, c2pstrcpy, and p2cstrcpy
- are written to allow inplace conversion. That is, the src and dst
- parameters can point to the memory location. These functions
- are available in CarbonLib and CarbonAccessors.o.
-
- Note: c2pstr, C2PStr, p2cstr, and P2CStr are all deprecated. These functions
- only do inplace conversion and often require casts to call them. This can
- cause bugs because you can easily cast away a const and change the
- contents of a read-only buffer. These functions are available
- in InterfaceLib, or when building for Carbon if you #define OLDP2C,
- then they are available as a macro.
-
- */
- /*
- * c2pstrcpy()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- c2pstrcpy(
- Str255 dst,
- const char * src);
-
-
- /*
- * p2cstrcpy()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- p2cstrcpy(
- char * dst,
- ConstStr255Param src);
-
-
- /*
- * CopyPascalStringToC()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CopyPascalStringToC(
- ConstStr255Param src,
- char * dst);
-
-
- /*
- * CopyCStringToPascal()
- *
- * Availability:
- * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- CopyCStringToPascal(
- const char * src,
- Str255 dst);
+/*
+ Functions for converting between C and Pascal Strings
+ (Previously in Strings.h)
+
+ Note: CopyPascalStringToC, CopyCStringToPascal, c2pstrcpy, and p2cstrcpy
+ are written to allow inplace conversion. That is, the src and dst
+ parameters can point to the memory location. These functions
+ are available in CarbonLib and CarbonAccessors.o.
+
+ Note: c2pstr, C2PStr, p2cstr, and P2CStr are all deprecated. These functions
+ only do inplace conversion and often require casts to call them. This can
+ cause bugs because you can easily cast away a const and change the
+ contents of a read-only buffer. These functions are available
+ in InterfaceLib, or when building for Carbon if you #define OLDP2C,
+ then they are available as a macro.
+
+*/
+/*
+ * c2pstrcpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+c2pstrcpy(
+ Str255 dst,
+ const char * src);
+
+
+/*
+ * p2cstrcpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+p2cstrcpy(
+ char * dst,
+ ConstStr255Param src);
+
+
+/*
+ * CopyPascalStringToC()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CopyPascalStringToC(
+ ConstStr255Param src,
+ char * dst);
+
+
+/*
+ * CopyCStringToPascal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in CarbonAccessors.o 1.0.2 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+CopyCStringToPascal(
+ const char * src,
+ Str255 dst);
#if CALL_NOT_IN_CARBON
- /*
- * c2pstr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(StringPtr)
- c2pstr(char * aStr);
-
-
- /*
- * C2PStr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(StringPtr)
- C2PStr(Ptr cString);
-
-
- /*
- * p2cstr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(char *)
- p2cstr(StringPtr aStr);
-
-
- /*
- * P2CStr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(Ptr)
- P2CStr(StringPtr pString);
+/*
+ * c2pstr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( StringPtr )
+c2pstr(char * aStr);
+
+
+/*
+ * C2PStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( StringPtr )
+C2PStr(Ptr cString);
+
+
+/*
+ * p2cstr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( char * )
+p2cstr(StringPtr aStr);
+
+
+/*
+ * P2CStr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Ptr )
+P2CStr(StringPtr pString);
#endif /* CALL_NOT_IN_CARBON */
#if !TARGET_OS_MAC
/* Added for QuickTime 3.0 */
-#define C2PStr(a) (StringPtr)c2pstr((Ptr)(a))
-#define P2CStr(a) (Ptr)p2cstr(a)
+ #define C2PStr(a) (StringPtr)c2pstr((Ptr)(a))
+ #define P2CStr(a) (Ptr)p2cstr(a)
-#define CopyPascalStringToC(src,dst) p2cstrcpy(dst,src)
-#define CopyCStringToPascal(src,dst) c2pstrcpy(dst,src)
+ #define CopyPascalStringToC(src,dst) p2cstrcpy(dst,src)
+ #define CopyCStringToPascal(src,dst) c2pstrcpy(dst,src)
#endif
#if TARGET_OS_MAC && TARGET_API_MAC_CARBON && OLDP2C
/* macros to help source code that uses deprecated inplace */
/* conversion routines to compiler for carbon */
-#define p2cstr(aStr) (p2cstrcpy((char *) aStr, aStr) , (char *) aStr)
-#define c2pstr(aStr) (c2pstrcpy((StringPtr)aStr, aStr) , (StringPtr) aStr)
+ #define p2cstr(aStr) (p2cstrcpy((char *) aStr, aStr) , (char *) aStr)
+ #define c2pstr(aStr) (c2pstrcpy((StringPtr)aStr, aStr) , (StringPtr) aStr)
-#define C2PStr(a) (StringPtr)c2pstr((Ptr)(a))
-#define P2CStr(a) (Ptr)p2cstr(a)
+ #define C2PStr(a) (StringPtr)c2pstr((Ptr)(a))
+ #define P2CStr(a) (Ptr)p2cstr(a)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Threads.h b/include/qt/Threads.h
index c8315abc4..d313018b1 100644
--- a/include/qt/Threads.h
+++ b/include/qt/Threads.h
@@ -1,17 +1,17 @@
/*
File: Threads.h
-
+
Contains: Thread Manager Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __THREADS__
#define __THREADS__
@@ -44,883 +44,836 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- /* Thread states*/
- typedef UInt16 ThreadState;
- enum
- {
- kReadyThreadState = 0,
- kStoppedThreadState = 1,
- kRunningThreadState = 2
- };
-
- /* Error codes have been moved to Errors.(pah)*/
-
- /* Thread environment characteristics*/
- typedef void * ThreadTaskRef;
- /* Thread characteristics*/
- typedef UInt32 ThreadStyle;
- enum
- {
- kCooperativeThread = 1L << 0,
- kPreemptiveThread = 1L << 1
- };
-
- /* Thread identifiers*/
- typedef UInt32 ThreadID;
- enum
- {
- kNoThreadID = 0,
- kCurrentThreadID = 1,
- kApplicationThreadID = 2
- };
-
- /* Options when creating a thread*/
- typedef UInt32 ThreadOptions;
- enum
- {
- kNewSuspend = (1 << 0),
- kUsePremadeThread = (1 << 1),
- kCreateIfNeeded = (1 << 2),
- kFPUNotNeeded = (1 << 3),
- kExactMatchThread = (1 << 4)
- };
-
- /* Information supplied to the custom scheduler*/
- struct SchedulerInfoRec
- {
- UInt32 InfoRecSize;
- ThreadID CurrentThreadID;
- ThreadID SuggestedThreadID;
- ThreadID InterruptedCoopThreadID;
- };
- typedef struct SchedulerInfoRec SchedulerInfoRec;
- typedef SchedulerInfoRec * SchedulerInfoRecPtr;
-
- /*
- The following ProcPtrs cannot be interchanged with UniversalProcPtrs because
- of differences between 680x0 and PowerPC runtime architectures with regard to
- the implementation of the Thread Manager.
- */
- typedef void * voidPtr;
- /* Prototype for thread's entry (main) routine*/
- typedef CALLBACK_API(voidPtr , ThreadEntryProcPtr)(void * threadParam);
- /* Prototype for custom thread scheduler routine*/
- typedef CALLBACK_API(ThreadID , ThreadSchedulerProcPtr)(SchedulerInfoRecPtr schedulerInfo);
- /* Prototype for custom thread switcher routine*/
- typedef CALLBACK_API(void , ThreadSwitchProcPtr)(ThreadID threadBeingSwitched, void *switchProcParam);
- /* Prototype for thread termination notification routine*/
- typedef CALLBACK_API(void , ThreadTerminationProcPtr)(ThreadID threadTerminated, void *terminationProcParam);
- /* Prototype for debugger NewThread notification*/
- typedef CALLBACK_API(void , DebuggerNewThreadProcPtr)(ThreadID threadCreated);
- /* Prototype for debugger DisposeThread notification*/
- typedef CALLBACK_API(void , DebuggerDisposeThreadProcPtr)(ThreadID threadDeleted);
- /* Prototype for debugger schedule notification*/
- typedef CALLBACK_API(ThreadID , DebuggerThreadSchedulerProcPtr)(SchedulerInfoRecPtr schedulerInfo);
- typedef TVECTOR_UPP_TYPE(ThreadEntryProcPtr) ThreadEntryUPP;
- typedef TVECTOR_UPP_TYPE(ThreadSchedulerProcPtr) ThreadSchedulerUPP;
- typedef TVECTOR_UPP_TYPE(ThreadSwitchProcPtr) ThreadSwitchUPP;
- typedef TVECTOR_UPP_TYPE(ThreadTerminationProcPtr) ThreadTerminationUPP;
- typedef TVECTOR_UPP_TYPE(DebuggerNewThreadProcPtr) DebuggerNewThreadUPP;
- typedef TVECTOR_UPP_TYPE(DebuggerDisposeThreadProcPtr) DebuggerDisposeThreadUPP;
- typedef TVECTOR_UPP_TYPE(DebuggerThreadSchedulerProcPtr) DebuggerThreadSchedulerUPP;
- /*
- * NewThreadEntryUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThreadEntryUPP)
- NewThreadEntryUPP(ThreadEntryProcPtr userRoutine);
+ #pragma pack(2)
+#endif
+
+/* Thread states*/
+typedef UInt16 ThreadState;
+enum {
+ kReadyThreadState = 0,
+ kStoppedThreadState = 1,
+ kRunningThreadState = 2
+};
+
+/* Error codes have been moved to Errors.(pah)*/
+
+/* Thread environment characteristics*/
+typedef void * ThreadTaskRef;
+/* Thread characteristics*/
+typedef UInt32 ThreadStyle;
+enum {
+ kCooperativeThread = 1L << 0,
+ kPreemptiveThread = 1L << 1
+};
+
+/* Thread identifiers*/
+typedef UInt32 ThreadID;
+enum {
+ kNoThreadID = 0,
+ kCurrentThreadID = 1,
+ kApplicationThreadID = 2
+};
+
+/* Options when creating a thread*/
+typedef UInt32 ThreadOptions;
+enum {
+ kNewSuspend = (1 << 0),
+ kUsePremadeThread = (1 << 1),
+ kCreateIfNeeded = (1 << 2),
+ kFPUNotNeeded = (1 << 3),
+ kExactMatchThread = (1 << 4)
+};
+
+/* Information supplied to the custom scheduler*/
+struct SchedulerInfoRec {
+ UInt32 InfoRecSize;
+ ThreadID CurrentThreadID;
+ ThreadID SuggestedThreadID;
+ ThreadID InterruptedCoopThreadID;
+};
+typedef struct SchedulerInfoRec SchedulerInfoRec;
+typedef SchedulerInfoRec * SchedulerInfoRecPtr;
+
+/*
+ The following ProcPtrs cannot be interchanged with UniversalProcPtrs because
+ of differences between 680x0 and PowerPC runtime architectures with regard to
+ the implementation of the Thread Manager.
+ */
+typedef void * voidPtr;
+/* Prototype for thread's entry (main) routine*/
+typedef CALLBACK_API( voidPtr , ThreadEntryProcPtr )(void * threadParam);
+/* Prototype for custom thread scheduler routine*/
+typedef CALLBACK_API( ThreadID , ThreadSchedulerProcPtr )(SchedulerInfoRecPtr schedulerInfo);
+/* Prototype for custom thread switcher routine*/
+typedef CALLBACK_API( void , ThreadSwitchProcPtr )(ThreadID threadBeingSwitched, void *switchProcParam);
+/* Prototype for thread termination notification routine*/
+typedef CALLBACK_API( void , ThreadTerminationProcPtr )(ThreadID threadTerminated, void *terminationProcParam);
+/* Prototype for debugger NewThread notification*/
+typedef CALLBACK_API( void , DebuggerNewThreadProcPtr )(ThreadID threadCreated);
+/* Prototype for debugger DisposeThread notification*/
+typedef CALLBACK_API( void , DebuggerDisposeThreadProcPtr )(ThreadID threadDeleted);
+/* Prototype for debugger schedule notification*/
+typedef CALLBACK_API( ThreadID , DebuggerThreadSchedulerProcPtr )(SchedulerInfoRecPtr schedulerInfo);
+typedef TVECTOR_UPP_TYPE(ThreadEntryProcPtr) ThreadEntryUPP;
+typedef TVECTOR_UPP_TYPE(ThreadSchedulerProcPtr) ThreadSchedulerUPP;
+typedef TVECTOR_UPP_TYPE(ThreadSwitchProcPtr) ThreadSwitchUPP;
+typedef TVECTOR_UPP_TYPE(ThreadTerminationProcPtr) ThreadTerminationUPP;
+typedef TVECTOR_UPP_TYPE(DebuggerNewThreadProcPtr) DebuggerNewThreadUPP;
+typedef TVECTOR_UPP_TYPE(DebuggerDisposeThreadProcPtr) DebuggerDisposeThreadUPP;
+typedef TVECTOR_UPP_TYPE(DebuggerThreadSchedulerProcPtr) DebuggerThreadSchedulerUPP;
+/*
+ * NewThreadEntryUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThreadEntryUPP )
+NewThreadEntryUPP(ThreadEntryProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppThreadEntryProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ThreadEntryUPP) NewThreadEntryUPP(ThreadEntryProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewThreadEntryUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppThreadEntryProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThreadEntryUPP) NewThreadEntryUPP(ThreadEntryProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewThreadEntryUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewThreadSchedulerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThreadSchedulerUPP)
- NewThreadSchedulerUPP(ThreadSchedulerProcPtr userRoutine);
+/*
+ * NewThreadSchedulerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThreadSchedulerUPP )
+NewThreadSchedulerUPP(ThreadSchedulerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppThreadSchedulerProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ThreadSchedulerUPP) NewThreadSchedulerUPP(ThreadSchedulerProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewThreadSchedulerUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppThreadSchedulerProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThreadSchedulerUPP) NewThreadSchedulerUPP(ThreadSchedulerProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewThreadSchedulerUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewThreadSwitchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThreadSwitchUPP)
- NewThreadSwitchUPP(ThreadSwitchProcPtr userRoutine);
+/*
+ * NewThreadSwitchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThreadSwitchUPP )
+NewThreadSwitchUPP(ThreadSwitchProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppThreadSwitchProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ThreadSwitchUPP) NewThreadSwitchUPP(ThreadSwitchProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewThreadSwitchUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppThreadSwitchProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThreadSwitchUPP) NewThreadSwitchUPP(ThreadSwitchProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewThreadSwitchUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewThreadTerminationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThreadTerminationUPP)
- NewThreadTerminationUPP(ThreadTerminationProcPtr userRoutine);
+/*
+ * NewThreadTerminationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThreadTerminationUPP )
+NewThreadTerminationUPP(ThreadTerminationProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppThreadTerminationProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(ThreadTerminationUPP) NewThreadTerminationUPP(ThreadTerminationProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewThreadTerminationUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppThreadTerminationProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThreadTerminationUPP) NewThreadTerminationUPP(ThreadTerminationProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewThreadTerminationUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewDebuggerNewThreadUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DebuggerNewThreadUPP)
- NewDebuggerNewThreadUPP(DebuggerNewThreadProcPtr userRoutine);
+/*
+ * NewDebuggerNewThreadUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DebuggerNewThreadUPP )
+NewDebuggerNewThreadUPP(DebuggerNewThreadProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDebuggerNewThreadProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DebuggerNewThreadUPP) NewDebuggerNewThreadUPP(DebuggerNewThreadProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewDebuggerNewThreadUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppDebuggerNewThreadProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DebuggerNewThreadUPP) NewDebuggerNewThreadUPP(DebuggerNewThreadProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewDebuggerNewThreadUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewDebuggerDisposeThreadUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DebuggerDisposeThreadUPP)
- NewDebuggerDisposeThreadUPP(DebuggerDisposeThreadProcPtr userRoutine);
+/*
+ * NewDebuggerDisposeThreadUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DebuggerDisposeThreadUPP )
+NewDebuggerDisposeThreadUPP(DebuggerDisposeThreadProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDebuggerDisposeThreadProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DebuggerDisposeThreadUPP) NewDebuggerDisposeThreadUPP(DebuggerDisposeThreadProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewDebuggerDisposeThreadUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppDebuggerDisposeThreadProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DebuggerDisposeThreadUPP) NewDebuggerDisposeThreadUPP(DebuggerDisposeThreadProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewDebuggerDisposeThreadUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewDebuggerThreadSchedulerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(DebuggerThreadSchedulerUPP)
- NewDebuggerThreadSchedulerUPP(DebuggerThreadSchedulerProcPtr userRoutine);
+/*
+ * NewDebuggerThreadSchedulerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( DebuggerThreadSchedulerUPP )
+NewDebuggerThreadSchedulerUPP(DebuggerThreadSchedulerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppDebuggerThreadSchedulerProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(DebuggerThreadSchedulerUPP) NewDebuggerThreadSchedulerUPP(DebuggerThreadSchedulerProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewDebuggerThreadSchedulerUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppDebuggerThreadSchedulerProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DebuggerThreadSchedulerUPP) NewDebuggerThreadSchedulerUPP(DebuggerThreadSchedulerProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewDebuggerThreadSchedulerUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeThreadEntryUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeThreadEntryUPP(ThreadEntryUPP userUPP);
+/*
+ * DisposeThreadEntryUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeThreadEntryUPP(ThreadEntryUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeThreadEntryUPP(ThreadEntryUPP) {}
-#else
-#define DisposeThreadEntryUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeThreadEntryUPP(ThreadEntryUPP) {}
+ #else
+ #define DisposeThreadEntryUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeThreadSchedulerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeThreadSchedulerUPP(ThreadSchedulerUPP userUPP);
+/*
+ * DisposeThreadSchedulerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeThreadSchedulerUPP(ThreadSchedulerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeThreadSchedulerUPP(ThreadSchedulerUPP) {}
-#else
-#define DisposeThreadSchedulerUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeThreadSchedulerUPP(ThreadSchedulerUPP) {}
+ #else
+ #define DisposeThreadSchedulerUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeThreadSwitchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeThreadSwitchUPP(ThreadSwitchUPP userUPP);
+/*
+ * DisposeThreadSwitchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeThreadSwitchUPP(ThreadSwitchUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeThreadSwitchUPP(ThreadSwitchUPP) {}
-#else
-#define DisposeThreadSwitchUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeThreadSwitchUPP(ThreadSwitchUPP) {}
+ #else
+ #define DisposeThreadSwitchUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeThreadTerminationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeThreadTerminationUPP(ThreadTerminationUPP userUPP);
+/*
+ * DisposeThreadTerminationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeThreadTerminationUPP(ThreadTerminationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeThreadTerminationUPP(ThreadTerminationUPP) {}
-#else
-#define DisposeThreadTerminationUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeThreadTerminationUPP(ThreadTerminationUPP) {}
+ #else
+ #define DisposeThreadTerminationUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeDebuggerNewThreadUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDebuggerNewThreadUPP(DebuggerNewThreadUPP userUPP);
+/*
+ * DisposeDebuggerNewThreadUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDebuggerNewThreadUPP(DebuggerNewThreadUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDebuggerNewThreadUPP(DebuggerNewThreadUPP) {}
-#else
-#define DisposeDebuggerNewThreadUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDebuggerNewThreadUPP(DebuggerNewThreadUPP) {}
+ #else
+ #define DisposeDebuggerNewThreadUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeDebuggerDisposeThreadUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDebuggerDisposeThreadUPP(DebuggerDisposeThreadUPP userUPP);
+/*
+ * DisposeDebuggerDisposeThreadUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDebuggerDisposeThreadUPP(DebuggerDisposeThreadUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDebuggerDisposeThreadUPP(DebuggerDisposeThreadUPP) {}
-#else
-#define DisposeDebuggerDisposeThreadUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDebuggerDisposeThreadUPP(DebuggerDisposeThreadUPP) {}
+ #else
+ #define DisposeDebuggerDisposeThreadUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeDebuggerThreadSchedulerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeDebuggerThreadSchedulerUPP(DebuggerThreadSchedulerUPP userUPP);
-#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeDebuggerThreadSchedulerUPP(DebuggerThreadSchedulerUPP) {}
-#else
-#define DisposeDebuggerThreadSchedulerUPP(userUPP)
-#endif
-#endif
-
- /*
- * InvokeThreadEntryUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(voidPtr)
- InvokeThreadEntryUPP(
- void * threadParam,
- ThreadEntryUPP userUPP);
+/*
+ * DisposeDebuggerThreadSchedulerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeDebuggerThreadSchedulerUPP(DebuggerThreadSchedulerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(voidPtr) InvokeThreadEntryUPP(void * threadParam, ThreadEntryUPP userUPP)
- {
- return (*userUPP)(threadParam);
- }
-#else
-#define InvokeThreadEntryUPP(threadParam, userUPP) (*userUPP)(threadParam)
-#endif
-#endif
-
- /*
- * InvokeThreadSchedulerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThreadID)
- InvokeThreadSchedulerUPP(
- SchedulerInfoRecPtr schedulerInfo,
- ThreadSchedulerUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDebuggerThreadSchedulerUPP(DebuggerThreadSchedulerUPP) {}
+ #else
+ #define DisposeDebuggerThreadSchedulerUPP(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokeThreadEntryUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( voidPtr )
+InvokeThreadEntryUPP(
+ void * threadParam,
+ ThreadEntryUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ThreadID) InvokeThreadSchedulerUPP(SchedulerInfoRecPtr schedulerInfo, ThreadSchedulerUPP userUPP)
- {
- return (*userUPP)(schedulerInfo);
- }
-#else
-#define InvokeThreadSchedulerUPP(schedulerInfo, userUPP) (*userUPP)(schedulerInfo)
-#endif
-#endif
-
- /*
- * InvokeThreadSwitchUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeThreadSwitchUPP(
- ThreadID threadBeingSwitched,
- void * switchProcParam,
- ThreadSwitchUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(voidPtr) InvokeThreadEntryUPP(void * threadParam, ThreadEntryUPP userUPP) { return (*userUPP)(threadParam); }
+ #else
+ #define InvokeThreadEntryUPP(threadParam, userUPP) (*userUPP)(threadParam)
+ #endif
+#endif
+
+/*
+ * InvokeThreadSchedulerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThreadID )
+InvokeThreadSchedulerUPP(
+ SchedulerInfoRecPtr schedulerInfo,
+ ThreadSchedulerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeThreadSwitchUPP(ThreadID threadBeingSwitched, void * switchProcParam, ThreadSwitchUPP userUPP)
- {
- (*userUPP)(threadBeingSwitched, switchProcParam);
- }
-#else
-#define InvokeThreadSwitchUPP(threadBeingSwitched, switchProcParam, userUPP) (*userUPP)(threadBeingSwitched, switchProcParam)
-#endif
-#endif
-
- /*
- * InvokeThreadTerminationUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeThreadTerminationUPP(
- ThreadID threadTerminated,
- void * terminationProcParam,
- ThreadTerminationUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThreadID) InvokeThreadSchedulerUPP(SchedulerInfoRecPtr schedulerInfo, ThreadSchedulerUPP userUPP) { return (*userUPP)(schedulerInfo); }
+ #else
+ #define InvokeThreadSchedulerUPP(schedulerInfo, userUPP) (*userUPP)(schedulerInfo)
+ #endif
+#endif
+
+/*
+ * InvokeThreadSwitchUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeThreadSwitchUPP(
+ ThreadID threadBeingSwitched,
+ void * switchProcParam,
+ ThreadSwitchUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeThreadTerminationUPP(ThreadID threadTerminated, void * terminationProcParam, ThreadTerminationUPP userUPP)
- {
- (*userUPP)(threadTerminated, terminationProcParam);
- }
-#else
-#define InvokeThreadTerminationUPP(threadTerminated, terminationProcParam, userUPP) (*userUPP)(threadTerminated, terminationProcParam)
-#endif
-#endif
-
- /*
- * InvokeDebuggerNewThreadUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDebuggerNewThreadUPP(
- ThreadID threadCreated,
- DebuggerNewThreadUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeThreadSwitchUPP(ThreadID threadBeingSwitched, void * switchProcParam, ThreadSwitchUPP userUPP) { (*userUPP)(threadBeingSwitched, switchProcParam); }
+ #else
+ #define InvokeThreadSwitchUPP(threadBeingSwitched, switchProcParam, userUPP) (*userUPP)(threadBeingSwitched, switchProcParam)
+ #endif
+#endif
+
+/*
+ * InvokeThreadTerminationUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeThreadTerminationUPP(
+ ThreadID threadTerminated,
+ void * terminationProcParam,
+ ThreadTerminationUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDebuggerNewThreadUPP(ThreadID threadCreated, DebuggerNewThreadUPP userUPP)
- {
- (*userUPP)(threadCreated);
- }
-#else
-#define InvokeDebuggerNewThreadUPP(threadCreated, userUPP) (*userUPP)(threadCreated)
-#endif
-#endif
-
- /*
- * InvokeDebuggerDisposeThreadUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- InvokeDebuggerDisposeThreadUPP(
- ThreadID threadDeleted,
- DebuggerDisposeThreadUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeThreadTerminationUPP(ThreadID threadTerminated, void * terminationProcParam, ThreadTerminationUPP userUPP) { (*userUPP)(threadTerminated, terminationProcParam); }
+ #else
+ #define InvokeThreadTerminationUPP(threadTerminated, terminationProcParam, userUPP) (*userUPP)(threadTerminated, terminationProcParam)
+ #endif
+#endif
+
+/*
+ * InvokeDebuggerNewThreadUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDebuggerNewThreadUPP(
+ ThreadID threadCreated,
+ DebuggerNewThreadUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeDebuggerDisposeThreadUPP(ThreadID threadDeleted, DebuggerDisposeThreadUPP userUPP)
- {
- (*userUPP)(threadDeleted);
- }
-#else
-#define InvokeDebuggerDisposeThreadUPP(threadDeleted, userUPP) (*userUPP)(threadDeleted)
-#endif
-#endif
-
- /*
- * InvokeDebuggerThreadSchedulerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(ThreadID)
- InvokeDebuggerThreadSchedulerUPP(
- SchedulerInfoRecPtr schedulerInfo,
- DebuggerThreadSchedulerUPP userUPP);
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDebuggerNewThreadUPP(ThreadID threadCreated, DebuggerNewThreadUPP userUPP) { (*userUPP)(threadCreated); }
+ #else
+ #define InvokeDebuggerNewThreadUPP(threadCreated, userUPP) (*userUPP)(threadCreated)
+ #endif
+#endif
+
+/*
+ * InvokeDebuggerDisposeThreadUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeDebuggerDisposeThreadUPP(
+ ThreadID threadDeleted,
+ DebuggerDisposeThreadUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(ThreadID) InvokeDebuggerThreadSchedulerUPP(SchedulerInfoRecPtr schedulerInfo, DebuggerThreadSchedulerUPP userUPP)
- {
- return (*userUPP)(schedulerInfo);
- }
-#else
-#define InvokeDebuggerThreadSchedulerUPP(schedulerInfo, userUPP) (*userUPP)(schedulerInfo)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDebuggerDisposeThreadUPP(ThreadID threadDeleted, DebuggerDisposeThreadUPP userUPP) { (*userUPP)(threadDeleted); }
+ #else
+ #define InvokeDebuggerDisposeThreadUPP(threadDeleted, userUPP) (*userUPP)(threadDeleted)
+ #endif
#endif
+
+/*
+ * InvokeDebuggerThreadSchedulerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( ThreadID )
+InvokeDebuggerThreadSchedulerUPP(
+ SchedulerInfoRecPtr schedulerInfo,
+ DebuggerThreadSchedulerUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(ThreadID) InvokeDebuggerThreadSchedulerUPP(SchedulerInfoRecPtr schedulerInfo, DebuggerThreadSchedulerUPP userUPP) { return (*userUPP)(schedulerInfo); }
+ #else
+ #define InvokeDebuggerThreadSchedulerUPP(schedulerInfo, userUPP) (*userUPP)(schedulerInfo)
+ #endif
#endif
- /*
- Thread Manager function pointers (TPP):
- on classic 68k use raw function pointers (same as UPP's)
- on classic PowerPC, use raw function pointers
- on classic PowerPC with OPAQUE_UPP_TYPES=1, use UPP's
- on CFM-68K, use UPP's
- on Carbon, use UPP's
- */
+/*
+ Thread Manager function pointers (TPP):
+ on classic 68k use raw function pointers (same as UPP's)
+ on classic PowerPC, use raw function pointers
+ on classic PowerPC with OPAQUE_UPP_TYPES=1, use UPP's
+ on CFM-68K, use UPP's
+ on Carbon, use UPP's
+*/
#if TARGET_OS_MAC && TARGET_CPU_PPC && !OPAQUE_UPP_TYPES
- /* use raw function pointers*/
- typedef ThreadEntryProcPtr ThreadEntryTPP;
- typedef ThreadSchedulerProcPtr ThreadSchedulerTPP;
- typedef ThreadSwitchProcPtr ThreadSwitchTPP;
- typedef ThreadTerminationProcPtr ThreadTerminationTPP;
- typedef DebuggerNewThreadProcPtr DebuggerNewThreadTPP;
- typedef DebuggerDisposeThreadProcPtr DebuggerDisposeThreadTPP;
- typedef DebuggerThreadSchedulerProcPtr DebuggerThreadSchedulerTPP;
+/* use raw function pointers*/
+typedef ThreadEntryProcPtr ThreadEntryTPP;
+typedef ThreadSchedulerProcPtr ThreadSchedulerTPP;
+typedef ThreadSwitchProcPtr ThreadSwitchTPP;
+typedef ThreadTerminationProcPtr ThreadTerminationTPP;
+typedef DebuggerNewThreadProcPtr DebuggerNewThreadTPP;
+typedef DebuggerDisposeThreadProcPtr DebuggerDisposeThreadTPP;
+typedef DebuggerThreadSchedulerProcPtr DebuggerThreadSchedulerTPP;
#else
- /* use UPP's*/
- typedef ThreadEntryUPP ThreadEntryTPP;
- typedef ThreadSchedulerUPP ThreadSchedulerTPP;
- typedef ThreadSwitchUPP ThreadSwitchTPP;
- typedef ThreadTerminationUPP ThreadTerminationTPP;
- typedef DebuggerNewThreadUPP DebuggerNewThreadTPP;
- typedef DebuggerDisposeThreadUPP DebuggerDisposeThreadTPP;
- typedef DebuggerThreadSchedulerUPP DebuggerThreadSchedulerTPP;
+/* use UPP's*/
+typedef ThreadEntryUPP ThreadEntryTPP;
+typedef ThreadSchedulerUPP ThreadSchedulerTPP;
+typedef ThreadSwitchUPP ThreadSwitchTPP;
+typedef ThreadTerminationUPP ThreadTerminationTPP;
+typedef DebuggerNewThreadUPP DebuggerNewThreadTPP;
+typedef DebuggerDisposeThreadUPP DebuggerDisposeThreadTPP;
+typedef DebuggerThreadSchedulerUPP DebuggerThreadSchedulerTPP;
#endif /* TARGET_OS_MAC && TARGET_CPU_PPC && !OPAQUE_UPP_TYPES */
- /*
- * NewThread()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- NewThread(
- ThreadStyle threadStyle,
- ThreadEntryTPP threadEntry,
- void * threadParam,
- Size stackSize,
- ThreadOptions options,
- void ** threadResult, /* can be NULL */
- ThreadID * threadMade) THREEWORDINLINE(0x303C, 0x0E03, 0xABF2);
-
-
- /*
- * SetThreadScheduler()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetThreadScheduler(ThreadSchedulerTPP threadScheduler) THREEWORDINLINE(0x303C, 0x0209, 0xABF2);
-
-
- /*
- * SetThreadSwitcher()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetThreadSwitcher(
- ThreadID thread,
- ThreadSwitchTPP threadSwitcher,
- void * switchProcParam,
- Boolean inOrOut) THREEWORDINLINE(0x303C, 0x070A, 0xABF2);
-
-
- /*
- * SetThreadTerminator()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetThreadTerminator(
- ThreadID thread,
- ThreadTerminationTPP threadTerminator,
- void * terminationProcParam) THREEWORDINLINE(0x303C, 0x0611, 0xABF2);
-
-
- /*
- * SetDebuggerNotificationProcs()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetDebuggerNotificationProcs(
- DebuggerNewThreadTPP notifyNewThread,
- DebuggerDisposeThreadTPP notifyDisposeThread,
- DebuggerThreadSchedulerTPP notifyThreadScheduler) THREEWORDINLINE(0x303C, 0x060D, 0xABF2);
-
-
- /*
- * CreateThreadPool()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CreateThreadPool(
- ThreadStyle threadStyle,
- SInt16 numToCreate,
- Size stackSize) THREEWORDINLINE(0x303C, 0x0501, 0xABF2);
-
-
- /*
- * GetFreeThreadCount()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFreeThreadCount(
- ThreadStyle threadStyle,
- SInt16 * freeCount) THREEWORDINLINE(0x303C, 0x0402, 0xABF2);
-
-
- /*
- * GetSpecificFreeThreadCount()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetSpecificFreeThreadCount(
- ThreadStyle threadStyle,
- Size stackSize,
- SInt16 * freeCount) THREEWORDINLINE(0x303C, 0x0615, 0xABF2);
-
-
- /*
- * GetDefaultThreadStackSize()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDefaultThreadStackSize(
- ThreadStyle threadStyle,
- Size * stackSize) THREEWORDINLINE(0x303C, 0x0413, 0xABF2);
-
-
- /*
- * ThreadCurrentStackSpace()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ThreadCurrentStackSpace(
- ThreadID thread,
- UInt32 * freeStack) THREEWORDINLINE(0x303C, 0x0414, 0xABF2);
-
-
- /*
- * DisposeThread()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- DisposeThread(
- ThreadID threadToDump,
- void * threadResult,
- Boolean recycleThread) THREEWORDINLINE(0x303C, 0x0504, 0xABF2);
-
-
- /*
- * YieldToThread()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- YieldToThread(ThreadID suggestedThread) THREEWORDINLINE(0x303C, 0x0205, 0xABF2);
-
-
- /*
- * YieldToAnyThread()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- YieldToAnyThread(void) FOURWORDINLINE(0x42A7, 0x303C, 0x0205, 0xABF2);
-
-
- /*
- * [Mac]GetCurrentThread()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * NewThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+NewThread(
+ ThreadStyle threadStyle,
+ ThreadEntryTPP threadEntry,
+ void * threadParam,
+ Size stackSize,
+ ThreadOptions options,
+ void ** threadResult, /* can be NULL */
+ ThreadID * threadMade) THREEWORDINLINE(0x303C, 0x0E03, 0xABF2);
+
+
+/*
+ * SetThreadScheduler()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetThreadScheduler(ThreadSchedulerTPP threadScheduler) THREEWORDINLINE(0x303C, 0x0209, 0xABF2);
+
+
+/*
+ * SetThreadSwitcher()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetThreadSwitcher(
+ ThreadID thread,
+ ThreadSwitchTPP threadSwitcher,
+ void * switchProcParam,
+ Boolean inOrOut) THREEWORDINLINE(0x303C, 0x070A, 0xABF2);
+
+
+/*
+ * SetThreadTerminator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetThreadTerminator(
+ ThreadID thread,
+ ThreadTerminationTPP threadTerminator,
+ void * terminationProcParam) THREEWORDINLINE(0x303C, 0x0611, 0xABF2);
+
+
+/*
+ * SetDebuggerNotificationProcs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetDebuggerNotificationProcs(
+ DebuggerNewThreadTPP notifyNewThread,
+ DebuggerDisposeThreadTPP notifyDisposeThread,
+ DebuggerThreadSchedulerTPP notifyThreadScheduler) THREEWORDINLINE(0x303C, 0x060D, 0xABF2);
+
+
+/*
+ * CreateThreadPool()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CreateThreadPool(
+ ThreadStyle threadStyle,
+ SInt16 numToCreate,
+ Size stackSize) THREEWORDINLINE(0x303C, 0x0501, 0xABF2);
+
+
+/*
+ * GetFreeThreadCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFreeThreadCount(
+ ThreadStyle threadStyle,
+ SInt16 * freeCount) THREEWORDINLINE(0x303C, 0x0402, 0xABF2);
+
+
+/*
+ * GetSpecificFreeThreadCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetSpecificFreeThreadCount(
+ ThreadStyle threadStyle,
+ Size stackSize,
+ SInt16 * freeCount) THREEWORDINLINE(0x303C, 0x0615, 0xABF2);
+
+
+/*
+ * GetDefaultThreadStackSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDefaultThreadStackSize(
+ ThreadStyle threadStyle,
+ Size * stackSize) THREEWORDINLINE(0x303C, 0x0413, 0xABF2);
+
+
+/*
+ * ThreadCurrentStackSpace()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ThreadCurrentStackSpace(
+ ThreadID thread,
+ UInt32 * freeStack) THREEWORDINLINE(0x303C, 0x0414, 0xABF2);
+
+
+/*
+ * DisposeThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+DisposeThread(
+ ThreadID threadToDump,
+ void * threadResult,
+ Boolean recycleThread) THREEWORDINLINE(0x303C, 0x0504, 0xABF2);
+
+
+/*
+ * YieldToThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+YieldToThread(ThreadID suggestedThread) THREEWORDINLINE(0x303C, 0x0205, 0xABF2);
+
+
+/*
+ * YieldToAnyThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+YieldToAnyThread(void) FOURWORDINLINE(0x42A7, 0x303C, 0x0205, 0xABF2);
+
+
+/*
+ * [Mac]GetCurrentThread()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC
-#define MacGetCurrentThread GetCurrentThread
-#endif
- EXTERN_API(OSErr)
- MacGetCurrentThread(ThreadID * currentThreadID) THREEWORDINLINE(0x303C, 0x0206, 0xABF2);
-
-
- /*
- * GetThreadState()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetThreadState(
- ThreadID threadToGet,
- ThreadState * threadState) THREEWORDINLINE(0x303C, 0x0407, 0xABF2);
-
-
- /*
- * SetThreadState()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetThreadState(
- ThreadID threadToSet,
- ThreadState newState,
- ThreadID suggestedThread) THREEWORDINLINE(0x303C, 0x0508, 0xABF2);
-
-
- /*
- * SetThreadStateEndCritical()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetThreadStateEndCritical(
- ThreadID threadToSet,
- ThreadState newState,
- ThreadID suggestedThread) THREEWORDINLINE(0x303C, 0x0512, 0xABF2);
-
-
- /*
- * ThreadBeginCritical()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ThreadBeginCritical(void) THREEWORDINLINE(0x303C, 0x000B, 0xABF2);
-
-
- /*
- * ThreadEndCritical()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ThreadEndCritical(void) THREEWORDINLINE(0x303C, 0x000C, 0xABF2);
-
-
- /*
- * GetThreadCurrentTaskRef()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetThreadCurrentTaskRef(ThreadTaskRef * threadTRef) THREEWORDINLINE(0x303C, 0x020E, 0xABF2);
-
-
- /*
- * GetThreadStateGivenTaskRef()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetThreadStateGivenTaskRef(
- ThreadTaskRef threadTRef,
- ThreadID threadToGet,
- ThreadState * threadState) THREEWORDINLINE(0x303C, 0x060F, 0xABF2);
-
-
- /*
- * SetThreadReadyGivenTaskRef()
- *
- * Availability:
- * Non-Carbon CFM: in ThreadsLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetThreadReadyGivenTaskRef(
- ThreadTaskRef threadTRef,
- ThreadID threadToSet) THREEWORDINLINE(0x303C, 0x0410, 0xABF2);
+ #define MacGetCurrentThread GetCurrentThread
+#endif
+EXTERN_API( OSErr )
+MacGetCurrentThread(ThreadID * currentThreadID) THREEWORDINLINE(0x303C, 0x0206, 0xABF2);
+
+
+/*
+ * GetThreadState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetThreadState(
+ ThreadID threadToGet,
+ ThreadState * threadState) THREEWORDINLINE(0x303C, 0x0407, 0xABF2);
+
+
+/*
+ * SetThreadState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetThreadState(
+ ThreadID threadToSet,
+ ThreadState newState,
+ ThreadID suggestedThread) THREEWORDINLINE(0x303C, 0x0508, 0xABF2);
+
+
+/*
+ * SetThreadStateEndCritical()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetThreadStateEndCritical(
+ ThreadID threadToSet,
+ ThreadState newState,
+ ThreadID suggestedThread) THREEWORDINLINE(0x303C, 0x0512, 0xABF2);
+
+
+/*
+ * ThreadBeginCritical()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ThreadBeginCritical(void) THREEWORDINLINE(0x303C, 0x000B, 0xABF2);
+
+
+/*
+ * ThreadEndCritical()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ThreadEndCritical(void) THREEWORDINLINE(0x303C, 0x000C, 0xABF2);
+
+
+/*
+ * GetThreadCurrentTaskRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetThreadCurrentTaskRef(ThreadTaskRef * threadTRef) THREEWORDINLINE(0x303C, 0x020E, 0xABF2);
+
+
+/*
+ * GetThreadStateGivenTaskRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetThreadStateGivenTaskRef(
+ ThreadTaskRef threadTRef,
+ ThreadID threadToGet,
+ ThreadState * threadState) THREEWORDINLINE(0x303C, 0x060F, 0xABF2);
+
+
+/*
+ * SetThreadReadyGivenTaskRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in ThreadsLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetThreadReadyGivenTaskRef(
+ ThreadTaskRef threadTRef,
+ ThreadID threadToSet) THREEWORDINLINE(0x303C, 0x0410, 0xABF2);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Timer.h b/include/qt/Timer.h
index f638fe635..a3de59892 100644
--- a/include/qt/Timer.h
+++ b/include/qt/Timer.h
@@ -1,17 +1,17 @@
/*
File: Timer.h
-
+
Contains: Time Manager interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TIMER__
#define __TIMER__
@@ -44,257 +44,247 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- /* high bit of qType is set if task is active */
- kTMTaskActive = (1L << 15)
- };
-
- typedef struct TMTask TMTask;
- typedef TMTask * TMTaskPtr;
- typedef CALLBACK_API_REGISTER68K(void , TimerProcPtr, (TMTaskPtr tmTaskPtr));
- typedef REGISTER_UPP_TYPE(TimerProcPtr) TimerUPP;
- struct TMTask
- {
- QElemPtr qLink;
- short qType;
- TimerUPP tmAddr;
- long tmCount;
- long tmWakeUp;
- long tmReserved;
- };
-
- /*
- * InsTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+enum {
+ /* high bit of qType is set if task is active */
+ kTMTaskActive = (1L << 15)
+};
+
+typedef struct TMTask TMTask;
+typedef TMTask * TMTaskPtr;
+typedef CALLBACK_API_REGISTER68K( void , TimerProcPtr, (TMTaskPtr tmTaskPtr) );
+typedef REGISTER_UPP_TYPE(TimerProcPtr) TimerUPP;
+struct TMTask {
+ QElemPtr qLink;
+ short qType;
+ TimerUPP tmAddr;
+ long tmCount;
+ long tmWakeUp;
+ long tmReserved;
+};
+
+/*
+ * InsTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InsTime(__A0)
#endif
- EXTERN_API(void)
- InsTime(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA058);
-
-
- /*
- * InsXTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+InsTime(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA058);
+
+
+/*
+ * InsXTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InsXTime(__A0)
#endif
- EXTERN_API(void)
- InsXTime(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA458);
-
-
- /*
- * PrimeTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+InsXTime(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA458);
+
+
+/*
+ * PrimeTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter PrimeTime(__A0, __D0)
#endif
- EXTERN_API(void)
- PrimeTime(
- QElemPtr tmTaskPtr,
- long count) ONEWORDINLINE(0xA05A);
-
-
- /*
- * RmvTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+PrimeTime(
+ QElemPtr tmTaskPtr,
+ long count) ONEWORDINLINE(0xA05A);
+
+
+/*
+ * RmvTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter RmvTime(__A0)
#endif
- EXTERN_API(void)
- RmvTime(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA059);
-
-
-
- /* InstallTimeTask, InstallXTimeTask, PrimeTimeTask and RemoveTimeTask work */
- /* just like InsTime, InsXTime, PrimeTime, and RmvTime except that they */
- /* return an OSErr result. */
- /*
- * InstallTimeTask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.1 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( void )
+RmvTime(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA059);
+
+
+
+/* InstallTimeTask, InstallXTimeTask, PrimeTimeTask and RemoveTimeTask work */
+/* just like InsTime, InsXTime, PrimeTime, and RmvTime except that they */
+/* return an OSErr result. */
+/*
+ * InstallTimeTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InstallTimeTask(__A0)
#endif
- EXTERN_API(OSErr)
- InstallTimeTask(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA058);
-
-
- /*
- * InstallXTimeTask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.1 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+InstallTimeTask(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA058);
+
+
+/*
+ * InstallXTimeTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 InstallXTimeTask(__A0)
#endif
- EXTERN_API(OSErr)
- InstallXTimeTask(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA458);
-
-
- /*
- * PrimeTimeTask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.1 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+InstallXTimeTask(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA458);
+
+
+/*
+ * PrimeTimeTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 PrimeTimeTask(__A0, __D0)
#endif
- EXTERN_API(OSErr)
- PrimeTimeTask(
- QElemPtr tmTaskPtr,
- long count) ONEWORDINLINE(0xA05A);
-
-
- /*
- * RemoveTimeTask()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 9.1 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
+EXTERN_API( OSErr )
+PrimeTimeTask(
+ QElemPtr tmTaskPtr,
+ long count) ONEWORDINLINE(0xA05A);
+
+
+/*
+ * RemoveTimeTask()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 9.1 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter __D0 RemoveTimeTask(__A0)
#endif
- EXTERN_API(OSErr)
- RemoveTimeTask(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA059);
-
-
-
- /*
- * Microseconds()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- Microseconds(UnsignedWide * microTickCount) FOURWORDINLINE(0xA193, 0x225F, 0x22C8, 0x2280);
-
-
- /*
- * NewTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(TimerUPP)
- NewTimerUPP(TimerProcPtr userRoutine);
+EXTERN_API( OSErr )
+RemoveTimeTask(QElemPtr tmTaskPtr) ONEWORDINLINE(0xA059);
+
+
+
+/*
+ * Microseconds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+Microseconds(UnsignedWide * microTickCount) FOURWORDINLINE(0xA193, 0x225F, 0x22C8, 0x2280);
+
+
+/*
+ * NewTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( TimerUPP )
+NewTimerUPP(TimerProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppTimerProcInfo = 0x0000B802 }; /* register no_return_value Func(4_bytes:A1) */
-#ifdef __cplusplus
- inline DEFINE_API_C(TimerUPP) NewTimerUPP(TimerProcPtr userRoutine)
- {
- return (TimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTimerProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewTimerUPP(userRoutine) (TimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTimerProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppTimerProcInfo = 0x0000B802 }; /* register no_return_value Func(4_bytes:A1) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TimerUPP) NewTimerUPP(TimerProcPtr userRoutine) { return (TimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTimerProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewTimerUPP(userRoutine) (TimerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTimerProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeTimerUPP(TimerUPP userUPP);
+/*
+ * DisposeTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeTimerUPP(TimerUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeTimerUPP(TimerUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeTimerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeTimerUPP(TimerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeTimerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeTimerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
+/*
+ * InvokeTimerUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
#pragma parameter InvokeTimerUPP(__A1, __A0)
#endif
- EXTERN_API_C(void)
- InvokeTimerUPP(
- TMTaskPtr tmTaskPtr,
- TimerUPP userUPP) ONEWORDINLINE(0x4E90);
+EXTERN_API_C( void )
+InvokeTimerUPP(
+ TMTaskPtr tmTaskPtr,
+ TimerUPP userUPP) ONEWORDINLINE(0x4E90);
#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
-#ifdef __cplusplus
- inline DEFINE_API_C(void) InvokeTimerUPP(TMTaskPtr tmTaskPtr, TimerUPP userUPP)
- {
- CALL_ONE_PARAMETER_UPP(userUPP, uppTimerProcInfo, tmTaskPtr);
- }
-#else
-#define InvokeTimerUPP(tmTaskPtr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppTimerProcInfo, (tmTaskPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeTimerUPP(TMTaskPtr tmTaskPtr, TimerUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppTimerProcInfo, tmTaskPtr); }
+ #else
+ #define InvokeTimerUPP(tmTaskPtr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppTimerProcInfo, (tmTaskPtr))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewTimerProc(userRoutine) NewTimerUPP(userRoutine)
-#define CallTimerProc(userRoutine, tmTaskPtr) InvokeTimerUPP(tmTaskPtr, userRoutine)
+ #define NewTimerProc(userRoutine) NewTimerUPP(userRoutine)
+ #define CallTimerProc(userRoutine, tmTaskPtr) InvokeTimerUPP(tmTaskPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/ToolUtils.h b/include/qt/ToolUtils.h
index 5a2c387fd..6b38afda6 100644
--- a/include/qt/ToolUtils.h
+++ b/include/qt/ToolUtils.h
@@ -1,17 +1,17 @@
/*
File: ToolUtils.h
-
+
Contains: Toolbox Utilities Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1990-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TOOLUTILS__
#define __TOOLUTILS__
@@ -43,182 +43,181 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- ------------------------------------------------------------------------------------
- Note:
-
- The following routines that used to be in this header file, have moved to
- more appropriate headers.
-
- FixMath.h: FixMul
- FixRatio
- FixRound
-
- Icons.h: GetIcon
- PlotIcon
-
- Quickdraw.h: AngleFromSlope
- DeltaPoint
- GetCursor
- GetIndPattern
- GetPattern
- GetPicture
- PackBits
- ScreenRes
- ShieldCursor
- SlopeFromAngle
- UnpackBits
-
- TextUtils.h: Munger
- GetIndString
- GetString
- NewString
- SetString
- ------------------------------------------------------------------------------------
- */
-
- /*
- * BitTst()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- BitTst(
- const void * bytePtr,
- long bitNum) ONEWORDINLINE(0xA85D);
-
-
- /*
- * BitSet()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BitSet(
- void * bytePtr,
- long bitNum) ONEWORDINLINE(0xA85E);
-
-
- /*
- * BitClr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- BitClr(
- void * bytePtr,
- long bitNum) ONEWORDINLINE(0xA85F);
-
-
- /*
- * BitAnd()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- BitAnd(
- long value1,
- long value2) ONEWORDINLINE(0xA858);
-
-
- /*
- * BitOr()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- BitOr(
- long value1,
- long value2) ONEWORDINLINE(0xA85B);
-
-
- /*
- * BitXor()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- BitXor(
- long value1,
- long value2) ONEWORDINLINE(0xA859);
-
-
- /*
- * BitNot()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- BitNot(long value) ONEWORDINLINE(0xA85A);
-
-
- /*
- * BitShift()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(long)
- BitShift(
- long value,
- short count) ONEWORDINLINE(0xA85C);
+/*
+------------------------------------------------------------------------------------
+ Note:
+
+ The following routines that used to be in this header file, have moved to
+ more appropriate headers.
+
+ FixMath.h: FixMul
+ FixRatio
+ FixRound
+
+ Icons.h: GetIcon
+ PlotIcon
+
+ Quickdraw.h: AngleFromSlope
+ DeltaPoint
+ GetCursor
+ GetIndPattern
+ GetPattern
+ GetPicture
+ PackBits
+ ScreenRes
+ ShieldCursor
+ SlopeFromAngle
+ UnpackBits
+
+ TextUtils.h: Munger
+ GetIndString
+ GetString
+ NewString
+ SetString
+------------------------------------------------------------------------------------
+*/
+
+/*
+ * BitTst()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+BitTst(
+ const void * bytePtr,
+ long bitNum) ONEWORDINLINE(0xA85D);
+
+
+/*
+ * BitSet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BitSet(
+ void * bytePtr,
+ long bitNum) ONEWORDINLINE(0xA85E);
+
+
+/*
+ * BitClr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+BitClr(
+ void * bytePtr,
+ long bitNum) ONEWORDINLINE(0xA85F);
+
+
+/*
+ * BitAnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+BitAnd(
+ long value1,
+ long value2) ONEWORDINLINE(0xA858);
+
+
+/*
+ * BitOr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+BitOr(
+ long value1,
+ long value2) ONEWORDINLINE(0xA85B);
+
+
+/*
+ * BitXor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+BitXor(
+ long value1,
+ long value2) ONEWORDINLINE(0xA859);
+
+
+/*
+ * BitNot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+BitNot(long value) ONEWORDINLINE(0xA85A);
+
+
+/*
+ * BitShift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( long )
+BitShift(
+ long value,
+ short count) ONEWORDINLINE(0xA85C);
#if TARGET_CPU_68K
- struct Int64Bit
- {
- SInt32 hiLong;
- UInt32 loLong;
- };
- typedef struct Int64Bit Int64Bit;
+struct Int64Bit {
+ SInt32 hiLong;
+ UInt32 loLong;
+};
+typedef struct Int64Bit Int64Bit;
#if CALL_NOT_IN_CARBON
- /*
- * LongMul()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- LongMul(
- long a,
- long b,
- Int64Bit * result) ONEWORDINLINE(0xA867);
+/*
+ * LongMul()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+LongMul(
+ long a,
+ long b,
+ Int64Bit * result) ONEWORDINLINE(0xA867);
#else
-#define LongMul(a, b, result) ((void) WideMultiply((a), (b), (wide*)(result)))
+ #define LongMul(a, b, result) ((void) WideMultiply((a), (b), (wide*)(result)))
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_CPU_68K */
@@ -228,11 +227,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Translation.h b/include/qt/Translation.h
index affa3df84..3567f4a09 100644
--- a/include/qt/Translation.h
+++ b/include/qt/Translation.h
@@ -1,17 +1,17 @@
/*
File: Translation.h
-
+
Contains: Translation Manager (Macintosh Easy Open) Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1991-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TRANSLATION__
#define __TRANSLATION__
@@ -48,432 +48,420 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* enumerated types on how a document can be opened*/
- typedef short DocOpenMethod;
- enum
- {
- domCannot = 0,
- domNative = 1,
- domTranslateFirst = 2,
- domWildcard = 3
- };
-
- /* 0L terminated array of OSTypes, or FileTypes*/
- typedef OSType TypesBlock[64];
- typedef OSType * TypesBlockPtr;
- /* Progress dialog resource ID*/
- enum
- {
- kTranslationScrapProgressDialogID = -16555
- };
-
- /* block of data that describes how to translate*/
- struct FileTranslationSpec
- {
- OSType componentSignature;
- const void * translationSystemInfo;
- FileTypeSpec src;
- FileTypeSpec dst;
- };
- typedef struct FileTranslationSpec FileTranslationSpec;
- typedef FileTranslationSpec * FileTranslationSpecArrayPtr;
- typedef FileTranslationSpecArrayPtr * FileTranslationSpecArrayHandle;
-
- /*****************************************************************************************
- *
- * GetFileTypesThatAppCanNativelyOpen
- *
- * This routine returns a list of all FileTypes that an application can open by itself
- *
- * Enter: appVRefNumHint volume where application resides (can be wrong, and if is, will be used as a starting point)
- * appSignature signature (creator) of application
- * nativeTypes pointer to a buffer to be filled with up to 64 FileTypes
- *
- * Exit: nativeTypes zero terminated array of FileTypes that can be opened by app
- */
- /*
- * GetFileTypesThatAppCanNativelyOpen()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetFileTypesThatAppCanNativelyOpen(
- short appVRefNumHint,
- OSType appSignature,
- FileType * nativeTypes) TWOWORDINLINE(0x701C, 0xABFC);
-
-
- /*****************************************************************************************
- *
- * ExtendFileTypeList
- *
- * This routine makes a new list of file types that can be translated into a type in the given list
- * Used by StandardFile
- *
- * Enter: originalTypeList pointer to list of file types that can be opened
- * numberOriginalTypes number of file types in orgTypeList
- * extendedTypeList pointer to a buffer to be filled with file types
- * numberExtendedTypes max number of file types that can be put in extendedTypeList
- *
- * Exit: extendedTypeList buffer filled in with file types that can be translated
- * numberExtendedTypes number of file types put in extendedTypeList
- */
- /*
- * ExtendFileTypeList()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- ExtendFileTypeList(
- const FileType * originalTypeList,
- short numberOriginalTypes,
- FileType * extendedTypeList,
- short * numberExtendedTypes) TWOWORDINLINE(0x7009, 0xABFC);
-
-
-
- /*****************************************************************************************
- *
- *
- * This routine checks if a file can be opened by a particular application.
- * If so, it returns if it needs to be translated first, and if so then how.
- * The FileTypes that the app can open are specified by nativelyOpenableTypes,
- * or if it is NULL, GetFileTypesThatAppCanNativelyOpen is called.
- *
- * Enter: targetDocument document to check if it can be opened
- * appVRefNumHint vRefNum of application to open doc ( can be wrong, and if is, will be used as a starting point)
- * appSignature signature (creator) of application to open doc
- * nativeTypes zero terminated list of FileTypes app can open natively, or NULL to use default list
- * onlyNative whether to consider if document can be translated before opening
- * howToOpen pointer to buffer in which to put how the document can be opened
- * howToTranslate pointer to buffer in which to put a FileTranslationSpec record
- *
- * Exit: howToOpen whether file needs to be translated to be read
- * howToTranslate if file can be translated, buffer filled in with how to translate
- * returns noErr, noPrefAppErr
- */
- /*
- * CanDocBeOpened()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- CanDocBeOpened(
- const FSSpec * targetDocument,
- short appVRefNumHint,
- OSType appSignature,
- const FileType * nativeTypes,
- Boolean onlyNative,
- DocOpenMethod * howToOpen,
- FileTranslationSpec * howToTranslate) TWOWORDINLINE(0x701E, 0xABFC);
-
-
-
- /*****************************************************************************************
- *
- * GetFileTranslationPaths
- *
- * This routine returns a list of all ways a translation can occure to or from a FileType.
- * The app is checked to exist. The hint for each app is the VRefNum and DTRefNum
- *
- * Enter: srcDoc source file or NULL for all matches
- * dstDoc destination FileType or 0 for all matches
- * maxResultCount
- * resultBuffer
- * Exit: number of paths
- */
- /*
- * GetFileTranslationPaths()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- GetFileTranslationPaths(
- const FSSpec * srcDocument,
- FileType dstDocType,
- unsigned short maxResultCount,
- FileTranslationSpecArrayPtr resultBuffer) TWOWORDINLINE(0x7038, 0xABFC);
-
-
- /*****************************************************************************************
- *
- * GetPathFromTranslationDialog
- *
- * This routine, with a given document, application, and a passed typelist will display the
- * Macintosh Easy Open translation dialog allowing the user to make a choice. The choice
- * made will be written as a preference (so the next call to CanDocBeOpened() will work).
- * The routine returns the translation path information.
- *
- * Enter: theDocument FSSpec to document to open
- * theApplication FSSpec to application to open document
- * typeList Nil terminated list of FileType's (e.g. SFTypeList-like) of types
- * you would like the documented translated to. Order most perferred
- * to least.
- *
- * Exit: howToOpen Translation method needed to open document
- * howToTranslate Translation specification
- * returns Any errors that might occur.
- */
- /*
- * GetPathFromTranslationDialog()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetPathFromTranslationDialog(
- const FSSpec * theDocument,
- const FSSpec * theApplication,
- TypesBlockPtr typeList,
- DocOpenMethod * howToOpen,
- FileTranslationSpec * howToTranslate) TWOWORDINLINE(0x7037, 0xABFC);
-
-
-
- /*****************************************************************************************
- *
- * TranslateFile
- *
- * This routine reads a file of one format and writes it to another file in another format.
- * The information on how to translated is generated by the routine CanDocBeOpened.
- * TranslateFile calls through to the TranslateFile Extension's DoTranslateFile routine.
- * The destination file must not exist. It is created by this routine.
- *
- * Enter: sourceDocument input file to translate
- * destinationDocument output file of translation
- * howToTranslate pointer to info on how to translate
- * Exit: returns noErr, badTranslationSpecErr
- */
- /*
- * TranslateFile()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- TranslateFile(
- const FSSpec * sourceDocument,
- const FSSpec * destinationDocument,
- const FileTranslationSpec * howToTranslate) TWOWORDINLINE(0x700C, 0xABFC);
-
-
- /*****************************************************************************************
- *
- * GetDocumentKindString
- *
- * This routine returns the string the Finder should show for the "kind" of a document
- * in the GetInfo window and in the kind column of a list view.
- *
- * Enter: docVRefNum The volume containing the document
- * docType The catInfo.fdType of the document
- * docCreator The catInfo.fdCreator of the document
- * kindString pointer to where to return the string
- *
- * Exit: kindString pascal string. Ex: "\pSurfCalc spreadsheet"
- * returns noErr, or afpItemNoFound if kind could not be determined
- */
- /*
- * GetDocumentKindString()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetDocumentKindString(
- short docVRefNum,
- OSType docType,
- OSType docCreator,
- Str63 kindString) TWOWORDINLINE(0x7016, 0xABFC);
-
-
- /*****************************************************************************************
- *
- * GetTranslationExtensionName
- *
- * This routine returns the translation system name from a specified TranslationSpec
- *
- * Enter: translationMethod The translation path to get the translation name from
- *
- * Exit: extensionName The name of the translation system
- * returns Any errors that might occur
- */
- /*
- * GetTranslationExtensionName()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- GetTranslationExtensionName(
- const FileTranslationSpec * translationMethod,
- Str31 extensionName) TWOWORDINLINE(0x7036, 0xABFC);
-
-
-
- /*****************************************************************************************
- *
- * GetScrapDataProcPtr
- *
- * This is a prototype for the function you must supply to TranslateScrap. It is called to
- * get the data to be translated. The first call TranslateScrap will make to this is to
- * ask for the 'fmts' data. That is a special. You should resize and fill in the handle
- * with a list all the formats that you have available to be translated, and the length of each.
- * (See I.M. VI 4-23 for details of 'fmts'). It will then be called again asking for one of
- * the formats that 'fmts' list said was available.
- *
- * Enter: requestedFormat Format of data that TranslateScrap needs.
- * dataH Handle in which to put the requested data
- * srcDataGetterRefCon Extra parameter for you passed to TranslateScrap
- *
- * Exit: dataH Handle is resized and filled with data in requested format
- */
- typedef CALLBACK_API(OSErr , GetScrapDataProcPtr)(ScrapType requestedFormat, Handle dataH, void *srcDataGetterRefCon);
- typedef STACK_UPP_TYPE(GetScrapDataProcPtr) GetScrapDataUPP;
- /*
- * NewGetScrapDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(GetScrapDataUPP)
- NewGetScrapDataUPP(GetScrapDataProcPtr userRoutine);
+/* enumerated types on how a document can be opened*/
+typedef short DocOpenMethod;
+enum {
+ domCannot = 0,
+ domNative = 1,
+ domTranslateFirst = 2,
+ domWildcard = 3
+};
+
+/* 0L terminated array of OSTypes, or FileTypes*/
+typedef OSType TypesBlock[64];
+typedef OSType * TypesBlockPtr;
+/* Progress dialog resource ID*/
+enum {
+ kTranslationScrapProgressDialogID = -16555
+};
+
+/* block of data that describes how to translate*/
+struct FileTranslationSpec {
+ OSType componentSignature;
+ const void * translationSystemInfo;
+ FileTypeSpec src;
+ FileTypeSpec dst;
+};
+typedef struct FileTranslationSpec FileTranslationSpec;
+typedef FileTranslationSpec * FileTranslationSpecArrayPtr;
+typedef FileTranslationSpecArrayPtr * FileTranslationSpecArrayHandle;
+
+/*****************************************************************************************
+*
+* GetFileTypesThatAppCanNativelyOpen
+*
+* This routine returns a list of all FileTypes that an application can open by itself
+*
+* Enter: appVRefNumHint volume where application resides (can be wrong, and if is, will be used as a starting point)
+* appSignature signature (creator) of application
+* nativeTypes pointer to a buffer to be filled with up to 64 FileTypes
+*
+* Exit: nativeTypes zero terminated array of FileTypes that can be opened by app
+*/
+/*
+ * GetFileTypesThatAppCanNativelyOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetFileTypesThatAppCanNativelyOpen(
+ short appVRefNumHint,
+ OSType appSignature,
+ FileType * nativeTypes) TWOWORDINLINE(0x701C, 0xABFC);
+
+
+/*****************************************************************************************
+*
+* ExtendFileTypeList
+*
+* This routine makes a new list of file types that can be translated into a type in the given list
+* Used by StandardFile
+*
+* Enter: originalTypeList pointer to list of file types that can be opened
+* numberOriginalTypes number of file types in orgTypeList
+* extendedTypeList pointer to a buffer to be filled with file types
+* numberExtendedTypes max number of file types that can be put in extendedTypeList
+*
+* Exit: extendedTypeList buffer filled in with file types that can be translated
+* numberExtendedTypes number of file types put in extendedTypeList
+*/
+/*
+ * ExtendFileTypeList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+ExtendFileTypeList(
+ const FileType * originalTypeList,
+ short numberOriginalTypes,
+ FileType * extendedTypeList,
+ short * numberExtendedTypes) TWOWORDINLINE(0x7009, 0xABFC);
+
+
+
+/*****************************************************************************************
+*
+*
+* This routine checks if a file can be opened by a particular application.
+* If so, it returns if it needs to be translated first, and if so then how.
+* The FileTypes that the app can open are specified by nativelyOpenableTypes,
+* or if it is NULL, GetFileTypesThatAppCanNativelyOpen is called.
+*
+* Enter: targetDocument document to check if it can be opened
+* appVRefNumHint vRefNum of application to open doc ( can be wrong, and if is, will be used as a starting point)
+* appSignature signature (creator) of application to open doc
+* nativeTypes zero terminated list of FileTypes app can open natively, or NULL to use default list
+* onlyNative whether to consider if document can be translated before opening
+* howToOpen pointer to buffer in which to put how the document can be opened
+* howToTranslate pointer to buffer in which to put a FileTranslationSpec record
+*
+* Exit: howToOpen whether file needs to be translated to be read
+* howToTranslate if file can be translated, buffer filled in with how to translate
+* returns noErr, noPrefAppErr
+*/
+/*
+ * CanDocBeOpened()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+CanDocBeOpened(
+ const FSSpec * targetDocument,
+ short appVRefNumHint,
+ OSType appSignature,
+ const FileType * nativeTypes,
+ Boolean onlyNative,
+ DocOpenMethod * howToOpen,
+ FileTranslationSpec * howToTranslate) TWOWORDINLINE(0x701E, 0xABFC);
+
+
+
+/*****************************************************************************************
+*
+* GetFileTranslationPaths
+*
+* This routine returns a list of all ways a translation can occure to or from a FileType.
+* The app is checked to exist. The hint for each app is the VRefNum and DTRefNum
+*
+* Enter: srcDoc source file or NULL for all matches
+* dstDoc destination FileType or 0 for all matches
+* maxResultCount
+* resultBuffer
+* Exit: number of paths
+*/
+/*
+ * GetFileTranslationPaths()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetFileTranslationPaths(
+ const FSSpec * srcDocument,
+ FileType dstDocType,
+ unsigned short maxResultCount,
+ FileTranslationSpecArrayPtr resultBuffer) TWOWORDINLINE(0x7038, 0xABFC);
+
+
+/*****************************************************************************************
+*
+* GetPathFromTranslationDialog
+*
+* This routine, with a given document, application, and a passed typelist will display the
+* Macintosh Easy Open translation dialog allowing the user to make a choice. The choice
+* made will be written as a preference (so the next call to CanDocBeOpened() will work).
+* The routine returns the translation path information.
+*
+* Enter: theDocument FSSpec to document to open
+* theApplication FSSpec to application to open document
+* typeList Nil terminated list of FileType's (e.g. SFTypeList-like) of types
+* you would like the documented translated to. Order most perferred
+* to least.
+*
+* Exit: howToOpen Translation method needed to open document
+* howToTranslate Translation specification
+* returns Any errors that might occur.
+*/
+/*
+ * GetPathFromTranslationDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetPathFromTranslationDialog(
+ const FSSpec * theDocument,
+ const FSSpec * theApplication,
+ TypesBlockPtr typeList,
+ DocOpenMethod * howToOpen,
+ FileTranslationSpec * howToTranslate) TWOWORDINLINE(0x7037, 0xABFC);
+
+
+
+/*****************************************************************************************
+*
+* TranslateFile
+*
+* This routine reads a file of one format and writes it to another file in another format.
+* The information on how to translated is generated by the routine CanDocBeOpened.
+* TranslateFile calls through to the TranslateFile Extension's DoTranslateFile routine.
+* The destination file must not exist. It is created by this routine.
+*
+* Enter: sourceDocument input file to translate
+* destinationDocument output file of translation
+* howToTranslate pointer to info on how to translate
+* Exit: returns noErr, badTranslationSpecErr
+*/
+/*
+ * TranslateFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TranslateFile(
+ const FSSpec * sourceDocument,
+ const FSSpec * destinationDocument,
+ const FileTranslationSpec * howToTranslate) TWOWORDINLINE(0x700C, 0xABFC);
+
+
+/*****************************************************************************************
+*
+* GetDocumentKindString
+*
+* This routine returns the string the Finder should show for the "kind" of a document
+* in the GetInfo window and in the kind column of a list view.
+*
+* Enter: docVRefNum The volume containing the document
+* docType The catInfo.fdType of the document
+* docCreator The catInfo.fdCreator of the document
+* kindString pointer to where to return the string
+*
+* Exit: kindString pascal string. Ex: "\pSurfCalc spreadsheet"
+* returns noErr, or afpItemNoFound if kind could not be determined
+*/
+/*
+ * GetDocumentKindString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetDocumentKindString(
+ short docVRefNum,
+ OSType docType,
+ OSType docCreator,
+ Str63 kindString) TWOWORDINLINE(0x7016, 0xABFC);
+
+
+/*****************************************************************************************
+*
+* GetTranslationExtensionName
+*
+* This routine returns the translation system name from a specified TranslationSpec
+*
+* Enter: translationMethod The translation path to get the translation name from
+*
+* Exit: extensionName The name of the translation system
+* returns Any errors that might occur
+*/
+/*
+ * GetTranslationExtensionName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+GetTranslationExtensionName(
+ const FileTranslationSpec * translationMethod,
+ Str31 extensionName) TWOWORDINLINE(0x7036, 0xABFC);
+
+
+
+/*****************************************************************************************
+*
+* GetScrapDataProcPtr
+*
+* This is a prototype for the function you must supply to TranslateScrap. It is called to
+* get the data to be translated. The first call TranslateScrap will make to this is to
+* ask for the 'fmts' data. That is a special. You should resize and fill in the handle
+* with a list all the formats that you have available to be translated, and the length of each.
+* (See I.M. VI 4-23 for details of 'fmts'). It will then be called again asking for one of
+* the formats that 'fmts' list said was available.
+*
+* Enter: requestedFormat Format of data that TranslateScrap needs.
+* dataH Handle in which to put the requested data
+* srcDataGetterRefCon Extra parameter for you passed to TranslateScrap
+*
+* Exit: dataH Handle is resized and filled with data in requested format
+*/
+typedef CALLBACK_API( OSErr , GetScrapDataProcPtr )(ScrapType requestedFormat, Handle dataH, void *srcDataGetterRefCon);
+typedef STACK_UPP_TYPE(GetScrapDataProcPtr) GetScrapDataUPP;
+/*
+ * NewGetScrapDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( GetScrapDataUPP )
+NewGetScrapDataUPP(GetScrapDataProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppGetScrapDataProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(GetScrapDataUPP) NewGetScrapDataUPP(GetScrapDataProcPtr userRoutine)
- {
- return (GetScrapDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetScrapDataProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewGetScrapDataUPP(userRoutine) (GetScrapDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetScrapDataProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppGetScrapDataProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(GetScrapDataUPP) NewGetScrapDataUPP(GetScrapDataProcPtr userRoutine) { return (GetScrapDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetScrapDataProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewGetScrapDataUPP(userRoutine) (GetScrapDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetScrapDataProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeGetScrapDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeGetScrapDataUPP(GetScrapDataUPP userUPP);
+/*
+ * DisposeGetScrapDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeGetScrapDataUPP(GetScrapDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeGetScrapDataUPP(GetScrapDataUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeGetScrapDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeGetScrapDataUPP(GetScrapDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeGetScrapDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeGetScrapDataUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSErr)
- InvokeGetScrapDataUPP(
- ScrapType requestedFormat,
- Handle dataH,
- void * srcDataGetterRefCon,
- GetScrapDataUPP userUPP);
+/*
+ * InvokeGetScrapDataUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSErr )
+InvokeGetScrapDataUPP(
+ ScrapType requestedFormat,
+ Handle dataH,
+ void * srcDataGetterRefCon,
+ GetScrapDataUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSErr) InvokeGetScrapDataUPP(ScrapType requestedFormat, Handle dataH, void * srcDataGetterRefCon, GetScrapDataUPP userUPP)
- {
- return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppGetScrapDataProcInfo, requestedFormat, dataH, srcDataGetterRefCon);
- }
-#else
-#define InvokeGetScrapDataUPP(requestedFormat, dataH, srcDataGetterRefCon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppGetScrapDataProcInfo, (requestedFormat), (dataH), (srcDataGetterRefCon))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSErr) InvokeGetScrapDataUPP(ScrapType requestedFormat, Handle dataH, void * srcDataGetterRefCon, GetScrapDataUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppGetScrapDataProcInfo, requestedFormat, dataH, srcDataGetterRefCon); }
+ #else
+ #define InvokeGetScrapDataUPP(requestedFormat, dataH, srcDataGetterRefCon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppGetScrapDataProcInfo, (requestedFormat), (dataH), (srcDataGetterRefCon))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewGetScrapDataProc(userRoutine) NewGetScrapDataUPP(userRoutine)
-#define CallGetScrapDataProc(userRoutine, requestedFormat, dataH, srcDataGetterRefCon) InvokeGetScrapDataUPP(requestedFormat, dataH, srcDataGetterRefCon, userRoutine)
+ #define NewGetScrapDataProc(userRoutine) NewGetScrapDataUPP(userRoutine)
+ #define CallGetScrapDataProc(userRoutine, requestedFormat, dataH, srcDataGetterRefCon) InvokeGetScrapDataUPP(requestedFormat, dataH, srcDataGetterRefCon, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- typedef GetScrapDataUPP GetScrapData;
- /*****************************************************************************************
- *
- * TranslateScrap
- *
- * This routine resizes the destination handle and fills it with data of the requested format.
- * The data is generated by translated one or more source formats of data supplied by
- * the procedure srcDataGetter.
- * This routine is automatically called by GetScrap and ReadEdition. You only need to call
- * this if you need to translated scrap style data, but are not using the ScrapMgr or EditionMgr.
- *
- * Enter: sourceDataGetter Pointer to routine that can get src data
- * sourceDataGetterRefCon Extra parameter for dataGetter
- * destinationFormat Format of data desired
- * destinationData Handle in which to store translated data
- *
- * Exit: dstData Handle is resized and filled with data in requested format
- */
- /*
- * TranslateScrap()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- TranslateScrap(
- GetScrapDataUPP sourceDataGetter,
- void * sourceDataGetterRefCon,
- ScrapType destinationFormat,
- Handle destinationData,
- short progressDialogID) TWOWORDINLINE(0x700E, 0xABFC);
+typedef GetScrapDataUPP GetScrapData;
+/*****************************************************************************************
+*
+* TranslateScrap
+*
+* This routine resizes the destination handle and fills it with data of the requested format.
+* The data is generated by translated one or more source formats of data supplied by
+* the procedure srcDataGetter.
+* This routine is automatically called by GetScrap and ReadEdition. You only need to call
+* this if you need to translated scrap style data, but are not using the ScrapMgr or EditionMgr.
+*
+* Enter: sourceDataGetter Pointer to routine that can get src data
+* sourceDataGetterRefCon Extra parameter for dataGetter
+* destinationFormat Format of data desired
+* destinationData Handle in which to store translated data
+*
+* Exit: dstData Handle is resized and filled with data in requested format
+*/
+/*
+ * TranslateScrap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+TranslateScrap(
+ GetScrapDataUPP sourceDataGetter,
+ void * sourceDataGetterRefCon,
+ ScrapType destinationFormat,
+ Handle destinationData,
+ short progressDialogID) TWOWORDINLINE(0x700E, 0xABFC);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/TranslationExtensions.h b/include/qt/TranslationExtensions.h
index d364d9280..2cd63a263 100644
--- a/include/qt/TranslationExtensions.h
+++ b/include/qt/TranslationExtensions.h
@@ -1,17 +1,17 @@
/*
File: TranslationExtensions.h
-
+
Contains: Macintosh Easy Open Translation Extension Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1993-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TRANSLATIONEXTENSIONS__
#define __TRANSLATIONEXTENSIONS__
@@ -47,184 +47,178 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- enum {
- kSupportsFileTranslation = 1,
- kSupportsScrapTranslation = 2,
- kTranslatorCanGenerateFilename = 4
- };
-
- /******************************************************************************************/
- /* better names for 4-char codes*/
- typedef OSType FileType;
- typedef ResType ScrapType;
- /******************************************************************************************/
- typedef UInt32 TranslationAttributes;
- enum
- {
- taDstDocNeedsResourceFork = 1,
- taDstIsAppTranslation = 2
- };
-
- /******************************************************************************************/
- struct FileTypeSpec
- {
- FileType format;
- long hint;
- TranslationAttributes flags; /* taDstDocNeedsResourceFork, taDstIsAppTranslation*/
- OSType catInfoType;
- OSType catInfoCreator;
- };
- typedef struct FileTypeSpec FileTypeSpec;
- struct FileTranslationList
- {
- unsigned long modDate;
- unsigned long groupCount;
-
- /* conceptual declarations:*/
-
- /* unsigned long group1SrcCount;*/
- /* unsigned long group1SrcEntrySize = sizeof(FileTypeSpec);*/
- /* FileTypeSpec group1SrcTypes[group1SrcCount]*/
- /* unsigned long group1DstCount;*/
- /* unsigned long group1DstEntrySize = sizeof(FileTypeSpec);*/
- /* FileTypeSpec group1DstTypes[group1DstCount]*/
- };
- typedef struct FileTranslationList FileTranslationList;
- typedef FileTranslationList * FileTranslationListPtr;
- typedef FileTranslationListPtr * FileTranslationListHandle;
- /******************************************************************************************/
- struct ScrapTypeSpec
- {
- ScrapType format;
- long hint;
- };
- typedef struct ScrapTypeSpec ScrapTypeSpec;
- struct ScrapTranslationList
- {
- unsigned long modDate;
- unsigned long groupCount;
-
- /* conceptual declarations:*/
-
- /* unsigned long group1SrcCount;*/
- /* unsigned long group1SrcEntrySize = sizeof(ScrapTypeSpec);*/
- /* ScrapTypeSpec group1SrcTypes[group1SrcCount]*/
- /* unsigned long group1DstCount;*/
- /* unsigned long group1DstEntrySize = sizeof(ScrapTypeSpec);*/
- /* ScrapTypeSpec group1DstTypes[group1DstCount]*/
- };
- typedef struct ScrapTranslationList ScrapTranslationList;
- typedef ScrapTranslationList * ScrapTranslationListPtr;
- typedef ScrapTranslationListPtr * ScrapTranslationListHandle;
- /*******************************************************************************************
-
- definition of callbacks to update progress dialog
-
- *******************************************************************************************/
- typedef long TranslationRefNum;
- /*******************************************************************************************
-
- This routine sets the advertisement in the top half of the progress dialog.
- It is called once at the beginning of your DoTranslateFile routine.
-
- Enter : refNum Translation reference supplied to DoTranslateFile.
- advertisement A handle to the picture to display. This must be non-purgable.
- Before returning from DoTranslateFile, you should dispose
- of the memory. (Normally, it is in the temp translation heap
- so it is cleaned up for you.)
-
- Exit : returns noErr, paramErr, or memFullErr
-
- *******************************************************************************************/
- /*
- * SetTranslationAdvertisement()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 thru 1.0.2
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- SetTranslationAdvertisement(
- TranslationRefNum refNum,
- PicHandle advertisement) TWOWORDINLINE(0x7002, 0xABFC);
-
-
-
- /*******************************************************************************************
-
- This routine updates the progress bar in the progress dialog.
- It is called repeatedly from within your DoTranslateFile routine.
- It should be called often, so that the user will get feedback if
- he tries to cancel.
-
- Enter : refNum translation reference supplied to DoTranslateFile.
- progress percent complete (0-100)
-
- Exit : canceled TRUE if the user clicked the Cancel button, FALSE otherwise
-
- Return : noErr, paramErr, or memFullErr
-
- *******************************************************************************************/
- /*
- * UpdateTranslationProgress()
- *
- * Availability:
- * Non-Carbon CFM: in Translation 1.0 and later
- * CarbonLib: in CarbonLib 1.0 thru 1.0.2
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSErr)
- UpdateTranslationProgress(
- TranslationRefNum refNum,
- short percentDone,
- Boolean * canceled) TWOWORDINLINE(0x7001, 0xABFC);
-
-
- /*******************************************************************************************
-
- Component Manager component selectors for translation extension routines
-
- *******************************************************************************************/
- enum
- {
- kTranslateGetFileTranslationList = 0,
- kTranslateIdentifyFile = 1,
- kTranslateTranslateFile = 2,
- kTranslateGetTranslatedFilename = 3,
- kTranslateGetScrapTranslationList = 10,
- kTranslateIdentifyScrap = 11,
- kTranslateTranslateScrap = 12,
- kTranslateGetScrapTranslationListConsideringData = 13
- };
-
-
- /*******************************************************************************************
-
- routines which implement translation extensions
-
- *******************************************************************************************/
- typedef CALLBACK_API(ComponentResult , DoGetFileTranslationListProcPtr)(ComponentInstance self, FileTranslationListHandle translationList);
- typedef CALLBACK_API(ComponentResult , DoIdentifyFileProcPtr)(ComponentInstance self, const FSSpec *theDocument, FileType *docType);
- typedef CALLBACK_API(ComponentResult , DoTranslateFileProcPtr)(ComponentInstance self, TranslationRefNum refNum, const FSSpec *sourceDocument, FileType srcType, long srcTypeHint, const FSSpec *dstDoc, FileType dstType, long dstTypeHint);
- typedef CALLBACK_API(ComponentResult , DoGetTranslatedFilenameProcPtr)(ComponentInstance self, FileType dstType, long dstTypeHint, FSSpec *theDocument);
- typedef CALLBACK_API(ComponentResult , DoGetScrapTranslationListProcPtr)(ComponentInstance self, ScrapTranslationListHandle list);
- typedef CALLBACK_API(ComponentResult , DoIdentifyScrapProcPtr)(ComponentInstance self, const void *dataPtr, Size dataLength, ScrapType *dataFormat);
- typedef CALLBACK_API(ComponentResult , DoTranslateScrapProcPtr)(ComponentInstance self, TranslationRefNum refNum, const void *srcDataPtr, Size srcDataLength, ScrapType srcType, long srcTypeHint, Handle dstData, ScrapType dstType, long dstTypeHint);
+enum {
+ kSupportsFileTranslation = 1,
+ kSupportsScrapTranslation = 2,
+ kTranslatorCanGenerateFilename = 4
+};
+
+/******************************************************************************************/
+/* better names for 4-char codes*/
+typedef OSType FileType;
+typedef ResType ScrapType;
+/******************************************************************************************/
+typedef UInt32 TranslationAttributes;
+enum {
+ taDstDocNeedsResourceFork = 1,
+ taDstIsAppTranslation = 2
+};
+
+/******************************************************************************************/
+struct FileTypeSpec {
+ FileType format;
+ long hint;
+ TranslationAttributes flags; /* taDstDocNeedsResourceFork, taDstIsAppTranslation*/
+ OSType catInfoType;
+ OSType catInfoCreator;
+};
+typedef struct FileTypeSpec FileTypeSpec;
+struct FileTranslationList {
+ unsigned long modDate;
+ unsigned long groupCount;
+
+ /* conceptual declarations:*/
+
+ /* unsigned long group1SrcCount;*/
+ /* unsigned long group1SrcEntrySize = sizeof(FileTypeSpec);*/
+ /* FileTypeSpec group1SrcTypes[group1SrcCount]*/
+ /* unsigned long group1DstCount;*/
+ /* unsigned long group1DstEntrySize = sizeof(FileTypeSpec);*/
+ /* FileTypeSpec group1DstTypes[group1DstCount]*/
+};
+typedef struct FileTranslationList FileTranslationList;
+typedef FileTranslationList * FileTranslationListPtr;
+typedef FileTranslationListPtr * FileTranslationListHandle;
+/******************************************************************************************/
+struct ScrapTypeSpec {
+ ScrapType format;
+ long hint;
+};
+typedef struct ScrapTypeSpec ScrapTypeSpec;
+struct ScrapTranslationList {
+ unsigned long modDate;
+ unsigned long groupCount;
+
+ /* conceptual declarations:*/
+
+ /* unsigned long group1SrcCount;*/
+ /* unsigned long group1SrcEntrySize = sizeof(ScrapTypeSpec);*/
+ /* ScrapTypeSpec group1SrcTypes[group1SrcCount]*/
+ /* unsigned long group1DstCount;*/
+ /* unsigned long group1DstEntrySize = sizeof(ScrapTypeSpec);*/
+ /* ScrapTypeSpec group1DstTypes[group1DstCount]*/
+};
+typedef struct ScrapTranslationList ScrapTranslationList;
+typedef ScrapTranslationList * ScrapTranslationListPtr;
+typedef ScrapTranslationListPtr * ScrapTranslationListHandle;
+/*******************************************************************************************
+
+ definition of callbacks to update progress dialog
+
+*******************************************************************************************/
+typedef long TranslationRefNum;
+/*******************************************************************************************
+
+ This routine sets the advertisement in the top half of the progress dialog.
+ It is called once at the beginning of your DoTranslateFile routine.
+
+ Enter : refNum Translation reference supplied to DoTranslateFile.
+ advertisement A handle to the picture to display. This must be non-purgable.
+ Before returning from DoTranslateFile, you should dispose
+ of the memory. (Normally, it is in the temp translation heap
+ so it is cleaned up for you.)
+
+ Exit : returns noErr, paramErr, or memFullErr
+
+*******************************************************************************************/
+/*
+ * SetTranslationAdvertisement()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 thru 1.0.2
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SetTranslationAdvertisement(
+ TranslationRefNum refNum,
+ PicHandle advertisement) TWOWORDINLINE(0x7002, 0xABFC);
+
+
+
+/*******************************************************************************************
+
+ This routine updates the progress bar in the progress dialog.
+ It is called repeatedly from within your DoTranslateFile routine.
+ It should be called often, so that the user will get feedback if
+ he tries to cancel.
+
+ Enter : refNum translation reference supplied to DoTranslateFile.
+ progress percent complete (0-100)
+
+ Exit : canceled TRUE if the user clicked the Cancel button, FALSE otherwise
+
+ Return : noErr, paramErr, or memFullErr
+
+*******************************************************************************************/
+/*
+ * UpdateTranslationProgress()
+ *
+ * Availability:
+ * Non-Carbon CFM: in Translation 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 thru 1.0.2
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+UpdateTranslationProgress(
+ TranslationRefNum refNum,
+ short percentDone,
+ Boolean * canceled) TWOWORDINLINE(0x7001, 0xABFC);
+
+
+/*******************************************************************************************
+
+ Component Manager component selectors for translation extension routines
+
+*******************************************************************************************/
+enum {
+ kTranslateGetFileTranslationList = 0,
+ kTranslateIdentifyFile = 1,
+ kTranslateTranslateFile = 2,
+ kTranslateGetTranslatedFilename = 3,
+ kTranslateGetScrapTranslationList = 10,
+ kTranslateIdentifyScrap = 11,
+ kTranslateTranslateScrap = 12,
+ kTranslateGetScrapTranslationListConsideringData = 13
+};
+
+
+/*******************************************************************************************
+
+ routines which implement translation extensions
+
+*******************************************************************************************/
+typedef CALLBACK_API( ComponentResult , DoGetFileTranslationListProcPtr )(ComponentInstance self, FileTranslationListHandle translationList);
+typedef CALLBACK_API( ComponentResult , DoIdentifyFileProcPtr )(ComponentInstance self, const FSSpec *theDocument, FileType *docType);
+typedef CALLBACK_API( ComponentResult , DoTranslateFileProcPtr )(ComponentInstance self, TranslationRefNum refNum, const FSSpec *sourceDocument, FileType srcType, long srcTypeHint, const FSSpec *dstDoc, FileType dstType, long dstTypeHint);
+typedef CALLBACK_API( ComponentResult , DoGetTranslatedFilenameProcPtr )(ComponentInstance self, FileType dstType, long dstTypeHint, FSSpec *theDocument);
+typedef CALLBACK_API( ComponentResult , DoGetScrapTranslationListProcPtr )(ComponentInstance self, ScrapTranslationListHandle list);
+typedef CALLBACK_API( ComponentResult , DoIdentifyScrapProcPtr )(ComponentInstance self, const void *dataPtr, Size dataLength, ScrapType *dataFormat);
+typedef CALLBACK_API( ComponentResult , DoTranslateScrapProcPtr )(ComponentInstance self, TranslationRefNum refNum, const void *srcDataPtr, Size srcDataLength, ScrapType srcType, long srcTypeHint, Handle dstData, ScrapType dstType, long dstTypeHint);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Traps.h b/include/qt/Traps.h
index 045fdf8e5..264166f33 100644
--- a/include/qt/Traps.h
+++ b/include/qt/Traps.h
@@ -1,18 +1,18 @@
/*
File: Traps.h
-
+
Contains: A-Trap constants.
-
+
Version: Technology: Mac OS 9
Release: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1985-1999 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 __TRAPS__
#define __TRAPS__
@@ -37,1044 +37,1018 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* QuickDraw */
- enum {
- _NQDMisc = 0xABC3,
- _CopyMask = 0xA817,
- _MeasureText = 0xA837,
- _GetMaskTable = 0xA836,
- _CalcMask = 0xA838,
- _SeedFill = 0xA839,
- _InitCursor = 0xA850,
- _SetCursor = 0xA851,
- _HideCursor = 0xA852,
- _ShowCursor = 0xA853,
- _ShieldCursor = 0xA855,
- _ObscureCursor = 0xA856,
- _BitAnd = 0xA858,
- _BitXOr = 0xA859,
- _BitNot = 0xA85A,
- _BitOr = 0xA85B,
- _BitShift = 0xA85C,
- _BitTst = 0xA85D,
- _BitSet = 0xA85E,
- _BitClr = 0xA85F,
- _Random = 0xA861,
- _ForeColor = 0xA862,
- _BackColor = 0xA863,
- _ColorBit = 0xA864,
- _GetPixel = 0xA865,
- _StuffHex = 0xA866,
- _LongMul = 0xA867,
- _FixMul = 0xA868,
- _FixRatio = 0xA869,
- _HiWord = 0xA86A,
- _LoWord = 0xA86B,
- _FixRound = 0xA86C,
- _InitPort = 0xA86D,
- _InitGraf = 0xA86E,
- _OpenPort = 0xA86F,
- _LocalToGlobal = 0xA870,
- _GlobalToLocal = 0xA871,
- _GrafDevice = 0xA872,
- _SetPort = 0xA873,
- _GetPort = 0xA874,
- _SetPBits = 0xA875,
- _PortSize = 0xA876,
- _MovePortTo = 0xA877,
- _SetOrigin = 0xA878,
- _SetClip = 0xA879,
- _GetClip = 0xA87A,
- _ClipRect = 0xA87B,
- _BackPat = 0xA87C,
- _ClosePort = 0xA87D,
- _AddPt = 0xA87E,
- _SubPt = 0xA87F,
- _SetPt = 0xA880,
- _EqualPt = 0xA881,
- _StdText = 0xA882,
- _DrawChar = 0xA883,
- _DrawString = 0xA884,
- _DrawText = 0xA885,
- _TextWidth = 0xA886,
- _TextFont = 0xA887,
- _TextFace = 0xA888,
- _TextMode = 0xA889,
- _TextSize = 0xA88A,
- _GetFontInfo = 0xA88B,
- _StringWidth = 0xA88C,
- _CharWidth = 0xA88D,
- _SpaceExtra = 0xA88E,
- _StdLine = 0xA890,
- _LineTo = 0xA891,
- _Line = 0xA892
- };
+/* QuickDraw */
+enum {
+ _NQDMisc = 0xABC3,
+ _CopyMask = 0xA817,
+ _MeasureText = 0xA837,
+ _GetMaskTable = 0xA836,
+ _CalcMask = 0xA838,
+ _SeedFill = 0xA839,
+ _InitCursor = 0xA850,
+ _SetCursor = 0xA851,
+ _HideCursor = 0xA852,
+ _ShowCursor = 0xA853,
+ _ShieldCursor = 0xA855,
+ _ObscureCursor = 0xA856,
+ _BitAnd = 0xA858,
+ _BitXOr = 0xA859,
+ _BitNot = 0xA85A,
+ _BitOr = 0xA85B,
+ _BitShift = 0xA85C,
+ _BitTst = 0xA85D,
+ _BitSet = 0xA85E,
+ _BitClr = 0xA85F,
+ _Random = 0xA861,
+ _ForeColor = 0xA862,
+ _BackColor = 0xA863,
+ _ColorBit = 0xA864,
+ _GetPixel = 0xA865,
+ _StuffHex = 0xA866,
+ _LongMul = 0xA867,
+ _FixMul = 0xA868,
+ _FixRatio = 0xA869,
+ _HiWord = 0xA86A,
+ _LoWord = 0xA86B,
+ _FixRound = 0xA86C,
+ _InitPort = 0xA86D,
+ _InitGraf = 0xA86E,
+ _OpenPort = 0xA86F,
+ _LocalToGlobal = 0xA870,
+ _GlobalToLocal = 0xA871,
+ _GrafDevice = 0xA872,
+ _SetPort = 0xA873,
+ _GetPort = 0xA874,
+ _SetPBits = 0xA875,
+ _PortSize = 0xA876,
+ _MovePortTo = 0xA877,
+ _SetOrigin = 0xA878,
+ _SetClip = 0xA879,
+ _GetClip = 0xA87A,
+ _ClipRect = 0xA87B,
+ _BackPat = 0xA87C,
+ _ClosePort = 0xA87D,
+ _AddPt = 0xA87E,
+ _SubPt = 0xA87F,
+ _SetPt = 0xA880,
+ _EqualPt = 0xA881,
+ _StdText = 0xA882,
+ _DrawChar = 0xA883,
+ _DrawString = 0xA884,
+ _DrawText = 0xA885,
+ _TextWidth = 0xA886,
+ _TextFont = 0xA887,
+ _TextFace = 0xA888,
+ _TextMode = 0xA889,
+ _TextSize = 0xA88A,
+ _GetFontInfo = 0xA88B,
+ _StringWidth = 0xA88C,
+ _CharWidth = 0xA88D,
+ _SpaceExtra = 0xA88E,
+ _StdLine = 0xA890,
+ _LineTo = 0xA891,
+ _Line = 0xA892
+};
- enum
- {
- _MoveTo = 0xA893,
- _Move = 0xA894,
- _ShutDown = 0xA895,
- _HidePen = 0xA896,
- _ShowPen = 0xA897,
- _GetPenState = 0xA898,
- _SetPenState = 0xA899,
- _GetPen = 0xA89A,
- _PenSize = 0xA89B,
- _PenMode = 0xA89C,
- _PenPat = 0xA89D,
- _PenNormal = 0xA89E,
- _Unimplemented = 0xA89F,
- _StdRect = 0xA8A0,
- _FrameRect = 0xA8A1,
- _PaintRect = 0xA8A2,
- _EraseRect = 0xA8A3,
- _InverRect = 0xA8A4,
- _FillRect = 0xA8A5,
- _EqualRect = 0xA8A6,
- _SetRect = 0xA8A7,
- _OffsetRect = 0xA8A8,
- _InsetRect = 0xA8A9,
- _SectRect = 0xA8AA,
- _UnionRect = 0xA8AB,
- _Pt2Rect = 0xA8AC,
- _PtInRect = 0xA8AD,
- _EmptyRect = 0xA8AE,
- _StdRRect = 0xA8AF,
- _FrameRoundRect = 0xA8B0,
- _PaintRoundRect = 0xA8B1,
- _EraseRoundRect = 0xA8B2,
- _InverRoundRect = 0xA8B3,
- _FillRoundRect = 0xA8B4,
- _StdOval = 0xA8B6,
- _FrameOval = 0xA8B7,
- _PaintOval = 0xA8B8,
- _EraseOval = 0xA8B9,
- _InvertOval = 0xA8BA,
- _FillOval = 0xA8BB,
- _SlopeFromAngle = 0xA8BC,
- _StdArc = 0xA8BD,
- _FrameArc = 0xA8BE,
- _PaintArc = 0xA8BF,
- _EraseArc = 0xA8C0,
- _InvertArc = 0xA8C1,
- _FillArc = 0xA8C2,
- _PtToAngle = 0xA8C3,
- _AngleFromSlope = 0xA8C4,
- _StdPoly = 0xA8C5,
- _FramePoly = 0xA8C6,
- _PaintPoly = 0xA8C7,
- _ErasePoly = 0xA8C8,
- _InvertPoly = 0xA8C9,
- _FillPoly = 0xA8CA,
- _OpenPoly = 0xA8CB,
- _ClosePgon = 0xA8CC,
- _ClosePoly = 0xA8CC,
- _KillPoly = 0xA8CD,
- _OffsetPoly = 0xA8CE,
- _PackBits = 0xA8CF,
- _UnpackBits = 0xA8D0,
- _StdRgn = 0xA8D1,
- _FrameRgn = 0xA8D2,
- _PaintRgn = 0xA8D3,
- _EraseRgn = 0xA8D4,
- _InverRgn = 0xA8D5,
- _FillRgn = 0xA8D6,
- _BitMapRgn = 0xA8D7,
- _BitMapToRegion = 0xA8D7,
- _NewRgn = 0xA8D8,
- _DisposRgn = 0xA8D9,
- _DisposeRgn = 0xA8D9,
- _OpenRgn = 0xA8DA,
- _CloseRgn = 0xA8DB,
- _CopyRgn = 0xA8DC,
- _SetEmptyRgn = 0xA8DD,
- _SetRecRgn = 0xA8DE,
- _RectRgn = 0xA8DF,
- _OffsetRgn = 0xA8E0,
- _InsetRgn = 0xA8E1,
- _EmptyRgn = 0xA8E2,
- _EqualRgn = 0xA8E3,
- _SectRgn = 0xA8E4,
- _UnionRgn = 0xA8E5,
- _DiffRgn = 0xA8E6,
- _XOrRgn = 0xA8E7,
- _PtInRgn = 0xA8E8,
- _RectInRgn = 0xA8E9,
- _SetStdProcs = 0xA8EA,
- _StdBits = 0xA8EB,
- _CopyBits = 0xA8EC,
- _StdTxMeas = 0xA8ED,
- _StdGetPic = 0xA8EE,
- _ScrollRect = 0xA8EF,
- _StdPutPic = 0xA8F0,
- _StdComment = 0xA8F1,
- _PicComment = 0xA8F2,
- _OpenPicture = 0xA8F3,
- _ClosePicture = 0xA8F4,
- _KillPicture = 0xA8F5,
- _DrawPicture = 0xA8F6,
- _Layout = 0xA8F7,
- _ScalePt = 0xA8F8,
- _MapPt = 0xA8F9,
- _MapRect = 0xA8FA,
- _MapRgn = 0xA8FB,
- _MapPoly = 0xA8FC
- };
+enum {
+ _MoveTo = 0xA893,
+ _Move = 0xA894,
+ _ShutDown = 0xA895,
+ _HidePen = 0xA896,
+ _ShowPen = 0xA897,
+ _GetPenState = 0xA898,
+ _SetPenState = 0xA899,
+ _GetPen = 0xA89A,
+ _PenSize = 0xA89B,
+ _PenMode = 0xA89C,
+ _PenPat = 0xA89D,
+ _PenNormal = 0xA89E,
+ _Unimplemented = 0xA89F,
+ _StdRect = 0xA8A0,
+ _FrameRect = 0xA8A1,
+ _PaintRect = 0xA8A2,
+ _EraseRect = 0xA8A3,
+ _InverRect = 0xA8A4,
+ _FillRect = 0xA8A5,
+ _EqualRect = 0xA8A6,
+ _SetRect = 0xA8A7,
+ _OffsetRect = 0xA8A8,
+ _InsetRect = 0xA8A9,
+ _SectRect = 0xA8AA,
+ _UnionRect = 0xA8AB,
+ _Pt2Rect = 0xA8AC,
+ _PtInRect = 0xA8AD,
+ _EmptyRect = 0xA8AE,
+ _StdRRect = 0xA8AF,
+ _FrameRoundRect = 0xA8B0,
+ _PaintRoundRect = 0xA8B1,
+ _EraseRoundRect = 0xA8B2,
+ _InverRoundRect = 0xA8B3,
+ _FillRoundRect = 0xA8B4,
+ _StdOval = 0xA8B6,
+ _FrameOval = 0xA8B7,
+ _PaintOval = 0xA8B8,
+ _EraseOval = 0xA8B9,
+ _InvertOval = 0xA8BA,
+ _FillOval = 0xA8BB,
+ _SlopeFromAngle = 0xA8BC,
+ _StdArc = 0xA8BD,
+ _FrameArc = 0xA8BE,
+ _PaintArc = 0xA8BF,
+ _EraseArc = 0xA8C0,
+ _InvertArc = 0xA8C1,
+ _FillArc = 0xA8C2,
+ _PtToAngle = 0xA8C3,
+ _AngleFromSlope = 0xA8C4,
+ _StdPoly = 0xA8C5,
+ _FramePoly = 0xA8C6,
+ _PaintPoly = 0xA8C7,
+ _ErasePoly = 0xA8C8,
+ _InvertPoly = 0xA8C9,
+ _FillPoly = 0xA8CA,
+ _OpenPoly = 0xA8CB,
+ _ClosePgon = 0xA8CC,
+ _ClosePoly = 0xA8CC,
+ _KillPoly = 0xA8CD,
+ _OffsetPoly = 0xA8CE,
+ _PackBits = 0xA8CF,
+ _UnpackBits = 0xA8D0,
+ _StdRgn = 0xA8D1,
+ _FrameRgn = 0xA8D2,
+ _PaintRgn = 0xA8D3,
+ _EraseRgn = 0xA8D4,
+ _InverRgn = 0xA8D5,
+ _FillRgn = 0xA8D6,
+ _BitMapRgn = 0xA8D7,
+ _BitMapToRegion = 0xA8D7,
+ _NewRgn = 0xA8D8,
+ _DisposRgn = 0xA8D9,
+ _DisposeRgn = 0xA8D9,
+ _OpenRgn = 0xA8DA,
+ _CloseRgn = 0xA8DB,
+ _CopyRgn = 0xA8DC,
+ _SetEmptyRgn = 0xA8DD,
+ _SetRecRgn = 0xA8DE,
+ _RectRgn = 0xA8DF,
+ _OffsetRgn = 0xA8E0,
+ _InsetRgn = 0xA8E1,
+ _EmptyRgn = 0xA8E2,
+ _EqualRgn = 0xA8E3,
+ _SectRgn = 0xA8E4,
+ _UnionRgn = 0xA8E5,
+ _DiffRgn = 0xA8E6,
+ _XOrRgn = 0xA8E7,
+ _PtInRgn = 0xA8E8,
+ _RectInRgn = 0xA8E9,
+ _SetStdProcs = 0xA8EA,
+ _StdBits = 0xA8EB,
+ _CopyBits = 0xA8EC,
+ _StdTxMeas = 0xA8ED,
+ _StdGetPic = 0xA8EE,
+ _ScrollRect = 0xA8EF,
+ _StdPutPic = 0xA8F0,
+ _StdComment = 0xA8F1,
+ _PicComment = 0xA8F2,
+ _OpenPicture = 0xA8F3,
+ _ClosePicture = 0xA8F4,
+ _KillPicture = 0xA8F5,
+ _DrawPicture = 0xA8F6,
+ _Layout = 0xA8F7,
+ _ScalePt = 0xA8F8,
+ _MapPt = 0xA8F9,
+ _MapRect = 0xA8FA,
+ _MapRgn = 0xA8FB,
+ _MapPoly = 0xA8FC
+};
#if OLDROUTINENAMES
- /* Some names had wrong case in C, long ago*/
- enum
- {
- _OffSetRect = _OffsetRect,
- _InSetRect = _InsetRect,
- _OffSetPoly = _OffsetPoly,
- _OfSetRgn = _OffsetRgn,
- _OfsetRgn = _OffsetRgn,
- _InSetRgn = _InsetRgn
- };
+/* Some names had wrong case in C, long ago*/
+enum {
+ _OffSetRect = _OffsetRect,
+ _InSetRect = _InsetRect,
+ _OffSetPoly = _OffsetPoly,
+ _OfSetRgn = _OffsetRgn,
+ _OfsetRgn = _OffsetRgn,
+ _InSetRgn = _InsetRgn
+};
#endif /* OLDROUTINENAMES */
- /* Toolbox */
- enum
- {
- _Count1Resources = 0xA80D,
- _Get1IxResource = 0xA80E,
- _Get1IxType = 0xA80F,
- _Unique1ID = 0xA810,
- _TESelView = 0xA811,
- _TEPinScroll = 0xA812,
- _TEAutoView = 0xA813,
- _Pack8 = 0xA816,
- _FixATan2 = 0xA818,
- _XMunger = 0xA819,
- _HOpenResFile = 0xA81A,
- _HCreateResFile = 0xA81B,
- _Count1Types = 0xA81C,
- _Get1Resource = 0xA81F,
- _Get1NamedResource = 0xA820,
- _ResourceDispatch = 0xA822,
- _MaxSizeRsrc = 0xA821,
- _InsMenuItem = 0xA826,
- _InsertMenuItem = 0xA826,
- _HideDItem = 0xA827,
- _HideDialogItem = 0xA827,
- _ShowDItem = 0xA828,
- _ShowDialogItem = 0xA828,
- _Pack9 = 0xA82B,
- _Pack10 = 0xA82C,
- _Pack11 = 0xA82D,
- _Pack12 = 0xA82E,
- _Pack13 = 0xA82F,
- _Pack14 = 0xA830,
- _Pack15 = 0xA831,
- _ScrnBitMap = 0xA833,
- _SetFScaleDisable = 0xA834,
- _FontMetrics = 0xA835,
- _ZoomWindow = 0xA83A,
- _TrackBox = 0xA83B,
- _PrGlue = 0xA8FD,
- _InitFonts = 0xA8FE,
- _GetFName = 0xA8FF,
- _GetFNum = 0xA900,
- _FMSwapFont = 0xA901,
- _RealFont = 0xA902,
- _SetFontLock = 0xA903,
- _DrawGrowIcon = 0xA904,
- _DragGrayRgn = 0xA905,
- _NewString = 0xA906,
- _SetString = 0xA907,
- _ShowHide = 0xA908,
- _CalcVis = 0xA909,
- _CalcVBehind = 0xA90A,
- _ClipAbove = 0xA90B,
- _PaintOne = 0xA90C,
- _PaintBehind = 0xA90D,
- _SaveOld = 0xA90E,
- _DrawNew = 0xA90F,
- _GetWMgrPort = 0xA910,
- _CheckUpDate = 0xA911,
- _InitWindows = 0xA912,
- _NewWindow = 0xA913,
- _DisposWindow = 0xA914,
- _DisposeWindow = 0xA914,
- _ShowWindow = 0xA915,
- _HideWindow = 0xA916,
- _GetWRefCon = 0xA917,
- _SetWRefCon = 0xA918,
- _GetWTitle = 0xA919,
- _SetWTitle = 0xA91A,
- _MoveWindow = 0xA91B,
- _HiliteWindow = 0xA91C,
- _SizeWindow = 0xA91D,
- _TrackGoAway = 0xA91E,
- _SelectWindow = 0xA91F,
- _BringToFront = 0xA920,
- _SendBehind = 0xA921,
- _BeginUpDate = 0xA922,
- _EndUpDate = 0xA923,
- _FrontWindow = 0xA924,
- _DragWindow = 0xA925,
- _DragTheRgn = 0xA926,
- _InvalRgn = 0xA927,
- _InvalRect = 0xA928,
- _ValidRgn = 0xA929,
- _ValidRect = 0xA92A,
- _GrowWindow = 0xA92B,
- _FindWindow = 0xA92C,
- _CloseWindow = 0xA92D,
- _SetWindowPic = 0xA92E,
- _GetWindowPic = 0xA92F
- };
+/* Toolbox */
+enum {
+ _Count1Resources = 0xA80D,
+ _Get1IxResource = 0xA80E,
+ _Get1IxType = 0xA80F,
+ _Unique1ID = 0xA810,
+ _TESelView = 0xA811,
+ _TEPinScroll = 0xA812,
+ _TEAutoView = 0xA813,
+ _Pack8 = 0xA816,
+ _FixATan2 = 0xA818,
+ _XMunger = 0xA819,
+ _HOpenResFile = 0xA81A,
+ _HCreateResFile = 0xA81B,
+ _Count1Types = 0xA81C,
+ _Get1Resource = 0xA81F,
+ _Get1NamedResource = 0xA820,
+ _ResourceDispatch = 0xA822,
+ _MaxSizeRsrc = 0xA821,
+ _InsMenuItem = 0xA826,
+ _InsertMenuItem = 0xA826,
+ _HideDItem = 0xA827,
+ _HideDialogItem = 0xA827,
+ _ShowDItem = 0xA828,
+ _ShowDialogItem = 0xA828,
+ _Pack9 = 0xA82B,
+ _Pack10 = 0xA82C,
+ _Pack11 = 0xA82D,
+ _Pack12 = 0xA82E,
+ _Pack13 = 0xA82F,
+ _Pack14 = 0xA830,
+ _Pack15 = 0xA831,
+ _ScrnBitMap = 0xA833,
+ _SetFScaleDisable = 0xA834,
+ _FontMetrics = 0xA835,
+ _ZoomWindow = 0xA83A,
+ _TrackBox = 0xA83B,
+ _PrGlue = 0xA8FD,
+ _InitFonts = 0xA8FE,
+ _GetFName = 0xA8FF,
+ _GetFNum = 0xA900,
+ _FMSwapFont = 0xA901,
+ _RealFont = 0xA902,
+ _SetFontLock = 0xA903,
+ _DrawGrowIcon = 0xA904,
+ _DragGrayRgn = 0xA905,
+ _NewString = 0xA906,
+ _SetString = 0xA907,
+ _ShowHide = 0xA908,
+ _CalcVis = 0xA909,
+ _CalcVBehind = 0xA90A,
+ _ClipAbove = 0xA90B,
+ _PaintOne = 0xA90C,
+ _PaintBehind = 0xA90D,
+ _SaveOld = 0xA90E,
+ _DrawNew = 0xA90F,
+ _GetWMgrPort = 0xA910,
+ _CheckUpDate = 0xA911,
+ _InitWindows = 0xA912,
+ _NewWindow = 0xA913,
+ _DisposWindow = 0xA914,
+ _DisposeWindow = 0xA914,
+ _ShowWindow = 0xA915,
+ _HideWindow = 0xA916,
+ _GetWRefCon = 0xA917,
+ _SetWRefCon = 0xA918,
+ _GetWTitle = 0xA919,
+ _SetWTitle = 0xA91A,
+ _MoveWindow = 0xA91B,
+ _HiliteWindow = 0xA91C,
+ _SizeWindow = 0xA91D,
+ _TrackGoAway = 0xA91E,
+ _SelectWindow = 0xA91F,
+ _BringToFront = 0xA920,
+ _SendBehind = 0xA921,
+ _BeginUpDate = 0xA922,
+ _EndUpDate = 0xA923,
+ _FrontWindow = 0xA924,
+ _DragWindow = 0xA925,
+ _DragTheRgn = 0xA926,
+ _InvalRgn = 0xA927,
+ _InvalRect = 0xA928,
+ _ValidRgn = 0xA929,
+ _ValidRect = 0xA92A,
+ _GrowWindow = 0xA92B,
+ _FindWindow = 0xA92C,
+ _CloseWindow = 0xA92D,
+ _SetWindowPic = 0xA92E,
+ _GetWindowPic = 0xA92F
+};
- enum
- {
- _InitMenus = 0xA930,
- _NewMenu = 0xA931,
- _DisposMenu = 0xA932,
- _DisposeMenu = 0xA932,
- _AppendMenu = 0xA933,
- _ClearMenuBar = 0xA934,
- _InsertMenu = 0xA935,
- _DeleteMenu = 0xA936,
- _DrawMenuBar = 0xA937,
- _InvalMenuBar = 0xA81D,
- _HiliteMenu = 0xA938,
- _EnableItem = 0xA939,
- _DisableItem = 0xA93A,
- _GetMenuBar = 0xA93B,
- _SetMenuBar = 0xA93C,
- _MenuSelect = 0xA93D,
- _MenuKey = 0xA93E,
- _GetItmIcon = 0xA93F,
- _SetItmIcon = 0xA940,
- _GetItmStyle = 0xA941,
- _SetItmStyle = 0xA942,
- _GetItmMark = 0xA943,
- _SetItmMark = 0xA944,
- _CheckItem = 0xA945,
- _GetItem = 0xA946,
- _GetMenuItemText = 0xA946,
- _SetItem = 0xA947,
- _SetMenuItemText = 0xA947,
- _CalcMenuSize = 0xA948,
- _GetMHandle = 0xA949,
- _GetMenuHandle = 0xA949,
- _SetMFlash = 0xA94A,
- _PlotIcon = 0xA94B,
- _FlashMenuBar = 0xA94C,
- _AddResMenu = 0xA94D,
- _AppendResMenu = 0xA94D,
- _PinRect = 0xA94E,
- _DeltaPoint = 0xA94F,
- _CountMItems = 0xA950,
- _InsertResMenu = 0xA951,
- _DelMenuItem = 0xA952,
- _DeleteMenuItem = 0xA952,
- _UpdtControl = 0xA953,
- _NewControl = 0xA954,
- _DisposControl = 0xA955,
- _DisposeControl = 0xA955,
- _KillControls = 0xA956,
- _ShowControl = 0xA957,
- _HideControl = 0xA958,
- _MoveControl = 0xA959,
- _GetCRefCon = 0xA95A,
- _GetControlReference = 0xA95A,
- _SetCRefCon = 0xA95B,
- _SetControlReference = 0xA95B,
- _SizeControl = 0xA95C,
- _HiliteControl = 0xA95D,
- _GetCTitle = 0xA95E,
- _GetControlTitle = 0xA95E,
- _SetCTitle = 0xA95F,
- _SetControlTitle = 0xA95F,
- _GetCtlValue = 0xA960,
- _GetControlValue = 0xA960,
- _GetMinCtl = 0xA961,
- _GetControlMinimum = 0xA961,
- _GetMaxCtl = 0xA962,
- _GetControlMaximum = 0xA962,
- _SetCtlValue = 0xA963,
- _SetControlValue = 0xA963,
- _SetMinCtl = 0xA964,
- _SetControlMinimum = 0xA964,
- _SetMaxCtl = 0xA965,
- _SetControlMaximum = 0xA965,
- _TestControl = 0xA966,
- _DragControl = 0xA967,
- _TrackControl = 0xA968,
- _DrawControls = 0xA969,
- _GetCtlAction = 0xA96A,
- _GetControlAction = 0xA96A,
- _SetCtlAction = 0xA96B,
- _SetControlAction = 0xA96B,
- _FindControl = 0xA96C,
- _Draw1Control = 0xA96D
- };
+enum {
+ _InitMenus = 0xA930,
+ _NewMenu = 0xA931,
+ _DisposMenu = 0xA932,
+ _DisposeMenu = 0xA932,
+ _AppendMenu = 0xA933,
+ _ClearMenuBar = 0xA934,
+ _InsertMenu = 0xA935,
+ _DeleteMenu = 0xA936,
+ _DrawMenuBar = 0xA937,
+ _InvalMenuBar = 0xA81D,
+ _HiliteMenu = 0xA938,
+ _EnableItem = 0xA939,
+ _DisableItem = 0xA93A,
+ _GetMenuBar = 0xA93B,
+ _SetMenuBar = 0xA93C,
+ _MenuSelect = 0xA93D,
+ _MenuKey = 0xA93E,
+ _GetItmIcon = 0xA93F,
+ _SetItmIcon = 0xA940,
+ _GetItmStyle = 0xA941,
+ _SetItmStyle = 0xA942,
+ _GetItmMark = 0xA943,
+ _SetItmMark = 0xA944,
+ _CheckItem = 0xA945,
+ _GetItem = 0xA946,
+ _GetMenuItemText = 0xA946,
+ _SetItem = 0xA947,
+ _SetMenuItemText = 0xA947,
+ _CalcMenuSize = 0xA948,
+ _GetMHandle = 0xA949,
+ _GetMenuHandle = 0xA949,
+ _SetMFlash = 0xA94A,
+ _PlotIcon = 0xA94B,
+ _FlashMenuBar = 0xA94C,
+ _AddResMenu = 0xA94D,
+ _AppendResMenu = 0xA94D,
+ _PinRect = 0xA94E,
+ _DeltaPoint = 0xA94F,
+ _CountMItems = 0xA950,
+ _InsertResMenu = 0xA951,
+ _DelMenuItem = 0xA952,
+ _DeleteMenuItem = 0xA952,
+ _UpdtControl = 0xA953,
+ _NewControl = 0xA954,
+ _DisposControl = 0xA955,
+ _DisposeControl = 0xA955,
+ _KillControls = 0xA956,
+ _ShowControl = 0xA957,
+ _HideControl = 0xA958,
+ _MoveControl = 0xA959,
+ _GetCRefCon = 0xA95A,
+ _GetControlReference = 0xA95A,
+ _SetCRefCon = 0xA95B,
+ _SetControlReference = 0xA95B,
+ _SizeControl = 0xA95C,
+ _HiliteControl = 0xA95D,
+ _GetCTitle = 0xA95E,
+ _GetControlTitle = 0xA95E,
+ _SetCTitle = 0xA95F,
+ _SetControlTitle = 0xA95F,
+ _GetCtlValue = 0xA960,
+ _GetControlValue = 0xA960,
+ _GetMinCtl = 0xA961,
+ _GetControlMinimum = 0xA961,
+ _GetMaxCtl = 0xA962,
+ _GetControlMaximum = 0xA962,
+ _SetCtlValue = 0xA963,
+ _SetControlValue = 0xA963,
+ _SetMinCtl = 0xA964,
+ _SetControlMinimum = 0xA964,
+ _SetMaxCtl = 0xA965,
+ _SetControlMaximum = 0xA965,
+ _TestControl = 0xA966,
+ _DragControl = 0xA967,
+ _TrackControl = 0xA968,
+ _DrawControls = 0xA969,
+ _GetCtlAction = 0xA96A,
+ _GetControlAction = 0xA96A,
+ _SetCtlAction = 0xA96B,
+ _SetControlAction = 0xA96B,
+ _FindControl = 0xA96C,
+ _Draw1Control = 0xA96D
+};
- enum
- {
- _Dequeue = 0xA96E,
- _Enqueue = 0xA96F,
- _WaitNextEvent = 0xA860,
- _GetNextEvent = 0xA970,
- _EventAvail = 0xA971,
- _GetMouse = 0xA972,
- _StillDown = 0xA973,
- _Button = 0xA974,
- _TickCount = 0xA975,
- _GetKeys = 0xA976,
- _WaitMouseUp = 0xA977,
- _UpdtDialog = 0xA978,
- _InitDialogs = 0xA97B,
- _GetNewDialog = 0xA97C,
- _NewDialog = 0xA97D,
- _SelIText = 0xA97E,
- _SelectDialogItemText = 0xA97E,
- _IsDialogEvent = 0xA97F,
- _DialogSelect = 0xA980,
- _DrawDialog = 0xA981,
- _CloseDialog = 0xA982,
- _DisposDialog = 0xA983,
- _DisposeDialog = 0xA983,
- _FindDItem = 0xA984,
- _FindDialogItem = 0xA984,
- _Alert = 0xA985,
- _StopAlert = 0xA986,
- _NoteAlert = 0xA987,
- _CautionAlert = 0xA988,
- _ParamText = 0xA98B,
- _ErrorSound = 0xA98C,
- _GetDItem = 0xA98D,
- _GetDialogItem = 0xA98D,
- _SetDItem = 0xA98E,
- _SetDialogItem = 0xA98E,
- _SetIText = 0xA98F,
- _SetDialogItemText = 0xA98F,
- _GetIText = 0xA990,
- _GetDialogItemText = 0xA990,
- _ModalDialog = 0xA991,
- _DetachResource = 0xA992,
- _SetResPurge = 0xA993,
- _CurResFile = 0xA994,
- _InitResources = 0xA995,
- _RsrcZoneInit = 0xA996,
- _OpenResFile = 0xA997,
- _UseResFile = 0xA998,
- _UpdateResFile = 0xA999,
- _CloseResFile = 0xA99A,
- _SetResLoad = 0xA99B,
- _CountResources = 0xA99C,
- _GetIndResource = 0xA99D,
- _CountTypes = 0xA99E,
- _GetIndType = 0xA99F,
- _GetResource = 0xA9A0,
- _GetNamedResource = 0xA9A1,
- _LoadResource = 0xA9A2,
- _ReleaseResource = 0xA9A3,
- _HomeResFile = 0xA9A4,
- _SizeRsrc = 0xA9A5,
- _GetResAttrs = 0xA9A6,
- _SetResAttrs = 0xA9A7,
- _GetResInfo = 0xA9A8,
- _SetResInfo = 0xA9A9,
- _ChangedResource = 0xA9AA,
- _AddResource = 0xA9AB,
- _AddReference = 0xA9AC,
- _RmveResource = 0xA9AD,
- _RmveReference = 0xA9AE,
- _ResError = 0xA9AF,
- _WriteResource = 0xA9B0,
- _CreateResFile = 0xA9B1,
- _SystemEvent = 0xA9B2,
- _SystemClick = 0xA9B3,
- _SystemTask = 0xA9B4,
- _SystemMenu = 0xA9B5,
- _OpenDeskAcc = 0xA9B6,
- _CloseDeskAcc = 0xA9B7,
- _GetPattern = 0xA9B8,
- _GetCursor = 0xA9B9,
- _GetString = 0xA9BA,
- _GetIcon = 0xA9BB,
- _GetPicture = 0xA9BC,
- _GetNewWindow = 0xA9BD,
- _GetNewControl = 0xA9BE,
- _GetRMenu = 0xA9BF,
- _GetNewMBar = 0xA9C0,
- _UniqueID = 0xA9C1,
- _SysEdit = 0xA9C2,
- _OpenRFPerm = 0xA9C4,
- _RsrcMapEntry = 0xA9C5,
- _Secs2Date = 0xA9C6,
- _SecondsToDate = 0xA9C6,
- _Date2Secs = 0xA9C7,
- _DateToSeconds = 0xA9C7,
- _SysBeep = 0xA9C8,
- _SysError = 0xA9C9,
- _PutIcon = 0xA9CA,
- _Munger = 0xA9E0,
- _HandToHand = 0xA9E1,
- _PtrToXHand = 0xA9E2,
- _PtrToHand = 0xA9E3,
- _HandAndHand = 0xA9E4,
- _InitPack = 0xA9E5,
- _InitAllPacks = 0xA9E6,
- _Pack0 = 0xA9E7,
- _Pack1 = 0xA9E8,
- _Pack2 = 0xA9E9,
- _Pack3 = 0xA9EA,
- _FP68K = 0xA9EB,
- _Pack4 = 0xA9EB,
- _Elems68K = 0xA9EC,
- _Pack5 = 0xA9EC,
- _Pack6 = 0xA9ED,
- _DECSTR68K = 0xA9EE,
- _Pack7 = 0xA9EE,
- _PtrAndHand = 0xA9EF,
- _LoadSeg = 0xA9F0,
- _UnLoadSeg = 0xA9F1,
- _Launch = 0xA9F2,
- _Chain = 0xA9F3,
- _ExitToShell = 0xA9F4,
- _GetAppParms = 0xA9F5,
- _GetResFileAttrs = 0xA9F6,
- _SetResFileAttrs = 0xA9F7,
- _MethodDispatch = 0xA9F8,
- _InfoScrap = 0xA9F9,
- _UnlodeScrap = 0xA9FA,
- _UnloadScrap = 0xA9FA,
- _LodeScrap = 0xA9FB,
- _LoadScrap = 0xA9FB,
- _ZeroScrap = 0xA9FC,
- _GetScrap = 0xA9FD,
- _PutScrap = 0xA9FE,
- _Debugger = 0xA9FF,
- _DisplayDispatch = 0xABEB,
- _IconDispatch = 0xABC9,
- _ThreadDispatch = 0xABF2,
- _DictionaryDispatch = 0xAA53,
- _DebugStr = 0xABFF
- };
+enum {
+ _Dequeue = 0xA96E,
+ _Enqueue = 0xA96F,
+ _WaitNextEvent = 0xA860,
+ _GetNextEvent = 0xA970,
+ _EventAvail = 0xA971,
+ _GetMouse = 0xA972,
+ _StillDown = 0xA973,
+ _Button = 0xA974,
+ _TickCount = 0xA975,
+ _GetKeys = 0xA976,
+ _WaitMouseUp = 0xA977,
+ _UpdtDialog = 0xA978,
+ _InitDialogs = 0xA97B,
+ _GetNewDialog = 0xA97C,
+ _NewDialog = 0xA97D,
+ _SelIText = 0xA97E,
+ _SelectDialogItemText = 0xA97E,
+ _IsDialogEvent = 0xA97F,
+ _DialogSelect = 0xA980,
+ _DrawDialog = 0xA981,
+ _CloseDialog = 0xA982,
+ _DisposDialog = 0xA983,
+ _DisposeDialog = 0xA983,
+ _FindDItem = 0xA984,
+ _FindDialogItem = 0xA984,
+ _Alert = 0xA985,
+ _StopAlert = 0xA986,
+ _NoteAlert = 0xA987,
+ _CautionAlert = 0xA988,
+ _ParamText = 0xA98B,
+ _ErrorSound = 0xA98C,
+ _GetDItem = 0xA98D,
+ _GetDialogItem = 0xA98D,
+ _SetDItem = 0xA98E,
+ _SetDialogItem = 0xA98E,
+ _SetIText = 0xA98F,
+ _SetDialogItemText = 0xA98F,
+ _GetIText = 0xA990,
+ _GetDialogItemText = 0xA990,
+ _ModalDialog = 0xA991,
+ _DetachResource = 0xA992,
+ _SetResPurge = 0xA993,
+ _CurResFile = 0xA994,
+ _InitResources = 0xA995,
+ _RsrcZoneInit = 0xA996,
+ _OpenResFile = 0xA997,
+ _UseResFile = 0xA998,
+ _UpdateResFile = 0xA999,
+ _CloseResFile = 0xA99A,
+ _SetResLoad = 0xA99B,
+ _CountResources = 0xA99C,
+ _GetIndResource = 0xA99D,
+ _CountTypes = 0xA99E,
+ _GetIndType = 0xA99F,
+ _GetResource = 0xA9A0,
+ _GetNamedResource = 0xA9A1,
+ _LoadResource = 0xA9A2,
+ _ReleaseResource = 0xA9A3,
+ _HomeResFile = 0xA9A4,
+ _SizeRsrc = 0xA9A5,
+ _GetResAttrs = 0xA9A6,
+ _SetResAttrs = 0xA9A7,
+ _GetResInfo = 0xA9A8,
+ _SetResInfo = 0xA9A9,
+ _ChangedResource = 0xA9AA,
+ _AddResource = 0xA9AB,
+ _AddReference = 0xA9AC,
+ _RmveResource = 0xA9AD,
+ _RmveReference = 0xA9AE,
+ _ResError = 0xA9AF,
+ _WriteResource = 0xA9B0,
+ _CreateResFile = 0xA9B1,
+ _SystemEvent = 0xA9B2,
+ _SystemClick = 0xA9B3,
+ _SystemTask = 0xA9B4,
+ _SystemMenu = 0xA9B5,
+ _OpenDeskAcc = 0xA9B6,
+ _CloseDeskAcc = 0xA9B7,
+ _GetPattern = 0xA9B8,
+ _GetCursor = 0xA9B9,
+ _GetString = 0xA9BA,
+ _GetIcon = 0xA9BB,
+ _GetPicture = 0xA9BC,
+ _GetNewWindow = 0xA9BD,
+ _GetNewControl = 0xA9BE,
+ _GetRMenu = 0xA9BF,
+ _GetNewMBar = 0xA9C0,
+ _UniqueID = 0xA9C1,
+ _SysEdit = 0xA9C2,
+ _OpenRFPerm = 0xA9C4,
+ _RsrcMapEntry = 0xA9C5,
+ _Secs2Date = 0xA9C6,
+ _SecondsToDate = 0xA9C6,
+ _Date2Secs = 0xA9C7,
+ _DateToSeconds = 0xA9C7,
+ _SysBeep = 0xA9C8,
+ _SysError = 0xA9C9,
+ _PutIcon = 0xA9CA,
+ _Munger = 0xA9E0,
+ _HandToHand = 0xA9E1,
+ _PtrToXHand = 0xA9E2,
+ _PtrToHand = 0xA9E3,
+ _HandAndHand = 0xA9E4,
+ _InitPack = 0xA9E5,
+ _InitAllPacks = 0xA9E6,
+ _Pack0 = 0xA9E7,
+ _Pack1 = 0xA9E8,
+ _Pack2 = 0xA9E9,
+ _Pack3 = 0xA9EA,
+ _FP68K = 0xA9EB,
+ _Pack4 = 0xA9EB,
+ _Elems68K = 0xA9EC,
+ _Pack5 = 0xA9EC,
+ _Pack6 = 0xA9ED,
+ _DECSTR68K = 0xA9EE,
+ _Pack7 = 0xA9EE,
+ _PtrAndHand = 0xA9EF,
+ _LoadSeg = 0xA9F0,
+ _UnLoadSeg = 0xA9F1,
+ _Launch = 0xA9F2,
+ _Chain = 0xA9F3,
+ _ExitToShell = 0xA9F4,
+ _GetAppParms = 0xA9F5,
+ _GetResFileAttrs = 0xA9F6,
+ _SetResFileAttrs = 0xA9F7,
+ _MethodDispatch = 0xA9F8,
+ _InfoScrap = 0xA9F9,
+ _UnlodeScrap = 0xA9FA,
+ _UnloadScrap = 0xA9FA,
+ _LodeScrap = 0xA9FB,
+ _LoadScrap = 0xA9FB,
+ _ZeroScrap = 0xA9FC,
+ _GetScrap = 0xA9FD,
+ _PutScrap = 0xA9FE,
+ _Debugger = 0xA9FF,
+ _DisplayDispatch = 0xABEB,
+ _IconDispatch = 0xABC9,
+ _ThreadDispatch = 0xABF2,
+ _DictionaryDispatch = 0xAA53,
+ _DebugStr = 0xABFF
+};
- enum
- {
- /* PPCToolbox */
- _PPC = 0xA0DD, /* Alias Manager */
- _AliasDispatch = 0xA823, /* Device Manager (some shared by the File Manager) */
- _Open = 0xA000,
- _Close = 0xA001,
- _Read = 0xA002,
- _Write = 0xA003,
- _Control = 0xA004,
- _Status = 0xA005,
- _KillIO = 0xA006, /* File Manager */
- _GetVolInfo = 0xA007,
- _Create = 0xA008,
- _Delete = 0xA009,
- _OpenRF = 0xA00A,
- _Rename = 0xA00B,
- _GetFileInfo = 0xA00C,
- _SetFileInfo = 0xA00D,
- _UnmountVol = 0xA00E,
- _HUnmountVol = 0xA20E,
- _MountVol = 0xA00F,
- _Allocate = 0xA010,
- _GetEOF = 0xA011,
- _SetEOF = 0xA012,
- _FlushVol = 0xA013,
- _GetVol = 0xA014,
- _SetVol = 0xA015,
- _FInitQueue = 0xA016,
- _Eject = 0xA017,
- _GetFPos = 0xA018,
- _SetFilLock = 0xA041,
- _RstFilLock = 0xA042,
- _SetFilType = 0xA043,
- _SetFPos = 0xA044,
- _FlushFile = 0xA045,
- _HOpen = 0xA200,
- _HGetVInfo = 0xA207,
- _HCreate = 0xA208,
- _HDelete = 0xA209,
- _HOpenRF = 0xA20A,
- _HRename = 0xA20B,
- _HGetFileInfo = 0xA20C,
- _HSetFileInfo = 0xA20D,
- _AllocContig = 0xA210,
- _HSetVol = 0xA215,
- _HGetVol = 0xA214,
- _HSetFLock = 0xA241,
- _HRstFLock = 0xA242, /* dispatch trap for remaining File Manager (and Desktop Manager) calls*/
- _FSDispatch = 0xA060,
- _HFSDispatch = 0xA260, /* High level FSSpec calls */
- _HighLevelFSDispatch = 0xAA52
- };
+enum {
+ /* PPCToolbox */
+ _PPC = 0xA0DD, /* Alias Manager */
+ _AliasDispatch = 0xA823, /* Device Manager (some shared by the File Manager) */
+ _Open = 0xA000,
+ _Close = 0xA001,
+ _Read = 0xA002,
+ _Write = 0xA003,
+ _Control = 0xA004,
+ _Status = 0xA005,
+ _KillIO = 0xA006, /* File Manager */
+ _GetVolInfo = 0xA007,
+ _Create = 0xA008,
+ _Delete = 0xA009,
+ _OpenRF = 0xA00A,
+ _Rename = 0xA00B,
+ _GetFileInfo = 0xA00C,
+ _SetFileInfo = 0xA00D,
+ _UnmountVol = 0xA00E,
+ _HUnmountVol = 0xA20E,
+ _MountVol = 0xA00F,
+ _Allocate = 0xA010,
+ _GetEOF = 0xA011,
+ _SetEOF = 0xA012,
+ _FlushVol = 0xA013,
+ _GetVol = 0xA014,
+ _SetVol = 0xA015,
+ _FInitQueue = 0xA016,
+ _Eject = 0xA017,
+ _GetFPos = 0xA018,
+ _SetFilLock = 0xA041,
+ _RstFilLock = 0xA042,
+ _SetFilType = 0xA043,
+ _SetFPos = 0xA044,
+ _FlushFile = 0xA045,
+ _HOpen = 0xA200,
+ _HGetVInfo = 0xA207,
+ _HCreate = 0xA208,
+ _HDelete = 0xA209,
+ _HOpenRF = 0xA20A,
+ _HRename = 0xA20B,
+ _HGetFileInfo = 0xA20C,
+ _HSetFileInfo = 0xA20D,
+ _AllocContig = 0xA210,
+ _HSetVol = 0xA215,
+ _HGetVol = 0xA214,
+ _HSetFLock = 0xA241,
+ _HRstFLock = 0xA242, /* dispatch trap for remaining File Manager (and Desktop Manager) calls*/
+ _FSDispatch = 0xA060,
+ _HFSDispatch = 0xA260, /* High level FSSpec calls */
+ _HighLevelFSDispatch = 0xAA52
+};
- enum
- {
- /* Memory Manager */
- _InitZone = 0xA019,
- _GetZone = 0xA11A,
- _SetZone = 0xA01B,
- _FreeMem = 0xA01C,
- _MaxMem = 0xA11D,
- _NewPtr = 0xA11E,
- _NewPtrSys = 0xA51E,
- _NewPtrClear = 0xA31E,
- _NewPtrSysClear = 0xA71E,
- _DisposPtr = 0xA01F,
- _DisposePtr = 0xA01F,
- _SetPtrSize = 0xA020,
- _GetPtrSize = 0xA021,
- _NewHandle = 0xA122,
- _NewHandleSys = 0xA522,
- _NewHandleClear = 0xA322,
- _NewHandleSysClear = 0xA722,
- _DisposHandle = 0xA023,
- _DisposeHandle = 0xA023,
- _SetHandleSize = 0xA024,
- _GetHandleSize = 0xA025,
- _HandleZone = 0xA126,
- _ReallocHandle = 0xA027,
- _RecoverHandle = 0xA128,
- _HLock = 0xA029,
- _HUnlock = 0xA02A,
- _EmptyHandle = 0xA02B,
- _InitApplZone = 0xA02C,
- _SetApplLimit = 0xA02D,
- _BlockMove = 0xA02E,
- _BlockMoveData = 0xA22E,
- _MemoryDispatch = 0xA05C,
- _MemoryDispatchA0Result = 0xA15C,
- _DeferUserFn = 0xA08F,
- _DebugUtil = 0xA08D,
- _HeapDispatch = 0xA0A4
- };
+enum {
+ /* Memory Manager */
+ _InitZone = 0xA019,
+ _GetZone = 0xA11A,
+ _SetZone = 0xA01B,
+ _FreeMem = 0xA01C,
+ _MaxMem = 0xA11D,
+ _NewPtr = 0xA11E,
+ _NewPtrSys = 0xA51E,
+ _NewPtrClear = 0xA31E,
+ _NewPtrSysClear = 0xA71E,
+ _DisposPtr = 0xA01F,
+ _DisposePtr = 0xA01F,
+ _SetPtrSize = 0xA020,
+ _GetPtrSize = 0xA021,
+ _NewHandle = 0xA122,
+ _NewHandleSys = 0xA522,
+ _NewHandleClear = 0xA322,
+ _NewHandleSysClear = 0xA722,
+ _DisposHandle = 0xA023,
+ _DisposeHandle = 0xA023,
+ _SetHandleSize = 0xA024,
+ _GetHandleSize = 0xA025,
+ _HandleZone = 0xA126,
+ _ReallocHandle = 0xA027,
+ _RecoverHandle = 0xA128,
+ _HLock = 0xA029,
+ _HUnlock = 0xA02A,
+ _EmptyHandle = 0xA02B,
+ _InitApplZone = 0xA02C,
+ _SetApplLimit = 0xA02D,
+ _BlockMove = 0xA02E,
+ _BlockMoveData = 0xA22E,
+ _MemoryDispatch = 0xA05C,
+ _MemoryDispatchA0Result = 0xA15C,
+ _DeferUserFn = 0xA08F,
+ _DebugUtil = 0xA08D,
+ _HeapDispatch = 0xA0A4
+};
- enum
- {
- /* Event Manager */
- _PostEvent = 0xA02F,
- _PPostEvent = 0xA12F,
- _OSEventAvail = 0xA030,
- _GetOSEvent = 0xA031,
- _FlushEvents = 0xA032,
- _VInstall = 0xA033,
- _VRemove = 0xA034,
- _OffLine = 0xA035,
- _MoreMasters = 0xA036,
- _WriteParam = 0xA038,
- _ReadDateTime = 0xA039,
- _SetDateTime = 0xA03A,
- _Delay = 0xA03B,
- _CmpString = 0xA03C,
- _DrvrInstall = 0xA03D,
- _DrvrRemove = 0xA03E,
- _InitUtil = 0xA03F,
- _ResrvMem = 0xA040,
- _GetTrapAddress = 0xA146,
- _SetTrapAddress = 0xA047,
- _GetOSTrapAddress = 0xA346,
- _SetOSTrapAddress = 0xA247,
- _GetToolTrapAddress = 0xA746,
- _SetToolTrapAddress = 0xA647,
- _GetToolBoxTrapAddress = 0xA746,
- _SetToolBoxTrapAddress = 0xA647,
- _PtrZone = 0xA148,
- _HPurge = 0xA049,
- _HNoPurge = 0xA04A,
- _SetGrowZone = 0xA04B,
- _CompactMem = 0xA04C,
- _PurgeMem = 0xA04D,
- _AddDrive = 0xA04E,
- _RDrvrInstall = 0xA04F,
- _LwrString = 0xA056,
- _UprString = 0xA054,
- _SetApplBase = 0xA057,
- _HWPriv = 0xA198
- };
+enum {
+ /* Event Manager */
+ _PostEvent = 0xA02F,
+ _PPostEvent = 0xA12F,
+ _OSEventAvail = 0xA030,
+ _GetOSEvent = 0xA031,
+ _FlushEvents = 0xA032,
+ _VInstall = 0xA033,
+ _VRemove = 0xA034,
+ _OffLine = 0xA035,
+ _MoreMasters = 0xA036,
+ _WriteParam = 0xA038,
+ _ReadDateTime = 0xA039,
+ _SetDateTime = 0xA03A,
+ _Delay = 0xA03B,
+ _CmpString = 0xA03C,
+ _DrvrInstall = 0xA03D,
+ _DrvrRemove = 0xA03E,
+ _InitUtil = 0xA03F,
+ _ResrvMem = 0xA040,
+ _GetTrapAddress = 0xA146,
+ _SetTrapAddress = 0xA047,
+ _GetOSTrapAddress = 0xA346,
+ _SetOSTrapAddress = 0xA247,
+ _GetToolTrapAddress = 0xA746,
+ _SetToolTrapAddress = 0xA647,
+ _GetToolBoxTrapAddress = 0xA746,
+ _SetToolBoxTrapAddress = 0xA647,
+ _PtrZone = 0xA148,
+ _HPurge = 0xA049,
+ _HNoPurge = 0xA04A,
+ _SetGrowZone = 0xA04B,
+ _CompactMem = 0xA04C,
+ _PurgeMem = 0xA04D,
+ _AddDrive = 0xA04E,
+ _RDrvrInstall = 0xA04F,
+ _LwrString = 0xA056,
+ _UprString = 0xA054,
+ _SetApplBase = 0xA057,
+ _HWPriv = 0xA198
+};
- enum
- {
- _LowerText = 0xA056,
- _StripText = 0xA256,
- _UpperText = 0xA456,
- _StripUpperText = 0xA656,
- _OSDispatch = 0xA88F,
- _RelString = 0xA050,
- _CompareString = 0xA050,
- _ReadXPRam = 0xA051,
- _WriteXPRam = 0xA052,
- _InsTime = 0xA058,
- _InsXTime = 0xA458,
- _RmvTime = 0xA059,
- _PrimeTime = 0xA05A,
- _Microseconds = 0xA193,
- _PowerOff = 0xA05B,
- _MaxBlock = 0xA061,
- _PurgeSpace = 0xA162,
- _PurgeSpaceSys = 0xA562,
- _MaxApplZone = 0xA063,
- _MoveHHi = 0xA064,
- _StackSpace = 0xA065,
- _NewEmptyHandle = 0xA166,
- _HSetRBit = 0xA067,
- _HClrRBit = 0xA068,
- _HGetState = 0xA069,
- _HSetState = 0xA06A,
- _InitFS = 0xA06C,
- _InitEvents = 0xA06D,
- _StripAddress = 0xA055,
- _Translate24To32 = 0xA091,
- _SetAppBase = 0xA057,
- _SwapMMUMode = 0xA05D,
- _SlotVInstall = 0xA06F,
- _SlotVRemove = 0xA070,
- _AttachVBL = 0xA071,
- _DoVBLTask = 0xA072,
- _SIntInstall = 0xA075,
- _SIntRemove = 0xA076,
- _CountADBs = 0xA077,
- _GetIndADB = 0xA078,
- _GetADBInfo = 0xA079,
- _SetADBInfo = 0xA07A,
- _ADBReInit = 0xA07B,
- _ADBOp = 0xA07C,
- _VADBProc = 0xA0AE,
- _GetDefaultStartup = 0xA07D,
- _SetDefaultStartup = 0xA07E,
- _InternalWait = 0xA07F,
- _RGetResource = 0xA80C,
- _GetVideoDefault = 0xA080,
- _SetVideoDefault = 0xA081,
- _DTInstall = 0xA082,
- _SetOSDefault = 0xA083,
- _GetOSDefault = 0xA084,
- _IOPInfoAccess = 0xA086,
- _IOPMsgRequest = 0xA087,
- _IOPMoveData = 0xA088
- };
+enum {
+ _LowerText = 0xA056,
+ _StripText = 0xA256,
+ _UpperText = 0xA456,
+ _StripUpperText = 0xA656,
+ _OSDispatch = 0xA88F,
+ _RelString = 0xA050,
+ _CompareString = 0xA050,
+ _ReadXPRam = 0xA051,
+ _WriteXPRam = 0xA052,
+ _InsTime = 0xA058,
+ _InsXTime = 0xA458,
+ _RmvTime = 0xA059,
+ _PrimeTime = 0xA05A,
+ _Microseconds = 0xA193,
+ _PowerOff = 0xA05B,
+ _MaxBlock = 0xA061,
+ _PurgeSpace = 0xA162,
+ _PurgeSpaceSys = 0xA562,
+ _MaxApplZone = 0xA063,
+ _MoveHHi = 0xA064,
+ _StackSpace = 0xA065,
+ _NewEmptyHandle = 0xA166,
+ _HSetRBit = 0xA067,
+ _HClrRBit = 0xA068,
+ _HGetState = 0xA069,
+ _HSetState = 0xA06A,
+ _InitFS = 0xA06C,
+ _InitEvents = 0xA06D,
+ _StripAddress = 0xA055,
+ _Translate24To32 = 0xA091,
+ _SetAppBase = 0xA057,
+ _SwapMMUMode = 0xA05D,
+ _SlotVInstall = 0xA06F,
+ _SlotVRemove = 0xA070,
+ _AttachVBL = 0xA071,
+ _DoVBLTask = 0xA072,
+ _SIntInstall = 0xA075,
+ _SIntRemove = 0xA076,
+ _CountADBs = 0xA077,
+ _GetIndADB = 0xA078,
+ _GetADBInfo = 0xA079,
+ _SetADBInfo = 0xA07A,
+ _ADBReInit = 0xA07B,
+ _ADBOp = 0xA07C,
+ _VADBProc = 0xA0AE,
+ _GetDefaultStartup = 0xA07D,
+ _SetDefaultStartup = 0xA07E,
+ _InternalWait = 0xA07F,
+ _RGetResource = 0xA80C,
+ _GetVideoDefault = 0xA080,
+ _SetVideoDefault = 0xA081,
+ _DTInstall = 0xA082,
+ _SetOSDefault = 0xA083,
+ _GetOSDefault = 0xA084,
+ _IOPInfoAccess = 0xA086,
+ _IOPMsgRequest = 0xA087,
+ _IOPMoveData = 0xA088
+};
- enum
- {
- /* Power Manager */
- _PowerDispatch = 0xA09F,
- _PMgrOp = 0xA085,
- _IdleUpdate = 0xA285,
- _IdleState = 0xA485,
- _SerialPower = 0xA685,
- _Sleep = 0xA08A,
- _SleepQInstall = 0xA28A,
- _SlpQInstall = 0xA28A,
- _SleepQRemove = 0xA48A,
- _SlpQRemove = 0xA48A,
- _CommToolboxDispatch = 0xA08B,
- _SysEnvirons = 0xA090,
- _Gestalt = 0xA1AD,
- _NewGestalt = 0xA3AD,
- _ReplaceGestalt = 0xA5AD,
- _GetGestaltProcPtr = 0xA7AD,
- _InitProcMenu = 0xA808,
- _GetItemCmd = 0xA84E,
- _SetItemCmd = 0xA84F,
- _PopUpMenuSelect = 0xA80B,
- _KeyTrans = 0xA9C3,
- _KeyTranslate = 0xA9C3
- };
+enum {
+ /* Power Manager */
+ _PowerDispatch = 0xA09F,
+ _PMgrOp = 0xA085,
+ _IdleUpdate = 0xA285,
+ _IdleState = 0xA485,
+ _SerialPower = 0xA685,
+ _Sleep = 0xA08A,
+ _SleepQInstall = 0xA28A,
+ _SlpQInstall = 0xA28A,
+ _SleepQRemove = 0xA48A,
+ _SlpQRemove = 0xA48A,
+ _CommToolboxDispatch = 0xA08B,
+ _SysEnvirons = 0xA090,
+ _Gestalt = 0xA1AD,
+ _NewGestalt = 0xA3AD,
+ _ReplaceGestalt = 0xA5AD,
+ _GetGestaltProcPtr = 0xA7AD,
+ _InitProcMenu = 0xA808,
+ _GetItemCmd = 0xA84E,
+ _SetItemCmd = 0xA84F,
+ _PopUpMenuSelect = 0xA80B,
+ _KeyTrans = 0xA9C3,
+ _KeyTranslate = 0xA9C3
+};
- enum
- {
- /* TextEdit */
- _TEGetText = 0xA9CB,
- _TEInit = 0xA9CC,
- _TEDispose = 0xA9CD,
- _TextBox = 0xA9CE,
- _TETextBox = 0xA9CE,
- _TESetText = 0xA9CF,
- _TECalText = 0xA9D0,
- _TESetSelect = 0xA9D1,
- _TENew = 0xA9D2,
- _TEUpdate = 0xA9D3,
- _TEClick = 0xA9D4,
- _TECopy = 0xA9D5,
- _TECut = 0xA9D6,
- _TEDelete = 0xA9D7,
- _TEActivate = 0xA9D8,
- _TEDeactivate = 0xA9D9,
- _TEIdle = 0xA9DA,
- _TEPaste = 0xA9DB,
- _TEKey = 0xA9DC,
- _TEScroll = 0xA9DD,
- _TEInsert = 0xA9DE,
- _TESetJust = 0xA9DF,
- _TESetAlignment = 0xA9DF,
- _TEGetOffset = 0xA83C,
- _TEDispatch = 0xA83D,
- _TEStyleNew = 0xA83E,
- _TEFindWord = 0xA0FE,
- _TEFindLine = 0xA0FF
- };
+enum {
+ /* TextEdit */
+ _TEGetText = 0xA9CB,
+ _TEInit = 0xA9CC,
+ _TEDispose = 0xA9CD,
+ _TextBox = 0xA9CE,
+ _TETextBox = 0xA9CE,
+ _TESetText = 0xA9CF,
+ _TECalText = 0xA9D0,
+ _TESetSelect = 0xA9D1,
+ _TENew = 0xA9D2,
+ _TEUpdate = 0xA9D3,
+ _TEClick = 0xA9D4,
+ _TECopy = 0xA9D5,
+ _TECut = 0xA9D6,
+ _TEDelete = 0xA9D7,
+ _TEActivate = 0xA9D8,
+ _TEDeactivate = 0xA9D9,
+ _TEIdle = 0xA9DA,
+ _TEPaste = 0xA9DB,
+ _TEKey = 0xA9DC,
+ _TEScroll = 0xA9DD,
+ _TEInsert = 0xA9DE,
+ _TESetJust = 0xA9DF,
+ _TESetAlignment = 0xA9DF,
+ _TEGetOffset = 0xA83C,
+ _TEDispatch = 0xA83D,
+ _TEStyleNew = 0xA83E,
+ _TEFindWord = 0xA0FE,
+ _TEFindLine = 0xA0FF
+};
- enum
- {
- /* Color Quickdraw */
- _OpenCPort = 0xAA00,
- _InitCPort = 0xAA01,
- _CloseCPort = 0xAA02,
- _NewPixMap = 0xAA03,
- _DisposPixMap = 0xAA04,
- _DisposePixMap = 0xAA04,
- _CopyPixMap = 0xAA05,
- _SetPortPix = 0xAA06,
- _NewPixPat = 0xAA07,
- _DisposPixPat = 0xAA08,
- _DisposePixPat = 0xAA08,
- _CopyPixPat = 0xAA09,
- _PenPixPat = 0xAA0A,
- _BackPixPat = 0xAA0B,
- _GetPixPat = 0xAA0C,
- _MakeRGBPat = 0xAA0D,
- _FillCRect = 0xAA0E,
- _FillCOval = 0xAA0F,
- _FillCRoundRect = 0xAA10,
- _FillCArc = 0xAA11,
- _FillCRgn = 0xAA12,
- _FillCPoly = 0xAA13,
- _RGBForeColor = 0xAA14,
- _RGBBackColor = 0xAA15,
- _SetCPixel = 0xAA16,
- _GetCPixel = 0xAA17,
- _GetCTable = 0xAA18,
- _GetForeColor = 0xAA19,
- _GetBackColor = 0xAA1A,
- _GetCCursor = 0xAA1B,
- _SetCCursor = 0xAA1C,
- _AllocCursor = 0xAA1D,
- _GetCIcon = 0xAA1E,
- _PlotCIcon = 0xAA1F,
- _OpenCPicture = 0xAA20,
- _OpColor = 0xAA21,
- _HiliteColor = 0xAA22,
- _CharExtra = 0xAA23,
- _DisposCTable = 0xAA24,
- _DisposeCTable = 0xAA24,
- _DisposCIcon = 0xAA25,
- _DisposeCIcon = 0xAA25,
- _DisposCCursor = 0xAA26,
- _DisposeCCursor = 0xAA26,
- _SeedCFill = 0xAA50,
- _CalcCMask = 0xAA4F,
- _CopyDeepMask = 0xAA51
- };
+enum {
+ /* Color Quickdraw */
+ _OpenCPort = 0xAA00,
+ _InitCPort = 0xAA01,
+ _CloseCPort = 0xAA02,
+ _NewPixMap = 0xAA03,
+ _DisposPixMap = 0xAA04,
+ _DisposePixMap = 0xAA04,
+ _CopyPixMap = 0xAA05,
+ _SetPortPix = 0xAA06,
+ _NewPixPat = 0xAA07,
+ _DisposPixPat = 0xAA08,
+ _DisposePixPat = 0xAA08,
+ _CopyPixPat = 0xAA09,
+ _PenPixPat = 0xAA0A,
+ _BackPixPat = 0xAA0B,
+ _GetPixPat = 0xAA0C,
+ _MakeRGBPat = 0xAA0D,
+ _FillCRect = 0xAA0E,
+ _FillCOval = 0xAA0F,
+ _FillCRoundRect = 0xAA10,
+ _FillCArc = 0xAA11,
+ _FillCRgn = 0xAA12,
+ _FillCPoly = 0xAA13,
+ _RGBForeColor = 0xAA14,
+ _RGBBackColor = 0xAA15,
+ _SetCPixel = 0xAA16,
+ _GetCPixel = 0xAA17,
+ _GetCTable = 0xAA18,
+ _GetForeColor = 0xAA19,
+ _GetBackColor = 0xAA1A,
+ _GetCCursor = 0xAA1B,
+ _SetCCursor = 0xAA1C,
+ _AllocCursor = 0xAA1D,
+ _GetCIcon = 0xAA1E,
+ _PlotCIcon = 0xAA1F,
+ _OpenCPicture = 0xAA20,
+ _OpColor = 0xAA21,
+ _HiliteColor = 0xAA22,
+ _CharExtra = 0xAA23,
+ _DisposCTable = 0xAA24,
+ _DisposeCTable = 0xAA24,
+ _DisposCIcon = 0xAA25,
+ _DisposeCIcon = 0xAA25,
+ _DisposCCursor = 0xAA26,
+ _DisposeCCursor = 0xAA26,
+ _SeedCFill = 0xAA50,
+ _CalcCMask = 0xAA4F,
+ _CopyDeepMask = 0xAA51
+};
- enum
- {
- /* Routines for video devices */
- _GetMaxDevice = 0xAA27,
- _GetCTSeed = 0xAA28,
- _GetDeviceList = 0xAA29,
- _GetMainDevice = 0xAA2A,
- _GetNextDevice = 0xAA2B,
- _TestDeviceAttribute = 0xAA2C,
- _SetDeviceAttribute = 0xAA2D,
- _InitGDevice = 0xAA2E,
- _NewGDevice = 0xAA2F,
- _DisposGDevice = 0xAA30,
- _DisposeGDevice = 0xAA30,
- _SetGDevice = 0xAA31,
- _GetGDevice = 0xAA32,
- _DeviceLoop = 0xABCA, /* Color Manager */
- _Color2Index = 0xAA33,
- _Index2Color = 0xAA34,
- _InvertColor = 0xAA35,
- _RealColor = 0xAA36,
- _GetSubTable = 0xAA37,
- _UpdatePixMap = 0xAA38
- };
+enum {
+ /* Routines for video devices */
+ _GetMaxDevice = 0xAA27,
+ _GetCTSeed = 0xAA28,
+ _GetDeviceList = 0xAA29,
+ _GetMainDevice = 0xAA2A,
+ _GetNextDevice = 0xAA2B,
+ _TestDeviceAttribute = 0xAA2C,
+ _SetDeviceAttribute = 0xAA2D,
+ _InitGDevice = 0xAA2E,
+ _NewGDevice = 0xAA2F,
+ _DisposGDevice = 0xAA30,
+ _DisposeGDevice = 0xAA30,
+ _SetGDevice = 0xAA31,
+ _GetGDevice = 0xAA32,
+ _DeviceLoop = 0xABCA, /* Color Manager */
+ _Color2Index = 0xAA33,
+ _Index2Color = 0xAA34,
+ _InvertColor = 0xAA35,
+ _RealColor = 0xAA36,
+ _GetSubTable = 0xAA37,
+ _UpdatePixMap = 0xAA38
+};
- enum
- {
- /* Dialog Manager */
- _NewCDialog = 0xAA4B,
- _NewColorDialog = 0xAA4B,
- _MakeITable = 0xAA39,
- _AddSearch = 0xAA3A,
- _AddComp = 0xAA3B,
- _SetClientID = 0xAA3C,
- _ProtectEntry = 0xAA3D,
- _ReserveEntry = 0xAA3E,
- _SetEntries = 0xAA3F,
- _QDError = 0xAA40,
- _SaveEntries = 0xAA49,
- _RestoreEntries = 0xAA4A,
- _DelSearch = 0xAA4C,
- _DelComp = 0xAA4D,
- _SetStdCProcs = 0xAA4E,
- _StdOpcodeProc = 0xABF8, /* Added to Toolbox for color */
- _SetWinColor = 0xAA41,
- _GetAuxWin = 0xAA42,
- _SetCtlColor = 0xAA43,
- _SetControlColor = 0xAA43,
- _GetAuxCtl = 0xAA44,
- _GetAuxiliaryControlRecord = 0xAA44,
- _NewCWindow = 0xAA45,
- _GetNewCWindow = 0xAA46,
- _SetDeskCPat = 0xAA47,
- _GetCWMgrPort = 0xAA48,
- _GetCVariant = 0xA809,
- _GetControlVariant = 0xA809,
- _GetWVariant = 0xA80A, /* Added to Menu Manager for color */
- _DelMCEntries = 0xAA60,
- _DeleteMCEntries = 0xAA60,
- _GetMCInfo = 0xAA61,
- _SetMCInfo = 0xAA62,
- _DispMCInfo = 0xAA63,
- _DisposeMCInfo = 0xAA63,
- _GetMCEntry = 0xAA64,
- _SetMCEntries = 0xAA65,
- _MenuChoice = 0xAA66, /* Dialog Manager */
- _DialogDispatch = 0xAA68, /* Font Manager */
- _SetFractEnable = 0xA814,
- _FontDispatch = 0xA854
- };
+enum {
+ /* Dialog Manager */
+ _NewCDialog = 0xAA4B,
+ _NewColorDialog = 0xAA4B,
+ _MakeITable = 0xAA39,
+ _AddSearch = 0xAA3A,
+ _AddComp = 0xAA3B,
+ _SetClientID = 0xAA3C,
+ _ProtectEntry = 0xAA3D,
+ _ReserveEntry = 0xAA3E,
+ _SetEntries = 0xAA3F,
+ _QDError = 0xAA40,
+ _SaveEntries = 0xAA49,
+ _RestoreEntries = 0xAA4A,
+ _DelSearch = 0xAA4C,
+ _DelComp = 0xAA4D,
+ _SetStdCProcs = 0xAA4E,
+ _StdOpcodeProc = 0xABF8, /* Added to Toolbox for color */
+ _SetWinColor = 0xAA41,
+ _GetAuxWin = 0xAA42,
+ _SetCtlColor = 0xAA43,
+ _SetControlColor = 0xAA43,
+ _GetAuxCtl = 0xAA44,
+ _GetAuxiliaryControlRecord = 0xAA44,
+ _NewCWindow = 0xAA45,
+ _GetNewCWindow = 0xAA46,
+ _SetDeskCPat = 0xAA47,
+ _GetCWMgrPort = 0xAA48,
+ _GetCVariant = 0xA809,
+ _GetControlVariant = 0xA809,
+ _GetWVariant = 0xA80A, /* Added to Menu Manager for color */
+ _DelMCEntries = 0xAA60,
+ _DeleteMCEntries = 0xAA60,
+ _GetMCInfo = 0xAA61,
+ _SetMCInfo = 0xAA62,
+ _DispMCInfo = 0xAA63,
+ _DisposeMCInfo = 0xAA63,
+ _GetMCEntry = 0xAA64,
+ _SetMCEntries = 0xAA65,
+ _MenuChoice = 0xAA66, /* Dialog Manager */
+ _DialogDispatch = 0xAA68, /* Font Manager */
+ _SetFractEnable = 0xA814,
+ _FontDispatch = 0xA854
+};
- enum
- {
- /* Palette Manager */
- _InitPalettes = 0xAA90,
- _NewPalette = 0xAA91,
- _GetNewPalette = 0xAA92,
- _DisposePalette = 0xAA93,
- _ActivatePalette = 0xAA94,
- _SetPalette = 0xAA95,
- _NSetPalette = 0xAA95,
- _GetPalette = 0xAA96,
- _PmForeColor = 0xAA97,
- _PmBackColor = 0xAA98,
- _AnimateEntry = 0xAA99,
- _AnimatePalette = 0xAA9A,
- _GetEntryColor = 0xAA9B,
- _SetEntryColor = 0xAA9C,
- _GetEntryUsage = 0xAA9D,
- _SetEntryUsage = 0xAA9E,
- _CTab2Palette = 0xAA9F,
- _Palette2CTab = 0xAAA0,
- _CopyPalette = 0xAAA1,
- _PaletteDispatch = 0xAAA2
- };
+enum {
+ /* Palette Manager */
+ _InitPalettes = 0xAA90,
+ _NewPalette = 0xAA91,
+ _GetNewPalette = 0xAA92,
+ _DisposePalette = 0xAA93,
+ _ActivatePalette = 0xAA94,
+ _SetPalette = 0xAA95,
+ _NSetPalette = 0xAA95,
+ _GetPalette = 0xAA96,
+ _PmForeColor = 0xAA97,
+ _PmBackColor = 0xAA98,
+ _AnimateEntry = 0xAA99,
+ _AnimatePalette = 0xAA9A,
+ _GetEntryColor = 0xAA9B,
+ _SetEntryColor = 0xAA9C,
+ _GetEntryUsage = 0xAA9D,
+ _SetEntryUsage = 0xAA9E,
+ _CTab2Palette = 0xAA9F,
+ _Palette2CTab = 0xAAA0,
+ _CopyPalette = 0xAAA1,
+ _PaletteDispatch = 0xAAA2
+};
- enum
- {
- /* Sound Manager */
- _EgretDispatch = 0xA092,
- _SoundDispatch = 0xA800,
- _SndDisposeChannel = 0xA801,
- _SndAddModifier = 0xA802,
- _SndDoCommand = 0xA803,
- _SndDoImmediate = 0xA804,
- _SndPlay = 0xA805,
- _SndControl = 0xA806,
- _SndNewChannel = 0xA807
- };
+enum {
+ /* Sound Manager */
+ _EgretDispatch = 0xA092,
+ _SoundDispatch = 0xA800,
+ _SndDisposeChannel = 0xA801,
+ _SndAddModifier = 0xA802,
+ _SndDoCommand = 0xA803,
+ _SndDoImmediate = 0xA804,
+ _SndPlay = 0xA805,
+ _SndControl = 0xA806,
+ _SndNewChannel = 0xA807
+};
- enum
- {
- _SlotManager = 0xA06E,
- _ScriptUtil = 0xA8B5,
- _SCSIAtomic = 0xA089,
- _SCSIDispatch = 0xA815,
- _Long2Fix = 0xA83F,
- _Fix2Long = 0xA840,
- _Fix2Frac = 0xA841,
- _Frac2Fix = 0xA842,
- _Fix2X = 0xA843,
- _X2Fix = 0xA844,
- _Frac2X = 0xA845,
- _X2Frac = 0xA846,
- _FracCos = 0xA847,
- _FracSin = 0xA848,
- _FracSqrt = 0xA849,
- _FracMul = 0xA84A,
- _FracDiv = 0xA84B,
- _FixDiv = 0xA84D,
- _NMInstall = 0xA05E,
- _NMRemove = 0xA05F,
- _QDExtensions = 0xAB1D,
- _ComponentDispatch = 0xA82A
- };
+enum {
+ _SlotManager = 0xA06E,
+ _ScriptUtil = 0xA8B5,
+ _SCSIAtomic = 0xA089,
+ _SCSIDispatch = 0xA815,
+ _Long2Fix = 0xA83F,
+ _Fix2Long = 0xA840,
+ _Fix2Frac = 0xA841,
+ _Frac2Fix = 0xA842,
+ _Fix2X = 0xA843,
+ _X2Fix = 0xA844,
+ _Frac2X = 0xA845,
+ _X2Frac = 0xA846,
+ _FracCos = 0xA847,
+ _FracSin = 0xA848,
+ _FracSqrt = 0xA849,
+ _FracMul = 0xA84A,
+ _FracDiv = 0xA84B,
+ _FixDiv = 0xA84D,
+ _NMInstall = 0xA05E,
+ _NMRemove = 0xA05F,
+ _QDExtensions = 0xAB1D,
+ _ComponentDispatch = 0xA82A
+};
- enum
- {
- _DockingDispatch = 0xAA57,
- _MixedModeDispatch = 0xAA59, /* PowerPC Mac */
- _CodeFragmentDispatch = 0xAA5A, /* PowerPC Mac */
- _TranslationDispatch = 0xABFC, /* Translation Manager */
- _TextServicesDispatch = 0xAA54, /* Text Services Manager */
- _CursorDeviceDispatch = 0xAADB, /* Cursor Device Manager */
- /* Miscellaneous Traps */
- _InitDogCow = 0xA89F,
- _EnableDogCow = 0xA89F,
- _DisableDogCow = 0xA89F,
- _Moof = 0xA89F,
- _HFSPinaforeDispatch = 0xAA52
- };
+enum {
+ _DockingDispatch = 0xAA57,
+ _MixedModeDispatch = 0xAA59, /* PowerPC Mac */
+ _CodeFragmentDispatch = 0xAA5A, /* PowerPC Mac */
+ _TranslationDispatch = 0xABFC, /* Translation Manager */
+ _TextServicesDispatch = 0xAA54, /* Text Services Manager */
+ _CursorDeviceDispatch = 0xAADB, /* Cursor Device Manager */
+ /* Miscellaneous Traps */
+ _InitDogCow = 0xA89F,
+ _EnableDogCow = 0xA89F,
+ _DisableDogCow = 0xA89F,
+ _Moof = 0xA89F,
+ _HFSPinaforeDispatch = 0xAA52
+};
- enum
- {
- _OCEUtils = 0xAA5C, /* PowerTalk (AOCE)*/
- _DigitalSignature = 0xAA5D, /* PowerTalk (AOCE)*/
- _TBDispatch = 0xAA5E /* PowerTalk (AOCE)*/
- };
+enum {
+ _OCEUtils = 0xAA5C, /* PowerTalk (AOCE)*/
+ _DigitalSignature = 0xAA5D, /* PowerTalk (AOCE)*/
+ _TBDispatch = 0xAA5E /* PowerTalk (AOCE)*/
+};
- enum
- {
- _CollectionMgr = 0xABF6 /* Collection Manager*/
- };
+enum {
+ _CollectionMgr = 0xABF6 /* Collection Manager*/
+};
- enum
- {
- _ControlStripDispatch = 0xAAF2, /* see TechNote OS 06*/
- _PowerMgrDispatch = 0xA09E
- };
+enum {
+ _ControlStripDispatch = 0xAAF2, /* see TechNote OS 06*/
+ _PowerMgrDispatch = 0xA09E
+};
- enum
- {
- _ALMDispatch = 0xAAA4 /* Apple Location Manger*/
- };
+enum {
+ _ALMDispatch = 0xAAA4 /* Apple Location Manger*/
+};
- enum
- {
- _ServerDispatch = 0xA094 /* AppleShare, Macintosh File Sharing */
- };
+enum {
+ _ServerDispatch = 0xA094 /* AppleShare, Macintosh File Sharing */
+};
- enum
- {
- _FSMDispatch = 0xA0AC, /* File System Manager*/
- _HFSUtilDispatch = 0xA824 /* HFS Utility routines in the File System Manager*/
- };
+enum {
+ _FSMDispatch = 0xA0AC, /* File System Manager*/
+ _HFSUtilDispatch = 0xA824 /* HFS Utility routines in the File System Manager*/
+};
- enum
- {
- _ControlDispatch = 0xAA73,
- _AppearanceDispatch = 0xAA74 /* Appearance Trap */
- };
+enum {
+ _ControlDispatch = 0xAA73,
+ _AppearanceDispatch = 0xAA74 /* Appearance Trap */
+};
- enum
- {
- _AVLTreeDispatch = 0xAA80
- };
+enum {
+ _AVLTreeDispatch = 0xAA80
+};
@@ -1082,11 +1056,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/TypeSelect.h b/include/qt/TypeSelect.h
index 78f6c05ba..35d482902 100644
--- a/include/qt/TypeSelect.h
+++ b/include/qt/TypeSelect.h
@@ -1,17 +1,17 @@
/*
File: TypeSelect.h
-
+
Contains: TypeSelect Utilties
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __TYPESELECT__
#define __TYPESELECT__
@@ -36,168 +36,157 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- typedef SInt16 TSCode;
- enum
- {
- tsPreviousSelectMode = -1,
- tsNormalSelectMode = 0,
- tsNextSelectMode = 1
- };
-
- struct TypeSelectRecord
- {
- unsigned long tsrLastKeyTime;
- ScriptCode tsrScript;
- Str63 tsrKeyStrokes;
- };
- typedef struct TypeSelectRecord TypeSelectRecord;
- typedef CALLBACK_API(Boolean , IndexToStringProcPtr)(short item, ScriptCode *itemsScript, StringPtr *itemsStringPtr, void *yourDataPtr);
- typedef STACK_UPP_TYPE(IndexToStringProcPtr) IndexToStringUPP;
- /*
- * TypeSelectClear()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(void)
- TypeSelectClear(TypeSelectRecord * tsr) THREEWORDINLINE(0x3F3C, 0x0028, 0xA9ED);
-
-
- /*
- Long ago the implementation of TypeSelectNewKey had a bug that
- required the high word of D0 to be zero or the function did not work.
- Although fixed now, we are continuing to clear the high word
- just in case someone tries to run on an older system.
- */
- /*
- * TypeSelectNewKey()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(Boolean)
- TypeSelectNewKey(
- const EventRecord * theEvent,
- TypeSelectRecord * tsr) FOURWORDINLINE(0x7000, 0x3F3C, 0x002A, 0xA9ED);
-
-
- /*
- * TypeSelectFindItem()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- TypeSelectFindItem(
- const TypeSelectRecord * tsr,
- short listSize,
- TSCode selectMode,
- IndexToStringUPP getStringProc,
- void * yourDataPtr) THREEWORDINLINE(0x3F3C, 0x002C, 0xA9ED);
-
-
-
- /*
- * TypeSelectCompare()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(short)
- TypeSelectCompare(
- const TypeSelectRecord * tsr,
- ScriptCode testStringScript,
- StringPtr testStringPtr) THREEWORDINLINE(0x3F3C, 0x002E, 0xA9ED);
-
-
- /*
- * NewIndexToStringUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(IndexToStringUPP)
- NewIndexToStringUPP(IndexToStringProcPtr userRoutine);
+typedef SInt16 TSCode;
+enum {
+ tsPreviousSelectMode = -1,
+ tsNormalSelectMode = 0,
+ tsNextSelectMode = 1
+};
+
+struct TypeSelectRecord {
+ unsigned long tsrLastKeyTime;
+ ScriptCode tsrScript;
+ Str63 tsrKeyStrokes;
+};
+typedef struct TypeSelectRecord TypeSelectRecord;
+typedef CALLBACK_API( Boolean , IndexToStringProcPtr )(short item, ScriptCode *itemsScript, StringPtr *itemsStringPtr, void *yourDataPtr);
+typedef STACK_UPP_TYPE(IndexToStringProcPtr) IndexToStringUPP;
+/*
+ * TypeSelectClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+TypeSelectClear(TypeSelectRecord * tsr) THREEWORDINLINE(0x3F3C, 0x0028, 0xA9ED);
+
+
+/*
+ Long ago the implementation of TypeSelectNewKey had a bug that
+ required the high word of D0 to be zero or the function did not work.
+ Although fixed now, we are continuing to clear the high word
+ just in case someone tries to run on an older system.
+ */
+/*
+ * TypeSelectNewKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+TypeSelectNewKey(
+ const EventRecord * theEvent,
+ TypeSelectRecord * tsr) FOURWORDINLINE(0x7000, 0x3F3C, 0x002A, 0xA9ED);
+
+
+/*
+ * TypeSelectFindItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TypeSelectFindItem(
+ const TypeSelectRecord * tsr,
+ short listSize,
+ TSCode selectMode,
+ IndexToStringUPP getStringProc,
+ void * yourDataPtr) THREEWORDINLINE(0x3F3C, 0x002C, 0xA9ED);
+
+
+
+/*
+ * TypeSelectCompare()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+TypeSelectCompare(
+ const TypeSelectRecord * tsr,
+ ScriptCode testStringScript,
+ StringPtr testStringPtr) THREEWORDINLINE(0x3F3C, 0x002E, 0xA9ED);
+
+
+/*
+ * NewIndexToStringUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( IndexToStringUPP )
+NewIndexToStringUPP(IndexToStringProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppIndexToStringProcInfo = 0x00003F90 }; /* pascal 1_byte Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(IndexToStringUPP) NewIndexToStringUPP(IndexToStringProcPtr userRoutine)
- {
- return (IndexToStringUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIndexToStringProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewIndexToStringUPP(userRoutine) (IndexToStringUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIndexToStringProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppIndexToStringProcInfo = 0x00003F90 }; /* pascal 1_byte Func(2_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(IndexToStringUPP) NewIndexToStringUPP(IndexToStringProcPtr userRoutine) { return (IndexToStringUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIndexToStringProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewIndexToStringUPP(userRoutine) (IndexToStringUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIndexToStringProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeIndexToStringUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeIndexToStringUPP(IndexToStringUPP userUPP);
+/*
+ * DisposeIndexToStringUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeIndexToStringUPP(IndexToStringUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeIndexToStringUPP(IndexToStringUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeIndexToStringUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeIndexToStringUPP(IndexToStringUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeIndexToStringUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeIndexToStringUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(Boolean)
- InvokeIndexToStringUPP(
- short item,
- ScriptCode * itemsScript,
- StringPtr * itemsStringPtr,
- void * yourDataPtr,
- IndexToStringUPP userUPP);
+/*
+ * InvokeIndexToStringUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+InvokeIndexToStringUPP(
+ short item,
+ ScriptCode * itemsScript,
+ StringPtr * itemsStringPtr,
+ void * yourDataPtr,
+ IndexToStringUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(Boolean) InvokeIndexToStringUPP(short item, ScriptCode * itemsScript, StringPtr * itemsStringPtr, void * yourDataPtr, IndexToStringUPP userUPP)
- {
- return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppIndexToStringProcInfo, item, itemsScript, itemsStringPtr, yourDataPtr);
- }
-#else
-#define InvokeIndexToStringUPP(item, itemsScript, itemsStringPtr, yourDataPtr, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppIndexToStringProcInfo, (item), (itemsScript), (itemsStringPtr), (yourDataPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(Boolean) InvokeIndexToStringUPP(short item, ScriptCode * itemsScript, StringPtr * itemsStringPtr, void * yourDataPtr, IndexToStringUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppIndexToStringProcInfo, item, itemsScript, itemsStringPtr, yourDataPtr); }
+ #else
+ #define InvokeIndexToStringUPP(item, itemsScript, itemsStringPtr, yourDataPtr, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppIndexToStringProcInfo, (item), (itemsScript), (itemsStringPtr), (yourDataPtr))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewIndexToStringProc(userRoutine) NewIndexToStringUPP(userRoutine)
-#define CallIndexToStringProc(userRoutine, item, itemsScript, itemsStringPtr, yourDataPtr) InvokeIndexToStringUPP(item, itemsScript, itemsStringPtr, yourDataPtr, userRoutine)
+ #define NewIndexToStringProc(userRoutine) NewIndexToStringUPP(userRoutine)
+ #define CallIndexToStringProc(userRoutine, item, itemsScript, itemsStringPtr, yourDataPtr) InvokeIndexToStringUPP(item, itemsScript, itemsStringPtr, yourDataPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
@@ -205,11 +194,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/URLAccess.h b/include/qt/URLAccess.h
index 3c6d2ef53..047e4baa3 100644
--- a/include/qt/URLAccess.h
+++ b/include/qt/URLAccess.h
@@ -1,17 +1,17 @@
/*
File: URLAccess.h
-
+
Contains: URL Access Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2000 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 __URLACCESS__
#define __URLACCESS__
@@ -51,111 +51,105 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Data structures and types */
- typedef struct OpaqueURLReference* URLReference;
- typedef UInt32 URLOpenFlags;
- enum
- {
- kURLReplaceExistingFlag = 1 << 0,
- kURLBinHexFileFlag = 1 << 1, /* Binhex before uploading if necessary*/
- kURLExpandFileFlag = 1 << 2, /* Use StuffIt engine to expand file if necessary*/
- kURLDisplayProgressFlag = 1 << 3,
- kURLDisplayAuthFlag = 1 << 4, /* Display auth dialog if guest connection fails*/
- kURLUploadFlag = 1 << 5, /* Do an upload instead of a download*/
- kURLIsDirectoryHintFlag = 1 << 6, /* Hint: the URL is a directory*/
- kURLDoNotTryAnonymousFlag = 1 << 7, /* Don't try to connect anonymously before getting logon info*/
- kURLDirectoryListingFlag = 1 << 8, /* Download the directory listing, not the whole directory*/
- kURLExpandAndVerifyFlag = 1 << 9, /* Expand file and then verify using signature resource*/
- kURLNoAutoRedirectFlag = 1 << 10, /* Do not automatically redirect to new URL*/
- kURLDebinhexOnlyFlag = 1 << 11, /* Do not use Stuffit Expander - just internal debinhex engine*/
- kURLDoNotDeleteOnErrorFlag = 1 << 12, /* Do not delete the downloaded file if an error or abort occurs.*/
- /* This flag applies to downloading only and should be used if*/
- /* interested in later resuming the download.*/
- kURLResumeDownloadFlag = 1 << 13, /* The passed in file is partially downloaded, attempt to resume*/
- /* it. Currently works for HTTP only. If no FSSpec passed in,*/
- /* this flag will be ignored. Overriden by kURLReplaceExistingFlag. */
- kURLReservedFlag = (unsigned long)(1 << 31) /* reserved for Apple internal use*/
- };
-
- typedef UInt32 URLState;
- enum
- {
- kURLNullState = 0,
- kURLInitiatingState = 1,
- kURLLookingUpHostState = 2,
- kURLConnectingState = 3,
- kURLResourceFoundState = 4,
- kURLDownloadingState = 5,
- kURLDataAvailableState = 0x10 + kURLDownloadingState,
- kURLTransactionCompleteState = 6,
- kURLErrorOccurredState = 7,
- kURLAbortingState = 8,
- kURLCompletedState = 9,
- kURLUploadingState = 10
- };
-
- typedef UInt32 URLEvent;
- enum
- {
- kURLInitiatedEvent = kURLInitiatingState,
- kURLResourceFoundEvent = kURLResourceFoundState,
- kURLDownloadingEvent = kURLDownloadingState,
- kURLAbortInitiatedEvent = kURLAbortingState,
- kURLCompletedEvent = kURLCompletedState,
- kURLErrorOccurredEvent = kURLErrorOccurredState,
- kURLDataAvailableEvent = kURLDataAvailableState,
- kURLTransactionCompleteEvent = kURLTransactionCompleteState,
- kURLUploadingEvent = kURLUploadingState,
- kURLSystemEvent = 29,
- kURLPercentEvent = 30,
- kURLPeriodicEvent = 31,
- kURLPropertyChangedEvent = 32
- };
-
- typedef unsigned long URLEventMask;
- enum
- {
- kURLInitiatedEventMask = 1 << (kURLInitiatedEvent - 1),
- kURLResourceFoundEventMask = 1 << (kURLResourceFoundEvent - 1),
- kURLDownloadingMask = 1 << (kURLDownloadingEvent - 1),
- kURLUploadingMask = 1 << (kURLUploadingEvent - 1),
- kURLAbortInitiatedMask = 1 << (kURLAbortInitiatedEvent - 1),
- kURLCompletedEventMask = 1 << (kURLCompletedEvent - 1),
- kURLErrorOccurredEventMask = 1 << (kURLErrorOccurredEvent - 1),
- kURLDataAvailableEventMask = 1 << (kURLDataAvailableEvent - 1),
- kURLTransactionCompleteEventMask = 1 << (kURLTransactionCompleteEvent - 1),
- kURLSystemEventMask = 1 << (kURLSystemEvent - 1),
- kURLPercentEventMask = 1 << (kURLPercentEvent - 1),
- kURLPeriodicEventMask = 1 << (kURLPeriodicEvent - 1),
- kURLPropertyChangedEventMask = 1 << (kURLPropertyChangedEvent - 1),
- kURLAllBufferEventsMask = kURLDataAvailableEventMask + kURLTransactionCompleteEventMask,
- kURLAllNonBufferEventsMask = kURLInitiatedEventMask + kURLDownloadingMask + kURLUploadingMask + kURLAbortInitiatedMask + kURLCompletedEventMask + kURLErrorOccurredEventMask + kURLPercentEventMask + kURLPeriodicEventMask + kURLPropertyChangedEventMask,
- kURLAllEventsMask = (long)0xFFFFFFFF
- };
-
-
- struct URLCallbackInfo
- {
- UInt32 version;
- URLReference urlRef;
- const char * property;
- UInt32 currentSize;
- EventRecord * systemEvent;
- };
- typedef struct URLCallbackInfo URLCallbackInfo;
-
- /* authentication type flags*/
- enum
- {
- kUserNameAndPasswordFlag = 0x00000001
- };
+/* Data structures and types */
+typedef struct OpaqueURLReference* URLReference;
+typedef UInt32 URLOpenFlags;
+enum {
+ kURLReplaceExistingFlag = 1 << 0,
+ kURLBinHexFileFlag = 1 << 1, /* Binhex before uploading if necessary*/
+ kURLExpandFileFlag = 1 << 2, /* Use StuffIt engine to expand file if necessary*/
+ kURLDisplayProgressFlag = 1 << 3,
+ kURLDisplayAuthFlag = 1 << 4, /* Display auth dialog if guest connection fails*/
+ kURLUploadFlag = 1 << 5, /* Do an upload instead of a download*/
+ kURLIsDirectoryHintFlag = 1 << 6, /* Hint: the URL is a directory*/
+ kURLDoNotTryAnonymousFlag = 1 << 7, /* Don't try to connect anonymously before getting logon info*/
+ kURLDirectoryListingFlag = 1 << 8, /* Download the directory listing, not the whole directory*/
+ kURLExpandAndVerifyFlag = 1 << 9, /* Expand file and then verify using signature resource*/
+ kURLNoAutoRedirectFlag = 1 << 10, /* Do not automatically redirect to new URL*/
+ kURLDebinhexOnlyFlag = 1 << 11, /* Do not use Stuffit Expander - just internal debinhex engine*/
+ kURLDoNotDeleteOnErrorFlag = 1 << 12, /* Do not delete the downloaded file if an error or abort occurs.*/
+ /* This flag applies to downloading only and should be used if*/
+ /* interested in later resuming the download.*/
+ kURLResumeDownloadFlag = 1 << 13, /* The passed in file is partially downloaded, attempt to resume*/
+ /* it. Currently works for HTTP only. If no FSSpec passed in,*/
+ /* this flag will be ignored. Overriden by kURLReplaceExistingFlag. */
+ kURLReservedFlag = (unsigned long)(1 << 31) /* reserved for Apple internal use*/
+};
+
+typedef UInt32 URLState;
+enum {
+ kURLNullState = 0,
+ kURLInitiatingState = 1,
+ kURLLookingUpHostState = 2,
+ kURLConnectingState = 3,
+ kURLResourceFoundState = 4,
+ kURLDownloadingState = 5,
+ kURLDataAvailableState = 0x10 + kURLDownloadingState,
+ kURLTransactionCompleteState = 6,
+ kURLErrorOccurredState = 7,
+ kURLAbortingState = 8,
+ kURLCompletedState = 9,
+ kURLUploadingState = 10
+};
+
+typedef UInt32 URLEvent;
+enum {
+ kURLInitiatedEvent = kURLInitiatingState,
+ kURLResourceFoundEvent = kURLResourceFoundState,
+ kURLDownloadingEvent = kURLDownloadingState,
+ kURLAbortInitiatedEvent = kURLAbortingState,
+ kURLCompletedEvent = kURLCompletedState,
+ kURLErrorOccurredEvent = kURLErrorOccurredState,
+ kURLDataAvailableEvent = kURLDataAvailableState,
+ kURLTransactionCompleteEvent = kURLTransactionCompleteState,
+ kURLUploadingEvent = kURLUploadingState,
+ kURLSystemEvent = 29,
+ kURLPercentEvent = 30,
+ kURLPeriodicEvent = 31,
+ kURLPropertyChangedEvent = 32
+};
+
+typedef unsigned long URLEventMask;
+enum {
+ kURLInitiatedEventMask = 1 << (kURLInitiatedEvent - 1),
+ kURLResourceFoundEventMask = 1 << (kURLResourceFoundEvent - 1),
+ kURLDownloadingMask = 1 << (kURLDownloadingEvent - 1),
+ kURLUploadingMask = 1 << (kURLUploadingEvent - 1),
+ kURLAbortInitiatedMask = 1 << (kURLAbortInitiatedEvent - 1),
+ kURLCompletedEventMask = 1 << (kURLCompletedEvent - 1),
+ kURLErrorOccurredEventMask = 1 << (kURLErrorOccurredEvent - 1),
+ kURLDataAvailableEventMask = 1 << (kURLDataAvailableEvent - 1),
+ kURLTransactionCompleteEventMask = 1 << (kURLTransactionCompleteEvent - 1),
+ kURLSystemEventMask = 1 << (kURLSystemEvent - 1),
+ kURLPercentEventMask = 1 << (kURLPercentEvent - 1),
+ kURLPeriodicEventMask = 1 << (kURLPeriodicEvent - 1),
+ kURLPropertyChangedEventMask = 1 << (kURLPropertyChangedEvent - 1),
+ kURLAllBufferEventsMask = kURLDataAvailableEventMask + kURLTransactionCompleteEventMask,
+ kURLAllNonBufferEventsMask = kURLInitiatedEventMask + kURLDownloadingMask + kURLUploadingMask + kURLAbortInitiatedMask + kURLCompletedEventMask + kURLErrorOccurredEventMask + kURLPercentEventMask + kURLPeriodicEventMask + kURLPropertyChangedEventMask,
+ kURLAllEventsMask = (long)0xFFFFFFFF
+};
+
+
+struct URLCallbackInfo {
+ UInt32 version;
+ URLReference urlRef;
+ const char * property;
+ UInt32 currentSize;
+ EventRecord * systemEvent;
+};
+typedef struct URLCallbackInfo URLCallbackInfo;
+
+/* authentication type flags*/
+enum {
+ kUserNameAndPasswordFlag = 0x00000001
+};
#define kURLURL "URLString"
#define kURLResourceSize "URLResourceSize"
@@ -174,7 +168,7 @@ extern "C" {
#define kURLCertificate "URLCertificate"
#define kURLTotalItems "URLTotalItems"
#define kURLConnectTimeout "URLConnectTimeout"
- /* http and https properties*/
+/* http and https properties*/
#define kURLHTTPRequestMethod "URLHTTPRequestMethod"
#define kURLHTTPRequestHeader "URLHTTPRequestHeader"
#define kURLHTTPRequestBody "URLHTTPRequestBody"
@@ -186,451 +180,433 @@ extern "C" {
- /*
- * URLGetURLAccessVersion()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLGetURLAccessVersion(UInt32 * returnVers);
+/*
+ * URLGetURLAccessVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLGetURLAccessVersion(UInt32 * returnVers);
#if TARGET_RT_MAC_CFM
#ifdef __cplusplus
- inline pascal Boolean URLAccessAvailable()
- {
- return ((URLGetURLAccessVersion != (void*)kUnresolvedCFragSymbolAddress));
- }
+ inline pascal Boolean URLAccessAvailable() { return ((URLGetURLAccessVersion != (void*)kUnresolvedCFragSymbolAddress) ); }
#else
-#define URLAccessAvailable() ((URLGetURLAccessVersion != (void*)kUnresolvedCFragSymbolAddress) )
+ #define URLAccessAvailable() ((URLGetURLAccessVersion != (void*)kUnresolvedCFragSymbolAddress) )
#endif
#elif TARGET_RT_MAC_MACHO
- /* URL Access is always available on OS X */
+/* URL Access is always available on OS X */
#ifdef __cplusplus
- inline pascal Boolean URLAccessAvailable()
- {
- return true;
- }
+ inline pascal Boolean URLAccessAvailable() { return true; }
#else
-#define URLAccessAvailable() (true)
+ #define URLAccessAvailable() (true)
#endif
#endif /* */
- typedef CALLBACK_API(OSStatus , URLNotifyProcPtr)(void *userContext, URLEvent event, URLCallbackInfo *callbackInfo);
- typedef CALLBACK_API(OSStatus , URLSystemEventProcPtr)(void *userContext, EventRecord *event);
- typedef TVECTOR_UPP_TYPE(URLNotifyProcPtr) URLNotifyUPP;
- typedef TVECTOR_UPP_TYPE(URLSystemEventProcPtr) URLSystemEventUPP;
- /*
- * NewURLNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(URLNotifyUPP)
- NewURLNotifyUPP(URLNotifyProcPtr userRoutine);
+typedef CALLBACK_API( OSStatus , URLNotifyProcPtr )(void *userContext, URLEvent event, URLCallbackInfo *callbackInfo);
+typedef CALLBACK_API( OSStatus , URLSystemEventProcPtr )(void *userContext, EventRecord *event);
+typedef TVECTOR_UPP_TYPE(URLNotifyProcPtr) URLNotifyUPP;
+typedef TVECTOR_UPP_TYPE(URLSystemEventProcPtr) URLSystemEventUPP;
+/*
+ * NewURLNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( URLNotifyUPP )
+NewURLNotifyUPP(URLNotifyProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppURLNotifyProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(URLNotifyUPP) NewURLNotifyUPP(URLNotifyProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewURLNotifyUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppURLNotifyProcInfo = 0x00000FF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(URLNotifyUPP) NewURLNotifyUPP(URLNotifyProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewURLNotifyUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * NewURLSystemEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(URLSystemEventUPP)
- NewURLSystemEventUPP(URLSystemEventProcPtr userRoutine);
+/*
+ * NewURLSystemEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( URLSystemEventUPP )
+NewURLSystemEventUPP(URLSystemEventProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppURLSystemEventProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(URLSystemEventUPP) NewURLSystemEventUPP(URLSystemEventProcPtr userRoutine)
- {
- return userRoutine;
- }
-#else
-#define NewURLSystemEventUPP(userRoutine) (userRoutine)
-#endif
+ enum { uppURLSystemEventProcInfo = 0x000003F0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(URLSystemEventUPP) NewURLSystemEventUPP(URLSystemEventProcPtr userRoutine) { return userRoutine; }
+ #else
+ #define NewURLSystemEventUPP(userRoutine) (userRoutine)
+ #endif
#endif
- /*
- * DisposeURLNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeURLNotifyUPP(URLNotifyUPP userUPP);
+/*
+ * DisposeURLNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeURLNotifyUPP(URLNotifyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeURLNotifyUPP(URLNotifyUPP) {}
-#else
-#define DisposeURLNotifyUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeURLNotifyUPP(URLNotifyUPP) {}
+ #else
+ #define DisposeURLNotifyUPP(userUPP)
+ #endif
#endif
- /*
- * DisposeURLSystemEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeURLSystemEventUPP(URLSystemEventUPP userUPP);
+/*
+ * DisposeURLSystemEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeURLSystemEventUPP(URLSystemEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeURLSystemEventUPP(URLSystemEventUPP) {}
-#else
-#define DisposeURLSystemEventUPP(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeURLSystemEventUPP(URLSystemEventUPP) {}
+ #else
+ #define DisposeURLSystemEventUPP(userUPP)
+ #endif
#endif
- /*
- * InvokeURLNotifyUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeURLNotifyUPP(
- void * userContext,
- URLEvent event,
- URLCallbackInfo * callbackInfo,
- URLNotifyUPP userUPP);
+/*
+ * InvokeURLNotifyUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeURLNotifyUPP(
+ void * userContext,
+ URLEvent event,
+ URLCallbackInfo * callbackInfo,
+ URLNotifyUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeURLNotifyUPP(void * userContext, URLEvent event, URLCallbackInfo * callbackInfo, URLNotifyUPP userUPP)
- {
- return (*userUPP)(userContext, event, callbackInfo);
- }
-#else
-#define InvokeURLNotifyUPP(userContext, event, callbackInfo, userUPP) (*userUPP)(userContext, event, callbackInfo)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeURLNotifyUPP(void * userContext, URLEvent event, URLCallbackInfo * callbackInfo, URLNotifyUPP userUPP) { return (*userUPP)(userContext, event, callbackInfo); }
+ #else
+ #define InvokeURLNotifyUPP(userContext, event, callbackInfo, userUPP) (*userUPP)(userContext, event, callbackInfo)
+ #endif
#endif
- /*
- * InvokeURLSystemEventUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeURLSystemEventUPP(
- void * userContext,
- EventRecord * event,
- URLSystemEventUPP userUPP);
+/*
+ * InvokeURLSystemEventUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeURLSystemEventUPP(
+ void * userContext,
+ EventRecord * event,
+ URLSystemEventUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeURLSystemEventUPP(void * userContext, EventRecord * event, URLSystemEventUPP userUPP)
- {
- return (*userUPP)(userContext, event);
- }
-#else
-#define InvokeURLSystemEventUPP(userContext, event, userUPP) (*userUPP)(userContext, event)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeURLSystemEventUPP(void * userContext, EventRecord * event, URLSystemEventUPP userUPP) { return (*userUPP)(userContext, event); }
+ #else
+ #define InvokeURLSystemEventUPP(userContext, event, userUPP) (*userUPP)(userContext, event)
+ #endif
#endif
- /*
- * URLSimpleDownload()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLSimpleDownload(
- const char * url,
- FSSpec * destination, /* can be NULL */
- Handle destinationHandle, /* can be NULL */
- URLOpenFlags openFlags,
- URLSystemEventUPP eventProc, /* can be NULL */
- void * userContext); /* can be NULL */
-
-
- /*
- * URLDownload()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLDownload(
- URLReference urlRef,
- FSSpec * destination, /* can be NULL */
- Handle destinationHandle, /* can be NULL */
- URLOpenFlags openFlags,
- URLSystemEventUPP eventProc, /* can be NULL */
- void * userContext); /* can be NULL */
-
-
- /*
- * URLSimpleUpload()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLSimpleUpload(
- const char * url,
- const FSSpec * source,
- URLOpenFlags openFlags,
- URLSystemEventUPP eventProc, /* can be NULL */
- void * userContext); /* can be NULL */
-
-
- /*
- * URLUpload()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLUpload(
- URLReference urlRef,
- const FSSpec * source,
- URLOpenFlags openFlags,
- URLSystemEventUPP eventProc, /* can be NULL */
- void * userContext); /* can be NULL */
-
-
- /*
- * URLNewReference()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLNewReference(
- const char * url,
- URLReference * urlRef);
-
-
- /*
- * URLDisposeReference()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLDisposeReference(URLReference urlRef);
-
-
- /*
- * URLOpen()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLOpen(
- URLReference urlRef,
- FSSpec * fileSpec, /* can be NULL */
- URLOpenFlags openFlags,
- URLNotifyUPP notifyProc, /* can be NULL */
- URLEventMask eventRegister,
- void * userContext); /* can be NULL */
-
-
- /*
- * URLAbort()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLAbort(URLReference urlRef);
-
-
- /*
- * URLGetDataAvailable()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLGetDataAvailable(
- URLReference urlRef,
- Size * dataSize);
-
-
- /*
- * URLGetBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLGetBuffer(
- URLReference urlRef,
- void ** buffer,
- Size * bufferSize);
-
-
- /*
- * URLReleaseBuffer()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLReleaseBuffer(
- URLReference urlRef,
- void * buffer);
-
-
- /*
- * URLGetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLGetProperty(
- URLReference urlRef,
- const char * property,
- void * propertyBuffer,
- Size bufferSize);
-
-
- /*
- * URLGetPropertySize()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLGetPropertySize(
- URLReference urlRef,
- const char * property,
- Size * propertySize);
-
-
- /*
- * URLSetProperty()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLSetProperty(
- URLReference urlRef,
- const char * property,
- void * propertyBuffer,
- Size bufferSize);
-
-
- /*
- * URLGetCurrentState()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLGetCurrentState(
- URLReference urlRef,
- URLState * state);
-
-
- /*
- * URLGetError()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLGetError(
- URLReference urlRef,
- OSStatus * urlError);
-
-
- /*
- * URLIdle()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLIdle(void);
-
-
- /*
- * URLGetFileInfo()
- *
- * Availability:
- * Non-Carbon CFM: in URLAccessLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- URLGetFileInfo(
- StringPtr fName,
- OSType * fType,
- OSType * fCreator);
+/*
+ * URLSimpleDownload()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLSimpleDownload(
+ const char * url,
+ FSSpec * destination, /* can be NULL */
+ Handle destinationHandle, /* can be NULL */
+ URLOpenFlags openFlags,
+ URLSystemEventUPP eventProc, /* can be NULL */
+ void * userContext); /* can be NULL */
+
+
+/*
+ * URLDownload()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLDownload(
+ URLReference urlRef,
+ FSSpec * destination, /* can be NULL */
+ Handle destinationHandle, /* can be NULL */
+ URLOpenFlags openFlags,
+ URLSystemEventUPP eventProc, /* can be NULL */
+ void * userContext); /* can be NULL */
+
+
+/*
+ * URLSimpleUpload()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLSimpleUpload(
+ const char * url,
+ const FSSpec * source,
+ URLOpenFlags openFlags,
+ URLSystemEventUPP eventProc, /* can be NULL */
+ void * userContext); /* can be NULL */
+
+
+/*
+ * URLUpload()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLUpload(
+ URLReference urlRef,
+ const FSSpec * source,
+ URLOpenFlags openFlags,
+ URLSystemEventUPP eventProc, /* can be NULL */
+ void * userContext); /* can be NULL */
+
+
+/*
+ * URLNewReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLNewReference(
+ const char * url,
+ URLReference * urlRef);
+
+
+/*
+ * URLDisposeReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLDisposeReference(URLReference urlRef);
+
+
+/*
+ * URLOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLOpen(
+ URLReference urlRef,
+ FSSpec * fileSpec, /* can be NULL */
+ URLOpenFlags openFlags,
+ URLNotifyUPP notifyProc, /* can be NULL */
+ URLEventMask eventRegister,
+ void * userContext); /* can be NULL */
+
+
+/*
+ * URLAbort()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLAbort(URLReference urlRef);
+
+
+/*
+ * URLGetDataAvailable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLGetDataAvailable(
+ URLReference urlRef,
+ Size * dataSize);
+
+
+/*
+ * URLGetBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLGetBuffer(
+ URLReference urlRef,
+ void ** buffer,
+ Size * bufferSize);
+
+
+/*
+ * URLReleaseBuffer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLReleaseBuffer(
+ URLReference urlRef,
+ void * buffer);
+
+
+/*
+ * URLGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLGetProperty(
+ URLReference urlRef,
+ const char * property,
+ void * propertyBuffer,
+ Size bufferSize);
+
+
+/*
+ * URLGetPropertySize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLGetPropertySize(
+ URLReference urlRef,
+ const char * property,
+ Size * propertySize);
+
+
+/*
+ * URLSetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLSetProperty(
+ URLReference urlRef,
+ const char * property,
+ void * propertyBuffer,
+ Size bufferSize);
+
+
+/*
+ * URLGetCurrentState()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLGetCurrentState(
+ URLReference urlRef,
+ URLState * state);
+
+
+/*
+ * URLGetError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLGetError(
+ URLReference urlRef,
+ OSStatus * urlError);
+
+
+/*
+ * URLIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLIdle(void);
+
+
+/*
+ * URLGetFileInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in URLAccessLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+URLGetFileInfo(
+ StringPtr fName,
+ OSType * fType,
+ OSType * fCreator);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/UTCUtils.h b/include/qt/UTCUtils.h
index b88698ea9..0d25f3198 100644
--- a/include/qt/UTCUtils.h
+++ b/include/qt/UTCUtils.h
@@ -1,17 +1,17 @@
/*
File: UTCUtils.h
-
+
Contains: Interface for UTC to Local Time conversion and 64 Bit Clock routines
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __UTCUTILS__
#define __UTCUTILS__
@@ -40,159 +40,157 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Options for Set & Get DateTime Routines */
- enum {
- kUTCDefaultOptions = 0
- };
-
- /* 64 Bit Clock Typedefs */
- struct UTCDateTime
- {
- UInt16 highSeconds;
- UInt32 lowSeconds;
- UInt16 fraction;
- };
- typedef struct UTCDateTime UTCDateTime;
- typedef UTCDateTime * UTCDateTimePtr;
- typedef UTCDateTimePtr * UTCDateTimeHandle;
- struct LocalDateTime
- {
- UInt16 highSeconds;
- UInt32 lowSeconds;
- UInt16 fraction;
- };
- typedef struct LocalDateTime LocalDateTime;
- typedef LocalDateTime * LocalDateTimePtr;
- typedef LocalDateTimePtr * LocalDateTimeHandle;
- /* Classic 32 bit clock conversion routines */
- /*
- * ConvertLocalTimeToUTC()
- *
- * Availability:
- * Non-Carbon CFM: in UTCUtils 1.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ConvertLocalTimeToUTC(
- UInt32 localSeconds,
- UInt32 * utcSeconds);
-
-
- /*
- * ConvertUTCToLocalTime()
- *
- * Availability:
- * Non-Carbon CFM: in UTCUtils 1.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ConvertUTCToLocalTime(
- UInt32 utcSeconds,
- UInt32 * localSeconds);
-
-
- /* 64 bit clock conversion routines */
- /*
- * ConvertUTCToLocalDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in UTCUtils 1.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ConvertUTCToLocalDateTime(
- const UTCDateTime * utcDateTime,
- LocalDateTime * localDateTime);
-
-
- /*
- * ConvertLocalToUTCDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in UTCUtils 1.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- ConvertLocalToUTCDateTime(
- const LocalDateTime * localDateTime,
- UTCDateTime * utcDateTime);
-
-
- /* Getter and Setter Clock routines using 64 Bit values */
- /*
- * GetUTCDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in UTCUtils 1.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetUTCDateTime(
- UTCDateTime * utcDateTime,
- OptionBits options);
-
-
- /*
- * SetUTCDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in UTCUtils 1.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetUTCDateTime(
- const UTCDateTime * utcDateTime,
- OptionBits options);
-
-
- /*
- * GetLocalDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in UTCUtils 1.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- GetLocalDateTime(
- LocalDateTime * localDateTime,
- OptionBits options);
-
-
- /*
- * SetLocalDateTime()
- *
- * Availability:
- * Non-Carbon CFM: in UTCUtils 1.0 and later
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- SetLocalDateTime(
- const LocalDateTime * localDateTime,
- OptionBits options);
+/* Options for Set & Get DateTime Routines */
+enum {
+ kUTCDefaultOptions = 0
+};
+
+/* 64 Bit Clock Typedefs */
+struct UTCDateTime {
+ UInt16 highSeconds;
+ UInt32 lowSeconds;
+ UInt16 fraction;
+};
+typedef struct UTCDateTime UTCDateTime;
+typedef UTCDateTime * UTCDateTimePtr;
+typedef UTCDateTimePtr * UTCDateTimeHandle;
+struct LocalDateTime {
+ UInt16 highSeconds;
+ UInt32 lowSeconds;
+ UInt16 fraction;
+};
+typedef struct LocalDateTime LocalDateTime;
+typedef LocalDateTime * LocalDateTimePtr;
+typedef LocalDateTimePtr * LocalDateTimeHandle;
+/* Classic 32 bit clock conversion routines */
+/*
+ * ConvertLocalTimeToUTC()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UTCUtils 1.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ConvertLocalTimeToUTC(
+ UInt32 localSeconds,
+ UInt32 * utcSeconds);
+
+
+/*
+ * ConvertUTCToLocalTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UTCUtils 1.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ConvertUTCToLocalTime(
+ UInt32 utcSeconds,
+ UInt32 * localSeconds);
+
+
+/* 64 bit clock conversion routines */
+/*
+ * ConvertUTCToLocalDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UTCUtils 1.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ConvertUTCToLocalDateTime(
+ const UTCDateTime * utcDateTime,
+ LocalDateTime * localDateTime);
+
+
+/*
+ * ConvertLocalToUTCDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UTCUtils 1.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+ConvertLocalToUTCDateTime(
+ const LocalDateTime * localDateTime,
+ UTCDateTime * utcDateTime);
+
+
+/* Getter and Setter Clock routines using 64 Bit values */
+/*
+ * GetUTCDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UTCUtils 1.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetUTCDateTime(
+ UTCDateTime * utcDateTime,
+ OptionBits options);
+
+
+/*
+ * SetUTCDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UTCUtils 1.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetUTCDateTime(
+ const UTCDateTime * utcDateTime,
+ OptionBits options);
+
+
+/*
+ * GetLocalDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UTCUtils 1.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+GetLocalDateTime(
+ LocalDateTime * localDateTime,
+ OptionBits options);
+
+
+/*
+ * SetLocalDateTime()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UTCUtils 1.0 and later
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+SetLocalDateTime(
+ const LocalDateTime * localDateTime,
+ OptionBits options);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/UnicodeConverter.h b/include/qt/UnicodeConverter.h
index d39a1c0cc..dbe019226 100644
--- a/include/qt/UnicodeConverter.h
+++ b/include/qt/UnicodeConverter.h
@@ -1,17 +1,17 @@
/*
File: UnicodeConverter.h
-
+
Contains: Types, constants, and prototypes for Unicode Converter
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __UNICODECONVERTER__
#define __UNICODECONVERTER__
@@ -44,725 +44,705 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /* Unicode conversion contexts: */
- typedef struct OpaqueTextToUnicodeInfo* TextToUnicodeInfo;
- typedef struct OpaqueUnicodeToTextInfo* UnicodeToTextInfo;
- typedef struct OpaqueUnicodeToTextRunInfo* UnicodeToTextRunInfo;
- typedef const TextToUnicodeInfo ConstTextToUnicodeInfo;
- typedef const UnicodeToTextInfo ConstUnicodeToTextInfo;
- /* UnicodeMapVersion type & values */
- typedef SInt32 UnicodeMapVersion;
- enum
- {
- kUnicodeUseLatestMapping = -1,
- kUnicodeUseHFSPlusMapping = 4
- };
-
- /* Types used in conversion */
- struct UnicodeMapping
- {
- TextEncoding unicodeEncoding;
- TextEncoding otherEncoding;
- UnicodeMapVersion mappingVersion;
- };
- typedef struct UnicodeMapping UnicodeMapping;
- typedef UnicodeMapping * UnicodeMappingPtr;
- typedef const UnicodeMapping * ConstUnicodeMappingPtr;
- /* Control flags for ConvertFromUnicodeToText and ConvertFromTextToUnicode */
- enum
- {
- kUnicodeUseFallbacksBit = 0,
- kUnicodeKeepInfoBit = 1,
- kUnicodeDirectionalityBits = 2,
- kUnicodeVerticalFormBit = 4,
- kUnicodeLooseMappingsBit = 5,
- kUnicodeStringUnterminatedBit = 6,
- kUnicodeTextRunBit = 7,
- kUnicodeKeepSameEncodingBit = 8,
- kUnicodeForceASCIIRangeBit = 9,
- kUnicodeNoHalfwidthCharsBit = 10,
- kUnicodeTextRunHeuristicsBit = 11,
- kUnicodeMapLineFeedToReturnBit = 12
- };
-
- enum
- {
- kUnicodeUseFallbacksMask = 1L << kUnicodeUseFallbacksBit,
- kUnicodeKeepInfoMask = 1L << kUnicodeKeepInfoBit,
- kUnicodeDirectionalityMask = 3L << kUnicodeDirectionalityBits,
- kUnicodeVerticalFormMask = 1L << kUnicodeVerticalFormBit,
- kUnicodeLooseMappingsMask = 1L << kUnicodeLooseMappingsBit,
- kUnicodeStringUnterminatedMask = 1L << kUnicodeStringUnterminatedBit,
- kUnicodeTextRunMask = 1L << kUnicodeTextRunBit,
- kUnicodeKeepSameEncodingMask = 1L << kUnicodeKeepSameEncodingBit,
- kUnicodeForceASCIIRangeMask = 1L << kUnicodeForceASCIIRangeBit,
- kUnicodeNoHalfwidthCharsMask = 1L << kUnicodeNoHalfwidthCharsBit,
- kUnicodeTextRunHeuristicsMask = 1L << kUnicodeTextRunHeuristicsBit,
- kUnicodeMapLineFeedToReturnMask = 1L << kUnicodeMapLineFeedToReturnBit
- };
-
- /* Values for kUnicodeDirectionality field */
- enum
- {
- kUnicodeDefaultDirection = 0,
- kUnicodeLeftToRight = 1,
- kUnicodeRightToLeft = 2
- };
-
- /* Directionality masks for control flags */
- enum
- {
- kUnicodeDefaultDirectionMask = kUnicodeDefaultDirection << kUnicodeDirectionalityBits,
- kUnicodeLeftToRightMask = kUnicodeLeftToRight << kUnicodeDirectionalityBits,
- kUnicodeRightToLeftMask = kUnicodeRightToLeft << kUnicodeDirectionalityBits
- };
-
-
- /* Control flags for TruncateForUnicodeToText: */
- /*
- Now TruncateForUnicodeToText uses control flags from the same set as used by
- ConvertFromTextToUnicode, ConvertFromUnicodeToText, etc., but only
- kUnicodeStringUnterminatedMask is meaningful for TruncateForUnicodeToText.
-
- Previously two special control flags were defined for TruncateForUnicodeToText:
- kUnicodeTextElementSafeBit = 0
- kUnicodeRestartSafeBit = 1
- However, neither of these was implemented.
- Instead of implementing kUnicodeTextElementSafeBit, we now use
- kUnicodeStringUnterminatedMask since it accomplishes the same thing and avoids
- having special flags just for TruncateForUnicodeToText
- Also, kUnicodeRestartSafeBit is unnecessary, since restart-safeness is handled by
- setting kUnicodeKeepInfoBit with ConvertFromUnicodeToText.
- If TruncateForUnicodeToText is called with one or both of the old special control
- flags set (bits 0 or 1), it will not generate a paramErr, but the old bits have no
- effect on its operation.
- */
-
- /* Filter bits for filter field in QueryUnicodeMappings and CountUnicodeMappings: */
- enum
- {
- kUnicodeMatchUnicodeBaseBit = 0,
- kUnicodeMatchUnicodeVariantBit = 1,
- kUnicodeMatchUnicodeFormatBit = 2,
- kUnicodeMatchOtherBaseBit = 3,
- kUnicodeMatchOtherVariantBit = 4,
- kUnicodeMatchOtherFormatBit = 5
- };
-
- enum
- {
- kUnicodeMatchUnicodeBaseMask = 1L << kUnicodeMatchUnicodeBaseBit,
- kUnicodeMatchUnicodeVariantMask = 1L << kUnicodeMatchUnicodeVariantBit,
- kUnicodeMatchUnicodeFormatMask = 1L << kUnicodeMatchUnicodeFormatBit,
- kUnicodeMatchOtherBaseMask = 1L << kUnicodeMatchOtherBaseBit,
- kUnicodeMatchOtherVariantMask = 1L << kUnicodeMatchOtherVariantBit,
- kUnicodeMatchOtherFormatMask = 1L << kUnicodeMatchOtherFormatBit
- };
-
- /* Control flags for SetFallbackUnicodeToText */
- enum
- {
- kUnicodeFallbackSequencingBits = 0
- };
-
- enum
- {
- kUnicodeFallbackSequencingMask = 3L << kUnicodeFallbackSequencingBits,
- kUnicodeFallbackInterruptSafeMask = 1L << 2 /* To indicate that caller fallback routine doesn't move memory*/
- };
-
- /* values for kUnicodeFallbackSequencing field */
- enum
- {
- kUnicodeFallbackDefaultOnly = 0L,
- kUnicodeFallbackCustomOnly = 1L,
- kUnicodeFallbackDefaultFirst = 2L,
- kUnicodeFallbackCustomFirst = 3L
- };
-
-
- /* Caller-supplied entry point to a fallback handler */
- typedef CALLBACK_API(OSStatus , UnicodeToTextFallbackProcPtr)(UniChar *iSrcUniStr, ByteCount iSrcUniStrLen, ByteCount *oSrcConvLen, TextPtr oDestStr, ByteCount iDestStrLen, ByteCount *oDestConvLen, LogicalAddress iInfoPtr, ConstUnicodeMappingPtr iUnicodeMappingPtr);
- typedef STACK_UPP_TYPE(UnicodeToTextFallbackProcPtr) UnicodeToTextFallbackUPP;
- /*
- * NewUnicodeToTextFallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(UnicodeToTextFallbackUPP)
- NewUnicodeToTextFallbackUPP(UnicodeToTextFallbackProcPtr userRoutine);
+/* Unicode conversion contexts: */
+typedef struct OpaqueTextToUnicodeInfo* TextToUnicodeInfo;
+typedef struct OpaqueUnicodeToTextInfo* UnicodeToTextInfo;
+typedef struct OpaqueUnicodeToTextRunInfo* UnicodeToTextRunInfo;
+typedef const TextToUnicodeInfo ConstTextToUnicodeInfo;
+typedef const UnicodeToTextInfo ConstUnicodeToTextInfo;
+/* UnicodeMapVersion type & values */
+typedef SInt32 UnicodeMapVersion;
+enum {
+ kUnicodeUseLatestMapping = -1,
+ kUnicodeUseHFSPlusMapping = 4
+};
+
+/* Types used in conversion */
+struct UnicodeMapping {
+ TextEncoding unicodeEncoding;
+ TextEncoding otherEncoding;
+ UnicodeMapVersion mappingVersion;
+};
+typedef struct UnicodeMapping UnicodeMapping;
+typedef UnicodeMapping * UnicodeMappingPtr;
+typedef const UnicodeMapping * ConstUnicodeMappingPtr;
+/* Control flags for ConvertFromUnicodeToText and ConvertFromTextToUnicode */
+enum {
+ kUnicodeUseFallbacksBit = 0,
+ kUnicodeKeepInfoBit = 1,
+ kUnicodeDirectionalityBits = 2,
+ kUnicodeVerticalFormBit = 4,
+ kUnicodeLooseMappingsBit = 5,
+ kUnicodeStringUnterminatedBit = 6,
+ kUnicodeTextRunBit = 7,
+ kUnicodeKeepSameEncodingBit = 8,
+ kUnicodeForceASCIIRangeBit = 9,
+ kUnicodeNoHalfwidthCharsBit = 10,
+ kUnicodeTextRunHeuristicsBit = 11,
+ kUnicodeMapLineFeedToReturnBit = 12
+};
+
+enum {
+ kUnicodeUseFallbacksMask = 1L << kUnicodeUseFallbacksBit,
+ kUnicodeKeepInfoMask = 1L << kUnicodeKeepInfoBit,
+ kUnicodeDirectionalityMask = 3L << kUnicodeDirectionalityBits,
+ kUnicodeVerticalFormMask = 1L << kUnicodeVerticalFormBit,
+ kUnicodeLooseMappingsMask = 1L << kUnicodeLooseMappingsBit,
+ kUnicodeStringUnterminatedMask = 1L << kUnicodeStringUnterminatedBit,
+ kUnicodeTextRunMask = 1L << kUnicodeTextRunBit,
+ kUnicodeKeepSameEncodingMask = 1L << kUnicodeKeepSameEncodingBit,
+ kUnicodeForceASCIIRangeMask = 1L << kUnicodeForceASCIIRangeBit,
+ kUnicodeNoHalfwidthCharsMask = 1L << kUnicodeNoHalfwidthCharsBit,
+ kUnicodeTextRunHeuristicsMask = 1L << kUnicodeTextRunHeuristicsBit,
+ kUnicodeMapLineFeedToReturnMask = 1L << kUnicodeMapLineFeedToReturnBit
+};
+
+/* Values for kUnicodeDirectionality field */
+enum {
+ kUnicodeDefaultDirection = 0,
+ kUnicodeLeftToRight = 1,
+ kUnicodeRightToLeft = 2
+};
+
+/* Directionality masks for control flags */
+enum {
+ kUnicodeDefaultDirectionMask = kUnicodeDefaultDirection << kUnicodeDirectionalityBits,
+ kUnicodeLeftToRightMask = kUnicodeLeftToRight << kUnicodeDirectionalityBits,
+ kUnicodeRightToLeftMask = kUnicodeRightToLeft << kUnicodeDirectionalityBits
+};
+
+
+/* Control flags for TruncateForUnicodeToText: */
+/*
+ Now TruncateForUnicodeToText uses control flags from the same set as used by
+ ConvertFromTextToUnicode, ConvertFromUnicodeToText, etc., but only
+ kUnicodeStringUnterminatedMask is meaningful for TruncateForUnicodeToText.
+
+ Previously two special control flags were defined for TruncateForUnicodeToText:
+ kUnicodeTextElementSafeBit = 0
+ kUnicodeRestartSafeBit = 1
+ However, neither of these was implemented.
+ Instead of implementing kUnicodeTextElementSafeBit, we now use
+ kUnicodeStringUnterminatedMask since it accomplishes the same thing and avoids
+ having special flags just for TruncateForUnicodeToText
+ Also, kUnicodeRestartSafeBit is unnecessary, since restart-safeness is handled by
+ setting kUnicodeKeepInfoBit with ConvertFromUnicodeToText.
+ If TruncateForUnicodeToText is called with one or both of the old special control
+ flags set (bits 0 or 1), it will not generate a paramErr, but the old bits have no
+ effect on its operation.
+*/
+
+/* Filter bits for filter field in QueryUnicodeMappings and CountUnicodeMappings: */
+enum {
+ kUnicodeMatchUnicodeBaseBit = 0,
+ kUnicodeMatchUnicodeVariantBit = 1,
+ kUnicodeMatchUnicodeFormatBit = 2,
+ kUnicodeMatchOtherBaseBit = 3,
+ kUnicodeMatchOtherVariantBit = 4,
+ kUnicodeMatchOtherFormatBit = 5
+};
+
+enum {
+ kUnicodeMatchUnicodeBaseMask = 1L << kUnicodeMatchUnicodeBaseBit,
+ kUnicodeMatchUnicodeVariantMask = 1L << kUnicodeMatchUnicodeVariantBit,
+ kUnicodeMatchUnicodeFormatMask = 1L << kUnicodeMatchUnicodeFormatBit,
+ kUnicodeMatchOtherBaseMask = 1L << kUnicodeMatchOtherBaseBit,
+ kUnicodeMatchOtherVariantMask = 1L << kUnicodeMatchOtherVariantBit,
+ kUnicodeMatchOtherFormatMask = 1L << kUnicodeMatchOtherFormatBit
+};
+
+/* Control flags for SetFallbackUnicodeToText */
+enum {
+ kUnicodeFallbackSequencingBits = 0
+};
+
+enum {
+ kUnicodeFallbackSequencingMask = 3L << kUnicodeFallbackSequencingBits,
+ kUnicodeFallbackInterruptSafeMask = 1L << 2 /* To indicate that caller fallback routine doesn't move memory*/
+};
+
+/* values for kUnicodeFallbackSequencing field */
+enum {
+ kUnicodeFallbackDefaultOnly = 0L,
+ kUnicodeFallbackCustomOnly = 1L,
+ kUnicodeFallbackDefaultFirst = 2L,
+ kUnicodeFallbackCustomFirst = 3L
+};
+
+
+/* Caller-supplied entry point to a fallback handler */
+typedef CALLBACK_API( OSStatus , UnicodeToTextFallbackProcPtr )(UniChar *iSrcUniStr, ByteCount iSrcUniStrLen, ByteCount *oSrcConvLen, TextPtr oDestStr, ByteCount iDestStrLen, ByteCount *oDestConvLen, LogicalAddress iInfoPtr, ConstUnicodeMappingPtr iUnicodeMappingPtr);
+typedef STACK_UPP_TYPE(UnicodeToTextFallbackProcPtr) UnicodeToTextFallbackUPP;
+/*
+ * NewUnicodeToTextFallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( UnicodeToTextFallbackUPP )
+NewUnicodeToTextFallbackUPP(UnicodeToTextFallbackProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
- enum { uppUnicodeToTextFallbackProcInfo = 0x003FFFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
-#ifdef __cplusplus
- inline DEFINE_API_C(UnicodeToTextFallbackUPP) NewUnicodeToTextFallbackUPP(UnicodeToTextFallbackProcPtr userRoutine)
- {
- return (UnicodeToTextFallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUnicodeToTextFallbackProcInfo, GetCurrentArchitecture());
- }
-#else
-#define NewUnicodeToTextFallbackUPP(userRoutine) (UnicodeToTextFallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUnicodeToTextFallbackProcInfo, GetCurrentArchitecture())
-#endif
+ enum { uppUnicodeToTextFallbackProcInfo = 0x003FFFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(UnicodeToTextFallbackUPP) NewUnicodeToTextFallbackUPP(UnicodeToTextFallbackProcPtr userRoutine) { return (UnicodeToTextFallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUnicodeToTextFallbackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewUnicodeToTextFallbackUPP(userRoutine) (UnicodeToTextFallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUnicodeToTextFallbackProcInfo, GetCurrentArchitecture())
+ #endif
#endif
- /*
- * DisposeUnicodeToTextFallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- DisposeUnicodeToTextFallbackUPP(UnicodeToTextFallbackUPP userUPP);
+/*
+ * DisposeUnicodeToTextFallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeUnicodeToTextFallbackUPP(UnicodeToTextFallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(void) DisposeUnicodeToTextFallbackUPP(UnicodeToTextFallbackUPP userUPP)
- {
- DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
- }
-#else
-#define DisposeUnicodeToTextFallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeUnicodeToTextFallbackUPP(UnicodeToTextFallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeUnicodeToTextFallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
#endif
- /*
- * InvokeUnicodeToTextFallbackUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- InvokeUnicodeToTextFallbackUPP(
- UniChar * iSrcUniStr,
- ByteCount iSrcUniStrLen,
- ByteCount * oSrcConvLen,
- TextPtr oDestStr,
- ByteCount iDestStrLen,
- ByteCount * oDestConvLen,
- LogicalAddress iInfoPtr,
- ConstUnicodeMappingPtr iUnicodeMappingPtr,
- UnicodeToTextFallbackUPP userUPP);
+/*
+ * InvokeUnicodeToTextFallbackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+InvokeUnicodeToTextFallbackUPP(
+ UniChar * iSrcUniStr,
+ ByteCount iSrcUniStrLen,
+ ByteCount * oSrcConvLen,
+ TextPtr oDestStr,
+ ByteCount iDestStrLen,
+ ByteCount * oDestConvLen,
+ LogicalAddress iInfoPtr,
+ ConstUnicodeMappingPtr iUnicodeMappingPtr,
+ UnicodeToTextFallbackUPP userUPP);
#if !OPAQUE_UPP_TYPES
-#ifdef __cplusplus
- inline DEFINE_API_C(OSStatus) InvokeUnicodeToTextFallbackUPP(UniChar * iSrcUniStr, ByteCount iSrcUniStrLen, ByteCount * oSrcConvLen, TextPtr oDestStr, ByteCount iDestStrLen, ByteCount * oDestConvLen, LogicalAddress iInfoPtr, ConstUnicodeMappingPtr iUnicodeMappingPtr, UnicodeToTextFallbackUPP userUPP)
- {
- return (OSStatus)CALL_EIGHT_PARAMETER_UPP(userUPP, uppUnicodeToTextFallbackProcInfo, iSrcUniStr, iSrcUniStrLen, oSrcConvLen, oDestStr, iDestStrLen, oDestConvLen, iInfoPtr, iUnicodeMappingPtr);
- }
-#else
-#define InvokeUnicodeToTextFallbackUPP(iSrcUniStr, iSrcUniStrLen, oSrcConvLen, oDestStr, iDestStrLen, oDestConvLen, iInfoPtr, iUnicodeMappingPtr, userUPP) (OSStatus)CALL_EIGHT_PARAMETER_UPP((userUPP), uppUnicodeToTextFallbackProcInfo, (iSrcUniStr), (iSrcUniStrLen), (oSrcConvLen), (oDestStr), (iDestStrLen), (oDestConvLen), (iInfoPtr), (iUnicodeMappingPtr))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(OSStatus) InvokeUnicodeToTextFallbackUPP(UniChar * iSrcUniStr, ByteCount iSrcUniStrLen, ByteCount * oSrcConvLen, TextPtr oDestStr, ByteCount iDestStrLen, ByteCount * oDestConvLen, LogicalAddress iInfoPtr, ConstUnicodeMappingPtr iUnicodeMappingPtr, UnicodeToTextFallbackUPP userUPP) { return (OSStatus)CALL_EIGHT_PARAMETER_UPP(userUPP, uppUnicodeToTextFallbackProcInfo, iSrcUniStr, iSrcUniStrLen, oSrcConvLen, oDestStr, iDestStrLen, oDestConvLen, iInfoPtr, iUnicodeMappingPtr); }
+ #else
+ #define InvokeUnicodeToTextFallbackUPP(iSrcUniStr, iSrcUniStrLen, oSrcConvLen, oDestStr, iDestStrLen, oDestConvLen, iInfoPtr, iUnicodeMappingPtr, userUPP) (OSStatus)CALL_EIGHT_PARAMETER_UPP((userUPP), uppUnicodeToTextFallbackProcInfo, (iSrcUniStr), (iSrcUniStrLen), (oSrcConvLen), (oDestStr), (iDestStrLen), (oDestConvLen), (iInfoPtr), (iUnicodeMappingPtr))
+ #endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
-#define NewUnicodeToTextFallbackProc(userRoutine) NewUnicodeToTextFallbackUPP(userRoutine)
-#define CallUnicodeToTextFallbackProc(userRoutine, iSrcUniStr, iSrcUniStrLen, oSrcConvLen, oDestStr, iDestStrLen, oDestConvLen, iInfoPtr, iUnicodeMappingPtr) InvokeUnicodeToTextFallbackUPP(iSrcUniStr, iSrcUniStrLen, oSrcConvLen, oDestStr, iDestStrLen, oDestConvLen, iInfoPtr, iUnicodeMappingPtr, userRoutine)
+ #define NewUnicodeToTextFallbackProc(userRoutine) NewUnicodeToTextFallbackUPP(userRoutine)
+ #define CallUnicodeToTextFallbackProc(userRoutine, iSrcUniStr, iSrcUniStrLen, oSrcConvLen, oDestStr, iDestStrLen, oDestConvLen, iInfoPtr, iUnicodeMappingPtr) InvokeUnicodeToTextFallbackUPP(iSrcUniStr, iSrcUniStrLen, oSrcConvLen, oDestStr, iDestStrLen, oDestConvLen, iInfoPtr, iUnicodeMappingPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
- /* Function prototypes */
+/* Function prototypes */
#if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
- /*
- Routine to Initialize the Unicode Converter and cleanup once done with it.
- These routines must be called from Static Library clients.
- */
+/*
+ Routine to Initialize the Unicode Converter and cleanup once done with it.
+ These routines must be called from Static Library clients.
+*/
#if CALL_NOT_IN_CARBON
- /*
- * InitializeUnicodeConverter()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(OSStatus)
- InitializeUnicodeConverter(StringPtr TECFileName);
-
-
- /*
- * TerminateUnicodeConverter()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API(void)
- TerminateUnicodeConverter(void);
-
-
- /* Note: the old names (InitializeUnicode, TerminateUnicode) for the above are still exported.*/
+/*
+ * InitializeUnicodeConverter()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSStatus )
+InitializeUnicodeConverter(StringPtr TECFileName);
+
+
+/*
+ * TerminateUnicodeConverter()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+TerminateUnicodeConverter(void);
+
+
+/* Note: the old names (InitializeUnicode, TerminateUnicode) for the above are still exported.*/
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_CPU_68K && !TARGET_RT_MAC_CFM */
- /*
- * CreateTextToUnicodeInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateTextToUnicodeInfo(
- ConstUnicodeMappingPtr iUnicodeMapping,
- TextToUnicodeInfo * oTextToUnicodeInfo);
-
-
- /*
- * CreateTextToUnicodeInfoByEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateTextToUnicodeInfoByEncoding(
- TextEncoding iEncoding,
- TextToUnicodeInfo * oTextToUnicodeInfo);
-
-
- /*
- * CreateUnicodeToTextInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateUnicodeToTextInfo(
- ConstUnicodeMappingPtr iUnicodeMapping,
- UnicodeToTextInfo * oUnicodeToTextInfo);
-
-
- /*
- * CreateUnicodeToTextInfoByEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateUnicodeToTextInfoByEncoding(
- TextEncoding iEncoding,
- UnicodeToTextInfo * oUnicodeToTextInfo);
-
-
- /*
- * CreateUnicodeToTextRunInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateUnicodeToTextRunInfo(
- ItemCount iNumberOfMappings,
- const UnicodeMapping iUnicodeMappings[],
- UnicodeToTextRunInfo * oUnicodeToTextInfo);
-
-
- /*
- * CreateUnicodeToTextRunInfoByEncoding()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateUnicodeToTextRunInfoByEncoding(
- ItemCount iNumberOfEncodings,
- const TextEncoding iEncodings[],
- UnicodeToTextRunInfo * oUnicodeToTextInfo);
-
-
- /*
- * CreateUnicodeToTextRunInfoByScriptCode()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CreateUnicodeToTextRunInfoByScriptCode(
- ItemCount iNumberOfScriptCodes,
- const ScriptCode iScripts[],
- UnicodeToTextRunInfo * oUnicodeToTextInfo);
-
-
- /* Change the TextToUnicodeInfo to another mapping. */
- /*
- * ChangeTextToUnicodeInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ChangeTextToUnicodeInfo(
- TextToUnicodeInfo ioTextToUnicodeInfo,
- ConstUnicodeMappingPtr iUnicodeMapping);
-
-
- /* Change the UnicodeToTextInfo to another mapping. */
- /*
- * ChangeUnicodeToTextInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ChangeUnicodeToTextInfo(
- UnicodeToTextInfo ioUnicodeToTextInfo,
- ConstUnicodeMappingPtr iUnicodeMapping);
-
-
-
- /*
- * DisposeTextToUnicodeInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DisposeTextToUnicodeInfo(TextToUnicodeInfo * ioTextToUnicodeInfo);
-
-
- /*
- * DisposeUnicodeToTextInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DisposeUnicodeToTextInfo(UnicodeToTextInfo * ioUnicodeToTextInfo);
-
-
- /*
- * DisposeUnicodeToTextRunInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- DisposeUnicodeToTextRunInfo(UnicodeToTextRunInfo * ioUnicodeToTextRunInfo);
-
-
- /*
- * ConvertFromTextToUnicode()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ConvertFromTextToUnicode(
- TextToUnicodeInfo iTextToUnicodeInfo,
- ByteCount iSourceLen,
- ConstLogicalAddress iSourceStr,
- OptionBits iControlFlags,
- ItemCount iOffsetCount,
- ByteOffset iOffsetArray[], /* can be NULL */
- ItemCount * oOffsetCount, /* can be NULL */
- ByteOffset oOffsetArray[], /* can be NULL */
- ByteCount iOutputBufLen,
- ByteCount * oSourceRead,
- ByteCount * oUnicodeLen,
- UniChar oUnicodeStr[]);
-
-
- /*
- * ConvertFromUnicodeToText()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ConvertFromUnicodeToText(
- UnicodeToTextInfo iUnicodeToTextInfo,
- ByteCount iUnicodeLen,
- const UniChar iUnicodeStr[],
- OptionBits iControlFlags,
- ItemCount iOffsetCount,
- ByteOffset iOffsetArray[], /* can be NULL */
- ItemCount * oOffsetCount, /* can be NULL */
- ByteOffset oOffsetArray[], /* can be NULL */
- ByteCount iOutputBufLen,
- ByteCount * oInputRead,
- ByteCount * oOutputLen,
- LogicalAddress oOutputStr);
-
-
- /*
- * ConvertFromUnicodeToTextRun()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ConvertFromUnicodeToTextRun(
- UnicodeToTextRunInfo iUnicodeToTextInfo,
- ByteCount iUnicodeLen,
- const UniChar iUnicodeStr[],
- OptionBits iControlFlags,
- ItemCount iOffsetCount,
- ByteOffset iOffsetArray[], /* can be NULL */
- ItemCount * oOffsetCount, /* can be NULL */
- ByteOffset oOffsetArray[], /* can be NULL */
- ByteCount iOutputBufLen,
- ByteCount * oInputRead,
- ByteCount * oOutputLen,
- LogicalAddress oOutputStr,
- ItemCount iEncodingRunBufLen,
- ItemCount * oEncodingRunOutLen,
- TextEncodingRun oEncodingRuns[]);
-
-
- /*
- * ConvertFromUnicodeToScriptCodeRun()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ConvertFromUnicodeToScriptCodeRun(
- UnicodeToTextRunInfo iUnicodeToTextInfo,
- ByteCount iUnicodeLen,
- const UniChar iUnicodeStr[],
- OptionBits iControlFlags,
- ItemCount iOffsetCount,
- ByteOffset iOffsetArray[], /* can be NULL */
- ItemCount * oOffsetCount, /* can be NULL */
- ByteOffset oOffsetArray[], /* can be NULL */
- ByteCount iOutputBufLen,
- ByteCount * oInputRead,
- ByteCount * oOutputLen,
- LogicalAddress oOutputStr,
- ItemCount iScriptRunBufLen,
- ItemCount * oScriptRunOutLen,
- ScriptCodeRun oScriptCodeRuns[]);
-
-
- /* Truncate a multibyte string at a safe place. */
- /*
- * TruncateForTextToUnicode()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TruncateForTextToUnicode(
- ConstTextToUnicodeInfo iTextToUnicodeInfo,
- ByteCount iSourceLen,
- ConstLogicalAddress iSourceStr,
- ByteCount iMaxLen,
- ByteCount * oTruncatedLen);
-
-
- /* Truncate a Unicode string at a safe place. */
- /*
- * TruncateForUnicodeToText()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- TruncateForUnicodeToText(
- ConstUnicodeToTextInfo iUnicodeToTextInfo,
- ByteCount iSourceLen,
- const UniChar iSourceStr[],
- OptionBits iControlFlags,
- ByteCount iMaxLen,
- ByteCount * oTruncatedLen);
-
-
- /* Convert a Pascal string to Unicode string. */
- /*
- * ConvertFromPStringToUnicode()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ConvertFromPStringToUnicode(
- TextToUnicodeInfo iTextToUnicodeInfo,
- ConstStr255Param iPascalStr,
- ByteCount iOutputBufLen,
- ByteCount * oUnicodeLen,
- UniChar oUnicodeStr[]);
-
-
- /* Convert a Unicode string to Pascal string. */
- /*
- * ConvertFromUnicodeToPString()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ConvertFromUnicodeToPString(
- UnicodeToTextInfo iUnicodeToTextInfo,
- ByteCount iUnicodeLen,
- const UniChar iUnicodeStr[],
- Str255 oPascalStr);
-
-
- /* Count the available conversion mappings. */
- /*
- * CountUnicodeMappings()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- CountUnicodeMappings(
- OptionBits iFilter,
- ConstUnicodeMappingPtr iFindMapping,
- ItemCount * oActualCount);
-
-
- /* Get a list of the available conversion mappings. */
- /*
- * QueryUnicodeMappings()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- QueryUnicodeMappings(
- OptionBits iFilter,
- ConstUnicodeMappingPtr iFindMapping,
- ItemCount iMaxCount,
- ItemCount * oActualCount,
- UnicodeMapping oReturnedMappings[]);
-
-
- /* Setup the fallback handler for converting Unicode To Text. */
- /*
- * SetFallbackUnicodeToText()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetFallbackUnicodeToText(
- UnicodeToTextInfo iUnicodeToTextInfo,
- UnicodeToTextFallbackUPP iFallback,
- OptionBits iControlFlags,
- LogicalAddress iInfoPtr);
-
-
- /* Setup the fallback handler for converting Unicode To TextRuns. */
- /*
- * SetFallbackUnicodeToTextRun()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- SetFallbackUnicodeToTextRun(
- UnicodeToTextRunInfo iUnicodeToTextRunInfo,
- UnicodeToTextFallbackUPP iFallback,
- OptionBits iControlFlags,
- LogicalAddress iInfoPtr);
-
-
- /* Re-initialize all state information kept by the context objects. */
- /*
- * ResetTextToUnicodeInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.3 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ResetTextToUnicodeInfo(TextToUnicodeInfo ioTextToUnicodeInfo);
-
-
- /* Re-initialize all state information kept by the context objects. */
- /*
- * ResetUnicodeToTextInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ResetUnicodeToTextInfo(UnicodeToTextInfo ioUnicodeToTextInfo);
-
-
- /* Re-initialize all state information kept by the context objects in TextRun conversions. */
- /*
- * ResetUnicodeToTextRunInfo()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeConverter 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- ResetUnicodeToTextRunInfo(UnicodeToTextRunInfo ioUnicodeToTextRunInfo);
+/*
+ * CreateTextToUnicodeInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateTextToUnicodeInfo(
+ ConstUnicodeMappingPtr iUnicodeMapping,
+ TextToUnicodeInfo * oTextToUnicodeInfo);
+
+
+/*
+ * CreateTextToUnicodeInfoByEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateTextToUnicodeInfoByEncoding(
+ TextEncoding iEncoding,
+ TextToUnicodeInfo * oTextToUnicodeInfo);
+
+
+/*
+ * CreateUnicodeToTextInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateUnicodeToTextInfo(
+ ConstUnicodeMappingPtr iUnicodeMapping,
+ UnicodeToTextInfo * oUnicodeToTextInfo);
+
+
+/*
+ * CreateUnicodeToTextInfoByEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateUnicodeToTextInfoByEncoding(
+ TextEncoding iEncoding,
+ UnicodeToTextInfo * oUnicodeToTextInfo);
+
+
+/*
+ * CreateUnicodeToTextRunInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateUnicodeToTextRunInfo(
+ ItemCount iNumberOfMappings,
+ const UnicodeMapping iUnicodeMappings[],
+ UnicodeToTextRunInfo * oUnicodeToTextInfo);
+
+
+/*
+ * CreateUnicodeToTextRunInfoByEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateUnicodeToTextRunInfoByEncoding(
+ ItemCount iNumberOfEncodings,
+ const TextEncoding iEncodings[],
+ UnicodeToTextRunInfo * oUnicodeToTextInfo);
+
+
+/*
+ * CreateUnicodeToTextRunInfoByScriptCode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CreateUnicodeToTextRunInfoByScriptCode(
+ ItemCount iNumberOfScriptCodes,
+ const ScriptCode iScripts[],
+ UnicodeToTextRunInfo * oUnicodeToTextInfo);
+
+
+/* Change the TextToUnicodeInfo to another mapping. */
+/*
+ * ChangeTextToUnicodeInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ChangeTextToUnicodeInfo(
+ TextToUnicodeInfo ioTextToUnicodeInfo,
+ ConstUnicodeMappingPtr iUnicodeMapping);
+
+
+/* Change the UnicodeToTextInfo to another mapping. */
+/*
+ * ChangeUnicodeToTextInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ChangeUnicodeToTextInfo(
+ UnicodeToTextInfo ioUnicodeToTextInfo,
+ ConstUnicodeMappingPtr iUnicodeMapping);
+
+
+
+/*
+ * DisposeTextToUnicodeInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DisposeTextToUnicodeInfo(TextToUnicodeInfo * ioTextToUnicodeInfo);
+
+
+/*
+ * DisposeUnicodeToTextInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DisposeUnicodeToTextInfo(UnicodeToTextInfo * ioUnicodeToTextInfo);
+
+
+/*
+ * DisposeUnicodeToTextRunInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+DisposeUnicodeToTextRunInfo(UnicodeToTextRunInfo * ioUnicodeToTextRunInfo);
+
+
+/*
+ * ConvertFromTextToUnicode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ConvertFromTextToUnicode(
+ TextToUnicodeInfo iTextToUnicodeInfo,
+ ByteCount iSourceLen,
+ ConstLogicalAddress iSourceStr,
+ OptionBits iControlFlags,
+ ItemCount iOffsetCount,
+ ByteOffset iOffsetArray[], /* can be NULL */
+ ItemCount * oOffsetCount, /* can be NULL */
+ ByteOffset oOffsetArray[], /* can be NULL */
+ ByteCount iOutputBufLen,
+ ByteCount * oSourceRead,
+ ByteCount * oUnicodeLen,
+ UniChar oUnicodeStr[]);
+
+
+/*
+ * ConvertFromUnicodeToText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ConvertFromUnicodeToText(
+ UnicodeToTextInfo iUnicodeToTextInfo,
+ ByteCount iUnicodeLen,
+ const UniChar iUnicodeStr[],
+ OptionBits iControlFlags,
+ ItemCount iOffsetCount,
+ ByteOffset iOffsetArray[], /* can be NULL */
+ ItemCount * oOffsetCount, /* can be NULL */
+ ByteOffset oOffsetArray[], /* can be NULL */
+ ByteCount iOutputBufLen,
+ ByteCount * oInputRead,
+ ByteCount * oOutputLen,
+ LogicalAddress oOutputStr);
+
+
+/*
+ * ConvertFromUnicodeToTextRun()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ConvertFromUnicodeToTextRun(
+ UnicodeToTextRunInfo iUnicodeToTextInfo,
+ ByteCount iUnicodeLen,
+ const UniChar iUnicodeStr[],
+ OptionBits iControlFlags,
+ ItemCount iOffsetCount,
+ ByteOffset iOffsetArray[], /* can be NULL */
+ ItemCount * oOffsetCount, /* can be NULL */
+ ByteOffset oOffsetArray[], /* can be NULL */
+ ByteCount iOutputBufLen,
+ ByteCount * oInputRead,
+ ByteCount * oOutputLen,
+ LogicalAddress oOutputStr,
+ ItemCount iEncodingRunBufLen,
+ ItemCount * oEncodingRunOutLen,
+ TextEncodingRun oEncodingRuns[]);
+
+
+/*
+ * ConvertFromUnicodeToScriptCodeRun()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ConvertFromUnicodeToScriptCodeRun(
+ UnicodeToTextRunInfo iUnicodeToTextInfo,
+ ByteCount iUnicodeLen,
+ const UniChar iUnicodeStr[],
+ OptionBits iControlFlags,
+ ItemCount iOffsetCount,
+ ByteOffset iOffsetArray[], /* can be NULL */
+ ItemCount * oOffsetCount, /* can be NULL */
+ ByteOffset oOffsetArray[], /* can be NULL */
+ ByteCount iOutputBufLen,
+ ByteCount * oInputRead,
+ ByteCount * oOutputLen,
+ LogicalAddress oOutputStr,
+ ItemCount iScriptRunBufLen,
+ ItemCount * oScriptRunOutLen,
+ ScriptCodeRun oScriptCodeRuns[]);
+
+
+/* Truncate a multibyte string at a safe place. */
+/*
+ * TruncateForTextToUnicode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TruncateForTextToUnicode(
+ ConstTextToUnicodeInfo iTextToUnicodeInfo,
+ ByteCount iSourceLen,
+ ConstLogicalAddress iSourceStr,
+ ByteCount iMaxLen,
+ ByteCount * oTruncatedLen);
+
+
+/* Truncate a Unicode string at a safe place. */
+/*
+ * TruncateForUnicodeToText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+TruncateForUnicodeToText(
+ ConstUnicodeToTextInfo iUnicodeToTextInfo,
+ ByteCount iSourceLen,
+ const UniChar iSourceStr[],
+ OptionBits iControlFlags,
+ ByteCount iMaxLen,
+ ByteCount * oTruncatedLen);
+
+
+/* Convert a Pascal string to Unicode string. */
+/*
+ * ConvertFromPStringToUnicode()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ConvertFromPStringToUnicode(
+ TextToUnicodeInfo iTextToUnicodeInfo,
+ ConstStr255Param iPascalStr,
+ ByteCount iOutputBufLen,
+ ByteCount * oUnicodeLen,
+ UniChar oUnicodeStr[]);
+
+
+/* Convert a Unicode string to Pascal string. */
+/*
+ * ConvertFromUnicodeToPString()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ConvertFromUnicodeToPString(
+ UnicodeToTextInfo iUnicodeToTextInfo,
+ ByteCount iUnicodeLen,
+ const UniChar iUnicodeStr[],
+ Str255 oPascalStr);
+
+
+/* Count the available conversion mappings. */
+/*
+ * CountUnicodeMappings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+CountUnicodeMappings(
+ OptionBits iFilter,
+ ConstUnicodeMappingPtr iFindMapping,
+ ItemCount * oActualCount);
+
+
+/* Get a list of the available conversion mappings. */
+/*
+ * QueryUnicodeMappings()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+QueryUnicodeMappings(
+ OptionBits iFilter,
+ ConstUnicodeMappingPtr iFindMapping,
+ ItemCount iMaxCount,
+ ItemCount * oActualCount,
+ UnicodeMapping oReturnedMappings[]);
+
+
+/* Setup the fallback handler for converting Unicode To Text. */
+/*
+ * SetFallbackUnicodeToText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetFallbackUnicodeToText(
+ UnicodeToTextInfo iUnicodeToTextInfo,
+ UnicodeToTextFallbackUPP iFallback,
+ OptionBits iControlFlags,
+ LogicalAddress iInfoPtr);
+
+
+/* Setup the fallback handler for converting Unicode To TextRuns. */
+/*
+ * SetFallbackUnicodeToTextRun()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetFallbackUnicodeToTextRun(
+ UnicodeToTextRunInfo iUnicodeToTextRunInfo,
+ UnicodeToTextFallbackUPP iFallback,
+ OptionBits iControlFlags,
+ LogicalAddress iInfoPtr);
+
+
+/* Re-initialize all state information kept by the context objects. */
+/*
+ * ResetTextToUnicodeInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.3 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ResetTextToUnicodeInfo(TextToUnicodeInfo ioTextToUnicodeInfo);
+
+
+/* Re-initialize all state information kept by the context objects. */
+/*
+ * ResetUnicodeToTextInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ResetUnicodeToTextInfo(UnicodeToTextInfo ioUnicodeToTextInfo);
+
+
+/* Re-initialize all state information kept by the context objects in TextRun conversions. */
+/*
+ * ResetUnicodeToTextRunInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeConverter 1.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+ResetUnicodeToTextRunInfo(UnicodeToTextRunInfo ioUnicodeToTextRunInfo);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/UnicodeUtilities.h b/include/qt/UnicodeUtilities.h
index 95f35636b..26ce8d4a4 100644
--- a/include/qt/UnicodeUtilities.h
+++ b/include/qt/UnicodeUtilities.h
@@ -1,17 +1,17 @@
/*
File: UnicodeUtilities.h
-
+
Contains: Types, constants, prototypes for Unicode Utilities (Unicode input and text utils)
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1997-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __UNICODEUTILITIES__
#define __UNICODEUTILITIES__
@@ -44,549 +44,523 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- /*
- -------------------------------------------------------------------------------------------------
- CONSTANTS & DATA STRUCTURES for UCKeyTranslate & UCKeyboardLayout ('uchr' resource)
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- -------------------------------------------------------------------------------------------------
- UCKeyOutput & related stuff
- The interpretation of UCKeyOutput depends on bits 15-14.
- If they are 01, then bits 0-13 are an index in UCKeyStateRecordsIndex (resource-wide list).
- If they are 10, then bits 0-13 are an index in UCKeySequenceDataIndex (resource-wide list),
- or if UCKeySequenceDataIndex is not present or the index is beyond the end of the list,
- then bits 0-15 are a single Unicode character.
- Otherwise, bits 0-15 are a single Unicode character; a value of 0xFFFE-0xFFFF means no character
- output.
- UCKeyCharSeq is similar, but does not support indices in UCKeyStateRecordsIndex. For bits 15-14:
- If they are 10, then bits 0-13 are an index in UCKeySequenceDataIndex (resource-wide list),
- or if UCKeySequenceDataIndex is not present or the index is beyond the end of the list,
- then bits 0-15 are a single Unicode character.
- Otherwise, bits 0-15 are a single Unicode character; a value of 0xFFFE-0xFFFF means no character
- output.
- -------------------------------------------------------------------------------------------------
- */
-
- typedef UInt16 UCKeyOutput;
- typedef UInt16 UCKeyCharSeq;
- enum
- {
- kUCKeyOutputStateIndexMask = 0x4000,
- kUCKeyOutputSequenceIndexMask = 0x8000,
- kUCKeyOutputTestForIndexMask = 0xC000, /* test bits 14-15*/
- kUCKeyOutputGetIndexMask = 0x3FFF /* get bits 0-13*/
- };
-
- /*
- -------------------------------------------------------------------------------------------------
- UCKeyStateRecord & related stuff
- The UCKeyStateRecord information is used as follows. If the current state is zero,
- output stateZeroCharData and set the state to stateZeroNextState. If the current state
- is non-zero and there is an entry for it in stateEntryData, then output the corresponding
- charData and set the state to nextState. Otherwise, output the state terminator from
- UCKeyStateTerminators for the current state (or nothing if there is no UCKeyStateTerminators
- table or it has no entry for the current state), then output stateZeroCharData and set the
- state to stateZeroNextState.
- -------------------------------------------------------------------------------------------------
- */
-
- struct UCKeyStateRecord
- {
- UCKeyCharSeq stateZeroCharData;
- UInt16 stateZeroNextState;
- UInt16 stateEntryCount;
- UInt16 stateEntryFormat;
- /* This is followed by an array of stateEntryCount elements*/
- /* in the specified format. Here we just show a dummy array.*/
- UInt32 stateEntryData[1];
- };
- typedef struct UCKeyStateRecord UCKeyStateRecord;
- /*
- Here are the codes for entry formats currently defined.
- Each entry maps from curState to charData and nextState.
- */
- enum
- {
- kUCKeyStateEntryTerminalFormat = 0x0001,
- kUCKeyStateEntryRangeFormat = 0x0002
- };
-
- /*
- For UCKeyStateEntryTerminal -
- nextState is always 0, so we don't have a field for it
- */
-
- struct UCKeyStateEntryTerminal
- {
- UInt16 curState;
- UCKeyCharSeq charData;
- };
- typedef struct UCKeyStateEntryTerminal UCKeyStateEntryTerminal;
- /*
- For UCKeyStateEntryRange -
- If curState >= curStateStart and curState <= curStateStart+curStateRange,
- then it matches the entry, and we transform charData and nextState as follows:
- If charData < 0xFFFE, then charData += (curState-curStateStart)*deltaMultiplier
- If nextState != 0, then nextState += (curState-curStateStart)*deltaMultiplier
- */
- struct UCKeyStateEntryRange
- {
- UInt16 curStateStart;
- UInt8 curStateRange;
- UInt8 deltaMultiplier;
- UCKeyCharSeq charData;
- UInt16 nextState;
- };
- typedef struct UCKeyStateEntryRange UCKeyStateEntryRange;
- /*
- -------------------------------------------------------------------------------------------------
- UCKeyboardLayout & related stuff
- The UCKeyboardLayout struct given here is only for the resource header. It specifies
- offsets to the various subtables which each have their own structs, given below.
- The keyboardTypeHeadList array selects table offsets that depend on keyboardType. The
- first entry in keyboardTypeHeadList is the default entry, which will be used if the
- keyboardType passed to UCKeyTranslate does not match any other entry - i.e. does not fall
- within the range keyboardTypeFirst..keyboardTypeLast for some entry. The first entry
- should have keyboardTypeFirst = keyboardTypeLast = 0.
- -------------------------------------------------------------------------------------------------
- */
- struct UCKeyboardTypeHeader
- {
- UInt32 keyboardTypeFirst; /* first keyboardType in this entry*/
- UInt32 keyboardTypeLast; /* last keyboardType in this entry*/
- ByteOffset keyModifiersToTableNumOffset; /* required*/
- ByteOffset keyToCharTableIndexOffset; /* required*/
- ByteOffset keyStateRecordsIndexOffset; /* 0 => no table*/
- ByteOffset keyStateTerminatorsOffset; /* 0 => no table*/
- ByteOffset keySequenceDataIndexOffset; /* 0 => no table*/
- };
- typedef struct UCKeyboardTypeHeader UCKeyboardTypeHeader;
- struct UCKeyboardLayout
- {
- /* header only; other tables accessed via offsets*/
- UInt16 keyLayoutHeaderFormat; /* =kUCKeyLayoutHeaderFormat*/
- UInt16 keyLayoutDataVersion; /* 0x0100 = 1.0, 0x0110 = 1.1, etc.*/
- ByteOffset keyLayoutFeatureInfoOffset; /* may be 0 */
- ItemCount keyboardTypeCount; /* Dimension for keyboardTypeHeadList[] */
- UCKeyboardTypeHeader keyboardTypeList[1];
- };
- typedef struct UCKeyboardLayout UCKeyboardLayout;
- /* -------------------------------------------------------------------------------------------------*/
- struct UCKeyLayoutFeatureInfo
- {
- UInt16 keyLayoutFeatureInfoFormat; /* =kUCKeyLayoutFeatureInfoFormat*/
- UInt16 reserved;
- UniCharCount maxOutputStringLength; /* longest possible output string*/
- };
- typedef struct UCKeyLayoutFeatureInfo UCKeyLayoutFeatureInfo;
- /* -------------------------------------------------------------------------------------------------*/
- struct UCKeyModifiersToTableNum
- {
- UInt16 keyModifiersToTableNumFormat; /* =kUCKeyModifiersToTableNumFormat*/
- UInt16 defaultTableNum; /* For modifier combos not in tableNum[]*/
- ItemCount modifiersCount; /* Dimension for tableNum[]*/
- UInt8 tableNum[1];
-
- /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
- };
- typedef struct UCKeyModifiersToTableNum UCKeyModifiersToTableNum;
- /* -------------------------------------------------------------------------------------------------*/
- struct UCKeyToCharTableIndex
- {
- UInt16 keyToCharTableIndexFormat; /* =kUCKeyToCharTableIndexFormat*/
- UInt16 keyToCharTableSize; /* Max keyCode (128 for ADB keyboards)*/
- ItemCount keyToCharTableCount; /* Dimension for keyToCharTableOffsets[] (usually 6 to 12 tables)*/
- ByteOffset keyToCharTableOffsets[1];
-
- /* Each offset in keyToCharTableOffsets is from the beginning of the resource to a*/
- /* table as follows:*/
- /* UCKeyOutput keyToCharData[keyToCharTableSize];*/
- /* These tables follow the UCKeyToCharTableIndex.*/
- /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
- };
- typedef struct UCKeyToCharTableIndex UCKeyToCharTableIndex;
- /* -------------------------------------------------------------------------------------------------*/
- struct UCKeyStateRecordsIndex
- {
- UInt16 keyStateRecordsIndexFormat; /* =kUCKeyStateRecordsIndexFormat*/
- UInt16 keyStateRecordCount; /* Dimension for keyStateRecordOffsets[]*/
- ByteOffset keyStateRecordOffsets[1];
-
- /* Each offset in keyStateRecordOffsets is from the beginning of the resource to a*/
- /* UCKeyStateRecord. These UCKeyStateRecords follow the keyStateRecordOffsets[] array.*/
- /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
- };
- typedef struct UCKeyStateRecordsIndex UCKeyStateRecordsIndex;
- /* -------------------------------------------------------------------------------------------------*/
- struct UCKeyStateTerminators
- {
- UInt16 keyStateTerminatorsFormat; /* =kUCKeyStateTerminatorsFormat*/
- UInt16 keyStateTerminatorCount; /* Dimension for keyStateTerminators[] (# of nonzero states)*/
- UCKeyCharSeq keyStateTerminators[1];
-
- /* Note: keyStateTerminators[0] is terminator for state 1, etc.*/
- /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
- };
- typedef struct UCKeyStateTerminators UCKeyStateTerminators;
- /* -------------------------------------------------------------------------------------------------*/
- struct UCKeySequenceDataIndex
- {
- UInt16 keySequenceDataIndexFormat; /* =kUCKeySequenceDataIndexFormat*/
- UInt16 charSequenceCount; /* Dimension of charSequenceOffsets[] is charSequenceCount+1*/
- UInt16 charSequenceOffsets[1];
-
- /* Each offset in charSequenceOffsets is in bytes, from the beginning of*/
- /* UCKeySequenceDataIndex to a sequence of UniChars; the next offset indicates the*/
- /* end of the sequence. The UniChar sequences follow the UCKeySequenceDataIndex.*/
- /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
- };
- typedef struct UCKeySequenceDataIndex UCKeySequenceDataIndex;
- /* -------------------------------------------------------------------------------------------------*/
- /* Current format codes for the various tables (bits 12-15 indicate which table)*/
-
- enum
- {
- kUCKeyLayoutHeaderFormat = 0x1002,
- kUCKeyLayoutFeatureInfoFormat = 0x2001,
- kUCKeyModifiersToTableNumFormat = 0x3001,
- kUCKeyToCharTableIndexFormat = 0x4001,
- kUCKeyStateRecordsIndexFormat = 0x5001,
- kUCKeyStateTerminatorsFormat = 0x6001,
- kUCKeySequenceDataIndexFormat = 0x7001
- };
-
-
- /*
- -------------------------------------------------------------------------------------------------
- Constants for keyAction parameter in UCKeyTranslate()
- -------------------------------------------------------------------------------------------------
- */
-
- enum
- {
- kUCKeyActionDown = 0, /* key is going down*/
- kUCKeyActionUp = 1, /* key is going up*/
- kUCKeyActionAutoKey = 2, /* auto-key down*/
- kUCKeyActionDisplay = 3 /* get information for key display (as in Key Caps) */
- };
-
- /*
- -------------------------------------------------------------------------------------------------
- Bit assignments & masks for keyTranslateOptions parameter in UCKeyTranslate()
- -------------------------------------------------------------------------------------------------
- */
-
- enum
- {
- kUCKeyTranslateNoDeadKeysBit = 0 /* Prevents setting any new dead-key states*/
- };
-
- enum
- {
- kUCKeyTranslateNoDeadKeysMask = 1L << kUCKeyTranslateNoDeadKeysBit
- };
-
- /*
- -------------------------------------------------------------------------------------------------
- CONSTANTS & DATA STRUCTURES for Unicode Collation
- -------------------------------------------------------------------------------------------------
- */
- /* constant for LocaleOperationClass*/
- enum
- {
- kUnicodeCollationClass = FOUR_CHAR_CODE('ucol')
- };
-
- typedef struct OpaqueCollatorRef* CollatorRef;
- typedef UInt32 UCCollateOptions;
- enum
- {
- /* Sensitivity options*/
- kUCCollateComposeInsensitiveMask = 1L << 1,
- kUCCollateWidthInsensitiveMask = 1L << 2,
- kUCCollateCaseInsensitiveMask = 1L << 3,
- kUCCollateDiacritInsensitiveMask = 1L << 4, /* Other general options */
- kUCCollatePunctuationSignificantMask = 1L << 15, /* Number-handling options */
- kUCCollateDigitsOverrideMask = 1L << 16,
- kUCCollateDigitsAsNumberMask = 1L << 17
- };
-
- enum
- {
- kUCCollateStandardOptions = kUCCollateComposeInsensitiveMask | kUCCollateWidthInsensitiveMask
- };
-
- /*
- Special values to specify various invariant orders for UCCompareTextNoLocale.
- These values use the high 8 bits of UCCollateOptions.
- */
- enum
- {
- kUCCollateTypeHFSExtended = 1
- };
-
- /* These constants are used for masking and shifting the invariant order type.*/
- enum
- {
- kUCCollateTypeSourceMask = 0x000000FF,
- kUCCollateTypeShiftBits = 24
- };
-
- enum
- {
- kUCCollateTypeMask = kUCCollateTypeSourceMask << kUCCollateTypeShiftBits
- };
-
-
- typedef UInt32 UCCollationValue;
- /*
- -------------------------------------------------------------------------------------------------
- CONSTANTS & DATA STRUCTURES for Unicode TextBreak
- -------------------------------------------------------------------------------------------------
- */
- /* constant for LocaleOperationClass*/
- enum
- {
- kUnicodeTextBreakClass = FOUR_CHAR_CODE('ubrk')
- };
-
- typedef struct OpaqueTextBreakLocatorRef* TextBreakLocatorRef;
- typedef UInt32 UCTextBreakType;
- enum
- {
- kUCTextBreakCharMask = 1L << 0,
- kUCTextBreakClusterMask = 1L << 2,
- kUCTextBreakWordMask = 1L << 4,
- kUCTextBreakLineMask = 1L << 6
- };
-
- typedef UInt32 UCTextBreakOptions;
- enum
- {
- kUCTextBreakLeadingEdgeMask = 1L << 0,
- kUCTextBreakGoBackwardsMask = 1L << 1,
- kUCTextBreakIterateMask = 1L << 2
- };
-
- /*
- -------------------------------------------------------------------------------------------------
- FUNCTION PROTOTYPES
- -------------------------------------------------------------------------------------------------
- */
-
- /*
- * UCKeyTranslate()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesCoreLib 8.5 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API(OSStatus)
- UCKeyTranslate(
- const UCKeyboardLayout * keyLayoutPtr,
- UInt16 virtualKeyCode,
- UInt16 keyAction,
- UInt32 modifierKeyState,
- UInt32 keyboardType,
- OptionBits keyTranslateOptions,
- UInt32 * deadKeyState,
- UniCharCount maxStringLength,
- UniCharCount * actualStringLength,
- UniChar unicodeString[]);
-
-
- /* Standard collation functions*/
- /*
- * UCCreateCollator()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCCreateCollator(
- LocaleRef locale,
- LocaleOperationVariant opVariant,
- UCCollateOptions options,
- CollatorRef * collatorRef);
-
-
- /*
- * UCGetCollationKey()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCGetCollationKey(
- CollatorRef collatorRef,
- const UniChar * textPtr,
- UniCharCount textLength,
- ItemCount maxKeySize,
- ItemCount * actualKeySize,
- UCCollationValue collationKey[]);
-
-
- /*
- * UCCompareCollationKeys()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesCoreLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCCompareCollationKeys(
- const UCCollationValue * key1Ptr,
- ItemCount key1Length,
- const UCCollationValue * key2Ptr,
- ItemCount key2Length,
- Boolean * equivalent,
- SInt32 * order);
-
-
- /*
- * UCCompareText()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCCompareText(
- CollatorRef collatorRef,
- const UniChar * text1Ptr,
- UniCharCount text1Length,
- const UniChar * text2Ptr,
- UniCharCount text2Length,
- Boolean * equivalent,
- SInt32 * order);
-
-
- /*
- * UCDisposeCollator()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCDisposeCollator(CollatorRef * collatorRef);
-
-
- /* Simple collation using default locale*/
-
- /*
- * UCCompareTextDefault()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCCompareTextDefault(
- UCCollateOptions options,
- const UniChar * text1Ptr,
- UniCharCount text1Length,
- const UniChar * text2Ptr,
- UniCharCount text2Length,
- Boolean * equivalent,
- SInt32 * order);
-
-
-
- /* Simple locale-independent collation*/
-
- /*
- * UCCompareTextNoLocale()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesCoreLib 8.6 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCCompareTextNoLocale(
- UCCollateOptions options,
- const UniChar * text1Ptr,
- UniCharCount text1Length,
- const UniChar * text2Ptr,
- UniCharCount text2Length,
- Boolean * equivalent,
- SInt32 * order);
-
-
- /* Standard text break (text boundary) functions*/
- /*
- * UCCreateTextBreakLocator()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCCreateTextBreakLocator(
- LocaleRef locale,
- LocaleOperationVariant opVariant,
- UCTextBreakType breakTypes,
- TextBreakLocatorRef * breakRef);
-
-
- /*
- * UCFindTextBreak()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCFindTextBreak(
- TextBreakLocatorRef breakRef,
- UCTextBreakType breakType,
- UCTextBreakOptions options,
- const UniChar * textPtr,
- UniCharCount textLength,
- UniCharArrayOffset startOffset,
- UniCharArrayOffset * breakOffset);
-
-
- /*
- * UCDisposeTextBreakLocator()
- *
- * Availability:
- * Non-Carbon CFM: in UnicodeUtilitiesLib 9.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(OSStatus)
- UCDisposeTextBreakLocator(TextBreakLocatorRef * breakRef);
+/*
+ -------------------------------------------------------------------------------------------------
+ CONSTANTS & DATA STRUCTURES for UCKeyTranslate & UCKeyboardLayout ('uchr' resource)
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ -------------------------------------------------------------------------------------------------
+ UCKeyOutput & related stuff
+ The interpretation of UCKeyOutput depends on bits 15-14.
+ If they are 01, then bits 0-13 are an index in UCKeyStateRecordsIndex (resource-wide list).
+ If they are 10, then bits 0-13 are an index in UCKeySequenceDataIndex (resource-wide list),
+ or if UCKeySequenceDataIndex is not present or the index is beyond the end of the list,
+ then bits 0-15 are a single Unicode character.
+ Otherwise, bits 0-15 are a single Unicode character; a value of 0xFFFE-0xFFFF means no character
+ output.
+ UCKeyCharSeq is similar, but does not support indices in UCKeyStateRecordsIndex. For bits 15-14:
+ If they are 10, then bits 0-13 are an index in UCKeySequenceDataIndex (resource-wide list),
+ or if UCKeySequenceDataIndex is not present or the index is beyond the end of the list,
+ then bits 0-15 are a single Unicode character.
+ Otherwise, bits 0-15 are a single Unicode character; a value of 0xFFFE-0xFFFF means no character
+ output.
+ -------------------------------------------------------------------------------------------------
+*/
+
+typedef UInt16 UCKeyOutput;
+typedef UInt16 UCKeyCharSeq;
+enum {
+ kUCKeyOutputStateIndexMask = 0x4000,
+ kUCKeyOutputSequenceIndexMask = 0x8000,
+ kUCKeyOutputTestForIndexMask = 0xC000, /* test bits 14-15*/
+ kUCKeyOutputGetIndexMask = 0x3FFF /* get bits 0-13*/
+};
+
+/*
+ -------------------------------------------------------------------------------------------------
+ UCKeyStateRecord & related stuff
+ The UCKeyStateRecord information is used as follows. If the current state is zero,
+ output stateZeroCharData and set the state to stateZeroNextState. If the current state
+ is non-zero and there is an entry for it in stateEntryData, then output the corresponding
+ charData and set the state to nextState. Otherwise, output the state terminator from
+ UCKeyStateTerminators for the current state (or nothing if there is no UCKeyStateTerminators
+ table or it has no entry for the current state), then output stateZeroCharData and set the
+ state to stateZeroNextState.
+ -------------------------------------------------------------------------------------------------
+*/
+
+struct UCKeyStateRecord {
+ UCKeyCharSeq stateZeroCharData;
+ UInt16 stateZeroNextState;
+ UInt16 stateEntryCount;
+ UInt16 stateEntryFormat;
+ /* This is followed by an array of stateEntryCount elements*/
+ /* in the specified format. Here we just show a dummy array.*/
+ UInt32 stateEntryData[1];
+};
+typedef struct UCKeyStateRecord UCKeyStateRecord;
+/*
+ Here are the codes for entry formats currently defined.
+ Each entry maps from curState to charData and nextState.
+*/
+enum {
+ kUCKeyStateEntryTerminalFormat = 0x0001,
+ kUCKeyStateEntryRangeFormat = 0x0002
+};
+
+/*
+ For UCKeyStateEntryTerminal -
+ nextState is always 0, so we don't have a field for it
+*/
+
+struct UCKeyStateEntryTerminal {
+ UInt16 curState;
+ UCKeyCharSeq charData;
+};
+typedef struct UCKeyStateEntryTerminal UCKeyStateEntryTerminal;
+/*
+ For UCKeyStateEntryRange -
+ If curState >= curStateStart and curState <= curStateStart+curStateRange,
+ then it matches the entry, and we transform charData and nextState as follows:
+ If charData < 0xFFFE, then charData += (curState-curStateStart)*deltaMultiplier
+ If nextState != 0, then nextState += (curState-curStateStart)*deltaMultiplier
+*/
+struct UCKeyStateEntryRange {
+ UInt16 curStateStart;
+ UInt8 curStateRange;
+ UInt8 deltaMultiplier;
+ UCKeyCharSeq charData;
+ UInt16 nextState;
+};
+typedef struct UCKeyStateEntryRange UCKeyStateEntryRange;
+/*
+ -------------------------------------------------------------------------------------------------
+ UCKeyboardLayout & related stuff
+ The UCKeyboardLayout struct given here is only for the resource header. It specifies
+ offsets to the various subtables which each have their own structs, given below.
+ The keyboardTypeHeadList array selects table offsets that depend on keyboardType. The
+ first entry in keyboardTypeHeadList is the default entry, which will be used if the
+ keyboardType passed to UCKeyTranslate does not match any other entry - i.e. does not fall
+ within the range keyboardTypeFirst..keyboardTypeLast for some entry. The first entry
+ should have keyboardTypeFirst = keyboardTypeLast = 0.
+ -------------------------------------------------------------------------------------------------
+*/
+struct UCKeyboardTypeHeader {
+ UInt32 keyboardTypeFirst; /* first keyboardType in this entry*/
+ UInt32 keyboardTypeLast; /* last keyboardType in this entry*/
+ ByteOffset keyModifiersToTableNumOffset; /* required*/
+ ByteOffset keyToCharTableIndexOffset; /* required*/
+ ByteOffset keyStateRecordsIndexOffset; /* 0 => no table*/
+ ByteOffset keyStateTerminatorsOffset; /* 0 => no table*/
+ ByteOffset keySequenceDataIndexOffset; /* 0 => no table*/
+};
+typedef struct UCKeyboardTypeHeader UCKeyboardTypeHeader;
+struct UCKeyboardLayout {
+ /* header only; other tables accessed via offsets*/
+ UInt16 keyLayoutHeaderFormat; /* =kUCKeyLayoutHeaderFormat*/
+ UInt16 keyLayoutDataVersion; /* 0x0100 = 1.0, 0x0110 = 1.1, etc.*/
+ ByteOffset keyLayoutFeatureInfoOffset; /* may be 0 */
+ ItemCount keyboardTypeCount; /* Dimension for keyboardTypeHeadList[] */
+ UCKeyboardTypeHeader keyboardTypeList[1];
+};
+typedef struct UCKeyboardLayout UCKeyboardLayout;
+/* -------------------------------------------------------------------------------------------------*/
+struct UCKeyLayoutFeatureInfo {
+ UInt16 keyLayoutFeatureInfoFormat; /* =kUCKeyLayoutFeatureInfoFormat*/
+ UInt16 reserved;
+ UniCharCount maxOutputStringLength; /* longest possible output string*/
+};
+typedef struct UCKeyLayoutFeatureInfo UCKeyLayoutFeatureInfo;
+/* -------------------------------------------------------------------------------------------------*/
+struct UCKeyModifiersToTableNum {
+ UInt16 keyModifiersToTableNumFormat; /* =kUCKeyModifiersToTableNumFormat*/
+ UInt16 defaultTableNum; /* For modifier combos not in tableNum[]*/
+ ItemCount modifiersCount; /* Dimension for tableNum[]*/
+ UInt8 tableNum[1];
+
+ /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
+};
+typedef struct UCKeyModifiersToTableNum UCKeyModifiersToTableNum;
+/* -------------------------------------------------------------------------------------------------*/
+struct UCKeyToCharTableIndex {
+ UInt16 keyToCharTableIndexFormat; /* =kUCKeyToCharTableIndexFormat*/
+ UInt16 keyToCharTableSize; /* Max keyCode (128 for ADB keyboards)*/
+ ItemCount keyToCharTableCount; /* Dimension for keyToCharTableOffsets[] (usually 6 to 12 tables)*/
+ ByteOffset keyToCharTableOffsets[1];
+
+ /* Each offset in keyToCharTableOffsets is from the beginning of the resource to a*/
+ /* table as follows:*/
+ /* UCKeyOutput keyToCharData[keyToCharTableSize];*/
+ /* These tables follow the UCKeyToCharTableIndex.*/
+ /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
+};
+typedef struct UCKeyToCharTableIndex UCKeyToCharTableIndex;
+/* -------------------------------------------------------------------------------------------------*/
+struct UCKeyStateRecordsIndex {
+ UInt16 keyStateRecordsIndexFormat; /* =kUCKeyStateRecordsIndexFormat*/
+ UInt16 keyStateRecordCount; /* Dimension for keyStateRecordOffsets[]*/
+ ByteOffset keyStateRecordOffsets[1];
+
+ /* Each offset in keyStateRecordOffsets is from the beginning of the resource to a*/
+ /* UCKeyStateRecord. These UCKeyStateRecords follow the keyStateRecordOffsets[] array.*/
+ /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
+};
+typedef struct UCKeyStateRecordsIndex UCKeyStateRecordsIndex;
+/* -------------------------------------------------------------------------------------------------*/
+struct UCKeyStateTerminators {
+ UInt16 keyStateTerminatorsFormat; /* =kUCKeyStateTerminatorsFormat*/
+ UInt16 keyStateTerminatorCount; /* Dimension for keyStateTerminators[] (# of nonzero states)*/
+ UCKeyCharSeq keyStateTerminators[1];
+
+ /* Note: keyStateTerminators[0] is terminator for state 1, etc.*/
+ /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
+};
+typedef struct UCKeyStateTerminators UCKeyStateTerminators;
+/* -------------------------------------------------------------------------------------------------*/
+struct UCKeySequenceDataIndex {
+ UInt16 keySequenceDataIndexFormat; /* =kUCKeySequenceDataIndexFormat*/
+ UInt16 charSequenceCount; /* Dimension of charSequenceOffsets[] is charSequenceCount+1*/
+ UInt16 charSequenceOffsets[1];
+
+ /* Each offset in charSequenceOffsets is in bytes, from the beginning of*/
+ /* UCKeySequenceDataIndex to a sequence of UniChars; the next offset indicates the*/
+ /* end of the sequence. The UniChar sequences follow the UCKeySequenceDataIndex.*/
+ /* Then there is padding to a 4-byte boundary with bytes containing 0, if necessary.*/
+};
+typedef struct UCKeySequenceDataIndex UCKeySequenceDataIndex;
+/* -------------------------------------------------------------------------------------------------*/
+/* Current format codes for the various tables (bits 12-15 indicate which table)*/
+
+enum {
+ kUCKeyLayoutHeaderFormat = 0x1002,
+ kUCKeyLayoutFeatureInfoFormat = 0x2001,
+ kUCKeyModifiersToTableNumFormat = 0x3001,
+ kUCKeyToCharTableIndexFormat = 0x4001,
+ kUCKeyStateRecordsIndexFormat = 0x5001,
+ kUCKeyStateTerminatorsFormat = 0x6001,
+ kUCKeySequenceDataIndexFormat = 0x7001
+};
+
+
+/*
+ -------------------------------------------------------------------------------------------------
+ Constants for keyAction parameter in UCKeyTranslate()
+ -------------------------------------------------------------------------------------------------
+*/
+
+enum {
+ kUCKeyActionDown = 0, /* key is going down*/
+ kUCKeyActionUp = 1, /* key is going up*/
+ kUCKeyActionAutoKey = 2, /* auto-key down*/
+ kUCKeyActionDisplay = 3 /* get information for key display (as in Key Caps) */
+};
+
+/*
+ -------------------------------------------------------------------------------------------------
+ Bit assignments & masks for keyTranslateOptions parameter in UCKeyTranslate()
+ -------------------------------------------------------------------------------------------------
+*/
+
+enum {
+ kUCKeyTranslateNoDeadKeysBit = 0 /* Prevents setting any new dead-key states*/
+};
+
+enum {
+ kUCKeyTranslateNoDeadKeysMask = 1L << kUCKeyTranslateNoDeadKeysBit
+};
+
+/*
+ -------------------------------------------------------------------------------------------------
+ CONSTANTS & DATA STRUCTURES for Unicode Collation
+ -------------------------------------------------------------------------------------------------
+*/
+/* constant for LocaleOperationClass*/
+enum {
+ kUnicodeCollationClass = FOUR_CHAR_CODE('ucol')
+};
+
+typedef struct OpaqueCollatorRef* CollatorRef;
+typedef UInt32 UCCollateOptions;
+enum {
+ /* Sensitivity options*/
+ kUCCollateComposeInsensitiveMask = 1L << 1,
+ kUCCollateWidthInsensitiveMask = 1L << 2,
+ kUCCollateCaseInsensitiveMask = 1L << 3,
+ kUCCollateDiacritInsensitiveMask = 1L << 4, /* Other general options */
+ kUCCollatePunctuationSignificantMask = 1L << 15, /* Number-handling options */
+ kUCCollateDigitsOverrideMask = 1L << 16,
+ kUCCollateDigitsAsNumberMask = 1L << 17
+};
+
+enum {
+ kUCCollateStandardOptions = kUCCollateComposeInsensitiveMask | kUCCollateWidthInsensitiveMask
+};
+
+/*
+ Special values to specify various invariant orders for UCCompareTextNoLocale.
+ These values use the high 8 bits of UCCollateOptions.
+*/
+enum {
+ kUCCollateTypeHFSExtended = 1
+};
+
+/* These constants are used for masking and shifting the invariant order type.*/
+enum {
+ kUCCollateTypeSourceMask = 0x000000FF,
+ kUCCollateTypeShiftBits = 24
+};
+
+enum {
+ kUCCollateTypeMask = kUCCollateTypeSourceMask << kUCCollateTypeShiftBits
+};
+
+
+typedef UInt32 UCCollationValue;
+/*
+ -------------------------------------------------------------------------------------------------
+ CONSTANTS & DATA STRUCTURES for Unicode TextBreak
+ -------------------------------------------------------------------------------------------------
+*/
+/* constant for LocaleOperationClass*/
+enum {
+ kUnicodeTextBreakClass = FOUR_CHAR_CODE('ubrk')
+};
+
+typedef struct OpaqueTextBreakLocatorRef* TextBreakLocatorRef;
+typedef UInt32 UCTextBreakType;
+enum {
+ kUCTextBreakCharMask = 1L << 0,
+ kUCTextBreakClusterMask = 1L << 2,
+ kUCTextBreakWordMask = 1L << 4,
+ kUCTextBreakLineMask = 1L << 6
+};
+
+typedef UInt32 UCTextBreakOptions;
+enum {
+ kUCTextBreakLeadingEdgeMask = 1L << 0,
+ kUCTextBreakGoBackwardsMask = 1L << 1,
+ kUCTextBreakIterateMask = 1L << 2
+};
+
+/*
+ -------------------------------------------------------------------------------------------------
+ FUNCTION PROTOTYPES
+ -------------------------------------------------------------------------------------------------
+*/
+
+/*
+ * UCKeyTranslate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesCoreLib 8.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+UCKeyTranslate(
+ const UCKeyboardLayout * keyLayoutPtr,
+ UInt16 virtualKeyCode,
+ UInt16 keyAction,
+ UInt32 modifierKeyState,
+ UInt32 keyboardType,
+ OptionBits keyTranslateOptions,
+ UInt32 * deadKeyState,
+ UniCharCount maxStringLength,
+ UniCharCount * actualStringLength,
+ UniChar unicodeString[]);
+
+
+/* Standard collation functions*/
+/*
+ * UCCreateCollator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCCreateCollator(
+ LocaleRef locale,
+ LocaleOperationVariant opVariant,
+ UCCollateOptions options,
+ CollatorRef * collatorRef);
+
+
+/*
+ * UCGetCollationKey()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCGetCollationKey(
+ CollatorRef collatorRef,
+ const UniChar * textPtr,
+ UniCharCount textLength,
+ ItemCount maxKeySize,
+ ItemCount * actualKeySize,
+ UCCollationValue collationKey[]);
+
+
+/*
+ * UCCompareCollationKeys()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesCoreLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCCompareCollationKeys(
+ const UCCollationValue * key1Ptr,
+ ItemCount key1Length,
+ const UCCollationValue * key2Ptr,
+ ItemCount key2Length,
+ Boolean * equivalent,
+ SInt32 * order);
+
+
+/*
+ * UCCompareText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCCompareText(
+ CollatorRef collatorRef,
+ const UniChar * text1Ptr,
+ UniCharCount text1Length,
+ const UniChar * text2Ptr,
+ UniCharCount text2Length,
+ Boolean * equivalent,
+ SInt32 * order);
+
+
+/*
+ * UCDisposeCollator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCDisposeCollator(CollatorRef * collatorRef);
+
+
+/* Simple collation using default locale*/
+
+/*
+ * UCCompareTextDefault()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCCompareTextDefault(
+ UCCollateOptions options,
+ const UniChar * text1Ptr,
+ UniCharCount text1Length,
+ const UniChar * text2Ptr,
+ UniCharCount text2Length,
+ Boolean * equivalent,
+ SInt32 * order);
+
+
+
+/* Simple locale-independent collation*/
+
+/*
+ * UCCompareTextNoLocale()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesCoreLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCCompareTextNoLocale(
+ UCCollateOptions options,
+ const UniChar * text1Ptr,
+ UniCharCount text1Length,
+ const UniChar * text2Ptr,
+ UniCharCount text2Length,
+ Boolean * equivalent,
+ SInt32 * order);
+
+
+/* Standard text break (text boundary) functions*/
+/*
+ * UCCreateTextBreakLocator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCCreateTextBreakLocator(
+ LocaleRef locale,
+ LocaleOperationVariant opVariant,
+ UCTextBreakType breakTypes,
+ TextBreakLocatorRef * breakRef);
+
+
+/*
+ * UCFindTextBreak()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCFindTextBreak(
+ TextBreakLocatorRef breakRef,
+ UCTextBreakType breakType,
+ UCTextBreakOptions options,
+ const UniChar * textPtr,
+ UniCharCount textLength,
+ UniCharArrayOffset startOffset,
+ UniCharArrayOffset * breakOffset);
+
+
+/*
+ * UCDisposeTextBreakLocator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in UnicodeUtilitiesLib 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+UCDisposeTextBreakLocator(TextBreakLocatorRef * breakRef);
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/Video.h b/include/qt/Video.h
index 2598ddb69..3a605540e 100644
--- a/include/qt/Video.h
+++ b/include/qt/Video.h
@@ -1,17 +1,17 @@
/*
File: Video.h
-
+
Contains: Video Driver Interfaces.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1986-2001 by Apple Computer, Inc., all rights reserved
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __VIDEO__
#define __VIDEO__
@@ -32,77 +32,71 @@
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
-enum
-{
- mBaseOffset = 1, /*Id of mBaseOffset.*/
- mRowBytes = 2, /*Video sResource parameter Id's */
- mBounds = 3, /*Video sResource parameter Id's */
- mVersion = 4, /*Video sResource parameter Id's */
- mHRes = 5, /*Video sResource parameter Id's */
- mVRes = 6, /*Video sResource parameter Id's */
- mPixelType = 7, /*Video sResource parameter Id's */
- mPixelSize = 8, /*Video sResource parameter Id's */
- mCmpCount = 9, /*Video sResource parameter Id's */
- mCmpSize = 10, /*Video sResource parameter Id's */
- mPlaneBytes = 11, /*Video sResource parameter Id's */
- mVertRefRate = 14, /*Video sResource parameter Id's */
- mVidParams = 1, /*Video parameter block id.*/
- mTable = 2, /*Offset to the table.*/
- mPageCnt = 3, /*Number of pages*/
- mDevType = 4, /*Device Type*/
- oneBitMode = 128, /*Id of OneBitMode Parameter list.*/
- twoBitMode = 129, /*Id of TwoBitMode Parameter list.*/
- fourBitMode = 130, /*Id of FourBitMode Parameter list.*/
- eightBitMode = 131 /*Id of EightBitMode Parameter list.*/
-};
-
-enum
-{
- sixteenBitMode = 132, /*Id of SixteenBitMode Parameter list.*/
- thirtyTwoBitMode = 133, /*Id of ThirtyTwoBitMode Parameter list.*/
- firstVidMode = 128, /*The new, better way to do the above. */
- secondVidMode = 129, /* QuickDraw only supports six video */
- thirdVidMode = 130, /* at this time. */
- fourthVidMode = 131,
- fifthVidMode = 132,
- sixthVidMode = 133,
- spGammaDir = 64,
- spVidNamesDir = 65
+enum {
+ mBaseOffset = 1, /*Id of mBaseOffset.*/
+ mRowBytes = 2, /*Video sResource parameter Id's */
+ mBounds = 3, /*Video sResource parameter Id's */
+ mVersion = 4, /*Video sResource parameter Id's */
+ mHRes = 5, /*Video sResource parameter Id's */
+ mVRes = 6, /*Video sResource parameter Id's */
+ mPixelType = 7, /*Video sResource parameter Id's */
+ mPixelSize = 8, /*Video sResource parameter Id's */
+ mCmpCount = 9, /*Video sResource parameter Id's */
+ mCmpSize = 10, /*Video sResource parameter Id's */
+ mPlaneBytes = 11, /*Video sResource parameter Id's */
+ mVertRefRate = 14, /*Video sResource parameter Id's */
+ mVidParams = 1, /*Video parameter block id.*/
+ mTable = 2, /*Offset to the table.*/
+ mPageCnt = 3, /*Number of pages*/
+ mDevType = 4, /*Device Type*/
+ oneBitMode = 128, /*Id of OneBitMode Parameter list.*/
+ twoBitMode = 129, /*Id of TwoBitMode Parameter list.*/
+ fourBitMode = 130, /*Id of FourBitMode Parameter list.*/
+ eightBitMode = 131 /*Id of EightBitMode Parameter list.*/
+};
+
+enum {
+ sixteenBitMode = 132, /*Id of SixteenBitMode Parameter list.*/
+ thirtyTwoBitMode = 133, /*Id of ThirtyTwoBitMode Parameter list.*/
+ firstVidMode = 128, /*The new, better way to do the above. */
+ secondVidMode = 129, /* QuickDraw only supports six video */
+ thirdVidMode = 130, /* at this time. */
+ fourthVidMode = 131,
+ fifthVidMode = 132,
+ sixthVidMode = 133,
+ spGammaDir = 64,
+ spVidNamesDir = 65
};
/* csTimingFormat values in VDTimingInfo */
/* look in the declaration rom for timing info */
-enum
-{
- kDeclROMtables = FOUR_CHAR_CODE('decl'),
- kDetailedTimingFormat = FOUR_CHAR_CODE('arba') /* Timing is a detailed timing*/
+enum {
+ kDeclROMtables = FOUR_CHAR_CODE('decl'),
+ kDetailedTimingFormat = FOUR_CHAR_CODE('arba') /* Timing is a detailed timing*/
};
/* Size of a block of EDID (Extended Display Identification Data) */
-enum
-{
- kDDCBlockSize = 128
+enum {
+ kDDCBlockSize = 128
};
/* ddcBlockType constants*/
-enum
-{
- kDDCBlockTypeEDID = 0 /* EDID block type. */
+enum {
+ kDDCBlockTypeEDID = 0 /* EDID block type. */
};
/* ddcFlags constants*/
-enum
-{
- kDDCForceReadBit = 0, /* Force a new read of the EDID. */
- kDDCForceReadMask = (1 << kDDCForceReadBit) /* Mask for kddcForceReadBit. */
+enum {
+ kDDCForceReadBit = 0, /* Force a new read of the EDID. */
+ kDDCForceReadMask = (1 << kDDCForceReadBit) /* Mask for kddcForceReadBit. */
};
@@ -110,413 +104,388 @@ enum
Corresponding .h equates are in Video.h
.a equates are in Video.a
.r equates are in DepVideoEqu.r
-
+
The second enum is the old names (for compatibility).
The first enum is the new names.
*/
-enum
-{
- timingInvalid = 0, /* Unknown timing... force user to confirm. */
- timingInvalid_SM_T24 = 8, /* Work around bug in SM Thunder24 card.*/
- timingApple_FixedRateLCD = 42, /* Lump all fixed-rate LCDs into one category.*/
- timingApple_512x384_60hz = 130, /* 512x384 (60 Hz) Rubik timing. */
- timingApple_560x384_60hz = 135, /* 560x384 (60 Hz) Rubik-560 timing. */
- timingApple_640x480_67hz = 140, /* 640x480 (67 Hz) HR timing. */
- timingApple_640x400_67hz = 145, /* 640x400 (67 Hz) HR-400 timing. */
- timingVESA_640x480_60hz = 150, /* 640x480 (60 Hz) VGA timing. */
- timingVESA_640x480_72hz = 152, /* 640x480 (72 Hz) VGA timing. */
- timingVESA_640x480_75hz = 154, /* 640x480 (75 Hz) VGA timing. */
- timingVESA_640x480_85hz = 158, /* 640x480 (85 Hz) VGA timing. */
- timingGTF_640x480_120hz = 159, /* 640x480 (120 Hz) VESA Generalized Timing Formula */
- timingApple_640x870_75hz = 160, /* 640x870 (75 Hz) FPD timing.*/
- timingApple_640x818_75hz = 165, /* 640x818 (75 Hz) FPD-818 timing.*/
- timingApple_832x624_75hz = 170, /* 832x624 (75 Hz) GoldFish timing.*/
- timingVESA_800x600_56hz = 180, /* 800x600 (56 Hz) SVGA timing. */
- timingVESA_800x600_60hz = 182, /* 800x600 (60 Hz) SVGA timing. */
- timingVESA_800x600_72hz = 184, /* 800x600 (72 Hz) SVGA timing. */
- timingVESA_800x600_75hz = 186, /* 800x600 (75 Hz) SVGA timing. */
- timingVESA_800x600_85hz = 188, /* 800x600 (85 Hz) SVGA timing. */
- timingVESA_1024x768_60hz = 190, /* 1024x768 (60 Hz) VESA 1K-60Hz timing. */
- timingVESA_1024x768_70hz = 200, /* 1024x768 (70 Hz) VESA 1K-70Hz timing. */
- timingVESA_1024x768_75hz = 204, /* 1024x768 (75 Hz) VESA 1K-75Hz timing (very similar to timingApple_1024x768_75hz). */
- timingVESA_1024x768_85hz = 208, /* 1024x768 (85 Hz) VESA timing. */
- timingApple_1024x768_75hz = 210, /* 1024x768 (75 Hz) Apple 19" RGB. */
- timingApple_1152x870_75hz = 220, /* 1152x870 (75 Hz) Apple 21" RGB. */
- timingAppleNTSC_ST = 230, /* 512x384 (60 Hz, interlaced, non-convolved). */
- timingAppleNTSC_FF = 232, /* 640x480 (60 Hz, interlaced, non-convolved). */
- timingAppleNTSC_STconv = 234, /* 512x384 (60 Hz, interlaced, convolved). */
- timingAppleNTSC_FFconv = 236, /* 640x480 (60 Hz, interlaced, convolved). */
- timingApplePAL_ST = 238, /* 640x480 (50 Hz, interlaced, non-convolved). */
- timingApplePAL_FF = 240, /* 768x576 (50 Hz, interlaced, non-convolved). */
- timingApplePAL_STconv = 242, /* 640x480 (50 Hz, interlaced, convolved). */
- timingApplePAL_FFconv = 244, /* 768x576 (50 Hz, interlaced, convolved). */
- timingVESA_1280x960_75hz = 250, /* 1280x960 (75 Hz) */
- timingVESA_1280x960_60hz = 252, /* 1280x960 (60 Hz) */
- timingVESA_1280x960_85hz = 254, /* 1280x960 (85 Hz) */
- timingVESA_1280x1024_60hz = 260, /* 1280x1024 (60 Hz) */
- timingVESA_1280x1024_75hz = 262, /* 1280x1024 (75 Hz) */
- timingVESA_1280x1024_85hz = 268, /* 1280x1024 (85 Hz) */
- timingVESA_1600x1200_60hz = 280, /* 1600x1200 (60 Hz) VESA timing. */
- timingVESA_1600x1200_65hz = 282, /* 1600x1200 (65 Hz) VESA timing. */
- timingVESA_1600x1200_70hz = 284, /* 1600x1200 (70 Hz) VESA timing. */
- timingVESA_1600x1200_75hz = 286, /* 1600x1200 (75 Hz) VESA timing (pixel clock is 189.2 Mhz dot clock). */
- timingVESA_1600x1200_80hz = 288, /* 1600x1200 (80 Hz) VESA timing (pixel clock is 216>? Mhz dot clock) - proposed only. */
- timingVESA_1600x1200_85hz = 289, /* 1600x1200 (85 Hz) VESA timing (pixel clock is 229.5 Mhz dot clock). */
- timingVESA_1792x1344_60hz = 296, /* 1792x1344 (60 Hz) VESA timing (204.75 Mhz dot clock). */
- timingVESA_1792x1344_75hz = 298, /* 1792x1344 (75 Hz) VESA timing (261.75 Mhz dot clock). */
- timingVESA_1856x1392_60hz = 300, /* 1856x1392 (60 Hz) VESA timing (218.25 Mhz dot clock). */
- timingVESA_1856x1392_75hz = 302, /* 1856x1392 (75 Hz) VESA timing (288 Mhz dot clock). */
- timingVESA_1920x1440_60hz = 304, /* 1920x1440 (60 Hz) VESA timing (234 Mhz dot clock). */
- timingVESA_1920x1440_75hz = 306, /* 1920x1440 (75 Hz) VESA timing (297 Mhz dot clock). */
- timingSMPTE240M_60hz = 400, /* 60Hz V, 33.75KHz H, interlaced timing, 16:9 aspect, typical resolution of 1920x1035. */
- timingFilmRate_48hz = 410, /* 48Hz V, 25.20KHz H, non-interlaced timing, typical resolution of 640x480. */
- timingSony_1600x1024_76hz = 500, /* 1600x1024 (76 Hz) Sony timing (pixel clock is 170.447 Mhz dot clock). */
- timingSony_1920x1080_60hz = 510, /* 1920x1080 (60 Hz) Sony timing (pixel clock is 159.84 Mhz dot clock). */
- timingSony_1920x1080_72hz = 520, /* 1920x1080 (72 Hz) Sony timing (pixel clock is 216.023 Mhz dot clock). */
- timingSony_1920x1200_76hz = 540, /* 1900x1200 (76 Hz) Sony timing (pixel clock is 243.20 Mhz dot clock). */
- timingApple_0x0_0hz_Offline = 550 /* Indicates that this timing will take the display off-line and remove it from the system. */
+enum {
+ timingInvalid = 0, /* Unknown timing... force user to confirm. */
+ timingInvalid_SM_T24 = 8, /* Work around bug in SM Thunder24 card.*/
+ timingApple_FixedRateLCD = 42, /* Lump all fixed-rate LCDs into one category.*/
+ timingApple_512x384_60hz = 130, /* 512x384 (60 Hz) Rubik timing. */
+ timingApple_560x384_60hz = 135, /* 560x384 (60 Hz) Rubik-560 timing. */
+ timingApple_640x480_67hz = 140, /* 640x480 (67 Hz) HR timing. */
+ timingApple_640x400_67hz = 145, /* 640x400 (67 Hz) HR-400 timing. */
+ timingVESA_640x480_60hz = 150, /* 640x480 (60 Hz) VGA timing. */
+ timingVESA_640x480_72hz = 152, /* 640x480 (72 Hz) VGA timing. */
+ timingVESA_640x480_75hz = 154, /* 640x480 (75 Hz) VGA timing. */
+ timingVESA_640x480_85hz = 158, /* 640x480 (85 Hz) VGA timing. */
+ timingGTF_640x480_120hz = 159, /* 640x480 (120 Hz) VESA Generalized Timing Formula */
+ timingApple_640x870_75hz = 160, /* 640x870 (75 Hz) FPD timing.*/
+ timingApple_640x818_75hz = 165, /* 640x818 (75 Hz) FPD-818 timing.*/
+ timingApple_832x624_75hz = 170, /* 832x624 (75 Hz) GoldFish timing.*/
+ timingVESA_800x600_56hz = 180, /* 800x600 (56 Hz) SVGA timing. */
+ timingVESA_800x600_60hz = 182, /* 800x600 (60 Hz) SVGA timing. */
+ timingVESA_800x600_72hz = 184, /* 800x600 (72 Hz) SVGA timing. */
+ timingVESA_800x600_75hz = 186, /* 800x600 (75 Hz) SVGA timing. */
+ timingVESA_800x600_85hz = 188, /* 800x600 (85 Hz) SVGA timing. */
+ timingVESA_1024x768_60hz = 190, /* 1024x768 (60 Hz) VESA 1K-60Hz timing. */
+ timingVESA_1024x768_70hz = 200, /* 1024x768 (70 Hz) VESA 1K-70Hz timing. */
+ timingVESA_1024x768_75hz = 204, /* 1024x768 (75 Hz) VESA 1K-75Hz timing (very similar to timingApple_1024x768_75hz). */
+ timingVESA_1024x768_85hz = 208, /* 1024x768 (85 Hz) VESA timing. */
+ timingApple_1024x768_75hz = 210, /* 1024x768 (75 Hz) Apple 19" RGB. */
+ timingApple_1152x870_75hz = 220, /* 1152x870 (75 Hz) Apple 21" RGB. */
+ timingAppleNTSC_ST = 230, /* 512x384 (60 Hz, interlaced, non-convolved). */
+ timingAppleNTSC_FF = 232, /* 640x480 (60 Hz, interlaced, non-convolved). */
+ timingAppleNTSC_STconv = 234, /* 512x384 (60 Hz, interlaced, convolved). */
+ timingAppleNTSC_FFconv = 236, /* 640x480 (60 Hz, interlaced, convolved). */
+ timingApplePAL_ST = 238, /* 640x480 (50 Hz, interlaced, non-convolved). */
+ timingApplePAL_FF = 240, /* 768x576 (50 Hz, interlaced, non-convolved). */
+ timingApplePAL_STconv = 242, /* 640x480 (50 Hz, interlaced, convolved). */
+ timingApplePAL_FFconv = 244, /* 768x576 (50 Hz, interlaced, convolved). */
+ timingVESA_1280x960_75hz = 250, /* 1280x960 (75 Hz) */
+ timingVESA_1280x960_60hz = 252, /* 1280x960 (60 Hz) */
+ timingVESA_1280x960_85hz = 254, /* 1280x960 (85 Hz) */
+ timingVESA_1280x1024_60hz = 260, /* 1280x1024 (60 Hz) */
+ timingVESA_1280x1024_75hz = 262, /* 1280x1024 (75 Hz) */
+ timingVESA_1280x1024_85hz = 268, /* 1280x1024 (85 Hz) */
+ timingVESA_1600x1200_60hz = 280, /* 1600x1200 (60 Hz) VESA timing. */
+ timingVESA_1600x1200_65hz = 282, /* 1600x1200 (65 Hz) VESA timing. */
+ timingVESA_1600x1200_70hz = 284, /* 1600x1200 (70 Hz) VESA timing. */
+ timingVESA_1600x1200_75hz = 286, /* 1600x1200 (75 Hz) VESA timing (pixel clock is 189.2 Mhz dot clock). */
+ timingVESA_1600x1200_80hz = 288, /* 1600x1200 (80 Hz) VESA timing (pixel clock is 216>? Mhz dot clock) - proposed only. */
+ timingVESA_1600x1200_85hz = 289, /* 1600x1200 (85 Hz) VESA timing (pixel clock is 229.5 Mhz dot clock). */
+ timingVESA_1792x1344_60hz = 296, /* 1792x1344 (60 Hz) VESA timing (204.75 Mhz dot clock). */
+ timingVESA_1792x1344_75hz = 298, /* 1792x1344 (75 Hz) VESA timing (261.75 Mhz dot clock). */
+ timingVESA_1856x1392_60hz = 300, /* 1856x1392 (60 Hz) VESA timing (218.25 Mhz dot clock). */
+ timingVESA_1856x1392_75hz = 302, /* 1856x1392 (75 Hz) VESA timing (288 Mhz dot clock). */
+ timingVESA_1920x1440_60hz = 304, /* 1920x1440 (60 Hz) VESA timing (234 Mhz dot clock). */
+ timingVESA_1920x1440_75hz = 306, /* 1920x1440 (75 Hz) VESA timing (297 Mhz dot clock). */
+ timingSMPTE240M_60hz = 400, /* 60Hz V, 33.75KHz H, interlaced timing, 16:9 aspect, typical resolution of 1920x1035. */
+ timingFilmRate_48hz = 410, /* 48Hz V, 25.20KHz H, non-interlaced timing, typical resolution of 640x480. */
+ timingSony_1600x1024_76hz = 500, /* 1600x1024 (76 Hz) Sony timing (pixel clock is 170.447 Mhz dot clock). */
+ timingSony_1920x1080_60hz = 510, /* 1920x1080 (60 Hz) Sony timing (pixel clock is 159.84 Mhz dot clock). */
+ timingSony_1920x1080_72hz = 520, /* 1920x1080 (72 Hz) Sony timing (pixel clock is 216.023 Mhz dot clock). */
+ timingSony_1920x1200_76hz = 540, /* 1900x1200 (76 Hz) Sony timing (pixel clock is 243.20 Mhz dot clock). */
+ timingApple_0x0_0hz_Offline = 550 /* Indicates that this timing will take the display off-line and remove it from the system. */
};
/* Deprecated timing names.*/
-enum
-{
- timingApple12 = timingApple_512x384_60hz,
- timingApple12x = timingApple_560x384_60hz,
- timingApple13 = timingApple_640x480_67hz,
- timingApple13x = timingApple_640x400_67hz,
- timingAppleVGA = timingVESA_640x480_60hz,
- timingApple15 = timingApple_640x870_75hz,
- timingApple15x = timingApple_640x818_75hz,
- timingApple16 = timingApple_832x624_75hz,
- timingAppleSVGA = timingVESA_800x600_56hz,
- timingApple1Ka = timingVESA_1024x768_60hz,
- timingApple1Kb = timingVESA_1024x768_70hz,
- timingApple19 = timingApple_1024x768_75hz,
- timingApple21 = timingApple_1152x870_75hz,
- timingSony_1900x1200_74hz = 530, /* 1900x1200 (74 Hz) Sony timing (pixel clock is 236.25 Mhz dot clock). */
- timingSony_1900x1200_76hz = timingSony_1920x1200_76hz /* 1900x1200 (76 Hz) Sony timing (pixel clock is 245.48 Mhz dot clock). */
+enum {
+ timingApple12 = timingApple_512x384_60hz,
+ timingApple12x = timingApple_560x384_60hz,
+ timingApple13 = timingApple_640x480_67hz,
+ timingApple13x = timingApple_640x400_67hz,
+ timingAppleVGA = timingVESA_640x480_60hz,
+ timingApple15 = timingApple_640x870_75hz,
+ timingApple15x = timingApple_640x818_75hz,
+ timingApple16 = timingApple_832x624_75hz,
+ timingAppleSVGA = timingVESA_800x600_56hz,
+ timingApple1Ka = timingVESA_1024x768_60hz,
+ timingApple1Kb = timingVESA_1024x768_70hz,
+ timingApple19 = timingApple_1024x768_75hz,
+ timingApple21 = timingApple_1152x870_75hz,
+ timingSony_1900x1200_74hz = 530, /* 1900x1200 (74 Hz) Sony timing (pixel clock is 236.25 Mhz dot clock). */
+ timingSony_1900x1200_76hz = timingSony_1920x1200_76hz /* 1900x1200 (76 Hz) Sony timing (pixel clock is 245.48 Mhz dot clock). */
};
/* csConnectFlags values in VDDisplayConnectInfo */
-enum
-{
- kAllModesValid = 0, /* All modes not trimmed by primary init are good close enough to try */
- kAllModesSafe = 1, /* All modes not trimmed by primary init are know to be safe */
- kReportsTagging = 2, /* Can detect tagged displays (to identify smart monitors) */
- kHasDirectConnection = 3, /* True implies that driver can talk directly to device (e.g. serial data link via sense lines) */
- kIsMonoDev = 4, /* Says whether there's an RGB (0) or Monochrome (1) connection. */
- kUncertainConnection = 5, /* There may not be a display (no sense lines?). */
- kTaggingInfoNonStandard = 6, /* Set when csConnectTaggedType/csConnectTaggedData are non-standard (i.e., not the Apple CRT sense codes). */
- kReportsDDCConnection = 7, /* Card can do ddc (set kHasDirectConnect && kHasDDCConnect if you actually found a ddc display). */
- kHasDDCConnection = 8, /* Card has ddc connect now. */
- kConnectionInactive = 9, /* Set when the connection is NOT currently active (generally used in a multiconnection environment). */
- kDependentConnection = 10, /* Set when some ascpect of THIS connection depends on another (will generally be set in a kModeSimulscan environment). */
- kBuiltInConnection = 11, /* Set when connection is KNOWN to be built-in (this is not the same as kHasDirectConnection). */
- kOverrideConnection = 12, /* Set when the reported connection is not the true one, but is one that has been forced through a SetConnection call */
- kFastCheckForDDC = 13, /* Set when all 3 are true: 1) sense codes indicate DDC display could be attached 2) attempted fast check 3) DDC failed */
- kReportsHotPlugging = 14 /* Detects and reports hot pluggging on connector (via VSL also implies DDC will be up to date w/o force read) */
+enum {
+ kAllModesValid = 0, /* All modes not trimmed by primary init are good close enough to try */
+ kAllModesSafe = 1, /* All modes not trimmed by primary init are know to be safe */
+ kReportsTagging = 2, /* Can detect tagged displays (to identify smart monitors) */
+ kHasDirectConnection = 3, /* True implies that driver can talk directly to device (e.g. serial data link via sense lines) */
+ kIsMonoDev = 4, /* Says whether there's an RGB (0) or Monochrome (1) connection. */
+ kUncertainConnection = 5, /* There may not be a display (no sense lines?). */
+ kTaggingInfoNonStandard = 6, /* Set when csConnectTaggedType/csConnectTaggedData are non-standard (i.e., not the Apple CRT sense codes). */
+ kReportsDDCConnection = 7, /* Card can do ddc (set kHasDirectConnect && kHasDDCConnect if you actually found a ddc display). */
+ kHasDDCConnection = 8, /* Card has ddc connect now. */
+ kConnectionInactive = 9, /* Set when the connection is NOT currently active (generally used in a multiconnection environment). */
+ kDependentConnection = 10, /* Set when some ascpect of THIS connection depends on another (will generally be set in a kModeSimulscan environment). */
+ kBuiltInConnection = 11, /* Set when connection is KNOWN to be built-in (this is not the same as kHasDirectConnection). */
+ kOverrideConnection = 12, /* Set when the reported connection is not the true one, but is one that has been forced through a SetConnection call */
+ kFastCheckForDDC = 13, /* Set when all 3 are true: 1) sense codes indicate DDC display could be attached 2) attempted fast check 3) DDC failed */
+ kReportsHotPlugging = 14 /* Detects and reports hot pluggging on connector (via VSL also implies DDC will be up to date w/o force read) */
};
/* csDisplayType values in VDDisplayConnectInfo */
-enum
-{
- kUnknownConnect = 1, /* Not sure how we'll use this, but seems like a good idea. */
- kPanelConnect = 2, /* For use with fixed-in-place LCD panels. */
- kPanelTFTConnect = 2, /* Alias for kPanelConnect */
- kFixedModeCRTConnect = 3, /* For use with fixed-mode (i.e., very limited range) displays. */
- kMultiModeCRT1Connect = 4, /* 320x200 maybe, 12" maybe, 13" (default), 16" certain, 19" maybe, 21" maybe */
- kMultiModeCRT2Connect = 5, /* 320x200 maybe, 12" maybe, 13" certain, 16" (default), 19" certain, 21" maybe */
- kMultiModeCRT3Connect = 6, /* 320x200 maybe, 12" maybe, 13" certain, 16" certain, 19" default, 21" certain */
- kMultiModeCRT4Connect = 7, /* Expansion to large multi mode (not yet used) */
- kModelessConnect = 8, /* Expansion to modeless model (not yet used) */
- kFullPageConnect = 9, /* 640x818 (to get 8bpp in 512K case) and 640x870 (these two only) */
- kVGAConnect = 10, /* 640x480 VGA default -- question everything else */
- kNTSCConnect = 11, /* NTSC ST (default), FF, STconv, FFconv */
- kPALConnect = 12, /* PAL ST (default), FF, STconv, FFconv */
- kHRConnect = 13, /* Straight-6 connect -- 640x480 and 640x400 (to get 8bpp in 256K case) (these two only) */
- kPanelFSTNConnect = 14, /* For use with fixed-in-place LCD FSTN (aka "Supertwist") panels */
- kMonoTwoPageConnect = 15, /* 1152x870 Apple color two-page display */
- kColorTwoPageConnect = 16, /* 1152x870 Apple B&W two-page display */
- kColor16Connect = 17, /* 832x624 Apple B&W two-page display */
- kColor19Connect = 18, /* 1024x768 Apple B&W two-page display */
- kGenericCRT = 19, /* Indicates nothing except that connection is CRT in nature. */
- kGenericLCD = 20, /* Indicates nothing except that connection is LCD in nature. */
- kDDCConnect = 21, /* DDC connection, always set kHasDDCConnection */
- kNoConnect = 22 /* No display is connected - load sensing or similar level of hardware detection is assumed (used by resident drivers that support hot plugging when nothing is currently connected) */
+enum {
+ kUnknownConnect = 1, /* Not sure how we'll use this, but seems like a good idea. */
+ kPanelConnect = 2, /* For use with fixed-in-place LCD panels. */
+ kPanelTFTConnect = 2, /* Alias for kPanelConnect */
+ kFixedModeCRTConnect = 3, /* For use with fixed-mode (i.e., very limited range) displays. */
+ kMultiModeCRT1Connect = 4, /* 320x200 maybe, 12" maybe, 13" (default), 16" certain, 19" maybe, 21" maybe */
+ kMultiModeCRT2Connect = 5, /* 320x200 maybe, 12" maybe, 13" certain, 16" (default), 19" certain, 21" maybe */
+ kMultiModeCRT3Connect = 6, /* 320x200 maybe, 12" maybe, 13" certain, 16" certain, 19" default, 21" certain */
+ kMultiModeCRT4Connect = 7, /* Expansion to large multi mode (not yet used) */
+ kModelessConnect = 8, /* Expansion to modeless model (not yet used) */
+ kFullPageConnect = 9, /* 640x818 (to get 8bpp in 512K case) and 640x870 (these two only) */
+ kVGAConnect = 10, /* 640x480 VGA default -- question everything else */
+ kNTSCConnect = 11, /* NTSC ST (default), FF, STconv, FFconv */
+ kPALConnect = 12, /* PAL ST (default), FF, STconv, FFconv */
+ kHRConnect = 13, /* Straight-6 connect -- 640x480 and 640x400 (to get 8bpp in 256K case) (these two only) */
+ kPanelFSTNConnect = 14, /* For use with fixed-in-place LCD FSTN (aka "Supertwist") panels */
+ kMonoTwoPageConnect = 15, /* 1152x870 Apple color two-page display */
+ kColorTwoPageConnect = 16, /* 1152x870 Apple B&W two-page display */
+ kColor16Connect = 17, /* 832x624 Apple B&W two-page display */
+ kColor19Connect = 18, /* 1024x768 Apple B&W two-page display */
+ kGenericCRT = 19, /* Indicates nothing except that connection is CRT in nature. */
+ kGenericLCD = 20, /* Indicates nothing except that connection is LCD in nature. */
+ kDDCConnect = 21, /* DDC connection, always set kHasDDCConnection */
+ kNoConnect = 22 /* No display is connected - load sensing or similar level of hardware detection is assumed (used by resident drivers that support hot plugging when nothing is currently connected) */
};
/* csTimingFlags values in VDTimingInfoRec */
-enum
-{
- kModeValid = 0, /* Says that this mode should NOT be trimmed. */
- kModeSafe = 1, /* This mode does not need confirmation */
- kModeDefault = 2, /* This is the default mode for this type of connection */
- kModeShowNow = 3, /* This mode should always be shown (even though it may require a confirm) */
- kModeNotResize = 4, /* This mode should not be used to resize the display (eg. mode selects a different connector on card) */
- kModeRequiresPan = 5, /* This mode has more pixels than are actually displayed */
- kModeInterlaced = 6, /* This mode is interlaced (single pixel lines look bad). */
- kModeShowNever = 7, /* This mode should not be shown in the user interface. */
- kModeSimulscan = 8, /* Indicates that more than one display connection can be driven from a single framebuffer controller. */
- kModeNotPreset = 9, /* Indicates that the timing is not a factory preset for the current display (geometry may need correction) */
- kModeBuiltIn = 10, /* Indicates that the display mode is for the built-in connect only (on multiconnect devices like the PB 3400) Only the driver is quieried */
- kModeStretched = 11 /* Indicates that the display mode will be stretched/distorted to match the display aspect ratio */
+enum {
+ kModeValid = 0, /* Says that this mode should NOT be trimmed. */
+ kModeSafe = 1, /* This mode does not need confirmation */
+ kModeDefault = 2, /* This is the default mode for this type of connection */
+ kModeShowNow = 3, /* This mode should always be shown (even though it may require a confirm) */
+ kModeNotResize = 4, /* This mode should not be used to resize the display (eg. mode selects a different connector on card) */
+ kModeRequiresPan = 5, /* This mode has more pixels than are actually displayed */
+ kModeInterlaced = 6, /* This mode is interlaced (single pixel lines look bad). */
+ kModeShowNever = 7, /* This mode should not be shown in the user interface. */
+ kModeSimulscan = 8, /* Indicates that more than one display connection can be driven from a single framebuffer controller. */
+ kModeNotPreset = 9, /* Indicates that the timing is not a factory preset for the current display (geometry may need correction) */
+ kModeBuiltIn = 10, /* Indicates that the display mode is for the built-in connect only (on multiconnect devices like the PB 3400) Only the driver is quieried */
+ kModeStretched = 11 /* Indicates that the display mode will be stretched/distorted to match the display aspect ratio */
};
/* csDepthFlags in VDVideoParametersInfoRec */
-enum
-{
- kDepthDependent = 0 /* Says that this depth mode may cause dependent changes in other framebuffers (and . */
+enum {
+ kDepthDependent = 0 /* Says that this depth mode may cause dependent changes in other framebuffers (and . */
};
/* csResolutionFlags bit flags for VDResolutionInfoRec */
-enum
-{
- kResolutionHasMultipleDepthSizes = 0 /* Says that this mode has different csHorizontalPixels, csVerticalLines at different depths (usually slightly larger at lower depths) */
-};
-
-
-enum
-{
- /* Power Mode constants for VDPowerStateRec.powerState. Note the numeric order does not match the power state order */
- kAVPowerOff = 0, /* Power fully off*/
- kAVPowerStandby = 1,
- kAVPowerSuspend = 2,
- kAVPowerOn = 3,
- kHardwareSleep = 128,
- kHardwareWake = 129,
- kHardwareWakeFromSuspend = 130,
- kHardwareWakeToDoze = 131,
- kHardwareWakeToDozeFromSuspend = 132
-};
-
-enum
-{
- /* Power Mode masks and bits for VDPowerStateRec.powerFlags. */
- kPowerStateNeedsRefresh = 0, /* When leaving this power mode, a display will need refreshing */
- kPowerStateSleepAwareBit = 1, /* if gestaltPCCardDockingSelectorFix, Docking mgr checks this bit before checking kPowerStateSleepAllowedBit */
- kPowerStateSleepForbiddenBit = 2, /* if kPowerStateSleepAwareBit, Docking mgr checks this bit before sleeping */
- kPowerStateSleepCanPowerOffBit = 3, /* supports power down sleep (ie PCI power off)*/
- kPowerStateSleepNoDPMSBit = 4, /* Bug #2425210. Do not use DPMS with this display.*/
- kPowerStateSleepWaketoDozeBit = 5, /* Supports Wake to Doze */
- kPowerStateNeedsRefreshMask = (1L << kPowerStateNeedsRefresh),
- kPowerStateSleepAwareMask = (1L << kPowerStateSleepAwareBit),
- kPowerStateSleepForbiddenMask = (1L << kPowerStateSleepForbiddenBit),
- kPowerStateSleepCanPowerOffMask = (1L << kPowerStateSleepCanPowerOffBit),
- kPowerStateSleepNoDPMSMask = (1L << kPowerStateSleepNoDPMSBit),
- kPowerStateSleepWaketoDozeMask = (1L << kPowerStateSleepWaketoDozeBit)
-};
-
-
-enum
-{
- /* Control Codes */
- cscReset = 0,
- cscKillIO = 1,
- cscSetMode = 2,
- cscSetEntries = 3,
- cscSetGamma = 4,
- cscGrayPage = 5,
- cscGrayScreen = 5,
- cscSetGray = 6,
- cscSetInterrupt = 7,
- cscDirectSetEntries = 8,
- cscSetDefaultMode = 9,
- cscSwitchMode = 10, /* Takes a VDSwitchInfoPtr */
- cscSetSync = 11, /* Takes a VDSyncInfoPtr */
- cscSavePreferredConfiguration = 16, /* Takes a VDSwitchInfoPtr */
- cscSetHardwareCursor = 22, /* Takes a VDSetHardwareCursorPtr */
- cscDrawHardwareCursor = 23, /* Takes a VDDrawHardwareCursorPtr */
- cscSetConvolution = 24, /* Takes a VDConvolutionInfoPtr */
- cscSetPowerState = 25, /* Takes a VDPowerStatePtr */
- cscPrivateControlCall = 26, /* Takes a VDPrivateSelectorDataPtr */
- cscSetMultiConnect = 28, /* Takes a VDMultiConnectInfoPtr */
- cscSetClutBehavior = 29, /* Takes a VDClutBehavior */
- cscSetDetailedTiming = 31, /* Takes a VDDetailedTimingPtr */
- cscDoCommunication = 33, /* Takes a VDCommunicationPtr */
- cscProbeConnection = 34, /* Takes nil pointer (may generate a kFBConnectInterruptServiceType service interrupt)*/
- cscUnusedCall = 127 /* This call used to expend the scrn resource. Its imbedded data contains more control info */
-};
-
-enum
-{
- /* Status Codes */
- cscGetMode = 2,
- cscGetEntries = 3,
- cscGetPageCnt = 4,
- cscGetPages = 4, /* This is what C&D 2 calls it. */
- cscGetPageBase = 5,
- cscGetBaseAddr = 5, /* This is what C&D 2 calls it. */
- cscGetGray = 6,
- cscGetInterrupt = 7,
- cscGetGamma = 8,
- cscGetDefaultMode = 9,
- cscGetCurMode = 10, /* Takes a VDSwitchInfoPtr */
- cscGetSync = 11, /* Takes a VDSyncInfoPtr */
- cscGetConnection = 12, /* Return information about the connection to the display */
- cscGetModeTiming = 13, /* Return timing info for a mode */
- cscGetModeBaseAddress = 14, /* Return base address information about a particular mode */
- cscGetScanProc = 15, /* QuickTime scan chasing routine */
- cscGetPreferredConfiguration = 16, /* Takes a VDSwitchInfoPtr */
- cscGetNextResolution = 17, /* Takes a VDResolutionInfoPtr */
- cscGetVideoParameters = 18, /* Takes a VDVideoParametersInfoPtr */
- cscGetGammaInfoList = 20, /* Takes a VDGetGammaListPtr */
- cscRetrieveGammaTable = 21, /* Takes a VDRetrieveGammaPtr */
- cscSupportsHardwareCursor = 22, /* Takes a VDSupportsHardwareCursorPtr */
- cscGetHardwareCursorDrawState = 23, /* Takes a VDHardwareCursorDrawStatePtr */
- cscGetConvolution = 24, /* Takes a VDConvolutionInfoPtr */
- cscGetPowerState = 25, /* Takes a VDPowerStatePtr */
- cscPrivateStatusCall = 26, /* Takes a VDPrivateSelectorDataPtr */
- cscGetDDCBlock = 27, /* Takes a VDDDCBlockPtr */
- cscGetMultiConnect = 28, /* Takes a VDMultiConnectInfoPtr */
- cscGetClutBehavior = 29, /* Takes a VDClutBehaviorPtr */
- cscGetTimingRanges = 30, /* Takes a VDDisplayTimingRangePtr */
- cscGetDetailedTiming = 31, /* Takes a VDDetailedTimingPtr */
- cscGetCommunicationInfo = 32 /* Takes a VDCommunicationInfoPtr */
+enum {
+ kResolutionHasMultipleDepthSizes = 0 /* Says that this mode has different csHorizontalPixels, csVerticalLines at different depths (usually slightly larger at lower depths) */
+};
+
+
+enum {
+ /* Power Mode constants for VDPowerStateRec.powerState. Note the numeric order does not match the power state order */
+ kAVPowerOff = 0, /* Power fully off*/
+ kAVPowerStandby = 1,
+ kAVPowerSuspend = 2,
+ kAVPowerOn = 3,
+ kHardwareSleep = 128,
+ kHardwareWake = 129,
+ kHardwareWakeFromSuspend = 130,
+ kHardwareWakeToDoze = 131,
+ kHardwareWakeToDozeFromSuspend = 132
+};
+
+enum {
+ /* Power Mode masks and bits for VDPowerStateRec.powerFlags. */
+ kPowerStateNeedsRefresh = 0, /* When leaving this power mode, a display will need refreshing */
+ kPowerStateSleepAwareBit = 1, /* if gestaltPCCardDockingSelectorFix, Docking mgr checks this bit before checking kPowerStateSleepAllowedBit */
+ kPowerStateSleepForbiddenBit = 2, /* if kPowerStateSleepAwareBit, Docking mgr checks this bit before sleeping */
+ kPowerStateSleepCanPowerOffBit = 3, /* supports power down sleep (ie PCI power off)*/
+ kPowerStateSleepNoDPMSBit = 4, /* Bug #2425210. Do not use DPMS with this display.*/
+ kPowerStateSleepWaketoDozeBit = 5, /* Supports Wake to Doze */
+ kPowerStateNeedsRefreshMask = (1L << kPowerStateNeedsRefresh),
+ kPowerStateSleepAwareMask = (1L << kPowerStateSleepAwareBit),
+ kPowerStateSleepForbiddenMask = (1L << kPowerStateSleepForbiddenBit),
+ kPowerStateSleepCanPowerOffMask = (1L << kPowerStateSleepCanPowerOffBit),
+ kPowerStateSleepNoDPMSMask = (1L << kPowerStateSleepNoDPMSBit),
+ kPowerStateSleepWaketoDozeMask = (1L << kPowerStateSleepWaketoDozeBit)
+};
+
+
+enum {
+ /* Control Codes */
+ cscReset = 0,
+ cscKillIO = 1,
+ cscSetMode = 2,
+ cscSetEntries = 3,
+ cscSetGamma = 4,
+ cscGrayPage = 5,
+ cscGrayScreen = 5,
+ cscSetGray = 6,
+ cscSetInterrupt = 7,
+ cscDirectSetEntries = 8,
+ cscSetDefaultMode = 9,
+ cscSwitchMode = 10, /* Takes a VDSwitchInfoPtr */
+ cscSetSync = 11, /* Takes a VDSyncInfoPtr */
+ cscSavePreferredConfiguration = 16, /* Takes a VDSwitchInfoPtr */
+ cscSetHardwareCursor = 22, /* Takes a VDSetHardwareCursorPtr */
+ cscDrawHardwareCursor = 23, /* Takes a VDDrawHardwareCursorPtr */
+ cscSetConvolution = 24, /* Takes a VDConvolutionInfoPtr */
+ cscSetPowerState = 25, /* Takes a VDPowerStatePtr */
+ cscPrivateControlCall = 26, /* Takes a VDPrivateSelectorDataPtr */
+ cscSetMultiConnect = 28, /* Takes a VDMultiConnectInfoPtr */
+ cscSetClutBehavior = 29, /* Takes a VDClutBehavior */
+ cscSetDetailedTiming = 31, /* Takes a VDDetailedTimingPtr */
+ cscDoCommunication = 33, /* Takes a VDCommunicationPtr */
+ cscProbeConnection = 34, /* Takes nil pointer (may generate a kFBConnectInterruptServiceType service interrupt)*/
+ cscUnusedCall = 127 /* This call used to expend the scrn resource. Its imbedded data contains more control info */
+};
+
+enum {
+ /* Status Codes */
+ cscGetMode = 2,
+ cscGetEntries = 3,
+ cscGetPageCnt = 4,
+ cscGetPages = 4, /* This is what C&D 2 calls it. */
+ cscGetPageBase = 5,
+ cscGetBaseAddr = 5, /* This is what C&D 2 calls it. */
+ cscGetGray = 6,
+ cscGetInterrupt = 7,
+ cscGetGamma = 8,
+ cscGetDefaultMode = 9,
+ cscGetCurMode = 10, /* Takes a VDSwitchInfoPtr */
+ cscGetSync = 11, /* Takes a VDSyncInfoPtr */
+ cscGetConnection = 12, /* Return information about the connection to the display */
+ cscGetModeTiming = 13, /* Return timing info for a mode */
+ cscGetModeBaseAddress = 14, /* Return base address information about a particular mode */
+ cscGetScanProc = 15, /* QuickTime scan chasing routine */
+ cscGetPreferredConfiguration = 16, /* Takes a VDSwitchInfoPtr */
+ cscGetNextResolution = 17, /* Takes a VDResolutionInfoPtr */
+ cscGetVideoParameters = 18, /* Takes a VDVideoParametersInfoPtr */
+ cscGetGammaInfoList = 20, /* Takes a VDGetGammaListPtr */
+ cscRetrieveGammaTable = 21, /* Takes a VDRetrieveGammaPtr */
+ cscSupportsHardwareCursor = 22, /* Takes a VDSupportsHardwareCursorPtr */
+ cscGetHardwareCursorDrawState = 23, /* Takes a VDHardwareCursorDrawStatePtr */
+ cscGetConvolution = 24, /* Takes a VDConvolutionInfoPtr */
+ cscGetPowerState = 25, /* Takes a VDPowerStatePtr */
+ cscPrivateStatusCall = 26, /* Takes a VDPrivateSelectorDataPtr */
+ cscGetDDCBlock = 27, /* Takes a VDDDCBlockPtr */
+ cscGetMultiConnect = 28, /* Takes a VDMultiConnectInfoPtr */
+ cscGetClutBehavior = 29, /* Takes a VDClutBehaviorPtr */
+ cscGetTimingRanges = 30, /* Takes a VDDisplayTimingRangePtr */
+ cscGetDetailedTiming = 31, /* Takes a VDDetailedTimingPtr */
+ cscGetCommunicationInfo = 32 /* Takes a VDCommunicationInfoPtr */
};
/* Bit definitions for the Get/Set Sync call*/
-enum
-{
- kDisableHorizontalSyncBit = 0,
- kDisableVerticalSyncBit = 1,
- kDisableCompositeSyncBit = 2,
- kEnableSyncOnBlue = 3,
- kEnableSyncOnGreen = 4,
- kEnableSyncOnRed = 5,
- kNoSeparateSyncControlBit = 6,
- kTriStateSyncBit = 7,
- kHorizontalSyncMask = 0x01,
- kVerticalSyncMask = 0x02,
- kCompositeSyncMask = 0x04,
- kDPMSSyncMask = 0x07,
- kTriStateSyncMask = 0x80,
- kSyncOnBlueMask = 0x08,
- kSyncOnGreenMask = 0x10,
- kSyncOnRedMask = 0x20,
- kSyncOnMask = 0x38
-};
-
-enum
-{
- /* Power Mode constants for translating DPMS modes to Get/SetSync calls. */
- kDPMSSyncOn = 0,
- kDPMSSyncStandby = 1,
- kDPMSSyncSuspend = 2,
- kDPMSSyncOff = 7
+enum {
+ kDisableHorizontalSyncBit = 0,
+ kDisableVerticalSyncBit = 1,
+ kDisableCompositeSyncBit = 2,
+ kEnableSyncOnBlue = 3,
+ kEnableSyncOnGreen = 4,
+ kEnableSyncOnRed = 5,
+ kNoSeparateSyncControlBit = 6,
+ kTriStateSyncBit = 7,
+ kHorizontalSyncMask = 0x01,
+ kVerticalSyncMask = 0x02,
+ kCompositeSyncMask = 0x04,
+ kDPMSSyncMask = 0x07,
+ kTriStateSyncMask = 0x80,
+ kSyncOnBlueMask = 0x08,
+ kSyncOnGreenMask = 0x10,
+ kSyncOnRedMask = 0x20,
+ kSyncOnMask = 0x38
+};
+
+enum {
+ /* Power Mode constants for translating DPMS modes to Get/SetSync calls. */
+ kDPMSSyncOn = 0,
+ kDPMSSyncStandby = 1,
+ kDPMSSyncSuspend = 2,
+ kDPMSSyncOff = 7
};
/* Bit definitions for the Get/Set Convolution call*/
-enum
-{
- kConvolved = 0,
- kLiveVideoPassThru = 1,
- kConvolvedMask = 0x01,
- kLiveVideoPassThruMask = 0x02
-};
-
-
-struct VPBlock
-{
- long vpBaseOffset; /*Offset to page zero of video RAM (From minorBaseOS).*/
- short vpRowBytes; /*Width of each row of video memory.*/
- Rect vpBounds; /*BoundsRect for the video display (gives dimensions).*/
- short vpVersion; /*PixelMap version number.*/
- short vpPackType;
- long vpPackSize;
- long vpHRes; /*Horizontal resolution of the device (pixels per inch).*/
- long vpVRes; /*Vertical resolution of the device (pixels per inch).*/
- short vpPixelType; /*Defines the pixel type.*/
- short vpPixelSize; /*Number of bits in pixel.*/
- short vpCmpCount; /*Number of components in pixel.*/
- short vpCmpSize; /*Number of bits per component*/
- long vpPlaneBytes; /*Offset from one plane to the next.*/
+enum {
+ kConvolved = 0,
+ kLiveVideoPassThru = 1,
+ kConvolvedMask = 0x01,
+ kLiveVideoPassThruMask = 0x02
+};
+
+
+struct VPBlock {
+ long vpBaseOffset; /*Offset to page zero of video RAM (From minorBaseOS).*/
+ short vpRowBytes; /*Width of each row of video memory.*/
+ Rect vpBounds; /*BoundsRect for the video display (gives dimensions).*/
+ short vpVersion; /*PixelMap version number.*/
+ short vpPackType;
+ long vpPackSize;
+ long vpHRes; /*Horizontal resolution of the device (pixels per inch).*/
+ long vpVRes; /*Vertical resolution of the device (pixels per inch).*/
+ short vpPixelType; /*Defines the pixel type.*/
+ short vpPixelSize; /*Number of bits in pixel.*/
+ short vpCmpCount; /*Number of components in pixel.*/
+ short vpCmpSize; /*Number of bits per component*/
+ long vpPlaneBytes; /*Offset from one plane to the next.*/
};
typedef struct VPBlock VPBlock;
typedef VPBlock * VPBlockPtr;
-struct VDEntryRecord
-{
- Ptr csTable; /*(long) pointer to color table entry=value, r,g,b:INTEGER*/
+struct VDEntryRecord {
+ Ptr csTable; /*(long) pointer to color table entry=value, r,g,b:INTEGER*/
};
typedef struct VDEntryRecord VDEntryRecord;
typedef VDEntryRecord * VDEntRecPtr;
/* Parm block for SetGray control call */
-struct VDGrayRecord
-{
- Boolean csMode; /*Same as GDDevType value (0=color, 1=mono)*/
- SInt8 filler;
+struct VDGrayRecord {
+ Boolean csMode; /*Same as GDDevType value (0=color, 1=mono)*/
+ SInt8 filler;
};
typedef struct VDGrayRecord VDGrayRecord;
typedef VDGrayRecord * VDGrayPtr;
/* Parm block for SetInterrupt call */
-struct VDFlagRecord
-{
- SInt8 csMode;
- SInt8 filler;
+struct VDFlagRecord {
+ SInt8 csMode;
+ SInt8 filler;
};
typedef struct VDFlagRecord VDFlagRecord;
typedef VDFlagRecord * VDFlagRecPtr;
/* Parm block for SetEntries control call */
-struct VDSetEntryRecord
-{
- ColorSpec * csTable; /*Pointer to an array of color specs*/
- short csStart; /*Which spec in array to start with, or -1*/
- short csCount; /*Number of color spec entries to set*/
+struct VDSetEntryRecord {
+ ColorSpec * csTable; /*Pointer to an array of color specs*/
+ short csStart; /*Which spec in array to start with, or -1*/
+ short csCount; /*Number of color spec entries to set*/
};
typedef struct VDSetEntryRecord VDSetEntryRecord;
typedef VDSetEntryRecord * VDSetEntryPtr;
/* Parm block for SetGamma control call */
-struct VDGammaRecord
-{
- Ptr csGTable; /*pointer to gamma table*/
+struct VDGammaRecord {
+ Ptr csGTable; /*pointer to gamma table*/
};
typedef struct VDGammaRecord VDGammaRecord;
typedef VDGammaRecord * VDGamRecPtr;
-struct VDBaseAddressInfoRec
-{
- long csDevData; /* LONGINT - (long) timing mode */
- long csDevBase; /* LONGINT - (long) base address of the mode */
- short csModeReserved; /* INTEGER - (short) will some day be the depth */
- long csModeBase; /* LONGINT - (long) reserved */
+struct VDBaseAddressInfoRec {
+ long csDevData; /* LONGINT - (long) timing mode */
+ long csDevBase; /* LONGINT - (long) base address of the mode */
+ short csModeReserved; /* INTEGER - (short) will some day be the depth */
+ long csModeBase; /* LONGINT - (long) reserved */
};
typedef struct VDBaseAddressInfoRec VDBaseAddressInfoRec;
typedef VDBaseAddressInfoRec * VDBaseAddressInfoPtr;
-struct VDSwitchInfoRec
-{
- unsigned short csMode; /*(word) mode depth*/
- unsigned long csData; /*(long) functional sResource of mode*/
- unsigned short csPage; /*(word) page to switch in*/
- Ptr csBaseAddr; /*(long) base address of page (return value)*/
- unsigned long csReserved; /*(long) Reserved (set to 0) */
+struct VDSwitchInfoRec {
+ unsigned short csMode; /*(word) mode depth*/
+ unsigned long csData; /*(long) functional sResource of mode*/
+ unsigned short csPage; /*(word) page to switch in*/
+ Ptr csBaseAddr; /*(long) base address of page (return value)*/
+ unsigned long csReserved; /*(long) Reserved (set to 0) */
};
typedef struct VDSwitchInfoRec VDSwitchInfoRec;
typedef VDSwitchInfoRec * VDSwitchInfoPtr;
-struct VDTimingInfoRec
-{
- unsigned long csTimingMode; /* LONGINT - (long) timing mode (a la InitGDevice) */
- unsigned long csTimingReserved; /* LONGINT - (long) reserved */
- unsigned long csTimingFormat; /* LONGINT - (long) what format is the timing info */
- unsigned long csTimingData; /* LONGINT - (long) data supplied by driver */
- unsigned long csTimingFlags; /* LONGINT - (long) mode within device */
+struct VDTimingInfoRec {
+ unsigned long csTimingMode; /* LONGINT - (long) timing mode (a la InitGDevice) */
+ unsigned long csTimingReserved; /* LONGINT - (long) reserved */
+ unsigned long csTimingFormat; /* LONGINT - (long) what format is the timing info */
+ unsigned long csTimingData; /* LONGINT - (long) data supplied by driver */
+ unsigned long csTimingFlags; /* LONGINT - (long) mode within device */
};
typedef struct VDTimingInfoRec VDTimingInfoRec;
typedef VDTimingInfoRec * VDTimingInfoPtr;
-struct VDDisplayConnectInfoRec
-{
- unsigned short csDisplayType; /* INTEGER - (word) Type of display connected */
- unsigned char csConnectTaggedType; /* BYTE - type of tagging */
- unsigned char csConnectTaggedData; /* BYTE - tagging data */
- unsigned long csConnectFlags; /* LONGINT - (long) tell us about the connection */
- unsigned long csDisplayComponent; /* LONGINT - (long) if the card has a direct connection to the display, it returns the display component here (FUTURE) */
- unsigned long csConnectReserved; /* LONGINT - (long) reserved */
+struct VDDisplayConnectInfoRec {
+ unsigned short csDisplayType; /* INTEGER - (word) Type of display connected */
+ unsigned char csConnectTaggedType; /* BYTE - type of tagging */
+ unsigned char csConnectTaggedData; /* BYTE - tagging data */
+ unsigned long csConnectFlags; /* LONGINT - (long) tell us about the connection */
+ unsigned long csDisplayComponent; /* LONGINT - (long) if the card has a direct connection to the display, it returns the display component here (FUTURE) */
+ unsigned long csConnectReserved; /* LONGINT - (long) reserved */
};
typedef struct VDDisplayConnectInfoRec VDDisplayConnectInfoRec;
typedef VDDisplayConnectInfoRec * VDDisplayConnectInfoPtr;
-struct VDMultiConnectInfoRec
-{
- unsigned long csDisplayCountOrNumber; /* For GetMultiConnect, returns count n of 1..n connections; otherwise, indicates the ith connection.*/
- VDDisplayConnectInfoRec csConnectInfo; /* Standard VDDisplayConnectionInfo for connection i.*/
+struct VDMultiConnectInfoRec {
+ unsigned long csDisplayCountOrNumber; /* For GetMultiConnect, returns count n of 1..n connections; otherwise, indicates the ith connection.*/
+ VDDisplayConnectInfoRec csConnectInfo; /* Standard VDDisplayConnectionInfo for connection i.*/
};
typedef struct VDMultiConnectInfoRec VDMultiConnectInfoRec;
typedef VDMultiConnectInfoRec * VDMultiConnectInfoPtr;
@@ -528,22 +497,21 @@ typedef VDMultiConnectInfoRec * VDMultiConnectInfoPtr;
o Instruct the frame buffer controller NOT to actively drive any of the monitor sense lines
o Read the state of the monitor sense lines 2, 1, and 0. (2 is the MSB, 0 the LSB)
- IMPORTANT Note:
- When the 'kTaggingInfoNonStandard' bit of 'csConnectFlags' is FALSE, then these constants
- are valid 'csConnectTaggedType' values in 'VDDisplayConnectInfo'
+ IMPORTANT Note:
+ When the 'kTaggingInfoNonStandard' bit of 'csConnectFlags' is FALSE, then these constants
+ are valid 'csConnectTaggedType' values in 'VDDisplayConnectInfo'
*/
typedef unsigned char RawSenseCode;
-enum
-{
- kRSCZero = 0,
- kRSCOne = 1,
- kRSCTwo = 2,
- kRSCThree = 3,
- kRSCFour = 4,
- kRSCFive = 5,
- kRSCSix = 6,
- kRSCSeven = 7
+enum {
+ kRSCZero = 0,
+ kRSCOne = 1,
+ kRSCTwo = 2,
+ kRSCThree = 3,
+ kRSCFour = 4,
+ kRSCFive = 5,
+ kRSCSix = 6,
+ kRSCSeven = 7
};
@@ -554,40 +522,39 @@ enum
For 'standard' sense code hardware, the extended sense code algorithm is as follows:
(Note: as described here, sense line 'A' corresponds to '2', 'B' to '1', and 'C' to '0')
- o Drive sense line 'A' low and read the values of 'B' and 'C'.
+ o Drive sense line 'A' low and read the values of 'B' and 'C'.
o Drive sense line 'B' low and read the values of 'A' and 'C'.
o Drive sense line 'C' low and read the values of 'A' and 'B'.
- In this way, a six-bit number of the form BC/AC/AB is generated.
+ In this way, a six-bit number of the form BC/AC/AB is generated.
- IMPORTANT Note:
- When the 'kTaggingInfoNonStandard' bit of 'csConnectFlags' is FALSE, then these constants
- are valid 'csConnectTaggedData' values in 'VDDisplayConnectInfo'
+ IMPORTANT Note:
+ When the 'kTaggingInfoNonStandard' bit of 'csConnectFlags' is FALSE, then these constants
+ are valid 'csConnectTaggedData' values in 'VDDisplayConnectInfo'
*/
typedef unsigned char ExtendedSenseCode;
-enum
-{
- kESCZero21Inch = 0x00, /* 21" RGB */
- kESCOnePortraitMono = 0x14, /* Portrait Monochrome */
- kESCTwo12Inch = 0x21, /* 12" RGB */
- kESCThree21InchRadius = 0x31, /* 21" RGB (Radius) */
- kESCThree21InchMonoRadius = 0x34, /* 21" Monochrome (Radius) */
- kESCThree21InchMono = 0x35, /* 21" Monochrome */
- kESCFourNTSC = 0x0A, /* NTSC */
- kESCFivePortrait = 0x1E, /* Portrait RGB */
- kESCSixMSB1 = 0x03, /* MultiScan Band-1 (12" thru 1Six") */
- kESCSixMSB2 = 0x0B, /* MultiScan Band-2 (13" thru 19") */
- kESCSixMSB3 = 0x23, /* MultiScan Band-3 (13" thru 21") */
- kESCSixStandard = 0x2B, /* 13"/14" RGB or 12" Monochrome */
- kESCSevenPAL = 0x00, /* PAL */
- kESCSevenNTSC = 0x14, /* NTSC */
- kESCSevenVGA = 0x17, /* VGA */
- kESCSeven16Inch = 0x2D, /* 16" RGB (GoldFish) */
- kESCSevenPALAlternate = 0x30, /* PAL (Alternate) */
- kESCSeven19Inch = 0x3A, /* Third-Party 19" */
- kESCSevenDDC = 0x3E, /* DDC display */
- kESCSevenNoDisplay = 0x3F /* No display connected */
+enum {
+ kESCZero21Inch = 0x00, /* 21" RGB */
+ kESCOnePortraitMono = 0x14, /* Portrait Monochrome */
+ kESCTwo12Inch = 0x21, /* 12" RGB */
+ kESCThree21InchRadius = 0x31, /* 21" RGB (Radius) */
+ kESCThree21InchMonoRadius = 0x34, /* 21" Monochrome (Radius) */
+ kESCThree21InchMono = 0x35, /* 21" Monochrome */
+ kESCFourNTSC = 0x0A, /* NTSC */
+ kESCFivePortrait = 0x1E, /* Portrait RGB */
+ kESCSixMSB1 = 0x03, /* MultiScan Band-1 (12" thru 1Six") */
+ kESCSixMSB2 = 0x0B, /* MultiScan Band-2 (13" thru 19") */
+ kESCSixMSB3 = 0x23, /* MultiScan Band-3 (13" thru 21") */
+ kESCSixStandard = 0x2B, /* 13"/14" RGB or 12" Monochrome */
+ kESCSevenPAL = 0x00, /* PAL */
+ kESCSevenNTSC = 0x14, /* NTSC */
+ kESCSevenVGA = 0x17, /* VGA */
+ kESCSeven16Inch = 0x2D, /* 16" RGB (GoldFish) */
+ kESCSevenPALAlternate = 0x30, /* PAL (Alternate) */
+ kESCSeven19Inch = 0x3A, /* Third-Party 19" */
+ kESCSevenDDC = 0x3E, /* DDC display */
+ kESCSevenNoDisplay = 0x3F /* No display connected */
};
/* DepthMode
@@ -603,80 +570,73 @@ enum
that 'kDepthMode4 < kDepthMode6' behaves as expected.
*/
typedef unsigned short DepthMode;
-enum
-{
- kDepthMode1 = 128,
- kDepthMode2 = 129,
- kDepthMode3 = 130,
- kDepthMode4 = 131,
- kDepthMode5 = 132,
- kDepthMode6 = 133
-};
-
-enum
-{
- kFirstDepthMode = 128, /* These constants are obsolete, and just included */
- kSecondDepthMode = 129, /* for clients that have converted to the above */
- kThirdDepthMode = 130, /* kDepthModeXXX constants. */
- kFourthDepthMode = 131,
- kFifthDepthMode = 132,
- kSixthDepthMode = 133
-};
-
-
-struct VDPageInfo
-{
- short csMode; /*(word) mode within device*/
- long csData; /*(long) data supplied by driver*/
- short csPage; /*(word) page to switch in*/
- Ptr csBaseAddr; /*(long) base address of page*/
+enum {
+ kDepthMode1 = 128,
+ kDepthMode2 = 129,
+ kDepthMode3 = 130,
+ kDepthMode4 = 131,
+ kDepthMode5 = 132,
+ kDepthMode6 = 133
+};
+
+enum {
+ kFirstDepthMode = 128, /* These constants are obsolete, and just included */
+ kSecondDepthMode = 129, /* for clients that have converted to the above */
+ kThirdDepthMode = 130, /* kDepthModeXXX constants. */
+ kFourthDepthMode = 131,
+ kFifthDepthMode = 132,
+ kSixthDepthMode = 133
+};
+
+
+struct VDPageInfo {
+ short csMode; /*(word) mode within device*/
+ long csData; /*(long) data supplied by driver*/
+ short csPage; /*(word) page to switch in*/
+ Ptr csBaseAddr; /*(long) base address of page*/
};
typedef struct VDPageInfo VDPageInfo;
typedef VDPageInfo * VDPgInfoPtr;
-struct VDSizeInfo
-{
- short csHSize; /*(word) desired/returned h size*/
- short csHPos; /*(word) desired/returned h position*/
- short csVSize; /*(word) desired/returned v size*/
- short csVPos; /*(word) desired/returned v position*/
+struct VDSizeInfo {
+ short csHSize; /*(word) desired/returned h size*/
+ short csHPos; /*(word) desired/returned h position*/
+ short csVSize; /*(word) desired/returned v size*/
+ short csVPos; /*(word) desired/returned v position*/
};
typedef struct VDSizeInfo VDSizeInfo;
typedef VDSizeInfo * VDSzInfoPtr;
-struct VDSettings
-{
- short csParamCnt; /*(word) number of params*/
- short csBrightMax; /*(word) max brightness*/
- short csBrightDef; /*(word) default brightness*/
- short csBrightVal; /*(word) current brightness*/
- short csCntrstMax; /*(word) max contrast*/
- short csCntrstDef; /*(word) default contrast*/
- short csCntrstVal; /*(word) current contrast*/
- short csTintMax; /*(word) max tint*/
- short csTintDef; /*(word) default tint*/
- short csTintVal; /*(word) current tint*/
- short csHueMax; /*(word) max hue*/
- short csHueDef; /*(word) default hue*/
- short csHueVal; /*(word) current hue*/
- short csHorizDef; /*(word) default horizontal*/
- short csHorizVal; /*(word) current horizontal*/
- short csHorizMax; /*(word) max horizontal*/
- short csVertDef; /*(word) default vertical*/
- short csVertVal; /*(word) current vertical*/
- short csVertMax; /*(word) max vertical*/
+struct VDSettings {
+ short csParamCnt; /*(word) number of params*/
+ short csBrightMax; /*(word) max brightness*/
+ short csBrightDef; /*(word) default brightness*/
+ short csBrightVal; /*(word) current brightness*/
+ short csCntrstMax; /*(word) max contrast*/
+ short csCntrstDef; /*(word) default contrast*/
+ short csCntrstVal; /*(word) current contrast*/
+ short csTintMax; /*(word) max tint*/
+ short csTintDef; /*(word) default tint*/
+ short csTintVal; /*(word) current tint*/
+ short csHueMax; /*(word) max hue*/
+ short csHueDef; /*(word) default hue*/
+ short csHueVal; /*(word) current hue*/
+ short csHorizDef; /*(word) default horizontal*/
+ short csHorizVal; /*(word) current horizontal*/
+ short csHorizMax; /*(word) max horizontal*/
+ short csVertDef; /*(word) default vertical*/
+ short csVertVal; /*(word) current vertical*/
+ short csVertMax; /*(word) max vertical*/
};
typedef struct VDSettings VDSettings;
typedef VDSettings * VDSettingsPtr;
-struct VDDefMode
-{
- UInt8 csID;
- SInt8 filler;
+struct VDDefMode {
+ UInt8 csID;
+ SInt8 filler;
};
typedef struct VDDefMode VDDefMode;
typedef VDDefMode * VDDefModePtr;
-struct VDSyncInfoRec
-{
- UInt8 csMode;
- UInt8 csFlags;
+struct VDSyncInfoRec {
+ UInt8 csMode;
+ UInt8 csFlags;
};
typedef struct VDSyncInfoRec VDSyncInfoRec;
typedef VDSyncInfoRec * VDSyncInfoPtr;
@@ -690,523 +650,489 @@ typedef UInt32 GammaTableID;
are reserved for Apple Computer.
*/
/* Constants for the cscGetNextResolution call */
-enum
-{
- kDisplayModeIDCurrent = 0x00, /* Reference the Current DisplayModeID */
- kDisplayModeIDInvalid = (long)0xFFFFFFFF, /* A bogus DisplayModeID in all cases */
- kDisplayModeIDFindFirstResolution = (long)0xFFFFFFFE, /* Used in cscGetNextResolution to reset iterator */
- kDisplayModeIDNoMoreResolutions = (long)0xFFFFFFFD, /* Used in cscGetNextResolution to indicate End Of List */
- kDisplayModeIDFindFirstProgrammable = (long)0xFFFFFFFC, /* Used in cscGetNextResolution to find unused programmable timing */
- kDisplayModeIDBootProgrammable = (long)0xFFFFFFFB, /* This is the ID given at boot time by the OF driver to a programmable timing */
- kDisplayModeIDReservedBase = (long)0x80000000 /* Lowest (unsigned) DisplayModeID reserved by Apple */
+enum {
+ kDisplayModeIDCurrent = 0x00, /* Reference the Current DisplayModeID */
+ kDisplayModeIDInvalid = (long)0xFFFFFFFF, /* A bogus DisplayModeID in all cases */
+ kDisplayModeIDFindFirstResolution = (long)0xFFFFFFFE, /* Used in cscGetNextResolution to reset iterator */
+ kDisplayModeIDNoMoreResolutions = (long)0xFFFFFFFD, /* Used in cscGetNextResolution to indicate End Of List */
+ kDisplayModeIDFindFirstProgrammable = (long)0xFFFFFFFC, /* Used in cscGetNextResolution to find unused programmable timing */
+ kDisplayModeIDBootProgrammable = (long)0xFFFFFFFB, /* This is the ID given at boot time by the OF driver to a programmable timing */
+ kDisplayModeIDReservedBase = (long)0x80000000 /* Lowest (unsigned) DisplayModeID reserved by Apple */
};
/* Constants for the GetGammaInfoList call */
-enum
-{
- kGammaTableIDFindFirst = (long)0xFFFFFFFE, /* Get the first gamma table ID */
- kGammaTableIDNoMoreTables = (long)0xFFFFFFFD, /* Used to indicate end of list */
- kGammaTableIDSpecific = 0x00 /* Return the info for the given table id */
+enum {
+ kGammaTableIDFindFirst = (long)0xFFFFFFFE, /* Get the first gamma table ID */
+ kGammaTableIDNoMoreTables = (long)0xFFFFFFFD, /* Used to indicate end of list */
+ kGammaTableIDSpecific = 0x00 /* Return the info for the given table id */
};
/* Constants for GetMultiConnect call*/
-enum
-{
- kGetConnectionCount = (long)0xFFFFFFFF, /* Used to get the number of possible connections in a "multi-headed" framebuffer environment.*/
- kActivateConnection = (0 << kConnectionInactive), /* Used for activating a connection (csConnectFlags value).*/
- kDeactivateConnection = (1 << kConnectionInactive) /* Used for deactivating a connection (csConnectFlags value.)*/
+enum {
+ kGetConnectionCount = (long)0xFFFFFFFF, /* Used to get the number of possible connections in a "multi-headed" framebuffer environment.*/
+ kActivateConnection = (0 << kConnectionInactive), /* Used for activating a connection (csConnectFlags value).*/
+ kDeactivateConnection = (1 << kConnectionInactive) /* Used for deactivating a connection (csConnectFlags value.)*/
};
/* VDCommunicationRec.csBusID values*/
-enum
-{
- kVideoDefaultBus = 0
+enum {
+ kVideoDefaultBus = 0
};
/* VDCommunicationInfoRec.csBusType values*/
-enum
-{
- kVideoBusTypeInvalid = 0,
- kVideoBusTypeI2C = 1
+enum {
+ kVideoBusTypeInvalid = 0,
+ kVideoBusTypeI2C = 1
};
/* VDCommunicationRec.csSendType and VDCommunicationRec.csReplyType values and bits in VDCommunicationInfoRec.csSupportedTypes.*/
-enum
-{
- kVideoNoTransactionType = 0, /* No transaction*/
- kVideoSimpleI2CType = 1, /* Simple I2C message*/
- kVideoDDCciReplyType = 2 /* DDC/ci message (with imbedded length)*/
+enum {
+ kVideoNoTransactionType = 0, /* No transaction*/
+ kVideoSimpleI2CType = 1, /* Simple I2C message*/
+ kVideoDDCciReplyType = 2 /* DDC/ci message (with imbedded length)*/
};
/* VDCommunicationRec.csCommFlags and VDCommunicationInfoRec.csSupportedCommFlags*/
-enum
-{
- kVideoReplyMicroSecDelayMask = (1 << 0) /* If set, the driver should delay csMinReplyDelay micro seconds between send and recieve*/
+enum {
+ kVideoReplyMicroSecDelayMask = (1 << 0) /* If set, the driver should delay csMinReplyDelay micro seconds between send and recieve*/
};
-struct VDResolutionInfoRec
-{
- DisplayModeID csPreviousDisplayModeID; /* ID of the previous resolution in a chain */
- DisplayModeID csDisplayModeID; /* ID of the next resolution */
- unsigned long csHorizontalPixels; /* # of pixels in a horizontal line at the max depth */
- unsigned long csVerticalLines; /* # of lines in a screen at the max depth */
- Fixed csRefreshRate; /* Vertical Refresh Rate in Hz */
- DepthMode csMaxDepthMode; /* 0x80-based number representing max bit depth */
- unsigned long csResolutionFlags; /* Reserved - flag bits */
- unsigned long csReserved; /* Reserved */
+struct VDResolutionInfoRec {
+ DisplayModeID csPreviousDisplayModeID; /* ID of the previous resolution in a chain */
+ DisplayModeID csDisplayModeID; /* ID of the next resolution */
+ unsigned long csHorizontalPixels; /* # of pixels in a horizontal line at the max depth */
+ unsigned long csVerticalLines; /* # of lines in a screen at the max depth */
+ Fixed csRefreshRate; /* Vertical Refresh Rate in Hz */
+ DepthMode csMaxDepthMode; /* 0x80-based number representing max bit depth */
+ unsigned long csResolutionFlags; /* Reserved - flag bits */
+ unsigned long csReserved; /* Reserved */
};
typedef struct VDResolutionInfoRec VDResolutionInfoRec;
typedef VDResolutionInfoRec * VDResolutionInfoPtr;
-struct VDVideoParametersInfoRec
-{
- DisplayModeID csDisplayModeID; /* the ID of the resolution we want info on */
- DepthMode csDepthMode; /* The bit depth we want the info on (0x80 based) */
- VPBlockPtr csVPBlockPtr; /* Pointer to a video parameter block */
- unsigned long csPageCount; /* Number of pages supported by the resolution */
- VideoDeviceType csDeviceType; /* Device Type: Direct, Fixed or CLUT; */
- UInt32 csDepthFlags; /* Flags */
+struct VDVideoParametersInfoRec {
+ DisplayModeID csDisplayModeID; /* the ID of the resolution we want info on */
+ DepthMode csDepthMode; /* The bit depth we want the info on (0x80 based) */
+ VPBlockPtr csVPBlockPtr; /* Pointer to a video parameter block */
+ unsigned long csPageCount; /* Number of pages supported by the resolution */
+ VideoDeviceType csDeviceType; /* Device Type: Direct, Fixed or CLUT; */
+ UInt32 csDepthFlags; /* Flags */
};
typedef struct VDVideoParametersInfoRec VDVideoParametersInfoRec;
typedef VDVideoParametersInfoRec * VDVideoParametersInfoPtr;
-struct VDGammaInfoRec
-{
- GammaTableID csLastGammaID; /* the ID of the previous gamma table */
- GammaTableID csNextGammaID; /* the ID of the next gamma table */
- Ptr csGammaPtr; /* Ptr to a gamma table data */
- unsigned long csReserved; /* Reserved */
+struct VDGammaInfoRec {
+ GammaTableID csLastGammaID; /* the ID of the previous gamma table */
+ GammaTableID csNextGammaID; /* the ID of the next gamma table */
+ Ptr csGammaPtr; /* Ptr to a gamma table data */
+ unsigned long csReserved; /* Reserved */
};
typedef struct VDGammaInfoRec VDGammaInfoRec;
typedef VDGammaInfoRec * VDGammaInfoPtr;
-struct VDGetGammaListRec
-{
- GammaTableID csPreviousGammaTableID; /* ID of the previous gamma table */
- GammaTableID csGammaTableID; /* ID of the gamma table following csPreviousDisplayModeID */
- unsigned long csGammaTableSize; /* Size of the gamma table in bytes */
- char * csGammaTableName; /* Gamma table name (c-string) */
+struct VDGetGammaListRec {
+ GammaTableID csPreviousGammaTableID; /* ID of the previous gamma table */
+ GammaTableID csGammaTableID; /* ID of the gamma table following csPreviousDisplayModeID */
+ unsigned long csGammaTableSize; /* Size of the gamma table in bytes */
+ char * csGammaTableName; /* Gamma table name (c-string) */
};
typedef struct VDGetGammaListRec VDGetGammaListRec;
typedef VDGetGammaListRec * VDGetGammaListPtr;
-struct VDRetrieveGammaRec
-{
- GammaTableID csGammaTableID; /* ID of gamma table to retrieve */
- GammaTbl * csGammaTablePtr; /* Location to copy desired gamma to */
+struct VDRetrieveGammaRec {
+ GammaTableID csGammaTableID; /* ID of gamma table to retrieve */
+ GammaTbl * csGammaTablePtr; /* Location to copy desired gamma to */
};
typedef struct VDRetrieveGammaRec VDRetrieveGammaRec;
typedef VDRetrieveGammaRec * VDRetrieveGammaPtr;
-struct VDSetHardwareCursorRec
-{
- void * csCursorRef; /* reference to cursor data */
- UInt32 csReserved1; /* reserved for future use */
- UInt32 csReserved2; /* should be ignored */
+struct VDSetHardwareCursorRec {
+ void * csCursorRef; /* reference to cursor data */
+ UInt32 csReserved1; /* reserved for future use */
+ UInt32 csReserved2; /* should be ignored */
};
typedef struct VDSetHardwareCursorRec VDSetHardwareCursorRec;
typedef VDSetHardwareCursorRec * VDSetHardwareCursorPtr;
-struct VDDrawHardwareCursorRec
-{
- SInt32 csCursorX; /* x coordinate */
- SInt32 csCursorY; /* y coordinate */
- UInt32 csCursorVisible; /* true if cursor is must be visible */
- UInt32 csReserved1; /* reserved for future use */
- UInt32 csReserved2; /* should be ignored */
+struct VDDrawHardwareCursorRec {
+ SInt32 csCursorX; /* x coordinate */
+ SInt32 csCursorY; /* y coordinate */
+ UInt32 csCursorVisible; /* true if cursor is must be visible */
+ UInt32 csReserved1; /* reserved for future use */
+ UInt32 csReserved2; /* should be ignored */
};
typedef struct VDDrawHardwareCursorRec VDDrawHardwareCursorRec;
typedef VDDrawHardwareCursorRec * VDDrawHardwareCursorPtr;
-struct VDSupportsHardwareCursorRec
-{
- UInt32 csSupportsHardwareCursor;
- /* true if hardware cursor is supported */
- UInt32 csReserved1; /* reserved for future use */
- UInt32 csReserved2; /* must be zero */
+struct VDSupportsHardwareCursorRec {
+ UInt32 csSupportsHardwareCursor;
+ /* true if hardware cursor is supported */
+ UInt32 csReserved1; /* reserved for future use */
+ UInt32 csReserved2; /* must be zero */
};
typedef struct VDSupportsHardwareCursorRec VDSupportsHardwareCursorRec;
typedef VDSupportsHardwareCursorRec * VDSupportsHardwareCursorPtr;
-struct VDHardwareCursorDrawStateRec
-{
- SInt32 csCursorX; /* x coordinate */
- SInt32 csCursorY; /* y coordinate */
- UInt32 csCursorVisible; /* true if cursor is visible */
- UInt32 csCursorSet; /* true if cursor successfully set by last set control call */
- UInt32 csReserved1; /* reserved for future use */
- UInt32 csReserved2; /* must be zero */
+struct VDHardwareCursorDrawStateRec {
+ SInt32 csCursorX; /* x coordinate */
+ SInt32 csCursorY; /* y coordinate */
+ UInt32 csCursorVisible; /* true if cursor is visible */
+ UInt32 csCursorSet; /* true if cursor successfully set by last set control call */
+ UInt32 csReserved1; /* reserved for future use */
+ UInt32 csReserved2; /* must be zero */
};
typedef struct VDHardwareCursorDrawStateRec VDHardwareCursorDrawStateRec;
typedef VDHardwareCursorDrawStateRec * VDHardwareCursorDrawStatePtr;
-struct VDConvolutionInfoRec
-{
- DisplayModeID csDisplayModeID; /* the ID of the resolution we want info on */
- DepthMode csDepthMode; /* The bit depth we want the info on (0x80 based) */
- unsigned long csPage;
- UInt32 csFlags;
- UInt32 csReserved;
+struct VDConvolutionInfoRec {
+ DisplayModeID csDisplayModeID; /* the ID of the resolution we want info on */
+ DepthMode csDepthMode; /* The bit depth we want the info on (0x80 based) */
+ unsigned long csPage;
+ UInt32 csFlags;
+ UInt32 csReserved;
};
typedef struct VDConvolutionInfoRec VDConvolutionInfoRec;
typedef VDConvolutionInfoRec * VDConvolutionInfoPtr;
-struct VDPowerStateRec
-{
- unsigned long powerState;
- unsigned long powerFlags;
+struct VDPowerStateRec {
+ unsigned long powerState;
+ unsigned long powerFlags;
- unsigned long powerReserved1;
- unsigned long powerReserved2;
+ unsigned long powerReserved1;
+ unsigned long powerReserved2;
};
typedef struct VDPowerStateRec VDPowerStateRec;
typedef VDPowerStateRec * VDPowerStatePtr;
/*
Private Data to video drivers.
-
- In versions of MacOS with multiple address spaces (System 8), the OS
+
+ In versions of MacOS with multiple address spaces (System 8), the OS
must know the extent of parameters in order to move them between the caller
and driver. The old private-selector model for video drivers does not have
this information so:
-
+
For post-7.x Systems private calls should be implemented using the cscPrivateCall
*/
-struct VDPrivateSelectorDataRec
-{
- LogicalAddress privateParameters; /* Caller's parameters*/
- ByteCount privateParametersSize; /* Size of data sent from caller to driver*/
- LogicalAddress privateResults; /* Caller's return area. Can be nil, or same as privateParameters.*/
- ByteCount privateResultsSize; /* Size of data driver returns to caller. Can be nil, or same as privateParametersSize.*/
+struct VDPrivateSelectorDataRec {
+ LogicalAddress privateParameters; /* Caller's parameters*/
+ ByteCount privateParametersSize; /* Size of data sent from caller to driver*/
+ LogicalAddress privateResults; /* Caller's return area. Can be nil, or same as privateParameters.*/
+ ByteCount privateResultsSize; /* Size of data driver returns to caller. Can be nil, or same as privateParametersSize.*/
};
typedef struct VDPrivateSelectorDataRec VDPrivateSelectorDataRec;
-struct VDPrivateSelectorRec
-{
- UInt32 reserved; /* Reserved (set to 0). */
- VDPrivateSelectorDataRec data[1];
+struct VDPrivateSelectorRec {
+ UInt32 reserved; /* Reserved (set to 0). */
+ VDPrivateSelectorDataRec data[1];
};
typedef struct VDPrivateSelectorRec VDPrivateSelectorRec;
-struct VDDDCBlockRec
-{
- UInt32 ddcBlockNumber; /* Input -- DDC EDID (Extended Display Identification Data) number (1-based) */
- ResType ddcBlockType; /* Input -- DDC block type (EDID/VDIF) */
- UInt32 ddcFlags; /* Input -- DDC Flags*/
- UInt32 ddcReserved; /* Reserved */
- Byte ddcBlockData[128]; /* Output -- DDC EDID/VDIF data (kDDCBlockSize) */
+struct VDDDCBlockRec {
+ UInt32 ddcBlockNumber; /* Input -- DDC EDID (Extended Display Identification Data) number (1-based) */
+ ResType ddcBlockType; /* Input -- DDC block type (EDID/VDIF) */
+ UInt32 ddcFlags; /* Input -- DDC Flags*/
+ UInt32 ddcReserved; /* Reserved */
+ Byte ddcBlockData[128]; /* Output -- DDC EDID/VDIF data (kDDCBlockSize) */
};
typedef struct VDDDCBlockRec VDDDCBlockRec;
typedef VDDDCBlockRec * VDDDCBlockPtr;
-enum
-{
- /* timingSyncConfiguration*/
- kSyncInterlaceMask = (1 << 7),
- kSyncAnalogCompositeMask = 0,
- kSyncAnalogCompositeSerrateMask = (1 << 2),
- kSyncAnalogCompositeRGBSyncMask = (1 << 1),
- kSyncAnalogBipolarMask = (1 << 3),
- kSyncAnalogBipolarSerrateMask = (1 << 2),
- kSyncAnalogBipolarSRGBSyncMask = (1 << 1),
- kSyncDigitalCompositeMask = (1 << 4),
- kSyncDigitalCompositeSerrateMask = (1 << 2),
- kSyncDigitalCompositeMatchHSyncMask = (1 << 2),
- kSyncDigitalSeperateMask = (1 << 4) + (1 << 3),
- kSyncDigitalVSyncPositiveMask = (1 << 2),
- kSyncDigitalHSyncPositiveMask = (1 << 1)
+enum {
+ /* timingSyncConfiguration*/
+ kSyncInterlaceMask = (1 << 7),
+ kSyncAnalogCompositeMask = 0,
+ kSyncAnalogCompositeSerrateMask = (1 << 2),
+ kSyncAnalogCompositeRGBSyncMask = (1 << 1),
+ kSyncAnalogBipolarMask = (1 << 3),
+ kSyncAnalogBipolarSerrateMask = (1 << 2),
+ kSyncAnalogBipolarSRGBSyncMask = (1 << 1),
+ kSyncDigitalCompositeMask = (1 << 4),
+ kSyncDigitalCompositeSerrateMask = (1 << 2),
+ kSyncDigitalCompositeMatchHSyncMask = (1 << 2),
+ kSyncDigitalSeperateMask = (1 << 4) + (1 << 3),
+ kSyncDigitalVSyncPositiveMask = (1 << 2),
+ kSyncDigitalHSyncPositiveMask = (1 << 1)
};
-struct VDDisplayTimingRangeRec
-{
- UInt32 csRangeSize; /* Init to sizeof(VDDisplayTimingRangeRec) */
- UInt32 csRangeType; /* Init to 0 */
- UInt32 csRangeVersion; /* Init to 0 */
- UInt32 csRangeReserved; /* Init to 0 */
-
- UInt32 csRangeBlockIndex; /* Requested block (first index is 0)*/
- UInt32 csRangeGroup; /* set to 0 */
- UInt32 csRangeBlockCount; /* # blocks */
- UInt32 csRangeFlags; /* dependent video */
+struct VDDisplayTimingRangeRec {
+ UInt32 csRangeSize; /* Init to sizeof(VDDisplayTimingRangeRec) */
+ UInt32 csRangeType; /* Init to 0 */
+ UInt32 csRangeVersion; /* Init to 0 */
+ UInt32 csRangeReserved; /* Init to 0 */
+
+ UInt32 csRangeBlockIndex; /* Requested block (first index is 0)*/
+ UInt32 csRangeGroup; /* set to 0 */
+ UInt32 csRangeBlockCount; /* # blocks */
+ UInt32 csRangeFlags; /* dependent video */
- UInt64 csMinPixelClock; /* Min dot clock in Hz */
- UInt64 csMaxPixelClock; /* Max dot clock in Hz */
+ UInt64 csMinPixelClock; /* Min dot clock in Hz */
+ UInt64 csMaxPixelClock; /* Max dot clock in Hz */
- UInt32 csMaxPixelError; /* Max dot clock error */
- UInt32 csTimingRangeSyncFlags;
- UInt32 csTimingRangeSignalLevels;
- UInt32 csReserved0;
+ UInt32 csMaxPixelError; /* Max dot clock error */
+ UInt32 csTimingRangeSyncFlags;
+ UInt32 csTimingRangeSignalLevels;
+ UInt32 csReserved0;
- UInt32 csMinFrameRate; /* Hz */
- UInt32 csMaxFrameRate; /* Hz */
- UInt32 csMinLineRate; /* Hz */
- UInt32 csMaxLineRate; /* Hz */
+ UInt32 csMinFrameRate; /* Hz */
+ UInt32 csMaxFrameRate; /* Hz */
+ UInt32 csMinLineRate; /* Hz */
+ UInt32 csMaxLineRate; /* Hz */
- UInt32 csMaxHorizontalTotal; /* Clocks - Maximum total (active + blanking) */
- UInt32 csMaxVerticalTotal; /* Clocks - Maximum total (active + blanking) */
- UInt32 csMaxTotalReserved1; /* Reserved */
- UInt32 csMaxTotalReserved2; /* Reserved */
+ UInt32 csMaxHorizontalTotal; /* Clocks - Maximum total (active + blanking) */
+ UInt32 csMaxVerticalTotal; /* Clocks - Maximum total (active + blanking) */
+ UInt32 csMaxTotalReserved1; /* Reserved */
+ UInt32 csMaxTotalReserved2; /* Reserved */
- /* Some cards require that some timing elements*/
- /* be multiples of a "character size" (often 8*/
- /* clocks). The "xxxxCharSize" fields document*/
- /* those requirements.*/
+ /* Some cards require that some timing elements*/
+ /* be multiples of a "character size" (often 8*/
+ /* clocks). The "xxxxCharSize" fields document*/
+ /* those requirements.*/
- UInt8 csCharSizeHorizontalActive; /* Character size */
- UInt8 csCharSizeHorizontalBlanking; /* Character size */
- UInt8 csCharSizeHorizontalSyncOffset; /* Character size */
- UInt8 csCharSizeHorizontalSyncPulse; /* Character size */
+ UInt8 csCharSizeHorizontalActive; /* Character size */
+ UInt8 csCharSizeHorizontalBlanking; /* Character size */
+ UInt8 csCharSizeHorizontalSyncOffset; /* Character size */
+ UInt8 csCharSizeHorizontalSyncPulse; /* Character size */
- UInt8 csCharSizeVerticalActive; /* Character size */
- UInt8 csCharSizeVerticalBlanking; /* Character size */
- UInt8 csCharSizeVerticalSyncOffset; /* Character size */
- UInt8 csCharSizeVerticalSyncPulse; /* Character size */
+ UInt8 csCharSizeVerticalActive; /* Character size */
+ UInt8 csCharSizeVerticalBlanking; /* Character size */
+ UInt8 csCharSizeVerticalSyncOffset; /* Character size */
+ UInt8 csCharSizeVerticalSyncPulse; /* Character size */
- UInt8 csCharSizeHorizontalBorderLeft; /* Character size */
- UInt8 csCharSizeHorizontalBorderRight; /* Character size */
- UInt8 csCharSizeVerticalBorderTop; /* Character size */
- UInt8 csCharSizeVerticalBorderBottom; /* Character size */
+ UInt8 csCharSizeHorizontalBorderLeft; /* Character size */
+ UInt8 csCharSizeHorizontalBorderRight; /* Character size */
+ UInt8 csCharSizeVerticalBorderTop; /* Character size */
+ UInt8 csCharSizeVerticalBorderBottom; /* Character size */
- UInt8 csCharSizeHorizontalTotal; /* Character size for active + blanking */
- UInt8 csCharSizeVerticalTotal; /* Character size for active + blanking */
- UInt16 csCharSizeReserved1; /* Reserved (Init to 0) */
+ UInt8 csCharSizeHorizontalTotal; /* Character size for active + blanking */
+ UInt8 csCharSizeVerticalTotal; /* Character size for active + blanking */
+ UInt16 csCharSizeReserved1; /* Reserved (Init to 0) */
- UInt32 csMinHorizontalActiveClocks;
- UInt32 csMaxHorizontalActiveClocks;
- UInt32 csMinHorizontalBlankingClocks;
- UInt32 csMaxHorizontalBlankingClocks;
+ UInt32 csMinHorizontalActiveClocks;
+ UInt32 csMaxHorizontalActiveClocks;
+ UInt32 csMinHorizontalBlankingClocks;
+ UInt32 csMaxHorizontalBlankingClocks;
- UInt32 csMinHorizontalSyncOffsetClocks;
- UInt32 csMaxHorizontalSyncOffsetClocks;
- UInt32 csMinHorizontalPulseWidthClocks;
- UInt32 csMaxHorizontalPulseWidthClocks;
+ UInt32 csMinHorizontalSyncOffsetClocks;
+ UInt32 csMaxHorizontalSyncOffsetClocks;
+ UInt32 csMinHorizontalPulseWidthClocks;
+ UInt32 csMaxHorizontalPulseWidthClocks;
- UInt32 csMinVerticalActiveClocks;
- UInt32 csMaxVerticalActiveClocks;
- UInt32 csMinVerticalBlankingClocks;
- UInt32 csMaxVerticalBlankingClocks;
+ UInt32 csMinVerticalActiveClocks;
+ UInt32 csMaxVerticalActiveClocks;
+ UInt32 csMinVerticalBlankingClocks;
+ UInt32 csMaxVerticalBlankingClocks;
- UInt32 csMinVerticalSyncOffsetClocks;
- UInt32 csMaxVerticalSyncOffsetClocks;
- UInt32 csMinVerticalPulseWidthClocks;
- UInt32 csMaxVerticalPulseWidthClocks;
+ UInt32 csMinVerticalSyncOffsetClocks;
+ UInt32 csMaxVerticalSyncOffsetClocks;
+ UInt32 csMinVerticalPulseWidthClocks;
+ UInt32 csMaxVerticalPulseWidthClocks;
- UInt32 csMinHorizontalBorderLeft;
- UInt32 csMaxHorizontalBorderLeft;
- UInt32 csMinHorizontalBorderRight;
- UInt32 csMaxHorizontalBorderRight;
+ UInt32 csMinHorizontalBorderLeft;
+ UInt32 csMaxHorizontalBorderLeft;
+ UInt32 csMinHorizontalBorderRight;
+ UInt32 csMaxHorizontalBorderRight;
- UInt32 csMinVerticalBorderTop;
- UInt32 csMaxVerticalBorderTop;
- UInt32 csMinVerticalBorderBottom;
- UInt32 csMaxVerticalBorderBottom;
+ UInt32 csMinVerticalBorderTop;
+ UInt32 csMaxVerticalBorderTop;
+ UInt32 csMinVerticalBorderBottom;
+ UInt32 csMaxVerticalBorderBottom;
- UInt32 csReserved1; /* Reserved (Init to 0)*/
- UInt32 csReserved2; /* Reserved (Init to 0)*/
- UInt32 csReserved3; /* Reserved (Init to 0)*/
- UInt32 csReserved4; /* Reserved (Init to 0)*/
+ UInt32 csReserved1; /* Reserved (Init to 0)*/
+ UInt32 csReserved2; /* Reserved (Init to 0)*/
+ UInt32 csReserved3; /* Reserved (Init to 0)*/
+ UInt32 csReserved4; /* Reserved (Init to 0)*/
- UInt32 csReserved5; /* Reserved (Init to 0)*/
- UInt32 csReserved6; /* Reserved (Init to 0)*/
- UInt32 csReserved7; /* Reserved (Init to 0)*/
- UInt32 csReserved8; /* Reserved (Init to 0)*/
+ UInt32 csReserved5; /* Reserved (Init to 0)*/
+ UInt32 csReserved6; /* Reserved (Init to 0)*/
+ UInt32 csReserved7; /* Reserved (Init to 0)*/
+ UInt32 csReserved8; /* Reserved (Init to 0)*/
};
typedef struct VDDisplayTimingRangeRec VDDisplayTimingRangeRec;
typedef VDDisplayTimingRangeRec * VDDisplayTimingRangePtr;
-enum
-{
- /* csDisplayModeState*/
- kDMSModeReady = 0, /* Display Mode ID is configured and ready*/
- kDMSModeNotReady = 1, /* Display Mode ID is is being programmed*/
- kDMSModeFree = 2 /* Display Mode ID is not associated with a timing*/
+enum {
+ /* csDisplayModeState*/
+ kDMSModeReady = 0, /* Display Mode ID is configured and ready*/
+ kDMSModeNotReady = 1, /* Display Mode ID is is being programmed*/
+ kDMSModeFree = 2 /* Display Mode ID is not associated with a timing*/
};
/* Video driver Errors -10930 to -10959 */
-enum
-{
- kTimingChangeRestrictedErr = -10930,
- kVideoI2CReplyPendingErr = -10931,
- kVideoI2CTransactionErr = -10932,
- kVideoI2CBusyErr = -10933,
- kVideoI2CTransactionTypeErr = -10934,
- kVideoBufferSizeErr = -10935
+enum {
+ kTimingChangeRestrictedErr = -10930,
+ kVideoI2CReplyPendingErr = -10931,
+ kVideoI2CTransactionErr = -10932,
+ kVideoI2CBusyErr = -10933,
+ kVideoI2CTransactionTypeErr = -10934,
+ kVideoBufferSizeErr = -10935
};
-enum
-{
- /* csTimingRangeSignalLevels*/
- kRangeSupportsSignal_0700_0300_Bit = 0,
- kRangeSupportsSignal_0714_0286_Bit = 1,
- kRangeSupportsSignal_1000_0400_Bit = 2,
- kRangeSupportsSignal_0700_0000_Bit = 3,
- kRangeSupportsSignal_0700_0300_Mask = (1 << kRangeSupportsSignal_0700_0300_Bit),
- kRangeSupportsSignal_0714_0286_Mask = (1 << kRangeSupportsSignal_0714_0286_Bit),
- kRangeSupportsSignal_1000_0400_Mask = (1 << kRangeSupportsSignal_1000_0400_Bit),
- kRangeSupportsSignal_0700_0000_Mask = (1 << kRangeSupportsSignal_0700_0000_Bit)
+enum {
+ /* csTimingRangeSignalLevels*/
+ kRangeSupportsSignal_0700_0300_Bit = 0,
+ kRangeSupportsSignal_0714_0286_Bit = 1,
+ kRangeSupportsSignal_1000_0400_Bit = 2,
+ kRangeSupportsSignal_0700_0000_Bit = 3,
+ kRangeSupportsSignal_0700_0300_Mask = (1 << kRangeSupportsSignal_0700_0300_Bit),
+ kRangeSupportsSignal_0714_0286_Mask = (1 << kRangeSupportsSignal_0714_0286_Bit),
+ kRangeSupportsSignal_1000_0400_Mask = (1 << kRangeSupportsSignal_1000_0400_Bit),
+ kRangeSupportsSignal_0700_0000_Mask = (1 << kRangeSupportsSignal_0700_0000_Bit)
};
-enum
-{
- /* csSignalConfig*/
- kDigitalSignalBit = 0, /* Do not set. Mac OS does not currently support arbitrary digital timings*/
- kAnalogSetupExpectedBit = 1, /* Analog displays - display expects a blank-to-black setup or pedestal. See VESA signal standards.*/
- kDigitalSignalMask = (1 << kDigitalSignalBit),
- kAnalogSetupExpectedMask = (1 << kAnalogSetupExpectedBit)
+enum {
+ /* csSignalConfig*/
+ kDigitalSignalBit = 0, /* Do not set. Mac OS does not currently support arbitrary digital timings*/
+ kAnalogSetupExpectedBit = 1, /* Analog displays - display expects a blank-to-black setup or pedestal. See VESA signal standards.*/
+ kDigitalSignalMask = (1 << kDigitalSignalBit),
+ kAnalogSetupExpectedMask = (1 << kAnalogSetupExpectedBit)
};
-enum
-{
- /* csSignalLevels for analog*/
- kAnalogSignalLevel_0700_0300 = 0,
- kAnalogSignalLevel_0714_0286 = 1,
- kAnalogSignalLevel_1000_0400 = 2,
- kAnalogSignalLevel_0700_0000 = 3
+enum {
+ /* csSignalLevels for analog*/
+ kAnalogSignalLevel_0700_0300 = 0,
+ kAnalogSignalLevel_0714_0286 = 1,
+ kAnalogSignalLevel_1000_0400 = 2,
+ kAnalogSignalLevel_0700_0000 = 3
};
-enum
-{
- /* csTimingRangeSyncFlags*/
- kRangeSupportsSeperateSyncsBit = 0,
- kRangeSupportsSyncOnGreenBit = 1,
- kRangeSupportsCompositeSyncBit = 2,
- kRangeSupportsVSyncSerrationBit = 3,
- kRangeSupportsSeperateSyncsMask = (1 << kRangeSupportsSeperateSyncsBit),
- kRangeSupportsSyncOnGreenMask = (1 << kRangeSupportsSyncOnGreenBit),
- kRangeSupportsCompositeSyncMask = (1 << kRangeSupportsCompositeSyncBit),
- kRangeSupportsVSyncSerrationMask = (1 << kRangeSupportsVSyncSerrationBit)
+enum {
+ /* csTimingRangeSyncFlags*/
+ kRangeSupportsSeperateSyncsBit = 0,
+ kRangeSupportsSyncOnGreenBit = 1,
+ kRangeSupportsCompositeSyncBit = 2,
+ kRangeSupportsVSyncSerrationBit = 3,
+ kRangeSupportsSeperateSyncsMask = (1 << kRangeSupportsSeperateSyncsBit),
+ kRangeSupportsSyncOnGreenMask = (1 << kRangeSupportsSyncOnGreenBit),
+ kRangeSupportsCompositeSyncMask = (1 << kRangeSupportsCompositeSyncBit),
+ kRangeSupportsVSyncSerrationMask = (1 << kRangeSupportsVSyncSerrationBit)
};
-enum
-{
- /* csHorizontalSyncConfig and csVerticalSyncConfig*/
- kSyncPositivePolarityBit = 0, /* Digital separate sync polarity for analog interfaces (0 => negative polarity)*/
- kSyncPositivePolarityMask = (1 << kSyncPositivePolarityBit)
+enum {
+ /* csHorizontalSyncConfig and csVerticalSyncConfig*/
+ kSyncPositivePolarityBit = 0, /* Digital separate sync polarity for analog interfaces (0 => negative polarity)*/
+ kSyncPositivePolarityMask = (1 << kSyncPositivePolarityBit)
};
/* For timings with kDetailedTimingFormat.*/
-struct VDDetailedTimingRec
-{
- UInt32 csTimingSize; /* Init to sizeof(VDDetailedTimingRec)*/
- UInt32 csTimingType; /* Init to 0*/
- UInt32 csTimingVersion; /* Init to 0*/
- UInt32 csTimingReserved; /* Init to 0*/
+struct VDDetailedTimingRec {
+ UInt32 csTimingSize; /* Init to sizeof(VDDetailedTimingRec)*/
+ UInt32 csTimingType; /* Init to 0*/
+ UInt32 csTimingVersion; /* Init to 0*/
+ UInt32 csTimingReserved; /* Init to 0*/
- DisplayModeID csDisplayModeID; /* Init to 0*/
- UInt32 csDisplayModeSeed; /* */
- UInt32 csDisplayModeState; /* Display Mode state*/
- UInt32 csDisplayModeAlias; /* Mode to use when programmed.*/
+ DisplayModeID csDisplayModeID; /* Init to 0*/
+ UInt32 csDisplayModeSeed; /* */
+ UInt32 csDisplayModeState; /* Display Mode state*/
+ UInt32 csDisplayModeAlias; /* Mode to use when programmed.*/
- UInt32 csSignalConfig;
- UInt32 csSignalLevels;
+ UInt32 csSignalConfig;
+ UInt32 csSignalLevels;
- UInt64 csPixelClock; /* Hz*/
+ UInt64 csPixelClock; /* Hz*/
- UInt64 csMinPixelClock; /* Hz - With error what is slowest actual clock */
- UInt64 csMaxPixelClock; /* Hz - With error what is fasted actual clock */
+ UInt64 csMinPixelClock; /* Hz - With error what is slowest actual clock */
+ UInt64 csMaxPixelClock; /* Hz - With error what is fasted actual clock */
- UInt32 csHorizontalActive; /* Pixels*/
- UInt32 csHorizontalBlanking; /* Pixels*/
- UInt32 csHorizontalSyncOffset; /* Pixels*/
- UInt32 csHorizontalSyncPulseWidth; /* Pixels*/
+ UInt32 csHorizontalActive; /* Pixels*/
+ UInt32 csHorizontalBlanking; /* Pixels*/
+ UInt32 csHorizontalSyncOffset; /* Pixels*/
+ UInt32 csHorizontalSyncPulseWidth; /* Pixels*/
- UInt32 csVerticalActive; /* Lines*/
- UInt32 csVerticalBlanking; /* Lines*/
- UInt32 csVerticalSyncOffset; /* Lines*/
- UInt32 csVerticalSyncPulseWidth; /* Lines*/
+ UInt32 csVerticalActive; /* Lines*/
+ UInt32 csVerticalBlanking; /* Lines*/
+ UInt32 csVerticalSyncOffset; /* Lines*/
+ UInt32 csVerticalSyncPulseWidth; /* Lines*/
- UInt32 csHorizontalBorderLeft; /* Pixels*/
- UInt32 csHorizontalBorderRight; /* Pixels*/
- UInt32 csVerticalBorderTop; /* Lines*/
- UInt32 csVerticalBorderBottom; /* Lines*/
+ UInt32 csHorizontalBorderLeft; /* Pixels*/
+ UInt32 csHorizontalBorderRight; /* Pixels*/
+ UInt32 csVerticalBorderTop; /* Lines*/
+ UInt32 csVerticalBorderBottom; /* Lines*/
- UInt32 csHorizontalSyncConfig;
- UInt32 csHorizontalSyncLevel; /* Future use (init to 0)*/
- UInt32 csVerticalSyncConfig;
- UInt32 csVerticalSyncLevel; /* Future use (init to 0)*/
+ UInt32 csHorizontalSyncConfig;
+ UInt32 csHorizontalSyncLevel; /* Future use (init to 0)*/
+ UInt32 csVerticalSyncConfig;
+ UInt32 csVerticalSyncLevel; /* Future use (init to 0)*/
- UInt32 csReserved1; /* Init to 0*/
- UInt32 csReserved2; /* Init to 0*/
- UInt32 csReserved3; /* Init to 0*/
- UInt32 csReserved4; /* Init to 0*/
+ UInt32 csReserved1; /* Init to 0*/
+ UInt32 csReserved2; /* Init to 0*/
+ UInt32 csReserved3; /* Init to 0*/
+ UInt32 csReserved4; /* Init to 0*/
- UInt32 csReserved5; /* Init to 0*/
- UInt32 csReserved6; /* Init to 0*/
- UInt32 csReserved7; /* Init to 0*/
- UInt32 csReserved8; /* Init to 0*/
+ UInt32 csReserved5; /* Init to 0*/
+ UInt32 csReserved6; /* Init to 0*/
+ UInt32 csReserved7; /* Init to 0*/
+ UInt32 csReserved8; /* Init to 0*/
};
typedef struct VDDetailedTimingRec VDDetailedTimingRec;
typedef VDDetailedTimingRec * VDDetailedTimingPtr;
typedef UInt32 VDClutBehavior;
typedef VDClutBehavior * VDClutBehaviorPtr;
-enum
-{
- kSetClutAtSetEntries = 0, /* SetEntries behavior is to update clut during SetEntries call*/
- kSetClutAtVBL = 1 /* SetEntries behavior is to upate clut at next vbl*/
+enum {
+ kSetClutAtSetEntries = 0, /* SetEntries behavior is to update clut during SetEntries call*/
+ kSetClutAtVBL = 1 /* SetEntries behavior is to upate clut at next vbl*/
};
-struct VDCommunicationRec
-{
- SInt32 csBusID; /* kVideoDefaultBus for single headed cards.*/
- UInt32 csCommFlags; /* Always zero*/
- UInt32 csMinReplyDelay; /* Minimum delay between send and reply transactions (units depend on csCommFlags)*/
- UInt32 csReserved2; /* Always zero*/
+struct VDCommunicationRec {
+ SInt32 csBusID; /* kVideoDefaultBus for single headed cards.*/
+ UInt32 csCommFlags; /* Always zero*/
+ UInt32 csMinReplyDelay; /* Minimum delay between send and reply transactions (units depend on csCommFlags)*/
+ UInt32 csReserved2; /* Always zero*/
- UInt32 csSendAddress; /* Usually I2C address (eg 0x6E)*/
- UInt32 csSendType; /* See kVideoSimpleI2CType etc.*/
- LogicalAddress csSendBuffer; /* Pointer to the send buffer*/
- ByteCount csSendSize; /* Number of bytes to send*/
+ UInt32 csSendAddress; /* Usually I2C address (eg 0x6E)*/
+ UInt32 csSendType; /* See kVideoSimpleI2CType etc.*/
+ LogicalAddress csSendBuffer; /* Pointer to the send buffer*/
+ ByteCount csSendSize; /* Number of bytes to send*/
- UInt32 csReplyAddress; /* Address from which to read (eg 0x6F for kVideoDDCciReplyType I2C address)*/
- UInt32 csReplyType; /* See kVideoDDCciReplyType etc.*/
- LogicalAddress csReplyBuffer; /* Pointer to the reply buffer*/
- ByteCount csReplySize; /* Max bytes to reply (size of csReplyBuffer)*/
+ UInt32 csReplyAddress; /* Address from which to read (eg 0x6F for kVideoDDCciReplyType I2C address)*/
+ UInt32 csReplyType; /* See kVideoDDCciReplyType etc.*/
+ LogicalAddress csReplyBuffer; /* Pointer to the reply buffer*/
+ ByteCount csReplySize; /* Max bytes to reply (size of csReplyBuffer)*/
- UInt32 csReserved3;
- UInt32 csReserved4;
- UInt32 csReserved5; /* Always zero*/
- UInt32 csReserved6; /* Always zero*/
+ UInt32 csReserved3;
+ UInt32 csReserved4;
+ UInt32 csReserved5; /* Always zero*/
+ UInt32 csReserved6; /* Always zero*/
};
typedef struct VDCommunicationRec VDCommunicationRec;
typedef VDCommunicationRec * VDCommunicationPtr;
-struct VDCommunicationInfoRec
-{
- SInt32 csBusID; /* kVideoDefaultBus for single headed cards. */
- UInt32 csBusType; /* See kVideoBusI2C etc.*/
- SInt32 csMinBus; /* Minimum bus (usually kVideoDefaultBus). Used to probe additional busses*/
- SInt32 csMaxBus; /* Max bus (usually kVideoDefaultBus). Used to probe additional busses*/
-
- UInt32 csSupportedTypes; /* Bit field for first 32 supported transaction types. Eg. 0x07 => support for kVideoNoTransactionType, kVideoSimpleI2CType and kVideoDDCciReplyType.*/
- UInt32 csSupportedCommFlags; /* Return the flags csCommFlags understood by this driver.*/
- UInt32 csReserved2; /* Always zero*/
- UInt32 csReserved3; /* Always zero*/
-
- UInt32 csReserved4; /* Always zero*/
- UInt32 csReserved5; /* Always zero*/
- UInt32 csReserved6; /* Always zero*/
- UInt32 csReserved7; /* Always zero*/
+struct VDCommunicationInfoRec {
+ SInt32 csBusID; /* kVideoDefaultBus for single headed cards. */
+ UInt32 csBusType; /* See kVideoBusI2C etc.*/
+ SInt32 csMinBus; /* Minimum bus (usually kVideoDefaultBus). Used to probe additional busses*/
+ SInt32 csMaxBus; /* Max bus (usually kVideoDefaultBus). Used to probe additional busses*/
+
+ UInt32 csSupportedTypes; /* Bit field for first 32 supported transaction types. Eg. 0x07 => support for kVideoNoTransactionType, kVideoSimpleI2CType and kVideoDDCciReplyType.*/
+ UInt32 csSupportedCommFlags; /* Return the flags csCommFlags understood by this driver.*/
+ UInt32 csReserved2; /* Always zero*/
+ UInt32 csReserved3; /* Always zero*/
+
+ UInt32 csReserved4; /* Always zero*/
+ UInt32 csReserved5; /* Always zero*/
+ UInt32 csReserved6; /* Always zero*/
+ UInt32 csReserved7; /* Always zero*/
};
typedef struct VDCommunicationInfoRec VDCommunicationInfoRec;
typedef VDCommunicationInfoRec * VDCommunicationInfoPtr;
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/WSMethodInvocation.h b/include/qt/WSMethodInvocation.h
index 878032948..65e458f74 100644
--- a/include/qt/WSMethodInvocation.h
+++ b/include/qt/WSMethodInvocation.h
@@ -1,17 +1,17 @@
/*
File: WSMethodInvocation.h
-
+
Contains: WebServicesCore Method Invocation API
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2002 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 __MIXEDMODE__
#include "MixedMode.h"
@@ -59,948 +59,946 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __WSMETHODINVOCATION__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __WSMETHODINVOCATION__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __WSMETHODINVOCATION__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __WSMETHODINVOCATION__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- enum {
- errWSInternalError = -65793L, /* An internal framework error */
- errWSTransportError = -65794L, /* A network error occured */
- errWSParseError = -65795L, /* The server response wasn't valid XML */
- errWSTimeoutError = -65796L /* The invocation timed out */
- };
-
-
- /*
- * WSTypeID
- *
- * Discussion:
- * Internally, WebServicesCore uses the following enumeration when
- * serializing between CoreFoundation and XML types. Because CFTypes
- * are defined at runtime, it isn't always possible to produce a
- * static mapping to a particular CFTypeRef. This enum and
- * associated API allows for static determination of the expected
- * serialization.
- */
- enum WSTypeID
- {
-
- /*
- * No mapping is known for this type
- */
- eWSUnknownType = 0,
-
- /*
- * CFNullRef
- */
- eWSNullType = 1,
-
- /*
- * CFBooleanRef
- */
- eWSBooleanType = 2,
-
- /*
- * CFNumberRef for 8, 16, 32 bit integers
- */
- eWSIntegerType = 3,
-
- /*
- * CFNumberRef for long double real numbers
- */
- eWSDoubleType = 4,
-
- /*
- * CFStringRef
- */
- eWSStringType = 5,
-
- /*
- * CFDateRef
- */
- eWSDateType = 6,
-
- /*
- * CFDataRef
- */
- eWSDataType = 7,
-
- /*
- * CFArrayRef
- */
- eWSArrayType = 8,
-
- /*
- * CFDictionaryRef
- */
- eWSDictionaryType = 9
- };
- typedef enum WSTypeID WSTypeID;
-
- /*
- * WSGetWSTypeIDFromCFType()
- *
- * Discussion:
- * Returns the WSTypeID associated with CFTypeRef. There is not a
- * one to one mapping between CFTypeID and WSTypesID therefore an
- * actual instance of a CFType must be passed.
- *
- * Parameters:
- *
- * ref:
- * a CFTypeRef object
- *
- * Result:
- * the WSTypeID used in serializing the object. If no WSTypeID
- * matches, eWSUnknownType is returned.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(WSTypeID)
- WSGetWSTypeIDFromCFType(CFTypeRef ref);
-
-
- /*
- * WSGetCFTypeIDFromWSTypeID()
- *
- * Discussion:
- * Returns the CFTypeID that is associated with a given WSTypeID.
- * CFTypeIDs are only valid during a particular instance of a
- * process and should not be used as static values.
- *
- * Parameters:
- *
- * typeID:
- * a WSTypeID constant
- *
- * Result:
- * a CFTypeID, or 0 if not found
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFTypeID)
- WSGetCFTypeIDFromWSTypeID(WSTypeID typeID);
-
-
- typedef CALLBACK_API(void *, WSClientContextRetainCallBackProcPtr)(void * info);
- typedef CALLBACK_API(void , WSClientContextReleaseCallBackProcPtr)(void * info);
- typedef CALLBACK_API(CFStringRef , WSClientContextCopyDescriptionCallBackProcPtr)(void * info);
-
- /*
- * WSClientContext
- *
- * Discussion:
- * Several calls in WebServicesCore take a callback with an optional
- * context pointer. The context is copied and the info pointer
- * retained. When the callback is made, the info pointer is passed
- * to the callback.
- */
- struct WSClientContext
- {
-
- /*
- * set to zero (0)
- */
- CFIndex version;
-
- /*
- * info pointer to be passed to the callback
- */
- void * info;
-
- /*
- * callback made on the info pointer. This field may be NULL.
- */
- WSClientContextRetainCallBackProcPtr retain;
-
- /*
- * callback made on the info pointer. This field may be NULL.
- */
- WSClientContextReleaseCallBackProcPtr release;
-
- /*
- * callback made on the info pointer. This field may be NULL.
- */
- WSClientContextCopyDescriptionCallBackProcPtr copyDescription;
- };
- typedef struct WSClientContext WSClientContext;
- /*
- Web Service protocol types. These constant strings specify the type
- of web service method invocation created. These are passed to
- WSMethodInvocationCreate.
-
- For information on these service types, see:
-
- XML-RPC: <http://www.xml-rpc.com/spec/>
- SOAP 1.1: <http://www.w3.org/TR/SOAP/>
- SOAP 1.2: <http://www.w3.org/2002/ws/>
- */
- extern CFStringRef kWSXMLRPCProtocol;
- extern CFStringRef kWSSOAP1999Protocol;
- extern CFStringRef kWSSOAP2001Protocol;
-
-
- /*
- Dictionary entry if the invocation result is not a fault. This is
- always available in method responses, although for SOAP messages,
- it may be more correctly to query the result dictionary for the
- specific field you're interested in. What this really means is
- that the dictionary returned by the invocation may contain more
- than one value, wherein the result data is duplicated several
- times. If you don't know what to ask for to dump the reply, you
- can ask for this key. If you do know what you want, you should
- request that field expliclty.
-
- You can also specify the name of the reply parameter in the
- invocation using kWSMethodInvocationResultParameterName. This will
- add an alias for the given name to the result dictionary such that
- kWSMethodInvocationResult will always return the correct
- parameter. (This won't work for multi-value returns, however.)
- */
- extern CFStringRef kWSMethodInvocationResult;
- /*
- Dictionary entries if the result is a fault
- */
- extern CFStringRef kWSFaultString; /* a CFString */
- extern CFStringRef kWSFaultCode; /* a CFNumber */
- extern CFStringRef kWSFaultExtra; /* a CFString or CFDictionary, or NULL */
-
- /*
- If the result is a fault, and if the value of kWSFaultString in
- the reply dictionary is kWSNetworkStreamFaultString, then
- kWSFaultExtra will be a dictionary indicating the network error
- and kWSFaultCode is ignored in this case. See
- <CoreFoundation/CFStream.h" for details on what the domain and
- error numbers mean.
- */
- extern CFStringRef kWSNetworkStreamFaultString;
- extern CFStringRef kWSStreamErrorMessage; /* A CFString (for debug purposes only) */
- extern CFStringRef kWSStreamErrorDomain; /* A CFNumberRef */
- extern CFStringRef kWSStreamErrorError; /* A CFNumberRef */
-
- /*
- For HTTP[S] based invocations, you can specify a CFHTTPMessageRef
- as a property which will be used instead of creating a new
- outgoing message. The CFHTTPMessageRef can contain header, proxy
- and authentication information. The body of the message will be
- ignored and replaced with the outgoing, serialized invocation.
-
- After the invocation has executed, you can retrieve a copy of the
- actual CFHTTPMessageRef, containing the details of the invocation
- using kWSHTTPResponseMessage. Attempting to retrieve the response
- message property before the invocation completes will result
- return NULL.
-
- See: <CFNetwork/CFHTTPMessage.h" for more information.
- */
- extern CFStringRef kWSHTTPMessage; /* CFHTTPMessageRef */
- extern CFStringRef kWSHTTPResponseMessage; /* CFHTTPMessageRef */
- /*
- To avoid having to create an entire CFHTTPMessageRef, these properties are
- individually settable. If they are set, they will override any CFHTTPMessageRef
- previously specified.
- */
- extern CFStringRef kWSHTTPVersion; /* "http/1.1" */
- extern CFStringRef kWSHTTPExtraHeaders; /* a CFDictionary of { key (CFString), val (CFString) } pairs */
- extern CFStringRef kWSHTTPProxy; /* CFURfRefL */
- extern CFStringRef kWSHTTPFollowsRedirects; /* kCFBooleanFalse */
- /*
- SOCKS proxy support. WSMethodInvocation uses the same flags as
- CFSocketStream.h in configuring SOCKS proxy support. You can set
- the kCFStreamPropertySOCKSProxy property on the invocation and the
- value will be applied to the underlying stream. See CFSocketStream.h
- for more information and valid keys.
- */
- /*
- These debugging flags will populate the WSInvocationResultRef
- with some potentially useful debugging output. The property
- name of the flag is the same as the the field in the result
- dictionary.
- */
- extern CFStringRef kWSDebugOutgoingHeaders; /* kCFBooleanFalse */
- extern CFStringRef kWSDebugOutgoingBody; /* kCFBooleanFalse */
- extern CFStringRef kWSDebugIncomingHeaders; /* kCFBooleanFalse */
- extern CFStringRef kWSDebugIncomingBody; /* kCFBooleanFalse */
- /*
- Extra properties for SOAP messages. These apply to the message
- namespace and format itself. Individual message elements can
- be modified using the kWSRecord constants below.
- */
- extern CFStringRef kWSSOAPMethodNamespaceURI; /* CFStringRef */
- extern CFStringRef kWSSOAPBodyEncodingStyle; /* CFStringRef { kWSSOAPStyleDoc, kWSSOAPStyleRPC } */
- extern CFStringRef kWSSOAPStyleDoc;
- extern CFStringRef kWSSOAPStyleRPC;
-
- /*
- For SOAP messages, this is an array of CFStringRefs which
- contain valid XML header elements that are sent with the
- message. These are only applicable to the Header of a SOAP
- message.
- */
- extern CFStringRef kWSSOAPMessageHeaders; /* CFArrayRef */
-
- /*
- When serializing a record (dictionary) these keys present in
- the dictionary can modify the behavior of the serialization.
- */
- extern CFStringRef kWSRecordParameterOrder; /* CFArrayRef of CFStringRef */
- extern CFStringRef kWSRecordNamespaceURI; /* CFStringRef */
- extern CFStringRef kWSRecordType; /* CFStringRef */
-
- /*
- Specifies that the result parameter will be found as this name. This
- forces the deserializer to alias the named output parameter to kWSMethodInvocationResult
- */
- extern CFStringRef kWSMethodInvocationResultParameterName;
- /*
- Specifies a timeout (as CFNumber) which specifies in seconds the
- amount of time to wait for the invocation to complete. If the
- invocation times out before the server results are returned,
- a fault will be returned with the error code errWSTimeoutError.
- */
- extern CFStringRef kWSMethodInvocationTimeoutValue;
-
- /*
- * WSMethodInvocationRef
- *
- * Discussion:
- * a WSMethodInvocationRef represents an object that can be executed
- * to obtain a rsult from a web service. This is CFType and is
- * therefore reference counted and and should be managed via
- * CFRetain and CFRelease.
- */
- typedef struct OpaqueWSMethodInvocationRef* WSMethodInvocationRef;
- /*
- * WSMethodInvocationGetTypeID()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFTypeID)
- WSMethodInvocationGetTypeID(void);
-
-
-
- /*
- * WSMethodInvocationCreate()
- *
- * Discussion:
- * Creates a web services method invocation object. This object may
- * be executed synchronously or scheduled on a run loop for
- * asynchronous execution.
- *
- * Parameters:
- *
- * url:
- * the endpoint of the service
- *
- * methodName:
- * the name of the method to be called
- *
- * protocol:
- * a string, defined above, that determines the type of invocation
- * object to create (XML-RPC vs. SOAP)
- *
- * Result:
- * A WSMethodInvocationRef object that can be passed to
- * WSMethodInvocationInvoke or scheduled with a run loop.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(WSMethodInvocationRef)
- WSMethodInvocationCreate(
- CFURLRef url,
- CFStringRef methodName,
- CFStringRef protocol);
-
-
-
- /*
- * WSMethodInvocationCreateFromSerialization()
- *
- * Discussion:
- * Creates a web services method invocation object from a previously
- * serialized contract.
- *
- * Parameters:
- *
- * contract:
- * the result of a previously serialized WSMethodInvocationRef
- *
- * Result:
- * A WSMethodInvocationRef object that can be passed to
- * WSMethodInvocationInvoke or scheduled with a run loop.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(WSMethodInvocationRef)
- WSMethodInvocationCreateFromSerialization(CFDataRef contract);
-
-
-
- /*
- * WSMethodInvocationCopySerialization()
- *
- * Discussion:
- * Create a serialized version of the Method Invocation which can be
- * reconstituted at a later time.
- *
- * Parameters:
- *
- * invocation:
- * the invocation to serialize
- *
- * Result:
- * a CFDataRef
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFDataRef)
- WSMethodInvocationCopySerialization(WSMethodInvocationRef invocation);
-
-
-
- /*
- * WSMethodInvocationSetParameters()
- *
- * Discussion:
- * Set the parameters for a method invocation. The parameterOrder
- * may be NULL, in which case the order of th parameters is
- * undefined. If it is not NULL and the parameters dictionary
- * contains more parameters than are specified by the order, the
- * behavior is undefined. If the parameterOrder specifies more
- * parameters than are present in the dictionary, the result is
- * undefined.
- *
- * Parameters:
- *
- * invocation:
- * the invocation object
- *
- * parameters:
- * a CFDictionaryRef of CFString keys and CFTypeRef values.
- *
- * parameterOrder:
- * a CFArrayRef of CFString parameter names.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- WSMethodInvocationSetParameters(
- WSMethodInvocationRef invocation,
- CFDictionaryRef parameters,
- CFArrayRef parameterOrder); /* can be NULL */
-
-
- /*
- * WSMethodInvocationCopyParameters()
- *
- * Discussion:
- * Copies the parameters from the invocation. The resulting
- * dictionary contains the parameter dictionary. The parameterOrder
- * output parameter, if not NULL, will contain the order used to
- * serialize the parameters.
- *
- * Parameters:
- *
- * invocation:
- * the invocation
- *
- * parameterOrder:
- * a pointer to a CFArray which will will receive the names, in
- * their specified order, of the input parameter values. This
- * parameter may be NULL.
- *
- * Result:
- * a CFDictionaryRef
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFDictionaryRef)
- WSMethodInvocationCopyParameters(
- WSMethodInvocationRef invocation,
- CFArrayRef * parameterOrder); /* can be NULL */
-
-
- /*
- * WSMethodInvocationSetProperty()
- *
- * Discussion:
- * Add "properties" to a method invocation. These properties can be
- * user defined or one of the WebServicesCore declared properties
- * (which may modify the behavior of the invocation.) All
- * WebServicesCore declared properties will start with the string
- * "kWS", eg, kWSHTTPFollowsRedirects. Properties are serialized
- * along with the contract, so you may want to avoid sticking raw
- * pointers in a CFNumber (for example).
- *
- * Parameters:
- *
- * invocation:
- * the invocation
- *
- * propertyName:
- * a CFStringRef name of the property to modify
- *
- * propertyValue:
- * a CFTypeRef containing the new property value
- *
- * Result:
- * none
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- WSMethodInvocationSetProperty(
- WSMethodInvocationRef invocation,
- CFStringRef propertyName,
- CFTypeRef propertyValue);
-
-
-
- /*
- * WSMethodInvocationCopyProperty()
- *
- * Discussion:
- * Return a property from a invocation. If the result is NULL, the
- * property doesn't exist. Being a "Copy" call, you must release
- * the result.
- *
- * Parameters:
- *
- * invocation:
- * the invocation
- *
- * propertyName:
- * the name of the property to retreive
- *
- * Result:
- * the CFTypeRef value of the property, or NULL if the property was
- * not specified.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFTypeRef)
- WSMethodInvocationCopyProperty(
- WSMethodInvocationRef invocation,
- CFStringRef propertyName);
-
-
-
- /*
- * WSMethodInvocationInvoke()
- *
- * Discussion:
- * Execute the invocation. If the call was successful, the result
- * will contain the result of the invocation. If for some reason the
- * invocation failed, including out of memory or invalid parameter
- * errors, then the result will contain a fault structure. You must
- * release the result when you're done with it.
- *
- * Parameters:
- *
- * invocation:
- * the invocation
- *
- * Result:
- * a CFDictionaryRef containing the result of the execution or a
- * fault, and optional debug information.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(CFDictionaryRef)
- WSMethodInvocationInvoke(WSMethodInvocationRef invocation);
-
-
-
- /*
- These calls implemented the asynchronous variant of the WSMethodInvocationInvoke.
-
- The strategy is to schedule the invocation on a given runloop.
- When the invocation completes, it calls the specified callback with
- the result of the execution. The callback is responsible for
- releasing the result ref. Your code is responsible for
- unscheduling the invocation from the run loop, whether it completes
- or not.
-
- You can re-schedule an invocation after it completes.
-
- When you unschedule with the run loop, the CallBack is not called.
-
- If a network error occurs, the kWSFaultString entry of the result
- will contain some textual description of the error, kWSFaultCode
- will contain kWSNetworkingFault and kWSFaultExtra will be a
- dictionary containing two CFNumber values called kWSStreamErrorDomain
- and kWSStreamErrorError.
- */
-
-
- /*
- * WSMethodInvocationCallBackProcPtr
- *
- * Discussion:
- * Prototypes the callback made when an asynchronous invocation
- * completes. This callback is passed a reference to the invocation
- * just completed, a pointer to private data, and a dictionary that
- * contains the return value or falut for this invocation. The
- * callback is responsible for releasing the dictionary when it is
- * no longer used.
- *
- * Parameters:
- *
- * invocation:
- * the invocation just completed
- *
- * info:
- * private callback data
- *
- * outRef:
- * a CFDictionaryRef containing the result of the execution or a
- * fault, and optional debug information.
- */
- typedef CALLBACK_API(void , WSMethodInvocationCallBackProcPtr)(WSMethodInvocationRef invocation, void *info, CFDictionaryRef outRef);
- /*
- * WSMethodInvocationSetCallBack()
- *
- * Discussion:
- * sets the callback for an asynchronous method invocation. Call
- * with a clientCB and context of NULL to clear the invocation
- * callback.
- *
- * Parameters:
- *
- * invocation:
- * the invocation
- *
- * clientCB:
- * a ProcPtr to be called when the invocation completes.
- *
- * context:
- * a pointer to a WSClientContext. The structure will be copied.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- WSMethodInvocationSetCallBack(
- WSMethodInvocationRef invocation,
- WSMethodInvocationCallBackProcPtr clientCB,
- WSClientContext * context);
-
-
-
- /*
- @function WSMethodInvocationScheduleWithRunLoop
-
- @discussion Schedules the invocation to execute on the run loop.
-
- @param invocation
- the invocation
-
- @param runLoop
- the run loop upon which to scheduile the invocation
-
- @param runLoopMode
- the run loop mode
- */
- /*
- * WSMethodInvocationScheduleWithRunLoop()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- WSMethodInvocationScheduleWithRunLoop(
- WSMethodInvocationRef invocation,
- CFRunLoopRef runLoop,
- CFStringRef runLoopMode);
-
-
-
- /*
- @function WSMethodInvocationUnscheduleFromRunLoop
-
- @discussion Unschedules the invocation from a given run loop and
- mode. If the invocation has not yet completed,
- its callback will not be called.
-
-
- @param invocation
- the invocation
-
- @param runLoop
- the run loop upon which to scheduile the invocation
-
- @param runLoopMode
- the run loop mode
- */
- /*
- * WSMethodInvocationUnscheduleFromRunLoop()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- WSMethodInvocationUnscheduleFromRunLoop(
- WSMethodInvocationRef invocation,
- CFRunLoopRef runLoop,
- CFStringRef runLoopMode);
-
-
-
- /*
- Result interrogation.
-
- If the result is a fault, look in the kWSFaultCode, kWSFaultString
- and kWSFaultExtra fields of the resulting dictionary. If not a
- fault, kWSMethodInvocationResult will contain the result of the
- execution. If debugging information was requested, it will be
- available in the dictionary as well.
- */
- /*
- * WSMethodResultIsFault()
- *
- * Discussion:
- * returns TRUE if the method invocation result contains a fault.
- *
- * Parameters:
- *
- * methodResult:
- * the result ref
- *
- * Result:
- * TRUE if the result contains a fault condition
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(Boolean)
- WSMethodResultIsFault(CFDictionaryRef methodResult);
-
-
-
- /*
- Serialization / Deserialization override support.
-
- You can add serialization and deserialization callbacks for custom
- types, or types not otherwise handled by the framework. Note that these
- properties are *not* serialized if the invocation is serialized.
- */
-
-
- /*
- * WSMethodInvocationSerializationProcPtr
- *
- * Discussion:
- * Prototypes the callback function for a custom serialization proc.
- * This callback is called whenever a type has the given CFTypeID.
- * The callback should return an XML snippet that will be understood
- * by the server as a correct serialization for a given type. If
- * the callback returns NULL, the default serializer will be used.
- *
- * Parameters:
- *
- * invocation:
- * the invocation currently being serialized
- *
- * obj:
- * the CFTypeRef to be serialized
- *
- * info:
- * private callback data
- *
- * Result:
- * a CFStringRef containing valid XML. The caller of this callback
- * will release the string.
- */
- typedef CALLBACK_API(CFStringRef , WSMethodInvocationSerializationProcPtr)(WSMethodInvocationRef invocation, CFTypeRef obj, void *info);
- /*
- * WSMethodInvocationAddSerializationOverride()
- *
- * Discussion:
- * Specifies a callback which will be called to produce the XML that
- * represents the serialization of a given type ref. See
- * WSDescription.h for a list of CFTypes for which there currently
- * exist serializers. If your callback returns NULL, the default
- * serializer will be used.
- *
- * Parameters:
- *
- * invocation:
- * the invocation
- *
- * objType:
- * the CFTypeID of the object
- *
- * serializationProc:
- * the callback called
- *
- * context:
- * a pointer to a WSClientContext. The structure will be copied.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- WSMethodInvocationAddSerializationOverride(
- WSMethodInvocationRef invocation,
- CFTypeID objType,
- WSMethodInvocationSerializationProcPtr serializationProc,
- WSClientContext * context);
-
-
-
-
- /*
- * WSMethodInvocationDeserializationProcPtr
- *
- * Discussion:
- * Prototypes the callback function for a custom deserializer. This
- * callback is passed a reference to the invocation currently being
- * executed, the root of the response parse tree, the current node
- * being deserialized, and a pointer to private data. The return
- * result should be a valid CFTypeRef object (which will be released
- * by the caller) or NULL to allow the default deserializer to act.
- *
- * Parameters:
- *
- * invocation:
- * the invocation executing
- *
- * msgRoot:
- * the root tree element
- *
- * deserializeRoot:
- * the tree element that needs to be deserialied
- *
- * info:
- * private callback data
- *
- * Result:
- * a CFTypeRef representing the deserialized data, or NULL to allow
- * the default deserializers to act.
- */
- typedef CALLBACK_API(CFTypeRef , WSMethodInvocationDeserializationProcPtr)(WSMethodInvocationRef invocation, CFXMLTreeRef msgRoot, CFXMLTreeRef deserializeRoot, void *info);
- /*
- * WSMethodInvocationAddDeserializationOverride()
- *
- * Discussion:
- * Specifies a callback to be made when parsing an XML method
- * response. The callback should return a CFTypeRef containing the
- * deserialized object value. If the callback returns NULL, the
- * default deserializer will be used.
- *
- * Parameters:
- *
- * invocation:
- * the invocation
- *
- * typeNamespace:
- * the fully resolved namespace for a specific type. If NULL, the
- * default namespace will be used. For example, this field could
- * be: CFSTR("http://www.w3.org/2001/XMLSchema-instance").
- *
- * typeName:
- * the non-qualified type name. This parameter must not be NULL.
- *
- * deserializationProc:
- * a ProcPtr to be called to perform the deserialization
- *
- * context:
- * a pointer to a WSClientContext. The structure will be copied.
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- WSMethodInvocationAddDeserializationOverride(
- WSMethodInvocationRef invocation,
- CFStringRef typeNamespace,
- CFStringRef typeName,
- WSMethodInvocationDeserializationProcPtr deserializationProc,
- WSClientContext * context);
+enum {
+ errWSInternalError = -65793L, /* An internal framework error */
+ errWSTransportError = -65794L, /* A network error occured */
+ errWSParseError = -65795L, /* The server response wasn't valid XML */
+ errWSTimeoutError = -65796L /* The invocation timed out */
+};
+
+
+/*
+ * WSTypeID
+ *
+ * Discussion:
+ * Internally, WebServicesCore uses the following enumeration when
+ * serializing between CoreFoundation and XML types. Because CFTypes
+ * are defined at runtime, it isn't always possible to produce a
+ * static mapping to a particular CFTypeRef. This enum and
+ * associated API allows for static determination of the expected
+ * serialization.
+ */
+enum WSTypeID {
+
+ /*
+ * No mapping is known for this type
+ */
+ eWSUnknownType = 0,
+
+ /*
+ * CFNullRef
+ */
+ eWSNullType = 1,
+
+ /*
+ * CFBooleanRef
+ */
+ eWSBooleanType = 2,
+
+ /*
+ * CFNumberRef for 8, 16, 32 bit integers
+ */
+ eWSIntegerType = 3,
+
+ /*
+ * CFNumberRef for long double real numbers
+ */
+ eWSDoubleType = 4,
+
+ /*
+ * CFStringRef
+ */
+ eWSStringType = 5,
+
+ /*
+ * CFDateRef
+ */
+ eWSDateType = 6,
+
+ /*
+ * CFDataRef
+ */
+ eWSDataType = 7,
+
+ /*
+ * CFArrayRef
+ */
+ eWSArrayType = 8,
+
+ /*
+ * CFDictionaryRef
+ */
+ eWSDictionaryType = 9
+};
+typedef enum WSTypeID WSTypeID;
+
+/*
+ * WSGetWSTypeIDFromCFType()
+ *
+ * Discussion:
+ * Returns the WSTypeID associated with CFTypeRef. There is not a
+ * one to one mapping between CFTypeID and WSTypesID therefore an
+ * actual instance of a CFType must be passed.
+ *
+ * Parameters:
+ *
+ * ref:
+ * a CFTypeRef object
+ *
+ * Result:
+ * the WSTypeID used in serializing the object. If no WSTypeID
+ * matches, eWSUnknownType is returned.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( WSTypeID )
+WSGetWSTypeIDFromCFType(CFTypeRef ref);
+
+
+/*
+ * WSGetCFTypeIDFromWSTypeID()
+ *
+ * Discussion:
+ * Returns the CFTypeID that is associated with a given WSTypeID.
+ * CFTypeIDs are only valid during a particular instance of a
+ * process and should not be used as static values.
+ *
+ * Parameters:
+ *
+ * typeID:
+ * a WSTypeID constant
+ *
+ * Result:
+ * a CFTypeID, or 0 if not found
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFTypeID )
+WSGetCFTypeIDFromWSTypeID(WSTypeID typeID);
+
+
+typedef CALLBACK_API( void *, WSClientContextRetainCallBackProcPtr )(void * info);
+typedef CALLBACK_API( void , WSClientContextReleaseCallBackProcPtr )(void * info);
+typedef CALLBACK_API( CFStringRef , WSClientContextCopyDescriptionCallBackProcPtr )(void * info);
+
+/*
+ * WSClientContext
+ *
+ * Discussion:
+ * Several calls in WebServicesCore take a callback with an optional
+ * context pointer. The context is copied and the info pointer
+ * retained. When the callback is made, the info pointer is passed
+ * to the callback.
+ */
+struct WSClientContext {
+
+ /*
+ * set to zero (0)
+ */
+ CFIndex version;
+
+ /*
+ * info pointer to be passed to the callback
+ */
+ void * info;
+
+ /*
+ * callback made on the info pointer. This field may be NULL.
+ */
+ WSClientContextRetainCallBackProcPtr retain;
+
+ /*
+ * callback made on the info pointer. This field may be NULL.
+ */
+ WSClientContextReleaseCallBackProcPtr release;
+
+ /*
+ * callback made on the info pointer. This field may be NULL.
+ */
+ WSClientContextCopyDescriptionCallBackProcPtr copyDescription;
+};
+typedef struct WSClientContext WSClientContext;
+/*
+ Web Service protocol types. These constant strings specify the type
+ of web service method invocation created. These are passed to
+ WSMethodInvocationCreate.
+
+ For information on these service types, see:
+
+ XML-RPC: <http://www.xml-rpc.com/spec/>
+ SOAP 1.1: <http://www.w3.org/TR/SOAP/>
+ SOAP 1.2: <http://www.w3.org/2002/ws/>
+*/
+extern CFStringRef kWSXMLRPCProtocol;
+extern CFStringRef kWSSOAP1999Protocol;
+extern CFStringRef kWSSOAP2001Protocol;
+
+
+/*
+ Dictionary entry if the invocation result is not a fault. This is
+ always available in method responses, although for SOAP messages,
+ it may be more correctly to query the result dictionary for the
+ specific field you're interested in. What this really means is
+ that the dictionary returned by the invocation may contain more
+ than one value, wherein the result data is duplicated several
+ times. If you don't know what to ask for to dump the reply, you
+ can ask for this key. If you do know what you want, you should
+ request that field expliclty.
+
+ You can also specify the name of the reply parameter in the
+ invocation using kWSMethodInvocationResultParameterName. This will
+ add an alias for the given name to the result dictionary such that
+ kWSMethodInvocationResult will always return the correct
+ parameter. (This won't work for multi-value returns, however.)
+*/
+extern CFStringRef kWSMethodInvocationResult;
+/*
+ Dictionary entries if the result is a fault
+*/
+extern CFStringRef kWSFaultString; /* a CFString */
+extern CFStringRef kWSFaultCode; /* a CFNumber */
+extern CFStringRef kWSFaultExtra; /* a CFString or CFDictionary, or NULL */
+
+/*
+ If the result is a fault, and if the value of kWSFaultString in
+ the reply dictionary is kWSNetworkStreamFaultString, then
+ kWSFaultExtra will be a dictionary indicating the network error
+ and kWSFaultCode is ignored in this case. See
+ <CoreFoundation/CFStream.h" for details on what the domain and
+ error numbers mean.
+*/
+extern CFStringRef kWSNetworkStreamFaultString;
+extern CFStringRef kWSStreamErrorMessage; /* A CFString (for debug purposes only) */
+extern CFStringRef kWSStreamErrorDomain; /* A CFNumberRef */
+extern CFStringRef kWSStreamErrorError; /* A CFNumberRef */
+
+/*
+ For HTTP[S] based invocations, you can specify a CFHTTPMessageRef
+ as a property which will be used instead of creating a new
+ outgoing message. The CFHTTPMessageRef can contain header, proxy
+ and authentication information. The body of the message will be
+ ignored and replaced with the outgoing, serialized invocation.
+
+ After the invocation has executed, you can retrieve a copy of the
+ actual CFHTTPMessageRef, containing the details of the invocation
+ using kWSHTTPResponseMessage. Attempting to retrieve the response
+ message property before the invocation completes will result
+ return NULL.
+
+ See: <CFNetwork/CFHTTPMessage.h" for more information.
+*/
+extern CFStringRef kWSHTTPMessage; /* CFHTTPMessageRef */
+extern CFStringRef kWSHTTPResponseMessage; /* CFHTTPMessageRef */
+/*
+ To avoid having to create an entire CFHTTPMessageRef, these properties are
+ individually settable. If they are set, they will override any CFHTTPMessageRef
+ previously specified.
+*/
+extern CFStringRef kWSHTTPVersion; /* "http/1.1" */
+extern CFStringRef kWSHTTPExtraHeaders; /* a CFDictionary of { key (CFString), val (CFString) } pairs */
+extern CFStringRef kWSHTTPProxy; /* CFURfRefL */
+extern CFStringRef kWSHTTPFollowsRedirects; /* kCFBooleanFalse */
+/*
+ SOCKS proxy support. WSMethodInvocation uses the same flags as
+ CFSocketStream.h in configuring SOCKS proxy support. You can set
+ the kCFStreamPropertySOCKSProxy property on the invocation and the
+ value will be applied to the underlying stream. See CFSocketStream.h
+ for more information and valid keys.
+*/
+/*
+ These debugging flags will populate the WSInvocationResultRef
+ with some potentially useful debugging output. The property
+ name of the flag is the same as the the field in the result
+ dictionary.
+*/
+extern CFStringRef kWSDebugOutgoingHeaders; /* kCFBooleanFalse */
+extern CFStringRef kWSDebugOutgoingBody; /* kCFBooleanFalse */
+extern CFStringRef kWSDebugIncomingHeaders; /* kCFBooleanFalse */
+extern CFStringRef kWSDebugIncomingBody; /* kCFBooleanFalse */
+/*
+ Extra properties for SOAP messages. These apply to the message
+ namespace and format itself. Individual message elements can
+ be modified using the kWSRecord constants below.
+*/
+extern CFStringRef kWSSOAPMethodNamespaceURI; /* CFStringRef */
+extern CFStringRef kWSSOAPBodyEncodingStyle; /* CFStringRef { kWSSOAPStyleDoc, kWSSOAPStyleRPC } */
+extern CFStringRef kWSSOAPStyleDoc;
+extern CFStringRef kWSSOAPStyleRPC;
+
+/*
+ For SOAP messages, this is an array of CFStringRefs which
+ contain valid XML header elements that are sent with the
+ message. These are only applicable to the Header of a SOAP
+ message.
+*/
+extern CFStringRef kWSSOAPMessageHeaders; /* CFArrayRef */
+
+/*
+ When serializing a record (dictionary) these keys present in
+ the dictionary can modify the behavior of the serialization.
+*/
+extern CFStringRef kWSRecordParameterOrder; /* CFArrayRef of CFStringRef */
+extern CFStringRef kWSRecordNamespaceURI; /* CFStringRef */
+extern CFStringRef kWSRecordType; /* CFStringRef */
+
+/*
+ Specifies that the result parameter will be found as this name. This
+ forces the deserializer to alias the named output parameter to kWSMethodInvocationResult
+*/
+extern CFStringRef kWSMethodInvocationResultParameterName;
+/*
+ Specifies a timeout (as CFNumber) which specifies in seconds the
+ amount of time to wait for the invocation to complete. If the
+ invocation times out before the server results are returned,
+ a fault will be returned with the error code errWSTimeoutError.
+*/
+extern CFStringRef kWSMethodInvocationTimeoutValue;
+
+/*
+ * WSMethodInvocationRef
+ *
+ * Discussion:
+ * a WSMethodInvocationRef represents an object that can be executed
+ * to obtain a rsult from a web service. This is CFType and is
+ * therefore reference counted and and should be managed via
+ * CFRetain and CFRelease.
+ */
+typedef struct OpaqueWSMethodInvocationRef* WSMethodInvocationRef;
+/*
+ * WSMethodInvocationGetTypeID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFTypeID )
+WSMethodInvocationGetTypeID(void);
+
+
+
+/*
+ * WSMethodInvocationCreate()
+ *
+ * Discussion:
+ * Creates a web services method invocation object. This object may
+ * be executed synchronously or scheduled on a run loop for
+ * asynchronous execution.
+ *
+ * Parameters:
+ *
+ * url:
+ * the endpoint of the service
+ *
+ * methodName:
+ * the name of the method to be called
+ *
+ * protocol:
+ * a string, defined above, that determines the type of invocation
+ * object to create (XML-RPC vs. SOAP)
+ *
+ * Result:
+ * A WSMethodInvocationRef object that can be passed to
+ * WSMethodInvocationInvoke or scheduled with a run loop.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( WSMethodInvocationRef )
+WSMethodInvocationCreate(
+ CFURLRef url,
+ CFStringRef methodName,
+ CFStringRef protocol);
+
+
+
+/*
+ * WSMethodInvocationCreateFromSerialization()
+ *
+ * Discussion:
+ * Creates a web services method invocation object from a previously
+ * serialized contract.
+ *
+ * Parameters:
+ *
+ * contract:
+ * the result of a previously serialized WSMethodInvocationRef
+ *
+ * Result:
+ * A WSMethodInvocationRef object that can be passed to
+ * WSMethodInvocationInvoke or scheduled with a run loop.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( WSMethodInvocationRef )
+WSMethodInvocationCreateFromSerialization(CFDataRef contract);
+
+
+
+/*
+ * WSMethodInvocationCopySerialization()
+ *
+ * Discussion:
+ * Create a serialized version of the Method Invocation which can be
+ * reconstituted at a later time.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation to serialize
+ *
+ * Result:
+ * a CFDataRef
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFDataRef )
+WSMethodInvocationCopySerialization(WSMethodInvocationRef invocation);
+
+
+
+/*
+ * WSMethodInvocationSetParameters()
+ *
+ * Discussion:
+ * Set the parameters for a method invocation. The parameterOrder
+ * may be NULL, in which case the order of th parameters is
+ * undefined. If it is not NULL and the parameters dictionary
+ * contains more parameters than are specified by the order, the
+ * behavior is undefined. If the parameterOrder specifies more
+ * parameters than are present in the dictionary, the result is
+ * undefined.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation object
+ *
+ * parameters:
+ * a CFDictionaryRef of CFString keys and CFTypeRef values.
+ *
+ * parameterOrder:
+ * a CFArrayRef of CFString parameter names.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+WSMethodInvocationSetParameters(
+ WSMethodInvocationRef invocation,
+ CFDictionaryRef parameters,
+ CFArrayRef parameterOrder); /* can be NULL */
+
+
+/*
+ * WSMethodInvocationCopyParameters()
+ *
+ * Discussion:
+ * Copies the parameters from the invocation. The resulting
+ * dictionary contains the parameter dictionary. The parameterOrder
+ * output parameter, if not NULL, will contain the order used to
+ * serialize the parameters.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation
+ *
+ * parameterOrder:
+ * a pointer to a CFArray which will will receive the names, in
+ * their specified order, of the input parameter values. This
+ * parameter may be NULL.
+ *
+ * Result:
+ * a CFDictionaryRef
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFDictionaryRef )
+WSMethodInvocationCopyParameters(
+ WSMethodInvocationRef invocation,
+ CFArrayRef * parameterOrder); /* can be NULL */
+
+
+/*
+ * WSMethodInvocationSetProperty()
+ *
+ * Discussion:
+ * Add "properties" to a method invocation. These properties can be
+ * user defined or one of the WebServicesCore declared properties
+ * (which may modify the behavior of the invocation.) All
+ * WebServicesCore declared properties will start with the string
+ * "kWS", eg, kWSHTTPFollowsRedirects. Properties are serialized
+ * along with the contract, so you may want to avoid sticking raw
+ * pointers in a CFNumber (for example).
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation
+ *
+ * propertyName:
+ * a CFStringRef name of the property to modify
+ *
+ * propertyValue:
+ * a CFTypeRef containing the new property value
+ *
+ * Result:
+ * none
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+WSMethodInvocationSetProperty(
+ WSMethodInvocationRef invocation,
+ CFStringRef propertyName,
+ CFTypeRef propertyValue);
+
+
+
+/*
+ * WSMethodInvocationCopyProperty()
+ *
+ * Discussion:
+ * Return a property from a invocation. If the result is NULL, the
+ * property doesn't exist. Being a "Copy" call, you must release
+ * the result.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation
+ *
+ * propertyName:
+ * the name of the property to retreive
+ *
+ * Result:
+ * the CFTypeRef value of the property, or NULL if the property was
+ * not specified.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFTypeRef )
+WSMethodInvocationCopyProperty(
+ WSMethodInvocationRef invocation,
+ CFStringRef propertyName);
+
+
+
+/*
+ * WSMethodInvocationInvoke()
+ *
+ * Discussion:
+ * Execute the invocation. If the call was successful, the result
+ * will contain the result of the invocation. If for some reason the
+ * invocation failed, including out of memory or invalid parameter
+ * errors, then the result will contain a fault structure. You must
+ * release the result when you're done with it.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation
+ *
+ * Result:
+ * a CFDictionaryRef containing the result of the execution or a
+ * fault, and optional debug information.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( CFDictionaryRef )
+WSMethodInvocationInvoke(WSMethodInvocationRef invocation);
+
+
+
+/*
+ These calls implemented the asynchronous variant of the WSMethodInvocationInvoke.
+
+ The strategy is to schedule the invocation on a given runloop.
+ When the invocation completes, it calls the specified callback with
+ the result of the execution. The callback is responsible for
+ releasing the result ref. Your code is responsible for
+ unscheduling the invocation from the run loop, whether it completes
+ or not.
+
+ You can re-schedule an invocation after it completes.
+
+ When you unschedule with the run loop, the CallBack is not called.
+
+ If a network error occurs, the kWSFaultString entry of the result
+ will contain some textual description of the error, kWSFaultCode
+ will contain kWSNetworkingFault and kWSFaultExtra will be a
+ dictionary containing two CFNumber values called kWSStreamErrorDomain
+ and kWSStreamErrorError.
+*/
+
+
+/*
+ * WSMethodInvocationCallBackProcPtr
+ *
+ * Discussion:
+ * Prototypes the callback made when an asynchronous invocation
+ * completes. This callback is passed a reference to the invocation
+ * just completed, a pointer to private data, and a dictionary that
+ * contains the return value or falut for this invocation. The
+ * callback is responsible for releasing the dictionary when it is
+ * no longer used.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation just completed
+ *
+ * info:
+ * private callback data
+ *
+ * outRef:
+ * a CFDictionaryRef containing the result of the execution or a
+ * fault, and optional debug information.
+ */
+typedef CALLBACK_API( void , WSMethodInvocationCallBackProcPtr )(WSMethodInvocationRef invocation, void *info, CFDictionaryRef outRef);
+/*
+ * WSMethodInvocationSetCallBack()
+ *
+ * Discussion:
+ * sets the callback for an asynchronous method invocation. Call
+ * with a clientCB and context of NULL to clear the invocation
+ * callback.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation
+ *
+ * clientCB:
+ * a ProcPtr to be called when the invocation completes.
+ *
+ * context:
+ * a pointer to a WSClientContext. The structure will be copied.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+WSMethodInvocationSetCallBack(
+ WSMethodInvocationRef invocation,
+ WSMethodInvocationCallBackProcPtr clientCB,
+ WSClientContext * context);
+
+
+
+/*
+ @function WSMethodInvocationScheduleWithRunLoop
+
+ @discussion Schedules the invocation to execute on the run loop.
+
+ @param invocation
+ the invocation
+
+ @param runLoop
+ the run loop upon which to scheduile the invocation
+
+ @param runLoopMode
+ the run loop mode
+*/
+/*
+ * WSMethodInvocationScheduleWithRunLoop()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+WSMethodInvocationScheduleWithRunLoop(
+ WSMethodInvocationRef invocation,
+ CFRunLoopRef runLoop,
+ CFStringRef runLoopMode);
+
+
+
+/*
+ @function WSMethodInvocationUnscheduleFromRunLoop
+
+ @discussion Unschedules the invocation from a given run loop and
+ mode. If the invocation has not yet completed,
+ its callback will not be called.
+
+
+ @param invocation
+ the invocation
+
+ @param runLoop
+ the run loop upon which to scheduile the invocation
+
+ @param runLoopMode
+ the run loop mode
+*/
+/*
+ * WSMethodInvocationUnscheduleFromRunLoop()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+WSMethodInvocationUnscheduleFromRunLoop(
+ WSMethodInvocationRef invocation,
+ CFRunLoopRef runLoop,
+ CFStringRef runLoopMode);
+
+
+
+/*
+ Result interrogation.
+
+ If the result is a fault, look in the kWSFaultCode, kWSFaultString
+ and kWSFaultExtra fields of the resulting dictionary. If not a
+ fault, kWSMethodInvocationResult will contain the result of the
+ execution. If debugging information was requested, it will be
+ available in the dictionary as well.
+*/
+/*
+ * WSMethodResultIsFault()
+ *
+ * Discussion:
+ * returns TRUE if the method invocation result contains a fault.
+ *
+ * Parameters:
+ *
+ * methodResult:
+ * the result ref
+ *
+ * Result:
+ * TRUE if the result contains a fault condition
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( Boolean )
+WSMethodResultIsFault(CFDictionaryRef methodResult);
+
+
+
+/*
+ Serialization / Deserialization override support.
+
+ You can add serialization and deserialization callbacks for custom
+ types, or types not otherwise handled by the framework. Note that these
+ properties are *not* serialized if the invocation is serialized.
+ */
+
+
+/*
+ * WSMethodInvocationSerializationProcPtr
+ *
+ * Discussion:
+ * Prototypes the callback function for a custom serialization proc.
+ * This callback is called whenever a type has the given CFTypeID.
+ * The callback should return an XML snippet that will be understood
+ * by the server as a correct serialization for a given type. If
+ * the callback returns NULL, the default serializer will be used.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation currently being serialized
+ *
+ * obj:
+ * the CFTypeRef to be serialized
+ *
+ * info:
+ * private callback data
+ *
+ * Result:
+ * a CFStringRef containing valid XML. The caller of this callback
+ * will release the string.
+ */
+typedef CALLBACK_API( CFStringRef , WSMethodInvocationSerializationProcPtr )(WSMethodInvocationRef invocation, CFTypeRef obj, void *info);
+/*
+ * WSMethodInvocationAddSerializationOverride()
+ *
+ * Discussion:
+ * Specifies a callback which will be called to produce the XML that
+ * represents the serialization of a given type ref. See
+ * WSDescription.h for a list of CFTypes for which there currently
+ * exist serializers. If your callback returns NULL, the default
+ * serializer will be used.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation
+ *
+ * objType:
+ * the CFTypeID of the object
+ *
+ * serializationProc:
+ * the callback called
+ *
+ * context:
+ * a pointer to a WSClientContext. The structure will be copied.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+WSMethodInvocationAddSerializationOverride(
+ WSMethodInvocationRef invocation,
+ CFTypeID objType,
+ WSMethodInvocationSerializationProcPtr serializationProc,
+ WSClientContext * context);
+
+
+
+
+/*
+ * WSMethodInvocationDeserializationProcPtr
+ *
+ * Discussion:
+ * Prototypes the callback function for a custom deserializer. This
+ * callback is passed a reference to the invocation currently being
+ * executed, the root of the response parse tree, the current node
+ * being deserialized, and a pointer to private data. The return
+ * result should be a valid CFTypeRef object (which will be released
+ * by the caller) or NULL to allow the default deserializer to act.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation executing
+ *
+ * msgRoot:
+ * the root tree element
+ *
+ * deserializeRoot:
+ * the tree element that needs to be deserialied
+ *
+ * info:
+ * private callback data
+ *
+ * Result:
+ * a CFTypeRef representing the deserialized data, or NULL to allow
+ * the default deserializers to act.
+ */
+typedef CALLBACK_API( CFTypeRef , WSMethodInvocationDeserializationProcPtr )(WSMethodInvocationRef invocation, CFXMLTreeRef msgRoot, CFXMLTreeRef deserializeRoot, void *info);
+/*
+ * WSMethodInvocationAddDeserializationOverride()
+ *
+ * Discussion:
+ * Specifies a callback to be made when parsing an XML method
+ * response. The callback should return a CFTypeRef containing the
+ * deserialized object value. If the callback returns NULL, the
+ * default deserializer will be used.
+ *
+ * Parameters:
+ *
+ * invocation:
+ * the invocation
+ *
+ * typeNamespace:
+ * the fully resolved namespace for a specific type. If NULL, the
+ * default namespace will be used. For example, this field could
+ * be: CFSTR("http://www.w3.org/2001/XMLSchema-instance").
+ *
+ * typeName:
+ * the non-qualified type name. This parameter must not be NULL.
+ *
+ * deserializationProc:
+ * a ProcPtr to be called to perform the deserialization
+ *
+ * context:
+ * a pointer to a WSClientContext. The structure will be copied.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+WSMethodInvocationAddDeserializationOverride(
+ WSMethodInvocationRef invocation,
+ CFStringRef typeNamespace,
+ CFStringRef typeName,
+ WSMethodInvocationDeserializationProcPtr deserializationProc,
+ WSClientContext * context);
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __WSMETHODINVOCATION__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __WSMETHODINVOCATION__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__WSMETHODINVOCATION__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/fenv.h b/include/qt/fenv.h
index 4238ca41a..0e9cfb120 100644
--- a/include/qt/fenv.h
+++ b/include/qt/fenv.h
@@ -1,17 +1,17 @@
/*
File: fenv.h
-
+
Contains: Floating-Point environment for PowerPC and 68K
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1987-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FENV__
#define __FENV__
@@ -35,376 +35,369 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if TARGET_RT_MAC_MACHO && defined(__MATH__)
- /* these types were already defined in math.h */
+/* these types were already defined in math.h */
#else
#if TARGET_OS_MAC
- /*
- A collection of functions designed to provide access to the floating
- point environment for numerical programming. It is modeled after
- the floating-point requirements in C9X.
-
- The file <fenv.h" declares many functions in support of numerical
- programming. It provides a set of environmental controls similar to
- the ones found in <SANE.h". Programs that test flags or run under
- non-default modes must do so under the effect of an enabling
- "fenv_access" pragma.
- */
-
- /********************************************************************************
- * *
- * fenv_t is a type for representing the entire floating-point *
- * environment in a single object. *
- * *
- * fexcept_t is a type for representing the floating-point *
- * exception flag state collectively. *
- * *
- ********************************************************************************/
+/*
+ A collection of functions designed to provide access to the floating
+ point environment for numerical programming. It is modeled after
+ the floating-point requirements in C9X.
+
+ The file <fenv.h" declares many functions in support of numerical
+ programming. It provides a set of environmental controls similar to
+ the ones found in <SANE.h". Programs that test flags or run under
+ non-default modes must do so under the effect of an enabling
+ "fenv_access" pragma.
+*/
+
+/********************************************************************************
+* *
+* fenv_t is a type for representing the entire floating-point *
+* environment in a single object. *
+* *
+* fexcept_t is a type for representing the floating-point *
+* exception flag state collectively. *
+* *
+********************************************************************************/
#if TARGET_CPU_PPC
- typedef long fenv_t;
- typedef long fexcept_t;
- /* Definitions of floating-point exception macros */
- enum
- {
- FE_INEXACT = 0x02000000,
- FE_DIVBYZERO = 0x04000000,
- FE_UNDERFLOW = 0x08000000,
- FE_OVERFLOW = 0x10000000,
- FE_INVALID = 0x20000000,
- FE_ALL_EXCEPT = 0x3E000000 /* FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID*/
- };
-
-
- /* Definitions of rounding direction macros */
- enum
- {
- FE_TONEAREST = 0x00000000,
- FE_TOWARDZERO = 0x00000001,
- FE_UPWARD = 0x00000002,
- FE_DOWNWARD = 0x00000003
- };
+typedef long fenv_t;
+typedef long fexcept_t;
+/* Definitions of floating-point exception macros */
+enum {
+ FE_INEXACT = 0x02000000,
+ FE_DIVBYZERO = 0x04000000,
+ FE_UNDERFLOW = 0x08000000,
+ FE_OVERFLOW = 0x10000000,
+ FE_INVALID = 0x20000000,
+ FE_ALL_EXCEPT = 0x3E000000 /* FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID*/
+};
+
+
+/* Definitions of rounding direction macros */
+enum {
+ FE_TONEAREST = 0x00000000,
+ FE_TOWARDZERO = 0x00000001,
+ FE_UPWARD = 0x00000002,
+ FE_DOWNWARD = 0x00000003
+};
#endif /* TARGET_CPU_PPC */
#if TARGET_CPU_68K
#if TARGET_RT_MAC_68881
- typedef long fexcept_t;
- struct fenv_t
- {
- long FPCR;
- long FPSR;
- };
- typedef struct fenv_t fenv_t;
- enum
- {
- FE_INEXACT = 0x00000008, /* ((long)(8)) */
- FE_DIVBYZERO = 0x00000010, /* ((long)(16)) */
- FE_UNDERFLOW = 0x00000020, /* ((long)(32)) */
- FE_OVERFLOW = 0x00000040, /* ((long)(64)) */
- FE_INVALID = 0x00000080, /* ((long)(128)) */
- FE_ALL_EXCEPT = 0x000000F8 /* FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID*/
- };
+typedef long fexcept_t;
+struct fenv_t {
+ long FPCR;
+ long FPSR;
+};
+typedef struct fenv_t fenv_t;
+enum {
+ FE_INEXACT = 0x00000008, /* ((long)(8)) */
+ FE_DIVBYZERO = 0x00000010, /* ((long)(16)) */
+ FE_UNDERFLOW = 0x00000020, /* ((long)(32)) */
+ FE_OVERFLOW = 0x00000040, /* ((long)(64)) */
+ FE_INVALID = 0x00000080, /* ((long)(128)) */
+ FE_ALL_EXCEPT = 0x000000F8 /* FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID*/
+};
#else
- typedef short fexcept_t;
- typedef short fenv_t;
- enum
- {
- FE_INVALID = 0x0001, /* ((short)(1)) */
- FE_UNDERFLOW = 0x0002, /* ((short)(2)) */
- FE_OVERFLOW = 0x0004, /* ((short)(4)) */
- FE_DIVBYZERO = 0x0008, /* ((short)(8)) */
- FE_INEXACT = 0x0010, /* ((short)(16)) */
- FE_ALL_EXCEPT = 0x001F /* FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID*/
- };
+typedef short fexcept_t;
+typedef short fenv_t;
+enum {
+ FE_INVALID = 0x0001, /* ((short)(1)) */
+ FE_UNDERFLOW = 0x0002, /* ((short)(2)) */
+ FE_OVERFLOW = 0x0004, /* ((short)(4)) */
+ FE_DIVBYZERO = 0x0008, /* ((short)(8)) */
+ FE_INEXACT = 0x0010, /* ((short)(16)) */
+ FE_ALL_EXCEPT = 0x001F /* FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID*/
+};
#endif /* TARGET_RT_MAC_68881 */
- enum
- {
- FE_TONEAREST = 0x0000, /* ((short)(0)) */
- FE_UPWARD = 0x0001, /* ((short)(1)) */
- FE_DOWNWARD = 0x0002, /* ((short)(2)) */
- FE_TOWARDZERO = 0x0003 /* ((short)(3)) */
- };
-
- /* Definitions of rounding precision macros (68K only) */
- enum
- {
- FE_LDBLPREC = 0x0000, /* ((short)(0)) */
- FE_DBLPREC = 0x0001, /* ((short)(1)) */
- FE_FLTPREC = 0x0002 /* ((short)(2)) */
- };
+enum {
+ FE_TONEAREST = 0x0000, /* ((short)(0)) */
+ FE_UPWARD = 0x0001, /* ((short)(1)) */
+ FE_DOWNWARD = 0x0002, /* ((short)(2)) */
+ FE_TOWARDZERO = 0x0003 /* ((short)(3)) */
+};
+
+/* Definitions of rounding precision macros (68K only) */
+enum {
+ FE_LDBLPREC = 0x0000, /* ((short)(0)) */
+ FE_DBLPREC = 0x0001, /* ((short)(1)) */
+ FE_FLTPREC = 0x0002 /* ((short)(2)) */
+};
#endif /* TARGET_CPU_68K */
- /* default environment object */
- /*
- * _FE_DFL_ENV
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.3 and later
- * Mac OS X: in version 10.1 and later
- */
- extern fenv_t _FE_DFL_ENV;
+/* default environment object */
+/*
+ * _FE_DFL_ENV
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.3 and later
+ * Mac OS X: in version 10.1 and later
+ */
+extern fenv_t _FE_DFL_ENV;
#define FE_DFL_ENV &_FE_DFL_ENV /* pointer to default environment */
- /*******************************************************************************
- * The following functions provide access to the exception flags. The *
- * "int" input argument can be constructed by bitwise ORs of the exception *
- * macros: for example: FE_OVERFLOW | FE_INEXACT. *
- *******************************************************************************/
- /*******************************************************************************
- * The function "feclearexcept" clears the supported exceptions represented *
- * by its argument. *
- *******************************************************************************/
- /*
- * feclearexcept()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) feclearexcept(int excepts);
-
-
-
-
- /*******************************************************************************
- * The function "fegetexcept" stores a representation of the exception *
- * flags indicated by the argument "excepts" through the pointer argument *
- * "flagp". *
- *******************************************************************************/
- /*
- * fegetexcept()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) fegetexcept(fexcept_t *flagp, int excepts);
-
-
-
-
- /*******************************************************************************
- * The function "feraiseexcept" raises the supported exceptions *
- * represented by its argument. *
- *******************************************************************************/
- /*
- * feraiseexcept()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) feraiseexcept(int excepts);
-
-
-
-
- /*******************************************************************************
- * The function "fesetexcept" sets or clears the exception flags indicated *
- * by the int argument "excepts" according to the representation in the *
- * object pointed to by the pointer argument "flagp". The value of *
- * "*flagp" must have been set by a previous call to "fegetexcept". *
- * This function does not raise exceptions; it just sets the state of *
- * the flags. *
- *******************************************************************************/
- /*
- * fesetexcept()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) fesetexcept(const fexcept_t *flagp, int excepts);
-
-
-
-
- /*******************************************************************************
- * The function "fetestexcept" determines which of the specified subset of *
- * the exception flags are currently set. The argument "excepts" specifies *
- * the exception flags to be queried as a bitwise OR of the exception *
- * macros. This function returns the bitwise OR of the exception macros *
- * corresponding to the currently set exceptions included in "excepts". *
- *******************************************************************************/
- /*
- * fetestexcept()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int) fetestexcept(int excepts);
-
-
-
-
- /*******************************************************************************
- * The following functions provide control of rounding direction modes. *
- *******************************************************************************/
- /*******************************************************************************
- * The function "fegetround" returns the value of the rounding direction *
- * macro which represents the current rounding direction. *
- *******************************************************************************/
- /*
- * fegetround()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int) fegetround(void);
-
-
-
-
- /*******************************************************************************
- * The function "fesetround" establishes the rounding direction represented *
- * by its argument. It returns nonzero if and only if the argument matches *
- * a rounding direction macro. If not, the rounding direction is not *
- * changed. *
- *******************************************************************************/
- /*
- * fesetround()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int) fesetround(int round);
-
-
-
-
- /*******************************************************************************
- * The following functions manage the floating-point environment, exception *
- * flags and dynamic modes, as one entity. *
- *******************************************************************************/
- /*******************************************************************************
- * The function "fegetenv" stores the current floating-point environment *
- * in the object pointed to by its pointer argument "envp". *
- *******************************************************************************/
- /*
- * fegetenv()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) fegetenv(fenv_t * envp);
-
-
-
-
- /*******************************************************************************
- * The function "feholdexcept" saves the current environment in the object *
- * pointed to by its pointer argument "envp", clears the exception flags, *
- * and clears floating-point exception enables. This function supersedes *
- * the SANE function "procentry", but it does not change the current *
- * rounding direction mode. *
- *******************************************************************************/
- /*
- * feholdexcept()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int) feholdexcept(fenv_t * envp);
-
-
-
-
- /*******************************************************************************
- * The function "fesetenv" installs the floating-point environment *
- * environment represented by the object pointed to by its argument *
- * "envp". The value of "*envp" must be set by a call to "fegetenv" or *
- * "feholdexcept", by an implementation-defined macro of type "fenv_t", *
- * or by the use of the pointer macro FE_DFL_ENV as the argument. *
- *******************************************************************************/
- /*
- * fesetenv()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) fesetenv(const fenv_t * envp);
-
-
-
-
- /*******************************************************************************
- * The function "feupdateenv" saves the current exceptions into its *
- * automatic storage, installs the environment represented through its *
- * pointer argument "envp", and then re-raises the saved exceptions. *
- * This function, which supersedes the SANE function "procexit", can be *
- * used in conjunction with "feholdexcept" to write routines which hide *
- * spurious exceptions from their callers. *
- *******************************************************************************/
- /*
- * feupdateenv()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) feupdateenv(const fenv_t * envp);
+/*******************************************************************************
+* The following functions provide access to the exception flags. The *
+* "int" input argument can be constructed by bitwise ORs of the exception *
+* macros: for example: FE_OVERFLOW | FE_INEXACT. *
+*******************************************************************************/
+/*******************************************************************************
+* The function "feclearexcept" clears the supported exceptions represented *
+* by its argument. *
+*******************************************************************************/
+/*
+ * feclearexcept()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) feclearexcept(int excepts);
+
+
+
+
+/*******************************************************************************
+* The function "fegetexcept" stores a representation of the exception *
+* flags indicated by the argument "excepts" through the pointer argument *
+* "flagp". *
+*******************************************************************************/
+/*
+ * fegetexcept()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) fegetexcept(fexcept_t *flagp, int excepts);
+
+
+
+
+/*******************************************************************************
+* The function "feraiseexcept" raises the supported exceptions *
+* represented by its argument. *
+*******************************************************************************/
+/*
+ * feraiseexcept()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) feraiseexcept(int excepts);
+
+
+
+
+/*******************************************************************************
+* The function "fesetexcept" sets or clears the exception flags indicated *
+* by the int argument "excepts" according to the representation in the *
+* object pointed to by the pointer argument "flagp". The value of *
+* "*flagp" must have been set by a previous call to "fegetexcept". *
+* This function does not raise exceptions; it just sets the state of *
+* the flags. *
+*******************************************************************************/
+/*
+ * fesetexcept()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) fesetexcept(const fexcept_t *flagp, int excepts);
+
+
+
+
+/*******************************************************************************
+* The function "fetestexcept" determines which of the specified subset of *
+* the exception flags are currently set. The argument "excepts" specifies *
+* the exception flags to be queried as a bitwise OR of the exception *
+* macros. This function returns the bitwise OR of the exception macros *
+* corresponding to the currently set exceptions included in "excepts". *
+*******************************************************************************/
+/*
+ * fetestexcept()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int ) fetestexcept(int excepts);
+
+
+
+
+/*******************************************************************************
+* The following functions provide control of rounding direction modes. *
+*******************************************************************************/
+/*******************************************************************************
+* The function "fegetround" returns the value of the rounding direction *
+* macro which represents the current rounding direction. *
+*******************************************************************************/
+/*
+ * fegetround()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int ) fegetround(void);
+
+
+
+
+/*******************************************************************************
+* The function "fesetround" establishes the rounding direction represented *
+* by its argument. It returns nonzero if and only if the argument matches *
+* a rounding direction macro. If not, the rounding direction is not *
+* changed. *
+*******************************************************************************/
+/*
+ * fesetround()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int ) fesetround(int round);
+
+
+
+
+/*******************************************************************************
+* The following functions manage the floating-point environment, exception *
+* flags and dynamic modes, as one entity. *
+*******************************************************************************/
+/*******************************************************************************
+* The function "fegetenv" stores the current floating-point environment *
+* in the object pointed to by its pointer argument "envp". *
+*******************************************************************************/
+/*
+ * fegetenv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) fegetenv(fenv_t * envp);
+
+
+
+
+/*******************************************************************************
+* The function "feholdexcept" saves the current environment in the object *
+* pointed to by its pointer argument "envp", clears the exception flags, *
+* and clears floating-point exception enables. This function supersedes *
+* the SANE function "procentry", but it does not change the current *
+* rounding direction mode. *
+*******************************************************************************/
+/*
+ * feholdexcept()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int ) feholdexcept(fenv_t * envp);
+
+
+
+
+/*******************************************************************************
+* The function "fesetenv" installs the floating-point environment *
+* environment represented by the object pointed to by its argument *
+* "envp". The value of "*envp" must be set by a call to "fegetenv" or *
+* "feholdexcept", by an implementation-defined macro of type "fenv_t", *
+* or by the use of the pointer macro FE_DFL_ENV as the argument. *
+*******************************************************************************/
+/*
+ * fesetenv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) fesetenv(const fenv_t * envp);
+
+
+
+
+/*******************************************************************************
+* The function "feupdateenv" saves the current exceptions into its *
+* automatic storage, installs the environment represented through its *
+* pointer argument "envp", and then re-raises the saved exceptions. *
+* This function, which supersedes the SANE function "procexit", can be *
+* used in conjunction with "feholdexcept" to write routines which hide *
+* spurious exceptions from their callers. *
+*******************************************************************************/
+/*
+ * feupdateenv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) feupdateenv(const fenv_t * envp);
#if TARGET_CPU_68K
- /*******************************************************************************
- * The following functions provide control of rounding precision. *
- * Because the PowerPC does not provide this capability, these functions *
- * are available only for the 68K Macintosh. Rounding precision values *
- * are defined by the rounding precision macros. These functions are *
- * equivalent to the SANE functions getprecision and setprecision. *
- *******************************************************************************/
+/*******************************************************************************
+* The following functions provide control of rounding precision. *
+* Because the PowerPC does not provide this capability, these functions *
+* are available only for the 68K Macintosh. Rounding precision values *
+* are defined by the rounding precision macros. These functions are *
+* equivalent to the SANE functions getprecision and setprecision. *
+*******************************************************************************/
#if CALL_NOT_IN_CARBON
- /*
- * fegetprec()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(int) fegetprec(void);
-
-
- /*
- * fesetprec()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(int) fesetprec(int precision);
+/*
+ * fegetprec()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( int ) fegetprec(void);
+
+
+/*
+ * fesetprec()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( int ) fesetprec(int precision);
#endif /* CALL_NOT_IN_CARBON */
@@ -417,11 +410,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/fp.h b/include/qt/fp.h
index 34d216913..807cb4658 100644
--- a/include/qt/fp.h
+++ b/include/qt/fp.h
@@ -1,17 +1,17 @@
/*
File: fp.h
-
+
Contains: FPCE Floating-Point Definitions and Declarations.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1987-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __FP__
#define __FP__
@@ -55,1096 +55,1074 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
-#endif
-
- /********************************************************************************
- * *
- * Efficient types *
- * *
- * float_t Most efficient type at least as wide as float *
- * double_t Most efficient type at least as wide as double *
- * *
- * CPU float_t(bits) double_t(bits) *
- * -------- ----------------- ----------------- *
- * PowerPC float(32) double(64) *
- * 68K long double(80/96) long double(80/96) *
- * x86 double(64) double(64) *
- * *
- ********************************************************************************/
+ #pragma pack(2)
+#endif
+
+/********************************************************************************
+* *
+* Efficient types *
+* *
+* float_t Most efficient type at least as wide as float *
+* double_t Most efficient type at least as wide as double *
+* *
+* CPU float_t(bits) double_t(bits) *
+* -------- ----------------- ----------------- *
+* PowerPC float(32) double(64) *
+* 68K long double(80/96) long double(80/96) *
+* x86 double(64) double(64) *
+* *
+********************************************************************************/
#if (defined(__MWERKS__) && defined(__cmath__)) || (TARGET_RT_MAC_MACHO && defined(__MATH__))
- /* these types were already defined in math.h */
+/* these types were already defined in math.h */
#else
#if TARGET_CPU_PPC
- typedef float float_t;
- typedef double double_t;
+typedef float float_t;
+typedef double double_t;
#elif TARGET_CPU_68K
- typedef long double float_t;
- typedef long double double_t;
+typedef long double float_t;
+typedef long double double_t;
#elif TARGET_CPU_X86
- typedef double float_t;
- typedef double double_t;
+typedef double float_t;
+typedef double double_t;
#elif TARGET_CPU_MIPS
- typedef double float_t;
- typedef double double_t;
+typedef double float_t;
+typedef double double_t;
#elif TARGET_CPU_ALPHA
- typedef double float_t;
- typedef double double_t;
+typedef double float_t;
+typedef double double_t;
#elif TARGET_CPU_SPARC
- typedef double float_t;
- typedef double double_t;
+typedef double float_t;
+typedef double double_t;
#else
#error unsupported CPU
#endif /* */
- /********************************************************************************
- * *
- * Define some constants. *
- * *
- * HUGE_VAL IEEE 754 value of infinity. *
- * INFINITY IEEE 754 value of infinity. *
- * NAN A generic NaN (Not A Number). *
- * DECIMAL_DIG Satisfies the constraint that the conversion from *
- * double to decimal and back is the identity function. *
- * *
- ********************************************************************************/
+/********************************************************************************
+* *
+* Define some constants. *
+* *
+* HUGE_VAL IEEE 754 value of infinity. *
+* INFINITY IEEE 754 value of infinity. *
+* NAN A generic NaN (Not A Number). *
+* DECIMAL_DIG Satisfies the constraint that the conversion from *
+* double to decimal and back is the identity function. *
+* *
+********************************************************************************/
#if TARGET_OS_MAC
-#if !TARGET_RT_MAC_MACHO
-#define HUGE_VAL __inf()
-#define INFINITY __inf()
-#define NAN nan("255")
-#endif
+ #if !TARGET_RT_MAC_MACHO
+ #define HUGE_VAL __inf()
+ #define INFINITY __inf()
+ #define NAN nan("255")
+ #endif
#else
-#define NAN sqrt(-1)
+ #define NAN sqrt(-1)
#endif
#if TARGET_CPU_PPC
-#define DECIMAL_DIG 17 /* does not exist for double-double */
+ #define DECIMAL_DIG 17 /* does not exist for double-double */
#elif TARGET_CPU_68K
-#define DECIMAL_DIG 21
-#endif
+ #define DECIMAL_DIG 21
+#endif
#endif /* (defined(__MWERKS__) && defined(__cmath__)) || (TARGET_RT_MAC_MACHO && defined(__MATH__)) */
#if TARGET_OS_MAC
- /* MSL or math.h already defines these */
+/* MSL or math.h already defines these */
#if (!defined(__MWERKS__) || !defined(__cmath__)) && (!TARGET_RT_MAC_MACHO || !defined(__MATH__))
- /********************************************************************************
- * *
- * Trigonometric functions *
- * *
- * acos result is in [0,pi]. *
- * asin result is in [-pi/2,pi/2]. *
- * atan result is in [-pi/2,pi/2]. *
- * atan2 Computes the arc tangent of y/x in [-pi,pi] using the sign of *
- * both arguments to determine the quadrant of the computed value. *
- * *
- ********************************************************************************/
- /*
- * cos()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) cos(double_t x);
-
-
- /*
- * sin()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) sin(double_t x);
-
-
- /*
- * tan()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) tan(double_t x);
-
-
- /*
- * acos()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) acos(double_t x);
-
-
- /*
- * asin()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) asin(double_t x);
-
-
- /*
- * atan()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) atan(double_t x);
-
-
- /*
- * atan2()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) atan2(double_t y, double_t x);
-
-
-
-
- /********************************************************************************
- * *
- * Hyperbolic functions *
- * *
- ********************************************************************************/
- /*
- * cosh()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) cosh(double_t x);
-
-
- /*
- * sinh()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) sinh(double_t x);
-
-
- /*
- * tanh()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) tanh(double_t x);
-
-
- /*
- * acosh()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) acosh(double_t x);
-
-
- /*
- * asinh()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) asinh(double_t x);
-
-
- /*
- * atanh()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) atanh(double_t x);
-
-
-
-
- /********************************************************************************
- * *
- * Exponential functions *
- * *
- * expm1 expm1(x) = exp(x) - 1. But, for small enough arguments, *
- * expm1(x) is expected to be more accurate than exp(x) - 1. *
- * frexp Breaks a floating-point number into a normalized fraction *
- * and an integral power of 2. It stores the integer in the *
- * object pointed by *exponent. *
- * ldexp Multiplies a floating-point number by an integer power of 2. *
- * log1p log1p = log(1 + x). But, for small enough arguments, *
- * log1p is expected to be more accurate than log(1 + x). *
- * logb Extracts the exponent of its argument, as a signed integral *
- * value. A subnormal argument is treated as though it were first *
- * normalized. Thus: *
- * 1 <= x * 2^(-logb(x)) < 2 *
- * modf Returns fractional part of x as function result and returns *
- * integral part of x via iptr. Note C9X uses double not double_t. *
- * scalb Computes x * 2^n efficently. This is not normally done by *
- * computing 2^n explicitly. *
- * *
- ********************************************************************************/
- /*
- * exp()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) exp(double_t x);
-
-
- /*
- * expm1()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) expm1(double_t x);
-
-
- /*
- * exp2()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) exp2(double_t x);
-
-
- /*
- * frexp()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) frexp(double_t x, int *exponent);
-
-
- /*
- * ldexp()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) ldexp(double_t x, int n);
-
-
- /*
- * log()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) log(double_t x);
-
-
- /*
- * log2()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) log2(double_t x);
-
-
- /*
- * log1p()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) log1p(double_t x);
-
-
- /*
- * log10()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) log10(double_t x);
-
-
- /*
- * logb()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) logb(double_t x);
+/********************************************************************************
+* *
+* Trigonometric functions *
+* *
+* acos result is in [0,pi]. *
+* asin result is in [-pi/2,pi/2]. *
+* atan result is in [-pi/2,pi/2]. *
+* atan2 Computes the arc tangent of y/x in [-pi,pi] using the sign of *
+* both arguments to determine the quadrant of the computed value. *
+* *
+********************************************************************************/
+/*
+ * cos()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) cos(double_t x);
+
+
+/*
+ * sin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) sin(double_t x);
+
+
+/*
+ * tan()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) tan(double_t x);
+
+
+/*
+ * acos()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) acos(double_t x);
+
+
+/*
+ * asin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) asin(double_t x);
+
+
+/*
+ * atan()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) atan(double_t x);
+
+
+/*
+ * atan2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) atan2(double_t y, double_t x);
+
+
+
+
+/********************************************************************************
+* *
+* Hyperbolic functions *
+* *
+********************************************************************************/
+/*
+ * cosh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) cosh(double_t x);
+
+
+/*
+ * sinh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) sinh(double_t x);
+
+
+/*
+ * tanh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) tanh(double_t x);
+
+
+/*
+ * acosh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) acosh(double_t x);
+
+
+/*
+ * asinh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) asinh(double_t x);
+
+
+/*
+ * atanh()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) atanh(double_t x);
+
+
+
+
+/********************************************************************************
+* *
+* Exponential functions *
+* *
+* expm1 expm1(x) = exp(x) - 1. But, for small enough arguments, *
+* expm1(x) is expected to be more accurate than exp(x) - 1. *
+* frexp Breaks a floating-point number into a normalized fraction *
+* and an integral power of 2. It stores the integer in the *
+* object pointed by *exponent. *
+* ldexp Multiplies a floating-point number by an integer power of 2. *
+* log1p log1p = log(1 + x). But, for small enough arguments, *
+* log1p is expected to be more accurate than log(1 + x). *
+* logb Extracts the exponent of its argument, as a signed integral *
+* value. A subnormal argument is treated as though it were first *
+* normalized. Thus: *
+* 1 <= x * 2^(-logb(x)) < 2 *
+* modf Returns fractional part of x as function result and returns *
+* integral part of x via iptr. Note C9X uses double not double_t. *
+* scalb Computes x * 2^n efficently. This is not normally done by *
+* computing 2^n explicitly. *
+* *
+********************************************************************************/
+/*
+ * exp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) exp(double_t x);
+
+
+/*
+ * expm1()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) expm1(double_t x);
+
+
+/*
+ * exp2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) exp2(double_t x);
+
+
+/*
+ * frexp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) frexp(double_t x, int *exponent);
+
+
+/*
+ * ldexp()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) ldexp(double_t x, int n);
+
+
+/*
+ * log()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) log(double_t x);
+
+
+/*
+ * log2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) log2(double_t x);
+
+
+/*
+ * log1p()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) log1p(double_t x);
+
+
+/*
+ * log10()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) log10(double_t x);
+
+
+/*
+ * logb()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) logb(double_t x);
#if !TYPE_LONGDOUBLE_IS_DOUBLE
- /*
- * modfl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) modfl(long double x, long double *iptrl);
+/*
+ * modfl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) modfl(long double x, long double *iptrl);
#endif /* !TYPE_LONGDOUBLE_IS_DOUBLE */
- /*
- * modf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) modf(double_t x, double_t *iptr);
-
-
- /*
- * modff()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float) modff(float x, float *iptrf);
-
-
-
- /*
- Note: For compatiblity scalb(x,n) has n of type
- int on Mac OS X
- long on Mac OS
- */
- typedef long _scalb_n_type;
- /*
- * scalb()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) scalb(double_t x, _scalb_n_type n);
-
-
-
-
- /********************************************************************************
- * *
- * Power and absolute value functions *
- * *
- * hypot Computes the square root of the sum of the squares of its *
- * arguments, without undue overflow or underflow. *
- * pow Returns x raised to the power of y. Result is more accurate *
- * than using exp(log(x)*y). *
- * *
- ********************************************************************************/
- /*
- * fabs()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) fabs(double_t x);
-
-
- /*
- * hypot()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) hypot(double_t x, double_t y);
-
-
- /*
- * pow()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) pow(double_t x, double_t y);
-
-
- /*
- * sqrt()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) sqrt(double_t x);
-
-
-
-
- /********************************************************************************
- * *
- * Gamma and Error functions *
- * *
- * erf The error function. *
- * erfc Complementary error function. *
- * gamma The gamma function. *
- * lgamma Computes the base-e logarithm of the absolute value of *
- * gamma of its argument x, for x > 0. *
- * *
- ********************************************************************************/
- /*
- * erf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) erf(double_t x);
-
-
- /*
- * erfc()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) erfc(double_t x);
-
-
- /*
- * gamma()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) gamma(double_t x);
-
-
- /*
- * lgamma()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) lgamma(double_t x);
-
-
-
-
- /********************************************************************************
- * *
- * Nearest integer functions *
- * *
- * rint Rounds its argument to an integral value in floating point *
- * format, honoring the current rounding direction. *
- * *
- * nearbyint Differs from rint only in that it does not raise the inexact *
- * exception. It is the nearbyint function recommended by the *
- * IEEE floating-point standard 854. *
- * *
- * rinttol Rounds its argument to the nearest long int using the current *
- * rounding direction. NOTE: if the rounded value is outside *
- * the range of long int, then the result is undefined. *
- * *
- * round Rounds the argument to the nearest integral value in floating *
- * point format similar to the Fortran "anint" function. That is: *
- * add half to the magnitude and chop. *
- * *
- * roundtol Similar to the Fortran function nint or to the Pascal round. *
- * NOTE: if the rounded value is outside the range of long int, *
- * then the result is undefined. *
- * *
- * trunc Computes the integral value, in floating format, nearest to *
- * but no larger in magnitude than its argument. NOTE: on 68K *
- * compilers when using -elems881, trunc must return an int *
- * *
- ********************************************************************************/
- /*
- * ceil()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) ceil(double_t x);
-
-
- /*
- * floor()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) floor(double_t x);
-
-
- /*
- * rint()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) rint(double_t x);
-
-
- /*
- * nearbyint()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) nearbyint(double_t x);
-
-
- /*
- * rinttol()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) rinttol(double_t x);
-
-
- /*
- * round()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) round(double_t x);
-
-
- /*
- * roundtol()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) roundtol(double_t round);
-
-
- /*
- Note: For compatiblity trunc(x) has a return type of
- int for classic 68K with FPU enabled
- double_t everywhere else
- */
+/*
+ * modf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) modf(double_t x, double_t *iptr);
+
+
+/*
+ * modff()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float ) modff(float x, float *iptrf);
+
+
+
+/*
+ Note: For compatiblity scalb(x,n) has n of type
+ int on Mac OS X
+ long on Mac OS
+*/
+typedef long _scalb_n_type;
+/*
+ * scalb()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) scalb(double_t x, _scalb_n_type n);
+
+
+
+
+/********************************************************************************
+* *
+* Power and absolute value functions *
+* *
+* hypot Computes the square root of the sum of the squares of its *
+* arguments, without undue overflow or underflow. *
+* pow Returns x raised to the power of y. Result is more accurate *
+* than using exp(log(x)*y). *
+* *
+********************************************************************************/
+/*
+ * fabs()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) fabs(double_t x);
+
+
+/*
+ * hypot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) hypot(double_t x, double_t y);
+
+
+/*
+ * pow()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) pow(double_t x, double_t y);
+
+
+/*
+ * sqrt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) sqrt(double_t x);
+
+
+
+
+/********************************************************************************
+* *
+* Gamma and Error functions *
+* *
+* erf The error function. *
+* erfc Complementary error function. *
+* gamma The gamma function. *
+* lgamma Computes the base-e logarithm of the absolute value of *
+* gamma of its argument x, for x > 0. *
+* *
+********************************************************************************/
+/*
+ * erf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) erf(double_t x);
+
+
+/*
+ * erfc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) erfc(double_t x);
+
+
+/*
+ * gamma()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) gamma(double_t x);
+
+
+/*
+ * lgamma()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) lgamma(double_t x);
+
+
+
+
+/********************************************************************************
+* *
+* Nearest integer functions *
+* *
+* rint Rounds its argument to an integral value in floating point *
+* format, honoring the current rounding direction. *
+* *
+* nearbyint Differs from rint only in that it does not raise the inexact *
+* exception. It is the nearbyint function recommended by the *
+* IEEE floating-point standard 854. *
+* *
+* rinttol Rounds its argument to the nearest long int using the current *
+* rounding direction. NOTE: if the rounded value is outside *
+* the range of long int, then the result is undefined. *
+* *
+* round Rounds the argument to the nearest integral value in floating *
+* point format similar to the Fortran "anint" function. That is: *
+* add half to the magnitude and chop. *
+* *
+* roundtol Similar to the Fortran function nint or to the Pascal round. *
+* NOTE: if the rounded value is outside the range of long int, *
+* then the result is undefined. *
+* *
+* trunc Computes the integral value, in floating format, nearest to *
+* but no larger in magnitude than its argument. NOTE: on 68K *
+* compilers when using -elems881, trunc must return an int *
+* *
+********************************************************************************/
+/*
+ * ceil()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) ceil(double_t x);
+
+
+/*
+ * floor()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) floor(double_t x);
+
+
+/*
+ * rint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) rint(double_t x);
+
+
+/*
+ * nearbyint()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) nearbyint(double_t x);
+
+
+/*
+ * rinttol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) rinttol(double_t x);
+
+
+/*
+ * round()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) round(double_t x);
+
+
+/*
+ * roundtol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) roundtol(double_t round);
+
+
+/*
+ Note: For compatiblity trunc(x) has a return type of
+ int for classic 68K with FPU enabled
+ double_t everywhere else
+*/
#if TARGET_RT_MAC_68881
- typedef int _trunc_return_type;
+typedef int _trunc_return_type;
#else
- typedef double_t _trunc_return_type;
+typedef double_t _trunc_return_type;
#endif /* TARGET_RT_MAC_68881 */
- /*
- * trunc()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(_trunc_return_type) trunc(double_t x);
-
-
-
-
-
- /********************************************************************************
- * *
- * Remainder functions *
- * *
- * remainder IEEE 754 floating point standard for remainder. *
- * remquo SANE remainder. It stores into 'quotient' the 7 low-order *
- * bits of the integer quotient x/y, such that: *
- * -127 <= quotient <= 127. *
- * *
- ********************************************************************************/
- /*
- * fmod()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) fmod(double_t x, double_t y);
-
-
- /*
- * remainder()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) remainder(double_t x, double_t y);
-
-
- /*
- * remquo()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) remquo(double_t x, double_t y, int *quo);
-
-
-
-
- /********************************************************************************
- * *
- * Auxiliary functions *
- * *
- * copysign Produces a value with the magnitude of its first argument *
- * and sign of its second argument. NOTE: the order of the *
- * arguments matches the recommendation of the IEEE 754 *
- * floating point standard, which is opposite from the SANE *
- * copysign function. *
- * *
- * nan The call 'nan("n-char-sequence")' returns a quiet NaN *
- * with content indicated through tagp in the selected *
- * data type format. *
- * *
- * nextafter Computes the next representable value after 'x' in the *
- * direction of 'y'. if x == y, then y is returned. *
- * *
- ********************************************************************************/
- /*
- * copysign()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) copysign(double_t x, double_t y);
-
-
- /*
- * nan()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double) nan(const char * tagp);
-
-
- /*
- * nanf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float) nanf(const char * tagp);
-
-
-
- /*
- * nanl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) nanl(const char * tagp);
+/*
+ * trunc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( _trunc_return_type ) trunc(double_t x);
+
+
+
+
+
+/********************************************************************************
+* *
+* Remainder functions *
+* *
+* remainder IEEE 754 floating point standard for remainder. *
+* remquo SANE remainder. It stores into 'quotient' the 7 low-order *
+* bits of the integer quotient x/y, such that: *
+* -127 <= quotient <= 127. *
+* *
+********************************************************************************/
+/*
+ * fmod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) fmod(double_t x, double_t y);
+
+
+/*
+ * remainder()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) remainder(double_t x, double_t y);
+
+
+/*
+ * remquo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) remquo(double_t x, double_t y, int *quo);
+
+
+
+
+/********************************************************************************
+* *
+* Auxiliary functions *
+* *
+* copysign Produces a value with the magnitude of its first argument *
+* and sign of its second argument. NOTE: the order of the *
+* arguments matches the recommendation of the IEEE 754 *
+* floating point standard, which is opposite from the SANE *
+* copysign function. *
+* *
+* nan The call 'nan("n-char-sequence")' returns a quiet NaN *
+* with content indicated through tagp in the selected *
+* data type format. *
+* *
+* nextafter Computes the next representable value after 'x' in the *
+* direction of 'y'. if x == y, then y is returned. *
+* *
+********************************************************************************/
+/*
+ * copysign()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) copysign(double_t x, double_t y);
+
+
+/*
+ * nan()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double ) nan(const char * tagp);
+
+
+/*
+ * nanf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float ) nanf(const char * tagp);
+
+
+
+/*
+ * nanl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) nanl(const char * tagp);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) nanl(const char *tagp)
- {
- return (long double) nan(tagp);
- }
-#else
-#define nanl(tagp) ((long double) nan(tagp))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) nanl(const char *tagp) { return (long double) nan(tagp); }
+ #else
+ #define nanl(tagp) ((long double) nan(tagp))
+ #endif
#endif
- /*
- * nextafterd()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double) nextafterd(double x, double y);
+/*
+ * nextafterd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double ) nextafterd(double x, double y);
- /*
- * nextafterf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float) nextafterf(float x, float y);
+/*
+ * nextafterf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float ) nextafterf(float x, float y);
- /*
- * nextafterl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) nextafterl(long double x, long double y);
+/*
+ * nextafterl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) nextafterl(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) nextafterl(long double x, long double y)
- {
- return (long double) nextafterd((double)(x), (double)(y));
- }
-#else
-#define nextafterl(x, y) ((long double) nextafterd((double)(x),(double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) nextafterl(long double x, long double y) { return (long double) nextafterd((double)(x),(double)(y)); }
+ #else
+ #define nextafterl(x, y) ((long double) nextafterd((double)(x),(double)(y)))
+ #endif
#endif
- /*
- * __fpclassifyd()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __fpclassifyd(double x);
+/*
+ * __fpclassifyd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __fpclassifyd(double x);
- /*
- * __fpclassifyf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __fpclassifyf(float x);
+/*
+ * __fpclassifyf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __fpclassifyf(float x);
- /*
- * __fpclassify()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long) __fpclassify(long double x);
+/*
+ * __fpclassify()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long ) __fpclassify(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long) __fpclassify(long double x)
- {
- return __fpclassifyd((double)(x));
- }
-#else
-#define __fpclassify(x) (__fpclassifyd((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long ) __fpclassify(long double x) { return __fpclassifyd((double)(x)); }
+ #else
+ #define __fpclassify(x) (__fpclassifyd((double)(x)))
+ #endif
#endif
- /*
- * __isnormald()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __isnormald(double x);
+/*
+ * __isnormald()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __isnormald(double x);
- /*
- * __isnormalf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __isnormalf(float x);
+/*
+ * __isnormalf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __isnormalf(float x);
- /*
- * __isnormal()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long) __isnormal(long double x);
+/*
+ * __isnormal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long ) __isnormal(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long) __isnormal(long double x)
- {
- return __isnormald((double)(x));
- }
-#else
-#define __isnormal(x) (__isnormald((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long ) __isnormal(long double x) { return __isnormald((double)(x)); }
+ #else
+ #define __isnormal(x) (__isnormald((double)(x)))
+ #endif
#endif
- /*
- * __isfinited()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __isfinited(double x);
+/*
+ * __isfinited()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __isfinited(double x);
- /*
- * __isfinitef()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __isfinitef(float x);
+/*
+ * __isfinitef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __isfinitef(float x);
- /*
- * __isfinite()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long) __isfinite(long double x);
+/*
+ * __isfinite()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long ) __isfinite(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long) __isfinite(long double x)
- {
- return __isfinited((double)(x));
- }
-#else
-#define __isfinite(x) (__isfinited((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long ) __isfinite(long double x) { return __isfinited((double)(x)); }
+ #else
+ #define __isfinite(x) (__isfinited((double)(x)))
+ #endif
#endif
- /*
- * __isnand()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __isnand(double x);
+/*
+ * __isnand()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __isnand(double x);
- /*
- * __isnanf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __isnanf(float x);
+/*
+ * __isnanf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __isnanf(float x);
- /*
- * __isnan()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long) __isnan(long double x);
+/*
+ * __isnan()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long ) __isnan(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long) __isnan(long double x)
- {
- return __isnand((double)(x));
- }
-#else
-#define __isnan(x) (__isnand((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long ) __isnan(long double x) { return __isnand((double)(x)); }
+ #else
+ #define __isnan(x) (__isnand((double)(x)))
+ #endif
#endif
- /*
- * __signbitd()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __signbitd(double x);
+/*
+ * __signbitd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __signbitd(double x);
- /*
- * __signbitf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) __signbitf(float x);
+/*
+ * __signbitf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) __signbitf(float x);
- /*
- * __signbit()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long) __signbit(long double x);
+/*
+ * __signbit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long ) __signbit(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long) __signbit(long double x)
- {
- return __signbitd((double)(x));
- }
-#else
-#define __signbit(x) (__signbitd((double)(x)))
-#endif
-#endif
-
-
- /*
- * __inf()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) __inf(void);
-
-
-
-
- /********************************************************************************
- * *
- * Inquiry macros *
- * *
- * fpclassify Returns one of the FP_* values. *
- * isnormal Non-zero if and only if the argument x is normalized. *
- * isfinite Non-zero if and only if the argument x is finite. *
- * isnan Non-zero if and only if the argument x is a NaN. *
- * signbit Non-zero if and only if the sign of the argument x is *
- * negative. This includes, NaNs, infinities and zeros. *
- * *
- ********************************************************************************/
- enum
- {
- FP_SNAN = 0, /* signaling NaN */
- FP_QNAN = 1, /* quiet NaN */
- FP_INFINITE = 2, /* + or - infinity */
- FP_ZERO = 3, /* + or - zero */
- FP_NORMAL = 4, /* all normal numbers */
- FP_SUBNORMAL = 5 /* denormal numbers */
- };
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long ) __signbit(long double x) { return __signbitd((double)(x)); }
+ #else
+ #define __signbit(x) (__signbitd((double)(x)))
+ #endif
+#endif
+
+
+/*
+ * __inf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) __inf(void);
+
+
+
+
+/********************************************************************************
+* *
+* Inquiry macros *
+* *
+* fpclassify Returns one of the FP_* values. *
+* isnormal Non-zero if and only if the argument x is normalized. *
+* isfinite Non-zero if and only if the argument x is finite. *
+* isnan Non-zero if and only if the argument x is a NaN. *
+* signbit Non-zero if and only if the sign of the argument x is *
+* negative. This includes, NaNs, infinities and zeros. *
+* *
+********************************************************************************/
+enum {
+ FP_SNAN = 0, /* signaling NaN */
+ FP_QNAN = 1, /* quiet NaN */
+ FP_INFINITE = 2, /* + or - infinity */
+ FP_ZERO = 3, /* + or - zero */
+ FP_NORMAL = 4, /* all normal numbers */
+ FP_SUBNORMAL = 5 /* denormal numbers */
+};
#define fpclassify(x) ( ( sizeof ( x ) == sizeof(double) ) ? \
__fpclassifyd ( x ) : \
@@ -1174,349 +1152,345 @@ extern "C" {
- /********************************************************************************
- * *
- * Max, Min and Positive Difference *
- * *
- * fdim Determines the 'positive difference' between its arguments: *
- * { x - y, if x > y }, { +0, if x <= y }. If one argument is *
- * NaN, then fdim returns that NaN. if both arguments are NaNs, *
- * then fdim returns the first argument. *
- * *
- * fmax Returns the maximum of the two arguments. Corresponds to the *
- * max function in FORTRAN. NaN arguments are treated as missing *
- * data. If one argument is NaN and the other is a number, then *
- * the number is returned. If both are NaNs then the first *
- * argument is returned. *
- * *
- * fmin Returns the minimum of the two arguments. Corresponds to the *
- * min function in FORTRAN. NaN arguments are treated as missing *
- * data. If one argument is NaN and the other is a number, then *
- * the number is returned. If both are NaNs then the first *
- * argument is returned. *
- * *
- ********************************************************************************/
- /*
- * fdim()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) fdim(double_t x, double_t y);
-
-
- /*
- * fmax()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) fmax(double_t x, double_t y);
-
-
- /*
- * fmin()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) fmin(double_t x, double_t y);
+/********************************************************************************
+* *
+* Max, Min and Positive Difference *
+* *
+* fdim Determines the 'positive difference' between its arguments: *
+* { x - y, if x > y }, { +0, if x <= y }. If one argument is *
+* NaN, then fdim returns that NaN. if both arguments are NaNs, *
+* then fdim returns the first argument. *
+* *
+* fmax Returns the maximum of the two arguments. Corresponds to the *
+* max function in FORTRAN. NaN arguments are treated as missing *
+* data. If one argument is NaN and the other is a number, then *
+* the number is returned. If both are NaNs then the first *
+* argument is returned. *
+* *
+* fmin Returns the minimum of the two arguments. Corresponds to the *
+* min function in FORTRAN. NaN arguments are treated as missing *
+* data. If one argument is NaN and the other is a number, then *
+* the number is returned. If both are NaNs then the first *
+* argument is returned. *
+* *
+********************************************************************************/
+/*
+ * fdim()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) fdim(double_t x, double_t y);
+
+
+/*
+ * fmax()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) fmax(double_t x, double_t y);
+
+
+/*
+ * fmin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) fmin(double_t x, double_t y);
#endif /* (defined(__MWERKS__) && defined(__cmath__)) || (TARGET_RT_MAC_MACHO && defined(__MATH__)) */
- /*******************************************************************************
- * Constants *
- *******************************************************************************/
- /*
- * pi
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- extern const double_t pi;
- /********************************************************************************
- * *
- * Non NCEG extensions *
- * *
- ********************************************************************************/
+/*******************************************************************************
+* Constants *
+*******************************************************************************/
+/*
+ * pi
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+extern const double_t pi;
+/********************************************************************************
+* *
+* Non NCEG extensions *
+* *
+********************************************************************************/
#ifndef __NOEXTENSIONS__
- /********************************************************************************
- * *
- * Financial functions *
- * *
- * compound Computes the compound interest factor "(1 + rate)^periods" *
- * more accurately than the straightforward computation with *
- * the Power function. This is SANE's compound function. *
- * *
- * annuity Computes the present value factor for an annuity *
- * "(1 - (1 + rate)^(-periods)) /rate" more accurately than *
- * the straightforward computation with the Power function. *
- * This is SANE's annuity function. *
- * *
- ********************************************************************************/
- /*
- * compound()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) compound(double_t rate, double_t periods);
-
-
- /*
- * annuity()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) annuity(double_t rate, double_t periods);
-
-
-
-
- /********************************************************************************
- * *
- * Random function *
- * *
- * randomx A pseudorandom number generator. It uses the iteration: *
- * (7^5*x)mod(2^31-1) *
- * *
- ********************************************************************************/
- /*
- * randomx()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) randomx(double_t * x);
-
-
-
-
- /*******************************************************************************
- * Relational operator *
- *******************************************************************************/
- /* relational operator */
- typedef short relop;
- enum
- {
- GREATERTHAN = 0,
- LESSTHAN = 1,
- EQUALTO = 2,
- UNORDERED = 3
- };
+/********************************************************************************
+* *
+* Financial functions *
+* *
+* compound Computes the compound interest factor "(1 + rate)^periods" *
+* more accurately than the straightforward computation with *
+* the Power function. This is SANE's compound function. *
+* *
+* annuity Computes the present value factor for an annuity *
+* "(1 - (1 + rate)^(-periods)) /rate" more accurately than *
+* the straightforward computation with the Power function. *
+* This is SANE's annuity function. *
+* *
+********************************************************************************/
+/*
+ * compound()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) compound(double_t rate, double_t periods);
+
+
+/*
+ * annuity()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) annuity(double_t rate, double_t periods);
+
+
+
+
+/********************************************************************************
+* *
+* Random function *
+* *
+* randomx A pseudorandom number generator. It uses the iteration: *
+* (7^5*x)mod(2^31-1) *
+* *
+********************************************************************************/
+/*
+ * randomx()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) randomx(double_t * x);
+
+
+
+
+/*******************************************************************************
+* Relational operator *
+*******************************************************************************/
+/* relational operator */
+typedef short relop;
+enum {
+ GREATERTHAN = 0,
+ LESSTHAN = 1,
+ EQUALTO = 2,
+ UNORDERED = 3
+};
#if !defined(__MWERKS__) || !defined(__cmath__)
- /*
- * relation()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(relop) relation(double_t x, double_t y);
+/*
+ * relation()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( relop ) relation(double_t x, double_t y);
#endif /* !defined(__MWERKS__) || !defined(__cmath__) */
- /********************************************************************************
- * *
- * Binary to decimal conversions *
- * *
- * SIGDIGLEN Significant decimal digits. *
- * *
- * decimal A record which provides an intermediate unpacked form for *
- * programmers who wish to do their own parsing of numeric input *
- * or formatting of numeric output. *
- * *
- * decform Controls each conversion to a decimal string. The style field *
- * is either FLOATDECIMAL or FIXEDDECIMAL. If FLOATDECIMAL, the *
- * value of the field digits is the number of significant digits. *
- * If FIXEDDECIMAL value of the field digits is the number of *
- * digits to the right of the decimal point. *
- * *
- * num2dec Converts a double_t to a decimal record using a decform. *
- * dec2num Converts a decimal record d to a double_t value. *
- * dec2str Converts a decform and decimal to a string using a decform. *
- * str2dec Converts a string to a decimal struct. *
- * dec2d Similar to dec2num except a double is returned (68k only). *
- * dec2f Similar to dec2num except a float is returned. *
- * dec2s Similar to dec2num except a short is returned. *
- * dec2l Similar to dec2num except a long is returned. *
- * *
- ********************************************************************************/
+/********************************************************************************
+* *
+* Binary to decimal conversions *
+* *
+* SIGDIGLEN Significant decimal digits. *
+* *
+* decimal A record which provides an intermediate unpacked form for *
+* programmers who wish to do their own parsing of numeric input *
+* or formatting of numeric output. *
+* *
+* decform Controls each conversion to a decimal string. The style field *
+* is either FLOATDECIMAL or FIXEDDECIMAL. If FLOATDECIMAL, the *
+* value of the field digits is the number of significant digits. *
+* If FIXEDDECIMAL value of the field digits is the number of *
+* digits to the right of the decimal point. *
+* *
+* num2dec Converts a double_t to a decimal record using a decform. *
+* dec2num Converts a decimal record d to a double_t value. *
+* dec2str Converts a decform and decimal to a string using a decform. *
+* str2dec Converts a string to a decimal struct. *
+* dec2d Similar to dec2num except a double is returned (68k only). *
+* dec2f Similar to dec2num except a float is returned. *
+* dec2s Similar to dec2num except a short is returned. *
+* dec2l Similar to dec2num except a long is returned. *
+* *
+********************************************************************************/
#if TARGET_CPU_PPC
-#define SIGDIGLEN 36
+ #define SIGDIGLEN 36
#elif TARGET_CPU_68K
-#define SIGDIGLEN 20
+ #define SIGDIGLEN 20
#elif TARGET_CPU_X86
-#define SIGDIGLEN 20
+ #define SIGDIGLEN 20
#endif
#define DECSTROUTLEN 80 /* max length for dec2str output */
#define FLOATDECIMAL ((char)(0))
#define FIXEDDECIMAL ((char)(1))
- struct decimal
- {
- char sgn; /* sign 0 for +, 1 for - */
- char unused;
- short exp; /* decimal exponent */
- struct
- {
- unsigned char length;
- unsigned char text[SIGDIGLEN]; /* significant digits */
- unsigned char unused;
- } sig;
- };
- typedef struct decimal decimal;
-
- struct decform
- {
- char style; /* FLOATDECIMAL or FIXEDDECIMAL */
- char unused;
- short digits;
- };
- typedef struct decform decform;
- /*
- * num2dec()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) num2dec(const decform *f, double_t x, decimal *d);
-
-
- /*
- * dec2num()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double_t) dec2num(const decimal * d);
-
-
- /*
- * dec2str()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) dec2str(const decform *f, const decimal *d, char *s);
-
-
- /*
- * str2dec()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) str2dec(const char *s, short *ix, decimal *d, short *vp);
+struct decimal {
+ char sgn; /* sign 0 for +, 1 for - */
+ char unused;
+ short exp; /* decimal exponent */
+ struct {
+ unsigned char length;
+ unsigned char text[SIGDIGLEN]; /* significant digits */
+ unsigned char unused;
+ } sig;
+};
+typedef struct decimal decimal;
+
+struct decform {
+ char style; /* FLOATDECIMAL or FIXEDDECIMAL */
+ char unused;
+ short digits;
+};
+typedef struct decform decform;
+/*
+ * num2dec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) num2dec(const decform *f, double_t x, decimal *d);
+
+
+/*
+ * dec2num()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double_t ) dec2num(const decimal * d);
+
+
+/*
+ * dec2str()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) dec2str(const decform *f, const decimal *d, char *s);
+
+
+/*
+ * str2dec()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) str2dec(const char *s, short *ix, decimal *d, short *vp);
#if TARGET_CPU_68K
#if CALL_NOT_IN_CARBON
- /*
- * dec2d()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(double) dec2d(const decimal * d);
+/*
+ * dec2d()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( double ) dec2d(const decimal * d);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_CPU_68K */
- /*
- * dec2f()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float) dec2f(const decimal * d);
+/*
+ * dec2f()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float ) dec2f(const decimal * d);
- /*
- * dec2s()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(short) dec2s(const decimal * d);
+/*
+ * dec2s()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( short ) dec2s(const decimal * d);
- /*
- * dec2l()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long) dec2l(const decimal * d);
+/*
+ * dec2l()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long ) dec2l(const decimal * d);
- /********************************************************************************
- * *
- * 68k-only Transfer Function Prototypes *
- * *
- ********************************************************************************/
+/********************************************************************************
+* *
+* 68k-only Transfer Function Prototypes *
+* *
+********************************************************************************/
#if TARGET_CPU_68K
#if CALL_NOT_IN_CARBON
- /*
- * x96tox80()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void) x96tox80(const extended96 *x, extended80 *x80);
-
-
- /*
- * x80tox96()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- */
- EXTERN_API_C(void) x80tox96(const extended80 *x80, extended96 *x);
+/*
+ * x96tox80()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void ) x96tox80(const extended96 *x, extended80 *x80);
+
+
+/*
+ * x80tox96()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void ) x80tox96(const extended80 *x80, extended96 *x);
#endif /* CALL_NOT_IN_CARBON */
@@ -1525,1090 +1499,943 @@ extern "C" {
#endif /* !defined(__NOEXTENSIONS__) */
- /********************************************************************************
- * *
- * PowerPC-only Function Prototypes *
- * *
- ********************************************************************************/
+/********************************************************************************
+* *
+* PowerPC-only Function Prototypes *
+* *
+********************************************************************************/
#if TARGET_CPU_PPC
#ifndef __MWERKS__ /* Metrowerks does not support double double */
- /*
- * cosl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) cosl(long double x);
+/*
+ * cosl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) cosl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) cosl(long double x)
- {
- return (long double) cos((double)(x));
- }
-#else
-#define cosl(x) ((long double) cos((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) cosl(long double x) { return (long double) cos((double)(x)); }
+ #else
+ #define cosl(x) ((long double) cos((double)(x)))
+ #endif
#endif
- /*
- * sinl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) sinl(long double x);
+/*
+ * sinl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) sinl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) sinl(long double x)
- {
- return (long double) sin((double)(x));
- }
-#else
-#define sinl(x) ((long double) sin((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) sinl(long double x) { return (long double) sin((double)(x)); }
+ #else
+ #define sinl(x) ((long double) sin((double)(x)))
+ #endif
#endif
- /*
- * tanl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) tanl(long double x);
+/*
+ * tanl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) tanl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) tanl(long double x)
- {
- return (long double) tan((double)(x));
- }
-#else
-#define tanl(x) ((long double) tan((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) tanl(long double x) { return (long double) tan((double)(x)); }
+ #else
+ #define tanl(x) ((long double) tan((double)(x)))
+ #endif
#endif
- /*
- * acosl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) acosl(long double x);
+/*
+ * acosl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) acosl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) acosl(long double x)
- {
- return (long double) acos((double)(x));
- }
-#else
-#define acosl(x) ((long double) acos((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) acosl(long double x) { return (long double) acos((double)(x)); }
+ #else
+ #define acosl(x) ((long double) acos((double)(x)))
+ #endif
#endif
- /*
- * asinl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) asinl(long double x);
+/*
+ * asinl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) asinl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) asinl(long double x)
- {
- return (long double) asin((double)(x));
- }
-#else
-#define asinl(x) ((long double) asin((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) asinl(long double x) { return (long double) asin((double)(x)); }
+ #else
+ #define asinl(x) ((long double) asin((double)(x)))
+ #endif
#endif
- /*
- * atanl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) atanl(long double x);
+/*
+ * atanl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) atanl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) atanl(long double x)
- {
- return (long double) atan((double)(x));
- }
-#else
-#define atanl(x) ((long double) atan((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) atanl(long double x) { return (long double) atan((double)(x)); }
+ #else
+ #define atanl(x) ((long double) atan((double)(x)))
+ #endif
#endif
- /*
- * atan2l()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) atan2l(long double y, long double x);
+/*
+ * atan2l()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) atan2l(long double y, long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) atan2l(long double y, long double x)
- {
- return (long double) atan2((double)(y), (double)(x));
- }
-#else
-#define atan2l(y, x) ((long double) atan2((double)(y), (double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) atan2l(long double y, long double x) { return (long double) atan2((double)(y), (double)(x)); }
+ #else
+ #define atan2l(y, x) ((long double) atan2((double)(y), (double)(x)))
+ #endif
#endif
- /*
- * coshl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) coshl(long double x);
+/*
+ * coshl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) coshl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) coshl(long double x)
- {
- return (long double) cosh((double)(x));
- }
-#else
-#define coshl(x) ((long double) cosh((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) coshl(long double x) { return (long double) cosh((double)(x)); }
+ #else
+ #define coshl(x) ((long double) cosh((double)(x)))
+ #endif
#endif
- /*
- * sinhl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) sinhl(long double x);
+/*
+ * sinhl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) sinhl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) sinhl(long double x)
- {
- return (long double) sinh((double)(x));
- }
-#else
-#define sinhl(x) ((long double) sinh((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) sinhl(long double x) { return (long double) sinh((double)(x)); }
+ #else
+ #define sinhl(x) ((long double) sinh((double)(x)))
+ #endif
#endif
- /*
- * tanhl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) tanhl(long double x);
+/*
+ * tanhl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) tanhl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) tanhl(long double x)
- {
- return (long double) tanh((double)(x));
- }
-#else
-#define tanhl(x) ((long double) tanh((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) tanhl(long double x) { return (long double) tanh((double)(x)); }
+ #else
+ #define tanhl(x) ((long double) tanh((double)(x)))
+ #endif
#endif
- /*
- * acoshl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) acoshl(long double x);
+/*
+ * acoshl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) acoshl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) acoshl(long double x)
- {
- return (long double) acosh((double)(x));
- }
-#else
-#define acoshl(x) ((long double) acosh((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) acoshl(long double x) { return (long double) acosh((double)(x)); }
+ #else
+ #define acoshl(x) ((long double) acosh((double)(x)))
+ #endif
#endif
- /*
- * asinhl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) asinhl(long double x);
+/*
+ * asinhl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) asinhl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) asinhl(long double x)
- {
- return (long double) asinh((double)(x));
- }
-#else
-#define asinhl(x) ((long double) asinh((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) asinhl(long double x) { return (long double) asinh((double)(x)); }
+ #else
+ #define asinhl(x) ((long double) asinh((double)(x)))
+ #endif
#endif
- /*
- * atanhl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) atanhl(long double x);
+/*
+ * atanhl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) atanhl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) atanhl(long double x)
- {
- return (long double) atanh((double)(x));
- }
-#else
-#define atanhl(x) ((long double) atanh((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) atanhl(long double x) { return (long double) atanh((double)(x)); }
+ #else
+ #define atanhl(x) ((long double) atanh((double)(x)))
+ #endif
#endif
- /*
- * expl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) expl(long double x);
+/*
+ * expl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) expl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) expl(long double x)
- {
- return (long double) exp((double)(x));
- }
-#else
-#define expl(x) ((long double) exp((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) expl(long double x) { return (long double) exp((double)(x)); }
+ #else
+ #define expl(x) ((long double) exp((double)(x)))
+ #endif
#endif
- /*
- * expm1l()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) expm1l(long double x);
+/*
+ * expm1l()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) expm1l(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) expm1l(long double x)
- {
- return (long double) expm1((double)(x));
- }
-#else
-#define expm1l(x) ((long double) expm1((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) expm1l(long double x) { return (long double) expm1((double)(x)); }
+ #else
+ #define expm1l(x) ((long double) expm1((double)(x)))
+ #endif
#endif
- /*
- * exp2l()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) exp2l(long double x);
+/*
+ * exp2l()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) exp2l(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) exp2l(long double x)
- {
- return (long double) exp2((double)(x));
- }
-#else
-#define exp2l(x) ((long double) exp2((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) exp2l(long double x) { return (long double) exp2((double)(x)); }
+ #else
+ #define exp2l(x) ((long double) exp2((double)(x)))
+ #endif
#endif
- /*
- * frexpl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) frexpl(long double x, int *exponent);
+/*
+ * frexpl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) frexpl(long double x, int *exponent);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) frexpl(long double x, int *exponent)
- {
- return (long double) frexp((double)(x), (exponent));
- }
-#else
-#define frexpl(x, exponent) ((long double) frexp((double)(x), (exponent)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) frexpl(long double x, int *exponent) { return (long double) frexp((double)(x), (exponent)); }
+ #else
+ #define frexpl(x, exponent) ((long double) frexp((double)(x), (exponent)))
+ #endif
#endif
- /*
- * ldexpl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) ldexpl(long double x, int n);
+/*
+ * ldexpl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) ldexpl(long double x, int n);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) ldexpl(long double x, int n)
- {
- return (long double) ldexp((double)(x), (n));
- }
-#else
-#define ldexpl(x, n) ((long double) ldexp((double)(x), (n)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) ldexpl(long double x, int n) { return (long double) ldexp((double)(x), (n)); }
+ #else
+ #define ldexpl(x, n) ((long double) ldexp((double)(x), (n)))
+ #endif
#endif
- /*
- * logl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) logl(long double x);
+/*
+ * logl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) logl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) logl(long double x)
- {
- return (long double) log((double)(x));
- }
-#else
-#define logl(x) ((long double) log((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) logl(long double x) { return (long double) log((double)(x)); }
+ #else
+ #define logl(x) ((long double) log((double)(x)))
+ #endif
#endif
- /*
- * log1pl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) log1pl(long double x);
+/*
+ * log1pl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) log1pl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) log1pl(long double x)
- {
- return (long double) log1p((double)(x));
- }
-#else
-#define log1pl(x) ((long double) log1p((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) log1pl(long double x) { return (long double) log1p((double)(x)); }
+ #else
+ #define log1pl(x) ((long double) log1p((double)(x)))
+ #endif
#endif
- /*
- * log10l()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) log10l(long double x);
+/*
+ * log10l()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) log10l(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) log10l(long double x)
- {
- return (long double) log10((double)(x));
- }
-#else
-#define log10l(x) ((long double) log10((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) log10l(long double x) { return (long double) log10((double)(x)); }
+ #else
+ #define log10l(x) ((long double) log10((double)(x)))
+ #endif
#endif
- /*
- * log2l()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) log2l(long double x);
+/*
+ * log2l()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) log2l(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) log2l(long double x)
- {
- return (long double) log2((double)(x));
- }
-#else
-#define log2l(x) ((long double) log2((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) log2l(long double x) { return (long double) log2((double)(x)); }
+ #else
+ #define log2l(x) ((long double) log2((double)(x)))
+ #endif
#endif
- /*
- * logbl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) logbl(long double x);
+/*
+ * logbl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) logbl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) logbl(long double x)
- {
- return (long double) logb((double)(x));
- }
-#else
-#define logbl(x) ((long double) logb((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) logbl(long double x) { return (long double) logb((double)(x)); }
+ #else
+ #define logbl(x) ((long double) logb((double)(x)))
+ #endif
#endif
- /*
- * scalbl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) scalbl(long double x, long n);
+/*
+ * scalbl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) scalbl(long double x, long n);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) scalbl(long double x, long n)
- {
- return (long double) scalb((double)(x), (n));
- }
-#else
-#define scalbl(x, n) ((long double) scalb((double)(x), (n)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) scalbl(long double x, long n) { return (long double) scalb((double)(x), (n)); }
+ #else
+ #define scalbl(x, n) ((long double) scalb((double)(x), (n)))
+ #endif
#endif
- /*
- * fabsl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) fabsl(long double x);
+/*
+ * fabsl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) fabsl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) fabsl(long double x)
- {
- return (long double) fabs((double)(x));
- }
-#else
-#define fabsl(x) ((long double) fabs((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) fabsl(long double x) { return (long double) fabs((double)(x)); }
+ #else
+ #define fabsl(x) ((long double) fabs((double)(x)))
+ #endif
#endif
- /*
- * hypotl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) hypotl(long double x, long double y);
+/*
+ * hypotl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) hypotl(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) hypotl(long double x, long double y)
- {
- return (long double) hypot((double)(x), (double)(y));
- }
-#else
-#define hypotl(x, y) ((long double) hypot((double)(x), (double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) hypotl(long double x, long double y) { return (long double) hypot((double)(x), (double)(y)); }
+ #else
+ #define hypotl(x, y) ((long double) hypot((double)(x), (double)(y)))
+ #endif
#endif
- /*
- * powl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) powl(long double x, long double y);
+/*
+ * powl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) powl(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) powl(long double x, long double y)
- {
- return (long double) pow((double)(x), (double)(y));
- }
-#else
-#define powl(x, y) ((long double) pow((double)(x), (double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) powl(long double x, long double y) { return (long double) pow((double)(x), (double)(y)); }
+ #else
+ #define powl(x, y) ((long double) pow((double)(x), (double)(y)))
+ #endif
#endif
- /*
- * sqrtl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) sqrtl(long double x);
+/*
+ * sqrtl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) sqrtl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) sqrtl(long double x)
- {
- return (long double) sqrt((double)(x));
- }
-#else
-#define sqrtl(x) ((long double) sqrt((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) sqrtl(long double x) { return (long double) sqrt((double)(x)); }
+ #else
+ #define sqrtl(x) ((long double) sqrt((double)(x)))
+ #endif
#endif
- /*
- * erfl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) erfl(long double x);
+/*
+ * erfl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) erfl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) erfl(long double x)
- {
- return (long double) erf((double)(x));
- }
-#else
-#define erfl(x) ((long double) erf((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) erfl(long double x) { return (long double) erf((double)(x)); }
+ #else
+ #define erfl(x) ((long double) erf((double)(x)))
+ #endif
#endif
- /*
- * erfcl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) erfcl(long double x);
+/*
+ * erfcl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) erfcl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) erfcl(long double x)
- {
- return (long double) erfc((double)(x));
- }
-#else
-#define erfcl(x) ((long double) erfc((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) erfcl(long double x) { return (long double) erfc((double)(x)); }
+ #else
+ #define erfcl(x) ((long double) erfc((double)(x)))
+ #endif
#endif
- /*
- * gammal()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) gammal(long double x);
+/*
+ * gammal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) gammal(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) gammal(long double x)
- {
- return (long double) gamma((double)(x));
- }
-#else
-#define gammal(x) ((long double) gamma((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) gammal(long double x) { return (long double) gamma((double)(x)); }
+ #else
+ #define gammal(x) ((long double) gamma((double)(x)))
+ #endif
#endif
- /*
- * lgammal()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) lgammal(long double x);
+/*
+ * lgammal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) lgammal(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) lgammal(long double x)
- {
- return (long double) lgamma((double)(x));
- }
-#else
-#define lgammal(x) ((long double) lgamma((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) lgammal(long double x) { return (long double) lgamma((double)(x)); }
+ #else
+ #define lgammal(x) ((long double) lgamma((double)(x)))
+ #endif
#endif
- /*
- * ceill()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 2.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) ceill(long double x);
+/*
+ * ceill()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 2.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) ceill(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) ceill(long double x)
- {
- return (long double) ceil((double)(x));
- }
-#else
-#define ceill(x) ((long double) ceil((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) ceill(long double x) { return (long double) ceil((double)(x)); }
+ #else
+ #define ceill(x) ((long double) ceil((double)(x)))
+ #endif
#endif
- /*
- * floorl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) floorl(long double x);
+/*
+ * floorl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) floorl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) floorl(long double x)
- {
- return (long double) floor((double)(x));
- }
-#else
-#define floorl(x) ((long double) floor((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) floorl(long double x) { return (long double) floor((double)(x)); }
+ #else
+ #define floorl(x) ((long double) floor((double)(x)))
+ #endif
#endif
- /*
- * rintl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) rintl(long double x);
+/*
+ * rintl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) rintl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) rintl(long double x)
- {
- return (long double) rint((double)(x));
- }
-#else
-#define rintl(x) ((long double) rint((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) rintl(long double x) { return (long double) rint((double)(x)); }
+ #else
+ #define rintl(x) ((long double) rint((double)(x)))
+ #endif
#endif
- /*
- * nearbyintl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) nearbyintl(long double x);
+/*
+ * nearbyintl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) nearbyintl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) nearbyintl(long double x)
- {
- return (long double) nearbyint((double)(x));
- }
-#else
-#define nearbyintl(x) ((long double) nearbyint((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) nearbyintl(long double x) { return (long double) nearbyint((double)(x)); }
+ #else
+ #define nearbyintl(x) ((long double) nearbyint((double)(x)))
+ #endif
#endif
- /*
- * rinttoll()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long) rinttoll(long double x);
+/*
+ * rinttoll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long ) rinttoll(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long) rinttoll(long double x)
- {
- return rinttol((double)(x));
- }
-#else
-#define rinttoll(x) (rinttol((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long ) rinttoll(long double x) { return rinttol((double)(x)); }
+ #else
+ #define rinttoll(x) (rinttol((double)(x)))
+ #endif
#endif
- /*
- * roundl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) roundl(long double x);
+/*
+ * roundl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) roundl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) roundl(long double x)
- {
- return (long double) round((double)(x));
- }
-#else
-#define roundl(x) ((long double) round((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) roundl(long double x) { return (long double) round((double)(x)); }
+ #else
+ #define roundl(x) ((long double) round((double)(x)))
+ #endif
#endif
- /*
- * roundtoll()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long) roundtoll(long double x);
+/*
+ * roundtoll()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long ) roundtoll(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long) roundtoll(long double x)
- {
- return roundtol((double)(x));
- }
-#else
-#define roundtoll(x) (roundtol((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long ) roundtoll(long double x) { return roundtol((double)(x)); }
+ #else
+ #define roundtoll(x) (roundtol((double)(x)))
+ #endif
#endif
- /*
- * truncl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) truncl(long double x);
+/*
+ * truncl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) truncl(long double x);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) truncl(long double x)
- {
- return (long double) trunc((double)(x));
- }
-#else
-#define truncl(x) ((long double) trunc((double)(x)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) truncl(long double x) { return (long double) trunc((double)(x)); }
+ #else
+ #define truncl(x) ((long double) trunc((double)(x)))
+ #endif
#endif
- /*
- * remainderl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) remainderl(long double x, long double y);
+/*
+ * remainderl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) remainderl(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) remainderl(long double x, long double y)
- {
- return (long double) remainder((double)(x), (double)(y));
- }
-#else
-#define remainderl(x, y) ((long double) remainder((double)(x), (double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) remainderl(long double x, long double y) { return (long double) remainder((double)(x), (double)(y)); }
+ #else
+ #define remainderl(x, y) ((long double) remainder((double)(x), (double)(y)))
+ #endif
#endif
- /*
- * remquol()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) remquol(long double x, long double y, int *quo);
+/*
+ * remquol()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) remquol(long double x, long double y, int *quo);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) remquol(long double x, long double y, int *quo)
- {
- return (long double) remquo((double)(x), (double)(y), (quo));
- }
-#else
-#define remquol(x, y, quo) ((long double) remquo((double)(x), (double)(y), (quo)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) remquol(long double x, long double y, int *quo) { return (long double) remquo((double)(x), (double)(y), (quo)); }
+ #else
+ #define remquol(x, y, quo) ((long double) remquo((double)(x), (double)(y), (quo)))
+ #endif
#endif
- /*
- * copysignl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) copysignl(long double x, long double y);
+/*
+ * copysignl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) copysignl(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) copysignl(long double x, long double y)
- {
- return (long double) copysign((double)(x), (double)(y));
- }
-#else
-#define copysignl(x, y) ((long double) copysign((double)(x), (double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) copysignl(long double x, long double y) { return (long double) copysign((double)(x), (double)(y)); }
+ #else
+ #define copysignl(x, y) ((long double) copysign((double)(x), (double)(y)))
+ #endif
#endif
- /*
- * fdiml()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) fdiml(long double x, long double y);
+/*
+ * fdiml()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) fdiml(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) fdiml(long double x, long double y)
- {
- return (long double) fdim((double)(x), (double)(y));
- }
-#else
-#define fdiml(x, y) ((long double) fdim((double)(x), (double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) fdiml(long double x, long double y) { return (long double) fdim((double)(x), (double)(y)); }
+ #else
+ #define fdiml(x, y) ((long double) fdim((double)(x), (double)(y)))
+ #endif
#endif
- /*
- * fmaxl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) fmaxl(long double x, long double y);
+/*
+ * fmaxl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) fmaxl(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) fmaxl(long double x, long double y)
- {
- return (long double) fmax((double)(x), (double)(y));
- }
-#else
-#define fmaxl(x, y) ((long double) fmax((double)(x), (double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) fmaxl(long double x, long double y) { return (long double) fmax((double)(x), (double)(y)); }
+ #else
+ #define fmaxl(x, y) ((long double) fmax((double)(x), (double)(y)))
+ #endif
#endif
- /*
- * fminl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) fminl(long double x, long double y);
+/*
+ * fminl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) fminl(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) fminl(long double x, long double y)
- {
- return (long double) fmin((double)(x), (double)(y));
- }
-#else
-#define fminl(x, y) ((long double) fmin((double)(x), (double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) fminl(long double x, long double y) { return (long double) fmin((double)(x), (double)(y)); }
+ #else
+ #define fminl(x, y) ((long double) fmin((double)(x), (double)(y)))
+ #endif
#endif
#endif /* __MWERKS__ */
#ifndef __NOEXTENSIONS__
- /*
- * relationl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(relop) relationl(long double x, long double y);
+/*
+ * relationl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( relop ) relationl(long double x, long double y);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(relop) relationl(long double x, long double y)
- {
- return relation((double)(x), (double)(y));
- }
-#else
-#define relationl(x, y) (relation((double)(x), (double)(y)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(relop ) relationl(long double x, long double y) { return relation((double)(x), (double)(y)); }
+ #else
+ #define relationl(x, y) (relation((double)(x), (double)(y)))
+ #endif
#endif
- /*
- * num2decl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void) num2decl(const decform *f, long double x, decimal *d);
+/*
+ * num2decl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void ) num2decl(const decform *f, long double x, decimal *d);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(void) num2decl(const decform *f, long double x, decimal *d)
- {
- num2dec((f), (double)(x), (d));
- }
-#else
-#define num2decl(f, x, d) (num2dec((f), (double)(x), (d)))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) num2decl(const decform *f, long double x, decimal *d) { num2dec((f), (double)(x), (d)); }
+ #else
+ #define num2decl(f, x, d) (num2dec((f), (double)(x), (d)))
+ #endif
#endif
- /*
- * dec2numl()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(long double) dec2numl(const decimal * d);
+/*
+ * dec2numl()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( long double ) dec2numl(const decimal * d);
#if TYPE_LONGDOUBLE_IS_DOUBLE
-#ifdef __cplusplus
- inline DEFINE_API_C(long double) dec2numl(const decimal *d)
- {
- return (long double) dec2num(d);
- }
-#else
-#define dec2numl(d) ((long double) dec2num(d))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(long double ) dec2numl(const decimal *d) { return (long double) dec2num(d); }
+ #else
+ #define dec2numl(d) ((long double) dec2num(d))
+ #endif
#endif
@@ -2619,75 +2446,68 @@ extern "C" {
#endif /* TARGET_OS_MAC */
#ifndef __NOEXTENSIONS__
- /*
- MathLib v2 has two new transfer functions: x80tod and dtox80. They can
- be used to directly transform 68k 80-bit extended data types to double
- and back for PowerPC based machines without using the functions
- x80told or ldtox80. Double rounding may occur.
- */
- /*
- * x80tod()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(double) x80tod(const extended80 * x80);
-
-
- /*
- * dtox80()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 2.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void) dtox80(const double *x, extended80 *x80);
-
-
- /*
- * x80told()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void) x80told(const extended80 *x80, long double *x);
+/*
+ MathLib v2 has two new transfer functions: x80tod and dtox80. They can
+ be used to directly transform 68k 80-bit extended data types to double
+ and back for PowerPC based machines without using the functions
+ x80told or ldtox80. Double rounding may occur.
+ */
+/*
+ * x80tod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( double ) x80tod(const extended80 * x80);
+
+
+/*
+ * dtox80()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 2.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void ) dtox80(const double *x, extended80 *x80);
+
+
+/*
+ * x80told()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void ) x80told(const extended80 *x80, long double *x);
#if TYPE_LONGDOUBLE_IS_DOUBLE && !TARGET_OS_WIN32
-#ifdef __cplusplus
- inline DEFINE_API_C(void) x80told(const extended80 *x80, long double *x)
- {
- *(x) = (long double) x80tod(x80);
- }
-#else
-#define x80told(x80, x) (*(x) = (long double) x80tod(x80))
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) x80told(const extended80 *x80, long double *x) { *(x) = (long double) x80tod(x80); }
+ #else
+ #define x80told(x80, x) (*(x) = (long double) x80tod(x80))
+ #endif
#endif
- /*
- * ldtox80()
- *
- * Availability:
- * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: not available
- */
- EXTERN_API_C(void) ldtox80(const long double *x, extended80 *x80);
+/*
+ * ldtox80()
+ *
+ * Availability:
+ * Non-Carbon CFM: in MathLib 1.0 and later or as macro/inline
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void ) ldtox80(const long double *x, extended80 *x80);
#if TYPE_LONGDOUBLE_IS_DOUBLE && !TARGET_OS_WIN32
-#ifdef __cplusplus
- inline DEFINE_API_C(void) ldtox80(const long double *x, extended80 *x80)
- {
- double d = (double) * (x);
- dtox80(&d, (x80));
- }
-#else
-#define ldtox80(x, x80) do { double d = (double) *(x); dtox80(&d, (x80)); } while (false)
-#endif
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) ldtox80(const long double *x, extended80 *x80) { double d = (double) *(x); dtox80(&d, (x80)); }
+ #else
+ #define ldtox80(x, x80) do { double d = (double) *(x); dtox80(&d, (x80)); } while (false)
+ #endif
#endif
@@ -2695,11 +2515,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/qt.h b/include/qt/qt.h
index 73dc8c13e..19ecf6411 100644
--- a/include/qt/qt.h
+++ b/include/qt/qt.h
@@ -2,10 +2,10 @@
namespace QT
{
-#include "QTML.h"
-#include "Movies.h"
-#include "scrap.h"
-#include "ImageCompression.h"
-#include "ImageCodec.h"
-#include "Quickdraw.h"
+ #include "QTML.h"
+ #include "Movies.h"
+ #include "scrap.h"
+ #include "ImageCompression.h"
+ #include "ImageCodec.h"
+ #include "Quickdraw.h"
} \ No newline at end of file
diff --git a/include/qt/vBLAS.h b/include/qt/vBLAS.h
index 213dd5495..638fecbeb 100644
--- a/include/qt/vBLAS.h
+++ b/include/qt/vBLAS.h
@@ -1,17 +1,17 @@
/*
File: vBLAS.h
-
+
Contains: Header for the Basic Linear Algebra Subprograms, with Apple extensions.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
/* ==========================================================================================================================*/
@@ -98,651 +98,647 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=power
+ #pragma options align=power
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#if PRAGMA_ENUM_ALWAYSINT
-#if defined(__fourbyteints__) && !__fourbyteints__
-#define __VBLAS__RESTORE_TWOBYTEINTS
-#pragma fourbyteints on
-#endif
-#pragma enumsalwaysint on
+ #if defined(__fourbyteints__) && !__fourbyteints__
+ #define __VBLAS__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints on
+ #endif
+ #pragma enumsalwaysint on
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=int
+ #pragma option enum=int
#elif PRAGMA_ENUM_PACK
-#if __option(pack_enums)
-#define __VBLAS__RESTORE_PACKED_ENUMS
-#pragma options(!pack_enums)
-#endif
+ #if __option(pack_enums)
+ #define __VBLAS__RESTORE_PACKED_ENUMS
+ #pragma options(!pack_enums)
+ #endif
#endif
- /*
- ==========================================================================================================================
- Types and constants
- ===================
- */
-
-
- enum CBLAS_ORDER {
- CblasRowMajor = 101,
- CblasColMajor = 102
- };
- typedef enum CBLAS_ORDER CBLAS_ORDER;
-
- enum CBLAS_TRANSPOSE
- {
- CblasNoTrans = 111,
- CblasTrans = 112,
- CblasConjTrans = 113
- };
- typedef enum CBLAS_TRANSPOSE CBLAS_TRANSPOSE;
-
- enum CBLAS_UPLO
- {
- CblasUpper = 121,
- CblasLower = 122
- };
- typedef enum CBLAS_UPLO CBLAS_UPLO;
-
- enum CBLAS_DIAG
- {
- CblasNonUnit = 131,
- CblasUnit = 132
- };
- typedef enum CBLAS_DIAG CBLAS_DIAG;
-
- enum CBLAS_SIDE
- {
- CblasLeft = 141,
- CblasRight = 142
- };
- typedef enum CBLAS_SIDE CBLAS_SIDE;
-
-
- /*
- ------------------------------------------------------------------------------------------------------------------
- IsAlignedCount - True if an integer is positive and a multiple of 4. Negative strides are considered unaligned.
- IsAlignedAddr - True if an address is a multiple of 16.
- */
+/*
+ ==========================================================================================================================
+ Types and constants
+ ===================
+*/
+
+
+enum CBLAS_ORDER {
+ CblasRowMajor = 101,
+ CblasColMajor = 102
+};
+typedef enum CBLAS_ORDER CBLAS_ORDER;
+
+enum CBLAS_TRANSPOSE {
+ CblasNoTrans = 111,
+ CblasTrans = 112,
+ CblasConjTrans = 113
+};
+typedef enum CBLAS_TRANSPOSE CBLAS_TRANSPOSE;
+
+enum CBLAS_UPLO {
+ CblasUpper = 121,
+ CblasLower = 122
+};
+typedef enum CBLAS_UPLO CBLAS_UPLO;
+
+enum CBLAS_DIAG {
+ CblasNonUnit = 131,
+ CblasUnit = 132
+};
+typedef enum CBLAS_DIAG CBLAS_DIAG;
+
+enum CBLAS_SIDE {
+ CblasLeft = 141,
+ CblasRight = 142
+};
+typedef enum CBLAS_SIDE CBLAS_SIDE;
+
+
+/*
+ ------------------------------------------------------------------------------------------------------------------
+ IsAlignedCount - True if an integer is positive and a multiple of 4. Negative strides are considered unaligned.
+ IsAlignedAddr - True if an address is a multiple of 16.
+*/
#define IsAlignedCount(n) ( (n > 0) && ((n & 3L) == 0) )
#define IsAlignedAddr(a) ( ((long)a & 15L) == 0 )
- /*
- ==========================================================================================================================
- ==========================================================================================================================
- Legacy BLAS Functions
- ==========================================================================================================================
- ==========================================================================================================================
- */
-
-
- /*
- ==========================================================================================================================
- Level 1 Single Precision Functions
- ==================================
- */
-
-
- /*
- * cblas_sdot()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- cblas_sdot(
- int N,
- const float * X,
- int incX,
- const float * Y,
- int incY);
-
-
- /*
- * cblas_snrm2()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- cblas_snrm2(
- int N,
- const float * X,
- int incX);
-
-
- /*
- * cblas_sasum()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- cblas_sasum(
- int N,
- const float * X,
- int incX);
-
-
- /*
- * cblas_isamax()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(int)
- cblas_isamax(
- int N,
- const float * X,
- int incX);
-
-
- /*
- * cblas_sswap()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- cblas_sswap(
- int N,
- float * X,
- int incX,
- float * Y,
- int incY);
-
-
- /*
- * cblas_scopy()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- cblas_scopy(
- int N,
- const float * X,
- int incX,
- float * Y,
- int incY);
-
-
- /*
- * cblas_saxpy()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- cblas_saxpy(
- int N,
- float alpha,
- const float * X,
- int incX,
- float * Y,
- int incY);
-
-
- /*
- * cblas_srot()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- cblas_srot(
- int N,
- float * X,
- int incX,
- float * Y,
- int incY,
- float c,
- float s);
-
-
- /*
- * cblas_sscal()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- cblas_sscal(
- int N,
- float alpha,
- float * X,
- int incX);
-
-
-
- /*
- ==========================================================================================================================
- Level 1 Double Precision Functions
- ==================================
- */
-
-
- /* *** TBD ****/
-
-
- /*
- ==========================================================================================================================
- Level 1 Complex Single Precision Functions
- ==========================================
- */
-
-
- /* *** TBD ****/
-
-
- /*
- ==========================================================================================================================
- Level 2 Single Precision Functions
- ==================================
- */
-
-
- /*
- * cblas_sgemv()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- cblas_sgemv(
- CBLAS_ORDER order,
- CBLAS_TRANSPOSE transA,
- int M,
- int N,
- float alpha,
- const float * A,
- int lda,
- const float * X,
- int incX,
- float beta,
- float * Y,
- int incY);
-
-
-
- /*
- ==========================================================================================================================
- Level 2 Double Precision Functions
- ==================================
- */
+/*
+ ==========================================================================================================================
+ ==========================================================================================================================
+ Legacy BLAS Functions
+ ==========================================================================================================================
+ ==========================================================================================================================
+*/
- /* *** TBD ****/
+/*
+ ==========================================================================================================================
+ Level 1 Single Precision Functions
+ ==================================
+*/
- /*
- ==========================================================================================================================
- Level 2 Complex Single Precision Functions
- ==========================================
- */
+/*
+ * cblas_sdot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+cblas_sdot(
+ int N,
+ const float * X,
+ int incX,
+ const float * Y,
+ int incY);
- /* *** TBD ****/
+/*
+ * cblas_snrm2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+cblas_snrm2(
+ int N,
+ const float * X,
+ int incX);
- /*
- ==========================================================================================================================
- Level 3 Single Precision Functions
- ==================================
- */
+/*
+ * cblas_sasum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+cblas_sasum(
+ int N,
+ const float * X,
+ int incX);
- /*
- * cblas_sgemm()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- cblas_sgemm(
- CBLAS_ORDER order,
- CBLAS_TRANSPOSE transA,
- CBLAS_TRANSPOSE transB,
- int M,
- int N,
- int K,
- float alpha,
- const float * A,
- int lda,
- const float * B,
- int ldb,
- float beta,
- float * C,
- int ldc);
+/*
+ * cblas_isamax()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( int )
+cblas_isamax(
+ int N,
+ const float * X,
+ int incX);
+/*
+ * cblas_sswap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+cblas_sswap(
+ int N,
+ float * X,
+ int incX,
+ float * Y,
+ int incY);
- /*
- ==========================================================================================================================
- Level 3 Double Precision Functions
- ==================================
- */
+/*
+ * cblas_scopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+cblas_scopy(
+ int N,
+ const float * X,
+ int incX,
+ float * Y,
+ int incY);
- /* *** TBD ****/
+/*
+ * cblas_saxpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+cblas_saxpy(
+ int N,
+ float alpha,
+ const float * X,
+ int incX,
+ float * Y,
+ int incY);
- /*
- ==========================================================================================================================
- Level 3 Complex Single Precision Functions
- ==========================================
- */
+/*
+ * cblas_srot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+cblas_srot(
+ int N,
+ float * X,
+ int incX,
+ float * Y,
+ int incY,
+ float c,
+ float s);
- /* *** TBD ****/
+/*
+ * cblas_sscal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+cblas_sscal(
+ int N,
+ float alpha,
+ float * X,
+ int incX);
- /*
- ==========================================================================================================================
- ==========================================================================================================================
- Latest Standard BLAS Functions
- ==========================================================================================================================
- ==========================================================================================================================
- */
- /* *** TBD ****/
+/*
+ ==========================================================================================================================
+ Level 1 Double Precision Functions
+ ==================================
+*/
- /*
- ==========================================================================================================================
- ==========================================================================================================================
- Additional Functions from Apple
- ==========================================================================================================================
- ==========================================================================================================================
- */
+/* *** TBD ****/
- /*
- -------------------------------------------------------------------------------------------------
- These routines provide optimized, AltiVec-only support for common small matrix multiplications.
- They do not check for the availability of AltiVec instructions or parameter errors. They just do
- the multiplication as fast as possible. Matrices are presumed to use row major storage. Because
- these are all square, column major matrices can be multiplied by simply reversing the parameters.
- */
+/*
+ ==========================================================================================================================
+ Level 1 Complex Single Precision Functions
+ ==========================================
+*/
+
+
+/* *** TBD ****/
+
+
+/*
+ ==========================================================================================================================
+ Level 2 Single Precision Functions
+ ==================================
+*/
+
+
+/*
+ * cblas_sgemv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+cblas_sgemv(
+ CBLAS_ORDER order,
+ CBLAS_TRANSPOSE transA,
+ int M,
+ int N,
+ float alpha,
+ const float * A,
+ int lda,
+ const float * X,
+ int incX,
+ float beta,
+ float * Y,
+ int incY);
+
+
+
+/*
+ ==========================================================================================================================
+ Level 2 Double Precision Functions
+ ==================================
+*/
+
+
+/* *** TBD ****/
+
+
+/*
+ ==========================================================================================================================
+ Level 2 Complex Single Precision Functions
+ ==========================================
+*/
+
+
+/* *** TBD ****/
+
+
+/*
+ ==========================================================================================================================
+ Level 3 Single Precision Functions
+ ==================================
+*/
+
+
+/*
+ * cblas_sgemm()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+cblas_sgemm(
+ CBLAS_ORDER order,
+ CBLAS_TRANSPOSE transA,
+ CBLAS_TRANSPOSE transB,
+ int M,
+ int N,
+ int K,
+ float alpha,
+ const float * A,
+ int lda,
+ const float * B,
+ int ldb,
+ float beta,
+ float * C,
+ int ldc);
+
+
+
+/*
+ ==========================================================================================================================
+ Level 3 Double Precision Functions
+ ==================================
+*/
+
+
+/* *** TBD ****/
+
+
+/*
+ ==========================================================================================================================
+ Level 3 Complex Single Precision Functions
+ ==========================================
+*/
+
+
+/* *** TBD ****/
+
+
+/*
+ ==========================================================================================================================
+ ==========================================================================================================================
+ Latest Standard BLAS Functions
+ ==========================================================================================================================
+ ==========================================================================================================================
+*/
+
+
+/* *** TBD ****/
+
+
+/*
+ ==========================================================================================================================
+ ==========================================================================================================================
+ Additional Functions from Apple
+ ==========================================================================================================================
+ ==========================================================================================================================
+*/
+
+
+/*
+ -------------------------------------------------------------------------------------------------
+ These routines provide optimized, AltiVec-only support for common small matrix multiplications.
+ They do not check for the availability of AltiVec instructions or parameter errors. They just do
+ the multiplication as fast as possible. Matrices are presumed to use row major storage. Because
+ these are all square, column major matrices can be multiplied by simply reversing the parameters.
+*/
#ifdef __VEC__
- typedef vector float ConstVectorFloat;
- /*
- * vMultVecMat_4x4()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultVecMat_4x4(
- ConstVectorFloat X[1],
- ConstVectorFloat A[4][1],
- vector float Y[1]);
-
-
- /*
- * vMultMatVec_4x4()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultMatVec_4x4(
- ConstVectorFloat A[4][1],
- ConstVectorFloat X[1],
- vector float Y[1]);
-
-
- /*
- * vMultMatMat_4x4()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultMatMat_4x4(
- ConstVectorFloat A[4][1],
- ConstVectorFloat B[4][1],
- vector float C[4][1]);
-
-
-
- /*
- * vMultVecMat_8x8()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultVecMat_8x8(
- ConstVectorFloat X[2],
- ConstVectorFloat A[8][2],
- vector float Y[2]);
-
-
- /*
- * vMultMatVec_8x8()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultMatVec_8x8(
- ConstVectorFloat A[8][2],
- ConstVectorFloat X[2],
- vector float Y[2]);
-
-
- /*
- * vMultMatMat_8x8()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultMatMat_8x8(
- ConstVectorFloat A[8][2],
- ConstVectorFloat B[8][2],
- vector float C[8][2]);
-
-
-
- /*
- * vMultVecMat_16x16()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultVecMat_16x16(
- ConstVectorFloat X[4],
- ConstVectorFloat A[16][4],
- vector float Y[4]);
-
-
- /*
- * vMultMatVec_16x16()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultMatVec_16x16(
- ConstVectorFloat A[16][4],
- ConstVectorFloat X[4],
- vector float Y[4]);
-
-
- /*
- * vMultMatMat_16x16()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultMatMat_16x16(
- ConstVectorFloat A[16][4],
- ConstVectorFloat B[16][4],
- vector float C[16][4]);
-
-
-
- /*
- * vMultVecMat_32x32()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultVecMat_32x32(
- ConstVectorFloat X[8],
- ConstVectorFloat A[32][8],
- vector float Y[8]);
-
-
- /*
- * vMultMatVec_32x32()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultMatVec_32x32(
- ConstVectorFloat A[32][8],
- ConstVectorFloat X[8],
- vector float Y[8]);
-
-
- /*
- * vMultMatMat_32x32()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vMultMatMat_32x32(
- ConstVectorFloat A[32][8],
- ConstVectorFloat B[32][8],
- vector float C[32][8]);
+typedef vector float ConstVectorFloat;
+/*
+ * vMultVecMat_4x4()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultVecMat_4x4(
+ ConstVectorFloat X[1],
+ ConstVectorFloat A[4][1],
+ vector float Y[1]);
+
+
+/*
+ * vMultMatVec_4x4()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultMatVec_4x4(
+ ConstVectorFloat A[4][1],
+ ConstVectorFloat X[1],
+ vector float Y[1]);
+
+
+/*
+ * vMultMatMat_4x4()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultMatMat_4x4(
+ ConstVectorFloat A[4][1],
+ ConstVectorFloat B[4][1],
+ vector float C[4][1]);
+
+
+
+/*
+ * vMultVecMat_8x8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultVecMat_8x8(
+ ConstVectorFloat X[2],
+ ConstVectorFloat A[8][2],
+ vector float Y[2]);
+
+
+/*
+ * vMultMatVec_8x8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultMatVec_8x8(
+ ConstVectorFloat A[8][2],
+ ConstVectorFloat X[2],
+ vector float Y[2]);
+
+
+/*
+ * vMultMatMat_8x8()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultMatMat_8x8(
+ ConstVectorFloat A[8][2],
+ ConstVectorFloat B[8][2],
+ vector float C[8][2]);
+
+
+
+/*
+ * vMultVecMat_16x16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultVecMat_16x16(
+ ConstVectorFloat X[4],
+ ConstVectorFloat A[16][4],
+ vector float Y[4]);
+
+
+/*
+ * vMultMatVec_16x16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultMatVec_16x16(
+ ConstVectorFloat A[16][4],
+ ConstVectorFloat X[4],
+ vector float Y[4]);
+
+
+/*
+ * vMultMatMat_16x16()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultMatMat_16x16(
+ ConstVectorFloat A[16][4],
+ ConstVectorFloat B[16][4],
+ vector float C[16][4]);
+
+
+
+/*
+ * vMultVecMat_32x32()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultVecMat_32x32(
+ ConstVectorFloat X[8],
+ ConstVectorFloat A[32][8],
+ vector float Y[8]);
+
+
+/*
+ * vMultMatVec_32x32()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultMatVec_32x32(
+ ConstVectorFloat A[32][8],
+ ConstVectorFloat X[8],
+ vector float Y[8]);
+
+
+/*
+ * vMultMatMat_32x32()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vMultMatMat_32x32(
+ ConstVectorFloat A[32][8],
+ ConstVectorFloat B[32][8],
+ vector float C[32][8]);
#endif /* defined(__VEC__) */
- /*
- ==========================================================================================================================
- Error handling
- ==============
- */
+/*
+ ==========================================================================================================================
+ Error handling
+ ==============
+*/
- /*
- -------------------------------------------------------------------------------------------------
- The BLAS standard requires that parameter errors be reported and cause the program to terminate.
- The default behavior for the Mac OS implementation of the BLAS is to print a message in English
- to stdout using printf and call exit with EXIT_FAILURE as the status. If this is adequate, then
- you need do nothing more or worry about error handling.
- The BLAS standard also mentions a function, cblas_xerbla, suggesting that a program provide its
- own implementation to override the default error handling. This will not work in the shared
- library environment of Mac OS 9. Instead the Mac OS implementation provides a means to install
- an error handler. There can only be one active error handler, installing a new one causes any
- previous handler to be forgotten. Passing a null function pointer installs the default handler.
- The default handler is automatically installed at startup and implements the default behavior
- defined above.
- An error handler may return, it need not abort the program. If the error handler returns, the
- BLAS routine also returns immediately without performing any processing. Level 1 functions that
- return a numeric value return zero if the error handler returns.
- */
+/*
+ -------------------------------------------------------------------------------------------------
+ The BLAS standard requires that parameter errors be reported and cause the program to terminate.
+ The default behavior for the Mac OS implementation of the BLAS is to print a message in English
+ to stdout using printf and call exit with EXIT_FAILURE as the status. If this is adequate, then
+ you need do nothing more or worry about error handling.
+ The BLAS standard also mentions a function, cblas_xerbla, suggesting that a program provide its
+ own implementation to override the default error handling. This will not work in the shared
+ library environment of Mac OS 9. Instead the Mac OS implementation provides a means to install
+ an error handler. There can only be one active error handler, installing a new one causes any
+ previous handler to be forgotten. Passing a null function pointer installs the default handler.
+ The default handler is automatically installed at startup and implements the default behavior
+ defined above.
+ An error handler may return, it need not abort the program. If the error handler returns, the
+ BLAS routine also returns immediately without performing any processing. Level 1 functions that
+ return a numeric value return zero if the error handler returns.
+*/
- typedef CALLBACK_API_C(void , BLASParamErrorProc)(const char *funcName, const char *paramName, const int *paramPos, const int *paramValue);
- /*
- * SetBLASParamErrorProc()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0.2 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- SetBLASParamErrorProc(BLASParamErrorProc ErrorProc);
+typedef CALLBACK_API_C( void , BLASParamErrorProc )(const char *funcName, const char *paramName, const int *paramPos, const int *paramValue);
+/*
+ * SetBLASParamErrorProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0.2 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+SetBLASParamErrorProc(BLASParamErrorProc ErrorProc);
- /* ==========================================================================================================================*/
+/* ==========================================================================================================================*/
#if PRAGMA_ENUM_ALWAYSINT
-#pragma enumsalwaysint reset
-#ifdef __VBLAS__RESTORE_TWOBYTEINTS
-#pragma fourbyteints off
-#endif
+ #pragma enumsalwaysint reset
+ #ifdef __VBLAS__RESTORE_TWOBYTEINTS
+ #pragma fourbyteints off
+ #endif
#elif PRAGMA_ENUM_OPTIONS
-#pragma option enum=reset
+ #pragma option enum=reset
#elif defined(__VBLAS__RESTORE_PACKED_ENUMS)
-#pragma options(pack_enums)
+ #pragma options(pack_enums)
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/vBasicOps.h b/include/qt/vBasicOps.h
index 5750c5046..99c1535fb 100644
--- a/include/qt/vBasicOps.h
+++ b/include/qt/vBasicOps.h
@@ -1,17 +1,17 @@
/*
File: vBasicOps.h
-
+
Contains: Basic Algebraic Operations for AltiVec
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __VBASICOPS__
#define __VBASICOPS__
@@ -35,942 +35,942 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#ifdef __VEC__
- /*
- This section is a collection of algebraic functions that uses the AltiVec
- instruction set, and is designed to facilitate vector processing in
- mathematical programming. Following table indicates which functions are covered
- by AltiVec instruction set and which ones are performed by vBasicOps library:
-
- Legend:
- H/W = Hardware
- LIB = vBasicOps Library
- NRel = Next Release of vBasicOps Library
- N/A = Not Applicable
-
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | Data Type/ | U8 | S8 | U16 | S16 | U32 | S32 | U64 | S64 | U128 | S128 |
- | Function | | | | | | | | | | |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | Add | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | AddS | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | Sub | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | SubS | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | Mul(Half) | LIB | LIB | LIB | LIB | LIB | LIB | LIB | LIB | LIB | LIB |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- |Mul Even (Full)| H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB | N/A | N/A |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- |Mul Odd (Full)| H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB | N/A | N/A |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | Divide | LIB | LIB | LIB | LIB | LIB | LIB | LIB |NRel | LIB | LIB |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | Shift | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
- | Rotate | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
- +---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
-
-
-
- Following is a short description of functions in this section:
-
- Add: It takes two vectors of data elements and adds each element
- of the second vector to the corresponding element of the first
- vector and puts the result in the associated data element of the
- destination register.
-
- Subtract: It takes two vectors of data elements and subtracts each element
- of the second vector from the corresponding element of the first
- vector and puts the result in the associated data element of the
- destination register.
-
- Multiply: It takes two vectors of data elements and multiplies each element
- of the first vector by the corresponding element of the second
- vector and puts the result in the associated data element of the
- destination register.
-
- Divide: It takes two vectors of data elements and divides each element
- of the first vector by the corresponding element of the second
- vector and puts the result in the associated data element of the
- destination register. A pointer is passed to the function to get
- the remainder.
-
- Shift: It takes a vector of two 64-bit data elements or one 128-bit
- data element and shifts it to right or left, in a logical or
- algebraic manner, using a shift factor that is passed as an
- arguement to the function.
-
- Rotate: It takes a vector of two 64-bit data elements or one 128-bit
- data element and rotates it to right or left, using a shift
- factor that is passed as an arguement to the function.
-
-
- Following abbreviations are used in the names of functions in this section:
-
- v Vector
- U Unsigned
- S Signed
- 8 8-bit
- 16 16-bit
- 32 32-bit
- 64 64-bit
- 128 128-bit
- Add Addition
- AddS Addition with Saturation
- Sub Subtraction
- SubS Subtraction with Saturation
- Mul Multiplication
- Divide Division
- Half Half (multiplication, width of result is the same as width of
- operands)
- Full Full (multiplication, width of result is twice width of each
- operand)
- Even Multiplication is performed on EVEN data elements of vector
- (Please note that Big endian is used. So the left-most
- data element is labled as element 0)
- Odd Multiplication is performed on ODD data elements of vector.
- A Algebraic
- LL Logical Left
- LR Logical Right
- Shift Shift by one factor
- Shift2 Shift by two factors( only apply to 64 bit operation )
- Rotate Rotate by one factor
- Rotate2 Rotate by two factors( only apply to 64 bit operation )
-
- */
-
- /*
- * vU8Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned char)
- vU8Divide(
- vector unsigned char vN,
- vector unsigned char vD,
- vector unsigned char * vRemainder);
-
-
- /*
- * vS8Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed char)
- vS8Divide(
- vector signed char vN,
- vector signed char vD,
- vector signed char * vRemainder);
-
-
- /*
- * vU16Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned short)
- vU16Divide(
- vector unsigned short vN,
- vector unsigned short vD,
- vector unsigned short * vRemainder);
-
-
- /*
- * vS16Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed short)
- vS16Divide(
- vector signed short vN,
- vector signed short vD,
- vector signed short * vRemainder);
-
-
- /*
- * vU32Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU32Divide(
- vector unsigned int vN,
- vector unsigned int vD,
- vector unsigned int * vRemainder);
-
-
- /*
- * vS32Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS32Divide(
- vector signed int vN,
- vector signed int vD,
- vector signed int * vRemainder);
-
-
- /*
- * vU64Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU64Divide(
- vector unsigned int vN,
- vector unsigned int vD,
- vector unsigned int * vRemainder);
-
-
- /*
- * vS64Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS64Divide(
- vector signed int vN,
- vector signed int vD,
- vector signed int * vRemainder);
-
-
- /*
- * vU128Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU128Divide(
- vector unsigned int vN,
- vector unsigned int vD,
- vector unsigned int * vRemainder);
-
-
- /*
- * vS128Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS128Divide(
- vector signed int vN,
- vector signed int vD,
- vector signed int * vRemainder);
-
-
-
- /*
- * vU8HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned char)
- vU8HalfMultiply(
- vector unsigned char vA,
- vector unsigned char vB);
-
-
- /*
- * vS8HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed char)
- vS8HalfMultiply(
- vector signed char vA,
- vector signed char vB);
-
-
- /*
- * vU16HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned short)
- vU16HalfMultiply(
- vector unsigned short vA,
- vector unsigned short vB);
-
-
- /*
- * vS16HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed short)
- vS16HalfMultiply(
- vector signed short vA,
- vector signed short vB);
-
-
- /*
- * vU32HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU32HalfMultiply(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vS32HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS32HalfMultiply(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vU32FullMulEven()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU32FullMulEven(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU32FullMulOdd()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU32FullMulOdd(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vS32FullMulEven()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS32FullMulEven(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS32FullMulOdd()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS32FullMulOdd(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vU64FullMulEven()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU64FullMulEven(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU64FullMulOdd()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU64FullMulOdd(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU64HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU64HalfMultiply(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vS64HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS64HalfMultiply(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS64FullMulEven()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS64FullMulEven(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS64FullMulOdd()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS64FullMulOdd(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vU128HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU128HalfMultiply(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vS128HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS128HalfMultiply(
- vector signed int vA,
- vector signed int vB);
-
-
-
- /*
- * vU64Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU64Sub(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU64SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU64SubS(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU128Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU128Sub(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU128SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU128SubS(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vS64Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS64Sub(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS128Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS128Sub(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS64SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS64SubS(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS128SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS128SubS(
- vector signed int vA,
- vector signed int vB);
-
-
-
- /*
- * vU64Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU64Add(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU64AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU64AddS(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU128Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU128Add(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vU128AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vU128AddS(
- vector unsigned int vA,
- vector unsigned int vB);
-
-
- /*
- * vS64Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS64Add(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS64AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS64AddS(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS128Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS128Add(
- vector signed int vA,
- vector signed int vB);
-
-
- /*
- * vS128AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector signed int)
- vS128AddS(
- vector signed int vA,
- vector signed int vB);
-
-
-
- /*
- * vLL64Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vLL64Shift(
- vector unsigned int vA,
- vector unsigned char vShiftFactor);
-
-
- /*
- * vA64Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vA64Shift(
- vector unsigned int vA,
- vector unsigned char vShiftFactor);
-
-
- /*
- * vLR64Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vLR64Shift(
- vector unsigned int vA,
- vector unsigned char vShiftFactor);
-
-
- /*
- * vLL64Shift2()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vLL64Shift2(
- vector unsigned int vA,
- vector unsigned char vShiftFactor);
-
-
- /*
- * vA64Shift2()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vA64Shift2(
- vector unsigned int vA,
- vector unsigned char vShiftFactor);
-
-
- /*
- * vLR64Shift2()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vLR64Shift2(
- vector unsigned int vA,
- vector unsigned char vShiftFactor);
-
-
- /*
- * vA128Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vA128Shift(
- vector unsigned int vA,
- vector unsigned char vShiftFactor);
-
-
-
- /*
- * vL64Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vL64Rotate(
- vector unsigned int vA,
- vector unsigned char vRotateFactor);
-
-
- /*
- * vR64Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vR64Rotate(
- vector unsigned int vA,
- vector unsigned char vRotateFactor);
-
-
- /*
- * vL64Rotate2()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vL64Rotate2(
- vector unsigned int vA,
- vector unsigned char vRotateFactor);
-
-
- /*
- * vR64Rotate2()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vR64Rotate2(
- vector unsigned int vA,
- vector unsigned char vRotateFactor);
-
-
- /*
- * vL128Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vL128Rotate(
- vector unsigned int vA,
- vector unsigned char vRotateFactor);
-
-
- /*
- * vR128Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int)
- vR128Rotate(
- vector unsigned int vA,
- vector unsigned char vRotateFactor);
+/*
+ This section is a collection of algebraic functions that uses the AltiVec
+ instruction set, and is designed to facilitate vector processing in
+ mathematical programming. Following table indicates which functions are covered
+ by AltiVec instruction set and which ones are performed by vBasicOps library:
+
+Legend:
+ H/W = Hardware
+ LIB = vBasicOps Library
+ NRel = Next Release of vBasicOps Library
+ N/A = Not Applicable
+
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| Data Type/ | U8 | S8 | U16 | S16 | U32 | S32 | U64 | S64 | U128 | S128 |
+| Function | | | | | | | | | | |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| Add | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| AddS | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| Sub | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| SubS | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| Mul(Half) | LIB | LIB | LIB | LIB | LIB | LIB | LIB | LIB | LIB | LIB |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+|Mul Even (Full)| H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB | N/A | N/A |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+|Mul Odd (Full)| H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB | N/A | N/A |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| Divide | LIB | LIB | LIB | LIB | LIB | LIB | LIB |NRel | LIB | LIB |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| Shift | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+| Rotate | H/W | H/W | H/W | H/W | H/W | H/W | LIB | LIB | LIB | LIB |
++---------------+-----+-----+-----+-----+-----+-----+-----+-----+------+------+
+
+
+
+Following is a short description of functions in this section:
+
+ Add: It takes two vectors of data elements and adds each element
+ of the second vector to the corresponding element of the first
+ vector and puts the result in the associated data element of the
+ destination register.
+
+ Subtract: It takes two vectors of data elements and subtracts each element
+ of the second vector from the corresponding element of the first
+ vector and puts the result in the associated data element of the
+ destination register.
+
+ Multiply: It takes two vectors of data elements and multiplies each element
+ of the first vector by the corresponding element of the second
+ vector and puts the result in the associated data element of the
+ destination register.
+
+ Divide: It takes two vectors of data elements and divides each element
+ of the first vector by the corresponding element of the second
+ vector and puts the result in the associated data element of the
+ destination register. A pointer is passed to the function to get
+ the remainder.
+
+ Shift: It takes a vector of two 64-bit data elements or one 128-bit
+ data element and shifts it to right or left, in a logical or
+ algebraic manner, using a shift factor that is passed as an
+ arguement to the function.
+
+ Rotate: It takes a vector of two 64-bit data elements or one 128-bit
+ data element and rotates it to right or left, using a shift
+ factor that is passed as an arguement to the function.
+
+
+ Following abbreviations are used in the names of functions in this section:
+
+ v Vector
+ U Unsigned
+ S Signed
+ 8 8-bit
+ 16 16-bit
+ 32 32-bit
+ 64 64-bit
+ 128 128-bit
+ Add Addition
+ AddS Addition with Saturation
+ Sub Subtraction
+ SubS Subtraction with Saturation
+ Mul Multiplication
+ Divide Division
+ Half Half (multiplication, width of result is the same as width of
+ operands)
+ Full Full (multiplication, width of result is twice width of each
+ operand)
+ Even Multiplication is performed on EVEN data elements of vector
+ (Please note that Big endian is used. So the left-most
+ data element is labled as element 0)
+ Odd Multiplication is performed on ODD data elements of vector.
+ A Algebraic
+ LL Logical Left
+ LR Logical Right
+ Shift Shift by one factor
+ Shift2 Shift by two factors( only apply to 64 bit operation )
+ Rotate Rotate by one factor
+ Rotate2 Rotate by two factors( only apply to 64 bit operation )
+
+*/
+
+/*
+ * vU8Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned char )
+vU8Divide(
+ vector unsigned char vN,
+ vector unsigned char vD,
+ vector unsigned char * vRemainder);
+
+
+/*
+ * vS8Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed char )
+vS8Divide(
+ vector signed char vN,
+ vector signed char vD,
+ vector signed char * vRemainder);
+
+
+/*
+ * vU16Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned short )
+vU16Divide(
+ vector unsigned short vN,
+ vector unsigned short vD,
+ vector unsigned short * vRemainder);
+
+
+/*
+ * vS16Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed short )
+vS16Divide(
+ vector signed short vN,
+ vector signed short vD,
+ vector signed short * vRemainder);
+
+
+/*
+ * vU32Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU32Divide(
+ vector unsigned int vN,
+ vector unsigned int vD,
+ vector unsigned int * vRemainder);
+
+
+/*
+ * vS32Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS32Divide(
+ vector signed int vN,
+ vector signed int vD,
+ vector signed int * vRemainder);
+
+
+/*
+ * vU64Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU64Divide(
+ vector unsigned int vN,
+ vector unsigned int vD,
+ vector unsigned int * vRemainder);
+
+
+/*
+ * vS64Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS64Divide(
+ vector signed int vN,
+ vector signed int vD,
+ vector signed int * vRemainder);
+
+
+/*
+ * vU128Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU128Divide(
+ vector unsigned int vN,
+ vector unsigned int vD,
+ vector unsigned int * vRemainder);
+
+
+/*
+ * vS128Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS128Divide(
+ vector signed int vN,
+ vector signed int vD,
+ vector signed int * vRemainder);
+
+
+
+/*
+ * vU8HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned char )
+vU8HalfMultiply(
+ vector unsigned char vA,
+ vector unsigned char vB);
+
+
+/*
+ * vS8HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed char )
+vS8HalfMultiply(
+ vector signed char vA,
+ vector signed char vB);
+
+
+/*
+ * vU16HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned short )
+vU16HalfMultiply(
+ vector unsigned short vA,
+ vector unsigned short vB);
+
+
+/*
+ * vS16HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed short )
+vS16HalfMultiply(
+ vector signed short vA,
+ vector signed short vB);
+
+
+/*
+ * vU32HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU32HalfMultiply(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vS32HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS32HalfMultiply(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vU32FullMulEven()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU32FullMulEven(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU32FullMulOdd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU32FullMulOdd(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vS32FullMulEven()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS32FullMulEven(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS32FullMulOdd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS32FullMulOdd(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vU64FullMulEven()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU64FullMulEven(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU64FullMulOdd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU64FullMulOdd(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU64HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU64HalfMultiply(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vS64HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS64HalfMultiply(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS64FullMulEven()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS64FullMulEven(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS64FullMulOdd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS64FullMulOdd(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vU128HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU128HalfMultiply(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vS128HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS128HalfMultiply(
+ vector signed int vA,
+ vector signed int vB);
+
+
+
+/*
+ * vU64Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU64Sub(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU64SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU64SubS(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU128Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU128Sub(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU128SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU128SubS(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vS64Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS64Sub(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS128Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS128Sub(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS64SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS64SubS(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS128SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS128SubS(
+ vector signed int vA,
+ vector signed int vB);
+
+
+
+/*
+ * vU64Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU64Add(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU64AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU64AddS(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU128Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU128Add(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vU128AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vU128AddS(
+ vector unsigned int vA,
+ vector unsigned int vB);
+
+
+/*
+ * vS64Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS64Add(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS64AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS64AddS(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS128Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS128Add(
+ vector signed int vA,
+ vector signed int vB);
+
+
+/*
+ * vS128AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector signed int )
+vS128AddS(
+ vector signed int vA,
+ vector signed int vB);
+
+
+
+/*
+ * vLL64Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vLL64Shift(
+ vector unsigned int vA,
+ vector unsigned char vShiftFactor);
+
+
+/*
+ * vA64Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vA64Shift(
+ vector unsigned int vA,
+ vector unsigned char vShiftFactor);
+
+
+/*
+ * vLR64Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vLR64Shift(
+ vector unsigned int vA,
+ vector unsigned char vShiftFactor);
+
+
+/*
+ * vLL64Shift2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vLL64Shift2(
+ vector unsigned int vA,
+ vector unsigned char vShiftFactor);
+
+
+/*
+ * vA64Shift2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vA64Shift2(
+ vector unsigned int vA,
+ vector unsigned char vShiftFactor);
+
+
+/*
+ * vLR64Shift2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vLR64Shift2(
+ vector unsigned int vA,
+ vector unsigned char vShiftFactor);
+
+
+/*
+ * vA128Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vA128Shift(
+ vector unsigned int vA,
+ vector unsigned char vShiftFactor);
+
+
+
+/*
+ * vL64Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vL64Rotate(
+ vector unsigned int vA,
+ vector unsigned char vRotateFactor);
+
+
+/*
+ * vR64Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vR64Rotate(
+ vector unsigned int vA,
+ vector unsigned char vRotateFactor);
+
+
+/*
+ * vL64Rotate2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vL64Rotate2(
+ vector unsigned int vA,
+ vector unsigned char vRotateFactor);
+
+
+/*
+ * vR64Rotate2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vR64Rotate2(
+ vector unsigned int vA,
+ vector unsigned char vRotateFactor);
+
+
+/*
+ * vL128Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vL128Rotate(
+ vector unsigned int vA,
+ vector unsigned char vRotateFactor);
+
+
+/*
+ * vR128Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int )
+vR128Rotate(
+ vector unsigned int vA,
+ vector unsigned char vRotateFactor);
#endif /* defined(__VEC__) */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/vBigNum.h b/include/qt/vBigNum.h
index cac7f3aa0..be341d710 100644
--- a/include/qt/vBigNum.h
+++ b/include/qt/vBigNum.h
@@ -1,17 +1,17 @@
/*
File: vBigNum.h
-
+
Contains: Algebraic and logical operations on large operands.
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __VBIGNUM__
#define __VBIGNUM__
@@ -35,1366 +35,1350 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
#ifdef __VEC__
- /************************************************************************************
- * *
- * This library provides a set of subroutines for basic algebraic and some logical *
- * operations performed on operands with the following sizes: *
- * *
- * 128 - bits *
- * 256 - bits *
- * 512 - bits *
- * 1024 - bits *
- * *
- * Following basic and algebraic operations are included: *
- * *
- * Addition *
- * Subtraction *
- * Multiplication *
- * Division *
- * Mod *
- * Shift Right *
- * Shift Right Arithmatic *
- * Shift Left *
- * Rotate Right *
- * Rotate Left *
- * *
- * *
- ************************************************************************************/
- /***********************************************************************************
- * Following abbreviations are used in the names of functions in this library: *
- * *
- * v Vector *
- * U Unsigned *
- * S Signed *
- * 128 128 - bit *
- * 256 256 - bit *
- * 512 512 - bit *
- * 1024 1024 - bit *
- * Add Addition, modular arithmetic *
- * AddS Addition with Saturation *
- * Sub Subtraction, modular arithmetic *
- * SubS Subtraction with Saturation *
- * Multiply Multiplication *
- * Divide Division *
- * Half Half (multiplication, width of result is the same as width of *
- * operands) *
- * Full Full (multiplication, width of result is twice width of each *
- * operand) *
- * *
- * Mod Modular operation *
- * Neg Negate a number *
- * A Algebraic *
- * LL Logical Left *
- * LR Logical Right *
- * Shift Shift *
- * Rotate Rotation *
- * *
- ***********************************************************************************/
- /************************************************************************************
- * *
- * A few explanations for the choices made in naming, passing arguments, and *
- * various functions. *
- * *
- * 1) Names for the functions are made compatible with the names used in the *
- * vBasicOps library. The format of the names are the same and include a *
- * designation to show a vector operation, then a symbol for the type of data *
- * (signed or unsigned), followed by the size of operands, then the operation *
- * performed. *
- * *
- * 2) Note that the logical and arithmetic shiftLeft operation are the same. *
- * *
- * 3) Rotate operation is performed on unsigned and signed numbers. *
- * *
- ************************************************************************************/
-
- /************************************************************************************
- * *
- * Following are a set of structures for vector data types and scalar data types *
- * *
- ************************************************************************************/
-
- union vU128
- {
- vector unsigned int v;
- struct
- {
- unsigned long MSW;
- unsigned long d2;
- unsigned long d3;
- unsigned long LSW;
- } s;
- };
- typedef union vU128 vU128;
- union vS128
- {
- vector unsigned int v;
- struct
- {
- signed long MSW;
- unsigned long d2;
- unsigned long d3;
- unsigned long LSW;
- } s;
- };
- typedef union vS128 vS128;
- union vU256
- {
- vector unsigned int v[2];
- struct
- {
- unsigned long MSW;
- unsigned long d2;
- unsigned long d3;
- unsigned long d4;
- unsigned long d5;
- unsigned long d6;
- unsigned long d7;
- unsigned long LSW;
- } s;
- };
- typedef union vU256 vU256;
- union vS256
- {
- vector unsigned int v[2];
- struct
- {
- signed long MSW;
- unsigned long d2;
- unsigned long d3;
- unsigned long d4;
- unsigned long d5;
- unsigned long d6;
- unsigned long d7;
- unsigned long LSW;
- } s;
- };
- typedef union vS256 vS256;
- union vU512
- {
- vector unsigned int v[4];
- struct
- {
- unsigned long MSB;
- unsigned long d2;
- unsigned long d3;
- unsigned long d4;
- unsigned long d5;
- unsigned long d6;
- unsigned long d7;
- unsigned long d8;
- unsigned long d9;
- unsigned long d10;
- unsigned long d11;
- unsigned long d12;
- unsigned long d13;
- unsigned long d14;
- unsigned long d15;
- unsigned long LSB;
- } s;
- };
- typedef union vU512 vU512;
- union vS512
- {
- vector unsigned int v[4];
- struct
- {
- signed long MSW;
- unsigned long d2;
- unsigned long d3;
- unsigned long d4;
- unsigned long d5;
- unsigned long d6;
- unsigned long d7;
- unsigned long d8;
- unsigned long d9;
- unsigned long d10;
- unsigned long d11;
- unsigned long d12;
- unsigned long d13;
- unsigned long d14;
- unsigned long d15;
- unsigned long LSW;
- } s;
- };
- typedef union vS512 vS512;
- union vU1024
- {
- vector unsigned int v[8];
- struct
- {
- unsigned long MSW;
- unsigned long d2;
- unsigned long d3;
- unsigned long d4;
- unsigned long d5;
- unsigned long d6;
- unsigned long d7;
- unsigned long d8;
- unsigned long d9;
- unsigned long d10;
- unsigned long d11;
- unsigned long d12;
- unsigned long d13;
- unsigned long d14;
- unsigned long d15;
- unsigned long d16;
- unsigned long d17;
- unsigned long d18;
- unsigned long d19;
- unsigned long d20;
- unsigned long d21;
- unsigned long d22;
- unsigned long d23;
- unsigned long d24;
- unsigned long d25;
- unsigned long d26;
- unsigned long d27;
- unsigned long d28;
- unsigned long d29;
- unsigned long d30;
- unsigned long d31;
- unsigned long LSW;
- } s;
- };
- typedef union vU1024 vU1024;
- union vS1024
- {
- vector unsigned int v[8];
- struct
- {
- signed long MSW;
- unsigned long d2;
- unsigned long d3;
- unsigned long d4;
- unsigned long d5;
- unsigned long d6;
- unsigned long d7;
- unsigned long d8;
- unsigned long d9;
- unsigned long d10;
- unsigned long d11;
- unsigned long d12;
- unsigned long d13;
- unsigned long d14;
- unsigned long d15;
- unsigned long d16;
- unsigned long d17;
- unsigned long d18;
- unsigned long d19;
- unsigned long d20;
- unsigned long d21;
- unsigned long d22;
- unsigned long d23;
- unsigned long d24;
- unsigned long d25;
- unsigned long d26;
- unsigned long d27;
- unsigned long d28;
- unsigned long d29;
- unsigned long d30;
- unsigned long d31;
- unsigned long LSW;
- } s;
- };
- typedef union vS1024 vS1024;
-
- /************************************************************************************
- * *
- * Division operations *
- * *
- ************************************************************************************/
-
-
- /*
- * vU256Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256Divide(
- const vU256 * numerator,
- const vU256 * divisor,
- vU256 * result,
- vU256 * remainder);
-
-
- /*
- * vS256Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256Divide(
- const vS256 * numerator,
- const vS256 * divisor,
- vS256 * result,
- vS256 * remainder);
-
-
- /*
- * vU512Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512Divide(
- const vU512 * numerator,
- const vU512 * divisor,
- vU512 * result,
- vU512 * remainder);
-
-
- /*
- * vS512Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512Divide(
- const vS512 * numerator,
- const vS512 * divisor,
- vS512 * result,
- vS512 * remainder);
-
-
- /*
- * vU1024Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU1024Divide(
- const vU1024 * numerator,
- const vU1024 * divisor,
- vU1024 * result,
- vU1024 * remainder);
-
-
- /*
- * vS1024Divide()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS1024Divide(
- const vS1024 * numerator,
- const vS1024 * divisor,
- vS1024 * result,
- vS1024 * remainder);
-
-
-
- /************************************************************************************
- * *
- * Multiply operations *
- * *
- ************************************************************************************/
-
- /*
- * vU128FullMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU128FullMultiply(
- const vU128 * a,
- const vU128 * b,
- vU256 * result);
-
-
- /*
- * vS128FullMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS128FullMultiply(
- const vS128 * a,
- const vS128 * b,
- vS256 * result);
-
-
- /*
- * vU256FullMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256FullMultiply(
- const vU256 * a,
- const vU256 * b,
- vU512 * result);
-
-
- /*
- * vS256FullMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256FullMultiply(
- const vS256 * a,
- const vS256 * b,
- vS512 * result);
-
-
- /*
- * vU512FullMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512FullMultiply(
- const vU512 * a,
- const vU512 * b,
- vU1024 * result);
-
-
- /*
- * vS512FullMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512FullMultiply(
- const vS512 * a,
- const vS512 * b,
- vS1024 * result);
-
-
- /*
- * vU256HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256HalfMultiply(
- const vU256 * a,
- const vU256 * b,
- vU256 * result);
-
-
- /*
- * vS256HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256HalfMultiply(
- const vS256 * a,
- const vS256 * b,
- vS256 * result);
-
-
- /*
- * vU512HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512HalfMultiply(
- const vU512 * a,
- const vU512 * b,
- vU512 * result);
-
-
- /*
- * vS512HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512HalfMultiply(
- const vS512 * a,
- const vS512 * b,
- vS512 * result);
-
-
- /*
- * vU1024HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU1024HalfMultiply(
- const vU1024 * a,
- const vU1024 * b,
- vU1024 * result);
-
-
- /*
- * vS1024HalfMultiply()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS1024HalfMultiply(
- const vS1024 * a,
- const vS1024 * b,
- vS1024 * result);
-
-
-
- /************************************************************************************
- * *
- * Subtraction operations *
- * *
- ************************************************************************************/
-
- /*
- * vU256Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256Sub(
- const vU256 * a,
- const vU256 * b,
- vU256 * result);
-
-
- /*
- * vS256Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256Sub(
- const vS256 * a,
- const vS256 * b,
- vS256 * result);
-
-
- /*
- * vU256SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256SubS(
- const vU256 * a,
- const vU256 * b,
- vU256 * result);
-
-
- /*
- * vS256SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256SubS(
- const vS256 * a,
- const vS256 * b,
- vS256 * result);
-
-
- /*
- * vU512Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512Sub(
- const vU512 * a,
- const vU512 * b,
- vU512 * result);
-
-
- /*
- * vS512Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512Sub(
- const vS512 * a,
- const vS512 * b,
- vS512 * result);
-
-
- /*
- * vU512SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512SubS(
- const vU512 * a,
- const vU512 * b,
- vU512 * result);
-
-
- /*
- * vS512SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512SubS(
- const vS512 * a,
- const vS512 * b,
- vS512 * result);
-
-
- /*
- * vU1024Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU1024Sub(
- const vU1024 * a,
- const vU1024 * b,
- vU1024 * result);
-
-
- /*
- * vS1024Sub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS1024Sub(
- const vS1024 * a,
- const vS1024 * b,
- vS1024 * result);
-
-
- /*
- * vU1024SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU1024SubS(
- const vU1024 * a,
- const vU1024 * b,
- vU1024 * result);
-
-
- /*
- * vS1024SubS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS1024SubS(
- const vS1024 * a,
- const vS1024 * b,
- vS1024 * result);
-
-
-
- /************************************************************************************
- * *
- * Negate operations *
- * *
- ************************************************************************************/
-
- /*
- * vU256Neg()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256Neg(
- const vU256 * a,
- vU256 * result);
-
-
- /*
- * vS256Neg()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256Neg(
- const vS256 * a,
- vS256 * result);
-
-
- /*
- * vU512Neg()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512Neg(
- const vU512 * a,
- vU512 * result);
-
-
- /*
- * vS512Neg()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512Neg(
- const vS512 * a,
- vS512 * result);
-
-
- /*
- * vU1024Neg()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU1024Neg(
- const vU1024 * a,
- vU1024 * result);
-
-
- /*
- * vS1024Neg()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS1024Neg(
- const vS1024 * a,
- vS1024 * result);
-
-
-
- /************************************************************************************
- * *
- * Addition operations *
- * *
- ************************************************************************************/
-
- /*
- * vU256Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256Add(
- const vU256 * a,
- const vU256 * b,
- vU256 * result);
-
-
- /*
- * vS256Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256Add(
- const vS256 * a,
- const vS256 * b,
- vS256 * result);
-
-
- /*
- * vU256AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256AddS(
- const vU256 * a,
- const vU256 * b,
- vU256 * result);
-
-
- /*
- * vS256AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256AddS(
- const vS256 * a,
- const vS256 * b,
- vS256 * result);
-
-
- /*
- * vU512Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512Add(
- const vU512 * a,
- const vU512 * b,
- vU512 * result);
-
-
- /*
- * vS512Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512Add(
- const vS512 * a,
- const vS512 * b,
- vS512 * result);
-
-
- /*
- * vU512AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512AddS(
- const vU512 * a,
- const vU512 * b,
- vU512 * result);
-
-
- /*
- * vS512AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512AddS(
- const vS512 * a,
- const vS512 * b,
- vS512 * result);
-
-
- /*
- * vU1024Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU1024Add(
- const vU1024 * a,
- const vU1024 * b,
- vU1024 * result);
-
-
- /*
- * vS1024Add()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS1024Add(
- const vS1024 * a,
- const vS1024 * b,
- vS1024 * result);
-
-
- /*
- * vU1024AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU1024AddS(
- const vU1024 * a,
- const vU1024 * b,
- vU1024 * result);
-
-
- /*
- * vS1024AddS()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS1024AddS(
- const vS1024 * a,
- const vS1024 * b,
- vS1024 * result);
-
-
-
- /************************************************************************************
- * *
- * Mod operations *
- * *
- ************************************************************************************/
-
- /*
- * vU256Mod()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU256Mod(
- const vU256 * numerator,
- const vU256 * divisor,
- vU256 * remainder);
-
-
- /*
- * vS256Mod()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS256Mod(
- const vS256 * numerator,
- const vS256 * divisor,
- vS256 * remainder);
-
-
- /*
- * vU512Mod()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU512Mod(
- const vU512 * numerator,
- const vU512 * divisor,
- vU512 * remainder);
-
-
- /*
- * vS512Mod()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS512Mod(
- const vS512 * numerator,
- const vS512 * divisor,
- vS512 * remainder);
-
-
- /*
- * vU1024Mod()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vU1024Mod(
- const vU1024 * numerator,
- const vU1024 * divisor,
- vU1024 * remainder);
-
-
- /*
- * vS1024Mod()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vS1024Mod(
- const vS1024 * numerator,
- const vS1024 * divisor,
- vS1024 * remainder);
-
-
-
- /************************************************************************************
- * *
- * Shift operations *
- * *
- ************************************************************************************/
-
- /*
- * vLL256Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vLL256Shift(
- const vU256 * a,
- unsigned long shiftAmount,
- vU256 * result);
-
-
- /*
- * vLL512Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vLL512Shift(
- const vU512 * a,
- unsigned long shiftAmount,
- vU512 * result);
-
-
- /*
- * vLL1024Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vLL1024Shift(
- const vU1024 * a,
- unsigned long shiftAmount,
- vU1024 * result);
-
-
- /*
- * vLR256Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vLR256Shift(
- const vU256 * a,
- unsigned long shiftAmount,
- vU256 * result);
-
-
- /*
- * vLR512Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vLR512Shift(
- const vU512 * a,
- unsigned long shiftAmount,
- vU512 * result);
-
-
- /*
- * vLR1024Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vLR1024Shift(
- const vU1024 * a,
- unsigned long shiftAmount,
- vU1024 * result);
-
-
- /*
- * vA256Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vA256Shift(
- const vS256 * a,
- unsigned long shiftAmount,
- vS256 * result);
-
-
- /*
- * vA512Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vA512Shift(
- const vS512 * a,
- unsigned long shiftAmount,
- vS512 * result);
-
-
- /*
- * vA1024Shift()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vA1024Shift(
- const vS1024 * a,
- unsigned long shiftAmount,
- vS1024 * result);
-
-
-
- /************************************************************************************
- * *
- * Rotate operations *
- * *
- ************************************************************************************/
-
- /*
- * vL256Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vL256Rotate(
- const vU256 * a,
- unsigned long rotateAmount,
- vU256 * result);
-
-
- /*
- * vL512Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vL512Rotate(
- const vU512 * a,
- unsigned long rotateAmount,
- vU512 * result);
-
-
- /*
- * vL1024Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vL1024Rotate(
- const vU1024 * a,
- unsigned long rotateAmount,
- vU1024 * result);
-
-
- /*
- * vR256Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vR256Rotate(
- const vU256 * a,
- unsigned long rotateAmount,
- vU256 * result);
-
-
- /*
- * vR512Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vR512Rotate(
- const vU512 * a,
- unsigned long rotateAmount,
- vU512 * result);
-
-
- /*
- * vR1024Rotate()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vR1024Rotate(
- const vU1024 * a,
- unsigned long rotateAmount,
- vU1024 * result);
+/************************************************************************************
+* *
+* This library provides a set of subroutines for basic algebraic and some logical *
+* operations performed on operands with the following sizes: *
+* *
+* 128 - bits *
+* 256 - bits *
+* 512 - bits *
+* 1024 - bits *
+* *
+* Following basic and algebraic operations are included: *
+* *
+* Addition *
+* Subtraction *
+* Multiplication *
+* Division *
+* Mod *
+* Shift Right *
+* Shift Right Arithmatic *
+* Shift Left *
+* Rotate Right *
+* Rotate Left *
+* *
+* *
+************************************************************************************/
+/***********************************************************************************
+* Following abbreviations are used in the names of functions in this library: *
+* *
+* v Vector *
+* U Unsigned *
+* S Signed *
+* 128 128 - bit *
+* 256 256 - bit *
+* 512 512 - bit *
+* 1024 1024 - bit *
+* Add Addition, modular arithmetic *
+* AddS Addition with Saturation *
+* Sub Subtraction, modular arithmetic *
+* SubS Subtraction with Saturation *
+* Multiply Multiplication *
+* Divide Division *
+* Half Half (multiplication, width of result is the same as width of *
+* operands) *
+* Full Full (multiplication, width of result is twice width of each *
+* operand) *
+* *
+* Mod Modular operation *
+* Neg Negate a number *
+* A Algebraic *
+* LL Logical Left *
+* LR Logical Right *
+* Shift Shift *
+* Rotate Rotation *
+* *
+***********************************************************************************/
+/************************************************************************************
+* *
+* A few explanations for the choices made in naming, passing arguments, and *
+* various functions. *
+* *
+* 1) Names for the functions are made compatible with the names used in the *
+* vBasicOps library. The format of the names are the same and include a *
+* designation to show a vector operation, then a symbol for the type of data *
+* (signed or unsigned), followed by the size of operands, then the operation *
+* performed. *
+* *
+* 2) Note that the logical and arithmetic shiftLeft operation are the same. *
+* *
+* 3) Rotate operation is performed on unsigned and signed numbers. *
+* *
+************************************************************************************/
+
+/************************************************************************************
+* *
+* Following are a set of structures for vector data types and scalar data types *
+* *
+************************************************************************************/
+
+union vU128 {
+ vector unsigned int v;
+ struct {
+ unsigned long MSW;
+ unsigned long d2;
+ unsigned long d3;
+ unsigned long LSW;
+ } s;
+};
+typedef union vU128 vU128;
+union vS128 {
+ vector unsigned int v;
+ struct {
+ signed long MSW;
+ unsigned long d2;
+ unsigned long d3;
+ unsigned long LSW;
+ } s;
+};
+typedef union vS128 vS128;
+union vU256 {
+ vector unsigned int v[2];
+ struct {
+ unsigned long MSW;
+ unsigned long d2;
+ unsigned long d3;
+ unsigned long d4;
+ unsigned long d5;
+ unsigned long d6;
+ unsigned long d7;
+ unsigned long LSW;
+ } s;
+};
+typedef union vU256 vU256;
+union vS256 {
+ vector unsigned int v[2];
+ struct {
+ signed long MSW;
+ unsigned long d2;
+ unsigned long d3;
+ unsigned long d4;
+ unsigned long d5;
+ unsigned long d6;
+ unsigned long d7;
+ unsigned long LSW;
+ } s;
+};
+typedef union vS256 vS256;
+union vU512 {
+ vector unsigned int v[4];
+ struct {
+ unsigned long MSB;
+ unsigned long d2;
+ unsigned long d3;
+ unsigned long d4;
+ unsigned long d5;
+ unsigned long d6;
+ unsigned long d7;
+ unsigned long d8;
+ unsigned long d9;
+ unsigned long d10;
+ unsigned long d11;
+ unsigned long d12;
+ unsigned long d13;
+ unsigned long d14;
+ unsigned long d15;
+ unsigned long LSB;
+ } s;
+};
+typedef union vU512 vU512;
+union vS512 {
+ vector unsigned int v[4];
+ struct {
+ signed long MSW;
+ unsigned long d2;
+ unsigned long d3;
+ unsigned long d4;
+ unsigned long d5;
+ unsigned long d6;
+ unsigned long d7;
+ unsigned long d8;
+ unsigned long d9;
+ unsigned long d10;
+ unsigned long d11;
+ unsigned long d12;
+ unsigned long d13;
+ unsigned long d14;
+ unsigned long d15;
+ unsigned long LSW;
+ } s;
+};
+typedef union vS512 vS512;
+union vU1024 {
+ vector unsigned int v[8];
+ struct {
+ unsigned long MSW;
+ unsigned long d2;
+ unsigned long d3;
+ unsigned long d4;
+ unsigned long d5;
+ unsigned long d6;
+ unsigned long d7;
+ unsigned long d8;
+ unsigned long d9;
+ unsigned long d10;
+ unsigned long d11;
+ unsigned long d12;
+ unsigned long d13;
+ unsigned long d14;
+ unsigned long d15;
+ unsigned long d16;
+ unsigned long d17;
+ unsigned long d18;
+ unsigned long d19;
+ unsigned long d20;
+ unsigned long d21;
+ unsigned long d22;
+ unsigned long d23;
+ unsigned long d24;
+ unsigned long d25;
+ unsigned long d26;
+ unsigned long d27;
+ unsigned long d28;
+ unsigned long d29;
+ unsigned long d30;
+ unsigned long d31;
+ unsigned long LSW;
+ } s;
+};
+typedef union vU1024 vU1024;
+union vS1024 {
+ vector unsigned int v[8];
+ struct {
+ signed long MSW;
+ unsigned long d2;
+ unsigned long d3;
+ unsigned long d4;
+ unsigned long d5;
+ unsigned long d6;
+ unsigned long d7;
+ unsigned long d8;
+ unsigned long d9;
+ unsigned long d10;
+ unsigned long d11;
+ unsigned long d12;
+ unsigned long d13;
+ unsigned long d14;
+ unsigned long d15;
+ unsigned long d16;
+ unsigned long d17;
+ unsigned long d18;
+ unsigned long d19;
+ unsigned long d20;
+ unsigned long d21;
+ unsigned long d22;
+ unsigned long d23;
+ unsigned long d24;
+ unsigned long d25;
+ unsigned long d26;
+ unsigned long d27;
+ unsigned long d28;
+ unsigned long d29;
+ unsigned long d30;
+ unsigned long d31;
+ unsigned long LSW;
+ } s;
+};
+typedef union vS1024 vS1024;
+
+/************************************************************************************
+* *
+* Division operations *
+* *
+************************************************************************************/
+
+
+/*
+ * vU256Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256Divide(
+ const vU256 * numerator,
+ const vU256 * divisor,
+ vU256 * result,
+ vU256 * remainder);
+
+
+/*
+ * vS256Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256Divide(
+ const vS256 * numerator,
+ const vS256 * divisor,
+ vS256 * result,
+ vS256 * remainder);
+
+
+/*
+ * vU512Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512Divide(
+ const vU512 * numerator,
+ const vU512 * divisor,
+ vU512 * result,
+ vU512 * remainder);
+
+
+/*
+ * vS512Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512Divide(
+ const vS512 * numerator,
+ const vS512 * divisor,
+ vS512 * result,
+ vS512 * remainder);
+
+
+/*
+ * vU1024Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU1024Divide(
+ const vU1024 * numerator,
+ const vU1024 * divisor,
+ vU1024 * result,
+ vU1024 * remainder);
+
+
+/*
+ * vS1024Divide()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS1024Divide(
+ const vS1024 * numerator,
+ const vS1024 * divisor,
+ vS1024 * result,
+ vS1024 * remainder);
+
+
+
+/************************************************************************************
+* *
+* Multiply operations *
+* *
+************************************************************************************/
+
+/*
+ * vU128FullMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU128FullMultiply(
+ const vU128 * a,
+ const vU128 * b,
+ vU256 * result);
+
+
+/*
+ * vS128FullMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS128FullMultiply(
+ const vS128 * a,
+ const vS128 * b,
+ vS256 * result);
+
+
+/*
+ * vU256FullMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256FullMultiply(
+ const vU256 * a,
+ const vU256 * b,
+ vU512 * result);
+
+
+/*
+ * vS256FullMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256FullMultiply(
+ const vS256 * a,
+ const vS256 * b,
+ vS512 * result);
+
+
+/*
+ * vU512FullMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512FullMultiply(
+ const vU512 * a,
+ const vU512 * b,
+ vU1024 * result);
+
+
+/*
+ * vS512FullMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512FullMultiply(
+ const vS512 * a,
+ const vS512 * b,
+ vS1024 * result);
+
+
+/*
+ * vU256HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256HalfMultiply(
+ const vU256 * a,
+ const vU256 * b,
+ vU256 * result);
+
+
+/*
+ * vS256HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256HalfMultiply(
+ const vS256 * a,
+ const vS256 * b,
+ vS256 * result);
+
+
+/*
+ * vU512HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512HalfMultiply(
+ const vU512 * a,
+ const vU512 * b,
+ vU512 * result);
+
+
+/*
+ * vS512HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512HalfMultiply(
+ const vS512 * a,
+ const vS512 * b,
+ vS512 * result);
+
+
+/*
+ * vU1024HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU1024HalfMultiply(
+ const vU1024 * a,
+ const vU1024 * b,
+ vU1024 * result);
+
+
+/*
+ * vS1024HalfMultiply()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS1024HalfMultiply(
+ const vS1024 * a,
+ const vS1024 * b,
+ vS1024 * result);
+
+
+
+/************************************************************************************
+* *
+* Subtraction operations *
+* *
+************************************************************************************/
+
+/*
+ * vU256Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256Sub(
+ const vU256 * a,
+ const vU256 * b,
+ vU256 * result);
+
+
+/*
+ * vS256Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256Sub(
+ const vS256 * a,
+ const vS256 * b,
+ vS256 * result);
+
+
+/*
+ * vU256SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256SubS(
+ const vU256 * a,
+ const vU256 * b,
+ vU256 * result);
+
+
+/*
+ * vS256SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256SubS(
+ const vS256 * a,
+ const vS256 * b,
+ vS256 * result);
+
+
+/*
+ * vU512Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512Sub(
+ const vU512 * a,
+ const vU512 * b,
+ vU512 * result);
+
+
+/*
+ * vS512Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512Sub(
+ const vS512 * a,
+ const vS512 * b,
+ vS512 * result);
+
+
+/*
+ * vU512SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512SubS(
+ const vU512 * a,
+ const vU512 * b,
+ vU512 * result);
+
+
+/*
+ * vS512SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512SubS(
+ const vS512 * a,
+ const vS512 * b,
+ vS512 * result);
+
+
+/*
+ * vU1024Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU1024Sub(
+ const vU1024 * a,
+ const vU1024 * b,
+ vU1024 * result);
+
+
+/*
+ * vS1024Sub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS1024Sub(
+ const vS1024 * a,
+ const vS1024 * b,
+ vS1024 * result);
+
+
+/*
+ * vU1024SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU1024SubS(
+ const vU1024 * a,
+ const vU1024 * b,
+ vU1024 * result);
+
+
+/*
+ * vS1024SubS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS1024SubS(
+ const vS1024 * a,
+ const vS1024 * b,
+ vS1024 * result);
+
+
+
+/************************************************************************************
+* *
+* Negate operations *
+* *
+************************************************************************************/
+
+/*
+ * vU256Neg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256Neg(
+ const vU256 * a,
+ vU256 * result);
+
+
+/*
+ * vS256Neg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256Neg(
+ const vS256 * a,
+ vS256 * result);
+
+
+/*
+ * vU512Neg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512Neg(
+ const vU512 * a,
+ vU512 * result);
+
+
+/*
+ * vS512Neg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512Neg(
+ const vS512 * a,
+ vS512 * result);
+
+
+/*
+ * vU1024Neg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU1024Neg(
+ const vU1024 * a,
+ vU1024 * result);
+
+
+/*
+ * vS1024Neg()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS1024Neg(
+ const vS1024 * a,
+ vS1024 * result);
+
+
+
+/************************************************************************************
+* *
+* Addition operations *
+* *
+************************************************************************************/
+
+/*
+ * vU256Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256Add(
+ const vU256 * a,
+ const vU256 * b,
+ vU256 * result);
+
+
+/*
+ * vS256Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256Add(
+ const vS256 * a,
+ const vS256 * b,
+ vS256 * result);
+
+
+/*
+ * vU256AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256AddS(
+ const vU256 * a,
+ const vU256 * b,
+ vU256 * result);
+
+
+/*
+ * vS256AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256AddS(
+ const vS256 * a,
+ const vS256 * b,
+ vS256 * result);
+
+
+/*
+ * vU512Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512Add(
+ const vU512 * a,
+ const vU512 * b,
+ vU512 * result);
+
+
+/*
+ * vS512Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512Add(
+ const vS512 * a,
+ const vS512 * b,
+ vS512 * result);
+
+
+/*
+ * vU512AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512AddS(
+ const vU512 * a,
+ const vU512 * b,
+ vU512 * result);
+
+
+/*
+ * vS512AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512AddS(
+ const vS512 * a,
+ const vS512 * b,
+ vS512 * result);
+
+
+/*
+ * vU1024Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU1024Add(
+ const vU1024 * a,
+ const vU1024 * b,
+ vU1024 * result);
+
+
+/*
+ * vS1024Add()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS1024Add(
+ const vS1024 * a,
+ const vS1024 * b,
+ vS1024 * result);
+
+
+/*
+ * vU1024AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU1024AddS(
+ const vU1024 * a,
+ const vU1024 * b,
+ vU1024 * result);
+
+
+/*
+ * vS1024AddS()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS1024AddS(
+ const vS1024 * a,
+ const vS1024 * b,
+ vS1024 * result);
+
+
+
+/************************************************************************************
+* *
+* Mod operations *
+* *
+************************************************************************************/
+
+/*
+ * vU256Mod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU256Mod(
+ const vU256 * numerator,
+ const vU256 * divisor,
+ vU256 * remainder);
+
+
+/*
+ * vS256Mod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS256Mod(
+ const vS256 * numerator,
+ const vS256 * divisor,
+ vS256 * remainder);
+
+
+/*
+ * vU512Mod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU512Mod(
+ const vU512 * numerator,
+ const vU512 * divisor,
+ vU512 * remainder);
+
+
+/*
+ * vS512Mod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS512Mod(
+ const vS512 * numerator,
+ const vS512 * divisor,
+ vS512 * remainder);
+
+
+/*
+ * vU1024Mod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vU1024Mod(
+ const vU1024 * numerator,
+ const vU1024 * divisor,
+ vU1024 * remainder);
+
+
+/*
+ * vS1024Mod()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vS1024Mod(
+ const vS1024 * numerator,
+ const vS1024 * divisor,
+ vS1024 * remainder);
+
+
+
+/************************************************************************************
+* *
+* Shift operations *
+* *
+************************************************************************************/
+
+/*
+ * vLL256Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vLL256Shift(
+ const vU256 * a,
+ unsigned long shiftAmount,
+ vU256 * result);
+
+
+/*
+ * vLL512Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vLL512Shift(
+ const vU512 * a,
+ unsigned long shiftAmount,
+ vU512 * result);
+
+
+/*
+ * vLL1024Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vLL1024Shift(
+ const vU1024 * a,
+ unsigned long shiftAmount,
+ vU1024 * result);
+
+
+/*
+ * vLR256Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vLR256Shift(
+ const vU256 * a,
+ unsigned long shiftAmount,
+ vU256 * result);
+
+
+/*
+ * vLR512Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vLR512Shift(
+ const vU512 * a,
+ unsigned long shiftAmount,
+ vU512 * result);
+
+
+/*
+ * vLR1024Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vLR1024Shift(
+ const vU1024 * a,
+ unsigned long shiftAmount,
+ vU1024 * result);
+
+
+/*
+ * vA256Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vA256Shift(
+ const vS256 * a,
+ unsigned long shiftAmount,
+ vS256 * result);
+
+
+/*
+ * vA512Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vA512Shift(
+ const vS512 * a,
+ unsigned long shiftAmount,
+ vS512 * result);
+
+
+/*
+ * vA1024Shift()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vA1024Shift(
+ const vS1024 * a,
+ unsigned long shiftAmount,
+ vS1024 * result);
+
+
+
+/************************************************************************************
+* *
+* Rotate operations *
+* *
+************************************************************************************/
+
+/*
+ * vL256Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vL256Rotate(
+ const vU256 * a,
+ unsigned long rotateAmount,
+ vU256 * result);
+
+
+/*
+ * vL512Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vL512Rotate(
+ const vU512 * a,
+ unsigned long rotateAmount,
+ vU512 * result);
+
+
+/*
+ * vL1024Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vL1024Rotate(
+ const vU1024 * a,
+ unsigned long rotateAmount,
+ vU1024 * result);
+
+
+/*
+ * vR256Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vR256Rotate(
+ const vU256 * a,
+ unsigned long rotateAmount,
+ vU256 * result);
+
+
+/*
+ * vR512Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vR512Rotate(
+ const vU512 * a,
+ unsigned long rotateAmount,
+ vU512 * result);
+
+
+/*
+ * vR1024Rotate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vR1024Rotate(
+ const vU1024 * a,
+ unsigned long rotateAmount,
+ vU1024 * result);
@@ -1402,11 +1386,11 @@ extern "C" {
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/vDSP.h b/include/qt/vDSP.h
index 994017ee7..796be3106 100644
--- a/include/qt/vDSP.h
+++ b/include/qt/vDSP.h
@@ -1,17 +1,17 @@
/*
File: vDSP.h
-
+
Contains: AltiVec DSP Interfaces
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __VDSP__
#define __VDSP__
@@ -39,3101 +39,3095 @@ extern "C" {
#endif
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=mac68k
+ #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(push, 2)
+ #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
-#pragma pack(2)
+ #pragma pack(2)
#endif
- struct DSPComplex
- {
- float real;
- float imag;
- };
- typedef struct DSPComplex DSPComplex;
- struct DSPSplitComplex
- {
- float * realp;
- float * imagp;
- };
- typedef struct DSPSplitComplex DSPSplitComplex;
- struct DSPDoubleComplex
- {
- double real;
- double imag;
- };
- typedef struct DSPDoubleComplex DSPDoubleComplex;
- struct DSPDoubleSplitComplex
- {
- double * realp;
- double * imagp;
- };
- typedef struct DSPDoubleSplitComplex DSPDoubleSplitComplex;
- typedef struct OpaqueFFTSetup* FFTSetup;
- typedef struct OpaqueFFTSetupD* FFTSetupD;
- typedef SInt32 FFTDirection;
- enum
- {
- kFFTDirection_Forward = 1,
- kFFTDirection_Inverse = -1
- };
-
- typedef SInt32 FFTRadix;
- enum
- {
- kFFTRadix2 = 0,
- kFFTRadix3 = 1,
- kFFTRadix5 = 2
- };
-
- /*
- -------------------------------------------------------------------------------
- The criteria to invoke the PowerPC vector implementation is subject to
- change and become less restrictive in the future.
- -------------------------------------------------------------------------------
- */
-
- /*
- -------------------------------------------------------------------------------
- Functions create_fftsetup and destroy_fftsetup.
- create_fftsetupD and destroy_fftsetupD.
-
- create_fftsetup will allocate memory and setup a weight array used by
- the FFT. The call destroy_fftsetup will free the array.
- -------------------------------------------------------------------------------
- */
- /*
- * create_fftsetup()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(FFTSetup)
- create_fftsetup(
- UInt32 log2n,
- FFTRadix radix);
-
-
- /*
- * destroy_fftsetup()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- destroy_fftsetup(FFTSetup setup);
-
-
- /*
- * create_fftsetupD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(FFTSetupD)
- create_fftsetupD(
- UInt32 log2n,
- FFTRadix radix);
-
-
- /*
- * destroy_fftsetupD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- destroy_fftsetupD(FFTSetupD setup);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions ctoz and ztoc.
- ctozD and ztocD.
-
- ctoz converts a complex array to a complex-split array
- ztoc converts a complex-split array to a complex array
+struct DSPComplex {
+ float real;
+ float imag;
+};
+typedef struct DSPComplex DSPComplex;
+struct DSPSplitComplex {
+ float * realp;
+ float * imagp;
+};
+typedef struct DSPSplitComplex DSPSplitComplex;
+struct DSPDoubleComplex {
+ double real;
+ double imag;
+};
+typedef struct DSPDoubleComplex DSPDoubleComplex;
+struct DSPDoubleSplitComplex {
+ double * realp;
+ double * imagp;
+};
+typedef struct DSPDoubleSplitComplex DSPDoubleSplitComplex;
+typedef struct OpaqueFFTSetup* FFTSetup;
+typedef struct OpaqueFFTSetupD* FFTSetupD;
+typedef SInt32 FFTDirection;
+enum {
+ kFFTDirection_Forward = 1,
+ kFFTDirection_Inverse = -1
+};
+
+typedef SInt32 FFTRadix;
+enum {
+ kFFTRadix2 = 0,
+ kFFTRadix3 = 1,
+ kFFTRadix5 = 2
+};
- Criteria to invoke PowerPC vector code:
- 1. size > 3
- 2. strideC = 2
- 3. strideZ = 1
- 4. C is 16-byte aligned and Z.realp and Z.imagp are 16-byte aligned.
- -------------------------------------------------------------------------------
- */
- /*
- * ctoz()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- ctoz(
- const DSPComplex C[],
- SInt32 strideC,
- DSPSplitComplex * Z,
- SInt32 strideZ,
- UInt32 size);
-
-
- /*
- * ztoc()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- ztoc(
- const DSPSplitComplex * Z,
- SInt32 strideZ,
- DSPComplex C[],
- SInt32 strideC,
- UInt32 size);
-
-
- /*
- * ctozD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- ctozD(
- const DSPDoubleComplex C[],
- SInt32 strideC,
- DSPDoubleSplitComplex * Z,
- SInt32 strideZ,
- UInt32 size);
-
-
- /*
- * ztocD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- ztocD(
- const DSPDoubleSplitComplex * Z,
- SInt32 strideZ,
- DSPDoubleComplex C[],
- SInt32 strideC,
- UInt32 size);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions fft_zip and fft_zipt
- fft_zipD and fft_ziptD
-
- In-place Split Complex Fourier Transform with or without temporary memory.
-
- Criteria to invoke PowerPC vector code:
-
- 1. ioData.realp and ioData.imagp must be 16-byte aligned.
- 2. stride = 1
- 3. 2 <= log2n <= 20
- 4. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The size of temporary memory for each part
- is the lower value of 4*n and 16k. Direction can be either
- kFFTDirection_Forward or kFFTDirection_Inverse.
- -------------------------------------------------------------------------------
- */
- /*
- * fft_zip()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft_zip(
- FFTSetup setup,
- DSPSplitComplex * ioData,
- SInt32 stride,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zipt()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft_zipt(
- FFTSetup setup,
- DSPSplitComplex * ioData,
- SInt32 stride,
- DSPSplitComplex * bufferTemp,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zipD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft_zipD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 stride,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_ziptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft_ziptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 stride,
- DSPDoubleSplitComplex * bufferTemp,
- UInt32 log2n,
- FFTDirection direction);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions fft_zop and fft_zopt
- fft_zopD and fft_zoptD
-
- Out-of-place Split Complex Fourier Transform with or without temporary
- memory
-
- Criteria to invoke PowerPC vector code:
+/*
+-------------------------------------------------------------------------------
+ The criteria to invoke the PowerPC vector implementation is subject to
+ change and become less restrictive in the future.
+-------------------------------------------------------------------------------
+*/
+/*
+-------------------------------------------------------------------------------
+ Functions create_fftsetup and destroy_fftsetup.
+ create_fftsetupD and destroy_fftsetupD.
+
+ create_fftsetup will allocate memory and setup a weight array used by
+ the FFT. The call destroy_fftsetup will free the array.
+-------------------------------------------------------------------------------
+*/
+/*
+ * create_fftsetup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FFTSetup )
+create_fftsetup(
+ UInt32 log2n,
+ FFTRadix radix);
+
+
+/*
+ * destroy_fftsetup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+destroy_fftsetup(FFTSetup setup);
+
+
+/*
+ * create_fftsetupD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( FFTSetupD )
+create_fftsetupD(
+ UInt32 log2n,
+ FFTRadix radix);
+
+
+/*
+ * destroy_fftsetupD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+destroy_fftsetupD(FFTSetupD setup);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions ctoz and ztoc.
+ ctozD and ztocD.
+
+ ctoz converts a complex array to a complex-split array
+ ztoc converts a complex-split array to a complex array
+
+ Criteria to invoke PowerPC vector code:
+ 1. size > 3
+ 2. strideC = 2
+ 3. strideZ = 1
+ 4. C is 16-byte aligned and Z.realp and Z.imagp are 16-byte aligned.
+-------------------------------------------------------------------------------
+*/
+/*
+ * ctoz()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+ctoz(
+ const DSPComplex C[],
+ SInt32 strideC,
+ DSPSplitComplex * Z,
+ SInt32 strideZ,
+ UInt32 size);
+
+
+/*
+ * ztoc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+ztoc(
+ const DSPSplitComplex * Z,
+ SInt32 strideZ,
+ DSPComplex C[],
+ SInt32 strideC,
+ UInt32 size);
+
+
+/*
+ * ctozD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+ctozD(
+ const DSPDoubleComplex C[],
+ SInt32 strideC,
+ DSPDoubleSplitComplex * Z,
+ SInt32 strideZ,
+ UInt32 size);
+
+
+/*
+ * ztocD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+ztocD(
+ const DSPDoubleSplitComplex * Z,
+ SInt32 strideZ,
+ DSPDoubleComplex C[],
+ SInt32 strideC,
+ UInt32 size);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions fft_zip and fft_zipt
+ fft_zipD and fft_ziptD
+
+ In-place Split Complex Fourier Transform with or without temporary memory.
+
+ Criteria to invoke PowerPC vector code:
+
+ 1. ioData.realp and ioData.imagp must be 16-byte aligned.
+ 2. stride = 1
+ 3. 2 <= log2n <= 20
+ 4. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The size of temporary memory for each part
+ is the lower value of 4*n and 16k. Direction can be either
+ kFFTDirection_Forward or kFFTDirection_Inverse.
+-------------------------------------------------------------------------------
+*/
+/*
+ * fft_zip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft_zip(
+ FFTSetup setup,
+ DSPSplitComplex * ioData,
+ SInt32 stride,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zipt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft_zipt(
+ FFTSetup setup,
+ DSPSplitComplex * ioData,
+ SInt32 stride,
+ DSPSplitComplex * bufferTemp,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zipD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft_zipD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 stride,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_ziptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft_ziptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 stride,
+ DSPDoubleSplitComplex * bufferTemp,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions fft_zop and fft_zopt
+ fft_zopD and fft_zoptD
+
+ Out-of-place Split Complex Fourier Transform with or without temporary
+ memory
+
+ Criteria to invoke PowerPC vector code:
+
+ 1. signal.realp and signal.imagp must be 16-byte aligned.
+ 2. signalStride = 1
+ 3. result.realp and result.imagp must be 16-byte aligned.
+ 4. strideResult = 1
+ 5. 2 <= log2n <= 20
+ 6. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The size of temporary memory for each part
+ is the lower value of 4*n and 16k. Direction can be either
+ kFFTDirection_Forward or kFFTDirection_Inverse.
+-------------------------------------------------------------------------------
+*/
+/*
+ * fft_zop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft_zop(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zopt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft_zopt(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ DSPSplitComplex * bufferTemp,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zopD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft_zopD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zoptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft_zoptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ DSPDoubleSplitComplex * bufferTemp,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions fft_zrip and fft_zript
+ fft_zripD and fft_zriptD
+
+ In-Place Real Fourier Transform with or without temporary memory,
+ split Complex Format
+
+ Criteria to invoke PowerPC vector code:
+ 1. ioData.realp and ioData.imagp must be 16-byte aligned.
+ 2. stride = 1
+ 3. 3 <= log2n <= 13
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The size of temporary memory for each part
+ is the lower value of 4*n and 16k. Direction can be either
+ kFFTDirection_Forward or kFFTDirection_Inverse.
+-------------------------------------------------------------------------------
+*/
+/*
+ * fft_zrip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft_zrip(
+ FFTSetup setup,
+ DSPSplitComplex * ioData,
+ SInt32 stride,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zript()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft_zript(
+ FFTSetup setup,
+ DSPSplitComplex * ioData,
+ SInt32 stride,
+ DSPSplitComplex * bufferTemp,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zripD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft_zripD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 stride,
+ UInt32 log2n,
+ FFTDirection flag);
+
+
+/*
+ * fft_zriptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft_zriptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 stride,
+ DSPDoubleSplitComplex * bufferTemp,
+ UInt32 log2n,
+ SInt32 flag);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions fft_zrop and fft_zropt
+ fft_zropD and fft_zroptD
+
+ Out-of-Place Real Fourier Transform with or without temporary memory,
+ split Complex Format
+
+ Criteria to invoke PowerPC vector code:
+ 1. signal.realp and signal.imagp must be 16-byte aligned.
+ 2. signalStride = 1
+ 3. result.realp and result.imagp must be be 16-byte aligned.
+ 4. strideResult = 1
+ 5. 3 <= log2n <= 13
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The size of temporary memory for each part
+ is the lower value of 4*n and 16k. Direction can be either
+ kFFTDirection_Forward or kFFTDirection_Inverse.
+-------------------------------------------------------------------------------
+*/
+/*
+ * fft_zrop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft_zrop(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zropt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft_zropt(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ DSPSplitComplex * bufferTemp,
+ UInt32 log2n,
+ FFTDirection direction);
+
+
+/*
+ * fft_zropD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft_zropD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 log2n,
+ SInt32 flag);
+
+
+/*
+ * fft_zroptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft_zroptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ DSPDoubleSplitComplex * bufferTemp,
+ UInt32 log2n,
+ SInt32 flag);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions fft2d_zip and fft2d_zipt
+ fft2d_zipD and fft2d_ziptD
+
+ In-place two dimensional Split Complex Fourier Transform with or without
+ temporary memory
+
+ Criteria to invoke PowerPC vector code:
+ 1. ioData.realp and ioData.imagp must be 16-byte aligned.
+ 2. strideInRow = 1;
+ 3. strideInCol must be a multiple of 4
+ 4. 2 <= log2nInRow <= 12
+ 5. 2 <= log2nInCol <= 12
+ 6. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The size of temporary memory for each part
+ is the lower value of 4*n and 16k. ( log2n = log2nInRow + log2nInCol )
+ Direction can be either kFFTDirection_Forward or kFFTDirection_Inverse.
+-------------------------------------------------------------------------------
+*/
+/*
+ * fft2d_zip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft2d_zip(
+ FFTSetup setup,
+ DSPSplitComplex * ioData,
+ SInt32 strideInRow,
+ SInt32 strideInCol,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ FFTDirection direction);
+
+
+/*
+ * fft2d_zipt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft2d_zipt(
+ FFTSetup setup,
+ DSPSplitComplex * ioData,
+ SInt32 strideInRow,
+ SInt32 strideInCol,
+ DSPSplitComplex * bufferTemp,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ FFTDirection direction);
+
+
+/*
+ * fft2d_zipD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft2d_zipD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 strideInRow,
+ SInt32 strideInCol,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ FFTDirection direction);
+
+
+/*
+ * fft2d_ziptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft2d_ziptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 strideInRow,
+ SInt32 strideInCol,
+ DSPDoubleSplitComplex * bufferTemp,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ FFTDirection direction);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions fft2d_zop and fft2d_zopt
+ fft2d_zopD and fft2d_zoptD
+
+ Out-of-Place two dimemsional Split Complex Fourier Transform with or
+ without temporary memory
+
+ Criteria to invoke PowerPC vector code:
+
+ 1. signal.realp and signal.imagp must be 16-byte aligned.
+ 2. signalStrideInRow = 1;
+ 3. signalStrideInCol must be a multiple of 4
+ 4. result.realp and result.imagp must be 16-byte aligned.
+ 5. strideResultInRow = 1;
+ 6. strideResultInCol must be a multiple of 4
+ 7. 2 <= log2nInRow <= 12
+ 8. 2 <= log2nInCol <= 12
+ 9. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The size of temporary memory for each part
+ is the lower value of 4*n and 16k. ( log2n = log2nInRow + log2nInCol )
+ Direction can be either kFFTDirection_Forward or kFFTDirection_Inverse.
+-------------------------------------------------------------------------------
+*/
+/*
+ * fft2d_zop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft2d_zop(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStrideInRow,
+ SInt32 signalStrideInCol,
+ DSPSplitComplex * result,
+ SInt32 strideResultInRow,
+ SInt32 strideResultInCol,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ SInt32 flag);
+
+
+/*
+ * fft2d_zopt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft2d_zopt(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStrideInRow,
+ SInt32 signalStrideInCol,
+ DSPSplitComplex * result,
+ SInt32 strideResultInRow,
+ SInt32 strideResultInCol,
+ DSPSplitComplex * bufferTemp,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ SInt32 flag);
+
+
+/*
+ * fft2d_zopD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft2d_zopD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStrideInRow,
+ SInt32 signalStrideInCol,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResultInRow,
+ SInt32 strideResultInCol,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ SInt32 flag);
+
+
+/*
+ * fft2d_zoptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft2d_zoptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStrideInRow,
+ SInt32 signalStrideInCol,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResultInRow,
+ SInt32 strideResultInCol,
+ DSPDoubleSplitComplex * bufferTemp,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ SInt32 flag);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions fft2d_zrip and fft2d_zript
+ fft2d_zripD and fft2d_zriptD
+
+ In-place two dimensional Real Fourier Transform with or without temporary
+ memory, Split Complex Format
+
+ Criteria to invoke PowerPC vector code:
+ 1. ioData.realp and ioData.imagp must be 16-byte aligned.
+ 2. strideInRow = 1;
+ 3. strideInCol must be a multiple of 4
+ 4. 3 <= log2nInRow <= 12
+ 5. 3 <= log2nInCol <= 13
+ 6. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The size of temporary memory for each part
+ is the lower value of 4*n and 16k. ( log2n = log2nInRow + log2nInCol )
+ Direction can be either kFFTDirection_Forward or kFFTDirection_Inverse.
+-------------------------------------------------------------------------------
+*/
+/*
+ * fft2d_zrip()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft2d_zrip(
+ FFTSetup setup,
+ DSPSplitComplex * ioData,
+ SInt32 strideInRow,
+ SInt32 strideInCol,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ FFTDirection direction);
+
+
+/*
+ * fft2d_zript()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft2d_zript(
+ FFTSetup setup,
+ DSPSplitComplex * ioData,
+ SInt32 strideInRow,
+ SInt32 strideInCol,
+ DSPSplitComplex * bufferTemp,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ FFTDirection direction);
+
+
+/*
+ * fft2d_zripD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft2d_zripD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 strideInRow,
+ SInt32 strideInCol,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ SInt32 flag);
+
+
+/*
+ * fft2d_zriptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft2d_zriptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 strideInRow,
+ SInt32 strideInCol,
+ DSPDoubleSplitComplex * bufferTemp,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ SInt32 flag);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Functions fft2d_zrop and fft2d_zropt
+ fft2d_zropD and fft2d_zroptD
+
+ Out-of-Place Two-Dimemsional Real Fourier Transform with or without
+ temporary memory, Split Complex Format
+
+ Criteria to invoke PowerPC vector code:
+ 1. signal.realp and signal.imagp must be 16-byte aligned.
+ 2. signalStrideInRow = 1;
+ 3. signalStrideInCol must be a multiple of 4
+ 4. result.realp and result.imagp must be 16-byte aligned.
+ 5. strideResultInRow = 1;
+ 6. strideResultInCol must be a multiple of 4
+ 7. 3 <= log2nInRow <= 12
+ 8. 3 <= log2nInCol <= 13
+ 9. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The size of temporary memory for each part
+ is the lower value of 4*n and 16k. ( log2n = log2nInRow + log2nInCol )
+ Direction can be either kFFTDirection_Forward or kFFTDirection_Inverse.
+-------------------------------------------------------------------------------
+*/
+/*
+ * fft2d_zrop()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft2d_zrop(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStrideInRow,
+ SInt32 signalStrideInCol,
+ DSPSplitComplex * result,
+ SInt32 strideResultInRow,
+ SInt32 strideResultInCol,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ SInt32 flag);
+
+
+/*
+ * fft2d_zropt()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+fft2d_zropt(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStrideInRow,
+ SInt32 signalStrideInCol,
+ DSPSplitComplex * result,
+ SInt32 strideResultInRow,
+ SInt32 strideResultInCol,
+ DSPSplitComplex * bufferTemp,
+ UInt32 log2nInCol,
+ UInt32 log2nInRow,
+ SInt32 flag);
+
+
+/*
+ * fft2d_zropD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft2d_zropD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 Kr,
+ SInt32 Kc,
+ DSPDoubleSplitComplex * ioData2,
+ SInt32 Ir,
+ SInt32 Ic,
+ UInt32 log2nc,
+ UInt32 log2nr,
+ SInt32 flag);
+
+
+/*
+ * fft2d_zroptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft2d_zroptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 Kr,
+ SInt32 Kc,
+ DSPDoubleSplitComplex * ioData2,
+ SInt32 Ir,
+ SInt32 Ic,
+ DSPDoubleSplitComplex * temp,
+ UInt32 log2nc,
+ UInt32 log2nr,
+ SInt32 flag);
+
+
+
+/*
+________________________________________________________________________________
+ Functions fftm_zip and fftm_zipt
+ fftm_zipD and fftm_ziptD
+
+ In-Place multiple One_Dimensional Complex Fourier Transform with or
+ without temporary memory, Split Complex Format
+
+ Criteria to invoke PowerPC vector code:
1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStride = 1
- 3. result.realp and result.imagp must be 16-byte aligned.
- 4. strideResult = 1
- 5. 2 <= log2n <= 20
- 6. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The size of temporary memory for each part
- is the lower value of 4*n and 16k. Direction can be either
- kFFTDirection_Forward or kFFTDirection_Inverse.
- -------------------------------------------------------------------------------
- */
- /*
- * fft_zop()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft_zop(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zopt()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft_zopt(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- DSPSplitComplex * result,
- SInt32 strideResult,
- DSPSplitComplex * bufferTemp,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zopD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft_zopD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zoptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft_zoptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- DSPDoubleSplitComplex * bufferTemp,
- UInt32 log2n,
- FFTDirection direction);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions fft_zrip and fft_zript
- fft_zripD and fft_zriptD
-
- In-Place Real Fourier Transform with or without temporary memory,
- split Complex Format
-
- Criteria to invoke PowerPC vector code:
- 1. ioData.realp and ioData.imagp must be 16-byte aligned.
- 2. stride = 1
- 3. 3 <= log2n <= 13
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The size of temporary memory for each part
- is the lower value of 4*n and 16k. Direction can be either
- kFFTDirection_Forward or kFFTDirection_Inverse.
- -------------------------------------------------------------------------------
- */
- /*
- * fft_zrip()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft_zrip(
- FFTSetup setup,
- DSPSplitComplex * ioData,
- SInt32 stride,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zript()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft_zript(
- FFTSetup setup,
- DSPSplitComplex * ioData,
- SInt32 stride,
- DSPSplitComplex * bufferTemp,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zripD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft_zripD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 stride,
- UInt32 log2n,
- FFTDirection flag);
-
-
- /*
- * fft_zriptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft_zriptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 stride,
- DSPDoubleSplitComplex * bufferTemp,
- UInt32 log2n,
- SInt32 flag);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions fft_zrop and fft_zropt
- fft_zropD and fft_zroptD
-
- Out-of-Place Real Fourier Transform with or without temporary memory,
- split Complex Format
-
- Criteria to invoke PowerPC vector code:
- 1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStride = 1
- 3. result.realp and result.imagp must be be 16-byte aligned.
- 4. strideResult = 1
- 5. 3 <= log2n <= 13
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The size of temporary memory for each part
- is the lower value of 4*n and 16k. Direction can be either
- kFFTDirection_Forward or kFFTDirection_Inverse.
- -------------------------------------------------------------------------------
- */
- /*
- * fft_zrop()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft_zrop(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zropt()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft_zropt(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- DSPSplitComplex * result,
- SInt32 strideResult,
- DSPSplitComplex * bufferTemp,
- UInt32 log2n,
- FFTDirection direction);
-
-
- /*
- * fft_zropD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft_zropD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 log2n,
- SInt32 flag);
-
-
- /*
- * fft_zroptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft_zroptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- DSPDoubleSplitComplex * bufferTemp,
- UInt32 log2n,
- SInt32 flag);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions fft2d_zip and fft2d_zipt
- fft2d_zipD and fft2d_ziptD
-
- In-place two dimensional Split Complex Fourier Transform with or without
- temporary memory
-
- Criteria to invoke PowerPC vector code:
- 1. ioData.realp and ioData.imagp must be 16-byte aligned.
- 2. strideInRow = 1;
- 3. strideInCol must be a multiple of 4
- 4. 2 <= log2nInRow <= 12
- 5. 2 <= log2nInCol <= 12
- 6. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The size of temporary memory for each part
- is the lower value of 4*n and 16k. ( log2n = log2nInRow + log2nInCol )
- Direction can be either kFFTDirection_Forward or kFFTDirection_Inverse.
- -------------------------------------------------------------------------------
- */
- /*
- * fft2d_zip()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft2d_zip(
- FFTSetup setup,
- DSPSplitComplex * ioData,
- SInt32 strideInRow,
- SInt32 strideInCol,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- FFTDirection direction);
-
-
- /*
- * fft2d_zipt()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft2d_zipt(
- FFTSetup setup,
- DSPSplitComplex * ioData,
- SInt32 strideInRow,
- SInt32 strideInCol,
- DSPSplitComplex * bufferTemp,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- FFTDirection direction);
-
-
- /*
- * fft2d_zipD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft2d_zipD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 strideInRow,
- SInt32 strideInCol,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- FFTDirection direction);
-
-
- /*
- * fft2d_ziptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft2d_ziptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 strideInRow,
- SInt32 strideInCol,
- DSPDoubleSplitComplex * bufferTemp,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- FFTDirection direction);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions fft2d_zop and fft2d_zopt
- fft2d_zopD and fft2d_zoptD
-
- Out-of-Place two dimemsional Split Complex Fourier Transform with or
- without temporary memory
-
- Criteria to invoke PowerPC vector code:
+ 2. signalStride = 1;
+ 3. fftStride must be a multiple of 4
+ 4. 2 <= log2n <= 12
+ 5. temp.realp and temp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+________________________________________________________________________________
+*/
+/*
+ * fftm_zip()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zip(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zipt()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zipt(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPSplitComplex * temp,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zipD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zipD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_ziptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_ziptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPDoubleSplitComplex * temp,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+________________________________________________________________________________
+ Functions fftm_zop and fftm_zopt
+ fftm_zopD and fftm_zoptD
+
+ Out-Of-Place multiple One_Dimensional Complex Fourier Transform with or
+ without temporary memory, Split Complex Format
+
+ Criteria to invoke PowerPC vector code:
1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStrideInRow = 1;
- 3. signalStrideInCol must be a multiple of 4
+ 2. signalStride = 1;
+ 3. fftStride must be a multiple of 4
4. result.realp and result.imagp must be 16-byte aligned.
- 5. strideResultInRow = 1;
- 6. strideResultInCol must be a multiple of 4
- 7. 2 <= log2nInRow <= 12
- 8. 2 <= log2nInCol <= 12
- 9. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The size of temporary memory for each part
- is the lower value of 4*n and 16k. ( log2n = log2nInRow + log2nInCol )
- Direction can be either kFFTDirection_Forward or kFFTDirection_Inverse.
- -------------------------------------------------------------------------------
- */
- /*
- * fft2d_zop()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft2d_zop(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStrideInRow,
- SInt32 signalStrideInCol,
- DSPSplitComplex * result,
- SInt32 strideResultInRow,
- SInt32 strideResultInCol,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- SInt32 flag);
-
-
- /*
- * fft2d_zopt()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft2d_zopt(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStrideInRow,
- SInt32 signalStrideInCol,
- DSPSplitComplex * result,
- SInt32 strideResultInRow,
- SInt32 strideResultInCol,
- DSPSplitComplex * bufferTemp,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- SInt32 flag);
-
-
- /*
- * fft2d_zopD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft2d_zopD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStrideInRow,
- SInt32 signalStrideInCol,
- DSPDoubleSplitComplex * result,
- SInt32 strideResultInRow,
- SInt32 strideResultInCol,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- SInt32 flag);
-
-
- /*
- * fft2d_zoptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft2d_zoptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStrideInRow,
- SInt32 signalStrideInCol,
- DSPDoubleSplitComplex * result,
- SInt32 strideResultInRow,
- SInt32 strideResultInCol,
- DSPDoubleSplitComplex * bufferTemp,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- SInt32 flag);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions fft2d_zrip and fft2d_zript
- fft2d_zripD and fft2d_zriptD
-
- In-place two dimensional Real Fourier Transform with or without temporary
- memory, Split Complex Format
-
- Criteria to invoke PowerPC vector code:
- 1. ioData.realp and ioData.imagp must be 16-byte aligned.
- 2. strideInRow = 1;
- 3. strideInCol must be a multiple of 4
- 4. 3 <= log2nInRow <= 12
- 5. 3 <= log2nInCol <= 13
- 6. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The size of temporary memory for each part
- is the lower value of 4*n and 16k. ( log2n = log2nInRow + log2nInCol )
- Direction can be either kFFTDirection_Forward or kFFTDirection_Inverse.
- -------------------------------------------------------------------------------
- */
- /*
- * fft2d_zrip()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft2d_zrip(
- FFTSetup setup,
- DSPSplitComplex * ioData,
- SInt32 strideInRow,
- SInt32 strideInCol,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- FFTDirection direction);
-
-
- /*
- * fft2d_zript()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft2d_zript(
- FFTSetup setup,
- DSPSplitComplex * ioData,
- SInt32 strideInRow,
- SInt32 strideInCol,
- DSPSplitComplex * bufferTemp,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- FFTDirection direction);
-
-
- /*
- * fft2d_zripD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft2d_zripD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 strideInRow,
- SInt32 strideInCol,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- SInt32 flag);
-
-
- /*
- * fft2d_zriptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft2d_zriptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 strideInRow,
- SInt32 strideInCol,
- DSPDoubleSplitComplex * bufferTemp,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- SInt32 flag);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Functions fft2d_zrop and fft2d_zropt
- fft2d_zropD and fft2d_zroptD
-
- Out-of-Place Two-Dimemsional Real Fourier Transform with or without
- temporary memory, Split Complex Format
-
- Criteria to invoke PowerPC vector code:
+ 5. resultStride = 1;
+ 6. rfftStride must be a multiple of 4
+ 7. 2 <= log2n <= 12
+ 8. temp.realp and temp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+________________________________________________________________________________
+*/
+/*
+ * fftm_zop()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zop(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPSplitComplex * result,
+ SInt32 resultStride,
+ SInt32 rfftStride,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zopt()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zopt(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPSplitComplex * result,
+ SInt32 resultStride,
+ SInt32 rfftStride,
+ DSPSplitComplex * temp,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zopD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zopD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPDoubleSplitComplex * result,
+ SInt32 resultStride,
+ SInt32 rfftStride,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zoptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zoptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPDoubleSplitComplex * result,
+ SInt32 resultStride,
+ SInt32 rfftStride,
+ DSPDoubleSplitComplex * temp,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+
+/*
+________________________________________________________________________________
+ Functions fftm_zrip and fftm_zript
+ fftm_zripD and fftm_zriptD
+
+ In-Place multiple One_Dimensional Real Fourier Transform with or
+ without temporary memory, Split Complex Format
+
+ Criteria to invoke PowerPC vector code:
+ 1. signal.realp and signal.imagp must be 16-byte aligned.
+ 2. signalStride = 1;
+ 3. fftStride must be a multiple of 4
+ 4. 3 <= log2n <= 13
+ 5. temp.realp and temp.imagp must be 16-byte aligned.
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+________________________________________________________________________________
+*/
+/*
+ * fftm_zrip()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zrip(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zript()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zript(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPSplitComplex * temp,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zripD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zripD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zriptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zriptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPDoubleSplitComplex * temp,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+
+/*
+________________________________________________________________________________
+ Functions fftm_zrop and fftm_zropt
+ fftm_zropD and fftm_zroptD
+
+ Out-Of-Place multiple One_Dimensional Real Fourier Transform with or
+ without temporary memory, Split Complex Format
+
+ Criteria to invoke PowerPC vector code:
1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStrideInRow = 1;
- 3. signalStrideInCol must be a multiple of 4
+ 2. signalStride = 1;
+ 3. fftStride must be a multiple of 4
4. result.realp and result.imagp must be 16-byte aligned.
- 5. strideResultInRow = 1;
- 6. strideResultInCol must be a multiple of 4
- 7. 3 <= log2nInRow <= 12
- 8. 3 <= log2nInCol <= 13
- 9. bufferTemp.realp and bufferTemp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The size of temporary memory for each part
- is the lower value of 4*n and 16k. ( log2n = log2nInRow + log2nInCol )
- Direction can be either kFFTDirection_Forward or kFFTDirection_Inverse.
- -------------------------------------------------------------------------------
- */
- /*
- * fft2d_zrop()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft2d_zrop(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStrideInRow,
- SInt32 signalStrideInCol,
- DSPSplitComplex * result,
- SInt32 strideResultInRow,
- SInt32 strideResultInCol,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- SInt32 flag);
-
-
- /*
- * fft2d_zropt()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- fft2d_zropt(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStrideInRow,
- SInt32 signalStrideInCol,
- DSPSplitComplex * result,
- SInt32 strideResultInRow,
- SInt32 strideResultInCol,
- DSPSplitComplex * bufferTemp,
- UInt32 log2nInCol,
- UInt32 log2nInRow,
- SInt32 flag);
-
-
- /*
- * fft2d_zropD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft2d_zropD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 Kr,
- SInt32 Kc,
- DSPDoubleSplitComplex * ioData2,
- SInt32 Ir,
- SInt32 Ic,
- UInt32 log2nc,
- UInt32 log2nr,
- SInt32 flag);
-
-
- /*
- * fft2d_zroptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft2d_zroptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 Kr,
- SInt32 Kc,
- DSPDoubleSplitComplex * ioData2,
- SInt32 Ir,
- SInt32 Ic,
- DSPDoubleSplitComplex * temp,
- UInt32 log2nc,
- UInt32 log2nr,
- SInt32 flag);
-
-
-
- /*
- ________________________________________________________________________________
- Functions fftm_zip and fftm_zipt
- fftm_zipD and fftm_ziptD
-
- In-Place multiple One_Dimensional Complex Fourier Transform with or
- without temporary memory, Split Complex Format
-
- Criteria to invoke PowerPC vector code:
- 1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStride = 1;
- 3. fftStride must be a multiple of 4
- 4. 2 <= log2n <= 12
- 5. temp.realp and temp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- ________________________________________________________________________________
- */
- /*
- * fftm_zip()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zip(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zipt()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zipt(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPSplitComplex * temp,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zipD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zipD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_ziptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_ziptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPDoubleSplitComplex * temp,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
-
- /*
- ________________________________________________________________________________
- Functions fftm_zop and fftm_zopt
- fftm_zopD and fftm_zoptD
-
- Out-Of-Place multiple One_Dimensional Complex Fourier Transform with or
- without temporary memory, Split Complex Format
-
- Criteria to invoke PowerPC vector code:
- 1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStride = 1;
- 3. fftStride must be a multiple of 4
- 4. result.realp and result.imagp must be 16-byte aligned.
- 5. resultStride = 1;
- 6. rfftStride must be a multiple of 4
- 7. 2 <= log2n <= 12
- 8. temp.realp and temp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- ________________________________________________________________________________
- */
- /*
- * fftm_zop()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zop(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPSplitComplex * result,
- SInt32 resultStride,
- SInt32 rfftStride,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zopt()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zopt(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPSplitComplex * result,
- SInt32 resultStride,
- SInt32 rfftStride,
- DSPSplitComplex * temp,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zopD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zopD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPDoubleSplitComplex * result,
- SInt32 resultStride,
- SInt32 rfftStride,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zoptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zoptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPDoubleSplitComplex * result,
- SInt32 resultStride,
- SInt32 rfftStride,
- DSPDoubleSplitComplex * temp,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
-
- /*
- ________________________________________________________________________________
- Functions fftm_zrip and fftm_zript
- fftm_zripD and fftm_zriptD
-
- In-Place multiple One_Dimensional Real Fourier Transform with or
- without temporary memory, Split Complex Format
-
- Criteria to invoke PowerPC vector code:
- 1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStride = 1;
- 3. fftStride must be a multiple of 4
- 4. 3 <= log2n <= 13
- 5. temp.realp and temp.imagp must be 16-byte aligned.
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- ________________________________________________________________________________
- */
- /*
- * fftm_zrip()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zrip(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zript()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zript(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPSplitComplex * temp,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zripD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zripD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zriptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zriptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPDoubleSplitComplex * temp,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
-
- /*
- ________________________________________________________________________________
- Functions fftm_zrop and fftm_zropt
- fftm_zropD and fftm_zroptD
-
- Out-Of-Place multiple One_Dimensional Real Fourier Transform with or
- without temporary memory, Split Complex Format
-
- Criteria to invoke PowerPC vector code:
- 1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStride = 1;
- 3. fftStride must be a multiple of 4
- 4. result.realp and result.imagp must be 16-byte aligned.
- 5. resultStride = 1;
- 6. rfftStride must be a multiple of 4
- 7. 3 <= log2n <= 13
- 8. temp.realp and temp.imagp must be 16-byte aligned.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- ________________________________________________________________________________
- */
- /*
- * fftm_zrop()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zrop(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPSplitComplex * result,
- SInt32 resultStride,
- SInt32 rfftStride,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zropt()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zropt(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPSplitComplex * result,
- SInt32 resultStride,
- SInt32 rfftStride,
- DSPSplitComplex * temp,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zropD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zropD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPDoubleSplitComplex * result,
- SInt32 resultStride,
- SInt32 rfftStride,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
- /*
- * fftm_zroptD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fftm_zroptD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- SInt32 fftStride,
- DSPDoubleSplitComplex * result,
- SInt32 resultStride,
- SInt32 rfftStride,
- DSPDoubleSplitComplex * temp,
- UInt32 log2n,
- UInt32 numFFT,
- SInt32 flag);
-
-
-
- /*
- ________________________________________________________________________________
- Functions fft3_zop and fft5_zop
- fft3_zopD and fft5_zopD
-
- Out-Of-Place One_Dimensional Complex Fourier Transform in base-3 and
- base-5 with or without temporary memory, Split Complex Format
-
- Criteria to invoke PowerPC vector code:
- 1. signal.realp and signal.imagp must be 16-byte aligned.
- 2. signalStride = 1;
- 3. result.realp and result.imagp must be 16-byte aligned.
- 4. resultStride = 1;
- 5. 3 <= log2n
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- ________________________________________________________________________________
- */
- /*
- * fft3_zop()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft3_zop(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- DSPSplitComplex * result,
- SInt32 resultStride,
- UInt32 log2n,
- SInt32 flag);
-
-
- /*
- * fft5_zop()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft5_zop(
- FFTSetup setup,
- DSPSplitComplex * signal,
- SInt32 signalStride,
- DSPSplitComplex * result,
- SInt32 resultStride,
- UInt32 log2n,
- SInt32 flag);
-
-
- /*
- * fft3_zopD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft3_zopD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 K,
- DSPDoubleSplitComplex * ioData2,
- SInt32 L,
- UInt32 log2n,
- SInt32 flag);
-
-
- /*
- * fft5_zopD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- fft5_zopD(
- FFTSetupD setup,
- DSPDoubleSplitComplex * ioData,
- SInt32 K,
- DSPDoubleSplitComplex * ioData2,
- SInt32 L,
- UInt32 log2n,
- SInt32 flag);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Function conv
- convD
-
- Floating Point Convolution and Correlation in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. signal and result must have relative alignement.
- 2. 4 <= lenFilter <= 256
- 3. lenResult > 36
- 4. signalStride = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. strideFilter can be positive for
- correlation or negative for convolution.
- -------------------------------------------------------------------------------
- */
- /*
- * conv()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- conv(
- const float signal[],
- SInt32 signalStride,
- const float filter[],
- SInt32 strideFilter,
- float result[],
- SInt32 strideResult,
- SInt32 lenResult,
- SInt32 lenFilter);
-
-
- /*
- * convD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- convD(
- const double signal[],
- SInt32 signalStride,
- const double filter[],
- SInt32 strideFilter,
- double result[],
- SInt32 strideResult,
- SInt32 lenResult,
- SInt32 lenFilter);
-
-
- /*
- _______________________________________________________________________________
- Functions f3x3, f5x5, and imgfir
- f3x3D, f5x5D and imgfirD
-
- Filter, 3x3, 5x5, MxN Single and Double Precision Convolution
-
- Criteria to invoke PowerPC vector code:
- 1. signal, filter, and result must have relative alignment and
- be 16-byte aligned.
- 2. for f3x3, NC >= 18
- 3. for f5x5, NC >= 20
- 4. for imgfir, NC >= 20
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- _______________________________________________________________________________
- */
- /*
- * f3x3()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- f3x3(
- float * signal,
- SInt32 rowStride,
- SInt32 colStride,
- float * filter,
- float * result);
-
-
- /*
- * f3x3D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- f3x3D(
- double * signal,
- SInt32 rowStride,
- SInt32 colStride,
- double * filter,
- double * result);
-
-
- /*
- * f5x5()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- f5x5(
- float * signal,
- SInt32 rowStride,
- SInt32 colStride,
- float * filter,
- float * result);
-
-
- /*
- * f5x5D()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- f5x5D(
- double * signal,
- SInt32 rowStride,
- SInt32 colStride,
- double * filter,
- double * result);
-
-
- /*
- * imgfir()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- imgfir(
- float * signal,
- SInt32 numRow,
- SInt32 numCol,
- float * filter,
- float * result,
- SInt32 fnumRow,
- SInt32 fnumCol);
-
-
- /*
- * imgfirD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- imgfirD(
- double * signal,
- SInt32 numRow,
- SInt32 numCol,
- double * filter,
- double * result,
- SInt32 fnumRow,
- SInt32 fnumCol);
-
-
-
- /*
- _______________________________________________________________________________
- Function mtrans
- mtransD
-
- Single and Double Precision Matrix Transpose
-
- Criteria to invoke PowerPC vector code:
- 1. a = c
- 2. a and c must be 16-byte aligned.
- 3. M must be a multiple of 8.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- _______________________________________________________________________________
- */
- /*
- * mtrans()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- mtrans(
- float * a,
- SInt32 aStride,
- float * c,
- SInt32 cStride,
- SInt32 M,
- SInt32 N);
-
-
- /*
- * mtransD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- mtransD(
- double * a,
- SInt32 aStride,
- double * c,
- SInt32 cStride,
- SInt32 M,
- SInt32 N);
-
-
- /*
- _______________________________________________________________________________
- Function mmul
- mmulD
-
- Single and Double Precision Matrix Multiply
-
- Criteria to invoke PowerPC vector code:
- 1. a, b, c must be 16-byte aligned.
- 2. M >= 8.
- 3. N >= 32.
- 4. P is a multiple of 8.
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- _______________________________________________________________________________
- */
- /*
- * mmul()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- mmul(
- float * a,
- SInt32 aStride,
- float * b,
- SInt32 bStride,
- float * c,
- SInt32 cStride,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- * mmulD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- mmulD(
- double * a,
- SInt32 aStride,
- double * b,
- SInt32 bStride,
- double * c,
- SInt32 cStride,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- _______________________________________________________________________________
- Function zmma, zmms, zmsm, and zmmul
- zmmaD, zmmsD, zmsmD, and zmmulD
-
- Single and Double Precision Complex Split Matrix mul/add, mul/sub, sub/mul,
- and mul
-
- Criteria to invoke PowerPC vector code:
- 1. a, b, c, and d must be 16-byte aligned.
- 2. N is a multiple of 4.
- 3. P is a multiple of 4.
- 4. I, J, K, L = 1;
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- _______________________________________________________________________________
- */
- /*
- * zmma()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zmma(
- DSPSplitComplex * a,
- SInt32 i,
- DSPSplitComplex * b,
- SInt32 j,
- DSPSplitComplex * c,
- SInt32 k,
- DSPSplitComplex * d,
- SInt32 l,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- * zmmaD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zmmaD(
- DSPDoubleSplitComplex * a,
- SInt32 i,
- DSPDoubleSplitComplex * b,
- SInt32 j,
- DSPDoubleSplitComplex * c,
- SInt32 k,
- DSPDoubleSplitComplex * d,
- SInt32 l,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- * zmms()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zmms(
- DSPSplitComplex * a,
- SInt32 i,
- DSPSplitComplex * b,
- SInt32 j,
- DSPSplitComplex * c,
- SInt32 k,
- DSPSplitComplex * d,
- SInt32 l,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- * zmmsD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zmmsD(
- DSPDoubleSplitComplex * a,
- SInt32 i,
- DSPDoubleSplitComplex * b,
- SInt32 j,
- DSPDoubleSplitComplex * c,
- SInt32 k,
- DSPDoubleSplitComplex * d,
- SInt32 l,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- * zmsm()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zmsm(
- DSPSplitComplex * a,
- SInt32 i,
- DSPSplitComplex * b,
- SInt32 j,
- DSPSplitComplex * c,
- SInt32 k,
- DSPSplitComplex * d,
- SInt32 l,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- * zmsmD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zmsmD(
- DSPDoubleSplitComplex * a,
- SInt32 i,
- DSPDoubleSplitComplex * b,
- SInt32 j,
- DSPDoubleSplitComplex * c,
- SInt32 k,
- DSPDoubleSplitComplex * d,
- SInt32 l,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- * zmmul()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zmmul(
- DSPSplitComplex * a,
- SInt32 i,
- DSPSplitComplex * b,
- SInt32 j,
- DSPSplitComplex * c,
- SInt32 k,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- * zmmulD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zmmulD(
- DSPDoubleSplitComplex * a,
- SInt32 i,
- DSPDoubleSplitComplex * b,
- SInt32 j,
- DSPDoubleSplitComplex * c,
- SInt32 k,
- SInt32 M,
- SInt32 N,
- SInt32 P);
-
-
- /*
- -------------------------------------------------------------------------------
- Function vadd
- vaddD
-
- Floating Point Add in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1 and input2 and result are all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * vadd()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vadd(
- const float input1[],
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- float result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * vaddD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- vaddD(
- const double input1[],
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- double result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function vsub
- vsubD
-
- Floating Point Substract in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1 and input2 and result are all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * vsub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vsub(
- const float input1[],
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- float result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * vsubD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- vsubD(
- const double input1[],
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- double result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function vmul
- vmulD
-
- Floating Point Multiply in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1 and input2 and result must be all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * vmul()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vmul(
- const float input1[],
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- float result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * vmulD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- vmulD(
- const double input1[],
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- double result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function vsmul
- vsmulD
-
- Floating Point - Scalar Multiply in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1 and result are all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * vsmul()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vsmul(
- const float input1[],
- SInt32 stride1,
- const float * input2,
- float result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * vsmulD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- vsmulD(
- const double input1[],
- SInt32 stride1,
- const double * input2,
- double result[],
- SInt32 strideResult,
- UInt32 size);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Function vsq
- vsqD
-
- Floating Point Square in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input and result are relatively aligned.
- 2. size >= 8
- 3. strideInput = 1
- 4. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * vsq()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vsq(
- const float input[],
- SInt32 strideInput,
- float result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * vsqD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- vsqD(
- const double input[],
- SInt32 strideInput,
- double result[],
- SInt32 strideResult,
- UInt32 size);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Function vssq
- vssqD
-
- Floating Point Signed Square in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input and result must be all relatively aligned.
- 2. size >= 8
- 3. strideInput = 1
- 4. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * vssq()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vssq(
- const float input[],
- SInt32 strideInput,
- float result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * vssqD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- vssqD(
- const double input[],
- SInt32 strideInput,
- double result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function dotpr
- dotprD
-
- Floating Point Dot product in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1 and input2 are relatively aligned.
- 2. size >= 20
- 3. stride1 = 1
- 4. stride2 = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * dotpr()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- dotpr(
- const float input1[],
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- float * result,
- UInt32 size);
-
-
- /*
- * dotprD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- dotprD(
- const double input1[],
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- double * result,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function vam
- vamD
-
- Floating Point vadd and Multiply in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1, input2, input_3 and result are all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. stride_3 = 1
- 6. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * vam()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vam(
- const float input1[],
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- const float input3[],
- SInt32 stride3,
- float result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * vamD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- vamD(
- const double input1[],
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- const double input3[],
- SInt32 stride3,
- double result[],
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zconv
- zconvD
-
- Split Complex Convolution and Correlation in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. signal->realp, signal->imagp, result->realp, result->imagp
- must be relatively aligned.
- 2. 4 <= lenFilter <= 128
- 3. lenResult > 20
- 4. signalStride = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. strideFilter can be positive for correlation
- or negative for convolution
- -------------------------------------------------------------------------------
- */
- /*
- * zconv()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zconv(
- DSPSplitComplex * signal,
- SInt32 signalStride,
- DSPSplitComplex * filter,
- SInt32 strideFilter,
- DSPSplitComplex * result,
- SInt32 strideResult,
- SInt32 lenResult,
- SInt32 lenFilter);
-
-
- /*
- * zconvD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zconvD(
- DSPDoubleSplitComplex * signal,
- SInt32 signalStride,
- DSPDoubleSplitComplex * filter,
- SInt32 strideFilter,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- SInt32 lenResult,
- SInt32 lenFilter);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zvadd
- zvaddD
-
- Split Complex vadd in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2.realp, input2.imagp,
- result.realp, result.imagp must be all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zvadd()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zvadd(
- DSPSplitComplex * input1,
- SInt32 stride1,
- DSPSplitComplex * input2,
- SInt32 stride2,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * zvaddD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zvaddD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- DSPDoubleSplitComplex * input2,
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zvsub
- zvsubD
-
- Split Complex Substract in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2.realp, input2.imagp,
- result.realp, result.imagp must be all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zvsub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zvsub(
- DSPSplitComplex * input1,
- SInt32 stride1,
- DSPSplitComplex * input2,
- SInt32 stride2,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * zvsubD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zvsubD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- DSPDoubleSplitComplex * input2,
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zvmul
- zvmulD
-
- Split Complex Multiply in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2.realp, input2.imagp,
- result.realp, result.imagp must be all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used. The conjugate value can be 1 or -1.
- -------------------------------------------------------------------------------
- */
- /*
- * zvmul()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zvmul(
- DSPSplitComplex * input1,
- SInt32 stride1,
- DSPSplitComplex * input2,
- SInt32 stride2,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 size,
- SInt32 conjugate);
-
-
- /*
- * zvmulD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zvmulD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- DSPDoubleSplitComplex * input2,
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 size,
- SInt32 conjugate);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zdotpr
- zdotprD
-
- Split Complex Dot product in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2.realp, input2.imagp are all
- relatively aligned.
- 2. size >= 20
- 3. stride1 = 1
- 4. stride2 = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zdotpr()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zdotpr(
- DSPSplitComplex * input1,
- SInt32 stride1,
- DSPSplitComplex * input2,
- SInt32 stride2,
- DSPSplitComplex * result,
- UInt32 size);
-
-
- /*
- * zdotprD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zdotprD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- DSPDoubleSplitComplex * input2,
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zidotpr
- zidotprD
-
- Split Complex Inner Dot product in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2.realp, input2.imagp must be
- all relatively aligned.
- 2. size >= 20
- 3. stride1 = 1
- 4. stride2 = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zidotpr()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zidotpr(
- DSPSplitComplex * input1,
- SInt32 stride1,
- DSPSplitComplex * input2,
- SInt32 stride2,
- DSPSplitComplex * result,
- UInt32 size);
-
-
- /*
- * zidotprD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zidotprD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- DSPDoubleSplitComplex * input2,
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- UInt32 size);
-
-
-
- /*
- -------------------------------------------------------------------------------
- Function zrdotpr
- zrdotprD
-
- Split Complex - Real Dot product in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2 are must be relatively aligned.
- 2. size >= 16
- 3. stride1 = 1
- 4. stride2 = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zrdotpr()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zrdotpr(
- DSPSplitComplex * input1,
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- DSPSplitComplex * result,
- UInt32 size);
-
-
- /*
- * zrdotprD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zrdotprD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zvcma
- zvcmaD
-
- Split Complex Conjugate Multiply And vadd in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2.realp, input2.imagp,
- input_3.realp, input_3.imagp, result.realp, result.imagp
- must be all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. stride_3 = 1
- 6. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zvcma()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zvcma(
- DSPSplitComplex * input1,
- SInt32 stride1,
- DSPSplitComplex * input2,
- SInt32 stride2,
- DSPSplitComplex * input3,
- SInt32 stride3,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * zvcmaD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zvcmaD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- DSPDoubleSplitComplex * input2,
- SInt32 stride2,
- DSPDoubleSplitComplex * input3,
- SInt32 stride3,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zrvadd
- zrvaddD
-
- Split Complex - Real Add in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2, result.realp, result.imagp
- are all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zrvadd()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zrvadd(
- DSPSplitComplex * input1,
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * zrvaddD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zrvaddD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zrvsub
- zrvsubD
-
- Split Complex - Real Substract in Single and Double Precision
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2, result.realp, result.imagp
- must be all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zrvsub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zrvsub(
- DSPSplitComplex * input1,
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * zrvsubD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zrvsubD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- -------------------------------------------------------------------------------
- Function zrvmul
- zrvmulD
-
- Split Complex - Real Multiply
-
- Criteria to invoke PowerPC vector code:
- 1. input1.realp, input1.imagp, input2, result.realp, result.imagp
- must be all relatively aligned.
- 2. size >= 8
- 3. stride1 = 1
- 4. stride2 = 1
- 5. strideResult = 1
-
- If any of the above criteria are not satisfied, the PowerPC scalar code
- implementation will be used.
- -------------------------------------------------------------------------------
- */
- /*
- * zrvmul()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- zrvmul(
- DSPSplitComplex * input1,
- SInt32 stride1,
- const float input2[],
- SInt32 stride2,
- DSPSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
-
-
- /*
- * zrvmulD()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: in version 10.2 and later
- */
- EXTERN_API_C(void)
- zrvmulD(
- DSPDoubleSplitComplex * input1,
- SInt32 stride1,
- const double input2[],
- SInt32 stride2,
- DSPDoubleSplitComplex * result,
- SInt32 strideResult,
- UInt32 size);
+ 5. resultStride = 1;
+ 6. rfftStride must be a multiple of 4
+ 7. 3 <= log2n <= 13
+ 8. temp.realp and temp.imagp must be 16-byte aligned.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+________________________________________________________________________________
+*/
+/*
+ * fftm_zrop()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zrop(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPSplitComplex * result,
+ SInt32 resultStride,
+ SInt32 rfftStride,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zropt()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zropt(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPSplitComplex * result,
+ SInt32 resultStride,
+ SInt32 rfftStride,
+ DSPSplitComplex * temp,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zropD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zropD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPDoubleSplitComplex * result,
+ SInt32 resultStride,
+ SInt32 rfftStride,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+/*
+ * fftm_zroptD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fftm_zroptD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ SInt32 fftStride,
+ DSPDoubleSplitComplex * result,
+ SInt32 resultStride,
+ SInt32 rfftStride,
+ DSPDoubleSplitComplex * temp,
+ UInt32 log2n,
+ UInt32 numFFT,
+ SInt32 flag);
+
+
+
+/*
+________________________________________________________________________________
+ Functions fft3_zop and fft5_zop
+ fft3_zopD and fft5_zopD
+
+ Out-Of-Place One_Dimensional Complex Fourier Transform in base-3 and
+ base-5 with or without temporary memory, Split Complex Format
+
+ Criteria to invoke PowerPC vector code:
+ 1. signal.realp and signal.imagp must be 16-byte aligned.
+ 2. signalStride = 1;
+ 3. result.realp and result.imagp must be 16-byte aligned.
+ 4. resultStride = 1;
+ 5. 3 <= log2n
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+________________________________________________________________________________
+*/
+/*
+ * fft3_zop()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft3_zop(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ DSPSplitComplex * result,
+ SInt32 resultStride,
+ UInt32 log2n,
+ SInt32 flag);
+
+
+/*
+ * fft5_zop()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft5_zop(
+ FFTSetup setup,
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ DSPSplitComplex * result,
+ SInt32 resultStride,
+ UInt32 log2n,
+ SInt32 flag);
+
+
+/*
+ * fft3_zopD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft3_zopD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 K,
+ DSPDoubleSplitComplex * ioData2,
+ SInt32 L,
+ UInt32 log2n,
+ SInt32 flag);
+
+
+/*
+ * fft5_zopD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+fft5_zopD(
+ FFTSetupD setup,
+ DSPDoubleSplitComplex * ioData,
+ SInt32 K,
+ DSPDoubleSplitComplex * ioData2,
+ SInt32 L,
+ UInt32 log2n,
+ SInt32 flag);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Function conv
+ convD
+
+ Floating Point Convolution and Correlation in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. signal and result must have relative alignement.
+ 2. 4 <= lenFilter <= 256
+ 3. lenResult > 36
+ 4. signalStride = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. strideFilter can be positive for
+ correlation or negative for convolution.
+-------------------------------------------------------------------------------
+*/
+/*
+ * conv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+conv(
+ const float signal[],
+ SInt32 signalStride,
+ const float filter[],
+ SInt32 strideFilter,
+ float result[],
+ SInt32 strideResult,
+ SInt32 lenResult,
+ SInt32 lenFilter);
+
+
+/*
+ * convD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+convD(
+ const double signal[],
+ SInt32 signalStride,
+ const double filter[],
+ SInt32 strideFilter,
+ double result[],
+ SInt32 strideResult,
+ SInt32 lenResult,
+ SInt32 lenFilter);
+
+
+/*
+_______________________________________________________________________________
+ Functions f3x3, f5x5, and imgfir
+ f3x3D, f5x5D and imgfirD
+
+ Filter, 3x3, 5x5, MxN Single and Double Precision Convolution
+
+ Criteria to invoke PowerPC vector code:
+ 1. signal, filter, and result must have relative alignment and
+ be 16-byte aligned.
+ 2. for f3x3, NC >= 18
+ 3. for f5x5, NC >= 20
+ 4. for imgfir, NC >= 20
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+_______________________________________________________________________________
+*/
+/*
+ * f3x3()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+f3x3(
+ float * signal,
+ SInt32 rowStride,
+ SInt32 colStride,
+ float * filter,
+ float * result);
+
+
+/*
+ * f3x3D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+f3x3D(
+ double * signal,
+ SInt32 rowStride,
+ SInt32 colStride,
+ double * filter,
+ double * result);
+
+
+/*
+ * f5x5()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+f5x5(
+ float * signal,
+ SInt32 rowStride,
+ SInt32 colStride,
+ float * filter,
+ float * result);
+
+
+/*
+ * f5x5D()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+f5x5D(
+ double * signal,
+ SInt32 rowStride,
+ SInt32 colStride,
+ double * filter,
+ double * result);
+
+
+/*
+ * imgfir()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+imgfir(
+ float * signal,
+ SInt32 numRow,
+ SInt32 numCol,
+ float * filter,
+ float * result,
+ SInt32 fnumRow,
+ SInt32 fnumCol);
+
+
+/*
+ * imgfirD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+imgfirD(
+ double * signal,
+ SInt32 numRow,
+ SInt32 numCol,
+ double * filter,
+ double * result,
+ SInt32 fnumRow,
+ SInt32 fnumCol);
+
+
+
+/*
+_______________________________________________________________________________
+ Function mtrans
+ mtransD
+
+ Single and Double Precision Matrix Transpose
+
+ Criteria to invoke PowerPC vector code:
+ 1. a = c
+ 2. a and c must be 16-byte aligned.
+ 3. M must be a multiple of 8.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+_______________________________________________________________________________
+*/
+/*
+ * mtrans()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+mtrans(
+ float * a,
+ SInt32 aStride,
+ float * c,
+ SInt32 cStride,
+ SInt32 M,
+ SInt32 N);
+
+
+/*
+ * mtransD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+mtransD(
+ double * a,
+ SInt32 aStride,
+ double * c,
+ SInt32 cStride,
+ SInt32 M,
+ SInt32 N);
+
+
+/*
+_______________________________________________________________________________
+ Function mmul
+ mmulD
+
+ Single and Double Precision Matrix Multiply
+
+ Criteria to invoke PowerPC vector code:
+ 1. a, b, c must be 16-byte aligned.
+ 2. M >= 8.
+ 3. N >= 32.
+ 4. P is a multiple of 8.
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+_______________________________________________________________________________
+*/
+/*
+ * mmul()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+mmul(
+ float * a,
+ SInt32 aStride,
+ float * b,
+ SInt32 bStride,
+ float * c,
+ SInt32 cStride,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+ * mmulD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+mmulD(
+ double * a,
+ SInt32 aStride,
+ double * b,
+ SInt32 bStride,
+ double * c,
+ SInt32 cStride,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+_______________________________________________________________________________
+ Function zmma, zmms, zmsm, and zmmul
+ zmmaD, zmmsD, zmsmD, and zmmulD
+
+ Single and Double Precision Complex Split Matrix mul/add, mul/sub, sub/mul,
+ and mul
+
+ Criteria to invoke PowerPC vector code:
+ 1. a, b, c, and d must be 16-byte aligned.
+ 2. N is a multiple of 4.
+ 3. P is a multiple of 4.
+ 4. I, J, K, L = 1;
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+_______________________________________________________________________________
+*/
+/*
+ * zmma()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zmma(
+ DSPSplitComplex * a,
+ SInt32 i,
+ DSPSplitComplex * b,
+ SInt32 j,
+ DSPSplitComplex * c,
+ SInt32 k,
+ DSPSplitComplex * d,
+ SInt32 l,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+ * zmmaD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zmmaD(
+ DSPDoubleSplitComplex * a,
+ SInt32 i,
+ DSPDoubleSplitComplex * b,
+ SInt32 j,
+ DSPDoubleSplitComplex * c,
+ SInt32 k,
+ DSPDoubleSplitComplex * d,
+ SInt32 l,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+ * zmms()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zmms(
+ DSPSplitComplex * a,
+ SInt32 i,
+ DSPSplitComplex * b,
+ SInt32 j,
+ DSPSplitComplex * c,
+ SInt32 k,
+ DSPSplitComplex * d,
+ SInt32 l,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+ * zmmsD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zmmsD(
+ DSPDoubleSplitComplex * a,
+ SInt32 i,
+ DSPDoubleSplitComplex * b,
+ SInt32 j,
+ DSPDoubleSplitComplex * c,
+ SInt32 k,
+ DSPDoubleSplitComplex * d,
+ SInt32 l,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+ * zmsm()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zmsm(
+ DSPSplitComplex * a,
+ SInt32 i,
+ DSPSplitComplex * b,
+ SInt32 j,
+ DSPSplitComplex * c,
+ SInt32 k,
+ DSPSplitComplex * d,
+ SInt32 l,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+ * zmsmD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zmsmD(
+ DSPDoubleSplitComplex * a,
+ SInt32 i,
+ DSPDoubleSplitComplex * b,
+ SInt32 j,
+ DSPDoubleSplitComplex * c,
+ SInt32 k,
+ DSPDoubleSplitComplex * d,
+ SInt32 l,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+ * zmmul()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zmmul(
+ DSPSplitComplex * a,
+ SInt32 i,
+ DSPSplitComplex * b,
+ SInt32 j,
+ DSPSplitComplex * c,
+ SInt32 k,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+ * zmmulD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zmmulD(
+ DSPDoubleSplitComplex * a,
+ SInt32 i,
+ DSPDoubleSplitComplex * b,
+ SInt32 j,
+ DSPDoubleSplitComplex * c,
+ SInt32 k,
+ SInt32 M,
+ SInt32 N,
+ SInt32 P);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function vadd
+ vaddD
+
+ Floating Point Add in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1 and input2 and result are all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * vadd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vadd(
+ const float input1[],
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ float result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * vaddD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+vaddD(
+ const double input1[],
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ double result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function vsub
+ vsubD
+
+ Floating Point Substract in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1 and input2 and result are all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * vsub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vsub(
+ const float input1[],
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ float result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * vsubD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+vsubD(
+ const double input1[],
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ double result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function vmul
+ vmulD
+
+ Floating Point Multiply in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1 and input2 and result must be all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * vmul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vmul(
+ const float input1[],
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ float result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * vmulD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+vmulD(
+ const double input1[],
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ double result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function vsmul
+ vsmulD
+
+ Floating Point - Scalar Multiply in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1 and result are all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * vsmul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vsmul(
+ const float input1[],
+ SInt32 stride1,
+ const float * input2,
+ float result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * vsmulD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+vsmulD(
+ const double input1[],
+ SInt32 stride1,
+ const double * input2,
+ double result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Function vsq
+ vsqD
+
+ Floating Point Square in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input and result are relatively aligned.
+ 2. size >= 8
+ 3. strideInput = 1
+ 4. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * vsq()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vsq(
+ const float input[],
+ SInt32 strideInput,
+ float result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * vsqD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+vsqD(
+ const double input[],
+ SInt32 strideInput,
+ double result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Function vssq
+ vssqD
+
+ Floating Point Signed Square in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input and result must be all relatively aligned.
+ 2. size >= 8
+ 3. strideInput = 1
+ 4. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * vssq()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vssq(
+ const float input[],
+ SInt32 strideInput,
+ float result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * vssqD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+vssqD(
+ const double input[],
+ SInt32 strideInput,
+ double result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function dotpr
+ dotprD
+
+ Floating Point Dot product in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1 and input2 are relatively aligned.
+ 2. size >= 20
+ 3. stride1 = 1
+ 4. stride2 = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * dotpr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+dotpr(
+ const float input1[],
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ float * result,
+ UInt32 size);
+
+
+/*
+ * dotprD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+dotprD(
+ const double input1[],
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ double * result,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function vam
+ vamD
+
+ Floating Point vadd and Multiply in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1, input2, input_3 and result are all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. stride_3 = 1
+ 6. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * vam()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vam(
+ const float input1[],
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ const float input3[],
+ SInt32 stride3,
+ float result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * vamD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+vamD(
+ const double input1[],
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ const double input3[],
+ SInt32 stride3,
+ double result[],
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zconv
+ zconvD
+
+ Split Complex Convolution and Correlation in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. signal->realp, signal->imagp, result->realp, result->imagp
+ must be relatively aligned.
+ 2. 4 <= lenFilter <= 128
+ 3. lenResult > 20
+ 4. signalStride = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. strideFilter can be positive for correlation
+ or negative for convolution
+-------------------------------------------------------------------------------
+*/
+/*
+ * zconv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zconv(
+ DSPSplitComplex * signal,
+ SInt32 signalStride,
+ DSPSplitComplex * filter,
+ SInt32 strideFilter,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ SInt32 lenResult,
+ SInt32 lenFilter);
+
+
+/*
+ * zconvD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zconvD(
+ DSPDoubleSplitComplex * signal,
+ SInt32 signalStride,
+ DSPDoubleSplitComplex * filter,
+ SInt32 strideFilter,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ SInt32 lenResult,
+ SInt32 lenFilter);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zvadd
+ zvaddD
+
+ Split Complex vadd in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2.realp, input2.imagp,
+ result.realp, result.imagp must be all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zvadd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zvadd(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ DSPSplitComplex * input2,
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * zvaddD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zvaddD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ DSPDoubleSplitComplex * input2,
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zvsub
+ zvsubD
+
+ Split Complex Substract in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2.realp, input2.imagp,
+ result.realp, result.imagp must be all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zvsub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zvsub(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ DSPSplitComplex * input2,
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * zvsubD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zvsubD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ DSPDoubleSplitComplex * input2,
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zvmul
+ zvmulD
+
+ Split Complex Multiply in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2.realp, input2.imagp,
+ result.realp, result.imagp must be all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used. The conjugate value can be 1 or -1.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zvmul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zvmul(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ DSPSplitComplex * input2,
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size,
+ SInt32 conjugate);
+
+
+/*
+ * zvmulD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zvmulD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ DSPDoubleSplitComplex * input2,
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size,
+ SInt32 conjugate);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zdotpr
+ zdotprD
+
+ Split Complex Dot product in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2.realp, input2.imagp are all
+ relatively aligned.
+ 2. size >= 20
+ 3. stride1 = 1
+ 4. stride2 = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zdotpr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zdotpr(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ DSPSplitComplex * input2,
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ UInt32 size);
+
+
+/*
+ * zdotprD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zdotprD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ DSPDoubleSplitComplex * input2,
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zidotpr
+ zidotprD
+
+ Split Complex Inner Dot product in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2.realp, input2.imagp must be
+ all relatively aligned.
+ 2. size >= 20
+ 3. stride1 = 1
+ 4. stride2 = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zidotpr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zidotpr(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ DSPSplitComplex * input2,
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ UInt32 size);
+
+
+/*
+ * zidotprD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zidotprD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ DSPDoubleSplitComplex * input2,
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ UInt32 size);
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zrdotpr
+ zrdotprD
+
+ Split Complex - Real Dot product in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2 are must be relatively aligned.
+ 2. size >= 16
+ 3. stride1 = 1
+ 4. stride2 = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zrdotpr()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zrdotpr(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ UInt32 size);
+
+
+/*
+ * zrdotprD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zrdotprD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zvcma
+ zvcmaD
+
+ Split Complex Conjugate Multiply And vadd in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2.realp, input2.imagp,
+ input_3.realp, input_3.imagp, result.realp, result.imagp
+ must be all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. stride_3 = 1
+ 6. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zvcma()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zvcma(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ DSPSplitComplex * input2,
+ SInt32 stride2,
+ DSPSplitComplex * input3,
+ SInt32 stride3,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * zvcmaD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zvcmaD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ DSPDoubleSplitComplex * input2,
+ SInt32 stride2,
+ DSPDoubleSplitComplex * input3,
+ SInt32 stride3,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zrvadd
+ zrvaddD
+
+ Split Complex - Real Add in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2, result.realp, result.imagp
+ are all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zrvadd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zrvadd(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * zrvaddD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zrvaddD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zrvsub
+ zrvsubD
+
+ Split Complex - Real Substract in Single and Double Precision
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2, result.realp, result.imagp
+ must be all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zrvsub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zrvsub(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * zrvsubD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zrvsubD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+-------------------------------------------------------------------------------
+ Function zrvmul
+ zrvmulD
+
+ Split Complex - Real Multiply
+
+ Criteria to invoke PowerPC vector code:
+ 1. input1.realp, input1.imagp, input2, result.realp, result.imagp
+ must be all relatively aligned.
+ 2. size >= 8
+ 3. stride1 = 1
+ 4. stride2 = 1
+ 5. strideResult = 1
+
+ If any of the above criteria are not satisfied, the PowerPC scalar code
+ implementation will be used.
+-------------------------------------------------------------------------------
+*/
+/*
+ * zrvmul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+zrvmul(
+ DSPSplitComplex * input1,
+ SInt32 stride1,
+ const float input2[],
+ SInt32 stride2,
+ DSPSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
+
+
+/*
+ * zrvmulD()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API_C( void )
+zrvmulD(
+ DSPDoubleSplitComplex * input1,
+ SInt32 stride1,
+ const double input2[],
+ SInt32 stride2,
+ DSPDoubleSplitComplex * result,
+ SInt32 strideResult,
+ UInt32 size);
@@ -3142,33 +3136,31 @@ extern "C" {
#endif /* !defined(USE_NON_APPLE_STANDARD_DATATYPES) */
#if USE_NON_APPLE_STANDARD_DATATYPES
- enum
- {
- FFT_FORWARD = kFFTDirection_Forward,
- FFT_INVERSE = kFFTDirection_Inverse
- };
-
- enum
- {
- FFT_RADIX2 = kFFTRadix2,
- FFT_RADIX3 = kFFTRadix3,
- FFT_RADIX5 = kFFTRadix5
- };
-
-
- typedef DSPComplex COMPLEX;
- typedef DSPSplitComplex COMPLEX_SPLIT;
- typedef DSPDoubleComplex DOUBLE_COMPLEX;
- typedef DSPDoubleSplitComplex DOUBLE_COMPLEX_SPLIT;
+enum {
+ FFT_FORWARD = kFFTDirection_Forward,
+ FFT_INVERSE = kFFTDirection_Inverse
+};
+
+enum {
+ FFT_RADIX2 = kFFTRadix2,
+ FFT_RADIX3 = kFFTRadix3,
+ FFT_RADIX5 = kFFTRadix5
+};
+
+
+typedef DSPComplex COMPLEX;
+typedef DSPSplitComplex COMPLEX_SPLIT;
+typedef DSPDoubleComplex DOUBLE_COMPLEX;
+typedef DSPDoubleSplitComplex DOUBLE_COMPLEX_SPLIT;
#endif /* USE_NON_APPLE_STANDARD_DATATYPES */
#if PRAGMA_STRUCT_ALIGN
-#pragma options align=reset
+ #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
-#pragma pack(pop)
+ #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
-#pragma pack()
+ #pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
diff --git a/include/qt/vecLib.h b/include/qt/vecLib.h
index ba6288237..e8f6e835c 100644
--- a/include/qt/vecLib.h
+++ b/include/qt/vecLib.h
@@ -1,17 +1,17 @@
/*
File: vecLib.h
-
+
Contains: Master include for vecLib framework
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 2000-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __VECLIB__
#define __VECLIB__
diff --git a/include/qt/vectorOps.h b/include/qt/vectorOps.h
index 9d7372406..cdc9ace7a 100644
--- a/include/qt/vectorOps.h
+++ b/include/qt/vectorOps.h
@@ -1,17 +1,17 @@
/*
File: vectorOps.h
-
+
Contains: vector and matrix functions for AltiVec
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __VECTOROPS__
#define __VECTOROPS__
@@ -34,968 +34,968 @@ extern "C" {
#pragma import on
#endif
- /*
- -------------------------------------------------------------------------------------
+/*
+-------------------------------------------------------------------------------------
+
+ This section is a collection of Basic Linear Algebra Subprograms (BLAS), which
+ use AltiVec technology for their implementations. The functions are grouped into
+ three categories (called levels), as follows:
+
+ 1) Vector-scalar linear algebra subprograms
+ 2) Matrix-vector linear algebra subprograms
+ 3) Matrix operations
+
+ Following is a list of subprograms and a short description of each one.
+-------------------------------------------------------------------------------------
+*/
+#ifdef __VEC__
+/*
+-------------------------------------------------------------------------------------
+ Level 1
+-------------------------------------------------------------------------------------
+*/
+/**************************************************
+ vIsamax finds the position of the first vector
+ element having the largest magnitude.
+ count length of vector x (count is a
+ multiple of 4)
+ x array of floats
+**************************************************/
+/*
+ * vIsamax()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long )
+vIsamax(
+ long count,
+ const vector float x[]);
+
+
+
+
+/**************************************************
+ vIsamin finds the position of the first vector
+ element having minimum absolute value.
+ count length of vector x (count is a
+ multiple of 4)
+ x array of floats
+**************************************************/
+/*
+ * vIsamin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long )
+vIsamin(
+ long count,
+ const vector float x[]);
+
+
+
+
+/**************************************************
+ vIsmax finds the position of the first vector
+ element having maximum value.
+ count length of vector x (count is a
+ multiple of 4)
+ x array of floats
+**************************************************/
+/*
+ * vIsmax()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long )
+vIsmax(
+ long count,
+ const vector float x[]);
+
+
+
+
+/**************************************************
+ vIsmin finds the position of the first vector
+ element having minimum value.
+ count length of vector x (count is a
+ multiple of 4)
+ x array of floats
+**************************************************/
+/*
+ * vIsmin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( long )
+vIsmin(
+ long count,
+ const vector float x[]);
+
+
+
+
+/**************************************************
+ vSasum finds the sum of the magnitudes of the
+ elements in a vector.
+ count length of vector x (count is a
+ multiple of 4)
+ x array of floats
+**************************************************/
+/*
+ * vSasum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+vSasum(
+ long count,
+ const vector float x[]);
+
+
+
+
+/**************************************************
+ vSsum is the vector version of sasum but without
+ the absolute value. It takes the value of each
+ element of the array and adds them together.
+ multiple of 4)
+ x array of floats
+**************************************************/
+/*
+ * vSsum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+vSsum(
+ long count,
+ const vector float x[]);
+
+
+
+
+/**************************************************
+ vSaxpy multiplies a vector x, by a scalar and
+ adds it to a vector y and stores the result in y
+ n number of floats in x (n is a
+ multiple of 4)
+ alpha scalar number is single-precision
+ floating-point
+ x array of vector floats
+ y array of vector floats, where the
+ the result is stored
+**************************************************/
+/*
+ * vSaxpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSaxpy(
+ long n,
+ float alpha,
+ const vector float x[],
+ vector float y[]);
+
+
+
+
+/*************************************************************
+ vScopy copies a vector x, into another vector y.
+ n mumber of floats in x and y (n is a
+ multiple of 4)
+ x array of vector floats
+ y array of vector floats
+*************************************************************/
+/*
+ * vScopy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vScopy(
+ long n,
+ const vector float x[],
+ vector float y[]);
+
+
+
+/*************************************************************
+ vSdot finds the dot product of two vectors.
+ n mumber of floats in x and y (n is a
+ multiple of 4)
+ x array of vector floats
+ y array of vector floats
+*************************************************************/
+/*
+ * vSdot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+vSdot(
+ long n,
+ const vector float x[],
+ const vector float y[]);
+
+
+
+/*************************************************************
+ vSnaxpy computes saxpy "n" times.
+ n number of saxpyV computations to be
+ performed and the number of elements
+ in vector A (n is a multiple of 4)
+ m number of floats in each vector x(i)
+ or y(i)
+ a array of vector floats containing
+ scalars a(i)
+ x matrix containing arrays of vector-
+ floats x(i)
+ y matrix containing vectors y(i)
+*************************************************************/
+/*
+ * vSnaxpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSnaxpy(
+ long n,
+ long m,
+ const vector float a[],
+ const vector float x[],
+ vector float y[]);
+
+
+
+
+/*************************************************************
+ vSndot computes the dot products "n" times.
+ n number of dot product computations
+ to be performed and the number of
+ elements in vector S
+ m number of elements in vectors x(i)
+ and y(i) for each dot product
+ computation (m is a multiple of 4)
+ s array of floats. Depending on the
+ value of "isw" different computations/
+ are performed and the results are
+ stored in the array S
+ isw indicates the type of computation
+ to perform.
+ if isw=1, S(i) <-- x(i) y(i)
+ if isw=2, S(i) <-- - x(i) y(i)
+ if isw=3, S(i) <-- S(i) + x(i) y(i)/
+ if isw=4, S(i) <-- S(i) - x(i) y(i)/
+ x matrix containing arrays x(i)
+ y matrix containing arrays y(i)
+*************************************************************/
+/*
+ * vSndot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSndot(
+ long n,
+ long m,
+ float s[],
+ long isw,
+ const vector float x[],
+ const vector float y[]);
+
+
+
+
+/*************************************************************
+ vSnrm2 finds the Euclidean length of a vector
+ with scaling of input to avoid destructive
+ underflow and overflow.
+ count length of vector (multiple of 4)
+ x array of vector floats
+*************************************************************/
+/*
+ * vSnrm2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+vSnrm2(
+ long count,
+ const vector float x[]);
+
+
+
+
+/*************************************************************
+ vSnorm2 finds the Euclidean length of a vector
+ with no scaling of input.
+ count length of vector (multiple of 4)
+ x array of vector floats
+*************************************************************/
+/*
+ * vSnorm2()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( float )
+vSnorm2(
+ long count,
+ const vector float x[]);
+
+
+
+
+/*************************************************************
+ vSrot applies a plane rotation.
+ n number of points to be rotated, also
+ number of elements in x and y (n is
+ a multiple of 4)
+ x array of vector floats. It is a
+ vector of length n, containing x(i)
+ coordinates of points to be rotated
+ y array of vector floats. It is a
+ vector of length n, containing y(i)
+ coordinates of points to be rotated
+ c cosine of angle of rotation
+ s sine of angle of rotation
+*************************************************************/
+/*
+ * vSrot()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSrot(
+ long n,
+ vector float x[],
+ vector float y[],
+ float c,
+ float s);
+
+
+
+
+/*************************************************************
+ vSscal multiplies a vector x, by a scalar and
+ stores the result in the vector x.
+ n number of floats in x (n is a
+ multiple of 4)
+ alpha scalar number is single-precision
+ floating-point
+ x array of vector floats
+*************************************************************/
+/*
+ * vSscal()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSscal(
+ long n,
+ float alpha,
+ vector float x[]);
+
+
+
+
+/*************************************************************
+ vSswap interchanges the elements of vectors x
+ and y
+ n number of floats in x and y (n is a
+ multiple of 4)
+ x array of vector floats
+ y array of vector floats
+*************************************************************/
+/*
+ * vSswap()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSswap(
+ long n,
+ vector float x[],
+ vector float y[]);
+
+
+
+
+/*************************************************************
+ vSyax multiplies a vector x, by a scalar and
+ stores the result in a vector y.
+ n number of floats in x (n is a
+ multiple of 4)
+ alpha scalar number is single-precision
+ floating-point
+ x array of vector floats
+ y array of vector floats
+*************************************************************/
+/*
+ * vSyax()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSyax(
+ long n,
+ float alpha,
+ const vector float x[],
+ vector float y[]);
+
+
+
+
+/*************************************************************
+ vSzaxpy multiplies a vector x, by a scalar and
+ adds it to a vector y and stores the result in
+ vector Z.
+ n number of floats in x (n is a
+ multiple of 4)
+ alpha scalar number is single-precision
+ floating-point
+ x array of vector floats
+ y array of vector floats
+ Z array of vector floats, where the
+ is stored
+*************************************************************/
+/*
+ * vSzaxpy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSzaxpy(
+ long n,
+ float alpha,
+ const vector float x[],
+ const vector float yY[],
+ vector float z[]);
- This section is a collection of Basic Linear Algebra Subprograms (BLAS), which
- use AltiVec technology for their implementations. The functions are grouped into
- three categories (called levels), as follows:
- 1) Vector-scalar linear algebra subprograms
- 2) Matrix-vector linear algebra subprograms
- 3) Matrix operations
- Following is a list of subprograms and a short description of each one.
- -------------------------------------------------------------------------------------
- */
-#ifdef __VEC__
- /*
- -------------------------------------------------------------------------------------
- Level 1
- -------------------------------------------------------------------------------------
- */
- /**************************************************
- vIsamax finds the position of the first vector
- element having the largest magnitude.
- count length of vector x (count is a
- multiple of 4)
- x array of floats
- **************************************************/
- /*
- * vIsamax()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long)
- vIsamax(
- long count,
- const vector float x[]);
-
-
-
-
- /**************************************************
- vIsamin finds the position of the first vector
- element having minimum absolute value.
- count length of vector x (count is a
- multiple of 4)
- x array of floats
- **************************************************/
- /*
- * vIsamin()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long)
- vIsamin(
- long count,
- const vector float x[]);
-
-
-
-
- /**************************************************
- vIsmax finds the position of the first vector
- element having maximum value.
- count length of vector x (count is a
- multiple of 4)
- x array of floats
- **************************************************/
- /*
- * vIsmax()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long)
- vIsmax(
- long count,
- const vector float x[]);
-
-
-
-
- /**************************************************
- vIsmin finds the position of the first vector
- element having minimum value.
- count length of vector x (count is a
- multiple of 4)
- x array of floats
- **************************************************/
- /*
- * vIsmin()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(long)
- vIsmin(
- long count,
- const vector float x[]);
-
-
-
-
- /**************************************************
- vSasum finds the sum of the magnitudes of the
- elements in a vector.
- count length of vector x (count is a
- multiple of 4)
- x array of floats
- **************************************************/
- /*
- * vSasum()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- vSasum(
- long count,
- const vector float x[]);
-
-
-
-
- /**************************************************
- vSsum is the vector version of sasum but without
- the absolute value. It takes the value of each
- element of the array and adds them together.
- multiple of 4)
- x array of floats
- **************************************************/
- /*
- * vSsum()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- vSsum(
- long count,
- const vector float x[]);
-
-
-
-
- /**************************************************
- vSaxpy multiplies a vector x, by a scalar and
- adds it to a vector y and stores the result in y
- n number of floats in x (n is a
- multiple of 4)
- alpha scalar number is single-precision
- floating-point
- x array of vector floats
- y array of vector floats, where the
- the result is stored
- **************************************************/
- /*
- * vSaxpy()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSaxpy(
- long n,
- float alpha,
- const vector float x[],
- vector float y[]);
-
-
-
-
- /*************************************************************
- vScopy copies a vector x, into another vector y.
- n mumber of floats in x and y (n is a
- multiple of 4)
- x array of vector floats
- y array of vector floats
- *************************************************************/
- /*
- * vScopy()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vScopy(
- long n,
- const vector float x[],
- vector float y[]);
-
-
-
- /*************************************************************
- vSdot finds the dot product of two vectors.
- n mumber of floats in x and y (n is a
- multiple of 4)
- x array of vector floats
- y array of vector floats
- *************************************************************/
- /*
- * vSdot()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- vSdot(
- long n,
- const vector float x[],
- const vector float y[]);
-
-
-
- /*************************************************************
- vSnaxpy computes saxpy "n" times.
- n number of saxpyV computations to be
- performed and the number of elements
- in vector A (n is a multiple of 4)
- m number of floats in each vector x(i)
- or y(i)
- a array of vector floats containing
- scalars a(i)
- x matrix containing arrays of vector-
- floats x(i)
- y matrix containing vectors y(i)
- *************************************************************/
- /*
- * vSnaxpy()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSnaxpy(
- long n,
- long m,
- const vector float a[],
- const vector float x[],
- vector float y[]);
-
-
-
-
- /*************************************************************
- vSndot computes the dot products "n" times.
- n number of dot product computations
- to be performed and the number of
- elements in vector S
- m number of elements in vectors x(i)
- and y(i) for each dot product
- computation (m is a multiple of 4)
- s array of floats. Depending on the
- value of "isw" different computations/
- are performed and the results are
- stored in the array S
- isw indicates the type of computation
- to perform.
- if isw=1, S(i) <-- x(i) y(i)
- if isw=2, S(i) <-- - x(i) y(i)
- if isw=3, S(i) <-- S(i) + x(i) y(i)/
- if isw=4, S(i) <-- S(i) - x(i) y(i)/
- x matrix containing arrays x(i)
- y matrix containing arrays y(i)
- *************************************************************/
- /*
- * vSndot()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSndot(
- long n,
- long m,
- float s[],
- long isw,
- const vector float x[],
- const vector float y[]);
-
-
-
-
- /*************************************************************
- vSnrm2 finds the Euclidean length of a vector
- with scaling of input to avoid destructive
- underflow and overflow.
- count length of vector (multiple of 4)
- x array of vector floats
- *************************************************************/
- /*
- * vSnrm2()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- vSnrm2(
- long count,
- const vector float x[]);
-
-
-
-
- /*************************************************************
- vSnorm2 finds the Euclidean length of a vector
- with no scaling of input.
- count length of vector (multiple of 4)
- x array of vector floats
- *************************************************************/
- /*
- * vSnorm2()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(float)
- vSnorm2(
- long count,
- const vector float x[]);
-
-
-
-
- /*************************************************************
- vSrot applies a plane rotation.
- n number of points to be rotated, also
- number of elements in x and y (n is
- a multiple of 4)
- x array of vector floats. It is a
- vector of length n, containing x(i)
- coordinates of points to be rotated
- y array of vector floats. It is a
- vector of length n, containing y(i)
- coordinates of points to be rotated
- c cosine of angle of rotation
- s sine of angle of rotation
- *************************************************************/
- /*
- * vSrot()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSrot(
- long n,
- vector float x[],
- vector float y[],
- float c,
- float s);
-
-
-
-
- /*************************************************************
- vSscal multiplies a vector x, by a scalar and
- stores the result in the vector x.
- n number of floats in x (n is a
- multiple of 4)
- alpha scalar number is single-precision
- floating-point
- x array of vector floats
- *************************************************************/
- /*
- * vSscal()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSscal(
- long n,
- float alpha,
- vector float x[]);
-
-
-
-
- /*************************************************************
- vSswap interchanges the elements of vectors x
- and y
- n number of floats in x and y (n is a
- multiple of 4)
- x array of vector floats
- y array of vector floats
- *************************************************************/
- /*
- * vSswap()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSswap(
- long n,
- vector float x[],
- vector float y[]);
-
-
-
-
- /*************************************************************
- vSyax multiplies a vector x, by a scalar and
- stores the result in a vector y.
- n number of floats in x (n is a
- multiple of 4)
- alpha scalar number is single-precision
- floating-point
- x array of vector floats
- y array of vector floats
- *************************************************************/
- /*
- * vSyax()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSyax(
- long n,
- float alpha,
- const vector float x[],
- vector float y[]);
-
-
-
-
- /*************************************************************
- vSzaxpy multiplies a vector x, by a scalar and
- adds it to a vector y and stores the result in
- vector Z.
- n number of floats in x (n is a
- multiple of 4)
- alpha scalar number is single-precision
- floating-point
- x array of vector floats
- y array of vector floats
- Z array of vector floats, where the
- is stored
- *************************************************************/
- /*
- * vSzaxpy()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSzaxpy(
- long n,
- float alpha,
- const vector float x[],
- const vector float yY[],
- vector float z[]);
-
-
-
-
-
- /*
- -------------------------------------------------------------------------------------
- Level 2
- -------------------------------------------------------------------------------------
- */
- /*************************************************************
- vSgemv multiplies an array of vector floats y by
- a scalar beta, and takes the result and adds it
- to the product of a scalar alpha multiplied by
- a matrix A multiplied by a vector x. The above
- result is stored in array y. Futhermore, the
- same function also performs the above calculation/
- with the transpose of matrix A, instead of
- matrix A. In this function argument "forma"
- distinguishes between the above two cases.
- forma indicates the form of matrix A to
- use in the computation, where:
- If forma = "n", Matrix A is used
- If forma = "T", Transpose of Matrix
- A is used
- m number of rows in matrix A and
- depending on value of forma
- if forma = "n", it is the length of
- vector y
- if forma = "T", it is the length of
- vector x. m is a multiple of 4
- n number of columns in matrix A and
- depending on value of forma
- if forma = "n", it is the length of
- vector x
- if forma = "T", it is the length of
- vector y. m is a multiple of 4
- alpha is a scaling constant
- A is an m by n matrix. Its elements
- are vector floats
- x is an array of vector floats
- beta is a scaling constant
- y is an array of vector floats
- *************************************************************/
- /*
- * vSgemv()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgemv(
- char forma,
- long m,
- long n,
- float alpha,
- const vector float a[],
- const vector float x[],
- float beta,
- vector float y[]);
-
-
-
-
-
- /*************************************************************
- vSgemx adds an array of vector floats y to the
- product of an scalar alpha by a mtrix A
- multiplied by an array of vector floats x. It
- then stores the result in the vector y.
- m number of rows in matrix A and
- the length of vector y. m is a
- multiple of 4
- n number of columns in matrix A and
- the length of vector x. m is a
- multiple of 4
- alpha is a scaling constant
- a is an m by n matrix. Its elements
- are vector floats
- x is an array of vector floats
- y is an array of vector floats
- *************************************************************/
- /*
- * vSgemx()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgemx(
- long m,
- long n,
- float alpha,
- const vector float a[],
- const vector float x[],
- vector float y[]);
-
-
-
-
- /*************************************************************
- vSgemtx takes the transpose of a mtrix A and
- multiplies it by an array x. It then multiplies
- the result by a scalar alpha. Finally adds the
- above result to an array y and stores the result
- in array y.
- m number of rows in matrix A and
- the length of vector x. m is a
- multiple of 4
- n number of columns in matrix A and
- the length of vector y. m is a
- multiple of 4
- alpha is a scaling constant
- a is an m by n matrix. Its elements
- are vector floats
- x is an array of vector floats
- y is an array of vector floats
- *************************************************************/
- /*
- * vSgemtx()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgemtx(
- long m,
- long n,
- float alpha,
- const vector float a[],
- const vector float x[],
- vector float y[]);
-
-
-
-
- /*
- -------------------------------------------------------------------------------------
- Level 3
- -------------------------------------------------------------------------------------
- */
-
-
- /*************************************************************
- vSgeadd performs matrix addition for general
- matrices or their transposes.
- height height of the matrix (it is multiple
- of 4)
- width width of the matrix (it is multiple
- of 4)
- A matrix A, and depending on forma:
- if forma='n', A is used in the
- computation, and A has m rows and
- n columns
- if forma='T', A(T) is used in the
- computation, and A has n rows and
- m columns
- forma indicates the form of matrix A to
- use in the computation, where:
- if forma='n', A is used in the
- computation
- if forma='T', A(T) is used in the
- computation
- b matrix b, and depending on formb:
- if formb='n', b is used in the
- computation, and b has m rows and
- n columns
- if formb='T', b(T) is used in the
- computation, and b has n rows and
- m columns
- formb indicates the form of matrix b to
- use in the computation, where:
- if forma='n', b is used in the
- computation
- if forma='T', b(T) is used in the
- computation
- c is an m by n matrix c, containing
- the reults of the computation
- *************************************************************/
- /*
- * vSgeadd()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgeadd(
- long height,
- long width,
- const vector float a[],
- char forma,
- const vector float b[],
- char formb,
- vector float c[]);
-
-
-
-
- /*************************************************************
- vSgesub performs matrix subtraction for general
- matrices or their transposes.
- height height of the matrix (it is multiple
- of 4)
- width width of the matrix (it is multiple
- of 4)
- A matrix A, and depending on forma:
- if forma='n', A is used in the
- computation, and A has m rows and
- n columns
- if forma='T', A(T) is used in the
- computation, and A has n rows and
- m columns
- forma indicates the form of matrix A to
- use in the computation, where:
- if forma='n', A is used in the
- computation
- if forma='T', A(T) is used in the
- computation
- b matrix b, and depending on formb:
- if formb='n', b is used in the
- computation, and b has m rows and
- n columns
- if formb='T', b(T) is used in the
- computation, and b has n rows and
- m columns
- formb indicates the form of matrix b to
- use in the computation, where:
- if forma='n', b is used in the
- computation
- if forma='T', b(T) is used in the
- computation
- c is an m by n matrix c, containing
- the reults of the computation
- *************************************************************/
- /*
- * vSgesub()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgesub(
- long height,
- long width,
- const vector float a[],
- char forma,
- const vector float b[],
- char formb,
- vector float c[]);
-
-
-
-
- /*************************************************************
- vSgemul performs matrix multiplication for
- general matrices or their transposes.
- l height of the matrix A (it is
- multiple of 4)
- m width of matrix A (it is multiple
- of 4)
- n width of matrix b (it is multiple
- of 4)
- A matrix A, and depending on forma:
- if forma='n', A is used in the
- computation, and A has l rows and
- m columns
- if forma='T', A(T) is used in the
- computation, and A has m rows and
- l columns
- forma indicates the form of matrix A to
- use in the computation, where:
- if forma='n', A is used in the
- computation
- if forma='T', A(T) is used in the
- computation
- b matrix b, and depending on formb:
- if formb='n', b is used in the
- computation, and b has m rows and
- n columns
- if formb='T', b(T) is used in the
- computation, and b has n rows and
- m columns
- formb indicates the form of matrix b to
- use in the computation, where:
- if forma='n', b is used in the
- computation
- if forma='T', b(T) is used in the
- computation
- matrix is the matrix containing the
- results of the computation
- *************************************************************/
- /*
- * vSgemul()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgemul(
- long l,
- long m,
- long n,
- const vector float a[],
- char forma,
- const vector float b[],
- char formb,
- vector float matrix[]);
-
-
-
-
- /*************************************************************
- vSgemm performs combined matrix multiplication
- and addition for general matrices or their transposes.
- l number of rows in matrix c (it is
- multiple of 4)
- m has the following meaning:
- if forma='n', it is the number of
- columns in matrix A
- if forma='T', it is the number of
- rows in matrix A. In addition
- if formb='n', it is the number of
- rows in matrix b
- if formb='T', it is the number of
- columns in matrix b
- n columns in matrix c
- A matrix A, and depending on forma:
- if forma='n', A is used in the
- computation, and A has l rows and
- m columns
- if forma='T', A(T) is used in the
- computation, and A has m rows and
- l columns
- forma indicates the form of matrix A to
- use in the computation, where:
- if forma='n', A is used in the
- computation
- if forma='T', A(T) is used in the
- computation
- b matrix b, and depending on formb:
- if formb='n', b is used in the
- computation, and b has m rows and
- n columns
- if formb='T', b(T) is used in the
- computation, and b has n rows and
- m columns
- formb indicates the form of matrix b to
- use in the computation, where:
- if forma='n', b is used in the
- computation
- if forma='T', b(T) is used in the
- computation
- alpha is a scalar
- beta is a scalar
- matrix is the l by n matrix
- *************************************************************/
- /*
- * vSgemm()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgemm(
- long l,
- long m,
- long n,
- const vector float a[],
- char forma,
- const vector float b[],
- char formb,
- vector float c[],
- float alpha,
- float beta,
- vector float matrix[]);
-
-
-
-
-
- /*************************************************************
- vSgetmi performs general matrix transpose (in place).
- size is the number of rows and columns
- in matrix x
- *************************************************************/
- /*
- * vSgetmi()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgetmi(
- long size,
- vector float x[]);
-
-
-
-
-
- /*************************************************************
- vSgetmo performs general matrix transpose (out-of-place).
- height is the height of the matrix
- width is the width of the matrix
- x array of vector floats
- y array of vector floats
- *************************************************************/
- /*
- * vSgetmo()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgetmo(
- long height,
- long width,
- const vector float x[],
- vector float y[]);
-
-
-
-
-
- /*************************************************************
- vSgevv is a new function. It takes matrix A and
- multiplies it by matrix b and puts the result in
- matrix m.
- l is the height of the matrix
- n is the width of the matrix
- A array of vector floats of at least
- l * m in length
- b array of vector floats of at least
- m * n in length
- m array of vector floats, containing
- the results of multiplication. It
- is m * n in size
- *************************************************************/
- /*
- * vSgevv()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(void)
- vSgevv(
- long l,
- long n,
- const vector float a[],
- const vector float b[],
- vector float m[]);
+
+
+/*
+-------------------------------------------------------------------------------------
+ Level 2
+-------------------------------------------------------------------------------------
+*/
+/*************************************************************
+ vSgemv multiplies an array of vector floats y by
+ a scalar beta, and takes the result and adds it
+ to the product of a scalar alpha multiplied by
+ a matrix A multiplied by a vector x. The above
+ result is stored in array y. Futhermore, the
+ same function also performs the above calculation/
+ with the transpose of matrix A, instead of
+ matrix A. In this function argument "forma"
+ distinguishes between the above two cases.
+ forma indicates the form of matrix A to
+ use in the computation, where:
+ If forma = "n", Matrix A is used
+ If forma = "T", Transpose of Matrix
+ A is used
+ m number of rows in matrix A and
+ depending on value of forma
+ if forma = "n", it is the length of
+ vector y
+ if forma = "T", it is the length of
+ vector x. m is a multiple of 4
+ n number of columns in matrix A and
+ depending on value of forma
+ if forma = "n", it is the length of
+ vector x
+ if forma = "T", it is the length of
+ vector y. m is a multiple of 4
+ alpha is a scaling constant
+ A is an m by n matrix. Its elements
+ are vector floats
+ x is an array of vector floats
+ beta is a scaling constant
+ y is an array of vector floats
+*************************************************************/
+/*
+ * vSgemv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgemv(
+ char forma,
+ long m,
+ long n,
+ float alpha,
+ const vector float a[],
+ const vector float x[],
+ float beta,
+ vector float y[]);
+
+
+
+
+
+/*************************************************************
+ vSgemx adds an array of vector floats y to the
+ product of an scalar alpha by a mtrix A
+ multiplied by an array of vector floats x. It
+ then stores the result in the vector y.
+ m number of rows in matrix A and
+ the length of vector y. m is a
+ multiple of 4
+ n number of columns in matrix A and
+ the length of vector x. m is a
+ multiple of 4
+ alpha is a scaling constant
+ a is an m by n matrix. Its elements
+ are vector floats
+ x is an array of vector floats
+ y is an array of vector floats
+*************************************************************/
+/*
+ * vSgemx()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgemx(
+ long m,
+ long n,
+ float alpha,
+ const vector float a[],
+ const vector float x[],
+ vector float y[]);
+
+
+
+
+/*************************************************************
+ vSgemtx takes the transpose of a mtrix A and
+ multiplies it by an array x. It then multiplies
+ the result by a scalar alpha. Finally adds the
+ above result to an array y and stores the result
+ in array y.
+ m number of rows in matrix A and
+ the length of vector x. m is a
+ multiple of 4
+ n number of columns in matrix A and
+ the length of vector y. m is a
+ multiple of 4
+ alpha is a scaling constant
+ a is an m by n matrix. Its elements
+ are vector floats
+ x is an array of vector floats
+ y is an array of vector floats
+*************************************************************/
+/*
+ * vSgemtx()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgemtx(
+ long m,
+ long n,
+ float alpha,
+ const vector float a[],
+ const vector float x[],
+ vector float y[]);
+
+
+
+
+/*
+-------------------------------------------------------------------------------------
+ Level 3
+-------------------------------------------------------------------------------------
+*/
+
+
+/*************************************************************
+ vSgeadd performs matrix addition for general
+ matrices or their transposes.
+ height height of the matrix (it is multiple
+ of 4)
+ width width of the matrix (it is multiple
+ of 4)
+ A matrix A, and depending on forma:
+ if forma='n', A is used in the
+ computation, and A has m rows and
+ n columns
+ if forma='T', A(T) is used in the
+ computation, and A has n rows and
+ m columns
+ forma indicates the form of matrix A to
+ use in the computation, where:
+ if forma='n', A is used in the
+ computation
+ if forma='T', A(T) is used in the
+ computation
+ b matrix b, and depending on formb:
+ if formb='n', b is used in the
+ computation, and b has m rows and
+ n columns
+ if formb='T', b(T) is used in the
+ computation, and b has n rows and
+ m columns
+ formb indicates the form of matrix b to
+ use in the computation, where:
+ if forma='n', b is used in the
+ computation
+ if forma='T', b(T) is used in the
+ computation
+ c is an m by n matrix c, containing
+ the reults of the computation
+*************************************************************/
+/*
+ * vSgeadd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgeadd(
+ long height,
+ long width,
+ const vector float a[],
+ char forma,
+ const vector float b[],
+ char formb,
+ vector float c[]);
+
+
+
+
+/*************************************************************
+ vSgesub performs matrix subtraction for general
+ matrices or their transposes.
+ height height of the matrix (it is multiple
+ of 4)
+ width width of the matrix (it is multiple
+ of 4)
+ A matrix A, and depending on forma:
+ if forma='n', A is used in the
+ computation, and A has m rows and
+ n columns
+ if forma='T', A(T) is used in the
+ computation, and A has n rows and
+ m columns
+ forma indicates the form of matrix A to
+ use in the computation, where:
+ if forma='n', A is used in the
+ computation
+ if forma='T', A(T) is used in the
+ computation
+ b matrix b, and depending on formb:
+ if formb='n', b is used in the
+ computation, and b has m rows and
+ n columns
+ if formb='T', b(T) is used in the
+ computation, and b has n rows and
+ m columns
+ formb indicates the form of matrix b to
+ use in the computation, where:
+ if forma='n', b is used in the
+ computation
+ if forma='T', b(T) is used in the
+ computation
+ c is an m by n matrix c, containing
+ the reults of the computation
+*************************************************************/
+/*
+ * vSgesub()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgesub(
+ long height,
+ long width,
+ const vector float a[],
+ char forma,
+ const vector float b[],
+ char formb,
+ vector float c[]);
+
+
+
+
+/*************************************************************
+ vSgemul performs matrix multiplication for
+ general matrices or their transposes.
+ l height of the matrix A (it is
+ multiple of 4)
+ m width of matrix A (it is multiple
+ of 4)
+ n width of matrix b (it is multiple
+ of 4)
+ A matrix A, and depending on forma:
+ if forma='n', A is used in the
+ computation, and A has l rows and
+ m columns
+ if forma='T', A(T) is used in the
+ computation, and A has m rows and
+ l columns
+ forma indicates the form of matrix A to
+ use in the computation, where:
+ if forma='n', A is used in the
+ computation
+ if forma='T', A(T) is used in the
+ computation
+ b matrix b, and depending on formb:
+ if formb='n', b is used in the
+ computation, and b has m rows and
+ n columns
+ if formb='T', b(T) is used in the
+ computation, and b has n rows and
+ m columns
+ formb indicates the form of matrix b to
+ use in the computation, where:
+ if forma='n', b is used in the
+ computation
+ if forma='T', b(T) is used in the
+ computation
+ matrix is the matrix containing the
+ results of the computation
+*************************************************************/
+/*
+ * vSgemul()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgemul(
+ long l,
+ long m,
+ long n,
+ const vector float a[],
+ char forma,
+ const vector float b[],
+ char formb,
+ vector float matrix[]);
+
+
+
+
+/*************************************************************
+ vSgemm performs combined matrix multiplication
+ and addition for general matrices or their transposes.
+ l number of rows in matrix c (it is
+ multiple of 4)
+ m has the following meaning:
+ if forma='n', it is the number of
+ columns in matrix A
+ if forma='T', it is the number of
+ rows in matrix A. In addition
+ if formb='n', it is the number of
+ rows in matrix b
+ if formb='T', it is the number of
+ columns in matrix b
+ n columns in matrix c
+ A matrix A, and depending on forma:
+ if forma='n', A is used in the
+ computation, and A has l rows and
+ m columns
+ if forma='T', A(T) is used in the
+ computation, and A has m rows and
+ l columns
+ forma indicates the form of matrix A to
+ use in the computation, where:
+ if forma='n', A is used in the
+ computation
+ if forma='T', A(T) is used in the
+ computation
+ b matrix b, and depending on formb:
+ if formb='n', b is used in the
+ computation, and b has m rows and
+ n columns
+ if formb='T', b(T) is used in the
+ computation, and b has n rows and
+ m columns
+ formb indicates the form of matrix b to
+ use in the computation, where:
+ if forma='n', b is used in the
+ computation
+ if forma='T', b(T) is used in the
+ computation
+ alpha is a scalar
+ beta is a scalar
+ matrix is the l by n matrix
+*************************************************************/
+/*
+ * vSgemm()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgemm(
+ long l,
+ long m,
+ long n,
+ const vector float a[],
+ char forma,
+ const vector float b[],
+ char formb,
+ vector float c[],
+ float alpha,
+ float beta,
+ vector float matrix[]);
+
+
+
+
+
+/*************************************************************
+ vSgetmi performs general matrix transpose (in place).
+ size is the number of rows and columns
+ in matrix x
+*************************************************************/
+/*
+ * vSgetmi()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgetmi(
+ long size,
+ vector float x[]);
+
+
+
+
+
+/*************************************************************
+ vSgetmo performs general matrix transpose (out-of-place).
+ height is the height of the matrix
+ width is the width of the matrix
+ x array of vector floats
+ y array of vector floats
+*************************************************************/
+/*
+ * vSgetmo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgetmo(
+ long height,
+ long width,
+ const vector float x[],
+ vector float y[]);
+
+
+
+
+
+/*************************************************************
+ vSgevv is a new function. It takes matrix A and
+ multiplies it by matrix b and puts the result in
+ matrix m.
+ l is the height of the matrix
+ n is the width of the matrix
+ A array of vector floats of at least
+ l * m in length
+ b array of vector floats of at least
+ m * n in length
+ m array of vector floats, containing
+ the results of multiplication. It
+ is m * n in size
+*************************************************************/
+/*
+ * vSgevv()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+vSgevv(
+ long l,
+ long n,
+ const vector float a[],
+ const vector float b[],
+ vector float m[]);
#endif /* defined(__VEC__) */
diff --git a/include/qt/vfp.h b/include/qt/vfp.h
index 9b531eb26..410c1ad09 100644
--- a/include/qt/vfp.h
+++ b/include/qt/vfp.h
@@ -1,17 +1,17 @@
/*
File: vfp.h
-
+
Contains: MathLib style functions for vectors
-
+
Version: QuickTime 7.3
-
+
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved.
-
+
Bugs?: For bug reports, consult the following page on
the World Wide Web:
-
+
http://developer.apple.com/bugreporter/
-
+
*/
#ifndef __VFP__
#define __VFP__
@@ -34,502 +34,502 @@ extern "C" {
#pragma import on
#endif
- /*
- -------------------------------------------------------------------------------
+/*
+-------------------------------------------------------------------------------
+
+ A collection of numerical functions designed to facilitate a wide
+ range of numerical programming for the Altivec Programming model.
+
+-------------------------------------------------------------------------------
+*/
+#ifdef __VEC__
+/*
+------------------------[ Computational Functions]-----------------------------
+
+ vdivf C = A . B
+ vsqrtf B = .A
+ vrsqrtf B = 1/.A
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vdivf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vdivf(vector float A, vector float B);
+
- A collection of numerical functions designed to facilitate a wide
- range of numerical programming for the Altivec Programming model.
+/*
+ * vsqrtf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vsqrtf(vector float X);
- -------------------------------------------------------------------------------
- */
-#ifdef __VEC__
- /*
- ------------------------[ Computational Functions]-----------------------------
-
- vdivf C = A . B
- vsqrtf B = .A
- vrsqrtf B = 1/.A
-
- -------------------------------------------------------------------------------
- */
- /*
- * vdivf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vdivf(vector float A, vector float B);
-
-
- /*
- * vsqrtf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vsqrtf(vector float X);
-
-
- /*
- * vrsqrtf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vrsqrtf(vector float X);
-
-
-
-
- /*
- --------------------------[ Exponential Functions]-----------------------------
-
- vexpf B = Exp(A)
- vexpm1f ExpM1(x) = Exp(x) - 1. But, for small enough arguments,
- ExpM1(x) is expected to be more accurate than Exp(x) - 1.
- vlogf B = Log(A)
- vlog1pf Log1P = Log(1 + x). But, for small enough arguments,
- Log1P is expected to be more accurate than Log(1 + x).
- vlogbf Extracts the exponent of its argument, as a signed integral
- value. A subnormal argument is treated as though it were first
- normalized. Thus:
- 1 <= x * 2^(-logb(x)) < 2
- vscalbf Computes x * 2^n efficently. This is not normally done by
- computing 2^n explicitly.
-
- -------------------------------------------------------------------------------
- */
- /*
- * vexpf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vexpf(vector float X);
-
-
- /*
- * vexpm1f()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vexpm1f(vector float X);
-
-
- /*
- * vlogf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vlogf(vector float X);
-
-
- /*
- * vlog1pf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vlog1pf(vector float X);
-
-
- /*
- * vlogbf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vlogbf(vector float X);
-
-
- /*
- * vscalbf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vscalbf(vector float X, vector signed int n);
-
-
-
-
- /*
- ---------------------------[ Auxiliary Functions]------------------------------
-
- vfabf Absolute value is part of the programming model, however
- completeness it is included in the library.
- vcopysignf Produces a value with the magnitude of its first argument
- and sign of its second argument. NOTE: the order of the
- arguments matches the recommendation of the IEEE 754
- floating point standard, which is opposite from the SANE
- copysign function.
- vnextafterf Computes the next representable value after 'x' in the
- direction of 'y'. if x == y, then y is returned.
-
- -------------------------------------------------------------------------------
- */
- /*
- * vfabf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vfabf(vector float v);
-
-
- /*
- * vcopysignf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vcopysignf(vector float arg2, vector float arg1);
-
-
- /*
- * vnextafterf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vnextafterf(vector float x, vector float y);
-
-
-
-
- /*
- -----------------------------[ Inquiry Functions]------------------------------
-
- vclassifyf Returns one of the FP_* values.
- vsignbitf Non-zero if and only if the sign of the argument x is
- negative. This includes, NaNs, infinities and zeros.
-
- -------------------------------------------------------------------------------
- */
- /*
- * vclassifyf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int) vclassifyf(vector float arg);
-
-
- /*
- * vsignbitf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int) vsignbitf(vector float arg);
-
-
-
-
- /*
- -------------------------[ Transcendental Functions]----------------------------
-
- vsinf B = Sin(A).
- vcosf B = Cos(A).
- vtanf B = Tan(A).
-
- -------------------------------------------------------------------------------
- */
- /*
- * vsinf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vsinf(vector float arg);
-
-
- /*
- * vcosf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vcosf(vector float arg);
-
-
- /*
- * vtanf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vtanf(vector float arg);
-
-
-
-
- /*
- -------------------------[ Trigonometric Functions]----------------------------
-
- vasinf result is in [-pi/2,pi/2].
- vacosf result is in [0,pi].
- vatanf result is in [-pi/2,pi/2].
- vatan2f Computes the arc tangent of y/x in [-pi,pi] using the sign of
- both arguments to determine the quadrant of the computed value.
-
- -------------------------------------------------------------------------------
- */
- /*
- * vasinf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vasinf(vector float arg);
-
-
- /*
- * vacosf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vacosf(vector float arg);
-
-
- /*
- * vatanf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vatanf(vector float arg);
-
-
- /*
- * vatan2f()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vatan2f(vector float arg1, vector float arg2);
-
-
-
-
- /*
- --------------------------[ Hyperbolic Functions]------------------------------
-
- vsinhf Sine Hyperbolic.
- vcoshf Cosine Hyperbolic.
- vtanhf Tangent Hyperbolic.
- vasinhf Arcsine Hyperbolic.
- vacoshf Arccosine Hyperbolic.
- vatanhf Atctangent Hyperbolic.
-
- -------------------------------------------------------------------------------
- */
- /*
- * vsinhf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vsinhf(vector float X);
-
-
- /*
- * vcoshf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vcoshf(vector float X);
-
-
- /*
- * vtanhf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vtanhf(vector float X);
-
-
- /*
- * vasinhf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vasinhf(vector float X);
-
-
- /*
- * vacoshf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vacoshf(vector float X);
-
-
- /*
- * vatanhf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vatanhf(vector float X);
-
-
-
-
- /*
- ---------------------------[ Remainder Functions]------------------------------
-
- vfmodf B = X mod Y.
- vremainderf IEEE 754 floating point standard for remainder.
- vremquof SANE remainder. It stores into 'quotient' the 7 low-order
- bits of the integer quotient x/y, such that:
- -127 <= quotient <= 127.
-
- -------------------------------------------------------------------------------
- */
- /*
- * vfmodf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vfmodf(vector float X, vector float Y);
-
-
- /*
- * vremainderf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vremainderf(vector float X, vector float Y);
-
-
- /*
- * vremquof()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vremquof(vector float X, vector float Y, vector unsigned int *QUO);
-
-
-
-
- /*
- ------------------------------[ Power Functions]------------------------------
-
- vipowf Returns x raised to the integer power of y.
- vpowf Returns x raised to the power of y. Result is more
- accurate than using exp(log(x)*y).
-
- -------------------------------------------------------------------------------
- */
- /*
- * vipowf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vipowf(vector float X, vector signed int Y);
-
-
- /*
- * vpowf()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector float) vpowf(vector float X, vector float Y);
-
-
-
-
- /*
- -------------------------------------------------------------------------------
- Useful
- -------------------------------------------------------------------------------
- */
- /*
- * vtablelookup()
- *
- * Availability:
- * Non-Carbon CFM: in vecLib 1.0 and later
- * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
- * Mac OS X: in version 10.0 and later
- */
- EXTERN_API_C(vector unsigned int) vtablelookup(vector signed int Index_Vect, unsigned long *Table);
+
+/*
+ * vrsqrtf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vrsqrtf(vector float X);
+
+
+
+
+/*
+--------------------------[ Exponential Functions]-----------------------------
+
+ vexpf B = Exp(A)
+ vexpm1f ExpM1(x) = Exp(x) - 1. But, for small enough arguments,
+ ExpM1(x) is expected to be more accurate than Exp(x) - 1.
+ vlogf B = Log(A)
+ vlog1pf Log1P = Log(1 + x). But, for small enough arguments,
+ Log1P is expected to be more accurate than Log(1 + x).
+ vlogbf Extracts the exponent of its argument, as a signed integral
+ value. A subnormal argument is treated as though it were first
+ normalized. Thus:
+ 1 <= x * 2^(-logb(x)) < 2
+ vscalbf Computes x * 2^n efficently. This is not normally done by
+ computing 2^n explicitly.
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vexpf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vexpf(vector float X);
+
+
+/*
+ * vexpm1f()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vexpm1f(vector float X);
+
+
+/*
+ * vlogf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vlogf(vector float X);
+
+
+/*
+ * vlog1pf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vlog1pf(vector float X);
+
+
+/*
+ * vlogbf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vlogbf(vector float X);
+
+
+/*
+ * vscalbf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vscalbf(vector float X, vector signed int n);
+
+
+
+
+/*
+---------------------------[ Auxiliary Functions]------------------------------
+
+ vfabf Absolute value is part of the programming model, however
+ completeness it is included in the library.
+ vcopysignf Produces a value with the magnitude of its first argument
+ and sign of its second argument. NOTE: the order of the
+ arguments matches the recommendation of the IEEE 754
+ floating point standard, which is opposite from the SANE
+ copysign function.
+ vnextafterf Computes the next representable value after 'x' in the
+ direction of 'y'. if x == y, then y is returned.
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vfabf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vfabf(vector float v);
+
+
+/*
+ * vcopysignf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vcopysignf(vector float arg2, vector float arg1);
+
+
+/*
+ * vnextafterf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vnextafterf(vector float x, vector float y);
+
+
+
+
+/*
+-----------------------------[ Inquiry Functions]------------------------------
+
+ vclassifyf Returns one of the FP_* values.
+ vsignbitf Non-zero if and only if the sign of the argument x is
+ negative. This includes, NaNs, infinities and zeros.
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vclassifyf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int ) vclassifyf(vector float arg);
+
+
+/*
+ * vsignbitf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int ) vsignbitf(vector float arg);
+
+
+
+
+/*
+-------------------------[ Transcendental Functions]----------------------------
+
+ vsinf B = Sin(A).
+ vcosf B = Cos(A).
+ vtanf B = Tan(A).
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vsinf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vsinf(vector float arg);
+
+
+/*
+ * vcosf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vcosf(vector float arg);
+
+
+/*
+ * vtanf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vtanf(vector float arg);
+
+
+
+
+/*
+-------------------------[ Trigonometric Functions]----------------------------
+
+ vasinf result is in [-pi/2,pi/2].
+ vacosf result is in [0,pi].
+ vatanf result is in [-pi/2,pi/2].
+ vatan2f Computes the arc tangent of y/x in [-pi,pi] using the sign of
+ both arguments to determine the quadrant of the computed value.
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vasinf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vasinf(vector float arg);
+
+
+/*
+ * vacosf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vacosf(vector float arg);
+
+
+/*
+ * vatanf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vatanf(vector float arg);
+
+
+/*
+ * vatan2f()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vatan2f(vector float arg1, vector float arg2);
+
+
+
+
+/*
+--------------------------[ Hyperbolic Functions]------------------------------
+
+ vsinhf Sine Hyperbolic.
+ vcoshf Cosine Hyperbolic.
+ vtanhf Tangent Hyperbolic.
+ vasinhf Arcsine Hyperbolic.
+ vacoshf Arccosine Hyperbolic.
+ vatanhf Atctangent Hyperbolic.
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vsinhf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vsinhf(vector float X);
+
+
+/*
+ * vcoshf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vcoshf(vector float X);
+
+
+/*
+ * vtanhf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vtanhf(vector float X);
+
+
+/*
+ * vasinhf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vasinhf(vector float X);
+
+
+/*
+ * vacoshf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vacoshf(vector float X);
+
+
+/*
+ * vatanhf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vatanhf(vector float X);
+
+
+
+
+/*
+---------------------------[ Remainder Functions]------------------------------
+
+ vfmodf B = X mod Y.
+ vremainderf IEEE 754 floating point standard for remainder.
+ vremquof SANE remainder. It stores into 'quotient' the 7 low-order
+ bits of the integer quotient x/y, such that:
+ -127 <= quotient <= 127.
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vfmodf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vfmodf(vector float X, vector float Y);
+
+
+/*
+ * vremainderf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vremainderf(vector float X, vector float Y);
+
+
+/*
+ * vremquof()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vremquof(vector float X, vector float Y, vector unsigned int *QUO);
+
+
+
+
+/*
+------------------------------[ Power Functions]------------------------------
+
+ vipowf Returns x raised to the integer power of y.
+ vpowf Returns x raised to the power of y. Result is more
+ accurate than using exp(log(x)*y).
+
+-------------------------------------------------------------------------------
+*/
+/*
+ * vipowf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vipowf(vector float X, vector signed int Y);
+
+
+/*
+ * vpowf()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector float ) vpowf(vector float X, vector float Y);
+
+
+
+
+/*
+-------------------------------------------------------------------------------
+ Useful
+-------------------------------------------------------------------------------
+*/
+/*
+ * vtablelookup()
+ *
+ * Availability:
+ * Non-Carbon CFM: in vecLib 1.0 and later
+ * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( vector unsigned int ) vtablelookup(vector signed int Index_Vect, unsigned long *Table);
#endif /* defined(__VEC__) */